summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2016-02-19 13:03:45 +0100
committerFlorian Dold <florian.dold@gmail.com>2016-02-19 13:03:45 +0100
commitbbd20cd80a4629e6105f6565011325f6829e82d2 (patch)
tree472d1449973ef1f684561eff23a1a8b4f7225758
parent29dfafaa1282d6b1e03bd7211ce598a09c22bae7 (diff)
downloadwallet-core-bbd20cd80a4629e6105f6565011325f6829e82d2.tar.gz
wallet-core-bbd20cd80a4629e6105f6565011325f6829e82d2.tar.bz2
wallet-core-bbd20cd80a4629e6105f6565011325f6829e82d2.zip
remove FF wallet link
-rw-r--r--extension/lib/emscripten/libwrapper.js146148
-rw-r--r--extension/lib/wallet/emscriptif.ts4
-rw-r--r--extension/lib/wallet/wallet.ts6
-rw-r--r--extension/lib/wallet/wxMessaging.ts6
-rw-r--r--extension/manifest.json2
5 files changed, 146147 insertions, 19 deletions
diff --git a/extension/lib/emscripten/libwrapper.js b/extension/lib/emscripten/libwrapper.js
index cea7b201b..66b78e910 100644
--- a/extension/lib/emscripten/libwrapper.js
+++ b/extension/lib/emscripten/libwrapper.js
@@ -1,24 +1,146142 @@
-var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){DYNAMICTOP=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};cwrap=function cwrap(ident,returnType,argTypes){return(function(){return ccall(ident,returnType,argTypes,arguments)})}}))();Module["ccall"]=ccall;Module["cwrap"]=cwrap;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function getMemory(size){if(!staticSealed)return Runtime.staticAlloc(size);if(typeof _sbrk!=="undefined"&&!_sbrk.called||!runtimeInitialized)return Runtime.dynamicAlloc(size);return _malloc(size)}Module["getMemory"]=getMemory;function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){if(x%4096>0){x+=4096-x%4096}return x}var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");if(Module["buffer"]){buffer=Module["buffer"];assert(buffer.byteLength===TOTAL_MEMORY,"provided buffer should be "+TOTAL_MEMORY+" bytes, but it is "+buffer.byteLength)}else{buffer=new ArrayBuffer(TOTAL_MEMORY)}updateGlobalBufferViews();HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer++>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=8;STATICTOP=STATIC_BASE+77568;__ATINIT__.push({func:(function(){_GNUNET_util_cl_init()})},{func:(function(){_GNUNET_CRYPTO_random_init()})},{func:(function(){_gpg_err_init()})});allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,60,85,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,251,88,0,0,2,0,0,0,7,89,0,0,4,0,0,0,19,89,0,0,8,0,0,0,31,89,0,0,16,0,0,0,44,89,0,0,32,0,0,0,54,89,0,0,64,0,0,0,65,89,0,0,128,0,0,0,77,89,0,0,0,1,0,0,90,89,0,0,0,2,0,0,102,89,0,0,0,4,0,0,115,89,0,0,0,8,0,0,125,89,0,0,0,16,0,0,136,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,104,17,0,0,160,28,0,0,20,29,0,0,116,32,0,0,180,48,0,0,0,0,0,0,168,140,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,60,96,0,0,127,96,0,0,133,96,0,0,201,96,0,0,12,97,0,0,79,97,0,0,146,97,0,0,151,97,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,162,97,0,0,213,97,0,0,8,98,0,0,59,98,0,0,110,98,0,0,161,98,0,0,212,98,0,0,217,98,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,228,98,0,0,31,99,0,0,90,99,0,0,149,99,0,0,208,99,0,0,11,100,0,0,212,98,0,0,70,100,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,81,100,0,0,148,100,0,0,215,100,0,0,26,101,0,0,93,101,0,0,160,101,0,0,212,98,0,0,227,101,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,238,101,0,0,81,102,0,0,180,102,0,0,23,103,0,0,122,103,0,0,221,103,0,0,212,98,0,0,64,104,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,75,104,0,0,210,104,0,0,89,105,0,0,223,105,0,0,101,106,0,0,236,106,0,0,212,98,0,0,115,107,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,107,0,0,174,107,0,0,217,107,0,0,4,108,0,0,47,108,0,0,90,108,0,0,212,98,0,0,133,108,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,108,0,0,200,108,0,0,251,108,0,0,46,109,0,0,97,109,0,0,148,109,0,0,212,98,0,0,199,109,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,109,0,0,18,110,0,0,77,110,0,0,136,110,0,0,195,110,0,0,254,110,0,0,212,98,0,0,57,111,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,111,0,0,140,111,0,0,207,111,0,0,18,112,0,0,85,112,0,0,152,112,0,0,212,98,0,0,219,112,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,112,0,0,62,113,0,0,145,113,0,0,228,113,0,0,55,114,0,0,138,114,0,0,212,98,0,0,221,114,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,114,0,0,80,115,0,0,179,115,0,0,22,116,0,0,121,116,0,0,220,116,0,0,212,98,0,0,63,117,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,117,0,0,210,117,0,0,85,118,0,0,216,118,0,0,91,119,0,0,222,119,0,0,212,98,0,0,97,120,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,111,120,0,0,178,120,0,0,245,120,0,0,56,121,0,0,123,121,0,0,190,121,0,0,212,98,0,0,1,122,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,122,0,0,89,122,0,0,156,122,0,0,223,122,0,0,34,123,0,0,101,123,0,0,212,98,0,0,168,123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,123,0,0,0,124,0,0,67,124,0,0,134,124,0,0,34,123,0,0,201,124,0,0,212,98,0,0,12,125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,125,0,0,100,125,0,0,167,125,0,0,234,125,0,0,45,126,0,0,112,126,0,0,212,98,0,0,179,126,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,126,0,0,178,120,0,0,68,127,0,0,199,127,0,0,74,128,0,0,205,128,0,0,212,98,0,0,80,129,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,129,0,0,227,129,0,0,102,130,0,0,233,130,0,0,108,131,0,0,239,131,0,0,212,98,0,0,114,132,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,132,0,0,5,133,0,0,136,133,0,0,11,134,0,0,142,134,0,0,17,135,0,0,212,98,0,0,148,135,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,158,135,0,0,45,126,0,0,178,120,0,0,225,135,0,0,36,136,0,0,103,136,0,0,212,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,140,0,0,170,136,0,0,151,97,0,0,193,136,0,0,151,97,0,0,213,136,0,0,151,97,0,0,224,136,0,0,151,97,0,0,234,136,0,0,217,98,0,0,243,136,0,0,217,98,0,0,253,136,0,0,217,98,0,0,10,137,0,0,70,100,0,0,19,137,0,0,70,100,0,0,39,137,0,0,70,100,0,0,50,137,0,0,70,100,0,0,60,137,0,0,227,101,0,0,69,137,0,0,227,101,0,0,79,137,0,0,227,101,0,0,92,137,0,0,64,104,0,0,101,137,0,0,64,104,0,0,111,137,0,0,64,104,0,0,124,137,0,0,115,107,0,0,133,137,0,0,133,108,0,0,154,137,0,0,199,109,0,0,175,137,0,0,57,111,0,0,196,137,0,0,219,112,0,0,217,137,0,0,221,114,0,0,238,137,0,0,63,117,0,0,4,138,0,0,97,120,0,0,26,138,0,0,1,122,0,0,43,138,0,0,168,123,0,0,60,138,0,0,12,125,0,0,77,138,0,0,1,122,0,0,94,138,0,0,12,125,0,0,118,138,0,0,1,122,0,0,142,138,0,0,12,125,0,0,159,138,0,0,80,129,0,0,176,138,0,0,114,132,0,0,196,138,0,0,148,135,0,0,216,138,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,20,142,0,0,34,142,0,0,43,142,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,64,142,0,0,79,142,0,0,130,142,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,151,142,0,0,166,142,0,0,217,142,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,243,142,0,0,3,143,0,0,58,143,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,190,143,0,0,207,143,0,0,58,143,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,20,142,0,0,34,142,0,0,43,142,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,64,142,0,0,79,142,0,0,130,142,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,151,142,0,0,166,142,0,0,217,142,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,243,142,0,0,3,143,0,0,58,143,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,190,143,0,0,207,143,0,0,58,143,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,20,142,0,0,34,142,0,0,43,142,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,64,142,0,0,79,142,0,0,130,142,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,151,142,0,0,166,142,0,0,217,142,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,243,142,0,0,3,143,0,0,58,143,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,190,143,0,0,207,143,0,0,58,143,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,141,0,0,242,141,0,0,15,142,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,20,142,0,0,34,142,0,0,43,142,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,64,142,0,0,79,142,0,0,130,142,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,151,142,0,0,166,142,0,0,217,142,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,243,142,0,0,3,143,0,0,58,143,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,190,143,0,0,207,143,0,0,58,143,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,30,0,0,180,31,0,0,120,30,0,0,244,31,0,0,52,32,0,0,136,29,0,0,0,0,0,0,156,2,0,0,183,147,0,0,2,0,0,0,188,147,0,0,1,0,0,0,192,147,0,0,8,0,0,0,199,147,0,0,3,0,0,0,209,147,0,0,3,0,0,0,216,147,0,0,9,0,0,0,223,147,0,0,10,0,0,0,230,147,0,0,11,0,0,0,237,147,0,0,5,0,0,0,241,147,0,0,45,1,0,0,245,147,0,0,6,0,0,0,251,147,0,0,7,0,0,0,0,0,0,0,0,0,0,0,32,50,0,0,200,29,0,0,0,0,0,0,7,0,0,0,2,0,0,0,145,148,0,0,168,17,0,0,184,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,149,148,0,0,158,148,0,0,165,148,0,0,0,0,0,0,173,148,0,0,1,0,0,0,196,148,0,0,3,0,0,0,219,148,0,0,5,0,0,0,242,148,0,0,2,0,0,0,0,0,0,0,0,0,0,0,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,8,0,0,0,2,0,0,0,241,150,0,0,224,28,0,0,236,28,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,248,150,0,0,4,151,0,0,0,0,0,0,12,151,0,0,1,0,0,0,36,151,0,0,3,0,0,0,60,151,0,0,5,0,0,0,84,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,108,151,0,0,84,29,0,0,96,29,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,115,151,0,0,127,151,0,0,0,0,0,0,135,151,0,0,1,0,0,0,159,151,0,0,3,0,0,0,183,151,0,0,5,0,0,0,207,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,231,151,0,0,241,151,0,0,15,0,0,0,188,29,0,0,20,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,184,0,0,0,0,0,0,0,0,152,0,0,15,152,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,147,153,0,0,28,30,0,0,192,153,0,0,195,153,0,0,202,153,0,0,204,153,0,0,206,153,0,0,1,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,151,153,0,0,155,153,0,0,167,153,0,0,0,0,0,0,2,0,0,0,2,0,0,0,22,165,0,0,27,165,0,0,15,0,0,0,96,30,0,0,20,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,184,0,0,0,10,0,0,0,42,165,0,0,63,165,0,0,81,165,0,0,95,165,0,0,109,165,0,0,0,0,0,0,11,0,0,0,2,0,0,0,190,165,0,0,197,165,0,0,19,0,0,0,172,30,0,0,28,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,216,165,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,8,0,0,0,2,0,0,0,226,166,0,0,233,166,0,0,19,0,0,0,232,31,0,0,32,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,192,0,0,0,11,0,0,0,252,166,0,0,19,167,0,0,0,0,0,0,10,0,0,0,2,0,0,0,41,167,0,0,48,167,0,0,19,0,0,0,40,32,0,0,64,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,67,167,0,0,90,167,0,0,0,0,0,0,9,0,0,0,2,0,0,0,107,169,0,0,114,169,0,0,19,0,0,0,104,32,0,0,48,0,0,0,6,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,224,0,0,0,12,0,0,0,133,169,0,0,156,169,0,0,0,0,0,0,10,0,0,0,0,0,0,0,178,169,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60,121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116,155,155,116,183],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60,138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59,186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,169,177,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,4,184,0,0,116,50,0,0,34,184,0,0,42,184,0,0,51,184,0,0,54,184,0,0,34,184,0,0,3,0,0,0,7,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,8,0,0,0,20,0,0,0,4,0,0,0,21,0,0,0,9,0,0,0,8,184,0,0,12,184,0,0,18,184,0,0,23,184,0,0,29,184,0,0,0,0,0,0,16,0,0,0,7,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,24,0,0,0,248,42,1,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,61,0,0,236,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,24,0,0,0,0,47,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,252,63,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,0,0,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,97,109,111,117,110,116,32,115,116,111,114,101,100,32,97,116,32,37,112,44,32,105,115,32,37,115,32,37,108,108,117,46,37,108,117,10,0,109,105,110,116,95,119,105,116,104,100,114,97,119,97,108,0,109,101,114,99,104,95,99,111,110,116,114,97,99,116,0,109,97,115,116,101,114,95,100,101,110,111,109,105,110,97,116,105,111,110,95,107,101,121,95,118,97,108,105,100,105,116,121,0,109,105,110,116,95,116,101,115,116,95,101,100,100,115,97,0,72,101,108,108,111,44,32,119,111,114,108,100,32,40,98,121,32,84,97,108,101,114,32,101,109,115,99,114,105,112,116,101,100,32,99,111,100,101,41,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,120,115,116,114,100,117,112,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,68,69,66,85,71,0,73,78,70,79,0,87,65,82,78,73,78,71,0,69,82,82,79,82,0,78,79,78,69,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,37,115,37,100,37,115,0,97,98,0,115,101,116,117,112,95,108,111,103,95,102,105,108,101,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,73,78,86,65,76,73,68,0,37,115,32,37,115,32,37,115,32,37,115,0,96,37,115,39,32,102,97,105,108,101,100,32,111,110,32,102,105,108,101,32,96,37,115,39,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,99,114,121,112,116,111,95,101,99,99,46,99,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116,32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,100,97,116,97,95,116,111,95,115,101,120,112,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,101,110,100,32,111,102,32,116,105,109,101,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,115,116,97,110,100,97,114,100,0,102,105,112,115,0,115,121,115,116,101,109,0,112,114,105,110,116,95,99,111,110,102,105,103,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,37,48,50,88,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,87,97,114,110,105,110,103,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,109,101,109,111,114,121,33,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,105,115,32,110,111,116,32,108,111,99,107,101,100,32,119,104,105,108,101,32,105,110,32,70,73,80,83,32,109,111,100,101,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,80,111,119,101,114,45,79,110,0,73,110,105,116,0,83,101,108,102,45,84,101,115,116,0,79,112,101,114,97,116,105,111,110,97,108,0,69,114,114,111,114,0,70,97,116,97,108,45,69,114,114,111,114,0,83,104,117,116,100,111,119,110,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,102,97,116,97,108,32,0,44,32,102,117,110,99,116,105,111,110,32,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,78,73,83,84,32,80,45,49,57,50,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,78,73,83,84,32,80,45,50,50,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,78,73,83,84,32,80,45,50,53,54,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,78,73,83,84,32,80,45,51,56,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,78,73,83,84,32,80,45,53,50,49,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50,0,48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99,48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);allocate([50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50,57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,115,101,99,112,50,53,54,107,49,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,46,120,0,46,121,0,46,122,0,104,0,100,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,119,97,114,100,115,0,83,116,97,110,100,97,114,100,0,69,100,50,53,53,49,57,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,104,109,97,99,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,111,105,100,46,0,79,73,68,46,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,79,111,112,115,58,32,109,100,32,100,101,98,117,103,32,97,108,114,101,97,100,121,32,115,116,97,114,116,101,100,10,0,100,98,103,109,100,45,37,48,53,100,46,37,46,49,48,115,0,119,0,109,100,32,100,101,98,117,103,58,32,99,97,110,39,116,32,111,112,101,110,32,37,115,10,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,114,105,109,101,103,101,110,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,99,102,98,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,111,102,98,0,99,105,112,104,101,114,0,65,69,83,49,57,50,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,65,69,83,50,53,54,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,114,115,97,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,114,115,97,46,99,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,99,111,110,118,101,114,116,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51,100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30720);allocate([54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,101,110,99,114,121,112,116,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,101,110,99,45,118,97,108,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,118,97,108,117,101,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,109,105,115,109,97,116,99,104,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,115,104,111,114,116,32,115,116,114,105,110,103,0,97,98,99,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,108,111,110,103,32,115,116,114,105,110,103,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,100,105,103,101,115,116,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,32,50,48,49,54,45,48,50,45,49,56,84,49,52,58,52,57,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,99,117,114,118,101,0,102,108,97,103,115,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,81,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,71,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,112,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,43,69,100,68,83,65,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,47,113,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,108,111,119,45,108,101,118,101,108,0,112,117,98,107,101,121,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,113,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,87,65,82,78,73,78,71,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,114,97,110,100,111,109,32,110,117,109,98,101,114,32,103,101,110,101,114,97,116,111,114,33,33,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,109,105,120,95,112,111,111,108,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,114,101,97,100,95,112,111,111,108,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,114,101,97,100,95,115,101,101,100,95,102,105,108,101,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39,58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,100,111,95,102,97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,95,103,99,114,121,95,114],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40960);allocate([110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116,32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,120,57,51,49,95,114,101,115,101,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,115,101,101,100,0,108,101,110,103,116,104,32,61,61,32,49,54,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,101,110,99,114,121,112,116,95,97,101,115,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,47,100,101,118,47,114,97,110,100,111,109,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,102,108,117,115,104,0,33,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,95,101,109,112,116,121,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51200);allocate([100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61440);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function _pthread_mutex_lock(){}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null);if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var errored=false;var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,curr,WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);ret=ret.slice(0,Math.max(0,bufsize));writeStringToMemory(ret,buf,true);return ret.length}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_malloc(len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall194(which,varargs){SYSCALLS.varargs=varargs;try{var fd=SYSCALLS.get(),zero=SYSCALLS.getZero(),length=SYSCALLS.get64();FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall202(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall199(){return ___syscall202.apply(null,arguments)}function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}function _pthread_mutex_init(){}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _UItoD=true;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var ___tm_current=allocate(44,"i8",ALLOC_STATIC);var ___tm_timezone=allocate(intArrayFromString("GMT"),"i8",ALLOC_STATIC);var _tzname=allocate(8,"i32*",ALLOC_STATIC);var _daylight=allocate(1,"i32*",ALLOC_STATIC);var _timezone=allocate(1,"i32*",ALLOC_STATIC);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[_timezone>>2]=-(new Date).getTimezoneOffset()*60;var winter=new Date(2e3,0,1);var summer=new Date(2e3,6,1);HEAP32[_daylight>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()<winter.getTimezoneOffset()){HEAP32[_tzname>>2]=winterNamePtr;HEAP32[_tzname+4>>2]=summerNamePtr}else{HEAP32[_tzname>>2]=summerNamePtr;HEAP32[_tzname+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=(new Date(2e3,6,1)).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=date.getTimezoneOffset()==Math.min(winterOffset,summerOffset)|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[_tzname+(dst?Runtime.QUANTUM_SIZE:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function ___syscall77(which,varargs){SYSCALLS.varargs=varargs;try{var who=SYSCALLS.get(),usage=SYSCALLS.get();_memset(usage,0,136);HEAP32[usage>>2]=1;HEAP32[usage+4>>2]=2;HEAP32[usage+8>>2]=3;HEAP32[usage+12>>2]=4;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var _BDtoIHigh=true;function _pthread_cleanup_push(routine,arg){__ATEXIT__.push((function(){Runtime.dynCall("vi",routine,[arg])}));_pthread_cleanup_push.level=__ATEXIT__.length}var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _pthread_mutex_unlock(){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall191(which,varargs){SYSCALLS.varargs=varargs;try{var resource=SYSCALLS.get(),rlim=SYSCALLS.get();HEAP32[rlim>>2]=-1;HEAP32[rlim+4>>2]=-1;HEAP32[rlim+8>>2]=-1;HEAP32[rlim+12>>2]=-1;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0){var success=self.alloc(bytes);if(!success)return-1>>>0}return ret}Module["_memmove"]=_memmove;var _BItoD=true;function _pthread_mutex_destroy(){}function ___syscall201(){return ___syscall202.apply(null,arguments)}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall64(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.ppid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function ___syscall63(which,varargs){SYSCALLS.varargs=varargs;try{var old=SYSCALLS.getStreamFromFD(),suggestFD=SYSCALLS.get();if(old.fd===suggestFD)return suggestFD;return SYSCALLS.doDup(old.path,old.flags,suggestFD)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;var _BDtoILow=true;function ___syscall75(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function _abort(){Module["abort"]()}function ___lock(){}function ___unlock(){}var _floor=Math_floor;var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;function _emscripten_set_main_loop_timing(mode,value){Browser.mainLoop.timingMode=mode;Browser.mainLoop.timingValue=value;if(!Browser.mainLoop.func){return 1}if(mode==0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setTimeout(){setTimeout(Browser.mainLoop.runner,value)};Browser.mainLoop.method="timeout"}else if(mode==1){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_rAF(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}else if(mode==2){if(!window["setImmediate"]){var setImmediates=[];var emscriptenMainLoopMessageId="__emcc";function Browser_setImmediate_messageHandler(event){if(event.source===window&&event.data===emscriptenMainLoopMessageId){event.stopPropagation();setImmediates.shift()()}}window.addEventListener("message",Browser_setImmediate_messageHandler,true);window["setImmediate"]=function Browser_emulated_setImmediate(func){setImmediates.push(func);window.postMessage(emscriptenMainLoopMessageId,"*")}}Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler_setImmediate(){window["setImmediate"](Browser.mainLoop.runner)};Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg,noSetTiming){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func=func;Browser.mainLoop.arg=arg;var thisMainLoopId=Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner=function Browser_mainLoop_runner(){if(ABORT)return;if(Browser.mainLoop.queue.length>0){var start=Date.now();var blocker=Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if(Browser.mainLoop.remainingBlockers){var remaining=Browser.mainLoop.remainingBlockers;var next=remaining%1==0?remaining-1:Math.floor(remaining);if(blocker.counted){Browser.mainLoop.remainingBlockers=next}else{next=next+.5;Browser.mainLoop.remainingBlockers=(8*remaining+next)/9}}console.log('main loop blocker "'+blocker.name+'" took '+(Date.now()-start)+" ms");Browser.mainLoop.updateStatus();if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;setTimeout(Browser.mainLoop.runner,0);return}if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0;if(Browser.mainLoop.timingMode==1&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method=""}Browser.mainLoop.runIter((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(thisMainLoopId<Browser.mainLoop.currentlyRunningMainloop)return;if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler()};if(!noSetTiming){if(fps&&fps>0)_emscripten_set_main_loop_timing(0,1e3/fps);else _emscripten_set_main_loop_timing(1,1);Browser.mainLoop.scheduler()}if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:(function(){Browser.mainLoop.scheduler=null;Browser.mainLoop.currentlyRunningMainloop++}),resume:(function(){Browser.mainLoop.currentlyRunningMainloop++;var timingMode=Browser.mainLoop.timingMode;var timingValue=Browser.mainLoop.timingValue;var func=Browser.mainLoop.func;Browser.mainLoop.func=null;_emscripten_set_main_loop(func,0,false,Browser.mainLoop.arg,true);_emscripten_set_main_loop_timing(timingMode,timingValue);Browser.mainLoop.scheduler()}),updateStatus:(function(){if(Module["setStatus"]){var message=Module["statusMessage"]||"Please wait...";var remaining=Browser.mainLoop.remainingBlockers;var expected=Browser.mainLoop.expectedBlockers;if(remaining){if(remaining<expected){Module["setStatus"](message+" ("+(expected-remaining)+"/"+expected+")")}else{Module["setStatus"](message)}}else{Module["setStatus"]("")}}}),runIter:(function(func){if(ABORT)return;if(Module["preMainLoop"]){var preRet=Module["preMainLoop"]();if(preRet===false){return}}try{func()}catch(e){if(e instanceof ExitStatus){return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}if(Module["postMainLoop"])Module["postMainLoop"]()})},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:(function(){if(!Module["preloadPlugins"])Module["preloadPlugins"]=[];if(Browser.initted)return;Browser.initted=true;try{new Blob;Browser.hasBlobConstructor=true}catch(e){Browser.hasBlobConstructor=false;console.log("warning: no blob constructor, cannot create blobs with mimetypes")}Browser.BlobBuilder=typeof MozBlobBuilder!="undefined"?MozBlobBuilder:typeof WebKitBlobBuilder!="undefined"?WebKitBlobBuilder:!Browser.hasBlobConstructor?console.log("warning: no BlobBuilder"):null;Browser.URLObject=typeof window!="undefined"?window.URL?window.URL:window.webkitURL:undefined;if(!Module.noImageDecoding&&typeof Browser.URLObject==="undefined"){console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding=true}var imagePlugin={};imagePlugin["canHandle"]=function imagePlugin_canHandle(name){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(name)};imagePlugin["handle"]=function imagePlugin_handle(byteArray,name,onload,onerror){var b=null;if(Browser.hasBlobConstructor){try{b=new Blob([byteArray],{type:Browser.getMimetype(name)});if(b.size!==byteArray.length){b=new Blob([(new Uint8Array(byteArray)).buffer],{type:Browser.getMimetype(name)})}}catch(e){Runtime.warnOnce("Blob constructor present but fails: "+e+"; falling back to blob builder")}}if(!b){var bb=new Browser.BlobBuilder;bb.append((new Uint8Array(byteArray)).buffer);b=bb.getBlob()}var url=Browser.URLObject.createObjectURL(b);var img=new Image;img.onload=function img_onload(){assert(img.complete,"Image "+name+" could not be decoded");var canvas=document.createElement("canvas");canvas.width=img.width;canvas.height=img.height;var ctx=canvas.getContext("2d");ctx.drawImage(img,0,0);Module["preloadedImages"][name]=canvas;Browser.URLObject.revokeObjectURL(url);if(onload)onload(byteArray)};img.onerror=function img_onerror(event){console.log("Image "+url+" could not be decoded");if(onerror)onerror()};img.src=url};Module["preloadPlugins"].push(imagePlugin);var audioPlugin={};audioPlugin["canHandle"]=function audioPlugin_canHandle(name){return!Module.noAudioDecoding&&name.substr(-4)in{".ogg":1,".wav":1,".mp3":1}};audioPlugin["handle"]=function audioPlugin_handle(byteArray,name,onload,onerror){var done=false;function finish(audio){if(done)return;done=true;Module["preloadedAudios"][name]=audio;if(onload)onload(byteArray)}function fail(){if(done)return;done=true;Module["preloadedAudios"][name]=new Audio;if(onerror)onerror()}if(Browser.hasBlobConstructor){try{var b=new Blob([byteArray],{type:Browser.getMimetype(name)})}catch(e){return fail()}var url=Browser.URLObject.createObjectURL(b);var audio=new Audio;audio.addEventListener("canplaythrough",(function(){finish(audio)}),false);audio.onerror=function audio_onerror(event){if(done)return;console.log("warning: browser could not fully decode audio "+name+", trying slower base64 approach");function encode64(data){var BASE="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD="=";var ret="";var leftchar=0;var leftbits=0;for(var i=0;i<data.length;i++){leftchar=leftchar<<8|data[i];leftbits+=8;while(leftbits>=6){var curr=leftchar>>leftbits-6&63;leftbits-=6;ret+=BASE[curr]}}if(leftbits==2){ret+=BASE[(leftchar&3)<<4];ret+=PAD+PAD}else if(leftbits==4){ret+=BASE[(leftchar&15)<<2];ret+=PAD}return ret}audio.src="data:audio/x-"+name.substr(-3)+";base64,"+encode64(byteArray);finish(audio)};audio.src=url;Browser.safeSetTimeout((function(){finish(audio)}),1e4)}else{return fail()}};Module["preloadPlugins"].push(audioPlugin);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===canvas}if(canvas){canvas.requestPointerLock=canvas["requestPointerLock"]||canvas["mozRequestPointerLock"]||canvas["webkitRequestPointerLock"]||canvas["msRequestPointerLock"]||(function(){});canvas.exitPointerLock=document["exitPointerLock"]||document["mozExitPointerLock"]||document["webkitExitPointerLock"]||document["msExitPointerLock"]||(function(){});canvas.exitPointerLock=canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange",pointerLockChange,false);document.addEventListener("mozpointerlockchange",pointerLockChange,false);document.addEventListener("webkitpointerlockchange",pointerLockChange,false);document.addEventListener("mspointerlockchange",pointerLockChange,false);if(Module["elementPointerLock"]){canvas.addEventListener("click",(function(ev){if(!Browser.pointerLock&&canvas.requestPointerLock){canvas.requestPointerLock();ev.preventDefault()}}),false)}}}),createContext:(function(canvas,useWebGL,setInModule,webGLContextAttributes){if(useWebGL&&Module.ctx&&canvas==Module.canvas)return Module.ctx;var ctx;var contextHandle;if(useWebGL){var contextAttributes={antialias:false,alpha:false};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}else{ctx=canvas.getContext("2d")}if(!ctx)return null;if(setInModule){if(!useWebGL)assert(typeof GLctx==="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx=ctx;if(useWebGL)GL.makeContextCurrent(contextHandle);Module.useWebGL=useWebGL;Browser.moduleContextCreatedCallbacks.forEach((function(callback){callback()}));Browser.init()}return ctx}),destroyContext:(function(canvas,useWebGL,setInModule){}),fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:(function(lockPointer,resizeCanvas,vrDevice){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;Browser.vrDevice=vrDevice;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;if(typeof Browser.vrDevice==="undefined")Browser.vrDevice=null;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}if(!Browser.fullScreenHandlersInstalled){Browser.fullScreenHandlersInstalled=true;document.addEventListener("fullscreenchange",fullScreenChange,false);document.addEventListener("mozfullscreenchange",fullScreenChange,false);document.addEventListener("webkitfullscreenchange",fullScreenChange,false);document.addEventListener("MSFullscreenChange",fullScreenChange,false)}var canvasContainer=document.createElement("div");canvas.parentNode.insertBefore(canvasContainer,canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullScreen=canvasContainer["requestFullScreen"]||canvasContainer["mozRequestFullScreen"]||canvasContainer["msRequestFullscreen"]||(canvasContainer["webkitRequestFullScreen"]?(function(){canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"])}):null);if(vrDevice){canvasContainer.requestFullScreen({vrDisplay:vrDevice})}else{canvasContainer.requestFullScreen()}}),nextRAF:0,fakeRequestAnimationFrame:(function(func){var now=Date.now();if(Browser.nextRAF===0){Browser.nextRAF=now+1e3/60}else{while(now+2>=Browser.nextRAF){Browser.nextRAF+=1e3/60}}var delay=Math.max(Browser.nextRAF-now,0);setTimeout(func,delay)}),requestAnimationFrame:function requestAnimationFrame(func){if(typeof window==="undefined"){Browser.fakeRequestAnimationFrame(func)}else{if(!window.requestAnimationFrame){window.requestAnimationFrame=window["requestAnimationFrame"]||window["mozRequestAnimationFrame"]||window["webkitRequestAnimationFrame"]||window["msRequestAnimationFrame"]||window["oRequestAnimationFrame"]||Browser.fakeRequestAnimationFrame}window.requestAnimationFrame(func)}},safeCallback:(function(func){return(function(){if(!ABORT)return func.apply(null,arguments)})}),allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=false}),resumeAsyncCallbacks:(function(){Browser.allowAsyncCallbacks=true;if(Browser.queuedAsyncCallbacks.length>0){var callbacks=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[];callbacks.forEach((function(func){func()}))}}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}else{Browser.queuedAsyncCallbacks.push(func)}}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(ABORT)return;if(Browser.allowAsyncCallbacks){func()}}),timeout)}),getMimetype:(function(name){return{"jpg":"image/jpeg","jpeg":"image/jpeg","png":"image/png","bmp":"image/bmp","ogg":"audio/ogg","wav":"audio/wav","mp3":"audio/mpeg"}[name.substr(name.lastIndexOf(".")+1)]}),getUserMedia:(function(func){if(!window.getUserMedia){window.getUserMedia=navigator["getUserMedia"]||navigator["mozGetUserMedia"]}window.getUserMedia(func)}),getMovementX:(function(event){return event["movementX"]||event["mozMovementX"]||event["webkitMovementX"]||0}),getMovementY:(function(event){return event["movementY"]||event["mozMovementY"]||event["webkitMovementY"]||0}),getMouseWheelDelta:(function(event){var delta=0;switch(event.type){case"DOMMouseScroll":delta=event.detail;break;case"mousewheel":delta=event.wheelDelta;break;case"wheel":delta=event["deltaY"];break;default:throw"unrecognized mouse wheel event: "+event.type}return delta}),mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:(function(event){if(Browser.pointerLock){if(event.type!="mousemove"&&"mozMovementX"in event){Browser.mouseMovementX=Browser.mouseMovementY=0}else{Browser.mouseMovementX=Browser.getMovementX(event);Browser.mouseMovementY=Browser.getMovementY(event)}if(typeof SDL!="undefined"){Browser.mouseX=SDL.mouseX+Browser.mouseMovementX;Browser.mouseY=SDL.mouseY+Browser.mouseMovementY}else{Browser.mouseX+=Browser.mouseMovementX;Browser.mouseY+=Browser.mouseMovementY}}else{var rect=Module["canvas"].getBoundingClientRect();var cw=Module["canvas"].width;var ch=Module["canvas"].height;var scrollX=typeof window.scrollX!=="undefined"?window.scrollX:window.pageXOffset;var scrollY=typeof window.scrollY!=="undefined"?window.scrollY:window.pageYOffset;if(event.type==="touchstart"||event.type==="touchend"||event.type==="touchmove"){var touch=event.touch;if(touch===undefined){return}var adjustedX=touch.pageX-(scrollX+rect.left);var adjustedY=touch.pageY-(scrollY+rect.top);adjustedX=adjustedX*(cw/rect.width);adjustedY=adjustedY*(ch/rect.height);var coords={x:adjustedX,y:adjustedY};if(event.type==="touchstart"){Browser.lastTouches[touch.identifier]=coords;Browser.touches[touch.identifier]=coords}else if(event.type==="touchend"||event.type==="touchmove"){var last=Browser.touches[touch.identifier];if(!last)last=coords;Browser.lastTouches[touch.identifier]=last;Browser.touches[touch.identifier]=coords}return}var x=event.pageX-(scrollX+rect.left);var y=event.pageY-(scrollY+rect.top);x=x*(cw/rect.width);y=y*(ch/rect.height);Browser.mouseMovementX=x-Browser.mouseX;Browser.mouseMovementY=y-Browser.mouseY;Browser.mouseX=x;Browser.mouseY=y}}),xhrLoad:(function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),resizeListeners:[],updateResizeListeners:(function(){var canvas=Module["canvas"];Browser.resizeListeners.forEach((function(listener){listener(canvas.width,canvas.height)}))}),setCanvasSize:(function(width,height,noUpdates){var canvas=Module["canvas"];Browser.updateCanvasDimensions(canvas,width,height);if(!noUpdates)Browser.updateResizeListeners()}),windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),updateCanvasDimensions:(function(canvas,wNative,hNative){if(wNative&&hNative){canvas.widthNative=wNative;canvas.heightNative=hNative}else{wNative=canvas.widthNative;hNative=canvas.heightNative}var w=wNative;var h=hNative;if(Module["forcedAspectRatio"]&&Module["forcedAspectRatio"]>0){if(w/h<Module["forcedAspectRatio"]){w=Math.round(h*Module["forcedAspectRatio"])}else{h=Math.round(w/Module["forcedAspectRatio"])}}if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvas.parentNode&&typeof screen!="undefined"){var factor=Math.min(screen.width/w,screen.height/h);w=Math.round(w*factor);h=Math.round(h*factor)}if(Browser.resizeCanvas){if(canvas.width!=w)canvas.width=w;if(canvas.height!=h)canvas.height=h;if(typeof canvas.style!="undefined"){canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}else{if(canvas.width!=wNative)canvas.width=wNative;if(canvas.height!=hNative)canvas.height=hNative;if(typeof canvas.style!="undefined"){if(w!=wNative||h!=hNative){canvas.style.setProperty("width",w+"px","important");canvas.style.setProperty("height",h+"px","important")}else{canvas.style.removeProperty("width");canvas.style.removeProperty("height")}}}}),wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:(function(){var handle=Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle})};Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Shl"]=_bitshift64Shl;function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall4(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.write(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);Runtime.stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length-1}function _clock(){if(_clock.start===undefined)_clock.start=Date.now();return(Date.now()-_clock.start)*(1e6/1e3)|0}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!");__ATEXIT__.pop();_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall340(which,varargs){SYSCALLS.varargs=varargs;try{var pid=SYSCALLS.get(),resource=SYSCALLS.get(),new_limit=SYSCALLS.get(),old_limit=SYSCALLS.get();if(old_limit){HEAP32[old_limit>>2]=-1;HEAP32[old_limit+4>>2]=-1;HEAP32[old_limit+8>>2]=-1;HEAP32[old_limit+12>>2]=-1}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall142(which,varargs){SYSCALLS.varargs=varargs;try{var nfds=SYSCALLS.get(),readfds=SYSCALLS.get(),writefds=SYSCALLS.get(),exceptfds=SYSCALLS.get(),timeout=SYSCALLS.get();assert(nfds<=64,"nfds must be less than or equal to 64");assert(!exceptfds,"exceptfds not supported");var total=0;var srcReadLow=readfds?HEAP32[readfds>>2]:0,srcReadHigh=readfds?HEAP32[readfds+4>>2]:0;var srcWriteLow=writefds?HEAP32[writefds>>2]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>2]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>2]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>2]:0)|(writefds?HEAP32[writefds>>2]:0)|(exceptfds?HEAP32[exceptfds>>2]:0);var allHigh=(readfds?HEAP32[readfds+4>>2]:0)|(writefds?HEAP32[writefds+4>>2]:0)|(exceptfds?HEAP32[exceptfds+4>>2]:0);function check(fd,low,high,val){return fd<32?low&val:high&val}for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){flags=stream.stream_ops.poll(stream)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>2]=dstReadLow;HEAP32[readfds+4>>2]=dstReadHigh}if(writefds){HEAP32[writefds>>2]=dstWriteLow;HEAP32[writefds+4>>2]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>2]=dstExceptLow;HEAP32[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _pthread_self(){return 0}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));Module["FS_createFolder"]=FS.createFolder;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createLink"]=FS.createLink;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require("fs");var NODEJS_PATH=require("path");NODEFS.staticInit()}___buildEnvironment(ENV);Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas,vrDevice){Browser.requestFullScreen(lockPointer,resizeCanvas,vrDevice)};Module["requestAnimationFrame"]=function Module_requestAnimationFrame(func){Browser.requestAnimationFrame(func)};Module["setCanvasSize"]=function Module_setCanvasSize(width,height,noUpdates){Browser.setCanvasSize(width,height,noUpdates)};Module["pauseMainLoop"]=function Module_pauseMainLoop(){Browser.mainLoop.pause()};Module["resumeMainLoop"]=function Module_resumeMainLoop(){Browser.mainLoop.resume()};Module["getUserMedia"]=function Module_getUserMedia(){Browser.getUserMedia()};Module["createContext"]=function Module_createContext(canvas,useWebGL,setInModule,webGLContextAttributes){return Browser.createContext(canvas,useWebGL,setInModule,webGLContextAttributes)};STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_cleanup_pop":_pthread_cleanup_pop,"___syscall221":___syscall221,"_pthread_mutex_init":_pthread_mutex_init,"___syscall64":___syscall64,"___syscall63":___syscall63,"___syscall6":___syscall6,"___syscall202":___syscall202,"___setErrNo":___setErrNo,"___syscall20":___syscall20,"_llvm_stackrestore":_llvm_stackrestore,"___assert_fail":___assert_fail,"_floor":_floor,"__addDays":__addDays,"_localtime_r":_localtime_r,"_tzset":_tzset,"_emscripten_set_main_loop_timing":_emscripten_set_main_loop_timing,"_sbrk":_sbrk,"___syscall192":___syscall192,"___syscall191":___syscall191,"___syscall197":___syscall197,"___syscall195":___syscall195,"___syscall194":___syscall194,"___syscall199":___syscall199,"_sysconf":_sysconf,"_strftime":_strftime,"_clock":_clock,"__arraySum":__arraySum,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"___buildEnvironment":___buildEnvironment,"_pthread_mutex_destroy":_pthread_mutex_destroy,"_pthread_self":_pthread_self,"___syscall75":___syscall75,"_pthread_mutex_unlock":_pthread_mutex_unlock,"___syscall77":___syscall77,"_llvm_stacksave":_llvm_stacksave,"_getenv":_getenv,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"__isLeapYear":__isLeapYear,"_emscripten_set_main_loop":_emscripten_set_main_loop,"___syscall10":___syscall10,"___syscall3":___syscall3,"___syscall340":___syscall340,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___syscall4":___syscall4,"_time":_time,"_pthread_mutex_lock":_pthread_mutex_lock,"_gettimeofday":_gettimeofday,"___syscall201":___syscall201,"_atexit":_atexit,"___syscall140":___syscall140,"_localtime":_localtime,"___syscall142":___syscall142,"_pthread_cleanup_push":_pthread_cleanup_push,"___syscall145":___syscall145,"___syscall146":___syscall146,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM
-var asm=(function(global,env,buffer) {
-"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.invoke_viiiii;var fa=env.invoke_vi;var ga=env.invoke_vii;var ha=env.invoke_ii;var ia=env.invoke_viii;var ja=env.invoke_v;var ka=env.invoke_iiiii;var la=env.invoke_viiiiii;var ma=env.invoke_iii;var na=env.invoke_viiii;var oa=env._pthread_cleanup_pop;var pa=env.___syscall221;var qa=env._pthread_mutex_init;var ra=env.___syscall64;var sa=env.___syscall63;var ta=env.___syscall6;var ua=env.___syscall202;var va=env.___setErrNo;var wa=env.___syscall20;var xa=env._llvm_stackrestore;var ya=env.___assert_fail;var za=env._floor;var Aa=env.__addDays;var Ba=env._localtime_r;var Ca=env._tzset;var Da=env._emscripten_set_main_loop_timing;var Ea=env._sbrk;var Fa=env.___syscall192;var Ga=env.___syscall191;var Ha=env.___syscall197;var Ia=env.___syscall195;var Ja=env.___syscall194;var Ka=env.___syscall199;var La=env._sysconf;var Ma=env._strftime;var Na=env._clock;var Oa=env.__arraySum;var Pa=env._emscripten_memcpy_big;var Qa=env.___syscall91;var Ra=env.___buildEnvironment;var Sa=env._pthread_mutex_destroy;var Ta=env._pthread_self;var Ua=env.___syscall75;var Va=env._pthread_mutex_unlock;var Wa=env.___syscall77;var Xa=env._llvm_stacksave;var Ya=env._getenv;var Za=env.___syscall33;var _a=env.___syscall54;var $a=env.___unlock;var ab=env.__isLeapYear;var bb=env._emscripten_set_main_loop;var cb=env.___syscall10;var db=env.___syscall3;var eb=env.___syscall340;var fb=env.___lock;var gb=env._abort;var hb=env.___syscall5;var ib=env.___syscall4;var jb=env._time;var kb=env._pthread_mutex_lock;var lb=env._gettimeofday;var mb=env.___syscall201;var nb=env._atexit;var ob=env.___syscall140;var pb=env._localtime;var qb=env.___syscall142;var rb=env._pthread_cleanup_push;var sb=env.___syscall145;var tb=env.___syscall146;var ub=0.0;
+// The Module object: Our interface to the outside world. We import
+// and export values on it, and do the work to get that through
+// closure compiler if necessary. There are various ways Module can be used:
+// 1. Not defined. We create it here
+// 2. A function parameter, function(Module) { ..generated code.. }
+// 3. pre-run appended it, var Module = {}; ..generated code..
+// 4. External script tag defines var Module.
+// We need to do an eval in order to handle the closure compiler
+// case, where this code here is minified but Module was defined
+// elsewhere (e.g. case 4 above). We also need to check if Module
+// already exists (e.g. case 3 above).
+// Note that if you want to run closure, and also to use Module
+// after the generated code, you will need to define var Module = {};
+// before the code. Then that object will be used in the code, and you
+// can continue to use Module afterwards as well.
+var Module;
+if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
+
+// Sometimes an existing Module object exists with properties
+// meant to overwrite the default module functionality. Here
+// we collect those properties and reapply _after_ we configure
+// the current environment's defaults to avoid having to be so
+// defensive during initialization.
+var moduleOverrides = {};
+for (var key in Module) {
+ if (Module.hasOwnProperty(key)) {
+ moduleOverrides[key] = Module[key];
+ }
+}
+
+// The environment setup code below is customized to use Module.
+// *** Environment setup code ***
+var ENVIRONMENT_IS_WEB = typeof window === 'object';
+// Three configurations we can be running in:
+// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
+// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
+// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
+var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
+var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
+var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
+
+if (ENVIRONMENT_IS_NODE) {
+ // Expose functionality in the same simple way that the shells work
+ // Note that we pollute the global namespace here, otherwise we break in node
+ if (!Module['print']) Module['print'] = function print(x) {
+ process['stdout'].write(x + '\n');
+ };
+ if (!Module['printErr']) Module['printErr'] = function printErr(x) {
+ process['stderr'].write(x + '\n');
+ };
+
+ var nodeFS = require('fs');
+ var nodePath = require('path');
+
+ Module['read'] = function read(filename, binary) {
+ filename = nodePath['normalize'](filename);
+ var ret = nodeFS['readFileSync'](filename);
+ // The path is absolute if the normalized version is the same as the resolved.
+ if (!ret && filename != nodePath['resolve'](filename)) {
+ filename = path.join(__dirname, '..', 'src', filename);
+ ret = nodeFS['readFileSync'](filename);
+ }
+ if (ret && !binary) ret = ret.toString();
+ return ret;
+ };
+
+ Module['readBinary'] = function readBinary(filename) {
+ var ret = Module['read'](filename, true);
+ if (!ret.buffer) {
+ ret = new Uint8Array(ret);
+ }
+ assert(ret.buffer);
+ return ret;
+ };
+
+ Module['load'] = function load(f) {
+ globalEval(read(f));
+ };
+
+ if (!Module['thisProgram']) {
+ if (process['argv'].length > 1) {
+ Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
+ } else {
+ Module['thisProgram'] = 'unknown-program';
+ }
+ }
+
+ Module['arguments'] = process['argv'].slice(2);
+
+ if (typeof module !== 'undefined') {
+ module['exports'] = Module;
+ }
+
+ process['on']('uncaughtException', function(ex) {
+ // suppress ExitStatus exceptions from showing an error
+ if (!(ex instanceof ExitStatus)) {
+ throw ex;
+ }
+ });
+
+ Module['inspect'] = function () { return '[Emscripten Module object]'; };
+}
+else if (ENVIRONMENT_IS_SHELL) {
+ if (!Module['print']) Module['print'] = print;
+ if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
+
+ if (typeof read != 'undefined') {
+ Module['read'] = read;
+ } else {
+ Module['read'] = function read() { throw 'no read() available (jsc?)' };
+ }
+
+ Module['readBinary'] = function readBinary(f) {
+ if (typeof readbuffer === 'function') {
+ return new Uint8Array(readbuffer(f));
+ }
+ var data = read(f, 'binary');
+ assert(typeof data === 'object');
+ return data;
+ };
+
+ if (typeof scriptArgs != 'undefined') {
+ Module['arguments'] = scriptArgs;
+ } else if (typeof arguments != 'undefined') {
+ Module['arguments'] = arguments;
+ }
+
+}
+else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+ Module['read'] = function read(url) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ xhr.send(null);
+ return xhr.responseText;
+ };
+
+ if (typeof arguments != 'undefined') {
+ Module['arguments'] = arguments;
+ }
+
+ if (typeof console !== 'undefined') {
+ if (!Module['print']) Module['print'] = function print(x) {
+ console.log(x);
+ };
+ if (!Module['printErr']) Module['printErr'] = function printErr(x) {
+ console.log(x);
+ };
+ } else {
+ // Probably a worker, and without console.log. We can do very little here...
+ var TRY_USE_DUMP = false;
+ if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
+ dump(x);
+ }) : (function(x) {
+ // self.postMessage(x); // enable this if you want stdout to be sent as messages
+ }));
+ }
+
+ if (ENVIRONMENT_IS_WORKER) {
+ Module['load'] = importScripts;
+ }
+
+ if (typeof Module['setWindowTitle'] === 'undefined') {
+ Module['setWindowTitle'] = function(title) { document.title = title };
+ }
+}
+else {
+ // Unreachable because SHELL is dependant on the others
+ throw 'Unknown runtime environment. Where are we?';
+}
+
+function globalEval(x) {
+ abort('NO_DYNAMIC_EXECUTION=1 was set, cannot eval');
+}
+if (!Module['load'] && Module['read']) {
+ Module['load'] = function load(f) {
+ globalEval(Module['read'](f));
+ };
+}
+if (!Module['print']) {
+ Module['print'] = function(){};
+}
+if (!Module['printErr']) {
+ Module['printErr'] = Module['print'];
+}
+if (!Module['arguments']) {
+ Module['arguments'] = [];
+}
+if (!Module['thisProgram']) {
+ Module['thisProgram'] = './this.program';
+}
+
+// *** Environment setup code ***
+
+// Closure helpers
+Module.print = Module['print'];
+Module.printErr = Module['printErr'];
+
+// Callbacks
+Module['preRun'] = [];
+Module['postRun'] = [];
+
+// Merge back in the overrides
+for (var key in moduleOverrides) {
+ if (moduleOverrides.hasOwnProperty(key)) {
+ Module[key] = moduleOverrides[key];
+ }
+}
+
+
+
+// {{PREAMBLE_ADDITIONS}}
+
+// === Preamble library stuff ===
+
+// Documentation for the public APIs defined in this file must be updated in:
+// site/source/docs/api_reference/preamble.js.rst
+// A prebuilt local version of the documentation is available at:
+// site/build/text/docs/api_reference/preamble.js.txt
+// You can also build docs locally as HTML or other formats in site/
+// An online HTML version (which may be of a different version of Emscripten)
+// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
+
+//========================================
+// Runtime code shared with compiler
+//========================================
+
+var Runtime = {
+ setTempRet0: function (value) {
+ tempRet0 = value;
+ },
+ getTempRet0: function () {
+ return tempRet0;
+ },
+ stackSave: function () {
+ return STACKTOP;
+ },
+ stackRestore: function (stackTop) {
+ STACKTOP = stackTop;
+ },
+ getNativeTypeSize: function (type) {
+ switch (type) {
+ case 'i1': case 'i8': return 1;
+ case 'i16': return 2;
+ case 'i32': return 4;
+ case 'i64': return 8;
+ case 'float': return 4;
+ case 'double': return 8;
+ default: {
+ if (type[type.length-1] === '*') {
+ return Runtime.QUANTUM_SIZE; // A pointer
+ } else if (type[0] === 'i') {
+ var bits = parseInt(type.substr(1));
+ assert(bits % 8 === 0);
+ return bits/8;
+ } else {
+ return 0;
+ }
+ }
+ }
+ },
+ getNativeFieldSize: function (type) {
+ return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
+ },
+ STACK_ALIGN: 16,
+ prepVararg: function (ptr, type) {
+ if (type === 'double' || type === 'i64') {
+ // move so the load is aligned
+ if (ptr & 7) {
+ assert((ptr & 7) === 4);
+ ptr += 4;
+ }
+ } else {
+ assert((ptr & 3) === 0);
+ }
+ return ptr;
+ },
+ getAlignSize: function (type, size, vararg) {
+ // we align i64s and doubles on 64-bit boundaries, unlike x86
+ if (!vararg && (type == 'i64' || type == 'double')) return 8;
+ if (!type) return Math.min(size, 8); // align structures internally to 64 bits
+ return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
+ },
+ dynCall: function (sig, ptr, args) {
+ if (args && args.length) {
+ assert(args.length == sig.length-1);
+ if (!args.splice) args = Array.prototype.slice.call(args);
+ args.splice(0, 0, ptr);
+ assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
+ return Module['dynCall_' + sig].apply(null, args);
+ } else {
+ assert(sig.length == 1);
+ assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
+ return Module['dynCall_' + sig].call(null, ptr);
+ }
+ },
+ functionPointers: [],
+ addFunction: function (func) {
+ for (var i = 0; i < Runtime.functionPointers.length; i++) {
+ if (!Runtime.functionPointers[i]) {
+ Runtime.functionPointers[i] = func;
+ return 2*(1 + i);
+ }
+ }
+ throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
+ },
+ removeFunction: function (index) {
+ Runtime.functionPointers[(index-2)/2] = null;
+ },
+ warnOnce: function (text) {
+ if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
+ if (!Runtime.warnOnce.shown[text]) {
+ Runtime.warnOnce.shown[text] = 1;
+ Module.printErr(text);
+ }
+ },
+ funcWrappers: {},
+ getFuncWrapper: function (func, sig) {
+ assert(sig);
+ if (!Runtime.funcWrappers[sig]) {
+ Runtime.funcWrappers[sig] = {};
+ }
+ var sigCache = Runtime.funcWrappers[sig];
+ if (!sigCache[func]) {
+ sigCache[func] = function dynCall_wrapper() {
+ return Runtime.dynCall(sig, func, arguments);
+ };
+ }
+ return sigCache[func];
+ },
+ getCompilerSetting: function (name) {
+ throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
+ },
+ stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; },
+ staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; },
+ dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + (assert(DYNAMICTOP > 0),size))|0;DYNAMICTOP = (((DYNAMICTOP)+15)&-16); if (DYNAMICTOP >= TOTAL_MEMORY) { var success = enlargeMemory(); if (!success) { DYNAMICTOP = ret; return 0; } }; return ret; },
+ alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; },
+ makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; },
+ GLOBAL_BASE: 8,
+ QUANTUM_SIZE: 4,
+ __dummy__: 0
+}
+
+
+
+Module["Runtime"] = Runtime;
+
+
+
+//========================================
+// Runtime essentials
+//========================================
+
+var __THREW__ = 0; // Used in checking for thrown exceptions.
+
+var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort()
+var EXITSTATUS = 0;
+
+var undef = 0;
+// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
+// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
+var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat;
+var tempI64, tempI64b;
+var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9;
+
+function assert(condition, text) {
+ if (!condition) {
+ abort('Assertion failed: ' + text);
+ }
+}
+
+var globalScope = this;
+
+// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
+function getCFunc(ident) {
+ var func = Module['_' + ident]; // closure exported function
+ if (!func) {
+ abort('NO_DYNAMIC_EXECUTION=1 was set, cannot eval');
+ }
+ assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
+ return func;
+}
+
+var cwrap, ccall;
+(function(){
+ var JSfuncs = {
+ // Helpers for cwrap -- it can't refer to Runtime directly because it might
+ // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
+ // out what the minified function name is.
+ 'stackSave': function() {
+ Runtime.stackSave()
+ },
+ 'stackRestore': function() {
+ Runtime.stackRestore()
+ },
+ // type conversion from js to c
+ 'arrayToC' : function(arr) {
+ var ret = Runtime.stackAlloc(arr.length);
+ writeArrayToMemory(arr, ret);
+ return ret;
+ },
+ 'stringToC' : function(str) {
+ var ret = 0;
+ if (str !== null && str !== undefined && str !== 0) { // null string
+ // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
+ ret = Runtime.stackAlloc((str.length << 2) + 1);
+ writeStringToMemory(str, ret);
+ }
+ return ret;
+ }
+ };
+ // For fast lookup of conversion functions
+ var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']};
+
+ // C calling interface.
+ ccall = function ccallFunc(ident, returnType, argTypes, args, opts) {
+ var func = getCFunc(ident);
+ var cArgs = [];
+ var stack = 0;
+ assert(returnType !== 'array', 'Return type should not be "array".');
+ if (args) {
+ for (var i = 0; i < args.length; i++) {
+ var converter = toC[argTypes[i]];
+ if (converter) {
+ if (stack === 0) stack = Runtime.stackSave();
+ cArgs[i] = converter(args[i]);
+ } else {
+ cArgs[i] = args[i];
+ }
+ }
+ }
+ var ret = func.apply(null, cArgs);
+ if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') {
+ assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall');
+ }
+ if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values');
+ if (returnType === 'string') ret = Pointer_stringify(ret);
+ if (stack !== 0) {
+ if (opts && opts.async) {
+ EmterpreterAsync.asyncFinalizers.push(function() {
+ Runtime.stackRestore(stack);
+ });
+ return;
+ }
+ Runtime.stackRestore(stack);
+ }
+ return ret;
+ }
+
+ // NO_DYNAMIC_EXECUTION is on, so we can't use the fast version of cwrap.
+ // Fall back to returning a bound version of ccall.
+ cwrap = function cwrap(ident, returnType, argTypes) {
+ return function() {
+ Runtime.warnOnce('NO_DYNAMIC_EXECUTION was set, '
+ + 'using slow cwrap implementation');
+ return ccall(ident, returnType, argTypes, arguments);
+ }
+ }
+})();
+Module["ccall"] = ccall;
+Module["cwrap"] = cwrap;
+
+function setValue(ptr, value, type, noSafe) {
+ type = type || 'i8';
+ if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
+ 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.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
+ case 'float': HEAPF32[((ptr)>>2)]=value; break;
+ case 'double': HEAPF64[((ptr)>>3)]=value; break;
+ default: abort('invalid type for setValue: ' + type);
+ }
+}
+Module["setValue"] = setValue;
+
+
+function getValue(ptr, type, noSafe) {
+ type = type || 'i8';
+ if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
+ switch(type) {
+ case 'i1': return HEAP8[((ptr)>>0)];
+ case 'i8': return HEAP8[((ptr)>>0)];
+ case 'i16': return HEAP16[((ptr)>>1)];
+ case 'i32': return HEAP32[((ptr)>>2)];
+ case 'i64': return HEAP32[((ptr)>>2)];
+ case 'float': return HEAPF32[((ptr)>>2)];
+ case 'double': return HEAPF64[((ptr)>>3)];
+ default: abort('invalid type for setValue: ' + type);
+ }
+ return null;
+}
+Module["getValue"] = getValue;
+
+var ALLOC_NORMAL = 0; // Tries to use _malloc()
+var ALLOC_STACK = 1; // Lives for the duration of the current function call
+var ALLOC_STATIC = 2; // Cannot be freed
+var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
+var ALLOC_NONE = 4; // Do not allocate
+Module["ALLOC_NORMAL"] = ALLOC_NORMAL;
+Module["ALLOC_STACK"] = ALLOC_STACK;
+Module["ALLOC_STATIC"] = ALLOC_STATIC;
+Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;
+Module["ALLOC_NONE"] = ALLOC_NONE;
+
+// allocate(): This is for internal use. You can use it yourself as well, but the interface
+// is a little tricky (see docs right below). The reason is that it is optimized
+// for multiple syntaxes to save space in generated code. So you should
+// normally not use allocate(), and instead allocate memory using _malloc(),
+// initialize it with setValue(), and so forth.
+// @slab: An array of data, or a number. If a number, then the size of the block to allocate,
+// in *bytes* (note that this is sometimes confusing: the next parameter does not
+// affect this!)
+// @types: Either an array of types, one for each byte (or 0 if no type at that position),
+// or a single type which is used for the entire block. This only matters if there
+// is initial data - if @slab is a number, then this does not matter at all and is
+// ignored.
+// @allocator: How to allocate memory, see ALLOC_*
+function allocate(slab, types, allocator, ptr) {
+ var zeroinit, size;
+ if (typeof slab === 'number') {
+ zeroinit = true;
+ size = slab;
+ } else {
+ zeroinit = false;
+ size = slab.length;
+ }
+
+ var singleType = typeof types === 'string' ? types : null;
+
+ var ret;
+ if (allocator == ALLOC_NONE) {
+ ret = ptr;
+ } else {
+ ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
+ }
+
+ if (zeroinit) {
+ var ptr = ret, stop;
+ assert((ret & 3) == 0);
+ stop = ret + (size & ~3);
+ for (; ptr < stop; ptr += 4) {
+ HEAP32[((ptr)>>2)]=0;
+ }
+ stop = ret + size;
+ while (ptr < stop) {
+ HEAP8[((ptr++)>>0)]=0;
+ }
+ return ret;
+ }
+
+ if (singleType === 'i8') {
+ if (slab.subarray || slab.slice) {
+ HEAPU8.set(slab, ret);
+ } else {
+ HEAPU8.set(new Uint8Array(slab), ret);
+ }
+ return ret;
+ }
+
+ var i = 0, type, typeSize, previousType;
+ while (i < size) {
+ var curr = slab[i];
+
+ if (typeof curr === 'function') {
+ curr = Runtime.getFunctionIndex(curr);
+ }
+
+ type = singleType || types[i];
+ if (type === 0) {
+ i++;
+ continue;
+ }
+ assert(type, 'Must know what type to store in allocate!');
+
+ if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
+
+ setValue(ret+i, curr, type);
+
+ // no need to look up size unless type changes, so cache it
+ if (previousType !== type) {
+ typeSize = Runtime.getNativeTypeSize(type);
+ previousType = type;
+ }
+ i += typeSize;
+ }
+
+ return ret;
+}
+Module["allocate"] = allocate;
+
+// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
+function getMemory(size) {
+ if (!staticSealed) return Runtime.staticAlloc(size);
+ if ((typeof _sbrk !== 'undefined' && !_sbrk.called) || !runtimeInitialized) return Runtime.dynamicAlloc(size);
+ return _malloc(size);
+}
+Module["getMemory"] = getMemory;
+
+function Pointer_stringify(ptr, /* optional */ length) {
+ if (length === 0 || !ptr) return '';
+ // TODO: use TextDecoder
+ // Find the length, and check for UTF while doing so
+ var hasUtf = 0;
+ var t;
+ var i = 0;
+ while (1) {
+ assert(ptr + i < TOTAL_MEMORY);
+ t = HEAPU8[(((ptr)+(i))>>0)];
+ hasUtf |= t;
+ if (t == 0 && !length) break;
+ i++;
+ if (length && i == length) break;
+ }
+ if (!length) length = i;
+
+ var ret = '';
+
+ if (hasUtf < 128) {
+ var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
+ var curr;
+ while (length > 0) {
+ curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
+ ret = ret ? ret + curr : curr;
+ ptr += MAX_CHUNK;
+ length -= MAX_CHUNK;
+ }
+ return ret;
+ }
+ return Module['UTF8ToString'](ptr);
+}
+Module["Pointer_stringify"] = Pointer_stringify;
+
+// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function AsciiToString(ptr) {
+ var str = '';
+ while (1) {
+ var ch = HEAP8[((ptr++)>>0)];
+ if (!ch) return str;
+ str += String.fromCharCode(ch);
+ }
+}
+Module["AsciiToString"] = AsciiToString;
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
+
+function stringToAscii(str, outPtr) {
+ return writeAsciiToMemory(str, outPtr, false);
+}
+Module["stringToAscii"] = stringToAscii;
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
+// a copy of that string as a Javascript String object.
+
+function UTF8ArrayToString(u8Array, idx) {
+ var u0, u1, u2, u3, u4, u5;
+
+ var str = '';
+ while (1) {
+ // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
+ u0 = u8Array[idx++];
+ if (!u0) return str;
+ if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
+ u1 = u8Array[idx++] & 63;
+ if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
+ u2 = u8Array[idx++] & 63;
+ if ((u0 & 0xF0) == 0xE0) {
+ u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
+ } else {
+ u3 = u8Array[idx++] & 63;
+ if ((u0 & 0xF8) == 0xF0) {
+ u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
+ } else {
+ u4 = u8Array[idx++] & 63;
+ if ((u0 & 0xFC) == 0xF8) {
+ u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
+ } else {
+ u5 = u8Array[idx++] & 63;
+ u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
+ }
+ }
+ }
+ if (u0 < 0x10000) {
+ str += String.fromCharCode(u0);
+ } else {
+ var ch = u0 - 0x10000;
+ str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
+ }
+ }
+}
+Module["UTF8ArrayToString"] = UTF8ArrayToString;
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function UTF8ToString(ptr) {
+ return UTF8ArrayToString(HEAPU8,ptr);
+}
+Module["UTF8ToString"] = UTF8ToString;
+
+// Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
+// encoded in UTF8 form and null-terminated. The copy will require at most str.length*4+1 bytes of space in the HEAP.
+// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
+// outIdx: The starting offset in the array to begin the copying.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
+// maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
+ if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
+ return 0;
+
+ var startIdx = outIdx;
+ var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator.
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
+ var u = str.charCodeAt(i); // possibly a lead surrogate
+ if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
+ if (u <= 0x7F) {
+ if (outIdx >= endIdx) break;
+ outU8Array[outIdx++] = u;
+ } else if (u <= 0x7FF) {
+ if (outIdx + 1 >= endIdx) break;
+ outU8Array[outIdx++] = 0xC0 | (u >> 6);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0xFFFF) {
+ if (outIdx + 2 >= endIdx) break;
+ outU8Array[outIdx++] = 0xE0 | (u >> 12);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0x1FFFFF) {
+ if (outIdx + 3 >= endIdx) break;
+ outU8Array[outIdx++] = 0xF0 | (u >> 18);
+ outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else if (u <= 0x3FFFFFF) {
+ if (outIdx + 4 >= endIdx) break;
+ outU8Array[outIdx++] = 0xF8 | (u >> 24);
+ outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ } else {
+ if (outIdx + 5 >= endIdx) break;
+ outU8Array[outIdx++] = 0xFC | (u >> 30);
+ outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
+ outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
+ outU8Array[outIdx++] = 0x80 | (u & 63);
+ }
+ }
+ // Null-terminate the pointer to the buffer.
+ outU8Array[outIdx] = 0;
+ return outIdx - startIdx;
+}
+Module["stringToUTF8Array"] = stringToUTF8Array;
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF8 form. The copy will require at most str.length*4+1 bytes of space in the HEAP.
+// Use the function lengthBytesUTF8() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF8(str, outPtr, maxBytesToWrite) {
+ assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
+ return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
+}
+Module["stringToUTF8"] = stringToUTF8;
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF8(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! So decode UTF16->UTF32->UTF8.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var u = str.charCodeAt(i); // possibly a lead surrogate
+ if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
+ if (u <= 0x7F) {
+ ++len;
+ } else if (u <= 0x7FF) {
+ len += 2;
+ } else if (u <= 0xFFFF) {
+ len += 3;
+ } else if (u <= 0x1FFFFF) {
+ len += 4;
+ } else if (u <= 0x3FFFFFF) {
+ len += 5;
+ } else {
+ len += 6;
+ }
+ }
+ return len;
+}
+Module["lengthBytesUTF8"] = lengthBytesUTF8;
+
+// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function UTF16ToString(ptr) {
+ var i = 0;
+
+ var str = '';
+ while (1) {
+ var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
+ if (codeUnit == 0)
+ return str;
+ ++i;
+ // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
+ str += String.fromCharCode(codeUnit);
+ }
+}
+Module["UTF16ToString"] = UTF16ToString;
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF16 form. The copy will require at most str.length*4+2 bytes of space in the HEAP.
+// Use the function lengthBytesUTF16() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outPtr: Byte address in Emscripten HEAP where to write the string to.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=2, only the null terminator will be written and nothing else.
+// maxBytesToWrite<2 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF16(str, outPtr, maxBytesToWrite) {
+ assert(typeof maxBytesToWrite == 'number', 'stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
+ // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
+ if (maxBytesToWrite === undefined) {
+ maxBytesToWrite = 0x7FFFFFFF;
+ }
+ if (maxBytesToWrite < 2) return 0;
+ maxBytesToWrite -= 2; // Null terminator.
+ var startPtr = outPtr;
+ var numCharsToWrite = (maxBytesToWrite < str.length*2) ? (maxBytesToWrite / 2) : str.length;
+ for (var i = 0; i < numCharsToWrite; ++i) {
+ // charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
+ var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
+ HEAP16[((outPtr)>>1)]=codeUnit;
+ outPtr += 2;
+ }
+ // Null-terminate the pointer to the HEAP.
+ HEAP16[((outPtr)>>1)]=0;
+ return outPtr - startPtr;
+}
+Module["stringToUTF16"] = stringToUTF16;
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF16(str) {
+ return str.length*2;
+}
+Module["lengthBytesUTF16"] = lengthBytesUTF16;
+
+function UTF32ToString(ptr) {
+ var i = 0;
+
+ var str = '';
+ while (1) {
+ var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
+ if (utf32 == 0)
+ return str;
+ ++i;
+ // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ if (utf32 >= 0x10000) {
+ var ch = utf32 - 0x10000;
+ str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
+ } else {
+ str += String.fromCharCode(utf32);
+ }
+ }
+}
+Module["UTF32ToString"] = UTF32ToString;
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in UTF32 form. The copy will require at most str.length*4+4 bytes of space in the HEAP.
+// Use the function lengthBytesUTF32() to compute the exact number of bytes (excluding null terminator) that this function will write.
+// Parameters:
+// str: the Javascript string to copy.
+// outPtr: Byte address in Emscripten HEAP where to write the string to.
+// maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
+// terminator, i.e. if maxBytesToWrite=4, only the null terminator will be written and nothing else.
+// maxBytesToWrite<4 does not write any bytes to the output, not even the null terminator.
+// Returns the number of bytes written, EXCLUDING the null terminator.
+
+function stringToUTF32(str, outPtr, maxBytesToWrite) {
+ assert(typeof maxBytesToWrite == 'number', 'stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!');
+ // Backwards compatibility: if max bytes is not specified, assume unsafe unbounded write is allowed.
+ if (maxBytesToWrite === undefined) {
+ maxBytesToWrite = 0x7FFFFFFF;
+ }
+ if (maxBytesToWrite < 4) return 0;
+ var startPtr = outPtr;
+ var endPtr = startPtr + maxBytesToWrite - 4;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
+ if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
+ var trailSurrogate = str.charCodeAt(++i);
+ codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
+ }
+ HEAP32[((outPtr)>>2)]=codeUnit;
+ outPtr += 4;
+ if (outPtr + 4 > endPtr) break;
+ }
+ // Null-terminate the pointer to the HEAP.
+ HEAP32[((outPtr)>>2)]=0;
+ return outPtr - startPtr;
+}
+Module["stringToUTF32"] = stringToUTF32;
+
+// Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
+
+function lengthBytesUTF32(str) {
+ var len = 0;
+ for (var i = 0; i < str.length; ++i) {
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
+ var codeUnit = str.charCodeAt(i);
+ if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) ++i; // possibly a lead surrogate, so skip over the tail surrogate.
+ len += 4;
+ }
+
+ return len;
+}
+Module["lengthBytesUTF32"] = lengthBytesUTF32;
+
+function demangle(func) {
+ var hasLibcxxabi = !!Module['___cxa_demangle'];
+ if (hasLibcxxabi) {
+ try {
+ var buf = _malloc(func.length);
+ writeStringToMemory(func.substr(1), buf);
+ var status = _malloc(4);
+ var ret = Module['___cxa_demangle'](buf, 0, 0, status);
+ if (getValue(status, 'i32') === 0 && ret) {
+ return Pointer_stringify(ret);
+ }
+ // otherwise, libcxxabi failed, we can try ours which may return a partial result
+ } catch(e) {
+ // failure when using libcxxabi, we can try ours which may return a partial result
+ } finally {
+ if (buf) _free(buf);
+ if (status) _free(status);
+ if (ret) _free(ret);
+ }
+ }
+ var i = 3;
+ // params, etc.
+ var basicTypes = {
+ 'v': 'void',
+ 'b': 'bool',
+ 'c': 'char',
+ 's': 'short',
+ 'i': 'int',
+ 'l': 'long',
+ 'f': 'float',
+ 'd': 'double',
+ 'w': 'wchar_t',
+ 'a': 'signed char',
+ 'h': 'unsigned char',
+ 't': 'unsigned short',
+ 'j': 'unsigned int',
+ 'm': 'unsigned long',
+ 'x': 'long long',
+ 'y': 'unsigned long long',
+ 'z': '...'
+ };
+ var subs = [];
+ var first = true;
+ function dump(x) {
+ //return;
+ if (x) Module.print(x);
+ Module.print(func);
+ var pre = '';
+ for (var a = 0; a < i; a++) pre += ' ';
+ Module.print (pre + '^');
+ }
+ function parseNested() {
+ i++;
+ if (func[i] === 'K') i++; // ignore const
+ var parts = [];
+ while (func[i] !== 'E') {
+ if (func[i] === 'S') { // substitution
+ i++;
+ var next = func.indexOf('_', i);
+ var num = func.substring(i, next) || 0;
+ parts.push(subs[num] || '?');
+ i = next+1;
+ continue;
+ }
+ if (func[i] === 'C') { // constructor
+ parts.push(parts[parts.length-1]);
+ i += 2;
+ continue;
+ }
+ var size = parseInt(func.substr(i));
+ var pre = size.toString().length;
+ if (!size || !pre) { i--; break; } // counter i++ below us
+ var curr = func.substr(i + pre, size);
+ parts.push(curr);
+ subs.push(curr);
+ i += pre + size;
+ }
+ i++; // skip E
+ return parts;
+ }
+ function parse(rawList, limit, allowVoid) { // main parser
+ limit = limit || Infinity;
+ var ret = '', list = [];
+ function flushList() {
+ return '(' + list.join(', ') + ')';
+ }
+ var name;
+ if (func[i] === 'N') {
+ // namespaced N-E
+ name = parseNested().join('::');
+ limit--;
+ if (limit === 0) return rawList ? [name] : name;
+ } else {
+ // not namespaced
+ if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L'
+ var size = parseInt(func.substr(i));
+ if (size) {
+ var pre = size.toString().length;
+ name = func.substr(i + pre, size);
+ i += pre + size;
+ }
+ }
+ first = false;
+ if (func[i] === 'I') {
+ i++;
+ var iList = parse(true);
+ var iRet = parse(true, 1, true);
+ ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>';
+ } else {
+ ret = name;
+ }
+ paramLoop: while (i < func.length && limit-- > 0) {
+ //dump('paramLoop');
+ var c = func[i++];
+ if (c in basicTypes) {
+ list.push(basicTypes[c]);
+ } else {
+ switch (c) {
+ case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer
+ case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference
+ case 'L': { // literal
+ i++; // skip basic type
+ var end = func.indexOf('E', i);
+ var size = end - i;
+ list.push(func.substr(i, size));
+ i += size + 2; // size + 'EE'
+ break;
+ }
+ case 'A': { // array
+ var size = parseInt(func.substr(i));
+ i += size.toString().length;
+ if (func[i] !== '_') throw '?';
+ i++; // skip _
+ list.push(parse(true, 1, true)[0] + ' [' + size + ']');
+ break;
+ }
+ case 'E': break paramLoop;
+ default: ret += '?' + c; break paramLoop;
+ }
+ }
+ }
+ if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void)
+ if (rawList) {
+ if (ret) {
+ list.push(ret + '?');
+ }
+ return list;
+ } else {
+ return ret + flushList();
+ }
+ }
+ var parsed = func;
+ try {
+ // Special-case the entry point, since its name differs from other name mangling.
+ if (func == 'Object._main' || func == '_main') {
+ return 'main()';
+ }
+ if (typeof func === 'number') func = Pointer_stringify(func);
+ if (func[0] !== '_') return func;
+ if (func[1] !== '_') return func; // C function
+ if (func[2] !== 'Z') return func;
+ switch (func[3]) {
+ case 'n': return 'operator new()';
+ case 'd': return 'operator delete()';
+ }
+ parsed = parse();
+ } catch(e) {
+ parsed += '?';
+ }
+ if (parsed.indexOf('?') >= 0 && !hasLibcxxabi) {
+ Runtime.warnOnce('warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling');
+ }
+ return parsed;
+}
+
+function demangleAll(text) {
+ return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') });
+}
+
+function jsStackTrace() {
+ var err = new Error();
+ if (!err.stack) {
+ // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
+ // so try that as a special-case.
+ try {
+ throw new Error(0);
+ } catch(e) {
+ err = e;
+ }
+ if (!err.stack) {
+ return '(no stack trace available)';
+ }
+ }
+ return err.stack.toString();
+}
+
+function stackTrace() {
+ return demangleAll(jsStackTrace());
+}
+Module["stackTrace"] = stackTrace;
+
+// Memory management
+
+var PAGE_SIZE = 4096;
+
+function alignMemoryPage(x) {
+ if (x % 4096 > 0) {
+ x += (4096 - (x % 4096));
+ }
+ return x;
+}
+
+var HEAP;
+var buffer;
+var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
+
+function updateGlobalBuffer(buf) {
+ Module['buffer'] = buffer = buf;
+}
+
+function updateGlobalBufferViews() {
+ Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
+ Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
+ Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
+ Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
+ Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
+ Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
+ Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
+ Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
+}
+
+var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area
+var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area
+var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk
+
+
+function abortOnCannotGrowMemory() {
+ abort('Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ');
+}
+
+function enlargeMemory() {
+ abortOnCannotGrowMemory();
+}
+
+
+var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
+var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
+
+var totalMemory = 64*1024;
+while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) {
+ if (totalMemory < 16*1024*1024) {
+ totalMemory *= 2;
+ } else {
+ totalMemory += 16*1024*1024
+ }
+}
+if (totalMemory !== TOTAL_MEMORY) {
+ Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be compliant with the asm.js spec (and given that TOTAL_STACK=' + TOTAL_STACK + ')');
+ TOTAL_MEMORY = totalMemory;
+}
+
+// Initialize the runtime's memory
+// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
+assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
+ 'JS engine does not provide full typed array support');
+
+
+
+// Use a provided buffer, if there is one, or else allocate a new one
+if (Module['buffer']) {
+ buffer = Module['buffer'];
+ assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
+} else {
+ buffer = new ArrayBuffer(TOTAL_MEMORY);
+}
+updateGlobalBufferViews();
+
+
+// Endianness check (note: assumes compiler arch was little-endian)
+HEAP32[0] = 255;
+assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
+
+Module['HEAP'] = HEAP;
+Module['buffer'] = buffer;
+Module['HEAP8'] = HEAP8;
+Module['HEAP16'] = HEAP16;
+Module['HEAP32'] = HEAP32;
+Module['HEAPU8'] = HEAPU8;
+Module['HEAPU16'] = HEAPU16;
+Module['HEAPU32'] = HEAPU32;
+Module['HEAPF32'] = HEAPF32;
+Module['HEAPF64'] = HEAPF64;
+
+function callRuntimeCallbacks(callbacks) {
+ while(callbacks.length > 0) {
+ var callback = callbacks.shift();
+ if (typeof callback == 'function') {
+ callback();
+ continue;
+ }
+ var func = callback.func;
+ if (typeof func === 'number') {
+ if (callback.arg === undefined) {
+ Runtime.dynCall('v', func);
+ } else {
+ Runtime.dynCall('vi', func, [callback.arg]);
+ }
+ } else {
+ func(callback.arg === undefined ? null : callback.arg);
+ }
+ }
+}
+
+var __ATPRERUN__ = []; // functions called before the runtime is initialized
+var __ATINIT__ = []; // functions called during startup
+var __ATMAIN__ = []; // functions called when main() is to be run
+var __ATEXIT__ = []; // functions called during shutdown
+var __ATPOSTRUN__ = []; // functions called after the runtime has exited
+
+var runtimeInitialized = false;
+var runtimeExited = false;
+
+
+function preRun() {
+ // compatibility - merge in anything from Module['preRun'] at this time
+ if (Module['preRun']) {
+ if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
+ while (Module['preRun'].length) {
+ addOnPreRun(Module['preRun'].shift());
+ }
+ }
+ callRuntimeCallbacks(__ATPRERUN__);
+}
+
+function ensureInitRuntime() {
+ if (runtimeInitialized) return;
+ runtimeInitialized = true;
+ callRuntimeCallbacks(__ATINIT__);
+}
+
+function preMain() {
+ callRuntimeCallbacks(__ATMAIN__);
+}
+
+function exitRuntime() {
+ callRuntimeCallbacks(__ATEXIT__);
+ runtimeExited = true;
+}
+
+function postRun() {
+ // compatibility - merge in anything from Module['postRun'] at this time
+ if (Module['postRun']) {
+ if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
+ while (Module['postRun'].length) {
+ addOnPostRun(Module['postRun'].shift());
+ }
+ }
+ callRuntimeCallbacks(__ATPOSTRUN__);
+}
+
+function addOnPreRun(cb) {
+ __ATPRERUN__.unshift(cb);
+}
+Module["addOnPreRun"] = addOnPreRun;
+
+function addOnInit(cb) {
+ __ATINIT__.unshift(cb);
+}
+Module["addOnInit"] = addOnInit;
+
+function addOnPreMain(cb) {
+ __ATMAIN__.unshift(cb);
+}
+Module["addOnPreMain"] = addOnPreMain;
+
+function addOnExit(cb) {
+ __ATEXIT__.unshift(cb);
+}
+Module["addOnExit"] = addOnExit;
+
+function addOnPostRun(cb) {
+ __ATPOSTRUN__.unshift(cb);
+}
+Module["addOnPostRun"] = addOnPostRun;
+
+// Tools
+
+
+function intArrayFromString(stringy, dontAddNull, length /* optional */) {
+ var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
+ var u8array = new Array(len);
+ var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
+ if (dontAddNull) u8array.length = numBytesWritten;
+ return u8array;
+}
+Module["intArrayFromString"] = intArrayFromString;
+
+function intArrayToString(array) {
+ var ret = [];
+ for (var i = 0; i < array.length; i++) {
+ var chr = array[i];
+ if (chr > 0xFF) {
+ assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ') at offset ' + i + ' not in 0x00-0xFF.');
+ chr &= 0xFF;
+ }
+ ret.push(String.fromCharCode(chr));
+ }
+ return ret.join('');
+}
+Module["intArrayToString"] = intArrayToString;
+
+function writeStringToMemory(string, buffer, dontAddNull) {
+ var array = intArrayFromString(string, dontAddNull);
+ var i = 0;
+ while (i < array.length) {
+ var chr = array[i];
+ HEAP8[(((buffer)+(i))>>0)]=chr;
+ i = i + 1;
+ }
+}
+Module["writeStringToMemory"] = writeStringToMemory;
+
+function writeArrayToMemory(array, buffer) {
+ for (var i = 0; i < array.length; i++) {
+ HEAP8[((buffer++)>>0)]=array[i];
+ }
+}
+Module["writeArrayToMemory"] = writeArrayToMemory;
+
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+ for (var i = 0; i < str.length; ++i) {
+ assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
+ HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
+ }
+ // Null-terminate the pointer to the HEAP.
+ if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
+}
+Module["writeAsciiToMemory"] = writeAsciiToMemory;
+
+function unSign(value, bits, ignore) {
+ if (value >= 0) {
+ return value;
+ }
+ return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
+ : Math.pow(2, bits) + value;
+}
+function reSign(value, bits, ignore) {
+ if (value <= 0) {
+ return value;
+ }
+ var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
+ : Math.pow(2, bits-1);
+ if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
+ // but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
+ // TODO: In i64 mode 1, resign the two parts separately and safely
+ value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
+ }
+ return value;
+}
+
+
+// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
+if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
+ var ah = a >>> 16;
+ var al = a & 0xffff;
+ var bh = b >>> 16;
+ var bl = b & 0xffff;
+ return (al*bl + ((ah*bl + al*bh) << 16))|0;
+};
+Math.imul = Math['imul'];
+
+
+if (!Math['clz32']) Math['clz32'] = function(x) {
+ x = x >>> 0;
+ for (var i = 0; i < 32; i++) {
+ if (x & (1 << (31 - i))) return i;
+ }
+ return 32;
+};
+Math.clz32 = Math['clz32']
+
+var Math_abs = Math.abs;
+var Math_cos = Math.cos;
+var Math_sin = Math.sin;
+var Math_tan = Math.tan;
+var Math_acos = Math.acos;
+var Math_asin = Math.asin;
+var Math_atan = Math.atan;
+var Math_atan2 = Math.atan2;
+var Math_exp = Math.exp;
+var Math_log = Math.log;
+var Math_sqrt = Math.sqrt;
+var Math_ceil = Math.ceil;
+var Math_floor = Math.floor;
+var Math_pow = Math.pow;
+var Math_imul = Math.imul;
+var Math_fround = Math.fround;
+var Math_min = Math.min;
+var Math_clz32 = Math.clz32;
+
+// A counter of dependencies for calling run(). If we need to
+// do asynchronous work before running, increment this and
+// decrement it. Incrementing must happen in a place like
+// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
+// Note that you can add dependencies in preRun, even though
+// it happens right before run - run will be postponed until
+// the dependencies are met.
+var runDependencies = 0;
+var runDependencyWatcher = null;
+var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
+var runDependencyTracking = {};
+
+function getUniqueRunDependency(id) {
+ var orig = id;
+ while (1) {
+ if (!runDependencyTracking[id]) return id;
+ id = orig + Math.random();
+ }
+ return id;
+}
+
+function addRunDependency(id) {
+ runDependencies++;
+ if (Module['monitorRunDependencies']) {
+ Module['monitorRunDependencies'](runDependencies);
+ }
+ if (id) {
+ assert(!runDependencyTracking[id]);
+ runDependencyTracking[id] = 1;
+ if (runDependencyWatcher === null && typeof setInterval !== 'undefined') {
+ // Check for missing dependencies every few seconds
+ runDependencyWatcher = setInterval(function() {
+ if (ABORT) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ return;
+ }
+ var shown = false;
+ for (var dep in runDependencyTracking) {
+ if (!shown) {
+ shown = true;
+ Module.printErr('still waiting on run dependencies:');
+ }
+ Module.printErr('dependency: ' + dep);
+ }
+ if (shown) {
+ Module.printErr('(end of list)');
+ }
+ }, 10000);
+ }
+ } else {
+ Module.printErr('warning: run dependency added without ID');
+ }
+}
+Module["addRunDependency"] = addRunDependency;
+
+function removeRunDependency(id) {
+ runDependencies--;
+ if (Module['monitorRunDependencies']) {
+ Module['monitorRunDependencies'](runDependencies);
+ }
+ if (id) {
+ assert(runDependencyTracking[id]);
+ delete runDependencyTracking[id];
+ } else {
+ Module.printErr('warning: run dependency removed without ID');
+ }
+ if (runDependencies == 0) {
+ if (runDependencyWatcher !== null) {
+ clearInterval(runDependencyWatcher);
+ runDependencyWatcher = null;
+ }
+ if (dependenciesFulfilled) {
+ var callback = dependenciesFulfilled;
+ dependenciesFulfilled = null;
+ callback(); // can add another dependenciesFulfilled
+ }
+ }
+}
+Module["removeRunDependency"] = removeRunDependency;
+
+Module["preloadedImages"] = {}; // maps url to image data
+Module["preloadedAudios"] = {}; // maps url to audio data
+
+
+
+var memoryInitializer = null;
+
+
+
+// === Body ===
+
+var ASM_CONSTS = [];
+
+
+
+
+STATIC_BASE = 8;
+
+STATICTOP = STATIC_BASE + 77584;
+ /* global initializers */ __ATINIT__.push({ func: function() { _GNUNET_util_cl_init() } }, { func: function() { _GNUNET_CRYPTO_random_init() } }, { func: function() { _gpg_err_init() } });
+
+
+/* memory initializer */ allocate([0,0,0,0,0,0,0,0,102,154,0,127,199,106,69,159,152,186,249,23,254,223,149,34,17,154,0,127,199,106,69,159,152,186,249,23,254,223,149,51,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,34,174,40,215,152,47,138,66,205,101,239,35,145,68,55,113,47,59,77,236,207,251,192,181,188,219,137,129,165,219,181,233,56,181,72,243,91,194,86,57,25,208,5,182,241,17,241,89,155,79,25,175,164,130,63,146,24,129,109,218,213,94,28,171,66,2,3,163,152,170,7,216,190,111,112,69,1,91,131,18,140,178,228,78,190,133,49,36,226,180,255,213,195,125,12,85,111,137,123,242,116,93,190,114,177,150,22,59,254,177,222,128,53,18,199,37,167,6,220,155,148,38,105,207,116,241,155,193,210,74,241,158,193,105,155,228,227,37,79,56,134,71,190,239,181,213,140,139,198,157,193,15,101,156,172,119,204,161,12,36,117,2,43,89,111,44,233,45,131,228,166,110,170,132,116,74,212,251,65,189,220,169,176,92,181,83,17,131,218,136,249,118,171,223,102,238,82,81,62,152,16,50,180,45,109,198,49,168,63,33,251,152,200,39,3,176,228,14,239,190,199,127,89,191,194,143,168,61,243,11,224,198,37,167,10,147,71,145,167,213,111,130,3,224,81,99,202,6,112,110,14,10,103,41,41,20,252,47,210,70,133,10,183,39,38,201,38,92,56,33,27,46,237,42,196,90,252,109,44,77,223,179,149,157,19,13,56,83,222,99,175,139,84,115,10,101,168,178,119,60,187,10,106,118,230,174,237,71,46,201,194,129,59,53,130,20,133,44,114,146,100,3,241,76,161,232,191,162,1,48,66,188,75,102,26,168,145,151,248,208,112,139,75,194,48,190,84,6,163,81,108,199,24,82,239,214,25,232,146,209,16,169,101,85,36,6,153,214,42,32,113,87,133,53,14,244,184,209,187,50,112,160,106,16,200,208,210,184,22,193,164,25,83,171,65,81,8,108,55,30,153,235,142,223,76,119,72,39,168,72,155,225,181,188,176,52,99,90,201,197,179,12,28,57,203,138,65,227,74,170,216,78,115,227,99,119,79,202,156,91,163,184,178,214,243,111,46,104,252,178,239,93,238,130,143,116,96,47,23,67,111,99,165,120,114,171,240,161,20,120,200,132,236,57,100,26,8,2,199,140,40,30,99,35,250,255,190,144,233,189,130,222,235,108,80,164,21,121,198,178,247,163,249,190,43,83,114,227,242,120,113,198,156,97,38,234,206,62,39,202,7,194,192,33,199,184,134,209,30,235,224,205,214,125,218,234,120,209,110,238,127,79,125,245,186,111,23,114,170,103,240,6,166,152,200,162,197,125,99,10,174,13,249,190,4,152,63,17,27,71,28,19,53,11,113,27,132,125,4,35,245,119,219,40,147,36,199,64,123,171,202,50,188,190,201,21,10,190,158,60,76,13,16,156,196,103,29,67,182,66,62,203,190,212,197,76,42,126,101,252,156,41,127,89,236,250,214,58,171,111,203,95,23,88,71,74,140,25,68,108,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,83,85,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,89,0,0,2,0,0,0,30,89,0,0,4,0,0,0,42,89,0,0,8,0,0,0,54,89,0,0,16,0,0,0,67,89,0,0,32,0,0,0,77,89,0,0,64,0,0,0,88,89,0,0,128,0,0,0,100,89,0,0,0,1,0,0,113,89,0,0,0,2,0,0,125,89,0,0,0,4,0,0,138,89,0,0,0,8,0,0,148,89,0,0,0,16,0,0,159,89,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,108,17,0,0,164,28,0,0,24,29,0,0,120,32,0,0,184,48,0,0,0,0,0,0,191,140,0,0,0,1,0,0,0,0,0,0,2,0,0,0,1,0,0,0,83,96,0,0,150,96,0,0,156,96,0,0,224,96,0,0,35,97,0,0,102,97,0,0,169,97,0,0,174,97,0,0,192,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,185,97,0,0,236,97,0,0,31,98,0,0,82,98,0,0,133,98,0,0,184,98,0,0,235,98,0,0,240,98,0,0,224,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,251,98,0,0,54,99,0,0,113,99,0,0,172,99,0,0,231,99,0,0,34,100,0,0,235,98,0,0,93,100,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,104,100,0,0,171,100,0,0,238,100,0,0,49,101,0,0,116,101,0,0,183,101,0,0,235,98,0,0,250,101,0,0,128,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,5,102,0,0,104,102,0,0,203,102,0,0,46,103,0,0,145,103,0,0,244,103,0,0,235,98,0,0,87,104,0,0,9,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,98,104,0,0,233,104,0,0,112,105,0,0,246,105,0,0,124,106,0,0,3,107,0,0,235,98,0,0,138,107,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,107,0,0,197,107,0,0,240,107,0,0,27,108,0,0,70,108,0,0,113,108,0,0,235,98,0,0,156,108,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,108,0,0,223,108,0,0,18,109,0,0,69,109,0,0,120,109,0,0,171,109,0,0,235,98,0,0,222,109,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,109,0,0,41,110,0,0,100,110,0,0,159,110,0,0,218,110,0,0,21,111,0,0,235,98,0,0,80,111,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,111,0,0,163,111,0,0,230,111,0,0,41,112,0,0,108,112,0,0,175,112,0,0,235,98,0,0,242,112,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,113,0,0,85,113,0,0,168,113,0,0,251,113,0,0,78,114,0,0,161,114,0,0,235,98,0,0,244,114,0,0,128,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,115,0,0,103,115,0,0,202,115,0,0,45,116,0,0,144,116,0,0,243,116,0,0,235,98,0,0,86,117,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,117,0,0,233,117,0,0,108,118,0,0,239,118,0,0,114,119,0,0,245,119,0,0,235,98,0,0,120,120,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,134,120,0,0,201,120,0,0,12,121,0,0,79,121,0,0,146,121,0,0,213,121,0,0,235,98,0,0,24,122,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,122,0,0,112,122,0,0,179,122,0,0,246,122,0,0,57,123,0,0,124,123,0,0,235,98,0,0,191,123,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,212,123,0,0,23,124,0,0,90,124,0,0,157,124,0,0,57,123,0,0,224,124,0,0,235,98,0,0,35,125,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,125,0,0,123,125,0,0,190,125,0,0,1,126,0,0,68,126,0,0,135,126,0,0,235,98,0,0,202,126,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,126,0,0,201,120,0,0,91,127,0,0,222,127,0,0,97,128,0,0,228,128,0,0,235,98,0,0,103,129,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,129,0,0,250,129,0,0,125,130,0,0,0,131,0,0,131,131,0,0,6,132,0,0,235,98,0,0,137,132,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,132,0,0,28,133,0,0,159,133,0,0,34,134,0,0,165,134,0,0,40,135,0,0,235,98,0,0,171,135,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,135,0,0,68,126,0,0,201,120,0,0,248,135,0,0,59,136,0,0,126,136,0,0,235,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,191,140,0,0,193,136,0,0,174,97,0,0,216,136,0,0,174,97,0,0,236,136,0,0,174,97,0,0,247,136,0,0,174,97,0,0,1,137,0,0,240,98,0,0,10,137,0,0,240,98,0,0,20,137,0,0,240,98,0,0,33,137,0,0,93,100,0,0,42,137,0,0,93,100,0,0,62,137,0,0,93,100,0,0,73,137,0,0,93,100,0,0,83,137,0,0,250,101,0,0,92,137,0,0,250,101,0,0,102,137,0,0,250,101,0,0,115,137,0,0,87,104,0,0,124,137,0,0,87,104,0,0,134,137,0,0,87,104,0,0,147,137,0,0,138,107,0,0,156,137,0,0,156,108,0,0,177,137,0,0,222,109,0,0,198,137,0,0,80,111,0,0,219,137,0,0,242,112,0,0,240,137,0,0,244,114,0,0,5,138,0,0,86,117,0,0,27,138,0,0,120,120,0,0,49,138,0,0,24,122,0,0,66,138,0,0,191,123,0,0,83,138,0,0,35,125,0,0,100,138,0,0,24,122,0,0,117,138,0,0,35,125,0,0,141,138,0,0,24,122,0,0,165,138,0,0,35,125,0,0,182,138,0,0,103,129,0,0,199,138,0,0,137,132,0,0,219,138,0,0,171,135,0,0,239,138,0,0,0,0,0,0,0,0,0,0,251,141,0,0,9,142,0,0,38,142,0,0,163,14,1,9,139,198,219,191,69,105,15,58,126,158,109,15,139,190,162,163,158,97,72,0,143,208,94,68,43,142,0,0,57,142,0,0,66,142,0,0,137,111,177,18,138,187,223,25,104,50,16,124,212,157,243,63,71,180,177,22,153,18,186,79,83,104,75,34,87,142,0,0,102,142,0,0,153,142,0,0,127,179,203,53,136,198,193,246,255,169,105,77,125,106,210,100,147,101,176,193,246,93,105,209,236,131,51,234,174,142,0,0,189,142,0,0,240,142,0,0,108,17,80,104,116,1,60,172,106,42,188,27,179,130,98,124,236,106,144,216,110,252,1,45,231,175,236,90,10,143,0,0,26,143,0,0,81,143,0,0,149,233,160,219,150,32,149,173,174,190,155,45,111,13,188,226,212,153,241,18,242,210,183,39,63,166,135,14,213,143,0,0,230,143,0,0,81,143,0,0,58,133,65,102,172,93,159,2,63,84,213,23,208,179,157,189,148,103,112,219,156,43,149,201,246,245,101,209,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,141,0,0,9,142,0,0,38,142,0,0,91,220,193,70,191,96,117,78,106,4,36,38,8,149,117,199,90,0,63,8,157,39,57,131,157,236,88,185,100,236,56,67,43,142,0,0,57,142,0,0,66,142,0,0,176,52,76,97,216,219,56,83,92,168,175,206,175,11,241,43,136,29,194,0,201,131,61,167,38,233,55,108,46,50,207,247,87,142,0,0,102,142,0,0,153,142,0,0,119,62,169,30,54,128,14,70,133,77,184,235,208,145,129,167,41,89,9,139,62,248,193,34,217,99,85,20,206,213,101,254,174,142,0,0,189,142,0,0,240,142,0,0,130,85,138,56,154,68,60,14,164,204,129,152,153,242,8,58,133,240,250,163,229,120,248,7,122,46,63,244,103,41,102,91,10,143,0,0,26,143,0,0,81,143,0,0,96,228,49,89,30,224,182,127,13,138,38,170,203,245,183,127,142,11,198,33,55,40,197,20,5,70,4,15,14,227,127,84,213,143,0,0,230,143,0,0,81,143,0,0,155,9,255,167,27,148,47,203,39,99,95,188,213,176,233,68,191,220,99,100,79,7,19,147,138,127,81,83,92,58,53,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,141,0,0,9,142,0,0,38,142,0,0,175,69,210,227,118,72,64,49,97,127,120,210,181,138,107,27,156,126,244,100,245,160,27,71,228,46,195,115,99,34,68,94,142,34,64,202,94,105,226,199,139,50,57,236,250,178,22,73,43,142,0,0,57,142,0,0,66,142,0,0,175,208,57,68,216,72,149,98,107,8,37,244,171,70,144,127,21,249,218,219,228,16,30,198,130,170,3,76,124,235,197,156,250,234,158,169,7,110,222,127,74,241,82,232,178,250,156,182,87,142,0,0,102,142,0,0,153,142,0,0,136,6,38,8,211,230,173,138,10,162,172,224,20,200,168,111,10,166,53,217,71,172,159,235,232,62,244,229,89,102,20,75,42,90,179,157,193,56,20,185,78,58,182,225,1,163,79,39,174,142,0,0,189,142,0,0,240,142,0,0,62,138,105,183,120,60,37,133,25,51,171,98,144,175,108,167,122,153,129,72,8,80,0,156,197,87,124,110,31,87,59,78,104,1,221,35,196,167,214,121,204,248,163,134,198,116,207,251,10,143,0,0,26,143,0,0,81,143,0,0,78,206,8,68,133,129,62,144,136,210,198,58,4,27,197,180,79,158,241,1,42,43,88,143,60,209,31,5,3,58,196,198,12,46,246,171,64,48,254,130,150,36,141,241,99,244,73,82,213,143,0,0,230,143,0,0,81,143,0,0,102,23,23,142,148,31,2,13,53,30,47,37,78,143,211,44,96,36,32,254,176,184,251,154,220,206,187,130,70,30,153,197,166,120,204,49,231,153,23,109,56,96,230,17,12,70,82,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,141,0,0,9,142,0,0,38,142,0,0,22,75,122,123,252,248,25,226,227,149,251,231,59,86,224,163,135,189,100,34,46,131,31,214,16,39,12,215,234,37,5,84,151,88,191,117,192,90,153,74,109,3,79,101,248,240,230,253,202,234,177,163,77,74,107,75,99,110,7,10,56,188,231,55,43,142,0,0,57,142,0,0,66,142,0,0,135,170,124,222,165,239,97,157,79,240,180,36,26,29,108,176,35,121,244,226,206,78,194,120,122,208,179,5,69,225,124,222,218,168,51,183,214,184,167,2,3,139,39,78,174,163,244,228,190,157,145,78,235,97,241,112,46,105,108,32,58,18,104,84,87,142,0,0,102,142,0,0,153,142,0,0,250,115,176,8,157,86,162,132,239,176,240,117,108,137,11,233,177,181,219,221,142,232,26,54,85,248,62,51,178,39,157,57,191,62,132,130,121,167,34,200,6,180,133,164,126,103,200,7,185,70,163,55,190,232,148,38,116,39,136,89,225,50,146,251,174,142,0,0,189,142,0,0,240,142,0,0,176,186,70,86,55,69,140,105,144,229,168,197,246,29,74,247,229,118,217,127,249,75,135,45,231,111,128,80,54,30,227,219,169,28,165,193,26,162,94,180,214,121,39,92,197,120,128,99,165,241,151,65,18,12,79,45,226,173,235,235,16,162,152,221,10,143,0,0,26,143,0,0,81,143,0,0,128,178,66,99,199,193,163,235,183,20,147,193,221,123,232,180,155,70,209,244,27,74,238,193,18,27,1,55,131,248,243,82,107,86,208,55,224,95,37,152,189,15,210,33,93,106,30,82,149,230,79,115,246,63,10,236,139,145,90,152,93,120,101,152,213,143,0,0,230,143,0,0,81,143,0,0,227,123,106,119,93,200,125,186,164,223,169,249,110,94,63,253,222,189,113,248,134,114,137,134,93,245,163,45,32,205,201,68,182,2,44,172,60,73,130,177,13,94,235,85,195,228,222,21,19,70,118,251,109,224,68,96,101,201,116,64,250,140,106,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,30,0,0,184,31,0,0,124,30,0,0,248,31,0,0,56,32,0,0,140,29,0,0,0,0,0,0,156,2,0,0,206,147,0,0,2,0,0,0,211,147,0,0,1,0,0,0,215,147,0,0,8,0,0,0,222,147,0,0,3,0,0,0,232,147,0,0,3,0,0,0,239,147,0,0,9,0,0,0,246,147,0,0,10,0,0,0,253,147,0,0,11,0,0,0,4,148,0,0,5,0,0,0,8,148,0,0,45,1,0,0,12,148,0,0,6,0,0,0,18,148,0,0,7,0,0,0,0,0,0,0,0,0,0,0,36,50,0,0,204,29,0,0,0,0,0,0,7,0,0,0,2,0,0,0,168,148,0,0,172,17,0,0,188,17,0,0,16,0,0,0,128,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,172,148,0,0,181,148,0,0,188,148,0,0,0,0,0,0,196,148,0,0,1,0,0,0,219,148,0,0,3,0,0,0,242,148,0,0,5,0,0,0,9,149,0,0,2,0,0,0,0,0,0,0,0,0,0,0,198,99,99,165,248,124,124,132,238,119,119,153,246,123,123,141,255,242,242,13,214,107,107,189,222,111,111,177,145,197,197,84,96,48,48,80,2,1,1,3,206,103,103,169,86,43,43,125,231,254,254,25,181,215,215,98,77,171,171,230,236,118,118,154,143,202,202,69,31,130,130,157,137,201,201,64,250,125,125,135,239,250,250,21,178,89,89,235,142,71,71,201,251,240,240,11,65,173,173,236,179,212,212,103,95,162,162,253,69,175,175,234,35,156,156,191,83,164,164,247,228,114,114,150,155,192,192,91,117,183,183,194,225,253,253,28,61,147,147,174,76,38,38,106,108,54,54,90,126,63,63,65,245,247,247,2,131,204,204,79,104,52,52,92,81,165,165,244,209,229,229,52,249,241,241,8,226,113,113,147,171,216,216,115,98,49,49,83,42,21,21,63,8,4,4,12,149,199,199,82,70,35,35,101,157,195,195,94,48,24,24,40,55,150,150,161,10,5,5,15,47,154,154,181,14,7,7,9,36,18,18,54,27,128,128,155,223,226,226,61,205,235,235,38,78,39,39,105,127,178,178,205,234,117,117,159,18,9,9,27,29,131,131,158,88,44,44,116,52,26,26,46,54,27,27,45,220,110,110,178,180,90,90,238,91,160,160,251,164,82,82,246,118,59,59,77,183,214,214,97,125,179,179,206,82,41,41,123,221,227,227,62,94,47,47,113,19,132,132,151,166,83,83,245,185,209,209,104,0,0,0,0,193,237,237,44,64,32,32,96,227,252,252,31,121,177,177,200,182,91,91,237,212,106,106,190,141,203,203,70,103,190,190,217,114,57,57,75,148,74,74,222,152,76,76,212,176,88,88,232,133,207,207,74,187,208,208,107,197,239,239,42,79,170,170,229,237,251,251,22,134,67,67,197,154,77,77,215,102,51,51,85,17,133,133,148,138,69,69,207,233,249,249,16,4,2,2,6,254,127,127,129,160,80,80,240,120,60,60,68,37,159,159,186,75,168,168,227,162,81,81,243,93,163,163,254,128,64,64,192,5,143,143,138,63,146,146,173,33,157,157,188,112,56,56,72,241,245,245,4,99,188,188,223,119,182,182,193,175,218,218,117,66,33,33,99,32,16,16,48,229,255,255,26,253,243,243,14,191,210,210,109,129,205,205,76,24,12,12,20,38,19,19,53,195,236,236,47,190,95,95,225,53,151,151,162,136,68,68,204,46,23,23,57,147,196,196,87,85,167,167,242,252,126,126,130,122,61,61,71,200,100,100,172,186,93,93,231,50,25,25,43,230,115,115,149,192,96,96,160,25,129,129,152,158,79,79,209,163,220,220,127,68,34,34,102,84,42,42,126,59,144,144,171,11,136,136,131,140,70,70,202,199,238,238,41,107,184,184,211,40,20,20,60,167,222,222,121,188,94,94,226,22,11,11,29,173,219,219,118,219,224,224,59,100,50,50,86,116,58,58,78,20,10,10,30,146,73,73,219,12,6,6,10,72,36,36,108,184,92,92,228,159,194,194,93,189,211,211,110,67,172,172,239,196,98,98,166,57,145,145,168,49,149,149,164,211,228,228,55,242,121,121,139,213,231,231,50,139,200,200,67,110,55,55,89,218,109,109,183,1,141,141,140,177,213,213,100,156,78,78,210,73,169,169,224,216,108,108,180,172,86,86,250,243,244,244,7,207,234,234,37,202,101,101,175,244,122,122,142,71,174,174,233,16,8,8,24,111,186,186,213,240,120,120,136,74,37,37,111,92,46,46,114,56,28,28,36,87,166,166,241,115,180,180,199,151,198,198,81,203,232,232,35,161,221,221,124,232,116,116,156,62,31,31,33,150,75,75,221,97,189,189,220,13,139,139,134,15,138,138,133,224,112,112,144,124,62,62,66,113,181,181,196,204,102,102,170,144,72,72,216,6,3,3,5,247,246,246,1,28,14,14,18,194,97,97,163,106,53,53,95,174,87,87,249,105,185,185,208,23,134,134,145,153,193,193,88,58,29,29,39,39,158,158,185,217,225,225,56,235,248,248,19,43,152,152,179,34,17,17,51,210,105,105,187,169,217,217,112,7,142,142,137,51,148,148,167,45,155,155,182,60,30,30,34,21,135,135,146,201,233,233,32,135,206,206,73,170,85,85,255,80,40,40,120,165,223,223,122,3,140,140,143,89,161,161,248,9,137,137,128,26,13,13,23,101,191,191,218,215,230,230,49,132,66,66,198,208,104,104,184,130,65,65,195,41,153,153,176,90,45,45,119,30,15,15,17,123,176,176,203,168,84,84,252,109,187,187,214,44,22,22,58,81,244,167,80,126,65,101,83,26,23,164,195,58,39,94,150,59,171,107,203,31,157,69,241,172,250,88,171,75,227,3,147,32,48,250,85,173,118,109,246,136,204,118,145,245,2,76,37,79,229,215,252,197,42,203,215,38,53,68,128,181,98,163,143,222,177,90,73,37,186,27,103,69,234,14,152,93,254,192,225,195,47,117,2,129,76,240,18,141,70,151,163,107,211,249,198,3,143,95,231,21,146,156,149,191,109,122,235,149,82,89,218,212,190,131,45,88,116,33,211,73,224,105,41,142,201,200,68,117,194,137,106,244,142,121,120,153,88,62,107,39,185,113,221,190,225,79,182,240,136,173,23,201,32,172,102,125,206,58,180,99,223,74,24,229,26,49,130,151,81,51,96,98,83,127,69,177,100,119,224,187,107,174,132,254,129,160,28,249,8,43,148,112,72,104,88,143,69,253,25,148,222,108,135,82,123,248,183,171,115,211,35,114,75,2,226,227,31,143,87,102,85,171,42,178,235,40,7,47,181,194,3,134,197,123,154,211,55,8,165,48,40,135,242,35,191,165,178,2,3,106,186,237,22,130,92,138,207,28,43,167,121,180,146,243,7,242,240,78,105,226,161,101,218,244,205,6,5,190,213,209,52,98,31,196,166,254,138,52,46,83,157,162,243,85,160,5,138,225,50,164,246,235,117,11,131,236,57,64,96,239,170,94,113,159,6,189,110,16,81,62,33,138,249,150,221,6,61,221,62,5,174,77,230,189,70,145,84,141,181,113,196,93,5,4,6,212,111,96,80,21,255,25,152,251,36,214,189,233,151,137,64,67,204,103,217,158,119,176,232,66,189,7,137,139,136,231,25,91,56,121,200,238,219,161,124,10,71,124,66,15,233,248,132,30,201,0,0,0,0,9,128,134,131,50,43,237,72,30,17,112,172,108,90,114,78,253,14,255,251,15,133,56,86,61,174,213,30,54,45,57,39,10,15,217,100,104,92,166,33,155,91,84,209,36,54,46,58,12,10,103,177,147,87,231,15,180,238,150,210,27,155,145,158,128,192,197,79,97,220,32,162,90,119,75,105,28,18,26,22,226,147,186,10,192,160,42,229,60,34,224,67,18,27,23,29,14,9,13,11,242,139,199,173,45,182,168,185,20,30,169,200,87,241,25,133,175,117,7,76,238,153,221,187,163,127,96,253,247,1,38,159,92,114,245,188,68,102,59,197,91,251,126,52,139,67,41,118,203,35,198,220,182,237,252,104,184,228,241,99,215,49,220,202,66,99,133,16,19,151,34,64,132,198,17,32,133,74,36,125,210,187,61,248,174,249,50,17,199,41,161,109,29,158,47,75,220,178,48,243,13,134,82,236,119,193,227,208,43,179,22,108,169,112,185,153,17,148,72,250,71,233,100,34,168,252,140,196,160,240,63,26,86,125,44,216,34,51,144,239,135,73,78,199,217,56,209,193,140,202,162,254,152,212,11,54,166,245,129,207,165,122,222,40,218,183,142,38,63,173,191,164,44,58,157,228,80,120,146,13,106,95,204,155,84,126,70,98,246,141,19,194,144,216,184,232,46,57,247,94,130,195,175,245,159,93,128,190,105,208,147,124,111,213,45,169,207,37,18,179,200,172,153,59,16,24,125,167,232,156,99,110,219,59,187,123,205,38,120,9,110,89,24,244,236,154,183,1,131,79,154,168,230,149,110,101,170,255,230,126,33,188,207,8,239,21,232,230,186,231,155,217,74,111,54,206,234,159,9,212,41,176,124,214,49,164,178,175,42,63,35,49,198,165,148,48,53,162,102,192,116,78,188,55,252,130,202,166,224,144,208,176,51,167,216,21,241,4,152,74,65,236,218,247,127,205,80,14,23,145,246,47,118,77,214,141,67,239,176,77,204,170,77,84,228,150,4,223,158,209,181,227,76,106,136,27,193,44,31,184,70,101,81,127,157,94,234,4,1,140,53,93,250,135,116,115,251,11,65,46,179,103,29,90,146,219,210,82,233,16,86,51,109,214,71,19,154,215,97,140,55,161,12,122,89,248,20,142,235,19,60,137,206,169,39,238,183,97,201,53,225,28,229,237,122,71,177,60,156,210,223,89,85,242,115,63,24,20,206,121,115,199,55,191,83,247,205,234,95,253,170,91,223,61,111,20,120,68,219,134,202,175,243,129,185,104,196,62,56,36,52,44,194,163,64,95,22,29,195,114,188,226,37,12,40,60,73,139,255,13,149,65,57,168,1,113,8,12,179,222,216,180,228,156,100,86,193,144,123,203,132,97,213,50,182,112,72,108,92,116,208,184,87,66,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,108,0,0,0,216,0,0,0,171,0,0,0,77,0,0,0,154,0,0,0,47,0,0,0,94,0,0,0,188,0,0,0,99,0,0,0,198,0,0,0,151,0,0,0,53,0,0,0,106,0,0,0,212,0,0,0,179,0,0,0,125,0,0,0,250,0,0,0,239,0,0,0,197,0,0,0,145,0,0,0,2,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,200,166,69,55,160,179,169,63,205,227,205,173,159,28,229,139,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,38,117,31,103,163,203,177,64,177,128,140,241,135,164,244,223,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,192,75,5,53,124,93,28,14,234,196,198,111,159,247,242,230,5,0,0,0,43,126,21,22,40,174,210,166,171,247,21,136,9,207,79,60,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,107,193,190,226,46,64,159,150,233,61,126,17,115,147,23,42,59,63,217,46,183,45,173,32,51,52,73,248,232,60,251,74,174,45,138,87,30,3,172,156,158,183,111,172,69,175,142,81,119,137,80,141,22,145,143,3,245,60,82,218,197,78,216,37,48,200,28,70,163,92,228,17,229,251,193,25,26,10,82,239,151,64,5,30,156,95,236,246,67,68,247,168,34,96,237,204,246,159,36,69,223,79,155,23,173,43,65,123,230,108,55,16,48,76,101,40,246,89,199,120,102,165,16,217,193,214,174,94,8,0,0,0,2,0,0,0,8,151,0,0,228,28,0,0,240,28,0,0,16,0,0,0,192,0,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,15,151,0,0,27,151,0,0,0,0,0,0,35,151,0,0,1,0,0,0,59,151,0,0,3,0,0,0,83,151,0,0,5,0,0,0,107,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,131,151,0,0,88,29,0,0,100,29,0,0,16,0,0,0,0,1,0,0,248,1,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,138,151,0,0,150,151,0,0,0,0,0,0,158,151,0,0,1,0,0,0,182,151,0,0,3,0,0,0,206,151,0,0,5,0,0,0,230,151,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,254,151,0,0,8,152,0,0,15,0,0,0,192,29,0,0,20,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,184,0,0,0,0,0,0,0,23,152,0,0,38,152,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,170,153,0,0,32,30,0,0,215,153,0,0,218,153,0,0,225,153,0,0,227,153,0,0,229,153,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,174,153,0,0,178,153,0,0,190,153,0,0,0,0,0,0,2,0,0,0,2,0,0,0,45,165,0,0,50,165,0,0,15,0,0,0,100,30,0,0,20,0,0,0,18,0,0,0,6,0,0,0,19,0,0,0,20,0,0,0,184,0,0,0,21,0,0,0,65,165,0,0,86,165,0,0,104,165,0,0,118,165,0,0,132,165,0,0,0,0,0,0,11,0,0,0,2,0,0,0,213,165,0,0,220,165,0,0,19,0,0,0,176,30,0,0,28,0,0,0,22,0,0,0,6,0,0,0,23,0,0,0,24,0,0,0,192,0,0,0,25,0,0,0,239,165,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,8,0,0,0,2,0,0,0,249,166,0,0,0,167,0,0,19,0,0,0,236,31,0,0,32,0,0,0,26,0,0,0,6,0,0,0,23,0,0,0,24,0,0,0,192,0,0,0,25,0,0,0,19,167,0,0,42,167,0,0,0,0,0,0,10,0,0,0,2,0,0,0,64,167,0,0,71,167,0,0,19,0,0,0,44,32,0,0,64,0,0,0,27,0,0,0,6,0,0,0,28,0,0,0,29,0,0,0,224,0,0,0,30,0,0,0,90,167,0,0,113,167,0,0,0,0,0,0,9,0,0,0,2,0,0,0,130,169,0,0,137,169,0,0,19,0,0,0,108,32,0,0,48,0,0,0,31,0,0,0,6,0,0,0,28,0,0,0,29,0,0,0,224,0,0,0,30,0,0,0,156,169,0,0,179,169,0,0,0,0,0,0,10,0,0,0,0,0,0,0,201,169,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,1,0,0,160,16,0,0,32,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,50,188,188,243,33,236,236,198,67,32,32,244,201,179,179,219,3,218,218,123,139,2,2,251,43,226,226,200,250,158,158,74,236,201,201,211,9,212,212,230,107,24,24,107,159,30,30,69,14,152,152,125,56,178,178,232,210,166,166,75,183,38,38,214,87,60,60,50,138,147,147,216,238,130,130,253,152,82,82,55,212,123,123,113,55,187,187,241,151,91,91,225,131,71,71,48,60,36,36,15,226,81,81,248,198,186,186,27,243,74,74,135,72,191,191,250,112,13,13,6,179,176,176,63,222,117,117,94,253,210,210,186,32,125,125,174,49,102,102,91,163,58,58,138,28,89,89,0,0,0,0,188,147,205,205,157,224,26,26,109,44,174,174,193,171,127,127,177,199,43,43,14,185,190,190,128,160,224,224,93,16,138,138,210,82,59,59,213,186,100,100,160,136,216,216,132,165,231,231,7,232,95,95,20,17,27,27,181,194,44,44,144,180,252,252,44,39,49,49,163,101,128,128,178,42,115,115,115,129,12,12,76,95,121,121,84,65,107,107,146,2,75,75,116,105,83,83,54,143,148,148,81,31,131,131,56,54,42,42,176,156,196,196,189,200,34,34,90,248,213,213,252,195,189,189,96,120,72,72,98,206,255,255,150,7,76,76,108,119,65,65,66,230,199,199,247,36,235,235,16,20,28,28,124,99,93,93,40,34,54,54,39,192,103,103,140,175,233,233,19,249,68,68,149,234,20,20,156,187,245,245,199,24,207,207,36,45,63,63,70,227,192,192,59,219,114,114,112,108,84,84,202,76,41,41,227,53,240,240,133,254,8,8,203,23,198,198,17,79,243,243,208,228,140,140,147,89,164,164,184,150,202,202,166,59,104,104,131,77,184,184,32,40,56,56,255,46,229,229,159,86,173,173,119,132,11,11,195,29,200,200,204,255,153,153,3,237,88,88,111,154,25,25,8,10,14,14,191,126,149,149,64,80,112,112,231,48,247,247,43,207,110,110,226,110,31,31,121,61,181,181,12,15,9,9,170,52,97,97,130,22,87,87,65,11,159,159,58,128,157,157,234,100,17,17,185,205,37,37,228,221,175,175,154,8,69,69,164,141,223,223,151,92,163,163,126,213,234,234,218,88,53,53,122,208,237,237,23,252,67,67,102,203,248,248,148,177,251,251,161,211,55,55,29,64,250,250,61,104,194,194,240,204,180,180,222,93,50,50,179,113,156,156,11,231,86,86,114,218,227,227,167,96,135,135,28,27,21,21,239,58,249,249,209,191,99,99,83,169,52,52,62,133,154,154,143,66,177,177,51,209,124,124,38,155,136,136,95,166,61,61,236,215,161,161,118,223,228,228,42,148,129,129,73,1,145,145,129,251,15,15,136,170,238,238,238,97,22,22,33,115,215,215,196,245,151,151,26,168,165,165,235,63,254,254,217,181,109,109,197,174,120,120,57,109,197,197,153,229,29,29,205,164,118,118,173,220,62,62,49,103,203,203,139,71,182,182,1,91,239,239,24,30,18,18,35,197,96,96,221,176,106,106,31,246,77,77,78,233,206,206,45,124,222,222,249,157,85,85,72,90,126,126,79,178,33,33,242,122,3,3,101,38,160,160,142,25,94,94,120,102,90,90,92,75,101,101,88,78,98,98,25,69,253,253,141,244,6,6,229,134,64,64,152,190,242,242,87,172,51,51,103,144,23,23,127,142,5,5,5,94,232,232,100,125,79,79,175,106,137,137,99,149,16,16,182,47,116,116,254,117,10,10,245,146,92,92,183,116,155,155,60,51,45,45,165,214,48,48,206,73,46,46,233,137,73,73,104,114,70,70,68,85,119,119,224,216,168,168,77,4,150,150,67,189,40,40,105,41,169,169,41,121,217,217,46,145,134,134,172,135,209,209,21,74,244,244,89,21,141,141,168,130,214,214,10,188,185,185,158,13,66,66,110,193,246,246,71,184,47,47,223,6,221,221,52,57,35,35,53,98,204,204,106,196,241,241,207,18,193,193,220,235,133,133,34,158,143,143,201,161,113,113,192,240,144,144,155,83,170,170,137,241,1,1,212,225,139,139,237,140,78,78,171,111,142,142,18,162,171,171,162,62,111,111,13,84,230,230,82,242,219,219,187,123,146,146,2,182,183,183,47,202,105,105,169,217,57,57,215,12,211,211,97,35,167,167,30,173,162,162,180,153,195,195,80,68,108,108,4,5,7,7,246,127,4,4,194,70,39,39,22,167,172,172,37,118,208,208,134,19,80,80,86,247,220,220,85,26,132,132,9,81,225,225,190,37,122,122,145,239,19,19,57,57,217,169,23,23,144,103,156,156,113,179,166,166,210,232,7,7,5,4,82,82,152,253,128,128,101,163,228,228,223,118,69,69,8,154,75,75,2,146,224,224,160,128,90,90,102,120,175,175,221,228,106,106,176,221,99,99,191,209,42,42,54,56,230,230,84,13,32,32,67,198,204,204,98,53,242,242,190,152,18,18,30,24,235,235,36,247,161,161,215,236,65,65,119,108,40,40,189,67,188,188,50,117,123,123,212,55,136,136,155,38,13,13,112,250,68,68,249,19,251,251,177,148,126,126,90,72,3,3,122,242,140,140,228,208,182,182,71,139,36,36,60,48,231,231,165,132,107,107,65,84,221,221,6,223,96,96,197,35,253,253,69,25,58,58,163,91,194,194,104,61,141,141,21,89,236,236,33,243,102,102,49,174,111,111,62,162,87,87,22,130,16,16,149,99,239,239,91,1,184,184,77,131,134,134,145,46,109,109,181,217,131,131,31,81,170,170,83,155,93,93,99,124,104,104,59,166,254,254,63,235,48,48,214,165,122,122,37,190,172,172,167,22,9,9,15,12,240,240,53,227,167,167,35,97,144,144,240,192,233,233,175,140,157,157,128,58,92,92,146,245,12,12,129,115,49,49,39,44,208,208,118,37,86,86,231,11,146,146,123,187,206,206,233,78,1,1,241,137,30,30,159,107,52,52,169,83,241,241,196,106,195,195,153,180,91,91,151,241,71,71,131,225,24,24,107,230,34,34,200,189,152,152,14,69,31,31,110,226,179,179,201,244,116,116,47,182,248,248,203,102,153,153,255,204,20,20,234,149,88,88,237,3,220,220,247,86,139,139,225,212,21,21,27,28,162,162,173,30,211,211,12,215,226,226,43,251,200,200,29,195,94,94,25,142,44,44,194,181,73,73,137,233,193,193,18,207,149,149,126,191,125,125,32,186,17,17,100,234,11,11,132,119,197,197,109,57,137,137,106,175,124,124,209,51,113,113,161,201,255,255,206,98,187,187,55,113,15,15,251,129,181,181,61,121,225,225,81,9,62,62,220,173,63,63,45,36,118,118,164,205,85,85,157,249,130,130,238,216,64,64,134,229,120,120,174,197,37,37,205,185,150,150,4,77,119,119,85,68,14,14,10,8,80,80,19,134,247,247,48,231,55,55,211,161,250,250,64,29,97,97,52,170,78,78,140,237,176,176,179,6,84,84,108,112,115,115,42,178,59,59,82,210,159,159,11,65,2,2,139,123,216,216,136,160,243,243,79,17,203,203,103,49,39,39,70,194,103,103,192,39,252,252,180,144,56,56,40,32,4,4,127,246,72,72,120,96,229,229,46,255,76,76,7,150,101,101,75,92,43,43,199,177,142,142,111,171,66,66,13,158,245,245,187,156,219,219,242,82,74,74,243,27,61,61,166,95,164,164,89,147,185,185,188,10,249,249,58,239,19,19,239,145,8,8,254,133,145,145,1,73,22,22,97,238,222,222,124,45,33,33,178,79,177,177,66,143,114,114,219,59,47,47,184,71,191,191,72,135,174,174,44,109,192,192,227,70,60,60,87,214,154,154,133,62,169,169,41,105,79,79,125,100,129,129,148,42,46,46,73,206,198,198,23,203,105,105,202,47,189,189,195,252,163,163,92,151,232,232,94,5,237,237,208,122,209,209,135,172,5,5,142,127,100,100,186,213,165,165,168,26,38,38,183,75,190,190,185,14,135,135,96,167,213,213,248,90,54,54,34,40,27,27,17,20,117,117,222,63,217,217,121,41,238,238,170,136,45,45,51,60,121,121,95,76,183,183,182,2,202,202,150,184,53,53,88,218,196,196,156,176,67,67,252,23,132,132,26,85,77,77,246,31,89,89,28,138,178,178,56,125,51,51,172,87,207,207,24,199,6,6,244,141,83,83,105,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
+/* memory initializer */ allocate([155,155,116,183,151,151,245,196,173,173,86,159,227,227,218,114,234,234,213,126,244,244,74,21,143,143,158,34,171,171,162,18,98,98,78,88,95,95,232,7,29,29,229,153,35,35,57,52,246,246,193,110,108,108,68,80,50,50,93,222,70,70,114,104,160,160,38,101,205,205,147,188,218,218,3,219,186,186,198,248,158,158,250,200,214,214,130,168,110,110,207,43,112,112,80,64,133,133,235,220,10,10,117,254,147,147,138,50,223,223,141,164,41,41,76,202,28,28,20,16,215,215,115,33,180,180,204,240,212,212,9,211,138,138,16,93,81,81,226,15,0,0,0,0,25,25,154,111,26,26,224,157,148,148,143,54,199,199,230,66,201,201,236,74,210,210,253,94,127,127,171,193,168,168,216,224,50,188,117,188,33,236,243,236,67,32,198,32,201,179,244,179,3,218,219,218,139,2,123,2,43,226,251,226,250,158,200,158,236,201,74,201,9,212,211,212,107,24,230,24,159,30,107,30,14,152,69,152,56,178,125,178,210,166,232,166,183,38,75,38,87,60,214,60,138,147,50,147,238,130,216,130,152,82,253,82,212,123,55,123,55,187,113,187,151,91,241,91,131,71,225,71,60,36,48,36,226,81,15,81,198,186,248,186,243,74,27,74,72,191,135,191,112,13,250,13,179,176,6,176,222,117,63,117,253,210,94,210,32,125,186,125,49,102,174,102,163,58,91,58,28,89,138,89,0,0,0,0,147,205,188,205,224,26,157,26,44,174,109,174,171,127,193,127,199,43,177,43,185,190,14,190,160,224,128,224,16,138,93,138,82,59,210,59,186,100,213,100,136,216,160,216,165,231,132,231,232,95,7,95,17,27,20,27,194,44,181,44,180,252,144,252,39,49,44,49,101,128,163,128,42,115,178,115,129,12,115,12,95,121,76,121,65,107,84,107,2,75,146,75,105,83,116,83,143,148,54,148,31,131,81,131,54,42,56,42,156,196,176,196,200,34,189,34,248,213,90,213,195,189,252,189,120,72,96,72,206,255,98,255,7,76,150,76,119,65,108,65,230,199,66,199,36,235,247,235,20,28,16,28,99,93,124,93,34,54,40,54,192,103,39,103,175,233,140,233,249,68,19,68,234,20,149,20,187,245,156,245,24,207,199,207,45,63,36,63,227,192,70,192,219,114,59,114,108,84,112,84,76,41,202,41,53,240,227,240,254,8,133,8,23,198,203,198,79,243,17,243,228,140,208,140,89,164,147,164,150,202,184,202,59,104,166,104,77,184,131,184,40,56,32,56,46,229,255,229,86,173,159,173,132,11,119,11,29,200,195,200,255,153,204,153,237,88,3,88,154,25,111,25,10,14,8,14,126,149,191,149,80,112,64,112,48,247,231,247,207,110,43,110,110,31,226,31,61,181,121,181,15,9,12,9,52,97,170,97,22,87,130,87,11,159,65,159,128,157,58,157,100,17,234,17,205,37,185,37,221,175,228,175,8,69,154,69,141,223,164,223,92,163,151,163,213,234,126,234,88,53,218,53,208,237,122,237,252,67,23,67,203,248,102,248,177,251,148,251,211,55,161,55,64,250,29,250,104,194,61,194,204,180,240,180,93,50,222,50,113,156,179,156,231,86,11,86,218,227,114,227,96,135,167,135,27,21,28,21,58,249,239,249,191,99,209,99,169,52,83,52,133,154,62,154,66,177,143,177,209,124,51,124,155,136,38,136,166,61,95,61,215,161,236,161,223,228,118,228,148,129,42,129,1,145,73,145,251,15,129,15,170,238,136,238,97,22,238,22,115,215,33,215,245,151,196,151,168,165,26,165,63,254,235,254,181,109,217,109,174,120,197,120,109,197,57,197,229,29,153,29,164,118,205,118,220,62,173,62,103,203,49,203,71,182,139,182,91,239,1,239,30,18,24,18,197,96,35,96,176,106,221,106,246,77,31,77,233,206,78,206,124,222,45,222,157,85,249,85,90,126,72,126,178,33,79,33,122,3,242,3,38,160,101,160,25,94,142,94,102,90,120,90,75,101,92,101,78,98,88,98,69,253,25,253,244,6,141,6,134,64,229,64,190,242,152,242,172,51,87,51,144,23,103,23,142,5,127,5,94,232,5,232,125,79,100,79,106,137,175,137,149,16,99,16,47,116,182,116,117,10,254,10,146,92,245,92,116,155,183,155,51,45,60,45,214,48,165,48,73,46,206,46,137,73,233,73,114,70,104,70,85,119,68,119,216,168,224,168,4,150,77,150,189,40,67,40,41,169,105,169,121,217,41,217,145,134,46,134,135,209,172,209,74,244,21,244,21,141,89,141,130,214,168,214,188,185,10,185,13,66,158,66,193,246,110,246,184,47,71,47,6,221,223,221,57,35,52,35,98,204,53,204,196,241,106,241,18,193,207,193,235,133,220,133,158,143,34,143,161,113,201,113,240,144,192,144,83,170,155,170,241,1,137,1,225,139,212,139,140,78,237,78,111,142,171,142,162,171,18,171,62,111,162,111,84,230,13,230,242,219,82,219,123,146,187,146,182,183,2,183,202,105,47,105,217,57,169,57,12,211,215,211,35,167,97,167,173,162,30,162,153,195,180,195,68,108,80,108,5,7,4,7,127,4,246,4,70,39,194,39,167,172,22,172,118,208,37,208,19,80,134,80,247,220,86,220,26,132,85,132,81,225,9,225,37,122,190,122,239,19,145,19,217,169,57,217,144,103,23,144,113,179,156,113,210,232,166,210,5,4,7,5,152,253,82,152,101,163,128,101,223,118,228,223,8,154,69,8,2,146,75,2,160,128,224,160,102,120,90,102,221,228,175,221,176,221,106,176,191,209,99,191,54,56,42,54,84,13,230,84,67,198,32,67,98,53,204,98,190,152,242,190,30,24,18,30,36,247,235,36,215,236,161,215,119,108,65,119,189,67,40,189,50,117,188,50,212,55,123,212,155,38,136,155,112,250,13,112,249,19,68,249,177,148,251,177,90,72,126,90,122,242,3,122,228,208,140,228,71,139,182,71,60,48,36,60,165,132,231,165,65,84,107,65,6,223,221,6,197,35,96,197,69,25,253,69,163,91,58,163,104,61,194,104,21,89,141,21,33,243,236,33,49,174,102,49,62,162,111,62,22,130,87,22,149,99,16,149,91,1,239,91,77,131,184,77,145,46,134,145,181,217,109,181,31,81,131,31,83,155,170,83,99,124,93,99,59,166,104,59,63,235,254,63,214,165,48,214,37,190,122,37,167,22,172,167,15,12,9,15,53,227,240,53,35,97,167,35,240,192,144,240,175,140,233,175,128,58,157,128,146,245,92,146,129,115,12,129,39,44,49,39,118,37,208,118,231,11,86,231,123,187,146,123,233,78,206,233,241,137,1,241,159,107,30,159,169,83,52,169,196,106,241,196,153,180,195,153,151,241,91,151,131,225,71,131,107,230,24,107,200,189,34,200,14,69,152,14,110,226,31,110,201,244,179,201,47,182,116,47,203,102,248,203,255,204,153,255,234,149,20,234,237,3,88,237,247,86,220,247,225,212,139,225,27,28,21,27,173,30,162,173,12,215,211,12,43,251,226,43,29,195,200,29,25,142,94,25,194,181,44,194,137,233,73,137,18,207,193,18,126,191,149,126,32,186,125,32,100,234,17,100,132,119,11,132,109,57,197,109,106,175,137,106,209,51,124,209,161,201,113,161,206,98,255,206,55,113,187,55,251,129,15,251,61,121,181,61,81,9,225,81,220,173,62,220,45,36,63,45,164,205,118,164,157,249,85,157,238,216,130,238,134,229,64,134,174,197,120,174,205,185,37,205,4,77,150,4,85,68,119,85,10,8,14,10,19,134,80,19,48,231,247,48,211,161,55,211,64,29,250,64,52,170,97,52,140,237,78,140,179,6,176,179,108,112,84,108,42,178,115,42,82,210,59,82,11,65,159,11,139,123,2,139,136,160,216,136,79,17,243,79,103,49,203,103,70,194,39,70,192,39,103,192,180,144,252,180,40,32,56,40,127,246,4,127,120,96,72,120,46,255,229,46,7,150,76,7,75,92,101,75,199,177,43,199,111,171,142,111,13,158,66,13,187,156,245,187,242,82,219,242,243,27,74,243,166,95,61,166,89,147,164,89,188,10,185,188,58,239,249,58,239,145,19,239,254,133,8,254,1,73,145,1,97,238,22,97,124,45,222,124,178,79,33,178,66,143,177,66,219,59,114,219,184,71,47,184,72,135,191,72,44,109,174,44,227,70,192,227,87,214,60,87,133,62,154,133,41,105,169,41,125,100,79,125,148,42,129,148,73,206,46,73,23,203,198,23,202,47,105,202,195,252,189,195,92,151,163,92,94,5,232,94,208,122,237,208,135,172,209,135,142,127,5,142,186,213,100,186,168,26,165,168,183,75,38,183,185,14,190,185,96,167,135,96,248,90,213,248,34,40,54,34,17,20,27,17,222,63,117,222,121,41,217,121,170,136,238,170,51,60,45,51,95,76,121,95,182,2,183,182,150,184,202,150,88,218,53,88,156,176,196,156,252,23,67,252,26,85,132,26,246,31,77,246,28,138,89,28,56,125,178,56,172,87,51,172,24,199,207,24,244,141,6,244,105,116,83,105,116,183,155,116,245,196,151,245,86,159,173,86,218,114,227,218,213,126,234,213,74,21,244,74,158,34,143,158,162,18,171,162,78,88,98,78,232,7,95,232,229,153,29,229,57,52,35,57,193,110,246,193,68,80,108,68,93,222,50,93,114,104,70,114,38,101,160,38,147,188,205,147,3,219,218,3,198,248,186,198,250,200,158,250,130,168,214,130,207,43,110,207,80,64,112,80,235,220,133,235,117,254,10,117,138,50,147,138,141,164,223,141,76,202,41,76,20,16,28,20,115,33,215,115,204,240,180,204,9,211,212,9,16,93,138,16,226,15,81,226,0,0,0,0,154,111,25,154,224,157,26,224,143,54,148,143,230,66,199,230,236,74,201,236,253,94,210,253,171,193,127,171,216,224,168,216,47,1,0,0,0,0,0,0,192,177,0,0,0,0,0,0,0,0,0,0,16,0,0,0,128,0,0,0,160,16,0,0,32,0,0,0,33,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,47,138,66,145,68,55,113,207,251,192,181,165,219,181,233,91,194,86,57,241,17,241,89,164,130,63,146,213,94,28,171,152,170,7,216,1,91,131,18,190,133,49,36,195,125,12,85,116,93,190,114,254,177,222,128,167,6,220,155,116,241,155,193,193,105,155,228,134,71,190,239,198,157,193,15,204,161,12,36,111,44,233,45,170,132,116,74,220,169,176,92,218,136,249,118,82,81,62,152,109,198,49,168,200,39,3,176,199,127,89,191,243,11,224,198,71,145,167,213,81,99,202,6,103,41,41,20,133,10,183,39,56,33,27,46,252,109,44,77,19,13,56,83,84,115,10,101,187,10,106,118,46,201,194,129,133,44,114,146,161,232,191,162,75,102,26,168,112,139,75,194,163,81,108,199,25,232,146,209,36,6,153,214,133,53,14,244,112,160,106,16,22,193,164,25,8,108,55,30,76,119,72,39,181,188,176,52,179,12,28,57,74,170,216,78,79,202,156,91,243,111,46,104,238,130,143,116,111,99,165,120,20,120,200,132,8,2,199,140,250,255,190,144,235,108,80,164,247,163,249,190,242,120,113,198,18,0,0,0,0,0,0,0,3,0,0,0,27,184,0,0,120,50,0,0,57,184,0,0,65,184,0,0,74,184,0,0,77,184,0,0,57,184,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,31,184,0,0,35,184,0,0,41,184,0,0,46,184,0,0,52,184,0,0,0,0,0,0,16,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,22,0,0,0,37,0,0,0,63,0,0,0,92,0,0,0,117,0,0,0,132,0,0,0,147,0,0,0,161,0,0,0,175,0,0,0,190,0,0,0,205,0,0,0,230,0,0,0,243,0,0,0,2,1,0,0,16,1,0,0,27,1,0,0,41,1,0,0,63,1,0,0,79,1,0,0,109,1,0,0,129,1,0,0,153,1,0,0,179,1,0,0,204,1,0,0,222,1,0,0,231,1,0,0,241,1,0,0,1,2,0,0,14,2,0,0,28,2,0,0,47,2,0,0,71,2,0,0,91,2,0,0,107,2,0,0,122,2,0,0,138,2,0,0,154,2,0,0,171,2,0,0,185,2,0,0,201,2,0,0,228,2,0,0,245,2,0,0,9,3,0,0,28,3,0,0,45,3,0,0,65,3,0,0,77,3,0,0,91,3,0,0,104,3,0,0,120,3,0,0,139,3,0,0,158,3,0,0,178,3,0,0,198,3,0,0,212,3,0,0,234,3,0,0,254,3,0,0,6,4,0,0,10,4,0,0,24,4,0,0,47,4,0,0,55,4,0,0,70,4,0,0,83,4,0,0,98,4,0,0,127,4,0,0,156,4,0,0,179,4,0,0,195,4,0,0,211,4,0,0,231,4,0,0,244,4,0,0,3,5,0,0,20,5,0,0,36,5,0,0,53,5,0,0,70,5,0,0,82,5,0,0,95,5,0,0,126,5,0,0,147,5,0,0,167,5,0,0,188,5,0,0,210,5,0,0,222,5,0,0,237,5,0,0,245,5,0,0,2,6,0,0,11,6,0,0,29,6,0,0,40,6,0,0,51,6,0,0,65,6,0,0,85,6,0,0,98,6,0,0,110,6,0,0,124,6,0,0,136,6,0,0,156,6,0,0,175,6,0,0,195,6,0,0,217,6,0,0,241,6,0,0,6,7,0,0,29,7,0,0,50,7,0,0,65,7,0,0,76,7,0,0,96,7,0,0,109,7,0,0,122,7,0,0,139,7,0,0,161,7,0,0,175,7,0,0,195,7,0,0,211,7,0,0,225,7,0,0,236,7,0,0,0,8,0,0,23,8,0,0,44,8,0,0,59,8,0,0,80,8,0,0,102,8,0,0,118,8,0,0,132,8,0,0,148,8,0,0,162,8,0,0,179,8,0,0,191,8,0,0,223,8,0,0,243,8,0,0,255,8,0,0,9,9,0,0,21,9,0,0,39,9,0,0,60,9,0,0,72,9,0,0,87,9,0,0,104,9,0,0,119,9,0,0,135,9,0,0,149,9,0,0,168,9,0,0,187,9,0,0,210,9,0,0,231,9,0,0,255,9,0,0,17,10,0,0,39,10,0,0,62,10,0,0,80,10,0,0,92,10,0,0,110,10,0,0,127,10,0,0,141,10,0,0,158,10,0,0,173,10,0,0,196,10,0,0,215,10,0,0,228,10,0,0,247,10,0,0,15,11,0,0,42,11,0,0,55,11,0,0,80,11,0,0,91,11,0,0,110,11,0,0,122,11,0,0,138,11,0,0,156,11,0,0,183,11,0,0,190,11,0,0,205,11,0,0,221,11,0,0,237,11,0,0,1,12,0,0,14,12,0,0,26,12,0,0,43,12,0,0,55,12,0,0,72,12,0,0,86,12,0,0,102,12,0,0,129,12,0,0,152,12,0,0,175,12,0,0,198,12,0,0,213,12,0,0,230,12,0,0,248,12,0,0,13,13,0,0,32,13,0,0,63,13,0,0,81,13,0,0,99,13,0,0,121,13,0,0,147,13,0,0,174,13,0,0,191,13,0,0,232,13,0,0,8,14,0,0,46,14,0,0,73,14,0,0,103,14,0,0,133,14,0,0,161,14,0,0,198,14,0,0,222,14,0,0,14,15,0,0,56,15,0,0,96,15,0,0,132,15,0,0,143,15,0,0,161,15,0,0,178,15,0,0,209,15,0,0,230,15,0,0,255,15,0,0,14,16,0,0,38,16,0,0,57,16,0,0,93,16,0,0,114,16,0,0,143,16,0,0,163,16,0,0,190,16,0,0,218,16,0,0,233,16,0,0,244,16,0,0,5,17,0,0,42,17,0,0,87,17,0,0,131,17,0,0,171,17,0,0,209,17,0,0,247,17,0,0,33,18,0,0,67,18,0,0,112,18,0,0,157,18,0,0,170,18,0,0,180,18,0,0,193,18,0,0,228,18,0,0,248,18,0,0,10,19,0,0,33,19,0,0,57,19,0,0,78,19,0,0,106,19,0,0,136,19,0,0,164,19,0,0,184,19,0,0,208,19,0,0,235,19,0,0,253,19,0,0,15,20,0,0,43,20,0,0,58,20,0,0,74,20,0,0,102,20,0,0,125,20,0,0,145,20,0,0,162,20,0,0,190,20,0,0,214,20,0,0,239,20,0,0,3,21,0,0,23,21,0,0,42,21,0,0,71,21,0,0,95,21,0,0,123,21,0,0,150,21,0,0,176,21,0,0,205,21,0,0,229,21,0,0,254,21,0,0,25,22,0,0,54,22,0,0,71,22,0,0,96,22,0,0,119,22,0,0,141,22,0,0,160,22,0,0,182,22,0,0,215,22,0,0,245,22,0,0,12,23,0,0,47,23,0,0,63,23,0,0,83,23,0,0,103,23,0,0,120,23,0,0,147,23,0,0,160,23,0,0,182,23,0,0,202,23,0,0,230,23,0,0,2,24,0,0,21,24,0,0,39,24,0,0,80,24,0,0,120,24,0,0,159,24,0,0,173,24,0,0,208,24,0,0,247,24,0,0,24,25,0,0,51,25,0,0,74,25,0,0,104,25,0,0,135,25,0,0,164,25,0,0,190,25,0,0,213,25,0,0,233,25,0,0,252,25,0,0,22,26,0,0,43,26,0,0,76,26,0,0,113,26,0,0,147,26,0,0,172,26,0,0,201,26,0,0,221,26,0,0,248,26,0,0,28,27,0,0,50,27,0,0,72,27,0,0,100,27,0,0,139,27,0,0,173,27,0,0,195,27,0,0,227,27,0,0,250,27,0,0,31,28,0,0,60,28,0,0,77,28,0,0,105,28,0,0,132,28,0,0,153,28,0,0,180,28,0,0,204,28,0,0,219,28,0,0,247,28,0,0,15,29,0,0,34,29,0,0,56,29,0,0,93,29,0,0,119,29,0,0,145,29,0,0,171,29,0,0,197,29,0,0,223,29,0,0,249,29,0,0,19,30,0,0,45,30,0,0,71,30,0,0,98,30,0,0,125,30,0,0,152,30,0,0,179,30,0,0,206,30,0,0,233,30,0,0,4,31,0,0,27,31,0,0,48,31,0,0,60,31,0,0,7,0,0,0,13,0,0,0,98,0,0,0,99,0,0,0,68,0,0,0,97,0,0,0,11,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,9,0,0,0,77,0,0,0,74,0,0,0,53,0,0,0,0,0,0,0,56,0,0,0,57,0,0,0,59,0,0,0,16,0,0,0,125,0,0,0,10,0,0,0,44,0,0,0,70,0,0,0,103,0,0,0,111,0,0,0,104,0,0,0,0,0,0,0,35,0,0,0,35,0,0,0,89,0,0,0,0,0,0,0,33,0,0,0,73,0,0,0,122,0,0,0,17,0,0,0,14,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,113,0,0,0,43,0,0,0,0,0,0,0,84,0,0,0,115,0,0,0,4,0,0,0,22,0,0,0,5,0,0,0,106,0,0,0,21,0,0,0,120,0,0,0,51,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,79,0,0,0,80,0,0,0,83,0,0,0,82,0,0,0,81,0,0,0,48,0,0,0,40,0,0,0,124,0,0,0,24,0,0,0,31,0,0,0,90,0,0,0,72,0,0,0,36,0,0,0,119,0,0,0,0,0,0,0,100,0,0,0,102,0,0,0,101,0,0,0,23,0,0,0,55,0,0,0,105,0,0,0,50,0,0,0,61,0,0,0,19,0,0,0,2,0,0,0,8,0,0,0,37,0,0,0,67,0,0,0,123,0,0,0,12,0,0,0,42,0,0,0,64,0,0,0,65,0,0,0,92,0,0,0,28,0,0,0,63,0,0,0,60,0,0,0,38,0,0,0,15,0,0,0,107,0,0,0,20,0,0,0,39,0,0,0,118,0,0,0,88,0,0,0,95,0,0,0,25,0,0,0,76,0,0,0,6,0,0,0,95,0,0,0,75,0,0,0,1,0,0,0,96,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,93,0,0,0,91,0,0,0,34,0,0,0,78,0,0,0,66,0,0,0,121,0,0,0,85,0,0,0,30,0,0,0,0,0,0,0,108,0,0,0,94,0,0,0,29,0,0,0,3,0,0,0,69,0,0,0,116,0,0,0,86,0,0,0,62,0,0,0,110,0,0,0,109,0,0,0,26,0,0,0,117,0,0,0,49,0,0,0,87,0,0,0,11,0,0,0,18,0,0,0,54,0,0,0,107,128,0,0,81,128,0,0,127,128,0,0,47,128,0,0,49,128,0,0,104,128,0,0,0,128,0,0,82,128,0,0,11,128,0,0,21,128,0,0,6,128,0,0,138,128,0,0,86,128,0,0,1,128,0,0,36,128,0,0,95,128,0,0,19,128,0,0,35,128,0,0,139,128,0,0,80,128,0,0,97,128,0,0,51,128,0,0,48,128,0,0,75,128,0,0,65,128,0,0,102,128,0,0,134,128,0,0,37,128,0,0,91,128,0,0,126,128,0,0,122,128,0,0,66,128,0,0,109,128,0,0,32,128,0,0,117,128,0,0,28,128,0,0,29,128,0,0,69,128,0,0,83,128,0,0,94,128,0,0,98,128,0,0,63,128,0,0,87,128,0,0,43,128,0,0,22,128,0,0,54,128,0,0,55,128,0,0,56,128,0,0,62,128,0,0,136,128,0,0,78,128,0,0,53,128,0,0,10,128,0,0,14,128,0,0,140,128,0,0,76,128,0,0,16,128,0,0,17,128,0,0,18,128,0,0,93,128,0,0,79,128,0,0,131,128,0,0,92,128,0,0,88,128,0,0,89,128,0,0,119,128,0,0,84,128,0,0,4,128,0,0,128,128,0,0,23,128,0,0,114,128,0,0,68,128,0,0,33,128,0,0,13,128,0,0,106,128,0,0,103,128,0,0,12,128,0,0,118,128,0,0,57,128,0,0,58,128,0,0,61,128,0,0,60,128,0,0,59,128,0,0,45,128,0,0,121,128,0,0,130,128,0,0,137,128,0,0,100,128,0,0,30,128,0,0,67,128,0,0,116,128,0,0,90,128,0,0,115,128,0,0,125,128,0,0,101,128,0,0,105,128,0,0,108,128,0,0,5,128,0,0,2,128,0,0,3,128,0,0,72,128,0,0,74,128,0,0,73,128,0,0,24,128,0,0,26,128,0,0,77,128,0,0,50,128,0,0,96,128,0,0,124,128,0,0,133,128,0,0,132,128,0,0,25,128,0,0,41,128,0,0,42,128,0,0,7,128,0,0,46,128,0,0,129,128,0,0,135,128,0,0,99,128,0,0,70,128,0,0,52,128,0,0,120,128,0,0,34,128,0,0,85,128,0,0,64,128,0,0,20,128,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,120,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,51,0,0,0,8,43,1,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,61,0,0,240,61,0,0,5,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,51,0,0,0,16,47,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,64,0,0,0,0,0,0,45,244,81,88,207,140,177,192,70,246,181,203,41,49,3,199,4,91,112,48,180,93,253,32,120,127,139,154,216,89,41,80,104,72,137,171,167,86,3,108,255,183,205,136,63,212,119,180,43,165,163,112,241,186,228,168,252,65,131,253,217,111,225,138,122,47,45,116,150,7,31,13,9,94,3,118,44,112,247,64,165,44,167,111,87,65,168,170,116,223,160,88,100,3,74,199,196,60,83,174,175,95,24,4,21,177,227,109,40,134,171,12,164,191,67,240,233,80,129,57,87,22,82,55,3,0,0,0,3,0,5,0,7,0,11,0,13,0,17,0,19,0,23,0,29,0,31,0,37,0,41,0,43,0,47,0,53,0,59,0,61,0,67,0,71,0,73,0,79,0,83,0,89,0,97,0,101,0,103,0,107,0,109,0,113,0,127,0,131,0,137,0,139,0,149,0,151,0,157,0,163,0,167,0,173,0,179,0,181,0,191,0,193,0,197,0,199,0,211,0,223,0,227,0,229,0,233,0,239,0,241,0,251,0,1,1,7,1,13,1,15,1,21,1,25,1,27,1,37,1,51,1,55,1,57,1,61,1,75,1,81,1,91,1,93,1,97,1,103,1,111,1,117,1,123,1,127,1,133,1,141,1,145,1,153,1,163,1,165,1,175,1,177,1,183,1,187,1,193,1,201,1,205,1,207,1,211,1,223,1,231,1,235,1,243,1,247,1,253,1,9,2,11,2,29,2,35,2,45,2,51,2,57,2,59,2,65,2,75,2,81,2,87,2,89,2,95,2,101,2,105,2,107,2,119,2,129,2,131,2,135,2,141,2,147,2,149,2,161,2,165,2,171,2,179,2,189,2,197,2,207,2,215,2,221,2,227,2,231,2,239,2,245,2,249,2,1,3,5,3,19,3,29,3,41,3,43,3,53,3,55,3,59,3,61,3,71,3,85,3,89,3,91,3,95,3,109,3,113,3,115,3,119,3,139,3,143,3,151,3,161,3,169,3,173,3,179,3,185,3,199,3,203,3,209,3,215,3,223,3,229,3,241,3,245,3,251,3,253,3,7,4,9,4,15,4,25,4,27,4,37,4,39,4,45,4,63,4,67,4,69,4,73,4,79,4,85,4,93,4,99,4,105,4,127,4,129,4,139,4,147,4,157,4,163,4,169,4,177,4,189,4,193,4,199,4,205,4,207,4,213,4,225,4,235,4,253,4,255,4,3,5,9,5,11,5,17,5,21,5,23,5,27,5,39,5,41,5,47,5,81,5,87,5,93,5,101,5,119,5,129,5,143,5,147,5,149,5,153,5,159,5,167,5,171,5,173,5,179,5,191,5,201,5,203,5,207,5,209,5,213,5,219,5,231,5,243,5,251,5,7,6,13,6,17,6,23,6,31,6,35,6,43,6,47,6,61,6,65,6,71,6,73,6,77,6,83,6,85,6,91,6,101,6,121,6,127,6,131,6,133,6,157,6,161,6,163,6,173,6,185,6,187,6,197,6,205,6,211,6,217,6,223,6,241,6,247,6,251,6,253,6,9,7,19,7,31,7,39,7,55,7,69,7,75,7,79,7,81,7,85,7,87,7,97,7,109,7,115,7,121,7,139,7,141,7,157,7,159,7,181,7,187,7,195,7,201,7,205,7,207,7,211,7,219,7,225,7,235,7,237,7,247,7,5,8,15,8,21,8,33,8,35,8,39,8,41,8,51,8,63,8,65,8,81,8,83,8,89,8,93,8,95,8,105,8,113,8,131,8,155,8,159,8,165,8,173,8,189,8,191,8,195,8,203,8,219,8,221,8,225,8,233,8,239,8,245,8,249,8,5,9,7,9,29,9,35,9,37,9,43,9,47,9,53,9,67,9,73,9,77,9,79,9,85,9,89,9,95,9,107,9,113,9,119,9,133,9,137,9,143,9,155,9,163,9,169,9,173,9,199,9,217,9,227,9,235,9,239,9,245,9,247,9,253,9,19,10,31,10,33,10,49,10,57,10,61,10,73,10,87,10,97,10,99,10,103,10,111,10,117,10,123,10,127,10,129,10,133,10,139,10,147,10,151,10,153,10,159,10,169,10,171,10,181,10,189,10,193,10,207,10,217,10,229,10,231,10,237,10,241,10,243,10,3,11,17,11,21,11,27,11,35,11,41,11,45,11,63,11,71,11,81,11,87,11,93,11,101,11,111,11,123,11,137,11,141,11,147,11,153,11,155,11,183,11,185,11,195,11,203,11,207,11,221,11,225,11,233,11,245,11,251,11,7,12,11,12,17,12,37,12,47,12,49,12,65,12,91,12,95,12,97,12,109,12,115,12,119,12,131,12,137,12,145,12,149,12,157,12,179,12,181,12,185,12,187,12,199,12,227,12,229,12,235,12,241,12,247,12,251,12,1,13,3,13,15,13,19,13,31,13,33,13,43,13,45,13,61,13,63,13,79,13,85,13,105,13,121,13,129,13,133,13,135,13,139,13,141,13,163,13,171,13,183,13,189,13,199,13,201,13,205,13,211,13,213,13,219,13,229,13,231,13,243,13,253,13,255,13,9,14,23,14,29,14,33,14,39,14,47,14,53,14,59,14,75,14,87,14,89,14,93,14,107,14,113,14,117,14,125,14,135,14,143,14,149,14,155,14,177,14,183,14,185,14,195,14,209,14,213,14,219,14,237,14,239,14,249,14,7,15,11,15,13,15,23,15,37,15,41,15,49,15,67,15,71,15,77,15,79,15,83,15,89,15,91,15,103,15,107,15,127,15,149,15,161,15,163,15,167,15,173,15,179,15,181,15,187,15,209,15,211,15,217,15,233,15,239,15,251,15,253,15,3,16,15,16,31,16,33,16,37,16,43,16,57,16,61,16,63,16,81,16,105,16,115,16,121,16,123,16,133,16,135,16,145,16,147,16,157,16,163,16,165,16,175,16,177,16,187,16,193,16,201,16,231,16,241,16,243,16,253,16,5,17,11,17,21,17,39,17,45,17,57,17,69,17,71,17,89,17,95,17,99,17,105,17,111,17,129,17,131,17,141,17,155,17,161,17,165,17,167,17,171,17,195,17,197,17,209,17,215,17,231,17,239,17,245,17,251,17,13,18,29,18,31,18,35,18,41,18,43,18,49,18,55,18,65,18,71,18,83,18,95,18,113,18,115,18,121,18,125,18,143,18,151,18,175,18,179,18,181,18,185,18,191,18,193,18,205,18,209,18,223,18,253,18,7,19,13,19,25,19,39,19,45,19,55,19,67,19,69,19,73,19,79,19,87,19,93,19,103,19,105,19,109,19,123,19,129,19,135,19,0,0,0,0,194,1,132,3,70,2,8,7,202,6,140,4,78,5,16,14,210,15,148,13,86,12,24,9,218,8,156,10,94,11,32,28,226,29,164,31,102,30,40,27,234,26,172,24,110,25,48,18,242,19,180,17,118,16,56,21,250,20,188,22,126,23,64,56,130,57,196,59,6,58,72,63,138,62,204,60,14,61,80,54,146,55,212,53,22,52,88,49,154,48,220,50,30,51,96,36,162,37,228,39,38,38,104,35,170,34,236,32,46,33,112,42,178,43,244,41,54,40,120,45,186,44,252,46,62,47,128,112,66,113,4,115,198,114,136,119,74,118,12,116,206,117,144,126,82,127,20,125,214,124,152,121,90,120,28,122,222,123,160,108,98,109,36,111,230,110,168,107,106,106,44,104,238,105,176,98,114,99,52,97,246,96,184,101,122,100,60,102,254,103,192,72,2,73,68,75,134,74,200,79,10,78,76,76,142,77,208,70,18,71,84,69,150,68,216,65,26,64,92,66,158,67,224,84,34,85,100,87,166,86,232,83,42,82,108,80,174,81,240,90,50,91,116,89,182,88,248,93,58,92,124,94,190,95,0,225,194,224,132,226,70,227,8,230,202,231,140,229,78,228,16,239,210,238,148,236,86,237,24,232,218,233,156,235,94,234,32,253,226,252,164,254,102,255,40,250,234,251,172,249,110,248,48,243,242,242,180,240,118,241,56,244,250,245,188,247,126,246,64,217,130,216,196,218,6,219,72,222,138,223,204,221,14,220,80,215,146,214,212,212,22,213,88,208,154,209,220,211,30,210,96,197,162,196,228,198,38,199,104,194,170,195,236,193,46,192,112,203,178,202,244,200,54,201,120,204,186,205,252,207,62,206,128,145,66,144,4,146,198,147,136,150,74,151,12,149,206,148,144,159,82,158,20,156,214,157,152,152,90,153,28,155,222,154,160,141,98,140,36,142,230,143,168,138,106,139,44,137,238,136,176,131,114,130,52,128,246,129,184,132,122,133,60,135,254,134,192,169,2,168,68,170,134,171,200,174,10,175,76,173,142,172,208,167,18,166,84,164,150,165,216,160,26,161,92,163,158,162,224,181,34,180,100,182,166,183,232,178,42,179,108,177,174,176,240,187,50,186,116,184,182,185,248,188,58,189,124,191,190,190,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,223,0,223,0,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,119,114,97,112,46,99,0,97,109,111,117,110,116,32,115,116,111,114,101,100,32,97,116,32,37,112,44,32,105,115,32,37,115,32,37,108,108,117,46,37,108,117,10,0,109,105,110,116,95,119,105,116,104,100,114,97,119,97,108,0,109,101,114,99,104,95,99,111,110,116,114,97,99,116,0,109,97,115,116,101,114,95,100,101,110,111,109,105,110,97,116,105,111,110,95,107,101,121,95,118,97,108,105,100,105,116,121,0,109,105,110,116,95,116,101,115,116,95,101,100,100,115,97,0,116,105,109,101,95,102,114,111,109,95,115,101,99,111,110,100,115,0,72,101,108,108,111,44,32,119,111,114,108,100,32,40,98,121,32,84,97,108,101,114,32,101,109,115,99,114,105,112,116,101,100,32,99,111,100,101,41,10,0,99,111,109,109,111,110,95,97,108,108,111,99,97,116,105,111,110,46,99,0,71,78,85,78,69,84,95,120,109,97,108,108,111,99,95,0,109,97,108,108,111,99,0,71,78,85,78,69,84,95,120,102,114,101,101,95,0,71,78,85,78,69,84,95,120,115,116,114,100,117,112,95,0,71,78,85,78,69,84,95,115,110,112,114,105,110,116,102,0,68,69,66,85,71,0,73,78,70,79,0,87,65,82,78,73,78,71,0,69,82,82,79,82,0,78,79,78,69,0,99,111,109,109,111,110,95,108,111,103,103,105,110,103,46,99,0,37,115,45,37,100,0,37,115,37,100,37,115,0,97,98,0,115,101,116,117,112,95,108,111,103,95,102,105,108,101,0,71,78,85,78,69,84,95,108,111,103,95,115,107,105,112,0,109,121,108,111,103,0,108,111,99,97,108,116,105,109,101,32,101,114,114,111,114,0,37,98,32,37,100,32,37,72,58,37,77,58,37,83,45,37,37,48,54,117,0,77,101,115,115,97,103,101,32,96,37,46,42,115,39,32,114,101,112,101,97,116,101,100,32,37,117,32,116,105,109,101,115,32,105,110,32,116,104,101,32,108,97,115,116,32,37,115,10,0,73,78,86,65,76,73,68,0,37,115,32,37,115,32,37,115,32,37,115,0,96,37,115,39,32,102,97,105,108,101,100,32,111,110,32,102,105,108,101,32,96,37,115,39,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,99,114,121,112,116,111,95,115,121,109,109,101,116,114,105,99,46,99,0,115,101,116,117,112,95,99,105,112,104,101,114,95,97,101,115,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,101,110,99,114,121,112,116,0,115,101,116,117,112,95,99,105,112,104,101,114,95,116,119,111,102,105,115,104,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,115,121,109,109,101,116,114,105,99,95,100,101,99,114,121,112,116,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,100,32,37,98,41,41,41,0,99,114,121,112,116,111,95,101,99,99,46,99,0,103,99,114,121,95,115,101,120,112,95,98,117,105,108,100,0,113,64,101,100,100,115,97,0,40,112,114,105,118,97,116,101,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,100,32,37,98,41,41,41,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,100,100,115,97,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,100,101,99,111,100,101,95,112,114,105,118,97,116,101,95,101,99,100,104,101,95,107,101,121,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,32,110,111,45,107,101,121,116,101,115,116,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,100,104,101,95,107,101,121,95,99,114,101,97,116,101,0,103,99,114,121,95,112,107,95,103,101,110,107,101,121,0,107,101,121,95,102,114,111,109,95,115,101,120,112,0,40,103,101,110,107,101,121,40,101,99,99,40,99,117,114,118,101,32,34,69,100,50,53,53,49,57,34,41,40,102,108,97,103,115,32,101,100,100,115,97,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,107,101,121,95,99,114,101,97,116,101,0,40,100,97,116,97,40,102,108,97,103,115,32,101,100,100,115,97,41,40,104,97,115,104,45,97,108,103,111,32,37,115,41,40,118,97,108,117,101,32,37,98,41,41,0,100,97,116,97,95,116,111,95,101,100,100,115,97,95,118,97,108,117,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,115,105,103,110,0,69,100,68,83,65,32,115,105,103,110,105,110,103,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,113,32,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,32,37,98,41,40,115,32,37,98,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,100,100,115,97,95,118,101,114,105,102,121,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,99,117,114,118,101,32,69,100,50,53,53,49,57,41,40,102,108,97,103,115,32,101,100,100,115,97,41,40,113,32,37,98,41,41,41,0,69,100,68,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240);
+/* memory initializer */ allocate([99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,101,99,99,95,101,99,100,104,0,103,101,116,95,97,102,102,105,110,101,32,102,97,105,108,101,100,0,99,114,121,112,116,111,95,104,97,115,104,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,115,116,97,114,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,104,97,115,104,95,99,111,110,116,101,120,116,95,102,105,110,105,115,104,0,99,114,121,112,116,111,95,109,112,105,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,112,114,105,110,116,95,117,110,115,105,103,110,101,100,0,96,37,115,39,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,32,119,105,116,104,32,101,114,114,111,114,58,32,37,115,10,0,103,99,114,121,95,109,112,105,95,112,114,105,110,116,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,109,112,105,95,115,99,97,110,95,117,110,115,105,103,110,101,100,0,103,99,114,121,95,109,112,105,95,115,99,97,110,0,49,46,54,46,48,0,108,105,98,103,99,114,121,112,116,32,104,97,115,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,118,101,114,115,105,111,110,32,40,118,101,114,115,105,111,110,32,37,115,32,105,115,32,114,101,113,117,105,114,101,100,41,46,10,0,99,114,121,112,116,111,95,114,97,110,100,111,109,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,105,110,105,116,0,70,97,105,108,101,100,32,116,111,32,115,101,116,32,108,105,98,103,99,114,121,112,116,32,111,112,116,105,111,110,32,37,115,58,32,37,115,10,0,68,73,83,65,66,76,69,95,83,69,67,77,69,77,0,69,78,65,66,76,69,95,81,85,73,67,75,95,82,65,78,68,79,77,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,97,110,100,111,109,95,117,51,50,0,40,103,101,110,107,101,121,40,114,115,97,40,110,98,105,116,115,32,37,100,41,41,41,0,99,114,121,112,116,111,95,114,115,97,46,99,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,99,114,101,97,116,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,101,110,99,111,100,101,0,117,116,105,108,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,100,101,99,111,100,101,0,68,101,99,111,100,101,100,32,112,114,105,118,97,116,101,32,107,101,121,32,105,115,32,110,111,116,32,118,97,108,105,100,10,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,114,105,118,97,116,101,95,107,101,121,95,103,101,116,95,112,117,98,108,105,99,0,69,120,116,101,114,110,97,108,32,112,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,97,116,32,37,115,58,37,100,46,10,0,40,112,117,98,108,105,99,45,107,101,121,40,114,115,97,40,110,32,37,109,41,40,101,32,37,109,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,112,117,98,108,105,99,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,101,110,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,105,110,103,95,107,101,121,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,98,108,105,110,100,0,100,97,116,97,95,116,111,95,115,101,120,112,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,77,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,115,105,103,110,97,116,117,114,101,95,100,101,99,111,100,101,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,117,110,98,108,105,110,100,0,40,115,105,103,45,118,97,108,32,40,114,115,97,32,40,115,32,37,77,41,41,41,0,71,78,85,78,69,84,95,67,82,89,80,84,79,95,114,115,97,95,118,101,114,105,102,121,0,82,83,65,32,115,105,103,110,97,116,117,114,101,32,118,101,114,105,102,105,99,97,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,58,32,37,115,10,0,115,116,114,105,110,103,115,46,99,0,37,108,108,117,32,37,115,0,102,111,114,101,118,101,114,0,109,115,0,109,0,100,97,121,0,100,97,121,115,0,101,110,100,32,111,102,32,116,105,109,101,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,194,181,115,0,48,32,109,115,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,100,97,116,97,95,116,111,95,115,116,114,105,110,103,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,74,75,77,78,80,81,82,83,84,86,87,88,89,90,0,71,78,85,78,69,84,95,83,84,82,73,78,71,83,95,115,116,114,105,110,103,95,116,111,95,100,97,116,97,0,118,105,115,105,98,105,108,105,116,121,46,99,0,103,99,114,121,95,109,100,95,104,97,115,104,95,98,117,102,102,101,114,0,99,97,108,108,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,109,100,95,103,101,116,95,97,108,103,111,0,117,115,101,100,32,105,110,32,110,111,110,45,111,112,101,114,97,116,105,111,110,97,108,32,115,116,97,116,101,0,103,99,114,121,95,114,97,110,100,111,109,105,122,101,0,103,99,114,121,95,99,114,101,97,116,101,95,110,111,110,99,101,0,109,105,115,99,46,99,0,95,103,99,114,121,95,102,97,116,97,108,95,101,114,114,111,114,0,10,70,97,116,97,108,32,101,114,114,111,114,58,32,0,70,97,116,97,108,58,32,0,79,104,104,104,104,32,106,101,101,101,101,58,32,0,68,66,71,58,32,0,91,85,110,107,110,111,119,110,32,108,111,103,32,108,101,118,101,108,32,37,100,93,58,32,0,95,103,99,114,121,95,108,111,103,118,0,105,110,116,101,114,110,97,108,32,101,114,114,111,114,32,40,102,97,116,97,108,32,111,114,32,98,117,103,41,0,46,46,46,32,116,104,105,115,32,105,115,32,97,32,98,117,103,32,40,37,115,58,37,100,58,37,115,41,10,0,65,115,115,101,114,116,105,111,110,32,96,37,115,39,32,102,97,105,108,101,100,32,40,37,115,58,37,100,58,37,115,41,10,0,32,0,37,115,58,37,115,0,37,42,115,32,32,0,37,48,50,120,0,32,92,10,0,37,42,115,32,37,42,115,0,32,40,110,117,108,108,41,0,32,91,37,117,32,98,105,116,93,0,32,91,111,117,116,32,111,102,32,99,111,114,101,93,0,45,0,43,0,100,105,118,105,100,101,32,98,121,32,122,101,114,111,0,103,108,111,98,97,108,46,99,0,103,108,111,98,97,108,95,105,110,105,116,0,49,46,55,46,48,45,98,101,116,97,50,51,48,0,118,101,114,115,105,111,110,58,37,115,58,10,0,99,105,112,104,101,114,115,58,37,115,58,10,0,97,101,115,58,116,119,111,102,105,115,104,0,112,117,98,107,101,121,115,58,37,115,58,10,0,114,115,97,58,101,99,99,0,100,105,103,101,115,116,115,58,37,115,58,10,0,115,104,97,50,53,54,58,115,104,97,53,49,50,0,114,110,100,45,109,111,100,58,108,105,110,117,120,58,10,0,99,112,117,45,97,114,99,104,58,58,10,0,109,112,105,45,97,115,109,58,37,115,58,10,0,104,119,102,108,105,115,116,58,0,37,115,58,0,10,0,102,105,112,115,45,109,111,100,101,58,37,99,58,37,99,58,10,0,115,116,97,110,100,97,114,100,0,102,105,112,115,0,115,121,115,116,101,109,0,112,114,105,110,116,95,99,111,110,102,105,103,0,114,110,103,45,116,121,112,101,58,37,115,58,37,100,58,10,0,111,117,116,32,111,102,32,99,111,114,101,32,105,110,32,115,101,99,117,114,101,32,109,101,109,111,114,121,0,92,120,37,48,50,120,0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,48,49,50,51,52,53,54,55,56,57,45,46,47,95,58,42,43,61,0,115,101,120,112,46,99,0,100,111,95,118,115,101,120,112,95,115,115,99,97,110,0,37,100,0,37,117,0,38,92,0,95,103,99,114,121,95,115,101,120,112,95,102,105,110,100,95,116,111,107,101,110,0,95,103,99,114,121,95,115,101,120,112,95,110,116,104,0,3,4,0,8,9,11,10,12,13,34,39,92,0,45,46,47,95,58,42,43,61,0,37,48,50,88,0,37,117,58,0,95,103,99,114,121,95,115,101,120,112,95,115,112,114,105,110,116,0,112,97,100,108,111,99,107,45,114,110,103,0,112,97,100,108,111,99,107,45,97,101,115,0,112,97,100,108,111,99,107,45,115,104,97,0,112,97,100,108,111,99,107,45,109,109,117,108,0,105,110,116,101,108,45,99,112,117,0,105,110,116,101,108,45,98,109,105,50,0,105,110,116,101,108,45,115,115,115,101,51,0,105,110,116,101,108,45,112,99,108,109,117,108,0,105,110,116,101,108,45,97,101,115,110,105,0,105,110,116,101,108,45,114,100,114,97,110,100,0,105,110,116,101,108,45,97,118,120,0,105,110,116,101,108,45,97,118,120,50,0,97,114,109,45,110,101,111,110,0,47,101,116,99,47,103,99,114,121,112,116,47,104,119,102,46,100,101,110,121,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,117,110,100,101,114,102,108,111,119,61,37,48,50,120,41,10,0,109,101,109,111,114,121,32,97,116,32,37,112,32,99,111,114,114,117,112,116,101,100,32,40,111,118,101,114,102,108,111,119,61,37,48,50,120,41,10,0,87,97,114,110,105,110,103,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,109,101,109,111,114,121,33,10,0,102,97,105,108,101,100,32,116,111,32,100,114,111,112,32,115,101,116,117,105,100,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,105,115,32,100,105,115,97,98,108,101,100,0,99,97,110,39,116,32,109,109,97,112,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,58,32,37,115,32,45,32,117,115,105,110,103,32,109,97,108,108,111,99,10,0,99,97,110,39,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,112,111,111,108,32,111,102,32,37,117,32,98,121,116,101,115,10,0,80,108,101,97,115,101,32,110,111,116,101,32,116,104,97,116,32,121,111,117,32,100,111,110,39,116,32,104,97,118,101,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,111,110,32,116,104,105,115,32,115,121,115,116,101,109,10,0,79,111,112,115,44,32,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,97,108,114,101,97,100,121,32,105,110,105,116,105,97,108,105,122,101,100,10,0,111,112,101,114,97,116,105,111,110,32,105,115,32,110,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,111,117,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,101,99,117,114,101,32,109,101,109,111,114,121,10,0,115,101,99,117,114,101,32,109,101,109,111,114,121,32,112,111,111,108,32,105,115,32,110,111,116,32,108,111,99,107,101,100,32,119,104,105,108,101,32,105,110,32,70,73,80,83,32,109,111,100,101,10,0,115,101,99,109,101,109,32,117,115,97,103,101,58,32,37,117,47,37,108,117,32,98,121,116,101,115,32,105,110,32,37,117,32,98,108,111,99,107,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,114,121,112,116,58,32,37,115,10,0,80,111,119,101,114,45,79,110,0,73,110,105,116,0,83,101,108,102,45,84,101,115,116,0,79,112,101,114,97,116,105,111,110,97,108,0,69,114,114,111,114,0,70,97,116,97,108,45,69,114,114,111,114,0,83,104,117,116,100,111,119,110,0,103,114,97,110,116,101,100,0,100,101,110,105,101,100,0,108,105,98,103,99,114,121,112,116,32,115,116,97,116,101,32,116,114,97,110,115,105,116,105,111,110,32,37,115,32,61,62,32,37,115,32,37,115,10,0,33,100,111,110,101,0,102,105,112,115,46,99,0,95,103,99,114,121,95,105,110,105,116,105,97,108,105,122,101,95,102,105,112,115,95,109,111,100,101,0,33,110,111,95,102,105,112,115,95,109,111,100,101,95,114,101,113,117,105,114,101,100,0,47,101,116,99,47,103,99,114,121,112,116,47,102,105,112,115,95,101,110,97,98,108,101,100,0,47,112,114,111,99,47,115,121,115,47,99,114,121,112,116,111,47,102,105,112,115,95,101,110,97,98,108,101,100,0,114,0,47,112,114,111,99,47,118,101,114,115,105,111,110,0,70,65,84,65,76,58,32,101,114,114,111,114,32,114,101,97,100,105,110,103,32,96,37,115,39,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,70,65,84,65,76,58,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,104,101,32,70,83,77,32,108,111,99,107,32,105,110,32,108,105,98,103,99,114,121,112,116,58,32,37,115,10,0,95,103,99,114,121,95,102,105,112,115,95,109,111,100,101,32,40,41,0,95,103,99,114,121,95,105,110,97,99,116,105,118,97,116,101,95,102,105,112,115,95,109,111,100,101,0,102,97,116,97,108,32,0,44,32,102,117,110,99,116,105,111,110,32,0,110,111,32,100,101,115,99,114,105,112,116,105,111,110,32,97,118,97,105,108,97,98,108,101,0,37,115,101,114,114,111,114,32,105,110,32,108,105,98,103,99,114,121,112,116,44,32,102,105,108,101,32,37,115,44,32,108,105,110,101,32,37,100,37,115,37,115,58,32,37,115,10,0,72,77,65,67,45,0,79,107,97,121,0,32,40,0,108,105,98,103,99,114,121,112,116,32,115,101,108,102,116,101,115,116,58,32,37,115,32,37,115,37,115,32,40,37,100,41,58,32,37,115,37,115,37,115,37,115,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,103,105,118,101,110,32,116,111,32,95,103,99,114,121,95,99,116,120,95,97,108,108,111,99,10,0,99,84,120,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,95,103,99,114,121,95,99,116,120,95,103,101,116,95,112,111,105,110,116,101,114,10,0,119,114,111,110,103,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,114,101,113,117,101,115,116,32,102,111,114,32,99,111,110,116,101,120,116,32,37,112,32,111,102,32,116,121,112,101,32,37,100,10,0,98,97,100,32,112,111,105,110,116,101,114,32,37,112,32,112,97,115,115,101,100,32,116,111,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,98,97,100,32,99,111,110,116,101,120,116,32,116,121,112,101,32,37,100,32,100,101,116,101,99,116,101,100,32,105,110,32,103,99,114,121,95,99,116,120,95,114,101,108,97,115,101,10,0,103,99,114,121,95,99,105,112,104,101,114,95,99,108,111,115,101,58,32,97,108,114,101,97,100,121,32,99,108,111,115,101,100,47,105,110,118,97,108,105,100,32,104,97,110,100,108,101,0,99,105,112,104,101,114,46,99,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,0,99,105,112,104,101,114,32,109,111,100,101,32,78,79,78,69,32,117,115,101,100,0,99,105,112,104,101,114,95,101,110,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,0,99,105,112,104,101,114,95,100,101,99,114,121,112,116,58,32,105,110,118,97,108,105,100,32,109,111,100,101,32,37,100,10,0,87,65,82,78,73,78,71,58,32,99,105,112,104,101,114,95,115,101,116,105,118,58,32,105,118,108,101,110,61,37,117,32,98,108,107,108,101,110,61,37,117,10,0,99,105,112,104,101,114,95,115,101,116,105,118,0,73,86,32,108,101,110,103,116,104,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,98,108,111,99,107,108,101,110,103,116,104,0,48,120,55,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,68,0,45,48,120,48,49,0,45,48,120,50,68,70,67,57,51,49,49,68,52,57,48,48,49,56,67,55,51,51,56,66,70,56,54,56,56,56,54,49,55,54,55,70,70,56,70,70,53,66,50,66,69,66,69,50,55,53,52,56,65,49,52,66,50,51,53,69,67,65,54,56,55,52,65,0,48,120,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,68,69,70,57,68,69,65,50,70,55,57,67,68,54,53,56,49,50,54,51,49,65,53,67,70,53,68,51,69,68,0,48,120,50,49,54,57,51,54,68,51,67,68,54,69,53,51,70,69,67,48,65,52,69,50,51,49,70,68,68,54,68,67,53,67,54,57,50,67,67,55,54,48,57,53,50,53,65,55,66,50,67,57,53,54,50,68,54,48,56,70,50,53,68,53,49,65,0,48,120,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,53,56,0,48,120,48,56,0,78,73,83,84,32,80,45,49,57,50,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,54,52,50,49,48,53,49,57,101,53,57,99,56,48,101,55,48,102,97,55,101,57,97,98,55,50,50,52,51,48,52,57,102,101,98,56,100,101,101,99,99,49,52,54,98,57,98,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,57,57,100,101,102,56,51,54,49,52,54,98,99,57,98,49,98,52,100,50,50,56,51,49,0,48,120,49,56,56,100,97,56,48,101,98,48,51,48,57,48,102,54,55,99,98,102,50,48,101,98,52,51,97,49,56,56,48,48,102,52,102,102,48,97,102,100,56,50,102,102,49,48,49,50,0,48,120,48,55,49,57,50,98,57,53,102,102,99,56,100,97,55,56,54,51,49,48,49,49,101,100,54,98,50,52,99,100,100,53,55,51,102,57,55,55,97,49,49,101,55,57,52,56,49,49,0,48,120,48,49,0,78,73,83,84,32,80,45,50,50,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,0,48,120,98,52,48,53,48,97,56,53,48,99,48,52,98,51,97,98,102,53,52,49,51,50,53,54,53,48,52,52,98,48,98,55,100,55,98,102,100,56,98,97,50,55,48,98,51,57,52,51,50,51,53,53,102,102,98,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,49,54,97,50,101,48,98,56,102,48,51,101,49,51,100,100,50,57,52,53,53,99,53,99,50,97,51,100,0,48,120,98,55,48,101,48,99,98,100,54,98,98,52,98,102,55,102,51,50,49,51,57,48,98,57,52,97,48,51,99,49,100,51,53,54,99,50,49,49,50,50,51,52,51,50,56,48,100,54,49,49,53,99,49,100,50,49,0,48,120,98,100,51,55,54,51,56,56,98,53,102,55,50,51,102,98,52,99,50,50,100,102,101,54,99,100,52,51,55,53,97,48,53,97,48,55,52,55,54,52,52,52,100,53,56,49,57,57,56,53,48,48,55,101,51,52,0,78,73,83,84,32,80,45,50,53,54,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,49,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,53,97,99,54,51,53,100,56,97,97,51,97,57,51,101,55,98,51,101,98,98,100,53,53,55,54,57,56,56,54,98,99,54,53,49,100,48,54,98,48,99,99,53,51,98,48,102,54,51,98,99,101,51,99,51,101,50,55,100,50,54,48,52,98,0,48,120,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,98,99,101,54,102,97,97,100,97,55,49,55,57,101,56,52,102,51,98,57,99,97,99,50,102,99,54,51,50,53,53,49,0,48,120,54,98,49,55,100,49,102,50,101,49,50,99,52,50,52,55,102,56,98,99,101,54,101,53,54,51,97,52,52,48,102,50,55,55,48,51,55,100,56,49,50,100,101,98,51,51,97,48,102,52,97,49,51,57,52,53,100,56,57,56,99,50,57,54,0,48,120,52,102,101,51,52,50,101,50,102,101,49,97,55,102,57,98,56,101,101,55,101,98,52,97,55,99,48,102,57,101,49,54,50,98,99,101,51,51,53,55,54,98,51,49,53,101,99,101,99,98,98,54,52,48,54,56,51,55,98,102,53,49,102,53,0,78,73,83,84,32,80,45,51,56,52,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,101,102,102,102,102,102,102,102,102,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,102,102,102,102,102,102,102,99,0,48,120,98,51,51,49,50,102,97,55,101,50,51,101,101,55,101,52,57,56,56,101,48,53,54,98,101,51,102,56,50,100,49,57,49,56,49,100,57,99,54,101,102,101,56,49,52,49,49,50,48,51,49,52,48,56,56,102,53,48,49,51,56,55,53,97,99,54,53,54,51,57,56,100,56,97,50,101,100,49,57,100,50,97,56,53,99,56,101,100,100,51,101,99,50,97,101,102,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,55,54,51,52,100,56,49,102,52,51,55,50,100,100,102,53,56,49,97,48,100,98,50,52,56,98,48,97,55,55,97,101,99,101,99,49,57,54,97,99,99,99,53,50,57,55,51,0,48,120,97,97,56,55,99,97,50,50,98,101,56,98,48,53,51,55,56,101,98,49,99,55,49,101,102,51,50,48,97,100,55,52,54,101,49,100,51,98,54,50,56,98,97,55,57,98,57,56,53,57,102,55,52,49,101,48,56,50,53,52,50,97,51,56,53,53,48,50,102,50,53,100,98,102,53,53,50,57,54,99,51,97,53,52,53,101,51,56,55,50,55,54,48,97,98,55,0,48,120,51,54,49,55,100,101,52,97,57,54,50,54,50,99,54,102,53,100,57,101,57,56,98,102,57,50,57,50,100,99,50,57,102,56,102,52,49,100,98,100,50,56,57,97,49,52,55,99,101,57,100,97,51,49,49,51,98,53,102,48,98,56,99,48,48,97,54,48,98,49,99,101,49,100,55,101,56,49,57,100,55,97,52,51,49,100,55,99,57,48,101,97,48,101,53,102,0,78,73,83,84,32,80,45,53,50,49,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,0,48,120,48,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,99,0,48,120,48,53,49,57,53,51,101,98,57,54,49,56,101,49,99,57,97,49,102,57,50,57,97,50,49,97,48,98,54,56,53,52,48,101,101,97,50,100,97,55,50,53,98,57,57,98,51,49,53,102,51,98,56,98,52,56,57,57,49,56,101,102,49,48,57,101,49,53,54,49,57,51,57,53,49,101,99,55,101,57,51,55,98,49,54,53,50,99,48,98,100,51,98,98,49,98,102,48,55,51,53,55,51,100,102,56,56,51,100,50,99,51,52,102,49,101,102,52,53,49,102,100,52,54,98,53,48,51,102,48,48,0,48,120,49,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,97,53,49,56,54,56,55,56,51,98,102,50,102,57,54,54,98,55,102,99,99,48,49,52,56,102,55,48,57,97,53,100,48,51,98,98,53,99,57,98,56,56,57,57,99,52,55,97,101,98,98,54,102,98,55,49,101,57,49,51,56,54,52,48,57,0,48,120,48,48,99,54,56,53,56,101,48,54,98,55,48,52,48,52,101,57,99,100,57,101,51,101,99,98,54,54,50,51,57,53,98,52,52,50,57,99,54,52,56,49,51,57,48,53,51,102,98,53,50,49,102,56,50,56,97,102,54,48,54,98,52,100,51,100,98,97,97,49,52,98,53,101,55,55,101,102,101,55,53,57,50,56,102,101,49,100,99,49,50,55,97,50,102,102,97,56,100,101,51,51,52,56,98,51,99,49,56,53,54,97,52,50,57,98,102,57,55,101,55,101,51,49,99,50,101,53,98,100,54,54,0,48,120,48,49,49,56,51,57,50,57,54,97,55,56,57,97,51,98,99,48,48,52,53,99,56,97,53,102,98,52,50,99,55,100,49,98,100,57,57,56,102,53,52,52,52,57,53,55,57,98,52,52,54,56,49,55,97,102,98,100,49,55,50,55,51,101,54,54,50,99,57,55,101,101,55,50,57,57,53,101,102,52,50,54,52,48,99,53,53,48,98,57,48,49,51,102,97,100,48,55,54,49,51,53,51,99,55,48,56,54,97,50,55,50,99,50,52,48,56,56,98,101,57,52,55,54,57,102,100,49,54,54,53,48,0,98,114,97,105,110,112,111,111,108,80,49,54,48,114,49,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,99,55,97,100,57,53,98,51,100,56,49,51,57,53,49,53,54,50,48,102,0,48,120,51,52,48,101,55,98,101,50,97,50,56,48,101,98,55,52,101,50,98,101,54,49,98,97,100,97,55,52,53,100,57,55,101,56,102,55,99,51,48,48,0,48,120,49,101,53,56,57,97,56,53,57,53,52,50,51,52,49,50,49,51,52,102,97,97,50,100,98,100,101,99,57,53,99,56,100,56,54,55,53,101,53,56,0,48,120,101,57,53,101,52,97,53,102,55,51,55,48,53,57,100,99,54,48,100,102,53,57,57,49,100,52,53,48,50,57,52,48,57,101,54,48,102,99,48,57,0,48,120,98,101,100,53,97,102,49,54,101,97,51,102,54,97,52,102,54,50,57,51,56,99,52,54,51,49,101,98,53,97,102,55,98,100,98,99,100,98,99,51,0,48,120,49,54,54,55,99,98,52,55,55,97,49,97,56,101,99,51,51,56,102,57,52,55,52,49,54,54,57,99,57,55,54,51,49,54,100,97,54,51,50,49,0,98,114,97,105,110,112,111,111,108,80,49,57,50,114,49,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,51,48,57,51,100,49,56,100,98,55,56,102,99,101,52,55,54,100,101,49,97,56,54,50,57,55,0,48,120,54,97,57,49,49,55,52,48,55,54,98,49,101,48,101,49,57,99,51,57,99,48,51,49,102,101,56,54,56,53,99,49,99,97,101,48,52,48,101,53,99,54,57,97,50,56,101,102,0,48,120,52,54,57,97,50,56,101,102,55,99,50,56,99,99,97,51,100,99,55,50,49,100,48,52,52,102,52,52,57,54,98,99,99,97,55,101,102,52,49,52,54,102,98,102,50,53,99,57,0,48,120,99,51,48,50,102,52,49,100,57,51,50,97,51,54,99,100,97,55,97,51,52,54,50,102,57,101,57,101,57,49,54,98,53,98,101,56,102,49,48,50,57,97,99,52,97,99,99,49,0,48,120,99,48,97,48,54,52,55,101,97,97,98,54,97,52,56,55,53,51,98,48,51,51,99,53,54,99,98,48,102,48,57,48,48,97,50,102,53,99,52,56,53,51,51,55,53,102,100,54,0,48,120,49,52,98,54,57,48,56,54,54,97,98,100,53,98,98,56,56,98,53,102,52,56,50,56,99,49,52,57,48,48,48,50,101,54,55,55,51,102,97,50,102,97,50,57,57,98,56,102,0,98,114,97,105,110,112,111,111,108,80,50,50,52,114,49,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,49,100,55,56,55,98,48,57,102,48,55,53,55,57,55,100,97,56,57,102,53,55,101,99,56,99,48,102,102,0,48,120,54,56,97,53,101,54,50,99,97,57,99,101,54,99,49,99,50,57,57,56,48,51,97,54,99,49,53,51,48,98,53,49,52,101,49,56,50,97,100,56,98,48,48,52,50,97,53,57,99,97,100,50,57,102,52,51,0,48,120,50,53,56,48,102,54,51,99,99,102,101,52,52,49,51,56,56,55,48,55,49,51,98,49,97,57,50,51,54,57,101,51,51,101,50,49,51,53,100,50,54,54,100,98,98,51,55,50,51,56,54,99,52,48,48,98,0,48,120,100,55,99,49,51,52,97,97,50,54,52,51,54,54,56,54,50,97,49,56,51,48,50,53,55,53,100,48,102,98,57,56,100,49,49,54,98,99,52,98,54,100,100,101,98,99,97,51,97,53,97,55,57,51,57,102,0,48,120,48,100,57,48,50,57,97,100,50,99,55,101,53,99,102,52,51,52,48,56,50,51,98,50,97,56,55,100,99,54,56,99,57,101,52,99,101,51,49,55,52,99,49,101,54,101,102,100,101,101,49,50,99,48,55,100,0,48,120,53,56,97,97,53,54,102,55,55,50,99,48,55,50,54,102,50,52,99,54,98,56,57,101,52,101,99,100,97,99,50,52,51,53,52,98,57,101,57,57,99,97,97,51,102,54,100,51,55,54,49,52,48,50,99,100,0,98,114,97,105,110,112,111,111,108,80,50,53,54,114,49,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,50,54,101,51,98,102,54,50,51,100,53,50,54,50,48,50,56,50,48,49,51,52,56,49,100,49,102,54,101,53,51,55,55,0,48,120,55,100,53,97,48,57,55,53,102,99,50,99,51,48,53,55,101,101,102,54,55,53,51,48,52,49,55,97,102,102,101,55,102,98,56,48,53,53,99,49,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,0,48,120,50,54,100,99,53,99,54,99,101,57,52,97,52,98,52,52,102,51,51,48,98,53,100,57,98,98,100,55,55,99,98,102,57,53,56,52,49,54,50,57,53,99,102,55,101,49,99,101,54,98,99,99,100,99,49,56,102,102,56,99,48,55,98,54,0,48,120,97,57,102,98,53,55,100,98,97,49,101,101,97,57,98,99,51,101,54,54,48,97,57,48,57,100,56,51,56,100,55,49,56,99,51,57,55,97,97,51,98,53,54,49,97,54,102,55,57,48,49,101,48,101,56,50,57,55,52,56,53,54,97,55,0,48,120,56,98,100,50,97,101,98,57,99,98,55,101,53,55,99,98,50,99,52,98,52,56,50,102,102,99,56,49,98,55,97,102,98,57,100,101,50,55,101,49,101,51,98,100,50,51,99,50,51,97,52,52,53,51,98,100,57,97,99,101,51,50,54,50,0,48,120,53,52,55,101,102,56,51,53,99,51,100,97,99,52,102,100,57,55,102,56,52,54,49,97,49,52,54,49,49,100,99,57,99,50,55,55,52,53,49,51,50,100,101,100,56,101,53,52,53,99,49,100,53,52,99,55,50,102,48,52,54,57,57,55,0,98,114,97,105,110,112,111,111,108,80,51,50,48,114,49,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,54,102,54,102,52,48,100,101,102,52,102,57,50,98,57,101,99,55,56,57,51,101,99,50,56,102,99,100,52,49,50,98,49,102,49,98,51,50,101,50,55,0,48,120,51,101,101,51,48,98,53,54,56,102,98,97,98,48,102,56,56,51,99,99,101,98,100,52,54,100,51,102,51,98,98,56,97,50,97,55,51,53,49,51,102,53,101,98,55,57,100,97,54,54,49,57,48,101,98,48,56,53,102,102,97,57,102,52,57,50,102,51,55,53,97,57,55,100,56,54,48,101,98,52,0,48,120,53,50,48,56,56,51,57,52,57,100,102,100,98,99,52,50,100,51,97,100,49,57,56,54,52,48,54,56,56,97,54,102,101,49,51,102,52,49,51,52,57,53,53,52,98,52,57,97,99,99,51,49,100,99,99,100,56,56,52,53,51,57,56,49,54,102,53,101,98,52,97,99,56,102,98,49,102,49,97,54,0,48,120,100,51,53,101,52,55,50,48,51,54,98,99,52,102,98,55,101,49,51,99,55,56,53,101,100,50,48,49,101,48,54,53,102,57,56,102,99,102,97,53,98,54,56,102,49,50,97,51,50,100,52,56,50,101,99,55,101,101,56,54,53,56,101,57,56,54,57,49,53,53,53,98,52,52,99,53,57,51,49,49,0,48,120,52,51,98,100,55,101,57,97,102,98,53,51,100,56,98,56,53,50,56,57,98,99,99,52,56,101,101,53,98,102,101,54,102,50,48,49,51,55,100,49,48,97,48,56,55,101,98,54,101,55,56,55,49,101,50,97,49,48,97,53,57,57,99,55,49,48,97,102,56,100,48,100,51,57,101,50,48,54,49,49,0,48,120,49,52,102,100,100,48,53,53,52,53,101,99,49,99,99,56,97,98,52,48,57,51,50,52,55,102,55,55,50,55,53,101,48,55,52,51,102,102,101,100,49,49,55,49,56,50,101,97,97,57,99,55,55,56,55,55,97,97,97,99,54,97,99,55,100,51,53,50,52,53,100,49,54,57,50,101,56,101,101,49,0,98,114,97,105,110,112,111,111,108,80,51,56,52,114,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,52,49,50,98,49,100,97,49,57,55,102,98,55,49,49,50,51,97,99,100,51,97,55,50,57,57,48,49,100,49,97,55,49,56,55,52,55,48,48,49,51,51,49,48,55,101,99,53,51,0,48,120,55,98,99,51,56,50,99,54,51,100,56,99,49,53,48,99,51,99,55,50,48,56,48,97,99,101,48,53,97,102,97,48,99,50,98,101,97,50,56,101,52,102,98,50,50,55,56,55,49,51,57,49,54,53,101,102,98,97,57,49,102,57,48,102,56,97,97,53,56,49,52,97,53,48,51,97,100,52,101,98,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,0,48,120,48,52,97,56,99,55,100,100,50,50,99,101,50,56,50,54,56,98,51,57,98,53,53,52,49,54,102,48,52,52,55,99,50,102,98,55,55,100,101,49,48,55,100,99,100,50,97,54,50,101,56,56,48,101,97,53,51,101,101,98,54,50,100,53,55,99,98,52,51,57,48,50,57,53,100,98,99,57,57,52,51,97,98,55,56,54,57,54,102,97,53,48,52,99,49,49,0,48,120,56,99,98,57,49,101,56,50,97,51,51,56,54,100,50,56,48,102,53,100,54,102,55,101,53,48,101,54,52,49,100,102,49,53,50,102,55,49,48,57,101,100,53,52,53,54,98,51,49,102,49,54,54,101,54,99,97,99,48,52,50,53,97,55,99,102,51,97,98,54,97,102,54,98,55,102,99,51,49,48,51,98,56,56,51,50,48,50,101,57,48,52,54,53,54,53,0,48,120,49,100,49,99,54,52,102,48,54,56,99,102,52,53,102,102,97,50,97,54,51,97,56,49,98,55,99,49,51,102,54,98,56,56,52,55,97,51,101,55,55,101,102,49,52,102,101,51,100,98,55,102,99,97,102,101,48,99,98,100,49,48,101,56,101,56,50,54,101,48,51,52,51,54,100,54,52,54,97,97,101,102,56,55,98,50,101,50,52,55,100,52,97,102,49,101,0,48,120,56,97,98,101,49,100,55,53,50,48,102,57,99,50,97,52,53,99,98,49,101,98,56,101,57,53,99,102,100,53,53,50,54,50,98,55,48,98,50,57,102,101,101,99,53,56,54,52,101,49,57,99,48,53,52,102,102,57,57,49,50,57,50,56,48,101,52,54,52,54,50,49,55,55,57,49,56,49,49,49,52,50,56,50,48,51,52,49,50,54,51,99,53,51,49,53,0,98,114,97,105,110,112,111,111,108,80,53,49,50,114,49,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,49,55,100,52,100,57,98,48,48,57,98,99,54,54,56,52,50,97,101,99,100,97,49,50,97,101,54,97,51,56,48,101,54,50,56,56,49,102,102,50,102,50,100,56,50,99,54,56,53,50,56,97,97,54,48,53,54,53,56,51,97,52,56,102,51,0,48,120,55,56,51,48,97,51,51,49,56,98,54,48,51,98,56,57,101,50,51,50,55,49,52,53,97,99,50,51,52,99,99,53,57,52,99,98,100,100,56,100,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,0,48,120,51,100,102,57,49,54,49,48,97,56,51,52,52,49,99,97,101,97,57,56,54,51,98,99,50,100,101,100,53,100,53,97,97,56,50,53,51,97,97,49,48,97,50,101,102,49,99,57,56,98,57,97,99,56,98,53,55,102,49,49,49,55,97,55,50,98,102,50,99,55,98,57,101,55,99,49,97,99,52,100,55,55,102,99,57,52,99,97,100,99,48,56,51,101,54,55,57,56,52,48,53,48,98,55,53,101,98,97,101,53,100,100,50,56,48,57,98,100,54,51,56,48,49,54,102,55,50,51,0,48,120,97,97,100,100,57,100,98,56,100,98,101,57,99,52,56,98,51,102,100,52,101,54,97,101,51,51,99,57,102,99,48,55,99,98,51,48,56,100,98,51,98,51,99,57,100,50,48,101,100,54,54,51,57,99,99,97,55,48,51,51,48,56,55,48,53,53,51,101,53,99,52,49,52,99,97,57,50,54,49,57,52,49,56,54,54,49,49,57,55,102,97,99,49,48,52,55,49,100,98,49,100,51,56,49,48,56,53,100,100,97,100,100,98,53,56,55,57,54,56,50,57,99,97,57,48,48,54,57,0,48,120,56,49,97,101,101,52,98,100,100,56,50,101,100,57,54,52,53,97,50,49,51,50,50,101,57,99,52,99,54,97,57,51,56,53,101,100,57,102,55,48,98,53,100,57,49,54,99,49,98,52,51,98,54,50,101,101,102,52,100,48,48,57,56,101,102,102,51,98,49,102,55,56,101,50,100,48,100,52,56,100,53,48,100,49,54,56,55,98,57,51,98,57,55,100,53,102,55,99,54,100,53,48,52,55,52,48,54,97,53,101,54,56,56,98,51,53,50,50,48,57,98,99,98,57,102,56,50,50,0,48,120,55,100,100,101,51,56,53,100,53,54,54,51,51,50,101,99,99], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480);
+/* memory initializer */ allocate([48,101,97,98,102,97,57,99,102,55,56,50,50,102,100,102,50,48,57,102,55,48,48,50,52,97,53,55,98,49,97,97,48,48,48,99,53,53,98,56,56,49,102,56,49,49,49,98,50,100,99,100,101,52,57,52,97,53,102,52,56,53,101,53,98,99,97,52,98,100,56,56,97,50,55,54,51,97,101,100,49,99,97,50,98,50,102,97,56,102,48,53,52,48,54,55,56,99,100,49,101,48,102,51,97,100,56,48,56,57,50,0,71,79,83,84,50,48,48,49,45,116,101,115,116,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,52,51,49,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,55,0,48,120,53,102,98,102,102,52,57,56,97,97,57,51,56,99,101,55,51,57,98,56,101,48,50,50,102,98,97,102,101,102,52,48,53,54,51,102,54,101,54,97,51,52,55,50,102,99,50,97,53,49,52,99,48,99,101,57,100,97,101,50,51,98,55,101,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,48,102,101,56,97,49,56,57,50,57,55,54,49,53,52,99,53,57,99,102,99,49,57,51,97,99,99,102,53,98,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,48,56,101,50,97,56,97,48,101,54,53,49,52,55,100,52,98,100,54,51,49,54,48,51,48,101,49,54,100,49,57,99,56,53,99,57,55,102,48,97,57,99,97,50,54,55,49,50,50,98,57,54,97,98,98,99,101,97,55,101,56,102,99,56,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,57,52,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,97,54,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,54,99,54,49,49,48,55,48,57,57,53,97,100,49,48,48,52,53,56,52,49,98,48,57,98,55,54,49,98,56,57,51,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,0,48,120,56,100,57,49,101,52,55,49,101,48,57,56,57,99,100,97,50,55,100,102,53,48,53,97,52,53,51,102,50,98,55,54,51,53,50,57,52,102,50,100,100,102,50,51,101,51,98,49,50,50,97,99,99,57,57,99,57,101,57,102,49,101,49,52,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,57,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,99,57,54,0,48,120,51,101,49,97,102,52,49,57,97,50,54,57,97,53,102,56,54,54,97,55,100,51,99,50,53,99,51,100,102,56,48,97,101,57,55,57,50,53,57,51,55,51,102,102,50,98,49,56,50,102,52,57,100,52,99,101,55,101,49,98,98,99,56,98,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,53,102,55,48,48,99,102,102,102,49,97,54,50,52,101,53,101,52,57,55,49,54,49,98,99,99,56,97,49,57,56,102,0,48,120,51,102,97,56,49,50,52,51,53,57,102,57,54,54,56,48,98,56,51,100,49,99,51,101,98,50,99,48,55,48,101,53,99,53,52,53,99,57,56,53,56,100,48,51,101,99,102,98,55,52,52,98,102,56,100,55,49,55,55,49,55,101,102,99,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,67,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,98,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,99,102,56,52,54,101,56,54,55,56,57,48,53,49,100,51,55,57,57,56,102,55,98,57,48,50,50,100,55,53,57,56,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,48,53,97,0,48,120,57,98,57,102,54,48,53,102,53,97,56,53,56,49,48,55,97,98,49,101,99,56,53,101,54,98,52,49,99,56,97,97,53,56,50,99,97,51,53,49,49,101,100,100,102,98,55,52,102,48,50,102,51,97,54,53,57,56,57,56,48,98,98,57,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,48,120,52,49,101,99,101,53,53,55,52,51,55,49,49,97,56,99,51,99,98,102,51,55,56,51,99,100,48,56,99,48,101,101,52,100,52,100,99,52,52,48,100,52,54,52,49,97,56,102,51,54,54,101,53,53,48,100,102,100,98,51,98,98,54,55,0,71,79,83,84,50,48,49,50,45,116,101,115,116,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,102,49,100,56,53,50,55,52,49,97,102,52,55,48,52,97,48,52,53,56,48,52,55,101,56,48,101,52,53,52,54,100,51,53,98,56,51,51,54,102,97,99,50,50,52,100,100,56,49,54,54,52,98,98,102,53,50,56,98,101,54,51,55,51,0,48,120,49,99,102,102,48,56,48,54,97,51,49,49,49,54,100,97,50,57,100,56,99,102,97,53,52,101,53,55,101,98,55,52,56,98,99,53,102,51,55,55,101,52,57,52,48,48,102,100,100,55,56,56,98,54,52,57,101,99,97,49,97,99,52,51,54,49,56,51,52,48,49,51,98,50,97,100,55,51,50,50,52,56,48,97,56,57,99,97,53,56,101,48,99,102,55,52,98,99,57,101,53,52,48,99,50,97,100,100,54,56,57,55,102,97,100,48,97,51,48,56,52,102,51,48,50,97,100,99,0,48,120,52,53,51,49,97,99,100,49,102,101,48,48,50,51,99,55,53,53,48,100,50,54,55,98,54,98,50,102,101,101,56,48,57,50,50,98,49,52,98,50,102,102,98,57,48,102,48,52,100,52,101,98,55,99,48,57,98,53,100,50,100,49,53,100,97,56,50,102,50,100,55,101,99,98,49,100,98,97,99,55,49,57,57,48,53,99,53,101,101,99,99,52,50,51,102,49,100,56,54,101,50,53,101,100,98,101,50,51,99,53,57,53,100,54,52,52,97,97,102,49,56,55,101,54,101,54,100,102,0,48,120,50,52,100,49,57,99,99,54,52,53,55,50,101,101,51,48,102,51,57,54,98,102,54,101,98,98,102,100,55,97,54,99,53,50,49,51,98,51,98,51,100,55,48,53,55,99,99,56,50,53,102,57,49,48,57,51,97,54,56,99,100,55,54,50,102,100,54,48,54,49,49,50,54,50,99,100,56,51,56,100,99,54,98,54,48,97,97,55,101,101,101,56,48,52,101,50,56,98,99,56,52,57,57,55,55,102,97,99,51,51,98,52,98,53,51,48,102,49,98,49,50,48,50,52,56,97,57,97,0,48,120,50,98,98,51,49,50,97,52,51,98,100,50,99,101,54,101,48,100,48,50,48,54,49,51,99,56,53,55,97,99,100,100,99,102,98,102,48,54,49,101,57,49,101,53,102,50,99,51,102,51,50,52,52,55,99,50,53,57,102,51,57,98,50,99,56,51,97,98,49,53,54,100,55,55,102,49,52,57,54,98,102,55,101,98,51,51,53,49,101,49,101,101,52,101,52,51,100,99,49,97,49,56,98,57,49,98,50,52,54,52,48,98,54,100,98,98,57,50,99,98,49,97,100,100,51,55,49,101,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,65,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,55,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,100,99,52,0,48,120,101,56,99,50,53,48,53,100,101,100,102,99,56,54,100,100,99,49,98,100,48,98,50,98,54,54,54,55,102,49,100,97,51,52,98,56,50,53,55,52,55,54,49,99,98,48,101,56,55,57,98,100,48,56,49,99,102,100,48,98,54,50,54,53,101,101,51,99,98,48,57,48,102,51,48,100,50,55,54,49,52,99,98,52,53,55,52,48,49,48,100,97,57,48,100,100,56,54,50,101,102,57,100,52,101,98,101,101,52,55,54,49,53,48,51,49,57,48,55,56,53,97,55,49,99,55,54,48,0,48,120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,50,55,101,54,57,53,51,50,102,52,56,100,56,57,49,49,54,102,102,50,50,98,56,100,52,101,48,53,54,48,54,48,57,98,52,98,51,56,97,98,102,97,100,50,98,56,53,100,99,97,99,100,98,49,52,49,49,102,49,48,98,50,55,53,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,51,0,48,120,55,53,48,51,99,102,101,56,55,97,56,51,54,97,101,51,97,54,49,98,56,56,49,54,101,50,53,52,53,48,101,54,99,101,53,101,49,99,57,51,97,99,102,49,97,98,99,49,55,55,56,48,54,52,102,100,99,98,101,102,97,57,50,49,100,102,49,54,50,54,98,101,52,102,100,48,51,54,101,57,51,100,55,53,101,54,97,53,48,101,51,97,52,49,101,57,56,48,50,56,102,101,53,102,99,50,51,53,102,53,98,56,56,57,97,53,56,57,99,98,53,50,49,53,102,50,97,52,0,71,79,83,84,50,48,49,50,45,116,99,50,54,45,66,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,102,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,54,99,0,48,120,54,56,55,100,49,98,52,53,57,100,99,56,52,49,52,53,55,101,51,101,48,54,99,102,54,102,53,101,50,53,49,55,98,57,55,99,55,100,54,49,52,97,102,49,51,56,98,99,98,102,56,53,100,99,56,48,54,99,52,98,50,56,57,102,51,101,57,54,53,100,50,100,98,49,52,49,54,100,50,49,55,102,56,98,50,55,54,102,97,100,49,97,98,54,57,99,53,48,102,55,56,98,101,101,49,102,97,51,49,48,54,101,102,98,56,99,99,98,99,55,99,53,49,52,48,49,49,54,0,48,120,56,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,49,52,57,97,49,101,99,49,52,50,53,54,53,97,53,52,53,97,99,102,100,98,55,55,98,100,57,100,52,48,99,102,97,56,98,57,57,54,55,49,50,49,48,49,98,101,97,48,101,99,54,51,52,54,99,53,52,51,55,52,102,50,53,98,100,0,48,120,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,50,0,48,120,49,97,56,102,55,101,100,97,51,56,57,98,48,57,52,99,50,99,48,55,49,101,51,54,52,55,97,56,57,52,48,102,51,99,49,50,51,98,54,57,55,53,55,56,99,50,49,51,98,101,54,100,100,57,101,54,99,56,101,99,55,51,51,53,100,99,98,50,50,56,102,100,49,101,100,102,52,97,51,57,49,53,50,99,98,99,97,97,102,56,99,48,51,57,56,56,50,56,48,52,49,48,53,53,102,57,52,99,101,101,101,99,55,101,50,49,51,52,48,55,56,48,102,101,52,49,98,100,0,115,101,99,112,50,53,54,107,49,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,70,70,70,70,70,67,50,70,0,48,120,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,69,66,65,65,69,68,67,69,54,65,70,52,56,65,48,51,66,66,70,68,50,53,69,56,67,68,48,51,54,52,49,52,49,0,48,120,55,57,66,69,54,54,55,69,70,57,68,67,66,66,65,67,53,53,65,48,54,50,57,53,67,69,56,55,48,66,48,55,48,50,57,66,70,67,68,66,50,68,67,69,50,56,68,57,53,57,70,50,56,49,53,66,49,54,70,56,49,55,57,56,0,48,120,52,56,51,65,68,65,55,55,50,54,65,51,67,52,54,53,53,68,65,52,70,66,70,67,48,69,49,49,48,56,65,56,70,68,49,55,66,52,52,56,65,54,56,53,53,52,49,57,57,67,52,55,68,48,56,70,70,66,49,48,68,52,66,56,0,49,46,51,46,54,46,49,46,52,46,49,46,49,49,53,57,49,46,49,53,46,49,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,49,0,112,114,105,109,101,49,57,50,118,49,0,115,101,99,112,49,57,50,114,49,0,110,105,115,116,112,49,57,50,0,115,101,99,112,50,50,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,51,0,110,105,115,116,112,50,50,52,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,51,46,49,46,55,0,112,114,105,109,101,50,53,54,118,49,0,115,101,99,112,50,53,54,114,49,0,110,105,115,116,112,50,53,54,0,115,101,99,112,51,56,52,114,49,0,49,46,51,46,49,51,50,46,48,46,51,52,0,110,105,115,116,112,51,56,52,0,115,101,99,112,53,50,49,114,49,0,49,46,51,46,49,51,50,46,48,46,51,53,0,110,105,115,116,112,53,50,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,51,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,53,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,55,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,57,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,49,0,49,46,51,46,51,54,46,51,46,51,46,50,46,56,46,49,46,49,46,49,51,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,49,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,50,0,49,46,50,46,54,52,51,46,50,46,50,46,51,53,46,51,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,65,0,71,79,83,84,50,48,48,49,45,67,114,121,112,116,111,80,114,111,45,88,99,104,66,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,48,0,49,46,50,46,54,52,51,46,50,46,50,46,51,54,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,49,0,49,46,50,46,54,52,51,46,55,46,49,46,50,46,49,46,50,46,50,0,49,46,51,46,49,51,50,46,48,46,49,48,0,48,120,48,52,0,45,112,97,98,103,110,104,0,98,0,103,0,46,120,0,46,121,0,46,122,0,104,0,100,0,101,99,99,32,103,101,116,32,112,97,114,97,109,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,40,112,117,98,108,105,99,45,107,101,121,40,101,99,99,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,41,41,0,103,46,120,0,103,46,121,0,113,46,120,0,113,46,121,0,101,100,100,115,97,95,101,110,99,111,100,101,112,111,105,110,116,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,48,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,68,0,115,99,97,110,110,105,110,103,32,69,67,67,32,112,97,114,97,109,101,116,101,114,32,102,97,105,108,101,100,58,32,37,115,10,0,50,66,56,51,50,52,56,48,52,70,67,49,68,70,48,66,50,66,52,68,48,48,57,57,51,68,70,66,68,55,65,55,50,70,52,51,49,56,48,54,65,68,50,70,69,52,55,56,67,52,69,69,49,66,50,55,52,65,48,69,65,48,66,48,0,101,99,103,101,110,32,32,32,32,32,32,112,107,0,42,32,101,95,112,107,0,32,32,101,95,112,107,0,32,32,32,32,32,109,0,32,32,32,114,0,32,32,32,101,95,114,0,32,72,40,82,43,41,0,32,32,32,101,95,115,0,87,101,105,101,114,115,116,114,97,115,115,0,69,100,119,97,114,100,115,0,83,116,97,110,100,97,114,100,0,69,100,50,53,53,49,57,0,109,112,105,95,112,114,105,110,116,32,102,97,105,108,101,100,58,32,37,115,10,0,109,112,105,95,115,99,97,110,32,102,97,105,108,101,100,58,32,37,115,10,0,70,73,80,83,45,49,57,56,97,44,32,65,46,49,0,83,97,109,112,108,101,32,35,49,0,79,76,163,213,214,139,167,204,10,18,8,201,198,30,156,93,160,64,60,10,0,105,110,118,97,108,105,100,32,116,101,115,116,115,32,100,97,116,97,0,103,99,114,121,95,109,100,95,115,101,116,107,101,121,32,102,97,105,108,101,100,0,103,99,114,121,95,109,100,95,114,101,97,100,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,0,70,73,80,83,45,49,57,56,97,44,32,65,46,50,0,83,97,109,112,108,101,32,35,50,0,9,34,211,64,95,170,61,25,79,130,164,88,48,115,125,92,198,199,93,36,0,70,73,80,83,45,49,57,56,97,44,32,65,46,51,0,83,97,109,112,108,101,32,35,51,0,188,244,30,171,139,178,216,2,243,208,92,175,124,176,146,236,248,209,163,170,0,70,73,80,83,45,49,57,56,97,44,32,65,46,52,0,83,97,109,112,108,101,32,35,52,0,158,168,134,239,226,104,219,236,206,66,12,117,36,223,50,224,117,26,42,38,0,104,109,97,99,0,100,97,116,97,45,50,56,32,107,101,121,45,52,0,119,104,97,116,32,100,111,32,121,97,32,119,97,110,116,32,102,111,114,32,110,111,116,104,105,110,103,63,0,74,101,102,101,0,100,97,116,97,45,57,32,107,101,121,45,50,48,0,72,105,32,84,104,101,114,101,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,100,97,116,97,45,53,48,32,107,101,121,45,50,48,0,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,221,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,53,48,32,107,101,121,45,50,54,0,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,205,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,100,97,116,97,45,53,52,32,107,101,121,45,49,51,49,0,84,101,115,116,32,85,115,105,110,103,32,76,97,114,103,101,114,32,84,104,97,110,32,66,108,111,99,107,45,83,105,122,101,32,75,101,121,32,45,32,72,97,115,104,32,75,101,121,32,70,105,114,115,116,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,100,97,116,97,45,49,53,50,32,107,101,121,45,49,51,49,0,84,104,105,115,32,105,115,32,97,32,116,101,115,116,32,117,115,105,110,103,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,107,101,121,32,97,110,100,32,97,32,108,97,114,103,101,114,32,116,104,97,110,32,98,108,111,99,107,45,115,105,122,101,32,100,97,116,97,46,32,84,104,101,32,107,101,121,32,110,101,101,100,115,32,116,111,32,98,101,32,104,97,115,104,101,100,32,98,101,102,111,114,101,32,98,101,105,110,103,32,117,115,101,100,32,98,121,32,116,104,101,32,72,77,65,67,32,97,108,103,111,114,105,116,104,109,46,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,110,101,119,32,102,97,105,108,101,100,0,95,103,99,114,121,95,104,109,97,99,50,53,54,95,102,105,110,97,108,105,122,101,32,102,97,105,108,101,100,0,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,105,110,32,115,101,99,111,110,100,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,111,105,100,46,0,79,73,68,46,0,109,100,46,99,0,109,100,95,119,114,105,116,101,0,109,100,95,101,110,97,98,108,101,58,32,97,108,103,111,114,105,116,104,109,32,37,100,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,77,68,53,32,117,115,101,100,0,79,111,112,115,58,32,109,100,32,100,101,98,117,103,32,97,108,114,101,97,100,121,32,115,116,97,114,116,101,100,10,0,100,98,103,109,100,45,37,48,53,100,46,37,46,49,48,115,0,119,0,109,100,32,100,101,98,117,103,58,32,99,97,110,39,116,32,111,112,101,110,32,37,115,10,0,109,100,95,103,101,116,95,97,108,103,111,0,112,111,115,115,105,98,108,101,32,117,115,97,103,101,32,101,114,114,111,114,0,87,65,82,78,73,78,71,58,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,103,101,116,95,97,108,103,111,40,41,10,0,109,111,114,101,32,116,104,97,110,32,111,110,101,32,97,108,103,111,114,105,116,104,109,32,105,110,32,109,100,95,114,101,97,100,40,48,41,10,0,109,100,95,114,101,97,100,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,32,102,111,114,32,97,108,103,111,32,37,100,58,32,37,115,0,107,101,121,108,101,110,32,60,61,32,104,100,45,62,99,116,120,45,62,109,97,99,112,97,100,115,95,66,115,105,122,101,0,112,114,101,112,97,114,101,95,109,97,99,112,97,100,115,0,110,111,32,65,83,78,46,49,32,79,73,68,32,102,111,114,32,109,100,32,97,108,103,111,32,37,100,10,0,99,97,110,39,116,32,103,101,110,101,114,97,116,101,32,97,32,112,114,105,109,101,32,119,105,116,104,32,108,101,115,115,32,116,104,97,110,32,37,100,32,98,105,116,115,10,0,95,103,99,114,121,95,109,112,105,95,99,109,112,40,32,40,120,41,44,32,40,110,109,105,110,117,115,49,41,32,41,32,60,32,48,32,38,38,32,95,103,99,114,121,95,109,112,105,95,99,109,112,95,117,105,40,32,40,120,41,44,32,40,49,41,32,41,32,62,32,48,0,112,114,105,109,101,103,101,110,46,99,0,105,115,95,112,114,105,109,101,0,112,114,105,109,101,103,101,110,0,111,118,101,114,102,108,111,119,32,105,110,32,112,114,105,109,101,32,103,101,110,101,114,97,116,105,111,110,10,0,112,115,115,0,114,97,119,0,99,111,109,112,0,111,97,101,112,0,112,107,99,115,49,0,112,97,114,97,109,0,110,111,99,111,109,112,0,114,102,99,54,57,55,57,0,110,111,112,97,114,97,109,0,112,107,99,115,49,45,114,97,119,0,105,103,110,105,110,118,102,108,97,103,0,110,111,45,107,101,121,116,101,115,116,0,110,111,45,98,108,105,110,100,105,110,103,0,117,115,101,45,102,105,112,115,49,56,54,0,117,115,101,45,102,105,112,115,49,56,54,45,50,0,110,98,105,116,115,0,114,115,97,45,117,115,101,45,101,0,115,105,103,45,118,97,108,0,104,97,115,104,45,97,108,103,111,0,115,104,97,49,0,109,100,53,0,115,104,97,50,53,54,0,114,105,112,101,109,100,49,54,48,0,114,109,100,49,54,48,0,115,104,97,51,56,52,0,115,104,97,53,49,50,0,115,104,97,50,50,52,0,109,100,50,0,109,100,52,0,116,105,103,101,114,0,104,97,118,97,108,0,108,97,98,101,108,0,114,97,110,100,111,109,45,111,118,101,114,114,105,100,101,0,100,97,116,97,0,104,97,115,104,0,115,97,108,116,45,108,101,110,103,116,104,0,63,0,112,114,105,118,97,116,101,45,107,101,121,0,112,117,98,108,105,99,45,107,101,121,0,103,101,110,107,101,121,0,97,108,103,111,114,105,116,104,109,32,100,105,115,97,98,108,101,100,0,97,108,103,111,114,105,116,104,109,32,110,111,116,32,102,111,117,110,100,0,110,111,32,115,101,108,102,116,101,115,116,32,97,118,97,105,108,97,98,108,101,0,109,111,100,117,108,101,0,65,69,83,0,82,73,74,78,68,65,69,76,0,65,69,83,49,50,56,0,65,69,83,45,49,50,56,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,0,232,233,234,235,237,238,239,240,242,243,244,245,247,248,249,250,1,75,175,34,120,166,157,51,29,81,128,16,54,67,233,154,103,67,195,209,81,154,180,242,205,154,120,171,9,165,17,189,65,69,83,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,4,5,6,7,9,10,11,12,14,15,16,17,19,20,21,22,24,25,26,27,29,30,31,32,118,119,116,117,241,242,243,244,248,249,230,231,119,112,113,114,93,30,242,13,206,214,188,188,18,19,26,199,197,71,136,170,65,69,83,45,49,57,50,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,49,57,50,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,8,9,10,11,13,14,15,16,18,19,20,21,23,24,25,26,28,29,30,31,33,34,35,36,38,39,40,41,43,44,45,46,6,154,0,127,199,106,69,159,152,186,249,23,254,223,149,33,8,14,149,23,235,22,119,113,154,207,114,128,134,4,10,227,65,69,83,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,65,69,83,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,99,102,98,0,110,111,32,116,101,115,116,32,100,97,116,97,32,102,111,114,32,116,104,105,115,32,109,111,100,101,0,111,112,101,110,0,115,101,116,32,107,101,121,0,115,101,116,32,73,86,0,101,110,99,114,121,112,116,32,99,111,109,109,97,110,100,0,101,110,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,100,101,99,114,121,112,116,32,99,111,109,109,97,110,100,0,100,101,99,114,121,112,116,32,109,105,115,109,97,116,99,104,0,111,102,98,0,99,105,112,104,101,114,0,65,69,83,49,57,50,0,82,73,74,78,68,65,69,76,49,57,50,0,65,69,83,45,49,57,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,50,52,0,65,69,83,50,53,54,0,82,73,74,78,68,65,69,76,50,53,54,0,65,69,83,45,50,53,54,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,49,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,50,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,51,0,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,49,46,52,52,0,82,73,80,69,77,68,49,54,48,0,48,33,48,9,6,5,43,36,3,2,1,5,0,4,20,49,46,51,46,51,54,46,51,46,51,46,49,46,50,0,49,46,51,46,51,54,46,51,46,50,46,49,0,105,32,62,32,48,0,114,115,97,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,101,110,99,0,110,32,61,61,32,110,102,114,97,109,101,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,50,32,101,110,99,111,100,101,100,32,100,97,116,97,0,105,32,62,32,49,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,102,111,114,95,115,105,103,0,80,75,67,83,35,49,32,98,108,111,99,107,32,116,121,112,101,32,49,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,107,99,115,49,95,101,110,99,111,100,101,95,114,97,119,95,102,111,114,95,115,105,103,0,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,118,97,108,117,101,32,101,120,116,114,97,99,116,101,100,32,102,114,111,109,32,79,65,69,80,32,101,110,99,111,100,101,100,32,100,97,116,97,0,104,108,101,110,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,101,110,99,111,100,101,0,80,83,83,32,101,110,99,111,100,101,100,32,100,97,116,97,0,95,103,99,114,121,95,114,115,97,95,112,115,115,95,118,101,114,105,102,121,0,82,83,65,0,114,115,97,0,111,112,101,110,112,103,112,45,114,115,97,0,111,105,100,46,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,0,110,101,0,110,101,100,112,113,117,0,97,0,115,0,110,0,100,101,114,105,118,101,45,112,97,114,109,115,0,117,115,101,45,120,57,51,49,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,112,41,41,32,61,61,32,110,98,105,116,115,0,114,115,97,46,99,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,112,0,95,103,99,114,121,95,109,112,105,95,103,101,116,95,110,98,105,116,115,32,40,40,120,105,41,41,32,61,61,32,49,48,49,0,103,101,110,95,120,57,51,49,95,112,97,114,109,95,120,105,0,88,112,49,0,88,112,50,0,88,112,0,88,113,49,0,88,113,50,0,88,113,0,95,103,99,114,121,95,109,112,105,95,103,99,100,32,40,32,40,103,41,44,32,40,101,41,44,32,40,112,104,105,41,32,41,0,103,101,110,101,114,97,116,101,95,120,57,51,49,0,112,32,97,110,100,32,113,32,97,114,101,32,115,119,97,112,112,101,100,10,0,32,32,113,0,32,32,110,0,32,32,101,0,32,32,100,0,32,32,117,0,115,101,108,102,45,116,101,115,116,32,97,102,116,101,114,32,107,101,121,32,103,101,110,101,114,97,116,105,111,110,32,102,97,105,108,101,100,0,40,109,105,115,99,45,107,101,121,45,105,110,102,111,40,112,45,113,45,115,119,97,112,112,101,100,41,41,0,103,101,110,101,114,97,116,101,95,115,116,100,0,32,32,112,61,32,0,32,32,113,61,32,0,112,104,105,61,32,0,32,32,103,61,32,0,32,32,102,61,32,0,32,32,110,61,32,0,32,32,101,61,32,0,32,32,100,61,32,0,32,32,117,61,32,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,114,115,97,40,110,37,109,41,40,101,37,109,41,40,100,37,109,41,40,112,37,109,41,40,113,37,109,41,40,117,37,109,41,41,41,32,37,83,41,0,114,115,97,95,116,101,115,116,107,101,121,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,101,110,99,114,121,112,116,32,100,97,116,97,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,101,110,99,114,121,112,116,32,32,114,101,115,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,98,41,41,41,0,40,101,110,99,45,118,97,108,40,114,115,97,40,97,37,109,41,41,41,0,114,115,97,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,100,101,99,114,121,112,116,32,100,97,116,97,0,110,101,100,112,63,113,63,117,63,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,110,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,101,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,100,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,112,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,113,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,117,0,114,115,97,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,98,41,0,37,109,0,114,115,97,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,115,105,103,110,32,32,32,100,97,116,97,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,110,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,101,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,100,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,112,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,113,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,117,0,114,115,97,95,115,105,103,110,32,32,32,32,114,101,115,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,98,41,41,41,0,40,115,105,103,45,118,97,108,40,114,115,97,40,115,37,77,41,41,41,0,114,115,97,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,114,115,97,95,118,101,114,105,102,121,32,100,97,116,97,0,114,115,97,95,118,101,114,105,102,121,32,32,115,105,103,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,110,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,101,0,114,115,97,95,118,101,114,105,102,121,32,32,99,109,112,0,114,115,97,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,99,111,110,118,101,114,116,0,40,112,114,105,118,97,116,101,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,32,32,40,100,32,35,48,52,54,49,50,57,102,50,52,56,57,100,55,49,53,55,57,98,101,48,97,55,53,102,101,48,50,57,98,100,54,99,100,98,53,55,52,101,98,102,53,55,101,97,56,97,53,98,48,102,100,97,57,52,50,99,97,98,57,52,51,98,49,49,32,32,32,32,32,32,55,100,55,98,98,57,53,101,53,100,50,56,56,55,53,101,48,102,57,102,99,53,102,99,99,48,54,97,55,50,102,54,100,53,48,50,52,54,52,100,97,98,100,101,100,55,56,101,102,54,98,55,49,54,49,55,55,98,56,51,100,53,98,100,32,32,32,32,32,32,99,53,52,51], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720);
+/* memory initializer */ allocate([100,99,53,100,51,102,101,100,57,51,50,101,53,57,102,53,56,57,55,101,57,50,101,54,102,53,56,97,48,102,51,51,52,50,52,49,48,54,97,51,98,54,102,97,50,99,98,102,56,55,55,53,49,48,101,52,97,99,50,49,32,32,32,32,32,32,99,51,101,101,52,55,56,53,49,101,57,55,100,49,50,57,57,54,50,50,50,97,99,51,53,54,54,100,52,99,99,98,48,98,56,51,100,49,54,52,48,55,52,97,98,102,55,100,101,54,53,53,102,99,50,52,52,54,100,97,49,55,56,49,35,41,32,32,40,112,32,35,48,48,101,56,54,49,98,55,48,48,101,49,55,101,56,97,102,101,54,56,51,55,101,55,53,49,50,101,51,53,98,54,99,97,49,49,100,48,97,101,52,55,100,56,98,56,53,49,54,49,99,54,55,98,97,102,54,52,51,55,55,50,49,51,32,32,32,32,32,32,102,101,53,50,100,55,55,50,102,50,48,51,53,98,51,99,97,56,51,48,97,102,52,49,100,56,97,52,49,50,48,101,49,99,49,99,55,48,100,49,50,99,99,50,50,102,48,48,100,50,56,100,51,49,100,100,52,56,97,56,100,52,50,52,102,49,35,41,32,32,40,113,32,35,48,48,102,55,97,55,99,97,53,51,54,55,99,54,54,49,102,56,101,54,50,100,102,51,52,102,48,100,48,53,99,49,48,99,56,56,101,53,52,57,50,51,52,56,100,100,55,98,100,100,99,57,52,50,99,57,97,56,102,51,54,57,102,57,32,32,32,32,32,32,51,53,97,48,55,55,56,53,100,50,100,98,56,48,53,50,49,53,101,100,55,56,54,101,52,50,56,53,100,102,49,54,53,56,101,101,100,51,99,101,56,52,102,52,54,57,98,56,49,98,53,48,100,51,53,56,52,48,55,98,52,97,100,51,54,49,35,41,32,32,40,117,32,35,51,48,52,53,53,57,97,57,101,97,100,53,54,100,50,51,48,57,100,50,48,51,56,49,49,97,54,52,49,98,98,49,97,48,57,54,50,54,98,99,56,101,98,51,54,102,102,102,97,50,51,99,57,54,56,101,99,53,98,100,56,57,49,101,32,32,32,32,32,32,101,98,98,97,102,99,55,51,97,101,54,54,54,101,48,49,98,97,55,99,56,57,57,48,98,97,101,48,54,99,99,50,98,98,101,49,48,98,55,53,101,54,57,102,99,97,99,98,51,53,51,97,54,52,55,51,48,55,57,100,56,101,57,98,35,41,41,41,0,40,112,117,98,108,105,99,45,107,101,121,32,40,114,115,97,32,32,40,110,32,35,48,48,101,48,99,101,57,54,102,57,48,98,54,99,57,101,48,50,102,51,57,50,50,98,101,97,100,97,57,51,102,101,53,48,97,56,55,53,101,97,99,54,98,99,99,49,56,98,98,57,97,57,99,102,50,101,56,52,57,54,53,99,97,97,32,32,32,32,32,32,50,100,49,102,102,57,53,97,55,102,53,52,50,52,54,53,99,54,99,48,99,49,57,100,50,55,54,101,52,53,50,54,99,101,48,52,56,56,54,56,97,55,97,57,49,52,102,100,51,52,51,99,99,51,97,56,55,100,100,55,52,50,57,49,32,32,32,32,32,32,102,102,99,53,54,53,53,48,54,100,53,98,98,98,50,53,99,98,97,99,54,97,48,101,50,100,100,49,102,56,98,99,97,97,98,48,100,52,97,50,57,99,50,102,51,55,99,57,53,48,102,51,54,51,52,56,52,98,102,50,54,57,102,55,32,32,32,32,32,32,56,57,49,52,52,48,52,54,52,98,97,102,55,57,56,50,55,101,48,51,97,51,54,101,55,48,98,56,49,52,57,51,56,101,101,98,100,99,54,51,101,57,54,52,50,52,55,98,101,55,53,100,99,53,56,98,48,49,52,98,55,101,97,50,53,49,35,41,32,32,40,101,32,35,48,49,48,48,48,49,35,41,41,41,0,107,101,121,32,99,111,110,115,105,115,116,101,110,99,121,0,115,105,103,110,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,49,48,50,48,51,48,52,48,35,41,41,0,40,100,97,116,97,32,40,102,108,97,103,115,32,112,107,99,115,49,41,32,40,104,97,115,104,32,115,104,97,49,32,35,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,48,48,97,97,98,98,99,99,100,100,101,101,102,102,56,48,50,48,51,48,52,48,35,41,41,0,99,111,110,118,101,114,116,105,110,103,32,100,97,116,97,32,102,97,105,108,101,100,0,115,105,103,110,105,110,103,32,102,97,105,108,101,100,0,118,101,114,105,102,121,32,102,97,105,108,101,100,0,98,97,100,32,115,105,103,110,97,116,117,114,101,32,110,111,116,32,100,101,116,101,99,116,101,100,0,101,110,99,114,121,112,116,0,40,100,97,116,97,32,40,102,108,97,103,115,32,114,97,119,41,32,40,118,97,108,117,101,32,37,109,41,41,0,101,110,99,114,121,112,116,32,102,97,105,108,101,100,0,101,110,99,45,118,97,108,0,103,99,114,121,95,112,107,95,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,103,97,114,98,97,103,101,0,99,105,112,104,101,114,116,101,120,116,32,109,97,116,99,104,101,115,32,112,108,97,105,110,116,101,120,116,0,100,101,99,114,121,112,116,32,102,97,105,108,101,100,0,118,97,108,117,101,0,100,101,99,114,121,112,116,32,114,101,116,117,114,110,101,100,32,110,111,32,112,108,97,105,110,116,101,120,116,0,109,105,115,109,97,116,99,104,0,83,72,65,49,0,48,33,48,9,6,5,43,14,3,2,26,5,0,4,20,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,53,0,49,46,50,46,56,52,48,46,49,48,48,52,48,46,52,46,51,0,49,46,51,46,49,52,46,51,46,50,46,50,54,0,49,46,51,46,49,52,46,51,46,50,46,50,57,0,49,46,50,46,56,52,48,46,49,48,48,52,53,46,52,46,49,0,169,153,62,54,71,6,129,106,186,62,37,113,120,80,194,108,156,208,216,157,0,132,152,62,68,28,59,210,110,186,174,74,161,249,81,41,229,229,70,112,241,0,52,170,151,60,212,196,218,164,246,30,235,43,219,173,39,49,101,52,1,111,0,83,72,65,50,50,52,0,48,45,48,13,6,9,96,134,72,1,101,3,4,2,4,5,0,4,28,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,52,0,35,9,125,34,52,5,216,34,134,66,164,119,189,162,85,179,42,173,188,228,189,160,179,247,227,108,157,167,0,97,98,99,100,98,99,100,101,99,100,101,102,100,101,102,103,101,102,103,104,102,103,104,105,103,104,105,106,104,105,106,107,105,106,107,108,106,107,108,109,107,108,109,110,108,109,110,111,109,110,111,112,110,111,112,113,0,117,56,139,22,81,39,118,204,93,186,93,161,253,137,1,80,176,198,69,92,180,245,139,25,82,82,37,37,0,32,121,70,85,152,12,145,216,187,180,193,234,151,97,138,75,240,63,66,88,25,72,178,238,78,231,173,103,0,186,120,22,191,143,1,207,234,65,65,64,222,93,174,34,35,176,3,97,163,150,23,122,156,180,16,255,97,242,0,21,173,0,36,141,106,97,210,6,56,184,229,192,38,147,12,62,96,57,163,60,228,89,100,255,33,103,246,236,237,212,25,219,6,193,0,205,199,110,92,153,20,251,146,129,161,199,226,132,215,62,103,241,128,154,72,164,151,32,14,4,109,57,204,199,17,44,208,0,83,72,65,50,53,54,0,48,49,48,13,6,9,96,134,72,1,101,3,4,2,1,5,0,4,32,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,49,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,49,0,83,72,65,53,49,50,0,48,81,48,13,6,9,96,134,72,1,101,3,4,2,3,5,0,4,64,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,51,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,51,0,115,104,111,114,116,32,115,116,114,105,110,103,0,97,98,99,0,203,0,117,63,69,163,94,139,181,160,61,105,154,198,80,7,39,44,50,171,14,222,209,99,26,139,96,90,67,255,91,237,128,134,7,43,161,231,204,35,88,186,236,161,52,200,37,167,0,108,111,110,103,32,115,116,114,105,110,103,0,97,98,99,100,101,102,103,104,98,99,100,101,102,103,104,105,99,100,101,102,103,104,105,106,100,101,102,103,104,105,106,107,101,102,103,104,105,106,107,108,102,103,104,105,106,107,108,109,103,104,105,106,107,108,109,110,104,105,106,107,108,109,110,111,105,106,107,108,109,110,111,112,106,107,108,109,110,111,112,113,107,108,109,110,111,112,113,114,108,109,110,111,112,113,114,115,109,110,111,112,113,114,115,116,110,111,112,113,114,115,116,117,0,9,51,12,51,247,17,71,232,61,25,47,199,130,205,27,71,83,17,27,23,59,59,5,210,47,160,128,134,227,176,247,18,252,199,199,26,85,126,45,185,102,195,233,250,145,116,96,57,0,111,110,101,32,109,105,108,108,105,111,110,32,34,97,34,0,157,14,24,9,113,100,116,203,8,110,131,78,49,10,74,28,237,20,158,156,0,242,72,82,121,114,206,197,112,76,42,91,7,184,179,220,56,236,196,235,174,151,221,216,127,61,137,133,0,100,105,103,101,115,116,0,221,175,53,161,147,97,122,186,204,65,115,73,174,32,65,49,18,230,250,78,137,169,126,162,10,158,238,230,75,85,211,154,33,146,153,42,39,79,193,168,54,186,60,35,163,254,235,189,69,77,68,35,100,60,232,14,42,154,201,79,165,76,164,159,0,142,149,155,117,218,227,19,218,140,244,247,40,20,252,20,63,143,119,121,198,235,159,127,161,114,153,174,173,182,136,144,24,80,29,40,158,73,0,247,228,51,27,153,222,196,181,67,58,199,211,41,238,182,221,38,84,94,150,229,91,135,75,233,9,0,231,24,72,61,12,231,105,100,78,46,66,199,188,21,180,99,142,31,152,177,59,32,68,40,86,50,168,3,175,169,115,235,222,15,242,68,135,126,166,10,76,176,67,44,229,119,195,27,235,0,156,92,44,73,170,46,78,173,178,23,173,140,192,155,0,83,72,65,51,56,52,0,48,65,48,13,6,9,96,134,72,1,101,3,4,2,2,5,0,4,48,50,46,49,54,46,56,52,48,46,49,46,49,48,49,46,51,46,52,46,50,46,50,0,49,46,50,46,56,52,48,46,49,49,51,53,52,57,46,49,46,49,46,49,50,0,84,87,79,70,73,83,72,0,159,88,159,92,246,18,44,50,182,191,236,47,42,232,195,90,212,145,219,22,231,177,195,158,134,203,8,107,120,159,84,25,1,159,152,9,222,23,17,133,143,170,195,163,186,32,251,195,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,49,50,56,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,212,59,183,85,110,163,46,70,242,162,130,183,212,91,78,13,87,255,115,157,77,201,44,27,215,252,1,112,12,200,33,111,144,175,233,27,178,136,84,79,44,50,220,35,155,38,53,230,108,180,86,28,64,191,10,151,5,147,28,182,212,8,231,250,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,101,110,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,84,119,111,102,105,115,104,45,50,53,54,32,116,101,115,116,32,100,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,46,0,37,115,10,0,0,1,23,2,46,24,83,3,106,47,147,25,52,84,69,4,92,107,182,48,166,148,75,26,140,53,129,85,170,70,13,5,36,93,135,108,155,183,193,49,43,167,163,149,152,76,202,27,230,141,115,54,205,130,18,86,98,171,240,71,79,14,189,6,212,37,210,94,39,136,102,109,214,156,121,184,8,194,223,50,104,44,253,168,138,164,90,150,41,153,34,77,96,203,228,28,123,231,59,142,158,116,244,55,216,206,249,131,111,19,178,87,225,99,220,172,196,241,175,72,10,80,66,15,186,190,199,7,222,213,120,38,101,211,209,95,227,40,33,137,89,103,252,110,177,215,248,157,243,122,58,185,198,9,65,195,174,224,219,51,68,105,146,45,82,254,22,169,12,139,128,165,74,91,181,151,201,42,162,154,192,35,134,78,188,97,239,204,17,229,114,29,61,124,235,232,233,60,234,143,125,159,236,117,30,245,62,56,246,217,63,207,118,250,31,132,160,112,237,20,144,179,126,88,251,226,32,100,208,221,119,173,218,197,64,242,57,176,247,73,180,11,127,81,21,67,145,16,113,187,238,191,133,200,161,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,219,251,187,59,118,236,149,103,206,209,239,147,107,214,225,143,83,166,1,2,4,8,16,32,64,128,77,154,121,242,169,31,62,124,248,189,55,110,220,245,167,3,6,12,24,48,96,192,205,215,227,139,91,182,33,66,132,69,138,89,178,41,82,164,5,10,20,40,80,160,13,26,52,104,208,237,151,99,198,193,207,211,235,155,123,246,161,15,30,60,120,240,173,23,46,92,184,61,122,244,165,7,14,28,56,112,224,141,87,174,17,34,68,136,93,186,57,114,228,133,71,142,81,162,9,18,36,72,144,109,218,249,191,51,102,204,213,231,131,75,150,97,194,201,223,243,171,27,54,108,216,253,183,35,70,140,85,170,25,50,100,200,221,247,163,11,22,44,88,176,45,90,180,37,74,148,101,202,217,255,179,43,86,172,21,42,84,168,29,58,116,232,157,119,238,145,111,222,241,175,19,38,76,152,125,250,185,63,126,252,181,39,78,156,117,234,153,127,254,177,47,94,188,53,106,212,229,135,67,134,65,130,73,146,105,210,233,159,115,230,129,79,158,113,226,137,95,190,49,98,196,197,199,195,203,169,117,103,243,179,198,232,244,4,219,253,123,163,251,118,200,154,74,146,211,128,230,120,107,228,69,221,125,209,232,56,75,13,214,198,50,53,216,152,253,24,55,247,113,236,241,108,225,67,48,117,15,55,248,38,27,250,135,19,250,148,6,72,63,242,94,208,186,139,174,48,91,132,138,84,0,223,188,35,157,25,109,91,193,61,177,89,14,243,128,174,93,162,210,130,213,99,160,1,132,131,7,46,20,217,181,81,144,155,44,124,163,166,178,235,115,165,76,190,84,22,146,12,116,227,54,97,81,192,56,140,176,58,189,245,90,115,252,44,96,37,98,11,150,187,108,78,66,137,247,107,16,83,124,106,40,180,39,241,140,225,19,230,149,189,156,69,199,226,36,244,70,182,59,102,112,204,202,149,227,3,133,86,203,212,17,28,208,30,147,215,184,251,166,195,131,142,32,181,255,233,159,207,119,191,195,186,204,234,3,119,111,57,8,175,191,51,64,201,231,98,43,113,226,129,121,121,12,9,170,173,130,36,65,205,58,249,234,216,185,229,228,197,154,185,164,77,151,68,126,8,218,134,122,231,23,161,102,29,148,170,161,237,29,6,61,112,240,178,222,210,179,65,11,123,114,160,167,17,28,49,239,194,209,39,83,144,62,32,143,246,51,96,38,255,95,150,236,92,118,177,42,171,73,158,129,156,136,82,238,27,33,95,196,147,26,10,235,239,217,145,197,133,57,73,153,238,205,45,173,79,49,143,139,59,1,71,24,135,35,109,221,70,31,214,78,62,45,105,249,100,72,42,79,206,242,203,101,47,142,252,120,151,92,5,88,122,25,172,141,127,229,213,152,26,87,75,103,14,127,167,5,90,100,40,175,20,99,63,182,41,254,136,245,60,183,76,60,2,165,184,206,218,233,176,104,23,68,85,224,31,77,138,67,125,105,87,41,199,46,141,172,116,21,183,89,196,168,159,10,114,158,126,110,21,71,34,223,18,52,88,53,7,106,153,207,52,220,110,34,80,201,222,192,104,155,101,137,188,212,219,237,248,171,200,18,168,162,43,13,64,82,220,187,254,2,50,47,164,169,202,215,16,97,33,30,240,180,211,80,93,4,15,246,0,194,111,22,157,37,54,134,66,86,74,85,94,9,193,190,224,145,117,243,198,244,219,123,251,200,74,211,230,107,69,125,232,75,214,50,216,253,55,113,241,225,48,15,248,27,135,250,6,63,94,186,174,91,138,0,188,157,109,193,177,14,128,93,210,213,160,132,7,20,181,144,44,163,178,115,76,84,146,116,54,81,56,176,189,90,252,96,98,150,108,66,247,16,124,40,39,140,19,149,156,199,36,70,59,112,202,227,133,203,17,208,147,184,166,131,32,255,159,119,195,204,3,111,8,191,64,231,43,226,121,12,170,130,65,58,234,185,228,154,164,151,126,218,122,23,102,148,161,29,61,240,222,179,11,114,167,28,239,209,83,62,143,51,38,95,236,118,42,73,129,136,238,33,196,26,235,217,197,57,153,205,173,49,139,1,24,35,221,31,78,45,249,72,79,242,101,142,120,92,88,25,141,229,152,87,103,127,5,100,175,99,182,254,245,183,60,165,206,233,104,68,224,77,67,105,41,46,172,21,89,168,10,158,110,71,223,52,53,106,207,220,34,201,192,155,137,212,237,171,18,162,13,82,187,2,47,169,215,97,30,180,80,4,246,194,22,37,134,86,85,9,190,145,169,103,179,232,4,253,163,118,154,146,128,120,228,221,209,56,13,198,53,152,24,247,236,108,67,117,55,38,250,19,148,72,242,208,139,48,132,84,223,35,25,91,61,89,243,174,162,130,99,1,131,46,217,81,155,124,166,235,165,190,22,12,227,97,192,140,58,245,115,44,37,11,187,78,137,107,83,106,180,241,225,230,189,69,226,244,182,102,204,149,3,86,212,28,30,215,251,195,142,181,233,207,191,186,234,119,57,175,51,201,98,113,129,121,9,173,36,205,249,216,229,197,185,77,68,8,134,231,161,29,170,237,6,112,178,210,65,123,160,17,49,194,39,144,32,246,96,255,150,92,177,171,158,156,82,27,95,147,10,239,145,133,73,238,45,79,143,59,71,135,109,70,214,62,105,100,42,206,203,47,252,151,5,122,172,127,213,26,75,14,167,90,40,20,63,41,136,60,76,2,184,218,176,23,85,31,138,125,87,199,141,116,183,196,159,114,126,21,34,18,88,7,153,52,110,80,222,104,101,188,219,248,200,168,43,64,220,254,50,164,202,16,33,240,211,93,15,0,111,157,54,66,74,94,193,224,84,87,79,70,73,83,72,49,50,56,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,110,111,110,99,101,32,98,117,102,102,101,114,32,108,111,99,107,58,32,37,115,10,0,37,115,46,42,0,37,115,46,88,0,101,99,95,105,110,118,109,58,32,105,110,118,101,114,115,101,32,100,111,101,115,32,110,111,116,32,101,120,105,115,116,58,10,0,32,32,97,0,32,32,112,0,37,115,58,32,71,101,116,116,105,110,103,32,89,45,99,111,111,114,100,105,110,97,116,101,32,111,110,32,37,115,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,103,101,116,95,97,102,102,105,110,101,0,77,111,110,116,103,111,109,101,114,121,0,71,67,82,89,80,84,95,66,65,82,82,69,84,84,0,37,115,58,32,37,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,95,103,99,114,121,95,109,112,105,95,101,99,95,100,117,112,95,112,111,105,110,116,0,95,103,99,114,121,95,109,112,105,95,101,99,95,97,100,100,95,112,111,105,110,116,115,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,33,98,112,95,109,97,114,107,101,114,0,109,112,105,45,112,111,119,46,99,0,95,103,99,114,121,95,109,112,105,95,112,111,119,109,0,114,101,115,45,62,100,32,61,61,32,114,112,0,105,32,61,61,32,110,108,105,109,98,115,0,109,112,105,99,111,100,101,114,46,99,0,95,103,99,114,121,95,109,112,105,95,115,101,116,95,98,117,102,102,101,114,0,58,103,101,110,101,114,105,99,47,109,112,105,104,45,97,100,100,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,115,117,98,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,49,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,50,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,109,117,108,51,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,108,115,104,105,102,116,46,99,58,103,101,110,101,114,105,99,47,109,112,105,104,45,114,115,104,105,102,116,46,99,0,105,110,118,97,108,105,100,32,109,112,105,95,99,111,110,115,116,32,115,101,108,101,99,116,111,114,32,37,100,10,0,87,97,114,110,105,110,103,58,32,116,114,121,105,110,103,32,116,111,32,99,104,97,110,103,101,32,97,110,32,105,109,109,117,116,97,98,108,101,32,77,80,73,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,32,105,110,32,109,112,105,95,102,114,101,101,10,0,109,112,105,95,103,101,116,95,111,112,97,113,117,101,32,111,110,32,110,111,114,109,97,108,32,109,112,105,10,0,109,112,105,95,115,101,116,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,109,112,105,95,115,119,97,112,95,99,111,110,100,58,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,102,108,97,103,32,118,97,108,117,101,10,0,77,80,73,32,115,117,98,115,121,115,116,101,109,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,10,10,84,104,105,115,32,105,115,32,76,105,98,103,99,114,121,112,116,32,49,46,55,46,48,45,98,101,116,97,50,51,48,32,45,32,84,104,101,32,71,78,85,32,67,114,121,112,116,111,32,76,105,98,114,97,114,121,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,48,48,45,50,48,49,50,32,70,114,101,101,32,83,111,102,116,119,97,114,101,32,70,111,117,110,100,97,116,105,111,110,44,32,73,110,99,46,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,50,45,50,48,49,52,32,103,49,48,32,67,111,100,101,32,71,109,98,72,10,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,51,45,50,48,49,52,32,74,117,115,115,105,32,75,105,118,105,108,105,110,110,97,10,10,40,97,51,54,101,101,55,53,32,50,48,49,54,45,48,50,45,49,56,84,49,52,58,52,57,43,48,48,48,48,41,10,10,10,0,99,105,112,104,101,114,45,99,109,97,99,46,99,0,99,109,97,99,95,103,101,110,101,114,97,116,101,95,115,117,98,107,101,121,115,0,99,45,62,117,110,117,115,101,100,32,60,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,99,116,114,46,99,0,95,103,99,114,121,95,99,105,112,104,101,114,95,99,116,114,95,101,110,99,114,121,112,116,0,117,110,117,115,101,100,32,61,61,32,98,108,111,99,107,115,105,122,101,0,99,105,112,104,101,114,45,103,99,109,46,99,0,100,111,95,103,104,97,115,104,95,98,117,102,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,0,115,101,116,107,101,121,32,102,97,105,108,101,100,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,66,67,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,70,66,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,115,101,108,102,116,101,115,116,32,102,111,114,32,67,84,82,32,102,97,105,108,101,100,32,45,32,115,101,101,32,115,121,115,108,111,103,32,102,111,114,32,100,101,116,97,105,108,115,0,69,67,67,0,101,99,99,0,101,99,100,115,97,0,101,99,100,104,0,101,100,100,115,97,0,103,111,115,116,0,112,97,98,103,110,104,113,0,112,97,98,103,110,104,113,100,0,115,119,0,114,115,0,99,117,114,118,101,0,102,108,97,103,115,0,116,114,97,110,115,105,101,110,116,45,107,101,121,0,101,99,103,101,110,32,99,117,114,118,101,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,117,115,101,100,58,32,37,115,10,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,112,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,97,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,98,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,110,0,101,99,103,101,110,32,99,117,114,118,101,32,32,32,104,0,101,99,103,101,110,32,99,117,114,118,101,32,71,0,101,99,103,101,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,37,115,10,0,81,0,101,99,103,101,110,32,99,111,110,118,101,114,116,101,100,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,101,99,103,101,110,32,100,105,100,110,39,116,32,110,101,101,100,32,116,111,32,99,111,110,118,101,114,116,32,81,32,116,111,32,97,32,99,111,109,112,108,105,97,110,116,32,112,111,105,110,116,10,0,84,101,115,116,105,110,103,32,107,101,121,46,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,102,97,105,108,101,100,10,0,69,67,68,83,65,32,111,112,101,114,97,116,105,111,110,58,32,115,105,103,110,44,32,118,101,114,105,102,121,32,111,107,46,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,107,81,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,104,100,107,71,10,0,69,67,68,72,32,116,101,115,116,32,102,97,105,108,101,100,46,10,0,71,0,40,99,117,114,118,101,32,37,115,41,0,40,102,108,97,103,115,32,112,97,114,97,109,41,0,40,102,108,97,103,115,32,101,100,100,115,97,41,0,40,102,108,97,103,115,32,112,97,114,97,109,32,101,100,100,115,97,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,112,37,109,41,40,97,37,109,41,40,98,37,109,41,40,103,37,109,41,40,110,37,109,41,40,104,37,109,41,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,40,107,101,121,45,100,97,116,97,32,40,112,117,98,108,105,99,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,41,41,32,40,112,114,105,118,97,116,101,45,107,101,121,32,32,40,101,99,99,37,83,37,83,40,113,37,109,41,40,100,37,109,41,41,41,32,41,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,112,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,97,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,98,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,71,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,110,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,104,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,81,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,100,0,101,99,103,101,110,32,114,101,115,117,108,116,32,32,117,115,105,110,103,32,69,100,50,53,53,49,57,43,69,100,68,83,65,10,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,63,43,100,0,47,113,63,43,100,0,101,99,99,95,116,101,115,116,107,101,121,32,105,110,102,58,32,37,115,47,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,110,97,109,58,32,37,115,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,112,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,97,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,98,0,101,99,99,95,116,101,115,116,107,101,121,32,103,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,110,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,104,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,113,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,100,0,66,97,100,32,99,104,101,99,107,58,32,80,111,105,110,116,32,39,71,39,32,100,111,101,115,32,110,111,116,32,98,101,108,111,110,103,32,116,111,32,99,117,114,118,101,32,39,69,39,33,10,0,66,97,100,32,99,104,101,99,107,58,32,39,71,39,32,99,97,110,110,111,116,32,98,101,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,99,104,101,99,107,95,115,101,99,114,101,116,95,107,101,121,58,32,69,32,105,115,32,110,111,116,32,97,32,99,117,114,118,101,32,111,102,32,111,114,100,101,114,32,110,10,0,66,97,100,32,99,104,101,99,107,58,32,81,32,99,97,110,32,110,111,116,32,98,101,32,97,32,80,111,105,110,116,32,97,116,32,73,110,102,105,110,105,116,121,33,10,0,66,97,100,32,99,104,101,99,107,58,32,99,111,109,112,117,116,97,116,105,111,110,32,111,102,32,100,71,32,102,97,105,108,101,100,10,0,66,97,100,32,99,104,101,99,107,58,32,84,104,101,114,101,32,105,115,32,78,79,32,99,111,114,114,101,115,112,111,110,100,101,110,99,101,32,98,101,116,119,101,101,110,32,39,100,39,32,97,110,100,32,39,81,39,33,10,0,101,99,99,95,116,101,115,116,107,101,121,32,32,32,61,62,32,37,115,10,0,112,0,101,99,99,95,101,110,99,114,121,112,116,32,100,97,116,97,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,113,0,101,99,99,95,101,110,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,101,110,99,114,121,112,116,32,32,103,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,113,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,100,71,10,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,32,102,111,114,32,107,71,10,0,40,101,110,99,45,118,97,108,40,101,99,100,104,40,115,37,109,41,40,101,37,109,41,41,41,0,101,99,99,95,101,110,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,0,101,99,99,95,100,101,99,114,121,112,116,32,32,100,95,101,0,45,112,63,97,63,98,63,103,63,110,63,104,63,43,100,0,101,99,99,95,100,101,99,114,121,112,116,32,105,110,102,111,58,32,37,115,47,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,112,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,97,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,98,0,101,99,99,95,100,101,99,114,121,112,116,32,32,103,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,110,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,104,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,100,0,101,99,100,104,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,101,99,99,95,100,101,99,114,121,112,116,32,32,114,101,115,0,40,118,97,108,117,101,32,37,109,41,0,101,99,99,95,100,101,99,114,121,112,116,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,100,97,116,97,0,43,69,100,68,83,65,0,101,99,99,95,115,105,103,110,32,32,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,112,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,97,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,98,0,101,99,99,95,115,105,103,110,32,32,32,32,103,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,110,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,104,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,113,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,100,0,40,115,105,103,45,118,97,108,40,101,100,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,103,111,115,116,40,114,37,77,41,40,115,37,77,41,41,41,0,40,115,105,103,45,118,97,108,40,101,99,100,115,97,40,114,37,77,41,40,115,37,77,41,41,41,0,101,99,99,95,115,105,103,110,32,32,32,32,32,32,61,62,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,100,97,116,97,0,47,114,115,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,114,0,101,99,99,95,118,101,114,105,102,121,32,32,115,95,115,0,45,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,47,113,0,101,99,99,95,118,101,114,105,102,121,32,105,110,102,111,58,32,37,115,47,37,115,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,110,97,109,101,58,32,37,115,10,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,112,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,97,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,98,0,101,99,99,95,118,101,114,105,102,121,32,32,103,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,110,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,104,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,113,0,71,111,111,100,0,101,99,99,95,118,101,114,105,102,121,32,32,32,32,61,62,32,37,115,10,0,108,111,119,45,108,101,118,101,108,0,112,117,98,107,101,121,0,112,63,97,63,98,63,103,63,110,63,104,63,47,113,0,112,63,97,63,98,63,103,63,110,63,104,63,113,0,113,0,112,97,98,103,110,104,113,40,49,58,37,99,37,117,58,0,41,0,100,105,103,101,115,116,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,101,120,112,101,99,116,101,100,32,115,105,122,101,0,103,99,114,121,95,109,100,95,111,112,101,110,32,102,97,105,108,101,100,0,105,110,118,97,108,105,100,32,68,65,84,65,77,79,68,69,0,100,105,103,101,115,116,32,109,105,115,109,97,116,99,104,0,104,97,115,104,45,99,111,109,109,111,110,46,99,0,95,103,99,114,121,95,109,100,95,98,108,111,99,107,95,119,114,105,116,101,0,142,153,59,159,72,104,18,115,194,150,80,186,50,252,118,206,72,51,46,167,22,77,150,164,71,111,184,197,49,161,24,106,192,223,193,124,152,220,232,123,77,167,240,17,236,72,201,114,113,210,194,15,155,146,143,226,39,13,111,184,99,213,23,56,180,142,238,227,20,167,204,138,185,50,22,69,72,229,38,174,144,34,67,104,81,122,207,234,189,107,179,115,43,192,233,218,153,131,43,97,202,1,182,222,86,36,74,158,136,213,249,179,121,115,246,34,164,61,20,166,89,155,31,101,76,180,90,116,227,85,165,238,166,167,37,28,30,114,145,109,17,194,203,33,77,60,37,37,57,18,29,142,35,78,101,45,101,31,164,200,207,248,128,243,255,199,112,63,148,0,229,42,125,251,75,61,51,5,217,80,111,108,121,49,51,48,53,32,116,101,115,116,32,49,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,50,32,102,97,105,108,101,100,46,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,111,108,121,49,51,48,53,32,116,101,115,116,32,51,32,102,97,105,108,101,100,46,0,1,2,3,4,5,6,7,255,254,253,252,251,250,249,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,100,175,226,232,214,173,123,189,210,135,249,124,68,98,61,57,80,111,108,121,49,51,48,53,32,116,101,115,116,32,52,32,102,97,105,108,101,100,46,0,80,111,108,121,49,51,48,53,32,115,101,108,102,116,101,115,116,32,102,97,105,108,101,100,32,40,37,115,41,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,110,111,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,100,101,116,101,99,116,101,100,10,0,87,65,82,78,73,78,71,58,32,117,115,105,110,103,32,105,110,115,101,99,117,114,101,32,114,97,110,100,111,109,32,110,117,109,98,101,114,32,103,101,110,101,114,97,116,111,114,33,33,10,0,112,111,111,108,95,105,115,95,108,111,99,107,101,100,0,114,97,110,100,111,109,45,99,115,112,114,110,103,46,99,0,97,100,100,95,114,97,110,100,111,109,110,101,115,115,0,109,105,120,95,112,111,111,108,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,112,111,111,108,32,108,111,99,107,58,32,37,115,10,0,32,40,104,119,114,110,103,32,102,97,105,108,101,100,41,0,114,97,110,100,111,109,32,117,115,97,103,101,58,32,112,111,111,108,115,105,122,101,61,37,100,32,109,105,120,101,100,61,37,108,117,32,112,111,108,108,115,61,37,108,117,47,37,108,117,32,97,100,100,101,100,61,37,108,117,47,37,108,117,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,111,117,116,109,105,120,61,37,108,117,32,103,101,116,108,118,108,49,61,37,108,117,47,37,108,117,32,103,101,116,108,118,108,50,61,37,108,117,47,37,108,117,37,115,10,0,114,101,97,100,95,112,111,111,108,0,116,111,111,32,109,97,110,121,32,114,97,110,100,111,109,32,98,105,116,115,32,114,101,113,117,101,115,116,101,100,10,0,114,101,97,100,95,115,101,101,100,95,102,105,108,101,0,99,97,110,39,116,32,111,112,101,110,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,108,111,99,107,32,96,37,115,39,58,32,37,115,10,0,119,97,105,116,105,110,103,32,102,111,114,32,108,111,99,107,32,111,110,32,96,37,115,39,46,46,46,10,0,99,97,110,39,116,32,115,116,97,116,32,96,37,115,39,58,32,37,115,10,0,96,37,115,39,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,102,105,108,101,32,45,32,105,103,110,111,114,101,100,10,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,105,115,32,101,109,112,116,121,10,0,119,97,114,110,105,110,103,58,32,105,110,118,97,108,105,100,32,115,105,122,101,32,111,102,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,45,32,110,111,116,32,117,115,101,100,10,0,99,97,110,39,116,32,114,101,97,100,32,96,37,115,39,58,32,37,115,10,0,83,108,111,119,32,101,110,116,114,111,112,121,32,103,97,116,104,101,114,105,110,103,32,109,111,100,117,108,101,32,110,111,116,32,121,101,116,32,105,110,105,116,105,97,108,105,122,101,100,10,0,78,111,32,119,97,121,32,116,111,32,103,97,116,104,101,114,32,101,110,116,114,111,112,121,32,102,111,114,32,116,104,101,32,82,78,71,10,0,100,111,95,102], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40960);
+/* memory initializer */ allocate([97,115,116,95,114,97,110,100,111,109,95,112,111,108,108,0,95,103,99,114,121,95,114,110,103,99,115,112,114,110,103,95,115,101,116,95,115,101,101,100,95,102,105,108,101,0,110,111,116,101,58,32,114,97,110,100,111,109,95,115,101,101,100,32,102,105,108,101,32,110,111,116,32,117,112,100,97,116,101,100,10,0,99,97,110,39,116,32,99,114,101,97,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,119,114,105,116,101,32,96,37,115,39,58,32,37,115,10,0,99,97,110,39,116,32,99,108,111,115,101,32,96,37,115,39,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,33,110,111,110,99,101,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,114,97,110,100,111,109,45,102,105,112,115,46,99,0,95,103,99,114,121,95,114,110,103,102,105,112,115,95,105,110,105,116,105,97,108,105,122,101,0,33,115,116,100,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,33,115,116,114,111,110,103,95,114,110,103,95,99,111,110,116,101,120,116,45,62,116,101,115,116,95,100,116,95,112,116,114,0,109,101,109,111,114,121,32,99,111,114,114,117,112,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,32,99,111,110,116,101,120,116,32,37,112,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,114,110,103,95,99,116,120,0,102,105,112,115,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,107,101,121,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,58,32,37,115,10,0,33,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,103,101,116,95,101,110,116,114,111,112,121,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,99,98,0,101,110,116,114,111,112,121,95,99,111,108,108,101,99,116,95,98,117,102,102,101,114,0,101,114,114,111,114,32,103,101,116,116,105,110,103,32,101,110,116,114,111,112,121,32,100,97,116,97,10,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,58,32,37,115,10,0,120,57,51,49,95,114,101,115,101,101,100,0,120,57,51,49,95,103,101,110,101,114,97,116,101,95,115,101,101,100,0,108,101,110,103,116,104,32,61,61,32,49,54,0,102,111,114,107,32,119,105,116,104,111,117,116,32,112,114,111,112,101,114,32,114,101,45,105,110,105,116,105,97,108,105,122,97,116,105,111,110,32,100,101,116,101,99,116,101,100,32,105,110,32,82,78,71,0,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,114,110,103,95,99,116,120,45,62,99,105,112,104,101,114,95,104,100,0,114,110,103,95,99,116,120,45,62,105,115,95,115,101,101,100,101,100,0,116,101,109,112,118,97,108,117,101,95,102,111,114,95,120,57,51,49,95,97,101,115,95,100,114,105,118,101,114,0,120,57,51,49,95,103,101,116,95,100,116,0,103,101,116,116,105,109,101,111,102,100,97,121,40,41,32,102,97,105,108,101,100,58,32,37,115,10,0,101,110,99,114,121,112,116,95,97,101,115,0,65,69,83,32,101,110,99,114,121,112,116,105,111,110,32,105,110,32,82,78,71,32,102,97,105,108,101,100,58,32,37,115,10,0,100,117,112,108,105,99,97,116,101,32,49,50,56,32,98,105,116,32,98,108,111,99,107,32,114,101,116,117,114,110,101,100,32,98,121,32,82,78,71,0,115,101,118,101,114,101,32,101,114,114,111,114,32,103,101,116,116,105,110,103,32,114,97,110,100,111,109,10,0,115,101,108,102,116,101,115,116,95,107,97,116,0,101,114,114,111,114,32,99,114,101,97,116,105,110,103,32,99,105,112,104,101,114,32,99,111,110,116,101,120,116,32,102,111,114,32,82,78,71,0,185,202,127,214,160,245,211,66,25,109,132,145,118,28,59,190,72,178,130,152,104,194,128,0,0,0,40,24,0,0,37,0,82,23,141,41,162,213,132,18,157,137,154,69,130,2,247,119,66,156,8,61,130,244,138,64,102,181,73,39,171,66,199,195,14,183,97,60,254,176,190,115,247,110,109,111,29,163,20,250,187,75,193,14,197,251,205,70,190,40,97,231,3,43,55,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,149,189,74,82,226,158,215,19,211,19,250,32,233,141,188,200,209,229,17,89,82,247,250,55,56,180,197,206,178,176,154,13,156,197,13,22,225,188,237,207,96,98,9,157,32,131,126,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,128,0,129,1,130,2,131,3,160,32,161,33,162,34,163,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,150,237,204,195,221,4,127,117,99,25,55,111,21,34,87,86,122,20,118,119,149,23,126,200,146,232,221,21,203,31,188,177,37,62,46,162,65,27,221,245,33,72,65,113,179,141,47,76,101,114,114,111,114,32,115,101,116,116,105,110,103,32,107,101,121,32,102,111,114,32,82,78,71,0,88,57,46,51,49,32,82,78,71,32,99,111,114,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,82,78,71,32,111,117,116,112,117,116,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,107,110,111,119,110,32,118,97,108,117,101,0,102,111,114,107,32,100,101,116,101,99,116,105,111,110,32,102,97,105,108,101,100,0,114,97,110,100,111,109,0,75,65,84,0,102,97,105,108,101,100,32,116,111,32,97,99,113,117,105,114,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,102,97,105,108,101,100,32,116,111,32,114,101,108,101,97,115,101,32,116,104,101,32,83,121,115,116,101,109,32,82,78,71,32,108,111,99,107,58,32,37,115,10,0,98,117,102,102,101,114,0,114,97,110,100,111,109,45,115,121,115,116,101,109,46,99,0,103,101,116,95,114,97,110,100,111,109,0,115,121,115,116,101,109,95,114,110,103,95,105,115,95,108,111,99,107,101,100,0,114,101,97,100,95,99,98,0,114,101,97,100,95,99,98,95,98,117,102,102,101,114,0,101,114,114,111,114,32,114,101,97,100,105,110,103,32,114,97,110,100,111,109,32,102,114,111,109,32,115,121,115,116,101,109,32,82,78,71,32,40,114,99,61,37,100,41,10,0,47,100,101,118,47,114,97,110,100,111,109,0,111,112,101,110,95,100,101,118,95,114,97,110,100,111,109,0,119,97,105,116,95,100,101,118,95,114,97,110,100,111,109,0,99,97,110,39,116,32,111,112,101,110,32,37,115,58,32,37,115,10,0,101,114,114,111,114,32,115,101,116,116,105,110,103,32,70,68,95,67,76,79,69,88,69,67,32,111,110,32,102,100,32,37,100,58,32,37,115,10,0,47,100,101,118,47,117,114,97,110,100,111,109,0,110,101,101,100,95,101,110,116,114,111,112,121,0,115,101,108,101,99,116,40,41,32,101,114,114,111,114,58,32,37,115,10,0,98,111,103,117,115,32,114,101,97,100,32,102,114,111,109,32,114,97,110,100,111,109,32,100,101,118,105,99,101,32,40,110,61,37,100,41,10,0,114,101,97,100,32,101,114,114,111,114,32,111,110,32,114,97,110,100,111,109,32,100,101,118,105,99,101,58,32,37,115,10,0,99,104,111,111,115,105,110,103,32,97,32,114,97,110,100,111,109,32,107,32,111,102,32,37,117,32,98,105,116,115,32,97,116,32,115,101,99,108,101,118,101,108,32,37,100,10,0,9,107,32,116,111,111,32,108,97,114,103,101,32,45,32,97,103,97,105,110,10,0,9,107,32,105,115,32,122,101,114,111,32,45,32,97,103,97,105,110,10,0,1,0,101,99,100,115,97,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,101,99,100,115,97,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,103,111,115,116,32,115,105,103,110,32,104,97,115,104,32,32,0,101,99,99,32,115,105,103,110,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,114,32,0,103,111,115,116,32,115,105,103,110,32,114,101,115,117,108,116,32,115,32,0,101,99,99,32,118,101,114,105,102,121,58,32,82,101,106,101,99,116,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,70,97,105,108,101,100,32,116,111,32,103,101,116,32,97,102,102,105,110,101,32,99,111,111,114,100,105,110,97,116,101,115,10,0,32,32,32,32,32,120,0,32,32,32,32,32,114,0,32,32,32,32,32,115,0,101,99,99,32,118,101,114,105,102,121,58,32,78,111,116,32,118,101,114,105,102,105,101,100,10,0,101,99,99,32,118,101,114,105,102,121,58,32,65,99,99,101,112,116,101,100,10,0,33,34,108,111,99,107,32,65,66,73,32,118,101,114,115,105,111,110,34,0,112,111,115,105,120,45,108,111,99,107,46,99,0,103,101,116,95,108,111,99,107,95,111,98,106,101,99,116,0,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,116,114,101,97,109,46,99,0,101,115,95,102,108,117,115,104,0,33,115,116,114,101,97,109,45,62,102,108,97,103,115,46,119,114,105,116,105,110,103,0,101,115,95,101,109,112,116,121,0,83,117,99,99,101,115,115,0,71,101,110,101,114,97,108,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,112,97,99,107,101,116,0,85,110,107,110,111,119,110,32,118,101,114,115,105,111,110,32,105,110,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,100,105,103,101,115,116,32,97,108,103,111,114,105,116,104,109,0,66,97,100,32,112,117,98,108,105,99,32,107,101,121,0,66,97,100,32,115,101,99,114,101,116,32,107,101,121,0,66,97,100,32,115,105,103,110,97,116,117,114,101,0,78,111,32,112,117,98,108,105,99,32,107,101,121,0,67,104,101,99,107,115,117,109,32,101,114,114,111,114,0,66,97,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,75,101,121,114,105,110,103,32,111,112,101,110,0,73,110,118,97,108,105,100,32,112,97,99,107,101,116,0,73,110,118,97,108,105,100,32,97,114,109,111,114,0,78,111,32,117,115,101,114,32,73,68,0,78,111,32,115,101,99,114,101,116,32,107,101,121,0,87,114,111,110,103,32,115,101,99,114,101,116,32,107,101,121,32,117,115,101,100,0,66,97,100,32,115,101,115,115,105,111,110,32,107,101,121,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,97,108,103,111,114,105,116,104,109,0,78,117,109,98,101,114,32,105,115,32,110,111,116,32,112,114,105,109,101,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,0,73,110,118,97,108,105,100,32,101,110,99,114,121,112,116,105,111,110,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,115,99,104,101,109,101,0,73,110,118,97,108,105,100,32,97,116,116,114,105,98,117,116,101,0,78,111,32,118,97,108,117,101,0,78,111,116,32,102,111,117,110,100,0,86,97,108,117,101,32,110,111,116,32,102,111,117,110,100,0,83,121,110,116,97,120,32,101,114,114,111,114,0,66,97,100,32,77,80,73,32,118,97,108,117,101,0,73,110,118,97,108,105,100,32,112,97,115,115,112,104,114,97,115,101,0,73,110,118,97,108,105,100,32,115,105,103,110,97,116,117,114,101,32,99,108,97,115,115,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,0,73,110,118,97,108,105,100,32,107,101,121,114,105,110,103,0,84,114,117,115,116,32,68,66,32,101,114,114,111,114,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,0,73,110,118,97,108,105,100,32,117,115,101,114,32,73,68,0,85,110,101,120,112,101,99,116,101,100,32,101,114,114,111,114,0,84,105,109,101,32,99,111,110,102,108,105,99,116,0,75,101,121,115,101,114,118,101,114,32,101,114,114,111,114,0,87,114,111,110,103,32,112,117,98,108,105,99,32,107,101,121,32,97,108,103,111,114,105,116,104,109,0,84,114,105,98,117,116,101,32,116,111,32,68,46,32,65,46,0,87,101,97,107,32,101,110,99,114,121,112,116,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,107,101,121,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,83,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,85,82,73,0,73,110,118,97,108,105,100,32,85,82,73,0,78,101,116,119,111,114,107,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,104,111,115,116,0,83,101,108,102,116,101,115,116,32,102,97,105,108,101,100,0,68,97,116,97,32,110,111,116,32,101,110,99,114,121,112,116,101,100,0,68,97,116,97,32,110,111,116,32,112,114,111,99,101,115,115,101,100,0,85,110,117,115,97,98,108,101,32,112,117,98,108,105,99,32,107,101,121,0,85,110,117,115,97,98,108,101,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,118,97,108,117,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,77,105,115,115,105,110,103,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,100,97,116,97,0,66,117,103,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,73,110,118,97,108,105,100,32,111,112,101,114,97,116,105,111,110,32,99,111,100,101,0,84,105,109,101,111,117,116,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,0,69,79,70,32,40,103,99,114,121,112,116,41,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,115,104,111,114,116,0,80,114,111,118,105,100,101,100,32,111,98,106,101,99,116,32,105,115,32,116,111,111,32,108,97,114,103,101,0,77,105,115,115,105,110,103,32,105,116,101,109,32,105,110,32,111,98,106,101,99,116,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,67,111,110,102,108,105,99,116,105,110,103,32,117,115,101,0,73,110,118,97,108,105,100,32,99,105,112,104,101,114,32,109,111,100,101,0,73,110,118,97,108,105,100,32,102,108,97,103,0,73,110,118,97,108,105,100,32,104,97,110,100,108,101,0,82,101,115,117,108,116,32,116,114,117,110,99,97,116,101,100,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,0,73,110,118,97,108,105,100,32,114,101,115,112,111,110,115,101,0,78,111,32,97,103,101,110,116,32,114,117,110,110,105,110,103,0,65,103,101,110,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,100,97,116,97,0,85,110,115,112,101,99,105,102,105,99,32,65,115,115,117,97,110,32,115,101,114,118,101,114,32,102,97,117,108,116,0,71,101,110,101,114,97,108,32,65,115,115,117,97,110,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,115,101,115,115,105,111,110,32,107,101,121,0,73,110,118,97,108,105,100,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,97,108,103,111,114,105,116,104,109,0,78,111,32,112,105,110,101,110,116,114,121,0,112,105,110,101,110,116,114,121,32,101,114,114,111,114,0,66,97,100,32,80,73,78,0,73,110,118,97,108,105,100,32,110,97,109,101,0,66,97,100,32,100,97,116,97,0,73,110,118,97,108,105,100,32,112,97,114,97,109,101,116,101,114,0,87,114,111,110,103,32,99,97,114,100,0,78,111,32,100,105,114,109,110,103,114,0,100,105,114,109,110,103,114,32,101,114,114,111,114,0,67,101,114,116,105,102,105,99,97,116,101,32,114,101,118,111,107,101,100,0,78,111,32,67,82,76,32,107,110,111,119,110,0,67,82,76,32,116,111,111,32,111,108,100,0,76,105,110,101,32,116,111,111,32,108,111,110,103,0,78,111,116,32,116,114,117,115,116,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,108,101,100,0,66,97,100,32,67,65,32,99,101,114,116,105,102,105,99,97,116,101,0,67,101,114,116,105,102,105,99,97,116,101,32,101,120,112,105,114,101,100,0,67,101,114,116,105,102,105,99,97,116,101,32,116,111,111,32,121,111,117,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,99,101,114,116,105,102,105,99,97,116,101,0,85,110,107,110,111,119,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,67,111,114,114,117,112,116,101,100,32,112,114,111,116,101,99,116,105,111,110,0,65,109,98,105,103,117,111,117,115,32,110,97,109,101,0,67,97,114,100,32,101,114,114,111,114,0,67,97,114,100,32,114,101,115,101,116,32,114,101,113,117,105,114,101,100,0,67,97,114,100,32,114,101,109,111,118,101,100,0,73,110,118,97,108,105,100,32,99,97,114,100,0,67,97,114,100,32,110,111,116,32,112,114,101,115,101,110,116,0,78,111,32,80,75,67,83,49,53,32,97,112,112,108,105,99,97,116,105,111,110,0,78,111,116,32,99,111,110,102,105,114,109,101,100,0,67,111,110,102,105,103,117,114,97,116,105,111,110,32,101,114,114,111,114,0,78,111,32,112,111,108,105,99,121,32,109,97,116,99,104,0,73,110,118,97,108,105,100,32,105,110,100,101,120,0,73,110,118,97,108,105,100,32,73,68,0,78,111,32,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,0,83,109,97,114,116,67,97,114,100,32,100,97,101,109,111,110,32,101,114,114,111,114,0,85,110,115,117,112,112,111,114,116,101,100,32,112,114,111,116,111,99,111,108,0,66,97,100,32,80,73,78,32,109,101,116,104,111,100,0,67,97,114,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,85,110,115,117,112,112,111,114,116,101,100,32,111,112,101,114,97,116,105,111,110,0,87,114,111,110,103,32,107,101,121,32,117,115,97,103,101,0,78,111,116,104,105,110,103,32,102,111,117,110,100,0,87,114,111,110,103,32,98,108,111,98,32,116,121,112,101,0,77,105,115,115,105,110,103,32,118,97,108,117,101,0,72,97,114,100,119,97,114,101,32,112,114,111,98,108,101,109,0,80,73,78,32,98,108,111,99,107,101,100,0,67,111,110,100,105,116,105,111,110,115,32,111,102,32,117,115,101,32,110,111,116,32,115,97,116,105,115,102,105,101,100,0,80,73,78,115,32,97,114,101,32,110,111,116,32,115,121,110,99,101,100,0,73,110,118,97,108,105,100,32,67,82,76,0,66,69,82,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,66,69,82,0,69,108,101,109,101,110,116,32,110,111,116,32,102,111,117,110,100,0,73,100,101,110,116,105,102,105,101,114,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,116,97,103,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,0,73,110,118,97,108,105,100,32,107,101,121,32,105,110,102,111,0,85,110,101,120,112,101,99,116,101,100,32,116,97,103,0,78,111,116,32,68,69,82,32,101,110,99,111,100,101,100,0,78,111,32,67,77,83,32,111,98,106,101,99,116,0,73,110,118,97,108,105,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,0,85,110,115,117,112,112,111,114,116,101,100,32,67,77,83,32,118,101,114,115,105,111,110,0,85,110,107,110,111,119,110,32,97,108,103,111,114,105,116,104,109,0,73,110,118,97,108,105,100,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,80,117,98,108,105,99,32,107,101,121,32,110,111,116,32,116,114,117,115,116,101,100,0,68,101,99,114,121,112,116,105,111,110,32,102,97,105,108,101,100,0,75,101,121,32,101,120,112,105,114,101,100,0,83,105,103,110,97,116,117,114,101,32,101,120,112,105,114,101,100,0,69,110,99,111,100,105,110,103,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,115,116,97,116,101,0,68,117,112,108,105,99,97,116,101,100,32,118,97,108,117,101,0,77,105,115,115,105,110,103,32,97,99,116,105,111,110,0,65,83,78,46,49,32,109,111,100,117,108,101,32,110,111,116,32,102,111,117,110,100,0,73,110,118,97,108,105,100,32,79,73,68,32,115,116,114,105,110,103,0,73,110,118,97,108,105,100,32,116,105,109,101,0,73,110,118,97,108,105,100,32,67,82,76,32,111,98,106,101,99,116,0,85,110,115,117,112,112,111,114,116,101,100,32,67,82,76,32,118,101,114,115,105,111,110,0,73,110,118,97,108,105,100,32,99,101,114,116,105,102,105,99,97,116,101,32,111,98,106,101,99,116,0,85,110,107,110,111,119,110,32,110,97,109,101,0,65,32,108,111,99,97,108,101,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,0,78,111,116,32,108,111,99,107,101,100,0,80,114,111,116,111,99,111,108,32,118,105,111,108,97,116,105,111,110,0,73,110,118,97,108,105,100,32,77,65,67,0,73,110,118,97,108,105,100,32,114,101,113,117,101,115,116,0,85,110,107,110,111,119,110,32,101,120,116,101,110,115,105,111,110,0,85,110,107,110,111,119,110,32,99,114,105,116,105,99,97,108,32,101,120,116,101,110,115,105,111,110,0,76,111,99,107,101,100,0,85,110,107,110,111,119,110,32,111,112,116,105,111,110,0,85,110,107,110,111,119,110,32,99,111,109,109,97,110,100,0,78,111,116,32,111,112,101,114,97,116,105,111,110,97,108,0,78,111,32,112,97,115,115,112,104,114,97,115,101,32,103,105,118,101,110,0,78,111,32,80,73,78,32,103,105,118,101,110,0,78,111,116,32,101,110,97,98,108,101,100,0,78,111,32,99,114,121,112,116,111,32,101,110,103,105,110,101,0,77,105,115,115,105,110,103,32,107,101,121,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,0,76,105,109,105,116,32,114,101,97,99,104,101,100,0,78,111,116,32,105,110,105,116,105,97,108,105,122,101,100,0,77,105,115,115,105,110,103,32,105,115,115,117,101,114,32,99,101,114,116,105,102,105,99,97,116,101,0,78,111,32,107,101,121,115,101,114,118,101,114,32,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,85,110,107,110,111,119,110,32,101,108,108,105,112,116,105,99,32,99,117,114,118,101,0,68,117,112,108,105,99,97,116,101,100,32,107,101,121,0,65,109,98,105,103,117,111,117,115,32,114,101,115,117,108,116,0,78,111,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,87,114,111,110,103,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,97,100,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,67,111,110,102,108,105,99,116,32,105,110,32,116,104,101,32,99,114,121,112,116,111,32,99,111,110,116,101,120,116,0,66,114,111,107,101,110,32,112,117,98,108,105,99,32,107,101,121,0,66,114,111,107,101,110,32,115,101,99,114,101,116,32,107,101,121,0,73,110,118,97,108,105,100,32,77,65,67,32,97,108,103,111,114,105,116,104,109,0,79,112,101,114,97,116,105,111,110,32,102,117,108,108,121,32,99,97,110,99,101,108,108,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,121,101,116,32,102,105,110,105,115,104,101,100,0,66,117,102,102,101,114,32,116,111,111,32,115,104,111,114,116,0,73,110,118,97,108,105,100,32,108,101,110,103,116,104,32,115,112,101,99,105,102,105,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,112,97,114,101,110,116,104,101,115,101,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,83,45,101,120,112,114,101,115,115,105,111,110,32,110,111,116,32,99,97,110,111,110,105,99,97,108,0,66,97,100,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,113,117,111,116,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,90,101,114,111,32,112,114,101,102,105,120,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,78,101,115,116,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,85,110,109,97,116,99,104,101,100,32,100,105,115,112,108,97,121,32,104,105,110,116,115,0,85,110,101,120,112,101,99,116,101,100,32,114,101,115,101,114,118,101,100,32,112,117,110,99,116,117,97,116,105,111,110,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,104,101,120,97,100,101,99,105,109,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,79,100,100,32,104,101,120,97,100,101,99,105,109,97,108,32,110,117,109,98,101,114,115,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,66,97,100,32,111,99,116,97,108,32,99,104,97,114,97,99,116,101,114,32,105,110,32,83,45,101,120,112,114,101,115,115,105,111,110,0,76,101,103,97,99,121,32,107,101,121,0,82,101,113,117,101,115,116,32,116,111,111,32,115,104,111,114,116,0,82,101,113,117,101,115,116,32,116,111,111,32,108,111,110,103,0,79,98,106,101,99,116,32,105,115,32,105,110,32,116,101,114,109,105,110,97,116,105,111,110,32,115,116,97,116,101,0,78,111,32,99,101,114,116,105,102,105,99,97,116,101,32,99,104,97,105,110,0,67,101,114,116,105,102,105,99,97,116,101,32,105,115,32,116,111,111,32,108,97,114,103,101,0,73,110,118,97,108,105,100,32,114,101,99,111,114,100,0,84,104,101,32,77,65,67,32,100,111,101,115,32,110,111,116,32,118,101,114,105,102,121,0,85,110,101,120,112,101,99,116,101,100,32,109,101,115,115,97,103,101,0,67,111,109,112,114,101,115,115,105,111,110,32,111,114,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,65,32,99,111,117,110,116,101,114,32,119,111,117,108,100,32,119,114,97,112,0,70,97,116,97,108,32,97,108,101,114,116,32,109,101,115,115,97,103,101,32,114,101,99,101,105,118,101,100,0,78,111,32,99,105,112,104,101,114,32,97,108,103,111,114,105,116,104,109,0,77,105,115,115,105,110,103,32,99,108,105,101,110,116,32,99,101,114,116,105,102,105,99,97,116,101,0,67,108,111,115,101,32,110,111,116,105,102,105,99,97,116,105,111,110,32,114,101,99,101,105,118,101,100,0,84,105,99,107,101,116,32,101,120,112,105,114,101,100,0,66,97,100,32,116,105,99,107,101,116,0,85,110,107,110,111,119,110,32,105,100,101,110,116,105,116,121,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,114,101,113,117,101,115,116,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,101,114,116,105,102,105,99,97,116,101,32,118,101,114,105,102,121,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,104,97,110,103,101,32,99,105,112,104,101,114,32,109,101,115,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,104,101,108,108,111,32,100,111,110,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,115,104,97,107,101,0,66,97,100,32,102,105,110,105,115,104,101,100,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,115,101,114,118,101,114,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,97,100,32,99,108,105,101,110,116,32,107,101,121,32,101,120,99,104,97,110,103,101,32,109,101,115,115,97,103,101,32,105,110,32,104,97,110,100,115,104,97,107,101,0,66,111,103,117,115,32,115,116,114,105,110,103,0,70,111,114,98,105,100,100,101,110,0,75,101,121,32,100,105,115,97,98,108,101,100,0,78,111,116,32,112,111,115,115,105,98,108,101,32,119,105,116,104,32,97,32,99,97,114,100,32,98,97,115,101,100,32,107,101,121,0,73,110,118,97,108,105,100,32,108,111,99,107,32,111,98,106,101,99,116,0,71,101,110,101,114,97,108,32,73,80,67,32,101,114,114,111,114,0,73,80,67,32,97,99,99,101,112,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,80,67,32,99,111,110,110,101,99,116,32,99,97,108,108,32,102,97,105,108,101,100,0,73,110,118,97,108,105,100,32,73,80,67,32,114,101,115,112,111,110,115,101,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,73,110,99,111,109,112,108,101,116,101,32,108,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,0,76,105,110,101,32,112,97,115,115,101,100,32,116,111,32,73,80,67,32,116,111,111,32,108,111,110,103,0,78,101,115,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,115,0,78,111,32,100,97,116,97,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,32,105,110,113,117,105,114,101,32,99,97,108,108,98,97,99,107,32,105,110,32,73,80,67,0,78,111,116,32,97,110,32,73,80,67,32,115,101,114,118,101,114,0,78,111,116,32,97,110,32,73,80,67,32,99,108,105,101,110,116,0,80,114,111,98,108,101,109,32,115,116,97,114,116,105,110,103,32,73,80,67,32,115,101,114,118,101,114,0,73,80,67,32,114,101,97,100,32,101,114,114,111,114,0,73,80,67,32,119,114,105,116,101,32,101,114,114,111,114,0,84,111,111,32,109,117,99,104,32,100,97,116,97,32,102,111,114,32,73,80,67,32,108,97,121,101,114,0,85,110,101,120,112,101,99,116,101,100,32,73,80,67,32,99,111,109,109,97,110,100,0,85,110,107,110,111,119,110,32,73,80,67,32,99,111,109,109,97,110,100,0,73,80,67,32,115,121,110,116,97,120,32,101,114,114,111,114,0,73,80,67,32,99,97,108,108,32,104,97,115,32,98,101,101,110,32,99,97,110,99,101,108,108,101,100,0,78,111,32,105,110,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,78,111,32,111,117,116,112,117,116,32,115,111,117,114,99,101,32,102,111,114,32,73,80,67,0,73,80,67,32,112,97,114,97,109,101,116,101,114,32,101,114,114,111,114,0,85,110,107,110,111,119,110,32,73,80,67,32,105,110,113,117,105,114,101,0,71,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,110,97,109,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,99,117,114,105,116,121,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,115,101,114,118,105,99,101,32,101,114,114,111,114,0,71,101,110,101,114,97,108,32,76,68,65,80,32,117,112,100,97,116,101,32,101,114,114,111,114,0,69,120,112,101,114,105,109,101,110,116,97,108,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,80,114,105,118,97,116,101,32,76,68,65,80,32,101,114,114,111,114,32,99,111,100,101,0,79,116,104,101,114,32,103,101,110,101,114,97,108,32,76,68,65,80,32,101,114,114,111,114,0,76,68,65,80,32,99,111,110,110,101,99,116,105,110,103,32,102,97,105,108,101,100,32,40,88,41,0,76,68,65,80,32,114,101,102,101,114,114,97,108,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,76,68,65,80,32,99,108,105,101,110,116,32,108,111,111,112,0,78,111,32,76,68,65,80,32,114,101,115,117,108,116,115,32,114,101,116,117,114,110,101,100,0,76,68,65,80,32,99,111,110,116,114,111,108,32,110,111,116,32,102,111,117,110,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,99,111,110,110,101,99,116,32,101,114,114,111,114,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,105,110,32,76,68,65,80,0,66,97,100,32,112,97,114,97,109,101,116,101,114,32,116,111,32,97,110,32,76,68,65,80,32,114,111,117,116,105,110,101,0,85,115,101,114,32,99,97,110,99,101,108,108,101,100,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,0,66,97,100,32,76,68,65,80,32,115,101,97,114,99,104,32,102,105,108,116,101,114,0,85,110,107,110,111,119,110,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,0,84,105,109,101,111,117,116,32,105,110,32,76,68,65,80,0,76,68,65,80,32,100,101,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,101,110,99,111,100,105,110,103,32,101,114,114,111,114,0,76,68,65,80,32,108,111,99,97,108,32,101,114,114,111,114,0,67,97,110,110,111,116,32,99,111,110,116,97,99,116,32,76,68,65,80,32,115,101,114,118,101,114,0,76,68,65,80,32,115,117,99,99,101,115,115,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,115,32,101,114,114,111,114,0,76,68,65,80,32,112,114,111,116,111,99,111,108,32,101,114,114,111,114,0,84,105,109,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,83,105,122,101,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,32,105,110,32,76,68,65,80,0,76,68,65,80,32,99,111,109,112,97,114,101,32,102,97,108,115,101,0,76,68,65,80,32,99,111,109,112,97,114,101,32,116,114,117,101,0,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,109,101,116,104,111,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,116,114,111,110,103,40,101,114,41,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,32,114,101,113,117,105,114,101,100,0,80,97,114,116,105,97,108,32,76,68,65,80,32,114,101,115,117,108,116,115,43,114,101,102,101,114,114,97,108,32,114,101,99,101,105,118,101,100,0,76,68,65,80,32,114,101,102,101,114,114,97,108,0,65,100,109,105,110,105,115,116,114,97,116,105,118,101,32,76,68,65,80,32,108,105,109,105,116,32,101,120,99,101,101,100,101,100,0,67,114,105,116,105,99,97,108,32,76,68,65,80,32,101,120,116,101,110,115,105,111,110,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,67,111,110,102,105,100,101,110,116,105,97,108,105,116,121,32,114,101,113,117,105,114,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,83,65,83,76,32,98,105,110,100,32,105,110,32,112,114,111,103,114,101,115,115,0,78,111,32,115,117,99,104,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,0,85,110,100,101,102,105,110,101,100,32,76,68,65,80,32,97,116,116,114,105,98,117,116,101,32,116,121,112,101,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,109,97,116,99,104,105,110,103,32,105,110,32,76,68,65,80,0,67,111,110,115,116,114,97,105,110,116,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,68,65,80,0,76,68,65,80,32,116,121,112,101,32,111,114,32,118,97,108,117,101,32,101,120,105,115,116,115,0,73,110,118,97,108,105,100,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,78,111,32,115,117,99,104,32,76,68,65,80,32,111,98,106,101,99,116,0,76,68,65,80,32,97,108,105,97,115,32,112,114,111,98,108,101,109,0,73,110,118,97,108,105,100,32,68,78,32,115,121,110,116,97,120,32,105,110,32,76,68,65,80,0,76,68,65,80,32,101,110,116,114,121,32,105,115,32,97,32,108,101,97,102,0,76,68,65,80,32,97,108,105,97,115,32,100,101,114,101,102,101,114,101,110,99,105,110,103,32,112,114,111,98,108,101,109,0,76,68,65,80,32,112,114,111,120,121,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,102,97,105,108,117,114,101,32,40,88,41,0,73,110,97,112,112,114,111,112,114,105,97,116,101,32,76,68,65,80,32,97,117,116,104,101,110,116,105,99,97,116,105,111,110,0,73,110,118,97,108,105,100,32,76,68,65,80,32,99,114,101,100,101,110,116,105,97,108,115,0,73,110,115,117,102,102,105,99,105,101,110,116,32,97,99,99,101,115,115,32,102,111,114,32,76,68,65,80,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,98,117,115,121,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,0,76,68,65,80,32,115,101,114,118,101,114,32,105,115,32,117,110,119,105,108,108,105,110,103,32,116,111,32,112,101,114,102,111,114,109,0,76,111,111,112,32,100,101,116,101,99,116,101,100,32,98,121,32,76,68,65,80,0,76,68,65,80,32,110,97,109,105,110,103,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,32,118,105,111,108,97,116,105,111,110,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,110,111,110,45,108,101,97,102,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,82,68,78,0,65,108,114,101,97,100,121,32,101,120,105,115,116,115,32,40,76,68,65,80,41,0,67,97,110,110,111,116,32,109,111,100,105,102,121,32,76,68,65,80,32,111,98,106,101,99,116,32,99,108,97,115,115,0,76,68,65,80,32,114,101,115,117,108,116,115,32,116,111,111,32,108,97,114,103,101,0,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,97,102,102,101,99,116,115,32,109,117,108,116,105,112,108,101,32,68,83,65,115,0,86,105,114,116,117,97,108,32,76,68,65,80,32,108,105,115,116,32,118,105,101,119,32,101,114,114,111,114,0,79,116,104,101,114,32,76,68,65,80,32,101,114,114,111,114,0,82,101,115,111,117,114,99,101,115,32,101,120,104,97,117,115,116,101,100,32,105,110,32,76,67,85,80,0,83,101,99,117,114,105,116,121,32,118,105,111,108,97,116,105,111,110,32,105,110,32,76,67,85,80,0,73,110,118,97,108,105,100,32,100,97,116,97,32,105,110,32,76,67,85,80,0,85,110,115,117,112,112,111,114,116,101,100,32,115,99,104,101,109,101,32,105,110,32,76,67,85,80,0,82,101,108,111,97,100,32,114,101,113,117,105,114,101,100,32,105,110,32,76,67,85,80,0,76,68,65,80,32,99,97,110,99,101,108,108,101,100,0,78,111,32,76,68,65,80,32,111,112,101,114,97,116,105,111,110,32,116,111,32,99,97,110,99,101,108,0,84,111,111,32,108,97,116,101,32,116,111,32,99,97,110,99,101,108,32,76,68,65,80,0,67,97,110,110,111,116,32,99,97,110,99,101,108,32,76,68,65,80,0,76,68,65,80,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,80,114,111,120,105,101,100,32,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,32,98,121,32,76,68,65,80,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,54,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,55,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,56,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,57,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,48,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,49,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,50,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,51,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+51200);
+/* memory initializer */ allocate([114,111,114,32,99,111,100,101,32,49,52,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,53,0,85,115,101,114,32,100,101,102,105,110,101,100,32,101,114,114,111,114,32,99,111,100,101,32,49,54,0,83,121,115,116,101,109,32,101,114,114,111,114,32,119,47,111,32,101,114,114,110,111,0,85,110,107,110,111,119,110,32,115,121,115,116,101,109,32,101,114,114,111,114,0,69,110,100,32,111,102,32,102,105,108,101,0,85,110,107,110,111,119,110,32,101,114,114,111,114,32,99,111,100,101,0,97,109,111,117,110,116,46,99,0,84,65,76,69,82,95,97,109,111,117,110,116,95,99,109,112,0,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,32,97,116,32,37,115,58,37,100,46,10,0,84,65,76,69,82,95,97,109,111,117,110,116,95,115,117,98,116,114,97,99,116,0,84,65,76,69,82,95,97,109,111,117,110,116,95,97,100,100,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,114,119,97,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+61440);
+
+
+
+
+
+/* no memory initializer */
+var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8);
+
+assert(tempDoublePtr % 8 == 0);
+
+function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
+
+ HEAP8[tempDoublePtr] = HEAP8[ptr];
+
+ HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
+
+ HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
+
+ HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
+
+}
+
+function copyTempDouble(ptr) {
+
+ HEAP8[tempDoublePtr] = HEAP8[ptr];
+
+ HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
+
+ HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
+
+ HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
+
+ HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
+
+ HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
+
+ HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
+
+ HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
+
+}
+
+// {{PRE_LIBRARY}}
+
+
+
+ Module["_i64Subtract"] = _i64Subtract;
+
+
+ Module["_i64Add"] = _i64Add;
+
+ function _pthread_mutex_lock() {}
+
+
+
+
+ var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
+
+ var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
+
+ function ___setErrNo(value) {
+ if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
+ else Module.printErr('failed to set errno from JS');
+ return value;
+ }
+
+ var PATH={splitPath:function (filename) {
+ var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
+ return splitPathRe.exec(filename).slice(1);
+ },normalizeArray:function (parts, allowAboveRoot) {
+ // if the path tries to go above the root, `up` ends up > 0
+ var up = 0;
+ for (var i = parts.length - 1; i >= 0; i--) {
+ var last = parts[i];
+ if (last === '.') {
+ parts.splice(i, 1);
+ } else if (last === '..') {
+ parts.splice(i, 1);
+ up++;
+ } else if (up) {
+ parts.splice(i, 1);
+ up--;
+ }
+ }
+ // if the path is allowed to go above the root, restore leading ..s
+ if (allowAboveRoot) {
+ for (; up--; up) {
+ parts.unshift('..');
+ }
+ }
+ return parts;
+ },normalize:function (path) {
+ var isAbsolute = path.charAt(0) === '/',
+ trailingSlash = path.substr(-1) === '/';
+ // Normalize the path
+ path = PATH.normalizeArray(path.split('/').filter(function(p) {
+ return !!p;
+ }), !isAbsolute).join('/');
+ if (!path && !isAbsolute) {
+ path = '.';
+ }
+ if (path && trailingSlash) {
+ path += '/';
+ }
+ return (isAbsolute ? '/' : '') + path;
+ },dirname:function (path) {
+ var result = PATH.splitPath(path),
+ root = result[0],
+ dir = result[1];
+ if (!root && !dir) {
+ // No dirname whatsoever
+ return '.';
+ }
+ if (dir) {
+ // It has a dirname, strip trailing slash
+ dir = dir.substr(0, dir.length - 1);
+ }
+ return root + dir;
+ },basename:function (path) {
+ // EMSCRIPTEN return '/'' for '/', not an empty string
+ if (path === '/') return '/';
+ var lastSlash = path.lastIndexOf('/');
+ if (lastSlash === -1) return path;
+ return path.substr(lastSlash+1);
+ },extname:function (path) {
+ return PATH.splitPath(path)[3];
+ },join:function () {
+ var paths = Array.prototype.slice.call(arguments, 0);
+ return PATH.normalize(paths.join('/'));
+ },join2:function (l, r) {
+ return PATH.normalize(l + '/' + r);
+ },resolve:function () {
+ var resolvedPath = '',
+ resolvedAbsolute = false;
+ for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
+ var path = (i >= 0) ? arguments[i] : FS.cwd();
+ // Skip empty and invalid entries
+ if (typeof path !== 'string') {
+ throw new TypeError('Arguments to path.resolve must be strings');
+ } else if (!path) {
+ return ''; // an invalid portion invalidates the whole thing
+ }
+ resolvedPath = path + '/' + resolvedPath;
+ resolvedAbsolute = path.charAt(0) === '/';
+ }
+ // At this point the path should be resolved to a full absolute path, but
+ // handle relative paths to be safe (might happen when process.cwd() fails)
+ resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
+ return !!p;
+ }), !resolvedAbsolute).join('/');
+ return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
+ },relative:function (from, to) {
+ from = PATH.resolve(from).substr(1);
+ to = PATH.resolve(to).substr(1);
+ function trim(arr) {
+ var start = 0;
+ for (; start < arr.length; start++) {
+ if (arr[start] !== '') break;
+ }
+ var end = arr.length - 1;
+ for (; end >= 0; end--) {
+ if (arr[end] !== '') break;
+ }
+ if (start > end) return [];
+ return arr.slice(start, end - start + 1);
+ }
+ var fromParts = trim(from.split('/'));
+ var toParts = trim(to.split('/'));
+ var length = Math.min(fromParts.length, toParts.length);
+ var samePartsLength = length;
+ for (var i = 0; i < length; i++) {
+ if (fromParts[i] !== toParts[i]) {
+ samePartsLength = i;
+ break;
+ }
+ }
+ var outputParts = [];
+ for (var i = samePartsLength; i < fromParts.length; i++) {
+ outputParts.push('..');
+ }
+ outputParts = outputParts.concat(toParts.slice(samePartsLength));
+ return outputParts.join('/');
+ }};
+
+ var TTY={ttys:[],init:function () {
+ // https://github.com/kripken/emscripten/pull/1555
+ // if (ENVIRONMENT_IS_NODE) {
+ // // currently, FS.init does not distinguish if process.stdin is a file or TTY
+ // // device, it always assumes it's a TTY device. because of this, we're forcing
+ // // process.stdin to UTF8 encoding to at least make stdin reading compatible
+ // // with text files until FS.init can be refactored.
+ // process['stdin']['setEncoding']('utf8');
+ // }
+ },shutdown:function () {
+ // https://github.com/kripken/emscripten/pull/1555
+ // if (ENVIRONMENT_IS_NODE) {
+ // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
+ // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
+ // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
+ // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
+ // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
+ // process['stdin']['pause']();
+ // }
+ },register:function (dev, ops) {
+ TTY.ttys[dev] = { input: [], output: [], ops: ops };
+ FS.registerDevice(dev, TTY.stream_ops);
+ },stream_ops:{open:function (stream) {
+ var tty = TTY.ttys[stream.node.rdev];
+ if (!tty) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ stream.tty = tty;
+ stream.seekable = false;
+ },close:function (stream) {
+ // flush any pending line data
+ stream.tty.ops.flush(stream.tty);
+ },flush:function (stream) {
+ stream.tty.ops.flush(stream.tty);
+ },read:function (stream, buffer, offset, length, pos /* ignored */) {
+ if (!stream.tty || !stream.tty.ops.get_char) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+ }
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = stream.tty.ops.get_char(stream.tty);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset+i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },write:function (stream, buffer, offset, length, pos) {
+ if (!stream.tty || !stream.tty.ops.put_char) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+ }
+ for (var i = 0; i < length; i++) {
+ try {
+ stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }},default_tty_ops:{get_char:function (tty) {
+ if (!tty.input.length) {
+ var result = null;
+ if (ENVIRONMENT_IS_NODE) {
+ // we will read data by chunks of BUFSIZE
+ var BUFSIZE = 256;
+ var buf = new Buffer(BUFSIZE);
+ var bytesRead = 0;
+
+ var fd = process.stdin.fd;
+ // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
+ var usingDevice = false;
+ try {
+ fd = fs.openSync('/dev/stdin', 'r');
+ usingDevice = true;
+ } catch (e) {}
+
+ bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
+
+ if (usingDevice) { fs.closeSync(fd); }
+ if (bytesRead > 0) {
+ result = buf.slice(0, bytesRead).toString('utf-8');
+ } else {
+ result = null;
+ }
+
+ } else if (typeof window != 'undefined' &&
+ typeof window.prompt == 'function') {
+ // Browser.
+ result = window.prompt('Input: '); // returns null on cancel
+ if (result !== null) {
+ result += '\n';
+ }
+ } else if (typeof readline == 'function') {
+ // Command line.
+ result = readline();
+ if (result !== null) {
+ result += '\n';
+ }
+ }
+ if (!result) {
+ return null;
+ }
+ tty.input = intArrayFromString(result, true);
+ }
+ return tty.input.shift();
+ },put_char:function (tty, val) {
+ if (val === null || val === 10) {
+ Module['print'](UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
+ }
+ },flush:function (tty) {
+ if (tty.output && tty.output.length > 0) {
+ Module['print'](UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }},default_tty1_ops:{put_char:function (tty, val) {
+ if (val === null || val === 10) {
+ Module['printErr'](UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ } else {
+ if (val != 0) tty.output.push(val);
+ }
+ },flush:function (tty) {
+ if (tty.output && tty.output.length > 0) {
+ Module['printErr'](UTF8ArrayToString(tty.output, 0));
+ tty.output = [];
+ }
+ }}};
+
+ var MEMFS={ops_table:null,mount:function (mount) {
+ return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
+ },createNode:function (parent, name, mode, dev) {
+ if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
+ // no supported
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (!MEMFS.ops_table) {
+ MEMFS.ops_table = {
+ dir: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ lookup: MEMFS.node_ops.lookup,
+ mknod: MEMFS.node_ops.mknod,
+ rename: MEMFS.node_ops.rename,
+ unlink: MEMFS.node_ops.unlink,
+ rmdir: MEMFS.node_ops.rmdir,
+ readdir: MEMFS.node_ops.readdir,
+ symlink: MEMFS.node_ops.symlink
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek
+ }
+ },
+ file: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: {
+ llseek: MEMFS.stream_ops.llseek,
+ read: MEMFS.stream_ops.read,
+ write: MEMFS.stream_ops.write,
+ allocate: MEMFS.stream_ops.allocate,
+ mmap: MEMFS.stream_ops.mmap,
+ msync: MEMFS.stream_ops.msync
+ }
+ },
+ link: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr,
+ readlink: MEMFS.node_ops.readlink
+ },
+ stream: {}
+ },
+ chrdev: {
+ node: {
+ getattr: MEMFS.node_ops.getattr,
+ setattr: MEMFS.node_ops.setattr
+ },
+ stream: FS.chrdev_stream_ops
+ }
+ };
+ }
+ var node = FS.createNode(parent, name, mode, dev);
+ if (FS.isDir(node.mode)) {
+ node.node_ops = MEMFS.ops_table.dir.node;
+ node.stream_ops = MEMFS.ops_table.dir.stream;
+ node.contents = {};
+ } else if (FS.isFile(node.mode)) {
+ node.node_ops = MEMFS.ops_table.file.node;
+ node.stream_ops = MEMFS.ops_table.file.stream;
+ node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.buffer.byteLength which gives the whole capacity.
+ // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred
+ // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size
+ // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme.
+ node.contents = null;
+ } else if (FS.isLink(node.mode)) {
+ node.node_ops = MEMFS.ops_table.link.node;
+ node.stream_ops = MEMFS.ops_table.link.stream;
+ } else if (FS.isChrdev(node.mode)) {
+ node.node_ops = MEMFS.ops_table.chrdev.node;
+ node.stream_ops = MEMFS.ops_table.chrdev.stream;
+ }
+ node.timestamp = Date.now();
+ // add the new node to the parent
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },getFileDataAsRegularArray:function (node) {
+ if (node.contents && node.contents.subarray) {
+ var arr = [];
+ for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);
+ return arr; // Returns a copy of the original data.
+ }
+ return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
+ },getFileDataAsTypedArray:function (node) {
+ if (!node.contents) return new Uint8Array;
+ if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
+ return new Uint8Array(node.contents);
+ },expandFileStorage:function (node, newCapacity) {
+ // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
+ // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
+ // increase the size.
+ if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
+ node.contents = MEMFS.getFileDataAsRegularArray(node);
+ node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
+ }
+
+ if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
+ var prevCapacity = node.contents ? node.contents.buffer.byteLength : 0;
+ if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
+ // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
+ // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
+ // avoid overshooting the allocation cap by a very large margin.
+ var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+ newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);
+ if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(newCapacity); // Allocate new storage.
+ if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
+ return;
+ }
+ // Not using a typed array to back the file storage. Use a standard JS array instead.
+ if (!node.contents && newCapacity > 0) node.contents = [];
+ while (node.contents.length < newCapacity) node.contents.push(0);
+ },resizeFileStorage:function (node, newSize) {
+ if (node.usedBytes == newSize) return;
+ if (newSize == 0) {
+ node.contents = null; // Fully decommit when requesting a resize to zero.
+ node.usedBytes = 0;
+ return;
+ }
+ if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.
+ var oldContents = node.contents;
+ node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
+ if (oldContents) {
+ node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
+ }
+ node.usedBytes = newSize;
+ return;
+ }
+ // Backing with a JS array.
+ if (!node.contents) node.contents = [];
+ if (node.contents.length > newSize) node.contents.length = newSize;
+ else while (node.contents.length < newSize) node.contents.push(0);
+ node.usedBytes = newSize;
+ },node_ops:{getattr:function (node) {
+ var attr = {};
+ // device numbers reuse inode numbers.
+ attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
+ attr.ino = node.id;
+ attr.mode = node.mode;
+ attr.nlink = 1;
+ attr.uid = 0;
+ attr.gid = 0;
+ attr.rdev = node.rdev;
+ if (FS.isDir(node.mode)) {
+ attr.size = 4096;
+ } else if (FS.isFile(node.mode)) {
+ attr.size = node.usedBytes;
+ } else if (FS.isLink(node.mode)) {
+ attr.size = node.link.length;
+ } else {
+ attr.size = 0;
+ }
+ attr.atime = new Date(node.timestamp);
+ attr.mtime = new Date(node.timestamp);
+ attr.ctime = new Date(node.timestamp);
+ // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
+ // but this is not required by the standard.
+ attr.blksize = 4096;
+ attr.blocks = Math.ceil(attr.size / attr.blksize);
+ return attr;
+ },setattr:function (node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ if (attr.size !== undefined) {
+ MEMFS.resizeFileStorage(node, attr.size);
+ }
+ },lookup:function (parent, name) {
+ throw FS.genericErrors[ERRNO_CODES.ENOENT];
+ },mknod:function (parent, name, mode, dev) {
+ return MEMFS.createNode(parent, name, mode, dev);
+ },rename:function (old_node, new_dir, new_name) {
+ // if we're overwriting a directory at new_name, make sure it's empty.
+ if (FS.isDir(old_node.mode)) {
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {
+ }
+ if (new_node) {
+ for (var i in new_node.contents) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+ }
+ }
+ }
+ // do the internal rewiring
+ delete old_node.parent.contents[old_node.name];
+ old_node.name = new_name;
+ new_dir.contents[new_name] = old_node;
+ old_node.parent = new_dir;
+ },unlink:function (parent, name) {
+ delete parent.contents[name];
+ },rmdir:function (parent, name) {
+ var node = FS.lookupNode(parent, name);
+ for (var i in node.contents) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+ }
+ delete parent.contents[name];
+ },readdir:function (node) {
+ var entries = ['.', '..']
+ for (var key in node.contents) {
+ if (!node.contents.hasOwnProperty(key)) {
+ continue;
+ }
+ entries.push(key);
+ }
+ return entries;
+ },symlink:function (parent, newname, oldpath) {
+ var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
+ node.link = oldpath;
+ return node;
+ },readlink:function (node) {
+ if (!FS.isLink(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return node.link;
+ }},stream_ops:{read:function (stream, buffer, offset, length, position) {
+ var contents = stream.node.contents;
+ if (position >= stream.node.usedBytes) return 0;
+ var size = Math.min(stream.node.usedBytes - position, length);
+ assert(size >= 0);
+ if (size > 8 && contents.subarray) { // non-trivial, and typed array
+ buffer.set(contents.subarray(position, position + size), offset);
+ } else {
+ for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i];
+ }
+ return size;
+ },write:function (stream, buffer, offset, length, position, canOwn) {
+ if (!length) return 0;
+ var node = stream.node;
+ node.timestamp = Date.now();
+
+ if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array?
+ if (canOwn) { // Can we just reuse the buffer we are given?
+ assert(position === 0, 'canOwn must imply no weird position inside the file');
+ node.contents = buffer.subarray(offset, offset + length);
+ node.usedBytes = length;
+ return length;
+ } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
+ node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
+ node.usedBytes = length;
+ return length;
+ } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file?
+ node.contents.set(buffer.subarray(offset, offset + length), position);
+ return length;
+ }
+ }
+
+ // Appending to an existing file and we need to reallocate, or source data did not come as a typed array.
+ MEMFS.expandFileStorage(node, position+length);
+ if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available.
+ else {
+ for (var i = 0; i < length; i++) {
+ node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not.
+ }
+ }
+ node.usedBytes = Math.max(node.usedBytes, position+length);
+ return length;
+ },llseek:function (stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) { // SEEK_CUR.
+ position += stream.position;
+ } else if (whence === 2) { // SEEK_END.
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.usedBytes;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ },allocate:function (stream, offset, length) {
+ MEMFS.expandFileStorage(stream.node, offset + length);
+ stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
+ },mmap:function (stream, buffer, offset, length, position, prot, flags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ var ptr;
+ var allocated;
+ var contents = stream.node.contents;
+ // Only make a new copy when MAP_PRIVATE is specified.
+ if ( !(flags & 2) &&
+ (contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
+ // We can't emulate MAP_SHARED when the file is not backed by the buffer
+ // we're mapping to (e.g. the HEAP buffer).
+ allocated = false;
+ ptr = contents.byteOffset;
+ } else {
+ // Try to avoid unnecessary slices.
+ if (position > 0 || position + length < stream.node.usedBytes) {
+ if (contents.subarray) {
+ contents = contents.subarray(position, position + length);
+ } else {
+ contents = Array.prototype.slice.call(contents, position, position + length);
+ }
+ }
+ allocated = true;
+ ptr = _malloc(length);
+ if (!ptr) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
+ }
+ buffer.set(contents, ptr);
+ }
+ return { ptr: ptr, allocated: allocated };
+ },msync:function (stream, buffer, offset, length, mmapFlags) {
+ if (!FS.isFile(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ if (mmapFlags & 2) {
+ // MAP_PRIVATE calls need not to be synced back to underlying fs
+ return 0;
+ }
+
+ var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false);
+ // should we check if bytesWritten and length are the same?
+ return 0;
+ }}};
+
+ var IDBFS={dbs:{},indexedDB:function () {
+ if (typeof indexedDB !== 'undefined') return indexedDB;
+ var ret = null;
+ if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ assert(ret, 'IDBFS used, but indexedDB not supported');
+ return ret;
+ },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
+ // reuse all of the core MEMFS functionality
+ return MEMFS.mount.apply(null, arguments);
+ },syncfs:function (mount, populate, callback) {
+ IDBFS.getLocalSet(mount, function(err, local) {
+ if (err) return callback(err);
+
+ IDBFS.getRemoteSet(mount, function(err, remote) {
+ if (err) return callback(err);
+
+ var src = populate ? remote : local;
+ var dst = populate ? local : remote;
+
+ IDBFS.reconcile(src, dst, callback);
+ });
+ });
+ },getDB:function (name, callback) {
+ // check the cache first
+ var db = IDBFS.dbs[name];
+ if (db) {
+ return callback(null, db);
+ }
+
+ var req;
+ try {
+ req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
+ } catch (e) {
+ return callback(e);
+ }
+ req.onupgradeneeded = function(e) {
+ var db = e.target.result;
+ var transaction = e.target.transaction;
+
+ var fileStore;
+
+ if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
+ fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ } else {
+ fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
+ }
+
+ if (!fileStore.indexNames.contains('timestamp')) {
+ fileStore.createIndex('timestamp', 'timestamp', { unique: false });
+ }
+ };
+ req.onsuccess = function() {
+ db = req.result;
+
+ // add to the cache
+ IDBFS.dbs[name] = db;
+ callback(null, db);
+ };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },getLocalSet:function (mount, callback) {
+ var entries = {};
+
+ function isRealDir(p) {
+ return p !== '.' && p !== '..';
+ };
+ function toAbsolute(root) {
+ return function(p) {
+ return PATH.join2(root, p);
+ }
+ };
+
+ var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
+
+ while (check.length) {
+ var path = check.pop();
+ var stat;
+
+ try {
+ stat = FS.stat(path);
+ } catch (e) {
+ return callback(e);
+ }
+
+ if (FS.isDir(stat.mode)) {
+ check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
+ }
+
+ entries[path] = { timestamp: stat.mtime };
+ }
+
+ return callback(null, { type: 'local', entries: entries });
+ },getRemoteSet:function (mount, callback) {
+ var entries = {};
+
+ IDBFS.getDB(mount.mountpoint, function(err, db) {
+ if (err) return callback(err);
+
+ var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
+ transaction.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+
+ var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
+ var index = store.index('timestamp');
+
+ index.openKeyCursor().onsuccess = function(event) {
+ var cursor = event.target.result;
+
+ if (!cursor) {
+ return callback(null, { type: 'remote', db: db, entries: entries });
+ }
+
+ entries[cursor.primaryKey] = { timestamp: cursor.key };
+
+ cursor.continue();
+ };
+ });
+ },loadLocalEntry:function (path, callback) {
+ var stat, node;
+
+ try {
+ var lookup = FS.lookupPath(path);
+ node = lookup.node;
+ stat = FS.stat(path);
+ } catch (e) {
+ return callback(e);
+ }
+
+ if (FS.isDir(stat.mode)) {
+ return callback(null, { timestamp: stat.mtime, mode: stat.mode });
+ } else if (FS.isFile(stat.mode)) {
+ // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
+ // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
+ node.contents = MEMFS.getFileDataAsTypedArray(node);
+ return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
+ } else {
+ return callback(new Error('node type not supported'));
+ }
+ },storeLocalEntry:function (path, entry, callback) {
+ try {
+ if (FS.isDir(entry.mode)) {
+ FS.mkdir(path, entry.mode);
+ } else if (FS.isFile(entry.mode)) {
+ FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true });
+ } else {
+ return callback(new Error('node type not supported'));
+ }
+
+ FS.chmod(path, entry.mode);
+ FS.utime(path, entry.timestamp, entry.timestamp);
+ } catch (e) {
+ return callback(e);
+ }
+
+ callback(null);
+ },removeLocalEntry:function (path, callback) {
+ try {
+ var lookup = FS.lookupPath(path);
+ var stat = FS.stat(path);
+
+ if (FS.isDir(stat.mode)) {
+ FS.rmdir(path);
+ } else if (FS.isFile(stat.mode)) {
+ FS.unlink(path);
+ }
+ } catch (e) {
+ return callback(e);
+ }
+
+ callback(null);
+ },loadRemoteEntry:function (store, path, callback) {
+ var req = store.get(path);
+ req.onsuccess = function(event) { callback(null, event.target.result); };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },storeRemoteEntry:function (store, path, entry, callback) {
+ var req = store.put(entry, path);
+ req.onsuccess = function() { callback(null); };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },removeRemoteEntry:function (store, path, callback) {
+ var req = store.delete(path);
+ req.onsuccess = function() { callback(null); };
+ req.onerror = function(e) {
+ callback(this.error);
+ e.preventDefault();
+ };
+ },reconcile:function (src, dst, callback) {
+ var total = 0;
+
+ var create = [];
+ Object.keys(src.entries).forEach(function (key) {
+ var e = src.entries[key];
+ var e2 = dst.entries[key];
+ if (!e2 || e.timestamp > e2.timestamp) {
+ create.push(key);
+ total++;
+ }
+ });
+
+ var remove = [];
+ Object.keys(dst.entries).forEach(function (key) {
+ var e = dst.entries[key];
+ var e2 = src.entries[key];
+ if (!e2) {
+ remove.push(key);
+ total++;
+ }
+ });
+
+ if (!total) {
+ return callback(null);
+ }
+
+ var errored = false;
+ var completed = 0;
+ var db = src.type === 'remote' ? src.db : dst.db;
+ var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
+ var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
+
+ function done(err) {
+ if (err) {
+ if (!done.errored) {
+ done.errored = true;
+ return callback(err);
+ }
+ return;
+ }
+ if (++completed >= total) {
+ return callback(null);
+ }
+ };
+
+ transaction.onerror = function(e) {
+ done(this.error);
+ e.preventDefault();
+ };
+
+ // sort paths in ascending order so directory entries are created
+ // before the files inside them
+ create.sort().forEach(function (path) {
+ if (dst.type === 'local') {
+ IDBFS.loadRemoteEntry(store, path, function (err, entry) {
+ if (err) return done(err);
+ IDBFS.storeLocalEntry(path, entry, done);
+ });
+ } else {
+ IDBFS.loadLocalEntry(path, function (err, entry) {
+ if (err) return done(err);
+ IDBFS.storeRemoteEntry(store, path, entry, done);
+ });
+ }
+ });
+
+ // sort paths in descending order so files are deleted before their
+ // parent directories
+ remove.sort().reverse().forEach(function(path) {
+ if (dst.type === 'local') {
+ IDBFS.removeLocalEntry(path, done);
+ } else {
+ IDBFS.removeRemoteEntry(store, path, done);
+ }
+ });
+ }};
+
+ var NODEFS={isWindows:false,staticInit:function () {
+ NODEFS.isWindows = !!process.platform.match(/^win/);
+ },mount:function (mount) {
+ assert(ENVIRONMENT_IS_NODE);
+ return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
+ },createNode:function (parent, name, mode, dev) {
+ if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var node = FS.createNode(parent, name, mode);
+ node.node_ops = NODEFS.node_ops;
+ node.stream_ops = NODEFS.stream_ops;
+ return node;
+ },getMode:function (path) {
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ if (NODEFS.isWindows) {
+ // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
+ // propagate write bits to execute bits.
+ stat.mode = stat.mode | ((stat.mode & 146) >> 1);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ return stat.mode;
+ },realPath:function (node) {
+ var parts = [];
+ while (node.parent !== node) {
+ parts.push(node.name);
+ node = node.parent;
+ }
+ parts.push(node.mount.opts.root);
+ parts.reverse();
+ return PATH.join.apply(null, parts);
+ },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
+ flags &= ~0100000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
+ flags &= ~02000000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
+ if (flags in NODEFS.flagsToPermissionStringMap) {
+ return NODEFS.flagsToPermissionStringMap[flags];
+ } else {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ },node_ops:{getattr:function (node) {
+ var path = NODEFS.realPath(node);
+ var stat;
+ try {
+ stat = fs.lstatSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
+ // See http://support.microsoft.com/kb/140365
+ if (NODEFS.isWindows && !stat.blksize) {
+ stat.blksize = 4096;
+ }
+ if (NODEFS.isWindows && !stat.blocks) {
+ stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
+ }
+ return {
+ dev: stat.dev,
+ ino: stat.ino,
+ mode: stat.mode,
+ nlink: stat.nlink,
+ uid: stat.uid,
+ gid: stat.gid,
+ rdev: stat.rdev,
+ size: stat.size,
+ atime: stat.atime,
+ mtime: stat.mtime,
+ ctime: stat.ctime,
+ blksize: stat.blksize,
+ blocks: stat.blocks
+ };
+ },setattr:function (node, attr) {
+ var path = NODEFS.realPath(node);
+ try {
+ if (attr.mode !== undefined) {
+ fs.chmodSync(path, attr.mode);
+ // update the common node structure mode as well
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ var date = new Date(attr.timestamp);
+ fs.utimesSync(path, date, date);
+ }
+ if (attr.size !== undefined) {
+ fs.truncateSync(path, attr.size);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },lookup:function (parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ var mode = NODEFS.getMode(path);
+ return NODEFS.createNode(parent, name, mode);
+ },mknod:function (parent, name, mode, dev) {
+ var node = NODEFS.createNode(parent, name, mode, dev);
+ // create the backing node for this in the fs root as well
+ var path = NODEFS.realPath(node);
+ try {
+ if (FS.isDir(node.mode)) {
+ fs.mkdirSync(path, node.mode);
+ } else {
+ fs.writeFileSync(path, '', { mode: node.mode });
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ return node;
+ },rename:function (oldNode, newDir, newName) {
+ var oldPath = NODEFS.realPath(oldNode);
+ var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
+ try {
+ fs.renameSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },unlink:function (parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.unlinkSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },rmdir:function (parent, name) {
+ var path = PATH.join2(NODEFS.realPath(parent), name);
+ try {
+ fs.rmdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },readdir:function (node) {
+ var path = NODEFS.realPath(node);
+ try {
+ return fs.readdirSync(path);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },symlink:function (parent, newName, oldPath) {
+ var newPath = PATH.join2(NODEFS.realPath(parent), newName);
+ try {
+ fs.symlinkSync(oldPath, newPath);
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },readlink:function (node) {
+ var path = NODEFS.realPath(node);
+ try {
+ path = fs.readlinkSync(path);
+ path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
+ return path;
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ }},stream_ops:{open:function (stream) {
+ var path = NODEFS.realPath(stream.node);
+ try {
+ if (FS.isFile(stream.node.mode)) {
+ stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },close:function (stream) {
+ try {
+ if (FS.isFile(stream.node.mode) && stream.nfd) {
+ fs.closeSync(stream.nfd);
+ }
+ } catch (e) {
+ if (!e.code) throw e;
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ },read:function (stream, buffer, offset, length, position) {
+ if (length === 0) return 0; // node errors on 0 length reads
+ // FIXME this is terrible.
+ var nbuffer = new Buffer(length);
+ var res;
+ try {
+ res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ if (res > 0) {
+ for (var i = 0; i < res; i++) {
+ buffer[offset + i] = nbuffer[i];
+ }
+ }
+ return res;
+ },write:function (stream, buffer, offset, length, position) {
+ // FIXME this is terrible.
+ var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
+ var res;
+ try {
+ res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ return res;
+ },llseek:function (stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) { // SEEK_CUR.
+ position += stream.position;
+ } else if (whence === 2) { // SEEK_END.
+ if (FS.isFile(stream.node.mode)) {
+ try {
+ var stat = fs.fstatSync(stream.nfd);
+ position += stat.size;
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES[e.code]);
+ }
+ }
+ }
+
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+
+ return position;
+ }}};
+
+ var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
+ assert(ENVIRONMENT_IS_WORKER);
+ if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
+ var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
+ var createdParents = {};
+ function ensureParent(path) {
+ // return the parent node, creating subdirs as necessary
+ var parts = path.split('/');
+ var parent = root;
+ for (var i = 0; i < parts.length-1; i++) {
+ var curr = parts.slice(0, i+1).join('/');
+ if (!createdParents[curr]) {
+ createdParents[curr] = WORKERFS.createNode(parent, curr, WORKERFS.DIR_MODE, 0);
+ }
+ parent = createdParents[curr];
+ }
+ return parent;
+ }
+ function base(path) {
+ var parts = path.split('/');
+ return parts[parts.length-1];
+ }
+ // We also accept FileList here, by using Array.prototype
+ Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
+ WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
+ });
+ (mount.opts["blobs"] || []).forEach(function(obj) {
+ WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
+ });
+ (mount.opts["packages"] || []).forEach(function(pack) {
+ pack['metadata'].files.forEach(function(file) {
+ var name = file.filename.substr(1); // remove initial slash
+ WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
+ });
+ });
+ return root;
+ },createNode:function (parent, name, mode, dev, contents, mtime) {
+ var node = FS.createNode(parent, name, mode);
+ node.mode = mode;
+ node.node_ops = WORKERFS.node_ops;
+ node.stream_ops = WORKERFS.stream_ops;
+ node.timestamp = (mtime || new Date).getTime();
+ assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
+ if (mode === WORKERFS.FILE_MODE) {
+ node.size = contents.size;
+ node.contents = contents;
+ } else {
+ node.size = 4096;
+ node.contents = {};
+ }
+ if (parent) {
+ parent.contents[name] = node;
+ }
+ return node;
+ },node_ops:{getattr:function (node) {
+ return {
+ dev: 1,
+ ino: undefined,
+ mode: node.mode,
+ nlink: 1,
+ uid: 0,
+ gid: 0,
+ rdev: undefined,
+ size: node.size,
+ atime: new Date(node.timestamp),
+ mtime: new Date(node.timestamp),
+ ctime: new Date(node.timestamp),
+ blksize: 4096,
+ blocks: Math.ceil(node.size / 4096),
+ };
+ },setattr:function (node, attr) {
+ if (attr.mode !== undefined) {
+ node.mode = attr.mode;
+ }
+ if (attr.timestamp !== undefined) {
+ node.timestamp = attr.timestamp;
+ }
+ },lookup:function (parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ },mknod:function (parent, name, mode, dev) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },rename:function (oldNode, newDir, newName) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },unlink:function (parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },rmdir:function (parent, name) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },readdir:function (node) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },symlink:function (parent, newName, oldPath) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ },readlink:function (node) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }},stream_ops:{read:function (stream, buffer, offset, length, position) {
+ if (position >= stream.node.size) return 0;
+ var chunk = stream.node.contents.slice(position, position + length);
+ var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
+ buffer.set(new Uint8Array(ab), offset);
+ return chunk.size;
+ },write:function (stream, buffer, offset, length, position) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ },llseek:function (stream, offset, whence) {
+ var position = offset;
+ if (whence === 1) { // SEEK_CUR.
+ position += stream.position;
+ } else if (whence === 2) { // SEEK_END.
+ if (FS.isFile(stream.node.mode)) {
+ position += stream.node.size;
+ }
+ }
+ if (position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return position;
+ }}};
+
+ var _stdin=allocate(1, "i32*", ALLOC_STATIC);
+
+ var _stdout=allocate(1, "i32*", ALLOC_STATIC);
+
+ var _stderr=allocate(1, "i32*", ALLOC_STATIC);var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) {
+ if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
+ return ___setErrNo(e.errno);
+ },lookupPath:function (path, opts) {
+ path = PATH.resolve(FS.cwd(), path);
+ opts = opts || {};
+
+ if (!path) return { path: '', node: null };
+
+ var defaults = {
+ follow_mount: true,
+ recurse_count: 0
+ };
+ for (var key in defaults) {
+ if (opts[key] === undefined) {
+ opts[key] = defaults[key];
+ }
+ }
+
+ if (opts.recurse_count > 8) { // max recursive lookup of 8
+ throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
+ }
+
+ // split the path
+ var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
+ return !!p;
+ }), false);
+
+ // start at the root
+ var current = FS.root;
+ var current_path = '/';
+
+ for (var i = 0; i < parts.length; i++) {
+ var islast = (i === parts.length-1);
+ if (islast && opts.parent) {
+ // stop resolving
+ break;
+ }
+
+ current = FS.lookupNode(current, parts[i]);
+ current_path = PATH.join2(current_path, parts[i]);
+
+ // jump to the mount's root node if this is a mountpoint
+ if (FS.isMountpoint(current)) {
+ if (!islast || (islast && opts.follow_mount)) {
+ current = current.mounted.root;
+ }
+ }
+
+ // by default, lookupPath will not follow a symlink if it is the final path component.
+ // setting opts.follow = true will override this behavior.
+ if (!islast || opts.follow) {
+ var count = 0;
+ while (FS.isLink(current.mode)) {
+ var link = FS.readlink(current_path);
+ current_path = PATH.resolve(PATH.dirname(current_path), link);
+
+ var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
+ current = lookup.node;
+
+ if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
+ throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
+ }
+ }
+ }
+ }
+
+ return { path: current_path, node: current };
+ },getPath:function (node) {
+ var path;
+ while (true) {
+ if (FS.isRoot(node)) {
+ var mount = node.mount.mountpoint;
+ if (!path) return mount;
+ return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
+ }
+ path = path ? node.name + '/' + path : node.name;
+ node = node.parent;
+ }
+ },hashName:function (parentid, name) {
+ var hash = 0;
+
+
+ for (var i = 0; i < name.length; i++) {
+ hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
+ }
+ return ((parentid + hash) >>> 0) % FS.nameTable.length;
+ },hashAddNode:function (node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ node.name_next = FS.nameTable[hash];
+ FS.nameTable[hash] = node;
+ },hashRemoveNode:function (node) {
+ var hash = FS.hashName(node.parent.id, node.name);
+ if (FS.nameTable[hash] === node) {
+ FS.nameTable[hash] = node.name_next;
+ } else {
+ var current = FS.nameTable[hash];
+ while (current) {
+ if (current.name_next === node) {
+ current.name_next = node.name_next;
+ break;
+ }
+ current = current.name_next;
+ }
+ }
+ },lookupNode:function (parent, name) {
+ var err = FS.mayLookup(parent);
+ if (err) {
+ throw new FS.ErrnoError(err, parent);
+ }
+ var hash = FS.hashName(parent.id, name);
+ for (var node = FS.nameTable[hash]; node; node = node.name_next) {
+ var nodeName = node.name;
+ if (node.parent.id === parent.id && nodeName === name) {
+ return node;
+ }
+ }
+ // if we failed to find it in the cache, call into the VFS
+ return FS.lookup(parent, name);
+ },createNode:function (parent, name, mode, rdev) {
+ if (!FS.FSNode) {
+ FS.FSNode = function(parent, name, mode, rdev) {
+ if (!parent) {
+ parent = this; // root node sets parent to itself
+ }
+ this.parent = parent;
+ this.mount = parent.mount;
+ this.mounted = null;
+ this.id = FS.nextInode++;
+ this.name = name;
+ this.mode = mode;
+ this.node_ops = {};
+ this.stream_ops = {};
+ this.rdev = rdev;
+ };
+
+ FS.FSNode.prototype = {};
+
+ // compatibility
+ var readMode = 292 | 73;
+ var writeMode = 146;
+
+ // NOTE we must use Object.defineProperties instead of individual calls to
+ // Object.defineProperty in order to make closure compiler happy
+ Object.defineProperties(FS.FSNode.prototype, {
+ read: {
+ get: function() { return (this.mode & readMode) === readMode; },
+ set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
+ },
+ write: {
+ get: function() { return (this.mode & writeMode) === writeMode; },
+ set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
+ },
+ isFolder: {
+ get: function() { return FS.isDir(this.mode); }
+ },
+ isDevice: {
+ get: function() { return FS.isChrdev(this.mode); }
+ }
+ });
+ }
+
+ var node = new FS.FSNode(parent, name, mode, rdev);
+
+ FS.hashAddNode(node);
+
+ return node;
+ },destroyNode:function (node) {
+ FS.hashRemoveNode(node);
+ },isRoot:function (node) {
+ return node === node.parent;
+ },isMountpoint:function (node) {
+ return !!node.mounted;
+ },isFile:function (mode) {
+ return (mode & 61440) === 32768;
+ },isDir:function (mode) {
+ return (mode & 61440) === 16384;
+ },isLink:function (mode) {
+ return (mode & 61440) === 40960;
+ },isChrdev:function (mode) {
+ return (mode & 61440) === 8192;
+ },isBlkdev:function (mode) {
+ return (mode & 61440) === 24576;
+ },isFIFO:function (mode) {
+ return (mode & 61440) === 4096;
+ },isSocket:function (mode) {
+ return (mode & 49152) === 49152;
+ },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {
+ var flags = FS.flagModes[str];
+ if (typeof flags === 'undefined') {
+ throw new Error('Unknown file open mode: ' + str);
+ }
+ return flags;
+ },flagsToPermissionString:function (flag) {
+ var perms = ['r', 'w', 'rw'][flag & 3];
+ if ((flag & 512)) {
+ perms += 'w';
+ }
+ return perms;
+ },nodePermissions:function (node, perms) {
+ if (FS.ignorePermissions) {
+ return 0;
+ }
+ // return 0 if any user, group or owner bits are set.
+ if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
+ return ERRNO_CODES.EACCES;
+ } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
+ return ERRNO_CODES.EACCES;
+ } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
+ return ERRNO_CODES.EACCES;
+ }
+ return 0;
+ },mayLookup:function (dir) {
+ var err = FS.nodePermissions(dir, 'x');
+ if (err) return err;
+ if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
+ return 0;
+ },mayCreate:function (dir, name) {
+ try {
+ var node = FS.lookupNode(dir, name);
+ return ERRNO_CODES.EEXIST;
+ } catch (e) {
+ }
+ return FS.nodePermissions(dir, 'wx');
+ },mayDelete:function (dir, name, isdir) {
+ var node;
+ try {
+ node = FS.lookupNode(dir, name);
+ } catch (e) {
+ return e.errno;
+ }
+ var err = FS.nodePermissions(dir, 'wx');
+ if (err) {
+ return err;
+ }
+ if (isdir) {
+ if (!FS.isDir(node.mode)) {
+ return ERRNO_CODES.ENOTDIR;
+ }
+ if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
+ return ERRNO_CODES.EBUSY;
+ }
+ } else {
+ if (FS.isDir(node.mode)) {
+ return ERRNO_CODES.EISDIR;
+ }
+ }
+ return 0;
+ },mayOpen:function (node, flags) {
+ if (!node) {
+ return ERRNO_CODES.ENOENT;
+ }
+ if (FS.isLink(node.mode)) {
+ return ERRNO_CODES.ELOOP;
+ } else if (FS.isDir(node.mode)) {
+ if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
+ (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
+ return ERRNO_CODES.EISDIR;
+ }
+ }
+ return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
+ },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {
+ fd_start = fd_start || 0;
+ fd_end = fd_end || FS.MAX_OPEN_FDS;
+ for (var fd = fd_start; fd <= fd_end; fd++) {
+ if (!FS.streams[fd]) {
+ return fd;
+ }
+ }
+ throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
+ },getStream:function (fd) {
+ return FS.streams[fd];
+ },createStream:function (stream, fd_start, fd_end) {
+ if (!FS.FSStream) {
+ FS.FSStream = function(){};
+ FS.FSStream.prototype = {};
+ // compatibility
+ Object.defineProperties(FS.FSStream.prototype, {
+ object: {
+ get: function() { return this.node; },
+ set: function(val) { this.node = val; }
+ },
+ isRead: {
+ get: function() { return (this.flags & 2097155) !== 1; }
+ },
+ isWrite: {
+ get: function() { return (this.flags & 2097155) !== 0; }
+ },
+ isAppend: {
+ get: function() { return (this.flags & 1024); }
+ }
+ });
+ }
+ // clone it, so we can return an instance of FSStream
+ var newStream = new FS.FSStream();
+ for (var p in stream) {
+ newStream[p] = stream[p];
+ }
+ stream = newStream;
+ var fd = FS.nextfd(fd_start, fd_end);
+ stream.fd = fd;
+ FS.streams[fd] = stream;
+ return stream;
+ },closeStream:function (fd) {
+ FS.streams[fd] = null;
+ },chrdev_stream_ops:{open:function (stream) {
+ var device = FS.getDevice(stream.node.rdev);
+ // override node's stream ops with the device's
+ stream.stream_ops = device.stream_ops;
+ // forward the open call
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ },llseek:function () {
+ throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+ }},major:function (dev) {
+ return ((dev) >> 8);
+ },minor:function (dev) {
+ return ((dev) & 0xff);
+ },makedev:function (ma, mi) {
+ return ((ma) << 8 | (mi));
+ },registerDevice:function (dev, ops) {
+ FS.devices[dev] = { stream_ops: ops };
+ },getDevice:function (dev) {
+ return FS.devices[dev];
+ },getMounts:function (mount) {
+ var mounts = [];
+ var check = [mount];
+
+ while (check.length) {
+ var m = check.pop();
+
+ mounts.push(m);
+
+ check.push.apply(check, m.mounts);
+ }
+
+ return mounts;
+ },syncfs:function (populate, callback) {
+ if (typeof(populate) === 'function') {
+ callback = populate;
+ populate = false;
+ }
+
+ FS.syncFSRequests++;
+
+ if (FS.syncFSRequests > 1) {
+ console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
+ }
+
+ var mounts = FS.getMounts(FS.root.mount);
+ var completed = 0;
+
+ function doCallback(err) {
+ assert(FS.syncFSRequests > 0);
+ FS.syncFSRequests--;
+ return callback(err);
+ }
+
+ function done(err) {
+ if (err) {
+ if (!done.errored) {
+ done.errored = true;
+ return doCallback(err);
+ }
+ return;
+ }
+ if (++completed >= mounts.length) {
+ doCallback(null);
+ }
+ };
+
+ // sync all mounts
+ mounts.forEach(function (mount) {
+ if (!mount.type.syncfs) {
+ return done(null);
+ }
+ mount.type.syncfs(mount, populate, done);
+ });
+ },mount:function (type, opts, mountpoint) {
+ var root = mountpoint === '/';
+ var pseudo = !mountpoint;
+ var node;
+
+ if (root && FS.root) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ } else if (!root && !pseudo) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+
+ mountpoint = lookup.path; // use the absolute path
+ node = lookup.node;
+
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+
+ if (!FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ }
+
+ var mount = {
+ type: type,
+ opts: opts,
+ mountpoint: mountpoint,
+ mounts: []
+ };
+
+ // create a root node for the fs
+ var mountRoot = type.mount(mount);
+ mountRoot.mount = mount;
+ mount.root = mountRoot;
+
+ if (root) {
+ FS.root = mountRoot;
+ } else if (node) {
+ // set as a mountpoint
+ node.mounted = mount;
+
+ // add the new mount to the current mount's children
+ if (node.mount) {
+ node.mount.mounts.push(mount);
+ }
+ }
+
+ return mountRoot;
+ },unmount:function (mountpoint) {
+ var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
+
+ if (!FS.isMountpoint(lookup.node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+
+ // destroy the nodes for this mount, and all its child mounts
+ var node = lookup.node;
+ var mount = node.mounted;
+ var mounts = FS.getMounts(mount);
+
+ Object.keys(FS.nameTable).forEach(function (hash) {
+ var current = FS.nameTable[hash];
+
+ while (current) {
+ var next = current.name_next;
+
+ if (mounts.indexOf(current.mount) !== -1) {
+ FS.destroyNode(current);
+ }
+
+ current = next;
+ }
+ });
+
+ // no longer a mountpoint
+ node.mounted = null;
+
+ // remove this mount from the child mounts
+ var idx = node.mount.mounts.indexOf(mount);
+ assert(idx !== -1);
+ node.mount.mounts.splice(idx, 1);
+ },lookup:function (parent, name) {
+ return parent.node_ops.lookup(parent, name);
+ },mknod:function (path, mode, dev) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ if (!name || name === '.' || name === '..') {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var err = FS.mayCreate(parent, name);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.mknod) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ return parent.node_ops.mknod(parent, name, mode, dev);
+ },create:function (path, mode) {
+ mode = mode !== undefined ? mode : 438 /* 0666 */;
+ mode &= 4095;
+ mode |= 32768;
+ return FS.mknod(path, mode, 0);
+ },mkdir:function (path, mode) {
+ mode = mode !== undefined ? mode : 511 /* 0777 */;
+ mode &= 511 | 512;
+ mode |= 16384;
+ return FS.mknod(path, mode, 0);
+ },mkdev:function (path, mode, dev) {
+ if (typeof(dev) === 'undefined') {
+ dev = mode;
+ mode = 438 /* 0666 */;
+ }
+ mode |= 8192;
+ return FS.mknod(path, mode, dev);
+ },symlink:function (oldpath, newpath) {
+ if (!PATH.resolve(oldpath)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ var lookup = FS.lookupPath(newpath, { parent: true });
+ var parent = lookup.node;
+ if (!parent) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ var newname = PATH.basename(newpath);
+ var err = FS.mayCreate(parent, newname);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.symlink) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ return parent.node_ops.symlink(parent, newname, oldpath);
+ },rename:function (old_path, new_path) {
+ var old_dirname = PATH.dirname(old_path);
+ var new_dirname = PATH.dirname(new_path);
+ var old_name = PATH.basename(old_path);
+ var new_name = PATH.basename(new_path);
+ // parents must exist
+ var lookup, old_dir, new_dir;
+ try {
+ lookup = FS.lookupPath(old_path, { parent: true });
+ old_dir = lookup.node;
+ lookup = FS.lookupPath(new_path, { parent: true });
+ new_dir = lookup.node;
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+ if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ // need to be part of the same mount
+ if (old_dir.mount !== new_dir.mount) {
+ throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
+ }
+ // source must exist
+ var old_node = FS.lookupNode(old_dir, old_name);
+ // old path should not be an ancestor of the new path
+ var relative = PATH.relative(old_path, new_dirname);
+ if (relative.charAt(0) !== '.') {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ // new path should not be an ancestor of the old path
+ relative = PATH.relative(new_path, old_dirname);
+ if (relative.charAt(0) !== '.') {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+ }
+ // see if the new path already exists
+ var new_node;
+ try {
+ new_node = FS.lookupNode(new_dir, new_name);
+ } catch (e) {
+ // not fatal
+ }
+ // early out if nothing needs to change
+ if (old_node === new_node) {
+ return;
+ }
+ // we'll need to delete the old entry
+ var isdir = FS.isDir(old_node.mode);
+ var err = FS.mayDelete(old_dir, old_name, isdir);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ // need delete permissions if we'll be overwriting.
+ // need create permissions if new doesn't already exist.
+ err = new_node ?
+ FS.mayDelete(new_dir, new_name, isdir) :
+ FS.mayCreate(new_dir, new_name);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!old_dir.node_ops.rename) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+ // if we are going to change the parent, check write permissions
+ if (new_dir !== old_dir) {
+ err = FS.nodePermissions(old_dir, 'w');
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ }
+ try {
+ if (FS.trackingDelegate['willMovePath']) {
+ FS.trackingDelegate['willMovePath'](old_path, new_path);
+ }
+ } catch(e) {
+ console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
+ }
+ // remove the node from the lookup hash
+ FS.hashRemoveNode(old_node);
+ // do the underlying fs rename
+ try {
+ old_dir.node_ops.rename(old_node, new_dir, new_name);
+ } catch (e) {
+ throw e;
+ } finally {
+ // add the node back to the hash (in case node_ops.rename
+ // changed its name)
+ FS.hashAddNode(old_node);
+ }
+ try {
+ if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
+ } catch(e) {
+ console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
+ }
+ },rmdir:function (path) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ var node = FS.lookupNode(parent, name);
+ var err = FS.mayDelete(parent, name, true);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.rmdir) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+ try {
+ if (FS.trackingDelegate['willDeletePath']) {
+ FS.trackingDelegate['willDeletePath'](path);
+ }
+ } catch(e) {
+ console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ parent.node_ops.rmdir(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
+ } catch(e) {
+ console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ },readdir:function (path) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ if (!node.node_ops.readdir) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ return node.node_ops.readdir(node);
+ },unlink:function (path) {
+ var lookup = FS.lookupPath(path, { parent: true });
+ var parent = lookup.node;
+ var name = PATH.basename(path);
+ var node = FS.lookupNode(parent, name);
+ var err = FS.mayDelete(parent, name, false);
+ if (err) {
+ // POSIX says unlink should set EPERM, not EISDIR
+ if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM;
+ throw new FS.ErrnoError(err);
+ }
+ if (!parent.node_ops.unlink) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (FS.isMountpoint(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+ }
+ try {
+ if (FS.trackingDelegate['willDeletePath']) {
+ FS.trackingDelegate['willDeletePath'](path);
+ }
+ } catch(e) {
+ console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ parent.node_ops.unlink(parent, name);
+ FS.destroyNode(node);
+ try {
+ if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
+ } catch(e) {
+ console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+ }
+ },readlink:function (path) {
+ var lookup = FS.lookupPath(path);
+ var link = lookup.node;
+ if (!link) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ if (!link.node_ops.readlink) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
+ },stat:function (path, dontFollow) {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ var node = lookup.node;
+ if (!node) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ if (!node.node_ops.getattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ return node.node_ops.getattr(node);
+ },lstat:function (path) {
+ return FS.stat(path, true);
+ },chmod:function (path, mode, dontFollow) {
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ node.node_ops.setattr(node, {
+ mode: (mode & 4095) | (node.mode & ~4095),
+ timestamp: Date.now()
+ });
+ },lchmod:function (path, mode) {
+ FS.chmod(path, mode, true);
+ },fchmod:function (fd, mode) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ FS.chmod(stream.node, mode);
+ },chown:function (path, uid, gid, dontFollow) {
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: !dontFollow });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ node.node_ops.setattr(node, {
+ timestamp: Date.now()
+ // we ignore the uid / gid for now
+ });
+ },lchown:function (path, uid, gid) {
+ FS.chown(path, uid, gid, true);
+ },fchown:function (fd, uid, gid) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ FS.chown(stream.node, uid, gid);
+ },truncate:function (path, len) {
+ if (len < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var node;
+ if (typeof path === 'string') {
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ } else {
+ node = path;
+ }
+ if (!node.node_ops.setattr) {
+ throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+ }
+ if (FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+ }
+ if (!FS.isFile(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var err = FS.nodePermissions(node, 'w');
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ node.node_ops.setattr(node, {
+ size: len,
+ timestamp: Date.now()
+ });
+ },ftruncate:function (fd, len) {
+ var stream = FS.getStream(fd);
+ if (!stream) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ FS.truncate(stream.node, len);
+ },utime:function (path, atime, mtime) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ var node = lookup.node;
+ node.node_ops.setattr(node, {
+ timestamp: Math.max(atime, mtime)
+ });
+ },open:function (path, flags, mode, fd_start, fd_end) {
+ if (path === "") {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
+ mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode;
+ if ((flags & 64)) {
+ mode = (mode & 4095) | 32768;
+ } else {
+ mode = 0;
+ }
+ var node;
+ if (typeof path === 'object') {
+ node = path;
+ } else {
+ path = PATH.normalize(path);
+ try {
+ var lookup = FS.lookupPath(path, {
+ follow: !(flags & 131072)
+ });
+ node = lookup.node;
+ } catch (e) {
+ // ignore
+ }
+ }
+ // perhaps we need to create the node
+ var created = false;
+ if ((flags & 64)) {
+ if (node) {
+ // if O_CREAT and O_EXCL are set, error out if the node already exists
+ if ((flags & 128)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
+ }
+ } else {
+ // node doesn't exist, try to create it
+ node = FS.mknod(path, mode, 0);
+ created = true;
+ }
+ }
+ if (!node) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+ }
+ // can't truncate a device
+ if (FS.isChrdev(node.mode)) {
+ flags &= ~512;
+ }
+ // if asked only for a directory, then this must be one
+ if ((flags & 65536) && !FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ // check permissions, if this is not a file we just created now (it is ok to
+ // create and write to a file with read-only permissions; it is read-only
+ // for later use)
+ if (!created) {
+ var err = FS.mayOpen(node, flags);
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ }
+ // do truncation if necessary
+ if ((flags & 512)) {
+ FS.truncate(node, 0);
+ }
+ // we've already handled these, don't pass down to the underlying vfs
+ flags &= ~(128 | 512);
+
+ // register the stream with the filesystem
+ var stream = FS.createStream({
+ node: node,
+ path: FS.getPath(node), // we want the absolute path to the node
+ flags: flags,
+ seekable: true,
+ position: 0,
+ stream_ops: node.stream_ops,
+ // used by the file family libc calls (fopen, fwrite, ferror, etc.)
+ ungotten: [],
+ error: false
+ }, fd_start, fd_end);
+ // call the new stream's open function
+ if (stream.stream_ops.open) {
+ stream.stream_ops.open(stream);
+ }
+ if (Module['logReadFiles'] && !(flags & 1)) {
+ if (!FS.readFiles) FS.readFiles = {};
+ if (!(path in FS.readFiles)) {
+ FS.readFiles[path] = 1;
+ Module['printErr']('read file: ' + path);
+ }
+ }
+ try {
+ if (FS.trackingDelegate['onOpenFile']) {
+ var trackingFlags = 0;
+ if ((flags & 2097155) !== 1) {
+ trackingFlags |= FS.tracking.openFlags.READ;
+ }
+ if ((flags & 2097155) !== 0) {
+ trackingFlags |= FS.tracking.openFlags.WRITE;
+ }
+ FS.trackingDelegate['onOpenFile'](path, trackingFlags);
+ }
+ } catch(e) {
+ console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
+ }
+ return stream;
+ },close:function (stream) {
+ if (stream.getdents) stream.getdents = null; // free readdir state
+ try {
+ if (stream.stream_ops.close) {
+ stream.stream_ops.close(stream);
+ }
+ } catch (e) {
+ throw e;
+ } finally {
+ FS.closeStream(stream.fd);
+ }
+ },llseek:function (stream, offset, whence) {
+ if (!stream.seekable || !stream.stream_ops.llseek) {
+ throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+ }
+ stream.position = stream.stream_ops.llseek(stream, offset, whence);
+ stream.ungotten = [];
+ return stream.position;
+ },read:function (stream, buffer, offset, length, position) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if (FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+ }
+ if (!stream.stream_ops.read) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ var seeking = true;
+ if (typeof position === 'undefined') {
+ position = stream.position;
+ seeking = false;
+ } else if (!stream.seekable) {
+ throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+ }
+ var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
+ if (!seeking) stream.position += bytesRead;
+ return bytesRead;
+ },write:function (stream, buffer, offset, length, position, canOwn) {
+ if (length < 0 || position < 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if (FS.isDir(stream.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+ }
+ if (!stream.stream_ops.write) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ if (stream.flags & 1024) {
+ // seek to the end before writing in append mode
+ FS.llseek(stream, 0, 2);
+ }
+ var seeking = true;
+ if (typeof position === 'undefined') {
+ position = stream.position;
+ seeking = false;
+ } else if (!stream.seekable) {
+ throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+ }
+ var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
+ if (!seeking) stream.position += bytesWritten;
+ try {
+ if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
+ } catch(e) {
+ console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message);
+ }
+ return bytesWritten;
+ },allocate:function (stream, offset, length) {
+ if (offset < 0 || length <= 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+ }
+ if ((stream.flags & 2097155) === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ }
+ if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ if (!stream.stream_ops.allocate) {
+ throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
+ }
+ stream.stream_ops.allocate(stream, offset, length);
+ },mmap:function (stream, buffer, offset, length, position, prot, flags) {
+ // TODO if PROT is PROT_WRITE, make sure we have write access
+ if ((stream.flags & 2097155) === 1) {
+ throw new FS.ErrnoError(ERRNO_CODES.EACCES);
+ }
+ if (!stream.stream_ops.mmap) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+ }
+ return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
+ },msync:function (stream, buffer, offset, length, mmapFlags) {
+ if (!stream || !stream.stream_ops.msync) {
+ return 0;
+ }
+ return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
+ },munmap:function (stream) {
+ return 0;
+ },ioctl:function (stream, cmd, arg) {
+ if (!stream.stream_ops.ioctl) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
+ }
+ return stream.stream_ops.ioctl(stream, cmd, arg);
+ },readFile:function (path, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || 'r';
+ opts.encoding = opts.encoding || 'binary';
+ if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
+ throw new Error('Invalid encoding type "' + opts.encoding + '"');
+ }
+ var ret;
+ var stream = FS.open(path, opts.flags);
+ var stat = FS.stat(path);
+ var length = stat.size;
+ var buf = new Uint8Array(length);
+ FS.read(stream, buf, 0, length, 0);
+ if (opts.encoding === 'utf8') {
+ ret = UTF8ArrayToString(buf, 0);
+ } else if (opts.encoding === 'binary') {
+ ret = buf;
+ }
+ FS.close(stream);
+ return ret;
+ },writeFile:function (path, data, opts) {
+ opts = opts || {};
+ opts.flags = opts.flags || 'w';
+ opts.encoding = opts.encoding || 'utf8';
+ if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
+ throw new Error('Invalid encoding type "' + opts.encoding + '"');
+ }
+ var stream = FS.open(path, opts.flags, opts.mode);
+ if (opts.encoding === 'utf8') {
+ var buf = new Uint8Array(lengthBytesUTF8(data)+1);
+ var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
+ FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn);
+ } else if (opts.encoding === 'binary') {
+ FS.write(stream, data, 0, data.length, 0, opts.canOwn);
+ }
+ FS.close(stream);
+ },cwd:function () {
+ return FS.currentPath;
+ },chdir:function (path) {
+ var lookup = FS.lookupPath(path, { follow: true });
+ if (!FS.isDir(lookup.node.mode)) {
+ throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+ }
+ var err = FS.nodePermissions(lookup.node, 'x');
+ if (err) {
+ throw new FS.ErrnoError(err);
+ }
+ FS.currentPath = lookup.path;
+ },createDefaultDirectories:function () {
+ FS.mkdir('/tmp');
+ FS.mkdir('/home');
+ FS.mkdir('/home/web_user');
+ },createDefaultDevices:function () {
+ // create /dev
+ FS.mkdir('/dev');
+ // setup /dev/null
+ FS.registerDevice(FS.makedev(1, 3), {
+ read: function() { return 0; },
+ write: function(stream, buffer, offset, length, pos) { return length; }
+ });
+ FS.mkdev('/dev/null', FS.makedev(1, 3));
+ // setup /dev/tty and /dev/tty1
+ // stderr needs to print output using Module['printErr']
+ // so we register a second tty just for it.
+ TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
+ TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
+ FS.mkdev('/dev/tty', FS.makedev(5, 0));
+ FS.mkdev('/dev/tty1', FS.makedev(6, 0));
+ // setup /dev/[u]random
+ var random_device;
+ if (typeof crypto !== 'undefined') {
+ // for modern web browsers
+ var randomBuffer = new Uint8Array(1);
+ random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
+ } else if (ENVIRONMENT_IS_NODE) {
+ // for nodejs
+ random_device = function() { return require('crypto').randomBytes(1)[0]; };
+ } else {
+ // default for ES5 platforms
+ random_device = function() { return (Math.random()*256)|0; };
+ }
+ FS.createDevice('/dev', 'random', random_device);
+ FS.createDevice('/dev', 'urandom', random_device);
+ // we're not going to emulate the actual shm device,
+ // just create the tmp dirs that reside in it commonly
+ FS.mkdir('/dev/shm');
+ FS.mkdir('/dev/shm/tmp');
+ },createSpecialDirectories:function () {
+ // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
+ FS.mkdir('/proc');
+ FS.mkdir('/proc/self');
+ FS.mkdir('/proc/self/fd');
+ FS.mount({
+ mount: function() {
+ var node = FS.createNode('/proc/self', 'fd', 16384 | 0777, 73);
+ node.node_ops = {
+ lookup: function(parent, name) {
+ var fd = +name;
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ var ret = {
+ parent: null,
+ mount: { mountpoint: 'fake' },
+ node_ops: { readlink: function() { return stream.path } }
+ };
+ ret.parent = ret; // make it look like a simple root node
+ return ret;
+ }
+ };
+ return node;
+ }
+ }, {}, '/proc/self/fd');
+ },createStandardStreams:function () {
+ // TODO deprecate the old functionality of a single
+ // input / output callback and that utilizes FS.createDevice
+ // and instead require a unique set of stream ops
+
+ // by default, we symlink the standard streams to the
+ // default tty devices. however, if the standard streams
+ // have been overwritten we create a unique device for
+ // them instead.
+ if (Module['stdin']) {
+ FS.createDevice('/dev', 'stdin', Module['stdin']);
+ } else {
+ FS.symlink('/dev/tty', '/dev/stdin');
+ }
+ if (Module['stdout']) {
+ FS.createDevice('/dev', 'stdout', null, Module['stdout']);
+ } else {
+ FS.symlink('/dev/tty', '/dev/stdout');
+ }
+ if (Module['stderr']) {
+ FS.createDevice('/dev', 'stderr', null, Module['stderr']);
+ } else {
+ FS.symlink('/dev/tty1', '/dev/stderr');
+ }
+
+ // open default streams for the stdin, stdout and stderr devices
+ var stdin = FS.open('/dev/stdin', 'r');
+ assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
+
+ var stdout = FS.open('/dev/stdout', 'w');
+ assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
+
+ var stderr = FS.open('/dev/stderr', 'w');
+ assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
+ },ensureErrnoError:function () {
+ if (FS.ErrnoError) return;
+ FS.ErrnoError = function ErrnoError(errno, node) {
+ //Module.printErr(stackTrace()); // useful for debugging
+ this.node = node;
+ this.setErrno = function(errno) {
+ this.errno = errno;
+ for (var key in ERRNO_CODES) {
+ if (ERRNO_CODES[key] === errno) {
+ this.code = key;
+ break;
+ }
+ }
+ };
+ this.setErrno(errno);
+ this.message = ERRNO_MESSAGES[errno];
+ if (this.stack) this.stack = demangleAll(this.stack);
+ };
+ FS.ErrnoError.prototype = new Error();
+ FS.ErrnoError.prototype.constructor = FS.ErrnoError;
+ // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
+ [ERRNO_CODES.ENOENT].forEach(function(code) {
+ FS.genericErrors[code] = new FS.ErrnoError(code);
+ FS.genericErrors[code].stack = '<generic error, no stack>';
+ });
+ },staticInit:function () {
+ FS.ensureErrnoError();
+
+ FS.nameTable = new Array(4096);
+
+ FS.mount(MEMFS, {}, '/');
+
+ FS.createDefaultDirectories();
+ FS.createDefaultDevices();
+ FS.createSpecialDirectories();
+
+ FS.filesystems = {
+ 'MEMFS': MEMFS,
+ 'IDBFS': IDBFS,
+ 'NODEFS': NODEFS,
+ 'WORKERFS': WORKERFS,
+ };
+ },init:function (input, output, error) {
+ assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
+ FS.init.initialized = true;
+
+ FS.ensureErrnoError();
+
+ // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
+ Module['stdin'] = input || Module['stdin'];
+ Module['stdout'] = output || Module['stdout'];
+ Module['stderr'] = error || Module['stderr'];
+
+ FS.createStandardStreams();
+ },quit:function () {
+ FS.init.initialized = false;
+ // force-flush all streams, so we get musl std streams printed out
+ var fflush = Module['_fflush'];
+ if (fflush) fflush(0);
+ // close all of our streams
+ for (var i = 0; i < FS.streams.length; i++) {
+ var stream = FS.streams[i];
+ if (!stream) {
+ continue;
+ }
+ FS.close(stream);
+ }
+ },getMode:function (canRead, canWrite) {
+ var mode = 0;
+ if (canRead) mode |= 292 | 73;
+ if (canWrite) mode |= 146;
+ return mode;
+ },joinPath:function (parts, forceRelative) {
+ var path = PATH.join.apply(null, parts);
+ if (forceRelative && path[0] == '/') path = path.substr(1);
+ return path;
+ },absolutePath:function (relative, base) {
+ return PATH.resolve(base, relative);
+ },standardizePath:function (path) {
+ return PATH.normalize(path);
+ },findObject:function (path, dontResolveLastLink) {
+ var ret = FS.analyzePath(path, dontResolveLastLink);
+ if (ret.exists) {
+ return ret.object;
+ } else {
+ ___setErrNo(ret.error);
+ return null;
+ }
+ },analyzePath:function (path, dontResolveLastLink) {
+ // operate from within the context of the symlink's target
+ try {
+ var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
+ path = lookup.path;
+ } catch (e) {
+ }
+ var ret = {
+ isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
+ parentExists: false, parentPath: null, parentObject: null
+ };
+ try {
+ var lookup = FS.lookupPath(path, { parent: true });
+ ret.parentExists = true;
+ ret.parentPath = lookup.path;
+ ret.parentObject = lookup.node;
+ ret.name = PATH.basename(path);
+ lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
+ ret.exists = true;
+ ret.path = lookup.path;
+ ret.object = lookup.node;
+ ret.name = lookup.node.name;
+ ret.isRoot = lookup.path === '/';
+ } catch (e) {
+ ret.error = e.errno;
+ };
+ return ret;
+ },createFolder:function (parent, name, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.mkdir(path, mode);
+ },createPath:function (parent, path, canRead, canWrite) {
+ parent = typeof parent === 'string' ? parent : FS.getPath(parent);
+ var parts = path.split('/').reverse();
+ while (parts.length) {
+ var part = parts.pop();
+ if (!part) continue;
+ var current = PATH.join2(parent, part);
+ try {
+ FS.mkdir(current);
+ } catch (e) {
+ // ignore EEXIST
+ }
+ parent = current;
+ }
+ return current;
+ },createFile:function (parent, name, properties, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(canRead, canWrite);
+ return FS.create(path, mode);
+ },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {
+ var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
+ var mode = FS.getMode(canRead, canWrite);
+ var node = FS.create(path, mode);
+ if (data) {
+ if (typeof data === 'string') {
+ var arr = new Array(data.length);
+ for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
+ data = arr;
+ }
+ // make sure we can write to the file
+ FS.chmod(node, mode | 146);
+ var stream = FS.open(node, 'w');
+ FS.write(stream, data, 0, data.length, 0, canOwn);
+ FS.close(stream);
+ FS.chmod(node, mode);
+ }
+ return node;
+ },createDevice:function (parent, name, input, output) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ var mode = FS.getMode(!!input, !!output);
+ if (!FS.createDevice.major) FS.createDevice.major = 64;
+ var dev = FS.makedev(FS.createDevice.major++, 0);
+ // Create a fake device that a set of stream ops to emulate
+ // the old behavior.
+ FS.registerDevice(dev, {
+ open: function(stream) {
+ stream.seekable = false;
+ },
+ close: function(stream) {
+ // flush any pending line data
+ if (output && output.buffer && output.buffer.length) {
+ output(10);
+ }
+ },
+ read: function(stream, buffer, offset, length, pos /* ignored */) {
+ var bytesRead = 0;
+ for (var i = 0; i < length; i++) {
+ var result;
+ try {
+ result = input();
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ if (result === undefined && bytesRead === 0) {
+ throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+ }
+ if (result === null || result === undefined) break;
+ bytesRead++;
+ buffer[offset+i] = result;
+ }
+ if (bytesRead) {
+ stream.node.timestamp = Date.now();
+ }
+ return bytesRead;
+ },
+ write: function(stream, buffer, offset, length, pos) {
+ for (var i = 0; i < length; i++) {
+ try {
+ output(buffer[offset+i]);
+ } catch (e) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ }
+ if (length) {
+ stream.node.timestamp = Date.now();
+ }
+ return i;
+ }
+ });
+ return FS.mkdev(path, mode, dev);
+ },createLink:function (parent, name, target, canRead, canWrite) {
+ var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
+ return FS.symlink(target, path);
+ },forceLoadFile:function (obj) {
+ if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
+ var success = true;
+ if (typeof XMLHttpRequest !== 'undefined') {
+ throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
+ } else if (Module['read']) {
+ // Command-line.
+ try {
+ // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
+ // read() will try to parse UTF8.
+ obj.contents = intArrayFromString(Module['read'](obj.url), true);
+ obj.usedBytes = obj.contents.length;
+ } catch (e) {
+ success = false;
+ }
+ } else {
+ throw new Error('Cannot load without read() or XMLHttpRequest.');
+ }
+ if (!success) ___setErrNo(ERRNO_CODES.EIO);
+ return success;
+ },createLazyFile:function (parent, name, url, canRead, canWrite) {
+ // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
+ function LazyUint8Array() {
+ this.lengthKnown = false;
+ this.chunks = []; // Loaded chunks. Index is the chunk number
+ }
+ LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+ if (idx > this.length-1 || idx < 0) {
+ return undefined;
+ }
+ var chunkOffset = idx % this.chunkSize;
+ var chunkNum = (idx / this.chunkSize)|0;
+ return this.getter(chunkNum)[chunkOffset];
+ }
+ LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
+ this.getter = getter;
+ }
+ LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
+ // Find length
+ var xhr = new XMLHttpRequest();
+ xhr.open('HEAD', url, false);
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ var datalength = Number(xhr.getResponseHeader("Content-length"));
+ var header;
+ var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
+ var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip";
+
+ var chunkSize = 1024*1024; // Chunk size in bytes
+
+ if (!hasByteServing) chunkSize = datalength;
+
+ // Function to get a range from the remote URL.
+ var doXHR = (function(from, to) {
+ if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
+ if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
+
+ // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, false);
+ if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
+
+ // Some hints to the browser that we want binary data.
+ if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
+ if (xhr.overrideMimeType) {
+ xhr.overrideMimeType('text/plain; charset=x-user-defined');
+ }
+
+ xhr.send(null);
+ if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
+ if (xhr.response !== undefined) {
+ return new Uint8Array(xhr.response || []);
+ } else {
+ return intArrayFromString(xhr.responseText || '', true);
+ }
+ });
+ var lazyArray = this;
+ lazyArray.setDataGetter(function(chunkNum) {
+ var start = chunkNum * chunkSize;
+ var end = (chunkNum+1) * chunkSize - 1; // including this byte
+ end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
+ if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
+ lazyArray.chunks[chunkNum] = doXHR(start, end);
+ }
+ if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
+ return lazyArray.chunks[chunkNum];
+ });
+
+ if (usesGzip || !datalength) {
+ // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length
+ chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file
+ datalength = this.getter(0).length;
+ chunkSize = datalength;
+ console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
+ }
+
+ this._length = datalength;
+ this._chunkSize = chunkSize;
+ this.lengthKnown = true;
+ }
+ if (typeof XMLHttpRequest !== 'undefined') {
+ if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
+ var lazyArray = new LazyUint8Array();
+ Object.defineProperties(lazyArray, {
+ length: {
+ get: function() {
+ if(!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._length;
+ }
+ },
+ chunkSize: {
+ get: function() {
+ if(!this.lengthKnown) {
+ this.cacheLength();
+ }
+ return this._chunkSize;
+ }
+ }
+ });
+
+ var properties = { isDevice: false, contents: lazyArray };
+ } else {
+ var properties = { isDevice: false, url: url };
+ }
+
+ var node = FS.createFile(parent, name, properties, canRead, canWrite);
+ // This is a total hack, but I want to get this lazy file code out of the
+ // core of MEMFS. If we want to keep this lazy file concept I feel it should
+ // be its own thin LAZYFS proxying calls to MEMFS.
+ if (properties.contents) {
+ node.contents = properties.contents;
+ } else if (properties.url) {
+ node.contents = null;
+ node.url = properties.url;
+ }
+ // Add a function that defers querying the file size until it is asked the first time.
+ Object.defineProperties(node, {
+ usedBytes: {
+ get: function() { return this.contents.length; }
+ }
+ });
+ // override each stream op with one that tries to force load the lazy file first
+ var stream_ops = {};
+ var keys = Object.keys(node.stream_ops);
+ keys.forEach(function(key) {
+ var fn = node.stream_ops[key];
+ stream_ops[key] = function forceLoadLazyFile() {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ return fn.apply(null, arguments);
+ };
+ });
+ // use a custom read function
+ stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
+ if (!FS.forceLoadFile(node)) {
+ throw new FS.ErrnoError(ERRNO_CODES.EIO);
+ }
+ var contents = stream.node.contents;
+ if (position >= contents.length)
+ return 0;
+ var size = Math.min(contents.length - position, length);
+ assert(size >= 0);
+ if (contents.slice) { // normal array
+ for (var i = 0; i < size; i++) {
+ buffer[offset + i] = contents[position + i];
+ }
+ } else {
+ for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
+ buffer[offset + i] = contents.get(position + i);
+ }
+ }
+ return size;
+ };
+ node.stream_ops = stream_ops;
+ return node;
+ },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+ Browser.init();
+ // TODO we should allow people to just pass in a complete filename instead
+ // of parent and name being that we just join them anyways
+ var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
+ var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
+ function processData(byteArray) {
+ function finish(byteArray) {
+ if (preFinish) preFinish();
+ if (!dontCreateFile) {
+ FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
+ }
+ if (onload) onload();
+ removeRunDependency(dep);
+ }
+ var handled = false;
+ Module['preloadPlugins'].forEach(function(plugin) {
+ if (handled) return;
+ if (plugin['canHandle'](fullname)) {
+ plugin['handle'](byteArray, fullname, finish, function() {
+ if (onerror) onerror();
+ removeRunDependency(dep);
+ });
+ handled = true;
+ }
+ });
+ if (!handled) finish(byteArray);
+ }
+ addRunDependency(dep);
+ if (typeof url == 'string') {
+ Browser.asyncLoad(url, function(byteArray) {
+ processData(byteArray);
+ }, onerror);
+ } else {
+ processData(url);
+ }
+ },indexedDB:function () {
+ return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
+ },DB_NAME:function () {
+ return 'EM_FS_' + window.location.pathname;
+ },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {
+ onload = onload || function(){};
+ onerror = onerror || function(){};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
+ console.log('creating db');
+ var db = openRequest.result;
+ db.createObjectStore(FS.DB_STORE_NAME);
+ };
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var putRequest = files.put(FS.analyzePath(path).object.contents, path);
+ putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
+ putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ },loadFilesFromDB:function (paths, onload, onerror) {
+ onload = onload || function(){};
+ onerror = onerror || function(){};
+ var indexedDB = FS.indexedDB();
+ try {
+ var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
+ } catch (e) {
+ return onerror(e);
+ }
+ openRequest.onupgradeneeded = onerror; // no database to load from
+ openRequest.onsuccess = function openRequest_onsuccess() {
+ var db = openRequest.result;
+ try {
+ var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
+ } catch(e) {
+ onerror(e);
+ return;
+ }
+ var files = transaction.objectStore(FS.DB_STORE_NAME);
+ var ok = 0, fail = 0, total = paths.length;
+ function finish() {
+ if (fail == 0) onload(); else onerror();
+ }
+ paths.forEach(function(path) {
+ var getRequest = files.get(path);
+ getRequest.onsuccess = function getRequest_onsuccess() {
+ if (FS.analyzePath(path).exists) {
+ FS.unlink(path);
+ }
+ FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
+ ok++;
+ if (ok + fail == total) finish();
+ };
+ getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
+ });
+ transaction.onerror = onerror;
+ };
+ openRequest.onerror = onerror;
+ }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) {
+ if (path[0] !== '/') {
+ // relative path
+ var dir;
+ if (dirfd === -100) {
+ dir = FS.cwd();
+ } else {
+ var dirstream = FS.getStream(dirfd);
+ if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ dir = dirstream.path;
+ }
+ path = PATH.join2(dir, path);
+ }
+ return path;
+ },doStat:function (func, path, buf) {
+ try {
+ var stat = func(path);
+ } catch (e) {
+ if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
+ // an error occurred while trying to look up the path; we should just report ENOTDIR
+ return -ERRNO_CODES.ENOTDIR;
+ }
+ throw e;
+ }
+ HEAP32[((buf)>>2)]=stat.dev;
+ HEAP32[(((buf)+(4))>>2)]=0;
+ HEAP32[(((buf)+(8))>>2)]=stat.ino;
+ HEAP32[(((buf)+(12))>>2)]=stat.mode;
+ HEAP32[(((buf)+(16))>>2)]=stat.nlink;
+ HEAP32[(((buf)+(20))>>2)]=stat.uid;
+ HEAP32[(((buf)+(24))>>2)]=stat.gid;
+ HEAP32[(((buf)+(28))>>2)]=stat.rdev;
+ HEAP32[(((buf)+(32))>>2)]=0;
+ HEAP32[(((buf)+(36))>>2)]=stat.size;
+ HEAP32[(((buf)+(40))>>2)]=4096;
+ HEAP32[(((buf)+(44))>>2)]=stat.blocks;
+ HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(52))>>2)]=0;
+ HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(60))>>2)]=0;
+ HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
+ HEAP32[(((buf)+(68))>>2)]=0;
+ HEAP32[(((buf)+(72))>>2)]=stat.ino;
+ return 0;
+ },doMsync:function (addr, stream, len, flags) {
+ var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
+ FS.msync(stream, buffer, 0, len, flags);
+ },doMkdir:function (path, mode) {
+ // remove a trailing slash, if one - /a/b/ has basename of '', but
+ // we want to create b in the context of this function
+ path = PATH.normalize(path);
+ if (path[path.length-1] === '/') path = path.substr(0, path.length-1);
+ FS.mkdir(path, mode, 0);
+ return 0;
+ },doMknod:function (path, mode, dev) {
+ // we don't want this in the JS API as it uses mknod to create all nodes.
+ switch (mode & 61440) {
+ case 32768:
+ case 8192:
+ case 24576:
+ case 4096:
+ case 49152:
+ break;
+ default: return -ERRNO_CODES.EINVAL;
+ }
+ FS.mknod(path, mode, dev);
+ return 0;
+ },doReadlink:function (path, buf, bufsize) {
+ if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
+ var ret = FS.readlink(path);
+ ret = ret.slice(0, Math.max(0, bufsize));
+ writeStringToMemory(ret, buf, true);
+ return ret.length;
+ },doAccess:function (path, amode) {
+ if (amode & ~7) {
+ // need a valid mode
+ return -ERRNO_CODES.EINVAL;
+ }
+ var node;
+ var lookup = FS.lookupPath(path, { follow: true });
+ node = lookup.node;
+ var perms = '';
+ if (amode & 4) perms += 'r';
+ if (amode & 2) perms += 'w';
+ if (amode & 1) perms += 'x';
+ if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
+ return -ERRNO_CODES.EACCES;
+ }
+ return 0;
+ },doDup:function (path, flags, suggestFD) {
+ var suggest = FS.getStream(suggestFD);
+ if (suggest) FS.close(suggest);
+ return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
+ },doReadv:function (stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(((iov)+(i*8))>>2)];
+ var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
+ var curr = FS.read(stream, HEAP8,ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ if (curr < len) break; // nothing more to read
+ }
+ return ret;
+ },doWritev:function (stream, iov, iovcnt, offset) {
+ var ret = 0;
+ for (var i = 0; i < iovcnt; i++) {
+ var ptr = HEAP32[(((iov)+(i*8))>>2)];
+ var len = HEAP32[(((iov)+(i*8 + 4))>>2)];
+ var curr = FS.write(stream, HEAP8,ptr, len, offset);
+ if (curr < 0) return -1;
+ ret += curr;
+ }
+ return ret;
+ },varargs:0,get:function (varargs) {
+ SYSCALLS.varargs += 4;
+ var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
+ return ret;
+ },getStr:function () {
+ var ret = Pointer_stringify(SYSCALLS.get());
+ return ret;
+ },getStreamFromFD:function () {
+ var stream = FS.getStream(SYSCALLS.get());
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ return stream;
+ },getSocketFromFD:function () {
+ var socket = SOCKFS.getSocket(SYSCALLS.get());
+ if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+ return socket;
+ },getSocketAddress:function (allowNull) {
+ var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
+ if (allowNull && addrp === 0) return null;
+ var info = __read_sockaddr(addrp, addrlen);
+ if (info.errno) throw new FS.ErrnoError(info.errno);
+ info.addr = DNS.lookup_addr(info.addr) || info.addr;
+ return info;
+ },get64:function () {
+ var low = SYSCALLS.get(), high = SYSCALLS.get();
+ if (low >= 0) assert(high === 0);
+ else assert(high === -1);
+ return low;
+ },getZero:function () {
+ assert(SYSCALLS.get() === 0);
+ }};function ___syscall192(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // mmap2
+ var addr = SYSCALLS.get(), len = SYSCALLS.get(), prot = SYSCALLS.get(), flags = SYSCALLS.get(), fd = SYSCALLS.get(), off = SYSCALLS.get()
+ off <<= 12; // undo pgoffset
+ var ptr;
+ var allocated = false;
+ if (fd === -1) {
+ ptr = _malloc(len);
+ if (!ptr) return -ERRNO_CODES.ENOMEM;
+ _memset(ptr, 0, len);
+ allocated = true;
+ } else {
+ var info = FS.getStream(fd);
+ if (!info) return -ERRNO_CODES.EBADF;
+ var res = FS.mmap(info, HEAPU8, addr, len, off, prot, flags);
+ ptr = res.ptr;
+ allocated = res.allocated;
+ }
+ SYSCALLS.mappings[ptr] = { malloc: ptr, len: len, allocated: allocated, fd: fd, flags: flags };
+ return ptr;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall195(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // SYS_stat64
+ var path = SYSCALLS.getStr(), buf = SYSCALLS.get();
+ return SYSCALLS.doStat(FS.stat, path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall194(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // ftruncate64
+ var fd = SYSCALLS.get(), zero = SYSCALLS.getZero(), length = SYSCALLS.get64();
+ FS.ftruncate(fd, length);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall197(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // SYS_fstat64
+ var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get();
+ return SYSCALLS.doStat(FS.stat, stream.path, buf);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ function ___syscall202(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getgid32
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }function ___syscall199() {
+ return ___syscall202.apply(null, arguments)
+ }
+
+ function ___assert_fail(condition, filename, line, func) {
+ ABORT = true;
+ throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace();
+ }
+
+ function _pthread_mutex_init() {}
+
+ function ___syscall91(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // munmap
+ var addr = SYSCALLS.get(), len = SYSCALLS.get();
+ // TODO: support unmmap'ing parts of allocations
+ var info = SYSCALLS.mappings[addr];
+ if (!info) return 0;
+ if (len === info.len) {
+ var stream = FS.getStream(info.fd);
+ SYSCALLS.doMsync(addr, stream, len, info.flags)
+ FS.munmap(stream);
+ SYSCALLS.mappings[addr] = null;
+ if (info.allocated) {
+ _free(info.malloc);
+ }
+ }
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ var _UItoD=true;
+
+ function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // close
+ var stream = SYSCALLS.getStreamFromFD();
+ FS.close(stream);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // ioctl
+ var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
+ switch (op) {
+ case 21505: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0;
+ }
+ case 21506: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return 0; // no-op, not actually adjusting terminal settings
+ }
+ case 21519: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ var argp = SYSCALLS.get();
+ HEAP32[((argp)>>2)]=0;
+ return 0;
+ }
+ case 21520: {
+ if (!stream.tty) return -ERRNO_CODES.ENOTTY;
+ return -ERRNO_CODES.EINVAL; // not supported
+ }
+ case 21531: {
+ var argp = SYSCALLS.get();
+ return FS.ioctl(stream, op, argp);
+ }
+ default: abort('bad ioctl syscall ' + op);
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ var ___tm_current=allocate(44, "i8", ALLOC_STATIC);
+
+
+ var ___tm_timezone=allocate(intArrayFromString("GMT"), "i8", ALLOC_STATIC);
+
+
+ var _tzname=allocate(8, "i32*", ALLOC_STATIC);
+
+ var _daylight=allocate(1, "i32*", ALLOC_STATIC);
+
+ var _timezone=allocate(1, "i32*", ALLOC_STATIC);function _tzset() {
+ // TODO: Use (malleable) environment variables instead of system settings.
+ if (_tzset.called) return;
+ _tzset.called = true;
+
+ HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60;
+
+ var winter = new Date(2000, 0, 1);
+ var summer = new Date(2000, 6, 1);
+ HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset());
+
+ function extractZone(date) {
+ var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/);
+ return match ? match[1] : "GMT";
+ };
+ var winterName = extractZone(winter);
+ var summerName = extractZone(summer);
+ var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL);
+ var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL);
+ if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {
+ // Northern hemisphere
+ HEAP32[((_tzname)>>2)]=winterNamePtr;
+ HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr;
+ } else {
+ HEAP32[((_tzname)>>2)]=summerNamePtr;
+ HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr;
+ }
+ }function _localtime_r(time, tmPtr) {
+ _tzset();
+ var date = new Date(HEAP32[((time)>>2)]*1000);
+ HEAP32[((tmPtr)>>2)]=date.getSeconds();
+ HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes();
+ HEAP32[(((tmPtr)+(8))>>2)]=date.getHours();
+ HEAP32[(((tmPtr)+(12))>>2)]=date.getDate();
+ HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth();
+ HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900;
+ HEAP32[(((tmPtr)+(24))>>2)]=date.getDay();
+
+ var start = new Date(date.getFullYear(), 0, 1);
+ var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0;
+ HEAP32[(((tmPtr)+(28))>>2)]=yday;
+ HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60);
+
+ // DST is in December in South
+ var summerOffset = new Date(2000, 6, 1).getTimezoneOffset();
+ var winterOffset = start.getTimezoneOffset();
+ var dst = (date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0;
+ HEAP32[(((tmPtr)+(32))>>2)]=dst;
+
+ var zonePtr = HEAP32[(((_tzname)+(dst ? Runtime.QUANTUM_SIZE : 0))>>2)];
+ HEAP32[(((tmPtr)+(40))>>2)]=zonePtr;
+
+ return tmPtr;
+ }function _localtime(time) {
+ return _localtime_r(time, ___tm_current);
+ }
+
+ function ___syscall77(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getrusage
+ var who = SYSCALLS.get(), usage = SYSCALLS.get();
+ _memset(usage, 0, 136);
+ HEAP32[((usage)>>2)]=1; // fake some values
+ HEAP32[(((usage)+(4))>>2)]=2;
+ HEAP32[(((usage)+(8))>>2)]=3;
+ HEAP32[(((usage)+(12))>>2)]=4;
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ Module["_bitshift64Ashr"] = _bitshift64Ashr;
+
+
+ Module["_bitshift64Lshr"] = _bitshift64Lshr;
+
+ function ___syscall33(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // access
+ var path = SYSCALLS.getStr(), amode = SYSCALLS.get();
+ return SYSCALLS.doAccess(path, amode);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ var _BDtoIHigh=true;
+
+ function _pthread_cleanup_push(routine, arg) {
+ __ATEXIT__.push(function() { Runtime.dynCall('vi', routine, [arg]) })
+ _pthread_cleanup_push.level = __ATEXIT__.length;
+ }
+
+
+
+
+
+ var _environ=allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) {
+ // WARNING: Arbitrary limit!
+ var MAX_ENV_VALUES = 64;
+ var TOTAL_ENV_SIZE = 1024;
+
+ // Statically allocate memory for the environment.
+ var poolPtr;
+ var envPtr;
+ if (!___buildEnvironment.called) {
+ ___buildEnvironment.called = true;
+ // Set default values. Use string keys for Closure Compiler compatibility.
+ ENV['USER'] = ENV['LOGNAME'] = 'web_user';
+ ENV['PATH'] = '/';
+ ENV['PWD'] = '/';
+ ENV['HOME'] = '/home/web_user';
+ ENV['LANG'] = 'C';
+ ENV['_'] = Module['thisProgram'];
+ // Allocate memory.
+ poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC);
+ envPtr = allocate(MAX_ENV_VALUES * 4,
+ 'i8*', ALLOC_STATIC);
+ HEAP32[((envPtr)>>2)]=poolPtr;
+ HEAP32[((_environ)>>2)]=envPtr;
+ } else {
+ envPtr = HEAP32[((_environ)>>2)];
+ poolPtr = HEAP32[((envPtr)>>2)];
+ }
+
+ // Collect key=value lines.
+ var strings = [];
+ var totalSize = 0;
+ for (var key in env) {
+ if (typeof env[key] === 'string') {
+ var line = key + '=' + env[key];
+ strings.push(line);
+ totalSize += line.length;
+ }
+ }
+ if (totalSize > TOTAL_ENV_SIZE) {
+ throw new Error('Environment size exceeded TOTAL_ENV_SIZE!');
+ }
+
+ // Make new.
+ var ptrSize = 4;
+ for (var i = 0; i < strings.length; i++) {
+ var line = strings[i];
+ writeAsciiToMemory(line, poolPtr);
+ HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr;
+ poolPtr += line.length + 1;
+ }
+ HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0;
+ }var ENV={};function _getenv(name) {
+ // char *getenv(const char *name);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html
+ if (name === 0) return 0;
+ name = Pointer_stringify(name);
+ if (!ENV.hasOwnProperty(name)) return 0;
+
+ if (_getenv.ret) _free(_getenv.ret);
+ _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL);
+ return _getenv.ret;
+ }
+
+ function _gettimeofday(ptr) {
+ var now = Date.now();
+ HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds
+ HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds
+ return 0;
+ }
+
+ function _pthread_mutex_unlock() {}
+
+
+ function _emscripten_memcpy_big(dest, src, num) {
+ HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
+ return dest;
+ }
+ Module["_memcpy"] = _memcpy;
+
+ function ___syscall191(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // ugetrlimit
+ var resource = SYSCALLS.get(), rlim = SYSCALLS.get();
+ HEAP32[((rlim)>>2)]=-1; // RLIM_INFINITY
+ HEAP32[(((rlim)+(4))>>2)]=-1; // RLIM_INFINITY
+ HEAP32[(((rlim)+(8))>>2)]=-1; // RLIM_INFINITY
+ HEAP32[(((rlim)+(12))>>2)]=-1; // RLIM_INFINITY
+ return 0; // just report no limits
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function _sbrk(bytes) {
+ // Implement a Linux-like 'memory area' for our 'process'.
+ // Changes the size of the memory area by |bytes|; returns the
+ // address of the previous top ('break') of the memory area
+ // We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP
+ var self = _sbrk;
+ if (!self.called) {
+ DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned
+ self.called = true;
+ assert(Runtime.dynamicAlloc);
+ self.alloc = Runtime.dynamicAlloc;
+ Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') };
+ }
+ var ret = DYNAMICTOP;
+ if (bytes != 0) {
+ var success = self.alloc(bytes);
+ if (!success) return -1 >>> 0; // sbrk failure code
+ }
+ return ret; // Previous break location.
+ }
+
+
+ Module["_memmove"] = _memmove;
+
+ var _BItoD=true;
+
+ function _pthread_mutex_destroy() {}
+
+ function ___syscall201() {
+ return ___syscall202.apply(null, arguments)
+ }
+
+
+ var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall64(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getppid
+ return PROCINFO.ppid;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function _sysconf(name) {
+ // long sysconf(int name);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
+ switch(name) {
+ case 30: return PAGE_SIZE;
+ case 85: return totalMemory / PAGE_SIZE;
+ case 132:
+ case 133:
+ case 12:
+ case 137:
+ case 138:
+ case 15:
+ case 235:
+ case 16:
+ case 17:
+ case 18:
+ case 19:
+ case 20:
+ case 149:
+ case 13:
+ case 10:
+ case 236:
+ case 153:
+ case 9:
+ case 21:
+ case 22:
+ case 159:
+ case 154:
+ case 14:
+ case 77:
+ case 78:
+ case 139:
+ case 80:
+ case 81:
+ case 82:
+ case 68:
+ case 67:
+ case 164:
+ case 11:
+ case 29:
+ case 47:
+ case 48:
+ case 95:
+ case 52:
+ case 51:
+ case 46:
+ return 200809;
+ case 79:
+ return 0;
+ case 27:
+ case 246:
+ case 127:
+ case 128:
+ case 23:
+ case 24:
+ case 160:
+ case 161:
+ case 181:
+ case 182:
+ case 242:
+ case 183:
+ case 184:
+ case 243:
+ case 244:
+ case 245:
+ case 165:
+ case 178:
+ case 179:
+ case 49:
+ case 50:
+ case 168:
+ case 169:
+ case 175:
+ case 170:
+ case 171:
+ case 172:
+ case 97:
+ case 76:
+ case 32:
+ case 173:
+ case 35:
+ return -1;
+ case 176:
+ case 177:
+ case 7:
+ case 155:
+ case 8:
+ case 157:
+ case 125:
+ case 126:
+ case 92:
+ case 93:
+ case 129:
+ case 130:
+ case 131:
+ case 94:
+ case 91:
+ return 1;
+ case 74:
+ case 60:
+ case 69:
+ case 70:
+ case 4:
+ return 1024;
+ case 31:
+ case 42:
+ case 72:
+ return 32;
+ case 87:
+ case 26:
+ case 33:
+ return 2147483647;
+ case 34:
+ case 1:
+ return 47839;
+ case 38:
+ case 36:
+ return 99;
+ case 43:
+ case 37:
+ return 2048;
+ case 0: return 2097152;
+ case 3: return 65536;
+ case 28: return 32768;
+ case 44: return 32767;
+ case 75: return 16384;
+ case 39: return 1000;
+ case 89: return 700;
+ case 71: return 256;
+ case 40: return 255;
+ case 2: return 100;
+ case 180: return 64;
+ case 25: return 20;
+ case 5: return 16;
+ case 6: return 6;
+ case 73: return 4;
+ case 84: {
+ if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1;
+ return 1;
+ }
+ }
+ ___setErrNo(ERRNO_CODES.EINVAL);
+ return -1;
+ }
+
+ function ___syscall63(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // dup2
+ var old = SYSCALLS.getStreamFromFD(), suggestFD = SYSCALLS.get();
+ if (old.fd === suggestFD) return suggestFD;
+ return SYSCALLS.doDup(old.path, old.flags, suggestFD);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall20(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // getpid
+ return PROCINFO.pid;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ Module["_memset"] = _memset;
+
+ var _BDtoILow=true;
+
+ function ___syscall75(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // setrlimit
+ return 0; // no-op
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function _atexit(func, arg) {
+ __ATEXIT__.unshift({ func: func, arg: arg });
+ }
+
+ function _abort() {
+ Module['abort']();
+ }
+
+ function ___lock() {}
+
+ function ___unlock() {}
+
+ var _floor=Math_floor;
+
+ var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC);
+ Module["_llvm_cttz_i32"] = _llvm_cttz_i32;
+
+
+
+ function _emscripten_set_main_loop_timing(mode, value) {
+ Browser.mainLoop.timingMode = mode;
+ Browser.mainLoop.timingValue = value;
+
+ if (!Browser.mainLoop.func) {
+ console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.');
+ return 1; // Return non-zero on failure, can't set timing mode when there is no main loop.
+ }
+
+ if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) {
+ Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
+ setTimeout(Browser.mainLoop.runner, value); // doing this each time means that on exception, we stop
+ };
+ Browser.mainLoop.method = 'timeout';
+ } else if (mode == 1 /*EM_TIMING_RAF*/) {
+ Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
+ Browser.requestAnimationFrame(Browser.mainLoop.runner);
+ };
+ Browser.mainLoop.method = 'rAF';
+ } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) {
+ if (!window['setImmediate']) {
+ // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed)
+ var setImmediates = [];
+ var emscriptenMainLoopMessageId = '__emcc';
+ function Browser_setImmediate_messageHandler(event) {
+ if (event.source === window && event.data === emscriptenMainLoopMessageId) {
+ event.stopPropagation();
+ setImmediates.shift()();
+ }
+ }
+ window.addEventListener("message", Browser_setImmediate_messageHandler, true);
+ window['setImmediate'] = function Browser_emulated_setImmediate(func) {
+ setImmediates.push(func);
+ window.postMessage(emscriptenMainLoopMessageId, "*");
+ }
+ }
+ Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
+ window['setImmediate'](Browser.mainLoop.runner);
+ };
+ Browser.mainLoop.method = 'immediate';
+ }
+ return 0;
+ }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
+ Module['noExitRuntime'] = true;
+
+ assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.');
+
+ Browser.mainLoop.func = func;
+ Browser.mainLoop.arg = arg;
+
+ var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
+
+ Browser.mainLoop.runner = function Browser_mainLoop_runner() {
+ if (ABORT) return;
+ if (Browser.mainLoop.queue.length > 0) {
+ var start = Date.now();
+ var blocker = Browser.mainLoop.queue.shift();
+ blocker.func(blocker.arg);
+ if (Browser.mainLoop.remainingBlockers) {
+ var remaining = Browser.mainLoop.remainingBlockers;
+ var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining);
+ if (blocker.counted) {
+ Browser.mainLoop.remainingBlockers = next;
+ } else {
+ // not counted, but move the progress along a tiny bit
+ next = next + 0.5; // do not steal all the next one's progress
+ Browser.mainLoop.remainingBlockers = (8*remaining + next)/9;
+ }
+ }
+ console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers);
+ Browser.mainLoop.updateStatus();
+
+ // catches pause/resume main loop from blocker execution
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+
+ setTimeout(Browser.mainLoop.runner, 0);
+ return;
+ }
+
+ // catch pauses from non-main loop sources
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+
+ // Implement very basic swap interval control
+ Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
+ if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
+ // Not the scheduled time to render this frame - skip.
+ Browser.mainLoop.scheduler();
+ return;
+ }
+
+ // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
+ // VBO double-buffering and reduce GPU stalls.
+
+ if (Browser.mainLoop.method === 'timeout' && Module.ctx) {
+ Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!');
+ Browser.mainLoop.method = ''; // just warn once per call to set main loop
+ }
+
+ Browser.mainLoop.runIter(function() {
+ if (typeof arg !== 'undefined') {
+ Runtime.dynCall('vi', func, [arg]);
+ } else {
+ Runtime.dynCall('v', func);
+ }
+ });
+
+ // catch pauses from the main loop itself
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+
+ // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able
+ // to queue the newest produced audio samples.
+ // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData()
+ // do not need to be hardcoded into this function, but can be more generic.
+ if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
+
+ Browser.mainLoop.scheduler();
+ }
+
+ if (!noSetTiming) {
+ if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps);
+ else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating)
+
+ Browser.mainLoop.scheduler();
+ }
+
+ if (simulateInfiniteLoop) {
+ throw 'SimulateInfiniteLoop';
+ }
+ }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () {
+ Browser.mainLoop.scheduler = null;
+ Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return.
+ },resume:function () {
+ Browser.mainLoop.currentlyRunningMainloop++;
+ var timingMode = Browser.mainLoop.timingMode;
+ var timingValue = Browser.mainLoop.timingValue;
+ var func = Browser.mainLoop.func;
+ Browser.mainLoop.func = null;
+ _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */);
+ _emscripten_set_main_loop_timing(timingMode, timingValue);
+ Browser.mainLoop.scheduler();
+ },updateStatus:function () {
+ if (Module['setStatus']) {
+ var message = Module['statusMessage'] || 'Please wait...';
+ var remaining = Browser.mainLoop.remainingBlockers;
+ var expected = Browser.mainLoop.expectedBlockers;
+ if (remaining) {
+ if (remaining < expected) {
+ Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
+ } else {
+ Module['setStatus'](message);
+ }
+ } else {
+ Module['setStatus']('');
+ }
+ }
+ },runIter:function (func) {
+ if (ABORT) return;
+ if (Module['preMainLoop']) {
+ var preRet = Module['preMainLoop']();
+ if (preRet === false) {
+ return; // |return false| skips a frame
+ }
+ }
+ try {
+ func();
+ } catch (e) {
+ if (e instanceof ExitStatus) {
+ return;
+ } else {
+ if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
+ throw e;
+ }
+ }
+ if (Module['postMainLoop']) Module['postMainLoop']();
+ }},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () {
+ if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers
+
+ if (Browser.initted) return;
+ Browser.initted = true;
+
+ try {
+ new Blob();
+ Browser.hasBlobConstructor = true;
+ } catch(e) {
+ Browser.hasBlobConstructor = false;
+ console.log("warning: no blob constructor, cannot create blobs with mimetypes");
+ }
+ Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
+ Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined;
+ if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
+ console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
+ Module.noImageDecoding = true;
+ }
+
+ // Support for plugins that can process preloaded files. You can add more of these to
+ // your app by creating and appending to Module.preloadPlugins.
+ //
+ // Each plugin is asked if it can handle a file based on the file's name. If it can,
+ // it is given the file's raw data. When it is done, it calls a callback with the file's
+ // (possibly modified) data. For example, a plugin might decompress a file, or it
+ // might create some side data structure for use later (like an Image element, etc.).
+
+ var imagePlugin = {};
+ imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
+ return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
+ };
+ imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) {
+ var b = null;
+ if (Browser.hasBlobConstructor) {
+ try {
+ b = new Blob([byteArray], { type: Browser.getMimetype(name) });
+ if (b.size !== byteArray.length) { // Safari bug #118630
+ // Safari's Blob can only take an ArrayBuffer
+ b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) });
+ }
+ } catch(e) {
+ Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
+ }
+ }
+ if (!b) {
+ var bb = new Browser.BlobBuilder();
+ bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
+ b = bb.getBlob();
+ }
+ var url = Browser.URLObject.createObjectURL(b);
+ assert(typeof url == 'string', 'createObjectURL must return a url as a string');
+ var img = new Image();
+ img.onload = function img_onload() {
+ assert(img.complete, 'Image ' + name + ' could not be decoded');
+ var canvas = document.createElement('canvas');
+ canvas.width = img.width;
+ canvas.height = img.height;
+ var ctx = canvas.getContext('2d');
+ ctx.drawImage(img, 0, 0);
+ Module["preloadedImages"][name] = canvas;
+ Browser.URLObject.revokeObjectURL(url);
+ if (onload) onload(byteArray);
+ };
+ img.onerror = function img_onerror(event) {
+ console.log('Image ' + url + ' could not be decoded');
+ if (onerror) onerror();
+ };
+ img.src = url;
+ };
+ Module['preloadPlugins'].push(imagePlugin);
+
+ var audioPlugin = {};
+ audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
+ return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
+ };
+ audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) {
+ var done = false;
+ function finish(audio) {
+ if (done) return;
+ done = true;
+ Module["preloadedAudios"][name] = audio;
+ if (onload) onload(byteArray);
+ }
+ function fail() {
+ if (done) return;
+ done = true;
+ Module["preloadedAudios"][name] = new Audio(); // empty shim
+ if (onerror) onerror();
+ }
+ if (Browser.hasBlobConstructor) {
+ try {
+ var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
+ } catch(e) {
+ return fail();
+ }
+ var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
+ assert(typeof url == 'string', 'createObjectURL must return a url as a string');
+ var audio = new Audio();
+ audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
+ audio.onerror = function audio_onerror(event) {
+ if (done) return;
+ console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
+ function encode64(data) {
+ var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+ var PAD = '=';
+ var ret = '';
+ var leftchar = 0;
+ var leftbits = 0;
+ for (var i = 0; i < data.length; i++) {
+ leftchar = (leftchar << 8) | data[i];
+ leftbits += 8;
+ while (leftbits >= 6) {
+ var curr = (leftchar >> (leftbits-6)) & 0x3f;
+ leftbits -= 6;
+ ret += BASE[curr];
+ }
+ }
+ if (leftbits == 2) {
+ ret += BASE[(leftchar&3) << 4];
+ ret += PAD + PAD;
+ } else if (leftbits == 4) {
+ ret += BASE[(leftchar&0xf) << 2];
+ ret += PAD;
+ }
+ return ret;
+ }
+ audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
+ finish(audio); // we don't wait for confirmation this worked - but it's worth trying
+ };
+ audio.src = url;
+ // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
+ Browser.safeSetTimeout(function() {
+ finish(audio); // try to use it even though it is not necessarily ready to play
+ }, 10000);
+ } else {
+ return fail();
+ }
+ };
+ Module['preloadPlugins'].push(audioPlugin);
+
+ // Canvas event setup
+
+ var canvas = Module['canvas'];
+ function pointerLockChange() {
+ Browser.pointerLock = document['pointerLockElement'] === canvas ||
+ document['mozPointerLockElement'] === canvas ||
+ document['webkitPointerLockElement'] === canvas ||
+ document['msPointerLockElement'] === canvas;
+ }
+ if (canvas) {
+ // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
+ // Module['forcedAspectRatio'] = 4 / 3;
+
+ canvas.requestPointerLock = canvas['requestPointerLock'] ||
+ canvas['mozRequestPointerLock'] ||
+ canvas['webkitRequestPointerLock'] ||
+ canvas['msRequestPointerLock'] ||
+ function(){};
+ canvas.exitPointerLock = document['exitPointerLock'] ||
+ document['mozExitPointerLock'] ||
+ document['webkitExitPointerLock'] ||
+ document['msExitPointerLock'] ||
+ function(){}; // no-op if function does not exist
+ canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
+
+
+ document.addEventListener('pointerlockchange', pointerLockChange, false);
+ document.addEventListener('mozpointerlockchange', pointerLockChange, false);
+ document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
+ document.addEventListener('mspointerlockchange', pointerLockChange, false);
+
+ if (Module['elementPointerLock']) {
+ canvas.addEventListener("click", function(ev) {
+ if (!Browser.pointerLock && canvas.requestPointerLock) {
+ canvas.requestPointerLock();
+ ev.preventDefault();
+ }
+ }, false);
+ }
+ }
+ },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) {
+ if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas.
+
+ var ctx;
+ var contextHandle;
+ if (useWebGL) {
+ // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults.
+ var contextAttributes = {
+ antialias: false,
+ alpha: false
+ };
+
+ if (webGLContextAttributes) {
+ for (var attribute in webGLContextAttributes) {
+ contextAttributes[attribute] = webGLContextAttributes[attribute];
+ }
+ }
+
+ contextHandle = GL.createContext(canvas, contextAttributes);
+ if (contextHandle) {
+ ctx = GL.getContext(contextHandle).GLctx;
+ }
+ // Set the background of the WebGL canvas to black
+ canvas.style.backgroundColor = "black";
+ } else {
+ ctx = canvas.getContext('2d');
+ }
+
+ if (!ctx) return null;
+
+ if (setInModule) {
+ if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it');
+
+ Module.ctx = ctx;
+ if (useWebGL) GL.makeContextCurrent(contextHandle);
+ Module.useWebGL = useWebGL;
+ Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
+ Browser.init();
+ }
+ return ctx;
+ },destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) {
+ Browser.lockPointer = lockPointer;
+ Browser.resizeCanvas = resizeCanvas;
+ Browser.vrDevice = vrDevice;
+ if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
+ if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false;
+ if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null;
+
+ var canvas = Module['canvas'];
+ function fullScreenChange() {
+ Browser.isFullScreen = false;
+ var canvasContainer = canvas.parentNode;
+ if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] ||
+ document['mozFullScreenElement'] || document['mozFullscreenElement'] ||
+ document['fullScreenElement'] || document['fullscreenElement'] ||
+ document['msFullScreenElement'] || document['msFullscreenElement'] ||
+ document['webkitCurrentFullScreenElement']) === canvasContainer) {
+ canvas.cancelFullScreen = document['cancelFullScreen'] ||
+ document['mozCancelFullScreen'] ||
+ document['webkitCancelFullScreen'] ||
+ document['msExitFullscreen'] ||
+ document['exitFullscreen'] ||
+ function() {};
+ canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document);
+ if (Browser.lockPointer) canvas.requestPointerLock();
+ Browser.isFullScreen = true;
+ if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize();
+ } else {
+
+ // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen
+ canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
+ canvasContainer.parentNode.removeChild(canvasContainer);
+
+ if (Browser.resizeCanvas) Browser.setWindowedCanvasSize();
+ }
+ if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen);
+ Browser.updateCanvasDimensions(canvas);
+ }
+
+ if (!Browser.fullScreenHandlersInstalled) {
+ Browser.fullScreenHandlersInstalled = true;
+ document.addEventListener('fullscreenchange', fullScreenChange, false);
+ document.addEventListener('mozfullscreenchange', fullScreenChange, false);
+ document.addEventListener('webkitfullscreenchange', fullScreenChange, false);
+ document.addEventListener('MSFullscreenChange', fullScreenChange, false);
+ }
+
+ // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
+ var canvasContainer = document.createElement("div");
+ canvas.parentNode.insertBefore(canvasContainer, canvas);
+ canvasContainer.appendChild(canvas);
+
+ // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
+ canvasContainer.requestFullScreen = canvasContainer['requestFullScreen'] ||
+ canvasContainer['mozRequestFullScreen'] ||
+ canvasContainer['msRequestFullscreen'] ||
+ (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
+
+ if (vrDevice) {
+ canvasContainer.requestFullScreen({ vrDisplay: vrDevice });
+ } else {
+ canvasContainer.requestFullScreen();
+ }
+ },nextRAF:0,fakeRequestAnimationFrame:function (func) {
+ // try to keep 60fps between calls to here
+ var now = Date.now();
+ if (Browser.nextRAF === 0) {
+ Browser.nextRAF = now + 1000/60;
+ } else {
+ while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0
+ Browser.nextRAF += 1000/60;
+ }
+ }
+ var delay = Math.max(Browser.nextRAF - now, 0);
+ setTimeout(func, delay);
+ },requestAnimationFrame:function requestAnimationFrame(func) {
+ if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js)
+ Browser.fakeRequestAnimationFrame(func);
+ } else {
+ if (!window.requestAnimationFrame) {
+ window.requestAnimationFrame = window['requestAnimationFrame'] ||
+ window['mozRequestAnimationFrame'] ||
+ window['webkitRequestAnimationFrame'] ||
+ window['msRequestAnimationFrame'] ||
+ window['oRequestAnimationFrame'] ||
+ Browser.fakeRequestAnimationFrame;
+ }
+ window.requestAnimationFrame(func);
+ }
+ },safeCallback:function (func) {
+ return function() {
+ if (!ABORT) return func.apply(null, arguments);
+ };
+ },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () {
+ Browser.allowAsyncCallbacks = false;
+ },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now
+ Browser.allowAsyncCallbacks = true;
+ if (Browser.queuedAsyncCallbacks.length > 0) {
+ var callbacks = Browser.queuedAsyncCallbacks;
+ Browser.queuedAsyncCallbacks = [];
+ callbacks.forEach(function(func) {
+ func();
+ });
+ }
+ },safeRequestAnimationFrame:function (func) {
+ return Browser.requestAnimationFrame(function() {
+ if (ABORT) return;
+ if (Browser.allowAsyncCallbacks) {
+ func();
+ } else {
+ Browser.queuedAsyncCallbacks.push(func);
+ }
+ });
+ },safeSetTimeout:function (func, timeout) {
+ Module['noExitRuntime'] = true;
+ return setTimeout(function() {
+ if (ABORT) return;
+ if (Browser.allowAsyncCallbacks) {
+ func();
+ } else {
+ Browser.queuedAsyncCallbacks.push(func);
+ }
+ }, timeout);
+ },safeSetInterval:function (func, timeout) {
+ Module['noExitRuntime'] = true;
+ return setInterval(function() {
+ if (ABORT) return;
+ if (Browser.allowAsyncCallbacks) {
+ func();
+ } // drop it on the floor otherwise, next interval will kick in
+ }, timeout);
+ },getMimetype:function (name) {
+ return {
+ 'jpg': 'image/jpeg',
+ 'jpeg': 'image/jpeg',
+ 'png': 'image/png',
+ 'bmp': 'image/bmp',
+ 'ogg': 'audio/ogg',
+ 'wav': 'audio/wav',
+ 'mp3': 'audio/mpeg'
+ }[name.substr(name.lastIndexOf('.')+1)];
+ },getUserMedia:function (func) {
+ if(!window.getUserMedia) {
+ window.getUserMedia = navigator['getUserMedia'] ||
+ navigator['mozGetUserMedia'];
+ }
+ window.getUserMedia(func);
+ },getMovementX:function (event) {
+ return event['movementX'] ||
+ event['mozMovementX'] ||
+ event['webkitMovementX'] ||
+ 0;
+ },getMovementY:function (event) {
+ return event['movementY'] ||
+ event['mozMovementY'] ||
+ event['webkitMovementY'] ||
+ 0;
+ },getMouseWheelDelta:function (event) {
+ var delta = 0;
+ switch (event.type) {
+ case 'DOMMouseScroll':
+ delta = event.detail;
+ break;
+ case 'mousewheel':
+ delta = event.wheelDelta;
+ break;
+ case 'wheel':
+ delta = event['deltaY'];
+ break;
+ default:
+ throw 'unrecognized mouse wheel event: ' + event.type;
+ }
+ return delta;
+ },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup
+ if (Browser.pointerLock) {
+ // When the pointer is locked, calculate the coordinates
+ // based on the movement of the mouse.
+ // Workaround for Firefox bug 764498
+ if (event.type != 'mousemove' &&
+ ('mozMovementX' in event)) {
+ Browser.mouseMovementX = Browser.mouseMovementY = 0;
+ } else {
+ Browser.mouseMovementX = Browser.getMovementX(event);
+ Browser.mouseMovementY = Browser.getMovementY(event);
+ }
+
+ // check if SDL is available
+ if (typeof SDL != "undefined") {
+ Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
+ Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
+ } else {
+ // just add the mouse delta to the current absolut mouse position
+ // FIXME: ideally this should be clamped against the canvas size and zero
+ Browser.mouseX += Browser.mouseMovementX;
+ Browser.mouseY += Browser.mouseMovementY;
+ }
+ } else {
+ // Otherwise, calculate the movement based on the changes
+ // in the coordinates.
+ var rect = Module["canvas"].getBoundingClientRect();
+ var cw = Module["canvas"].width;
+ var ch = Module["canvas"].height;
+
+ // Neither .scrollX or .pageXOffset are defined in a spec, but
+ // we prefer .scrollX because it is currently in a spec draft.
+ // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
+ var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset);
+ var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset);
+ // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset
+ // and we have no viable fallback.
+ assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.');
+
+ if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') {
+ var touch = event.touch;
+ if (touch === undefined) {
+ return; // the "touch" property is only defined in SDL
+
+ }
+ var adjustedX = touch.pageX - (scrollX + rect.left);
+ var adjustedY = touch.pageY - (scrollY + rect.top);
+
+ adjustedX = adjustedX * (cw / rect.width);
+ adjustedY = adjustedY * (ch / rect.height);
+
+ var coords = { x: adjustedX, y: adjustedY };
+
+ if (event.type === 'touchstart') {
+ Browser.lastTouches[touch.identifier] = coords;
+ Browser.touches[touch.identifier] = coords;
+ } else if (event.type === 'touchend' || event.type === 'touchmove') {
+ var last = Browser.touches[touch.identifier];
+ if (!last) last = coords;
+ Browser.lastTouches[touch.identifier] = last;
+ Browser.touches[touch.identifier] = coords;
+ }
+ return;
+ }
+
+ var x = event.pageX - (scrollX + rect.left);
+ var y = event.pageY - (scrollY + rect.top);
+
+ // the canvas might be CSS-scaled compared to its backbuffer;
+ // SDL-using content will want mouse coordinates in terms
+ // of backbuffer units.
+ x = x * (cw / rect.width);
+ y = y * (ch / rect.height);
+
+ Browser.mouseMovementX = x - Browser.mouseX;
+ Browser.mouseMovementY = y - Browser.mouseY;
+ Browser.mouseX = x;
+ Browser.mouseY = y;
+ }
+ },xhrLoad:function (url, onload, onerror) {
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', url, true);
+ xhr.responseType = 'arraybuffer';
+ xhr.onload = function xhr_onload() {
+ if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
+ onload(xhr.response);
+ } else {
+ onerror();
+ }
+ };
+ xhr.onerror = onerror;
+ xhr.send(null);
+ },asyncLoad:function (url, onload, onerror, noRunDep) {
+ Browser.xhrLoad(url, function(arrayBuffer) {
+ assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
+ onload(new Uint8Array(arrayBuffer));
+ if (!noRunDep) removeRunDependency('al ' + url);
+ }, function(event) {
+ if (onerror) {
+ onerror();
+ } else {
+ throw 'Loading data file "' + url + '" failed.';
+ }
+ });
+ if (!noRunDep) addRunDependency('al ' + url);
+ },resizeListeners:[],updateResizeListeners:function () {
+ var canvas = Module['canvas'];
+ Browser.resizeListeners.forEach(function(listener) {
+ listener(canvas.width, canvas.height);
+ });
+ },setCanvasSize:function (width, height, noUpdates) {
+ var canvas = Module['canvas'];
+ Browser.updateCanvasDimensions(canvas, width, height);
+ if (!noUpdates) Browser.updateResizeListeners();
+ },windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () {
+ // check if SDL is available
+ if (typeof SDL != "undefined") {
+ var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
+ flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
+ HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
+ }
+ Browser.updateResizeListeners();
+ },setWindowedCanvasSize:function () {
+ // check if SDL is available
+ if (typeof SDL != "undefined") {
+ var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
+ flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
+ HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
+ }
+ Browser.updateResizeListeners();
+ },updateCanvasDimensions:function (canvas, wNative, hNative) {
+ if (wNative && hNative) {
+ canvas.widthNative = wNative;
+ canvas.heightNative = hNative;
+ } else {
+ wNative = canvas.widthNative;
+ hNative = canvas.heightNative;
+ }
+ var w = wNative;
+ var h = hNative;
+ if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) {
+ if (w/h < Module['forcedAspectRatio']) {
+ w = Math.round(h * Module['forcedAspectRatio']);
+ } else {
+ h = Math.round(w / Module['forcedAspectRatio']);
+ }
+ }
+ if (((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] ||
+ document['mozFullScreenElement'] || document['mozFullscreenElement'] ||
+ document['fullScreenElement'] || document['fullscreenElement'] ||
+ document['msFullScreenElement'] || document['msFullscreenElement'] ||
+ document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) {
+ var factor = Math.min(screen.width / w, screen.height / h);
+ w = Math.round(w * factor);
+ h = Math.round(h * factor);
+ }
+ if (Browser.resizeCanvas) {
+ if (canvas.width != w) canvas.width = w;
+ if (canvas.height != h) canvas.height = h;
+ if (typeof canvas.style != 'undefined') {
+ canvas.style.removeProperty( "width");
+ canvas.style.removeProperty("height");
+ }
+ } else {
+ if (canvas.width != wNative) canvas.width = wNative;
+ if (canvas.height != hNative) canvas.height = hNative;
+ if (typeof canvas.style != 'undefined') {
+ if (w != wNative || h != hNative) {
+ canvas.style.setProperty( "width", w + "px", "important");
+ canvas.style.setProperty("height", h + "px", "important");
+ } else {
+ canvas.style.removeProperty( "width");
+ canvas.style.removeProperty("height");
+ }
+ }
+ }
+ },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () {
+ var handle = Browser.nextWgetRequestHandle;
+ Browser.nextWgetRequestHandle++;
+ return handle;
+ }};
+
+
+ Module["_llvm_bswap_i32"] = _llvm_bswap_i32;
+
+ function ___syscall10(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // unlink
+ var path = SYSCALLS.getStr();
+ FS.unlink(path);
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ Module["_bitshift64Shl"] = _bitshift64Shl;
+
+ function ___syscall3(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // read
+ var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
+ return FS.read(stream, HEAP8,buf, count);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // open
+ var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO
+ var stream = FS.open(pathname, flags, mode);
+ return stream.fd;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall4(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // write
+ var stream = SYSCALLS.getStreamFromFD(), buf = SYSCALLS.get(), count = SYSCALLS.get();
+ return FS.write(stream, HEAP8,buf, count);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function _llvm_stackrestore(p) {
+ var self = _llvm_stacksave;
+ var ret = self.LLVM_SAVEDSTACKS[p];
+ self.LLVM_SAVEDSTACKS.splice(p, 1);
+ Runtime.stackRestore(ret);
+ }
+
+ function _llvm_stacksave() {
+ var self = _llvm_stacksave;
+ if (!self.LLVM_SAVEDSTACKS) {
+ self.LLVM_SAVEDSTACKS = [];
+ }
+ self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());
+ return self.LLVM_SAVEDSTACKS.length-1;
+ }
+
+ function _clock() {
+ if (_clock.start === undefined) _clock.start = Date.now();
+ return ((Date.now() - _clock.start) * (1000000 / 1000))|0;
+ }
+
+ function _pthread_cleanup_pop() {
+ assert(_pthread_cleanup_push.level == __ATEXIT__.length, 'cannot pop if something else added meanwhile!');
+ __ATEXIT__.pop();
+ _pthread_cleanup_push.level = __ATEXIT__.length;
+ }
+
+ function ___syscall340(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // prlimit64
+ var pid = SYSCALLS.get(), resource = SYSCALLS.get(), new_limit = SYSCALLS.get(), old_limit = SYSCALLS.get();
+ if (old_limit) { // just report no limits
+ HEAP32[((old_limit)>>2)]=-1; // RLIM_INFINITY
+ HEAP32[(((old_limit)+(4))>>2)]=-1; // RLIM_INFINITY
+ HEAP32[(((old_limit)+(8))>>2)]=-1; // RLIM_INFINITY
+ HEAP32[(((old_limit)+(12))>>2)]=-1; // RLIM_INFINITY
+ }
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+
+ function __isLeapYear(year) {
+ return year%4 === 0 && (year%100 !== 0 || year%400 === 0);
+ }
+
+ function __arraySum(array, index) {
+ var sum = 0;
+ for (var i = 0; i <= index; sum += array[i++]);
+ return sum;
+ }
+
+
+ var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];
+
+ var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date, days) {
+ var newDate = new Date(date.getTime());
+ while(days > 0) {
+ var leap = __isLeapYear(newDate.getFullYear());
+ var currentMonth = newDate.getMonth();
+ var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
+
+ if (days > daysInCurrentMonth-newDate.getDate()) {
+ // we spill over to next month
+ days -= (daysInCurrentMonth-newDate.getDate()+1);
+ newDate.setDate(1);
+ if (currentMonth < 11) {
+ newDate.setMonth(currentMonth+1)
+ } else {
+ newDate.setMonth(0);
+ newDate.setFullYear(newDate.getFullYear()+1);
+ }
+ } else {
+ // we stay in current month
+ newDate.setDate(newDate.getDate()+days);
+ return newDate;
+ }
+ }
+
+ return newDate;
+ }function _strftime(s, maxsize, format, tm) {
+ // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
+
+ var tm_zone = HEAP32[(((tm)+(40))>>2)];
+
+ var date = {
+ tm_sec: HEAP32[((tm)>>2)],
+ tm_min: HEAP32[(((tm)+(4))>>2)],
+ tm_hour: HEAP32[(((tm)+(8))>>2)],
+ tm_mday: HEAP32[(((tm)+(12))>>2)],
+ tm_mon: HEAP32[(((tm)+(16))>>2)],
+ tm_year: HEAP32[(((tm)+(20))>>2)],
+ tm_wday: HEAP32[(((tm)+(24))>>2)],
+ tm_yday: HEAP32[(((tm)+(28))>>2)],
+ tm_isdst: HEAP32[(((tm)+(32))>>2)],
+ tm_gmtoff: HEAP32[(((tm)+(36))>>2)],
+ tm_zone: tm_zone ? Pointer_stringify(tm_zone) : ''
+ };
+
+ var pattern = Pointer_stringify(format);
+
+ // expand format
+ var EXPANSION_RULES_1 = {
+ '%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013
+ '%D': '%m/%d/%y', // Equivalent to %m / %d / %y
+ '%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d
+ '%h': '%b', // Equivalent to %b
+ '%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation
+ '%R': '%H:%M', // Replaced by the time in 24-hour notation
+ '%T': '%H:%M:%S', // Replaced by the time
+ '%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation
+ '%X': '%H:%M:%S' // Replaced by the locale's appropriate date representation
+ };
+ for (var rule in EXPANSION_RULES_1) {
+ pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]);
+ }
+
+ var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
+ var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
+
+ function leadingSomething(value, digits, character) {
+ var str = typeof value === 'number' ? value.toString() : (value || '');
+ while (str.length < digits) {
+ str = character[0]+str;
+ }
+ return str;
+ };
+
+ function leadingNulls(value, digits) {
+ return leadingSomething(value, digits, '0');
+ };
+
+ function compareByDay(date1, date2) {
+ function sgn(value) {
+ return value < 0 ? -1 : (value > 0 ? 1 : 0);
+ };
+
+ var compare;
+ if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) {
+ if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) {
+ compare = sgn(date1.getDate()-date2.getDate());
+ }
+ }
+ return compare;
+ };
+
+ function getFirstWeekStartDate(janFourth) {
+ switch (janFourth.getDay()) {
+ case 0: // Sunday
+ return new Date(janFourth.getFullYear()-1, 11, 29);
+ case 1: // Monday
+ return janFourth;
+ case 2: // Tuesday
+ return new Date(janFourth.getFullYear(), 0, 3);
+ case 3: // Wednesday
+ return new Date(janFourth.getFullYear(), 0, 2);
+ case 4: // Thursday
+ return new Date(janFourth.getFullYear(), 0, 1);
+ case 5: // Friday
+ return new Date(janFourth.getFullYear()-1, 11, 31);
+ case 6: // Saturday
+ return new Date(janFourth.getFullYear()-1, 11, 30);
+ }
+ };
+
+ function getWeekBasedYear(date) {
+ var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
+
+ var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
+ var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4);
+
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+
+ if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) {
+ // this date is after the start of the first week of this year
+ if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) {
+ return thisDate.getFullYear()+1;
+ } else {
+ return thisDate.getFullYear();
+ }
+ } else {
+ return thisDate.getFullYear()-1;
+ }
+ };
+
+ var EXPANSION_RULES_2 = {
+ '%a': function(date) {
+ return WEEKDAYS[date.tm_wday].substring(0,3);
+ },
+ '%A': function(date) {
+ return WEEKDAYS[date.tm_wday];
+ },
+ '%b': function(date) {
+ return MONTHS[date.tm_mon].substring(0,3);
+ },
+ '%B': function(date) {
+ return MONTHS[date.tm_mon];
+ },
+ '%C': function(date) {
+ var year = date.tm_year+1900;
+ return leadingNulls((year/100)|0,2);
+ },
+ '%d': function(date) {
+ return leadingNulls(date.tm_mday, 2);
+ },
+ '%e': function(date) {
+ return leadingSomething(date.tm_mday, 2, ' ');
+ },
+ '%g': function(date) {
+ // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year.
+ // In this system, weeks begin on a Monday and week 1 of the year is the week that includes
+ // January 4th, which is also the week that includes the first Thursday of the year, and
+ // is also the first week that contains at least four days in the year.
+ // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of
+ // the last week of the preceding year; thus, for Saturday 2nd January 1999,
+ // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th,
+ // or 31st is a Monday, it and any following days are part of week 1 of the following year.
+ // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01.
+
+ return getWeekBasedYear(date).toString().substring(2);
+ },
+ '%G': function(date) {
+ return getWeekBasedYear(date);
+ },
+ '%H': function(date) {
+ return leadingNulls(date.tm_hour, 2);
+ },
+ '%I': function(date) {
+ var twelveHour = date.tm_hour;
+ if (twelveHour == 0) twelveHour = 12;
+ else if (twelveHour > 12) twelveHour -= 12;
+ return leadingNulls(twelveHour, 2);
+ },
+ '%j': function(date) {
+ // Day of the year (001-366)
+ return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3);
+ },
+ '%m': function(date) {
+ return leadingNulls(date.tm_mon+1, 2);
+ },
+ '%M': function(date) {
+ return leadingNulls(date.tm_min, 2);
+ },
+ '%n': function() {
+ return '\n';
+ },
+ '%p': function(date) {
+ if (date.tm_hour >= 0 && date.tm_hour < 12) {
+ return 'AM';
+ } else {
+ return 'PM';
+ }
+ },
+ '%S': function(date) {
+ return leadingNulls(date.tm_sec, 2);
+ },
+ '%t': function() {
+ return '\t';
+ },
+ '%u': function(date) {
+ var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
+ return day.getDay() || 7;
+ },
+ '%U': function(date) {
+ // Replaced by the week number of the year as a decimal number [00,53].
+ // The first Sunday of January is the first day of week 1;
+ // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
+ var janFirst = new Date(date.tm_year+1900, 0, 1);
+ var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7-janFirst.getDay());
+ var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
+
+ // is target date after the first Sunday?
+ if (compareByDay(firstSunday, endDate) < 0) {
+ // calculate difference in days between first Sunday and endDate
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
+ var firstSundayUntilEndJanuary = 31-firstSunday.getDate();
+ var days = firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
+ return leadingNulls(Math.ceil(days/7), 2);
+ }
+
+ return compareByDay(firstSunday, janFirst) === 0 ? '01': '00';
+ },
+ '%V': function(date) {
+ // Replaced by the week number of the year (Monday as the first day of the week)
+ // as a decimal number [01,53]. If the week containing 1 January has four
+ // or more days in the new year, then it is considered week 1.
+ // Otherwise, it is the last week of the previous year, and the next week is week 1.
+ // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday]
+ var janFourthThisYear = new Date(date.tm_year+1900, 0, 4);
+ var janFourthNextYear = new Date(date.tm_year+1901, 0, 4);
+
+ var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
+ var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear);
+
+ var endDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday);
+
+ if (compareByDay(endDate, firstWeekStartThisYear) < 0) {
+ // if given date is before this years first week, then it belongs to the 53rd week of last year
+ return '53';
+ }
+
+ if (compareByDay(firstWeekStartNextYear, endDate) <= 0) {
+ // if given date is after next years first week, then it belongs to the 01th week of next year
+ return '01';
+ }
+
+ // given date is in between CW 01..53 of this calendar year
+ var daysDifference;
+ if (firstWeekStartThisYear.getFullYear() < date.tm_year+1900) {
+ // first CW of this year starts last year
+ daysDifference = date.tm_yday+32-firstWeekStartThisYear.getDate()
+ } else {
+ // first CW of this year starts this year
+ daysDifference = date.tm_yday+1-firstWeekStartThisYear.getDate();
+ }
+ return leadingNulls(Math.ceil(daysDifference/7), 2);
+ },
+ '%w': function(date) {
+ var day = new Date(date.tm_year+1900, date.tm_mon+1, date.tm_mday, 0, 0, 0, 0);
+ return day.getDay();
+ },
+ '%W': function(date) {
+ // Replaced by the week number of the year as a decimal number [00,53].
+ // The first Monday of January is the first day of week 1;
+ // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday]
+ var janFirst = new Date(date.tm_year, 0, 1);
+ var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7-janFirst.getDay()+1);
+ var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday);
+
+ // is target date after the first Monday?
+ if (compareByDay(firstMonday, endDate) < 0) {
+ var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31;
+ var firstMondayUntilEndJanuary = 31-firstMonday.getDate();
+ var days = firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();
+ return leadingNulls(Math.ceil(days/7), 2);
+ }
+ return compareByDay(firstMonday, janFirst) === 0 ? '01': '00';
+ },
+ '%y': function(date) {
+ // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year]
+ return (date.tm_year+1900).toString().substring(2);
+ },
+ '%Y': function(date) {
+ // Replaced by the year as a decimal number (for example, 1997). [ tm_year]
+ return date.tm_year+1900;
+ },
+ '%z': function(date) {
+ // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ).
+ // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich).
+ var off = date.tm_gmtoff;
+ var ahead = off >= 0;
+ off = Math.abs(off) / 60;
+ // convert from minutes into hhmm format (which means 60 minutes = 100 units)
+ off = (off / 60)*100 + (off % 60);
+ return (ahead ? '+' : '-') + String("0000" + off).slice(-4);
+ },
+ '%Z': function(date) {
+ return date.tm_zone;
+ },
+ '%%': function() {
+ return '%';
+ }
+ };
+ for (var rule in EXPANSION_RULES_2) {
+ if (pattern.indexOf(rule) >= 0) {
+ pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date));
+ }
+ }
+
+ var bytes = intArrayFromString(pattern, false);
+ if (bytes.length > maxsize) {
+ return 0;
+ }
+
+ writeArrayToMemory(bytes, s);
+ return bytes.length-1;
+ }
+
+ function _time(ptr) {
+ var ret = (Date.now()/1000)|0;
+ if (ptr) {
+ HEAP32[((ptr)>>2)]=ret;
+ }
+ return ret;
+ }
+
+ function ___syscall142(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // newselect
+ // readfds are supported,
+ // writefds checks socket open status
+ // exceptfds not supported
+ // timeout is always 0 - fully async
+ var nfds = SYSCALLS.get(), readfds = SYSCALLS.get(), writefds = SYSCALLS.get(), exceptfds = SYSCALLS.get(), timeout = SYSCALLS.get();
+
+ assert(nfds <= 64, 'nfds must be less than or equal to 64'); // fd sets have 64 bits // TODO: this could be 1024 based on current musl headers
+ assert(!exceptfds, 'exceptfds not supported');
+
+ var total = 0;
+
+ var srcReadLow = (readfds ? HEAP32[((readfds)>>2)] : 0),
+ srcReadHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0);
+ var srcWriteLow = (writefds ? HEAP32[((writefds)>>2)] : 0),
+ srcWriteHigh = (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0);
+ var srcExceptLow = (exceptfds ? HEAP32[((exceptfds)>>2)] : 0),
+ srcExceptHigh = (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0);
+
+ var dstReadLow = 0,
+ dstReadHigh = 0;
+ var dstWriteLow = 0,
+ dstWriteHigh = 0;
+ var dstExceptLow = 0,
+ dstExceptHigh = 0;
+
+ var allLow = (readfds ? HEAP32[((readfds)>>2)] : 0) |
+ (writefds ? HEAP32[((writefds)>>2)] : 0) |
+ (exceptfds ? HEAP32[((exceptfds)>>2)] : 0);
+ var allHigh = (readfds ? HEAP32[(((readfds)+(4))>>2)] : 0) |
+ (writefds ? HEAP32[(((writefds)+(4))>>2)] : 0) |
+ (exceptfds ? HEAP32[(((exceptfds)+(4))>>2)] : 0);
+
+ function check(fd, low, high, val) {
+ return (fd < 32 ? (low & val) : (high & val));
+ }
+
+ for (var fd = 0; fd < nfds; fd++) {
+ var mask = 1 << (fd % 32);
+ if (!(check(fd, allLow, allHigh, mask))) {
+ continue; // index isn't in the set
+ }
+
+ var stream = FS.getStream(fd);
+ if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+
+ var flags = SYSCALLS.DEFAULT_POLLMASK;
+
+ if (stream.stream_ops.poll) {
+ flags = stream.stream_ops.poll(stream);
+ }
+
+ if ((flags & 1) && check(fd, srcReadLow, srcReadHigh, mask)) {
+ fd < 32 ? (dstReadLow = dstReadLow | mask) : (dstReadHigh = dstReadHigh | mask);
+ total++;
+ }
+ if ((flags & 4) && check(fd, srcWriteLow, srcWriteHigh, mask)) {
+ fd < 32 ? (dstWriteLow = dstWriteLow | mask) : (dstWriteHigh = dstWriteHigh | mask);
+ total++;
+ }
+ if ((flags & 2) && check(fd, srcExceptLow, srcExceptHigh, mask)) {
+ fd < 32 ? (dstExceptLow = dstExceptLow | mask) : (dstExceptHigh = dstExceptHigh | mask);
+ total++;
+ }
+ }
+
+ if (readfds) {
+ HEAP32[((readfds)>>2)]=dstReadLow;
+ HEAP32[(((readfds)+(4))>>2)]=dstReadHigh;
+ }
+ if (writefds) {
+ HEAP32[((writefds)>>2)]=dstWriteLow;
+ HEAP32[(((writefds)+(4))>>2)]=dstWriteHigh;
+ }
+ if (exceptfds) {
+ HEAP32[((exceptfds)>>2)]=dstExceptLow;
+ HEAP32[(((exceptfds)+(4))>>2)]=dstExceptHigh;
+ }
+
+ return total;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function _pthread_self() {
+ //FIXME: assumes only a single thread
+ return 0;
+ }
+
+ function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // llseek
+ var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
+ var offset = offset_low;
+ assert(offset_high === 0);
+ FS.llseek(stream, offset, whence);
+ HEAP32[((result)>>2)]=stream.position;
+ if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
+ return 0;
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // writev
+ var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
+ return SYSCALLS.doWritev(stream, iov, iovcnt);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // fcntl64
+ var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
+ switch (cmd) {
+ case 0: {
+ var arg = SYSCALLS.get();
+ if (arg < 0) {
+ return -ERRNO_CODES.EINVAL;
+ }
+ var newStream;
+ newStream = FS.open(stream.path, stream.flags, 0, arg);
+ return newStream.fd;
+ }
+ case 1:
+ case 2:
+ return 0; // FD_CLOEXEC makes no sense for a single process.
+ case 3:
+ return stream.flags;
+ case 4: {
+ var arg = SYSCALLS.get();
+ stream.flags |= arg;
+ return 0;
+ }
+ case 12:
+ case 12: {
+ var arg = SYSCALLS.get();
+ var offset = 0;
+ // We're always unlocked.
+ HEAP16[(((arg)+(offset))>>1)]=2;
+ return 0;
+ }
+ case 13:
+ case 14:
+ case 13:
+ case 14:
+ return 0; // Pretend that the locking is successful.
+ case 16:
+ case 8:
+ return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet.
+ case 9:
+ // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
+ ___setErrNo(ERRNO_CODES.EINVAL);
+ return -1;
+ default: {
+ return -ERRNO_CODES.EINVAL;
+ }
+ }
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+
+ function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;
+ try {
+ // readv
+ var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
+ return SYSCALLS.doReadv(stream, iov, iovcnt);
+ } catch (e) {
+ if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+ return -e.errno;
+ }
+ }
+FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;
+__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });
+if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }
+___buildEnvironment(ENV);
+Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) };
+ Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) };
+ Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) };
+ Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() };
+ Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() };
+ Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() }
+ Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }
+STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
+
+staticSealed = true; // seal the static portion of memory
+
+STACK_MAX = STACK_BASE + TOTAL_STACK;
+
+DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX);
+
+assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
+
+
+
+function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_iiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)"); Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+
+function invoke_iiii(index,a1,a2,a3) {
+ try {
+ return Module["dynCall_iiii"](index,a1,a2,a3);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_viiiii(index,a1,a2,a3,a4,a5) {
+ try {
+ Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_vi(index,a1) {
+ try {
+ Module["dynCall_vi"](index,a1);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_vii(index,a1,a2) {
+ try {
+ Module["dynCall_vii"](index,a1,a2);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_ii(index,a1) {
+ try {
+ return Module["dynCall_ii"](index,a1);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_viii(index,a1,a2,a3) {
+ try {
+ Module["dynCall_viii"](index,a1,a2,a3);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_v(index) {
+ try {
+ Module["dynCall_v"](index);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_iiiii(index,a1,a2,a3,a4) {
+ try {
+ return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
+ try {
+ Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_iii(index,a1,a2) {
+ try {
+ return Module["dynCall_iii"](index,a1,a2);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+function invoke_viiii(index,a1,a2,a3,a4) {
+ try {
+ Module["dynCall_viiii"](index,a1,a2,a3,a4);
+ } catch(e) {
+ if (typeof e !== 'number' && e !== 'longjmp') throw e;
+ asm["setThrew"](1, 0);
+ }
+}
+
+Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
+
+Module.asmLibraryArg = { "abort": abort, "assert": assert, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_v": nullFunc_v, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_viiiii": invoke_viiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_iiiii": invoke_iiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "_pthread_cleanup_pop": _pthread_cleanup_pop, "___syscall221": ___syscall221, "_pthread_mutex_init": _pthread_mutex_init, "___syscall64": ___syscall64, "___syscall63": ___syscall63, "___syscall6": ___syscall6, "___syscall202": ___syscall202, "___setErrNo": ___setErrNo, "___syscall20": ___syscall20, "_llvm_stackrestore": _llvm_stackrestore, "___assert_fail": ___assert_fail, "_floor": _floor, "__addDays": __addDays, "_localtime_r": _localtime_r, "_tzset": _tzset, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_sbrk": _sbrk, "___syscall192": ___syscall192, "___syscall191": ___syscall191, "___syscall197": ___syscall197, "___syscall195": ___syscall195, "___syscall194": ___syscall194, "___syscall199": ___syscall199, "_sysconf": _sysconf, "_strftime": _strftime, "_clock": _clock, "__arraySum": __arraySum, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___syscall91": ___syscall91, "___buildEnvironment": ___buildEnvironment, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_pthread_self": _pthread_self, "___syscall75": ___syscall75, "_pthread_mutex_unlock": _pthread_mutex_unlock, "___syscall77": ___syscall77, "_llvm_stacksave": _llvm_stacksave, "_getenv": _getenv, "___syscall33": ___syscall33, "___syscall54": ___syscall54, "___unlock": ___unlock, "__isLeapYear": __isLeapYear, "_emscripten_set_main_loop": _emscripten_set_main_loop, "___syscall10": ___syscall10, "___syscall3": ___syscall3, "___syscall340": ___syscall340, "___lock": ___lock, "_abort": _abort, "___syscall5": ___syscall5, "___syscall4": ___syscall4, "_time": _time, "_pthread_mutex_lock": _pthread_mutex_lock, "_gettimeofday": _gettimeofday, "___syscall201": ___syscall201, "_atexit": _atexit, "___syscall140": ___syscall140, "_localtime": _localtime, "___syscall142": ___syscall142, "_pthread_cleanup_push": _pthread_cleanup_push, "___syscall145": ___syscall145, "___syscall146": ___syscall146, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8 };
+// EMSCRIPTEN_START_ASM
+var asm = (function(global, env, buffer) {
+ 'almost asm';
+
+
+ var HEAP8 = new global.Int8Array(buffer);
+ var HEAP16 = new global.Int16Array(buffer);
+ var HEAP32 = new global.Int32Array(buffer);
+ var HEAPU8 = new global.Uint8Array(buffer);
+ var HEAPU16 = new global.Uint16Array(buffer);
+ var HEAPU32 = new global.Uint32Array(buffer);
+ var HEAPF32 = new global.Float32Array(buffer);
+ var HEAPF64 = new global.Float64Array(buffer);
+
+
+ var STACKTOP=env.STACKTOP|0;
+ var STACK_MAX=env.STACK_MAX|0;
+ var tempDoublePtr=env.tempDoublePtr|0;
+ var ABORT=env.ABORT|0;
+ var cttz_i8=env.cttz_i8|0;
+
+ var __THREW__ = 0;
+ var threwValue = 0;
+ var setjmpId = 0;
+ var undef = 0;
+ var nan = global.NaN, inf = global.Infinity;
+ var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0;
+
+ var tempRet0 = 0;
+ var tempRet1 = 0;
+ var tempRet2 = 0;
+ var tempRet3 = 0;
+ var tempRet4 = 0;
+ var tempRet5 = 0;
+ var tempRet6 = 0;
+ var tempRet7 = 0;
+ var tempRet8 = 0;
+ var tempRet9 = 0;
+ var Math_floor=global.Math.floor;
+ var Math_abs=global.Math.abs;
+ var Math_sqrt=global.Math.sqrt;
+ var Math_pow=global.Math.pow;
+ var Math_cos=global.Math.cos;
+ var Math_sin=global.Math.sin;
+ var Math_tan=global.Math.tan;
+ var Math_acos=global.Math.acos;
+ var Math_asin=global.Math.asin;
+ var Math_atan=global.Math.atan;
+ var Math_atan2=global.Math.atan2;
+ var Math_exp=global.Math.exp;
+ var Math_log=global.Math.log;
+ var Math_ceil=global.Math.ceil;
+ var Math_imul=global.Math.imul;
+ var Math_min=global.Math.min;
+ var Math_clz32=global.Math.clz32;
+ var abort=env.abort;
+ var assert=env.assert;
+ var nullFunc_iiii=env.nullFunc_iiii;
+ var nullFunc_viiiii=env.nullFunc_viiiii;
+ var nullFunc_vi=env.nullFunc_vi;
+ var nullFunc_vii=env.nullFunc_vii;
+ var nullFunc_ii=env.nullFunc_ii;
+ var nullFunc_viii=env.nullFunc_viii;
+ var nullFunc_v=env.nullFunc_v;
+ var nullFunc_iiiii=env.nullFunc_iiiii;
+ var nullFunc_viiiiii=env.nullFunc_viiiiii;
+ var nullFunc_iii=env.nullFunc_iii;
+ var nullFunc_viiii=env.nullFunc_viiii;
+ var invoke_iiii=env.invoke_iiii;
+ var invoke_viiiii=env.invoke_viiiii;
+ var invoke_vi=env.invoke_vi;
+ var invoke_vii=env.invoke_vii;
+ var invoke_ii=env.invoke_ii;
+ var invoke_viii=env.invoke_viii;
+ var invoke_v=env.invoke_v;
+ var invoke_iiiii=env.invoke_iiiii;
+ var invoke_viiiiii=env.invoke_viiiiii;
+ var invoke_iii=env.invoke_iii;
+ var invoke_viiii=env.invoke_viiii;
+ var _pthread_cleanup_pop=env._pthread_cleanup_pop;
+ var ___syscall221=env.___syscall221;
+ var _pthread_mutex_init=env._pthread_mutex_init;
+ var ___syscall64=env.___syscall64;
+ var ___syscall63=env.___syscall63;
+ var ___syscall6=env.___syscall6;
+ var ___syscall202=env.___syscall202;
+ var ___setErrNo=env.___setErrNo;
+ var ___syscall20=env.___syscall20;
+ var _llvm_stackrestore=env._llvm_stackrestore;
+ var ___assert_fail=env.___assert_fail;
+ var _floor=env._floor;
+ var __addDays=env.__addDays;
+ var _localtime_r=env._localtime_r;
+ var _tzset=env._tzset;
+ var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing;
+ var _sbrk=env._sbrk;
+ var ___syscall192=env.___syscall192;
+ var ___syscall191=env.___syscall191;
+ var ___syscall197=env.___syscall197;
+ var ___syscall195=env.___syscall195;
+ var ___syscall194=env.___syscall194;
+ var ___syscall199=env.___syscall199;
+ var _sysconf=env._sysconf;
+ var _strftime=env._strftime;
+ var _clock=env._clock;
+ var __arraySum=env.__arraySum;
+ var _emscripten_memcpy_big=env._emscripten_memcpy_big;
+ var ___syscall91=env.___syscall91;
+ var ___buildEnvironment=env.___buildEnvironment;
+ var _pthread_mutex_destroy=env._pthread_mutex_destroy;
+ var _pthread_self=env._pthread_self;
+ var ___syscall75=env.___syscall75;
+ var _pthread_mutex_unlock=env._pthread_mutex_unlock;
+ var ___syscall77=env.___syscall77;
+ var _llvm_stacksave=env._llvm_stacksave;
+ var _getenv=env._getenv;
+ var ___syscall33=env.___syscall33;
+ var ___syscall54=env.___syscall54;
+ var ___unlock=env.___unlock;
+ var __isLeapYear=env.__isLeapYear;
+ var _emscripten_set_main_loop=env._emscripten_set_main_loop;
+ var ___syscall10=env.___syscall10;
+ var ___syscall3=env.___syscall3;
+ var ___syscall340=env.___syscall340;
+ var ___lock=env.___lock;
+ var _abort=env._abort;
+ var ___syscall5=env.___syscall5;
+ var ___syscall4=env.___syscall4;
+ var _time=env._time;
+ var _pthread_mutex_lock=env._pthread_mutex_lock;
+ var _gettimeofday=env._gettimeofday;
+ var ___syscall201=env.___syscall201;
+ var _atexit=env._atexit;
+ var ___syscall140=env.___syscall140;
+ var _localtime=env._localtime;
+ var ___syscall142=env.___syscall142;
+ var _pthread_cleanup_push=env._pthread_cleanup_push;
+ var ___syscall145=env.___syscall145;
+ var ___syscall146=env.___syscall146;
+ var tempFloat = 0.0;
+
// EMSCRIPTEN_START_FUNCS
-function Gb(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Hb(){return i|0}function Ib(a){a=a|0;i=a}function Jb(a,b){a=a|0;b=b|0;i=a;j=b}function Kb(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function Lb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Mb(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Nb(a){a=a|0;C=a}function Ob(){return C|0}function Pb(){var a=0,b=0,d=0;a=Cc(8,19098,45)|0;b=ge()|0;d=a;c[d>>2]=b;c[d+4>>2]=C;return a|0}function Qb(a,b){a=a|0;b=b|0;var c=0;c=Cc(64,19098,64)|0;ld(a,b,c);return c|0}function Rb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=a;f=c[e>>2]|0;g=c[e+4>>2]|0;e=c[a+8>>2]|0;c[d>>2]=a;c[d+4>>2]=a+12;a=d+8|0;c[a>>2]=f;c[a+4>>2]=g;c[d+16>>2]=e;Fw(19105,d)|0;i=b;return}function Sb(a){a=a|0;var b=0;b=Cc(32,19098,116)|0;bd(a,b);return b|0}function Tb(a,b){a=a|0;b=b|0;var c=0,d=0;c=Cc(64,19098,131)|0;d=(kd(a,b,c)|0)==-1;return (d?0:c)|0}function Ub(a){a=a|0;var b=0,c=0;b=Cc(32,19098,151)|0;c=(dd(a,Kv(a)|0,b)|0)==1;return (c?b:0)|0}function Vb(a){a=a|0;var b=0,c=0,d=0;b=i;i=i+32|0;c=b;if((dd(a,Kv(a)|0,c)|0)!=1){d=0;i=b;return d|0}a=Cc(32,19098,173)|0;$c(c,a);d=a;i=b;return d|0}function Wb(a){a=a|0;var b=0;b=Cc(32,19098,190)|0;$c(a,b);return b|0}function Xb(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];a=ae(d)|0;i=b;return a|0}function Yb(a){a=a|0;Ec(a,19098,213);return}function Zb(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=jw(8)|0;c[d+4>>2]=jw(1302)|0;e=Cc(64,19098,234)|0;hd(a,d,e)|0;i=b;return e|0}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=jw(8)|0;c[e+4>>2]=jw(1303)|0;f=jd(1303,e,a,b)|0;i=d;return f|0}function $b(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(!(gv(a,19142)|0)){e=jd(1200,b,c,d)|0;return e|0}if(gv(a,19158)|0){e=-1;return e|0}e=jd(1101,b,c,d)|0;return e|0}function ac(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a[b+c>>0]=0;do if(gv(b,19173)|0){if(!(gv(b,19206)|0)){f=jw(1303)|0;break}if(!(gv(b,19142)|0)){f=jw(1200)|0;break}else{g=0;return g|0}}else f=jw(1025)|0;while(0);b=e+8|0;c=jw(b)|0;h=Cc(b,19098,329)|0;a[h>>0]=c;a[h+1>>0]=c>>8;a[h+2>>0]=c>>16;a[h+3>>0]=c>>24;c=h+4|0;a[c>>0]=f;a[c+1>>0]=f>>8;a[c+2>>0]=f>>16;a[c+3>>0]=f>>24;if(!e){g=h;return g|0}Dx(h+64|0,d|0,e|0)|0;g=h;return g|0}function bc(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d+8|0;f=Cc(e,19098,348)|0;Dx(f+8|0,c|0,d|0)|0;d=jw(b)|0;b=f+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=jw(e)|0;a[f>>0]=d;a[f+1>>0]=d>>8;a[f+2>>0]=d>>16;a[f+3>>0]=d>>24;return f|0}function cc(a){a=a|0;var b=0,c=0;b=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;c=Cc(b,19098,373)|0;de(a,Kv(a)|0,c,b)|0;a=Od(c,b)|0;Ec(c,19098,213);return a|0}function dc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=Qd(a,d)|0;a=ce(c[d>>2]|0,e)|0;Ec(c[d>>2]|0,19098,213);i=b;return a|0}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(64,19098,416)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,64,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(32,19098,441)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,32,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=Cc(64,19098,464)|0;h=Kv(a)|0;c[f>>2]=0;c[f+4>>2]=0;j=(wd(g,64,a,h,b,d,f)|0)==1;i=e;return (j?g:0)|0}function hc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+80|0;k=j+48|0;l=j+24|0;m=j;if((Ou(h,k)|0)!=1){n=0;i=j;return n|0}if((Ou(h,l)|0)!=1){n=0;i=j;return n|0}if((Ou(h,m)|0)!=1){n=0;i=j;return n|0}h=k;c[h>>2]=a;c[h+4>>2]=b;c[k+8>>2]=f;f=l;c[f>>2]=d;c[f+4>>2]=e;c[l+8>>2]=g;if((Vu(m,k,l)|0)!=1){n=0;i=j;return n|0}l=Cc(24,19098,512)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];c[l+16>>2]=c[m+16>>2];c[l+20>>2]=c[m+20>>2];n=l;i=j;return n|0}function ic(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;j=i;i=i+224|0;k=j;Nd(f,k+88|0);Mu(k+40|0,d);Mu(k+64|0,e);e=k+8|0;d=b;b=e+32|0;do{a[e>>0]=a[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(b|0));c[k>>2]=jw(216)|0;c[k+4>>2]=jw(1200)|0;ld(g,h,k+152|0);h=Cc(216,19098,567)|0;Dx(h|0,k|0,216)|0;i=j;return h|0}function jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+80|0;e=d;c[e>>2]=72;c[e+4>>2]=1201;f=e+8|0;g=a;a=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(a|0));g=Cc(64,19098,593)|0;hd(b,e,g)|0;i=d;return g|0}function kc(a){a=a|0;var b=0;b=Cc(64,19098,635)|0;Nd(a,b);return b|0}function lc(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+272|0;p=o+32|0;q=o+40|0;r=o+24|0;s=o+16|0;t=o+8|0;u=o;v=Mx(f|0,0,1e6,0)|0;f=r;c[f>>2]=v;c[f+4>>2]=C;f=Mx(g|0,0,1e6,0)|0;g=s;c[g>>2]=f;c[g+4>>2]=C;g=Mx(h|0,0,1e6,0)|0;h=t;c[h>>2]=g;c[h+4>>2]=C;h=Mx(j|0,0,1e6,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;Nd(b,q+168|0);b=q+8|0;j=d;h=b+32|0;do{a[b>>0]=a[j>>0]|0;b=b+1|0;j=j+1|0}while((b|0)<(h|0));c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];r=le(p)|0;j=q+40|0;c[j>>2]=r;c[j+4>>2]=C;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];s=le(p)|0;j=q+48|0;c[j>>2]=s;c[j+4>>2]=C;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];t=le(p)|0;j=q+56|0;c[j>>2]=t;c[j+4>>2]=C;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];u=le(p)|0;p=q+64|0;c[p>>2]=u;c[p+4>>2]=C;Mu(q+72|0,k);Mu(q+96|0,l);Mu(q+120|0,m);Mu(q+144|0,n);c[q+4>>2]=jw(1025)|0;c[q>>2]=jw(232)|0;n=(jd(1025,q,e,d)|0)==1&1;i=o;return n|0}function mc(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;var v=0,w=0,x=0,y=0,z=0,A=0,B=0;q=i;i=i+192|0;p=q+160|0;v=q+96|0;w=q+72|0;x=q+48|0;y=q+24|0;z=q;A=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;B=Cc(A,19098,373)|0;de(a,Kv(a)|0,B,A)|0;a=Od(B,A)|0;Ec(B,19098,213);de(b,Kv(b)|0,p,32)|0;de(d,Kv(d)|0,v,64)|0;Ou(l,w)|0;l=w;c[l>>2]=j;c[l+4>>2]=0;c[w+8>>2]=k;Ou(o,x)|0;o=x;c[o>>2]=m;c[o+4>>2]=0;c[x+8>>2]=n;Ou(r,y)|0;r=y;c[r>>2]=m;c[r+4>>2]=0;c[y+8>>2]=n;Ou(u,z)|0;u=z;c[u>>2]=s;c[u+4>>2]=0;c[z+8>>2]=t;t=lc(a,p,v,e,f,g,h,w,x,y,z)|0;Ld(a);i=q;return t|0}function nc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+160|0;h=g+8|0;j=g;k=g+80|0;l=g+16|0;m=Mx(d|0,0,1e6,0)|0;d=j;c[d>>2]=m;c[d+4>>2]=C;c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];j=le(h)|0;h=k+8|0;c[h>>2]=j;c[h+4>>2]=C;h=nd()|0;if(e|0){j=0;do{Nd(c[b+(j<<2)>>2]|0,l);od(h,l,64);j=j+1|0}while((j|0)!=(e|0))}pd(h,k+16|0);c[k>>2]=jw(80)|0;c[k+4>>2]=jw(1035)|0;h=(jd(1035,k,f,a)|0)==1&1;i=g;return h|0}function oc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+96|0;h=g+64|0;j=g;k=i;i=i+((1*(d<<2)|0)+15&-16)|0;de(a,Kv(a)|0,h,32)|0;de(f,Kv(f)|0,j,64)|0;f=(d|0)==0;if(f){l=nc(h,k,e,d,j)|0;i=g;return l|0}else m=0;do{a=c[b+(m<<2)>>2]|0;n=~~+M(+(+(((Kv(a)|0)*5|0)>>>3>>>0)))>>>0;o=Cc(n,19098,373)|0;de(a,Kv(a)|0,o,n)|0;a=Od(o,n)|0;Ec(o,19098,213);c[k+(m<<2)>>2]=a;m=m+1|0}while((m|0)!=(d|0));m=nc(h,k,e,d,j)|0;if(f){l=m;i=g;return l|0}else p=0;do{Ld(c[k+(p<<2)>>2]|0);p=p+1|0}while((p|0)!=(d|0));l=m;i=g;return l|0}function pc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;i=i+256|0;k=j+24|0;l=j+96|0;m=j+16|0;n=j+8|0;o=j;p=j+64|0;q=j+32|0;r=p;s=b;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));r=q;s=g;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));r=l+72|0;s=p;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));p=Mx(d|0,0,1e6,0)|0;d=m;c[d>>2]=p;c[d+4>>2]=C;d=Mx(e|0,0,1e6,0)|0;e=n;c[e>>2]=d;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];m=le(k)|0;f=C;e=l+104|0;d=e;a[d>>0]=m;a[d+1>>0]=m>>8;a[d+2>>0]=m>>16;a[d+3>>0]=m>>24;m=e+4|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=le(k)|0;f=C;m=l+112|0;e=m;a[e>>0]=n;a[e+1>>0]=n>>8;a[e+2>>0]=n>>16;a[e+3>>0]=n>>24;n=m+4|0;a[n>>0]=f;a[n+1>>0]=f>>8;a[n+2>>0]=f>>16;a[n+3>>0]=f>>24;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];o=le(k)|0;k=C;f=l+120|0;n=f;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=f+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;r=l+128|0;s=q;t=r+32|0;do{a[r>>0]=a[s>>0]|0;r=r+1|0;s=s+1|0}while((r|0)<(t|0));s=jw(1024)|0;r=l+64|0;t=l+68|0;a[t>>0]=s;a[t+1>>0]=s>>8;a[t+2>>0]=s>>16;a[t+3>>0]=s>>24;s=jw(96)|0;a[r>>0]=s;a[r+1>>0]=s>>8;a[r+2>>0]=s>>16;a[r+3>>0]=s>>24;s=(jd(1024,r,h,b)|0)==1&1;i=j;return s|0}function qc(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+352|0;k=j+24|0;l=j+192|0;m=j+16|0;n=j+8|0;o=j;p=j+160|0;q=j+128|0;r=j+96|0;s=j+32|0;de(b,Kv(b)|0,q,32)|0;de(g,Kv(g)|0,r,32)|0;de(h,Kv(h)|0,s,64)|0;h=p;g=r;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));h=l+72|0;g=q;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));b=Mx(d|0,0,1e6,0)|0;d=m;c[d>>2]=b;c[d+4>>2]=C;d=Mx(e|0,0,1e6,0)|0;e=n;c[e>>2]=d;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];m=le(k)|0;f=C;e=l+104|0;d=e;a[d>>0]=m;a[d+1>>0]=m>>8;a[d+2>>0]=m>>16;a[d+3>>0]=m>>24;m=e+4|0;a[m>>0]=f;a[m+1>>0]=f>>8;a[m+2>>0]=f>>16;a[m+3>>0]=f>>24;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];n=le(k)|0;f=C;m=l+112|0;e=m;a[e>>0]=n;a[e+1>>0]=n>>8;a[e+2>>0]=n>>16;a[e+3>>0]=n>>24;n=m+4|0;a[n>>0]=f;a[n+1>>0]=f>>8;a[n+2>>0]=f>>16;a[n+3>>0]=f>>24;c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];o=le(k)|0;k=C;f=l+120|0;n=f;a[n>>0]=o;a[n+1>>0]=o>>8;a[n+2>>0]=o>>16;a[n+3>>0]=o>>24;o=f+4|0;a[o>>0]=k;a[o+1>>0]=k>>8;a[o+2>>0]=k>>16;a[o+3>>0]=k>>24;h=l+128|0;g=p;r=h+32|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(r|0));g=jw(1024)|0;h=l+64|0;r=l+68|0;a[r>>0]=g;a[r+1>>0]=g>>8;a[r+2>>0]=g>>16;a[r+3>>0]=g>>24;g=jw(96)|0;a[h>>0]=g;a[h+1>>0]=g>>8;a[h+2>>0]=g>>16;a[h+3>>0]=g>>24;g=(jd(1024,h,s,q)|0)==1&1;i=j;return g|0}function rc(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=i;i=i+368|0;o=n+16|0;p=n+24|0;q=n+8|0;r=n;s=n+328|0;t=n+296|0;u=p+8|0;v=b;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=p+72|0;v=d;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=s;v=l;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=t;v=k;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));k=Mx(e|0,0,1e6,0)|0;e=q;c[e>>2]=k;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=r;c[f>>2]=e;c[f+4>>2]=C;c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];q=le(o)|0;f=p+136|0;c[f>>2]=q;c[f+4>>2]=C;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];r=le(o)|0;o=p+144|0;c[o>>2]=r;c[o+4>>2]=C;o=Hc(g,0)|0;g=p+152|0;c[g>>2]=o;c[g+4>>2]=C;Mu(p+160|0,h);Mu(p+184|0,j);u=p+208|0;v=t;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=p+240|0;v=s;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));c[p>>2]=jw(272)|0;c[p+4>>2]=jw(1201)|0;v=Cc(64,19098,1137)|0;hd(m,p,v)|0;i=n;return v|0}function sc(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;o=i;i=i+304|0;p=o+16|0;q=o+24|0;r=o+272|0;s=o+8|0;t=o;u=q+8|0;v=b;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+72|0;v=d;b=u+64|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=r;v=k;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+216|0;v=l;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));u=q+184|0;v=r;b=u+32|0;do{a[u>>0]=a[v>>0]|0;u=u+1|0;v=v+1|0}while((u|0)<(b|0));v=Mx(e|0,0,1e6,0)|0;e=s;c[e>>2]=v;c[e+4>>2]=C;e=Mx(f|0,0,1e6,0)|0;f=t;c[f>>2]=e;c[f+4>>2]=C;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];s=le(p)|0;f=q+144|0;c[f>>2]=s;c[f+4>>2]=C;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];t=le(p)|0;p=q+152|0;c[p>>2]=t;c[p+4>>2]=C;Mu(q+160|0,j);j=Hc(g,h)|0;h=q+136|0;c[h>>2]=j;c[h+4>>2]=C;c[q+4>>2]=jw(1033)|0;c[q>>2]=jw(248)|0;h=(jd(1033,q,m,n)|0)!=-1&1;i=o;return h|0}function tc(a,b){a=a|0;b=b|0;var c=0;c=Cc(64,19098,1248)|0;hd(a,b,c)|0;return c|0}function uc(a){a=a|0;return nw(d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24)|0}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+32|0;g=f;if((Ou(e,g)|0)!=1){h=0;i=f;return h|0}e=g;c[e>>2]=a;c[e+4>>2]=b;c[g+8>>2]=d;d=Cc(24,19098,1291)|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];h=d;i=f;return h|0}function wc(){Cw(19222)|0;return}function xc(a){a=a|0;var b=0;b=a;C=c[b+4>>2]|0;return c[b>>2]|0}function yc(a){a=a|0;return c[a+8>>2]|0}function zc(a){a=a|0;return a+12|0}function Ac(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d;Ou(a+12|0,e)|0;if((Su(a)|0)==-1){f=-1;i=d;return f|0}g=a;h=c[g>>2]|0;j=c[g+4>>2]|0;g=Mx(h|0,j|0,b|0,0)|0;k=C;l=e;c[l>>2]=g;c[l+4>>2]=k;l=Nx(g|0,k|0,b|0,0)|0;if(!((l|0)==(h|0)&(C|0)==(j|0))){f=-1;i=d;return f|0}j=c[a+8>>2]|0;h=_(j,b)|0;c[e+8>>2]=h;if(((h>>>0)/(b>>>0)|0|0)!=(j|0)){f=-1;i=d;return f|0}Su(e)|0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];f=1;i=d;return f|0}function Bc(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;if((Su(a)|0)==-1){d=-1.0;return +d}if((Su(b)|0)==-1){d=-1.0;return +d}e=a;f=b;d=(+((c[a+8>>2]|0)>>>0)/1.0e6+(+((c[e>>2]|0)>>>0)+4294967296.0*+((c[e+4>>2]|0)>>>0)))*(+((c[b+8>>2]|0)>>>0)/1.0e6+(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0)));return +d}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+64|0;f=e+24|0;g=e+8|0;h=e;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;p=e+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if((c[j>>2]|0)>>>0>41943040){c[n>>2]=74;if((c[184]|0)==-1)c[184]=Mc(1,0,19262,19282,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[184]|0))Lc();n=c[l>>2]|0;c[h>>2]=c[k>>2];c[h+4>>2]=n;Rc(1,61592,h);Lc()}c[m>>2]=Dc(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){i=e;return c[m>>2]|0}c[o>>2]=81;if((c[185]|0)==-1)c[185]=Mc(1,21083,19262,19282,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[185]|0){o=ov(c[(Yu()|0)>>2]|0)|0;c[g>>2]=19298;c[g+4>>2]=19262;c[g+8>>2]=81;c[g+12>>2]=o;Wc(1,21083,20661,g)}}else Qc(-1,0);c[p>>2]=82;if((c[186]|0)==-1)c[186]=Mc(1,0,19262,19282,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[186]|0))Lc();c[f>>2]=19262;c[f+4>>2]=82;Rc(1,61592,f);Lc();return 0}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[h>>2]=sx(c[g>>2]|0)|0;if(!(c[h>>2]|0)){c[f>>2]=0;j=c[f>>2]|0;i=e;return j|0}else{Fx(c[h>>2]|0,0,c[g>>2]|0)|0;c[f>>2]=c[h>>2];j=c[f>>2]|0;i=e;return j|0}return 0}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[g>>2]|0){tx(c[g>>2]|0);i=e;return}c[k>>2]=237;if((c[187]|0)==-1)c[187]=Mc(1,0,19262,19305,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[187]|0))Lc();k=c[j>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=k;Rc(1,61592,f);Lc()}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[g>>2]|0){c[l>>2]=(Kv(c[g>>2]|0)|0)+1;c[k>>2]=Cc(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;Dx(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;i=e;return c[k>>2]|0}c[m>>2]=278;if((c[188]|0)==-1)c[188]=Mc(1,0,19262,19319,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[188]|0))Lc();m=c[j>>2]|0;c[f>>2]=c[h>>2];c[f+4>>2]=m;Rc(1,61592,f);Lc();return 0}function Gc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+48|0;g=f;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+16|0;n=f+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[l>>2]=uv(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,m)|0;if((c[l>>2]|0)>>>0<(c[j>>2]|0)>>>0){i=f;return c[l>>2]|0}c[n>>2]=433;if((c[189]|0)==-1)c[189]=Mc(1,0,19262,19335,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[189]|0))Lc();c[g>>2]=19262;c[g+4>>2]=433;Rc(1,61592,g);Lc();return 0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=jw(c[e>>2]|0)|0;f=Ax(0,b|0,jw(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=nw(c[e>>2]|0)|0;f=Ax(0,b|0,nw(c[e+4>>2]|0)|0,0)|0;i=d;return f|0}function Jc(){c[17640]=c[3962];return}function Kc(){return}function Lc(){gb()}function Mc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(c[k>>2]|0))c[k>>2]=c[17641];if((c[17642]|0)>=0&0==(c[17643]|0)){c[h>>2]=(c[j>>2]|0)<=(c[17642]|0)&1;r=c[h>>2]|0;i=g;return r|0}c[q>>2]=(c[17642]|0)>=0&1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[17644]|0))break;c[o>>2]=(c[17645]|0)+((c[p>>2]|0)*112|0);if(!(c[q>>2]|0?!(c[(c[o>>2]|0)+108>>2]|0):0))s=9;if((((((s|0)==9?(s=0,(c[n>>2]|0)>=(c[(c[o>>2]|0)+96>>2]|0)):0)?(c[n>>2]|0)<=(c[(c[o>>2]|0)+100>>2]|0):0)?0==(ox(c[o>>2]|0,c[k>>2]|0,0,0,0)|0):0)?0==(ox((c[o>>2]|0)+32|0,c[l>>2]|0,0,0,0)|0):0)?0==(ox((c[o>>2]|0)+64|0,c[m>>2]|0,0,0,0)|0):0){s=14;break}c[p>>2]=(c[p>>2]|0)+1}if((s|0)==14){c[h>>2]=(c[j>>2]|0)<=(c[(c[o>>2]|0)+104>>2]|0)&1;r=c[h>>2]|0;i=g;return r|0}o=c[j>>2]|0;if((c[17642]|0)>=0){c[h>>2]=(o|0)<=(c[17642]|0)&1;r=c[h>>2]|0;i=g;return r|0}else{c[h>>2]=(o|0)<=2&1;r=c[h>>2]|0;i=g;return r|0}return 0}function Nc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+4176|0;e=d+24|0;f=d+16|0;g=d;h=d+72|0;j=d+68|0;k=d+76|0;l=d+64|0;m=d+60|0;n=d+56|0;o=d+52|0;p=d+48|0;q=d+44|0;c[j>>2]=b;if(!(c[17647]|0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}if(!(Ma(k|0,4097,c[17647]|0,c[j>>2]|0)|0)){c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}c[o>>2]=ix(k,91)|0;if(0!=(c[o>>2]|0)?93==(a[(c[o>>2]|0)+1>>0]|0):0){c[p>>2]=Fc(k,19381,344)|0;a[(c[p>>2]|0)+((c[o>>2]|0)-k)>>0]=0;a[(c[p>>2]|0)+((c[o>>2]|0)-k+1)>>0]=0;j=c[p>>2]|0;b=Dw()|0;s=(c[p>>2]|0)+((c[o>>2]|0)-k+2)|0;c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=s;tv(k,4096,19404,g)|0;Ec(c[p>>2]|0,19381,354)}if(!(gv(k,71662)|0)){c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}Oc(71662);Wv(71662,k)|0;c[f>>2]=420;c[l>>2]=Mw(k,1089,f)|0;do if(-1!=(c[l>>2]|0)){if(c[17640]|0)vw(c[17640]|0)|0;c[m>>2]=Yw(c[l>>2]|0,2)|0;lw(c[l>>2]|0)|0;if(-1==(c[m>>2]|0)){c[l>>2]=-1;break}c[n>>2]=uw(2,19411)|0;if(!(c[n>>2]|0)){lw(2)|0;c[l>>2]=-1}}while(0);if(-1!=(c[l>>2]|0)){c[17640]=c[n>>2];c[h>>2]=1;r=c[h>>2]|0;i=d;return r|0}c[q>>2]=392;if((c[190]|0)==-1)c[190]=Mc(1,0,19381,19414,c[q>>2]|0)|0;if((Pc()|0)<=0){if(c[190]|0){q=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=38544;c[e+4>>2]=k;c[e+8>>2]=19381;c[e+12>>2]=392;c[e+16>>2]=q;Rc(1,19557,e)}}else Qc(-1,0);c[h>>2]=-1;r=c[h>>2]|0;i=d;return r|0}function Oc(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(!(a[c[e>>2]>>0]|0)){i=d;return}c[f>>2]=c[70596+((((c[17648]|0)>>>0)%3|0)<<2)>>2];if(c[f>>2]|0){Nw(c[f>>2]|0)|0;Ec(c[f>>2]|0,19381,314)}f=Fc(c[e>>2]|0,19381,316)|0;c[70596+((((c[17648]|0)>>>0)%3|0)<<2)>>2]=f;c[17648]=(c[17648]|0)+1;i=d;return}function Pc(){return c[17652]|0}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0){c[17652]=(c[17652]|0)+(c[f>>2]|0);i=d;return}c[h>>2]=0==(c[17652]|0)&1;c[17652]=0;if((c[g>>2]|0)==0|(c[h>>2]|0)!=0){i=d;return}c[j>>2]=867;if((c[191]|0)==-1)c[191]=Mc(1,0,19381,19429,c[j>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);i=d;return}if(!(c[191]|0)){i=d;return}c[e>>2]=19381;c[e+4>>2]=867;Rc(1,61592,e);i=d;return}function Rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Sc(c[f>>2]|0,c[17646]|0,c[g>>2]|0,h);i=e;return}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;g=i;i=i+240|0;h=g+40|0;j=g+32|0;k=g+24|0;l=g+108|0;m=g+104|0;n=g+100|0;o=g+96|0;p=g+176|0;q=g+112|0;r=g+92|0;s=g+88|0;t=g+72|0;u=g+68|0;v=g+64|0;w=g+16|0;x=g+56|0;y=g+8|0;z=g+48|0;A=g;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=c[c[o>>2]>>2];c[s>>2]=(uv(0,0,c[n>>2]|0,t)|0)+1;if(!(c[s>>2]|0)){c[u>>2]=910;if((c[192]|0)==-1)c[192]=Mc(1,0,19381,19445,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[192]|0))Lc();c[k>>2]=19381;c[k+4>>2]=910;Rc(1,61592,k);Lc()}k=p;u=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(u|0));k=c[s>>2]|0;c[v>>2]=Xa()|0;u=i;i=i+((1*k|0)+15&-16)|0;lb(x|0,0)|0;k=fe()|0;t=w;c[t>>2]=k;c[t+4>>2]=C;t=w;k=c[t+4>>2]|0;f=(k|0)>0|(k|0)==0&(c[t>>2]|0)>>>0>0;t=w;k=Kx(c[t>>2]|0,c[t+4>>2]|0,1e3,0)|0;t=c[x>>2]|0;e=Ax(t|0,((t|0)<0)<<31>>31|0,k|0,C|0)|0;c[x>>2]=e;do if(f){e=w;k=Lx(c[e>>2]|0,c[e+4>>2]|0,1e3,0)|0;e=Mx(k|0,C|0,1e3,0)|0;k=x+4|0;t=c[k>>2]|0;d=Ax(t|0,((t|0)<0)<<31>>31|0,e|0,C|0)|0;c[k>>2]=d;d=c[x+4>>2]|0;k=((d|0)<0)<<31>>31;if((k|0)>0|(k|0)==0&d>>>0>1e6){d=x+4|0;k=c[d>>2]|0;e=zx(k|0,((k|0)<0)<<31>>31|0,1e6,0)|0;c[d>>2]=e;c[x>>2]=(c[x>>2]|0)+1}}else{e=c[x+4>>2]|0;d=((e|0)<0)<<31>>31;k=w;t=Lx(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0;k=zx(0,0,t|0,C|0)|0;t=Mx(k|0,C|0,1e3,0)|0;k=C;b=w;B=Lx(c[b>>2]|0,c[b+4>>2]|0,1e3,0)|0;b=Mx(B|0,C|0,1e3,0)|0;B=C;if((d|0)>(k|0)|(d|0)==(k|0)&e>>>0>t>>>0){t=x+4|0;e=c[t>>2]|0;k=Ax(e|0,((e|0)<0)<<31>>31|0,b|0,B|0)|0;c[t>>2]=k;break}else{k=Ax(1e6,0,b|0,B|0)|0;B=x+4|0;b=c[B>>2]|0;t=Ax(b|0,((b|0)<0)<<31>>31|0,k|0,C|0)|0;c[B>>2]=t;c[x>>2]=(c[x>>2]|0)+-1;break}}while(0);c[r>>2]=pb(x|0)|0;if(!(c[r>>2]|0))Wv(p,19451)|0;else{Ma(q|0,64,19467,c[r>>2]|0)|0;c[j>>2]=c[x+4>>2];tv(p,64,q,j)|0}uv(u,c[s>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[r>>2]|0)Nc(c[r>>2]|0)|0;r=70528;if(0!=(c[l>>2]&32|0)&(0!=(c[r>>2]|0)?1:0!=(c[r+4>>2]|0))?0==(iw(u,75759,256)|0):0){c[17653]=(c[17653]|0)+1;c[h>>2]=c[17632];c[h+4>>2]=c[17633];r=ke(h)|0;h=y;c[h>>2]=r;c[h+4>>2]=C;h=y;y=c[h+4>>2]|0;if(y>>>0>10|(y|0)==10&(c[h>>2]|0)>>>0>250327040|(c[17653]|0)>>>0>1e3)Tc(p);c[z>>2]=1;D=c[v>>2]|0;xa(D|0);i=g;return}Tc(p);ow(75759,u,256)|0;c[17653]=0;c[17654]=c[l>>2];h=ge()|0;y=A;c[y>>2]=h;c[y+4>>2]=C;c[17632]=c[A>>2];c[17633]=c[A+4>>2];ow(76015,c[m>>2]|0,32)|0;Uc(c[l>>2]|0,c[m>>2]|0,p,u);c[z>>2]=0;D=c[v>>2]|0;xa(D|0);i=g;return}function Tc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+640|0;e=d+32|0;f=d+16|0;g=d+52|0;h=d+56|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+8|0;n=d;c[g>>2]=b;b=70528;if((0==(c[b>>2]|0)?0==(c[b+4>>2]|0):0)|0==(c[17653]|0)){i=d;return}c[j>>2]=0;c[k>>2]=Cv(75759,0,256)|0;if(c[k>>2]|0){if((c[k>>2]|0)!=75759)c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=76014;if((a[c[k>>2]>>0]|0)==10){c[j>>2]=1;a[c[k>>2]>>0]=0};c[e>>2]=c[17632];c[e+4>>2]=c[17633];b=ke(e)|0;o=m;c[o>>2]=b;c[o+4>>2]=C;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[l>>2]=$d(e,1)|0;e=c[17653]|0;m=c[l>>2]|0;c[f>>2]=256;c[f+4>>2]=75759;c[f+8>>2]=e;c[f+12>>2]=m;tv(h,576,19488,f)|0;if((c[j>>2]|0)==1)a[c[k>>2]>>0]=10;Uc(c[17654]|0,76015,c[g>>2]|0,h);h=ge()|0;g=n;c[g>>2]=h;c[g+4>>2]=C;c[17632]=c[n>>2];c[17633]=c[n+4>>2];c[17653]=0;i=d;return}function Uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+48|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(0!=(c[17640]|0)&0==(c[17655]|0)){e=c[17640]|0;d=c[k>>2]|0;b=c[j>>2]|0;a=Vc(c[h>>2]|0)|0;n=c[l>>2]|0;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=a;c[g+12>>2]=n;gw(e,19545,g)|0;ww(c[17640]|0)|0}c[m>>2]=c[17655];while(1){if(!(c[m>>2]|0))break;wb[c[(c[m>>2]|0)+4>>2]&15](c[(c[m>>2]|0)+8>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);c[m>>2]=c[c[m>>2]>>2]}i=f;return}function Vc(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[e>>2]&1|0)<=0){if((c[e>>2]&2|0)>0){c[d>>2]=19362;break}if((c[e>>2]&4|0)>0){c[d>>2]=19357;break}if((c[e>>2]&8|0)>0){c[d>>2]=19351;break}if(!(c[e>>2]&-33)){c[d>>2]=19376;break}else{c[d>>2]=19537;break}}else c[d>>2]=19370;while(0);i=b;return c[d>>2]|0}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+176|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+8|0;m=f+40|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(!(c[j>>2]|0))c[j>>2]=c[17641];c[l>>2]=e;e=c[j>>2]|0;j=Dw()|0;c[g>>2]=e;c[g+4>>2]=j;Gc(m,128,19398,g)|0;Sc(c[h>>2]|0,m,c[k>>2]|0,l);i=f;return}function Xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;i=i+64|0;h=g+8|0;j=g;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;f=c[m>>2]|0;c[r>>2]=Xa()|0;e=i;i=i+((1*f|0)+15&-16)|0;if(1!=(Yc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(Ve(c[q>>2]|0,e,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){c[t>>2]=136;if((c[196]|0)==-1)c[196]=Mc(1,0,19607,19643,c[t>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[196]|0))Lc();c[j>>2]=19607;c[j+4>>2]=136;Rc(1,61592,j);Lc()}Qe(c[q>>2]|0);if(1!=(Zc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(!(Ve(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,e,c[m>>2]|0)|0)){Qe(c[q>>2]|0);Fx(e|0,0,f|0)|0;c[k>>2]=c[m>>2];c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}c[u>>2]=140;if((c[200]|0)==-1)c[200]=Mc(1,0,19607,19643,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[200]|0))Lc();c[h>>2]=19607;c[h+4>>2]=140;Rc(1,61592,h);Lc();return 0}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Pe(c[j>>2]|0,9,2,0)|0){c[n>>2]=68;if((c[193]|0)==-1)c[193]=Mc(1,0,19607,19626,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[193]|0))Lc();c[h>>2]=19607;c[h+4>>2]=68;Rc(1,61592,h);Lc()}c[m>>2]=Re(c[c[j>>2]>>2]|0,c[k>>2]|0,32)|0;if(0!=(c[m>>2]|0)?((c[m>>2]&255)<<24>>24|0)!=43:0){c[o>>2]=72;if((c[194]|0)==-1)c[194]=Mc(1,0,19607,19626,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[194]|0))Lc();c[g>>2]=19607;c[g+4>>2]=72;Rc(1,61592,g);Lc()}c[m>>2]=Ue(c[c[j>>2]>>2]|0,c[l>>2]|0,16)|0;if(!(c[m>>2]|0)){i=e;return 1}if(((c[m>>2]&255)<<24>>24|0)==43){i=e;return 1}c[p>>2]=76;if((c[195]|0)==-1)c[195]=Mc(1,0,19607,19626,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[195]|0))Lc();c[f>>2]=19607;c[f+4>>2]=76;Rc(1,61592,f);Lc();return 0}function Zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Pe(c[j>>2]|0,10,2,0)|0){c[n>>2]=98;if((c[197]|0)==-1)c[197]=Mc(1,0,19607,19675,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[197]|0))Lc();c[h>>2]=19607;c[h+4>>2]=98;Rc(1,61592,h);Lc()}c[m>>2]=Re(c[c[j>>2]>>2]|0,(c[k>>2]|0)+32|0,32)|0;if(0!=(c[m>>2]|0)?((c[m>>2]&255)<<24>>24|0)!=43:0){c[o>>2]=102;if((c[198]|0)==-1)c[198]=Mc(1,0,19607,19675,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[198]|0))Lc();c[g>>2]=19607;c[g+4>>2]=102;Rc(1,61592,g);Lc()}c[m>>2]=Ue(c[c[j>>2]>>2]|0,(c[l>>2]|0)+16|0,16)|0;if(!(c[m>>2]|0)){i=e;return 1}if(((c[m>>2]&255)<<24>>24|0)==43){i=e;return 1}c[p>>2]=106;if((c[199]|0)==-1)c[199]=Mc(1,0,19607,19675,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[199]|0))Lc();c[f>>2]=19607;c[f+4>>2]=106;Rc(1,61592,f);Lc();return 0}function _c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;i=i+64|0;h=g+8|0;j=g;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;f=c[m>>2]|0;c[r>>2]=Xa()|0;e=i;i=i+((1*f|0)+15&-16)|0;if(1!=(Zc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(We(c[q>>2]|0,e,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){c[t>>2]=171;if((c[201]|0)==-1)c[201]=Mc(1,0,19607,19696,c[t>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[201]|0))Lc();c[j>>2]=19607;c[j+4>>2]=171;Rc(1,61592,j);Lc()}Qe(c[q>>2]|0);if(1!=(Yc(q,c[n>>2]|0,c[o>>2]|0)|0)){c[k>>2]=-1;c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}if(!(We(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,e,c[m>>2]|0)|0)){Qe(c[q>>2]|0);Fx(e|0,0,f|0)|0;c[k>>2]=c[m>>2];c[s>>2]=1;v=c[r>>2]|0;xa(v|0);w=c[k>>2]|0;i=g;return w|0}c[u>>2]=175;if((c[202]|0)==-1)c[202]=Mc(1,0,19607,19696,c[u>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[202]|0))Lc();c[h>>2]=19607;c[h+4>>2]=175;Rc(1,61592,h);Lc();return 0}function $c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+52|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=ad(c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[n>>2]=257;if((c[205]|0)==-1)c[205]=Mc(1,0,19770,19887,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[205]|0))Lc();c[g>>2]=19770;c[g+4>>2]=257;Rc(1,61592,g);Lc()}if(Ie(l,c[k>>2]|0,0)|0){c[o>>2]=258;if((c[206]|0)==-1)c[206]=Mc(1,0,19770,19887,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[206]|0))Lc();c[f>>2]=19770;c[f+4>>2]=258;Rc(1,61592,f);Lc()}ue(c[k>>2]|0);c[m>>2]=Je(19799,c[l>>2]|0,0)|0;if(c[m>>2]|0){xd(c[j>>2]|0,32,c[m>>2]|0);Ae(c[m>>2]|0);mf(c[l>>2]|0);i=d;return}c[p>>2]=261;if((c[207]|0)==-1)c[207]=Mc(1,0,19770,19887,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[207]|0))Lc();c[e>>2]=19770;c[e+4>>2]=261;Rc(1,61592,e);Lc()}function ad(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;j=b+40|0;k=b+36|0;l=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[j>>2]=te(h,0,19807,f)|0;if(!(c[j>>2]|0)){i=b;return c[h>>2]|0}c[k>>2]=169;if((c[203]|0)==-1)c[203]=Mc(1,21083,19770,19862,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[203]|0){k=me(c[j>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=169;c[e+12>>2]=k;Wc(1,21083,20661,e)}}else Qc(-1,0);c[l>>2]=170;if((c[204]|0)==-1)c[204]=Mc(1,0,19770,19862,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[204]|0))Lc();c[d>>2]=19770;c[d+4>>2]=170;Rc(1,61592,d);Lc();return 0}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+52|0;j=d+48|0;k=d+44|0;l=d+40|0;m=d+36|0;n=d+32|0;o=d+28|0;p=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=cd(c[h>>2]|0)|0;if(!(c[k>>2]|0)){c[n>>2]=283;if((c[210]|0)==-1)c[210]=Mc(1,0,19770,19947,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[210]|0))Lc();c[g>>2]=19770;c[g+4>>2]=283;Rc(1,61592,g);Lc()}if(Ie(l,c[k>>2]|0,0)|0){c[o>>2]=284;if((c[211]|0)==-1)c[211]=Mc(1,0,19770,19947,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[211]|0))Lc();c[f>>2]=19770;c[f+4>>2]=284;Rc(1,61592,f);Lc()}ue(c[k>>2]|0);c[m>>2]=Je(19799,c[l>>2]|0,0)|0;if(c[m>>2]|0){xd(c[j>>2]|0,32,c[m>>2]|0);Ae(c[m>>2]|0);mf(c[l>>2]|0);i=d;return}c[p>>2]=287;if((c[212]|0)==-1)c[212]=Mc(1,0,19770,19947,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[212]|0))Lc();c[e>>2]=19770;c[e+4>>2]=287;Rc(1,61592,e);Lc()}function cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+64|0;d=b+24|0;e=b+8|0;f=b;g=b+48|0;h=b+44|0;j=b+40|0;k=b+36|0;l=b+32|0;c[g>>2]=a;a=c[g>>2]|0;c[f>>2]=32;c[f+4>>2]=a;c[j>>2]=te(h,0,19728,f)|0;if(!(c[j>>2]|0)){i=b;return c[h>>2]|0}c[k>>2]=202;if((c[208]|0)==-1)c[208]=Mc(1,21083,19770,19922,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[208]|0){k=me(c[j>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=202;c[e+12>>2]=k;Wc(1,21083,20661,e)}}else Qc(-1,0);c[l>>2]=203;if((c[209]|0)==-1)c[209]=Mc(1,0,19770,19922,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[209]|0))Lc();c[d>>2]=19770;c[d+4>>2]=203;Rc(1,61592,d);Lc();return 0}function dd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=256;if((((c[k>>2]|0)>>>0)%5|0)>>>0>0)c[k>>2]=(c[k>>2]|0)+(5-(((c[k>>2]|0)>>>0)%5|0));c[k>>2]=((c[k>>2]|0)>>>0)/5|0;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=-1;l=c[f>>2]|0;i=e;return l|0}if(1!=(de(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,32)|0)){c[f>>2]=-1;l=c[f>>2]|0;i=e;return l|0}else{c[f>>2]=1;l=c[f>>2]|0;i=e;return l|0}return 0}function ed(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+96|0;b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=te(j,0,19982,a)|0;c[l>>2]=p;if(p){c[m>>2]=505;if((c[213]|0)==-1)c[213]=Mc(1,21083,19770,20037,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[213]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=505;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}e=_e(h,c[j>>2]|0)|0;c[l>>2]=e;if(e){c[n>>2]=510;if((c[214]|0)==-1)c[214]=Mc(1,21083,19770,20037,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[214]|0){n=me(c[l>>2]|0)|0;c[d>>2]=20068;c[d+4>>2]=19770;c[d+8>>2]=510;c[d+12>>2]=n;Wc(1,21083,20661,d)}}else Qc(-1,0);ue(c[j>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}ue(c[j>>2]|0);j=fd(k,c[h>>2]|0,37935,35585)|0;c[l>>2]=j;if(!j){ue(c[h>>2]|0);c[g>>2]=Cc(32,19770,530)|0;xd(c[g>>2]|0,32,c[k>>2]|0);Ae(c[k>>2]|0);c[f>>2]=c[g>>2];q=c[f>>2]|0;i=a;return q|0}c[o>>2]=525;if((c[215]|0)==-1)c[215]=Mc(1,21083,19770,20037,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[215]|0){o=me(c[l>>2]|0)|0;c[b>>2]=20083;c[b+4>>2]=19770;c[b+8>>2]=525;c[b+12>>2]=o;Wc(1,21083,20661,b)}}else Qc(-1,0);ue(c[h>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=we(c[k>>2]|0,c[l>>2]|0,0)|0;if(!(c[n>>2]|0)){c[h>>2]=1;s=c[h>>2]|0;i=g;return s|0}c[o>>2]=xe(c[n>>2]|0)|0;ue(c[n>>2]|0);c[n>>2]=c[o>>2];if(!(c[n>>2]|0)){c[h>>2]=2;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=0;c[p>>2]=c[m>>2];while(1){t=c[n>>2]|0;if(!(a[c[p>>2]>>0]|0)){u=18;break}c[o>>2]=we(t,c[p>>2]|0,1)|0;if(!(c[o>>2]|0)){u=8;break}m=ye(c[o>>2]|0,1,5)|0;c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=m;ue(c[o>>2]|0);if(!(c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]|0)){u=13;break}c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((u|0)==8){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=3;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==13){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=4;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==18){ue(t);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function gd(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+96|0;b=a+40|0;d=a+24|0;e=a+8|0;f=a+88|0;g=a+84|0;h=a+80|0;j=a+76|0;k=a+72|0;l=a+68|0;m=a+64|0;n=a+60|0;o=a+56|0;p=te(j,0,20097,a)|0;c[l>>2]=p;if(p){c[m>>2]=604;if((c[216]|0)==-1)c[216]=Mc(1,21083,19770,20141,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[216]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=604;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}e=_e(h,c[j>>2]|0)|0;c[l>>2]=e;if(e){c[n>>2]=609;if((c[217]|0)==-1)c[217]=Mc(1,21083,19770,20141,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[217]|0){n=me(c[l>>2]|0)|0;c[d>>2]=20068;c[d+4>>2]=19770;c[d+8>>2]=609;c[d+12>>2]=n;Wc(1,21083,20661,d)}}else Qc(-1,0);ue(c[j>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}ue(c[j>>2]|0);j=fd(k,c[h>>2]|0,37935,35585)|0;c[l>>2]=j;if(!j){ue(c[h>>2]|0);c[g>>2]=Cc(32,19770,629)|0;xd(c[g>>2]|0,32,c[k>>2]|0);Ae(c[k>>2]|0);c[f>>2]=c[g>>2];q=c[f>>2]|0;i=a;return q|0}c[o>>2]=624;if((c[218]|0)==-1)c[218]=Mc(1,21083,19770,20141,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[218]|0){o=me(c[l>>2]|0)|0;c[b>>2]=20083;c[b+4>>2]=19770;c[b+8>>2]=624;c[b+12>>2]=o;Wc(1,21083,20661,b)}}else Qc(-1,0);ue(c[h>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=a;return q|0}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+80|0;f=e+16|0;g=e;h=e+68|0;j=e+64|0;k=e+60|0;l=e+56|0;m=e+52|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+32|0;r=e+28|0;s=e+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=ad(c[j>>2]|0)|0;c[o>>2]=id(c[k>>2]|0)|0;k=Xe(n,c[o>>2]|0,c[m>>2]|0)|0;c[p>>2]=k;if(k){c[r>>2]=807;if((c[220]|0)==-1)c[220]=Mc(2,21083,19770,20236,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[220]|0){r=me(c[p>>2]|0)|0;c[g>>2]=19770;c[g+4>>2]=807;c[g+8>>2]=r;Wc(2,21083,20261,g)}}else Qc(-1,0);ue(c[o>>2]|0);ue(c[m>>2]|0);c[h>>2]=-1;t=c[h>>2]|0;i=e;return t|0}ue(c[m>>2]|0);ue(c[o>>2]|0);o=fd(q,c[n>>2]|0,37797,47158)|0;c[p>>2]=o;if(!o){ue(c[n>>2]|0);xd(c[l>>2]|0,32,c[q>>2]|0);xd((c[l>>2]|0)+32|0,32,c[q+4>>2]|0);Ae(c[q>>2]|0);Ae(c[q+4>>2]|0);c[h>>2]=1;t=c[h>>2]|0;i=e;return t|0}c[s>>2]=819;if((c[221]|0)==-1)c[221]=Mc(1,0,19770,20236,c[s>>2]|0)|0;if((Pc()|0)<=0){if(c[221]|0){c[f>>2]=19770;c[f+4>>2]=819;Rc(1,61592,f)}}else Qc(-1,0);ue(c[n>>2]|0);c[h>>2]=-1;t=c[h>>2]|0;i=e;return t|0}function id(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+128|0;e=b+16|0;f=b;g=b+116|0;h=b+112|0;j=b+48|0;k=b+40|0;l=b+36|0;m=b+32|0;c[h>>2]=a;a=c[h>>2]|0;n=c[h>>2]|0;ld(a,nw(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0,j);c[f>>2]=37855;c[f+4>>2]=64;c[f+8>>2]=j;j=te(k,0,20172,f)|0;c[l>>2]=j;if(!j){c[g>>2]=c[k>>2];o=c[g>>2]|0;i=b;return o|0}c[m>>2]=698;if((c[219]|0)==-1)c[219]=Mc(1,21083,19770,20216,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[219]|0){m=me(c[l>>2]|0)|0;c[e>>2]=19783;c[e+4>>2]=19770;c[e+8>>2]=698;c[e+12>>2]=m;Wc(1,21083,20661,e)}}else Qc(-1,0);c[g>>2]=0;o=c[g>>2]|0;i=b;return o|0}function jd(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;i=i+96|0;h=g+40|0;j=g+32|0;k=g+16|0;l=g;m=g+92|0;n=g+88|0;o=g+84|0;p=g+80|0;q=g+76|0;r=g+72|0;s=g+68|0;t=g+64|0;u=g+60|0;v=g+56|0;w=g+52|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;f=c[n>>2]|0;n=(c[o>>2]|0)+4|0;if((f|0)!=(nw(d[n>>0]|d[n+1>>0]<<8|d[n+2>>0]<<16|d[n+3>>0]<<24)|0)){c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}n=c[p>>2]|0;f=(c[p>>2]|0)+32|0;c[l>>2]=32;c[l+4>>2]=n;c[l+8>>2]=32;c[l+12>>2]=f;f=te(s,0,20335,l)|0;c[u>>2]=f;if(f){c[v>>2]=918;if((c[222]|0)==-1)c[222]=Mc(1,21083,19770,20364,c[v>>2]|0)|0;if((Pc()|0)<=0){if(c[222]|0){v=me(c[u>>2]|0)|0;c[k>>2]=19783;c[k+4>>2]=19770;c[k+8>>2]=918;c[k+12>>2]=v;Wc(1,21083,20661,k)}}else Qc(-1,0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}c[r>>2]=id(c[o>>2]|0)|0;o=c[q>>2]|0;c[j>>2]=32;c[j+4>>2]=o;o=te(t,0,20391,j)|0;c[u>>2]=o;if(o){ue(c[r>>2]|0);ue(c[s>>2]|0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}c[u>>2]=Ye(c[s>>2]|0,c[r>>2]|0,c[t>>2]|0)|0;ue(c[t>>2]|0);ue(c[r>>2]|0);ue(c[s>>2]|0);if(!(c[u>>2]|0)){c[m>>2]=1;x=c[m>>2]|0;i=g;return x|0}c[w>>2]=938;if((c[223]|0)==-1)c[223]=Mc(4,21083,19770,20364,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[223]|0){w=me(c[u>>2]|0)|0;c[h>>2]=19770;c[h+4>>2]=938;c[h+8>>2]=w;Wc(4,21083,20443,h)}}else Qc(-1,0);c[m>>2]=-1;x=c[m>>2]|0;i=g;return x|0}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;i=i+144|0;f=e+40|0;g=e+32|0;h=e+16|0;j=e+8|0;k=e;l=e+104|0;m=e+100|0;n=e+96|0;o=e+92|0;p=e+88|0;q=e+84|0;r=e+80|0;s=e+76|0;t=e+72|0;u=e+68|0;v=e+112|0;w=e+64|0;x=e+60|0;y=e+56|0;z=e+52|0;A=e+48|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=c[n>>2]|0;c[k>>2]=32;c[k+4>>2]=d;if(te(t,0,20296,k)|0){c[l>>2]=-1;B=c[l>>2]|0;i=e;return B|0}if(Ie(s,c[t>>2]|0,0)|0){c[x>>2]=972;if((c[224]|0)==-1)c[224]=Mc(1,0,19770,20493,c[x>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[224]|0))Lc();c[j>>2]=19770;c[j+4>>2]=972;Rc(1,61592,j);Lc()}ue(c[t>>2]|0);c[q>>2]=Ke(49872,c[s>>2]|0,0)|0;zd(r,c[m>>2]|0,32);c[p>>2]=Ge(0)|0;Me(c[p>>2]|0,c[r>>2]|0,c[q>>2]|0,c[s>>2]|0);He(c[q>>2]|0);Ae(c[r>>2]|0);c[u>>2]=ze(256)|0;if(Le(c[u>>2]|0,0,c[p>>2]|0,c[s>>2]|0)|0){c[y>>2]=989;if((c[225]|0)==-1)c[225]=Mc(1,21083,19770,20493,c[y>>2]|0)|0;if((Pc()|0)<=0){if(c[225]|0){y=me(0)|0;c[h>>2]=20516;c[h+4>>2]=19770;c[h+8>>2]=989;c[h+12>>2]=y;Wc(1,21083,20661,h)}}else Qc(-1,0);He(c[p>>2]|0);mf(c[s>>2]|0);c[l>>2]=-1;B=c[l>>2]|0;i=e;return B|0}He(c[p>>2]|0);mf(c[s>>2]|0);c[w>>2]=32;if(Oe(c[u>>2]|0,2)|0){c[z>>2]=998;if((c[226]|0)==-1)c[226]=Mc(1,0,19770,20493,c[z>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[226]|0))Lc();c[g>>2]=19770;c[g+4>>2]=998;Rc(1,61592,g);Lc()}if(!(Ce(1,v,c[w>>2]|0,w,c[u>>2]|0)|0)){ld(v,c[w>>2]|0,c[o>>2]|0);Ae(c[u>>2]|0);c[l>>2]=1;B=c[l>>2]|0;i=e;return B|0}c[A>>2]=1005;if((c[227]|0)==-1)c[227]=Mc(1,0,19770,20493,c[A>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[227]|0))Lc();c[f>>2]=19770;c[f+4>>2]=1005;Rc(1,61592,f);Lc();return 0}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;ef(10,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0);i=e;return}function md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=15;while(1){if((c[g>>2]|0)<0)break;b=Bd(c[e>>2]|0,-1)|0;c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]=b;c[g>>2]=(c[g>>2]|0)+-1}i=d;return}function nd(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;d=a+12|0;e=a+8|0;c[d>>2]=Cc(4,20534,425)|0;if(!($e(c[d>>2]|0,10,0)|0)){i=a;return c[d>>2]|0}c[e>>2]=429;if((c[228]|0)==-1)c[228]=Mc(1,0,20534,20548,c[e>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[228]|0))Lc();c[b>>2]=20534;c[b+4>>2]=429;Rc(1,61592,b);Lc();return 0}function od(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;cf(c[c[f>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function pd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=df(c[c[g>>2]>>2]|0,0)|0;if(c[j>>2]|0){if(!(c[h>>2]|0)){l=c[g>>2]|0;qd(l);i=e;return}d=c[h>>2]|0;h=c[j>>2]|0;j=d+64|0;do{a[d>>0]=a[h>>0]|0;d=d+1|0;h=h+1|0}while((d|0)<(j|0));l=c[g>>2]|0;qd(l);i=e;return}c[k>>2]=462;if((c[229]|0)==-1)c[229]=Mc(1,0,20534,20581,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[229]|0))Lc();c[f>>2]=20534;c[f+4>>2]=462;Rc(1,61592,f);Lc()}function qd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;af(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20534,480);i=b;return}function rd(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;m=i;i=i+128|0;n=m+120|0;o=m+116|0;p=m+112|0;q=m+108|0;r=m+104|0;s=m+100|0;t=m+96|0;u=m+92|0;v=m+88|0;w=m+84|0;x=m+80|0;y=m+76|0;z=m+72|0;A=m+68|0;B=m+64|0;C=m+60|0;D=m+56|0;E=m+52|0;F=m+48|0;G=m+44|0;H=m+40|0;I=m+24|0;J=m+20|0;K=m+16|0;L=m+12|0;M=m+8|0;N=m+4|0;O=m;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[D>>2]=gf(c[r>>2]|0)|0;c[E>>2]=gf(c[q>>2]|0)|0;l=c[E>>2]|0;c[F>>2]=Xa()|0;k=i;i=i+((1*l|0)+15&-16)|0;if(!(c[D>>2]|0)){c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}if($e(x,c[q>>2]|0,2)|0){c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}if($e(y,c[r>>2]|0,2)|0){af(c[x>>2]|0);c[n>>2]=-1;c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}c[I>>2]=c[c[w>>2]>>2];c[H>>2]=0;while(1){r=(c[I>>2]|0)+(4-1)&~(4-1);q=c[r>>2]|0;c[I>>2]=r+4;if(!q)break;q=(c[I>>2]|0)+(4-1)&~(4-1);r=c[q>>2]|0;c[I>>2]=q+4;c[H>>2]=(c[H>>2]|0)+r}Fx(c[o>>2]|0,0,c[p>>2]|0)|0;a:do if((sd(c[x>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,k)|0)!=1)R=34;else{c[B>>2]=((c[p>>2]|0)>>>0)/((c[D>>2]|0)>>>0)|0;c[C>>2]=((c[p>>2]|0)>>>0)%((c[D>>2]|0)>>>0)|0;c[K>>2]=(c[D>>2]|0)+(c[H>>2]|0)+1;r=c[K>>2]|0;c[L>>2]=Xa()|0;q=i;i=i+((1*r|0)+15&-16)|0;c[N>>2]=q+(c[D>>2]|0);c[I>>2]=c[c[w>>2]>>2];while(1){r=(c[I>>2]|0)+(4-1)&~(4-1);l=c[r>>2]|0;c[I>>2]=r+4;c[M>>2]=l;if(!l)break;l=(c[I>>2]|0)+(4-1)&~(4-1);r=c[l>>2]|0;c[I>>2]=l+4;c[O>>2]=r;Dx(c[N>>2]|0,c[M>>2]|0,c[O>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+(c[O>>2]|0)}do if((c[B>>2]|0)>>>0>0){a[q+(c[D>>2]|0)+(c[H>>2]|0)>>0]=1;c[z>>2]=td(c[y>>2]|0,k,c[E>>2]|0,q+(c[D>>2]|0)|0,(c[H>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[J>>2]=4;break}else{Dx(c[o>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[D>>2]|0);R=18;break}}else R=18;while(0);b:do if((R|0)==18){c[A>>2]=1;while(1){if((c[A>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;Dx(q|0,(c[o>>2]|0)+(0-(c[D>>2]|0))|0,c[D>>2]|0)|0;Fx(q+(c[D>>2]|0)+(c[H>>2]|0)|0,(c[A>>2]|0)+1&255|0,1)|0;bf(c[y>>2]|0);c[z>>2]=td(c[y>>2]|0,k,c[E>>2]|0,q,c[K>>2]|0)|0;if(!(c[z>>2]|0)){R=21;break}Dx(c[o>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[D>>2]|0);c[A>>2]=(c[A>>2]|0)+1}if((R|0)==21){c[J>>2]=4;break}do if((c[C>>2]|0)>>>0>0){if((c[B>>2]|0)>>>0>0){Dx(q|0,(c[o>>2]|0)+(0-(c[D>>2]|0))|0,c[D>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}Fx(q+(c[D>>2]|0)+(c[H>>2]|0)|0,c[A>>2]&255|0,1)|0;bf(c[y>>2]|0);r=c[y>>2]|0;l=c[E>>2]|0;if((c[B>>2]|0)>>>0>0)c[z>>2]=td(r,k,l,q,c[K>>2]|0)|0;else c[z>>2]=td(r,k,l,q+(c[D>>2]|0)|0,(c[K>>2]|0)-(c[D>>2]|0)|0)|0;if(!(c[z>>2]|0)){c[J>>2]=4;break b}else{Dx(c[o>>2]|0,c[z>>2]|0,c[C>>2]|0)|0;break}}while(0);c[G>>2]=1;c[J>>2]=10}while(0);xa(c[L>>2]|0);switch(c[J>>2]|0){case 4:{R=34;break a;break}case 10:{break a;break}default:{}}P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}while(0);if((R|0)==34)c[G>>2]=-1;af(c[x>>2]|0);af(c[y>>2]|0);c[n>>2]=c[G>>2];c[J>>2]=1;P=c[F>>2]|0;xa(P|0);Q=c[n>>2]|0;i=m;return Q|0}function sd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+32|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+16|0;n=h+12|0;o=h+8|0;p=h+4|0;q=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=td(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=-1;r=c[j>>2]|0;i=h;return r|0}else{o=c[p>>2]|0;p=c[q>>2]|0;Dx(o|0,p|0,gf(ff(c[k>>2]|0)|0)|0)|0;c[j>>2]=1;r=c[j>>2]|0;i=h;return r|0}return 0}function td(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;hf(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;cf(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0);m=df(c[h>>2]|0,0)|0;i=g;return m|0}function ud(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+64|0;m=l+52|0;n=l+48|0;o=l+44|0;p=l+40|0;q=l+36|0;r=l+32|0;s=l+28|0;t=l+24|0;u=l+8|0;v=l;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=rd(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,u)|0;i=l;return c[v>>2]|0}function vd(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;h=rd(c[k>>2]|0,c[l>>2]|0,10,8,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;i=j;return h|0}function wd(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+48|0;k=j+44|0;l=j+40|0;m=j+36|0;n=j+32|0;o=j+28|0;p=j+24|0;q=j+8|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=vd(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,q)|0;i=j;return c[r>>2]|0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+80|0;f=e+24|0;g=e+8|0;h=e;j=e+68|0;k=e+64|0;l=e+60|0;m=e+56|0;n=e+52|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+36|0;s=e+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;if(Oe(c[l>>2]|0,2)|0){c[p>>2]=Ne(c[l>>2]|0,o)|0;if(c[p>>2]|0){c[m>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;if((c[m>>2]|0)>>>0>(c[k>>2]|0)>>>0)c[m>>2]=c[k>>2];Dx(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0)|0;if((c[m>>2]|0)>>>0>=(c[k>>2]|0)>>>0){i=e;return}Fx((c[j>>2]|0)+(c[m>>2]|0)|0,0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;i=e;return}c[q>>2]=89;if((c[230]|0)==-1)c[230]=Mc(1,0,20615,20628,c[q>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[230]|0))Lc();c[h>>2]=20615;c[h+4>>2]=89;Rc(1,61592,h);Lc()}c[m>>2]=c[k>>2];h=Ce(5,c[j>>2]|0,c[m>>2]|0,m,c[l>>2]|0)|0;c[n>>2]=h;if(!h){yd(c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);i=e;return}c[r>>2]=110;if((c[231]|0)==-1)c[231]=Mc(1,21083,20615,20628,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[231]|0){r=me(c[n>>2]|0)|0;c[g>>2]=20698;c[g+4>>2]=20615;c[g+8>>2]=110;c[g+12>>2]=r;Wc(1,21083,20661,g)}}else Qc(-1,0);c[s>>2]=111;if((c[232]|0)==-1)c[232]=Mc(1,0,20615,20628,c[s>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[232]|0))Lc();c[f>>2]=20615;c[f+4>>2]=111;Rc(1,61592,f);Lc()}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];if((c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0){i=e;return}Ex((c[j>>2]|0)+((c[h>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;Fx(c[f>>2]|0,0,(c[h>>2]|0)-(c[g>>2]|0)|0)|0;i=e;return}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=Be(c[h>>2]|0,5,c[j>>2]|0,c[k>>2]|0,k)|0;c[l>>2]=d;if(!d){i=e;return}c[m>>2]=140;if((c[233]|0)==-1)c[233]=Mc(1,21083,20615,20713,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[233]|0){m=me(c[l>>2]|0)|0;c[g>>2]=20745;c[g+4>>2]=20615;c[g+8>>2]=140;c[g+12>>2]=m;Wc(1,21083,20661,g)}}else Qc(-1,0);c[n>>2]=141;if((c[234]|0)==-1)c[234]=Mc(1,0,20615,20713,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[234]|0))Lc();c[f>>2]=20615;c[f+4>>2]=141;Rc(1,61592,f);Lc()}function Ad(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a=i;i=i+80|0;b=a+56|0;d=a+48|0;e=a+40|0;f=a+32|0;g=a+24|0;h=a+16|0;j=a+8|0;k=a;l=a+64|0;m=a+60|0;if(qe(20759)|0){c[h>>2]=0;n=re(37,h)|0;c[l>>2]=n;if(n|0){n=c[3962]|0;h=me(c[l>>2]|0)|0;c[g>>2]=20912;c[g+4>>2]=h;gw(n,20873,g)|0}c[f>>2]=0;g=re(44,f)|0;c[l>>2]=g;if(!g){c[d>>2]=0;re(38,d)|0;c[b>>2]=0;re(48,b)|0;o=jb(0)|0;p=Bd(2,-1)|0;q=o^p;Dd(q);i=a;return}g=c[3962]|0;f=me(c[l>>2]|0)|0;c[e>>2]=20927;c[e+4>>2]=f;gw(g,20873,e)|0;c[d>>2]=0;re(38,d)|0;c[b>>2]=0;re(48,b)|0;o=jb(0)|0;p=Bd(2,-1)|0;q=o^p;Dd(q);i=a;return}a=c[3962]|0;c[k>>2]=20759;gw(a,20765,k)|0;c[m>>2]=286;if((c[235]|0)==-1)c[235]=Mc(1,0,20831,20847,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[235]|0))Lc();c[j>>2]=20831;c[j+4>>2]=286;Rc(1,61592,j);Lc()}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;d=i;i=i+64|0;e=d+16|0;f=d+8|0;g=d;h=d+48|0;j=d+44|0;k=d+40|0;l=d+36|0;m=d+32|0;n=d+28|0;o=d+24|0;c[j>>2]=a;c[k>>2]=b;if((c[k>>2]|0)>>>0<=0){c[n>>2]=157;if((c[236]|0)==-1)c[236]=Mc(1,0,20831,20947,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[236]|0))Lc();c[g>>2]=20831;c[g+4>>2]=157;Rc(1,61592,g);Lc()}switch(c[j>>2]|0){case 1:{j=c[17656]|0;c[17656]=j+1;if(!((j>>>0)%256|0)){c[f>>2]=0;re(48,f)|0}c[m>>2]=-1-(4294967295%((c[k>>2]|0)>>>0)|0);do jf(l,4,1);while((c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0);c[h>>2]=((c[l>>2]|0)>>>0)%((c[k>>2]|0)>>>0)|0;p=c[h>>2]|0;i=d;return p|0}case 2:{c[m>>2]=-1-(4294967295%((c[k>>2]|0)>>>0)|0);do lf(l,4);while((c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0);c[h>>2]=((c[l>>2]|0)>>>0)%((c[k>>2]|0)>>>0)|0;p=c[h>>2]|0;i=d;return p|0}case 0:{q=+((c[k>>2]|0)>>>0);c[l>>2]=~~(q*+Cd())>>>0;if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[l>>2]=(c[k>>2]|0)-1;c[h>>2]=c[l>>2];p=c[h>>2]|0;i=d;return p|0}default:{c[o>>2]=189;if((c[237]|0)==-1)c[237]=Mc(1,0,20831,20947,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[237]|0))Lc();c[e>>2]=20831;c[e+4>>2]=189;Rc(1,61592,e);Lc()}}return 0}function Cd(){return +(+(fx()|0)/2147483647.0)}function Dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dx(c[d>>2]|0);i=b;return}function Ed(){nf(0,0);return}function Fd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+48|0;d=b+16|0;e=b+8|0;f=b;g=b+44|0;h=b+40|0;j=b+36|0;k=b+32|0;l=b+28|0;m=b+24|0;c[g>>2]=a;c[f>>2]=c[g>>2];if(te(k,0,20972,f)|0){c[l>>2]=154;if((c[238]|0)==-1)c[238]=Mc(1,0,20996,21009,c[l>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[238]|0))Lc();c[e>>2]=20996;c[e+4>>2]=154;Rc(1,61592,e);Lc()}if(!(_e(j,c[k>>2]|0)|0)){ue(c[k>>2]|0);c[h>>2]=Cc(4,20996,163)|0;c[c[h>>2]>>2]=c[j>>2];i=b;return c[h>>2]|0}c[m>>2]=157;if((c[239]|0)==-1)c[239]=Mc(1,0,20996,21009,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[239]|0))Lc();c[d>>2]=20996;c[d+4>>2]=157;Rc(1,61592,d);Lc();return 0}function Gd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,178);i=b;return}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,0,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,201)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,0,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=206;if((c[240]|0)==-1)c[240]=Mc(1,0,20996,21046,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[240]|0))Lc();c[e>>2]=20996;c[e+4>>2]=206;Rc(1,61592,e);Lc();return 0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+48|0;e=d+8|0;f=d;g=d+32|0;h=d+28|0;j=d+24|0;k=d+20|0;l=d+16|0;m=d+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,225)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[l>>2]=233;if((c[241]|0)==-1)c[241]=Mc(2,21083,20996,21088,c[l>>2]|0)|0;if((Pc()|0)<=0){if(c[241]|0)Wc(2,21083,21125,f)}else Qc(-1,0);Ec(c[k>>2]|0,20996,234);c[g>>2]=0;n=c[g>>2]|0;i=d;return n|0}if(!(Ze(c[c[k>>2]>>2]|0)|0)){c[g>>2]=c[k>>2];n=c[g>>2]|0;i=d;return n|0}c[m>>2]=240;if((c[242]|0)==-1)c[242]=Mc(2,21083,20996,21088,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[242]|0)Wc(2,21083,21125,e)}else Qc(-1,0);Gd(c[k>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=d;return n|0}function Jd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+64|0;d=b+8|0;e=b;f=b+48|0;g=b+44|0;h=b+40|0;j=b+32|0;k=b+24|0;l=b+20|0;m=b+16|0;c[g>>2]=a;c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,37947,39360)|0;if(c[k>>2]|0)c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,37935,39360)|0;if(c[k>>2]|0)c[k>>2]=Kd(j,c[c[g>>2]>>2]|0,39319,39360)|0;if(!(c[k>>2]|0)){g=c[j+4>>2]|0;c[d>>2]=c[j>>2];c[d+4>>2]=g;c[k>>2]=te(l,0,21248,d)|0;Ae(c[j>>2]|0);Ae(c[j+4>>2]|0);c[h>>2]=Cc(4,20996,279)|0;c[c[h>>2]>>2]=c[l>>2];c[f>>2]=c[h>>2];n=c[f>>2]|0;i=b;return n|0}c[m>>2]=269;if((c[243]|0)==-1)c[243]=Mc(2,0,20996,21159,c[m>>2]|0)|0;if((Pc()|0)<=0){if(c[243]|0){c[e>>2]=20996;c[e+4>>2]=269;Rc(34,21200,e)}}else Qc(-1,0);c[f>>2]=0;n=c[f>>2]|0;i=b;return n|0}function Kd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=we(c[k>>2]|0,c[l>>2]|0,0)|0;c[n>>2]=f;if(!f){c[h>>2]=1;s=c[h>>2]|0;i=g;return s|0}c[o>>2]=xe(c[n>>2]|0)|0;ue(c[n>>2]|0);c[n>>2]=c[o>>2];if(!(c[n>>2]|0)){c[h>>2]=2;s=c[h>>2]|0;i=g;return s|0}c[r>>2]=0;c[p>>2]=c[m>>2];while(1){t=c[n>>2]|0;if(!(a[c[p>>2]>>0]|0)){u=18;break}m=we(t,c[p>>2]|0,1)|0;c[o>>2]=m;if(!m){u=8;break}m=ye(c[o>>2]|0,1,5)|0;c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]=m;ue(c[o>>2]|0);if(!(c[(c[j>>2]|0)+(c[r>>2]<<2)>>2]|0)){u=13;break}c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((u|0)==8){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=3;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==13){c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;of(c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}ue(c[n>>2]|0);c[h>>2]=4;s=c[h>>2]|0;i=g;return s|0}else if((u|0)==18){ue(t);c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}return 0}function Ld(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,294);i=b;return}function Md(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,3,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,317)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,3,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=322;if((c[244]|0)==-1)c[244]=Mc(1,0,20996,21278,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[244]|0))Lc();c[e>>2]=20996;c[e+4>>2]=322;Rc(1,61592,e);Lc();return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=Md(c[e>>2]|0,g)|0;ld(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0);Ec(c[g>>2]|0,20996,346);i=d;return}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+48|0;e=d+8|0;f=d;g=d+44|0;h=d+40|0;j=d+36|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,366)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[n>>2]=373;if((c[245]|0)==-1)c[245]=Mc(2,0,20996,21314,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[245]|0){c[f>>2]=20996;c[f+4>>2]=373;Rc(34,21200,f)}}else Qc(-1,0);Ec(c[k>>2]|0,20996,374);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}c[m>>2]=Kd(l,c[c[k>>2]>>2]|0,37947,39374)|0;if(c[m>>2]|0)c[m>>2]=Kd(l,c[c[k>>2]>>2]|0,39319,39374)|0;if(!(c[m>>2]|0)){Ae(c[l>>2]|0);c[g>>2]=c[k>>2];p=c[g>>2]|0;i=d;return p|0}c[o>>2]=384;if((c[246]|0)==-1)c[246]=Mc(1,0,20996,21314,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[246]|0){c[e>>2]=20996;c[e+4>>2]=384;Rc(1,61592,e)}}else Qc(-1,0);ue(c[c[k>>2]>>2]|0);Ec(c[k>>2]|0,20996,386);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}function Pd(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Cc(4,20996,405)|0;a=ze(c[d>>2]|0)|0;c[c[e>>2]>>2]=a;kf(c[c[e>>2]>>2]|0,c[d>>2]|0,1);i=b;return c[e>>2]|0}function Qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=ve(c[c[f>>2]>>2]|0,3,0,0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,825)|0;b=(c[h>>2]|0)-1|0;if((b|0)==(ve(c[c[f>>2]>>2]|0,3,c[j>>2]|0,c[h>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=830;if((c[247]|0)==-1)c[247]=Mc(1,0,20996,21350,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[247]|0))Lc();c[e>>2]=20996;c[e+4>>2]=830;Rc(1,61592,e);Lc();return 0}function Rd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ae(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,564);i=b;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+8|0;c[f>>2]=a;c[g>>2]=b;Ce(5,0,0,h,c[c[f>>2]>>2]|0)|0;c[j>>2]=Cc(c[h>>2]|0,20996,589)|0;if(!(Ce(5,c[j>>2]|0,c[h>>2]|0,d+12|0,c[c[f>>2]>>2]|0)|0)){c[c[g>>2]>>2]=c[j>>2];i=d;return c[h>>2]|0}c[k>>2]=595;if((c[248]|0)==-1)c[248]=Mc(1,0,20996,21385,c[k>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[248]|0))Lc();c[e>>2]=20996;c[e+4>>2]=595;Rc(1,61592,e);Lc();return 0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=Cc(4,20996,616)|0;if(!(Be(c[j>>2]|0,5,c[g>>2]|0,c[h>>2]|0,d+12|0)|0)){c[f>>2]=c[j>>2];l=c[f>>2]|0;i=d;return l|0}c[k>>2]=624;if((c[249]|0)==-1)c[249]=Mc(2,0,20996,21423,c[k>>2]|0)|0;if((Pc()|0)<=0){if(c[249]|0){c[e>>2]=20996;c[e+4>>2]=624;Rc(34,21200,e)}}else Qc(-1,0);Ec(c[j>>2]|0,20996,625);c[f>>2]=0;l=c[f>>2]|0;i=d;return l|0}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+96|0;g=f+8|0;h=f;j=f+84|0;k=f+80|0;l=f+76|0;m=f+72|0;n=f+68|0;o=f+64|0;p=f+56|0;q=f+48|0;r=f+44|0;s=f+40|0;t=f+36|0;u=f+32|0;v=f+28|0;w=f+24|0;x=f+20|0;y=f+16|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[w>>2]=Kd(p,c[c[m>>2]>>2]|0,37947,39360)|0;if(c[w>>2]|0)c[w>>2]=Kd(p,c[c[m>>2]>>2]|0,39319,39360)|0;if(c[w>>2]|0){c[x>>2]=662;if((c[250]|0)==-1)c[250]=Mc(1,0,20996,21461,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[250]|0){c[h>>2]=20996;c[h+4>>2]=662;Rc(1,61592,h)}}else Qc(-1,0);c[c[n>>2]>>2]=0;c[j>>2]=0;z=c[j>>2]|0;i=f;return z|0}h=Be(o,5,c[k>>2]|0,64,s)|0;c[u>>2]=h;if(!h){c[q>>2]=ze(0)|0;Ee(c[q>>2]|0,c[c[l>>2]>>2]|0,c[p+4>>2]|0,c[p>>2]|0);c[r>>2]=ze(0)|0;De(c[r>>2]|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]|0);Ae(c[o>>2]|0);Ae(c[p>>2]|0);Ae(c[p+4>>2]|0);Ae(c[q>>2]|0);Ce(5,0,0,t,c[r>>2]|0)|0;c[v>>2]=Cc(c[t>>2]|0,20996,698)|0;c[u>>2]=Ce(5,c[v>>2]|0,c[t>>2]|0,s,c[r>>2]|0)|0;Ae(c[r>>2]|0);c[c[n>>2]>>2]=c[v>>2];c[j>>2]=c[t>>2];z=c[j>>2]|0;i=f;return z|0}c[y>>2]=672;if((c[251]|0)==-1)c[251]=Mc(1,0,20996,21461,c[y>>2]|0)|0;if((Pc()|0)<=0){if(c[251]|0){c[g>>2]=20996;c[g+4>>2]=672;Rc(1,61592,g)}}else Qc(-1,0);Ae(c[p>>2]|0);Ae(c[p+4>>2]|0);c[c[n>>2]>>2]=0;c[j>>2]=0;z=c[j>>2]|0;i=f;return z|0}function Vd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+64|0;f=e+8|0;g=e;h=e+52|0;j=e+48|0;k=e+44|0;l=e+40|0;m=e+36|0;n=e+32|0;o=e+28|0;p=e+24|0;q=e+20|0;r=e+16|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[p>>2]=Wd(c[k>>2]|0,c[l>>2]|0)|0;if(Xe(o,c[p>>2]|0,c[c[j>>2]>>2]|0)|0){c[q>>2]=767;if((c[254]|0)==-1)c[254]=Mc(1,0,20996,21528,c[q>>2]|0)|0;if((Pc()|0)<=0){if(c[254]|0){c[g>>2]=20996;c[g+4>>2]=767;Rc(1,61592,g)}}else Qc(-1,0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}c[n>>2]=Jd(c[j>>2]|0)|0;if(!(Ye(c[o>>2]|0,c[p>>2]|0,c[c[n>>2]>>2]|0)|0)){Ld(c[n>>2]|0);ue(c[p>>2]|0);c[m>>2]=Cc(4,20996,788)|0;c[c[m>>2]>>2]=c[o>>2];c[h>>2]=c[m>>2];s=c[h>>2]|0;i=e;return s|0}c[r>>2]=778;if((c[255]|0)==-1)c[255]=Mc(1,0,20996,21528,c[r>>2]|0)|0;if((Pc()|0)<=0){if(c[255]|0){c[f>>2]=20996;c[f+4>>2]=778;Rc(1,61592,f)}}else Qc(-1,0);Ld(c[n>>2]|0);ue(c[p>>2]|0);ue(c[o>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+48|0;e=d+16|0;f=d+8|0;g=d;h=d+44|0;j=d+40|0;k=d+36|0;l=d+32|0;m=d+28|0;n=d+24|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=0;c[l>>2]=0;if(Be(k,5,c[h>>2]|0,c[j>>2]|0,0)|0){c[m>>2]=731;if((c[252]|0)==-1)c[252]=Mc(1,0,20996,21485,c[m>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[252]|0))Lc();c[g>>2]=20996;c[g+4>>2]=731;Rc(1,61592,g);Lc()}c[f>>2]=c[k>>2];if(!(te(l,0,21498,f)|0)){Ae(c[k>>2]|0);i=d;return c[l>>2]|0}c[n>>2]=736;if((c[253]|0)==-1)c[253]=Mc(1,0,20996,21485,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[253]|0))Lc();c[e>>2]=20996;c[e+4>>2]=736;Rc(1,61592,e);Lc();return 0}function Xd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ue(c[c[d>>2]>>2]|0);Ec(c[d>>2]|0,20996,803);i=b;return}function Yd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+48|0;e=d+8|0;f=d;g=d+44|0;h=d+40|0;j=d+36|0;k=d+32|0;l=d+28|0;m=d+24|0;n=d+20|0;o=d+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=Cc(4,20996,852)|0;if(se(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0){c[n>>2]=859;if((c[256]|0)==-1)c[256]=Mc(2,0,20996,21551,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[256]|0){c[f>>2]=20996;c[f+4>>2]=859;Rc(34,21200,f)}}else Qc(-1,0);Ec(c[k>>2]|0,20996,860);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}c[l>>2]=Kd(m,c[c[k>>2]>>2]|0,37797,39372)|0;if(c[l>>2]|0)c[l>>2]=Kd(m,c[c[k>>2]>>2]|0,39319,39372)|0;if(!(c[l>>2]|0)){Ae(c[m>>2]|0);c[g>>2]=c[k>>2];p=c[g>>2]|0;i=d;return p|0}c[o>>2]=870;if((c[257]|0)==-1)c[257]=Mc(2,0,20996,21551,c[o>>2]|0)|0;if((Pc()|0)<=0){if(c[257]|0){c[e>>2]=20996;c[e+4>>2]=870;Rc(34,21200,e)}}else Qc(-1,0);ue(c[c[k>>2]>>2]|0);Ec(c[k>>2]|0,20996,872);c[g>>2]=0;p=c[g>>2]|0;i=d;return p|0}function Zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+96|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e;l=e+92|0;m=e+88|0;n=e+84|0;o=e+80|0;p=e+76|0;q=e+72|0;r=e+68|0;s=e+64|0;t=e+60|0;u=e+56|0;v=e+52|0;w=e+48|0;x=e+44|0;y=e+40|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[t>>2]=Kd(p,c[c[o>>2]>>2]|0,37947,39374)|0;if(c[t>>2]|0)c[t>>2]=Kd(p,c[c[o>>2]>>2]|0,39319,39374)|0;if(c[t>>2]|0){c[v>>2]=932;if((c[258]|0)==-1)c[258]=Mc(2,0,20996,21586,c[v>>2]|0)|0;if((Pc()|0)<=0){if(c[258]|0){c[k>>2]=20996;c[k+4>>2]=932;Rc(34,21200,k)}}else Qc(-1,0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[t>>2]=Kd(q,c[c[m>>2]>>2]|0,37797,39372)|0;if(c[t>>2]|0)c[t>>2]=Kd(q,c[c[m>>2]>>2]|0,39319,39372)|0;if(c[t>>2]|0){Ae(c[p>>2]|0);c[w>>2]=941;if((c[259]|0)==-1)c[259]=Mc(2,0,20996,21586,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[259]|0){c[j>>2]=20996;c[j+4>>2]=941;Rc(34,21200,j)}}else Qc(-1,0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[r>>2]=ze(0)|0;if(1!=(Fe(c[r>>2]|0,c[c[n>>2]>>2]|0,c[p>>2]|0)|0)){c[x>>2]=950;if((c[260]|0)==-1)c[260]=Mc(2,0,20996,21586,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[260]|0){c[h>>2]=20996;c[h+4>>2]=950;Rc(34,21200,h)}}else Qc(-1,0);Ae(c[p>>2]|0);Ae(c[r>>2]|0);Ae(c[q>>2]|0);c[l>>2]=0;z=c[l>>2]|0;i=e;return z|0}c[s>>2]=ze(0)|0;De(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0,c[p>>2]|0);Ae(c[p>>2]|0);Ae(c[r>>2]|0);Ae(c[q>>2]|0);c[u>>2]=Cc(4,20996,962)|0;q=c[u>>2]|0;c[g>>2]=c[s>>2];if(!(te(q,0,21612,g)|0)){Ae(c[s>>2]|0);c[l>>2]=c[u>>2];z=c[l>>2]|0;i=e;return z|0}c[y>>2]=967;if((c[261]|0)==-1)c[261]=Mc(1,0,20996,21586,c[y>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[261]|0))Lc();c[f>>2]=20996;c[f+4>>2]=967;Rc(1,61592,f);Lc();return 0}function _d(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;f=e;g=e+36|0;h=e+32|0;j=e+28|0;k=e+24|0;l=e+20|0;m=e+16|0;n=e+12|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=Wd(c[h>>2]|0,64)|0;c[m>>2]=Ye(c[c[j>>2]>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0)|0;ue(c[l>>2]|0);if(!(c[m>>2]|0)){c[g>>2]=1;o=c[g>>2]|0;i=e;return o|0}c[n>>2]=1002;if((c[262]|0)==-1)c[262]=Mc(2,21083,20996,21635,c[n>>2]|0)|0;if((Pc()|0)<=0){if(c[262]|0){n=me(c[m>>2]|0)|0;c[f>>2]=20996;c[f+4>>2]=1001;c[f+8>>2]=n;Wc(2,21083,21660,f)}}else Qc(-1,0);c[g>>2]=-1;o=c[g>>2]|0;i=e;return o|0}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+48|0;e=d+16|0;f=d+40|0;g=d+36|0;h=d+32|0;j=d+8|0;k=d;c[g>>2]=b;c[h>>2]=21781;b=a;l=c[b+4>>2]|0;m=j;c[m>>2]=c[b>>2];c[m+4>>2]=l;l=ie()|0;m=k;c[m>>2]=l;c[m+4>>2]=C;m=k;k=a;if((c[m>>2]|0)==(c[k>>2]|0)?(c[m+4>>2]|0)==(c[k+4>>2]|0):0){c[f>>2]=21726;n=c[f>>2]|0;i=d;return n|0}k=a;if(0==(c[k>>2]|0)?0==(c[k+4>>2]|0):0){c[f>>2]=21785;n=c[f>>2]|0;i=d;return n|0}k=j;a=c[k+4>>2]|0;if(!(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>5e3))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0,!(0==(a|0)&0==(C|0))):0))o=7;do if((o|0)==7){a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;c[h>>2]=21734;a=j;k=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(k>>>0>0|(k|0)==0&(c[a>>2]|0)>>>0>5e3))?(a=j,k=Ox(c[a>>2]|0,c[a+4>>2]|0,1e3,0)|0,!(0==(k|0)&0==(C|0))):0)break;k=j;a=Nx(c[k>>2]|0,c[k+4>>2]|0,1e3,0)|0;k=j;c[k>>2]=a;c[k+4>>2]=C;c[h>>2]=39372;k=j;a=c[k+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>300))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,60,0)|0,!(0==(a|0)&0==(C|0))):0)break;a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,60,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;c[h>>2]=21737;a=j;k=c[a+4>>2]|0;if(!(1==(c[g>>2]|0)&(k>>>0>0|(k|0)==0&(c[a>>2]|0)>>>0>300))?(a=j,k=Ox(c[a>>2]|0,c[a+4>>2]|0,60,0)|0,!(0==(k|0)&0==(C|0))):0)break;k=j;a=Nx(c[k>>2]|0,c[k+4>>2]|0,60,0)|0;k=j;c[k>>2]=a;c[k+4>>2]=C;c[h>>2]=35583;k=j;a=c[k+4>>2]|0;if(!(1==(c[g>>2]|0)&(a>>>0>0|(a|0)==0&(c[k>>2]|0)>>>0>120))?(k=j,a=Ox(c[k>>2]|0,c[k+4>>2]|0,24,0)|0,!(0==(a|0)&0==(C|0))):0)break;a=j;k=Nx(c[a>>2]|0,c[a+4>>2]|0,24,0)|0;a=j;c[a>>2]=k;c[a+4>>2]=C;a=j;if(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0){c[h>>2]=21739;break}else{c[h>>2]=21743;break}}while(0);g=j;j=c[g+4>>2]|0;o=c[h>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=j;c[e+8>>2]=o;Gc(76048,128,21718,e)|0;c[f>>2]=76048;n=c[f>>2]|0;i=d;return n|0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b;h=a;j=c[h>>2]|0;k=c[h+4>>2]|0;h=je()|0;l=g;c[l>>2]=h;c[l+4>>2]=C;l=g;if((j|0)==(c[l>>2]|0)?(k|0)==(c[l+4>>2]|0):0){c[d>>2]=21748;m=c[d>>2]|0;i=b;return m|0}else{l=a;a=Nx(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=Nx(a|0,C|0,1e3,0)|0;c[e>>2]=l;c[f>>2]=pb(e|0)|0;Ma(76176,255,21760,c[f>>2]|0)|0;c[d>>2]=76176;m=c[d>>2]|0;i=b;return m|0}return 0}function be(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=i;i=i+96|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h;n=h+84|0;o=h+80|0;p=h+76|0;q=h+72|0;r=h+68|0;s=h+64|0;t=h+60|0;u=h+56|0;v=h+52|0;w=h+48|0;x=h+44|0;y=h+40|0;z=h+36|0;A=h+32|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[w>>2]=c[o>>2];if((c[r>>2]|0)>>>0<((((c[p>>2]<<3)+4|0)>>>0)/5|0)>>>0){c[x>>2]=873;if((c[263]|0)==-1)c[263]=Mc(1,0,21708,21790,c[x>>2]|0)|0;if((Pc()|0)<=0){if(c[263]|0){c[m>>2]=21708;c[m+4>>2]=873;Rc(1,61592,m)}}else Qc(-1,0);c[n>>2]=0;B=c[n>>2]|0;i=h;return B|0}c[v>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;while(1){if(!((c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0?1:(c[v>>2]|0)>>>0>0)){C=32;break}if((c[v>>2]|0)>>>0<5?(c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0:0){m=c[u>>2]<<8;x=c[t>>2]|0;c[t>>2]=x+1;c[u>>2]=m|(d[(c[w>>2]|0)+x>>0]|0);c[v>>2]=(c[v>>2]|0)+8}if((c[v>>2]|0)>>>0<5){c[u>>2]=c[u>>2]<<5-(c[v>>2]|0);if((c[v>>2]|0)!=((c[p>>2]<<3>>>0)%5|0|0)){C=15;break}c[v>>2]=5}if((c[s>>2]|0)>>>0>=(c[r>>2]|0)>>>0){C=24;break}x=a[(c[266]|0)+((c[u>>2]|0)>>>((c[v>>2]|0)-5|0)&31)>>0]|0;m=c[s>>2]|0;c[s>>2]=m+1;a[(c[q>>2]|0)+m>>0]=x;c[v>>2]=(c[v>>2]|0)-5}if((C|0)==15){c[y>>2]=890;if((c[264]|0)==-1)c[264]=Mc(1,0,21708,21790,c[y>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[264]|0))Lc();c[l>>2]=21708;c[l+4>>2]=890;Rc(1,61592,l);Lc()}else if((C|0)==24){c[z>>2]=895;if((c[265]|0)==-1)c[265]=Mc(1,0,21708,21790,c[z>>2]|0)|0;if((Pc()|0)<=0){if(c[265]|0){c[k>>2]=21708;c[k+4>>2]=895;Rc(1,61592,k)}}else Qc(-1,0);c[n>>2]=0;B=c[n>>2]|0;i=h;return B|0}else if((C|0)==32){if(!(c[v>>2]|0)){if((c[s>>2]|0)>>>0<(c[r>>2]|0)>>>0)a[(c[q>>2]|0)+(c[s>>2]|0)>>0]=0;c[n>>2]=(c[q>>2]|0)+(c[s>>2]|0);B=c[n>>2]|0;i=h;return B|0}c[A>>2]=901;if((c[267]|0)==-1)c[267]=Mc(1,0,21708,21790,c[A>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[267]|0))Lc();c[j>>2]=21708;c[j+4>>2]=901;Rc(1,61592,j);Lc()}return 0}function ce(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[h>>2]<<3;if((((c[k>>2]|0)>>>0)%5|0)>>>0>0)c[k>>2]=(c[k>>2]|0)+(5-(((c[k>>2]|0)>>>0)%5|0));c[k>>2]=((c[k>>2]|0)>>>0)/5|0;c[j>>2]=Cc((c[k>>2]|0)+1|0,21708,929)|0;c[l>>2]=be(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!(c[l>>2]|0)){Ec(c[j>>2]|0,21708,933);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}else{a[c[l>>2]>>0]=0;c[f>>2]=c[j>>2];m=c[f>>2]|0;i=e;return m|0}return 0}function de(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=i;i=i+64|0;h=g;j=g+60|0;k=g+56|0;l=g+52|0;m=g+48|0;n=g+44|0;o=g+40|0;p=g+36|0;q=g+32|0;r=g+28|0;s=g+24|0;t=g+20|0;u=g+16|0;v=g+12|0;w=g+8|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[v>>2]=c[n>>2]<<3;if(!(c[l>>2]|0))if(!(c[n>>2]|0)){c[j>>2]=1;x=c[j>>2]|0;i=g;return x|0}else{c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}c[u>>2]=c[m>>2];c[p>>2]=c[n>>2];c[o>>2]=c[l>>2];if((((c[v>>2]|0)>>>0)%5|0)>>>0>0){c[r>>2]=((c[v>>2]|0)>>>0)%5|0;c[t>>2]=5-(c[r>>2]|0);n=(c[o>>2]|0)+-1|0;c[o>>2]=n;m=ee(a[(c[k>>2]|0)+n>>0]|0)|0;c[s>>2]=m;c[q>>2]=m>>c[t>>2]}else{c[r>>2]=5;c[t>>2]=0;m=(c[o>>2]|0)+-1|0;c[o>>2]=m;n=ee(a[(c[k>>2]|0)+m>>0]|0)|0;c[s>>2]=n;c[q>>2]=n}if(((((c[v>>2]|0)+(c[t>>2]|0)|0)>>>0)/5|0|0)!=(c[l>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}if(-1==(c[s>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}while(1){y=c[o>>2]|0;if((c[p>>2]|0)>>>0<=0){z=25;break}if(!y){z=14;break}l=(c[o>>2]|0)+-1|0;c[o>>2]=l;t=ee(a[(c[k>>2]|0)+l>>0]|0)|0;c[s>>2]=t;c[q>>2]=t<<c[r>>2]|c[q>>2];if(-1==(c[s>>2]|0)){z=22;break}c[r>>2]=(c[r>>2]|0)+5;if((c[r>>2]|0)>>>0<8)continue;t=c[q>>2]&255;l=(c[p>>2]|0)+-1|0;c[p>>2]=l;a[(c[u>>2]|0)+l>>0]=t;c[q>>2]=(c[q>>2]|0)>>>8;c[r>>2]=(c[r>>2]|0)-8}if((z|0)==14){c[w>>2]=993;if((c[268]|0)==-1)c[268]=Mc(1,0,21708,21853,c[w>>2]|0)|0;if((Pc()|0)<=0){if(c[268]|0){c[h>>2]=21708;c[h+4>>2]=993;Rc(1,61592,h)}}else Qc(-1,0);c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else if((z|0)==22){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else if((z|0)==25)if(0!=(y|0)|0!=(c[r>>2]|0)){c[j>>2]=-1;x=c[j>>2]|0;i=g;return x|0}else{c[j>>2]=1;x=c[j>>2]|0;i=g;return x|0}return 0}function ee(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;g=e+8|0;h=e;a[g>>0]=b;switch(d[g>>0]|0|0){case 111:case 79:{a[g>>0]=48;break}case 76:case 108:case 73:case 105:{a[g>>0]=49;break}case 85:case 117:{a[g>>0]=86;break}default:{}}if((d[g>>0]|0|0)>=48?(d[g>>0]|0|0)<=57:0){c[f>>2]=(d[g>>0]|0)-48;j=c[f>>2]|0;i=e;return j|0}if((d[g>>0]|0|0)>=97?(d[g>>0]|0|0)<=122:0)a[g>>0]=Jv(d[g>>0]|0)|0;c[h>>2]=0;if((d[g>>0]|0|0)>=65?(d[g>>0]|0|0)<=90:0){if(73<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(76<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(79<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;if(85<(d[g>>0]|0|0))c[h>>2]=(c[h>>2]|0)+1;c[f>>2]=(d[g>>0]|0)-65+10-(c[h>>2]|0);j=c[f>>2]|0;i=e;return j|0}c[f>>2]=-1;j=c[f>>2]|0;i=e;return j|0}function fe(){var a=0;a=70536;C=c[a+4>>2]|0;return c[a>>2]|0}function ge(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+32|0;b=a+8|0;d=a;e=a+16|0;lb(e|0,0)|0;f=c[e>>2]|0;g=Mx(f|0,((f|0)<0)<<31>>31|0,1e3,0)|0;f=Mx(g|0,C|0,1e3,0)|0;g=c[e+4>>2]|0;e=Ax(f|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;g=70536;f=Ax(e|0,C|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=d;c[g>>2]=f;c[g+4>>2]=C;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function he(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[17636];c[b+4>>2]=c[17637];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function ie(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[16];c[b+4>>2]=c[17];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function je(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=c[18];c[b+4>>2]=c[19];d=b;C=c[d+4>>2]|0;i=a;return c[d>>2]|0}function ke(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;i=i+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=ge()|0;j=g;c[j>>2]=h;c[j+4>>2]=C;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];g=a;j=c[g+4>>2]|0;h=e;k=c[h+4>>2]|0;if(j>>>0>k>>>0|((j|0)==(k|0)?(c[g>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){h=he()|0;g=d;c[g>>2]=h;c[g+4>>2]=C;l=d;m=l;n=c[m>>2]|0;o=l+4|0;p=o;q=c[p>>2]|0;C=q;i=b;return n|0}else{g=e;e=a;a=zx(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;e=f;c[e>>2]=a;c[e+4>>2]=C;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];l=d;m=l;n=c[m>>2]|0;o=l+4|0;p=o;q=c[p>>2]|0;C=q;i=b;return n|0}return 0}function le(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+8|0;g=e;h=b;b=Hc(c[h>>2]|0,c[h+4>>2]|0)|0;h=C;j=g;k=j;a[k>>0]=b;a[k+1>>0]=b>>8;a[k+2>>0]=b>>16;a[k+3>>0]=b>>24;b=j+4|0;a[b>>0]=h;a[b+1>>0]=h>>8;a[b+2>>0]=h>>16;a[b+3>>0]=h>>24;a[f>>0]=a[g>>0]|0;a[f+1>>0]=a[g+1>>0]|0;a[f+2>>0]=a[g+2>>0]|0;a[f+3>>0]=a[g+3>>0]|0;a[f+4>>0]=a[g+4>>0]|0;a[f+5>>0]=a[g+5>>0]|0;a[f+6>>0]=a[g+6>>0]|0;a[f+7>>0]=a[g+7>>0]|0;g=f;f=g;h=g+4|0;C=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;i=e;return d[f>>0]|d[f+1>>0]<<8|d[f+2>>0]<<16|d[f+3>>0]<<24|0}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ne(c[d>>2]|0)|0;i=b;return a|0}function ne(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=oe(1,c[d>>2]|0)|0;i=b;return a|0}function qe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Nf(c[d>>2]|0)|0;i=b;return a|0}function re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d;c[e>>2]=a;c[g>>2]=b;c[f>>2]=pe(Qf(c[e>>2]|0,g)|0)|0;i=d;return c[f>>2]|0}function se(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=pe(wg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)|0;i=f;return e|0}function te(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=Jg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,l)|0;l=pe(c[k>>2]|0)|0;i=f;return l|0}function ue(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vg(c[d>>2]|0);i=b;return}function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Lg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;i=f;return e|0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=xg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function xe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hg(c[d>>2]|0)|0;i=b;return a|0}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Fg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function ze(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vq(c[d>>2]|0)|0;i=b;return a|0}function Ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;xq(c[d>>2]|0);i=b;return}function Be(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=pe(Dp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;i=g;return f|0}function Ce(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=pe(Hp(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;i=g;return f|0}function De(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;vp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Ee(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Fe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=pp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Ge(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bo(c[d>>2]|0)|0;i=b;return a|0}function He(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;eo(c[d>>2]|0);i=b;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=pe(Ai(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)|0;i=e;return d|0}function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=oo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=po(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Le(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;j=Zn(e,g,h,Xh(c[k>>2]|0,1)|0)|0;i=f;return j|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;Go(e,g,h,Xh(c[k>>2]|0,1)|0);i=f;return}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=kq(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=zq(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Pe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=(Lf()|0)!=0;d=c[h>>2]|0;if(e){c[g>>2]=pe(ai(d,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;m=c[g>>2]|0;i=f;return m|0}else{c[d>>2]=0;c[g>>2]=pe(176)|0;m=c[g>>2]|0;i=f;return m|0}return 0}function Qe(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fi(c[d>>2]|0);i=b;return}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=Se(ni(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Se(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Te(32,c[d>>2]|0)|0;i=b;return a|0}function Te(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=oe(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=Se(pi(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ve(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Lf()|0){c[h>>2]=pe(gi(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;o=c[h>>2]|0;i=g;return o|0}if(c[k>>2]|0)Fx(c[k>>2]|0,66,c[l>>2]|0)|0;c[h>>2]=pe(176)|0;o=c[h>>2]|0;i=g;return o|0}function We(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(Lf()|0){c[h>>2]=pe(ki(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;o=c[h>>2]|0;i=g;return o|0}else{c[h>>2]=pe(176)|0;o=c[h>>2]|0;i=g;return o|0}return 0}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=(Lf()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=pe(Ak(b,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[b>>2]=0;c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=pe(Bk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function Ze(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Lf()|0){c[d>>2]=pe(Ck(c[e>>2]|0)|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=pe(176)|0;f=c[d>>2]|0;i=b;return f|0}return 0}function _e(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;b=(Lf()|0)!=0;a=c[f>>2]|0;if(b){c[e>>2]=pe(Dk(a,c[g>>2]|0)|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[a>>2]=0;c[e>>2]=pe(176)|0;h=c[e>>2]|0;i=d;return h|0}return 0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=(Lf()|0)!=0;b=c[g>>2]|0;if(d){c[f>>2]=pe(wj(b,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[b>>2]=0;c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function af(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ej(c[d>>2]|0);i=b;return}function bf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Dj(c[d>>2]|0);i=b;return}function cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(Lf()|0)){i=e;return}Fj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Rj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(Lf()|0))Jh(21883,1175,21896,0,21916);Nj(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function ff(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Lf()|0){c[d>>2]=Tj(c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{Jh(21883,1198,21948,0,21965);c[d>>2]=0;f=c[d>>2]|0;i=b;return f|0}return 0}function gf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Uj(c[d>>2]|0)|0;i=b;return a|0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Lf()|0){c[f>>2]=pe(Lj(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=pe(176)|0;k=c[f>>2]|0;i=e;return k|0}return 0}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(Lf()|0)){Jh(21883,1287,21995,1,21916);Fh()}Pn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function kf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;yq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function lf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(Lf()|0)){Jh(21883,1340,22010,1,21916);Fh()}Tn(c[e>>2]|0,c[f>>2]|0);i=d;return}function mf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Yh(c[d>>2]|0);i=b;return}function nf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;kg(c[e>>2]|0,c[f>>2]|0);i=d;return}function of(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$f(c[d>>2]|0);i=b;return}function pf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(c[17657]|0){c[d>>2]=zb[c[17657]&15](c[e>>2]|0)|0;f=c[d>>2]|0;i=b;return f|0}else{c[d>>2]=c[e>>2];f=c[d>>2]|0;i=b;return f|0}return 0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0))c[f>>2]=fu(c[e>>2]|0)|0;if(c[17659]|0?(Ah()|0)==0:0)Ab[c[17659]&7](c[17658]|0,c[e>>2]|0,c[f>>2]|0);Jh(22028,86,22035,1,c[f>>2]|0);rf(22053);rf(c[f>>2]|0);rf(22484);xh();gb()}function rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;a=c[d>>2]|0;c[b>>2]=Kw(2,a,Kv(c[d>>2]|0)|0)|0;i=b;return}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[17662]=c[d>>2];i=b;return}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return (c[17662]|0)>=(c[d>>2]|0)|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=e+12|0;h=e+8|0;j=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(c[17660]|0)Fb[c[17660]&1](c[17661]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);else{switch(c[g>>2]|0){case 30:case 20:case 10:case 0:break;case 40:{Aw(22068,c[3962]|0)|0;break}case 50:{Aw(22076,c[3962]|0)|0;break}case 100:{Aw(22090,c[3962]|0)|0;break}default:{d=c[3962]|0;c[f>>2]=c[g>>2];gw(d,22096,f)|0}}wv(c[3962]|0,c[h>>2]|0,c[j>>2]|0)|0}if((c[g>>2]|0)==40|(c[g>>2]|0)==50){Jh(22028,140,22121,1,22132);xh();gb()}else{i=e;return}}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;uf(c[f>>2]|0,c[g>>2]|0,h);i=e;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;d=c[h>>2]|0;h=c[j>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=d;c[f+8>>2]=h;vf(50,22162,f);gb()}function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;j=c[k>>2]|0;k=c[l>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=j;c[g+12>>2]=k;vf(50,22192,g);gb()}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(10,c[e>>2]|0,f);i=d;return}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+32|0;f=e+16|0;g=e;c[e+20>>2]=a;c[f>>2]=b;c[g>>2]=d;uf(10,c[f>>2]|0,g);i=e;return 0}function Af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(30,c[e>>2]|0,f);i=d;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(40,c[e>>2]|0,f);gb()}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(50,c[e>>2]|0,f);gb()}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;c[f>>2]=b;uf(100,c[e>>2]|0,f);i=d;return}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=d+16|0;f=d;c[e>>2]=a;if(!(c[e>>2]|0)){i=d;return}c[f>>2]=b;uf(0,c[e>>2]|0,f);i=d;return}function Ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Gf(c[f>>2]|0,22226,c[g>>2]|0,c[h>>2]|0);i=e;return}function Gf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;i=i+96|0;j=h+56|0;k=h+40|0;l=h+32|0;m=h+24|0;n=h+16|0;o=h+8|0;p=h;q=h+84|0;r=h+80|0;s=h+76|0;t=h+72|0;u=h+68|0;v=h+64|0;w=h+60|0;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=0;c[v>>2]=0;if((c[q>>2]|0?a[c[q>>2]>>0]|0:0)?(c[u>>2]=1,g=c[r>>2]|0,c[p>>2]=c[q>>2],c[p+4>>2]=g,Df(22228,p),(c[t>>2]|0?(a[(c[r>>2]|0)+1>>0]|0)==91:0)&(c[s>>2]|0)!=0):0){Ef(22484,o);c[r>>2]=22226;c[n>>2]=Kv(c[q>>2]|0)|0;c[n+4>>2]=76527;Df(22234,n)}a:do if(c[t>>2]|0){c[w>>2]=c[s>>2];while(1){n=c[t>>2]|0;c[t>>2]=n+-1;if(!n)break a;c[m>>2]=d[c[w>>2]>>0];Ef(22240,m);if(c[u>>2]|0?(n=(c[v>>2]|0)+1|0,c[v>>2]=n,(n|0)==32&(c[t>>2]|0)!=0):0){c[v>>2]=0;Ef(22245,l);n=Kv(c[q>>2]|0)|0;o=Kv(c[r>>2]|0)|0;c[k>>2]=n;c[k+4>>2]=76527;c[k+8>>2]=o;c[k+12>>2]=76527;Df(22249,k)}c[w>>2]=(c[w>>2]|0)+1}}while(0);if(!(c[q>>2]|0)){i=h;return}Ef(22484,j);i=h;return}function Hf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+64|0;e=d;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d+32|0;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){Gf(c[f>>2]|0?c[f>>2]|0:22226,22257,0,0);i=d;return}if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[m>>2]=kq(c[g>>2]|0,l)|0;c[e>>2]=c[l>>2];tv(n,30,22265,e)|0;Gf(c[f>>2]|0?c[f>>2]|0:22226,n,c[m>>2]|0,(((c[l>>2]|0)+7|0)>>>0)/8|0);i=d;return}c[h>>2]=zp(c[g>>2]|0,0,j,k)|0;if(!(c[h>>2]|0)){Gf(c[f>>2]|0?c[f>>2]|0:22226,22275,0,0);i=d;return}g=c[f>>2]|0;f=c[k>>2]|0?22290:22292;if(c[j>>2]|0)Gf(g,f,c[h>>2]|0,c[j>>2]|0);else Gf(g,f,76527,1);$f(c[h>>2]|0);i=d;return}function If(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+48|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+32|0;m=e;n=e+8|0;c[f>>2]=b;c[g>>2]=(((c[f>>2]|0)!=0^1)&1)+(c[f>>2]|0)+63&-64;f=c[g>>2]|0;c[h>>2]=Xa()|0;g=i;i=i+((1*f|0)+15&-16)|0;c[j>>2]=g;c[k>>2]=f;a[l>>0]=0;f=m;c[f>>2]=d[l>>0];c[f+4>>2]=0;while(1){if(!(c[j>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){f=m;g=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=m;c[f>>2]=g;c[f+4>>2]=C;do{c[n>>2]=c[j>>2];f=m;g=c[f+4>>2]|0;b=c[n>>2]|0;c[b>>2]=c[f>>2];c[b+4>>2]=g;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}xa(c[h>>2]|0);i=e;return}function Jf(){return}function Kf(){ju(33);qf(gu(c[(Yu()|0)>>2]|0)|0,22294)}function Lf(){if(!(c[17663]|0))Mf();return Lh()|0}function Mf(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=0;if(c[17663]|0){i=a;return}c[17663]=1;Cn(0);zh(c[17664]|0);Xg();c[b>>2]=ri()|0;if((((((c[b>>2]|0)==0?(c[b>>2]=$j()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Ek()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=ak()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=kh()|0,(c[b>>2]|0)==0):0)?(c[b>>2]=Zp()|0,(c[b>>2]|0)==0):0){i=a;return}wf(22309,123,22318)}function Nf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+48|0;e=d+36|0;f=d+32|0;g=d+28|0;h=d+24|0;j=d+20|0;k=d+16|0;l=d+12|0;m=d+8|0;n=d+4|0;o=d;c[f>>2]=b;c[g>>2]=22330;if((c[f>>2]|0?(a[c[f>>2]>>0]|0)==1:0)?(a[(c[f>>2]|0)+1>>0]|0)==1:0){c[e>>2]=Bq()|0;p=c[e>>2]|0;i=d;return p|0}Mf();b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=b;p=c[e>>2]|0;i=d;return p|0}c[o>>2]=Of(b,h,j,k)|0;if(!(c[o>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}if(!(Of(c[f>>2]|0,l,m,n)|0)){c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}do if((c[h>>2]|0)<=(c[l>>2]|0)){if((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)>(c[m>>2]|0):0)break;if(((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)==(c[m>>2]|0):0)?(c[k>>2]|0)>(c[n>>2]|0):0)break;if(((c[h>>2]|0)==(c[l>>2]|0)?(c[j>>2]|0)==(c[m>>2]|0):0)?(c[k>>2]|0)==(c[n>>2]|0):0)break;c[e>>2]=0;p=c[e>>2]|0;i=d;return p|0}while(0);c[e>>2]=c[g>>2];p=c[e>>2]|0;i=d;return p|0}function Of(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[j>>2]=Pf(c[j>>2]|0,c[k>>2]|0)|0;if(c[j>>2]|0?(a[c[j>>2]>>0]|0)==46:0){c[j>>2]=(c[j>>2]|0)+1;c[j>>2]=Pf(c[j>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0?(a[c[j>>2]>>0]|0)==46:0){c[j>>2]=(c[j>>2]|0)+1;c[j>>2]=Pf(c[j>>2]|0,c[m>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=c[j>>2];n=c[h>>2]|0;i=g;return n|0}else{c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}}c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}c[h>>2]=0;n=c[h>>2]|0;i=g;return n|0}function Pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;if((a[c[g>>2]>>0]|0)==48?kx(a[(c[g>>2]|0)+1>>0]|0)|0:0){c[f>>2]=0;k=c[f>>2]|0;i=e;return k|0}while(1){d=(kx(a[c[g>>2]>>0]|0)|0)!=0;l=c[j>>2]|0;if(!d)break;c[j>>2]=l*10;c[j>>2]=(c[j>>2]|0)+((a[c[g>>2]>>0]|0)-48);c[g>>2]=(c[g>>2]|0)+1}c[c[h>>2]>>2]=l;c[f>>2]=(c[j>>2]|0)<0?0:c[g>>2]|0;k=c[f>>2]|0;i=e;return k|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=i;i=i+80|0;e=d+72|0;f=d+68|0;g=d+64|0;h=d+60|0;j=d+56|0;k=d+52|0;l=d+48|0;m=d+44|0;n=d+40|0;o=d+36|0;p=d+32|0;q=d+28|0;r=d+24|0;s=d+20|0;t=d+16|0;u=d+12|0;v=d+8|0;w=d+4|0;x=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;a:do switch(c[e>>2]|0){case 31:{Zg();break}case 44:{Cn(0);In();break}case 51:{if(Ln()|0)c[g>>2]=1;break}case 13:{Gn();break}case 62:case 23:break;case 14:{yh();break}case 30:{Mf();gh(0);break}case 37:{Mf();c[17665]=1;break}case 24:{Mf();b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;gh(y);if((fh()|0)&4|0)c[g>>2]=1;break}case 25:{Mf();xh();break}case 27:{Cn(0);dh(fh()|0|1);break}case 28:{Cn(0);dh(fh()|0|2);break}case 29:{Cn(0);dh((fh()|0)&-3);break}case 22:{Mf();Hn();break}case 45:{Cn(0);y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;Qn(b);break}case 46:{Cn(0);if(Lf()|0)Rn();break}case 19:{Cn(0);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;sf(y);break}case 20:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[17666]=c[17666]|b;break}case 21:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[17666]=c[17666]&~y;break}case 36:{Mf();break}case 40:{if(c[17663]|0)c[g>>2]=1;break}case 39:{if(c[17667]|0)c[g>>2]=1;break}case 38:{if(!(c[17667]|0)){Mf();Dn(0);c[17667]=1;Lf()|0}break}case 47:{Cn(0);Mf();break}case 48:{Cn(0);Dn(1);if(Lf()|0)Sn();break}case 52:{c[g>>2]=Rf(60)|0;break}case 49:{Cn(0);y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;Jn(b);break}case 50:{Cn(0);Dn(1);b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;Kn(((y|0)!=0^1^1)&1)|0;break}case 70:{En();break}case 53:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[h>>2]=b;Cn(0);Tf(c[h>>2]|0?28:27,c[h>>2]|0);break}case 54:{Cn(0);if(Uh()|0)c[g>>2]=1;break}case 55:{if(Ah()|0?(b=(Kh()|0)!=0,!(b|(c[17665]|0)!=0)):0)c[g>>2]=1;break}case 56:{Cn(0);if(!(c[17663]|0)){c[17664]=1;break a}if(Vh()|0)Mh(1)|0;if(Lh()|0)c[g>>2]=1;break}case 57:{Mf();c[g>>2]=Mh(1)|0;break}case 58:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[j>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[k>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[l>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[m>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[n>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[o>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[p>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[q>>2]=b;if(Lf()|0){c[g>>2]=Vn(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;break a}else{c[g>>2]=176;break a}break}case 59:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[r>>2]=y;y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[s>>2]=b;b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[t>>2]=y;if(Lf()|0){c[g>>2]=Wn(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break a}else{c[g>>2]=176;break a}break}case 60:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[u>>2]=b;Xn(c[u>>2]|0);break}case 61:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[g>>2]=Uf(y)|0;break}case 63:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[v>>2]=b;c[g>>2]=Ug(c[v>>2]|0)|0;break}case 64:{if(c[17663]|0){c[g>>2]=1;break a}else{Cn(0);Hh();break a}break}case 65:{b=c[f>>2]|0;a=(c[b>>2]|0)+(4-1)&~(4-1);y=c[a>>2]|0;c[b>>2]=a+4;c[w>>2]=y;if((c[w>>2]|0)>0)Cn(c[w>>2]|0);break}case 66:{y=c[f>>2]|0;a=(c[y>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[y>>2]=a+4;c[x>>2]=b;if(c[x>>2]|0){b=Fn(((c[17663]|0)!=0^1)&1)|0;c[c[x>>2]>>2]=b}break}case 67:{Cn(0);dh(fh()|0|8);break}case 68:{Cn(0);dh(fh()|0|16);break}case 72:case 71:{c[g>>2]=69;break}default:{Cn(0);c[g>>2]=61}}while(0);i=d;return c[g>>2]|0}function Rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Sf(1,c[d>>2]|0)|0;i=b;return a|0}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=i;i=i+128|0;e=d+88|0;f=d+80|0;g=d+72|0;h=d+64|0;j=d+48|0;k=d+24|0;l=d+16|0;m=d+8|0;n=d;o=d+116|0;p=d+112|0;q=d+108|0;r=d+104|0;s=d+100|0;t=d+96|0;c[o>>2]=a;c[p>>2]=b;b=c[o>>2]|0;a=c[p>>2]|0;c[n>>2]=22330;vb[b&63](a,22344,n)|0;n=c[o>>2]|0;a=c[p>>2]|0;c[m>>2]=22370;vb[n&63](a,22357,m)|0;m=c[o>>2]|0;a=c[p>>2]|0;c[l>>2]=22395;vb[m&63](a,22382,l)|0;l=c[o>>2]|0;a=c[p>>2]|0;c[k>>2]=22416;vb[l&63](a,22403,k)|0;vb[c[o>>2]&63](c[p>>2]|0,22430,d+32|0)|0;vb[c[o>>2]&63](c[p>>2]|0,22446,d+40|0)|0;k=c[o>>2]|0;a=c[p>>2]|0;c[j>>2]=Yp()|0;vb[k&63](a,22458,j)|0;c[q>>2]=Vg()|0;vb[c[o>>2]&63](c[p>>2]|0,22471,d+56|0)|0;c[s>>2]=0;while(1){j=Wg(c[s>>2]|0,r)|0;c[t>>2]=j;if(!j)break;if(c[q>>2]&c[r>>2]|0){j=c[o>>2]|0;a=c[p>>2]|0;c[h>>2]=c[t>>2];vb[j&63](a,22480,h)|0}c[s>>2]=(c[s>>2]|0)+1}vb[c[o>>2]&63](c[p>>2]|0,22484,g)|0;g=c[o>>2]|0;h=c[p>>2]|0;r=(Ah()|0)!=0;q=(Gh()|0)!=0;c[f>>2]=r?121:110;c[f+4>>2]=q?121:110;vb[g&63](h,22486,f)|0;c[s>>2]=Fn(0)|0;switch(c[s>>2]|0){case 1:{c[t>>2]=22504;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}case 2:{c[t>>2]=22513;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}case 3:{c[t>>2]=22518;u=c[o>>2]|0;v=c[p>>2]|0;w=c[t>>2]|0;x=c[s>>2]|0;c[e>>2]=w;y=e+4|0;c[y>>2]=x;vb[u&63](v,22538,e)|0;i=d;return}default:wf(22309,321,22525)}}function Uf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;switch(c[d>>2]|0){case 30111:{c[e>>2]=ku(1076)|0;break}case 30112:{c[e>>2]=lu(1076)|0;break}case 30113:{c[e>>2]=mu(1076)|0;break}case 30114:{c[e>>2]=nu(1076)|0;break}default:c[e>>2]=61}i=b;return c[e>>2]|0}function Vf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;Wf(c[d>>2]|0,0,e)|0;i=b;return c[e>>2]|0}function Wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;do if(c[g>>2]&1|0?!(Xf()|0):0)if(c[17669]|0){c[k>>2]=zb[c[17669]&15](c[f>>2]|0)|0;break}else{c[k>>2]=$g(c[f>>2]|0)|0;break}else l=6;while(0);do if((l|0)==6)if(c[17668]|0){c[k>>2]=zb[c[17668]&15](c[f>>2]|0)|0;break}else{c[k>>2]=_g(c[f>>2]|0)|0;break}while(0);if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];m=c[j>>2]|0;i=e;return m|0}if(!(c[(Yu()|0)>>2]|0))ju(12);c[j>>2]=gu(c[(Yu()|0)>>2]|0)|0;m=c[j>>2]|0;i=e;return m|0}function Xf(){var a=0,b=0;a=i;i=i+16|0;b=a;do if(c[17665]|0)if(Gh()|0){c[17665]=0;c[b>>2]=0;break}else{c[b>>2]=c[17665];break}else c[b>>2]=0;while(0);i=a;return c[b>>2]|0}function Yf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=0;Wf(c[d>>2]|0,1,e)|0;i=b;return c[e>>2]|0}function Zf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(!(Xf()|0))if(c[17670]|0){c[d>>2]=zb[c[17670]&15](c[e>>2]|0)|0;break}else{c[d>>2]=wh(c[e>>2]|0)|0;break}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=Vf(b)|0;j=c[e>>2]|0;i=d;return j|0}if(!b){$f(c[f>>2]|0);c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[17671]|0)c[h>>2]=Eb[c[17671]&7](c[f>>2]|0,c[g>>2]|0)|0;else c[h>>2]=ah(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0?(c[(Yu()|0)>>2]|0)==0:0)ju(12);c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}function $f(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}c[e>>2]=c[(Yu()|0)>>2];if(c[17672]|0)xb[c[17672]&15](c[d>>2]|0);else ch(c[d>>2]|0);if(!(c[e>>2]|0)){i=b;return}ju(c[e>>2]|0);i=b;return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=_(c[f>>2]|0,c[g>>2]|0)|0;if(c[g>>2]|0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){ju(12);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}c[j>>2]=Vf(c[h>>2]|0)|0;if(c[j>>2]|0)Fx(c[j>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=_(c[f>>2]|0,c[g>>2]|0)|0;if(c[g>>2]|0?(((c[h>>2]|0)>>>0)/((c[g>>2]|0)>>>0)|0|0)!=(c[f>>2]|0):0){ju(12);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}c[j>>2]=Yf(c[h>>2]|0)|0;if(c[j>>2]|0)Fx(c[j>>2]|0,0,c[h>>2]|0)|0;c[e>>2]=c[j>>2];k=c[e>>2]|0;i=d;return k|0}function cg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[f>>2]=Kv(c[d>>2]|0)|0;a=(Zf(c[d>>2]|0)|0)!=0;g=(c[f>>2]|0)+1|0;if(a)c[e>>2]=Yf(g)|0;else c[e>>2]=Vf(g)|0;if(!(c[e>>2]|0)){h=c[e>>2]|0;i=b;return h|0}Wv(c[e>>2]|0,c[d>>2]|0)|0;h=c[e>>2]|0;i=b;return h|0}function dg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=Vf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0)){f=5;break}if(!(vb[c[17673]&63](c[17674]|0,c[d>>2]|0,0)|0)){f=5;break}}if((f|0)==5)qf(gu(c[(Yu()|0)>>2]|0)|0,0);else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;while(1){b=_f(c[e>>2]|0,c[f>>2]|0)|0;c[g>>2]=b;if(!((b|0)!=0^1)){h=6;break}b=(Ah()|0)==0;if(!(b&(c[17673]|0)!=0)){h=5;break}b=c[17673]|0;a=c[17674]|0;j=c[f>>2]|0;k=(Zf(c[e>>2]|0)|0)!=0;if(!(vb[b&63](a,j,k?3:2)|0)){h=5;break}}if((h|0)==5)qf(gu(c[(Yu()|0)>>2]|0)|0,0);else if((h|0)==6){i=d;return c[g>>2]|0}return 0}function fg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;while(1){a=Yf(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){f=6;break}a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0)){f=5;break}if(!(vb[c[17673]&63](c[17674]|0,c[d>>2]|0,1)|0)){f=5;break}}if((f|0)==5){d=gu(c[(Yu()|0)>>2]|0)|0;qf(d,pf(22555)|0)}else if((f|0)==6){i=b;return c[e>>2]|0}return 0}function gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=_(c[e>>2]|0,c[f>>2]|0)|0;if(c[f>>2]|0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){ju(12);qf(gu(c[(Yu()|0)>>2]|0)|0,0)}c[h>>2]=dg(c[g>>2]|0)|0;Fx(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=_(c[e>>2]|0,c[f>>2]|0)|0;if(c[f>>2]|0?(((c[g>>2]|0)>>>0)/((c[f>>2]|0)>>>0)|0|0)!=(c[e>>2]|0):0){ju(12);qf(gu(c[(Yu()|0)>>2]|0)|0,0)}c[h>>2]=fg(c[g>>2]|0)|0;Fx(c[h>>2]|0,0,c[g>>2]|0)|0;i=d;return c[h>>2]|0}function ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;do{a=cg(c[d>>2]|0)|0;c[e>>2]=a;if(!((a|0)!=0^1)){h=8;break}c[f>>2]=Kv(c[d>>2]|0)|0;c[g>>2]=((Zf(c[d>>2]|0)|0)!=0^1^1)&1;a=(Ah()|0)==0;if(!(a&(c[17673]|0)!=0))break}while((vb[c[17673]&63](c[17674]|0,c[f>>2]|0,c[g>>2]|0)|0)!=0);if((h|0)==8){i=b;return c[e>>2]|0}e=gu(c[(Yu()|0)>>2]|0)|0;if(!(c[g>>2]|0)){j=0;qf(e,j)}j=pf(22555)|0;qf(e,j);return 0}function jg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=0;else c[d>>2]=c[17666]&c[e>>2];i=b;return c[d>>2]|0}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;bk(c[e>>2]|0,c[f>>2]|0);An(c[e>>2]|0,c[f>>2]|0);i=d;return}function lg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+48|0;h=g;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;if(!(c[k>>2]|0)){c[j>>2]=45;r=c[j>>2]|0;i=g;return r|0}c[c[k>>2]>>2]=0;if(!((((c[n>>2]|0)<0|(c[n>>2]|0)>1)^1)&(c[l>>2]|0)!=0)){c[j>>2]=45;r=c[j>>2]|0;i=g;return r|0}if((c[m>>2]|0)!=0|(c[n>>2]|0)!=0){if((c[m>>2]|0)==0&(c[n>>2]|0)!=0)c[m>>2]=Kv(c[l>>2]|0)|0}else{c[m>>2]=mg(c[l>>2]|0,0,0,p)|0;if(!(c[m>>2]|0)){c[j>>2]=c[p>>2];r=c[j>>2]|0;i=g;return r|0}}c[p>>2]=ng(q,0,c[l>>2]|0,c[m>>2]|0,0,0,h)|0;if(c[p>>2]|0){c[j>>2]=c[p>>2];r=c[j>>2]|0;i=g;return r|0}c[c[k>>2]>>2]=c[q>>2];if(c[o>>2]|0)xb[c[o>>2]&15](c[l>>2]|0);c[j>>2]=0;r=c[j>>2]|0;i=g;return r|0}function mg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g+44|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+4|0;r=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;if(!(c[l>>2]|0))c[l>>2]=g+12;if(!(c[m>>2]|0))c[m>>2]=g+8;c[c[m>>2]>>2]=0;c[c[l>>2]>>2]=0;if(!(c[j>>2]|0)){c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}if((d[c[j>>2]>>0]|0|0)!=40){c[c[m>>2]>>2]=204;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}c[n>>2]=c[j>>2];a:while(1){if(c[k>>2]|0?(c[q>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0){t=12;break}j=d[c[n>>2]>>0]|0;do if(c[p>>2]|0)if((j|0)==58){if(c[k>>2]|0?((c[q>>2]|0)+(c[p>>2]|0)|0)>>>0>=(c[k>>2]|0)>>>0:0){t=17;break a}c[q>>2]=(c[q>>2]|0)+(c[p>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[p>>2]|0);c[p>>2]=0;break}else{if((d[c[n>>2]>>0]|0|0)<48){t=22;break a}if((d[c[n>>2]>>0]|0|0)>57){t=22;break a}c[p>>2]=((c[p>>2]|0)*10|0)+((d[c[n>>2]>>0]|0)-48);break}else{if((j|0)==40){if(c[o>>2]|0){t=25;break a}c[r>>2]=(c[r>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)==41){if(!(c[r>>2]|0)){t=29;break a}if(c[o>>2]|0){t=31;break a}f=(c[r>>2]|0)+-1|0;c[r>>2]=f;if(f|0)break;else{t=33;break a}}if((d[c[n>>2]>>0]|0|0)==91){if(c[o>>2]|0){t=36;break a}c[o>>2]=c[n>>2];break}if((d[c[n>>2]>>0]|0|0)==93){if(!(c[o>>2]|0)){t=40;break a}c[o>>2]=0;break}if((d[c[n>>2]>>0]|0|0)<48){t=47;break a}if((d[c[n>>2]>>0]|0|0)>57){t=47;break a}if((d[c[n>>2]>>0]|0|0)==48){t=45;break a}c[p>>2]=(d[c[n>>2]>>0]|0)-48}while(0);c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+1}switch(t|0){case 12:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=202;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 17:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=202;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 22:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=201;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 25:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 29:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=203;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 31:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 33:{t=(c[q>>2]|0)+1|0;c[q>>2]=t;c[h>>2]=t;s=c[h>>2]|0;i=g;return s|0}case 36:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=208;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 40:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=209;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 45:{c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=207;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}case 47:{if((d[c[n>>2]>>0]|0|0)!=38?(d[c[n>>2]>>0]|0|0)!=92:0){c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=205;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}c[c[l>>2]>>2]=c[q>>2];c[c[m>>2]>>2]=210;c[h>>2]=0;s=c[h>>2]|0;i=g;return s|0}}return 0}function ng(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+48|0;k=j+40|0;l=j+36|0;m=j+32|0;n=j+28|0;o=j+24|0;p=j+20|0;q=j+16|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=h;c[q>>2]=og(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,r)|0;i=j;return c[q>>2]|0}function og(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;m=i;i=i+400|0;n=m+16|0;o=m+8|0;p=m+292|0;q=m+288|0;r=m+284|0;s=m+280|0;t=m+276|0;u=m+272|0;v=m+268|0;w=m+264|0;x=m+260|0;y=m+256|0;z=m+252|0;A=m+248|0;B=m+244|0;D=m+240|0;E=m+236|0;F=m+232|0;G=m+228|0;H=m+224|0;I=m+220|0;J=m+216|0;K=m+212|0;L=m+196|0;M=m+192|0;N=m+188|0;O=m+184|0;P=m+316|0;Q=m+180|0;R=m+176|0;S=m+172|0;T=m+314|0;U=m+312|0;V=m+168|0;W=m+310|0;X=m+164|0;Y=m+160|0;Z=m+308|0;_=m+156|0;$=m+152|0;aa=m+148|0;ba=m+144|0;ca=m+140|0;da=m+136|0;ea=m+132|0;fa=m+128|0;ga=m+306|0;ha=m+124|0;ia=m+120|0;ja=m+116|0;ka=m+304|0;la=m+112|0;ma=m+108|0;na=m+104|0;oa=m+302|0;pa=m+100|0;qa=m+96|0;ra=m+92|0;sa=m+88|0;ta=m+84|0;ua=m+300|0;va=m+80|0;wa=m+76|0;xa=m+354|0;ya=m+72|0;za=m+298|0;Aa=m+68|0;Ba=m+64|0;Ca=m+319|0;Da=m+60|0;Ea=m+296|0;Fa=m+56|0;Ga=m+52|0;Ha=m+48|0;Ia=m+44|0;Ja=m+40|0;Ka=m+36|0;La=m+32|0;Ma=m+28|0;Na=m+24|0;Oa=m+318|0;Pa=m;Qa=m+20|0;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=0;c[A>>2]=0;c[B>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[M>>2]=0;c[N>>2]=0;if(!(c[q>>2]|0)){c[p>>2]=45;Ra=c[p>>2]|0;i=m;return Ra|0}c[c[q>>2]>>2]=0;if(!(c[s>>2]|0)){c[p>>2]=45;Ra=c[p>>2]|0;i=m;return Ra|0}if(!(c[r>>2]|0))c[r>>2]=m+208;c[L+4>>2]=(c[t>>2]|0)+2;if(c[t>>2]|0?Zf(c[s>>2]|0)|0:0)c[L>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;else c[L>>2]=Vf(1+(c[L+4>>2]|0)-1|0)|0;a:do if(c[L>>2]|0){c[L+8>>2]=c[L>>2];c[y>>2]=c[s>>2];c[z>>2]=c[t>>2];b:while(1){if(!(c[z>>2]|0)){Sa=220;break}if(!((c[D>>2]|0)==0|(c[E>>2]|0)!=0)){if(!(sw(22591,a[c[y>>2]>>0]|0)|0)){c[K>>2]=(c[y>>2]|0)-(c[D>>2]|0);c[O>>2]=pg(L,c[K>>2]|0)|0;if(c[O>>2]|0){Sa=18;break}l=L+8|0;k=c[l>>2]|0;c[l>>2]=k+1;a[k>>0]=1;b[P>>1]=c[K>>2];k=c[L+8>>2]|0;a[k>>0]=a[P>>0]|0;a[k+1>>0]=a[P+1>>0]|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+2;Dx(c[L+8>>2]|0,c[D>>2]|0,c[K>>2]|0)|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+(c[K>>2]|0);c[D>>2]=0;Sa=20}}else Sa=20;c:do if((Sa|0)==20){Sa=0;if(c[B>>2]|0){k=a[c[y>>2]>>0]|0;if(!(c[J>>2]|0)){if((k|0)==92){c[J>>2]=1;break}if((a[c[y>>2]>>0]|0)!=34)break;c[B>>2]=(c[B>>2]|0)+1;c[S>>2]=pg(L,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;if(c[S>>2]|0){Sa=59;break b}l=L+8|0;j=c[l>>2]|0;c[l>>2]=j+1;a[j>>0]=1;c[Q>>2]=c[L+8>>2];b[T>>1]=0;j=c[L+8>>2]|0;a[j>>0]=a[T>>0]|0;a[j+1>>0]=a[T+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;c[R>>2]=qg(c[B>>2]|0,(c[y>>2]|0)-(c[B>>2]|0)|0,c[L+8>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[R>>2]|0);b[U>>1]=c[R>>2];j=c[Q>>2]|0;a[j>>0]=a[U>>0]|0;a[j+1>>0]=a[U+1>>0]|0;c[Q>>2]=(c[Q>>2]|0)+2;c[B>>2]=0;break}switch(k|0){case 92:case 39:case 34:case 114:case 102:case 110:case 118:case 116:case 98:{c[J>>2]=0;break c;break}case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{if((c[z>>2]|0)>>>0<=2){Sa=29;break b}if((a[(c[y>>2]|0)+1>>0]|0)<48){Sa=29;break b}if((a[(c[y>>2]|0)+1>>0]|0)>55){Sa=29;break b}if((a[(c[y>>2]|0)+2>>0]|0)<48){Sa=29;break b}if((a[(c[y>>2]|0)+2>>0]|0)>55){Sa=29;break b}c[y>>2]=(c[y>>2]|0)+2;c[z>>2]=(c[z>>2]|0)-2;c[J>>2]=0;break c;break}case 120:{if((c[z>>2]|0)>>>0<=2){Sa=44;break b}if(!((a[(c[y>>2]|0)+1>>0]|0)>=48?(a[(c[y>>2]|0)+1>>0]|0)<=57:0))Sa=34;do if((Sa|0)==34){Sa=0;if((a[(c[y>>2]|0)+1>>0]|0)>=65?(a[(c[y>>2]|0)+1>>0]|0)<=70:0)break;if((a[(c[y>>2]|0)+1>>0]|0)<97){Sa=44;break b}if((a[(c[y>>2]|0)+1>>0]|0)>102){Sa=44;break b}}while(0);if(!((a[(c[y>>2]|0)+2>>0]|0)>=48?(a[(c[y>>2]|0)+2>>0]|0)<=57:0))Sa=40;do if((Sa|0)==40){Sa=0;if((a[(c[y>>2]|0)+2>>0]|0)>=65?(a[(c[y>>2]|0)+2>>0]|0)<=70:0)break;if((a[(c[y>>2]|0)+2>>0]|0)<97){Sa=44;break b}if((a[(c[y>>2]|0)+2>>0]|0)>102){Sa=44;break b}}while(0);c[y>>2]=(c[y>>2]|0)+2;c[z>>2]=(c[z>>2]|0)-2;c[J>>2]=0;break c;break}case 13:{if(c[z>>2]|0?(a[(c[y>>2]|0)+1>>0]|0)==10:0){c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}c[J>>2]=0;break c;break}case 10:{if(c[z>>2]|0?(a[(c[y>>2]|0)+1>>0]|0)==13:0){c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}c[J>>2]=0;break c;break}default:{Sa=54;break b}}}if(c[E>>2]|0){if(sv(a[c[y>>2]>>0]|0)|0){c[I>>2]=(c[I>>2]|0)+1;break}if((a[c[y>>2]>>0]|0)!=35)if(rg(c[y>>2]|0)|0)break;else{Sa=82;break b}if(c[I>>2]&1|0){Sa=66;break b}c[K>>2]=(c[I>>2]|0)/2|0;c[V>>2]=pg(L,c[K>>2]|0)|0;if(c[V>>2]|0){Sa=68;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=1;b[W>>1]=c[K>>2];j=c[L+8>>2]|0;a[j>>0]=a[W>>0]|0;a[j+1>>0]=a[W+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;c[E>>2]=(c[E>>2]|0)+1;while(1){if((c[E>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(!(rg(c[E>>2]|0)|0)){c[X>>2]=sg(d[c[E>>2]>>0]|0)|0;c[E>>2]=(c[E>>2]|0)+1;while(1){if((c[E>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(!(rg(c[E>>2]|0)|0))break;c[E>>2]=(c[E>>2]|0)+1}if((c[E>>2]|0)>>>0<(c[y>>2]|0)>>>0){c[X>>2]=c[X>>2]<<4;j=sg(d[c[E>>2]>>0]|0)|0;c[X>>2]=(c[X>>2]|0)+j}j=c[X>>2]&255;k=L+8|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=j}c[E>>2]=(c[E>>2]|0)+1}c[E>>2]=0;break}if(c[F>>2]|0){if((a[c[y>>2]>>0]|0)!=124)break;c[F>>2]=0;break}if(c[A>>2]|0){if((a[c[y>>2]>>0]|0)>=48?(a[c[y>>2]>>0]|0)<=57:0)break;if((a[c[y>>2]>>0]|0)==58){c[K>>2]=gx(c[A>>2]|0)|0;c[A>>2]=0;if((c[K>>2]|0)>>>0>((c[z>>2]|0)-1|0)>>>0){Sa=91;break b}c[Y>>2]=pg(L,c[K>>2]|0)|0;if(c[Y>>2]|0){Sa=93;break b}j=L+8|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=1;b[Z>>1]=c[K>>2];l=c[L+8>>2]|0;a[l>>0]=a[Z>>0]|0;a[l+1>>0]=a[Z+1>>0]|0;l=L+8|0;c[l>>2]=(c[l>>2]|0)+2;Dx(c[L+8>>2]|0,(c[y>>2]|0)+1|0,c[K>>2]|0)|0;l=L+8|0;c[l>>2]=(c[l>>2]|0)+(c[K>>2]|0);c[z>>2]=(c[z>>2]|0)-(c[K>>2]|0);c[y>>2]=(c[y>>2]|0)+(c[K>>2]|0);break}if((a[c[y>>2]>>0]|0)==34){c[A>>2]=0;c[B>>2]=c[y>>2];c[J>>2]=0;break}if((a[c[y>>2]>>0]|0)==35){c[A>>2]=0;c[E>>2]=c[y>>2];c[I>>2]=0;break}if((a[c[y>>2]>>0]|0)!=124){Sa=101;break b}c[A>>2]=0;c[F>>2]=c[y>>2];break}l=a[c[y>>2]>>0]|0;if(!(c[H>>2]|0)){if((l|0)==40){if(c[G>>2]|0){Sa=179;break b}c[Ja>>2]=pg(L,0)|0;if(c[Ja>>2]|0){Sa=181;break b}j=L+8|0;k=c[j>>2]|0;c[j>>2]=k+1;a[k>>0]=3;c[N>>2]=(c[N>>2]|0)+1;break}if((a[c[y>>2]>>0]|0)==41){if(c[G>>2]|0){Sa=185;break b}c[Ka>>2]=pg(L,0)|0;if(c[Ka>>2]|0){Sa=187;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=4;c[N>>2]=(c[N>>2]|0)+-1;break}j=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==34){c[B>>2]=j;c[J>>2]=0;break}k=c[y>>2]|0;if((a[j>>0]|0)==35){c[E>>2]=k;c[I>>2]=0;break}j=c[y>>2]|0;if((a[k>>0]|0)==124){c[F>>2]=j;break}if((a[j>>0]|0)==91){Ta=c[y>>2]|0;if(c[G>>2]|0){Sa=197;break b}c[G>>2]=Ta;break}if((a[c[y>>2]>>0]|0)==93){if(!(c[G>>2]|0)){Sa=201;break b}c[G>>2]=0;break}do if((a[c[y>>2]>>0]|0)>=48){if((a[c[y>>2]>>0]|0)>57)break;Ua=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==48){Sa=206;break b}c[A>>2]=Ua;break c}while(0);j=(sw(22591,a[c[y>>2]>>0]|0)|0)!=0;k=c[y>>2]|0;if(j){c[D>>2]=k;break}if(rg(k)|0)break;Va=c[y>>2]|0;if((a[c[y>>2]>>0]|0)==123){Sa=212;break b}if(sw(22690,a[Va>>0]|0)|0){Sa=214;break b}if(!(c[u>>2]|0)){Sa=218;break b}if((a[c[y>>2]>>0]|0)!=37){Sa=218;break b}c[H>>2]=c[y>>2];break}do if((l|0)!=109?(a[c[y>>2]>>0]|0)!=77:0){if((a[c[y>>2]>>0]|0)==115){if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[la>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;j=(c[k>>2]|0)+(4-1)&~(4-1);h=c[j>>2]|0;c[k>>2]=j+4;c[la>>2]=h}c[ma>>2]=Kv(c[la>>2]|0)|0;c[na>>2]=pg(L,c[ma>>2]|0)|0;if(c[na>>2]|0){Sa=135;break b}h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=1;b[oa>>1]=c[ma>>2];j=c[L+8>>2]|0;a[j>>0]=a[oa>>0]|0;a[j+1>>0]=a[oa+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,c[la>>2]|0,c[ma>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[ma>>2]|0);break}if((a[c[y>>2]>>0]|0)==98){if(c[v>>2]|0){j=c[M>>2]|0;c[M>>2]=j+1;c[qa>>2]=c[c[(c[v>>2]|0)+(j<<2)>>2]>>2]}else{j=c[w>>2]|0;h=(c[j>>2]|0)+(4-1)&~(4-1);k=c[h>>2]|0;c[j>>2]=h+4;c[qa>>2]=k}if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[pa>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);j=c[h>>2]|0;c[k>>2]=h+4;c[pa>>2]=j}c[ra>>2]=pg(L,c[qa>>2]|0)|0;if(c[ra>>2]|0){Sa=145;break b}do if(c[qa>>2]|0){if(Zf(c[L>>2]|0)|0)break;if(!(Zf(c[pa>>2]|0)|0))break;c[sa>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[sa>>2]|0)){Sa=150;break b}c[ta>>2]=c[sa>>2];Dx(c[ta>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[ta>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[sa>>2]}while(0);j=L+8|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=1;b[ua>>1]=c[qa>>2];h=c[L+8>>2]|0;a[h>>0]=a[ua>>0]|0;a[h+1>>0]=a[ua+1>>0]|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+2;Dx(c[L+8>>2]|0,c[pa>>2]|0,c[qa>>2]|0)|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+(c[qa>>2]|0);break}if((a[c[y>>2]>>0]|0)==100){if(c[v>>2]|0){h=c[M>>2]|0;c[M>>2]=h+1;c[va>>2]=c[c[(c[v>>2]|0)+(h<<2)>>2]>>2]}else{h=c[w>>2]|0;j=(c[h>>2]|0)+(4-1)&~(4-1);k=c[j>>2]|0;c[h>>2]=j+4;c[va>>2]=k}c[o>>2]=c[va>>2];ew(xa,22684,o)|0;c[wa>>2]=Kv(xa)|0;c[ya>>2]=pg(L,c[wa>>2]|0)|0;if(c[ya>>2]|0){Sa=158;break b}k=L+8|0;j=c[k>>2]|0;c[k>>2]=j+1;a[j>>0]=1;b[za>>1]=c[wa>>2];j=c[L+8>>2]|0;a[j>>0]=a[za>>0]|0;a[j+1>>0]=a[za+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,xa|0,c[wa>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[wa>>2]|0);break}if((a[c[y>>2]>>0]|0)==117){if(c[v>>2]|0){j=c[M>>2]|0;c[M>>2]=j+1;c[Aa>>2]=c[c[(c[v>>2]|0)+(j<<2)>>2]>>2]}else{j=c[w>>2]|0;k=(c[j>>2]|0)+(4-1)&~(4-1);h=c[k>>2]|0;c[j>>2]=k+4;c[Aa>>2]=h}c[n>>2]=c[Aa>>2];ew(Ca,22687,n)|0;c[Ba>>2]=Kv(Ca)|0;c[Da>>2]=pg(L,c[Ba>>2]|0)|0;if(c[Da>>2]|0){Sa=165;break b}h=L+8|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=1;b[Ea>>1]=c[Ba>>2];k=c[L+8>>2]|0;a[k>>0]=a[Ea>>0]|0;a[k+1>>0]=a[Ea+1>>0]|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+2;Dx(c[L+8>>2]|0,Ca|0,c[Ba>>2]|0)|0;k=L+8|0;c[k>>2]=(c[k>>2]|0)+(c[Ba>>2]|0);break}if((a[c[y>>2]>>0]|0)!=83){Sa=175;break b}if(c[v>>2]|0){k=c[M>>2]|0;c[M>>2]=k+1;c[Fa>>2]=c[c[(c[v>>2]|0)+(k<<2)>>2]>>2]}else{k=c[w>>2]|0;h=(c[k>>2]|0)+(4-1)&~(4-1);j=c[h>>2]|0;c[k>>2]=h+4;c[Fa>>2]=j}c[Ga>>2]=tg(c[Fa>>2]|0,Ha)|0;if(!(c[Ga>>2]|0))break;c[Ia>>2]=pg(L,c[Ga>>2]|0)|0;if(c[Ia>>2]|0){Sa=173;break b}Dx(c[L+8>>2]|0,(c[Fa>>2]|0)+(c[Ha>>2]|0)|0,c[Ga>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[Ga>>2]|0)}else Sa=105;while(0);do if((Sa|0)==105){Sa=0;c[$>>2]=0;c[aa>>2]=(a[c[y>>2]>>0]|0)==109?1:5;if(c[v>>2]|0){l=c[M>>2]|0;c[M>>2]=l+1;c[_>>2]=c[c[(c[v>>2]|0)+(l<<2)>>2]>>2]}else{l=c[w>>2]|0;j=(c[l>>2]|0)+(4-1)&~(4-1);h=c[j>>2]|0;c[l>>2]=j+4;c[_>>2]=h}if(zq(c[_>>2]|0,2)|0){c[ba>>2]=kq(c[_>>2]|0,ca)|0;c[$>>2]=(((c[ca>>2]|0)+7|0)>>>0)/8|0;if(!((c[ba>>2]|0)!=0&(c[$>>2]|0)!=0))break;c[da>>2]=pg(L,c[$>>2]|0)|0;if(c[da>>2]|0){Sa=111;break b}do if(!(Zf(c[L>>2]|0)|0)){if(!(zq(c[_>>2]|0,1)|0))break;c[ea>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[ea>>2]|0)){Sa=115;break b}c[fa>>2]=c[ea>>2];Dx(c[fa>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[fa>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[ea>>2]}while(0);h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=1;b[ga>>1]=c[$>>2];j=c[L+8>>2]|0;a[j>>0]=a[ga>>0]|0;a[j+1>>0]=a[ga+1>>0]|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+2;Dx(c[L+8>>2]|0,c[ba>>2]|0,c[$>>2]|0)|0;j=L+8|0;c[j>>2]=(c[j>>2]|0)+(c[$>>2]|0);break}if(Hp(c[aa>>2]|0,0,0,$,c[_>>2]|0)|0){Sa=119;break b}c[ha>>2]=pg(L,c[$>>2]|0)|0;if(c[ha>>2]|0){Sa=121;break b}do if(!(Zf(c[L>>2]|0)|0)){if(!(zq(c[_>>2]|0,1)|0))break;c[ia>>2]=Yf(1+(c[L+4>>2]|0)-1|0)|0;if(!(c[ia>>2]|0)){Sa=125;break b}c[ja>>2]=c[ia>>2];Dx(c[ja>>2]|0,c[L>>2]|0,(c[L+8>>2]|0)-(c[L>>2]|0)|0)|0;c[L+8>>2]=(c[ja>>2]|0)+((c[L+8>>2]|0)-(c[L>>2]|0));$f(c[L>>2]|0);c[L>>2]=c[ia>>2]}while(0);j=L+8|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=1;b[ka>>1]=c[$>>2];h=c[L+8>>2]|0;a[h>>0]=a[ka>>0]|0;a[h+1>>0]=a[ka+1>>0]|0;h=L+8|0;c[h>>2]=(c[h>>2]|0)+2;if(Hp(c[aa>>2]|0,c[L+8>>2]|0,c[$>>2]|0,$,c[_>>2]|0)|0){Sa=128;break b}h=L+8|0;c[h>>2]=(c[h>>2]|0)+(c[$>>2]|0)}while(0);c[H>>2]=0}while(0);c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}switch(Sa|0){case 18:{c[x>>2]=c[O>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 29:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 44:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 54:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=206;break a;break}case 59:{c[x>>2]=c[S>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 66:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=212;break a;break}case 68:{c[x>>2]=c[V>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 82:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=211;break a;break}case 91:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=202;break a;break}case 93:{c[x>>2]=c[Y>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 101:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=201;break a;break}case 111:{c[x>>2]=c[da>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 115:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 119:{wf(22662,1433,22669);break}case 121:{c[x>>2]=c[ha>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 125:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 128:{wf(22662,1460,22669);break}case 135:{c[x>>2]=c[na>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 145:{c[x>>2]=c[ra>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 150:{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;break a;break}case 158:{c[x>>2]=c[ya>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 165:{c[x>>2]=c[Da>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 173:{c[x>>2]=c[Ia>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 175:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=201;break a;break}case 179:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 181:{c[x>>2]=c[Ja>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 185:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 187:{c[x>>2]=c[Ka>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a;break}case 197:{c[c[r>>2]>>2]=Ta-(c[s>>2]|0);c[x>>2]=208;break a;break}case 201:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=209;break a;break}case 206:{c[c[r>>2]>>2]=Ua-(c[s>>2]|0);c[x>>2]=207;break a;break}case 212:{c[c[r>>2]>>2]=Va-(c[s>>2]|0);c[x>>2]=210;break a;break}case 214:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=210;break a;break}case 218:{c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);c[x>>2]=205;break a;break}case 220:{c[La>>2]=pg(L,0)|0;if(c[La>>2]|0){c[x>>2]=c[La>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[s>>2]|0);break a}h=L+8|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=0;if((c[N>>2]|0)==0|(c[x>>2]|0)!=0)break a;c[x>>2]=203;break a;break}}}else{c[x>>2]=gu(c[(Yu()|0)>>2]|0)|0;c[c[r>>2]>>2]=0}while(0);r=c[L>>2]|0;if(c[x>>2]|0){if(r|0){d:do if(Zf(c[L>>2]|0)|0){c[Ma>>2]=c[L>>2];c[Na>>2]=1+(c[L+4>>2]|0)-1;a[Oa>>0]=0;N=Pa;c[N>>2]=d[Oa>>0];c[N+4>>2]=0;while(1){if(!(c[Ma>>2]&7|0?(c[Na>>2]|0)!=0:0))break;a[c[Ma>>2]>>0]=a[Oa>>0]|0;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Na>>2]=(c[Na>>2]|0)+-1}if((c[Na>>2]|0)>>>0>=8){N=Pa;s=Mx(c[N>>2]|0,c[N+4>>2]|0,16843009,16843009)|0;N=Pa;c[N>>2]=s;c[N+4>>2]=C;do{c[Qa>>2]=c[Ma>>2];N=Pa;s=c[N+4>>2]|0;y=c[Qa>>2]|0;c[y>>2]=c[N>>2];c[y+4>>2]=s;c[Na>>2]=(c[Na>>2]|0)-8;c[Ma>>2]=(c[Ma>>2]|0)+8}while((c[Na>>2]|0)>>>0>=8)}while(1){if(!(c[Na>>2]|0))break d;a[c[Ma>>2]>>0]=a[Oa>>0]|0;c[Ma>>2]=(c[Ma>>2]|0)+1;c[Na>>2]=(c[Na>>2]|0)+-1}}while(0);$f(c[L>>2]|0)}}else{L=ug(r)|0;c[c[q>>2]>>2]=L}c[p>>2]=c[x>>2];Ra=c[p>>2]|0;i=m;return Ra|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=(c[(c[f>>2]|0)+8>>2]|0)-(c[c[f>>2]>>2]|0);do if(((c[h>>2]|0)+(c[g>>2]|0)+2+1|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[l>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)+2+1<<1);if((c[l>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=67;m=c[e>>2]|0;i=d;return m|0}c[j>>2]=_f(c[c[f>>2]>>2]|0,1+(c[l>>2]|0)-1|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+4>>2]=c[l>>2];c[k>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[c[f>>2]>>2]=c[j>>2];break}c[e>>2]=gu(c[(Yu()|0)>>2]|0)|0;m=c[e>>2]|0;i=d;return m|0}while(0);c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}function qg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;c[m>>2]=c[h>>2];c[n>>2]=c[k>>2];c[o>>2]=c[j>>2];while(1){if(!(c[o>>2]|0))break;j=d[c[m>>2]>>0]|0;do if(!(c[l>>2]|0))if((j|0)==92){c[l>>2]=1;break}else{h=a[c[m>>2]>>0]|0;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=h;break}else{a:do switch(j|0){case 98:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=8;break}case 116:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=9;break}case 118:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=11;break}case 110:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=10;break}case 102:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=12;break}case 114:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=13;break}case 34:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=34;break}case 39:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=39;break}case 92:{h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=92;break}case 13:{if((c[o>>2]|0)>>>0>1?(d[(c[m>>2]|0)+1>>0]|0|0)==10:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}case 10:{if((c[o>>2]|0)>>>0>1?(d[(c[m>>2]|0)+1>>0]|0|0)==13:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}case 120:{if((c[o>>2]|0)>>>0>2){if(!((d[(c[m>>2]|0)+1>>0]|0|0)>=48?(d[(c[m>>2]|0)+1>>0]|0|0)<=57:0))p=23;do if((p|0)==23){p=0;if((d[(c[m>>2]|0)+1>>0]|0|0)>=65?(d[(c[m>>2]|0)+1>>0]|0|0)<=70:0)break;if((d[(c[m>>2]|0)+1>>0]|0|0)<97)break a;if((d[(c[m>>2]|0)+1>>0]|0|0)>102)break a}while(0);if(!((d[(c[m>>2]|0)+2>>0]|0|0)>=48?(d[(c[m>>2]|0)+2>>0]|0|0)<=57:0))p=29;do if((p|0)==29){p=0;if((d[(c[m>>2]|0)+2>>0]|0|0)>=65?(d[(c[m>>2]|0)+2>>0]|0|0)<=70:0)break;if((d[(c[m>>2]|0)+2>>0]|0|0)<97)break a;if((d[(c[m>>2]|0)+2>>0]|0|0)>102)break a}while(0);c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1;h=d[c[m>>2]>>0]|0;if((d[c[m>>2]>>0]|0|0)<=57)q=h-48|0;else{f=d[c[m>>2]>>0]|0;q=((h|0)<=70?f-65|0:f-97|0)+10|0}f=d[(c[m>>2]|0)+1>>0]|0;if((d[(c[m>>2]|0)+1>>0]|0|0)<=57)r=f-48|0;else{h=d[(c[m>>2]|0)+1>>0]|0;r=((f|0)<=70?h-65|0:h-97|0)+10|0}h=c[n>>2]|0;c[n>>2]=h+1;a[h>>0]=(q<<4)+r;c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}break}default:if(((((((c[o>>2]|0)>>>0>2?(d[c[m>>2]>>0]|0|0)>=48:0)?(d[c[m>>2]>>0]|0|0)<=55:0)?(d[(c[m>>2]|0)+1>>0]|0|0)>=48:0)?(d[(c[m>>2]|0)+1>>0]|0|0)<=55:0)?(d[(c[m>>2]|0)+2>>0]|0|0)>=48:0)?(d[(c[m>>2]|0)+2>>0]|0|0)<=55:0){h=((d[c[m>>2]>>0]|0)-48<<6)+((d[(c[m>>2]|0)+1>>0]|0)-48<<3)+((d[(c[m>>2]|0)+2>>0]|0)-48)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=h;c[m>>2]=(c[m>>2]|0)+2;c[o>>2]=(c[o>>2]|0)-2}}while(0);c[l>>2]=0}while(0);c[o>>2]=(c[o>>2]|0)+-1;c[m>>2]=(c[m>>2]|0)+1}i=g;return (c[n>>2]|0)-(c[k>>2]|0)|0}function rg(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[f>>2]=b;switch(a[c[f>>2]>>0]|0){case 10:case 13:case 12:case 11:case 9:case 32:{c[e>>2]=1;break}default:c[e>>2]=0}i=d;return c[e>>2]|0}function sg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;a=c[e>>2]|0;do if(!((c[e>>2]|0)>=48&(c[e>>2]|0)<=57)){f=c[e>>2]|0;if((a|0)>=65&(c[e>>2]|0)<=70){c[d>>2]=10+f-65;break}if((f|0)>=97&(c[e>>2]|0)<=102){c[d>>2]=10+(c[e>>2]|0)-97;break}else{c[d>>2]=0;break}}else c[d>>2]=a-48;while(0);i=b;return c[d>>2]|0}function tg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+24|0;n=g+4|0;o=g;c[j>>2]=b;c[k>>2]=f;c[o>>2]=0;c[c[k>>2]>>2]=0;a:do if(c[j>>2]|0){c[l>>2]=c[j>>2];while(1){f=d[c[l>>2]>>0]|0;c[n>>2]=f;if(!f)break a;c[l>>2]=(c[l>>2]|0)+1;if((c[n>>2]|0)==1){f=c[l>>2]|0;a[m>>0]=a[f>>0]|0;a[m+1>>0]=a[f+1>>0]|0;c[l>>2]=(c[l>>2]|0)+(2+(e[m>>1]|0));continue}if((c[n>>2]|0)!=3){if((c[n>>2]|0)!=4)continue;c[o>>2]=(c[o>>2]|0)+-1;if(c[o>>2]|0)continue;else break}if(!(c[o>>2]|0))c[c[k>>2]>>2]=(c[l>>2]|0)+-1-(c[j>>2]|0);c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=(c[l>>2]|0)-(c[j>>2]|0);p=c[h>>2]|0;i=g;return p|0}while(0);c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function ug(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;i=i+16|0;e=b+8|0;f=b+4|0;g=b;c[f>>2]=a;do if(c[f>>2]|0){c[g>>2]=c[f>>2];if(!(d[c[g>>2]>>0]|0)){vg(c[f>>2]|0);c[e>>2]=0;break}if((d[c[g>>2]>>0]|0|0)==3?(d[(c[g>>2]|0)+1>>0]|0|0)==4:0){vg(c[f>>2]|0);c[e>>2]=0;break}c[e>>2]=c[f>>2]}else c[e>>2]=0;while(0);i=b;return c[e>>2]|0}function vg(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+32|0;l=f+16|0;m=f+12|0;n=f+34|0;o=f;p=f+8|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=f;return}a:do if(Zf(c[g>>2]|0)|0){c[h>>2]=c[g>>2];while(1){b=d[c[h>>2]>>0]|0;c[j>>2]=b;if(!b)break;c[h>>2]=(c[h>>2]|0)+1;if((c[j>>2]|0)!=1)continue;b=c[h>>2]|0;a[k>>0]=a[b>>0]|0;a[k+1>>0]=a[b+1>>0]|0;c[h>>2]=(c[h>>2]|0)+2;c[h>>2]=(c[h>>2]|0)+(e[k>>1]|0)}c[l>>2]=c[g>>2];c[m>>2]=(c[h>>2]|0)-(c[g>>2]|0);a[n>>0]=0;b=o;c[b>>2]=d[n>>0];c[b+4>>2]=0;while(1){if(!(c[l>>2]&7|0?(c[m>>2]|0)!=0:0))break;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)>>>0>=8){b=o;q=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=o;c[b>>2]=q;c[b+4>>2]=C;do{c[p>>2]=c[l>>2];b=o;q=c[b+4>>2]|0;r=c[p>>2]|0;c[r>>2]=c[b>>2];c[r+4>>2]=q;c[m>>2]=(c[m>>2]|0)-8;c[l>>2]=(c[l>>2]|0)+8}while((c[m>>2]|0)>>>0>=8)}while(1){if(!(c[m>>2]|0))break a;a[c[l>>2]>>0]=a[n>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}}while(0);$f(c[g>>2]|0);i=f;return}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=lg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;i=f;return e|0}function xg(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;i=i+48|0;k=j+32|0;l=j+28|0;m=j+24|0;n=j+20|0;o=j+16|0;p=j+36|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(!(c[l>>2]|0)){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}if(!(c[n>>2]|0))c[n>>2]=Kv(c[m>>2]|0)|0;c[o>>2]=c[l>>2];while(1){if(!(d[c[o>>2]>>0]|0)){v=29;break}if((d[c[o>>2]>>0]|0|0)==3?(d[(c[o>>2]|0)+1>>0]|0|0)==1:0){c[q>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+2;l=c[o>>2]|0;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+2;if((e[p>>1]|0|0)==(c[n>>2]|0)?(mw(c[o>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0)break;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);continue}if((d[c[o>>2]>>0]|0|0)==1){l=(c[o>>2]|0)+1|0;c[o>>2]=l;a[p>>0]=a[l>>0]|0;a[p+1>>0]=a[l+1>>0]|0;c[o>>2]=(c[o>>2]|0)+2;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);continue}else{c[o>>2]=(c[o>>2]|0)+1;continue}}if((v|0)==29){c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}c[t>>2]=1;c[o>>2]=(c[o>>2]|0)+(e[p>>1]|0);a:while(1){w=c[o>>2]|0;if(!(c[t>>2]|0))break;do if((d[w>>0]|0|0)!=1){if((d[c[o>>2]>>0]|0|0)==3){c[t>>2]=(c[t>>2]|0)+1;break}if((d[c[o>>2]>>0]|0|0)!=4)if(!(d[c[o>>2]>>0]|0)){v=20;break a}else break;else{c[t>>2]=(c[t>>2]|0)+-1;break}}else{n=(c[o>>2]|0)+1|0;c[o>>2]=n;a[p>>0]=a[n>>0]|0;a[p+1>>0]=a[n+1>>0]|0;c[o>>2]=(c[o>>2]|0)+(2+(e[p>>1]|0));c[o>>2]=(c[o>>2]|0)+-1}while(0);c[o>>2]=(c[o>>2]|0)+1}if((v|0)==20)wf(22662,481,22693);b[p>>1]=w-(c[q>>2]|0);c[r>>2]=Vf(1+(e[p>>1]|0)|0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];Dx(c[s>>2]|0,c[q>>2]|0,e[p>>1]|0|0)|0;c[s>>2]=(c[s>>2]|0)+(e[p>>1]|0);p=c[s>>2]|0;c[s>>2]=p+1;a[p>>0]=0;c[k>>2]=ug(c[r>>2]|0)|0;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}return 0}function yg(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+24|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=b;c[m>>2]=0;c[n>>2]=0;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[j>>2]=c[h>>2];while(1){h=d[c[j>>2]>>0]|0;c[l>>2]=h;if(!h)break;c[j>>2]=(c[j>>2]|0)+1;if((c[l>>2]|0)==1){h=c[j>>2]|0;a[k>>0]=a[h>>0]|0;a[k+1>>0]=a[h+1>>0]|0;c[j>>2]=(c[j>>2]|0)+(2+(e[k>>1]|0));if((c[n>>2]|0)!=1)continue;c[m>>2]=(c[m>>2]|0)+1;continue}if((c[l>>2]|0)!=3){if((c[l>>2]|0)!=4)continue;c[n>>2]=(c[n>>2]|0)+-1;continue}if((c[n>>2]|0)==1)c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+1}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=f;return o|0}function zg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;i=i+48|0;j=h+28|0;k=h+24|0;l=h+20|0;m=h+16|0;n=h+32|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[k>>2]=f;c[l>>2]=g;c[q>>2]=0;if(c[k>>2]|0?(d[c[k>>2]>>0]|0|0)==3:0){c[m>>2]=c[k>>2];while(1){k=(c[l>>2]|0)>0;c[m>>2]=(c[m>>2]|0)+1;s=(d[c[m>>2]>>0]|0|0)==1;if(!k)break;if(s){k=(c[m>>2]|0)+1|0;c[m>>2]=k;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));c[m>>2]=(c[m>>2]|0)+-1;if(c[q>>2]|0)continue;c[l>>2]=(c[l>>2]|0)+-1;continue}if((d[c[m>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;continue}if((d[c[m>>2]>>0]|0|0)!=4)if(!(d[c[m>>2]>>0]|0)){t=15;break}else continue;c[q>>2]=(c[q>>2]|0)+-1;if(c[q>>2]|0)continue;c[l>>2]=(c[l>>2]|0)+-1}if((t|0)==15){c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}do if(s){l=(c[m>>2]|0)+1|0;a[n>>0]=a[l>>0]|0;a[n+1>>0]=a[l+1>>0]|0;c[o>>2]=Vf(5+(e[n>>1]|0)+1|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=3;Dx(c[p>>2]|0,c[m>>2]|0,3+(e[n>>1]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+(3+(e[n>>1]|0));l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=4;a[c[p>>2]>>0]=0;break}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}else{if((d[c[m>>2]>>0]|0|0)!=3){c[o>>2]=0;break}c[r>>2]=c[m>>2];c[q>>2]=1;a:do{c[m>>2]=(c[m>>2]|0)+1;do if((d[c[m>>2]>>0]|0|0)!=1){if((d[c[m>>2]>>0]|0|0)==3){c[q>>2]=(c[q>>2]|0)+1;break}if((d[c[m>>2]>>0]|0|0)!=4)if(!(d[c[m>>2]>>0]|0)){t=29;break a}else break;else{c[q>>2]=(c[q>>2]|0)+-1;break}}else{l=(c[m>>2]|0)+1|0;c[m>>2]=l;a[n>>0]=a[l>>0]|0;a[n+1>>0]=a[l+1>>0]|0;c[m>>2]=(c[m>>2]|0)+(2+(e[n>>1]|0));c[m>>2]=(c[m>>2]|0)+-1}while(0)}while((c[q>>2]|0)!=0);if((t|0)==29)wf(22662,673,22715);b[n>>1]=(c[m>>2]|0)+1-(c[r>>2]|0);c[o>>2]=Vf(1+(e[n>>1]|0)|0)|0;if(c[o>>2]|0){c[p>>2]=c[o>>2];Dx(c[p>>2]|0,c[r>>2]|0,e[n>>1]|0|0)|0;c[p>>2]=(c[p>>2]|0)+(e[n>>1]|0);l=c[p>>2]|0;c[p>>2]=l+1;a[l>>0]=0;break}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}while(0);c[j>>2]=ug(c[o>>2]|0)|0;u=c[j>>2]|0;i=h;return u|0}c[j>>2]=0;u=c[j>>2]|0;i=h;return u|0}function Ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=zg(c[d>>2]|0,0)|0;i=b;return a|0}function Bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=Cg(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function Cg(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h+24|0;p=h;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[p>>2]=0;c[c[m>>2]>>2]=0;if(!(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}c[n>>2]=c[k>>2];if((d[c[n>>2]>>0]|0|0)!=3){if(c[l>>2]|0){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}}else c[n>>2]=(c[n>>2]|0)+1;a:while(1){r=(d[c[n>>2]>>0]|0|0)==1;if((c[l>>2]|0)<=0)break;do if(r){k=(c[n>>2]|0)+1|0;c[n>>2]=k;a[o>>0]=a[k>>0]|0;a[o+1>>0]=a[k+1>>0]|0;c[n>>2]=(c[n>>2]|0)+(2+(e[o>>1]|0));c[n>>2]=(c[n>>2]|0)+-1;if(!(c[p>>2]|0))c[l>>2]=(c[l>>2]|0)+-1}else{if((d[c[n>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;break}if((d[c[n>>2]>>0]|0|0)!=4)if(!(d[c[n>>2]>>0]|0)){s=17;break a}else break;c[p>>2]=(c[p>>2]|0)+-1;if(!(c[p>>2]|0))c[l>>2]=(c[l>>2]|0)+-1}while(0);c[n>>2]=(c[n>>2]|0)+1}if((s|0)==17){c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}if(r){r=(c[n>>2]|0)+1|0;c[n>>2]=r;a[o>>0]=a[r>>0]|0;a[o+1>>0]=a[r+1>>0]|0;c[c[m>>2]>>2]=e[o>>1];c[j>>2]=(c[n>>2]|0)+2;q=c[j>>2]|0;i=h;return q|0}else{c[j>>2]=0;q=c[j>>2]|0;i=h;return q|0}return 0}function Dg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[c[j>>2]>>2]=0;c[k>>2]=Cg(c[g>>2]|0,c[h>>2]|0,l)|0;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0)){c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}c[m>>2]=Vf(c[l>>2]|0)|0;if(c[m>>2]|0){Dx(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[c[j>>2]>>2]=c[l>>2];c[f>>2]=c[m>>2];n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Cg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!((c[j>>2]|0)==0|(c[k>>2]|0)>>>0<1)?((c[k>>2]|0)+1|0)>>>0>=1:0){c[l>>2]=Vf((c[k>>2]|0)+1|0)|0;if(c[l>>2]|0){Dx(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=c[l>>2];m=c[f>>2]|0;i=e;return m|0}else{c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}}c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}
-function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;do if((c[j>>2]|0)==8){c[m>>2]=Dg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!(c[m>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}if(Zf(c[g>>2]|0)|0)p=wq(0)|0;else p=vq(0)|0;c[l>>2]=p;if(c[l>>2]|0){iq(c[l>>2]|0,c[m>>2]|0,c[k>>2]<<3)|0;break}else{$f(c[m>>2]|0);break}}else{if(!(c[j>>2]|0))c[j>>2]=1;c[n>>2]=Cg(c[g>>2]|0,c[h>>2]|0,k)|0;if(!(c[n>>2]|0)){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}if(Dp(l,c[j>>2]|0,c[n>>2]|0,c[k>>2]|0,0)|0){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}}while(0);c[f>>2]=c[l>>2];o=c[f>>2]|0;i=e;return o|0}function Gg(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+32|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=f;c[p>>2]=0;c[q>>2]=1;if(c[j>>2]|0?(d[c[j>>2]>>0]|0|0)==3:0){c[k>>2]=c[j>>2];while(1){j=(c[q>>2]|0)>0;c[k>>2]=(c[k>>2]|0)+1;r=c[k>>2]|0;if(!j)break;if((d[r>>0]|0|0)==1){j=(c[k>>2]|0)+1|0;c[k>>2]=j;a[m>>0]=a[j>>0]|0;a[m+1>>0]=a[j+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[m>>1]|0));c[k>>2]=(c[k>>2]|0)+-1;if(c[p>>2]|0)continue;c[q>>2]=(c[q>>2]|0)+-1;continue}if((d[c[k>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;continue}if((d[c[k>>2]>>0]|0|0)!=4)if(!(d[c[k>>2]>>0]|0)){s=15;break}else continue;c[p>>2]=(c[p>>2]|0)+-1;if(c[p>>2]|0)continue;c[q>>2]=(c[q>>2]|0)+-1}if((s|0)==15){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[l>>2]=r;c[p>>2]=0;a:do{do if((d[c[k>>2]>>0]|0|0)!=1){if((d[c[k>>2]>>0]|0|0)==3){c[p>>2]=(c[p>>2]|0)+1;break}if((d[c[k>>2]>>0]|0|0)!=4)if(!(d[c[k>>2]>>0]|0)){s=24;break a}else break;else{c[p>>2]=(c[p>>2]|0)+-1;break}}else{r=(c[k>>2]|0)+1|0;c[k>>2]=r;a[m>>0]=a[r>>0]|0;a[m+1>>0]=a[r+1>>0]|0;c[k>>2]=(c[k>>2]|0)+(2+(e[m>>1]|0));c[k>>2]=(c[k>>2]|0)+-1}while(0);c[k>>2]=(c[k>>2]|0)+1}while((c[p>>2]|0)!=0);if((s|0)==24){c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}b[m>>1]=(c[k>>2]|0)-(c[l>>2]|0);c[n>>2]=Vf(1+(e[m>>1]|0)+2|0)|0;if(c[n>>2]|0){c[o>>2]=c[n>>2];k=c[o>>2]|0;c[o>>2]=k+1;a[k>>0]=3;Dx(c[o>>2]|0,c[l>>2]|0,e[m>>1]|0|0)|0;c[o>>2]=(c[o>>2]|0)+(e[m>>1]|0);m=c[o>>2]|0;c[o>>2]=m+1;a[m>>0]=4;m=c[o>>2]|0;c[o>>2]=m+1;a[m>>0]=0;c[h>>2]=ug(c[n>>2]|0)|0;t=c[h>>2]|0;i=g;return t|0}else{c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}}c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}function Hg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=Gg(c[d>>2]|0)|0;c[f>>2]=Ag(c[e>>2]|0)|0;vg(c[e>>2]|0);i=b;return c[f>>2]|0}function Ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;c[k>>2]=og(e,g,h,Kv(c[j>>2]|0)|0,1,0,l)|0;i=f;return c[k>>2]|0}function Jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=c[g>>2]|0;g=c[h>>2]|0;h=c[j>>2]|0;d=Kv(c[j>>2]|0)|0;j=og(e,g,h,d,1,0,c[k>>2]|0)|0;i=f;return j|0}function Kg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=ng(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,f)|0;i=f;return e|0}function Lg(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+80|0;k=j;l=j+48|0;m=j+44|0;n=j+40|0;o=j+36|0;p=j+32|0;q=j+28|0;r=j+24|0;s=j+52|0;t=j+56|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[u>>2]=0;c[w>>2]=0;c[q>>2]=c[m>>2]|0?c[m>>2]|0:22730;c[r>>2]=c[o>>2];a:while(1){if(!(d[c[q>>2]>>0]|0)){z=55;break}switch(d[c[q>>2]>>0]|0|0){case 3:{c[q>>2]=(c[q>>2]|0)+1;if((c[n>>2]|0)!=1){if(c[w>>2]|0)c[u>>2]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0)}c[u>>2]=(c[u>>2]|0)+1;if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=10;break a}b:do if((c[n>>2]|0)!=1){if(c[w>>2]|0){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=10}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break b;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32;c[v>>2]=(c[v>>2]|0)+1}}while(0);m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=40}c[w>>2]=(c[w>>2]|0)+1;continue a;break}case 4:{c[q>>2]=(c[q>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=21;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=41}c[w>>2]=(c[w>>2]|0)+-1;if((d[c[q>>2]>>0]|0|0)==3)continue a;if(!((c[n>>2]|0)!=1?(d[c[q>>2]>>0]|0|0)!=0:0))continue a;c[u>>2]=(c[u>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+(c[w>>2]|0);if(!(c[o>>2]|0))continue a;if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=27;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=10;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))continue a;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32;c[v>>2]=(c[v>>2]|0)+1}break}case 1:{c[q>>2]=(c[q>>2]|0)+1;m=c[q>>2]|0;a[s>>0]=a[m>>0]|0;a[s+1>>0]=a[m+1>>0]|0;c[q>>2]=(c[q>>2]|0)+2;if((c[n>>2]|0)==3){m=Mg(c[q>>2]|0,e[s>>1]|0)|0;c[x>>2]=m;switch(m|0){case 1:{c[y>>2]=Ng(c[q>>2]|0,e[s>>1]|0,0)|0;break}case 2:{c[y>>2]=Og(c[q>>2]|0,e[s>>1]|0,0)|0;break}default:c[y>>2]=Pg(c[q>>2]|0,e[s>>1]|0,0)|0}c[u>>2]=(c[u>>2]|0)+(c[y>>2]|0);if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=38;break a}switch(c[x>>2]|0){case 1:{Ng(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0;break}case 2:{Og(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0;break}default:Pg(c[q>>2]|0,e[s>>1]|0,c[r>>2]|0)|0}c[r>>2]=(c[r>>2]|0)+(c[y>>2]|0)}if((d[(c[q>>2]|0)+(e[s>>1]|0)>>0]|0|0)!=4?(c[u>>2]=(c[u>>2]|0)+1,c[o>>2]|0):0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=47;break a}m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=32}}else{c[k>>2]=e[s>>1];ew(t,22757,k)|0;m=Kv(t)|0;c[u>>2]=(c[u>>2]|0)+(m+(e[s>>1]|0));if(c[o>>2]|0){if((c[u>>2]|0)>>>0>=(c[p>>2]|0)>>>0){z=51;break a}c[r>>2]=Xv(c[r>>2]|0,t)|0;Dx(c[r>>2]|0,c[q>>2]|0,e[s>>1]|0|0)|0;c[r>>2]=(c[r>>2]|0)+(e[s>>1]|0)}}c[q>>2]=(c[q>>2]|0)+(e[s>>1]|0);continue a;break}default:{z=54;break a}}}if((z|0)==10){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==21){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==27){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==38){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==47){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==51){c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else if((z|0)==54)wf(22662,2008,22761);else if((z|0)==55){do if((c[n>>2]|0)!=1?(c[u>>2]=(c[u>>2]|0)+1,c[o>>2]|0):0){if((c[u>>2]|0)>>>0<(c[p>>2]|0)>>>0){z=c[r>>2]|0;c[r>>2]=z+1;a[z>>0]=10;break}c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}while(0);n=c[u>>2]|0;do if(c[o>>2]|0){if(n>>>0<(c[p>>2]|0)>>>0){z=c[r>>2]|0;c[r>>2]=z+1;a[z>>0]=0;break}c[l>>2]=0;A=c[l>>2]|0;i=j;return A|0}else c[u>>2]=n+1;while(0);c[l>>2]=c[u>>2];A=c[l>>2]|0;i=j;return A|0}return 0}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[h>>2]=b;c[j>>2]=e;c[l>>2]=1;if(!(c[j>>2]|0)){c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}if(d[c[h>>2]>>0]&128|0){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}c[k>>2]=c[h>>2];while(1){if(!(c[j>>2]|0))break;if((d[c[k>>2]>>0]|0)>=32){if((d[c[k>>2]>>0]|0)>=127?(d[c[k>>2]>>0]|0)<=160:0)n=12}else n=12;if((n|0)==12?(n=0,(sw(22733,d[c[k>>2]>>0]|0)|0)==0):0){n=13;break}do if(c[l>>2]|0){if((d[c[k>>2]>>0]|0)>=65?(d[c[k>>2]>>0]|0)<=90:0)break;if((d[c[k>>2]>>0]|0)>=97?(d[c[k>>2]>>0]|0)<=122:0)break;if((d[c[k>>2]>>0]|0)>=48?(d[c[k>>2]>>0]|0)<=57:0)break;if(!(sw(22743,d[c[k>>2]>>0]|0)|0))c[l>>2]=0}while(0);c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}if((n|0)==13){c[g>>2]=0;m=c[g>>2]|0;i=f;return m|0}c[k>>2]=c[h>>2];do if(c[l>>2]|0){if((d[c[k>>2]>>0]|0)>=48?(d[c[k>>2]>>0]|0)<=57:0)break;c[g>>2]=2;m=c[g>>2]|0;i=f;return m|0}while(0);c[g>>2]=1;m=c[g>>2]|0;i=f;return m|0}function Ng(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[m>>2]|0)){c[o>>2]=2;while(1){if(!(c[l>>2]|0))break;a:do switch(d[c[k>>2]>>0]|0|0){case 92:case 39:case 34:case 13:case 12:case 10:case 11:case 9:case 8:{c[o>>2]=(c[o>>2]|0)+2;break}default:{do if((d[c[k>>2]>>0]|0|0)>=32){if((d[c[k>>2]>>0]|0|0)>=127?(d[c[k>>2]>>0]|0|0)<=160:0)break;c[o>>2]=(c[o>>2]|0)+1;break a}while(0);c[o>>2]=(c[o>>2]|0)+4}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=c[o>>2];p=c[j>>2]|0;i=g;return p|0}c[n>>2]=c[m>>2];o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=34;while(1){if(!(c[l>>2]|0))break;b:do switch(d[c[k>>2]>>0]|0|0){case 8:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=98;break}case 9:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=116;break}case 11:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=118;break}case 10:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=110;break}case 12:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=102;break}case 13:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=114;break}case 34:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=34;break}case 39:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=39;break}case 92:{o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;o=c[n>>2]|0;c[n>>2]=o+1;a[o>>0]=92;break}default:{do if((d[c[k>>2]>>0]|0|0)>=32){if((d[c[k>>2]>>0]|0|0)>=127?(d[c[k>>2]>>0]|0|0)<=160:0)break;o=a[c[k>>2]>>0]|0;f=c[n>>2]|0;c[n>>2]=f+1;a[f>>0]=o;break b}while(0);o=c[n>>2]|0;c[h>>2]=d[c[k>>2]>>0];ew(o,22584,h)|0;c[n>>2]=(c[n>>2]|0)+4}}while(0);c[l>>2]=(c[l>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1}k=c[n>>2]|0;c[n>>2]=k+1;a[k>>0]=34;c[j>>2]=(c[n>>2]|0)-(c[m>>2]|0);p=c[j>>2]|0;i=g;return p|0}function Og(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){j=c[g>>2]|0;i=e;return j|0}Dx(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;j=c[g>>2]|0;i=e;return j|0}function Pg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;h=g;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(c[l>>2]|0)){n=c[k>>2]|0;o=n<<1;p=o+2|0;i=g;return p|0}f=c[l>>2]|0;c[l>>2]=f+1;a[f>>0]=35;c[m>>2]=0;while(1){q=c[l>>2]|0;if((c[m>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;c[h>>2]=d[(c[j>>2]|0)+(c[m>>2]|0)>>0];ew(q,22752,h)|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+2}c[l>>2]=q+1;a[q>>0]=35;n=c[k>>2]|0;o=n<<1;p=o+2|0;i=g;return p|0}function Qg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=i;i=i+192|0;h=g+156|0;j=g+152|0;k=g+148|0;l=g+144|0;m=g+140|0;n=g+136|0;o=g+132|0;p=g+128|0;q=g+48|0;r=g+160|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g+16|0;z=g+12|0;A=g+8|0;B=g+4|0;C=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[u>>2]=43;c[v>>2]=0;f=r;e=f+20|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[o>>2]=c[l>>2];c[s>>2]=0;while(1){D=a[c[o>>2]>>0]|0;if(!(a[c[o>>2]>>0]|0?(c[s>>2]|0)>>>0<20:0)){E=18;break}if((((((D<<24>>24|0)!=38?(a[c[o>>2]>>0]|0)!=43:0)?(a[c[o>>2]>>0]|0)!=45:0)?(a[c[o>>2]>>0]|0)!=47:0)?(a[c[o>>2]>>0]|0)!=63:0)?(rg(c[o>>2]|0)|0)==0:0){if((a[c[o>>2]>>0]|0)==39){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=sw(c[o>>2]|0,39)|0;if(!(c[p>>2]|0)){E=12;break}if((c[p>>2]|0)==(c[o>>2]|0)){E=12;break}c[o>>2]=c[p>>2]}f=c[m>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[f>>2]=e+4;c[q+(c[s>>2]<<2)>>2]=d;if(!(c[q+(c[s>>2]<<2)>>2]|0)){E=15;break}c[s>>2]=(c[s>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}if((E|0)==12){c[h>>2]=29;F=c[h>>2]|0;i=g;return F|0}else if((E|0)==15){c[h>>2]=128;F=c[h>>2]|0;i=g;return F|0}else if((E|0)==18){if(D<<24>>24){c[h>>2]=183;F=c[h>>2]|0;i=g;return F|0}D=c[m>>2]|0;m=(c[D>>2]|0)+(4-1)&~(4-1);d=c[m>>2]|0;c[D>>2]=m+4;if(d|0){c[h>>2]=45;F=c[h>>2]|0;i=g;return F|0}while(1){if(!(c[k>>2]|0)){E=33;break}if(!(a[c[k>>2]>>0]|0)){E=33;break}c[o>>2]=sw(c[k>>2]|0,33)|0;if((c[o>>2]|0)==(c[k>>2]|0)){E=25;break}if(c[o>>2]|0)G=(c[o>>2]|0)-(c[k>>2]|0)|0;else G=0;c[w>>2]=G;c[t>>2]=xg(c[j>>2]|0,c[k>>2]|0,c[w>>2]|0)|0;if(!(c[t>>2]|0)){E=29;break}c[j>>2]=c[t>>2];c[t>>2]=0;vg(c[v>>2]|0);c[v>>2]=c[j>>2];if(c[w>>2]|0){c[k>>2]=(c[k>>2]|0)+((c[w>>2]|0)+1);continue}else{c[k>>2]=0;continue}}do if((E|0)==25)c[n>>2]=27;else if((E|0)==29)c[n>>2]=27;else if((E|0)==33){c[o>>2]=c[l>>2];c[s>>2]=0;a:while(1){if(!(a[c[o>>2]>>0]|0)){E=76;break}if((((a[c[o>>2]>>0]|0)!=38?(a[c[o>>2]>>0]|0)!=43:0)?(a[c[o>>2]>>0]|0)!=45:0)?(a[c[o>>2]>>0]|0)!=47:0){if((rg(c[o>>2]|0)|0)==0?(a[c[o>>2]>>0]|0)!=63:0){if((a[c[o>>2]>>0]|0)==39){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=sw(c[o>>2]|0,39)|0;if(!(c[p>>2]|0)){E=45;break}if((c[p>>2]|0)==(c[o>>2]|0)){E=45;break}c[t>>2]=xg(c[j>>2]|0,c[o>>2]|0,(c[p>>2]|0)-(c[o>>2]|0)|0)|0;c[o>>2]=c[p>>2]}else c[t>>2]=xg(c[j>>2]|0,c[o>>2]|0,1)|0;do if(!(c[t>>2]|0)?(a[(c[o>>2]|0)+1>>0]|0)==63:0){k=c[q+(c[s>>2]<<2)>>2]|0;if((c[u>>2]|0)!=38){c[k>>2]=0;break}c[x>>2]=k;if(!(c[(c[x>>2]|0)+12>>2]|0)){c[c[x>>2]>>2]=0;c[(c[x>>2]|0)+4>>2]=0}c[(c[x>>2]|0)+8>>2]=0}else E=55;while(0);if((E|0)==55){E=0;if(!(c[t>>2]|0)){E=56;break}do if((c[u>>2]|0)!=38){if((c[u>>2]|0)==47){k=Fg(c[t>>2]|0,1,8)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=k;break}k=c[t>>2]|0;if((c[u>>2]|0)==45){w=Fg(k,1,1)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=w;break}else{w=Fg(k,1,5)|0;c[c[q+(c[s>>2]<<2)>>2]>>2]=w;break}}else{c[y>>2]=c[q+(c[s>>2]<<2)>>2];w=c[t>>2]|0;if(!(c[(c[y>>2]|0)+12>>2]|0)){k=Dg(w,1,c[y>>2]|0)|0;c[(c[y>>2]|0)+12>>2]=k;if(!(c[(c[y>>2]|0)+12>>2]|0)){E=65;break a}c[(c[y>>2]|0)+8>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+4>>2]=0;a[r+(c[s>>2]|0)>>0]=2;break}c[z>>2]=Bg(w,1,A)|0;if(!((c[z>>2]|0)!=0&(c[A>>2]|0)!=0)){E=60;break a}if(((c[(c[y>>2]|0)+4>>2]|0)+(c[A>>2]|0)|0)>>>0>(c[c[y>>2]>>2]|0)>>>0){E=62;break a}Dx((c[(c[y>>2]|0)+12>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0)|0,c[z>>2]|0,c[A>>2]|0)|0;c[(c[y>>2]|0)+8>>2]=c[A>>2];a[r+(c[s>>2]|0)>>0]=1}while(0);vg(c[t>>2]|0);c[t>>2]=0;if(!(c[c[q+(c[s>>2]<<2)>>2]>>2]|0)){E=73;break}}c[s>>2]=(c[s>>2]|0)+1}}else c[u>>2]=a[c[o>>2]>>0];c[o>>2]=(c[o>>2]|0)+1}if((E|0)==45){c[n>>2]=29;break}else if((E|0)==56){c[n>>2]=68;break}else if((E|0)==60){c[n>>2]=65;break}else if((E|0)==62){c[n>>2]=200;break}else if((E|0)==65){c[n>>2]=65;break}else if((E|0)==73){c[n>>2]=65;break}else if((E|0)==76){vg(c[v>>2]|0);c[h>>2]=0;F=c[h>>2]|0;i=g;return F|0}}while(0);vg(c[v>>2]|0);vg(c[t>>2]|0);while(1){t=c[s>>2]|0;c[s>>2]=t+-1;if(!t)break;t=c[s>>2]|0;if(!(a[r+(c[s>>2]|0)>>0]|0)){xq(c[c[q+(t<<2)>>2]>>2]|0);c[c[q+(c[s>>2]<<2)>>2]>>2]=0;continue}v=c[q+(c[s>>2]<<2)>>2]|0;if((((a[r+t>>0]|0)!=0^1)&1|0)==1){c[B>>2]=v;c[(c[B>>2]|0)+8>>2]=0;continue}else{c[C>>2]=v;$f(c[(c[C>>2]|0)+12>>2]|0);c[(c[C>>2]|0)+12>>2]=0;c[(c[C>>2]|0)+8>>2]=0;c[(c[C>>2]|0)+4>>2]=0;c[c[C>>2]>>2]=0;continue}}c[h>>2]=c[n>>2];F=c[h>>2]|0;i=g;return F|0}return 0}function Rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=Qg(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,l)|0;l=Sg(c[k>>2]|0)|0;i=f;return l|0}function Sg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tg(1,c[d>>2]|0)|0;i=b;return a|0}function Tg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ug(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=13){g=6;break}a=(gv(c[1120+(c[f>>2]<<3)+4>>2]|0,c[e>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){g=4;break}c[f>>2]=h+1}if((g|0)==4){c[17675]=c[17675]|c[1120+(h<<3)>>2];c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}else if((g|0)==6){c[d>>2]=88;j=c[d>>2]|0;i=b;return j|0}return 0}function Vg(){return c[17676]|0}function Wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)<0|(c[f>>2]|0)>>>0>=13){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}if(c[g>>2]|0)c[c[g>>2]>>2]=c[1120+(c[f>>2]<<3)>>2];c[e>>2]=c[1120+(c[f>>2]<<3)+4>>2];h=c[e>>2]|0;i=d;return h|0}function Xg(){c[17676]=0;if(Ah()|0)return;Yg();c[17676]=c[17676]&~c[17675];return}function Yg(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;i=i+288|0;d=b+20|0;e=b+16|0;f=b+24|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[d>>2]=22929;c[k>>2]=0;c[e>>2]=qw(c[d>>2]|0,23810)|0;if(!(c[e>>2]|0)){i=b;return}while(1){if(!(hw(f,256,c[e>>2]|0)|0))break;c[k>>2]=(c[k>>2]|0)+1;c[g>>2]=f;while(1){if(a[c[g>>2]>>0]&128|0)break;if(!(Yv(a[c[g>>2]>>0]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=sw(c[g>>2]|0,10)|0;if(c[h>>2]|0)a[c[h>>2]>>0]=0;d=c[g>>2]|0;if(a[c[g>>2]>>0]|0)l=(Kv(c[g>>2]|0)|0)-1|0;else l=0;c[h>>2]=d+l;while(1){if((c[h>>2]|0)>>>0<=(c[g>>2]|0)>>>0)break;if((a[c[h>>2]>>0]&128|0)==0?Yv(a[c[h>>2]>>0]|0)|0:0)a[c[h>>2]>>0]=0;c[h>>2]=(c[h>>2]|0)+-1}if(!(a[c[g>>2]>>0]|0))continue;if((a[c[g>>2]>>0]|0)==35)continue;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=13)break;d=(gv(c[1120+(c[j>>2]<<3)+4>>2]|0,c[g>>2]|0)|0)!=0;m=c[j>>2]|0;if(!d){n=23;break}c[j>>2]=m+1}if((n|0)==23){n=0;c[17675]=c[17675]|c[1120+(m<<3)>>2]}}Gw(c[e>>2]|0)|0;vw(c[e>>2]|0)|0;i=b;return}function Zg(){c[17677]=1;return}function _g(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){ju(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17677]|0)){c[e>>2]=sx(b)|0;h=c[e>>2]|0;i=d;return h|0}j=sx(b+0+5|0)|0;c[g>>2]=j;if(j|0){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=85;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function $g(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;if(!(c[f>>2]|0)){ju(22);c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}b=c[f>>2]|0;if(!(c[17677]|0)){c[e>>2]=lh(b)|0;h=c[e>>2]|0;i=d;return h|0}j=lh(b+0+5|0)|0;c[g>>2]=j;if(j|0){a[c[g>>2]>>0]=c[f>>2];a[(c[g>>2]|0)+1>>0]=(c[f>>2]|0)>>>8;a[(c[g>>2]|0)+2>>0]=(c[f>>2]|0)>>>16;a[(c[g>>2]|0)+3>>0]=-52;a[(c[g>>2]|0)+(4+(c[f>>2]|0))>>0]=-86;c[e>>2]=(c[g>>2]|0)+4;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}return 0}function ah(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;b=c[g>>2]|0;if(!(c[17677]|0)){a=(wh(b)|0)!=0;m=c[g>>2]|0;n=c[h>>2]|0;if(a){c[f>>2]=vh(m,n)|0;o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=vx(m,n)|0;o=c[f>>2]|0;i=e;return o|0}}c[j>>2]=b;if(!(c[g>>2]|0)){c[f>>2]=_g(c[h>>2]|0)|0;o=c[f>>2]|0;i=e;return o|0}bh(c[j>>2]|0);c[l>>2]=d[(c[j>>2]|0)+-4>>0];c[l>>2]=c[l>>2]|(d[(c[j>>2]|0)+-3>>0]|0)<<8;c[l>>2]=c[l>>2]|(d[(c[j>>2]|0)+-2>>0]|0)<<16;if((c[l>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[f>>2]=c[g>>2];o=c[f>>2]|0;i=e;return o|0}b=c[h>>2]|0;if((d[(c[j>>2]|0)+-1>>0]|0|0)==204)c[k>>2]=$g(b)|0;else c[k>>2]=_g(b)|0;if(c[k>>2]|0){Dx(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;Fx((c[k>>2]|0)+(c[l>>2]|0)|0,0,(c[h>>2]|0)-(c[l>>2]|0)|0)|0;ch(c[j>>2]|0);c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else{c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}return 0}function bh(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;e=b+8|0;f=b;g=b+24|0;h=b+20|0;j=b+16|0;c[g>>2]=a;if(!(c[17677]|0)){i=b;return}c[h>>2]=c[g>>2];if(!(c[h>>2]|0)){i=b;return}if((d[(c[h>>2]|0)+-1>>0]|0|0)!=85?(d[(c[h>>2]|0)+-1>>0]|0|0)!=204:0){g=d[(c[h>>2]|0)+-1>>0]|0;c[f>>2]=c[h>>2];c[f+4>>2]=g;Bf(22950,f)}c[j>>2]=d[(c[h>>2]|0)+-4>>0];c[j>>2]=c[j>>2]|(d[(c[h>>2]|0)+-3>>0]|0)<<8;c[j>>2]=c[j>>2]|(d[(c[h>>2]|0)+-2>>0]|0)<<16;if((d[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=170){j=d[(c[h>>2]|0)+-1>>0]|0;c[e>>2]=c[h>>2];c[e+4>>2]=j;Bf(22991,e)}else{i=b;return}}function ch(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}if(c[17677]|0){bh(c[e>>2]|0);a=(wh(c[d>>2]|0)|0)!=0;f=(c[e>>2]|0)+-4|0;if(a){th(f);i=b;return}else{tx(f);i=b;return}}else{f=(wh(c[d>>2]|0)|0)!=0;d=c[e>>2]|0;if(f){th(d);i=b;return}else{tx(d);i=b;return}}}function dh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;lu(1224)|0;c[e>>2]=c[17678];c[17679]=c[d>>2]&1;c[17678]=c[d>>2]&2;c[17680]=c[d>>2]&8;c[17681]=c[d>>2]&16;if(!((((c[e>>2]|0)==0|(c[17678]|0)!=0)^1)&(c[17682]|0)!=0)){mu(1224)|0;i=b;return}c[17682]=0;eh();mu(1224)|0;i=b;return}function eh(){var a=0;a=i;i=i+16|0;if(c[17679]|0){i=a;return}yf(pf(23031)|0,a);i=a;return}function fh(){var a=0,b=0;a=i;i=i+16|0;b=a;lu(1224)|0;c[b>>2]=c[17679]|0?1:0;c[b>>2]=c[b>>2]|(c[17678]|0?2:0);c[b>>2]=c[b>>2]|(c[17683]|0?4:0);c[b>>2]=c[b>>2]|(c[17680]|0?8:0);c[b>>2]=c[b>>2]|(c[17681]|0?16:0);mu(1224)|0;i=a;return c[b>>2]|0}function gh(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lu(1224)|0;hh(c[d>>2]|0);mu(1224)|0;i=b;return}function hh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+16|0;g=b+12|0;c[f>>2]=a;if(c[f>>2]|0){if((c[f>>2]|0)>>>0<16384)c[f>>2]=16384;if(c[17685]|0){Af(23263,d);i=b;return}else{ih(c[f>>2]|0);jh(c[17687]|0,c[f>>2]|0);i=b;return}}c[17684]=1;c[g>>2]=Qw()|0;f=c[g>>2]|0;if((f|0)==(Uw()|0)){i=b;return}if(Vw(c[g>>2]|0)|0)Bf(23064,e);g=Qw()|0;if((g|0)!=(Uw()|0))Bf(23064,e);if(Vw(0)|0){i=b;return}else Bf(23064,e)}function ih(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+48|0;d=b+16|0;e=b+8|0;f=b+32|0;g=b+28|0;h=b+24|0;j=b+20|0;c[f>>2]=a;c[17686]=c[f>>2];if(c[17684]|0)Cf(23087,b);c[h>>2]=La(30)|0;c[g>>2]=(c[h>>2]|0)!=-1&(c[h>>2]|0)>0?c[h>>2]|0:4096;c[17686]=(c[17686]|0)+(c[g>>2]|0)-1&~((c[g>>2]|0)-1);c[17687]=Zw(0,c[17686]|0,3,34,-1,0)|0;if((c[17687]|0)==(-1|0)){g=c[17686]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=h;yf(23113,e)}else{c[17688]=1;c[17685]=1}if(c[17685]|0){k=c[17687]|0;c[j>>2]=k;l=c[17686]|0;m=c[j>>2]|0;c[m>>2]=l;n=c[j>>2]|0;o=n+4|0;c[o>>2]=0;i=b;return}c[17687]=sx(c[17686]|0)|0;if(!(c[17687]|0)){c[d>>2]=c[17686];Bf(23161,d)}c[17685]=1;k=c[17687]|0;c[j>>2]=k;l=c[17686]|0;m=c[j>>2]|0;c[m>>2]=l;n=c[j>>2]|0;o=n+4|0;c[o>>2]=0;i=b;return}function jh(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+8>>2]=a;c[d+4>>2]=b;if(c[17680]|0){i=d;return}yf(23201,d);i=d;return}function kh(){return 0}function lh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;lu(1224)|0;c[e>>2]=mh(c[d>>2]|0)|0;mu(1224)|0;i=b;return c[e>>2]|0}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;if((c[17685]|0)==0?(hh(32768),(c[17685]|0)==0):0){yf(pf(23309)|0,e);ju(12);c[f>>2]=0;j=c[f>>2]|0;i=b;return j|0}if(c[17683]|0?Ah()|0:0){yf(pf(23370)|0,d);ju(12);c[f>>2]=0;j=c[f>>2]|0;i=b;return j|0}if(!((c[17682]|0)==0|(c[17678]|0)!=0)){c[17682]=0;eh()}c[g>>2]=((((c[g>>2]|0)+31|0)>>>0)/32|0)<<5;c[h>>2]=nh(c[17687]|0,c[g>>2]|0)|0;if(c[h>>2]|0)sh(c[g>>2]|0,0);c[f>>2]=c[h>>2]|0?(c[h>>2]|0)+8|0:0;j=c[f>>2]|0;i=b;return j|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];while(1){if(!(oh(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+4>>2]&1|0)==0?(c[c[g>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0:0){j=5;break}c[g>>2]=rh(c[g>>2]|0)|0}if((j|0)==5?(j=(c[g>>2]|0)+4|0,c[j>>2]=c[j>>2]|1,((c[c[g>>2]>>2]|0)-(c[f>>2]|0)|0)>>>0>8):0){c[h>>2]=(c[g>>2]|0)+8+(c[f>>2]|0);c[c[h>>2]>>2]=(c[c[g>>2]>>2]|0)-(c[f>>2]|0)-8;c[(c[h>>2]|0)+4>>2]=0;c[c[g>>2]>>2]=c[f>>2];ph(c[h>>2]|0)}if(oh(c[g>>2]|0)|0){k=c[g>>2]|0;i=d;return k|0}ju(12);c[g>>2]=0;k=c[g>>2]|0;i=d;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[f>>2]=c[17687];if((c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0){g=0;h=g&1;i=b;return h|0}g=(c[e>>2]|0)>>>0<((c[f>>2]|0)+(c[17686]|0)|0)>>>0;h=g&1;i=b;return h|0}function ph(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=qh(c[d>>2]|0)|0;c[f>>2]=rh(c[d>>2]|0)|0;if(c[e>>2]|0?(c[(c[e>>2]|0)+4>>2]&1|0)==0:0){a=c[e>>2]|0;c[a>>2]=(c[a>>2]|0)+(8+(c[c[d>>2]>>2]|0));c[d>>2]=c[e>>2]}if(!(c[f>>2]|0)){i=b;return}if(c[(c[f>>2]|0)+4>>2]&1|0){i=b;return}e=c[d>>2]|0;c[e>>2]=(c[e>>2]|0)+(8+(c[c[f>>2]>>2]|0));i=b;return}function qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if((c[d>>2]|0)==(c[17687]|0)){c[e>>2]=0;g=c[e>>2]|0;i=b;return g|0}c[e>>2]=c[17687];while(1){c[f>>2]=rh(c[e>>2]|0)|0;if((c[f>>2]|0)==(c[d>>2]|0))break;c[e>>2]=c[f>>2]}g=c[e>>2]|0;i=b;return g|0}function rh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(c[d>>2]|0)+8+(c[c[d>>2]>>2]|0);if(oh(c[e>>2]|0)|0){f=c[e>>2]|0;i=b;return f|0}c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){c[17689]=(c[17689]|0)+(c[e>>2]|0);c[17690]=(c[17690]|0)+1}if(!(c[f>>2]|0)){i=d;return}c[17689]=(c[17689]|0)-(c[f>>2]|0);c[17690]=(c[17690]|0)+-1;i=d;return}function th(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;lu(1224)|0;uh(c[d>>2]|0);mu(1224)|0;i=b;return}function uh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;e=i;i=i+96|0;f=e+88|0;g=e+84|0;h=e+80|0;j=e+76|0;k=e+72|0;l=e+95|0;m=e+24|0;n=e+68|0;o=e+64|0;p=e+60|0;q=e+94|0;r=e+16|0;s=e+56|0;t=e+52|0;u=e+48|0;v=e+93|0;w=e+8|0;x=e+44|0;y=e+40|0;z=e+36|0;A=e+92|0;B=e;D=e+32|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}c[g>>2]=(c[f>>2]|0)+-8;c[h>>2]=c[c[g>>2]>>2];c[j>>2]=(c[g>>2]|0)+8;c[k>>2]=c[h>>2];a[l>>0]=-1;f=m;c[f>>2]=d[l>>0];c[f+4>>2]=0;while(1){if(!(c[j>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){f=m;b=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=m;c[f>>2]=b;c[f+4>>2]=C;do{c[n>>2]=c[j>>2];f=m;b=c[f+4>>2]|0;E=c[n>>2]|0;c[E>>2]=c[f>>2];c[E+4>>2]=b;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=(c[g>>2]|0)+8;c[p>>2]=c[h>>2];a[q>>0]=-86;k=r;c[k>>2]=d[q>>0];c[k+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){k=r;j=Mx(c[k>>2]|0,c[k+4>>2]|0,16843009,16843009)|0;k=r;c[k>>2]=j;c[k+4>>2]=C;do{c[s>>2]=c[o>>2];k=r;j=c[k+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[t>>2]=(c[g>>2]|0)+8;c[u>>2]=c[h>>2];a[v>>0]=85;p=w;c[p>>2]=d[v>>0];c[p+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){p=w;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=w;c[p>>2]=o;c[p+4>>2]=C;do{c[x>>2]=c[t>>2];p=w;o=c[p+4>>2]|0;q=c[x>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}c[y>>2]=(c[g>>2]|0)+8;c[z>>2]=c[h>>2];a[A>>0]=0;u=B;c[u>>2]=d[A>>0];c[u+4>>2]=0;while(1){if(!(c[y>>2]&7|0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){u=B;t=Mx(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=B;c[u>>2]=t;c[u+4>>2]=C;do{c[D>>2]=c[y>>2];u=B;t=c[u+4>>2]|0;v=c[D>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=t;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}sh(0,c[h>>2]|0);h=(c[g>>2]|0)+4|0;c[h>>2]=c[h>>2]&-2;ph(c[g>>2]|0);i=e;return}function vh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;lu(1224)|0;c[g>>2]=(c[e>>2]|0)+(0-8);c[h>>2]=c[c[g>>2]>>2];if((c[f>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[j>>2]=c[e>>2];mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}c[j>>2]=mh(c[f>>2]|0)|0;if(!(c[j>>2]|0)){mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}Dx(c[j>>2]|0,c[e>>2]|0,c[h>>2]|0)|0;Fx((c[j>>2]|0)+(c[h>>2]|0)|0,0,(c[f>>2]|0)-(c[h>>2]|0)|0)|0;uh(c[e>>2]|0);mu(1224)|0;k=c[j>>2]|0;i=d;return k|0}function wh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[17685]|0)e=(oh(c[d>>2]|0)|0)!=0;else e=0;i=b;return e&1|0}function xh(){var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=i;i=i+96|0;e=b+76|0;f=b+72|0;g=b+83|0;h=b+24|0;j=b+68|0;k=b+64|0;l=b+60|0;m=b+82|0;n=b+16|0;o=b+56|0;p=b+52|0;q=b+48|0;r=b+81|0;s=b+8|0;t=b+44|0;u=b+40|0;v=b+36|0;w=b+80|0;x=b;y=b+32|0;if(!(c[17685]|0)){i=b;return}c[e>>2]=c[17687];c[f>>2]=c[17686];a[g>>0]=-1;z=h;c[z>>2]=d[g>>0];c[z+4>>2]=0;while(1){if(!(c[e>>2]&7|0?(c[f>>2]|0)!=0:0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}if((c[f>>2]|0)>>>0>=8){z=h;A=Mx(c[z>>2]|0,c[z+4>>2]|0,16843009,16843009)|0;z=h;c[z>>2]=A;c[z+4>>2]=C;do{c[j>>2]=c[e>>2];z=h;A=c[z+4>>2]|0;B=c[j>>2]|0;c[B>>2]=c[z>>2];c[B+4>>2]=A;c[f>>2]=(c[f>>2]|0)-8;c[e>>2]=(c[e>>2]|0)+8}while((c[f>>2]|0)>>>0>=8)}while(1){if(!(c[f>>2]|0))break;a[c[e>>2]>>0]=a[g>>0]|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[k>>2]=c[17687];c[l>>2]=c[17686];a[m>>0]=-86;f=n;c[f>>2]=d[m>>0];c[f+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){f=n;e=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=n;c[f>>2]=e;c[f+4>>2]=C;do{c[o>>2]=c[k>>2];f=n;e=c[f+4>>2]|0;g=c[o>>2]|0;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}c[p>>2]=c[17687];c[q>>2]=c[17686];a[r>>0]=85;l=s;c[l>>2]=d[r>>0];c[l+4>>2]=0;while(1){if(!(c[p>>2]&7|0?(c[q>>2]|0)!=0:0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}if((c[q>>2]|0)>>>0>=8){l=s;k=Mx(c[l>>2]|0,c[l+4>>2]|0,16843009,16843009)|0;l=s;c[l>>2]=k;c[l+4>>2]=C;do{c[t>>2]=c[p>>2];l=s;k=c[l+4>>2]|0;m=c[t>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=k;c[q>>2]=(c[q>>2]|0)-8;c[p>>2]=(c[p>>2]|0)+8}while((c[q>>2]|0)>>>0>=8)}while(1){if(!(c[q>>2]|0))break;a[c[p>>2]>>0]=a[r>>0]|0;c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+-1}c[u>>2]=c[17687];c[v>>2]=c[17686];a[w>>0]=0;q=x;c[q>>2]=d[w>>0];c[q+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){q=x;p=Mx(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=x;c[q>>2]=p;c[q+4>>2]=C;do{c[y>>2]=c[u>>2];q=x;p=c[q+4>>2]|0;r=c[y>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=p;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if(c[17688]|0)ax(c[17687]|0,c[17686]|0)|0;c[17687]=0;c[17685]=0;c[17686]=0;c[17683]=0;i=b;return}function yh(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a;lu(1224)|0;if(!(c[17685]|0)){mu(1224)|0;i=a;return}d=c[17686]|0;e=c[17690]|0;c[b>>2]=c[17689];c[b+4>>2]=d;c[b+8>>2]=e;yf(23423,b);mu(1224)|0;i=a;return}function zh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+544|0;d=b+8|0;e=b;f=b+28|0;g=b+24|0;h=b+20|0;j=b+16|0;k=b+288|0;l=b+12|0;m=b+32|0;c[f>>2]=a;if(c[17691]|0){if(Ah()|0){Bh(5);Fh()}if(c[17691]|0)xf(23692,23698,114,23705)}c[17691]=1;do if(c[f>>2]|0){if(c[17692]|0)xf(23732,23698,121,23705)}else{if(!(Ew(23755,0)|0)){if(!(c[17692]|0))break;xf(23732,23698,132,23705)}c[h>>2]=qw(23780,23810)|0;if(!(c[h>>2]|0)){a=c[(Yu()|0)>>2]|0;c[j>>2]=a;if((a|0)!=2&(c[j>>2]|0)!=13?(Ew(23812,0)|0)==0:0){a=ov(c[j>>2]|0)|0;c[e>>2]=23780;c[e+4>>2]=a;yf(23826,e);gb()}}else{if(hw(k,256,c[h>>2]|0)|0?gx(k)|0:0){vw(c[h>>2]|0)|0;if(!(c[17692]|0))break;xf(23732,23698,151,23705)}vw(c[h>>2]|0)|0}c[17692]=1}while(0);if(c[17692]|0){i=b;return}c[g>>2]=ku(1268)|0;if(c[g>>2]|0){c[d>>2]=fu(c[g>>2]|0)|0;yf(23870,d);gb()}c[l>>2]=qw(23755,23810)|0;if(c[l>>2]|0){if(hw(m,256,c[l>>2]|0)|0?gx(m)|0:0)c[17694]=1;vw(c[l>>2]|0)|0}Bh(1);i=b;return}function Ah(){return ((c[17692]|0)!=0^1)&1|0}function Bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b;e=b+20|0;f=b+16|0;g=b+12|0;c[e>>2]=a;c[f>>2]=0;Ch();c[g>>2]=c[17693];switch(c[17693]|0){case 0:{if((c[e>>2]|0)==1|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 1:{if((c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 2:{if((c[e>>2]|0)==3|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 3:{if((c[e>>2]|0)==6|(c[e>>2]|0)==2|(c[e>>2]|0)==4|(c[e>>2]|0)==5)c[f>>2]=1;break}case 4:{if((c[e>>2]|0)==6|(c[e>>2]|0)==4|(c[e>>2]|0)==5|(c[e>>2]|0)==2)c[f>>2]=1;break}case 5:{if((c[e>>2]|0)==6)c[f>>2]=1;break}default:{}}if(c[f>>2]|0)c[17693]=c[e>>2];Dh();if(!(c[f>>2]|0?!(tf(2)|0):0)){a=Eh(c[g>>2]|0)|0;g=Eh(c[e>>2]|0)|0;e=c[f>>2]|0?23637:23645;c[d>>2]=a;c[d+4>>2]=g;c[d+8>>2]=e;yf(23652,d)}if(c[f>>2]|0){i=b;return}else{Fh();i=b;return}}function Ch(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(1268)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;yf(23464,b);gb()}else{i=a;return}}function Dh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=mu(1268)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;yf(23519,b);gb()}else{i=a;return}}function Eh(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;switch(c[d>>2]|0){case 0:{c[e>>2]=23574;break}case 1:{c[e>>2]=23583;break}case 2:{c[e>>2]=23588;break}case 3:{c[e>>2]=23598;break}case 4:{c[e>>2]=23610;break}case 5:{c[e>>2]=23616;break}case 6:{c[e>>2]=23628;break}default:c[e>>2]=37933}i=b;return c[e>>2]|0}function Fh(){ww(0)|0;gb()}function Gh(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0)c[b>>2]=c[17694];else c[b>>2]=0;i=a;return c[b>>2]|0}function Hh(){c[17694]=1;return}function Ih(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(Ah()|0))xf(23925,23698,295,23944);if(Gh()|0){Jh(23698,300,23944,0,c[d>>2]|0);i=b;return}Ch();if(c[17695]|0){Dh();i=b;return}else{c[17695]=1;Dh();i=b;return}}function Jh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+48|0;h=g;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if(!(Ah()|0)){i=g;return}Bh(c[m>>2]|0?5:4);f=c[j>>2]|0;j=c[k>>2]|0;k=c[l>>2]|0?23978:76527;e=c[l>>2]|0?c[l>>2]|0:76527;l=c[n>>2]|0?c[n>>2]|0:23990;c[h>>2]=c[m>>2]|0?23971:76527;c[h+4>>2]=f;c[h+8>>2]=j;c[h+12>>2]=k;c[h+16>>2]=e;c[h+20>>2]=l;yf(24015,h);i=g;return}function Kh(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;b=a+4|0;d=a;if(Ah()|0){Ch();c[d>>2]=c[17695];Dh();c[b>>2]=c[d>>2];e=c[b>>2]|0;i=a;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=a;return e|0}return 0}function Lh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if(!(Ah()|0)){c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}Ch();if((c[17693]|0)==1){Dh();Mh(0)|0;Ch()}c[b>>2]=(c[17693]|0)==3&1;Dh();d=c[b>>2]|0;i=a;return d|0}function Mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=4;c[f>>2]=50;if(Ah()|0)Bh(2);if((((((Nh(c[d>>2]|0)|0)==0?(Ph(c[d>>2]|0)|0)==0:0)?(Qh(c[d>>2]|0)|0)==0:0)?(Rh()|0)==0:0)?(Sh(c[d>>2]|0)|0)==0:0)?(Th()|0)==0:0){c[e>>2]=3;c[f>>2]=0}if(!(Ah()|0)){g=c[f>>2]|0;i=b;return g|0}Bh(c[e>>2]|0);g=c[f>>2]|0;i=b;return g|0}function Nh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1312+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=si(c[1312+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1312+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(38634,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+48|0;g=f;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[l>>2]|0)==0?(tf(2)|0)==0:0){i=f;return}e=(gv(c[h>>2]|0,36319)|0)!=0;d=e?c[h>>2]|0:43169;e=(gv(c[h>>2]|0,36319)|0)!=0^1;b=e?24063:76527;do if(gv(c[h>>2]|0,38634)|0){if(!(gv(c[h>>2]|0,43169)|0)){m=tj(c[j>>2]|0)|0;break}if(!(gv(c[h>>2]|0,36319)|0)){m=tj(c[j>>2]|0)|0;break}if(gv(c[h>>2]|0,49836)|0)m=76527;else m=uk(c[j>>2]|0)|0}else m=Zh(c[j>>2]|0)|0;while(0);h=c[j>>2]|0;j=c[l>>2]|0?c[l>>2]|0:24069;l=c[k>>2]|0?24074:76527;e=c[k>>2]|0?c[k>>2]|0:76527;a=c[k>>2]|0?49890:76527;c[g>>2]=d;c[g+4>>2]=b;c[g+8>>2]=m;c[g+12>>2]=h;c[g+16>>2]=j;c[g+20>>2]=l;c[g+24>>2]=e;c[g+28>>2]=a;yf(24077,g);i=f;return}function Ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1332+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Yj(c[1332+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1332+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(43169,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1356+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=fj(c[1356+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1356+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(36319,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Rh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;c[b>>2]=Un(1)|0;if(c[b>>2]|0)d=fu(c[b>>2]|0)|0;else d=0;Oh(52600,0,0,d);i=a;return ((c[b>>2]|0)!=0^1^1)&1|0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[g>>2]=0;c[e>>2]=0;while(1){if(!(c[1380+(c[e>>2]<<2)>>2]|0))break;c[f>>2]=Fk(c[1380+(c[e>>2]<<2)>>2]|0,c[d>>2]|0,1)|0;a=c[1380+(c[e>>2]<<2)>>2]|0;if(c[f>>2]|0)h=fu(c[f>>2]|0)|0;else h=0;Oh(49836,a,0,h);if(c[f>>2]|0)c[g>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=b;return c[g>>2]|0}function Th(){return 0}function Uh(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0){Ch();c[b>>2]=(c[17693]|0)==3&1;Dh()}else c[b>>2]=1;i=a;return c[b>>2]|0}function Vh(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if(Ah()|0){Ch();c[b>>2]=((c[17693]|0)==3?1:(c[17693]|0)==4)&1;Dh();d=c[b>>2]|0;i=a;return d|0}else{c[b>>2]=1;d=c[b>>2]|0;i=a;return d|0}return 0}function Wh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[j>>2]|0)!=1){c[g>>2]=c[j>>2];Cf(24121,g)}if((c[k>>2]|0)>>>0<8)c[k>>2]=8;c[m>>2]=ag(1,8+(c[k>>2]|0)|0)|0;if(c[m>>2]|0){k=c[m>>2]|0;a[k>>0]=a[24167]|0;a[k+1>>0]=a[24168]|0;a[k+2>>0]=a[24169]|0;a[(c[m>>2]|0)+3>>0]=c[j>>2];c[(c[m>>2]|0)+4>>2]=c[l>>2];c[h>>2]=c[m>>2];n=c[h>>2]|0;i=f;return n|0}else{c[h>>2]=0;n=c[h>>2]|0;i=f;return n|0}return 0}function Xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+8|0;g=e;h=e+24|0;j=e+20|0;c[h>>2]=b;c[j>>2]=d;if(!(c[h>>2]|0)){k=c[h>>2]|0;c[g>>2]=k;Bf(24171,g)}if(mw(c[h>>2]|0,24167,3)|0){k=c[h>>2]|0;c[g>>2]=k;Bf(24171,g)}if((a[(c[h>>2]|0)+3>>0]|0)!=(c[j>>2]|0)){g=c[h>>2]|0;k=a[(c[h>>2]|0)+3>>0]|0;c[f>>2]=c[j>>2];c[f+4>>2]=g;c[f+8>>2]=k;Bf(24219,f)}else{i=e;return (c[h>>2]|0)+8|0}return 0}function Yh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=d+12|0;c[g>>2]=b;if(!(c[g>>2]|0)){i=d;return}b=(mw(c[g>>2]|0,24167,3)|0)!=0;h=c[g>>2]|0;if(b){c[f>>2]=h;Bf(24276,f)}f=c[g>>2]|0;if((a[h+3>>0]|0)!=1){c[e>>2]=a[f+3>>0];Bf(24318,e)}if(c[f+4>>2]|0)xb[c[(c[g>>2]|0)+4>>2]&15]((c[g>>2]|0)+8|0);$f(c[g>>2]|0);i=d;return}function Zh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=_h(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37933;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function _h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=$h(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[1392+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function $h(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;if((c[j>>2]|0)>=65536)c[l>>2]=71;else c[l>>2]=bi(m,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]|0?0:c[m>>2]|0;i=f;return c[l>>2]|0}function bi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[l>>2]&1;c[o>>2]=0;Sn();c[n>>2]=_h(c[j>>2]|0)|0;do if(c[n>>2]|0)if(a[(c[n>>2]|0)+4>>0]&1|0){c[p>>2]=12;break}else{c[p>>2]=0;break}else c[p>>2]=12;while(0);do if(!(c[p>>2]|0)){if((c[l>>2]&-16|0)==0?(c[l>>2]&0|0)==0:0)break;c[p>>2]=12}while(0);a:do if(!(c[p>>2]|0)){f=c[k>>2]|0;b:do if((f|0)<6)switch(f|0){case 5:case 2:case 3:case 1:{break b;break}case 4:{if(c[(c[n>>2]|0)+44>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0)break a;c[p>>2]=71;break a;break}case 0:{if((Ah()|0)==0?jg(0)|0:0)break a;c[p>>2]=71;break a;break}default:{s=37;break b}}else{if((f|0)<9){switch(f|0){case 7:case 6:{break b;break}case 8:break;default:{s=37;break b}}if((c[(c[n>>2]|0)+20>>2]|0)!=16)c[p>>2]=71;if(c[(c[n>>2]|0)+36>>2]|0?c[(c[n>>2]|0)+40>>2]|0:0)break a;c[p>>2]=71;break a}if((f|0)<11){switch(f|0){case 9:{break b;break}case 10:break;default:{s=37;break b}}if((c[(c[n>>2]|0)+44>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0)?c[(c[n>>2]|0)+60>>2]|0:0){if((c[c[n>>2]>>2]|0)==316)break a;c[p>>2]=71;break a}c[p>>2]=71;break a}if((f|0)>=65537)switch(f|0){case 65537:{break b;break}default:{s=37;break b}}switch(f|0){case 11:break;default:{s=37;break b}}if(c[(c[n>>2]|0)+36>>2]|0?c[(c[n>>2]|0)+40>>2]|0:0){if((c[(c[n>>2]|0)+20>>2]|0)==16)break a;c[p>>2]=71;break a}c[p>>2]=71;break a}while(0);if((s|0)==37){c[p>>2]=71;break}if(c[(c[n>>2]|0)+36>>2]|0?c[(c[n>>2]|0)+40>>2]|0:0)break;c[p>>2]=71}while(0);if(c[p>>2]|0){t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}c[q>>2]=512+(c[(c[n>>2]|0)+28>>2]<<1)-16+15;s=c[q>>2]|0;if(c[m>>2]|0)c[o>>2]=bg(1,s)|0;else c[o>>2]=ag(1,s)|0;if(!(c[o>>2]|0)){c[p>>2]=iu()|0;t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}c[r>>2]=0;if(c[o>>2]&15|0){c[r>>2]=16-(c[o>>2]&15);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[c[o>>2]>>2]=c[m>>2]|0?1183944770:604576100;c[(c[o>>2]|0)+4>>2]=(c[q>>2]|0)-(c[r>>2]|0);c[(c[o>>2]|0)+8>>2]=c[r>>2];c[(c[o>>2]|0)+12>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=c[j>>2];c[(c[o>>2]|0)+48>>2]=c[k>>2];c[(c[o>>2]|0)+52>>2]=c[l>>2];switch(c[j>>2]|0){case 9:case 8:case 7:{c[(c[o>>2]|0)+20>>2]=1;c[(c[o>>2]|0)+20+4>>2]=2;c[(c[o>>2]|0)+20+8>>2]=1;c[(c[o>>2]|0)+20+12>>2]=3;c[(c[o>>2]|0)+20+16>>2]=4;c[(c[o>>2]|0)+20+20>>2]=5;c[(c[o>>2]|0)+20+24>>2]=2;break}case 303:case 10:{c[(c[o>>2]|0)+20+12>>2]=6;c[(c[o>>2]|0)+20+4>>2]=7;c[(c[o>>2]|0)+20+16>>2]=8;break}default:{}}if((c[k>>2]|0)!=11){t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}a[(c[o>>2]|0)+128+352>>0]=16;t=c[p>>2]|0;u=(t|0)!=0;v=c[o>>2]|0;w=u?0:v;x=c[h>>2]|0;c[x>>2]=w;y=c[p>>2]|0;z=ci(y)|0;i=g;return z|0}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(32,c[d>>2]|0)|0;i=b;return a|0}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=ei(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function fi(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+28|0;l=e;m=e+8|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if((c[c[f>>2]>>2]|0)!=1183944770?(c[c[f>>2]>>2]|0)!=604576100:0)qf(63,24367);c[c[f>>2]>>2]=0;c[g>>2]=c[(c[f>>2]|0)+8>>2];c[h>>2]=c[f>>2];c[j>>2]=c[(c[f>>2]|0)+4>>2];a[k>>0]=0;b=l;c[b>>2]=d[k>>0];c[b+4>>2]=0;while(1){if(!(c[h>>2]&7|0?(c[j>>2]|0)!=0:0))break;a[c[h>>2]>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)>>>0>=8){b=l;n=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=l;c[b>>2]=n;c[b+4>>2]=C;do{c[m>>2]=c[h>>2];b=l;n=c[b+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[b>>2];c[o+4>>2]=n;c[j>>2]=(c[j>>2]|0)-8;c[h>>2]=(c[h>>2]|0)+8}while((c[j>>2]|0)>>>0>=8)}while(1){if(!(c[j>>2]|0))break;a[c[h>>2]>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}$f((c[f>>2]|0)+(0-(c[g>>2]|0))|0);i=e;return}function gi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[l>>2]=c[j>>2];c[m>>2]=c[k>>2]}c[n>>2]=hi(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[j>>2]|0)!=0)){o=c[n>>2]|0;i=g;return o|0}Fx(c[j>>2]|0,66,c[k>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function hi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[(c[j>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[o>>2]=cr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 7:{c[o>>2]=Jq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 8:{c[o>>2]=Uq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}if((f|0)<11)switch(f|0){case 9:{c[o>>2]=fr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 10:{c[o>>2]=Tr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}if((f|0)<65537)switch(f|0){case 11:{c[o>>2]=Kr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}else switch(f|0){case 65537:{c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}}else switch(f|0){case 1:{c[o>>2]=ii(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 3:{c[o>>2]=Mq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 2:{c[o>>2]=Wq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 5:{c[o>>2]=Or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 4:{Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+44>>2]&1]((c[j>>2]|0)+496|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=0;break a;break}case 0:{if((Ah()|0)==0?jg(0)|0:0){if((c[m>>2]|0)!=(c[k>>2]|0))Ex(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=0;break a}Jh(24416,875,24425,0,24440);c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24462,h)}}while(0);i=g;return c[o>>2]|0}function ii(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=ji(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+36>>2]|0)|0;i=g;return f|0}function ji(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;i=i+48|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[j>>2]=200;v=c[j>>2]|0;i=h;return v|0}if(((c[o>>2]|0)>>>0)%((c[q>>2]|0)>>>0)|0|0){c[j>>2]=139;v=c[j>>2]|0;i=h;return v|0}c[s>>2]=((c[o>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;c[t>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;c[u>>2]=vb[c[p>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;c[n>>2]=(c[n>>2]|0)+(c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((c[t>>2]|0)>>>0>0){If((c[t>>2]|0)+16|0);Jf()}c[j>>2]=0;v=c[j>>2]|0;i=h;return v|0}function ki(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[l>>2]=c[j>>2];c[m>>2]=c[k>>2]}f=li(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function li(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+32|0;h=g;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;f=c[(c[j>>2]|0)+48>>2]|0;a:do if((f|0)>=6){if((f|0)<9)switch(f|0){case 6:{c[o>>2]=cr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 7:{c[o>>2]=Lq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 8:{c[o>>2]=Vq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}if((f|0)<11)switch(f|0){case 9:{c[o>>2]=or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 10:{c[o>>2]=Wr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}if((f|0)<65537)switch(f|0){case 11:{c[o>>2]=Nr(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}else switch(f|0){case 65537:{c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}}else switch(f|0){case 1:{c[o>>2]=mi(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 3:{c[o>>2]=Pq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 2:{c[o>>2]=Zq(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 5:{c[o>>2]=Or(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break a;break}case 4:{Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+48>>2]&1]((c[j>>2]|0)+496|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);c[o>>2]=0;break a;break}case 0:{if((Ah()|0)==0?jg(0)|0:0){if((c[m>>2]|0)!=(c[k>>2]|0))Ex(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[o>>2]=0;break a}Jh(24416,992,24495,0,24440);c[o>>2]=71;break a;break}default:{p=c[j>>2]|0;q=p+48|0;r=c[q>>2]|0;c[h>>2]=r;Bf(24510,h)}}while(0);i=g;return c[o>>2]|0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=ji(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[(c[(c[h>>2]|0)+12>>2]|0)+40>>2]|0)|0;i=g;return f|0}function ni(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=oi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function oi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=vb[c[(c[(c[g>>2]|0)+12>>2]|0)+32>>2]&63]((c[g>>2]|0)+496|0,c[h>>2]|0,c[j>>2]|0)|0;j=c[g>>2]|0;a:do if(!(c[k>>2]|0)){Dx(j+496+(c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0,(c[g>>2]|0)+496|0,c[(c[(c[g>>2]|0)+12>>2]|0)+28>>2]|0)|0;h=(c[g>>2]|0)+56|0;a[h>>0]=a[h>>0]&-2|1;h=c[(c[g>>2]|0)+48>>2]|0;if((h|0)<10){switch(h|0){case 9:break;default:break a}pr(c[g>>2]|0);break}if((h|0)<65537){switch(h|0){case 10:break;default:break a}Xr(c[g>>2]|0);break}else{switch(h|0){case 65537:break;default:break a}ar(c[g>>2]|0)|0;break}}else{h=j+56|0;a[h>>0]=a[h>>0]&-2}while(0);i=f;return c[k>>2]|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;switch(c[(c[f>>2]|0)+48>>2]|0){case 8:{c[j>>2]=Rq(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=gr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=Rr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[j>>2]=Gr(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=qi(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0}i=e;return c[j>>2]|0}function qi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;if(c[(c[(c[j>>2]|0)+12>>2]|0)+60>>2]|0){Ab[c[(c[e+12>>2]|0)+60>>2]&7]((c[j>>2]|0)+496|0,c[k>>2]|0,c[l>>2]|0);c[h>>2]=0;m=c[h>>2]|0;i=f;return m|0}Fx(e+64|0,0,c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)|0;if(c[k>>2]|0){if((c[l>>2]|0)!=(c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)){e=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0;c[g>>2]=c[l>>2];c[g+4>>2]=e;yf(24543,g);Jh(24416,682,24586,0,24599)}if((c[l>>2]|0)>>>0>(c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)>>>0)c[l>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];Dx((c[j>>2]|0)+64|0,c[k>>2]|0,c[l>>2]|0)|0;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3|2}else{l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3}c[(c[j>>2]|0)+112>>2]=0;c[h>>2]=0;m=c[h>>2]|0;i=f;return m|0}function ri(){return 0}function si(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=_h(c[g>>2]|0)|0;if((c[l>>2]|0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?c[(c[l>>2]|0)+52>>2]|0:0){c[k>>2]=vb[c[(c[l>>2]|0)+52>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}c[k>>2]=12;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}h=c[j>>2]|0;j=c[g>>2]|0;if(c[l>>2]|0?!(a[(c[l>>2]|0)+4>>0]&1|0):0)o=38004;else o=c[l>>2]|0?37965:37984;Fb[h&1](38634,j,38026,o);m=c[k>>2]|0;n=ti(m)|0;i=f;return n|0}function ti(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ei(1,c[d>>2]|0)|0;i=b;return a|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+16|0;l=g+12|0;m=g+8|0;n=g+4|0;o=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[o>>2]=0;if(!(c[k>>2]|0)){c[n>>2]=0;while(1){if(!(c[1416+((c[n>>2]|0)*48|0)>>2]|0))break;if((c[j>>2]|0)==(c[1416+((c[n>>2]|0)*48|0)+4>>2]|0)?(c[1416+((c[n>>2]|0)*48|0)+12>>2]|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if(!(c[1416+((c[n>>2]|0)*48|0)>>2]|0))c[n>>2]=-1}else c[n>>2]=vi(c[k>>2]|0)|0;if((c[n>>2]|0)<0){c[h>>2]=188;p=c[h>>2]|0;i=g;return p|0}c[o>>2]=c[1416+((c[n>>2]|0)*48|0)>>2];if(Ah()|0?(a[1416+((c[n>>2]|0)*48|0)+8>>0]&1|0)==0:0){c[h>>2]=60;p=c[h>>2]|0;i=g;return p|0}if((c[1416+((c[n>>2]|0)*48|0)+12>>2]|0)>>>0>=3){c[h>>2]=59;p=c[h>>2]|0;i=g;return p|0}if(c[m>>2]|0)c[c[m>>2]>>2]=c[1416+((c[n>>2]|0)*48|0)+4>>2];if(c[l>>2]|0){c[c[l>>2]>>2]=c[1416+((c[n>>2]|0)*48|0)+12>>2];c[(c[l>>2]|0)+4>>2]=c[1416+((c[n>>2]|0)*48|0)+16>>2];if(!(c[(c[l>>2]|0)+8>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+20>>2]|0)|0;c[(c[l>>2]|0)+8>>2]=m}if(!(c[(c[l>>2]|0)+12>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+24>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=m}if(!(c[(c[l>>2]|0)+16>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+28>>2]|0)|0;c[(c[l>>2]|0)+16>>2]=m}if(!(c[(c[l>>2]|0)+32>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+32>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=m}if(!(c[(c[l>>2]|0)+36>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+44>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=m}if(!(c[(c[l>>2]|0)+20>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+36>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=m}if(!(c[(c[l>>2]|0)+20+4>>2]|0)){m=wi(c[1416+((c[n>>2]|0)*48|0)+40>>2]|0)|0;c[(c[l>>2]|0)+20+4>>2]=m}if(!(c[(c[l>>2]|0)+20+8>>2]|0)){m=_p(1)|0;c[(c[l>>2]|0)+20+8>>2]=m}if(!(c[(c[l>>2]|0)+40>>2]|0))c[(c[l>>2]|0)+40>>2]=c[o>>2]}c[h>>2]=0;p=c[h>>2]|0;i=g;return p|0}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=0;while(1){if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0))break;a=(gv(c[e>>2]|0,c[1416+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;h=c[f>>2]|0;if(!a){j=4;break}c[f>>2]=h+1}if((j|0)==4){c[d>>2]=h;k=c[d>>2]|0;i=b;return k|0}a:do if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0)){c[g>>2]=0;while(1){if(!(c[2472+(c[g>>2]<<3)>>2]|0))break;if(!(gv(c[e>>2]|0,c[2472+(c[g>>2]<<3)+4>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}if(c[2472+(c[g>>2]<<3)>>2]|0){c[f>>2]=0;while(1){if(!(c[1416+((c[f>>2]|0)*48|0)>>2]|0))break a;h=(gv(c[2472+(c[g>>2]<<3)>>2]|0,c[1416+((c[f>>2]|0)*48|0)>>2]|0)|0)!=0;l=c[f>>2]|0;if(!h)break;c[f>>2]=l+1}c[d>>2]=l;k=c[d>>2]|0;i=b;return k|0}}while(0);c[d>>2]=-1;k=c[d>>2]|0;i=b;return k|0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Dp(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=fu(c[f>>2]|0)|0;Bf(35818,d)}else{i=b;return c[g>>2]|0}return 0}function xi(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;l=i;i=i+64|0;m=l+48|0;n=l+44|0;o=l+40|0;p=l+36|0;q=l+32|0;r=l+28|0;s=l+24|0;t=l+20|0;u=l+16|0;v=l+12|0;w=l+8|0;x=l+4|0;y=l;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=vi(c[n>>2]|0)|0;if((c[w>>2]|0)<0){c[m>>2]=188;z=c[m>>2]|0;i=l;return z|0}do if(c[t>>2]|0){c[y>>2]=4;n=Kv((c[1416+((c[w>>2]|0)*48|0)+36>>2]|0)+2|0)|0;c[y>>2]=(c[y>>2]|0)+n;n=Kv((c[1416+((c[w>>2]|0)*48|0)+40>>2]|0)+2|0)|0;c[y>>2]=(c[y>>2]|0)+n;c[y>>2]=(c[y>>2]|0)+1;c[x>>2]=Vf(c[y>>2]|0)|0;if(c[x>>2]|0){n=Xv(c[x>>2]|0,35557)|0;k=Xv(n,(c[1416+((c[w>>2]|0)*48|0)+36>>2]|0)+2|0)|0;Wv(k,(c[1416+((c[w>>2]|0)*48|0)+40>>2]|0)+2|0)|0;xq(c[c[t>>2]>>2]|0);k=wi(c[x>>2]|0)|0;c[c[t>>2]>>2]=k;$f(c[x>>2]|0);break}c[m>>2]=iu()|0;z=c[m>>2]|0;i=l;return z|0}while(0);if(c[o>>2]|0)c[c[o>>2]>>2]=c[1416+((c[w>>2]|0)*48|0)+12>>2];if(c[p>>2]|0)c[c[p>>2]>>2]=c[1416+((c[w>>2]|0)*48|0)+16>>2];if(c[q>>2]|0){xq(c[c[q>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+20>>2]|0)|0;c[c[q>>2]>>2]=p}if(c[r>>2]|0){xq(c[c[r>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+24>>2]|0)|0;c[c[r>>2]>>2]=p}if(c[s>>2]|0){xq(c[c[s>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+28>>2]|0)|0;c[c[s>>2]>>2]=p}if(c[u>>2]|0){xq(c[c[u>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+32>>2]|0)|0;c[c[u>>2]>>2]=p}if(c[v>>2]|0){xq(c[c[v>>2]>>2]|0);p=wi(c[1416+((c[w>>2]|0)*48|0)+44>>2]|0)|0;c[c[v>>2]>>2]=p}c[m>>2]=0;z=c[m>>2]|0;i=l;return z|0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+128|0;f=e;g=e+112|0;h=e+108|0;j=e+104|0;k=e+100|0;l=e+96|0;m=e+92|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+36|0;r=e+32|0;s=e+28|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=0;c[o>>2]=0;c[p>>2]=0;d=n;b=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));if(c[k>>2]|0)c[c[k>>2]>>2]=0;if(!(c[h>>2]|0)){c[q>>2]=c[j>>2];if((c[q>>2]|0)>=0&(c[q>>2]|0)>>>0<22?(c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2],c[k>>2]|0):0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2];c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}j=c[h>>2]|0;c[f>>2]=n+8;c[f+4>>2]=n+12;c[f+8>>2]=n+16;c[f+12>>2]=o;c[f+16>>2]=n+32;c[f+20>>2]=n+36;c[f+24>>2]=0;c[l>>2]=zi(Rg(j,0,35562,f)|0)|0;a:do if((c[l>>2]|0)==68){c[r>>2]=xg(c[h>>2]|0,47161,5)|0;if(c[r>>2]|0?(c[s>>2]=Eg(c[r>>2]|0,1)|0,vg(c[r>>2]|0),c[s>>2]|0):0){c[q>>2]=vi(c[s>>2]|0)|0;$f(c[s>>2]|0);if((c[q>>2]|0)>=0?(c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2],c[k>>2]|0):0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2];c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}}else if(!(c[l>>2]|0)){if(c[o>>2]|0?(co(n+20|0),dj(n+20|0,c[o>>2]|0)|0):0)break;c[q>>2]=0;while(1){if(!(c[1416+((c[q>>2]|0)*48|0)>>2]|0))break a;hq(c[p>>2]|0);c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+20>>2]|0)|0;if(((((((ap(c[p>>2]|0,c[n+8>>2]|0)|0)==0?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+24>>2]|0)|0,(ap(c[p>>2]|0,c[n+12>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+28>>2]|0)|0,(ap(c[p>>2]|0,c[n+16>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+32>>2]|0)|0,(ap(c[p>>2]|0,c[n+32>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+44>>2]|0)|0,(ap(c[p>>2]|0,c[n+36>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+36>>2]|0)|0,(ap(c[p>>2]|0,c[n+20>>2]|0)|0)==0):0)?(hq(c[p>>2]|0),c[p>>2]=wi(c[1416+((c[q>>2]|0)*48|0)+40>>2]|0)|0,(ap(c[p>>2]|0,c[n+20+4>>2]|0)|0)==0):0)break;c[q>>2]=(c[q>>2]|0)+1}c[m>>2]=c[1416+((c[q>>2]|0)*48|0)>>2];if(c[k>>2]|0)c[c[k>>2]>>2]=c[1416+((c[q>>2]|0)*48|0)+4>>2]}while(0);xq(c[p>>2]|0);xq(c[n+8>>2]|0);xq(c[n+12>>2]|0);xq(c[n+16>>2]|0);xq(c[o>>2]|0);fo(n+20|0);xq(c[n+32>>2]|0);xq(c[n+36>>2]|0);c[g>>2]=c[m>>2];t=c[g>>2]|0;i=e;return t|0}function zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;i=i+80|0;f=e+76|0;g=e+72|0;h=e+68|0;j=e+64|0;k=e+60|0;l=e+56|0;m=e+52|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+36|0;r=e+32|0;s=e+28|0;t=e+24|0;u=e+20|0;v=e+16|0;w=e+12|0;x=e+8|0;y=e+4|0;z=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[c[f>>2]>>2]=0;do if(c[g>>2]|0){c[w>>2]=xg(c[g>>2]|0,47167,0)|0;if(c[w>>2]|0?(c[j>>2]=jk(c[w>>2]|0,v,0)|0,vg(c[w>>2]|0),c[w>>2]=0,c[j>>2]|0):0)break;c[w>>2]=xg(c[g>>2]|0,47161,5)|0;if(c[w>>2]|0?(c[v>>2]&512|0)==0:0){A=13;break}c[j>>2]=Bi(n,c[g>>2]|0,48644)|0;if((((((c[j>>2]|0)==0?(c[j>>2]=Bi(o,c[g>>2]|0,39370)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(p,c[g>>2]|0,35570)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Ci(q,c[g>>2]|0,35572,0)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(r,c[g>>2]|0,39374)|0,(c[j>>2]|0)==0):0)?(c[j>>2]=Bi(s,c[g>>2]|0,35583)|0,(c[j>>2]|0)==0):0)A=13}else{c[w>>2]=0;A=13}while(0);do if((A|0)==13){if((c[w>>2]|0)!=0|(c[h>>2]|0)!=0){if(c[w>>2]|0){c[x>>2]=Eg(c[w>>2]|0,1)|0;vg(c[w>>2]|0);if(!(c[x>>2]|0)){c[j>>2]=65;break}}else c[x>>2]=0;c[y>>2]=ag(1,44)|0;if(!(c[y>>2]|0)){c[j>>2]=iu()|0;$f(c[x>>2]|0);break}c[j>>2]=ui(0,c[x>>2]|0?c[x>>2]|0:c[h>>2]|0,c[y>>2]|0,0)|0;$f(c[x>>2]|0);d=c[y>>2]|0;if(c[j>>2]|0){$f(d);break}c[l>>2]=c[d>>2];c[m>>2]=c[(c[y>>2]|0)+4>>2];if(!(c[n>>2]|0)){c[n>>2]=c[(c[y>>2]|0)+8>>2];c[(c[y>>2]|0)+8>>2]=0}if(!(c[o>>2]|0)){c[o>>2]=c[(c[y>>2]|0)+12>>2];c[(c[y>>2]|0)+12>>2]=0}if(!(c[p>>2]|0)){c[p>>2]=c[(c[y>>2]|0)+16>>2];c[(c[y>>2]|0)+16>>2]=0}if(!(c[q>>2]|0)){c[q>>2]=ho(0,c[(c[y>>2]|0)+20>>2]|0,c[(c[y>>2]|0)+20+4>>2]|0,c[(c[y>>2]|0)+20+8>>2]|0)|0;c[(c[y>>2]|0)+20>>2]=0;c[(c[y>>2]|0)+20+4>>2]=0;c[(c[y>>2]|0)+20+8>>2]=0}if(!(c[r>>2]|0)){c[r>>2]=c[(c[y>>2]|0)+32>>2];c[(c[y>>2]|0)+32>>2]=0}if(!(c[s>>2]|0)){c[s>>2]=c[(c[y>>2]|0)+36>>2];c[(c[y>>2]|0)+36>>2]=0}Yi(c[y>>2]|0);$f(c[y>>2]|0)}c[j>>2]=lo(k,c[l>>2]|0,c[m>>2]|0,c[v>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(!(c[j>>2]|0)){c[z>>2]=Xh(c[k>>2]|0,1)|0;if(c[p>>2]|0){hq(c[(c[z>>2]|0)+24>>2]|0);c[(c[z>>2]|0)+24>>2]=c[p>>2];c[p>>2]=0}if(c[q>>2]|0){c[(c[z>>2]|0)+28>>2]=c[q>>2];c[q>>2]=0}if(c[r>>2]|0){c[(c[z>>2]|0)+32>>2]=c[r>>2];c[r>>2]=0}if(c[s>>2]|0){c[(c[z>>2]|0)+36>>2]=c[s>>2];c[s>>2]=0}if(c[g>>2]|0){c[j>>2]=Ci(t,c[g>>2]|0,49872,c[z>>2]|0)|0;if(c[j>>2]|0)break;c[j>>2]=Bi(u,c[g>>2]|0,35585)|0;if(c[j>>2]|0)break}if(c[t>>2]|0){c[(c[z>>2]|0)+40>>2]=c[t>>2];c[t>>2]=0}if(c[u>>2]|0){c[(c[z>>2]|0)+44>>2]=c[u>>2];c[u>>2]=0}c[c[f>>2]>>2]=c[k>>2];c[k>>2]=0}}while(0);Yh(c[k>>2]|0);hq(c[n>>2]|0);hq(c[o>>2]|0);hq(c[p>>2]|0);eo(c[q>>2]|0);hq(c[r>>2]|0);hq(c[s>>2]|0);eo(c[t>>2]|0);hq(c[u>>2]|0);i=e;return c[j>>2]|0}function Bi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=xg(c[g>>2]|0,c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){l=c[j>>2]|0;i=e;return l|0}h=Fg(c[k>>2]|0,1,5)|0;c[c[f>>2]>>2]=h;vg(c[k>>2]|0);if(c[c[f>>2]>>2]|0){l=c[j>>2]|0;i=e;return l|0}c[j>>2]=65;l=c[j>>2]|0;i=e;return l|0}function Ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+64|0;g=f+48|0;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+28|0;n=f+24|0;o=f+20|0;p=f+16|0;q=f+12|0;r=f+8|0;s=f+4|0;t=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[n>>2]=xg(c[j>>2]|0,c[k>>2]|0,0)|0;if(c[n>>2]|0){c[p>>2]=Fg(c[n>>2]|0,1,8)|0;vg(c[n>>2]|0);if(!(c[p>>2]|0)){c[g>>2]=65;u=c[g>>2]|0;i=f;return u|0}c[o>>2]=bo(0)|0;if(c[l>>2]|0?(c[(c[l>>2]|0)+4>>2]|0)==1:0)c[m>>2]=Ni(c[p>>2]|0,c[l>>2]|0,c[o>>2]|0,0,0)|0;else c[m>>2]=dj(c[o>>2]|0,c[p>>2]|0)|0;hq(c[p>>2]|0);if(c[m>>2]|0){eo(c[o>>2]|0);c[o>>2]=0;c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}}else{c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[q>>2]=Vf((Kv(c[k>>2]|0)|0)+2+1|0)|0;if(!(c[q>>2]|0)){c[g>>2]=iu()|0;u=c[g>>2]|0;i=f;return u|0}Wv(Xv(c[q>>2]|0,c[k>>2]|0)|0,35574)|0;c[m>>2]=Bi(r,c[j>>2]|0,c[q>>2]|0)|0;p=c[q>>2]|0;if(c[m>>2]|0){$f(p);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}Wv(Xv(p,c[k>>2]|0)|0,35577)|0;c[m>>2]=Bi(s,c[j>>2]|0,c[q>>2]|0)|0;if(c[m>>2]|0){hq(c[r>>2]|0);$f(c[q>>2]|0);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}Wv(Xv(c[q>>2]|0,c[k>>2]|0)|0,35580)|0;c[m>>2]=Bi(t,c[j>>2]|0,c[q>>2]|0)|0;if(c[m>>2]|0){hq(c[s>>2]|0);hq(c[r>>2]|0);$f(c[q>>2]|0);c[g>>2]=c[m>>2];u=c[g>>2]|0;i=f;return u|0}if(!(c[t>>2]|0))c[t>>2]=sq(0,1)|0;m=c[r>>2]|0;if((c[r>>2]|0)!=0&(c[s>>2]|0)!=0)c[o>>2]=ho(0,m,c[s>>2]|0,c[t>>2]|0)|0;else{hq(m);hq(c[s>>2]|0);hq(c[t>>2]|0);c[o>>2]=0}$f(c[q>>2]|0)}if(c[o>>2]|0)c[c[h>>2]>>2]=c[o>>2];c[g>>2]=0;u=c[g>>2]|0;i=f;return u|0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+144|0;d=b+8|0;e=b;f=b+132|0;g=b+128|0;h=b+124|0;j=b+80|0;k=b+76|0;l=b+72|0;m=b+68|0;n=b+40|0;o=b+36|0;p=b+32|0;c[g>>2]=a;a=j;q=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(q|0));if(ui(0,c[g>>2]|0,j,h)|0){c[f>>2]=0;r=c[f>>2]|0;i=b;return r|0}c[l>>2]=vq(0)|0;c[m>>2]=vq(0)|0;c[k>>2]=jo(0,0,0,c[j+8>>2]|0,c[j+12>>2]|0,0)|0;if(Zn(c[l>>2]|0,c[m>>2]|0,j+20|0,c[k>>2]|0)|0)Bf(35587,e);no(c[k>>2]|0);fo(j+20|0);c[n>>2]=c[j+8>>2];c[n+4>>2]=c[j+12>>2];c[n+8>>2]=c[j+16>>2];c[n+12>>2]=bj(c[l>>2]|0,c[m>>2]|0,c[j+8>>2]|0)|0;c[n+16>>2]=c[j+32>>2];c[n+20>>2]=c[j+36>>2];c[n+24>>2]=0;hq(c[l>>2]|0);hq(c[m>>2]|0);m=c[n+4>>2]|0;l=c[n+8>>2]|0;j=c[n+12>>2]|0;k=c[n+16>>2]|0;e=c[n+20>>2]|0;c[d>>2]=c[n>>2];c[d+4>>2]=m;c[d+8>>2]=l;c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=e;if(Ig(o,0,35636,d)|0)c[o>>2]=0;c[p>>2]=0;while(1){if(!(c[n+(c[p>>2]<<2)>>2]|0))break;xq(c[n+(c[p>>2]<<2)>>2]|0);c[p>>2]=(c[p>>2]|0)+1}c[f>>2]=c[o>>2];r=c[f>>2]|0;i=b;return r|0}function Ei(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,48644)|0)==0?c[(c[j>>2]|0)+16>>2]|0:0){if(c[(c[j>>2]|0)+16>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+16>>2]|0)+12>>2]&32|0)==0):0)o=c[(c[j>>2]|0)+16>>2]|0;else o=mq(c[(c[j>>2]|0)+16>>2]|0)|0;c[g>>2]=o;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,39370)|0)==0?c[(c[j>>2]|0)+20>>2]|0:0){if(c[(c[j>>2]|0)+20>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+20>>2]|0)+12>>2]&32|0)==0):0)p=c[(c[j>>2]|0)+20>>2]|0;else p=mq(c[(c[j>>2]|0)+20>>2]|0)|0;c[g>>2]=p;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35570)|0)==0?c[(c[j>>2]|0)+24>>2]|0:0){if(c[(c[j>>2]|0)+24>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+24>>2]|0)+12>>2]&32|0)==0):0)q=c[(c[j>>2]|0)+24>>2]|0;else q=mq(c[(c[j>>2]|0)+24>>2]|0)|0;c[g>>2]=q;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,39374)|0)==0?c[(c[j>>2]|0)+32>>2]|0:0){if(c[(c[j>>2]|0)+32>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+32>>2]|0)+12>>2]&32|0)==0):0)r=c[(c[j>>2]|0)+32>>2]|0;else r=mq(c[(c[j>>2]|0)+32>>2]|0)|0;c[g>>2]=r;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35583)|0)==0?c[(c[j>>2]|0)+36>>2]|0:0){if(c[(c[j>>2]|0)+36>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+36>>2]|0)+12>>2]&32|0)==0):0)s=c[(c[j>>2]|0)+36>>2]|0;else s=mq(c[(c[j>>2]|0)+36>>2]|0)|0;c[g>>2]=s;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35585)|0)==0?c[(c[j>>2]|0)+44>>2]|0:0){if(c[(c[j>>2]|0)+44>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[j>>2]|0)+44>>2]|0)+12>>2]&32|0)==0):0)t=c[(c[j>>2]|0)+44>>2]|0;else t=mq(c[(c[j>>2]|0)+44>>2]|0)|0;c[g>>2]=t;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35684)|0)==0?c[(c[j>>2]|0)+28>>2]|0:0)?c[c[(c[j>>2]|0)+28>>2]>>2]|0:0){if(c[c[(c[j>>2]|0)+28>>2]>>2]|0?!(c[k>>2]|0?1:(c[(c[c[(c[j>>2]|0)+28>>2]>>2]|0)+12>>2]&32|0)==0):0)u=c[c[(c[j>>2]|0)+28>>2]>>2]|0;else u=mq(c[c[(c[j>>2]|0)+28>>2]>>2]|0)|0;c[g>>2]=u;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35688)|0)==0?c[(c[j>>2]|0)+28>>2]|0:0)?c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0:0){if(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)v=c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0;else v=mq(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)|0;c[g>>2]=v;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35692)|0)==0?c[(c[j>>2]|0)+40>>2]|0:0)?c[c[(c[j>>2]|0)+40>>2]>>2]|0:0){if(c[c[(c[j>>2]|0)+40>>2]>>2]|0?!(c[k>>2]|0?1:(c[(c[c[(c[j>>2]|0)+40>>2]>>2]|0)+12>>2]&32|0)==0):0)w=c[c[(c[j>>2]|0)+40>>2]>>2]|0;else w=mq(c[c[(c[j>>2]|0)+40>>2]>>2]|0)|0;c[g>>2]=w;n=c[g>>2]|0;i=f;return n|0}if(((gv(c[h>>2]|0,35696)|0)==0?c[(c[j>>2]|0)+40>>2]|0:0)?c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0:0){if(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0?!(c[k>>2]|0?1:(c[(c[(c[(c[j>>2]|0)+28>>2]|0)+4>>2]|0)+12>>2]&32|0)==0):0)x=c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0;else x=mq(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)|0;c[g>>2]=x;n=c[g>>2]|0;i=f;return n|0}if((gv(c[h>>2]|0,35572)|0)==0?c[(c[j>>2]|0)+28>>2]|0:0){c[g>>2]=cj(c[(c[j>>2]|0)+28>>2]|0,c[j>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}do if((a[c[h>>2]>>0]|0)==113){if(a[(c[h>>2]|0)+1>>0]|0?(a[(c[h>>2]|0)+1>>0]|0)!=64:0)break;if(!(c[(c[j>>2]|0)+40>>2]|0)){x=ej(0,c[j>>2]|0,0,0)|0;c[(c[j>>2]|0)+40>>2]=x}if(!(c[(c[j>>2]|0)+40>>2]|0)){c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}if((a[(c[h>>2]|0)+1>>0]|0)!=64){c[g>>2]=cj(c[(c[j>>2]|0)+40>>2]|0,c[j>>2]|0)|0;n=c[g>>2]|0;i=f;return n|0}if((gv((c[h>>2]|0)+2|0,47127)|0)==0?(c[c[j>>2]>>2]|0)==2:0){if(Ii(c[(c[j>>2]|0)+40>>2]|0,c[j>>2]|0,0,0,0,l,m)|0)break;c[g>>2]=iq(0,c[l>>2]|0,c[m>>2]<<3)|0;n=c[g>>2]|0;i=f;return n|0}}while(0);c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if((gv(c[f>>2]|0,35572)|0)==0?c[(c[g>>2]|0)+28>>2]|0:0){c[e>>2]=Gi(c[(c[g>>2]|0)+28>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}if(!(gv(c[f>>2]|0,49872)|0)){if(!(c[(c[g>>2]|0)+40>>2]|0)){f=ej(0,c[g>>2]|0,0,0)|0;c[(c[g>>2]|0)+40>>2]=f}if(c[(c[g>>2]|0)+40>>2]|0){c[e>>2]=Gi(c[(c[g>>2]|0)+40>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}}c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(c[d>>2]|0){c[e>>2]=bo(0)|0;Hi(c[e>>2]|0,c[d>>2]|0);f=c[e>>2]|0;i=b;return f|0}else{c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Ii(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;i=i+48|0;k=j+40|0;l=j+36|0;m=j+32|0;n=j+28|0;o=j+24|0;p=j+20|0;q=j+16|0;r=j+12|0;s=j+8|0;t=j+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;if(c[m>>2]|0)u=c[m>>2]|0;else u=vq(0)|0;c[s>>2]=u;if(c[n>>2]|0)v=c[n>>2]|0;else v=vq(0)|0;c[t>>2]=v;if(Zn(c[s>>2]|0,c[t>>2]|0,c[k>>2]|0,c[l>>2]|0)|0){Af(35700,j);c[r>>2]=63}else c[r>>2]=Ji(c[s>>2]|0,c[t>>2]|0,((c[(c[l>>2]|0)+12>>2]|0)>>>0)/8|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0))hq(c[s>>2]|0);if(c[n>>2]|0){w=c[r>>2]|0;i=j;return w|0}hq(c[t>>2]|0);w=c[r>>2]|0;i=j;return w|0}function Ji(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=i;i=i+48|0;l=k+36|0;m=k+32|0;n=k+28|0;o=k+24|0;p=k+20|0;q=k+16|0;r=k+12|0;s=k+8|0;t=k+4|0;u=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[u>>2]=c[p>>2]|0?1:0;c[s>>2]=Bp(c[n>>2]|0,c[o>>2]|0,c[u>>2]|0?-1:0,t,0)|0;if(!(c[s>>2]|0)){c[l>>2]=iu()|0;v=c[l>>2]|0;i=k;return v|0}o=(So(c[m>>2]|0,0)|0)!=0;if(o&(c[t>>2]|0)!=0){o=(c[s>>2]|0)+((c[u>>2]|0)+(c[t>>2]|0)-1)|0;a[o>>0]=d[o>>0]|0|128}if(c[u>>2]|0)a[c[s>>2]>>0]=64;c[c[q>>2]>>2]=c[s>>2];c[c[r>>2]>>2]=(c[t>>2]|0)+(c[u>>2]|0);c[l>>2]=0;v=c[l>>2]|0;i=k;return v|0}function Ki(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[k>>2]=kq(c[g>>2]|0,l)|0;if(!(c[k>>2]|0)){c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}c[l>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;do if((c[l>>2]|0)>>>0>1?((c[l>>2]|0)>>>0)%2|0|0:0){b=c[k>>2]|0;if((d[c[k>>2]>>0]|0|0)!=4){if((d[b>>0]|0|0)!=64)break;if(jq(c[g>>2]|0,(c[k>>2]|0)+1|0,(c[l>>2]|0)-1<<3)|0)break;c[f>>2]=iu()|0;q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(m,1,b+1|0,(((c[l>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(n,1,(c[k>>2]|0)+1+((((c[l>>2]|0)-1|0)>>>0)/2|0)|0,(((c[l>>2]|0)-1|0)>>>0)/2|0,0)|0;b=c[m>>2]|0;if(c[j>>2]|0){hq(b);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Ji(b,c[n>>2]|0,((c[h>>2]|0)>>>0)/8|0,0,o,p)|0;hq(c[m>>2]|0);hq(c[n>>2]|0);if(!(c[j>>2]|0)){iq(c[g>>2]|0,c[o>>2]|0,c[p>>2]<<3)|0;break}c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}function Li(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=0;if((c[(c[l>>2]|0)+4>>2]|0)!=1){c[g>>2]=69;r=c[g>>2]|0;i=f;return r|0}if(!(c[17696]|0))c[17696]=Mi(35753)|0;if(!(c[17697]|0))c[17697]=sq(0,7)|0;c[n>>2]=vq(0)|0;c[o>>2]=vq(0)|0;c[p>>2]=vq(0)|0;c[q>>2]=vq(0)|0;vp(c[n>>2]|0,c[j>>2]|0,c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[o>>2]|0,c[(c[l>>2]|0)+24>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);Mo(c[n>>2]|0,c[n>>2]|0,1);Ko(c[o>>2]|0,c[o>>2]|0,1);j=c[p>>2]|0;e=c[o>>2]|0;d=Aq(3)|0;wp(j,e,d,c[(c[l>>2]|0)+16>>2]|0);wp(c[q>>2]|0,c[o>>2]|0,c[17697]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);wp(c[q>>2]|0,c[q>>2]|0,c[17696]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[h>>2]|0,c[q>>2]|0,c[p>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0);nq(c[q>>2]|0,c[q>>2]|0);if(!(ap(c[q>>2]|0,c[n>>2]|0)|0)){if(!(c[17698]|0))c[17698]=Mi(35853)|0;vp(c[h>>2]|0,c[h>>2]|0,c[17698]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[h>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0);vp(c[q>>2]|0,c[q>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0);nq(c[q>>2]|0,c[q>>2]|0);if(!(ap(c[q>>2]|0,c[n>>2]|0)|0))c[m>>2]=65}d=So(c[h>>2]|0,0)|0;if((d|0)!=(((c[k>>2]|0)!=0^1^1)&1|0))No(c[h>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);hq(c[q>>2]|0);hq(c[p>>2]|0);hq(c[o>>2]|0);hq(c[n>>2]|0);c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;c[f>>2]=Dp(g,4,c[e>>2]|0,0,0)|0;if(c[f>>2]|0){c[d>>2]=fu(c[f>>2]|0)|0;Bf(35818,d)}else{i=b;return c[g>>2]|0}return 0}function Ni(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+64|0;k=j+48|0;l=j+44|0;m=j+40|0;n=j+36|0;o=j+32|0;p=j+28|0;q=j+24|0;r=j+20|0;s=j+16|0;t=j+12|0;u=j+8|0;v=j+4|0;w=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;do if(c[l>>2]|0?c[(c[l>>2]|0)+12>>2]&4|0:0){c[u>>2]=kq(c[l>>2]|0,s)|0;if(!(c[u>>2]|0)){c[k>>2]=65;x=c[k>>2]|0;i=j;return x|0}c[s>>2]=(((c[s>>2]|0)+7|0)>>>0)/8|0;do if((c[s>>2]|0)>>>0>1?((c[s>>2]|0)>>>0)%2|0|0:0){h=c[u>>2]|0;if((d[c[u>>2]>>0]|0|0)!=4){if((d[h>>0]|0|0)!=64)break;c[s>>2]=(c[s>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1;break}c[q>>2]=Dp(v,1,h+1|0,(((c[s>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}c[q>>2]=Dp(w,1,(c[u>>2]|0)+1+((((c[s>>2]|0)-1|0)>>>0)/2|0)|0,(((c[s>>2]|0)-1|0)>>>0)/2|0,0)|0;if(c[q>>2]|0){hq(c[v>>2]|0);c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}if(c[o>>2]|0?(c[q>>2]=Ji(c[v>>2]|0,c[w>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,0,c[o>>2]|0,c[p>>2]|0)|0,c[q>>2]|0):0){hq(c[v>>2]|0);hq(c[w>>2]|0);c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}qq(c[c[n>>2]>>2]|0,c[v>>2]|0);qq(c[(c[n>>2]|0)+4>>2]|0,c[w>>2]|0);sq(c[(c[n>>2]|0)+8>>2]|0,1)|0;c[k>>2]=0;x=c[k>>2]|0;i=j;return x|0}while(0);c[r>>2]=Vf(c[s>>2]|0?c[s>>2]|0:1)|0;if(c[r>>2]|0){Dx(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0)|0;Oi(c[r>>2]|0,c[s>>2]|0);break}c[k>>2]=iu()|0;x=c[k>>2]|0;i=j;return x|0}else y=21;while(0);if((y|0)==21?(c[r>>2]=zp(c[l>>2]|0,((c[(c[m>>2]|0)+12>>2]|0)>>>0)/8|0,s,0)|0,(c[r>>2]|0)==0):0){c[k>>2]=iu()|0;x=c[k>>2]|0;i=j;return x|0}if(c[s>>2]|0){c[t>>2]=(((d[c[r>>2]>>0]|0)&128|0)!=0^1^1)&1;l=c[r>>2]|0;a[l>>0]=(d[l>>0]|0)&127}else c[t>>2]=0;Cp(c[(c[n>>2]|0)+4>>2]|0,c[r>>2]|0,c[s>>2]|0,0);if(c[o>>2]|0){if((c[t>>2]|0)!=0&(c[s>>2]|0)!=0){l=c[r>>2]|0;a[l>>0]=d[l>>0]|0|128}Oi(c[r>>2]|0,c[s>>2]|0);c[c[o>>2]>>2]=c[r>>2];if(c[p>>2]|0)c[c[p>>2]>>2]=c[s>>2]}else $f(c[r>>2]|0);c[q>>2]=Li(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;sq(c[(c[n>>2]|0)+8>>2]|0,1)|0;c[k>>2]=c[q>>2];x=c[k>>2]|0;i=j;return x|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(((c[h>>2]|0)>>>0)/2|0)>>>0)break;c[j>>2]=d[(c[g>>2]|0)+(c[k>>2]|0)>>0];a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[k>>2]|0))>>0]|0;a[(c[g>>2]|0)+((c[h>>2]|0)-1-(c[k>>2]|0))>>0]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}i=f;return}function Pi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;i=i+80|0;h=g+68|0;j=g+64|0;k=g+60|0;l=g+56|0;m=g+52|0;n=g+48|0;o=g+44|0;p=g+40|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=0;c[c[j>>2]>>2]=0;c[r>>2]=10;if((c[r>>2]|0)!=10){c[h>>2]=5;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=(((c[(c[l>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[h>>2]=63;t=c[h>>2]|0;i=g;return t|0}c[p>>2]=bg(2,c[s>>2]|0)|0;if(!(c[p>>2]|0)){c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0};c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[n>>2]=zp(c[k>>2]|0,0,o,0)|0;k=c[p>>2]|0;if(!(c[n>>2]|0)){$f(k);c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0}c[q+12>>2]=k;c[q+4>>2]=0;if((c[s>>2]|0)>>>0>(c[o>>2]|0)>>>0)u=(c[s>>2]|0)-(c[o>>2]|0)|0;else u=0;c[q+8>>2]=u;c[q+16+12>>2]=c[n>>2];c[q+16+4>>2]=0;c[q+16+8>>2]=c[o>>2];c[m>>2]=Sj(c[r>>2]|0,0,c[p>>2]|0,q,2)|0;$f(c[n>>2]|0);n=c[p>>2]|0;if(c[m>>2]|0){$f(n);c[h>>2]=c[m>>2];t=c[h>>2]|0;i=g;return t|0}else{Oi(n,32);a[c[p>>2]>>0]=(d[c[p>>2]>>0]|0)&127|64;n=(c[p>>2]|0)+31|0;a[n>>0]=(d[n>>0]|0)&248;c[c[j>>2]>>2]=c[p>>2];c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function Qi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=i;i=i+96|0;j=h+80|0;k=h+76|0;l=h+72|0;m=h+68|0;n=h+64|0;o=h+60|0;p=h+56|0;q=h+52|0;r=h+48|0;s=h+36|0;t=h+32|0;u=h+28|0;v=h+24|0;w=h+8|0;x=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=32;c[x>>2]=0;co(s);c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;if(c[m>>2]&32|0)c[t>>2]=1;else c[t>>2]=2;c[p>>2]=wq(0)|0;c[q>>2]=vq(0)|0;c[r>>2]=vq(0)|0;c[x>>2]=Yf(c[o>>2]<<1)|0;if(!(c[x>>2]|0)){c[n>>2]=Ri()|0;fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}c[v>>2]=c[o>>2];c[u>>2]=On(c[v>>2]|0,c[t>>2]|0)|0;c[w+12>>2]=c[u>>2];c[w+8>>2]=c[v>>2];c[n>>2]=Sj(10,0,c[x>>2]|0,w,1)|0;if(c[n>>2]|0){fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}w=iq(0,c[u>>2]|0,c[v>>2]<<3)|0;c[(c[j>>2]|0)+56>>2]=w;c[u>>2]=0;Oi(c[x>>2]|0,32);a[c[x>>2]>>0]=(d[c[x>>2]>>0]|0)&127|64;u=(c[x>>2]|0)+31|0;a[u>>0]=(d[u>>0]|0)&248;Cp(c[p>>2]|0,c[x>>2]|0,32,0);$f(c[x>>2]|0);c[x>>2]=0;Go(s,c[p>>2]|0,(c[k>>2]|0)+20|0,c[l>>2]|0);if(jg(1)|0)Yn(35918,s,c[l>>2]|0);c[c[j>>2]>>2]=c[c[k>>2]>>2];c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];l=mq(c[(c[k>>2]|0)+8>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=l;l=mq(c[(c[k>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=l;l=mq(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;co((c[j>>2]|0)+20|0);Ui((c[j>>2]|0)+20|0,(c[k>>2]|0)+20|0);l=mq(c[(c[k>>2]|0)+32>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=l;l=mq(c[(c[k>>2]|0)+36>>2]|0)|0;c[(c[j>>2]|0)+36>>2]=l;co((c[j>>2]|0)+44|0);Ui((c[j>>2]|0)+44|0,s);fo(s);y=c[p>>2]|0;xq(y);z=c[q>>2]|0;xq(z);A=c[r>>2]|0;xq(A);B=c[x>>2]|0;$f(B);C=c[n>>2]|0;i=h;return C|0}function Ri(){return Si(iu()|0)|0}function Si(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ti(1,c[d>>2]|0)|0;i=b;return a|0}function Ti(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Vi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=i;i=i+160|0;j=h+156|0;k=h+152|0;l=h+148|0;m=h+144|0;n=h+140|0;o=h+136|0;p=h+132|0;q=h+128|0;r=h+124|0;s=h+120|0;t=h+116|0;u=h+112|0;v=h+64|0;w=h+60|0;x=h+56|0;y=h+52|0;z=h+48|0;A=h+44|0;B=h+40|0;C=h+28|0;D=h+16|0;E=h+12|0;F=h+8|0;G=h+4|0;H=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=0;c[y>>2]=0;c[A>>2]=0;g=v;f=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));if(c[k>>2]|0?c[(c[k>>2]|0)+12>>2]&4|0:0){co(C);co(D);c[E>>2]=wq(0)|0;c[F>>2]=vq(0)|0;c[G>>2]=vq(0)|0;c[H>>2]=vq(0)|0;c[r>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[s>>2]=(((c[(c[r>>2]|0)+12>>2]|0)+7|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[j>>2]=63;I=c[j>>2]|0;i=h;return I|0}c[q>>2]=Pi(u,c[(c[l>>2]|0)+56>>2]|0,c[r>>2]|0)|0;do if(!(c[q>>2]|0)){Cp(c[E>>2]|0,c[u>>2]|0,32,0);if(c[p>>2]|0){c[q>>2]=Ni(c[p>>2]|0,c[r>>2]|0,D,A,B)|0;if(c[q>>2]|0)break;if(jg(1)|0)Ff(35932,c[A>>2]|0,c[B>>2]|0);if(!(Io(D,c[r>>2]|0)|0)){c[q>>2]=195;break}}else{Go(D,c[E>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);c[q>>2]=Ii(D,c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,0,A,B)|0;if(c[q>>2]|0)break;if(jg(1)|0)Ff(35939,c[A>>2]|0,c[B>>2]|0)}c[w>>2]=kq(c[k>>2]|0,t)|0;c[x>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(35946,c[w>>2]|0,c[x>>2]|0);c[v+12>>2]=c[u>>2];c[v+4>>2]=32;c[v+8>>2]=32;c[v+16+12>>2]=c[w>>2];c[v+16+8>>2]=c[x>>2];c[q>>2]=Sj(c[o>>2]|0,0,c[u>>2]|0,v,2)|0;if(!(c[q>>2]|0)){Oi(c[u>>2]|0,64);if(jg(1)|0)Ff(53367,c[u>>2]|0,64);Cp(c[H>>2]|0,c[u>>2]|0,64,0);Go(C,c[H>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);if(jg(1)|0)Yn(35953,C,c[r>>2]|0);c[q>>2]=Ii(C,c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,0,y,z)|0;if(!(c[q>>2]|0)){if(jg(1)|0)Ff(35958,c[y>>2]|0,c[z>>2]|0);c[v+12>>2]=c[y>>2];c[v+4>>2]=0;c[v+8>>2]=c[z>>2];c[v+16+12>>2]=c[A>>2];c[v+16+4>>2]=0;c[v+16+8>>2]=c[B>>2];c[v+32+12>>2]=c[w>>2];c[v+32+4>>2]=0;c[v+32+8>>2]=c[x>>2];c[q>>2]=Sj(c[o>>2]|0,0,c[u>>2]|0,v,3)|0;if(!(c[q>>2]|0)){iq(c[m>>2]|0,c[y>>2]|0,c[z>>2]<<3)|0;c[y>>2]=0;Oi(c[u>>2]|0,64);if(jg(1)|0)Ff(35965,c[u>>2]|0,64);Cp(c[n>>2]|0,c[u>>2]|0,64,0);vp(c[n>>2]|0,c[n>>2]|0,c[E>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Oo(c[n>>2]|0,c[n>>2]|0,c[H>>2]|0,c[(c[l>>2]|0)+32>>2]|0);c[q>>2]=Wi(c[n>>2]|0,c[s>>2]|0,y,z)|0;if(!(c[q>>2]|0)){if(jg(1)|0)Ff(35972,c[y>>2]|0,c[z>>2]|0);iq(c[n>>2]|0,c[y>>2]|0,c[z>>2]<<3)|0;c[y>>2]=0;c[q>>2]=0}}}}}while(0);xq(c[E>>2]|0);xq(c[F>>2]|0);xq(c[G>>2]|0);xq(c[H>>2]|0);$f(c[u>>2]|0);no(c[r>>2]|0);fo(C);fo(D);$f(c[A>>2]|0);$f(c[y>>2]|0);c[j>>2]=c[q>>2];I=c[j>>2]|0;i=h;return I|0}c[j>>2]=79;I=c[j>>2]|0;i=h;return I|0}function Wi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=zp(c[h>>2]|0,c[j>>2]|0,n,0)|0;if(c[m>>2]|0){c[c[k>>2]>>2]=c[m>>2];c[c[l>>2]>>2]=c[n>>2];c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}else{c[g>>2]=iu()|0;o=c[g>>2]|0;i=f;return o|0}return 0}function Xi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=i;i=i+240|0;j=h+172|0;k=h+168|0;l=h+164|0;m=h+160|0;n=h+156|0;o=h+152|0;p=h+148|0;q=h+144|0;r=h+140|0;s=h+136|0;t=h+132|0;u=h+120|0;v=h+116|0;w=h+112|0;x=h+108|0;y=h+104|0;z=h+100|0;A=h+96|0;B=h+92|0;C=h+88|0;D=h+176|0;E=h+40|0;F=h+36|0;G=h+32|0;H=h+20|0;I=h+8|0;J=h+4|0;K=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[r>>2]=0;c[v>>2]=0;c[z>>2]=0;if(((c[k>>2]|0?(c[m>>2]|0?(c[(c[k>>2]|0)+12>>2]&4|0)!=0:0):0)?(c[n>>2]|0?(c[(c[m>>2]|0)+12>>2]&4|0)!=0:0):0)?c[(c[n>>2]|0)+12>>2]&4|0:0){if((c[o>>2]|0)!=10){c[j>>2]=5;L=c[j>>2]|0;i=h;return L|0}co(u);co(H);co(I);c[F>>2]=vq(0)|0;c[G>>2]=vq(0)|0;c[r>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[s>>2]=((c[(c[r>>2]|0)+12>>2]|0)>>>0)/8|0;if((c[s>>2]|0)!=32){c[j>>2]=63;L=c[j>>2]|0;i=h;return L|0}c[q>>2]=Ni(c[p>>2]|0,c[r>>2]|0,u,v,w)|0;a:do if(!(c[q>>2]|0)){if(!(Io(u,c[r>>2]|0)|0)){c[q>>2]=195;break}if(jg(1)|0)Ff(35939,c[v>>2]|0,c[w>>2]|0);if((c[w>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}c[x>>2]=kq(c[k>>2]|0,t)|0;c[A>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(35946,c[x>>2]|0,c[A>>2]|0);c[y>>2]=kq(c[m>>2]|0,t)|0;c[B>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;if(jg(1)|0)Ff(53367,c[y>>2]|0,c[B>>2]|0);if((c[B>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}c[E+12>>2]=c[y>>2];c[E+4>>2]=0;c[E+8>>2]=c[B>>2];c[E+16+12>>2]=c[v>>2];c[E+16+4>>2]=0;c[E+16+8>>2]=c[w>>2];c[E+32+12>>2]=c[x>>2];c[E+32+4>>2]=0;c[E+32+8>>2]=c[A>>2];c[q>>2]=Sj(c[o>>2]|0,0,D,E,3)|0;if(!(c[q>>2]|0)){Oi(D,64);if(jg(1)|0)Ff(35965,D,64);Cp(c[F>>2]|0,D,64,0);c[J>>2]=lq(c[n>>2]|0,t)|0;c[K>>2]=(((c[t>>2]|0)+7|0)>>>0)/8|0;Oi(c[J>>2]|0,c[K>>2]|0);if(jg(1)|0)Ff(53374,c[J>>2]|0,c[K>>2]|0);Cp(c[G>>2]|0,c[J>>2]|0,c[K>>2]|0,0);$f(c[J>>2]|0);if((c[K>>2]|0)!=(c[s>>2]|0)){c[q>>2]=139;break}Go(H,c[G>>2]|0,(c[l>>2]|0)+20|0,c[r>>2]|0);Go(I,c[F>>2]|0,u,c[r>>2]|0);nq(c[I>>2]|0,c[I>>2]|0);Ao(H,H,I,c[r>>2]|0);c[q>>2]=Ii(H,c[r>>2]|0,c[G>>2]|0,c[F>>2]|0,0,z,C)|0;if(!(c[q>>2]|0)){do if((c[C>>2]|0)==(c[B>>2]|0)){if(mw(c[z>>2]|0,c[y>>2]|0,c[C>>2]|0)|0)break;c[q>>2]=0;break a}while(0);c[q>>2]=8}}}while(0);$f(c[v>>2]|0);$f(c[z>>2]|0);no(c[r>>2]|0);xq(c[G>>2]|0);xq(c[F>>2]|0);fo(H);fo(I);fo(u);c[j>>2]=c[q>>2];L=c[j>>2]|0;i=h;return L|0}c[j>>2]=79;L=c[j>>2]|0;i=h;return L|0}function Yi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;hq(c[(c[d>>2]|0)+12>>2]|0);c[(c[d>>2]|0)+12>>2]=0;hq(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;fo((c[d>>2]|0)+20|0);hq(c[(c[d>>2]|0)+32>>2]|0);c[(c[d>>2]|0)+32>>2]=0;hq(c[(c[d>>2]|0)+36>>2]|0);c[(c[d>>2]|0)+36>>2]=0;i=b;return}function Zi(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+48|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+40>>2]=c[b+40>>2];c[e+8>>2]=mq(c[b+8>>2]|0)|0;c[e+12>>2]=mq(c[b+12>>2]|0)|0;c[e+16>>2]=mq(c[b+16>>2]|0)|0;co(e+20|0);_i(e+20|0,b+20|0);c[e+32>>2]=mq(c[b+32>>2]|0)|0;c[e+36>>2]=mq(c[b+36>>2]|0)|0;b=a;a=e;e=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(e|0));i=d;return}function _i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function $i(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37933;switch(c[d>>2]|0){case 0:{c[e>>2]=35979;break}case 1:{c[e>>2]=45707;break}case 2:{c[e>>2]=35991;break}default:{}}i=b;return c[e>>2]|0}function aj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=37933;switch(c[d>>2]|0){case 0:{c[e>>2]=35999;break}case 1:{c[e>>2]=36008;break}default:{}}i=b;return c[e>>2]|0}function bj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+64|0;g=f+16|0;h=f+8|0;j=f;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+36|0;p=f+32|0;q=f+28|0;r=f+24|0;s=f+20|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[o>>2]=(((Ro(c[m>>2]|0)|0)+7|0)>>>0)/8|0;c[q>>2]=dg(1+(c[o>>2]<<1)|0)|0;a[c[q>>2]>>0]=4;c[r>>2]=(c[q>>2]|0)+1;c[n>>2]=Hp(5,c[r>>2]|0,c[o>>2]|0,p,c[k>>2]|0)|0;if(c[n>>2]|0){c[j>>2]=fu(c[n>>2]|0)|0;Bf(36016,j)}if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){Ex((c[r>>2]|0)+((c[o>>2]|0)-(c[p>>2]|0))|0,c[r>>2]|0,c[p>>2]|0)|0;Fx(c[r>>2]|0,0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0}c[r>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=Hp(5,c[r>>2]|0,c[o>>2]|0,p,c[l>>2]|0)|0;if(c[n>>2]|0){c[h>>2]=fu(c[n>>2]|0)|0;Bf(36016,h)}if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){Ex((c[r>>2]|0)+((c[o>>2]|0)-(c[p>>2]|0))|0,c[r>>2]|0,c[p>>2]|0)|0;Fx(c[r>>2]|0,0,(c[o>>2]|0)-(c[p>>2]|0)|0)|0}c[n>>2]=Dp(s,5,c[q>>2]|0,1+(c[o>>2]<<1)|0,0)|0;if(c[n>>2]|0){c[g>>2]=fu(c[n>>2]|0)|0;Bf(36038,g)}else{$f(c[q>>2]|0);i=f;return c[s>>2]|0}return 0}function cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=vq(0)|0;c[h>>2]=vq(0)|0;if(Zn(c[g>>2]|0,c[h>>2]|0,c[e>>2]|0,c[f>>2]|0)|0)c[j>>2]=0;else c[j>>2]=bj(c[g>>2]|0,c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0;hq(c[g>>2]|0);hq(c[h>>2]|0);i=d;return c[j>>2]|0}function dj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[g>>2]=a;c[h>>2]=b;do if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&4|0:0){c[l>>2]=kq(c[h>>2]|0,p)|0;if(c[l>>2]|0){c[k>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[m>>2]=0;break}c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}else r=6;while(0);do if((r|0)==6){c[k>>2]=(((Ro(c[h>>2]|0)|0)+7|0)>>>0)/8|0;c[m>>2]=dg(c[k>>2]|0)|0;c[j>>2]=Hp(5,c[m>>2]|0,c[k>>2]|0,k,c[h>>2]|0)|0;p=c[m>>2]|0;if(!(c[j>>2]|0)){c[l>>2]=p;break}$f(p);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}while(0);if((c[k>>2]|0)>>>0<1){$f(c[m>>2]|0);c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}if((d[c[l>>2]>>0]|0|0)!=4){$f(c[m>>2]|0);c[f>>2]=69;q=c[f>>2]|0;i=e;return q|0}if((((c[k>>2]|0)-1|0)>>>0)%2|0|0){$f(c[m>>2]|0);c[f>>2]=65;q=c[f>>2]|0;i=e;return q|0}c[k>>2]=(((c[k>>2]|0)-1|0)>>>0)/2|0;c[j>>2]=Dp(n,5,(c[l>>2]|0)+1|0,c[k>>2]|0,0)|0;if(c[j>>2]|0){$f(c[m>>2]|0);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}c[j>>2]=Dp(o,5,(c[l>>2]|0)+1+(c[k>>2]|0)|0,c[k>>2]|0,0)|0;$f(c[m>>2]|0);if(c[j>>2]|0){hq(c[n>>2]|0);c[f>>2]=c[j>>2];q=c[f>>2]|0;i=e;return q|0}else{oq(c[c[g>>2]>>2]|0,c[n>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[o>>2]|0)|0;sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;hq(c[n>>2]|0);hq(c[o>>2]|0);c[f>>2]=0;q=c[f>>2]|0;i=e;return q|0}return 0}function ej(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(!(c[k>>2]|0))c[k>>2]=c[(c[j>>2]|0)+28>>2];if(!(c[l>>2]|0))c[l>>2]=c[(c[j>>2]|0)+44>>2];if(((c[l>>2]|0)!=0&(c[k>>2]|0)!=0?c[(c[j>>2]|0)+16>>2]|0:0)?c[(c[j>>2]|0)+20>>2]|0:0){if((c[c[j>>2]>>2]|0)==2?(c[(c[j>>2]|0)+24>>2]|0)==0:0){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}if((c[(c[j>>2]|0)+4>>2]|0)==1?c[(c[j>>2]|0)+8>>2]&4096|0:0){if(Pi(n,c[l>>2]|0,c[j>>2]|0)|0){c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}c[m>>2]=wq(0)|0;Cp(c[m>>2]|0,c[n>>2]|0,32,0);$f(c[n>>2]|0);if(!(c[h>>2]|0))c[h>>2]=bo(0)|0;if(c[h>>2]|0)Go(c[h>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0);hq(c[m>>2]|0)}else{if(!(c[h>>2]|0))c[h>>2]=bo(0)|0;if(c[h>>2]|0)Go(c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)}c[g>>2]=c[h>>2];o=c[g>>2]|0;i=f;return o|0}c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;if(Vj(c[f>>2]|0,8,0,0)|0){c[j>>2]=5;if(c[h>>2]|0)Fb[c[h>>2]&1](36319,c[f>>2]|0,38026,37063)}else c[j>>2]=gj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;h=nj(c[j>>2]|0)|0;i=e;return h|0}function gj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 2:{c[j>>2]=hj(c[g>>2]|0,c[h>>2]|0)|0;break}case 11:{c[j>>2]=jj(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=kj(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=lj(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=mj(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+160|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+32|0;m=e+4|0;n=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=36059;c[m>>2]=0;while(1){if((c[m>>2]|0)>=64)break;a[l+(c[m>>2]|0)>>0]=c[m>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36074,9,l,64,36084,20)|0;do if(!(c[k>>2]|0)){if(c[g>>2]|0){c[j>>2]=36181;c[m>>2]=0;c[n>>2]=48;while(1){if((c[m>>2]|0)>=20)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36196,9,l,20,36206,20)|0;if(c[k>>2]|0)break;c[j>>2]=36227;c[m>>2]=0;c[n>>2]=80;while(1){if((c[m>>2]|0)>=100)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36242,9,l,100,36252,20)|0;if(c[k>>2]|0)break;c[j>>2]=36273;c[m>>2]=0;c[n>>2]=112;while(1){if((c[m>>2]|0)>=49)break;d=c[n>>2]|0;c[n>>2]=d+1;a[l+(c[m>>2]|0)>>0]=d;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=ij(2,36288,9,l,49,36298,20)|0;if(c[k>>2]|0)break}c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}while(0);if(c[h>>2]|0)Fb[c[h>>2]&1](36319,2,c[j>>2]|0,c[k>>2]|0);c[f>>2]=50;o=c[f>>2]|0;i=e;return o|0}function ij(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;k=j+36|0;l=j+32|0;m=j+28|0;n=j+24|0;o=j+20|0;p=j+16|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;h=Uj(c[l>>2]|0)|0;if((h|0)!=(c[r>>2]|0)){c[k>>2]=36105;u=c[k>>2]|0;i=j;return u|0}if(wj(s,c[l>>2]|0,2)|0){c[k>>2]=49933;u=c[k>>2]|0;i=j;return u|0}h=(Lj(c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)!=0;p=c[s>>2]|0;if(h){Ej(p);c[k>>2]=36124;u=c[k>>2]|0;i=j;return u|0}Fj(p,c[m>>2]|0,c[n>>2]|0);c[t>>2]=Rj(c[s>>2]|0,c[l>>2]|0)|0;if(!(c[t>>2]|0)){Ej(c[s>>2]|0);c[k>>2]=36146;u=c[k>>2]|0;i=j;return u|0}l=(mw(c[t>>2]|0,c[q>>2]|0,c[r>>2]|0)|0)!=0;Ej(c[s>>2]|0);if(l){c[k>>2]=36166;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}return 0}function jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[2768+((c[k>>2]|0)*40|0)>>2]|0)){l=6;break}c[h>>2]=c[2768+((c[k>>2]|0)*40|0)>>2];b=c[2768+((c[k>>2]|0)*40|0)+4>>2]|0;a=Kv(c[2768+((c[k>>2]|0)*40|0)+4>>2]|0)|0;m=c[2768+((c[k>>2]|0)*40|0)+8>>2]|0;n=Kv(c[2768+((c[k>>2]|0)*40|0)+8>>2]|0)|0;c[j>>2]=ij(11,b,a,m,n,2768+((c[k>>2]|0)*40|0)+12|0,28)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,11,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;i=i+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+20|0;j=d+16|0;k=d+12|0;l=d+8|0;m=d+4|0;n=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3048+((c[k>>2]|0)*44|0)>>2]|0)){o=13;break}c[h>>2]=c[3048+((c[k>>2]|0)*44|0)>>2];b=c[3048+((c[k>>2]|0)*44|0)+4>>2]|0;a=Kv(c[3048+((c[k>>2]|0)*44|0)+4>>2]|0)|0;p=c[3048+((c[k>>2]|0)*44|0)+8>>2]|0;q=Kv(c[3048+((c[k>>2]|0)*44|0)+8>>2]|0)|0;c[j>>2]=ij(8,b,a,p,q,3048+((c[k>>2]|0)*44|0)+12|0,32)|0;if(c[j>>2]|0)break;q=c[3048+((c[k>>2]|0)*44|0)+8>>2]|0;c[l>>2]=Cq(q,Kv(c[3048+((c[k>>2]|0)*44|0)+8>>2]|0)|0)|0;if(!(c[l>>2]|0)){o=5;break}q=c[l>>2]|0;p=c[3048+((c[k>>2]|0)*44|0)+4>>2]|0;Dq(q,p,Kv(c[3048+((c[k>>2]|0)*44|0)+4>>2]|0)|0);c[m>>2]=Iq(c[l>>2]|0,n)|0;if(!(c[m>>2]|0)){o=7;break}if((c[n>>2]|0)!=32){o=10;break}if(mw(c[m>>2]|0,3048+((c[k>>2]|0)*44|0)+12|0,32)|0){o=10;break}Hq(c[l>>2]|0);if(!(c[f>>2]|0)){o=13;break}c[k>>2]=(c[k>>2]|0)+1}if((o|0)==5)c[j>>2]=36968;else if((o|0)==7){c[j>>2]=36993;Hq(c[l>>2]|0)}else if((o|0)==10){c[j>>2]=37023;Hq(c[l>>2]|0)}else if((o|0)==13){c[e>>2]=0;r=c[e>>2]|0;i=d;return r|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,8,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;r=c[e>>2]|0;i=d;return r|0}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3356+((c[k>>2]|0)*60|0)>>2]|0)){l=6;break}c[h>>2]=c[3356+((c[k>>2]|0)*60|0)>>2];b=c[3356+((c[k>>2]|0)*60|0)+4>>2]|0;a=Kv(c[3356+((c[k>>2]|0)*60|0)+4>>2]|0)|0;m=c[3356+((c[k>>2]|0)*60|0)+8>>2]|0;n=Kv(c[3356+((c[k>>2]|0)*60|0)+8>>2]|0)|0;c[j>>2]=ij(9,b,a,m,n,3356+((c[k>>2]|0)*60|0)+12|0,48)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,9,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=0;while(1){if(!(c[3776+((c[k>>2]|0)*76|0)>>2]|0)){l=6;break}c[h>>2]=c[3776+((c[k>>2]|0)*76|0)>>2];b=c[3776+((c[k>>2]|0)*76|0)+4>>2]|0;a=Kv(c[3776+((c[k>>2]|0)*76|0)+4>>2]|0)|0;m=c[3776+((c[k>>2]|0)*76|0)+8>>2]|0;n=Kv(c[3776+((c[k>>2]|0)*76|0)+8>>2]|0)|0;c[j>>2]=ij(10,b,a,m,n,3776+((c[k>>2]|0)*76|0)+12|0,64)|0;if(c[j>>2]|0)break;if(!(c[f>>2]|0)){l=6;break}c[k>>2]=(c[k>>2]|0)+1}if((l|0)==6){c[e>>2]=0;o=c[e>>2]|0;i=d;return o|0}if(c[g>>2]|0)Fb[c[g>>2]&1](36319,10,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;o=c[e>>2]|0;i=d;return o|0}function nj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=oj(1,c[d>>2]|0)|0;i=b;return a|0}function oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;do if(c[e>>2]|0){c[f>>2]=qj(c[e>>2]|0,0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}c[f>>2]=sj(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[c[f>>2]>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;do if(c[f>>2]|0){if(iw(c[f>>2]|0,37087,4)|0?iw(c[f>>2]|0,37092,4)|0:0)break;c[f>>2]=(c[f>>2]|0)+4}while(0);c[h>>2]=rj(c[f>>2]|0)|0;a:do if(c[h>>2]|0?c[(c[h>>2]|0)+20>>2]|0:0){c[j>>2]=0;while(1){if(!(c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]|0))break a;if(!(Vv(c[f>>2]|0,c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2]|0)|0))break;c[j>>2]=(c[j>>2]|0)+1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[(c[(c[h>>2]|0)+20>>2]|0)+(c[j>>2]<<2)>>2];c[e>>2]=c[h>>2];k=c[e>>2]|0;i=d;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[h>>2]=0;a:while(1){a=c[4308+(c[h>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){k=10;break}c[g>>2]=c[(c[f>>2]|0)+20>>2];b:do if(c[g>>2]|0){c[j>>2]=0;while(1){if(!(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break b;if(!(Vv(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)){k=7;break a}c[j>>2]=(c[j>>2]|0)+1}}while(0);c[h>>2]=(c[h>>2]|0)+1}if((k|0)==7){c[d>>2]=c[f>>2];l=c[d>>2]|0;i=b;return l|0}else if((k|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[g>>2]=0;while(1){a=c[4308+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){h=6;break}if(!(Vv(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0)){h=4;break}c[g>>2]=(c[g>>2]|0)+1}if((h|0)==4){c[d>>2]=c[f>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uj(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=37933;i=b;return f|0}f=c[(c[e>>2]|0)+8>>2]|0;i=b;return f|0}function uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=vj(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4308+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]|0}function wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[h>>2]&-260|0)c[j>>2]=45;else c[j>>2]=xj(k,c[g>>2]|0,c[h>>2]|0)|0;c[c[f>>2]>>2]=c[j>>2]|0?0:c[k>>2]|0;i=e;return c[j>>2]|0}function xj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=((c[j>>2]&1|0)!=0^1^1)&1;c[m>>2]=((c[j>>2]&2|0)!=0^1^1)&1;c[n>>2]=c[l>>2]|0?512:1024;c[q>>2]=16+(c[n>>2]|0);c[q>>2]=((((c[q>>2]|0)+8-1|0)>>>0)/8|0)<<3;n=(c[q>>2]|0)+28|0;if(c[l>>2]|0)c[p>>2]=Yf(n)|0;else c[p>>2]=Vf(n)|0;if(!(c[p>>2]|0))c[k>>2]=gu(c[(Yu()|0)>>2]|0)|0;if((c[k>>2]|0)==0?(n=(c[p>>2]|0)+(c[q>>2]|0)|0,c[o>>2]=n,c[c[p>>2]>>2]=n,c[(c[p>>2]|0)+8>>2]=(c[q>>2]|0)-16+1,c[(c[p>>2]|0)+4>>2]=0,n=c[c[p>>2]>>2]|0,c[n>>2]=0,c[n+4>>2]=0,c[n+8>>2]=0,c[n+12>>2]=0,c[n+16>>2]=0,c[n+20>>2]=0,c[n+24>>2]=0,c[c[o>>2]>>2]=c[l>>2]|0?378630161:285677921,c[(c[o>>2]|0)+4>>2]=(c[q>>2]|0)+28,q=(c[o>>2]|0)+12|0,a[q>>0]=a[q>>0]&-2|c[l>>2]&1,l=(c[o>>2]|0)+12|0,a[l>>0]=a[l>>0]&-5|(((c[j>>2]&256|0)!=0^1^1)&1)<<2&255,c[m>>2]|0):0){switch(c[h>>2]|0){case 10:case 9:{c[(c[o>>2]|0)+24>>2]=128;break}case 311:case 308:{c[(c[o>>2]|0)+24>>2]=32;break}default:c[(c[o>>2]|0)+24>>2]=64}m=Yf(c[(c[o>>2]|0)+24>>2]<<1)|0;c[(c[o>>2]|0)+20>>2]=m;if(!(c[(c[o>>2]|0)+20>>2]|0)){c[k>>2]=gu(c[(Yu()|0)>>2]|0)|0;yj(c[p>>2]|0)}}if(((c[k>>2]|0)==0?(Sn(),c[h>>2]|0):0)?(c[k>>2]=Bj(c[p>>2]|0,c[h>>2]|0)|0,c[k>>2]|0):0)yj(c[p>>2]|0);if(c[k>>2]|0){r=c[k>>2]|0;i=f;return r|0}c[c[g>>2]>>2]=c[p>>2];r=c[k>>2]|0;i=f;return r|0}function yj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+80|0;f=e+68|0;g=e+64|0;h=e+60|0;j=e+56|0;k=e+52|0;l=e+74|0;m=e+16|0;n=e+48|0;o=e+44|0;p=e+40|0;q=e+73|0;r=e+8|0;s=e+36|0;t=e+32|0;u=e+28|0;v=e+72|0;w=e;x=e+24|0;c[f>>2]=b;if(!(c[f>>2]|0)){i=e;return}if(c[(c[c[f>>2]>>2]|0)+8>>2]|0)zj(c[f>>2]|0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=c[g>>2];c[k>>2]=c[(c[g>>2]|0)+8>>2];a[l>>0]=0;b=m;c[b>>2]=d[l>>0];c[b+4>>2]=0;while(1){if(!(c[j>>2]&7|0?(c[k>>2]|0)!=0:0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((c[k>>2]|0)>>>0>=8){b=m;y=Mx(c[b>>2]|0,c[b+4>>2]|0,16843009,16843009)|0;b=m;c[b>>2]=y;c[b+4>>2]=C;do{c[n>>2]=c[j>>2];b=m;y=c[b+4>>2]|0;z=c[n>>2]|0;c[z>>2]=c[b>>2];c[z+4>>2]=y;c[k>>2]=(c[k>>2]|0)-8;c[j>>2]=(c[j>>2]|0)+8}while((c[k>>2]|0)>>>0>=8)}while(1){if(!(c[k>>2]|0))break;a[c[j>>2]>>0]=a[l>>0]|0;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}$f(c[g>>2]|0);c[g>>2]=c[h>>2]}if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[o>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];c[p>>2]=c[(c[c[f>>2]>>2]|0)+24>>2]<<1;a[q>>0]=0;h=r;c[h>>2]=d[q>>0];c[h+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){h=r;g=Mx(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=r;c[h>>2]=g;c[h+4>>2]=C;do{c[s>>2]=c[o>>2];h=r;g=c[h+4>>2]|0;k=c[s>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=g;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}$f(c[(c[c[f>>2]>>2]|0)+20>>2]|0)}c[t>>2]=c[f>>2];c[u>>2]=c[(c[c[f>>2]>>2]|0)+4>>2];a[v>>0]=0;p=w;c[p>>2]=d[v>>0];c[p+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){p=w;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=w;c[p>>2]=o;c[p+4>>2]=C;do{c[x>>2]=c[t>>2];p=w;o=c[p+4>>2]|0;q=c[x>>2]|0;c[q>>2]=c[p>>2];c[q+4>>2]=o;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}$f(c[f>>2]|0);i=e;return}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;if(c[(c[c[d>>2]>>2]|0)+8>>2]|0){if(c[(c[d>>2]|0)+4>>2]|0)Aj(c[d>>2]|0,0,0);vw(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0;c[(c[c[d>>2]>>2]|0)+8>>2]=0}c[e>>2]=c[d>>2];d=f;c[d>>2]=42;c[d+4>>2]=0;d=f;f=Mx(c[e>>2]|0,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=g;c[d>>2]=f;c[d+4>>2]=C;i=b;return}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+8>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0?(Bw((c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)wf(37097,630,37102);if(c[h>>2]|0?(Bw(c[g>>2]|0,c[h>>2]|0,1,c[(c[c[f>>2]>>2]|0)+8>>2]|0)|0)!=1:0)wf(37097,632,37102)}c[j>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){k=(c[f>>2]|0)+4|0;if(!(c[j>>2]|0))break;if(c[k>>2]|0)Ab[c[(c[c[j>>2]>>2]|0)+32>>2]&7]((c[j>>2]|0)+16|0,(c[f>>2]|0)+12|0,c[(c[f>>2]|0)+4>>2]|0);Ab[c[(c[c[j>>2]>>2]|0)+32>>2]&7]((c[j>>2]|0)+16|0,c[g>>2]|0,c[h>>2]|0);c[j>>2]=c[(c[j>>2]|0)+4>>2]}c[k>>2]=0;i=e;return}function Bj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;g=f;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=c[c[j>>2]>>2];c[o>>2]=0;c[n>>2]=c[(c[l>>2]|0)+16>>2];while(1){if(!(c[n>>2]|0))break;if((c[c[c[n>>2]>>2]>>2]|0)==(c[k>>2]|0)){q=4;break}c[n>>2]=c[(c[n>>2]|0)+4>>2]}if((q|0)==4){c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}c[m>>2]=uj(c[k>>2]|0)|0;if(!(c[m>>2]|0)){c[g>>2]=c[k>>2];Df(37111,g);c[o>>2]=5}if(((c[o>>2]|0)==0&(c[k>>2]|0)==1?Ah()|0:0)?(Ih(37150),Gh()|0):0)c[o>>2]=5;do if(!(c[o>>2]|0)){c[p>>2]=24+(c[(c[m>>2]|0)+44>>2]|0)-8;k=c[p>>2]|0;if(a[(c[l>>2]|0)+12>>0]&1|0)c[n>>2]=Yf(k)|0;else c[n>>2]=Vf(k)|0;if(c[n>>2]|0){c[c[n>>2]>>2]=c[m>>2];c[(c[n>>2]|0)+4>>2]=c[(c[l>>2]|0)+16>>2];c[(c[n>>2]|0)+8>>2]=c[p>>2];c[(c[l>>2]|0)+16>>2]=c[n>>2];yb[c[(c[c[n>>2]>>2]|0)+28>>2]&7]((c[n>>2]|0)+16|0,(d[(c[l>>2]|0)+12>>0]|0)>>>2&1|0?256:0);break}else{c[o>>2]=gu(c[(Yu()|0)>>2]|0)|0;break}}while(0);c[h>>2]=c[o>>2];r=c[h>>2]|0;i=f;return r|0}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+80|0;e=d+16|0;f=d+8|0;g=d+24|0;h=d+20|0;j=d+28|0;c[g>>2]=a;c[h>>2]=b;if(Ah()|0){i=d;return}if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){Df(37159,d);i=d;return}c[17699]=(c[17699]|0)+1;b=c[h>>2]|0;c[f>>2]=c[17699];c[f+4>>2]=b;tv(j,49,37191,f)|0;f=qw(j,37208)|0;c[(c[c[g>>2]>>2]|0)+8>>2]=f;if(c[(c[c[g>>2]>>2]|0)+8>>2]|0){i=d;return}c[e>>2]=j;Df(37210,e);i=d;return}function Dj(b){b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;b=(c[c[f>>2]>>2]|0)+12|0;a[b>>0]=a[b>>0]&-3;c[(c[f>>2]|0)+4>>2]=0;c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;Fx((c[g>>2]|0)+16|0,0,c[(c[c[g>>2]>>2]|0)+44>>2]|0)|0;yb[c[(c[c[g>>2]>>2]|0)+28>>2]&7]((c[g>>2]|0)+16|0,(d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0?256:0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}Aj(c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+20>>2]|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);i=e;return}function Ej(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;yj(c[d>>2]|0);i=b;return}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Aj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f+4>>2]=e;c[k>>2]=0;switch(c[h>>2]|0){case 5:{Hj(c[g>>2]|0);break}case 32:{Cj(c[g>>2]|0,c[j>>2]|0);break}case 33:{zj(c[g>>2]|0);break}default:c[k>>2]=61}i=f;return c[k>>2]|0}function Hj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=b;if((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>1&1|0){i=e;return}if(c[(c[f>>2]|0)+4>>2]|0)Aj(c[f>>2]|0,0,0);c[g>>2]=c[(c[c[f>>2]>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;xb[c[(c[c[g>>2]>>2]|0)+36>>2]&15]((c[g>>2]|0)+16|0);c[g>>2]=c[(c[g>>2]|0)+4>>2]}g=(c[c[f>>2]>>2]|0)+12|0;a[g>>0]=a[g>>0]&-3|2;if(!(c[(c[c[f>>2]>>2]|0)+20>>2]|0)){i=e;return}c[h>>2]=Ij(c[f>>2]|0)|0;c[j>>2]=Jj(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=Kj(c[h>>2]|0)|0;c[m>>2]=xj(l,c[h>>2]|0,(a[(c[c[f>>2]>>2]|0)+12>>0]&1|0?1:0)|((d[(c[c[f>>2]>>2]|0)+12>>0]|0)>>>2&1|0?256:0))|0;if(c[m>>2]|0)qf(c[m>>2]|0,0);Aj(c[l>>2]|0,(c[(c[c[f>>2]>>2]|0)+20>>2]|0)+(c[(c[c[f>>2]>>2]|0)+24>>2]|0)|0,c[(c[c[f>>2]>>2]|0)+24>>2]|0);Aj(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0);Hj(c[l>>2]|0);f=c[j>>2]|0;j=Jj(c[l>>2]|0,c[h>>2]|0)|0;Dx(f|0,j|0,c[k>>2]|0)|0;yj(c[l>>2]|0);i=e;return}function Ij(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=b+8|0;f=b+4|0;c[e>>2]=a;c[f>>2]=c[(c[c[e>>2]>>2]|0)+16>>2];if(c[f>>2]|0?c[(c[f>>2]|0)+4>>2]|0:0){Jh(37097,980,37235,0,37247);Af(37268,d)}if(!(c[f>>2]|0)){g=0;i=b;return g|0}g=c[c[c[f>>2]>>2]>>2]|0;i=b;return g|0}function Jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;e=d;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];if(!(c[h>>2]|0)){if(!(c[j>>2]|0))wf(37097,816,37358);if(c[(c[j>>2]|0)+4>>2]|0)Df(37319,e);c[f>>2]=zb[c[(c[c[j>>2]>>2]|0)+40>>2]&15]((c[j>>2]|0)+16|0)|0;k=c[f>>2]|0;i=d;return k|0}c[j>>2]=c[(c[c[g>>2]>>2]|0)+16>>2];while(1){if(!(c[j>>2]|0)){l=11;break}m=c[j>>2]|0;if((c[c[c[j>>2]>>2]>>2]|0)==(c[h>>2]|0))break;c[j>>2]=c[m+4>>2]}if((l|0)==11)wf(37097,816,37358);c[f>>2]=zb[c[(c[m>>2]|0)+40>>2]&15]((c[j>>2]|0)+16|0)|0;k=c[f>>2]|0;i=d;return k|0}function Kj(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=uj(c[d>>2]|0)|0;if(!(c[e>>2]|0)){f=0;i=b;return f|0}f=c[(c[e>>2]|0)+24>>2]|0;i=b;return f|0}function Lj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[c[f>>2]>>2]|0)+20>>2]|0){c[j>>2]=Mj(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0))Dj(c[f>>2]|0)}else c[j>>2]=70;i=e;return c[j>>2]|0}function Mj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[n>>2]=Ij(c[j>>2]|0)|0;c[o>>2]=0;if(!(c[n>>2]|0)){c[h>>2]=5;r=c[h>>2]|0;i=g;return r|0}do if((c[l>>2]|0)>>>0>(c[(c[c[j>>2]>>2]|0)+24>>2]|0)>>>0){c[o>>2]=Yf(Kj(c[n>>2]|0)|0)|0;if(c[o>>2]|0){Nj(c[n>>2]|0,c[o>>2]|0,c[k>>2]|0,c[l>>2]|0);c[k>>2]=c[o>>2];c[l>>2]=Kj(c[n>>2]|0)|0;if((c[l>>2]|0)>>>0<=(c[(c[c[j>>2]>>2]|0)+24>>2]|0)>>>0)break;xf(37402,37097,716,37435)}else{c[h>>2]=gu(c[(Yu()|0)>>2]|0)|0;r=c[h>>2]|0;i=g;return r|0}}while(0);Fx(c[(c[c[j>>2]>>2]|0)+20>>2]|0,0,c[(c[c[j>>2]>>2]|0)+24>>2]<<1|0)|0;c[p>>2]=c[(c[c[j>>2]>>2]|0)+20>>2];c[q>>2]=(c[(c[c[j>>2]>>2]|0)+20>>2]|0)+(c[(c[c[j>>2]>>2]|0)+24>>2]|0);Dx(c[p>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;Dx(c[q>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[c[j>>2]>>2]|0)+24>>2]|0))break;l=(c[p>>2]|0)+(c[m>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^54;l=(c[q>>2]|0)+(c[m>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^92;c[m>>2]=(c[m>>2]|0)+1}$f(c[o>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}function Nj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[h>>2]|0)==2){Bm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}if((c[h>>2]|0)==3?(Ah()|0)==0:0){Hl(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0);i=f;return}if(((c[h>>2]|0)==1?Ah()|0:0)?(Ih(37150),Gh()|0):0)Fh();c[n>>2]=xj(m,c[h>>2]|0,0)|0;if(c[n>>2]|0){e=c[h>>2]|0;d=fu(Oj(c[n>>2]|0)|0)|0;c[g>>2]=e;c[g+4>>2]=d;Cf(37366,g)}Aj(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);Hj(c[m>>2]|0);l=c[j>>2]|0;j=Jj(c[m>>2]|0,c[h>>2]|0)|0;Dx(l|0,j|0,Kj(c[h>>2]|0)|0)|0;yj(c[m>>2]|0);i=f;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(32,c[d>>2]|0)|0;i=b;return a|0}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=Qj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;Gj(c[e>>2]|0,5,0,0)|0;b=Jj(c[e>>2]|0,c[f>>2]|0)|0;i=d;return b|0}function Sj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;if((c[m>>2]|0)==0|(c[n>>2]|0)<0){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}if(c[k>>2]&-3|0){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}c[o>>2]=((c[k>>2]&2|0)!=0^1^1)&1;if((c[o>>2]|0)!=0&(c[n>>2]|0)<1){c[h>>2]=45;r=c[h>>2]|0;i=g;return r|0}if((c[j>>2]|0)!=2|(c[o>>2]|0)!=0){if(((c[j>>2]|0)==1?Ah()|0:0)?(Ih(37150),Gh()|0):0)Fh();c[q>>2]=xj(p,c[j>>2]|0,c[o>>2]|0?2:0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];r=c[h>>2]|0;i=g;return r|0}do if(c[o>>2]|0){c[q>>2]=Lj(c[p>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0)|0;if(!(c[q>>2]|0)){c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1;break}yj(c[p>>2]|0);c[h>>2]=c[q>>2];r=c[h>>2]|0;i=g;return r|0}while(0);while(1){s=c[p>>2]|0;if(!(c[n>>2]|0))break;Aj(s,(c[(c[m>>2]|0)+12>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)|0,c[(c[m>>2]|0)+8>>2]|0);c[m>>2]=(c[m>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}Hj(s);s=c[l>>2]|0;q=Jj(c[p>>2]|0,c[j>>2]|0)|0;Dx(s|0,q|0,Kj(c[j>>2]|0)|0)|0;yj(c[p>>2]|0)}else Cm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=g;return r|0}function Tj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ij(c[d>>2]|0)|0;i=b;return a|0}function Uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Kj(c[d>>2]|0)|0;i=b;return a|0}function Vj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a:do switch(c[h>>2]|0){case 8:{if((c[j>>2]|0)!=0|(c[k>>2]|0)!=0){c[l>>2]=45;break a}else{c[l>>2]=Wj(c[g>>2]|0)|0;break a}break}case 10:{c[l>>2]=Wj(c[g>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=Xj(c[g>>2]|0,n,0)|0;if(c[j>>2]|0?(c[c[k>>2]>>2]|0)>>>0>=(c[n>>2]|0)>>>0:0){Dx(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];break a}if((c[j>>2]|0)==0&(c[k>>2]|0)!=0){c[c[k>>2]>>2]=c[n>>2];break a}if(c[j>>2]|0){c[l>>2]=66;break a}else{c[l>>2]=45;break a}}break}case 57:{if(c[k>>2]|0)o=c[c[k>>2]>>2]|0;else o=0;c[l>>2]=_j(Yj(c[g>>2]|0,o,0)|0)|0;break}default:c[l>>2]=61}while(0);i=f;return c[l>>2]|0}function Wj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=b;c[g>>2]=uj(c[f>>2]|0)|0;if(c[g>>2]|0?(a[(c[g>>2]|0)+4>>0]&1|0)==0:0){c[e>>2]=0;h=c[e>>2]|0;i=d;return h|0}c[e>>2]=5;h=c[e>>2]|0;i=d;return h|0}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;f=e;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=0;c[k>>2]=uj(c[g>>2]|0)|0;if(!(c[k>>2]|0)){c[f>>2]=c[g>>2];Cf(37451,f)}if(c[h>>2]|0)c[c[h>>2]>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[j>>2]|0)){m=c[k>>2]|0;n=m+12|0;o=c[n>>2]|0;c[l>>2]=o;p=c[l>>2]|0;i=e;return p|0}c[c[j>>2]>>2]=c[(c[k>>2]|0)+24>>2];m=c[k>>2]|0;n=m+12|0;o=c[n>>2]|0;c[l>>2]=o;p=c[l>>2]|0;i=e;return p|0}function Yj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=0;c[l>>2]=uj(c[g>>2]|0)|0;if((c[l>>2]|0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?c[(c[l>>2]|0)+48>>2]|0:0){c[k>>2]=vb[c[(c[l>>2]|0)+48>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}if(c[l>>2]|0)o=(c[(c[l>>2]|0)+48>>2]|0)!=0;else o=0;c[k>>2]=o?5:69;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}o=c[j>>2]|0;j=c[g>>2]|0;if(c[l>>2]|0?!(a[(c[l>>2]|0)+4>>0]&1|0):0)p=38004;else p=c[l>>2]|0?37965:37984;Fb[o&1](43169,j,38026,p);m=c[k>>2]|0;n=Zj(m)|0;i=f;return n|0}function Zj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Qj(1,c[d>>2]|0)|0;i=b;return a|0}function _j(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function $j(){return 0}function ak(){return 0}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17700]=c[e>>2];c[17701]=c[f>>2];i=d;return}function ck(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=dk(c[g>>2]|0,1,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;fk(10);i=f;return c[l>>2]|0}function dk(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=i;i=i+96|0;j=h+8|0;k=h;l=h+80|0;m=h+76|0;n=h+72|0;o=h+68|0;p=h+64|0;q=h+60|0;r=h+56|0;s=h+52|0;t=h+48|0;u=h+44|0;v=h+40|0;w=h+36|0;x=h+32|0;y=h+28|0;z=h+24|0;A=h+20|0;B=h+16|0;C=h+12|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=g;if((c[l>>2]|0)>>>0<16){c[k>>2]=16;Bf(37480,k)}c[B>>2]=dg(c[1084]<<2)|0;c[t>>2]=_p(2)|0;c[u>>2]=_p(3)|0;k=c[l>>2]|0;if(c[m>>2]|0)D=wq(k)|0;else D=vq(k)|0;c[q>>2]=D;c[v>>2]=pq(c[q>>2]|0)|0;c[s>>2]=pq(c[q>>2]|0)|0;c[r>>2]=pq(c[q>>2]|0)|0;c[A>>2]=0;c[z>>2]=0;a:while(1){c[C>>2]=0;yq(c[q>>2]|0,c[l>>2]|0,c[n>>2]|0);Uo(c[q>>2]|0,(c[l>>2]|0)-1|0);if(c[m>>2]|0)To(c[q>>2]|0,(c[l>>2]|0)-2|0);To(c[q>>2]|0,0);c[w>>2]=0;while(1){D=e[16508+(c[w>>2]<<1)>>1]|0;c[x>>2]=D;if(!D)break;D=ep(0,c[q>>2]|0,c[x>>2]|0)|0;c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]=D;c[w>>2]=(c[w>>2]|0)+1}c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=2e4)break;c[z>>2]=(c[z>>2]|0)+1;c[w>>2]=0;while(1){D=e[16508+(c[w>>2]<<1)>>1]|0;c[x>>2]=D;if(!D)break;while(1){if(((c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[y>>2]|0)|0)>>>0<(c[x>>2]|0)>>>0)break;D=(c[B>>2]|0)+(c[w>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)-(c[x>>2]|0)}if(!((c[(c[B>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[y>>2]|0)|0))break;c[w>>2]=(c[w>>2]|0)+1}if(!(c[x>>2]|0)){Ko(c[r>>2]|0,c[q>>2]|0,c[y>>2]|0);c[A>>2]=(c[A>>2]|0)+1;Mo(c[s>>2]|0,c[r>>2]|0,1);wp(c[v>>2]|0,c[t>>2]|0,c[s>>2]|0,c[r>>2]|0);if(($o(c[v>>2]|0,1)|0)==0?ek(c[r>>2]|0,5,A)|0:0){if(!(So(c[r>>2]|0,(c[l>>2]|0)-1-(c[m>>2]|0)|0)|0)){E=24;break}if(!(c[o>>2]|0)){E=28;break a}if(!(Eb[c[o>>2]&7](c[p>>2]|0,c[r>>2]|0)|0)){E=28;break a}fk(47)}D=(c[C>>2]|0)+1|0;c[C>>2]=D;if((D|0)==10){fk(46);c[C>>2]=0}}c[y>>2]=(c[y>>2]|0)+2}if((E|0)==24){E=0;fk(10);Df(37628,j)}fk(58)}if((E|0)==28){hq(c[t>>2]|0);hq(c[u>>2]|0);hq(c[v>>2]|0);hq(c[s>>2]|0);hq(c[q>>2]|0);$f(c[B>>2]|0);i=h;return c[r>>2]|0}return 0}function ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[k>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[l>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[m>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;c[n>>2]=_p(2)|0;c[s>>2]=0;c[t>>2]=Ro(c[f>>2]|0)|0;if((c[g>>2]|0)<5)c[g>>2]=5;Mo(c[m>>2]|0,c[f>>2]|0,1);c[o>>2]=mq(c[m>>2]|0)|0;c[r>>2]=yp(c[o>>2]|0)|0;hp(c[o>>2]|0,c[o>>2]|0,c[r>>2]|0);c[p>>2]=0;a:while(1){if((c[p>>2]|0)>>>0>=(c[g>>2]|0)>>>0){u=22;break}d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[j>>2]|0;if(c[p>>2]|0){yq(d,c[t>>2]|0,0);b=(So(c[j>>2]|0,(c[t>>2]|0)-2|0)|0)!=0;Uo(c[j>>2]|0,(c[t>>2]|0)-2|0);if(!b)Wo(c[j>>2]|0,(c[t>>2]|0)-2|0);if((ap(c[j>>2]|0,c[m>>2]|0)|0)>=0){u=11;break}if(($o(c[j>>2]|0,1)|0)<=0){u=11;break}}else sq(d,2)|0;wp(c[k>>2]|0,c[j>>2]|0,c[o>>2]|0,c[f>>2]|0);if($o(c[k>>2]|0,1)|0?ap(c[k>>2]|0,c[m>>2]|0)|0:0){c[q>>2]=1;while(1){if((c[q>>2]|0)>>>0<(c[r>>2]|0)>>>0)v=(ap(c[k>>2]|0,c[m>>2]|0)|0)!=0;else v=0;w=c[k>>2]|0;if(!v)break;wp(w,c[k>>2]|0,c[n>>2]|0,c[f>>2]|0);if(!($o(c[k>>2]|0,1)|0)){u=23;break a}c[q>>2]=(c[q>>2]|0)+1}if(ap(w,c[m>>2]|0)|0){u=23;break}}fk(43);c[p>>2]=(c[p>>2]|0)+1}if((u|0)==11)xf(37527,37599,951,37610);else if((u|0)==22){c[s>>2]=1;x=c[j>>2]|0;hq(x);y=c[k>>2]|0;hq(y);z=c[l>>2]|0;hq(z);A=c[m>>2]|0;hq(A);B=c[o>>2]|0;hq(B);C=c[n>>2]|0;hq(C);D=c[s>>2]|0;i=e;return D|0}else if((u|0)==23){x=c[j>>2]|0;hq(x);y=c[k>>2]|0;hq(y);z=c[l>>2]|0;hq(z);A=c[m>>2]|0;hq(A);B=c[o>>2]|0;hq(B);C=c[n>>2]|0;hq(C);D=c[s>>2]|0;i=e;return D|0}return 0}function fk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[17700]|0)){i=b;return}wb[c[17700]&15](c[17701]|0,37619,c[d>>2]|0,0,0);i=b;return}function gk(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;t=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=f;c[o>>2]=g;c[r>>2]=0;c[p>>2]=0;while(1){g=e[16508+(c[p>>2]<<1)>>1]|0;c[q>>2]=g;u=c[k>>2]|0;if(!g)break;if(ip(u,c[q>>2]|0)|0){v=4;break}c[p>>2]=(c[p>>2]|0)+1}if((v|0)==4){c[j>>2]=(($o(c[k>>2]|0,c[q>>2]|0)|0)!=0^1)&1;w=c[j>>2]|0;i=h;return w|0}c[s>>2]=pq(u)|0;c[t>>2]=pq(c[k>>2]|0)|0;Mo(c[t>>2]|0,c[k>>2]|0,1);wp(c[s>>2]|0,c[l>>2]|0,c[t>>2]|0,c[k>>2]|0);hq(c[t>>2]|0);t=($o(c[s>>2]|0,1)|0)!=0;hq(c[s>>2]|0);if(t){fk(46);c[j>>2]=0;w=c[j>>2]|0;i=h;return w|0}if(!(c[n>>2]|0?!(vb[c[n>>2]&63](c[o>>2]|0,2,c[k>>2]|0)|0):0))v=10;do if((v|0)==10?ek(c[k>>2]|0,c[m>>2]|0,r)|0:0){if(c[n>>2]|0?(vb[c[n>>2]&63](c[o>>2]|0,1,c[k>>2]|0)|0)==0:0)break;c[j>>2]=1;w=c[j>>2]|0;i=h;return w|0}while(0);fk(46);c[j>>2]=0;w=c[j>>2]|0;i=h;return w|0}function hk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=i;i=i+64|0;j=h+60|0;k=h+56|0;l=h+52|0;m=h+48|0;n=h+44|0;o=h+40|0;p=h+36|0;q=h+32|0;r=h+28|0;s=h+24|0;t=h+20|0;u=h+16|0;v=h+12|0;w=h+8|0;x=h+4|0;y=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!((c[k>>2]|0)!=0&(c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){c[j>>2]=0;z=c[j>>2]|0;i=h;return z|0}if(c[n>>2]|0?So(c[n>>2]|0,0)|0:0){c[q>>2]=ik(c[l>>2]|0)|0;c[r>>2]=ik(c[m>>2]|0)|0;c[s>>2]=pq(c[k>>2]|0)|0;up(c[s>>2]|0,c[q>>2]|0,c[r>>2]|0);c[v>>2]=pq(c[q>>2]|0)|0;pp(c[v>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;up(c[v>>2]|0,c[v>>2]|0,c[r>>2]|0);c[u>>2]=c[v>>2];c[v>>2]=pq(c[r>>2]|0)|0;pp(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;up(c[v>>2]|0,c[v>>2]|0,c[q>>2]|0);No(c[u>>2]|0,c[u>>2]|0,c[v>>2]|0);if(c[(c[u>>2]|0)+8>>2]|0)Lo(c[u>>2]|0,c[u>>2]|0,c[s>>2]|0);c[t>>2]=c[v>>2];c[v>>2]=0;Po(c[t>>2]|0,c[u>>2]|0,c[k>>2]|0,c[s>>2]|0);Lo(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0);hq(c[u>>2]|0);if((ap(c[t>>2]|0,c[k>>2]|0)|0)<0)Lo(c[t>>2]|0,c[t>>2]|0,c[s>>2]|0);c[w>>2]=_p(2)|0;c[x>>2]=pq(c[t>>2]|0)|0;Mo(c[s>>2]|0,c[s>>2]|0,1);Mo(c[t>>2]|0,c[t>>2]|0,1);while(1){c[y>>2]=jp(c[x>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;Ko(c[t>>2]|0,c[t>>2]|0,1);if(c[y>>2]|0){if(gk(c[t>>2]|0,c[w>>2]|0,64,0,0)|0)break}else fk(47);Lo(c[t>>2]|0,c[t>>2]|0,c[s>>2]|0)}hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[s>>2]|0);fk(10);s=c[q>>2]|0;if(c[o>>2]|0)c[c[o>>2]>>2]=s;else hq(s);s=c[r>>2]|0;if(c[p>>2]|0)c[c[p>>2]>>2]=s;else hq(s);c[j>>2]=c[t>>2];z=c[j>>2]|0;i=h;return z|0}c[j>>2]=0;z=c[j>>2]|0;i=h;return z|0}function ik(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=_p(2)|0;c[f>>2]=mq(c[d>>2]|0)|0;To(c[f>>2]|0,0);while(1){if(!((gk(c[f>>2]|0,c[e>>2]|0,64,0,0)|0)!=0^1))break;Ko(c[f>>2]|0,c[f>>2]|0,2)}hq(c[e>>2]|0);i=b;return c[f>>2]|0}function jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[n>>2]=5;c[o>>2]=0;c[p>>2]=0;if(c[f>>2]|0)q=(yg(c[f>>2]|0)|0)-1|0;else q=0;c[m>>2]=q;while(1){if((c[m>>2]|0)<=0)break;c[k>>2]=Bg(c[f>>2]|0,c[m>>2]|0,l)|0;a:do if(c[k>>2]|0)do switch(c[l>>2]|0){case 3:{if((mw(c[k>>2]|0,37658,3)|0)==0&(c[n>>2]|0)==5){c[n>>2]=4;c[o>>2]=c[o>>2]|4;break a}if((mw(c[k>>2]|0,37662,3)|0)==0&(c[n>>2]|0)==5){c[n>>2]=0;c[o>>2]=c[o>>2]|16;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 4:{if(!(mw(c[k>>2]|0,37666,4)|0)){c[o>>2]=c[o>>2]|1024;break a}if((mw(c[k>>2]|0,37671,4)|0)==0&(c[n>>2]|0)==5){c[n>>2]=3;c[o>>2]=c[o>>2]|4;break a}if(!(mw(c[k>>2]|0,47133,4)|0)){c[n>>2]=0;c[o>>2]=c[o>>2]|8192;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 5:{if(!(mw(c[k>>2]|0,47127,5)|0)){c[n>>2]=0;c[o>>2]=c[o>>2]|4096;break a}if((mw(c[k>>2]|0,37676,5)|0)==0&(c[n>>2]|0)==5){c[n>>2]=1;c[o>>2]=c[o>>2]|4;break a}if(!(mw(c[k>>2]|0,37682,5)|0)){c[o>>2]=c[o>>2]|512;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 6:{if(!(mw(c[k>>2]|0,37688,6)|0)){c[o>>2]=c[o>>2]|2048;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 7:{if(!(mw(c[k>>2]|0,37695,7)|0)){c[o>>2]=c[o>>2]|2;break a}if((mw(c[k>>2]|0,37703,7)|0)==0|(c[p>>2]|0)!=0)break a;c[j>>2]=72;break a;break}case 8:{if(!(mw(c[k>>2]|0,39389,8)|0)){c[o>>2]=c[o>>2]|64;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 9:{if((mw(c[k>>2]|0,37711,9)|0)==0&(c[n>>2]|0)==5){c[n>>2]=2;c[o>>2]=c[o>>2]|4;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 10:{if(!(mw(c[k>>2]|0,37721,10)|0)){c[p>>2]=1;break a}if(!(mw(c[k>>2]|0,37732,10)|0)){c[o>>2]=c[o>>2]|16384;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 11:{if(!(mw(c[k>>2]|0,37743,11)|0)){c[o>>2]=c[o>>2]|1;break a}if(!(mw(c[k>>2]|0,37755,11)|0)){c[o>>2]=c[o>>2]|128;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}case 13:{if(!(mw(c[k>>2]|0,37767,13)|0)){c[o>>2]=c[o>>2]|256;break a}if(!(mw(c[k>>2]|0,47173,13)|0)){c[o>>2]=c[o>>2]|32;break a}if(c[p>>2]|0)break a;c[j>>2]=72;break a;break}default:{if(c[p>>2]|0)break a;c[j>>2]=72;break a}}while(0);while(0);c[m>>2]=(c[m>>2]|0)+-1}if(c[g>>2]|0)c[c[g>>2]>>2]=c[o>>2];if(!(c[h>>2]|0)){r=c[j>>2]|0;i=e;return r|0}c[c[h>>2]>>2]=c[n>>2];r=c[j>>2]|0;i=e;return r|0}function kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+80|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+20|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=xg(c[g>>2]|0,37781,0)|0;if(!(c[g>>2]|0)){c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}c[k>>2]=Bg(c[g>>2]|0,1,l)|0;if((c[k>>2]|0)==0|(c[l>>2]|0)>>>0>=49){vg(c[g>>2]|0);c[f>>2]=65;m=c[f>>2]|0;i=e;return m|0}else{Dx(j|0,c[k>>2]|0,c[l>>2]|0)|0;a[j+(c[l>>2]|0)>>0]=0;l=Zv(j,0,0)|0;c[c[h>>2]>>2]=l;vg(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+80|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+20|0;k=e+4|0;l=e;c[g>>2]=b;c[h>>2]=d;c[c[h>>2]>>2]=0;c[g>>2]=xg(c[g>>2]|0,37787,0)|0;if(!(c[g>>2]|0)){c[c[h>>2]>>2]=65537;c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}c[k>>2]=Bg(c[g>>2]|0,1,l)|0;if((c[k>>2]|0)==0|(c[l>>2]|0)>>>0>=49){vg(c[g>>2]|0);c[f>>2]=65;m=c[f>>2]|0;i=e;return m|0}else{Dx(j|0,c[k>>2]|0,c[l>>2]|0)|0;a[j+(c[l>>2]|0)>>0]=0;l=Zv(j,0,0)|0;c[c[h>>2]>>2]=l;vg(c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=e;return m|0}return 0}function mk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[c[j>>2]>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=0;c[m>>2]=xg(c[g>>2]|0,37797,0)|0;do if(c[m>>2]|0){c[n>>2]=zg(c[m>>2]|0,1)|0;if(!(c[n>>2]|0)){c[l>>2]=68;break}c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}if(!(gv(c[o>>2]|0,47167)|0)){vg(c[n>>2]|0);c[n>>2]=zg(c[m>>2]|0,2)|0;if(!(c[n>>2]|0)){c[l>>2]=65;break}$f(c[o>>2]|0);c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}}c[p>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0))break;if(!(Vv(c[o>>2]|0,c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0)|0))break;c[p>>2]=(c[p>>2]|0)+1}if(!(c[(c[h>>2]|0)+(c[p>>2]<<2)>>2]|0)){c[l>>2]=70;break}if(c[k>>2]|0){if(!(gv(c[o>>2]|0,47127)|0))c[c[k>>2]>>2]=4096;if(!(gv(c[o>>2]|0,47133)|0))c[c[k>>2]>>2]=8192}c[c[j>>2]>>2]=c[n>>2];c[n>>2]=0;c[l>>2]=0}else c[l>>2]=65;while(0);$f(c[o>>2]|0);vg(c[n>>2]|0);vg(c[m>>2]|0);i=f;return c[l>>2]|0}function nk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+48|0;g=f+44|0;h=f+40|0;j=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;r=f+4|0;s=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[q>>2]=0;c[c[j>>2]>>2]=0;c[m>>2]=xg(c[g>>2]|0,42132,0)|0;do if(c[m>>2]|0){c[n>>2]=zg(c[m>>2]|0,1)|0;if(!(c[n>>2]|0)){c[l>>2]=68;break}c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}if(!(gv(c[o>>2]|0,47167)|0)){c[l>>2]=jk(c[n>>2]|0,q,(c[k>>2]|0)+8|0)|0;if(c[l>>2]|0)break;if((c[(c[k>>2]|0)+8>>2]|0)==4){c[l>>2]=70;break}if((c[(c[k>>2]|0)+8>>2]|0)==3){vg(c[n>>2]|0);c[n>>2]=xg(c[m>>2]|0,37805,0)|0;if(c[n>>2]|0){c[s>>2]=Bg(c[n>>2]|0,1,p)|0;if(c[s>>2]|0){g=ok(c[s>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=g;if(!(c[(c[k>>2]|0)+16>>2]|0))c[l>>2]=5}else c[l>>2]=68;if(c[l>>2]|0)break}vg(c[n>>2]|0);c[n>>2]=xg(c[m>>2]|0,37889,0)|0;if(c[n>>2]|0){c[s>>2]=Bg(c[n>>2]|0,1,p)|0;do if(c[s>>2]|0){if((c[p>>2]|0)>>>0>0){g=Vf(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=g;if(c[(c[k>>2]|0)+20>>2]|0){Dx(c[(c[k>>2]|0)+20>>2]|0,c[s>>2]|0,c[p>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=c[p>>2];break}else{c[l>>2]=iu()|0;break}}}else c[l>>2]=68;while(0);if(c[l>>2]|0)break}}c[r>>2]=2;a:while(1){vg(c[n>>2]|0);g=zg(c[m>>2]|0,c[r>>2]|0)|0;c[n>>2]=g;if(!g)break;c[s>>2]=Bg(c[n>>2]|0,0,p)|0;if(!((c[p>>2]|0)==9?!(mw(c[s>>2]|0,37805,9)|0):0))t=30;do if((t|0)==30){t=0;if((c[p>>2]|0)==5?(mw(c[s>>2]|0,37889,5)|0)==0:0)break;if((c[p>>2]|0)!=15)break a;if(mw(c[s>>2]|0,37895,15)|0)break a}while(0);c[r>>2]=(c[r>>2]|0)+1}if(!(c[n>>2]|0)){c[l>>2]=68;break}$f(c[o>>2]|0);c[o>>2]=Eg(c[n>>2]|0,0)|0;if(!(c[o>>2]|0)){c[l>>2]=65;break}}else c[q>>2]=c[q>>2]|8;c[r>>2]=0;while(1){if(!(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0))break;if(!(Vv(c[o>>2]|0,c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0)|0))break;c[r>>2]=(c[r>>2]|0)+1}if(c[(c[h>>2]|0)+(c[r>>2]<<2)>>2]|0){c[c[j>>2]>>2]=c[n>>2];c[n>>2]=0;g=(c[k>>2]|0)+12|0;c[g>>2]=c[g>>2]|c[q>>2];c[l>>2]=0;break}else{c[l>>2]=70;break}}else c[l>>2]=65;while(0);$f(c[o>>2]|0);vg(c[n>>2]|0);vg(c[m>>2]|0);i=f;return c[l>>2]|0}function ok(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;while(1){if(!(c[4340+(c[j>>2]<<3)>>2]|0))break;d=Kv(c[4340+(c[j>>2]<<3)>>2]|0)|0;if((d|0)==(c[g>>2]|0)?(mw(c[4340+(c[j>>2]<<3)>>2]|0,c[f>>2]|0,c[g>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}if(c[4340+(c[j>>2]<<3)>>2]|0){c[h>>2]=c[4340+(c[j>>2]<<3)+4>>2];l=c[h>>2]|0;i=e;return l|0}c[k>>2]=Vf((c[g>>2]|0)+1|0)|0;if(c[k>>2]|0){Dx(c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;a[(c[k>>2]|0)+(c[g>>2]|0)>>0]=0;c[h>>2]=pj(c[k>>2]|0)|0;$f(c[k>>2]|0);l=c[h>>2]|0;i=e;return l|0}else{c[h>>2]=0;l=c[h>>2]|0;i=e;return l|0}return 0}function pk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+8>>2]=5;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+16>>2]=2;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+24>>2]=0;c[(c[f>>2]|0)+28>>2]=20;c[(c[f>>2]|0)+32>>2]=0;c[(c[f>>2]|0)+36>>2]=0;i=e;return}function qk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$f(c[(c[d>>2]|0)+20>>2]|0);i=b;return}
-function Np(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;g=i;i=i+144|0;h=g+128|0;j=g+124|0;k=g+120|0;l=g+116|0;m=g+112|0;n=g+108|0;o=g+104|0;p=g+100|0;q=g+96|0;r=g+92|0;s=g+88|0;t=g+84|0;u=g+80|0;v=g+76|0;w=g+72|0;x=g+68|0;y=g+64|0;z=g+60|0;A=g+56|0;B=g+52|0;C=g+48|0;D=g+44|0;E=g+40|0;F=g+36|0;G=g+32|0;H=g+28|0;I=g+24|0;J=g+20|0;K=g+16|0;L=g+12|0;M=g+8|0;N=g+4|0;O=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;if(!(c[l>>2]|0)){c[h>>2]=0;P=c[h>>2]|0;i=g;return P|0}c[s>>2]=c[m>>2];f=c[s>>2]|0;c[t>>2]=(c[s>>2]|0)>>>0<65536?(f>>>0<256?0:8):f>>>0<16777216?16:24;c[r>>2]=32-((d[45806+((c[s>>2]|0)>>>(c[t>>2]|0))>>0]|0)+(c[t>>2]|0));if(!(c[r>>2]|0)){c[n>>2]=(c[l>>2]|0)-1;c[q>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];if((c[q>>2]|0)>>>0>=(c[m>>2]|0)>>>0)c[q>>2]=0;else{t=c[n>>2]|0;c[n>>2]=t+-1;c[(c[j>>2]|0)+(t<<2)>>2]=0}while(1){if((c[n>>2]|0)<0)break;c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[I>>2]=(c[m>>2]|0)>>>16;c[J>>2]=c[m>>2]&65535;c[M>>2]=((c[q>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[K>>2]=((c[q>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=_(c[K>>2]|0,c[J>>2]|0)|0;c[M>>2]=c[M>>2]<<16|(c[p>>2]|0)>>>16;if(((c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[m>>2]|0),(c[M>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[m>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[O>>2]|0);c[N>>2]=((c[M>>2]|0)>>>0)%((c[I>>2]|0)>>>0)|0;c[L>>2]=((c[M>>2]|0)>>>0)/((c[I>>2]|0)>>>0)|0;c[O>>2]=_(c[L>>2]|0,c[J>>2]|0)|0;c[N>>2]=c[N>>2]<<16|c[p>>2]&65535;if(((c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0?(c[L>>2]=(c[L>>2]|0)+-1,c[N>>2]=(c[N>>2]|0)+(c[m>>2]|0),(c[N>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[N>>2]|0)>>>0<(c[O>>2]|0)>>>0:0){c[L>>2]=(c[L>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+(c[m>>2]|0)}c[N>>2]=(c[N>>2]|0)-(c[O>>2]|0);c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]=c[K>>2]<<16|c[L>>2];c[q>>2]=c[N>>2];c[n>>2]=(c[n>>2]|0)+-1}c[h>>2]=c[q>>2];P=c[h>>2]|0;i=g;return P|0}c[m>>2]=c[m>>2]<<c[r>>2];c[o>>2]=c[(c[k>>2]|0)+((c[l>>2]|0)-1<<2)>>2];c[q>>2]=(c[o>>2]|0)>>>(32-(c[r>>2]|0)|0);c[n>>2]=(c[l>>2]|0)-2;while(1){if((c[n>>2]|0)<0)break;c[p>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2];c[u>>2]=(c[m>>2]|0)>>>16;c[v>>2]=c[m>>2]&65535;c[y>>2]=((c[q>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[w>>2]=((c[q>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[o>>2]<<c[r>>2]|(c[p>>2]|0)>>>(32-(c[r>>2]|0)|0))>>>16;if(((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0),(c[y>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[A>>2]|0);c[z>>2]=((c[y>>2]|0)>>>0)%((c[u>>2]|0)>>>0)|0;c[x>>2]=((c[y>>2]|0)>>>0)/((c[u>>2]|0)>>>0)|0;c[A>>2]=_(c[x>>2]|0,c[v>>2]|0)|0;c[z>>2]=c[z>>2]<<16|(c[o>>2]<<c[r>>2]|(c[p>>2]|0)>>>(32-(c[r>>2]|0)|0))&65535;if(((c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[x>>2]=(c[x>>2]|0)+-1,c[z>>2]=(c[z>>2]|0)+(c[m>>2]|0),(c[z>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[z>>2]|0)>>>0<(c[A>>2]|0)>>>0:0){c[x>>2]=(c[x>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+(c[m>>2]|0)}c[z>>2]=(c[z>>2]|0)-(c[A>>2]|0);c[(c[j>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[w>>2]<<16|c[x>>2];c[q>>2]=c[z>>2];c[o>>2]=c[p>>2];c[n>>2]=(c[n>>2]|0)+-1}c[B>>2]=(c[m>>2]|0)>>>16;c[C>>2]=c[m>>2]&65535;c[F>>2]=((c[q>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[D>>2]=((c[q>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=_(c[D>>2]|0,c[C>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[o>>2]<<c[r>>2]>>>16;if(((c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[m>>2]|0),(c[F>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[m>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[H>>2]|0);c[G>>2]=((c[F>>2]|0)>>>0)%((c[B>>2]|0)>>>0)|0;c[E>>2]=((c[F>>2]|0)>>>0)/((c[B>>2]|0)>>>0)|0;c[H>>2]=_(c[E>>2]|0,c[C>>2]|0)|0;c[G>>2]=c[G>>2]<<16|c[o>>2]<<c[r>>2]&65535;if(((c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0?(c[E>>2]=(c[E>>2]|0)+-1,c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0),(c[G>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0){c[E>>2]=(c[E>>2]|0)+-1;c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0)}c[G>>2]=(c[G>>2]|0)-(c[H>>2]|0);c[c[j>>2]>>2]=c[D>>2]<<16|c[E>>2];c[q>>2]=c[G>>2];c[h>>2]=(c[q>>2]|0)>>>(c[r>>2]|0);P=c[h>>2]|0;i=g;return P|0}function Op(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+4;c[o>>2]=32-(c[n>>2]|0);c[p>>2]=(c[j>>2]|0)-1;c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[q>>2]=(c[m>>2]|0)>>>(c[o>>2]|0);c[l>>2]=c[m>>2];while(1){j=(c[p>>2]|0)+-1|0;c[p>>2]=j;if((j|0)<0)break;c[m>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2]<<c[n>>2]|(c[m>>2]|0)>>>(c[o>>2]|0);c[l>>2]=c[m>>2]}c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=c[l>>2]<<c[n>>2];i=f;return c[q>>2]|0}function Pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;i=i+80|0;g=f+68|0;h=f+64|0;j=f+60|0;k=f+56|0;l=f+52|0;m=f+48|0;n=f+44|0;o=f+40|0;p=f+36|0;q=f+32|0;r=f+28|0;s=f+24|0;t=f+20|0;u=f+16|0;v=f+12|0;w=f+8|0;x=f+4|0;y=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[x>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[y>>2]=c[k>>2];c[t>>2]=c[x>>2]&65535;c[v>>2]=(c[x>>2]|0)>>>16;c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[p>>2]=_(c[t>>2]|0,c[u>>2]|0)|0;c[q>>2]=_(c[t>>2]|0,c[w>>2]|0)|0;c[r>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[s>>2]=_(c[v>>2]|0,c[w>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+((c[p>>2]|0)>>>16);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);if((c[q>>2]|0)>>>0<(c[r>>2]|0)>>>0)c[s>>2]=(c[s>>2]|0)+65536;c[n>>2]=(c[s>>2]|0)+((c[q>>2]|0)>>>16);c[o>>2]=((c[q>>2]&65535)<<16)+(c[p>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Qp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+80|0;g=f+72|0;h=f+68|0;j=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[z>>2]=c[k>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=_(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=_(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=_(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[n>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[o>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[p>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[p>>2]|0)-(c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[o>>2]|0)>>>0>(c[p>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[c[j>>2]>>2];if((c[n>>2]|0)>>>0<=1){a:do if((c[n>>2]|0)==1){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break a;c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[k>>2]|0))break a;c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[m>>2]=0}else c[m>>2]=Pp(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[g>>2]=(c[g>>2]|0)+4;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;c[n>>2]=c[(c[j>>2]|0)+(c[l>>2]<<2)>>2];if((c[n>>2]|0)>>>0<=1){c[m>>2]=0;if((c[n>>2]|0)==1)c[m>>2]=Kp(c[g>>2]|0,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0)|0}else c[m>>2]=Wt(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[g>>2]=(c[g>>2]|0)+4;c[l>>2]=(c[l>>2]|0)+1}i=f;return c[m>>2]|0}function Sp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g+44|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+12|0;r=g+8|0;s=g+4|0;t=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=c[l>>2]|0;if(c[l>>2]&1|0){c[n>>2]=f-1;e=c[h>>2]|0;d=c[j>>2]|0;b=c[k>>2]|0;a=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(e,d,b,a)|0;else Sp(e,d,b,a,c[m>>2]|0);c[o>>2]=Wt((c[h>>2]|0)+(c[n>>2]<<2)|0,c[j>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[n>>2]|0)+(c[n>>2]|0)<<2)>>2]=c[o>>2];c[o>>2]=Wt((c[h>>2]|0)+(c[n>>2]<<2)|0,c[k>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+((c[n>>2]|0)+(c[l>>2]|0)<<2)>>2]=c[o>>2];i=g;return}c[p>>2]=f>>1;f=(c[h>>2]|0)+(c[l>>2]<<2)|0;o=(c[j>>2]|0)+(c[p>>2]<<2)|0;n=(c[k>>2]|0)+(c[p>>2]<<2)|0;a=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(f,o,n,a)|0;else Sp(f,o,n,a,c[m>>2]|0);a=(op((c[j>>2]|0)+(c[p>>2]<<2)|0,c[j>>2]|0,c[p>>2]|0)|0)>=0;n=c[h>>2]|0;o=c[j>>2]|0;if(a){Xp(n,o+(c[p>>2]<<2)|0,c[j>>2]|0,c[p>>2]|0)|0;c[r>>2]=0}else{Xp(n,o,(c[j>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;c[r>>2]=1}o=(op((c[k>>2]|0)+(c[p>>2]<<2)|0,c[k>>2]|0,c[p>>2]|0)|0)>=0;n=(c[h>>2]|0)+(c[p>>2]<<2)|0;a=c[k>>2]|0;if(o){Xp(n,a+(c[p>>2]<<2)|0,c[k>>2]|0,c[p>>2]|0)|0;c[r>>2]=c[r>>2]^1}else Xp(n,a,(c[k>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;a=c[m>>2]|0;n=c[h>>2]|0;o=(c[h>>2]|0)+(c[p>>2]<<2)|0;f=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(a,n,o,f)|0;else Sp(a,n,o,f,(c[m>>2]|0)+(c[l>>2]<<2)|0);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[(c[h>>2]|0)+(c[p>>2]<<2)+(c[s>>2]<<2)>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[q>>2]=Kp((c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;s=(c[h>>2]|0)+(c[p>>2]<<2)|0;f=(c[h>>2]|0)+(c[p>>2]<<2)|0;o=c[m>>2]|0;n=c[l>>2]|0;if(c[r>>2]|0){r=Xp(s,f,o,n)|0;c[q>>2]=(c[q>>2]|0)-r}else{r=Kp(s,f,o,n)|0;c[q>>2]=(c[q>>2]|0)+r}r=c[m>>2]|0;n=c[j>>2]|0;j=c[k>>2]|0;k=c[p>>2]|0;if((c[p>>2]|0)<16)Rp(r,n,j,k)|0;else Sp(r,n,j,k,(c[m>>2]|0)+(c[l>>2]<<2)|0);k=Kp((c[h>>2]|0)+(c[p>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)|0,c[m>>2]|0,c[l>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+k;if(c[q>>2]|0)kp((c[h>>2]|0)+(c[p>>2]<<2)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)+(c[l>>2]<<2)|0,c[p>>2]|0,c[q>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[p>>2]|0))break;c[(c[h>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=Kp((c[h>>2]|0)+(c[p>>2]<<2)|0,(c[h>>2]|0)+(c[p>>2]<<2)|0,(c[m>>2]|0)+(c[p>>2]<<2)|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){i=g;return}kp((c[h>>2]|0)+(c[l>>2]<<2)|0,(c[h>>2]|0)+(c[l>>2]<<2)|0,c[l>>2]|0,1)|0;i=g;return}function Tp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;i=i+32|0;j=h+24|0;k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+4>>2]|0?(c[(c[o>>2]|0)+12>>2]|0)>=(c[n>>2]|0):0)){if(c[(c[o>>2]|0)+4>>2]|0)cq(c[(c[o>>2]|0)+4>>2]|0,c[(c[o>>2]|0)+8>>2]|0);c[(c[o>>2]|0)+8>>2]=c[n>>2]<<1;g=c[n>>2]<<1;if(Zf(c[k>>2]|0)|0)q=1;else q=(Zf(c[m>>2]|0)|0)!=0;f=aq(g,q&1)|0;c[(c[o>>2]|0)+4>>2]=f;c[(c[o>>2]|0)+12>>2]=c[n>>2]}f=c[j>>2]|0;q=c[k>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(f,q,g,e)|0;else Sp(f,q,g,e,c[(c[o>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[n>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<2);c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);if((c[l>>2]|0)>=(c[n>>2]|0)){if(!(c[(c[o>>2]|0)+16>>2]|0?(c[(c[o>>2]|0)+24>>2]|0)>=(c[n>>2]|0):0)){if(c[(c[o>>2]|0)+16>>2]|0)cq(c[(c[o>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+20>>2]|0);c[(c[o>>2]|0)+20>>2]=c[n>>2]<<1;e=c[n>>2]<<1;if(Zf(c[k>>2]|0)|0)r=1;else r=(Zf(c[m>>2]|0)|0)!=0;g=aq(e,r&1)|0;c[(c[o>>2]|0)+16>>2]=g;c[(c[o>>2]|0)+24>>2]=c[n>>2]}do{g=c[(c[o>>2]|0)+16>>2]|0;r=c[k>>2]|0;e=c[m>>2]|0;q=c[n>>2]|0;if((c[n>>2]|0)<16)Rp(g,r,e,q)|0;else Sp(g,r,e,q,c[(c[o>>2]|0)+4>>2]|0);c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[n>>2]|0)|0;kp((c[j>>2]|0)+(c[n>>2]<<2)|0,(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<2)|0,c[n>>2]|0,c[p>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[n>>2]<<2);c[k>>2]=(c[k>>2]|0)+(c[n>>2]<<2);c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0)}while((c[l>>2]|0)>=(c[n>>2]|0))}if(!(c[l>>2]|0)){i=h;return}q=c[o>>2]|0;if((c[l>>2]|0)<16)Up(c[q+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;else{if(!(c[q>>2]|0)){q=gg(1,28)|0;c[c[o>>2]>>2]=q}Tp(c[(c[o>>2]|0)+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0,c[c[o>>2]>>2]|0)}c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[n>>2]|0)|0;kp((c[j>>2]|0)+(c[n>>2]<<2)|0,(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<2)|0,c[l>>2]|0,c[p>>2]|0)|0;i=h;return}function Up(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=i;i=i+80|0;h=g+72|0;j=g+68|0;k=g+64|0;l=g+60|0;m=g+56|0;n=g+52|0;o=g+48|0;p=g+44|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=(c[j>>2]|0)+(c[l>>2]<<2)+(c[n>>2]<<2)+-4;if((c[n>>2]|0)>=16){c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;Tp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,q);Vp(q);c[h>>2]=c[c[o>>2]>>2];v=c[h>>2]|0;i=g;return v|0}if(!(c[n>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=c[c[m>>2]>>2];if((c[s>>2]|0)>>>0<=1){a:do if((c[s>>2]|0)==1){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[t>>2]<<2)>>2];c[t>>2]=(c[t>>2]|0)+1}}else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[l>>2]|0))break a;c[(c[j>>2]|0)+(c[u>>2]<<2)>>2]=0;c[u>>2]=(c[u>>2]|0)+1}}while(0);c[p>>2]=0}else c[p>>2]=Pp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[j>>2]=(c[j>>2]|0)+4;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(c[n>>2]|0))break;c[s>>2]=c[(c[m>>2]|0)+(c[r>>2]<<2)>>2];if((c[s>>2]|0)>>>0<=1){c[p>>2]=0;if((c[s>>2]|0)==1)c[p>>2]=Kp(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0}else c[p>>2]=Wt(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[s>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[j>>2]=(c[j>>2]|0)+4;c[r>>2]=(c[r>>2]|0)+1}c[h>>2]=c[p>>2];v=c[h>>2]|0;i=g;return v|0}function Vp(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;if(c[(c[d>>2]|0)+16>>2]|0)cq(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)cq(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];if(c[(c[d>>2]|0)+16>>2]|0)cq(c[(c[d>>2]|0)+16>>2]|0,c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)cq(c[(c[d>>2]|0)+4>>2]|0,c[(c[d>>2]|0)+8>>2]|0);$f(c[d>>2]|0);c[d>>2]=c[e>>2]}i=b;return}function Wp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[k>>2];c[g>>2]=(c[g>>2]|0)+-4;c[o>>2]=32-(c[n>>2]|0);c[l>>2]=c[c[h>>2]>>2];c[q>>2]=c[l>>2]<<c[o>>2];c[m>>2]=c[l>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[j>>2]|0))break;c[l>>2]=c[(c[h>>2]|0)+(c[p>>2]<<2)>>2];c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=(c[m>>2]|0)>>>(c[n>>2]|0)|c[l>>2]<<c[o>>2];c[m>>2]=c[l>>2];c[p>>2]=(c[p>>2]|0)+1}c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]=(c[m>>2]|0)>>>(c[n>>2]|0);i=f;return c[q>>2]|0}function Xp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[o>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[o>>2]|0)<<2);c[j>>2]=(c[j>>2]|0)+(0-(c[o>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[o>>2]|0)<<2);c[n>>2]=0;do{c[m>>2]=c[(c[j>>2]|0)+(c[o>>2]<<2)>>2];c[l>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0&1;c[m>>2]=(c[l>>2]|0)-(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)+((c[m>>2]|0)>>>0>(c[l>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];k=(c[o>>2]|0)+1|0;c[o>>2]=k}while((k|0)!=0);i=f;return c[n>>2]|0}function Yp(){return 46156}function Zp(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a;d=a+8|0;e=a+4|0;c[d>>2]=0;a:while(1){if((c[d>>2]|0)>=6){f=12;break}switch(c[d>>2]|0){case 0:{c[e>>2]=0;break}case 1:{c[e>>2]=1;break}case 2:{c[e>>2]=2;break}case 3:{c[e>>2]=3;break}case 4:{c[e>>2]=4;break}case 5:{c[e>>2]=8;break}default:{f=10;break a}}g=_p(c[e>>2]|0)|0;c[70860+(c[d>>2]<<2)>>2]=g;c[(c[70860+(c[d>>2]<<2)>>2]|0)+12>>2]=48;c[d>>2]=(c[d>>2]|0)+1}if((f|0)==10){c[b>>2]=c[d>>2];Cf(46300,b)}else if((f|0)==12){i=a;return 0}return 0}function _p(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=$p(1)|0;c[c[(c[e>>2]|0)+16>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=c[d>>2]|0?1:0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function $p(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dg(20)|0;if(c[d>>2]|0)f=aq(c[d>>2]|0,0)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;i=b;return c[e>>2]|0}function aq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=(c[e>>2]|0?c[e>>2]|0:1)<<2;b=c[h>>2]|0;if(c[f>>2]|0)j=fg(b)|0;else j=dg(b)|0;c[g>>2]=j;if(c[e>>2]|0){k=c[g>>2]|0;i=d;return k|0}c[c[g>>2]>>2]=0;k=c[g>>2]|0;i=d;return k|0}function bq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dg(20)|0;if(c[d>>2]|0)f=aq(c[d>>2]|0,1)|0;else f=0;c[(c[e>>2]|0)+16>>2]=f;c[c[e>>2]>>2]=c[d>>2];c[(c[e>>2]|0)+12>>2]=1;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;i=b;return c[e>>2]|0}function cq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f;o=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[g>>2]|0)){i=f;return}c[j>>2]=c[h>>2]<<2;a:do if(c[j>>2]|0){c[k>>2]=c[g>>2];c[l>>2]=c[j>>2];a[m>>0]=0;h=n;c[h>>2]=d[m>>0];c[h+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){h=n;e=Mx(c[h>>2]|0,c[h+4>>2]|0,16843009,16843009)|0;h=n;c[h>>2]=e;c[h+4>>2]=C;do{c[o>>2]=c[k>>2];h=n;e=c[h+4>>2]|0;b=c[o>>2]|0;c[b>>2]=c[h>>2];c[b+4>>2]=e;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break a;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}}while(0);$f(c[g>>2]|0);i=f;return}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;cq(c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];c[c[f>>2]>>2]=c[h>>2];i=e;return}function eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[f>>2]|0)>>>0<=(c[c[e>>2]>>2]|0)>>>0){c[g>>2]=c[b+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=d;return}a=c[e>>2]|0;a:do if(!(c[b+16>>2]|0)){h=c[f>>2]|0;if(c[a+12>>2]&1|0){j=hg(h,4)|0;c[(c[e>>2]|0)+16>>2]=j;break}else{j=gg(h,4)|0;c[(c[e>>2]|0)+16>>2]=j;break}}else{j=eg(c[a+16>>2]|0,c[f>>2]<<2)|0;c[(c[e>>2]|0)+16>>2]=j;c[g>>2]=c[c[e>>2]>>2];while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break a;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[e>>2]>>2]=c[f>>2];i=d;return}function fq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&16|0:0){gq();i=b;return}c[(c[d>>2]|0)+4>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function gq(){var a=0;a=i;i=i+16|0;yf(46331,a);i=a;return}function hq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}if(c[(c[d>>2]|0)+12>>2]&32|0){i=b;return}a=c[(c[d>>2]|0)+16>>2]|0;if(c[(c[d>>2]|0)+12>>2]&4|0)$f(a);else cq(a,c[c[d>>2]>>2]|0);if(c[(c[d>>2]|0)+12>>2]&-3864|0)Cf(46375,b);$f(c[d>>2]|0);i=b;return}function iq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0))c[g>>2]=$p(0)|0;if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&16|0:0){gq();c[f>>2]=c[g>>2];k=c[f>>2]|0;i=e;return k|0}d=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+12>>2]&4|0)$f(d);else cq(d,c[c[g>>2]>>2]|0);c[(c[g>>2]|0)+16>>2]=c[h>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=4|c[(c[g>>2]|0)+12>>2]&3840;if(Zf(c[(c[g>>2]|0)+16>>2]|0)|0){j=(c[g>>2]|0)+12|0;c[j>>2]=c[j>>2]|1}c[f>>2]=c[g>>2];k=c[f>>2]|0;i=e;return k|0}function jq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=(((c[j>>2]|0)+7|0)>>>0)/8|0;d=(Zf(c[h>>2]|0)|0)!=0;b=c[l>>2]|0;if(d)m=Yf(b)|0;else m=Vf(b)|0;c[k>>2]=m;if(c[k>>2]|0){Dx(c[k>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;c[f>>2]=iq(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;n=c[f>>2]|0;i=e;return n|0}else{c[f>>2]=0;n=c[f>>2]|0;i=e;return n|0}return 0}function kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+12>>2]&4))Cf(46407,d);if(c[f>>2]|0)c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];i=d;return c[(c[e>>2]|0)+16>>2]|0}function lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=kq(c[f>>2]|0,c[g>>2]|0)|0;if((c[h>>2]|0)==0&(c[g>>2]|0)!=0){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}c[k>>2]=(((c[c[g>>2]>>2]|0)+7|0)>>>0)/8|0;g=(Zf(c[h>>2]|0)|0)!=0;f=c[k>>2]|0;if(g)m=Yf(f)|0;else m=Vf(f)|0;c[j>>2]=m;if(c[j>>2]|0)Dx(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=d;return l|0}function mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){a=(Zf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;if(a)j=fg(h)|0;else j=dg(h)|0;c[g>>2]=j;if(c[(c[d>>2]|0)+16>>2]|0)Dx(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0|0)|0;c[f>>2]=iq(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;k=c[f>>2]|0;i=b;return k|0}if(!(c[d>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=b;return k|0}if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&1|0:0)l=bq(c[(c[d>>2]|0)+4>>2]|0)|0;else l=$p(c[(c[d>>2]|0)+4>>2]|0)|0;c[f>>2]=l;c[(c[f>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];c[(c[f>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=(c[f>>2]|0)+12|0;c[l>>2]=c[l>>2]&-49;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<2)>>2];c[e>>2]=(c[e>>2]|0)+1}k=c[f>>2]|0;i=b;return k|0}function nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)==(c[f>>2]|0)){if(b|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}}else oq(b,c[f>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=((c[(c[f>>2]|0)+8>>2]|0)!=0^1)&1;i=d;return}function oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[k>>2]=c[(c[g>>2]|0)+4>>2];c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))c[f>>2]=$p(c[(c[g>>2]|0)+4>>2]|0)|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();c[e>>2]=c[f>>2];n=c[e>>2]|0;i=d;return n|0}if((c[c[f>>2]>>2]|0)<(c[k>>2]|0))eq(c[f>>2]|0,c[k>>2]|0);c[h>>2]=c[(c[f>>2]|0)+16>>2];c[j>>2]=c[(c[g>>2]|0)+16>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[m>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];g=(c[f>>2]|0)+12|0;c[g>>2]=c[g>>2]&-49;c[(c[f>>2]|0)+8>>2]=c[l>>2];c[e>>2]=c[f>>2];n=c[e>>2]|0;i=d;return n|0}function pq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){c[f>>2]=((c[(c[d>>2]|0)+8>>2]|0)+7|0)/8|0;a=(Zf(c[(c[d>>2]|0)+16>>2]|0)|0)!=0;h=c[f>>2]|0;if(a)j=Yf(h)|0;else j=Vf(h)|0;c[g>>2]=j;Dx(c[g>>2]|0,c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0;c[e>>2]=iq(0,c[g>>2]|0,c[(c[d>>2]|0)+8>>2]|0)|0;k=c[e>>2]|0;i=b;return k|0}if(!(c[d>>2]|0)){c[e>>2]=0;k=c[e>>2]|0;i=b;return k|0}if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&1|0:0)l=bq(c[(c[d>>2]|0)+4>>2]|0)|0;else l=$p(c[(c[d>>2]|0)+4>>2]|0)|0;c[e>>2]=l;c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];k=c[e>>2]|0;i=b;return k|0}function qq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0){if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}dq(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[c[f>>2]>>2]|0);c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+12>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+16>>2]=0}hq(c[f>>2]|0);i=d;return}function rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Cf(46437,e);c[j>>2]=0;while(1){n=c[l>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=n&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=n&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[m>>2];c[m>>2]=c[l>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[m>>2];i=e;return c[f>>2]|0}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0))c[f>>2]=$p(1)|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}if((c[c[f>>2]>>2]|0)<1)eq(c[f>>2]|0,1);c[c[(c[f>>2]|0)+16>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+4>>2]=c[g>>2]|0?1:0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[e>>2]=c[f>>2];h=c[e>>2]|0;i=d;return h|0}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+24|0;f=d+20|0;g=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[g+16>>2]=c[b+16>>2];b=c[e>>2]|0;e=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];e=c[f>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];i=d;return}function uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0-(((c[h>>2]|0)!=0^1^1)&1);if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0))Cf(46468,e);c[j>>2]=0;while(1){n=c[l>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[m>>2]=n&(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]);c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<2)>>2]^c[m>>2];c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=n&(c[(c[f>>2]|0)+4>>2]^c[(c[g>>2]|0)+4>>2]);c[(c[f>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2]^c[m>>2];c[(c[g>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2]^c[m>>2];c[m>>2]=c[l>>2]&(c[(c[f>>2]|0)+8>>2]^c[(c[g>>2]|0)+8>>2]);c[(c[f>>2]|0)+8>>2]=c[(c[f>>2]|0)+8>>2]^c[m>>2];c[(c[g>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2]^c[m>>2];i=e;return}function vq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$p((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function wq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=bq((((c[d>>2]|0)+32-1|0)>>>0)/32|0)|0;i=b;return a|0}function xq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[d>>2]|0);i=b;return}function yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[k>>2]=(((c[g>>2]|0)+7|0)>>>0)/8|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();i=e;return}g=(c[f>>2]|0)!=0;if(!(c[h>>2]|0)){if(g?c[(c[f>>2]|0)+12>>2]&1|0:0)l=fg(c[k>>2]|0)|0;else l=dg(c[k>>2]|0)|0;c[j>>2]=l;Tn(c[j>>2]|0,c[k>>2]|0)}else{if(g?c[(c[f>>2]|0)+12>>2]&1|0:0)m=On(c[k>>2]|0,c[h>>2]|0)|0;else m=Mn(c[k>>2]|0,c[h>>2]|0)|0;c[j>>2]=m}Cp(c[f>>2]|0,c[j>>2]|0,c[k>>2]|0,0);$f(c[j>>2]|0);i=e;return}function zq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;c[f>>2]=a;c[g>>2]=b;switch(c[g>>2]|0){case 1:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&1|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&4|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 4:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&16|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 8:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&32|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}case 2048:case 1024:case 512:case 256:{c[e>>2]=((c[(c[f>>2]|0)+12>>2]&c[g>>2]|0)!=0^1^1)&1;h=c[e>>2]|0;i=d;return h|0}default:Cf(46500,d)}return 0}function Aq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+12|0;c[e>>2]=a;a=c[e>>2]|0;if((c[e>>2]|0)<0|(c[e>>2]|0)>>>0>6){c[d>>2]=a;Cf(46300,d)}if(c[70860+(a<<2)>>2]|0){i=b;return c[70860+(c[e>>2]<<2)>>2]|0}else Cf(46520,b+8|0);return 0}function Bq(){return 46551}function Cq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+96|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f+8|0;o=f+4|0;p=f;c[h>>2]=b;c[j>>2]=e;c[k>>2]=sx(172)|0;if(!(c[k>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}c[c[k>>2]>>2]=1779033703;c[(c[k>>2]|0)+4>>2]=-1150833019;c[(c[k>>2]|0)+8>>2]=1013904242;c[(c[k>>2]|0)+12>>2]=-1521486534;c[(c[k>>2]|0)+16>>2]=1359893119;c[(c[k>>2]|0)+20>>2]=-1694144372;c[(c[k>>2]|0)+24>>2]=528734635;c[(c[k>>2]|0)+28>>2]=1541459225;c[(c[k>>2]|0)+32>>2]=0;c[(c[k>>2]|0)+36>>2]=0;e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-2;e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3;a:do if(c[h>>2]|0){e=m;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));e=(c[k>>2]|0)+105|0;b=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0));do if((c[j>>2]|0)>>>0<=64){Dx(m|0,c[h>>2]|0,c[j>>2]|0)|0;Dx((c[k>>2]|0)+105|0,c[h>>2]|0,c[j>>2]|0)|0}else{c[n>>2]=Cq(0,0)|0;if(c[n>>2]|0){Dq(c[n>>2]|0,c[h>>2]|0,c[j>>2]|0);Gq(c[n>>2]|0);e=m;r=(c[n>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(b|0));e=(c[k>>2]|0)+105|0;r=(c[n>>2]|0)+41|0;b=e+32|0;do{a[e>>0]=a[r>>0]|0;e=e+1|0;r=r+1|0}while((e|0)<(b|0));Hq(c[n>>2]|0);break}tx(c[k>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}while(0);c[l>>2]=0;while(1){if((c[l>>2]|0)>=64)break;e=m+(c[l>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^54;e=(c[k>>2]|0)+105+(c[l>>2]|0)|0;a[e>>0]=(d[e>>0]|0)^92;c[l>>2]=(c[l>>2]|0)+1}e=(c[k>>2]|0)+40|0;a[e>>0]=a[e>>0]&-3|2;Dq(c[k>>2]|0,m,64);c[o>>2]=m;c[p>>2]=64;while(1){if(!(c[p>>2]|0))break a;a[c[o>>2]>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}}while(0);c[g>>2]=c[k>>2];q=c[g>>2]|0;i=f;return q|0}function Dq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[h>>2];if((a[(c[g>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24|0){i=f;return}if((c[(c[g>>2]|0)+36>>2]|0)==64){Eq(c[g>>2]|0,(c[g>>2]|0)+41|0);c[(c[g>>2]|0)+36>>2]=0;h=(c[g>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+1}if(!(c[k>>2]|0)){i=f;return}if(c[(c[g>>2]|0)+36>>2]|0){while(1){if(!(c[j>>2]|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>=64)break;h=c[k>>2]|0;c[k>>2]=h+1;e=a[h>>0]|0;h=(c[g>>2]|0)+36|0;d=c[h>>2]|0;c[h>>2]=d+1;a[(c[g>>2]|0)+41+d>>0]=e;c[j>>2]=(c[j>>2]|0)+-1}Dq(c[g>>2]|0,0,0);if(!(c[j>>2]|0)){i=f;return}}while(1){if((c[j>>2]|0)>>>0<64)break;Eq(c[g>>2]|0,c[k>>2]|0);c[(c[g>>2]|0)+36>>2]=0;e=(c[g>>2]|0)+32|0;c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)-64;c[k>>2]=(c[k>>2]|0)+64}while(1){if(!(c[j>>2]|0)){l=15;break}if((c[(c[g>>2]|0)+36>>2]|0)>=64){l=15;break}e=c[k>>2]|0;c[k>>2]=e+1;d=a[e>>0]|0;e=(c[g>>2]|0)+36|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[g>>2]|0)+41+h>>0]=d;c[j>>2]=(c[j>>2]|0)+-1}if((l|0)==15){i=f;return}}function Eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=i;i=i+384|0;f=e+376|0;g=e+372|0;h=e+368|0;j=e+364|0;k=e+360|0;l=e+356|0;m=e+352|0;n=e+348|0;o=e+344|0;p=e+340|0;q=e+336|0;r=e+332|0;s=e+328|0;t=e+264|0;u=e+8|0;v=e+4|0;w=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];c[j>>2]=c[c[f>>2]>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2];c[l>>2]=c[(c[f>>2]|0)+8>>2];c[m>>2]=c[(c[f>>2]|0)+12>>2];c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[f>>2]|0)+20>>2];c[p>>2]=c[(c[f>>2]|0)+24>>2];c[q>>2]=c[(c[f>>2]|0)+28>>2];c[v>>2]=0;c[w>>2]=t;while(1){if((c[v>>2]|0)>=16)break;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+3>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+2>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[(c[w>>2]|0)+1>>0]=a[g>>0]|0;g=c[h>>2]|0;c[h>>2]=g+1;a[c[w>>2]>>0]=a[g>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+4}c[v>>2]=0;while(1){if((c[v>>2]|0)>=16)break;c[u+(c[v>>2]<<2)>>2]=c[t+(c[v>>2]<<2)>>2];c[v>>2]=(c[v>>2]|0)+1}while(1){if((c[v>>2]|0)>=64)break;t=Fq(c[u+((c[v>>2]|0)-2<<2)>>2]|0,17)|0;w=t^(Fq(c[u+((c[v>>2]|0)-2<<2)>>2]|0,19)|0);t=(w^(c[u+((c[v>>2]|0)-2<<2)>>2]|0)>>>10)+(c[u+((c[v>>2]|0)-7<<2)>>2]|0)|0;w=Fq(c[u+((c[v>>2]|0)-15<<2)>>2]|0,7)|0;h=w^(Fq(c[u+((c[v>>2]|0)-15<<2)>>2]|0,18)|0);c[u+(c[v>>2]<<2)>>2]=t+(h^(c[u+((c[v>>2]|0)-15<<2)>>2]|0)>>>3)+(c[u+((c[v>>2]|0)-16<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=0;while(1){if((c[v>>2]|0)>=64)break;h=c[q>>2]|0;t=Fq(c[n>>2]|0,6)|0;w=t^(Fq(c[n>>2]|0,11)|0);t=h+(w^(Fq(c[n>>2]|0,25)|0))|0;c[r>>2]=t+(c[p>>2]^c[n>>2]&(c[o>>2]^c[p>>2]))+(c[12576+(c[v>>2]<<2)>>2]|0)+(c[u+(c[v>>2]<<2)>>2]|0);t=Fq(c[j>>2]|0,2)|0;w=t^(Fq(c[j>>2]|0,13)|0);t=w^(Fq(c[j>>2]|0,22)|0);c[s>>2]=t+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]));c[q>>2]=c[p>>2];c[p>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=(c[m>>2]|0)+(c[r>>2]|0);c[m>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[j>>2];c[j>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[v>>2]=(c[v>>2]|0)+1}v=c[f>>2]|0;c[v>>2]=(c[v>>2]|0)+(c[j>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[f>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[f>>2]|0)+12|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[f>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[f>>2]|0)+20|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[f>>2]|0)+24|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);p=(c[f>>2]|0)+28|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);i=e;return}function Fq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]|0)|c[e>>2]<<32-(c[f>>2]|0)|0}function Gq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=b;if((a[(c[e>>2]|0)+40>>0]<<7&255)<<24>>24>>7<<24>>24|0){i=d;return}Dq(c[e>>2]|0,0,0);c[f>>2]=c[(c[e>>2]|0)+32>>2];c[h>>2]=c[f>>2]<<6;c[g>>2]=(c[f>>2]|0)>>>26;c[f>>2]=c[h>>2];b=(c[h>>2]|0)+(c[(c[e>>2]|0)+36>>2]|0)|0;c[h>>2]=b;if(b>>>0<(c[f>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=c[h>>2];c[h>>2]=c[h>>2]<<3;c[g>>2]=c[g>>2]<<3;c[g>>2]=c[g>>2]|(c[f>>2]|0)>>>29;f=(c[(c[e>>2]|0)+36>>2]|0)<56;b=(c[e>>2]|0)+36|0;k=c[b>>2]|0;c[b>>2]=k+1;a[(c[e>>2]|0)+41+k>>0]=-128;a:do if(f)while(1){if((c[(c[e>>2]|0)+36>>2]|0)>=56)break a;k=(c[e>>2]|0)+36|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[e>>2]|0)+41+b>>0]=0}else{while(1){l=c[e>>2]|0;if((c[(c[e>>2]|0)+36>>2]|0)>=64)break;b=l+36|0;k=c[b>>2]|0;c[b>>2]=k+1;a[(c[e>>2]|0)+41+k>>0]=0}Dq(l,0,0);k=(c[e>>2]|0)+41|0;b=k+56|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(b|0))}while(0);a[(c[e>>2]|0)+41+56>>0]=(c[g>>2]|0)>>>24;a[(c[e>>2]|0)+41+57>>0]=(c[g>>2]|0)>>>16;a[(c[e>>2]|0)+41+58>>0]=(c[g>>2]|0)>>>8;a[(c[e>>2]|0)+41+59>>0]=c[g>>2];a[(c[e>>2]|0)+41+60>>0]=(c[h>>2]|0)>>>24;a[(c[e>>2]|0)+41+61>>0]=(c[h>>2]|0)>>>16;a[(c[e>>2]|0)+41+62>>0]=(c[h>>2]|0)>>>8;a[(c[e>>2]|0)+41+63>>0]=c[h>>2];Eq(c[e>>2]|0,(c[e>>2]|0)+41|0);c[j>>2]=(c[e>>2]|0)+41;h=(c[c[e>>2]>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[c[e>>2]>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[c[e>>2]>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+4>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+4>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+8>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+8>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+12>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+12>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+16>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+16>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+20>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+20>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+24>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+24>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>24&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>16&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[(c[e>>2]|0)+28>>2]|0)>>>8&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=c[(c[e>>2]|0)+28>>2]&255;g=c[j>>2]|0;c[j>>2]=g+1;a[g>>0]=h;h=(c[e>>2]|0)+40|0;a[h>>0]=a[h>>0]&-2|1;i=d;return}function Hq(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=b;if(!(c[e>>2]|0)){i=d;return}a:do if((a[(c[e>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24|0){c[f>>2]=(c[e>>2]|0)+105;c[g>>2]=64;while(1){if(!(c[g>>2]|0))break a;a[c[f>>2]>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+-1}}while(0);tx(c[e>>2]|0);i=d;return}function Iq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=b;c[h>>2]=d;Gq(c[g>>2]|0);do if((a[(c[g>>2]|0)+40>>0]<<6&255)<<24>>24>>7<<24>>24|0){c[j>>2]=Cq(0,0)|0;if(c[j>>2]|0){Dq(c[j>>2]|0,(c[g>>2]|0)+105|0,64);Dq(c[j>>2]|0,(c[g>>2]|0)+41|0,32);Gq(c[j>>2]|0);d=(c[g>>2]|0)+41|0;b=(c[j>>2]|0)+41|0;k=d+32|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(k|0));Hq(c[j>>2]|0);break}tx(c[g>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}while(0);if(c[h>>2]|0)c[c[h>>2]>>2]=32;c[f>>2]=(c[g>>2]|0)+41;l=c[f>>2]|0;i=e;return l|0}function Jq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+80|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+64|0;y=j+4|0;z=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}if((c[n>>2]|0)>>>0<((c[p>>2]|0)+8|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}if(((c[p>>2]|0)>>>0)%8|0|0){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[s>>2]=((c[p>>2]|0)>>>0)/8|0;if((c[s>>2]|0)>>>0<2){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[y>>2]=0;c[u>>2]=c[m>>2];c[v>>2]=c[m>>2];c[w>>2]=(c[l>>2]|0)+80;m=c[v>>2]|0;if((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0){n=(c[l>>2]|0)+64|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;a[m+5>>0]=a[n+5>>0]|0;a[m+6>>0]=a[n+6>>0]|0;a[m+7>>0]=a[n+7>>0]|0}else{a[m>>0]=166;a[m+1>>0]=166;a[m+2>>0]=166;a[m+3>>0]=166;a[m+4>>0]=166;a[m+5>>0]=166;a[m+6>>0]=166;a[m+7>>0]=166}Ex((c[u>>2]|0)+8|0,c[o>>2]|0,c[p>>2]|0)|0;a[x>>0]=0;a[x+1>>0]=0;a[x+2>>0]=0;a[x+3>>0]=0;a[x+4>>0]=0;a[x+5>>0]=0;a[x+6>>0]=0;a[x+7>>0]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>5)break;c[t>>2]=1;while(1){if((c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0)break;p=c[w>>2]|0;o=c[v>>2]|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;o=(c[w>>2]|0)+8|0;p=(c[u>>2]|0)+(c[t>>2]<<3)|0;a[o>>0]=a[p>>0]|0;a[o+1>>0]=a[p+1>>0]|0;a[o+2>>0]=a[p+2>>0]|0;a[o+3>>0]=a[p+3>>0]|0;a[o+4>>0]=a[p+4>>0]|0;a[o+5>>0]=a[p+5>>0]|0;a[o+6>>0]=a[p+6>>0]|0;a[o+7>>0]=a[p+7>>0]|0;c[z>>2]=vb[c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2]&63]((c[l>>2]|0)+496|0,c[w>>2]|0,c[w>>2]|0)|0;c[y>>2]=(c[z>>2]|0)>>>0>(c[y>>2]|0)>>>0?c[z>>2]|0:c[y>>2]|0;c[r>>2]=7;while(1){if((c[r>>2]|0)<0)break;p=x+(c[r>>2]|0)|0;a[p>>0]=(a[p>>0]|0)+1<<24>>24;if(a[x+(c[r>>2]|0)>>0]|0)break;c[r>>2]=(c[r>>2]|0)+-1}Kq(c[v>>2]|0,c[w>>2]|0,x,8);p=(c[u>>2]|0)+(c[t>>2]<<3)|0;o=(c[w>>2]|0)+8|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((c[y>>2]|0)>>>0>0){If((c[y>>2]|0)+16|0);Jf()}c[k>>2]=0;A=c[k>>2]|0;i=j;return A|0}function Kq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Lq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+80|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+64|0;y=j+4|0;z=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}if(((c[n>>2]|0)+8|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}if(((c[p>>2]|0)>>>0)%8|0|0){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[s>>2]=((c[p>>2]|0)>>>0)/8|0;if((c[s>>2]|0)>>>0<3){c[k>>2]=45;A=c[k>>2]|0;i=j;return A|0}c[y>>2]=0;c[u>>2]=c[m>>2];c[v>>2]=(c[l>>2]|0)+96;c[w>>2]=(c[l>>2]|0)+80;m=c[v>>2]|0;n=c[o>>2]|0;a[m>>0]=a[n>>0]|0;a[m+1>>0]=a[n+1>>0]|0;a[m+2>>0]=a[n+2>>0]|0;a[m+3>>0]=a[n+3>>0]|0;a[m+4>>0]=a[n+4>>0]|0;a[m+5>>0]=a[n+5>>0]|0;a[m+6>>0]=a[n+6>>0]|0;a[m+7>>0]=a[n+7>>0]|0;Ex(c[u>>2]|0,(c[o>>2]|0)+8|0,(c[p>>2]|0)-8|0)|0;c[s>>2]=(c[s>>2]|0)+-1;c[t>>2]=(c[s>>2]|0)*6;c[r>>2]=0;while(1){if(!((c[r>>2]|0)<8?(c[r>>2]|0)>>>0<4:0))break;a[x+(7-(c[r>>2]|0))>>0]=(c[t>>2]|0)>>>(c[r>>2]<<3);c[r>>2]=(c[r>>2]|0)+1}while(1){if((c[r>>2]|0)>=8)break;a[x+(7-(c[r>>2]|0))>>0]=0;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=5;while(1){if((c[q>>2]|0)<0)break;c[t>>2]=c[s>>2];while(1){if((c[t>>2]|0)>>>0<1)break;Kq(c[w>>2]|0,c[v>>2]|0,x,8);p=(c[w>>2]|0)+8|0;o=(c[u>>2]|0)+((c[t>>2]|0)-1<<3)|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[z>>2]=vb[c[(c[(c[l>>2]|0)+12>>2]|0)+40>>2]&63]((c[l>>2]|0)+496|0,c[w>>2]|0,c[w>>2]|0)|0;c[y>>2]=(c[z>>2]|0)>>>0>(c[y>>2]|0)>>>0?c[z>>2]|0:c[y>>2]|0;c[r>>2]=7;while(1){if((c[r>>2]|0)<0)break;o=x+(c[r>>2]|0)|0;a[o>>0]=(a[o>>0]|0)+-1<<24>>24;if((d[x+(c[r>>2]|0)>>0]|0|0)!=255)break;c[r>>2]=(c[r>>2]|0)+-1}o=c[v>>2]|0;p=c[w>>2]|0;a[o>>0]=a[p>>0]|0;a[o+1>>0]=a[p+1>>0]|0;a[o+2>>0]=a[p+2>>0]|0;a[o+3>>0]=a[p+3>>0]|0;a[o+4>>0]=a[p+4>>0]|0;a[o+5>>0]=a[p+5>>0]|0;a[o+6>>0]=a[p+6>>0]|0;a[o+7>>0]=a[p+7>>0]|0;p=(c[u>>2]|0)+((c[t>>2]|0)-1<<3)|0;o=(c[w>>2]|0)+8|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;a[p+4>>0]=a[o+4>>0]|0;a[p+5>>0]=a[o+5>>0]|0;a[p+6>>0]=a[o+6>>0]|0;a[p+7>>0]=a[o+7>>0]|0;c[t>>2]=(c[t>>2]|0)+-1}c[q>>2]=(c[q>>2]|0)+-1}a:do if((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)c[q>>2]=mw(c[v>>2]|0,(c[l>>2]|0)+64|0,8)|0;else{c[q>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=8)break a;if((d[(c[v>>2]|0)+(c[r>>2]|0)>>0]|0|0)!=166)break;c[r>>2]=(c[r>>2]|0)+1}c[q>>2]=1}while(0);if((c[y>>2]|0)>>>0>0){If((c[y>>2]|0)+16|0);Jf()}c[k>>2]=c[q>>2]|0?10:0;A=c[k>>2]|0;i=j;return A|0}function Mq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+8|0;x=j+4|0;y=j;z=j+60|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];c[u>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[v>>2]=((c[p>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;if((c[n>>2]|0)>>>0<(c[(c[l>>2]|0)+52>>2]&8|0?c[t>>2]|0:c[p>>2]|0)>>>0){c[k>>2]=200;A=c[k>>2]|0;i=j;return A|0}do if(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0|0){if((c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[(c[l>>2]|0)+52>>2]&4|0:0)break;c[k>>2]=139;A=c[k>>2]|0;i=j;return A|0}while(0);c[w>>2]=0;if((c[(c[l>>2]|0)+52>>2]&4|0?(c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0:0)?(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0|0)==0:0)c[v>>2]=(c[v>>2]|0)+-1;n=c[l>>2]|0;if(c[(c[l>>2]|0)+20+8>>2]|0){Db[c[n+20+8>>2]&1]((c[l>>2]|0)+496|0,(c[l>>2]|0)+64|0,c[m>>2]|0,c[o>>2]|0,c[v>>2]|0,c[(c[l>>2]|0)+52>>2]&8);h=_(c[v>>2]|0,c[t>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+h;if(!(c[(c[l>>2]|0)+52>>2]&8)){h=_(c[v>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+h}}else{c[r>>2]=n+64;c[q>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;Nq(c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,c[t>>2]|0);c[x>>2]=vb[c[u>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[m>>2]|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;c[r>>2]=c[m>>2];c[o>>2]=(c[o>>2]|0)+(c[t>>2]|0);if(!(c[(c[l>>2]|0)+52>>2]&8))c[m>>2]=(c[m>>2]|0)+(c[t>>2]|0);c[q>>2]=(c[q>>2]|0)+1}if((c[r>>2]|0)!=((c[l>>2]|0)+64|0))Oq((c[l>>2]|0)+64|0,c[r>>2]|0,c[t>>2]|0)}if(c[(c[l>>2]|0)+52>>2]&4|0?(c[p>>2]|0)>>>0>(c[t>>2]|0)>>>0:0){if(!(((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0))c[y>>2]=c[t>>2];else c[y>>2]=((c[p>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[m>>2]=(c[m>>2]|0)+(0-(c[t>>2]|0));c[r>>2]=(c[l>>2]|0)+64;c[s>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;a[z>>0]=a[(c[o>>2]|0)+(c[s>>2]|0)>>0]|0;a[(c[m>>2]|0)+((c[t>>2]|0)+(c[s>>2]|0))>>0]=a[(c[m>>2]|0)+(c[s>>2]|0)>>0]|0;p=d[z>>0]|0;q=c[r>>2]|0;c[r>>2]=q+1;a[(c[m>>2]|0)+(c[s>>2]|0)>>0]=p^(d[q>>0]|0);c[s>>2]=(c[s>>2]|0)+1}while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;z=c[r>>2]|0;c[r>>2]=z+1;a[(c[m>>2]|0)+(c[s>>2]|0)>>0]=0^(d[z>>0]|0);c[s>>2]=(c[s>>2]|0)+1}c[x>>2]=vb[c[u>>2]&63]((c[l>>2]|0)+496|0,c[m>>2]|0,c[m>>2]|0)|0;c[w>>2]=(c[x>>2]|0)>>>0>(c[w>>2]|0)>>>0?c[x>>2]|0:c[w>>2]|0;Oq((c[l>>2]|0)+64|0,c[m>>2]|0,c[t>>2]|0)}if((c[w>>2]|0)>>>0>0){If((c[w>>2]|0)+16|0);Jf()}c[k>>2]=0;A=c[k>>2]|0;i=j;return A|0}function Nq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Oq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Pq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;i=i+64|0;j=h+52|0;k=h+48|0;l=h+44|0;m=h+40|0;n=h+36|0;o=h+32|0;p=h+28|0;q=h+24|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[r>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+20>>2];c[s>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+40>>2];c[t>>2]=((c[o>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;if((c[m>>2]|0)>>>0<(c[o>>2]|0)>>>0){c[j>>2]=200;x=c[j>>2]|0;i=h;return x|0}do if(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0|0){if((c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[(c[k>>2]|0)+52>>2]&4|0:0)break;c[j>>2]=139;x=c[j>>2]|0;i=h;return x|0}while(0);c[u>>2]=0;if(c[(c[k>>2]|0)+52>>2]&4|0?(c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[t>>2]=(c[t>>2]|0)+-1;if(!(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0))c[t>>2]=(c[t>>2]|0)+-1;Oq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0)}a:do if(c[(c[k>>2]|0)+20+12>>2]|0){wb[c[(c[k>>2]|0)+20+12>>2]&15]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,c[l>>2]|0,c[n>>2]|0,c[t>>2]|0);m=_(c[t>>2]|0,c[r>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+m;m=_(c[t>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+m}else{c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+96|0,c[n>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Qq(c[l>>2]|0,(c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[n>>2]|0,c[r>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[r>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);if(c[(c[k>>2]|0)+52>>2]&4|0?(c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){if(!(((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0))c[w>>2]=c[r>>2];else c[w>>2]=((c[o>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0;Oq((c[k>>2]|0)+96|0,(c[k>>2]|0)+64|0,c[r>>2]|0);Oq((c[k>>2]|0)+64|0,(c[n>>2]|0)+(c[r>>2]|0)|0,c[w>>2]|0);c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,c[n>>2]|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Nq(c[l>>2]|0,c[l>>2]|0,(c[k>>2]|0)+64|0,c[w>>2]|0);Oq((c[l>>2]|0)+(c[r>>2]|0)|0,c[l>>2]|0,c[w>>2]|0);c[q>>2]=c[w>>2];while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;a[(c[k>>2]|0)+64+(c[q>>2]|0)>>0]=a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0;c[q>>2]=(c[q>>2]|0)+1}c[v>>2]=vb[c[s>>2]&63]((c[k>>2]|0)+496|0,c[l>>2]|0,(c[k>>2]|0)+64|0)|0;c[u>>2]=(c[v>>2]|0)>>>0>(c[u>>2]|0)>>>0?c[v>>2]|0:c[u>>2]|0;Nq(c[l>>2]|0,c[l>>2]|0,(c[k>>2]|0)+96|0,c[r>>2]|0)}if((c[u>>2]|0)>>>0>0){If((c[u>>2]|0)+16|0);Jf()}c[j>>2]=0;x=c[j>>2]|0;i=h;return x|0}function Qq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function Rq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=15-(c[k>>2]|0);c[m>>2]=(c[l>>2]|0)-1;if(!(c[j>>2]|0)){c[g>>2]=45;n=c[g>>2]|0;i=f;return n|0}if((c[l>>2]|0)>>>0<2|(c[l>>2]|0)>>>0>8){c[g>>2]=139;n=c[g>>2]|0;i=f;return n|0}else{Fx((c[h>>2]|0)+128|0,0,368)|0;c[(c[h>>2]|0)+56>>2]=0;e=(c[h>>2]|0)+64|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+80|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=(c[h>>2]|0)+96|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[(c[h>>2]|0)+112>>2]=0;a[(c[h>>2]|0)+80>>0]=c[m>>2];Dx((c[h>>2]|0)+80+1|0,c[j>>2]|0,c[k>>2]|0)|0;Fx((c[h>>2]|0)+80+(1+(c[k>>2]|0))|0,0,c[l>>2]|0)|0;a[(c[h>>2]|0)+64>>0]=c[m>>2];Dx((c[h>>2]|0)+64+1|0,c[j>>2]|0,c[k>>2]|0)|0;Fx((c[h>>2]|0)+64+(1+(c[k>>2]|0))|0,0,c[l>>2]|0)|0;l=(c[h>>2]|0)+128+56|0;a[l>>0]=a[l>>0]&-2|1;c[g>>2]=0;n=c[g>>2]|0;i=f;return n|0}return 0}function Sq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=i;i=i+96|0;j=h+64|0;k=h+60|0;l=h+56|0;m=h+52|0;n=h+48|0;o=h+40|0;p=h+72|0;q=h+36|0;r=h+32|0;s=h+28|0;t=h+24|0;u=h+20|0;v=h+16|0;w=h+68|0;x=h;y=h+12|0;z=h+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h+44>>2]=16;c[o>>2]=c[(c[(c[k>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=0;c[r>>2]=c[(c[k>>2]|0)+128+36>>2];if((c[m>>2]|0)==0?!((c[r>>2]|0)!=0&(c[n>>2]|0)!=0):0){c[j>>2]=0;A=c[j>>2]|0;i=h;return A|0}a:do{b:do if((c[r>>2]|0)>>>0>0?1:((c[m>>2]|0)+(c[r>>2]|0)|0)>>>0<16)while(1){if(!(c[m>>2]|0?(c[r>>2]|0)>>>0<16:0))break b;g=c[l>>2]|0;c[l>>2]=g+1;f=a[g>>0]|0;g=c[r>>2]|0;c[r>>2]=g+1;a[(c[k>>2]|0)+128+20+g>>0]=f;c[m>>2]=(c[m>>2]|0)+-1}while(0);c:do if(!(c[m>>2]|0)){if(!(c[n>>2]|0))break a;while(1){if((c[r>>2]|0)>>>0>=16)break c;f=c[r>>2]|0;c[r>>2]=f+1;a[(c[k>>2]|0)+128+20+f>>0]=0}}while(0);if((c[r>>2]|0)>>>0>0){Tq((c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+128+20|0,16);c[t>>2]=vb[c[o>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[q>>2]=(c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[q>>2]|0:c[t>>2]|0;c[r>>2]=0}d:do if(c[(c[k>>2]|0)+20+8>>2]|0){c[s>>2]=((c[m>>2]|0)>>>0)/16|0;Db[c[(c[k>>2]|0)+20+8>>2]&1]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,p,c[l>>2]|0,c[s>>2]|0,1);c[l>>2]=(c[l>>2]|0)+(c[s>>2]<<4);c[m>>2]=(c[m>>2]|0)-(c[s>>2]<<4);c[u>>2]=p;c[v>>2]=16;a[w>>0]=0;f=x;c[f>>2]=d[w>>0];c[f+4>>2]=0;while(1){if(!(c[u>>2]&7|0?(c[v>>2]|0)!=0:0))break;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}if((c[v>>2]|0)>>>0>=8){f=x;g=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=x;c[f>>2]=g;c[f+4>>2]=C;do{c[y>>2]=c[u>>2];f=x;g=c[f+4>>2]|0;e=c[y>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=g;c[v>>2]=(c[v>>2]|0)-8;c[u>>2]=(c[u>>2]|0)+8}while((c[v>>2]|0)>>>0>=8)}while(1){if(!(c[v>>2]|0))break d;a[c[u>>2]>>0]=a[w>>0]|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+-1}}else while(1){if((c[m>>2]|0)>>>0<16)break d;Tq((c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0,c[l>>2]|0,16);c[z>>2]=vb[c[o>>2]&63]((c[k>>2]|0)+496|0,(c[k>>2]|0)+64|0,(c[k>>2]|0)+64|0)|0;c[q>>2]=(c[q>>2]|0)>>>0>(c[z>>2]|0)>>>0?c[q>>2]|0:c[z>>2]|0;c[m>>2]=(c[m>>2]|0)-16;c[l>>2]=(c[l>>2]|0)+16}while(0)}while((c[m>>2]|0)>>>0>0);c[(c[k>>2]|0)+128+36>>2]=c[r>>2];if(c[q>>2]|0)c[q>>2]=(c[q>>2]|0)+16;c[j>>2]=c[q>>2];A=c[j>>2]|0;i=h;return A|0}function Tq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Uq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if(((a[(c[l>>2]|0)+128+56>>0]&1|0?((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?(d[(c[l>>2]|0)+128+56>>0]|0)>>>1&1|0:0)?(h=(c[l>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[l>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[p>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}h=(c[l>>2]|0)+128|0;g=h;f=zx(c[g>>2]|0,c[g+4>>2]|0,c[p>>2]|0,0)|0;g=h;c[g>>2]=f;c[g+4>>2]=C;c[q>>2]=Sq(c[l>>2]|0,c[o>>2]|0,c[p>>2]|0,0)|0;if(c[q>>2]|0){If((c[q>>2]|0)+20|0);Jf()}c[k>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;r=c[k>>2]|0;i=j;return r|0}c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}function Vq(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+32|0;k=j+28|0;l=j+24|0;m=j+20|0;n=j+16|0;o=j+12|0;p=j+8|0;q=j+4|0;r=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;s=c[k>>2]|0;i=j;return s|0}if(((a[(c[l>>2]|0)+128+56>>0]&1|0?((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0:0)?(d[(c[l>>2]|0)+128+56>>0]|0)>>>1&1|0:0)?(h=(c[l>>2]|0)+128+8|0,g=c[h+4>>2]|0,!(g>>>0>0|(g|0)==0&(c[h>>2]|0)>>>0>0)):0){h=(c[l>>2]|0)+128|0;g=c[h+4>>2]|0;if(0>g>>>0|(0==(g|0)?(c[p>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)){c[k>>2]=139;s=c[k>>2]|0;i=j;return s|0}c[q>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];s=c[k>>2]|0;i=j;return s|0}o=(c[l>>2]|0)+128|0;n=o;h=zx(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,0)|0;n=o;c[n>>2]=h;c[n+4>>2]=C;c[r>>2]=Sq(c[l>>2]|0,c[m>>2]|0,c[p>>2]|0,0)|0;if(c[r>>2]|0){If((c[r>>2]|0)+20|0);Jf()}c[k>>2]=c[q>>2];s=c[k>>2]|0;i=j;return s|0}c[k>>2]=156;s=c[k>>2]|0;i=j;return s|0}function Wq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;i=i+64|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];c[r>>2]=(c[q>>2]|0)+(c[q>>2]|0);if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;v=c[h>>2]|0;i=g;return v|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Xq(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Xq(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}if((c[n>>2]|0)>>>0>=(c[r>>2]|0)>>>0?c[(c[j>>2]|0)+20>>2]|0:0){c[u>>2]=((c[n>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;wb[c[(c[j>>2]|0)+20>>2]&15]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0);o=_(c[u>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-o}else w=10;a:do if((w|0)==10)while(1){w=0;if((c[n>>2]|0)>>>0<(c[r>>2]|0)>>>0)break a;c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0);w=10}while(0);if((c[n>>2]|0)>>>0>=(c[q>>2]|0)>>>0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);Xq(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[s>>2]|0)>>>0>0){If((c[s>>2]|0)+16|0);Jf()}c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}function Xq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Yq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;i=i+64|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+32|0;n=g+28|0;o=g+24|0;p=g+20|0;q=g+16|0;r=g+12|0;s=g+8|0;t=g+4|0;u=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];c[r>>2]=(c[q>>2]|0)+(c[q>>2]|0);if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;v=c[h>>2]|0;i=g;return v|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));_q(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}c[s>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));_q(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}if((c[n>>2]|0)>>>0>=(c[r>>2]|0)>>>0?c[(c[j>>2]|0)+20+4>>2]|0:0){c[u>>2]=((c[n>>2]|0)>>>0)/((c[q>>2]|0)>>>0)|0;wb[c[(c[j>>2]|0)+20+4>>2]&15]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,c[k>>2]|0,c[m>>2]|0,c[u>>2]|0);o=_(c[u>>2]|0,c[q>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+o;o=_(c[u>>2]|0,c[q>>2]|0)|0;c[n>>2]=(c[n>>2]|0)-o}else w=10;a:do if((w|0)==10)while(1){w=0;if((c[n>>2]|0)>>>0<(c[r>>2]|0)>>>0)break a;c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0);w=10}while(0);if((c[n>>2]|0)>>>0>=(c[q>>2]|0)>>>0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){Yq((c[j>>2]|0)+96|0,(c[j>>2]|0)+64|0,c[q>>2]|0);c[t>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[s>>2]=(c[t>>2]|0)>>>0>(c[s>>2]|0)>>>0?c[t>>2]|0:c[s>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);_q(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[s>>2]|0)>>>0>0){If((c[s>>2]|0)+16|0);Jf()}c[h>>2]=0;v=c[h>>2]|0;i=g;return v|0}function _q(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$q(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function $q(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function ar(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;br(c[d>>2]|0);i=b;return 0}function br(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+80|0;f=e+56|0;g=e+52|0;h=e+64|0;j=e+63|0;k=e+62|0;l=e+61|0;m=e+48|0;n=e+44|0;o=e+40|0;p=e+24|0;q=e+16|0;r=e+12|0;s=e+60|0;t=e;u=e+8|0;c[f>>2]=b;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2];if(16<(c[g>>2]|0)>>>0)wf(46779,113,46793);Fx(p|0,0,c[g>>2]|0)|0;c[m>>2]=vb[c[(c[(c[f>>2]|0)+12>>2]|0)+36>>2]&63]((c[f>>2]|0)+496|0,p,p)|0;a[h>>0]=(c[g>>2]|0)==16?135:27;c[o>>2]=0;while(1){if((c[o>>2]|0)>=2)break;a[j>>0]=0;c[n>>2]=(c[g>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;a[l>>0]=a[p+(c[n>>2]|0)>>0]|0;a[k>>0]=d[j>>0]|0|(d[l>>0]|0)<<1;a[j>>0]=(d[l>>0]|0)>>7;a[p+(c[n>>2]|0)>>0]=d[k>>0]|0;a[(c[f>>2]|0)+128+1+(c[o>>2]<<4)+(c[n>>2]|0)>>0]=a[p+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+-1}b=p+((c[g>>2]|0)-1)|0;a[b>>0]=(d[b>>0]|0)^(d[j>>0]|0|0?d[h>>0]|0:0);a[(c[f>>2]|0)+128+1+(c[o>>2]<<4)+((c[g>>2]|0)-1)>>0]=a[p+((c[g>>2]|0)-1)>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[q>>2]=p;c[r>>2]=16;a[s>>0]=0;p=t;c[p>>2]=d[s>>0];c[p+4>>2]=0;while(1){if(!(c[q>>2]&7|0?(c[r>>2]|0)!=0:0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if((c[r>>2]|0)>>>0>=8){p=t;o=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=t;c[p>>2]=o;c[p+4>>2]=C;do{c[u>>2]=c[q>>2];p=t;o=c[p+4>>2]|0;g=c[u>>2]|0;c[g>>2]=c[p>>2];c[g+4>>2]=o;c[r>>2]=(c[r>>2]|0)-8;c[q>>2]=(c[q>>2]|0)+8}while((c[r>>2]|0)>>>0>=8)}while(1){if(!(c[r>>2]|0))break;a[c[q>>2]>>0]=a[s>>0]|0;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+-1}if(!(c[m>>2]|0)){i=e;return}If((c[m>>2]|0)+16|0);Jf();i=e;return}function cr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;j=i;i=i+96|0;k=j+68|0;l=j+64|0;m=j+60|0;n=j+56|0;o=j+52|0;p=j+48|0;q=j+44|0;r=j+40|0;s=j+36|0;t=j+32|0;u=j+28|0;v=j+24|0;w=j+20|0;x=j+80|0;y=j+16|0;z=j+12|0;A=j+72|0;B=j;D=j+8|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+36>>2];c[t>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2];if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;E=c[k>>2]|0;i=j;return E|0}c[v>>2]=0;if(c[(c[l>>2]|0)+112>>2]|0){if((c[(c[l>>2]|0)+112>>2]|0)>>>0>=(c[t>>2]|0)>>>0)xf(46815,46837,53,46850);c[r>>2]=(c[t>>2]|0)-(c[(c[l>>2]|0)+112>>2]|0);if((c[(c[l>>2]|0)+112>>2]|0)>>>0>(c[p>>2]|0)>>>0)F=c[p>>2]|0;else F=c[(c[l>>2]|0)+112>>2]|0;c[q>>2]=F;dr(c[m>>2]|0,c[o>>2]|0,(c[l>>2]|0)+96+(c[r>>2]|0)|0,c[q>>2]|0);F=(c[l>>2]|0)+112|0;c[F>>2]=(c[F>>2]|0)-(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[q>>2]|0)}c[u>>2]=((c[p>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;if(c[u>>2]|0?c[(c[l>>2]|0)+20+16>>2]|0:0){wb[c[(c[l>>2]|0)+20+16>>2]&15]((c[l>>2]|0)+496|0,(c[l>>2]|0)+80|0,c[m>>2]|0,c[o>>2]|0,c[u>>2]|0);F=_(c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+F;F=_(c[u>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+F;F=_(c[u>>2]|0,c[t>>2]|0)|0;c[p>>2]=(c[p>>2]|0)-F}a:do if(c[p>>2]|0){do{c[w>>2]=vb[c[s>>2]&63]((c[l>>2]|0)+496|0,x,(c[l>>2]|0)+80|0)|0;c[v>>2]=(c[w>>2]|0)>>>0>(c[v>>2]|0)>>>0?c[w>>2]|0:c[v>>2]|0;c[r>>2]=c[t>>2];while(1){if((c[r>>2]|0)<=0)break;F=(c[l>>2]|0)+80+((c[r>>2]|0)-1)|0;a[F>>0]=(a[F>>0]|0)+1<<24>>24;if(d[(c[l>>2]|0)+80+((c[r>>2]|0)-1)>>0]|0|0)break;c[r>>2]=(c[r>>2]|0)+-1}c[q>>2]=(c[t>>2]|0)>>>0<(c[p>>2]|0)>>>0?c[t>>2]|0:c[p>>2]|0;dr(c[m>>2]|0,c[o>>2]|0,x,c[q>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0)}while((c[p>>2]|0)!=0);c[(c[l>>2]|0)+112>>2]=(c[t>>2]|0)-(c[q>>2]|0);if(c[(c[l>>2]|0)+112>>2]|0)er((c[l>>2]|0)+96+(c[q>>2]|0)|0,x+(c[q>>2]|0)|0,c[(c[l>>2]|0)+112>>2]|0);c[y>>2]=x;c[z>>2]=16;a[A>>0]=0;F=B;c[F>>2]=d[A>>0];c[F+4>>2]=0;while(1){if(!(c[y>>2]&7|0?(c[z>>2]|0)!=0:0))break;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}if((c[z>>2]|0)>>>0>=8){F=B;u=Mx(c[F>>2]|0,c[F+4>>2]|0,16843009,16843009)|0;F=B;c[F>>2]=u;c[F+4>>2]=C;do{c[D>>2]=c[y>>2];F=B;u=c[F+4>>2]|0;n=c[D>>2]|0;c[n>>2]=c[F>>2];c[n+4>>2]=u;c[z>>2]=(c[z>>2]|0)-8;c[y>>2]=(c[y>>2]|0)+8}while((c[z>>2]|0)>>>0>=8)}while(1){if(!(c[z>>2]|0))break a;a[c[y>>2]>>0]=a[A>>0]|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+-1}}while(0);if((c[v>>2]|0)>>>0>0){If((c[v>>2]|0)+16|0);Jf()}c[k>>2]=0;E=c[k>>2]|0;i=j;return E|0}function dr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function er(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function fr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=12;r=c[k>>2]|0;i=j;return r|0}if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+68>>0]|0)>>>2&1|0){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[l>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[l>>2]|0)+56>>0]|0)>>>1&1))gr(c[l>>2]|0,76459,16)|0;if((d[(c[l>>2]|0)+128+68>>0]|0)>>>3&1|0){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if(!((d[(c[l>>2]|0)+128+68>>0]|0)>>>1&1)){kr(c[l>>2]|0,(c[l>>2]|0)+128|0,0,0,1);h=(c[l>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}ir((c[l>>2]|0)+128+44|0,c[p>>2]|0);h=(nr((c[l>>2]|0)+128+44|0)|0)!=0;g=c[l>>2]|0;if(!h){h=g+128+68|0;a[h>>0]=a[h>>0]&-5|4;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}c[q>>2]=cr(g,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;if(c[q>>2]|0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}else{kr(c[l>>2]|0,(c[l>>2]|0)+128|0,c[m>>2]|0,c[p>>2]|0,0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}}c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}function gr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-3;e=(c[g>>2]|0)+56|0;a[e>>0]=a[e>>0]&-5;e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9;if(!(Ah()|0)){k=c[g>>2]|0;l=c[h>>2]|0;m=c[j>>2]|0;n=hr(k,l,m)|0;i=f;return n|0}e=(c[g>>2]|0)+128+68|0;a[e>>0]=a[e>>0]&-9|8;k=c[g>>2]|0;l=c[h>>2]|0;m=c[j>>2]|0;n=hr(k,l,m)|0;i=f;return n|0}function hr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=i;i=i+96|0;h=g+76|0;j=g+72|0;k=g+68|0;l=g+64|0;m=g+56|0;n=g+40|0;o=g+36|0;p=g+32|0;q=g+81|0;r=g+8|0;s=g+28|0;t=g+24|0;u=g+20|0;v=g+80|0;w=g;x=g+16|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;f=(c[j>>2]|0)+128+36|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[j>>2]|0)+128+44|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[j>>2]|0)+128|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-5;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-2;f=(c[j>>2]|0)+128+68|0;a[f>>0]=a[f>>0]&-3;if(!(c[l>>2]|0)){c[h>>2]=139;y=c[h>>2]|0;i=g;return y|0}a:do if((c[l>>2]|0)!=12){c[m>>2]=0;c[m+4>>2]=0;f=(c[j>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;ir(m,c[l>>2]|0);f=(jr(m)|0)!=0;e=c[j>>2]|0;if(!f){f=e+128+68|0;a[f>>0]=a[f>>0]&-5|4;c[h>>2]=139;y=c[h>>2]|0;i=g;return y|0}kr(e,(c[j>>2]|0)+80|0,c[k>>2]|0,c[l>>2]|0,1);c[n+8+4>>2]=Hx(c[m>>2]<<3|0)|0;c[n+8>>2]=Hx((c[m>>2]|0)>>>29|c[m+4>>2]<<3|0)|0;c[n+4>>2]=0;c[n>>2]=0;kr(c[j>>2]|0,(c[j>>2]|0)+80|0,n,16,1);c[o>>2]=m;c[p>>2]=8;a[q>>0]=0;e=r;c[e>>2]=d[q>>0];c[e+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){e=r;f=Mx(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=r;c[e>>2]=f;c[e+4>>2]=C;do{c[s>>2]=c[o>>2];e=r;f=c[e+4>>2]|0;b=c[s>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[t>>2]=n;c[u>>2]=16;a[v>>0]=0;f=w;c[f>>2]=d[v>>0];c[f+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){f=w;b=Mx(c[f>>2]|0,c[f+4>>2]|0,16843009,16843009)|0;f=w;c[f>>2]=b;c[f+4>>2]=C;do{c[x>>2]=c[t>>2];f=w;b=c[f+4>>2]|0;e=c[x>>2]|0;c[e>>2]=c[f>>2];c[e+4>>2]=b;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break a;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}}else{Dx((c[j>>2]|0)+80|0,c[k>>2]|0,c[l>>2]|0)|0;a[(c[j>>2]|0)+80+14>>0]=0;a[(c[j>>2]|0)+80+13>>0]=0;a[(c[j>>2]|0)+80+12>>0]=0;a[(c[j>>2]|0)+80+15>>0]=1}while(0);vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+128+52|0,(c[j>>2]|0)+80|0)|0;mr((c[j>>2]|0)+80|0,1)|0;c[(c[j>>2]|0)+112>>2]=0;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-3|2;l=(c[j>>2]|0)+56|0;a[l>>0]=a[l>>0]&-5;c[h>>2]=0;y=c[h>>2]|0;i=g;return y|0}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[c[e>>2]>>2]|0)>>>0>=(c[f>>2]|0)>>>0){i=d;return}f=(c[e>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+1;i=d;return}function jr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=536870911){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<536870911){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967295){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function kr(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;t=h;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=16;c[p>>2]=c[(c[j>>2]|0)+128+32>>2];c[q>>2]=c[(c[j>>2]|0)+128+96>>2];c[t>>2]=0;if((c[m>>2]|0)==0?!((c[p>>2]|0)!=0&(c[n>>2]|0)!=0):0){i=h;return}a:do{if((c[p>>2]|0)>>>0>0?1:((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[o>>2]|0)>>>0){c[s>>2]=(c[o>>2]|0)-(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)>>>0<(c[m>>2]|0)>>>0?c[s>>2]|0:c[m>>2]|0;lr((c[j>>2]|0)+128+16+(c[p>>2]|0)|0,c[l>>2]|0,c[s>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[s>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[s>>2]|0)}b:do if(!(c[m>>2]|0)){if(!(c[n>>2]|0))break a;while(1){if((c[p>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break b;g=c[p>>2]|0;c[p>>2]=g+1;a[(c[j>>2]|0)+128+16+g>>0]=0}}while(0);if((c[p>>2]|0)>>>0>0){if((c[p>>2]|0)!=(c[o>>2]|0)){u=11;break}c[t>>2]=Cb[c[q>>2]&7](c[j>>2]|0,c[k>>2]|0,(c[j>>2]|0)+128+16|0,1)|0;c[p>>2]=0}c[r>>2]=((c[m>>2]|0)>>>0)/((c[o>>2]|0)>>>0)|0;if(c[r>>2]|0){c[t>>2]=Cb[c[q>>2]&7](c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;g=_(c[o>>2]|0,c[r>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+g;g=_(c[o>>2]|0,c[r>>2]|0)|0;c[m>>2]=(c[m>>2]|0)-g}}while((c[m>>2]|0)>>>0>0);if((u|0)==11)xf(46875,46895,499,46908);c[(c[j>>2]|0)+128+32>>2]=c[p>>2];if(!(c[t>>2]|0)){i=h;return}If(c[t>>2]|0);Jf();i=h;return}function lr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[d+8>>2]=16;c[g>>2]=(c[e>>2]|0)+16+-4;e=Hx(c[c[g>>2]>>2]|0)|0;c[h>>2]=e+(c[f>>2]|0);f=Hx(c[h>>2]|0)|0;c[c[g>>2]>>2]=f;i=d;return c[h>>2]|0}function nr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if((c[(c[e>>2]|0)+4>>2]|0)>>>0<=15){if((c[(c[e>>2]|0)+4>>2]|0)>>>0<15){c[d>>2]=1;break}if((c[c[e>>2]>>2]|0)>>>0<=4294967264){c[d>>2]=1;break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function or(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+32|0;k=j+20|0;l=j+16|0;m=j+12|0;n=j+8|0;o=j+4|0;p=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[(c[(c[l>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[k>>2]=12;q=c[k>>2]|0;i=j;return q|0}if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;q=c[k>>2]|0;i=j;return q|0}if((d[(c[l>>2]|0)+128+68>>0]|0)>>>2&1|0){c[k>>2]=139;q=c[k>>2]|0;i=j;return q|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0)==0?(a[(c[l>>2]|0)+128+68>>0]&1|0)==0:0){if(!((d[(c[l>>2]|0)+56>>0]|0)>>>1&1))gr(c[l>>2]|0,76475,16)|0;if(!((d[(c[l>>2]|0)+128+68>>0]|0)>>>1&1)){kr(c[l>>2]|0,(c[l>>2]|0)+128|0,0,0,1);h=(c[l>>2]|0)+128+68|0;a[h>>0]=a[h>>0]&-3|2}ir((c[l>>2]|0)+128+44|0,c[p>>2]|0);h=(nr((c[l>>2]|0)+128+44|0)|0)!=0;g=c[l>>2]|0;if(h){kr(g,(c[l>>2]|0)+128|0,c[o>>2]|0,c[p>>2]|0,0);c[k>>2]=cr(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;q=c[k>>2]|0;i=j;return q|0}else{p=g+128+68|0;a[p>>0]=a[p>>0]&-5|4;c[k>>2]=139;q=c[k>>2]|0;i=j;return q|0}}c[k>>2]=156;q=c[k>>2]|0;i=j;return q|0}function pr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+128+80|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;vb[c[(c[(c[d>>2]|0)+12>>2]|0)+36>>2]&63]((c[d>>2]|0)+496|0,(c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+80|0)|0;qr(c[d>>2]|0);i=b;return}function qr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+128+96>>2]=2;vr((c[d>>2]|0)+128+80|0,(c[d>>2]|0)+128+100|0);i=b;return}function rr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[f+4>>2]=16;c[l>>2]=0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=sr(c[h>>2]|0,c[j>>2]|0,(c[g>>2]|0)+128+100|0)|0;c[j>>2]=(c[j>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}i=f;return (c[l>>2]|0)+(c[l>>2]|0?20:0)|0}function sr(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+80|0;h=g+56|0;j=g+52|0;k=g+48|0;l=g+64|0;m=g+32|0;n=g+24|0;o=g+20|0;p=g+16|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=f;tr(l,c[h>>2]|0,c[j>>2]|0,16);c[r>>2]=15;c[n>>2]=d[l+(c[r>>2]|0)>>0];c[o>>2]=(c[k>>2]|0)+((c[n>>2]&15)<<2<<2);c[n>>2]=(c[n>>2]&240)>>>4;c[p>>2]=(c[k>>2]|0)+(c[n>>2]<<2<<2);j=(c[r>>2]|0)+-1|0;c[r>>2]=j;c[n>>2]=d[l+j>>0];j=(c[c[o>>2]>>2]|0)>>>4;f=Ix(e[17846+((c[(c[o>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[m>>2]=j^f^c[c[p>>2]>>2];c[m+4>>2]=(c[(c[o>>2]|0)+4>>2]|0)>>>4^c[c[o>>2]>>2]<<28^c[(c[p>>2]|0)+4>>2];c[m+8>>2]=(c[(c[o>>2]|0)+8>>2]|0)>>>4^c[(c[o>>2]|0)+4>>2]<<28^c[(c[p>>2]|0)+8>>2];c[m+12>>2]=(c[(c[o>>2]|0)+12>>2]|0)>>>4^c[(c[o>>2]|0)+8>>2]<<28^c[(c[p>>2]|0)+12>>2];while(1){c[o>>2]=(c[k>>2]|0)+((c[n>>2]&15)<<2<<2);c[n>>2]=(c[n>>2]&240)>>>4;c[p>>2]=(c[k>>2]|0)+(c[n>>2]<<2<<2);c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[m>>2]=(c[q>>2]|0)>>>8^(e[17846+((c[m+12>>2]&255)<<1)>>1]|0)<<16^c[c[p>>2]>>2];c[m+4>>2]=c[q>>2]<<24^(c[m+4>>2]|0)>>>8^c[(c[p>>2]|0)+4>>2];c[m+8>>2]=c[q+4>>2]<<24^(c[m+8>>2]|0)>>>8^c[(c[p>>2]|0)+8>>2];c[m+12>>2]=c[q+8>>2]<<24^(c[m+12>>2]|0)>>>8^c[(c[p>>2]|0)+12>>2];f=(c[c[o>>2]>>2]|0)>>>4;j=Ix(e[17846+((c[(c[o>>2]|0)+12>>2]<<4&240)<<1)>>1]|0|0,0,16)|0;c[m>>2]=c[m>>2]^(f^j);j=m+4|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+4>>2]|0)>>>4^c[c[o>>2]>>2]<<28);j=m+8|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+8>>2]|0)>>>4^c[(c[o>>2]|0)+4>>2]<<28);j=m+12|0;c[j>>2]=c[j>>2]^((c[(c[o>>2]|0)+12>>2]|0)>>>4^c[(c[o>>2]|0)+8>>2]<<28);if(!(c[r>>2]|0))break;j=(c[r>>2]|0)+-1|0;c[r>>2]=j;c[n>>2]=d[l+j>>0]}ur(c[h>>2]|0,c[m>>2]|0);ur((c[h>>2]|0)+4|0,c[m+4>>2]|0);ur((c[h>>2]|0)+8|0,c[m+8>>2]|0);ur((c[h>>2]|0)+12|0,c[m+12>>2]|0);i=g;return 76}function tr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function ur(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;b=wr(c[e>>2]|0)|0;c[(c[f>>2]|0)+128>>2]=b;b=wr((c[e>>2]|0)+4|0)|0;c[(c[f>>2]|0)+132>>2]=b;b=wr((c[e>>2]|0)+8|0)|0;c[(c[f>>2]|0)+136>>2]=b;b=wr((c[e>>2]|0)+12|0)|0;c[(c[f>>2]|0)+140>>2]=b;c[g>>2]=4;while(1){if((c[g>>2]|0)<=0)break;c[(c[f>>2]|0)+((c[g>>2]<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+0<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+1<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+2<<2)>>2];c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<1<<2)+3<<2)>>2];xr(c[f>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)/2|0}c[g>>2]=2;while(1){if((c[g>>2]|0)>=16)break;c[h>>2]=1;while(1){j=c[g>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+0<<2)>>2]=c[(c[f>>2]|0)+((j<<2)+0<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+0<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+1<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+1<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+1<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+2<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+2<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+2<<2)>>2];c[(c[f>>2]|0)+(((c[g>>2]|0)+(c[h>>2]|0)<<2)+3<<2)>>2]=c[(c[f>>2]|0)+((c[g>>2]<<2)+3<<2)>>2]^c[(c[f>>2]|0)+((c[h>>2]<<2)+3<<2)>>2];c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=j<<1}i=d;return}function wr(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+8|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2];c[g+4>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2];c[g+8>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2];c[g+12>>2]=c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2];c[h>>2]=c[g+12>>2]&1|0?225:0;c[(c[e>>2]|0)+((c[f>>2]<<2)+3<<2)>>2]=(c[g+12>>2]|0)>>>1^c[g+8>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+2<<2)>>2]=(c[g+8>>2]|0)>>>1^c[g+4>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+1<<2)>>2]=(c[g+4>>2]|0)>>>1^c[g>>2]<<31;c[(c[e>>2]|0)+((c[f>>2]<<2)+0<<2)>>2]=(c[g>>2]|0)>>>1^c[h>>2]<<24;i=d;return}function yr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f;l=f+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=k;c[l>>2]=zr(c[e>>2]|0,c[e+4>>2]|0)|0;if((c[l>>2]|0)<16){c[g>>2]=(c[h>>2]|0)+128+32+(c[l>>2]<<4);m=c[g>>2]|0;i=f;return m|0}Br(c[j>>2]|0,(c[h>>2]|0)+128+32+240|0);c[l>>2]=(c[l>>2]|0)-16;while(1){n=c[j>>2]|0;if(!(c[l>>2]|0))break;Dr(n);c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=n;m=c[g>>2]|0;i=f;return m|0}function zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=Ar(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(Ar(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function Ar(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Gx(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if((c[e>>2]|0)!=(c[f>>2]|0))Cr(c[e>>2]|0,c[f>>2]|0,16);Dr(c[e>>2]|0);i=d;return}function Cr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Dr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;c[d>>2]=a;a=Er(c[d>>2]|0)|0;h=f;c[h>>2]=a;c[h+4>>2]=C;h=Er((c[d>>2]|0)+8|0)|0;a=g;c[a>>2]=h;c[a+4>>2]=C;a=f;h=Bx(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=e;c[a>>2]=h;c[a+4>>2]=C;a=f;h=f;j=Ax(c[a>>2]|0,c[a+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=C;a=g;k=Cx(c[a>>2]|0,c[a+4>>2]|0,63)|0;a=f;c[a>>2]=j^k;c[a+4>>2]=h^C;h=g;a=g;k=Ax(c[h>>2]|0,c[h+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=g;c[a>>2]=k^c[e>>2]&135;c[a+4>>2]=C;a=f;Fr(c[d>>2]|0,c[a>>2]|0,c[a+4>>2]|0);a=g;Fr((c[d>>2]|0)+8|0,c[a>>2]|0,c[a+4>>2]|0);i=b;return}function Er(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=Ix(d[c[f>>2]>>0]|0|0,0,56)|0;a=C;g=Ix(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|C;a=Ix(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;j=h|C|(d[(c[f>>2]|0)+3>>0]|0);h=Ix(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;k=j|C;j=Ix(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;l=k|C;k=Ix(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;C=l|C;i=b;return e|g|a|h|j|k|(d[(c[f>>2]|0)+7>>0]|0)|0}function Fr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f;j=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[g>>2];g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[j>>2]>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[j>>2]|0)+1>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[j>>2]|0)+2>>0]=e;a[(c[j>>2]|0)+3>>0]=c[h+4>>2];e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[j>>2]|0)+4>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[j>>2]|0)+5>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[j>>2]|0)+6>>0]=g;a[(c[j>>2]|0)+7>>0]=c[h>>2];i=f;return}function Gr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;g=i;i=i+128|0;h=g+68|0;j=g+64|0;k=g+60|0;l=g+56|0;m=g+104|0;n=g+80|0;o=g+52|0;p=g+48|0;q=g+44|0;r=g+40|0;s=g+36|0;t=g+32|0;u=g+73|0;v=g+8|0;w=g+28|0;x=g+24|0;y=g+20|0;z=g+72|0;A=g;B=g+16|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[q>>2]=0;if(!(a[(c[j>>2]|0)+56>>0]&1)){c[h>>2]=156;D=c[h>>2]|0;i=g;return D|0}switch(d[(c[j>>2]|0)+128+352>>0]|0|0){case 16:case 12:case 8:break;default:{c[h>>2]=59;D=c[h>>2]|0;i=g;return D|0}}if((c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[h>>2]=12;D=c[h>>2]|0;i=g;return D|0}if(!(c[k>>2]|0)){c[h>>2]=45;D=c[h>>2]|0;i=g;return D|0}if((c[l>>2]|0)>>>0>15|(c[l>>2]|0)>>>0<8|(c[l>>2]|0)>>>0>=16){c[h>>2]=139;D=c[h>>2]|0;i=g;return D|0}f=m;e=f+16|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));c[r>>2]=vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+128|0,m)|0;c[q>>2]=(c[r>>2]|0)>>>0>(c[q>>2]|0)>>>0?c[r>>2]|0:c[q>>2]|0;Br((c[j>>2]|0)+128+16|0,(c[j>>2]|0)+128|0);Br((c[j>>2]|0)+128+32|0,(c[j>>2]|0)+128+16|0);c[p>>2]=1;while(1){if((c[p>>2]|0)>=16)break;Br((c[j>>2]|0)+128+32+(c[p>>2]<<4)|0,(c[j>>2]|0)+128+32+((c[p>>2]|0)-1<<4)|0);c[p>>2]=(c[p>>2]|0)+1}Fx(m|0,0,16-(c[l>>2]|0)|0)|0;Cr(m+(16-(c[l>>2]|0))|0,c[k>>2]|0,c[l>>2]|0);a[m>>0]=(((d[(c[j>>2]|0)+128+352>>0]|0)<<3|0)%128|0)<<1;k=m+(16-(c[l>>2]|0)-1)|0;a[k>>0]=d[k>>0]|0|1;c[o>>2]=(d[m+15>>0]|0)&63;k=m+15|0;a[k>>0]=(d[k>>0]|0)&192;c[r>>2]=vb[c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2]&63]((c[j>>2]|0)+496|0,m,m)|0;c[q>>2]=(c[r>>2]|0)>>>0>(c[q>>2]|0)>>>0?c[r>>2]|0:c[q>>2]|0;Cr(n,m,16);Hr(n+16|0,m,m+1|0,8);Ir((c[j>>2]|0)+64|0,n,c[o>>2]|0,16);o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-3|2;o=(c[j>>2]|0)+80|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+128+304|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+128+320|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;o=(c[j>>2]|0)+96|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[(c[j>>2]|0)+112>>2]=0;o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-5;o=(c[j>>2]|0)+56|0;a[o>>0]=a[o>>0]&-9;o=(c[j>>2]|0)+128+336|0;c[o>>2]=0;c[o+4>>2]=0;o=(c[j>>2]|0)+128+344|0;c[o>>2]=0;c[o+4>>2]=0;o=(c[j>>2]|0)+128+353|0;a[o>>0]=a[o>>0]&-2;o=(c[j>>2]|0)+128+353|0;a[o>>0]=a[o>>0]&-3;c[s>>2]=m;c[t>>2]=16;a[u>>0]=0;m=v;c[m>>2]=d[u>>0];c[m+4>>2]=0;while(1){if(!(c[s>>2]&7|0?(c[t>>2]|0)!=0:0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}if((c[t>>2]|0)>>>0>=8){m=v;o=Mx(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=v;c[m>>2]=o;c[m+4>>2]=C;do{c[w>>2]=c[s>>2];m=v;o=c[m+4>>2]|0;j=c[w>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=o;c[t>>2]=(c[t>>2]|0)-8;c[s>>2]=(c[s>>2]|0)+8}while((c[t>>2]|0)>>>0>=8)}while(1){if(!(c[t>>2]|0))break;a[c[s>>2]>>0]=a[u>>0]|0;c[s>>2]=(c[s>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+-1}c[x>>2]=n;c[y>>2]=24;a[z>>0]=0;n=A;c[n>>2]=d[z>>0];c[n+4>>2]=0;while(1){if(!(c[x>>2]&7|0?(c[y>>2]|0)!=0:0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[y>>2]|0)>>>0>=8){n=A;t=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=A;c[n>>2]=t;c[n+4>>2]=C;do{c[B>>2]=c[x>>2];n=A;t=c[n+4>>2]|0;s=c[B>>2]|0;c[s>>2]=c[n>>2];c[s+4>>2]=t;c[y>>2]=(c[y>>2]|0)-8;c[x>>2]=(c[x>>2]|0)+8}while((c[y>>2]|0)>>>0>=8)}while(1){if(!(c[y>>2]|0))break;a[c[x>>2]>>0]=a[z>>0]|0;c[x>>2]=(c[x>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+-1}if((c[q>>2]|0)>>>0>0){If((c[q>>2]|0)+16|0);Jf()}c[h>>2]=0;D=c[h>>2]|0;i=g;return D|0}function Hr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Ir(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;k=h+12|0;l=h+8|0;m=h+4|0;n=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[k>>2]=(c[k>>2]|0)+(((c[l>>2]|0)>>>0)/8|0);c[n>>2]=((c[l>>2]|0)>>>0)%8|0;if(c[n>>2]|0){while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=(d[c[k>>2]>>0]|0)<<c[n>>2]|(d[(c[k>>2]|0)+1>>0]|0)>>8-(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}else{while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=a[c[k>>2]>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}i=h;return}}function Jr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=c[j>>2];c[g>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;j=c[o>>2]|0;c[o>>2]=j+4;h=c[j>>2]|0;j=c[n>>2]|0;c[n>>2]=j+4;c[j>>2]=c[j>>2]^h;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=d[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=(d[o>>0]|0)^n;c[k>>2]=(c[k>>2]|0)+-1}i=g;return}function Kr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Lr(c[h>>2]|0,1,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function Lr(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+80|0;l=k+40|0;m=k+36|0;n=k+32|0;o=k+28|0;p=k+24|0;q=k+20|0;r=k+16|0;s=k+64|0;t=k+12|0;u=k+8|0;v=k+4|0;w=k;x=k+48|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;c[v>>2]=((c[r>>2]|0)>>>0)/16|0;if((d[(c[m>>2]|0)+56>>0]|0)>>>1&1|0?(a[(c[m>>2]|0)+128+353>>0]&1|0)==0:0){if((c[(c[(c[m>>2]|0)+12>>2]|0)+20>>2]|0)!=16){c[l>>2]=12;y=c[l>>2]|0;i=k;return y|0}if((c[p>>2]|0)>>>0<(c[r>>2]|0)>>>0){c[l>>2]=200;y=c[l>>2]|0;i=k;return y|0}if(((d[(c[m>>2]|0)+56>>0]|0)>>>3&1|0)==0?((c[r>>2]|0)>>>0)%16|0|0:0){c[l>>2]=139;y=c[l>>2]|0;i=k;return y|0}if(c[v>>2]|0?c[(c[m>>2]|0)+20+20>>2]|0:0){wb[c[(c[m>>2]|0)+20+20>>2]&15](c[m>>2]|0,c[o>>2]|0,c[q>>2]|0,c[v>>2]|0,c[n>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[v>>2]<<4);c[o>>2]=(c[o>>2]|0)+(c[v>>2]<<4);c[r>>2]=(c[r>>2]|0)-(c[v>>2]<<4);c[p>>2]=(c[p>>2]|0)-(c[v>>2]<<4);c[v>>2]=0}if(c[v>>2]|0){j=c[(c[m>>2]|0)+12>>2]|0;if(c[n>>2]|0)z=c[j+36>>2]|0;else z=c[j+40>>2]|0;c[w>>2]=z;if(c[n>>2]|0)Mr((c[m>>2]|0)+80|0,c[q>>2]|0,c[v>>2]|0);while(1){if((c[r>>2]|0)>>>0<16)break;z=(c[m>>2]|0)+128+336|0;j=z;h=Ax(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;j=z;c[j>>2]=h;c[j+4>>2]=C;j=(c[m>>2]|0)+64|0;h=(c[m>>2]|0)+128+336|0;Jr(j,yr(c[m>>2]|0,s,c[h>>2]|0,c[h+4>>2]|0)|0,16);Hr(c[o>>2]|0,(c[m>>2]|0)+64|0,c[q>>2]|0,16);c[u>>2]=vb[c[w>>2]&63]((c[m>>2]|0)+496|0,c[o>>2]|0,c[o>>2]|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;Jr(c[o>>2]|0,(c[m>>2]|0)+64|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)-16;c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=-16}if(!(c[n>>2]|0))Mr((c[m>>2]|0)+80|0,(c[o>>2]|0)+(0-(c[v>>2]<<4))|0,c[v>>2]|0)}do if(c[r>>2]|0){Jr((c[m>>2]|0)+64|0,(c[m>>2]|0)+128|0,16);c[u>>2]=vb[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,x,(c[m>>2]|0)+64|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;if(c[n>>2]|0){Cr(s,c[q>>2]|0,c[r>>2]|0);Fx(s+(c[r>>2]|0)|0,0,16-(c[r>>2]|0)|0)|0;a[s+(c[r>>2]|0)>>0]=-128;Jr((c[m>>2]|0)+80|0,s,16);Hr(c[o>>2]|0,c[q>>2]|0,x,c[r>>2]|0);break}else{Cr(s,x,16);Cr(s,c[q>>2]|0,c[r>>2]|0);Jr(s,x,16);a[s+(c[r>>2]|0)>>0]=-128;Cr(c[o>>2]|0,s,c[r>>2]|0);Jr((c[m>>2]|0)+80|0,s,16);break}}while(0);if((d[(c[m>>2]|0)+56>>0]|0)>>>3&1|0){Hr((c[m>>2]|0)+128+288|0,(c[m>>2]|0)+80|0,(c[m>>2]|0)+64|0,16);Jr((c[m>>2]|0)+128+288|0,(c[m>>2]|0)+128+16|0,16);c[u>>2]=vb[c[(c[(c[m>>2]|0)+12>>2]|0)+36>>2]&63]((c[m>>2]|0)+496|0,(c[m>>2]|0)+128+288|0,(c[m>>2]|0)+128+288|0)|0;c[t>>2]=(c[u>>2]|0)>>>0>(c[t>>2]|0)>>>0?c[u>>2]|0:c[t>>2]|0;u=(c[m>>2]|0)+128+353|0;a[u>>0]=a[u>>0]&-2|1}if((c[t>>2]|0)>>>0>0){If((c[t>>2]|0)+16|0);Jf()}c[l>>2]=0;y=c[l>>2]|0;i=k;return y|0}c[l>>2]=156;y=c[l>>2]|0;i=k;return y|0}function Mr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;while(1){if((c[h>>2]|0)>>>0<=0)break;Jr(c[f>>2]|0,c[g>>2]|0,16);c[g>>2]=(c[g>>2]|0)+16;c[h>>2]=(c[h>>2]|0)+-1}i=e;return}function Nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Lr(c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;i=g;return f|0}function Or(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[p>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+36>>2];c[q>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<(c[n>>2]|0)>>>0){c[h>>2]=200;t=c[h>>2]|0;i=g;return t|0}if((c[n>>2]|0)>>>0<=(c[(c[j>>2]|0)+112>>2]|0)>>>0){c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Pr(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[n>>2]|0);l=(c[j>>2]|0)+112|0;c[l>>2]=(c[l>>2]|0)-(c[n>>2]|0);c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}c[r>>2]=0;if(c[(c[j>>2]|0)+112>>2]|0){c[n>>2]=(c[n>>2]|0)-(c[(c[j>>2]|0)+112>>2]|0);c[o>>2]=(c[j>>2]|0)+64+(c[q>>2]|0)+(0-(c[(c[j>>2]|0)+112>>2]|0));Pr(c[k>>2]|0,c[o>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+112>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[(c[j>>2]|0)+112>>2]|0);c[(c[j>>2]|0)+112>>2]=0}while(1){if((c[n>>2]|0)>>>0<(c[q>>2]|0)>>>0)break;c[s>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;Pr(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[q>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}if(c[n>>2]|0){c[s>>2]=vb[c[p>>2]&63]((c[j>>2]|0)+496|0,(c[j>>2]|0)+64|0,(c[j>>2]|0)+64|0)|0;c[r>>2]=(c[s>>2]|0)>>>0>(c[r>>2]|0)>>>0?c[s>>2]|0:c[r>>2]|0;c[(c[j>>2]|0)+112>>2]=c[q>>2];q=(c[j>>2]|0)+112|0;c[q>>2]=(c[q>>2]|0)-(c[n>>2]|0);Pr(c[k>>2]|0,(c[j>>2]|0)+64|0,c[m>>2]|0,c[n>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0}if((c[r>>2]|0)>>>0>0){If((c[r>>2]|0)+16|0);Jf()}c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}function Pr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Qr(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=d+8|0;c[e>>2]=b;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[f+4>>0]=0;a[f+5>>0]=0;a[f+6>>0]=0;a[f+7>>0]=0;b=Rr(c[e>>2]|0,f,8)|0;i=d;return b|0}function Rr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+112|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+48|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+40|0;r=g;s=g+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if((c[k>>2]|0)==0&(c[l>>2]|0)!=12){c[h>>2]=45;t=c[h>>2]|0;i=g;return t|0}f=(c[j>>2]|0)+128+20|0;e=f+92|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[(c[j>>2]|0)+128>>2]=0;c[(c[j>>2]|0)+128+4>>2]=0;c[(c[j>>2]|0)+128+8>>2]=0;c[(c[j>>2]|0)+128+8+4>>2]=0;b=(c[j>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[j>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[j>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[j>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;Ab[c[(c[(c[j>>2]|0)+12>>2]|0)+60>>2]&7]((c[j>>2]|0)+496|0,c[k>>2]|0,c[l>>2]|0);f=m;e=f+64|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(e|0));Fb[c[(c[(c[j>>2]|0)+12>>2]|0)+44>>2]&1]((c[j>>2]|0)+496|0,m,m,64);c[n>>2]=ws((c[j>>2]|0)+128+20|0,m,32)|0;c[o>>2]=m;c[p>>2]=64;a[q>>0]=0;m=r;c[m>>2]=d[q>>0];c[m+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){m=r;f=Mx(c[m>>2]|0,c[m+4>>2]|0,16843009,16843009)|0;m=r;c[m>>2]=f;c[m+4>>2]=C;do{c[s>>2]=c[o>>2];m=r;f=c[m+4>>2]|0;e=c[s>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=f;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if(c[n>>2]|0){c[h>>2]=c[n>>2];t=c[h>>2]|0;i=g;return t|0}else{n=(c[j>>2]|0)+56|0;a[n>>0]=a[n>>0]&-3|2;c[h>>2]=0;t=c[h>>2]|0;i=g;return t|0}return 0}function Sr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;b=c[f>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);if((c[c[f>>2]>>2]|0)>>>0>=(c[g>>2]|0)>>>0){c[e>>2]=c[h>>2];j=c[e>>2]|0;i=d;return j|0}else{g=(c[f>>2]|0)+4|0;c[g>>2]=(c[g>>2]|0)+1;c[e>>2]=((c[(c[f>>2]|0)+4>>2]|0)>>>0<1?1:(c[h>>2]|0)!=0)&1;j=c[e>>2]|0;i=d;return j|0}return 0}function Tr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+16>>0]|0)>>>1&1|0){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[q>>2]=Qr(c[l>>2]|0)|0,c[q>>2]|0):0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}if(!(a[(c[l>>2]|0)+128+16>>0]&1))Ur(c[l>>2]|0);q=(Sr((c[l>>2]|0)+128+8|0,c[p>>2]|0)|0)!=0;n=c[l>>2]|0;if(q){q=n+128+16|0;a[q>>0]=a[q>>0]&-3|2;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}else{Fb[c[(c[n+12>>2]|0)+44>>2]&1]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);ss((c[l>>2]|0)+128+20|0,c[m>>2]|0,c[p>>2]|0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}return 0}function Ur(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Vr(c[e>>2]|0,(c[e>>2]|0)+128|0);b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2|1;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;i=d;return}function Vr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;if((((c[c[f>>2]>>2]|0)>>>0)%16|0)>>>0<=0){i=d;return}c[g>>2]=16-(((c[c[f>>2]>>2]|0)>>>0)%16|0);ss((c[e>>2]|0)+128+20|0,76491,c[g>>2]|0);i=d;return}function Wr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+32|0;k=j+24|0;l=j+20|0;m=j+16|0;n=j+12|0;o=j+8|0;p=j+4|0;q=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0){c[k>>2]=200;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+56>>0]|0)>>>2&1|0){c[k>>2]=156;r=c[k>>2]|0;i=j;return r|0}if((d[(c[l>>2]|0)+128+16>>0]|0)>>>1&1|0){c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}if(((d[(c[l>>2]|0)+56>>0]|0)>>>1&1|0)==0?(c[q>>2]=Qr(c[l>>2]|0)|0,c[q>>2]|0):0){c[k>>2]=c[q>>2];r=c[k>>2]|0;i=j;return r|0}if(!(a[(c[l>>2]|0)+128+16>>0]&1))Ur(c[l>>2]|0);q=(Sr((c[l>>2]|0)+128+8|0,c[p>>2]|0)|0)!=0;n=(c[l>>2]|0)+128|0;if(q){q=n+16|0;a[q>>0]=a[q>>0]&-3|2;c[k>>2]=139;r=c[k>>2]|0;i=j;return r|0}else{ss(n+20|0,c[o>>2]|0,c[p>>2]|0);Fb[c[(c[(c[l>>2]|0)+12>>2]|0)+48>>2]&1]((c[l>>2]|0)+496|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);c[k>>2]=0;r=c[k>>2]|0;i=j;return r|0}return 0}function Xr(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+128>>2]=0;c[(c[e>>2]|0)+128+4>>2]=0;c[(c[e>>2]|0)+128+8>>2]=0;c[(c[e>>2]|0)+128+8+4>>2]=0;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-3;b=(c[e>>2]|0)+128+16|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-5;b=(c[e>>2]|0)+56|0;a[b>>0]=a[b>>0]&-3;i=d;return}function Yr(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=i;i=i+80|0;l=k+72|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+16|0;z=k+12|0;A=k+8|0;B=k+4|0;C=k;c[k+68>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[B>>2]=(c[r>>2]|0)+15;c[B>>2]=(c[B>>2]|0)-(c[B>>2]&15);c[C>>2]=(c[B>>2]|0)+(c[q>>2]<<1)+((_(c[q>>2]|0,c[p>>2]|0)|0)*3|0)+16;c[A>>2]=ag(1,c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[l>>2]=46921;D=c[l>>2]|0;i=k;return D|0}c[t>>2]=16-(c[A>>2]&15)&15;c[u>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[y>>2]=(c[u>>2]|0)+(c[B>>2]|0);c[z>>2]=(c[y>>2]|0)+(c[q>>2]|0);c[v>>2]=(c[z>>2]|0)+(c[q>>2]|0);c[w>>2]=(c[v>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);c[x>>2]=(c[w>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);if(vb[c[m>>2]&63](c[u>>2]|0,16,16)|0){$f(c[A>>2]|0);c[l>>2]=46947;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,78,c[q>>2]|0)|0;Fx(c[z>>2]|0,78,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}Zr(c[x>>2]|0,c[y>>2]|0,c[v>>2]|0,c[q>>2]|0);vb[c[n>>2]&63](c[u>>2]|0,c[x>>2]|0,c[x>>2]|0)|0;Dx(c[y>>2]|0,c[x>>2]|0,c[q>>2]|0)|0;wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,1);if(mw(c[w>>2]|0,c[v>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}if(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,95,c[q>>2]|0)|0;Fx(c[z>>2]|0,95,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;Zr((c[x>>2]|0)+(c[s>>2]|0)|0,c[y>>2]|0,(c[v>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0);vb[c[n>>2]&63](c[u>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,(c[x>>2]|0)+(c[s>>2]|0)|0)|0;Dx(c[y>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0)}wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,c[p>>2]|0);if(mw(c[w>>2]|0,c[v>>2]|0,_(c[p>>2]|0,c[q>>2]|0)|0)|0){$f(c[A>>2]|0);c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}p=(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0)!=0;$f(c[A>>2]|0);if(p){c[l>>2]=46961;D=c[l>>2]|0;i=k;return D|0}else{c[l>>2]=0;D=c[l>>2]|0;i=k;return D|0}return 0}function Zr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function _r(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;k=i;i=i+80|0;l=k+72|0;m=k+64|0;n=k+60|0;o=k+56|0;p=k+52|0;q=k+48|0;r=k+44|0;s=k+40|0;t=k+36|0;u=k+32|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+16|0;z=k+12|0;A=k+8|0;B=k+4|0;C=k;c[k+68>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[B>>2]=(c[r>>2]|0)+15;c[B>>2]=(c[B>>2]|0)-(c[B>>2]&15);c[C>>2]=(c[B>>2]|0)+(c[q>>2]<<1)+((_(c[q>>2]|0,c[p>>2]|0)|0)*3|0)+16;c[A>>2]=ag(1,c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[l>>2]=46921;D=c[l>>2]|0;i=k;return D|0}c[t>>2]=16-(c[A>>2]&15)&15;c[u>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[y>>2]=(c[u>>2]|0)+(c[B>>2]|0);c[z>>2]=(c[y>>2]|0)+(c[q>>2]|0);c[v>>2]=(c[z>>2]|0)+(c[q>>2]|0);c[w>>2]=(c[v>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);c[x>>2]=(c[w>>2]|0)+(_(c[p>>2]|0,c[q>>2]|0)|0);if(vb[c[m>>2]&63](c[u>>2]|0,32,16)|0){$f(c[A>>2]|0);c[l>>2]=46947;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,-45,c[q>>2]|0)|0;Fx(c[z>>2]|0,-45,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[q>>2]|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}vb[c[n>>2]&63](c[u>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;$r(c[y>>2]|0,c[x>>2]|0,c[v>>2]|0,c[q>>2]|0);wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,1);if(mw(c[w>>2]|0,c[v>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}if(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}Fx(c[y>>2]|0,-26,c[q>>2]|0)|0;Fx(c[z>>2]|0,-26,c[q>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;a[(c[v>>2]|0)+(c[s>>2]|0)>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(_(c[p>>2]|0,c[q>>2]|0)|0))break;vb[c[n>>2]&63](c[u>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,c[y>>2]|0)|0;$r(c[y>>2]|0,(c[x>>2]|0)+(c[s>>2]|0)|0,(c[v>>2]|0)+(c[s>>2]|0)|0,c[q>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[q>>2]|0)}wb[c[o>>2]&15](c[u>>2]|0,c[z>>2]|0,c[w>>2]|0,c[x>>2]|0,c[p>>2]|0);if(mw(c[w>>2]|0,c[v>>2]|0,_(c[p>>2]|0,c[q>>2]|0)|0)|0){$f(c[A>>2]|0);c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}p=(mw(c[z>>2]|0,c[y>>2]|0,c[q>>2]|0)|0)!=0;$f(c[A>>2]|0);if(p){c[l>>2]=47010;D=c[l>>2]|0;i=k;return D|0}else{c[l>>2]=0;D=c[l>>2]|0;i=k;return D|0}return 0}function $r(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function as(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;l=i;i=i+96|0;m=l+84|0;n=l+76|0;o=l+72|0;p=l+68|0;q=l+64|0;r=l+60|0;s=l+56|0;t=l+52|0;u=l+48|0;v=l+44|0;w=l+40|0;x=l+36|0;y=l+32|0;z=l+28|0;A=l+24|0;B=l+20|0;C=l+16|0;D=l+12|0;E=l+8|0;F=l+4|0;G=l;c[l+80>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[F>>2]=(c[s>>2]|0)+15;c[F>>2]=(c[F>>2]|0)-(c[F>>2]&15);c[G>>2]=(c[F>>2]|0)+(c[r>>2]<<1)+((_(c[r>>2]|0,c[q>>2]|0)|0)<<2)+16;c[E>>2]=ag(1,c[G>>2]|0)|0;if(!(c[E>>2]|0)){c[m>>2]=46921;H=c[m>>2]|0;i=l;return H|0}c[v>>2]=16-(c[E>>2]&15)&15;c[x>>2]=(c[E>>2]|0)+(c[v>>2]|0);c[C>>2]=(c[x>>2]|0)+(c[F>>2]|0);c[D>>2]=(c[C>>2]|0)+(c[r>>2]|0);c[y>>2]=(c[D>>2]|0)+(c[r>>2]|0);c[z>>2]=(c[y>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);c[A>>2]=(c[z>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);c[B>>2]=(c[A>>2]|0)+(_(c[q>>2]|0,c[r>>2]|0)|0);if(vb[c[n>>2]&63](c[x>>2]|0,48,16)|0){$f(c[E>>2]|0);c[m>>2]=46947;H=c[m>>2]|0;i=l;return H|0}Fx(c[C>>2]|0,-1,c[r>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}vb[c[o>>2]&63](c[x>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[r>>2]|0))break;n=(c[A>>2]|0)+(c[t>>2]|0)|0;a[n>>0]=d[n>>0]^d[(c[y>>2]|0)+(c[t>>2]|0)>>0];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=c[r>>2];while(1){if((c[t>>2]|0)<=0)break;n=(c[C>>2]|0)+((c[t>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[t>>2]|0)-1)>>0]|0)break;c[t>>2]=(c[t>>2]|0)+-1}Fx(c[D>>2]|0,-1,c[r>>2]|0)|0;wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[z>>2]|0,c[A>>2]|0,1);if(mw(c[z>>2]|0,c[y>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}Fx(c[C>>2]|0,87,(c[r>>2]|0)-4|0)|0;a[(c[C>>2]|0)+((c[r>>2]|0)-1)>>0]=1;a[(c[C>>2]|0)+((c[r>>2]|0)-2)>>0]=0;a[(c[C>>2]|0)+((c[r>>2]|0)-3)>>0]=0;a[(c[C>>2]|0)+((c[r>>2]|0)-4)>>0]=0;Fx(c[D>>2]|0,87,(c[r>>2]|0)-4|0)|0;a[(c[D>>2]|0)+((c[r>>2]|0)-1)>>0]=1;a[(c[D>>2]|0)+((c[r>>2]|0)-2)>>0]=0;a[(c[D>>2]|0)+((c[r>>2]|0)-3)>>0]=0;a[(c[D>>2]|0)+((c[r>>2]|0)-4)>>0]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;n=c[t>>2]&255;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=n;a[(c[z>>2]|0)+(c[t>>2]|0)>>0]=n;c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;vb[c[o>>2]&63](c[x>>2]|0,(c[A>>2]|0)+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;n=(c[A>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))|0;a[n>>0]=d[n>>0]^d[(c[y>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[r>>2];while(1){if((c[u>>2]|0)<=0)break;n=(c[C>>2]|0)+((c[u>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[B>>2]|0,c[z>>2]|0,c[q>>2]|0);if(mw(c[B>>2]|0,c[A>>2]|0,_(c[r>>2]|0,c[q>>2]|0)|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[q>>2]|0)){I=56;break}Fx(c[C>>2]|0,-1,c[r>>2]|0)|0;B=(c[C>>2]|0)+((c[r>>2]|0)-1)|0;a[B>>0]=(d[B>>0]|0)-(c[w>>2]|0);a[(c[C>>2]|0)+1>>0]=0;a[c[C>>2]>>0]=0;a[(c[C>>2]|0)+2>>0]=7;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[t>>2];c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(_(c[r>>2]|0,c[q>>2]|0)|0))break;vb[c[o>>2]&63](c[x>>2]|0,(c[A>>2]|0)+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[r>>2]|0))break;B=(c[A>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))|0;a[B>>0]=d[B>>0]^d[(c[y>>2]|0)+((c[t>>2]|0)+(c[u>>2]|0))>>0];c[u>>2]=(c[u>>2]|0)+1}c[u>>2]=c[r>>2];while(1){if((c[u>>2]|0)<=0)break;B=(c[C>>2]|0)+((c[u>>2]|0)-1)|0;a[B>>0]=(a[B>>0]|0)+1<<24>>24;if(a[(c[C>>2]|0)+((c[u>>2]|0)-1)>>0]|0)break;c[u>>2]=(c[u>>2]|0)+-1}c[t>>2]=(c[t>>2]|0)+(c[r>>2]|0)}Fx(c[D>>2]|0,-1,c[r>>2]|0)|0;B=(c[D>>2]|0)+((c[r>>2]|0)-1)|0;a[B>>0]=(d[B>>0]|0)-(c[w>>2]|0);a[(c[D>>2]|0)+1>>0]=0;a[c[D>>2]>>0]=0;a[(c[D>>2]|0)+2>>0]=7;wb[c[p>>2]&15](c[x>>2]|0,c[D>>2]|0,c[z>>2]|0,c[A>>2]|0,c[q>>2]|0);if(mw(c[z>>2]|0,c[y>>2]|0,_(c[r>>2]|0,c[q>>2]|0)|0)|0){I=52;break}if(mw(c[D>>2]|0,c[C>>2]|0,c[r>>2]|0)|0){I=54;break}c[w>>2]=(c[w>>2]|0)+1}if((I|0)==52){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}else if((I|0)==54){$f(c[E>>2]|0);c[m>>2]=47059;H=c[m>>2]|0;i=l;return H|0}else if((I|0)==56){$f(c[E>>2]|0);c[m>>2]=0;H=c[m>>2]|0;i=l;return H|0}return 0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=i;i=i+352|0;e=d+160|0;f=d+128|0;g=d+48|0;h=d+40|0;j=d+32|0;k=d+24|0;l=d+16|0;m=d+8|0;n=d;o=d+344|0;p=d+340|0;q=d+336|0;r=d+332|0;s=d+328|0;t=d+284|0;u=d+224|0;v=d+220|0;w=d+216|0;x=d+212|0;y=d+208|0;z=d+204|0;A=d+200|0;B=d+196|0;C=d+192|0;D=d+188|0;E=d+184|0;F=d+180|0;G=d+176|0;H=d+172|0;I=d+168|0;J=d+164|0;c[p>>2]=a;c[q>>2]=b;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;b=t;a=b+44|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));b=u;a=b+60|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[r>>2]=kk(c[p>>2]|0,s)|0;if(c[r>>2]|0){c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}c[A>>2]=xg(c[p>>2]|0,47161,0)|0;if(c[A>>2]|0?(c[z>>2]=Eg(c[A>>2]|0,1)|0,vg(c[A>>2]|0),(c[z>>2]|0)==0):0){c[o>>2]=65;K=c[o>>2]|0;i=d;return K|0}c[A>>2]=xg(c[p>>2]|0,47167,0)|0;if(!(c[A>>2]|0?(c[r>>2]=jk(c[A>>2]|0,H,0)|0,vg(c[A>>2]|0),(c[r>>2]|0)!=0):0))L=8;do if((L|0)==8){c[A>>2]=xg(c[p>>2]|0,47173,0)|0;if(c[A>>2]|0){c[H>>2]=c[H>>2]|32;vg(c[A>>2]|0)}if(!((c[s>>2]|0)!=0|(c[z>>2]|0)!=0)){c[o>>2]=68;K=c[o>>2]|0;i=d;return K|0}c[r>>2]=ui(c[s>>2]|0,c[z>>2]|0,t,s)|0;$f(c[z>>2]|0);c[z>>2]=0;if(!(c[r>>2]|0)){if(jg(1)|0){b=$i(c[t>>2]|0)|0;a=aj(c[t+4>>2]|0)|0;c[n>>2]=b;c[n+4>>2]=a;Df(47187,n);if(c[t+40>>2]|0){c[m>>2]=c[t+40>>2];Df(47212,m)}Hf(47234,c[t+8>>2]|0);Hf(47250,c[t+12>>2]|0);Hf(47266,c[t+16>>2]|0);Hf(47282,c[t+32>>2]|0);Hf(47298,c[t+36>>2]|0);Yn(47314,t+20|0,0)}c[B>>2]=jo(c[t>>2]|0,c[t+4>>2]|0,0,c[t+8>>2]|0,c[t+12>>2]|0,c[t+16>>2]|0)|0;a=c[B>>2]|0;b=c[H>>2]|0;if(c[H>>2]&4096|0)c[r>>2]=Qi(u,t,a,b)|0;else c[r>>2]=cs(u,t,a,b,c[s>>2]|0,x,y)|0;if(!(c[r>>2]|0)){c[v>>2]=vq(0)|0;c[w>>2]=vq(0)|0;if(Zn(c[v>>2]|0,c[w>>2]|0,u+20|0,c[B>>2]|0)|0){c[l>>2]=47704;Bf(47328,l)}c[E>>2]=bj(c[v>>2]|0,c[w>>2]|0,c[u+8>>2]|0)|0;do if((c[u+4>>2]|0)==1?!(c[H>>2]&2048|0):0){c[r>>2]=Ii(u+44|0,c[B>>2]|0,c[v>>2]|0,c[w>>2]|0,((c[H>>2]&1024|0)!=0^1^1)&1,I,J)|0;if(!(c[r>>2]|0)){c[F>>2]=vq(0)|0;iq(c[F>>2]|0,c[I>>2]|0,c[J>>2]<<3)|0;c[I>>2]=0;break}c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}else L=28;while(0);if((L|0)==28){if((c[x>>2]|0)==0?(c[x>>2]=vq(0)|0,c[y>>2]=vq(0)|0,Zn(c[x>>2]|0,c[y>>2]|0,u+44|0,c[B>>2]|0)|0):0){c[k>>2]=47376;Bf(47328,k)}c[F>>2]=bj(c[x>>2]|0,c[y>>2]|0,c[u+8>>2]|0)|0}c[G>>2]=c[u+56>>2];c[u+56>>2]=0;if(c[t+40>>2]|0?(c[j>>2]=c[t+40>>2],c[r>>2]=Ig(C,0,47706,j)|0,c[r>>2]|0):0)break;if(!(!(c[H>>2]&512|0)?!(c[H>>2]&4096|0):0)){if(c[H>>2]&512|0?c[H>>2]&4096|0:0)M=47745;else M=c[H>>2]&512|0?47717:47731;c[r>>2]=Ig(D,0,M,h)|0;if(c[r>>2]|0)break}if(c[H>>2]&512|0?c[t+40>>2]|0:0){b=c[q>>2]|0;a=c[D>>2]|0;N=c[u+8>>2]|0;O=c[u+12>>2]|0;P=c[u+16>>2]|0;Q=c[E>>2]|0;R=c[u+32>>2]|0;S=c[u+36>>2]|0;T=c[F>>2]|0;U=c[C>>2]|0;V=c[D>>2]|0;W=c[u+8>>2]|0;X=c[u+12>>2]|0;Y=c[u+16>>2]|0;Z=c[E>>2]|0;_=c[u+32>>2]|0;$=c[u+36>>2]|0;aa=c[F>>2]|0;ba=c[G>>2]|0;c[g>>2]=c[C>>2];c[g+4>>2]=a;c[g+8>>2]=N;c[g+12>>2]=O;c[g+16>>2]=P;c[g+20>>2]=Q;c[g+24>>2]=R;c[g+28>>2]=S;c[g+32>>2]=T;c[g+36>>2]=U;c[g+40>>2]=V;c[g+44>>2]=W;c[g+48>>2]=X;c[g+52>>2]=Y;c[g+56>>2]=Z;c[g+60>>2]=_;c[g+64>>2]=$;c[g+68>>2]=aa;c[g+72>>2]=ba;c[r>>2]=Ig(b,0,47765,g)|0}else{b=c[q>>2]|0;ba=c[D>>2]|0;aa=c[F>>2]|0;$=c[C>>2]|0;_=c[D>>2]|0;Z=c[F>>2]|0;Y=c[G>>2]|0;c[f>>2]=c[C>>2];c[f+4>>2]=ba;c[f+8>>2]=aa;c[f+12>>2]=$;c[f+16>>2]=_;c[f+20>>2]=Z;c[f+24>>2]=Y;c[r>>2]=Ig(b,0,47901,f)|0}if(((c[r>>2]|0)==0?jg(1)|0:0)?(Hf(47977,c[u+8>>2]|0),Hf(47993,c[u+12>>2]|0),Hf(48009,c[u+16>>2]|0),Hf(48025,c[E>>2]|0),Hf(48041,c[u+32>>2]|0),Hf(48057,c[u+36>>2]|0),Hf(48073,c[F>>2]|0),Hf(48089,c[G>>2]|0),c[H>>2]&4096|0):0)Df(48105,e)}}}while(0);hq(c[G>>2]|0);hq(c[F>>2]|0);hq(c[E>>2]|0);Yi(u);fo(u+44|0);hq(c[u+56>>2]|0);Yi(t);hq(c[v>>2]|0);hq(c[w>>2]|0);hq(c[x>>2]|0);hq(c[y>>2]|0);no(c[B>>2]|0);vg(c[D>>2]|0);vg(c[C>>2]|0);c[o>>2]=c[r>>2];K=c[o>>2]|0;i=d;return K|0}function cs(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;i=i+96|0;l=k+16|0;m=k+8|0;n=k;o=k+80|0;p=k+76|0;q=k+72|0;r=k+68|0;s=k+64|0;t=k+60|0;u=k+56|0;v=k+44|0;w=k+40|0;x=k+36|0;y=k+32|0;z=k+28|0;A=k+24|0;B=k+20|0;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[z>>2]=Ro(c[(c[p>>2]|0)+8>>2]|0)|0;co(v);if(c[r>>2]&32|0)c[w>>2]=1;else c[w>>2]=2;if((c[(c[q>>2]|0)+4>>2]|0)==1){j=wq(256)|0;c[(c[o>>2]|0)+56>>2]=j;c[A>>2]=On(32,c[w>>2]|0)|0;j=c[A>>2]|0;a[j>>0]=a[j>>0]&127;j=c[A>>2]|0;a[j>>0]=a[j>>0]|64;j=(c[A>>2]|0)+31|0;a[j>>0]=a[j>>0]&248;Cp(c[(c[o>>2]|0)+56>>2]|0,c[A>>2]|0,32,0);$f(c[A>>2]|0)}else{A=Xt(c[(c[p>>2]|0)+32>>2]|0,c[w>>2]|0)|0;c[(c[o>>2]|0)+56>>2]=A}Go(v,c[(c[o>>2]|0)+56>>2]|0,(c[p>>2]|0)+20|0,c[q>>2]|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];c[(c[o>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];A=mq(c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=A;A=mq(c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=A;A=mq(c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+16>>2]=A;co((c[o>>2]|0)+20|0);ds((c[o>>2]|0)+20|0,(c[p>>2]|0)+20|0);A=mq(c[(c[p>>2]|0)+32>>2]|0)|0;c[(c[o>>2]|0)+32>>2]=A;A=mq(c[(c[p>>2]|0)+36>>2]|0)|0;c[(c[o>>2]|0)+36>>2]=A;co((c[o>>2]|0)+44|0);c[x>>2]=vq(c[z>>2]|0)|0;c[y>>2]=vq(c[z>>2]|0)|0;if(Zn(c[x>>2]|0,c[y>>2]|0,v,c[q>>2]|0)|0){c[n>>2]=47376;Bf(47328,n)}do if((c[(c[p>>2]|0)+4>>2]|0)!=1){c[B>>2]=vq(c[z>>2]|0)|0;n=c[B>>2]|0;q=c[(c[p>>2]|0)+8>>2]|0;if(!(c[c[p>>2]>>2]|0))No(n,q,c[y>>2]|0);else No(n,q,c[x>>2]|0);if((ap(c[B>>2]|0,c[y>>2]|0)|0)>=0){hq(c[B>>2]|0);ds((c[o>>2]|0)+44|0,v);if(!(jg(1)|0))break;Df(47418,l);break}if(!(c[c[p>>2]>>2]|0)){hq(c[y>>2]|0);c[y>>2]=c[B>>2]}else{hq(c[x>>2]|0);c[x>>2]=c[B>>2]}No(c[(c[o>>2]|0)+56>>2]|0,c[(c[p>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+56>>2]|0);q=(c[o>>2]|0)+44|0;n=c[x>>2]|0;A=c[y>>2]|0;go(q,n,A,Aq(1)|0)|0;if(jg(1)|0)Df(47378,m)}else ds((c[o>>2]|0)+44|0,v);while(0);c[c[t>>2]>>2]=c[x>>2];c[c[u>>2]>>2]=c[y>>2];fo(v);if(c[r>>2]&16384|0){i=k;return 0}r=c[o>>2]|0;v=(c[s>>2]|0)-64|0;if((c[c[o>>2]>>2]|0)!=1){es(r,v);i=k;return 0}else{fs(r,v);i=k;return 0}return 0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=i;i=i+224|0;e=d+168|0;f=d+24|0;g=d+16|0;h=d+8|0;j=d+164|0;k=d+160|0;l=d+104|0;m=d+100|0;n=d+88|0;o=d+84|0;p=d+80|0;q=d+76|0;r=d+72|0;s=d+28|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=vq(c[k>>2]|0)|0;c[o>>2]=vq(c[k>>2]|0)|0;c[p>>2]=vq(c[k>>2]|0)|0;c[q>>2]=vq(c[k>>2]|0)|0;c[r>>2]=vq(c[k>>2]|0)|0;if(jg(1)|0)Df(47471,d);co(n);b=e;a=c[j>>2]|0;t=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(t|0));Zi(s,e);b=l;a=s;t=b+44|0;do{c[b>>2]=c[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(t|0));co(l+44|0);ds(l+44|0,(c[j>>2]|0)+44|0);yq(c[m>>2]|0,c[k>>2]|0,0);if(au(c[m>>2]|0,c[j>>2]|0,c[q>>2]|0,c[r>>2]|0,0,0)|0)Bf(47485,h);if(bu(c[m>>2]|0,l,c[q>>2]|0,c[r>>2]|0)|0)Bf(47515,g);if(!(jg(1)|0)){u=l+44|0;fo(u);Yi(l);fo(n);v=c[r>>2]|0;hq(v);w=c[q>>2]|0;hq(w);x=c[p>>2]|0;hq(x);y=c[o>>2]|0;hq(y);z=c[m>>2]|0;hq(z);i=d;return}Df(47553,f);u=l+44|0;fo(u);Yi(l);fo(n);v=c[r>>2]|0;hq(v);w=c[q>>2]|0;hq(w);x=c[p>>2]|0;hq(x);y=c[o>>2]|0;hq(y);z=c[m>>2]|0;hq(z);i=d;return}function fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+224|0;f=e+168|0;g=e+24|0;h=e+16|0;j=e+8|0;k=e+164|0;l=e+160|0;m=e+104|0;n=e+100|0;o=e+88|0;p=e+84|0;q=e+80|0;r=e+76|0;s=e+32|0;t=e+28|0;c[k>>2]=b;c[l>>2]=d;if(jg(1)|0)Df(47471,e);co(o);d=f;b=c[k>>2]|0;u=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(u|0));Zi(s,f);d=m;b=s;u=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(u|0));co(m+44|0);ds(m+44|0,(c[k>>2]|0)+44|0);if((c[(c[k>>2]|0)+4>>2]|0)==1){c[n>>2]=vq(256)|0;c[t>>2]=Mn(32,0)|0;b=c[t>>2]|0;a[b>>0]=a[b>>0]&127;b=c[t>>2]|0;a[b>>0]=a[b>>0]|64;b=(c[t>>2]|0)+31|0;a[b>>0]=a[b>>0]&248;Cp(c[n>>2]|0,c[t>>2]|0,32,0);$f(c[t>>2]|0)}else{c[n>>2]=vq(c[l>>2]|0)|0;yq(c[n>>2]|0,c[l>>2]|0,0)}c[r>>2]=jo(c[m>>2]|0,c[m+4>>2]|0,0,c[m+8>>2]|0,c[m+12>>2]|0,c[m+16>>2]|0)|0;c[p>>2]=vq(0)|0;c[q>>2]=vq(0)|0;Go(o,c[n>>2]|0,m+44|0,c[r>>2]|0);if((c[(c[k>>2]|0)+4>>2]|0)!=1)Go(o,c[(c[r>>2]|0)+36>>2]|0,o,c[r>>2]|0);if(Zn(c[p>>2]|0,0,o,c[r>>2]|0)|0)Bf(47588,j);Go(o,c[n>>2]|0,m+20|0,c[r>>2]|0);Go(o,c[(c[k>>2]|0)+56>>2]|0,o,c[r>>2]|0);if((c[(c[k>>2]|0)+4>>2]|0)!=1)Go(o,c[(c[r>>2]|0)+36>>2]|0,o,c[r>>2]|0);if(Zn(c[q>>2]|0,0,o,c[r>>2]|0)|0)Bf(47636,h);if(ap(c[p>>2]|0,c[q>>2]|0)|0)Bf(47685,g);else{hq(c[p>>2]|0);hq(c[q>>2]|0);no(c[r>>2]|0);fo(m+44|0);Yi(m);fo(o);hq(c[n>>2]|0);i=e;return}}function gs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=i;i=i+176|0;d=b+72|0;e=b+64|0;f=b+56|0;g=b+40|0;h=b;j=b+168|0;k=b+164|0;l=b+160|0;m=b+156|0;n=b+152|0;o=b+148|0;p=b+144|0;q=b+140|0;r=b+80|0;s=b+76|0;c[k>>2]=a;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;a=r;t=a+60|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(t|0));c[m>>2]=xg(c[k>>2]|0,47167,0)|0;if(!(c[m>>2]|0?(c[l>>2]=jk(c[m>>2]|0,n,0)|0,(c[l>>2]|0)!=0):0))u=3;do if((u|0)==3){a=c[k>>2]|0;if(c[n>>2]&512|0){c[h>>2]=r+8;c[h+4>>2]=r+12;c[h+8>>2]=r+16;c[h+12>>2]=p;c[h+16>>2]=r+32;c[h+20>>2]=r+36;c[h+24>>2]=q;c[h+28>>2]=r+56;c[h+32>>2]=0;c[l>>2]=Rg(a,0,48140,h)|0}else{c[g>>2]=q;c[g+4>>2]=r+56;c[g+8>>2]=0;c[l>>2]=Rg(a,0,48159,g)|0}if(!(c[l>>2]|0)){vg(c[m>>2]|0);c[m>>2]=xg(c[k>>2]|0,47161,5)|0;if((c[m>>2]|0?(c[o>>2]=Eg(c[m>>2]|0,1)|0,c[o>>2]|0):0)?(c[l>>2]=xi(c[o>>2]|0,r,r+4|0,r+8|0,r+12|0,r+16|0,p,r+32|0,r+36|0)|0,c[l>>2]|0):0){c[j>>2]=c[l>>2];v=c[j>>2]|0;i=b;return v|0}if(c[p>>2]|0?(co(r+20|0),c[l>>2]=dj(r+20|0,c[p>>2]|0)|0,c[l>>2]|0):0)break;if(!(c[o>>2]|0)){c[r>>2]=c[n>>2]&4096|0?2:0;c[r+4>>2]=c[n>>2]&4096|0?1:0}if(jg(1)|0){a=$i(c[r>>2]|0)|0;t=aj(c[r+4>>2]|0)|0;c[f>>2]=a;c[f+4>>2]=t;Df(48165,f);if(c[r+40>>2]|0){c[e>>2]=c[r+40>>2];Df(48189,e)}Hf(48210,c[r+8>>2]|0);Hf(48226,c[r+12>>2]|0);Hf(48242,c[r+16>>2]|0);Yn(48258,r+20|0,0);Hf(48272,c[r+32>>2]|0);Hf(48288,c[r+36>>2]|0);Hf(48304,c[q>>2]|0);if(!(Ah()|0))Hf(48320,c[r+56>>2]|0)}if((((((c[r+8>>2]|0?c[r+12>>2]|0:0)?c[r+16>>2]|0:0)?c[r+20>>2]|0:0)?c[r+32>>2]|0:0)?c[r+36>>2]|0:0)?c[r+56>>2]|0:0){c[s>>2]=jo(c[r>>2]|0,c[r+4>>2]|0,0,c[r+8>>2]|0,c[r+12>>2]|0,c[r+16>>2]|0)|0;if(!(c[q>>2]|0)){c[l>>2]=68;break}co(r+44|0);if((c[(c[s>>2]|0)+4>>2]|0)==1)c[l>>2]=Ni(c[q>>2]|0,c[s>>2]|0,r+44|0,0,0)|0;else c[l>>2]=dj(r+44|0,c[q>>2]|0)|0;if(c[l>>2]|0)break;if(!(hs(r,c[s>>2]|0,c[n>>2]|0)|0))break;c[l>>2]=7;break}c[l>>2]=68}}while(0);no(c[s>>2]|0);xq(c[r+8>>2]|0);xq(c[r+12>>2]|0);xq(c[r+16>>2]|0);xq(c[p>>2]|0);fo(r+20|0);xq(c[r+32>>2]|0);xq(c[r+36>>2]|0);xq(c[q>>2]|0);fo(r+44|0);xq(c[r+56>>2]|0);$f(c[o>>2]|0);vg(c[m>>2]|0);if(jg(1)|0){c[d>>2]=fu(c[l>>2]|0)|0;Df(48623,d)}c[j>>2]=c[l>>2];v=c[j>>2]|0;i=b;return v|0}function hs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;i=i+112|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+40|0;k=e+32|0;l=e+24|0;m=e+16|0;n=e+8|0;o=e;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+84|0;u=e+80|0;v=e+76|0;w=e+72|0;x=e+68|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=1;c[w>>2]=0;c[x>>2]=0;co(t);c[u>>2]=vq(0)|0;if((c[c[q>>2]>>2]|0)==1)c[v>>2]=0;else c[v>>2]=vq(0)|0;a:do if(!(Io((c[p>>2]|0)+20|0,c[q>>2]|0)|0)){if(jg(1)|0)Df(48336,o)}else{if(!($o(c[(c[p>>2]|0)+20+8>>2]|0,0)|0)){if(!(jg(1)|0))break;Df(48388,n);break}if((c[(c[p>>2]|0)+4>>2]|0)!=1?(Go(t,c[(c[p>>2]|0)+32>>2]|0,(c[p>>2]|0)+20|0,c[q>>2]|0),$o(c[t+8>>2]|0,0)|0):0){if(!(jg(1)|0))break;Df(48433,m);break}if(!($o(c[(c[p>>2]|0)+44+8>>2]|0,0)|0)){if(!(jg(1)|0))break;Df(48480,l);break}if(!(ej(t,c[q>>2]|0,(c[p>>2]|0)+20|0,c[(c[p>>2]|0)+56>>2]|0)|0)){if(!(jg(1)|0))break;Df(48526,k);break}if(Zn(c[u>>2]|0,c[v>>2]|0,t,c[q>>2]|0)|0){if(!(jg(1)|0))break;Df(48480,j);break}do if(!(c[r>>2]&4096)){if(!($o(c[(c[p>>2]|0)+44+8>>2]|0,1)|0)){if(!(ap(c[u>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0)){if(c[v>>2]|0)break;if(!(ap(c[v>>2]|0,c[(c[p>>2]|0)+44+4>>2]|0)|0))break}if(!(jg(1)|0))break a;Df(48563,h);break a}c[w>>2]=vq(0)|0;c[x>>2]=vq(0)|0;if(Zn(c[w>>2]|0,c[x>>2]|0,(c[p>>2]|0)+44|0,c[q>>2]|0)|0){if(!(jg(1)|0))break a;Df(48480,g);break a}if((ap(c[u>>2]|0,c[w>>2]|0)|0)==0?(ap(c[v>>2]|0,c[x>>2]|0)|0)==0:0)break;if(!(jg(1)|0))break a;Df(48563,f);break a}while(0);c[s>>2]=0}while(0);hq(c[w>>2]|0);hq(c[u>>2]|0);hq(c[v>>2]|0);hq(c[x>>2]|0);fo(t);i=e;return c[s>>2]|0}
-function is(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=i;i=i+256|0;f=e+72|0;g=e+64|0;h=e+56|0;j=e+48|0;k=e+40|0;l=e+32|0;m=e;n=e+248|0;o=e+244|0;p=e+240|0;q=e+236|0;r=e+232|0;s=e+192|0;t=e+184|0;u=e+180|0;v=e+176|0;w=e+172|0;x=e+168|0;y=e+164|0;z=e+160|0;A=e+104|0;B=e+96|0;C=e+84|0;D=e+80|0;E=e+76|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[B>>2]=0;d=A;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(s,0,js(c[q>>2]|0)|0);c[r>>2]=rk(c[p>>2]|0,z,s)|0;do if(!(c[r>>2]|0)){if(jg(1)|0)Hf(48646,c[z>>2]|0);if(c[z>>2]|0?c[(c[z>>2]|0)+12>>2]&4|0:0){c[r>>2]=79;break}p=c[q>>2]|0;c[m>>2]=A+8;c[m+4>>2]=A+12;c[m+8>>2]=A+16;c[m+12>>2]=v;c[m+16>>2]=A+32;c[m+20>>2]=A+36;c[m+24>>2]=w;c[m+28>>2]=0;c[r>>2]=Rg(p,0,48663,m)|0;if(!(c[r>>2]|0)){if(c[v>>2]|0?(co(A+20|0),c[r>>2]=dj(A+20|0,c[v>>2]|0)|0,c[r>>2]|0):0)break;vg(c[t>>2]|0);c[t>>2]=xg(c[q>>2]|0,47161,5)|0;if((c[t>>2]|0?(c[u>>2]=Eg(c[t>>2]|0,1)|0,c[u>>2]|0):0)?(c[r>>2]=ui(0,c[u>>2]|0,A,0)|0,c[r>>2]|0):0){c[n>>2]=c[r>>2];F=c[n>>2]|0;i=e;return F|0}if(!(c[u>>2]|0)){c[A>>2]=0;c[A+4>>2]=0}if(jg(1)|0){p=$i(c[A>>2]|0)|0;d=aj(c[A+4>>2]|0)|0;c[l>>2]=p;c[l+4>>2]=d;Df(48679,l);if(c[A+40>>2]|0){c[k>>2]=c[A+40>>2];Df(48704,k)}Hf(48726,c[A+8>>2]|0);Hf(48743,c[A+12>>2]|0);Hf(48760,c[A+16>>2]|0);Yn(48777,A+20|0,0);Hf(48792,c[A+32>>2]|0);Hf(48809,c[A+36>>2]|0);Hf(48826,c[w>>2]|0)}if(((((c[A+8>>2]|0?c[A+12>>2]|0:0)?c[A+16>>2]|0:0)?c[A+20>>2]|0:0)?c[A+32>>2]|0:0)?(c[A+36>>2]|0)!=0&(c[w>>2]|0)!=0:0){if(c[w>>2]|0?(co(A+44|0),c[r>>2]=dj(A+44|0,c[w>>2]|0)|0,c[r>>2]|0):0)break;c[B>>2]=jo(c[A>>2]|0,c[A+4>>2]|0,0,c[A+8>>2]|0,c[A+12>>2]|0,c[A+16>>2]|0)|0;c[D>>2]=vq(0)|0;c[E>>2]=vq(0)|0;co(C);Go(C,c[z>>2]|0,A+44|0,c[B>>2]|0);if(Zn(c[D>>2]|0,c[E>>2]|0,C,c[B>>2]|0)|0)Bf(48843,j);c[x>>2]=bj(c[D>>2]|0,c[E>>2]|0,c[A+8>>2]|0)|0;Go(C,c[z>>2]|0,A+20|0,c[B>>2]|0);if(Zn(c[D>>2]|0,c[E>>2]|0,C,c[B>>2]|0)|0)Bf(48891,h);else{c[y>>2]=bj(c[D>>2]|0,c[E>>2]|0,c[A+8>>2]|0)|0;hq(c[D>>2]|0);hq(c[E>>2]|0);fo(C);d=c[o>>2]|0;p=c[y>>2]|0;c[g>>2]=c[x>>2];c[g+4>>2]=p;c[r>>2]=Ig(d,0,48938,g)|0;break}}c[r>>2]=68}}while(0);xq(c[A+8>>2]|0);xq(c[A+12>>2]|0);xq(c[A+16>>2]|0);xq(c[v>>2]|0);fo(A+20|0);xq(c[A+32>>2]|0);xq(c[A+36>>2]|0);xq(c[w>>2]|0);fo(A+44|0);xq(c[z>>2]|0);xq(c[x>>2]|0);xq(c[y>>2]|0);$f(c[u>>2]|0);no(c[B>>2]|0);qk(s);if(jg(1)|0){c[f>>2]=fu(c[r>>2]|0)|0;Df(48964,f)}c[n>>2]=c[r>>2];F=c[n>>2]|0;i=e;return F|0}function js(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[h>>2]=0;c[f>>2]=xg(c[e>>2]|0,48644,1)|0;if(c[f>>2]|0){c[g>>2]=Fg(c[f>>2]|0,1,5)|0;vg(c[f>>2]|0);if(c[g>>2]|0){c[h>>2]=Ro(c[g>>2]|0)|0;xq(c[g>>2]|0)}}else{c[f>>2]=xg(c[e>>2]|0,47161,5)|0;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[j>>2]=Eg(c[f>>2]|0,1)|0;vg(c[f>>2]|0);if(!(c[j>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}if(ui(0,c[j>>2]|0,0,h)|0)c[h>>2]=0;$f(c[j>>2]|0)}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=b;return k|0}function ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=i;i=i+256|0;f=e+72|0;g=e+64|0;h=e+56|0;j=e+48|0;k=e+40|0;l=e+8|0;m=e;n=e+248|0;o=e+244|0;p=e+240|0;q=e+236|0;r=e+232|0;s=e+192|0;t=e+188|0;u=e+184|0;v=e+124|0;w=e+120|0;x=e+116|0;y=e+112|0;z=e+100|0;A=e+88|0;B=e+84|0;C=e+80|0;D=e+76|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;c[t>>2]=0;c[u>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[B>>2]=0;d=v;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));co(z);co(A);pk(s,1,js(c[q>>2]|0)|0);c[r>>2]=nk(c[p>>2]|0,12916,t,s)|0;do if((c[r>>2]|0)==0?(p=c[t>>2]|0,c[m>>2]=u,c[m+4>>2]=0,c[r>>2]=Rg(p,0,48986,m)|0,(c[r>>2]|0)==0):0){if(jg(1)|0)Hf(48988,c[u>>2]|0);if(c[u>>2]|0?c[(c[u>>2]|0)+12>>2]&4|0:0){c[r>>2]=79;break}p=c[q>>2]|0;c[l>>2]=v+8;c[l+4>>2]=v+12;c[l+8>>2]=v+16;c[l+12>>2]=w;c[l+16>>2]=v+32;c[l+20>>2]=v+36;c[l+24>>2]=v+56;c[l+28>>2]=0;c[r>>2]=Rg(p,0,49005,l)|0;if(!(c[r>>2]|0)){if(c[w>>2]|0?(co(v+20|0),c[r>>2]=dj(v+20|0,c[w>>2]|0)|0,c[r>>2]|0):0)break;vg(c[t>>2]|0);c[t>>2]=xg(c[q>>2]|0,47161,5)|0;if((c[t>>2]|0?(c[x>>2]=Eg(c[t>>2]|0,1)|0,c[x>>2]|0):0)?(c[r>>2]=ui(0,c[x>>2]|0,v,0)|0,c[r>>2]|0):0){c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}if(!(c[x>>2]|0)){c[v>>2]=0;c[v+4>>2]=0}if(jg(1)|0){p=$i(c[v>>2]|0)|0;d=aj(c[v+4>>2]|0)|0;c[k>>2]=p;c[k+4>>2]=d;Df(49021,k);if(c[v+40>>2]|0){c[j>>2]=c[v+40>>2];Df(49046,j)}Hf(49068,c[v+8>>2]|0);Hf(49085,c[v+12>>2]|0);Hf(49102,c[v+16>>2]|0);Yn(49119,v+20|0,0);Hf(49134,c[v+32>>2]|0);Hf(49151,c[v+36>>2]|0);if(!(Ah()|0))Hf(49168,c[v+56>>2]|0)}if((((((c[v+8>>2]|0?c[v+12>>2]|0:0)?c[v+16>>2]|0:0)?c[v+20>>2]|0:0)?c[v+32>>2]|0:0)?c[v+36>>2]|0:0)?c[v+56>>2]|0:0){c[r>>2]=dj(z,c[u>>2]|0)|0;if(c[r>>2]|0){fo(z);c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}c[y>>2]=jo(c[v>>2]|0,c[v+4>>2]|0,0,c[v+8>>2]|0,c[v+12>>2]|0,c[v+16>>2]|0)|0;Go(A,c[v+56>>2]|0,z,c[y>>2]|0);c[C>>2]=vq(0)|0;c[D>>2]=vq(0)|0;if(Zn(c[C>>2]|0,c[D>>2]|0,A,c[y>>2]|0)|0)Bf(49185,h);c[B>>2]=bj(c[C>>2]|0,c[D>>2]|0,c[v+8>>2]|0)|0;if(c[B>>2]|0)c[r>>2]=0;else c[r>>2]=iu()|0;hq(c[C>>2]|0);hq(c[D>>2]|0);if(jg(1)|0)Hf(49225,c[B>>2]|0);if(c[r>>2]|0)break;d=c[o>>2]|0;c[g>>2]=c[B>>2];c[r>>2]=Ig(d,0,49242,g)|0;break}c[r>>2]=68}}while(0);fo(A);fo(z);xq(c[B>>2]|0);xq(c[v+8>>2]|0);xq(c[v+12>>2]|0);xq(c[v+16>>2]|0);xq(c[w>>2]|0);fo(v+20|0);xq(c[v+32>>2]|0);xq(c[v+36>>2]|0);xq(c[v+56>>2]|0);xq(c[u>>2]|0);$f(c[x>>2]|0);vg(c[t>>2]|0);no(c[y>>2]|0);qk(s);if(jg(1)|0){c[f>>2]=fu(c[r>>2]|0)|0;Df(49253,f)}c[n>>2]=c[r>>2];E=c[n>>2]|0;i=e;return E|0}function ls(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;e=i;i=i+272|0;f=e+104|0;g=e+96|0;h=e+88|0;j=e+80|0;k=e+72|0;l=e+56|0;m=e+40|0;n=e;o=e+256|0;p=e+252|0;q=e+248|0;r=e+244|0;s=e+240|0;t=e+200|0;u=e+192|0;v=e+188|0;w=e+184|0;x=e+180|0;y=e+176|0;z=e+116|0;A=e+112|0;B=e+108|0;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[A>>2]=0;c[B>>2]=0;d=z;b=d+60|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(t,2,0);c[s>>2]=rk(c[q>>2]|0,u,t)|0;do if(!(c[s>>2]|0)){if(jg(1)|0)Hf(49275,c[u>>2]|0);q=c[r>>2]|0;if(c[t+12>>2]&512|0){c[n>>2]=z+8;c[n+4>>2]=z+12;c[n+8>>2]=z+16;c[n+12>>2]=x;c[n+16>>2]=z+32;c[n+20>>2]=z+36;c[n+24>>2]=y;c[n+28>>2]=z+56;c[n+32>>2]=0;c[s>>2]=Rg(q,0,48140,n)|0}else{c[m>>2]=y;c[m+4>>2]=z+56;c[m+8>>2]=0;c[s>>2]=Rg(q,0,48159,m)|0}if(!(c[s>>2]|0)){if(c[x>>2]|0?(co(z+20|0),c[s>>2]=dj(z+20|0,c[x>>2]|0)|0,c[s>>2]|0):0)break;vg(c[v>>2]|0);c[v>>2]=xg(c[r>>2]|0,47161,5)|0;if((c[v>>2]|0?(c[w>>2]=Eg(c[v>>2]|0,1)|0,c[w>>2]|0):0)?(c[s>>2]=ui(0,c[w>>2]|0,z,0)|0,c[s>>2]|0):0){c[o>>2]=c[s>>2];C=c[o>>2]|0;i=e;return C|0}if(!(c[w>>2]|0)){c[z>>2]=c[t+12>>2]&4096|0?2:0;c[z+4>>2]=c[t+12>>2]&4096|0?1:0}if(jg(1)|0){q=$i(c[z>>2]|0)|0;d=aj(c[z+4>>2]|0)|0;b=c[t+12>>2]&4096|0?49291:76527;c[l>>2]=q;c[l+4>>2]=d;c[l+8>>2]=b;Df(49298,l);if(c[z+40>>2]|0){c[k>>2]=c[z+40>>2];Df(49324,k)}Hf(49345,c[z+8>>2]|0);Hf(49361,c[z+12>>2]|0);Hf(49377,c[z+16>>2]|0);Yn(49393,z+20|0,0);Hf(49407,c[z+32>>2]|0);Hf(49423,c[z+36>>2]|0);Hf(49439,c[y>>2]|0);if(!(Ah()|0))Hf(49455,c[z+56>>2]|0)}if((((((c[z+8>>2]|0?c[z+12>>2]|0:0)?c[z+16>>2]|0:0)?c[z+20>>2]|0:0)?c[z+32>>2]|0:0)?c[z+36>>2]|0:0)?c[z+56>>2]|0:0){c[A>>2]=vq(0)|0;c[B>>2]=vq(0)|0;if(c[t+12>>2]&4096|0){c[s>>2]=Vi(c[u>>2]|0,z,c[A>>2]|0,c[B>>2]|0,c[t+16>>2]|0,c[y>>2]|0)|0;if(c[s>>2]|0)break;b=c[p>>2]|0;d=c[B>>2]|0;c[j>>2]=c[A>>2];c[j+4>>2]=d;c[s>>2]=Ig(b,0,49471,j)|0;break}b=c[u>>2]|0;d=c[A>>2]|0;q=c[B>>2]|0;if(c[t+12>>2]&8192|0){c[s>>2]=cu(b,z,d,q)|0;if(c[s>>2]|0)break;a=c[p>>2]|0;D=c[B>>2]|0;c[h>>2]=c[A>>2];c[h+4>>2]=D;c[s>>2]=Ig(a,0,49498,h)|0;break}else{c[s>>2]=au(b,z,d,q,c[t+12>>2]|0,c[t+16>>2]|0)|0;if(c[s>>2]|0)break;q=c[p>>2]|0;d=c[B>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=d;c[s>>2]=Ig(q,0,49524,g)|0;break}}c[s>>2]=68}}while(0);xq(c[z+8>>2]|0);xq(c[z+12>>2]|0);xq(c[z+16>>2]|0);xq(c[x>>2]|0);fo(z+20|0);xq(c[z+32>>2]|0);xq(c[z+36>>2]|0);xq(c[y>>2]|0);fo(z+44|0);xq(c[z+56>>2]|0);xq(c[A>>2]|0);xq(c[B>>2]|0);$f(c[w>>2]|0);xq(c[u>>2]|0);vg(c[v>>2]|0);qk(t);if(jg(1)|0){c[f>>2]=fu(c[s>>2]|0)|0;Df(49551,f)}c[o>>2]=c[s>>2];C=c[o>>2]|0;i=e;return C|0}function ms(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=i;i=i+272|0;f=e+80|0;g=e+72|0;h=e+56|0;j=e+48|0;k=e+16|0;l=e;m=e+256|0;n=e+252|0;o=e+248|0;p=e+244|0;q=e+240|0;r=e+200|0;s=e+192|0;t=e+188|0;u=e+184|0;v=e+180|0;w=e+176|0;x=e+172|0;y=e+168|0;z=e+112|0;A=e+104|0;B=e+100|0;C=e+96|0;D=e+92|0;E=e+88|0;F=e+84|0;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;d=z;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));pk(r,3,js(c[p>>2]|0)|0);c[q>>2]=rk(c[o>>2]|0,y,r)|0;a:do if(!(c[q>>2]|0)){if(jg(1)|0)Hf(49572,c[y>>2]|0);c[q>>2]=mk(c[n>>2]|0,12916,s,A)|0;if((c[q>>2]|0)==0?(o=c[s>>2]|0,d=c[A>>2]&4096|0?49588:47158,c[l>>2]=w,c[l+4>>2]=x,c[l+8>>2]=0,c[q>>2]=Rg(o,0,d,l)|0,(c[q>>2]|0)==0):0){if(jg(1)|0){Hf(49592,c[w>>2]|0);Hf(49608,c[x>>2]|0)}if(c[r+12>>2]&4096^c[A>>2]&4096|0){c[q>>2]=70;break}d=c[p>>2]|0;if(c[r+12>>2]&512|0){c[k>>2]=z+8;c[k+4>>2]=z+12;c[k+8>>2]=z+16;c[k+12>>2]=u;c[k+16>>2]=z+32;c[k+20>>2]=z+32;c[k+24>>2]=v;c[k+28>>2]=0;c[q>>2]=Rg(d,0,49624,k)|0}else{c[j>>2]=v;c[j+4>>2]=0;c[q>>2]=Rg(d,0,49640,j)|0}if(!(c[q>>2]|0)){if(c[u>>2]|0?(co(z+20|0),c[q>>2]=dj(z+20|0,c[u>>2]|0)|0,c[q>>2]|0):0)break;vg(c[s>>2]|0);c[s>>2]=xg(c[p>>2]|0,47161,5)|0;if((c[s>>2]|0?(c[t>>2]=Eg(c[s>>2]|0,1)|0,c[t>>2]|0):0)?(c[q>>2]=ui(0,c[t>>2]|0,z,0)|0,c[q>>2]|0):0){c[m>>2]=c[q>>2];G=c[m>>2]|0;i=e;return G|0}if(!(c[t>>2]|0)){c[z>>2]=c[A>>2]&4096|0?2:0;c[z+4>>2]=c[A>>2]&4096|0?1:0}if(jg(1)|0){d=$i(c[z>>2]|0)|0;o=aj(c[z+4>>2]|0)|0;b=c[A>>2]&4096|0?49291:76527;c[h>>2]=d;c[h+4>>2]=o;c[h+8>>2]=b;Df(49643,h);if(c[z+40>>2]|0){c[g>>2]=c[z+40>>2];Df(49669,g)}Hf(49690,c[z+8>>2]|0);Hf(49706,c[z+12>>2]|0);Hf(49722,c[z+16>>2]|0);Yn(49738,z+20|0,0);Hf(49752,c[z+32>>2]|0);Hf(49768,c[z+36>>2]|0);Hf(49784,c[v>>2]|0)}if(((((c[z+8>>2]|0?c[z+12>>2]|0:0)?c[z+16>>2]|0:0)?c[z+20>>2]|0:0)?c[z+32>>2]|0:0)?(c[z+36>>2]|0)!=0&(c[v>>2]|0)!=0:0){if(c[A>>2]&4096|0){c[q>>2]=Xi(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0,c[r+16>>2]|0,c[v>>2]|0)|0;break}b=(c[A>>2]&8192|0)!=0;co(z+44|0);if(b){c[q>>2]=dj(z+44|0,c[v>>2]|0)|0;if(c[q>>2]|0)break;c[q>>2]=du(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;break}if((c[z+4>>2]|0)==1){c[B>>2]=jo(c[z>>2]|0,c[z+4>>2]|0,0,c[z+8>>2]|0,c[z+12>>2]|0,c[z+16>>2]|0)|0;c[q>>2]=Ni(c[v>>2]|0,c[B>>2]|0,z+44|0,0,0)|0;no(c[B>>2]|0)}else c[q>>2]=dj(z+44|0,c[v>>2]|0)|0;if(c[q>>2]|0)break;do if(c[y>>2]|0){if(!(c[(c[y>>2]|0)+12>>2]&4))break;c[E>>2]=Ro(c[z+32>>2]|0)|0;c[C>>2]=kq(c[y>>2]|0,D)|0;c[q>>2]=Dp(F,5,c[C>>2]|0,(((c[D>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[q>>2]|0)break a;if((c[D>>2]|0)>>>0>(c[E>>2]|0)>>>0)Yo(c[F>>2]|0,c[F>>2]|0,(c[D>>2]|0)-(c[E>>2]|0)|0);c[q>>2]=bu(c[F>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;xq(c[F>>2]|0);break a}while(0);c[q>>2]=bu(c[y>>2]|0,z,c[w>>2]|0,c[x>>2]|0)|0;break}c[q>>2]=68}}}while(0);xq(c[z+8>>2]|0);xq(c[z+12>>2]|0);xq(c[z+16>>2]|0);xq(c[u>>2]|0);fo(z+20|0);xq(c[z+32>>2]|0);xq(c[z+36>>2]|0);xq(c[v>>2]|0);fo(z+44|0);xq(c[y>>2]|0);xq(c[w>>2]|0);xq(c[x>>2]|0);$f(c[t>>2]|0);vg(c[s>>2]|0);qk(r);if(jg(1)|0){if(c[q>>2]|0)H=fu(c[q>>2]|0)|0;else H=49800;c[f>>2]=H;Df(49805,f)}c[m>>2]=c[q>>2];G=c[m>>2]|0;i=e;return G|0}function ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e;c[g>>2]=a;c[e+4>>2]=b;c[h>>2]=d;if((c[g>>2]|0)!=18){c[f>>2]=4;j=c[f>>2]|0;i=e;return j|0}else{c[f>>2]=os(c[h>>2]|0)|0;j=c[f>>2]|0;i=e;return j|0}return 0}function os(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=49826;c[g>>2]=0;if(!(c[g>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=b;return h|0}if(c[e>>2]|0)Fb[c[e>>2]&1](49836,18,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;h=c[d>>2]|0;i=b;return h|0}function ps(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=i;i=i+208|0;f=e+88|0;g=e+80|0;h=e+72|0;j=e+64|0;k=e+32|0;l=e;m=e+172|0;n=e+168|0;o=e+164|0;p=e+160|0;q=e+132|0;r=e+128|0;s=e+124|0;t=e+120|0;u=e+116|0;v=e+112|0;w=e+176|0;x=e+108|0;y=e+104|0;z=e+100|0;A=e+96|0;c[m>>2]=b;c[n>>2]=d;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;c[q+(c[r>>2]<<2)>>2]=0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=xg(c[n>>2]|0,47167,0)|0;if(!(c[p>>2]|0?(c[o>>2]=jk(c[p>>2]|0,t,0)|0,(c[o>>2]|0)!=0):0))B=6;a:do if((B|0)==6){d=(c[t>>2]&4096|0)!=0;b=c[n>>2]|0;do if(c[t>>2]&512|0){C=q+4|0;D=q+8|0;E=q+12|0;F=q+16|0;G=q+20|0;H=q+24|0;if(d){c[l>>2]=q;c[l+4>>2]=C;c[l+8>>2]=D;c[l+12>>2]=E;c[l+16>>2]=F;c[l+20>>2]=G;c[l+24>>2]=H;c[l+28>>2]=0;c[o>>2]=Rg(b,0,49843,l)|0;break}else{c[k>>2]=q;c[k+4>>2]=C;c[k+8>>2]=D;c[k+12>>2]=E;c[k+16>>2]=F;c[k+20>>2]=G;c[k+24>>2]=H;c[k+28>>2]=0;c[o>>2]=Rg(b,0,49858,k)|0;break}}else{H=q+24|0;if(d){c[j>>2]=H;c[j+4>>2]=0;c[o>>2]=Rg(b,0,49640,j)|0;break}else{c[h>>2]=H;c[h+4>>2]=0;c[o>>2]=Rg(b,0,49872,h)|0;break}}while(0);if(!(c[o>>2]|0)){vg(c[p>>2]|0);c[p>>2]=xg(c[n>>2]|0,47161,5)|0;if((c[p>>2]|0?(c[s>>2]=Eg(c[p>>2]|0,1)|0,c[s>>2]|0):0)?(c[o>>2]=xi(c[s>>2]|0,u,v,q,q+4|0,q+8|0,q+12|0,q+16|0,q+20|0)|0,c[o>>2]|0):0)break;if(!(c[s>>2]|0)){c[u>>2]=c[t>>2]&4096|0?2:0;c[v>>2]=c[t>>2]&4096|0?1:0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;if(!(c[q+(c[r>>2]<<2)>>2]|0)){B=22;break}Qo(c[q+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}if((B|0)==22){c[o>>2]=68;break}if(c[t>>2]&4096|0){if((c[v>>2]|0)==1)c[o>>2]=Ki(c[q+24>>2]|0,256)|0;else c[o>>2]=69;if(c[o>>2]|0)break}c[r>>2]=0;b:while(1){if((c[r>>2]|0)>=7)break a;do if((c[r>>2]|0)!=5){if(c[q+(c[r>>2]<<2)>>2]|0?c[(c[q+(c[r>>2]<<2)>>2]|0)+12>>2]&4|0:0){c[x>>2]=kq(c[q+(c[r>>2]<<2)>>2]|0,y)|0;c[y>>2]=(((c[y>>2]|0)+7|0)>>>0)/8|0;b=c[y>>2]|0;c[g>>2]=a[49874+(c[r>>2]|0)>>0];c[g+4>>2]=b;tv(w,30,49881,g)|0;b=c[m>>2]|0;Fj(b,w,Kv(w)|0);Fj(c[m>>2]|0,c[x>>2]|0,c[y>>2]|0);Fj(c[m>>2]|0,49890,1);break}c[z>>2]=zp(c[q+(c[r>>2]<<2)>>2]|0,0,A,0)|0;if(!(c[z>>2]|0))break b;b=c[A>>2]|0;c[f>>2]=a[49874+(c[r>>2]|0)>>0];c[f+4>>2]=b;tv(w,30,49881,f)|0;b=c[m>>2]|0;Fj(b,w,Kv(w)|0);Fj(c[m>>2]|0,c[z>>2]|0,c[A>>2]|0);Fj(c[m>>2]|0,49890,1);$f(c[z>>2]|0)}while(0);c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=iu()|0}}while(0);$f(c[s>>2]|0);vg(c[p>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>=7)break;xq(c[q+(c[r>>2]<<2)>>2]|0);c[r>>2]=(c[r>>2]|0)+1}i=e;return c[o>>2]|0}function qs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;i=i+1056|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h+48|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;c[r>>2]=0;g=Uj(c[k>>2]|0)|0;if((g|0)!=(c[p>>2]|0)){c[j>>2]=49892;w=c[j>>2]|0;i=h;return w|0}c[r>>2]=wj(s,c[k>>2]|0,0)|0;if(c[r>>2]|0){c[j>>2]=49933;w=c[j>>2]|0;i=h;return w|0}a:do switch(c[l>>2]|0){case 0:{Fj(c[s>>2]|0,c[m>>2]|0,c[n>>2]|0);break}case 1:{Fx(u|0,97,1e3)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=1e3)break a;Fj(c[s>>2]|0,u,1e3);c[v>>2]=(c[v>>2]|0)+1}break}default:c[q>>2]=49953}while(0);if((c[q>>2]|0)==0?(c[t>>2]=Rj(c[s>>2]|0,c[k>>2]|0)|0,mw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0)|0):0)c[q>>2]=49970;Ej(c[s>>2]|0);c[j>>2]=c[q>>2];w=c[j>>2]|0;i=h;return w|0}function rs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[h>>2];c[l>>2]=c[g>>2];c[m>>2]=0;c[n>>2]=c[(c[l>>2]|0)+148>>2];if(128<(c[n>>2]|0)>>>0)wf(49986,112,5e4);if(!(c[(c[l>>2]|0)+152>>2]|0)){i=f;return}if((c[(c[l>>2]|0)+144>>2]|0)==(c[n>>2]|0)?(c[m>>2]=vb[c[(c[l>>2]|0)+152>>2]&63](c[l>>2]|0,c[l>>2]|0,1)|0,If(c[m>>2]|0),Jf(),c[m>>2]=0,c[(c[l>>2]|0)+144>>2]=0,g=(c[l>>2]|0)+128|0,h=g,e=Ax(c[h>>2]|0,c[h+4>>2]|0,1,0)|0,h=C,d=g,c[d>>2]=e,c[d+4>>2]=h,!((e|0)!=0|(h|0)!=0)):0){h=(c[l>>2]|0)+136|0;e=h;d=Ax(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;e=h;c[e>>2]=d;c[e+4>>2]=C}if(!(c[k>>2]|0)){i=f;return}if(c[(c[l>>2]|0)+144>>2]|0){while(1){if(!(c[j>>2]|0))break;if((c[(c[l>>2]|0)+144>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;e=c[k>>2]|0;c[k>>2]=e+1;d=a[e>>0]|0;e=(c[l>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[l>>2]|0)+h>>0]=d;c[j>>2]=(c[j>>2]|0)+-1}rs(c[l>>2]|0,0,0);if(!(c[j>>2]|0)){i=f;return}}if((c[j>>2]|0)>>>0>=(c[n>>2]|0)>>>0){c[o>>2]=((c[j>>2]|0)>>>0)/((c[n>>2]|0)>>>0)|0;c[m>>2]=vb[c[(c[l>>2]|0)+152>>2]&63](c[l>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=0;d=(c[l>>2]|0)+128|0;h=Ax(c[d>>2]|0,c[d+4>>2]|0,c[o>>2]|0,0)|0;d=C;e=(d>>>0<0|((d|0)==0?h>>>0<(c[o>>2]|0)>>>0:0))&1;h=(c[l>>2]|0)+136|0;d=h;g=Ax(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=(c[l>>2]|0)+128|0;g=e;h=Ax(c[g>>2]|0,c[g+4>>2]|0,c[o>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=_(c[o>>2]|0,c[n>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-g;g=_(c[o>>2]|0,c[n>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+g}If(c[m>>2]|0);Jf();while(1){if(!(c[j>>2]|0)){p=19;break}if((c[(c[l>>2]|0)+144>>2]|0)>>>0>=(c[n>>2]|0)>>>0){p=19;break}m=c[k>>2]|0;c[k>>2]=m+1;g=a[m>>0]|0;m=(c[l>>2]|0)+144|0;o=c[m>>2]|0;c[m>>2]=o+1;a[(c[l>>2]|0)+o>>0]=g;c[j>>2]=(c[j>>2]|0)+-1}if((p|0)==19){i=f;return}}function ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=ts(c[f>>2]|0)|0;c[k>>2]=0;c[l>>2]=c[c[(c[f>>2]|0)+84>>2]>>2];do if(c[(c[f>>2]|0)+88>>2]|0){c[m>>2]=(c[l>>2]|0)-(c[(c[f>>2]|0)+88>>2]|0);if((c[m>>2]|0)>>>0>(c[h>>2]|0)>>>0)c[m>>2]=c[h>>2];us((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[m>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[m>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[m>>2]|0);d=(c[f>>2]|0)+88|0;c[d>>2]=(c[d>>2]|0)+(c[m>>2]|0);if((c[(c[f>>2]|0)+88>>2]|0)>>>0<(c[l>>2]|0)>>>0){i=e;return}else{c[k>>2]=vb[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[j>>2]|0,(c[f>>2]|0)+68|0,c[l>>2]|0)|0;c[(c[f>>2]|0)+88>>2]=0;break}}while(0);if((c[h>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[n>>2]=c[h>>2]&~((c[l>>2]|0)-1);c[k>>2]=vb[c[(c[(c[f>>2]|0)+84>>2]|0)+8>>2]&63](c[j>>2]|0,c[g>>2]|0,c[n>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+(c[n>>2]|0);c[h>>2]=(c[h>>2]|0)-(c[n>>2]|0)}if(c[h>>2]|0){us((c[f>>2]|0)+68+(c[(c[f>>2]|0)+88>>2]|0)|0,c[g>>2]|0,c[h>>2]|0);g=(c[f>>2]|0)+88|0;c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0)}if(!(c[k>>2]|0)){i=e;return}If(c[k>>2]|0);Jf();i=e;return}function ts(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];c[e>>2]=(c[e>>2]|0)+3;c[e>>2]=(c[e>>2]|0)+(0-(c[e>>2]&3));i=b;return c[e>>2]|0}function us(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ts(c[e>>2]|0)|0;c[h>>2]=Cb[c[(c[(c[e>>2]|0)+84>>2]|0)+12>>2]&7](c[g>>2]|0,(c[e>>2]|0)+68|0,c[(c[e>>2]|0)+88>>2]|0,c[f>>2]|0)|0;If(c[h>>2]|0);Jf();i=d;return}function ws(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+80|0;h=g+8|0;j=g+40|0;k=g+36|0;l=g+32|0;m=g+28|0;n=g+48|0;o=g+20|0;p=g+16|0;q=g+44|0;r=g;s=g+12|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[g+24>>2]=Vg()|0;if((c[17721]|0)==0?(c[17721]=1,c[17722]=xs()|0,c[17722]|0):0){c[h>>2]=c[17722];Af(50408,h)}if((c[m>>2]|0)!=32){c[j>>2]=44;t=c[j>>2]|0;i=g;return t|0}if(c[17722]|0){c[j>>2]=50;t=c[j>>2]|0;i=g;return t|0}c[(c[k>>2]|0)+84>>2]=12940;us(n,c[l>>2]|0,32);Es(c[k>>2]|0,n);c[o>>2]=n;c[p>>2]=32;a[q>>0]=0;n=r;c[n>>2]=d[q>>0];c[n+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){n=r;k=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=r;c[n>>2]=k;c[n+4>>2]=C;do{c[s>>2]=c[o>>2];n=r;k=c[n+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[n>>2];c[l+4>>2]=k;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}c[j>>2]=0;t=c[j>>2]|0;i=g;return t|0}function xs(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+512|0;d=b+192|0;e=b+100|0;f=b+8|0;g=b+472|0;h=b+216|0;j=b+200|0;k=b+4|0;l=b;m=e;n=m+92|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=f;n=m+92|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ys(j,50021,131,50152);if(mw(50184,j,16)|0){c[d>>2]=50200;o=c[d>>2]|0;i=b;return o|0}m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ws(e,50152,32)|0;ss(e,50021,32);ss(e,50053,64);ss(e,50117,16);ss(e,50133,8);ss(e,50141,4);ss(e,50145,2);ss(e,50147,1);ss(e,50148,1);ss(e,50149,1);ss(e,50150,1);ss(e,50151,1);vs(e,j);if(mw(50184,j,16)|0){c[d>>2]=50224;o=c[d>>2]|0;i=b;return o|0}m=j;n=m+16|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));ys(j,50248,16,50264);if(mw(50296,j,16)|0){c[d>>2]=50312;o=c[d>>2]|0;i=b;return o|0}ws(f,50336,32)|0;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=256)break;c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=32)break;a[g+(c[l>>2]|0)>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;a[h+(c[l>>2]|0)>>0]=c[k>>2];c[l>>2]=(c[l>>2]|0)+1}ys(j,h,c[k>>2]|0,g);ss(f,j,16);c[k>>2]=(c[k>>2]|0)+1}vs(f,j);if(mw(50368,j,16)|0){c[d>>2]=50384;o=c[d>>2]|0;i=b;return o|0}else{c[d>>2]=0;o=c[d>>2]|0;i=b;return o|0}return 0}function ys(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+144|0;j=h+124|0;k=h+120|0;l=h+116|0;m=h+112|0;n=h+20|0;o=h+16|0;p=h+12|0;q=h+128|0;r=h;s=h+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=n;f=g+92|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));ws(n,c[m>>2]|0,32)|0;ss(n,c[k>>2]|0,c[l>>2]|0);vs(n,c[j>>2]|0);c[o>>2]=n;c[p>>2]=92;a[q>>0]=0;n=r;c[n>>2]=d[q>>0];c[n+4>>2]=0;while(1){if(!(c[o>>2]&7|0?(c[p>>2]|0)!=0:0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}if((c[p>>2]|0)>>>0>=8){n=r;j=Mx(c[n>>2]|0,c[n+4>>2]|0,16843009,16843009)|0;n=r;c[n>>2]=j;c[n+4>>2]=C;do{c[s>>2]=c[o>>2];n=r;j=c[n+4>>2]|0;l=c[s>>2]|0;c[l>>2]=c[n>>2];c[l+4>>2]=j;c[p>>2]=(c[p>>2]|0)-8;c[o>>2]=(c[o>>2]|0)+8}while((c[p>>2]|0)>>>0>=8)}while(1){if(!(c[p>>2]|0))break;a[c[o>>2]>>0]=a[q>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}i=h;return}function zs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];f=(As(c[g>>2]|0)|0)&67108863;c[c[h>>2]>>2]=f;f=(As((c[g>>2]|0)+3|0)|0)>>>2&67108611;c[(c[h>>2]|0)+4>>2]=f;f=(As((c[g>>2]|0)+6|0)|0)>>>4&67092735;c[(c[h>>2]|0)+8>>2]=f;f=(As((c[g>>2]|0)+9|0)|0)>>>6&66076671;c[(c[h>>2]|0)+12>>2]=f;f=(As((c[g>>2]|0)+12|0)|0)>>>8&1048575;c[(c[h>>2]|0)+16>>2]=f;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+20+4>>2]=0;c[(c[h>>2]|0)+20+8>>2]=0;c[(c[h>>2]|0)+20+12>>2]=0;c[(c[h>>2]|0)+20+16>>2]=0;f=As((c[g>>2]|0)+16|0)|0;c[(c[h>>2]|0)+40>>2]=f;f=As((c[g>>2]|0)+20|0)|0;c[(c[h>>2]|0)+40+4>>2]=f;f=As((c[g>>2]|0)+24|0)|0;c[(c[h>>2]|0)+40+8>>2]=f;f=As((c[g>>2]|0)+28|0)|0;c[(c[h>>2]|0)+40+12>>2]=f;a[(c[h>>2]|0)+56>>0]=0;i=e;return}function As(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Bs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;f=i;i=i+128|0;g=f+116|0;h=f+112|0;j=f+108|0;k=f+104|0;l=f+100|0;m=f+96|0;n=f+92|0;o=f+88|0;p=f+84|0;q=f+80|0;r=f+76|0;s=f+72|0;t=f+68|0;u=f+64|0;v=f+60|0;w=f+56|0;x=f+52|0;y=f+48|0;z=f+44|0;A=f+32|0;B=f+24|0;D=f+16|0;E=f+8|0;F=f;G=f+40|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=d[(c[k>>2]|0)+56>>0]|0|0?0:16777216;c[m>>2]=c[c[k>>2]>>2];c[n>>2]=c[(c[k>>2]|0)+4>>2];c[o>>2]=c[(c[k>>2]|0)+8>>2];c[p>>2]=c[(c[k>>2]|0)+12>>2];c[q>>2]=c[(c[k>>2]|0)+16>>2];c[r>>2]=(c[n>>2]|0)*5;c[s>>2]=(c[o>>2]|0)*5;c[t>>2]=(c[p>>2]|0)*5;c[u>>2]=(c[q>>2]|0)*5;c[v>>2]=c[(c[k>>2]|0)+20>>2];c[w>>2]=c[(c[k>>2]|0)+20+4>>2];c[x>>2]=c[(c[k>>2]|0)+20+8>>2];c[y>>2]=c[(c[k>>2]|0)+20+12>>2];c[z>>2]=c[(c[k>>2]|0)+20+16>>2];while(1){if((c[j>>2]|0)>>>0<16)break;g=(As(c[h>>2]|0)|0)&67108863;c[v>>2]=(c[v>>2]|0)+g;g=(As((c[h>>2]|0)+3|0)|0)>>>2&67108863;c[w>>2]=(c[w>>2]|0)+g;g=(As((c[h>>2]|0)+6|0)|0)>>>4&67108863;c[x>>2]=(c[x>>2]|0)+g;g=(As((c[h>>2]|0)+9|0)|0)>>>6&67108863;c[y>>2]=(c[y>>2]|0)+g;g=(As((c[h>>2]|0)+12|0)|0)>>>8;c[z>>2]=(c[z>>2]|0)+(g|c[l>>2]);g=Mx(c[v>>2]|0,0,c[m>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[u>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[t>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[s>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[r>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=A;c[e>>2]=g;c[e+4>>2]=C;e=Mx(c[v>>2]|0,0,c[n>>2]|0,0)|0;g=C;b=Mx(c[w>>2]|0,0,c[m>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[x>>2]|0,0,c[u>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=C;b=Mx(c[y>>2]|0,0,c[t>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[z>>2]|0,0,c[s>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=B;c[g>>2]=e;c[g+4>>2]=C;g=Mx(c[v>>2]|0,0,c[o>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[n>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[m>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[u>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[t>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=D;c[e>>2]=g;c[e+4>>2]=C;e=Mx(c[v>>2]|0,0,c[p>>2]|0,0)|0;g=C;b=Mx(c[w>>2]|0,0,c[o>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[x>>2]|0,0,c[n>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=C;b=Mx(c[y>>2]|0,0,c[m>>2]|0,0)|0;a=Ax(e|0,g|0,b|0,C|0)|0;b=C;g=Mx(c[z>>2]|0,0,c[u>>2]|0,0)|0;e=Ax(a|0,b|0,g|0,C|0)|0;g=E;c[g>>2]=e;c[g+4>>2]=C;g=Mx(c[v>>2]|0,0,c[q>>2]|0,0)|0;e=C;b=Mx(c[w>>2]|0,0,c[p>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[x>>2]|0,0,c[o>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=C;b=Mx(c[y>>2]|0,0,c[n>>2]|0,0)|0;a=Ax(g|0,e|0,b|0,C|0)|0;b=C;e=Mx(c[z>>2]|0,0,c[m>>2]|0,0)|0;g=Ax(a|0,b|0,e|0,C|0)|0;e=F;c[e>>2]=g;c[e+4>>2]=C;e=A;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[v>>2]=c[A>>2]&67108863;g=B;e=Ax(c[g>>2]|0,c[g+4>>2]|0,c[G>>2]|0,0)|0;g=B;c[g>>2]=e;c[g+4>>2]=C;g=B;e=Cx(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[G>>2]=e;c[w>>2]=c[B>>2]&67108863;e=D;g=Ax(c[e>>2]|0,c[e+4>>2]|0,c[G>>2]|0,0)|0;e=D;c[e>>2]=g;c[e+4>>2]=C;e=D;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[x>>2]=c[D>>2]&67108863;g=E;e=Ax(c[g>>2]|0,c[g+4>>2]|0,c[G>>2]|0,0)|0;g=E;c[g>>2]=e;c[g+4>>2]=C;g=E;e=Cx(c[g>>2]|0,c[g+4>>2]|0,26)|0;c[G>>2]=e;c[y>>2]=c[E>>2]&67108863;e=F;g=Ax(c[e>>2]|0,c[e+4>>2]|0,c[G>>2]|0,0)|0;e=F;c[e>>2]=g;c[e+4>>2]=C;e=F;g=Cx(c[e>>2]|0,c[e+4>>2]|0,26)|0;c[G>>2]=g;c[z>>2]=c[F>>2]&67108863;c[v>>2]=(c[v>>2]|0)+((c[G>>2]|0)*5|0);c[G>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[w>>2]|0)+(c[G>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[j>>2]=(c[j>>2]|0)-16}c[(c[k>>2]|0)+20>>2]=c[v>>2];c[(c[k>>2]|0)+20+4>>2]=c[w>>2];c[(c[k>>2]|0)+20+8>>2]=c[x>>2];c[(c[k>>2]|0)+20+12>>2]=c[y>>2];c[(c[k>>2]|0)+20+16>>2]=c[z>>2];i=f;return 124}function Cs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;g=i;i=i+112|0;h=g+80|0;j=g+76|0;k=g+72|0;l=g+68|0;m=g+64|0;n=g+60|0;o=g+56|0;p=g+52|0;q=g+48|0;r=g+44|0;s=g+40|0;t=g+36|0;u=g+32|0;v=g+28|0;w=g+24|0;x=g+20|0;y=g;z=g+16|0;A=g+12|0;B=g+88|0;D=g+8|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[h>>2];c[A>>2]=0;if(c[k>>2]|0){h=B;f=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(f|0));c[D>>2]=0;while(1){if((c[D>>2]|0)>>>0>=(c[k>>2]|0)>>>0)break;a[B+(c[D>>2]|0)>>0]=a[(c[j>>2]|0)+(c[D>>2]|0)>>0]|0;c[D>>2]=(c[D>>2]|0)+1}a[B+(c[k>>2]|0)>>0]=1;a[(c[m>>2]|0)+56>>0]=1;c[A>>2]=Bs(c[m>>2]|0,B,16)|0}c[n>>2]=c[(c[m>>2]|0)+20>>2];c[o>>2]=c[(c[m>>2]|0)+20+4>>2];c[p>>2]=c[(c[m>>2]|0)+20+8>>2];c[q>>2]=c[(c[m>>2]|0)+20+12>>2];c[r>>2]=c[(c[m>>2]|0)+20+16>>2];c[s>>2]=(c[o>>2]|0)>>>26;c[o>>2]=c[o>>2]&67108863;c[p>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[p>>2]|0)>>>26;c[p>>2]=c[p>>2]&67108863;c[q>>2]=(c[q>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[q>>2]|0)>>>26;c[q>>2]=c[q>>2]&67108863;c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[r>>2]|0)>>>26;c[r>>2]=c[r>>2]&67108863;c[n>>2]=(c[n>>2]|0)+((c[s>>2]|0)*5|0);c[s>>2]=(c[n>>2]|0)>>>26;c[n>>2]=c[n>>2]&67108863;c[o>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[t>>2]=(c[n>>2]|0)+5;c[s>>2]=(c[t>>2]|0)>>>26;c[t>>2]=c[t>>2]&67108863;c[u>>2]=(c[o>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[u>>2]|0)>>>26;c[u>>2]=c[u>>2]&67108863;c[v>>2]=(c[p>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[v>>2]|0)>>>26;c[v>>2]=c[v>>2]&67108863;c[w>>2]=(c[q>>2]|0)+(c[s>>2]|0);c[s>>2]=(c[w>>2]|0)>>>26;c[w>>2]=c[w>>2]&67108863;c[x>>2]=(c[r>>2]|0)+(c[s>>2]|0)-67108864;c[z>>2]=((c[x>>2]|0)>>>31)-1;c[t>>2]=c[t>>2]&c[z>>2];c[u>>2]=c[u>>2]&c[z>>2];c[v>>2]=c[v>>2]&c[z>>2];c[w>>2]=c[w>>2]&c[z>>2];c[x>>2]=c[x>>2]&c[z>>2];c[z>>2]=~c[z>>2];c[n>>2]=c[n>>2]&c[z>>2]|c[t>>2];c[o>>2]=c[o>>2]&c[z>>2]|c[u>>2];c[p>>2]=c[p>>2]&c[z>>2]|c[v>>2];c[q>>2]=c[q>>2]&c[z>>2]|c[w>>2];c[r>>2]=c[r>>2]&c[z>>2]|c[x>>2];c[n>>2]=c[n>>2]|c[o>>2]<<26;c[o>>2]=(c[o>>2]|0)>>>6|c[p>>2]<<20;c[p>>2]=(c[p>>2]|0)>>>12|c[q>>2]<<14;c[q>>2]=(c[q>>2]|0)>>>18|c[r>>2]<<8;r=Ax(c[n>>2]|0,0,c[(c[m>>2]|0)+40>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[n>>2]=c[y>>2];x=Ax(c[o>>2]|0,0,c[(c[m>>2]|0)+40+4>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[o>>2]=c[y>>2];x=Ax(c[p>>2]|0,0,c[(c[m>>2]|0)+40+8>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[p>>2]=c[y>>2];x=Ax(c[q>>2]|0,0,c[(c[m>>2]|0)+40+12>>2]|0,0)|0;r=Ax(x|0,C|0,c[y+4>>2]|0,0)|0;x=y;c[x>>2]=r;c[x+4>>2]=C;c[q>>2]=c[y>>2];Ds(c[l>>2]|0,c[n>>2]|0);Ds((c[l>>2]|0)+4|0,c[o>>2]|0);Ds((c[l>>2]|0)+8|0,c[p>>2]|0);Ds((c[l>>2]|0)+12|0,c[q>>2]|0);c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+20+4>>2]=0;c[(c[m>>2]|0)+20+8>>2]=0;c[(c[m>>2]|0)+20+12>>2]=0;c[(c[m>>2]|0)+20+16>>2]=0;c[c[m>>2]>>2]=0;c[(c[m>>2]|0)+4>>2]=0;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+16>>2]=0;c[(c[m>>2]|0)+40>>2]=0;c[(c[m>>2]|0)+40+4>>2]=0;c[(c[m>>2]|0)+40+8>>2]=0;c[(c[m>>2]|0)+40+12>>2]=0;i=g;return 100+(c[A>>2]|0)|0}function Ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function Es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=ts(c[e>>2]|0)|0;c[(c[e>>2]|0)+88>>2]=0;yb[c[(c[(c[e>>2]|0)+84>>2]|0)+4>>2]&7](c[g>>2]|0,c[f>>2]|0);i=d;return}function Fs(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0){Hs();i=b;return}else{Gs();i=b;return}}function Gs(){if(c[17723]|0)return;c[17723]=1;return}function Hs(){var a=0,b=0;Gs();Is();if(c[17725]|0){Os();return}if(c[17726]|0)a=hg(1,664)|0;else a=gg(1,664)|0;c[17725]=a;if(c[17726]|0)b=hg(1,664)|0;else b=gg(1,664)|0;c[17727]=b;c[17728]=Js()|0;if(!(c[17728]|0)){c[17729]=1;c[17728]=3}c[17746]=Ns()|0;Os();return}function Is(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(12956)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(50439,b)}else{c[17724]=1;i=a;return}}function Js(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;if((Ew(52821,4)|0)==0?(Ew(52923,4)|0)==0:0){c[d>>2]=4;i=a;return c[d>>2]|0}Bf(pf(50476)|0,b);return 0}function Ks(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+24|0;j=g+20|0;k=g+12|0;l=g+8|0;m=g+4|0;c[g+28>>2]=b;c[h>>2]=d;c[j>>2]=e;c[g+16>>2]=f;if(!(c[17730]|0)){yf(pf(50514)|0,g);c[17730]=1;f=jb(0)|0;bx(_(f,Dw()|0)|0)}f=dg(c[j>>2]|0)|0;c[l>>2]=f;c[m>>2]=f;c[k>>2]=c[j>>2];while(1){f=c[k>>2]|0;c[k>>2]=f+-1;if(!f)break;f=1+~~(+(cx()|0)*256.0/2147483648.0)-1&255;e=c[m>>2]|0;c[m>>2]=e+1;a[e>>0]=f}Ls(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0);$f(c[l>>2]|0);i=g;return 0}function Ls(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=0;if(!(c[17724]|0))xf(50565,50580,1074,50596);c[17739]=(c[17739]|0)+(c[j>>2]|0);c[17740]=(c[17740]|0)+1;while(1){h=c[j>>2]|0;c[j>>2]=h+-1;if(!h)break;h=c[l>>2]|0;c[l>>2]=h+1;f=d[h>>0]|0;h=c[17741]|0;c[17741]=h+1;e=(c[17725]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f;c[m>>2]=(c[m>>2]|0)+1;if((c[17741]|0)>>>0<600)continue;if(!((c[k>>2]|0)>>>0<3|(c[17742]|0)!=0)?(c[17743]=(c[17743]|0)+(c[m>>2]|0),c[m>>2]=0,(c[17743]|0)>>>0>=600):0)c[17742]=1;c[17741]=0;Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;c[17745]=((c[j>>2]|0)!=0^1)&1}i=g;return}function Ms(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+224|0;f=e+208|0;g=e+204|0;h=e+200|0;j=e+196|0;k=e+192|0;l=e+188|0;m=e;n=e+184|0;c[f>>2]=b;c[g>>2]=(c[f>>2]|0)+600;if(!(c[17724]|0))xf(50565,50580,615,50611);Fl(m);c[j>>2]=(c[f>>2]|0)+600;b=c[g>>2]|0;o=(c[j>>2]|0)+-20|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));b=(c[g>>2]|0)+20|0;o=c[f>>2]|0;p=b+44|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));Gl(m,c[g>>2]|0);b=c[f>>2]|0;o=c[g>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));a:do if(c[17744]|0?(c[f>>2]|0)==(c[17725]|0):0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=20)break a;q=(c[f>>2]|0)+(c[k>>2]|0)|0;a[q>>0]=(d[q>>0]|0)^(d[76506+(c[k>>2]|0)>>0]|0);c[k>>2]=(c[k>>2]|0)+1}}while(0);c[h>>2]=c[f>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=30)break;b=c[g>>2]|0;o=c[h>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));c[h>>2]=(c[h>>2]|0)+20;b:do if(((c[h>>2]|0)+20+64|0)>>>0<(c[j>>2]|0)>>>0){b=(c[g>>2]|0)+20|0;o=(c[h>>2]|0)+20|0;p=b+44|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0))}else{c[n>>2]=(c[h>>2]|0)+20;c[k>>2]=20;while(1){if((c[k>>2]|0)>=64)break b;if((c[n>>2]|0)>>>0>=(c[j>>2]|0)>>>0)c[n>>2]=c[f>>2];q=c[n>>2]|0;c[n>>2]=q+1;a[(c[g>>2]|0)+(c[k>>2]|0)>>0]=a[q>>0]|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);Gl(m,c[g>>2]|0);b=c[h>>2]|0;o=c[g>>2]|0;p=b+20|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));c[l>>2]=(c[l>>2]|0)+1}if((c[f>>2]|0)!=(c[17725]|0)){If(384);Jf();i=e;return}Hl(76506,c[f>>2]|0,600);c[17744]=1;If(384);Jf();i=e;return}function Ns(){return 0}function Os(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17724]=0;c[d>>2]=mu(12956)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(50620,b)}else{i=a;return}}function Ps(){Is();Tt(0,0,0,0)|0;c[17742]=0;Os();return}function Qs(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;a=i;i=i+48|0;b=a;d=c[17731]|0;e=c[17733]|0;f=c[17734]|0;g=c[17740]|0;h=c[17739]|0;j=c[17732]|0;k=c[17736]|0;l=c[17735]|0;m=c[17738]|0;n=c[17737]|0;o=(Qt()|0)!=0;c[b>>2]=600;c[b+4>>2]=d;c[b+8>>2]=e;c[b+12>>2]=f;c[b+16>>2]=g;c[b+20>>2]=h;c[b+24>>2]=j;c[b+28>>2]=k;c[b+32>>2]=l;c[b+36>>2]=m;c[b+40>>2]=n;c[b+44>>2]=o?50657:76527;yf(50673,b);i=a;return}function Rs(){c[17726]=1;return}function Ss(){c[17747]=1;return}function Ts(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Us(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Vs(){Hs();return (c[17729]|0?1:(c[17747]|0)!=0)&1|0}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Hs();if((c[17747]|0)!=0&(c[h>>2]|0)>>>0>1)c[h>>2]=1;c[h>>2]=c[h>>2]&3;Is();d=c[g>>2]|0;if((c[h>>2]|0)>>>0>=2){c[17737]=(c[17737]|0)+d;c[17738]=(c[17738]|0)+1}else{c[17735]=(c[17735]|0)+d;c[17736]=(c[17736]|0)+1}c[j>>2]=c[f>>2];while(1){if((c[g>>2]|0)>>>0<=0)break;c[k>>2]=(c[g>>2]|0)>>>0>600?600:c[g>>2]|0;Xs(c[j>>2]|0,c[k>>2]|0,c[h>>2]|0);c[g>>2]=(c[g>>2]|0)-(c[k>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0)}Os();i=e;return}function Xs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+64|0;g=f;h=f+48|0;j=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+28|0;o=f+24|0;p=f+20|0;q=f+16|0;r=f+12|0;s=f+8|0;t=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[17724]|0))xf(50565,50580,934,50797);while(1){c[o>>2]=Dw()|0;if((c[3250]|0)==-1)c[3250]=c[o>>2];if((c[3250]|0)!=(c[o>>2]|0)){c[3250]=c[o>>2];c[p>>2]=c[3250];Ls(p,4,0);c[17745]=0}if(!(c[17724]|0)){u=8;break}if((c[j>>2]|0)>>>0>600){u=10;break}if((c[17742]|0)==0?Ys()|0:0)c[17742]=1;if(!((c[k>>2]|0)!=2|(c[17750]|0)!=0)){c[17751]=0;c[q>>2]=(c[j>>2]|0)-(c[17751]|0);if((c[q>>2]|0)>>>0>=16){if((c[q>>2]|0)>>>0>600){u=18;break}}else c[q>>2]=16;_s(4,c[q>>2]|0,2);c[17751]=(c[17751]|0)+(c[q>>2]|0);c[17750]=1}if((c[k>>2]|0)==2?(c[17751]|0)>>>0<(c[j>>2]|0)>>>0:0){if((c[17751]|0)<0)c[17751]=0;c[r>>2]=(c[j>>2]|0)-(c[17751]|0);if((c[r>>2]|0)>>>0>600){u=25;break}_s(4,c[r>>2]|0,2);c[17751]=(c[17751]|0)+(c[r>>2]|0)}while(1){if(!((c[17742]|0)!=0^1))break;$s()}at();c[s>>2]=c[3250];Ls(s,4,0);if(!(c[17745]|0)){Ms(c[17725]|0);c[17731]=(c[17731]|0)+1}c[l>>2]=0;c[n>>2]=c[17727];c[m>>2]=c[17725];while(1){if((c[l>>2]|0)>=150)break;c[c[n>>2]>>2]=(c[c[m>>2]>>2]|0)+-1515870811;c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4;c[m>>2]=(c[m>>2]|0)+4}Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;Ms(c[17727]|0);c[17732]=(c[17732]|0)+1;while(1){e=c[j>>2]|0;c[j>>2]=e+-1;if(!e)break;e=c[17752]|0;c[17752]=e+1;d=a[(c[17727]|0)+e>>0]|0;e=c[h>>2]|0;c[h>>2]=e+1;a[e>>0]=d;if((c[17752]|0)>>>0>=600)c[17752]=0;c[17751]=(c[17751]|0)+-1}if((c[17751]|0)<0)c[17751]=0;Fx(c[17727]|0,0,600)|0;d=Dw()|0;if((d|0)==(c[o>>2]|0)){u=43;break}c[t>>2]=Dw()|0;Ls(t,4,0);c[17745]=0;c[3250]=c[t>>2]}if((u|0)==8)xf(50565,50580,953,50797);else if((u|0)==10)Cf(50807,g);else if((u|0)==18)wf(50580,979,50797);else if((u|0)==25)wf(50580,995,50797);else if((u|0)==43){i=f;return}}function Ys(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a=i;i=i+768|0;b=a+48|0;d=a+40|0;e=a+32|0;f=a+24|0;g=a+16|0;h=a+8|0;j=a+152|0;k=a+148|0;l=a+72|0;m=a+160|0;n=a+68|0;o=a+64|0;p=a+60|0;q=a+56|0;if(!(c[17724]|0))xf(50565,50580,743,50839);if(!(c[17748]|0)){c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}c[k>>2]=Mw(c[17748]|0,0,a)|0;if((c[k>>2]|0)==-1?(c[(Yu()|0)>>2]|0)==2:0){c[17749]=1;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[k>>2]|0)==-1){s=pf(50854)|0;t=c[17748]|0;u=ov(c[(Yu()|0)>>2]|0)|0;c[h>>2]=t;c[h+4>>2]=u;yf(s,h);c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}h=(Zs(c[k>>2]|0,c[17748]|0,0)|0)!=0;s=c[k>>2]|0;if(h){lw(s)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if(Iw(s,l)|0){s=pf(50925)|0;h=c[17748]|0;u=ov(c[(Yu()|0)>>2]|0)|0;c[g>>2]=h;c[g+4>>2]=u;yf(s,g);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[l+12>>2]&61440|0)!=32768){g=pf(50946)|0;c[f>>2]=c[17748];yf(g,f);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if(!(c[l+36>>2]|0)){yf(pf(50984)|0,e);lw(c[k>>2]|0)|0;c[17749]=1;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}if((c[l+36>>2]|0)!=600){yf(pf(51017)|0,d);lw(c[k>>2]|0)|0;c[j>>2]=0;r=c[j>>2]|0;i=a;return r|0}do{c[n>>2]=Lw(c[k>>2]|0,m,600)|0;if((c[n>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[n>>2]|0)!=600){n=pf(51071)|0;d=c[17748]|0;l=ov(c[(Yu()|0)>>2]|0)|0;c[b>>2]=d;c[b+4>>2]=l;Bf(n,b)}lw(c[k>>2]|0)|0;Ls(m,600,0);c[o>>2]=Dw()|0;Ls(o,4,0);c[p>>2]=jb(0)|0;Ls(p,4,0);c[q>>2]=Na()|0;Ls(q,4,0);_s(0,16,0);c[17749]=1;c[j>>2]=1;r=c[j>>2]|0;i=a;return r|0}function Zs(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+64|0;g=f+16|0;h=f+8|0;j=f;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+32|0;p=f+24|0;q=f+20|0;c[l>>2]=a;c[m>>2]=d;c[n>>2]=e;c[q>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;b[o>>1]=c[n>>2]|0?1:0;b[o+2>>1]=0;while(1){n=c[l>>2]|0;c[j>>2]=o;if((kw(n,13,j)|0)!=-1){r=10;break}if((c[(Yu()|0)>>2]|0)!=11?(c[(Yu()|0)>>2]|0)!=13:0){r=5;break}if((c[q>>2]|0)>2){n=pf(50896)|0;c[g>>2]=c[m>>2];yf(n,g)}c[p>>2]=c[q>>2];c[p+4>>2]=25e4;Jw(0,0,0,0,p)|0;if((c[q>>2]|0)>=10)continue;c[q>>2]=(c[q>>2]|0)+1}if((r|0)==5){q=pf(50875)|0;p=c[m>>2]|0;m=ov(c[(Yu()|0)>>2]|0)|0;c[h>>2]=p;c[h+4>>2]=m;yf(q,h);c[k>>2]=-1;s=c[k>>2]|0;i=f;return s|0}else if((r|0)==10){c[k>>2]=0;s=c[k>>2]|0;i=f;return s|0}return 0}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[17728]|0))Bf(51092,e);if((Cb[c[17728]&7](3,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)<0)Bf(51143,e+8|0);else{i=e;return}}function $s(){c[17733]=(c[17733]|0)+1;_s(3,120,1);return}function at(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+160|0;b=a+144|0;d=a+8|0;e=a+4|0;f=a;if(!(c[17724]|0))xf(50565,50580,1180,51181);c[17734]=(c[17734]|0)+1;if(c[17746]|0)yb[c[17746]&7](3,2);if(lb(b|0,0)|0)wf(50580,1198,51181);else{Ls(b,4,2);Ls(b+4|0,4,2);hx(0,d)|0;Ls(d,136,2);Fx(d|0,0,136)|0;c[e>>2]=jb(0)|0;Ls(e,4,2);c[f>>2]=Na()|0;Ls(f,4,2);Rt(3,2);i=a;return}}function bt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[17748]|0)wf(50580,673,51201);else{c[17748]=ig(c[d>>2]|0)|0;i=b;return}}function ct(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;i=i+64|0;b=a+40|0;d=a+32|0;e=a+24|0;f=a+16|0;g=a+8|0;h=a+60|0;j=a+56|0;k=a+52|0;l=a+48|0;Gs();Is();if(!((c[17748]|0)!=0&(c[17725]|0)!=0&(c[17742]|0)!=0)){Os();i=a;return}if(!(c[17749]|0)){Os();yf(pf(51231)|0,a);i=a;return}c[l>>2]=0;c[j>>2]=c[17727];c[h>>2]=c[17725];while(1){if((c[l>>2]|0)>=150)break;c[c[j>>2]>>2]=(c[c[h>>2]>>2]|0)+-1515870811;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+4}Ms(c[17725]|0);c[17731]=(c[17731]|0)+1;Ms(c[17727]|0);c[17732]=(c[17732]|0)+1;h=c[17748]|0;c[g>>2]=384;c[k>>2]=Mw(h,65,g)|0;do if((c[k>>2]|0)!=-1){g=(Zs(c[k>>2]|0,c[17748]|0,1)|0)!=0;h=c[k>>2]|0;if(g){lw(h)|0;break}if(Ww(h,0)|0){h=pf(51290)|0;g=c[17748]|0;j=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=g;c[e+4>>2]=j;yf(h,e);lw(c[k>>2]|0)|0;break}do{c[l>>2]=Kw(c[k>>2]|0,c[17727]|0,600)|0;if((c[l>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[l>>2]|0)!=600){h=pf(51290)|0;j=c[17748]|0;g=ov(c[(Yu()|0)>>2]|0)|0;c[d>>2]=j;c[d+4>>2]=g;yf(h,d)}if(lw(c[k>>2]|0)|0){h=pf(51312)|0;g=c[17748]|0;j=ov(c[(Yu()|0)>>2]|0)|0;c[b>>2]=g;c[b+4>>2]=j;yf(h,b)}}else{h=pf(51267)|0;j=c[17748]|0;g=ov(c[(Yu()|0)>>2]|0)|0;c[f>>2]=j;c[f+4>>2]=g;yf(h,f)}while(0);Os();i=a;return}function dt(){Gs();Is();if(!(c[17725]|0)){Os();return}at();Os();return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ft();if(!(c[d>>2]|0)){i=b;return}gt();do if(c[17755]|0){if(c[(c[17756]|0)+52>>2]|0)xf(51370,51398,767,51412);if(c[(c[17757]|0)+52>>2]|0)xf(51437,51398,768,51412);if(c[(c[17758]|0)+52>>2]|0)xf(51467,51398,769,51412);else{it(c[17756]|0);it(c[17757]|0);it(c[17758]|0);break}}else{c[17755]=fg(48)|0;c[17756]=gg(1,68)|0;ht(c[17756]|0);c[17757]=hg(1,68)|0;ht(c[17757]|0);c[17758]=hg(1,68)|0;ht(c[17758]|0)}while(0);jt();i=b;return}function ft(){if(c[17753]|0)return;c[17753]=1;c[17754]=0;return}function gt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(13004)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(51334,b)}else{c[17754]=1;i=a;return}}function ht(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[c[e>>2]>>0]=17;a[(c[e>>2]|0)+16>>0]=42;a[(c[e>>2]|0)+33>>0]=-119;a[(c[e>>2]|0)+50>>0]=-4;i=d;return}function it(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;f=b+4|0;c[f>>2]=a;if((((d[c[f>>2]>>0]|0|0)==17?(d[(c[f>>2]|0)+16>>0]|0|0)==42:0)?(d[(c[f>>2]|0)+33>>0]|0|0)==137:0)?(d[(c[f>>2]|0)+50>>0]|0|0)==252:0){i=b;return}c[e>>2]=c[f>>2];Bf(51500,e)}function jt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17754]=0;c[d>>2]=mu(13004)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(51546,b)}else{i=a;return}}function kt(){gt();Tt(0,0,0,0)|0;jt();return}function lt(){return}function mt(){return 0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;et(1);gt();d=c[f>>2]|0;f=c[g>>2]|0;if((c[h>>2]|0)==2){ot(d,f,c[17758]|0);jt();i=e;return}else{ot(d,f,c[17757]|0);jt();i=e;return}}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;h=f+12|0;j=f+8|0;k=f+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[h>>2]|0))xf(52697,51398,685,52720);if(!(c[k>>2]|0))xf(51582,51398,686,52720);it(c[k>>2]|0);do if(!(c[(c[k>>2]|0)+4>>2]|0)){if((c[k>>2]|0)==(c[17756]|0)){e=pt(1)|0;c[(c[k>>2]|0)+4>>2]=e}else{e=pt(0)|0;c[(c[k>>2]|0)+4>>2]=e}if(c[(c[k>>2]|0)+4>>2]|0){e=Dw()|0;c[(c[k>>2]|0)+60>>2]=e;break}else Bf(52115,g)}while(0);if(!((a[(c[k>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))tt(c[k>>2]|0);e=c[(c[k>>2]|0)+60>>2]|0;if((e|0)==(Dw()|0)?(e=c[(c[k>>2]|0)+64>>2]|0,(e|0)==(Dw()|0)):0)if(vt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)Bf(52115,g);else{it(c[k>>2]|0);i=f;return}Jh(51398,714,52720,0,51852);Bf(52115,g)}function pt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+64|0;f=e+16|0;g=e+8|0;h=e+48|0;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+52|0;q=e;r=e+20|0;c[j>>2]=b;if(!(c[17754]|0))xf(51590,51398,596,51609);c[l>>2]=ai(k,7,1,1)|0;if(c[l>>2]|0){c[g>>2]=qt(c[l>>2]|0)|0;Af(51627,g);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}if(c[j>>2]|0){c[m>>2]=dg(16)|0;ot(c[m>>2]|0,16,c[17757]|0)}else c[m>>2]=rt(16)|0;c[l>>2]=ni(c[k>>2]|0,c[m>>2]|0,16)|0;c[n>>2]=c[m>>2];c[o>>2]=16;a[p>>0]=0;j=q;c[j>>2]=d[p>>0];c[j+4>>2]=0;while(1){if(!(c[n>>2]&7|0?(c[o>>2]|0)!=0:0))break;a[c[n>>2]>>0]=a[p>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}if((c[o>>2]|0)>>>0>=8){j=q;g=Mx(c[j>>2]|0,c[j+4>>2]|0,16843009,16843009)|0;j=q;c[j>>2]=g;c[j+4>>2]=C;do{c[r>>2]=c[n>>2];j=q;g=c[j+4>>2]|0;b=c[r>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=g;c[o>>2]=(c[o>>2]|0)-8;c[n>>2]=(c[n>>2]|0)+8}while((c[o>>2]|0)>>>0>=8)}while(1){if(!(c[o>>2]|0))break;a[c[n>>2]>>0]=a[p>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+-1}$f(c[m>>2]|0);if(c[l>>2]|0){c[f>>2]=qt(c[l>>2]|0)|0;Af(51776,f);fi(c[k>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=e;return s|0}else{c[h>>2]=c[k>>2];s=c[h>>2]|0;i=e;return s|0}return 0}function qt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;e=b+12|0;f=b+8|0;g=b+4|0;c[e>>2]=a;if(c[17759]|0)xf(51670,51398,552,51694);c[17759]=fg(c[e>>2]|0)|0;c[17760]=c[e>>2];c[17761]=0;c[g>>2]=Tt(4,0,16,2)|0;if((c[g>>2]|0)<0){h=c[17759]|0;$f(h);c[17759]=0;Bf(51748,d)}if((c[17761]|0)!=(c[17760]|0)){h=c[17759]|0;$f(h);c[17759]=0;Bf(51748,d)}else{c[f>>2]=c[17759];c[17759]=0;i=b;return c[f>>2]|0}return 0}function st(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g+12|0;j=g+8|0;k=g;c[h>>2]=b;c[j>>2]=e;c[g+4>>2]=f;c[k>>2]=c[h>>2];if(!(c[17754]|0))xf(51590,51398,531,51706);if(!(c[17759]|0))xf(51725,51398,532,51706);while(1){h=c[j>>2]|0;c[j>>2]=h+-1;if(!h){l=8;break}if((c[17761]|0)>>>0>=(c[17760]|0)>>>0){l=8;break}h=c[k>>2]|0;c[k>>2]=h+1;f=d[h>>0]|0;h=c[17761]|0;c[17761]=h+1;e=(c[17759]|0)+h|0;a[e>>0]=(d[e>>0]|0)^f}if((l|0)==8){i=g;return}}function tt(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(!(c[17754]|0))xf(51590,51398,658,51808);b=(c[e>>2]|0)+17|0;if((c[e>>2]|0)==(c[17756]|0)){ot(b,16,c[17757]|0);f=(c[e>>2]|0)+8|0;a[f>>0]=a[f>>0]&-2|1;f=Dw()|0;c[(c[e>>2]|0)+64>>2]=f;i=d;return}else{ut(b,16);b=(c[e>>2]|0)+8|0;a[b>>0]=a[b>>0]&-2|1;b=Dw()|0;c[(c[e>>2]|0)+64>>2]=b;i=d;return}}function ut(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+48|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+32|0;n=f;o=f+8|0;c[g>>2]=b;c[h>>2]=e;if(!(c[17754]|0))xf(51590,51398,642,51820);if((c[h>>2]|0)!=16)xf(51839,51398,643,51820);c[j>>2]=rt(16)|0;h=c[g>>2]|0;g=c[j>>2]|0;e=h+16|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(e|0));c[k>>2]=c[j>>2];c[l>>2]=16;a[m>>0]=0;g=n;c[g>>2]=d[m>>0];c[g+4>>2]=0;while(1){if(!(c[k>>2]&7|0?(c[l>>2]|0)!=0:0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)>>>0>=8){g=n;h=Mx(c[g>>2]|0,c[g+4>>2]|0,16843009,16843009)|0;g=n;c[g>>2]=h;c[g+4>>2]=C;do{c[o>>2]=c[k>>2];g=n;h=c[g+4>>2]|0;e=c[o>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[l>>2]=(c[l>>2]|0)-8;c[k>>2]=(c[k>>2]|0)+8}while((c[l>>2]|0)>>>0>=8)}while(1){if(!(c[l>>2]|0))break;a[c[k>>2]>>0]=a[m>>0]|0;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+-1}$f(c[j>>2]|0);i=f;return}function vt(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=i;i=i+80|0;h=g+48|0;j=g+44|0;k=g+40|0;l=g+36|0;m=g+56|0;n=g+32|0;o=g+28|0;p=g+24|0;q=g+20|0;r=g+16|0;s=g+12|0;t=g+52|0;u=g;v=g+8|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(c[17754]|0))xf(51590,51398,444,51906);if(!(c[(c[l>>2]|0)+4>>2]|0))xf(51922,51398,445,51906);if(!((a[(c[l>>2]|0)+8>>0]<<7&255)<<24>>24>>7<<24>>24))xf(51941,51398,446,51906);if(!(c[17755]|0))xf(51960,51398,448,51906);c[n>>2]=c[17755];c[o>>2]=(c[17755]|0)+16;c[p>>2]=(c[17755]|0)+32;while(1){if(!(c[k>>2]|0)){w=33;break}if((c[(c[l>>2]|0)+52>>2]|0)==0?(c[(c[l>>2]|0)+12>>2]|0)>>>0>1e3:0){tt(c[l>>2]|0);c[(c[l>>2]|0)+12>>2]=0}c[q>>2]=(c[k>>2]|0)>>>0<16?c[k>>2]|0:16;wt(m,16,c[l>>2]|0);xt(c[p>>2]|0,m,(c[l>>2]|0)+17|0,c[(c[l>>2]|0)+4>>2]|0,c[n>>2]|0,c[o>>2]|0);f=(c[l>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;if(!((((d[(c[l>>2]|0)+51>>0]|0|0?c[(c[l>>2]|0)+52>>2]|0:0)?(c[l>>2]|0)!=(c[17756]|0):0)?(c[l>>2]|0)!=(c[17757]|0):0)?(c[l>>2]|0)!=(c[17758]|0):0)){f=(c[l>>2]|0)+34|0;e=c[p>>2]|0;if(!((a[(c[l>>2]|0)+8>>0]<<6&255)<<24>>24>>7<<24>>24)){x=f;y=e;z=x+16|0;do{a[x>>0]=a[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0));b=(c[l>>2]|0)+8|0;a[b>>0]=a[b>>0]&-3|2;continue}if(!(mw(f,e,16)|0)){w=22;break}x=(c[l>>2]|0)+34|0;y=c[p>>2]|0;z=x+16|0;do{a[x>>0]=a[y>>0]|0;x=x+1|0;y=y+1|0}while((x|0)<(z|0))}Dx(c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[p>>2];c[s>>2]=16;a[t>>0]=0;e=u;c[e>>2]=d[t>>0];c[e+4>>2]=0;while(1){if(!(c[r>>2]&7|0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){e=u;f=Mx(c[e>>2]|0,c[e+4>>2]|0,16843009,16843009)|0;e=u;c[e>>2]=f;c[e+4>>2]=C;do{c[v>>2]=c[r>>2];e=u;f=c[e+4>>2]|0;b=c[v>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[q>>2]|0)}if((w|0)==22){Jh(51398,502,51906,0,52075);c[h>>2]=-1;A=c[h>>2]|0;i=g;return A|0}else if((w|0)==33){c[h>>2]=0;A=c[h>>2]|0;i=g;return A|0}return 0}function wt(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h;k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+8|0;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;if((c[l>>2]|0)!=16)xf(51839,51398,273,51990);if(!(c[17754]|0))xf(51590,51398,274,51990);if(((c[(c[m>>2]|0)+52>>2]|0?(c[m>>2]|0)!=(c[17756]|0):0)?(c[m>>2]|0)!=(c[17757]|0):0)?(c[m>>2]|0)!=(c[17758]|0):0){l=c[k>>2]|0;g=c[(c[m>>2]|0)+52>>2]|0;f=l+16|0;do{a[l>>0]=a[g>>0]|0;l=l+1|0;g=g+1|0}while((l|0)<(f|0));a[(c[k>>2]|0)+12>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>24;a[(c[k>>2]|0)+13>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>16;a[(c[k>>2]|0)+14>>0]=(c[(c[m>>2]|0)+56>>2]|0)>>>8;a[(c[k>>2]|0)+15>>0]=c[(c[m>>2]|0)+56>>2];g=(c[m>>2]|0)+56|0;c[g>>2]=(c[g>>2]|0)+1;i=h;return}if(!(c[17762]|0)){c[17763]=Dw()|0;c[17764]=Xw()|0}if(lb(o|0,0)|0){c[j>>2]=ov(c[(Yu()|0)>>2]|0)|0;Bf(52002,j)}c[n>>2]=c[o+4>>2];c[n>>2]=c[n>>2]<<4;if((c[o>>2]|0)==(c[17762]|0)?(c[n>>2]|0)==(c[17765]|0):0){b[35830]=(b[35830]|0)+1<<16>>16;b[35830]=(e[35830]|0)&4095}else{b[35830]=0;c[17762]=c[o>>2];c[17765]=c[n>>2]}a[c[k>>2]>>0]=c[o>>2]>>24;a[(c[k>>2]|0)+1>>0]=c[o>>2]>>16;a[(c[k>>2]|0)+2>>0]=c[o>>2]>>8;a[(c[k>>2]|0)+3>>0]=c[o>>2];a[(c[k>>2]|0)+4>>0]=(c[n>>2]|0)>>>16;a[(c[k>>2]|0)+5>>0]=(c[n>>2]|0)>>>8;a[(c[k>>2]|0)+6>>0]=c[n>>2]&240|(e[35830]|0)>>8&15;a[(c[k>>2]|0)+7>>0]=e[35830]|0;a[(c[k>>2]|0)+8>>0]=(c[17763]|0)>>>24;a[(c[k>>2]|0)+9>>0]=(c[17763]|0)>>>16;a[(c[k>>2]|0)+10>>0]=(c[17763]|0)>>>8;a[(c[k>>2]|0)+11>>0]=c[17763];a[(c[k>>2]|0)+12>>0]=(c[17764]|0)>>>24;a[(c[k>>2]|0)+13>>0]=(c[17764]|0)>>>16;a[(c[k>>2]|0)+14>>0]=(c[17764]|0)>>>8;a[(c[k>>2]|0)+15>>0]=c[17764];k=(c[17764]|0)+1|0;c[17764]=k;if(k|0){i=h;return}c[17763]=(c[17763]|0)+1;i=h;return}function xt(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=i;i=i+80|0;l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+65|0;u=k+8|0;v=k+28|0;w=k+24|0;x=k+20|0;y=k+64|0;z=k;A=k+16|0;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;yt(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,16);zt(c[q>>2]|0,c[p>>2]|0,c[n>>2]|0,16);yt(c[o>>2]|0,c[l>>2]|0,c[q>>2]|0,16);zt(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0,16);yt(c[o>>2]|0,c[n>>2]|0,c[q>>2]|0,16);c[r>>2]=c[p>>2];c[s>>2]=16;a[t>>0]=0;p=u;c[p>>2]=d[t>>0];c[p+4>>2]=0;while(1){if(!(c[r>>2]&7|0?(c[s>>2]|0)!=0:0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}if((c[s>>2]|0)>>>0>=8){p=u;n=Mx(c[p>>2]|0,c[p+4>>2]|0,16843009,16843009)|0;p=u;c[p>>2]=n;c[p+4>>2]=C;do{c[v>>2]=c[r>>2];p=u;n=c[p+4>>2]|0;o=c[v>>2]|0;c[o>>2]=c[p>>2];c[o+4>>2]=n;c[s>>2]=(c[s>>2]|0)-8;c[r>>2]=(c[r>>2]|0)+8}while((c[s>>2]|0)>>>0>=8)}while(1){if(!(c[s>>2]|0))break;a[c[r>>2]>>0]=a[t>>0]|0;c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+-1}c[w>>2]=c[q>>2];c[x>>2]=16;a[y>>0]=0;q=z;c[q>>2]=d[y>>0];c[q+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){q=z;s=Mx(c[q>>2]|0,c[q+4>>2]|0,16843009,16843009)|0;q=z;c[q>>2]=s;c[q+4>>2]=C;do{c[A>>2]=c[w>>2];q=z;s=c[q+4>>2]|0;r=c[A>>2]|0;c[r>>2]=c[q>>2];c[r+4>>2]=s;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}i=k;return}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((c[l>>2]|0)!=16)xf(51839,51398,386,52029);c[m>>2]=gi(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(c[m>>2]|0){c[g>>2]=qt(c[m>>2]|0)|0;Bf(52041,g)}else{i=f;return}}function zt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;j=h+12|0;k=h+8|0;l=h+4|0;m=h;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;while(1){if(!(c[m>>2]|0))break;a[c[j>>2]>>0]=(d[c[k>>2]>>0]|0)^(d[c[l>>2]>>0]|0);c[m>>2]=(c[m>>2]|0)+-1;c[k>>2]=(c[k>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}i=h;return}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;et(1);gt();ot(c[e>>2]|0,c[f>>2]|0,c[17756]|0);jt();i=d;return}function Bt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;Pn(b+8|0,8,1);c[e>>2]=Ct(c[d>>2]|0)|0;d=Dt(c[e>>2]|0)|0;i=b;return d|0}function Ct(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+48|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;m=e+24|0;c[f>>2]=b;c[l>>2]=0;if(!(c[17755]|0))xf(51960,51398,912,52144);c[j>>2]=gg(1,68)|0;ht(c[j>>2]|0);gt();c[g>>2]=0;a:while(1){if((c[g>>2]|0)>>>0>=3)break;c[k>>2]=ai((c[j>>2]|0)+4|0,7,1,1)|0;if(c[k>>2]|0){n=6;break}c[k>>2]=ni(c[(c[j>>2]|0)+4>>2]|0,52195+((c[g>>2]|0)*96|0)|0,16)|0;if(c[k>>2]|0){n=8;break}b=Dw()|0;c[(c[j>>2]|0)+60>>2]=b;b=(c[j>>2]|0)+17|0;o=52195+((c[g>>2]|0)*96|0)+32|0;p=b+16|0;do{a[b>>0]=a[o>>0]|0;b=b+1|0;o=o+1|0}while((b|0)<(p|0));o=(c[j>>2]|0)+8|0;a[o>>0]=a[o>>0]&-2|1;o=Dw()|0;c[(c[j>>2]|0)+64>>2]=o;c[(c[j>>2]|0)+52>>2]=52195+((c[g>>2]|0)*96|0)+16;c[(c[j>>2]|0)+56>>2]=(d[52195+((c[g>>2]|0)*96|0)+16+12>>0]|0)<<24|(d[52195+((c[g>>2]|0)*96|0)+16+13>>0]|0)<<16|(d[52195+((c[g>>2]|0)*96|0)+16+14>>0]|0)<<8|(d[52195+((c[g>>2]|0)*96|0)+16+15>>0]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(vt(m,16,c[j>>2]|0)|0){n=12;break a}if(mw(m,52195+((c[g>>2]|0)*96|0)+48+(c[h>>2]<<4)|0,16)|0){n=14;break a}c[h>>2]=(c[h>>2]|0)+1}o=c[(c[j>>2]|0)+60>>2]|0;if((o|0)!=(Dw()|0)){n=18;break}o=c[(c[j>>2]|0)+64>>2]|0;if((o|0)!=(Dw()|0)){n=18;break}fi(c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;o=(c[j>>2]|0)+8|0;a[o>>0]=a[o>>0]&-2;it(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if((n|0)==6)c[l>>2]=52157;else if((n|0)==8)c[l>>2]=52483;else if((n|0)==12)c[l>>2]=52509;else if((n|0)==14)c[l>>2]=52540;else if((n|0)==18)c[l>>2]=52578;jt();fi(c[(c[j>>2]|0)+4>>2]|0);it(c[j>>2]|0);$f(c[j>>2]|0);if(!((c[f>>2]|0)!=0&(c[l>>2]|0)!=0)){q=c[l>>2]|0;r=(q|0)!=0;s=r?50:0;i=e;return s|0}Fb[c[f>>2]&1](52600,0,52607,c[l>>2]|0);q=c[l>>2]|0;r=(q|0)!=0;s=r?50:0;i=e;return s|0}function Dt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Et(1,c[d>>2]|0)|0;i=b;return a|0}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ft(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=i;i=i+48|0;n=m+40|0;o=m+36|0;p=m+32|0;q=m+28|0;r=m+24|0;s=m+20|0;t=m+16|0;u=m+12|0;v=m+8|0;w=m+4|0;x=m;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;et(1);if((((((c[o>>2]|0)!=0&(c[q>>2]|0)!=0^1|(c[r>>2]|0)!=16)^1)&(c[s>>2]|0)!=0^1|(c[t>>2]|0)!=16)^1)&(c[u>>2]|0)!=0^1|(c[v>>2]|0)!=16){c[n>>2]=45;y=c[n>>2]|0;i=m;return y|0}c[x>>2]=ag(1,68+(c[v>>2]|0)|0)|0;if(!(c[x>>2]|0)){c[n>>2]=iu()|0;y=c[n>>2]|0;i=m;return y|0}ht(c[x>>2]|0);c[w>>2]=ai((c[x>>2]|0)+4|0,7,1,1)|0;if((c[w>>2]|0)==0?(c[w>>2]=ni(c[(c[x>>2]|0)+4>>2]|0,c[q>>2]|0,c[r>>2]|0)|0,(c[w>>2]|0)==0):0){r=Dw()|0;c[(c[x>>2]|0)+60>>2]=r;Dx((c[x>>2]|0)+17|0,c[s>>2]|0,c[t>>2]|0)|0;t=(c[x>>2]|0)+8|0;a[t>>0]=a[t>>0]&-2|1;t=Dw()|0;c[(c[x>>2]|0)+64>>2]=t;Dx((c[x>>2]|0)+68|0,c[u>>2]|0,c[v>>2]|0)|0;c[(c[x>>2]|0)+52>>2]=(c[x>>2]|0)+68;c[(c[x>>2]|0)+56>>2]=(d[(c[(c[x>>2]|0)+52>>2]|0)+12>>0]|0)<<24|(d[(c[(c[x>>2]|0)+52>>2]|0)+13>>0]|0)<<16|(d[(c[(c[x>>2]|0)+52>>2]|0)+14>>0]|0)<<8|(d[(c[(c[x>>2]|0)+52>>2]|0)+15>>0]|0);if(c[p>>2]&1|0)a[(c[x>>2]|0)+51>>0]=1;it(c[x>>2]|0);c[w>>2]=0}p=c[x>>2]|0;if(c[w>>2]|0){fi(c[p+4>>2]|0);$f(c[x>>2]|0);c[c[o>>2]>>2]=0}else c[c[o>>2]>>2]=p;c[n>>2]=c[w>>2];y=c[n>>2]|0;i=m;return y|0}function Gt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=c[g>>2];if((c[k>>2]|0)!=0&(c[h>>2]|0)!=0^1|(c[j>>2]|0)!=16){c[f>>2]=45;l=c[f>>2]|0;i=e;return l|0}else{gt();ot(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);jt();c[f>>2]=0;l=c[f>>2]|0;i=e;return l|0}return 0}function Ht(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(!(c[e>>2]|0)){i=b;return}fi(c[(c[e>>2]|0)+4>>2]|0);$f(c[e>>2]|0);i=b;return}function It(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;Jt();i=b;return}function Jt(){if(c[17766]|0)return;c[17766]=1;c[17767]=0;return}function Kt(){Lt();Tt(0,0,0,0)|0;Mt();return}function Lt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[d>>2]=lu(13048)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(52611,b)}else{c[17767]=1;i=a;return}}function Mt(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;d=a+4|0;c[17767]=0;c[d>>2]=mu(13048)|0;if(c[d>>2]|0){c[b>>2]=fu(c[d>>2]|0)|0;Bf(52654,b)}else{i=a;return}}function Nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;It(1);if((c[h>>2]|0)!=2)c[h>>2]=1;Lt();Ot(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);Mt();i=e;return}function Ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(!(c[g>>2]|0))xf(52697,52704,144,52720);c[17768]=c[g>>2];c[17769]=c[h>>2];c[17770]=0;c[k>>2]=Tt(5,0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)<0){l=c[k>>2]|0;c[f>>2]=l;Bf(52775,f)}if((c[17770]|0)!=(c[17769]|0)){l=c[k>>2]|0;c[f>>2]=l;Bf(52775,f)}else{i=e;return}}function Pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=b;c[h>>2]=d;c[f+4>>2]=e;c[j>>2]=c[g>>2];if(!(c[17767]|0))xf(52731,52704,124,52752);if(!(c[17768]|0))xf(52760,52704,125,52752);while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if(!g){k=8;break}if((c[17770]|0)>>>0>=(c[17769]|0)>>>0){k=8;break}g=c[j>>2]|0;c[j>>2]=g+1;e=a[g>>0]|0;g=c[17770]|0;c[17770]=g+1;a[(c[17768]|0)+g>>0]=e}if((k|0)==8){i=f;return}}function Qt(){return c[17771]|0}function Rt(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function St(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+8>>2]=a;c[d+4>>2]=b;c[e>>2]=0;i=d;return c[e>>2]|0}function Tt(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;h=i;i=i+1024|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h+236|0;n=h+232|0;o=h+228|0;p=h+224|0;q=h+220|0;r=h+216|0;s=h+212|0;t=h+248|0;u=h+208|0;v=h+204|0;w=h+200|0;x=h+196|0;y=h+192|0;z=h+64|0;A=h+56|0;B=h+52|0;D=h+48|0;E=h+44|0;F=h+40|0;G=h+36|0;H=h+32|0;I=h+240|0;J=h;K=h+28|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[v>>2]=c[p>>2];c[w>>2]=0;c[x>>2]=0;if(!(c[n>>2]|0)){if((c[3273]|0)!=-1){lw(c[3273]|0)|0;c[3273]=-1}if((c[3274]|0)!=-1){lw(c[3274]|0)|0;c[3274]=-1}c[m>>2]=0;L=c[m>>2]|0;i=h;return L|0}c[u>>2]=St(c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>>>0>(((c[p>>2]|0)>>>0)/2|0)>>>0)c[u>>2]=((c[p>>2]|0)>>>0)/2|0;if((c[p>>2]|0)>>>0>1)c[p>>2]=(c[p>>2]|0)-(c[u>>2]|0);if((c[q>>2]|0)>=2){if((c[3273]|0)==-1){c[3273]=Ut(52821,(d[76526]|0)&1)|0;a[76526]=d[76526]|0|1}c[r>>2]=c[3273]}else{if((c[3274]|0)==-1){c[3274]=Ut(52923,(d[76526]|0)&2)|0;a[76526]=d[76526]|0|2}c[r>>2]=c[3274]}c[y>>2]=0;while(1){if(!(c[p>>2]|0))break;if(!(!(c[x>>2]|0)?(c[w>>2]|0)==((c[v>>2]|0)-(c[p>>2]|0)|0):0)){c[w>>2]=(c[v>>2]|0)-(c[p>>2]|0);Bn(52936,88,c[w>>2]|0,c[v>>2]|0);c[x>>2]=1}if((c[r>>2]|0)<1024){c[E>>2]=z;c[D>>2]=32;while(1){if(!(c[D>>2]|0))break;q=c[E>>2]|0;c[E>>2]=q+4;c[q>>2]=0;c[D>>2]=(c[D>>2]|0)+-1}q=z+((((c[r>>2]|0)>>>0)/32|0)<<2)|0;c[q>>2]=c[q>>2]|1<<(((c[r>>2]|0)>>>0)%32|0);c[A>>2]=c[y>>2];c[A+4>>2]=c[y>>2]|0?0:1e5;q=Jw((c[r>>2]|0)+1|0,z,0,0,A)|0;c[B>>2]=q;if(!q){c[x>>2]=1;c[y>>2]=3;continue}if((c[B>>2]|0)==-1){c[l>>2]=ov(c[(Yu()|0)>>2]|0)|0;Af(52949,l);if(c[y>>2]|0)continue;c[y>>2]=1;continue}}do{c[F>>2]=(c[p>>2]|0)>>>0<768?c[p>>2]|0:768;c[s>>2]=Lw(c[r>>2]|0,t,c[F>>2]|0)|0;if((c[s>>2]|0)>=0?(c[s>>2]|0)>>>0>(c[F>>2]|0)>>>0:0){c[k>>2]=c[s>>2];Af(52969,k);c[s>>2]=c[F>>2]}if((c[s>>2]|0)!=-1)break}while((c[(Yu()|0)>>2]|0)==4);if((c[s>>2]|0)==-1){M=38;break}Ab[c[n>>2]&7](t,c[s>>2]|0,c[o>>2]|0);c[p>>2]=(c[p>>2]|0)-(c[s>>2]|0)}if((M|0)==38){c[j>>2]=ov(c[(Yu()|0)>>2]|0)|0;Bf(53007,j)}c[G>>2]=t;c[H>>2]=768;a[I>>0]=0;t=J;c[t>>2]=d[I>>0];c[t+4>>2]=0;while(1){if(!(c[G>>2]&7|0?(c[H>>2]|0)!=0:0))break;a[c[G>>2]>>0]=a[I>>0]|0;c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+-1}if((c[H>>2]|0)>>>0>=8){t=J;j=Mx(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=J;c[t>>2]=j;c[t+4>>2]=C;do{c[K>>2]=c[G>>2];t=J;j=c[t+4>>2]|0;M=c[K>>2]|0;c[M>>2]=c[t>>2];c[M+4>>2]=j;c[H>>2]=(c[H>>2]|0)-8;c[G>>2]=(c[G>>2]|0)+8}while((c[H>>2]|0)>>>0>=8)}while(1){if(!(c[H>>2]|0))break;a[c[G>>2]>>0]=a[I>>0]|0;c[G>>2]=(c[G>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+-1}if(c[x>>2]|0)Bn(52936,88,c[v>>2]|0,c[v>>2]|0);c[m>>2]=0;L=c[m>>2]|0;i=h;return L|0}function Ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+48|0;e=d+16|0;f=d+8|0;g=d;h=d+40|0;j=d+36|0;k=d+32|0;l=d+24|0;c[h>>2]=a;c[j>>2]=b;if(c[j>>2]|0)Bn(52833,88,1,0);while(1){c[k>>2]=Mw(c[h>>2]|0,0,g)|0;if(!((c[k>>2]|0)==-1&(c[j>>2]|0)!=0))break;c[l>>2]=5;c[l+4>>2]=0;Bn(52849,88,0,c[l>>2]|0);Jw(0,0,0,0,l)|0}if((c[k>>2]|0)==-1){l=c[h>>2]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[f>>2]=l;c[f+4>>2]=h;Bf(52865,f)}if(!(Vt(c[k>>2]|0)|0)){m=c[k>>2]|0;i=d;return m|0}f=c[k>>2]|0;h=ov(c[(Yu()|0)>>2]|0)|0;c[e>>2]=f;c[e+4>>2]=h;Af(52884,e);m=c[k>>2]|0;i=d;return m|0}function Vt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+32|0;d=b+8|0;e=b;f=b+20|0;g=b+16|0;h=b+12|0;c[g>>2]=a;a=c[g>>2]|0;c[e>>2]=0;c[h>>2]=kw(a,1,e)|0;e=c[h>>2]|0;if((c[h>>2]|0)<0){c[f>>2]=e;j=c[f>>2]|0;i=b;return j|0}else{c[h>>2]=e|1;e=c[g>>2]|0;c[d>>2]=c[h>>2];c[f>>2]=kw(e,2,d)|0;j=c[f>>2]|0;i=b;return j|0}return 0}function Wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+80|0;g=f+72|0;h=f+68|0;j=f+64|0;k=f+60|0;l=f+56|0;m=f+52|0;n=f+48|0;o=f+44|0;p=f+40|0;q=f+36|0;r=f+32|0;s=f+28|0;t=f+24|0;u=f+20|0;v=f+16|0;w=f+12|0;x=f+8|0;y=f+4|0;z=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=0-(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(0-(c[m>>2]|0)<<2);c[h>>2]=(c[h>>2]|0)+(0-(c[m>>2]|0)<<2);c[l>>2]=0;do{c[y>>2]=c[(c[h>>2]|0)+(c[m>>2]<<2)>>2];c[z>>2]=c[k>>2];c[u>>2]=c[y>>2]&65535;c[w>>2]=(c[y>>2]|0)>>>16;c[v>>2]=c[z>>2]&65535;c[x>>2]=(c[z>>2]|0)>>>16;c[q>>2]=_(c[u>>2]|0,c[v>>2]|0)|0;c[r>>2]=_(c[u>>2]|0,c[x>>2]|0)|0;c[s>>2]=_(c[w>>2]|0,c[v>>2]|0)|0;c[t>>2]=_(c[w>>2]|0,c[x>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+((c[q>>2]|0)>>>16);c[r>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)>>>0<(c[s>>2]|0)>>>0)c[t>>2]=(c[t>>2]|0)+65536;c[n>>2]=(c[t>>2]|0)+((c[r>>2]|0)>>>16);c[o>>2]=((c[r>>2]&65535)<<16)+(c[q>>2]&65535);c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[l>>2]=((c[o>>2]|0)>>>0<(c[l>>2]|0)>>>0?1:0)+(c[n>>2]|0);c[p>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[o>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[l>>2]=(c[l>>2]|0)+((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0?1:0);c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[o>>2];j=(c[m>>2]|0)+1|0;c[m>>2]=j}while((j|0)!=0);i=f;return c[l>>2]|0}function Xt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;f=e+16|0;g=e+8|0;h=e;j=e+44|0;k=e+40|0;l=e+36|0;m=e+32|0;n=e+28|0;o=e+24|0;p=e+20|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=bq(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=Ro(c[j>>2]|0)|0;c[n>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[o>>2]=0;if(jg(1)|0){d=c[k>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=d;Df(53040,h)}while(1){if((c[o>>2]|0)==0|(c[m>>2]|0)>>>0<32){$f(c[o>>2]|0);c[o>>2]=On(c[n>>2]|0,c[k>>2]|0)|0}else{c[p>>2]=On(4,c[k>>2]|0)|0;h=c[o>>2]|0;d=c[p>>2]|0;a[h>>0]=a[d>>0]|0;a[h+1>>0]=a[d+1>>0]|0;a[h+2>>0]=a[d+2>>0]|0;a[h+3>>0]=a[d+3>>0]|0;$f(c[p>>2]|0)}Cp(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,0);d=(So(c[l>>2]|0,(c[m>>2]|0)-1|0)|0)!=0;Uo(c[l>>2]|0,(c[m>>2]|0)-1|0);if(!d)Wo(c[l>>2]|0,(c[m>>2]|0)-1|0);if((ap(c[l>>2]|0,c[j>>2]|0)|0)>=0){if(!(jg(1)|0))continue;Df(53087,g);continue}if(($o(c[l>>2]|0,0)|0)>0)break;if(!(jg(1)|0))continue;Df(53109,f)}$f(c[o>>2]|0);i=e;return c[l>>2]|0}function Yt(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;k=i;i=i+80|0;l=k+72|0;m=k+68|0;n=k+64|0;o=k+60|0;p=k+56|0;q=k+52|0;r=k+48|0;s=k+44|0;t=k+40|0;u=k+36|0;v=k+32|0;w=k+28|0;x=k+24|0;y=k+20|0;z=k+16|0;A=k+12|0;B=k+8|0;C=k+4|0;D=k;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=0;c[C>>2]=Ro(c[n>>2]|0)|0;if(!((c[C>>2]|0)!=0&(c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[l>>2]=32816;E=c[l>>2]|0;i=k;return E|0}j=Uj(c[r>>2]|0)|0;if((j|0)!=(c[q>>2]|0)){c[l>>2]=5;E=c[l>>2]|0;i=k;return E|0}c[u>>2]=Vf(c[q>>2]|0)|0;a:do if(c[u>>2]|0){c[D>>2]=0;while(1){if((c[D>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;a[(c[u>>2]|0)+(c[D>>2]|0)>>0]=1;c[D>>2]=(c[D>>2]|0)+1}c[v>>2]=ag(1,c[q>>2]|0)|0;if(!(c[v>>2]|0)){c[t>>2]=iu()|0;break}c[t>>2]=Zt(w,c[o>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0)|0;if(((((((c[t>>2]|0)==0?(c[t>>2]=_t(x,c[p>>2]|0,c[q>>2]<<3,c[n>>2]|0,c[C>>2]|0)|0,(c[t>>2]|0)==0):0)?(c[t>>2]=wj(y,c[r>>2]|0,3)|0,(c[t>>2]|0)==0):0)?(c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),Fj(c[y>>2]|0,76527,1),Fj(c[y>>2]|0,c[w>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),Fj(c[y>>2]|0,c[x>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),j=c[v>>2]|0,h=Rj(c[y>>2]|0,0)|0,Dx(j|0,h|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),h=c[u>>2]|0,j=Rj(c[y>>2]|0,0)|0,Dx(h|0,j|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0)?(Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0),Fj(c[y>>2]|0,53129,1),Fj(c[y>>2]|0,c[w>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),Fj(c[y>>2]|0,c[x>>2]|0,(((c[C>>2]|0)+7|0)>>>0)/8|0),j=c[v>>2]|0,h=Rj(c[y>>2]|0,0)|0,Dx(j|0,h|0,c[q>>2]|0)|0,c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0,(c[t>>2]|0)==0):0){Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);h=c[u>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[z>>2]=Vf(((((c[C>>2]|0)+7|0)>>>0)/8|0)+(c[q>>2]|0)|0)|0;if(!(c[z>>2]|0)){c[t>>2]=iu()|0;break}while(1){c[B>>2]=0;while(1){if((c[B>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0;Dx((c[z>>2]|0)+((((c[B>>2]|0)+7|0)>>>0)/8|0)|0,c[u>>2]|0,c[q>>2]|0)|0;c[B>>2]=(c[B>>2]|0)+(c[q>>2]<<3)}hq(c[A>>2]|0);c[A>>2]=0;c[t>>2]=Dp(A,5,c[z>>2]|0,(((c[B>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[t>>2]|0)break a;if((c[B>>2]|0)>>>0>(c[C>>2]|0)>>>0)Yo(c[A>>2]|0,c[A>>2]|0,(c[B>>2]|0)-(c[C>>2]|0)|0);if((ap(c[A>>2]|0,c[n>>2]|0)|0)<0?($o(c[A>>2]|0,0)|0)>0:0){if(!(c[s>>2]|0))break a;c[s>>2]=(c[s>>2]|0)+-1;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);Fj(c[y>>2]|0,76527,1);h=c[v>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0;continue}c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);Fj(c[y>>2]|0,76527,1);h=c[v>>2]|0;j=Rj(c[y>>2]|0,0)|0;Dx(h|0,j|0,c[q>>2]|0)|0;c[t>>2]=Lj(c[y>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;if(c[t>>2]|0)break a;Fj(c[y>>2]|0,c[u>>2]|0,c[q>>2]|0);j=c[u>>2]|0;h=Rj(c[y>>2]|0,0)|0;Dx(j|0,h|0,c[q>>2]|0)|0}}}else c[t>>2]=iu()|0;while(0);$f(c[z>>2]|0);Ej(c[y>>2]|0);$f(c[x>>2]|0);$f(c[w>>2]|0);$f(c[v>>2]|0);$f(c[u>>2]|0);u=c[A>>2]|0;if(c[t>>2]|0)hq(u);else c[c[m>>2]>>2]=u;c[l>>2]=c[t>>2];E=c[l>>2]|0;i=k;return E|0}function Zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+48|0;f=e+32|0;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=Hp(5,0,0,l,c[h>>2]|0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];p=c[f>>2]|0;i=e;return p|0}if((c[l>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[f>>2]=67;p=c[f>>2]|0;i=e;return p|0}if((c[l>>2]|0)>>>0<(c[j>>2]|0)>>>0)q=(c[j>>2]|0)-(c[l>>2]|0)|0;else q=0;c[m>>2]=q;c[n>>2]=(c[l>>2]|0)+(c[m>>2]|0);if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&1|0:0)r=Yf(c[n>>2]|0)|0;else r=Vf(c[n>>2]|0)|0;c[o>>2]=r;if(!(c[o>>2]|0)){c[f>>2]=iu()|0;p=c[f>>2]|0;i=e;return p|0}if(c[m>>2]|0)Fx(c[o>>2]|0,0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=Hp(5,(c[o>>2]|0)+(c[m>>2]|0)|0,(c[l>>2]|0)-(c[m>>2]|0)|0,0,c[h>>2]|0)|0;h=c[o>>2]|0;if(c[k>>2]|0){$f(h);c[f>>2]=c[k>>2];p=c[f>>2]|0;i=e;return p|0}else{c[c[g>>2]>>2]=h;c[f>>2]=0;p=c[f>>2]|0;i=e;return p|0}return 0}function _t(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;p=g;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=Dp(p,5,c[k>>2]|0,(((c[l>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}if((c[l>>2]|0)>>>0>(c[n>>2]|0)>>>0)Yo(c[p>>2]|0,c[p>>2]|0,(c[l>>2]|0)-(c[n>>2]|0)|0);if((ap(c[p>>2]|0,c[m>>2]|0)|0)>=0)No(c[p>>2]|0,c[p>>2]|0,c[m>>2]|0);c[o>>2]=Zt(c[j>>2]|0,c[p>>2]|0,(((c[n>>2]|0)+7|0)>>>0)/8|0)|0;hq(c[p>>2]|0);c[h>>2]=c[o>>2];q=c[h>>2]|0;i=g;return q|0}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;f=e+28|0;g=e+24|0;h=e+20|0;j=e+16|0;k=e+12|0;l=e+8|0;m=e+4|0;n=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;do if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0){c[l>>2]=kq(c[g>>2]|0,m)|0;c[k>>2]=Dp(n,5,c[l>>2]|0,(((c[m>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}else{if((c[m>>2]|0)>>>0<=(c[j>>2]|0)>>>0)break;Yo(c[n>>2]|0,c[n>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0);break}}else p=7;while(0);if((p|0)==7)c[n>>2]=c[g>>2];c[c[h>>2]>>2]=c[n>>2];c[f>>2]=c[k>>2];o=c[f>>2]|0;i=e;return o|0}function au(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=i;i=i+96|0;j=h;k=h+88|0;l=h+84|0;m=h+80|0;n=h+76|0;o=h+72|0;p=h+68|0;q=h+64|0;r=h+60|0;s=h+56|0;t=h+52|0;u=h+48|0;v=h+44|0;w=h+40|0;x=h+36|0;y=h+24|0;z=h+20|0;A=h+16|0;B=h+12|0;C=h+8|0;D=h+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=0;c[s>>2]=0;if(jg(1)|0)Hf(53131,c[l>>2]|0);c[C>>2]=Ro(c[(c[m>>2]|0)+32>>2]|0)|0;c[r>>2]=$t(c[l>>2]|0,z,c[C>>2]|0)|0;if(c[r>>2]|0){c[k>>2]=c[r>>2];E=c[k>>2]|0;i=h;return E|0}c[t>>2]=0;c[u>>2]=$p(0)|0;c[v>>2]=$p(0)|0;c[w>>2]=$p(0)|0;c[x>>2]=$p(0)|0;co(y);c[D>>2]=jo(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,0,c[(c[m>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0)|0;while(1){hq(c[t>>2]|0);c[t>>2]=0;if((c[p>>2]&2|0)!=0&(c[q>>2]|0)!=0){if(!(c[l>>2]|0)){F=9;break}if(!(c[(c[l>>2]|0)+12>>2]&4)){F=9;break}c[A>>2]=kq(c[l>>2]|0,B)|0;c[r>>2]=Yt(t,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+56>>2]|0,c[A>>2]|0,(((c[B>>2]|0)+7|0)>>>0)/8|0,c[q>>2]|0,c[s>>2]|0)|0;if(c[r>>2]|0)break;c[s>>2]=(c[s>>2]|0)+1}else c[t>>2]=Xt(c[(c[m>>2]|0)+32>>2]|0,1)|0;Go(y,c[t>>2]|0,(c[m>>2]|0)+20|0,c[D>>2]|0);if(Zn(c[x>>2]|0,0,y,c[D>>2]|0)|0){F=14;break}qp(c[n>>2]|0,c[x>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(($o(c[n>>2]|0,0)|0)!=0^1)continue;vp(c[u>>2]|0,c[(c[m>>2]|0)+56>>2]|0,c[n>>2]|0,c[(c[m>>2]|0)+32>>2]|0);Oo(c[v>>2]|0,c[z>>2]|0,c[u>>2]|0,c[(c[m>>2]|0)+32>>2]|0);pp(c[w>>2]|0,c[t>>2]|0,c[(c[m>>2]|0)+32>>2]|0)|0;vp(c[o>>2]|0,c[w>>2]|0,c[v>>2]|0,c[(c[m>>2]|0)+32>>2]|0);if(!(($o(c[o>>2]|0,0)|0)!=0^1)){F=19;break}}if((F|0)==9)c[r>>2]=70;else if((F|0)==14){if(jg(1)|0)Df(53208,j);c[r>>2]=8}else if((F|0)==19?jg(1)|0:0){Hf(53149,c[n>>2]|0);Hf(53170,c[o>>2]|0)}no(c[D>>2]|0);fo(y);hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[v>>2]|0);hq(c[u>>2]|0);hq(c[t>>2]|0);if((c[z>>2]|0)!=(c[l>>2]|0))hq(c[z>>2]|0);c[k>>2]=c[r>>2];E=c[k>>2]|0;i=h;return E|0}function bu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+112|0;g=f+8|0;h=f;j=f+96|0;k=f+92|0;l=f+88|0;m=f+84|0;n=f+80|0;o=f+76|0;p=f+72|0;q=f+68|0;r=f+64|0;s=f+60|0;t=f+56|0;u=f+44|0;v=f+32|0;w=f+20|0;x=f+16|0;y=f+12|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=0;if(($o(c[m>>2]|0,0)|0)>0?(ap(c[m>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)<0:0){if(($o(c[n>>2]|0,0)|0)>0?(ap(c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0)<0:0){c[y>>2]=Ro(c[(c[l>>2]|0)+32>>2]|0)|0;c[o>>2]=$t(c[k>>2]|0,p,c[y>>2]|0)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];z=c[j>>2]|0;i=f;return z|0}c[q>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[s>>2]=$p(0)|0;c[t>>2]=$p(0)|0;co(u);co(v);co(w);c[x>>2]=jo(c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[(c[l>>2]|0)+16>>2]|0)|0;pp(c[q>>2]|0,c[n>>2]|0,c[(c[l>>2]|0)+32>>2]|0)|0;vp(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Go(v,c[r>>2]|0,(c[l>>2]|0)+20|0,c[x>>2]|0);vp(c[s>>2]|0,c[m>>2]|0,c[q>>2]|0,c[(c[l>>2]|0)+32>>2]|0);Go(w,c[s>>2]|0,(c[l>>2]|0)+44|0,c[x>>2]|0);Ao(u,v,w,c[x>>2]|0);do if($o(c[u+8>>2]|0,0)|0){if(Zn(c[t>>2]|0,0,u,c[x>>2]|0)|0){if(jg(1)|0)Df(53314,g);c[o>>2]=8;break}qp(c[t>>2]|0,c[t>>2]|0,c[(c[l>>2]|0)+32>>2]|0);if(ap(c[t>>2]|0,c[m>>2]|0)|0){if(jg(1)|0){Hf(53360,c[t>>2]|0);Hf(53367,c[m>>2]|0);Hf(53374,c[n>>2]|0)}c[o>>2]=8}}else{if(jg(1)|0)Df(53292,h);c[o>>2]=8}while(0);no(c[x>>2]|0);fo(w);fo(v);fo(u);hq(c[t>>2]|0);hq(c[s>>2]|0);hq(c[r>>2]|0);hq(c[q>>2]|0);if((c[p>>2]|0)!=(c[k>>2]|0))hq(c[p>>2]|0);c[j>>2]=c[o>>2];z=c[j>>2]|0;i=f;return z|0}c[j>>2]=8;z=c[j>>2]|0;i=f;return z|0}c[j>>2]=8;z=c[j>>2]|0;i=f;return z|0}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=i;i=i+96|0;g=f;h=f+80|0;j=f+76|0;k=f+72|0;l=f+68|0;m=f+64|0;n=f+60|0;o=f+56|0;p=f+52|0;q=f+48|0;r=f+44|0;s=f+40|0;t=f+36|0;u=f+24|0;v=f+20|0;w=f+16|0;x=f+12|0;y=f+8|0;z=f+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=0;if(jg(1)|0)Hf(53191,c[j>>2]|0);c[y>>2]=Ro(c[(c[k>>2]|0)+32>>2]|0)|0;do if(c[j>>2]|0?c[(c[j>>2]|0)+12>>2]&4|0:0){c[w>>2]=kq(c[j>>2]|0,x)|0;c[n>>2]=Dp(v,5,c[w>>2]|0,(((c[x>>2]|0)+7|0)>>>0)/8|0,0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];A=c[h>>2]|0;i=f;return A|0}else{if((c[x>>2]|0)>>>0<=(c[y>>2]|0)>>>0)break;Yo(c[v>>2]|0,c[v>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0);break}}else B=9;while(0);if((B|0)==9)c[v>>2]=c[j>>2];c[o>>2]=0;c[p>>2]=$p(0)|0;c[q>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[t>>2]=$p(0)|0;c[s>>2]=$p(0)|0;co(u);c[z>>2]=jo(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,0,c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;qp(c[t>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(!($o(c[t>>2]|0,0)|0))sq(c[t>>2]|0,1)|0;while(1){hq(c[o>>2]|0);c[o>>2]=Xt(c[(c[k>>2]|0)+32>>2]|0,1)|0;Go(u,c[o>>2]|0,(c[k>>2]|0)+20|0,c[z>>2]|0);if(Zn(c[s>>2]|0,0,u,c[z>>2]|0)|0){B=13;break}qp(c[l>>2]|0,c[s>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(($o(c[l>>2]|0,0)|0)!=0^1)continue;vp(c[p>>2]|0,c[(c[k>>2]|0)+56>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+32>>2]|0);vp(c[r>>2]|0,c[o>>2]|0,c[t>>2]|0,c[(c[k>>2]|0)+32>>2]|0);Oo(c[m>>2]|0,c[r>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+32>>2]|0);if(!(($o(c[m>>2]|0,0)|0)!=0^1)){B=18;break}}if((B|0)==13){if(jg(1)|0)Df(53208,g);c[n>>2]=8}else if((B|0)==18?jg(1)|0:0){Hf(53252,c[l>>2]|0);Hf(53272,c[m>>2]|0)}no(c[z>>2]|0);fo(u);hq(c[s>>2]|0);hq(c[t>>2]|0);hq(c[r>>2]|0);hq(c[q>>2]|0);hq(c[p>>2]|0);hq(c[o>>2]|0);if((c[v>>2]|0)!=(c[j>>2]|0))hq(c[v>>2]|0);c[h>>2]=c[n>>2];A=c[h>>2]|0;i=f;return A|0}function du(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=i;i=i+128|0;g=f+24|0;h=f+16|0;j=f+8|0;k=f;l=f+116|0;m=f+112|0;n=f+108|0;o=f+104|0;p=f+100|0;q=f+96|0;r=f+92|0;s=f+88|0;t=f+84|0;u=f+80|0;v=f+76|0;w=f+72|0;x=f+68|0;y=f+56|0;z=f+44|0;A=f+32|0;B=f+28|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=0;if(($o(c[o>>2]|0,0)|0)>0?(ap(c[o>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0)<0:0){if(($o(c[p>>2]|0,0)|0)>0?(ap(c[p>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0)<0:0){c[s>>2]=$p(0)|0;c[r>>2]=$p(0)|0;c[t>>2]=$p(0)|0;c[u>>2]=$p(0)|0;c[v>>2]=$p(0)|0;c[w>>2]=$p(0)|0;c[x>>2]=$p(0)|0;co(y);co(z);co(A);c[B>>2]=jo(c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0,0,c[(c[n>>2]|0)+8>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;qp(c[r>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+32>>2]|0);if(!($o(c[r>>2]|0,0)|0))sq(c[r>>2]|0,1)|0;pp(c[v>>2]|0,c[r>>2]|0,c[(c[n>>2]|0)+32>>2]|0)|0;vp(c[t>>2]|0,c[p>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);vp(c[w>>2]|0,c[o>>2]|0,c[v>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Po(c[u>>2]|0,c[x>>2]|0,c[w>>2]|0,c[(c[n>>2]|0)+32>>2]|0);Go(z,c[t>>2]|0,(c[n>>2]|0)+20|0,c[B>>2]|0);Go(A,c[u>>2]|0,(c[n>>2]|0)+44|0,c[B>>2]|0);Ao(y,z,A,c[B>>2]|0);do if($o(c[y+8>>2]|0,0)|0){if(Zn(c[s>>2]|0,0,y,c[B>>2]|0)|0){if(jg(1)|0)Df(53314,j);c[q>>2]=8;break}qp(c[s>>2]|0,c[s>>2]|0,c[(c[n>>2]|0)+32>>2]|0);m=(ap(c[s>>2]|0,c[o>>2]|0)|0)!=0;e=(jg(1)|0)!=0;if(!m){if(!e)break;Df(53407,g);break}if(e){Hf(53360,c[s>>2]|0);Hf(53367,c[o>>2]|0);Hf(53374,c[p>>2]|0);Df(53381,h)}c[q>>2]=8}else{if(jg(1)|0)Df(53292,k);c[q>>2]=8}while(0);no(c[B>>2]|0);fo(A);fo(z);fo(y);hq(c[x>>2]|0);hq(c[w>>2]|0);hq(c[v>>2]|0);hq(c[u>>2]|0);hq(c[t>>2]|0);hq(c[s>>2]|0);hq(c[r>>2]|0);c[l>>2]=c[q>>2];C=c[l>>2]|0;i=f;return C|0}c[l>>2]=8;C=c[l>>2]|0;i=f;return C|0}c[l>>2]=8;C=c[l>>2]|0;i=f;return C|0}function eu(){return tu()|0}function fu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Gu(c[d>>2]|0)|0;i=b;return a|0}function gu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ku(c[d>>2]|0)|0;i=b;return a|0}function hu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ju(c[d>>2]|0)|0;i=b;return a|0}function iu(){return Lu()|0}function ju(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vu(c[d>>2]|0);i=b;return}function ku(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ou(c[d>>2]|0)|0;i=b;return a|0}function lu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qu(c[d>>2]|0)|0;i=b;return a|0}function mu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ru(c[d>>2]|0)|0;i=b;return a|0}function nu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=su(c[d>>2]|0)|0;i=b;return a|0}function ou(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];if(c[c[e>>2]>>2]|0)c[e>>2]=pu(c[d>>2]|0)|0;else c[c[e>>2]>>2]=1;c[f>>2]=qa((c[e>>2]|0)+4|0,0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function pu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];if((c[c[e>>2]>>2]|0)!=1)ya(53429,53449,114,53462);else{i=b;return c[e>>2]|0}return 0}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=kb((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function ru(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=Va((c[e>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=b;return g|0}c[f>>2]=gu(c[f>>2]|0)|0;g=c[f>>2]|0;i=b;return g|0}function su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+64|0;d=b+52|0;e=b+48|0;f=b+44|0;g=b;c[d>>2]=a;c[e>>2]=pu(c[d>>2]|0)|0;c[f>>2]=Sa((c[e>>2]|0)+4|0)|0;if(c[f>>2]|0){c[f>>2]=gu(c[f>>2]|0)|0;h=c[f>>2]|0;i=b;return h|0}else{e=g;a=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(a|0));c[g>>2]=1;e=c[d>>2]|0;d=g;a=e+44|0;do{c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}while((e|0)<(a|0));h=c[f>>2]|0;i=b;return h|0}return 0}function tu(){uu();return 0}function uu(){wu()|0;return}function vu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;c[(Yu()|0)>>2]=a;i=b;return}function wu(){if(c[17772]|0)return 0;c[17772]=1;nb(3)|0;return 0}function xu(){yu(0)|0;c[17774]=0;c[17775]=0;return}function yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;if(c[d>>2]|0){zu(c[d>>2]|0);c[e>>2]=Au(c[d>>2]|0)|0;Du(c[d>>2]|0);g=c[e>>2]|0;h=(g|0)!=0;j=h?-1:0;i=b;return j|0}c[e>>2]=0;Eu();c[f>>2]=c[17773];while(1){if(!(c[f>>2]|0))break;if(c[(c[f>>2]|0)+4>>2]|0){zu(c[(c[f>>2]|0)+4>>2]|0);d=Au(c[(c[f>>2]|0)+4>>2]|0)|0;c[e>>2]=c[e>>2]|d;Du(c[(c[f>>2]|0)+4>>2]|0)}c[f>>2]=c[c[f>>2]>>2]}Fu();g=c[e>>2]|0;h=(g|0)!=0;j=h?-1:0;i=b;return j|0}function zu(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1|0){i=b;return}qu((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;a=c[d>>2]|0;if((c[c[d>>2]>>2]|0)>>>16&1|0){c[e>>2]=Bu(a)|0;f=c[e>>2]|0;i=b;return f|0}else{Cu(a);c[e>>2]=0;f=c[e>>2]|0;i=b;return f|0}return 0}function Bu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[e>>2]=b;c[f>>2]=c[(c[(c[e>>2]|0)+36>>2]|0)+1108>>2];if(!((c[c[e>>2]>>2]|0)>>>16&1))ya(53478,53500,1654,53510);do if(c[(c[e>>2]|0)+16>>2]|0){if(!(c[f>>2]|0)){c[g>>2]=95;break}c[j>>2]=0;c[g>>2]=0;do{if(((c[(c[e>>2]|0)+16>>2]|0)-(c[j>>2]|0)|0)<=0)break;if(!((c[g>>2]|0)!=0^1))break;c[k>>2]=vb[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,(c[(c[e>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,(c[(c[e>>2]|0)+16>>2]|0)-(c[j>>2]|0)|0)|0;if((c[k>>2]|0)==-1){c[h>>2]=0;c[g>>2]=-1}else c[h>>2]=c[k>>2];c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}while(!(c[g>>2]|0));b=(c[e>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+(c[j>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[j>>2]|0)){b=(c[(c[e>>2]|0)+36>>2]|0)+1100|0;c[b>>2]=(c[b>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0);c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+20>>2]=0;vb[c[f>>2]&63](c[(c[(c[e>>2]|0)+36>>2]|0)+1084>>2]|0,0,0)|0}}else c[g>>2]=0;while(0);if(!(c[g>>2]|0)){l=c[g>>2]|0;i=d;return l|0}f=(c[(c[e>>2]|0)+36>>2]|0)+1136|0;a[f>>0]=a[f>>0]&-2|1;l=c[g>>2]|0;i=d;return l|0}function Cu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if((c[c[d>>2]>>2]|0)>>>16&1|0)ya(53519,53500,1722,53542);else{c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+32>>2]=0;i=b;return}}function Du(a){a=a|0;var b=0,e=0;b=i;i=i+16|0;e=b;c[e>>2]=a;if((d[(c[(c[e>>2]|0)+36>>2]|0)+1140>>0]|0)>>>5&1|0){i=b;return}ru((c[(c[e>>2]|0)+36>>2]|0)+1040|0)|0;i=b;return}function Eu(){qu(13100)|0;return}function Fu(){ru(13100)|0;return}function Gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[f>>2]=Hu(c[e>>2]|0)|0;do if(c[f>>2]&32768|0){c[g>>2]=hu(c[f>>2]|0)|0;if(!(c[g>>2]|0)){c[f>>2]=16382;break}c[d>>2]=ov(c[g>>2]|0)|0;h=c[d>>2]|0;i=b;return h|0}while(0);c[d>>2]=53551+(c[13144+((Iu(c[f>>2]|0)|0)<<2)>>2]|0);h=c[d>>2]|0;i=b;return h|0}function Hu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Iu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)>=0&(c[d>>2]|0)<=213){e=a-0|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=222&(c[d>>2]|0)<=254){e=f-8|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=257&(c[d>>2]|0)<=271){e=a-10|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=273&(c[d>>2]|0)<=281){e=f-11|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=721&(c[d>>2]|0)<=729){e=a-450|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=750&(c[d>>2]|0)<=752){e=f-470|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=754&(c[d>>2]|0)<=782){e=a-471|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=784&(c[d>>2]|0)<=789){e=f-472|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=800&(c[d>>2]|0)<=804){e=a-482|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=815&(c[d>>2]|0)<=822){e=f-492|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=832&(c[d>>2]|0)<=839){e=a-501|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=844&(c[d>>2]|0)<=844){e=f-505|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=848&(c[d>>2]|0)<=848){e=a-508|0;i=b;return e|0}f=c[d>>2]|0;if((a|0)>=881&(c[d>>2]|0)<=891){e=f-540|0;i=b;return e|0}a=c[d>>2]|0;if((f|0)>=1024&(c[d>>2]|0)<=1039){e=a-672|0;i=b;return e|0}else{e=(a|0)>=16381&(c[d>>2]|0)<=16383?(c[d>>2]|0)-16013|0:371;i=b;return e|0}return 0}function Ju(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;do if(c[e>>2]&32768|0){c[e>>2]=c[e>>2]&-32769;if((c[e>>2]|0)>>>0<141){c[d>>2]=c[14632+(c[e>>2]<<2)>>2];break}else{c[d>>2]=0;break}}else c[d>>2]=0;while(0);i=b;return c[d>>2]|0}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=b;return g|0}a=c[e>>2]|0;do if(!((c[e>>2]|0)>=1&(c[e>>2]|0)<=11)){h=c[e>>2]|0;if((a|0)>=11&(c[e>>2]|0)<=35){j=h-0|0;break}k=c[e>>2]|0;if((h|0)>=35&(c[e>>2]|0)<=40){j=k+1|0;break}h=c[e>>2]|0;if((k|0)>=42&(c[e>>2]|0)<=57){j=h-0|0;break}k=c[e>>2]|0;if((h|0)>=59&(c[e>>2]|0)<=95){j=k-1|0;break}else{j=(k|0)>=95&(c[e>>2]|0)<=125?(c[e>>2]|0)-0|0:-1;break}}else j=a-1|0;while(0);c[f>>2]=j;if((c[f>>2]|0)<0){c[d>>2]=16382;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=32768|c[15196+(c[f>>2]<<2)>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function Lu(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;c[d>>2]=c[(Yu()|0)>>2];if(!(c[d>>2]|0)){c[b>>2]=16381;f=c[b>>2]|0;i=a;return f|0}g=c[d>>2]|0;do if(!((c[d>>2]|0)>=1&(c[d>>2]|0)<=11)){h=c[d>>2]|0;if((g|0)>=11&(c[d>>2]|0)<=35){j=h-0|0;break}k=c[d>>2]|0;if((h|0)>=35&(c[d>>2]|0)<=40){j=k+1|0;break}h=c[d>>2]|0;if((k|0)>=42&(c[d>>2]|0)<=57){j=h-0|0;break}k=c[d>>2]|0;if((h|0)>=59&(c[d>>2]|0)<=95){j=k-1|0;break}else{j=(k|0)>=95&(c[d>>2]|0)<=125?(c[d>>2]|0)-0|0:-1;break}}else j=g-1|0;while(0);c[e>>2]=j;if((c[e>>2]|0)<0){c[b>>2]=16382;f=c[b>>2]|0;i=a;return f|0}else{c[b>>2]=32768|c[15196+(c[e>>2]<<2)>>2];f=c[b>>2]|0;i=a;return f|0}return 0}function Mu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;d=c[g>>2]|0;b=Hc(c[d>>2]|0,c[d+4>>2]|0)|0;d=C;h=c[f>>2]|0;j=h;a[j>>0]=b;a[j+1>>0]=b>>8;a[j+2>>0]=b>>16;a[j+3>>0]=b>>24;b=h+4|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=jw(c[(c[g>>2]|0)+8>>2]|0)|0;b=(c[f>>2]|0)+8|0;a[b>>0]=d;a[b+1>>0]=d>>8;a[b+2>>0]=d>>16;a[b+3>>0]=d>>24;d=(c[f>>2]|0)+12|0;f=(c[g>>2]|0)+12|0;g=d+12|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(g|0));i=e;return}function Nu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=b;c[h>>2]=e;e=c[h>>2]|0;b=e;j=e+4|0;e=Ic(d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24,d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;j=c[g>>2]|0;c[j>>2]=e;c[j+4>>2]=C;j=(c[h>>2]|0)+8|0;e=nw(d[j>>0]|d[j+1>>0]<<8|d[j+2>>0]<<16|d[j+3>>0]<<24)|0;c[(c[g>>2]|0)+8>>2]=e;e=(c[g>>2]|0)+12|0;g=(c[h>>2]|0)+12|0;h=e+12|0;do{a[e>>0]=a[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));i=f;return}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=Kv(c[f>>2]|0)|0;if((c[h>>2]|0)>>>0>=12){c[e>>2]=-1;j=c[e>>2]|0;i=d;return j|0}else{b=c[g>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;Dx((c[g>>2]|0)+12|0,c[f>>2]|0,c[h>>2]|0)|0;c[e>>2]=1;j=c[e>>2]|0;i=d;return j|0}return 0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=a;c[g>>2]=b;do if(0!=(Qu(c[f>>2]|0)|0)?0!=(Qu(c[g>>2]|0)|0):0)if(!(Vv((c[f>>2]|0)+12|0,(c[g>>2]|0)+12|0)|0)){c[e>>2]=1;break}else{c[e>>2]=0;break}else h=3;while(0);if((h|0)==3)c[e>>2]=-1;i=d;return c[e>>2]|0}function Qu(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;i=d;return 0!=(a[(c[e>>2]|0)+12>>0]|0)|0}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+96|0;e=d+64|0;f=d+56|0;g=d+48|0;h=d+92|0;j=d+88|0;k=d+84|0;l=d+24|0;m=d;n=d+80|0;o=d+76|0;p=d+72|0;c[j>>2]=a;c[k>>2]=b;if(1!=(Pu(c[j>>2]|0,c[k>>2]|0)|0)){c[n>>2]=325;if((c[3925]|0)==-1)c[3925]=Mc(1,0,61566,61575,c[n>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3925]|0))Lc();c[g>>2]=61566;c[g+4>>2]=325;Rc(1,61592,g);Lc()}g=c[j>>2]|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];c[l+8>>2]=c[g+8>>2];c[l+12>>2]=c[g+12>>2];c[l+16>>2]=c[g+16>>2];c[l+20>>2]=c[g+20>>2];g=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];c[m+16>>2]=c[g+16>>2];c[m+20>>2]=c[g+20>>2];if(-1==(Su(l)|0)){c[o>>2]=329;if((c[3926]|0)==-1)c[3926]=Mc(1,0,61566,61575,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3926]|0))Lc();c[f>>2]=61566;c[f+4>>2]=329;Rc(1,61592,f);Lc()}if(-1==(Su(m)|0)){c[p>>2]=331;if((c[3927]|0)==-1)c[3927]=Mc(1,0,61566,61575,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3927]|0))Lc();c[e>>2]=61566;c[e+4>>2]=331;Rc(1,61592,e);Lc()}e=l;p=m;if(!((c[e>>2]|0)==(c[p>>2]|0)?(c[e+4>>2]|0)==(c[p+4>>2]|0):0)){p=l;e=c[p+4>>2]|0;f=m;o=c[f+4>>2]|0;if(e>>>0<o>>>0|((e|0)==(o|0)?(c[p>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)){c[h>>2]=-1;q=c[h>>2]|0;i=d;return q|0}else{c[h>>2]=1;q=c[h>>2]|0;i=d;return q|0}}if((c[l+8>>2]|0)>>>0<(c[m+8>>2]|0)>>>0){c[h>>2]=-1;q=c[h>>2]|0;i=d;return q|0}if((c[l+8>>2]|0)>>>0>(c[m+8>>2]|0)>>>0){c[h>>2]=1;q=c[h>>2]|0;i=d;return q|0}else{c[h>>2]=0;q=c[h>>2]|0;i=d;return q|0}return 0}function Su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;if(1!=(Qu(c[e>>2]|0)|0)){c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}c[f>>2]=0;while(1){a=c[e>>2]|0;if((c[a>>2]|0)!=-1?1:(c[a+4>>2]|0)!=-1)h=(c[(c[e>>2]|0)+8>>2]|0)>>>0>=1e6;else h=0;a=(c[e>>2]|0)+8|0;j=c[a>>2]|0;if(!h)break;c[a>>2]=j-1e6;a=c[e>>2]|0;k=a;l=Ax(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;k=a;c[k>>2]=l;c[k+4>>2]=C;c[f>>2]=1}if(j>>>0>=1e6){Tu(c[e>>2]|0);c[d>>2]=-1;g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=c[f>>2];g=c[d>>2]|0;i=b;return g|0}return 0}function Tu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;i=b;return}function Uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+112|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+96|0;k=e+92|0;l=e+88|0;m=e+84|0;n=e+24|0;o=e;p=e+80|0;q=e+76|0;r=e+72|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;if(1!=(Pu(c[l>>2]|0,c[m>>2]|0)|0)){Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}d=c[l>>2]|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[n+16>>2]=c[d+16>>2];c[n+20>>2]=c[d+20>>2];d=c[m>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[o+16>>2]=c[d+16>>2];c[o+20>>2]=c[d+20>>2];if(-1!=(Su(n)|0)?-1!=(Su(o)|0):0){do if((c[n+8>>2]|0)>>>0<(c[o+8>>2]|0)>>>0){d=n;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=n+8|0;c[d>>2]=(c[d>>2]|0)+1e6;d=n;m=Ax(c[d>>2]|0,c[d+4>>2]|0,-1,-1)|0;d=n;c[d>>2]=m;c[d+4>>2]=C;break}Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}while(0);d=n;m=c[d+4>>2]|0;l=o;b=c[l+4>>2]|0;if(m>>>0<b>>>0|((m|0)==(b|0)?(c[d>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}if(1!=(Ou(n+12|0,c[k>>2]|0)|0)){c[p>>2]=397;if((c[3928]|0)==-1)c[3928]=Mc(1,0,61566,61620,c[p>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3928]|0))Lc();c[h>>2]=61566;c[h+4>>2]=397;Rc(1,61592,h);Lc()}if((c[n+8>>2]|0)>>>0<(c[o+8>>2]|0)>>>0){c[q>>2]=398;if((c[3929]|0)==-1)c[3929]=Mc(1,0,61566,61620,c[q>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3929]|0))Lc();c[g>>2]=61566;c[g+4>>2]=398;Rc(1,61592,g);Lc()}c[(c[k>>2]|0)+8>>2]=(c[n+8>>2]|0)-(c[o+8>>2]|0);g=n;q=c[g+4>>2]|0;h=o;p=c[h+4>>2]|0;if(q>>>0>p>>>0|((q|0)==(p|0)?(c[g>>2]|0)>>>0>=(c[h>>2]|0)>>>0:0)){h=n;n=o;o=zx(c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=c[k>>2]|0;c[n>>2]=o;c[n+4>>2]=C;if(0==(c[(c[k>>2]|0)+8>>2]|0)?(n=c[k>>2]|0,0==(c[n>>2]|0)?0==(c[n+4>>2]|0):0):0){c[j>>2]=0;s=c[j>>2]|0;i=e;return s|0}c[j>>2]=1;s=c[j>>2]|0;i=e;return s|0}c[r>>2]=400;if((c[3930]|0)==-1)c[3930]=Mc(1,0,61566,61620,c[r>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3930]|0))Lc();c[f>>2]=61566;c[f+4>>2]=400;Rc(1,61592,f);Lc()}Tu(c[k>>2]|0);c[j>>2]=-1;s=c[j>>2]|0;i=e;return s|0}function Vu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+112|0;f=e+72|0;g=e+96|0;h=e+92|0;j=e+88|0;k=e+84|0;l=e+48|0;m=e+24|0;n=e;o=e+80|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;if(1!=(Pu(c[j>>2]|0,c[k>>2]|0)|0)){Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}d=c[j>>2]|0;c[l>>2]=c[d>>2];c[l+4>>2]=c[d+4>>2];c[l+8>>2]=c[d+8>>2];c[l+12>>2]=c[d+12>>2];c[l+16>>2]=c[d+16>>2];c[l+20>>2]=c[d+20>>2];d=c[k>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[m+16>>2]=c[d+16>>2];c[m+20>>2]=c[d+20>>2];if(-1!=(Su(l)|0)?-1!=(Su(m)|0):0){if(1==(Ou((c[j>>2]|0)+12|0,n)|0)){j=l;d=m;k=Ax(c[j>>2]|0,c[j+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=n;c[d>>2]=k;c[d+4>>2]=C;d=n;k=c[d+4>>2]|0;j=l;b=c[j+4>>2]|0;if(k>>>0<b>>>0|((k|0)==(b|0)?(c[d>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}c[n+8>>2]=(c[l+8>>2]|0)+(c[m+8>>2]|0);m=-1==(Su(n)|0);l=c[h>>2]|0;if(m){Tu(l);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}else{c[l>>2]=c[n>>2];c[l+4>>2]=c[n+4>>2];c[l+8>>2]=c[n+8>>2];c[l+12>>2]=c[n+12>>2];c[l+16>>2]=c[n+16>>2];c[l+20>>2]=c[n+20>>2];c[g>>2]=1;p=c[g>>2]|0;i=e;return p|0}}c[o>>2]=444;if((c[3931]|0)==-1)c[3931]=Mc(1,0,61566,61642,c[o>>2]|0)|0;if((Pc()|0)>0){Qc(-1,0);Lc()}if(!(c[3931]|0))Lc();c[f>>2]=61566;c[f+4>>2]=444;Rc(1,61592,f);Lc()}Tu(c[h>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=e;return p|0}function Wu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=Xu(ta(6,d|0)|0)|0;i=b;return a|0}function Xu(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Yu()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Yu(){var a=0;if(!(c[17776]|0))a=71148;else a=c[(Ta()|0)+64>>2]|0;return a|0}function Zu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+80|0;g=f;c[b+36>>2]=25;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21505,c[g+8>>2]=f+12,_a(54,g|0)|0):0)a[b+75>>0]=-1;g=_u(b,d,e)|0;i=f;return g|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+48|0;f=e+16|0;g=e;h=e+32|0;j=a+28|0;k=c[j>>2]|0;c[h>>2]=k;l=a+20|0;m=(c[l>>2]|0)-k|0;c[h+4>>2]=m;c[h+8>>2]=b;c[h+12>>2]=d;b=a+60|0;k=a+44|0;n=h;h=2;o=m+d|0;while(1){if(!(c[17776]|0)){c[f>>2]=c[b>>2];c[f+4>>2]=n;c[f+8>>2]=h;p=Xu(tb(146,f|0)|0)|0}else{rb(6,a|0);c[g>>2]=c[b>>2];c[g+4>>2]=n;c[g+8>>2]=h;m=Xu(tb(146,g|0)|0)|0;oa(0);p=m}if((o|0)==(p|0)){q=6;break}if((p|0)<0){r=n;s=h;q=8;break}m=o-p|0;t=c[n+4>>2]|0;if(p>>>0<=t>>>0)if((h|0)==2){c[j>>2]=(c[j>>2]|0)+p;u=t;v=p;w=n;x=2}else{u=t;v=p;w=n;x=h}else{y=c[k>>2]|0;c[j>>2]=y;c[l>>2]=y;u=c[n+12>>2]|0;v=p-t|0;w=n+8|0;x=h+-1|0}c[w>>2]=(c[w>>2]|0)+v;c[w+4>>2]=u-v;n=w;h=x;o=m}if((q|0)==6){o=c[k>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);k=o;c[j>>2]=k;c[l>>2]=k;z=d}else if((q|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[l>>2]=0;c[a>>2]=c[a>>2]|32;if((s|0)==2)z=0;else z=d-(c[r+4>>2]|0)|0}i=e;return z|0}function $u(a){a=a|0;if(!(c[a+68>>2]|0))av(a);return}function av(a){a=a|0;return}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((Xu(ob(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;i=e;return h|0}function cv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+48|0;g=f+16|0;h=f;j=f+32|0;c[j>>2]=d;k=j+4|0;l=b+48|0;m=c[l>>2]|0;c[k>>2]=e-((m|0)!=0&1);n=b+44|0;c[j+8>>2]=c[n>>2];c[j+12>>2]=m;if(!(c[17776]|0)){c[g>>2]=c[b+60>>2];c[g+4>>2]=j;c[g+8>>2]=2;o=Xu(sb(145,g|0)|0)|0}else{rb(7,b|0);c[h>>2]=c[b+60>>2];c[h+4>>2]=j;c[h+8>>2]=2;j=Xu(sb(145,h|0)|0)|0;oa(0);o=j}if((o|0)>=1){j=c[k>>2]|0;if(o>>>0>j>>>0){k=c[n>>2]|0;n=b+4|0;c[n>>2]=k;h=k;c[b+8>>2]=h+(o-j);if(!(c[l>>2]|0))p=e;else{c[n>>2]=h+1;a[d+(e+-1)>>0]=a[h>>0]|0;p=e}}else p=o}else{c[b>>2]=c[b>>2]|o&48^16;c[b+8>>2]=0;c[b+4>>2]=0;p=o}i=f;return p|0}function dv(a){a=a|0;if(!(c[a+68>>2]|0))av(a);return}function ev(a){a=a|0;return fv(a)|0}function fv(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function gv(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=d;g=e}else{e=b;b=c;do{e=e+1|0;b=b+1|0;c=a[e>>0]|0;d=a[b>>0]|0}while(!(c<<24>>24==0?1:c<<24>>24!=d<<24>>24));f=c;g=d}return (f&255)-(g&255)|0}function hv(a){a=a|0;var b=0;b=(iv(a)|0)==0;return (b?a:a|32)|0}function iv(a){a=a|0;return (a+-65|0)>>>0<26|0}function jv(a){a=a|0;return kv(a,0)|0}function kv(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=(f<<1)+-1|0;h=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(lv(c)|0)==0)))){i=(f|0)!=0;if(i&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:{j=c;break a}}j=c+7264|0;break}if((c+-11520|0)>>>0<38&(i^1)){if((c|0)>11557)switch(c|0){case 11559:case 11565:break;default:{j=c;break a}}j=c+-7264|0;break}else k=0;do{i=a[18850+(k<<2)+2>>0]|0;l=i<<24>>24;m=c-(e[18850+(k<<2)>>1]|0)|0;if((m-(l&h)|0)>>>0<(d[18850+(k<<2)+3>>0]|0)>>>0){n=i;o=l;p=m;q=13;break}k=k+1|0}while((k|0)!=61);if((q|0)==13)if(n<<24>>24==1){j=f+c-(p&1)|0;break}else{j=(_(o,g)|0)+c|0;break}m=1-f|0;l=b[18358+(m<<1)>>1]|0;b:do if(l<<16>>16){i=l;r=0;while(1){if((i&65535|0)==(c|0)){s=r;break}r=r+1|0;i=b[18358+(r<<2)+(m<<1)>>1]|0;if(!(i<<16>>16))break b}j=e[18358+(s<<2)+(f<<1)>>1]|0;break a}while(0);if((c+-66600+(f*40|0)|0)>>>0<40)j=c+-40+(f*80|0)|0;else j=c}else j=c;while(0);return j|0}function lv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[61659+((d[61659+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=a>>>0<196606&1;return b|0}function mv(a){a=a|0;return kv(a,1)|0}function nv(a){a=a|0;return (a+-97|0)>>>0<26|0}function ov(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,i=0,j=0;c=0;while(1){if((d[64635+c>>0]|0)==(b|0)){e=c;f=2;break}c=c+1|0;if((c|0)==87){g=87;h=64723;f=5;break}}if((f|0)==2)if(!e)i=64723;else{g=e;h=64723;f=5}if((f|0)==5)while(1){f=0;e=h;while(1){c=e+1|0;if(!(a[e>>0]|0)){j=c;break}else e=c}g=g+-1|0;if(!g){i=j;break}else{h=j;f=5}}return i|0}function pv(a){a=a|0;var b=0;if(!a)b=0;else b=(qv(16168,a)|0)!=0;return b&1|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=a+((rv(a)|0)<<2)|0;else{e=a;while(1){a=c[e>>2]|0;if((a|0)==0|(a|0)==(b|0)){f=e;g=a;break}else e=e+4|0}d=g|0?f:0}return d|0}function rv(a){a=a|0;var b=0,d=0;b=a;while(1)if(!(c[b>>2]|0)){d=b;break}else b=b+4|0;return d-a>>2|0}function sv(a){a=a|0;var b=0;if((a+-48|0)>>>0<10)b=1;else b=((a|32)+-97|0)>>>0<6;return b&1|0}function tv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=uv(a,b,d,g)|0;i=f;return e|0}function uv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+128|0;h=g+112|0;j=g;k=j;l=16256;m=k+112|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((d+-1|0)>>>0>2147483646)if(!d){n=h;o=1;p=4}else{c[(Yu()|0)>>2]=75;q=-1}else{n=b;o=d;p=4}if((p|0)==4){p=-2-n|0;d=o>>>0>p>>>0?p:o;c[j+48>>2]=d;o=j+20|0;c[o>>2]=n;c[j+44>>2]=n;p=n+d|0;n=j+16|0;c[n>>2]=p;c[j+28>>2]=p;p=wv(j,e,f)|0;if(!d)q=p;else{d=c[o>>2]|0;a[d+(((d|0)==(c[n>>2]|0))<<31>>31)>>0]=0;q=p}}i=g;return q|0}function vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;Dx(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+224|0;g=f+120|0;h=f+80|0;j=f;k=f+136|0;l=h;m=l+40|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[g>>2]=c[e>>2];if((xv(0,d,g,j,h)|0)<0)n=-1;else{if((c[b+76>>2]|0)>-1)o=Iv(b)|0;else o=0;e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){m=b+44|0;p=c[m>>2]|0;c[m>>2]=k;q=b+28|0;c[q>>2]=k;r=b+20|0;c[r>>2]=k;c[e>>2]=80;s=b+16|0;c[s>>2]=k+80;k=xv(b,d,g,j,h)|0;if(!p)t=k;else{vb[c[b+36>>2]&63](b,0,0)|0;u=(c[r>>2]|0)==0?-1:k;c[m>>2]=p;c[e>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;t=u}}else t=xv(b,d,g,j,h)|0;h=c[b>>2]|0;c[b>>2]=h|l;if(o|0)av(b);n=(h&32|0)==0?t:-1}i=f;return n|0}function xv(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0.0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0.0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0.0,Yb=0.0,Zb=0.0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0;m=i;i=i+624|0;n=m+24|0;o=m+16|0;p=m+588|0;q=m+576|0;r=m;s=m+536|0;t=m+8|0;u=m+528|0;v=(e|0)!=0;w=s+40|0;x=w;y=s+39|0;s=t+4|0;z=p;A=0-z|0;B=q+12|0;D=q+11|0;q=B;E=q-z|0;F=-2-z|0;G=q+2|0;H=n+288|0;I=p+9|0;J=I;K=p+8|0;L=0;M=0;N=0;O=f;a:while(1){do if((L|0)>-1)if((M|0)>(2147483647-L|0)){c[(Yu()|0)>>2]=75;P=-1;break}else{P=M+L|0;break}else P=L;while(0);f=a[O>>0]|0;if(!(f<<24>>24)){Q=P;R=N;S=244;break}else{T=f;U=O}b:while(1){switch(T<<24>>24){case 37:{V=U;W=U;S=9;break b;break}case 0:{X=U;Y=U;break b;break}default:{}}f=U+1|0;T=a[f>>0]|0;U=f}c:do if((S|0)==9)while(1){S=0;if((a[V+1>>0]|0)!=37){X=V;Y=W;break c}f=W+1|0;Z=V+2|0;if((a[Z>>0]|0)==37){V=Z;W=f;S=9}else{X=Z;Y=f;break}}while(0);f=Y-O|0;if(v?(c[e>>2]&32|0)==0:0)yv(O,f,e)|0;if((Y|0)!=(O|0)){L=P;M=f;O=X;continue}Z=X+1|0;$=a[Z>>0]|0;aa=($<<24>>24)+-48|0;if(aa>>>0<10){ba=(a[X+2>>0]|0)==36;ca=ba?X+3|0:Z;da=a[ca>>0]|0;ea=ba?aa:-1;fa=ba?1:N;ga=ca}else{da=$;ea=-1;fa=N;ga=Z}Z=da<<24>>24;d:do if((Z&-32|0)==32){$=Z;ca=da;ba=0;aa=ga;while(1){if(!(1<<$+-32&75913)){ha=ca;ia=ba;ja=aa;break d}ka=1<<(ca<<24>>24)+-32|ba;la=aa+1|0;ma=a[la>>0]|0;$=ma<<24>>24;if(($&-32|0)!=32){ha=ma;ia=ka;ja=la;break}else{ca=ma;ba=ka;aa=la}}}else{ha=da;ia=0;ja=ga}while(0);do if(ha<<24>>24==42){Z=ja+1|0;aa=(a[Z>>0]|0)+-48|0;if(aa>>>0<10?(a[ja+2>>0]|0)==36:0){c[l+(aa<<2)>>2]=10;na=1;oa=ja+3|0;pa=c[j+((a[Z>>0]|0)+-48<<3)>>2]|0}else{if(fa|0){qa=-1;break a}if(!v){ra=ia;sa=0;ta=Z;ua=0;break}aa=(c[g>>2]|0)+(4-1)&~(4-1);ba=c[aa>>2]|0;c[g>>2]=aa+4;na=0;oa=Z;pa=ba}if((pa|0)<0){ra=ia|8192;sa=na;ta=oa;ua=0-pa|0}else{ra=ia;sa=na;ta=oa;ua=pa}}else{ba=(ha<<24>>24)+-48|0;if(ba>>>0<10){Z=ja;aa=0;ca=ba;while(1){ba=(aa*10|0)+ca|0;$=Z+1|0;ca=(a[$>>0]|0)+-48|0;if(ca>>>0>=10){va=ba;wa=$;break}else{Z=$;aa=ba}}if((va|0)<0){qa=-1;break a}else{ra=ia;sa=fa;ta=wa;ua=va}}else{ra=ia;sa=fa;ta=ja;ua=0}}while(0);e:do if((a[ta>>0]|0)==46){aa=ta+1|0;Z=a[aa>>0]|0;if(Z<<24>>24!=42){ca=(Z<<24>>24)+-48|0;if(ca>>>0<10){xa=aa;ya=0;za=ca}else{Aa=0;Ba=aa;break}while(1){aa=(ya*10|0)+za|0;ca=xa+1|0;za=(a[ca>>0]|0)+-48|0;if(za>>>0>=10){Aa=aa;Ba=ca;break e}else{xa=ca;ya=aa}}}aa=ta+2|0;ca=(a[aa>>0]|0)+-48|0;if(ca>>>0<10?(a[ta+3>>0]|0)==36:0){c[l+(ca<<2)>>2]=10;Aa=c[j+((a[aa>>0]|0)+-48<<3)>>2]|0;Ba=ta+4|0;break}if(sa|0){qa=-1;break a}if(v){ca=(c[g>>2]|0)+(4-1)&~(4-1);Z=c[ca>>2]|0;c[g>>2]=ca+4;Aa=Z;Ba=aa}else{Aa=0;Ba=aa}}else{Aa=-1;Ba=ta}while(0);aa=Ba;Z=0;while(1){ca=(a[aa>>0]|0)+-65|0;if(ca>>>0>57){qa=-1;break a}ba=aa+1|0;$=a[66527+(Z*58|0)+ca>>0]|0;ca=$&255;if((ca+-1|0)>>>0<8){aa=ba;Z=ca}else{Ca=ba;Da=$;Ea=ca;Fa=aa;Ga=Z;break}}if(!(Da<<24>>24)){qa=-1;break}Z=(ea|0)>-1;do if(Da<<24>>24==19)if(Z){qa=-1;break a}else S=52;else{if(Z){c[l+(ea<<2)>>2]=Ea;aa=j+(ea<<3)|0;ca=c[aa+4>>2]|0;$=r;c[$>>2]=c[aa>>2];c[$+4>>2]=ca;S=52;break}if(!v){qa=0;break a}Av(r,Ea,g)}while(0);if((S|0)==52?(S=0,!v):0){L=P;M=f;N=sa;O=Ca;continue}Z=a[Fa>>0]|0;ca=(Ga|0)!=0&(Z&15|0)==3?Z&-33:Z;Z=ra&-65537;$=(ra&8192|0)==0?ra:Z;f:do switch(ca|0){case 110:{switch(Ga|0){case 0:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 1:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 2:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}case 3:{b[c[r>>2]>>1]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 4:{a[c[r>>2]>>0]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 6:{c[c[r>>2]>>2]=P;L=P;M=f;N=sa;O=Ca;continue a;break}case 7:{aa=c[r>>2]|0;c[aa>>2]=P;c[aa+4>>2]=((P|0)<0)<<31>>31;L=P;M=f;N=sa;O=Ca;continue a;break}default:{L=P;M=f;N=sa;O=Ca;continue a}}break}case 112:{Ha=$|8;Ia=Aa>>>0>8?Aa:8;Ja=120;S=64;break}case 88:case 120:{Ha=$;Ia=Aa;Ja=ca;S=64;break}case 111:{aa=r;ba=c[aa>>2]|0;la=c[aa+4>>2]|0;if((ba|0)==0&(la|0)==0)Ka=w;else{aa=w;ka=ba;ba=la;while(1){la=aa+-1|0;a[la>>0]=ka&7|48;ka=Cx(ka|0,ba|0,3)|0;ba=C;if((ka|0)==0&(ba|0)==0){Ka=la;break}else aa=la}}if(!($&8)){La=Ka;Ma=$;Na=Aa;Oa=0;Pa=67007;S=77}else{aa=x-Ka|0;La=Ka;Ma=$;Na=(Aa|0)>(aa|0)?Aa:aa+1|0;Oa=0;Pa=67007;S=77}break}case 105:case 100:{aa=r;ba=c[aa>>2]|0;ka=c[aa+4>>2]|0;if((ka|0)<0){aa=zx(0,0,ba|0,ka|0)|0;la=C;ma=r;c[ma>>2]=aa;c[ma+4>>2]=la;Qa=aa;Ra=la;Sa=1;Ta=67007;S=76;break f}if(!($&2048)){la=$&1;Qa=ba;Ra=ka;Sa=la;Ta=(la|0)==0?67007:67009;S=76}else{Qa=ba;Ra=ka;Sa=1;Ta=67008;S=76}break}case 117:{ka=r;Qa=c[ka>>2]|0;Ra=c[ka+4>>2]|0;Sa=0;Ta=67007;S=76;break}case 99:{a[y>>0]=c[r>>2];Ua=y;Va=Z;Wa=1;Xa=0;Ya=67007;Za=w;break}case 109:{_a=ov(c[(Yu()|0)>>2]|0)|0;S=82;break}case 115:{ka=c[r>>2]|0;_a=ka|0?ka:67017;S=82;break}case 67:{c[t>>2]=c[r>>2];c[s>>2]=0;c[r>>2]=t;$a=t;ab=-1;S=86;break}case 83:{ka=c[r>>2]|0;if(!Aa){Dv(e,32,ua,0,$);bb=0;S=97}else{$a=ka;ab=Aa;S=86}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{cb=+h[r>>3];c[o>>2]=0;h[k>>3]=cb;if((c[k+4>>2]|0)>=0)if(!($&2048)){ka=$&1;db=cb;eb=ka;fb=(ka|0)==0?67025:67030}else{db=cb;eb=1;fb=67027}else{db=-cb;eb=1;fb=67024}h[k>>3]=db;ka=c[k+4>>2]&2146435072;do if(ka>>>0<2146435072|(ka|0)==2146435072&0<0){cb=+Gv(db,o)*2.0;ba=cb!=0.0;if(ba)c[o>>2]=(c[o>>2]|0)+-1;la=ca|32;if((la|0)==97){aa=ca&32;ma=(aa|0)==0?fb:fb+9|0;gb=eb|2;hb=12-Aa|0;do if(!(Aa>>>0>11|(hb|0)==0)){ib=hb;jb=8.0;while(1){ib=ib+-1|0;kb=jb*16.0;if(!ib){lb=kb;break}else jb=kb}if((a[ma>>0]|0)==45){mb=-(lb+(-cb-lb));break}else{mb=cb+lb-lb;break}}else mb=cb;while(0);hb=c[o>>2]|0;ib=(hb|0)<0?0-hb|0:hb;nb=Bv(ib,((ib|0)<0)<<31>>31,B)|0;if((nb|0)==(B|0)){a[D>>0]=48;ob=D}else ob=nb;a[ob+-1>>0]=(hb>>31&2)+43;hb=ob+-2|0;a[hb>>0]=ca+15;nb=(Aa|0)<1;ib=($&8|0)==0;jb=mb;pb=p;while(1){qb=~~jb;rb=pb+1|0;a[pb>>0]=d[66991+qb>>0]|aa;jb=(jb-+(qb|0))*16.0;do if((rb-z|0)==1){if(ib&(nb&jb==0.0)){sb=rb;break}a[rb>>0]=46;sb=pb+2|0}else sb=rb;while(0);if(!(jb!=0.0)){tb=sb;break}else pb=sb}pb=tb;nb=hb;ib=(Aa|0)!=0&(F+pb|0)<(Aa|0)?G+Aa-nb|0:E-nb+pb|0;aa=ib+gb|0;Dv(e,32,ua,aa,$);if(!(c[e>>2]&32))yv(ma,gb,e)|0;Dv(e,48,ua,aa,$^65536);rb=pb-z|0;if(!(c[e>>2]&32))yv(p,rb,e)|0;pb=q-nb|0;Dv(e,48,ib-(rb+pb)|0,0,0);if(!(c[e>>2]&32))yv(hb,pb,e)|0;Dv(e,32,ua,aa,$^8192);ub=(aa|0)<(ua|0)?ua:aa;break}aa=(Aa|0)<0?6:Aa;if(ba){pb=(c[o>>2]|0)+-28|0;c[o>>2]=pb;vb=cb*268435456.0;wb=pb}else{vb=cb;wb=c[o>>2]|0}pb=(wb|0)<0?n:H;rb=pb;jb=vb;ib=pb;while(1){nb=~~jb>>>0;c[ib>>2]=nb;qb=ib+4|0;jb=(jb-+(nb>>>0))*1.0e9;if(!(jb!=0.0)){xb=qb;break}else ib=qb}ib=c[o>>2]|0;if((ib|0)>0){ba=ib;hb=pb;gb=xb;while(1){ma=(ba|0)>29?29:ba;qb=gb+-4|0;do if(qb>>>0<hb>>>0)yb=hb;else{nb=0;zb=qb;while(1){Ab=Ix(c[zb>>2]|0,0,ma|0)|0;Bb=Ax(Ab|0,C|0,nb|0,0)|0;Ab=C;Cb=Ox(Bb|0,Ab|0,1e9,0)|0;c[zb>>2]=Cb;Cb=Nx(Bb|0,Ab|0,1e9,0)|0;zb=zb+-4|0;if(zb>>>0<hb>>>0){Db=Cb;break}else nb=Cb}if(!Db){yb=hb;break}nb=hb+-4|0;c[nb>>2]=Db;yb=nb}while(0);qb=gb;while(1){if(qb>>>0<=yb>>>0){Eb=qb;break}nb=qb+-4|0;if(!(c[nb>>2]|0))qb=nb;else{Eb=qb;break}}qb=(c[o>>2]|0)-ma|0;c[o>>2]=qb;if((qb|0)>0){ba=qb;hb=yb;gb=Eb}else{Fb=qb;Gb=yb;Hb=Eb;break}}}else{Fb=ib;Gb=pb;Hb=xb}if((Fb|0)<0){gb=((aa+25|0)/9|0)+1|0;hb=(la|0)==102;ba=Fb;qb=Gb;nb=Hb;while(1){zb=0-ba|0;Cb=(zb|0)>9?9:zb;do if(qb>>>0<nb>>>0){zb=(1<<Cb)+-1|0;Ab=1e9>>>Cb;Bb=0;Ib=qb;while(1){Jb=c[Ib>>2]|0;c[Ib>>2]=(Jb>>>Cb)+Bb;Kb=_(Jb&zb,Ab)|0;Ib=Ib+4|0;if(Ib>>>0>=nb>>>0){Lb=Kb;break}else Bb=Kb}Bb=(c[qb>>2]|0)==0?qb+4|0:qb;if(!Lb){Mb=Bb;Nb=nb;break}c[nb>>2]=Lb;Mb=Bb;Nb=nb+4|0}else{Mb=(c[qb>>2]|0)==0?qb+4|0:qb;Nb=nb}while(0);ma=hb?pb:Mb;Bb=(Nb-ma>>2|0)>(gb|0)?ma+(gb<<2)|0:Nb;ba=(c[o>>2]|0)+Cb|0;c[o>>2]=ba;if((ba|0)>=0){Ob=Mb;Pb=Bb;break}else{qb=Mb;nb=Bb}}}else{Ob=Gb;Pb=Hb}do if(Ob>>>0<Pb>>>0){nb=(rb-Ob>>2)*9|0;qb=c[Ob>>2]|0;if(qb>>>0<10){Qb=nb;break}else{Rb=nb;Sb=10}while(1){Sb=Sb*10|0;nb=Rb+1|0;if(qb>>>0<Sb>>>0){Qb=nb;break}else Rb=nb}}else Qb=0;while(0);qb=(la|0)==103;Cb=(aa|0)!=0;nb=aa-((la|0)!=102?Qb:0)+((Cb&qb)<<31>>31)|0;if((nb|0)<(((Pb-rb>>2)*9|0)+-9|0)){ba=nb+9216|0;nb=pb+4+(((ba|0)/9|0)+-1024<<2)|0;gb=((ba|0)%9|0)+1|0;if((gb|0)<9){ba=10;hb=gb;while(1){gb=ba*10|0;hb=hb+1|0;if((hb|0)==9){Tb=gb;break}else ba=gb}}else Tb=10;ba=c[nb>>2]|0;hb=(ba>>>0)%(Tb>>>0)|0;la=(nb+4|0)==(Pb|0);do if(la&(hb|0)==0){Ub=Ob;Vb=nb;Wb=Qb}else{jb=(((ba>>>0)/(Tb>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;gb=(Tb|0)/2|0;if(hb>>>0<gb>>>0)Xb=.5;else Xb=la&(hb|0)==(gb|0)?1.0:1.5;do if(!eb){Yb=jb;Zb=Xb}else{if((a[fb>>0]|0)!=45){Yb=jb;Zb=Xb;break}Yb=-jb;Zb=-Xb}while(0);gb=ba-hb|0;c[nb>>2]=gb;if(!(Yb+Zb!=Yb)){Ub=Ob;Vb=nb;Wb=Qb;break}ib=gb+Tb|0;c[nb>>2]=ib;if(ib>>>0>999999999){ib=Ob;gb=nb;while(1){Bb=gb+-4|0;c[gb>>2]=0;if(Bb>>>0<ib>>>0){ma=ib+-4|0;c[ma>>2]=0;_b=ma}else _b=ib;ma=(c[Bb>>2]|0)+1|0;c[Bb>>2]=ma;if(ma>>>0>999999999){ib=_b;gb=Bb}else{$b=_b;ac=Bb;break}}}else{$b=Ob;ac=nb}gb=(rb-$b>>2)*9|0;ib=c[$b>>2]|0;if(ib>>>0<10){Ub=$b;Vb=ac;Wb=gb;break}else{bc=gb;cc=10}while(1){cc=cc*10|0;gb=bc+1|0;if(ib>>>0<cc>>>0){Ub=$b;Vb=ac;Wb=gb;break}else bc=gb}}while(0);nb=Vb+4|0;dc=Ub;ec=Wb;fc=Pb>>>0>nb>>>0?nb:Pb}else{dc=Ob;ec=Qb;fc=Pb}nb=0-ec|0;hb=fc;while(1){if(hb>>>0<=dc>>>0){gc=0;hc=hb;break}ba=hb+-4|0;if(!(c[ba>>2]|0))hb=ba;else{gc=1;hc=hb;break}}do if(qb){hb=(Cb&1^1)+aa|0;if((hb|0)>(ec|0)&(ec|0)>-5){ic=ca+-1|0;jc=hb+-1-ec|0}else{ic=ca+-2|0;jc=hb+-1|0}hb=$&8;if(hb|0){kc=ic;lc=jc;mc=hb;break}do if(gc){hb=c[hc+-4>>2]|0;if(!hb){nc=9;break}if(!((hb>>>0)%10|0)){oc=10;pc=0}else{nc=0;break}while(1){oc=oc*10|0;ba=pc+1|0;if((hb>>>0)%(oc>>>0)|0|0){nc=ba;break}else pc=ba}}else nc=9;while(0);hb=((hc-rb>>2)*9|0)+-9|0;if((ic|32|0)==102){ba=hb-nc|0;la=(ba|0)<0?0:ba;kc=ic;lc=(jc|0)<(la|0)?jc:la;mc=0;break}else{la=hb+ec-nc|0;hb=(la|0)<0?0:la;kc=ic;lc=(jc|0)<(hb|0)?jc:hb;mc=0;break}}else{kc=ca;lc=aa;mc=$&8}while(0);aa=lc|mc;rb=(aa|0)!=0&1;Cb=(kc|32|0)==102;if(Cb){qc=(ec|0)>0?ec:0;rc=0}else{qb=(ec|0)<0?nb:ec;hb=Bv(qb,((qb|0)<0)<<31>>31,B)|0;if((q-hb|0)<2){qb=hb;while(1){la=qb+-1|0;a[la>>0]=48;if((q-la|0)<2)qb=la;else{sc=la;break}}}else sc=hb;a[sc+-1>>0]=(ec>>31&2)+43;qb=sc+-2|0;a[qb>>0]=kc;qc=q-qb|0;rc=qb}qb=eb+1+lc+rb+qc|0;Dv(e,32,ua,qb,$);if(!(c[e>>2]&32))yv(fb,eb,e)|0;Dv(e,48,ua,qb,$^65536);do if(Cb){nb=dc>>>0>pb>>>0?pb:dc;la=nb;while(1){ba=Bv(c[la>>2]|0,0,I)|0;do if((la|0)==(nb|0)){if((ba|0)!=(I|0)){tc=ba;break}a[K>>0]=48;tc=K}else{if(ba>>>0<=p>>>0){tc=ba;break}Fx(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{tc=gb;break}}}while(0);if(!(c[e>>2]&32))yv(tc,J-tc|0,e)|0;ba=la+4|0;if(ba>>>0>pb>>>0){uc=ba;break}else la=ba}do if(aa|0){if(c[e>>2]&32|0)break;yv(67059,1,e)|0}while(0);if((lc|0)>0&uc>>>0<hc>>>0){la=lc;nb=uc;while(1){ba=Bv(c[nb>>2]|0,0,I)|0;if(ba>>>0>p>>>0){Fx(p|0,48,ba-z|0)|0;ib=ba;while(1){gb=ib+-1|0;if(gb>>>0>p>>>0)ib=gb;else{vc=gb;break}}}else vc=ba;if(!(c[e>>2]&32))yv(vc,(la|0)>9?9:la,e)|0;nb=nb+4|0;ib=la+-9|0;if(!((la|0)>9&nb>>>0<hc>>>0)){wc=ib;break}else la=ib}}else wc=lc;Dv(e,48,wc+9|0,9,0)}else{la=gc?hc:dc+4|0;if((lc|0)>-1){nb=(mc|0)==0;ib=lc;gb=dc;while(1){Bb=Bv(c[gb>>2]|0,0,I)|0;if((Bb|0)==(I|0)){a[K>>0]=48;xc=K}else xc=Bb;do if((gb|0)==(dc|0)){Bb=xc+1|0;if(!(c[e>>2]&32))yv(xc,1,e)|0;if(nb&(ib|0)<1){yc=Bb;break}if(c[e>>2]&32|0){yc=Bb;break}yv(67059,1,e)|0;yc=Bb}else{if(xc>>>0<=p>>>0){yc=xc;break}Fx(p|0,48,xc+A|0)|0;Bb=xc;while(1){ma=Bb+-1|0;if(ma>>>0>p>>>0)Bb=ma;else{yc=ma;break}}}while(0);ba=J-yc|0;if(!(c[e>>2]&32))yv(yc,(ib|0)>(ba|0)?ba:ib,e)|0;Bb=ib-ba|0;gb=gb+4|0;if(!(gb>>>0<la>>>0&(Bb|0)>-1)){zc=Bb;break}else ib=Bb}}else zc=lc;Dv(e,48,zc+18|0,18,0);if(c[e>>2]&32|0)break;yv(rc,q-rc|0,e)|0}while(0);Dv(e,32,ua,qb,$^8192);ub=(qb|0)<(ua|0)?ua:qb}else{aa=(ca&32|0)!=0;pb=db!=db|0.0!=0.0;Cb=pb?0:eb;rb=Cb+3|0;Dv(e,32,ua,rb,Z);hb=c[e>>2]|0;if(!(hb&32)){yv(fb,Cb,e)|0;Ac=c[e>>2]|0}else Ac=hb;if(!(Ac&32))yv(pb?(aa?67051:67055):aa?67043:67047,3,e)|0;Dv(e,32,ua,rb,$^8192);ub=(rb|0)<(ua|0)?ua:rb}while(0);L=P;M=ub;N=sa;O=Ca;continue a;break}default:{Ua=O;Va=$;Wa=Aa;Xa=0;Ya=67007;Za=w}}while(0);g:do if((S|0)==64){S=0;ca=r;f=c[ca>>2]|0;ka=c[ca+4>>2]|0;ca=Ja&32;if(!((f|0)==0&(ka|0)==0)){rb=w;aa=f;f=ka;while(1){ka=rb+-1|0;a[ka>>0]=d[66991+(aa&15)>>0]|ca;aa=Cx(aa|0,f|0,4)|0;f=C;if((aa|0)==0&(f|0)==0){Bc=ka;break}else rb=ka}rb=r;if((Ha&8|0)==0|(c[rb>>2]|0)==0&(c[rb+4>>2]|0)==0){La=Bc;Ma=Ha;Na=Ia;Oa=0;Pa=67007;S=77}else{La=Bc;Ma=Ha;Na=Ia;Oa=2;Pa=67007+(Ja>>4)|0;S=77}}else{La=w;Ma=Ha;Na=Ia;Oa=0;Pa=67007;S=77}}else if((S|0)==76){S=0;La=Bv(Qa,Ra,w)|0;Ma=$;Na=Aa;Oa=Sa;Pa=Ta;S=77}else if((S|0)==82){S=0;rb=Cv(_a,0,Aa)|0;f=(rb|0)==0;Ua=_a;Va=Z;Wa=f?Aa:rb-_a|0;Xa=0;Ya=67007;Za=f?_a+Aa|0:rb}else if((S|0)==86){S=0;rb=0;f=0;aa=$a;while(1){ca=c[aa>>2]|0;if(!ca){Cc=rb;Dc=f;break}ka=Ev(u,ca)|0;if((ka|0)<0|ka>>>0>(ab-rb|0)>>>0){Cc=rb;Dc=ka;break}ca=ka+rb|0;if(ab>>>0>ca>>>0){rb=ca;f=ka;aa=aa+4|0}else{Cc=ca;Dc=ka;break}}if((Dc|0)<0){qa=-1;break a}Dv(e,32,ua,Cc,$);if(!Cc){bb=0;S=97}else{aa=0;f=$a;while(1){rb=c[f>>2]|0;if(!rb){bb=Cc;S=97;break g}ka=Ev(u,rb)|0;aa=ka+aa|0;if((aa|0)>(Cc|0)){bb=Cc;S=97;break g}if(!(c[e>>2]&32))yv(u,ka,e)|0;if(aa>>>0>=Cc>>>0){bb=Cc;S=97;break}else f=f+4|0}}}while(0);if((S|0)==97){S=0;Dv(e,32,ua,bb,$^8192);L=P;M=(ua|0)>(bb|0)?ua:bb;N=sa;O=Ca;continue}if((S|0)==77){S=0;Z=(Na|0)>-1?Ma&-65537:Ma;f=r;aa=(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0;if((Na|0)!=0|aa){f=(aa&1^1)+(x-La)|0;Ua=La;Va=Z;Wa=(Na|0)>(f|0)?Na:f;Xa=Oa;Ya=Pa;Za=w}else{Ua=w;Va=Z;Wa=0;Xa=Oa;Ya=Pa;Za=w}}Z=Za-Ua|0;f=(Wa|0)<(Z|0)?Z:Wa;aa=Xa+f|0;ka=(ua|0)<(aa|0)?aa:ua;Dv(e,32,ka,aa,Va);if(!(c[e>>2]&32))yv(Ya,Xa,e)|0;Dv(e,48,ka,aa,Va^65536);Dv(e,48,f,Z,0);if(!(c[e>>2]&32))yv(Ua,Z,e)|0;Dv(e,32,ka,aa,Va^8192);L=P;M=ka;N=sa;O=Ca}h:do if((S|0)==244)if(!e)if(R){Ca=1;while(1){O=c[l+(Ca<<2)>>2]|0;if(!O){Ec=Ca;break}Av(j+(Ca<<3)|0,O,g);Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break h}}if((Ec|0)<10){Ca=Ec;while(1){if(c[l+(Ca<<2)>>2]|0){qa=-1;break h}Ca=Ca+1|0;if((Ca|0)>=10){qa=1;break}}}else qa=1}else qa=0;else qa=Q;while(0);i=m;return qa|0}function yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(zv(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0<d>>>0){j=vb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){f=d;while(1){if(!f){l=d;m=b;n=k;o=0;break b}p=f+-1|0;if((a[b+p>>0]|0)==10){q=f;break}else f=p}if((vb[c[e+36>>2]&63](e,b,q)|0)>>>0<q>>>0){j=q;break a}l=d-q|0;m=b+q|0;n=c[g>>2]|0;o=q}else{l=d;m=b;n=k;o=0}while(0);Dx(n|0,m|0,l|0)|0;c[g>>2]=(c[g>>2]|0)+l;j=o+l|0}while(0);return j|0}function zv(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function Av(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;g=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=g;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+h[i>>3];c[d>>2]=i+8;h[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function Bv(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;while(1){c=Ox(f|0,g|0,10,0)|0;h=e+-1|0;a[h>>0]=c|48;c=Nx(f|0,g|0,10,0)|0;if(g>>>0>9|(g|0)==9&f>>>0>4294967295){e=h;f=c;g=C}else{i=h;j=c;break}}k=i;l=j}else{k=d;l=b}if(!l)m=k;else{b=k;k=l;while(1){l=b+-1|0;a[l>>0]=(k>>>0)%10|0|48;if(k>>>0<10){m=l;break}else{b=l;k=(k>>>0)/10|0}}}return m|0}function Cv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=e;j=b;while(1){if((a[j>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=j+1|0;o=i+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=o;j=n}else{q=o;r=p;s=n;m=5;break}}}else{q=e;r=g;s=b;m=5}while(0);if((m|0)==5)if(r){k=q;l=s;m=6}else{t=0;u=s}b:do if((m|0)==6){s=d&255;if((a[l>>0]|0)==s<<24>>24){t=k;u=l}else{q=_(f,16843009)|0;c:do if(k>>>0>3){r=k;b=l;while(1){g=c[b>>2]^q;if((g&-2139062144^-2139062144)&g+-16843009|0){v=r;w=b;break}g=b+4|0;e=r+-4|0;if(e>>>0>3){r=e;b=g}else{x=e;y=g;m=11;break c}}z=v;A=w}else{x=k;y=l;m=11}while(0);if((m|0)==11)if(!x){t=0;u=y;break}else{z=x;A=y}while(1){if((a[A>>0]|0)==s<<24>>24){t=z;u=A;break b}q=A+1|0;z=z+-1|0;if(!z){t=0;u=q;break}else A=q}}}while(0);return (t|0?u:0)|0}function Dv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+256|0;h=g;do if((d|0)>(e|0)&(f&73728|0)==0){j=d-e|0;Fx(h|0,b|0,(j>>>0>256?256:j)|0)|0;k=c[a>>2]|0;l=(k&32|0)==0;if(j>>>0>255){m=d-e|0;n=j;o=k;k=l;while(1){if(k){yv(h,256,a)|0;p=c[a>>2]|0}else p=o;n=n+-256|0;k=(p&32|0)==0;if(n>>>0<=255)break;else o=p}if(k)q=m&255;else break}else if(l)q=j;else break;yv(h,q,a)|0}while(0);i=g;return}function Ev(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=Fv(a,b,0)|0;return c|0}function Fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(Yu()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function Gv(a,b){a=+a;b=b|0;return +(+Hv(a,b))}function Hv(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,l=0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;e=c[k+4>>2]|0;f=Cx(d|0,e|0,52)|0;g=f&2047;switch(g|0){case 0:{if(a!=0.0){i=+Hv(a*18446744073709551616.0,b);j=i;l=(c[b>>2]|0)+-64|0}else{j=a;l=0}c[b>>2]=l;m=j;break}case 2047:{m=a;break}default:{c[b>>2]=g+-1022;c[k>>2]=d;c[k+4>>2]=e&-2146435073|1071644672;m=+h[k>>3]}}return +m}function Iv(a){a=a|0;return 0}function Jv(a){a=a|0;var b=0;b=(nv(a)|0)==0;return (b?a:a&95)|0}function Kv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=b;a:do if(!(d&3)){e=b;f=4}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=4;break}else g=j}}while(0);if((f|0)==4){f=e;while(1){e=c[f>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009))f=f+4|0;else{k=e;l=f;break}}if(!((k&255)<<24>>24))m=l;else{k=l;while(1){l=k+1|0;if(!(a[l>>0]|0)){m=l;break}else k=l}}i=m}return i-d|0}function Lv(a){a=a|0;return ((a|0)==223|(jv(a)|0)!=(a|0))&1|0}function Mv(a){a=a|0;var b=0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))b=1;else return ((a+-65532|0)>>>0>1048579|(a&65534|0)==65534)&1^1|0;else b=(a+1&127)>>>0>32&1;return b|0}function Nv(a,b){a=a|0;b=b|0;var c=0;do switch(b|0){case 1:{c=Ov(a)|0;break}case 2:{c=lv(a)|0;break}case 3:{c=ev(a)|0;break}case 4:{c=Qv(a)|0;break}case 5:{c=Pv(a)|0;break}case 6:{c=Rv(a)|0;break}case 7:{c=Lv(a)|0;break}case 8:{c=Mv(a)|0;break}case 9:{c=Sv(a)|0;break}case 10:{c=pv(a)|0;break}case 11:{c=Tv(a)|0;break}case 12:{c=Uv(a)|0;break}default:c=0}while(0);return c|0}function Ov(a){a=a|0;var b=0;if(!(Pv(a)|0))b=(lv(a)|0)!=0;else b=1;return b&1|0}function Pv(a){a=a|0;return (a+-48|0)>>>0<10|0}function Qv(a){a=a|0;var b=0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))b=1;else b=(a+-65529|0)>>>0<3;return b&1|0}function Rv(a){a=a|0;var b=0;if(!(pv(a)|0))b=(Mv(a)|0)!=0;else b=0;return b&1|0}function Sv(a){a=a|0;var b=0;if(a>>>0<131072)b=(d[67061+((d[67061+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else b=0;return b|0}function Tv(a){a=a|0;return (mv(a)|0)!=(a|0)|0}function Uv(a){a=a|0;var b=0;if((a+-48|0)>>>0<10)b=1;else b=((a|32)+-97|0)>>>0<6;return b&1|0}function Vv(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a[b>>0]|0;a:do if(!(e<<24>>24)){f=0;g=c}else{h=e;i=e&255;j=b;k=c;while(1){l=a[k>>0]|0;if(!(l<<24>>24)){f=h;g=k;break a}if(h<<24>>24!=l<<24>>24?(l=hv(i)|0,(l|0)!=(hv(d[k>>0]|0)|0)):0){m=j;n=k;break}j=j+1|0;l=k+1|0;o=a[j>>0]|0;if(!(o<<24>>24)){f=0;g=l;break a}else{h=o;i=o&255;k=l}}f=a[m>>0]|0;g=n}while(0);n=hv(f&255)|0;return n-(hv(d[g>>0]|0)|0)|0}function Wv(a,b){a=a|0;b=b|0;Xv(a,b)|0;return a|0}function Xv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=b;i=d;while(1){j=a[i>>0]|0;a[h>>0]=j;if(!(j<<24>>24)){k=h;break a}j=i+1|0;l=h+1|0;if(!(j&3)){f=j;g=l;break}else{h=l;i=j}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=i;i=g;j=f;while(1){l=j+4|0;m=i+4|0;c[i>>2]=h;h=c[l>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){n=m;o=l;break}else{i=m;j=l}}}else{n=g;o=f}p=o;q=n;r=8}else{p=d;q=b;r=8}while(0);if((r|0)==8){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function Yv(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=_v(a,b,c,-1,0)|0;return d|0}function _v(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+112|0;h=g;c[h>>2]=0;j=h+4|0;c[j>>2]=a;c[h+44>>2]=a;k=h+8|0;c[k>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;$v(h,0);l=aw(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[j>>2]|0)+(c[h+108>>2]|0)-(c[k>>2]|0));i=g;return l|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function aw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;a:do if(e>>>0>36){c[(Yu()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=bw(b)|0}while((Yv(n)|0)!=0);o=n;b:do switch(o|0){case 43:case 45:{m=((o|0)==45)<<31>>31;p=c[k>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){c[k>>2]=p+1;q=d[p>>0]|0;r=m;break b}else{q=bw(b)|0;r=m;break b}break}default:{q=o;r=0}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){p=c[k>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){c[k>>2]=p+1;s=d[p>>0]|0}else s=bw(b)|0;if((s|32|0)!=120)if(m){t=8;u=s;v=46;break}else{w=e;x=s;v=32;break}p=c[k>>2]|0;if(p>>>0<(c[l>>2]|0)>>>0){c[k>>2]=p+1;y=d[p>>0]|0}else y=bw(b)|0;if((d[70230+y>>0]|0)>15){p=(c[l>>2]|0)==0;if(!p)c[k>>2]=(c[k>>2]|0)+-1;if(!f){$v(b,0);i=0;j=0;break a}if(p){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{t=16;u=y;v=46}}else{p=m?10:e;if((d[70230+q>>0]|0)>>>0<p>>>0){w=p;x=q;v=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;$v(b,0);c[(Yu()|0)>>2]=22;i=0;j=0;break a}}while(0);if((v|0)==32)if((w|0)==10){m=x+-48|0;if(m>>>0<10){p=m;m=0;while(1){z=(m*10|0)+p|0;A=c[k>>2]|0;if(A>>>0<(c[l>>2]|0)>>>0){c[k>>2]=A+1;B=d[A>>0]|0}else B=bw(b)|0;p=B+-48|0;if(!(p>>>0<10&z>>>0<429496729)){D=z;E=B;break}else m=z}F=D;G=0;H=E}else{F=0;G=0;H=x}m=H+-48|0;if(m>>>0<10){p=F;z=G;A=m;m=H;while(1){I=Mx(p|0,z|0,10,0)|0;J=C;K=((A|0)<0)<<31>>31;L=~K;if(J>>>0>L>>>0|(J|0)==(L|0)&I>>>0>~A>>>0){M=A;N=p;O=z;P=m;break}L=Ax(I|0,J|0,A|0,K|0)|0;K=C;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;Q=d[J>>0]|0}else Q=bw(b)|0;J=Q+-48|0;if(J>>>0<10&(K>>>0<429496729|(K|0)==429496729&L>>>0<2576980378)){p=L;z=K;A=J;m=Q}else{M=J;N=L;O=K;P=Q;break}}if(M>>>0>9){R=O;S=N;T=r}else{U=10;V=N;W=O;X=P;v=72}}else{R=G;S=F;T=r}}else{t=w;u=x;v=46}c:do if((v|0)==46){if(!(t+-1&t)){m=a[70486+((t*23|0)>>>5&7)>>0]|0;A=a[70230+u>>0]|0;z=A&255;if(z>>>0<t>>>0){p=z;z=0;while(1){K=p|z<<m;L=c[k>>2]|0;if(L>>>0<(c[l>>2]|0)>>>0){c[k>>2]=L+1;Y=d[L>>0]|0}else Y=bw(b)|0;L=a[70230+Y>>0]|0;p=L&255;if(!(K>>>0<134217728&p>>>0<t>>>0)){Z=K;$=L;aa=Y;break}else z=K}ba=$;ca=0;da=Z;ea=aa}else{ba=A;ca=0;da=0;ea=u}z=Cx(-1,-1,m|0)|0;p=C;if((ba&255)>>>0>=t>>>0|(ca>>>0>p>>>0|(ca|0)==(p|0)&da>>>0>z>>>0)){U=t;V=da;W=ca;X=ea;v=72;break}else{fa=da;ga=ca;ha=ba}while(1){K=Ix(fa|0,ga|0,m|0)|0;L=C;J=ha&255|K;K=c[k>>2]|0;if(K>>>0<(c[l>>2]|0)>>>0){c[k>>2]=K+1;ia=d[K>>0]|0}else ia=bw(b)|0;ha=a[70230+ia>>0]|0;if((ha&255)>>>0>=t>>>0|(L>>>0>p>>>0|(L|0)==(p|0)&J>>>0>z>>>0)){U=t;V=J;W=L;X=ia;v=72;break c}else{fa=J;ga=L}}}z=a[70230+u>>0]|0;p=z&255;if(p>>>0<t>>>0){m=p;p=0;while(1){A=m+(_(p,t)|0)|0;L=c[k>>2]|0;if(L>>>0<(c[l>>2]|0)>>>0){c[k>>2]=L+1;ja=d[L>>0]|0}else ja=bw(b)|0;L=a[70230+ja>>0]|0;m=L&255;if(!(A>>>0<119304647&m>>>0<t>>>0)){ka=A;la=L;ma=ja;break}else p=A}na=la;oa=ka;pa=0;qa=ma}else{na=z;oa=0;pa=0;qa=u}if((na&255)>>>0<t>>>0){p=Nx(-1,-1,t|0,0)|0;m=C;A=pa;L=oa;J=na;K=qa;while(1){if(A>>>0>m>>>0|(A|0)==(m|0)&L>>>0>p>>>0){U=t;V=L;W=A;X=K;v=72;break c}I=Mx(L|0,A|0,t|0,0)|0;ra=C;sa=J&255;if(ra>>>0>4294967295|(ra|0)==-1&I>>>0>~sa>>>0){U=t;V=L;W=A;X=K;v=72;break c}ta=Ax(sa|0,0,I|0,ra|0)|0;ra=C;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;ua=d[I>>0]|0}else ua=bw(b)|0;J=a[70230+ua>>0]|0;if((J&255)>>>0>=t>>>0){U=t;V=ta;W=ra;X=ua;v=72;break}else{A=ra;L=ta;K=ua}}}else{U=t;V=oa;W=pa;X=qa;v=72}}while(0);if((v|0)==72)if((d[70230+X>>0]|0)>>>0<U>>>0){do{K=c[k>>2]|0;if(K>>>0<(c[l>>2]|0)>>>0){c[k>>2]=K+1;va=d[K>>0]|0}else va=bw(b)|0}while((d[70230+va>>0]|0)>>>0<U>>>0);c[(Yu()|0)>>2]=34;R=h;S=g;T=(g&1|0)==0&0==0?r:0}else{R=W;S=V;T=r}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(R>>>0<h>>>0|(R|0)==(h|0)&S>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(T|0)!=0)){c[(Yu()|0)>>2]=34;K=Ax(g|0,h|0,-1,-1)|0;i=C;j=K;break}if(R>>>0>h>>>0|(R|0)==(h|0)&S>>>0>g>>>0){c[(Yu()|0)>>2]=34;i=h;j=g;break}}K=((T|0)<0)<<31>>31;L=zx(S^T|0,R^K|0,T|0,K|0)|0;i=C;j=L}while(0);C=i;return j|0}function bw(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=cw(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((d[e>>0]|0|0)==(f|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function cw(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b;if((c[a+8>>2]|0)==0?(dw(a)|0)!=0:0)f=-1;else if((vb[c[a+32>>2]&63](a,e,1)|0)==1)f=d[e>>0]|0;else f=-1;i=b;return f|0}function dw(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+44|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)vb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(e&20)if(!(e&4))f=-1;else{c[b>>2]=e|32;f=-1}else{e=c[d>>2]|0;c[b+8>>2]=e;c[b+4>>2]=e;f=0}return f|0}function ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=fw(a,b,f)|0;i=e;return d|0}
-function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;f=e+32|0;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=nn(c[h>>2]|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+16>>2];c[m>>2]=nn((c[h>>2]|0)+4|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+20>>2];c[j>>2]=nn((c[h>>2]|0)+8|0)|0;c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096+24>>2];c[k>>2]=nn((c[h>>2]|0)+12|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+28>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[k>>2]=c[k>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0);c[k>>2]=((c[k>>2]|0)>>>1)+(c[k>>2]<<31);c[j>>2]=(c[j>>2]<<1)+((c[j>>2]|0)>>>31);c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[n>>2]|0);c[m>>2]=c[m>>2]^(c[o>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0);c[m>>2]=((c[m>>2]|0)>>>1)+(c[m>>2]<<31);c[l>>2]=(c[l>>2]<<1)+((c[l>>2]|0)>>>31);c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096>>2];on(c[g>>2]|0,c[j>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+4>>2];on((c[g>>2]|0)+4|0,c[k>>2]|0);c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+8>>2];on((c[g>>2]|0)+8|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+12>>2];on((c[g>>2]|0)+12|0,c[m>>2]|0);i=e;return}function rn(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=4;c[a+4>>2]=16;c[a>>2]=4256;b=as(43442,13,14,8,4,16,4256)|0;i=a;return b|0}function sn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+96|0;k=j+60|0;l=j+56|0;m=j+52|0;n=j+48|0;o=j+44|0;p=j+40|0;q=j+36|0;r=j+32|0;s=j+72|0;t=j+28|0;u=j+24|0;v=j+20|0;w=j+16|0;x=j+12|0;y=j+64|0;z=j;A=j+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[u>>2]=0;while(1){if(!(c[o>>2]|0))break;c[t>>2]=ln(c[p>>2]|0,s,c[l>>2]|0)|0;if((c[t>>2]|0)>>>0>(c[u>>2]|0)>>>0)c[u>>2]=c[t>>2];tn(c[q>>2]|0,s,c[r>>2]|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[v>>2]=16;while(1){if((c[v>>2]|0)<=0)break;n=(c[l>>2]|0)+((c[v>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[l>>2]|0)+((c[v>>2]|0)-1)>>0]|0)break;c[v>>2]=(c[v>>2]|0)+-1}c[o>>2]=(c[o>>2]|0)+-1}c[w>>2]=s;c[x>>2]=16;a[y>>0]=0;s=z;c[s>>2]=d[y>>0];c[s+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){s=z;o=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=z;c[s>>2]=o;c[s+4>>2]=C;do{c[A>>2]=c[w>>2];s=z;o=c[s+4>>2]|0;v=c[A>>2]|0;c[v>>2]=c[s>>2];c[v+4>>2]=o;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}If(c[u>>2]|0);Jf();i=j;return}function tn(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function un(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=Yr(43442,13,14,6,5,16,4256)|0;i=a;return b|0}function vn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=i;i=i+80|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+64|0;t=j+24|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+60|0;y=j;z=j+8|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[u>>2]=0;while(1){if(!(c[o>>2]|0))break;c[t>>2]=pn(c[p>>2]|0,s,c[r>>2]|0)|0;if((c[t>>2]|0)>>>0>(c[u>>2]|0)>>>0)c[u>>2]=c[t>>2];wn(c[q>>2]|0,s,c[l>>2]|0,c[r>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}c[v>>2]=s;c[w>>2]=16;a[x>>0]=0;s=y;c[s>>2]=d[x>>0];c[s+4>>2]=0;while(1){if(!(c[v>>2]&7|0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){s=y;o=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=y;c[s>>2]=o;c[s+4>>2]=C;do{c[z>>2]=c[v>>2];s=y;o=c[s+4>>2]|0;q=c[z>>2]|0;c[q>>2]=c[s>>2];c[q+4>>2]=o;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}If(c[u>>2]|0);Jf();i=j;return}function wn(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function xn(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=5;c[a+4>>2]=16;c[a>>2]=4256;b=_r(43442,13,14,7,5,16,4256)|0;i=a;return b|0}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[r>>2]=0;while(1){if(!(c[m>>2]|0))break;c[q>>2]=ln(c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)>>>0>(c[r>>2]|0)>>>0)c[r>>2]=c[q>>2];zn(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}If(c[r>>2]|0);Jf();i=g;return}function zn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wn(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function An(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[17706]=c[e>>2];c[17707]=c[f>>2];i=d;return}function Bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[17706]|0)){i=f;return}wb[c[17706]&15](c[17707]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function Cn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;do if(c[d>>2]|0){if((c[d>>2]|0)==1){c[17709]=1;break}if(!(c[17708]|0)){if((c[d>>2]|0)==2){c[17710]=1;break}if((c[d>>2]|0)==3)c[17711]=1}}else c[17708]=1;while(0);i=b;return}function Dn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){et(c[d>>2]|0);i=b;return}if(c[17709]|0){Fs(c[d>>2]|0);i=b;return}if(c[17710]|0){et(c[d>>2]|0);i=b;return}a=c[d>>2]|0;if(c[17711]|0){It(a);i=b;return}else{Fs(a);i=b;return}}function En(){if(Ah()|0){kt();return}if(c[17709]|0){Ps();return}if(c[17710]|0){kt();return}if(c[17711]|0){Kt();return}else{Ps();return}}function Fn(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(!(c[e>>2]|0)?Ah()|0:0)c[d>>2]=2;else f=4;do if((f|0)==4){if(c[17709]|0){c[d>>2]=1;break}if(c[17710]|0){c[d>>2]=2;break}if(c[17711]|0){c[d>>2]=3;break}else{c[d>>2]=1;break}}while(0);i=b;return c[d>>2]|0}function Gn(){if(Ah()|0){lt();return}else{Qs();return}}function Hn(){if(Ah()|0)return;Rs();return}function In(){if(Ah()|0)return;Ss();return}function Jn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){i=b;return}Ts(c[d>>2]|0);i=b;return}function Kn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=0;else c[d>>2]=Us(c[e>>2]|0)|0;i=b;return c[d>>2]|0}function Ln(){var a=0,b=0;a=i;i=i+16|0;b=a;if(Ah()|0)c[b>>2]=mt()|0;else c[b>>2]=Vs()|0;i=a;return c[b>>2]|0}function Mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=dg(c[e>>2]|0)|0;Nn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function Nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(Ah()|0){nt(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17709]|0){Ws(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}if(c[17710]|0){nt(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}d=c[f>>2]|0;f=c[g>>2]|0;g=c[h>>2]|0;if(c[17711]|0){Nt(d,f,g);i=e;return}else{Ws(d,f,g);i=e;return}}function On(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=fg(c[e>>2]|0)|0;Nn(c[g>>2]|0,c[e>>2]|0,c[f>>2]|0);i=d;return c[g>>2]|0}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Nn(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function Qn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(Ah()|0){i=b;return}if(c[17709]|0){bt(c[d>>2]|0);i=b;return}if((c[17710]|0)!=0|(c[17711]|0)!=0){i=b;return}bt(c[d>>2]|0);i=b;return}function Rn(){if(Ah()|0)return;if(c[17709]|0){ct();return}if((c[17710]|0)!=0|(c[17711]|0)!=0)return;ct();return}function Sn(){if(Ah()|0)return;if(c[17709]|0){dt();return}if((c[17710]|0)!=0|(c[17711]|0)!=0)return;dt();return}function Tn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;f=e+8|0;g=e;h=e+40|0;j=e+36|0;k=e+32|0;l=e+28|0;m=e+24|0;n=e+20|0;o=e+16|0;p=e+12|0;c[h>>2]=b;c[j>>2]=d;if(Ah()|0){At(c[h>>2]|0,c[j>>2]|0);i=e;return}Dn(1);c[n>>2]=lu(12532)|0;if(c[n>>2]|0){c[g>>2]=fu(c[n>>2]|0)|0;Bf(45492,g)}c[k>>2]=Dw()|0;if(c[17712]|0){if((c[17713]|0)!=(c[k>>2]|0)){Nn(76451,8,0);c[17713]=c[k>>2]}}else{c[o>>2]=jb(0)|0;c[p>>2]=c[k>>2];c[17713]=c[k>>2];c[l>>2]=76431;k=c[l>>2]|0;a[k>>0]=a[p>>0]|0;a[k+1>>0]=a[p+1>>0]|0;a[k+2>>0]=a[p+2>>0]|0;a[k+3>>0]=a[p+3>>0]|0;c[l>>2]=(c[l>>2]|0)+4;p=c[l>>2]|0;a[p>>0]=a[o>>0]|0;a[p+1>>0]=a[o+1>>0]|0;a[p+2>>0]=a[o+2>>0]|0;a[p+3>>0]=a[o+3>>0]|0;Pn(76451,8,0);c[17712]=1}c[l>>2]=c[h>>2];while(1){if((c[j>>2]|0)>>>0<=0)break;Bm(76431,76431,28);c[m>>2]=(c[j>>2]|0)>>>0>20?20:c[j>>2]|0;Dx(c[l>>2]|0,76431,c[m>>2]|0)|0;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0)}c[n>>2]=mu(12532)|0;if(c[n>>2]|0){c[f>>2]=fu(c[n>>2]|0)|0;Bf(45537,f)}else{i=e;return}}function Un(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;if(Ah()|0)c[d>>2]=Bt(c[e>>2]|0)|0;else c[d>>2]=0;i=b;return c[d>>2]|0}function Vn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;i=i+48|0;l=k+32|0;m=k+28|0;n=k+24|0;o=k+20|0;p=k+16|0;q=k+12|0;r=k+8|0;s=k+4|0;t=k;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;if(Ah()|0){c[l>>2]=Ft(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;u=c[l>>2]|0;i=k;return u|0}else{c[l>>2]=60;u=c[l>>2]|0;i=k;return u|0}return 0}function Wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;if(Ah()|0){c[f>>2]=Gt(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;k=c[f>>2]|0;i=e;return k|0}else{c[f>>2]=60;k=c[f>>2]|0;i=e;return k|0}return 0}function Xn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(Ah()|0)){i=b;return}Ht(c[d>>2]|0);i=b;return}function Yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+144|0;g=f+8|0;h=f;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+32|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;if(!(c[k>>2]|0)){c[h>>2]=e;tv(o,99,45582,h)|0;Hf(o,0);i=f;return}c[g>>2]=e;tv(o,99,45587,g)|0;if(c[l>>2]|0){c[m>>2]=vq(0)|0;c[n>>2]=vq(0)|0}if(c[l>>2]|0?!(Zn(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0,c[l>>2]|0)|0):0){a[o+((Kv(o)|0)-1)>>0]=120;Hf(o,c[m>>2]|0);a[o+((Kv(o)|0)-1)>>0]=121;Hf(o,c[n>>2]|0)}else{Hf(o,c[c[k>>2]>>2]|0);a[o+((Kv(o)|0)-1)>>0]=89;Hf(o,c[(c[k>>2]|0)+4>>2]|0);a[o+((Kv(o)|0)-1)>>0]=90;Hf(o,c[(c[k>>2]|0)+8>>2]|0)}if(!(c[l>>2]|0)){i=f;return}xq(c[m>>2]|0);xq(c[n>>2]|0);i=f;return}function Zn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+48|0;g=f;h=f+40|0;j=f+36|0;k=f+32|0;l=f+28|0;m=f+24|0;n=f+20|0;o=f+16|0;p=f+12|0;q=f+8|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;if(!($o(c[(c[l>>2]|0)+8>>2]|0,0)|0)){c[h>>2]=-1;r=c[h>>2]|0;i=f;return r|0}switch(c[c[m>>2]>>2]|0){case 0:{c[n>>2]=vq(0)|0;c[o>>2]=vq(0)|0;_n(c[n>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[m>>2]|0);$n(c[o>>2]|0,c[n>>2]|0,c[n>>2]|0,c[m>>2]|0);if(c[j>>2]|0)$n(c[j>>2]|0,c[c[l>>2]>>2]|0,c[o>>2]|0,c[m>>2]|0);if(c[k>>2]|0){c[p>>2]=vq(0)|0;$n(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0);$n(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,c[p>>2]|0,c[m>>2]|0);hq(c[p>>2]|0)}hq(c[o>>2]|0);hq(c[n>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}case 1:{if(c[j>>2]|0)oq(c[j>>2]|0,c[c[l>>2]>>2]|0)|0;if(c[k>>2]|0){c[g>>2]=45683;c[g+4>>2]=45707;Bf(45634,g)}c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}case 2:{c[q>>2]=vq(0)|0;_n(c[q>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[m>>2]|0);if(c[j>>2]|0)$n(c[j>>2]|0,c[c[l>>2]>>2]|0,c[q>>2]|0,c[m>>2]|0);if(c[k>>2]|0)$n(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0,c[q>>2]|0,c[m>>2]|0);xq(c[q>>2]|0);c[h>>2]=0;r=c[h>>2]|0;i=f;return r|0}default:{c[h>>2]=-1;r=c[h>>2]|0;i=f;return r|0}}return 0}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(pp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0){i=e;return}Af(45592,e);Hf(45626,c[g>>2]|0);Hf(45630,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function $n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;up(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ao(c[g>>2]|0,c[k>>2]|0);i=f;return}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[e>>2]|0;e=c[f>>2]|0;if(c[(c[f>>2]|0)+48+12>>2]|0){tp(b,a,c[e+48+12>>2]|0);i=d;return}else{qp(b,a,c[e+16>>2]|0);i=d;return}}function bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[b+4>>2]=a;c[d>>2]=dg(12)|0;co(c[d>>2]|0);i=b;return c[d>>2]|0}function co(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vq(0)|0;c[c[d>>2]>>2]=a;a=vq(0)|0;c[(c[d>>2]|0)+4>>2]=a;a=vq(0)|0;c[(c[d>>2]|0)+8>>2]=a;i=b;return}function eo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}fo(c[d>>2]|0);$f(c[d>>2]|0);i=b;return}function fo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hq(c[c[d>>2]>>2]|0);c[c[d>>2]>>2]=0;hq(c[(c[d>>2]|0)+4>>2]|0);c[(c[d>>2]|0)+4>>2]=0;hq(c[(c[d>>2]|0)+8>>2]|0);c[(c[d>>2]|0)+8>>2]=0;i=b;return}function go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))c[g>>2]=bo(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)oq(e,c[h>>2]|0)|0;else fq(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[j>>2]|0)oq(e,c[j>>2]|0)|0;else fq(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[k>>2]|0){oq(e,c[k>>2]|0)|0;l=c[g>>2]|0;i=f;return l|0}else{fq(e);l=c[g>>2]|0;i=f;return l|0}return 0}function ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0))c[g>>2]=bo(0)|0;e=c[c[g>>2]>>2]|0;if(c[h>>2]|0)qq(e,c[h>>2]|0);else fq(e);e=c[(c[g>>2]|0)+4>>2]|0;if(c[j>>2]|0)qq(e,c[j>>2]|0);else fq(e);e=c[(c[g>>2]|0)+8>>2]|0;if(c[k>>2]|0){qq(e,c[k>>2]|0);l=c[g>>2]|0;i=f;return l|0}else{fq(e);l=c[g>>2]|0;i=f;return l|0}return 0}function io(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2;b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3;i=d;return}function jo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;i=i+32|0;j=h+24|0;k=h+20|0;l=h+16|0;m=h+12|0;n=h+8|0;o=h+4|0;p=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=gg(1,108)|0;ko(c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);i=h;return c[p>>2]|0}function ko(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+32|0;k=j+28|0;l=j+24|0;m=j+20|0;n=j+16|0;o=j+12|0;p=j+8|0;q=j+4|0;r=j;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;do if(!(c[17714]|0))if(Ya(45718)|0){c[17714]=1;break}else{c[17714]=-1;break}while(0);c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[m>>2]|0)==1)c[(c[k>>2]|0)+12>>2]=256;else{m=Ro(c[o>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=m}m=mq(c[o>>2]|0)|0;c[(c[k>>2]|0)+16>>2]=m;m=mq(c[p>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=m;m=mq(c[q>>2]|0)|0;c[(c[k>>2]|0)+24>>2]=m;if((c[17714]|0)>0)s=rp(c[(c[k>>2]|0)+16>>2]|0,0)|0;else s=0;c[(c[k>>2]|0)+48+12>>2]=s;io(c[k>>2]|0);c[r>>2]=0;while(1){if((c[r>>2]|0)>>>0>=11)break;s=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+48+16+(c[r>>2]<<2)>>2]=s;c[r>>2]=(c[r>>2]|0)+1}i=j;return}function lo(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+48|0;k=j+36|0;l=j+32|0;m=j+28|0;n=j+24|0;o=j+20|0;p=j+16|0;q=j+12|0;r=j+8|0;s=j+4|0;t=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[c[l>>2]>>2]=0;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){c[k>>2]=32816;u=c[k>>2]|0;i=j;return u|0}c[s>>2]=Wh(1,108,5)|0;if(c[s>>2]|0){c[t>>2]=Xh(c[s>>2]|0,1)|0;ko(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0);c[c[l>>2]>>2]=c[s>>2];c[k>>2]=0;u=c[k>>2]|0;i=j;return u|0}else{c[k>>2]=iu()|0;u=c[k>>2]|0;i=j;return u|0}return 0}function mo(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[d>>2];sp(c[(c[e>>2]|0)+48+12>>2]|0);hq(c[(c[e>>2]|0)+16>>2]|0);hq(c[(c[e>>2]|0)+20>>2]|0);hq(c[(c[e>>2]|0)+24>>2]|0);eo(c[(c[e>>2]|0)+28>>2]|0);hq(c[(c[e>>2]|0)+32>>2]|0);hq(c[(c[e>>2]|0)+36>>2]|0);eo(c[(c[e>>2]|0)+40>>2]|0);hq(c[(c[e>>2]|0)+44>>2]|0);hq(c[(c[e>>2]|0)+48+8>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=11)break;hq(c[(c[e>>2]|0)+48+16+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=b;return}function no(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}mo(c[d>>2]|0);$f(c[d>>2]|0);i=b;return}function oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Xh(c[g>>2]|0,1)|0;g=Ei(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function po(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e;c[f>>2]=a;c[g>>2]=b;c[e+4>>2]=d;c[h>>2]=Xh(c[g>>2]|0,1)|0;g=Fi(c[f>>2]|0,c[h>>2]|0)|0;i=e;return g|0}function qo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[c[h>>2]>>2]|0){case 0:{ro(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 1:{yo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}case 2:{zo(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}default:{i=e;return}}}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if($o(c[(c[g>>2]|0)+4>>2]|0,0)|0?$o(c[(c[g>>2]|0)+8>>2]|0,0)|0:0){d=(so(c[h>>2]|0)|0)!=0;b=(c[h>>2]|0)+48+16|0;if(d){to(c[b>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);uo(c[(c[h>>2]|0)+48+16+12>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;a=c[(c[h>>2]|0)+48+16+12>>2]|0;j=Aq(3)|0;$n(d,a,j,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0)}else{to(c[b+12>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);b=c[(c[h>>2]|0)+48+16+12>>2]|0;j=c[(c[h>>2]|0)+48+16+12>>2]|0;a=Aq(3)|0;$n(b,j,a,c[h>>2]|0);a=c[(c[h>>2]|0)+48+16>>2]|0;j=c[(c[g>>2]|0)+8>>2]|0;b=Aq(4)|0;wo(a,j,b,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0)}$n(c[(c[f>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);xo(c[(c[f>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);$n(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);g=c[(c[h>>2]|0)+48+16+16>>2]|0;b=c[(c[h>>2]|0)+48+16+16>>2]|0;j=Aq(4)|0;$n(g,b,j,c[h>>2]|0);to(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);xo(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);j=c[(c[h>>2]|0)+48+16+20>>2]|0;b=c[(c[h>>2]|0)+48+16+4>>2]|0;g=Aq(5)|0;$n(j,b,g,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);i=e;return}sq(c[c[f>>2]>>2]|0,1)|0;sq(c[(c[f>>2]|0)+4>>2]|0,1)|0;sq(c[(c[f>>2]|0)+8>>2]|0,0)|0;i=e;return}function so(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=b;if(a[(c[e>>2]|0)+48>>0]&1|0){g=c[e>>2]|0;h=g+48|0;j=h+4|0;k=c[j>>2]|0;i=d;return k|0}b=(c[e>>2]|0)+48|0;a[b>>0]=a[b>>0]&-2|1;c[f>>2]=pq(c[(c[e>>2]|0)+16>>2]|0)|0;Mo(c[f>>2]|0,c[(c[e>>2]|0)+16>>2]|0,3);b=((ap(c[(c[e>>2]|0)+20>>2]|0,c[f>>2]|0)|0)!=0^1)&1;c[(c[e>>2]|0)+48+4>>2]=b;hq(c[f>>2]|0);g=c[e>>2]|0;h=g+48|0;j=h+4|0;k=c[j>>2]|0;i=d;return k|0}function to(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;$n(c[f>>2]|0,c[g>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=e;No(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=f;return}function vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;Lo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);ao(c[g>>2]|0,c[k>>2]|0);i=f;return}function wo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;wp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0);i=f;return}function xo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;_o(c[f>>2]|0,c[g>>2]|0,1);ao(c[f>>2]|0,c[h>>2]|0);i=e;return}function yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;c[e+16>>2]=a;c[e+12>>2]=b;c[e+8>>2]=d;c[f>>2]=45759;c[f+4>>2]=45707;Bf(45733,f)}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;vo(c[(c[h>>2]|0)+48+16>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+4>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+8>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0);d=c[(c[h>>2]|0)+48+16+12>>2]|0;b=c[h>>2]|0;if((c[(c[h>>2]|0)+4>>2]|0)==1){oq(d,c[b+48+16+4>>2]|0)|0;nq(c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0)}else $n(d,c[b+20>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);vo(c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);to(c[(c[h>>2]|0)+48+16+20>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0);xo(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+20>>2]|0,c[h>>2]|0);uo(c[(c[h>>2]|0)+48+16+24>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+48+16+4>>2]|0,c[h>>2]|0);uo(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);$n(c[c[f>>2]>>2]|0,c[c[f>>2]>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);uo(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+48+16+8>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[h>>2]|0);$n(c[(c[f>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+48+16+16>>2]|0,c[(c[h>>2]|0)+48+16+24>>2]|0,c[h>>2]|0);i=e;return}function Ao(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;switch(c[c[k>>2]>>2]|0){case 0:{Bo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}case 1:{Do(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}case 2:{Eo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}default:{i=f;return}}}function Bo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if(((ap(c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0)|0)==0?(ap(c[(c[h>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0)==0:0)?(ap(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0)==0:0){qo(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0);i=f;return}if(!($o(c[(c[h>>2]|0)+8>>2]|0,0)|0)){oq(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0;i=f;return}if(!($o(c[(c[j>>2]|0)+8>>2]|0,0)|0)){oq(c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0)|0;i=f;return}c[l>>2]=(($o(c[(c[h>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;c[m>>2]=(($o(c[(c[j>>2]|0)+8>>2]|0,1)|0)!=0^1)&1;e=c[(c[k>>2]|0)+48+16>>2]|0;if(c[m>>2]|0)oq(e,c[c[h>>2]>>2]|0)|0;else{to(e,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[c[h>>2]>>2]|0,c[k>>2]|0)}e=c[(c[k>>2]|0)+48+16+4>>2]|0;if(c[l>>2]|0)oq(e,c[c[j>>2]>>2]|0)|0;else{to(e,c[(c[h>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)}uo(c[(c[k>>2]|0)+48+16+8>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[k>>2]|0);e=c[(c[k>>2]|0)+48+16+12>>2]|0;l=c[(c[j>>2]|0)+8>>2]|0;m=Aq(3)|0;wo(e,l,m,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[k>>2]|0);m=c[(c[k>>2]|0)+48+16+16>>2]|0;l=c[(c[h>>2]|0)+8>>2]|0;e=Aq(3)|0;wo(m,l,e,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+20>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);e=($o(c[(c[k>>2]|0)+48+16+8>>2]|0,0)|0)!=0;l=(c[k>>2]|0)+48+16|0;if(e){vo(c[l+24>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+28>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);$n(c[(c[g>>2]|0)+8>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[(c[g>>2]|0)+8>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+24>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[k>>2]|0);xo(c[(c[k>>2]|0)+48+16+36>>2]|0,c[c[g>>2]>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+40>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);j=c[(c[k>>2]|0)+48+16+36>>2]|0;e=c[(c[k>>2]|0)+48+16+8>>2]|0;m=Aq(3)|0;wo(j,e,m,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[(c[k>>2]|0)+48+16+28>>2]|0,c[k>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+32>>2]|0,c[(c[k>>2]|0)+48+16+36>>2]|0,c[k>>2]|0);m=c[(c[g>>2]|0)+4>>2]|0;e=c[(c[g>>2]|0)+4>>2]|0;j=Co(c[k>>2]|0)|0;$n(m,e,j,c[k>>2]|0);i=f;return}j=($o(c[l+20>>2]|0,0)|0)!=0;l=c[g>>2]|0;if(j){sq(c[l>>2]|0,1)|0;sq(c[(c[g>>2]|0)+4>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,0)|0;i=f;return}else{qo(l,c[h>>2]|0,c[k>>2]|0);i=f;return}}function Co(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+16|0;f=e;c[f>>2]=b;if((d[(c[f>>2]|0)+48>>0]|0)>>>1&1|0){g=c[f>>2]|0;h=g+48|0;j=h+8|0;k=c[j>>2]|0;i=e;return k|0}b=(c[f>>2]|0)+48|0;a[b>>0]=a[b>>0]&-3|2;if(!(c[(c[f>>2]|0)+48+8>>2]|0)){b=$p(0)|0;c[(c[f>>2]|0)+48+8>>2]=b}b=c[(c[f>>2]|0)+48+8>>2]|0;l=Aq(2)|0;_n(b,l,c[f>>2]|0);g=c[f>>2]|0;h=g+48|0;j=h+8|0;k=c[j>>2]|0;i=e;return k|0}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+32|0;g=f;c[f+20>>2]=a;c[f+16>>2]=b;c[f+12>>2]=d;c[f+8>>2]=e;c[g>>2]=45782;c[g+4>>2]=45707;Bf(45733,g)}function Eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$n(c[(c[k>>2]|0)+48+16>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);to(c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+8>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);$n(c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[k>>2]|0);uo(c[(c[k>>2]|0)+48+16+20>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+24>>2]|0,c[(c[k>>2]|0)+48+16+4>>2]|0,c[(c[k>>2]|0)+48+16+16>>2]|0,c[k>>2]|0);vo(c[(c[k>>2]|0)+48+16+28>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[k>>2]|0);vo(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+28>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);uo(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16+20>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+48+16>>2]|0,c[k>>2]|0);j=c[(c[g>>2]|0)+4>>2]|0;h=c[k>>2]|0;if((c[(c[k>>2]|0)+4>>2]|0)==1){oq(j,c[h+48+16+8>>2]|0)|0;nq(c[(c[g>>2]|0)+4>>2]|0,c[(c[g>>2]|0)+4>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0);l=c[g>>2]|0;m=l+4|0;n=c[m>>2]|0;o=c[g>>2]|0;p=o+4|0;q=c[p>>2]|0;r=c[k>>2]|0;s=r+48|0;t=s+16|0;u=t+24|0;v=c[u>>2]|0;w=c[k>>2]|0;$n(n,q,v,w);x=c[g>>2]|0;y=x+4|0;z=c[y>>2]|0;A=c[g>>2]|0;B=A+4|0;C=c[B>>2]|0;D=c[k>>2]|0;E=D+48|0;F=E+16|0;G=c[F>>2]|0;H=c[k>>2]|0;$n(z,C,G,H);I=c[g>>2]|0;J=I+8|0;K=c[J>>2]|0;L=c[k>>2]|0;M=L+48|0;N=M+16|0;O=N+20|0;P=c[O>>2]|0;Q=c[k>>2]|0;R=Q+48|0;S=R+16|0;T=S+24|0;U=c[T>>2]|0;V=c[k>>2]|0;$n(K,P,U,V);i=f;return}else{$n(j,c[h+20>>2]|0,c[(c[k>>2]|0)+48+16+8>>2]|0,c[k>>2]|0);uo(c[(c[g>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+48+16+12>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[k>>2]|0);l=c[g>>2]|0;m=l+4|0;n=c[m>>2]|0;o=c[g>>2]|0;p=o+4|0;q=c[p>>2]|0;r=c[k>>2]|0;s=r+48|0;t=s+16|0;u=t+24|0;v=c[u>>2]|0;w=c[k>>2]|0;$n(n,q,v,w);x=c[g>>2]|0;y=x+4|0;z=c[y>>2]|0;A=c[g>>2]|0;B=A+4|0;C=c[B>>2]|0;D=c[k>>2]|0;E=D+48|0;F=E+16|0;G=c[F>>2]|0;H=c[k>>2]|0;$n(z,C,G,H);I=c[g>>2]|0;J=I+8|0;K=c[J>>2]|0;L=c[k>>2]|0;M=L+48|0;N=M+16|0;O=N+20|0;P=c[O>>2]|0;Q=c[k>>2]|0;R=Q+48|0;S=R+16|0;T=S+24|0;U=c[T>>2]|0;V=c[k>>2]|0;$n(K,P,U,V);i=f;return}}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;oq(c[c[e>>2]>>2]|0,c[c[f>>2]>>2]|0)|0;oq(c[(c[e>>2]|0)+4>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;oq(c[(c[e>>2]|0)+8>>2]|0,c[(c[f>>2]|0)+8>>2]|0)|0;i=d;return}function Go(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=i;i=i+176|0;g=f+168|0;h=f+164|0;j=f+160|0;k=f+156|0;l=f+152|0;m=f+148|0;n=f+144|0;o=f+140|0;p=f+136|0;q=f+132|0;r=f+128|0;s=f+124|0;t=f+112|0;u=f+100|0;v=f+88|0;w=f+84|0;x=f+80|0;y=f+68|0;z=f+64|0;A=f+60|0;B=f+48|0;C=f+36|0;D=f+32|0;E=f+28|0;F=f+24|0;G=f+20|0;H=f+16|0;I=f+12|0;J=f+8|0;K=f+4|0;L=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[k>>2]>>2]|0)==2){c[w>>2]=Ro(c[h>>2]|0)|0;sq(c[c[g>>2]>>2]|0,0)|0;sq(c[(c[g>>2]|0)+4>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&1|0:0){co(y);c[x>>2]=(c[w>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);Ao(y,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);if(So(c[h>>2]|0,c[x>>2]|0)|0)Fo(c[g>>2]|0,y);c[x>>2]=(c[x>>2]|0)+-1}fo(y);i=f;return}c[x>>2]=(c[w>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);if(So(c[h>>2]|0,c[x>>2]|0)|0)Ao(c[g>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0);c[x>>2]=(c[x>>2]|0)+-1}i=f;return}if((c[c[k>>2]>>2]|0)==1){c[z>>2]=Ro(c[h>>2]|0)|0;co(t);co(u);co(B);co(C);sq(c[t>>2]|0,1)|0;hq(c[u>>2]|0);c[u>>2]=mq(c[c[j>>2]>>2]|0)|0;sq(c[u+8>>2]|0,1)|0;c[I>>2]=(((c[z>>2]|0)+32-1<<1>>>0)/32|0)+1;eq(c[t>>2]|0,c[I>>2]|0);eq(c[t+8>>2]|0,c[I>>2]|0);eq(c[u>>2]|0,c[I>>2]|0);eq(c[u+8>>2]|0,c[I>>2]|0);eq(c[B>>2]|0,c[I>>2]|0);eq(c[B+8>>2]|0,c[I>>2]|0);eq(c[C>>2]|0,c[I>>2]|0);eq(c[C+8>>2]|0,c[I>>2]|0);c[D>>2]=t;c[E>>2]=u;c[F>>2]=B;c[G>>2]=C;c[A>>2]=(c[z>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;c[H>>2]=So(c[h>>2]|0,c[A>>2]|0)|0;uq(c[c[D>>2]>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0);uq(c[(c[D>>2]|0)+8>>2]|0,c[(c[E>>2]|0)+8>>2]|0,c[H>>2]|0);Ho(c[F>>2]|0,c[G>>2]|0,c[D>>2]|0,c[E>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0);uq(c[c[F>>2]>>2]|0,c[c[G>>2]>>2]|0,c[H>>2]|0);uq(c[(c[F>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[H>>2]|0);c[J>>2]=c[D>>2];c[D>>2]=c[F>>2];c[F>>2]=c[J>>2];c[J>>2]=c[E>>2];c[E>>2]=c[G>>2];c[G>>2]=c[J>>2];c[A>>2]=(c[A>>2]|0)+-1}fq(c[(c[g>>2]|0)+4>>2]|0);c[H>>2]=c[z>>2]&1;uq(c[t>>2]|0,c[B>>2]|0,c[H>>2]|0);uq(c[t+8>>2]|0,c[B+8>>2]|0,c[H>>2]|0);if(!(c[(c[t+8>>2]|0)+4>>2]|0)){sq(c[c[g>>2]>>2]|0,1)|0;sq(c[(c[g>>2]|0)+8>>2]|0,0)|0}else{c[n>>2]=vq(0)|0;_n(c[n>>2]|0,c[t+8>>2]|0,c[k>>2]|0);$n(c[c[g>>2]>>2]|0,c[t>>2]|0,c[n>>2]|0,c[k>>2]|0);sq(c[(c[g>>2]|0)+8>>2]|0,1)|0;hq(c[n>>2]|0)}fo(t);fo(u);fo(B);fo(C);i=f;return}c[l>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[m>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[p>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[o>>2]=mq(c[h>>2]|0)|0;c[q>>2]=mq(c[(c[j>>2]|0)+4>>2]|0)|0;if(c[(c[o>>2]|0)+8>>2]|0){c[(c[o>>2]|0)+8>>2]=0;_n(c[q>>2]|0,c[q>>2]|0,c[k>>2]|0)}if($o(c[(c[j>>2]|0)+8>>2]|0,1)|0){c[K>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;c[L>>2]=pq(c[(c[k>>2]|0)+16>>2]|0)|0;$n(c[K>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[k>>2]|0);$n(c[L>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[K>>2]|0,c[k>>2]|0);_n(c[K>>2]|0,c[K>>2]|0,c[k>>2]|0);$n(c[l>>2]|0,c[c[j>>2]>>2]|0,c[K>>2]|0,c[k>>2]|0);_n(c[L>>2]|0,c[L>>2]|0,c[k>>2]|0);$n(c[m>>2]|0,c[q>>2]|0,c[L>>2]|0,c[k>>2]|0);hq(c[K>>2]|0);hq(c[L>>2]|0)}else{oq(c[l>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[m>>2]|0,c[q>>2]|0)|0}c[n>>2]=mq(Aq(1)|0)|0;L=c[p>>2]|0;K=c[o>>2]|0;up(L,K,Aq(3)|0);c[s>>2]=Ro(c[p>>2]|0)|0;if((c[s>>2]|0)>>>0<2){c[s>>2]=2;fq(c[c[g>>2]>>2]|0);fq(c[(c[g>>2]|0)+4>>2]|0);fq(c[(c[g>>2]|0)+8>>2]|0)}else{oq(c[c[g>>2]>>2]|0,c[c[j>>2]>>2]|0)|0;oq(c[(c[g>>2]|0)+4>>2]|0,c[q>>2]|0)|0;oq(c[(c[g>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0)|0}hq(c[q>>2]|0);c[q>>2]=0;c[t>>2]=c[l>>2];c[l>>2]=0;c[t+4>>2]=c[m>>2];c[m>>2]=0;c[t+8>>2]=c[n>>2];c[n>>2]=0;co(u);co(v);c[r>>2]=(c[s>>2]|0)-2;while(1){if((c[r>>2]|0)>>>0<=0)break;qo(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);if((So(c[p>>2]|0,c[r>>2]|0)|0)==1?(So(c[o>>2]|0,c[r>>2]|0)|0)==0:0){Fo(u,c[g>>2]|0);Ao(c[g>>2]|0,u,t,c[k>>2]|0)}if((So(c[p>>2]|0,c[r>>2]|0)|0)==0?(So(c[o>>2]|0,c[r>>2]|0)|0)==1:0){Fo(u,c[g>>2]|0);Fo(v,t);uo(c[v+4>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[v+4>>2]|0,c[k>>2]|0);Ao(c[g>>2]|0,u,v,c[k>>2]|0)}c[r>>2]=(c[r>>2]|0)+-1}fo(t);fo(u);fo(v);hq(c[p>>2]|0);hq(c[o>>2]|0);i=f;return}function Ho(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+12|0;m=h+8|0;n=h+4|0;o=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;vo(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);vo(c[c[j>>2]>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[l>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[c[m>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[o>>2]|0);$n(c[(c[m>>2]|0)+8>>2]|0,c[c[j>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);to(c[c[l>>2]>>2]|0,c[c[j>>2]>>2]|0,c[o>>2]|0);to(c[(c[l>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);vo(c[c[k>>2]>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[m>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[c[j>>2]>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);uo(c[(c[l>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);to(c[c[k>>2]>>2]|0,c[c[k>>2]>>2]|0,c[o>>2]|0);to(c[(c[k>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[(c[j>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[o>>2]|0);$n(c[(c[k>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0,c[n>>2]|0,c[o>>2]|0);vo(c[(c[j>>2]|0)+8>>2]|0,c[c[l>>2]>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0);$n(c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[l>>2]|0)+8>>2]|0,c[o>>2]|0);i=h;return}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[j>>2]=vq(0)|0;c[k>>2]=vq(0)|0;c[l>>2]=vq(0)|0;a:do switch(c[c[g>>2]>>2]|0){case 0:{c[m>>2]=vq(0)|0;if(Zn(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}to(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);Jo(c[m>>2]|0,c[j>>2]|0,c[g>>2]|0);$n(c[l>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[m>>2]|0,c[g>>2]|0);if(!(ap(c[k>>2]|0,c[l>>2]|0)|0))c[h>>2]=1;xq(c[m>>2]|0);break}case 1:{if(!(Zn(c[j>>2]|0,0,c[f>>2]|0,c[g>>2]|0)|0)){b=c[l>>2]|0;a=c[(c[g>>2]|0)+20>>2]|0;o=Aq(4)|0;$n(b,a,o,c[g>>2]|0);o=c[l>>2]|0;a=c[l>>2]|0;b=Aq(2)|0;vo(o,a,b,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);to(c[k>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);b=c[l>>2]|0;a=c[l>>2]|0;o=Aq(1)|0;vo(b,a,o,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);$n(c[l>>2]|0,c[l>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);o=c[k>>2]|0;a=c[(c[g>>2]|0)+16>>2]|0;b=Aq(1)|0;uo(o,a,b,c[g>>2]|0);Yo(c[k>>2]|0,c[k>>2]|0,1);wo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);c[h>>2]=$o(c[l>>2]|0,1)|0;break a}c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}case 2:{if(Zn(c[j>>2]|0,c[k>>2]|0,c[f>>2]|0,c[g>>2]|0)|0){c[e>>2]=0;n=c[e>>2]|0;i=d;return n|0}to(c[j>>2]|0,c[j>>2]|0,c[g>>2]|0);to(c[k>>2]|0,c[k>>2]|0,c[g>>2]|0);b=c[l>>2]|0;if((c[(c[g>>2]|0)+4>>2]|0)==1){oq(b,c[j>>2]|0)|0;nq(c[l>>2]|0,c[l>>2]|0)}else $n(b,c[(c[g>>2]|0)+20>>2]|0,c[j>>2]|0,c[g>>2]|0);vo(c[l>>2]|0,c[l>>2]|0,c[k>>2]|0,c[g>>2]|0);uo(c[l>>2]|0,c[l>>2]|0,Aq(1)|0,c[g>>2]|0);$n(c[j>>2]|0,c[j>>2]|0,c[k>>2]|0,c[g>>2]|0);$n(c[j>>2]|0,c[j>>2]|0,c[(c[g>>2]|0)+24>>2]|0,c[g>>2]|0);uo(c[l>>2]|0,c[l>>2]|0,c[j>>2]|0,c[g>>2]|0);if(!($o(c[l>>2]|0,0)|0))c[h>>2]=1;break}default:{}}while(0);xq(c[l>>2]|0);xq(c[j>>2]|0);xq(c[k>>2]|0);c[e>>2]=c[h>>2];n=c[e>>2]|0;i=d;return n|0}function Jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[f>>2]|0;f=c[g>>2]|0;g=Aq(3)|0;wp(d,f,g,c[(c[h>>2]|0)+16>>2]|0);i=e;return}function Ko(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[m>>2]=(c[l>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[m>>2]|0))eq(c[f>>2]|0,c[m>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+16>>2];do if(c[l>>2]|0){if(!(c[n>>2]|0)){c[p>>2]=kp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[m>>2]=(c[l>>2]|0)+(c[p>>2]|0);break}if((c[l>>2]|0)==1?(c[c[k>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[j>>2]>>2]=(c[h>>2]|0)-(c[c[k>>2]>>2]|0);c[m>>2]=1;break}mp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-((c[(c[j>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)==0&1);c[o>>2]=1}else{c[c[j>>2]>>2]=c[h>>2];c[m>>2]=c[h>>2]|0?1:0}while(0);c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[o>>2];i=e;return}function Lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[o>>2]|0))eq(c[f>>2]|0,c[o>>2]|0);c[k>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[g>>2]|0)+16>>2]}else{c[m>>2]=c[(c[g>>2]|0)+4>>2];c[p>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];c[o>>2]=(c[m>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[o>>2]|0))eq(c[f>>2]|0,c[o>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+16>>2]}c[j>>2]=c[(c[f>>2]|0)+16>>2];c[r>>2]=0;do if(c[n>>2]|0){if((c[p>>2]|0)==(c[q>>2]|0)){c[t>>2]=lp(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]=c[t>>2];c[o>>2]=(c[m>>2]|0)+(c[t>>2]|0);if(!(c[p>>2]|0))break;c[r>>2]=1;break}if((c[m>>2]|0)!=(c[n>>2]|0)){np(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[l>>2]|0,c[n>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}c[r>>2]=c[p>>2];break}h=(op(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)<0;g=c[j>>2]|0;if(h){Xp(g,c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if(c[p>>2]|0)break;c[r>>2]=1;break}else{Xp(g,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=0)break;if(c[(c[j>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)break;c[o>>2]=(c[o>>2]|0)+-1}if(!(c[p>>2]|0))break;c[r>>2]=1;break}}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;c[(c[j>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[s>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[o>>2]=c[m>>2];c[r>>2]=c[p>>2]}while(0);c[(c[f>>2]|0)+4>>2]=c[o>>2];c[(c[f>>2]|0)+8>>2]=c[r>>2];i=e;return}function Mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=c[(c[g>>2]|0)+4>>2];c[n>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[m>>2]=(c[l>>2]|0)+1;if((c[c[f>>2]>>2]|0)<(c[m>>2]|0))eq(c[f>>2]|0,c[m>>2]|0);c[k>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=c[(c[f>>2]|0)+16>>2];do if(c[l>>2]|0){if(c[n>>2]|0){c[p>>2]=kp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]=c[p>>2];c[m>>2]=(c[l>>2]|0)+(c[p>>2]|0);break}if((c[l>>2]|0)==1?(c[c[k>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[c[j>>2]>>2]=(c[h>>2]|0)-(c[c[k>>2]>>2]|0);c[m>>2]=1;c[o>>2]=1;break}mp(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;c[m>>2]=(c[l>>2]|0)-((c[(c[j>>2]|0)+((c[l>>2]|0)-1<<2)>>2]|0)==0&1)}else{c[c[j>>2]>>2]=c[h>>2];c[m>>2]=c[h>>2]|0?1:0;c[o>>2]=1}while(0);c[(c[f>>2]|0)+4>>2]=c[m>>2];c[(c[f>>2]|0)+8>>2]=c[o>>2];i=e;return}function No(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=mq(c[h>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=((c[(c[j>>2]|0)+8>>2]|0)!=0^1)&1;Lo(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0);hq(c[j>>2]|0);i=e;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;Lo(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);qp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function Po(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;No(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);qp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function Qo(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&4|0:0){i=b;return}while(1){if(!(c[(c[d>>2]|0)+4>>2]|0)){e=6;break}if(!((c[(c[(c[d>>2]|0)+16>>2]|0)+((c[(c[d>>2]|0)+4>>2]|0)-1<<2)>>2]|0)!=0^1)){e=6;break}a=(c[d>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+-1}if((e|0)==6){i=b;return}}function Ro(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[f>>2]=a;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&4|0:0){c[e>>2]=c[(c[f>>2]|0)+8>>2];l=c[e>>2]|0;i=b;return l|0}Qo(c[f>>2]|0);if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2];if(c[h>>2]|0){c[j>>2]=c[h>>2];h=c[j>>2]|0;c[k>>2]=(c[j>>2]|0)>>>0<65536?(h>>>0<256?0:8):h>>>0<16777216?16:24;c[g>>2]=32-((d[45806+((c[j>>2]|0)>>>(c[k>>2]|0))>>0]|0)+(c[k>>2]|0))}else c[g>>2]=32;c[g>>2]=32-(c[g>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<5)}else c[g>>2]=0;c[e>>2]=c[g>>2];l=c[e>>2]|0;i=b;return l|0}function So(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=((c[g>>2]|0)>>>0)/32|0;c[j>>2]=((c[g>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}else{c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<2)>>2];c[e>>2]=c[k>>2]&1<<c[j>>2]|0?1:0;l=c[e>>2]|0;i=d;return l|0}return 0}function To(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[j>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}eq(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[j>>2];i=d;return}function Uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[h>>2]=((c[f>>2]|0)>>>0)/32|0;c[j>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[h>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[g>>2]|0)>>>0>=(c[c[e>>2]>>2]|0)>>>0)break;c[(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}eq(c[e>>2]|0,(c[h>>2]|0)+1|0);c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1}g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]|1<<c[j>>2];c[j>>2]=(c[j>>2]|0)+1;while(1){if((c[j>>2]|0)>>>0>=32)break;g=(c[(c[e>>2]|0)+16>>2]|0)+(c[h>>2]<<2)|0;c[g>>2]=c[g>>2]&~(1<<c[j>>2]);c[j>>2]=(c[j>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;i=d;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}while(1){if((c[h>>2]|0)>>>0>=32)break;f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);c[h>>2]=(c[h>>2]|0)+1}c[(c[e>>2]|0)+4>>2]=(c[g>>2]|0)+1;i=d;return}function Wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}c[g>>2]=((c[f>>2]|0)>>>0)/32|0;c[h>>2]=((c[f>>2]|0)>>>0)%32|0;if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){i=d;return}f=(c[(c[e>>2]|0)+16>>2]|0)+(c[g>>2]<<2)|0;c[f>>2]=c[f>>2]&~(1<<c[h>>2]);i=d;return}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+4>>2];if(c[e>>2]|0?c[(c[e>>2]|0)+12>>2]&16|0:0){gq();i=d;return}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){c[(c[e>>2]|0)+4>>2]=0;i=d;return}c[j>>2]=0;while(1){k=c[j>>2]|0;if((c[j>>2]|0)>>>0>=((c[h>>2]|0)-(c[f>>2]|0)|0)>>>0)break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[(c[g>>2]|0)+(k+(c[f>>2]|0)<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}c[(c[g>>2]|0)+(k<<2)>>2]=0;k=(c[e>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)-(c[f>>2]|0);i=d;return}function Yo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[l>>2]=((c[h>>2]|0)>>>0)/32|0;c[m>>2]=((c[h>>2]|0)>>>0)%32|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();i=e;return}h=c[l>>2]|0;a:do if((c[f>>2]|0)==(c[g>>2]|0)){if(h>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[l>>2]|0){c[k>>2]=0;while(1){n=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[l>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(n+(c[l>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(n<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[l>>2]|0)}if(c[m>>2]|0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0}else{c[j>>2]=c[(c[g>>2]|0)+4>>2];c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];d=(c[c[f>>2]>>2]|0)<(c[j>>2]|0);if(!h){if(d)eq(c[f>>2]|0,c[j>>2]|0);c[(c[f>>2]|0)+4>>2]=c[j>>2];if(!(c[j>>2]|0))break;if(c[m>>2]|0){Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break a;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}}if(d)eq(c[f>>2]|0,c[j>>2]|0);c[(c[f>>2]|0)+4>>2]=c[j>>2];c[k>>2]=0;while(1){o=c[k>>2]|0;if((c[k>>2]|0)>>>0>=(c[(c[g>>2]|0)+4>>2]|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(o<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=o;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+4>>2]|0)>>>0){c[(c[f>>2]|0)+4>>2]=0;i=e;return}if(c[l>>2]|0){c[k>>2]=0;while(1){p=c[k>>2]|0;if((c[k>>2]|0)>>>0>=((c[(c[f>>2]|0)+4>>2]|0)-(c[l>>2]|0)|0)>>>0)break;c[(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<2)>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(p+(c[l>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}c[(c[(c[f>>2]|0)+16>>2]|0)+(p<<2)>>2]=0;d=(c[f>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)-(c[l>>2]|0)}if(c[m>>2]|0?(c[(c[f>>2]|0)+4>>2]|0)!=0:0)Wp(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[m>>2]|0)|0}while(0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){q=40;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){q=40;break}m=(c[f>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+-1}if((q|0)==40){i=e;return}}function Zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[h>>2]=c[(c[e>>2]|0)+4>>2];if(!((c[f>>2]|0)!=0&(c[h>>2]|0)!=0)){i=d;return}if((c[c[e>>2]>>2]|0)>>>0<((c[h>>2]|0)+(c[f>>2]|0)|0)>>>0)eq(c[e>>2]|0,(c[h>>2]|0)+(c[f>>2]|0)|0);c[g>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[(c[g>>2]|0)+((c[j>>2]|0)+(c[f>>2]|0)<<2)>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}j=(c[e>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+(c[f>>2]|0);i=d;return}function _o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+48|0;f=e+36|0;g=e+32|0;h=e+28|0;j=e+24|0;k=e+20|0;l=e+16|0;m=e+12|0;n=e+8|0;o=e+4|0;p=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=((c[h>>2]|0)>>>0)/32|0;c[k>>2]=((c[h>>2]|0)>>>0)%32|0;if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&16|0:0){gq();i=e;return}if(!(c[h>>2]|0?1:(c[f>>2]|0)!=(c[g>>2]|0))){i=e;return}if((c[f>>2]|0)!=(c[g>>2]|0)){c[l>>2]=c[(c[g>>2]|0)+4>>2];c[m>>2]=c[(c[g>>2]|0)+8>>2];if((c[c[f>>2]>>2]|0)>>>0<((c[l>>2]|0)+(c[j>>2]|0)+1|0)>>>0)eq(c[f>>2]|0,(c[l>>2]|0)+(c[j>>2]|0)+1|0);c[n>>2]=c[(c[f>>2]|0)+16>>2];c[o>>2]=c[(c[g>>2]|0)+16>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;c[(c[n>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+12>>2]=c[(c[g>>2]|0)+12>>2];c[(c[f>>2]|0)+8>>2]=c[m>>2]}if((c[j>>2]|0)==0|(c[k>>2]|0)!=0){if(c[h>>2]|0){Zo(c[f>>2]|0,(c[j>>2]|0)+1|0);Yo(c[f>>2]|0,c[f>>2]|0,32-(c[k>>2]|0)|0)}}else Zo(c[f>>2]|0,c[j>>2]|0);while(1){if((c[(c[f>>2]|0)+4>>2]|0)<=0){q=19;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+((c[(c[f>>2]|0)+4>>2]|0)-1<<2)>>2]|0){q=19;break}j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1}if((q|0)==19){i=e;return}}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[g>>2];Qo(c[f>>2]|0);do if(c[(c[f>>2]|0)+4>>2]|0){if(c[(c[f>>2]|0)+8>>2]|0){c[e>>2]=-1;break}if((c[(c[f>>2]|0)+4>>2]|0)!=1){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0>(c[h>>2]|0)>>>0){c[e>>2]=1;break}if((c[c[(c[f>>2]|0)+16>>2]>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[e>>2]=-1;break}else{c[e>>2]=0;break}}else c[e>>2]=0-((c[h>>2]|0)!=0&1);while(0);i=d;return c[e>>2]|0}function ap(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0?(c[(c[f>>2]|0)+12>>2]&4|0)!=0:0))l=3;do if((l|0)==3){if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0)break;Qo(c[f>>2]|0);Qo(c[g>>2]|0);c[h>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=c[(c[g>>2]|0)+4>>2];if((c[(c[f>>2]|0)+8>>2]|0)==0?c[(c[g>>2]|0)+8>>2]|0:0){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}if(c[(c[f>>2]|0)+8>>2]|0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}if(((c[h>>2]|0)!=(c[j>>2]|0)?(c[(c[f>>2]|0)+8>>2]|0)==0:0)?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=(c[h>>2]|0)-(c[j>>2]|0);m=c[e>>2]|0;i=d;return m|0}if(((c[h>>2]|0)!=(c[j>>2]|0)?c[(c[f>>2]|0)+8>>2]|0:0)?c[(c[g>>2]|0)+8>>2]|0:0){c[e>>2]=(c[j>>2]|0)+(c[h>>2]|0);m=c[e>>2]|0;i=d;return m|0}if(!(c[h>>2]|0)){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}b=op(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[k>>2]=b;if(!b){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}if((((c[k>>2]|0)<0?1:0)|0)==((c[(c[f>>2]|0)+8>>2]|0?1:0)|0)){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}else{c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}}while(0);do if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&4|0:0){if(c[g>>2]|0?c[(c[g>>2]|0)+12>>2]&4|0:0)break;c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}while(0);if(c[f>>2]|0){if(c[g>>2]|0?(c[(c[f>>2]|0)+12>>2]&4|0)==0:0)l=13}else if(c[g>>2]|0)l=13;if((l|0)==13?c[(c[g>>2]|0)+12>>2]&4|0:0){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[g>>2]|0)+8>>2]|0)==0:0){c[e>>2]=0;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)<(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=-1;m=c[e>>2]|0;i=d;return m|0}if((c[(c[f>>2]|0)+8>>2]|0)>(c[(c[g>>2]|0)+8>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=d;return m|0}else{c[e>>2]=mw(c[(c[f>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+16>>2]|0,((c[(c[f>>2]|0)+8>>2]|0)+7|0)/8|0)|0;m=c[e>>2]|0;i=d;return m|0}return 0}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[h>>2]|0)+8>>2];c[k>>2]=0;if((c[f>>2]|0)==(c[h>>2]|0)){c[k>>2]=mq(c[h>>2]|0)|0;c[h>>2]=c[k>>2]}cp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);if((c[j>>2]|0?1:0)^(c[(c[g>>2]|0)+8>>2]|0?1:0)|0?c[(c[f>>2]|0)+4>>2]|0:0)Lo(c[f>>2]|0,c[f>>2]|0,c[h>>2]|0);if(!(c[k>>2]|0)){i=e;return}hq(c[k>>2]|0);i=e;return}function cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;dp(0,c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function dp(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=i;i=i+160|0;h=g+144|0;j=g+140|0;k=g+136|0;l=g+132|0;m=g+128|0;n=g+124|0;o=g+120|0;p=g+116|0;q=g+112|0;r=g+108|0;s=g+104|0;t=g+100|0;u=g+96|0;v=g+92|0;w=g+88|0;x=g+84|0;y=g+64|0;z=g+44|0;A=g+40|0;B=g+36|0;C=g+32|0;D=g+28|0;E=g+24|0;F=g+20|0;G=g+16|0;H=g+12|0;I=g+8|0;J=g+4|0;K=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[q>>2]=c[(c[k>>2]|0)+4>>2];c[r>>2]=c[(c[l>>2]|0)+4>>2];c[u>>2]=c[(c[k>>2]|0)+8>>2];c[v>>2]=c[(c[k>>2]|0)+8>>2]^c[(c[l>>2]|0)+8>>2];c[A>>2]=0;c[t>>2]=(c[q>>2]|0)+1;eq(c[j>>2]|0,c[t>>2]|0);c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0);if((c[s>>2]|0)<=0){a:do if((c[k>>2]|0)!=(c[j>>2]|0)){c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[j>>2]|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[q>>2]|0))break a;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[B>>2]<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}}while(0);if(!(c[h>>2]|0)){i=g;return}c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;i=g;return}if(c[h>>2]|0)eq(c[h>>2]|0,c[s>>2]|0);c[m>>2]=c[(c[k>>2]|0)+16>>2];c[n>>2]=c[(c[l>>2]|0)+16>>2];c[p>>2]=c[(c[j>>2]|0)+16>>2];k=(c[h>>2]|0)!=0;if((c[r>>2]|0)==1){if(k){c[o>>2]=c[(c[h>>2]|0)+16>>2];c[C>>2]=Np(c[o>>2]|0,c[m>>2]|0,c[q>>2]|0,c[c[n>>2]>>2]|0)|0;c[s>>2]=(c[s>>2]|0)-((c[(c[o>>2]|0)+((c[s>>2]|0)-1<<2)>>2]|0)==0&1);c[(c[h>>2]|0)+4>>2]=c[s>>2];c[(c[h>>2]|0)+8>>2]=c[v>>2]}else c[C>>2]=Lp(c[m>>2]|0,c[q>>2]|0,c[c[n>>2]>>2]|0)|0;c[c[p>>2]>>2]=c[C>>2];c[t>>2]=c[C>>2]|0?1:0;c[(c[j>>2]|0)+4>>2]=c[t>>2];c[(c[j>>2]|0)+8>>2]=c[u>>2];i=g;return}b:do if(k){c[o>>2]=c[(c[h>>2]|0)+16>>2];if((c[o>>2]|0)==(c[m>>2]|0)){c[z+(c[A>>2]<<2)>>2]=c[q>>2];if(c[h>>2]|0)L=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else L=0;C=aq(c[q>>2]|0,L&1)|0;B=c[A>>2]|0;c[A>>2]=B+1;c[y+(B<<2)>>2]=C;c[m>>2]=C;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[q>>2]|0))break b;c[(c[m>>2]|0)+(c[D>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[D>>2]<<2)>>2];c[D>>2]=(c[D>>2]|0)+1}}}else c[o>>2]=(c[p>>2]|0)+(c[r>>2]<<2);while(0);c[E>>2]=c[(c[n>>2]|0)+((c[r>>2]|0)-1<<2)>>2];D=c[E>>2]|0;c[F>>2]=(c[E>>2]|0)>>>0<65536?(D>>>0<256?0:8):D>>>0<16777216?16:24;c[w>>2]=32-((d[45806+((c[E>>2]|0)>>>(c[F>>2]|0))>>0]|0)+(c[F>>2]|0));do if(c[w>>2]|0){c[z+(c[A>>2]<<2)>>2]=c[r>>2];if(c[l>>2]|0)M=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else M=0;F=aq(c[r>>2]|0,M&1)|0;E=c[A>>2]|0;c[A>>2]=E+1;c[y+(E<<2)>>2]=F;c[G>>2]=F;Op(c[G>>2]|0,c[n>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;c[n>>2]=c[G>>2];c[H>>2]=Op(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;if(c[H>>2]|0){c[(c[p>>2]|0)+(c[q>>2]<<2)>>2]=c[H>>2];c[t>>2]=(c[q>>2]|0)+1;break}else{c[t>>2]=c[q>>2];break}}else{if((c[n>>2]|0)!=(c[p>>2]|0)){if(c[h>>2]|0?(c[n>>2]|0)==(c[o>>2]|0):0)N=32}else N=32;if((N|0)==32){c[z+(c[A>>2]<<2)>>2]=c[r>>2];if(c[l>>2]|0)O=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else O=0;F=aq(c[r>>2]|0,O&1)|0;E=c[A>>2]|0;c[A>>2]=E+1;c[y+(E<<2)>>2]=F;c[I>>2]=F;c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[r>>2]|0))break;c[(c[I>>2]|0)+(c[J>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[J>>2]<<2)>>2];c[J>>2]=(c[J>>2]|0)+1}c[n>>2]=c[I>>2]}c:do if((c[p>>2]|0)!=(c[m>>2]|0)){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(c[q>>2]|0))break c;c[(c[p>>2]|0)+(c[K>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[K>>2]<<2)>>2];c[K>>2]=(c[K>>2]|0)+1}}while(0);c[t>>2]=c[q>>2]}while(0);c[x>>2]=Mp(c[o>>2]|0,0,c[p>>2]|0,c[t>>2]|0,c[n>>2]|0,c[r>>2]|0)|0;if(c[h>>2]|0){c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0);if(c[x>>2]|0){c[(c[o>>2]|0)+(c[s>>2]<<2)>>2]=c[x>>2];c[s>>2]=(c[s>>2]|0)+1}c[(c[h>>2]|0)+4>>2]=c[s>>2];c[(c[h>>2]|0)+8>>2]=c[v>>2]}c[t>>2]=c[r>>2];while(1){if((c[t>>2]|0)<=0)break;if(c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break;c[t>>2]=(c[t>>2]|0)+-1}if((c[w>>2]|0)!=0&(c[t>>2]|0)!=0){Wp(c[p>>2]|0,c[p>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;c[t>>2]=(c[t>>2]|0)-((c[(c[p>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)==0?1:0)}c[(c[j>>2]|0)+4>>2]=c[t>>2];c[(c[j>>2]|0)+8>>2]=c[u>>2];while(1){if(!(c[A>>2]|0))break;c[A>>2]=(c[A>>2]|0)+-1;cq(c[y+(c[A>>2]<<2)>>2]|0,c[z+(c[A>>2]<<2)>>2]|0)}i=g;return}function ep(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Lp(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0)|0;if(c[j>>2]|0?c[(c[g>>2]|0)+8>>2]|0:0)c[j>>2]=(c[h>>2]|0)-(c[j>>2]|0);if(!(c[f>>2]|0)){k=c[j>>2]|0;i=e;return k|0}c[c[(c[f>>2]|0)+16>>2]>>2]=c[j>>2];c[(c[f>>2]|0)+4>>2]=c[j>>2]|0?1:0;k=c[j>>2]|0;i=e;return k|0}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=$p(c[(c[f>>2]|0)+4>>2]|0)|0;gp(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);hq(c[j>>2]|0);i=e;return}function gp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+32|0;g=f+20|0;h=f+16|0;j=f+12|0;k=f+8|0;l=f+4|0;m=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=c[(c[k>>2]|0)+8>>2];c[m>>2]=0;if(!((c[g>>2]|0)!=(c[k>>2]|0)?(c[h>>2]|0)!=(c[k>>2]|0):0)){c[m>>2]=mq(c[k>>2]|0)|0;c[k>>2]=c[m>>2]}dp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if(c[l>>2]^c[(c[j>>2]|0)+8>>2]|0?c[(c[h>>2]|0)+4>>2]|0:0){Mo(c[g>>2]|0,c[g>>2]|0,1);Lo(c[h>>2]|0,c[h>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){i=f;return}hq(c[m>>2]|0);i=f;return}function hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;f=e+32|0;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[g>>2]|0)+4>>2];c[l>>2]=((c[h>>2]|0)>>>0)/32|0;c[k>>2]=(c[j>>2]|0)-(c[l>>2]|0);d=c[f>>2]|0;if((c[l>>2]|0)>=(c[j>>2]|0)){c[d+4>>2]=0;i=e;return}if((c[d>>2]|0)<(c[k>>2]|0))eq(c[f>>2]|0,c[k>>2]|0);c[m>>2]=c[(c[f>>2]|0)+16>>2];c[n>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=((c[h>>2]|0)>>>0)%32|0;a:do if(c[h>>2]|0){Wp(c[m>>2]|0,(c[n>>2]|0)+(c[l>>2]<<2)|0,c[k>>2]|0,c[h>>2]|0)|0;c[k>>2]=(c[k>>2]|0)-(((c[(c[m>>2]|0)+((c[k>>2]|0)-1<<2)>>2]|0)!=0^1)&1)}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break a;c[(c[m>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[n>>2]|0)+(c[l>>2]<<2)+(c[o>>2]<<2)>>2];c[o>>2]=(c[o>>2]|0)+1}}while(0);c[(c[f>>2]|0)+4>>2]=c[k>>2];i=e;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=((Lp(c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0^1)&1;i=d;return b|0}function jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=mq(c[g>>2]|0)|0;c[k>>2]=mq(c[h>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+8>>2]=0;while(1){h=($o(c[k>>2]|0,0)|0)!=0;l=c[f>>2]|0;m=c[j>>2]|0;if(!h)break;bp(l,m,c[k>>2]|0);oq(c[j>>2]|0,c[k>>2]|0)|0;oq(c[k>>2]|0,c[f>>2]|0)|0}oq(l,m)|0;hq(c[j>>2]|0);hq(c[k>>2]|0);k=(($o(c[f>>2]|0,1)|0)!=0^1)&1;i=e;return k|0}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);e=c[l>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0){while(1){e=(c[k>>2]|0)+-1|0;c[k>>2]=e;if(!e)break;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=(c[e>>2]|0)+1;e=c[m>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[m>>2]|0)break a}c[g>>2]=1;o=c[g>>2]|0;i=f;return o|0}while(0);b:do if((c[h>>2]|0)!=(c[j>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function lp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=Kp(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[k>>2]|0)-(c[m>>2]|0)|0)){o=c[n>>2]|0;i=g;return o|0}c[n>>2]=kp((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[n>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+24|0;h=f+20|0;j=f+16|0;k=f+12|0;l=f+8|0;m=f+4|0;n=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];c[l>>2]=(c[m>>2]|0)-(c[l>>2]|0);e=c[l>>2]|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;a:do if((c[l>>2]|0)>>>0>(c[m>>2]|0)>>>0){while(1){e=(c[k>>2]|0)+-1|0;c[k>>2]=e;if(!e)break;e=c[j>>2]|0;c[j>>2]=e+4;c[m>>2]=c[e>>2];e=(c[m>>2]|0)-1|0;d=c[h>>2]|0;c[h>>2]=d+4;c[d>>2]=e;if(c[m>>2]|0)break a}c[g>>2]=1;o=c[g>>2]|0;i=f;return o|0}while(0);b:do if((c[h>>2]|0)!=(c[j>>2]|0)){c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[k>>2]|0)-1|0))break b;c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[j>>2]|0)+(c[n>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}}while(0);c[g>>2]=0;o=c[g>>2]|0;i=f;return o|0}function np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+20|0;j=g+16|0;k=g+12|0;l=g+8|0;m=g+4|0;n=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;if(c[m>>2]|0)c[n>>2]=Xp(c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(!((c[k>>2]|0)-(c[m>>2]|0)|0)){o=c[n>>2]|0;i=g;return o|0}c[n>>2]=mp((c[h>>2]|0)+(c[m>>2]<<2)|0,(c[j>>2]|0)+(c[m>>2]<<2)|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[n>>2]|0)|0;o=c[n>>2]|0;i=g;return o|0}function op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+32|0;f=e+24|0;g=e+20|0;h=e+16|0;j=e+12|0;k=e+8|0;l=e+4|0;m=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=(c[j>>2]|0)-1;while(1){if((c[k>>2]|0)<0){n=5;break}c[l>>2]=c[(c[g>>2]|0)+(c[k>>2]<<2)>>2];c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];if((c[l>>2]|0)!=(c[m>>2]|0)){n=6;break}c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==5){c[f>>2]=0;o=c[f>>2]|0;i=e;return o|0}else if((n|0)==6){c[f>>2]=(c[l>>2]|0)>>>0>(c[m>>2]|0)>>>0?1:-1;o=c[f>>2]|0;i=e;return o|0}return 0}function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;i=i+80|0;f=e+68|0;g=e+64|0;h=e+60|0;j=e+56|0;k=e+52|0;l=e+48|0;m=e+44|0;n=e+40|0;o=e+36|0;p=e+32|0;q=e+28|0;r=e+24|0;s=e+20|0;t=e+16|0;u=e+12|0;v=e+8|0;w=e+4|0;x=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=0;c[q>>2]=0;c[t>>2]=0;if(!($o(c[h>>2]|0,0)|0)){c[f>>2]=0;y=c[f>>2]|0;i=e;return y|0}if(!($o(c[j>>2]|0,1)|0)){c[f>>2]=0;y=c[f>>2]|0;i=e;return y|0}c[k>>2]=mq(c[h>>2]|0)|0;c[l>>2]=mq(c[j>>2]|0)|0;c[v>>2]=0;while(1){if(So(c[k>>2]|0,0)|0)break;if(!((So(c[l>>2]|0,0)|0)!=0^1))break;Yo(c[k>>2]|0,c[k>>2]|0,1);Yo(c[l>>2]|0,c[l>>2]|0,1);c[v>>2]=(c[v>>2]|0)+1}c[x>>2]=So(c[l>>2]|0,0)|0;c[m>>2]=_p(1)|0;if(!(c[x>>2]|0))c[n>>2]=_p(0)|0;c[o>>2]=mq(c[k>>2]|0)|0;c[p>>2]=mq(c[l>>2]|0)|0;if(!(c[x>>2]|0)){c[q>>2]=$p(c[(c[k>>2]|0)+4>>2]|0)|0;No(c[q>>2]|0,c[m>>2]|0,c[k>>2]|0)}c[r>>2]=mq(c[l>>2]|0)|0;if(So(c[k>>2]|0,0)|0){c[s>>2]=_p(0)|0;if(!(c[x>>2]|0)){c[t>>2]=_p(1)|0;c[(c[t>>2]|0)+8>>2]=1}c[u>>2]=mq(c[l>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=((c[(c[u>>2]|0)+8>>2]|0)!=0^1)&1}else{c[s>>2]=_p(1)|0;if(!(c[x>>2]|0))c[t>>2]=_p(0)|0;c[u>>2]=mq(c[k>>2]|0)|0;z=20}while(1){if((z|0)==20){z=0;v=(c[x>>2]|0)!=0;j=(So(c[s>>2]|0,0)|0)!=0;if(v){if(j)Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0);Yo(c[s>>2]|0,c[s>>2]|0,1);Yo(c[u>>2]|0,c[u>>2]|0,1);continue}if(!(!j?!(So(c[t>>2]|0,0)|0):0)){Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0);No(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0)}Yo(c[s>>2]|0,c[s>>2]|0,1);Yo(c[t>>2]|0,c[t>>2]|0,1);Yo(c[u>>2]|0,c[u>>2]|0,1)}if((So(c[u>>2]|0,0)|0)!=0^1){z=20;continue}if(c[(c[u>>2]|0)+8>>2]|0){No(c[p>>2]|0,c[l>>2]|0,c[s>>2]|0);c[w>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=((c[(c[k>>2]|0)+8>>2]|0)!=0^1)&1;if(!(c[x>>2]|0))No(c[q>>2]|0,c[k>>2]|0,c[t>>2]|0);c[(c[k>>2]|0)+8>>2]=c[w>>2];c[w>>2]=c[(c[u>>2]|0)+8>>2];c[(c[u>>2]|0)+8>>2]=((c[(c[u>>2]|0)+8>>2]|0)!=0^1)&1;oq(c[r>>2]|0,c[u>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=c[w>>2]}else{oq(c[m>>2]|0,c[s>>2]|0)|0;if(!(c[x>>2]|0))oq(c[n>>2]|0,c[t>>2]|0)|0;oq(c[o>>2]|0,c[u>>2]|0)|0}No(c[s>>2]|0,c[m>>2]|0,c[p>>2]|0);if(!(c[x>>2]|0))No(c[t>>2]|0,c[n>>2]|0,c[q>>2]|0);No(c[u>>2]|0,c[o>>2]|0,c[r>>2]|0);if(c[(c[s>>2]|0)+8>>2]|0?(Lo(c[s>>2]|0,c[s>>2]|0,c[l>>2]|0),(c[x>>2]|0)==0):0)No(c[t>>2]|0,c[t>>2]|0,c[k>>2]|0);if($o(c[u>>2]|0,0)|0)z=20;else break}oq(c[g>>2]|0,c[m>>2]|0)|0;hq(c[m>>2]|0);hq(c[p>>2]|0);hq(c[s>>2]|0);if(!(c[x>>2]|0)){hq(c[n>>2]|0);hq(c[q>>2]|0);hq(c[t>>2]|0)}hq(c[o>>2]|0);hq(c[r>>2]|0);hq(c[u>>2]|0);hq(c[k>>2]|0);hq(c[l>>2]|0);c[f>>2]=1;y=c[f>>2]|0;i=e;return y|0}function qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;bp(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return}function rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;Qo(c[e>>2]|0);c[g>>2]=gg(1,28)|0;b=c[e>>2]|0;if(c[f>>2]|0){f=mq(b)|0;c[c[g>>2]>>2]=f;c[(c[g>>2]|0)+4>>2]=1}else c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=$p((c[(c[g>>2]|0)+8>>2]|0)+1|0)|0;sq(c[h>>2]|0,1)|0;Zo(c[h>>2]|0,c[(c[g>>2]|0)+8>>2]<<1);fp(c[h>>2]|0,c[h>>2]|0,c[e>>2]|0);c[(c[g>>2]|0)+12>>2]=c[h>>2];h=$p((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+16>>2]=h;h=$p((c[(c[g>>2]|0)+8>>2]<<1)+1|0)|0;c[(c[g>>2]|0)+20>>2]=h;i=d;return c[g>>2]|0}function sp(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;if(!(c[d>>2]|0)){i=b;return}hq(c[(c[d>>2]|0)+12>>2]|0);hq(c[(c[d>>2]|0)+16>>2]|0);hq(c[(c[d>>2]|0)+20>>2]|0);if(c[(c[d>>2]|0)+24>>2]|0)hq(c[(c[d>>2]|0)+24>>2]|0);if(c[(c[d>>2]|0)+4>>2]|0)hq(c[c[d>>2]>>2]|0);$f(c[d>>2]|0);i=b;return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;f=e+32|0;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[h>>2]>>2];c[k>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[(c[h>>2]|0)+12>>2];c[m>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=c[(c[h>>2]|0)+20>>2];Qo(c[g>>2]|0);if((c[(c[g>>2]|0)+4>>2]|0)>(c[k>>2]<<1|0)){qp(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0);i=e;return}c[o>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=0;oq(c[n>>2]|0,c[g>>2]|0)|0;Xo(c[n>>2]|0,(c[k>>2]|0)-1|0);up(c[n>>2]|0,c[n>>2]|0,c[l>>2]|0);Xo(c[n>>2]|0,(c[k>>2]|0)+1|0);oq(c[m>>2]|0,c[g>>2]|0)|0;if((c[(c[m>>2]|0)+4>>2]|0)>((c[k>>2]|0)+1|0))c[(c[m>>2]|0)+4>>2]=(c[k>>2]|0)+1;up(c[n>>2]|0,c[n>>2]|0,c[j>>2]|0);if((c[(c[n>>2]|0)+4>>2]|0)>((c[k>>2]|0)+1|0))c[(c[n>>2]|0)+4>>2]=(c[k>>2]|0)+1;No(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0);if(c[(c[f>>2]|0)+8>>2]|0){if(!(c[(c[h>>2]|0)+24>>2]|0)){n=$p((c[k>>2]|0)+2|0)|0;c[(c[h>>2]|0)+24>>2]=n;sq(c[(c[h>>2]|0)+24>>2]|0,1)|0;Zo(c[(c[h>>2]|0)+24>>2]|0,(c[k>>2]|0)+1|0)}Lo(c[f>>2]|0,c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0)}while(1){if((ap(c[f>>2]|0,c[j>>2]|0)|0)<0)break;No(c[f>>2]|0,c[f>>2]|0,c[j>>2]|0)}c[(c[g>>2]|0)+8>>2]=c[o>>2];i=e;return}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=i;i=i+96|0;f=e+84|0;g=e+80|0;h=e+76|0;j=e+72|0;k=e+68|0;l=e+64|0;m=e+60|0;n=e+56|0;o=e+52|0;p=e+48|0;q=e+44|0;r=e+40|0;s=e+36|0;t=e+32|0;u=e+28|0;v=e+24|0;w=e+20|0;x=e+16|0;y=e+12|0;z=e+8|0;A=e+4|0;B=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;if((c[(c[g>>2]|0)+4>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)){c[j>>2]=c[(c[h>>2]|0)+4>>2];c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)C=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else C=0;c[s>>2]=C&1;c[m>>2]=c[(c[h>>2]|0)+16>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[r>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)D=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else D=0;c[t>>2]=D&1;c[n>>2]=c[(c[g>>2]|0)+16>>2]}else{c[j>>2]=c[(c[g>>2]|0)+4>>2];c[q>>2]=c[(c[g>>2]|0)+8>>2];if(c[g>>2]|0)E=(c[(c[g>>2]|0)+12>>2]&1|0)!=0;else E=0;c[s>>2]=E&1;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[k>>2]=c[(c[h>>2]|0)+4>>2];c[r>>2]=c[(c[h>>2]|0)+8>>2];if(c[h>>2]|0)F=(c[(c[h>>2]|0)+12>>2]&1|0)!=0;else F=0;c[t>>2]=F&1;c[n>>2]=c[(c[h>>2]|0)+16>>2]}c[u>>2]=c[q>>2]^c[r>>2];c[o>>2]=c[(c[f>>2]|0)+16>>2];c[l>>2]=(c[j>>2]|0)+(c[k>>2]|0);if(c[f>>2]|0?c[(c[f>>2]|0)+12>>2]&1|0:0)G=19;else G=14;do if((G|0)==14){if(!(c[g>>2]|0?(c[(c[g>>2]|0)+12>>2]&1|0)!=0:0)){if(!(c[h>>2]|0)){G=19;break}if(!(c[(c[h>>2]|0)+12>>2]&1)){G=19;break}}c[o>>2]=aq(c[l>>2]|0,1)|0;c[v>>2]=2}while(0);a:do if((G|0)==19){h=(c[o>>2]|0)==(c[m>>2]|0);if((c[c[f>>2]>>2]|0)<(c[l>>2]|0)){if(!h?(c[o>>2]|0)!=(c[n>>2]|0):0){eq(c[f>>2]|0,c[l>>2]|0);c[o>>2]=c[(c[f>>2]|0)+16>>2];break}if(c[f>>2]|0)H=(c[(c[f>>2]|0)+12>>2]&1|0)!=0;else H=0;c[o>>2]=aq(c[l>>2]|0,H&1)|0;c[v>>2]=1;break}if(!h){if((c[o>>2]|0)!=(c[n>>2]|0))break;c[x>>2]=c[k>>2];h=aq(c[k>>2]|0,c[t>>2]|0)|0;c[w>>2]=h;c[n>>2]=h;c[z>>2]=0;while(1){if((c[z>>2]|0)>=(c[k>>2]|0))break a;c[(c[n>>2]|0)+(c[z>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[z>>2]<<2)>>2];c[z>>2]=(c[z>>2]|0)+1}}c[x>>2]=c[j>>2];h=aq(c[j>>2]|0,c[s>>2]|0)|0;c[w>>2]=h;c[m>>2]=h;if((c[o>>2]|0)==(c[n>>2]|0))c[n>>2]=c[m>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[j>>2]|0))break a;c[(c[m>>2]|0)+(c[y>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[y>>2]<<2)>>2];c[y>>2]=(c[y>>2]|0)+1}}while(0);if(c[k>>2]|0){c[p>>2]=Up(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;c[l>>2]=(c[l>>2]|0)-(c[p>>2]|0?0:1)}else c[l>>2]=0;if(c[v>>2]|0){if((c[v>>2]|0)==2){c[A>>2]=aq(c[l>>2]|0,0)|0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[l>>2]|0))break;c[(c[A>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[o>>2]|0)+(c[B>>2]<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}cq(c[o>>2]|0,0);c[o>>2]=c[A>>2]}dq(c[f>>2]|0,c[o>>2]|0,c[l>>2]|0)}c[(c[f>>2]|0)+4>>2]=c[l>>2];c[(c[f>>2]|0)+8>>2]=c[u>>2];if(!(c[w>>2]|0)){i=e;return}cq(c[w>>2]|0,c[x>>2]|0);i=e;return}function vp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;up(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);cp(c[g>>2]|0,c[g>>2]|0,c[k>>2]|0);i=f;return}function wp(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0;g=i;i=i+512|0;h=g+504|0;j=g+500|0;k=g+496|0;l=g+492|0;m=g+488|0;n=g+484|0;o=g+480|0;p=g+476|0;q=g+472|0;r=g+468|0;s=g+464|0;t=g+460|0;u=g+456|0;v=g+452|0;w=g+448|0;x=g+444|0;y=g+440|0;z=g+436|0;A=g+432|0;B=g+428|0;C=g+424|0;D=g+420|0;E=g+416|0;F=g+412|0;G=g+408|0;H=g+404|0;I=g+400|0;J=g+396|0;K=g+392|0;L=g+328|0;M=g+264|0;N=g+260|0;O=g+256|0;P=g+252|0;Q=g+248|0;R=g+244|0;S=g+240|0;T=g+236|0;U=g+232|0;V=g+228|0;W=g+224|0;X=g+220|0;Y=g+216|0;Z=g+212|0;_=g+208|0;$=g+204|0;aa=g+200|0;ba=g+196|0;ca=g+192|0;da=g+164|0;ea=g+160|0;fa=g+156|0;ga=g+152|0;ha=g+148|0;ia=g+144|0;ja=g+140|0;ka=g+136|0;la=g+132|0;ma=g+128|0;na=g+124|0;oa=g+120|0;pa=g+116|0;qa=g+112|0;ra=g+108|0;sa=g+104|0;ta=g+100|0;ua=g+80|0;va=g+60|0;wa=g+56|0;xa=g+52|0;ya=g+48|0;za=g+44|0;Aa=g+24|0;Ba=g+4|0;Ca=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[q>>2]=c[(c[k>>2]|0)+4>>2];c[r>>2]=c[(c[l>>2]|0)+4>>2];c[A>>2]=c[r>>2]<<1;c[u>>2]=c[(c[l>>2]|0)+8>>2];do if((c[q>>2]<<5|0)<=512){if((c[q>>2]<<5|0)>256){c[N>>2]=4;break}if((c[q>>2]<<5|0)>128){c[N>>2]=3;break}if((c[q>>2]<<5|0)>64){c[N>>2]=2;break}else{c[N>>2]=1;break}}else c[N>>2]=5;while(0);if(c[k>>2]|0)Da=(c[(c[k>>2]|0)+12>>2]&1|0)!=0;else Da=0;c[x>>2]=Da&1;if(c[l>>2]|0)Ea=(c[(c[l>>2]|0)+12>>2]&1|0)!=0;else Ea=0;c[y>>2]=Ea&1;if(c[j>>2]|0)Fa=(c[(c[j>>2]|0)+12>>2]&1|0)!=0;else Fa=0;c[z>>2]=Fa&1;c[m>>2]=c[(c[h>>2]|0)+16>>2];c[n>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[r>>2]|0))Kf();do if(c[q>>2]|0){c[H>>2]=c[y>>2]|0?c[r>>2]|0:0;k=aq(c[r>>2]|0,c[y>>2]|0)|0;c[D>>2]=k;c[o>>2]=k;c[R>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[r>>2]|0)-1<<2)>>2];k=c[R>>2]|0;c[S>>2]=(c[R>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[B>>2]=32-((d[45806+((c[R>>2]|0)>>>(c[S>>2]|0))>>0]|0)+(c[S>>2]|0));a:do if(c[B>>2]|0)Op(c[o>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[r>>2]|0,c[B>>2]|0)|0;else{c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[r>>2]|0))break a;c[(c[o>>2]|0)+(c[T>>2]<<2)>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[T>>2]<<2)>>2];c[T>>2]=(c[T>>2]|0)+1}}while(0);c[s>>2]=c[(c[j>>2]|0)+4>>2];c[v>>2]=c[(c[j>>2]|0)+8>>2];b:do if((c[s>>2]|0)>(c[r>>2]|0)){c[I>>2]=c[z>>2]|0?(c[s>>2]|0)+1|0:0;k=aq((c[s>>2]|0)+1|0,c[z>>2]|0)|0;c[E>>2]=k;c[p>>2]=k;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[s>>2]|0))break;c[(c[p>>2]|0)+(c[U>>2]<<2)>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[U>>2]<<2)>>2];c[U>>2]=(c[U>>2]|0)+1}Mp((c[p>>2]|0)+(c[r>>2]<<2)|0,0,c[p>>2]|0,c[s>>2]|0,c[o>>2]|0,c[r>>2]|0)|0;c[s>>2]=c[r>>2];while(1){if((c[s>>2]|0)<=0)break b;if(c[(c[p>>2]|0)+((c[s>>2]|0)-1<<2)>>2]|0)break b;c[s>>2]=(c[s>>2]|0)+-1}}else c[p>>2]=c[(c[j>>2]|0)+16>>2];while(0);if(!(c[s>>2]|0)){c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+8>>2]=0;break}c:do if((c[m>>2]|0)==(c[p>>2]|0)){if(c[E>>2]|0)xf(46062,46073,515,46083);c[I>>2]=c[z>>2]|0?c[s>>2]|0:0;k=aq(c[s>>2]|0,c[z>>2]|0)|0;c[E>>2]=k;c[p>>2]=k;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[s>>2]|0))break c;c[(c[p>>2]|0)+(c[V>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[V>>2]<<2)>>2];c[V>>2]=(c[V>>2]|0)+1}}while(0);d:do if((c[m>>2]|0)==(c[n>>2]|0)){c[J>>2]=c[x>>2]|0?c[q>>2]|0:0;k=aq(c[q>>2]|0,c[x>>2]|0)|0;c[F>>2]=k;c[n>>2]=k;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[q>>2]|0))break d;c[(c[n>>2]|0)+(c[W>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[W>>2]<<2)>>2];c[W>>2]=(c[W>>2]|0)+1}}while(0);if((c[c[h>>2]>>2]|0)<(c[A>>2]|0)){eq(c[h>>2]|0,c[A>>2]|0);c[m>>2]=c[(c[h>>2]|0)+16>>2]}if(c[y>>2]|0)Ga=(c[r>>2]|0)+1<<1;else Ga=0;c[K>>2]=Ga;k=aq((c[r>>2]|0)+1<<1,c[y>>2]|0)|0;c[G>>2]=k;c[_>>2]=k;c[da>>2]=0;c[da+4>>2]=0;c[da+8>>2]=0;c[da+12>>2]=0;c[da+16>>2]=0;c[da+20>>2]=0;c[da+24>>2]=0;c[C>>2]=(c[c[n>>2]>>2]&1|0?(c[v>>2]|0)!=0:0)&1;if((c[N>>2]|0)>1)xp(c[_>>2]|0,$,c[p>>2]|0,c[s>>2]|0,c[p>>2]|0,c[s>>2]|0,c[o>>2]|0,c[r>>2]|0,da);k=aq(c[s>>2]|0,c[x>>2]|0)|0;c[L>>2]=k;c[O>>2]=k;k=c[s>>2]|0;c[M>>2]=k;c[Q>>2]=k;c[P>>2]=k;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[s>>2]|0))break;c[(c[L>>2]|0)+(c[fa>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[fa>>2]<<2)>>2];c[fa>>2]=(c[fa>>2]|0)+1}c[X>>2]=1;while(1){if((c[X>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[m>>2]|0;if((c[$>>2]|0)>=(c[P>>2]|0))xp(k,t,c[_>>2]|0,c[$>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);else xp(k,t,c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[$>>2]|0,c[o>>2]|0,c[r>>2]|0,da);k=aq(c[t>>2]|0,c[x>>2]|0)|0;c[L+(c[X>>2]<<2)>>2]=k;c[O>>2]=k;k=c[t>>2]|0;c[M+(c[X>>2]<<2)>>2]=k;c[P>>2]=k;if((c[Q>>2]|0)<(c[P>>2]|0))c[Q>>2]=c[P>>2];c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[t>>2]|0))break;c[(c[L+(c[X>>2]<<2)>>2]|0)+(c[ga>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[ga>>2]<<2)>>2];c[ga>>2]=(c[ga>>2]|0)+1}c[X>>2]=(c[X>>2]|0)+1}c[O>>2]=aq(c[Q>>2]|0,c[x>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[Q>>2]|0))break;c[(c[O>>2]|0)+(c[ha>>2]<<2)>>2]=0;c[ha>>2]=(c[ha>>2]|0)+1}c[X>>2]=(c[q>>2]|0)-1;c[w>>2]=0;e:do if((c[N>>2]|0)==1)c[t>>2]=c[s>>2];else{c[t>>2]=c[r>>2];c[ia>>2]=0;while(1){if((c[ia>>2]|0)>=(c[t>>2]|0))break e;c[(c[m>>2]|0)+(c[ia>>2]<<2)>>2]=0;c[ia>>2]=(c[ia>>2]|0)+1}}while(0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[s>>2]|0))break;c[(c[m>>2]|0)+(c[ja>>2]<<2)>>2]=c[(c[p>>2]|0)+(c[ja>>2]<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+1}c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[ka>>2]=c[ba>>2];k=c[ka>>2]|0;c[la>>2]=(c[ka>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[aa>>2]=32-((d[45806+((c[ka>>2]|0)>>>(c[la>>2]|0))>>0]|0)+(c[la>>2]|0));c[ba>>2]=c[ba>>2]<<c[aa>>2]<<1;c[aa>>2]=31-(c[aa>>2]|0);c[Y>>2]=0;while(1){if(!(c[ba>>2]|0)){c[Y>>2]=(c[Y>>2]|0)+(c[aa>>2]|0);c[X>>2]=(c[X>>2]|0)+-1;if((c[X>>2]|0)<0){Ha=86;break}c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2];c[aa>>2]=32;continue}c[oa>>2]=c[ba>>2];k=c[oa>>2]|0;c[pa>>2]=(c[oa>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[ma>>2]=32-((d[45806+((c[oa>>2]|0)>>>(c[pa>>2]|0))>>0]|0)+(c[pa>>2]|0));c[ba>>2]=c[ba>>2]<<c[ma>>2];c[aa>>2]=(c[aa>>2]|0)-(c[ma>>2]|0);c[Y>>2]=(c[Y>>2]|0)+(c[ma>>2]|0);if((c[aa>>2]|0)>=(c[N>>2]|0)){c[na>>2]=(c[ba>>2]|0)>>>(32-(c[N>>2]|0)|0);c[ba>>2]=c[ba>>2]<<c[N>>2];c[aa>>2]=(c[aa>>2]|0)-(c[N>>2]|0)}else{c[X>>2]=(c[X>>2]|0)+-1;if((c[X>>2]|0)<0){Ha=91;break}c[ma>>2]=c[aa>>2];c[na>>2]=(c[ba>>2]|0)>>>(32-(c[N>>2]|0)|0)|(c[(c[n>>2]|0)+(c[X>>2]<<2)>>2]|0)>>>(32-(c[N>>2]|0)+(c[ma>>2]|0)|0);c[ba>>2]=c[(c[n>>2]|0)+(c[X>>2]<<2)>>2]<<(c[N>>2]|0)-(c[ma>>2]|0);c[aa>>2]=32-(c[N>>2]|0)+(c[ma>>2]|0)}c[qa>>2]=c[na>>2];c[sa>>2]=c[qa>>2]&0-(c[qa>>2]|0);k=c[sa>>2]|0;c[ta>>2]=(c[sa>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[ra>>2]=32-((d[45806+((c[sa>>2]|0)>>>(c[ta>>2]|0))>>0]|0)+(c[ta>>2]|0));c[ma>>2]=31-(c[ra>>2]|0);c[na>>2]=(c[na>>2]|0)>>>(c[ma>>2]|0)>>>1;c[Y>>2]=(c[Y>>2]|0)+((c[N>>2]|0)-(c[ma>>2]|0));while(1){if(!(c[Y>>2]|0))break;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[Y>>2]=(c[Y>>2]|0)+-1}c[P>>2]=0;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[M+(c[Z>>2]<<2)>>2]|0;c[ua+4>>2]=k;c[ua>>2]=k;k=c[M+(c[Z>>2]<<2)>>2]|0;c[va+4>>2]=k;c[va>>2]=k;c[va+8>>2]=0;c[ua+8>>2]=0;c[va+12>>2]=0;c[ua+12>>2]=0;c[ua+16>>2]=c[O>>2];c[va+16>>2]=c[L+(c[Z>>2]<<2)>>2];rq(ua,va,(c[Z>>2]|0)==(c[na>>2]|0)&1)|0;c[P>>2]=c[P>>2]|c[M+(c[Z>>2]<<2)>>2]&0-((c[Z>>2]|0)==(c[na>>2]|0)&1);c[Z>>2]=(c[Z>>2]|0)+1}xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[Y>>2]=c[ma>>2]}if((Ha|0)==86)c[aa>>2]=0;else if((Ha|0)==91)c[ba>>2]=(c[ba>>2]|0)>>>(32-(c[aa>>2]|0)|0);if(c[aa>>2]|0){c[Y>>2]=(c[Y>>2]|0)+(c[aa>>2]|0);c[wa>>2]=c[ba>>2];c[ya>>2]=c[wa>>2]&0-(c[wa>>2]|0);k=c[ya>>2]|0;c[za>>2]=(c[ya>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[xa>>2]=32-((d[45806+((c[ya>>2]|0)>>>(c[za>>2]|0))>>0]|0)+(c[za>>2]|0));c[aa>>2]=31-(c[xa>>2]|0);c[ba>>2]=(c[ba>>2]|0)>>>(c[aa>>2]|0);c[Y>>2]=(c[Y>>2]|0)-(c[aa>>2]|0)}while(1){k=c[Y>>2]|0;c[Y>>2]=k+-1;if(!k)break;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2]}f:do if(c[ba>>2]|0){c[P>>2]=0;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;k=c[M+(c[Z>>2]<<2)>>2]|0;c[Aa+4>>2]=k;c[Aa>>2]=k;k=c[M+(c[Z>>2]<<2)>>2]|0;c[Ba+4>>2]=k;c[Ba>>2]=k;c[Ba+8>>2]=0;c[Aa+8>>2]=0;c[Ba+12>>2]=0;c[Aa+12>>2]=0;c[Aa+16>>2]=c[O>>2];c[Ba+16>>2]=c[L+(c[Z>>2]<<2)>>2];rq(Aa,Ba,(c[Z>>2]|0)==((c[ba>>2]|0)>>>1|0)&1)|0;c[P>>2]=c[P>>2]|c[M+(c[Z>>2]<<2)>>2]&0-((c[Z>>2]|0)==((c[ba>>2]|0)>>>1|0)&1);c[Z>>2]=(c[Z>>2]|0)+1}xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[O>>2]|0,c[P>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];while(1){if(!(c[aa>>2]|0))break f;xp(c[_>>2]|0,$,c[m>>2]|0,c[t>>2]|0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0,da);c[ea>>2]=c[m>>2];c[m>>2]=c[_>>2];c[_>>2]=c[ea>>2];c[t>>2]=c[$>>2];c[aa>>2]=(c[aa>>2]|0)+-1}}while(0);k=c[(c[h>>2]|0)+16>>2]|0;Fa=c[m>>2]|0;do if(c[B>>2]|0){c[ca>>2]=Op(k,Fa,c[t>>2]|0,c[B>>2]|0)|0;c[m>>2]=c[(c[h>>2]|0)+16>>2];if(!(c[ca>>2]|0))break;c[(c[m>>2]|0)+(c[t>>2]<<2)>>2]=c[ca>>2];c[t>>2]=(c[t>>2]|0)+1}else{if((k|0)==(Fa|0))break;c[Ca>>2]=0;while(1){if((c[Ca>>2]|0)>=(c[t>>2]|0))break;c[(c[(c[h>>2]|0)+16>>2]|0)+(c[Ca>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[Ca>>2]<<2)>>2];c[Ca>>2]=(c[Ca>>2]|0)+1}c[m>>2]=c[(c[h>>2]|0)+16>>2]}while(0);if((c[t>>2]|0)>=(c[r>>2]|0)){Mp((c[m>>2]|0)+(c[r>>2]<<2)|0,0,c[m>>2]|0,c[t>>2]|0,c[o>>2]|0,c[r>>2]|0)|0;c[t>>2]=c[r>>2]}if(c[B>>2]|0)Wp(c[m>>2]|0,c[m>>2]|0,c[t>>2]|0,c[B>>2]|0)|0;while(1){if((c[t>>2]|0)<=0)break;if(c[(c[m>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break;c[t>>2]=(c[t>>2]|0)+-1}Vp(da);c[X>>2]=0;while(1){if((c[X>>2]|0)>=(1<<(c[N>>2]|0)-1|0))break;if(c[x>>2]|0)Ia=c[M+(c[X>>2]<<2)>>2]|0;else Ia=0;cq(c[L+(c[X>>2]<<2)>>2]|0,Ia);c[X>>2]=(c[X>>2]|0)+1}cq(c[O>>2]|0,c[x>>2]|0?c[Q>>2]|0:0);g:do if((c[C>>2]|0)!=0&(c[t>>2]|0)!=0){if(c[B>>2]|0)Wp(c[o>>2]|0,c[o>>2]|0,c[r>>2]|0,c[B>>2]|0)|0;np(c[m>>2]|0,c[o>>2]|0,c[r>>2]|0,c[m>>2]|0,c[t>>2]|0)|0;c[t>>2]=c[r>>2];c[w>>2]=c[u>>2];while(1){if((c[t>>2]|0)<=0)break g;if(c[(c[m>>2]|0)+((c[t>>2]|0)-1<<2)>>2]|0)break g;c[t>>2]=(c[t>>2]|0)+-1}}while(0);if((c[(c[h>>2]|0)+16>>2]|0)==(c[m>>2]|0)){c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+8>>2]=c[w>>2];break}else xf(46098,46073,786,46083)}else{if((c[r>>2]|0)==1)Ja=(c[c[(c[l>>2]|0)+16>>2]>>2]|0)==1;else Ja=0;c[(c[h>>2]|0)+4>>2]=Ja?0:1;if(c[(c[h>>2]|0)+4>>2]|0){if((c[c[h>>2]>>2]|0)<1)eq(c[h>>2]|0,1);c[m>>2]=c[(c[h>>2]|0)+16>>2];c[c[m>>2]>>2]=1}c[(c[h>>2]|0)+8>>2]=0}while(0);if(c[D>>2]|0)cq(c[D>>2]|0,c[H>>2]|0);if(c[E>>2]|0)cq(c[E>>2]|0,c[I>>2]|0);if(c[F>>2]|0)cq(c[F>>2]|0,c[J>>2]|0);if(!(c[G>>2]|0)){i=g;return}cq(c[G>>2]|0,c[K>>2]|0);i=g;return}function xp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;l=i;i=i+48|0;m=l+32|0;n=l+28|0;o=l+24|0;p=l+20|0;q=l+16|0;r=l+12|0;s=l+8|0;t=l+4|0;u=l;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;k=c[m>>2]|0;j=c[o>>2]|0;o=c[p>>2]|0;h=c[q>>2]|0;q=c[r>>2]|0;if((c[r>>2]|0)<16)Up(k,j,o,h,q)|0;else Tp(k,j,o,h,q,c[u>>2]|0);if(((c[p>>2]|0)+(c[r>>2]|0)|0)>(c[t>>2]|0)){Mp((c[m>>2]|0)+(c[t>>2]<<2)|0,0,c[m>>2]|0,(c[p>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[t>>2]|0)|0;c[c[n>>2]>>2]=c[t>>2];i=l;return}else{c[c[n>>2]>>2]=(c[p>>2]|0)+(c[r>>2]|0);i=l;return}}function yp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+48|0;e=b+32|0;f=b+28|0;g=b+24|0;h=b+20|0;j=b+16|0;k=b+12|0;l=b+8|0;m=b+4|0;n=b;c[e>>2]=a;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[e>>2]|0)+4>>2]|0)>>>0){o=6;break}if(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2]|0)break;c[g>>2]=(c[g>>2]|0)+32;c[f>>2]=(c[f>>2]|0)+1}if((o|0)==6){p=c[g>>2]|0;i=b;return p|0}c[j>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<2)>>2];c[k>>2]=c[j>>2];c[m>>2]=c[k>>2]&0-(c[k>>2]|0);k=c[m>>2]|0;c[n>>2]=(c[m>>2]|0)>>>0<65536?(k>>>0<256?0:8):k>>>0<16777216?16:24;c[l>>2]=32-((d[45806+((c[m>>2]|0)>>>(c[n>>2]|0))>>0]|0)+(c[n>>2]|0));c[h>>2]=31-(c[l>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);p=c[g>>2]|0;i=b;return p|0}function zp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Ap(c[g>>2]|0,c[h>>2]|0,0,c[j>>2]|0,c[k>>2]|0,0)|0;i=f;return e|0}function Ap(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;k=i;i=i+64|0;l=k+60|0;m=k+56|0;n=k+52|0;o=k+48|0;p=k+44|0;q=k+40|0;r=k+36|0;s=k+32|0;t=k+28|0;u=k+24|0;v=k+20|0;w=k+16|0;x=k+12|0;y=k+8|0;z=k+4|0;A=k;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[m>>2]|0)+8>>2];c[c[p>>2]>>2]=c[(c[m>>2]|0)+4>>2]<<2;if(c[c[p>>2]>>2]|0)B=c[c[p>>2]>>2]|0;else B=1;c[z>>2]=B;if((c[z>>2]|0)>>>0<(c[n>>2]|0)>>>0)c[z>>2]=c[n>>2];B=c[z>>2]|0;z=c[o>>2]|0;if((c[o>>2]|0)<0)c[A>>2]=B+(0-z);else c[A>>2]=B+z;do if(c[r>>2]|0)C=13;else{if(c[m>>2]|0?c[(c[m>>2]|0)+12>>2]&1|0:0){C=13;break}D=Vf(c[A>>2]|0)|0}while(0);if((C|0)==13)D=Yf(c[A>>2]|0)|0;c[u>>2]=D;if(!(c[u>>2]|0)){c[l>>2]=0;E=c[l>>2]|0;i=k;return E|0}D=c[u>>2]|0;if((c[o>>2]|0)<0)c[t>>2]=D+(0-(c[o>>2]|0));else c[t>>2]=D;c[s>>2]=c[t>>2];c[y>>2]=(c[(c[m>>2]|0)+4>>2]|0)-1;while(1){if((c[y>>2]|0)<0)break;c[x>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[y>>2]<<2)>>2];D=(c[x>>2]|0)>>>24&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=(c[x>>2]|0)>>>16&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=(c[x>>2]|0)>>>8&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;D=c[x>>2]&255;o=c[s>>2]|0;c[s>>2]=o+1;a[o>>0]=D;c[y>>2]=(c[y>>2]|0)+-1}if(c[n>>2]|0){c[v>>2]=c[c[p>>2]>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>>>0>=(((c[v>>2]|0)>>>0)/2|0)>>>0)break;c[w>>2]=d[(c[t>>2]|0)+(c[y>>2]|0)>>0];a[(c[t>>2]|0)+(c[y>>2]|0)>>0]=a[(c[t>>2]|0)+((c[v>>2]|0)-1-(c[y>>2]|0))>>0]|0;a[(c[t>>2]|0)+((c[v>>2]|0)-1-(c[y>>2]|0))>>0]=c[w>>2];c[y>>2]=(c[y>>2]|0)+1}c[s>>2]=(c[t>>2]|0)+(c[v>>2]|0);while(1){if((c[v>>2]|0)>>>0>=(c[n>>2]|0)>>>0)break;y=c[s>>2]|0;c[s>>2]=y+1;a[y>>0]=0;c[v>>2]=(c[v>>2]|0)+1}c[c[p>>2]>>2]=c[v>>2];c[l>>2]=c[u>>2];E=c[l>>2]|0;i=k;return E|0}else{c[s>>2]=c[t>>2];while(1){if(!(c[c[p>>2]>>2]|0))break;if(!((a[c[s>>2]>>0]|0)!=0^1))break;c[s>>2]=(c[s>>2]|0)+1;v=c[p>>2]|0;c[v>>2]=(c[v>>2]|0)+-1}if((c[s>>2]|0)!=(c[t>>2]|0))Ex(c[t>>2]|0,c[s>>2]|0,c[c[p>>2]>>2]|0)|0;c[l>>2]=c[u>>2];E=c[l>>2]|0;i=k;return E|0}return 0}function Bp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;j=g+12|0;k=g+8|0;l=g+4|0;m=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;f=Ap(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,0)|0;i=g;return f|0}function Cp(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+48|0;h=g+32|0;j=g+28|0;k=g+24|0;l=g+20|0;m=g+16|0;n=g+12|0;o=g+8|0;p=g+4|0;q=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[j>>2];if(c[h>>2]|0?c[(c[h>>2]|0)+12>>2]&16|0:0){gq();i=g;return}c[p>>2]=(((c[k>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[h>>2]>>2]|0)<(c[p>>2]|0))eq(c[h>>2]|0,c[p>>2]|0);c[(c[h>>2]|0)+8>>2]=c[l>>2];c[q>>2]=0;c[n>>2]=(c[m>>2]|0)+(c[k>>2]|0)+-1;while(1){r=c[n>>2]|0;if((c[n>>2]|0)>>>0<((c[m>>2]|0)+4|0)>>>0)break;c[n>>2]=r+-1;c[o>>2]=d[r>>0];k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<8;k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<16;k=c[n>>2]|0;c[n>>2]=k+-1;c[o>>2]=c[o>>2]|(d[k>>0]|0)<<24;k=c[o>>2]|0;l=c[q>>2]|0;c[q>>2]=l+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(l<<2)>>2]=k}if(r>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=d[r>>0];if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=c[o>>2]|(d[r>>0]|0)<<8}if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){r=c[n>>2]|0;c[n>>2]=r+-1;c[o>>2]=c[o>>2]|(d[r>>0]|0)<<16}if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){m=c[n>>2]|0;c[n>>2]=m+-1;c[o>>2]=c[o>>2]|(d[m>>0]|0)<<24}m=c[o>>2]|0;o=c[q>>2]|0;c[q>>2]=o+1;c[(c[(c[h>>2]|0)+16>>2]|0)+(o<<2)>>2]=m}c[(c[h>>2]|0)+4>>2]=c[q>>2];if((c[q>>2]|0)==(c[p>>2]|0)){i=g;return}else xf(46111,46123,377,46134)}function Dp(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=i;i=i+64|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h;c[k>>2]=a;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[m>>2];c[q>>2]=0;if(c[p>>2]|0)w=(Zf(c[p>>2]|0)|0)!=0;else w=0;c[s>>2]=w&1;if((c[l>>2]|0)==3)c[r>>2]=0;else c[r>>2]=c[n>>2];if((c[l>>2]|0)==1){c[t>>2]=c[p>>2];w=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)x=bq(w)|0;else x=$p(w)|0;c[q>>2]=x;if(c[r>>2]|0?(Cp(c[q>>2]|0,c[t>>2]|0,c[r>>2]|0,0),c[(c[q>>2]|0)+8>>2]=(((d[c[t>>2]>>0]|0)&128|0)!=0^1^1)&1,c[(c[q>>2]|0)+8>>2]|0):0){Ep(c[q>>2]|0);Ko(c[q>>2]|0,c[q>>2]|0,1);c[(c[q>>2]|0)+8>>2]=1}t=c[q>>2]|0;if(c[k>>2]|0){Qo(t);c[c[k>>2]>>2]=c[q>>2]}else hq(t);if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)==5){t=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)z=bq(t)|0;else z=$p(t)|0;c[q>>2]=z;if(c[r>>2]|0)Cp(c[q>>2]|0,c[p>>2]|0,c[r>>2]|0,0);z=c[q>>2]|0;if(c[k>>2]|0){Qo(z);c[c[k>>2]>>2]=c[q>>2]}else hq(z);if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)==2){c[q>>2]=Fp(c[p>>2]|0,r,c[s>>2]|0)|0;if(c[o>>2]|0)c[c[o>>2]>>2]=c[r>>2];z=c[q>>2]|0;if(!((c[k>>2]|0)!=0&(c[q>>2]|0)!=0)){if(z|0){hq(c[q>>2]|0);c[q>>2]=0}}else{Qo(z);c[c[k>>2]>>2]=c[q>>2]}c[j>>2]=c[q>>2]|0?0:65;y=c[j>>2]|0;i=h;return y|0}if((c[l>>2]|0)!=3){if((c[l>>2]|0)!=4){c[j>>2]=45;y=c[j>>2]|0;i=h;return y|0}if(c[n>>2]|0){c[j>>2]=45;y=c[j>>2]|0;i=h;return y|0}if(c[s>>2]|0)A=bq(0)|0;else A=$p(0)|0;c[q>>2]=A;if(Gp(c[q>>2]|0,c[p>>2]|0)|0){hq(c[q>>2]|0);c[j>>2]=65;y=c[j>>2]|0;i=h;return y|0}A=c[q>>2]|0;if(c[k>>2]|0){Qo(A);c[c[k>>2]>>2]=c[q>>2]}else hq(A);if(c[o>>2]|0){A=Kv(c[p>>2]|0)|0;c[c[o>>2]>>2]=A}c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}c[u>>2]=c[p>>2];if((c[r>>2]|0)!=0&(c[r>>2]|0)>>>0<4){c[j>>2]=66;y=c[j>>2]|0;i=h;return y|0}c[v>>2]=(d[c[u>>2]>>0]|0)<<24|(d[(c[u>>2]|0)+1>>0]|0)<<16|(d[(c[u>>2]|0)+2>>0]|0)<<8|(d[(c[u>>2]|0)+3>>0]|0);c[u>>2]=(c[u>>2]|0)+4;if(c[r>>2]|0)c[r>>2]=(c[r>>2]|0)-4;if(c[r>>2]|0?(c[v>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[j>>2]=67;y=c[j>>2]|0;i=h;return y|0}r=(((c[v>>2]|0)+4-1|0)>>>0)/4|0;if(c[s>>2]|0)B=bq(r)|0;else B=$p(r)|0;c[q>>2]=B;if(c[v>>2]|0?(Cp(c[q>>2]|0,c[u>>2]|0,c[v>>2]|0,0),c[(c[q>>2]|0)+8>>2]=(((d[c[u>>2]>>0]|0)&128|0)!=0^1^1)&1,c[(c[q>>2]|0)+8>>2]|0):0){Ep(c[q>>2]|0);Ko(c[q>>2]|0,c[q>>2]|0,1);c[(c[q>>2]|0)+8>>2]=1}if(c[o>>2]|0)c[c[o>>2]>>2]=(c[v>>2]|0)+4;v=c[q>>2]|0;if(c[k>>2]|0){Qo(v);c[c[k>>2]>>2]=c[q>>2]}else hq(v);c[j>>2]=0;y=c[j>>2]|0;i=h;return y|0}function Ep(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[d>>2]=a;c[h>>2]=Ro(c[d>>2]|0)|0;if(c[d>>2]|0?c[(c[d>>2]|0)+12>>2]&16|0:0){gq();i=b;return}Qo(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+16>>2];c[f>>2]=c[(c[d>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[f>>2]|0)>>>0)break;a=(c[e>>2]|0)+(c[g>>2]<<2)|0;c[a>>2]=~c[a>>2];c[g>>2]=(c[g>>2]|0)+1}c[(c[d>>2]|0)+8>>2]=0;Vo(c[d>>2]|0,(c[h>>2]|0)-1|0);i=b;return}function Fp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;i=i+48|0;g=f+40|0;h=f+36|0;j=f+32|0;k=f+28|0;l=f+24|0;m=f+20|0;n=f+16|0;o=f+12|0;p=f+8|0;q=f+4|0;r=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[p>>2]=0;c[r>>2]=0;if((c[c[h>>2]>>2]|0)>>>0<2){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}c[m>>2]=(d[c[g>>2]>>0]|0)<<8|(d[(c[g>>2]|0)+1>>0]|0);if((c[m>>2]|0)>>>0>16384){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}c[g>>2]=(c[g>>2]|0)+2;c[p>>2]=2;c[n>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[o>>2]=(((c[n>>2]|0)+4-1|0)>>>0)/4|0;m=c[o>>2]|0;if(c[j>>2]|0)v=bq(m)|0;else v=$p(m)|0;c[r>>2]=v;c[k>>2]=4-(((c[n>>2]|0)>>>0)%4|0);c[k>>2]=(c[k>>2]|0)%4|0;n=c[o>>2]|0;c[(c[r>>2]|0)+4>>2]=n;c[l>>2]=n;c[(c[r>>2]|0)+8>>2]=0;a:while(1){if((c[l>>2]|0)<=0){w=14;break}c[q>>2]=0;while(1){if((c[k>>2]|0)>=4)break;n=(c[p>>2]|0)+1|0;c[p>>2]=n;if(n>>>0>(c[c[h>>2]>>2]|0)>>>0)break a;c[q>>2]=c[q>>2]<<8;n=c[g>>2]|0;c[g>>2]=n+1;c[q>>2]=c[q>>2]|(d[n>>0]|0);c[k>>2]=(c[k>>2]|0)+1}c[k>>2]=0;c[(c[(c[r>>2]|0)+16>>2]|0)+((c[l>>2]|0)-1<<2)>>2]=c[q>>2];c[l>>2]=(c[l>>2]|0)+-1}if((w|0)==14){s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}hq(c[r>>2]|0);c[r>>2]=0;s=c[p>>2]|0;t=c[h>>2]|0;c[t>>2]=s;u=c[r>>2]|0;i=f;return u|0}function Gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=i;i=i+64|0;f=e+52|0;g=e+48|0;h=e+44|0;j=e+40|0;k=e+36|0;l=e+32|0;m=e+28|0;n=e+24|0;o=e+20|0;p=e+16|0;q=e+12|0;r=e+8|0;s=e+4|0;t=e;c[g>>2]=b;c[h>>2]=d;c[j>>2]=0;c[k>>2]=0;if((a[c[h>>2]>>0]|0)==45){c[j>>2]=1;c[h>>2]=(c[h>>2]|0)+1}if((a[c[h>>2]>>0]|0)==48?(a[(c[h>>2]|0)+1>>0]|0)==120:0)c[h>>2]=(c[h>>2]|0)+2;c[q>>2]=(Kv(c[h>>2]|0)|0)<<2;if(((c[q>>2]|0)>>>0)%8|0|0)c[k>>2]=1;c[r>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[s>>2]=(((c[r>>2]|0)+4-1|0)>>>0)/4|0;if((c[c[g>>2]>>2]|0)>>>0<(c[s>>2]|0)>>>0)eq(c[g>>2]|0,c[s>>2]|0);c[l>>2]=4-(((c[r>>2]|0)>>>0)%4|0);c[l>>2]=(c[l>>2]|0)%4|0;r=c[s>>2]|0;c[(c[g>>2]|0)+4>>2]=r;c[m>>2]=r;c[(c[g>>2]|0)+8>>2]=c[j>>2];a:while(1){if((c[m>>2]|0)<=0){u=37;break}c[t>>2]=0;while(1){if((c[l>>2]|0)>=4)break;if(c[k>>2]|0){c[o>>2]=48;c[k>>2]=0}else{j=c[h>>2]|0;c[h>>2]=j+1;c[o>>2]=a[j>>0]}if(!(c[o>>2]|0)){u=18;break a}j=c[h>>2]|0;c[h>>2]=j+1;c[p>>2]=a[j>>0];if(!(c[p>>2]|0)){u=20;break a}j=c[o>>2]|0;do if((c[o>>2]|0)>=48&(c[o>>2]|0)<=57)c[n>>2]=j-48;else{r=c[o>>2]|0;if((j|0)>=97&(c[o>>2]|0)<=102){c[n>>2]=r-97+10;break}if(!((r|0)>=65&(c[o>>2]|0)<=70)){u=27;break a}c[n>>2]=(c[o>>2]|0)-65+10}while(0);c[n>>2]=c[n>>2]<<4;j=c[p>>2]|0;do if((c[p>>2]|0)>=48&(c[p>>2]|0)<=57)c[n>>2]=c[n>>2]|j-48;else{r=c[p>>2]|0;if((j|0)>=97&(c[p>>2]|0)<=102){c[n>>2]=c[n>>2]|r-97+10;break}if(!((r|0)>=65&(c[p>>2]|0)<=70)){u=34;break a}c[n>>2]=c[n>>2]|(c[p>>2]|0)-65+10}while(0);c[t>>2]=c[t>>2]<<8;c[t>>2]=c[t>>2]|c[n>>2];c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=0;c[(c[(c[g>>2]|0)+16>>2]|0)+((c[m>>2]|0)-1<<2)>>2]=c[t>>2];c[m>>2]=(c[m>>2]|0)+-1}if((u|0)==18){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==20){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==27){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==34){fq(c[g>>2]|0);c[f>>2]=1;v=c[f>>2]|0;i=e;return v|0}else if((u|0)==37){c[f>>2]=0;v=c[f>>2]|0;i=e;return v|0}return 0}function Hp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=i;i=i+128|0;k=j+112|0;l=j+108|0;m=j+104|0;n=j+100|0;o=j+96|0;p=j+92|0;q=j+88|0;r=j+84|0;s=j+76|0;t=j+72|0;u=j+68|0;v=j+64|0;w=j+60|0;x=j+56|0;y=j+52|0;z=j+48|0;A=j+44|0;B=j+40|0;C=j+36|0;D=j+32|0;E=j+28|0;F=j+24|0;G=j+20|0;H=j+16|0;I=j+12|0;J=j+8|0;K=j+4|0;L=j;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=Ro(c[p>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=j+80;if(c[(c[p>>2]|0)+8>>2]|0?$o(c[p>>2]|0,0)|0:0)c[s>>2]=1;else c[s>>2]=0;c[r>>2]=c[n>>2];c[c[o>>2]>>2]=0;if((c[l>>2]|0)==1){c[u>>2]=0;c[t>>2]=zp(c[p>>2]|0,0,v,0)|0;if(!(c[t>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(c[s>>2]|0){Ip(c[t>>2]|0,c[v>>2]|0);if(!((d[c[t>>2]>>0]|0)&128)){c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=2}}else if(c[v>>2]|0?(d[c[t>>2]>>0]|0)&128|0:0){c[v>>2]=(c[v>>2]|0)+1;c[u>>2]=1}if(c[m>>2]|0?(c[v>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[t>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[w>>2]=c[m>>2];if((c[u>>2]|0)!=1){if(c[u>>2]|0){n=c[w>>2]|0;c[w>>2]=n+1;a[n>>0]=-1}}else{n=c[w>>2]|0;c[w>>2]=n+1;a[n>>0]=0}Dx(c[w>>2]|0,c[t>>2]|0,(c[v>>2]|0)-(((c[u>>2]|0)!=0^1^1)&1)|0)|0}$f(c[t>>2]|0);c[c[o>>2]>>2]=c[v>>2];c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==5){c[x>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;if(c[m>>2]|0?(c[x>>2]|0)>>>0>(c[r>>2]|0)>>>0:0){c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}do if(c[m>>2]|0){c[y>>2]=zp(c[p>>2]|0,0,x,0)|0;if(c[y>>2]|0){Dx(c[m>>2]|0,c[y>>2]|0,c[x>>2]|0)|0;$f(c[y>>2]|0);break}c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}while(0);c[c[o>>2]>>2]=c[x>>2];c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==2){c[z>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;if(c[s>>2]|0){c[k>>2]=45;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0?((c[z>>2]|0)+2|0)>>>0>(c[r>>2]|0)>>>0:0){c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}do if(c[m>>2]|0){c[B>>2]=c[m>>2];a[c[B>>2]>>0]=(c[q>>2]|0)>>>8;a[(c[B>>2]|0)+1>>0]=c[q>>2];c[A>>2]=zp(c[p>>2]|0,0,z,0)|0;if(c[A>>2]|0){Dx((c[B>>2]|0)+2|0,c[A>>2]|0,c[z>>2]|0)|0;$f(c[A>>2]|0);break}c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}while(0);c[c[o>>2]>>2]=(c[z>>2]|0)+2;c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)==3){c[D>>2]=0;c[C>>2]=zp(c[p>>2]|0,0,E,0)|0;if(!(c[C>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(c[s>>2]|0){Ip(c[C>>2]|0,c[E>>2]|0);if(!((d[c[C>>2]>>0]|0)&128)){c[E>>2]=(c[E>>2]|0)+1;c[D>>2]=2}}else if(c[E>>2]|0?(d[c[C>>2]>>0]|0)&128|0:0){c[E>>2]=(c[E>>2]|0)+1;c[D>>2]=1}if(c[m>>2]|0?((c[E>>2]|0)+4|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[C>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[F>>2]=c[m>>2];z=(c[E>>2]|0)>>>24&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=(c[E>>2]|0)>>>16&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=(c[E>>2]|0)>>>8&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;z=c[E>>2]&255;A=c[F>>2]|0;c[F>>2]=A+1;a[A>>0]=z;if((c[D>>2]|0)!=1){if(c[D>>2]|0){z=c[F>>2]|0;c[F>>2]=z+1;a[z>>0]=-1}}else{z=c[F>>2]|0;c[F>>2]=z+1;a[z>>0]=0}Dx(c[F>>2]|0,c[C>>2]|0,(c[E>>2]|0)-(((c[D>>2]|0)!=0^1^1)&1)|0)|0}$f(c[C>>2]|0);c[c[o>>2]>>2]=4+(c[E>>2]|0);c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}if((c[l>>2]|0)!=4){c[k>>2]=45;M=c[k>>2]|0;i=j;return M|0}c[I>>2]=0;c[J>>2]=0;c[G>>2]=zp(c[p>>2]|0,0,J,0)|0;if(!(c[G>>2]|0)){c[k>>2]=iu()|0;M=c[k>>2]|0;i=j;return M|0}if(!(c[J>>2]|0?!((d[c[G>>2]>>0]|0)&128|0):0))c[I>>2]=2;if(c[m>>2]|0?((c[J>>2]<<1)+(c[I>>2]|0)+(c[s>>2]|0)+1|0)>>>0>(c[r>>2]|0)>>>0:0){$f(c[G>>2]|0);c[k>>2]=66;M=c[k>>2]|0;i=j;return M|0}if(c[m>>2]|0){c[K>>2]=c[m>>2];if(c[s>>2]|0){r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=45}if(c[I>>2]|0){r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=48;r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=48}c[H>>2]=0;while(1){if((c[H>>2]|0)>>>0>=(c[J>>2]|0)>>>0)break;c[L>>2]=d[(c[G>>2]|0)+(c[H>>2]|0)>>0];r=(c[L>>2]|0)>>>4;p=((c[L>>2]|0)>>>4>>>0<10?48+r|0:65+r-10|0)&255;r=c[K>>2]|0;c[K>>2]=r+1;a[r>>0]=p;c[L>>2]=c[L>>2]&15;p=c[L>>2]|0;r=((c[L>>2]|0)>>>0<10?48+p|0:65+p-10|0)&255;p=c[K>>2]|0;c[K>>2]=p+1;a[p>>0]=r;c[H>>2]=(c[H>>2]|0)+1}H=c[K>>2]|0;c[K>>2]=H+1;a[H>>0]=0;c[c[o>>2]>>2]=(c[K>>2]|0)-(c[m>>2]|0)}else c[c[o>>2]>>2]=(c[J>>2]<<1)+(c[I>>2]|0)+(c[s>>2]|0)+1;$f(c[G>>2]|0);c[k>>2]=0;M=c[k>>2]|0;i=j;return M|0}function Ip(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f+4|0;j=f;c[g>>2]=b;c[h>>2]=e;c[j>>2]=(c[h>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(!((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0)!=0^1))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=f;return}h=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;do if(!(d[(c[g>>2]|0)+(c[j>>2]|0)>>0]&1|0)){e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(h&2|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^252|2)&254;break}b=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(e&4|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(b^248|4)&252;break}e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(b&8|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^240|8)&248;break}b=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(e&16|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(b^224|16)&240;break}e=d[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0;if(b&32|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(e^192|32)&224;break}b=(c[g>>2]|0)+(c[j>>2]|0)|0;if(e&64|0){a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=(d[b>>0]^128|64)&192;break}else{a[b>>0]=-128;break}}else a[(c[g>>2]|0)+(c[j>>2]|0)>>0]=h^254|1;while(0);c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[j>>2]|0)<0)break;h=(c[g>>2]|0)+(c[j>>2]|0)|0;a[h>>0]=d[h>>0]^255;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function Jp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+48|0;g=f+36|0;h=f+32|0;j=f+28|0;k=f+24|0;l=f+20|0;m=f+16|0;n=f+12|0;o=f+8|0;p=f+4|0;q=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if((((c[h>>2]|0)!=0^1)&1|0)==(((c[j>>2]|0)!=0^1)&1|0)){c[g>>2]=45;r=c[g>>2]|0;i=f;return r|0}if(c[h>>2]|0)c[c[h>>2]>>2]=0;c[m>>2]=Hp(5,0,0,n,c[k>>2]|0)|0;if(c[m>>2]|0){c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}if((c[n>>2]|0)>>>0>(c[l>>2]|0)>>>0){c[g>>2]=67;r=c[g>>2]|0;i=f;return r|0}if((c[n>>2]|0)>>>0<(c[l>>2]|0)>>>0)s=(c[l>>2]|0)-(c[n>>2]|0)|0;else s=0;c[o>>2]=s;c[p>>2]=(c[n>>2]|0)+(c[o>>2]|0);if(!(c[j>>2]|0)){if(c[k>>2]|0?c[(c[k>>2]|0)+12>>2]&1|0:0)t=Yf(c[p>>2]|0)|0;else t=Vf(c[p>>2]|0)|0;c[q>>2]=t;if(!(c[q>>2]|0)){c[m>>2]=iu()|0;c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}}else c[q>>2]=c[j>>2];if(c[o>>2]|0)Fx(c[q>>2]|0,0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[m>>2]=Hp(5,(c[q>>2]|0)+(c[o>>2]|0)|0,(c[n>>2]|0)-(c[o>>2]|0)|0,0,c[k>>2]|0)|0;if(c[m>>2]|0){$f(c[q>>2]|0);c[g>>2]=c[m>>2];r=c[g>>2]|0;i=f;return r|0}if(c[h>>2]|0)c[c[h>>2]>>2]=c[q>>2];c[g>>2]=0;r=c[g>>2]|0;i=f;return r|0}function Kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[o>>2]=0-(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+(0-(c[o>>2]|0)<<2);c[j>>2]=(c[j>>2]|0)+(0-(c[o>>2]|0)<<2);c[g>>2]=(c[g>>2]|0)+(0-(c[o>>2]|0)<<2);c[n>>2]=0;do{c[m>>2]=c[(c[j>>2]|0)+(c[o>>2]<<2)>>2];c[l>>2]=c[(c[h>>2]|0)+(c[o>>2]<<2)>>2];c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0&1;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0&1);c[(c[g>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];k=(c[o>>2]|0)+1|0;c[o>>2]=k}while((k|0)!=0);i=f;return c[n>>2]|0}function Lp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;f=i;i=i+144|0;g=f+128|0;h=f+124|0;j=f+120|0;k=f+116|0;l=f+112|0;m=f+108|0;n=f+104|0;o=f+100|0;p=f+96|0;q=f+92|0;r=f+88|0;s=f+84|0;t=f+80|0;u=f+76|0;v=f+72|0;w=f+68|0;x=f+64|0;y=f+60|0;z=f+56|0;A=f+52|0;B=f+48|0;C=f+44|0;D=f+40|0;E=f+36|0;F=f+32|0;G=f+28|0;H=f+24|0;I=f+20|0;J=f+16|0;K=f+12|0;L=f+8|0;M=f+4|0;N=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;if(!(c[j>>2]|0)){c[g>>2]=0;O=c[g>>2]|0;i=f;return O|0}c[r>>2]=c[k>>2];e=c[r>>2]|0;c[s>>2]=(c[r>>2]|0)>>>0<65536?(e>>>0<256?0:8):e>>>0<16777216?16:24;c[q>>2]=32-((d[45806+((c[r>>2]|0)>>>(c[s>>2]|0))>>0]|0)+(c[s>>2]|0));if(!(c[q>>2]|0)){c[l>>2]=(c[j>>2]|0)-1;c[o>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)>>>0>=(c[k>>2]|0)>>>0)c[o>>2]=0;else c[l>>2]=(c[l>>2]|0)+-1;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[H>>2]=(c[k>>2]|0)>>>16;c[I>>2]=c[k>>2]&65535;c[L>>2]=((c[o>>2]|0)>>>0)%((c[H>>2]|0)>>>0)|0;c[J>>2]=((c[o>>2]|0)>>>0)/((c[H>>2]|0)>>>0)|0;c[N>>2]=_(c[J>>2]|0,c[I>>2]|0)|0;c[L>>2]=c[L>>2]<<16|(c[n>>2]|0)>>>16;if(((c[L>>2]|0)>>>0<(c[N>>2]|0)>>>0?(c[J>>2]=(c[J>>2]|0)+-1,c[L>>2]=(c[L>>2]|0)+(c[k>>2]|0),(c[L>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[L>>2]|0)>>>0<(c[N>>2]|0)>>>0:0){c[J>>2]=(c[J>>2]|0)+-1;c[L>>2]=(c[L>>2]|0)+(c[k>>2]|0)}c[L>>2]=(c[L>>2]|0)-(c[N>>2]|0);c[M>>2]=((c[L>>2]|0)>>>0)%((c[H>>2]|0)>>>0)|0;c[K>>2]=((c[L>>2]|0)>>>0)/((c[H>>2]|0)>>>0)|0;c[N>>2]=_(c[K>>2]|0,c[I>>2]|0)|0;c[M>>2]=c[M>>2]<<16|c[n>>2]&65535;if(((c[M>>2]|0)>>>0<(c[N>>2]|0)>>>0?(c[K>>2]=(c[K>>2]|0)+-1,c[M>>2]=(c[M>>2]|0)+(c[k>>2]|0),(c[M>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[M>>2]|0)>>>0<(c[N>>2]|0)>>>0:0){c[K>>2]=(c[K>>2]|0)+-1;c[M>>2]=(c[M>>2]|0)+(c[k>>2]|0)}c[M>>2]=(c[M>>2]|0)-(c[N>>2]|0);c[p>>2]=c[J>>2]<<16|c[K>>2];c[o>>2]=c[M>>2];c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=c[o>>2];O=c[g>>2]|0;i=f;return O|0}c[k>>2]=c[k>>2]<<c[q>>2];c[m>>2]=c[(c[h>>2]|0)+((c[j>>2]|0)-1<<2)>>2];c[o>>2]=(c[m>>2]|0)>>>(32-(c[q>>2]|0)|0);c[l>>2]=(c[j>>2]|0)-2;while(1){if((c[l>>2]|0)<0)break;c[n>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[t>>2]=(c[k>>2]|0)>>>16;c[u>>2]=c[k>>2]&65535;c[x>>2]=((c[o>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[v>>2]=((c[o>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[x>>2]=c[x>>2]<<16|(c[m>>2]<<c[q>>2]|(c[n>>2]|0)>>>(32-(c[q>>2]|0)|0))>>>16;if(((c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[v>>2]=(c[v>>2]|0)+-1,c[x>>2]=(c[x>>2]|0)+(c[k>>2]|0),(c[x>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[v>>2]=(c[v>>2]|0)+-1;c[x>>2]=(c[x>>2]|0)+(c[k>>2]|0)}c[x>>2]=(c[x>>2]|0)-(c[z>>2]|0);c[y>>2]=((c[x>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[w>>2]=((c[x>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[w>>2]|0,c[u>>2]|0)|0;c[y>>2]=c[y>>2]<<16|(c[m>>2]<<c[q>>2]|(c[n>>2]|0)>>>(32-(c[q>>2]|0)|0))&65535;if(((c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[k>>2]|0),(c[y>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[k>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[p>>2]=c[v>>2]<<16|c[w>>2];c[o>>2]=c[y>>2];c[m>>2]=c[n>>2];c[l>>2]=(c[l>>2]|0)+-1}c[A>>2]=(c[k>>2]|0)>>>16;c[B>>2]=c[k>>2]&65535;c[E>>2]=((c[o>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[C>>2]=((c[o>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[C>>2]|0,c[B>>2]|0)|0;c[E>>2]=c[E>>2]<<16|c[m>>2]<<c[q>>2]>>>16;if(((c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[C>>2]=(c[C>>2]|0)+-1,c[E>>2]=(c[E>>2]|0)+(c[k>>2]|0),(c[E>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[C>>2]=(c[C>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+(c[k>>2]|0)}c[E>>2]=(c[E>>2]|0)-(c[G>>2]|0);c[F>>2]=((c[E>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[D>>2]=((c[E>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[D>>2]|0,c[B>>2]|0)|0;c[F>>2]=c[F>>2]<<16|c[m>>2]<<c[q>>2]&65535;if(((c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[k>>2]|0),(c[F>>2]|0)>>>0>=(c[k>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[k>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[G>>2]|0);c[p>>2]=c[C>>2]<<16|c[D>>2];c[o>>2]=c[F>>2];c[g>>2]=(c[o>>2]|0)>>>(c[q>>2]|0);O=c[g>>2]|0;i=f;return O|0}function Mp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;h=i;i=i+320|0;j=h+316|0;k=h+312|0;l=h+308|0;m=h+304|0;n=h+300|0;o=h+296|0;p=h+292|0;q=h+288|0;r=h+284|0;s=h+280|0;t=h+276|0;u=h+272|0;v=h+268|0;w=h+264|0;x=h+260|0;y=h+256|0;z=h+252|0;A=h+248|0;B=h+244|0;C=h+240|0;D=h+236|0;E=h+232|0;F=h+228|0;G=h+224|0;H=h+220|0;I=h+216|0;J=h+212|0;K=h+208|0;L=h+204|0;M=h+200|0;N=h+196|0;O=h+192|0;P=h+188|0;Q=h+184|0;R=h+180|0;S=h+176|0;T=h+172|0;U=h+168|0;V=h+164|0;W=h+160|0;X=h+156|0;Y=h+152|0;Z=h+148|0;$=h+144|0;aa=h+140|0;ba=h+136|0;ca=h+132|0;da=h+128|0;ea=h+124|0;fa=h+120|0;ga=h+116|0;ha=h+112|0;ia=h+108|0;ja=h+104|0;ka=h+100|0;la=h+96|0;ma=h+92|0;na=h+88|0;oa=h+84|0;pa=h+80|0;qa=h+76|0;ra=h+72|0;sa=h+68|0;ta=h+64|0;ua=h+60|0;va=h+56|0;wa=h+52|0;xa=h+48|0;ya=h+44|0;za=h+40|0;Aa=h+36|0;Ba=h+32|0;Ca=h+28|0;Da=h+24|0;Ea=h+20|0;Fa=h+16|0;Ga=h+12|0;Ha=h+8|0;Ia=h+4|0;Ja=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;switch(c[o>>2]|0){case 0:{Kf();break}case 1:{c[s>>2]=c[c[n>>2]>>2];c[r>>2]=c[(c[l>>2]|0)+((c[m>>2]|0)-1<<2)>>2];if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){c[r>>2]=(c[r>>2]|0)-(c[s>>2]|0);c[p>>2]=1}c[j>>2]=(c[j>>2]|0)+(c[k>>2]<<2);c[q>>2]=(c[m>>2]|0)-2;while(1){if((c[q>>2]|0)<0)break;c[t>>2]=(c[s>>2]|0)>>>16;c[u>>2]=c[s>>2]&65535;c[x>>2]=((c[r>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[v>>2]=((c[r>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[v>>2]|0,c[u>>2]|0)|0;c[x>>2]=c[x>>2]<<16|(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)>>>16;if(((c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[v>>2]=(c[v>>2]|0)+-1,c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0),(c[x>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[x>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[v>>2]=(c[v>>2]|0)+-1;c[x>>2]=(c[x>>2]|0)+(c[s>>2]|0)}c[x>>2]=(c[x>>2]|0)-(c[z>>2]|0);c[y>>2]=((c[x>>2]|0)>>>0)%((c[t>>2]|0)>>>0)|0;c[w>>2]=((c[x>>2]|0)>>>0)/((c[t>>2]|0)>>>0)|0;c[z>>2]=_(c[w>>2]|0,c[u>>2]|0)|0;c[y>>2]=c[y>>2]<<16|c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]&65535;if(((c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0?(c[w>>2]=(c[w>>2]|0)+-1,c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0),(c[y>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[y>>2]|0)>>>0<(c[z>>2]|0)>>>0:0){c[w>>2]=(c[w>>2]|0)+-1;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0)}c[y>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=c[v>>2]<<16|c[w>>2];c[r>>2]=c[y>>2];c[q>>2]=(c[q>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+(0-(c[k>>2]|0)<<2);c[q>>2]=(c[k>>2]|0)-1;while(1){if((c[q>>2]|0)<0)break;c[A>>2]=(c[s>>2]|0)>>>16;c[B>>2]=c[s>>2]&65535;c[E>>2]=((c[r>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[C>>2]=((c[r>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[C>>2]|0,c[B>>2]|0)|0;c[E>>2]=c[E>>2]<<16;if(((c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[C>>2]=(c[C>>2]|0)+-1,c[E>>2]=(c[E>>2]|0)+(c[s>>2]|0),(c[E>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[E>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[C>>2]=(c[C>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+(c[s>>2]|0)}c[E>>2]=(c[E>>2]|0)-(c[G>>2]|0);c[F>>2]=((c[E>>2]|0)>>>0)%((c[A>>2]|0)>>>0)|0;c[D>>2]=((c[E>>2]|0)>>>0)/((c[A>>2]|0)>>>0)|0;c[G>>2]=_(c[D>>2]|0,c[B>>2]|0)|0;c[F>>2]=c[F>>2]<<16;if(((c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0?(c[D>>2]=(c[D>>2]|0)+-1,c[F>>2]=(c[F>>2]|0)+(c[s>>2]|0),(c[F>>2]|0)>>>0>=(c[s>>2]|0)>>>0):0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0){c[D>>2]=(c[D>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+(c[s>>2]|0)}c[F>>2]=(c[F>>2]|0)-(c[G>>2]|0);c[(c[j>>2]|0)+(c[q>>2]<<2)>>2]=c[C>>2]<<16|c[D>>2];c[r>>2]=c[F>>2];c[q>>2]=(c[q>>2]|0)+-1}c[c[l>>2]>>2]=c[r>>2];Ka=c[p>>2]|0;i=h;return Ka|0}case 2:{c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)-2<<2);c[L>>2]=c[(c[n>>2]|0)+4>>2];c[M>>2]=c[c[n>>2]>>2];c[I>>2]=c[(c[l>>2]|0)+4>>2];c[J>>2]=c[c[l>>2]>>2];do if((c[I>>2]|0)>>>0>=(c[L>>2]|0)>>>0){if((c[I>>2]|0)>>>0<=(c[L>>2]|0)>>>0?(c[J>>2]|0)>>>0<(c[M>>2]|0)>>>0:0)break;c[N>>2]=(c[J>>2]|0)-(c[M>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[L>>2]|0)-((c[N>>2]|0)>>>0>(c[J>>2]|0)>>>0&1);c[J>>2]=c[N>>2];c[p>>2]=1}while(0);c[H>>2]=(c[k>>2]|0)+(c[m>>2]|0)-2-1;while(1){if((c[H>>2]|0)<0)break;N=c[l>>2]|0;if((c[H>>2]|0)>=(c[k>>2]|0))c[l>>2]=N+-4;else c[N>>2]=0;do if((c[I>>2]|0)==(c[L>>2]|0)){c[O>>2]=-1;c[P>>2]=(c[J>>2]|0)+(c[L>>2]|0);if((c[P>>2]|0)>>>0<(c[L>>2]|0)>>>0){c[Q>>2]=(c[c[l>>2]>>2]|0)+(c[M>>2]|0);c[I>>2]=(c[P>>2]|0)-(c[M>>2]|0)+0+((c[Q>>2]|0)>>>0<(c[c[l>>2]>>2]|0)>>>0&1);c[J>>2]=c[Q>>2];c[(c[j>>2]|0)+(c[H>>2]<<2)>>2]=c[O>>2];break}else{c[I>>2]=(c[M>>2]|0)-(c[M>>2]|0?1:0);c[J>>2]=0-(c[M>>2]|0);La=52;break}}else{c[R>>2]=(c[L>>2]|0)>>>16;c[S>>2]=c[L>>2]&65535;c[V>>2]=((c[I>>2]|0)>>>0)%((c[R>>2]|0)>>>0)|0;c[T>>2]=((c[I>>2]|0)>>>0)/((c[R>>2]|0)>>>0)|0;c[X>>2]=_(c[T>>2]|0,c[S>>2]|0)|0;c[V>>2]=c[V>>2]<<16|(c[J>>2]|0)>>>16;if(((c[V>>2]|0)>>>0<(c[X>>2]|0)>>>0?(c[T>>2]=(c[T>>2]|0)+-1,c[V>>2]=(c[V>>2]|0)+(c[L>>2]|0),(c[V>>2]|0)>>>0>=(c[L>>2]|0)>>>0):0)?(c[V>>2]|0)>>>0<(c[X>>2]|0)>>>0:0){c[T>>2]=(c[T>>2]|0)+-1;c[V>>2]=(c[V>>2]|0)+(c[L>>2]|0)}c[V>>2]=(c[V>>2]|0)-(c[X>>2]|0);c[W>>2]=((c[V>>2]|0)>>>0)%((c[R>>2]|0)>>>0)|0;c[U>>2]=((c[V>>2]|0)>>>0)/((c[R>>2]|0)>>>0)|0;c[X>>2]=_(c[U>>2]|0,c[S>>2]|0)|0;c[W>>2]=c[W>>2]<<16|c[J>>2]&65535;if(((c[W>>2]|0)>>>0<(c[X>>2]|0)>>>0?(c[U>>2]=(c[U>>2]|0)+-1,c[W>>2]=(c[W>>2]|0)+(c[L>>2]|0),(c[W>>2]|0)>>>0>=(c[L>>2]|0)>>>0):0)?(c[W>>2]|0)>>>0<(c[X>>2]|0)>>>0:0){c[U>>2]=(c[U>>2]|0)+-1;c[W>>2]=(c[W>>2]|0)+(c[L>>2]|0)}c[W>>2]=(c[W>>2]|0)-(c[X>>2]|0);c[O>>2]=c[T>>2]<<16|c[U>>2];c[P>>2]=c[W>>2];c[fa>>2]=c[M>>2];c[ga>>2]=c[O>>2];c[ba>>2]=c[fa>>2]&65535;c[da>>2]=(c[fa>>2]|0)>>>16;c[ca>>2]=c[ga>>2]&65535;c[ea>>2]=(c[ga>>2]|0)>>>16;c[Y>>2]=_(c[ba>>2]|0,c[ca>>2]|0)|0;c[Z>>2]=_(c[ba>>2]|0,c[ea>>2]|0)|0;c[$>>2]=_(c[da>>2]|0,c[ca>>2]|0)|0;c[aa>>2]=_(c[da>>2]|0,c[ea>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+((c[Y>>2]|0)>>>16);c[Z>>2]=(c[Z>>2]|0)+(c[$>>2]|0);if((c[Z>>2]|0)>>>0<(c[$>>2]|0)>>>0)c[aa>>2]=(c[aa>>2]|0)+65536;c[I>>2]=(c[aa>>2]|0)+((c[Z>>2]|0)>>>16);c[J>>2]=((c[Z>>2]&65535)<<16)+(c[Y>>2]&65535);La=52}while(0);if((La|0)==52){La=0;c[K>>2]=c[c[l>>2]>>2];do{if((c[I>>2]|0)>>>0<=(c[P>>2]|0)>>>0){if((c[I>>2]|0)!=(c[P>>2]|0))break;if((c[J>>2]|0)>>>0<=(c[K>>2]|0)>>>0)break}c[O>>2]=(c[O>>2]|0)+-1;c[ha>>2]=(c[J>>2]|0)-(c[M>>2]|0);c[I>>2]=(c[I>>2]|0)-0-((c[ha>>2]|0)>>>0>(c[J>>2]|0)>>>0&1);c[J>>2]=c[ha>>2];c[P>>2]=(c[P>>2]|0)+(c[L>>2]|0)}while((c[P>>2]|0)>>>0>=(c[L>>2]|0)>>>0);c[(c[j>>2]|0)+(c[H>>2]<<2)>>2]=c[O>>2];c[ia>>2]=(c[K>>2]|0)-(c[J>>2]|0);c[I>>2]=(c[P>>2]|0)-(c[I>>2]|0)-((c[ia>>2]|0)>>>0>(c[K>>2]|0)>>>0&1);c[J>>2]=c[ia>>2]}c[H>>2]=(c[H>>2]|0)+-1}c[(c[l>>2]|0)+4>>2]=c[I>>2];c[c[l>>2]>>2]=c[J>>2];Ka=c[p>>2]|0;i=h;return Ka|0}default:{c[l>>2]=(c[l>>2]|0)+((c[m>>2]|0)-(c[o>>2]|0)<<2);c[ka>>2]=c[(c[n>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[la>>2]=c[(c[n>>2]|0)+((c[o>>2]|0)-2<<2)>>2];c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];do if((c[ma>>2]|0)>>>0>=(c[ka>>2]|0)>>>0){if((c[ma>>2]|0)>>>0<=(c[ka>>2]|0)>>>0?(op(c[l>>2]|0,c[n>>2]|0,(c[o>>2]|0)-1|0)|0)<0:0)break;Xp(c[l>>2]|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[p>>2]=1}while(0);c[ja>>2]=(c[k>>2]|0)+(c[m>>2]|0)-(c[o>>2]|0)-1;while(1){if((c[ja>>2]|0)<0)break;if((c[ja>>2]|0)>=(c[k>>2]|0)){c[l>>2]=(c[l>>2]|0)+-4;c[pa>>2]=c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]}else{c[pa>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[ra>>2]=(c[o>>2]|0)-1-1;while(1){if((c[ra>>2]|0)<0)break;c[(c[l>>2]|0)+4+(c[ra>>2]<<2)>>2]=c[(c[l>>2]|0)+(c[ra>>2]<<2)>>2];c[ra>>2]=(c[ra>>2]|0)+-1}c[c[l>>2]>>2]=0}a:do if((c[ma>>2]|0)==(c[ka>>2]|0))c[na>>2]=-1;else{c[ta>>2]=(c[ka>>2]|0)>>>16;c[ua>>2]=c[ka>>2]&65535;c[xa>>2]=((c[ma>>2]|0)>>>0)%((c[ta>>2]|0)>>>0)|0;c[va>>2]=((c[ma>>2]|0)>>>0)/((c[ta>>2]|0)>>>0)|0;c[za>>2]=_(c[va>>2]|0,c[ua>>2]|0)|0;c[xa>>2]=c[xa>>2]<<16|(c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2]|0)>>>16;if(((c[xa>>2]|0)>>>0<(c[za>>2]|0)>>>0?(c[va>>2]=(c[va>>2]|0)+-1,c[xa>>2]=(c[xa>>2]|0)+(c[ka>>2]|0),(c[xa>>2]|0)>>>0>=(c[ka>>2]|0)>>>0):0)?(c[xa>>2]|0)>>>0<(c[za>>2]|0)>>>0:0){c[va>>2]=(c[va>>2]|0)+-1;c[xa>>2]=(c[xa>>2]|0)+(c[ka>>2]|0)}c[xa>>2]=(c[xa>>2]|0)-(c[za>>2]|0);c[ya>>2]=((c[xa>>2]|0)>>>0)%((c[ta>>2]|0)>>>0)|0;c[wa>>2]=((c[xa>>2]|0)>>>0)/((c[ta>>2]|0)>>>0)|0;c[za>>2]=_(c[wa>>2]|0,c[ua>>2]|0)|0;c[ya>>2]=c[ya>>2]<<16|c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2]&65535;if(((c[ya>>2]|0)>>>0<(c[za>>2]|0)>>>0?(c[wa>>2]=(c[wa>>2]|0)+-1,c[ya>>2]=(c[ya>>2]|0)+(c[ka>>2]|0),(c[ya>>2]|0)>>>0>=(c[ka>>2]|0)>>>0):0)?(c[ya>>2]|0)>>>0<(c[za>>2]|0)>>>0:0){c[wa>>2]=(c[wa>>2]|0)+-1;c[ya>>2]=(c[ya>>2]|0)+(c[ka>>2]|0)}c[ya>>2]=(c[ya>>2]|0)-(c[za>>2]|0);c[na>>2]=c[va>>2]<<16|c[wa>>2];c[sa>>2]=c[ya>>2];c[Ia>>2]=c[la>>2];c[Ja>>2]=c[na>>2];c[Ea>>2]=c[Ia>>2]&65535;c[Ga>>2]=(c[Ia>>2]|0)>>>16;c[Fa>>2]=c[Ja>>2]&65535;c[Ha>>2]=(c[Ja>>2]|0)>>>16;c[Aa>>2]=_(c[Ea>>2]|0,c[Fa>>2]|0)|0;c[Ba>>2]=_(c[Ea>>2]|0,c[Ha>>2]|0)|0;c[Ca>>2]=_(c[Ga>>2]|0,c[Fa>>2]|0)|0;c[Da>>2]=_(c[Ga>>2]|0,c[Ha>>2]|0)|0;c[Ba>>2]=(c[Ba>>2]|0)+((c[Aa>>2]|0)>>>16);c[Ba>>2]=(c[Ba>>2]|0)+(c[Ca>>2]|0);if((c[Ba>>2]|0)>>>0<(c[Ca>>2]|0)>>>0)c[Da>>2]=(c[Da>>2]|0)+65536;c[oa>>2]=(c[Da>>2]|0)+((c[Ba>>2]|0)>>>16);c[ma>>2]=((c[Ba>>2]&65535)<<16)+(c[Aa>>2]&65535);while(1){if((c[oa>>2]|0)>>>0<=(c[sa>>2]|0)>>>0){if((c[oa>>2]|0)!=(c[sa>>2]|0))break a;if((c[ma>>2]|0)>>>0<=(c[(c[l>>2]|0)+((c[o>>2]|0)-2<<2)>>2]|0)>>>0)break a}c[na>>2]=(c[na>>2]|0)+-1;c[sa>>2]=(c[sa>>2]|0)+(c[ka>>2]|0);if((c[sa>>2]|0)>>>0<(c[ka>>2]|0)>>>0)break a;c[oa>>2]=(c[oa>>2]|0)-((c[ma>>2]|0)>>>0<(c[la>>2]|0)>>>0&1);c[ma>>2]=(c[ma>>2]|0)-(c[la>>2]|0)}}while(0);c[qa>>2]=Qp(c[l>>2]|0,c[n>>2]|0,c[o>>2]|0,c[na>>2]|0)|0;if((c[pa>>2]|0)!=(c[qa>>2]|0)){Kp(c[l>>2]|0,c[l>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[na>>2]=(c[na>>2]|0)+-1}c[(c[j>>2]|0)+(c[ja>>2]<<2)>>2]=c[na>>2];c[ma>>2]=c[(c[l>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+-1}Ka=c[p>>2]|0;i=h;return Ka|0}}return 0}
-function rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;i=i+160|0;f=e+144|0;g=e+140|0;h=e+136|0;j=e+132|0;k=e+128|0;l=e+124|0;m=e+120|0;n=e+116|0;o=e+112|0;p=e+108|0;q=e+104|0;r=e+100|0;s=e+96|0;t=e+92|0;u=e+88|0;v=e+84|0;w=e+80|0;x=e+76|0;y=e+72|0;z=e+68|0;A=e+64|0;B=e+60|0;C=e+56|0;D=e+52|0;E=e+48|0;F=e+44|0;G=e+40|0;H=e+36|0;I=e+32|0;J=e+28|0;K=e+24|0;L=e+20|0;M=e+16|0;N=e+12|0;O=e+8|0;P=e+4|0;Q=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=0;c[q>>2]=0;c[r>>2]=0;c[c[h>>2]>>2]=0;c[l>>2]=xg(c[g>>2]|0,37911,0)|0;if(!(c[l>>2]|0)){d=Fg(c[g>>2]|0,0,0)|0;c[c[h>>2]>>2]=d;c[f>>2]=c[c[h>>2]>>2]|0?0:65;R=c[f>>2]|0;i=e;return R|0}c[s>>2]=xg(c[l>>2]|0,47167,0)|0;if(c[s>>2]|0){if(jk(c[s>>2]|0,r,(c[j>>2]|0)+8|0)|0)c[q>>2]=1;vg(c[s>>2]|0)}if((c[(c[j>>2]|0)+8>>2]|0)==5)c[(c[j>>2]|0)+8>>2]=0;c[m>>2]=xg(c[l>>2]|0,37916,0)|0;if(c[m>>2]|0)S=0;else S=xg(c[l>>2]|0,42217,0)|0;c[n>>2]=S;a:do if(((c[m>>2]|0)!=0^1)&1^((c[n>>2]|0)!=0^1)&1|0){if(c[q>>2]|0){c[k>>2]=72;break}if((c[(c[j>>2]|0)+8>>2]|0)==0?c[r>>2]&4096|0:0){if(!(c[n>>2]|0)){c[k>>2]=65;break}c[t>>2]=xg(c[l>>2]|0,37805,0)|0;if(c[t>>2]|0){c[p>>2]=Bg(c[t>>2]|0,1,o)|0;if(c[p>>2]|0){S=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=S;if(!(c[(c[j>>2]|0)+16>>2]|0))c[k>>2]=5}else c[k>>2]=68;vg(c[t>>2]|0)}else c[k>>2]=65;if(c[k>>2]|0)break;c[u>>2]=Dg(c[n>>2]|0,1,v)|0;if(c[u>>2]|0){if(c[v>>2]<<3>>>0<(c[v>>2]|0)>>>0){$f(c[u>>2]|0);c[k>>2]=67}}else{c[v>>2]=0;c[u>>2]=Vf(1)|0;if(!(c[u>>2]|0))c[k>>2]=iu()|0}if(c[k>>2]|0)break;S=iq(0,c[u>>2]|0,c[v>>2]<<3)|0;c[c[h>>2]>>2]=S;break}do if(c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==0:0){if((c[r>>2]&16|0)==0?(c[r>>2]&2|0)==0:0)break;if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break a}S=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=S;if(!((S|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break a}S=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=S;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break a}S=Dg(c[m>>2]|0,2,x)|0;c[w>>2]=S;if(!S){c[k>>2]=65;break a}S=c[w>>2]|0;if(c[x>>2]<<3>>>0<(c[x>>2]|0)>>>0){$f(S);c[k>>2]=67;break a}else{s=iq(0,S,c[x>>2]<<3)|0;c[c[h>>2]>>2]=s;break a}}while(0);if(c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==0:0){if(c[r>>2]&2|0){c[k>>2]=70;break}s=Fg(c[n>>2]|0,1,5)|0;c[c[h>>2]>>2]=s;if(c[c[h>>2]>>2]|0)break;c[k>>2]=65;break}if((c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==1:0)?(c[c[j>>2]>>2]|0)==0:0){c[B>>2]=0;c[C>>2]=0;s=Bg(c[n>>2]|0,1,z)|0;c[y>>2]=s;if(!((s|0)!=0&(c[z>>2]|0)!=0)){c[k>>2]=65;break}c[A>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[A>>2]|0){c[p>>2]=Bg(c[A>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0>0){c[B>>2]=Vf(c[o>>2]|0)|0;if(c[B>>2]|0){Dx(c[B>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[C>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}}else c[k>>2]=68;while(0);vg(c[A>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Il(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[y>>2]|0,c[z>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;$f(c[B>>2]|0);break}do if(c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==1:0){if((c[c[j>>2]>>2]|0)!=2?(c[c[j>>2]>>2]|0)!=3:0)break;if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break a}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break a}s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break a}s=Bg(c[m>>2]|0,2,E)|0;c[D>>2]=s;if((s|0)!=0&(c[E>>2]|0)!=0){c[k>>2]=Ml(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[D>>2]|0,c[E>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;break a}else{c[k>>2]=65;break a}}while(0);do if(c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==2:0){if((c[c[j>>2]>>2]|0)!=2?(c[c[j>>2]>>2]|0)!=3:0)break;if((yg(c[n>>2]|0)|0)!=2){c[k>>2]=65;break a}s=Bg(c[n>>2]|0,1,G)|0;c[F>>2]=s;if((s|0)!=0&(c[G>>2]|0)!=0){c[k>>2]=Nl(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break a}else{c[k>>2]=65;break a}}while(0);if((c[n>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==3:0)?(c[c[j>>2]>>2]|0)==0:0){s=Bg(c[n>>2]|0,1,I)|0;c[H>>2]=s;if(!((s|0)!=0&(c[I>>2]|0)!=0)){c[k>>2]=65;break}c[K>>2]=0;c[L>>2]=0;c[J>>2]=xg(c[l>>2]|0,37805,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(c[(c[j>>2]|0)+16>>2]|0)break;c[k>>2]=5}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[J>>2]=xg(c[l>>2]|0,37889,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;s=Vf(c[o>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=s;if(c[(c[j>>2]|0)+20>>2]|0){Dx(c[(c[j>>2]|0)+20>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[J>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[J>>2]|0){c[p>>2]=Bg(c[J>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;c[K>>2]=Vf(c[o>>2]|0)|0;if(c[K>>2]|0){Dx(c[K>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[L>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[J>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Ol(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[H>>2]|0,c[I>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[K>>2]|0,c[L>>2]|0)|0;$f(c[K>>2]|0);break}if((c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==4:0)?(c[c[j>>2]>>2]|0)==2:0){if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break}c[O>>2]=0;c[P>>2]=0;s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break}s=Bg(c[m>>2]|0,2,N)|0;c[M>>2]=s;if(!((s|0)!=0&(c[N>>2]|0)!=0)){c[k>>2]=65;break}c[Q>>2]=xg(c[l>>2]|0,37921,0)|0;do if(c[Q>>2]|0){c[p>>2]=Bg(c[Q>>2]|0,1,o)|0;if(c[p>>2]|0){s=Zv(c[p>>2]|0,0,10)|0;c[(c[j>>2]|0)+28>>2]=s;vg(c[Q>>2]|0);break}else{c[k>>2]=68;break a}}while(0);c[Q>>2]=xg(c[l>>2]|0,37895,0)|0;if(c[Q>>2]|0){c[p>>2]=Bg(c[Q>>2]|0,1,o)|0;do if(c[p>>2]|0){if((c[o>>2]|0)>>>0<=0)break;c[O>>2]=Vf(c[o>>2]|0)|0;if(c[O>>2]|0){Dx(c[O>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;c[P>>2]=c[o>>2];break}else{c[k>>2]=iu()|0;break}}else c[k>>2]=68;while(0);vg(c[Q>>2]|0);if(c[k>>2]|0)break}c[k>>2]=Sl(c[h>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)-1|0,c[(c[j>>2]|0)+16>>2]|0,c[M>>2]|0,c[N>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[O>>2]|0,c[P>>2]|0)|0;$f(c[O>>2]|0);break}if((c[m>>2]|0?(c[(c[j>>2]|0)+8>>2]|0)==4:0)?(c[c[j>>2]>>2]|0)==3:0){if((yg(c[m>>2]|0)|0)!=3){c[k>>2]=65;break}s=Bg(c[m>>2]|0,1,o)|0;c[p>>2]=s;if(!((s|0)!=0&(c[o>>2]|0)!=0)){c[k>>2]=65;break}s=ok(c[p>>2]|0,c[o>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=s;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[k>>2]=5;break}s=Fg(c[m>>2]|0,2,5)|0;c[c[h>>2]>>2]=s;if(!(c[c[h>>2]>>2]|0))c[k>>2]=65;c[(c[j>>2]|0)+32>>2]=5;c[(c[j>>2]|0)+36>>2]=c[c[h>>2]>>2];break}c[k>>2]=70}else c[k>>2]=65;while(0);vg(c[l>>2]|0);vg(c[m>>2]|0);vg(c[n>>2]|0);if(c[k>>2]|0){$f(c[(c[j>>2]|0)+20>>2]|0);c[(c[j>>2]|0)+20>>2]=0}else c[(c[j>>2]|0)+12>>2]=c[r>>2];c[f>>2]=c[k>>2];R=c[f>>2]|0;i=e;return R|0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+12|0;f=d+8|0;g=d+4|0;h=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+36>>2];e=Tl(c[h>>2]|0,c[f>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)-1|0,c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;i=d;return e|0}function tk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[g>>2]=0;a:while(1){a=c[4444+(c[g>>2]<<2)>>2]|0;c[f>>2]=a;if(!a){j=11;break}a=(Vv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0)!=0;k=c[f>>2]|0;if(!a){j=4;break}c[h>>2]=c[k+16>>2];while(1){if(!(c[c[h>>2]>>2]|0))break;if(!(Vv(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)){j=8;break a}c[h>>2]=(c[h>>2]|0)+4}c[g>>2]=(c[g>>2]|0)+1}if((j|0)==4){c[d>>2]=k;l=c[d>>2]|0;i=b;return l|0}else if((j|0)==8){c[d>>2]=c[f>>2];l=c[d>>2]|0;i=b;return l|0}else if((j|0)==11){c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}return 0}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=vk(c[e>>2]|0)|0;if(c[f>>2]|0){c[d>>2]=c[(c[f>>2]|0)+12>>2];g=c[d>>2]|0;i=b;return g|0}else{c[d>>2]=37933;g=c[d>>2]|0;i=b;return g|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[e>>2]=a;c[e>>2]=wk(c[e>>2]|0)|0;c[f>>2]=0;while(1){a=c[4444+(c[f>>2]<<2)>>2]|0;c[g>>2]=a;if(!a){h=6;break}if((c[e>>2]|0)==(c[c[g>>2]>>2]|0)){h=4;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==4){c[d>>2]=c[g>>2];j=c[d>>2]|0;i=b;return j|0}else if((h|0)==6){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}return 0}function wk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[e>>2]=a;switch(c[e>>2]|0){case 2:{c[d>>2]=1;break}case 3:{c[d>>2]=1;break}case 16:{c[d>>2]=20;break}case 301:{c[d>>2]=18;break}case 302:{c[d>>2]=18;break}default:c[d>>2]=c[e>>2]}i=b;return c[d>>2]|0}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,0,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+48>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+48>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function yk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;i=i+48|0;g=f+32|0;h=f+28|0;j=f+24|0;k=f+20|0;l=f+16|0;m=f+12|0;n=f+8|0;o=f+4|0;p=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[c[k>>2]>>2]=0;if(c[l>>2]|0)c[c[l>>2]>>2]=0;c[m>>2]=xg(c[h>>2]|0,c[j>>2]|0?37935:37947,0)|0;if(!((c[m>>2]|0)!=0|(c[j>>2]|0)!=0))c[m>>2]=xg(c[h>>2]|0,37935,0)|0;if(!(c[m>>2]|0)){c[g>>2]=65;q=c[g>>2]|0;i=f;return q|0}c[n>>2]=Hg(c[m>>2]|0)|0;vg(c[m>>2]|0);c[m>>2]=c[n>>2];c[o>>2]=Eg(c[m>>2]|0,0)|0;if(!(c[o>>2]|0)){vg(c[m>>2]|0);c[g>>2]=65;q=c[g>>2]|0;i=f;return q|0}c[p>>2]=tk(c[o>>2]|0)|0;$f(c[o>>2]|0);if(!(c[p>>2]|0)){vg(c[m>>2]|0);c[g>>2]=4;q=c[g>>2]|0;i=f;return q|0}c[c[k>>2]>>2]=c[p>>2];p=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=p;else vg(p);c[g>>2]=0;q=c[g>>2]|0;i=f;return q|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,1,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+52>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+52>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[f>>2]>>2]=0;c[j>>2]=yk(c[h>>2]|0,1,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+56>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+56>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=yk(c[h>>2]|0,0,k,l)|0;do if(!(c[j>>2]|0))if(c[(c[k>>2]|0)+60>>2]|0){c[j>>2]=vb[c[(c[k>>2]|0)+60>>2]&63](c[f>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;break}else{c[j>>2]=69;break}while(0);vg(c[l>>2]|0);i=e;return c[j>>2]|0}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b+12|0;e=b+8|0;f=b+4|0;g=b;c[d>>2]=a;c[e>>2]=yk(c[d>>2]|0,1,f,g)|0;do if(!(c[e>>2]|0))if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=zb[c[(c[f>>2]|0)+44>>2]&15](c[g>>2]|0)|0;break}else{c[e>>2]=69;break}while(0);vg(c[g>>2]|0);i=b;return c[e>>2]|0}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[k>>2]=0;c[c[e>>2]>>2]=0;c[h>>2]=xg(c[f>>2]|0,37958,0)|0;do if(c[h>>2]|0){c[j>>2]=Hg(c[h>>2]|0)|0;vg(c[h>>2]|0);c[h>>2]=c[j>>2];c[j>>2]=0;if(!(c[h>>2]|0)){c[l>>2]=68;break}c[k>>2]=Eg(c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){c[l>>2]=65;break}c[g>>2]=tk(c[k>>2]|0)|0;$f(c[k>>2]|0);c[k>>2]=0;if(!(c[g>>2]|0)){c[l>>2]=4;break}if(c[(c[g>>2]|0)+40>>2]|0){c[l>>2]=Eb[c[(c[g>>2]|0)+40>>2]&7](c[h>>2]|0,c[e>>2]|0)|0;break}else{c[l>>2]=69;break}}else c[l>>2]=65;while(0);vg(c[h>>2]|0);$f(c[k>>2]|0);vg(c[j>>2]|0);i=d;return c[l>>2]|0}function Ek(){return 0}function Fk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;j=f+8|0;k=f+4|0;l=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[g>>2]=wk(c[g>>2]|0)|0;c[l>>2]=vk(c[g>>2]|0)|0;if((c[l>>2]|0?(a[(c[l>>2]|0)+4>>0]&1|0)==0:0)?c[(c[l>>2]|0)+68>>2]|0:0){c[k>>2]=vb[c[(c[l>>2]|0)+68>>2]&63](c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}c[k>>2]=4;if(!(c[j>>2]|0)){m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}h=c[j>>2]|0;j=c[g>>2]|0;if(c[l>>2]|0?!(a[(c[l>>2]|0)+4>>0]&1|0):0)o=38004;else o=c[l>>2]|0?37965:37984;Fb[h&1](49836,j,38026,o);m=c[k>>2]|0;n=Gk(m)|0;i=f;return n|0}function Gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hk(1,c[d>>2]|0)|0;i=b;return a|0}function Hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){g=0;i=d;return g|0}g=(c[e>>2]&127)<<24|c[f>>2]&65535;i=d;return g|0}function Ik(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];f=Jk(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Jk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=i;i=i+144|0;h=g+72|0;j=g+132|0;k=g+128|0;l=g+124|0;m=g+120|0;n=g+116|0;o=g+112|0;p=g+108|0;q=g+104|0;r=g+100|0;s=g+96|0;t=g+92|0;u=g+88|0;v=g+8|0;w=g+84|0;x=g+80|0;y=g+136|0;z=g;A=g+76|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[s>>2]=0;f=(Ah()|0)!=0;if(!(f|(c[17702]|0)!=0)?(c[17702]=1,c[17703]=Kk()|0,c[17703]|0):0){c[h>>2]=c[17703];Af(43706,h)}if(c[17703]|0){c[j>>2]=50;B=c[j>>2]|0;i=g;return B|0}do if((c[m>>2]|0)==16){c[n>>2]=10;c[t>>2]=4}else{if((c[m>>2]|0)==24){c[n>>2]=12;c[t>>2]=6;break}if((c[m>>2]|0)==32){c[n>>2]=14;c[t>>2]=8;break}c[j>>2]=44;B=c[j>>2]|0;i=g;return B|0}while(0);c[(c[k>>2]|0)+480>>2]=c[n>>2];h=(c[k>>2]|0)+484|0;a[h>>0]=a[h>>0]&-2;c[(c[k>>2]|0)+488>>2]=29;c[(c[k>>2]|0)+492>>2]=30;c[(c[k>>2]|0)+496>>2]=1;c[(c[k>>2]|0)+500>>2]=2;c[u>>2]=4577;Qk();c[o>>2]=0;while(1){if((c[o>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;a[v+(c[o>>2]>>2<<2)+(c[o>>2]&3)>>0]=a[(c[l>>2]|0)+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=(c[t>>2]|0)-1;while(1){if((c[p>>2]|0)<0)break;c[v+32+(c[p>>2]<<2)>>2]=c[v+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[q>>2]=0;c[r>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break;if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))break;while(1){if(!((c[p>>2]|0)<(c[t>>2]|0)?(c[r>>2]|0)<4:0))break;c[(c[k>>2]|0)+(c[q>>2]<<4)+(c[r>>2]<<2)>>2]=c[v+32+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)!=4)continue;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=0}a:while(1){if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))break;o=v+32|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+1>>0]|0)<<2)>>0]|0);o=v+32+1|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+2>>0]|0)<<2)>>0]|0);o=v+32+2|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)+3>>0]|0)<<2)>>0]|0);o=v+32+3|0;a[o>>0]=(d[o>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+((c[t>>2]|0)-1<<2)>>0]|0)<<2)>>0]|0);o=c[s>>2]|0;c[s>>2]=o+1;l=v+32|0;a[l>>0]=(d[l>>0]|0)^c[6880+(o<<2)>>2];o=(c[t>>2]|0)!=8;c[p>>2]=1;b:do if(o)while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break b;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}else{while(1){if((c[p>>2]|0)>=((c[t>>2]|0)/2|0|0))break;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}l=v+32+(((c[t>>2]|0)/2|0)<<2)|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+1|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+1>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+2|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+2>>0]|0)<<2)>>0]|0);l=v+32+(((c[t>>2]|0)/2|0)<<2)+3|0;a[l>>0]=(d[l>>0]|0)^(d[(c[u>>2]|0)+((d[v+32+(((c[t>>2]|0)/2|0)-1<<2)+3>>0]|0)<<2)>>0]|0);c[p>>2]=((c[t>>2]|0)/2|0)+1;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))break b;l=v+32+(c[p>>2]<<2)|0;c[l>>2]=c[l>>2]^c[v+32+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[t>>2]|0))continue a;if((c[q>>2]|0)>=((c[n>>2]|0)+1|0))continue a;while(1){if(!((c[p>>2]|0)<(c[t>>2]|0)?(c[r>>2]|0)<4:0))break;c[(c[k>>2]|0)+(c[q>>2]<<4)+(c[r>>2]<<2)>>2]=c[v+32+(c[p>>2]<<2)>>2];c[p>>2]=(c[p>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)!=4)continue;c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=0}}c[w>>2]=v;c[x>>2]=64;a[y>>0]=0;v=z;c[v>>2]=d[y>>0];c[v+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){v=z;r=Mx(c[v>>2]|0,c[v+4>>2]|0,16843009,16843009)|0;v=z;c[v>>2]=r;c[v+4>>2]=C;do{c[A>>2]=c[w>>2];v=z;r=c[v+4>>2]|0;q=c[A>>2]|0;c[q>>2]=c[v>>2];c[q+4>>2]=r;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}c[j>>2]=0;B=c[j>>2]|0;i=g;return B|0}function Kk(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+16|0;b=a+4|0;d=a;e=Lk()|0;c[d>>2]=e;do if((!(e|0)?(f=Uk()|0,c[d>>2]=f,!(f|0)):0)?(f=Vk()|0,c[d>>2]=f,!(f|0)):0){f=Wk()|0;c[d>>2]=f;if(f|0){c[b>>2]=c[d>>2];break}f=Zk()|0;c[d>>2]=f;if(f|0){c[b>>2]=c[d>>2];break}else{c[d>>2]=al()|0;c[b>>2]=c[d>>2];break}}else g=4;while(0);if((g|0)==4)c[b>>2]=c[d>>2];i=a;return c[b>>2]|0}function Lk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38153,16)|0;Mk(d,e,38169)|0;do if(!(mw(e,38185,16)|0)){Nk(d,e,e)|0;if(mw(e,38169,16)|0){c[b>>2]=38233;break}else{c[b>>2]=0;break}}else c[b>>2]=38201;while(0);i=a;return c[b>>2]|0}function Mk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];if(c[(c[j>>2]|0)+496>>2]|0)Bb[c[(c[j>>2]|0)+496>>2]&3]();f=vb[c[(c[j>>2]|0)+488>>2]&63](c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Nk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];Ok(c[j>>2]|0);if(c[(c[j>>2]|0)+500>>2]|0)Bb[c[(c[j>>2]|0)+500>>2]&3]();f=vb[c[(c[j>>2]|0)+492>>2]&63](c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return f|0}function Ok(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;if(a[(c[e>>2]|0)+484>>0]&1|0){i=d;return}Pk(c[e>>2]|0);b=(c[e>>2]|0)+484|0;a[b>>0]=a[b>>0]&-2|1;i=d;return}function Pk(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+32|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[e>>2]=a;c[g>>2]=4577;Qk();Sk();c[(c[e>>2]|0)+240>>2]=c[c[e>>2]>>2];c[(c[e>>2]|0)+240+4>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+240+8>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+240+12>>2]=c[(c[e>>2]|0)+12>>2];c[f>>2]=1;while(1){l=(c[e>>2]|0)+(c[f>>2]<<4)|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+480>>2]|0))break;c[h>>2]=l;c[j>>2]=(c[e>>2]|0)+240+(c[f>>2]<<4);c[k>>2]=c[c[h>>2]>>2];a=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[c[j>>2]>>2]=m;c[k>>2]=c[(c[h>>2]|0)+4>>2];m=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+4>>2]=a;c[k>>2]=c[(c[h>>2]|0)+8>>2];a=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+8>>2]=m;c[k>>2]=c[(c[h>>2]|0)+12>>2];m=Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>0&255)<<2)>>0]|0)<<2)>>2]|0,0)|0;a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>8&255)<<2)>>0]|0)<<2)>>2]|0,8)|0);m=a^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>16&255)<<2)>>0]|0)<<2)>>2]|0,16)|0);a=m^(Tk(c[5600+((d[(c[g>>2]|0)+(((c[k>>2]|0)>>>24&255)<<2)>>0]|0)<<2)>>2]|0,24)|0);c[(c[j>>2]|0)+12>>2]=a;c[f>>2]=(c[f>>2]|0)+1}c[(c[e>>2]|0)+240+(c[f>>2]<<4)>>2]=c[l>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+4>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+4>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+8>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+8>>2];c[(c[e>>2]|0)+240+(c[f>>2]<<4)+12>>2]=c[(c[e>>2]|0)+(c[f>>2]<<4)+12>>2];i=b;return}function Qk(){Rk(4576,1024);return}function Rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[d+8>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[e>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)+256}i=d;return}function Sk(){Rk(5600,1280);return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Uk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38265,24)|0;Mk(d,e,38289)|0;do if(!(mw(e,38305,16)|0)){Nk(d,e,e)|0;if(mw(e,38289,16)|0){c[b>>2]=38353;break}else{c[b>>2]=0;break}}else c[b>>2]=38321;while(0);i=a;return c[b>>2]|0}function Vk(){var a=0,b=0,d=0,e=0;a=i;i=i+528|0;b=a+504|0;d=a;e=a+512|0;Ik(d,38385,32)|0;Mk(d,e,38417)|0;do if(!(mw(e,38433,16)|0)){Nk(d,e,e)|0;if(mw(e,38417,16)|0){c[b>>2]=38481;break}else{c[b>>2]=0;break}}else c[b>>2]=38449;while(0);i=a;return c[b>>2]|0}function Wk(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=9;c[a+4>>2]=16;c[a>>2]=504;b=as(38033,1,2,4,9,16,504)|0;i=a;return b|0}function Xk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+96|0;k=j+76|0;l=j+72|0;m=j+68|0;n=j+64|0;o=j+60|0;p=j+56|0;q=j+52|0;r=j+48|0;s=j+44|0;t=j+40|0;u=j;v=j+36|0;w=j+32|0;x=j+28|0;y=j+80|0;z=j+16|0;A=j+24|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[s>>2]=0;if(c[(c[p>>2]|0)+496>>2]|0)Bb[c[(c[p>>2]|0)+496>>2]&3]();c[v>>2]=c[(c[p>>2]|0)+488>>2];while(1){if(!(c[o>>2]|0))break;c[s>>2]=vb[c[v>>2]&63](c[p>>2]|0,u,c[l>>2]|0)|0;Yk(c[q>>2]|0,u,c[r>>2]|0,16);c[q>>2]=(c[q>>2]|0)+16;c[r>>2]=(c[r>>2]|0)+16;c[t>>2]=16;while(1){if((c[t>>2]|0)<=0)break;n=(c[l>>2]|0)+((c[t>>2]|0)-1)|0;a[n>>0]=(a[n>>0]|0)+1<<24>>24;if(a[(c[l>>2]|0)+((c[t>>2]|0)-1)>>0]|0)break;c[t>>2]=(c[t>>2]|0)+-1}c[o>>2]=(c[o>>2]|0)+-1}c[w>>2]=u;c[x>>2]=16;a[y>>0]=0;u=z;c[u>>2]=d[y>>0];c[u+4>>2]=0;while(1){if(!(c[w>>2]&7|0?(c[x>>2]|0)!=0:0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if((c[x>>2]|0)>>>0>=8){u=z;o=Mx(c[u>>2]|0,c[u+4>>2]|0,16843009,16843009)|0;u=z;c[u>>2]=o;c[u+4>>2]=C;do{c[A>>2]=c[w>>2];u=z;o=c[u+4>>2]|0;t=c[A>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=o;c[x>>2]=(c[x>>2]|0)-8;c[w>>2]=(c[w>>2]|0)+8}while((c[x>>2]|0)>>>0>=8)}while(1){if(!(c[x>>2]|0))break;a[c[w>>2]>>0]=a[y>>0]|0;c[w>>2]=(c[w>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+-1}if(!(c[s>>2]|0)){i=j;return}If((c[s>>2]|0)+16|0);Jf();i=j;return}function Yk(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[n>>2]|c[o>>2]|c[p>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[r>>2]|0;c[r>>2]=l+4;k=c[l>>2]|0;l=c[s>>2]|0;c[s>>2]=l+4;j=k^c[l>>2];l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[o>>2]|0;c[o>>2]=s+1;r=d[s>>0]|0;s=c[p>>2]|0;c[p>>2]=s+1;q=(r^(d[s>>0]|0))&255;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function Zk(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=Yr(38033,1,2,3,10,16,504)|0;i=a;return b|0}function _k(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=i;i=i+80|0;k=j+72|0;l=j+68|0;m=j+64|0;n=j+60|0;o=j+56|0;p=j+52|0;q=j+48|0;r=j+44|0;s=j+40|0;t=j;u=j+36|0;v=j+32|0;w=j+28|0;x=j+76|0;y=j+16|0;z=j+24|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[n>>2];c[s>>2]=0;Ok(c[p>>2]|0);if(c[(c[p>>2]|0)+500>>2]|0)Bb[c[(c[p>>2]|0)+500>>2]&3]();c[u>>2]=c[(c[p>>2]|0)+492>>2];while(1){if(!(c[o>>2]|0))break;c[s>>2]=vb[c[u>>2]&63](c[p>>2]|0,t,c[r>>2]|0)|0;$k(c[q>>2]|0,t,c[l>>2]|0,c[r>>2]|0,16);c[r>>2]=(c[r>>2]|0)+16;c[q>>2]=(c[q>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+-1}c[v>>2]=t;c[w>>2]=16;a[x>>0]=0;t=y;c[t>>2]=d[x>>0];c[t+4>>2]=0;while(1){if(!(c[v>>2]&7|0?(c[w>>2]|0)!=0:0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>>>0>=8){t=y;o=Mx(c[t>>2]|0,c[t+4>>2]|0,16843009,16843009)|0;t=y;c[t>>2]=o;c[t+4>>2]=C;do{c[z>>2]=c[v>>2];t=y;o=c[t+4>>2]|0;q=c[z>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=o;c[w>>2]=(c[w>>2]|0)-8;c[v>>2]=(c[v>>2]|0)+8}while((c[w>>2]|0)>>>0>=8)}while(1){if(!(c[w>>2]|0))break;a[c[v>>2]>>0]=a[x>>0]|0;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+-1}if(!(c[s>>2]|0)){i=j;return}If((c[s>>2]|0)+16|0);Jf();i=j;return}function $k(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+64|0;k=j+56|0;l=j+52|0;m=j+48|0;n=j+44|0;o=j+40|0;p=j+36|0;q=j+32|0;r=j+28|0;s=j+24|0;t=j+60|0;u=j+20|0;v=j+16|0;w=j+12|0;x=j+8|0;y=j+4|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[k>>2];c[q>>2]=c[m>>2];c[r>>2]=c[l>>2];c[s>>2]=c[n>>2];c[j>>2]=3;if(!((c[s>>2]|c[r>>2]|c[p>>2]|c[q>>2])&3)){c[u>>2]=c[p>>2];c[x>>2]=c[r>>2];c[v>>2]=c[q>>2];c[w>>2]=c[s>>2];while(1){if((c[o>>2]|0)>>>0<4)break;n=c[w>>2]|0;c[w>>2]=n+4;c[y>>2]=c[n>>2];n=c[c[v>>2]>>2]|0;l=c[x>>2]|0;c[x>>2]=l+4;m=n^c[l>>2];l=c[u>>2]|0;c[u>>2]=l+4;c[l>>2]=m;m=c[y>>2]|0;l=c[v>>2]|0;c[v>>2]=l+4;c[l>>2]=m;c[o>>2]=(c[o>>2]|0)-4}c[p>>2]=c[u>>2];c[r>>2]=c[x>>2];c[q>>2]=c[v>>2];c[s>>2]=c[w>>2]}while(1){if(!(c[o>>2]|0))break;w=c[s>>2]|0;c[s>>2]=w+1;a[t>>0]=a[w>>0]|0;w=d[c[q>>2]>>0]|0;v=c[r>>2]|0;c[r>>2]=v+1;x=(w^(d[v>>0]|0))&255;v=c[p>>2]|0;c[p>>2]=v+1;a[v>>0]=x;x=a[t>>0]|0;v=c[q>>2]|0;c[q>>2]=v+1;a[v>>0]=x;c[o>>2]=(c[o>>2]|0)+-1}i=j;return}function al(){var a=0,b=0;a=i;i=i+16|0;c[a+8>>2]=10;c[a+4>>2]=16;c[a>>2]=504;b=_r(38033,1,2,2,10,16,504)|0;i=a;return b|0}function bl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=0;if(c[(c[n>>2]|0)+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]();c[r>>2]=c[(c[n>>2]|0)+488>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=vb[c[r>>2]&63](c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;cl(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;$k(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=f;return}function dl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=el(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function el(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+64|0;g=f+52|0;h=f+48|0;j=f+44|0;k=f+40|0;l=f+36|0;m=f+32|0;n=f+16|0;o=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=4577;c[l>>2]=c[(c[g>>2]|0)+480>>2];c[o>>2]=fl(c[j>>2]|0)|0;c[o+4>>2]=fl((c[j>>2]|0)+4|0)|0;c[o+8>>2]=fl((c[j>>2]|0)+8|0)|0;c[o+12>>2]=fl((c[j>>2]|0)+12|0)|0;c[n>>2]=c[o>>2]^c[c[g>>2]>>2];c[n+4>>2]=c[o+4>>2]^c[(c[g>>2]|0)+4>>2];c[n+8>>2]=c[o+8>>2]^c[(c[g>>2]|0)+8>>2];c[n+12>>2]=c[o+12>>2]^c[(c[g>>2]|0)+12>>2];c[o>>2]=Tk(c[4576+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+16>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+16+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+16+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+16+12>>2]^c[o+12>>2];c[m>>2]=2;while(1){p=(c[n>>2]|0)>>>0&255;if((c[m>>2]|0)>=(c[l>>2]|0))break;c[o>>2]=Tk(c[4576+(p<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=Tk(c[4576+(((c[n>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[o+12>>2]=Tk(c[4576+(((c[n>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[o+8>>2]=Tk(c[4576+(((c[n>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[o+4>>2]=Tk(c[4576+(((c[n>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];j=Tk(c[4576+(((c[n+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];j=Tk(c[4576+(((c[n+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n>>2]=c[n>>2]^j;j=Tk(c[4576+(((c[n+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];j=Tk(c[4576+(((c[n+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;e=o+12|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;e=n+8|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;e=n+4|0;c[e>>2]=c[e>>2]^j;j=Tk(c[4576+(((c[n+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[n>>2]=c[n>>2]^j;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];c[m>>2]=(c[m>>2]|0)+1}c[o>>2]=(d[(c[k>>2]|0)+(p<<2)>>0]|0)<<0;c[o+12>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[o+8>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[o+4>>2]=(d[(c[k>>2]|0)+(((c[n>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)>>2]^c[o>>2];p=o+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>0&255)<<2)>>0]|0)<<0;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>8&255)<<2)>>0]|0)<<8;p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>16&255)<<2)>>0]|0)<<16;p=o+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+4>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+4>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+4>>2]^c[o+4>>2];p=o+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>0&255)<<2)>>0]|0)<<0;p=n+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>8&255)<<2)>>0]|0)<<8;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>16&255)<<2)>>0]|0)<<16;p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+8>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+8>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+8>>2]^c[o+8>>2];p=o+12|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>0&255)<<2)>>0]|0)<<0;p=n+8|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>8&255)<<2)>>0]|0)<<8;p=n+4|0;c[p>>2]=c[p>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>16&255)<<2)>>0]|0)<<16;c[n>>2]=c[n>>2]^(d[(c[k>>2]|0)+(((c[n+12>>2]|0)>>>24&255)<<2)>>0]|0)<<24;c[n+12>>2]=c[(c[g>>2]|0)+(c[m>>2]<<4)+12>>2]^c[o+12>>2];gl(c[h>>2]|0,c[n>>2]|0);gl((c[h>>2]|0)+4|0,c[n+4>>2]|0);gl((c[h>>2]|0)+8|0,c[n+8>>2]|0);gl((c[h>>2]|0)+12|0,c[n+12>>2]|0);i=f;return 64}function fl(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function gl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=il(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=e;return d|0}function il(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+64|0;g=f+48|0;h=f+44|0;j=f+40|0;k=f+36|0;l=f+32|0;m=f+16|0;n=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=c[(c[g>>2]|0)+480>>2];c[n>>2]=fl(c[j>>2]|0)|0;c[n+4>>2]=fl((c[j>>2]|0)+4|0)|0;c[n+8>>2]=fl((c[j>>2]|0)+8|0)|0;c[n+12>>2]=fl((c[j>>2]|0)+12|0)|0;c[m>>2]=c[n>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)>>2];c[m+4>>2]=c[n+4>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+4>>2];c[m+8>>2]=c[n+8>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+8>>2];c[m+12>>2]=c[n+12>>2]^c[(c[g>>2]|0)+240+(c[k>>2]<<4)+12>>2];c[l>>2]=(c[k>>2]|0)-1;while(1){k=(c[l>>2]|0)>1;c[n>>2]=Tk(c[5600+(((c[m>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[n+4>>2]=Tk(c[5600+(((c[m>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n+8>>2]=Tk(c[5600+(((c[m>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n+12>>2]=Tk(c[5600+(((c[m>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;if(!k)break;c[m>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2]^c[n>>2];k=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^k;c[m+4>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2]^c[n+4>>2];k=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;c[m+8>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2]^c[n+8>>2];k=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+8|0;c[j>>2]=c[j>>2]^k;c[m+12>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2]^c[n+12>>2];c[l>>2]=(c[l>>2]|0)+-1;c[n>>2]=Tk(c[5600+(((c[m>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;c[n+4>>2]=Tk(c[5600+(((c[m>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[n+8>>2]=Tk(c[5600+(((c[m>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[n+12>>2]=Tk(c[5600+(((c[m>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)>>2]^c[n>>2];k=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^k;c[m+4>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+4>>2]^c[n+4>>2];k=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+8|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;c[m+8>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+8>>2]^c[n+8>>2];k=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;j=n+12|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;j=m+4|0;c[j>>2]=c[j>>2]^k;k=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;j=m+8|0;c[j>>2]=c[j>>2]^k;c[m+12>>2]=c[(c[g>>2]|0)+240+(c[l>>2]<<4)+12>>2]^c[n+12>>2];c[l>>2]=(c[l>>2]|0)+-1}c[m>>2]=c[(c[g>>2]|0)+240+16>>2]^c[n>>2];l=Tk(c[5600+(((c[m+4>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+4|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+4>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;c[m>>2]=c[m>>2]^l;c[m+4>>2]=c[(c[g>>2]|0)+240+16+4>>2]^c[n+4>>2];l=Tk(c[5600+(((c[m+8>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+8|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;c[m>>2]=c[m>>2]^l;l=Tk(c[5600+(((c[m+8>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=m+4|0;c[k>>2]=c[k>>2]^l;c[m+8>>2]=c[(c[g>>2]|0)+240+16+8>>2]^c[n+8>>2];l=Tk(c[5600+(((c[m+12>>2]|0)>>>0&255)<<2)>>2]|0,0)|0;k=n+12|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>8&255)<<2)>>2]|0,8)|0;c[m>>2]=c[m>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>16&255)<<2)>>2]|0,16)|0;k=m+4|0;c[k>>2]=c[k>>2]^l;l=Tk(c[5600+(((c[m+12>>2]|0)>>>24&255)<<2)>>2]|0,24)|0;k=m+8|0;c[k>>2]=c[k>>2]^l;c[m+12>>2]=c[(c[g>>2]|0)+240+16+12>>2]^c[n+12>>2];c[n>>2]=(d[6624+((c[m>>2]|0)>>>0&255)>>0]|0)<<0;c[n+4>>2]=(d[6624+((c[m>>2]|0)>>>8&255)>>0]|0)<<8;c[n+8>>2]=(d[6624+((c[m>>2]|0)>>>16&255)>>0]|0)<<16;c[n+12>>2]=(d[6624+((c[m>>2]|0)>>>24&255)>>0]|0)<<24;c[m>>2]=c[n>>2]^c[(c[g>>2]|0)+240>>2];l=n+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>0&255)>>0]|0)<<0;l=n+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>8&255)>>0]|0)<<8;l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+4>>2]|0)>>>16&255)>>0]|0)<<16;c[m>>2]=c[m>>2]^(d[6624+((c[m+4>>2]|0)>>>24&255)>>0]|0)<<24;c[m+4>>2]=c[n+4>>2]^c[(c[g>>2]|0)+240+4>>2];l=n+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>0&255)>>0]|0)<<0;l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>8&255)>>0]|0)<<8;c[m>>2]=c[m>>2]^(d[6624+((c[m+8>>2]|0)>>>16&255)>>0]|0)<<16;l=m+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+8>>2]|0)>>>24&255)>>0]|0)<<24;c[m+8>>2]=c[n+8>>2]^c[(c[g>>2]|0)+240+8>>2];l=n+12|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>0&255)>>0]|0)<<0;c[m>>2]=c[m>>2]^(d[6624+((c[m+12>>2]|0)>>>8&255)>>0]|0)<<8;l=m+4|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>16&255)>>0]|0)<<16;l=m+8|0;c[l>>2]=c[l>>2]^(d[6624+((c[m+12>>2]|0)>>>24&255)>>0]|0)<<24;c[m+12>>2]=c[n+12>>2]^c[(c[g>>2]|0)+240+12>>2];gl(c[h>>2]|0,c[m>>2]|0);gl((c[h>>2]|0)+4|0,c[m+4>>2]|0);gl((c[h>>2]|0)+8|0,c[m+8>>2]|0);gl((c[h>>2]|0)+12|0,c[m+12>>2]|0);i=f;return 64}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 7:{c[j>>2]=kl(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=ml(c[g>>2]|0,c[h>>2]|0)|0;break}case 9:{c[j>>2]=nl(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=12}i=e;return c[j>>2]|0}function kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=49826;c[j>>2]=Lk()|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=38513;c[j>>2]=ll(2)|0;if(c[j>>2]|0)break;c[h>>2]=38630;c[j>>2]=ll(5)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](38634,7,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function ll(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+48|0;d=b+24|0;e=b+20|0;f=b+32|0;g=b+16|0;h=b+12|0;j=b+8|0;k=b+4|0;l=b;c[e>>2]=a;c[k>>2]=0;c[l>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=2)break;if((c[7e3+((c[h>>2]|0)*164|0)>>2]|0)==(c[e>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((c[h>>2]|0)==2){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38517;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ai(k,7,c[7e3+((c[h>>2]|0)*164|0)>>2]|0,0)|0;if(c[g>>2]|0){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38544;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ai(l,7,c[7e3+((c[h>>2]|0)*164|0)>>2]|0,0)|0;e=c[k>>2]|0;if(c[g>>2]|0){fi(e);fi(c[l>>2]|0);c[d>>2]=38544;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=ni(e,7e3+((c[h>>2]|0)*164|0)+4|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=ni(c[l>>2]|0,7e3+((c[h>>2]|0)*164|0)+4|0,16)|0;e=c[k>>2]|0;if(c[g>>2]|0){fi(e);fi(c[l>>2]|0);c[d>>2]=38549;m=c[d>>2]|0;i=b;return m|0}c[g>>2]=pi(e,7e3+((c[h>>2]|0)*164|0)+20|0,16)|0;if(!(c[g>>2]|0))c[g>>2]=pi(c[l>>2]|0,7e3+((c[h>>2]|0)*164|0)+20|0,16)|0;if(c[g>>2]|0){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38557;m=c[d>>2]|0;i=b;return m|0}c[j>>2]=0;while(1){n=c[k>>2]|0;if((c[j>>2]|0)>>>0>=4){o=30;break}c[g>>2]=gi(n,f,16,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)|0,16)|0;if(c[g>>2]|0){o=22;break}if(mw(f,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)+16|0,16)|0){o=24;break}c[g>>2]=ki(c[l>>2]|0,f,16,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)+16|0,16)|0;if(c[g>>2]|0){o=26;break}if(mw(f,7e3+((c[h>>2]|0)*164|0)+36+(c[j>>2]<<5)|0,16)|0){o=28;break}c[j>>2]=(c[j>>2]|0)+1}if((o|0)==22){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38564;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==24){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38580;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==26){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38597;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==28){fi(c[k>>2]|0);fi(c[l>>2]|0);c[d>>2]=38613;m=c[d>>2]|0;i=b;return m|0}else if((o|0)==30){fi(n);fi(c[l>>2]|0);c[d>>2]=0;m=c[d>>2]|0;i=b;return m|0}return 0}function ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=49826;c[h>>2]=Uk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[f>>2]|0)Fb[c[f>>2]&1](38634,8,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;j=c[e>>2]|0;i=d;return j|0}function nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d+4|0;h=d;c[d+12>>2]=a;c[f>>2]=b;c[g>>2]=49826;c[h>>2]=Vk()|0;if(!(c[h>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;i=d;return j|0}if(c[f>>2]|0)Fb[c[f>>2]&1](38634,9,c[g>>2]|0,c[h>>2]|0);c[e>>2]=50;j=c[e>>2]|0;i=d;return j|0}function ol(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;i=i+48|0;h=g+36|0;j=g+32|0;k=g+28|0;l=g+24|0;m=g+20|0;n=g+16|0;o=g+12|0;p=g+8|0;q=g+4|0;r=g;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[h>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[q>>2]=0;if(c[(c[n>>2]|0)+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]();c[r>>2]=c[(c[n>>2]|0)+488>>2];while(1){if(!(c[m>>2]|0))break;c[q>>2]=vb[c[r>>2]&63](c[n>>2]|0,c[j>>2]|0,c[j>>2]|0)|0;pl(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16);c[o>>2]=(c[o>>2]|0)+16;c[p>>2]=(c[p>>2]|0)+16;c[m>>2]=(c[m>>2]|0)+-1}if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function pl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+40|0;k=h+36|0;l=h+32|0;m=h+28|0;n=h+24|0;o=h+20|0;p=h+16|0;q=h+12|0;r=h+8|0;s=h+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[j>>2];c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];c[h>>2]=3;if(!((c[p>>2]|c[n>>2]|c[o>>2])&3)){c[q>>2]=c[n>>2];c[r>>2]=c[o>>2];c[s>>2]=c[p>>2];while(1){if((c[m>>2]|0)>>>0<4)break;l=c[s>>2]|0;c[s>>2]=l+4;k=c[l>>2]|0;l=c[r>>2]|0;c[r>>2]=l+4;j=c[l>>2]^k;c[l>>2]=j;l=c[q>>2]|0;c[q>>2]=l+4;c[l>>2]=j;c[m>>2]=(c[m>>2]|0)-4}c[n>>2]=c[q>>2];c[o>>2]=c[r>>2];c[p>>2]=c[s>>2]}while(1){if(!(c[m>>2]|0))break;s=c[p>>2]|0;c[p>>2]=s+1;r=d[s>>0]|0;s=c[o>>2]|0;c[o>>2]=s+1;q=((d[s>>0]|0)^r)&255;a[s>>0]=q;s=c[n>>2]|0;c[n>>2]=s+1;a[s>>0]=q;c[m>>2]=(c[m>>2]|0)+-1}i=h;return}function ql(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;i=i+48|0;j=h+44|0;k=h+40|0;l=h+36|0;m=h+32|0;n=h+28|0;o=h+24|0;p=h+20|0;q=h+16|0;r=h+12|0;s=h+8|0;t=h+4|0;u=h;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[j>>2];c[q>>2]=c[l>>2];c[r>>2]=c[m>>2];c[t>>2]=0;if(c[(c[p>>2]|0)+496>>2]|0)Bb[c[(c[p>>2]|0)+496>>2]&3]();c[u>>2]=c[(c[p>>2]|0)+488>>2];c[s>>2]=c[k>>2];while(1){if(!(c[n>>2]|0))break;Yk(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,16);c[t>>2]=vb[c[u>>2]&63](c[p>>2]|0,c[q>>2]|0,c[q>>2]|0)|0;c[s>>2]=c[q>>2];c[r>>2]=(c[r>>2]|0)+16;if(!(c[o>>2]|0))c[q>>2]=(c[q>>2]|0)+16;c[n>>2]=(c[n>>2]|0)+-1}if((c[s>>2]|0)!=(c[k>>2]|0))rl(c[k>>2]|0,c[s>>2]|0,16);if(!(c[t>>2]|0)){i=h;return}If((c[t>>2]|0)+16|0);Jf();i=h;return}function rl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+32|0;g=f+28|0;h=f+24|0;j=f+20|0;k=f+16|0;l=f+12|0;m=f+8|0;n=f+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[f>>2]=3;if(!((c[k>>2]|c[l>>2])&3)){c[m>>2]=c[k>>2];c[n>>2]=c[l>>2];while(1){if((c[j>>2]|0)>>>0<4)break;h=c[n>>2]|0;c[n>>2]=h+4;g=c[h>>2]|0;h=c[m>>2]|0;c[m>>2]=h+4;c[h>>2]=g;c[j>>2]=(c[j>>2]|0)-4}c[k>>2]=c[m>>2];c[l>>2]=c[n>>2]}while(1){if(!(c[j>>2]|0))break;n=c[l>>2]|0;c[l>>2]=n+1;m=a[n>>0]|0;n=c[k>>2]|0;c[k>>2]=n+1;a[n>>0]=m;c[j>>2]=(c[j>>2]|0)+-1}i=f;return}function sl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=i;i=i+112|0;h=g+104|0;j=g+100|0;k=g+96|0;l=g+92|0;m=g+88|0;n=g+84|0;o=g+80|0;p=g+76|0;q=g+72|0;r=g+16|0;s=g+68|0;t=g+40|0;u=g+64|0;v=g+60|0;w=g;x=g+56|0;y=g+32|0;z=g+52|0;A=g+48|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=(c[h>>2]|0)+496;c[o>>2]=c[j>>2];c[p>>2]=c[k>>2];c[q>>2]=0;k=c[n>>2]|0;if(c[m>>2]|0){if(c[k+496>>2]|0)Bb[c[(c[n>>2]|0)+496>>2]&3]()}else{Ok(k);if(c[(c[n>>2]|0)+500>>2]|0)Bb[c[(c[n>>2]|0)+500>>2]&3]()}k=c[n>>2]|0;a:do if(c[m>>2]|0){c[s>>2]=c[k+488>>2];while(1){if(!(c[l>>2]|0))break a;j=(c[h>>2]|0)+128+336|0;f=j;e=Ax(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;d=j;c[d>>2]=e;c[d+4>>2]=f;d=t;c[d>>2]=e;c[d+4>>2]=f;f=t;c[u>>2]=tl(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[u>>2]|0)>>>0<16)c[v>>2]=(c[h>>2]|0)+128+32+(c[u>>2]<<4);else{f=t;c[v>>2]=yr(c[h>>2]|0,r,c[f>>2]|0,c[f+4>>2]|0)|0}vl((c[h>>2]|0)+64|0,c[v>>2]|0,16);rl(r,c[p>>2]|0,16);vl((c[h>>2]|0)+80|0,r,16);vl(r,(c[h>>2]|0)+64|0,16);c[q>>2]=vb[c[s>>2]&63](c[n>>2]|0,r,r)|0;vl(r,(c[h>>2]|0)+64|0,16);rl(c[o>>2]|0,r,16);c[p>>2]=(c[p>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}}else{c[x>>2]=c[k+492>>2];while(1){if(!(c[l>>2]|0))break a;f=(c[h>>2]|0)+128+336|0;d=f;e=Ax(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;d=C;j=f;c[j>>2]=e;c[j+4>>2]=d;j=y;c[j>>2]=e;c[j+4>>2]=d;d=y;c[z>>2]=tl(c[d>>2]|0,c[d+4>>2]|0)|0;if((c[z>>2]|0)>>>0<16)c[A>>2]=(c[h>>2]|0)+128+32+(c[z>>2]<<4);else{d=y;c[A>>2]=yr(c[h>>2]|0,w,c[d>>2]|0,c[d+4>>2]|0)|0}vl((c[h>>2]|0)+64|0,c[A>>2]|0,16);rl(w,c[p>>2]|0,16);vl(w,(c[h>>2]|0)+64|0,16);c[q>>2]=vb[c[x>>2]&63](c[n>>2]|0,w,w)|0;vl(w,(c[h>>2]|0)+64|0,16);vl((c[h>>2]|0)+80|0,w,16);rl(c[o>>2]|0,w,16);c[p>>2]=(c[p>>2]|0)+16;c[o>>2]=(c[o>>2]|0)+16;c[l>>2]=(c[l>>2]|0)+-1}}while(0);if(!(c[q>>2]|0)){i=g;return}If((c[q>>2]|0)+16|0);Jf();i=g;return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;e=d+8|0;f=d;g=f;c[g>>2]=a;c[g+4>>2]=b;b=f;g=c[b+4>>2]|0;if((c[f>>2]|0)!=0|0!=0){c[e>>2]=ul(c[b>>2]|0)|0;h=c[e>>2]|0;i=d;return h|0}else{c[e>>2]=32+(ul(g)|0);h=c[e>>2]|0;i=d;return h|0}return 0}function ul(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)!=0;e=Gx(c[d>>2]|0)|0;i=b;return (a?e:32)|0}function vl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;h=g+28|0;j=g+24|0;k=g+20|0;l=g+16|0;m=g+12|0;n=g+8|0;o=g+4|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[h>>2];c[m>>2]=c[j>>2];c[g>>2]=3;if(!((c[l>>2]|c[m>>2])&3)){c[n>>2]=c[l>>2];c[o>>2]=c[m>>2];while(1){if((c[k>>2]|0)>>>0<4)break;j=c[o>>2]|0;c[o>>2]=j+4;h=c[j>>2]|0;j=c[n>>2]|0;c[n>>2]=j+4;c[j>>2]=c[j>>2]^h;c[k>>2]=(c[k>>2]|0)-4}c[l>>2]=c[n>>2];c[m>>2]=c[o>>2]}while(1){if(!(c[k>>2]|0))break;o=c[m>>2]|0;c[m>>2]=o+1;n=d[o>>0]|0;o=c[l>>2]|0;c[l>>2]=o+1;a[o>>0]=(d[o>>0]|0)^n;c[k>>2]=(c[k>>2]|0)+-1}i=g;return}function wl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;i=i+96|0;h=g+76|0;j=g+72|0;k=g+68|0;l=g+64|0;m=g+60|0;n=g+56|0;o=g;p=g+52|0;q=g+24|0;r=g+48|0;s=g+44|0;t=g+40|0;u=g+36|0;v=g+80|0;w=g+16|0;x=g+32|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[h>>2]|0)+496;c[m>>2]=c[j>>2];c[n>>2]=0;if(c[(c[l>>2]|0)+496>>2]|0)Bb[c[(c[l>>2]|0)+496>>2]&3]();c[p>>2]=c[(c[l>>2]|0)+488>>2];while(1){if(!(c[k>>2]|0))break;j=(c[h>>2]|0)+128+344|0;f=j;e=Ax(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;b=j;c[b>>2]=e;c[b+4>>2]=f;b=q;c[b>>2]=e;c[b+4>>2]=f;f=q;c[r>>2]=tl(c[f>>2]|0,c[f+4>>2]|0)|0;if((c[r>>2]|0)>>>0<16)c[s>>2]=(c[h>>2]|0)+128+32+(c[r>>2]<<4);else{f=q;c[s>>2]=yr(c[h>>2]|0,o,c[f>>2]|0,c[f+4>>2]|0)|0}vl((c[h>>2]|0)+128+304|0,c[s>>2]|0,16);Yk(o,(c[h>>2]|0)+128+304|0,c[m>>2]|0,16);c[n>>2]=vb[c[p>>2]&63](c[l>>2]|0,o,o)|0;vl((c[h>>2]|0)+128+320|0,o,16);c[m>>2]=(c[m>>2]|0)+16;c[k>>2]=(c[k>>2]|0)+-1}c[t>>2]=o;c[u>>2]=16;a[v>>0]=0;o=w;c[o>>2]=d[v>>0];c[o+4>>2]=0;while(1){if(!(c[t>>2]&7|0?(c[u>>2]|0)!=0:0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if((c[u>>2]|0)>>>0>=8){o=w;k=Mx(c[o>>2]|0,c[o+4>>2]|0,16843009,16843009)|0;o=w;c[o>>2]=k;c[o+4>>2]=C;do{c[x>>2]=c[t>>2];o=w;k=c[o+4>>2]|0;m=c[x>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[u>>2]=(c[u>>2]|0)-8;c[t>>2]=(c[t>>2]|0)+8}while((c[u>>2]|0)>>>0>=8)}while(1){if(!(c[u>>2]|0))break;a[c[t>>2]>>0]=a[v>>0]|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+-1}if(!(c[n>>2]|0)){i=g;return}If((c[n>>2]|0)+16|0);Jf();i=g;return}function xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d;c[e>>2]=a;c[d+4>>2]=b;c[f>>2]=c[e>>2];c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=31;i=d;return}function yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do{c[j>>2]=zl(c[f>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;d=(c[h>>2]|0)+-1|0;c[h>>2]=d}while((d|0)!=0);i=e;return c[j>>2]|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+128|0;e=d+120|0;f=d+116|0;g=d+112|0;h=d+108|0;j=d+104|0;k=d+100|0;l=d+96|0;m=d+92|0;n=d+88|0;o=d+84|0;p=d+80|0;q=d+76|0;r=d+72|0;s=d+8|0;t=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;e=Al((c[f>>2]|0)+(c[t>>2]<<2)|0)|0;c[s+(c[t>>2]<<2)>>2]=e;c[t>>2]=(c[t>>2]|0)+1}t=c[(c[g>>2]|0)+160>>2]|0;c[j>>2]=t;c[h>>2]=t;t=c[(c[g>>2]|0)+164>>2]|0;c[l>>2]=t;c[k>>2]=t;t=c[(c[g>>2]|0)+168>>2]|0;c[n>>2]=t;c[m>>2]=t;t=c[(c[g>>2]|0)+172>>2]|0;c[p>>2]=t;c[o>>2]=t;t=c[(c[g>>2]|0)+176>>2]|0;c[r>>2]=t;c[q>>2]=t;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s>>2]|0));t=Bl(c[h>>2]|0,11)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+20>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+4>>2]|0));t=Bl(c[q>>2]|0,14)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+56>>2]|0));t=Bl(c[r>>2]|0,9)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+8>>2]|0));t=Bl(c[o>>2]|0,15)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+28>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+12>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+16>>2]|0));t=Bl(c[k>>2]|0,5)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,13)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+20>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+8>>2]|0));t=Bl(c[j>>2]|0,15)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+24>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+44>>2]|0));t=Bl(c[r>>2]|0,15)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+28>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+16>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s+52>>2]|0));t=Bl(c[n>>2]|0,7)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+36>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+24>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+40>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^c[k>>2]^c[m>>2])+0+(c[s+44>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^(c[l>>2]|~c[n>>2]))+1352829926+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^c[h>>2]^c[k>>2])+0+(c[s+48>>2]|0));t=Bl(c[o>>2]|0,6)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^(c[j>>2]|~c[l>>2]))+1352829926+(c[s+4>>2]|0));t=Bl(c[p>>2]|0,14)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^c[q>>2]^c[h>>2])+0+(c[s+52>>2]|0));t=Bl(c[m>>2]|0,7)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^(c[r>>2]|~c[j>>2]))+1352829926+(c[s+40>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^c[o>>2]^c[q>>2])+0+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^(c[p>>2]|~c[r>>2]))+1352829926+(c[s+12>>2]|0));t=Bl(c[l>>2]|0,12)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^c[m>>2]^c[o>>2])+0+(c[s+60>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^(c[n>>2]|~c[p>>2]))+1352829926+(c[s+48>>2]|0));t=Bl(c[j>>2]|0,6)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+28>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+24>>2]|0));t=Bl(c[r>>2]|0,9)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+16>>2]|0));t=Bl(c[o>>2]|0,6)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+44>>2]|0));t=Bl(c[p>>2]|0,13)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+52>>2]|0));t=Bl(c[m>>2]|0,8)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+12>>2]|0));t=Bl(c[n>>2]|0,15)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+4>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+28>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s+40>>2]|0));t=Bl(c[h>>2]|0,11)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+24>>2]|0));t=Bl(c[q>>2]|0,9)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+52>>2]|0));t=Bl(c[r>>2]|0,8)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+60>>2]|0));t=Bl(c[o>>2]|0,7)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+20>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+12>>2]|0));t=Bl(c[m>>2]|0,15)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+40>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,7)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+56>>2]|0));t=Bl(c[l>>2]|0,7)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s>>2]|0));t=Bl(c[h>>2]|0,12)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,7)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+36>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,12)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[h>>2]|~c[q>>2]&c[k>>2])+1518500249+(c[s+20>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[l>>2]|c[j>>2]&~c[l>>2])+1548603684+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,7)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[q>>2]|~c[o>>2]&c[h>>2])+1518500249+(c[s+8>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[j>>2]|c[r>>2]&~c[j>>2])+1548603684+(c[s+16>>2]|0));t=Bl(c[n>>2]|0,6)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[o>>2]|~c[m>>2]&c[q>>2])+1518500249+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,7)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[r>>2]|c[p>>2]&~c[r>>2])+1548603684+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,15)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[m>>2]|~c[k>>2]&c[o>>2])+1518500249+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,13)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[p>>2]|c[n>>2]&~c[p>>2])+1548603684+(c[s+4>>2]|0));t=Bl(c[j>>2]|0,13)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[k>>2]|~c[h>>2]&c[m>>2])+1518500249+(c[s+32>>2]|0));t=Bl(c[q>>2]|0,12)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[n>>2]|c[l>>2]&~c[n>>2])+1548603684+(c[s+8>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+12>>2]|0));t=Bl(c[o>>2]|0,11)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+60>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+40>>2]|0));t=Bl(c[m>>2]|0,13)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+20>>2]|0));t=Bl(c[n>>2]|0,7)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+56>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+4>>2]|0));t=Bl(c[l>>2]|0,15)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+16>>2]|0));t=Bl(c[h>>2]|0,7)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s+12>>2]|0));t=Bl(c[j>>2]|0,11)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+36>>2]|0));t=Bl(c[q>>2]|0,14)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,8)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+60>>2]|0));t=Bl(c[o>>2]|0,9)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+56>>2]|0));t=Bl(c[p>>2]|0,6)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,13)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+24>>2]|0));t=Bl(c[n>>2]|0,6)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+4>>2]|0));t=Bl(c[k>>2]|0,15)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+36>>2]|0));t=Bl(c[l>>2]|0,14)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+8>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s+44>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+28>>2]|0));t=Bl(c[q>>2]|0,8)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+32>>2]|0));t=Bl(c[r>>2]|0,13)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s>>2]|0));t=Bl(c[o>>2]|0,13)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+(((c[o>>2]|~c[q>>2])^c[h>>2])+1859775393+(c[s+24>>2]|0));t=Bl(c[m>>2]|0,6)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+(((c[p>>2]|~c[r>>2])^c[j>>2])+1836072691+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+(((c[m>>2]|~c[o>>2])^c[q>>2])+1859775393+(c[s+52>>2]|0));t=Bl(c[k>>2]|0,5)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+(((c[n>>2]|~c[p>>2])^c[r>>2])+1836072691+(c[s+40>>2]|0));t=Bl(c[l>>2]|0,13)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+(((c[k>>2]|~c[m>>2])^c[o>>2])+1859775393+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,12)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+(((c[l>>2]|~c[n>>2])^c[p>>2])+1836072691+(c[s>>2]|0));t=Bl(c[j>>2]|0,13)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+(((c[h>>2]|~c[k>>2])^c[m>>2])+1859775393+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,7)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+(((c[j>>2]|~c[l>>2])^c[n>>2])+1836072691+(c[s+16>>2]|0));t=Bl(c[r>>2]|0,7)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+(((c[q>>2]|~c[h>>2])^c[k>>2])+1859775393+(c[s+48>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+(((c[r>>2]|~c[j>>2])^c[l>>2])+1836072691+(c[s+52>>2]|0));t=Bl(c[p>>2]|0,5)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+4>>2]|0));t=Bl(c[m>>2]|0,11)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+32>>2]|0));t=Bl(c[n>>2]|0,15)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+36>>2]|0));t=Bl(c[k>>2]|0,12)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+24>>2]|0));t=Bl(c[l>>2]|0,5)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+44>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s+16>>2]|0));t=Bl(c[j>>2]|0,8)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+40>>2]|0));t=Bl(c[q>>2]|0,15)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+4>>2]|0));t=Bl(c[r>>2]|0,11)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s>>2]|0));t=Bl(c[o>>2]|0,14)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+12>>2]|0));t=Bl(c[p>>2]|0,14)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+32>>2]|0));t=Bl(c[m>>2]|0,15)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+44>>2]|0));t=Bl(c[n>>2]|0,14)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+60>>2]|0));t=Bl(c[l>>2]|0,6)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+16>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s>>2]|0));t=Bl(c[j>>2]|0,14)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+52>>2]|0));t=Bl(c[q>>2]|0,9)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+20>>2]|0));t=Bl(c[r>>2]|0,6)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s+12>>2]|0));t=Bl(c[o>>2]|0,14)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+48>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+28>>2]|0));t=Bl(c[m>>2]|0,5)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,12)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]&c[q>>2]|c[o>>2]&~c[q>>2])+-1894007588+(c[s+60>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]&c[p>>2]|~c[n>>2]&c[r>>2])+2053994217+(c[s+52>>2]|0));t=Bl(c[l>>2]|0,9)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]&c[o>>2]|c[m>>2]&~c[o>>2])+-1894007588+(c[s+56>>2]|0));t=Bl(c[h>>2]|0,8)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]&c[n>>2]|~c[l>>2]&c[p>>2])+2053994217+(c[s+36>>2]|0));t=Bl(c[j>>2]|0,12)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]&c[m>>2]|c[k>>2]&~c[m>>2])+-1894007588+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,6)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]&c[l>>2]|~c[j>>2]&c[n>>2])+2053994217+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,5)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]&c[k>>2]|c[h>>2]&~c[k>>2])+-1894007588+(c[s+24>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]&c[j>>2]|~c[r>>2]&c[l>>2])+2053994217+(c[s+40>>2]|0));t=Bl(c[p>>2]|0,15)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]&c[h>>2]|c[q>>2]&~c[h>>2])+-1894007588+(c[s+8>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]&c[r>>2]|~c[p>>2]&c[j>>2])+2053994217+(c[s+56>>2]|0));t=Bl(c[n>>2]|0,8)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+16>>2]|0));t=Bl(c[k>>2]|0,9)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+48>>2]|0));t=Bl(c[l>>2]|0,8)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s>>2]|0));t=Bl(c[h>>2]|0,15)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+60>>2]|0));t=Bl(c[j>>2]|0,5)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+20>>2]|0));t=Bl(c[q>>2]|0,5)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s+40>>2]|0));t=Bl(c[r>>2]|0,12)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+36>>2]|0));t=Bl(c[o>>2]|0,11)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+16>>2]|0));t=Bl(c[p>>2]|0,9)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+28>>2]|0));t=Bl(c[m>>2]|0,6)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+4>>2]|0));t=Bl(c[n>>2]|0,12)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+48>>2]|0));t=Bl(c[k>>2]|0,8)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+20>>2]|0));t=Bl(c[l>>2]|0,5)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s+8>>2]|0));t=Bl(c[h>>2]|0,13)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+32>>2]|0));t=Bl(c[j>>2]|0,14)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+40>>2]|0));t=Bl(c[q>>2]|0,12)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s+28>>2]|0));t=Bl(c[r>>2]|0,6)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+56>>2]|0));t=Bl(c[o>>2]|0,5)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+24>>2]|0));t=Bl(c[p>>2]|0,8)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+4>>2]|0));t=Bl(c[m>>2]|0,12)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+8>>2]|0));t=Bl(c[n>>2]|0,13)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+12>>2]|0));t=Bl(c[k>>2]|0,13)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+52>>2]|0));t=Bl(c[l>>2]|0,6)|0;c[l>>2]=t+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[h>>2]=(c[h>>2]|0)+((c[k>>2]^(c[m>>2]|~c[o>>2]))+-1454113458+(c[s+32>>2]|0));t=Bl(c[h>>2]|0,14)|0;c[h>>2]=t+(c[q>>2]|0);c[m>>2]=Bl(c[m>>2]|0,10)|0;c[j>>2]=(c[j>>2]|0)+((c[l>>2]^c[n>>2]^c[p>>2])+0+(c[s+56>>2]|0));t=Bl(c[j>>2]|0,5)|0;c[j>>2]=t+(c[r>>2]|0);c[n>>2]=Bl(c[n>>2]|0,10)|0;c[q>>2]=(c[q>>2]|0)+((c[h>>2]^(c[k>>2]|~c[m>>2]))+-1454113458+(c[s+44>>2]|0));t=Bl(c[q>>2]|0,11)|0;c[q>>2]=t+(c[o>>2]|0);c[k>>2]=Bl(c[k>>2]|0,10)|0;c[r>>2]=(c[r>>2]|0)+((c[j>>2]^c[l>>2]^c[n>>2])+0+(c[s>>2]|0));t=Bl(c[r>>2]|0,15)|0;c[r>>2]=t+(c[p>>2]|0);c[l>>2]=Bl(c[l>>2]|0,10)|0;c[o>>2]=(c[o>>2]|0)+((c[q>>2]^(c[h>>2]|~c[k>>2]))+-1454113458+(c[s+24>>2]|0));t=Bl(c[o>>2]|0,8)|0;c[o>>2]=t+(c[m>>2]|0);c[h>>2]=Bl(c[h>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[r>>2]^c[j>>2]^c[l>>2])+0+(c[s+12>>2]|0));t=Bl(c[p>>2]|0,13)|0;c[p>>2]=t+(c[n>>2]|0);c[j>>2]=Bl(c[j>>2]|0,10)|0;c[m>>2]=(c[m>>2]|0)+((c[o>>2]^(c[q>>2]|~c[h>>2]))+-1454113458+(c[s+60>>2]|0));t=Bl(c[m>>2]|0,5)|0;c[m>>2]=t+(c[k>>2]|0);c[q>>2]=Bl(c[q>>2]|0,10)|0;c[n>>2]=(c[n>>2]|0)+((c[p>>2]^c[r>>2]^c[j>>2])+0+(c[s+36>>2]|0));t=Bl(c[n>>2]|0,11)|0;c[n>>2]=t+(c[l>>2]|0);c[r>>2]=Bl(c[r>>2]|0,10)|0;c[k>>2]=(c[k>>2]|0)+((c[m>>2]^(c[o>>2]|~c[q>>2]))+-1454113458+(c[s+52>>2]|0));t=Bl(c[k>>2]|0,6)|0;c[k>>2]=t+(c[h>>2]|0);c[o>>2]=Bl(c[o>>2]|0,10)|0;c[l>>2]=(c[l>>2]|0)+((c[n>>2]^c[p>>2]^c[r>>2])+0+(c[s+44>>2]|0));s=Bl(c[l>>2]|0,11)|0;c[l>>2]=s+(c[j>>2]|0);c[p>>2]=Bl(c[p>>2]|0,10)|0;c[p>>2]=(c[p>>2]|0)+((c[m>>2]|0)+(c[(c[g>>2]|0)+164>>2]|0));c[(c[g>>2]|0)+164>>2]=(c[(c[g>>2]|0)+168>>2]|0)+(c[o>>2]|0)+(c[r>>2]|0);c[(c[g>>2]|0)+168>>2]=(c[(c[g>>2]|0)+172>>2]|0)+(c[q>>2]|0)+(c[j>>2]|0);c[(c[g>>2]|0)+172>>2]=(c[(c[g>>2]|0)+176>>2]|0)+(c[h>>2]|0)+(c[l>>2]|0);c[(c[g>>2]|0)+176>>2]=(c[(c[g>>2]|0)+160>>2]|0)+(c[k>>2]|0)+(c[n>>2]|0);c[(c[g>>2]|0)+160>>2]=c[p>>2];i=d;return 124}function Al(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function Cl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Dl((c[f>>2]|0)+56|0,c[k>>2]|0);Dl((c[f>>2]|0)+60|0,c[j>>2]|0);c[m>>2]=yl(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];Dl(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Dl(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function El(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Fl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;xl(c[d>>2]|0,0);i=b;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[f>>2];yl(c[e>>2]|0,c[f>>2]|0,1)|0;c[c[g>>2]>>2]=c[(c[e>>2]|0)+160>>2];c[(c[g>>2]|0)+4>>2]=c[(c[e>>2]|0)+164>>2];c[(c[g>>2]|0)+8>>2]=c[(c[e>>2]|0)+168>>2];c[(c[g>>2]|0)+12>>2]=c[(c[e>>2]|0)+172>>2];c[(c[g>>2]|0)+16>>2]=c[(c[e>>2]|0)+176>>2];i=d;return}function Hl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;Fl(k);rs(k,c[h>>2]|0,c[j>>2]|0);Cl(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Il(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;i=i+80|0;k=j+64|0;l=j+60|0;m=j+56|0;n=j+52|0;o=j+48|0;p=j+44|0;q=j+40|0;r=j+36|0;s=j+32|0;t=j+28|0;u=j+24|0;v=j+20|0;w=j+16|0;x=j+12|0;y=j+8|0;z=j+4|0;A=j;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=0;c[s>>2]=0;c[t>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;if(!(c[t>>2]|0?((c[o>>2]|0)+7|0)>>>0<=(c[t>>2]|0)>>>0:0)){c[k>>2]=66;B=c[k>>2]|0;i=j;return B|0}m=Yf(c[t>>2]|0)|0;c[s>>2]=m;if(!m){c[k>>2]=iu()|0;B=c[k>>2]|0;i=j;return B|0}c[v>>2]=0;m=c[v>>2]|0;c[v>>2]=m+1;a[(c[s>>2]|0)+m>>0]=0;m=c[v>>2]|0;c[v>>2]=m+1;a[(c[s>>2]|0)+m>>0]=2;c[u>>2]=(c[t>>2]|0)-3-(c[o>>2]|0);if((c[u>>2]|0)<=0)xf(38940,38946,95,38959);do if(c[p>>2]|0){if((c[q>>2]|0)!=(c[u>>2]|0)){$f(c[s>>2]|0);c[k>>2]=45;B=c[k>>2]|0;i=j;return B|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>>>0>=(c[q>>2]|0)>>>0){C=15;break}if(!(a[(c[p>>2]|0)+(c[x>>2]|0)>>0]|0))break;c[x>>2]=(c[x>>2]|0)+1}if((C|0)==15){Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[q>>2]|0);break}$f(c[s>>2]|0);c[k>>2]=45;B=c[k>>2]|0;i=j;return B|0}else{c[w>>2]=On(c[u>>2]|0,1)|0;while(1){c[z>>2]=0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[u>>2]|0))break;if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0))c[z>>2]=(c[z>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(!(c[z>>2]|0))break;c[z>>2]=(c[z>>2]|0)+(((c[z>>2]|0)/128|0)+3);c[A>>2]=On(c[z>>2]|0,1)|0;c[y>>2]=0;while(1){if(!((c[y>>2]|0)<(c[u>>2]|0)?(c[z>>2]|0)!=0:0))break;if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0)){m=(c[z>>2]|0)+-1|0;c[z>>2]=m;a[(c[w>>2]|0)+(c[y>>2]|0)>>0]=a[(c[A>>2]|0)+m>>0]|0}if(!(a[(c[w>>2]|0)+(c[y>>2]|0)>>0]|0))continue;c[y>>2]=(c[y>>2]|0)+1}$f(c[A>>2]|0)}Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[w>>2]|0,c[u>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[u>>2]|0);$f(c[w>>2]|0)}while(0);w=c[v>>2]|0;c[v>>2]=w+1;a[(c[s>>2]|0)+w>>0]=0;Dx((c[s>>2]|0)+(c[v>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[v>>2]|0)+(c[o>>2]|0);if((c[v>>2]|0)!=(c[t>>2]|0))xf(38990,38946,153,38959);c[r>>2]=Dp(c[l>>2]|0,5,c[s>>2]|0,c[v>>2]|0,t)|0;if((c[r>>2]|0)==0?jg(1)|0:0)Hf(39002,c[c[l>>2]>>2]|0);$f(c[s>>2]|0);c[k>>2]=c[r>>2];B=c[k>>2]|0;i=j;return B|0}function Jl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;i=i+48|0;j=h+32|0;k=h+28|0;l=h+24|0;m=h+20|0;n=h+16|0;o=h+12|0;p=h+8|0;q=h+4|0;r=h;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[q>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[c[k>>2]>>2]=0;m=Yf(c[q>>2]|0)|0;c[p>>2]=m;if(!m){c[j>>2]=iu()|0;s=c[j>>2]|0;i=h;return s|0}c[o>>2]=Hp(5,c[p>>2]|0,c[q>>2]|0,r,c[n>>2]|0)|0;if(c[o>>2]|0){$f(c[p>>2]|0);c[j>>2]=Kl(c[o>>2]|0)|0;s=c[j>>2]|0;i=h;return s|0}c[q>>2]=c[r>>2];if((c[q>>2]|0)>>>0<4){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}c[r>>2]=0;if(!(a[c[p>>2]>>0]|0))c[r>>2]=(c[r>>2]|0)+1;o=c[r>>2]|0;c[r>>2]=o+1;if((d[(c[p>>2]|0)+o>>0]|0)!=2){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}while(1){if((c[r>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[(c[p>>2]|0)+(c[r>>2]|0)>>0]|0))break;c[r>>2]=(c[r>>2]|0)+1}if(((c[r>>2]|0)+1|0)>>>0>=(c[q>>2]|0)>>>0){$f(c[p>>2]|0);c[j>>2]=155;s=c[j>>2]|0;i=h;return s|0}c[r>>2]=(c[r>>2]|0)+1;Ex(c[p>>2]|0,(c[p>>2]|0)+(c[r>>2]|0)|0,(c[q>>2]|0)-(c[r>>2]|0)|0)|0;c[c[k>>2]>>2]=c[p>>2];c[c[l>>2]>>2]=(c[q>>2]|0)-(c[r>>2]|0);if(jg(1)|0)Ff(39035,c[c[k>>2]>>2]|0,c[c[l>>2]>>2]|0);c[j>>2]=0;s=c[j>>2]|0;i=h;return s|0}function Kl(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ll(c[d>>2]|0)|0;i=b;return a|0}function Ll(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}function Ml(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;i=i+160|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+52|0;r=h+20|0;s=h+16|0;t=h+12|0;u=h+8|0;v=h+4|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=0;c[r>>2]=0;c[s>>2]=(((c[l>>2]|0)+7|0)>>>0)/8|0;c[v>>2]=100;c[w>>2]=Uj(c[o>>2]|0)|0;if(Vj(c[o>>2]|0,10,q,v)|0){c[j>>2]=69;x=c[j>>2]|0;i=h;return x|0}if((c[n>>2]|0)!=(c[w>>2]|0)){c[j>>2]=70;x=c[j>>2]|0;i=h;return x|0}if(c[w>>2]|0?((c[w>>2]|0)+(c[v>>2]|0)+4|0)>>>0<=(c[s>>2]|0)>>>0:0){w=Vf(c[s>>2]|0)|0;c[r>>2]=w;if(!w){c[j>>2]=iu()|0;x=c[j>>2]|0;i=h;return x|0}c[u>>2]=0;w=c[u>>2]|0;c[u>>2]=w+1;a[(c[r>>2]|0)+w>>0]=0;w=c[u>>2]|0;c[u>>2]=w+1;a[(c[r>>2]|0)+w>>0]=1;c[t>>2]=(c[s>>2]|0)-(c[n>>2]|0)-(c[v>>2]|0)-3;if((c[t>>2]|0)<=1)xf(39089,38946,303,39095);Fx((c[r>>2]|0)+(c[u>>2]|0)|0,-1,c[t>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0);t=c[u>>2]|0;c[u>>2]=t+1;a[(c[r>>2]|0)+t>>0]=0;Dx((c[r>>2]|0)+(c[u>>2]|0)|0,q|0,c[v>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[v>>2]|0);Dx((c[r>>2]|0)+(c[u>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+(c[n>>2]|0);if((c[u>>2]|0)!=(c[s>>2]|0))xf(38990,38946,311,39095);c[p>>2]=Dp(c[k>>2]|0,5,c[r>>2]|0,c[u>>2]|0,s)|0;if((c[p>>2]|0)==0?jg(1)|0:0)Hf(39126,c[c[k>>2]>>2]|0);$f(c[r>>2]|0);c[j>>2]=c[p>>2];x=c[j>>2]|0;i=h;return x|0}c[j>>2]=66;x=c[j>>2]|0;i=h;return x|0}function Nl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+48|0;h=g+40|0;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;c[p>>2]=0;c[q>>2]=(((c[k>>2]|0)+7|0)>>>0)/8|0;if(c[m>>2]|0?((c[m>>2]|0)+4|0)>>>0<=(c[q>>2]|0)>>>0:0){k=Vf(c[q>>2]|0)|0;c[p>>2]=k;if(!k){c[h>>2]=iu()|0;t=c[h>>2]|0;i=g;return t|0}c[s>>2]=0;k=c[s>>2]|0;c[s>>2]=k+1;a[(c[p>>2]|0)+k>>0]=0;k=c[s>>2]|0;c[s>>2]=k+1;a[(c[p>>2]|0)+k>>0]=1;c[r>>2]=(c[q>>2]|0)-(c[m>>2]|0)-3;if((c[r>>2]|0)<=1)xf(39089,38946,368,39159);Fx((c[p>>2]|0)+(c[s>>2]|0)|0,-1,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);r=c[s>>2]|0;c[s>>2]=r+1;a[(c[p>>2]|0)+r>>0]=0;Dx((c[p>>2]|0)+(c[s>>2]|0)|0,c[l>>2]|0,c[m>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[m>>2]|0);if((c[s>>2]|0)!=(c[q>>2]|0))xf(38990,38946,374,39159);c[o>>2]=Dp(c[j>>2]|0,5,c[p>>2]|0,c[s>>2]|0,q)|0;if(!(c[o>>2]|0)){if(jg(1)|0)Hf(39126,c[c[j>>2]>>2]|0)}else c[n>>2]=Kl(c[o>>2]|0)|0;$f(c[p>>2]|0);c[h>>2]=c[n>>2];t=c[h>>2]|0;i=g;return t|0}c[h>>2]=66;t=c[h>>2]|0;i=g;return t|0}function Ol(b,e,f,g,h,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;n=i;i=i+80|0;o=n+68|0;p=n+64|0;q=n+60|0;r=n+56|0;s=n+52|0;t=n+48|0;u=n+44|0;v=n+40|0;w=n+36|0;x=n+32|0;y=n+28|0;z=n+24|0;A=n+20|0;B=n+16|0;C=n+12|0;D=n+8|0;E=n+4|0;F=n;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=0;c[z>>2]=0;c[A>>2]=(((c[q>>2]|0)+7|0)>>>0)/8|0;c[c[p>>2]>>2]=0;if(!((c[u>>2]|0)!=0&(c[v>>2]|0)!=0)){c[u>>2]=76527;c[v>>2]=0}c[C>>2]=Uj(c[r>>2]|0)|0;if(!(c[A>>2]|0?(c[t>>2]|0)>>>0<=((c[A>>2]|0)-(c[C>>2]<<1)-2|0)>>>0:0)){c[o>>2]=66;G=c[o>>2]|0;i=n;return G|0}c[z>>2]=bg(1,c[A>>2]|0)|0;if(!(c[z>>2]|0)){c[o>>2]=iu()|0;G=c[o>>2]|0;i=n;return G|0}Nj(c[r>>2]|0,(c[z>>2]|0)+1+(c[C>>2]|0)|0,c[u>>2]|0,c[v>>2]|0);c[D>>2]=(c[A>>2]|0)-(c[t>>2]|0)-1;a[(c[z>>2]|0)+(c[D>>2]|0)>>0]=1;Dx((c[z>>2]|0)+(c[D>>2]|0)+1|0,c[s>>2]|0,c[t>>2]|0)|0;do if(c[w>>2]|0){t=c[z>>2]|0;if((c[x>>2]|0)==(c[C>>2]|0)){Dx(t+1|0,c[w>>2]|0,c[C>>2]|0)|0;break}$f(t);c[o>>2]=45;G=c[o>>2]|0;i=n;return G|0}else Pn((c[z>>2]|0)+1|0,c[C>>2]|0,1);while(0);c[E>>2]=Yf((c[A>>2]|0)-(c[C>>2]|0)-1|0)|0;if(!(c[E>>2]|0)){c[y>>2]=iu()|0;$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[y>>2]=Pl(c[E>>2]|0,(c[A>>2]|0)-(c[C>>2]|0)-1|0,(c[z>>2]|0)+1|0,c[C>>2]|0,c[r>>2]|0)|0;if(c[y>>2]|0){$f(c[E>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[D>>2]=1+(c[C>>2]|0);c[B>>2]=c[E>>2];while(1){if((c[D>>2]|0)>>>0>=(c[A>>2]|0)>>>0)break;w=c[B>>2]|0;c[B>>2]=w+1;x=(c[z>>2]|0)+(c[D>>2]|0)|0;a[x>>0]=(d[x>>0]|0)^(d[w>>0]|0);c[D>>2]=(c[D>>2]|0)+1}$f(c[E>>2]|0);c[F>>2]=Yf(c[C>>2]|0)|0;if(!(c[F>>2]|0)){c[y>>2]=iu()|0;$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[y>>2]=Pl(c[F>>2]|0,c[C>>2]|0,(c[z>>2]|0)+1+(c[C>>2]|0)|0,(c[A>>2]|0)-(c[C>>2]|0)-1|0,c[r>>2]|0)|0;if(c[y>>2]|0){$f(c[F>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}c[D>>2]=1;c[B>>2]=c[F>>2];while(1){if((c[D>>2]|0)>>>0>=(1+(c[C>>2]|0)|0)>>>0)break;r=c[B>>2]|0;c[B>>2]=r+1;E=(c[z>>2]|0)+(c[D>>2]|0)|0;a[E>>0]=(d[E>>0]|0)^(d[r>>0]|0);c[D>>2]=(c[D>>2]|0)+1}$f(c[F>>2]|0);c[y>>2]=Dp(c[p>>2]|0,5,c[z>>2]|0,c[A>>2]|0,0)|0;if((c[y>>2]|0)==0?jg(1)|0:0)Hf(39194,c[c[p>>2]>>2]|0);$f(c[z>>2]|0);c[o>>2]=c[y>>2];G=c[o>>2]|0;i=n;return G|0}function Pl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;i=i+64|0;j=h+48|0;k=h+44|0;l=h+40|0;m=h+36|0;n=h+32|0;o=h+28|0;p=h+24|0;q=h+20|0;r=h+16|0;s=h+12|0;t=h+8|0;u=h+4|0;v=h+52|0;w=h;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[u>>2]=wj(t,c[o>>2]|0,0)|0;if(c[u>>2]|0){c[j>>2]=c[u>>2];x=c[j>>2]|0;i=h;return x|0}c[p>>2]=Uj(c[o>>2]|0)|0;c[q>>2]=0;c[s>>2]=0;while(1){if((c[q>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;if(c[s>>2]|0)Dj(c[t>>2]|0);a[v>>0]=c[s>>2]>>24;a[v+1>>0]=c[s>>2]>>16;a[v+2>>0]=c[s>>2]>>8;a[v+3>>0]=c[s>>2];c[s>>2]=(c[s>>2]|0)+1;Fj(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0);Fj(c[t>>2]|0,v,4);c[w>>2]=Rj(c[t>>2]|0,0)|0;if(((c[l>>2]|0)-(c[q>>2]|0)|0)>>>0<(c[p>>2]|0)>>>0)y=(c[l>>2]|0)-(c[q>>2]|0)|0;else y=c[p>>2]|0;c[r>>2]=y;Dx((c[k>>2]|0)+(c[q>>2]|0)|0,c[w>>2]|0,c[r>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0)}Ej(c[t>>2]|0);c[j>>2]=0;x=c[j>>2]|0;i=h;return x|0}function Ql(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;l=i;i=i+96|0;m=l+80|0;n=l+76|0;o=l+72|0;p=l+68|0;q=l+64|0;r=l+60|0;s=l+56|0;t=l+52|0;u=l+48|0;v=l+44|0;w=l+40|0;x=l+36|0;y=l+32|0;z=l+28|0;A=l+24|0;B=l+20|0;C=l+16|0;D=l+12|0;E=l+8|0;F=l+4|0;G=l;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=0;c[y>>2]=0;c[A>>2]=0;c[E>>2]=(((c[p>>2]|0)+7|0)>>>0)/8|0;c[F>>2]=0;c[c[n>>2]>>2]=0;if(!((c[s>>2]|0)!=0&(c[t>>2]|0)!=0)){c[s>>2]=76527;c[t>>2]=0}c[C>>2]=Uj(c[q>>2]|0)|0;c[A>>2]=Vf(c[C>>2]|0)|0;if(!(c[A>>2]|0)){c[m>>2]=iu()|0;H=c[m>>2]|0;i=l;return H|0}Nj(c[q>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=Rl(v,0,c[r>>2]|0,c[E>>2]|0)|0;if(c[u>>2]|0){$f(c[A>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[B>>2]=c[E>>2];if((c[B>>2]|0)>>>0<((c[C>>2]<<1)+2|0)>>>0){$f(c[v>>2]|0);$f(c[A>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[y>>2]=Yf((c[B>>2]|0)-1|0)|0;if(!(c[y>>2]|0)){c[u>>2]=iu()|0;$f(c[v>>2]|0);$f(c[A>>2]|0);c[m>>2]=c[u>>2];H=c[m>>2]|0;i=l;return H|0}c[z>>2]=(c[y>>2]|0)+(c[C>>2]|0);c[w>>2]=(c[v>>2]|0)+1;c[x>>2]=(c[v>>2]|0)+1+(c[C>>2]|0);c[D>>2]=(c[B>>2]|0)-1-(c[C>>2]|0);if(Pl(c[y>>2]|0,c[C>>2]|0,c[x>>2]|0,c[D>>2]|0,c[q>>2]|0)|0)c[F>>2]=1;c[G>>2]=0;while(1){if((c[G>>2]|0)>>>0>=(c[C>>2]|0)>>>0)break;B=(c[y>>2]|0)+(c[G>>2]|0)|0;a[B>>0]=d[B>>0]^d[(c[w>>2]|0)+(c[G>>2]|0)>>0];c[G>>2]=(c[G>>2]|0)+1}if(Pl(c[z>>2]|0,c[D>>2]|0,c[y>>2]|0,c[C>>2]|0,c[q>>2]|0)|0)c[F>>2]=1;c[G>>2]=0;while(1){if((c[G>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;q=(c[z>>2]|0)+(c[G>>2]|0)|0;a[q>>0]=d[q>>0]^d[(c[x>>2]|0)+(c[G>>2]|0)>>0];c[G>>2]=(c[G>>2]|0)+1}if(mw(c[A>>2]|0,c[z>>2]|0,c[C>>2]|0)|0)c[F>>2]=1;c[G>>2]=c[C>>2];while(1){if((c[G>>2]|0)>>>0>=(c[D>>2]|0)>>>0)break;if((d[(c[z>>2]|0)+(c[G>>2]|0)>>0]|0)==1)break;c[G>>2]=(c[G>>2]|0)+1}if((c[G>>2]|0)==(c[D>>2]|0))c[F>>2]=1;if(a[c[v>>2]>>0]|0)c[F>>2]=1;$f(c[A>>2]|0);$f(c[v>>2]|0);if(c[F>>2]|0){$f(c[y>>2]|0);c[m>>2]=155;H=c[m>>2]|0;i=l;return H|0}c[G>>2]=(c[G>>2]|0)+1;Ex(c[y>>2]|0,(c[z>>2]|0)+(c[G>>2]|0)|0,(c[D>>2]|0)-(c[G>>2]|0)|0)|0;c[c[n>>2]>>2]=c[y>>2];c[c[o>>2]>>2]=(c[D>>2]|0)-(c[G>>2]|0);c[y>>2]=0;if(jg(1)|0)Ff(39212,c[c[n>>2]>>2]|0,c[c[o>>2]>>2]|0);c[m>>2]=0;H=c[m>>2]|0;i=l;return H|0}function Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;k=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;e=Jp(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;i=f;return e|0}function Sl(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;m=i;i=i+128|0;n=m+116|0;o=m+112|0;p=m+108|0;q=m+104|0;r=m+100|0;s=m+96|0;t=m+92|0;u=m+88|0;v=m+84|0;w=m+80|0;x=m+76|0;y=m+72|0;z=m+68|0;A=m+64|0;B=m+60|0;D=m+56|0;E=m+52|0;F=m+48|0;G=m+44|0;H=m+40|0;I=m+36|0;J=m+32|0;K=m+121|0;L=m+8|0;M=m+28|0;N=m+24|0;O=m+20|0;P=m+120|0;Q=m;R=m+16|0;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=0;c[x>>2]=0;c[y>>2]=(((c[o>>2]|0)+7|0)>>>0)/8|0;c[A>>2]=0;c[w>>2]=Uj(c[p>>2]|0)|0;if(!(c[w>>2]|0))xf(39251,38946,800,39256);c[B>>2]=8+(c[w>>2]|0)+(c[s>>2]|0)+((c[y>>2]|0)-(c[w>>2]|0)-1);c[A>>2]=Vf(c[B>>2]|0)|0;a:do if(c[A>>2]|0){c[D>>2]=(c[A>>2]|0)+8;c[E>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[F>>2]=(c[E>>2]|0)+(c[s>>2]|0);if((c[r>>2]|0)!=(c[w>>2]|0)){c[v>>2]=139;break}Dx(c[D>>2]|0,c[q>>2]|0,c[w>>2]|0)|0;if((c[y>>2]|0)>>>0<((c[w>>2]|0)+(c[s>>2]|0)+2|0)>>>0){c[v>>2]=66;break}c[x>>2]=Vf(c[y>>2]|0)|0;if(!(c[x>>2]|0)){c[v>>2]=iu()|0;break}c[z>>2]=(c[x>>2]|0)+(c[y>>2]|0)+-1+(0-(c[w>>2]|0));do if(c[s>>2]|0){if(!(c[t>>2]|0)){Pn(c[E>>2]|0,c[s>>2]|0,1);break}if((c[u>>2]|0)!=(c[s>>2]|0)){c[v>>2]=45;break a}else{Dx(c[E>>2]|0,c[t>>2]|0,c[s>>2]|0)|0;break}}while(0);l=c[A>>2]|0;a[l>>0]=0;a[l+1>>0]=0;a[l+2>>0]=0;a[l+3>>0]=0;a[l+4>>0]=0;a[l+5>>0]=0;a[l+6>>0]=0;a[l+7>>0]=0;Nj(c[p>>2]|0,c[z>>2]|0,c[A>>2]|0,8+(c[w>>2]|0)+(c[s>>2]|0)|0);c[G>>2]=(c[x>>2]|0)+(c[y>>2]|0)+-1+(0-(c[w>>2]|0))+(0-(c[s>>2]|0))+-1;Fx(c[x>>2]|0,0,(c[G>>2]|0)-(c[x>>2]|0)|0)|0;l=c[G>>2]|0;c[G>>2]=l+1;a[l>>0]=1;Dx(c[G>>2]|0,c[E>>2]|0,c[s>>2]|0)|0;Pl(c[F>>2]|0,(c[y>>2]|0)-(c[w>>2]|0)-1|0,c[z>>2]|0,c[w>>2]|0,c[p>>2]|0)|0;c[H>>2]=0;c[G>>2]=c[F>>2];while(1){if((c[H>>2]|0)>>>0>=((c[y>>2]|0)-(c[w>>2]|0)-1|0)>>>0)break;l=(c[x>>2]|0)+(c[H>>2]|0)|0;a[l>>0]=(d[l>>0]|0)^(d[c[G>>2]>>0]|0);c[H>>2]=(c[H>>2]|0)+1;c[G>>2]=(c[G>>2]|0)+1}l=c[x>>2]|0;a[l>>0]=(d[l>>0]|0)&255>>(c[y>>2]<<3)-(c[o>>2]|0);a[(c[x>>2]|0)+((c[y>>2]|0)-1)>>0]=-68;c[v>>2]=Dp(c[n>>2]|0,5,c[x>>2]|0,c[y>>2]|0,0)|0;if((c[v>>2]|0)==0?jg(1)|0:0)Hf(39277,c[c[n>>2]>>2]|0)}else c[v>>2]=iu()|0;while(0);if(c[x>>2]|0){c[I>>2]=c[x>>2];c[J>>2]=c[y>>2];a[K>>0]=0;y=L;c[y>>2]=d[K>>0];c[y+4>>2]=0;while(1){if(!(c[I>>2]&7|0?(c[J>>2]|0)!=0:0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}if((c[J>>2]|0)>>>0>=8){y=L;n=Mx(c[y>>2]|0,c[y+4>>2]|0,16843009,16843009)|0;y=L;c[y>>2]=n;c[y+4>>2]=C;do{c[M>>2]=c[I>>2];y=L;n=c[y+4>>2]|0;o=c[M>>2]|0;c[o>>2]=c[y>>2];c[o+4>>2]=n;c[J>>2]=(c[J>>2]|0)-8;c[I>>2]=(c[I>>2]|0)+8}while((c[J>>2]|0)>>>0>=8)}while(1){if(!(c[J>>2]|0))break;a[c[I>>2]>>0]=a[K>>0]|0;c[I>>2]=(c[I>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+-1}$f(c[x>>2]|0)}if(!(c[A>>2]|0)){S=c[v>>2]|0;i=m;return S|0}c[N>>2]=c[A>>2];c[O>>2]=c[B>>2];a[P>>0]=0;B=Q;c[B>>2]=d[P>>0];c[B+4>>2]=0;while(1){if(!(c[N>>2]&7|0?(c[O>>2]|0)!=0:0))break;a[c[N>>2]>>0]=a[P>>0]|0;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if((c[O>>2]|0)>>>0>=8){B=Q;x=Mx(c[B>>2]|0,c[B+4>>2]|0,16843009,16843009)|0;B=Q;c[B>>2]=x;c[B+4>>2]=C;do{c[R>>2]=c[N>>2];B=Q;x=c[B+4>>2]|0;J=c[R>>2]|0;c[J>>2]=c[B>>2];c[J+4>>2]=x;c[O>>2]=(c[O>>2]|0)-8;c[N>>2]=(c[N>>2]|0)+8}while((c[O>>2]|0)>>>0>=8)}while(1){if(!(c[O>>2]|0))break;a[c[N>>2]>>0]=a[P>>0]|0;c[N>>2]=(c[N>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}$f(c[A>>2]|0);S=c[v>>2]|0;i=m;return S|0}function Tl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=i;i=i+112|0;k=j+104|0;l=j+100|0;m=j+96|0;n=j+92|0;o=j+88|0;p=j+84|0;q=j+80|0;r=j+76|0;s=j+72|0;t=j+68|0;u=j+64|0;v=j+60|0;w=j+56|0;x=j+52|0;y=j+48|0;z=j+44|0;A=j+40|0;B=j+36|0;D=j+32|0;E=j+109|0;F=j+8|0;G=j+28|0;H=j+24|0;I=j+20|0;J=j+108|0;K=j;L=j+16|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;c[r>>2]=0;c[s>>2]=(((c[m>>2]|0)+7|0)>>>0)/8|0;c[v>>2]=0;c[q>>2]=Uj(c[n>>2]|0)|0;if(!(c[q>>2]|0))xf(39251,38946,926,39294);c[w>>2]=8+(c[q>>2]|0)+(c[o>>2]|0);if((c[w>>2]|0)>>>0<((c[s>>2]|0)-(c[q>>2]|0)-1|0)>>>0)c[w>>2]=(c[s>>2]|0)-(c[q>>2]|0)-1;c[w>>2]=(c[w>>2]|0)+(c[q>>2]|0);c[v>>2]=Vf(c[w>>2]|0)|0;do if(c[v>>2]|0){c[x>>2]=c[v>>2];c[y>>2]=(c[v>>2]|0)+(c[w>>2]|0)+(0-(c[q>>2]|0));c[p>>2]=Rl(0,c[y>>2]|0,c[k>>2]|0,c[q>>2]|0)|0;if((c[p>>2]|0)==0?(c[p>>2]=Rl(r,0,c[l>>2]|0,c[s>>2]|0)|0,(c[p>>2]|0)==0):0){if((c[s>>2]|0)>>>0<((c[q>>2]|0)+(c[o>>2]|0)+2|0)>>>0){c[p>>2]=66;break}if((d[(c[r>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=188){c[p>>2]=8;break}c[u>>2]=(c[r>>2]|0)+(c[s>>2]|0)+-1+(0-(c[q>>2]|0));if(d[c[r>>2]>>0]&~(255>>(c[s>>2]<<3)-(c[m>>2]|0))|0){c[p>>2]=8;break}Pl(c[x>>2]|0,(c[s>>2]|0)-(c[q>>2]|0)-1|0,c[u>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[A>>2]=0;c[z>>2]=c[x>>2];while(1){if((c[A>>2]|0)>>>0>=((c[s>>2]|0)-(c[q>>2]|0)-1|0)>>>0)break;h=(c[r>>2]|0)+(c[A>>2]|0)|0;a[h>>0]=d[h>>0]^d[c[z>>2]>>0];c[A>>2]=(c[A>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+1}h=c[r>>2]|0;a[h>>0]=d[h>>0]&255>>(c[s>>2]<<3)-(c[m>>2]|0);c[A>>2]=0;while(1){if((c[A>>2]|0)>>>0>=((c[s>>2]|0)-(c[q>>2]|0)-(c[o>>2]|0)-2|0)>>>0)break;if(!((a[(c[r>>2]|0)+(c[A>>2]|0)>>0]|0)!=0^1))break;c[A>>2]=(c[A>>2]|0)+1}if((c[A>>2]|0)==((c[s>>2]|0)-(c[q>>2]|0)-(c[o>>2]|0)-2|0)?(h=c[A>>2]|0,c[A>>2]=h+1,(d[(c[r>>2]|0)+h>>0]|0)==1):0){c[t>>2]=(c[r>>2]|0)+(c[A>>2]|0);h=c[v>>2]|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[h+4>>0]=0;a[h+5>>0]=0;a[h+6>>0]=0;a[h+7>>0]=0;Dx((c[v>>2]|0)+8|0,c[y>>2]|0,c[q>>2]|0)|0;Dx((c[v>>2]|0)+8+(c[q>>2]|0)|0,c[t>>2]|0,c[o>>2]|0)|0;Nj(c[n>>2]|0,c[v>>2]|0,c[v>>2]|0,8+(c[q>>2]|0)+(c[o>>2]|0)|0);h=(mw(c[u>>2]|0,c[v>>2]|0,c[q>>2]|0)|0)!=0;c[p>>2]=h?8:0;break}c[p>>2]=8}}else c[p>>2]=iu()|0;while(0);if(c[r>>2]|0){c[B>>2]=c[r>>2];c[D>>2]=c[s>>2];a[E>>0]=0;s=F;c[s>>2]=d[E>>0];c[s+4>>2]=0;while(1){if(!(c[B>>2]&7|0?(c[D>>2]|0)!=0:0))break;a[c[B>>2]>>0]=a[E>>0]|0;c[B>>2]=(c[B>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+-1}if((c[D>>2]|0)>>>0>=8){s=F;q=Mx(c[s>>2]|0,c[s+4>>2]|0,16843009,16843009)|0;s=F;c[s>>2]=q;c[s+4>>2]=C;do{c[G>>2]=c[B>>2];s=F;q=c[s+4>>2]|0;u=c[G>>2]|0;c[u>>2]=c[s>>2];c[u+4>>2]=q;c[D>>2]=(c[D>>2]|0)-8;c[B>>2]=(c[B>>2]|0)+8}while((c[D>>2]|0)>>>0>=8)}while(1){if(!(c[D>>2]|0))break;a[c[B>>2]>>0]=a[E>>0]|0;c[B>>2]=(c[B>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+-1}$f(c[r>>2]|0)}if(!(c[v>>2]|0)){M=c[p>>2]|0;i=j;return M|0}c[H>>2]=c[v>>2];c[I>>2]=c[w>>2];a[J>>0]=0;w=K;c[w>>2]=d[J>>0];c[w+4>>2]=0;while(1){if(!(c[H>>2]&7|0?(c[I>>2]|0)!=0:0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}if((c[I>>2]|0)>>>0>=8){w=K;r=Mx(c[w>>2]|0,c[w+4>>2]|0,16843009,16843009)|0;w=K;c[w>>2]=r;c[w+4>>2]=C;do{c[L>>2]=c[H>>2];w=K;r=c[w+4>>2]|0;D=c[L>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=r;c[I>>2]=(c[I>>2]|0)-8;c[H>>2]=(c[H>>2]|0)+8}while((c[I>>2]|0)>>>0>=8)}while(1){if(!(c[I>>2]|0))break;a[c[H>>2]>>0]=a[J>>0]|0;c[H>>2]=(c[H>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+-1}$f(c[v>>2]|0);M=c[p>>2]|0;i=j;return M|0}function Ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=i;i=i+112|0;e=d;f=d+100|0;g=d+96|0;h=d+92|0;j=d+88|0;k=d+84|0;l=d+80|0;m=d+56|0;n=d+52|0;o=d+48|0;p=d+44|0;q=d+40|0;r=d+36|0;c[g>>2]=a;c[h>>2]=b;c[o>>2]=0;c[q>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j>>2]=kk(c[g>>2]|0,k)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}c[j>>2]=lk(c[g>>2]|0,l)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}c[p>>2]=xg(c[g>>2]|0,47167,0)|0;if(c[p>>2]|0?(c[j>>2]=jk(c[p>>2]|0,o,0)|0,vg(c[p>>2]|0),c[j>>2]|0):0){c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}if(c[g>>2]|0)t=xg(c[g>>2]|0,39376,0)|0;else t=0;c[n>>2]=t;if((c[n>>2]|0)==0?(c[p>>2]=xg(c[g>>2]|0,39389,0)|0,c[p>>2]|0):0){c[o>>2]=c[o>>2]|64;vg(c[p>>2]|0)}if((!(c[n>>2]|0)?!(c[o>>2]&64|0):0)?!(Ah()|0):0){if((c[o>>2]&32|0)==0?(c[p>>2]=xg(c[g>>2]|0,47173,0)|0,c[p>>2]|0):0){c[o>>2]=c[o>>2]|32;vg(c[p>>2]|0)}c[j>>2]=$l(m,c[k>>2]|0,c[l>>2]|0,((c[o>>2]&32|0)!=0^1^1)&1)|0}else u=16;if((u|0)==16?(c[j>>2]=Vl(m,c[k>>2]|0,c[l>>2]|0,c[n>>2]|0,r)|0,vg(c[n>>2]|0),(c[j>>2]|0)==0&(c[r>>2]|0)!=0):0)c[j>>2]=wg(q,39657,0,1)|0;if(!(c[j>>2]|0)){r=c[h>>2]|0;h=c[m+4>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;k=c[m+8>>2]|0;u=c[m+12>>2]|0;o=c[m+16>>2]|0;p=c[m+20>>2]|0;g=c[q>>2]|0;c[e>>2]=c[m>>2];c[e+4>>2]=h;c[e+8>>2]=n;c[e+12>>2]=l;c[e+16>>2]=k;c[e+20>>2]=u;c[e+24>>2]=o;c[e+28>>2]=p;c[e+32>>2]=g;c[j>>2]=Ig(r,0,39753,e)|0}hq(c[m>>2]|0);hq(c[m+4>>2]|0);hq(c[m+12>>2]|0);hq(c[m+16>>2]|0);hq(c[m+8>>2]|0);hq(c[m+20>>2]|0);vg(c[q>>2]|0);c[f>>2]=c[j>>2];s=c[f>>2]|0;i=d;return s|0}function Vl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;g=i;i=i+176|0;h=g;j=g+164|0;k=g+160|0;l=g+156|0;m=g+152|0;n=g+148|0;o=g+144|0;p=g+140|0;q=g+136|0;r=g+132|0;s=g+128|0;t=g+124|0;u=g+120|0;v=g+116|0;w=g+112|0;x=g+108|0;y=g+104|0;z=g+100|0;A=g+96|0;B=g+92|0;C=g+88|0;D=g+84|0;E=g+80|0;F=g+76|0;G=g+72|0;H=g+16|0;I=g+8|0;J=g+4|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[c[o>>2]>>2]=0;if((c[m>>2]|0)==1)c[m>>2]=65537;if((c[l>>2]|0)>>>0>=1024?(((c[l>>2]|0)>>>0)%256|0|0)==0:0){if((c[m>>2]|0)>>>0<3){c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}if(!(c[m>>2]&1)){c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}c[A>>2]=0;c[B>>2]=0;c[C>>2]=0;c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;if(c[n>>2]|0){f=H;e=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));c[H>>2]=39508;c[H+8>>2]=39512;c[H+16>>2]=39516;c[H+24>>2]=39519;c[H+32>>2]=39523;c[H+40>>2]=39527;c[H+4>>2]=A;c[H+8+4>>2]=B;c[H+16+4>>2]=C;c[H+24+4>>2]=D;c[H+32+4>>2]=E;c[H+40+4>>2]=F;c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;c[J>>2]=xg(c[n>>2]|0,c[H+(c[I>>2]<<3)>>2]|0,0)|0;if(c[J>>2]|0){f=Fg(c[J>>2]|0,1,5)|0;c[c[H+(c[I>>2]<<3)+4>>2]>>2]=f;vg(c[J>>2]|0)}c[I>>2]=(c[I>>2]|0)+1}c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;if(!(c[c[H+(c[I>>2]<<3)+4>>2]>>2]|0))break;c[I>>2]=(c[I>>2]|0)+1}if(c[H+(c[I>>2]<<3)>>2]|0){c[I>>2]=0;while(1){if(!(c[H+(c[I>>2]<<3)>>2]|0))break;xq(c[c[H+(c[I>>2]<<3)+4>>2]>>2]|0);c[I>>2]=(c[I>>2]|0)+1}c[j>>2]=128;K=c[j>>2]|0;i=g;return K|0}}else{c[C>>2]=Wl(((c[l>>2]|0)>>>0)/2|0)|0;c[G>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;do{xq(c[F>>2]|0);c[F>>2]=Wl(((c[l>>2]|0)>>>0)/2|0)|0;No(c[G>>2]|0,c[C>>2]|0,c[F>>2]|0);I=Ro(c[G>>2]|0)|0}while(I>>>0<=((((c[l>>2]|0)>>>0)/2|0)-100|0)>>>0);xq(c[G>>2]|0);c[A>>2]=Xl()|0;c[B>>2]=Xl()|0;c[D>>2]=Xl()|0;c[E>>2]=Xl()|0}c[r>>2]=_p(c[m>>2]|0)|0;c[p>>2]=hk(c[C>>2]|0,c[A>>2]|0,c[B>>2]|0,c[r>>2]|0,0,0)|0;c[q>>2]=hk(c[F>>2]|0,c[D>>2]|0,c[E>>2]|0,c[r>>2]|0,0,0)|0;xq(c[C>>2]|0);c[C>>2]=0;xq(c[A>>2]|0);c[A>>2]=0;xq(c[B>>2]|0);c[B>>2]=0;xq(c[F>>2]|0);c[F>>2]=0;xq(c[D>>2]|0);c[D>>2]=0;xq(c[E>>2]|0);c[E>>2]=0;E=c[p>>2]|0;if(!((c[p>>2]|0)!=0&(c[q>>2]|0)!=0)){xq(E);xq(c[q>>2]|0);xq(c[r>>2]|0);c[j>>2]=21;K=c[j>>2]|0;i=g;return K|0}if((ap(E,c[q>>2]|0)|0)>0){tq(c[p>>2]|0,c[q>>2]|0);c[c[o>>2]>>2]=1}c[s>>2]=vq(c[l>>2]|0)|0;up(c[s>>2]|0,c[p>>2]|0,c[q>>2]|0);c[v>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;c[w>>2]=wq(((c[l>>2]|0)>>>0)/2|0)|0;c[x>>2]=wq(c[l>>2]|0)|0;Mo(c[v>>2]|0,c[p>>2]|0,1);Mo(c[w>>2]|0,c[q>>2]|0,1);up(c[x>>2]|0,c[v>>2]|0,c[w>>2]|0);c[z>>2]=wq(c[l>>2]|0)|0;if(!(jp(c[z>>2]|0,c[r>>2]|0,c[x>>2]|0)|0))xf(39530,39434,541,39564);jp(c[z>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;c[y>>2]=c[v>>2];c[v>>2]=0;xq(c[w>>2]|0);c[w>>2]=0;fp(c[y>>2]|0,c[x>>2]|0,c[z>>2]|0);xq(c[x>>2]|0);c[x>>2]=0;c[t>>2]=c[z>>2];c[z>>2]=0;pp(c[t>>2]|0,c[r>>2]|0,c[y>>2]|0)|0;c[u>>2]=c[y>>2];c[y>>2]=0;pp(c[u>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(jg(1)|0){if(c[c[o>>2]>>2]|0)Df(39578,h);Hf(45630,c[p>>2]|0);Hf(39599,c[q>>2]|0);Hf(39603,c[s>>2]|0);Hf(39607,c[r>>2]|0);Hf(39611,c[t>>2]|0);Hf(39615,c[u>>2]|0)}c[c[k>>2]>>2]=c[s>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=c[p>>2];c[(c[k>>2]|0)+16>>2]=c[q>>2];c[(c[k>>2]|0)+8>>2]=c[t>>2];c[(c[k>>2]|0)+20>>2]=c[u>>2];if(Yl(c[k>>2]|0,(c[l>>2]|0)-64|0)|0){xq(c[c[k>>2]>>2]|0);c[c[k>>2]>>2]=0;xq(c[(c[k>>2]|0)+4>>2]|0);c[(c[k>>2]|0)+4>>2]=0;xq(c[(c[k>>2]|0)+12>>2]|0);c[(c[k>>2]|0)+12>>2]=0;xq(c[(c[k>>2]|0)+16>>2]|0);c[(c[k>>2]|0)+16>>2]=0;xq(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;xq(c[(c[k>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+20>>2]=0;Jh(39434,586,39564,0,39619);c[j>>2]=50;K=c[j>>2]|0;i=g;return K|0}else{c[j>>2]=0;K=c[j>>2]|0;i=g;return K|0}}c[j>>2]=55;K=c[j>>2]|0;i=g;return K|0}function Wl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=wq(c[d>>2]|0)|0;yq(c[e>>2]|0,c[d>>2]|0,2);Uo(c[e>>2]|0,(c[d>>2]|0)-1|0);To(c[e>>2]|0,(c[d>>2]|0)-2|0);a=Ro(c[e>>2]|0)|0;if((a|0)==(c[d>>2]|0)){i=b;return c[e>>2]|0}else xf(39398,39434,360,39440);return 0}function Xl(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=wq(101)|0;yq(c[b>>2]|0,101,2);Uo(c[b>>2]|0,100);if((Ro(c[b>>2]|0)|0)==101){i=a;return c[b>>2]|0}else xf(39457,39434,375,39491);return 0}function Yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;i=i+48|0;e=d+32|0;f=d+28|0;g=d+24|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=-1;c[j>>2]=vq(c[f>>2]|0)|0;c[k>>2]=vq(c[f>>2]|0)|0;c[l>>2]=vq(c[f>>2]|0)|0;c[m>>2]=vq(c[f>>2]|0)|0;c[h>>2]=c[c[e>>2]>>2];c[h+4>>2]=c[(c[e>>2]|0)+4>>2];yq(c[j>>2]|0,c[f>>2]|0,0);Zl(c[k>>2]|0,c[j>>2]|0,h);if(((ap(c[k>>2]|0,c[j>>2]|0)|0?(_l(c[l>>2]|0,c[k>>2]|0,c[e>>2]|0),(ap(c[l>>2]|0,c[j>>2]|0)|0)==0):0)?(yq(c[j>>2]|0,c[f>>2]|0,0),_l(c[m>>2]|0,c[j>>2]|0,c[e>>2]|0),Zl(c[l>>2]|0,c[m>>2]|0,h),(ap(c[l>>2]|0,c[j>>2]|0)|0)==0):0)?(Ko(c[m>>2]|0,c[m>>2]|0,1),Zl(c[l>>2]|0,c[m>>2]|0,h),ap(c[l>>2]|0,c[j>>2]|0)|0):0)c[g>>2]=0;xq(c[m>>2]|0);xq(c[l>>2]|0);xq(c[k>>2]|0);xq(c[j>>2]|0);i=d;return c[g>>2]|0}function Zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==(c[g>>2]|0)){c[j>>2]=$p(c[(c[g>>2]|0)+4>>2]<<1)|0;wp(c[j>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);oq(c[f>>2]|0,c[j>>2]|0)|0;hq(c[j>>2]|0);i=e;return}else{wp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[c[h>>2]>>2]|0);i=e;return}}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;f=e+20|0;g=e+16|0;h=e+12|0;j=e+8|0;k=e+4|0;l=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;Qo(c[g>>2]|0);if((c[(c[h>>2]|0)+12>>2]|0?c[(c[h>>2]|0)+16>>2]|0:0)?c[(c[h>>2]|0)+20>>2]|0:0){c[j>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[k>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;c[l>>2]=bq((c[(c[c[h>>2]>>2]|0)+4>>2]|0)+1|0)|0;Mo(c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0,1);bp(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);wp(c[j>>2]|0,c[g>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Mo(c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0,1);bp(c[l>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0);wp(c[k>>2]|0,c[g>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);No(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0);if(c[(c[l>>2]|0)+8>>2]|0)Lo(c[l>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);vp(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+16>>2]|0);up(c[l>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Lo(c[f>>2]|0,c[j>>2]|0,c[l>>2]|0);hq(c[l>>2]|0);hq(c[j>>2]|0);hq(c[k>>2]|0);i=e;return}wp(c[f>>2]|0,c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0,c[c[h>>2]>>2]|0);i=e;return}function $l(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+80|0;g=f+64|0;h=f+60|0;j=f+56|0;k=f+52|0;l=f+48|0;m=f+44|0;n=f+40|0;o=f+36|0;p=f+32|0;q=f+28|0;r=f+24|0;s=f+20|0;t=f+16|0;u=f+12|0;v=f+8|0;w=f+4|0;x=f;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;if(Ah()|0){if((c[j>>2]|0)>>>0<1024){c[g>>2]=55;y=c[g>>2]|0;i=f;return y|0}if(c[l>>2]|0){c[g>>2]=55;y=c[g>>2]|0;i=f;return y|0}}c[x>>2]=c[l>>2]|0?1:2;if(c[j>>2]&1|0)c[j>>2]=(c[j>>2]|0)+1;if((c[k>>2]|0)==1)c[k>>2]=65537;c[t>>2]=$p(1)|0;if(c[k>>2]|0){c[k>>2]=c[k>>2]|1;sq(c[t>>2]|0,c[k>>2]|0)|0}else sq(c[t>>2]|0,41)|0;c[s>>2]=vq(c[j>>2]|0)|0;c[n>>2]=0;c[m>>2]=0;do{if(c[m>>2]|0)xq(c[m>>2]|0);if(c[n>>2]|0)xq(c[n>>2]|0);l=((c[j>>2]|0)>>>0)/2|0;e=c[x>>2]|0;if(c[k>>2]|0){c[m>>2]=ck(l,e,6,c[t>>2]|0)|0;c[n>>2]=ck(((c[j>>2]|0)>>>0)/2|0,c[x>>2]|0,6,c[t>>2]|0)|0}else{c[m>>2]=ck(l,e,0,0)|0;c[n>>2]=ck(((c[j>>2]|0)>>>0)/2|0,c[x>>2]|0,0,0)|0}if((ap(c[m>>2]|0,c[n>>2]|0)|0)>0)tq(c[m>>2]|0,c[n>>2]|0);up(c[s>>2]|0,c[m>>2]|0,c[n>>2]|0);e=Ro(c[s>>2]|0)|0}while((e|0)!=(c[j>>2]|0));c[q>>2]=bq(c[(c[m>>2]|0)+4>>2]|0)|0;c[r>>2]=bq(c[(c[m>>2]|0)+4>>2]|0)|0;c[u>>2]=wq(c[j>>2]|0)|0;c[v>>2]=wq(c[j>>2]|0)|0;c[w>>2]=wq(c[j>>2]|0)|0;Mo(c[q>>2]|0,c[m>>2]|0,1);Mo(c[r>>2]|0,c[n>>2]|0,1);up(c[u>>2]|0,c[q>>2]|0,c[r>>2]|0);jp(c[v>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;fp(c[w>>2]|0,c[u>>2]|0,c[v>>2]|0);while(1){if(!((jp(c[q>>2]|0,c[t>>2]|0,c[u>>2]|0)|0)!=0^1))break;if(c[k>>2]|0){z=27;break}Ko(c[t>>2]|0,c[t>>2]|0,2)}if((z|0)==27)wf(39434,287,39686);c[o>>2]=wq(c[j>>2]|0)|0;pp(c[o>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;c[p>>2]=wq(c[j>>2]|0)|0;pp(c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(jg(1)|0){Hf(39699,c[m>>2]|0);Hf(39705,c[n>>2]|0);Hf(39711,c[u>>2]|0);Hf(39717,c[v>>2]|0);Hf(39723,c[w>>2]|0);Hf(39729,c[s>>2]|0);Hf(39735,c[t>>2]|0);Hf(39741,c[o>>2]|0);Hf(39747,c[p>>2]|0)}xq(c[q>>2]|0);xq(c[r>>2]|0);xq(c[u>>2]|0);xq(c[w>>2]|0);xq(c[v>>2]|0);c[c[h>>2]>>2]=c[s>>2];c[(c[h>>2]|0)+4>>2]=c[t>>2];c[(c[h>>2]|0)+12>>2]=c[m>>2];c[(c[h>>2]|0)+16>>2]=c[n>>2];c[(c[h>>2]|0)+8>>2]=c[o>>2];c[(c[h>>2]|0)+20>>2]=c[p>>2];if(Yl(c[h>>2]|0,(c[j>>2]|0)-64|0)|0){xq(c[c[h>>2]>>2]|0);c[c[h>>2]>>2]=0;xq(c[(c[h>>2]|0)+4>>2]|0);c[(c[h>>2]|0)+4>>2]=0;xq(c[(c[h>>2]|0)+12>>2]|0);c[(c[h>>2]|0)+12>>2]=0;xq(c[(c[h>>2]|0)+16>>2]|0);c[(c[h>>2]|0)+16>>2]=0;xq(c[(c[h>>2]|0)+8>>2]|0);c[(c[h>>2]|0)+8>>2]=0;xq(c[(c[h>>2]|0)+20>>2]|0);c[(c[h>>2]|0)+20>>2]=0;Jh(39434,334,39686,0,39619);c[g>>2]=50;y=c[g>>2]|0;i=f;return y|0}else{c[g>>2]=0;y=c[g>>2]|0;i=f;return y|0}return 0}function am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];Mo(c[f>>2]|0,c[f>>2]|0,1);c[h>>2]=pq(c[f>>2]|0)|0;c[j>>2]=((jp(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0)!=0^1)&1;xq(c[h>>2]|0);Ko(c[f>>2]|0,c[f>>2]|0,1);i=d;return c[j>>2]|0}function bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+80|0;d=b+32|0;e=b;f=b+68|0;g=b+64|0;h=b+40|0;c[f>>2]=a;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a=c[f>>2]|0;c[e>>2]=h;c[e+4>>2]=h+4;c[e+8>>2]=h+8;c[e+12>>2]=h+12;c[e+16>>2]=h+16;c[e+20>>2]=h+20;c[e+24>>2]=0;c[g>>2]=Rg(a,0,39363,e)|0;if((c[g>>2]|0)==0?(cm(h)|0)==0:0)c[g>>2]=7;xq(c[h>>2]|0);xq(c[h+4>>2]|0);xq(c[h+8>>2]|0);xq(c[h+12>>2]|0);xq(c[h+16>>2]|0);xq(c[h+20>>2]|0);if(!(jg(1)|0)){j=c[g>>2]|0;i=b;return j|0}c[d>>2]=fu(c[g>>2]|0)|0;Df(39848,d);j=c[g>>2]|0;i=b;return j|0}function cm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[f>>2]=$p(c[(c[(c[d>>2]|0)+12>>2]|0)+4>>2]<<1)|0;up(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0,c[(c[d>>2]|0)+16>>2]|0);c[e>>2]=ap(c[f>>2]|0,c[c[d>>2]>>2]|0)|0;hq(c[f>>2]|0);i=b;return ((c[e>>2]|0)!=0^1)&1|0}function dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+128|0;f=e+32|0;g=e+24|0;h=e+16|0;j=e;k=e+116|0;l=e+112|0;m=e+108|0;n=e+104|0;o=e+64|0;p=e+56|0;q=e+48|0;r=e+44|0;s=e+40|0;t=e+36|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[r>>2]=0;pk(o,0,em(c[m>>2]|0)|0);c[n>>2]=rk(c[l>>2]|0,p,o)|0;do if(!(c[n>>2]|0)){if(jg(1)|0)Hf(39870,c[p>>2]|0);if(c[p>>2]|0?c[(c[p>>2]|0)+12>>2]&4|0:0){c[n>>2]=79;break}l=c[m>>2]|0;c[j>>2]=q;c[j+4>>2]=q+4;c[j+8>>2]=0;c[n>>2]=Rg(l,0,39360,j)|0;if(!(c[n>>2]|0)){if(jg(1)|0){Hf(39887,c[q>>2]|0);Hf(39904,c[q+4>>2]|0)}c[r>>2]=vq(0)|0;Zl(c[r>>2]|0,c[p>>2]|0,q);if(jg(1)|0)Hf(39921,c[r>>2]|0);if(!(c[o+12>>2]&4)){l=c[k>>2]|0;c[g>>2]=c[r>>2];c[n>>2]=Ig(l,0,39958,g)|0;break}c[t>>2]=(((Ro(c[q>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=Jp(s,0,c[r>>2]|0,c[t>>2]|0)|0;if(!(c[n>>2]|0)){l=c[k>>2]|0;d=c[s>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=d;c[n>>2]=Ig(l,0,39938,h)|0;$f(c[s>>2]|0)}}}while(0);xq(c[r>>2]|0);xq(c[q>>2]|0);xq(c[q+4>>2]|0);xq(c[p>>2]|0);qk(o);if(!(jg(1)|0)){u=c[n>>2]|0;i=e;return u|0}c[f>>2]=fu(c[n>>2]|0)|0;Df(39978,f);u=c[n>>2]|0;i=e;return u|0}function em(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+16|0;e=b+12|0;f=b+8|0;g=b+4|0;h=b;c[e>>2]=a;c[f>>2]=xg(c[e>>2]|0,39374,1)|0;if(!(c[f>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=b;return j|0}c[g>>2]=Fg(c[f>>2]|0,1,5)|0;vg(c[f>>2]|0);if(c[g>>2]|0)k=Ro(c[g>>2]|0)|0;else k=0;c[h>>2]=k;xq(c[g>>2]|0);c[d>>2]=c[h>>2];j=c[d>>2]|0;i=b;return j|0}function fm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;i=i+192|0;f=e+64|0;g=e+56|0;h=e+48|0;j=e+40|0;k=e+8|0;l=e;m=e+180|0;n=e+176|0;o=e+172|0;p=e+168|0;q=e+128|0;r=e+124|0;s=e+120|0;t=e+96|0;u=e+88|0;v=e+84|0;w=e+80|0;x=e+76|0;y=e+72|0;z=e+68|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;pk(q,1,em(c[o>>2]|0)|0);c[p>>2]=nk(c[n>>2]|0,7708,r,q)|0;a:do if((c[p>>2]|0)==0?(n=c[r>>2]|0,c[l>>2]=s,c[l+4>>2]=0,c[p>>2]=Rg(n,0,39370,l)|0,(c[p>>2]|0)==0):0){if(jg(1)|0)Hf(4e4,c[s>>2]|0);if(c[s>>2]|0?c[(c[s>>2]|0)+12>>2]&4|0:0){c[p>>2]=79;break}n=c[o>>2]|0;c[k>>2]=t;c[k+4>>2]=t+4;c[k+8>>2]=t+8;c[k+12>>2]=t+12;c[k+16>>2]=t+16;c[k+20>>2]=t+20;c[k+24>>2]=0;c[p>>2]=Rg(n,0,40017,k)|0;if(!(c[p>>2]|0)){if(jg(1)|0?(Hf(40027,c[t>>2]|0),Hf(40044,c[t+4>>2]|0),(Ah()|0)==0):0){Hf(40061,c[t+8>>2]|0);Hf(40078,c[t+12>>2]|0);Hf(40095,c[t+16>>2]|0);Hf(40112,c[t+20>>2]|0)}Qo(c[s>>2]|0);bp(c[s>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=wq(c[q+4>>2]|0)|0;if(c[q+12>>2]&1|0)_l(c[u>>2]|0,c[s>>2]|0,t);else{c[v>>2]=wq(c[q+4>>2]|0)|0;c[w>>2]=wq(c[q+4>>2]|0)|0;c[x>>2]=wq(c[q+4>>2]|0)|0;do{yq(c[v>>2]|0,c[q+4>>2]|0,0);qp(c[v>>2]|0,c[v>>2]|0,c[t>>2]|0)}while((pp(c[w>>2]|0,c[v>>2]|0,c[t>>2]|0)|0)!=0^1);wp(c[x>>2]|0,c[v>>2]|0,c[t+4>>2]|0,c[t>>2]|0);vp(c[x>>2]|0,c[x>>2]|0,c[s>>2]|0,c[t>>2]|0);_l(c[u>>2]|0,c[x>>2]|0,t);xq(c[x>>2]|0);c[x>>2]=0;vp(c[u>>2]|0,c[u>>2]|0,c[w>>2]|0,c[t>>2]|0);xq(c[v>>2]|0);c[v>>2]=0;xq(c[w>>2]|0);c[w>>2]=0}if(jg(1)|0)Hf(40129,c[u>>2]|0);switch(c[q+8>>2]|0){case 1:{c[p>>2]=Jl(y,z,c[q+4>>2]|0,c[u>>2]|0)|0;hq(c[u>>2]|0);c[u>>2]=0;if(c[p>>2]|0)break a;n=c[m>>2]|0;d=c[y>>2]|0;c[j>>2]=c[z>>2];c[j+4>>2]=d;c[p>>2]=Ig(n,0,40146,j)|0;break a;break}case 3:{c[p>>2]=Ql(y,z,c[q+4>>2]|0,c[q+16>>2]|0,c[u>>2]|0,c[q+20>>2]|0,c[q+24>>2]|0)|0;hq(c[u>>2]|0);c[u>>2]=0;if(c[p>>2]|0)break a;n=c[m>>2]|0;d=c[y>>2]|0;c[h>>2]=c[z>>2];c[h+4>>2]=d;c[p>>2]=Ig(n,0,40146,h)|0;break a;break}default:{n=c[m>>2]|0;d=c[q+12>>2]&8|0?40157:49242;c[g>>2]=c[u>>2];c[p>>2]=Ig(n,0,d,g)|0;break a}}}}while(0);$f(c[y>>2]|0);xq(c[u>>2]|0);xq(c[t>>2]|0);xq(c[t+4>>2]|0);xq(c[t+8>>2]|0);xq(c[t+12>>2]|0);xq(c[t+16>>2]|0);xq(c[t+20>>2]|0);xq(c[s>>2]|0);xq(c[v>>2]|0);xq(c[w>>2]|0);xq(c[x>>2]|0);vg(c[r>>2]|0);qk(q);if(!(jg(1)|0)){A=c[p>>2]|0;i=e;return A|0}c[f>>2]=fu(c[p>>2]|0)|0;Df(40160,f);A=c[p>>2]|0;i=e;return A|0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+160|0;f=e+48|0;g=e+40|0;h=e+32|0;j=e;k=e+148|0;l=e+144|0;m=e+140|0;n=e+136|0;o=e+96|0;p=e+88|0;q=e+64|0;r=e+60|0;s=e+56|0;t=e+52|0;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[p>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[r>>2]=0;pk(o,2,em(c[m>>2]|0)|0);c[n>>2]=rk(c[l>>2]|0,p,o)|0;do if(!(c[n>>2]|0)){if(jg(1)|0)Hf(40182,c[p>>2]|0);if(c[p>>2]|0?c[(c[p>>2]|0)+12>>2]&4|0:0){c[n>>2]=79;break}l=c[m>>2]|0;c[j>>2]=q;c[j+4>>2]=q+4;c[j+8>>2]=q+8;c[j+12>>2]=q+12;c[j+16>>2]=q+16;c[j+20>>2]=q+20;c[j+24>>2]=0;c[n>>2]=Rg(l,0,40017,j)|0;if(!(c[n>>2]|0)){if(jg(1)|0?(Hf(40198,c[q>>2]|0),Hf(40214,c[q+4>>2]|0),(Ah()|0)==0):0){Hf(40230,c[q+8>>2]|0);Hf(40246,c[q+12>>2]|0);Hf(40262,c[q+16>>2]|0);Hf(40278,c[q+20>>2]|0)}c[r>>2]=vq(0)|0;_l(c[r>>2]|0,c[p>>2]|0,q);if(jg(1)|0)Hf(40294,c[r>>2]|0);if(!(c[o+12>>2]&4)){l=c[k>>2]|0;c[g>>2]=c[r>>2];c[n>>2]=Ig(l,0,40330,g)|0;break}c[t>>2]=(((Ro(c[q>>2]|0)|0)+7|0)>>>0)/8|0;c[n>>2]=Jp(s,0,c[r>>2]|0,c[t>>2]|0)|0;if(!(c[n>>2]|0)){l=c[k>>2]|0;d=c[s>>2]|0;c[h>>2]=c[t>>2];c[h+4>>2]=d;c[n>>2]=Ig(l,0,40310,h)|0;$f(c[s>>2]|0)}}}while(0);xq(c[r>>2]|0);xq(c[q>>2]|0);xq(c[q+4>>2]|0);xq(c[q+8>>2]|0);xq(c[q+12>>2]|0);xq(c[q+16>>2]|0);xq(c[q+20>>2]|0);xq(c[p>>2]|0);qk(o);if(!(jg(1)|0)){u=c[n>>2]|0;i=e;return u|0}c[f>>2]=fu(c[n>>2]|0)|0;Df(40350,f);u=c[n>>2]|0;i=e;return u|0}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;i=i+112|0;f=e+24|0;g=e+8|0;h=e;j=e+108|0;k=e+104|0;l=e+100|0;m=e+96|0;n=e+56|0;o=e+48|0;p=e+44|0;q=e+40|0;r=e+32|0;s=e+28|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[s>>2]=0;pk(n,3,em(c[l>>2]|0)|0);c[m>>2]=rk(c[k>>2]|0,q,n)|0;do if(!(c[m>>2]|0)){if(jg(1)|0)Hf(40371,c[q>>2]|0);if(c[q>>2]|0?c[(c[q>>2]|0)+12>>2]&4|0:0){c[m>>2]=79;break}c[m>>2]=mk(c[j>>2]|0,7708,o,0)|0;if((c[m>>2]|0)==0?(k=c[o>>2]|0,c[h>>2]=p,c[h+4>>2]=0,c[m>>2]=Rg(k,0,39372,h)|0,(c[m>>2]|0)==0):0){if(jg(1)|0)Hf(40387,c[p>>2]|0);k=c[l>>2]|0;c[g>>2]=r;c[g+4>>2]=r+4;c[g+8>>2]=0;c[m>>2]=Rg(k,0,39360,g)|0;if(!(c[m>>2]|0)){if(jg(1)|0){Hf(40403,c[r>>2]|0);Hf(40419,c[r+4>>2]|0)}c[s>>2]=vq(0)|0;Zl(c[s>>2]|0,c[p>>2]|0,r);if(jg(1)|0)Hf(40435,c[s>>2]|0);if(c[n+32>>2]|0){c[m>>2]=Eb[c[n+32>>2]&7](n,c[s>>2]|0)|0;break}else{k=(ap(c[s>>2]|0,c[q>>2]|0)|0)!=0;c[m>>2]=k?8:0;break}}}}while(0);xq(c[s>>2]|0);xq(c[r>>2]|0);xq(c[r+4>>2]|0);xq(c[q>>2]|0);xq(c[p>>2]|0);vg(c[o>>2]|0);qk(n);if(!(jg(1)|0)){t=c[m>>2]|0;i=e;return t|0}if(c[m>>2]|0)u=fu(c[m>>2]|0)|0;else u=49800;c[f>>2]=u;Df(40451,f);t=c[m>>2]|0;i=e;return t|0}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+4|0;h=e;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1){c[h>>2]=jm(c[g>>2]|0)|0;j=c[h>>2]|0;i=e;return j|0}else{c[h>>2]=4;j=c[h>>2]|0;i=e;return j|0}return 0}function jm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+32|0;d=b+24|0;e=b+20|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;c[e>>2]=a;c[j>>2]=0;c[k>>2]=0;c[f>>2]=40472;c[h>>2]=Kg(j,0,40480,Kv(40480)|0)|0;if(!(c[h>>2]|0))c[h>>2]=Kg(k,0,41510,Kv(41510)|0)|0;do if(!(c[h>>2]|0)){c[f>>2]=41827;c[h>>2]=Ck(c[j>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=km(c[h>>2]|0)|0;break}c[f>>2]=41843;c[g>>2]=lm(c[k>>2]|0,c[j>>2]|0)|0;if((c[g>>2]|0)==0?(c[f>>2]=42079,c[g>>2]=om(c[k>>2]|0,c[j>>2]|0)|0,(c[g>>2]|0)==0):0){vg(c[k>>2]|0);vg(c[j>>2]|0);c[d>>2]=0;l=c[d>>2]|0;i=b;return l|0}}else c[g>>2]=km(c[h>>2]|0)|0;while(0);vg(c[k>>2]|0);vg(c[j>>2]|0);if(c[e>>2]|0)Fb[c[e>>2]&1](49836,1,c[f>>2]|0,c[g>>2]|0);c[d>>2]=50;l=c[d>>2]|0;i=b;return l|0}function km(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fu(c[d>>2]|0)|0;i=b;return a|0}function lm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+24|0;f=d+20|0;g=d+16|0;h=d+12|0;j=d+8|0;k=d+4|0;l=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;c[h>>2]=Kg(j,0,41848,Kv(41848)|0)|0;if(!(c[h>>2]|0))c[h>>2]=Kg(k,0,41924,Kv(41924)|0)|0;do if(!(c[h>>2]|0)){c[h>>2]=Ak(l,c[j>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=42023;break}c[h>>2]=Bk(c[l>>2]|0,c[j>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){c[g>>2]=42038;break}c[h>>2]=Bk(c[l>>2]|0,c[k>>2]|0,c[e>>2]|0)|0;if((mm(c[h>>2]|0)|0)!=8)c[g>>2]=42052}else c[g>>2]=42e3;while(0);vg(c[l>>2]|0);vg(c[k>>2]|0);vg(c[j>>2]|0);i=d;return c[g>>2]|0}function mm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nm(c[d>>2]|0)|0;i=b;return a|0}function nm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;i=b;return c[d>>2]&65535|0}
-function om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;i=i+64|0;e=d;f=d+48|0;g=d+44|0;h=d+40|0;j=d+36|0;k=d+28|0;l=d+24|0;m=d+20|0;n=d+16|0;o=d+12|0;p=d+8|0;q=d+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;c[d+32>>2]=1e3;c[k>>2]=0;c[l>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[k>>2]=vq(1e3)|0;yq(c[k>>2]|0,1e3,0);c[e>>2]=c[k>>2];c[j>>2]=Ig(l,0,42087,e)|0;do if(!(c[j>>2]|0)){c[j>>2]=xk(m,c[l>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=42117;break}c[n>>2]=pm(c[m>>2]|0)|0;if(!(c[n>>2]|0)){c[h>>2]=42140;break}if(!(ap(c[k>>2]|0,c[n>>2]|0)|0)){c[h>>2]=42173;break}c[j>>2]=zk(o,c[m>>2]|0,c[g>>2]|0)|0;if(c[j>>2]|0){c[h>>2]=42202;break}c[q>>2]=xg(c[o>>2]|0,42217,0)|0;if(c[q>>2]|0)c[p>>2]=Fg(c[q>>2]|0,1,5)|0;else c[p>>2]=Fg(c[o>>2]|0,0,5)|0;if(!(c[p>>2]|0)){c[h>>2]=42223;break}if(ap(c[k>>2]|0,c[p>>2]|0)|0)c[h>>2]=42253}else c[h>>2]=42e3;while(0);vg(c[q>>2]|0);xq(c[p>>2]|0);vg(c[o>>2]|0);xq(c[n>>2]|0);vg(c[m>>2]|0);vg(c[l>>2]|0);xq(c[k>>2]|0);i=d;return c[h>>2]|0}function pm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=b+20|0;e=b+16|0;f=b+12|0;g=b+8|0;h=b+4|0;j=b;c[e>>2]=a;c[f>>2]=xg(c[e>>2]|0,42132,0)|0;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[g>>2]=xg(c[f>>2]|0,39319,0)|0;vg(c[f>>2]|0);if(!(c[g>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}c[h>>2]=xg(c[g>>2]|0,39370,0)|0;vg(c[g>>2]|0);if(c[h>>2]|0){c[j>>2]=Fg(c[h>>2]|0,1,0)|0;vg(c[h>>2]|0);c[d>>2]=c[j>>2];k=c[d>>2]|0;i=b;return k|0}else{c[d>>2]=0;k=c[d>>2]|0;i=b;return k|0}return 0}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+20|0;f=d+16|0;g=d+12|0;h=d+8|0;j=d+4|0;k=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=xg(c[g>>2]|0,39374,1)|0;if(!(c[h>>2]|0)){c[e>>2]=68;l=c[e>>2]|0;i=d;return l|0}c[j>>2]=Bg(c[h>>2]|0,1,k)|0;if(c[j>>2]|0){Fj(c[f>>2]|0,c[j>>2]|0,c[k>>2]|0);vg(c[h>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=d;return l|0}else{vg(c[h>>2]|0);c[e>>2]=68;l=c[e>>2]|0;i=d;return l|0}return 0}function rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=Vg()|0;c[(c[f>>2]|0)+160>>2]=1732584193;c[(c[f>>2]|0)+164>>2]=-271733879;c[(c[f>>2]|0)+168>>2]=-1732584194;c[(c[f>>2]|0)+172>>2]=271733878;c[(c[f>>2]|0)+176>>2]=-1009589776;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=32;i=d;return}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];do{c[k>>2]=tm(c[j>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[k>>2]|0}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+112|0;e=d+100|0;f=d+96|0;g=d+92|0;h=d+88|0;j=d+84|0;k=d+80|0;l=d+76|0;m=d+72|0;n=d+68|0;o=d+64|0;p=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[f>>2];c[j>>2]=c[(c[g>>2]|0)+160>>2];c[k>>2]=c[(c[g>>2]|0)+164>>2];c[l>>2]=c[(c[g>>2]|0)+168>>2];c[m>>2]=c[(c[g>>2]|0)+172>>2];c[n>>2]=c[(c[g>>2]|0)+176>>2];f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm(c[h>>2]|0)|0;c[p>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=vm((c[h>>2]|0)+4|0)|0;c[p+4>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;f=vm((c[h>>2]|0)+8|0)|0;c[p+8>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;f=vm((c[h>>2]|0)+12|0)|0;c[p+12>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=vm((c[h>>2]|0)+16|0)|0;c[p+16>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm((c[h>>2]|0)+20|0)|0;c[p+20>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=vm((c[h>>2]|0)+24|0)|0;c[p+24>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;f=vm((c[h>>2]|0)+28|0)|0;c[p+28>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;f=vm((c[h>>2]|0)+32|0)|0;c[p+32>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=vm((c[h>>2]|0)+36|0)|0;c[p+36>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm((c[h>>2]|0)+40|0)|0;c[p+40>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;f=vm((c[h>>2]|0)+44|0)|0;c[p+44>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;f=vm((c[h>>2]|0)+48|0)|0;c[p+48>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;f=vm((c[h>>2]|0)+52|0)|0;c[p+52>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;f=vm((c[h>>2]|0)+56|0)|0;c[p+56>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[m>>2]^c[k>>2]&(c[l>>2]^c[m>>2]))+1518500249|0;f=vm((c[h>>2]|0)+60|0)|0;c[p+60>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[l>>2]^c[j>>2]&(c[k>>2]^c[l>>2]))+1518500249|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[k>>2]^c[n>>2]&(c[j>>2]^c[k>>2]))+1518500249|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[j>>2]^c[m>>2]&(c[n>>2]^c[j>>2]))+1518500249|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[n>>2]^c[l>>2]&(c[m>>2]^c[n>>2]))+1518500249|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+1859775393|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+1859775393|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+1859775393|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+1859775393|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+1859775393|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]&c[l>>2]|c[m>>2]&(c[k>>2]|c[l>>2]))+-1894007588|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]&c[k>>2]|c[l>>2]&(c[j>>2]|c[k>>2]))+-1894007588|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]&c[j>>2]|c[k>>2]&(c[n>>2]|c[j>>2]))+-1894007588|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]&c[n>>2]|c[j>>2]&(c[m>>2]|c[n>>2]))+-1894007588|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]&c[m>>2]|c[n>>2]&(c[l>>2]|c[m>>2]))+-1894007588|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p>>2]^c[p+8>>2]^c[p+32>>2]^c[p+52>>2];f=um(c[o>>2]|0,1)|0;c[p>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+4>>2]^c[p+12>>2]^c[p+36>>2]^c[p+56>>2];f=um(c[o>>2]|0,1)|0;c[p+4>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+8>>2]^c[p+16>>2]^c[p+40>>2]^c[p+60>>2];f=um(c[o>>2]|0,1)|0;c[p+8>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+12>>2]^c[p+20>>2]^c[p+44>>2]^c[p>>2];f=um(c[o>>2]|0,1)|0;c[p+12>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+16>>2]^c[p+24>>2]^c[p+48>>2]^c[p+4>>2];f=um(c[o>>2]|0,1)|0;c[p+16>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p+20>>2]^c[p+28>>2]^c[p+52>>2]^c[p+8>>2];f=um(c[o>>2]|0,1)|0;c[p+20>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+24>>2]^c[p+32>>2]^c[p+56>>2]^c[p+12>>2];f=um(c[o>>2]|0,1)|0;c[p+24>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+28>>2]^c[p+36>>2]^c[p+60>>2]^c[p+16>>2];f=um(c[o>>2]|0,1)|0;c[p+28>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+32>>2]^c[p+40>>2]^c[p>>2]^c[p+20>>2];f=um(c[o>>2]|0,1)|0;c[p+32>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+36>>2]^c[p+44>>2]^c[p+4>>2]^c[p+24>>2];f=um(c[o>>2]|0,1)|0;c[p+36>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p+40>>2]^c[p+48>>2]^c[p+8>>2]^c[p+28>>2];f=um(c[o>>2]|0,1)|0;c[p+40>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=um(c[j>>2]|0,5)|0;e=f+(c[k>>2]^c[l>>2]^c[m>>2])+-899497514|0;c[o>>2]=c[p+44>>2]^c[p+52>>2]^c[p+12>>2]^c[p+32>>2];f=um(c[o>>2]|0,1)|0;c[p+44>>2]=f;c[n>>2]=(c[n>>2]|0)+(e+f);c[k>>2]=um(c[k>>2]|0,30)|0;f=um(c[n>>2]|0,5)|0;e=f+(c[j>>2]^c[k>>2]^c[l>>2])+-899497514|0;c[o>>2]=c[p+48>>2]^c[p+56>>2]^c[p+16>>2]^c[p+36>>2];f=um(c[o>>2]|0,1)|0;c[p+48>>2]=f;c[m>>2]=(c[m>>2]|0)+(e+f);c[j>>2]=um(c[j>>2]|0,30)|0;f=um(c[m>>2]|0,5)|0;e=f+(c[n>>2]^c[j>>2]^c[k>>2])+-899497514|0;c[o>>2]=c[p+52>>2]^c[p+60>>2]^c[p+20>>2]^c[p+40>>2];f=um(c[o>>2]|0,1)|0;c[p+52>>2]=f;c[l>>2]=(c[l>>2]|0)+(e+f);c[n>>2]=um(c[n>>2]|0,30)|0;f=um(c[l>>2]|0,5)|0;e=f+(c[m>>2]^c[n>>2]^c[j>>2])+-899497514|0;c[o>>2]=c[p+56>>2]^c[p>>2]^c[p+24>>2]^c[p+44>>2];f=um(c[o>>2]|0,1)|0;c[p+56>>2]=f;c[k>>2]=(c[k>>2]|0)+(e+f);c[m>>2]=um(c[m>>2]|0,30)|0;f=um(c[k>>2]|0,5)|0;e=f+(c[l>>2]^c[m>>2]^c[n>>2])+-899497514|0;c[o>>2]=c[p+60>>2]^c[p+4>>2]^c[p+28>>2]^c[p+48>>2];f=um(c[o>>2]|0,1)|0;c[p+60>>2]=f;c[j>>2]=(c[j>>2]|0)+(e+f);c[l>>2]=um(c[l>>2]|0,30)|0;f=(c[g>>2]|0)+160|0;c[f>>2]=(c[f>>2]|0)+(c[j>>2]|0);j=(c[g>>2]|0)+164|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[g>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[g>>2]|0)+172|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[g>>2]|0)+176|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);i=d;return 104}function um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return c[e>>2]<<(c[f>>2]&31)|(c[e>>2]|0)>>>(32-(c[f>>2]|0)&31)|0}function vm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function wm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);xm((c[f>>2]|0)+56|0,c[j>>2]|0);xm((c[f>>2]|0)+60|0,c[k>>2]|0);c[m>>2]=sm(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];xm(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;xm(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function ym(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[f>>2]|0)==2){c[j>>2]=Am(c[g>>2]|0,c[h>>2]|0)|0;k=c[j>>2]|0;i=e;return k|0}else{c[j>>2]=5;k=c[j>>2]|0;i=e;return k|0}return 0}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(2,0,42877,3,42367,20)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(2,0,42508,56,42388,20)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(2,1,0,0,42409,20)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,2,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function Bm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;rm(k,0);rs(k,c[h>>2]|0,c[j>>2]|0);wm(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+208|0;g=f+192|0;h=f+188|0;j=f+184|0;k=f;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;rm(k,0);while(1){if((c[j>>2]|0)<=0)break;rs(k,(c[(c[h>>2]|0)+12>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0)|0,c[(c[h>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+16;c[j>>2]=(c[j>>2]|0)+-1}wm(k);j=c[g>>2]|0;g=k;k=j+20|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(k|0));i=f;return}function Dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=Vg()|0;c[(c[f>>2]|0)+160>>2]=-1056596264;c[(c[f>>2]|0)+164>>2]=914150663;c[(c[f>>2]|0)+168>>2]=812702999;c[(c[f>>2]|0)+172>>2]=-150054599;c[(c[f>>2]|0)+176>>2]=-4191439;c[(c[f>>2]|0)+180>>2]=1750603025;c[(c[f>>2]|0)+184>>2]=1694076839;c[(c[f>>2]|0)+188>>2]=-1090891868;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=33;i=d;return}function Em(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];do{c[k>>2]=Fm(c[j>>2]|0,c[g>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+64;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[k>>2]|0}function Fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;i=i+320|0;e=d+312|0;f=d+308|0;g=d+304|0;h=d+300|0;j=d+296|0;k=d+292|0;l=d+288|0;m=d+284|0;n=d+280|0;o=d+276|0;p=d+272|0;q=d+268|0;r=d+264|0;s=d+8|0;t=d;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[e>>2];c[h>>2]=c[(c[g>>2]|0)+160>>2];c[j>>2]=c[(c[g>>2]|0)+164>>2];c[k>>2]=c[(c[g>>2]|0)+168>>2];c[l>>2]=c[(c[g>>2]|0)+172>>2];c[m>>2]=c[(c[g>>2]|0)+176>>2];c[n>>2]=c[(c[g>>2]|0)+180>>2];c[o>>2]=c[(c[g>>2]|0)+184>>2];c[p>>2]=c[(c[g>>2]|0)+188>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=16)break;e=Gm((c[f>>2]|0)+(c[t>>2]<<2)|0)|0;c[s+(c[t>>2]<<2)>>2]=e;c[t>>2]=(c[t>>2]|0)+1}while(1){if((c[t>>2]|0)>=64)break;f=Hm(c[s+((c[t>>2]|0)-2<<2)>>2]|0,17)|0;e=f^(Hm(c[s+((c[t>>2]|0)-2<<2)>>2]|0,19)|0);f=(e^(c[s+((c[t>>2]|0)-2<<2)>>2]|0)>>>10)+(c[s+((c[t>>2]|0)-7<<2)>>2]|0)|0;e=Hm(c[s+((c[t>>2]|0)-15<<2)>>2]|0,7)|0;b=e^(Hm(c[s+((c[t>>2]|0)-15<<2)>>2]|0,18)|0);c[s+(c[t>>2]<<2)>>2]=f+(b^(c[s+((c[t>>2]|0)-15<<2)>>2]|0)>>>3)+(c[s+((c[t>>2]|0)-16<<2)>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[t>>2]=0;while(1){if((c[t>>2]|0)>=64)break;b=c[p>>2]|0;f=b+(Im(c[m>>2]|0)|0)|0;b=f+(Jm(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)|0;c[q>>2]=b+(c[7860+(c[t>>2]<<2)>>2]|0)+(c[s+(c[t>>2]<<2)>>2]|0);b=Km(c[h>>2]|0)|0;c[r>>2]=b+(Lm(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[o>>2]|0;f=b+(Im(c[l>>2]|0)|0)|0;b=f+(Jm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+1<<2)>>2]|0)+(c[s+((c[t>>2]|0)+1<<2)>>2]|0);b=Km(c[p>>2]|0)|0;c[r>>2]=b+(Lm(c[p>>2]|0,c[h>>2]|0,c[j>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0);c[o>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[n>>2]|0;f=b+(Im(c[k>>2]|0)|0)|0;b=f+(Jm(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+2<<2)>>2]|0)+(c[s+((c[t>>2]|0)+2<<2)>>2]|0);b=Km(c[o>>2]|0)|0;c[r>>2]=b+(Lm(c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0);c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[m>>2]|0;f=b+(Im(c[j>>2]|0)|0)|0;b=f+(Jm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+3<<2)>>2]|0)+(c[s+((c[t>>2]|0)+3<<2)>>2]|0);b=Km(c[n>>2]|0)|0;c[r>>2]=b+(Lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0);c[h>>2]=(c[h>>2]|0)+(c[q>>2]|0);c[m>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[l>>2]|0;f=b+(Im(c[h>>2]|0)|0)|0;b=f+(Jm(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+4<<2)>>2]|0)+(c[s+((c[t>>2]|0)+4<<2)>>2]|0);b=Km(c[m>>2]|0)|0;c[r>>2]=b+(Lm(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0);c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[l>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[k>>2]|0;f=b+(Im(c[p>>2]|0)|0)|0;b=f+(Jm(c[p>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+5<<2)>>2]|0)+(c[s+((c[t>>2]|0)+5<<2)>>2]|0);b=Km(c[l>>2]|0)|0;c[r>>2]=b+(Lm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0);c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[k>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[j>>2]|0;f=b+(Im(c[o>>2]|0)|0)|0;b=f+(Jm(c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+6<<2)>>2]|0)+(c[s+((c[t>>2]|0)+6<<2)>>2]|0);b=Km(c[k>>2]|0)|0;c[r>>2]=b+(Lm(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0);c[n>>2]=(c[n>>2]|0)+(c[q>>2]|0);c[j>>2]=(c[q>>2]|0)+(c[r>>2]|0);b=c[h>>2]|0;f=b+(Im(c[n>>2]|0)|0)|0;b=f+(Jm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0)|0;c[q>>2]=b+(c[7860+((c[t>>2]|0)+7<<2)>>2]|0)+(c[s+((c[t>>2]|0)+7<<2)>>2]|0);b=Km(c[j>>2]|0)|0;c[r>>2]=b+(Lm(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0);c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[h>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[t>>2]=(c[t>>2]|0)+8}t=(c[g>>2]|0)+160|0;c[t>>2]=(c[t>>2]|0)+(c[h>>2]|0);h=(c[g>>2]|0)+164|0;c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);j=(c[g>>2]|0)+168|0;c[j>>2]=(c[j>>2]|0)+(c[k>>2]|0);k=(c[g>>2]|0)+172|0;c[k>>2]=(c[k>>2]|0)+(c[l>>2]|0);l=(c[g>>2]|0)+176|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);m=(c[g>>2]|0)+180|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);n=(c[g>>2]|0)+184|0;c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);o=(c[g>>2]|0)+188|0;c[o>>2]=(c[o>>2]|0)+(c[p>>2]|0);i=d;return 328}function Gm(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[c[f>>2]>>0]|0)<<24|(d[(c[f>>2]|0)+1>>0]|0)<<16|(d[(c[f>>2]|0)+2>>0]|0)<<8|(d[(c[f>>2]|0)+3>>0]|0)|0}function Hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;i=d;return (c[e>>2]|0)>>>(c[f>>2]&31)|c[e>>2]<<(32-(c[f>>2]|0)&31)|0}function Im(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hm(c[d>>2]|0,6)|0;e=a^(Hm(c[d>>2]|0,11)|0);a=e^(Hm(c[d>>2]|0,25)|0);i=b;return a|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;i=e;return c[h>>2]^c[f>>2]&(c[g>>2]^c[h>>2])|0}function Km(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Hm(c[d>>2]|0,2)|0;e=a^(Hm(c[d>>2]|0,13)|0);a=e^(Hm(c[d>>2]|0,22)|0);i=b;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;i=e;return c[f>>2]&c[g>>2]|c[h>>2]&(c[f>>2]|c[g>>2])|0}function Mm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;i=i+32|0;e=d+28|0;f=d+24|0;g=d+20|0;h=d+16|0;j=d+12|0;k=d+8|0;l=d+4|0;m=d;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[f>>2]|0,0,0);c[g>>2]=c[(c[f>>2]|0)+128>>2];c[h>>2]=c[(c[f>>2]|0)+128+4>>2];c[k>>2]=c[g>>2]<<6;c[j>>2]=c[h>>2]<<6|(c[g>>2]|0)>>>26;c[g>>2]=c[k>>2];h=(c[k>>2]|0)+(c[(c[f>>2]|0)+144>>2]|0)|0;c[k>>2]=h;if(h>>>0<(c[g>>2]|0)>>>0)c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=c[k>>2];c[k>>2]=c[k>>2]<<3;c[j>>2]=c[j>>2]<<3;c[j>>2]=c[j>>2]|(c[g>>2]|0)>>>29;g=(c[(c[f>>2]|0)+144>>2]|0)<56;h=(c[f>>2]|0)+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=-128;a:do if(g)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=56)break a;e=(c[f>>2]|0)+144|0;h=c[e>>2]|0;c[e>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}else{while(1){n=c[f>>2]|0;if((c[(c[f>>2]|0)+144>>2]|0)>=64)break;h=n+144|0;e=c[h>>2]|0;c[h>>2]=e+1;a[(c[f>>2]|0)+e>>0]=0}rs(n,0,0);e=c[f>>2]|0;h=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0))}while(0);Nm((c[f>>2]|0)+56|0,c[j>>2]|0);Nm((c[f>>2]|0)+60|0,c[k>>2]|0);c[m>>2]=Em(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[m>>2]|0);Jf();c[l>>2]=c[f>>2];Nm(c[l>>2]|0,c[(c[f>>2]|0)+160>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+164>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+168>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+172>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+176>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+180>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+184>>2]|0);c[l>>2]=(c[l>>2]|0)+4;Nm(c[l>>2]|0,c[(c[f>>2]|0)+188>>2]|0);c[l>>2]=(c[l>>2]|0)+4;i=d;return}function Nm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[c[h>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[h>>2]|0)+3>>0]=c[g>>2];i=e;return}function Om(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function Pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 11:{c[j>>2]=Qm(c[g>>2]|0,c[h>>2]|0)|0;break}case 8:{c[j>>2]=Rm(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function Qm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(11,0,42877,3,42479,28)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(11,0,42508,56,42565,28)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(11,1,0,0,42594,28)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,11,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function Rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(8,0,42877,3,42623,32)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(8,0,42508,56,42656,32)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(8,1,0,0,42689,32)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,8,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function Sm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+12|0;f=d+4|0;c[e>>2]=a;c[d+8>>2]=b;c[f>>2]=c[e>>2];c[d>>2]=Vg()|0;c[(c[f>>2]|0)+160>>2]=1779033703;c[(c[f>>2]|0)+164>>2]=-1150833019;c[(c[f>>2]|0)+168>>2]=1013904242;c[(c[f>>2]|0)+172>>2]=-1521486534;c[(c[f>>2]|0)+176>>2]=1359893119;c[(c[f>>2]|0)+180>>2]=-1694144372;c[(c[f>>2]|0)+184>>2]=528734635;c[(c[f>>2]|0)+188>>2]=1541459225;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=64;c[(c[f>>2]|0)+152>>2]=33;i=d;return}function Tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d+4|0;c[e>>2]=a;c[d+12>>2]=b;c[f>>2]=c[e>>2];c[g>>2]=(c[f>>2]|0)+160;c[d>>2]=Vg()|0;e=c[g>>2]|0;c[e>>2]=-205731576;c[e+4>>2]=1779033703;e=(c[g>>2]|0)+8|0;c[e>>2]=-2067093701;c[e+4>>2]=-1150833019;e=(c[g>>2]|0)+16|0;c[e>>2]=-23791573;c[e+4>>2]=1013904242;e=(c[g>>2]|0)+24|0;c[e>>2]=1595750129;c[e+4>>2]=-1521486534;e=(c[g>>2]|0)+32|0;c[e>>2]=-1377402159;c[e+4>>2]=1359893119;e=(c[g>>2]|0)+40|0;c[e>>2]=725511199;c[e+4>>2]=-1694144372;e=(c[g>>2]|0)+48|0;c[e>>2]=-79577749;c[e+4>>2]=528734635;e=(c[g>>2]|0)+56|0;c[e>>2]=327033209;c[e+4>>2]=1541459225;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=128;c[(c[f>>2]|0)+152>>2]=34;i=d;return}function Um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];do{c[k>>2]=(Vm((c[j>>2]|0)+160|0,c[g>>2]|0)|0)+12;c[g>>2]=(c[g>>2]|0)+128;f=(c[h>>2]|0)+-1|0;c[h>>2]=f}while((f|0)!=0);i=e;return c[k>>2]|0}function Vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=i;i=i+240|0;e=d+232|0;f=d+228|0;g=d+216|0;h=d+208|0;j=d+200|0;k=d+192|0;l=d+184|0;m=d+176|0;n=d+168|0;o=d+160|0;p=d+32|0;q=d+224|0;r=d+24|0;s=d+16|0;t=d+8|0;u=d;c[e>>2]=a;c[f>>2]=b;b=c[e>>2]|0;a=c[b+4>>2]|0;v=g;c[v>>2]=c[b>>2];c[v+4>>2]=a;a=(c[e>>2]|0)+8|0;v=c[a+4>>2]|0;b=h;c[b>>2]=c[a>>2];c[b+4>>2]=v;v=(c[e>>2]|0)+16|0;b=c[v+4>>2]|0;a=j;c[a>>2]=c[v>>2];c[a+4>>2]=b;b=(c[e>>2]|0)+24|0;a=c[b+4>>2]|0;v=k;c[v>>2]=c[b>>2];c[v+4>>2]=a;a=(c[e>>2]|0)+32|0;v=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=v;v=(c[e>>2]|0)+40|0;b=c[v+4>>2]|0;a=m;c[a>>2]=c[v>>2];c[a+4>>2]=b;b=(c[e>>2]|0)+48|0;a=c[b+4>>2]|0;v=n;c[v>>2]=c[b>>2];c[v+4>>2]=a;a=(c[e>>2]|0)+56|0;v=c[a+4>>2]|0;b=o;c[b>>2]=c[a>>2];c[b+4>>2]=v;c[q>>2]=0;while(1){if((c[q>>2]|0)>=16)break;v=Wm((c[f>>2]|0)+(c[q>>2]<<3)|0)|0;b=p+(c[q>>2]<<3)|0;c[b>>2]=v;c[b+4>>2]=C;c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=64)break;f=o;b=c[f>>2]|0;v=c[f+4>>2]|0;f=l;a=Xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(b|0,v|0,a|0,C|0)|0;a=C;v=l;b=m;w=n;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(f|0,a|0,x|0,C|0)|0;x=80+(c[q>>2]<<3)|0;a=Ax(w|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p;w=Ax(a|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=r;c[x>>2]=w;c[x+4>>2]=C;x=p+112|0;w=Ym(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=C;a=p+112|0;f=Ym(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=x^C;x=p+112|0;b=Cx(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=p+72|0;v=Ax(w^f^b|0,a^C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=C;a=p+8|0;b=Ym(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=C;f=p+8|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^C;a=p+8|0;y=Cx(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Ax(v|0,x|0,b^w^y|0,f^C|0)|0;f=p;y=Ax(c[f>>2]|0,c[f+4>>2]|0,a|0,C|0)|0;a=p;c[a>>2]=y;c[a+4>>2]=C;a=g;y=_m(c[a>>2]|0,c[a+4>>2]|0)|0;a=C;f=g;w=h;b=j;x=$m(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,a|0,x|0,C|0)|0;x=s;c[x>>2]=b;c[x+4>>2]=C;x=r;b=k;a=Ax(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=a;c[x+4>>2]=C;x=r;a=s;b=Ax(c[x>>2]|0,c[x+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=o;c[a>>2]=b;c[a+4>>2]=C;a=n;b=c[a>>2]|0;x=c[a+4>>2]|0;a=k;y=Xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(b|0,x|0,y|0,C|0)|0;y=C;x=k;b=l;w=m;f=Zm(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(a|0,y|0,f|0,C|0)|0;f=80+((c[q>>2]|0)+1<<3)|0;y=Ax(w|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=p+8|0;w=Ax(y|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=r;c[f>>2]=w;c[f+4>>2]=C;f=p+120|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=C;y=p+120|0;a=Ym(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=f^C;f=p+120|0;b=Cx(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=p+80|0;x=Ax(w^a^b|0,y^C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=C;y=p+16|0;b=Ym(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=C;a=p+16|0;w=Ym(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=y^C;y=p+16|0;v=Cx(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Ax(x|0,f|0,b^w^v|0,a^C|0)|0;a=p+8|0;v=a;w=Ax(c[v>>2]|0,c[v+4>>2]|0,y|0,C|0)|0;y=a;c[y>>2]=w;c[y+4>>2]=C;y=o;w=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;a=o;v=g;b=h;f=$m(c[a>>2]|0,c[a+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(w|0,y|0,f|0,C|0)|0;f=s;c[f>>2]=b;c[f+4>>2]=C;f=r;b=j;y=Ax(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=j;c[f>>2]=y;c[f+4>>2]=C;f=r;y=s;b=Ax(c[f>>2]|0,c[f+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=n;c[y>>2]=b;c[y+4>>2]=C;y=m;b=c[y>>2]|0;f=c[y+4>>2]|0;y=j;w=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(b|0,f|0,w|0,C|0)|0;w=C;f=j;b=k;v=l;a=Zm(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(y|0,w|0,a|0,C|0)|0;a=80+((c[q>>2]|0)+2<<3)|0;w=Ax(v|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p+16|0;v=Ax(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r;c[a>>2]=v;c[a+4>>2]=C;a=p;v=Ym(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=C;w=p;y=Ym(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=a^C;a=p;b=Cx(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=p+88|0;f=Ax(v^y^b|0,w^C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=C;w=p+24|0;b=Ym(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=C;y=p+24|0;v=Ym(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=w^C;w=p+24|0;x=Cx(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Ax(f|0,a|0,b^v^x|0,y^C|0)|0;y=p+16|0;x=y;v=Ax(c[x>>2]|0,c[x+4>>2]|0,w|0,C|0)|0;w=y;c[w>>2]=v;c[w+4>>2]=C;w=n;v=_m(c[w>>2]|0,c[w+4>>2]|0)|0;w=C;y=n;x=o;b=g;a=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(v|0,w|0,a|0,C|0)|0;a=s;c[a>>2]=b;c[a+4>>2]=C;a=r;b=h;w=Ax(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=h;c[a>>2]=w;c[a+4>>2]=C;a=r;w=s;b=Ax(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=m;c[w>>2]=b;c[w+4>>2]=C;w=l;b=c[w>>2]|0;a=c[w+4>>2]|0;w=h;v=Xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(b|0,a|0,v|0,C|0)|0;v=C;a=h;b=j;x=k;y=Zm(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(w|0,v|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+3<<3)|0;v=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+24|0;x=Ax(v|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=r;c[y>>2]=x;c[y+4>>2]=C;y=p+8|0;x=Ym(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=C;v=p+8|0;w=Ym(c[v>>2]|0,c[v+4>>2]|0,61,0)|0;v=y^C;y=p+8|0;b=Cx(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=p+96|0;a=Ax(x^w^b|0,v^C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=C;v=p+32|0;b=Ym(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=C;w=p+32|0;x=Ym(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=v^C;v=p+32|0;f=Cx(c[v>>2]|0,c[v+4>>2]|0,7)|0;v=Ax(a|0,y|0,b^x^f|0,w^C|0)|0;w=p+24|0;f=w;x=Ax(c[f>>2]|0,c[f+4>>2]|0,v|0,C|0)|0;v=w;c[v>>2]=x;c[v+4>>2]=C;v=m;x=_m(c[v>>2]|0,c[v+4>>2]|0)|0;v=C;w=m;f=n;b=o;y=$m(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(x|0,v|0,y|0,C|0)|0;y=s;c[y>>2]=b;c[y+4>>2]=C;y=r;b=g;v=Ax(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=g;c[y>>2]=v;c[y+4>>2]=C;y=r;v=s;b=Ax(c[y>>2]|0,c[y+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=l;c[v>>2]=b;c[v+4>>2]=C;v=k;b=c[v>>2]|0;y=c[v+4>>2]|0;v=g;x=Xm(c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(b|0,y|0,x|0,C|0)|0;x=C;y=g;b=h;f=j;w=Zm(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(v|0,x|0,w|0,C|0)|0;w=80+((c[q>>2]|0)+4<<3)|0;x=Ax(f|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=p+32|0;f=Ax(x|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=r;c[w>>2]=f;c[w+4>>2]=C;w=p+16|0;f=Ym(c[w>>2]|0,c[w+4>>2]|0,19,0)|0;w=C;x=p+16|0;v=Ym(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=w^C;w=p+16|0;b=Cx(c[w>>2]|0,c[w+4>>2]|0,6)|0;w=p+104|0;y=Ax(f^v^b|0,x^C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=C;x=p+40|0;b=Ym(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=C;v=p+40|0;f=Ym(c[v>>2]|0,c[v+4>>2]|0,8,0)|0;v=x^C;x=p+40|0;a=Cx(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Ax(y|0,w|0,b^f^a|0,v^C|0)|0;v=p+32|0;a=v;f=Ax(c[a>>2]|0,c[a+4>>2]|0,x|0,C|0)|0;x=v;c[x>>2]=f;c[x+4>>2]=C;x=l;f=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;v=l;a=m;b=n;w=$m(c[v>>2]|0,c[v+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(f|0,x|0,w|0,C|0)|0;w=s;c[w>>2]=b;c[w+4>>2]=C;w=r;b=o;x=Ax(c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=x;c[w+4>>2]=C;w=r;x=s;b=Ax(c[w>>2]|0,c[w+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=b;c[x+4>>2]=C;x=j;b=c[x>>2]|0;w=c[x+4>>2]|0;x=o;f=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,w|0,f|0,C|0)|0;f=C;w=o;b=g;a=h;v=Zm(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(x|0,f|0,v|0,C|0)|0;v=80+((c[q>>2]|0)+5<<3)|0;f=Ax(a|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=p+40|0;a=Ax(f|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=r;c[v>>2]=a;c[v+4>>2]=C;v=p+24|0;a=Ym(c[v>>2]|0,c[v+4>>2]|0,19,0)|0;v=C;f=p+24|0;x=Ym(c[f>>2]|0,c[f+4>>2]|0,61,0)|0;f=v^C;v=p+24|0;b=Cx(c[v>>2]|0,c[v+4>>2]|0,6)|0;v=p+112|0;w=Ax(a^x^b|0,f^C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=C;f=p+48|0;b=Ym(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;x=p+48|0;a=Ym(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=f^C;f=p+48|0;y=Cx(c[f>>2]|0,c[f+4>>2]|0,7)|0;f=Ax(w|0,v|0,b^a^y|0,x^C|0)|0;x=p+40|0;y=x;a=Ax(c[y>>2]|0,c[y+4>>2]|0,f|0,C|0)|0;f=x;c[f>>2]=a;c[f+4>>2]=C;f=k;a=_m(c[f>>2]|0,c[f+4>>2]|0)|0;f=C;x=k;y=l;b=m;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(a|0,f|0,v|0,C|0)|0;v=s;c[v>>2]=b;c[v+4>>2]=C;v=r;b=n;f=Ax(c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=f;c[v+4>>2]=C;v=r;f=s;b=Ax(c[v>>2]|0,c[v+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;f=h;b=c[f>>2]|0;v=c[f+4>>2]|0;f=n;a=Xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(b|0,v|0,a|0,C|0)|0;a=C;v=n;b=o;y=g;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(f|0,a|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+6<<3)|0;a=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+48|0;y=Ax(a|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=r;c[x>>2]=y;c[x+4>>2]=C;x=p+32|0;y=Ym(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=C;a=p+32|0;f=Ym(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=x^C;x=p+32|0;b=Cx(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=p+120|0;v=Ax(y^f^b|0,a^C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=C;a=p+56|0;b=Ym(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=C;f=p+56|0;y=Ym(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^C;a=p+56|0;w=Cx(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Ax(v|0,x|0,b^y^w|0,f^C|0)|0;f=p+48|0;w=f;y=Ax(c[w>>2]|0,c[w+4>>2]|0,a|0,C|0)|0;a=f;c[a>>2]=y;c[a+4>>2]=C;a=j;y=_m(c[a>>2]|0,c[a+4>>2]|0)|0;a=C;f=j;w=k;b=l;x=$m(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,a|0,x|0,C|0)|0;x=s;c[x>>2]=b;c[x+4>>2]=C;x=r;b=m;a=Ax(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=m;c[x>>2]=a;c[x+4>>2]=C;x=r;a=s;b=Ax(c[x>>2]|0,c[x+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;b=c[a>>2]|0;x=c[a+4>>2]|0;a=m;y=Xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(b|0,x|0,y|0,C|0)|0;y=C;x=m;b=n;w=o;f=Zm(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(a|0,y|0,f|0,C|0)|0;f=80+((c[q>>2]|0)+7<<3)|0;y=Ax(w|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=p+56|0;w=Ax(y|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=r;c[f>>2]=w;c[f+4>>2]=C;f=p+40|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=C;y=p+40|0;a=Ym(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=f^C;f=p+40|0;b=Cx(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=p;x=Ax(w^a^b|0,y^C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=C;y=p+64|0;b=Ym(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=C;a=p+64|0;w=Ym(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=y^C;y=p+64|0;v=Cx(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Ax(x|0,f|0,b^w^v|0,a^C|0)|0;a=p+56|0;v=a;w=Ax(c[v>>2]|0,c[v+4>>2]|0,y|0,C|0)|0;y=a;c[y>>2]=w;c[y+4>>2]=C;y=h;w=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;a=h;v=j;b=k;f=$m(c[a>>2]|0,c[a+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(w|0,y|0,f|0,C|0)|0;f=s;c[f>>2]=b;c[f+4>>2]=C;f=r;b=l;y=Ax(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=l;c[f>>2]=y;c[f+4>>2]=C;f=r;y=s;b=Ax(c[f>>2]|0,c[f+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=g;c[y>>2]=b;c[y+4>>2]=C;y=o;b=c[y>>2]|0;f=c[y+4>>2]|0;y=l;w=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(b|0,f|0,w|0,C|0)|0;w=C;f=l;b=m;v=n;a=Zm(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(y|0,w|0,a|0,C|0)|0;a=80+((c[q>>2]|0)+8<<3)|0;w=Ax(v|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p+64|0;v=Ax(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r;c[a>>2]=v;c[a+4>>2]=C;a=p+48|0;v=Ym(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=C;w=p+48|0;y=Ym(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=a^C;a=p+48|0;b=Cx(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=p+8|0;f=Ax(v^y^b|0,w^C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=C;w=p+72|0;b=Ym(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=C;y=p+72|0;v=Ym(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=w^C;w=p+72|0;x=Cx(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Ax(f|0,a|0,b^v^x|0,y^C|0)|0;y=p+64|0;x=y;v=Ax(c[x>>2]|0,c[x+4>>2]|0,w|0,C|0)|0;w=y;c[w>>2]=v;c[w+4>>2]=C;w=g;v=_m(c[w>>2]|0,c[w+4>>2]|0)|0;w=C;y=g;x=h;b=j;a=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(v|0,w|0,a|0,C|0)|0;a=s;c[a>>2]=b;c[a+4>>2]=C;a=r;b=k;w=Ax(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=k;c[a>>2]=w;c[a+4>>2]=C;a=r;w=s;b=Ax(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=o;c[w>>2]=b;c[w+4>>2]=C;w=n;b=c[w>>2]|0;a=c[w+4>>2]|0;w=k;v=Xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(b|0,a|0,v|0,C|0)|0;v=C;a=k;b=l;x=m;y=Zm(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(w|0,v|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+9<<3)|0;v=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+72|0;x=Ax(v|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=r;c[y>>2]=x;c[y+4>>2]=C;y=p+56|0;x=Ym(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=C;v=p+56|0;w=Ym(c[v>>2]|0,c[v+4>>2]|0,61,0)|0;v=y^C;y=p+56|0;b=Cx(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=p+16|0;a=Ax(x^w^b|0,v^C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=C;v=p+80|0;b=Ym(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=C;w=p+80|0;x=Ym(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=v^C;v=p+80|0;f=Cx(c[v>>2]|0,c[v+4>>2]|0,7)|0;v=Ax(a|0,y|0,b^x^f|0,w^C|0)|0;w=p+72|0;f=w;x=Ax(c[f>>2]|0,c[f+4>>2]|0,v|0,C|0)|0;v=w;c[v>>2]=x;c[v+4>>2]=C;v=o;x=_m(c[v>>2]|0,c[v+4>>2]|0)|0;v=C;w=o;f=g;b=h;y=$m(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(x|0,v|0,y|0,C|0)|0;y=s;c[y>>2]=b;c[y+4>>2]=C;y=r;b=j;v=Ax(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=j;c[y>>2]=v;c[y+4>>2]=C;y=r;v=s;b=Ax(c[y>>2]|0,c[y+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=b;c[v+4>>2]=C;v=m;b=c[v>>2]|0;y=c[v+4>>2]|0;v=j;x=Xm(c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(b|0,y|0,x|0,C|0)|0;x=C;y=j;b=k;f=l;w=Zm(c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(v|0,x|0,w|0,C|0)|0;w=80+((c[q>>2]|0)+10<<3)|0;x=Ax(f|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=p+80|0;f=Ax(x|0,C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=r;c[w>>2]=f;c[w+4>>2]=C;w=p+64|0;f=Ym(c[w>>2]|0,c[w+4>>2]|0,19,0)|0;w=C;x=p+64|0;v=Ym(c[x>>2]|0,c[x+4>>2]|0,61,0)|0;x=w^C;w=p+64|0;b=Cx(c[w>>2]|0,c[w+4>>2]|0,6)|0;w=p+24|0;y=Ax(f^v^b|0,x^C|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=C;x=p+88|0;b=Ym(c[x>>2]|0,c[x+4>>2]|0,1,0)|0;x=C;v=p+88|0;f=Ym(c[v>>2]|0,c[v+4>>2]|0,8,0)|0;v=x^C;x=p+88|0;a=Cx(c[x>>2]|0,c[x+4>>2]|0,7)|0;x=Ax(y|0,w|0,b^f^a|0,v^C|0)|0;v=p+80|0;a=v;f=Ax(c[a>>2]|0,c[a+4>>2]|0,x|0,C|0)|0;x=v;c[x>>2]=f;c[x+4>>2]=C;x=n;f=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;v=n;a=o;b=g;w=$m(c[v>>2]|0,c[v+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(f|0,x|0,w|0,C|0)|0;w=s;c[w>>2]=b;c[w+4>>2]=C;w=r;b=h;x=Ax(c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=h;c[w>>2]=x;c[w+4>>2]=C;w=r;x=s;b=Ax(c[w>>2]|0,c[w+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=m;c[x>>2]=b;c[x+4>>2]=C;x=l;b=c[x>>2]|0;w=c[x+4>>2]|0;x=h;f=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,w|0,f|0,C|0)|0;f=C;w=h;b=j;a=k;v=Zm(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(x|0,f|0,v|0,C|0)|0;v=80+((c[q>>2]|0)+11<<3)|0;f=Ax(a|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=p+88|0;a=Ax(f|0,C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=r;c[v>>2]=a;c[v+4>>2]=C;v=p+72|0;a=Ym(c[v>>2]|0,c[v+4>>2]|0,19,0)|0;v=C;f=p+72|0;x=Ym(c[f>>2]|0,c[f+4>>2]|0,61,0)|0;f=v^C;v=p+72|0;b=Cx(c[v>>2]|0,c[v+4>>2]|0,6)|0;v=p+32|0;w=Ax(a^x^b|0,f^C|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=C;f=p+96|0;b=Ym(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;f=C;x=p+96|0;a=Ym(c[x>>2]|0,c[x+4>>2]|0,8,0)|0;x=f^C;f=p+96|0;y=Cx(c[f>>2]|0,c[f+4>>2]|0,7)|0;f=Ax(w|0,v|0,b^a^y|0,x^C|0)|0;x=p+88|0;y=x;a=Ax(c[y>>2]|0,c[y+4>>2]|0,f|0,C|0)|0;f=x;c[f>>2]=a;c[f+4>>2]=C;f=m;a=_m(c[f>>2]|0,c[f+4>>2]|0)|0;f=C;x=m;y=n;b=o;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(a|0,f|0,v|0,C|0)|0;v=s;c[v>>2]=b;c[v+4>>2]=C;v=r;b=g;f=Ax(c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=f;c[v+4>>2]=C;v=r;f=s;b=Ax(c[v>>2]|0,c[v+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=l;c[f>>2]=b;c[f+4>>2]=C;f=k;b=c[f>>2]|0;v=c[f+4>>2]|0;f=g;a=Xm(c[f>>2]|0,c[f+4>>2]|0)|0;f=Ax(b|0,v|0,a|0,C|0)|0;a=C;v=g;b=h;y=j;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(f|0,a|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+12<<3)|0;a=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+96|0;y=Ax(a|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=r;c[x>>2]=y;c[x+4>>2]=C;x=p+80|0;y=Ym(c[x>>2]|0,c[x+4>>2]|0,19,0)|0;x=C;a=p+80|0;f=Ym(c[a>>2]|0,c[a+4>>2]|0,61,0)|0;a=x^C;x=p+80|0;b=Cx(c[x>>2]|0,c[x+4>>2]|0,6)|0;x=p+40|0;v=Ax(y^f^b|0,a^C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=C;a=p+104|0;b=Ym(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;a=C;f=p+104|0;y=Ym(c[f>>2]|0,c[f+4>>2]|0,8,0)|0;f=a^C;a=p+104|0;w=Cx(c[a>>2]|0,c[a+4>>2]|0,7)|0;a=Ax(v|0,x|0,b^y^w|0,f^C|0)|0;f=p+96|0;w=f;y=Ax(c[w>>2]|0,c[w+4>>2]|0,a|0,C|0)|0;a=f;c[a>>2]=y;c[a+4>>2]=C;a=l;y=_m(c[a>>2]|0,c[a+4>>2]|0)|0;a=C;f=l;w=m;b=n;x=$m(c[f>>2]|0,c[f+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,a|0,x|0,C|0)|0;x=s;c[x>>2]=b;c[x+4>>2]=C;x=r;b=o;a=Ax(c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=o;c[x>>2]=a;c[x+4>>2]=C;x=r;a=s;b=Ax(c[x>>2]|0,c[x+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=c[a>>2]|0;x=c[a+4>>2]|0;a=o;y=Xm(c[a>>2]|0,c[a+4>>2]|0)|0;a=Ax(b|0,x|0,y|0,C|0)|0;y=C;x=o;b=g;w=h;f=Zm(c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(a|0,y|0,f|0,C|0)|0;f=80+((c[q>>2]|0)+13<<3)|0;y=Ax(w|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=p+104|0;w=Ax(y|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=r;c[f>>2]=w;c[f+4>>2]=C;f=p+88|0;w=Ym(c[f>>2]|0,c[f+4>>2]|0,19,0)|0;f=C;y=p+88|0;a=Ym(c[y>>2]|0,c[y+4>>2]|0,61,0)|0;y=f^C;f=p+88|0;b=Cx(c[f>>2]|0,c[f+4>>2]|0,6)|0;f=p+48|0;x=Ax(w^a^b|0,y^C|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=C;y=p+112|0;b=Ym(c[y>>2]|0,c[y+4>>2]|0,1,0)|0;y=C;a=p+112|0;w=Ym(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=y^C;y=p+112|0;v=Cx(c[y>>2]|0,c[y+4>>2]|0,7)|0;y=Ax(x|0,f|0,b^w^v|0,a^C|0)|0;a=p+104|0;v=a;w=Ax(c[v>>2]|0,c[v+4>>2]|0,y|0,C|0)|0;y=a;c[y>>2]=w;c[y+4>>2]=C;y=k;w=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;a=k;v=l;b=m;f=$m(c[a>>2]|0,c[a+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(w|0,y|0,f|0,C|0)|0;f=s;c[f>>2]=b;c[f+4>>2]=C;f=r;b=n;y=Ax(c[b>>2]|0,c[b+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=n;c[f>>2]=y;c[f+4>>2]=C;f=r;y=s;b=Ax(c[f>>2]|0,c[f+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=j;c[y>>2]=b;c[y+4>>2]=C;y=h;b=c[y>>2]|0;f=c[y+4>>2]|0;y=n;w=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(b|0,f|0,w|0,C|0)|0;w=C;f=n;b=o;v=g;a=Zm(c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=Ax(y|0,w|0,a|0,C|0)|0;a=80+((c[q>>2]|0)+14<<3)|0;w=Ax(v|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=p+112|0;v=Ax(w|0,C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=r;c[a>>2]=v;c[a+4>>2]=C;a=p+96|0;v=Ym(c[a>>2]|0,c[a+4>>2]|0,19,0)|0;a=C;w=p+96|0;y=Ym(c[w>>2]|0,c[w+4>>2]|0,61,0)|0;w=a^C;a=p+96|0;b=Cx(c[a>>2]|0,c[a+4>>2]|0,6)|0;a=p+56|0;f=Ax(v^y^b|0,w^C|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=C;w=p+120|0;b=Ym(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;w=C;y=p+120|0;v=Ym(c[y>>2]|0,c[y+4>>2]|0,8,0)|0;y=w^C;w=p+120|0;x=Cx(c[w>>2]|0,c[w+4>>2]|0,7)|0;w=Ax(f|0,a|0,b^v^x|0,y^C|0)|0;y=p+112|0;x=y;v=Ax(c[x>>2]|0,c[x+4>>2]|0,w|0,C|0)|0;w=y;c[w>>2]=v;c[w+4>>2]=C;w=j;v=_m(c[w>>2]|0,c[w+4>>2]|0)|0;w=C;y=j;x=k;b=l;a=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(v|0,w|0,a|0,C|0)|0;a=s;c[a>>2]=b;c[a+4>>2]=C;a=r;b=m;w=Ax(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=m;c[a>>2]=w;c[a+4>>2]=C;a=r;w=s;b=Ax(c[a>>2]|0,c[a+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;w=h;c[w>>2]=b;c[w+4>>2]=C;w=g;b=c[w>>2]|0;a=c[w+4>>2]|0;w=m;v=Xm(c[w>>2]|0,c[w+4>>2]|0)|0;w=Ax(b|0,a|0,v|0,C|0)|0;v=C;a=m;b=n;x=o;y=Zm(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(w|0,v|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+15<<3)|0;v=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+120|0;x=Ax(v|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=r;c[y>>2]=x;c[y+4>>2]=C;y=p+104|0;x=Ym(c[y>>2]|0,c[y+4>>2]|0,19,0)|0;y=C;v=p+104|0;w=Ym(c[v>>2]|0,c[v+4>>2]|0,61,0)|0;v=y^C;y=p+104|0;b=Cx(c[y>>2]|0,c[y+4>>2]|0,6)|0;y=p+64|0;a=Ax(x^w^b|0,v^C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=C;v=p;b=Ym(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=C;w=p;x=Ym(c[w>>2]|0,c[w+4>>2]|0,8,0)|0;w=v^C;v=p;f=Cx(c[v>>2]|0,c[v+4>>2]|0,7)|0;v=Ax(a|0,y|0,b^x^f|0,w^C|0)|0;w=p+120|0;f=w;x=Ax(c[f>>2]|0,c[f+4>>2]|0,v|0,C|0)|0;v=w;c[v>>2]=x;c[v+4>>2]=C;v=h;x=_m(c[v>>2]|0,c[v+4>>2]|0)|0;v=C;w=h;f=j;b=k;y=$m(c[w>>2]|0,c[w+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(x|0,v|0,y|0,C|0)|0;y=s;c[y>>2]=b;c[y+4>>2]=C;y=r;b=l;v=Ax(c[b>>2]|0,c[b+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=l;c[y>>2]=v;c[y+4>>2]=C;y=r;v=s;b=Ax(c[y>>2]|0,c[y+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=b;c[v+4>>2]=C;c[q>>2]=(c[q>>2]|0)+16}while(1){if((c[q>>2]|0)>=80)break;s=o;r=c[s>>2]|0;v=c[s+4>>2]|0;s=l;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=l;r=m;y=n;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+(c[q>>2]<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=g;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=g;s=h;r=j;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=k;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=k;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=o;c[x>>2]=r;c[x+4>>2]=C;x=n;r=c[x>>2]|0;v=c[x+4>>2]|0;x=k;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=k;r=l;s=m;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+1<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+8|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=o;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=o;x=g;r=h;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=j;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=j;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=n;c[b>>2]=r;c[b+4>>2]=C;b=m;r=c[b>>2]|0;v=c[b+4>>2]|0;b=j;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=j;r=k;x=l;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+2<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+16|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=n;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=n;b=o;r=g;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=h;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=h;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=m;c[y>>2]=r;c[y+4>>2]=C;y=l;r=c[y>>2]|0;v=c[y+4>>2]|0;y=h;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=h;r=j;b=k;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+3<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+24|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=m;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=m;y=n;r=o;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=g;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=l;c[s>>2]=r;c[s+4>>2]=C;s=k;r=c[s>>2]|0;v=c[s+4>>2]|0;s=g;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=g;r=h;y=j;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+4<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+32|0;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=l;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=l;s=m;r=n;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=o;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=o;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=r;c[x+4>>2]=C;x=j;r=c[x>>2]|0;v=c[x+4>>2]|0;x=o;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=o;r=g;s=h;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+5<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+40|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=k;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=k;x=l;r=m;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=n;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=j;c[b>>2]=r;c[b+4>>2]=C;b=h;r=c[b>>2]|0;v=c[b+4>>2]|0;b=n;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=n;r=o;x=g;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+6<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+48|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=j;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=j;b=k;r=l;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=m;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=m;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=h;c[y>>2]=r;c[y+4>>2]=C;y=g;r=c[y>>2]|0;v=c[y+4>>2]|0;y=m;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=m;r=n;b=o;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+7<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+56|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=h;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=h;y=j;r=k;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=l;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=l;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=g;c[s>>2]=r;c[s+4>>2]=C;s=o;r=c[s>>2]|0;v=c[s+4>>2]|0;s=l;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=l;r=m;y=n;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+8<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+64|0;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=g;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=g;s=h;r=j;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=k;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=k;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=o;c[x>>2]=r;c[x+4>>2]=C;x=n;r=c[x>>2]|0;v=c[x+4>>2]|0;x=k;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=k;r=l;s=m;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+9<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+72|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=o;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=o;x=g;r=h;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=j;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=j;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=n;c[b>>2]=r;c[b+4>>2]=C;b=m;r=c[b>>2]|0;v=c[b+4>>2]|0;b=j;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=j;r=k;x=l;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+10<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+80|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=n;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=n;b=o;r=g;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=h;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=h;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=m;c[y>>2]=r;c[y+4>>2]=C;y=l;r=c[y>>2]|0;v=c[y+4>>2]|0;y=h;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=h;r=j;b=k;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+11<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+88|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=m;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=m;y=n;r=o;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=g;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=g;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=l;c[s>>2]=r;c[s+4>>2]=C;s=k;r=c[s>>2]|0;v=c[s+4>>2]|0;s=g;b=Xm(c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(r|0,v|0,b|0,C|0)|0;b=C;v=g;r=h;y=j;x=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(s|0,b|0,x|0,C|0)|0;x=80+((c[q>>2]|0)+12<<3)|0;b=Ax(y|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=p+96|0;y=Ax(b|0,C|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=t;c[x>>2]=y;c[x+4>>2]=C;x=l;y=_m(c[x>>2]|0,c[x+4>>2]|0)|0;x=C;b=l;s=m;r=n;v=$m(c[b>>2]|0,c[b+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(y|0,x|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=o;x=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=o;c[v>>2]=x;c[v+4>>2]=C;v=t;x=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=k;c[x>>2]=r;c[x+4>>2]=C;x=j;r=c[x>>2]|0;v=c[x+4>>2]|0;x=o;y=Xm(c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(r|0,v|0,y|0,C|0)|0;y=C;v=o;r=g;s=h;b=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=Ax(x|0,y|0,b|0,C|0)|0;b=80+((c[q>>2]|0)+13<<3)|0;y=Ax(s|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=p+104|0;s=Ax(y|0,C|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=t;c[b>>2]=s;c[b+4>>2]=C;b=k;s=_m(c[b>>2]|0,c[b+4>>2]|0)|0;b=C;y=k;x=l;r=m;v=$m(c[y>>2]|0,c[y+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(s|0,b|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=n;b=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=n;c[v>>2]=b;c[v+4>>2]=C;v=t;b=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=j;c[b>>2]=r;c[b+4>>2]=C;b=h;r=c[b>>2]|0;v=c[b+4>>2]|0;b=n;s=Xm(c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(r|0,v|0,s|0,C|0)|0;s=C;v=n;r=o;x=g;y=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=Ax(b|0,s|0,y|0,C|0)|0;y=80+((c[q>>2]|0)+14<<3)|0;s=Ax(x|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=p+112|0;x=Ax(s|0,C|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=t;c[y>>2]=x;c[y+4>>2]=C;y=j;x=_m(c[y>>2]|0,c[y+4>>2]|0)|0;y=C;s=j;b=k;r=l;v=$m(c[s>>2]|0,c[s+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(x|0,y|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=m;y=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=m;c[v>>2]=y;c[v+4>>2]=C;v=t;y=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0)|0;y=h;c[y>>2]=r;c[y+4>>2]=C;y=g;r=c[y>>2]|0;v=c[y+4>>2]|0;y=m;x=Xm(c[y>>2]|0,c[y+4>>2]|0)|0;y=Ax(r|0,v|0,x|0,C|0)|0;x=C;v=m;r=n;b=o;s=Zm(c[v>>2]|0,c[v+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Ax(y|0,x|0,s|0,C|0)|0;s=80+((c[q>>2]|0)+15<<3)|0;x=Ax(b|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=p+120|0;b=Ax(x|0,C|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=t;c[s>>2]=b;c[s+4>>2]=C;s=h;b=_m(c[s>>2]|0,c[s+4>>2]|0)|0;s=C;x=h;y=j;r=k;v=$m(c[x>>2]|0,c[x+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;r=Ax(b|0,s|0,v|0,C|0)|0;v=u;c[v>>2]=r;c[v+4>>2]=C;v=t;r=l;s=Ax(c[r>>2]|0,c[r+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=l;c[v>>2]=s;c[v+4>>2]=C;v=t;s=u;r=Ax(c[v>>2]|0,c[v+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=g;c[s>>2]=r;c[s+4>>2]=C;c[q>>2]=(c[q>>2]|0)+16}q=g;g=c[e>>2]|0;u=g;t=Ax(c[u>>2]|0,c[u+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=g;c[q>>2]=t;c[q+4>>2]=C;q=h;h=(c[e>>2]|0)+8|0;t=h;g=Ax(c[t>>2]|0,c[t+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=h;c[q>>2]=g;c[q+4>>2]=C;q=j;j=(c[e>>2]|0)+16|0;g=j;h=Ax(c[g>>2]|0,c[g+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=j;c[q>>2]=h;c[q+4>>2]=C;q=k;k=(c[e>>2]|0)+24|0;h=k;j=Ax(c[h>>2]|0,c[h+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=k;c[q>>2]=j;c[q+4>>2]=C;q=l;l=(c[e>>2]|0)+32|0;j=l;k=Ax(c[j>>2]|0,c[j+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=l;c[q>>2]=k;c[q+4>>2]=C;q=m;m=(c[e>>2]|0)+40|0;k=m;l=Ax(c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=m;c[q>>2]=l;c[q+4>>2]=C;q=n;n=(c[e>>2]|0)+48|0;l=n;m=Ax(c[l>>2]|0,c[l+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=n;c[q>>2]=m;c[q+4>>2]=C;q=o;o=(c[e>>2]|0)+56|0;e=o;m=Ax(c[e>>2]|0,c[e+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=o;c[q>>2]=m;c[q+4>>2]=C;i=d;return 208}function Wm(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];e=Ix(d[c[f>>2]>>0]|0|0,0,56)|0;a=C;g=Ix(d[(c[f>>2]|0)+1>>0]|0|0,0,48)|0;h=a|C;a=Ix(d[(c[f>>2]|0)+2>>0]|0|0,0,40)|0;j=h|C|(d[(c[f>>2]|0)+3>>0]|0);h=Ix(d[(c[f>>2]|0)+4>>0]|0|0,0,24)|0;k=j|C;j=Ix(d[(c[f>>2]|0)+5>>0]|0|0,0,16)|0;l=k|C;k=Ix(d[(c[f>>2]|0)+6>>0]|0|0,0,8)|0;C=l|C;i=b;return e|g|a|h|j|k|(d[(c[f>>2]|0)+7>>0]|0)|0}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=e;f=Ym(c[b>>2]|0,c[b+4>>2]|0,14,0)|0;b=C;a=e;g=Ym(c[a>>2]|0,c[a+4>>2]|0,18,0)|0;a=b^C;b=e;e=Ym(c[b>>2]|0,c[b+4>>2]|0,41,0)|0;C=a^C;i=d;return f^g^e|0}function Ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;h=f;j=g;c[j>>2]=a;c[j+4>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;e=g;b=Cx(c[e>>2]|0,c[e+4>>2]|0,c[h>>2]|0)|0;e=C;d=g;g=c[d>>2]|0;j=c[d+4>>2]|0;d=h;h=zx(64,0,c[d>>2]|0,c[d+4>>2]|0)|0;d=Ix(g|0,j|0,h|0)|0;C=e|C;i=f;return b|d|0}function Zm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;j=h+16|0;k=h+8|0;l=h;m=j;c[m>>2]=a;c[m+4>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=l;c[e>>2]=f;c[e+4>>2]=g;g=j;e=k;k=j;j=l;C=c[g+4>>2]&c[e+4>>2]^~c[k+4>>2]&c[j+4>>2];i=h;return c[g>>2]&c[e>>2]^~c[k>>2]&c[j>>2]|0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;f=e;c[f>>2]=a;c[f+4>>2]=b;b=e;f=Ym(c[b>>2]|0,c[b+4>>2]|0,28,0)|0;b=C;a=e;g=Ym(c[a>>2]|0,c[a+4>>2]|0,34,0)|0;a=b^C;b=e;e=Ym(c[b>>2]|0,c[b+4>>2]|0,39,0)|0;C=a^C;i=d;return f^g^e|0}function $m(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;j=h+16|0;k=h+8|0;l=h;m=j;c[m>>2]=a;c[m+4>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;e=l;c[e>>2]=f;c[e+4>>2]=g;g=j;e=k;f=j;j=l;b=k;k=l;C=c[g+4>>2]&c[e+4>>2]^c[f+4>>2]&c[j+4>>2]^c[b+4>>2]&c[k+4>>2];i=h;return c[g>>2]&c[e>>2]^c[f>>2]&c[j>>2]^c[b>>2]&c[k>>2]|0}function an(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+48|0;e=d+44|0;f=d+40|0;g=d+36|0;h=d+24|0;j=d+16|0;k=d+8|0;l=d;m=d+32|0;c[e>>2]=b;c[f>>2]=c[e>>2];rs(c[e>>2]|0,0,0);b=(c[f>>2]|0)+128|0;n=c[b+4>>2]|0;o=h;c[o>>2]=c[b>>2];c[o+4>>2]=n;n=(c[f>>2]|0)+136|0;o=c[n+4>>2]|0;b=j;c[b>>2]=c[n>>2];c[b+4>>2]=o;o=h;b=Ix(c[o>>2]|0,c[o+4>>2]|0,7)|0;o=l;c[o>>2]=b;c[o+4>>2]=C;o=j;j=Ix(c[o>>2]|0,c[o+4>>2]|0,7)|0;o=C;b=h;n=Cx(c[b>>2]|0,c[b+4>>2]|0,57)|0;b=k;c[b>>2]=j|n;c[b+4>>2]=o|C;o=l;b=c[o+4>>2]|0;n=h;c[n>>2]=c[o>>2];c[n+4>>2]=b;b=c[(c[f>>2]|0)+144>>2]|0;n=l;o=Ax(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=C;n=l;c[n>>2]=o;c[n+4>>2]=b;n=h;j=c[n+4>>2]|0;if(b>>>0<j>>>0|((b|0)==(j|0)?o>>>0<(c[n>>2]|0)>>>0:0)){n=k;o=Ax(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;n=k;c[n>>2]=o;c[n+4>>2]=C}n=l;o=c[n+4>>2]|0;j=h;c[j>>2]=c[n>>2];c[j+4>>2]=o;o=l;j=Ix(c[o>>2]|0,c[o+4>>2]|0,3)|0;o=l;c[o>>2]=j;c[o+4>>2]=C;o=k;j=Ix(c[o>>2]|0,c[o+4>>2]|0,3)|0;o=k;c[o>>2]=j;c[o+4>>2]=C;o=h;h=Cx(c[o>>2]|0,c[o+4>>2]|0,61)|0;o=k;j=c[o+4>>2]|C;n=k;c[n>>2]=c[o>>2]|h;c[n+4>>2]=j;j=(c[(c[f>>2]|0)+144>>2]|0)<112;n=(c[f>>2]|0)+144|0;h=c[n>>2]|0;c[n>>2]=h+1;a[(c[f>>2]|0)+h>>0]=-128;a:do if(j)while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=112)break a;h=(c[f>>2]|0)+144|0;n=c[h>>2]|0;c[h>>2]=n+1;a[(c[f>>2]|0)+n>>0]=0}else{while(1){if((c[(c[f>>2]|0)+144>>2]|0)>=128)break;n=(c[f>>2]|0)+144|0;h=c[n>>2]|0;c[n>>2]=h+1;a[(c[f>>2]|0)+h>>0]=0}rs(c[e>>2]|0,0,0);h=c[f>>2]|0;n=h+112|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(n|0))}while(0);e=k;bn((c[f>>2]|0)+112|0,c[e>>2]|0,c[e+4>>2]|0);e=l;bn((c[f>>2]|0)+120|0,c[e>>2]|0,c[e+4>>2]|0);c[g>>2]=Um(c[f>>2]|0,c[f>>2]|0,1)|0;If(c[g>>2]|0);Jf();c[m>>2]=c[f>>2];g=(c[f>>2]|0)+160|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+8|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+16|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+24|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+32|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+40|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+48|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;g=(c[f>>2]|0)+160+56|0;bn(c[m>>2]|0,c[g>>2]|0,c[g+4>>2]|0);c[m>>2]=(c[m>>2]|0)+8;i=d;return}function bn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f;j=f+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=c[g>>2];g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,56)|0;a[c[j>>2]>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,48)|0;a[(c[j>>2]|0)+1>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,40)|0;a[(c[j>>2]|0)+2>>0]=e;a[(c[j>>2]|0)+3>>0]=c[h+4>>2];e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,24)|0;a[(c[j>>2]|0)+4>>0]=g;g=h;e=Cx(c[g>>2]|0,c[g+4>>2]|0,16)|0;a[(c[j>>2]|0)+5>>0]=e;e=h;g=Cx(c[e>>2]|0,c[e+4>>2]|0,8)|0;a[(c[j>>2]|0)+6>>0]=g;a[(c[j>>2]|0)+7>>0]=c[h>>2];i=f;return}function cn(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];i=b;return c[e>>2]|0}function dn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;switch(c[f>>2]|0){case 9:{c[j>>2]=en(c[g>>2]|0,c[h>>2]|0)|0;break}case 10:{c[j>>2]=fn(c[g>>2]|0,c[h>>2]|0)|0;break}default:c[j>>2]=5}i=e;return c[j>>2]|0}function en(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(9,0,42877,3,42881,48)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(9,0,42942,112,43055,48)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(9,1,0,0,43120,48)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,9,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;j=d;c[f>>2]=a;c[g>>2]=b;c[h>>2]=42864;c[j>>2]=qs(10,0,42877,3,43176,64)|0;do if(!(c[j>>2]|0)){if(c[f>>2]|0){c[h>>2]=42930;c[j>>2]=qs(10,0,42942,112,43241,64)|0;if(c[j>>2]|0)break;c[h>>2]=43104;c[j>>2]=qs(10,1,0,0,43306,64)|0;if(c[j>>2]|0)break}c[e>>2]=0;k=c[e>>2]|0;i=d;return k|0}while(0);if(c[g>>2]|0)Fb[c[g>>2]&1](43169,10,c[h>>2]|0,c[j>>2]|0);c[e>>2]=50;k=c[e>>2]|0;i=d;return k|0}function gn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d+16|0;f=d+8|0;g=d+4|0;c[e>>2]=a;c[d+12>>2]=b;c[f>>2]=c[e>>2];c[g>>2]=(c[f>>2]|0)+160;c[d>>2]=Vg()|0;e=c[g>>2]|0;c[e>>2]=-1056596264;c[e+4>>2]=-876896931;e=(c[g>>2]|0)+8|0;c[e>>2]=914150663;c[e+4>>2]=1654270250;e=(c[g>>2]|0)+16|0;c[e>>2]=812702999;c[e+4>>2]=-1856437926;e=(c[g>>2]|0)+24|0;c[e>>2]=-150054599;c[e+4>>2]=355462360;e=(c[g>>2]|0)+32|0;c[e>>2]=-4191439;c[e+4>>2]=1731405415;e=(c[g>>2]|0)+40|0;c[e>>2]=1750603025;c[e+4>>2]=-1900787065;e=(c[g>>2]|0)+48|0;c[e>>2]=1694076839;c[e+4>>2]=-619958771;e=(c[g>>2]|0)+56|0;c[e>>2]=-1090891868;c[e+4>>2]=1203062813;e=(c[f>>2]|0)+128|0;c[e>>2]=0;c[e+4>>2]=0;e=(c[f>>2]|0)+136|0;c[e>>2]=0;c[e+4>>2]=0;c[(c[f>>2]|0)+144>>2]=0;c[(c[f>>2]|0)+148>>2]=128;c[(c[f>>2]|0)+152>>2]=34;i=d;return}function hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;k=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];c[k>>2]=jn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;If(47);Jf();i=e;return c[k>>2]|0}
-function fw(a,b,c){a=a|0;b=b|0;c=c|0;return uv(a,2147483647,b,c)|0}function gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=wv(a,b,f)|0;i=e;return d|0}function hw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=Iv(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)av(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=Cv(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0<k>>>0;n=p?r:k;Dx(l|0,m|0,n|0)|0;m=(c[i>>2]|0)+n|0;c[i>>2]=m;r=l+n|0;o=k-n|0;if(!(q&p)){s=r;t=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){p=cw(f)|0;if((p|0)<0){u=r;break}else v=p}else{c[i>>2]=m+1;v=d[m>>0]|0}k=o+-1|0;o=r+1|0;a[r>>0]=v;if(!((k|0)!=0&(v&255|0)!=10)){s=o;t=17;break a}else l=o}if((u|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){s=u;t=17}else w=0}else{s=b;t=17}while(0);if((t|0)==17)if(!b)w=0;else{a[s>>0]=0;w=b}if(!g)j=w;else{av(f);j=w}}return j|0}function iw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=0;i=c}else{j=e;k=g;l=b;m=c;while(1){j=j+-1|0;n=a[m>>0]|0;if(!(k<<24>>24==n<<24>>24&((j|0)!=0&n<<24>>24!=0))){h=k;i=m;break a}l=l+1|0;n=m+1|0;k=a[l>>0]|0;if(!(k<<24>>24)){h=0;i=n;break}else m=n}}while(0);f=(h&255)-(d[i>>0]|0)|0}return f|0}function jw(a){a=a|0;return Hx(a|0)|0}function kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=i;i=i+192|0;f=e+152|0;g=e+136|0;h=e+120|0;j=e+104|0;k=e+96|0;l=e+80|0;m=e+64|0;n=e+48|0;o=e+32|0;p=e+16|0;q=e;r=e+176|0;s=e+168|0;c[r>>2]=d;d=(c[r>>2]|0)+(4-1)&~(4-1);t=c[d>>2]|0;c[r>>2]=d+4;d=(b|0)==4?t|32768:t;a:do switch(b|0){case 14:{c[q>>2]=a;c[q+4>>2]=14;c[q+8>>2]=d;u=Xu(pa(221,q|0)|0)|0;break}case 9:{c[p>>2]=a;c[p+4>>2]=16;c[p+8>>2]=s;t=pa(221,p|0)|0;switch(t|0){case -22:{c[o>>2]=a;c[o+4>>2]=9;c[o+8>>2]=d;v=pa(221,o|0)|0;break}case 0:{r=c[s+4>>2]|0;v=(c[s>>2]|0)==2?0-r|0:r;break}default:v=Xu(t)|0}u=v;break}case 1030:{c[n>>2]=a;c[n+4>>2]=1030;c[n+8>>2]=d;t=pa(221,n|0)|0;if((t|0)!=-22){if((t|0)>-1){c[m>>2]=t;c[m+4>>2]=2;c[m+8>>2]=1;pa(221,m|0)|0}u=Xu(t)|0;break a}c[l>>2]=a;c[l+4>>2]=1030;c[l+8>>2]=0;t=pa(221,l|0)|0;if((t|0)==-22){c[j>>2]=a;c[j+4>>2]=0;c[j+8>>2]=d;r=pa(221,j|0)|0;if((r|0)>-1){c[h>>2]=r;c[h+4>>2]=2;c[h+8>>2]=1;pa(221,h|0)|0}u=Xu(r)|0;break a}else{if((t|0)>-1){c[k>>2]=t;ta(6,k|0)|0}u=Xu(-22)|0;break a}break}default:if((b+-12|0)>>>0<5){c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;u=Xu(pa(221,g|0)|0)|0;break a}else{c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;u=Xu(pa(221,f|0)|0)|0;break a}}while(0);i=e;return u|0}function lw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ta(6,d|0)|0;d=Xu((a|0)==-4?-115:a)|0;i=b;return d|0}function mw(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a:do if(!d)e=0;else{f=d;g=b;h=c;while(1){i=a[g>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24){k=i;l=j;break}f=f+-1|0;if(!f){e=0;break a}else{g=g+1|0;h=h+1|0}}e=(k&255)-(l&255)|0}while(0);return e|0}function nw(a){a=a|0;return Hx(a|0)|0}function ow(a,b,c){a=a|0;b=b|0;c=c|0;pw(a,b,c)|0;return a|0}function pw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=d;do if(!((f^b)&3)){g=(e|0)!=0;a:do if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=h;m=i;n=j;break a}k=h+-1|0;o=i+1|0;p=j+1|0;q=(k|0)!=0;if(q&(o&3|0)!=0){h=k;i=o;j=p}else{r=k;s=o;t=p;u=q;v=5;break}}}else{r=e;s=d;t=b;u=g;v=5}while(0);if((v|0)==5)if(u){l=r;m=s;n=t}else{w=t;x=0;break}if(!(a[m>>0]|0)){w=n;x=l}else{b:do if(l>>>0>3){g=l;j=n;i=m;while(1){h=c[i>>2]|0;if((h&-2139062144^-2139062144)&h+-16843009|0){y=g;z=j;A=i;break b}c[j>>2]=h;h=g+-4|0;q=i+4|0;p=j+4|0;if(h>>>0>3){g=h;j=p;i=q}else{y=h;z=p;A=q;break}}}else{y=l;z=n;A=m}while(0);B=A;C=z;D=y;v=11}}else{B=d;C=b;D=e;v=11}while(0);c:do if((v|0)==11)if(!D){w=C;x=0}else{e=B;b=C;d=D;while(1){y=a[e>>0]|0;a[b>>0]=y;if(!(y<<24>>24)){w=b;x=d;break c}d=d+-1|0;y=b+1|0;if(!d){w=y;x=0;break}else{e=e+1|0;b=y}}}while(0);Fx(w|0,0,x|0)|0;return w|0}function qw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;f=e+16|0;g=e;if(Cv(70495,a[d>>0]|0,4)|0){h=rw(d)|0|32768;c[g>>2]=b;c[g+4>>2]=h;c[g+8>>2]=438;h=Xu(hb(5,g|0)|0)|0;if((h|0)>=0){g=uw(h,d)|0;if(!g){c[f>>2]=h;ta(6,f|0)|0;j=0}else j=g}else j=0}else{c[(Yu()|0)>>2]=22;j=0}i=e;return j|0}function rw(b){b=b|0;var c=0,d=0,e=0,f=0;c=(sw(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(sw(b,120)|0)==0;f=c?e:e|128;e=(sw(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function sw(b,c){b=b|0;c=c|0;var d=0;d=tw(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function tw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(Kv(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=_(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=h;k=g;while(1){l=j^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=k;break b}l=k+4|0;j=c[l>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){m=l;break}else k=l}}else m=g;while(0);i=d&255;h=m;while(1){k=a[h>>0]|0;if(k<<24>>24==0?1:k<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function uw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+112|0;f=e+40|0;g=e+24|0;h=e+16|0;j=e;k=e+52|0;l=a[d>>0]|0;if(Cv(70495,l<<24>>24,4)|0){m=sx(1144)|0;if(!m)n=0;else{o=m;p=o+112|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));if(!(sw(d,43)|0))c[m>>2]=l<<24>>24==114?8:4;if(!(sw(d,101)|0))q=l;else{c[j>>2]=b;c[j+4>>2]=2;c[j+8>>2]=1;pa(221,j|0)|0;q=a[d>>0]|0}if(q<<24>>24==97){c[h>>2]=b;c[h+4>>2]=3;q=pa(221,h|0)|0;if(!(q&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=q|1024;pa(221,g|0)|0}g=c[m>>2]|128;c[m>>2]=g;r=g}else r=c[m>>2]|0;c[m+60>>2]=b;c[m+44>>2]=m+120;c[m+48>>2]=1024;g=m+75|0;a[g>>0]=-1;if((r&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21505,c[f+8>>2]=k,(_a(54,f|0)|0)==0):0)a[g>>0]=10;c[m+32>>2]=35;c[m+36>>2]=25;c[m+40>>2]=24;c[m+12>>2]=10;if(!(c[17777]|0))c[m+76>>2]=-1;fb(71132);g=c[17782]|0;c[m+56>>2]=g;if(g|0)c[g+52>>2]=m;c[17782]=m;$a(71132);n=m}}else{c[(Yu()|0)>>2]=22;n=0}i=e;return n|0}function vw(a){a=a|0;var b=0,d=0,e=0,f=0;b=(c[a>>2]&1|0)!=0;if(!b){fb(71132);d=c[a+52>>2]|0;e=a+56|0;if(d|0)c[d+56>>2]=c[e>>2];f=c[e>>2]|0;if(f|0)c[f+52>>2]=d;if((c[17782]|0)==(a|0))c[17782]=f;$a(71132)}f=ww(a)|0;d=zb[c[a+12>>2]&15](a)|0|f;f=c[a+92>>2]|0;if(f|0)tx(f);if(!b)tx(a);return d|0}function ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=xw(a)|0;break}d=(Iv(a)|0)==0;e=xw(a)|0;if(d)b=e;else{av(a);b=e}}else{if(!(c[3961]|0))f=0;else f=ww(c[3961]|0)|0;fb(71132);e=c[17782]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Iv(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=xw(d)|0|e;else i=e;if(h|0)av(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}$a(71132);b=g}while(0);return b|0}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(vb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0<i>>>0)vb[c[a+40>>2]&63](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function yw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;g=f;h=e&255;a[g>>0]=h;j=b+16|0;k=c[j>>2]|0;if(!k)if(!(zv(b)|0)){l=c[j>>2]|0;m=4}else n=-1;else{l=k;m=4}do if((m|0)==4){k=b+20|0;j=c[k>>2]|0;if(j>>>0<l>>>0?(o=e&255,(o|0)!=(a[b+75>>0]|0)):0){c[k>>2]=j+1;a[j>>0]=h;n=o;break}if((vb[c[b+36>>2]&63](b,g,1)|0)==1)n=d[g>>0]|0;else n=-1}while(0);i=f;return n|0}function zw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+16|0;h=g;a:do if(!e)j=0;else{do if(f|0){k=(b|0)==0?h:b;l=a[e>>0]|0;m=l&255;if(l<<24>>24>-1){c[k>>2]=m;j=l<<24>>24!=0&1;break a}l=m+-194|0;if(l>>>0<=50){m=e+1|0;n=c[15964+(l<<2)>>2]|0;if(f>>>0<4?n&-2147483648>>>((f*6|0)+-6|0)|0:0)break;l=d[m>>0]|0;m=l>>>3;if((m+-16|m+(n>>26))>>>0<=7){m=l+-128|n<<6;if((m|0)>=0){c[k>>2]=m;j=2;break a}n=d[e+2>>0]|0;if((n&192|0)==128){l=n+-128|m<<6;if((l|0)>=0){c[k>>2]=l;j=3;break a}m=d[e+3>>0]|0;if((m&192|0)==128){c[k>>2]=m+-128|l<<6;j=4;break a}}}}}while(0);c[(Yu()|0)>>2]=84;j=-1}while(0);i=g;return j|0}function Aw(a,b){a=a|0;b=b|0;return (Bw(a,Kv(a)|0,1,b)|0)+-1|0}function Bw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=_(d,b)|0;if((c[e+76>>2]|0)>-1){g=(Iv(e)|0)==0;h=yv(a,f,e)|0;if(g)i=h;else{av(e);i=h}}else i=yv(a,f,e)|0;if((i|0)==(f|0))j=d;else j=(i>>>0)/(b>>>0)|0;return j|0}function Cw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[3932]|0;if((c[d+76>>2]|0)>-1)e=Iv(d)|0;else e=0;do if((Aw(b,d)|0)<0)f=1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(yw(d,10)|0)<0}while(0);if(e|0)av(d);return f<<31>>31|0}function Dw(){var a=0,b=0;a=i;i=i+16|0;b=wa(20,a|0)|0;i=a;return b|0}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Xu(Za(33,e|0)|0)|0;i=d;return b|0}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=wv(c[3932]|0,a,e)|0;i=d;return b|0}function Gw(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Iv(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else e=d}else e=(c[a>>2]|0)>>>4&1;return e|0}function Hw(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=b;e=70499;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=14;d=c;while(1){f=e+1|0;if(d>>>0<10){g=f;break}else{e=f;d=(d>>>0)/10|0}}a[b+g>>0]=0;d=c;c=g;while(1){c=c+-1|0;a[b+c>>0]=(d>>>0)%10|0|48;if(d>>>0<10)break;else d=(d>>>0)/10|0}}return}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+48|0;e=d+40|0;f=d+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;h=Ha(197,g|0)|0;if((h|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(pa(221,f|0)|0)>=0):0){Hw(f,a);c[e>>2]=f;c[e+4>>2]=b;j=Xu(Ia(195,e|0)|0)|0}else j=Xu(h)|0;i=d;return j|0}function Jw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g;c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;f=Xu(qb(142,h|0)|0)|0;i=g;return f|0}function Kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Xu(ib(4,f|0)|0)|0;i=e;return d|0}function Lw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=Xu(db(3,f|0)|0)|0;i=e;return d|0}function Mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);h=c[d>>2]|0;c[g>>2]=d+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=h;h=Xu(hb(5,f|0)|0)|0;i=e;return h|0}function Nw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xu(cb(10,d|0)|0)|0;i=b;return a|0}function Ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+32|0;g=f;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=e;c[g+12>>2]=a;e=g+16|0;c[e>>2]=0;d=g+20|0;c[d>>2]=0;switch(a|0){case 208:case 203:case 213:{c[e>>2]=1;break}default:{}}Tw(8,g);g=c[d>>2]|0;if(!g)h=0;else{c[(Yu()|0)>>2]=g;h=-1}i=f;return h|0}function Pw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+32|0;d=b+16|0;e=b;f=a+20|0;do if(!(c[f>>2]|0)){if((c[a+16>>2]|0?(g=c[a>>2]|0,(g|0)>-1):0)?(g|0)!=(Qw()|0):0){c[d>>2]=c[180];c[d+4>>2]=c[181];c[d+8>>2]=c[182];c[d+12>>2]=c[183];Rw(6,e)|0;g=Sw(6,d)|0;c[f>>2]=0-g;if(!((g|0)!=0?(c[17780]|0)!=0:0)){c[f>>2]=1;Sw(6,e)|0}break}c[f>>2]=1}while(0);i=b;return}function Qw(){var a=0,b=0;a=i;i=i+16|0;b=Ka(199,a|0)|0;i=a;return b|0}function Rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+32|0;e=d+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=0;c[f+12>>2]=b;h=Xu(eb(340,f|0)|0)|0;if(!h){f=b;if((c[f>>2]|0)==-1?(c[f+4>>2]|0)==-1:0){f=b;c[f>>2]=-1;c[f+4>>2]=-1}f=b+8|0;j=f;if((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0){j=f;c[j>>2]=-1;c[j+4>>2]=-1;k=0}else k=0}else if((c[(Yu()|0)>>2]|0)==38){c[e>>2]=a;c[e+4>>2]=g;if((Xu(Ga(191,e|0)|0)|0)>=0){e=c[g>>2]|0;a=(e|0)==-1;j=b;c[j>>2]=a?-1:e;c[j+4>>2]=a?-1:0;j=c[g+4>>2]|0;g=(j|0)==-1;e=b+8|0;f=e;c[f>>2]=g?-1:j;c[f+4>>2]=g?-1:0;if(a){a=b;c[a>>2]=-1;c[a+4>>2]=-1}if(g){g=e;c[g>>2]=-1;c[g+4>>2]=-1;k=0}else k=0}else k=-1}else k=h;i=d;return k|0}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+32|0;e=d+16|0;f=d;g=d+24|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=0;h=eb(340,f|0)|0;if((h|0)==-38){f=b;j=c[f>>2]|0;k=c[f+4>>2]|0;f=k>>>0<0|(k|0)==0&j>>>0<4294967295;k=f?j:-1;c[g>>2]=k;k=b+8|0;b=c[k>>2]|0;j=c[k+4>>2]|0;k=j>>>0<0|(j|0)==0&b>>>0<4294967295;j=k?b:-1;c[g+4>>2]=j;c[e>>2]=a;c[e+4>>2]=g;l=Ua(75,e|0)|0}else l=h;i=d;return l|0}function Tw(a,b){a=a|0;b=b|0;xb[a&15](b);return}function Uw(){var a=0,b=0;a=i;i=i+16|0;b=mb(201,a|0)|0;i=a;return b|0}function Vw(a){a=a|0;return Ow(213,a,0,0)|0}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=Xu(Ja(194,e|0)|0)|0;i=d;return b|0}function Xw(){var a=0,b=0;a=i;i=i+16|0;b=ra(64,a|0)|0;i=a;return b|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;do{c[e>>2]=a;c[e+4>>2]=b;f=sa(63,e|0)|0}while((f|0)==-16);g=f;e=Xu(g)|0;i=d;return e|0}function Zw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;i=i+32|0;j=h;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(Yu()|0)>>2]=12;k=-1;break}l=(e&16|0)!=0;if(l)_w(-1);c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;c[j+16>>2]=f;c[j+20>>2]=g>>12;m=Xu(Fa(192,j|0)|0)|0;if(l){$w();k=m}else k=m}else{c[(Yu()|0)>>2]=22;k=-1}while(0);i=h;return k|0}function _w(a){a=a|0;return}function $w(){return}function ax(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;_w(-1);c[e>>2]=a;c[e+4>>2]=b;b=Xu(Qa(91,e|0)|0)|0;$w();i=d;return b|0}function bx(a){a=a|0;var b=0;b=70552;c[b>>2]=a+-1;c[b+4>>2]=0;return}function cx(){var a=0,b=0,d=0;a=70552;b=Mx(c[a>>2]|0,c[a+4>>2]|0,1284865837,1481765933)|0;a=Ax(b|0,C|0,1,0)|0;b=C;d=70552;c[d>>2]=a;c[d+4>>2]=b;d=Cx(a|0,b|0,33)|0;return d|0}function dx(a){a=a|0;fb(71152);ex(a);$a(71152);return}function ex(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=c[4092]|0;if(!b)c[c[4093]>>2]=a;else{c[4126]=(b|0)==31|(b|0)==7?3:1;c[17790]=0;if((b|0)>0){d=c[4093]|0;e=0;f=a;a=0;do{g=Mx(f|0,e|0,1284865837,1481765933)|0;f=Ax(g|0,C|0,1,0)|0;e=C;c[d+(a<<2)>>2]=e;a=a+1|0}while((a|0)<(b|0));h=d}else h=c[4093]|0;c[h>>2]=c[h>>2]|1}return}function fx(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;fb(71152);a=c[4092]|0;if(!a){b=c[4093]|0;d=(_(c[b>>2]|0,1103515245)|0)+12345&2147483647;c[b>>2]=d;e=d}else{d=c[17790]|0;b=c[4093]|0;f=c[4126]|0;g=b+(f<<2)|0;h=(c[g>>2]|0)+(c[b+(d<<2)>>2]|0)|0;c[g>>2]=h;g=f+1|0;c[4126]=(g|0)==(a|0)?0:g;g=d+1|0;c[17790]=(g|0)==(a|0)?0:g;e=h>>>1}$a(71152);return e|0}function gx(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b;while(1){b=c+1|0;if(!(Yv(a[c>>0]|0)|0)){d=c;e=b;break}else c=b}c=a[d>>0]|0;switch(c<<24>>24|0){case 45:{f=1;g=5;break}case 43:{f=0;g=5;break}default:{h=d;i=c;j=0}}if((g|0)==5){h=e;i=a[e>>0]|0;j=f}f=(i<<24>>24)+-48|0;if(f>>>0<10){i=h;h=f;f=0;while(1){i=i+1|0;e=(f*10|0)-h|0;h=(a[i>>0]|0)+-48|0;if(h>>>0>=10){k=e;break}else f=e}}else k=0;return (j|0?k:0-k|0)|0}function hx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Xu(Wa(77,e|0)|0)|0;i=d;return b|0}function ix(a,b){a=a|0;b=b|0;return jx(a,b,(Kv(a)|0)+1|0)|0}function jx(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c&255;c=d;while(1){if(!c){f=0;break}c=c+-1|0;d=b+c|0;if((a[d>>0]|0)==e<<24>>24){f=d;break}}return f|0}function kx(a){a=a|0;return (a+-48|0)>>>0<10|0}function lx(a,b){a=a|0;b=b|0;var d=0;if(!a)d=ux(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b}return d|0}function mx(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0){d=b;do{tx(c[d>>2]|0);b=d;d=c[d+4>>2]|0;tx(b)}while((d|0)!=0)}tx(a);return}function nx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=a+16|0;a:do if(!(c[g>>2]|0)){h=a+12|0;i=c[h>>2]|0;do if(i>>>0<f>>>0){if(b|0)if(!d){c[g>>2]=1;j=0;break a}else{k=a+8|0;c[k>>2]=d;c[h>>2]=1024;l=k;m=d;n=d;o=1024;break}k=f<<3;p=k>>>0>1024?k:1024;k=sx(8)|0;if(!k){c[g>>2]=1;j=0;break a}q=sx(p)|0;c[k>>2]=q;r=q;if(!q){tx(k);c[g>>2]=1;j=0;break a}c[k+4>>2]=0;s=a+4|0;t=c[s>>2]|0;if(t|0)c[t+4>>2]=k;if(!(c[a>>2]|0))c[a>>2]=k;c[s>>2]=k;k=a+8|0;c[k>>2]=r;c[h>>2]=p;l=k;m=r;n=q;o=p}else{p=a+8|0;q=c[p>>2]|0;l=p;m=q;n=q;o=i}while(0);i=m+f&3;q=((i|0)==0?0:4-i|0)+f|0;c[l>>2]=n+q;c[h>>2]=o-q;if(!e)j=n;else{Fx(n|0,0,q|0)|0;j=n}}else j=0;while(0);return j|0}function ox(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0;g=i;i=i+16|0;h=g;j=c[a+4>>2]|0;a=j+56|0;k=(c[a>>2]&8|0)==0?d:0;d=j+40|0;l=c[d>>2]|0;if((l|0)>0&(k|0)!=0){m=sx(l<<2)|0;if(!m)n=12;else{o=m;p=3}}else{o=0;p=3}if((p|0)==3){if(!(c[j+60>>2]|0)){c[h>>2]=0;m=f&1;l=f&2;q=c[a>>2]&4;if(!o)r=0;else r=c[d>>2]|0;s=r<<2;t=c[j+52>>2]|0;u=t<<3;v=u+8|0;w=s+12+u+(v+(_(s,t)|0)<<1)|0;x=sx(w)|0;if(!x){y=12;z=0}else{Fx(x|0,0,w|0)|0;w=x+s|0;A=w&3;B=w+((A|0)==0?0:4-A|0)|0;A=B+v|0;w=A&3;C=A+((w|0)==0?0:4-w|0)|0;w=C+v|0;v=w&3;A=w+((v|0)==0?0:4-v|0)|0;v=A+u|0;u=v&3;if((t|0)>0){w=0;D=v+((u|0)==0?0:4-u|0)|0;while(1){c[C+(w<<3)+4>>2]=D;u=D+s|0;c[B+(w<<3)+4>>2]=u;w=w+1|0;if((w|0)==(t|0)){E=0;break}else D=u+s|0}do{c[A+(E<<3)>>2]=-1;E=E+1|0}while((E|0)!=(t|0))}t=zw(h,b,4)|0;if((t|0)<1)if((t|0)<0){F=0;G=1}else{H=1;p=201}else{H=t;p=201}a:do if((p|0)==201){t=j+8|0;E=(q|0)!=0;D=(r|0)>0;w=j+12|0;u=j+44|0;v=j+32|0;I=j+36|0;J=(r|0)==0;K=(m|0)==0;L=(r|0)<1;M=-1;N=0;O=0;P=H;Q=0;R=C;S=B;T=B;U=b+H|0;V=x;while(1){if((M|0)<0){W=c[t>>2]|0;X=W+8|0;b:do if(!(c[X>>2]|0)){Y=M;Z=N;$=T}else{aa=(O|0)!=0;ba=(Q|0)==95;ca=(O|0)==0;da=E&(Q|0)==10;ea=K&(O|0)<1;fa=X;ga=M;ha=N;ia=T;ja=W;while(1){ka=fa;la=ja;c:while(1){ma=la+12|0;if((c[A+(c[ma>>2]<<3)>>2]|0)>=(O|0)){na=ga;oa=ha;pa=ia;qa=la;break}ra=la+20|0;sa=c[ra>>2]|0;if(!sa){ta=ka;ua=ma;va=la;p=236;break}d:do if(da|(ea|(sa&1|0)==0)){if(sa&2|0?(wa=c[h>>2]|0,!((wa|l|0)==0|E&(wa|0)==10)):0)break;do if(sa&16|0){if(ba)break d;if(Ov(Q)|0)break d;wa=c[h>>2]|0;if((wa|0)==95)break;if(!(Ov(wa)|0))break d}while(0);wa=c[ra>>2]|0;if(!(wa&32))xa=wa;else{if(ba){wa=c[h>>2]|0;if((wa|0)==95)break;else ya=wa}else{wa=(Ov(Q)|0)==0;za=c[h>>2]|0;if(wa|(za|0)==95)break;else ya=za}if(Ov(ya)|0)break;xa=c[ra>>2]|0}za=c[h>>2]|0;do if((za|0)!=0&(aa&(xa&64|0)!=0)){if(ba){Aa=za;Ba=1}else{wa=(Ov(Q)|0)!=0;Aa=c[h>>2]|0;Ba=wa}if((Aa|0)==95)if(Ba)break d;else break;else if(Ba^(Ov(Aa)|0)!=0)break;else break d}while(0);if(!(c[ra>>2]&128)){ta=ka;ua=ma;va=la;p=236;break c}za=c[h>>2]|0;if(ca|(za|0)==0)break;if(ba){Ca=za;Da=1}else{za=(Ov(Q)|0)!=0;Ca=c[h>>2]|0;Da=za}if((Ca|0)==95)if(Da){ta=ka;ua=ma;va=la;p=236;break c}else break;else if(Da^(Ov(Ca)|0)!=0)break;else{ta=ka;ua=ma;va=la;p=236;break c}}while(0);ka=la+40|0;if(!(c[ka>>2]|0)){Y=ga;Z=ha;$=ia;break b}else la=la+32|0}if((p|0)==236){p=0;c[ia>>2]=c[ta>>2];if(D)Fx(c[ia+4>>2]|0,-1,s|0)|0;la=c[va+16>>2]|0;do if(la|0){ka=c[la>>2]|0;if((ka|0)<=-1)break;ma=ia+4|0;ra=ka;ka=la;do{if((ra|0)<(r|0))c[(c[ma>>2]|0)+(ra<<2)>>2]=O;ka=ka+4|0;ra=c[ka>>2]|0}while((ra|0)>-1)}while(0);la=(c[ia>>2]|0)!=(c[w>>2]|0);if(L|la){Ea=ia+4|0;Fa=la?ga:O;Ga=la?ha:1}else{la=ia+4|0;ra=c[la>>2]|0;ka=0;do{c[o+(ka<<2)>>2]=c[ra+(ka<<2)>>2];ka=ka+1|0}while((ka|0)!=(r|0));Ea=la;Fa=O;Ga=1}la=c[ua>>2]|0;c[A+(la<<3)>>2]=O;c[A+(la<<3)+4>>2]=Ea;na=Fa;oa=Ga;pa=ia+8|0;qa=va}fa=qa+40|0;if(!(c[fa>>2]|0)){Y=na;Z=oa;$=pa;break}else{ga=na;ha=oa;ia=pa;ja=qa+32|0}}}while(0);c[$>>2]=0;W=c[h>>2]|0;if(!W){Ha=Y;break}else{Ia=W;Ja=Y;Ka=Z}}else{if(J){Ha=M;break}W=c[h>>2]|0;if((T|0)!=(S|0)&(W|0)!=0){Ia=W;Ja=M;Ka=N}else{Ha=M;break}}W=O+P|0;X=zw(h,U,4)|0;if((X|0)<1)if((X|0)<0){F=0;G=1;break a}else La=1;else La=X;X=U+La|0;if((Ka|0)!=0&(c[u>>2]|0)!=0){if(!(c[S>>2]|0))Ma=R;else{ja=c[I>>2]|0;ia=c[ja>>2]|0;ha=(ia|0)>-1;ga=S;fa=R;while(1){ba=ga+4|0;e:do if(ha){ca=ja;aa=ia;ea=0;while(1){da=c[ca+((ea|1)<<2)>>2]|0;if((aa|0)>=(r|0)){Na=fa;break e}la=c[ba>>2]|0;if((c[la+(da<<2)>>2]|0)==(c[o+(da<<2)>>2]|0)?(c[la+(aa<<2)>>2]|0)<(c[o+(aa<<2)>>2]|0):0){Na=fa;break e}ea=ea+2|0;ca=c[I>>2]|0;aa=c[ca+(ea<<2)>>2]|0;if((aa|0)<=-1){Oa=la;break}}Pa=ba;Qa=Oa;p=265}else{Pa=ba;Qa=c[ba>>2]|0;p=265}while(0);if((p|0)==265){p=0;c[fa>>2]=c[ga>>2];ba=fa+4|0;aa=c[ba>>2]|0;c[ba>>2]=Qa;c[Pa>>2]=aa;Na=fa+8|0}ga=ga+8|0;if(!(c[ga>>2]|0)){Ma=Na;break}else fa=Na}}c[Ma>>2]=0;Ra=0;Sa=R;Ta=S}else{Ra=Ka;Sa=S;Ta=R}fa=c[Sa>>2]|0;if(!fa){Ua=Ja;Va=Ra;Wa=Ta;Xa=V}else{ga=(W|0)!=0;ia=(Ia|0)==95;ja=(W|0)==0;ha=E&(Ia|0)==10;aa=K&(W|0)<1;ba=fa;fa=Ja;ea=Ra;ca=Sa;la=Ta;da=V;while(1){ka=ba+8|0;if(!(c[ka>>2]|0)){Ya=fa;Za=ea;_a=la;$a=da}else{ra=ca+4|0;ma=da;sa=ka;ka=fa;za=ea;wa=la;ab=ba;while(1){f:do if((c[ab>>2]|0)>>>0>Ia>>>0){bb=ka;cb=za;db=wa;eb=ma}else{if((c[ab+4>>2]|0)>>>0<Ia>>>0){bb=ka;cb=za;db=wa;eb=ma;break}fb=ab+20|0;gb=c[fb>>2]|0;do if(gb|0){if(!(ha|(aa|(gb&1|0)==0))){bb=ka;cb=za;db=wa;eb=ma;break f}if(gb&2|0?(hb=c[h>>2]|0,!((hb|l|0)==0|E&(hb|0)==10)):0){bb=ka;cb=za;db=wa;eb=ma;break f}do if(gb&16|0){if(ia){bb=ka;cb=za;db=wa;eb=ma;break f}if(Ov(Ia)|0){bb=ka;cb=za;db=wa;eb=ma;break f}hb=c[h>>2]|0;if((hb|0)==95)break;if(!(Ov(hb)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);hb=c[fb>>2]|0;if(!(hb&32))ib=hb;else{if(ia){hb=c[h>>2]|0;if((hb|0)==95){bb=ka;cb=za;db=wa;eb=ma;break f}else jb=hb}else{hb=(Ov(Ia)|0)==0;kb=c[h>>2]|0;if(hb|(kb|0)==95){bb=ka;cb=za;db=wa;eb=ma;break f}else jb=kb}if(Ov(jb)|0){bb=ka;cb=za;db=wa;eb=ma;break f}ib=c[fb>>2]|0}kb=c[h>>2]|0;do if((kb|0)!=0&(ga&(ib&64|0)!=0)){if(ia){lb=kb;mb=1}else{hb=(Ov(Ia)|0)!=0;lb=c[h>>2]|0;mb=hb}if((lb|0)==95)if(mb){bb=ka;cb=za;db=wa;eb=ma;break f}else break;else if(mb^(Ov(lb)|0)!=0)break;else{bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);do if(c[fb>>2]&128|0){kb=c[h>>2]|0;if(ja|(kb|0)==0){bb=ka;cb=za;db=wa;eb=ma;break f}if(ia){nb=kb;ob=1}else{kb=(Ov(Ia)|0)!=0;nb=c[h>>2]|0;ob=kb}if((nb|0)==95)if(ob)break;else{bb=ka;cb=za;db=wa;eb=ma;break f}else if(ob^(Ov(nb)|0)!=0){bb=ka;cb=za;db=wa;eb=ma;break f}else break}while(0);kb=c[fb>>2]|0;do if(!(kb&4))pb=kb;else{if(c[a>>2]&2|0){pb=kb;break}if(!(Nv(Ia,c[ab+24>>2]|0)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}pb=c[fb>>2]|0}while(0);do if(pb&4|0){if(!(c[a>>2]&2))break;kb=mv(Ia)|0;hb=ab+24|0;if(Nv(kb,c[hb>>2]|0)|0)break;kb=jv(Ia)|0;if(!(Nv(kb,c[hb>>2]|0)|0)){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);if(!(c[fb>>2]&8))break;if(rx(c[ab+28>>2]|0,Ia,c[a>>2]&2)|0){bb=ka;cb=za;db=wa;eb=ma;break f}}while(0);if(D){fb=c[ra>>2]|0;gb=0;do{c[ma+(gb<<2)>>2]=c[fb+(gb<<2)>>2];gb=gb+1|0}while((gb|0)!=(r|0))}gb=c[ab+16>>2]|0;do if(gb|0){fb=c[gb>>2]|0;if((fb|0)>-1){qb=fb;rb=gb}else break;do{if((qb|0)<(r|0))c[ma+(qb<<2)>>2]=W;rb=rb+4|0;qb=c[rb>>2]|0}while((qb|0)>-1)}while(0);gb=c[ab+12>>2]|0;fb=A+(gb<<3)|0;if((c[fb>>2]|0)>=(W|0)){hb=c[A+(gb<<3)+4>>2]|0;kb=c[hb>>2]|0;if(!(px(r,c[v>>2]|0,ma,kb)|0)){bb=ka;cb=za;db=wa;eb=ma;break}c[hb>>2]=ma;if((c[sa>>2]|0)!=(c[w>>2]|0)){bb=ka;cb=za;db=wa;eb=kb;break}if(D)sb=0;else{bb=W;cb=1;db=wa;eb=kb;break}while(1){c[o+(sb<<2)>>2]=c[ma+(sb<<2)>>2];sb=sb+1|0;if((sb|0)==(r|0)){bb=W;cb=1;db=wa;eb=kb;break f}}}kb=c[sa>>2]|0;c[wa>>2]=kb;hb=wa+4|0;tb=c[hb>>2]|0;c[hb>>2]=ma;c[fb>>2]=W;c[A+(gb<<3)+4>>2]=hb;do if((kb|0)==(c[w>>2]|0)){if((ka|0)==-1){if(!D){ub=W;vb=1;break}}else{if(!D){ub=ka;vb=za;break}if((c[ma>>2]|0)>(c[o>>2]|0)){ub=ka;vb=za;break}}wb=c[hb>>2]|0;xb=0;do{c[o+(xb<<2)>>2]=c[wb+(xb<<2)>>2];xb=xb+1|0}while((xb|0)<(r|0));ub=W;vb=1}else{ub=ka;vb=za}while(0);bb=ub;cb=vb;db=wa+8|0;eb=tb}while(0);sa=ab+40|0;if(!(c[sa>>2]|0)){Ya=bb;Za=cb;_a=db;$a=eb;break}else{ma=eb;ka=bb;za=cb;wa=db;ab=ab+32|0}}}ca=ca+8|0;ba=c[ca>>2]|0;if(!ba){Ua=Ya;Va=Za;Wa=_a;Xa=$a;break}else{fa=Ya;ea=Za;la=_a;da=$a}}}c[Wa>>2]=0;M=Ua;N=Va;O=W;P=La;Q=Ia;R=Sa;S=Ta;T=Wa;U=X;V=Xa}F=Ha;G=Ha>>>31}while(0);tx(x);y=G;z=F}yb=z;zb=y}else{c[h>>2]=0;y=f&1;z=f&2;f=c[a>>2]&4;F=lx(0,0)|0;g:do if(F){G=nx(F,0,0,0,32)|0;if(!G){mx(F);Ab=12;Bb=0;break}c[G+24>>2]=0;c[G+28>>2]=0;x=c[d>>2]|0;if(x){Ha=sx(x<<2)|0;if(!Ha){Cb=0;Db=0;Eb=12;Fb=0;Gb=Ha}else{Hb=Ha;p=9}}else{Hb=0;p=9}h:do if((p|0)==9){Ha=c[j+28>>2]|0;if(Ha){Xa=sx(Ha<<3)|0;if(!Xa){Cb=0;Db=Xa;Eb=12;Fb=0;Gb=Hb;break}else Ib=Xa}else Ib=0;Xa=j+52|0;Ha=c[Xa>>2]|0;if(Ha){Wa=sx(Ha<<2)|0;if(!Wa){Cb=0;Db=Ib;Eb=12;Fb=Wa;Gb=Hb;break}else Jb=Wa}else Jb=0;Wa=j+8|0;Ha=j+12|0;Ta=(o|0)==0;Sa=(o|0)!=0;Ia=j+32|0;La=(f|0)!=0;Va=(Hb|0)==0;Ua=(Ib|0)==0;$a=(Jb|0)==0;_a=(y|0)==0;Za=x;Ya=-1;db=1;cb=-1;bb=G;eb=b;i:while(1){if((Za|0)>0){vb=Za;ub=0;while(1){c[Hb+(ub<<2)>>2]=-1;if(Ta)Kb=vb;else{c[o+(ub<<2)>>2]=-1;Kb=c[d>>2]|0}ub=ub+1|0;if((ub|0)>=(Kb|0))break;else vb=Kb}}vb=c[Xa>>2]|0;if((vb|0)>0)Fx(Jb|0,0,((vb|0)>1?vb:1)<<2|0)|0;vb=c[h>>2]|0;ub=db+cb|0;r=zw(h,eb,4)|0;if((r|0)<1)if((r|0)<0){Cb=0;Db=Ib;Eb=1;Fb=Jb;Gb=Hb;break h}else Lb=1;else Lb=r;r=eb+Lb|0;A=c[h>>2]|0;sb=c[Wa>>2]|0;qb=sb+8|0;if(c[qb>>2]|0){rb=(ub|0)!=0;pb=(vb|0)==95;nb=(ub|0)==0;ob=La&(vb|0)==10;lb=_a&(ub|0)<1;mb=qb;qb=0;ib=bb;jb=0;l=sb;while(1){sb=l+20|0;Ra=c[sb>>2]|0;j:do if(Ra){if(!(ob|(lb|(Ra&1|0)==0))){Mb=qb;Nb=ib;Ob=jb;break}if(Ra&2|0?(Ja=c[h>>2]|0,!((Ja|z|0)==0|La&(Ja|0)==10)):0){Mb=qb;Nb=ib;Ob=jb;break}do if(Ra&16|0){if(pb){Mb=qb;Nb=ib;Ob=jb;break j}if(Ov(vb)|0){Mb=qb;Nb=ib;Ob=jb;break j}Ja=c[h>>2]|0;if((Ja|0)==95)break;if(!(Ov(Ja)|0)){Mb=qb;Nb=ib;Ob=jb;break j}}while(0);tb=c[sb>>2]|0;if(!(tb&32))Pb=tb;else{if(pb){tb=c[h>>2]|0;if((tb|0)==95){Mb=qb;Nb=ib;Ob=jb;break}else Qb=tb}else{tb=(Ov(vb)|0)==0;Ja=c[h>>2]|0;if(tb|(Ja|0)==95){Mb=qb;Nb=ib;Ob=jb;break}else Qb=Ja}if(Ov(Qb)|0){Mb=qb;Nb=ib;Ob=jb;break}Pb=c[sb>>2]|0}Ja=c[h>>2]|0;do if((Ja|0)!=0&(rb&(Pb&64|0)!=0)){if(pb){Rb=Ja;Sb=1}else{tb=(Ov(vb)|0)!=0;Rb=c[h>>2]|0;Sb=tb}if((Rb|0)==95)if(Sb){Mb=qb;Nb=ib;Ob=jb;break j}else break;else if(Sb^(Ov(Rb)|0)!=0)break;else{Mb=qb;Nb=ib;Ob=jb;break j}}while(0);if(!(c[sb>>2]&128)){p=52;break}Ja=c[h>>2]|0;if(nb|(Ja|0)==0){Mb=qb;Nb=ib;Ob=jb;break}if(pb){Tb=Ja;Ub=1}else{Ja=(Ov(vb)|0)!=0;Tb=c[h>>2]|0;Ub=Ja}if((Tb|0)==95)if(Ub){p=52;break}else{Mb=qb;Nb=ib;Ob=jb;break}else if(Ub^(Ov(Tb)|0)!=0){Mb=qb;Nb=ib;Ob=jb;break}else{p=52;break}}else p=52;while(0);do if((p|0)==52){p=0;if(!jb){Mb=c[l+16>>2]|0;Nb=ib;Ob=c[mb>>2]|0;break}sb=ib+28|0;Ra=c[sb>>2]|0;if(!Ra){Ja=nx(F,0,0,0,32)|0;if(!Ja){p=56;break i}c[Ja+24>>2]=ib;c[Ja+28>>2]=0;tb=nx(F,0,0,0,c[d>>2]<<2)|0;c[Ja+20>>2]=tb;if(!tb){p=63;break i}c[sb>>2]=Ja;Vb=Ja}else Vb=Ra;c[Vb>>2]=ub;c[Vb+4>>2]=r;c[Vb+8>>2]=c[mb>>2];c[Vb+12>>2]=c[l+12>>2];c[Vb+16>>2]=c[h>>2];if((c[d>>2]|0)>0){Ra=c[Vb+20>>2]|0;Ja=0;do{c[Ra+(Ja<<2)>>2]=c[Hb+(Ja<<2)>>2];Ja=Ja+1|0}while((Ja|0)<(c[d>>2]|0))}Ja=c[l+16>>2]|0;if(!Ja){Mb=qb;Nb=Vb;Ob=jb;break}Ra=c[Ja>>2]|0;if((Ra|0)<=-1){Mb=qb;Nb=Vb;Ob=jb;break}sb=c[Vb+20>>2]|0;tb=Ra;Ra=Ja;do{Ra=Ra+4|0;c[sb+(tb<<2)>>2]=ub;tb=c[Ra>>2]|0}while((tb|0)>-1);Mb=qb;Nb=Vb;Ob=jb}while(0);mb=l+40|0;if(!(c[mb>>2]|0)){Wb=Mb;Xb=Nb;Yb=Ob;break}else{qb=Mb;ib=Nb;jb=Ob;l=l+32|0}}if(Wb){l=c[Wb>>2]|0;if((l|0)>-1){jb=l;l=Wb;while(1){c[Hb+(jb<<2)>>2]=ub;ib=l+4|0;jb=c[ib>>2]|0;if((jb|0)<=-1){Zb=ib;break}else l=ib}}else Zb=Wb}else Zb=0;if(!Yb){_b=Ya;$b=Zb;ac=ub;bc=Lb;cc=Xb;dc=0;ec=r;p=174}else{fc=Ya;gc=Zb;hc=ub;ic=Lb;jc=Xb;kc=Yb;lc=r;p=82}}else{_b=Ya;$b=0;ac=ub;bc=Lb;cc=bb;dc=0;ec=r;p=174}k:while(1){l:do if((p|0)==82){p=0;if((kc|0)==(c[Ha>>2]|0)){if((fc|0)>=(hc|0)){if(!(Sa&(fc|0)==(hc|0))){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}if(!(px(c[d>>2]|0,c[Ia>>2]|0,Hb,o)|0)){_b=fc;$b=gc;ac=fc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}}if(Ta){_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}if((c[d>>2]|0)>0)mc=0;else{_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}while(1){c[o+(mc<<2)>>2]=c[Hb+(mc<<2)>>2];l=mc+1|0;if((l|0)<(c[d>>2]|0))mc=l;else{_b=hc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}}}l=kc+8|0;do if(!(c[l>>2]|0))p=97;else{if(!(c[kc+20>>2]&256)){p=97;break}jb=c[kc+24>>2]|0;qx(jb+1|0,Ib,c[a>>2]&-9,j,Hb,hc);ib=c[Ib+(jb<<3)>>2]|0;qb=c[Ib+(jb<<3)+4>>2]|0;jb=qb-ib|0;if(iw(b+ib|0,lc+-1|0,jb)|0){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}mb=(qb|0)==(ib|0);ib=mb&1;qb=Jb+(c[kc+12>>2]<<2)|0;if(mb?c[qb>>2]|0:0){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}c[qb>>2]=ib;ib=jb+-1|0;jb=lc+ib|0;qb=c[h>>2]|0;mb=hc+ic+ib|0;ib=zw(h,jb,4)|0;if((ib|0)<1)if((ib|0)<0){nc=2;oc=fc;pc=gc;qc=mb;rc=ib;sc=jc;tc=kc;uc=jb;break l}else vc=1;else vc=ib;wc=mb;xc=vc;yc=qb;zc=jb+vc|0}while(0);if((p|0)==97){p=0;jb=c[h>>2]|0;if(!jb){_b=fc;$b=gc;ac=hc;bc=ic;cc=jc;dc=kc;ec=lc;p=174;continue k}qb=hc+ic|0;mb=zw(h,lc,4)|0;if((mb|0)<1){if((mb|0)<0){nc=2;oc=fc;pc=gc;qc=qb;rc=mb;sc=jc;tc=kc;uc=lc;break}Ac=mb+1|0}else Ac=mb;wc=qb;xc=Ac;yc=jb;zc=lc+Ac|0}if(!(c[l>>2]|0)){_b=fc;$b=gc;ac=wc;bc=xc;cc=jc;dc=kc;ec=zc;p=174;continue k}jb=(wc|0)!=0;qb=(yc|0)==95;mb=(wc|0)==0;ib=La&(yc|0)==10;vb=_a&(wc|0)<1;pb=l;nb=0;rb=gc;lb=jc;ob=kc;m:while(1){n:do if((c[ob>>2]|0)>>>0>yc>>>0){Bc=nb;Cc=rb;Dc=lb}else{if((c[ob+4>>2]|0)>>>0<yc>>>0){Bc=nb;Cc=rb;Dc=lb;break}tb=ob+20|0;Ra=c[tb>>2]|0;do if(Ra|0){if(!(ib|(vb|(Ra&1|0)==0))){Bc=nb;Cc=rb;Dc=lb;break n}if(Ra&2|0?(sb=c[h>>2]|0,!((sb|z|0)==0|La&(sb|0)==10)):0){Bc=nb;Cc=rb;Dc=lb;break n}do if(Ra&16|0){if(qb){Bc=nb;Cc=rb;Dc=lb;break n}if(Ov(yc)|0){Bc=nb;Cc=rb;Dc=lb;break n}sb=c[h>>2]|0;if((sb|0)==95)break;if(!(Ov(sb)|0)){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);sb=c[tb>>2]|0;if(!(sb&32))Ec=sb;else{if(qb){sb=c[h>>2]|0;if((sb|0)==95){Bc=nb;Cc=rb;Dc=lb;break n}else Fc=sb}else{sb=(Ov(yc)|0)==0;Ja=c[h>>2]|0;if(sb|(Ja|0)==95){Bc=nb;Cc=rb;Dc=lb;break n}else Fc=Ja}if(Ov(Fc)|0){Bc=nb;Cc=rb;Dc=lb;break n}Ec=c[tb>>2]|0}Ja=c[h>>2]|0;do if((Ja|0)!=0&(jb&(Ec&64|0)!=0)){if(qb){Gc=Ja;Hc=1}else{sb=(Ov(yc)|0)!=0;Gc=c[h>>2]|0;Hc=sb}if((Gc|0)==95)if(Hc){Bc=nb;Cc=rb;Dc=lb;break n}else break;else if(Hc^(Ov(Gc)|0)!=0)break;else{Bc=nb;Cc=rb;Dc=lb;break n}}while(0);do if(c[tb>>2]&128|0){Ja=c[h>>2]|0;if(mb|(Ja|0)==0){Bc=nb;Cc=rb;Dc=lb;break n}if(qb){Ic=Ja;Jc=1}else{Ja=(Ov(yc)|0)!=0;Ic=c[h>>2]|0;Jc=Ja}if((Ic|0)==95)if(Jc)break;else{Bc=nb;Cc=rb;Dc=lb;break n}else if(Jc^(Ov(Ic)|0)!=0){Bc=nb;Cc=rb;Dc=lb;break n}else break}while(0);Ja=c[tb>>2]|0;do if(!(Ja&4))Kc=Ja;else{if(c[a>>2]&2|0){Kc=Ja;break}if(!(Nv(yc,c[ob+24>>2]|0)|0)){Bc=nb;Cc=rb;Dc=lb;break n}Kc=c[tb>>2]|0}while(0);do if(Kc&4|0){if(!(c[a>>2]&2))break;Ja=mv(yc)|0;sb=ob+24|0;if(Nv(Ja,c[sb>>2]|0)|0)break;Ja=jv(yc)|0;if(!(Nv(Ja,c[sb>>2]|0)|0)){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);if(!(c[tb>>2]&8))break;if(rx(c[ob+28>>2]|0,yc,c[a>>2]&2)|0){Bc=nb;Cc=rb;Dc=lb;break n}}while(0);if(!nb){Bc=c[pb>>2]|0;Cc=c[ob+16>>2]|0;Dc=lb;break}tb=lb+28|0;Ra=c[tb>>2]|0;if(!Ra){sb=nx(F,0,0,0,32)|0;if(!sb){Lc=rb;Mc=lb;p=148;break m}c[sb+24>>2]=lb;c[sb+28>>2]=0;Ja=nx(F,0,0,0,c[d>>2]<<2)|0;c[sb+20>>2]=Ja;if(!Ja){Nc=rb;Oc=lb;p=155;break m}c[tb>>2]=sb;Pc=sb}else Pc=Ra;c[Pc>>2]=wc;c[Pc+4>>2]=zc;c[Pc+8>>2]=c[pb>>2];c[Pc+12>>2]=c[ob+12>>2];c[Pc+16>>2]=c[h>>2];if((c[d>>2]|0)>0){Ra=c[Pc+20>>2]|0;sb=0;do{c[Ra+(sb<<2)>>2]=c[Hb+(sb<<2)>>2];sb=sb+1|0}while((sb|0)<(c[d>>2]|0))}sb=c[ob+16>>2]|0;if(!sb){Bc=nb;Cc=rb;Dc=Pc;break}Ra=c[sb>>2]|0;if((Ra|0)<=-1){Bc=nb;Cc=rb;Dc=Pc;break}tb=c[Pc+20>>2]|0;Ja=Ra;Ra=sb;do{c[tb+(Ja<<2)>>2]=wc;Ra=Ra+4|0;Ja=c[Ra>>2]|0}while((Ja|0)>-1);Bc=nb;Cc=rb;Dc=Pc}while(0);pb=ob+40|0;if(!(c[pb>>2]|0)){Qc=Bc;Rc=Cc;Sc=Dc;p=170;break}else{nb=Bc;rb=Cc;lb=Dc;ob=ob+32|0}}if((p|0)==148){p=0;mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){nc=1;oc=fc;pc=Lc;qc=wc;rc=xc;sc=Mc;tc=kc;uc=zc;break}tx(Jb);nc=1;oc=fc;pc=Lc;qc=wc;rc=xc;sc=Mc;tc=kc;uc=zc;break}else if((p|0)==155){p=0;mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){nc=1;oc=fc;pc=Nc;qc=wc;rc=xc;sc=Oc;tc=kc;uc=zc;break}tx(Jb);nc=1;oc=fc;pc=Nc;qc=wc;rc=xc;sc=Oc;tc=kc;uc=zc;break}else if((p|0)==170){p=0;if(!Qc){_b=fc;$b=Rc;ac=wc;bc=xc;cc=Sc;dc=kc;ec=zc;p=174;continue k}if(!Rc){nc=0;oc=fc;pc=0;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}ob=c[Rc>>2]|0;if((ob|0)>-1){Tc=ob;Uc=Rc}else{nc=0;oc=fc;pc=Rc;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}while(1){ob=Uc+4|0;c[Hb+(Tc<<2)>>2]=wc;Tc=c[ob>>2]|0;if((Tc|0)<=-1){nc=0;oc=fc;pc=ob;qc=wc;rc=xc;sc=Sc;tc=Qc;uc=zc;break}else Uc=ob}}}else if((p|0)==174){p=0;ob=c[cc+24>>2]|0;if(!ob){if((_b|0)>-1|(c[h>>2]|0)==0){nc=27;oc=_b;pc=$b;qc=ac;rc=bc;sc=cc;tc=dc;uc=ec;break}c[h>>2]=A;nc=3;oc=_b;pc=$b;qc=ac;rc=bc;sc=cc;tc=dc;uc=r;break}lb=c[cc+8>>2]|0;if(c[lb+20>>2]&256|0)c[Jb+(c[cc+12>>2]<<2)>>2]=0;rb=c[cc>>2]|0;nb=c[cc+4>>2]|0;c[h>>2]=c[cc+16>>2];pb=c[d>>2]|0;if((pb|0)<=0){nc=0;oc=_b;pc=$b;qc=rb;rc=bc;sc=ob;tc=lb;uc=nb;break}qb=c[cc+20>>2]|0;mb=0;do{c[Hb+(mb<<2)>>2]=c[qb+(mb<<2)>>2];mb=mb+1|0}while((mb|0)!=(pb|0));nc=0;oc=_b;pc=$b;qc=rb;rc=bc;sc=ob;tc=lb;uc=nb}while(0);switch(nc|0){case 2:{Cb=0;Db=Ib;Eb=1;Fb=Jb;Gb=Hb;break h;break}case 27:{Vc=oc;p=184;break i;break}case 0:{fc=oc;gc=pc;hc=qc;ic=rc;jc=sc;kc=tc;lc=uc;p=82;break}case 3:{break k;break}default:{Ab=12;Bb=0;break g}}}Za=c[d>>2]|0;Ya=oc;db=rc;cb=ub;bb=sc;eb=uc}if((p|0)==56){mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){Ab=12;Bb=0;break g}tx(Jb);Ab=12;Bb=0;break g}else if((p|0)==63){mx(F);if(!Va)tx(Hb);if(!Ua)tx(Ib);if($a){Ab=12;Bb=0;break g}tx(Jb);Ab=12;Bb=0;break g}else if((p|0)==184){Cb=Vc;Db=Ib;Eb=Vc>>>31;Fb=Jb;Gb=Hb;break}}while(0);mx(F);if(Gb|0)tx(Gb);if(Db|0)tx(Db);if(!Fb){Ab=Eb;Bb=Cb}else{tx(Fb);Ab=Eb;Bb=Cb}}else{Ab=12;Bb=0}while(0);yb=Bb;zb=Ab}if(!zb)qx(k,e,c[a>>2]|0,j,o,yb);if(!o)n=zb;else{tx(o);n=zb}}i=g;return n|0}function px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a:do if((a|0)>0){f=0;while(1){g=c[d+(f<<2)>>2]|0;h=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((g|0)<(h|0)){i=1;break a}if((g|0)>(h|0)){i=0;break a}}else{if((g|0)>(h|0)){i=1;break a}if((g|0)<(h|0)){i=0;break a}}f=f+1|0;if((f|0)>=(a|0)){i=0;break}}}else i=0;while(0);return i|0}function qx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if((d&8|0)==0&(g|0)>-1){d=c[e+16>>2]|0;h=e+28|0;i=c[h>>2]|0;j=(a|0)!=0;if(j&(i|0)!=0){k=e+48|0;e=0;do{l=c[d+(e*12|0)>>2]|0;if((l|0)==(c[k>>2]|0))m=g;else m=c[f+(l<<2)>>2]|0;l=b+(e<<3)|0;c[l>>2]=m;n=c[d+(e*12|0)+4>>2]|0;if((n|0)==(c[k>>2]|0))o=g;else o=c[f+(n<<2)>>2]|0;n=b+(e<<3)+4|0;c[n>>2]=o;if((m|0)==-1|(o|0)==-1){c[n>>2]=-1;c[l>>2]=-1}e=e+1|0;l=c[h>>2]|0}while(e>>>0<a>>>0&e>>>0<l>>>0);p=l}else p=i;if(j&(p|0)!=0){j=0;while(1){i=b+(j<<3)+4|0;e=c[d+(j*12|0)+8>>2]|0;if(e|0?(h=c[e>>2]|0,(h|0)>-1):0){o=b+(j<<3)|0;m=h;h=c[o>>2]|0;f=0;while(1){if((h|0)>=(c[b+(m<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(m<<3)+4>>2]|0):0)q=h;else{c[i>>2]=-1;c[o>>2]=-1;q=-1}f=f+1|0;m=c[e+(f<<2)>>2]|0;if((m|0)<=-1)break;else h=q}}h=j+1|0;if(h>>>0<a>>>0&h>>>0<p>>>0)j=h;else{r=h;break}}}else r=0}else r=0;if(r>>>0<a>>>0){j=r;do{c[b+(j<<3)>>2]=-1;c[b+(j<<3)+4>>2]=-1;j=j+1|0}while((j|0)!=(a|0))}return}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a>>2]|0;a:do if(!e)f=0;else{g=(d|0)==0;h=a;i=e;while(1){if(g){if(Nv(b,i)|0){f=1;break a}}else{j=jv(b)|0;if(Nv(j,c[h>>2]|0)|0){f=1;break a}j=mv(b)|0;if(Nv(j,c[h>>2]|0)|0){f=1;break a}}h=h+4|0;i=c[h>>2]|0;if(!i){f=0;break}}}while(0);return f|0}function sx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,Ma=0,Na=0,Oa=0;do if(a>>>0<245){b=a>>>0<11?16:a+11&-8;d=b>>>3;e=c[17791]|0;f=e>>>d;if(f&3|0){g=(f&1^1)+d|0;h=71204+(g<<1<<2)|0;i=h+8|0;j=c[i>>2]|0;k=j+8|0;l=c[k>>2]|0;do if((h|0)!=(l|0)){if(l>>>0<(c[17795]|0)>>>0)gb();m=l+12|0;if((c[m>>2]|0)==(j|0)){c[m>>2]=h;c[i>>2]=l;break}else gb()}else c[17791]=e&~(1<<g);while(0);l=g<<3;c[j+4>>2]=l|3;i=j+l+4|0;c[i>>2]=c[i>>2]|1;n=k;return n|0}i=c[17793]|0;if(b>>>0>i>>>0){if(f|0){l=2<<d;h=f<<d&(l|0-l);l=(h&0-h)+-1|0;h=l>>>12&16;m=l>>>h;l=m>>>5&8;o=m>>>l;m=o>>>2&4;p=o>>>m;o=p>>>1&2;q=p>>>o;p=q>>>1&1;r=(l|h|m|o|p)+(q>>>p)|0;p=71204+(r<<1<<2)|0;q=p+8|0;o=c[q>>2]|0;m=o+8|0;h=c[m>>2]|0;do if((p|0)!=(h|0)){if(h>>>0<(c[17795]|0)>>>0)gb();l=h+12|0;if((c[l>>2]|0)==(o|0)){c[l>>2]=p;c[q>>2]=h;s=c[17793]|0;break}else gb()}else{c[17791]=e&~(1<<r);s=i}while(0);i=(r<<3)-b|0;c[o+4>>2]=b|3;e=o+b|0;c[e+4>>2]=i|1;c[e+i>>2]=i;if(s|0){h=c[17796]|0;q=s>>>3;p=71204+(q<<1<<2)|0;d=c[17791]|0;f=1<<q;if(d&f){q=p+8|0;k=c[q>>2]|0;if(k>>>0<(c[17795]|0)>>>0)gb();else{t=q;u=k}}else{c[17791]=d|f;t=p+8|0;u=p}c[t>>2]=h;c[u+12>>2]=h;c[h+8>>2]=u;c[h+12>>2]=p}c[17793]=i;c[17796]=e;n=m;return n|0}e=c[17792]|0;if(e){i=(e&0-e)+-1|0;e=i>>>12&16;p=i>>>e;i=p>>>5&8;h=p>>>i;p=h>>>2&4;f=h>>>p;h=f>>>1&2;d=f>>>h;f=d>>>1&1;k=c[71468+((i|e|p|h|f)+(d>>>f)<<2)>>2]|0;f=(c[k+4>>2]&-8)-b|0;d=k;h=k;while(1){k=c[d+16>>2]|0;if(!k){p=c[d+20>>2]|0;if(!p){v=f;w=h;break}else x=p}else x=k;k=(c[x+4>>2]&-8)-b|0;p=k>>>0<f>>>0;f=p?k:f;d=x;h=p?x:h}h=c[17795]|0;if(w>>>0<h>>>0)gb();d=w+b|0;if(w>>>0>=d>>>0)gb();f=c[w+24>>2]|0;m=c[w+12>>2]|0;do if((m|0)==(w|0)){o=w+20|0;r=c[o>>2]|0;if(!r){p=w+16|0;k=c[p>>2]|0;if(!k){y=0;break}else{z=k;A=p}}else{z=r;A=o}while(1){o=z+20|0;r=c[o>>2]|0;if(r|0){z=r;A=o;continue}o=z+16|0;r=c[o>>2]|0;if(!r){B=z;C=A;break}else{z=r;A=o}}if(C>>>0<h>>>0)gb();else{c[C>>2]=0;y=B;break}}else{o=c[w+8>>2]|0;if(o>>>0<h>>>0)gb();r=o+12|0;if((c[r>>2]|0)!=(w|0))gb();p=m+8|0;if((c[p>>2]|0)==(w|0)){c[r>>2]=m;c[p>>2]=o;y=m;break}else gb()}while(0);do if(f|0){m=c[w+28>>2]|0;h=71468+(m<<2)|0;if((w|0)==(c[h>>2]|0)){c[h>>2]=y;if(!y){c[17792]=c[17792]&~(1<<m);break}}else{if(f>>>0<(c[17795]|0)>>>0)gb();m=f+16|0;if((c[m>>2]|0)==(w|0))c[m>>2]=y;else c[f+20>>2]=y;if(!y)break}m=c[17795]|0;if(y>>>0<m>>>0)gb();c[y+24>>2]=f;h=c[w+16>>2]|0;do if(h|0)if(h>>>0<m>>>0)gb();else{c[y+16>>2]=h;c[h+24>>2]=y;break}while(0);h=c[w+20>>2]|0;if(h|0)if(h>>>0<(c[17795]|0)>>>0)gb();else{c[y+20>>2]=h;c[h+24>>2]=y;break}}while(0);if(v>>>0<16){f=v+b|0;c[w+4>>2]=f|3;h=w+f+4|0;c[h>>2]=c[h>>2]|1}else{c[w+4>>2]=b|3;c[d+4>>2]=v|1;c[d+v>>2]=v;h=c[17793]|0;if(h|0){f=c[17796]|0;m=h>>>3;h=71204+(m<<1<<2)|0;o=c[17791]|0;p=1<<m;if(o&p){m=h+8|0;r=c[m>>2]|0;if(r>>>0<(c[17795]|0)>>>0)gb();else{D=m;E=r}}else{c[17791]=o|p;D=h+8|0;E=h}c[D>>2]=f;c[E+12>>2]=f;c[f+8>>2]=E;c[f+12>>2]=h}c[17793]=v;c[17796]=d}n=w+8|0;return n|0}else F=b}else F=b}else if(a>>>0<=4294967231){h=a+11|0;f=h&-8;p=c[17792]|0;if(p){o=0-f|0;r=h>>>8;if(r)if(f>>>0>16777215)G=31;else{h=(r+1048320|0)>>>16&8;m=r<<h;r=(m+520192|0)>>>16&4;k=m<<r;m=(k+245760|0)>>>16&2;e=14-(r|h|m)+(k<<m>>>15)|0;G=f>>>(e+7|0)&1|e<<1}else G=0;e=c[71468+(G<<2)>>2]|0;a:do if(!e){H=o;I=0;J=0;K=86}else{m=o;k=0;h=f<<((G|0)==31?0:25-(G>>>1)|0);r=e;i=0;while(1){q=c[r+4>>2]&-8;j=q-f|0;if(j>>>0<m>>>0)if((q|0)==(f|0)){L=j;M=r;N=r;K=90;break a}else{O=j;P=r}else{O=m;P=i}j=c[r+20>>2]|0;r=c[r+16+(h>>>31<<2)>>2]|0;q=(j|0)==0|(j|0)==(r|0)?k:j;j=(r|0)==0;if(j){H=O;I=q;J=P;K=86;break}else{m=O;k=q;h=h<<(j&1^1);i=P}}}while(0);if((K|0)==86){if((I|0)==0&(J|0)==0){e=2<<G;o=p&(e|0-e);if(!o){F=f;break}e=(o&0-o)+-1|0;o=e>>>12&16;b=e>>>o;e=b>>>5&8;d=b>>>e;b=d>>>2&4;i=d>>>b;d=i>>>1&2;h=i>>>d;i=h>>>1&1;Q=c[71468+((e|o|b|d|i)+(h>>>i)<<2)>>2]|0}else Q=I;if(!Q){R=H;S=J}else{L=H;M=Q;N=J;K=90}}if((K|0)==90)while(1){K=0;i=(c[M+4>>2]&-8)-f|0;h=i>>>0<L>>>0;d=h?i:L;i=h?M:N;h=c[M+16>>2]|0;if(h|0){L=d;M=h;N=i;K=90;continue}M=c[M+20>>2]|0;if(!M){R=d;S=i;break}else{L=d;N=i;K=90}}if((S|0)!=0?R>>>0<((c[17793]|0)-f|0)>>>0:0){p=c[17795]|0;if(S>>>0<p>>>0)gb();i=S+f|0;if(S>>>0>=i>>>0)gb();d=c[S+24>>2]|0;h=c[S+12>>2]|0;do if((h|0)==(S|0)){b=S+20|0;o=c[b>>2]|0;if(!o){e=S+16|0;k=c[e>>2]|0;if(!k){T=0;break}else{U=k;V=e}}else{U=o;V=b}while(1){b=U+20|0;o=c[b>>2]|0;if(o|0){U=o;V=b;continue}b=U+16|0;o=c[b>>2]|0;if(!o){W=U;X=V;break}else{U=o;V=b}}if(X>>>0<p>>>0)gb();else{c[X>>2]=0;T=W;break}}else{b=c[S+8>>2]|0;if(b>>>0<p>>>0)gb();o=b+12|0;if((c[o>>2]|0)!=(S|0))gb();e=h+8|0;if((c[e>>2]|0)==(S|0)){c[o>>2]=h;c[e>>2]=b;T=h;break}else gb()}while(0);do if(d|0){h=c[S+28>>2]|0;p=71468+(h<<2)|0;if((S|0)==(c[p>>2]|0)){c[p>>2]=T;if(!T){c[17792]=c[17792]&~(1<<h);break}}else{if(d>>>0<(c[17795]|0)>>>0)gb();h=d+16|0;if((c[h>>2]|0)==(S|0))c[h>>2]=T;else c[d+20>>2]=T;if(!T)break}h=c[17795]|0;if(T>>>0<h>>>0)gb();c[T+24>>2]=d;p=c[S+16>>2]|0;do if(p|0)if(p>>>0<h>>>0)gb();else{c[T+16>>2]=p;c[p+24>>2]=T;break}while(0);p=c[S+20>>2]|0;if(p|0)if(p>>>0<(c[17795]|0)>>>0)gb();else{c[T+20>>2]=p;c[p+24>>2]=T;break}}while(0);do if(R>>>0>=16){c[S+4>>2]=f|3;c[i+4>>2]=R|1;c[i+R>>2]=R;d=R>>>3;if(R>>>0<256){p=71204+(d<<1<<2)|0;h=c[17791]|0;b=1<<d;if(h&b){d=p+8|0;e=c[d>>2]|0;if(e>>>0<(c[17795]|0)>>>0)gb();else{Y=d;Z=e}}else{c[17791]=h|b;Y=p+8|0;Z=p}c[Y>>2]=i;c[Z+12>>2]=i;c[i+8>>2]=Z;c[i+12>>2]=p;break}p=R>>>8;if(p)if(R>>>0>16777215)_=31;else{b=(p+1048320|0)>>>16&8;h=p<<b;p=(h+520192|0)>>>16&4;e=h<<p;h=(e+245760|0)>>>16&2;d=14-(p|b|h)+(e<<h>>>15)|0;_=R>>>(d+7|0)&1|d<<1}else _=0;d=71468+(_<<2)|0;c[i+28>>2]=_;h=i+16|0;c[h+4>>2]=0;c[h>>2]=0;h=c[17792]|0;e=1<<_;if(!(h&e)){c[17792]=h|e;c[d>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}e=R<<((_|0)==31?0:25-(_>>>1)|0);h=c[d>>2]|0;while(1){if((c[h+4>>2]&-8|0)==(R|0)){$=h;K=148;break}d=h+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b){aa=d;ba=h;K=145;break}else{e=e<<1;h=b}}if((K|0)==145)if(aa>>>0<(c[17795]|0)>>>0)gb();else{c[aa>>2]=i;c[i+24>>2]=ba;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((K|0)==148){h=$+8|0;e=c[h>>2]|0;b=c[17795]|0;if(e>>>0>=b>>>0&$>>>0>=b>>>0){c[e+12>>2]=i;c[h>>2]=i;c[i+8>>2]=e;c[i+12>>2]=$;c[i+24>>2]=0;break}else gb()}}else{e=R+f|0;c[S+4>>2]=e|3;h=S+e+4|0;c[h>>2]=c[h>>2]|1}while(0);n=S+8|0;return n|0}else F=f}else F=f}else F=-1;while(0);S=c[17793]|0;if(S>>>0>=F>>>0){R=S-F|0;$=c[17796]|0;if(R>>>0>15){ba=$+F|0;c[17796]=ba;c[17793]=R;c[ba+4>>2]=R|1;c[ba+R>>2]=R;c[$+4>>2]=F|3}else{c[17793]=0;c[17796]=0;c[$+4>>2]=S|3;R=$+S+4|0;c[R>>2]=c[R>>2]|1}n=$+8|0;return n|0}$=c[17794]|0;if($>>>0>F>>>0){R=$-F|0;c[17794]=R;$=c[17797]|0;S=$+F|0;c[17797]=S;c[S+4>>2]=R|1;c[$+4>>2]=F|3;n=$+8|0;return n|0}do if(!(c[17909]|0)){$=La(30)|0;if(!($+-1&$)){c[17911]=$;c[17910]=$;c[17912]=-1;c[17913]=-1;c[17914]=0;c[17902]=0;c[17909]=(jb(0)|0)&-16^1431655768;break}else gb()}while(0);$=F+48|0;R=c[17911]|0;S=F+47|0;ba=R+S|0;aa=0-R|0;R=ba&aa;if(R>>>0<=F>>>0){n=0;return n|0}_=c[17901]|0;if(_|0?(Z=c[17899]|0,Y=Z+R|0,Y>>>0<=Z>>>0|Y>>>0>_>>>0):0){n=0;return n|0}b:do if(!(c[17902]&4)){_=c[17797]|0;c:do if(_){Y=71612;while(1){Z=c[Y>>2]|0;if(Z>>>0<=_>>>0?(T=Y+4|0,(Z+(c[T>>2]|0)|0)>>>0>_>>>0):0){ca=Y;da=T;break}Y=c[Y+8>>2]|0;if(!Y){K=173;break c}}Y=ba-(c[17794]|0)&aa;if(Y>>>0<2147483647){T=Ea(Y|0)|0;if((T|0)==((c[ca>>2]|0)+(c[da>>2]|0)|0)){if((T|0)!=(-1|0)){ea=T;fa=Y;K=193;break b}}else{ga=T;ha=Y;K=183}}}else K=173;while(0);do if((K|0)==173?(_=Ea(0)|0,(_|0)!=(-1|0)):0){f=_;Y=c[17910]|0;T=Y+-1|0;if(!(T&f))ia=R;else ia=R-f+(T+f&0-Y)|0;Y=c[17899]|0;f=Y+ia|0;if(ia>>>0>F>>>0&ia>>>0<2147483647){T=c[17901]|0;if(T|0?f>>>0<=Y>>>0|f>>>0>T>>>0:0)break;T=Ea(ia|0)|0;if((T|0)==(_|0)){ea=_;fa=ia;K=193;break b}else{ga=T;ha=ia;K=183}}}while(0);d:do if((K|0)==183){T=0-ha|0;do if($>>>0>ha>>>0&(ha>>>0<2147483647&(ga|0)!=(-1|0))?(_=c[17911]|0,f=S-ha+_&0-_,f>>>0<2147483647):0)if((Ea(f|0)|0)==(-1|0)){Ea(T|0)|0;break d}else{ja=f+ha|0;break}else ja=ha;while(0);if((ga|0)!=(-1|0)){ea=ga;fa=ja;K=193;break b}}while(0);c[17902]=c[17902]|4;K=190}else K=190;while(0);if((((K|0)==190?R>>>0<2147483647:0)?(ja=Ea(R|0)|0,R=Ea(0)|0,ja>>>0<R>>>0&((ja|0)!=(-1|0)&(R|0)!=(-1|0))):0)?(ga=R-ja|0,ga>>>0>(F+40|0)>>>0):0){ea=ja;fa=ga;K=193}if((K|0)==193){ga=(c[17899]|0)+fa|0;c[17899]=ga;if(ga>>>0>(c[17900]|0)>>>0)c[17900]=ga;ga=c[17797]|0;do if(ga){ja=71612;do{R=c[ja>>2]|0;ha=ja+4|0;S=c[ha>>2]|0;if((ea|0)==(R+S|0)){ka=R;la=ha;ma=S;na=ja;K=203;break}ja=c[ja+8>>2]|0}while((ja|0)!=0);if(((K|0)==203?(c[na+12>>2]&8|0)==0:0)?ga>>>0<ea>>>0&ga>>>0>=ka>>>0:0){c[la>>2]=ma+fa;ja=ga+8|0;S=(ja&7|0)==0?0:0-ja&7;ja=ga+S|0;ha=fa-S+(c[17794]|0)|0;c[17797]=ja;c[17794]=ha;c[ja+4>>2]=ha|1;c[ja+ha+4>>2]=40;c[17798]=c[17913];break}ha=c[17795]|0;if(ea>>>0<ha>>>0){c[17795]=ea;oa=ea}else oa=ha;ha=ea+fa|0;ja=71612;while(1){if((c[ja>>2]|0)==(ha|0)){pa=ja;qa=ja;K=211;break}ja=c[ja+8>>2]|0;if(!ja){ra=71612;break}}if((K|0)==211)if(!(c[qa+12>>2]&8)){c[pa>>2]=ea;ja=qa+4|0;c[ja>>2]=(c[ja>>2]|0)+fa;ja=ea+8|0;S=ea+((ja&7|0)==0?0:0-ja&7)|0;ja=ha+8|0;R=ha+((ja&7|0)==0?0:0-ja&7)|0;ja=S+F|0;$=R-S-F|0;c[S+4>>2]=F|3;do if((R|0)!=(ga|0)){if((R|0)==(c[17796]|0)){ia=(c[17793]|0)+$|0;c[17793]=ia;c[17796]=ja;c[ja+4>>2]=ia|1;c[ja+ia>>2]=ia;break}ia=c[R+4>>2]|0;if((ia&3|0)==1){da=ia&-8;ca=ia>>>3;e:do if(ia>>>0>=256){aa=c[R+24>>2]|0;ba=c[R+12>>2]|0;do if((ba|0)==(R|0)){T=R+16|0;f=T+4|0;_=c[f>>2]|0;if(!_){Y=c[T>>2]|0;if(!Y){sa=0;break}else{ta=Y;ua=T}}else{ta=_;ua=f}while(1){f=ta+20|0;_=c[f>>2]|0;if(_|0){ta=_;ua=f;continue}f=ta+16|0;_=c[f>>2]|0;if(!_){va=ta;wa=ua;break}else{ta=_;ua=f}}if(wa>>>0<oa>>>0)gb();else{c[wa>>2]=0;sa=va;break}}else{f=c[R+8>>2]|0;if(f>>>0<oa>>>0)gb();_=f+12|0;if((c[_>>2]|0)!=(R|0))gb();T=ba+8|0;if((c[T>>2]|0)==(R|0)){c[_>>2]=ba;c[T>>2]=f;sa=ba;break}else gb()}while(0);if(!aa)break;ba=c[R+28>>2]|0;f=71468+(ba<<2)|0;do if((R|0)!=(c[f>>2]|0)){if(aa>>>0<(c[17795]|0)>>>0)gb();T=aa+16|0;if((c[T>>2]|0)==(R|0))c[T>>2]=sa;else c[aa+20>>2]=sa;if(!sa)break e}else{c[f>>2]=sa;if(sa|0)break;c[17792]=c[17792]&~(1<<ba);break e}while(0);ba=c[17795]|0;if(sa>>>0<ba>>>0)gb();c[sa+24>>2]=aa;f=R+16|0;T=c[f>>2]|0;do if(T|0)if(T>>>0<ba>>>0)gb();else{c[sa+16>>2]=T;c[T+24>>2]=sa;break}while(0);T=c[f+4>>2]|0;if(!T)break;if(T>>>0<(c[17795]|0)>>>0)gb();else{c[sa+20>>2]=T;c[T+24>>2]=sa;break}}else{T=c[R+8>>2]|0;ba=c[R+12>>2]|0;aa=71204+(ca<<1<<2)|0;do if((T|0)!=(aa|0)){if(T>>>0<oa>>>0)gb();if((c[T+12>>2]|0)==(R|0))break;gb()}while(0);if((ba|0)==(T|0)){c[17791]=c[17791]&~(1<<ca);break}do if((ba|0)==(aa|0))xa=ba+8|0;else{if(ba>>>0<oa>>>0)gb();f=ba+8|0;if((c[f>>2]|0)==(R|0)){xa=f;break}gb()}while(0);c[T+12>>2]=ba;c[xa>>2]=T}while(0);ya=R+da|0;za=da+$|0}else{ya=R;za=$}ca=ya+4|0;c[ca>>2]=c[ca>>2]&-2;c[ja+4>>2]=za|1;c[ja+za>>2]=za;ca=za>>>3;if(za>>>0<256){ia=71204+(ca<<1<<2)|0;aa=c[17791]|0;f=1<<ca;do if(!(aa&f)){c[17791]=aa|f;Aa=ia+8|0;Ba=ia}else{ca=ia+8|0;_=c[ca>>2]|0;if(_>>>0>=(c[17795]|0)>>>0){Aa=ca;Ba=_;break}gb()}while(0);c[Aa>>2]=ja;c[Ba+12>>2]=ja;c[ja+8>>2]=Ba;c[ja+12>>2]=ia;break}f=za>>>8;do if(!f)Ca=0;else{if(za>>>0>16777215){Ca=31;break}aa=(f+1048320|0)>>>16&8;da=f<<aa;_=(da+520192|0)>>>16&4;ca=da<<_;da=(ca+245760|0)>>>16&2;Y=14-(_|aa|da)+(ca<<da>>>15)|0;Ca=za>>>(Y+7|0)&1|Y<<1}while(0);f=71468+(Ca<<2)|0;c[ja+28>>2]=Ca;ia=ja+16|0;c[ia+4>>2]=0;c[ia>>2]=0;ia=c[17792]|0;Y=1<<Ca;if(!(ia&Y)){c[17792]=ia|Y;c[f>>2]=ja;c[ja+24>>2]=f;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}Y=za<<((Ca|0)==31?0:25-(Ca>>>1)|0);ia=c[f>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(za|0)){Da=ia;K=281;break}f=ia+16+(Y>>>31<<2)|0;da=c[f>>2]|0;if(!da){Fa=f;Ga=ia;K=278;break}else{Y=Y<<1;ia=da}}if((K|0)==278)if(Fa>>>0<(c[17795]|0)>>>0)gb();else{c[Fa>>2]=ja;c[ja+24>>2]=Ga;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}else if((K|0)==281){ia=Da+8|0;Y=c[ia>>2]|0;da=c[17795]|0;if(Y>>>0>=da>>>0&Da>>>0>=da>>>0){c[Y+12>>2]=ja;c[ia>>2]=ja;c[ja+8>>2]=Y;c[ja+12>>2]=Da;c[ja+24>>2]=0;break}else gb()}}else{Y=(c[17794]|0)+$|0;c[17794]=Y;c[17797]=ja;c[ja+4>>2]=Y|1}while(0);n=S+8|0;return n|0}else ra=71612;while(1){ja=c[ra>>2]|0;if(ja>>>0<=ga>>>0?($=ja+(c[ra+4>>2]|0)|0,$>>>0>ga>>>0):0){Ha=$;break}ra=c[ra+8>>2]|0}S=Ha+-47|0;$=S+8|0;ja=S+(($&7|0)==0?0:0-$&7)|0;$=ga+16|0;S=ja>>>0<$>>>0?ga:ja;ja=S+8|0;R=ea+8|0;ha=(R&7|0)==0?0:0-R&7;R=ea+ha|0;Y=fa+-40-ha|0;c[17797]=R;c[17794]=Y;c[R+4>>2]=Y|1;c[R+Y+4>>2]=40;c[17798]=c[17913];Y=S+4|0;c[Y>>2]=27;c[ja>>2]=c[17903];c[ja+4>>2]=c[17904];c[ja+8>>2]=c[17905];c[ja+12>>2]=c[17906];c[17903]=ea;c[17904]=fa;c[17906]=0;c[17905]=ja;ja=S+24|0;do{ja=ja+4|0;c[ja>>2]=7}while((ja+4|0)>>>0<Ha>>>0);if((S|0)!=(ga|0)){ja=S-ga|0;c[Y>>2]=c[Y>>2]&-2;c[ga+4>>2]=ja|1;c[S>>2]=ja;R=ja>>>3;if(ja>>>0<256){ha=71204+(R<<1<<2)|0;ia=c[17791]|0;da=1<<R;if(ia&da){R=ha+8|0;f=c[R>>2]|0;if(f>>>0<(c[17795]|0)>>>0)gb();else{Ia=R;Ja=f}}else{c[17791]=ia|da;Ia=ha+8|0;Ja=ha}c[Ia>>2]=ga;c[Ja+12>>2]=ga;c[ga+8>>2]=Ja;c[ga+12>>2]=ha;break}ha=ja>>>8;if(ha)if(ja>>>0>16777215)Ka=31;else{da=(ha+1048320|0)>>>16&8;ia=ha<<da;ha=(ia+520192|0)>>>16&4;f=ia<<ha;ia=(f+245760|0)>>>16&2;R=14-(ha|da|ia)+(f<<ia>>>15)|0;Ka=ja>>>(R+7|0)&1|R<<1}else Ka=0;R=71468+(Ka<<2)|0;c[ga+28>>2]=Ka;c[ga+20>>2]=0;c[$>>2]=0;ia=c[17792]|0;f=1<<Ka;if(!(ia&f)){c[17792]=ia|f;c[R>>2]=ga;c[ga+24>>2]=R;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}f=ja<<((Ka|0)==31?0:25-(Ka>>>1)|0);ia=c[R>>2]|0;while(1){if((c[ia+4>>2]&-8|0)==(ja|0)){Ma=ia;K=307;break}R=ia+16+(f>>>31<<2)|0;da=c[R>>2]|0;if(!da){Na=R;Oa=ia;K=304;break}else{f=f<<1;ia=da}}if((K|0)==304)if(Na>>>0<(c[17795]|0)>>>0)gb();else{c[Na>>2]=ga;c[ga+24>>2]=Oa;c[ga+12>>2]=ga;c[ga+8>>2]=ga;break}else if((K|0)==307){ia=Ma+8|0;f=c[ia>>2]|0;ja=c[17795]|0;if(f>>>0>=ja>>>0&Ma>>>0>=ja>>>0){c[f+12>>2]=ga;c[ia>>2]=ga;c[ga+8>>2]=f;c[ga+12>>2]=Ma;c[ga+24>>2]=0;break}else gb()}}}else{f=c[17795]|0;if((f|0)==0|ea>>>0<f>>>0)c[17795]=ea;c[17903]=ea;c[17904]=fa;c[17906]=0;c[17800]=c[17909];c[17799]=-1;f=0;do{ia=71204+(f<<1<<2)|0;c[ia+12>>2]=ia;c[ia+8>>2]=ia;f=f+1|0}while((f|0)!=32);f=ea+8|0;ia=(f&7|0)==0?0:0-f&7;f=ea+ia|0;ja=fa+-40-ia|0;c[17797]=f;c[17794]=ja;c[f+4>>2]=ja|1;c[f+ja+4>>2]=40;c[17798]=c[17913]}while(0);fa=c[17794]|0;if(fa>>>0>F>>>0){ea=fa-F|0;c[17794]=ea;fa=c[17797]|0;ga=fa+F|0;c[17797]=ga;c[ga+4>>2]=ea|1;c[fa+4>>2]=F|3;n=fa+8|0;return n|0}}c[(Yu()|0)>>2]=12;n=0;return n|0}function tx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if(!a)return;b=a+-8|0;d=c[17795]|0;if(b>>>0<d>>>0)gb();e=c[a+-4>>2]|0;a=e&3;if((a|0)==1)gb();f=e&-8;g=b+f|0;do if(!(e&1)){h=c[b>>2]|0;if(!a)return;i=b+(0-h)|0;j=h+f|0;if(i>>>0<d>>>0)gb();if((i|0)==(c[17796]|0)){k=g+4|0;l=c[k>>2]|0;if((l&3|0)!=3){m=i;n=j;break}c[17793]=j;c[k>>2]=l&-2;c[i+4>>2]=j|1;c[i+j>>2]=j;return}l=h>>>3;if(h>>>0<256){h=c[i+8>>2]|0;k=c[i+12>>2]|0;o=71204+(l<<1<<2)|0;if((h|0)!=(o|0)){if(h>>>0<d>>>0)gb();if((c[h+12>>2]|0)!=(i|0))gb()}if((k|0)==(h|0)){c[17791]=c[17791]&~(1<<l);m=i;n=j;break}if((k|0)!=(o|0)){if(k>>>0<d>>>0)gb();o=k+8|0;if((c[o>>2]|0)==(i|0))p=o;else gb()}else p=k+8|0;c[h+12>>2]=k;c[p>>2]=h;m=i;n=j;break}h=c[i+24>>2]|0;k=c[i+12>>2]|0;do if((k|0)==(i|0)){o=i+16|0;l=o+4|0;q=c[l>>2]|0;if(!q){r=c[o>>2]|0;if(!r){s=0;break}else{t=r;u=o}}else{t=q;u=l}while(1){l=t+20|0;q=c[l>>2]|0;if(q|0){t=q;u=l;continue}l=t+16|0;q=c[l>>2]|0;if(!q){v=t;w=u;break}else{t=q;u=l}}if(w>>>0<d>>>0)gb();else{c[w>>2]=0;s=v;break}}else{l=c[i+8>>2]|0;if(l>>>0<d>>>0)gb();q=l+12|0;if((c[q>>2]|0)!=(i|0))gb();o=k+8|0;if((c[o>>2]|0)==(i|0)){c[q>>2]=k;c[o>>2]=l;s=k;break}else gb()}while(0);if(h){k=c[i+28>>2]|0;l=71468+(k<<2)|0;if((i|0)==(c[l>>2]|0)){c[l>>2]=s;if(!s){c[17792]=c[17792]&~(1<<k);m=i;n=j;break}}else{if(h>>>0<(c[17795]|0)>>>0)gb();k=h+16|0;if((c[k>>2]|0)==(i|0))c[k>>2]=s;else c[h+20>>2]=s;if(!s){m=i;n=j;break}}k=c[17795]|0;if(s>>>0<k>>>0)gb();c[s+24>>2]=h;l=i+16|0;o=c[l>>2]|0;do if(o|0)if(o>>>0<k>>>0)gb();else{c[s+16>>2]=o;c[o+24>>2]=s;break}while(0);o=c[l+4>>2]|0;if(o)if(o>>>0<(c[17795]|0)>>>0)gb();else{c[s+20>>2]=o;c[o+24>>2]=s;m=i;n=j;break}else{m=i;n=j}}else{m=i;n=j}}else{m=b;n=f}while(0);if(m>>>0>=g>>>0)gb();f=g+4|0;b=c[f>>2]|0;if(!(b&1))gb();if(!(b&2)){if((g|0)==(c[17797]|0)){s=(c[17794]|0)+n|0;c[17794]=s;c[17797]=m;c[m+4>>2]=s|1;if((m|0)!=(c[17796]|0))return;c[17796]=0;c[17793]=0;return}if((g|0)==(c[17796]|0)){s=(c[17793]|0)+n|0;c[17793]=s;c[17796]=m;c[m+4>>2]=s|1;c[m+s>>2]=s;return}s=(b&-8)+n|0;d=b>>>3;do if(b>>>0>=256){v=c[g+24>>2]|0;w=c[g+12>>2]|0;do if((w|0)==(g|0)){u=g+16|0;t=u+4|0;p=c[t>>2]|0;if(!p){a=c[u>>2]|0;if(!a){x=0;break}else{y=a;z=u}}else{y=p;z=t}while(1){t=y+20|0;p=c[t>>2]|0;if(p|0){y=p;z=t;continue}t=y+16|0;p=c[t>>2]|0;if(!p){A=y;B=z;break}else{y=p;z=t}}if(B>>>0<(c[17795]|0)>>>0)gb();else{c[B>>2]=0;x=A;break}}else{t=c[g+8>>2]|0;if(t>>>0<(c[17795]|0)>>>0)gb();p=t+12|0;if((c[p>>2]|0)!=(g|0))gb();u=w+8|0;if((c[u>>2]|0)==(g|0)){c[p>>2]=w;c[u>>2]=t;x=w;break}else gb()}while(0);if(v|0){w=c[g+28>>2]|0;j=71468+(w<<2)|0;if((g|0)==(c[j>>2]|0)){c[j>>2]=x;if(!x){c[17792]=c[17792]&~(1<<w);break}}else{if(v>>>0<(c[17795]|0)>>>0)gb();w=v+16|0;if((c[w>>2]|0)==(g|0))c[w>>2]=x;else c[v+20>>2]=x;if(!x)break}w=c[17795]|0;if(x>>>0<w>>>0)gb();c[x+24>>2]=v;j=g+16|0;i=c[j>>2]|0;do if(i|0)if(i>>>0<w>>>0)gb();else{c[x+16>>2]=i;c[i+24>>2]=x;break}while(0);i=c[j+4>>2]|0;if(i|0)if(i>>>0<(c[17795]|0)>>>0)gb();else{c[x+20>>2]=i;c[i+24>>2]=x;break}}}else{i=c[g+8>>2]|0;w=c[g+12>>2]|0;v=71204+(d<<1<<2)|0;if((i|0)!=(v|0)){if(i>>>0<(c[17795]|0)>>>0)gb();if((c[i+12>>2]|0)!=(g|0))gb()}if((w|0)==(i|0)){c[17791]=c[17791]&~(1<<d);break}if((w|0)!=(v|0)){if(w>>>0<(c[17795]|0)>>>0)gb();v=w+8|0;if((c[v>>2]|0)==(g|0))C=v;else gb()}else C=w+8|0;c[i+12>>2]=w;c[C>>2]=i}while(0);c[m+4>>2]=s|1;c[m+s>>2]=s;if((m|0)==(c[17796]|0)){c[17793]=s;return}else D=s}else{c[f>>2]=b&-2;c[m+4>>2]=n|1;c[m+n>>2]=n;D=n}n=D>>>3;if(D>>>0<256){b=71204+(n<<1<<2)|0;f=c[17791]|0;s=1<<n;if(f&s){n=b+8|0;C=c[n>>2]|0;if(C>>>0<(c[17795]|0)>>>0)gb();else{E=n;F=C}}else{c[17791]=f|s;E=b+8|0;F=b}c[E>>2]=m;c[F+12>>2]=m;c[m+8>>2]=F;c[m+12>>2]=b;return}b=D>>>8;if(b)if(D>>>0>16777215)G=31;else{F=(b+1048320|0)>>>16&8;E=b<<F;b=(E+520192|0)>>>16&4;s=E<<b;E=(s+245760|0)>>>16&2;f=14-(b|F|E)+(s<<E>>>15)|0;G=D>>>(f+7|0)&1|f<<1}else G=0;f=71468+(G<<2)|0;c[m+28>>2]=G;c[m+20>>2]=0;c[m+16>>2]=0;E=c[17792]|0;s=1<<G;do if(E&s){F=D<<((G|0)==31?0:25-(G>>>1)|0);b=c[f>>2]|0;while(1){if((c[b+4>>2]&-8|0)==(D|0)){H=b;I=130;break}C=b+16+(F>>>31<<2)|0;n=c[C>>2]|0;if(!n){J=C;K=b;I=127;break}else{F=F<<1;b=n}}if((I|0)==127)if(J>>>0<(c[17795]|0)>>>0)gb();else{c[J>>2]=m;c[m+24>>2]=K;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((I|0)==130){b=H+8|0;F=c[b>>2]|0;j=c[17795]|0;if(F>>>0>=j>>>0&H>>>0>=j>>>0){c[F+12>>2]=m;c[b>>2]=m;c[m+8>>2]=F;c[m+12>>2]=H;c[m+24>>2]=0;break}else gb()}}else{c[17792]=E|s;c[f>>2]=m;c[m+24>>2]=f;c[m+12>>2]=m;c[m+8>>2]=m}while(0);m=(c[17799]|0)+-1|0;c[17799]=m;if(!m)L=71620;else return;while(1){m=c[L>>2]|0;if(!m)break;else L=m+8|0}c[17799]=-1;return}function ux(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=sx(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Fx(d|0,0,e|0)|0;return d|0}function vx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=sx(b)|0;return d|0}if(b>>>0>4294967231){c[(Yu()|0)>>2]=12;d=0;return d|0}e=wx(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=sx(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;Dx(e|0,a|0,(g>>>0<b>>>0?g:b)|0)|0;tx(a);d=e;return d|0}function wx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;h=c[17795]|0;i=e&3;if(!((i|0)!=1&a>>>0>=h>>>0&a>>>0<g>>>0))gb();j=c[g+4>>2]|0;if(!(j&1))gb();if(!i){if(b>>>0<256){k=0;return k|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[17911]<<1>>>0:0){k=a;return k|0}k=0;return k|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){k=a;return k|0}l=a+b|0;c[d>>2]=e&1|b|2;c[l+4>>2]=i|3;m=l+i+4|0;c[m>>2]=c[m>>2]|1;xx(l,i);k=a;return k|0}if((g|0)==(c[17797]|0)){i=(c[17794]|0)+f|0;if(i>>>0<=b>>>0){k=0;return k|0}l=i-b|0;i=a+b|0;c[d>>2]=e&1|b|2;c[i+4>>2]=l|1;c[17797]=i;c[17794]=l;k=a;return k|0}if((g|0)==(c[17796]|0)){l=(c[17793]|0)+f|0;if(l>>>0<b>>>0){k=0;return k|0}i=l-b|0;if(i>>>0>15){m=a+b|0;n=m+i|0;c[d>>2]=e&1|b|2;c[m+4>>2]=i|1;c[n>>2]=i;o=n+4|0;c[o>>2]=c[o>>2]&-2;p=m;q=i}else{c[d>>2]=e&1|l|2;i=a+l+4|0;c[i>>2]=c[i>>2]|1;p=0;q=0}c[17793]=q;c[17796]=p;k=a;return k|0}if(j&2|0){k=0;return k|0}p=(j&-8)+f|0;if(p>>>0<b>>>0){k=0;return k|0}f=p-b|0;q=j>>>3;do if(j>>>0>=256){i=c[g+24>>2]|0;l=c[g+12>>2]|0;do if((l|0)==(g|0)){m=g+16|0;o=m+4|0;n=c[o>>2]|0;if(!n){r=c[m>>2]|0;if(!r){s=0;break}else{t=r;u=m}}else{t=n;u=o}while(1){o=t+20|0;n=c[o>>2]|0;if(n|0){t=n;u=o;continue}o=t+16|0;n=c[o>>2]|0;if(!n){v=t;w=u;break}else{t=n;u=o}}if(w>>>0<h>>>0)gb();else{c[w>>2]=0;s=v;break}}else{o=c[g+8>>2]|0;if(o>>>0<h>>>0)gb();n=o+12|0;if((c[n>>2]|0)!=(g|0))gb();m=l+8|0;if((c[m>>2]|0)==(g|0)){c[n>>2]=l;c[m>>2]=o;s=l;break}else gb()}while(0);if(i|0){l=c[g+28>>2]|0;o=71468+(l<<2)|0;if((g|0)==(c[o>>2]|0)){c[o>>2]=s;if(!s){c[17792]=c[17792]&~(1<<l);break}}else{if(i>>>0<(c[17795]|0)>>>0)gb();l=i+16|0;if((c[l>>2]|0)==(g|0))c[l>>2]=s;else c[i+20>>2]=s;if(!s)break}l=c[17795]|0;if(s>>>0<l>>>0)gb();c[s+24>>2]=i;o=g+16|0;m=c[o>>2]|0;do if(m|0)if(m>>>0<l>>>0)gb();else{c[s+16>>2]=m;c[m+24>>2]=s;break}while(0);m=c[o+4>>2]|0;if(m|0)if(m>>>0<(c[17795]|0)>>>0)gb();else{c[s+20>>2]=m;c[m+24>>2]=s;break}}}else{m=c[g+8>>2]|0;l=c[g+12>>2]|0;i=71204+(q<<1<<2)|0;if((m|0)!=(i|0)){if(m>>>0<h>>>0)gb();if((c[m+12>>2]|0)!=(g|0))gb()}if((l|0)==(m|0)){c[17791]=c[17791]&~(1<<q);break}if((l|0)!=(i|0)){if(l>>>0<h>>>0)gb();i=l+8|0;if((c[i>>2]|0)==(g|0))x=i;else gb()}else x=l+8|0;c[m+12>>2]=l;c[x>>2]=m}while(0);if(f>>>0<16){c[d>>2]=p|e&1|2;x=a+p+4|0;c[x>>2]=c[x>>2]|1;k=a;return k|0}else{x=a+b|0;c[d>>2]=e&1|b|2;c[x+4>>2]=f|3;b=x+f+4|0;c[b>>2]=c[b>>2]|1;xx(x,f);k=a;return k|0}return 0}function xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;i=c[17795]|0;if(g>>>0<i>>>0)gb();if((g|0)==(c[17796]|0)){j=d+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=g;m=h;break}c[17793]=h;c[j>>2]=k&-2;c[g+4>>2]=h|1;c[g+h>>2]=h;return}k=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;j=c[g+12>>2]|0;n=71204+(k<<1<<2)|0;if((f|0)!=(n|0)){if(f>>>0<i>>>0)gb();if((c[f+12>>2]|0)!=(g|0))gb()}if((j|0)==(f|0)){c[17791]=c[17791]&~(1<<k);l=g;m=h;break}if((j|0)!=(n|0)){if(j>>>0<i>>>0)gb();n=j+8|0;if((c[n>>2]|0)==(g|0))o=n;else gb()}else o=j+8|0;c[f+12>>2]=j;c[o>>2]=f;l=g;m=h;break}f=c[g+24>>2]|0;j=c[g+12>>2]|0;do if((j|0)==(g|0)){n=g+16|0;k=n+4|0;p=c[k>>2]|0;if(!p){q=c[n>>2]|0;if(!q){r=0;break}else{s=q;t=n}}else{s=p;t=k}while(1){k=s+20|0;p=c[k>>2]|0;if(p|0){s=p;t=k;continue}k=s+16|0;p=c[k>>2]|0;if(!p){u=s;v=t;break}else{s=p;t=k}}if(v>>>0<i>>>0)gb();else{c[v>>2]=0;r=u;break}}else{k=c[g+8>>2]|0;if(k>>>0<i>>>0)gb();p=k+12|0;if((c[p>>2]|0)!=(g|0))gb();n=j+8|0;if((c[n>>2]|0)==(g|0)){c[p>>2]=j;c[n>>2]=k;r=j;break}else gb()}while(0);if(f){j=c[g+28>>2]|0;i=71468+(j<<2)|0;if((g|0)==(c[i>>2]|0)){c[i>>2]=r;if(!r){c[17792]=c[17792]&~(1<<j);l=g;m=h;break}}else{if(f>>>0<(c[17795]|0)>>>0)gb();j=f+16|0;if((c[j>>2]|0)==(g|0))c[j>>2]=r;else c[f+20>>2]=r;if(!r){l=g;m=h;break}}j=c[17795]|0;if(r>>>0<j>>>0)gb();c[r+24>>2]=f;i=g+16|0;k=c[i>>2]|0;do if(k|0)if(k>>>0<j>>>0)gb();else{c[r+16>>2]=k;c[k+24>>2]=r;break}while(0);k=c[i+4>>2]|0;if(k)if(k>>>0<(c[17795]|0)>>>0)gb();else{c[r+20>>2]=k;c[k+24>>2]=r;l=g;m=h;break}else{l=g;m=h}}else{l=g;m=h}}else{l=a;m=b}while(0);b=c[17795]|0;if(d>>>0<b>>>0)gb();a=d+4|0;r=c[a>>2]|0;if(!(r&2)){if((d|0)==(c[17797]|0)){u=(c[17794]|0)+m|0;c[17794]=u;c[17797]=l;c[l+4>>2]=u|1;if((l|0)!=(c[17796]|0))return;c[17796]=0;c[17793]=0;return}if((d|0)==(c[17796]|0)){u=(c[17793]|0)+m|0;c[17793]=u;c[17796]=l;c[l+4>>2]=u|1;c[l+u>>2]=u;return}u=(r&-8)+m|0;v=r>>>3;do if(r>>>0>=256){t=c[d+24>>2]|0;s=c[d+12>>2]|0;do if((s|0)==(d|0)){o=d+16|0;e=o+4|0;k=c[e>>2]|0;if(!k){j=c[o>>2]|0;if(!j){w=0;break}else{x=j;y=o}}else{x=k;y=e}while(1){e=x+20|0;k=c[e>>2]|0;if(k|0){x=k;y=e;continue}e=x+16|0;k=c[e>>2]|0;if(!k){z=x;A=y;break}else{x=k;y=e}}if(A>>>0<b>>>0)gb();else{c[A>>2]=0;w=z;break}}else{e=c[d+8>>2]|0;if(e>>>0<b>>>0)gb();k=e+12|0;if((c[k>>2]|0)!=(d|0))gb();o=s+8|0;if((c[o>>2]|0)==(d|0)){c[k>>2]=s;c[o>>2]=e;w=s;break}else gb()}while(0);if(t|0){s=c[d+28>>2]|0;h=71468+(s<<2)|0;if((d|0)==(c[h>>2]|0)){c[h>>2]=w;if(!w){c[17792]=c[17792]&~(1<<s);break}}else{if(t>>>0<(c[17795]|0)>>>0)gb();s=t+16|0;if((c[s>>2]|0)==(d|0))c[s>>2]=w;else c[t+20>>2]=w;if(!w)break}s=c[17795]|0;if(w>>>0<s>>>0)gb();c[w+24>>2]=t;h=d+16|0;g=c[h>>2]|0;do if(g|0)if(g>>>0<s>>>0)gb();else{c[w+16>>2]=g;c[g+24>>2]=w;break}while(0);g=c[h+4>>2]|0;if(g|0)if(g>>>0<(c[17795]|0)>>>0)gb();else{c[w+20>>2]=g;c[g+24>>2]=w;break}}}else{g=c[d+8>>2]|0;s=c[d+12>>2]|0;t=71204+(v<<1<<2)|0;if((g|0)!=(t|0)){if(g>>>0<b>>>0)gb();if((c[g+12>>2]|0)!=(d|0))gb()}if((s|0)==(g|0)){c[17791]=c[17791]&~(1<<v);break}if((s|0)!=(t|0)){if(s>>>0<b>>>0)gb();t=s+8|0;if((c[t>>2]|0)==(d|0))B=t;else gb()}else B=s+8|0;c[g+12>>2]=s;c[B>>2]=g}while(0);c[l+4>>2]=u|1;c[l+u>>2]=u;if((l|0)==(c[17796]|0)){c[17793]=u;return}else C=u}else{c[a>>2]=r&-2;c[l+4>>2]=m|1;c[l+m>>2]=m;C=m}m=C>>>3;if(C>>>0<256){r=71204+(m<<1<<2)|0;a=c[17791]|0;u=1<<m;if(a&u){m=r+8|0;B=c[m>>2]|0;if(B>>>0<(c[17795]|0)>>>0)gb();else{D=m;E=B}}else{c[17791]=a|u;D=r+8|0;E=r}c[D>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=r;return}r=C>>>8;if(r)if(C>>>0>16777215)F=31;else{E=(r+1048320|0)>>>16&8;D=r<<E;r=(D+520192|0)>>>16&4;u=D<<r;D=(u+245760|0)>>>16&2;a=14-(r|E|D)+(u<<D>>>15)|0;F=C>>>(a+7|0)&1|a<<1}else F=0;a=71468+(F<<2)|0;c[l+28>>2]=F;c[l+20>>2]=0;c[l+16>>2]=0;D=c[17792]|0;u=1<<F;if(!(D&u)){c[17792]=D|u;c[a>>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l;return}u=C<<((F|0)==31?0:25-(F>>>1)|0);F=c[a>>2]|0;while(1){if((c[F+4>>2]&-8|0)==(C|0)){G=F;H=127;break}a=F+16+(u>>>31<<2)|0;D=c[a>>2]|0;if(!D){I=a;J=F;H=124;break}else{u=u<<1;F=D}}if((H|0)==124){if(I>>>0<(c[17795]|0)>>>0)gb();c[I>>2]=l;c[l+24>>2]=J;c[l+12>>2]=l;c[l+8>>2]=l;return}else if((H|0)==127){H=G+8|0;J=c[H>>2]|0;I=c[17795]|0;if(!(J>>>0>=I>>>0&G>>>0>=I>>>0))gb();c[J+12>>2]=l;c[H>>2]=l;c[l+8>>2]=J;c[l+12>>2]=G;c[l+24>>2]=0;return}}function yx(){}function zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (C=e,a-c>>>0|0)|0}function Ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (C=b+d+(e>>>0<a>>>0|0)>>>0,e|0)|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=(b|0)<0?-1:0;return b>>c-32|0}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}C=0;return b>>>c-32|0}function Dx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Pa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function Ex(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else Dx(b,c,d)|0;return b|0}function Fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;g=b&3;h=d|d<<8|d<<16|d<<24;i=f&~3;if(g){g=b+4-g|0;while((b|0)<(g|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(i|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function Gx(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function Hx(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}C=a<<c-32;return 0}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=_(d,c)|0;f=a>>>16;a=(e>>>16)+(_(d,f)|0)|0;d=b>>>16;b=_(d,c)|0;return (C=(a>>>16)+(_(d,f)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|e&65535|0)|0}function Kx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=zx(e^a|0,f^b|0,e|0,f|0)|0;b=C;a=g^e;e=h^f;return zx((Px(i,b,zx(g^c|0,h^d|0,g|0,h|0)|0,C,0)|0)^a|0,C^e|0,a|0,e|0)|0}function Lx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;i=i+16|0;g=f|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;m=zx(h^a|0,j^b|0,h|0,j|0)|0;b=C;Px(m,b,zx(k^d|0,l^e|0,k|0,l|0)|0,C,g)|0;l=zx(c[g>>2]^h|0,c[g+4>>2]^j|0,h|0,j|0)|0;j=C;i=f;return (C=j,l)|0}function Mx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=Jx(e,a)|0;f=C;return (C=(_(b,a)|0)+(_(d,e)|0)+f|f&0,c|0|0)|0}function Nx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Px(a,b,c,d,0)|0}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f|0;Px(a,b,d,e,g)|0;i=f;return (C=c[g+4>>2]|0,c[g>>2]|0)|0}function Px(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (C=n,o)|0}else{if(!m){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (C=n,o)|0}}m=(l|0)==0;do if(j){if(!m){p=(aa(l|0)|0)-(aa(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<<r;v=i>>>(q>>>0)&s;w=0;x=g<<r;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}r=j-1|0;if(r&j|0){s=(aa(j|0)|0)+33-(aa(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<<p|g>>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<<q&y;x=(i<<q|g>>>(z>>>0))&y|g<<p&s-33>>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (C=n,o)|0}else{r=Gx(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (C=n,o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (C=n,o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (C=n,o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((Gx(l|0)|0)>>>0);return (C=n,o)|0}r=(aa(l|0)|0)-(aa(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<<p|g>>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<<p;break}if(!f){n=0;o=0;return (C=n,o)|0}c[f>>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (C=n,o)|0}while(0);if(!t){B=x;D=w;E=v;F=u;G=0;H=0}else{b=d|0|0;d=k|e&0;e=Ax(b|0,d|0,-1,-1)|0;k=C;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;zx(e|0,k|0,g|0,a|0)|0;i=C;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=zx(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=C;u=u-1|0}while((u|0)!=0);B=h;D=x;E=w;F=v;G=0;H=t}t=D;D=0;if(f|0){c[f>>2]=F;c[f+4>>2]=E}n=(t|0)>>>31|(B|D)<<1|(D<<1|t>>>31)&0|G;o=(t<<1|0>>>31)&-2|H;return (C=n,o)|0}function Qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return vb[a&63](b|0,c|0,d|0)|0}function Rx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wb[a&15](b|0,c|0,d|0,e|0,f|0)}function Sx(a,b){a=a|0;b=b|0;xb[a&15](b|0)}function Tx(a,b,c){a=a|0;b=b|0;c=c|0;yb[a&7](b|0,c|0)}function Ux(a,b){a=a|0;b=b|0;return zb[a&15](b|0)|0}function Vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ab[a&7](b|0,c|0,d|0)}function Wx(a){a=a|0;Bb[a&3]()}function Xx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Cb[a&7](b|0,c|0,d|0,e|0)|0}function Yx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Db[a&1](b|0,c|0,d|0,e|0,f|0,g|0)}function Zx(a,b,c){a=a|0;b=b|0;c=c|0;return Eb[a&7](b|0,c|0)|0}function _x(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Fb[a&1](b|0,c|0,d|0,e|0)}function $x(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function ay(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(1)}function by(a){a=a|0;ba(2)}function cy(a,b){a=a|0;b=b|0;ba(3)}function dy(a){a=a|0;ba(4);return 0}function ey(a,b,c){a=a|0;b=b|0;c=c|0;ba(5)}function fy(){ba(6)}function gy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(7);return 0}function hy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(8)}function iy(a,b){a=a|0;b=b|0;ba(9);return 0}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10)}
-function jn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=i;i=i+64|0;h=g;j=g+36|0;k=g+32|0;l=g+28|0;m=g+24|0;n=g+20|0;o=g+16|0;p=g+12|0;q=g+8|0;r=g+4|0;s=g+56|0;t=g+55|0;u=g+54|0;v=g+53|0;w=g+52|0;x=g+51|0;y=g+50|0;z=g+49|0;A=g+48|0;B=g+47|0;C=g+46|0;D=g+45|0;E=g+44|0;F=g+43|0;G=g+42|0;H=g+41|0;I=g+40|0;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;a[s>>0]=0;a[t>>0]=0;a[u>>0]=0;a[v>>0]=0;a[w>>0]=0;a[x>>0]=0;a[y>>0]=0;a[z>>0]=0;a[A>>0]=0;a[B>>0]=0;a[C>>0]=0;a[D>>0]=0;a[E>>0]=0;a[F>>0]=0;a[G>>0]=0;a[H>>0]=0;if(((c[m>>2]|0)-16|16|0)!=16){c[j>>2]=44;J=c[j>>2]|0;i=g;return J|0}if((c[17704]|0)==0?(c[17704]=1,c[17705]=kn()|0,c[17705]|0):0){c[h>>2]=c[17705];Af(43706,h)}if(c[17705]|0){c[j>>2]=50;J=c[j>>2]|0;i=g;return J|0}if(a[c[l>>2]>>0]|0){a[I>>0]=a[43710+((d[c[l>>2]>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+1>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+1>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+2>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+2>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+3>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+3>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+4>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+4>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+5>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+5>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+6>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+6>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+7>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+7>>0]|0)-1)>>0]|0;a[s>>0]=d[s>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[t>>0]=d[t>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[u>>0]=d[u>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[v>>0]=d[v>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if(a[(c[l>>2]|0)+8>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+8>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+9>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+9>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+10>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+10>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+11>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+11>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+12>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+12>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+13>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+13>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+14>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+14>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+15>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+15>>0]|0)-1)>>0]|0;a[w>>0]=d[w>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[x>>0]=d[x>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[y>>0]=d[y>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[z>>0]=d[z>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if((c[m>>2]|0)==32){if(a[(c[l>>2]|0)+16>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+16>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+17>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+17>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+18>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+18>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+19>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+19>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+20>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+20>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+21>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+21>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+22>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+22>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+23>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+23>>0]|0)-1)>>0]|0;a[A>>0]=d[A>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[B>>0]=d[B>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[C>>0]=d[C>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[D>>0]=d[D>>0]^d[43965+((d[I>>0]|0)+23)>>0]}if(a[(c[l>>2]|0)+24>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+24>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+0)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+1)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+45)>>0]}if(a[(c[l>>2]|0)+25>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+25>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+45)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+164)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+68)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+138)>>0]}if(a[(c[l>>2]|0)+26>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+26>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+138)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+213)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+191)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+209)>>0]}if(a[(c[l>>2]|0)+27>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+27>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+209)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+127)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+61)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+153)>>0]}if(a[(c[l>>2]|0)+28>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+28>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+153)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+70)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+102)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+150)>>0]}if(a[(c[l>>2]|0)+29>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+29>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+150)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+60)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+91)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+237)>>0]}if(a[(c[l>>2]|0)+30>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+30>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+237)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+55)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+79)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+224)>>0]}if(a[(c[l>>2]|0)+31>>0]|0){a[I>>0]=a[43710+((d[(c[l>>2]|0)+31>>0]|0)-1)>>0]|0;a[E>>0]=d[E>>0]^d[43965+((d[I>>0]|0)+224)>>0];a[F>>0]=d[F>>0]^d[43965+((d[I>>0]|0)+208)>>0];a[G>>0]=d[G>>0]^d[43965+((d[I>>0]|0)+140)>>0];a[H>>0]=d[H>>0]^d[43965+((d[I>>0]|0)+23)>>0]}c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[n>>2]|0)>=256)break;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[8372+((d[45225+(d[45225+(d[44969+(d[44457+(c[p>>2]|0)>>0]^d[s>>0])>>0]^d[w>>0])>>0]^d[A>>0])>>0]^d[E>>0])<<2)>>2];c[(c[k>>2]|0)+1024+(c[n>>2]<<2)>>2]=c[9396+((d[45225+(d[44969+(d[44969+(d[44457+(c[o>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])>>0]^d[B>>0])>>0]^d[F>>0])<<2)>>2];c[(c[k>>2]|0)+2048+(c[n>>2]<<2)>>2]=c[10420+((d[44969+(d[45225+(d[45225+(d[44457+(c[o>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])>>0]^d[C>>0])>>0]^d[G>>0])<<2)>>2];c[(c[k>>2]|0)+3072+(c[n>>2]<<2)>>2]=c[11444+((d[44969+(d[44969+(d[45225+(d[44457+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])>>0]^d[D>>0])>>0]^d[H>>0])<<2)>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+2}c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(117^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(169^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(169^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(117^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(243^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(103^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(103^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(243^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096>>2]=c[q>>2];c[(c[k>>2]|0)+4096+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(198^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(179^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(179^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(198^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(244^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(232^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(232^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(244^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+8>>2]=c[q>>2];c[(c[k>>2]|0)+4096+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(219^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(4^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(4^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(219^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(123^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(253^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(253^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(123^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+16>>2]=c[q>>2];c[(c[k>>2]|0)+4096+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(251^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(163^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(163^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(251^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(200^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(118^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(118^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(200^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+24>>2]=c[q>>2];c[(c[k>>2]|0)+4096+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(74^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(154^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(154^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(74^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(211^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(146^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(146^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(211^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128>>2]=c[q>>2];c[(c[k>>2]|0)+4128+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(230^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(128^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(128^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(230^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(107^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(120^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(120^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(107^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+8>>2]=c[q>>2];c[(c[k>>2]|0)+4128+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(69^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(228^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(228^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(69^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(125^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(221^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(221^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(125^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+16>>2]=c[q>>2];c[(c[k>>2]|0)+4128+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(232^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(209^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(209^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(232^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(75^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(56^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(56^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(75^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+24>>2]=c[q>>2];c[(c[k>>2]|0)+4128+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(214^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(13^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(13^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(214^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(50^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(198^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(198^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(50^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+32>>2]=c[q>>2];c[(c[k>>2]|0)+4128+36>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(216^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(53^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(53^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(216^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(253^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(152^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(152^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(253^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+40>>2]=c[q>>2];c[(c[k>>2]|0)+4128+44>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(55^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(24^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(24^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(55^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(113^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(247^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(247^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(113^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+48>>2]=c[q>>2];c[(c[k>>2]|0)+4128+52>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(241^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(236^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(236^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(241^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(225^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(108^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(108^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(225^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+56>>2]=c[q>>2];c[(c[k>>2]|0)+4128+60>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(48^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(67^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(67^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(48^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(15^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(117^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(117^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(15^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+64>>2]=c[q>>2];c[(c[k>>2]|0)+4128+68>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(248^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(55^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(55^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(248^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(27^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(38^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(38^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(27^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+72>>2]=c[q>>2];c[(c[k>>2]|0)+4128+76>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(135^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(250^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(250^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(135^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(250^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(19^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(19^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(250^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+80>>2]=c[q>>2];c[(c[k>>2]|0)+4128+84>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(6^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(148^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(148^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(6^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(63^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(72^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(72^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(63^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+88>>2]=c[q>>2];c[(c[k>>2]|0)+4128+92>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(94^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(242^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(242^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(94^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(186^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(208^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(208^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(186^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+96>>2]=c[q>>2];c[(c[k>>2]|0)+4128+100>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(174^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(139^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(139^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(174^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(91^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(48^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(48^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(91^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+104>>2]=c[q>>2];c[(c[k>>2]|0)+4128+108>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(138^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(132^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(132^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(138^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(0^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(84^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(84^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(0^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+112>>2]=c[q>>2];c[(c[k>>2]|0)+4128+116>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(d[45225+(d[44969+(188^d[(c[l>>2]|0)+24>>0])>>0]^d[(c[l>>2]|0)+16>>0])>>0]^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(223^d[(c[l>>2]|0)+25>>0])>>0]^d[(c[l>>2]|0)+17>>0])>>0]^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(223^d[(c[l>>2]|0)+26>>0])>>0]^d[(c[l>>2]|0)+18>>0])>>0]^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(188^d[(c[l>>2]|0)+27>>0])>>0]^d[(c[l>>2]|0)+19>>0])>>0]^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(d[45225+(d[44969+(157^d[(c[l>>2]|0)+28>>0])>>0]^d[(c[l>>2]|0)+20>>0])>>0]^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(d[44969+(d[44969+(35^d[(c[l>>2]|0)+29>>0])>>0]^d[(c[l>>2]|0)+21>>0])>>0]^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(d[45225+(d[45225+(35^d[(c[l>>2]|0)+30>>0])>>0]^d[(c[l>>2]|0)+22>>0])>>0]^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(d[44969+(d[45225+(157^d[(c[l>>2]|0)+31>>0])>>0]^d[(c[l>>2]|0)+23>>0])>>0]^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+120>>2]=c[q>>2];c[(c[k>>2]|0)+4128+124>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23)}else{c[o>>2]=0;c[n>>2]=0;c[p>>2]=1;while(1){if((c[n>>2]|0)>=256)break;c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[8372+((d[45225+(d[44457+(c[o>>2]|0)>>0]^d[s>>0])>>0]^d[w>>0])<<2)>>2];c[(c[k>>2]|0)+1024+(c[n>>2]<<2)>>2]=c[9396+((d[45225+(d[44457+(c[p>>2]|0)>>0]^d[t>>0])>>0]^d[x>>0])<<2)>>2];c[(c[k>>2]|0)+2048+(c[n>>2]<<2)>>2]=c[10420+((d[44969+(d[44457+(c[o>>2]|0)>>0]^d[u>>0])>>0]^d[y>>0])<<2)>>2];c[(c[k>>2]|0)+3072+(c[n>>2]<<2)>>2]=c[11444+((d[44969+(d[44457+(c[p>>2]|0)>>0]^d[v>>0])>>0]^d[z>>0])<<2)>>2];c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+2;c[p>>2]=(c[p>>2]|0)+2}c[q>>2]=c[8372+((d[45225+(169^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(117^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(169^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(117^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(103^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(243^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(103^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(243^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096>>2]=c[q>>2];c[(c[k>>2]|0)+4096+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(179^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(198^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(179^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(198^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(232^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(244^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(232^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(244^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+8>>2]=c[q>>2];c[(c[k>>2]|0)+4096+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(4^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(219^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(4^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(219^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(253^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(123^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(253^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(123^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+16>>2]=c[q>>2];c[(c[k>>2]|0)+4096+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(163^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(251^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(163^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(251^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(118^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(200^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(118^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(200^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4096+24>>2]=c[q>>2];c[(c[k>>2]|0)+4096+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(154^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(74^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(154^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(74^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(146^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(211^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(146^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(211^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128>>2]=c[q>>2];c[(c[k>>2]|0)+4128+4>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(128^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(230^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(128^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(230^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(120^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(107^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(120^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(107^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+8>>2]=c[q>>2];c[(c[k>>2]|0)+4128+12>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(228^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(69^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(228^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(69^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(221^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(125^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(221^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(125^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+16>>2]=c[q>>2];c[(c[k>>2]|0)+4128+20>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(209^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(232^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(209^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(232^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(56^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(75^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(56^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(75^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+24>>2]=c[q>>2];c[(c[k>>2]|0)+4128+28>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(13^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(214^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(13^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(214^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(198^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(50^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(198^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(50^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+32>>2]=c[q>>2];c[(c[k>>2]|0)+4128+36>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(53^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(216^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(53^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(216^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(152^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(253^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(152^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(253^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+40>>2]=c[q>>2];c[(c[k>>2]|0)+4128+44>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(24^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(55^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(24^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(55^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(247^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(113^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(247^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(113^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+48>>2]=c[q>>2];c[(c[k>>2]|0)+4128+52>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(236^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(241^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(236^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(241^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(108^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(225^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(108^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(225^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+56>>2]=c[q>>2];c[(c[k>>2]|0)+4128+60>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(67^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(48^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(67^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(48^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(117^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(15^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(117^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(15^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+64>>2]=c[q>>2];c[(c[k>>2]|0)+4128+68>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(55^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(248^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(55^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(248^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(38^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(27^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(38^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(27^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+72>>2]=c[q>>2];c[(c[k>>2]|0)+4128+76>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(250^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(135^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(250^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(135^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(19^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(250^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(19^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(250^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+80>>2]=c[q>>2];c[(c[k>>2]|0)+4128+84>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(148^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(6^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(148^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(6^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(72^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(63^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(72^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(63^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+88>>2]=c[q>>2];c[(c[k>>2]|0)+4128+92>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(242^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(94^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(242^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(94^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(208^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(186^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(208^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(186^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+96>>2]=c[q>>2];c[(c[k>>2]|0)+4128+100>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(139^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(174^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(139^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(174^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(48^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(91^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(48^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(91^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+104>>2]=c[q>>2];c[(c[k>>2]|0)+4128+108>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(132^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(138^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(132^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(138^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(84^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(0^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(84^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(0^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+112>>2]=c[q>>2];c[(c[k>>2]|0)+4128+116>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23);c[q>>2]=c[8372+((d[45225+(223^d[(c[l>>2]|0)+8>>0])>>0]^d[c[l>>2]>>0])<<2)>>2]^c[9396+((d[45225+(188^d[(c[l>>2]|0)+9>>0])>>0]^d[(c[l>>2]|0)+1>>0])<<2)>>2]^c[10420+((d[44969+(223^d[(c[l>>2]|0)+10>>0])>>0]^d[(c[l>>2]|0)+2>>0])<<2)>>2]^c[11444+((d[44969+(188^d[(c[l>>2]|0)+11>>0])>>0]^d[(c[l>>2]|0)+3>>0])<<2)>>2];c[r>>2]=c[8372+((d[45225+(35^d[(c[l>>2]|0)+12>>0])>>0]^d[(c[l>>2]|0)+4>>0])<<2)>>2]^c[9396+((d[45225+(157^d[(c[l>>2]|0)+13>>0])>>0]^d[(c[l>>2]|0)+5>>0])<<2)>>2]^c[10420+((d[44969+(35^d[(c[l>>2]|0)+14>>0])>>0]^d[(c[l>>2]|0)+6>>0])<<2)>>2]^c[11444+((d[44969+(157^d[(c[l>>2]|0)+15>>0])>>0]^d[(c[l>>2]|0)+7>>0])<<2)>>2];c[r>>2]=(c[r>>2]<<8)+((c[r>>2]|0)>>>24);c[q>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[(c[k>>2]|0)+4128+120>>2]=c[q>>2];c[(c[k>>2]|0)+4128+124>>2]=(c[r>>2]<<9)+((c[r>>2]|0)>>>23)}c[j>>2]=0;J=c[j>>2]|0;i=g;return J|0}function kn(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;i=i+4288|0;b=a+4264|0;d=a+8|0;e=a+4272|0;f=a;hn(d,43450,16)|0;ln(d,e,43466)|0;do if(!(mw(e,43482,16)|0)){pn(d,e,e)|0;if(mw(e,43466,16)|0){c[b>>2]=43534;break}hn(d,43570,32)|0;ln(d,e,43602)|0;if(mw(e,43618,16)|0){c[b>>2]=43634;break}pn(d,e,e)|0;if(mw(e,43602,16)|0){c[b>>2]=43670;break}g=rn()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}g=un()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}g=xn()|0;c[f>>2]=g;if(g|0){c[b>>2]=c[f>>2];break}else{c[b>>2]=0;break}}else c[b>>2]=43498;while(0);i=a;return c[b>>2]|0}function ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];mn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36}function mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+48|0;f=e+32|0;g=e+28|0;h=e+24|0;j=e+20|0;k=e+16|0;l=e+12|0;m=e+8|0;n=e+4|0;o=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=nn(c[h>>2]|0)|0;c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096>>2];c[k>>2]=nn((c[h>>2]|0)+4|0)|0;c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+4>>2];c[l>>2]=nn((c[h>>2]|0)+8|0)|0;c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+8>>2];c[m>>2]=nn((c[h>>2]|0)+12|0)|0;c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+12>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+4>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+12>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+8>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+20>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+16>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+28>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+24>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+36>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+32>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+44>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+40>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+52>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+48>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+60>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+56>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+68>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+64>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+76>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+72>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+84>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+80>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+92>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+88>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+100>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+96>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+108>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+104>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[j>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[j>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[j>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[j>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[k>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[k>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[k>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[k>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+116>>2]|0));c[l>>2]=c[l>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+112>>2]|0);c[l>>2]=((c[l>>2]|0)>>>1)+(c[l>>2]<<31);c[m>>2]=(c[m>>2]<<1)+((c[m>>2]|0)>>>31)^c[o>>2];c[n>>2]=c[(c[f>>2]|0)+((c[l>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+1024+(((c[l>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[l>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+3072+((c[l>>2]|0)>>>24<<2)>>2];c[o>>2]=c[(c[f>>2]|0)+1024+((c[m>>2]&255)<<2)>>2]^c[(c[f>>2]|0)+2048+(((c[m>>2]|0)>>>8&255)<<2)>>2]^c[(c[f>>2]|0)+3072+(((c[m>>2]|0)>>>16&255)<<2)>>2]^c[(c[f>>2]|0)+((c[m>>2]|0)>>>24<<2)>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+((c[n>>2]|0)+(c[(c[f>>2]|0)+4128+124>>2]|0));c[j>>2]=c[j>>2]^(c[n>>2]|0)+(c[(c[f>>2]|0)+4128+120>>2]|0);c[j>>2]=((c[j>>2]|0)>>>1)+(c[j>>2]<<31);c[k>>2]=(c[k>>2]<<1)+((c[k>>2]|0)>>>31)^c[o>>2];c[l>>2]=c[l>>2]^c[(c[f>>2]|0)+4096+16>>2];on(c[g>>2]|0,c[l>>2]|0);c[m>>2]=c[m>>2]^c[(c[f>>2]|0)+4096+20>>2];on((c[g>>2]|0)+4|0,c[m>>2]|0);c[j>>2]=c[j>>2]^c[(c[f>>2]|0)+4096+24>>2];on((c[g>>2]|0)+8|0,c[j>>2]|0);c[k>>2]=c[k>>2]^c[(c[f>>2]|0)+4096+28>>2];on((c[g>>2]|0)+12|0,c[k>>2]|0);i=e;return}function nn(a){a=a|0;var b=0,e=0,f=0;b=i;i=i+16|0;e=b+4|0;f=b;c[e>>2]=a;c[f>>2]=c[e>>2];i=b;return (d[(c[f>>2]|0)+3>>0]|0)<<24|(d[(c[f>>2]|0)+2>>0]|0)<<16|(d[(c[f>>2]|0)+1>>0]|0)<<8|(d[c[f>>2]>>0]|0)|0}function on(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];a[(c[h>>2]|0)+3>>0]=(c[g>>2]|0)>>>24;a[(c[h>>2]|0)+2>>0]=(c[g>>2]|0)>>>16;a[(c[h>>2]|0)+1>>0]=(c[g>>2]|0)>>>8;a[c[h>>2]>>0]=c[g>>2];i=e;return}function pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;h=e+4|0;j=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[f>>2];qn(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);i=e;return 36}
-// EMSCRIPTEN_END_FUNCS
-var vb=[$x,Ik,Mk,Nk,jl,dm,fm,gm,hm,im,zm,Pm,dn,hn,ln,pn,is,ks,ls,ms,ns,yi,Bs,Zu,bv,_u,vv,zf,gw,dl,hl,yl,sm,Em,Um,cv,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x,$x];var wb=[ay,ol,bl,_k,Xk,sl,vn,yn,sn,ay,ay,ay,ay,ay,ay,ay];var xb=[by,Cl,wm,Mm,an,mo,$u,dv,Pw,by,by,by,by,by,by,by];var yb=[cy,xl,rm,Dm,Sm,Tm,gn,zs];var zb=[dy,El,bm,em,ym,Om,cn,gs,js,Di,Wu,dy,dy,dy,dy,dy];var Ab=[ey,rs,wl,Ls,st,Pt,ey,ey];var Bb=[fy,Qk,Sk,xu];var Cb=[gy,Cs,rr,Ks,Tt,gy,gy,gy];var Db=[hy,ql];var Eb=[iy,Ul,qm,bs,ps,sk,am,iy];var Fb=[jy,Oh];return{_WRALL_make_purpose:ac,_GNUNET_CRYPTO_rsa_blinding_key_encode:Sd,_bitshift64Lshr:Cx,_bitshift64Ashr:Bx,_GNUNET_CRYPTO_eddsa_key_create:gd,_memcpy:Dx,_TALER_WR_GNUNET_free:Yb,_TALER_WRALL_amount_add:hc,_GNUNET_CRYPTO_rsa_private_key_decode:Id,_TALER_WR_multiply_amount:Ac,_GNUNET_CRYPTO_rsa_blinding_key_decode:Td,_GNUNET_CRYPTO_ecc_ecdh:kd,_TALER_amount_hton:Mu,_TALER_WR_verify_sign_key_enc:qc,_free:tx,_TALER_WRALL_sign_deposit_permission:rc,_TALER_WR_verify_denoms:nc,_GNUNET_CRYPTO_rsa_blinding_key_create:Pd,_TALER_WR_verify_sign_key:pc,_TALER_WRALL_rsa_public_key_hash:kc,_TALER_WRALL_gen_key_from_blob:gc,_GNUNET_CRYPTO_rsa_private_key_get_public:Jd,_GNUNET_CRYPTO_eddsa_verify:jd,_TALER_WRALL_rsa_public_key_decode_from_string:cc,_GNUNET_CRYPTO_symmetric_encrypt:Xc,_TALER_WR_get_fraction:yc,_TALER_WR_verify_denoms_enc:oc,_TALER_amount_cmp:Ru,_TALER_WRALL_ecdhe_public_key_from_private_key:Sb,_llvm_cttz_i32:Gx,_TALER_WRALL_eddsa_private_key_from_string:Ub,_TALER_WRALL_gen_init_vector:fc,_TALER_amount_ntoh:Nu,_WR_verify_test:_b,_GNUNET_CRYPTO_rsa_public_key_free:Ld,_GNUNET_CRYPTO_hkdf:ud,_GNUNET_CRYPTO_eddsa_key_get_public:$c,_llvm_bswap_i32:Hx,_GNUNET_CRYPTO_rsa_private_key_create:Fd,_GNUNET_STRINGS_data_to_string_alloc:ce,_TALER_WRALL_sign_test:Zb,_TALER_WR_verify_confirmation:sc,_GNUNET_CRYPTO_rsa_public_key_decode:Od,_GNUNET_CRYPTO_rsa_blinding_key_free:Rd,_GNUNET_CRYPTO_rsa_signature_encode:Qd,_GNUNET_CRYPTO_rsa_verify:_d,_TALER_WR_eddsa_verify:$b,_GNUNET_STRINGS_string_to_data:de,_TALER_WRALL_gen_symmetric_key:ec,_TALER_WRALL_ecc_ecdh:Tb,_memset:Fx,_GNUNET_CRYPTO_rsa_unblind:Zd,_TALER_WR_get_currency:zc,_DEBUG_WR_get_purpose:uc,_TALER_WRALL_get_amount:vc,_GNUNET_CRYPTO_rsa_private_key_encode:Hd,_GNUNET_CRYPTO_symmetric_decrypt:_c,_i64Subtract:zx,_TALER_WR_get_value:xc,_GNUNET_CRYPTO_rsa_signature_free:Xd,_TALER_WRALL_eddsa_public_key_from_priv_string:Vb,_GNUNET_CRYPTO_rsa_blind:Ud,_TALER_WR_verify_denom_enc:mc,_malloc:sx,_TALER_WR_hello_world:wc,_TALER_WRALL_make_withdraw_bundle:ic,_GNUNET_CRYPTO_rsa_signature_decode:Yd,_GNUNET_CRYPTO_rsa_sign:Vd,_GNUNET_CRYPTO_ecdhe_key_create:ed,_TALER_WRALL_get_encoding_from_rsa_signature:dc,_TALER_WRALL_hash:Qb,_TALER_amount_normalize:Su,_TALER_WRALL_sign_contract:jc,_bitshift64Shl:Ix,_GNUNET_CRYPTO_rsa_private_key_free:Gd,_fflush:ww,_GNUNET_CRYPTO_hash_create_random:md,_TALER_WRALL_eddsa_public_key_from_private:Wb,_TALER_WR_multiply_amounts:Bc,_TALER_amount_add:Vu,_GNUNET_CRYPTO_ecdhe_key_get_public:bd,_TALER_amount_subtract:Uu,_i64Add:Ax,_TALER_WRALL_purpose_create:bc,_GNUNET_CRYPTO_eddsa_sign:hd,_TALER_WR_verify_denom:lc,_TALER_WRALL_get_current_time:Pb,___errno_location:Yu,_TALER_WR_get_fancy_time:Xb,_TALER_WRALL_make_eddsa_signature:tc,_memmove:Ex,_TALER_amount_get_zero:Ou,_DEBUG_WR_dump_amount:Rb,_GNUNET_CRYPTO_rsa_public_key_encode:Md,_GNUNET_CRYPTO_hash:ld,_GNUNET_util_cl_init:Jc,_GNUNET_CRYPTO_random_init:Ad,_gpg_err_init:eu,runPostSets:yx,stackAlloc:Gb,stackSave:Hb,stackRestore:Ib,establishStackSpace:Jb,setThrew:Kb,setTempRet0:Nb,getTempRet0:Ob,dynCall_iiii:Qx,dynCall_viiiii:Rx,dynCall_vi:Sx,dynCall_vii:Tx,dynCall_ii:Ux,dynCall_viii:Vx,dynCall_v:Wx,dynCall_iiiii:Xx,dynCall_viiiiii:Yx,dynCall_iii:Zx,dynCall_viiii:_x}})
+function stackAlloc(size) {
+ size = size|0;
+ var ret = 0;
+ ret = STACKTOP;
+ STACKTOP = (STACKTOP + size)|0;
+ STACKTOP = (STACKTOP + 15)&-16;
+if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+
+ return ret|0;
+}
+function stackSave() {
+ return STACKTOP|0;
+}
+function stackRestore(top) {
+ top = top|0;
+ STACKTOP = top;
+}
+function establishStackSpace(stackBase, stackMax) {
+ stackBase = stackBase|0;
+ stackMax = stackMax|0;
+ STACKTOP = stackBase;
+ STACK_MAX = stackMax;
+}
+
+function setThrew(threw, value) {
+ threw = threw|0;
+ value = value|0;
+ if ((__THREW__|0) == 0) {
+ __THREW__ = threw;
+ threwValue = value;
+ }
+}
+function copyTempFloat(ptr) {
+ ptr = ptr|0;
+ HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0];
+ HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0];
+ HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0];
+ HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0];
+}
+function copyTempDouble(ptr) {
+ ptr = ptr|0;
+ HEAP8[tempDoublePtr>>0] = HEAP8[ptr>>0];
+ HEAP8[tempDoublePtr+1>>0] = HEAP8[ptr+1>>0];
+ HEAP8[tempDoublePtr+2>>0] = HEAP8[ptr+2>>0];
+ HEAP8[tempDoublePtr+3>>0] = HEAP8[ptr+3>>0];
+ HEAP8[tempDoublePtr+4>>0] = HEAP8[ptr+4>>0];
+ HEAP8[tempDoublePtr+5>>0] = HEAP8[ptr+5>>0];
+ HEAP8[tempDoublePtr+6>>0] = HEAP8[ptr+6>>0];
+ HEAP8[tempDoublePtr+7>>0] = HEAP8[ptr+7>>0];
+}
+
+function setTempRet0(value) {
+ value = value|0;
+ tempRet0 = value;
+}
+function getTempRet0() {
+ return tempRet0|0;
+}
+
+function _TALER_WRALL_get_current_time() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $now = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $now = sp + 8|0;
+ $0 = sp;
+ $1 = (_GNUNET_xmalloc_(8,19102,45)|0);
+ $ptr = $1;
+ $2 = (_GNUNET_TIME_absolute_get()|0);
+ $3 = tempRet0;
+ $4 = $0;
+ $5 = $4;
+ HEAP32[$5>>2] = $2;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $3;
+ ;HEAP32[$now>>2]=HEAP32[$0>>2]|0;HEAP32[$now+4>>2]=HEAP32[$0+4>>2]|0;
+ $8 = $ptr;
+ ;HEAP32[$8>>2]=HEAP32[$now>>2]|0;HEAP32[$8+4>>2]=HEAP32[$now+4>>2]|0;
+ $9 = $ptr;
+ STACKTOP = sp;return ($9|0);
+}
+function _TALER_WRALL_hash($buf,$size) {
+ $buf = $buf|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buf;
+ $1 = $size;
+ $2 = (_GNUNET_xmalloc_(64,19102,64)|0);
+ $ptr = $2;
+ $3 = $0;
+ $4 = $1;
+ $5 = $ptr;
+ _GNUNET_CRYPTO_hash($3,$4,$5);
+ $6 = $ptr;
+ STACKTOP = sp;return ($6|0);
+}
+function _DEBUG_WR_dump_amount($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $a;
+ $1 = $0;
+ $2 = $0;
+ $3 = ((($2)) + 12|0);
+ $4 = $0;
+ $5 = $4;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($5) + 4)|0;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $0;
+ $12 = ((($11)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $1;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $3;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ $14 = $vararg_ptr2;
+ $15 = $14;
+ HEAP32[$15>>2] = $7;
+ $16 = (($14) + 4)|0;
+ $17 = $16;
+ HEAP32[$17>>2] = $10;
+ $vararg_ptr3 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr3>>2] = $13;
+ (_printf(19109,$vararg_buffer)|0);
+ STACKTOP = sp;return;
+}
+function _TALER_WRALL_ecdhe_public_key_from_private_key($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $priv;
+ $1 = (_GNUNET_xmalloc_(32,19102,116)|0);
+ $ptr = $1;
+ $2 = $0;
+ $3 = $ptr;
+ _GNUNET_CRYPTO_ecdhe_key_get_public($2,$3);
+ $4 = $ptr;
+ STACKTOP = sp;return ($4|0);
+}
+function _TALER_WRALL_ecc_ecdh($priv,$pub) {
+ $priv = $priv|0;
+ $pub = $pub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $priv;
+ $2 = $pub;
+ $3 = (_GNUNET_xmalloc_(64,19102,131)|0);
+ $ptr = $3;
+ $4 = $1;
+ $5 = $2;
+ $6 = $ptr;
+ $7 = (_GNUNET_CRYPTO_ecc_ecdh($4,$5,$6)|0);
+ $8 = (-1)==($7|0);
+ if ($8) {
+ $0 = 0;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ } else {
+ $9 = $ptr;
+ $0 = $9;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_eddsa_private_key_from_string($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $key_priv = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $priv;
+ $2 = (_GNUNET_xmalloc_(32,19102,151)|0);
+ $key_priv = $2;
+ $3 = $1;
+ $4 = $1;
+ $5 = (_strlen($4)|0);
+ $6 = $key_priv;
+ $7 = (_GNUNET_CRYPTO_eddsa_private_key_from_string($3,$5,$6)|0);
+ $8 = (1)!=($7|0);
+ if ($8) {
+ $0 = 0;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ } else {
+ $9 = $key_priv;
+ $0 = $9;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_eddsa_public_key_from_priv_string($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $key_priv = 0, $key_pub = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $key_priv = sp + 16|0;
+ $1 = $priv;
+ $2 = $1;
+ $3 = $1;
+ $4 = (_strlen($3)|0);
+ $5 = (_GNUNET_CRYPTO_eddsa_private_key_from_string($2,$4,$key_priv)|0);
+ $6 = (1)!=($5|0);
+ if ($6) {
+ $0 = 0;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ } else {
+ $7 = (_GNUNET_xmalloc_(32,19102,173)|0);
+ $key_pub = $7;
+ $8 = $key_pub;
+ _GNUNET_CRYPTO_eddsa_key_get_public($key_priv,$8);
+ $9 = $key_pub;
+ $0 = $9;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_eddsa_public_key_from_private($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $priv;
+ $1 = (_GNUNET_xmalloc_(32,19102,190)|0);
+ $ptr = $1;
+ $2 = $0;
+ $3 = $ptr;
+ _GNUNET_CRYPTO_eddsa_key_get_public($2,$3);
+ $4 = $ptr;
+ STACKTOP = sp;return ($4|0);
+}
+function _TALER_WR_get_fancy_time($when) {
+ $when = $when|0;
+ var $$byval_copy = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $fancy_when = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $$byval_copy = sp;
+ $0 = $when;
+ $1 = $0;
+ ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
+ $2 = (_GNUNET_STRINGS_absolute_time_to_string($$byval_copy)|0);
+ $fancy_when = $2;
+ $3 = $fancy_when;
+ STACKTOP = sp;return ($3|0);
+}
+function _TALER_WR_GNUNET_free($ptr) {
+ $ptr = $ptr|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ptr;
+ $1 = $0;
+ _GNUNET_xfree_($1,19102,213);
+ STACKTOP = sp;return;
+}
+function _TALER_WRALL_sign_test($pk) {
+ $pk = $pk|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $sig = 0, $test = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $test = sp + 8|0;
+ $0 = $pk;
+ $1 = (_htonl(8)|0);
+ HEAP8[$test>>0]=$1&255;HEAP8[$test+1>>0]=($1>>8)&255;HEAP8[$test+2>>0]=($1>>16)&255;HEAP8[$test+3>>0]=$1>>24;
+ $2 = (_htonl(1302)|0);
+ $3 = ((($test)) + 4|0);
+ HEAP8[$3>>0]=$2&255;HEAP8[$3+1>>0]=($2>>8)&255;HEAP8[$3+2>>0]=($2>>16)&255;HEAP8[$3+3>>0]=$2>>24;
+ $4 = (_GNUNET_xmalloc_(64,19102,234)|0);
+ $sig = $4;
+ $5 = $0;
+ $6 = $sig;
+ (_GNUNET_CRYPTO_eddsa_sign($5,$test,$6)|0);
+ $7 = $sig;
+ STACKTOP = sp;return ($7|0);
+}
+function _WR_verify_test($sig,$pbk) {
+ $sig = $sig|0;
+ $pbk = $pbk|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $purpose = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $purpose = sp + 8|0;
+ $0 = $sig;
+ $1 = $pbk;
+ $2 = (_htonl(8)|0);
+ HEAP8[$purpose>>0]=$2&255;HEAP8[$purpose+1>>0]=($2>>8)&255;HEAP8[$purpose+2>>0]=($2>>16)&255;HEAP8[$purpose+3>>0]=$2>>24;
+ $3 = (_htonl(1303)|0);
+ $4 = ((($purpose)) + 4|0);
+ HEAP8[$4>>0]=$3&255;HEAP8[$4+1>>0]=($3>>8)&255;HEAP8[$4+2>>0]=($3>>16)&255;HEAP8[$4+3>>0]=$3>>24;
+ $5 = $0;
+ $6 = $1;
+ $7 = (_GNUNET_CRYPTO_eddsa_verify(1303,$purpose,$5,$6)|0);
+ STACKTOP = sp;return ($7|0);
+}
+function _TALER_WR_eddsa_verify($reason,$purpose,$sig,$pub) {
+ $reason = $reason|0;
+ $purpose = $purpose|0;
+ $sig = $sig|0;
+ $pub = $pub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $reason;
+ $2 = $purpose;
+ $3 = $sig;
+ $4 = $pub;
+ $5 = $1;
+ $6 = (_strcmp($5,19146)|0);
+ $7 = ($6|0)==(0);
+ if ($7) {
+ $8 = $2;
+ $9 = $3;
+ $10 = $4;
+ $11 = (_GNUNET_CRYPTO_eddsa_verify(1200,$8,$9,$10)|0);
+ $0 = $11;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ $12 = $1;
+ $13 = (_strcmp($12,19162)|0);
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $15 = $2;
+ $16 = $3;
+ $17 = $4;
+ $18 = (_GNUNET_CRYPTO_eddsa_verify(1101,$15,$16,$17)|0);
+ $0 = $18;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ } else {
+ $0 = -1;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ return (0)|0;
+}
+function _WRALL_make_purpose($motivation,$motivation_len,$payload,$payload_size) {
+ $motivation = $motivation|0;
+ $motivation_len = $motivation_len|0;
+ $payload = $payload|0;
+ $payload_size = $payload_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ptr = 0, $purpose = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $purpose = sp + 24|0;
+ $1 = $motivation;
+ $2 = $motivation_len;
+ $3 = $payload;
+ $4 = $payload_size;
+ $5 = $2;
+ $6 = $1;
+ $7 = (($6) + ($5)|0);
+ HEAP8[$7>>0] = 0;
+ $8 = $1;
+ $9 = (_strcmp($8,19177)|0);
+ $10 = ($9|0)==(0);
+ do {
+ if ($10) {
+ $11 = (_htonl(1025)|0);
+ $12 = ((($purpose)) + 4|0);
+ HEAP8[$12>>0]=$11&255;HEAP8[$12+1>>0]=($11>>8)&255;HEAP8[$12+2>>0]=($11>>16)&255;HEAP8[$12+3>>0]=$11>>24;
+ } else {
+ $13 = $1;
+ $14 = (_strcmp($13,19210)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $16 = (_htonl(1303)|0);
+ $17 = ((($purpose)) + 4|0);
+ HEAP8[$17>>0]=$16&255;HEAP8[$17+1>>0]=($16>>8)&255;HEAP8[$17+2>>0]=($16>>16)&255;HEAP8[$17+3>>0]=$16>>24;
+ break;
+ }
+ $18 = $1;
+ $19 = (_strcmp($18,19146)|0);
+ $20 = ($19|0)==(0);
+ if ($20) {
+ $21 = (_htonl(1200)|0);
+ $22 = ((($purpose)) + 4|0);
+ HEAP8[$22>>0]=$21&255;HEAP8[$22+1>>0]=($21>>8)&255;HEAP8[$22+2>>0]=($21>>16)&255;HEAP8[$22+3>>0]=$21>>24;
+ break;
+ }
+ $0 = 0;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ } while(0);
+ $23 = $4;
+ $24 = (8 + ($23))|0;
+ $25 = (_htonl($24)|0);
+ HEAP8[$purpose>>0]=$25&255;HEAP8[$purpose+1>>0]=($25>>8)&255;HEAP8[$purpose+2>>0]=($25>>16)&255;HEAP8[$purpose+3>>0]=$25>>24;
+ $26 = $4;
+ $27 = (8 + ($26))|0;
+ $28 = (_GNUNET_xmalloc_($27,19102,329)|0);
+ $ptr = $28;
+ $29 = $ptr;
+ ;HEAP8[$29>>0]=HEAP8[$purpose>>0]|0;HEAP8[$29+1>>0]=HEAP8[$purpose+1>>0]|0;HEAP8[$29+2>>0]=HEAP8[$purpose+2>>0]|0;HEAP8[$29+3>>0]=HEAP8[$purpose+3>>0]|0;HEAP8[$29+4>>0]=HEAP8[$purpose+4>>0]|0;HEAP8[$29+5>>0]=HEAP8[$purpose+5>>0]|0;HEAP8[$29+6>>0]=HEAP8[$purpose+6>>0]|0;HEAP8[$29+7>>0]=HEAP8[$purpose+7>>0]|0;
+ $30 = $4;
+ $31 = ($30>>>0)>(0);
+ if ($31) {
+ $32 = $ptr;
+ $33 = ((($32)) + 64|0);
+ $34 = $3;
+ $35 = $4;
+ _memcpy(($33|0),($34|0),($35|0))|0;
+ }
+ $36 = $ptr;
+ $0 = $36;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+}
+function _TALER_WRALL_purpose_create($purpose,$payload,$payload_size) {
+ $purpose = $purpose|0;
+ $payload = $payload|0;
+ $payload_size = $payload_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0;
+ var $size = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $purpose;
+ $1 = $payload;
+ $2 = $payload_size;
+ $3 = $2;
+ $4 = (8 + ($3))|0;
+ $size = $4;
+ $5 = $size;
+ $6 = (_GNUNET_xmalloc_($5,19102,348)|0);
+ $p = $6;
+ $7 = $p;
+ $8 = ((($7)) + 8|0);
+ $9 = $1;
+ $10 = $2;
+ _memcpy(($8|0),($9|0),($10|0))|0;
+ $11 = $0;
+ $12 = (_htonl($11)|0);
+ $13 = $p;
+ $14 = ((($13)) + 4|0);
+ HEAP8[$14>>0]=$12&255;HEAP8[$14+1>>0]=($12>>8)&255;HEAP8[$14+2>>0]=($12>>16)&255;HEAP8[$14+3>>0]=$12>>24;
+ $15 = $size;
+ $16 = (_htonl($15)|0);
+ $17 = $p;
+ HEAP8[$17>>0]=$16&255;HEAP8[$17+1>>0]=($16>>8)&255;HEAP8[$17+2>>0]=($16>>16)&255;HEAP8[$17+3>>0]=$16>>24;
+ $18 = $p;
+ STACKTOP = sp;return ($18|0);
+}
+function _TALER_WRALL_rsa_public_key_decode_from_string($base32keyenc) {
+ $base32keyenc = $base32keyenc|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0;
+ var $internal_enc = 0, $internal_enc_size = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $base32keyenc;
+ $1 = $0;
+ $2 = (_strlen($1)|0);
+ $3 = ($2*5)|0;
+ $4 = (($3>>>0) / 8)&-1;
+ $5 = (+($4>>>0));
+ $6 = (+Math_floor((+$5)));
+ $7 = (~~(($6))>>>0);
+ $internal_enc_size = $7;
+ $8 = $internal_enc_size;
+ $9 = (_GNUNET_xmalloc_($8,19102,373)|0);
+ $internal_enc = $9;
+ $10 = $0;
+ $11 = $0;
+ $12 = (_strlen($11)|0);
+ $13 = $internal_enc;
+ $14 = $internal_enc_size;
+ (_GNUNET_STRINGS_string_to_data($10,$12,$13,$14)|0);
+ $15 = $internal_enc;
+ $16 = $internal_enc_size;
+ $17 = (_GNUNET_CRYPTO_rsa_public_key_decode($15,$16)|0);
+ $ptr = $17;
+ $18 = $internal_enc;
+ _TALER_WR_GNUNET_free($18);
+ $19 = $ptr;
+ STACKTOP = sp;return ($19|0);
+}
+function _TALER_WRALL_get_encoding_from_rsa_signature($s) {
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $enca = 0, $encb = 0, $size = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $enca = sp + 8|0;
+ $0 = $s;
+ $1 = $0;
+ $2 = (_GNUNET_CRYPTO_rsa_signature_encode($1,$enca)|0);
+ $size = $2;
+ $3 = HEAP32[$enca>>2]|0;
+ $4 = $size;
+ $5 = (_GNUNET_STRINGS_data_to_string_alloc($3,$4)|0);
+ $encb = $5;
+ $6 = HEAP32[$enca>>2]|0;
+ _TALER_WR_GNUNET_free($6);
+ $7 = $encb;
+ STACKTOP = sp;return ($7|0);
+}
+function _TALER_WRALL_gen_symmetric_key($salt,$blob,$blob_size) {
+ $salt = $salt|0;
+ $blob = $blob|0;
+ $blob_size = $blob_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $skey = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $salt;
+ $2 = $blob;
+ $3 = $blob_size;
+ $4 = (_GNUNET_xmalloc_(64,19102,416)|0);
+ $skey = $4;
+ $5 = $skey;
+ $6 = $1;
+ $7 = $1;
+ $8 = (_strlen($7)|0);
+ $9 = $2;
+ $10 = $3;
+ HEAP32[$vararg_buffer>>2] = 0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $11 = (_GNUNET_CRYPTO_kdf($5,64,$6,$8,$9,$10,$vararg_buffer)|0);
+ $12 = (1)!=($11|0);
+ if ($12) {
+ $0 = 0;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ } else {
+ $13 = $skey;
+ $0 = $13;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_gen_init_vector($salt,$blob,$blob_size) {
+ $salt = $salt|0;
+ $blob = $blob|0;
+ $blob_size = $blob_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iv = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $salt;
+ $2 = $blob;
+ $3 = $blob_size;
+ $4 = (_GNUNET_xmalloc_(32,19102,441)|0);
+ $iv = $4;
+ $5 = $iv;
+ $6 = $1;
+ $7 = $1;
+ $8 = (_strlen($7)|0);
+ $9 = $2;
+ $10 = $3;
+ HEAP32[$vararg_buffer>>2] = 0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $11 = (_GNUNET_CRYPTO_kdf($5,32,$6,$8,$9,$10,$vararg_buffer)|0);
+ $12 = (1)!=($11|0);
+ if ($12) {
+ $0 = 0;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ } else {
+ $13 = $iv;
+ $0 = $13;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_gen_key_from_blob($salt,$blob,$blob_size) {
+ $salt = $salt|0;
+ $blob = $blob|0;
+ $blob_size = $blob_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $key = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $salt;
+ $2 = $blob;
+ $3 = $blob_size;
+ $4 = (_GNUNET_xmalloc_(64,19102,464)|0);
+ $key = $4;
+ $5 = $key;
+ $6 = $1;
+ $7 = $1;
+ $8 = (_strlen($7)|0);
+ $9 = $2;
+ $10 = $3;
+ HEAP32[$vararg_buffer>>2] = 0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $11 = (_GNUNET_CRYPTO_kdf($5,64,$6,$8,$9,$10,$vararg_buffer)|0);
+ $12 = (1)!=($11|0);
+ if ($12) {
+ $0 = 0;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ } else {
+ $13 = $key;
+ $0 = $13;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_amount_add($0,$1,$2,$3,$v1_frac,$v2_frac,$cur) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $v1_frac = $v1_frac|0;
+ $v2_frac = $v2_frac|0;
+ $cur = $cur|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $amn1 = 0, $amn2 = 0, $ptr = 0, $sum = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $5 = sp + 80|0;
+ $6 = sp + 72|0;
+ $amn1 = sp + 48|0;
+ $amn2 = sp + 24|0;
+ $sum = sp;
+ $10 = $5;
+ $11 = $10;
+ HEAP32[$11>>2] = $0;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = $1;
+ $14 = $6;
+ $15 = $14;
+ HEAP32[$15>>2] = $2;
+ $16 = (($14) + 4)|0;
+ $17 = $16;
+ HEAP32[$17>>2] = $3;
+ $7 = $v1_frac;
+ $8 = $v2_frac;
+ $9 = $cur;
+ $18 = $9;
+ $19 = (_TALER_amount_get_zero($18,$amn1)|0);
+ $20 = (1)!=($19|0);
+ if (!($20)) {
+ $21 = $9;
+ $22 = (_TALER_amount_get_zero($21,$amn2)|0);
+ $23 = (1)!=($22|0);
+ if (!($23)) {
+ $24 = $9;
+ $25 = (_TALER_amount_get_zero($24,$sum)|0);
+ $26 = (1)!=($25|0);
+ if (!($26)) {
+ $27 = $5;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $amn1;
+ $34 = $33;
+ HEAP32[$34>>2] = $29;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = $32;
+ $37 = $7;
+ $38 = ((($amn1)) + 8|0);
+ HEAP32[$38>>2] = $37;
+ $39 = $6;
+ $40 = $39;
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($39) + 4)|0;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $amn2;
+ $46 = $45;
+ HEAP32[$46>>2] = $41;
+ $47 = (($45) + 4)|0;
+ $48 = $47;
+ HEAP32[$48>>2] = $44;
+ $49 = $8;
+ $50 = ((($amn2)) + 8|0);
+ HEAP32[$50>>2] = $49;
+ $51 = (_TALER_amount_add($sum,$amn1,$amn2)|0);
+ $52 = (1)!=($51|0);
+ if ($52) {
+ $4 = 0;
+ $56 = $4;
+ STACKTOP = sp;return ($56|0);
+ } else {
+ $53 = (_GNUNET_xmalloc_(24,19102,512)|0);
+ $ptr = $53;
+ $54 = $ptr;
+ ;HEAP32[$54>>2]=HEAP32[$sum>>2]|0;HEAP32[$54+4>>2]=HEAP32[$sum+4>>2]|0;HEAP32[$54+8>>2]=HEAP32[$sum+8>>2]|0;HEAP32[$54+12>>2]=HEAP32[$sum+12>>2]|0;HEAP32[$54+16>>2]=HEAP32[$sum+16>>2]|0;HEAP32[$54+20>>2]=HEAP32[$sum+20>>2]|0;
+ $55 = $ptr;
+ $4 = $55;
+ $56 = $4;
+ STACKTOP = sp;return ($56|0);
+ }
+ }
+ }
+ }
+ $4 = 0;
+ $56 = $4;
+ STACKTOP = sp;return ($56|0);
+}
+function _TALER_WRALL_make_withdraw_bundle($reserve_pub,$total,$fee,$denom_pub,$coin_env,$coin_env_size) {
+ $reserve_pub = $reserve_pub|0;
+ $total = $total|0;
+ $fee = $fee|0;
+ $denom_pub = $denom_pub|0;
+ $coin_env = $coin_env|0;
+ $coin_env_size = $coin_env_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $denomination_pub = 0, $payload_buf = 0, $wdrw = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $wdrw = sp + 32|0;
+ $denomination_pub = sp + 4|0;
+ $0 = $reserve_pub;
+ $1 = $total;
+ $2 = $fee;
+ $3 = $denom_pub;
+ $4 = $coin_env;
+ $5 = $coin_env_size;
+ $6 = $3;
+ HEAP32[$denomination_pub>>2] = $6;
+ $7 = HEAP32[$denomination_pub>>2]|0;
+ $8 = ((($wdrw)) + 88|0);
+ _GNUNET_CRYPTO_rsa_public_key_hash($7,$8);
+ $9 = ((($wdrw)) + 40|0);
+ $10 = $1;
+ _TALER_amount_hton($9,$10);
+ $11 = ((($wdrw)) + 64|0);
+ $12 = $2;
+ _TALER_amount_hton($11,$12);
+ $13 = ((($wdrw)) + 8|0);
+ $14 = $0;
+ dest=$13; src=$14; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $15 = (_htonl(216)|0);
+ HEAP8[$wdrw>>0]=$15&255;HEAP8[$wdrw+1>>0]=($15>>8)&255;HEAP8[$wdrw+2>>0]=($15>>16)&255;HEAP8[$wdrw+3>>0]=$15>>24;
+ $16 = (_htonl(1200)|0);
+ $17 = ((($wdrw)) + 4|0);
+ HEAP8[$17>>0]=$16&255;HEAP8[$17+1>>0]=($16>>8)&255;HEAP8[$17+2>>0]=($16>>16)&255;HEAP8[$17+3>>0]=$16>>24;
+ $18 = $4;
+ $19 = $5;
+ $20 = ((($wdrw)) + 152|0);
+ _GNUNET_CRYPTO_hash($18,$19,$20);
+ $21 = (_GNUNET_xmalloc_(216,19102,567)|0);
+ $payload_buf = $21;
+ $22 = $payload_buf;
+ _memcpy(($22|0),($wdrw|0),216)|0;
+ $23 = $payload_buf;
+ STACKTOP = sp;return ($23|0);
+}
+function _TALER_WRALL_sign_contract($contract,$coin_priv) {
+ $contract = $contract|0;
+ $coin_priv = $coin_priv|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $dep_perm = 0, $sig = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $dep_perm = sp;
+ $0 = $contract;
+ $1 = $coin_priv;
+ HEAP32[$dep_perm>>2] = 72;
+ $2 = ((($dep_perm)) + 4|0);
+ HEAP32[$2>>2] = 1201;
+ $3 = ((($dep_perm)) + 8|0);
+ $4 = $0;
+ dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $5 = (_GNUNET_xmalloc_(64,19102,593)|0);
+ $sig = $5;
+ $6 = $1;
+ $7 = $sig;
+ (_GNUNET_CRYPTO_eddsa_sign($6,$dep_perm,$7)|0);
+ $8 = $sig;
+ STACKTOP = sp;return ($8|0);
+}
+function _time_from_seconds($seconds,$abs) {
+ $seconds = $seconds|0;
+ $abs = $abs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $seconds;
+ $2 = $abs;
+ $3 = $1;
+ $4 = (___muldi3(($3|0),0,1000,0)|0);
+ $5 = tempRet0;
+ $6 = (___muldi3(($4|0),($5|0),1000,0)|0);
+ $7 = tempRet0;
+ $8 = $2;
+ $9 = $8;
+ $10 = $9;
+ HEAP32[$10>>2] = $6;
+ $11 = (($9) + 4)|0;
+ $12 = $11;
+ HEAP32[$12>>2] = $7;
+ $13 = $2;
+ $14 = $13;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (___udivdi3(($16|0),($19|0),1000,0)|0);
+ $21 = tempRet0;
+ $22 = (___udivdi3(($20|0),($21|0),1000,0)|0);
+ $23 = tempRet0;
+ $24 = $1;
+ $25 = ($22|0)!=($24|0);
+ $26 = ($23|0)!=(0);
+ $27 = $25 | $26;
+ if (!($27)) {
+ $0 = 1;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+ }
+ $log_line = 618;
+ $28 = HEAP32[184]|0;
+ $29 = ($28|0)==(-1);
+ if ($29) {
+ $30 = $log_line;
+ $31 = (_GNUNET_get_log_call_status(2,0,19102,19226,$30)|0);
+ HEAP32[184] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $34 = HEAP32[184]|0;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ HEAP32[$vararg_buffer>>2] = 19102;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 618;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer);
+ }
+ }
+ $0 = -1;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+}
+function _TALER_WRALL_rsa_public_key_hash($key) {
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $khc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $key;
+ $1 = (_GNUNET_xmalloc_(64,19102,635)|0);
+ $khc = $1;
+ $2 = $0;
+ $3 = $khc;
+ _GNUNET_CRYPTO_rsa_public_key_hash($2,$3);
+ $4 = $khc;
+ STACKTOP = sp;return ($4|0);
+}
+function _TALER_WR_verify_denom($denom,$master,$sig,$start,$exp_w,$exp_s,$exp_l,$value,$fee_w,$fee_d,$fee_r) {
+ $denom = $denom|0;
+ $master = $master|0;
+ $sig = $sig|0;
+ $start = $start|0;
+ $exp_w = $exp_w|0;
+ $exp_s = $exp_s|0;
+ $exp_l = $exp_l|0;
+ $value = $value|0;
+ $fee_w = $fee_w|0;
+ $fee_d = $fee_d|0;
+ $fee_r = $fee_r|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $dnv = 0, $exp_labs = 0, $exp_labs$byval_copy = 0, $exp_sabs = 0;
+ var $exp_sabs$byval_copy = 0, $exp_wabs = 0, $exp_wabs$byval_copy = 0, $master_in = 0, $start_abs = 0, $start_abs$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 416|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $exp_labs$byval_copy = sp + 56|0;
+ $exp_sabs$byval_copy = sp + 48|0;
+ $exp_wabs$byval_copy = sp + 40|0;
+ $start_abs$byval_copy = sp + 32|0;
+ $dnv = sp + 176|0;
+ $start_abs = sp + 24|0;
+ $exp_wabs = sp + 16|0;
+ $exp_sabs = sp + 8|0;
+ $exp_labs = sp;
+ $master_in = sp + 144|0;
+ $12 = sp + 136|0;
+ $13 = sp + 128|0;
+ $14 = sp + 120|0;
+ $15 = sp + 112|0;
+ $1 = $denom;
+ $2 = $master;
+ $3 = $sig;
+ $4 = $start;
+ $5 = $exp_w;
+ $6 = $exp_s;
+ $7 = $exp_l;
+ $8 = $value;
+ $9 = $fee_w;
+ $10 = $fee_d;
+ $11 = $fee_r;
+ $16 = $4;
+ $17 = (_time_from_seconds($16,$start_abs)|0);
+ $18 = (-1)==($17|0);
+ if ($18) {
+ $0 = -1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ $19 = $5;
+ $20 = (_time_from_seconds($19,$exp_wabs)|0);
+ $21 = (-1)==($20|0);
+ if ($21) {
+ $0 = -1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ $22 = $6;
+ $23 = (_time_from_seconds($22,$exp_sabs)|0);
+ $24 = (-1)==($23|0);
+ if ($24) {
+ $0 = -1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ $25 = $7;
+ $26 = (_time_from_seconds($25,$exp_labs)|0);
+ $27 = (-1)==($26|0);
+ if ($27) {
+ $0 = -1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ $28 = $1;
+ $29 = ((($dnv)) + 168|0);
+ _GNUNET_CRYPTO_rsa_public_key_hash($28,$29);
+ $30 = $2;
+ dest=$master_in; src=$30; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $31 = ((($dnv)) + 8|0);
+ dest=$31; src=$master_in; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $32 = ((($dnv)) + 40|0);
+ ;HEAP32[$start_abs$byval_copy>>2]=HEAP32[$start_abs>>2]|0;HEAP32[$start_abs$byval_copy+4>>2]=HEAP32[$start_abs+4>>2]|0;
+ $33 = (_GNUNET_TIME_absolute_hton($start_abs$byval_copy)|0);
+ $34 = tempRet0;
+ $35 = $12;
+ $36 = $35;
+ HEAP8[$36>>0]=$33&255;HEAP8[$36+1>>0]=($33>>8)&255;HEAP8[$36+2>>0]=($33>>16)&255;HEAP8[$36+3>>0]=$33>>24;
+ $37 = (($35) + 4)|0;
+ $38 = $37;
+ HEAP8[$38>>0]=$34&255;HEAP8[$38+1>>0]=($34>>8)&255;HEAP8[$38+2>>0]=($34>>16)&255;HEAP8[$38+3>>0]=$34>>24;
+ ;HEAP8[$32>>0]=HEAP8[$12>>0]|0;HEAP8[$32+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$32+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$32+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$32+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$32+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$32+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$32+7>>0]=HEAP8[$12+7>>0]|0;
+ $39 = ((($dnv)) + 48|0);
+ ;HEAP32[$exp_wabs$byval_copy>>2]=HEAP32[$exp_wabs>>2]|0;HEAP32[$exp_wabs$byval_copy+4>>2]=HEAP32[$exp_wabs+4>>2]|0;
+ $40 = (_GNUNET_TIME_absolute_hton($exp_wabs$byval_copy)|0);
+ $41 = tempRet0;
+ $42 = $13;
+ $43 = $42;
+ HEAP8[$43>>0]=$40&255;HEAP8[$43+1>>0]=($40>>8)&255;HEAP8[$43+2>>0]=($40>>16)&255;HEAP8[$43+3>>0]=$40>>24;
+ $44 = (($42) + 4)|0;
+ $45 = $44;
+ HEAP8[$45>>0]=$41&255;HEAP8[$45+1>>0]=($41>>8)&255;HEAP8[$45+2>>0]=($41>>16)&255;HEAP8[$45+3>>0]=$41>>24;
+ ;HEAP8[$39>>0]=HEAP8[$13>>0]|0;HEAP8[$39+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$39+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$39+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$39+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$39+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$39+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$39+7>>0]=HEAP8[$13+7>>0]|0;
+ $46 = ((($dnv)) + 56|0);
+ ;HEAP32[$exp_sabs$byval_copy>>2]=HEAP32[$exp_sabs>>2]|0;HEAP32[$exp_sabs$byval_copy+4>>2]=HEAP32[$exp_sabs+4>>2]|0;
+ $47 = (_GNUNET_TIME_absolute_hton($exp_sabs$byval_copy)|0);
+ $48 = tempRet0;
+ $49 = $14;
+ $50 = $49;
+ HEAP8[$50>>0]=$47&255;HEAP8[$50+1>>0]=($47>>8)&255;HEAP8[$50+2>>0]=($47>>16)&255;HEAP8[$50+3>>0]=$47>>24;
+ $51 = (($49) + 4)|0;
+ $52 = $51;
+ HEAP8[$52>>0]=$48&255;HEAP8[$52+1>>0]=($48>>8)&255;HEAP8[$52+2>>0]=($48>>16)&255;HEAP8[$52+3>>0]=$48>>24;
+ ;HEAP8[$46>>0]=HEAP8[$14>>0]|0;HEAP8[$46+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$46+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$46+3>>0]=HEAP8[$14+3>>0]|0;HEAP8[$46+4>>0]=HEAP8[$14+4>>0]|0;HEAP8[$46+5>>0]=HEAP8[$14+5>>0]|0;HEAP8[$46+6>>0]=HEAP8[$14+6>>0]|0;HEAP8[$46+7>>0]=HEAP8[$14+7>>0]|0;
+ $53 = ((($dnv)) + 64|0);
+ ;HEAP32[$exp_labs$byval_copy>>2]=HEAP32[$exp_labs>>2]|0;HEAP32[$exp_labs$byval_copy+4>>2]=HEAP32[$exp_labs+4>>2]|0;
+ $54 = (_GNUNET_TIME_absolute_hton($exp_labs$byval_copy)|0);
+ $55 = tempRet0;
+ $56 = $15;
+ $57 = $56;
+ HEAP8[$57>>0]=$54&255;HEAP8[$57+1>>0]=($54>>8)&255;HEAP8[$57+2>>0]=($54>>16)&255;HEAP8[$57+3>>0]=$54>>24;
+ $58 = (($56) + 4)|0;
+ $59 = $58;
+ HEAP8[$59>>0]=$55&255;HEAP8[$59+1>>0]=($55>>8)&255;HEAP8[$59+2>>0]=($55>>16)&255;HEAP8[$59+3>>0]=$55>>24;
+ ;HEAP8[$53>>0]=HEAP8[$15>>0]|0;HEAP8[$53+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$53+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$53+3>>0]=HEAP8[$15+3>>0]|0;HEAP8[$53+4>>0]=HEAP8[$15+4>>0]|0;HEAP8[$53+5>>0]=HEAP8[$15+5>>0]|0;HEAP8[$53+6>>0]=HEAP8[$15+6>>0]|0;HEAP8[$53+7>>0]=HEAP8[$15+7>>0]|0;
+ $60 = ((($dnv)) + 72|0);
+ $61 = $8;
+ _TALER_amount_hton($60,$61);
+ $62 = ((($dnv)) + 96|0);
+ $63 = $9;
+ _TALER_amount_hton($62,$63);
+ $64 = ((($dnv)) + 120|0);
+ $65 = $10;
+ _TALER_amount_hton($64,$65);
+ $66 = ((($dnv)) + 144|0);
+ $67 = $11;
+ _TALER_amount_hton($66,$67);
+ $68 = (_htonl(1025)|0);
+ $69 = ((($dnv)) + 4|0);
+ HEAP8[$69>>0]=$68&255;HEAP8[$69+1>>0]=($68>>8)&255;HEAP8[$69+2>>0]=($68>>16)&255;HEAP8[$69+3>>0]=$68>>24;
+ $70 = (_htonl(232)|0);
+ HEAP8[$dnv>>0]=$70&255;HEAP8[$dnv+1>>0]=($70>>8)&255;HEAP8[$dnv+2>>0]=($70>>16)&255;HEAP8[$dnv+3>>0]=$70>>24;
+ $71 = $3;
+ $72 = $2;
+ $73 = (_GNUNET_CRYPTO_eddsa_verify(1025,$dnv,$71,$72)|0);
+ $74 = (1)!=($73|0);
+ if ($74) {
+ $0 = 0;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ } else {
+ $0 = 1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_verify_denom_enc($denom_enc,$master_enc,$mastersig_enc,$start,$exp_w,$exp_s,$exp_l,$denom_value,$denom_fraction,$denom_currency,$withdraw_fee_value,$withdraw_fee_fraction,$withdraw_fee_currency,$deposit_fee_value,$deposit_fee_fraction,$deposit_fee_currency,$refresh_fee_value,$refresh_fee_fraction,$refresh_fee_currency) {
+ $denom_enc = $denom_enc|0;
+ $master_enc = $master_enc|0;
+ $mastersig_enc = $mastersig_enc|0;
+ $start = $start|0;
+ $exp_w = $exp_w|0;
+ $exp_s = $exp_s|0;
+ $exp_l = $exp_l|0;
+ $denom_value = $denom_value|0;
+ $denom_fraction = $denom_fraction|0;
+ $denom_currency = $denom_currency|0;
+ $withdraw_fee_value = $withdraw_fee_value|0;
+ $withdraw_fee_fraction = $withdraw_fee_fraction|0;
+ $withdraw_fee_currency = $withdraw_fee_currency|0;
+ $deposit_fee_value = $deposit_fee_value|0;
+ $deposit_fee_fraction = $deposit_fee_fraction|0;
+ $deposit_fee_currency = $deposit_fee_currency|0;
+ $refresh_fee_value = $refresh_fee_value|0;
+ $refresh_fee_fraction = $refresh_fee_fraction|0;
+ $refresh_fee_currency = $refresh_fee_currency|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $denom = 0, $denom_amount = 0, $deposit_fee = 0, $masterkey = 0, $mastersig = 0, $refresh_fee = 0, $ret = 0, $withdraw_fee = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $masterkey = sp + 248|0;
+ $mastersig = sp + 184|0;
+ $denom_amount = sp + 72|0;
+ $withdraw_fee = sp + 48|0;
+ $deposit_fee = sp + 24|0;
+ $refresh_fee = sp;
+ $0 = $denom_enc;
+ $1 = $master_enc;
+ $2 = $mastersig_enc;
+ $3 = $start;
+ $4 = $exp_w;
+ $5 = $exp_s;
+ $6 = $exp_l;
+ $7 = $denom_value;
+ $8 = $denom_fraction;
+ $9 = $denom_currency;
+ $10 = $withdraw_fee_value;
+ $11 = $withdraw_fee_fraction;
+ $12 = $withdraw_fee_currency;
+ $13 = $deposit_fee_value;
+ $14 = $deposit_fee_fraction;
+ $15 = $deposit_fee_currency;
+ $16 = $refresh_fee_value;
+ $17 = $refresh_fee_fraction;
+ $18 = $refresh_fee_currency;
+ $19 = $0;
+ $20 = (_TALER_WRALL_rsa_public_key_decode_from_string($19)|0);
+ $denom = $20;
+ $21 = $1;
+ $22 = $1;
+ $23 = (_strlen($22)|0);
+ (_GNUNET_STRINGS_string_to_data($21,$23,$masterkey,32)|0);
+ $24 = $2;
+ $25 = $2;
+ $26 = (_strlen($25)|0);
+ (_GNUNET_STRINGS_string_to_data($24,$26,$mastersig,64)|0);
+ $27 = $9;
+ (_TALER_amount_get_zero($27,$denom_amount)|0);
+ $28 = $7;
+ $29 = $denom_amount;
+ $30 = $29;
+ HEAP32[$30>>2] = $28;
+ $31 = (($29) + 4)|0;
+ $32 = $31;
+ HEAP32[$32>>2] = 0;
+ $33 = $8;
+ $34 = ((($denom_amount)) + 8|0);
+ HEAP32[$34>>2] = $33;
+ $35 = $12;
+ (_TALER_amount_get_zero($35,$withdraw_fee)|0);
+ $36 = $10;
+ $37 = $withdraw_fee;
+ $38 = $37;
+ HEAP32[$38>>2] = $36;
+ $39 = (($37) + 4)|0;
+ $40 = $39;
+ HEAP32[$40>>2] = 0;
+ $41 = $11;
+ $42 = ((($withdraw_fee)) + 8|0);
+ HEAP32[$42>>2] = $41;
+ $43 = $15;
+ (_TALER_amount_get_zero($43,$deposit_fee)|0);
+ $44 = $10;
+ $45 = $deposit_fee;
+ $46 = $45;
+ HEAP32[$46>>2] = $44;
+ $47 = (($45) + 4)|0;
+ $48 = $47;
+ HEAP32[$48>>2] = 0;
+ $49 = $11;
+ $50 = ((($deposit_fee)) + 8|0);
+ HEAP32[$50>>2] = $49;
+ $51 = $18;
+ (_TALER_amount_get_zero($51,$refresh_fee)|0);
+ $52 = $16;
+ $53 = $refresh_fee;
+ $54 = $53;
+ HEAP32[$54>>2] = $52;
+ $55 = (($53) + 4)|0;
+ $56 = $55;
+ HEAP32[$56>>2] = 0;
+ $57 = $17;
+ $58 = ((($refresh_fee)) + 8|0);
+ HEAP32[$58>>2] = $57;
+ $59 = $denom;
+ $60 = $3;
+ $61 = $4;
+ $62 = $5;
+ $63 = $6;
+ $64 = (_TALER_WR_verify_denom($59,$masterkey,$mastersig,$60,$61,$62,$63,$denom_amount,$withdraw_fee,$deposit_fee,$refresh_fee)|0);
+ $ret = $64;
+ $65 = $denom;
+ _GNUNET_CRYPTO_rsa_public_key_free($65);
+ $66 = $ret;
+ STACKTOP = sp;return ($66|0);
+}
+function _TALER_WR_verify_denoms($sign_key,$denoms,$issue_date,$ndenoms,$sig) {
+ $sign_key = $sign_key|0;
+ $denoms = $denoms|0;
+ $issue_date = $issue_date|0;
+ $ndenoms = $ndenoms|0;
+ $sig = $sig|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $hctx = 0, $i = 0;
+ var $issue = 0, $issue$byval_copy = 0, $khc = 0, $ks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $issue$byval_copy = sp + 8|0;
+ $issue = sp;
+ $ks = sp + 128|0;
+ $khc = sp + 24|0;
+ $6 = sp + 120|0;
+ $1 = $sign_key;
+ $2 = $denoms;
+ $3 = $issue_date;
+ $4 = $ndenoms;
+ $5 = $sig;
+ $7 = $3;
+ $8 = (_time_from_seconds($7,$issue)|0);
+ $9 = (-1)==($8|0);
+ if ($9) {
+ $0 = -1;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ $10 = ((($ks)) + 8|0);
+ ;HEAP32[$issue$byval_copy>>2]=HEAP32[$issue>>2]|0;HEAP32[$issue$byval_copy+4>>2]=HEAP32[$issue+4>>2]|0;
+ $11 = (_GNUNET_TIME_absolute_hton($issue$byval_copy)|0);
+ $12 = tempRet0;
+ $13 = $6;
+ $14 = $13;
+ HEAP8[$14>>0]=$11&255;HEAP8[$14+1>>0]=($11>>8)&255;HEAP8[$14+2>>0]=($11>>16)&255;HEAP8[$14+3>>0]=$11>>24;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP8[$16>>0]=$12&255;HEAP8[$16+1>>0]=($12>>8)&255;HEAP8[$16+2>>0]=($12>>16)&255;HEAP8[$16+3>>0]=$12>>24;
+ ;HEAP8[$10>>0]=HEAP8[$6>>0]|0;HEAP8[$10+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$10+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$10+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$10+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$10+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$10+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$10+7>>0]=HEAP8[$6+7>>0]|0;
+ $17 = (_GNUNET_CRYPTO_hash_context_start()|0);
+ $hctx = $17;
+ $i = 0;
+ while(1) {
+ $18 = $i;
+ $19 = $4;
+ $20 = ($18>>>0)<($19>>>0);
+ if (!($20)) {
+ break;
+ }
+ $21 = $i;
+ $22 = $2;
+ $23 = (($22) + ($21<<2)|0);
+ $24 = HEAP32[$23>>2]|0;
+ _GNUNET_CRYPTO_rsa_public_key_hash($24,$khc);
+ $25 = $hctx;
+ _GNUNET_CRYPTO_hash_context_read($25,$khc,64);
+ $26 = $i;
+ $27 = (($26) + 1)|0;
+ $i = $27;
+ }
+ $28 = $hctx;
+ $29 = ((($ks)) + 16|0);
+ _GNUNET_CRYPTO_hash_context_finish($28,$29);
+ $30 = (_htonl(80)|0);
+ HEAP8[$ks>>0]=$30&255;HEAP8[$ks+1>>0]=($30>>8)&255;HEAP8[$ks+2>>0]=($30>>16)&255;HEAP8[$ks+3>>0]=$30>>24;
+ $31 = (_htonl(1035)|0);
+ $32 = ((($ks)) + 4|0);
+ HEAP8[$32>>0]=$31&255;HEAP8[$32+1>>0]=($31>>8)&255;HEAP8[$32+2>>0]=($31>>16)&255;HEAP8[$32+3>>0]=$31>>24;
+ $33 = $5;
+ $34 = $1;
+ $35 = (_GNUNET_CRYPTO_eddsa_verify(1035,$ks,$33,$34)|0);
+ $36 = (1)!=($35|0);
+ if ($36) {
+ $0 = 0;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ } else {
+ $0 = 1;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_verify_denoms_enc($signkey_enc,$denoms_enc,$ndenoms,$issue_date,$sig_enc) {
+ $signkey_enc = $signkey_enc|0;
+ $denoms_enc = $denoms_enc|0;
+ $ndenoms = $ndenoms|0;
+ $issue_date = $issue_date|0;
+ $sig_enc = $sig_enc|0;
+ var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $i = 0, $ret = 0, $sig = 0, $signkey = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $signkey = sp + 96|0;
+ $sig = sp + 32|0;
+ $0 = $signkey_enc;
+ $1 = $denoms_enc;
+ $2 = $ndenoms;
+ $3 = $issue_date;
+ $4 = $sig_enc;
+ $6 = $2;
+ $7 = (_llvm_stacksave()|0);
+ $5 = $7;
+ $$alloca_mul = $6<<2;
+ $8 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ $9 = $0;
+ $10 = $0;
+ $11 = (_strlen($10)|0);
+ (_GNUNET_STRINGS_string_to_data($9,$11,$signkey,32)|0);
+ $12 = $4;
+ $13 = $4;
+ $14 = (_strlen($13)|0);
+ (_GNUNET_STRINGS_string_to_data($12,$14,$sig,64)|0);
+ $i = 0;
+ while(1) {
+ $15 = $i;
+ $16 = $2;
+ $17 = ($15>>>0)<($16>>>0);
+ if (!($17)) {
+ break;
+ }
+ $18 = $i;
+ $19 = $1;
+ $20 = (($19) + ($18<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (_TALER_WRALL_rsa_public_key_decode_from_string($21)|0);
+ $23 = $i;
+ $24 = (($8) + ($23<<2)|0);
+ HEAP32[$24>>2] = $22;
+ $25 = $i;
+ $26 = (($25) + 1)|0;
+ $i = $26;
+ }
+ $27 = $3;
+ $28 = $2;
+ $29 = (_TALER_WR_verify_denoms($signkey,$8,$27,$28,$sig)|0);
+ $ret = $29;
+ $i = 0;
+ while(1) {
+ $30 = $i;
+ $31 = $2;
+ $32 = ($30>>>0)<($31>>>0);
+ if (!($32)) {
+ break;
+ }
+ $33 = $i;
+ $34 = (($8) + ($33<<2)|0);
+ $35 = HEAP32[$34>>2]|0;
+ _GNUNET_CRYPTO_rsa_public_key_free($35);
+ $36 = $i;
+ $37 = (($36) + 1)|0;
+ $i = $37;
+ }
+ $38 = $ret;
+ $39 = $5;
+ _llvm_stackrestore(($39|0));
+ STACKTOP = sp;return ($38|0);
+}
+function _TALER_WR_verify_sign_key($master,$date,$expire,$end,$signkey,$sig) {
+ $master = $master|0;
+ $date = $date|0;
+ $expire = $expire|0;
+ $end = $end|0;
+ $signkey = $signkey|0;
+ $sig = $sig|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $date_abs = 0, $date_abs$byval_copy = 0, $end_abs = 0, $end_abs$byval_copy = 0, $expire_abs = 0;
+ var $expire_abs$byval_copy = 0, $master_key = 0, $signkey_key = 0, $skval = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $end_abs$byval_copy = sp + 40|0;
+ $expire_abs$byval_copy = sp + 32|0;
+ $date_abs$byval_copy = sp + 24|0;
+ $skval = sp + 168|0;
+ $date_abs = sp + 16|0;
+ $expire_abs = sp + 8|0;
+ $end_abs = sp;
+ $master_key = sp + 136|0;
+ $signkey_key = sp + 104|0;
+ $7 = sp + 96|0;
+ $8 = sp + 88|0;
+ $9 = sp + 80|0;
+ $1 = $master;
+ $2 = $date;
+ $3 = $expire;
+ $4 = $end;
+ $5 = $signkey;
+ $6 = $sig;
+ $10 = $1;
+ dest=$master_key; src=$10; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $11 = $5;
+ dest=$signkey_key; src=$11; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $12 = ((($skval)) + 72|0);
+ dest=$12; src=$master_key; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $13 = $2;
+ $14 = (_time_from_seconds($13,$date_abs)|0);
+ $15 = (-1)==($14|0);
+ if ($15) {
+ $0 = -1;
+ $54 = $0;
+ STACKTOP = sp;return ($54|0);
+ }
+ $16 = $3;
+ $17 = (_time_from_seconds($16,$expire_abs)|0);
+ $18 = (-1)==($17|0);
+ if ($18) {
+ $0 = -1;
+ $54 = $0;
+ STACKTOP = sp;return ($54|0);
+ }
+ $19 = $4;
+ $20 = (_time_from_seconds($19,$end_abs)|0);
+ $21 = (-1)==($20|0);
+ if ($21) {
+ $0 = -1;
+ $54 = $0;
+ STACKTOP = sp;return ($54|0);
+ }
+ $22 = ((($skval)) + 104|0);
+ ;HEAP32[$date_abs$byval_copy>>2]=HEAP32[$date_abs>>2]|0;HEAP32[$date_abs$byval_copy+4>>2]=HEAP32[$date_abs+4>>2]|0;
+ $23 = (_GNUNET_TIME_absolute_hton($date_abs$byval_copy)|0);
+ $24 = tempRet0;
+ $25 = $7;
+ $26 = $25;
+ HEAP8[$26>>0]=$23&255;HEAP8[$26+1>>0]=($23>>8)&255;HEAP8[$26+2>>0]=($23>>16)&255;HEAP8[$26+3>>0]=$23>>24;
+ $27 = (($25) + 4)|0;
+ $28 = $27;
+ HEAP8[$28>>0]=$24&255;HEAP8[$28+1>>0]=($24>>8)&255;HEAP8[$28+2>>0]=($24>>16)&255;HEAP8[$28+3>>0]=$24>>24;
+ ;HEAP8[$22>>0]=HEAP8[$7>>0]|0;HEAP8[$22+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$22+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$22+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$22+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$22+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$22+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$22+7>>0]=HEAP8[$7+7>>0]|0;
+ $29 = ((($skval)) + 112|0);
+ ;HEAP32[$expire_abs$byval_copy>>2]=HEAP32[$expire_abs>>2]|0;HEAP32[$expire_abs$byval_copy+4>>2]=HEAP32[$expire_abs+4>>2]|0;
+ $30 = (_GNUNET_TIME_absolute_hton($expire_abs$byval_copy)|0);
+ $31 = tempRet0;
+ $32 = $8;
+ $33 = $32;
+ HEAP8[$33>>0]=$30&255;HEAP8[$33+1>>0]=($30>>8)&255;HEAP8[$33+2>>0]=($30>>16)&255;HEAP8[$33+3>>0]=$30>>24;
+ $34 = (($32) + 4)|0;
+ $35 = $34;
+ HEAP8[$35>>0]=$31&255;HEAP8[$35+1>>0]=($31>>8)&255;HEAP8[$35+2>>0]=($31>>16)&255;HEAP8[$35+3>>0]=$31>>24;
+ ;HEAP8[$29>>0]=HEAP8[$8>>0]|0;HEAP8[$29+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$29+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$29+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$29+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$29+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$29+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$29+7>>0]=HEAP8[$8+7>>0]|0;
+ $36 = ((($skval)) + 120|0);
+ ;HEAP32[$end_abs$byval_copy>>2]=HEAP32[$end_abs>>2]|0;HEAP32[$end_abs$byval_copy+4>>2]=HEAP32[$end_abs+4>>2]|0;
+ $37 = (_GNUNET_TIME_absolute_hton($end_abs$byval_copy)|0);
+ $38 = tempRet0;
+ $39 = $9;
+ $40 = $39;
+ HEAP8[$40>>0]=$37&255;HEAP8[$40+1>>0]=($37>>8)&255;HEAP8[$40+2>>0]=($37>>16)&255;HEAP8[$40+3>>0]=$37>>24;
+ $41 = (($39) + 4)|0;
+ $42 = $41;
+ HEAP8[$42>>0]=$38&255;HEAP8[$42+1>>0]=($38>>8)&255;HEAP8[$42+2>>0]=($38>>16)&255;HEAP8[$42+3>>0]=$38>>24;
+ ;HEAP8[$36>>0]=HEAP8[$9>>0]|0;HEAP8[$36+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$36+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$36+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$36+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$36+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$36+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$36+7>>0]=HEAP8[$9+7>>0]|0;
+ $43 = ((($skval)) + 128|0);
+ dest=$43; src=$signkey_key; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $44 = (_htonl(1024)|0);
+ $45 = ((($skval)) + 64|0);
+ $46 = ((($45)) + 4|0);
+ HEAP8[$46>>0]=$44&255;HEAP8[$46+1>>0]=($44>>8)&255;HEAP8[$46+2>>0]=($44>>16)&255;HEAP8[$46+3>>0]=$44>>24;
+ $47 = (_htonl(96)|0);
+ $48 = ((($skval)) + 64|0);
+ HEAP8[$48>>0]=$47&255;HEAP8[$48+1>>0]=($47>>8)&255;HEAP8[$48+2>>0]=($47>>16)&255;HEAP8[$48+3>>0]=$47>>24;
+ $49 = ((($skval)) + 64|0);
+ $50 = $6;
+ $51 = $1;
+ $52 = (_GNUNET_CRYPTO_eddsa_verify(1024,$49,$50,$51)|0);
+ $53 = (1)!=($52|0);
+ if ($53) {
+ $0 = 0;
+ $54 = $0;
+ STACKTOP = sp;return ($54|0);
+ } else {
+ $0 = 1;
+ $54 = $0;
+ STACKTOP = sp;return ($54|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_verify_sign_key_enc($master_enc,$date,$expire,$end,$signkey_enc,$sig_enc) {
+ $master_enc = $master_enc|0;
+ $date = $date|0;
+ $expire = $expire|0;
+ $end = $end|0;
+ $signkey_enc = $signkey_enc|0;
+ $sig_enc = $sig_enc|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $master = 0;
+ var $sig = 0, $signkey = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $master = sp + 120|0;
+ $signkey = sp + 88|0;
+ $sig = sp + 24|0;
+ $0 = $master_enc;
+ $1 = $date;
+ $2 = $expire;
+ $3 = $end;
+ $4 = $signkey_enc;
+ $5 = $sig_enc;
+ $6 = $0;
+ $7 = $0;
+ $8 = (_strlen($7)|0);
+ (_GNUNET_STRINGS_string_to_data($6,$8,$master,32)|0);
+ $9 = $4;
+ $10 = $4;
+ $11 = (_strlen($10)|0);
+ (_GNUNET_STRINGS_string_to_data($9,$11,$signkey,32)|0);
+ $12 = $5;
+ $13 = $5;
+ $14 = (_strlen($13)|0);
+ (_GNUNET_STRINGS_string_to_data($12,$14,$sig,64)|0);
+ $15 = $1;
+ $16 = $2;
+ $17 = $3;
+ $18 = (_TALER_WR_verify_sign_key($master,$15,$16,$17,$signkey,$sig)|0);
+ STACKTOP = sp;return ($18|0);
+}
+function _TALER_WRALL_sign_deposit_permission($h_contract,$h_wire,$timestamp,$refund,$trans_id,$amount_plus_fee,$deposit_fee,$merchant_pub,$coin_pub,$coin_priv) {
+ $h_contract = $h_contract|0;
+ $h_wire = $h_wire|0;
+ $timestamp = $timestamp|0;
+ $refund = $refund|0;
+ $trans_id = $trans_id|0;
+ $amount_plus_fee = $amount_plus_fee|0;
+ $deposit_fee = $deposit_fee|0;
+ $merchant_pub = $merchant_pub|0;
+ $coin_pub = $coin_pub|0;
+ $coin_priv = $coin_priv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $coin = 0, $depperm = 0, $merchant = 0, $refund_abs = 0, $refund_abs$byval_copy = 0, $signature = 0, $timestamp_abs = 0, $timestamp_abs$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $refund_abs$byval_copy = sp + 24|0;
+ $timestamp_abs$byval_copy = sp + 16|0;
+ $depperm = sp + 160|0;
+ $timestamp_abs = sp + 8|0;
+ $refund_abs = sp;
+ $coin = sp + 128|0;
+ $merchant = sp + 96|0;
+ $11 = sp + 88|0;
+ $12 = sp + 80|0;
+ $1 = $h_contract;
+ $2 = $h_wire;
+ $3 = $timestamp;
+ $4 = $refund;
+ $5 = $trans_id;
+ $6 = $amount_plus_fee;
+ $7 = $deposit_fee;
+ $8 = $merchant_pub;
+ $9 = $coin_pub;
+ $10 = $coin_priv;
+ $13 = ((($depperm)) + 8|0);
+ $14 = $1;
+ dest=$13; src=$14; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $15 = ((($depperm)) + 72|0);
+ $16 = $2;
+ dest=$15; src=$16; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $17 = $9;
+ dest=$coin; src=$17; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $18 = $8;
+ dest=$merchant; src=$18; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $19 = $3;
+ $20 = (_time_from_seconds($19,$timestamp_abs)|0);
+ $21 = (-1)==($20|0);
+ if ($21) {
+ $0 = 0;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ }
+ $22 = $4;
+ $23 = (_time_from_seconds($22,$refund_abs)|0);
+ $24 = (-1)==($23|0);
+ if ($24) {
+ $0 = 0;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ } else {
+ $25 = ((($depperm)) + 136|0);
+ ;HEAP32[$timestamp_abs$byval_copy>>2]=HEAP32[$timestamp_abs>>2]|0;HEAP32[$timestamp_abs$byval_copy+4>>2]=HEAP32[$timestamp_abs+4>>2]|0;
+ $26 = (_GNUNET_TIME_absolute_hton($timestamp_abs$byval_copy)|0);
+ $27 = tempRet0;
+ $28 = $11;
+ $29 = $28;
+ HEAP8[$29>>0]=$26&255;HEAP8[$29+1>>0]=($26>>8)&255;HEAP8[$29+2>>0]=($26>>16)&255;HEAP8[$29+3>>0]=$26>>24;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP8[$31>>0]=$27&255;HEAP8[$31+1>>0]=($27>>8)&255;HEAP8[$31+2>>0]=($27>>16)&255;HEAP8[$31+3>>0]=$27>>24;
+ ;HEAP8[$25>>0]=HEAP8[$11>>0]|0;HEAP8[$25+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$25+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$25+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$25+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$25+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$25+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$25+7>>0]=HEAP8[$11+7>>0]|0;
+ $32 = ((($depperm)) + 144|0);
+ ;HEAP32[$refund_abs$byval_copy>>2]=HEAP32[$refund_abs>>2]|0;HEAP32[$refund_abs$byval_copy+4>>2]=HEAP32[$refund_abs+4>>2]|0;
+ $33 = (_GNUNET_TIME_absolute_hton($refund_abs$byval_copy)|0);
+ $34 = tempRet0;
+ $35 = $12;
+ $36 = $35;
+ HEAP8[$36>>0]=$33&255;HEAP8[$36+1>>0]=($33>>8)&255;HEAP8[$36+2>>0]=($33>>16)&255;HEAP8[$36+3>>0]=$33>>24;
+ $37 = (($35) + 4)|0;
+ $38 = $37;
+ HEAP8[$38>>0]=$34&255;HEAP8[$38+1>>0]=($34>>8)&255;HEAP8[$38+2>>0]=($34>>16)&255;HEAP8[$38+3>>0]=$34>>24;
+ ;HEAP8[$32>>0]=HEAP8[$12>>0]|0;HEAP8[$32+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$32+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$32+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$32+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$32+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$32+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$32+7>>0]=HEAP8[$12+7>>0]|0;
+ $39 = $5;
+ $40 = (_GNUNET_htonll($39,0)|0);
+ $41 = tempRet0;
+ $42 = ((($depperm)) + 152|0);
+ $43 = $42;
+ $44 = $43;
+ HEAP8[$44>>0]=$40&255;HEAP8[$44+1>>0]=($40>>8)&255;HEAP8[$44+2>>0]=($40>>16)&255;HEAP8[$44+3>>0]=$40>>24;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP8[$46>>0]=$41&255;HEAP8[$46+1>>0]=($41>>8)&255;HEAP8[$46+2>>0]=($41>>16)&255;HEAP8[$46+3>>0]=$41>>24;
+ $47 = ((($depperm)) + 160|0);
+ $48 = $6;
+ _TALER_amount_hton($47,$48);
+ $49 = ((($depperm)) + 184|0);
+ $50 = $7;
+ _TALER_amount_hton($49,$50);
+ $51 = ((($depperm)) + 208|0);
+ dest=$51; src=$merchant; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $52 = ((($depperm)) + 240|0);
+ dest=$52; src=$coin; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $53 = (_htonl(272)|0);
+ HEAP8[$depperm>>0]=$53&255;HEAP8[$depperm+1>>0]=($53>>8)&255;HEAP8[$depperm+2>>0]=($53>>16)&255;HEAP8[$depperm+3>>0]=$53>>24;
+ $54 = (_htonl(1201)|0);
+ $55 = ((($depperm)) + 4|0);
+ HEAP8[$55>>0]=$54&255;HEAP8[$55+1>>0]=($54>>8)&255;HEAP8[$55+2>>0]=($54>>16)&255;HEAP8[$55+3>>0]=$54>>24;
+ $56 = (_GNUNET_xmalloc_(64,19102,1137)|0);
+ $signature = $56;
+ $57 = $10;
+ $58 = $signature;
+ (_GNUNET_CRYPTO_eddsa_sign($57,$depperm,$58)|0);
+ $59 = $signature;
+ $0 = $59;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_verify_confirmation($h_contract,$h_wire,$timestamp,$refund,$0,$1,$amount_minus_fee,$coin_pub,$merchant_pub,$sig,$mint_pub) {
+ $h_contract = $h_contract|0;
+ $h_wire = $h_wire|0;
+ $timestamp = $timestamp|0;
+ $refund = $refund|0;
+ $0 = $0|0;
+ $1 = $1|0;
+ $amount_minus_fee = $amount_minus_fee|0;
+ $coin_pub = $coin_pub|0;
+ $merchant_pub = $merchant_pub|0;
+ $sig = $sig|0;
+ $mint_pub = $mint_pub|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $coin = 0, $dc = 0, $merchant = 0, $refund_abs = 0, $refund_abs$byval_copy = 0, $timestamp_abs = 0, $timestamp_abs$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 416|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $refund_abs$byval_copy = sp + 32|0;
+ $timestamp_abs$byval_copy = sp + 24|0;
+ $7 = sp + 16|0;
+ $dc = sp + 160|0;
+ $coin = sp + 128|0;
+ $merchant = sp + 96|0;
+ $timestamp_abs = sp + 8|0;
+ $refund_abs = sp;
+ $13 = sp + 88|0;
+ $14 = sp + 80|0;
+ $3 = $h_contract;
+ $4 = $h_wire;
+ $5 = $timestamp;
+ $6 = $refund;
+ $15 = $7;
+ $16 = $15;
+ HEAP32[$16>>2] = $0;
+ $17 = (($15) + 4)|0;
+ $18 = $17;
+ HEAP32[$18>>2] = $1;
+ $8 = $amount_minus_fee;
+ $9 = $coin_pub;
+ $10 = $merchant_pub;
+ $11 = $sig;
+ $12 = $mint_pub;
+ $19 = ((($dc)) + 8|0);
+ $20 = $3;
+ dest=$19; src=$20; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $21 = ((($dc)) + 72|0);
+ $22 = $4;
+ dest=$21; src=$22; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $23 = $9;
+ dest=$coin; src=$23; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $24 = $10;
+ dest=$merchant; src=$24; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $25 = ((($dc)) + 216|0);
+ dest=$25; src=$merchant; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $26 = ((($dc)) + 184|0);
+ dest=$26; src=$coin; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $27 = $5;
+ $28 = (_time_from_seconds($27,$timestamp_abs)|0);
+ $29 = (-1)==($28|0);
+ if ($29) {
+ $2 = -1;
+ $69 = $2;
+ STACKTOP = sp;return ($69|0);
+ }
+ $30 = $6;
+ $31 = (_time_from_seconds($30,$refund_abs)|0);
+ $32 = (-1)==($31|0);
+ if ($32) {
+ $2 = -1;
+ $69 = $2;
+ STACKTOP = sp;return ($69|0);
+ }
+ $33 = ((($dc)) + 144|0);
+ ;HEAP32[$timestamp_abs$byval_copy>>2]=HEAP32[$timestamp_abs>>2]|0;HEAP32[$timestamp_abs$byval_copy+4>>2]=HEAP32[$timestamp_abs+4>>2]|0;
+ $34 = (_GNUNET_TIME_absolute_hton($timestamp_abs$byval_copy)|0);
+ $35 = tempRet0;
+ $36 = $13;
+ $37 = $36;
+ HEAP8[$37>>0]=$34&255;HEAP8[$37+1>>0]=($34>>8)&255;HEAP8[$37+2>>0]=($34>>16)&255;HEAP8[$37+3>>0]=$34>>24;
+ $38 = (($36) + 4)|0;
+ $39 = $38;
+ HEAP8[$39>>0]=$35&255;HEAP8[$39+1>>0]=($35>>8)&255;HEAP8[$39+2>>0]=($35>>16)&255;HEAP8[$39+3>>0]=$35>>24;
+ ;HEAP8[$33>>0]=HEAP8[$13>>0]|0;HEAP8[$33+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$33+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$33+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$33+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$33+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$33+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$33+7>>0]=HEAP8[$13+7>>0]|0;
+ $40 = ((($dc)) + 152|0);
+ ;HEAP32[$refund_abs$byval_copy>>2]=HEAP32[$refund_abs>>2]|0;HEAP32[$refund_abs$byval_copy+4>>2]=HEAP32[$refund_abs+4>>2]|0;
+ $41 = (_GNUNET_TIME_absolute_hton($refund_abs$byval_copy)|0);
+ $42 = tempRet0;
+ $43 = $14;
+ $44 = $43;
+ HEAP8[$44>>0]=$41&255;HEAP8[$44+1>>0]=($41>>8)&255;HEAP8[$44+2>>0]=($41>>16)&255;HEAP8[$44+3>>0]=$41>>24;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP8[$46>>0]=$42&255;HEAP8[$46+1>>0]=($42>>8)&255;HEAP8[$46+2>>0]=($42>>16)&255;HEAP8[$46+3>>0]=$42>>24;
+ ;HEAP8[$40>>0]=HEAP8[$14>>0]|0;HEAP8[$40+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$40+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$40+3>>0]=HEAP8[$14+3>>0]|0;HEAP8[$40+4>>0]=HEAP8[$14+4>>0]|0;HEAP8[$40+5>>0]=HEAP8[$14+5>>0]|0;HEAP8[$40+6>>0]=HEAP8[$14+6>>0]|0;HEAP8[$40+7>>0]=HEAP8[$14+7>>0]|0;
+ $47 = ((($dc)) + 160|0);
+ $48 = $8;
+ _TALER_amount_hton($47,$48);
+ $49 = $7;
+ $50 = $49;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($49) + 4)|0;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (_GNUNET_htonll($51,$54)|0);
+ $56 = tempRet0;
+ $57 = ((($dc)) + 136|0);
+ $58 = $57;
+ $59 = $58;
+ HEAP8[$59>>0]=$55&255;HEAP8[$59+1>>0]=($55>>8)&255;HEAP8[$59+2>>0]=($55>>16)&255;HEAP8[$59+3>>0]=$55>>24;
+ $60 = (($58) + 4)|0;
+ $61 = $60;
+ HEAP8[$61>>0]=$56&255;HEAP8[$61+1>>0]=($56>>8)&255;HEAP8[$61+2>>0]=($56>>16)&255;HEAP8[$61+3>>0]=$56>>24;
+ $62 = (_htonl(1033)|0);
+ $63 = ((($dc)) + 4|0);
+ HEAP8[$63>>0]=$62&255;HEAP8[$63+1>>0]=($62>>8)&255;HEAP8[$63+2>>0]=($62>>16)&255;HEAP8[$63+3>>0]=$62>>24;
+ $64 = (_htonl(248)|0);
+ HEAP8[$dc>>0]=$64&255;HEAP8[$dc+1>>0]=($64>>8)&255;HEAP8[$dc+2>>0]=($64>>16)&255;HEAP8[$dc+3>>0]=$64>>24;
+ $65 = $11;
+ $66 = $12;
+ $67 = (_GNUNET_CRYPTO_eddsa_verify(1033,$dc,$65,$66)|0);
+ $68 = (-1)==($67|0);
+ if ($68) {
+ $2 = 0;
+ $69 = $2;
+ STACKTOP = sp;return ($69|0);
+ } else {
+ $2 = 1;
+ $69 = $2;
+ STACKTOP = sp;return ($69|0);
+ }
+ return (0)|0;
+}
+function _TALER_WRALL_make_eddsa_signature($priv,$purp) {
+ $priv = $priv|0;
+ $purp = $purp|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $sig = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $priv;
+ $1 = $purp;
+ $2 = (_GNUNET_xmalloc_(64,19102,1248)|0);
+ $sig = $2;
+ $3 = $0;
+ $4 = $1;
+ $5 = $sig;
+ (_GNUNET_CRYPTO_eddsa_sign($3,$4,$5)|0);
+ $6 = $sig;
+ STACKTOP = sp;return ($6|0);
+}
+function _DEBUG_WR_get_purpose($test) {
+ $test = $test|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $test;
+ $1 = $0;
+ $2 = HEAPU8[$1>>0]|(HEAPU8[$1+1>>0]<<8)|(HEAPU8[$1+2>>0]<<16)|(HEAPU8[$1+3>>0]<<24);
+ $3 = (_ntohl($2)|0);
+ STACKTOP = sp;return ($3|0);
+}
+function _TALER_WRALL_get_amount($0,$1,$fraction,$cur) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $fraction = $fraction|0;
+ $cur = $cur|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $amount = 0, $ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $3 = sp + 24|0;
+ $amount = sp;
+ $6 = $3;
+ $7 = $6;
+ HEAP32[$7>>2] = $0;
+ $8 = (($6) + 4)|0;
+ $9 = $8;
+ HEAP32[$9>>2] = $1;
+ $4 = $fraction;
+ $5 = $cur;
+ $10 = $5;
+ $11 = (_TALER_amount_get_zero($10,$amount)|0);
+ $12 = (1)!=($11|0);
+ if ($12) {
+ $2 = 0;
+ $28 = $2;
+ STACKTOP = sp;return ($28|0);
+ } else {
+ $13 = $3;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $amount;
+ $20 = $19;
+ HEAP32[$20>>2] = $15;
+ $21 = (($19) + 4)|0;
+ $22 = $21;
+ HEAP32[$22>>2] = $18;
+ $23 = $4;
+ $24 = ((($amount)) + 8|0);
+ HEAP32[$24>>2] = $23;
+ $25 = (_GNUNET_xmalloc_(24,19102,1291)|0);
+ $ptr = $25;
+ $26 = $ptr;
+ ;HEAP32[$26>>2]=HEAP32[$amount>>2]|0;HEAP32[$26+4>>2]=HEAP32[$amount+4>>2]|0;HEAP32[$26+8>>2]=HEAP32[$amount+8>>2]|0;HEAP32[$26+12>>2]=HEAP32[$amount+12>>2]|0;HEAP32[$26+16>>2]=HEAP32[$amount+16>>2]|0;HEAP32[$26+20>>2]=HEAP32[$amount+20>>2]|0;
+ $27 = $ptr;
+ $2 = $27;
+ $28 = $2;
+ STACKTOP = sp;return ($28|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_hello_world() {
+ var $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ (_printf(19244,$vararg_buffer)|0);
+ STACKTOP = sp;return;
+}
+function _TALER_WR_get_value($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = $1;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ tempRet0 = ($7);
+ STACKTOP = sp;return ($4|0);
+}
+function _TALER_WR_get_fraction($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ((($1)) + 8|0);
+ $3 = HEAP32[$2>>2]|0;
+ STACKTOP = sp;return ($3|0);
+}
+function _TALER_WR_get_currency($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ((($1)) + 12|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _TALER_WR_multiply_amount($a,$factor) {
+ $a = $a|0;
+ $factor = $factor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp;
+ $1 = $a;
+ $2 = $factor;
+ $3 = $1;
+ $4 = ((($3)) + 12|0);
+ (_TALER_amount_get_zero($4,$tmp)|0);
+ $5 = $1;
+ $6 = (_TALER_amount_normalize($5)|0);
+ $7 = (-1)==($6|0);
+ if ($7) {
+ $0 = -1;
+ $56 = $0;
+ STACKTOP = sp;return ($56|0);
+ }
+ $8 = $1;
+ $9 = $8;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($9) + 4)|0;
+ $13 = $12;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $2;
+ $16 = (___muldi3(($11|0),($14|0),($15|0),0)|0);
+ $17 = tempRet0;
+ $18 = $tmp;
+ $19 = $18;
+ HEAP32[$19>>2] = $16;
+ $20 = (($18) + 4)|0;
+ $21 = $20;
+ HEAP32[$21>>2] = $17;
+ $22 = $tmp;
+ $23 = $22;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (($22) + 4)|0;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = $2;
+ $29 = (___udivdi3(($24|0),($27|0),($28|0),0)|0);
+ $30 = tempRet0;
+ $31 = $1;
+ $32 = $31;
+ $33 = $32;
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (($32) + 4)|0;
+ $36 = $35;
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($29|0)!=($34|0);
+ $39 = ($30|0)!=($37|0);
+ $40 = $38 | $39;
+ if ($40) {
+ $0 = -1;
+ $56 = $0;
+ STACKTOP = sp;return ($56|0);
+ }
+ $41 = $1;
+ $42 = ((($41)) + 8|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = $2;
+ $45 = Math_imul($43, $44)|0;
+ $46 = ((($tmp)) + 8|0);
+ HEAP32[$46>>2] = $45;
+ $47 = ((($tmp)) + 8|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $2;
+ $50 = (($48>>>0) / ($49>>>0))&-1;
+ $51 = $1;
+ $52 = ((($51)) + 8|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($50|0)!=($53|0);
+ if ($54) {
+ $0 = -1;
+ $56 = $0;
+ STACKTOP = sp;return ($56|0);
+ } else {
+ (_TALER_amount_normalize($tmp)|0);
+ $55 = $1;
+ ;HEAP32[$55>>2]=HEAP32[$tmp>>2]|0;HEAP32[$55+4>>2]=HEAP32[$tmp+4>>2]|0;HEAP32[$55+8>>2]=HEAP32[$tmp+8>>2]|0;HEAP32[$55+12>>2]=HEAP32[$tmp+12>>2]|0;HEAP32[$55+16>>2]=HEAP32[$tmp+16>>2]|0;HEAP32[$55+20>>2]=HEAP32[$tmp+20>>2]|0;
+ $0 = 1;
+ $56 = $0;
+ STACKTOP = sp;return ($56|0);
+ }
+ return (0)|0;
+}
+function _TALER_WR_multiply_amounts($a,$b) {
+ $a = $a|0;
+ $b = $b|0;
+ var $0 = 0.0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0;
+ var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ad = 0.0, $bd = 0.0, $ret = 0.0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $b;
+ $3 = $1;
+ $4 = (_TALER_amount_normalize($3)|0);
+ $5 = (-1)==($4|0);
+ if ($5) {
+ $0 = -1.0;
+ $43 = $0;
+ STACKTOP = sp;return (+$43);
+ }
+ $6 = $2;
+ $7 = (_TALER_amount_normalize($6)|0);
+ $8 = (-1)==($7|0);
+ if ($8) {
+ $0 = -1.0;
+ $43 = $0;
+ STACKTOP = sp;return (+$43);
+ } else {
+ $9 = $1;
+ $10 = ((($9)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (+($11>>>0));
+ $13 = $12 / 1.0E+6;
+ $ad = $13;
+ $14 = $2;
+ $15 = ((($14)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (+($16>>>0));
+ $18 = $17 / 1.0E+6;
+ $bd = $18;
+ $19 = $1;
+ $20 = $19;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($20) + 4)|0;
+ $24 = $23;
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (+($22>>>0)) + (4294967296.0*(+($25>>>0)));
+ $27 = $ad;
+ $28 = $27 + $26;
+ $ad = $28;
+ $29 = $2;
+ $30 = $29;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($30) + 4)|0;
+ $34 = $33;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (+($32>>>0)) + (4294967296.0*(+($35>>>0)));
+ $37 = $bd;
+ $38 = $37 + $36;
+ $bd = $38;
+ $39 = $ad;
+ $40 = $bd;
+ $41 = $39 * $40;
+ $ret = $41;
+ $42 = $ret;
+ $0 = $42;
+ $43 = $0;
+ STACKTOP = sp;return (+$43);
+ }
+ return +(0.0);
+}
+function _GNUNET_xmalloc_($size,$filename,$linenumber) {
+ $size = $size|0;
+ $filename = $filename|0;
+ $linenumber = $linenumber|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $ret = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $size;
+ $1 = $filename;
+ $2 = $linenumber;
+ $3 = $0;
+ $4 = ($3>>>0)<=(41943040);
+ if (!($4)) {
+ $log_line = 74;
+ $5 = HEAP32[185]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = $log_line;
+ $8 = (_GNUNET_get_log_call_status(1,0,19285,19305,$7)|0);
+ HEAP32[185] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $11 = HEAP32[185]|0;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = $1;
+ $14 = $2;
+ HEAP32[$vararg_buffer>>2] = $13;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $14;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $15 = $0;
+ $16 = $1;
+ $17 = $2;
+ $18 = (_GNUNET_xmalloc_unchecked_($15,$16,$17)|0);
+ $ret = $18;
+ $19 = $ret;
+ $20 = (0|0)==($19|0);
+ if (!($20)) {
+ $40 = $ret;
+ STACKTOP = sp;return ($40|0);
+ }
+ $log_line1 = 81;
+ $21 = HEAP32[186]|0;
+ $22 = ($21|0)==(-1);
+ if ($22) {
+ $23 = $log_line1;
+ $24 = (_GNUNET_get_log_call_status(1,21106,19285,19305,$23)|0);
+ HEAP32[186] = $24;
+ }
+ $25 = (_GNUNET_get_log_skip()|0);
+ $26 = ($25|0)>(0);
+ if ($26) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $27 = HEAP32[186]|0;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ $29 = (___errno_location()|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (_strerror($30)|0);
+ HEAP32[$vararg_buffer2>>2] = 19321;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 19285;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 81;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $31;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer2);
+ }
+ }
+ $log_line2 = 82;
+ $32 = HEAP32[187]|0;
+ $33 = ($32|0)==(-1);
+ if ($33) {
+ $34 = $log_line2;
+ $35 = (_GNUNET_get_log_call_status(1,0,19285,19305,$34)|0);
+ HEAP32[187] = $35;
+ }
+ $36 = (_GNUNET_get_log_skip()|0);
+ $37 = ($36|0)>(0);
+ if ($37) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $38 = HEAP32[187]|0;
+ $39 = ($38|0)!=(0);
+ if (!($39)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 19285;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 82;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_xmalloc_unchecked_($size,$filename,$linenumber) {
+ $size = $size|0;
+ $filename = $filename|0;
+ $linenumber = $linenumber|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $size;
+ $2 = $filename;
+ $3 = $linenumber;
+ $4 = $1;
+ $5 = (_malloc($4)|0);
+ $result = $5;
+ $6 = $result;
+ $7 = (0|0)==($6|0);
+ if ($7) {
+ $0 = 0;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+ } else {
+ $8 = $result;
+ $9 = $1;
+ _memset(($8|0),0,($9|0))|0;
+ $10 = $result;
+ $0 = $10;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_xfree_($ptr,$filename,$linenumber) {
+ $ptr = $ptr|0;
+ $filename = $filename|0;
+ $linenumber = $linenumber|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $ptr;
+ $1 = $filename;
+ $2 = $linenumber;
+ $3 = $0;
+ $4 = (0|0)!=($3|0);
+ if ($4) {
+ $15 = $0;
+ _free($15);
+ STACKTOP = sp;return;
+ }
+ $log_line = 237;
+ $5 = HEAP32[188]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = $log_line;
+ $8 = (_GNUNET_get_log_call_status(1,0,19285,19328,$7)|0);
+ HEAP32[188] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $11 = HEAP32[188]|0;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = $1;
+ $14 = $2;
+ HEAP32[$vararg_buffer>>2] = $13;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $14;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_xstrdup_($str,$filename,$linenumber) {
+ $str = $str|0;
+ $filename = $filename|0;
+ $linenumber = $linenumber|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $res = 0, $slen = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $str;
+ $1 = $filename;
+ $2 = $linenumber;
+ $3 = $0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $15 = $0;
+ $16 = (_strlen($15)|0);
+ $17 = (($16) + 1)|0;
+ $slen = $17;
+ $18 = $slen;
+ $19 = $1;
+ $20 = $2;
+ $21 = (_GNUNET_xmalloc_($18,$19,$20)|0);
+ $res = $21;
+ $22 = $res;
+ $23 = $0;
+ $24 = $slen;
+ _memcpy(($22|0),($23|0),($24|0))|0;
+ $25 = $res;
+ STACKTOP = sp;return ($25|0);
+ }
+ $log_line = 278;
+ $5 = HEAP32[189]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = $log_line;
+ $8 = (_GNUNET_get_log_call_status(1,0,19285,19342,$7)|0);
+ HEAP32[189] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $11 = HEAP32[189]|0;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = $1;
+ $14 = $2;
+ HEAP32[$vararg_buffer>>2] = $13;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $14;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_snprintf($buf,$size,$format,$varargs) {
+ $buf = $buf|0;
+ $size = $size|0;
+ $format = $format|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $args = 0;
+ var $log_line = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $args = sp + 16|0;
+ $0 = $buf;
+ $1 = $size;
+ $2 = $format;
+ HEAP32[$args>>2] = $varargs;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (_vsnprintf($3,$4,$5,$args)|0);
+ $ret = $6;
+ $7 = $ret;
+ $8 = $1;
+ $9 = ($7>>>0)<($8>>>0);
+ if ($9) {
+ $18 = $ret;
+ STACKTOP = sp;return ($18|0);
+ }
+ $log_line = 433;
+ $10 = HEAP32[190]|0;
+ $11 = ($10|0)==(-1);
+ if ($11) {
+ $12 = $log_line;
+ $13 = (_GNUNET_get_log_call_status(1,0,19285,19358,$12)|0);
+ HEAP32[190] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[190]|0;
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19285;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 433;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_htonll($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $2 = sp;
+ $3 = $2;
+ $4 = $3;
+ HEAP32[$4>>2] = $0;
+ $5 = (($3) + 4)|0;
+ $6 = $5;
+ HEAP32[$6>>2] = $1;
+ $7 = $2;
+ $8 = $7;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($7) + 4)|0;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_htonl($9)|0);
+ $14 = $2;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_htonl($19)|0);
+ $21 = (_i64Add(0,($13|0),($20|0),0)|0);
+ $22 = tempRet0;
+ tempRet0 = ($22);
+ STACKTOP = sp;return ($21|0);
+}
+function _GNUNET_ntohll($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $2 = sp;
+ $3 = $2;
+ $4 = $3;
+ HEAP32[$4>>2] = $0;
+ $5 = (($3) + 4)|0;
+ $6 = $5;
+ HEAP32[$6>>2] = $1;
+ $7 = $2;
+ $8 = $7;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($7) + 4)|0;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_ntohl($9)|0);
+ $14 = $2;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_ntohl($19)|0);
+ $21 = (_i64Add(0,($13|0),($20|0),0)|0);
+ $22 = tempRet0;
+ tempRet0 = ($22);
+ STACKTOP = sp;return ($21|0);
+}
+function _GNUNET_util_cl_init() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[3963]|0;
+ HEAP32[17644] = $0;
+ return;
+}
+function _GNUNET_util_cl_fini() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function _GNUNET_abort_() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _abort();
+ // unreachable;
+}
+function _GNUNET_get_log_call_status($caller_level,$comp,$file,$function,$line) {
+ $caller_level = $caller_level|0;
+ $comp = $comp|0;
+ $file = $file|0;
+ $function = $function|0;
+ $line = $line|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $force_only = 0, $i = 0, $ld = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $caller_level;
+ $2 = $comp;
+ $3 = $file;
+ $4 = $function;
+ $5 = $line;
+ $6 = $2;
+ $7 = (0|0)==($6|0);
+ if ($7) {
+ $8 = HEAP32[17645]|0;
+ $2 = $8;
+ }
+ $9 = HEAP32[17646]|0;
+ $10 = ($9|0)>=(0);
+ $11 = HEAP32[17647]|0;
+ $12 = (0)==($11|0);
+ $or$cond = $10 & $12;
+ if ($or$cond) {
+ $13 = $1;
+ $14 = HEAP32[17646]|0;
+ $15 = ($13|0)<=($14|0);
+ $16 = $15&1;
+ $0 = $16;
+ $72 = $0;
+ STACKTOP = sp;return ($72|0);
+ }
+ $17 = HEAP32[17646]|0;
+ $18 = ($17|0)>=(0);
+ $19 = $18&1;
+ $force_only = $19;
+ $i = 0;
+ while(1) {
+ $20 = $i;
+ $21 = HEAP32[17648]|0;
+ $22 = ($20|0)<($21|0);
+ if (!($22)) {
+ break;
+ }
+ $23 = $i;
+ $24 = HEAP32[17649]|0;
+ $25 = (($24) + (($23*112)|0)|0);
+ $ld = $25;
+ $26 = $force_only;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ $28 = $ld;
+ $29 = ((($28)) + 108|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)!=(0);
+ if ($31) {
+ label = 9;
+ }
+ } else {
+ label = 9;
+ }
+ if ((label|0) == 9) {
+ label = 0;
+ $32 = $5;
+ $33 = $ld;
+ $34 = ((($33)) + 96|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ($32|0)>=($35|0);
+ if ($36) {
+ $37 = $5;
+ $38 = $ld;
+ $39 = ((($38)) + 100|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ($37|0)<=($40|0);
+ if ($41) {
+ $42 = $ld;
+ $43 = $2;
+ $44 = (_regexec($42,$43,0,0,0)|0);
+ $45 = (0)==($44|0);
+ if ($45) {
+ $46 = $ld;
+ $47 = ((($46)) + 32|0);
+ $48 = $3;
+ $49 = (_regexec($47,$48,0,0,0)|0);
+ $50 = (0)==($49|0);
+ if ($50) {
+ $51 = $ld;
+ $52 = ((($51)) + 64|0);
+ $53 = $4;
+ $54 = (_regexec($52,$53,0,0,0)|0);
+ $55 = (0)==($54|0);
+ if ($55) {
+ label = 14;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ $62 = $i;
+ $63 = (($62) + 1)|0;
+ $i = $63;
+ }
+ if ((label|0) == 14) {
+ $56 = $1;
+ $57 = $ld;
+ $58 = ((($57)) + 104|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($56|0)<=($59|0);
+ $61 = $60&1;
+ $0 = $61;
+ $72 = $0;
+ STACKTOP = sp;return ($72|0);
+ }
+ $64 = HEAP32[17646]|0;
+ $65 = ($64|0)>=(0);
+ $66 = $1;
+ if ($65) {
+ $67 = HEAP32[17646]|0;
+ $68 = ($66|0)<=($67|0);
+ $69 = $68&1;
+ $0 = $69;
+ $72 = $0;
+ STACKTOP = sp;return ($72|0);
+ } else {
+ $70 = ($66|0)<=(2);
+ $71 = $70&1;
+ $0 = $71;
+ $72 = $0;
+ STACKTOP = sp;return ($72|0);
+ }
+ return (0)|0;
+}
+function _setup_log_file($tm) {
+ $tm = $tm|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $altlog = 0, $altlog_fd = 0, $dup_return = 0, $fn = 0, $leftsquare = 0, $log_line = 0, $logfile_copy = 0, $vararg_buffer = 0, $vararg_buffer3 = 0;
+ var $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr2 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 4176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $fn = sp + 76|0;
+ $1 = $tm;
+ $2 = HEAP32[17651]|0;
+ $3 = (0|0)==($2|0);
+ if ($3) {
+ $0 = -1;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ $4 = HEAP32[17651]|0;
+ $5 = $1;
+ $6 = (_strftime(($fn|0),4097,($4|0),($5|0))|0);
+ $7 = (0)==($6|0);
+ if ($7) {
+ $0 = -1;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ $8 = (_strrchr($fn,91)|0);
+ $leftsquare = $8;
+ $9 = $leftsquare;
+ $10 = (0|0)!=($9|0);
+ if ($10) {
+ $11 = $leftsquare;
+ $12 = ((($11)) + 1|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13 << 24 >> 24;
+ $15 = (93)==($14|0);
+ if ($15) {
+ $16 = (_GNUNET_xstrdup_($fn,19404,344)|0);
+ $logfile_copy = $16;
+ $17 = $leftsquare;
+ $18 = $17;
+ $19 = $fn;
+ $20 = (($18) - ($19))|0;
+ $21 = $logfile_copy;
+ $22 = (($21) + ($20)|0);
+ HEAP8[$22>>0] = 0;
+ $23 = $leftsquare;
+ $24 = $23;
+ $25 = $fn;
+ $26 = (($24) - ($25))|0;
+ $27 = (($26) + 1)|0;
+ $28 = $logfile_copy;
+ $29 = (($28) + ($27)|0);
+ HEAP8[$29>>0] = 0;
+ $30 = $logfile_copy;
+ $31 = (_getpid()|0);
+ $32 = $leftsquare;
+ $33 = $32;
+ $34 = $fn;
+ $35 = (($33) - ($34))|0;
+ $36 = (($35) + 2)|0;
+ $37 = $logfile_copy;
+ $38 = (($37) + ($36)|0);
+ HEAP32[$vararg_buffer>>2] = $30;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $31;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $38;
+ (_snprintf($fn,4096,19427,$vararg_buffer)|0);
+ $39 = $logfile_copy;
+ _GNUNET_xfree_($39,19404,354);
+ }
+ }
+ $40 = (_strcmp($fn,71678)|0);
+ $41 = (0)==($40|0);
+ if ($41) {
+ $0 = 1;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ _log_rotate(71678);
+ (_strcpy(71678,$fn)|0);
+ HEAP32[$vararg_buffer3>>2] = 420;
+ $42 = (_open($fn,1089,$vararg_buffer3)|0);
+ $altlog_fd = $42;
+ $43 = $altlog_fd;
+ $44 = (-1)!=($43|0);
+ do {
+ if ($44) {
+ $45 = HEAP32[17644]|0;
+ $46 = (0|0)!=($45|0);
+ if ($46) {
+ $47 = HEAP32[17644]|0;
+ (_fclose($47)|0);
+ }
+ $48 = $altlog_fd;
+ $49 = (_dup2($48,2)|0);
+ $dup_return = $49;
+ $50 = $altlog_fd;
+ (_close($50)|0);
+ $51 = $dup_return;
+ $52 = (-1)!=($51|0);
+ if (!($52)) {
+ $altlog_fd = -1;
+ break;
+ }
+ $53 = (___fdopen(2,19434)|0);
+ $altlog = $53;
+ $54 = $altlog;
+ $55 = (0|0)==($54|0);
+ if ($55) {
+ (_close(2)|0);
+ $altlog_fd = -1;
+ }
+ }
+ } while(0);
+ $56 = $altlog_fd;
+ $57 = (-1)==($56|0);
+ if (!($57)) {
+ $69 = $altlog;
+ HEAP32[17644] = $69;
+ $0 = 1;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ $log_line = 392;
+ $58 = HEAP32[191]|0;
+ $59 = ($58|0)==(-1);
+ if ($59) {
+ $60 = $log_line;
+ $61 = (_GNUNET_get_log_call_status(1,0,19404,19437,$60)|0);
+ HEAP32[191] = $61;
+ }
+ $62 = (_GNUNET_get_log_skip()|0);
+ $63 = ($62|0)>(0);
+ if ($63) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $64 = HEAP32[191]|0;
+ $65 = ($64|0)!=(0);
+ if ($65) {
+ $66 = (___errno_location()|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (_strerror($67)|0);
+ HEAP32[$vararg_buffer6>>2] = 38567;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = $fn;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 19404;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = 392;
+ $vararg_ptr12 = ((($vararg_buffer6)) + 16|0);
+ HEAP32[$vararg_ptr12>>2] = $68;
+ _GNUNET_log_nocheck(1,19580,$vararg_buffer6);
+ }
+ }
+ $0 = -1;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+}
+function _log_rotate($new_name) {
+ $new_name = $new_name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $discard = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $new_name;
+ $1 = $0;
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2 << 24 >> 24;
+ $4 = (0)==($3|0);
+ if ($4) {
+ STACKTOP = sp;return;
+ }
+ $5 = HEAP32[17652]|0;
+ $6 = (($5>>>0) % 3)&-1;
+ $7 = (70612 + ($6<<2)|0);
+ $8 = HEAP32[$7>>2]|0;
+ $discard = $8;
+ $9 = $discard;
+ $10 = (0|0)!=($9|0);
+ if ($10) {
+ $11 = $discard;
+ (_unlink($11)|0);
+ $12 = $discard;
+ _GNUNET_xfree_($12,19404,314);
+ }
+ $13 = $0;
+ $14 = (_GNUNET_xstrdup_($13,19404,316)|0);
+ $15 = HEAP32[17652]|0;
+ $16 = (($15>>>0) % 3)&-1;
+ $17 = (70612 + ($16<<2)|0);
+ HEAP32[$17>>2] = $14;
+ $18 = HEAP32[17652]|0;
+ $19 = (($18) + 1)|0;
+ HEAP32[17652] = $19;
+ STACKTOP = sp;return;
+}
+function _GNUNET_get_log_skip() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17656]|0;
+ return ($0|0);
+}
+function _GNUNET_log_skip($n,$check_reset) {
+ $n = $n|0;
+ $check_reset = $check_reset|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $log_line = 0, $ok = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $n;
+ $1 = $check_reset;
+ $2 = $0;
+ $3 = (0)==($2|0);
+ if (!($3)) {
+ $19 = $0;
+ $20 = HEAP32[17656]|0;
+ $21 = (($20) + ($19))|0;
+ HEAP32[17656] = $21;
+ STACKTOP = sp;return;
+ }
+ $4 = HEAP32[17656]|0;
+ $5 = (0)==($4|0);
+ $6 = $5&1;
+ $ok = $6;
+ HEAP32[17656] = 0;
+ $7 = $1;
+ $8 = ($7|0)==(0);
+ $9 = $ok;
+ $10 = ($9|0)!=(0);
+ $or$cond = $8 | $10;
+ if ($or$cond) {
+ STACKTOP = sp;return;
+ }
+ $log_line = 867;
+ $11 = HEAP32[192]|0;
+ $12 = ($11|0)==(-1);
+ if ($12) {
+ $13 = $log_line;
+ $14 = (_GNUNET_get_log_call_status(1,0,19404,19452,$13)|0);
+ HEAP32[192] = $14;
+ }
+ $15 = (_GNUNET_get_log_skip()|0);
+ $16 = ($15|0)>(0);
+ if ($16) {
+ _GNUNET_log_skip(-1,0);
+ STACKTOP = sp;return;
+ }
+ $17 = HEAP32[192]|0;
+ $18 = ($17|0)!=(0);
+ if (!($18)) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[$vararg_buffer>>2] = 19404;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = 867;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function _GNUNET_log_nocheck($kind,$message,$varargs) {
+ $kind = $kind|0;
+ $message = $message|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $va = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $va = sp;
+ $0 = $kind;
+ $1 = $message;
+ HEAP32[$va>>2] = $varargs;
+ $2 = $0;
+ $3 = HEAP32[17650]|0;
+ $4 = $1;
+ _mylog($2,$3,$4,$va);
+ STACKTOP = sp;return;
+}
+function _mylog($kind,$comp,$message,$va) {
+ $kind = $kind|0;
+ $comp = $comp|0;
+ $message = $message|0;
+ $va = $va|0;
+ var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
+ var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
+ var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
+ var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
+ var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
+ var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $date = 0, $date2 = 0, $last_bulk_time$byval_copy = 0, $log_line = 0, $offset = 0, $or$cond = 0;
+ var $or$cond3 = 0, $size = 0, $timeofday = 0, $tmptr = 0, $vacopy_currentptr = 0, $vacp = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $last_bulk_time$byval_copy = sp + 40|0;
+ $vararg_buffer5 = sp + 32|0;
+ $vararg_buffer = sp + 24|0;
+ $date = sp + 176|0;
+ $date2 = sp + 112|0;
+ $vacp = sp + 72|0;
+ $offset = sp + 16|0;
+ $timeofday = sp + 56|0;
+ $5 = sp + 8|0;
+ $7 = sp;
+ $0 = $kind;
+ $1 = $comp;
+ $2 = $message;
+ $3 = $va;
+ $8 = $3;
+ $vacopy_currentptr = HEAP32[$8>>2]|0;
+ HEAP32[$vacp>>2] = $vacopy_currentptr;
+ $9 = $2;
+ $10 = (_vsnprintf(0,0,$9,$vacp)|0);
+ $11 = (($10) + 1)|0;
+ $size = $11;
+ $12 = $size;
+ $13 = (0)!=($12|0);
+ if (!($13)) {
+ $log_line = 910;
+ $14 = HEAP32[193]|0;
+ $15 = ($14|0)==(-1);
+ if ($15) {
+ $16 = $log_line;
+ $17 = (_GNUNET_get_log_call_status(1,0,19404,19468,$16)|0);
+ HEAP32[193] = $17;
+ }
+ $18 = (_GNUNET_get_log_skip()|0);
+ $19 = ($18|0)>(0);
+ if ($19) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $20 = HEAP32[193]|0;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19404;
+ $vararg_ptr4 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = 910;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ dest=$date; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $22 = $size;
+ $23 = (_llvm_stacksave()|0);
+ $4 = $23;
+ $$alloca_mul = $22;
+ $24 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ (_gettimeofday(($timeofday|0),(0|0))|0);
+ $25 = (_GNUNET_TIME_get_offset()|0);
+ $26 = tempRet0;
+ $27 = $offset;
+ $28 = $27;
+ HEAP32[$28>>2] = $25;
+ $29 = (($27) + 4)|0;
+ $30 = $29;
+ HEAP32[$30>>2] = $26;
+ $31 = $offset;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (($31) + 4)|0;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)>(0);
+ $38 = ($33>>>0)>(0);
+ $39 = ($36|0)==(0);
+ $40 = $39 & $38;
+ $41 = $37 | $40;
+ $42 = $offset;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (($42) + 4)|0;
+ $46 = $45;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (___divdi3(($44|0),($47|0),1000,0)|0);
+ $49 = tempRet0;
+ $50 = HEAP32[$timeofday>>2]|0;
+ $51 = ($50|0)<(0);
+ $52 = $51 << 31 >> 31;
+ $53 = (_i64Add(($50|0),($52|0),($48|0),($49|0))|0);
+ $54 = tempRet0;
+ HEAP32[$timeofday>>2] = $53;
+ do {
+ if ($41) {
+ $55 = $offset;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (($55) + 4)|0;
+ $59 = $58;
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (___remdi3(($57|0),($60|0),1000,0)|0);
+ $62 = tempRet0;
+ $63 = (___muldi3(($61|0),($62|0),1000,0)|0);
+ $64 = tempRet0;
+ $65 = ((($timeofday)) + 4|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ($66|0)<(0);
+ $68 = $67 << 31 >> 31;
+ $69 = (_i64Add(($66|0),($68|0),($63|0),($64|0))|0);
+ $70 = tempRet0;
+ HEAP32[$65>>2] = $69;
+ $71 = ((($timeofday)) + 4|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ($72|0)<(0);
+ $74 = $73 << 31 >> 31;
+ $75 = ($74|0)>(0);
+ $76 = ($72>>>0)>(1000000);
+ $77 = ($74|0)==(0);
+ $78 = $77 & $76;
+ $79 = $75 | $78;
+ if ($79) {
+ $80 = ((($timeofday)) + 4|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ($81|0)<(0);
+ $83 = $82 << 31 >> 31;
+ $84 = (_i64Subtract(($81|0),($83|0),1000000,0)|0);
+ $85 = tempRet0;
+ HEAP32[$80>>2] = $84;
+ $86 = HEAP32[$timeofday>>2]|0;
+ $87 = (($86) + 1)|0;
+ HEAP32[$timeofday>>2] = $87;
+ }
+ } else {
+ $88 = ((($timeofday)) + 4|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ($89|0)<(0);
+ $91 = $90 << 31 >> 31;
+ $92 = $offset;
+ $93 = $92;
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (($92) + 4)|0;
+ $96 = $95;
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (___remdi3(($94|0),($97|0),1000,0)|0);
+ $99 = tempRet0;
+ $100 = (_i64Subtract(0,0,($98|0),($99|0))|0);
+ $101 = tempRet0;
+ $102 = (___muldi3(($100|0),($101|0),1000,0)|0);
+ $103 = tempRet0;
+ $104 = ($91|0)>($103|0);
+ $105 = ($89>>>0)>($102>>>0);
+ $106 = ($91|0)==($103|0);
+ $107 = $106 & $105;
+ $108 = $104 | $107;
+ $109 = $offset;
+ $110 = $109;
+ $111 = HEAP32[$110>>2]|0;
+ $112 = (($109) + 4)|0;
+ $113 = $112;
+ $114 = HEAP32[$113>>2]|0;
+ $115 = (___remdi3(($111|0),($114|0),1000,0)|0);
+ $116 = tempRet0;
+ $117 = (___muldi3(($115|0),($116|0),1000,0)|0);
+ $118 = tempRet0;
+ if ($108) {
+ $119 = ((($timeofday)) + 4|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = ($120|0)<(0);
+ $122 = $121 << 31 >> 31;
+ $123 = (_i64Add(($120|0),($122|0),($117|0),($118|0))|0);
+ $124 = tempRet0;
+ HEAP32[$119>>2] = $123;
+ break;
+ } else {
+ $125 = (_i64Add(1000000,0,($117|0),($118|0))|0);
+ $126 = tempRet0;
+ $127 = ((($timeofday)) + 4|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = ($128|0)<(0);
+ $130 = $129 << 31 >> 31;
+ $131 = (_i64Add(($128|0),($130|0),($125|0),($126|0))|0);
+ $132 = tempRet0;
+ HEAP32[$127>>2] = $131;
+ $133 = HEAP32[$timeofday>>2]|0;
+ $134 = (($133) + -1)|0;
+ HEAP32[$timeofday>>2] = $134;
+ break;
+ }
+ }
+ } while(0);
+ $135 = (_localtime(($timeofday|0))|0);
+ $tmptr = $135;
+ $136 = $tmptr;
+ $137 = (0|0)==($136|0);
+ if ($137) {
+ (_strcpy($date,19474)|0);
+ } else {
+ $138 = $tmptr;
+ (_strftime(($date2|0),64,(19490|0),($138|0))|0);
+ $139 = ((($timeofday)) + 4|0);
+ $140 = HEAP32[$139>>2]|0;
+ HEAP32[$vararg_buffer5>>2] = $140;
+ (_snprintf($date,64,$date2,$vararg_buffer5)|0);
+ }
+ $141 = $size;
+ $142 = $2;
+ $143 = $3;
+ (_vsnprintf($24,$141,$142,$143)|0);
+ $144 = $tmptr;
+ $145 = (0|0)!=($144|0);
+ if ($145) {
+ $146 = $tmptr;
+ (_setup_log_file($146)|0);
+ }
+ $147 = $0;
+ $148 = $147 & 32;
+ $149 = (0)!=($148|0);
+ $150 = 70544;
+ $151 = $150;
+ $152 = HEAP32[$151>>2]|0;
+ $153 = (($150) + 4)|0;
+ $154 = $153;
+ $155 = HEAP32[$154>>2]|0;
+ $156 = (0)!=($152|0);
+ $157 = (0)!=($155|0);
+ $158 = $156 | $157;
+ $or$cond = $149 & $158;
+ if ($or$cond) {
+ $159 = (_strncmp($24,75775,256)|0);
+ $160 = (0)==($159|0);
+ if ($160) {
+ $161 = HEAP32[17657]|0;
+ $162 = (($161) + 1)|0;
+ HEAP32[17657] = $162;
+ ;HEAP32[$last_bulk_time$byval_copy>>2]=HEAP32[70544>>2]|0;HEAP32[$last_bulk_time$byval_copy+4>>2]=HEAP32[70544+4>>2]|0;
+ $163 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy)|0);
+ $164 = tempRet0;
+ $165 = $5;
+ $166 = $165;
+ HEAP32[$166>>2] = $163;
+ $167 = (($165) + 4)|0;
+ $168 = $167;
+ HEAP32[$168>>2] = $164;
+ $169 = $5;
+ $170 = $169;
+ $171 = HEAP32[$170>>2]|0;
+ $172 = (($169) + 4)|0;
+ $173 = $172;
+ $174 = HEAP32[$173>>2]|0;
+ $175 = ($174>>>0)>(10);
+ $176 = ($171>>>0)>(250327040);
+ $177 = ($174|0)==(10);
+ $178 = $177 & $176;
+ $179 = $175 | $178;
+ $180 = HEAP32[17657]|0;
+ $181 = ($180>>>0)>(1000);
+ $or$cond3 = $179 | $181;
+ if ($or$cond3) {
+ _flush_bulk($date);
+ }
+ $6 = 1;
+ $192 = $4;
+ _llvm_stackrestore(($192|0));
+ STACKTOP = sp;return;
+ }
+ }
+ _flush_bulk($date);
+ (_strncpy(75775,$24,256)|0);
+ HEAP32[17657] = 0;
+ $182 = $0;
+ HEAP32[17658] = $182;
+ $183 = (_GNUNET_TIME_absolute_get()|0);
+ $184 = tempRet0;
+ $185 = $7;
+ $186 = $185;
+ HEAP32[$186>>2] = $183;
+ $187 = (($185) + 4)|0;
+ $188 = $187;
+ HEAP32[$188>>2] = $184;
+ ;HEAP32[70544>>2]=HEAP32[$7>>2]|0;HEAP32[70544+4>>2]=HEAP32[$7+4>>2]|0;
+ $189 = $1;
+ (_strncpy(76031,$189,32)|0);
+ $190 = $0;
+ $191 = $1;
+ _output_message($190,$191,$date,$24);
+ $6 = 0;
+ $192 = $4;
+ _llvm_stackrestore(($192|0));
+ STACKTOP = sp;return;
+}
+function _flush_bulk($datestr) {
+ $datestr = $datestr|0;
+ var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ft = 0, $last = 0, $last_bulk_time$byval_copy = 0, $msg = 0, $or$cond = 0, $rev = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 640|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $$byval_copy = sp + 40|0;
+ $last_bulk_time$byval_copy = sp + 32|0;
+ $vararg_buffer = sp + 16|0;
+ $msg = sp + 64|0;
+ $1 = sp + 8|0;
+ $2 = sp;
+ $0 = $datestr;
+ $3 = 70544;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (0)==($5|0);
+ $10 = (0)==($8|0);
+ $11 = $9 & $10;
+ $12 = HEAP32[17657]|0;
+ $13 = (0)==($12|0);
+ $or$cond = $11 | $13;
+ if ($or$cond) {
+ STACKTOP = sp;return;
+ }
+ $rev = 0;
+ $14 = (_memchr(75775,0,256)|0);
+ $last = $14;
+ $15 = $last;
+ $16 = ($15|0)==(0|0);
+ if ($16) {
+ $last = (76030);
+ } else {
+ $17 = $last;
+ $18 = ($17|0)!=(75775|0);
+ if ($18) {
+ $19 = $last;
+ $20 = ((($19)) + -1|0);
+ $last = $20;
+ }
+ }
+ $21 = $last;
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22 << 24 >> 24;
+ $24 = ($23|0)==(10);
+ if ($24) {
+ $rev = 1;
+ $25 = $last;
+ HEAP8[$25>>0] = 0;
+ }
+ ;HEAP32[$last_bulk_time$byval_copy>>2]=HEAP32[70544>>2]|0;HEAP32[$last_bulk_time$byval_copy+4>>2]=HEAP32[70544+4>>2]|0;
+ $26 = (_GNUNET_TIME_absolute_get_duration($last_bulk_time$byval_copy)|0);
+ $27 = tempRet0;
+ $28 = $1;
+ $29 = $28;
+ HEAP32[$29>>2] = $26;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = $27;
+ ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
+ $32 = (_GNUNET_STRINGS_relative_time_to_string($$byval_copy,1)|0);
+ $ft = $32;
+ $33 = HEAP32[17657]|0;
+ $34 = $ft;
+ HEAP32[$vararg_buffer>>2] = 256;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = 75775;
+ $vararg_ptr3 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr3>>2] = $33;
+ $vararg_ptr4 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr4>>2] = $34;
+ (_snprintf($msg,576,19511,$vararg_buffer)|0);
+ $35 = $rev;
+ $36 = ($35|0)==(1);
+ if ($36) {
+ $37 = $last;
+ HEAP8[$37>>0] = 10;
+ }
+ $38 = HEAP32[17658]|0;
+ $39 = $0;
+ _output_message($38,76031,$39,$msg);
+ $40 = (_GNUNET_TIME_absolute_get()|0);
+ $41 = tempRet0;
+ $42 = $2;
+ $43 = $42;
+ HEAP32[$43>>2] = $40;
+ $44 = (($42) + 4)|0;
+ $45 = $44;
+ HEAP32[$45>>2] = $41;
+ ;HEAP32[70544>>2]=HEAP32[$2>>2]|0;HEAP32[70544+4>>2]=HEAP32[$2+4>>2]|0;
+ HEAP32[17657] = 0;
+ STACKTOP = sp;return;
+}
+function _output_message($kind,$comp,$datestr,$msg) {
+ $kind = $kind|0;
+ $comp = $comp|0;
+ $datestr = $datestr|0;
+ $msg = $msg|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $pos = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $kind;
+ $1 = $comp;
+ $2 = $datestr;
+ $3 = $msg;
+ $4 = HEAP32[17644]|0;
+ $5 = (0|0)!=($4|0);
+ $6 = HEAP32[17659]|0;
+ $7 = (0|0)==($6|0);
+ $or$cond = $5 & $7;
+ if ($or$cond) {
+ $8 = HEAP32[17644]|0;
+ $9 = $2;
+ $10 = $1;
+ $11 = $0;
+ $12 = (_GNUNET_error_type_to_string($11)|0);
+ $13 = $3;
+ HEAP32[$vararg_buffer>>2] = $9;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $10;
+ $vararg_ptr3 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr3>>2] = $12;
+ $vararg_ptr4 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr4>>2] = $13;
+ (_fprintf($8,19568,$vararg_buffer)|0);
+ $14 = HEAP32[17644]|0;
+ (_fflush($14)|0);
+ }
+ $15 = HEAP32[17659]|0;
+ $pos = $15;
+ while(1) {
+ $16 = $pos;
+ $17 = ($16|0)!=(0|0);
+ if (!($17)) {
+ break;
+ }
+ $18 = $pos;
+ $19 = ((($18)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $pos;
+ $22 = ((($21)) + 8|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $0;
+ $25 = $1;
+ $26 = $2;
+ $27 = $3;
+ FUNCTION_TABLE_viiiii[$20 & 127]($23,$24,$25,$26,$27);
+ $28 = $pos;
+ $29 = HEAP32[$28>>2]|0;
+ $pos = $29;
+ }
+ STACKTOP = sp;return;
+}
+function _GNUNET_error_type_to_string($kind) {
+ $kind = $kind|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $kind;
+ $2 = $1;
+ $3 = $2 & 1;
+ $4 = ($3|0)>(0);
+ do {
+ if ($4) {
+ $0 = 19393;
+ } else {
+ $5 = $1;
+ $6 = $5 & 2;
+ $7 = ($6|0)>(0);
+ if ($7) {
+ $0 = 19385;
+ break;
+ }
+ $8 = $1;
+ $9 = $8 & 4;
+ $10 = ($9|0)>(0);
+ if ($10) {
+ $0 = 19380;
+ break;
+ }
+ $11 = $1;
+ $12 = $11 & 8;
+ $13 = ($12|0)>(0);
+ if ($13) {
+ $0 = 19374;
+ break;
+ }
+ $14 = $1;
+ $15 = $14 & -33;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $0 = 19399;
+ break;
+ } else {
+ $0 = 19560;
+ break;
+ }
+ }
+ } while(0);
+ $17 = $0;
+ STACKTOP = sp;return ($17|0);
+}
+function _GNUNET_log_from_nocheck($kind,$comp,$message,$varargs) {
+ $kind = $kind|0;
+ $comp = $comp|0;
+ $message = $message|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $comp_w_pid = 0, $va = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $va = sp + 8|0;
+ $comp_w_pid = sp + 40|0;
+ $0 = $kind;
+ $1 = $comp;
+ $2 = $message;
+ $3 = $1;
+ $4 = ($3|0)==(0|0);
+ if ($4) {
+ $5 = HEAP32[17645]|0;
+ $1 = $5;
+ }
+ HEAP32[$va>>2] = $varargs;
+ $6 = $1;
+ $7 = (_getpid()|0);
+ HEAP32[$vararg_buffer>>2] = $6;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $7;
+ (_GNUNET_snprintf($comp_w_pid,128,19421,$vararg_buffer)|0);
+ $8 = $0;
+ $9 = $2;
+ _mylog($8,$comp_w_pid,$9,$va);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_symmetric_encrypt($block,$size,$sessionkey,$iv,$result) {
+ $block = $block|0;
+ $size = $size|0;
+ $sessionkey = $sessionkey|0;
+ $iv = $iv|0;
+ $result = $result|0;
+ var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $handle = 0, $log_line = 0, $log_line1 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $handle = sp + 32|0;
+ $1 = $block;
+ $2 = $size;
+ $3 = $sessionkey;
+ $4 = $iv;
+ $5 = $result;
+ $8 = $2;
+ $9 = (_llvm_stacksave()|0);
+ $6 = $9;
+ $$alloca_mul = $8;
+ $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ $11 = $3;
+ $12 = $4;
+ $13 = (_setup_cipher_aes($handle,$11,$12)|0);
+ $14 = (1)!=($13|0);
+ if ($14) {
+ $0 = -1;
+ $7 = 1;
+ $50 = $6;
+ _llvm_stackrestore(($50|0));
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $15 = HEAP32[$handle>>2]|0;
+ $16 = $2;
+ $17 = $1;
+ $18 = $2;
+ $19 = (_gcry_cipher_encrypt($15,$10,$16,$17,$18)|0);
+ $20 = (0)==($19|0);
+ if (!($20)) {
+ $log_line = 136;
+ $21 = HEAP32[197]|0;
+ $22 = ($21|0)==(-1);
+ if ($22) {
+ $23 = $log_line;
+ $24 = (_GNUNET_get_log_call_status(1,0,19630,19666,$23)|0);
+ HEAP32[197] = $24;
+ }
+ $25 = (_GNUNET_get_log_skip()|0);
+ $26 = ($25|0)>(0);
+ if ($26) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $27 = HEAP32[197]|0;
+ $28 = ($27|0)!=(0);
+ if (!($28)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19630;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 136;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $29 = HEAP32[$handle>>2]|0;
+ _gcry_cipher_close($29);
+ $30 = $3;
+ $31 = $4;
+ $32 = (_setup_cipher_twofish($handle,$30,$31)|0);
+ $33 = (1)!=($32|0);
+ if ($33) {
+ $0 = -1;
+ $7 = 1;
+ $50 = $6;
+ _llvm_stackrestore(($50|0));
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $34 = HEAP32[$handle>>2]|0;
+ $35 = $5;
+ $36 = $2;
+ $37 = $2;
+ $38 = (_gcry_cipher_encrypt($34,$35,$36,$10,$37)|0);
+ $39 = (0)==($38|0);
+ if ($39) {
+ $48 = HEAP32[$handle>>2]|0;
+ _gcry_cipher_close($48);
+ _memset(($10|0),0,($8|0))|0;
+ $49 = $2;
+ $0 = $49;
+ $7 = 1;
+ $50 = $6;
+ _llvm_stackrestore(($50|0));
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $log_line1 = 140;
+ $40 = HEAP32[201]|0;
+ $41 = ($40|0)==(-1);
+ if ($41) {
+ $42 = $log_line1;
+ $43 = (_GNUNET_get_log_call_status(1,0,19630,19666,$42)|0);
+ HEAP32[201] = $43;
+ }
+ $44 = (_GNUNET_get_log_skip()|0);
+ $45 = ($44|0)>(0);
+ if ($45) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $46 = HEAP32[201]|0;
+ $47 = ($46|0)!=(0);
+ if (!($47)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19630;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 140;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _setup_cipher_aes($handle,$sessionkey,$iv) {
+ $handle = $handle|0;
+ $sessionkey = $sessionkey|0;
+ $iv = $iv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $handle;
+ $1 = $sessionkey;
+ $2 = $iv;
+ $3 = $0;
+ $4 = (_gcry_cipher_open($3,9,2,0)|0);
+ $5 = (0)==($4|0);
+ if (!($5)) {
+ $log_line = 68;
+ $6 = HEAP32[194]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = $log_line;
+ $9 = (_GNUNET_get_log_call_status(1,0,19630,19649,$8)|0);
+ HEAP32[194] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[194]|0;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19630;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 68;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = $0;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $1;
+ $17 = (_gcry_cipher_setkey($15,$16,32)|0);
+ $rc = $17;
+ $18 = $rc;
+ $19 = (0)==($18|0);
+ if (!($19)) {
+ $20 = $rc;
+ $21 = $20&255;
+ $22 = $21 << 24 >> 24;
+ $23 = ($22|0)==(43);
+ if (!($23)) {
+ $log_line1 = 72;
+ $24 = HEAP32[195]|0;
+ $25 = ($24|0)==(-1);
+ if ($25) {
+ $26 = $log_line1;
+ $27 = (_GNUNET_get_log_call_status(1,0,19630,19649,$26)|0);
+ HEAP32[195] = $27;
+ }
+ $28 = (_GNUNET_get_log_skip()|0);
+ $29 = ($28|0)>(0);
+ if ($29) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $30 = HEAP32[195]|0;
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19630;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 72;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+ $32 = $0;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $2;
+ $35 = (_gcry_cipher_setiv($33,$34,16)|0);
+ $rc = $35;
+ $36 = $rc;
+ $37 = (0)==($36|0);
+ if ($37) {
+ STACKTOP = sp;return 1;
+ }
+ $38 = $rc;
+ $39 = $38&255;
+ $40 = $39 << 24 >> 24;
+ $41 = ($40|0)==(43);
+ if ($41) {
+ STACKTOP = sp;return 1;
+ }
+ $log_line2 = 76;
+ $42 = HEAP32[196]|0;
+ $43 = ($42|0)==(-1);
+ if ($43) {
+ $44 = $log_line2;
+ $45 = (_GNUNET_get_log_call_status(1,0,19630,19649,$44)|0);
+ HEAP32[196] = $45;
+ }
+ $46 = (_GNUNET_get_log_skip()|0);
+ $47 = ($46|0)>(0);
+ if ($47) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $48 = HEAP32[196]|0;
+ $49 = ($48|0)!=(0);
+ if (!($49)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 19630;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 76;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _setup_cipher_twofish($handle,$sessionkey,$iv) {
+ $handle = $handle|0;
+ $sessionkey = $sessionkey|0;
+ $iv = $iv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $handle;
+ $1 = $sessionkey;
+ $2 = $iv;
+ $3 = $0;
+ $4 = (_gcry_cipher_open($3,10,2,0)|0);
+ $5 = (0)==($4|0);
+ if (!($5)) {
+ $log_line = 98;
+ $6 = HEAP32[198]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = $log_line;
+ $9 = (_GNUNET_get_log_call_status(1,0,19630,19698,$8)|0);
+ HEAP32[198] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[198]|0;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19630;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 98;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = $0;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $1;
+ $17 = ((($16)) + 32|0);
+ $18 = (_gcry_cipher_setkey($15,$17,32)|0);
+ $rc = $18;
+ $19 = $rc;
+ $20 = (0)==($19|0);
+ if (!($20)) {
+ $21 = $rc;
+ $22 = $21&255;
+ $23 = $22 << 24 >> 24;
+ $24 = ($23|0)==(43);
+ if (!($24)) {
+ $log_line1 = 102;
+ $25 = HEAP32[199]|0;
+ $26 = ($25|0)==(-1);
+ if ($26) {
+ $27 = $log_line1;
+ $28 = (_GNUNET_get_log_call_status(1,0,19630,19698,$27)|0);
+ HEAP32[199] = $28;
+ }
+ $29 = (_GNUNET_get_log_skip()|0);
+ $30 = ($29|0)>(0);
+ if ($30) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $31 = HEAP32[199]|0;
+ $32 = ($31|0)!=(0);
+ if (!($32)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19630;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 102;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+ $33 = $0;
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $2;
+ $36 = ((($35)) + 16|0);
+ $37 = (_gcry_cipher_setiv($34,$36,16)|0);
+ $rc = $37;
+ $38 = $rc;
+ $39 = (0)==($38|0);
+ if ($39) {
+ STACKTOP = sp;return 1;
+ }
+ $40 = $rc;
+ $41 = $40&255;
+ $42 = $41 << 24 >> 24;
+ $43 = ($42|0)==(43);
+ if ($43) {
+ STACKTOP = sp;return 1;
+ }
+ $log_line2 = 106;
+ $44 = HEAP32[200]|0;
+ $45 = ($44|0)==(-1);
+ if ($45) {
+ $46 = $log_line2;
+ $47 = (_GNUNET_get_log_call_status(1,0,19630,19698,$46)|0);
+ HEAP32[200] = $47;
+ }
+ $48 = (_GNUNET_get_log_skip()|0);
+ $49 = ($48|0)>(0);
+ if ($49) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $50 = HEAP32[200]|0;
+ $51 = ($50|0)!=(0);
+ if (!($51)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 19630;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 106;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_symmetric_decrypt($block,$size,$sessionkey,$iv,$result) {
+ $block = $block|0;
+ $size = $size|0;
+ $sessionkey = $sessionkey|0;
+ $iv = $iv|0;
+ $result = $result|0;
+ var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $handle = 0, $log_line = 0, $log_line1 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $handle = sp + 32|0;
+ $1 = $block;
+ $2 = $size;
+ $3 = $sessionkey;
+ $4 = $iv;
+ $5 = $result;
+ $8 = $2;
+ $9 = (_llvm_stacksave()|0);
+ $6 = $9;
+ $$alloca_mul = $8;
+ $10 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ $11 = $3;
+ $12 = $4;
+ $13 = (_setup_cipher_twofish($handle,$11,$12)|0);
+ $14 = (1)!=($13|0);
+ if ($14) {
+ $0 = -1;
+ $7 = 1;
+ $50 = $6;
+ _llvm_stackrestore(($50|0));
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $15 = HEAP32[$handle>>2]|0;
+ $16 = $2;
+ $17 = $1;
+ $18 = $2;
+ $19 = (_gcry_cipher_decrypt($15,$10,$16,$17,$18)|0);
+ $20 = (0)==($19|0);
+ if (!($20)) {
+ $log_line = 171;
+ $21 = HEAP32[202]|0;
+ $22 = ($21|0)==(-1);
+ if ($22) {
+ $23 = $log_line;
+ $24 = (_GNUNET_get_log_call_status(1,0,19630,19719,$23)|0);
+ HEAP32[202] = $24;
+ }
+ $25 = (_GNUNET_get_log_skip()|0);
+ $26 = ($25|0)>(0);
+ if ($26) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $27 = HEAP32[202]|0;
+ $28 = ($27|0)!=(0);
+ if (!($28)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19630;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 171;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $29 = HEAP32[$handle>>2]|0;
+ _gcry_cipher_close($29);
+ $30 = $3;
+ $31 = $4;
+ $32 = (_setup_cipher_aes($handle,$30,$31)|0);
+ $33 = (1)!=($32|0);
+ if ($33) {
+ $0 = -1;
+ $7 = 1;
+ $50 = $6;
+ _llvm_stackrestore(($50|0));
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $34 = HEAP32[$handle>>2]|0;
+ $35 = $5;
+ $36 = $2;
+ $37 = $2;
+ $38 = (_gcry_cipher_decrypt($34,$35,$36,$10,$37)|0);
+ $39 = (0)==($38|0);
+ if ($39) {
+ $48 = HEAP32[$handle>>2]|0;
+ _gcry_cipher_close($48);
+ _memset(($10|0),0,($8|0))|0;
+ $49 = $2;
+ $0 = $49;
+ $7 = 1;
+ $50 = $6;
+ _llvm_stackrestore(($50|0));
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $log_line1 = 175;
+ $40 = HEAP32[203]|0;
+ $41 = ($40|0)==(-1);
+ if ($41) {
+ $42 = $log_line1;
+ $43 = (_GNUNET_get_log_call_status(1,0,19630,19719,$42)|0);
+ HEAP32[203] = $43;
+ }
+ $44 = (_GNUNET_get_log_skip()|0);
+ $45 = ($44|0)>(0);
+ if ($45) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $46 = HEAP32[203]|0;
+ $47 = ($46|0)!=(0);
+ if (!($47)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19630;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 175;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_eddsa_key_get_public($priv,$pub) {
+ $priv = $priv|0;
+ $pub = $pub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $ctx = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $q = 0, $sexp = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 40|0;
+ $0 = $priv;
+ $1 = $pub;
+ $2 = $0;
+ $3 = (_decode_private_eddsa_key($2)|0);
+ $sexp = $3;
+ $4 = $sexp;
+ $5 = (0|0)!=($4|0);
+ if (!($5)) {
+ $log_line = 257;
+ $6 = HEAP32[206]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = $log_line;
+ $9 = (_GNUNET_get_log_call_status(1,0,19793,19910,$8)|0);
+ HEAP32[206] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[206]|0;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19793;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 257;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = $sexp;
+ $15 = (_gcry_mpi_ec_new($ctx,$14,0)|0);
+ $16 = (0)==($15|0);
+ if (!($16)) {
+ $log_line1 = 258;
+ $17 = HEAP32[207]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = $log_line1;
+ $20 = (_GNUNET_get_log_call_status(1,0,19793,19910,$19)|0);
+ HEAP32[207] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[207]|0;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19793;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 258;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $25 = $sexp;
+ _gcry_sexp_release($25);
+ $26 = HEAP32[$ctx>>2]|0;
+ $27 = (_gcry_mpi_ec_get_mpi(19822,$26,0)|0);
+ $q = $27;
+ $28 = $q;
+ $29 = ($28|0)!=(0|0);
+ if ($29) {
+ $38 = $1;
+ $39 = $q;
+ _GNUNET_CRYPTO_mpi_print_unsigned($38,32,$39);
+ $40 = $q;
+ _gcry_mpi_release($40);
+ $41 = HEAP32[$ctx>>2]|0;
+ _gcry_ctx_release($41);
+ STACKTOP = sp;return;
+ }
+ $log_line2 = 261;
+ $30 = HEAP32[208]|0;
+ $31 = ($30|0)==(-1);
+ if ($31) {
+ $32 = $log_line2;
+ $33 = (_GNUNET_get_log_call_status(1,0,19793,19910,$32)|0);
+ HEAP32[208] = $33;
+ }
+ $34 = (_GNUNET_get_log_skip()|0);
+ $35 = ($34|0)>(0);
+ if ($35) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $36 = HEAP32[208]|0;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 19793;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 261;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _decode_private_eddsa_key($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $rc = 0, $result = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $result = sp + 44|0;
+ $0 = $priv;
+ $1 = $0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $2 = (_gcry_sexp_build($result,0,19830,$vararg_buffer)|0);
+ $rc = $2;
+ $3 = $rc;
+ $4 = (0)!=($3|0);
+ if (!($4)) {
+ $23 = HEAP32[$result>>2]|0;
+ STACKTOP = sp;return ($23|0);
+ }
+ $log_line = 169;
+ $5 = HEAP32[204]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = $log_line;
+ $8 = (_GNUNET_get_log_call_status(1,21106,19793,19885,$7)|0);
+ HEAP32[204] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $11 = HEAP32[204]|0;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $rc;
+ $14 = (_gcry_strerror($13)|0);
+ HEAP32[$vararg_buffer2>>2] = 19806;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 19793;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 169;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $14;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer2);
+ }
+ }
+ $log_line1 = 170;
+ $15 = HEAP32[205]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line1;
+ $18 = (_GNUNET_get_log_call_status(1,0,19793,19885,$17)|0);
+ HEAP32[205] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[205]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 19793;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 170;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_ecdhe_key_get_public($priv,$pub) {
+ $priv = $priv|0;
+ $pub = $pub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $ctx = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $q = 0, $sexp = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 40|0;
+ $0 = $priv;
+ $1 = $pub;
+ $2 = $0;
+ $3 = (_decode_private_ecdhe_key($2)|0);
+ $sexp = $3;
+ $4 = $sexp;
+ $5 = (0|0)!=($4|0);
+ if (!($5)) {
+ $log_line = 283;
+ $6 = HEAP32[211]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = $log_line;
+ $9 = (_GNUNET_get_log_call_status(1,0,19793,19970,$8)|0);
+ HEAP32[211] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[211]|0;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 19793;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 283;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = $sexp;
+ $15 = (_gcry_mpi_ec_new($ctx,$14,0)|0);
+ $16 = (0)==($15|0);
+ if (!($16)) {
+ $log_line1 = 284;
+ $17 = HEAP32[212]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = $log_line1;
+ $20 = (_GNUNET_get_log_call_status(1,0,19793,19970,$19)|0);
+ HEAP32[212] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[212]|0;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19793;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 284;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $25 = $sexp;
+ _gcry_sexp_release($25);
+ $26 = HEAP32[$ctx>>2]|0;
+ $27 = (_gcry_mpi_ec_get_mpi(19822,$26,0)|0);
+ $q = $27;
+ $28 = $q;
+ $29 = ($28|0)!=(0|0);
+ if ($29) {
+ $38 = $1;
+ $39 = $q;
+ _GNUNET_CRYPTO_mpi_print_unsigned($38,32,$39);
+ $40 = $q;
+ _gcry_mpi_release($40);
+ $41 = HEAP32[$ctx>>2]|0;
+ _gcry_ctx_release($41);
+ STACKTOP = sp;return;
+ }
+ $log_line2 = 287;
+ $30 = HEAP32[213]|0;
+ $31 = ($30|0)==(-1);
+ if ($31) {
+ $32 = $log_line2;
+ $33 = (_GNUNET_get_log_call_status(1,0,19793,19970,$32)|0);
+ HEAP32[213] = $33;
+ }
+ $34 = (_GNUNET_get_log_skip()|0);
+ $35 = ($34|0)>(0);
+ if ($35) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $36 = HEAP32[213]|0;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 19793;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 287;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _decode_private_ecdhe_key($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $rc = 0, $result = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $result = sp + 44|0;
+ $0 = $priv;
+ $1 = $0;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $1;
+ $2 = (_gcry_sexp_build($result,0,19751,$vararg_buffer)|0);
+ $rc = $2;
+ $3 = $rc;
+ $4 = (0)!=($3|0);
+ if (!($4)) {
+ $23 = HEAP32[$result>>2]|0;
+ STACKTOP = sp;return ($23|0);
+ }
+ $log_line = 202;
+ $5 = HEAP32[209]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = $log_line;
+ $8 = (_GNUNET_get_log_call_status(1,21106,19793,19945,$7)|0);
+ HEAP32[209] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $11 = HEAP32[209]|0;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $rc;
+ $14 = (_gcry_strerror($13)|0);
+ HEAP32[$vararg_buffer2>>2] = 19806;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 19793;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 202;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $14;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer2);
+ }
+ }
+ $log_line1 = 203;
+ $15 = HEAP32[210]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line1;
+ $18 = (_GNUNET_get_log_call_status(1,0,19793,19945,$17)|0);
+ HEAP32[210] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[210]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 19793;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 203;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_eddsa_private_key_from_string($enc,$enclen,$pub) {
+ $enc = $enc|0;
+ $enclen = $enclen|0;
+ $pub = $pub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $keylen = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $enc;
+ $2 = $enclen;
+ $3 = $pub;
+ $keylen = 256;
+ $4 = $keylen;
+ $5 = (($4>>>0) % 5)&-1;
+ $6 = ($5>>>0)>(0);
+ if ($6) {
+ $7 = $keylen;
+ $8 = (($7>>>0) % 5)&-1;
+ $9 = (5 - ($8))|0;
+ $10 = $keylen;
+ $11 = (($10) + ($9))|0;
+ $keylen = $11;
+ }
+ $12 = $keylen;
+ $13 = (($12>>>0) / 5)&-1;
+ $keylen = $13;
+ $14 = $2;
+ $15 = $keylen;
+ $16 = ($14|0)!=($15|0);
+ if ($16) {
+ $0 = -1;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ $17 = $1;
+ $18 = $2;
+ $19 = $3;
+ $20 = (_GNUNET_STRINGS_string_to_data($17,$18,$19,32)|0);
+ $21 = (1)!=($20|0);
+ if ($21) {
+ $0 = -1;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ } else {
+ $0 = 1;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_ecdhe_key_create() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $priv = 0, $priv_sexp = 0, $rc = 0, $s_keyparam = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0;
+ var $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $priv_sexp = sp + 80|0;
+ $s_keyparam = sp + 76|0;
+ $d = sp + 72|0;
+ $1 = (_gcry_sexp_build($s_keyparam,0,20005,$vararg_buffer)|0);
+ $rc = $1;
+ $2 = (0)!=($1|0);
+ if ($2) {
+ $log_line = 505;
+ $3 = HEAP32[214]|0;
+ $4 = ($3|0)==(-1);
+ if ($4) {
+ $5 = $log_line;
+ $6 = (_GNUNET_get_log_call_status(1,21106,19793,20060,$5)|0);
+ HEAP32[214] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $9 = HEAP32[214]|0;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = $rc;
+ $12 = (_gcry_strerror($11)|0);
+ HEAP32[$vararg_buffer1>>2] = 19806;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = 19793;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = 505;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $12;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer1);
+ }
+ }
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $13 = HEAP32[$s_keyparam>>2]|0;
+ $14 = (_gcry_pk_genkey($priv_sexp,$13)|0);
+ $rc = $14;
+ $15 = (0)!=($14|0);
+ if ($15) {
+ $log_line1 = 510;
+ $16 = HEAP32[215]|0;
+ $17 = ($16|0)==(-1);
+ if ($17) {
+ $18 = $log_line1;
+ $19 = (_GNUNET_get_log_call_status(1,21106,19793,20060,$18)|0);
+ HEAP32[215] = $19;
+ }
+ $20 = (_GNUNET_get_log_skip()|0);
+ $21 = ($20|0)>(0);
+ if ($21) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $22 = HEAP32[215]|0;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $24 = $rc;
+ $25 = (_gcry_strerror($24)|0);
+ HEAP32[$vararg_buffer6>>2] = 20091;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 19793;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 510;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $25;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer6);
+ }
+ }
+ $26 = HEAP32[$s_keyparam>>2]|0;
+ _gcry_sexp_release($26);
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $27 = HEAP32[$s_keyparam>>2]|0;
+ _gcry_sexp_release($27);
+ $28 = HEAP32[$priv_sexp>>2]|0;
+ $29 = (_key_from_sexp($d,$28,37958,35608)|0);
+ $rc = $29;
+ $30 = (0)!=($29|0);
+ if (!($30)) {
+ $42 = HEAP32[$priv_sexp>>2]|0;
+ _gcry_sexp_release($42);
+ $43 = (_GNUNET_xmalloc_(32,19793,530)|0);
+ $priv = $43;
+ $44 = $priv;
+ $45 = HEAP32[$d>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($44,32,$45);
+ $46 = HEAP32[$d>>2]|0;
+ _gcry_mpi_release($46);
+ $47 = $priv;
+ $0 = $47;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $log_line2 = 525;
+ $31 = HEAP32[216]|0;
+ $32 = ($31|0)==(-1);
+ if ($32) {
+ $33 = $log_line2;
+ $34 = (_GNUNET_get_log_call_status(1,21106,19793,20060,$33)|0);
+ HEAP32[216] = $34;
+ }
+ $35 = (_GNUNET_get_log_skip()|0);
+ $36 = ($35|0)>(0);
+ if ($36) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $37 = HEAP32[216]|0;
+ $38 = ($37|0)!=(0);
+ if ($38) {
+ $39 = $rc;
+ $40 = (_gcry_strerror($39)|0);
+ HEAP32[$vararg_buffer12>>2] = 20106;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 19793;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = 525;
+ $vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
+ HEAP32[$vararg_ptr17>>2] = $40;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer12);
+ }
+ }
+ $41 = HEAP32[$priv_sexp>>2]|0;
+ _gcry_sexp_release($41);
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+}
+function _key_from_sexp($array,$sexp,$topname,$elems) {
+ $array = $array|0;
+ $sexp = $sexp|0;
+ $topname = $topname|0;
+ $elems = $elems|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $idx = 0, $l2 = 0, $list = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $array;
+ $2 = $sexp;
+ $3 = $topname;
+ $4 = $elems;
+ $5 = $2;
+ $6 = $3;
+ $7 = (_gcry_sexp_find_token($5,$6,0)|0);
+ $list = $7;
+ $8 = $list;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ $0 = 1;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ $10 = $list;
+ $11 = (_gcry_sexp_cadr($10)|0);
+ $l2 = $11;
+ $12 = $list;
+ _gcry_sexp_release($12);
+ $13 = $l2;
+ $list = $13;
+ $14 = $list;
+ $15 = ($14|0)!=(0|0);
+ if (!($15)) {
+ $0 = 2;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ $idx = 0;
+ $16 = $4;
+ $s = $16;
+ while(1) {
+ $17 = $s;
+ $18 = HEAP8[$17>>0]|0;
+ $19 = ($18<<24>>24)!=(0);
+ $20 = $list;
+ if (!($19)) {
+ label = 18;
+ break;
+ }
+ $21 = $s;
+ $22 = (_gcry_sexp_find_token($20,$21,1)|0);
+ $l2 = $22;
+ $23 = $l2;
+ $24 = ($23|0)!=(0|0);
+ if (!($24)) {
+ label = 8;
+ break;
+ }
+ $38 = $l2;
+ $39 = (_gcry_sexp_nth_mpi($38,1,5)|0);
+ $40 = $idx;
+ $41 = $1;
+ $42 = (($41) + ($40<<2)|0);
+ HEAP32[$42>>2] = $39;
+ $43 = $l2;
+ _gcry_sexp_release($43);
+ $44 = $idx;
+ $45 = $1;
+ $46 = (($45) + ($44<<2)|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(0|0);
+ if (!($48)) {
+ label = 13;
+ break;
+ }
+ $62 = $s;
+ $63 = ((($62)) + 1|0);
+ $s = $63;
+ $64 = $idx;
+ $65 = (($64) + 1)|0;
+ $idx = $65;
+ }
+ if ((label|0) == 8) {
+ $i = 0;
+ while(1) {
+ $25 = $i;
+ $26 = $idx;
+ $27 = ($25>>>0)<($26>>>0);
+ if (!($27)) {
+ break;
+ }
+ $28 = $i;
+ $29 = $1;
+ $30 = (($29) + ($28<<2)|0);
+ $31 = HEAP32[$30>>2]|0;
+ _gcry_free($31);
+ $32 = $i;
+ $33 = $1;
+ $34 = (($33) + ($32<<2)|0);
+ HEAP32[$34>>2] = 0;
+ $35 = $i;
+ $36 = (($35) + 1)|0;
+ $i = $36;
+ }
+ $37 = $list;
+ _gcry_sexp_release($37);
+ $0 = 3;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ else if ((label|0) == 13) {
+ $i = 0;
+ while(1) {
+ $49 = $i;
+ $50 = $idx;
+ $51 = ($49>>>0)<($50>>>0);
+ if (!($51)) {
+ break;
+ }
+ $52 = $i;
+ $53 = $1;
+ $54 = (($53) + ($52<<2)|0);
+ $55 = HEAP32[$54>>2]|0;
+ _gcry_free($55);
+ $56 = $i;
+ $57 = $1;
+ $58 = (($57) + ($56<<2)|0);
+ HEAP32[$58>>2] = 0;
+ $59 = $i;
+ $60 = (($59) + 1)|0;
+ $i = $60;
+ }
+ $61 = $list;
+ _gcry_sexp_release($61);
+ $0 = 4;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ else if ((label|0) == 18) {
+ _gcry_sexp_release($20);
+ $0 = 0;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_eddsa_key_create() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $priv = 0, $priv_sexp = 0, $rc = 0, $s_keyparam = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0;
+ var $vararg_buffer6 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer6 = sp + 24|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $priv_sexp = sp + 80|0;
+ $s_keyparam = sp + 76|0;
+ $d = sp + 72|0;
+ $1 = (_gcry_sexp_build($s_keyparam,0,20120,$vararg_buffer)|0);
+ $rc = $1;
+ $2 = (0)!=($1|0);
+ if ($2) {
+ $log_line = 604;
+ $3 = HEAP32[217]|0;
+ $4 = ($3|0)==(-1);
+ if ($4) {
+ $5 = $log_line;
+ $6 = (_GNUNET_get_log_call_status(1,21106,19793,20164,$5)|0);
+ HEAP32[217] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $9 = HEAP32[217]|0;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = $rc;
+ $12 = (_gcry_strerror($11)|0);
+ HEAP32[$vararg_buffer1>>2] = 19806;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = 19793;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = 604;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $12;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer1);
+ }
+ }
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $13 = HEAP32[$s_keyparam>>2]|0;
+ $14 = (_gcry_pk_genkey($priv_sexp,$13)|0);
+ $rc = $14;
+ $15 = (0)!=($14|0);
+ if ($15) {
+ $log_line1 = 609;
+ $16 = HEAP32[218]|0;
+ $17 = ($16|0)==(-1);
+ if ($17) {
+ $18 = $log_line1;
+ $19 = (_GNUNET_get_log_call_status(1,21106,19793,20164,$18)|0);
+ HEAP32[218] = $19;
+ }
+ $20 = (_GNUNET_get_log_skip()|0);
+ $21 = ($20|0)>(0);
+ if ($21) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $22 = HEAP32[218]|0;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $24 = $rc;
+ $25 = (_gcry_strerror($24)|0);
+ HEAP32[$vararg_buffer6>>2] = 20091;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 19793;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 609;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $25;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer6);
+ }
+ }
+ $26 = HEAP32[$s_keyparam>>2]|0;
+ _gcry_sexp_release($26);
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $27 = HEAP32[$s_keyparam>>2]|0;
+ _gcry_sexp_release($27);
+ $28 = HEAP32[$priv_sexp>>2]|0;
+ $29 = (_key_from_sexp($d,$28,37958,35608)|0);
+ $rc = $29;
+ $30 = (0)!=($29|0);
+ if (!($30)) {
+ $42 = HEAP32[$priv_sexp>>2]|0;
+ _gcry_sexp_release($42);
+ $43 = (_GNUNET_xmalloc_(32,19793,629)|0);
+ $priv = $43;
+ $44 = $priv;
+ $45 = HEAP32[$d>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($44,32,$45);
+ $46 = HEAP32[$d>>2]|0;
+ _gcry_mpi_release($46);
+ $47 = $priv;
+ $0 = $47;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $log_line2 = 624;
+ $31 = HEAP32[219]|0;
+ $32 = ($31|0)==(-1);
+ if ($32) {
+ $33 = $log_line2;
+ $34 = (_GNUNET_get_log_call_status(1,21106,19793,20164,$33)|0);
+ HEAP32[219] = $34;
+ }
+ $35 = (_GNUNET_get_log_skip()|0);
+ $36 = ($35|0)>(0);
+ if ($36) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $37 = HEAP32[219]|0;
+ $38 = ($37|0)!=(0);
+ if ($38) {
+ $39 = $rc;
+ $40 = (_gcry_strerror($39)|0);
+ HEAP32[$vararg_buffer12>>2] = 20106;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 19793;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = 624;
+ $vararg_ptr17 = ((($vararg_buffer12)) + 12|0);
+ HEAP32[$vararg_ptr17>>2] = $40;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer12);
+ }
+ }
+ $41 = HEAP32[$priv_sexp>>2]|0;
+ _gcry_sexp_release($41);
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+}
+function _GNUNET_CRYPTO_eddsa_sign($priv,$purpose,$sig) {
+ $priv = $priv|0;
+ $purpose = $purpose|0;
+ $sig = $sig|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $log_line = 0, $log_line1 = 0, $priv_sexp = 0, $rc = 0, $rs = 0, $sig_sexp = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
+ var $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $sig_sexp = sp + 48|0;
+ $rs = sp + 32|0;
+ $1 = $priv;
+ $2 = $purpose;
+ $3 = $sig;
+ $4 = $1;
+ $5 = (_decode_private_eddsa_key($4)|0);
+ $priv_sexp = $5;
+ $6 = $2;
+ $7 = (_data_to_eddsa_value($6)|0);
+ $data = $7;
+ $8 = $data;
+ $9 = $priv_sexp;
+ $10 = (_gcry_pk_sign($sig_sexp,$8,$9)|0);
+ $rc = $10;
+ $11 = (0)!=($10|0);
+ if ($11) {
+ $log_line = 807;
+ $12 = HEAP32[221]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = $log_line;
+ $15 = (_GNUNET_get_log_call_status(2,21106,19793,20259,$14)|0);
+ HEAP32[221] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $18 = HEAP32[221]|0;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $20 = $rc;
+ $21 = (_gcry_strerror($20)|0);
+ HEAP32[$vararg_buffer>>2] = 19793;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 807;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $21;
+ _GNUNET_log_from_nocheck(2,21106,20284,$vararg_buffer);
+ }
+ }
+ $22 = $data;
+ _gcry_sexp_release($22);
+ $23 = $priv_sexp;
+ _gcry_sexp_release($23);
+ $0 = -1;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $24 = $priv_sexp;
+ _gcry_sexp_release($24);
+ $25 = $data;
+ _gcry_sexp_release($25);
+ $26 = HEAP32[$sig_sexp>>2]|0;
+ $27 = (_key_from_sexp($rs,$26,37820,47181)|0);
+ $rc = $27;
+ $28 = (0)!=($27|0);
+ if (!($28)) {
+ $38 = HEAP32[$sig_sexp>>2]|0;
+ _gcry_sexp_release($38);
+ $39 = $3;
+ $40 = HEAP32[$rs>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($39,32,$40);
+ $41 = $3;
+ $42 = ((($41)) + 32|0);
+ $43 = ((($rs)) + 4|0);
+ $44 = HEAP32[$43>>2]|0;
+ _GNUNET_CRYPTO_mpi_print_unsigned($42,32,$44);
+ $45 = HEAP32[$rs>>2]|0;
+ _gcry_mpi_release($45);
+ $46 = ((($rs)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ _gcry_mpi_release($47);
+ $0 = 1;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ $log_line1 = 819;
+ $29 = HEAP32[222]|0;
+ $30 = ($29|0)==(-1);
+ if ($30) {
+ $31 = $log_line1;
+ $32 = (_GNUNET_get_log_call_status(1,0,19793,20259,$31)|0);
+ HEAP32[222] = $32;
+ }
+ $33 = (_GNUNET_get_log_skip()|0);
+ $34 = ($33|0)>(0);
+ if ($34) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $35 = HEAP32[222]|0;
+ $36 = ($35|0)!=(0);
+ if ($36) {
+ HEAP32[$vararg_buffer3>>2] = 19793;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 819;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer3);
+ }
+ }
+ $37 = HEAP32[$sig_sexp>>2]|0;
+ _gcry_sexp_release($37);
+ $0 = -1;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+}
+function _data_to_eddsa_value($purpose) {
+ $purpose = $purpose|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $data = 0, $hc = 0, $log_line = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $hc = sp + 48|0;
+ $data = sp + 40|0;
+ $1 = $purpose;
+ $2 = $1;
+ $3 = $1;
+ $4 = HEAPU8[$3>>0]|(HEAPU8[$3+1>>0]<<8)|(HEAPU8[$3+2>>0]<<16)|(HEAPU8[$3+3>>0]<<24);
+ $5 = (_ntohl($4)|0);
+ _GNUNET_CRYPTO_hash($2,$5,$hc);
+ HEAP32[$vararg_buffer>>2] = 37878;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 64;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $hc;
+ $6 = (_gcry_sexp_build($data,0,20195,$vararg_buffer)|0);
+ $rc = $6;
+ $7 = (0)!=($6|0);
+ if (!($7)) {
+ $18 = HEAP32[$data>>2]|0;
+ $0 = $18;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ $log_line = 698;
+ $8 = HEAP32[220]|0;
+ $9 = ($8|0)==(-1);
+ if ($9) {
+ $10 = $log_line;
+ $11 = (_GNUNET_get_log_call_status(1,21106,19793,20239,$10)|0);
+ HEAP32[220] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $14 = HEAP32[220]|0;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = $rc;
+ $17 = (_gcry_strerror($16)|0);
+ HEAP32[$vararg_buffer3>>2] = 19806;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 19793;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = 698;
+ $vararg_ptr8 = ((($vararg_buffer3)) + 12|0);
+ HEAP32[$vararg_ptr8>>2] = $17;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer3);
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _GNUNET_CRYPTO_eddsa_verify($purpose,$validate,$sig,$pub) {
+ $purpose = $purpose|0;
+ $validate = $validate|0;
+ $sig = $sig|0;
+ $pub = $pub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $log_line = 0, $log_line1 = 0, $pub_sexpr = 0, $rc = 0, $sig_sexpr = 0, $vararg_buffer = 0;
+ var $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer14 = sp + 40|0;
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $sig_sexpr = sp + 68|0;
+ $pub_sexpr = sp + 64|0;
+ $1 = $purpose;
+ $2 = $validate;
+ $3 = $sig;
+ $4 = $pub;
+ $5 = $1;
+ $6 = $2;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAPU8[$7>>0]|(HEAPU8[$7+1>>0]<<8)|(HEAPU8[$7+2>>0]<<16)|(HEAPU8[$7+3>>0]<<24);
+ $9 = (_ntohl($8)|0);
+ $10 = ($5|0)!=($9|0);
+ if ($10) {
+ $0 = -1;
+ $52 = $0;
+ STACKTOP = sp;return ($52|0);
+ }
+ $11 = $3;
+ $12 = $3;
+ $13 = ((($12)) + 32|0);
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $11;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 32;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $13;
+ $14 = (_gcry_sexp_build($sig_sexpr,0,20358,$vararg_buffer)|0);
+ $rc = $14;
+ $15 = (0)!=($14|0);
+ if ($15) {
+ $log_line = 918;
+ $16 = HEAP32[223]|0;
+ $17 = ($16|0)==(-1);
+ if ($17) {
+ $18 = $log_line;
+ $19 = (_GNUNET_get_log_call_status(1,21106,19793,20387,$18)|0);
+ HEAP32[223] = $19;
+ }
+ $20 = (_GNUNET_get_log_skip()|0);
+ $21 = ($20|0)>(0);
+ if ($21) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $22 = HEAP32[223]|0;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $24 = $rc;
+ $25 = (_gcry_strerror($24)|0);
+ HEAP32[$vararg_buffer4>>2] = 19806;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 19793;
+ $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
+ HEAP32[$vararg_ptr8>>2] = 918;
+ $vararg_ptr9 = ((($vararg_buffer4)) + 12|0);
+ HEAP32[$vararg_ptr9>>2] = $25;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer4);
+ }
+ }
+ $0 = -1;
+ $52 = $0;
+ STACKTOP = sp;return ($52|0);
+ }
+ $26 = $2;
+ $27 = (_data_to_eddsa_value($26)|0);
+ $data = $27;
+ $28 = $4;
+ HEAP32[$vararg_buffer10>>2] = 32;
+ $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
+ HEAP32[$vararg_ptr13>>2] = $28;
+ $29 = (_gcry_sexp_build($pub_sexpr,0,20414,$vararg_buffer10)|0);
+ $rc = $29;
+ $30 = (0)!=($29|0);
+ if ($30) {
+ $31 = $data;
+ _gcry_sexp_release($31);
+ $32 = HEAP32[$sig_sexpr>>2]|0;
+ _gcry_sexp_release($32);
+ $0 = -1;
+ $52 = $0;
+ STACKTOP = sp;return ($52|0);
+ }
+ $33 = HEAP32[$sig_sexpr>>2]|0;
+ $34 = $data;
+ $35 = HEAP32[$pub_sexpr>>2]|0;
+ $36 = (_gcry_pk_verify($33,$34,$35)|0);
+ $rc = $36;
+ $37 = HEAP32[$pub_sexpr>>2]|0;
+ _gcry_sexp_release($37);
+ $38 = $data;
+ _gcry_sexp_release($38);
+ $39 = HEAP32[$sig_sexpr>>2]|0;
+ _gcry_sexp_release($39);
+ $40 = $rc;
+ $41 = (0)!=($40|0);
+ if (!($41)) {
+ $0 = 1;
+ $52 = $0;
+ STACKTOP = sp;return ($52|0);
+ }
+ $log_line1 = 938;
+ $42 = HEAP32[224]|0;
+ $43 = ($42|0)==(-1);
+ if ($43) {
+ $44 = $log_line1;
+ $45 = (_GNUNET_get_log_call_status(4,21106,19793,20387,$44)|0);
+ HEAP32[224] = $45;
+ }
+ $46 = (_GNUNET_get_log_skip()|0);
+ $47 = ($46|0)>(0);
+ if ($47) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $48 = HEAP32[224]|0;
+ $49 = ($48|0)!=(0);
+ if ($49) {
+ $50 = $rc;
+ $51 = (_gcry_strerror($50)|0);
+ HEAP32[$vararg_buffer14>>2] = 19793;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = 938;
+ $vararg_ptr18 = ((($vararg_buffer14)) + 8|0);
+ HEAP32[$vararg_ptr18>>2] = $51;
+ _GNUNET_log_from_nocheck(4,21106,20466,$vararg_buffer14);
+ }
+ }
+ $0 = -1;
+ $52 = $0;
+ STACKTOP = sp;return ($52|0);
+}
+function _GNUNET_CRYPTO_ecc_ecdh($priv,$pub,$key_material) {
+ $priv = $priv|0;
+ $pub = $pub|0;
+ $key_material = $key_material|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $ctx = 0, $d = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0;
+ var $log_line3 = 0, $pub_sexpr = 0, $q = 0, $result = 0, $result_x = 0, $rsize = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr19 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, $xbuf = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer16 = sp + 40|0;
+ $vararg_buffer12 = sp + 32|0;
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $d = sp + 80|0;
+ $ctx = sp + 76|0;
+ $pub_sexpr = sp + 72|0;
+ $xbuf = sp + 112|0;
+ $rsize = sp + 64|0;
+ $1 = $priv;
+ $2 = $pub;
+ $3 = $key_material;
+ $4 = $2;
+ HEAP32[$vararg_buffer>>2] = 32;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $4;
+ $5 = (_gcry_sexp_build($pub_sexpr,0,20319,$vararg_buffer)|0);
+ $6 = (0)!=($5|0);
+ if ($6) {
+ $0 = -1;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $7 = HEAP32[$pub_sexpr>>2]|0;
+ $8 = (_gcry_mpi_ec_new($ctx,$7,0)|0);
+ $9 = (0)==($8|0);
+ if (!($9)) {
+ $log_line = 972;
+ $10 = HEAP32[225]|0;
+ $11 = ($10|0)==(-1);
+ if ($11) {
+ $12 = $log_line;
+ $13 = (_GNUNET_get_log_call_status(1,0,19793,20516,$12)|0);
+ HEAP32[225] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[225]|0;
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 19793;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 972;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $18 = HEAP32[$pub_sexpr>>2]|0;
+ _gcry_sexp_release($18);
+ $19 = HEAP32[$ctx>>2]|0;
+ $20 = (_gcry_mpi_ec_get_point(49895,$19,0)|0);
+ $q = $20;
+ $21 = $1;
+ _GNUNET_CRYPTO_mpi_scan_unsigned($d,$21,32);
+ $22 = (_gcry_mpi_point_new(0)|0);
+ $result = $22;
+ $23 = $result;
+ $24 = HEAP32[$d>>2]|0;
+ $25 = $q;
+ $26 = HEAP32[$ctx>>2]|0;
+ _gcry_mpi_ec_mul($23,$24,$25,$26);
+ $27 = $q;
+ _gcry_mpi_point_release($27);
+ $28 = HEAP32[$d>>2]|0;
+ _gcry_mpi_release($28);
+ $29 = (_gcry_mpi_new(256)|0);
+ $result_x = $29;
+ $30 = $result_x;
+ $31 = $result;
+ $32 = HEAP32[$ctx>>2]|0;
+ $33 = (_gcry_mpi_ec_get_affine($30,0,$31,$32)|0);
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ $log_line1 = 989;
+ $35 = HEAP32[226]|0;
+ $36 = ($35|0)==(-1);
+ if ($36) {
+ $37 = $log_line1;
+ $38 = (_GNUNET_get_log_call_status(1,21106,19793,20516,$37)|0);
+ HEAP32[226] = $38;
+ }
+ $39 = (_GNUNET_get_log_skip()|0);
+ $40 = ($39|0)>(0);
+ if ($40) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $41 = HEAP32[226]|0;
+ $42 = ($41|0)!=(0);
+ if ($42) {
+ $43 = (_gcry_strerror(0)|0);
+ HEAP32[$vararg_buffer6>>2] = 20539;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 19793;
+ $vararg_ptr10 = ((($vararg_buffer6)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = 989;
+ $vararg_ptr11 = ((($vararg_buffer6)) + 12|0);
+ HEAP32[$vararg_ptr11>>2] = $43;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer6);
+ }
+ }
+ $44 = $result;
+ _gcry_mpi_point_release($44);
+ $45 = HEAP32[$ctx>>2]|0;
+ _gcry_ctx_release($45);
+ $0 = -1;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $46 = $result;
+ _gcry_mpi_point_release($46);
+ $47 = HEAP32[$ctx>>2]|0;
+ _gcry_ctx_release($47);
+ HEAP32[$rsize>>2] = 32;
+ $48 = $result_x;
+ $49 = (_gcry_mpi_get_flag($48,2)|0);
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ $log_line2 = 998;
+ $51 = HEAP32[227]|0;
+ $52 = ($51|0)==(-1);
+ if ($52) {
+ $53 = $log_line2;
+ $54 = (_GNUNET_get_log_call_status(1,0,19793,20516,$53)|0);
+ HEAP32[227] = $54;
+ }
+ $55 = (_GNUNET_get_log_skip()|0);
+ $56 = ($55|0)>(0);
+ if ($56) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $57 = HEAP32[227]|0;
+ $58 = ($57|0)!=(0);
+ if (!($58)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer12>>2] = 19793;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 998;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer12);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $59 = HEAP32[$rsize>>2]|0;
+ $60 = $result_x;
+ $61 = (_gcry_mpi_print(1,$xbuf,$59,$rsize,$60)|0);
+ $62 = (0)==($61|0);
+ if ($62) {
+ $71 = HEAP32[$rsize>>2]|0;
+ $72 = $3;
+ _GNUNET_CRYPTO_hash($xbuf,$71,$72);
+ $73 = $result_x;
+ _gcry_mpi_release($73);
+ $0 = 1;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $log_line3 = 1005;
+ $63 = HEAP32[228]|0;
+ $64 = ($63|0)==(-1);
+ if ($64) {
+ $65 = $log_line3;
+ $66 = (_GNUNET_get_log_call_status(1,0,19793,20516,$65)|0);
+ HEAP32[228] = $66;
+ }
+ $67 = (_GNUNET_get_log_skip()|0);
+ $68 = ($67|0)>(0);
+ if ($68) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $69 = HEAP32[228]|0;
+ $70 = ($69|0)!=(0);
+ if (!($70)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer16>>2] = 19793;
+ $vararg_ptr19 = ((($vararg_buffer16)) + 4|0);
+ HEAP32[$vararg_ptr19>>2] = 1005;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer16);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_hash($block,$size,$ret) {
+ $block = $block|0;
+ $size = $size|0;
+ $ret = $ret|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $block;
+ $1 = $size;
+ $2 = $ret;
+ $3 = $2;
+ $4 = $0;
+ $5 = $1;
+ _gcry_md_hash_buffer(10,$3,$4,$5);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_hash_create_random($mode,$result) {
+ $mode = $mode|0;
+ $result = $result|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $mode;
+ $1 = $result;
+ $i = 15;
+ while(1) {
+ $2 = $i;
+ $3 = ($2|0)>=(0);
+ if (!($3)) {
+ break;
+ }
+ $4 = $0;
+ $5 = (_GNUNET_CRYPTO_random_u32($4,-1)|0);
+ $6 = $i;
+ $7 = $1;
+ $8 = (($7) + ($6<<2)|0);
+ HEAP32[$8>>2] = $5;
+ $9 = $i;
+ $10 = (($9) + -1)|0;
+ $i = $10;
+ }
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_hash_context_start() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $hc = 0, $log_line = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_GNUNET_xmalloc_(4,20557,425)|0);
+ $hc = $0;
+ $1 = $hc;
+ $2 = (_gcry_md_open($1,10,0)|0);
+ $3 = (0)==($2|0);
+ if ($3) {
+ $12 = $hc;
+ STACKTOP = sp;return ($12|0);
+ }
+ $log_line = 429;
+ $4 = HEAP32[229]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = $log_line;
+ $7 = (_GNUNET_get_log_call_status(1,0,20557,20571,$6)|0);
+ HEAP32[229] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[229]|0;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 20557;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 429;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_hash_context_read($hc,$buf,$size) {
+ $hc = $hc|0;
+ $buf = $buf|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hc;
+ $1 = $buf;
+ $2 = $size;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $1;
+ $6 = $2;
+ _gcry_md_write($4,$5,$6);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_hash_context_finish($hc,$r_hash) {
+ $hc = $hc|0;
+ $r_hash = $r_hash|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $log_line = 0, $res = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $hc;
+ $1 = $r_hash;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (_gcry_md_read($3,0)|0);
+ $res = $4;
+ $5 = $res;
+ $6 = (0|0)!=($5|0);
+ if ($6) {
+ $15 = $1;
+ $16 = (0|0)!=($15|0);
+ if (!($16)) {
+ $19 = $0;
+ _GNUNET_CRYPTO_hash_context_abort($19);
+ STACKTOP = sp;return;
+ }
+ $17 = $1;
+ $18 = $res;
+ dest=$17; src=$18; stop=dest+64|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $19 = $0;
+ _GNUNET_CRYPTO_hash_context_abort($19);
+ STACKTOP = sp;return;
+ }
+ $log_line = 462;
+ $7 = HEAP32[230]|0;
+ $8 = ($7|0)==(-1);
+ if ($8) {
+ $9 = $log_line;
+ $10 = (_GNUNET_get_log_call_status(1,0,20557,20604,$9)|0);
+ HEAP32[230] = $10;
+ }
+ $11 = (_GNUNET_get_log_skip()|0);
+ $12 = ($11|0)>(0);
+ if ($12) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = HEAP32[230]|0;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 20557;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 462;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_hash_context_abort($hc) {
+ $hc = $hc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hc;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ _gcry_md_close($2);
+ $3 = $0;
+ _GNUNET_xfree_($3,20557,480);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_hkdf_v($result,$out_len,$xtr_algo,$prf_algo,$xts,$xts_len,$skm,$skm_len,$argp) {
+ $result = $result|0;
+ $out_len = $out_len|0;
+ $xtr_algo = $xtr_algo|0;
+ $prf_algo = $prf_algo|0;
+ $xts = $xts|0;
+ $xts_len = $xts_len|0;
+ $skm = $skm|0;
+ $skm_len = $skm_len|0;
+ $argp = $argp|0;
+ var $$alloca_mul = 0, $$alloca_mul53 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current2 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next3 = 0, $arglist_next9 = 0, $args = 0, $cleanup$dest = 0, $ctx = 0, $ctx_len = 0, $d = 0;
+ var $dst = 0, $expanded = 0, $expanded13 = 0, $expanded15 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded22 = 0, $expanded23 = 0, $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded29 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0, $expanded36 = 0, $expanded37 = 0;
+ var $expanded38 = 0, $hc = 0, $i = 0, $k = 0, $len = 0, $plain_len = 0, $prf = 0, $ret = 0, $t = 0, $vacopy_currentptr = 0, $vacopy_currentptr6 = 0, $xtr = 0, $xtr_len = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $xtr = sp + 80|0;
+ $prf = sp + 76|0;
+ $args = sp + 24|0;
+ $1 = $result;
+ $2 = $out_len;
+ $3 = $xtr_algo;
+ $4 = $prf_algo;
+ $5 = $xts;
+ $6 = $xts_len;
+ $7 = $skm;
+ $8 = $skm_len;
+ $9 = $argp;
+ $13 = $4;
+ $14 = (_gcry_md_get_algo_dlen($13)|0);
+ $k = $14;
+ $15 = $3;
+ $16 = (_gcry_md_get_algo_dlen($15)|0);
+ $xtr_len = $16;
+ $17 = $xtr_len;
+ $18 = (_llvm_stacksave()|0);
+ $10 = $18;
+ $$alloca_mul = $17;
+ $19 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ $20 = $k;
+ $21 = (0)==($20|0);
+ if ($21) {
+ $0 = -1;
+ $11 = 1;
+ $183 = $10;
+ _llvm_stackrestore(($183|0));
+ $184 = $0;
+ STACKTOP = sp;return ($184|0);
+ }
+ $22 = $3;
+ $23 = (_gcry_md_open($xtr,$22,2)|0);
+ $24 = (0)!=($23|0);
+ if ($24) {
+ $0 = -1;
+ $11 = 1;
+ $183 = $10;
+ _llvm_stackrestore(($183|0));
+ $184 = $0;
+ STACKTOP = sp;return ($184|0);
+ }
+ $25 = $4;
+ $26 = (_gcry_md_open($prf,$25,2)|0);
+ $27 = (0)!=($26|0);
+ if ($27) {
+ $28 = HEAP32[$xtr>>2]|0;
+ _gcry_md_close($28);
+ $0 = -1;
+ $11 = 1;
+ $183 = $10;
+ _llvm_stackrestore(($183|0));
+ $184 = $0;
+ STACKTOP = sp;return ($184|0);
+ }
+ $29 = $9;
+ $vacopy_currentptr = HEAP32[$29>>2]|0;
+ HEAP32[$args>>2] = $vacopy_currentptr;
+ $ctx_len = 0;
+ while(1) {
+ $arglist_current = HEAP32[$args>>2]|0;
+ $30 = $arglist_current;
+ $31 = ((0) + 4|0);
+ $expanded13 = $31;
+ $expanded = (($expanded13) - 1)|0;
+ $32 = (($30) + ($expanded))|0;
+ $33 = ((0) + 4|0);
+ $expanded17 = $33;
+ $expanded16 = (($expanded17) - 1)|0;
+ $expanded15 = $expanded16 ^ -1;
+ $34 = $32 & $expanded15;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $arglist_next = ((($35)) + 4|0);
+ HEAP32[$args>>2] = $arglist_next;
+ $37 = (0|0)!=($36|0);
+ if (!($37)) {
+ break;
+ }
+ $arglist_current2 = HEAP32[$args>>2]|0;
+ $38 = $arglist_current2;
+ $39 = ((0) + 4|0);
+ $expanded20 = $39;
+ $expanded19 = (($expanded20) - 1)|0;
+ $40 = (($38) + ($expanded19))|0;
+ $41 = ((0) + 4|0);
+ $expanded24 = $41;
+ $expanded23 = (($expanded24) - 1)|0;
+ $expanded22 = $expanded23 ^ -1;
+ $42 = $40 & $expanded22;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $arglist_next3 = ((($43)) + 4|0);
+ HEAP32[$args>>2] = $arglist_next3;
+ $45 = $ctx_len;
+ $46 = (($45) + ($44))|0;
+ $ctx_len = $46;
+ }
+ $47 = $1;
+ $48 = $2;
+ _memset(($47|0),0,($48|0))|0;
+ $49 = HEAP32[$xtr>>2]|0;
+ $50 = $5;
+ $51 = $6;
+ $52 = $7;
+ $53 = $8;
+ $54 = (_getPRK($49,$50,$51,$52,$53,$19)|0);
+ $55 = ($54|0)!=(1);
+ L17: do {
+ if ($55) {
+ label = 34;
+ } else {
+ $56 = $2;
+ $57 = $k;
+ $58 = (($56>>>0) / ($57>>>0))&-1;
+ $t = $58;
+ $59 = $2;
+ $60 = $k;
+ $61 = (($59>>>0) % ($60>>>0))&-1;
+ $d = $61;
+ $62 = $k;
+ $63 = $ctx_len;
+ $64 = (($62) + ($63))|0;
+ $65 = (($64) + 1)|0;
+ $plain_len = $65;
+ $66 = $plain_len;
+ $67 = (_llvm_stacksave()|0);
+ $12 = $67;
+ $$alloca_mul53 = $66;
+ $68 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul53)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ $69 = $k;
+ $70 = (($68) + ($69)|0);
+ $dst = $70;
+ $71 = $9;
+ $vacopy_currentptr6 = HEAP32[$71>>2]|0;
+ HEAP32[$args>>2] = $vacopy_currentptr6;
+ while(1) {
+ $arglist_current8 = HEAP32[$args>>2]|0;
+ $72 = $arglist_current8;
+ $73 = ((0) + 4|0);
+ $expanded27 = $73;
+ $expanded26 = (($expanded27) - 1)|0;
+ $74 = (($72) + ($expanded26))|0;
+ $75 = ((0) + 4|0);
+ $expanded31 = $75;
+ $expanded30 = (($expanded31) - 1)|0;
+ $expanded29 = $expanded30 ^ -1;
+ $76 = $74 & $expanded29;
+ $77 = $76;
+ $78 = HEAP32[$77>>2]|0;
+ $arglist_next9 = ((($77)) + 4|0);
+ HEAP32[$args>>2] = $arglist_next9;
+ $ctx = $78;
+ $79 = ($78|0)!=(0|0);
+ if (!($79)) {
+ break;
+ }
+ $arglist_current11 = HEAP32[$args>>2]|0;
+ $80 = $arglist_current11;
+ $81 = ((0) + 4|0);
+ $expanded34 = $81;
+ $expanded33 = (($expanded34) - 1)|0;
+ $82 = (($80) + ($expanded33))|0;
+ $83 = ((0) + 4|0);
+ $expanded38 = $83;
+ $expanded37 = (($expanded38) - 1)|0;
+ $expanded36 = $expanded37 ^ -1;
+ $84 = $82 & $expanded36;
+ $85 = $84;
+ $86 = HEAP32[$85>>2]|0;
+ $arglist_next12 = ((($85)) + 4|0);
+ HEAP32[$args>>2] = $arglist_next12;
+ $len = $86;
+ $87 = $dst;
+ $88 = $ctx;
+ $89 = $len;
+ _memcpy(($87|0),($88|0),($89|0))|0;
+ $90 = $len;
+ $91 = $dst;
+ $92 = (($91) + ($90)|0);
+ $dst = $92;
+ }
+ $93 = $t;
+ $94 = ($93>>>0)>(0);
+ do {
+ if ($94) {
+ $95 = $k;
+ $96 = (($68) + ($95)|0);
+ $97 = $ctx_len;
+ $98 = (($96) + ($97)|0);
+ ;HEAP8[$98>>0]=1|0;
+ $99 = HEAP32[$prf>>2]|0;
+ $100 = $xtr_len;
+ $101 = $k;
+ $102 = (($68) + ($101)|0);
+ $103 = $ctx_len;
+ $104 = (($103) + 1)|0;
+ $105 = (_doHMAC($99,$19,$100,$102,$104)|0);
+ $hc = $105;
+ $106 = $hc;
+ $107 = ($106|0)==(0|0);
+ if ($107) {
+ $11 = 4;
+ break;
+ } else {
+ $108 = $1;
+ $109 = $hc;
+ $110 = $k;
+ _memcpy(($108|0),($109|0),($110|0))|0;
+ $111 = $k;
+ $112 = $1;
+ $113 = (($112) + ($111)|0);
+ $1 = $113;
+ label = 18;
+ break;
+ }
+ } else {
+ label = 18;
+ }
+ } while(0);
+ L28: do {
+ if ((label|0) == 18) {
+ $i = 1;
+ while(1) {
+ $114 = $i;
+ $115 = $t;
+ $116 = ($114>>>0)<($115>>>0);
+ if (!($116)) {
+ break;
+ }
+ $117 = $1;
+ $118 = $k;
+ $119 = (0 - ($118))|0;
+ $120 = (($117) + ($119)|0);
+ $121 = $k;
+ _memcpy(($68|0),($120|0),($121|0))|0;
+ $122 = $k;
+ $123 = (($68) + ($122)|0);
+ $124 = $ctx_len;
+ $125 = (($123) + ($124)|0);
+ $126 = $i;
+ $127 = (($126) + 1)|0;
+ $128 = $127&255;
+ _memset(($125|0),($128|0),1)|0;
+ $129 = HEAP32[$prf>>2]|0;
+ _gcry_md_reset($129);
+ $130 = HEAP32[$prf>>2]|0;
+ $131 = $xtr_len;
+ $132 = $plain_len;
+ $133 = (_doHMAC($130,$19,$131,$68,$132)|0);
+ $hc = $133;
+ $134 = $hc;
+ $135 = ($134|0)==(0|0);
+ if ($135) {
+ label = 21;
+ break;
+ }
+ $136 = $1;
+ $137 = $hc;
+ $138 = $k;
+ _memcpy(($136|0),($137|0),($138|0))|0;
+ $139 = $k;
+ $140 = $1;
+ $141 = (($140) + ($139)|0);
+ $1 = $141;
+ $142 = $i;
+ $143 = (($142) + 1)|0;
+ $i = $143;
+ }
+ if ((label|0) == 21) {
+ $11 = 4;
+ break;
+ }
+ $144 = $d;
+ $145 = ($144>>>0)>(0);
+ do {
+ if ($145) {
+ $146 = $t;
+ $147 = ($146>>>0)>(0);
+ if ($147) {
+ $148 = $1;
+ $149 = $k;
+ $150 = (0 - ($149))|0;
+ $151 = (($148) + ($150)|0);
+ $152 = $k;
+ _memcpy(($68|0),($151|0),($152|0))|0;
+ $153 = $i;
+ $154 = (($153) + 1)|0;
+ $i = $154;
+ }
+ $155 = $k;
+ $156 = (($68) + ($155)|0);
+ $157 = $ctx_len;
+ $158 = (($156) + ($157)|0);
+ $159 = $i;
+ $160 = $159&255;
+ _memset(($158|0),($160|0),1)|0;
+ $161 = HEAP32[$prf>>2]|0;
+ _gcry_md_reset($161);
+ $162 = $t;
+ $163 = ($162>>>0)>(0);
+ $164 = HEAP32[$prf>>2]|0;
+ $165 = $xtr_len;
+ if ($163) {
+ $166 = $plain_len;
+ $167 = (_doHMAC($164,$19,$165,$68,$166)|0);
+ $hc = $167;
+ } else {
+ $168 = $k;
+ $169 = (($68) + ($168)|0);
+ $170 = $plain_len;
+ $171 = $k;
+ $172 = (($170) - ($171))|0;
+ $173 = (_doHMAC($164,$19,$165,$169,$172)|0);
+ $hc = $173;
+ }
+ $174 = $hc;
+ $175 = ($174|0)==(0|0);
+ if ($175) {
+ $11 = 4;
+ break L28;
+ } else {
+ $176 = $1;
+ $177 = $hc;
+ $178 = $d;
+ _memcpy(($176|0),($177|0),($178|0))|0;
+ break;
+ }
+ }
+ } while(0);
+ $ret = 1;
+ $11 = 10;
+ }
+ } while(0);
+ $179 = $12;
+ _llvm_stackrestore(($179|0));
+ $cleanup$dest = $11;
+ switch ($cleanup$dest|0) {
+ case 4: {
+ label = 34;
+ break L17;
+ break;
+ }
+ case 10: {
+ break L17;
+ break;
+ }
+ default: {
+ }
+ }
+ $183 = $10;
+ _llvm_stackrestore(($183|0));
+ $184 = $0;
+ STACKTOP = sp;return ($184|0);
+ }
+ } while(0);
+ if ((label|0) == 34) {
+ $ret = -1;
+ }
+ $180 = HEAP32[$xtr>>2]|0;
+ _gcry_md_close($180);
+ $181 = HEAP32[$prf>>2]|0;
+ _gcry_md_close($181);
+ $182 = $ret;
+ $0 = $182;
+ $11 = 1;
+ $183 = $10;
+ _llvm_stackrestore(($183|0));
+ $184 = $0;
+ STACKTOP = sp;return ($184|0);
+}
+function _getPRK($mac,$xts,$xts_len,$skm,$skm_len,$prk) {
+ $mac = $mac|0;
+ $xts = $xts|0;
+ $xts_len = $xts_len|0;
+ $skm = $skm|0;
+ $skm_len = $skm_len|0;
+ $prk = $prk|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $ret = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $mac;
+ $2 = $xts;
+ $3 = $xts_len;
+ $4 = $skm;
+ $5 = $skm_len;
+ $6 = $prk;
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = $4;
+ $11 = $5;
+ $12 = (_doHMAC($7,$8,$9,$10,$11)|0);
+ $ret = $12;
+ $13 = $ret;
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ $0 = -1;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ } else {
+ $15 = $6;
+ $16 = $ret;
+ $17 = $1;
+ $18 = (_gcry_md_get_algo($17)|0);
+ $19 = (_gcry_md_get_algo_dlen($18)|0);
+ _memcpy(($15|0),($16|0),($19|0))|0;
+ $0 = 1;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ }
+ return (0)|0;
+}
+function _doHMAC($mac,$key,$key_len,$buf,$buf_len) {
+ $mac = $mac|0;
+ $key = $key|0;
+ $key_len = $key_len|0;
+ $buf = $buf|0;
+ $buf_len = $buf_len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $mac;
+ $1 = $key;
+ $2 = $key_len;
+ $3 = $buf;
+ $4 = $buf_len;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ (_gcry_md_setkey($5,$6,$7)|0);
+ $8 = $0;
+ $9 = $3;
+ $10 = $4;
+ _gcry_md_write($8,$9,$10);
+ $11 = $0;
+ $12 = (_gcry_md_read($11,0)|0);
+ STACKTOP = sp;return ($12|0);
+}
+function _GNUNET_CRYPTO_hkdf($result,$out_len,$xtr_algo,$prf_algo,$xts,$xts_len,$skm,$skm_len,$varargs) {
+ $result = $result|0;
+ $out_len = $out_len|0;
+ $xtr_algo = $xtr_algo|0;
+ $prf_algo = $prf_algo|0;
+ $xts = $xts|0;
+ $xts_len = $xts_len|0;
+ $skm = $skm|0;
+ $skm_len = $skm_len|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $argp = 0, $ret = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $argp = sp + 8|0;
+ $0 = $result;
+ $1 = $out_len;
+ $2 = $xtr_algo;
+ $3 = $prf_algo;
+ $4 = $xts;
+ $5 = $xts_len;
+ $6 = $skm;
+ $7 = $skm_len;
+ HEAP32[$argp>>2] = $varargs;
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ $11 = $3;
+ $12 = $4;
+ $13 = $5;
+ $14 = $6;
+ $15 = $7;
+ $16 = (_GNUNET_CRYPTO_hkdf_v($8,$9,$10,$11,$12,$13,$14,$15,$argp)|0);
+ $ret = $16;
+ $17 = $ret;
+ STACKTOP = sp;return ($17|0);
+}
+function _GNUNET_CRYPTO_kdf_v($result,$out_len,$xts,$xts_len,$skm,$skm_len,$argp) {
+ $result = $result|0;
+ $out_len = $out_len|0;
+ $xts = $xts|0;
+ $xts_len = $xts_len|0;
+ $skm = $skm|0;
+ $skm_len = $skm_len|0;
+ $argp = $argp|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $out_len;
+ $2 = $xts;
+ $3 = $xts_len;
+ $4 = $skm;
+ $5 = $skm_len;
+ $6 = $argp;
+ $7 = $0;
+ $8 = $1;
+ $9 = $2;
+ $10 = $3;
+ $11 = $4;
+ $12 = $5;
+ $13 = $6;
+ $14 = (_GNUNET_CRYPTO_hkdf_v($7,$8,10,8,$9,$10,$11,$12,$13)|0);
+ STACKTOP = sp;return ($14|0);
+}
+function _GNUNET_CRYPTO_kdf($result,$out_len,$xts,$xts_len,$skm,$skm_len,$varargs) {
+ $result = $result|0;
+ $out_len = $out_len|0;
+ $xts = $xts|0;
+ $xts_len = $xts_len|0;
+ $skm = $skm|0;
+ $skm_len = $skm_len|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $argp = 0, $ret = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $argp = sp + 8|0;
+ $0 = $result;
+ $1 = $out_len;
+ $2 = $xts;
+ $3 = $xts_len;
+ $4 = $skm;
+ $5 = $skm_len;
+ HEAP32[$argp>>2] = $varargs;
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = $4;
+ $11 = $5;
+ $12 = (_GNUNET_CRYPTO_kdf_v($6,$7,$8,$9,$10,$11,$argp)|0);
+ $ret = $12;
+ $13 = $ret;
+ STACKTOP = sp;return ($13|0);
+}
+function _GNUNET_CRYPTO_mpi_print_unsigned($buf,$size,$val) {
+ $buf = $buf|0;
+ $size = $size|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $nbits = 0, $p = 0, $rc = 0, $rsize = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $rsize = sp + 56|0;
+ $nbits = sp + 48|0;
+ $0 = $buf;
+ $1 = $size;
+ $2 = $val;
+ $3 = $2;
+ $4 = (_gcry_mpi_get_flag($3,2)|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $6 = $2;
+ $7 = (_gcry_mpi_get_opaque($6,$nbits)|0);
+ $p = $7;
+ $8 = $p;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $18 = HEAP32[$nbits>>2]|0;
+ $19 = (($18) + 7)|0;
+ $20 = (($19>>>0) / 8)&-1;
+ HEAP32[$rsize>>2] = $20;
+ $21 = HEAP32[$rsize>>2]|0;
+ $22 = $1;
+ $23 = ($21>>>0)>($22>>>0);
+ if ($23) {
+ $24 = $1;
+ HEAP32[$rsize>>2] = $24;
+ }
+ $25 = $0;
+ $26 = $p;
+ $27 = HEAP32[$rsize>>2]|0;
+ _memcpy(($25|0),($26|0),($27|0))|0;
+ $28 = HEAP32[$rsize>>2]|0;
+ $29 = $1;
+ $30 = ($28>>>0)<($29>>>0);
+ if (!($30)) {
+ STACKTOP = sp;return;
+ }
+ $31 = $0;
+ $32 = HEAP32[$rsize>>2]|0;
+ $33 = (($31) + ($32)|0);
+ $34 = $1;
+ $35 = HEAP32[$rsize>>2]|0;
+ $36 = (($34) - ($35))|0;
+ _memset(($33|0),0,($36|0))|0;
+ STACKTOP = sp;return;
+ }
+ $log_line = 89;
+ $10 = HEAP32[231]|0;
+ $11 = ($10|0)==(-1);
+ if ($11) {
+ $12 = $log_line;
+ $13 = (_GNUNET_get_log_call_status(1,0,20638,20651,$12)|0);
+ HEAP32[231] = $13;
+ }
+ $14 = (_GNUNET_get_log_skip()|0);
+ $15 = ($14|0)>(0);
+ if ($15) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $16 = HEAP32[231]|0;
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 20638;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 89;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $37 = $1;
+ HEAP32[$rsize>>2] = $37;
+ $38 = $0;
+ $39 = HEAP32[$rsize>>2]|0;
+ $40 = $2;
+ $41 = (_gcry_mpi_print(5,$38,$39,$rsize,$40)|0);
+ $rc = $41;
+ $42 = (0)!=($41|0);
+ if (!($42)) {
+ $61 = $0;
+ $62 = HEAP32[$rsize>>2]|0;
+ $63 = $1;
+ _adjust($61,$62,$63);
+ STACKTOP = sp;return;
+ }
+ $log_line1 = 110;
+ $43 = HEAP32[232]|0;
+ $44 = ($43|0)==(-1);
+ if ($44) {
+ $45 = $log_line1;
+ $46 = (_GNUNET_get_log_call_status(1,21106,20638,20651,$45)|0);
+ HEAP32[232] = $46;
+ }
+ $47 = (_GNUNET_get_log_skip()|0);
+ $48 = ($47|0)>(0);
+ if ($48) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $49 = HEAP32[232]|0;
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ $51 = $rc;
+ $52 = (_gcry_strerror($51)|0);
+ HEAP32[$vararg_buffer2>>2] = 20721;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 20638;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 110;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $52;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer2);
+ }
+ }
+ $log_line2 = 111;
+ $53 = HEAP32[233]|0;
+ $54 = ($53|0)==(-1);
+ if ($54) {
+ $55 = $log_line2;
+ $56 = (_GNUNET_get_log_call_status(1,0,20638,20651,$55)|0);
+ HEAP32[233] = $56;
+ }
+ $57 = (_GNUNET_get_log_skip()|0);
+ $58 = ($57|0)>(0);
+ if ($58) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $59 = HEAP32[233]|0;
+ $60 = ($59|0)!=(0);
+ if (!($60)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer8>>2] = 20638;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 111;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer8);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _adjust($buf,$size,$target) {
+ $buf = $buf|0;
+ $size = $size|0;
+ $target = $target|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buf;
+ $1 = $size;
+ $2 = $target;
+ $3 = $0;
+ $p = $3;
+ $4 = $1;
+ $5 = $2;
+ $6 = ($4>>>0)<($5>>>0);
+ if (!($6)) {
+ STACKTOP = sp;return;
+ }
+ $7 = $2;
+ $8 = $1;
+ $9 = (($7) - ($8))|0;
+ $10 = $p;
+ $11 = (($10) + ($9)|0);
+ $12 = $0;
+ $13 = $1;
+ _memmove(($11|0),($12|0),($13|0))|0;
+ $14 = $0;
+ $15 = $2;
+ $16 = $1;
+ $17 = (($15) - ($16))|0;
+ _memset(($14|0),0,($17|0))|0;
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_mpi_scan_unsigned($result,$data,$size) {
+ $result = $result|0;
+ $data = $data|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $2 = sp + 36|0;
+ $0 = $result;
+ $1 = $data;
+ HEAP32[$2>>2] = $size;
+ $3 = $0;
+ $4 = $1;
+ $5 = HEAP32[$2>>2]|0;
+ $6 = (_gcry_mpi_scan($3,5,$4,$5,$2)|0);
+ $rc = $6;
+ $7 = (0)!=($6|0);
+ if (!($7)) {
+ STACKTOP = sp;return;
+ }
+ $log_line = 140;
+ $8 = HEAP32[234]|0;
+ $9 = ($8|0)==(-1);
+ if ($9) {
+ $10 = $log_line;
+ $11 = (_GNUNET_get_log_call_status(1,21106,20638,20736,$10)|0);
+ HEAP32[234] = $11;
+ }
+ $12 = (_GNUNET_get_log_skip()|0);
+ $13 = ($12|0)>(0);
+ if ($13) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $14 = HEAP32[234]|0;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = $rc;
+ $17 = (_gcry_strerror($16)|0);
+ HEAP32[$vararg_buffer>>2] = 20768;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 20638;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 140;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $17;
+ _GNUNET_log_from_nocheck(1,21106,20684,$vararg_buffer);
+ }
+ }
+ $log_line1 = 141;
+ $18 = HEAP32[235]|0;
+ $19 = ($18|0)==(-1);
+ if ($19) {
+ $20 = $log_line1;
+ $21 = (_GNUNET_get_log_call_status(1,0,20638,20736,$20)|0);
+ HEAP32[235] = $21;
+ }
+ $22 = (_GNUNET_get_log_skip()|0);
+ $23 = ($22|0)>(0);
+ if ($23) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $24 = HEAP32[235]|0;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer4>>2] = 20638;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = 141;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer4);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_random_init() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr18 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer22 = sp + 56|0;
+ $vararg_buffer19 = sp + 48|0;
+ $vararg_buffer15 = sp + 40|0;
+ $vararg_buffer12 = sp + 32|0;
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = (_gcry_check_version(20782)|0);
+ $1 = ($0|0)!=(0|0);
+ if ($1) {
+ HEAP32[$vararg_buffer5>>2] = 0;
+ $11 = (_gcry_control(37,$vararg_buffer5)|0);
+ $rc = $11;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = HEAP32[3963]|0;
+ $14 = $rc;
+ $15 = (_gcry_strerror($14)|0);
+ HEAP32[$vararg_buffer8>>2] = 20935;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = $15;
+ (_fprintf($13,20896,$vararg_buffer8)|0);
+ }
+ HEAP32[$vararg_buffer12>>2] = 0;
+ $16 = (_gcry_control(44,$vararg_buffer12)|0);
+ $rc = $16;
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ HEAP32[$vararg_buffer19>>2] = 0;
+ (_gcry_control(38,$vararg_buffer19)|0);
+ HEAP32[$vararg_buffer22>>2] = 0;
+ (_gcry_control(48,$vararg_buffer22)|0);
+ $21 = (_time((0|0))|0);
+ $22 = (_GNUNET_CRYPTO_random_u32(2,-1)|0);
+ $23 = $21 ^ $22;
+ _GNUNET_CRYPTO_seed_weak_random($23);
+ STACKTOP = sp;return;
+ }
+ $18 = HEAP32[3963]|0;
+ $19 = $rc;
+ $20 = (_gcry_strerror($19)|0);
+ HEAP32[$vararg_buffer15>>2] = 20950;
+ $vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
+ HEAP32[$vararg_ptr18>>2] = $20;
+ (_fprintf($18,20896,$vararg_buffer15)|0);
+ HEAP32[$vararg_buffer19>>2] = 0;
+ (_gcry_control(38,$vararg_buffer19)|0);
+ HEAP32[$vararg_buffer22>>2] = 0;
+ (_gcry_control(48,$vararg_buffer22)|0);
+ $21 = (_time((0|0))|0);
+ $22 = (_GNUNET_CRYPTO_random_u32(2,-1)|0);
+ $23 = $21 ^ $22;
+ _GNUNET_CRYPTO_seed_weak_random($23);
+ STACKTOP = sp;return;
+ }
+ $2 = HEAP32[3963]|0;
+ HEAP32[$vararg_buffer>>2] = 20782;
+ (_fprintf($2,20788,$vararg_buffer)|0);
+ $log_line = 286;
+ $3 = HEAP32[236]|0;
+ $4 = ($3|0)==(-1);
+ if ($4) {
+ $5 = $log_line;
+ $6 = (_GNUNET_get_log_call_status(1,0,20854,20870,$5)|0);
+ HEAP32[236] = $6;
+ }
+ $7 = (_GNUNET_get_log_skip()|0);
+ $8 = ($7|0)>(0);
+ if ($8) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $9 = HEAP32[236]|0;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer1>>2] = 20854;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = 286;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer1);
+ _GNUNET_abort_();
+ // unreachable;
+}
+function _GNUNET_CRYPTO_random_u32($mode,$i) {
+ $mode = $mode|0;
+ $i = $i|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $ret = 0, $ul = 0;
+ var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ret = sp + 36|0;
+ $1 = $mode;
+ $2 = $i;
+ $3 = $2;
+ $4 = ($3>>>0)>(0);
+ if (!($4)) {
+ $log_line = 157;
+ $5 = HEAP32[237]|0;
+ $6 = ($5|0)==(-1);
+ if ($6) {
+ $7 = $log_line;
+ $8 = (_GNUNET_get_log_call_status(1,0,20854,20970,$7)|0);
+ HEAP32[237] = $8;
+ }
+ $9 = (_GNUNET_get_log_skip()|0);
+ $10 = ($9|0)>(0);
+ if ($10) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $11 = HEAP32[237]|0;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 20854;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 157;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = $1;
+ switch ($13|0) {
+ case 1: {
+ $14 = HEAP32[17660]|0;
+ $15 = (($14) + 1)|0;
+ HEAP32[17660] = $15;
+ $16 = (($14>>>0) % 256)&-1;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ HEAP32[$vararg_buffer2>>2] = 0;
+ (_gcry_control(48,$vararg_buffer2)|0);
+ }
+ $18 = $2;
+ $19 = (4294967295 % ($18>>>0))&-1;
+ $20 = (-1 - ($19))|0;
+ $ul = $20;
+ while(1) {
+ _gcry_randomize($ret,4,1);
+ $21 = HEAP32[$ret>>2]|0;
+ $22 = $ul;
+ $23 = ($21>>>0)>=($22>>>0);
+ if (!($23)) {
+ break;
+ }
+ }
+ $24 = HEAP32[$ret>>2]|0;
+ $25 = $2;
+ $26 = (($24>>>0) % ($25>>>0))&-1;
+ $0 = $26;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ break;
+ }
+ case 2: {
+ $27 = $2;
+ $28 = (4294967295 % ($27>>>0))&-1;
+ $29 = (-1 - ($28))|0;
+ $ul = $29;
+ while(1) {
+ _gcry_create_nonce($ret,4);
+ $30 = HEAP32[$ret>>2]|0;
+ $31 = $ul;
+ $32 = ($30>>>0)>=($31>>>0);
+ if (!($32)) {
+ break;
+ }
+ }
+ $33 = HEAP32[$ret>>2]|0;
+ $34 = $2;
+ $35 = (($33>>>0) % ($34>>>0))&-1;
+ $0 = $35;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ break;
+ }
+ case 0: {
+ $36 = $2;
+ $37 = (+($36>>>0));
+ $38 = (+_get_weak_random());
+ $39 = $37 * $38;
+ $40 = (~~(($39))>>>0);
+ HEAP32[$ret>>2] = $40;
+ $41 = HEAP32[$ret>>2]|0;
+ $42 = $2;
+ $43 = ($41>>>0)>=($42>>>0);
+ if ($43) {
+ $44 = $2;
+ $45 = (($44) - 1)|0;
+ HEAP32[$ret>>2] = $45;
+ }
+ $46 = HEAP32[$ret>>2]|0;
+ $0 = $46;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ break;
+ }
+ default: {
+ $log_line1 = 189;
+ $47 = HEAP32[238]|0;
+ $48 = ($47|0)==(-1);
+ if ($48) {
+ $49 = $log_line1;
+ $50 = (_GNUNET_get_log_call_status(1,0,20854,20970,$49)|0);
+ HEAP32[238] = $50;
+ }
+ $51 = (_GNUNET_get_log_skip()|0);
+ $52 = ($51|0)>(0);
+ if ($52) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $53 = HEAP32[238]|0;
+ $54 = ($53|0)!=(0);
+ if (!($54)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer5>>2] = 20854;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = 189;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer5);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+ return (0)|0;
+}
+function _get_weak_random() {
+ var $0 = 0, $1 = 0.0, $2 = 0.0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_random()|0);
+ $1 = (+($0|0));
+ $2 = $1 / 2147483647.0;
+ return (+$2);
+}
+function _GNUNET_CRYPTO_seed_weak_random($seed) {
+ $seed = $seed|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $seed;
+ $1 = $0;
+ _srandom($1);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_random_fini() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _gcry_set_progress_handler(0,0);
+ return;
+}
+function _GNUNET_CRYPTO_rsa_private_key_create($len) {
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $ret = 0, $s_key = 0, $s_keyparam = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $s_key = sp + 36|0;
+ $s_keyparam = sp + 32|0;
+ $0 = $len;
+ $1 = $0;
+ HEAP32[$vararg_buffer>>2] = $1;
+ $2 = (_gcry_sexp_build($s_keyparam,0,20995,$vararg_buffer)|0);
+ $3 = (0)==($2|0);
+ if (!($3)) {
+ $log_line = 154;
+ $4 = HEAP32[239]|0;
+ $5 = ($4|0)==(-1);
+ if ($5) {
+ $6 = $log_line;
+ $7 = (_GNUNET_get_log_call_status(1,0,21019,21032,$6)|0);
+ HEAP32[239] = $7;
+ }
+ $8 = (_GNUNET_get_log_skip()|0);
+ $9 = ($8|0)>(0);
+ if ($9) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $10 = HEAP32[239]|0;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer1>>2] = 21019;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = 154;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer1);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[$s_keyparam>>2]|0;
+ $13 = (_gcry_pk_genkey($s_key,$12)|0);
+ $14 = (0)==($13|0);
+ if ($14) {
+ $23 = HEAP32[$s_keyparam>>2]|0;
+ _gcry_sexp_release($23);
+ $24 = (_GNUNET_xmalloc_(4,21019,163)|0);
+ $ret = $24;
+ $25 = HEAP32[$s_key>>2]|0;
+ $26 = $ret;
+ HEAP32[$26>>2] = $25;
+ $27 = $ret;
+ STACKTOP = sp;return ($27|0);
+ }
+ $log_line1 = 157;
+ $15 = HEAP32[240]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line1;
+ $18 = (_GNUNET_get_log_call_status(1,0,21019,21032,$17)|0);
+ HEAP32[240] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[240]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer5>>2] = 21019;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = 157;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer5);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_private_key_free($key) {
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $key;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($2);
+ $3 = $0;
+ _GNUNET_xfree_($3,21019,178);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_rsa_private_key_encode($key,$buffer) {
+ $key = $key|0;
+ $buffer = $buffer|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $log_line = 0, $n = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $key;
+ $1 = $buffer;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (_gcry_sexp_sprint($3,0,0,0)|0);
+ $n = $4;
+ $5 = $n;
+ $6 = (_GNUNET_xmalloc_($5,21019,201)|0);
+ $b = $6;
+ $7 = $n;
+ $8 = (($7) - 1)|0;
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $b;
+ $12 = $n;
+ $13 = (_gcry_sexp_sprint($10,0,$11,$12)|0);
+ $14 = ($8|0)==($13|0);
+ if ($14) {
+ $23 = $b;
+ $24 = $1;
+ HEAP32[$24>>2] = $23;
+ $25 = $n;
+ STACKTOP = sp;return ($25|0);
+ }
+ $log_line = 206;
+ $15 = HEAP32[241]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line;
+ $18 = (_GNUNET_get_log_call_status(1,0,21019,21069,$17)|0);
+ HEAP32[241] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[241]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 206;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_private_key_decode($buf,$len) {
+ $buf = $buf|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $key = 0, $log_line = 0, $log_line1 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = $buf;
+ $2 = $len;
+ $3 = (_GNUNET_xmalloc_(4,21019,225)|0);
+ $key = $3;
+ $4 = $key;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_gcry_sexp_new($4,$5,$6,0)|0);
+ $8 = (0)!=($7|0);
+ if ($8) {
+ $log_line = 233;
+ $9 = HEAP32[242]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = $log_line;
+ $12 = (_GNUNET_get_log_call_status(2,21106,21019,21111,$11)|0);
+ HEAP32[242] = $12;
+ }
+ $13 = (_GNUNET_get_log_skip()|0);
+ $14 = ($13|0)>(0);
+ if ($14) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $15 = HEAP32[242]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ _GNUNET_log_from_nocheck(2,21106,21148,$vararg_buffer);
+ }
+ }
+ $17 = $key;
+ _GNUNET_xfree_($17,21019,234);
+ $0 = 0;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+ }
+ $18 = $key;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_gcry_pk_testkey($19)|0);
+ $21 = (0)!=($20|0);
+ if (!($21)) {
+ $31 = $key;
+ $0 = $31;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+ }
+ $log_line1 = 240;
+ $22 = HEAP32[243]|0;
+ $23 = ($22|0)==(-1);
+ if ($23) {
+ $24 = $log_line1;
+ $25 = (_GNUNET_get_log_call_status(2,21106,21019,21111,$24)|0);
+ HEAP32[243] = $25;
+ }
+ $26 = (_GNUNET_get_log_skip()|0);
+ $27 = ($26|0)>(0);
+ if ($27) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $28 = HEAP32[243]|0;
+ $29 = ($28|0)!=(0);
+ if ($29) {
+ _GNUNET_log_from_nocheck(2,21106,21148,$vararg_buffer1);
+ }
+ }
+ $30 = $key;
+ _GNUNET_CRYPTO_rsa_private_key_free($30);
+ $0 = 0;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+}
+function _GNUNET_CRYPTO_rsa_private_key_get_public($priv) {
+ $priv = $priv|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $log_line = 0, $ne = 0, $pub = 0;
+ var $rc = 0, $result = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ne = sp + 32|0;
+ $result = sp + 20|0;
+ $1 = $priv;
+ $2 = $1;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (_key_from_sexp_125($ne,$3,37970,39383)|0);
+ $rc = $4;
+ $5 = $rc;
+ $6 = (0)!=($5|0);
+ if ($6) {
+ $7 = $1;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (_key_from_sexp_125($ne,$8,37958,39383)|0);
+ $rc = $9;
+ }
+ $10 = $rc;
+ $11 = (0)!=($10|0);
+ if ($11) {
+ $12 = $1;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (_key_from_sexp_125($ne,$13,39342,39383)|0);
+ $rc = $14;
+ }
+ $15 = $rc;
+ $16 = (0)!=($15|0);
+ if (!($16)) {
+ $25 = HEAP32[$ne>>2]|0;
+ $26 = ((($ne)) + 4|0);
+ $27 = HEAP32[$26>>2]|0;
+ HEAP32[$vararg_buffer2>>2] = $25;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $27;
+ $28 = (_gcry_sexp_build($result,0,21271,$vararg_buffer2)|0);
+ $rc = $28;
+ $29 = HEAP32[$ne>>2]|0;
+ _gcry_mpi_release($29);
+ $30 = ((($ne)) + 4|0);
+ $31 = HEAP32[$30>>2]|0;
+ _gcry_mpi_release($31);
+ $32 = (_GNUNET_xmalloc_(4,21019,279)|0);
+ $pub = $32;
+ $33 = HEAP32[$result>>2]|0;
+ $34 = $pub;
+ HEAP32[$34>>2] = $33;
+ $35 = $pub;
+ $0 = $35;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+ }
+ $log_line = 269;
+ $17 = HEAP32[244]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = $log_line;
+ $20 = (_GNUNET_get_log_call_status(2,0,21019,21182,$19)|0);
+ HEAP32[244] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $23 = HEAP32[244]|0;
+ $24 = ($23|0)!=(0);
+ if ($24) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 269;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer);
+ }
+ }
+ $0 = 0;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+}
+function _key_from_sexp_125($array,$sexp,$topname,$elems) {
+ $array = $array|0;
+ $sexp = $sexp|0;
+ $topname = $topname|0;
+ $elems = $elems|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $idx = 0, $l2 = 0, $list = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $array;
+ $2 = $sexp;
+ $3 = $topname;
+ $4 = $elems;
+ $5 = $2;
+ $6 = $3;
+ $7 = (_gcry_sexp_find_token($5,$6,0)|0);
+ $list = $7;
+ $8 = ($7|0)!=(0|0);
+ if (!($8)) {
+ $0 = 1;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ $9 = $list;
+ $10 = (_gcry_sexp_cadr($9)|0);
+ $l2 = $10;
+ $11 = $list;
+ _gcry_sexp_release($11);
+ $12 = $l2;
+ $list = $12;
+ $13 = $list;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $0 = 2;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ $idx = 0;
+ $15 = $4;
+ $s = $15;
+ while(1) {
+ $16 = $s;
+ $17 = HEAP8[$16>>0]|0;
+ $18 = ($17<<24>>24)!=(0);
+ $19 = $list;
+ if (!($18)) {
+ label = 18;
+ break;
+ }
+ $20 = $s;
+ $21 = (_gcry_sexp_find_token($19,$20,1)|0);
+ $l2 = $21;
+ $22 = ($21|0)!=(0|0);
+ if (!($22)) {
+ label = 8;
+ break;
+ }
+ $36 = $l2;
+ $37 = (_gcry_sexp_nth_mpi($36,1,5)|0);
+ $38 = $idx;
+ $39 = $1;
+ $40 = (($39) + ($38<<2)|0);
+ HEAP32[$40>>2] = $37;
+ $41 = $l2;
+ _gcry_sexp_release($41);
+ $42 = $idx;
+ $43 = $1;
+ $44 = (($43) + ($42<<2)|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($45|0)!=(0|0);
+ if (!($46)) {
+ label = 13;
+ break;
+ }
+ $60 = $s;
+ $61 = ((($60)) + 1|0);
+ $s = $61;
+ $62 = $idx;
+ $63 = (($62) + 1)|0;
+ $idx = $63;
+ }
+ if ((label|0) == 8) {
+ $i = 0;
+ while(1) {
+ $23 = $i;
+ $24 = $idx;
+ $25 = ($23>>>0)<($24>>>0);
+ if (!($25)) {
+ break;
+ }
+ $26 = $i;
+ $27 = $1;
+ $28 = (($27) + ($26<<2)|0);
+ $29 = HEAP32[$28>>2]|0;
+ _gcry_free($29);
+ $30 = $i;
+ $31 = $1;
+ $32 = (($31) + ($30<<2)|0);
+ HEAP32[$32>>2] = 0;
+ $33 = $i;
+ $34 = (($33) + 1)|0;
+ $i = $34;
+ }
+ $35 = $list;
+ _gcry_sexp_release($35);
+ $0 = 3;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ else if ((label|0) == 13) {
+ $i = 0;
+ while(1) {
+ $47 = $i;
+ $48 = $idx;
+ $49 = ($47>>>0)<($48>>>0);
+ if (!($49)) {
+ break;
+ }
+ $50 = $i;
+ $51 = $1;
+ $52 = (($51) + ($50<<2)|0);
+ $53 = HEAP32[$52>>2]|0;
+ _gcry_free($53);
+ $54 = $i;
+ $55 = $1;
+ $56 = (($55) + ($54<<2)|0);
+ HEAP32[$56>>2] = 0;
+ $57 = $i;
+ $58 = (($57) + 1)|0;
+ $i = $58;
+ }
+ $59 = $list;
+ _gcry_sexp_release($59);
+ $0 = 4;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ else if ((label|0) == 18) {
+ _gcry_sexp_release($19);
+ $0 = 0;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_public_key_free($key) {
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $key;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($2);
+ $3 = $0;
+ _GNUNET_xfree_($3,21019,294);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_rsa_public_key_encode($key,$buffer) {
+ $key = $key|0;
+ $buffer = $buffer|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $log_line = 0, $n = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $key;
+ $1 = $buffer;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (_gcry_sexp_sprint($3,3,0,0)|0);
+ $n = $4;
+ $5 = $n;
+ $6 = (_GNUNET_xmalloc_($5,21019,317)|0);
+ $b = $6;
+ $7 = $n;
+ $8 = (($7) - 1)|0;
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $b;
+ $12 = $n;
+ $13 = (_gcry_sexp_sprint($10,3,$11,$12)|0);
+ $14 = ($8|0)==($13|0);
+ if ($14) {
+ $23 = $b;
+ $24 = $1;
+ HEAP32[$24>>2] = $23;
+ $25 = $n;
+ STACKTOP = sp;return ($25|0);
+ }
+ $log_line = 322;
+ $15 = HEAP32[245]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line;
+ $18 = (_GNUNET_get_log_call_status(1,0,21019,21301,$17)|0);
+ HEAP32[245] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[245]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 322;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_public_key_hash($key,$hc) {
+ $key = $key|0;
+ $hc = $hc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $buf = 0, $buf_size = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $buf = sp + 4|0;
+ $0 = $key;
+ $1 = $hc;
+ $2 = $0;
+ $3 = (_GNUNET_CRYPTO_rsa_public_key_encode($2,$buf)|0);
+ $buf_size = $3;
+ $4 = HEAP32[$buf>>2]|0;
+ $5 = $buf_size;
+ $6 = $1;
+ _GNUNET_CRYPTO_hash($4,$5,$6);
+ $7 = HEAP32[$buf>>2]|0;
+ _GNUNET_xfree_($7,21019,346);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_rsa_public_key_decode($buf,$len) {
+ $buf = $buf|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $key = 0, $log_line = 0, $log_line1 = 0, $n = 0, $ret = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $n = sp + 28|0;
+ $1 = $buf;
+ $2 = $len;
+ $3 = (_GNUNET_xmalloc_(4,21019,366)|0);
+ $key = $3;
+ $4 = $key;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_gcry_sexp_new($4,$5,$6,0)|0);
+ $8 = (0)!=($7|0);
+ if ($8) {
+ $log_line = 373;
+ $9 = HEAP32[246]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = $log_line;
+ $12 = (_GNUNET_get_log_call_status(2,0,21019,21337,$11)|0);
+ HEAP32[246] = $12;
+ }
+ $13 = (_GNUNET_get_log_skip()|0);
+ $14 = ($13|0)>(0);
+ if ($14) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $15 = HEAP32[246]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 373;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer);
+ }
+ }
+ $17 = $key;
+ _GNUNET_xfree_($17,21019,374);
+ $0 = 0;
+ $41 = $0;
+ STACKTOP = sp;return ($41|0);
+ }
+ $18 = $key;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_key_from_sexp_125($n,$19,37970,39397)|0);
+ $ret = $20;
+ $21 = $ret;
+ $22 = (0)!=($21|0);
+ if ($22) {
+ $23 = $key;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (_key_from_sexp_125($n,$24,39342,39397)|0);
+ $ret = $25;
+ }
+ $26 = $ret;
+ $27 = (0)!=($26|0);
+ if (!($27)) {
+ $39 = HEAP32[$n>>2]|0;
+ _gcry_mpi_release($39);
+ $40 = $key;
+ $0 = $40;
+ $41 = $0;
+ STACKTOP = sp;return ($41|0);
+ }
+ $log_line1 = 384;
+ $28 = HEAP32[247]|0;
+ $29 = ($28|0)==(-1);
+ if ($29) {
+ $30 = $log_line1;
+ $31 = (_GNUNET_get_log_call_status(1,0,21019,21337,$30)|0);
+ HEAP32[247] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $34 = HEAP32[247]|0;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ HEAP32[$vararg_buffer2>>2] = 21019;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 384;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ }
+ }
+ $36 = $key;
+ $37 = HEAP32[$36>>2]|0;
+ _gcry_sexp_release($37);
+ $38 = $key;
+ _GNUNET_xfree_($38,21019,386);
+ $0 = 0;
+ $41 = $0;
+ STACKTOP = sp;return ($41|0);
+}
+function _GNUNET_CRYPTO_rsa_blinding_key_create($len) {
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $blind = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $len;
+ $1 = (_GNUNET_xmalloc_(4,21019,405)|0);
+ $blind = $1;
+ $2 = $0;
+ $3 = (_gcry_mpi_new($2)|0);
+ $4 = $blind;
+ HEAP32[$4>>2] = $3;
+ $5 = $blind;
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $0;
+ _gcry_mpi_randomize($6,$7,1);
+ $8 = $blind;
+ STACKTOP = sp;return ($8|0);
+}
+function _GNUNET_CRYPTO_rsa_signature_encode($sig,$buffer) {
+ $sig = $sig|0;
+ $buffer = $buffer|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $log_line = 0, $n = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $sig;
+ $1 = $buffer;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (_gcry_sexp_sprint($3,3,0,0)|0);
+ $n = $4;
+ $5 = $n;
+ $6 = (_GNUNET_xmalloc_($5,21019,825)|0);
+ $b = $6;
+ $7 = $n;
+ $8 = (($7) - 1)|0;
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $b;
+ $12 = $n;
+ $13 = (_gcry_sexp_sprint($10,3,$11,$12)|0);
+ $14 = ($8|0)==($13|0);
+ if ($14) {
+ $23 = $b;
+ $24 = $1;
+ HEAP32[$24>>2] = $23;
+ $25 = $n;
+ STACKTOP = sp;return ($25|0);
+ }
+ $log_line = 830;
+ $15 = HEAP32[248]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line;
+ $18 = (_GNUNET_get_log_call_status(1,0,21019,21373,$17)|0);
+ HEAP32[248] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $21 = HEAP32[248]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 830;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_blinding_key_free($bkey) {
+ $bkey = $bkey|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $bkey;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ _gcry_mpi_release($2);
+ $3 = $0;
+ _GNUNET_xfree_($3,21019,564);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_rsa_blinding_key_encode($bkey,$buffer) {
+ $bkey = $bkey|0;
+ $buffer = $buffer|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $b = 0, $log_line = 0, $n = 0, $rsize = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $n = sp + 20|0;
+ $rsize = sp + 12|0;
+ $0 = $bkey;
+ $1 = $buffer;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ (_gcry_mpi_print(5,0,0,$n,$3)|0);
+ $4 = HEAP32[$n>>2]|0;
+ $5 = (_GNUNET_xmalloc_($4,21019,589)|0);
+ $b = $5;
+ $6 = $b;
+ $7 = HEAP32[$n>>2]|0;
+ $8 = $0;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (_gcry_mpi_print(5,$6,$7,$rsize,$9)|0);
+ $11 = (0)==($10|0);
+ if ($11) {
+ $20 = $b;
+ $21 = $1;
+ HEAP32[$21>>2] = $20;
+ $22 = HEAP32[$n>>2]|0;
+ STACKTOP = sp;return ($22|0);
+ }
+ $log_line = 595;
+ $12 = HEAP32[249]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = $log_line;
+ $15 = (_GNUNET_get_log_call_status(1,0,21019,21408,$14)|0);
+ HEAP32[249] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $18 = HEAP32[249]|0;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 595;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_blinding_key_decode($buf,$len) {
+ $buf = $buf|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $bkey = 0, $log_line = 0, $rsize = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $rsize = sp + 12|0;
+ $1 = $buf;
+ $2 = $len;
+ $3 = (_GNUNET_xmalloc_(4,21019,616)|0);
+ $bkey = $3;
+ $4 = $bkey;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_gcry_mpi_scan($4,5,$5,$6,$rsize)|0);
+ $8 = (0)!=($7|0);
+ if (!($8)) {
+ $18 = $bkey;
+ $0 = $18;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ $log_line = 624;
+ $9 = HEAP32[250]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = $log_line;
+ $12 = (_GNUNET_get_log_call_status(2,0,21019,21446,$11)|0);
+ HEAP32[250] = $12;
+ }
+ $13 = (_GNUNET_get_log_skip()|0);
+ $14 = ($13|0)>(0);
+ if ($14) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $15 = HEAP32[250]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 624;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer);
+ }
+ }
+ $17 = $bkey;
+ _GNUNET_xfree_($17,21019,625);
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _GNUNET_CRYPTO_rsa_blind($hash,$bkey,$pkey,$buffer) {
+ $hash = $hash|0;
+ $bkey = $bkey|0;
+ $pkey = $pkey|0;
+ $buffer = $buffer|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $data = 0, $data_r_e = 0, $log_line = 0, $log_line1 = 0, $n = 0, $ne = 0, $r_e = 0, $rc = 0, $ret = 0, $rsize = 0, $vararg_buffer = 0;
+ var $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $data = sp + 64|0;
+ $ne = sp + 56|0;
+ $rsize = sp + 40|0;
+ $n = sp + 36|0;
+ $1 = $hash;
+ $2 = $bkey;
+ $3 = $pkey;
+ $4 = $buffer;
+ $5 = $3;
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (_key_from_sexp_125($ne,$6,37970,39383)|0);
+ $ret = $7;
+ $8 = $ret;
+ $9 = (0)!=($8|0);
+ if ($9) {
+ $10 = $3;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (_key_from_sexp_125($ne,$11,39342,39383)|0);
+ $ret = $12;
+ }
+ $13 = $ret;
+ $14 = (0)!=($13|0);
+ if ($14) {
+ $log_line = 662;
+ $15 = HEAP32[251]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line;
+ $18 = (_GNUNET_get_log_call_status(1,0,21019,21484,$17)|0);
+ HEAP32[251] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $21 = HEAP32[251]|0;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 662;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ }
+ }
+ $23 = $4;
+ HEAP32[$23>>2] = 0;
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $24 = $1;
+ $25 = (_gcry_mpi_scan($data,5,$24,64,$rsize)|0);
+ $rc = $25;
+ $26 = (0)!=($25|0);
+ if (!($26)) {
+ $39 = (_gcry_mpi_new(0)|0);
+ $r_e = $39;
+ $40 = $r_e;
+ $41 = $2;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ((($ne)) + 4|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = HEAP32[$ne>>2]|0;
+ _gcry_mpi_powm($40,$42,$44,$45);
+ $46 = (_gcry_mpi_new(0)|0);
+ $data_r_e = $46;
+ $47 = $data_r_e;
+ $48 = HEAP32[$data>>2]|0;
+ $49 = $r_e;
+ $50 = HEAP32[$ne>>2]|0;
+ _gcry_mpi_mulm($47,$48,$49,$50);
+ $51 = HEAP32[$data>>2]|0;
+ _gcry_mpi_release($51);
+ $52 = HEAP32[$ne>>2]|0;
+ _gcry_mpi_release($52);
+ $53 = ((($ne)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ _gcry_mpi_release($54);
+ $55 = $r_e;
+ _gcry_mpi_release($55);
+ $56 = $data_r_e;
+ (_gcry_mpi_print(5,0,0,$n,$56)|0);
+ $57 = HEAP32[$n>>2]|0;
+ $58 = (_GNUNET_xmalloc_($57,21019,698)|0);
+ $b = $58;
+ $59 = $b;
+ $60 = HEAP32[$n>>2]|0;
+ $61 = $data_r_e;
+ $62 = (_gcry_mpi_print(5,$59,$60,$rsize,$61)|0);
+ $rc = $62;
+ $63 = $data_r_e;
+ _gcry_mpi_release($63);
+ $64 = $b;
+ $65 = $4;
+ HEAP32[$65>>2] = $64;
+ $66 = HEAP32[$n>>2]|0;
+ $0 = $66;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $log_line1 = 672;
+ $27 = HEAP32[252]|0;
+ $28 = ($27|0)==(-1);
+ if ($28) {
+ $29 = $log_line1;
+ $30 = (_GNUNET_get_log_call_status(1,0,21019,21484,$29)|0);
+ HEAP32[252] = $30;
+ }
+ $31 = (_GNUNET_get_log_skip()|0);
+ $32 = ($31|0)>(0);
+ if ($32) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $33 = HEAP32[252]|0;
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ HEAP32[$vararg_buffer2>>2] = 21019;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 672;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ }
+ }
+ $35 = HEAP32[$ne>>2]|0;
+ _gcry_mpi_release($35);
+ $36 = ((($ne)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ _gcry_mpi_release($37);
+ $38 = $4;
+ HEAP32[$38>>2] = 0;
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+}
+function _GNUNET_CRYPTO_rsa_sign($key,$msg,$msg_len) {
+ $key = $key|0;
+ $msg = $msg|0;
+ $msg_len = $msg_len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $log_line = 0, $log_line1 = 0, $public_key = 0, $result = 0, $sig = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $result = sp + 28|0;
+ $1 = $key;
+ $2 = $msg;
+ $3 = $msg_len;
+ $4 = $2;
+ $5 = $3;
+ $6 = (_data_to_sexp($4,$5)|0);
+ $data = $6;
+ $7 = $data;
+ $8 = $1;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (_gcry_pk_sign($result,$7,$9)|0);
+ $11 = (0)!=($10|0);
+ if ($11) {
+ $log_line = 767;
+ $12 = HEAP32[255]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = $log_line;
+ $15 = (_GNUNET_get_log_call_status(1,0,21019,21551,$14)|0);
+ HEAP32[255] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $18 = HEAP32[255]|0;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 767;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ }
+ }
+ $0 = 0;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ }
+ $20 = $1;
+ $21 = (_GNUNET_CRYPTO_rsa_private_key_get_public($20)|0);
+ $public_key = $21;
+ $22 = HEAP32[$result>>2]|0;
+ $23 = $data;
+ $24 = $public_key;
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (_gcry_pk_verify($22,$23,$25)|0);
+ $27 = (0)!=($26|0);
+ if (!($27)) {
+ $39 = $public_key;
+ _GNUNET_CRYPTO_rsa_public_key_free($39);
+ $40 = $data;
+ _gcry_sexp_release($40);
+ $41 = (_GNUNET_xmalloc_(4,21019,788)|0);
+ $sig = $41;
+ $42 = HEAP32[$result>>2]|0;
+ $43 = $sig;
+ HEAP32[$43>>2] = $42;
+ $44 = $sig;
+ $0 = $44;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ }
+ $log_line1 = 778;
+ $28 = HEAP32[256]|0;
+ $29 = ($28|0)==(-1);
+ if ($29) {
+ $30 = $log_line1;
+ $31 = (_GNUNET_get_log_call_status(1,0,21019,21551,$30)|0);
+ HEAP32[256] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $34 = HEAP32[256]|0;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ HEAP32[$vararg_buffer2>>2] = 21019;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 778;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ }
+ }
+ $36 = $public_key;
+ _GNUNET_CRYPTO_rsa_public_key_free($36);
+ $37 = $data;
+ _gcry_sexp_release($37);
+ $38 = HEAP32[$result>>2]|0;
+ _gcry_sexp_release($38);
+ $0 = 0;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+}
+function _data_to_sexp($ptr,$size) {
+ $ptr = $ptr|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $log_line = 0, $log_line1 = 0, $value = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $value = sp + 36|0;
+ $data = sp + 32|0;
+ $0 = $ptr;
+ $1 = $size;
+ HEAP32[$value>>2] = 0;
+ HEAP32[$data>>2] = 0;
+ $2 = $0;
+ $3 = $1;
+ $4 = (_gcry_mpi_scan($value,5,$2,$3,0)|0);
+ $5 = (0)==($4|0);
+ if (!($5)) {
+ $log_line = 731;
+ $6 = HEAP32[253]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = $log_line;
+ $9 = (_GNUNET_get_log_call_status(1,0,21019,21508,$8)|0);
+ HEAP32[253] = $9;
+ }
+ $10 = (_GNUNET_get_log_skip()|0);
+ $11 = ($10|0)>(0);
+ if ($11) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $12 = HEAP32[253]|0;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 731;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $14 = HEAP32[$value>>2]|0;
+ HEAP32[$vararg_buffer2>>2] = $14;
+ $15 = (_gcry_sexp_build($data,0,21521,$vararg_buffer2)|0);
+ $16 = (0)==($15|0);
+ if ($16) {
+ $25 = HEAP32[$value>>2]|0;
+ _gcry_mpi_release($25);
+ $26 = HEAP32[$data>>2]|0;
+ STACKTOP = sp;return ($26|0);
+ }
+ $log_line1 = 736;
+ $17 = HEAP32[254]|0;
+ $18 = ($17|0)==(-1);
+ if ($18) {
+ $19 = $log_line1;
+ $20 = (_GNUNET_get_log_call_status(1,0,21019,21508,$19)|0);
+ HEAP32[254] = $20;
+ }
+ $21 = (_GNUNET_get_log_skip()|0);
+ $22 = ($21|0)>(0);
+ if ($22) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $23 = HEAP32[254]|0;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer5>>2] = 21019;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = 736;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer5);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_signature_free($sig) {
+ $sig = $sig|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $sig;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ _gcry_sexp_release($2);
+ $3 = $0;
+ _GNUNET_xfree_($3,21019,803);
+ STACKTOP = sp;return;
+}
+function _GNUNET_CRYPTO_rsa_signature_decode($buf,$len) {
+ $buf = $buf|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $ret = 0, $s = 0, $sig = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $s = sp + 24|0;
+ $1 = $buf;
+ $2 = $len;
+ $3 = (_GNUNET_xmalloc_(4,21019,852)|0);
+ $sig = $3;
+ $4 = $sig;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_gcry_sexp_new($4,$5,$6,0)|0);
+ $8 = (0)!=($7|0);
+ if ($8) {
+ $log_line = 859;
+ $9 = HEAP32[257]|0;
+ $10 = ($9|0)==(-1);
+ if ($10) {
+ $11 = $log_line;
+ $12 = (_GNUNET_get_log_call_status(2,0,21019,21574,$11)|0);
+ HEAP32[257] = $12;
+ }
+ $13 = (_GNUNET_get_log_skip()|0);
+ $14 = ($13|0)>(0);
+ if ($14) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $15 = HEAP32[257]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 859;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer);
+ }
+ }
+ $17 = $sig;
+ _GNUNET_xfree_($17,21019,860);
+ $0 = 0;
+ $41 = $0;
+ STACKTOP = sp;return ($41|0);
+ }
+ $18 = $sig;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_key_from_sexp_125($s,$19,37820,39395)|0);
+ $ret = $20;
+ $21 = $ret;
+ $22 = (0)!=($21|0);
+ if ($22) {
+ $23 = $sig;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (_key_from_sexp_125($s,$24,39342,39395)|0);
+ $ret = $25;
+ }
+ $26 = $ret;
+ $27 = (0)!=($26|0);
+ if (!($27)) {
+ $39 = HEAP32[$s>>2]|0;
+ _gcry_mpi_release($39);
+ $40 = $sig;
+ $0 = $40;
+ $41 = $0;
+ STACKTOP = sp;return ($41|0);
+ }
+ $log_line1 = 870;
+ $28 = HEAP32[258]|0;
+ $29 = ($28|0)==(-1);
+ if ($29) {
+ $30 = $log_line1;
+ $31 = (_GNUNET_get_log_call_status(2,0,21019,21574,$30)|0);
+ HEAP32[258] = $31;
+ }
+ $32 = (_GNUNET_get_log_skip()|0);
+ $33 = ($32|0)>(0);
+ if ($33) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $34 = HEAP32[258]|0;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ HEAP32[$vararg_buffer2>>2] = 21019;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 870;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer2);
+ }
+ }
+ $36 = $sig;
+ $37 = HEAP32[$36>>2]|0;
+ _gcry_sexp_release($37);
+ $38 = $sig;
+ _GNUNET_xfree_($38,21019,872);
+ $0 = 0;
+ $41 = $0;
+ STACKTOP = sp;return ($41|0);
+}
+function _GNUNET_CRYPTO_rsa_unblind($sig,$bkey,$pkey) {
+ $sig = $sig|0;
+ $bkey = $bkey|0;
+ $pkey = $pkey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $9 = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $log_line3 = 0, $n = 0, $r_inv = 0, $ret = 0, $s = 0, $sret = 0, $ubsig = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr16 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer13 = sp + 32|0;
+ $vararg_buffer10 = sp + 24|0;
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $n = sp + 76|0;
+ $s = sp + 72|0;
+ $1 = $sig;
+ $2 = $bkey;
+ $3 = $pkey;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (_key_from_sexp_125($n,$5,37970,39397)|0);
+ $ret = $6;
+ $7 = $ret;
+ $8 = (0)!=($7|0);
+ if ($8) {
+ $9 = $3;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (_key_from_sexp_125($n,$10,39342,39397)|0);
+ $ret = $11;
+ }
+ $12 = $ret;
+ $13 = (0)!=($12|0);
+ if ($13) {
+ $log_line = 932;
+ $14 = HEAP32[259]|0;
+ $15 = ($14|0)==(-1);
+ if ($15) {
+ $16 = $log_line;
+ $17 = (_GNUNET_get_log_call_status(2,0,21019,21609,$16)|0);
+ HEAP32[259] = $17;
+ }
+ $18 = (_GNUNET_get_log_skip()|0);
+ $19 = ($18|0)>(0);
+ if ($19) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $20 = HEAP32[259]|0;
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 932;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer);
+ }
+ }
+ $0 = 0;
+ $82 = $0;
+ STACKTOP = sp;return ($82|0);
+ }
+ $22 = $1;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (_key_from_sexp_125($s,$23,37820,39395)|0);
+ $ret = $24;
+ $25 = $ret;
+ $26 = (0)!=($25|0);
+ if ($26) {
+ $27 = $1;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (_key_from_sexp_125($s,$28,39342,39395)|0);
+ $ret = $29;
+ }
+ $30 = $ret;
+ $31 = (0)!=($30|0);
+ if ($31) {
+ $32 = HEAP32[$n>>2]|0;
+ _gcry_mpi_release($32);
+ $log_line1 = 941;
+ $33 = HEAP32[260]|0;
+ $34 = ($33|0)==(-1);
+ if ($34) {
+ $35 = $log_line1;
+ $36 = (_GNUNET_get_log_call_status(2,0,21019,21609,$35)|0);
+ HEAP32[260] = $36;
+ }
+ $37 = (_GNUNET_get_log_skip()|0);
+ $38 = ($37|0)>(0);
+ if ($38) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $39 = HEAP32[260]|0;
+ $40 = ($39|0)!=(0);
+ if ($40) {
+ HEAP32[$vararg_buffer2>>2] = 21019;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 941;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer2);
+ }
+ }
+ $0 = 0;
+ $82 = $0;
+ STACKTOP = sp;return ($82|0);
+ }
+ $41 = (_gcry_mpi_new(0)|0);
+ $r_inv = $41;
+ $42 = $r_inv;
+ $43 = $2;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = HEAP32[$n>>2]|0;
+ $46 = (_gcry_mpi_invm($42,$44,$45)|0);
+ $47 = (1)!=($46|0);
+ if ($47) {
+ $log_line2 = 950;
+ $48 = HEAP32[261]|0;
+ $49 = ($48|0)==(-1);
+ if ($49) {
+ $50 = $log_line2;
+ $51 = (_GNUNET_get_log_call_status(2,0,21019,21609,$50)|0);
+ HEAP32[261] = $51;
+ }
+ $52 = (_GNUNET_get_log_skip()|0);
+ $53 = ($52|0)>(0);
+ if ($53) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $54 = HEAP32[261]|0;
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ HEAP32[$vararg_buffer6>>2] = 21019;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 950;
+ _GNUNET_log_nocheck(34,21223,$vararg_buffer6);
+ }
+ }
+ $56 = HEAP32[$n>>2]|0;
+ _gcry_mpi_release($56);
+ $57 = $r_inv;
+ _gcry_mpi_release($57);
+ $58 = HEAP32[$s>>2]|0;
+ _gcry_mpi_release($58);
+ $0 = 0;
+ $82 = $0;
+ STACKTOP = sp;return ($82|0);
+ }
+ $59 = (_gcry_mpi_new(0)|0);
+ $ubsig = $59;
+ $60 = $ubsig;
+ $61 = HEAP32[$s>>2]|0;
+ $62 = $r_inv;
+ $63 = HEAP32[$n>>2]|0;
+ _gcry_mpi_mulm($60,$61,$62,$63);
+ $64 = HEAP32[$n>>2]|0;
+ _gcry_mpi_release($64);
+ $65 = $r_inv;
+ _gcry_mpi_release($65);
+ $66 = HEAP32[$s>>2]|0;
+ _gcry_mpi_release($66);
+ $67 = (_GNUNET_xmalloc_(4,21019,962)|0);
+ $sret = $67;
+ $68 = $sret;
+ $69 = $ubsig;
+ HEAP32[$vararg_buffer10>>2] = $69;
+ $70 = (_gcry_sexp_build($68,0,21635,$vararg_buffer10)|0);
+ $71 = (0)==($70|0);
+ if ($71) {
+ $80 = $ubsig;
+ _gcry_mpi_release($80);
+ $81 = $sret;
+ $0 = $81;
+ $82 = $0;
+ STACKTOP = sp;return ($82|0);
+ }
+ $log_line3 = 967;
+ $72 = HEAP32[262]|0;
+ $73 = ($72|0)==(-1);
+ if ($73) {
+ $74 = $log_line3;
+ $75 = (_GNUNET_get_log_call_status(1,0,21019,21609,$74)|0);
+ HEAP32[262] = $75;
+ }
+ $76 = (_GNUNET_get_log_skip()|0);
+ $77 = ($76|0)>(0);
+ if ($77) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $78 = HEAP32[262]|0;
+ $79 = ($78|0)!=(0);
+ if (!($79)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer13>>2] = 21019;
+ $vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
+ HEAP32[$vararg_ptr16>>2] = 967;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer13);
+ _GNUNET_abort_();
+ // unreachable;
+ return (0)|0;
+}
+function _GNUNET_CRYPTO_rsa_verify($hash,$sig,$public_key) {
+ $hash = $hash|0;
+ $sig = $sig|0;
+ $public_key = $public_key|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $log_line = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $hash;
+ $2 = $sig;
+ $3 = $public_key;
+ $4 = $1;
+ $5 = (_data_to_sexp($4,64)|0);
+ $data = $5;
+ $6 = $2;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $data;
+ $9 = $3;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (_gcry_pk_verify($7,$8,$10)|0);
+ $rc = $11;
+ $12 = $data;
+ _gcry_sexp_release($12);
+ $13 = $rc;
+ $14 = (0)!=($13|0);
+ if (!($14)) {
+ $0 = 1;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+ }
+ $log_line = 1002;
+ $15 = HEAP32[263]|0;
+ $16 = ($15|0)==(-1);
+ if ($16) {
+ $17 = $log_line;
+ $18 = (_GNUNET_get_log_call_status(2,21106,21019,21658,$17)|0);
+ HEAP32[263] = $18;
+ }
+ $19 = (_GNUNET_get_log_skip()|0);
+ $20 = ($19|0)>(0);
+ if ($20) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $21 = HEAP32[263]|0;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $23 = $rc;
+ $24 = (_gcry_strerror($23)|0);
+ HEAP32[$vararg_buffer>>2] = 21019;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 1001;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $24;
+ _GNUNET_log_from_nocheck(2,21106,21683,$vararg_buffer);
+ }
+ }
+ $0 = -1;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+}
+function _GNUNET_STRINGS_relative_time_to_string($delta,$do_round) {
+ $delta = $delta|0;
+ $do_round = $do_round|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dval = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $unit = 0, $vararg_buffer = 0, $vararg_ptr10 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp + 16|0;
+ $dval = sp + 8|0;
+ $2 = sp;
+ $1 = $do_round;
+ $unit = 21804;
+ $3 = $delta;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $dval;
+ $10 = $9;
+ HEAP32[$10>>2] = $5;
+ $11 = (($9) + 4)|0;
+ $12 = $11;
+ HEAP32[$12>>2] = $8;
+ $13 = (_GNUNET_TIME_relative_get_forever_()|0);
+ $14 = tempRet0;
+ $15 = $2;
+ $16 = $15;
+ HEAP32[$16>>2] = $13;
+ $17 = (($15) + 4)|0;
+ $18 = $17;
+ HEAP32[$18>>2] = $14;
+ $19 = $2;
+ $20 = $19;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (($19) + 4)|0;
+ $23 = $22;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $delta;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($25) + 4)|0;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($21|0)==($27|0);
+ $32 = ($24|0)==($30|0);
+ $33 = $31 & $32;
+ if ($33) {
+ $0 = 21749;
+ $243 = $0;
+ STACKTOP = sp;return ($243|0);
+ }
+ $34 = $delta;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (0)==($36|0);
+ $41 = (0)==($39|0);
+ $42 = $40 & $41;
+ if ($42) {
+ $0 = 21808;
+ $243 = $0;
+ STACKTOP = sp;return ($243|0);
+ }
+ $43 = $1;
+ $44 = (1)==($43|0);
+ $45 = $dval;
+ $46 = $45;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (($45) + 4)|0;
+ $49 = $48;
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50>>>0)>(0);
+ $52 = ($47>>>0)>(5000);
+ $53 = ($50|0)==(0);
+ $54 = $53 & $52;
+ $55 = $51 | $54;
+ $or$cond = $44 & $55;
+ if ($or$cond) {
+ label = 7;
+ } else {
+ $56 = $dval;
+ $57 = $56;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($56) + 4)|0;
+ $60 = $59;
+ $61 = HEAP32[$60>>2]|0;
+ $62 = (___uremdi3(($58|0),($61|0),1000,0)|0);
+ $63 = tempRet0;
+ $64 = (0)==($62|0);
+ $65 = (0)==($63|0);
+ $66 = $64 & $65;
+ if ($66) {
+ label = 7;
+ }
+ }
+ do {
+ if ((label|0) == 7) {
+ $67 = $dval;
+ $68 = $67;
+ $69 = HEAP32[$68>>2]|0;
+ $70 = (($67) + 4)|0;
+ $71 = $70;
+ $72 = HEAP32[$71>>2]|0;
+ $73 = (___udivdi3(($69|0),($72|0),1000,0)|0);
+ $74 = tempRet0;
+ $75 = $dval;
+ $76 = $75;
+ HEAP32[$76>>2] = $73;
+ $77 = (($75) + 4)|0;
+ $78 = $77;
+ HEAP32[$78>>2] = $74;
+ $unit = 21757;
+ $79 = $1;
+ $80 = (1)==($79|0);
+ $81 = $dval;
+ $82 = $81;
+ $83 = HEAP32[$82>>2]|0;
+ $84 = (($81) + 4)|0;
+ $85 = $84;
+ $86 = HEAP32[$85>>2]|0;
+ $87 = ($86>>>0)>(0);
+ $88 = ($83>>>0)>(5000);
+ $89 = ($86|0)==(0);
+ $90 = $89 & $88;
+ $91 = $87 | $90;
+ $or$cond3 = $80 & $91;
+ if (!($or$cond3)) {
+ $92 = $dval;
+ $93 = $92;
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (($92) + 4)|0;
+ $96 = $95;
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (___uremdi3(($94|0),($97|0),1000,0)|0);
+ $99 = tempRet0;
+ $100 = (0)==($98|0);
+ $101 = (0)==($99|0);
+ $102 = $100 & $101;
+ if (!($102)) {
+ break;
+ }
+ }
+ $103 = $dval;
+ $104 = $103;
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($103) + 4)|0;
+ $107 = $106;
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (___udivdi3(($105|0),($108|0),1000,0)|0);
+ $110 = tempRet0;
+ $111 = $dval;
+ $112 = $111;
+ HEAP32[$112>>2] = $109;
+ $113 = (($111) + 4)|0;
+ $114 = $113;
+ HEAP32[$114>>2] = $110;
+ $unit = 39395;
+ $115 = $1;
+ $116 = (1)==($115|0);
+ $117 = $dval;
+ $118 = $117;
+ $119 = HEAP32[$118>>2]|0;
+ $120 = (($117) + 4)|0;
+ $121 = $120;
+ $122 = HEAP32[$121>>2]|0;
+ $123 = ($122>>>0)>(0);
+ $124 = ($119>>>0)>(300);
+ $125 = ($122|0)==(0);
+ $126 = $125 & $124;
+ $127 = $123 | $126;
+ $or$cond5 = $116 & $127;
+ if (!($or$cond5)) {
+ $128 = $dval;
+ $129 = $128;
+ $130 = HEAP32[$129>>2]|0;
+ $131 = (($128) + 4)|0;
+ $132 = $131;
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (___uremdi3(($130|0),($133|0),60,0)|0);
+ $135 = tempRet0;
+ $136 = (0)==($134|0);
+ $137 = (0)==($135|0);
+ $138 = $136 & $137;
+ if (!($138)) {
+ break;
+ }
+ }
+ $139 = $dval;
+ $140 = $139;
+ $141 = HEAP32[$140>>2]|0;
+ $142 = (($139) + 4)|0;
+ $143 = $142;
+ $144 = HEAP32[$143>>2]|0;
+ $145 = (___udivdi3(($141|0),($144|0),60,0)|0);
+ $146 = tempRet0;
+ $147 = $dval;
+ $148 = $147;
+ HEAP32[$148>>2] = $145;
+ $149 = (($147) + 4)|0;
+ $150 = $149;
+ HEAP32[$150>>2] = $146;
+ $unit = 21760;
+ $151 = $1;
+ $152 = (1)==($151|0);
+ $153 = $dval;
+ $154 = $153;
+ $155 = HEAP32[$154>>2]|0;
+ $156 = (($153) + 4)|0;
+ $157 = $156;
+ $158 = HEAP32[$157>>2]|0;
+ $159 = ($158>>>0)>(0);
+ $160 = ($155>>>0)>(300);
+ $161 = ($158|0)==(0);
+ $162 = $161 & $160;
+ $163 = $159 | $162;
+ $or$cond7 = $152 & $163;
+ if (!($or$cond7)) {
+ $164 = $dval;
+ $165 = $164;
+ $166 = HEAP32[$165>>2]|0;
+ $167 = (($164) + 4)|0;
+ $168 = $167;
+ $169 = HEAP32[$168>>2]|0;
+ $170 = (___uremdi3(($166|0),($169|0),60,0)|0);
+ $171 = tempRet0;
+ $172 = (0)==($170|0);
+ $173 = (0)==($171|0);
+ $174 = $172 & $173;
+ if (!($174)) {
+ break;
+ }
+ }
+ $175 = $dval;
+ $176 = $175;
+ $177 = HEAP32[$176>>2]|0;
+ $178 = (($175) + 4)|0;
+ $179 = $178;
+ $180 = HEAP32[$179>>2]|0;
+ $181 = (___udivdi3(($177|0),($180|0),60,0)|0);
+ $182 = tempRet0;
+ $183 = $dval;
+ $184 = $183;
+ HEAP32[$184>>2] = $181;
+ $185 = (($183) + 4)|0;
+ $186 = $185;
+ HEAP32[$186>>2] = $182;
+ $unit = 35606;
+ $187 = $1;
+ $188 = (1)==($187|0);
+ $189 = $dval;
+ $190 = $189;
+ $191 = HEAP32[$190>>2]|0;
+ $192 = (($189) + 4)|0;
+ $193 = $192;
+ $194 = HEAP32[$193>>2]|0;
+ $195 = ($194>>>0)>(0);
+ $196 = ($191>>>0)>(120);
+ $197 = ($194|0)==(0);
+ $198 = $197 & $196;
+ $199 = $195 | $198;
+ $or$cond9 = $188 & $199;
+ if (!($or$cond9)) {
+ $200 = $dval;
+ $201 = $200;
+ $202 = HEAP32[$201>>2]|0;
+ $203 = (($200) + 4)|0;
+ $204 = $203;
+ $205 = HEAP32[$204>>2]|0;
+ $206 = (___uremdi3(($202|0),($205|0),24,0)|0);
+ $207 = tempRet0;
+ $208 = (0)==($206|0);
+ $209 = (0)==($207|0);
+ $210 = $208 & $209;
+ if (!($210)) {
+ break;
+ }
+ }
+ $211 = $dval;
+ $212 = $211;
+ $213 = HEAP32[$212>>2]|0;
+ $214 = (($211) + 4)|0;
+ $215 = $214;
+ $216 = HEAP32[$215>>2]|0;
+ $217 = (___udivdi3(($213|0),($216|0),24,0)|0);
+ $218 = tempRet0;
+ $219 = $dval;
+ $220 = $219;
+ HEAP32[$220>>2] = $217;
+ $221 = (($219) + 4)|0;
+ $222 = $221;
+ HEAP32[$222>>2] = $218;
+ $223 = $dval;
+ $224 = $223;
+ $225 = HEAP32[$224>>2]|0;
+ $226 = (($223) + 4)|0;
+ $227 = $226;
+ $228 = HEAP32[$227>>2]|0;
+ $229 = (1)==($225|0);
+ $230 = (0)==($228|0);
+ $231 = $229 & $230;
+ if ($231) {
+ $unit = 21762;
+ break;
+ } else {
+ $unit = 21766;
+ break;
+ }
+ }
+ } while(0);
+ $232 = $dval;
+ $233 = $232;
+ $234 = HEAP32[$233>>2]|0;
+ $235 = (($232) + 4)|0;
+ $236 = $235;
+ $237 = HEAP32[$236>>2]|0;
+ $238 = $unit;
+ $239 = $vararg_buffer;
+ $240 = $239;
+ HEAP32[$240>>2] = $234;
+ $241 = (($239) + 4)|0;
+ $242 = $241;
+ HEAP32[$242>>2] = $237;
+ $vararg_ptr10 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr10>>2] = $238;
+ (_GNUNET_snprintf(76064,128,21741,$vararg_buffer)|0);
+ $0 = 76064;
+ $243 = $0;
+ STACKTOP = sp;return ($243|0);
+}
+function _GNUNET_STRINGS_absolute_time_to_string($t) {
+ $t = $t|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tp = 0, $tt = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tt = sp + 12|0;
+ $1 = sp;
+ $2 = $t;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (_GNUNET_TIME_absolute_get_forever_()|0);
+ $9 = tempRet0;
+ $10 = $1;
+ $11 = $10;
+ HEAP32[$11>>2] = $8;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = $9;
+ $14 = $1;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($4|0)==($16|0);
+ $21 = ($7|0)==($19|0);
+ $22 = $20 & $21;
+ if ($22) {
+ $0 = 21771;
+ $35 = $0;
+ STACKTOP = sp;return ($35|0);
+ } else {
+ $23 = $t;
+ $24 = $23;
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (($23) + 4)|0;
+ $27 = $26;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (___udivdi3(($25|0),($28|0),1000,0)|0);
+ $30 = tempRet0;
+ $31 = (___udivdi3(($29|0),($30|0),1000,0)|0);
+ $32 = tempRet0;
+ HEAP32[$tt>>2] = $31;
+ $33 = (_localtime(($tt|0))|0);
+ $tp = $33;
+ $34 = $tp;
+ (_strftime((76192|0),255,(21783|0),($34|0))|0);
+ $0 = 76192;
+ $35 = $0;
+ STACKTOP = sp;return ($35|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_STRINGS_data_to_string($data,$size,$out,$out_size) {
+ $data = $data|0;
+ $size = $size|0;
+ $out = $out|0;
+ $out_size = $out_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bits = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $log_line3 = 0, $or$cond = 0, $rpos = 0, $udata = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0;
+ var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vbit = 0, $wpos = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer11 = sp + 24|0;
+ $vararg_buffer7 = sp + 16|0;
+ $vararg_buffer3 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = $data;
+ $2 = $size;
+ $3 = $out;
+ $4 = $out_size;
+ $5 = $1;
+ $udata = $5;
+ $6 = $4;
+ $7 = $2;
+ $8 = $7<<3;
+ $9 = (($8) + 4)|0;
+ $10 = (($9>>>0) / 5)&-1;
+ $11 = ($6>>>0)<($10>>>0);
+ if ($11) {
+ $log_line = 873;
+ $12 = HEAP32[264]|0;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = $log_line;
+ $15 = (_GNUNET_get_log_call_status(1,0,21731,21813,$14)|0);
+ HEAP32[264] = $15;
+ }
+ $16 = (_GNUNET_get_log_skip()|0);
+ $17 = ($16|0)>(0);
+ if ($17) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $18 = HEAP32[264]|0;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ HEAP32[$vararg_buffer>>2] = 21731;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = 873;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ }
+ }
+ $0 = 0;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+ }
+ $vbit = 0;
+ $wpos = 0;
+ $rpos = 0;
+ $bits = 0;
+ while(1) {
+ $20 = $rpos;
+ $21 = $2;
+ $22 = ($20>>>0)<($21>>>0);
+ $23 = $vbit;
+ $24 = ($23>>>0)>(0);
+ $25 = $22 ? 1 : $24;
+ if (!($25)) {
+ label = 32;
+ break;
+ }
+ $26 = $rpos;
+ $27 = $2;
+ $28 = ($26>>>0)<($27>>>0);
+ $29 = $vbit;
+ $30 = ($29>>>0)<(5);
+ $or$cond = $28 & $30;
+ if ($or$cond) {
+ $31 = $bits;
+ $32 = $31 << 8;
+ $33 = $rpos;
+ $34 = (($33) + 1)|0;
+ $rpos = $34;
+ $35 = $udata;
+ $36 = (($35) + ($33)|0);
+ $37 = HEAP8[$36>>0]|0;
+ $38 = $37&255;
+ $39 = $32 | $38;
+ $bits = $39;
+ $40 = $vbit;
+ $41 = (($40) + 8)|0;
+ $vbit = $41;
+ }
+ $42 = $vbit;
+ $43 = ($42>>>0)<(5);
+ if ($43) {
+ $44 = $vbit;
+ $45 = (5 - ($44))|0;
+ $46 = $bits;
+ $47 = $46 << $45;
+ $bits = $47;
+ $48 = $vbit;
+ $49 = $2;
+ $50 = $49<<3;
+ $51 = (($50>>>0) % 5)&-1;
+ $52 = ($48|0)==($51|0);
+ if (!($52)) {
+ label = 15;
+ break;
+ }
+ $vbit = 5;
+ }
+ $61 = $wpos;
+ $62 = $4;
+ $63 = ($61>>>0)>=($62>>>0);
+ if ($63) {
+ label = 24;
+ break;
+ }
+ $72 = $bits;
+ $73 = $vbit;
+ $74 = (($73) - 5)|0;
+ $75 = $72 >>> $74;
+ $76 = $75 & 31;
+ $77 = HEAP32[267]|0;
+ $78 = (($77) + ($76)|0);
+ $79 = HEAP8[$78>>0]|0;
+ $80 = $wpos;
+ $81 = (($80) + 1)|0;
+ $wpos = $81;
+ $82 = $3;
+ $83 = (($82) + ($80)|0);
+ HEAP8[$83>>0] = $79;
+ $84 = $vbit;
+ $85 = (($84) - 5)|0;
+ $vbit = $85;
+ }
+ if ((label|0) == 15) {
+ $log_line1 = 890;
+ $53 = HEAP32[265]|0;
+ $54 = ($53|0)==(-1);
+ if ($54) {
+ $55 = $log_line1;
+ $56 = (_GNUNET_get_log_call_status(1,0,21731,21813,$55)|0);
+ HEAP32[265] = $56;
+ }
+ $57 = (_GNUNET_get_log_skip()|0);
+ $58 = ($57|0)>(0);
+ if ($58) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $59 = HEAP32[265]|0;
+ $60 = ($59|0)!=(0);
+ if (!($60)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer3>>2] = 21731;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 890;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer3);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ else if ((label|0) == 24) {
+ $log_line2 = 895;
+ $64 = HEAP32[266]|0;
+ $65 = ($64|0)==(-1);
+ if ($65) {
+ $66 = $log_line2;
+ $67 = (_GNUNET_get_log_call_status(1,0,21731,21813,$66)|0);
+ HEAP32[266] = $67;
+ }
+ $68 = (_GNUNET_get_log_skip()|0);
+ $69 = ($68|0)>(0);
+ if ($69) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $70 = HEAP32[266]|0;
+ $71 = ($70|0)!=(0);
+ if ($71) {
+ HEAP32[$vararg_buffer7>>2] = 21731;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = 895;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer7);
+ }
+ }
+ $0 = 0;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+ }
+ else if ((label|0) == 32) {
+ $86 = $vbit;
+ $87 = (0)==($86|0);
+ if ($87) {
+ $96 = $wpos;
+ $97 = $4;
+ $98 = ($96>>>0)<($97>>>0);
+ if ($98) {
+ $99 = $wpos;
+ $100 = $3;
+ $101 = (($100) + ($99)|0);
+ HEAP8[$101>>0] = 0;
+ }
+ $102 = $wpos;
+ $103 = $3;
+ $104 = (($103) + ($102)|0);
+ $0 = $104;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+ }
+ $log_line3 = 901;
+ $88 = HEAP32[268]|0;
+ $89 = ($88|0)==(-1);
+ if ($89) {
+ $90 = $log_line3;
+ $91 = (_GNUNET_get_log_call_status(1,0,21731,21813,$90)|0);
+ HEAP32[268] = $91;
+ }
+ $92 = (_GNUNET_get_log_skip()|0);
+ $93 = ($92|0)>(0);
+ if ($93) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $94 = HEAP32[268]|0;
+ $95 = ($94|0)!=(0);
+ if (!($95)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer11>>2] = 21731;
+ $vararg_ptr14 = ((($vararg_buffer11)) + 4|0);
+ HEAP32[$vararg_ptr14>>2] = 901;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer11);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ return (0)|0;
+}
+function _GNUNET_STRINGS_data_to_string_alloc($buf,$size) {
+ $buf = $buf|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end = 0, $len = 0, $str_buf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $buf;
+ $2 = $size;
+ $3 = $2;
+ $4 = $3<<3;
+ $len = $4;
+ $5 = $len;
+ $6 = (($5>>>0) % 5)&-1;
+ $7 = ($6>>>0)>(0);
+ if ($7) {
+ $8 = $len;
+ $9 = (($8>>>0) % 5)&-1;
+ $10 = (5 - ($9))|0;
+ $11 = $len;
+ $12 = (($11) + ($10))|0;
+ $len = $12;
+ }
+ $13 = $len;
+ $14 = (($13>>>0) / 5)&-1;
+ $len = $14;
+ $15 = $len;
+ $16 = (($15) + 1)|0;
+ $17 = (_GNUNET_xmalloc_($16,21731,929)|0);
+ $str_buf = $17;
+ $18 = $1;
+ $19 = $2;
+ $20 = $str_buf;
+ $21 = $len;
+ $22 = (_GNUNET_STRINGS_data_to_string($18,$19,$20,$21)|0);
+ $end = $22;
+ $23 = $end;
+ $24 = (0|0)==($23|0);
+ if ($24) {
+ $25 = $str_buf;
+ _GNUNET_xfree_($25,21731,933);
+ $0 = 0;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ } else {
+ $26 = $end;
+ HEAP8[$26>>0] = 0;
+ $27 = $str_buf;
+ $0 = $27;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_STRINGS_string_to_data($enc,$enclen,$out,$out_size) {
+ $enc = $enc|0;
+ $enclen = $enclen|0;
+ $out = $out|0;
+ $out_size = $out_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $bits = 0, $encoded_len = 0, $log_line = 0, $or$cond = 0, $ret = 0, $rpos = 0, $shift = 0, $uout = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vbit = 0, $wpos = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $enc;
+ $2 = $enclen;
+ $3 = $out;
+ $4 = $out_size;
+ $5 = $4;
+ $6 = $5<<3;
+ $encoded_len = $6;
+ $7 = $2;
+ $8 = (0)==($7|0);
+ if ($8) {
+ $9 = $4;
+ $10 = (0)==($9|0);
+ if ($10) {
+ $0 = 1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ } else {
+ $0 = -1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ }
+ }
+ $11 = $3;
+ $uout = $11;
+ $12 = $4;
+ $wpos = $12;
+ $13 = $2;
+ $rpos = $13;
+ $14 = $encoded_len;
+ $15 = (($14>>>0) % 5)&-1;
+ $16 = ($15>>>0)>(0);
+ if ($16) {
+ $17 = $encoded_len;
+ $18 = (($17>>>0) % 5)&-1;
+ $vbit = $18;
+ $19 = $vbit;
+ $20 = (5 - ($19))|0;
+ $shift = $20;
+ $21 = $rpos;
+ $22 = (($21) + -1)|0;
+ $rpos = $22;
+ $23 = $1;
+ $24 = (($23) + ($22)|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = (_getValue__($25)|0);
+ $ret = $26;
+ $27 = $shift;
+ $28 = $26 >> $27;
+ $bits = $28;
+ } else {
+ $vbit = 5;
+ $shift = 0;
+ $29 = $rpos;
+ $30 = (($29) + -1)|0;
+ $rpos = $30;
+ $31 = $1;
+ $32 = (($31) + ($30)|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = (_getValue__($33)|0);
+ $ret = $34;
+ $bits = $34;
+ }
+ $35 = $encoded_len;
+ $36 = $shift;
+ $37 = (($35) + ($36))|0;
+ $38 = (($37>>>0) / 5)&-1;
+ $39 = $2;
+ $40 = ($38|0)!=($39|0);
+ if ($40) {
+ $0 = -1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ }
+ $41 = $ret;
+ $42 = (-1)==($41|0);
+ if ($42) {
+ $0 = -1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ }
+ while(1) {
+ $43 = $wpos;
+ $44 = ($43>>>0)>(0);
+ $45 = $rpos;
+ if (!($44)) {
+ label = 25;
+ break;
+ }
+ $46 = (0)==($45|0);
+ if ($46) {
+ label = 14;
+ break;
+ }
+ $55 = $rpos;
+ $56 = (($55) + -1)|0;
+ $rpos = $56;
+ $57 = $1;
+ $58 = (($57) + ($56)|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = (_getValue__($59)|0);
+ $ret = $60;
+ $61 = $vbit;
+ $62 = $60 << $61;
+ $63 = $bits;
+ $64 = $62 | $63;
+ $bits = $64;
+ $65 = $ret;
+ $66 = (-1)==($65|0);
+ if ($66) {
+ label = 22;
+ break;
+ }
+ $67 = $vbit;
+ $68 = (($67) + 5)|0;
+ $vbit = $68;
+ $69 = $vbit;
+ $70 = ($69>>>0)>=(8);
+ if (!($70)) {
+ continue;
+ }
+ $71 = $bits;
+ $72 = $71&255;
+ $73 = $wpos;
+ $74 = (($73) + -1)|0;
+ $wpos = $74;
+ $75 = $uout;
+ $76 = (($75) + ($74)|0);
+ HEAP8[$76>>0] = $72;
+ $77 = $bits;
+ $78 = $77 >>> 8;
+ $bits = $78;
+ $79 = $vbit;
+ $80 = (($79) - 8)|0;
+ $vbit = $80;
+ }
+ if ((label|0) == 14) {
+ $log_line = 993;
+ $47 = HEAP32[269]|0;
+ $48 = ($47|0)==(-1);
+ if ($48) {
+ $49 = $log_line;
+ $50 = (_GNUNET_get_log_call_status(1,0,21731,21876,$49)|0);
+ HEAP32[269] = $50;
+ }
+ $51 = (_GNUNET_get_log_skip()|0);
+ $52 = ($51|0)>(0);
+ if ($52) {
+ _GNUNET_log_skip(-1,0);
+ } else {
+ $53 = HEAP32[269]|0;
+ $54 = ($53|0)!=(0);
+ if ($54) {
+ HEAP32[$vararg_buffer>>2] = 21731;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = 993;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ }
+ }
+ $0 = -1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ }
+ else if ((label|0) == 22) {
+ $0 = -1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ }
+ else if ((label|0) == 25) {
+ $81 = (0)!=($45|0);
+ $82 = $vbit;
+ $83 = (0)!=($82|0);
+ $or$cond = $81 | $83;
+ if ($or$cond) {
+ $0 = -1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ } else {
+ $0 = 1;
+ $84 = $0;
+ STACKTOP = sp;return ($84|0);
+ }
+ }
+ return (0)|0;
+}
+function _getValue__($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $1;
+ $3 = $2&255;
+ switch ($3|0) {
+ case 111: case 79: {
+ $1 = 48;
+ break;
+ }
+ case 76: case 108: case 73: case 105: {
+ $1 = 49;
+ break;
+ }
+ case 85: case 117: {
+ $1 = 86;
+ break;
+ }
+ default: {
+ }
+ }
+ $4 = $1;
+ $5 = $4&255;
+ $6 = ($5|0)>=(48);
+ if ($6) {
+ $7 = $1;
+ $8 = $7&255;
+ $9 = ($8|0)<=(57);
+ if ($9) {
+ $10 = $1;
+ $11 = $10&255;
+ $12 = (($11) - 48)|0;
+ $0 = $12;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ }
+ $13 = $1;
+ $14 = $13&255;
+ $15 = ($14|0)>=(97);
+ if ($15) {
+ $16 = $1;
+ $17 = $16&255;
+ $18 = ($17|0)<=(122);
+ if ($18) {
+ $19 = $1;
+ $20 = $19&255;
+ $21 = (_toupper($20)|0);
+ $22 = $21&255;
+ $1 = $22;
+ }
+ }
+ $dec = 0;
+ $23 = $1;
+ $24 = $23&255;
+ $25 = ($24|0)>=(65);
+ if ($25) {
+ $26 = $1;
+ $27 = $26&255;
+ $28 = ($27|0)<=(90);
+ if ($28) {
+ $29 = $1;
+ $30 = $29&255;
+ $31 = (73)<($30|0);
+ if ($31) {
+ $32 = $dec;
+ $33 = (($32) + 1)|0;
+ $dec = $33;
+ }
+ $34 = $1;
+ $35 = $34&255;
+ $36 = (76)<($35|0);
+ if ($36) {
+ $37 = $dec;
+ $38 = (($37) + 1)|0;
+ $dec = $38;
+ }
+ $39 = $1;
+ $40 = $39&255;
+ $41 = (79)<($40|0);
+ if ($41) {
+ $42 = $dec;
+ $43 = (($42) + 1)|0;
+ $dec = $43;
+ }
+ $44 = $1;
+ $45 = $44&255;
+ $46 = (85)<($45|0);
+ if ($46) {
+ $47 = $dec;
+ $48 = (($47) + 1)|0;
+ $dec = $48;
+ }
+ $49 = $1;
+ $50 = $49&255;
+ $51 = (($50) - 65)|0;
+ $52 = (($51) + 10)|0;
+ $53 = $dec;
+ $54 = (($52) - ($53))|0;
+ $0 = $54;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ }
+ $0 = -1;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+}
+function _GNUNET_TIME_get_offset() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = 70552;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = (($0) + 4)|0;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ tempRet0 = ($5);
+ return ($2|0);
+}
+function _GNUNET_TIME_absolute_get() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ret = 0, $tv = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = sp + 8|0;
+ $ret = sp;
+ $tv = sp + 16|0;
+ (_gettimeofday(($tv|0),(0|0))|0);
+ $1 = HEAP32[$tv>>2]|0;
+ $2 = ($1|0)<(0);
+ $3 = $2 << 31 >> 31;
+ $4 = (___muldi3(($1|0),($3|0),1000,0)|0);
+ $5 = tempRet0;
+ $6 = (___muldi3(($4|0),($5|0),1000,0)|0);
+ $7 = tempRet0;
+ $8 = ((($tv)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)<(0);
+ $11 = $10 << 31 >> 31;
+ $12 = (_i64Add(($6|0),($7|0),($9|0),($11|0))|0);
+ $13 = tempRet0;
+ $14 = 70552;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_i64Add(($12|0),($13|0),($16|0),($19|0))|0);
+ $21 = tempRet0;
+ $22 = $ret;
+ $23 = $22;
+ HEAP32[$23>>2] = $20;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = $21;
+ ;HEAP32[$0>>2]=HEAP32[$ret>>2]|0;HEAP32[$0+4>>2]=HEAP32[$ret+4>>2]|0;
+ $26 = $0;
+ $27 = $26;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (($26) + 4)|0;
+ $30 = $29;
+ $31 = HEAP32[$30>>2]|0;
+ tempRet0 = ($31);
+ STACKTOP = sp;return ($28|0);
+}
+function _GNUNET_TIME_relative_get_zero_() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = sp;
+ ;HEAP32[$0>>2]=HEAP32[70560>>2]|0;HEAP32[$0+4>>2]=HEAP32[70560+4>>2]|0;
+ $1 = $0;
+ $2 = $1;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (($1) + 4)|0;
+ $5 = $4;
+ $6 = HEAP32[$5>>2]|0;
+ tempRet0 = ($6);
+ STACKTOP = sp;return ($3|0);
+}
+function _GNUNET_TIME_relative_get_forever_() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = sp;
+ ;HEAP32[$0>>2]=HEAP32[64>>2]|0;HEAP32[$0+4>>2]=HEAP32[64+4>>2]|0;
+ $1 = $0;
+ $2 = $1;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (($1) + 4)|0;
+ $5 = $4;
+ $6 = HEAP32[$5>>2]|0;
+ tempRet0 = ($6);
+ STACKTOP = sp;return ($3|0);
+}
+function _GNUNET_TIME_absolute_get_forever_() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = sp;
+ ;HEAP32[$0>>2]=HEAP32[72>>2]|0;HEAP32[$0+4>>2]=HEAP32[72+4>>2]|0;
+ $1 = $0;
+ $2 = $1;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (($1) + 4)|0;
+ $5 = $4;
+ $6 = HEAP32[$5>>2]|0;
+ tempRet0 = ($6);
+ STACKTOP = sp;return ($3|0);
+}
+function _GNUNET_TIME_absolute_get_duration($whence) {
+ $whence = $whence|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $now = 0, $ret = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = sp + 24|0;
+ $now = sp + 16|0;
+ $ret = sp + 8|0;
+ $1 = sp;
+ $2 = (_GNUNET_TIME_absolute_get()|0);
+ $3 = tempRet0;
+ $4 = $1;
+ $5 = $4;
+ HEAP32[$5>>2] = $2;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $3;
+ ;HEAP32[$now>>2]=HEAP32[$1>>2]|0;HEAP32[$now+4>>2]=HEAP32[$1+4>>2]|0;
+ $8 = $whence;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($8) + 4)|0;
+ $12 = $11;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $now;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($13>>>0)>($19>>>0);
+ $21 = ($10>>>0)>($16>>>0);
+ $22 = ($13|0)==($19|0);
+ $23 = $22 & $21;
+ $24 = $20 | $23;
+ if ($24) {
+ $25 = (_GNUNET_TIME_relative_get_zero_()|0);
+ $26 = tempRet0;
+ $27 = $0;
+ $28 = $27;
+ HEAP32[$28>>2] = $25;
+ $29 = (($27) + 4)|0;
+ $30 = $29;
+ HEAP32[$30>>2] = $26;
+ $49 = $0;
+ $50 = $49;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($49) + 4)|0;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ tempRet0 = ($54);
+ STACKTOP = sp;return ($51|0);
+ } else {
+ $31 = $now;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (($31) + 4)|0;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $whence;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($37) + 4)|0;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (_i64Subtract(($33|0),($36|0),($39|0),($42|0))|0);
+ $44 = tempRet0;
+ $45 = $ret;
+ $46 = $45;
+ HEAP32[$46>>2] = $43;
+ $47 = (($45) + 4)|0;
+ $48 = $47;
+ HEAP32[$48>>2] = $44;
+ ;HEAP32[$0>>2]=HEAP32[$ret>>2]|0;HEAP32[$0+4>>2]=HEAP32[$ret+4>>2]|0;
+ $49 = $0;
+ $50 = $49;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($49) + 4)|0;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ tempRet0 = ($54);
+ STACKTOP = sp;return ($51|0);
+ }
+ return (0)|0;
+}
+function _GNUNET_TIME_absolute_hton($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ret = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = sp + 8|0;
+ $ret = sp;
+ $1 = $a;
+ $2 = $1;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (($1) + 4)|0;
+ $5 = $4;
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (_GNUNET_htonll($3,$6)|0);
+ $8 = tempRet0;
+ $9 = $ret;
+ $10 = $9;
+ HEAP8[$10>>0]=$7&255;HEAP8[$10+1>>0]=($7>>8)&255;HEAP8[$10+2>>0]=($7>>16)&255;HEAP8[$10+3>>0]=$7>>24;
+ $11 = (($9) + 4)|0;
+ $12 = $11;
+ HEAP8[$12>>0]=$8&255;HEAP8[$12+1>>0]=($8>>8)&255;HEAP8[$12+2>>0]=($8>>16)&255;HEAP8[$12+3>>0]=$8>>24;
+ ;HEAP8[$0>>0]=HEAP8[$ret>>0]|0;HEAP8[$0+1>>0]=HEAP8[$ret+1>>0]|0;HEAP8[$0+2>>0]=HEAP8[$ret+2>>0]|0;HEAP8[$0+3>>0]=HEAP8[$ret+3>>0]|0;HEAP8[$0+4>>0]=HEAP8[$ret+4>>0]|0;HEAP8[$0+5>>0]=HEAP8[$ret+5>>0]|0;HEAP8[$0+6>>0]=HEAP8[$ret+6>>0]|0;HEAP8[$0+7>>0]=HEAP8[$ret+7>>0]|0;
+ $13 = $0;
+ $14 = $13;
+ $15 = HEAPU8[$14>>0]|(HEAPU8[$14+1>>0]<<8)|(HEAPU8[$14+2>>0]<<16)|(HEAPU8[$14+3>>0]<<24);
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8)|(HEAPU8[$17+2>>0]<<16)|(HEAPU8[$17+3>>0]<<24);
+ tempRet0 = ($18);
+ STACKTOP = sp;return ($15|0);
+}
+function _gcry_strerror($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (__gcry_strerror($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_strerror($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (_gpg_strerror($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function _gpg_error($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_check_version($req_version) {
+ $req_version = $req_version|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $req_version;
+ $1 = $0;
+ $2 = (__gcry_check_version($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_control($cmd,$varargs) {
+ $cmd = $cmd|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $arg_ptr = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $cmd;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $1 = $0;
+ $2 = (__gcry_vcontrol($1,$arg_ptr)|0);
+ $3 = (_gpg_error($2)|0);
+ $err = $3;
+ $4 = $err;
+ STACKTOP = sp;return ($4|0);
+}
+function _gcry_sexp_new($retsexp,$buffer,$length,$autodetect) {
+ $retsexp = $retsexp|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $autodetect = $autodetect|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $retsexp;
+ $1 = $buffer;
+ $2 = $length;
+ $3 = $autodetect;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (__gcry_sexp_new($4,$5,$6,$7)|0);
+ $9 = (_gpg_error($8)|0);
+ STACKTOP = sp;return ($9|0);
+}
+function _gcry_sexp_build($retsexp,$erroff,$format,$varargs) {
+ $retsexp = $retsexp|0;
+ $erroff = $erroff|0;
+ $format = $format|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $arg_ptr = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $retsexp;
+ $1 = $erroff;
+ $2 = $format;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_sexp_vbuild($3,$4,$5,$arg_ptr)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = (_gpg_error($7)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function _gcry_sexp_release($sexp) {
+ $sexp = $sexp|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $sexp;
+ $1 = $0;
+ __gcry_sexp_release($1);
+ STACKTOP = sp;return;
+}
+function _gcry_sexp_sprint($sexp,$mode,$buffer,$maxlength) {
+ $sexp = $sexp|0;
+ $mode = $mode|0;
+ $buffer = $buffer|0;
+ $maxlength = $maxlength|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $sexp;
+ $1 = $mode;
+ $2 = $buffer;
+ $3 = $maxlength;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (__gcry_sexp_sprint($4,$5,$6,$7)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function _gcry_sexp_find_token($list,$tok,$toklen) {
+ $list = $list|0;
+ $tok = $tok|0;
+ $toklen = $toklen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $list;
+ $1 = $tok;
+ $2 = $toklen;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_sexp_find_token($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _gcry_sexp_cadr($list) {
+ $list = $list|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $list;
+ $1 = $0;
+ $2 = (__gcry_sexp_cadr($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_sexp_nth_mpi($list,$number,$mpifmt) {
+ $list = $list|0;
+ $number = $number|0;
+ $mpifmt = $mpifmt|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $list;
+ $1 = $number;
+ $2 = $mpifmt;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_sexp_nth_mpi($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _gcry_mpi_new($nbits) {
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = $0;
+ $2 = (__gcry_mpi_new($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_mpi_release($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ __gcry_mpi_release($1);
+ STACKTOP = sp;return;
+}
+function _gcry_mpi_scan($ret_mpi,$format,$buffer,$buflen,$nscanned) {
+ $ret_mpi = $ret_mpi|0;
+ $format = $format|0;
+ $buffer = $buffer|0;
+ $buflen = $buflen|0;
+ $nscanned = $nscanned|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ret_mpi;
+ $1 = $format;
+ $2 = $buffer;
+ $3 = $buflen;
+ $4 = $nscanned;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = (__gcry_mpi_scan($5,$6,$7,$8,$9)|0);
+ $11 = (_gpg_error($10)|0);
+ STACKTOP = sp;return ($11|0);
+}
+function _gcry_mpi_print($format,$buffer,$buflen,$nwritten,$a) {
+ $format = $format|0;
+ $buffer = $buffer|0;
+ $buflen = $buflen|0;
+ $nwritten = $nwritten|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $format;
+ $1 = $buffer;
+ $2 = $buflen;
+ $3 = $nwritten;
+ $4 = $a;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = (__gcry_mpi_print($5,$6,$7,$8,$9)|0);
+ $11 = (_gpg_error($10)|0);
+ STACKTOP = sp;return ($11|0);
+}
+function _gcry_mpi_mulm($w,$u,$v,$m) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $m;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ __gcry_mpi_mulm($4,$5,$6,$7);
+ STACKTOP = sp;return;
+}
+function _gcry_mpi_powm($w,$b,$e,$m) {
+ $w = $w|0;
+ $b = $b|0;
+ $e = $e|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $b;
+ $2 = $e;
+ $3 = $m;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ __gcry_mpi_powm($4,$5,$6,$7);
+ STACKTOP = sp;return;
+}
+function _gcry_mpi_invm($x,$a,$m) {
+ $x = $x|0;
+ $a = $a|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $a;
+ $2 = $m;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_mpi_invm($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _gcry_mpi_point_new($nbits) {
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = $0;
+ $2 = (__gcry_mpi_point_new($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_mpi_point_release($point) {
+ $point = $point|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $point;
+ $1 = $0;
+ __gcry_mpi_point_release($1);
+ STACKTOP = sp;return;
+}
+function _gcry_mpi_ec_new($r_ctx,$keyparam,$curvename) {
+ $r_ctx = $r_ctx|0;
+ $keyparam = $keyparam|0;
+ $curvename = $curvename|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $r_ctx;
+ $1 = $keyparam;
+ $2 = $curvename;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_mpi_ec_new($3,$4,$5)|0);
+ $7 = (_gpg_error($6)|0);
+ STACKTOP = sp;return ($7|0);
+}
+function _gcry_mpi_ec_get_mpi($name,$ctx,$copy) {
+ $name = $name|0;
+ $ctx = $ctx|0;
+ $copy = $copy|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $name;
+ $1 = $ctx;
+ $2 = $copy;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_mpi_ec_get_mpi($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _gcry_mpi_ec_get_point($name,$ctx,$copy) {
+ $name = $name|0;
+ $ctx = $ctx|0;
+ $copy = $copy|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $name;
+ $1 = $ctx;
+ $2 = $copy;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_mpi_ec_get_point($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _gcry_mpi_ec_get_affine($x,$y,$point,$ctx) {
+ $x = $x|0;
+ $y = $y|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $y;
+ $2 = $point;
+ $3 = $ctx;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (__gcry_ctx_get_pointer($7,1)|0);
+ $9 = (__gcry_mpi_ec_get_affine($4,$5,$6,$8)|0);
+ STACKTOP = sp;return ($9|0);
+}
+function _gcry_mpi_ec_mul($w,$n,$u,$ctx) {
+ $w = $w|0;
+ $n = $n|0;
+ $u = $u|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $n;
+ $2 = $u;
+ $3 = $ctx;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (__gcry_ctx_get_pointer($7,1)|0);
+ __gcry_mpi_ec_mul_point($4,$5,$6,$8);
+ STACKTOP = sp;return;
+}
+function _gcry_mpi_get_opaque($a,$nbits) {
+ $a = $a|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $nbits;
+ $2 = $0;
+ $3 = $1;
+ $4 = (__gcry_mpi_get_opaque($2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _gcry_mpi_get_flag($a,$flag) {
+ $a = $a|0;
+ $flag = $flag|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $flag;
+ $2 = $0;
+ $3 = $1;
+ $4 = (__gcry_mpi_get_flag($2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _gcry_cipher_open($handle,$algo,$mode,$flags) {
+ $handle = $handle|0;
+ $algo = $algo|0;
+ $mode = $mode|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $handle;
+ $2 = $algo;
+ $3 = $mode;
+ $4 = $flags;
+ $5 = (__gcry_global_is_operational()|0);
+ $6 = ($5|0)!=(0);
+ $7 = $1;
+ if ($6) {
+ $9 = $2;
+ $10 = $3;
+ $11 = $4;
+ $12 = (__gcry_cipher_open($7,$9,$10,$11)|0);
+ $13 = (_gpg_error($12)|0);
+ $0 = $13;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ } else {
+ HEAP32[$7>>2] = 0;
+ $8 = (_gpg_error(176)|0);
+ $0 = $8;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ }
+ return (0)|0;
+}
+function _gcry_cipher_close($h) {
+ $h = $h|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $h;
+ $1 = $0;
+ __gcry_cipher_close($1);
+ STACKTOP = sp;return;
+}
+function _gcry_cipher_setkey($hd,$key,$keylen) {
+ $hd = $hd|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $hd;
+ $2 = $key;
+ $3 = $keylen;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = (__gcry_cipher_setkey($7,$8,$9)|0);
+ $11 = (_gcry_error($10)|0);
+ $0 = $11;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ $6 = (_gpg_error(176)|0);
+ $0 = $6;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _gcry_error($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gcry_err_make(32,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_err_make($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $0;
+ $3 = $1;
+ $4 = (_gpg_err_make($2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _gcry_cipher_setiv($hd,$iv,$ivlen) {
+ $hd = $hd|0;
+ $iv = $iv|0;
+ $ivlen = $ivlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $hd;
+ $2 = $iv;
+ $3 = $ivlen;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = (__gcry_cipher_setiv($7,$8,$9)|0);
+ $11 = (_gcry_error($10)|0);
+ $0 = $11;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ $6 = (_gpg_error(176)|0);
+ $0 = $6;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _gcry_cipher_encrypt($h,$out,$outsize,$in,$inlen) {
+ $h = $h|0;
+ $out = $out|0;
+ $outsize = $outsize|0;
+ $in = $in|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $h;
+ $2 = $out;
+ $3 = $outsize;
+ $4 = $in;
+ $5 = $inlen;
+ $6 = (__gcry_global_is_operational()|0);
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $13 = $1;
+ $14 = $2;
+ $15 = $3;
+ $16 = $4;
+ $17 = $5;
+ $18 = (__gcry_cipher_encrypt($13,$14,$15,$16,$17)|0);
+ $19 = (_gpg_error($18)|0);
+ $0 = $19;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ }
+ $8 = $2;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $2;
+ $11 = $3;
+ _memset(($10|0),66,($11|0))|0;
+ }
+ $12 = (_gpg_error(176)|0);
+ $0 = $12;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+}
+function _gcry_cipher_decrypt($h,$out,$outsize,$in,$inlen) {
+ $h = $h|0;
+ $out = $out|0;
+ $outsize = $outsize|0;
+ $in = $in|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $h;
+ $2 = $out;
+ $3 = $outsize;
+ $4 = $in;
+ $5 = $inlen;
+ $6 = (__gcry_global_is_operational()|0);
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $9 = $1;
+ $10 = $2;
+ $11 = $3;
+ $12 = $4;
+ $13 = $5;
+ $14 = (__gcry_cipher_decrypt($9,$10,$11,$12,$13)|0);
+ $15 = (_gpg_error($14)|0);
+ $0 = $15;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+ } else {
+ $8 = (_gpg_error(176)|0);
+ $0 = $8;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+ }
+ return (0)|0;
+}
+function _gcry_pk_sign($result,$data,$skey) {
+ $result = $result|0;
+ $data = $data|0;
+ $skey = $skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $result;
+ $2 = $data;
+ $3 = $skey;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ $6 = $1;
+ if ($5) {
+ $8 = $2;
+ $9 = $3;
+ $10 = (__gcry_pk_sign($6,$8,$9)|0);
+ $11 = (_gpg_error($10)|0);
+ $0 = $11;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ HEAP32[$6>>2] = 0;
+ $7 = (_gpg_error(176)|0);
+ $0 = $7;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _gcry_pk_verify($sigval,$data,$pkey) {
+ $sigval = $sigval|0;
+ $data = $data|0;
+ $pkey = $pkey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $sigval;
+ $2 = $data;
+ $3 = $pkey;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = (__gcry_pk_verify($7,$8,$9)|0);
+ $11 = (_gpg_error($10)|0);
+ $0 = $11;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ $6 = (_gpg_error(176)|0);
+ $0 = $6;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _gcry_pk_testkey($key) {
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $key;
+ $2 = (__gcry_global_is_operational()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $5 = $1;
+ $6 = (__gcry_pk_testkey($5)|0);
+ $7 = (_gpg_error($6)|0);
+ $0 = $7;
+ $8 = $0;
+ STACKTOP = sp;return ($8|0);
+ } else {
+ $4 = (_gpg_error(176)|0);
+ $0 = $4;
+ $8 = $0;
+ STACKTOP = sp;return ($8|0);
+ }
+ return (0)|0;
+}
+function _gcry_pk_genkey($r_key,$s_parms) {
+ $r_key = $r_key|0;
+ $s_parms = $s_parms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $r_key;
+ $2 = $s_parms;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)!=(0);
+ $5 = $1;
+ if ($4) {
+ $7 = $2;
+ $8 = (__gcry_pk_genkey($5,$7)|0);
+ $9 = (_gpg_error($8)|0);
+ $0 = $9;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ } else {
+ HEAP32[$5>>2] = 0;
+ $6 = (_gpg_error(176)|0);
+ $0 = $6;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ }
+ return (0)|0;
+}
+function _gcry_md_open($h,$algo,$flags) {
+ $h = $h|0;
+ $algo = $algo|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $h;
+ $2 = $algo;
+ $3 = $flags;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ $6 = $1;
+ if ($5) {
+ $8 = $2;
+ $9 = $3;
+ $10 = (__gcry_md_open($6,$8,$9)|0);
+ $11 = (_gpg_error($10)|0);
+ $0 = $11;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ HEAP32[$6>>2] = 0;
+ $7 = (_gpg_error(176)|0);
+ $0 = $7;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _gcry_md_close($hd) {
+ $hd = $hd|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $0;
+ __gcry_md_close($1);
+ STACKTOP = sp;return;
+}
+function _gcry_md_reset($hd) {
+ $hd = $hd|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $0;
+ __gcry_md_reset($1);
+ STACKTOP = sp;return;
+}
+function _gcry_md_write($hd,$buffer,$length) {
+ $hd = $hd|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $buffer;
+ $2 = $length;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ STACKTOP = sp;return;
+ }
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ __gcry_md_write($5,$6,$7);
+ STACKTOP = sp;return;
+}
+function _gcry_md_read($hd,$algo) {
+ $hd = $hd|0;
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $algo;
+ $2 = $0;
+ $3 = $1;
+ $4 = (__gcry_md_read($2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _gcry_md_hash_buffer($algo,$digest,$buffer,$length) {
+ $algo = $algo|0;
+ $digest = $digest|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $digest;
+ $2 = $buffer;
+ $3 = $length;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ __gcry_fips_signal_error(21906,1175,21919,0,21939);
+ }
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ __gcry_md_hash_buffer($6,$7,$8,$9);
+ STACKTOP = sp;return;
+}
+function _gcry_md_get_algo($hd) {
+ $hd = $hd|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $hd;
+ $2 = (__gcry_global_is_operational()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = $1;
+ $5 = (__gcry_md_get_algo($4)|0);
+ $0 = $5;
+ $6 = $0;
+ STACKTOP = sp;return ($6|0);
+ } else {
+ __gcry_fips_signal_error(21906,1198,21971,0,21988);
+ $0 = 0;
+ $6 = $0;
+ STACKTOP = sp;return ($6|0);
+ }
+ return (0)|0;
+}
+function _gcry_md_get_algo_dlen($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $0;
+ $2 = (__gcry_md_get_algo_dlen($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_md_setkey($hd,$key,$keylen) {
+ $hd = $hd|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $hd;
+ $2 = $key;
+ $3 = $keylen;
+ $4 = (__gcry_global_is_operational()|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = (__gcry_md_setkey($7,$8,$9)|0);
+ $11 = (_gpg_error($10)|0);
+ $0 = $11;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ $6 = (_gpg_error(176)|0);
+ $0 = $6;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _gcry_randomize($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ $3 = (__gcry_global_is_operational()|0);
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ __gcry_fips_signal_error(21906,1287,22018,1,21939);
+ __gcry_fips_noreturn();
+ }
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ __gcry_randomize($5,$6,$7);
+ STACKTOP = sp;return;
+}
+function _gcry_mpi_randomize($w,$nbits,$level) {
+ $w = $w|0;
+ $nbits = $nbits|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $nbits;
+ $2 = $level;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ __gcry_mpi_randomize($3,$4,$5);
+ STACKTOP = sp;return;
+}
+function _gcry_create_nonce($buffer,$length) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = (__gcry_global_is_operational()|0);
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ __gcry_fips_signal_error(21906,1340,22033,1,21939);
+ __gcry_fips_noreturn();
+ }
+ $4 = $0;
+ $5 = $1;
+ __gcry_create_nonce($4,$5);
+ STACKTOP = sp;return;
+}
+function _gcry_ctx_release($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ __gcry_ctx_release($1);
+ STACKTOP = sp;return;
+}
+function _gcry_set_progress_handler($cb,$cb_data) {
+ $cb = $cb|0;
+ $cb_data = $cb_data|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $cb;
+ $1 = $cb_data;
+ $2 = $0;
+ $3 = $1;
+ __gcry_set_progress_handler($2,$3);
+ STACKTOP = sp;return;
+}
+function _gcry_free($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ __gcry_free($1);
+ STACKTOP = sp;return;
+}
+function __gcry_gettext($key) {
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $key;
+ $2 = HEAP32[17661]|0;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = HEAP32[17661]|0;
+ $5 = $1;
+ $6 = (FUNCTION_TABLE_ii[$4 & 63]($5)|0);
+ $0 = $6;
+ $8 = $0;
+ STACKTOP = sp;return ($8|0);
+ } else {
+ $7 = $1;
+ $0 = $7;
+ $8 = $0;
+ STACKTOP = sp;return ($8|0);
+ }
+ return (0)|0;
+}
+function __gcry_fatal_error($rc,$text) {
+ $rc = $rc|0;
+ $text = $text|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rc;
+ $1 = $text;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ $4 = $0;
+ $5 = (_gpg_strerror($4)|0);
+ $1 = $5;
+ }
+ $6 = HEAP32[17663]|0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = (__gcry_fips_mode()|0);
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $10 = HEAP32[17663]|0;
+ $11 = HEAP32[17662]|0;
+ $12 = $0;
+ $13 = $1;
+ FUNCTION_TABLE_viii[$10 & 127]($11,$12,$13);
+ }
+ }
+ $14 = $1;
+ __gcry_fips_signal_error(22051,86,22058,1,$14);
+ _write2stderr(22076);
+ $15 = $1;
+ _write2stderr($15);
+ _write2stderr(22507);
+ __gcry_secmem_term();
+ _abort();
+ // unreachable;
+}
+function _write2stderr($s) {
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $res = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $s;
+ $1 = $0;
+ $2 = $0;
+ $3 = (_strlen($2)|0);
+ $4 = (_write(2,$1,$3)|0);
+ $res = $4;
+ STACKTOP = sp;return;
+}
+function __gcry_set_log_verbosity($level) {
+ $level = $level|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $level;
+ $1 = $0;
+ HEAP32[17666] = $1;
+ STACKTOP = sp;return;
+}
+function __gcry_log_verbosity($level) {
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $level;
+ $1 = HEAP32[17666]|0;
+ $2 = $0;
+ $3 = ($1|0)>=($2|0);
+ $4 = $3&1;
+ STACKTOP = sp;return ($4|0);
+}
+function __gcry_logv($level,$fmt,$arg_ptr) {
+ $level = $level|0;
+ $fmt = $fmt|0;
+ $arg_ptr = $arg_ptr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $level;
+ $1 = $fmt;
+ $2 = $arg_ptr;
+ $3 = HEAP32[17664]|0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = HEAP32[17664]|0;
+ $6 = HEAP32[17665]|0;
+ $7 = $0;
+ $8 = $1;
+ $9 = $2;
+ FUNCTION_TABLE_viiii[$5 & 63]($6,$7,$8,$9);
+ } else {
+ $10 = $0;
+ switch ($10|0) {
+ case 30: case 20: case 10: case 0: {
+ break;
+ }
+ case 40: {
+ $11 = HEAP32[3963]|0;
+ (_fputs(22091,$11)|0);
+ break;
+ }
+ case 50: {
+ $12 = HEAP32[3963]|0;
+ (_fputs(22099,$12)|0);
+ break;
+ }
+ case 100: {
+ $13 = HEAP32[3963]|0;
+ (_fputs(22113,$13)|0);
+ break;
+ }
+ default: {
+ $14 = HEAP32[3963]|0;
+ $15 = $0;
+ HEAP32[$vararg_buffer>>2] = $15;
+ (_fprintf($14,22119,$vararg_buffer)|0);
+ }
+ }
+ $16 = HEAP32[3963]|0;
+ $17 = $1;
+ $18 = $2;
+ (_vfprintf($16,$17,$18)|0);
+ }
+ $19 = $0;
+ $20 = ($19|0)==(40);
+ $21 = $0;
+ $22 = ($21|0)==(50);
+ $or$cond = $20 | $22;
+ if ($or$cond) {
+ __gcry_fips_signal_error(22051,140,22144,1,22155);
+ __gcry_secmem_term();
+ _abort();
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_log($level,$fmt,$varargs) {
+ $level = $level|0;
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $level;
+ $1 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $2 = $0;
+ $3 = $1;
+ __gcry_logv($2,$3,$arg_ptr);
+ STACKTOP = sp;return;
+}
+function __gcry_bug($file,$line,$func) {
+ $file = $file|0;
+ $line = $line|0;
+ $func = $func|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $file;
+ $1 = $line;
+ $2 = $func;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ HEAP32[$vararg_buffer>>2] = $3;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $4;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $5;
+ __gcry_log(50,22185,$vararg_buffer);
+ _abort();
+ // unreachable;
+}
+function __gcry_assert_failed($expr,$file,$line,$func) {
+ $expr = $expr|0;
+ $file = $file|0;
+ $line = $line|0;
+ $func = $func|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $expr;
+ $1 = $file;
+ $2 = $line;
+ $3 = $func;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ HEAP32[$vararg_buffer>>2] = $4;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $5;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $6;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $7;
+ __gcry_log(50,22215,$vararg_buffer);
+ _abort();
+ // unreachable;
+}
+function __gcry_log_info($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $1 = $0;
+ __gcry_logv(10,$1,$arg_ptr);
+ STACKTOP = sp;return;
+}
+function __gcry_log_info_with_dummy_fp($fp,$fmt,$varargs) {
+ $fp = $fp|0;
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fp;
+ $1 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $2 = $1;
+ __gcry_logv(10,$2,$arg_ptr);
+ STACKTOP = sp;return 0;
+}
+function __gcry_log_error($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $1 = $0;
+ __gcry_logv(30,$1,$arg_ptr);
+ STACKTOP = sp;return;
+}
+function __gcry_log_fatal($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $1 = $0;
+ __gcry_logv(40,$1,$arg_ptr);
+ _abort();
+ // unreachable;
+}
+function __gcry_log_bug($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $1 = $0;
+ __gcry_logv(50,$1,$arg_ptr);
+ _abort();
+ // unreachable;
+}
+function __gcry_log_debug($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fmt;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $1 = $0;
+ __gcry_logv(100,$1,$arg_ptr);
+ STACKTOP = sp;return;
+}
+function __gcry_log_printf($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $arg_ptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $fmt;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $3 = $0;
+ __gcry_logv(0,$3,$arg_ptr);
+ STACKTOP = sp;return;
+}
+function __gcry_log_printhex($text,$buffer,$length) {
+ $text = $text|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $text;
+ $1 = $buffer;
+ $2 = $length;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ _do_printhex($3,22249,$4,$5);
+ STACKTOP = sp;return;
+}
+function _do_printhex($text,$text2,$buffer,$length) {
+ $text = $text|0;
+ $text2 = $text2|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0, $vararg_buffer24 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0;
+ var $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr23 = 0, $vararg_ptr6 = 0, $wrap = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer24 = sp + 56|0;
+ $vararg_buffer18 = sp + 40|0;
+ $vararg_buffer16 = sp + 32|0;
+ $vararg_buffer13 = sp + 24|0;
+ $vararg_buffer9 = sp + 16|0;
+ $vararg_buffer7 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $text;
+ $1 = $text2;
+ $2 = $buffer;
+ $3 = $length;
+ $wrap = 0;
+ $cnt = 0;
+ $4 = $0;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $0;
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 << 24 >> 24;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $wrap = 1;
+ $10 = $0;
+ $11 = $1;
+ HEAP32[$vararg_buffer>>2] = $10;
+ $vararg_ptr6 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $11;
+ __gcry_log_debug(22251,$vararg_buffer);
+ $12 = $1;
+ $13 = ((($12)) + 1|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14 << 24 >> 24;
+ $16 = ($15|0)==(91);
+ $17 = $3;
+ $18 = ($17|0)!=(0);
+ $or$cond = $16 & $18;
+ $19 = $2;
+ $20 = ($19|0)!=(0|0);
+ $or$cond3 = $or$cond & $20;
+ if ($or$cond3) {
+ __gcry_log_printf(22507,$vararg_buffer7);
+ $1 = 22249;
+ $21 = $0;
+ $22 = (_strlen($21)|0);
+ HEAP32[$vararg_buffer9>>2] = $22;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = 76543;
+ __gcry_log_debug(22257,$vararg_buffer9);
+ }
+ }
+ }
+ $23 = $3;
+ $24 = ($23|0)!=(0);
+ L6: do {
+ if ($24) {
+ $25 = $2;
+ $p = $25;
+ while(1) {
+ $26 = $3;
+ $27 = (($26) + -1)|0;
+ $3 = $27;
+ $28 = ($26|0)!=(0);
+ if (!($28)) {
+ break L6;
+ }
+ $29 = $p;
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ HEAP32[$vararg_buffer13>>2] = $31;
+ __gcry_log_printf(22263,$vararg_buffer13);
+ $32 = $wrap;
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $34 = $cnt;
+ $35 = (($34) + 1)|0;
+ $cnt = $35;
+ $36 = ($35|0)==(32);
+ $37 = $3;
+ $38 = ($37|0)!=(0);
+ $or$cond5 = $36 & $38;
+ if ($or$cond5) {
+ $cnt = 0;
+ __gcry_log_printf(22268,$vararg_buffer16);
+ $39 = $0;
+ $40 = (_strlen($39)|0);
+ $41 = $1;
+ $42 = (_strlen($41)|0);
+ HEAP32[$vararg_buffer18>>2] = $40;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = 76543;
+ $vararg_ptr22 = ((($vararg_buffer18)) + 8|0);
+ HEAP32[$vararg_ptr22>>2] = $42;
+ $vararg_ptr23 = ((($vararg_buffer18)) + 12|0);
+ HEAP32[$vararg_ptr23>>2] = 76543;
+ __gcry_log_debug(22272,$vararg_buffer18);
+ }
+ }
+ $43 = $p;
+ $44 = ((($43)) + 1|0);
+ $p = $44;
+ }
+ }
+ } while(0);
+ $45 = $0;
+ $46 = ($45|0)!=(0|0);
+ if (!($46)) {
+ STACKTOP = sp;return;
+ }
+ __gcry_log_printf(22507,$vararg_buffer24);
+ STACKTOP = sp;return;
+}
+function __gcry_log_printmpi($text,$mpi) {
+ $text = $text|0;
+ $mpi = $mpi|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $nbits = 0, $p = 0, $prefix = 0, $rawmpi = 0, $rawmpilen = 0, $sign = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $rawmpilen = sp + 16|0;
+ $sign = sp + 12|0;
+ $nbits = sp + 8|0;
+ $prefix = sp + 32|0;
+ $0 = $text;
+ $1 = $mpi;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ $4 = $0;
+ $5 = ($4|0)!=(0|0);
+ $6 = $0;
+ $7 = $5 ? $6 : 22249;
+ _do_printhex($7,22280,0,0);
+ STACKTOP = sp;return;
+ }
+ $8 = $1;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $1;
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12 & 4;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = $1;
+ $16 = (__gcry_mpi_get_opaque($15,$nbits)|0);
+ $p = $16;
+ $17 = HEAP32[$nbits>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $17;
+ (_snprintf($prefix,30,22288,$vararg_buffer)|0);
+ $18 = $0;
+ $19 = ($18|0)!=(0|0);
+ $20 = $0;
+ $21 = $19 ? $20 : 22249;
+ $22 = $p;
+ $23 = HEAP32[$nbits>>2]|0;
+ $24 = (($23) + 7)|0;
+ $25 = (($24>>>0) / 8)&-1;
+ _do_printhex($21,$prefix,$22,$25);
+ STACKTOP = sp;return;
+ }
+ }
+ $26 = $1;
+ $27 = (__gcry_mpi_get_buffer($26,0,$rawmpilen,$sign)|0);
+ $rawmpi = $27;
+ $28 = $rawmpi;
+ $29 = ($28|0)!=(0|0);
+ if (!($29)) {
+ $30 = $0;
+ $31 = ($30|0)!=(0|0);
+ $32 = $0;
+ $33 = $31 ? $32 : 22249;
+ _do_printhex($33,22298,0,0);
+ STACKTOP = sp;return;
+ }
+ $34 = HEAP32[$rawmpilen>>2]|0;
+ $35 = ($34|0)!=(0);
+ $36 = $0;
+ $37 = HEAP32[$sign>>2]|0;
+ $38 = ($37|0)!=(0);
+ $39 = $38 ? 22313 : 22315;
+ if ($35) {
+ $40 = $rawmpi;
+ $41 = HEAP32[$rawmpilen>>2]|0;
+ _do_printhex($36,$39,$40,$41);
+ } else {
+ _do_printhex($36,$39,76543,1);
+ }
+ $42 = $rawmpi;
+ __gcry_free($42);
+ STACKTOP = sp;return;
+}
+function ___gcry_burn_stack($bytes) {
+ $bytes = $bytes|0;
+ var $$alloca_mul = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $buflen = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp;
+ $0 = $bytes;
+ $2 = $0;
+ $3 = ($2|0)!=(0);
+ $4 = $3 ^ 1;
+ $5 = $4&1;
+ $6 = $0;
+ $7 = (($5) + ($6))|0;
+ $8 = (($7) + 63)|0;
+ $9 = $8 & -64;
+ $buflen = $9;
+ $10 = $buflen;
+ $11 = (_llvm_stacksave()|0);
+ $1 = $11;
+ $$alloca_mul = $10;
+ $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();;
+ $_vptr = $12;
+ $_vlen = $10;
+ $_vset = 0;
+ $13 = $_vset;
+ $14 = $13&255;
+ $15 = $_vset_long;
+ $16 = $15;
+ HEAP32[$16>>2] = $14;
+ $17 = (($15) + 4)|0;
+ $18 = $17;
+ HEAP32[$18>>2] = 0;
+ while(1) {
+ $19 = $_vptr;
+ $20 = $19;
+ $21 = $20 & 7;
+ $22 = ($21|0)!=(0);
+ $23 = $_vlen;
+ $24 = ($23|0)!=(0);
+ $25 = $22 ? $24 : 0;
+ if (!($25)) {
+ break;
+ }
+ $26 = $_vset;
+ $27 = $_vptr;
+ HEAP8[$27>>0] = $26;
+ $28 = $_vptr;
+ $29 = ((($28)) + 1|0);
+ $_vptr = $29;
+ $30 = $_vlen;
+ $31 = (($30) + -1)|0;
+ $_vlen = $31;
+ }
+ $32 = $_vlen;
+ $33 = ($32>>>0)<(8);
+ if (!($33)) {
+ $34 = $_vset_long;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (___muldi3(($36|0),($39|0),16843009,16843009)|0);
+ $41 = tempRet0;
+ $42 = $_vset_long;
+ $43 = $42;
+ HEAP32[$43>>2] = $40;
+ $44 = (($42) + 4)|0;
+ $45 = $44;
+ HEAP32[$45>>2] = $41;
+ while(1) {
+ $46 = $_vptr;
+ $_vptr_long = $46;
+ $47 = $_vset_long;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (($47) + 4)|0;
+ $51 = $50;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $_vptr_long;
+ $54 = $53;
+ $55 = $54;
+ HEAP32[$55>>2] = $49;
+ $56 = (($54) + 4)|0;
+ $57 = $56;
+ HEAP32[$57>>2] = $52;
+ $58 = $_vlen;
+ $59 = (($58) - 8)|0;
+ $_vlen = $59;
+ $60 = $_vptr;
+ $61 = ((($60)) + 8|0);
+ $_vptr = $61;
+ $62 = $_vlen;
+ $63 = ($62>>>0)>=(8);
+ if (!($63)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $64 = $_vlen;
+ $65 = ($64|0)!=(0);
+ if (!($65)) {
+ break;
+ }
+ $66 = $_vset;
+ $67 = $_vptr;
+ HEAP8[$67>>0] = $66;
+ $68 = $_vptr;
+ $69 = ((($68)) + 1|0);
+ $_vptr = $69;
+ $70 = $_vlen;
+ $71 = (($70) + -1)|0;
+ $_vlen = $71;
+ }
+ $72 = $1;
+ _llvm_stackrestore(($72|0));
+ STACKTOP = sp;return;
+}
+function ___gcry_burn_stack_dummy() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function __gcry_divide_by_zero() {
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _gpg_err_set_errno(33);
+ $0 = (___errno_location()|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = (_gpg_err_code_from_errno($1)|0);
+ __gcry_fatal_error($2,22317);
+ // unreachable;
+}
+function __gcry_global_is_operational() {
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17667]|0;
+ $1 = ($0|0)!=(0);
+ if (!($1)) {
+ _global_init();
+ }
+ $2 = (__gcry_fips_is_operational()|0);
+ return ($2|0);
+}
+function _global_init() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $err = 0;
+ $0 = HEAP32[17667]|0;
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[17667] = 1;
+ __gcry_set_preferred_rng_type(0);
+ $2 = HEAP32[17668]|0;
+ __gcry_initialize_fips_mode($2);
+ __gcry_detect_hw_features();
+ $3 = (__gcry_cipher_init()|0);
+ $err = $3;
+ $4 = $err;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = (__gcry_md_init()|0);
+ $err = $6;
+ $7 = $err;
+ $8 = ($7|0)!=(0);
+ if (!($8)) {
+ $9 = (__gcry_pk_init()|0);
+ $err = $9;
+ $10 = $err;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = (__gcry_primegen_init()|0);
+ $err = $12;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ $15 = (__gcry_secmem_module_init()|0);
+ $err = $15;
+ $16 = $err;
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ $18 = (__gcry_mpi_init()|0);
+ $err = $18;
+ $19 = $err;
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ }
+ }
+ }
+ __gcry_bug(22332,123,22341);
+ // unreachable;
+}
+function __gcry_check_version($req_version) {
+ $req_version = $req_version|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $my_major = 0, $my_micro = 0, $my_minor = 0, $my_plvl = 0, $rq_major = 0, $rq_micro = 0, $rq_minor = 0, $ver = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $my_major = sp + 24|0;
+ $my_minor = sp + 20|0;
+ $my_micro = sp + 16|0;
+ $rq_major = sp + 12|0;
+ $rq_minor = sp + 8|0;
+ $rq_micro = sp + 4|0;
+ $1 = $req_version;
+ $ver = 22353;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $1;
+ $5 = HEAP8[$4>>0]|0;
+ $6 = $5 << 24 >> 24;
+ $7 = ($6|0)==(1);
+ if ($7) {
+ $8 = $1;
+ $9 = ((($8)) + 1|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 << 24 >> 24;
+ $12 = ($11|0)==(1);
+ if ($12) {
+ $13 = (__gcry_compat_identification()|0);
+ $0 = $13;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ }
+ }
+ _global_init();
+ $14 = $1;
+ $15 = ($14|0)!=(0|0);
+ $16 = $ver;
+ if (!($15)) {
+ $0 = $16;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $17 = (_parse_version_string($16,$my_major,$my_minor,$my_micro)|0);
+ $my_plvl = $17;
+ $18 = $my_plvl;
+ $19 = ($18|0)!=(0|0);
+ if (!($19)) {
+ $0 = 0;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $20 = $1;
+ $21 = (_parse_version_string($20,$rq_major,$rq_minor,$rq_micro)|0);
+ $22 = ($21|0)!=(0|0);
+ if (!($22)) {
+ $0 = 0;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ $23 = HEAP32[$my_major>>2]|0;
+ $24 = HEAP32[$rq_major>>2]|0;
+ $25 = ($23|0)>($24|0);
+ do {
+ if (!($25)) {
+ $26 = HEAP32[$my_major>>2]|0;
+ $27 = HEAP32[$rq_major>>2]|0;
+ $28 = ($26|0)==($27|0);
+ if ($28) {
+ $29 = HEAP32[$my_minor>>2]|0;
+ $30 = HEAP32[$rq_minor>>2]|0;
+ $31 = ($29|0)>($30|0);
+ if ($31) {
+ break;
+ }
+ }
+ $32 = HEAP32[$my_major>>2]|0;
+ $33 = HEAP32[$rq_major>>2]|0;
+ $34 = ($32|0)==($33|0);
+ if ($34) {
+ $35 = HEAP32[$my_minor>>2]|0;
+ $36 = HEAP32[$rq_minor>>2]|0;
+ $37 = ($35|0)==($36|0);
+ if ($37) {
+ $38 = HEAP32[$my_micro>>2]|0;
+ $39 = HEAP32[$rq_micro>>2]|0;
+ $40 = ($38|0)>($39|0);
+ if ($40) {
+ break;
+ }
+ }
+ }
+ $41 = HEAP32[$my_major>>2]|0;
+ $42 = HEAP32[$rq_major>>2]|0;
+ $43 = ($41|0)==($42|0);
+ if ($43) {
+ $44 = HEAP32[$my_minor>>2]|0;
+ $45 = HEAP32[$rq_minor>>2]|0;
+ $46 = ($44|0)==($45|0);
+ if ($46) {
+ $47 = HEAP32[$my_micro>>2]|0;
+ $48 = HEAP32[$rq_micro>>2]|0;
+ $49 = ($47|0)==($48|0);
+ if ($49) {
+ break;
+ }
+ }
+ }
+ $0 = 0;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ } while(0);
+ $50 = $ver;
+ $0 = $50;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+}
+function _parse_version_string($s,$major,$minor,$micro) {
+ $s = $s|0;
+ $major = $major|0;
+ $minor = $minor|0;
+ $micro = $micro|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $s;
+ $2 = $major;
+ $3 = $minor;
+ $4 = $micro;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_parse_version_number($5,$6)|0);
+ $1 = $7;
+ $8 = $1;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $1;
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11 << 24 >> 24;
+ $13 = ($12|0)!=(46);
+ if (!($13)) {
+ $14 = $1;
+ $15 = ((($14)) + 1|0);
+ $1 = $15;
+ $16 = $1;
+ $17 = $3;
+ $18 = (_parse_version_number($16,$17)|0);
+ $1 = $18;
+ $19 = $1;
+ $20 = ($19|0)!=(0|0);
+ if ($20) {
+ $21 = $1;
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22 << 24 >> 24;
+ $24 = ($23|0)!=(46);
+ if (!($24)) {
+ $25 = $1;
+ $26 = ((($25)) + 1|0);
+ $1 = $26;
+ $27 = $1;
+ $28 = $4;
+ $29 = (_parse_version_number($27,$28)|0);
+ $1 = $29;
+ $30 = $1;
+ $31 = ($30|0)!=(0|0);
+ if ($31) {
+ $32 = $1;
+ $0 = $32;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ } else {
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ }
+ }
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ }
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+}
+function _parse_version_number($s,$number) {
+ $s = $s|0;
+ $number = $number|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $val = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $s;
+ $2 = $number;
+ $val = 0;
+ $3 = $1;
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4 << 24 >> 24;
+ $6 = ($5|0)==(48);
+ if ($6) {
+ $7 = $1;
+ $8 = ((($7)) + 1|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 << 24 >> 24;
+ $11 = (_isdigit($10)|0);
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ }
+ while(1) {
+ $13 = $1;
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14 << 24 >> 24;
+ $16 = (_isdigit($15)|0);
+ $17 = ($16|0)!=(0);
+ $18 = $val;
+ if (!($17)) {
+ break;
+ }
+ $19 = ($18*10)|0;
+ $val = $19;
+ $20 = $1;
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21 << 24 >> 24;
+ $23 = (($22) - 48)|0;
+ $24 = $val;
+ $25 = (($24) + ($23))|0;
+ $val = $25;
+ $26 = $1;
+ $27 = ((($26)) + 1|0);
+ $1 = $27;
+ }
+ $28 = $2;
+ HEAP32[$28>>2] = $18;
+ $29 = $val;
+ $30 = ($29|0)<(0);
+ $31 = $1;
+ $32 = $30 ? 0 : $31;
+ $0 = $32;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+}
+function __gcry_vcontrol($cmd,$arg_ptr) {
+ $cmd = $cmd|0;
+ $arg_ptr = $arg_ptr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0, $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0;
+ var $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current60 = 0, $arglist_current63 = 0, $arglist_current66 = 0, $arglist_current69 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0;
+ var $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next61 = 0, $arglist_next64 = 0, $arglist_next67 = 0, $arglist_next7 = 0, $arglist_next70 = 0, $buffer = 0, $buflen = 0, $ctx = 0, $ctx1 = 0, $dt = 0, $dtlen = 0, $expanded = 0, $expanded101 = 0;
+ var $expanded102 = 0, $expanded103 = 0, $expanded105 = 0, $expanded106 = 0, $expanded108 = 0, $expanded109 = 0, $expanded110 = 0, $expanded112 = 0, $expanded113 = 0, $expanded115 = 0, $expanded116 = 0, $expanded117 = 0, $expanded119 = 0, $expanded120 = 0, $expanded122 = 0, $expanded123 = 0, $expanded124 = 0, $expanded126 = 0, $expanded127 = 0, $expanded129 = 0;
+ var $expanded130 = 0, $expanded131 = 0, $expanded133 = 0, $expanded134 = 0, $expanded136 = 0, $expanded137 = 0, $expanded138 = 0, $expanded140 = 0, $expanded141 = 0, $expanded143 = 0, $expanded144 = 0, $expanded145 = 0, $expanded147 = 0, $expanded148 = 0, $expanded150 = 0, $expanded151 = 0, $expanded152 = 0, $expanded154 = 0, $expanded155 = 0, $expanded157 = 0;
+ var $expanded158 = 0, $expanded159 = 0, $expanded161 = 0, $expanded162 = 0, $expanded164 = 0, $expanded165 = 0, $expanded166 = 0, $expanded168 = 0, $expanded169 = 0, $expanded171 = 0, $expanded172 = 0, $expanded173 = 0, $expanded175 = 0, $expanded176 = 0, $expanded178 = 0, $expanded179 = 0, $expanded180 = 0, $expanded182 = 0, $expanded183 = 0, $expanded185 = 0;
+ var $expanded186 = 0, $expanded187 = 0, $expanded189 = 0, $expanded190 = 0, $expanded192 = 0, $expanded193 = 0, $expanded194 = 0, $expanded196 = 0, $expanded197 = 0, $expanded199 = 0, $expanded200 = 0, $expanded201 = 0, $expanded203 = 0, $expanded204 = 0, $expanded206 = 0, $expanded207 = 0, $expanded208 = 0, $expanded210 = 0, $expanded211 = 0, $expanded213 = 0;
+ var $expanded214 = 0, $expanded215 = 0, $expanded217 = 0, $expanded218 = 0, $expanded220 = 0, $expanded221 = 0, $expanded222 = 0, $expanded224 = 0, $expanded225 = 0, $expanded227 = 0, $expanded228 = 0, $expanded229 = 0, $expanded231 = 0, $expanded232 = 0, $expanded234 = 0, $expanded235 = 0, $expanded236 = 0, $expanded71 = 0, $expanded73 = 0, $expanded74 = 0;
+ var $expanded75 = 0, $expanded77 = 0, $expanded78 = 0, $expanded80 = 0, $expanded81 = 0, $expanded82 = 0, $expanded84 = 0, $expanded85 = 0, $expanded87 = 0, $expanded88 = 0, $expanded89 = 0, $expanded91 = 0, $expanded92 = 0, $expanded94 = 0, $expanded95 = 0, $expanded96 = 0, $expanded98 = 0, $expanded99 = 0, $flags = 0, $fp = 0;
+ var $i = 0, $ip = 0, $key = 0, $keylen = 0, $name = 0, $or$cond = 0, $rc = 0, $rctx = 0, $seed = 0, $seedlen = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $cmd;
+ $1 = $arg_ptr;
+ $rc = 0;
+ $2 = $0;
+ do {
+ switch ($2|0) {
+ case 31: {
+ __gcry_private_enable_m_guard();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 44: {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_enable_quick_random_gen();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 51: {
+ $3 = (__gcry_random_is_faked()|0);
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 13: {
+ __gcry_random_dump_stats();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 14: {
+ __gcry_secmem_dump_stats();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 30: {
+ _global_init();
+ __gcry_secmem_init(0);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 37: {
+ _global_init();
+ HEAP32[17669] = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 24: {
+ _global_init();
+ $5 = $1;
+ $arglist_current = HEAP32[$5>>2]|0;
+ $6 = $arglist_current;
+ $7 = ((0) + 4|0);
+ $expanded71 = $7;
+ $expanded = (($expanded71) - 1)|0;
+ $8 = (($6) + ($expanded))|0;
+ $9 = ((0) + 4|0);
+ $expanded75 = $9;
+ $expanded74 = (($expanded75) - 1)|0;
+ $expanded73 = $expanded74 ^ -1;
+ $10 = $8 & $expanded73;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $arglist_next = ((($11)) + 4|0);
+ HEAP32[$5>>2] = $arglist_next;
+ __gcry_secmem_init($12);
+ $13 = (__gcry_secmem_get_flags()|0);
+ $14 = $13 & 4;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 25: {
+ _global_init();
+ __gcry_secmem_term();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 27: {
+ __gcry_set_preferred_rng_type(0);
+ $16 = (__gcry_secmem_get_flags()|0);
+ $17 = $16 | 1;
+ __gcry_secmem_set_flags($17);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 28: {
+ __gcry_set_preferred_rng_type(0);
+ $18 = (__gcry_secmem_get_flags()|0);
+ $19 = $18 | 2;
+ __gcry_secmem_set_flags($19);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 29: {
+ __gcry_set_preferred_rng_type(0);
+ $20 = (__gcry_secmem_get_flags()|0);
+ $21 = $20 & -3;
+ __gcry_secmem_set_flags($21);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 22: {
+ _global_init();
+ __gcry_secure_random_alloc();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 45: {
+ __gcry_set_preferred_rng_type(0);
+ $22 = $1;
+ $arglist_current3 = HEAP32[$22>>2]|0;
+ $23 = $arglist_current3;
+ $24 = ((0) + 4|0);
+ $expanded78 = $24;
+ $expanded77 = (($expanded78) - 1)|0;
+ $25 = (($23) + ($expanded77))|0;
+ $26 = ((0) + 4|0);
+ $expanded82 = $26;
+ $expanded81 = (($expanded82) - 1)|0;
+ $expanded80 = $expanded81 ^ -1;
+ $27 = $25 & $expanded80;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $arglist_next4 = ((($28)) + 4|0);
+ HEAP32[$22>>2] = $arglist_next4;
+ __gcry_set_random_seed_file($29);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 46: {
+ __gcry_set_preferred_rng_type(0);
+ $30 = (__gcry_global_is_operational()|0);
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ __gcry_update_random_seed_file();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 19: {
+ __gcry_set_preferred_rng_type(0);
+ $32 = $1;
+ $arglist_current6 = HEAP32[$32>>2]|0;
+ $33 = $arglist_current6;
+ $34 = ((0) + 4|0);
+ $expanded85 = $34;
+ $expanded84 = (($expanded85) - 1)|0;
+ $35 = (($33) + ($expanded84))|0;
+ $36 = ((0) + 4|0);
+ $expanded89 = $36;
+ $expanded88 = (($expanded89) - 1)|0;
+ $expanded87 = $expanded88 ^ -1;
+ $37 = $35 & $expanded87;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $arglist_next7 = ((($38)) + 4|0);
+ HEAP32[$32>>2] = $arglist_next7;
+ __gcry_set_log_verbosity($39);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 20: {
+ $40 = $1;
+ $arglist_current9 = HEAP32[$40>>2]|0;
+ $41 = $arglist_current9;
+ $42 = ((0) + 4|0);
+ $expanded92 = $42;
+ $expanded91 = (($expanded92) - 1)|0;
+ $43 = (($41) + ($expanded91))|0;
+ $44 = ((0) + 4|0);
+ $expanded96 = $44;
+ $expanded95 = (($expanded96) - 1)|0;
+ $expanded94 = $expanded95 ^ -1;
+ $45 = $43 & $expanded94;
+ $46 = $45;
+ $47 = HEAP32[$46>>2]|0;
+ $arglist_next10 = ((($46)) + 4|0);
+ HEAP32[$40>>2] = $arglist_next10;
+ $48 = HEAP32[17670]|0;
+ $49 = $48 | $47;
+ HEAP32[17670] = $49;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 21: {
+ $50 = $1;
+ $arglist_current12 = HEAP32[$50>>2]|0;
+ $51 = $arglist_current12;
+ $52 = ((0) + 4|0);
+ $expanded99 = $52;
+ $expanded98 = (($expanded99) - 1)|0;
+ $53 = (($51) + ($expanded98))|0;
+ $54 = ((0) + 4|0);
+ $expanded103 = $54;
+ $expanded102 = (($expanded103) - 1)|0;
+ $expanded101 = $expanded102 ^ -1;
+ $55 = $53 & $expanded101;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $arglist_next13 = ((($56)) + 4|0);
+ HEAP32[$50>>2] = $arglist_next13;
+ $58 = $57 ^ -1;
+ $59 = HEAP32[17670]|0;
+ $60 = $59 & $58;
+ HEAP32[17670] = $60;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 36: {
+ _global_init();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 40: {
+ $61 = HEAP32[17667]|0;
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 39: {
+ $63 = HEAP32[17671]|0;
+ $64 = ($63|0)!=(0);
+ if (!($64)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 38: {
+ $65 = HEAP32[17671]|0;
+ $66 = ($65|0)!=(0);
+ if ($66) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ _global_init();
+ __gcry_random_initialize(0);
+ HEAP32[17671] = 1;
+ (__gcry_global_is_operational()|0);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 47: {
+ __gcry_set_preferred_rng_type(0);
+ _global_init();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 48: {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_random_initialize(1);
+ $67 = (__gcry_global_is_operational()|0);
+ $68 = ($67|0)!=(0);
+ if (!($68)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ __gcry_fast_random_poll();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 52: {
+ $69 = (_gpg_error_398(60)|0);
+ $rc = $69;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 49: {
+ __gcry_set_preferred_rng_type(0);
+ $70 = $1;
+ $arglist_current15 = HEAP32[$70>>2]|0;
+ $71 = $arglist_current15;
+ $72 = ((0) + 4|0);
+ $expanded106 = $72;
+ $expanded105 = (($expanded106) - 1)|0;
+ $73 = (($71) + ($expanded105))|0;
+ $74 = ((0) + 4|0);
+ $expanded110 = $74;
+ $expanded109 = (($expanded110) - 1)|0;
+ $expanded108 = $expanded109 ^ -1;
+ $75 = $73 & $expanded108;
+ $76 = $75;
+ $77 = HEAP32[$76>>2]|0;
+ $arglist_next16 = ((($76)) + 4|0);
+ HEAP32[$70>>2] = $arglist_next16;
+ __gcry_set_random_daemon_socket($77);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 50: {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_random_initialize(1);
+ $78 = $1;
+ $arglist_current18 = HEAP32[$78>>2]|0;
+ $79 = $arglist_current18;
+ $80 = ((0) + 4|0);
+ $expanded113 = $80;
+ $expanded112 = (($expanded113) - 1)|0;
+ $81 = (($79) + ($expanded112))|0;
+ $82 = ((0) + 4|0);
+ $expanded117 = $82;
+ $expanded116 = (($expanded117) - 1)|0;
+ $expanded115 = $expanded116 ^ -1;
+ $83 = $81 & $expanded115;
+ $84 = $83;
+ $85 = HEAP32[$84>>2]|0;
+ $arglist_next19 = ((($84)) + 4|0);
+ HEAP32[$78>>2] = $arglist_next19;
+ $86 = ($85|0)!=(0);
+ $87 = $86 ^ 1;
+ $88 = $87 ^ 1;
+ $89 = $88&1;
+ (__gcry_use_random_daemon($89)|0);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 70: {
+ __gcry_random_close_fds();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 53: {
+ $90 = $1;
+ $arglist_current21 = HEAP32[$90>>2]|0;
+ $91 = $arglist_current21;
+ $92 = ((0) + 4|0);
+ $expanded120 = $92;
+ $expanded119 = (($expanded120) - 1)|0;
+ $93 = (($91) + ($expanded119))|0;
+ $94 = ((0) + 4|0);
+ $expanded124 = $94;
+ $expanded123 = (($expanded124) - 1)|0;
+ $expanded122 = $expanded123 ^ -1;
+ $95 = $93 & $expanded122;
+ $96 = $95;
+ $97 = HEAP32[$96>>2]|0;
+ $arglist_next22 = ((($96)) + 4|0);
+ HEAP32[$90>>2] = $arglist_next22;
+ $fp = $97;
+ __gcry_set_preferred_rng_type(0);
+ $98 = $fp;
+ $99 = ($98|0)!=(0|0);
+ $100 = $99 ? 55 : 54;
+ $101 = $fp;
+ _print_config($100,$101);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 54: {
+ __gcry_set_preferred_rng_type(0);
+ $102 = (__gcry_fips_test_operational()|0);
+ $103 = ($102|0)!=(0);
+ if (!($103)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 55: {
+ $104 = (__gcry_fips_mode()|0);
+ $105 = ($104|0)!=(0);
+ if (!($105)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $106 = (__gcry_is_fips_mode_inactive()|0);
+ $107 = ($106|0)!=(0);
+ $108 = HEAP32[17669]|0;
+ $109 = ($108|0)!=(0);
+ $or$cond = $107 | $109;
+ if ($or$cond) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 56: {
+ __gcry_set_preferred_rng_type(0);
+ $110 = HEAP32[17667]|0;
+ $111 = ($110|0)!=(0);
+ if (!($111)) {
+ HEAP32[17668] = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $112 = (__gcry_fips_test_error_or_operational()|0);
+ $113 = ($112|0)!=(0);
+ if ($113) {
+ (__gcry_fips_run_selftests(1)|0);
+ }
+ $114 = (__gcry_fips_is_operational()|0);
+ $115 = ($114|0)!=(0);
+ if (!($115)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 57: {
+ _global_init();
+ $116 = (__gcry_fips_run_selftests(1)|0);
+ $rc = $116;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 58: {
+ $117 = $1;
+ $arglist_current24 = HEAP32[$117>>2]|0;
+ $118 = $arglist_current24;
+ $119 = ((0) + 4|0);
+ $expanded127 = $119;
+ $expanded126 = (($expanded127) - 1)|0;
+ $120 = (($118) + ($expanded126))|0;
+ $121 = ((0) + 4|0);
+ $expanded131 = $121;
+ $expanded130 = (($expanded131) - 1)|0;
+ $expanded129 = $expanded130 ^ -1;
+ $122 = $120 & $expanded129;
+ $123 = $122;
+ $124 = HEAP32[$123>>2]|0;
+ $arglist_next25 = ((($123)) + 4|0);
+ HEAP32[$117>>2] = $arglist_next25;
+ $rctx = $124;
+ $125 = $1;
+ $arglist_current27 = HEAP32[$125>>2]|0;
+ $126 = $arglist_current27;
+ $127 = ((0) + 4|0);
+ $expanded134 = $127;
+ $expanded133 = (($expanded134) - 1)|0;
+ $128 = (($126) + ($expanded133))|0;
+ $129 = ((0) + 4|0);
+ $expanded138 = $129;
+ $expanded137 = (($expanded138) - 1)|0;
+ $expanded136 = $expanded137 ^ -1;
+ $130 = $128 & $expanded136;
+ $131 = $130;
+ $132 = HEAP32[$131>>2]|0;
+ $arglist_next28 = ((($131)) + 4|0);
+ HEAP32[$125>>2] = $arglist_next28;
+ $flags = $132;
+ $133 = $1;
+ $arglist_current30 = HEAP32[$133>>2]|0;
+ $134 = $arglist_current30;
+ $135 = ((0) + 4|0);
+ $expanded141 = $135;
+ $expanded140 = (($expanded141) - 1)|0;
+ $136 = (($134) + ($expanded140))|0;
+ $137 = ((0) + 4|0);
+ $expanded145 = $137;
+ $expanded144 = (($expanded145) - 1)|0;
+ $expanded143 = $expanded144 ^ -1;
+ $138 = $136 & $expanded143;
+ $139 = $138;
+ $140 = HEAP32[$139>>2]|0;
+ $arglist_next31 = ((($139)) + 4|0);
+ HEAP32[$133>>2] = $arglist_next31;
+ $key = $140;
+ $141 = $1;
+ $arglist_current33 = HEAP32[$141>>2]|0;
+ $142 = $arglist_current33;
+ $143 = ((0) + 4|0);
+ $expanded148 = $143;
+ $expanded147 = (($expanded148) - 1)|0;
+ $144 = (($142) + ($expanded147))|0;
+ $145 = ((0) + 4|0);
+ $expanded152 = $145;
+ $expanded151 = (($expanded152) - 1)|0;
+ $expanded150 = $expanded151 ^ -1;
+ $146 = $144 & $expanded150;
+ $147 = $146;
+ $148 = HEAP32[$147>>2]|0;
+ $arglist_next34 = ((($147)) + 4|0);
+ HEAP32[$141>>2] = $arglist_next34;
+ $keylen = $148;
+ $149 = $1;
+ $arglist_current36 = HEAP32[$149>>2]|0;
+ $150 = $arglist_current36;
+ $151 = ((0) + 4|0);
+ $expanded155 = $151;
+ $expanded154 = (($expanded155) - 1)|0;
+ $152 = (($150) + ($expanded154))|0;
+ $153 = ((0) + 4|0);
+ $expanded159 = $153;
+ $expanded158 = (($expanded159) - 1)|0;
+ $expanded157 = $expanded158 ^ -1;
+ $154 = $152 & $expanded157;
+ $155 = $154;
+ $156 = HEAP32[$155>>2]|0;
+ $arglist_next37 = ((($155)) + 4|0);
+ HEAP32[$149>>2] = $arglist_next37;
+ $seed = $156;
+ $157 = $1;
+ $arglist_current39 = HEAP32[$157>>2]|0;
+ $158 = $arglist_current39;
+ $159 = ((0) + 4|0);
+ $expanded162 = $159;
+ $expanded161 = (($expanded162) - 1)|0;
+ $160 = (($158) + ($expanded161))|0;
+ $161 = ((0) + 4|0);
+ $expanded166 = $161;
+ $expanded165 = (($expanded166) - 1)|0;
+ $expanded164 = $expanded165 ^ -1;
+ $162 = $160 & $expanded164;
+ $163 = $162;
+ $164 = HEAP32[$163>>2]|0;
+ $arglist_next40 = ((($163)) + 4|0);
+ HEAP32[$157>>2] = $arglist_next40;
+ $seedlen = $164;
+ $165 = $1;
+ $arglist_current42 = HEAP32[$165>>2]|0;
+ $166 = $arglist_current42;
+ $167 = ((0) + 4|0);
+ $expanded169 = $167;
+ $expanded168 = (($expanded169) - 1)|0;
+ $168 = (($166) + ($expanded168))|0;
+ $169 = ((0) + 4|0);
+ $expanded173 = $169;
+ $expanded172 = (($expanded173) - 1)|0;
+ $expanded171 = $expanded172 ^ -1;
+ $170 = $168 & $expanded171;
+ $171 = $170;
+ $172 = HEAP32[$171>>2]|0;
+ $arglist_next43 = ((($171)) + 4|0);
+ HEAP32[$165>>2] = $arglist_next43;
+ $dt = $172;
+ $173 = $1;
+ $arglist_current45 = HEAP32[$173>>2]|0;
+ $174 = $arglist_current45;
+ $175 = ((0) + 4|0);
+ $expanded176 = $175;
+ $expanded175 = (($expanded176) - 1)|0;
+ $176 = (($174) + ($expanded175))|0;
+ $177 = ((0) + 4|0);
+ $expanded180 = $177;
+ $expanded179 = (($expanded180) - 1)|0;
+ $expanded178 = $expanded179 ^ -1;
+ $178 = $176 & $expanded178;
+ $179 = $178;
+ $180 = HEAP32[$179>>2]|0;
+ $arglist_next46 = ((($179)) + 4|0);
+ HEAP32[$173>>2] = $arglist_next46;
+ $dtlen = $180;
+ $181 = (__gcry_global_is_operational()|0);
+ $182 = ($181|0)!=(0);
+ if ($182) {
+ $183 = $rctx;
+ $184 = $flags;
+ $185 = $key;
+ $186 = $keylen;
+ $187 = $seed;
+ $188 = $seedlen;
+ $189 = $dt;
+ $190 = $dtlen;
+ $191 = (__gcry_random_init_external_test($183,$184,$185,$186,$187,$188,$189,$190)|0);
+ $rc = $191;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ } else {
+ $rc = 176;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ break;
+ }
+ case 59: {
+ $192 = $1;
+ $arglist_current48 = HEAP32[$192>>2]|0;
+ $193 = $arglist_current48;
+ $194 = ((0) + 4|0);
+ $expanded183 = $194;
+ $expanded182 = (($expanded183) - 1)|0;
+ $195 = (($193) + ($expanded182))|0;
+ $196 = ((0) + 4|0);
+ $expanded187 = $196;
+ $expanded186 = (($expanded187) - 1)|0;
+ $expanded185 = $expanded186 ^ -1;
+ $197 = $195 & $expanded185;
+ $198 = $197;
+ $199 = HEAP32[$198>>2]|0;
+ $arglist_next49 = ((($198)) + 4|0);
+ HEAP32[$192>>2] = $arglist_next49;
+ $ctx = $199;
+ $200 = $1;
+ $arglist_current51 = HEAP32[$200>>2]|0;
+ $201 = $arglist_current51;
+ $202 = ((0) + 4|0);
+ $expanded190 = $202;
+ $expanded189 = (($expanded190) - 1)|0;
+ $203 = (($201) + ($expanded189))|0;
+ $204 = ((0) + 4|0);
+ $expanded194 = $204;
+ $expanded193 = (($expanded194) - 1)|0;
+ $expanded192 = $expanded193 ^ -1;
+ $205 = $203 & $expanded192;
+ $206 = $205;
+ $207 = HEAP32[$206>>2]|0;
+ $arglist_next52 = ((($206)) + 4|0);
+ HEAP32[$200>>2] = $arglist_next52;
+ $buffer = $207;
+ $208 = $1;
+ $arglist_current54 = HEAP32[$208>>2]|0;
+ $209 = $arglist_current54;
+ $210 = ((0) + 4|0);
+ $expanded197 = $210;
+ $expanded196 = (($expanded197) - 1)|0;
+ $211 = (($209) + ($expanded196))|0;
+ $212 = ((0) + 4|0);
+ $expanded201 = $212;
+ $expanded200 = (($expanded201) - 1)|0;
+ $expanded199 = $expanded200 ^ -1;
+ $213 = $211 & $expanded199;
+ $214 = $213;
+ $215 = HEAP32[$214>>2]|0;
+ $arglist_next55 = ((($214)) + 4|0);
+ HEAP32[$208>>2] = $arglist_next55;
+ $buflen = $215;
+ $216 = (__gcry_global_is_operational()|0);
+ $217 = ($216|0)!=(0);
+ if ($217) {
+ $218 = $ctx;
+ $219 = $buffer;
+ $220 = $buflen;
+ $221 = (__gcry_random_run_external_test($218,$219,$220)|0);
+ $rc = $221;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ } else {
+ $rc = 176;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ break;
+ }
+ case 60: {
+ $222 = $1;
+ $arglist_current57 = HEAP32[$222>>2]|0;
+ $223 = $arglist_current57;
+ $224 = ((0) + 4|0);
+ $expanded204 = $224;
+ $expanded203 = (($expanded204) - 1)|0;
+ $225 = (($223) + ($expanded203))|0;
+ $226 = ((0) + 4|0);
+ $expanded208 = $226;
+ $expanded207 = (($expanded208) - 1)|0;
+ $expanded206 = $expanded207 ^ -1;
+ $227 = $225 & $expanded206;
+ $228 = $227;
+ $229 = HEAP32[$228>>2]|0;
+ $arglist_next58 = ((($228)) + 4|0);
+ HEAP32[$222>>2] = $arglist_next58;
+ $ctx1 = $229;
+ $230 = $ctx1;
+ __gcry_random_deinit_external_test($230);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 61: {
+ $231 = $1;
+ $arglist_current60 = HEAP32[$231>>2]|0;
+ $232 = $arglist_current60;
+ $233 = ((0) + 4|0);
+ $expanded211 = $233;
+ $expanded210 = (($expanded211) - 1)|0;
+ $234 = (($232) + ($expanded210))|0;
+ $235 = ((0) + 4|0);
+ $expanded215 = $235;
+ $expanded214 = (($expanded215) - 1)|0;
+ $expanded213 = $expanded214 ^ -1;
+ $236 = $234 & $expanded213;
+ $237 = $236;
+ $238 = HEAP32[$237>>2]|0;
+ $arglist_next61 = ((($237)) + 4|0);
+ HEAP32[$231>>2] = $arglist_next61;
+ $239 = (_external_lock_test($238)|0);
+ $rc = $239;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 63: {
+ $240 = $1;
+ $arglist_current63 = HEAP32[$240>>2]|0;
+ $241 = $arglist_current63;
+ $242 = ((0) + 4|0);
+ $expanded218 = $242;
+ $expanded217 = (($expanded218) - 1)|0;
+ $243 = (($241) + ($expanded217))|0;
+ $244 = ((0) + 4|0);
+ $expanded222 = $244;
+ $expanded221 = (($expanded222) - 1)|0;
+ $expanded220 = $expanded221 ^ -1;
+ $245 = $243 & $expanded220;
+ $246 = $245;
+ $247 = HEAP32[$246>>2]|0;
+ $arglist_next64 = ((($246)) + 4|0);
+ HEAP32[$240>>2] = $arglist_next64;
+ $name = $247;
+ $248 = $name;
+ $249 = (__gcry_disable_hw_feature($248)|0);
+ $rc = $249;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 64: {
+ $250 = HEAP32[17667]|0;
+ $251 = ($250|0)!=(0);
+ if ($251) {
+ $rc = 1;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ } else {
+ __gcry_set_preferred_rng_type(0);
+ __gcry_set_enforced_fips_mode();
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ break;
+ }
+ case 65: {
+ $252 = $1;
+ $arglist_current66 = HEAP32[$252>>2]|0;
+ $253 = $arglist_current66;
+ $254 = ((0) + 4|0);
+ $expanded225 = $254;
+ $expanded224 = (($expanded225) - 1)|0;
+ $255 = (($253) + ($expanded224))|0;
+ $256 = ((0) + 4|0);
+ $expanded229 = $256;
+ $expanded228 = (($expanded229) - 1)|0;
+ $expanded227 = $expanded228 ^ -1;
+ $257 = $255 & $expanded227;
+ $258 = $257;
+ $259 = HEAP32[$258>>2]|0;
+ $arglist_next67 = ((($258)) + 4|0);
+ HEAP32[$252>>2] = $arglist_next67;
+ $i = $259;
+ $260 = $i;
+ $261 = ($260|0)>(0);
+ if (!($261)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $262 = $i;
+ __gcry_set_preferred_rng_type($262);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 66: {
+ $263 = $1;
+ $arglist_current69 = HEAP32[$263>>2]|0;
+ $264 = $arglist_current69;
+ $265 = ((0) + 4|0);
+ $expanded232 = $265;
+ $expanded231 = (($expanded232) - 1)|0;
+ $266 = (($264) + ($expanded231))|0;
+ $267 = ((0) + 4|0);
+ $expanded236 = $267;
+ $expanded235 = (($expanded236) - 1)|0;
+ $expanded234 = $expanded235 ^ -1;
+ $268 = $266 & $expanded234;
+ $269 = $268;
+ $270 = HEAP32[$269>>2]|0;
+ $arglist_next70 = ((($269)) + 4|0);
+ HEAP32[$263>>2] = $arglist_next70;
+ $ip = $270;
+ $271 = $ip;
+ $272 = ($271|0)!=(0|0);
+ if (!($272)) {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ $273 = HEAP32[17667]|0;
+ $274 = ($273|0)!=(0);
+ $275 = $274 ^ 1;
+ $276 = $275&1;
+ $277 = (__gcry_get_rng_type($276)|0);
+ $278 = $ip;
+ HEAP32[$278>>2] = $277;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 67: {
+ __gcry_set_preferred_rng_type(0);
+ $279 = (__gcry_secmem_get_flags()|0);
+ $280 = $279 | 8;
+ __gcry_secmem_set_flags($280);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 68: {
+ __gcry_set_preferred_rng_type(0);
+ $281 = (__gcry_secmem_get_flags()|0);
+ $282 = $281 | 16;
+ __gcry_secmem_set_flags($282);
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 72: case 71: {
+ $rc = 69;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ case 62: case 23: {
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ break;
+ }
+ default: {
+ __gcry_set_preferred_rng_type(0);
+ $rc = 61;
+ $283 = $rc;
+ STACKTOP = sp;return ($283|0);
+ }
+ }
+ } while(0);
+ return (0)|0;
+}
+function _gpg_error_398($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_399(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make_399($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function _print_config($fnc,$fp) {
+ $fnc = $fnc|0;
+ $fp = $fp|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $afeature = 0, $hwfeatures = 0, $i = 0, $s = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0;
+ var $vararg_buffer33 = 0, $vararg_buffer38 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr36 = 0, $vararg_ptr41 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer38 = sp + 88|0;
+ $vararg_buffer33 = sp + 80|0;
+ $vararg_buffer30 = sp + 72|0;
+ $vararg_buffer26 = sp + 64|0;
+ $vararg_buffer23 = sp + 56|0;
+ $vararg_buffer19 = sp + 48|0;
+ $vararg_buffer16 = sp + 40|0;
+ $vararg_buffer13 = sp + 32|0;
+ $vararg_buffer9 = sp + 24|0;
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $afeature = sp + 104|0;
+ $0 = $fnc;
+ $1 = $fp;
+ $2 = $0;
+ $3 = $1;
+ HEAP32[$vararg_buffer>>2] = 22353;
+ (FUNCTION_TABLE_iiii[$2 & 127]($3,22367,$vararg_buffer)|0);
+ $4 = $0;
+ $5 = $1;
+ HEAP32[$vararg_buffer1>>2] = 22393;
+ (FUNCTION_TABLE_iiii[$4 & 127]($5,22380,$vararg_buffer1)|0);
+ $6 = $0;
+ $7 = $1;
+ HEAP32[$vararg_buffer5>>2] = 22418;
+ (FUNCTION_TABLE_iiii[$6 & 127]($7,22405,$vararg_buffer5)|0);
+ $8 = $0;
+ $9 = $1;
+ HEAP32[$vararg_buffer9>>2] = 22439;
+ (FUNCTION_TABLE_iiii[$8 & 127]($9,22426,$vararg_buffer9)|0);
+ $10 = $0;
+ $11 = $1;
+ (FUNCTION_TABLE_iiii[$10 & 127]($11,22453,$vararg_buffer13)|0);
+ $12 = $0;
+ $13 = $1;
+ (FUNCTION_TABLE_iiii[$12 & 127]($13,22469,$vararg_buffer16)|0);
+ $14 = $0;
+ $15 = $1;
+ $16 = (__gcry_mpi_get_hw_config()|0);
+ HEAP32[$vararg_buffer19>>2] = $16;
+ (FUNCTION_TABLE_iiii[$14 & 127]($15,22481,$vararg_buffer19)|0);
+ $17 = (__gcry_get_hw_features()|0);
+ $hwfeatures = $17;
+ $18 = $0;
+ $19 = $1;
+ (FUNCTION_TABLE_iiii[$18 & 127]($19,22494,$vararg_buffer23)|0);
+ $i = 0;
+ while(1) {
+ $20 = $i;
+ $21 = (__gcry_enum_hw_features($20,$afeature)|0);
+ $s = $21;
+ $22 = ($21|0)!=(0|0);
+ if (!($22)) {
+ break;
+ }
+ $23 = $hwfeatures;
+ $24 = HEAP32[$afeature>>2]|0;
+ $25 = $23 & $24;
+ $26 = ($25|0)!=(0);
+ if ($26) {
+ $27 = $0;
+ $28 = $1;
+ $29 = $s;
+ HEAP32[$vararg_buffer26>>2] = $29;
+ (FUNCTION_TABLE_iiii[$27 & 127]($28,22503,$vararg_buffer26)|0);
+ }
+ $30 = $i;
+ $31 = (($30) + 1)|0;
+ $i = $31;
+ }
+ $32 = $0;
+ $33 = $1;
+ (FUNCTION_TABLE_iiii[$32 & 127]($33,22507,$vararg_buffer30)|0);
+ $34 = $0;
+ $35 = $1;
+ $36 = (__gcry_fips_mode()|0);
+ $37 = ($36|0)!=(0);
+ $38 = $37 ? 121 : 110;
+ $39 = (__gcry_enforced_fips_mode()|0);
+ $40 = ($39|0)!=(0);
+ $41 = $40 ? 121 : 110;
+ HEAP32[$vararg_buffer33>>2] = $38;
+ $vararg_ptr36 = ((($vararg_buffer33)) + 4|0);
+ HEAP32[$vararg_ptr36>>2] = $41;
+ (FUNCTION_TABLE_iiii[$34 & 127]($35,22509,$vararg_buffer33)|0);
+ $42 = (__gcry_get_rng_type(0)|0);
+ $i = $42;
+ $43 = $i;
+ switch ($43|0) {
+ case 1: {
+ $s = 22527;
+ $44 = $0;
+ $45 = $1;
+ $46 = $s;
+ $47 = $i;
+ HEAP32[$vararg_buffer38>>2] = $46;
+ $vararg_ptr41 = ((($vararg_buffer38)) + 4|0);
+ HEAP32[$vararg_ptr41>>2] = $47;
+ (FUNCTION_TABLE_iiii[$44 & 127]($45,22561,$vararg_buffer38)|0);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 2: {
+ $s = 22536;
+ $44 = $0;
+ $45 = $1;
+ $46 = $s;
+ $47 = $i;
+ HEAP32[$vararg_buffer38>>2] = $46;
+ $vararg_ptr41 = ((($vararg_buffer38)) + 4|0);
+ HEAP32[$vararg_ptr41>>2] = $47;
+ (FUNCTION_TABLE_iiii[$44 & 127]($45,22561,$vararg_buffer38)|0);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 3: {
+ $s = 22541;
+ $44 = $0;
+ $45 = $1;
+ $46 = $s;
+ $47 = $i;
+ HEAP32[$vararg_buffer38>>2] = $46;
+ $vararg_ptr41 = ((($vararg_buffer38)) + 4|0);
+ HEAP32[$vararg_ptr41>>2] = $47;
+ (FUNCTION_TABLE_iiii[$44 & 127]($45,22561,$vararg_buffer38)|0);
+ STACKTOP = sp;return;
+ break;
+ }
+ default: {
+ __gcry_bug(22332,321,22548);
+ // unreachable;
+ }
+ }
+}
+function _external_lock_test($cmd) {
+ $cmd = $cmd|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $cmd;
+ $rc = 0;
+ $1 = $0;
+ switch ($1|0) {
+ case 30111: {
+ $2 = (_gpgrt_lock_init(1080)|0);
+ $rc = $2;
+ break;
+ }
+ case 30112: {
+ $3 = (_gpgrt_lock_lock(1080)|0);
+ $rc = $3;
+ break;
+ }
+ case 30113: {
+ $4 = (_gpgrt_lock_unlock(1080)|0);
+ $rc = $4;
+ break;
+ }
+ case 30114: {
+ $5 = (_gpgrt_lock_destroy(1080)|0);
+ $rc = $5;
+ break;
+ }
+ default: {
+ $rc = 61;
+ }
+ }
+ $6 = $rc;
+ STACKTOP = sp;return ($6|0);
+}
+function __gcry_malloc($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $2 = 0, $mem = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $mem = sp;
+ $0 = $n;
+ HEAP32[$mem>>2] = 0;
+ $1 = $0;
+ (_do_malloc($1,0,$mem)|0);
+ $2 = HEAP32[$mem>>2]|0;
+ STACKTOP = sp;return ($2|0);
+}
+function _do_malloc($n,$flags,$mem) {
+ $n = $n|0;
+ $flags = $flags|0;
+ $mem = $mem|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $m = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ $1 = $flags;
+ $2 = $mem;
+ $err = 0;
+ $3 = $1;
+ $4 = $3 & 1;
+ $5 = ($4|0)!=(0);
+ do {
+ if ($5) {
+ $6 = (_get_no_secure_memory()|0);
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ label = 6;
+ } else {
+ $8 = HEAP32[17673]|0;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = HEAP32[17673]|0;
+ $11 = $0;
+ $12 = (FUNCTION_TABLE_ii[$10 & 63]($11)|0);
+ $m = $12;
+ break;
+ } else {
+ $13 = $0;
+ $14 = (__gcry_private_malloc_secure($13)|0);
+ $m = $14;
+ break;
+ }
+ }
+ } else {
+ label = 6;
+ }
+ } while(0);
+ do {
+ if ((label|0) == 6) {
+ $15 = HEAP32[17672]|0;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = HEAP32[17672]|0;
+ $18 = $0;
+ $19 = (FUNCTION_TABLE_ii[$17 & 63]($18)|0);
+ $m = $19;
+ break;
+ } else {
+ $20 = $0;
+ $21 = (__gcry_private_malloc($20)|0);
+ $m = $21;
+ break;
+ }
+ }
+ } while(0);
+ $22 = $m;
+ $23 = ($22|0)!=(0|0);
+ if ($23) {
+ $30 = $m;
+ $31 = $2;
+ HEAP32[$31>>2] = $30;
+ $32 = $err;
+ STACKTOP = sp;return ($32|0);
+ }
+ $24 = (___errno_location()|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ _gpg_err_set_errno(12);
+ }
+ $27 = (___errno_location()|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (_gpg_err_code_from_errno($28)|0);
+ $err = $29;
+ $32 = $err;
+ STACKTOP = sp;return ($32|0);
+}
+function _get_no_secure_memory() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = HEAP32[17669]|0;
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $3 = (__gcry_enforced_fips_mode()|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ HEAP32[17669] = 0;
+ $0 = 0;
+ break;
+ } else {
+ $5 = HEAP32[17669]|0;
+ $0 = $5;
+ break;
+ }
+ } else {
+ $0 = 0;
+ }
+ } while(0);
+ $6 = $0;
+ STACKTOP = sp;return ($6|0);
+}
+function __gcry_malloc_secure($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $2 = 0, $mem = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $mem = sp;
+ $0 = $n;
+ HEAP32[$mem>>2] = 0;
+ $1 = $0;
+ (_do_malloc($1,1,$mem)|0);
+ $2 = HEAP32[$mem>>2]|0;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_is_secure($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = (_get_no_secure_memory()|0);
+ $3 = ($2|0)!=(0);
+ do {
+ if ($3) {
+ $0 = 0;
+ } else {
+ $4 = HEAP32[17674]|0;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = HEAP32[17674]|0;
+ $7 = $1;
+ $8 = (FUNCTION_TABLE_ii[$6 & 63]($7)|0);
+ $0 = $8;
+ break;
+ } else {
+ $9 = $1;
+ $10 = (__gcry_private_is_secure($9)|0);
+ $0 = $10;
+ break;
+ }
+ }
+ } while(0);
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+}
+function __gcry_realloc($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $n;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ $5 = $2;
+ if (!($4)) {
+ $6 = (__gcry_malloc($5)|0);
+ $0 = $6;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ }
+ $7 = ($5|0)!=(0);
+ if (!($7)) {
+ $8 = $1;
+ __gcry_free($8);
+ $0 = 0;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ }
+ $9 = HEAP32[17675]|0;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = HEAP32[17675]|0;
+ $12 = $1;
+ $13 = $2;
+ $14 = (FUNCTION_TABLE_iii[$11 & 127]($12,$13)|0);
+ $p = $14;
+ } else {
+ $15 = $1;
+ $16 = $2;
+ $17 = (__gcry_private_realloc($15,$16)|0);
+ $p = $17;
+ }
+ $18 = $p;
+ $19 = ($18|0)!=(0|0);
+ if (!($19)) {
+ $20 = (___errno_location()|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ _gpg_err_set_errno(12);
+ }
+ }
+ $23 = $p;
+ $0 = $23;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+}
+function __gcry_free($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $save_errno = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = (___errno_location()|0);
+ $4 = HEAP32[$3>>2]|0;
+ $save_errno = $4;
+ $5 = HEAP32[17676]|0;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = HEAP32[17676]|0;
+ $8 = $0;
+ FUNCTION_TABLE_vi[$7 & 127]($8);
+ } else {
+ $9 = $0;
+ __gcry_private_free($9);
+ }
+ $10 = $save_errno;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ STACKTOP = sp;return;
+ }
+ $12 = $save_errno;
+ _gpg_err_set_errno($12);
+ STACKTOP = sp;return;
+}
+function __gcry_calloc($n,$m) {
+ $n = $n|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $bytes = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $n;
+ $2 = $m;
+ $3 = $1;
+ $4 = $2;
+ $5 = Math_imul($3, $4)|0;
+ $bytes = $5;
+ $6 = $2;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $bytes;
+ $9 = $2;
+ $10 = (($8>>>0) / ($9>>>0))&-1;
+ $11 = $1;
+ $12 = ($10|0)!=($11|0);
+ if ($12) {
+ _gpg_err_set_errno(12);
+ $0 = 0;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ }
+ }
+ $13 = $bytes;
+ $14 = (__gcry_malloc($13)|0);
+ $p = $14;
+ $15 = $p;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $p;
+ $18 = $bytes;
+ _memset(($17|0),0,($18|0))|0;
+ }
+ $19 = $p;
+ $0 = $19;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+}
+function __gcry_calloc_secure($n,$m) {
+ $n = $n|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $bytes = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $n;
+ $2 = $m;
+ $3 = $1;
+ $4 = $2;
+ $5 = Math_imul($3, $4)|0;
+ $bytes = $5;
+ $6 = $2;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $bytes;
+ $9 = $2;
+ $10 = (($8>>>0) / ($9>>>0))&-1;
+ $11 = $1;
+ $12 = ($10|0)!=($11|0);
+ if ($12) {
+ _gpg_err_set_errno(12);
+ $0 = 0;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ }
+ }
+ $13 = $bytes;
+ $14 = (__gcry_malloc_secure($13)|0);
+ $p = $14;
+ $15 = $p;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $p;
+ $18 = $bytes;
+ _memset(($17|0),0,($18|0))|0;
+ }
+ $19 = $p;
+ $0 = $19;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+}
+function __gcry_strdup($string) {
+ $string = $string|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $string_cp = 0, $string_n = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $string;
+ $string_cp = 0;
+ $string_n = 0;
+ $1 = $0;
+ $2 = (_strlen($1)|0);
+ $string_n = $2;
+ $3 = $0;
+ $4 = (__gcry_is_secure($3)|0);
+ $5 = ($4|0)!=(0);
+ $6 = $string_n;
+ $7 = (($6) + 1)|0;
+ if ($5) {
+ $8 = (__gcry_malloc_secure($7)|0);
+ $string_cp = $8;
+ } else {
+ $9 = (__gcry_malloc($7)|0);
+ $string_cp = $9;
+ }
+ $10 = $string_cp;
+ $11 = ($10|0)!=(0|0);
+ if (!($11)) {
+ $14 = $string_cp;
+ STACKTOP = sp;return ($14|0);
+ }
+ $12 = $string_cp;
+ $13 = $0;
+ (_strcpy($12,$13)|0);
+ $14 = $string_cp;
+ STACKTOP = sp;return ($14|0);
+}
+function __gcry_xmalloc($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ while(1) {
+ $1 = $0;
+ $2 = (__gcry_malloc($1)|0);
+ $p = $2;
+ $3 = ($2|0)!=(0|0);
+ $4 = $3 ^ 1;
+ if (!($4)) {
+ label = 6;
+ break;
+ }
+ $5 = (__gcry_fips_mode()|0);
+ $6 = ($5|0)==(0);
+ $7 = HEAP32[17677]|0;
+ $8 = ($7|0)!=(0|0);
+ $or$cond = $6 & $8;
+ if (!($or$cond)) {
+ label = 5;
+ break;
+ }
+ $9 = HEAP32[17677]|0;
+ $10 = HEAP32[17678]|0;
+ $11 = $0;
+ $12 = (FUNCTION_TABLE_iiii[$9 & 127]($10,$11,0)|0);
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ label = 5;
+ break;
+ }
+ }
+ if ((label|0) == 5) {
+ $14 = (___errno_location()|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (_gpg_err_code_from_errno($15)|0);
+ __gcry_fatal_error($16,0);
+ // unreachable;
+ }
+ else if ((label|0) == 6) {
+ $17 = $p;
+ STACKTOP = sp;return ($17|0);
+ }
+ return (0)|0;
+}
+function __gcry_xrealloc($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $n;
+ while(1) {
+ $2 = $0;
+ $3 = $1;
+ $4 = (__gcry_realloc($2,$3)|0);
+ $p = $4;
+ $5 = ($4|0)!=(0|0);
+ $6 = $5 ^ 1;
+ if (!($6)) {
+ label = 6;
+ break;
+ }
+ $7 = (__gcry_fips_mode()|0);
+ $8 = ($7|0)==(0);
+ $9 = HEAP32[17677]|0;
+ $10 = ($9|0)!=(0|0);
+ $or$cond = $8 & $10;
+ if (!($or$cond)) {
+ label = 5;
+ break;
+ }
+ $11 = HEAP32[17677]|0;
+ $12 = HEAP32[17678]|0;
+ $13 = $1;
+ $14 = $0;
+ $15 = (__gcry_is_secure($14)|0);
+ $16 = ($15|0)!=(0);
+ $17 = $16 ? 3 : 2;
+ $18 = (FUNCTION_TABLE_iiii[$11 & 127]($12,$13,$17)|0);
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ label = 5;
+ break;
+ }
+ }
+ if ((label|0) == 5) {
+ $20 = (___errno_location()|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (_gpg_err_code_from_errno($21)|0);
+ __gcry_fatal_error($22,0);
+ // unreachable;
+ }
+ else if ((label|0) == 6) {
+ $23 = $p;
+ STACKTOP = sp;return ($23|0);
+ }
+ return (0)|0;
+}
+function __gcry_xmalloc_secure($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0;
+ var $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ while(1) {
+ $1 = $0;
+ $2 = (__gcry_malloc_secure($1)|0);
+ $p = $2;
+ $3 = ($2|0)!=(0|0);
+ $4 = $3 ^ 1;
+ if (!($4)) {
+ label = 6;
+ break;
+ }
+ $5 = (__gcry_fips_mode()|0);
+ $6 = ($5|0)==(0);
+ $7 = HEAP32[17677]|0;
+ $8 = ($7|0)!=(0|0);
+ $or$cond = $6 & $8;
+ if (!($or$cond)) {
+ label = 5;
+ break;
+ }
+ $9 = HEAP32[17677]|0;
+ $10 = HEAP32[17678]|0;
+ $11 = $0;
+ $12 = (FUNCTION_TABLE_iiii[$9 & 127]($10,$11,1)|0);
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ label = 5;
+ break;
+ }
+ }
+ if ((label|0) == 5) {
+ $14 = (___errno_location()|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (_gpg_err_code_from_errno($15)|0);
+ $17 = (__gcry_gettext(22578)|0);
+ __gcry_fatal_error($16,$17);
+ // unreachable;
+ }
+ else if ((label|0) == 6) {
+ $18 = $p;
+ STACKTOP = sp;return ($18|0);
+ }
+ return (0)|0;
+}
+function __gcry_xcalloc($n,$m) {
+ $n = $n|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $nbytes = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ $1 = $m;
+ $2 = $0;
+ $3 = $1;
+ $4 = Math_imul($2, $3)|0;
+ $nbytes = $4;
+ $5 = $1;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $nbytes;
+ $8 = $1;
+ $9 = (($7>>>0) / ($8>>>0))&-1;
+ $10 = $0;
+ $11 = ($9|0)!=($10|0);
+ if ($11) {
+ _gpg_err_set_errno(12);
+ $12 = (___errno_location()|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (_gpg_err_code_from_errno($13)|0);
+ __gcry_fatal_error($14,0);
+ // unreachable;
+ }
+ }
+ $15 = $nbytes;
+ $16 = (__gcry_xmalloc($15)|0);
+ $p = $16;
+ $17 = $p;
+ $18 = $nbytes;
+ _memset(($17|0),0,($18|0))|0;
+ $19 = $p;
+ STACKTOP = sp;return ($19|0);
+}
+function __gcry_xcalloc_secure($n,$m) {
+ $n = $n|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $nbytes = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ $1 = $m;
+ $2 = $0;
+ $3 = $1;
+ $4 = Math_imul($2, $3)|0;
+ $nbytes = $4;
+ $5 = $1;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $nbytes;
+ $8 = $1;
+ $9 = (($7>>>0) / ($8>>>0))&-1;
+ $10 = $0;
+ $11 = ($9|0)!=($10|0);
+ if ($11) {
+ _gpg_err_set_errno(12);
+ $12 = (___errno_location()|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (_gpg_err_code_from_errno($13)|0);
+ __gcry_fatal_error($14,0);
+ // unreachable;
+ }
+ }
+ $15 = $nbytes;
+ $16 = (__gcry_xmalloc_secure($15)|0);
+ $p = $16;
+ $17 = $p;
+ $18 = $nbytes;
+ _memset(($17|0),0,($18|0))|0;
+ $19 = $p;
+ STACKTOP = sp;return ($19|0);
+}
+function __gcry_xstrdup($string) {
+ $string = $string|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $is_sec = 0, $n = 0, $or$cond = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $string;
+ while(1) {
+ $1 = $0;
+ $2 = (__gcry_strdup($1)|0);
+ $p = $2;
+ $3 = ($2|0)!=(0|0);
+ $4 = $3 ^ 1;
+ if (!($4)) {
+ label = 8;
+ break;
+ }
+ $5 = $0;
+ $6 = (_strlen($5)|0);
+ $n = $6;
+ $7 = $0;
+ $8 = (__gcry_is_secure($7)|0);
+ $9 = ($8|0)!=(0);
+ $10 = $9 ^ 1;
+ $11 = $10 ^ 1;
+ $12 = $11&1;
+ $is_sec = $12;
+ $13 = (__gcry_fips_mode()|0);
+ $14 = ($13|0)==(0);
+ $15 = HEAP32[17677]|0;
+ $16 = ($15|0)!=(0|0);
+ $or$cond = $14 & $16;
+ if (!($or$cond)) {
+ break;
+ }
+ $17 = HEAP32[17677]|0;
+ $18 = HEAP32[17678]|0;
+ $19 = $n;
+ $20 = $is_sec;
+ $21 = (FUNCTION_TABLE_iiii[$17 & 127]($18,$19,$20)|0);
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ break;
+ }
+ }
+ if ((label|0) == 8) {
+ $30 = $p;
+ STACKTOP = sp;return ($30|0);
+ }
+ $23 = (___errno_location()|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (_gpg_err_code_from_errno($24)|0);
+ $26 = $is_sec;
+ $27 = ($26|0)!=(0);
+ if (!($27)) {
+ $29 = 0;
+ __gcry_fatal_error($25,$29);
+ // unreachable;
+ }
+ $28 = (__gcry_gettext(22578)|0);
+ $29 = $28;
+ __gcry_fatal_error($25,$29);
+ // unreachable;
+ return (0)|0;
+}
+function __gcry_get_debug_flag($mask) {
+ $mask = $mask|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $mask;
+ $2 = (__gcry_fips_mode()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $0 = 0;
+ } else {
+ $4 = HEAP32[17670]|0;
+ $5 = $1;
+ $6 = $4 & $5;
+ $0 = $6;
+ }
+ $7 = $0;
+ STACKTOP = sp;return ($7|0);
+}
+function __gcry_set_progress_handler($cb,$cb_data) {
+ $cb = $cb|0;
+ $cb_data = $cb_data|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $cb;
+ $1 = $cb_data;
+ $2 = $0;
+ $3 = $1;
+ __gcry_register_primegen_progress($2,$3);
+ $4 = $0;
+ $5 = $1;
+ __gcry_register_random_progress($4,$5);
+ STACKTOP = sp;return;
+}
+function __gcry_sexp_create($retsexp,$buffer,$length,$autodetect,$freefnc) {
+ $retsexp = $retsexp|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $autodetect = $autodetect|0;
+ $freefnc = $freefnc|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $errcode = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $se = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $errcode = sp + 8|0;
+ $se = sp + 4|0;
+ $1 = $retsexp;
+ $2 = $buffer;
+ $3 = $length;
+ $4 = $autodetect;
+ $5 = $freefnc;
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ $0 = 45;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+ }
+ $8 = $1;
+ HEAP32[$8>>2] = 0;
+ $9 = $4;
+ $10 = ($9|0)<(0);
+ $11 = $4;
+ $12 = ($11|0)>(1);
+ $or$cond = $10 | $12;
+ $or$cond$not = $or$cond ^ 1;
+ $13 = $2;
+ $14 = ($13|0)!=(0|0);
+ $or$cond3 = $or$cond$not & $14;
+ if (!($or$cond3)) {
+ $0 = 45;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+ }
+ $15 = $3;
+ $16 = ($15|0)!=(0);
+ $17 = $4;
+ $18 = ($17|0)!=(0);
+ $or$cond5 = $16 | $18;
+ if ($or$cond5) {
+ $24 = $3;
+ $25 = ($24|0)==(0);
+ $26 = $4;
+ $27 = ($26|0)!=(0);
+ $or$cond7 = $25 & $27;
+ if ($or$cond7) {
+ $28 = $2;
+ $29 = (_strlen($28)|0);
+ $3 = $29;
+ }
+ } else {
+ $19 = $2;
+ $20 = (__gcry_sexp_canon_len($19,0,0,$errcode)|0);
+ $3 = $20;
+ $21 = $3;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ $23 = HEAP32[$errcode>>2]|0;
+ $0 = $23;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+ }
+ }
+ $30 = $2;
+ $31 = $3;
+ $32 = (_do_sexp_sscan($se,0,$30,$31,0,0,$vararg_buffer)|0);
+ HEAP32[$errcode>>2] = $32;
+ $33 = HEAP32[$errcode>>2]|0;
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ $35 = HEAP32[$errcode>>2]|0;
+ $0 = $35;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+ }
+ $36 = HEAP32[$se>>2]|0;
+ $37 = $1;
+ HEAP32[$37>>2] = $36;
+ $38 = $5;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ $40 = $5;
+ $41 = $2;
+ FUNCTION_TABLE_vi[$40 & 127]($41);
+ }
+ $0 = 0;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+}
+function __gcry_sexp_canon_len($buffer,$length,$erroff,$errcode) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $erroff = $erroff|0;
+ $errcode = $errcode|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $count = 0, $datalen = 0, $disphint = 0, $dummy_errcode = 0, $dummy_erroff = 0, $level = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $dummy_erroff = sp + 12|0;
+ $dummy_errcode = sp + 8|0;
+ $1 = $buffer;
+ $2 = $length;
+ $3 = $erroff;
+ $4 = $errcode;
+ $disphint = 0;
+ $datalen = 0;
+ $count = 0;
+ $level = 0;
+ $5 = $3;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $3 = $dummy_erroff;
+ }
+ $7 = $4;
+ $8 = ($7|0)!=(0|0);
+ if (!($8)) {
+ $4 = $dummy_errcode;
+ }
+ $9 = $4;
+ HEAP32[$9>>2] = 0;
+ $10 = $3;
+ HEAP32[$10>>2] = 0;
+ $11 = $1;
+ $12 = ($11|0)!=(0|0);
+ if (!($12)) {
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ }
+ $13 = $1;
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14&255;
+ $16 = ($15|0)!=(40);
+ if ($16) {
+ $17 = $4;
+ HEAP32[$17>>2] = 204;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ }
+ $18 = $1;
+ $p = $18;
+ L15: while(1) {
+ $19 = $2;
+ $20 = ($19|0)!=(0);
+ if ($20) {
+ $21 = $count;
+ $22 = $2;
+ $23 = ($21>>>0)>=($22>>>0);
+ if ($23) {
+ label = 12;
+ break;
+ }
+ }
+ $27 = $datalen;
+ $28 = ($27|0)!=(0);
+ $29 = $p;
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ do {
+ if ($28) {
+ $32 = ($31|0)==(58);
+ if ($32) {
+ $33 = $2;
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ $35 = $count;
+ $36 = $datalen;
+ $37 = (($35) + ($36))|0;
+ $38 = $2;
+ $39 = ($37>>>0)>=($38>>>0);
+ if ($39) {
+ label = 17;
+ break L15;
+ }
+ }
+ $43 = $datalen;
+ $44 = $count;
+ $45 = (($44) + ($43))|0;
+ $count = $45;
+ $46 = $datalen;
+ $47 = $p;
+ $48 = (($47) + ($46)|0);
+ $p = $48;
+ $datalen = 0;
+ break;
+ } else {
+ $49 = $p;
+ $50 = HEAP8[$49>>0]|0;
+ $51 = $50&255;
+ $52 = ($51|0)>=(48);
+ if (!($52)) {
+ label = 22;
+ break L15;
+ }
+ $53 = $p;
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = ($55|0)<=(57);
+ if (!($56)) {
+ label = 22;
+ break L15;
+ }
+ $57 = $datalen;
+ $58 = ($57*10)|0;
+ $59 = $p;
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60&255;
+ $62 = (($61) - 48)|0;
+ $63 = (($58) + ($62))|0;
+ $datalen = $63;
+ break;
+ }
+ } else {
+ $67 = ($31|0)==(40);
+ if ($67) {
+ $68 = $disphint;
+ $69 = ($68|0)!=(0|0);
+ if ($69) {
+ label = 25;
+ break L15;
+ }
+ $73 = $level;
+ $74 = (($73) + 1)|0;
+ $level = $74;
+ break;
+ }
+ $75 = $p;
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76&255;
+ $78 = ($77|0)==(41);
+ if ($78) {
+ $79 = $level;
+ $80 = ($79|0)!=(0);
+ if (!($80)) {
+ label = 29;
+ break L15;
+ }
+ $84 = $disphint;
+ $85 = ($84|0)!=(0|0);
+ if ($85) {
+ label = 31;
+ break L15;
+ }
+ $89 = $level;
+ $90 = (($89) + -1)|0;
+ $level = $90;
+ $91 = ($90|0)!=(0);
+ if ($91) {
+ break;
+ } else {
+ label = 33;
+ break L15;
+ }
+ }
+ $94 = $p;
+ $95 = HEAP8[$94>>0]|0;
+ $96 = $95&255;
+ $97 = ($96|0)==(91);
+ if ($97) {
+ $98 = $disphint;
+ $99 = ($98|0)!=(0|0);
+ if ($99) {
+ label = 36;
+ break L15;
+ }
+ $103 = $p;
+ $disphint = $103;
+ break;
+ }
+ $104 = $p;
+ $105 = HEAP8[$104>>0]|0;
+ $106 = $105&255;
+ $107 = ($106|0)==(93);
+ if ($107) {
+ $108 = $disphint;
+ $109 = ($108|0)!=(0|0);
+ if (!($109)) {
+ label = 40;
+ break L15;
+ }
+ $disphint = 0;
+ break;
+ }
+ $113 = $p;
+ $114 = HEAP8[$113>>0]|0;
+ $115 = $114&255;
+ $116 = ($115|0)>=(48);
+ if (!($116)) {
+ label = 47;
+ break L15;
+ }
+ $117 = $p;
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118&255;
+ $120 = ($119|0)<=(57);
+ if (!($120)) {
+ label = 47;
+ break L15;
+ }
+ $121 = $p;
+ $122 = HEAP8[$121>>0]|0;
+ $123 = $122&255;
+ $124 = ($123|0)==(48);
+ if ($124) {
+ label = 45;
+ break L15;
+ }
+ $128 = $p;
+ $129 = HEAP8[$128>>0]|0;
+ $130 = $129&255;
+ $131 = (($130) - 48)|0;
+ $datalen = $131;
+ }
+ } while(0);
+ $146 = $p;
+ $147 = ((($146)) + 1|0);
+ $p = $147;
+ $148 = $count;
+ $149 = (($148) + 1)|0;
+ $count = $149;
+ }
+ switch (label|0) {
+ case 12: {
+ $24 = $count;
+ $25 = $3;
+ HEAP32[$25>>2] = $24;
+ $26 = $4;
+ HEAP32[$26>>2] = 202;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 17: {
+ $40 = $count;
+ $41 = $3;
+ HEAP32[$41>>2] = $40;
+ $42 = $4;
+ HEAP32[$42>>2] = 202;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 22: {
+ $64 = $count;
+ $65 = $3;
+ HEAP32[$65>>2] = $64;
+ $66 = $4;
+ HEAP32[$66>>2] = 201;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 25: {
+ $70 = $count;
+ $71 = $3;
+ HEAP32[$71>>2] = $70;
+ $72 = $4;
+ HEAP32[$72>>2] = 209;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 29: {
+ $81 = $count;
+ $82 = $3;
+ HEAP32[$82>>2] = $81;
+ $83 = $4;
+ HEAP32[$83>>2] = 203;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 31: {
+ $86 = $count;
+ $87 = $3;
+ HEAP32[$87>>2] = $86;
+ $88 = $4;
+ HEAP32[$88>>2] = 209;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 33: {
+ $92 = $count;
+ $93 = (($92) + 1)|0;
+ $count = $93;
+ $0 = $93;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 36: {
+ $100 = $count;
+ $101 = $3;
+ HEAP32[$101>>2] = $100;
+ $102 = $4;
+ HEAP32[$102>>2] = 208;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 40: {
+ $110 = $count;
+ $111 = $3;
+ HEAP32[$111>>2] = $110;
+ $112 = $4;
+ HEAP32[$112>>2] = 209;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 45: {
+ $125 = $count;
+ $126 = $3;
+ HEAP32[$126>>2] = $125;
+ $127 = $4;
+ HEAP32[$127>>2] = 207;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 47: {
+ $132 = $p;
+ $133 = HEAP8[$132>>0]|0;
+ $134 = $133&255;
+ $135 = ($134|0)==(38);
+ if (!($135)) {
+ $136 = $p;
+ $137 = HEAP8[$136>>0]|0;
+ $138 = $137&255;
+ $139 = ($138|0)==(92);
+ if (!($139)) {
+ $143 = $count;
+ $144 = $3;
+ HEAP32[$144>>2] = $143;
+ $145 = $4;
+ HEAP32[$145>>2] = 205;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ }
+ }
+ $140 = $count;
+ $141 = $3;
+ HEAP32[$141>>2] = $140;
+ $142 = $4;
+ HEAP32[$142>>2] = 210;
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ }
+ return (0)|0;
+}
+function _do_sexp_sscan($retsexp,$erroff,$buffer,$length,$argflag,$arg_list,$varargs) {
+ $retsexp = $retsexp|0;
+ $erroff = $erroff|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $argflag = $argflag|0;
+ $arg_list = $arg_list|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg_ptr = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $retsexp;
+ $1 = $erroff;
+ $2 = $buffer;
+ $3 = $length;
+ $4 = $argflag;
+ $5 = $arg_list;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ $10 = $4;
+ $11 = $5;
+ $12 = (_do_vsexp_sscan($6,$7,$8,$9,$10,$11,$arg_ptr)|0);
+ $rc = $12;
+ $13 = $rc;
+ STACKTOP = sp;return ($13|0);
+}
+function _do_vsexp_sscan($retsexp,$erroff,$buffer,$length,$argflag,$arg_list,$arg_ptr) {
+ $retsexp = $retsexp|0;
+ $erroff = $erroff|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $argflag = $argflag|0;
+ $arg_list = $arg_list|0;
+ $arg_ptr = $arg_ptr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
+ var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
+ var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
+ var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
+ var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
+ var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
+ var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
+ var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
+ var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0;
+ var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0;
+ var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0;
+ var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0;
+ var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0;
+ var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0;
+ var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0;
+ var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0;
+ var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0;
+ var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0;
+ var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0;
+ var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0;
+ var $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0;
+ var $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0;
+ var $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0;
+ var $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0;
+ var $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0;
+ var $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0;
+ var $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0;
+ var $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0;
+ var $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0;
+ var $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0;
+ var $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0;
+ var $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0;
+ var $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0;
+ var $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0;
+ var $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0;
+ var $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0;
+ var $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0;
+ var $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0;
+ var $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0;
+ var $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0;
+ var $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0;
+ var $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0;
+ var $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0;
+ var $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0;
+ var $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0;
+ var $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0;
+ var $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0;
+ var $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0;
+ var $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0;
+ var $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0;
+ var $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0;
+ var $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0;
+ var $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $_ms_err = 0, $_ms_err1 = 0, $_ms_err10 = 0, $_ms_err14 = 0, $_ms_err18 = 0, $_ms_err23 = 0, $_ms_err28 = 0, $_ms_err31 = 0, $_ms_err32 = 0, $_ms_err33 = 0, $_ms_err34 = 0, $_ms_err4 = 0;
+ var $_ms_err6 = 0, $_ms_err8 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $aint = 0, $aint25 = 0, $alen = 0, $alen17 = 0, $alen22 = 0, $alen26 = 0, $alen30 = 0, $aoff = 0, $arg_counter = 0, $arglist_current = 0, $arglist_current10 = 0, $arglist_current13 = 0, $arglist_current16 = 0;
+ var $arglist_current19 = 0, $arglist_current25 = 0, $arglist_current7 = 0, $arglist_next = 0, $arglist_next11 = 0, $arglist_next14 = 0, $arglist_next17 = 0, $arglist_next20 = 0, $arglist_next26 = 0, $arglist_next8 = 0, $asexp = 0, $ashort = 0, $ashort13 = 0, $ashort15 = 0, $ashort2 = 0, $ashort21 = 0, $ashort24 = 0, $ashort29 = 0, $ashort3 = 0, $ashort5 = 0;
+ var $ashort7 = 0, $ashort9 = 0, $astr = 0, $astr16 = 0, $base64 = 0, $buf = 0, $buf27 = 0, $c = 0, $datalen = 0, $digptr = 0, $disphint = 0, $dummy_erroff = 0, $err = 0, $expanded = 0, $expanded27 = 0, $expanded29 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0;
+ var $expanded36 = 0, $expanded37 = 0, $expanded38 = 0, $expanded40 = 0, $expanded41 = 0, $expanded43 = 0, $expanded44 = 0, $expanded45 = 0, $expanded47 = 0, $expanded48 = 0, $expanded50 = 0, $expanded51 = 0, $expanded52 = 0, $expanded54 = 0, $expanded55 = 0, $expanded57 = 0, $expanded58 = 0, $expanded59 = 0, $expanded61 = 0, $expanded62 = 0;
+ var $expanded64 = 0, $expanded65 = 0, $expanded66 = 0, $expanded68 = 0, $expanded69 = 0, $expanded71 = 0, $expanded72 = 0, $expanded73 = 0, $hexcount = 0, $hexfmt = 0, $len = 0, $level = 0, $m = 0, $mp = 0, $mpifmt = 0, $n = 0, $nbits = 0, $newhead = 0, $newhead12 = 0, $newhead20 = 0;
+ var $newsexp = 0, $newsexp11 = 0, $newsexp19 = 0, $nm = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $p = 0, $percent = 0, $quoted = 0, $quoted_esc = 0, $save = 0, $tmpc = 0, $tokenp = 0, $vararg_buffer = 0, $vararg_buffer21 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 400|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer21 = sp + 16|0;
+ $vararg_buffer = sp + 8|0;
+ $dummy_erroff = sp + 208|0;
+ $c = sp + 196|0;
+ $ashort = sp + 316|0;
+ $ashort2 = sp + 314|0;
+ $ashort3 = sp + 312|0;
+ $ashort5 = sp + 310|0;
+ $ashort7 = sp + 308|0;
+ $nm = sp + 152|0;
+ $nbits = sp + 140|0;
+ $ashort9 = sp + 306|0;
+ $ashort13 = sp + 304|0;
+ $ashort15 = sp + 302|0;
+ $ashort21 = sp + 300|0;
+ $buf = sp + 354|0;
+ $ashort24 = sp + 298|0;
+ $buf27 = sp + 319|0;
+ $ashort29 = sp + 296|0;
+ $aoff = sp + 48|0;
+ $_vset_long = sp;
+ $1 = $retsexp;
+ $2 = $erroff;
+ $3 = $buffer;
+ $4 = $length;
+ $5 = $argflag;
+ $6 = $arg_list;
+ $7 = $arg_ptr;
+ $err = 0;
+ $digptr = 0;
+ $quoted = 0;
+ $tokenp = 0;
+ $hexfmt = 0;
+ $base64 = 0;
+ $disphint = 0;
+ $percent = 0;
+ $hexcount = 0;
+ $quoted_esc = 0;
+ $datalen = 0;
+ $arg_counter = 0;
+ $level = 0;
+ $8 = $1;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ $0 = 45;
+ $1187 = $0;
+ STACKTOP = sp;return ($1187|0);
+ }
+ $10 = $1;
+ HEAP32[$10>>2] = 0;
+ $11 = $3;
+ $12 = ($11|0)!=(0|0);
+ if (!($12)) {
+ $0 = 45;
+ $1187 = $0;
+ STACKTOP = sp;return ($1187|0);
+ }
+ $13 = $2;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $2 = $dummy_erroff;
+ }
+ $15 = $4;
+ $16 = (($15) + 2)|0;
+ $17 = ((($c)) + 4|0);
+ HEAP32[$17>>2] = $16;
+ $18 = $4;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $20 = $3;
+ $21 = (__gcry_is_secure($20)|0);
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $23 = ((($c)) + 4|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (1 + ($24))|0;
+ $26 = (($25) - 1)|0;
+ $27 = (__gcry_malloc_secure($26)|0);
+ HEAP32[$c>>2] = $27;
+ } else {
+ label = 10;
+ }
+ } else {
+ label = 10;
+ }
+ if ((label|0) == 10) {
+ $28 = ((($c)) + 4|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (1 + ($29))|0;
+ $31 = (($30) - 1)|0;
+ $32 = (__gcry_malloc($31)|0);
+ HEAP32[$c>>2] = $32;
+ }
+ $33 = HEAP32[$c>>2]|0;
+ $34 = ($33|0)!=(0|0);
+ L18: do {
+ if ($34) {
+ $39 = HEAP32[$c>>2]|0;
+ $40 = ((($c)) + 8|0);
+ HEAP32[$40>>2] = $39;
+ $41 = $3;
+ $p = $41;
+ $42 = $4;
+ $n = $42;
+ L20: while(1) {
+ $43 = $n;
+ $44 = ($43|0)!=(0);
+ if (!($44)) {
+ label = 220;
+ break;
+ }
+ $45 = $tokenp;
+ $46 = ($45|0)==(0|0);
+ $47 = $hexfmt;
+ $48 = ($47|0)!=(0|0);
+ $or$cond = $46 | $48;
+ if ($or$cond) {
+ label = 20;
+ } else {
+ $49 = $p;
+ $50 = HEAP8[$49>>0]|0;
+ $51 = $50 << 24 >> 24;
+ $52 = (_strchr(22614,$51)|0);
+ $53 = ($52|0)!=(0|0);
+ if (!($53)) {
+ $54 = $p;
+ $55 = $tokenp;
+ $56 = $54;
+ $57 = $55;
+ $58 = (($56) - ($57))|0;
+ $datalen = $58;
+ $59 = $datalen;
+ $60 = (_make_space($c,$59)|0);
+ $_ms_err = $60;
+ $61 = $_ms_err;
+ $62 = ($61|0)!=(0);
+ if ($62) {
+ label = 18;
+ break;
+ }
+ $70 = ((($c)) + 8|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = ((($71)) + 1|0);
+ HEAP32[$70>>2] = $72;
+ HEAP8[$71>>0] = 1;
+ $73 = $datalen;
+ $74 = $73&65535;
+ HEAP16[$ashort>>1] = $74;
+ $75 = ((($c)) + 8|0);
+ $76 = HEAP32[$75>>2]|0;
+ ;HEAP8[$76>>0]=HEAP8[$ashort>>0]|0;HEAP8[$76+1>>0]=HEAP8[$ashort+1>>0]|0;
+ $77 = ((($c)) + 8|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = ((($78)) + 2|0);
+ HEAP32[$77>>2] = $79;
+ $80 = ((($c)) + 8|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $tokenp;
+ $83 = $datalen;
+ _memcpy(($81|0),($82|0),($83|0))|0;
+ $84 = $datalen;
+ $85 = ((($c)) + 8|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = (($86) + ($84)|0);
+ HEAP32[$85>>2] = $87;
+ $tokenp = 0;
+ label = 20;
+ }
+ }
+ L27: do {
+ if ((label|0) == 20) {
+ label = 0;
+ $88 = $quoted;
+ $89 = ($88|0)!=(0|0);
+ if ($89) {
+ $90 = $quoted_esc;
+ $91 = ($90|0)!=(0);
+ $92 = $p;
+ $93 = HEAP8[$92>>0]|0;
+ $94 = $93 << 24 >> 24;
+ if (!($91)) {
+ $227 = ($94|0)==(92);
+ if ($227) {
+ $quoted_esc = 1;
+ break;
+ }
+ $228 = $p;
+ $229 = HEAP8[$228>>0]|0;
+ $230 = $229 << 24 >> 24;
+ $231 = ($230|0)==(34);
+ if (!($231)) {
+ break;
+ }
+ $232 = $quoted;
+ $233 = ((($232)) + 1|0);
+ $quoted = $233;
+ $234 = $p;
+ $235 = $quoted;
+ $236 = $234;
+ $237 = $235;
+ $238 = (($236) - ($237))|0;
+ $239 = (_make_space($c,$238)|0);
+ $_ms_err1 = $239;
+ $240 = $_ms_err1;
+ $241 = ($240|0)!=(0);
+ if ($241) {
+ label = 59;
+ break L20;
+ }
+ $249 = ((($c)) + 8|0);
+ $250 = HEAP32[$249>>2]|0;
+ $251 = ((($250)) + 1|0);
+ HEAP32[$249>>2] = $251;
+ HEAP8[$250>>0] = 1;
+ $252 = ((($c)) + 8|0);
+ $253 = HEAP32[$252>>2]|0;
+ $save = $253;
+ HEAP16[$ashort2>>1] = 0;
+ $254 = ((($c)) + 8|0);
+ $255 = HEAP32[$254>>2]|0;
+ ;HEAP8[$255>>0]=HEAP8[$ashort2>>0]|0;HEAP8[$255+1>>0]=HEAP8[$ashort2+1>>0]|0;
+ $256 = ((($c)) + 8|0);
+ $257 = HEAP32[$256>>2]|0;
+ $258 = ((($257)) + 2|0);
+ HEAP32[$256>>2] = $258;
+ $259 = $quoted;
+ $260 = $p;
+ $261 = $quoted;
+ $262 = $260;
+ $263 = $261;
+ $264 = (($262) - ($263))|0;
+ $265 = ((($c)) + 8|0);
+ $266 = HEAP32[$265>>2]|0;
+ $267 = (_unquote_string($259,$264,$266)|0);
+ $len = $267;
+ $268 = $len;
+ $269 = ((($c)) + 8|0);
+ $270 = HEAP32[$269>>2]|0;
+ $271 = (($270) + ($268)|0);
+ HEAP32[$269>>2] = $271;
+ $272 = $len;
+ $273 = $272&65535;
+ HEAP16[$ashort3>>1] = $273;
+ $274 = $save;
+ ;HEAP8[$274>>0]=HEAP8[$ashort3>>0]|0;HEAP8[$274+1>>0]=HEAP8[$ashort3+1>>0]|0;
+ $275 = $save;
+ $276 = ((($275)) + 2|0);
+ $save = $276;
+ $quoted = 0;
+ break;
+ }
+ switch ($94|0) {
+ case 92: case 39: case 34: case 114: case 102: case 110: case 118: case 116: case 98: {
+ $quoted_esc = 0;
+ break L27;
+ break;
+ }
+ case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: {
+ $95 = $n;
+ $96 = ($95>>>0)>(2);
+ if (!($96)) {
+ label = 29;
+ break L20;
+ }
+ $97 = $p;
+ $98 = ((($97)) + 1|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99 << 24 >> 24;
+ $101 = ($100|0)>=(48);
+ if (!($101)) {
+ label = 29;
+ break L20;
+ }
+ $102 = $p;
+ $103 = ((($102)) + 1|0);
+ $104 = HEAP8[$103>>0]|0;
+ $105 = $104 << 24 >> 24;
+ $106 = ($105|0)<=(55);
+ if (!($106)) {
+ label = 29;
+ break L20;
+ }
+ $107 = $p;
+ $108 = ((($107)) + 2|0);
+ $109 = HEAP8[$108>>0]|0;
+ $110 = $109 << 24 >> 24;
+ $111 = ($110|0)>=(48);
+ if (!($111)) {
+ label = 29;
+ break L20;
+ }
+ $112 = $p;
+ $113 = ((($112)) + 2|0);
+ $114 = HEAP8[$113>>0]|0;
+ $115 = $114 << 24 >> 24;
+ $116 = ($115|0)<=(55);
+ if (!($116)) {
+ label = 29;
+ break L20;
+ }
+ $123 = $p;
+ $124 = ((($123)) + 2|0);
+ $p = $124;
+ $125 = $n;
+ $126 = (($125) - 2)|0;
+ $n = $126;
+ $quoted_esc = 0;
+ break L27;
+ break;
+ }
+ case 120: {
+ $127 = $n;
+ $128 = ($127>>>0)>(2);
+ if (!($128)) {
+ label = 44;
+ break L20;
+ }
+ $129 = $p;
+ $130 = ((($129)) + 1|0);
+ $131 = HEAP8[$130>>0]|0;
+ $132 = $131 << 24 >> 24;
+ $133 = ($132|0)>=(48);
+ if ($133) {
+ $134 = $p;
+ $135 = ((($134)) + 1|0);
+ $136 = HEAP8[$135>>0]|0;
+ $137 = $136 << 24 >> 24;
+ $138 = ($137|0)<=(57);
+ if (!($138)) {
+ label = 34;
+ }
+ } else {
+ label = 34;
+ }
+ do {
+ if ((label|0) == 34) {
+ label = 0;
+ $139 = $p;
+ $140 = ((($139)) + 1|0);
+ $141 = HEAP8[$140>>0]|0;
+ $142 = $141 << 24 >> 24;
+ $143 = ($142|0)>=(65);
+ if ($143) {
+ $144 = $p;
+ $145 = ((($144)) + 1|0);
+ $146 = HEAP8[$145>>0]|0;
+ $147 = $146 << 24 >> 24;
+ $148 = ($147|0)<=(70);
+ if ($148) {
+ break;
+ }
+ }
+ $149 = $p;
+ $150 = ((($149)) + 1|0);
+ $151 = HEAP8[$150>>0]|0;
+ $152 = $151 << 24 >> 24;
+ $153 = ($152|0)>=(97);
+ if (!($153)) {
+ label = 44;
+ break L20;
+ }
+ $154 = $p;
+ $155 = ((($154)) + 1|0);
+ $156 = HEAP8[$155>>0]|0;
+ $157 = $156 << 24 >> 24;
+ $158 = ($157|0)<=(102);
+ if (!($158)) {
+ label = 44;
+ break L20;
+ }
+ }
+ } while(0);
+ $159 = $p;
+ $160 = ((($159)) + 2|0);
+ $161 = HEAP8[$160>>0]|0;
+ $162 = $161 << 24 >> 24;
+ $163 = ($162|0)>=(48);
+ if ($163) {
+ $164 = $p;
+ $165 = ((($164)) + 2|0);
+ $166 = HEAP8[$165>>0]|0;
+ $167 = $166 << 24 >> 24;
+ $168 = ($167|0)<=(57);
+ if (!($168)) {
+ label = 40;
+ }
+ } else {
+ label = 40;
+ }
+ do {
+ if ((label|0) == 40) {
+ label = 0;
+ $169 = $p;
+ $170 = ((($169)) + 2|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = $171 << 24 >> 24;
+ $173 = ($172|0)>=(65);
+ if ($173) {
+ $174 = $p;
+ $175 = ((($174)) + 2|0);
+ $176 = HEAP8[$175>>0]|0;
+ $177 = $176 << 24 >> 24;
+ $178 = ($177|0)<=(70);
+ if ($178) {
+ break;
+ }
+ }
+ $179 = $p;
+ $180 = ((($179)) + 2|0);
+ $181 = HEAP8[$180>>0]|0;
+ $182 = $181 << 24 >> 24;
+ $183 = ($182|0)>=(97);
+ if (!($183)) {
+ label = 44;
+ break L20;
+ }
+ $184 = $p;
+ $185 = ((($184)) + 2|0);
+ $186 = HEAP8[$185>>0]|0;
+ $187 = $186 << 24 >> 24;
+ $188 = ($187|0)<=(102);
+ if (!($188)) {
+ label = 44;
+ break L20;
+ }
+ }
+ } while(0);
+ $195 = $p;
+ $196 = ((($195)) + 2|0);
+ $p = $196;
+ $197 = $n;
+ $198 = (($197) - 2)|0;
+ $n = $198;
+ $quoted_esc = 0;
+ break L27;
+ break;
+ }
+ case 13: {
+ $199 = $n;
+ $200 = ($199|0)!=(0);
+ if ($200) {
+ $201 = $p;
+ $202 = ((($201)) + 1|0);
+ $203 = HEAP8[$202>>0]|0;
+ $204 = $203 << 24 >> 24;
+ $205 = ($204|0)==(10);
+ if ($205) {
+ $206 = $p;
+ $207 = ((($206)) + 1|0);
+ $p = $207;
+ $208 = $n;
+ $209 = (($208) + -1)|0;
+ $n = $209;
+ }
+ }
+ $quoted_esc = 0;
+ break L27;
+ break;
+ }
+ case 10: {
+ $210 = $n;
+ $211 = ($210|0)!=(0);
+ if ($211) {
+ $212 = $p;
+ $213 = ((($212)) + 1|0);
+ $214 = HEAP8[$213>>0]|0;
+ $215 = $214 << 24 >> 24;
+ $216 = ($215|0)==(13);
+ if ($216) {
+ $217 = $p;
+ $218 = ((($217)) + 1|0);
+ $p = $218;
+ $219 = $n;
+ $220 = (($219) + -1)|0;
+ $n = $220;
+ }
+ }
+ $quoted_esc = 0;
+ break L27;
+ break;
+ }
+ default: {
+ label = 54;
+ break L20;
+ }
+ }
+ }
+ $277 = $hexfmt;
+ $278 = ($277|0)!=(0|0);
+ if ($278) {
+ $279 = $p;
+ $280 = HEAP8[$279>>0]|0;
+ $281 = $280 << 24 >> 24;
+ $282 = (_isxdigit($281)|0);
+ $283 = ($282|0)!=(0);
+ if ($283) {
+ $284 = $hexcount;
+ $285 = (($284) + 1)|0;
+ $hexcount = $285;
+ break;
+ }
+ $286 = $p;
+ $287 = HEAP8[$286>>0]|0;
+ $288 = $287 << 24 >> 24;
+ $289 = ($288|0)==(35);
+ if (!($289)) {
+ $362 = $p;
+ $363 = (_whitespacep($362)|0);
+ $364 = ($363|0)!=(0);
+ if ($364) {
+ break;
+ } else {
+ label = 82;
+ break L20;
+ }
+ }
+ $290 = $hexcount;
+ $291 = $290 & 1;
+ $292 = ($291|0)!=(0);
+ if ($292) {
+ label = 66;
+ break L20;
+ }
+ $299 = $hexcount;
+ $300 = (($299|0) / 2)&-1;
+ $datalen = $300;
+ $301 = $datalen;
+ $302 = (_make_space($c,$301)|0);
+ $_ms_err4 = $302;
+ $303 = $_ms_err4;
+ $304 = ($303|0)!=(0);
+ if ($304) {
+ label = 68;
+ break L20;
+ }
+ $312 = ((($c)) + 8|0);
+ $313 = HEAP32[$312>>2]|0;
+ $314 = ((($313)) + 1|0);
+ HEAP32[$312>>2] = $314;
+ HEAP8[$313>>0] = 1;
+ $315 = $datalen;
+ $316 = $315&65535;
+ HEAP16[$ashort5>>1] = $316;
+ $317 = ((($c)) + 8|0);
+ $318 = HEAP32[$317>>2]|0;
+ ;HEAP8[$318>>0]=HEAP8[$ashort5>>0]|0;HEAP8[$318+1>>0]=HEAP8[$ashort5+1>>0]|0;
+ $319 = ((($c)) + 8|0);
+ $320 = HEAP32[$319>>2]|0;
+ $321 = ((($320)) + 2|0);
+ HEAP32[$319>>2] = $321;
+ $322 = $hexfmt;
+ $323 = ((($322)) + 1|0);
+ $hexfmt = $323;
+ while(1) {
+ $324 = $hexfmt;
+ $325 = $p;
+ $326 = ($324>>>0)<($325>>>0);
+ if (!($326)) {
+ break;
+ }
+ $327 = $hexfmt;
+ $328 = (_whitespacep($327)|0);
+ $329 = ($328|0)!=(0);
+ if (!($329)) {
+ $330 = $hexfmt;
+ $331 = HEAP8[$330>>0]|0;
+ $332 = $331&255;
+ $333 = (_hextonibble($332)|0);
+ $tmpc = $333;
+ $334 = $hexfmt;
+ $335 = ((($334)) + 1|0);
+ $hexfmt = $335;
+ while(1) {
+ $336 = $hexfmt;
+ $337 = $p;
+ $338 = ($336>>>0)<($337>>>0);
+ if (!($338)) {
+ break;
+ }
+ $339 = $hexfmt;
+ $340 = (_whitespacep($339)|0);
+ $341 = ($340|0)!=(0);
+ if (!($341)) {
+ break;
+ }
+ $342 = $hexfmt;
+ $343 = ((($342)) + 1|0);
+ $hexfmt = $343;
+ }
+ $344 = $hexfmt;
+ $345 = $p;
+ $346 = ($344>>>0)<($345>>>0);
+ if ($346) {
+ $347 = $tmpc;
+ $348 = $347<<4;
+ $tmpc = $348;
+ $349 = $hexfmt;
+ $350 = HEAP8[$349>>0]|0;
+ $351 = $350&255;
+ $352 = (_hextonibble($351)|0);
+ $353 = $tmpc;
+ $354 = (($353) + ($352))|0;
+ $tmpc = $354;
+ }
+ $355 = $tmpc;
+ $356 = $355&255;
+ $357 = ((($c)) + 8|0);
+ $358 = HEAP32[$357>>2]|0;
+ $359 = ((($358)) + 1|0);
+ HEAP32[$357>>2] = $359;
+ HEAP8[$358>>0] = $356;
+ }
+ $360 = $hexfmt;
+ $361 = ((($360)) + 1|0);
+ $hexfmt = $361;
+ }
+ $hexfmt = 0;
+ break;
+ }
+ $371 = $base64;
+ $372 = ($371|0)!=(0|0);
+ if ($372) {
+ $373 = $p;
+ $374 = HEAP8[$373>>0]|0;
+ $375 = $374 << 24 >> 24;
+ $376 = ($375|0)==(124);
+ if (!($376)) {
+ break;
+ }
+ $base64 = 0;
+ break;
+ }
+ $377 = $digptr;
+ $378 = ($377|0)!=(0|0);
+ if ($378) {
+ $379 = $p;
+ $380 = HEAP8[$379>>0]|0;
+ $381 = $380 << 24 >> 24;
+ $382 = ($381|0)>=(48);
+ if ($382) {
+ $383 = $p;
+ $384 = HEAP8[$383>>0]|0;
+ $385 = $384 << 24 >> 24;
+ $386 = ($385|0)<=(57);
+ if ($386) {
+ break;
+ }
+ }
+ $387 = $p;
+ $388 = HEAP8[$387>>0]|0;
+ $389 = $388 << 24 >> 24;
+ $390 = ($389|0)==(58);
+ if ($390) {
+ $391 = $digptr;
+ $392 = (_atoi($391)|0);
+ $datalen = $392;
+ $digptr = 0;
+ $393 = $datalen;
+ $394 = $n;
+ $395 = (($394) - 1)|0;
+ $396 = ($393>>>0)>($395>>>0);
+ if ($396) {
+ label = 91;
+ break L20;
+ }
+ $403 = $datalen;
+ $404 = (_make_space($c,$403)|0);
+ $_ms_err6 = $404;
+ $405 = $_ms_err6;
+ $406 = ($405|0)!=(0);
+ if ($406) {
+ label = 93;
+ break L20;
+ }
+ $414 = ((($c)) + 8|0);
+ $415 = HEAP32[$414>>2]|0;
+ $416 = ((($415)) + 1|0);
+ HEAP32[$414>>2] = $416;
+ HEAP8[$415>>0] = 1;
+ $417 = $datalen;
+ $418 = $417&65535;
+ HEAP16[$ashort7>>1] = $418;
+ $419 = ((($c)) + 8|0);
+ $420 = HEAP32[$419>>2]|0;
+ ;HEAP8[$420>>0]=HEAP8[$ashort7>>0]|0;HEAP8[$420+1>>0]=HEAP8[$ashort7+1>>0]|0;
+ $421 = ((($c)) + 8|0);
+ $422 = HEAP32[$421>>2]|0;
+ $423 = ((($422)) + 2|0);
+ HEAP32[$421>>2] = $423;
+ $424 = ((($c)) + 8|0);
+ $425 = HEAP32[$424>>2]|0;
+ $426 = $p;
+ $427 = ((($426)) + 1|0);
+ $428 = $datalen;
+ _memcpy(($425|0),($427|0),($428|0))|0;
+ $429 = $datalen;
+ $430 = ((($c)) + 8|0);
+ $431 = HEAP32[$430>>2]|0;
+ $432 = (($431) + ($429)|0);
+ HEAP32[$430>>2] = $432;
+ $433 = $datalen;
+ $434 = $n;
+ $435 = (($434) - ($433))|0;
+ $n = $435;
+ $436 = $datalen;
+ $437 = $p;
+ $438 = (($437) + ($436)|0);
+ $p = $438;
+ break;
+ }
+ $439 = $p;
+ $440 = HEAP8[$439>>0]|0;
+ $441 = $440 << 24 >> 24;
+ $442 = ($441|0)==(34);
+ if ($442) {
+ $digptr = 0;
+ $443 = $p;
+ $quoted = $443;
+ $quoted_esc = 0;
+ break;
+ }
+ $444 = $p;
+ $445 = HEAP8[$444>>0]|0;
+ $446 = $445 << 24 >> 24;
+ $447 = ($446|0)==(35);
+ if ($447) {
+ $digptr = 0;
+ $448 = $p;
+ $hexfmt = $448;
+ $hexcount = 0;
+ break;
+ }
+ $449 = $p;
+ $450 = HEAP8[$449>>0]|0;
+ $451 = $450 << 24 >> 24;
+ $452 = ($451|0)==(124);
+ if (!($452)) {
+ label = 101;
+ break L20;
+ }
+ $digptr = 0;
+ $453 = $p;
+ $base64 = $453;
+ break;
+ }
+ $460 = $percent;
+ $461 = ($460|0)!=(0|0);
+ $462 = $p;
+ $463 = HEAP8[$462>>0]|0;
+ $464 = $463 << 24 >> 24;
+ if (!($461)) {
+ $945 = ($464|0)==(40);
+ if ($945) {
+ $946 = $disphint;
+ $947 = ($946|0)!=(0|0);
+ if ($947) {
+ label = 179;
+ break L20;
+ }
+ $954 = (_make_space($c,0)|0);
+ $_ms_err32 = $954;
+ $955 = $_ms_err32;
+ $956 = ($955|0)!=(0);
+ if ($956) {
+ label = 181;
+ break L20;
+ }
+ $964 = ((($c)) + 8|0);
+ $965 = HEAP32[$964>>2]|0;
+ $966 = ((($965)) + 1|0);
+ HEAP32[$964>>2] = $966;
+ HEAP8[$965>>0] = 3;
+ $967 = $level;
+ $968 = (($967) + 1)|0;
+ $level = $968;
+ break;
+ }
+ $969 = $p;
+ $970 = HEAP8[$969>>0]|0;
+ $971 = $970 << 24 >> 24;
+ $972 = ($971|0)==(41);
+ if ($972) {
+ $973 = $disphint;
+ $974 = ($973|0)!=(0|0);
+ if ($974) {
+ label = 185;
+ break L20;
+ }
+ $981 = (_make_space($c,0)|0);
+ $_ms_err33 = $981;
+ $982 = $_ms_err33;
+ $983 = ($982|0)!=(0);
+ if ($983) {
+ label = 187;
+ break L20;
+ }
+ $991 = ((($c)) + 8|0);
+ $992 = HEAP32[$991>>2]|0;
+ $993 = ((($992)) + 1|0);
+ HEAP32[$991>>2] = $993;
+ HEAP8[$992>>0] = 4;
+ $994 = $level;
+ $995 = (($994) + -1)|0;
+ $level = $995;
+ break;
+ }
+ $996 = $p;
+ $997 = HEAP8[$996>>0]|0;
+ $998 = $997 << 24 >> 24;
+ $999 = ($998|0)==(34);
+ $1000 = $p;
+ if ($999) {
+ $quoted = $1000;
+ $quoted_esc = 0;
+ break;
+ }
+ $1001 = HEAP8[$1000>>0]|0;
+ $1002 = $1001 << 24 >> 24;
+ $1003 = ($1002|0)==(35);
+ $1004 = $p;
+ if ($1003) {
+ $hexfmt = $1004;
+ $hexcount = 0;
+ break;
+ }
+ $1005 = HEAP8[$1004>>0]|0;
+ $1006 = $1005 << 24 >> 24;
+ $1007 = ($1006|0)==(124);
+ $1008 = $p;
+ if ($1007) {
+ $base64 = $1008;
+ break;
+ }
+ $1009 = HEAP8[$1008>>0]|0;
+ $1010 = $1009 << 24 >> 24;
+ $1011 = ($1010|0)==(91);
+ if ($1011) {
+ $1012 = $disphint;
+ $1013 = ($1012|0)!=(0|0);
+ $1014 = $p;
+ if ($1013) {
+ label = 197;
+ break L20;
+ }
+ $disphint = $1014;
+ break;
+ }
+ $1020 = $p;
+ $1021 = HEAP8[$1020>>0]|0;
+ $1022 = $1021 << 24 >> 24;
+ $1023 = ($1022|0)==(93);
+ if ($1023) {
+ $1024 = $disphint;
+ $1025 = ($1024|0)!=(0|0);
+ if (!($1025)) {
+ label = 201;
+ break L20;
+ }
+ $disphint = 0;
+ break;
+ }
+ $1032 = $p;
+ $1033 = HEAP8[$1032>>0]|0;
+ $1034 = $1033 << 24 >> 24;
+ $1035 = ($1034|0)>=(48);
+ do {
+ if ($1035) {
+ $1036 = $p;
+ $1037 = HEAP8[$1036>>0]|0;
+ $1038 = $1037 << 24 >> 24;
+ $1039 = ($1038|0)<=(57);
+ if (!($1039)) {
+ break;
+ }
+ $1040 = $p;
+ $1041 = HEAP8[$1040>>0]|0;
+ $1042 = $1041 << 24 >> 24;
+ $1043 = ($1042|0)==(48);
+ $1044 = $p;
+ if ($1043) {
+ label = 206;
+ break L20;
+ }
+ $digptr = $1044;
+ break L27;
+ }
+ } while(0);
+ $1050 = $p;
+ $1051 = HEAP8[$1050>>0]|0;
+ $1052 = $1051 << 24 >> 24;
+ $1053 = (_strchr(22614,$1052)|0);
+ $1054 = ($1053|0)!=(0|0);
+ $1055 = $p;
+ if ($1054) {
+ $tokenp = $1055;
+ break;
+ }
+ $1056 = (_whitespacep($1055)|0);
+ $1057 = ($1056|0)!=(0);
+ if ($1057) {
+ break;
+ }
+ $1058 = $p;
+ $1059 = HEAP8[$1058>>0]|0;
+ $1060 = $1059 << 24 >> 24;
+ $1061 = ($1060|0)==(123);
+ $1062 = $p;
+ if ($1061) {
+ label = 212;
+ break L20;
+ }
+ $1068 = HEAP8[$1062>>0]|0;
+ $1069 = $1068 << 24 >> 24;
+ $1070 = (_strchr(22713,$1069)|0);
+ $1071 = ($1070|0)!=(0|0);
+ if ($1071) {
+ label = 214;
+ break L20;
+ }
+ $1078 = $5;
+ $1079 = ($1078|0)!=(0);
+ if (!($1079)) {
+ label = 218;
+ break L20;
+ }
+ $1080 = $p;
+ $1081 = HEAP8[$1080>>0]|0;
+ $1082 = $1081 << 24 >> 24;
+ $1083 = ($1082|0)==(37);
+ if (!($1083)) {
+ label = 218;
+ break L20;
+ }
+ $1084 = $p;
+ $percent = $1084;
+ break;
+ }
+ $465 = ($464|0)==(109);
+ do {
+ if ($465) {
+ label = 105;
+ } else {
+ $466 = $p;
+ $467 = HEAP8[$466>>0]|0;
+ $468 = $467 << 24 >> 24;
+ $469 = ($468|0)==(77);
+ if ($469) {
+ label = 105;
+ } else {
+ $640 = $p;
+ $641 = HEAP8[$640>>0]|0;
+ $642 = $641 << 24 >> 24;
+ $643 = ($642|0)==(115);
+ if ($643) {
+ $644 = $6;
+ $645 = ($644|0)!=(0|0);
+ if ($645) {
+ $654 = $arg_counter;
+ $655 = (($654) + 1)|0;
+ $arg_counter = $655;
+ $656 = $6;
+ $657 = (($656) + ($654<<2)|0);
+ $658 = HEAP32[$657>>2]|0;
+ $659 = HEAP32[$658>>2]|0;
+ $astr = $659;
+ } else {
+ $646 = $7;
+ $arglist_current7 = HEAP32[$646>>2]|0;
+ $647 = $arglist_current7;
+ $648 = ((0) + 4|0);
+ $expanded34 = $648;
+ $expanded33 = (($expanded34) - 1)|0;
+ $649 = (($647) + ($expanded33))|0;
+ $650 = ((0) + 4|0);
+ $expanded38 = $650;
+ $expanded37 = (($expanded38) - 1)|0;
+ $expanded36 = $expanded37 ^ -1;
+ $651 = $649 & $expanded36;
+ $652 = $651;
+ $653 = HEAP32[$652>>2]|0;
+ $arglist_next8 = ((($652)) + 4|0);
+ HEAP32[$646>>2] = $arglist_next8;
+ $astr = $653;
+ }
+ $660 = $astr;
+ $661 = (_strlen($660)|0);
+ $alen = $661;
+ $662 = $alen;
+ $663 = (_make_space($c,$662)|0);
+ $_ms_err14 = $663;
+ $664 = $_ms_err14;
+ $665 = ($664|0)!=(0);
+ if ($665) {
+ label = 135;
+ break L20;
+ }
+ $673 = ((($c)) + 8|0);
+ $674 = HEAP32[$673>>2]|0;
+ $675 = ((($674)) + 1|0);
+ HEAP32[$673>>2] = $675;
+ HEAP8[$674>>0] = 1;
+ $676 = $alen;
+ $677 = $676&65535;
+ HEAP16[$ashort15>>1] = $677;
+ $678 = ((($c)) + 8|0);
+ $679 = HEAP32[$678>>2]|0;
+ ;HEAP8[$679>>0]=HEAP8[$ashort15>>0]|0;HEAP8[$679+1>>0]=HEAP8[$ashort15+1>>0]|0;
+ $680 = ((($c)) + 8|0);
+ $681 = HEAP32[$680>>2]|0;
+ $682 = ((($681)) + 2|0);
+ HEAP32[$680>>2] = $682;
+ $683 = ((($c)) + 8|0);
+ $684 = HEAP32[$683>>2]|0;
+ $685 = $astr;
+ $686 = $alen;
+ _memcpy(($684|0),($685|0),($686|0))|0;
+ $687 = $alen;
+ $688 = ((($c)) + 8|0);
+ $689 = HEAP32[$688>>2]|0;
+ $690 = (($689) + ($687)|0);
+ HEAP32[$688>>2] = $690;
+ break;
+ }
+ $691 = $p;
+ $692 = HEAP8[$691>>0]|0;
+ $693 = $692 << 24 >> 24;
+ $694 = ($693|0)==(98);
+ if ($694) {
+ $695 = $6;
+ $696 = ($695|0)!=(0|0);
+ if ($696) {
+ $705 = $arg_counter;
+ $706 = (($705) + 1)|0;
+ $arg_counter = $706;
+ $707 = $6;
+ $708 = (($707) + ($705<<2)|0);
+ $709 = HEAP32[$708>>2]|0;
+ $710 = HEAP32[$709>>2]|0;
+ $alen17 = $710;
+ } else {
+ $697 = $7;
+ $arglist_current10 = HEAP32[$697>>2]|0;
+ $698 = $arglist_current10;
+ $699 = ((0) + 4|0);
+ $expanded41 = $699;
+ $expanded40 = (($expanded41) - 1)|0;
+ $700 = (($698) + ($expanded40))|0;
+ $701 = ((0) + 4|0);
+ $expanded45 = $701;
+ $expanded44 = (($expanded45) - 1)|0;
+ $expanded43 = $expanded44 ^ -1;
+ $702 = $700 & $expanded43;
+ $703 = $702;
+ $704 = HEAP32[$703>>2]|0;
+ $arglist_next11 = ((($703)) + 4|0);
+ HEAP32[$697>>2] = $arglist_next11;
+ $alen17 = $704;
+ }
+ $711 = $6;
+ $712 = ($711|0)!=(0|0);
+ if ($712) {
+ $721 = $arg_counter;
+ $722 = (($721) + 1)|0;
+ $arg_counter = $722;
+ $723 = $6;
+ $724 = (($723) + ($721<<2)|0);
+ $725 = HEAP32[$724>>2]|0;
+ $726 = HEAP32[$725>>2]|0;
+ $astr16 = $726;
+ } else {
+ $713 = $7;
+ $arglist_current13 = HEAP32[$713>>2]|0;
+ $714 = $arglist_current13;
+ $715 = ((0) + 4|0);
+ $expanded48 = $715;
+ $expanded47 = (($expanded48) - 1)|0;
+ $716 = (($714) + ($expanded47))|0;
+ $717 = ((0) + 4|0);
+ $expanded52 = $717;
+ $expanded51 = (($expanded52) - 1)|0;
+ $expanded50 = $expanded51 ^ -1;
+ $718 = $716 & $expanded50;
+ $719 = $718;
+ $720 = HEAP32[$719>>2]|0;
+ $arglist_next14 = ((($719)) + 4|0);
+ HEAP32[$713>>2] = $arglist_next14;
+ $astr16 = $720;
+ }
+ $727 = $alen17;
+ $728 = (_make_space($c,$727)|0);
+ $_ms_err18 = $728;
+ $729 = $_ms_err18;
+ $730 = ($729|0)!=(0);
+ if ($730) {
+ label = 145;
+ break L20;
+ }
+ $738 = $alen17;
+ $739 = ($738|0)!=(0);
+ do {
+ if ($739) {
+ $740 = HEAP32[$c>>2]|0;
+ $741 = (__gcry_is_secure($740)|0);
+ $742 = ($741|0)!=(0);
+ if ($742) {
+ break;
+ }
+ $743 = $astr16;
+ $744 = (__gcry_is_secure($743)|0);
+ $745 = ($744|0)!=(0);
+ if (!($745)) {
+ break;
+ }
+ $746 = ((($c)) + 4|0);
+ $747 = HEAP32[$746>>2]|0;
+ $748 = (1 + ($747))|0;
+ $749 = (($748) - 1)|0;
+ $750 = (__gcry_malloc_secure($749)|0);
+ $newsexp19 = $750;
+ $751 = $newsexp19;
+ $752 = ($751|0)!=(0|0);
+ if (!($752)) {
+ label = 150;
+ break L20;
+ }
+ $756 = $newsexp19;
+ $newhead20 = $756;
+ $757 = $newhead20;
+ $758 = HEAP32[$c>>2]|0;
+ $759 = ((($c)) + 8|0);
+ $760 = HEAP32[$759>>2]|0;
+ $761 = HEAP32[$c>>2]|0;
+ $762 = $760;
+ $763 = $761;
+ $764 = (($762) - ($763))|0;
+ _memcpy(($757|0),($758|0),($764|0))|0;
+ $765 = $newhead20;
+ $766 = ((($c)) + 8|0);
+ $767 = HEAP32[$766>>2]|0;
+ $768 = HEAP32[$c>>2]|0;
+ $769 = $767;
+ $770 = $768;
+ $771 = (($769) - ($770))|0;
+ $772 = (($765) + ($771)|0);
+ $773 = ((($c)) + 8|0);
+ HEAP32[$773>>2] = $772;
+ $774 = HEAP32[$c>>2]|0;
+ __gcry_free($774);
+ $775 = $newsexp19;
+ HEAP32[$c>>2] = $775;
+ }
+ } while(0);
+ $776 = ((($c)) + 8|0);
+ $777 = HEAP32[$776>>2]|0;
+ $778 = ((($777)) + 1|0);
+ HEAP32[$776>>2] = $778;
+ HEAP8[$777>>0] = 1;
+ $779 = $alen17;
+ $780 = $779&65535;
+ HEAP16[$ashort21>>1] = $780;
+ $781 = ((($c)) + 8|0);
+ $782 = HEAP32[$781>>2]|0;
+ ;HEAP8[$782>>0]=HEAP8[$ashort21>>0]|0;HEAP8[$782+1>>0]=HEAP8[$ashort21+1>>0]|0;
+ $783 = ((($c)) + 8|0);
+ $784 = HEAP32[$783>>2]|0;
+ $785 = ((($784)) + 2|0);
+ HEAP32[$783>>2] = $785;
+ $786 = ((($c)) + 8|0);
+ $787 = HEAP32[$786>>2]|0;
+ $788 = $astr16;
+ $789 = $alen17;
+ _memcpy(($787|0),($788|0),($789|0))|0;
+ $790 = $alen17;
+ $791 = ((($c)) + 8|0);
+ $792 = HEAP32[$791>>2]|0;
+ $793 = (($792) + ($790)|0);
+ HEAP32[$791>>2] = $793;
+ break;
+ }
+ $794 = $p;
+ $795 = HEAP8[$794>>0]|0;
+ $796 = $795 << 24 >> 24;
+ $797 = ($796|0)==(100);
+ if ($797) {
+ $798 = $6;
+ $799 = ($798|0)!=(0|0);
+ if ($799) {
+ $808 = $arg_counter;
+ $809 = (($808) + 1)|0;
+ $arg_counter = $809;
+ $810 = $6;
+ $811 = (($810) + ($808<<2)|0);
+ $812 = HEAP32[$811>>2]|0;
+ $813 = HEAP32[$812>>2]|0;
+ $aint = $813;
+ } else {
+ $800 = $7;
+ $arglist_current16 = HEAP32[$800>>2]|0;
+ $801 = $arglist_current16;
+ $802 = ((0) + 4|0);
+ $expanded55 = $802;
+ $expanded54 = (($expanded55) - 1)|0;
+ $803 = (($801) + ($expanded54))|0;
+ $804 = ((0) + 4|0);
+ $expanded59 = $804;
+ $expanded58 = (($expanded59) - 1)|0;
+ $expanded57 = $expanded58 ^ -1;
+ $805 = $803 & $expanded57;
+ $806 = $805;
+ $807 = HEAP32[$806>>2]|0;
+ $arglist_next17 = ((($806)) + 4|0);
+ HEAP32[$800>>2] = $arglist_next17;
+ $aint = $807;
+ }
+ $814 = $aint;
+ HEAP32[$vararg_buffer>>2] = $814;
+ (_sprintf($buf,22707,$vararg_buffer)|0);
+ $815 = (_strlen($buf)|0);
+ $alen22 = $815;
+ $816 = $alen22;
+ $817 = (_make_space($c,$816)|0);
+ $_ms_err23 = $817;
+ $818 = $_ms_err23;
+ $819 = ($818|0)!=(0);
+ if ($819) {
+ label = 158;
+ break L20;
+ }
+ $827 = ((($c)) + 8|0);
+ $828 = HEAP32[$827>>2]|0;
+ $829 = ((($828)) + 1|0);
+ HEAP32[$827>>2] = $829;
+ HEAP8[$828>>0] = 1;
+ $830 = $alen22;
+ $831 = $830&65535;
+ HEAP16[$ashort24>>1] = $831;
+ $832 = ((($c)) + 8|0);
+ $833 = HEAP32[$832>>2]|0;
+ ;HEAP8[$833>>0]=HEAP8[$ashort24>>0]|0;HEAP8[$833+1>>0]=HEAP8[$ashort24+1>>0]|0;
+ $834 = ((($c)) + 8|0);
+ $835 = HEAP32[$834>>2]|0;
+ $836 = ((($835)) + 2|0);
+ HEAP32[$834>>2] = $836;
+ $837 = ((($c)) + 8|0);
+ $838 = HEAP32[$837>>2]|0;
+ $839 = $alen22;
+ _memcpy(($838|0),($buf|0),($839|0))|0;
+ $840 = $alen22;
+ $841 = ((($c)) + 8|0);
+ $842 = HEAP32[$841>>2]|0;
+ $843 = (($842) + ($840)|0);
+ HEAP32[$841>>2] = $843;
+ break;
+ }
+ $844 = $p;
+ $845 = HEAP8[$844>>0]|0;
+ $846 = $845 << 24 >> 24;
+ $847 = ($846|0)==(117);
+ if ($847) {
+ $848 = $6;
+ $849 = ($848|0)!=(0|0);
+ if ($849) {
+ $858 = $arg_counter;
+ $859 = (($858) + 1)|0;
+ $arg_counter = $859;
+ $860 = $6;
+ $861 = (($860) + ($858<<2)|0);
+ $862 = HEAP32[$861>>2]|0;
+ $863 = HEAP32[$862>>2]|0;
+ $aint25 = $863;
+ } else {
+ $850 = $7;
+ $arglist_current19 = HEAP32[$850>>2]|0;
+ $851 = $arglist_current19;
+ $852 = ((0) + 4|0);
+ $expanded62 = $852;
+ $expanded61 = (($expanded62) - 1)|0;
+ $853 = (($851) + ($expanded61))|0;
+ $854 = ((0) + 4|0);
+ $expanded66 = $854;
+ $expanded65 = (($expanded66) - 1)|0;
+ $expanded64 = $expanded65 ^ -1;
+ $855 = $853 & $expanded64;
+ $856 = $855;
+ $857 = HEAP32[$856>>2]|0;
+ $arglist_next20 = ((($856)) + 4|0);
+ HEAP32[$850>>2] = $arglist_next20;
+ $aint25 = $857;
+ }
+ $864 = $aint25;
+ HEAP32[$vararg_buffer21>>2] = $864;
+ (_sprintf($buf27,22710,$vararg_buffer21)|0);
+ $865 = (_strlen($buf27)|0);
+ $alen26 = $865;
+ $866 = $alen26;
+ $867 = (_make_space($c,$866)|0);
+ $_ms_err28 = $867;
+ $868 = $_ms_err28;
+ $869 = ($868|0)!=(0);
+ if ($869) {
+ label = 165;
+ break L20;
+ }
+ $877 = ((($c)) + 8|0);
+ $878 = HEAP32[$877>>2]|0;
+ $879 = ((($878)) + 1|0);
+ HEAP32[$877>>2] = $879;
+ HEAP8[$878>>0] = 1;
+ $880 = $alen26;
+ $881 = $880&65535;
+ HEAP16[$ashort29>>1] = $881;
+ $882 = ((($c)) + 8|0);
+ $883 = HEAP32[$882>>2]|0;
+ ;HEAP8[$883>>0]=HEAP8[$ashort29>>0]|0;HEAP8[$883+1>>0]=HEAP8[$ashort29+1>>0]|0;
+ $884 = ((($c)) + 8|0);
+ $885 = HEAP32[$884>>2]|0;
+ $886 = ((($885)) + 2|0);
+ HEAP32[$884>>2] = $886;
+ $887 = ((($c)) + 8|0);
+ $888 = HEAP32[$887>>2]|0;
+ $889 = $alen26;
+ _memcpy(($888|0),($buf27|0),($889|0))|0;
+ $890 = $alen26;
+ $891 = ((($c)) + 8|0);
+ $892 = HEAP32[$891>>2]|0;
+ $893 = (($892) + ($890)|0);
+ HEAP32[$891>>2] = $893;
+ break;
+ }
+ $894 = $p;
+ $895 = HEAP8[$894>>0]|0;
+ $896 = $895 << 24 >> 24;
+ $897 = ($896|0)==(83);
+ if (!($897)) {
+ label = 175;
+ break L20;
+ }
+ $898 = $6;
+ $899 = ($898|0)!=(0|0);
+ if ($899) {
+ $908 = $arg_counter;
+ $909 = (($908) + 1)|0;
+ $arg_counter = $909;
+ $910 = $6;
+ $911 = (($910) + ($908<<2)|0);
+ $912 = HEAP32[$911>>2]|0;
+ $913 = HEAP32[$912>>2]|0;
+ $asexp = $913;
+ } else {
+ $900 = $7;
+ $arglist_current25 = HEAP32[$900>>2]|0;
+ $901 = $arglist_current25;
+ $902 = ((0) + 4|0);
+ $expanded69 = $902;
+ $expanded68 = (($expanded69) - 1)|0;
+ $903 = (($901) + ($expanded68))|0;
+ $904 = ((0) + 4|0);
+ $expanded73 = $904;
+ $expanded72 = (($expanded73) - 1)|0;
+ $expanded71 = $expanded72 ^ -1;
+ $905 = $903 & $expanded71;
+ $906 = $905;
+ $907 = HEAP32[$906>>2]|0;
+ $arglist_next26 = ((($906)) + 4|0);
+ HEAP32[$900>>2] = $arglist_next26;
+ $asexp = $907;
+ }
+ $914 = $asexp;
+ $915 = (_get_internal_buffer($914,$aoff)|0);
+ $alen30 = $915;
+ $916 = $alen30;
+ $917 = ($916|0)!=(0);
+ if (!($917)) {
+ break;
+ }
+ $918 = $alen30;
+ $919 = (_make_space($c,$918)|0);
+ $_ms_err31 = $919;
+ $920 = $_ms_err31;
+ $921 = ($920|0)!=(0);
+ if ($921) {
+ label = 173;
+ break L20;
+ }
+ $929 = ((($c)) + 8|0);
+ $930 = HEAP32[$929>>2]|0;
+ $931 = $asexp;
+ $932 = HEAP32[$aoff>>2]|0;
+ $933 = (($931) + ($932)|0);
+ $934 = $alen30;
+ _memcpy(($930|0),($933|0),($934|0))|0;
+ $935 = $alen30;
+ $936 = ((($c)) + 8|0);
+ $937 = HEAP32[$936>>2]|0;
+ $938 = (($937) + ($935)|0);
+ HEAP32[$936>>2] = $938;
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 105) {
+ label = 0;
+ HEAP32[$nm>>2] = 0;
+ $470 = $p;
+ $471 = HEAP8[$470>>0]|0;
+ $472 = $471 << 24 >> 24;
+ $473 = ($472|0)==(109);
+ $474 = $473 ? 1 : 5;
+ $mpifmt = $474;
+ $475 = $6;
+ $476 = ($475|0)!=(0|0);
+ if ($476) {
+ $485 = $arg_counter;
+ $486 = (($485) + 1)|0;
+ $arg_counter = $486;
+ $487 = $6;
+ $488 = (($487) + ($485<<2)|0);
+ $489 = HEAP32[$488>>2]|0;
+ $490 = HEAP32[$489>>2]|0;
+ $m = $490;
+ } else {
+ $477 = $7;
+ $arglist_current = HEAP32[$477>>2]|0;
+ $478 = $arglist_current;
+ $479 = ((0) + 4|0);
+ $expanded27 = $479;
+ $expanded = (($expanded27) - 1)|0;
+ $480 = (($478) + ($expanded))|0;
+ $481 = ((0) + 4|0);
+ $expanded31 = $481;
+ $expanded30 = (($expanded31) - 1)|0;
+ $expanded29 = $expanded30 ^ -1;
+ $482 = $480 & $expanded29;
+ $483 = $482;
+ $484 = HEAP32[$483>>2]|0;
+ $arglist_next = ((($483)) + 4|0);
+ HEAP32[$477>>2] = $arglist_next;
+ $m = $484;
+ }
+ $491 = $m;
+ $492 = (__gcry_mpi_get_flag($491,2)|0);
+ $493 = ($492|0)!=(0);
+ if ($493) {
+ $494 = $m;
+ $495 = (__gcry_mpi_get_opaque($494,$nbits)|0);
+ $mp = $495;
+ $496 = HEAP32[$nbits>>2]|0;
+ $497 = (($496) + 7)|0;
+ $498 = (($497>>>0) / 8)&-1;
+ HEAP32[$nm>>2] = $498;
+ $499 = $mp;
+ $500 = ($499|0)!=(0|0);
+ $501 = HEAP32[$nm>>2]|0;
+ $502 = ($501|0)!=(0);
+ $or$cond3 = $500 & $502;
+ if (!($or$cond3)) {
+ break;
+ }
+ $503 = HEAP32[$nm>>2]|0;
+ $504 = (_make_space($c,$503)|0);
+ $_ms_err8 = $504;
+ $505 = $_ms_err8;
+ $506 = ($505|0)!=(0);
+ if ($506) {
+ label = 111;
+ break L20;
+ }
+ $514 = HEAP32[$c>>2]|0;
+ $515 = (__gcry_is_secure($514)|0);
+ $516 = ($515|0)!=(0);
+ do {
+ if (!($516)) {
+ $517 = $m;
+ $518 = (__gcry_mpi_get_flag($517,1)|0);
+ $519 = ($518|0)!=(0);
+ if (!($519)) {
+ break;
+ }
+ $520 = ((($c)) + 4|0);
+ $521 = HEAP32[$520>>2]|0;
+ $522 = (1 + ($521))|0;
+ $523 = (($522) - 1)|0;
+ $524 = (__gcry_malloc_secure($523)|0);
+ $newsexp = $524;
+ $525 = $newsexp;
+ $526 = ($525|0)!=(0|0);
+ if (!($526)) {
+ label = 115;
+ break L20;
+ }
+ $530 = $newsexp;
+ $newhead = $530;
+ $531 = $newhead;
+ $532 = HEAP32[$c>>2]|0;
+ $533 = ((($c)) + 8|0);
+ $534 = HEAP32[$533>>2]|0;
+ $535 = HEAP32[$c>>2]|0;
+ $536 = $534;
+ $537 = $535;
+ $538 = (($536) - ($537))|0;
+ _memcpy(($531|0),($532|0),($538|0))|0;
+ $539 = $newhead;
+ $540 = ((($c)) + 8|0);
+ $541 = HEAP32[$540>>2]|0;
+ $542 = HEAP32[$c>>2]|0;
+ $543 = $541;
+ $544 = $542;
+ $545 = (($543) - ($544))|0;
+ $546 = (($539) + ($545)|0);
+ $547 = ((($c)) + 8|0);
+ HEAP32[$547>>2] = $546;
+ $548 = HEAP32[$c>>2]|0;
+ __gcry_free($548);
+ $549 = $newsexp;
+ HEAP32[$c>>2] = $549;
+ }
+ } while(0);
+ $550 = ((($c)) + 8|0);
+ $551 = HEAP32[$550>>2]|0;
+ $552 = ((($551)) + 1|0);
+ HEAP32[$550>>2] = $552;
+ HEAP8[$551>>0] = 1;
+ $553 = HEAP32[$nm>>2]|0;
+ $554 = $553&65535;
+ HEAP16[$ashort9>>1] = $554;
+ $555 = ((($c)) + 8|0);
+ $556 = HEAP32[$555>>2]|0;
+ ;HEAP8[$556>>0]=HEAP8[$ashort9>>0]|0;HEAP8[$556+1>>0]=HEAP8[$ashort9+1>>0]|0;
+ $557 = ((($c)) + 8|0);
+ $558 = HEAP32[$557>>2]|0;
+ $559 = ((($558)) + 2|0);
+ HEAP32[$557>>2] = $559;
+ $560 = ((($c)) + 8|0);
+ $561 = HEAP32[$560>>2]|0;
+ $562 = $mp;
+ $563 = HEAP32[$nm>>2]|0;
+ _memcpy(($561|0),($562|0),($563|0))|0;
+ $564 = HEAP32[$nm>>2]|0;
+ $565 = ((($c)) + 8|0);
+ $566 = HEAP32[$565>>2]|0;
+ $567 = (($566) + ($564)|0);
+ HEAP32[$565>>2] = $567;
+ break;
+ }
+ $568 = $mpifmt;
+ $569 = $m;
+ $570 = (__gcry_mpi_print($568,0,0,$nm,$569)|0);
+ $571 = ($570|0)!=(0);
+ if ($571) {
+ label = 119;
+ break L20;
+ }
+ $572 = HEAP32[$nm>>2]|0;
+ $573 = (_make_space($c,$572)|0);
+ $_ms_err10 = $573;
+ $574 = $_ms_err10;
+ $575 = ($574|0)!=(0);
+ if ($575) {
+ label = 121;
+ break L20;
+ }
+ $583 = HEAP32[$c>>2]|0;
+ $584 = (__gcry_is_secure($583)|0);
+ $585 = ($584|0)!=(0);
+ do {
+ if (!($585)) {
+ $586 = $m;
+ $587 = (__gcry_mpi_get_flag($586,1)|0);
+ $588 = ($587|0)!=(0);
+ if (!($588)) {
+ break;
+ }
+ $589 = ((($c)) + 4|0);
+ $590 = HEAP32[$589>>2]|0;
+ $591 = (1 + ($590))|0;
+ $592 = (($591) - 1)|0;
+ $593 = (__gcry_malloc_secure($592)|0);
+ $newsexp11 = $593;
+ $594 = $newsexp11;
+ $595 = ($594|0)!=(0|0);
+ if (!($595)) {
+ label = 125;
+ break L20;
+ }
+ $599 = $newsexp11;
+ $newhead12 = $599;
+ $600 = $newhead12;
+ $601 = HEAP32[$c>>2]|0;
+ $602 = ((($c)) + 8|0);
+ $603 = HEAP32[$602>>2]|0;
+ $604 = HEAP32[$c>>2]|0;
+ $605 = $603;
+ $606 = $604;
+ $607 = (($605) - ($606))|0;
+ _memcpy(($600|0),($601|0),($607|0))|0;
+ $608 = $newhead12;
+ $609 = ((($c)) + 8|0);
+ $610 = HEAP32[$609>>2]|0;
+ $611 = HEAP32[$c>>2]|0;
+ $612 = $610;
+ $613 = $611;
+ $614 = (($612) - ($613))|0;
+ $615 = (($608) + ($614)|0);
+ $616 = ((($c)) + 8|0);
+ HEAP32[$616>>2] = $615;
+ $617 = HEAP32[$c>>2]|0;
+ __gcry_free($617);
+ $618 = $newsexp11;
+ HEAP32[$c>>2] = $618;
+ }
+ } while(0);
+ $619 = ((($c)) + 8|0);
+ $620 = HEAP32[$619>>2]|0;
+ $621 = ((($620)) + 1|0);
+ HEAP32[$619>>2] = $621;
+ HEAP8[$620>>0] = 1;
+ $622 = HEAP32[$nm>>2]|0;
+ $623 = $622&65535;
+ HEAP16[$ashort13>>1] = $623;
+ $624 = ((($c)) + 8|0);
+ $625 = HEAP32[$624>>2]|0;
+ ;HEAP8[$625>>0]=HEAP8[$ashort13>>0]|0;HEAP8[$625+1>>0]=HEAP8[$ashort13+1>>0]|0;
+ $626 = ((($c)) + 8|0);
+ $627 = HEAP32[$626>>2]|0;
+ $628 = ((($627)) + 2|0);
+ HEAP32[$626>>2] = $628;
+ $629 = $mpifmt;
+ $630 = ((($c)) + 8|0);
+ $631 = HEAP32[$630>>2]|0;
+ $632 = HEAP32[$nm>>2]|0;
+ $633 = $m;
+ $634 = (__gcry_mpi_print($629,$631,$632,$nm,$633)|0);
+ $635 = ($634|0)!=(0);
+ if ($635) {
+ label = 128;
+ break L20;
+ }
+ $636 = HEAP32[$nm>>2]|0;
+ $637 = ((($c)) + 8|0);
+ $638 = HEAP32[$637>>2]|0;
+ $639 = (($638) + ($636)|0);
+ HEAP32[$637>>2] = $639;
+ }
+ } while(0);
+ $percent = 0;
+ }
+ } while(0);
+ $1091 = $p;
+ $1092 = ((($1091)) + 1|0);
+ $p = $1092;
+ $1093 = $n;
+ $1094 = (($1093) + -1)|0;
+ $n = $1094;
+ }
+ switch (label|0) {
+ case 18: {
+ $63 = $_ms_err;
+ $err = $63;
+ $64 = $p;
+ $65 = $3;
+ $66 = $64;
+ $67 = $65;
+ $68 = (($66) - ($67))|0;
+ $69 = $2;
+ HEAP32[$69>>2] = $68;
+ break L18;
+ break;
+ }
+ case 29: {
+ $117 = $p;
+ $118 = $3;
+ $119 = $117;
+ $120 = $118;
+ $121 = (($119) - ($120))|0;
+ $122 = $2;
+ HEAP32[$122>>2] = $121;
+ $err = 206;
+ break L18;
+ break;
+ }
+ case 44: {
+ $189 = $p;
+ $190 = $3;
+ $191 = $189;
+ $192 = $190;
+ $193 = (($191) - ($192))|0;
+ $194 = $2;
+ HEAP32[$194>>2] = $193;
+ $err = 206;
+ break L18;
+ break;
+ }
+ case 54: {
+ $221 = $p;
+ $222 = $3;
+ $223 = $221;
+ $224 = $222;
+ $225 = (($223) - ($224))|0;
+ $226 = $2;
+ HEAP32[$226>>2] = $225;
+ $err = 206;
+ break L18;
+ break;
+ }
+ case 59: {
+ $242 = $_ms_err1;
+ $err = $242;
+ $243 = $p;
+ $244 = $3;
+ $245 = $243;
+ $246 = $244;
+ $247 = (($245) - ($246))|0;
+ $248 = $2;
+ HEAP32[$248>>2] = $247;
+ break L18;
+ break;
+ }
+ case 66: {
+ $293 = $p;
+ $294 = $3;
+ $295 = $293;
+ $296 = $294;
+ $297 = (($295) - ($296))|0;
+ $298 = $2;
+ HEAP32[$298>>2] = $297;
+ $err = 212;
+ break L18;
+ break;
+ }
+ case 68: {
+ $305 = $_ms_err4;
+ $err = $305;
+ $306 = $p;
+ $307 = $3;
+ $308 = $306;
+ $309 = $307;
+ $310 = (($308) - ($309))|0;
+ $311 = $2;
+ HEAP32[$311>>2] = $310;
+ break L18;
+ break;
+ }
+ case 82: {
+ $365 = $p;
+ $366 = $3;
+ $367 = $365;
+ $368 = $366;
+ $369 = (($367) - ($368))|0;
+ $370 = $2;
+ HEAP32[$370>>2] = $369;
+ $err = 211;
+ break L18;
+ break;
+ }
+ case 91: {
+ $397 = $p;
+ $398 = $3;
+ $399 = $397;
+ $400 = $398;
+ $401 = (($399) - ($400))|0;
+ $402 = $2;
+ HEAP32[$402>>2] = $401;
+ $err = 202;
+ break L18;
+ break;
+ }
+ case 93: {
+ $407 = $_ms_err6;
+ $err = $407;
+ $408 = $p;
+ $409 = $3;
+ $410 = $408;
+ $411 = $409;
+ $412 = (($410) - ($411))|0;
+ $413 = $2;
+ HEAP32[$413>>2] = $412;
+ break L18;
+ break;
+ }
+ case 101: {
+ $454 = $p;
+ $455 = $3;
+ $456 = $454;
+ $457 = $455;
+ $458 = (($456) - ($457))|0;
+ $459 = $2;
+ HEAP32[$459>>2] = $458;
+ $err = 201;
+ break L18;
+ break;
+ }
+ case 111: {
+ $507 = $_ms_err8;
+ $err = $507;
+ $508 = $p;
+ $509 = $3;
+ $510 = $508;
+ $511 = $509;
+ $512 = (($510) - ($511))|0;
+ $513 = $2;
+ HEAP32[$513>>2] = $512;
+ break L18;
+ break;
+ }
+ case 115: {
+ $527 = (___errno_location()|0);
+ $528 = HEAP32[$527>>2]|0;
+ $529 = (_gpg_err_code_from_errno($528)|0);
+ $err = $529;
+ break L18;
+ break;
+ }
+ case 119: {
+ __gcry_bug(22685,1433,22692);
+ // unreachable;
+ break;
+ }
+ case 121: {
+ $576 = $_ms_err10;
+ $err = $576;
+ $577 = $p;
+ $578 = $3;
+ $579 = $577;
+ $580 = $578;
+ $581 = (($579) - ($580))|0;
+ $582 = $2;
+ HEAP32[$582>>2] = $581;
+ break L18;
+ break;
+ }
+ case 125: {
+ $596 = (___errno_location()|0);
+ $597 = HEAP32[$596>>2]|0;
+ $598 = (_gpg_err_code_from_errno($597)|0);
+ $err = $598;
+ break L18;
+ break;
+ }
+ case 128: {
+ __gcry_bug(22685,1460,22692);
+ // unreachable;
+ break;
+ }
+ case 135: {
+ $666 = $_ms_err14;
+ $err = $666;
+ $667 = $p;
+ $668 = $3;
+ $669 = $667;
+ $670 = $668;
+ $671 = (($669) - ($670))|0;
+ $672 = $2;
+ HEAP32[$672>>2] = $671;
+ break L18;
+ break;
+ }
+ case 145: {
+ $731 = $_ms_err18;
+ $err = $731;
+ $732 = $p;
+ $733 = $3;
+ $734 = $732;
+ $735 = $733;
+ $736 = (($734) - ($735))|0;
+ $737 = $2;
+ HEAP32[$737>>2] = $736;
+ break L18;
+ break;
+ }
+ case 150: {
+ $753 = (___errno_location()|0);
+ $754 = HEAP32[$753>>2]|0;
+ $755 = (_gpg_err_code_from_errno($754)|0);
+ $err = $755;
+ break L18;
+ break;
+ }
+ case 158: {
+ $820 = $_ms_err23;
+ $err = $820;
+ $821 = $p;
+ $822 = $3;
+ $823 = $821;
+ $824 = $822;
+ $825 = (($823) - ($824))|0;
+ $826 = $2;
+ HEAP32[$826>>2] = $825;
+ break L18;
+ break;
+ }
+ case 165: {
+ $870 = $_ms_err28;
+ $err = $870;
+ $871 = $p;
+ $872 = $3;
+ $873 = $871;
+ $874 = $872;
+ $875 = (($873) - ($874))|0;
+ $876 = $2;
+ HEAP32[$876>>2] = $875;
+ break L18;
+ break;
+ }
+ case 173: {
+ $922 = $_ms_err31;
+ $err = $922;
+ $923 = $p;
+ $924 = $3;
+ $925 = $923;
+ $926 = $924;
+ $927 = (($925) - ($926))|0;
+ $928 = $2;
+ HEAP32[$928>>2] = $927;
+ break L18;
+ break;
+ }
+ case 175: {
+ $939 = $p;
+ $940 = $3;
+ $941 = $939;
+ $942 = $940;
+ $943 = (($941) - ($942))|0;
+ $944 = $2;
+ HEAP32[$944>>2] = $943;
+ $err = 201;
+ break L18;
+ break;
+ }
+ case 179: {
+ $948 = $p;
+ $949 = $3;
+ $950 = $948;
+ $951 = $949;
+ $952 = (($950) - ($951))|0;
+ $953 = $2;
+ HEAP32[$953>>2] = $952;
+ $err = 209;
+ break L18;
+ break;
+ }
+ case 181: {
+ $957 = $_ms_err32;
+ $err = $957;
+ $958 = $p;
+ $959 = $3;
+ $960 = $958;
+ $961 = $959;
+ $962 = (($960) - ($961))|0;
+ $963 = $2;
+ HEAP32[$963>>2] = $962;
+ break L18;
+ break;
+ }
+ case 185: {
+ $975 = $p;
+ $976 = $3;
+ $977 = $975;
+ $978 = $976;
+ $979 = (($977) - ($978))|0;
+ $980 = $2;
+ HEAP32[$980>>2] = $979;
+ $err = 209;
+ break L18;
+ break;
+ }
+ case 187: {
+ $984 = $_ms_err33;
+ $err = $984;
+ $985 = $p;
+ $986 = $3;
+ $987 = $985;
+ $988 = $986;
+ $989 = (($987) - ($988))|0;
+ $990 = $2;
+ HEAP32[$990>>2] = $989;
+ break L18;
+ break;
+ }
+ case 197: {
+ $1015 = $3;
+ $1016 = $1014;
+ $1017 = $1015;
+ $1018 = (($1016) - ($1017))|0;
+ $1019 = $2;
+ HEAP32[$1019>>2] = $1018;
+ $err = 208;
+ break L18;
+ break;
+ }
+ case 201: {
+ $1026 = $p;
+ $1027 = $3;
+ $1028 = $1026;
+ $1029 = $1027;
+ $1030 = (($1028) - ($1029))|0;
+ $1031 = $2;
+ HEAP32[$1031>>2] = $1030;
+ $err = 209;
+ break L18;
+ break;
+ }
+ case 206: {
+ $1045 = $3;
+ $1046 = $1044;
+ $1047 = $1045;
+ $1048 = (($1046) - ($1047))|0;
+ $1049 = $2;
+ HEAP32[$1049>>2] = $1048;
+ $err = 207;
+ break L18;
+ break;
+ }
+ case 212: {
+ $1063 = $3;
+ $1064 = $1062;
+ $1065 = $1063;
+ $1066 = (($1064) - ($1065))|0;
+ $1067 = $2;
+ HEAP32[$1067>>2] = $1066;
+ $err = 210;
+ break L18;
+ break;
+ }
+ case 214: {
+ $1072 = $p;
+ $1073 = $3;
+ $1074 = $1072;
+ $1075 = $1073;
+ $1076 = (($1074) - ($1075))|0;
+ $1077 = $2;
+ HEAP32[$1077>>2] = $1076;
+ $err = 210;
+ break L18;
+ break;
+ }
+ case 218: {
+ $1085 = $p;
+ $1086 = $3;
+ $1087 = $1085;
+ $1088 = $1086;
+ $1089 = (($1087) - ($1088))|0;
+ $1090 = $2;
+ HEAP32[$1090>>2] = $1089;
+ $err = 205;
+ break L18;
+ break;
+ }
+ case 220: {
+ $1095 = (_make_space($c,0)|0);
+ $_ms_err34 = $1095;
+ $1096 = $_ms_err34;
+ $1097 = ($1096|0)!=(0);
+ if ($1097) {
+ $1098 = $_ms_err34;
+ $err = $1098;
+ $1099 = $p;
+ $1100 = $3;
+ $1101 = $1099;
+ $1102 = $1100;
+ $1103 = (($1101) - ($1102))|0;
+ $1104 = $2;
+ HEAP32[$1104>>2] = $1103;
+ break L18;
+ }
+ $1105 = ((($c)) + 8|0);
+ $1106 = HEAP32[$1105>>2]|0;
+ $1107 = ((($1106)) + 1|0);
+ HEAP32[$1105>>2] = $1107;
+ HEAP8[$1106>>0] = 0;
+ $1108 = $level;
+ $1109 = ($1108|0)==(0);
+ $1110 = $err;
+ $1111 = ($1110|0)!=(0);
+ $or$cond5 = $1109 | $1111;
+ if ($or$cond5) {
+ break L18;
+ }
+ $err = 203;
+ break L18;
+ break;
+ }
+ }
+ } else {
+ $35 = (___errno_location()|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (_gpg_err_code_from_errno($36)|0);
+ $err = $37;
+ $38 = $2;
+ HEAP32[$38>>2] = 0;
+ }
+ } while(0);
+ $1112 = $err;
+ $1113 = ($1112|0)!=(0);
+ $1114 = HEAP32[$c>>2]|0;
+ if ($1113) {
+ $1115 = ($1114|0)!=(0|0);
+ if ($1115) {
+ $1116 = HEAP32[$c>>2]|0;
+ $1117 = (__gcry_is_secure($1116)|0);
+ $1118 = ($1117|0)!=(0);
+ L292: do {
+ if ($1118) {
+ $1119 = HEAP32[$c>>2]|0;
+ $_vptr = $1119;
+ $1120 = ((($c)) + 4|0);
+ $1121 = HEAP32[$1120>>2]|0;
+ $1122 = (1 + ($1121))|0;
+ $1123 = (($1122) - 1)|0;
+ $_vlen = $1123;
+ $_vset = 0;
+ $1124 = $_vset;
+ $1125 = $1124&255;
+ $1126 = $_vset_long;
+ $1127 = $1126;
+ HEAP32[$1127>>2] = $1125;
+ $1128 = (($1126) + 4)|0;
+ $1129 = $1128;
+ HEAP32[$1129>>2] = 0;
+ while(1) {
+ $1130 = $_vptr;
+ $1131 = $1130;
+ $1132 = $1131 & 7;
+ $1133 = ($1132|0)!=(0);
+ $1134 = $_vlen;
+ $1135 = ($1134|0)!=(0);
+ $1136 = $1133 ? $1135 : 0;
+ if (!($1136)) {
+ break;
+ }
+ $1137 = $_vset;
+ $1138 = $_vptr;
+ HEAP8[$1138>>0] = $1137;
+ $1139 = $_vptr;
+ $1140 = ((($1139)) + 1|0);
+ $_vptr = $1140;
+ $1141 = $_vlen;
+ $1142 = (($1141) + -1)|0;
+ $_vlen = $1142;
+ }
+ $1143 = $_vlen;
+ $1144 = ($1143>>>0)<(8);
+ if (!($1144)) {
+ $1145 = $_vset_long;
+ $1146 = $1145;
+ $1147 = HEAP32[$1146>>2]|0;
+ $1148 = (($1145) + 4)|0;
+ $1149 = $1148;
+ $1150 = HEAP32[$1149>>2]|0;
+ $1151 = (___muldi3(($1147|0),($1150|0),16843009,16843009)|0);
+ $1152 = tempRet0;
+ $1153 = $_vset_long;
+ $1154 = $1153;
+ HEAP32[$1154>>2] = $1151;
+ $1155 = (($1153) + 4)|0;
+ $1156 = $1155;
+ HEAP32[$1156>>2] = $1152;
+ while(1) {
+ $1157 = $_vptr;
+ $_vptr_long = $1157;
+ $1158 = $_vset_long;
+ $1159 = $1158;
+ $1160 = HEAP32[$1159>>2]|0;
+ $1161 = (($1158) + 4)|0;
+ $1162 = $1161;
+ $1163 = HEAP32[$1162>>2]|0;
+ $1164 = $_vptr_long;
+ $1165 = $1164;
+ $1166 = $1165;
+ HEAP32[$1166>>2] = $1160;
+ $1167 = (($1165) + 4)|0;
+ $1168 = $1167;
+ HEAP32[$1168>>2] = $1163;
+ $1169 = $_vlen;
+ $1170 = (($1169) - 8)|0;
+ $_vlen = $1170;
+ $1171 = $_vptr;
+ $1172 = ((($1171)) + 8|0);
+ $_vptr = $1172;
+ $1173 = $_vlen;
+ $1174 = ($1173>>>0)>=(8);
+ if (!($1174)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $1175 = $_vlen;
+ $1176 = ($1175|0)!=(0);
+ if (!($1176)) {
+ break L292;
+ }
+ $1177 = $_vset;
+ $1178 = $_vptr;
+ HEAP8[$1178>>0] = $1177;
+ $1179 = $_vptr;
+ $1180 = ((($1179)) + 1|0);
+ $_vptr = $1180;
+ $1181 = $_vlen;
+ $1182 = (($1181) + -1)|0;
+ $_vlen = $1182;
+ }
+ }
+ } while(0);
+ $1183 = HEAP32[$c>>2]|0;
+ __gcry_free($1183);
+ }
+ } else {
+ $1184 = (_normalize($1114)|0);
+ $1185 = $1;
+ HEAP32[$1185>>2] = $1184;
+ }
+ $1186 = $err;
+ $0 = $1186;
+ $1187 = $0;
+ STACKTOP = sp;return ($1187|0);
+}
+function _make_space($c,$n) {
+ $c = $c|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $newhead = 0, $newsexp = 0, $newsize = 0, $used = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $n;
+ $3 = $1;
+ $4 = ((($3)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $1;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $5;
+ $9 = $7;
+ $10 = (($8) - ($9))|0;
+ $used = $10;
+ $11 = $used;
+ $12 = $2;
+ $13 = (($11) + ($12))|0;
+ $14 = (($13) + 2)|0;
+ $15 = (($14) + 1)|0;
+ $16 = $1;
+ $17 = ((($16)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($15>>>0)>=($18>>>0);
+ do {
+ if ($19) {
+ $20 = $1;
+ $21 = ((($20)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $2;
+ $24 = (($23) + 2)|0;
+ $25 = (($24) + 1)|0;
+ $26 = $25<<1;
+ $27 = (($22) + ($26))|0;
+ $newsize = $27;
+ $28 = $newsize;
+ $29 = $1;
+ $30 = ((($29)) + 4|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ($28>>>0)<=($31>>>0);
+ if ($32) {
+ $0 = 67;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ $33 = $1;
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $newsize;
+ $36 = (1 + ($35))|0;
+ $37 = (($36) - 1)|0;
+ $38 = (__gcry_realloc($34,$37)|0);
+ $newsexp = $38;
+ $39 = $newsexp;
+ $40 = ($39|0)!=(0|0);
+ if ($40) {
+ $44 = $newsize;
+ $45 = $1;
+ $46 = ((($45)) + 4|0);
+ HEAP32[$46>>2] = $44;
+ $47 = $newsexp;
+ $newhead = $47;
+ $48 = $newhead;
+ $49 = $used;
+ $50 = (($48) + ($49)|0);
+ $51 = $1;
+ $52 = ((($51)) + 8|0);
+ HEAP32[$52>>2] = $50;
+ $53 = $newsexp;
+ $54 = $1;
+ HEAP32[$54>>2] = $53;
+ break;
+ }
+ $41 = (___errno_location()|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (_gpg_err_code_from_errno($42)|0);
+ $0 = $43;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ } while(0);
+ $0 = 0;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+}
+function _unquote_string($string,$length,$buf) {
+ $string = $string|0;
+ $length = $length|0;
+ $buf = $buf|0;
+ var $$sink = 0, $$sink1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
+ var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
+ var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
+ var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0, $esc = 0, $n = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $string;
+ $1 = $length;
+ $2 = $buf;
+ $esc = 0;
+ $3 = $0;
+ $s = $3;
+ $4 = $2;
+ $d = $4;
+ $5 = $1;
+ $n = $5;
+ while(1) {
+ $6 = $n;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ break;
+ }
+ $8 = $esc;
+ $9 = ($8|0)!=(0);
+ $10 = $s;
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ do {
+ if ($9) {
+ L6: do {
+ switch ($12|0) {
+ case 98: {
+ $13 = $d;
+ $14 = ((($13)) + 1|0);
+ $d = $14;
+ HEAP8[$13>>0] = 8;
+ break;
+ }
+ case 116: {
+ $15 = $d;
+ $16 = ((($15)) + 1|0);
+ $d = $16;
+ HEAP8[$15>>0] = 9;
+ break;
+ }
+ case 118: {
+ $17 = $d;
+ $18 = ((($17)) + 1|0);
+ $d = $18;
+ HEAP8[$17>>0] = 11;
+ break;
+ }
+ case 110: {
+ $19 = $d;
+ $20 = ((($19)) + 1|0);
+ $d = $20;
+ HEAP8[$19>>0] = 10;
+ break;
+ }
+ case 102: {
+ $21 = $d;
+ $22 = ((($21)) + 1|0);
+ $d = $22;
+ HEAP8[$21>>0] = 12;
+ break;
+ }
+ case 114: {
+ $23 = $d;
+ $24 = ((($23)) + 1|0);
+ $d = $24;
+ HEAP8[$23>>0] = 13;
+ break;
+ }
+ case 34: {
+ $25 = $d;
+ $26 = ((($25)) + 1|0);
+ $d = $26;
+ HEAP8[$25>>0] = 34;
+ break;
+ }
+ case 39: {
+ $27 = $d;
+ $28 = ((($27)) + 1|0);
+ $d = $28;
+ HEAP8[$27>>0] = 39;
+ break;
+ }
+ case 92: {
+ $29 = $d;
+ $30 = ((($29)) + 1|0);
+ $d = $30;
+ HEAP8[$29>>0] = 92;
+ break;
+ }
+ case 13: {
+ $31 = $n;
+ $32 = ($31>>>0)>(1);
+ if ($32) {
+ $33 = $s;
+ $34 = ((($33)) + 1|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35&255;
+ $37 = ($36|0)==(10);
+ if ($37) {
+ $38 = $s;
+ $39 = ((($38)) + 1|0);
+ $s = $39;
+ $40 = $n;
+ $41 = (($40) + -1)|0;
+ $n = $41;
+ }
+ }
+ break;
+ }
+ case 10: {
+ $42 = $n;
+ $43 = ($42>>>0)>(1);
+ if ($43) {
+ $44 = $s;
+ $45 = ((($44)) + 1|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = ($47|0)==(13);
+ if ($48) {
+ $49 = $s;
+ $50 = ((($49)) + 1|0);
+ $s = $50;
+ $51 = $n;
+ $52 = (($51) + -1)|0;
+ $n = $52;
+ }
+ }
+ break;
+ }
+ case 120: {
+ $53 = $n;
+ $54 = ($53>>>0)>(2);
+ if ($54) {
+ $55 = $s;
+ $56 = ((($55)) + 1|0);
+ $57 = HEAP8[$56>>0]|0;
+ $58 = $57&255;
+ $59 = ($58|0)>=(48);
+ if ($59) {
+ $60 = $s;
+ $61 = ((($60)) + 1|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = $62&255;
+ $64 = ($63|0)<=(57);
+ if (!($64)) {
+ label = 23;
+ }
+ } else {
+ label = 23;
+ }
+ do {
+ if ((label|0) == 23) {
+ label = 0;
+ $65 = $s;
+ $66 = ((($65)) + 1|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67&255;
+ $69 = ($68|0)>=(65);
+ if ($69) {
+ $70 = $s;
+ $71 = ((($70)) + 1|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72&255;
+ $74 = ($73|0)<=(70);
+ if ($74) {
+ break;
+ }
+ }
+ $75 = $s;
+ $76 = ((($75)) + 1|0);
+ $77 = HEAP8[$76>>0]|0;
+ $78 = $77&255;
+ $79 = ($78|0)>=(97);
+ if (!($79)) {
+ break L6;
+ }
+ $80 = $s;
+ $81 = ((($80)) + 1|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82&255;
+ $84 = ($83|0)<=(102);
+ if (!($84)) {
+ break L6;
+ }
+ }
+ } while(0);
+ $85 = $s;
+ $86 = ((($85)) + 2|0);
+ $87 = HEAP8[$86>>0]|0;
+ $88 = $87&255;
+ $89 = ($88|0)>=(48);
+ if ($89) {
+ $90 = $s;
+ $91 = ((($90)) + 2|0);
+ $92 = HEAP8[$91>>0]|0;
+ $93 = $92&255;
+ $94 = ($93|0)<=(57);
+ if (!($94)) {
+ label = 29;
+ }
+ } else {
+ label = 29;
+ }
+ do {
+ if ((label|0) == 29) {
+ label = 0;
+ $95 = $s;
+ $96 = ((($95)) + 2|0);
+ $97 = HEAP8[$96>>0]|0;
+ $98 = $97&255;
+ $99 = ($98|0)>=(65);
+ if ($99) {
+ $100 = $s;
+ $101 = ((($100)) + 2|0);
+ $102 = HEAP8[$101>>0]|0;
+ $103 = $102&255;
+ $104 = ($103|0)<=(70);
+ if ($104) {
+ break;
+ }
+ }
+ $105 = $s;
+ $106 = ((($105)) + 2|0);
+ $107 = HEAP8[$106>>0]|0;
+ $108 = $107&255;
+ $109 = ($108|0)>=(97);
+ if (!($109)) {
+ break L6;
+ }
+ $110 = $s;
+ $111 = ((($110)) + 2|0);
+ $112 = HEAP8[$111>>0]|0;
+ $113 = $112&255;
+ $114 = ($113|0)<=(102);
+ if (!($114)) {
+ break L6;
+ }
+ }
+ } while(0);
+ $115 = $s;
+ $116 = ((($115)) + 1|0);
+ $s = $116;
+ $117 = $n;
+ $118 = (($117) + -1)|0;
+ $n = $118;
+ $119 = $s;
+ $120 = HEAP8[$119>>0]|0;
+ $121 = $120&255;
+ $122 = ($121|0)<=(57);
+ $123 = $s;
+ $124 = HEAP8[$123>>0]|0;
+ $125 = $124&255;
+ if ($122) {
+ $126 = (($125) - 48)|0;
+ $135 = $126;
+ } else {
+ $127 = ($125|0)<=(70);
+ $128 = $s;
+ $129 = HEAP8[$128>>0]|0;
+ $130 = $129&255;
+ $131 = (($130) - 65)|0;
+ $132 = (($130) - 97)|0;
+ $$sink = $127 ? $131 : $132;
+ $133 = (($$sink) + 10)|0;
+ $135 = $133;
+ }
+ $134 = $135<<4;
+ $136 = $s;
+ $137 = ((($136)) + 1|0);
+ $138 = HEAP8[$137>>0]|0;
+ $139 = $138&255;
+ $140 = ($139|0)<=(57);
+ $141 = $s;
+ $142 = ((($141)) + 1|0);
+ $143 = HEAP8[$142>>0]|0;
+ $144 = $143&255;
+ if ($140) {
+ $145 = (($144) - 48)|0;
+ $155 = $145;
+ } else {
+ $146 = ($144|0)<=(70);
+ $147 = $s;
+ $148 = ((($147)) + 1|0);
+ $149 = HEAP8[$148>>0]|0;
+ $150 = $149&255;
+ $151 = (($150) - 65)|0;
+ $152 = (($150) - 97)|0;
+ $$sink1 = $146 ? $151 : $152;
+ $153 = (($$sink1) + 10)|0;
+ $155 = $153;
+ }
+ $154 = (($134) + ($155))|0;
+ $156 = $154&255;
+ $157 = $d;
+ $158 = ((($157)) + 1|0);
+ $d = $158;
+ HEAP8[$157>>0] = $156;
+ $159 = $s;
+ $160 = ((($159)) + 1|0);
+ $s = $160;
+ $161 = $n;
+ $162 = (($161) + -1)|0;
+ $n = $162;
+ }
+ break;
+ }
+ default: {
+ $163 = $n;
+ $164 = ($163>>>0)>(2);
+ if ($164) {
+ $165 = $s;
+ $166 = HEAP8[$165>>0]|0;
+ $167 = $166&255;
+ $168 = ($167|0)>=(48);
+ if ($168) {
+ $169 = $s;
+ $170 = HEAP8[$169>>0]|0;
+ $171 = $170&255;
+ $172 = ($171|0)<=(55);
+ if ($172) {
+ $173 = $s;
+ $174 = ((($173)) + 1|0);
+ $175 = HEAP8[$174>>0]|0;
+ $176 = $175&255;
+ $177 = ($176|0)>=(48);
+ if ($177) {
+ $178 = $s;
+ $179 = ((($178)) + 1|0);
+ $180 = HEAP8[$179>>0]|0;
+ $181 = $180&255;
+ $182 = ($181|0)<=(55);
+ if ($182) {
+ $183 = $s;
+ $184 = ((($183)) + 2|0);
+ $185 = HEAP8[$184>>0]|0;
+ $186 = $185&255;
+ $187 = ($186|0)>=(48);
+ if ($187) {
+ $188 = $s;
+ $189 = ((($188)) + 2|0);
+ $190 = HEAP8[$189>>0]|0;
+ $191 = $190&255;
+ $192 = ($191|0)<=(55);
+ if ($192) {
+ $193 = $s;
+ $194 = HEAP8[$193>>0]|0;
+ $195 = $194&255;
+ $196 = (($195) - 48)|0;
+ $197 = $196<<6;
+ $198 = $s;
+ $199 = ((($198)) + 1|0);
+ $200 = HEAP8[$199>>0]|0;
+ $201 = $200&255;
+ $202 = (($201) - 48)|0;
+ $203 = $202<<3;
+ $204 = (($197) + ($203))|0;
+ $205 = $s;
+ $206 = ((($205)) + 2|0);
+ $207 = HEAP8[$206>>0]|0;
+ $208 = $207&255;
+ $209 = (($208) - 48)|0;
+ $210 = (($204) + ($209))|0;
+ $211 = $210&255;
+ $212 = $d;
+ $213 = ((($212)) + 1|0);
+ $d = $213;
+ HEAP8[$212>>0] = $211;
+ $214 = $s;
+ $215 = ((($214)) + 2|0);
+ $s = $215;
+ $216 = $n;
+ $217 = (($216) - 2)|0;
+ $n = $217;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $esc = 0;
+ } else {
+ $218 = ($12|0)==(92);
+ if ($218) {
+ $esc = 1;
+ break;
+ } else {
+ $219 = $s;
+ $220 = HEAP8[$219>>0]|0;
+ $221 = $d;
+ $222 = ((($221)) + 1|0);
+ $d = $222;
+ HEAP8[$221>>0] = $220;
+ break;
+ }
+ }
+ } while(0);
+ $223 = $n;
+ $224 = (($223) + -1)|0;
+ $n = $224;
+ $225 = $s;
+ $226 = ((($225)) + 1|0);
+ $s = $226;
+ }
+ $227 = $d;
+ $228 = $2;
+ $229 = $227;
+ $230 = $228;
+ $231 = (($229) - ($230))|0;
+ STACKTOP = sp;return ($231|0);
+}
+function _whitespacep($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $p;
+ $2 = $1;
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 << 24 >> 24;
+ switch ($4|0) {
+ case 10: case 13: case 12: case 11: case 9: case 32: {
+ $0 = 1;
+ break;
+ }
+ default: {
+ $0 = 0;
+ }
+ }
+ $5 = $0;
+ STACKTOP = sp;return ($5|0);
+}
+function _hextonibble($s) {
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $s;
+ $2 = $1;
+ $3 = ($2|0)>=(48);
+ $4 = $1;
+ $5 = ($4|0)<=(57);
+ $or$cond = $3 & $5;
+ $6 = $1;
+ do {
+ if ($or$cond) {
+ $7 = (($6) - 48)|0;
+ $0 = $7;
+ } else {
+ $8 = ($6|0)>=(65);
+ $9 = $1;
+ $10 = ($9|0)<=(70);
+ $or$cond3 = $8 & $10;
+ $11 = $1;
+ if ($or$cond3) {
+ $12 = (10 + ($11))|0;
+ $13 = (($12) - 65)|0;
+ $0 = $13;
+ break;
+ }
+ $14 = ($11|0)>=(97);
+ $15 = $1;
+ $16 = ($15|0)<=(102);
+ $or$cond5 = $14 & $16;
+ if ($or$cond5) {
+ $17 = $1;
+ $18 = (10 + ($17))|0;
+ $19 = (($18) - 97)|0;
+ $0 = $19;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+}
+function _get_internal_buffer($list,$r_off) {
+ $list = $list|0;
+ $r_off = $r_off|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $level = 0, $n = 0, $p = 0, $type = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 24|0;
+ $1 = $list;
+ $2 = $r_off;
+ $level = 0;
+ $3 = $2;
+ HEAP32[$3>>2] = 0;
+ $4 = $1;
+ $5 = ($4|0)!=(0|0);
+ L1: do {
+ if ($5) {
+ $6 = $1;
+ $p = $6;
+ while(1) {
+ $7 = $p;
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $type = $9;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ break L1;
+ }
+ $11 = $p;
+ $12 = ((($11)) + 1|0);
+ $p = $12;
+ $13 = $type;
+ $14 = ($13|0)==(1);
+ if ($14) {
+ $15 = $p;
+ ;HEAP8[$n>>0]=HEAP8[$15>>0]|0;HEAP8[$n+1>>0]=HEAP8[$15+1>>0]|0;
+ $16 = HEAP16[$n>>1]|0;
+ $17 = $16&65535;
+ $18 = (2 + ($17))|0;
+ $19 = $p;
+ $20 = (($19) + ($18)|0);
+ $p = $20;
+ continue;
+ }
+ $21 = $type;
+ $22 = ($21|0)==(3);
+ if (!($22)) {
+ $34 = $type;
+ $35 = ($34|0)==(4);
+ if (!($35)) {
+ continue;
+ }
+ $36 = $level;
+ $37 = (($36) + -1)|0;
+ $level = $37;
+ $38 = $level;
+ $39 = ($38|0)!=(0);
+ if ($39) {
+ continue;
+ } else {
+ break;
+ }
+ }
+ $23 = $level;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ $25 = $p;
+ $26 = ((($25)) + -1|0);
+ $27 = $1;
+ $28 = $26;
+ $29 = $27;
+ $30 = (($28) - ($29))|0;
+ $31 = $2;
+ HEAP32[$31>>2] = $30;
+ }
+ $32 = $level;
+ $33 = (($32) + 1)|0;
+ $level = $33;
+ }
+ $40 = $p;
+ $41 = $1;
+ $42 = $40;
+ $43 = $41;
+ $44 = (($42) - ($43))|0;
+ $0 = $44;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ }
+ } while(0);
+ $0 = 0;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+}
+function _normalize($list) {
+ $list = $list|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $list;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ do {
+ if ($3) {
+ $4 = $1;
+ $p = $4;
+ $5 = $p;
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $9 = $1;
+ __gcry_sexp_release($9);
+ $0 = 0;
+ break;
+ }
+ $10 = $p;
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ $13 = ($12|0)==(3);
+ if ($13) {
+ $14 = $p;
+ $15 = ((($14)) + 1|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16&255;
+ $18 = ($17|0)==(4);
+ if ($18) {
+ $19 = $1;
+ __gcry_sexp_release($19);
+ $0 = 0;
+ break;
+ }
+ }
+ $20 = $1;
+ $0 = $20;
+ } else {
+ $0 = 0;
+ }
+ } while(0);
+ $21 = $0;
+ STACKTOP = sp;return ($21|0);
+}
+function __gcry_sexp_release($sexp) {
+ $sexp = $sexp|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $cond = 0, $n = 0, $p = 0, $type = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 32|0;
+ $_vset_long = sp;
+ $0 = $sexp;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = (__gcry_is_secure($3)|0);
+ $5 = ($4|0)!=(0);
+ L4: do {
+ if ($5) {
+ $6 = $0;
+ $p = $6;
+ while(1) {
+ $7 = $p;
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $type = $9;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ break;
+ }
+ $11 = $p;
+ $12 = ((($11)) + 1|0);
+ $p = $12;
+ $13 = $type;
+ $cond = ($13|0)==(1);
+ if (!($cond)) {
+ continue;
+ }
+ $14 = $p;
+ ;HEAP8[$n>>0]=HEAP8[$14>>0]|0;HEAP8[$n+1>>0]=HEAP8[$14+1>>0]|0;
+ $15 = $p;
+ $16 = ((($15)) + 2|0);
+ $p = $16;
+ $17 = HEAP16[$n>>1]|0;
+ $18 = $17&65535;
+ $19 = $p;
+ $20 = (($19) + ($18)|0);
+ $p = $20;
+ }
+ $21 = $0;
+ $_vptr = $21;
+ $22 = $p;
+ $23 = $0;
+ $24 = $22;
+ $25 = $23;
+ $26 = (($24) - ($25))|0;
+ $_vlen = $26;
+ $_vset = 0;
+ $27 = $_vset;
+ $28 = $27&255;
+ $29 = $_vset_long;
+ $30 = $29;
+ HEAP32[$30>>2] = $28;
+ $31 = (($29) + 4)|0;
+ $32 = $31;
+ HEAP32[$32>>2] = 0;
+ while(1) {
+ $33 = $_vptr;
+ $34 = $33;
+ $35 = $34 & 7;
+ $36 = ($35|0)!=(0);
+ $37 = $_vlen;
+ $38 = ($37|0)!=(0);
+ $39 = $36 ? $38 : 0;
+ if (!($39)) {
+ break;
+ }
+ $40 = $_vset;
+ $41 = $_vptr;
+ HEAP8[$41>>0] = $40;
+ $42 = $_vptr;
+ $43 = ((($42)) + 1|0);
+ $_vptr = $43;
+ $44 = $_vlen;
+ $45 = (($44) + -1)|0;
+ $_vlen = $45;
+ }
+ $46 = $_vlen;
+ $47 = ($46>>>0)<(8);
+ if (!($47)) {
+ $48 = $_vset_long;
+ $49 = $48;
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($48) + 4)|0;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (___muldi3(($50|0),($53|0),16843009,16843009)|0);
+ $55 = tempRet0;
+ $56 = $_vset_long;
+ $57 = $56;
+ HEAP32[$57>>2] = $54;
+ $58 = (($56) + 4)|0;
+ $59 = $58;
+ HEAP32[$59>>2] = $55;
+ while(1) {
+ $60 = $_vptr;
+ $_vptr_long = $60;
+ $61 = $_vset_long;
+ $62 = $61;
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (($61) + 4)|0;
+ $65 = $64;
+ $66 = HEAP32[$65>>2]|0;
+ $67 = $_vptr_long;
+ $68 = $67;
+ $69 = $68;
+ HEAP32[$69>>2] = $63;
+ $70 = (($68) + 4)|0;
+ $71 = $70;
+ HEAP32[$71>>2] = $66;
+ $72 = $_vlen;
+ $73 = (($72) - 8)|0;
+ $_vlen = $73;
+ $74 = $_vptr;
+ $75 = ((($74)) + 8|0);
+ $_vptr = $75;
+ $76 = $_vlen;
+ $77 = ($76>>>0)>=(8);
+ if (!($77)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $78 = $_vlen;
+ $79 = ($78|0)!=(0);
+ if (!($79)) {
+ break L4;
+ }
+ $80 = $_vset;
+ $81 = $_vptr;
+ HEAP8[$81>>0] = $80;
+ $82 = $_vptr;
+ $83 = ((($82)) + 1|0);
+ $_vptr = $83;
+ $84 = $_vlen;
+ $85 = (($84) + -1)|0;
+ $_vlen = $85;
+ }
+ }
+ } while(0);
+ $86 = $0;
+ __gcry_free($86);
+ STACKTOP = sp;return;
+}
+function __gcry_sexp_new($retsexp,$buffer,$length,$autodetect) {
+ $retsexp = $retsexp|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $autodetect = $autodetect|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $retsexp;
+ $1 = $buffer;
+ $2 = $length;
+ $3 = $autodetect;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (__gcry_sexp_create($4,$5,$6,$7,0)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function __gcry_sexp_find_token($list,$tok,$toklen) {
+ $list = $list|0;
+ $tok = $tok|0;
+ $toklen = $toklen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0;
+ var $head = 0, $level = 0, $n = 0, $newlist = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 36|0;
+ $1 = $list;
+ $2 = $tok;
+ $3 = $toklen;
+ $4 = $1;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $0 = 0;
+ $118 = $0;
+ STACKTOP = sp;return ($118|0);
+ }
+ $6 = $3;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ $8 = $2;
+ $9 = (_strlen($8)|0);
+ $3 = $9;
+ }
+ $10 = $1;
+ $p = $10;
+ while(1) {
+ $11 = $p;
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12&255;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ label = 29;
+ break;
+ }
+ $15 = $p;
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16&255;
+ $18 = ($17|0)==(3);
+ if ($18) {
+ $19 = $p;
+ $20 = ((($19)) + 1|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21&255;
+ $23 = ($22|0)==(1);
+ if ($23) {
+ $24 = $p;
+ $head = $24;
+ $25 = $p;
+ $26 = ((($25)) + 2|0);
+ $p = $26;
+ $27 = $p;
+ ;HEAP8[$n>>0]=HEAP8[$27>>0]|0;HEAP8[$n+1>>0]=HEAP8[$27+1>>0]|0;
+ $28 = $p;
+ $29 = ((($28)) + 2|0);
+ $p = $29;
+ $30 = HEAP16[$n>>1]|0;
+ $31 = $30&65535;
+ $32 = $3;
+ $33 = ($31|0)==($32|0);
+ if ($33) {
+ $34 = $p;
+ $35 = $2;
+ $36 = $3;
+ $37 = (_memcmp($34,$35,$36)|0);
+ $38 = ($37|0)!=(0);
+ if (!($38)) {
+ break;
+ }
+ }
+ $100 = HEAP16[$n>>1]|0;
+ $101 = $100&65535;
+ $102 = $p;
+ $103 = (($102) + ($101)|0);
+ $p = $103;
+ continue;
+ }
+ }
+ $104 = $p;
+ $105 = HEAP8[$104>>0]|0;
+ $106 = $105&255;
+ $107 = ($106|0)==(1);
+ if ($107) {
+ $108 = $p;
+ $109 = ((($108)) + 1|0);
+ $p = $109;
+ ;HEAP8[$n>>0]=HEAP8[$109>>0]|0;HEAP8[$n+1>>0]=HEAP8[$109+1>>0]|0;
+ $110 = $p;
+ $111 = ((($110)) + 2|0);
+ $p = $111;
+ $112 = HEAP16[$n>>1]|0;
+ $113 = $112&65535;
+ $114 = $p;
+ $115 = (($114) + ($113)|0);
+ $p = $115;
+ continue;
+ } else {
+ $116 = $p;
+ $117 = ((($116)) + 1|0);
+ $p = $117;
+ continue;
+ }
+ }
+ if ((label|0) == 29) {
+ $0 = 0;
+ $118 = $0;
+ STACKTOP = sp;return ($118|0);
+ }
+ $level = 1;
+ $39 = HEAP16[$n>>1]|0;
+ $40 = $39&65535;
+ $41 = $p;
+ $42 = (($41) + ($40)|0);
+ $p = $42;
+ L25: while(1) {
+ $43 = $level;
+ $44 = ($43|0)!=(0);
+ $45 = $p;
+ if (!($44)) {
+ break;
+ }
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = ($47|0)==(1);
+ do {
+ if ($48) {
+ $49 = $p;
+ $50 = ((($49)) + 1|0);
+ $p = $50;
+ ;HEAP8[$n>>0]=HEAP8[$50>>0]|0;HEAP8[$n+1>>0]=HEAP8[$50+1>>0]|0;
+ $51 = HEAP16[$n>>1]|0;
+ $52 = $51&65535;
+ $53 = (2 + ($52))|0;
+ $54 = $p;
+ $55 = (($54) + ($53)|0);
+ $p = $55;
+ $56 = $p;
+ $57 = ((($56)) + -1|0);
+ $p = $57;
+ } else {
+ $58 = $p;
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59&255;
+ $61 = ($60|0)==(3);
+ if ($61) {
+ $62 = $level;
+ $63 = (($62) + 1)|0;
+ $level = $63;
+ break;
+ }
+ $64 = $p;
+ $65 = HEAP8[$64>>0]|0;
+ $66 = $65&255;
+ $67 = ($66|0)==(4);
+ if ($67) {
+ $68 = $level;
+ $69 = (($68) + -1)|0;
+ $level = $69;
+ break;
+ } else {
+ $70 = $p;
+ $71 = HEAP8[$70>>0]|0;
+ $72 = $71&255;
+ $73 = ($72|0)==(0);
+ if ($73) {
+ label = 20;
+ break L25;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $74 = $p;
+ $75 = ((($74)) + 1|0);
+ $p = $75;
+ }
+ if ((label|0) == 20) {
+ __gcry_bug(22685,481,22716);
+ // unreachable;
+ }
+ $76 = $head;
+ $77 = $45;
+ $78 = $76;
+ $79 = (($77) - ($78))|0;
+ $80 = $79&65535;
+ HEAP16[$n>>1] = $80;
+ $81 = HEAP16[$n>>1]|0;
+ $82 = $81&65535;
+ $83 = (1 + ($82))|0;
+ $84 = (__gcry_malloc($83)|0);
+ $newlist = $84;
+ $85 = $newlist;
+ $86 = ($85|0)!=(0|0);
+ if ($86) {
+ $87 = $newlist;
+ $d = $87;
+ $88 = $d;
+ $89 = $head;
+ $90 = HEAP16[$n>>1]|0;
+ $91 = $90&65535;
+ _memcpy(($88|0),($89|0),($91|0))|0;
+ $92 = HEAP16[$n>>1]|0;
+ $93 = $92&65535;
+ $94 = $d;
+ $95 = (($94) + ($93)|0);
+ $d = $95;
+ $96 = $d;
+ $97 = ((($96)) + 1|0);
+ $d = $97;
+ HEAP8[$96>>0] = 0;
+ $98 = $newlist;
+ $99 = (_normalize($98)|0);
+ $0 = $99;
+ $118 = $0;
+ STACKTOP = sp;return ($118|0);
+ } else {
+ $0 = 0;
+ $118 = $0;
+ STACKTOP = sp;return ($118|0);
+ }
+ return (0)|0;
+}
+function __gcry_sexp_length($list) {
+ $list = $list|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $length = 0, $level = 0, $n = 0;
+ var $p = 0, $type = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 24|0;
+ $1 = $list;
+ $length = 0;
+ $level = 0;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ $0 = 0;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+ }
+ $4 = $1;
+ $p = $4;
+ while(1) {
+ $5 = $p;
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $type = $7;
+ $8 = ($7|0)!=(0);
+ if (!($8)) {
+ break;
+ }
+ $9 = $p;
+ $10 = ((($9)) + 1|0);
+ $p = $10;
+ $11 = $type;
+ $12 = ($11|0)==(1);
+ if ($12) {
+ $13 = $p;
+ ;HEAP8[$n>>0]=HEAP8[$13>>0]|0;HEAP8[$n+1>>0]=HEAP8[$13+1>>0]|0;
+ $14 = HEAP16[$n>>1]|0;
+ $15 = $14&65535;
+ $16 = (2 + ($15))|0;
+ $17 = $p;
+ $18 = (($17) + ($16)|0);
+ $p = $18;
+ $19 = $level;
+ $20 = ($19|0)==(1);
+ if (!($20)) {
+ continue;
+ }
+ $21 = $length;
+ $22 = (($21) + 1)|0;
+ $length = $22;
+ continue;
+ }
+ $23 = $type;
+ $24 = ($23|0)==(3);
+ if (!($24)) {
+ $31 = $type;
+ $32 = ($31|0)==(4);
+ if (!($32)) {
+ continue;
+ }
+ $33 = $level;
+ $34 = (($33) + -1)|0;
+ $level = $34;
+ continue;
+ }
+ $25 = $level;
+ $26 = ($25|0)==(1);
+ if ($26) {
+ $27 = $length;
+ $28 = (($27) + 1)|0;
+ $length = $28;
+ }
+ $29 = $level;
+ $30 = (($29) + 1)|0;
+ $level = $30;
+ }
+ $35 = $length;
+ $0 = $35;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+}
+function __gcry_sexp_nth($list,$number) {
+ $list = $list|0;
+ $number = $number|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $d = 0, $head = 0, $level = 0, $n = 0, $newlist = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 32|0;
+ $1 = $list;
+ $2 = $number;
+ $level = 0;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $1;
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $8 = ($7|0)!=(3);
+ if (!($8)) {
+ $9 = $1;
+ $p = $9;
+ while(1) {
+ $10 = $2;
+ $11 = ($10|0)>(0);
+ $12 = $p;
+ $13 = ((($12)) + 1|0);
+ $p = $13;
+ $14 = $p;
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = ($16|0)==(1);
+ if (!($11)) {
+ break;
+ }
+ if ($17) {
+ $18 = $p;
+ $19 = ((($18)) + 1|0);
+ $p = $19;
+ ;HEAP8[$n>>0]=HEAP8[$19>>0]|0;HEAP8[$n+1>>0]=HEAP8[$19+1>>0]|0;
+ $20 = HEAP16[$n>>1]|0;
+ $21 = $20&65535;
+ $22 = (2 + ($21))|0;
+ $23 = $p;
+ $24 = (($23) + ($22)|0);
+ $p = $24;
+ $25 = $p;
+ $26 = ((($25)) + -1|0);
+ $p = $26;
+ $27 = $level;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ continue;
+ }
+ $29 = $2;
+ $30 = (($29) + -1)|0;
+ $2 = $30;
+ continue;
+ }
+ $31 = $p;
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32&255;
+ $34 = ($33|0)==(3);
+ if ($34) {
+ $35 = $level;
+ $36 = (($35) + 1)|0;
+ $level = $36;
+ continue;
+ }
+ $37 = $p;
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $38&255;
+ $40 = ($39|0)==(4);
+ if (!($40)) {
+ $47 = $p;
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48&255;
+ $50 = ($49|0)==(0);
+ if ($50) {
+ label = 15;
+ break;
+ } else {
+ continue;
+ }
+ }
+ $41 = $level;
+ $42 = (($41) + -1)|0;
+ $level = $42;
+ $43 = $level;
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ continue;
+ }
+ $45 = $2;
+ $46 = (($45) + -1)|0;
+ $2 = $46;
+ }
+ if ((label|0) == 15) {
+ $0 = 0;
+ $140 = $0;
+ STACKTOP = sp;return ($140|0);
+ }
+ do {
+ if ($17) {
+ $51 = $p;
+ $52 = ((($51)) + 1|0);
+ ;HEAP8[$n>>0]=HEAP8[$52>>0]|0;HEAP8[$n+1>>0]=HEAP8[$52+1>>0]|0;
+ $53 = HEAP16[$n>>1]|0;
+ $54 = $53&65535;
+ $55 = (5 + ($54))|0;
+ $56 = (($55) + 1)|0;
+ $57 = (__gcry_malloc($56)|0);
+ $newlist = $57;
+ $58 = $newlist;
+ $59 = ($58|0)!=(0|0);
+ if ($59) {
+ $60 = $newlist;
+ $d = $60;
+ $61 = $d;
+ $62 = ((($61)) + 1|0);
+ $d = $62;
+ HEAP8[$61>>0] = 3;
+ $63 = $d;
+ $64 = $p;
+ $65 = HEAP16[$n>>1]|0;
+ $66 = $65&65535;
+ $67 = (3 + ($66))|0;
+ _memcpy(($63|0),($64|0),($67|0))|0;
+ $68 = HEAP16[$n>>1]|0;
+ $69 = $68&65535;
+ $70 = (3 + ($69))|0;
+ $71 = $d;
+ $72 = (($71) + ($70)|0);
+ $d = $72;
+ $73 = $d;
+ $74 = ((($73)) + 1|0);
+ $d = $74;
+ HEAP8[$73>>0] = 4;
+ $75 = $d;
+ HEAP8[$75>>0] = 0;
+ break;
+ }
+ $0 = 0;
+ $140 = $0;
+ STACKTOP = sp;return ($140|0);
+ } else {
+ $76 = $p;
+ $77 = HEAP8[$76>>0]|0;
+ $78 = $77&255;
+ $79 = ($78|0)==(3);
+ if (!($79)) {
+ $newlist = 0;
+ break;
+ }
+ $80 = $p;
+ $head = $80;
+ $level = 1;
+ L32: while(1) {
+ $81 = $p;
+ $82 = ((($81)) + 1|0);
+ $p = $82;
+ $83 = $p;
+ $84 = HEAP8[$83>>0]|0;
+ $85 = $84&255;
+ $86 = ($85|0)==(1);
+ do {
+ if ($86) {
+ $87 = $p;
+ $88 = ((($87)) + 1|0);
+ $p = $88;
+ ;HEAP8[$n>>0]=HEAP8[$88>>0]|0;HEAP8[$n+1>>0]=HEAP8[$88+1>>0]|0;
+ $89 = HEAP16[$n>>1]|0;
+ $90 = $89&65535;
+ $91 = (2 + ($90))|0;
+ $92 = $p;
+ $93 = (($92) + ($91)|0);
+ $p = $93;
+ $94 = $p;
+ $95 = ((($94)) + -1|0);
+ $p = $95;
+ } else {
+ $96 = $p;
+ $97 = HEAP8[$96>>0]|0;
+ $98 = $97&255;
+ $99 = ($98|0)==(3);
+ if ($99) {
+ $100 = $level;
+ $101 = (($100) + 1)|0;
+ $level = $101;
+ break;
+ }
+ $102 = $p;
+ $103 = HEAP8[$102>>0]|0;
+ $104 = $103&255;
+ $105 = ($104|0)==(4);
+ if ($105) {
+ $106 = $level;
+ $107 = (($106) + -1)|0;
+ $level = $107;
+ break;
+ } else {
+ $108 = $p;
+ $109 = HEAP8[$108>>0]|0;
+ $110 = $109&255;
+ $111 = ($110|0)==(0);
+ if ($111) {
+ label = 29;
+ break L32;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $112 = $level;
+ $113 = ($112|0)!=(0);
+ if (!($113)) {
+ break;
+ }
+ }
+ if ((label|0) == 29) {
+ __gcry_bug(22685,673,22738);
+ // unreachable;
+ }
+ $114 = $p;
+ $115 = ((($114)) + 1|0);
+ $116 = $head;
+ $117 = $115;
+ $118 = $116;
+ $119 = (($117) - ($118))|0;
+ $120 = $119&65535;
+ HEAP16[$n>>1] = $120;
+ $121 = HEAP16[$n>>1]|0;
+ $122 = $121&65535;
+ $123 = (1 + ($122))|0;
+ $124 = (__gcry_malloc($123)|0);
+ $newlist = $124;
+ $125 = $newlist;
+ $126 = ($125|0)!=(0|0);
+ if ($126) {
+ $127 = $newlist;
+ $d = $127;
+ $128 = $d;
+ $129 = $head;
+ $130 = HEAP16[$n>>1]|0;
+ $131 = $130&65535;
+ _memcpy(($128|0),($129|0),($131|0))|0;
+ $132 = HEAP16[$n>>1]|0;
+ $133 = $132&65535;
+ $134 = $d;
+ $135 = (($134) + ($133)|0);
+ $d = $135;
+ $136 = $d;
+ $137 = ((($136)) + 1|0);
+ $d = $137;
+ HEAP8[$136>>0] = 0;
+ break;
+ }
+ $0 = 0;
+ $140 = $0;
+ STACKTOP = sp;return ($140|0);
+ }
+ } while(0);
+ $138 = $newlist;
+ $139 = (_normalize($138)|0);
+ $0 = $139;
+ $140 = $0;
+ STACKTOP = sp;return ($140|0);
+ }
+ }
+ $0 = 0;
+ $140 = $0;
+ STACKTOP = sp;return ($140|0);
+}
+function __gcry_sexp_car($list) {
+ $list = $list|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $list;
+ $1 = $0;
+ $2 = (__gcry_sexp_nth($1,0)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_sexp_nth_data($list,$number,$datalen) {
+ $list = $list|0;
+ $number = $number|0;
+ $datalen = $datalen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $list;
+ $1 = $number;
+ $2 = $datalen;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (_do_sexp_nth_data($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _do_sexp_nth_data($list,$number,$datalen) {
+ $list = $list|0;
+ $number = $number|0;
+ $datalen = $datalen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $level = 0, $n = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 24|0;
+ $1 = $list;
+ $2 = $number;
+ $3 = $datalen;
+ $level = 0;
+ $4 = $3;
+ HEAP32[$4>>2] = 0;
+ $5 = $1;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $0 = 0;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ $7 = $1;
+ $p = $7;
+ $8 = $p;
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = ($10|0)==(3);
+ if ($11) {
+ $12 = $p;
+ $13 = ((($12)) + 1|0);
+ $p = $13;
+ } else {
+ $14 = $2;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $0 = 0;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ }
+ L10: while(1) {
+ $16 = $2;
+ $17 = ($16|0)>(0);
+ $18 = $p;
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19&255;
+ $21 = ($20|0)==(1);
+ if (!($17)) {
+ break;
+ }
+ do {
+ if ($21) {
+ $22 = $p;
+ $23 = ((($22)) + 1|0);
+ $p = $23;
+ ;HEAP8[$n>>0]=HEAP8[$23>>0]|0;HEAP8[$n+1>>0]=HEAP8[$23+1>>0]|0;
+ $24 = HEAP16[$n>>1]|0;
+ $25 = $24&65535;
+ $26 = (2 + ($25))|0;
+ $27 = $p;
+ $28 = (($27) + ($26)|0);
+ $p = $28;
+ $29 = $p;
+ $30 = ((($29)) + -1|0);
+ $p = $30;
+ $31 = $level;
+ $32 = ($31|0)!=(0);
+ if (!($32)) {
+ $33 = $2;
+ $34 = (($33) + -1)|0;
+ $2 = $34;
+ }
+ } else {
+ $35 = $p;
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = ($37|0)==(3);
+ if ($38) {
+ $39 = $level;
+ $40 = (($39) + 1)|0;
+ $level = $40;
+ break;
+ }
+ $41 = $p;
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = ($43|0)==(4);
+ if (!($44)) {
+ $51 = $p;
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = ($53|0)==(0);
+ if ($54) {
+ label = 17;
+ break L10;
+ } else {
+ break;
+ }
+ }
+ $45 = $level;
+ $46 = (($45) + -1)|0;
+ $level = $46;
+ $47 = $level;
+ $48 = ($47|0)!=(0);
+ if (!($48)) {
+ $49 = $2;
+ $50 = (($49) + -1)|0;
+ $2 = $50;
+ }
+ }
+ } while(0);
+ $55 = $p;
+ $56 = ((($55)) + 1|0);
+ $p = $56;
+ }
+ if ((label|0) == 17) {
+ $0 = 0;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ if ($21) {
+ $57 = $p;
+ $58 = ((($57)) + 1|0);
+ $p = $58;
+ ;HEAP8[$n>>0]=HEAP8[$58>>0]|0;HEAP8[$n+1>>0]=HEAP8[$58+1>>0]|0;
+ $59 = HEAP16[$n>>1]|0;
+ $60 = $59&65535;
+ $61 = $3;
+ HEAP32[$61>>2] = $60;
+ $62 = $p;
+ $63 = ((($62)) + 2|0);
+ $0 = $63;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ } else {
+ $0 = 0;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ return (0)|0;
+}
+function __gcry_sexp_nth_buffer($list,$number,$rlength) {
+ $list = $list|0;
+ $number = $number|0;
+ $rlength = $rlength|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $buf = 0, $n = 0, $or$cond = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 4|0;
+ $1 = $list;
+ $2 = $number;
+ $3 = $rlength;
+ $4 = $3;
+ HEAP32[$4>>2] = 0;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_do_sexp_nth_data($5,$6,$n)|0);
+ $s = $7;
+ $8 = $s;
+ $9 = ($8|0)!=(0|0);
+ $10 = HEAP32[$n>>2]|0;
+ $11 = ($10|0)!=(0);
+ $or$cond = $9 & $11;
+ if (!($or$cond)) {
+ $0 = 0;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ $12 = HEAP32[$n>>2]|0;
+ $13 = (__gcry_malloc($12)|0);
+ $buf = $13;
+ $14 = $buf;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $buf;
+ $17 = $s;
+ $18 = HEAP32[$n>>2]|0;
+ _memcpy(($16|0),($17|0),($18|0))|0;
+ $19 = HEAP32[$n>>2]|0;
+ $20 = $3;
+ HEAP32[$20>>2] = $19;
+ $21 = $buf;
+ $0 = $21;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ } else {
+ $0 = 0;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ return (0)|0;
+}
+function __gcry_sexp_nth_string($list,$number) {
+ $list = $list|0;
+ $number = $number|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $n = 0, $or$cond = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 4|0;
+ $1 = $list;
+ $2 = $number;
+ $3 = $1;
+ $4 = $2;
+ $5 = (_do_sexp_nth_data($3,$4,$n)|0);
+ $s = $5;
+ $6 = $s;
+ $7 = ($6|0)==(0|0);
+ $8 = HEAP32[$n>>2]|0;
+ $9 = ($8>>>0)<(1);
+ $or$cond = $7 | $9;
+ if (!($or$cond)) {
+ $10 = HEAP32[$n>>2]|0;
+ $11 = (($10) + 1)|0;
+ $12 = ($11>>>0)<(1);
+ if (!($12)) {
+ $13 = HEAP32[$n>>2]|0;
+ $14 = (($13) + 1)|0;
+ $15 = (__gcry_malloc($14)|0);
+ $buf = $15;
+ $16 = $buf;
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $18 = $buf;
+ $19 = $s;
+ $20 = HEAP32[$n>>2]|0;
+ _memcpy(($18|0),($19|0),($20|0))|0;
+ $21 = HEAP32[$n>>2]|0;
+ $22 = $buf;
+ $23 = (($22) + ($21)|0);
+ HEAP8[$23>>0] = 0;
+ $24 = $buf;
+ $0 = $24;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+ } else {
+ $0 = 0;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+ }
+ }
+ }
+ $0 = 0;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+}
+function __gcry_sexp_nth_mpi($list,$number,$mpifmt) {
+ $list = $list|0;
+ $number = $number|0;
+ $mpifmt = $mpifmt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $n = 0;
+ var $p = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 12|0;
+ $a = sp + 8|0;
+ $1 = $list;
+ $2 = $number;
+ $3 = $mpifmt;
+ $4 = $3;
+ $5 = ($4|0)==(8);
+ do {
+ if ($5) {
+ $6 = $1;
+ $7 = $2;
+ $8 = (__gcry_sexp_nth_buffer($6,$7,$n)|0);
+ $p = $8;
+ $9 = $p;
+ $10 = ($9|0)!=(0|0);
+ if (!($10)) {
+ $0 = 0;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ $11 = $1;
+ $12 = (__gcry_is_secure($11)|0);
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ $14 = (__gcry_mpi_snew(0)|0);
+ $16 = $14;
+ } else {
+ $15 = (__gcry_mpi_new(0)|0);
+ $16 = $15;
+ }
+ HEAP32[$a>>2] = $16;
+ $17 = HEAP32[$a>>2]|0;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = HEAP32[$a>>2]|0;
+ $20 = $p;
+ $21 = HEAP32[$n>>2]|0;
+ $22 = $21<<3;
+ (__gcry_mpi_set_opaque($19,$20,$22)|0);
+ break;
+ } else {
+ $23 = $p;
+ __gcry_free($23);
+ break;
+ }
+ } else {
+ $24 = $3;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ $3 = 1;
+ }
+ $26 = $1;
+ $27 = $2;
+ $28 = (_do_sexp_nth_data($26,$27,$n)|0);
+ $s = $28;
+ $29 = $s;
+ $30 = ($29|0)!=(0|0);
+ if (!($30)) {
+ $0 = 0;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ $31 = $3;
+ $32 = $s;
+ $33 = HEAP32[$n>>2]|0;
+ $34 = (__gcry_mpi_scan($a,$31,$32,$33,0)|0);
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ $0 = 0;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ }
+ } while(0);
+ $36 = HEAP32[$a>>2]|0;
+ $0 = $36;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+}
+function __gcry_sexp_cdr($list) {
+ $list = $list|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0;
+ var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0, $head = 0, $level = 0, $n = 0, $newlist = 0, $p = 0;
+ var $skip = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 32|0;
+ $1 = $list;
+ $level = 0;
+ $skip = 1;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $1;
+ $5 = HEAP8[$4>>0]|0;
+ $6 = $5&255;
+ $7 = ($6|0)!=(3);
+ if (!($7)) {
+ $8 = $1;
+ $p = $8;
+ while(1) {
+ $9 = $skip;
+ $10 = ($9|0)>(0);
+ $11 = $p;
+ $12 = ((($11)) + 1|0);
+ $p = $12;
+ $13 = $p;
+ if (!($10)) {
+ break;
+ }
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14&255;
+ $16 = ($15|0)==(1);
+ if ($16) {
+ $17 = $p;
+ $18 = ((($17)) + 1|0);
+ $p = $18;
+ ;HEAP8[$n>>0]=HEAP8[$18>>0]|0;HEAP8[$n+1>>0]=HEAP8[$18+1>>0]|0;
+ $19 = HEAP16[$n>>1]|0;
+ $20 = $19&65535;
+ $21 = (2 + ($20))|0;
+ $22 = $p;
+ $23 = (($22) + ($21)|0);
+ $p = $23;
+ $24 = $p;
+ $25 = ((($24)) + -1|0);
+ $p = $25;
+ $26 = $level;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ continue;
+ }
+ $28 = $skip;
+ $29 = (($28) + -1)|0;
+ $skip = $29;
+ continue;
+ }
+ $30 = $p;
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31&255;
+ $33 = ($32|0)==(3);
+ if ($33) {
+ $34 = $level;
+ $35 = (($34) + 1)|0;
+ $level = $35;
+ continue;
+ }
+ $36 = $p;
+ $37 = HEAP8[$36>>0]|0;
+ $38 = $37&255;
+ $39 = ($38|0)==(4);
+ if (!($39)) {
+ $46 = $p;
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47&255;
+ $49 = ($48|0)==(0);
+ if ($49) {
+ label = 15;
+ break;
+ } else {
+ continue;
+ }
+ }
+ $40 = $level;
+ $41 = (($40) + -1)|0;
+ $level = $41;
+ $42 = $level;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ continue;
+ }
+ $44 = $skip;
+ $45 = (($44) + -1)|0;
+ $skip = $45;
+ }
+ if ((label|0) == 15) {
+ $0 = 0;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+ }
+ $head = $13;
+ $level = 0;
+ L22: while(1) {
+ $50 = $p;
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51&255;
+ $53 = ($52|0)==(1);
+ do {
+ if ($53) {
+ $54 = $p;
+ $55 = ((($54)) + 1|0);
+ $p = $55;
+ ;HEAP8[$n>>0]=HEAP8[$55>>0]|0;HEAP8[$n+1>>0]=HEAP8[$55+1>>0]|0;
+ $56 = HEAP16[$n>>1]|0;
+ $57 = $56&65535;
+ $58 = (2 + ($57))|0;
+ $59 = $p;
+ $60 = (($59) + ($58)|0);
+ $p = $60;
+ $61 = $p;
+ $62 = ((($61)) + -1|0);
+ $p = $62;
+ } else {
+ $63 = $p;
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64&255;
+ $66 = ($65|0)==(3);
+ if ($66) {
+ $67 = $level;
+ $68 = (($67) + 1)|0;
+ $level = $68;
+ break;
+ }
+ $69 = $p;
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70&255;
+ $72 = ($71|0)==(4);
+ if ($72) {
+ $73 = $level;
+ $74 = (($73) + -1)|0;
+ $level = $74;
+ break;
+ } else {
+ $75 = $p;
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76&255;
+ $78 = ($77|0)==(0);
+ if ($78) {
+ label = 24;
+ break L22;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $79 = $p;
+ $80 = ((($79)) + 1|0);
+ $p = $80;
+ $81 = $level;
+ $82 = ($81|0)!=(0);
+ if (!($82)) {
+ break;
+ }
+ }
+ if ((label|0) == 24) {
+ $0 = 0;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+ }
+ $83 = $p;
+ $84 = $head;
+ $85 = $83;
+ $86 = $84;
+ $87 = (($85) - ($86))|0;
+ $88 = $87&65535;
+ HEAP16[$n>>1] = $88;
+ $89 = HEAP16[$n>>1]|0;
+ $90 = $89&65535;
+ $91 = (1 + ($90))|0;
+ $92 = (($91) + 2)|0;
+ $93 = (__gcry_malloc($92)|0);
+ $newlist = $93;
+ $94 = $newlist;
+ $95 = ($94|0)!=(0|0);
+ if ($95) {
+ $96 = $newlist;
+ $d = $96;
+ $97 = $d;
+ $98 = ((($97)) + 1|0);
+ $d = $98;
+ HEAP8[$97>>0] = 3;
+ $99 = $d;
+ $100 = $head;
+ $101 = HEAP16[$n>>1]|0;
+ $102 = $101&65535;
+ _memcpy(($99|0),($100|0),($102|0))|0;
+ $103 = HEAP16[$n>>1]|0;
+ $104 = $103&65535;
+ $105 = $d;
+ $106 = (($105) + ($104)|0);
+ $d = $106;
+ $107 = $d;
+ $108 = ((($107)) + 1|0);
+ $d = $108;
+ HEAP8[$107>>0] = 4;
+ $109 = $d;
+ $110 = ((($109)) + 1|0);
+ $d = $110;
+ HEAP8[$109>>0] = 0;
+ $111 = $newlist;
+ $112 = (_normalize($111)|0);
+ $0 = $112;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+ } else {
+ $0 = 0;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+ }
+ }
+ }
+ $0 = 0;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+}
+function __gcry_sexp_cadr($list) {
+ $list = $list|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $a = 0, $b = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $list;
+ $1 = $0;
+ $2 = (__gcry_sexp_cdr($1)|0);
+ $a = $2;
+ $3 = $a;
+ $4 = (__gcry_sexp_car($3)|0);
+ $b = $4;
+ $5 = $a;
+ __gcry_sexp_release($5);
+ $6 = $b;
+ STACKTOP = sp;return ($6|0);
+}
+function __gcry_sexp_build($retsexp,$erroff,$format,$varargs) {
+ $retsexp = $retsexp|0;
+ $erroff = $erroff|0;
+ $format = $format|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arg_ptr = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $retsexp;
+ $1 = $erroff;
+ $2 = $format;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = $2;
+ $7 = (_strlen($6)|0);
+ $8 = (_do_vsexp_sscan($3,$4,$5,$7,1,0,$arg_ptr)|0);
+ $rc = $8;
+ $9 = $rc;
+ STACKTOP = sp;return ($9|0);
+}
+function __gcry_sexp_vbuild($retsexp,$erroff,$format,$arg_ptr) {
+ $retsexp = $retsexp|0;
+ $erroff = $erroff|0;
+ $format = $format|0;
+ $arg_ptr = $arg_ptr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $retsexp;
+ $1 = $erroff;
+ $2 = $format;
+ $3 = $arg_ptr;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $2;
+ $8 = (_strlen($7)|0);
+ $9 = $3;
+ $10 = (_do_vsexp_sscan($4,$5,$6,$8,1,0,$9)|0);
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_sexp_sscan($retsexp,$erroff,$buffer,$length) {
+ $retsexp = $retsexp|0;
+ $erroff = $erroff|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $retsexp;
+ $1 = $erroff;
+ $2 = $buffer;
+ $3 = $length;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (_do_sexp_sscan($4,$5,$6,$7,0,0,$vararg_buffer)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function __gcry_sexp_sprint($list,$mode,$buffer,$maxlength) {
+ $list = $list|0;
+ $mode = $mode|0;
+ $buffer = $buffer|0;
+ $maxlength = $maxlength|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0, $i = 0, $indent = 0, $len = 0, $n = 0, $nn = 0, $numbuf = 0, $or$cond = 0, $s = 0, $type = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $n = sp + 52|0;
+ $numbuf = sp + 56|0;
+ $1 = $list;
+ $2 = $mode;
+ $3 = $buffer;
+ $4 = $maxlength;
+ $len = 0;
+ $indent = 0;
+ $5 = $1;
+ $6 = ($5|0)!=(0|0);
+ $7 = $1;
+ $8 = $6 ? $7 : 22753;
+ $s = $8;
+ $9 = $3;
+ $d = $9;
+ L1: while(1) {
+ $10 = $s;
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11&255;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ label = 55;
+ break;
+ }
+ $14 = $s;
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ switch ($16|0) {
+ case 3: {
+ $17 = $s;
+ $18 = ((($17)) + 1|0);
+ $s = $18;
+ $19 = $2;
+ $20 = ($19|0)!=(1);
+ if ($20) {
+ $21 = $indent;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $23 = $len;
+ $24 = (($23) + 1)|0;
+ $len = $24;
+ }
+ $25 = $indent;
+ $26 = $len;
+ $27 = (($26) + ($25))|0;
+ $len = $27;
+ }
+ $28 = $len;
+ $29 = (($28) + 1)|0;
+ $len = $29;
+ $30 = $3;
+ $31 = ($30|0)!=(0|0);
+ if ($31) {
+ $32 = $len;
+ $33 = $4;
+ $34 = ($32>>>0)>=($33>>>0);
+ if ($34) {
+ label = 10;
+ break L1;
+ }
+ $35 = $2;
+ $36 = ($35|0)!=(1);
+ L15: do {
+ if ($36) {
+ $37 = $indent;
+ $38 = ($37|0)!=(0);
+ if ($38) {
+ $39 = $d;
+ $40 = ((($39)) + 1|0);
+ $d = $40;
+ HEAP8[$39>>0] = 10;
+ }
+ $i = 0;
+ while(1) {
+ $41 = $i;
+ $42 = $indent;
+ $43 = ($41|0)<($42|0);
+ if (!($43)) {
+ break L15;
+ }
+ $44 = $d;
+ $45 = ((($44)) + 1|0);
+ $d = $45;
+ HEAP8[$44>>0] = 32;
+ $46 = $i;
+ $47 = (($46) + 1)|0;
+ $i = $47;
+ }
+ }
+ } while(0);
+ $48 = $d;
+ $49 = ((($48)) + 1|0);
+ $d = $49;
+ HEAP8[$48>>0] = 40;
+ }
+ $50 = $indent;
+ $51 = (($50) + 1)|0;
+ $indent = $51;
+ continue L1;
+ break;
+ }
+ case 4: {
+ $52 = $s;
+ $53 = ((($52)) + 1|0);
+ $s = $53;
+ $54 = $len;
+ $55 = (($54) + 1)|0;
+ $len = $55;
+ $56 = $3;
+ $57 = ($56|0)!=(0|0);
+ if ($57) {
+ $58 = $len;
+ $59 = $4;
+ $60 = ($58>>>0)>=($59>>>0);
+ if ($60) {
+ label = 21;
+ break L1;
+ }
+ $61 = $d;
+ $62 = ((($61)) + 1|0);
+ $d = $62;
+ HEAP8[$61>>0] = 41;
+ }
+ $63 = $indent;
+ $64 = (($63) + -1)|0;
+ $indent = $64;
+ $65 = $s;
+ $66 = HEAP8[$65>>0]|0;
+ $67 = $66&255;
+ $68 = ($67|0)!=(3);
+ if (!($68)) {
+ continue L1;
+ }
+ $69 = $s;
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70&255;
+ $72 = ($71|0)!=(0);
+ $73 = $2;
+ $74 = ($73|0)!=(1);
+ $or$cond = $72 & $74;
+ if (!($or$cond)) {
+ continue L1;
+ }
+ $75 = $len;
+ $76 = (($75) + 1)|0;
+ $len = $76;
+ $77 = $indent;
+ $78 = $len;
+ $79 = (($78) + ($77))|0;
+ $len = $79;
+ $80 = $3;
+ $81 = ($80|0)!=(0|0);
+ if (!($81)) {
+ continue L1;
+ }
+ $82 = $len;
+ $83 = $4;
+ $84 = ($82>>>0)>=($83>>>0);
+ if ($84) {
+ label = 27;
+ break L1;
+ }
+ $85 = $d;
+ $86 = ((($85)) + 1|0);
+ $d = $86;
+ HEAP8[$85>>0] = 10;
+ $i = 0;
+ while(1) {
+ $87 = $i;
+ $88 = $indent;
+ $89 = ($87|0)<($88|0);
+ if (!($89)) {
+ continue L1;
+ }
+ $90 = $d;
+ $91 = ((($90)) + 1|0);
+ $d = $91;
+ HEAP8[$90>>0] = 32;
+ $92 = $i;
+ $93 = (($92) + 1)|0;
+ $i = $93;
+ }
+ break;
+ }
+ case 1: {
+ $94 = $s;
+ $95 = ((($94)) + 1|0);
+ $s = $95;
+ $96 = $s;
+ ;HEAP8[$n>>0]=HEAP8[$96>>0]|0;HEAP8[$n+1>>0]=HEAP8[$96+1>>0]|0;
+ $97 = $s;
+ $98 = ((($97)) + 2|0);
+ $s = $98;
+ $99 = $2;
+ $100 = ($99|0)==(3);
+ if ($100) {
+ $101 = $s;
+ $102 = HEAP16[$n>>1]|0;
+ $103 = $102&65535;
+ $104 = (_suitable_encoding($101,$103)|0);
+ $type = $104;
+ switch ($104|0) {
+ case 1: {
+ $105 = $s;
+ $106 = HEAP16[$n>>1]|0;
+ $107 = $106&65535;
+ $108 = (_convert_to_string($105,$107,0)|0);
+ $nn = $108;
+ break;
+ }
+ case 2: {
+ $109 = $s;
+ $110 = HEAP16[$n>>1]|0;
+ $111 = $110&65535;
+ $112 = (_convert_to_token($109,$111,0)|0);
+ $nn = $112;
+ break;
+ }
+ default: {
+ $113 = $s;
+ $114 = HEAP16[$n>>1]|0;
+ $115 = $114&65535;
+ $116 = (_convert_to_hex($113,$115,0)|0);
+ $nn = $116;
+ }
+ }
+ $117 = $nn;
+ $118 = $len;
+ $119 = (($118) + ($117))|0;
+ $len = $119;
+ $120 = $3;
+ $121 = ($120|0)!=(0|0);
+ if ($121) {
+ $122 = $len;
+ $123 = $4;
+ $124 = ($122>>>0)>=($123>>>0);
+ if ($124) {
+ label = 38;
+ break L1;
+ }
+ $125 = $type;
+ switch ($125|0) {
+ case 1: {
+ $126 = $s;
+ $127 = HEAP16[$n>>1]|0;
+ $128 = $127&65535;
+ $129 = $d;
+ (_convert_to_string($126,$128,$129)|0);
+ break;
+ }
+ case 2: {
+ $130 = $s;
+ $131 = HEAP16[$n>>1]|0;
+ $132 = $131&65535;
+ $133 = $d;
+ (_convert_to_token($130,$132,$133)|0);
+ break;
+ }
+ default: {
+ $134 = $s;
+ $135 = HEAP16[$n>>1]|0;
+ $136 = $135&65535;
+ $137 = $d;
+ (_convert_to_hex($134,$136,$137)|0);
+ }
+ }
+ $138 = $nn;
+ $139 = $d;
+ $140 = (($139) + ($138)|0);
+ $d = $140;
+ }
+ $141 = HEAP16[$n>>1]|0;
+ $142 = $141&65535;
+ $143 = $s;
+ $144 = (($143) + ($142)|0);
+ $145 = HEAP8[$144>>0]|0;
+ $146 = $145&255;
+ $147 = ($146|0)!=(4);
+ if ($147) {
+ $148 = $len;
+ $149 = (($148) + 1)|0;
+ $len = $149;
+ $150 = $3;
+ $151 = ($150|0)!=(0|0);
+ if ($151) {
+ $152 = $len;
+ $153 = $4;
+ $154 = ($152>>>0)>=($153>>>0);
+ if ($154) {
+ label = 47;
+ break L1;
+ }
+ $155 = $d;
+ $156 = ((($155)) + 1|0);
+ $d = $156;
+ HEAP8[$155>>0] = 32;
+ }
+ }
+ } else {
+ $157 = HEAP16[$n>>1]|0;
+ $158 = $157&65535;
+ HEAP32[$vararg_buffer>>2] = $158;
+ (_sprintf($numbuf,22780,$vararg_buffer)|0);
+ $159 = (_strlen($numbuf)|0);
+ $160 = HEAP16[$n>>1]|0;
+ $161 = $160&65535;
+ $162 = (($159) + ($161))|0;
+ $163 = $len;
+ $164 = (($163) + ($162))|0;
+ $len = $164;
+ $165 = $3;
+ $166 = ($165|0)!=(0|0);
+ if ($166) {
+ $167 = $len;
+ $168 = $4;
+ $169 = ($167>>>0)>=($168>>>0);
+ if ($169) {
+ label = 51;
+ break L1;
+ }
+ $170 = $d;
+ $171 = (___stpcpy($170,$numbuf)|0);
+ $d = $171;
+ $172 = $d;
+ $173 = $s;
+ $174 = HEAP16[$n>>1]|0;
+ $175 = $174&65535;
+ _memcpy(($172|0),($173|0),($175|0))|0;
+ $176 = HEAP16[$n>>1]|0;
+ $177 = $176&65535;
+ $178 = $d;
+ $179 = (($178) + ($177)|0);
+ $d = $179;
+ }
+ }
+ $180 = HEAP16[$n>>1]|0;
+ $181 = $180&65535;
+ $182 = $s;
+ $183 = (($182) + ($181)|0);
+ $s = $183;
+ continue L1;
+ break;
+ }
+ default: {
+ label = 54;
+ break L1;
+ }
+ }
+ }
+ if ((label|0) == 10) {
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ else if ((label|0) == 21) {
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ else if ((label|0) == 27) {
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ else if ((label|0) == 38) {
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ else if ((label|0) == 47) {
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ else if ((label|0) == 51) {
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ else if ((label|0) == 54) {
+ __gcry_bug(22685,2008,22784);
+ // unreachable;
+ }
+ else if ((label|0) == 55) {
+ $184 = $2;
+ $185 = ($184|0)!=(1);
+ do {
+ if ($185) {
+ $186 = $len;
+ $187 = (($186) + 1)|0;
+ $len = $187;
+ $188 = $3;
+ $189 = ($188|0)!=(0|0);
+ if ($189) {
+ $190 = $len;
+ $191 = $4;
+ $192 = ($190>>>0)>=($191>>>0);
+ if (!($192)) {
+ $193 = $d;
+ $194 = ((($193)) + 1|0);
+ $d = $194;
+ HEAP8[$193>>0] = 10;
+ break;
+ }
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ }
+ } while(0);
+ $195 = $3;
+ $196 = ($195|0)!=(0|0);
+ $197 = $len;
+ do {
+ if ($196) {
+ $198 = $4;
+ $199 = ($197>>>0)>=($198>>>0);
+ if (!($199)) {
+ $200 = $d;
+ $201 = ((($200)) + 1|0);
+ $d = $201;
+ HEAP8[$200>>0] = 0;
+ break;
+ }
+ $0 = 0;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ } else {
+ $202 = (($197) + 1)|0;
+ $len = $202;
+ }
+ } while(0);
+ $203 = $len;
+ $0 = $203;
+ $204 = $0;
+ STACKTOP = sp;return ($204|0);
+ }
+ return (0)|0;
+}
+function _suitable_encoding($buffer,$length) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0;
+ var $maybe_token = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $buffer;
+ $2 = $length;
+ $maybe_token = 1;
+ $3 = $2;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ $0 = 1;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ $5 = $1;
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $8 = $7 & 128;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $0 = 0;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ $10 = $1;
+ $11 = HEAP8[$10>>0]|0;
+ $12 = ($11<<24>>24)!=(0);
+ if (!($12)) {
+ $0 = 0;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ $13 = $1;
+ $s = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ break;
+ }
+ $16 = $s;
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17&255;
+ $19 = ($18|0)<(32);
+ if ($19) {
+ label = 12;
+ } else {
+ $20 = $s;
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21&255;
+ $23 = ($22|0)>=(127);
+ if ($23) {
+ $24 = $s;
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25&255;
+ $27 = ($26|0)<=(160);
+ if ($27) {
+ label = 12;
+ }
+ }
+ }
+ if ((label|0) == 12) {
+ label = 0;
+ $28 = $s;
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29&255;
+ $31 = (_strchr(22756,$30)|0);
+ $32 = ($31|0)!=(0|0);
+ if (!($32)) {
+ label = 13;
+ break;
+ }
+ }
+ $33 = $maybe_token;
+ $34 = ($33|0)!=(0);
+ do {
+ if ($34) {
+ $35 = $s;
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = ($37|0)>=(65);
+ if ($38) {
+ $39 = $s;
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40&255;
+ $42 = ($41|0)<=(90);
+ if ($42) {
+ break;
+ }
+ }
+ $43 = $s;
+ $44 = HEAP8[$43>>0]|0;
+ $45 = $44&255;
+ $46 = ($45|0)>=(97);
+ if ($46) {
+ $47 = $s;
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48&255;
+ $50 = ($49|0)<=(122);
+ if ($50) {
+ break;
+ }
+ }
+ $51 = $s;
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = ($53|0)>=(48);
+ if ($54) {
+ $55 = $s;
+ $56 = HEAP8[$55>>0]|0;
+ $57 = $56&255;
+ $58 = ($57|0)<=(57);
+ if ($58) {
+ break;
+ }
+ }
+ $59 = $s;
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60&255;
+ $62 = (_strchr(22766,$61)|0);
+ $63 = ($62|0)!=(0|0);
+ if (!($63)) {
+ $maybe_token = 0;
+ }
+ }
+ } while(0);
+ $64 = $s;
+ $65 = ((($64)) + 1|0);
+ $s = $65;
+ $66 = $2;
+ $67 = (($66) + -1)|0;
+ $2 = $67;
+ }
+ if ((label|0) == 13) {
+ $0 = 0;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ $68 = $1;
+ $s = $68;
+ $69 = $maybe_token;
+ $70 = ($69|0)!=(0);
+ do {
+ if ($70) {
+ $71 = $s;
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72&255;
+ $74 = ($73|0)>=(48);
+ if ($74) {
+ $75 = $s;
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76&255;
+ $78 = ($77|0)<=(57);
+ if ($78) {
+ break;
+ }
+ }
+ $0 = 2;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ } while(0);
+ $0 = 1;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+}
+function _convert_to_string($s,$len,$dest) {
+ $s = $s|0;
+ $len = $len|0;
+ $dest = $dest|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $count = 0, $p = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $s;
+ $2 = $len;
+ $3 = $dest;
+ $4 = $3;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $count = 2;
+ while(1) {
+ $83 = $2;
+ $84 = ($83|0)!=(0);
+ if (!($84)) {
+ break;
+ }
+ $85 = $1;
+ $86 = HEAP8[$85>>0]|0;
+ $87 = $86&255;
+ L6: do {
+ switch ($87|0) {
+ case 92: case 39: case 34: case 13: case 12: case 10: case 11: case 9: case 8: {
+ $88 = $count;
+ $89 = (($88) + 2)|0;
+ $count = $89;
+ break;
+ }
+ default: {
+ $90 = $1;
+ $91 = HEAP8[$90>>0]|0;
+ $92 = $91&255;
+ $93 = ($92|0)<(32);
+ do {
+ if (!($93)) {
+ $94 = $1;
+ $95 = HEAP8[$94>>0]|0;
+ $96 = $95&255;
+ $97 = ($96|0)>=(127);
+ if ($97) {
+ $98 = $1;
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99&255;
+ $101 = ($100|0)<=(160);
+ if ($101) {
+ break;
+ }
+ }
+ $104 = $count;
+ $105 = (($104) + 1)|0;
+ $count = $105;
+ break L6;
+ }
+ } while(0);
+ $102 = $count;
+ $103 = (($102) + 4)|0;
+ $count = $103;
+ }
+ }
+ } while(0);
+ $106 = $2;
+ $107 = (($106) + -1)|0;
+ $2 = $107;
+ $108 = $1;
+ $109 = ((($108)) + 1|0);
+ $1 = $109;
+ }
+ $110 = $count;
+ $0 = $110;
+ $111 = $0;
+ STACKTOP = sp;return ($111|0);
+ }
+ $6 = $3;
+ $p = $6;
+ $7 = $p;
+ $8 = ((($7)) + 1|0);
+ $p = $8;
+ HEAP8[$7>>0] = 34;
+ while(1) {
+ $9 = $2;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ break;
+ }
+ $11 = $1;
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12&255;
+ L22: do {
+ switch ($13|0) {
+ case 8: {
+ $14 = $p;
+ $15 = ((($14)) + 1|0);
+ $p = $15;
+ HEAP8[$14>>0] = 92;
+ $16 = $p;
+ $17 = ((($16)) + 1|0);
+ $p = $17;
+ HEAP8[$16>>0] = 98;
+ break;
+ }
+ case 9: {
+ $18 = $p;
+ $19 = ((($18)) + 1|0);
+ $p = $19;
+ HEAP8[$18>>0] = 92;
+ $20 = $p;
+ $21 = ((($20)) + 1|0);
+ $p = $21;
+ HEAP8[$20>>0] = 116;
+ break;
+ }
+ case 11: {
+ $22 = $p;
+ $23 = ((($22)) + 1|0);
+ $p = $23;
+ HEAP8[$22>>0] = 92;
+ $24 = $p;
+ $25 = ((($24)) + 1|0);
+ $p = $25;
+ HEAP8[$24>>0] = 118;
+ break;
+ }
+ case 10: {
+ $26 = $p;
+ $27 = ((($26)) + 1|0);
+ $p = $27;
+ HEAP8[$26>>0] = 92;
+ $28 = $p;
+ $29 = ((($28)) + 1|0);
+ $p = $29;
+ HEAP8[$28>>0] = 110;
+ break;
+ }
+ case 12: {
+ $30 = $p;
+ $31 = ((($30)) + 1|0);
+ $p = $31;
+ HEAP8[$30>>0] = 92;
+ $32 = $p;
+ $33 = ((($32)) + 1|0);
+ $p = $33;
+ HEAP8[$32>>0] = 102;
+ break;
+ }
+ case 13: {
+ $34 = $p;
+ $35 = ((($34)) + 1|0);
+ $p = $35;
+ HEAP8[$34>>0] = 92;
+ $36 = $p;
+ $37 = ((($36)) + 1|0);
+ $p = $37;
+ HEAP8[$36>>0] = 114;
+ break;
+ }
+ case 34: {
+ $38 = $p;
+ $39 = ((($38)) + 1|0);
+ $p = $39;
+ HEAP8[$38>>0] = 92;
+ $40 = $p;
+ $41 = ((($40)) + 1|0);
+ $p = $41;
+ HEAP8[$40>>0] = 34;
+ break;
+ }
+ case 39: {
+ $42 = $p;
+ $43 = ((($42)) + 1|0);
+ $p = $43;
+ HEAP8[$42>>0] = 92;
+ $44 = $p;
+ $45 = ((($44)) + 1|0);
+ $p = $45;
+ HEAP8[$44>>0] = 39;
+ break;
+ }
+ case 92: {
+ $46 = $p;
+ $47 = ((($46)) + 1|0);
+ $p = $47;
+ HEAP8[$46>>0] = 92;
+ $48 = $p;
+ $49 = ((($48)) + 1|0);
+ $p = $49;
+ HEAP8[$48>>0] = 92;
+ break;
+ }
+ default: {
+ $50 = $1;
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51&255;
+ $53 = ($52|0)<(32);
+ do {
+ if (!($53)) {
+ $54 = $1;
+ $55 = HEAP8[$54>>0]|0;
+ $56 = $55&255;
+ $57 = ($56|0)>=(127);
+ if ($57) {
+ $58 = $1;
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59&255;
+ $61 = ($60|0)<=(160);
+ if ($61) {
+ break;
+ }
+ }
+ $68 = $1;
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $p;
+ $71 = ((($70)) + 1|0);
+ $p = $71;
+ HEAP8[$70>>0] = $69;
+ break L22;
+ }
+ } while(0);
+ $62 = $p;
+ $63 = $1;
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64&255;
+ HEAP32[$vararg_buffer>>2] = $65;
+ (_sprintf($62,22607,$vararg_buffer)|0);
+ $66 = $p;
+ $67 = ((($66)) + 4|0);
+ $p = $67;
+ }
+ }
+ } while(0);
+ $72 = $2;
+ $73 = (($72) + -1)|0;
+ $2 = $73;
+ $74 = $1;
+ $75 = ((($74)) + 1|0);
+ $1 = $75;
+ }
+ $76 = $p;
+ $77 = ((($76)) + 1|0);
+ $p = $77;
+ HEAP8[$76>>0] = 34;
+ $78 = $p;
+ $79 = $3;
+ $80 = $78;
+ $81 = $79;
+ $82 = (($80) - ($81))|0;
+ $0 = $82;
+ $111 = $0;
+ STACKTOP = sp;return ($111|0);
+}
+function _convert_to_token($src,$len,$dest) {
+ $src = $src|0;
+ $len = $len|0;
+ $dest = $dest|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $src;
+ $1 = $len;
+ $2 = $dest;
+ $3 = $2;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $2;
+ $6 = $0;
+ $7 = $1;
+ _memcpy(($5|0),($6|0),($7|0))|0;
+ }
+ $8 = $1;
+ STACKTOP = sp;return ($8|0);
+}
+function _convert_to_hex($src,$len,$dest) {
+ $src = $src|0;
+ $len = $len|0;
+ $dest = $dest|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $src;
+ $1 = $len;
+ $2 = $dest;
+ $3 = $2;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $21 = $1;
+ $22 = $21<<1;
+ $23 = (($22) + 2)|0;
+ STACKTOP = sp;return ($23|0);
+ }
+ $5 = $2;
+ $6 = ((($5)) + 1|0);
+ $2 = $6;
+ HEAP8[$5>>0] = 35;
+ $i = 0;
+ while(1) {
+ $7 = $i;
+ $8 = $1;
+ $9 = ($7>>>0)<($8>>>0);
+ $10 = $2;
+ if (!($9)) {
+ break;
+ }
+ $11 = $i;
+ $12 = $0;
+ $13 = (($12) + ($11)|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14&255;
+ HEAP32[$vararg_buffer>>2] = $15;
+ (_sprintf($10,22775,$vararg_buffer)|0);
+ $16 = $i;
+ $17 = (($16) + 1)|0;
+ $i = $17;
+ $18 = $2;
+ $19 = ((($18)) + 2|0);
+ $2 = $19;
+ }
+ $20 = ((($10)) + 1|0);
+ $2 = $20;
+ HEAP8[$10>>0] = 35;
+ $21 = $1;
+ $22 = $21<<1;
+ $23 = (($22) + 2)|0;
+ STACKTOP = sp;return ($23|0);
+}
+function __gcry_sexp_vextract_param($sexp,$path,$list,$arg_ptr) {
+ $sexp = $sexp|0;
+ $path = $path|0;
+ $list = $list|0;
+ $arg_ptr = $arg_ptr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current3 = 0, $arglist_next = 0, $arglist_next4 = 0, $array = 0, $arrayisdesc = 0, $expanded = 0, $expanded11 = 0, $expanded12 = 0;
+ var $expanded14 = 0, $expanded15 = 0, $expanded16 = 0, $expanded5 = 0, $expanded7 = 0, $expanded8 = 0, $expanded9 = 0, $freethis = 0, $idx = 0, $l1 = 0, $mode = 0, $n = 0, $nbuf = 0, $or$cond = 0, $pbuf = 0, $rc = 0, $s = 0, $s2 = 0, $spec = 0, $spec1 = 0;
+ var $spec2 = 0, $spec3 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $array = sp + 48|0;
+ $arrayisdesc = sp + 160|0;
+ $nbuf = sp + 8|0;
+ $1 = $sexp;
+ $2 = $path;
+ $3 = $list;
+ $4 = $arg_ptr;
+ $mode = 43;
+ $freethis = 0;
+ dest=$arrayisdesc; stop=dest+20|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $5 = $3;
+ $s = $5;
+ $idx = 0;
+ while(1) {
+ $6 = $s;
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 << 24 >> 24;
+ $9 = ($8|0)!=(0);
+ $10 = $idx;
+ $11 = ($10>>>0)<(20);
+ $12 = $9 ? $11 : 0;
+ $13 = $s;
+ $14 = HEAP8[$13>>0]|0;
+ if (!($12)) {
+ label = 18;
+ break;
+ }
+ $15 = $14 << 24 >> 24;
+ $16 = ($15|0)==(38);
+ if (!($16)) {
+ $17 = $s;
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18 << 24 >> 24;
+ $20 = ($19|0)==(43);
+ if (!($20)) {
+ $21 = $s;
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22 << 24 >> 24;
+ $24 = ($23|0)==(45);
+ if (!($24)) {
+ $25 = $s;
+ $26 = HEAP8[$25>>0]|0;
+ $27 = $26 << 24 >> 24;
+ $28 = ($27|0)==(47);
+ if (!($28)) {
+ $29 = $s;
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30 << 24 >> 24;
+ $32 = ($31|0)==(63);
+ if (!($32)) {
+ $33 = $s;
+ $34 = (_whitespacep($33)|0);
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ $36 = $s;
+ $37 = HEAP8[$36>>0]|0;
+ $38 = $37 << 24 >> 24;
+ $39 = ($38|0)==(39);
+ if ($39) {
+ $40 = $s;
+ $41 = ((($40)) + 1|0);
+ $s = $41;
+ $42 = $s;
+ $43 = (_strchr($42,39)|0);
+ $s2 = $43;
+ $44 = $s2;
+ $45 = ($44|0)!=(0|0);
+ if (!($45)) {
+ label = 12;
+ break;
+ }
+ $46 = $s2;
+ $47 = $s;
+ $48 = ($46|0)==($47|0);
+ if ($48) {
+ label = 12;
+ break;
+ }
+ $49 = $s2;
+ $s = $49;
+ }
+ $50 = $4;
+ $arglist_current = HEAP32[$50>>2]|0;
+ $51 = $arglist_current;
+ $52 = ((0) + 4|0);
+ $expanded5 = $52;
+ $expanded = (($expanded5) - 1)|0;
+ $53 = (($51) + ($expanded))|0;
+ $54 = ((0) + 4|0);
+ $expanded9 = $54;
+ $expanded8 = (($expanded9) - 1)|0;
+ $expanded7 = $expanded8 ^ -1;
+ $55 = $53 & $expanded7;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $arglist_next = ((($56)) + 4|0);
+ HEAP32[$50>>2] = $arglist_next;
+ $58 = $idx;
+ $59 = (($array) + ($58<<2)|0);
+ HEAP32[$59>>2] = $57;
+ $60 = $idx;
+ $61 = (($array) + ($60<<2)|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = ($62|0)!=(0|0);
+ if (!($63)) {
+ label = 15;
+ break;
+ }
+ $64 = $idx;
+ $65 = (($64) + 1)|0;
+ $idx = $65;
+ }
+ }
+ }
+ }
+ }
+ }
+ $66 = $s;
+ $67 = ((($66)) + 1|0);
+ $s = $67;
+ }
+ if ((label|0) == 12) {
+ $0 = 29;
+ $310 = $0;
+ STACKTOP = sp;return ($310|0);
+ }
+ else if ((label|0) == 15) {
+ $0 = 128;
+ $310 = $0;
+ STACKTOP = sp;return ($310|0);
+ }
+ else if ((label|0) == 18) {
+ $68 = ($14<<24>>24)!=(0);
+ if ($68) {
+ $0 = 183;
+ $310 = $0;
+ STACKTOP = sp;return ($310|0);
+ }
+ $69 = $4;
+ $arglist_current3 = HEAP32[$69>>2]|0;
+ $70 = $arglist_current3;
+ $71 = ((0) + 4|0);
+ $expanded12 = $71;
+ $expanded11 = (($expanded12) - 1)|0;
+ $72 = (($70) + ($expanded11))|0;
+ $73 = ((0) + 4|0);
+ $expanded16 = $73;
+ $expanded15 = (($expanded16) - 1)|0;
+ $expanded14 = $expanded15 ^ -1;
+ $74 = $72 & $expanded14;
+ $75 = $74;
+ $76 = HEAP32[$75>>2]|0;
+ $arglist_next4 = ((($75)) + 4|0);
+ HEAP32[$69>>2] = $arglist_next4;
+ $77 = ($76|0)!=(0|0);
+ if ($77) {
+ $0 = 45;
+ $310 = $0;
+ STACKTOP = sp;return ($310|0);
+ }
+ while(1) {
+ $78 = $2;
+ $79 = ($78|0)!=(0|0);
+ if (!($79)) {
+ label = 33;
+ break;
+ }
+ $80 = $2;
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81 << 24 >> 24;
+ $83 = ($82|0)!=(0);
+ if (!($83)) {
+ label = 33;
+ break;
+ }
+ $84 = $2;
+ $85 = (_strchr($84,33)|0);
+ $s = $85;
+ $86 = $s;
+ $87 = $2;
+ $88 = ($86|0)==($87|0);
+ if ($88) {
+ label = 25;
+ break;
+ }
+ $89 = $s;
+ $90 = ($89|0)!=(0|0);
+ if ($90) {
+ $91 = $s;
+ $92 = $2;
+ $93 = $91;
+ $94 = $92;
+ $95 = (($93) - ($94))|0;
+ $96 = $95;
+ } else {
+ $96 = 0;
+ }
+ $n = $96;
+ $97 = $1;
+ $98 = $2;
+ $99 = $n;
+ $100 = (__gcry_sexp_find_token($97,$98,$99)|0);
+ $l1 = $100;
+ $101 = $l1;
+ $102 = ($101|0)!=(0|0);
+ if (!($102)) {
+ label = 29;
+ break;
+ }
+ $103 = $l1;
+ $1 = $103;
+ $l1 = 0;
+ $104 = $freethis;
+ __gcry_sexp_release($104);
+ $105 = $1;
+ $freethis = $105;
+ $106 = $n;
+ $107 = ($106|0)!=(0);
+ if ($107) {
+ $108 = $n;
+ $109 = (($108) + 1)|0;
+ $110 = $2;
+ $111 = (($110) + ($109)|0);
+ $2 = $111;
+ continue;
+ } else {
+ $2 = 0;
+ continue;
+ }
+ }
+ do {
+ if ((label|0) == 25) {
+ $rc = 27;
+ }
+ else if ((label|0) == 29) {
+ $rc = 27;
+ }
+ else if ((label|0) == 33) {
+ $112 = $3;
+ $s = $112;
+ $idx = 0;
+ L41: while(1) {
+ $113 = $s;
+ $114 = HEAP8[$113>>0]|0;
+ $115 = ($114<<24>>24)!=(0);
+ if (!($115)) {
+ label = 76;
+ break;
+ }
+ $116 = $s;
+ $117 = HEAP8[$116>>0]|0;
+ $118 = $117 << 24 >> 24;
+ $119 = ($118|0)==(38);
+ if ($119) {
+ label = 39;
+ } else {
+ $120 = $s;
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121 << 24 >> 24;
+ $123 = ($122|0)==(43);
+ if ($123) {
+ label = 39;
+ } else {
+ $124 = $s;
+ $125 = HEAP8[$124>>0]|0;
+ $126 = $125 << 24 >> 24;
+ $127 = ($126|0)==(45);
+ if ($127) {
+ label = 39;
+ } else {
+ $128 = $s;
+ $129 = HEAP8[$128>>0]|0;
+ $130 = $129 << 24 >> 24;
+ $131 = ($130|0)==(47);
+ if ($131) {
+ label = 39;
+ } else {
+ $135 = $s;
+ $136 = (_whitespacep($135)|0);
+ $137 = ($136|0)!=(0);
+ if (!($137)) {
+ $138 = $s;
+ $139 = HEAP8[$138>>0]|0;
+ $140 = $139 << 24 >> 24;
+ $141 = ($140|0)==(63);
+ if (!($141)) {
+ $142 = $s;
+ $143 = HEAP8[$142>>0]|0;
+ $144 = $143 << 24 >> 24;
+ $145 = ($144|0)==(39);
+ if ($145) {
+ $146 = $s;
+ $147 = ((($146)) + 1|0);
+ $s = $147;
+ $148 = $s;
+ $149 = (_strchr($148,39)|0);
+ $s2 = $149;
+ $150 = $s2;
+ $151 = ($150|0)!=(0|0);
+ if (!($151)) {
+ label = 45;
+ break;
+ }
+ $152 = $s2;
+ $153 = $s;
+ $154 = ($152|0)==($153|0);
+ if ($154) {
+ label = 45;
+ break;
+ }
+ $155 = $1;
+ $156 = $s;
+ $157 = $s2;
+ $158 = $s;
+ $159 = $157;
+ $160 = $158;
+ $161 = (($159) - ($160))|0;
+ $162 = (__gcry_sexp_find_token($155,$156,$161)|0);
+ $l1 = $162;
+ $163 = $s2;
+ $s = $163;
+ } else {
+ $164 = $1;
+ $165 = $s;
+ $166 = (__gcry_sexp_find_token($164,$165,1)|0);
+ $l1 = $166;
+ }
+ $167 = $l1;
+ $168 = ($167|0)!=(0|0);
+ do {
+ if ($168) {
+ label = 55;
+ } else {
+ $169 = $s;
+ $170 = ((($169)) + 1|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = $171 << 24 >> 24;
+ $173 = ($172|0)==(63);
+ if ($173) {
+ $174 = $mode;
+ $175 = ($174|0)==(38);
+ $176 = $idx;
+ $177 = (($array) + ($176<<2)|0);
+ $178 = HEAP32[$177>>2]|0;
+ if (!($175)) {
+ HEAP32[$178>>2] = 0;
+ break;
+ }
+ $spec = $178;
+ $179 = $spec;
+ $180 = ((($179)) + 12|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = ($181|0)!=(0|0);
+ if (!($182)) {
+ $183 = $spec;
+ HEAP32[$183>>2] = 0;
+ $184 = $spec;
+ $185 = ((($184)) + 4|0);
+ HEAP32[$185>>2] = 0;
+ }
+ $186 = $spec;
+ $187 = ((($186)) + 8|0);
+ HEAP32[$187>>2] = 0;
+ } else {
+ label = 55;
+ }
+ }
+ } while(0);
+ if ((label|0) == 55) {
+ label = 0;
+ $188 = $l1;
+ $189 = ($188|0)!=(0|0);
+ if (!($189)) {
+ label = 56;
+ break;
+ }
+ $190 = $mode;
+ $191 = ($190|0)==(38);
+ do {
+ if ($191) {
+ $192 = $idx;
+ $193 = (($array) + ($192<<2)|0);
+ $194 = HEAP32[$193>>2]|0;
+ $spec1 = $194;
+ $195 = $spec1;
+ $196 = ((($195)) + 12|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = ($197|0)!=(0|0);
+ $199 = $l1;
+ if (!($198)) {
+ $227 = $spec1;
+ $228 = (__gcry_sexp_nth_buffer($199,1,$227)|0);
+ $229 = $spec1;
+ $230 = ((($229)) + 12|0);
+ HEAP32[$230>>2] = $228;
+ $231 = $spec1;
+ $232 = ((($231)) + 12|0);
+ $233 = HEAP32[$232>>2]|0;
+ $234 = ($233|0)!=(0|0);
+ if (!($234)) {
+ label = 65;
+ break L41;
+ }
+ $235 = $spec1;
+ $236 = HEAP32[$235>>2]|0;
+ $237 = $spec1;
+ $238 = ((($237)) + 8|0);
+ HEAP32[$238>>2] = $236;
+ $239 = $spec1;
+ $240 = ((($239)) + 4|0);
+ HEAP32[$240>>2] = 0;
+ $241 = $idx;
+ $242 = (($arrayisdesc) + ($241)|0);
+ HEAP8[$242>>0] = 2;
+ break;
+ }
+ $200 = (__gcry_sexp_nth_data($199,1,$nbuf)|0);
+ $pbuf = $200;
+ $201 = $pbuf;
+ $202 = ($201|0)!=(0|0);
+ $203 = HEAP32[$nbuf>>2]|0;
+ $204 = ($203|0)!=(0);
+ $or$cond = $202 & $204;
+ if (!($or$cond)) {
+ label = 60;
+ break L41;
+ }
+ $205 = $spec1;
+ $206 = ((($205)) + 4|0);
+ $207 = HEAP32[$206>>2]|0;
+ $208 = HEAP32[$nbuf>>2]|0;
+ $209 = (($207) + ($208))|0;
+ $210 = $spec1;
+ $211 = HEAP32[$210>>2]|0;
+ $212 = ($209>>>0)>($211>>>0);
+ if ($212) {
+ label = 62;
+ break L41;
+ }
+ $213 = $spec1;
+ $214 = ((($213)) + 12|0);
+ $215 = HEAP32[$214>>2]|0;
+ $216 = $spec1;
+ $217 = ((($216)) + 4|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = (($215) + ($218)|0);
+ $220 = $pbuf;
+ $221 = HEAP32[$nbuf>>2]|0;
+ _memcpy(($219|0),($220|0),($221|0))|0;
+ $222 = HEAP32[$nbuf>>2]|0;
+ $223 = $spec1;
+ $224 = ((($223)) + 8|0);
+ HEAP32[$224>>2] = $222;
+ $225 = $idx;
+ $226 = (($arrayisdesc) + ($225)|0);
+ HEAP8[$226>>0] = 1;
+ } else {
+ $243 = $mode;
+ $244 = ($243|0)==(47);
+ if ($244) {
+ $245 = $l1;
+ $246 = (__gcry_sexp_nth_mpi($245,1,8)|0);
+ $247 = $idx;
+ $248 = (($array) + ($247<<2)|0);
+ $249 = HEAP32[$248>>2]|0;
+ HEAP32[$249>>2] = $246;
+ break;
+ }
+ $250 = $mode;
+ $251 = ($250|0)==(45);
+ $252 = $l1;
+ if ($251) {
+ $253 = (__gcry_sexp_nth_mpi($252,1,1)|0);
+ $254 = $idx;
+ $255 = (($array) + ($254<<2)|0);
+ $256 = HEAP32[$255>>2]|0;
+ HEAP32[$256>>2] = $253;
+ break;
+ } else {
+ $257 = (__gcry_sexp_nth_mpi($252,1,5)|0);
+ $258 = $idx;
+ $259 = (($array) + ($258<<2)|0);
+ $260 = HEAP32[$259>>2]|0;
+ HEAP32[$260>>2] = $257;
+ break;
+ }
+ }
+ } while(0);
+ $261 = $l1;
+ __gcry_sexp_release($261);
+ $l1 = 0;
+ $262 = $idx;
+ $263 = (($array) + ($262<<2)|0);
+ $264 = HEAP32[$263>>2]|0;
+ $265 = HEAP32[$264>>2]|0;
+ $266 = ($265|0)!=(0|0);
+ if (!($266)) {
+ label = 73;
+ break;
+ }
+ }
+ $267 = $idx;
+ $268 = (($267) + 1)|0;
+ $idx = $268;
+ }
+ }
+ }
+ }
+ }
+ }
+ if ((label|0) == 39) {
+ label = 0;
+ $132 = $s;
+ $133 = HEAP8[$132>>0]|0;
+ $134 = $133 << 24 >> 24;
+ $mode = $134;
+ }
+ $269 = $s;
+ $270 = ((($269)) + 1|0);
+ $s = $270;
+ }
+ if ((label|0) == 45) {
+ $rc = 29;
+ break;
+ }
+ else if ((label|0) == 56) {
+ $rc = 68;
+ break;
+ }
+ else if ((label|0) == 60) {
+ $rc = 65;
+ break;
+ }
+ else if ((label|0) == 62) {
+ $rc = 200;
+ break;
+ }
+ else if ((label|0) == 65) {
+ $rc = 65;
+ break;
+ }
+ else if ((label|0) == 73) {
+ $rc = 65;
+ break;
+ }
+ else if ((label|0) == 76) {
+ $271 = $freethis;
+ __gcry_sexp_release($271);
+ $0 = 0;
+ $310 = $0;
+ STACKTOP = sp;return ($310|0);
+ }
+ }
+ } while(0);
+ $272 = $freethis;
+ __gcry_sexp_release($272);
+ $273 = $l1;
+ __gcry_sexp_release($273);
+ while(1) {
+ $274 = $idx;
+ $275 = (($274) + -1)|0;
+ $idx = $275;
+ $276 = ($274|0)!=(0);
+ if (!($276)) {
+ break;
+ }
+ $277 = $idx;
+ $278 = (($arrayisdesc) + ($277)|0);
+ $279 = HEAP8[$278>>0]|0;
+ $280 = ($279<<24>>24)!=(0);
+ $281 = $idx;
+ if (!($280)) {
+ $282 = (($array) + ($281<<2)|0);
+ $283 = HEAP32[$282>>2]|0;
+ $284 = HEAP32[$283>>2]|0;
+ __gcry_mpi_release($284);
+ $285 = $idx;
+ $286 = (($array) + ($285<<2)|0);
+ $287 = HEAP32[$286>>2]|0;
+ HEAP32[$287>>2] = 0;
+ continue;
+ }
+ $288 = (($arrayisdesc) + ($281)|0);
+ $289 = HEAP8[$288>>0]|0;
+ $290 = ($289<<24>>24)!=(0);
+ $291 = $290 ^ 1;
+ $292 = $291&1;
+ $293 = ($292|0)==(1);
+ $294 = $idx;
+ $295 = (($array) + ($294<<2)|0);
+ $296 = HEAP32[$295>>2]|0;
+ if ($293) {
+ $spec2 = $296;
+ $297 = $spec2;
+ $298 = ((($297)) + 8|0);
+ HEAP32[$298>>2] = 0;
+ continue;
+ } else {
+ $spec3 = $296;
+ $299 = $spec3;
+ $300 = ((($299)) + 12|0);
+ $301 = HEAP32[$300>>2]|0;
+ __gcry_free($301);
+ $302 = $spec3;
+ $303 = ((($302)) + 12|0);
+ HEAP32[$303>>2] = 0;
+ $304 = $spec3;
+ $305 = ((($304)) + 8|0);
+ HEAP32[$305>>2] = 0;
+ $306 = $spec3;
+ $307 = ((($306)) + 4|0);
+ HEAP32[$307>>2] = 0;
+ $308 = $spec3;
+ HEAP32[$308>>2] = 0;
+ continue;
+ }
+ }
+ $309 = $rc;
+ $0 = $309;
+ $310 = $0;
+ STACKTOP = sp;return ($310|0);
+ }
+ return (0)|0;
+}
+function __gcry_sexp_extract_param($sexp,$path,$list,$varargs) {
+ $sexp = $sexp|0;
+ $path = $path|0;
+ $list = $list|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $arg_ptr = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $arg_ptr = sp;
+ $0 = $sexp;
+ $1 = $path;
+ $2 = $list;
+ HEAP32[$arg_ptr>>2] = $varargs;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (__gcry_sexp_vextract_param($3,$4,$5,$arg_ptr)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = (_gpg_error_526($7)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function _gpg_error_526($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_527(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make_527($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_disable_hw_feature($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $name;
+ $i = 0;
+ while(1) {
+ $2 = $i;
+ $3 = ($2>>>0)<(13);
+ if (!($3)) {
+ label = 6;
+ break;
+ }
+ $4 = $i;
+ $5 = (1124 + ($4<<3)|0);
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $1;
+ $9 = (_strcmp($7,$8)|0);
+ $10 = ($9|0)!=(0);
+ $11 = $i;
+ if (!($10)) {
+ label = 4;
+ break;
+ }
+ $16 = (($11) + 1)|0;
+ $i = $16;
+ }
+ if ((label|0) == 4) {
+ $12 = (1124 + ($11<<3)|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = HEAP32[17679]|0;
+ $15 = $14 | $13;
+ HEAP32[17679] = $15;
+ $0 = 0;
+ $17 = $0;
+ STACKTOP = sp;return ($17|0);
+ }
+ else if ((label|0) == 6) {
+ $0 = 88;
+ $17 = $0;
+ STACKTOP = sp;return ($17|0);
+ }
+ return (0)|0;
+}
+function __gcry_get_hw_features() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17680]|0;
+ return ($0|0);
+}
+function __gcry_enum_hw_features($idx,$r_feature) {
+ $idx = $idx|0;
+ $r_feature = $r_feature|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $idx;
+ $2 = $r_feature;
+ $3 = $1;
+ $4 = ($3|0)<(0);
+ $5 = $1;
+ $6 = ($5>>>0)>=(13);
+ $or$cond = $4 | $6;
+ if ($or$cond) {
+ $0 = 0;
+ $17 = $0;
+ STACKTOP = sp;return ($17|0);
+ }
+ $7 = $2;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $1;
+ $10 = (1124 + ($9<<3)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $2;
+ HEAP32[$12>>2] = $11;
+ }
+ $13 = $1;
+ $14 = (1124 + ($13<<3)|0);
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $0 = $16;
+ $17 = $0;
+ STACKTOP = sp;return ($17|0);
+}
+function __gcry_detect_hw_features() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[17680] = 0;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ _parse_hwf_deny_file();
+ $2 = HEAP32[17679]|0;
+ $3 = $2 ^ -1;
+ $4 = HEAP32[17680]|0;
+ $5 = $4 & $3;
+ HEAP32[17680] = $5;
+ return;
+}
+function _parse_hwf_deny_file() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $buffer = 0, $fname = 0, $fp = 0, $i = 0;
+ var $lnr = 0, $p = 0, $pend = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $buffer = sp + 24|0;
+ $fname = 22952;
+ $lnr = 0;
+ $0 = $fname;
+ $1 = (_fopen($0,23833)|0);
+ $fp = $1;
+ $2 = $fp;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ STACKTOP = sp;return;
+ }
+ while(1) {
+ $4 = $fp;
+ $5 = (_fgets($buffer,256,$4)|0);
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ break;
+ }
+ $9 = $lnr;
+ $10 = (($9) + 1)|0;
+ $lnr = $10;
+ $p = $buffer;
+ while(1) {
+ $11 = $p;
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12 << 24 >> 24;
+ $14 = $13 & 128;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ break;
+ }
+ $16 = $p;
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17 << 24 >> 24;
+ $19 = (_isspace($18)|0);
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ break;
+ }
+ $21 = $p;
+ $22 = ((($21)) + 1|0);
+ $p = $22;
+ }
+ $23 = $p;
+ $24 = (_strchr($23,10)|0);
+ $pend = $24;
+ $25 = $pend;
+ $26 = ($25|0)!=(0|0);
+ if ($26) {
+ $27 = $pend;
+ HEAP8[$27>>0] = 0;
+ }
+ $28 = $p;
+ $29 = $p;
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30 << 24 >> 24;
+ $32 = ($31|0)!=(0);
+ if ($32) {
+ $33 = $p;
+ $34 = (_strlen($33)|0);
+ $35 = (($34) - 1)|0;
+ $37 = $35;
+ } else {
+ $37 = 0;
+ }
+ $36 = (($28) + ($37)|0);
+ $pend = $36;
+ while(1) {
+ $38 = $pend;
+ $39 = $p;
+ $40 = ($38>>>0)>($39>>>0);
+ if (!($40)) {
+ break;
+ }
+ $41 = $pend;
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42 << 24 >> 24;
+ $44 = $43 & 128;
+ $45 = ($44|0)!=(0);
+ if (!($45)) {
+ $46 = $pend;
+ $47 = HEAP8[$46>>0]|0;
+ $48 = $47 << 24 >> 24;
+ $49 = (_isspace($48)|0);
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ $51 = $pend;
+ HEAP8[$51>>0] = 0;
+ }
+ }
+ $52 = $pend;
+ $53 = ((($52)) + -1|0);
+ $pend = $53;
+ }
+ $54 = $p;
+ $55 = HEAP8[$54>>0]|0;
+ $56 = ($55<<24>>24)!=(0);
+ if (!($56)) {
+ continue;
+ }
+ $57 = $p;
+ $58 = HEAP8[$57>>0]|0;
+ $59 = $58 << 24 >> 24;
+ $60 = ($59|0)==(35);
+ if ($60) {
+ continue;
+ }
+ $i = 0;
+ while(1) {
+ $61 = $i;
+ $62 = ($61>>>0)<(13);
+ if (!($62)) {
+ break;
+ }
+ $63 = $i;
+ $64 = (1124 + ($63<<3)|0);
+ $65 = ((($64)) + 4|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = $p;
+ $68 = (_strcmp($66,$67)|0);
+ $69 = ($68|0)!=(0);
+ $70 = $i;
+ if (!($69)) {
+ label = 23;
+ break;
+ }
+ $75 = (($70) + 1)|0;
+ $i = $75;
+ }
+ if ((label|0) == 23) {
+ label = 0;
+ $71 = (1124 + ($70<<3)|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = HEAP32[17679]|0;
+ $74 = $73 | $72;
+ HEAP32[17679] = $74;
+ }
+ }
+ $7 = $fp;
+ (_feof($7)|0);
+ $8 = $fp;
+ (_fclose($8)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_private_enable_m_guard() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[17681] = 1;
+ return;
+}
+function __gcry_private_malloc($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $n;
+ $2 = $1;
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ _gpg_err_set_errno(22);
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ $4 = HEAP32[17681]|0;
+ $5 = ($4|0)!=(0);
+ $6 = $1;
+ if (!($5)) {
+ $32 = (_malloc($6)|0);
+ $0 = $32;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ $7 = (($6) + 0)|0;
+ $8 = (($7) + 5)|0;
+ $9 = (_malloc($8)|0);
+ $p = $9;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = $1;
+ $12 = $11&255;
+ $13 = $p;
+ HEAP8[$13>>0] = $12;
+ $14 = $1;
+ $15 = $14 >>> 8;
+ $16 = $15&255;
+ $17 = $p;
+ $18 = ((($17)) + 1|0);
+ HEAP8[$18>>0] = $16;
+ $19 = $1;
+ $20 = $19 >>> 16;
+ $21 = $20&255;
+ $22 = $p;
+ $23 = ((($22)) + 2|0);
+ HEAP8[$23>>0] = $21;
+ $24 = $p;
+ $25 = ((($24)) + 3|0);
+ HEAP8[$25>>0] = 85;
+ $26 = $1;
+ $27 = (4 + ($26))|0;
+ $28 = $p;
+ $29 = (($28) + ($27)|0);
+ HEAP8[$29>>0] = -86;
+ $30 = $p;
+ $31 = ((($30)) + 4|0);
+ $0 = $31;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ } else {
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ return (0)|0;
+}
+function __gcry_private_malloc_secure($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $n;
+ $2 = $1;
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ _gpg_err_set_errno(22);
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ $4 = HEAP32[17681]|0;
+ $5 = ($4|0)!=(0);
+ $6 = $1;
+ if (!($5)) {
+ $32 = (__gcry_secmem_malloc($6)|0);
+ $0 = $32;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ $7 = (($6) + 0)|0;
+ $8 = (($7) + 5)|0;
+ $9 = (__gcry_secmem_malloc($8)|0);
+ $p = $9;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = $1;
+ $12 = $11&255;
+ $13 = $p;
+ HEAP8[$13>>0] = $12;
+ $14 = $1;
+ $15 = $14 >>> 8;
+ $16 = $15&255;
+ $17 = $p;
+ $18 = ((($17)) + 1|0);
+ HEAP8[$18>>0] = $16;
+ $19 = $1;
+ $20 = $19 >>> 16;
+ $21 = $20&255;
+ $22 = $p;
+ $23 = ((($22)) + 2|0);
+ HEAP8[$23>>0] = $21;
+ $24 = $p;
+ $25 = ((($24)) + 3|0);
+ HEAP8[$25>>0] = -52;
+ $26 = $1;
+ $27 = (4 + ($26))|0;
+ $28 = $p;
+ $29 = (($28) + ($27)|0);
+ HEAP8[$29>>0] = -86;
+ $30 = $p;
+ $31 = ((($30)) + 4|0);
+ $0 = $31;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ } else {
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ return (0)|0;
+}
+function __gcry_private_realloc($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $b = 0, $len = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $n;
+ $3 = HEAP32[17681]|0;
+ $4 = ($3|0)!=(0);
+ $5 = $1;
+ if (!($4)) {
+ $54 = (__gcry_private_is_secure($5)|0);
+ $55 = ($54|0)!=(0);
+ $56 = $1;
+ $57 = $2;
+ if ($55) {
+ $58 = (__gcry_secmem_realloc($56,$57)|0);
+ $0 = $58;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ } else {
+ $59 = (_realloc($56,$57)|0);
+ $0 = $59;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ }
+ }
+ $p = $5;
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ $8 = $2;
+ $9 = (__gcry_private_malloc($8)|0);
+ $0 = $9;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ }
+ $10 = $p;
+ __gcry_private_check_heap($10);
+ $11 = $p;
+ $12 = ((($11)) + -4|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $len = $14;
+ $15 = $p;
+ $16 = ((($15)) + -3|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17&255;
+ $19 = $18 << 8;
+ $20 = $len;
+ $21 = $20 | $19;
+ $len = $21;
+ $22 = $p;
+ $23 = ((($22)) + -2|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24&255;
+ $26 = $25 << 16;
+ $27 = $len;
+ $28 = $27 | $26;
+ $len = $28;
+ $29 = $len;
+ $30 = $2;
+ $31 = ($29>>>0)>=($30>>>0);
+ if ($31) {
+ $32 = $1;
+ $0 = $32;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ }
+ $33 = $p;
+ $34 = ((($33)) + -1|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35&255;
+ $37 = ($36|0)==(204);
+ $38 = $2;
+ if ($37) {
+ $39 = (__gcry_private_malloc_secure($38)|0);
+ $b = $39;
+ } else {
+ $40 = (__gcry_private_malloc($38)|0);
+ $b = $40;
+ }
+ $41 = $b;
+ $42 = ($41|0)!=(0|0);
+ if ($42) {
+ $43 = $b;
+ $44 = $1;
+ $45 = $len;
+ _memcpy(($43|0),($44|0),($45|0))|0;
+ $46 = $b;
+ $47 = $len;
+ $48 = (($46) + ($47)|0);
+ $49 = $2;
+ $50 = $len;
+ $51 = (($49) - ($50))|0;
+ _memset(($48|0),0,($51|0))|0;
+ $52 = $p;
+ __gcry_private_free($52);
+ $53 = $b;
+ $0 = $53;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ } else {
+ $0 = 0;
+ $60 = $0;
+ STACKTOP = sp;return ($60|0);
+ }
+ return (0)|0;
+}
+function __gcry_private_check_heap($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $a;
+ $1 = HEAP32[17681]|0;
+ $2 = ($1|0)!=(0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $p = $3;
+ $4 = $p;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ STACKTOP = sp;return;
+ }
+ $6 = $p;
+ $7 = ((($6)) + -1|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = ($9|0)==(85);
+ if (!($10)) {
+ $11 = $p;
+ $12 = ((($11)) + -1|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ $15 = ($14|0)==(204);
+ if (!($15)) {
+ $16 = $p;
+ $17 = $p;
+ $18 = ((($17)) + -1|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19&255;
+ HEAP32[$vararg_buffer>>2] = $16;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $20;
+ __gcry_log_fatal(22973,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ $21 = $p;
+ $22 = ((($21)) + -4|0);
+ $23 = HEAP8[$22>>0]|0;
+ $24 = $23&255;
+ $len = $24;
+ $25 = $p;
+ $26 = ((($25)) + -3|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27&255;
+ $29 = $28 << 8;
+ $30 = $len;
+ $31 = $30 | $29;
+ $len = $31;
+ $32 = $p;
+ $33 = ((($32)) + -2|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $34&255;
+ $36 = $35 << 16;
+ $37 = $len;
+ $38 = $37 | $36;
+ $len = $38;
+ $39 = $len;
+ $40 = $p;
+ $41 = (($40) + ($39)|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42&255;
+ $44 = ($43|0)!=(170);
+ if ($44) {
+ $45 = $p;
+ $46 = $p;
+ $47 = ((($46)) + -1|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = $48&255;
+ HEAP32[$vararg_buffer2>>2] = $45;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $49;
+ __gcry_log_fatal(23014,$vararg_buffer2);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_private_free($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $p = $1;
+ $2 = $p;
+ $3 = ($2|0)!=(0|0);
+ do {
+ if ($3) {
+ $4 = HEAP32[17681]|0;
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $6 = $p;
+ __gcry_private_check_heap($6);
+ $7 = $0;
+ $8 = (__gcry_private_is_secure($7)|0);
+ $9 = ($8|0)!=(0);
+ $10 = $p;
+ $11 = ((($10)) + -4|0);
+ if ($9) {
+ __gcry_secmem_free($11);
+ break;
+ } else {
+ _free($11);
+ break;
+ }
+ } else {
+ $12 = $0;
+ $13 = (__gcry_private_is_secure($12)|0);
+ $14 = ($13|0)!=(0);
+ $15 = $p;
+ if ($14) {
+ __gcry_secmem_free($15);
+ break;
+ } else {
+ _free($15);
+ break;
+ }
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_set_flags($flags) {
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, $was_susp = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $flags;
+ (_gpgrt_lock_lock(1228)|0);
+ $1 = HEAP32[17682]|0;
+ $was_susp = $1;
+ $2 = $0;
+ $3 = $2 & 1;
+ HEAP32[17683] = $3;
+ $4 = $0;
+ $5 = $4 & 2;
+ HEAP32[17682] = $5;
+ $6 = $0;
+ $7 = $6 & 8;
+ HEAP32[17684] = $7;
+ $8 = $0;
+ $9 = $8 & 16;
+ HEAP32[17685] = $9;
+ $10 = $was_susp;
+ $11 = ($10|0)==(0);
+ $12 = HEAP32[17682]|0;
+ $13 = ($12|0)!=(0);
+ $or$cond = $11 | $13;
+ $or$cond$not = $or$cond ^ 1;
+ $14 = HEAP32[17686]|0;
+ $15 = ($14|0)!=(0);
+ $or$cond3 = $or$cond$not & $15;
+ if (!($or$cond3)) {
+ (_gpgrt_lock_unlock(1228)|0);
+ STACKTOP = sp;return;
+ }
+ HEAP32[17686] = 0;
+ _print_warn();
+ (_gpgrt_lock_unlock(1228)|0);
+ STACKTOP = sp;return;
+}
+function _print_warn() {
+ var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = HEAP32[17683]|0;
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ STACKTOP = sp;return;
+ }
+ $2 = (__gcry_gettext(23054)|0);
+ __gcry_log_info($2,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_get_flags() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ (_gpgrt_lock_lock(1228)|0);
+ $0 = HEAP32[17683]|0;
+ $1 = ($0|0)!=(0);
+ $2 = $1 ? 1 : 0;
+ $flags = $2;
+ $3 = HEAP32[17682]|0;
+ $4 = ($3|0)!=(0);
+ $5 = $4 ? 2 : 0;
+ $6 = $flags;
+ $7 = $6 | $5;
+ $flags = $7;
+ $8 = HEAP32[17687]|0;
+ $9 = ($8|0)!=(0);
+ $10 = $9 ? 4 : 0;
+ $11 = $flags;
+ $12 = $11 | $10;
+ $flags = $12;
+ $13 = HEAP32[17684]|0;
+ $14 = ($13|0)!=(0);
+ $15 = $14 ? 8 : 0;
+ $16 = $flags;
+ $17 = $16 | $15;
+ $flags = $17;
+ $18 = HEAP32[17685]|0;
+ $19 = ($18|0)!=(0);
+ $20 = $19 ? 16 : 0;
+ $21 = $flags;
+ $22 = $21 | $20;
+ $flags = $22;
+ (_gpgrt_lock_unlock(1228)|0);
+ $23 = $flags;
+ STACKTOP = sp;return ($23|0);
+}
+function __gcry_secmem_init($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ (_gpgrt_lock_lock(1228)|0);
+ $1 = $0;
+ _secmem_init($1);
+ (_gpgrt_lock_unlock(1228)|0);
+ STACKTOP = sp;return;
+}
+function _secmem_init($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $uid = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $n;
+ $1 = $0;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $15 = $0;
+ $16 = ($15>>>0)<(16384);
+ if ($16) {
+ $0 = 16384;
+ }
+ $17 = HEAP32[17689]|0;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ __gcry_log_error(23286,$vararg_buffer1);
+ STACKTOP = sp;return;
+ } else {
+ $19 = $0;
+ _init_pool($19);
+ $20 = HEAP32[17691]|0;
+ $21 = $0;
+ _lock_pool($20,$21);
+ STACKTOP = sp;return;
+ }
+ }
+ HEAP32[17688] = 1;
+ $3 = (_getuid()|0);
+ $uid = $3;
+ $4 = $uid;
+ $5 = (_geteuid()|0);
+ $6 = ($4|0)!=($5|0);
+ if (!($6)) {
+ STACKTOP = sp;return;
+ }
+ $7 = $uid;
+ $8 = (_setuid($7)|0);
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ __gcry_log_fatal(23087,$vararg_buffer);
+ // unreachable;
+ }
+ $10 = (_getuid()|0);
+ $11 = (_geteuid()|0);
+ $12 = ($10|0)!=($11|0);
+ if ($12) {
+ __gcry_log_fatal(23087,$vararg_buffer);
+ // unreachable;
+ }
+ $13 = (_setuid(0)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ STACKTOP = sp;return;
+ } else {
+ __gcry_log_fatal(23087,$vararg_buffer);
+ // unreachable;
+ }
+}
+function _init_pool($n) {
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mb = 0;
+ var $or$cond = 0, $pgsize = 0, $pgsize_val = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $n;
+ $1 = $0;
+ HEAP32[17690] = $1;
+ $2 = HEAP32[17688]|0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ __gcry_log_bug(23110,$vararg_buffer);
+ // unreachable;
+ }
+ $4 = (_sysconf(30)|0);
+ $pgsize_val = $4;
+ $5 = $pgsize_val;
+ $6 = ($5|0)!=(-1);
+ $7 = $pgsize_val;
+ $8 = ($7|0)>(0);
+ $or$cond = $6 & $8;
+ $9 = $pgsize_val;
+ $10 = $or$cond ? $9 : 4096;
+ $pgsize = $10;
+ $11 = HEAP32[17690]|0;
+ $12 = $pgsize;
+ $13 = (($11) + ($12))|0;
+ $14 = (($13) - 1)|0;
+ $15 = $pgsize;
+ $16 = (($15) - 1)|0;
+ $17 = $16 ^ -1;
+ $18 = $14 & $17;
+ HEAP32[17690] = $18;
+ $19 = HEAP32[17690]|0;
+ $20 = (___mmap(0,$19,3,34,-1,0)|0);
+ HEAP32[17691] = $20;
+ $21 = HEAP32[17691]|0;
+ $22 = ($21|0)==((-1)|0);
+ if ($22) {
+ $23 = HEAP32[17690]|0;
+ $24 = (___errno_location()|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (_strerror($25)|0);
+ HEAP32[$vararg_buffer2>>2] = $23;
+ $vararg_ptr4 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = $26;
+ __gcry_log_info(23136,$vararg_buffer2);
+ } else {
+ HEAP32[17692] = 1;
+ HEAP32[17689] = 1;
+ }
+ $27 = HEAP32[17689]|0;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ $34 = HEAP32[17691]|0;
+ $mb = $34;
+ $35 = HEAP32[17690]|0;
+ $36 = $mb;
+ HEAP32[$36>>2] = $35;
+ $37 = $mb;
+ $38 = ((($37)) + 4|0);
+ HEAP32[$38>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $29 = HEAP32[17690]|0;
+ $30 = (_malloc($29)|0);
+ HEAP32[17691] = $30;
+ $31 = HEAP32[17691]|0;
+ $32 = ($31|0)!=(0|0);
+ if (!($32)) {
+ $33 = HEAP32[17690]|0;
+ HEAP32[$vararg_buffer5>>2] = $33;
+ __gcry_log_fatal(23184,$vararg_buffer5);
+ // unreachable;
+ }
+ HEAP32[17689] = 1;
+ $34 = HEAP32[17691]|0;
+ $mb = $34;
+ $35 = HEAP32[17690]|0;
+ $36 = $mb;
+ HEAP32[$36>>2] = $35;
+ $37 = $mb;
+ $38 = ((($37)) + 4|0);
+ HEAP32[$38>>2] = 0;
+ STACKTOP = sp;return;
+}
+function _lock_pool($p,$n) {
+ $p = $p|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $p;
+ $1 = $n;
+ $2 = HEAP32[17684]|0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ STACKTOP = sp;return;
+ }
+ __gcry_log_info(23224,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_module_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_secmem_malloc($size) {
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $size;
+ (_gpgrt_lock_lock(1228)|0);
+ $1 = $0;
+ $2 = (__gcry_secmem_malloc_internal($1)|0);
+ $p = $2;
+ (_gpgrt_lock_unlock(1228)|0);
+ $3 = $p;
+ STACKTOP = sp;return ($3|0);
+}
+function __gcry_secmem_malloc_internal($size) {
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mb = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = $size;
+ $2 = HEAP32[17689]|0;
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ _secmem_init(32768);
+ $4 = HEAP32[17689]|0;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = (__gcry_gettext(23332)|0);
+ __gcry_log_info($6,$vararg_buffer);
+ _gpg_err_set_errno(12);
+ $0 = 0;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ }
+ }
+ $7 = HEAP32[17687]|0;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = (__gcry_fips_mode()|0);
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = (__gcry_gettext(23393)|0);
+ __gcry_log_info($11,$vararg_buffer2);
+ _gpg_err_set_errno(12);
+ $0 = 0;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ }
+ }
+ $12 = HEAP32[17686]|0;
+ $13 = ($12|0)==(0);
+ $14 = HEAP32[17682]|0;
+ $15 = ($14|0)!=(0);
+ $or$cond = $13 | $15;
+ if (!($or$cond)) {
+ HEAP32[17686] = 0;
+ _print_warn();
+ }
+ $16 = $1;
+ $17 = (($16) + 31)|0;
+ $18 = (($17>>>0) / 32)&-1;
+ $19 = $18<<5;
+ $1 = $19;
+ $20 = HEAP32[17691]|0;
+ $21 = $1;
+ $22 = (_mb_get_new($20,$21)|0);
+ $mb = $22;
+ $23 = $mb;
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $25 = $1;
+ _stats_update($25,0);
+ }
+ $26 = $mb;
+ $27 = ($26|0)!=(0|0);
+ $28 = $mb;
+ $29 = ((($28)) + 8|0);
+ $30 = $27 ? $29 : 0;
+ $0 = $30;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+}
+function _mb_get_new($block,$size) {
+ $block = $block|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mb = 0, $mb_split = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $block;
+ $1 = $size;
+ $2 = $0;
+ $mb = $2;
+ while(1) {
+ $3 = $mb;
+ $4 = (_ptr_into_pool_p($3)|0);
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $mb;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 1;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ $11 = $mb;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $1;
+ $14 = ($12>>>0)>=($13>>>0);
+ if ($14) {
+ label = 5;
+ break;
+ }
+ }
+ $39 = $mb;
+ $40 = (_mb_get_next($39)|0);
+ $mb = $40;
+ }
+ if ((label|0) == 5) {
+ $15 = $mb;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 | 1;
+ HEAP32[$16>>2] = $18;
+ $19 = $mb;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $1;
+ $22 = (($20) - ($21))|0;
+ $23 = ($22>>>0)>(8);
+ if ($23) {
+ $24 = $mb;
+ $25 = ((($24)) + 8|0);
+ $26 = $1;
+ $27 = (($25) + ($26)|0);
+ $mb_split = $27;
+ $28 = $mb;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $1;
+ $31 = (($29) - ($30))|0;
+ $32 = (($31) - 8)|0;
+ $33 = $mb_split;
+ HEAP32[$33>>2] = $32;
+ $34 = $mb_split;
+ $35 = ((($34)) + 4|0);
+ HEAP32[$35>>2] = 0;
+ $36 = $1;
+ $37 = $mb;
+ HEAP32[$37>>2] = $36;
+ $38 = $mb_split;
+ _mb_merge($38);
+ }
+ }
+ $41 = $mb;
+ $42 = (_ptr_into_pool_p($41)|0);
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ $44 = $mb;
+ STACKTOP = sp;return ($44|0);
+ }
+ _gpg_err_set_errno(12);
+ $mb = 0;
+ $44 = $mb;
+ STACKTOP = sp;return ($44|0);
+}
+function _ptr_into_pool_p($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p_addr = 0, $pool_addr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = $0;
+ $2 = $1;
+ $p_addr = $2;
+ $3 = HEAP32[17691]|0;
+ $4 = $3;
+ $pool_addr = $4;
+ $5 = $p_addr;
+ $6 = $pool_addr;
+ $7 = ($5>>>0)>=($6>>>0);
+ if (!($7)) {
+ $14 = 0;
+ $13 = $14&1;
+ STACKTOP = sp;return ($13|0);
+ }
+ $8 = $p_addr;
+ $9 = $pool_addr;
+ $10 = HEAP32[17690]|0;
+ $11 = (($9) + ($10))|0;
+ $12 = ($8>>>0)<($11>>>0);
+ $14 = $12;
+ $13 = $14&1;
+ STACKTOP = sp;return ($13|0);
+}
+function _mb_merge($mb) {
+ $mb = $mb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mb_next = 0, $mb_prev = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $mb;
+ $1 = $0;
+ $2 = (_mb_get_prev($1)|0);
+ $mb_prev = $2;
+ $3 = $0;
+ $4 = (_mb_get_next($3)|0);
+ $mb_next = $4;
+ $5 = $mb_prev;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $mb_prev;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 1;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $0;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (8 + ($13))|0;
+ $15 = $mb_prev;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($16) + ($14))|0;
+ HEAP32[$15>>2] = $17;
+ $18 = $mb_prev;
+ $0 = $18;
+ }
+ }
+ $19 = $mb_next;
+ $20 = ($19|0)!=(0|0);
+ if (!($20)) {
+ STACKTOP = sp;return;
+ }
+ $21 = $mb_next;
+ $22 = ((($21)) + 4|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $23 & 1;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ STACKTOP = sp;return;
+ }
+ $26 = $mb_next;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (8 + ($27))|0;
+ $29 = $0;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($30) + ($28))|0;
+ HEAP32[$29>>2] = $31;
+ STACKTOP = sp;return;
+}
+function _mb_get_prev($mb) {
+ $mb = $mb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mb_next = 0, $mb_prev = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $mb;
+ $1 = $0;
+ $2 = HEAP32[17691]|0;
+ $3 = ($1|0)==($2|0);
+ if ($3) {
+ $mb_prev = 0;
+ $11 = $mb_prev;
+ STACKTOP = sp;return ($11|0);
+ }
+ $4 = HEAP32[17691]|0;
+ $mb_prev = $4;
+ while(1) {
+ $5 = $mb_prev;
+ $6 = (_mb_get_next($5)|0);
+ $mb_next = $6;
+ $7 = $mb_next;
+ $8 = $0;
+ $9 = ($7|0)==($8|0);
+ if ($9) {
+ break;
+ }
+ $10 = $mb_next;
+ $mb_prev = $10;
+ }
+ $11 = $mb_prev;
+ STACKTOP = sp;return ($11|0);
+}
+function _mb_get_next($mb) {
+ $mb = $mb|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $mb_next = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $mb;
+ $1 = $0;
+ $2 = ((($1)) + 8|0);
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + ($4)|0);
+ $mb_next = $5;
+ $6 = $mb_next;
+ $7 = (_ptr_into_pool_p($6)|0);
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = $mb_next;
+ STACKTOP = sp;return ($9|0);
+ }
+ $mb_next = 0;
+ $9 = $mb_next;
+ STACKTOP = sp;return ($9|0);
+}
+function _stats_update($add,$sub) {
+ $add = $add|0;
+ $sub = $sub|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $add;
+ $1 = $sub;
+ $2 = $0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = $0;
+ $5 = HEAP32[17693]|0;
+ $6 = (($5) + ($4))|0;
+ HEAP32[17693] = $6;
+ $7 = HEAP32[17694]|0;
+ $8 = (($7) + 1)|0;
+ HEAP32[17694] = $8;
+ }
+ $9 = $1;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ STACKTOP = sp;return;
+ }
+ $11 = $1;
+ $12 = HEAP32[17693]|0;
+ $13 = (($12) - ($11))|0;
+ HEAP32[17693] = $13;
+ $14 = HEAP32[17694]|0;
+ $15 = (($14) + -1)|0;
+ HEAP32[17694] = $15;
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_free($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ (_gpgrt_lock_lock(1228)|0);
+ $1 = $0;
+ __gcry_secmem_free_internal($1);
+ (_gpgrt_lock_unlock(1228)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_free_internal($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $_vlen = 0, $_vlen12 = 0, $_vlen2 = 0, $_vlen7 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr11 = 0, $_vptr6 = 0, $_vptr_long = 0, $_vptr_long10 = 0, $_vptr_long15 = 0, $_vptr_long5 = 0, $_vset = 0, $_vset13 = 0, $_vset3 = 0, $_vset8 = 0, $_vset_long = 0, $_vset_long14 = 0, $_vset_long4 = 0;
+ var $_vset_long9 = 0, $mb = 0, $size = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp + 24|0;
+ $_vset_long4 = sp + 16|0;
+ $_vset_long9 = sp + 8|0;
+ $_vset_long14 = sp;
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = ((($3)) + -8|0);
+ $mb = $4;
+ $5 = $mb;
+ $6 = HEAP32[$5>>2]|0;
+ $size = $6;
+ $7 = $mb;
+ $8 = ((($7)) + 8|0);
+ $_vptr = $8;
+ $9 = $size;
+ $_vlen = $9;
+ $_vset = -1;
+ $10 = $_vset;
+ $11 = $10&255;
+ $12 = $_vset_long;
+ $13 = $12;
+ HEAP32[$13>>2] = $11;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = 0;
+ while(1) {
+ $16 = $_vptr;
+ $17 = $16;
+ $18 = $17 & 7;
+ $19 = ($18|0)!=(0);
+ $20 = $_vlen;
+ $21 = ($20|0)!=(0);
+ $22 = $19 ? $21 : 0;
+ if (!($22)) {
+ break;
+ }
+ $23 = $_vset;
+ $24 = $_vptr;
+ HEAP8[$24>>0] = $23;
+ $25 = $_vptr;
+ $26 = ((($25)) + 1|0);
+ $_vptr = $26;
+ $27 = $_vlen;
+ $28 = (($27) + -1)|0;
+ $_vlen = $28;
+ }
+ $29 = $_vlen;
+ $30 = ($29>>>0)<(8);
+ if (!($30)) {
+ $31 = $_vset_long;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (($31) + 4)|0;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (___muldi3(($33|0),($36|0),16843009,16843009)|0);
+ $38 = tempRet0;
+ $39 = $_vset_long;
+ $40 = $39;
+ HEAP32[$40>>2] = $37;
+ $41 = (($39) + 4)|0;
+ $42 = $41;
+ HEAP32[$42>>2] = $38;
+ while(1) {
+ $43 = $_vptr;
+ $_vptr_long = $43;
+ $44 = $_vset_long;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (($44) + 4)|0;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $_vptr_long;
+ $51 = $50;
+ $52 = $51;
+ HEAP32[$52>>2] = $46;
+ $53 = (($51) + 4)|0;
+ $54 = $53;
+ HEAP32[$54>>2] = $49;
+ $55 = $_vlen;
+ $56 = (($55) - 8)|0;
+ $_vlen = $56;
+ $57 = $_vptr;
+ $58 = ((($57)) + 8|0);
+ $_vptr = $58;
+ $59 = $_vlen;
+ $60 = ($59>>>0)>=(8);
+ if (!($60)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $61 = $_vlen;
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ break;
+ }
+ $63 = $_vset;
+ $64 = $_vptr;
+ HEAP8[$64>>0] = $63;
+ $65 = $_vptr;
+ $66 = ((($65)) + 1|0);
+ $_vptr = $66;
+ $67 = $_vlen;
+ $68 = (($67) + -1)|0;
+ $_vlen = $68;
+ }
+ $69 = $mb;
+ $70 = ((($69)) + 8|0);
+ $_vptr1 = $70;
+ $71 = $size;
+ $_vlen2 = $71;
+ $_vset3 = -86;
+ $72 = $_vset3;
+ $73 = $72&255;
+ $74 = $_vset_long4;
+ $75 = $74;
+ HEAP32[$75>>2] = $73;
+ $76 = (($74) + 4)|0;
+ $77 = $76;
+ HEAP32[$77>>2] = 0;
+ while(1) {
+ $78 = $_vptr1;
+ $79 = $78;
+ $80 = $79 & 7;
+ $81 = ($80|0)!=(0);
+ $82 = $_vlen2;
+ $83 = ($82|0)!=(0);
+ $84 = $81 ? $83 : 0;
+ if (!($84)) {
+ break;
+ }
+ $85 = $_vset3;
+ $86 = $_vptr1;
+ HEAP8[$86>>0] = $85;
+ $87 = $_vptr1;
+ $88 = ((($87)) + 1|0);
+ $_vptr1 = $88;
+ $89 = $_vlen2;
+ $90 = (($89) + -1)|0;
+ $_vlen2 = $90;
+ }
+ $91 = $_vlen2;
+ $92 = ($91>>>0)<(8);
+ if (!($92)) {
+ $93 = $_vset_long4;
+ $94 = $93;
+ $95 = HEAP32[$94>>2]|0;
+ $96 = (($93) + 4)|0;
+ $97 = $96;
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (___muldi3(($95|0),($98|0),16843009,16843009)|0);
+ $100 = tempRet0;
+ $101 = $_vset_long4;
+ $102 = $101;
+ HEAP32[$102>>2] = $99;
+ $103 = (($101) + 4)|0;
+ $104 = $103;
+ HEAP32[$104>>2] = $100;
+ while(1) {
+ $105 = $_vptr1;
+ $_vptr_long5 = $105;
+ $106 = $_vset_long4;
+ $107 = $106;
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (($106) + 4)|0;
+ $110 = $109;
+ $111 = HEAP32[$110>>2]|0;
+ $112 = $_vptr_long5;
+ $113 = $112;
+ $114 = $113;
+ HEAP32[$114>>2] = $108;
+ $115 = (($113) + 4)|0;
+ $116 = $115;
+ HEAP32[$116>>2] = $111;
+ $117 = $_vlen2;
+ $118 = (($117) - 8)|0;
+ $_vlen2 = $118;
+ $119 = $_vptr1;
+ $120 = ((($119)) + 8|0);
+ $_vptr1 = $120;
+ $121 = $_vlen2;
+ $122 = ($121>>>0)>=(8);
+ if (!($122)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $123 = $_vlen2;
+ $124 = ($123|0)!=(0);
+ if (!($124)) {
+ break;
+ }
+ $125 = $_vset3;
+ $126 = $_vptr1;
+ HEAP8[$126>>0] = $125;
+ $127 = $_vptr1;
+ $128 = ((($127)) + 1|0);
+ $_vptr1 = $128;
+ $129 = $_vlen2;
+ $130 = (($129) + -1)|0;
+ $_vlen2 = $130;
+ }
+ $131 = $mb;
+ $132 = ((($131)) + 8|0);
+ $_vptr6 = $132;
+ $133 = $size;
+ $_vlen7 = $133;
+ $_vset8 = 85;
+ $134 = $_vset8;
+ $135 = $134&255;
+ $136 = $_vset_long9;
+ $137 = $136;
+ HEAP32[$137>>2] = $135;
+ $138 = (($136) + 4)|0;
+ $139 = $138;
+ HEAP32[$139>>2] = 0;
+ while(1) {
+ $140 = $_vptr6;
+ $141 = $140;
+ $142 = $141 & 7;
+ $143 = ($142|0)!=(0);
+ $144 = $_vlen7;
+ $145 = ($144|0)!=(0);
+ $146 = $143 ? $145 : 0;
+ if (!($146)) {
+ break;
+ }
+ $147 = $_vset8;
+ $148 = $_vptr6;
+ HEAP8[$148>>0] = $147;
+ $149 = $_vptr6;
+ $150 = ((($149)) + 1|0);
+ $_vptr6 = $150;
+ $151 = $_vlen7;
+ $152 = (($151) + -1)|0;
+ $_vlen7 = $152;
+ }
+ $153 = $_vlen7;
+ $154 = ($153>>>0)<(8);
+ if (!($154)) {
+ $155 = $_vset_long9;
+ $156 = $155;
+ $157 = HEAP32[$156>>2]|0;
+ $158 = (($155) + 4)|0;
+ $159 = $158;
+ $160 = HEAP32[$159>>2]|0;
+ $161 = (___muldi3(($157|0),($160|0),16843009,16843009)|0);
+ $162 = tempRet0;
+ $163 = $_vset_long9;
+ $164 = $163;
+ HEAP32[$164>>2] = $161;
+ $165 = (($163) + 4)|0;
+ $166 = $165;
+ HEAP32[$166>>2] = $162;
+ while(1) {
+ $167 = $_vptr6;
+ $_vptr_long10 = $167;
+ $168 = $_vset_long9;
+ $169 = $168;
+ $170 = HEAP32[$169>>2]|0;
+ $171 = (($168) + 4)|0;
+ $172 = $171;
+ $173 = HEAP32[$172>>2]|0;
+ $174 = $_vptr_long10;
+ $175 = $174;
+ $176 = $175;
+ HEAP32[$176>>2] = $170;
+ $177 = (($175) + 4)|0;
+ $178 = $177;
+ HEAP32[$178>>2] = $173;
+ $179 = $_vlen7;
+ $180 = (($179) - 8)|0;
+ $_vlen7 = $180;
+ $181 = $_vptr6;
+ $182 = ((($181)) + 8|0);
+ $_vptr6 = $182;
+ $183 = $_vlen7;
+ $184 = ($183>>>0)>=(8);
+ if (!($184)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $185 = $_vlen7;
+ $186 = ($185|0)!=(0);
+ if (!($186)) {
+ break;
+ }
+ $187 = $_vset8;
+ $188 = $_vptr6;
+ HEAP8[$188>>0] = $187;
+ $189 = $_vptr6;
+ $190 = ((($189)) + 1|0);
+ $_vptr6 = $190;
+ $191 = $_vlen7;
+ $192 = (($191) + -1)|0;
+ $_vlen7 = $192;
+ }
+ $193 = $mb;
+ $194 = ((($193)) + 8|0);
+ $_vptr11 = $194;
+ $195 = $size;
+ $_vlen12 = $195;
+ $_vset13 = 0;
+ $196 = $_vset13;
+ $197 = $196&255;
+ $198 = $_vset_long14;
+ $199 = $198;
+ HEAP32[$199>>2] = $197;
+ $200 = (($198) + 4)|0;
+ $201 = $200;
+ HEAP32[$201>>2] = 0;
+ while(1) {
+ $202 = $_vptr11;
+ $203 = $202;
+ $204 = $203 & 7;
+ $205 = ($204|0)!=(0);
+ $206 = $_vlen12;
+ $207 = ($206|0)!=(0);
+ $208 = $205 ? $207 : 0;
+ if (!($208)) {
+ break;
+ }
+ $209 = $_vset13;
+ $210 = $_vptr11;
+ HEAP8[$210>>0] = $209;
+ $211 = $_vptr11;
+ $212 = ((($211)) + 1|0);
+ $_vptr11 = $212;
+ $213 = $_vlen12;
+ $214 = (($213) + -1)|0;
+ $_vlen12 = $214;
+ }
+ $215 = $_vlen12;
+ $216 = ($215>>>0)<(8);
+ if (!($216)) {
+ $217 = $_vset_long14;
+ $218 = $217;
+ $219 = HEAP32[$218>>2]|0;
+ $220 = (($217) + 4)|0;
+ $221 = $220;
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (___muldi3(($219|0),($222|0),16843009,16843009)|0);
+ $224 = tempRet0;
+ $225 = $_vset_long14;
+ $226 = $225;
+ HEAP32[$226>>2] = $223;
+ $227 = (($225) + 4)|0;
+ $228 = $227;
+ HEAP32[$228>>2] = $224;
+ while(1) {
+ $229 = $_vptr11;
+ $_vptr_long15 = $229;
+ $230 = $_vset_long14;
+ $231 = $230;
+ $232 = HEAP32[$231>>2]|0;
+ $233 = (($230) + 4)|0;
+ $234 = $233;
+ $235 = HEAP32[$234>>2]|0;
+ $236 = $_vptr_long15;
+ $237 = $236;
+ $238 = $237;
+ HEAP32[$238>>2] = $232;
+ $239 = (($237) + 4)|0;
+ $240 = $239;
+ HEAP32[$240>>2] = $235;
+ $241 = $_vlen12;
+ $242 = (($241) - 8)|0;
+ $_vlen12 = $242;
+ $243 = $_vptr11;
+ $244 = ((($243)) + 8|0);
+ $_vptr11 = $244;
+ $245 = $_vlen12;
+ $246 = ($245>>>0)>=(8);
+ if (!($246)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $247 = $_vlen12;
+ $248 = ($247|0)!=(0);
+ if (!($248)) {
+ break;
+ }
+ $249 = $_vset13;
+ $250 = $_vptr11;
+ HEAP8[$250>>0] = $249;
+ $251 = $_vptr11;
+ $252 = ((($251)) + 1|0);
+ $_vptr11 = $252;
+ $253 = $_vlen12;
+ $254 = (($253) + -1)|0;
+ $_vlen12 = $254;
+ }
+ $255 = $size;
+ _stats_update(0,$255);
+ $256 = $mb;
+ $257 = ((($256)) + 4|0);
+ $258 = HEAP32[$257>>2]|0;
+ $259 = $258 & -2;
+ HEAP32[$257>>2] = $259;
+ $260 = $mb;
+ _mb_merge($260);
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_realloc($p,$newsize) {
+ $p = $p|0;
+ $newsize = $newsize|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $mb = 0, $size = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = $newsize;
+ (_gpgrt_lock_lock(1228)|0);
+ $2 = $0;
+ $3 = (($2) + (((0 - ((((0) + 8|0))))|0))|0);
+ $mb = $3;
+ $4 = $mb;
+ $5 = HEAP32[$4>>2]|0;
+ $size = $5;
+ $6 = $1;
+ $7 = $size;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ $9 = $0;
+ $a = $9;
+ } else {
+ $10 = $1;
+ $11 = (__gcry_secmem_malloc_internal($10)|0);
+ $a = $11;
+ $12 = $a;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = $a;
+ $15 = $0;
+ $16 = $size;
+ _memcpy(($14|0),($15|0),($16|0))|0;
+ $17 = $a;
+ $18 = $size;
+ $19 = (($17) + ($18)|0);
+ $20 = $1;
+ $21 = $size;
+ $22 = (($20) - ($21))|0;
+ _memset(($19|0),0,($22|0))|0;
+ $23 = $0;
+ __gcry_secmem_free_internal($23);
+ }
+ }
+ (_gpgrt_lock_unlock(1228)|0);
+ $24 = $a;
+ STACKTOP = sp;return ($24|0);
+}
+function __gcry_private_is_secure($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = HEAP32[17689]|0;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $0;
+ $4 = (_ptr_into_pool_p($3)|0);
+ $5 = ($4|0)!=(0);
+ $7 = $5;
+ } else {
+ $7 = 0;
+ }
+ $6 = $7&1;
+ STACKTOP = sp;return ($6|0);
+}
+function __gcry_secmem_term() {
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vlen12 = 0, $_vlen2 = 0, $_vlen7 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr11 = 0, $_vptr6 = 0, $_vptr_long = 0, $_vptr_long10 = 0;
+ var $_vptr_long15 = 0, $_vptr_long5 = 0, $_vset = 0, $_vset13 = 0, $_vset3 = 0, $_vset8 = 0, $_vset_long = 0, $_vset_long14 = 0, $_vset_long4 = 0, $_vset_long9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp + 24|0;
+ $_vset_long4 = sp + 16|0;
+ $_vset_long9 = sp + 8|0;
+ $_vset_long14 = sp;
+ $0 = HEAP32[17689]|0;
+ $1 = ($0|0)!=(0);
+ if (!($1)) {
+ STACKTOP = sp;return;
+ }
+ $2 = HEAP32[17691]|0;
+ $_vptr = $2;
+ $3 = HEAP32[17690]|0;
+ $_vlen = $3;
+ $_vset = -1;
+ $4 = $_vset;
+ $5 = $4&255;
+ $6 = $_vset_long;
+ $7 = $6;
+ HEAP32[$7>>2] = $5;
+ $8 = (($6) + 4)|0;
+ $9 = $8;
+ HEAP32[$9>>2] = 0;
+ while(1) {
+ $10 = $_vptr;
+ $11 = $10;
+ $12 = $11 & 7;
+ $13 = ($12|0)!=(0);
+ $14 = $_vlen;
+ $15 = ($14|0)!=(0);
+ $16 = $13 ? $15 : 0;
+ if (!($16)) {
+ break;
+ }
+ $17 = $_vset;
+ $18 = $_vptr;
+ HEAP8[$18>>0] = $17;
+ $19 = $_vptr;
+ $20 = ((($19)) + 1|0);
+ $_vptr = $20;
+ $21 = $_vlen;
+ $22 = (($21) + -1)|0;
+ $_vlen = $22;
+ }
+ $23 = $_vlen;
+ $24 = ($23>>>0)<(8);
+ if (!($24)) {
+ $25 = $_vset_long;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($25) + 4)|0;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (___muldi3(($27|0),($30|0),16843009,16843009)|0);
+ $32 = tempRet0;
+ $33 = $_vset_long;
+ $34 = $33;
+ HEAP32[$34>>2] = $31;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = $32;
+ while(1) {
+ $37 = $_vptr;
+ $_vptr_long = $37;
+ $38 = $_vset_long;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (($38) + 4)|0;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = $_vptr_long;
+ $45 = $44;
+ $46 = $45;
+ HEAP32[$46>>2] = $40;
+ $47 = (($45) + 4)|0;
+ $48 = $47;
+ HEAP32[$48>>2] = $43;
+ $49 = $_vlen;
+ $50 = (($49) - 8)|0;
+ $_vlen = $50;
+ $51 = $_vptr;
+ $52 = ((($51)) + 8|0);
+ $_vptr = $52;
+ $53 = $_vlen;
+ $54 = ($53>>>0)>=(8);
+ if (!($54)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $55 = $_vlen;
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ break;
+ }
+ $57 = $_vset;
+ $58 = $_vptr;
+ HEAP8[$58>>0] = $57;
+ $59 = $_vptr;
+ $60 = ((($59)) + 1|0);
+ $_vptr = $60;
+ $61 = $_vlen;
+ $62 = (($61) + -1)|0;
+ $_vlen = $62;
+ }
+ $63 = HEAP32[17691]|0;
+ $_vptr1 = $63;
+ $64 = HEAP32[17690]|0;
+ $_vlen2 = $64;
+ $_vset3 = -86;
+ $65 = $_vset3;
+ $66 = $65&255;
+ $67 = $_vset_long4;
+ $68 = $67;
+ HEAP32[$68>>2] = $66;
+ $69 = (($67) + 4)|0;
+ $70 = $69;
+ HEAP32[$70>>2] = 0;
+ while(1) {
+ $71 = $_vptr1;
+ $72 = $71;
+ $73 = $72 & 7;
+ $74 = ($73|0)!=(0);
+ $75 = $_vlen2;
+ $76 = ($75|0)!=(0);
+ $77 = $74 ? $76 : 0;
+ if (!($77)) {
+ break;
+ }
+ $78 = $_vset3;
+ $79 = $_vptr1;
+ HEAP8[$79>>0] = $78;
+ $80 = $_vptr1;
+ $81 = ((($80)) + 1|0);
+ $_vptr1 = $81;
+ $82 = $_vlen2;
+ $83 = (($82) + -1)|0;
+ $_vlen2 = $83;
+ }
+ $84 = $_vlen2;
+ $85 = ($84>>>0)<(8);
+ if (!($85)) {
+ $86 = $_vset_long4;
+ $87 = $86;
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (($86) + 4)|0;
+ $90 = $89;
+ $91 = HEAP32[$90>>2]|0;
+ $92 = (___muldi3(($88|0),($91|0),16843009,16843009)|0);
+ $93 = tempRet0;
+ $94 = $_vset_long4;
+ $95 = $94;
+ HEAP32[$95>>2] = $92;
+ $96 = (($94) + 4)|0;
+ $97 = $96;
+ HEAP32[$97>>2] = $93;
+ while(1) {
+ $98 = $_vptr1;
+ $_vptr_long5 = $98;
+ $99 = $_vset_long4;
+ $100 = $99;
+ $101 = HEAP32[$100>>2]|0;
+ $102 = (($99) + 4)|0;
+ $103 = $102;
+ $104 = HEAP32[$103>>2]|0;
+ $105 = $_vptr_long5;
+ $106 = $105;
+ $107 = $106;
+ HEAP32[$107>>2] = $101;
+ $108 = (($106) + 4)|0;
+ $109 = $108;
+ HEAP32[$109>>2] = $104;
+ $110 = $_vlen2;
+ $111 = (($110) - 8)|0;
+ $_vlen2 = $111;
+ $112 = $_vptr1;
+ $113 = ((($112)) + 8|0);
+ $_vptr1 = $113;
+ $114 = $_vlen2;
+ $115 = ($114>>>0)>=(8);
+ if (!($115)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $116 = $_vlen2;
+ $117 = ($116|0)!=(0);
+ if (!($117)) {
+ break;
+ }
+ $118 = $_vset3;
+ $119 = $_vptr1;
+ HEAP8[$119>>0] = $118;
+ $120 = $_vptr1;
+ $121 = ((($120)) + 1|0);
+ $_vptr1 = $121;
+ $122 = $_vlen2;
+ $123 = (($122) + -1)|0;
+ $_vlen2 = $123;
+ }
+ $124 = HEAP32[17691]|0;
+ $_vptr6 = $124;
+ $125 = HEAP32[17690]|0;
+ $_vlen7 = $125;
+ $_vset8 = 85;
+ $126 = $_vset8;
+ $127 = $126&255;
+ $128 = $_vset_long9;
+ $129 = $128;
+ HEAP32[$129>>2] = $127;
+ $130 = (($128) + 4)|0;
+ $131 = $130;
+ HEAP32[$131>>2] = 0;
+ while(1) {
+ $132 = $_vptr6;
+ $133 = $132;
+ $134 = $133 & 7;
+ $135 = ($134|0)!=(0);
+ $136 = $_vlen7;
+ $137 = ($136|0)!=(0);
+ $138 = $135 ? $137 : 0;
+ if (!($138)) {
+ break;
+ }
+ $139 = $_vset8;
+ $140 = $_vptr6;
+ HEAP8[$140>>0] = $139;
+ $141 = $_vptr6;
+ $142 = ((($141)) + 1|0);
+ $_vptr6 = $142;
+ $143 = $_vlen7;
+ $144 = (($143) + -1)|0;
+ $_vlen7 = $144;
+ }
+ $145 = $_vlen7;
+ $146 = ($145>>>0)<(8);
+ if (!($146)) {
+ $147 = $_vset_long9;
+ $148 = $147;
+ $149 = HEAP32[$148>>2]|0;
+ $150 = (($147) + 4)|0;
+ $151 = $150;
+ $152 = HEAP32[$151>>2]|0;
+ $153 = (___muldi3(($149|0),($152|0),16843009,16843009)|0);
+ $154 = tempRet0;
+ $155 = $_vset_long9;
+ $156 = $155;
+ HEAP32[$156>>2] = $153;
+ $157 = (($155) + 4)|0;
+ $158 = $157;
+ HEAP32[$158>>2] = $154;
+ while(1) {
+ $159 = $_vptr6;
+ $_vptr_long10 = $159;
+ $160 = $_vset_long9;
+ $161 = $160;
+ $162 = HEAP32[$161>>2]|0;
+ $163 = (($160) + 4)|0;
+ $164 = $163;
+ $165 = HEAP32[$164>>2]|0;
+ $166 = $_vptr_long10;
+ $167 = $166;
+ $168 = $167;
+ HEAP32[$168>>2] = $162;
+ $169 = (($167) + 4)|0;
+ $170 = $169;
+ HEAP32[$170>>2] = $165;
+ $171 = $_vlen7;
+ $172 = (($171) - 8)|0;
+ $_vlen7 = $172;
+ $173 = $_vptr6;
+ $174 = ((($173)) + 8|0);
+ $_vptr6 = $174;
+ $175 = $_vlen7;
+ $176 = ($175>>>0)>=(8);
+ if (!($176)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $177 = $_vlen7;
+ $178 = ($177|0)!=(0);
+ if (!($178)) {
+ break;
+ }
+ $179 = $_vset8;
+ $180 = $_vptr6;
+ HEAP8[$180>>0] = $179;
+ $181 = $_vptr6;
+ $182 = ((($181)) + 1|0);
+ $_vptr6 = $182;
+ $183 = $_vlen7;
+ $184 = (($183) + -1)|0;
+ $_vlen7 = $184;
+ }
+ $185 = HEAP32[17691]|0;
+ $_vptr11 = $185;
+ $186 = HEAP32[17690]|0;
+ $_vlen12 = $186;
+ $_vset13 = 0;
+ $187 = $_vset13;
+ $188 = $187&255;
+ $189 = $_vset_long14;
+ $190 = $189;
+ HEAP32[$190>>2] = $188;
+ $191 = (($189) + 4)|0;
+ $192 = $191;
+ HEAP32[$192>>2] = 0;
+ while(1) {
+ $193 = $_vptr11;
+ $194 = $193;
+ $195 = $194 & 7;
+ $196 = ($195|0)!=(0);
+ $197 = $_vlen12;
+ $198 = ($197|0)!=(0);
+ $199 = $196 ? $198 : 0;
+ if (!($199)) {
+ break;
+ }
+ $200 = $_vset13;
+ $201 = $_vptr11;
+ HEAP8[$201>>0] = $200;
+ $202 = $_vptr11;
+ $203 = ((($202)) + 1|0);
+ $_vptr11 = $203;
+ $204 = $_vlen12;
+ $205 = (($204) + -1)|0;
+ $_vlen12 = $205;
+ }
+ $206 = $_vlen12;
+ $207 = ($206>>>0)<(8);
+ if (!($207)) {
+ $208 = $_vset_long14;
+ $209 = $208;
+ $210 = HEAP32[$209>>2]|0;
+ $211 = (($208) + 4)|0;
+ $212 = $211;
+ $213 = HEAP32[$212>>2]|0;
+ $214 = (___muldi3(($210|0),($213|0),16843009,16843009)|0);
+ $215 = tempRet0;
+ $216 = $_vset_long14;
+ $217 = $216;
+ HEAP32[$217>>2] = $214;
+ $218 = (($216) + 4)|0;
+ $219 = $218;
+ HEAP32[$219>>2] = $215;
+ while(1) {
+ $220 = $_vptr11;
+ $_vptr_long15 = $220;
+ $221 = $_vset_long14;
+ $222 = $221;
+ $223 = HEAP32[$222>>2]|0;
+ $224 = (($221) + 4)|0;
+ $225 = $224;
+ $226 = HEAP32[$225>>2]|0;
+ $227 = $_vptr_long15;
+ $228 = $227;
+ $229 = $228;
+ HEAP32[$229>>2] = $223;
+ $230 = (($228) + 4)|0;
+ $231 = $230;
+ HEAP32[$231>>2] = $226;
+ $232 = $_vlen12;
+ $233 = (($232) - 8)|0;
+ $_vlen12 = $233;
+ $234 = $_vptr11;
+ $235 = ((($234)) + 8|0);
+ $_vptr11 = $235;
+ $236 = $_vlen12;
+ $237 = ($236>>>0)>=(8);
+ if (!($237)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $238 = $_vlen12;
+ $239 = ($238|0)!=(0);
+ if (!($239)) {
+ break;
+ }
+ $240 = $_vset13;
+ $241 = $_vptr11;
+ HEAP8[$241>>0] = $240;
+ $242 = $_vptr11;
+ $243 = ((($242)) + 1|0);
+ $_vptr11 = $243;
+ $244 = $_vlen12;
+ $245 = (($244) + -1)|0;
+ $_vlen12 = $245;
+ }
+ $246 = HEAP32[17692]|0;
+ $247 = ($246|0)!=(0);
+ if ($247) {
+ $248 = HEAP32[17691]|0;
+ $249 = HEAP32[17690]|0;
+ (___munmap($248,$249)|0);
+ }
+ HEAP32[17691] = 0;
+ HEAP32[17689] = 0;
+ HEAP32[17690] = 0;
+ HEAP32[17687] = 0;
+ STACKTOP = sp;return;
+}
+function __gcry_secmem_dump_stats() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ (_gpgrt_lock_lock(1228)|0);
+ $0 = HEAP32[17689]|0;
+ $1 = ($0|0)!=(0);
+ if (!($1)) {
+ (_gpgrt_lock_unlock(1228)|0);
+ STACKTOP = sp;return;
+ }
+ $2 = HEAP32[17693]|0;
+ $3 = HEAP32[17690]|0;
+ $4 = HEAP32[17694]|0;
+ HEAP32[$vararg_buffer>>2] = $2;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $3;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $4;
+ __gcry_log_info(23446,$vararg_buffer);
+ (_gpgrt_lock_unlock(1228)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_initialize_fips_mode($force) {
+ $force = $force|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $fp = 0, $fp1 = 0, $line = 0, $line2 = 0, $or$cond = 0, $saved_errno = 0, $vararg_buffer = 0;
+ var $vararg_buffer3 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 8|0;
+ $vararg_buffer = sp;
+ $line = sp + 288|0;
+ $line2 = sp + 32|0;
+ $0 = $force;
+ $1 = HEAP32[17695]|0;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = (__gcry_fips_mode()|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ _fips_new_state(5);
+ __gcry_fips_noreturn();
+ }
+ $5 = HEAP32[17695]|0;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ __gcry_assert_failed(23715,23721,114,23728);
+ // unreachable;
+ }
+ }
+ HEAP32[17695] = 1;
+ $7 = $0;
+ $8 = ($7|0)!=(0);
+ do {
+ if ($8) {
+ $9 = HEAP32[17696]|0;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ __gcry_assert_failed(23755,23721,121,23728);
+ // unreachable;
+ }
+ } else {
+ $11 = (_access(23778,0)|0);
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ $13 = HEAP32[17696]|0;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ break;
+ }
+ __gcry_assert_failed(23755,23721,132,23728);
+ // unreachable;
+ }
+ $15 = (_fopen(23803,23833)|0);
+ $fp = $15;
+ $16 = $fp;
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $18 = $fp;
+ $19 = (_fgets($line,256,$18)|0);
+ $20 = ($19|0)!=(0|0);
+ if ($20) {
+ $21 = (_atoi($line)|0);
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $23 = $fp;
+ (_fclose($23)|0);
+ $24 = HEAP32[17696]|0;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ break;
+ }
+ __gcry_assert_failed(23755,23721,151,23728);
+ // unreachable;
+ }
+ }
+ $26 = $fp;
+ (_fclose($26)|0);
+ } else {
+ $27 = (___errno_location()|0);
+ $28 = HEAP32[$27>>2]|0;
+ $saved_errno = $28;
+ $29 = ($28|0)!=(2);
+ $30 = $saved_errno;
+ $31 = ($30|0)!=(13);
+ $or$cond = $29 & $31;
+ if ($or$cond) {
+ $32 = (_access(23835,0)|0);
+ $33 = ($32|0)!=(0);
+ if (!($33)) {
+ $34 = $saved_errno;
+ $35 = (_strerror($34)|0);
+ HEAP32[$vararg_buffer>>2] = 23803;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $35;
+ __gcry_log_info(23849,$vararg_buffer);
+ _abort();
+ // unreachable;
+ }
+ }
+ }
+ HEAP32[17696] = 1;
+ }
+ } while(0);
+ $36 = HEAP32[17696]|0;
+ $37 = ($36|0)!=(0);
+ if ($37) {
+ STACKTOP = sp;return;
+ }
+ $38 = (_gpgrt_lock_init(1272)|0);
+ $err = $38;
+ $39 = $err;
+ $40 = ($39|0)!=(0);
+ if ($40) {
+ $41 = $err;
+ $42 = (_gpg_strerror($41)|0);
+ HEAP32[$vararg_buffer3>>2] = $42;
+ __gcry_log_info(23893,$vararg_buffer3);
+ _abort();
+ // unreachable;
+ }
+ $43 = (_fopen(23778,23833)|0);
+ $fp1 = $43;
+ $44 = $fp1;
+ $45 = ($44|0)!=(0|0);
+ if ($45) {
+ $46 = $fp1;
+ $47 = (_fgets($line2,256,$46)|0);
+ $48 = ($47|0)!=(0|0);
+ if ($48) {
+ $49 = (_atoi($line2)|0);
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ HEAP32[17698] = 1;
+ }
+ }
+ $51 = $fp1;
+ (_fclose($51)|0);
+ }
+ _fips_new_state(1);
+ STACKTOP = sp;return;
+}
+function __gcry_fips_mode() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17696]|0;
+ $1 = ($0|0)!=(0);
+ $2 = $1 ^ 1;
+ $3 = $2&1;
+ return ($3|0);
+}
+function _fips_new_state($new_state) {
+ $new_state = $new_state|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $last_state = 0, $ok = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0;
+ var $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $vararg_buffer = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $new_state;
+ $ok = 0;
+ _lock_fsm();
+ $1 = HEAP32[17697]|0;
+ $last_state = $1;
+ $2 = HEAP32[17697]|0;
+ switch ($2|0) {
+ case 0: {
+ $3 = $0;
+ $4 = ($3|0)==(1);
+ $5 = $0;
+ $6 = ($5|0)==(4);
+ $or$cond = $4 | $6;
+ $7 = $0;
+ $8 = ($7|0)==(5);
+ $or$cond3 = $or$cond | $8;
+ if ($or$cond3) {
+ $ok = 1;
+ }
+ break;
+ }
+ case 1: {
+ $9 = $0;
+ $10 = ($9|0)==(2);
+ $11 = $0;
+ $12 = ($11|0)==(4);
+ $or$cond5 = $10 | $12;
+ $13 = $0;
+ $14 = ($13|0)==(5);
+ $or$cond7 = $or$cond5 | $14;
+ if ($or$cond7) {
+ $ok = 1;
+ }
+ break;
+ }
+ case 2: {
+ $15 = $0;
+ $16 = ($15|0)==(3);
+ $17 = $0;
+ $18 = ($17|0)==(4);
+ $or$cond9 = $16 | $18;
+ $19 = $0;
+ $20 = ($19|0)==(5);
+ $or$cond11 = $or$cond9 | $20;
+ if ($or$cond11) {
+ $ok = 1;
+ }
+ break;
+ }
+ case 3: {
+ $21 = $0;
+ $22 = ($21|0)==(6);
+ $23 = $0;
+ $24 = ($23|0)==(2);
+ $or$cond13 = $22 | $24;
+ $25 = $0;
+ $26 = ($25|0)==(4);
+ $or$cond15 = $or$cond13 | $26;
+ $27 = $0;
+ $28 = ($27|0)==(5);
+ $or$cond17 = $or$cond15 | $28;
+ if ($or$cond17) {
+ $ok = 1;
+ }
+ break;
+ }
+ case 4: {
+ $29 = $0;
+ $30 = ($29|0)==(6);
+ $31 = $0;
+ $32 = ($31|0)==(4);
+ $or$cond19 = $30 | $32;
+ $33 = $0;
+ $34 = ($33|0)==(5);
+ $or$cond21 = $or$cond19 | $34;
+ $35 = $0;
+ $36 = ($35|0)==(2);
+ $or$cond23 = $or$cond21 | $36;
+ if ($or$cond23) {
+ $ok = 1;
+ }
+ break;
+ }
+ case 5: {
+ $37 = $0;
+ $38 = ($37|0)==(6);
+ if ($38) {
+ $ok = 1;
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ $39 = $ok;
+ $40 = ($39|0)!=(0);
+ if ($40) {
+ $41 = $0;
+ HEAP32[17697] = $41;
+ }
+ _unlock_fsm();
+ $42 = $ok;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ $44 = (__gcry_log_verbosity(2)|0);
+ $45 = ($44|0)!=(0);
+ if ($45) {
+ label = 18;
+ }
+ } else {
+ label = 18;
+ }
+ if ((label|0) == 18) {
+ $46 = $last_state;
+ $47 = (_state2str($46)|0);
+ $48 = $0;
+ $49 = (_state2str($48)|0);
+ $50 = $ok;
+ $51 = ($50|0)!=(0);
+ $52 = $51 ? 23660 : 23668;
+ HEAP32[$vararg_buffer>>2] = $47;
+ $vararg_ptr26 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr26>>2] = $49;
+ $vararg_ptr27 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr27>>2] = $52;
+ __gcry_log_info(23675,$vararg_buffer);
+ }
+ $53 = $ok;
+ $54 = ($53|0)!=(0);
+ if ($54) {
+ STACKTOP = sp;return;
+ } else {
+ __gcry_fips_noreturn();
+ STACKTOP = sp;return;
+ }
+}
+function _lock_fsm() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $err = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(1272)|0);
+ $err = $0;
+ $1 = $err;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $err;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_info(23487,$vararg_buffer);
+ _abort();
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function _unlock_fsm() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $err = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_unlock(1272)|0);
+ $err = $0;
+ $1 = $err;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $err;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_info(23542,$vararg_buffer);
+ _abort();
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function _state2str($state) {
+ $state = $state|0;
+ var $0 = 0, $1 = 0, $2 = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $state;
+ $1 = $0;
+ switch ($1|0) {
+ case 0: {
+ $s = 23597;
+ break;
+ }
+ case 1: {
+ $s = 23606;
+ break;
+ }
+ case 2: {
+ $s = 23611;
+ break;
+ }
+ case 3: {
+ $s = 23621;
+ break;
+ }
+ case 4: {
+ $s = 23633;
+ break;
+ }
+ case 5: {
+ $s = 23639;
+ break;
+ }
+ case 6: {
+ $s = 23651;
+ break;
+ }
+ default: {
+ $s = 37956;
+ }
+ }
+ $2 = $s;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_fips_noreturn() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (_fflush(0)|0);
+ _abort();
+ // unreachable;
+}
+function __gcry_enforced_fips_mode() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = HEAP32[17698]|0;
+ $0 = $3;
+ } else {
+ $0 = 0;
+ }
+ $4 = $0;
+ STACKTOP = sp;return ($4|0);
+}
+function __gcry_set_enforced_fips_mode() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[17698] = 1;
+ return;
+}
+function __gcry_inactivate_fips_mode($text) {
+ $text = $text|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $text;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if (!($2)) {
+ __gcry_assert_failed(23948,23721,295,23967);
+ // unreachable;
+ }
+ $3 = (__gcry_enforced_fips_mode()|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $5 = $0;
+ __gcry_fips_signal_error(23721,300,23967,0,$5);
+ STACKTOP = sp;return;
+ }
+ _lock_fsm();
+ $6 = HEAP32[17699]|0;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ _unlock_fsm();
+ STACKTOP = sp;return;
+ } else {
+ HEAP32[17699] = 1;
+ _unlock_fsm();
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_fips_signal_error($srcfile,$srcline,$srcfunc,$is_fatal,$description) {
+ $srcfile = $srcfile|0;
+ $srcline = $srcline|0;
+ $srcfunc = $srcfunc|0;
+ $is_fatal = $is_fatal|0;
+ $description = $description|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $srcfile;
+ $1 = $srcline;
+ $2 = $srcfunc;
+ $3 = $is_fatal;
+ $4 = $description;
+ $5 = (__gcry_fips_mode()|0);
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ STACKTOP = sp;return;
+ }
+ $7 = $3;
+ $8 = ($7|0)!=(0);
+ $9 = $8 ? 5 : 4;
+ _fips_new_state($9);
+ $10 = $3;
+ $11 = ($10|0)!=(0);
+ $12 = $11 ? 23994 : 76543;
+ $13 = $0;
+ $14 = $1;
+ $15 = $2;
+ $16 = ($15|0)!=(0|0);
+ $17 = $16 ? 24001 : 76543;
+ $18 = $2;
+ $19 = ($18|0)!=(0|0);
+ $20 = $2;
+ $21 = $19 ? $20 : 76543;
+ $22 = $4;
+ $23 = ($22|0)!=(0|0);
+ $24 = $4;
+ $25 = $23 ? $24 : 24013;
+ HEAP32[$vararg_buffer>>2] = $12;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $13;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $14;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $17;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $21;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $25;
+ __gcry_log_info(24038,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_is_fips_mode_inactive() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $flag = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ _lock_fsm();
+ $3 = HEAP32[17699]|0;
+ $flag = $3;
+ _unlock_fsm();
+ $4 = $flag;
+ $0 = $4;
+ } else {
+ $0 = 0;
+ }
+ $5 = $0;
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_fips_is_operational() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if (!($1)) {
+ $result = 1;
+ $7 = $result;
+ STACKTOP = sp;return ($7|0);
+ }
+ _lock_fsm();
+ $2 = HEAP32[17697]|0;
+ $3 = ($2|0)==(1);
+ if ($3) {
+ _unlock_fsm();
+ (__gcry_fips_run_selftests(0)|0);
+ _lock_fsm();
+ }
+ $4 = HEAP32[17697]|0;
+ $5 = ($4|0)==(3);
+ $6 = $5&1;
+ $result = $6;
+ _unlock_fsm();
+ $7 = $result;
+ STACKTOP = sp;return ($7|0);
+}
+function __gcry_fips_run_selftests($extended) {
+ $extended = $extended|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $ec = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $extended;
+ $result = 4;
+ $ec = 50;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ _fips_new_state(2);
+ }
+ $3 = $0;
+ $4 = (_run_cipher_selftests($3)|0);
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = $0;
+ $7 = (_run_digest_selftests($6)|0);
+ $8 = ($7|0)!=(0);
+ if (!($8)) {
+ $9 = $0;
+ $10 = (_run_hmac_selftests($9)|0);
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = (_run_random_selftests()|0);
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ $14 = $0;
+ $15 = (_run_pubkey_selftests($14)|0);
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = (_check_binary_integrity()|0);
+ $18 = ($17|0)!=(0);
+ if (!($18)) {
+ $result = 3;
+ $ec = 0;
+ }
+ }
+ }
+ }
+ }
+ }
+ $19 = (__gcry_fips_mode()|0);
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ $22 = $ec;
+ STACKTOP = sp;return ($22|0);
+ }
+ $21 = $result;
+ _fips_new_state($21);
+ $22 = $ec;
+ STACKTOP = sp;return ($22|0);
+}
+function _run_cipher_selftests($extended) {
+ $extended = $extended|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $anyerr = 0, $err = 0, $idx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $extended;
+ $anyerr = 0;
+ $idx = 0;
+ while(1) {
+ $1 = $idx;
+ $2 = (1316 + ($1<<2)|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $idx;
+ $6 = (1316 + ($5<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = (__gcry_cipher_selftest($7,$8,56)|0);
+ $err = $9;
+ $10 = $idx;
+ $11 = (1316 + ($10<<2)|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = $err;
+ $16 = (_gpg_strerror($15)|0);
+ $17 = $16;
+ } else {
+ $17 = 0;
+ }
+ _reporter(38657,$12,0,$17);
+ $18 = $err;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $anyerr = 1;
+ }
+ $20 = $idx;
+ $21 = (($20) + 1)|0;
+ $idx = $21;
+ }
+ $22 = $anyerr;
+ STACKTOP = sp;return ($22|0);
+}
+function _reporter($domain,$algo,$what,$errtxt) {
+ $domain = $domain|0;
+ $algo = $algo|0;
+ $what = $what|0;
+ $errtxt = $errtxt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $domain;
+ $1 = $algo;
+ $2 = $what;
+ $3 = $errtxt;
+ $4 = $3;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $6 = (__gcry_log_verbosity(2)|0);
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ STACKTOP = sp;return;
+ }
+ }
+ $8 = $0;
+ $9 = (_strcmp($8,36342)|0);
+ $10 = ($9|0)!=(0);
+ $11 = $0;
+ $12 = $10 ? $11 : 43192;
+ $13 = $0;
+ $14 = (_strcmp($13,36342)|0);
+ $15 = ($14|0)!=(0);
+ $16 = $15 ^ 1;
+ $17 = $16 ? 24086 : 76543;
+ $18 = $0;
+ $19 = (_strcmp($18,38657)|0);
+ $20 = ($19|0)!=(0);
+ do {
+ if ($20) {
+ $23 = $0;
+ $24 = (_strcmp($23,43192)|0);
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ $26 = $1;
+ $27 = (__gcry_md_algo_name($26)|0);
+ $53 = $27;
+ break;
+ }
+ $28 = $0;
+ $29 = (_strcmp($28,36342)|0);
+ $30 = ($29|0)!=(0);
+ if (!($30)) {
+ $31 = $1;
+ $32 = (__gcry_md_algo_name($31)|0);
+ $53 = $32;
+ break;
+ }
+ $33 = $0;
+ $34 = (_strcmp($33,49859)|0);
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ $53 = 76543;
+ } else {
+ $36 = $1;
+ $37 = (__gcry_pk_algo_name($36)|0);
+ $53 = $37;
+ }
+ } else {
+ $21 = $1;
+ $22 = (__gcry_cipher_algo_name($21)|0);
+ $53 = $22;
+ }
+ } while(0);
+ $38 = $1;
+ $39 = $3;
+ $40 = ($39|0)!=(0|0);
+ $41 = $3;
+ $42 = $40 ? $41 : 24092;
+ $43 = $2;
+ $44 = ($43|0)!=(0|0);
+ $45 = $44 ? 24097 : 76543;
+ $46 = $2;
+ $47 = ($46|0)!=(0|0);
+ $48 = $2;
+ $49 = $47 ? $48 : 76543;
+ $50 = $2;
+ $51 = ($50|0)!=(0|0);
+ $52 = $51 ? 49913 : 76543;
+ HEAP32[$vararg_buffer>>2] = $12;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $17;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $53;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $38;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $42;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $45;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $49;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $52;
+ __gcry_log_info(24100,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function _run_digest_selftests($extended) {
+ $extended = $extended|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $anyerr = 0, $err = 0, $idx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $extended;
+ $anyerr = 0;
+ $idx = 0;
+ while(1) {
+ $1 = $idx;
+ $2 = (1336 + ($1<<2)|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $idx;
+ $6 = (1336 + ($5<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = (__gcry_md_selftest($7,$8,56)|0);
+ $err = $9;
+ $10 = $idx;
+ $11 = (1336 + ($10<<2)|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = $err;
+ $16 = (_gpg_strerror($15)|0);
+ $17 = $16;
+ } else {
+ $17 = 0;
+ }
+ _reporter(43192,$12,0,$17);
+ $18 = $err;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $anyerr = 1;
+ }
+ $20 = $idx;
+ $21 = (($20) + 1)|0;
+ $idx = $21;
+ }
+ $22 = $anyerr;
+ STACKTOP = sp;return ($22|0);
+}
+function _run_hmac_selftests($extended) {
+ $extended = $extended|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $anyerr = 0, $err = 0, $idx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $extended;
+ $anyerr = 0;
+ $idx = 0;
+ while(1) {
+ $1 = $idx;
+ $2 = (1360 + ($1<<2)|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $idx;
+ $6 = (1360 + ($5<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = (__gcry_hmac_selftest($7,$8,56)|0);
+ $err = $9;
+ $10 = $idx;
+ $11 = (1360 + ($10<<2)|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = $err;
+ $16 = (_gpg_strerror($15)|0);
+ $17 = $16;
+ } else {
+ $17 = 0;
+ }
+ _reporter(36342,$12,0,$17);
+ $18 = $err;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $anyerr = 1;
+ }
+ $20 = $idx;
+ $21 = (($20) + 1)|0;
+ $idx = $21;
+ }
+ $22 = $anyerr;
+ STACKTOP = sp;return ($22|0);
+}
+function _run_random_selftests() {
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = (__gcry_random_selftest(56)|0);
+ $err = $0;
+ $1 = $err;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $err;
+ $4 = (_gpg_strerror($3)|0);
+ $5 = $4;
+ } else {
+ $5 = 0;
+ }
+ _reporter(52623,0,0,$5);
+ $6 = $err;
+ $7 = ($6|0)!=(0);
+ $8 = $7 ^ 1;
+ $9 = $8 ^ 1;
+ $10 = $9&1;
+ STACKTOP = sp;return ($10|0);
+}
+function _run_pubkey_selftests($extended) {
+ $extended = $extended|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $anyerr = 0, $err = 0, $idx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $extended;
+ $anyerr = 0;
+ $idx = 0;
+ while(1) {
+ $1 = $idx;
+ $2 = (1384 + ($1<<2)|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $idx;
+ $6 = (1384 + ($5<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = (__gcry_pk_selftest($7,$8,56)|0);
+ $err = $9;
+ $10 = $idx;
+ $11 = (1384 + ($10<<2)|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = $err;
+ $16 = (_gpg_strerror($15)|0);
+ $17 = $16;
+ } else {
+ $17 = 0;
+ }
+ _reporter(49859,$12,0,$17);
+ $18 = $err;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $anyerr = 1;
+ }
+ $20 = $idx;
+ $21 = (($20) + 1)|0;
+ $idx = $21;
+ }
+ $22 = $anyerr;
+ STACKTOP = sp;return ($22|0);
+}
+function _check_binary_integrity() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_fips_test_operational() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ _lock_fsm();
+ $2 = HEAP32[17697]|0;
+ $3 = ($2|0)==(3);
+ $4 = $3&1;
+ $result = $4;
+ _unlock_fsm();
+ } else {
+ $result = 1;
+ }
+ $5 = $result;
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_fips_test_error_or_operational() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ _lock_fsm();
+ $2 = HEAP32[17697]|0;
+ $3 = ($2|0)==(3);
+ $4 = HEAP32[17697]|0;
+ $5 = ($4|0)==(4);
+ $6 = $3 ? 1 : $5;
+ $7 = $6&1;
+ $result = $7;
+ _unlock_fsm();
+ $8 = $result;
+ STACKTOP = sp;return ($8|0);
+ } else {
+ $result = 1;
+ $8 = $result;
+ STACKTOP = sp;return ($8|0);
+ }
+ return (0)|0;
+}
+function __gcry_ctx_alloc($type,$length,$deinit) {
+ $type = $type|0;
+ $length = $length|0;
+ $deinit = $deinit|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $cond = 0, $ctx = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $type;
+ $2 = $length;
+ $3 = $deinit;
+ $4 = $1;
+ $cond = ($4|0)==(1);
+ if (!($cond)) {
+ $5 = $1;
+ HEAP32[$vararg_buffer>>2] = $5;
+ __gcry_log_bug(24144,$vararg_buffer);
+ // unreachable;
+ }
+ $6 = $2;
+ $7 = ($6>>>0)<(8);
+ if ($7) {
+ $2 = 8;
+ }
+ $8 = $2;
+ $9 = (8 + ($8))|0;
+ $10 = (__gcry_calloc(1,$9)|0);
+ $ctx = $10;
+ $11 = $ctx;
+ $12 = ($11|0)!=(0|0);
+ if ($12) {
+ $13 = $ctx;
+ ;HEAP8[$13>>0]=HEAP8[24190>>0]|0;HEAP8[$13+1>>0]=HEAP8[24190+1>>0]|0;HEAP8[$13+2>>0]=HEAP8[24190+2>>0]|0;
+ $14 = $1;
+ $15 = $14&255;
+ $16 = $ctx;
+ $17 = ((($16)) + 3|0);
+ HEAP8[$17>>0] = $15;
+ $18 = $3;
+ $19 = $ctx;
+ $20 = ((($19)) + 4|0);
+ HEAP32[$20>>2] = $18;
+ $21 = $ctx;
+ $0 = $21;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ } else {
+ $0 = 0;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ return (0)|0;
+}
+function __gcry_ctx_get_pointer($ctx,$type) {
+ $ctx = $ctx|0;
+ $type = $type|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $ctx;
+ $1 = $type;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ $7 = $0;
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(24194,$vararg_buffer);
+ // unreachable;
+ }
+ $4 = $0;
+ $5 = (_memcmp($4,24190,3)|0);
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $0;
+ HEAP32[$vararg_buffer>>2] = $7;
+ __gcry_log_fatal(24194,$vararg_buffer);
+ // unreachable;
+ }
+ $8 = $0;
+ $9 = ((($8)) + 3|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 << 24 >> 24;
+ $12 = $1;
+ $13 = ($11|0)!=($12|0);
+ if ($13) {
+ $14 = $1;
+ $15 = $0;
+ $16 = $0;
+ $17 = ((($16)) + 3|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = $18 << 24 >> 24;
+ HEAP32[$vararg_buffer1>>2] = $14;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = $15;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr5>>2] = $19;
+ __gcry_log_fatal(24242,$vararg_buffer1);
+ // unreachable;
+ } else {
+ $20 = $0;
+ $21 = ((($20)) + 8|0);
+ STACKTOP = sp;return ($21|0);
+ }
+ return (0)|0;
+}
+function __gcry_ctx_release($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = (_memcmp($3,24190,3)|0);
+ $5 = ($4|0)!=(0);
+ $6 = $0;
+ if ($5) {
+ HEAP32[$vararg_buffer>>2] = $6;
+ __gcry_log_fatal(24299,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = ((($6)) + 3|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8 << 24 >> 24;
+ $cond = ($9|0)==(1);
+ $10 = $0;
+ if (!($cond)) {
+ $11 = ((($10)) + 3|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12 << 24 >> 24;
+ HEAP32[$vararg_buffer1>>2] = $13;
+ __gcry_log_fatal(24341,$vararg_buffer1);
+ // unreachable;
+ }
+ $14 = ((($10)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $0;
+ $18 = ((($17)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $0;
+ $21 = ((($20)) + 8|0);
+ FUNCTION_TABLE_vi[$19 & 127]($21);
+ }
+ $22 = $0;
+ __gcry_free($22);
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_algo_name($algorithm) {
+ $algorithm = $algorithm|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algorithm;
+ $1 = $0;
+ $2 = (_spec_from_algo($1)|0);
+ $spec = $2;
+ $3 = $spec;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $8 = 37956;
+ STACKTOP = sp;return ($8|0);
+ }
+ $5 = $spec;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7;
+ STACKTOP = sp;return ($8|0);
+}
+function _spec_from_algo($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algo;
+ $2 = $1;
+ $3 = (_map_algo($2)|0);
+ $1 = $3;
+ $idx = 0;
+ while(1) {
+ $4 = $idx;
+ $5 = (1396 + ($4<<2)|0);
+ $6 = HEAP32[$5>>2]|0;
+ $spec = $6;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ label = 6;
+ break;
+ }
+ $8 = $1;
+ $9 = $spec;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($8|0)==($10|0);
+ if ($11) {
+ label = 4;
+ break;
+ }
+ $13 = $idx;
+ $14 = (($13) + 1)|0;
+ $idx = $14;
+ }
+ if ((label|0) == 4) {
+ $12 = $spec;
+ $0 = $12;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ else if ((label|0) == 6) {
+ $0 = 0;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ return (0)|0;
+}
+function _map_algo($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $0;
+ STACKTOP = sp;return ($1|0);
+}
+function __gcry_cipher_open($handle,$algo,$mode,$flags) {
+ $handle = $handle|0;
+ $algo = $algo|0;
+ $mode = $mode|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $h = sp;
+ $0 = $handle;
+ $1 = $algo;
+ $2 = $mode;
+ $3 = $flags;
+ HEAP32[$h>>2] = 0;
+ $4 = $2;
+ $5 = ($4|0)>=(65536);
+ if ($5) {
+ $rc = 71;
+ } else {
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = (__gcry_cipher_open_internal($h,$6,$7,$8)|0);
+ $rc = $9;
+ }
+ $10 = $rc;
+ $11 = ($10|0)!=(0);
+ $12 = HEAP32[$h>>2]|0;
+ $13 = $11 ? 0 : $12;
+ $14 = $0;
+ HEAP32[$14>>2] = $13;
+ $15 = $rc;
+ STACKTOP = sp;return ($15|0);
+}
+function __gcry_cipher_open_internal($handle,$algo,$mode,$flags) {
+ $handle = $handle|0;
+ $algo = $algo|0;
+ $mode = $mode|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $cond = 0, $err = 0, $h = 0, $off = 0, $secure = 0, $size = 0, $spec = 0, $switch$split102D = 0, $switch$split2D = 0, $switch$split42D = 0, $switch$split72D = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $handle;
+ $1 = $algo;
+ $2 = $mode;
+ $3 = $flags;
+ $4 = $3;
+ $5 = $4 & 1;
+ $secure = $5;
+ $h = 0;
+ __gcry_fast_random_poll();
+ $6 = $1;
+ $7 = (_spec_from_algo($6)|0);
+ $spec = $7;
+ $8 = $spec;
+ $9 = ($8|0)!=(0|0);
+ do {
+ if ($9) {
+ $10 = $spec;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12 & 1;
+ $14 = $13&255;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $err = 12;
+ break;
+ } else {
+ $err = 0;
+ break;
+ }
+ } else {
+ $err = 12;
+ }
+ } while(0);
+ $16 = $err;
+ $17 = ($16|0)!=(0);
+ do {
+ if (!($17)) {
+ $18 = $3;
+ $19 = $18 & -16;
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ $21 = $3;
+ $22 = $21 & 4;
+ $23 = $22 & 8;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ break;
+ }
+ }
+ $err = 12;
+ }
+ } while(0);
+ $25 = $err;
+ $26 = ($25|0)!=(0);
+ L14: do {
+ if (!($26)) {
+ $27 = $2;
+ $switch$split2D = ($27|0)<(6);
+ L16: do {
+ if ($switch$split2D) {
+ switch ($27|0) {
+ case 5: case 2: case 3: case 1: {
+ break L16;
+ break;
+ }
+ case 4: {
+ $75 = $spec;
+ $76 = ((($75)) + 44|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ($77|0)!=(0|0);
+ if ($78) {
+ $79 = $spec;
+ $80 = ((($79)) + 48|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ($81|0)!=(0|0);
+ if ($82) {
+ break L14;
+ }
+ }
+ $err = 71;
+ break L14;
+ break;
+ }
+ case 0: {
+ $83 = (__gcry_fips_mode()|0);
+ $84 = ($83|0)!=(0);
+ if (!($84)) {
+ $85 = (__gcry_get_debug_flag(0)|0);
+ $86 = ($85|0)!=(0);
+ if ($86) {
+ break L14;
+ }
+ }
+ $err = 71;
+ break L14;
+ break;
+ }
+ default: {
+ label = 37;
+ break L16;
+ }
+ }
+ } else {
+ $switch$split42D = ($27|0)<(9);
+ if ($switch$split42D) {
+ switch ($27|0) {
+ case 7: case 6: {
+ break L16;
+ break;
+ }
+ case 8: {
+ break;
+ }
+ default: {
+ label = 37;
+ break L16;
+ }
+ }
+ $28 = $spec;
+ $29 = ((($28)) + 20|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ($30|0)!=(16);
+ if ($31) {
+ $err = 71;
+ }
+ $32 = $spec;
+ $33 = ((($32)) + 36|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $36 = $spec;
+ $37 = ((($36)) + 40|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ break L14;
+ }
+ }
+ $err = 71;
+ break L14;
+ }
+ $switch$split72D = ($27|0)<(11);
+ if ($switch$split72D) {
+ switch ($27|0) {
+ case 9: {
+ break L16;
+ break;
+ }
+ case 10: {
+ break;
+ }
+ default: {
+ label = 37;
+ break L16;
+ }
+ }
+ $48 = $spec;
+ $49 = ((($48)) + 44|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50|0)!=(0|0);
+ if ($51) {
+ $52 = $spec;
+ $53 = ((($52)) + 48|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = ($54|0)!=(0|0);
+ if ($55) {
+ $56 = $spec;
+ $57 = ((($56)) + 60|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ($58|0)!=(0|0);
+ if ($59) {
+ $60 = $spec;
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ($61|0)!=(316);
+ if (!($62)) {
+ break L14;
+ }
+ $err = 71;
+ break L14;
+ }
+ }
+ }
+ $err = 71;
+ break L14;
+ }
+ $switch$split102D = ($27|0)<(65537);
+ if (!($switch$split102D)) {
+ switch ($27|0) {
+ case 65537: {
+ break L16;
+ break;
+ }
+ default: {
+ label = 37;
+ break L16;
+ }
+ }
+ }
+ switch ($27|0) {
+ case 11: {
+ break;
+ }
+ default: {
+ label = 37;
+ break L16;
+ }
+ }
+ $63 = $spec;
+ $64 = ((($63)) + 36|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ($65|0)!=(0|0);
+ if ($66) {
+ $67 = $spec;
+ $68 = ((($67)) + 40|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = ($69|0)!=(0|0);
+ if ($70) {
+ $71 = $spec;
+ $72 = ((($71)) + 20|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ($73|0)!=(16);
+ if (!($74)) {
+ break L14;
+ }
+ $err = 71;
+ break L14;
+ }
+ }
+ $err = 71;
+ break L14;
+ }
+ } while(0);
+ if ((label|0) == 37) {
+ $err = 71;
+ break;
+ }
+ $40 = $spec;
+ $41 = ((($40)) + 36|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ($42|0)!=(0|0);
+ if ($43) {
+ $44 = $spec;
+ $45 = ((($44)) + 40|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = ($46|0)!=(0|0);
+ if ($47) {
+ break;
+ }
+ }
+ $err = 71;
+ }
+ } while(0);
+ $87 = $err;
+ $88 = ($87|0)!=(0);
+ if ($88) {
+ $173 = $err;
+ $174 = ($173|0)!=(0);
+ $175 = $h;
+ $176 = $174 ? 0 : $175;
+ $177 = $0;
+ HEAP32[$177>>2] = $176;
+ $178 = $err;
+ $179 = (_gcry_error_675($178)|0);
+ STACKTOP = sp;return ($179|0);
+ }
+ $89 = $spec;
+ $90 = ((($89)) + 28|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = $91<<1;
+ $93 = (512 + ($92))|0;
+ $94 = (($93) - 16)|0;
+ $95 = (($94) + 15)|0;
+ $size = $95;
+ $96 = $secure;
+ $97 = ($96|0)!=(0);
+ $98 = $size;
+ if ($97) {
+ $99 = (__gcry_calloc_secure(1,$98)|0);
+ $h = $99;
+ } else {
+ $100 = (__gcry_calloc(1,$98)|0);
+ $h = $100;
+ }
+ $101 = $h;
+ $102 = ($101|0)!=(0|0);
+ if (!($102)) {
+ $103 = (_gpg_err_code_from_syserror()|0);
+ $err = $103;
+ $173 = $err;
+ $174 = ($173|0)!=(0);
+ $175 = $h;
+ $176 = $174 ? 0 : $175;
+ $177 = $0;
+ HEAP32[$177>>2] = $176;
+ $178 = $err;
+ $179 = (_gcry_error_675($178)|0);
+ STACKTOP = sp;return ($179|0);
+ }
+ $off = 0;
+ $104 = $h;
+ $105 = $104;
+ $106 = $105 & 15;
+ $107 = ($106|0)!=(0);
+ if ($107) {
+ $108 = $h;
+ $109 = $108;
+ $110 = $109 & 15;
+ $111 = (16 - ($110))|0;
+ $off = $111;
+ $112 = $h;
+ $113 = $off;
+ $114 = (($112) + ($113)|0);
+ $h = $114;
+ }
+ $115 = $secure;
+ $116 = ($115|0)!=(0);
+ $117 = $116 ? 1183944770 : 604576100;
+ $118 = $h;
+ HEAP32[$118>>2] = $117;
+ $119 = $size;
+ $120 = $off;
+ $121 = (($119) - ($120))|0;
+ $122 = $h;
+ $123 = ((($122)) + 4|0);
+ HEAP32[$123>>2] = $121;
+ $124 = $off;
+ $125 = $h;
+ $126 = ((($125)) + 8|0);
+ HEAP32[$126>>2] = $124;
+ $127 = $spec;
+ $128 = $h;
+ $129 = ((($128)) + 12|0);
+ HEAP32[$129>>2] = $127;
+ $130 = $1;
+ $131 = $h;
+ $132 = ((($131)) + 16|0);
+ HEAP32[$132>>2] = $130;
+ $133 = $2;
+ $134 = $h;
+ $135 = ((($134)) + 48|0);
+ HEAP32[$135>>2] = $133;
+ $136 = $3;
+ $137 = $h;
+ $138 = ((($137)) + 52|0);
+ HEAP32[$138>>2] = $136;
+ $139 = $1;
+ switch ($139|0) {
+ case 9: case 8: case 7: {
+ $140 = $h;
+ $141 = ((($140)) + 20|0);
+ HEAP32[$141>>2] = 57;
+ $142 = $h;
+ $143 = ((($142)) + 20|0);
+ $144 = ((($143)) + 4|0);
+ HEAP32[$144>>2] = 58;
+ $145 = $h;
+ $146 = ((($145)) + 20|0);
+ $147 = ((($146)) + 8|0);
+ HEAP32[$147>>2] = 59;
+ $148 = $h;
+ $149 = ((($148)) + 20|0);
+ $150 = ((($149)) + 12|0);
+ HEAP32[$150>>2] = 60;
+ $151 = $h;
+ $152 = ((($151)) + 20|0);
+ $153 = ((($152)) + 16|0);
+ HEAP32[$153>>2] = 61;
+ $154 = $h;
+ $155 = ((($154)) + 20|0);
+ $156 = ((($155)) + 20|0);
+ HEAP32[$156>>2] = 62;
+ $157 = $h;
+ $158 = ((($157)) + 20|0);
+ $159 = ((($158)) + 24|0);
+ HEAP32[$159>>2] = 63;
+ break;
+ }
+ case 303: case 10: {
+ $160 = $h;
+ $161 = ((($160)) + 20|0);
+ $162 = ((($161)) + 12|0);
+ HEAP32[$162>>2] = 64;
+ $163 = $h;
+ $164 = ((($163)) + 20|0);
+ $165 = ((($164)) + 4|0);
+ HEAP32[$165>>2] = 65;
+ $166 = $h;
+ $167 = ((($166)) + 20|0);
+ $168 = ((($167)) + 16|0);
+ HEAP32[$168>>2] = 66;
+ break;
+ }
+ default: {
+ }
+ }
+ $169 = $2;
+ $cond = ($169|0)==(11);
+ if (!($cond)) {
+ $173 = $err;
+ $174 = ($173|0)!=(0);
+ $175 = $h;
+ $176 = $174 ? 0 : $175;
+ $177 = $0;
+ HEAP32[$177>>2] = $176;
+ $178 = $err;
+ $179 = (_gcry_error_675($178)|0);
+ STACKTOP = sp;return ($179|0);
+ }
+ $170 = $h;
+ $171 = ((($170)) + 128|0);
+ $172 = ((($171)) + 352|0);
+ HEAP8[$172>>0] = 16;
+ $173 = $err;
+ $174 = ($173|0)!=(0);
+ $175 = $h;
+ $176 = $174 ? 0 : $175;
+ $177 = $0;
+ HEAP32[$177>>2] = $176;
+ $178 = $err;
+ $179 = (_gcry_error_675($178)|0);
+ STACKTOP = sp;return ($179|0);
+}
+function _gcry_error_675($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gcry_err_make_676(32,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_err_make_676($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $0;
+ $3 = $1;
+ $4 = (_gpg_err_make_677($2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _gpg_err_make_677($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_cipher_close($h) {
+ $h = $h|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0;
+ var $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $off = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp;
+ $0 = $h;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)!=(1183944770);
+ if ($5) {
+ $6 = $0;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(604576100);
+ if ($8) {
+ __gcry_fatal_error(63,24390);
+ // unreachable;
+ }
+ }
+ $9 = $0;
+ HEAP32[$9>>2] = 0;
+ $10 = $0;
+ $11 = ((($10)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $off = $12;
+ $13 = $0;
+ $_vptr = $13;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $_vlen = $16;
+ $_vset = 0;
+ $17 = $_vset;
+ $18 = $17&255;
+ $19 = $_vset_long;
+ $20 = $19;
+ HEAP32[$20>>2] = $18;
+ $21 = (($19) + 4)|0;
+ $22 = $21;
+ HEAP32[$22>>2] = 0;
+ while(1) {
+ $23 = $_vptr;
+ $24 = $23;
+ $25 = $24 & 7;
+ $26 = ($25|0)!=(0);
+ $27 = $_vlen;
+ $28 = ($27|0)!=(0);
+ $29 = $26 ? $28 : 0;
+ if (!($29)) {
+ break;
+ }
+ $30 = $_vset;
+ $31 = $_vptr;
+ HEAP8[$31>>0] = $30;
+ $32 = $_vptr;
+ $33 = ((($32)) + 1|0);
+ $_vptr = $33;
+ $34 = $_vlen;
+ $35 = (($34) + -1)|0;
+ $_vlen = $35;
+ }
+ $36 = $_vlen;
+ $37 = ($36>>>0)<(8);
+ if (!($37)) {
+ $38 = $_vset_long;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (($38) + 4)|0;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (___muldi3(($40|0),($43|0),16843009,16843009)|0);
+ $45 = tempRet0;
+ $46 = $_vset_long;
+ $47 = $46;
+ HEAP32[$47>>2] = $44;
+ $48 = (($46) + 4)|0;
+ $49 = $48;
+ HEAP32[$49>>2] = $45;
+ while(1) {
+ $50 = $_vptr;
+ $_vptr_long = $50;
+ $51 = $_vset_long;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($51) + 4)|0;
+ $55 = $54;
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $_vptr_long;
+ $58 = $57;
+ $59 = $58;
+ HEAP32[$59>>2] = $53;
+ $60 = (($58) + 4)|0;
+ $61 = $60;
+ HEAP32[$61>>2] = $56;
+ $62 = $_vlen;
+ $63 = (($62) - 8)|0;
+ $_vlen = $63;
+ $64 = $_vptr;
+ $65 = ((($64)) + 8|0);
+ $_vptr = $65;
+ $66 = $_vlen;
+ $67 = ($66>>>0)>=(8);
+ if (!($67)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $68 = $_vlen;
+ $69 = ($68|0)!=(0);
+ if (!($69)) {
+ break;
+ }
+ $70 = $_vset;
+ $71 = $_vptr;
+ HEAP8[$71>>0] = $70;
+ $72 = $_vptr;
+ $73 = ((($72)) + 1|0);
+ $_vptr = $73;
+ $74 = $_vlen;
+ $75 = (($74) + -1)|0;
+ $_vlen = $75;
+ }
+ $76 = $0;
+ $77 = $off;
+ $78 = (0 - ($77))|0;
+ $79 = (($76) + ($78)|0);
+ __gcry_free($79);
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_encrypt($h,$out,$outsize,$in,$inlen) {
+ $h = $h|0;
+ $out = $out|0;
+ $outsize = $outsize|0;
+ $in = $in|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $or$cond = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $h;
+ $1 = $out;
+ $2 = $outsize;
+ $3 = $in;
+ $4 = $inlen;
+ $5 = $3;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $7 = $1;
+ $3 = $7;
+ $8 = $2;
+ $4 = $8;
+ }
+ $9 = $0;
+ $10 = $1;
+ $11 = $2;
+ $12 = $3;
+ $13 = $4;
+ $14 = (_cipher_encrypt($9,$10,$11,$12,$13)|0);
+ $rc = $14;
+ $15 = $rc;
+ $16 = ($15|0)!=(0);
+ $17 = $1;
+ $18 = ($17|0)!=(0|0);
+ $or$cond = $16 & $18;
+ if (!($or$cond)) {
+ $21 = $rc;
+ STACKTOP = sp;return ($21|0);
+ }
+ $19 = $1;
+ $20 = $2;
+ _memset(($19|0),66,($20|0))|0;
+ $21 = $rc;
+ STACKTOP = sp;return ($21|0);
+}
+function _cipher_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $rc = 0, $switch$split112D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $c;
+ $1 = $outbuf;
+ $2 = $outbuflen;
+ $3 = $inbuf;
+ $4 = $inbuflen;
+ $5 = $0;
+ $6 = ((($5)) + 48|0);
+ $7 = HEAP32[$6>>2]|0;
+ $switch$split2D = ($7|0)<(6);
+ L1: do {
+ if ($switch$split2D) {
+ switch ($7|0) {
+ case 1: {
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ $11 = $3;
+ $12 = $4;
+ $13 = (_do_ecb_encrypt($8,$9,$10,$11,$12)|0);
+ $rc = $13;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 3: {
+ $14 = $0;
+ $15 = $1;
+ $16 = $2;
+ $17 = $3;
+ $18 = $4;
+ $19 = (__gcry_cipher_cbc_encrypt($14,$15,$16,$17,$18)|0);
+ $rc = $19;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 2: {
+ $20 = $0;
+ $21 = $1;
+ $22 = $2;
+ $23 = $3;
+ $24 = $4;
+ $25 = (__gcry_cipher_cfb_encrypt($20,$21,$22,$23,$24)|0);
+ $rc = $25;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 5: {
+ $26 = $0;
+ $27 = $1;
+ $28 = $2;
+ $29 = $3;
+ $30 = $4;
+ $31 = (__gcry_cipher_ofb_encrypt($26,$27,$28,$29,$30)|0);
+ $rc = $31;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 4: {
+ $68 = $0;
+ $69 = ((($68)) + 12|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ((($70)) + 44|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $0;
+ $74 = ((($73)) + 496|0);
+ $75 = $1;
+ $76 = $3;
+ $77 = $4;
+ FUNCTION_TABLE_viiii[$72 & 63]($74,$75,$76,$77);
+ $rc = 0;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 0: {
+ $78 = (__gcry_fips_mode()|0);
+ $79 = ($78|0)!=(0);
+ if (!($79)) {
+ $80 = (__gcry_get_debug_flag(0)|0);
+ $81 = ($80|0)!=(0);
+ if ($81) {
+ $82 = $3;
+ $83 = $1;
+ $84 = ($82|0)!=($83|0);
+ if ($84) {
+ $85 = $1;
+ $86 = $3;
+ $87 = $4;
+ _memmove(($85|0),($86|0),($87|0))|0;
+ }
+ $rc = 0;
+ label = 21;
+ break L1;
+ }
+ }
+ __gcry_fips_signal_error(24439,875,24448,0,24463);
+ $rc = 71;
+ label = 21;
+ break L1;
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ } else {
+ $switch$split52D = ($7|0)<(9);
+ if ($switch$split52D) {
+ switch ($7|0) {
+ case 6: {
+ $32 = $0;
+ $33 = $1;
+ $34 = $2;
+ $35 = $3;
+ $36 = $4;
+ $37 = (__gcry_cipher_ctr_encrypt($32,$33,$34,$35,$36)|0);
+ $rc = $37;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 7: {
+ $38 = $0;
+ $39 = $1;
+ $40 = $2;
+ $41 = $3;
+ $42 = $4;
+ $43 = (__gcry_cipher_aeswrap_encrypt($38,$39,$40,$41,$42)|0);
+ $rc = $43;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 8: {
+ $44 = $0;
+ $45 = $1;
+ $46 = $2;
+ $47 = $3;
+ $48 = $4;
+ $49 = (__gcry_cipher_ccm_encrypt($44,$45,$46,$47,$48)|0);
+ $rc = $49;
+ label = 21;
+ break L1;
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ }
+ $switch$split82D = ($7|0)<(11);
+ if ($switch$split82D) {
+ switch ($7|0) {
+ case 9: {
+ $50 = $0;
+ $51 = $1;
+ $52 = $2;
+ $53 = $3;
+ $54 = $4;
+ $55 = (__gcry_cipher_gcm_encrypt($50,$51,$52,$53,$54)|0);
+ $rc = $55;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 10: {
+ $56 = $0;
+ $57 = $1;
+ $58 = $2;
+ $59 = $3;
+ $60 = $4;
+ $61 = (__gcry_cipher_poly1305_encrypt($56,$57,$58,$59,$60)|0);
+ $rc = $61;
+ label = 21;
+ break L1;
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ }
+ $switch$split112D = ($7|0)<(65537);
+ if ($switch$split112D) {
+ switch ($7|0) {
+ case 11: {
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ $62 = $0;
+ $63 = $1;
+ $64 = $2;
+ $65 = $3;
+ $66 = $4;
+ $67 = (__gcry_cipher_ocb_encrypt($62,$63,$64,$65,$66)|0);
+ $rc = $67;
+ label = 21;
+ break;
+ } else {
+ switch ($7|0) {
+ case 65537: {
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ $rc = 71;
+ label = 21;
+ break;
+ }
+ }
+ } while(0);
+ if ((label|0) == 20) {
+ $88 = $0;
+ $89 = ((($88)) + 48|0);
+ $90 = HEAP32[$89>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $90;
+ __gcry_log_fatal(24485,$vararg_buffer);
+ // unreachable;
+ }
+ else if ((label|0) == 21) {
+ $91 = $rc;
+ STACKTOP = sp;return ($91|0);
+ }
+ return (0)|0;
+}
+function _do_ecb_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $outbuf;
+ $2 = $outbuflen;
+ $3 = $inbuf;
+ $4 = $inbuflen;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = $0;
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($12)) + 36|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (_do_ecb_crypt($5,$6,$7,$8,$9,$14)|0);
+ STACKTOP = sp;return ($15|0);
+}
+function _do_ecb_crypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen,$crypt_fn) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ $crypt_fn = $crypt_fn|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $blocksize = 0, $burn = 0, $n = 0, $nblocks = 0, $nburn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $crypt_fn;
+ $7 = $1;
+ $8 = ((($7)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($9)) + 20|0);
+ $11 = HEAP32[$10>>2]|0;
+ $blocksize = $11;
+ $12 = $3;
+ $13 = $5;
+ $14 = ($12>>>0)<($13>>>0);
+ if ($14) {
+ $0 = 200;
+ $49 = $0;
+ STACKTOP = sp;return ($49|0);
+ }
+ $15 = $5;
+ $16 = $blocksize;
+ $17 = (($15>>>0) % ($16>>>0))&-1;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $0 = 139;
+ $49 = $0;
+ STACKTOP = sp;return ($49|0);
+ }
+ $19 = $5;
+ $20 = $blocksize;
+ $21 = (($19>>>0) / ($20>>>0))&-1;
+ $nblocks = $21;
+ $burn = 0;
+ $n = 0;
+ while(1) {
+ $22 = $n;
+ $23 = $nblocks;
+ $24 = ($22>>>0)<($23>>>0);
+ if (!($24)) {
+ break;
+ }
+ $25 = $6;
+ $26 = $1;
+ $27 = ((($26)) + 496|0);
+ $28 = $2;
+ $29 = $4;
+ $30 = (FUNCTION_TABLE_iiii[$25 & 127]($27,$28,$29)|0);
+ $nburn = $30;
+ $31 = $nburn;
+ $32 = $burn;
+ $33 = ($31>>>0)>($32>>>0);
+ $34 = $nburn;
+ $35 = $burn;
+ $36 = $33 ? $34 : $35;
+ $burn = $36;
+ $37 = $blocksize;
+ $38 = $4;
+ $39 = (($38) + ($37)|0);
+ $4 = $39;
+ $40 = $blocksize;
+ $41 = $2;
+ $42 = (($41) + ($40)|0);
+ $2 = $42;
+ $43 = $n;
+ $44 = (($43) + 1)|0;
+ $n = $44;
+ }
+ $45 = $burn;
+ $46 = ($45>>>0)>(0);
+ if ($46) {
+ $47 = $burn;
+ $48 = (($47) + 16)|0;
+ ___gcry_burn_stack($48);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $49 = $0;
+ STACKTOP = sp;return ($49|0);
+}
+function __gcry_cipher_decrypt($h,$out,$outsize,$in,$inlen) {
+ $h = $h|0;
+ $out = $out|0;
+ $outsize = $outsize|0;
+ $in = $in|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $h;
+ $1 = $out;
+ $2 = $outsize;
+ $3 = $in;
+ $4 = $inlen;
+ $5 = $3;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $7 = $1;
+ $3 = $7;
+ $8 = $2;
+ $4 = $8;
+ }
+ $9 = $0;
+ $10 = $1;
+ $11 = $2;
+ $12 = $3;
+ $13 = $4;
+ $14 = (_cipher_decrypt($9,$10,$11,$12,$13)|0);
+ STACKTOP = sp;return ($14|0);
+}
+function _cipher_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $rc = 0, $switch$split112D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $c;
+ $1 = $outbuf;
+ $2 = $outbuflen;
+ $3 = $inbuf;
+ $4 = $inbuflen;
+ $5 = $0;
+ $6 = ((($5)) + 48|0);
+ $7 = HEAP32[$6>>2]|0;
+ $switch$split2D = ($7|0)<(6);
+ L1: do {
+ if ($switch$split2D) {
+ switch ($7|0) {
+ case 1: {
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ $11 = $3;
+ $12 = $4;
+ $13 = (_do_ecb_decrypt($8,$9,$10,$11,$12)|0);
+ $rc = $13;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 3: {
+ $14 = $0;
+ $15 = $1;
+ $16 = $2;
+ $17 = $3;
+ $18 = $4;
+ $19 = (__gcry_cipher_cbc_decrypt($14,$15,$16,$17,$18)|0);
+ $rc = $19;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 2: {
+ $20 = $0;
+ $21 = $1;
+ $22 = $2;
+ $23 = $3;
+ $24 = $4;
+ $25 = (__gcry_cipher_cfb_decrypt($20,$21,$22,$23,$24)|0);
+ $rc = $25;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 5: {
+ $26 = $0;
+ $27 = $1;
+ $28 = $2;
+ $29 = $3;
+ $30 = $4;
+ $31 = (__gcry_cipher_ofb_encrypt($26,$27,$28,$29,$30)|0);
+ $rc = $31;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 4: {
+ $68 = $0;
+ $69 = ((($68)) + 12|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ((($70)) + 48|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $0;
+ $74 = ((($73)) + 496|0);
+ $75 = $1;
+ $76 = $3;
+ $77 = $4;
+ FUNCTION_TABLE_viiii[$72 & 63]($74,$75,$76,$77);
+ $rc = 0;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 0: {
+ $78 = (__gcry_fips_mode()|0);
+ $79 = ($78|0)!=(0);
+ if (!($79)) {
+ $80 = (__gcry_get_debug_flag(0)|0);
+ $81 = ($80|0)!=(0);
+ if ($81) {
+ $82 = $3;
+ $83 = $1;
+ $84 = ($82|0)!=($83|0);
+ if ($84) {
+ $85 = $1;
+ $86 = $3;
+ $87 = $4;
+ _memmove(($85|0),($86|0),($87|0))|0;
+ }
+ $rc = 0;
+ label = 21;
+ break L1;
+ }
+ }
+ __gcry_fips_signal_error(24439,992,24518,0,24463);
+ $rc = 71;
+ label = 21;
+ break L1;
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ } else {
+ $switch$split52D = ($7|0)<(9);
+ if ($switch$split52D) {
+ switch ($7|0) {
+ case 6: {
+ $32 = $0;
+ $33 = $1;
+ $34 = $2;
+ $35 = $3;
+ $36 = $4;
+ $37 = (__gcry_cipher_ctr_encrypt($32,$33,$34,$35,$36)|0);
+ $rc = $37;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 7: {
+ $38 = $0;
+ $39 = $1;
+ $40 = $2;
+ $41 = $3;
+ $42 = $4;
+ $43 = (__gcry_cipher_aeswrap_decrypt($38,$39,$40,$41,$42)|0);
+ $rc = $43;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 8: {
+ $44 = $0;
+ $45 = $1;
+ $46 = $2;
+ $47 = $3;
+ $48 = $4;
+ $49 = (__gcry_cipher_ccm_decrypt($44,$45,$46,$47,$48)|0);
+ $rc = $49;
+ label = 21;
+ break L1;
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ }
+ $switch$split82D = ($7|0)<(11);
+ if ($switch$split82D) {
+ switch ($7|0) {
+ case 9: {
+ $50 = $0;
+ $51 = $1;
+ $52 = $2;
+ $53 = $3;
+ $54 = $4;
+ $55 = (__gcry_cipher_gcm_decrypt($50,$51,$52,$53,$54)|0);
+ $rc = $55;
+ label = 21;
+ break L1;
+ break;
+ }
+ case 10: {
+ $56 = $0;
+ $57 = $1;
+ $58 = $2;
+ $59 = $3;
+ $60 = $4;
+ $61 = (__gcry_cipher_poly1305_decrypt($56,$57,$58,$59,$60)|0);
+ $rc = $61;
+ label = 21;
+ break L1;
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ }
+ $switch$split112D = ($7|0)<(65537);
+ if ($switch$split112D) {
+ switch ($7|0) {
+ case 11: {
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ $62 = $0;
+ $63 = $1;
+ $64 = $2;
+ $65 = $3;
+ $66 = $4;
+ $67 = (__gcry_cipher_ocb_decrypt($62,$63,$64,$65,$66)|0);
+ $rc = $67;
+ label = 21;
+ break;
+ } else {
+ switch ($7|0) {
+ case 65537: {
+ break;
+ }
+ default: {
+ label = 20;
+ break L1;
+ }
+ }
+ $rc = 71;
+ label = 21;
+ break;
+ }
+ }
+ } while(0);
+ if ((label|0) == 20) {
+ $88 = $0;
+ $89 = ((($88)) + 48|0);
+ $90 = HEAP32[$89>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $90;
+ __gcry_log_fatal(24533,$vararg_buffer);
+ // unreachable;
+ }
+ else if ((label|0) == 21) {
+ $91 = $rc;
+ STACKTOP = sp;return ($91|0);
+ }
+ return (0)|0;
+}
+function _do_ecb_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $outbuf;
+ $2 = $outbuflen;
+ $3 = $inbuf;
+ $4 = $inbuflen;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = $0;
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($12)) + 40|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (_do_ecb_crypt($5,$6,$7,$8,$9,$14)|0);
+ STACKTOP = sp;return ($15|0);
+}
+function __gcry_cipher_setkey($hd,$key,$keylen) {
+ $hd = $hd|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $key;
+ $2 = $keylen;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (_cipher_setkey($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _cipher_setkey($c,$key,$keylen) {
+ $c = $c|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $switch$split2D = 0, $switch$split32D = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $key;
+ $2 = $keylen;
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($5)) + 32|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = ((($8)) + 496|0);
+ $10 = $1;
+ $11 = $2;
+ $12 = (FUNCTION_TABLE_iiii[$7 & 127]($9,$10,$11)|0);
+ $rc = $12;
+ $13 = $rc;
+ $14 = ($13|0)!=(0);
+ $15 = $0;
+ L1: do {
+ if ($14) {
+ $41 = ((($15)) + 56|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = $42 & -2;
+ HEAP8[$41>>0] = $43;
+ } else {
+ $16 = ((($15)) + 496|0);
+ $17 = $0;
+ $18 = ((($17)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ((($19)) + 28|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (($16) + ($21)|0);
+ $23 = $0;
+ $24 = ((($23)) + 496|0);
+ $25 = $0;
+ $26 = ((($25)) + 12|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($27)) + 28|0);
+ $29 = HEAP32[$28>>2]|0;
+ _memcpy(($22|0),($24|0),($29|0))|0;
+ $30 = $0;
+ $31 = ((($30)) + 56|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 & -2;
+ $34 = $33 | 1;
+ HEAP8[$31>>0] = $34;
+ $35 = $0;
+ $36 = ((($35)) + 48|0);
+ $37 = HEAP32[$36>>2]|0;
+ $switch$split2D = ($37|0)<(10);
+ if ($switch$split2D) {
+ switch ($37|0) {
+ case 9: {
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ $39 = $0;
+ __gcry_cipher_gcm_setkey($39);
+ break;
+ }
+ $switch$split32D = ($37|0)<(65537);
+ if ($switch$split32D) {
+ switch ($37|0) {
+ case 10: {
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ $40 = $0;
+ __gcry_cipher_poly1305_setkey($40);
+ break;
+ } else {
+ switch ($37|0) {
+ case 65537: {
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ $38 = $0;
+ (__gcry_cipher_cmac_set_subkeys($38)|0);
+ break;
+ }
+ }
+ } while(0);
+ $44 = $rc;
+ STACKTOP = sp;return ($44|0);
+}
+function __gcry_cipher_setiv($hd,$iv,$ivlen) {
+ $hd = $hd|0;
+ $iv = $iv|0;
+ $ivlen = $ivlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $iv;
+ $2 = $ivlen;
+ $rc = 0;
+ $3 = $0;
+ $4 = ((($3)) + 48|0);
+ $5 = HEAP32[$4>>2]|0;
+ switch ($5|0) {
+ case 8: {
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = (__gcry_cipher_ccm_set_nonce($6,$7,$8)|0);
+ $rc = $9;
+ break;
+ }
+ case 9: {
+ $10 = $0;
+ $11 = $1;
+ $12 = $2;
+ $13 = (__gcry_cipher_gcm_setiv($10,$11,$12)|0);
+ $rc = $13;
+ break;
+ }
+ case 10: {
+ $14 = $0;
+ $15 = $1;
+ $16 = $2;
+ $17 = (__gcry_cipher_poly1305_setiv($14,$15,$16)|0);
+ $rc = $17;
+ break;
+ }
+ case 11: {
+ $18 = $0;
+ $19 = $1;
+ $20 = $2;
+ $21 = (__gcry_cipher_ocb_set_nonce($18,$19,$20)|0);
+ $rc = $21;
+ break;
+ }
+ default: {
+ $22 = $0;
+ $23 = $1;
+ $24 = $2;
+ $25 = (_cipher_setiv($22,$23,$24)|0);
+ $rc = $25;
+ }
+ }
+ $26 = $rc;
+ STACKTOP = sp;return ($26|0);
+}
+function _cipher_setiv($c,$iv,$ivlen) {
+ $c = $c|0;
+ $iv = $iv|0;
+ $ivlen = $ivlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $c;
+ $2 = $iv;
+ $3 = $ivlen;
+ $4 = $1;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 60|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)!=(0|0);
+ $10 = $1;
+ if ($9) {
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($12)) + 60|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = ((($15)) + 496|0);
+ $17 = $2;
+ $18 = $3;
+ FUNCTION_TABLE_viii[$14 & 127]($16,$17,$18);
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $19 = ((($10)) + 64|0);
+ $20 = $1;
+ $21 = ((($20)) + 12|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ((($22)) + 20|0);
+ $24 = HEAP32[$23>>2]|0;
+ _memset(($19|0),0,($24|0))|0;
+ $25 = $2;
+ $26 = ($25|0)!=(0|0);
+ if ($26) {
+ $27 = $3;
+ $28 = $1;
+ $29 = ((($28)) + 12|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($30)) + 20|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($27|0)!=($32|0);
+ if ($33) {
+ $34 = $3;
+ $35 = $1;
+ $36 = ((($35)) + 12|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ((($37)) + 20|0);
+ $39 = HEAP32[$38>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $34;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $39;
+ __gcry_log_info(24566,$vararg_buffer);
+ __gcry_fips_signal_error(24439,682,24609,0,24622);
+ }
+ $40 = $3;
+ $41 = $1;
+ $42 = ((($41)) + 12|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ((($43)) + 20|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($40>>>0)>($45>>>0);
+ if ($46) {
+ $47 = $1;
+ $48 = ((($47)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ((($49)) + 20|0);
+ $51 = HEAP32[$50>>2]|0;
+ $3 = $51;
+ }
+ $52 = $1;
+ $53 = ((($52)) + 64|0);
+ $54 = $2;
+ $55 = $3;
+ _memcpy(($53|0),($54|0),($55|0))|0;
+ $56 = $1;
+ $57 = ((($56)) + 56|0);
+ $58 = HEAP8[$57>>0]|0;
+ $59 = $58 & -3;
+ $60 = $59 | 2;
+ HEAP8[$57>>0] = $60;
+ } else {
+ $61 = $1;
+ $62 = ((($61)) + 56|0);
+ $63 = HEAP8[$62>>0]|0;
+ $64 = $63 & -3;
+ HEAP8[$62>>0] = $64;
+ }
+ $65 = $1;
+ $66 = ((($65)) + 112|0);
+ HEAP32[$66>>2] = 0;
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+}
+function __gcry_cipher_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_cipher_selftest($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $ec = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $ec = 0;
+ $3 = $0;
+ $4 = (_spec_from_algo($3)|0);
+ $spec = $4;
+ $5 = $spec;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $spec;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & 1;
+ $11 = $10&255;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ $13 = $spec;
+ $14 = ((($13)) + 52|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $spec;
+ $18 = ((($17)) + 52|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $0;
+ $21 = $1;
+ $22 = $2;
+ $23 = (FUNCTION_TABLE_iiii[$19 & 127]($20,$21,$22)|0);
+ $ec = $23;
+ $40 = $ec;
+ $41 = (_gpg_error_728($40)|0);
+ STACKTOP = sp;return ($41|0);
+ }
+ }
+ }
+ $ec = 12;
+ $24 = $2;
+ $25 = ($24|0)!=(0|0);
+ if (!($25)) {
+ $40 = $ec;
+ $41 = (_gpg_error_728($40)|0);
+ STACKTOP = sp;return ($41|0);
+ }
+ $26 = $2;
+ $27 = $0;
+ $28 = $spec;
+ $29 = ($28|0)!=(0|0);
+ if ($29) {
+ $30 = $spec;
+ $31 = ((($30)) + 4|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 & 1;
+ $34 = $33&255;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ label = 8;
+ } else {
+ $39 = 38027;
+ }
+ } else {
+ label = 8;
+ }
+ if ((label|0) == 8) {
+ $36 = $spec;
+ $37 = ($36|0)!=(0|0);
+ $38 = $37 ? 37988 : 38007;
+ $39 = $38;
+ }
+ FUNCTION_TABLE_viiii[$26 & 63](38657,$27,38049,$39);
+ $40 = $ec;
+ $41 = (_gpg_error_728($40)|0);
+ STACKTOP = sp;return ($41|0);
+}
+function _gpg_error_728($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_677(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_ecc_fill_in_curve($nbits,$name,$curve,$r_nbits) {
+ $nbits = $nbits|0;
+ $name = $name|0;
+ $curve = $curve|0;
+ $r_nbits = $r_nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $idx = 0, $resname = 0, $switch = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $nbits;
+ $2 = $name;
+ $3 = $curve;
+ $4 = $r_nbits;
+ $resname = 0;
+ $5 = $2;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $2;
+ $8 = (_find_domain_parms_idx($7)|0);
+ $idx = $8;
+ } else {
+ $idx = 0;
+ while(1) {
+ $9 = $idx;
+ $10 = (1420 + (($9*48)|0)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)!=(0|0);
+ if (!($12)) {
+ break;
+ }
+ $13 = $1;
+ $14 = $idx;
+ $15 = (1420 + (($14*48)|0)|0);
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($13|0)==($17|0);
+ if ($18) {
+ $19 = $idx;
+ $20 = (1420 + (($19*48)|0)|0);
+ $21 = ((($20)) + 12|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($22|0)==(0);
+ if ($23) {
+ break;
+ }
+ }
+ $24 = $idx;
+ $25 = (($24) + 1)|0;
+ $idx = $25;
+ }
+ $26 = $idx;
+ $27 = (1420 + (($26*48)|0)|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)!=(0|0);
+ if (!($29)) {
+ $idx = -1;
+ }
+ }
+ $30 = $idx;
+ $31 = ($30|0)<(0);
+ if ($31) {
+ $0 = 188;
+ $163 = $0;
+ STACKTOP = sp;return ($163|0);
+ }
+ $32 = $idx;
+ $33 = (1420 + (($32*48)|0)|0);
+ $34 = HEAP32[$33>>2]|0;
+ $resname = $34;
+ $35 = (__gcry_fips_mode()|0);
+ $36 = ($35|0)!=(0);
+ if ($36) {
+ $37 = $idx;
+ $38 = (1420 + (($37*48)|0)|0);
+ $39 = ((($38)) + 8|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40 & 1;
+ $42 = $41&255;
+ $43 = ($42|0)!=(0);
+ if (!($43)) {
+ $0 = 60;
+ $163 = $0;
+ STACKTOP = sp;return ($163|0);
+ }
+ }
+ $44 = $idx;
+ $45 = (1420 + (($44*48)|0)|0);
+ $46 = ((($45)) + 12|0);
+ $47 = HEAP32[$46>>2]|0;
+ $switch = ($47>>>0)<(3);
+ if (!($switch)) {
+ $0 = 59;
+ $163 = $0;
+ STACKTOP = sp;return ($163|0);
+ }
+ $48 = $4;
+ $49 = ($48|0)!=(0|0);
+ if ($49) {
+ $50 = $idx;
+ $51 = (1420 + (($50*48)|0)|0);
+ $52 = ((($51)) + 4|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = $4;
+ HEAP32[$54>>2] = $53;
+ }
+ $55 = $3;
+ $56 = ($55|0)!=(0|0);
+ if ($56) {
+ $57 = $idx;
+ $58 = (1420 + (($57*48)|0)|0);
+ $59 = ((($58)) + 12|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $3;
+ HEAP32[$61>>2] = $60;
+ $62 = $idx;
+ $63 = (1420 + (($62*48)|0)|0);
+ $64 = ((($63)) + 16|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = $3;
+ $67 = ((($66)) + 4|0);
+ HEAP32[$67>>2] = $65;
+ $68 = $3;
+ $69 = ((($68)) + 8|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($70|0)!=(0|0);
+ if (!($71)) {
+ $72 = $idx;
+ $73 = (1420 + (($72*48)|0)|0);
+ $74 = ((($73)) + 20|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = (_scanval($75)|0);
+ $77 = $3;
+ $78 = ((($77)) + 8|0);
+ HEAP32[$78>>2] = $76;
+ }
+ $79 = $3;
+ $80 = ((($79)) + 12|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ($81|0)!=(0|0);
+ if (!($82)) {
+ $83 = $idx;
+ $84 = (1420 + (($83*48)|0)|0);
+ $85 = ((($84)) + 24|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = (_scanval($86)|0);
+ $88 = $3;
+ $89 = ((($88)) + 12|0);
+ HEAP32[$89>>2] = $87;
+ }
+ $90 = $3;
+ $91 = ((($90)) + 16|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = ($92|0)!=(0|0);
+ if (!($93)) {
+ $94 = $idx;
+ $95 = (1420 + (($94*48)|0)|0);
+ $96 = ((($95)) + 28|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (_scanval($97)|0);
+ $99 = $3;
+ $100 = ((($99)) + 16|0);
+ HEAP32[$100>>2] = $98;
+ }
+ $101 = $3;
+ $102 = ((($101)) + 32|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = ($103|0)!=(0|0);
+ if (!($104)) {
+ $105 = $idx;
+ $106 = (1420 + (($105*48)|0)|0);
+ $107 = ((($106)) + 32|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (_scanval($108)|0);
+ $110 = $3;
+ $111 = ((($110)) + 32|0);
+ HEAP32[$111>>2] = $109;
+ }
+ $112 = $3;
+ $113 = ((($112)) + 36|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ($114|0)!=(0|0);
+ if (!($115)) {
+ $116 = $idx;
+ $117 = (1420 + (($116*48)|0)|0);
+ $118 = ((($117)) + 44|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = (_scanval($119)|0);
+ $121 = $3;
+ $122 = ((($121)) + 36|0);
+ HEAP32[$122>>2] = $120;
+ }
+ $123 = $3;
+ $124 = ((($123)) + 20|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = ($125|0)!=(0|0);
+ if (!($126)) {
+ $127 = $idx;
+ $128 = (1420 + (($127*48)|0)|0);
+ $129 = ((($128)) + 36|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = (_scanval($130)|0);
+ $132 = $3;
+ $133 = ((($132)) + 20|0);
+ HEAP32[$133>>2] = $131;
+ }
+ $134 = $3;
+ $135 = ((($134)) + 20|0);
+ $136 = ((($135)) + 4|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = ($137|0)!=(0|0);
+ if (!($138)) {
+ $139 = $idx;
+ $140 = (1420 + (($139*48)|0)|0);
+ $141 = ((($140)) + 40|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = (_scanval($142)|0);
+ $144 = $3;
+ $145 = ((($144)) + 20|0);
+ $146 = ((($145)) + 4|0);
+ HEAP32[$146>>2] = $143;
+ }
+ $147 = $3;
+ $148 = ((($147)) + 20|0);
+ $149 = ((($148)) + 8|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = ($150|0)!=(0|0);
+ if (!($151)) {
+ $152 = (__gcry_mpi_alloc_set_ui(1)|0);
+ $153 = $3;
+ $154 = ((($153)) + 20|0);
+ $155 = ((($154)) + 8|0);
+ HEAP32[$155>>2] = $152;
+ }
+ $156 = $3;
+ $157 = ((($156)) + 40|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = ($158|0)!=(0|0);
+ if (!($159)) {
+ $160 = $resname;
+ $161 = $3;
+ $162 = ((($161)) + 40|0);
+ HEAP32[$162>>2] = $160;
+ }
+ }
+ $0 = 0;
+ $163 = $0;
+ STACKTOP = sp;return ($163|0);
+}
+function _find_domain_parms_idx($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aliasno = 0, $idx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $name;
+ $idx = 0;
+ while(1) {
+ $2 = $idx;
+ $3 = (1420 + (($2*48)|0)|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $1;
+ $7 = $idx;
+ $8 = (1420 + (($7*48)|0)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (_strcmp($6,$9)|0);
+ $11 = ($10|0)!=(0);
+ $12 = $idx;
+ if (!($11)) {
+ label = 4;
+ break;
+ }
+ $13 = (($12) + 1)|0;
+ $idx = $13;
+ }
+ if ((label|0) == 4) {
+ $0 = $12;
+ $49 = $0;
+ STACKTOP = sp;return ($49|0);
+ }
+ $14 = $idx;
+ $15 = (1420 + (($14*48)|0)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)!=(0|0);
+ L9: do {
+ if (!($17)) {
+ $aliasno = 0;
+ while(1) {
+ $18 = $aliasno;
+ $19 = (2476 + ($18<<3)|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)!=(0|0);
+ if (!($21)) {
+ break;
+ }
+ $22 = $1;
+ $23 = $aliasno;
+ $24 = (2476 + ($23<<3)|0);
+ $25 = ((($24)) + 4|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (_strcmp($22,$26)|0);
+ $28 = ($27|0)!=(0);
+ if (!($28)) {
+ break;
+ }
+ $29 = $aliasno;
+ $30 = (($29) + 1)|0;
+ $aliasno = $30;
+ }
+ $31 = $aliasno;
+ $32 = (2476 + ($31<<3)|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ($33|0)!=(0|0);
+ if ($34) {
+ $idx = 0;
+ while(1) {
+ $35 = $idx;
+ $36 = (1420 + (($35*48)|0)|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($37|0)!=(0|0);
+ if (!($38)) {
+ break L9;
+ }
+ $39 = $aliasno;
+ $40 = (2476 + ($39<<3)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $idx;
+ $43 = (1420 + (($42*48)|0)|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (_strcmp($41,$44)|0);
+ $46 = ($45|0)!=(0);
+ $47 = $idx;
+ if (!($46)) {
+ break;
+ }
+ $48 = (($47) + 1)|0;
+ $idx = $48;
+ }
+ $0 = $47;
+ $49 = $0;
+ STACKTOP = sp;return ($49|0);
+ }
+ }
+ } while(0);
+ $0 = -1;
+ $49 = $0;
+ STACKTOP = sp;return ($49|0);
+}
+function _scanval($string) {
+ $string = $string|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $rc = 0, $val = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $val = sp + 4|0;
+ $0 = $string;
+ $1 = $0;
+ $2 = (__gcry_mpi_scan($val,4,$1,0,0)|0);
+ $rc = $2;
+ $3 = $rc;
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $5 = $rc;
+ $6 = (_gpg_strerror($5)|0);
+ HEAP32[$vararg_buffer>>2] = $6;
+ __gcry_log_fatal(35841,$vararg_buffer);
+ // unreachable;
+ } else {
+ $7 = HEAP32[$val>>2]|0;
+ STACKTOP = sp;return ($7|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_update_curve_param($name,$model,$dialect,$p,$a,$b,$g,$n,$h) {
+ $name = $name|0;
+ $model = $model|0;
+ $dialect = $dialect|0;
+ $p = $p|0;
+ $a = $a|0;
+ $b = $b|0;
+ $g = $g|0;
+ $n = $n|0;
+ $h = $h|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $buf = 0, $idx = 0, $len = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $name;
+ $2 = $model;
+ $3 = $dialect;
+ $4 = $p;
+ $5 = $a;
+ $6 = $b;
+ $7 = $g;
+ $8 = $n;
+ $9 = $h;
+ $10 = $1;
+ $11 = (_find_domain_parms_idx($10)|0);
+ $idx = $11;
+ $12 = $idx;
+ $13 = ($12|0)<(0);
+ if ($13) {
+ $0 = 188;
+ $122 = $0;
+ STACKTOP = sp;return ($122|0);
+ }
+ $14 = $7;
+ $15 = ($14|0)!=(0|0);
+ do {
+ if ($15) {
+ $len = 4;
+ $16 = $idx;
+ $17 = (1420 + (($16*48)|0)|0);
+ $18 = ((($17)) + 36|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ((($19)) + 2|0);
+ $21 = (_strlen($20)|0);
+ $22 = $len;
+ $23 = (($22) + ($21))|0;
+ $len = $23;
+ $24 = $idx;
+ $25 = (1420 + (($24*48)|0)|0);
+ $26 = ((($25)) + 40|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($27)) + 2|0);
+ $29 = (_strlen($28)|0);
+ $30 = $len;
+ $31 = (($30) + ($29))|0;
+ $len = $31;
+ $32 = $len;
+ $33 = (($32) + 1)|0;
+ $len = $33;
+ $34 = $len;
+ $35 = (__gcry_malloc($34)|0);
+ $buf = $35;
+ $36 = $buf;
+ $37 = ($36|0)!=(0|0);
+ if ($37) {
+ $39 = $buf;
+ $40 = (___stpcpy($39,35580)|0);
+ $41 = $idx;
+ $42 = (1420 + (($41*48)|0)|0);
+ $43 = ((($42)) + 36|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ((($44)) + 2|0);
+ $46 = (___stpcpy($40,$45)|0);
+ $47 = $idx;
+ $48 = (1420 + (($47*48)|0)|0);
+ $49 = ((($48)) + 40|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ((($50)) + 2|0);
+ (_strcpy($46,$51)|0);
+ $52 = $7;
+ $53 = HEAP32[$52>>2]|0;
+ __gcry_mpi_release($53);
+ $54 = $buf;
+ $55 = (_scanval($54)|0);
+ $56 = $7;
+ HEAP32[$56>>2] = $55;
+ $57 = $buf;
+ __gcry_free($57);
+ break;
+ }
+ $38 = (_gpg_err_code_from_syserror()|0);
+ $0 = $38;
+ $122 = $0;
+ STACKTOP = sp;return ($122|0);
+ }
+ } while(0);
+ $58 = $2;
+ $59 = ($58|0)!=(0|0);
+ if ($59) {
+ $60 = $idx;
+ $61 = (1420 + (($60*48)|0)|0);
+ $62 = ((($61)) + 12|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $2;
+ HEAP32[$64>>2] = $63;
+ }
+ $65 = $3;
+ $66 = ($65|0)!=(0|0);
+ if ($66) {
+ $67 = $idx;
+ $68 = (1420 + (($67*48)|0)|0);
+ $69 = ((($68)) + 16|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $3;
+ HEAP32[$71>>2] = $70;
+ }
+ $72 = $4;
+ $73 = ($72|0)!=(0|0);
+ if ($73) {
+ $74 = $4;
+ $75 = HEAP32[$74>>2]|0;
+ __gcry_mpi_release($75);
+ $76 = $idx;
+ $77 = (1420 + (($76*48)|0)|0);
+ $78 = ((($77)) + 20|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = (_scanval($79)|0);
+ $81 = $4;
+ HEAP32[$81>>2] = $80;
+ }
+ $82 = $5;
+ $83 = ($82|0)!=(0|0);
+ if ($83) {
+ $84 = $5;
+ $85 = HEAP32[$84>>2]|0;
+ __gcry_mpi_release($85);
+ $86 = $idx;
+ $87 = (1420 + (($86*48)|0)|0);
+ $88 = ((($87)) + 24|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (_scanval($89)|0);
+ $91 = $5;
+ HEAP32[$91>>2] = $90;
+ }
+ $92 = $6;
+ $93 = ($92|0)!=(0|0);
+ if ($93) {
+ $94 = $6;
+ $95 = HEAP32[$94>>2]|0;
+ __gcry_mpi_release($95);
+ $96 = $idx;
+ $97 = (1420 + (($96*48)|0)|0);
+ $98 = ((($97)) + 28|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = (_scanval($99)|0);
+ $101 = $6;
+ HEAP32[$101>>2] = $100;
+ }
+ $102 = $8;
+ $103 = ($102|0)!=(0|0);
+ if ($103) {
+ $104 = $8;
+ $105 = HEAP32[$104>>2]|0;
+ __gcry_mpi_release($105);
+ $106 = $idx;
+ $107 = (1420 + (($106*48)|0)|0);
+ $108 = ((($107)) + 32|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = (_scanval($109)|0);
+ $111 = $8;
+ HEAP32[$111>>2] = $110;
+ }
+ $112 = $9;
+ $113 = ($112|0)!=(0|0);
+ if ($113) {
+ $114 = $9;
+ $115 = HEAP32[$114>>2]|0;
+ __gcry_mpi_release($115);
+ $116 = $idx;
+ $117 = (1420 + (($116*48)|0)|0);
+ $118 = ((($117)) + 44|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = (_scanval($119)|0);
+ $121 = $9;
+ HEAP32[$121>>2] = $120;
+ }
+ $0 = 0;
+ $122 = $0;
+ STACKTOP = sp;return ($122|0);
+}
+function __gcry_ecc_get_curve($keyparms,$iterator,$r_nbits) {
+ $keyparms = $keyparms|0;
+ $iterator = $iterator|0;
+ $r_nbits = $r_nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $E = 0, $idx = 0;
+ var $l1 = 0, $mpi_g = 0, $name = 0, $or$cond = 0, $rc = 0, $result = 0, $tmp = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $E = sp + 48|0;
+ $mpi_g = sp + 44|0;
+ $1 = $keyparms;
+ $2 = $iterator;
+ $3 = $r_nbits;
+ $result = 0;
+ HEAP32[$mpi_g>>2] = 0;
+ $tmp = 0;
+ dest=$E; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $4 = $3;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $3;
+ HEAP32[$6>>2] = 0;
+ }
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ if (!($8)) {
+ $9 = $2;
+ $idx = $9;
+ $10 = $idx;
+ $11 = ($10|0)>=(0);
+ $12 = $idx;
+ $13 = ($12>>>0)<(22);
+ $or$cond = $11 & $13;
+ if ($or$cond) {
+ $14 = $idx;
+ $15 = (1420 + (($14*48)|0)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $result = $16;
+ $17 = $3;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = $idx;
+ $20 = (1420 + (($19*48)|0)|0);
+ $21 = ((($20)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $3;
+ HEAP32[$23>>2] = $22;
+ }
+ }
+ $24 = $result;
+ $0 = $24;
+ $177 = $0;
+ STACKTOP = sp;return ($177|0);
+ }
+ $25 = $1;
+ $26 = ((($E)) + 8|0);
+ $27 = ((($E)) + 12|0);
+ $28 = ((($E)) + 16|0);
+ $29 = ((($E)) + 32|0);
+ $30 = ((($E)) + 36|0);
+ HEAP32[$vararg_buffer>>2] = $26;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $27;
+ $vararg_ptr3 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr3>>2] = $28;
+ $vararg_ptr4 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr4>>2] = $mpi_g;
+ $vararg_ptr5 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr5>>2] = $29;
+ $vararg_ptr6 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr6>>2] = $30;
+ $vararg_ptr7 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr7>>2] = 0;
+ $31 = (__gcry_sexp_extract_param($25,0,35585,$vararg_buffer)|0);
+ $32 = (_gpg_err_code($31)|0);
+ $rc = $32;
+ $33 = $rc;
+ $34 = ($33|0)==(68);
+ L12: do {
+ if ($34) {
+ $35 = $1;
+ $36 = (__gcry_sexp_find_token($35,47184,5)|0);
+ $l1 = $36;
+ $37 = $l1;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ $39 = $l1;
+ $40 = (__gcry_sexp_nth_string($39,1)|0);
+ $name = $40;
+ $41 = $l1;
+ __gcry_sexp_release($41);
+ $42 = $name;
+ $43 = ($42|0)!=(0|0);
+ if ($43) {
+ $44 = $name;
+ $45 = (_find_domain_parms_idx($44)|0);
+ $idx = $45;
+ $46 = $name;
+ __gcry_free($46);
+ $47 = $idx;
+ $48 = ($47|0)>=(0);
+ if ($48) {
+ $49 = $idx;
+ $50 = (1420 + (($49*48)|0)|0);
+ $51 = HEAP32[$50>>2]|0;
+ $result = $51;
+ $52 = $3;
+ $53 = ($52|0)!=(0|0);
+ if ($53) {
+ $54 = $idx;
+ $55 = (1420 + (($54*48)|0)|0);
+ $56 = ((($55)) + 4|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $3;
+ HEAP32[$58>>2] = $57;
+ }
+ }
+ $59 = $result;
+ $0 = $59;
+ $177 = $0;
+ STACKTOP = sp;return ($177|0);
+ }
+ }
+ } else {
+ $60 = $rc;
+ $61 = ($60|0)!=(0);
+ if (!($61)) {
+ $62 = HEAP32[$mpi_g>>2]|0;
+ $63 = ($62|0)!=(0|0);
+ if ($63) {
+ $64 = ((($E)) + 20|0);
+ __gcry_mpi_point_init($64);
+ $65 = ((($E)) + 20|0);
+ $66 = HEAP32[$mpi_g>>2]|0;
+ $67 = (__gcry_ecc_os2ec($65,$66)|0);
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ break;
+ }
+ }
+ $idx = 0;
+ while(1) {
+ $69 = $idx;
+ $70 = (1420 + (($69*48)|0)|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = ($71|0)!=(0|0);
+ if (!($72)) {
+ break L12;
+ }
+ $73 = $tmp;
+ __gcry_mpi_free($73);
+ $74 = $idx;
+ $75 = (1420 + (($74*48)|0)|0);
+ $76 = ((($75)) + 20|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (_scanval($77)|0);
+ $tmp = $78;
+ $79 = $tmp;
+ $80 = ((($E)) + 8|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = (__gcry_mpi_cmp($79,$81)|0);
+ $83 = ($82|0)!=(0);
+ if (!($83)) {
+ $84 = $tmp;
+ __gcry_mpi_free($84);
+ $85 = $idx;
+ $86 = (1420 + (($85*48)|0)|0);
+ $87 = ((($86)) + 24|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (_scanval($88)|0);
+ $tmp = $89;
+ $90 = $tmp;
+ $91 = ((($E)) + 12|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = (__gcry_mpi_cmp($90,$92)|0);
+ $94 = ($93|0)!=(0);
+ if (!($94)) {
+ $95 = $tmp;
+ __gcry_mpi_free($95);
+ $96 = $idx;
+ $97 = (1420 + (($96*48)|0)|0);
+ $98 = ((($97)) + 28|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = (_scanval($99)|0);
+ $tmp = $100;
+ $101 = $tmp;
+ $102 = ((($E)) + 16|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = (__gcry_mpi_cmp($101,$103)|0);
+ $105 = ($104|0)!=(0);
+ if (!($105)) {
+ $106 = $tmp;
+ __gcry_mpi_free($106);
+ $107 = $idx;
+ $108 = (1420 + (($107*48)|0)|0);
+ $109 = ((($108)) + 32|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = (_scanval($110)|0);
+ $tmp = $111;
+ $112 = $tmp;
+ $113 = ((($E)) + 32|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = (__gcry_mpi_cmp($112,$114)|0);
+ $116 = ($115|0)!=(0);
+ if (!($116)) {
+ $117 = $tmp;
+ __gcry_mpi_free($117);
+ $118 = $idx;
+ $119 = (1420 + (($118*48)|0)|0);
+ $120 = ((($119)) + 44|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = (_scanval($121)|0);
+ $tmp = $122;
+ $123 = $tmp;
+ $124 = ((($E)) + 36|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = (__gcry_mpi_cmp($123,$125)|0);
+ $127 = ($126|0)!=(0);
+ if (!($127)) {
+ $128 = $tmp;
+ __gcry_mpi_free($128);
+ $129 = $idx;
+ $130 = (1420 + (($129*48)|0)|0);
+ $131 = ((($130)) + 36|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (_scanval($132)|0);
+ $tmp = $133;
+ $134 = $tmp;
+ $135 = ((($E)) + 20|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = (__gcry_mpi_cmp($134,$136)|0);
+ $138 = ($137|0)!=(0);
+ if (!($138)) {
+ $139 = $tmp;
+ __gcry_mpi_free($139);
+ $140 = $idx;
+ $141 = (1420 + (($140*48)|0)|0);
+ $142 = ((($141)) + 40|0);
+ $143 = HEAP32[$142>>2]|0;
+ $144 = (_scanval($143)|0);
+ $tmp = $144;
+ $145 = $tmp;
+ $146 = ((($E)) + 20|0);
+ $147 = ((($146)) + 4|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (__gcry_mpi_cmp($145,$148)|0);
+ $150 = ($149|0)!=(0);
+ if (!($150)) {
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ $161 = $idx;
+ $162 = (($161) + 1)|0;
+ $idx = $162;
+ }
+ $151 = $idx;
+ $152 = (1420 + (($151*48)|0)|0);
+ $153 = HEAP32[$152>>2]|0;
+ $result = $153;
+ $154 = $3;
+ $155 = ($154|0)!=(0|0);
+ if ($155) {
+ $156 = $idx;
+ $157 = (1420 + (($156*48)|0)|0);
+ $158 = ((($157)) + 4|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $3;
+ HEAP32[$160>>2] = $159;
+ }
+ }
+ }
+ } while(0);
+ $163 = $tmp;
+ __gcry_mpi_release($163);
+ $164 = ((($E)) + 8|0);
+ $165 = HEAP32[$164>>2]|0;
+ __gcry_mpi_release($165);
+ $166 = ((($E)) + 12|0);
+ $167 = HEAP32[$166>>2]|0;
+ __gcry_mpi_release($167);
+ $168 = ((($E)) + 16|0);
+ $169 = HEAP32[$168>>2]|0;
+ __gcry_mpi_release($169);
+ $170 = HEAP32[$mpi_g>>2]|0;
+ __gcry_mpi_release($170);
+ $171 = ((($E)) + 20|0);
+ __gcry_mpi_point_free_parts($171);
+ $172 = ((($E)) + 32|0);
+ $173 = HEAP32[$172>>2]|0;
+ __gcry_mpi_release($173);
+ $174 = ((($E)) + 36|0);
+ $175 = HEAP32[$174>>2]|0;
+ __gcry_mpi_release($175);
+ $176 = $result;
+ $0 = $176;
+ $177 = $0;
+ STACKTOP = sp;return ($177|0);
+}
+function _gpg_err_code($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = $1 & 65535;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_mpi_ec_new($r_ctx,$keyparam,$curvename) {
+ $r_ctx = $r_ctx|0;
+ $keyparam = $keyparam|0;
+ $curvename = $curvename|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $E = 0, $G = 0, $Q = 0, $a = 0, $b = 0, $ctx = 0, $d = 0, $dialect = 0, $ec = 0, $errc = 0, $flags = 0, $h = 0, $l1 = 0, $model = 0, $n = 0, $name = 0, $or$cond = 0;
+ var $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp + 60|0;
+ $p = sp + 48|0;
+ $a = sp + 44|0;
+ $b = sp + 40|0;
+ $G = sp + 36|0;
+ $n = sp + 32|0;
+ $h = sp + 28|0;
+ $Q = sp + 24|0;
+ $d = sp + 20|0;
+ $flags = sp + 16|0;
+ $0 = $r_ctx;
+ $1 = $keyparam;
+ $2 = $curvename;
+ HEAP32[$ctx>>2] = 0;
+ $model = 0;
+ $dialect = 0;
+ HEAP32[$p>>2] = 0;
+ HEAP32[$a>>2] = 0;
+ HEAP32[$b>>2] = 0;
+ HEAP32[$G>>2] = 0;
+ HEAP32[$n>>2] = 0;
+ HEAP32[$h>>2] = 0;
+ HEAP32[$Q>>2] = 0;
+ HEAP32[$d>>2] = 0;
+ HEAP32[$flags>>2] = 0;
+ $3 = $0;
+ HEAP32[$3>>2] = 0;
+ $4 = $1;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if ($5) {
+ $6 = $1;
+ $7 = (__gcry_sexp_find_token($6,47190,0)|0);
+ $l1 = $7;
+ $8 = $l1;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $l1;
+ $11 = (__gcry_pk_util_parse_flaglist($10,$flags,0)|0);
+ $errc = $11;
+ $12 = $l1;
+ __gcry_sexp_release($12);
+ $l1 = 0;
+ $13 = $errc;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ break;
+ }
+ }
+ $15 = $1;
+ $16 = (__gcry_sexp_find_token($15,47184,5)|0);
+ $l1 = $16;
+ $17 = $l1;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = HEAP32[$flags>>2]|0;
+ $20 = $19 & 512;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ label = 13;
+ break;
+ }
+ }
+ $22 = $1;
+ $23 = (_mpi_from_keyparam($p,$22,48667)|0);
+ $errc = $23;
+ $24 = $errc;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ $26 = $1;
+ $27 = (_mpi_from_keyparam($a,$26,39393)|0);
+ $errc = $27;
+ $28 = $errc;
+ $29 = ($28|0)!=(0);
+ if (!($29)) {
+ $30 = $1;
+ $31 = (_mpi_from_keyparam($b,$30,35593)|0);
+ $errc = $31;
+ $32 = $errc;
+ $33 = ($32|0)!=(0);
+ if (!($33)) {
+ $34 = $1;
+ $35 = (_point_from_keyparam($G,$34,35595,0)|0);
+ $errc = $35;
+ $36 = $errc;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ $38 = $1;
+ $39 = (_mpi_from_keyparam($n,$38,39397)|0);
+ $errc = $39;
+ $40 = $errc;
+ $41 = ($40|0)!=(0);
+ if (!($41)) {
+ $42 = $1;
+ $43 = (_mpi_from_keyparam($h,$42,35606)|0);
+ $errc = $43;
+ $44 = $errc;
+ $45 = ($44|0)!=(0);
+ if (!($45)) {
+ label = 13;
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $l1 = 0;
+ label = 13;
+ }
+ } while(0);
+ do {
+ if ((label|0) == 13) {
+ $46 = $l1;
+ $47 = ($46|0)!=(0|0);
+ $48 = $2;
+ $49 = ($48|0)!=(0|0);
+ $or$cond = $47 | $49;
+ if ($or$cond) {
+ $50 = $l1;
+ $51 = ($50|0)!=(0|0);
+ if ($51) {
+ $52 = $l1;
+ $53 = (__gcry_sexp_nth_string($52,1)|0);
+ $name = $53;
+ $54 = $l1;
+ __gcry_sexp_release($54);
+ $55 = $name;
+ $56 = ($55|0)!=(0|0);
+ if (!($56)) {
+ $errc = 65;
+ break;
+ }
+ } else {
+ $name = 0;
+ }
+ $57 = (__gcry_calloc(1,44)|0);
+ $E = $57;
+ $58 = $E;
+ $59 = ($58|0)!=(0|0);
+ if (!($59)) {
+ $60 = (_gpg_err_code_from_syserror()|0);
+ $errc = $60;
+ $61 = $name;
+ __gcry_free($61);
+ break;
+ }
+ $62 = $name;
+ $63 = ($62|0)!=(0|0);
+ $64 = $name;
+ $65 = $2;
+ $66 = $63 ? $64 : $65;
+ $67 = $E;
+ $68 = (__gcry_ecc_fill_in_curve(0,$66,$67,0)|0);
+ $errc = $68;
+ $69 = $name;
+ __gcry_free($69);
+ $70 = $errc;
+ $71 = ($70|0)!=(0);
+ $72 = $E;
+ if ($71) {
+ __gcry_free($72);
+ break;
+ }
+ $73 = HEAP32[$72>>2]|0;
+ $model = $73;
+ $74 = $E;
+ $75 = ((($74)) + 4|0);
+ $76 = HEAP32[$75>>2]|0;
+ $dialect = $76;
+ $77 = HEAP32[$p>>2]|0;
+ $78 = ($77|0)!=(0|0);
+ if (!($78)) {
+ $79 = $E;
+ $80 = ((($79)) + 8|0);
+ $81 = HEAP32[$80>>2]|0;
+ HEAP32[$p>>2] = $81;
+ $82 = $E;
+ $83 = ((($82)) + 8|0);
+ HEAP32[$83>>2] = 0;
+ }
+ $84 = HEAP32[$a>>2]|0;
+ $85 = ($84|0)!=(0|0);
+ if (!($85)) {
+ $86 = $E;
+ $87 = ((($86)) + 12|0);
+ $88 = HEAP32[$87>>2]|0;
+ HEAP32[$a>>2] = $88;
+ $89 = $E;
+ $90 = ((($89)) + 12|0);
+ HEAP32[$90>>2] = 0;
+ }
+ $91 = HEAP32[$b>>2]|0;
+ $92 = ($91|0)!=(0|0);
+ if (!($92)) {
+ $93 = $E;
+ $94 = ((($93)) + 16|0);
+ $95 = HEAP32[$94>>2]|0;
+ HEAP32[$b>>2] = $95;
+ $96 = $E;
+ $97 = ((($96)) + 16|0);
+ HEAP32[$97>>2] = 0;
+ }
+ $98 = HEAP32[$G>>2]|0;
+ $99 = ($98|0)!=(0|0);
+ if (!($99)) {
+ $100 = $E;
+ $101 = ((($100)) + 20|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = $E;
+ $104 = ((($103)) + 20|0);
+ $105 = ((($104)) + 4|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $E;
+ $108 = ((($107)) + 20|0);
+ $109 = ((($108)) + 8|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = (__gcry_mpi_point_snatch_set(0,$102,$106,$110)|0);
+ HEAP32[$G>>2] = $111;
+ $112 = $E;
+ $113 = ((($112)) + 20|0);
+ HEAP32[$113>>2] = 0;
+ $114 = $E;
+ $115 = ((($114)) + 20|0);
+ $116 = ((($115)) + 4|0);
+ HEAP32[$116>>2] = 0;
+ $117 = $E;
+ $118 = ((($117)) + 20|0);
+ $119 = ((($118)) + 8|0);
+ HEAP32[$119>>2] = 0;
+ }
+ $120 = HEAP32[$n>>2]|0;
+ $121 = ($120|0)!=(0|0);
+ if (!($121)) {
+ $122 = $E;
+ $123 = ((($122)) + 32|0);
+ $124 = HEAP32[$123>>2]|0;
+ HEAP32[$n>>2] = $124;
+ $125 = $E;
+ $126 = ((($125)) + 32|0);
+ HEAP32[$126>>2] = 0;
+ }
+ $127 = HEAP32[$h>>2]|0;
+ $128 = ($127|0)!=(0|0);
+ if (!($128)) {
+ $129 = $E;
+ $130 = ((($129)) + 36|0);
+ $131 = HEAP32[$130>>2]|0;
+ HEAP32[$h>>2] = $131;
+ $132 = $E;
+ $133 = ((($132)) + 36|0);
+ HEAP32[$133>>2] = 0;
+ }
+ $134 = $E;
+ __gcry_ecc_curve_free($134);
+ $135 = $E;
+ __gcry_free($135);
+ }
+ $136 = $model;
+ $137 = $dialect;
+ $138 = HEAP32[$flags>>2]|0;
+ $139 = HEAP32[$p>>2]|0;
+ $140 = HEAP32[$a>>2]|0;
+ $141 = HEAP32[$b>>2]|0;
+ $142 = (__gcry_mpi_ec_p_new($ctx,$136,$137,$138,$139,$140,$141)|0);
+ $errc = $142;
+ $143 = $errc;
+ $144 = ($143|0)!=(0);
+ if (!($144)) {
+ $145 = HEAP32[$ctx>>2]|0;
+ $146 = (__gcry_ctx_get_pointer($145,1)|0);
+ $ec = $146;
+ $147 = HEAP32[$b>>2]|0;
+ $148 = ($147|0)!=(0|0);
+ if ($148) {
+ $149 = $ec;
+ $150 = ((($149)) + 24|0);
+ $151 = HEAP32[$150>>2]|0;
+ __gcry_mpi_free($151);
+ $152 = HEAP32[$b>>2]|0;
+ $153 = $ec;
+ $154 = ((($153)) + 24|0);
+ HEAP32[$154>>2] = $152;
+ HEAP32[$b>>2] = 0;
+ }
+ $155 = HEAP32[$G>>2]|0;
+ $156 = ($155|0)!=(0|0);
+ if ($156) {
+ $157 = HEAP32[$G>>2]|0;
+ $158 = $ec;
+ $159 = ((($158)) + 28|0);
+ HEAP32[$159>>2] = $157;
+ HEAP32[$G>>2] = 0;
+ }
+ $160 = HEAP32[$n>>2]|0;
+ $161 = ($160|0)!=(0|0);
+ if ($161) {
+ $162 = HEAP32[$n>>2]|0;
+ $163 = $ec;
+ $164 = ((($163)) + 32|0);
+ HEAP32[$164>>2] = $162;
+ HEAP32[$n>>2] = 0;
+ }
+ $165 = HEAP32[$h>>2]|0;
+ $166 = ($165|0)!=(0|0);
+ if ($166) {
+ $167 = HEAP32[$h>>2]|0;
+ $168 = $ec;
+ $169 = ((($168)) + 36|0);
+ HEAP32[$169>>2] = $167;
+ HEAP32[$h>>2] = 0;
+ }
+ $170 = $1;
+ $171 = ($170|0)!=(0|0);
+ if ($171) {
+ $172 = $1;
+ $173 = $ec;
+ $174 = (_point_from_keyparam($Q,$172,49895,$173)|0);
+ $errc = $174;
+ $175 = $errc;
+ $176 = ($175|0)!=(0);
+ if ($176) {
+ break;
+ }
+ $177 = $1;
+ $178 = (_mpi_from_keyparam($d,$177,35608)|0);
+ $errc = $178;
+ $179 = $errc;
+ $180 = ($179|0)!=(0);
+ if ($180) {
+ break;
+ }
+ }
+ $181 = HEAP32[$Q>>2]|0;
+ $182 = ($181|0)!=(0|0);
+ if ($182) {
+ $183 = HEAP32[$Q>>2]|0;
+ $184 = $ec;
+ $185 = ((($184)) + 40|0);
+ HEAP32[$185>>2] = $183;
+ HEAP32[$Q>>2] = 0;
+ }
+ $186 = HEAP32[$d>>2]|0;
+ $187 = ($186|0)!=(0|0);
+ if ($187) {
+ $188 = HEAP32[$d>>2]|0;
+ $189 = $ec;
+ $190 = ((($189)) + 44|0);
+ HEAP32[$190>>2] = $188;
+ HEAP32[$d>>2] = 0;
+ }
+ $191 = HEAP32[$ctx>>2]|0;
+ $192 = $0;
+ HEAP32[$192>>2] = $191;
+ HEAP32[$ctx>>2] = 0;
+ }
+ }
+ } while(0);
+ $193 = HEAP32[$ctx>>2]|0;
+ __gcry_ctx_release($193);
+ $194 = HEAP32[$p>>2]|0;
+ __gcry_mpi_free($194);
+ $195 = HEAP32[$a>>2]|0;
+ __gcry_mpi_free($195);
+ $196 = HEAP32[$b>>2]|0;
+ __gcry_mpi_free($196);
+ $197 = HEAP32[$G>>2]|0;
+ __gcry_mpi_point_release($197);
+ $198 = HEAP32[$n>>2]|0;
+ __gcry_mpi_free($198);
+ $199 = HEAP32[$h>>2]|0;
+ __gcry_mpi_free($199);
+ $200 = HEAP32[$Q>>2]|0;
+ __gcry_mpi_point_release($200);
+ $201 = HEAP32[$d>>2]|0;
+ __gcry_mpi_free($201);
+ $202 = $errc;
+ STACKTOP = sp;return ($202|0);
+}
+function _mpi_from_keyparam($r_a,$keyparam,$name) {
+ $r_a = $r_a|0;
+ $keyparam = $keyparam|0;
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, $l1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $r_a;
+ $1 = $keyparam;
+ $2 = $name;
+ $ec = 0;
+ $3 = $1;
+ $4 = $2;
+ $5 = (__gcry_sexp_find_token($3,$4,0)|0);
+ $l1 = $5;
+ $6 = $l1;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $l1;
+ $9 = (__gcry_sexp_nth_mpi($8,1,5)|0);
+ $10 = $0;
+ HEAP32[$10>>2] = $9;
+ $11 = $l1;
+ __gcry_sexp_release($11);
+ $12 = $0;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $ec = 65;
+ }
+ }
+ $15 = $ec;
+ STACKTOP = sp;return ($15|0);
+}
+function _point_from_keyparam($r_a,$keyparam,$name,$ec) {
+ $r_a = $r_a|0;
+ $keyparam = $keyparam|0;
+ $name = $name|0;
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $a = 0, $l1 = 0, $or$cond = 0, $point = 0, $rc = 0, $tmpname = 0, $x = 0;
+ var $y = 0, $z = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $x = sp + 8|0;
+ $y = sp + 4|0;
+ $z = sp;
+ $1 = $r_a;
+ $2 = $keyparam;
+ $3 = $name;
+ $4 = $ec;
+ $5 = $2;
+ $6 = $3;
+ $7 = (__gcry_sexp_find_token($5,$6,0)|0);
+ $l1 = $7;
+ $8 = $l1;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $l1;
+ $11 = (__gcry_sexp_nth_mpi($10,1,8)|0);
+ $a = $11;
+ $12 = $l1;
+ __gcry_sexp_release($12);
+ $13 = $a;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $0 = 65;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $15 = (__gcry_mpi_point_new(0)|0);
+ $point = $15;
+ $16 = $4;
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $18 = $4;
+ $19 = ((($18)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(1);
+ if ($21) {
+ $22 = $a;
+ $23 = $4;
+ $24 = $point;
+ $25 = (__gcry_ecc_eddsa_decodepoint($22,$23,$24,0,0)|0);
+ $rc = $25;
+ } else {
+ label = 7;
+ }
+ } else {
+ label = 7;
+ }
+ if ((label|0) == 7) {
+ $26 = $point;
+ $27 = $a;
+ $28 = (__gcry_ecc_os2ec($26,$27)|0);
+ $rc = $28;
+ }
+ $29 = $a;
+ __gcry_mpi_free($29);
+ $30 = $rc;
+ $31 = ($30|0)!=(0);
+ if ($31) {
+ $32 = $point;
+ __gcry_mpi_point_release($32);
+ $point = 0;
+ $33 = $rc;
+ $0 = $33;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ } else {
+ HEAP32[$x>>2] = 0;
+ HEAP32[$y>>2] = 0;
+ HEAP32[$z>>2] = 0;
+ $34 = $3;
+ $35 = (_strlen($34)|0);
+ $36 = (($35) + 2)|0;
+ $37 = (($36) + 1)|0;
+ $38 = (__gcry_malloc($37)|0);
+ $tmpname = $38;
+ $39 = $tmpname;
+ $40 = ($39|0)!=(0|0);
+ if (!($40)) {
+ $41 = (_gpg_err_code_from_syserror()|0);
+ $0 = $41;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $42 = $tmpname;
+ $43 = $3;
+ $44 = (___stpcpy($42,$43)|0);
+ (_strcpy($44,35597)|0);
+ $45 = $2;
+ $46 = $tmpname;
+ $47 = (_mpi_from_keyparam($x,$45,$46)|0);
+ $rc = $47;
+ $48 = $rc;
+ $49 = ($48|0)!=(0);
+ $50 = $tmpname;
+ if ($49) {
+ __gcry_free($50);
+ $51 = $rc;
+ $0 = $51;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $52 = $3;
+ $53 = (___stpcpy($50,$52)|0);
+ (_strcpy($53,35600)|0);
+ $54 = $2;
+ $55 = $tmpname;
+ $56 = (_mpi_from_keyparam($y,$54,$55)|0);
+ $rc = $56;
+ $57 = $rc;
+ $58 = ($57|0)!=(0);
+ if ($58) {
+ $59 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($59);
+ $60 = $tmpname;
+ __gcry_free($60);
+ $61 = $rc;
+ $0 = $61;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $62 = $tmpname;
+ $63 = $3;
+ $64 = (___stpcpy($62,$63)|0);
+ (_strcpy($64,35603)|0);
+ $65 = $2;
+ $66 = $tmpname;
+ $67 = (_mpi_from_keyparam($z,$65,$66)|0);
+ $rc = $67;
+ $68 = $rc;
+ $69 = ($68|0)!=(0);
+ if ($69) {
+ $70 = HEAP32[$y>>2]|0;
+ __gcry_mpi_free($70);
+ $71 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($71);
+ $72 = $tmpname;
+ __gcry_free($72);
+ $73 = $rc;
+ $0 = $73;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $74 = HEAP32[$z>>2]|0;
+ $75 = ($74|0)!=(0|0);
+ if (!($75)) {
+ $76 = (__gcry_mpi_set_ui(0,1)|0);
+ HEAP32[$z>>2] = $76;
+ }
+ $77 = HEAP32[$x>>2]|0;
+ $78 = ($77|0)!=(0|0);
+ $79 = HEAP32[$y>>2]|0;
+ $80 = ($79|0)!=(0|0);
+ $or$cond = $78 & $80;
+ $81 = HEAP32[$x>>2]|0;
+ if ($or$cond) {
+ $82 = HEAP32[$y>>2]|0;
+ $83 = HEAP32[$z>>2]|0;
+ $84 = (__gcry_mpi_point_snatch_set(0,$81,$82,$83)|0);
+ $point = $84;
+ } else {
+ __gcry_mpi_free($81);
+ $85 = HEAP32[$y>>2]|0;
+ __gcry_mpi_free($85);
+ $86 = HEAP32[$z>>2]|0;
+ __gcry_mpi_free($86);
+ $point = 0;
+ }
+ $87 = $tmpname;
+ __gcry_free($87);
+ }
+ $88 = $point;
+ $89 = ($88|0)!=(0|0);
+ if ($89) {
+ $90 = $point;
+ $91 = $1;
+ HEAP32[$91>>2] = $90;
+ }
+ $0 = 0;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+}
+function __gcry_ecc_get_param_sexp($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $E = 0, $ctx = 0, $g_x = 0, $g_y = 0, $i = 0, $nbits = 0, $pkey = 0, $result = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0;
+ var $vararg_ptr6 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $nbits = sp + 124|0;
+ $E = sp + 80|0;
+ $pkey = sp + 40|0;
+ $result = sp + 36|0;
+ $1 = $name;
+ dest=$E; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $2 = $1;
+ $3 = (__gcry_ecc_fill_in_curve(0,$2,$E,$nbits)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $0 = 0;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ $5 = (__gcry_mpi_new(0)|0);
+ $g_x = $5;
+ $6 = (__gcry_mpi_new(0)|0);
+ $g_y = $6;
+ $7 = ((($E)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($E)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_mpi_ec_p_internal_new(0,0,0,$8,$10,0)|0);
+ $ctx = $11;
+ $12 = $g_x;
+ $13 = $g_y;
+ $14 = ((($E)) + 20|0);
+ $15 = $ctx;
+ $16 = (__gcry_mpi_ec_get_affine($12,$13,$14,$15)|0);
+ $17 = ($16|0)!=(0);
+ if ($17) {
+ __gcry_log_fatal(35610,$vararg_buffer);
+ // unreachable;
+ }
+ $18 = $ctx;
+ __gcry_mpi_ec_free($18);
+ $19 = ((($E)) + 20|0);
+ __gcry_mpi_point_free_parts($19);
+ $20 = ((($E)) + 8|0);
+ $21 = HEAP32[$20>>2]|0;
+ HEAP32[$pkey>>2] = $21;
+ $22 = ((($E)) + 12|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($pkey)) + 4|0);
+ HEAP32[$24>>2] = $23;
+ $25 = ((($E)) + 16|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = ((($pkey)) + 8|0);
+ HEAP32[$27>>2] = $26;
+ $28 = $g_x;
+ $29 = $g_y;
+ $30 = ((($E)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (__gcry_ecc_ec2os($28,$29,$31)|0);
+ $33 = ((($pkey)) + 12|0);
+ HEAP32[$33>>2] = $32;
+ $34 = ((($E)) + 32|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = ((($pkey)) + 16|0);
+ HEAP32[$36>>2] = $35;
+ $37 = ((($E)) + 36|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ((($pkey)) + 20|0);
+ HEAP32[$39>>2] = $38;
+ $40 = ((($pkey)) + 24|0);
+ HEAP32[$40>>2] = 0;
+ $41 = $g_x;
+ __gcry_mpi_free($41);
+ $42 = $g_y;
+ __gcry_mpi_free($42);
+ $43 = HEAP32[$pkey>>2]|0;
+ $44 = ((($pkey)) + 4|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($pkey)) + 8|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ((($pkey)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ((($pkey)) + 16|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ((($pkey)) + 20|0);
+ $53 = HEAP32[$52>>2]|0;
+ HEAP32[$vararg_buffer1>>2] = $43;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = $45;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
+ HEAP32[$vararg_ptr4>>2] = $47;
+ $vararg_ptr5 = ((($vararg_buffer1)) + 12|0);
+ HEAP32[$vararg_ptr5>>2] = $49;
+ $vararg_ptr6 = ((($vararg_buffer1)) + 16|0);
+ HEAP32[$vararg_ptr6>>2] = $51;
+ $vararg_ptr7 = ((($vararg_buffer1)) + 20|0);
+ HEAP32[$vararg_ptr7>>2] = $53;
+ $54 = (__gcry_sexp_build($result,0,35659,$vararg_buffer1)|0);
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ HEAP32[$result>>2] = 0;
+ }
+ $i = 0;
+ while(1) {
+ $56 = $i;
+ $57 = (($pkey) + ($56<<2)|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ($58|0)!=(0|0);
+ if (!($59)) {
+ break;
+ }
+ $60 = $i;
+ $61 = (($pkey) + ($60<<2)|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_release($62);
+ $63 = $i;
+ $64 = (($63) + 1)|0;
+ $i = $64;
+ }
+ $65 = HEAP32[$result>>2]|0;
+ $0 = $65;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+}
+function __gcry_ecc_get_mpi($name,$ec,$copy) {
+ $name = $name|0;
+ $ec = $ec|0;
+ $copy = $copy|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $encpk = 0, $encpklen = 0;
+ var $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $encpk = sp + 4|0;
+ $encpklen = sp;
+ $1 = $name;
+ $2 = $ec;
+ $3 = $copy;
+ $4 = $1;
+ $5 = HEAP8[$4>>0]|0;
+ $6 = ($5<<24>>24)!=(0);
+ if (!($6)) {
+ $0 = 0;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ $7 = $1;
+ $8 = (_strcmp($7,48667)|0);
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $10 = $2;
+ $11 = ((($10)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = $2;
+ $15 = ((($14)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $18 = $2;
+ $19 = ((($18)) + 16|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ((($20)) + 12|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $22 & 32;
+ $24 = ($23|0)==(0);
+ $25 = $3;
+ $26 = ($25|0)!=(0);
+ $or$cond = $24 | $26;
+ if ($or$cond) {
+ label = 8;
+ } else {
+ $27 = $2;
+ $28 = ((($27)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $34 = $29;
+ }
+ } else {
+ label = 8;
+ }
+ if ((label|0) == 8) {
+ $30 = $2;
+ $31 = ((($30)) + 16|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (__gcry_mpi_copy($32)|0);
+ $34 = $33;
+ }
+ $0 = $34;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $35 = $1;
+ $36 = (_strcmp($35,39393)|0);
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ $38 = $2;
+ $39 = ((($38)) + 20|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ($40|0)!=(0|0);
+ if ($41) {
+ $42 = $2;
+ $43 = ((($42)) + 20|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ($44|0)!=(0|0);
+ if ($45) {
+ $46 = $2;
+ $47 = ((($46)) + 20|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ((($48)) + 12|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $50 & 32;
+ $52 = ($51|0)==(0);
+ $53 = $3;
+ $54 = ($53|0)!=(0);
+ $or$cond3 = $52 | $54;
+ if ($or$cond3) {
+ label = 15;
+ } else {
+ $55 = $2;
+ $56 = ((($55)) + 20|0);
+ $57 = HEAP32[$56>>2]|0;
+ $62 = $57;
+ }
+ } else {
+ label = 15;
+ }
+ if ((label|0) == 15) {
+ $58 = $2;
+ $59 = ((($58)) + 20|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (__gcry_mpi_copy($60)|0);
+ $62 = $61;
+ }
+ $0 = $62;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $63 = $1;
+ $64 = (_strcmp($63,35593)|0);
+ $65 = ($64|0)!=(0);
+ if (!($65)) {
+ $66 = $2;
+ $67 = ((($66)) + 24|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ($68|0)!=(0|0);
+ if ($69) {
+ $70 = $2;
+ $71 = ((($70)) + 24|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ($72|0)!=(0|0);
+ if ($73) {
+ $74 = $2;
+ $75 = ((($74)) + 24|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ((($76)) + 12|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = $78 & 32;
+ $80 = ($79|0)==(0);
+ $81 = $3;
+ $82 = ($81|0)!=(0);
+ $or$cond5 = $80 | $82;
+ if ($or$cond5) {
+ label = 22;
+ } else {
+ $83 = $2;
+ $84 = ((($83)) + 24|0);
+ $85 = HEAP32[$84>>2]|0;
+ $90 = $85;
+ }
+ } else {
+ label = 22;
+ }
+ if ((label|0) == 22) {
+ $86 = $2;
+ $87 = ((($86)) + 24|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (__gcry_mpi_copy($88)|0);
+ $90 = $89;
+ }
+ $0 = $90;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $91 = $1;
+ $92 = (_strcmp($91,39397)|0);
+ $93 = ($92|0)!=(0);
+ if (!($93)) {
+ $94 = $2;
+ $95 = ((($94)) + 32|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = ($96|0)!=(0|0);
+ if ($97) {
+ $98 = $2;
+ $99 = ((($98)) + 32|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = ($100|0)!=(0|0);
+ if ($101) {
+ $102 = $2;
+ $103 = ((($102)) + 32|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = ((($104)) + 12|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $106 & 32;
+ $108 = ($107|0)==(0);
+ $109 = $3;
+ $110 = ($109|0)!=(0);
+ $or$cond7 = $108 | $110;
+ if ($or$cond7) {
+ label = 29;
+ } else {
+ $111 = $2;
+ $112 = ((($111)) + 32|0);
+ $113 = HEAP32[$112>>2]|0;
+ $118 = $113;
+ }
+ } else {
+ label = 29;
+ }
+ if ((label|0) == 29) {
+ $114 = $2;
+ $115 = ((($114)) + 32|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = (__gcry_mpi_copy($116)|0);
+ $118 = $117;
+ }
+ $0 = $118;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $119 = $1;
+ $120 = (_strcmp($119,35606)|0);
+ $121 = ($120|0)!=(0);
+ if (!($121)) {
+ $122 = $2;
+ $123 = ((($122)) + 36|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = ($124|0)!=(0|0);
+ if ($125) {
+ $126 = $2;
+ $127 = ((($126)) + 36|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = ($128|0)!=(0|0);
+ if ($129) {
+ $130 = $2;
+ $131 = ((($130)) + 36|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = ((($132)) + 12|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = $134 & 32;
+ $136 = ($135|0)==(0);
+ $137 = $3;
+ $138 = ($137|0)!=(0);
+ $or$cond9 = $136 | $138;
+ if ($or$cond9) {
+ label = 36;
+ } else {
+ $139 = $2;
+ $140 = ((($139)) + 36|0);
+ $141 = HEAP32[$140>>2]|0;
+ $146 = $141;
+ }
+ } else {
+ label = 36;
+ }
+ if ((label|0) == 36) {
+ $142 = $2;
+ $143 = ((($142)) + 36|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = (__gcry_mpi_copy($144)|0);
+ $146 = $145;
+ }
+ $0 = $146;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $147 = $1;
+ $148 = (_strcmp($147,35608)|0);
+ $149 = ($148|0)!=(0);
+ if (!($149)) {
+ $150 = $2;
+ $151 = ((($150)) + 44|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = ($152|0)!=(0|0);
+ if ($153) {
+ $154 = $2;
+ $155 = ((($154)) + 44|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = ($156|0)!=(0|0);
+ if ($157) {
+ $158 = $2;
+ $159 = ((($158)) + 44|0);
+ $160 = HEAP32[$159>>2]|0;
+ $161 = ((($160)) + 12|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = $162 & 32;
+ $164 = ($163|0)==(0);
+ $165 = $3;
+ $166 = ($165|0)!=(0);
+ $or$cond11 = $164 | $166;
+ if ($or$cond11) {
+ label = 43;
+ } else {
+ $167 = $2;
+ $168 = ((($167)) + 44|0);
+ $169 = HEAP32[$168>>2]|0;
+ $174 = $169;
+ }
+ } else {
+ label = 43;
+ }
+ if ((label|0) == 43) {
+ $170 = $2;
+ $171 = ((($170)) + 44|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = (__gcry_mpi_copy($172)|0);
+ $174 = $173;
+ }
+ $0 = $174;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $175 = $1;
+ $176 = (_strcmp($175,35707)|0);
+ $177 = ($176|0)!=(0);
+ if (!($177)) {
+ $178 = $2;
+ $179 = ((($178)) + 28|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = ($180|0)!=(0|0);
+ if ($181) {
+ $182 = $2;
+ $183 = ((($182)) + 28|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = HEAP32[$184>>2]|0;
+ $186 = ($185|0)!=(0|0);
+ if ($186) {
+ $187 = $2;
+ $188 = ((($187)) + 28|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = HEAP32[$189>>2]|0;
+ $191 = ($190|0)!=(0|0);
+ if ($191) {
+ $192 = $2;
+ $193 = ((($192)) + 28|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = HEAP32[$194>>2]|0;
+ $196 = ((($195)) + 12|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = $197 & 32;
+ $199 = ($198|0)==(0);
+ $200 = $3;
+ $201 = ($200|0)!=(0);
+ $or$cond13 = $199 | $201;
+ if ($or$cond13) {
+ label = 51;
+ } else {
+ $202 = $2;
+ $203 = ((($202)) + 28|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = HEAP32[$204>>2]|0;
+ $211 = $205;
+ }
+ } else {
+ label = 51;
+ }
+ if ((label|0) == 51) {
+ $206 = $2;
+ $207 = ((($206)) + 28|0);
+ $208 = HEAP32[$207>>2]|0;
+ $209 = HEAP32[$208>>2]|0;
+ $210 = (__gcry_mpi_copy($209)|0);
+ $211 = $210;
+ }
+ $0 = $211;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ }
+ $212 = $1;
+ $213 = (_strcmp($212,35711)|0);
+ $214 = ($213|0)!=(0);
+ if (!($214)) {
+ $215 = $2;
+ $216 = ((($215)) + 28|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = ($217|0)!=(0|0);
+ if ($218) {
+ $219 = $2;
+ $220 = ((($219)) + 28|0);
+ $221 = HEAP32[$220>>2]|0;
+ $222 = ((($221)) + 4|0);
+ $223 = HEAP32[$222>>2]|0;
+ $224 = ($223|0)!=(0|0);
+ if ($224) {
+ $225 = $2;
+ $226 = ((($225)) + 28|0);
+ $227 = HEAP32[$226>>2]|0;
+ $228 = ((($227)) + 4|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = ($229|0)!=(0|0);
+ if ($230) {
+ $231 = $2;
+ $232 = ((($231)) + 28|0);
+ $233 = HEAP32[$232>>2]|0;
+ $234 = ((($233)) + 4|0);
+ $235 = HEAP32[$234>>2]|0;
+ $236 = ((($235)) + 12|0);
+ $237 = HEAP32[$236>>2]|0;
+ $238 = $237 & 32;
+ $239 = ($238|0)==(0);
+ $240 = $3;
+ $241 = ($240|0)!=(0);
+ $or$cond15 = $239 | $241;
+ if ($or$cond15) {
+ label = 59;
+ } else {
+ $242 = $2;
+ $243 = ((($242)) + 28|0);
+ $244 = HEAP32[$243>>2]|0;
+ $245 = ((($244)) + 4|0);
+ $246 = HEAP32[$245>>2]|0;
+ $253 = $246;
+ }
+ } else {
+ label = 59;
+ }
+ if ((label|0) == 59) {
+ $247 = $2;
+ $248 = ((($247)) + 28|0);
+ $249 = HEAP32[$248>>2]|0;
+ $250 = ((($249)) + 4|0);
+ $251 = HEAP32[$250>>2]|0;
+ $252 = (__gcry_mpi_copy($251)|0);
+ $253 = $252;
+ }
+ $0 = $253;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ }
+ $254 = $1;
+ $255 = (_strcmp($254,35715)|0);
+ $256 = ($255|0)!=(0);
+ if (!($256)) {
+ $257 = $2;
+ $258 = ((($257)) + 40|0);
+ $259 = HEAP32[$258>>2]|0;
+ $260 = ($259|0)!=(0|0);
+ if ($260) {
+ $261 = $2;
+ $262 = ((($261)) + 40|0);
+ $263 = HEAP32[$262>>2]|0;
+ $264 = HEAP32[$263>>2]|0;
+ $265 = ($264|0)!=(0|0);
+ if ($265) {
+ $266 = $2;
+ $267 = ((($266)) + 40|0);
+ $268 = HEAP32[$267>>2]|0;
+ $269 = HEAP32[$268>>2]|0;
+ $270 = ($269|0)!=(0|0);
+ if ($270) {
+ $271 = $2;
+ $272 = ((($271)) + 40|0);
+ $273 = HEAP32[$272>>2]|0;
+ $274 = HEAP32[$273>>2]|0;
+ $275 = ((($274)) + 12|0);
+ $276 = HEAP32[$275>>2]|0;
+ $277 = $276 & 32;
+ $278 = ($277|0)==(0);
+ $279 = $3;
+ $280 = ($279|0)!=(0);
+ $or$cond17 = $278 | $280;
+ if ($or$cond17) {
+ label = 67;
+ } else {
+ $281 = $2;
+ $282 = ((($281)) + 40|0);
+ $283 = HEAP32[$282>>2]|0;
+ $284 = HEAP32[$283>>2]|0;
+ $290 = $284;
+ }
+ } else {
+ label = 67;
+ }
+ if ((label|0) == 67) {
+ $285 = $2;
+ $286 = ((($285)) + 40|0);
+ $287 = HEAP32[$286>>2]|0;
+ $288 = HEAP32[$287>>2]|0;
+ $289 = (__gcry_mpi_copy($288)|0);
+ $290 = $289;
+ }
+ $0 = $290;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ }
+ $291 = $1;
+ $292 = (_strcmp($291,35719)|0);
+ $293 = ($292|0)!=(0);
+ if (!($293)) {
+ $294 = $2;
+ $295 = ((($294)) + 40|0);
+ $296 = HEAP32[$295>>2]|0;
+ $297 = ($296|0)!=(0|0);
+ if ($297) {
+ $298 = $2;
+ $299 = ((($298)) + 40|0);
+ $300 = HEAP32[$299>>2]|0;
+ $301 = ((($300)) + 4|0);
+ $302 = HEAP32[$301>>2]|0;
+ $303 = ($302|0)!=(0|0);
+ if ($303) {
+ $304 = $2;
+ $305 = ((($304)) + 28|0);
+ $306 = HEAP32[$305>>2]|0;
+ $307 = ((($306)) + 4|0);
+ $308 = HEAP32[$307>>2]|0;
+ $309 = ($308|0)!=(0|0);
+ if ($309) {
+ $310 = $2;
+ $311 = ((($310)) + 28|0);
+ $312 = HEAP32[$311>>2]|0;
+ $313 = ((($312)) + 4|0);
+ $314 = HEAP32[$313>>2]|0;
+ $315 = ((($314)) + 12|0);
+ $316 = HEAP32[$315>>2]|0;
+ $317 = $316 & 32;
+ $318 = ($317|0)==(0);
+ $319 = $3;
+ $320 = ($319|0)!=(0);
+ $or$cond19 = $318 | $320;
+ if ($or$cond19) {
+ label = 75;
+ } else {
+ $321 = $2;
+ $322 = ((($321)) + 40|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = ((($323)) + 4|0);
+ $325 = HEAP32[$324>>2]|0;
+ $332 = $325;
+ }
+ } else {
+ label = 75;
+ }
+ if ((label|0) == 75) {
+ $326 = $2;
+ $327 = ((($326)) + 40|0);
+ $328 = HEAP32[$327>>2]|0;
+ $329 = ((($328)) + 4|0);
+ $330 = HEAP32[$329>>2]|0;
+ $331 = (__gcry_mpi_copy($330)|0);
+ $332 = $331;
+ }
+ $0 = $332;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ }
+ $333 = $1;
+ $334 = (_strcmp($333,35595)|0);
+ $335 = ($334|0)!=(0);
+ if (!($335)) {
+ $336 = $2;
+ $337 = ((($336)) + 28|0);
+ $338 = HEAP32[$337>>2]|0;
+ $339 = ($338|0)!=(0|0);
+ if ($339) {
+ $340 = $2;
+ $341 = ((($340)) + 28|0);
+ $342 = HEAP32[$341>>2]|0;
+ $343 = $2;
+ $344 = (__gcry_mpi_ec_ec2os($342,$343)|0);
+ $0 = $344;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ $345 = $1;
+ $346 = HEAP8[$345>>0]|0;
+ $347 = $346 << 24 >> 24;
+ $348 = ($347|0)==(113);
+ do {
+ if ($348) {
+ $349 = $1;
+ $350 = ((($349)) + 1|0);
+ $351 = HEAP8[$350>>0]|0;
+ $352 = ($351<<24>>24)!=(0);
+ if ($352) {
+ $353 = $1;
+ $354 = ((($353)) + 1|0);
+ $355 = HEAP8[$354>>0]|0;
+ $356 = $355 << 24 >> 24;
+ $357 = ($356|0)==(64);
+ if (!($357)) {
+ break;
+ }
+ }
+ $358 = $2;
+ $359 = ((($358)) + 40|0);
+ $360 = HEAP32[$359>>2]|0;
+ $361 = ($360|0)!=(0|0);
+ if (!($361)) {
+ $362 = $2;
+ $363 = (__gcry_ecc_compute_public(0,$362,0,0)|0);
+ $364 = $2;
+ $365 = ((($364)) + 40|0);
+ HEAP32[$365>>2] = $363;
+ }
+ $366 = $2;
+ $367 = ((($366)) + 40|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = ($368|0)!=(0|0);
+ if (!($369)) {
+ $0 = 0;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ $370 = $1;
+ $371 = ((($370)) + 1|0);
+ $372 = HEAP8[$371>>0]|0;
+ $373 = $372 << 24 >> 24;
+ $374 = ($373|0)!=(64);
+ if ($374) {
+ $375 = $2;
+ $376 = ((($375)) + 40|0);
+ $377 = HEAP32[$376>>2]|0;
+ $378 = $2;
+ $379 = (__gcry_mpi_ec_ec2os($377,$378)|0);
+ $0 = $379;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ $380 = $1;
+ $381 = ((($380)) + 2|0);
+ $382 = (_strcmp($381,47150)|0);
+ $383 = ($382|0)!=(0);
+ if (!($383)) {
+ $384 = $2;
+ $385 = HEAP32[$384>>2]|0;
+ $386 = ($385|0)==(2);
+ if ($386) {
+ $387 = $2;
+ $388 = ((($387)) + 40|0);
+ $389 = HEAP32[$388>>2]|0;
+ $390 = $2;
+ $391 = (__gcry_ecc_eddsa_encodepoint($389,$390,0,0,0,$encpk,$encpklen)|0);
+ $392 = ($391|0)!=(0);
+ if ($392) {
+ break;
+ }
+ $393 = HEAP32[$encpk>>2]|0;
+ $394 = HEAP32[$encpklen>>2]|0;
+ $395 = $394<<3;
+ $396 = (__gcry_mpi_set_opaque(0,$393,$395)|0);
+ $0 = $396;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+ }
+ }
+ }
+ } while(0);
+ $0 = 0;
+ $397 = $0;
+ STACKTOP = sp;return ($397|0);
+}
+function __gcry_ecc_get_point($name,$ec) {
+ $name = $name|0;
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $name;
+ $2 = $ec;
+ $3 = $1;
+ $4 = (_strcmp($3,35595)|0);
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = $2;
+ $7 = ((($6)) + 28|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $2;
+ $11 = ((($10)) + 28|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_point_copy($12)|0);
+ $0 = $13;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ }
+ $14 = $1;
+ $15 = (_strcmp($14,49895)|0);
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $2;
+ $18 = ((($17)) + 40|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($19|0)!=(0|0);
+ if (!($20)) {
+ $21 = $2;
+ $22 = (__gcry_ecc_compute_public(0,$21,0,0)|0);
+ $23 = $2;
+ $24 = ((($23)) + 40|0);
+ HEAP32[$24>>2] = $22;
+ }
+ $25 = $2;
+ $26 = ((($25)) + 40|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)!=(0|0);
+ if ($28) {
+ $29 = $2;
+ $30 = ((($29)) + 40|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (_point_copy($31)|0);
+ $0 = $32;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ }
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+}
+function _point_copy($point) {
+ $point = $point|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $newpoint = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $point;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ $3 = (__gcry_mpi_point_new(0)|0);
+ $newpoint = $3;
+ $4 = $newpoint;
+ $5 = $0;
+ _point_set($4,$5);
+ } else {
+ $newpoint = 0;
+ }
+ $6 = $newpoint;
+ STACKTOP = sp;return ($6|0);
+}
+function _point_set($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($3,$5)|0);
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $1;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ (__gcry_mpi_set($8,$11)|0);
+ $12 = $0;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set($14,$17)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_ecc_eddsa_encodepoint($point,$ec,$x_in,$y_in,$with_prefix,$r_buffer,$r_buflen) {
+ $point = $point|0;
+ $ec = $ec|0;
+ $x_in = $x_in|0;
+ $y_in = $y_in|0;
+ $with_prefix = $with_prefix|0;
+ $r_buffer = $r_buffer|0;
+ $r_buflen = $r_buflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $rc = 0, $vararg_buffer = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $point;
+ $1 = $ec;
+ $2 = $x_in;
+ $3 = $y_in;
+ $4 = $with_prefix;
+ $5 = $r_buffer;
+ $6 = $r_buflen;
+ $7 = $2;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $2;
+ $11 = $9;
+ } else {
+ $10 = (__gcry_mpi_new(0)|0);
+ $11 = $10;
+ }
+ $x = $11;
+ $12 = $3;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = $3;
+ $16 = $14;
+ } else {
+ $15 = (__gcry_mpi_new(0)|0);
+ $16 = $15;
+ }
+ $y = $16;
+ $17 = $x;
+ $18 = $y;
+ $19 = $0;
+ $20 = $1;
+ $21 = (__gcry_mpi_ec_get_affine($17,$18,$19,$20)|0);
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ __gcry_log_error(35723,$vararg_buffer);
+ $rc = 63;
+ } else {
+ $23 = $x;
+ $24 = $y;
+ $25 = $1;
+ $26 = ((($25)) + 12|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($27>>>0) / 8)&-1;
+ $29 = $4;
+ $30 = $5;
+ $31 = $6;
+ $32 = (_eddsa_encode_x_y($23,$24,$28,$29,$30,$31)|0);
+ $rc = $32;
+ }
+ $33 = $2;
+ $34 = ($33|0)!=(0|0);
+ if (!($34)) {
+ $35 = $x;
+ __gcry_mpi_free($35);
+ }
+ $36 = $3;
+ $37 = ($36|0)!=(0|0);
+ if ($37) {
+ $39 = $rc;
+ STACKTOP = sp;return ($39|0);
+ }
+ $38 = $y;
+ __gcry_mpi_free($38);
+ $39 = $rc;
+ STACKTOP = sp;return ($39|0);
+}
+function _eddsa_encode_x_y($x,$y,$minlen,$with_prefix,$r_buffer,$r_buflen) {
+ $x = $x|0;
+ $y = $y|0;
+ $minlen = $minlen|0;
+ $with_prefix = $with_prefix|0;
+ $r_buffer = $r_buffer|0;
+ $r_buflen = $r_buflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $off = 0, $or$cond = 0, $rawmpi = 0, $rawmpilen = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $rawmpilen = sp + 4|0;
+ $1 = $x;
+ $2 = $y;
+ $3 = $minlen;
+ $4 = $with_prefix;
+ $5 = $r_buffer;
+ $6 = $r_buflen;
+ $7 = $4;
+ $8 = ($7|0)!=(0);
+ $9 = $8 ? 1 : 0;
+ $off = $9;
+ $10 = $2;
+ $11 = $3;
+ $12 = $off;
+ $13 = ($12|0)!=(0);
+ $14 = $13 ? -1 : 0;
+ $15 = (__gcry_mpi_get_buffer_extra($10,$11,$14,$rawmpilen,0)|0);
+ $rawmpi = $15;
+ $16 = $rawmpi;
+ $17 = ($16|0)!=(0|0);
+ if (!($17)) {
+ $18 = (_gpg_err_code_from_syserror()|0);
+ $0 = $18;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $19 = $1;
+ $20 = (__gcry_mpi_test_bit($19,0)|0);
+ $21 = ($20|0)!=(0);
+ $22 = HEAP32[$rawmpilen>>2]|0;
+ $23 = ($22|0)!=(0);
+ $or$cond = $21 & $23;
+ if ($or$cond) {
+ $24 = $off;
+ $25 = HEAP32[$rawmpilen>>2]|0;
+ $26 = (($24) + ($25))|0;
+ $27 = (($26) - 1)|0;
+ $28 = $rawmpi;
+ $29 = (($28) + ($27)|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ $32 = $31 | 128;
+ $33 = $32&255;
+ HEAP8[$29>>0] = $33;
+ }
+ $34 = $off;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ $36 = $rawmpi;
+ HEAP8[$36>>0] = 64;
+ }
+ $37 = $rawmpi;
+ $38 = $5;
+ HEAP32[$38>>2] = $37;
+ $39 = HEAP32[$rawmpilen>>2]|0;
+ $40 = $off;
+ $41 = (($39) + ($40))|0;
+ $42 = $6;
+ HEAP32[$42>>2] = $41;
+ $0 = 0;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+}
+function __gcry_ecc_eddsa_ensure_compact($value,$nbits) {
+ $value = $value|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $buf = 0, $enc = 0, $enclen = 0, $rawmpilen = 0, $rc = 0;
+ var $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $rawmpilen = sp + 16|0;
+ $x = sp + 12|0;
+ $y = sp + 8|0;
+ $enc = sp + 4|0;
+ $enclen = sp;
+ $1 = $value;
+ $2 = $nbits;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $1;
+ $6 = ((($5)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 4;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = $1;
+ $11 = (__gcry_mpi_get_opaque($10,$rawmpilen)|0);
+ $buf = $11;
+ $12 = $buf;
+ $13 = ($12|0)!=(0|0);
+ if (!($13)) {
+ $0 = 65;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $14 = HEAP32[$rawmpilen>>2]|0;
+ $15 = (($14) + 7)|0;
+ $16 = (($15>>>0) / 8)&-1;
+ HEAP32[$rawmpilen>>2] = $16;
+ $17 = HEAP32[$rawmpilen>>2]|0;
+ $18 = ($17>>>0)>(1);
+ do {
+ if ($18) {
+ $19 = HEAP32[$rawmpilen>>2]|0;
+ $20 = (($19>>>0) % 2)&-1;
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ $22 = $buf;
+ $23 = HEAP8[$22>>0]|0;
+ $24 = $23&255;
+ $25 = ($24|0)==(4);
+ $26 = $buf;
+ if (!($25)) {
+ $62 = HEAP8[$26>>0]|0;
+ $63 = $62&255;
+ $64 = ($63|0)==(64);
+ if (!($64)) {
+ break;
+ }
+ $65 = $1;
+ $66 = $buf;
+ $67 = ((($66)) + 1|0);
+ $68 = HEAP32[$rawmpilen>>2]|0;
+ $69 = (($68) - 1)|0;
+ $70 = $69<<3;
+ $71 = (__gcry_mpi_set_opaque_copy($65,$67,$70)|0);
+ $72 = ($71|0)!=(0|0);
+ if ($72) {
+ break;
+ }
+ $73 = (_gpg_err_code_from_syserror()|0);
+ $0 = $73;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $27 = ((($26)) + 1|0);
+ $28 = HEAP32[$rawmpilen>>2]|0;
+ $29 = (($28) - 1)|0;
+ $30 = (($29>>>0) / 2)&-1;
+ $31 = (__gcry_mpi_scan($x,1,$27,$30,0)|0);
+ $rc = $31;
+ $32 = $rc;
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $34 = $rc;
+ $0 = $34;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $35 = $buf;
+ $36 = ((($35)) + 1|0);
+ $37 = HEAP32[$rawmpilen>>2]|0;
+ $38 = (($37) - 1)|0;
+ $39 = (($38>>>0) / 2)&-1;
+ $40 = (($36) + ($39)|0);
+ $41 = HEAP32[$rawmpilen>>2]|0;
+ $42 = (($41) - 1)|0;
+ $43 = (($42>>>0) / 2)&-1;
+ $44 = (__gcry_mpi_scan($y,1,$40,$43,0)|0);
+ $rc = $44;
+ $45 = $rc;
+ $46 = ($45|0)!=(0);
+ $47 = HEAP32[$x>>2]|0;
+ if ($46) {
+ __gcry_mpi_free($47);
+ $48 = $rc;
+ $0 = $48;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ $49 = HEAP32[$y>>2]|0;
+ $50 = $2;
+ $51 = (($50>>>0) / 8)&-1;
+ $52 = (_eddsa_encode_x_y($47,$49,$51,0,$enc,$enclen)|0);
+ $rc = $52;
+ $53 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($53);
+ $54 = HEAP32[$y>>2]|0;
+ __gcry_mpi_free($54);
+ $55 = $rc;
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ $58 = $1;
+ $59 = HEAP32[$enc>>2]|0;
+ $60 = HEAP32[$enclen>>2]|0;
+ $61 = $60<<3;
+ (__gcry_mpi_set_opaque($58,$59,$61)|0);
+ break;
+ }
+ $57 = $rc;
+ $0 = $57;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ }
+ } while(0);
+ $0 = 0;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+ }
+ }
+ $0 = 65;
+ $74 = $0;
+ STACKTOP = sp;return ($74|0);
+}
+function __gcry_ecc_eddsa_recover_x($x,$y,$sign,$ec) {
+ $x = $x|0;
+ $y = $y|0;
+ $sign = $sign|0;
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $rc = 0, $t = 0, $u = 0;
+ var $v = 0, $v3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $x;
+ $2 = $y;
+ $3 = $sign;
+ $4 = $ec;
+ $rc = 0;
+ $5 = $4;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(1);
+ if ($8) {
+ $0 = 69;
+ $136 = $0;
+ STACKTOP = sp;return ($136|0);
+ }
+ $9 = HEAP32[17700]|0;
+ $10 = ($9|0)!=(0|0);
+ if (!($10)) {
+ $11 = (_scanval_826(35776)|0);
+ HEAP32[17700] = $11;
+ }
+ $12 = HEAP32[17701]|0;
+ $13 = ($12|0)!=(0|0);
+ if (!($13)) {
+ $14 = (__gcry_mpi_set_ui(0,7)|0);
+ HEAP32[17701] = $14;
+ }
+ $15 = (__gcry_mpi_new(0)|0);
+ $u = $15;
+ $16 = (__gcry_mpi_new(0)|0);
+ $v = $16;
+ $17 = (__gcry_mpi_new(0)|0);
+ $v3 = $17;
+ $18 = (__gcry_mpi_new(0)|0);
+ $t = $18;
+ $19 = $u;
+ $20 = $2;
+ $21 = $2;
+ $22 = $4;
+ $23 = ((($22)) + 16|0);
+ $24 = HEAP32[$23>>2]|0;
+ __gcry_mpi_mulm($19,$20,$21,$24);
+ $25 = $v;
+ $26 = $4;
+ $27 = ((($26)) + 24|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $u;
+ $30 = $4;
+ $31 = ((($30)) + 16|0);
+ $32 = HEAP32[$31>>2]|0;
+ __gcry_mpi_mulm($25,$28,$29,$32);
+ $33 = $u;
+ $34 = $u;
+ __gcry_mpi_sub_ui($33,$34,1);
+ $35 = $v;
+ $36 = $v;
+ __gcry_mpi_add_ui($35,$36,1);
+ $37 = $v3;
+ $38 = $v;
+ $39 = (__gcry_mpi_const(3)|0);
+ $40 = $4;
+ $41 = ((($40)) + 16|0);
+ $42 = HEAP32[$41>>2]|0;
+ __gcry_mpi_powm($37,$38,$39,$42);
+ $43 = $t;
+ $44 = $v;
+ $45 = HEAP32[17701]|0;
+ $46 = $4;
+ $47 = ((($46)) + 16|0);
+ $48 = HEAP32[$47>>2]|0;
+ __gcry_mpi_powm($43,$44,$45,$48);
+ $49 = $t;
+ $50 = $t;
+ $51 = $u;
+ $52 = $4;
+ $53 = ((($52)) + 16|0);
+ $54 = HEAP32[$53>>2]|0;
+ __gcry_mpi_mulm($49,$50,$51,$54);
+ $55 = $t;
+ $56 = $t;
+ $57 = HEAP32[17700]|0;
+ $58 = $4;
+ $59 = ((($58)) + 16|0);
+ $60 = HEAP32[$59>>2]|0;
+ __gcry_mpi_powm($55,$56,$57,$60);
+ $61 = $t;
+ $62 = $t;
+ $63 = $u;
+ $64 = $4;
+ $65 = ((($64)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ __gcry_mpi_mulm($61,$62,$63,$66);
+ $67 = $1;
+ $68 = $t;
+ $69 = $v3;
+ $70 = $4;
+ $71 = ((($70)) + 16|0);
+ $72 = HEAP32[$71>>2]|0;
+ __gcry_mpi_mulm($67,$68,$69,$72);
+ $73 = $t;
+ $74 = $1;
+ $75 = $1;
+ $76 = $4;
+ $77 = ((($76)) + 16|0);
+ $78 = HEAP32[$77>>2]|0;
+ __gcry_mpi_mulm($73,$74,$75,$78);
+ $79 = $t;
+ $80 = $t;
+ $81 = $v;
+ $82 = $4;
+ $83 = ((($82)) + 16|0);
+ $84 = HEAP32[$83>>2]|0;
+ __gcry_mpi_mulm($79,$80,$81,$84);
+ $85 = $t;
+ $86 = $t;
+ __gcry_mpi_neg($85,$86);
+ $87 = $t;
+ $88 = $u;
+ $89 = (__gcry_mpi_cmp($87,$88)|0);
+ $90 = ($89|0)!=(0);
+ if (!($90)) {
+ $91 = HEAP32[17702]|0;
+ $92 = ($91|0)!=(0|0);
+ if (!($92)) {
+ $93 = (_scanval_826(35876)|0);
+ HEAP32[17702] = $93;
+ }
+ $94 = $1;
+ $95 = $1;
+ $96 = HEAP32[17702]|0;
+ $97 = $4;
+ $98 = ((($97)) + 16|0);
+ $99 = HEAP32[$98>>2]|0;
+ __gcry_mpi_mulm($94,$95,$96,$99);
+ $100 = $t;
+ $101 = $1;
+ $102 = $1;
+ $103 = $4;
+ $104 = ((($103)) + 16|0);
+ $105 = HEAP32[$104>>2]|0;
+ __gcry_mpi_mulm($100,$101,$102,$105);
+ $106 = $t;
+ $107 = $t;
+ $108 = $v;
+ $109 = $4;
+ $110 = ((($109)) + 16|0);
+ $111 = HEAP32[$110>>2]|0;
+ __gcry_mpi_mulm($106,$107,$108,$111);
+ $112 = $t;
+ $113 = $t;
+ __gcry_mpi_neg($112,$113);
+ $114 = $t;
+ $115 = $u;
+ $116 = (__gcry_mpi_cmp($114,$115)|0);
+ $117 = ($116|0)!=(0);
+ if (!($117)) {
+ $rc = 65;
+ }
+ }
+ $118 = $1;
+ $119 = (__gcry_mpi_test_bit($118,0)|0);
+ $120 = $3;
+ $121 = ($120|0)!=(0);
+ $122 = $121 ^ 1;
+ $123 = $122 ^ 1;
+ $124 = $123&1;
+ $125 = ($119|0)!=($124|0);
+ if ($125) {
+ $126 = $1;
+ $127 = $4;
+ $128 = ((($127)) + 16|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = $1;
+ __gcry_mpi_sub($126,$129,$130);
+ }
+ $131 = $t;
+ __gcry_mpi_free($131);
+ $132 = $v3;
+ __gcry_mpi_free($132);
+ $133 = $v;
+ __gcry_mpi_free($133);
+ $134 = $u;
+ __gcry_mpi_free($134);
+ $135 = $rc;
+ $0 = $135;
+ $136 = $0;
+ STACKTOP = sp;return ($136|0);
+}
+function _scanval_826($string) {
+ $string = $string|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $rc = 0, $val = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $val = sp + 4|0;
+ $0 = $string;
+ $1 = $0;
+ $2 = (__gcry_mpi_scan($val,4,$1,0,0)|0);
+ $rc = $2;
+ $3 = $rc;
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $5 = $rc;
+ $6 = (_gpg_strerror($5)|0);
+ HEAP32[$vararg_buffer>>2] = $6;
+ __gcry_log_fatal(35841,$vararg_buffer);
+ // unreachable;
+ } else {
+ $7 = HEAP32[$val>>2]|0;
+ STACKTOP = sp;return ($7|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_eddsa_decodepoint($pk,$ctx,$result,$r_encpk,$r_encpklen) {
+ $pk = $pk|0;
+ $ctx = $ctx|0;
+ $result = $result|0;
+ $r_encpk = $r_encpk|0;
+ $r_encpklen = $r_encpklen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $buf = 0, $or$cond = 0, $rawmpi = 0, $rawmpilen = 0, $rc = 0, $sign = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $rawmpilen = sp + 16|0;
+ $x = sp + 4|0;
+ $y = sp;
+ $1 = $pk;
+ $2 = $ctx;
+ $3 = $result;
+ $4 = $r_encpk;
+ $5 = $r_encpklen;
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ do {
+ if ($7) {
+ $8 = $1;
+ $9 = ((($8)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 4;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $1;
+ $14 = (__gcry_mpi_get_opaque($13,$rawmpilen)|0);
+ $buf = $14;
+ $15 = $buf;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $0 = 65;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ }
+ $17 = HEAP32[$rawmpilen>>2]|0;
+ $18 = (($17) + 7)|0;
+ $19 = (($18>>>0) / 8)&-1;
+ HEAP32[$rawmpilen>>2] = $19;
+ $20 = HEAP32[$rawmpilen>>2]|0;
+ $21 = ($20>>>0)>(1);
+ do {
+ if ($21) {
+ $22 = HEAP32[$rawmpilen>>2]|0;
+ $23 = (($22>>>0) % 2)&-1;
+ $24 = ($23|0)!=(0);
+ if ($24) {
+ $25 = $buf;
+ $26 = HEAP8[$25>>0]|0;
+ $27 = $26&255;
+ $28 = ($27|0)==(4);
+ $29 = $buf;
+ if (!($28)) {
+ $78 = HEAP8[$29>>0]|0;
+ $79 = $78&255;
+ $80 = ($79|0)==(64);
+ if (!($80)) {
+ break;
+ }
+ $81 = HEAP32[$rawmpilen>>2]|0;
+ $82 = (($81) + -1)|0;
+ HEAP32[$rawmpilen>>2] = $82;
+ $83 = $buf;
+ $84 = ((($83)) + 1|0);
+ $buf = $84;
+ break;
+ }
+ $30 = ((($29)) + 1|0);
+ $31 = HEAP32[$rawmpilen>>2]|0;
+ $32 = (($31) - 1)|0;
+ $33 = (($32>>>0) / 2)&-1;
+ $34 = (__gcry_mpi_scan($x,1,$30,$33,0)|0);
+ $rc = $34;
+ $35 = $rc;
+ $36 = ($35|0)!=(0);
+ if ($36) {
+ $37 = $rc;
+ $0 = $37;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ }
+ $38 = $buf;
+ $39 = ((($38)) + 1|0);
+ $40 = HEAP32[$rawmpilen>>2]|0;
+ $41 = (($40) - 1)|0;
+ $42 = (($41>>>0) / 2)&-1;
+ $43 = (($39) + ($42)|0);
+ $44 = HEAP32[$rawmpilen>>2]|0;
+ $45 = (($44) - 1)|0;
+ $46 = (($45>>>0) / 2)&-1;
+ $47 = (__gcry_mpi_scan($y,1,$43,$46,0)|0);
+ $rc = $47;
+ $48 = $rc;
+ $49 = ($48|0)!=(0);
+ if ($49) {
+ $50 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($50);
+ $51 = $rc;
+ $0 = $51;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ }
+ $52 = $4;
+ $53 = ($52|0)!=(0|0);
+ if ($53) {
+ $54 = HEAP32[$x>>2]|0;
+ $55 = HEAP32[$y>>2]|0;
+ $56 = $2;
+ $57 = ((($56)) + 12|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($58>>>0) / 8)&-1;
+ $60 = $4;
+ $61 = $5;
+ $62 = (_eddsa_encode_x_y($54,$55,$59,0,$60,$61)|0);
+ $rc = $62;
+ $63 = $rc;
+ $64 = ($63|0)!=(0);
+ if ($64) {
+ $65 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($65);
+ $66 = HEAP32[$y>>2]|0;
+ __gcry_mpi_free($66);
+ $67 = $rc;
+ $0 = $67;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ }
+ }
+ $68 = $3;
+ $69 = HEAP32[$68>>2]|0;
+ $70 = HEAP32[$x>>2]|0;
+ __gcry_mpi_snatch($69,$70);
+ $71 = $3;
+ $72 = ((($71)) + 4|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = HEAP32[$y>>2]|0;
+ __gcry_mpi_snatch($73,$74);
+ $75 = $3;
+ $76 = ((($75)) + 8|0);
+ $77 = HEAP32[$76>>2]|0;
+ (__gcry_mpi_set_ui($77,1)|0);
+ $0 = 0;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ }
+ }
+ } while(0);
+ $85 = HEAP32[$rawmpilen>>2]|0;
+ $86 = ($85|0)!=(0);
+ $87 = HEAP32[$rawmpilen>>2]|0;
+ $88 = $86 ? $87 : 1;
+ $89 = (__gcry_malloc($88)|0);
+ $rawmpi = $89;
+ $90 = $rawmpi;
+ $91 = ($90|0)!=(0|0);
+ if ($91) {
+ $93 = $rawmpi;
+ $94 = $buf;
+ $95 = HEAP32[$rawmpilen>>2]|0;
+ _memcpy(($93|0),($94|0),($95|0))|0;
+ $96 = $rawmpi;
+ $97 = HEAP32[$rawmpilen>>2]|0;
+ _reverse_buffer_831($96,$97);
+ break;
+ }
+ $92 = (_gpg_err_code_from_syserror()|0);
+ $0 = $92;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ } else {
+ label = 21;
+ }
+ } else {
+ label = 21;
+ }
+ } while(0);
+ if ((label|0) == 21) {
+ $98 = $1;
+ $99 = $2;
+ $100 = ((($99)) + 12|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = (($101>>>0) / 8)&-1;
+ $103 = (__gcry_mpi_get_buffer($98,$102,$rawmpilen,0)|0);
+ $rawmpi = $103;
+ $104 = $rawmpi;
+ $105 = ($104|0)!=(0|0);
+ if (!($105)) {
+ $106 = (_gpg_err_code_from_syserror()|0);
+ $0 = $106;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+ }
+ }
+ $107 = HEAP32[$rawmpilen>>2]|0;
+ $108 = ($107|0)!=(0);
+ if ($108) {
+ $109 = $rawmpi;
+ $110 = HEAP8[$109>>0]|0;
+ $111 = $110&255;
+ $112 = $111 & 128;
+ $113 = ($112|0)!=(0);
+ $114 = $113 ^ 1;
+ $115 = $114 ^ 1;
+ $116 = $115&1;
+ $sign = $116;
+ $117 = $rawmpi;
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118&255;
+ $120 = $119 & 127;
+ $121 = $120&255;
+ HEAP8[$117>>0] = $121;
+ } else {
+ $sign = 0;
+ }
+ $122 = $3;
+ $123 = ((($122)) + 4|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = $rawmpi;
+ $126 = HEAP32[$rawmpilen>>2]|0;
+ __gcry_mpi_set_buffer($124,$125,$126,0);
+ $127 = $4;
+ $128 = ($127|0)!=(0|0);
+ if ($128) {
+ $129 = $sign;
+ $130 = ($129|0)!=(0);
+ $131 = HEAP32[$rawmpilen>>2]|0;
+ $132 = ($131|0)!=(0);
+ $or$cond = $130 & $132;
+ if ($or$cond) {
+ $133 = $rawmpi;
+ $134 = HEAP8[$133>>0]|0;
+ $135 = $134&255;
+ $136 = $135 | 128;
+ $137 = $136&255;
+ HEAP8[$133>>0] = $137;
+ }
+ $138 = $rawmpi;
+ $139 = HEAP32[$rawmpilen>>2]|0;
+ _reverse_buffer_831($138,$139);
+ $140 = $rawmpi;
+ $141 = $4;
+ HEAP32[$141>>2] = $140;
+ $142 = $5;
+ $143 = ($142|0)!=(0|0);
+ if ($143) {
+ $144 = HEAP32[$rawmpilen>>2]|0;
+ $145 = $5;
+ HEAP32[$145>>2] = $144;
+ }
+ } else {
+ $146 = $rawmpi;
+ __gcry_free($146);
+ }
+ $147 = $3;
+ $148 = HEAP32[$147>>2]|0;
+ $149 = $3;
+ $150 = ((($149)) + 4|0);
+ $151 = HEAP32[$150>>2]|0;
+ $152 = $sign;
+ $153 = $2;
+ $154 = (__gcry_ecc_eddsa_recover_x($148,$151,$152,$153)|0);
+ $rc = $154;
+ $155 = $3;
+ $156 = ((($155)) + 8|0);
+ $157 = HEAP32[$156>>2]|0;
+ (__gcry_mpi_set_ui($157,1)|0);
+ $158 = $rc;
+ $0 = $158;
+ $159 = $0;
+ STACKTOP = sp;return ($159|0);
+}
+function _reverse_buffer_831($buffer,$length) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $i = 0;
+ while(1) {
+ $2 = $i;
+ $3 = $1;
+ $4 = (($3>>>0) / 2)&-1;
+ $5 = ($2>>>0)<($4>>>0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $i;
+ $7 = $0;
+ $8 = (($7) + ($6)|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $tmp = $10;
+ $11 = $1;
+ $12 = (($11) - 1)|0;
+ $13 = $i;
+ $14 = (($12) - ($13))|0;
+ $15 = $0;
+ $16 = (($15) + ($14)|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $i;
+ $19 = $0;
+ $20 = (($19) + ($18)|0);
+ HEAP8[$20>>0] = $17;
+ $21 = $tmp;
+ $22 = $21&255;
+ $23 = $1;
+ $24 = (($23) - 1)|0;
+ $25 = $i;
+ $26 = (($24) - ($25))|0;
+ $27 = $0;
+ $28 = (($27) + ($26)|0);
+ HEAP8[$28>>0] = $22;
+ $29 = $i;
+ $30 = (($29) + 1)|0;
+ $i = $30;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_ecc_eddsa_compute_h_d($r_digest,$d,$ec) {
+ $r_digest = $r_digest|0;
+ $d = $d|0;
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $digest = 0, $hashalgo = 0, $hvec = 0, $rawmpi = 0, $rawmpilen = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $rawmpilen = sp + 44|0;
+ $hvec = sp + 8|0;
+ $1 = $r_digest;
+ $2 = $d;
+ $3 = $ec;
+ $rawmpi = 0;
+ $4 = $1;
+ HEAP32[$4>>2] = 0;
+ $hashalgo = 10;
+ $5 = $hashalgo;
+ $6 = ($5|0)!=(10);
+ if ($6) {
+ $0 = 5;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ $7 = $3;
+ $8 = ((($7)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($9) + 7)|0;
+ $11 = (($10>>>0) / 8)&-1;
+ $b = $11;
+ $12 = $b;
+ $13 = ($12|0)!=(32);
+ if ($13) {
+ $0 = 63;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ $14 = $b;
+ $15 = (__gcry_calloc_secure(2,$14)|0);
+ $digest = $15;
+ $16 = $digest;
+ $17 = ($16|0)!=(0|0);
+ if (!($17)) {
+ $18 = (_gpg_err_code_from_syserror()|0);
+ $0 = $18;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ ;HEAP32[$hvec>>2]=0|0;HEAP32[$hvec+4>>2]=0|0;HEAP32[$hvec+8>>2]=0|0;HEAP32[$hvec+12>>2]=0|0;HEAP32[$hvec+16>>2]=0|0;HEAP32[$hvec+20>>2]=0|0;HEAP32[$hvec+24>>2]=0|0;HEAP32[$hvec+28>>2]=0|0;
+ $19 = $2;
+ $20 = (__gcry_mpi_get_buffer($19,0,$rawmpilen,0)|0);
+ $rawmpi = $20;
+ $21 = $rawmpi;
+ $22 = ($21|0)!=(0|0);
+ $23 = $digest;
+ if (!($22)) {
+ __gcry_free($23);
+ $24 = (_gpg_err_code_from_syserror()|0);
+ $0 = $24;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ $25 = ((($hvec)) + 12|0);
+ HEAP32[$25>>2] = $23;
+ $26 = ((($hvec)) + 4|0);
+ HEAP32[$26>>2] = 0;
+ $27 = $b;
+ $28 = HEAP32[$rawmpilen>>2]|0;
+ $29 = ($27>>>0)>($28>>>0);
+ if ($29) {
+ $30 = $b;
+ $31 = HEAP32[$rawmpilen>>2]|0;
+ $32 = (($30) - ($31))|0;
+ $34 = $32;
+ } else {
+ $34 = 0;
+ }
+ $33 = ((($hvec)) + 8|0);
+ HEAP32[$33>>2] = $34;
+ $35 = $rawmpi;
+ $36 = ((($hvec)) + 16|0);
+ $37 = ((($36)) + 12|0);
+ HEAP32[$37>>2] = $35;
+ $38 = ((($hvec)) + 16|0);
+ $39 = ((($38)) + 4|0);
+ HEAP32[$39>>2] = 0;
+ $40 = HEAP32[$rawmpilen>>2]|0;
+ $41 = ((($hvec)) + 16|0);
+ $42 = ((($41)) + 8|0);
+ HEAP32[$42>>2] = $40;
+ $43 = $hashalgo;
+ $44 = $digest;
+ $45 = (__gcry_md_hash_buffers($43,0,$44,$hvec,2)|0);
+ $rc = $45;
+ $46 = $rawmpi;
+ __gcry_free($46);
+ $47 = $rc;
+ $48 = ($47|0)!=(0);
+ $49 = $digest;
+ if ($48) {
+ __gcry_free($49);
+ $50 = $rc;
+ $0 = $50;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ } else {
+ _reverse_buffer_831($49,32);
+ $51 = $digest;
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = $53 & 127;
+ $55 = $54 | 64;
+ $56 = $55&255;
+ $57 = $digest;
+ HEAP8[$57>>0] = $56;
+ $58 = $digest;
+ $59 = ((($58)) + 31|0);
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60&255;
+ $62 = $61 & 248;
+ $63 = $62&255;
+ HEAP8[$59>>0] = $63;
+ $64 = $digest;
+ $65 = $1;
+ HEAP32[$65>>2] = $64;
+ $0 = 0;
+ $66 = $0;
+ STACKTOP = sp;return ($66|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_eddsa_genkey($sk,$E,$ctx,$flags) {
+ $sk = $sk|0;
+ $E = $E|0;
+ $ctx = $ctx|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Q = 0, $a = 0, $b = 0, $dbuf = 0, $dlen = 0, $hash_d = 0, $hvec = 0, $random_level = 0, $rc = 0;
+ var $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $Q = sp + 36|0;
+ $hvec = sp + 8|0;
+ $0 = $sk;
+ $1 = $E;
+ $2 = $ctx;
+ $3 = $flags;
+ $b = 32;
+ $hash_d = 0;
+ __gcry_mpi_point_init($Q);
+ ;HEAP32[$hvec>>2]=0|0;HEAP32[$hvec+4>>2]=0|0;HEAP32[$hvec+8>>2]=0|0;HEAP32[$hvec+12>>2]=0|0;
+ $4 = $3;
+ $5 = $4 & 32;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $random_level = 1;
+ } else {
+ $random_level = 2;
+ }
+ $7 = (__gcry_mpi_snew(0)|0);
+ $a = $7;
+ $8 = (__gcry_mpi_new(0)|0);
+ $x = $8;
+ $9 = (__gcry_mpi_new(0)|0);
+ $y = $9;
+ $10 = $b;
+ $11 = $10<<1;
+ $12 = (__gcry_malloc_secure($11)|0);
+ $hash_d = $12;
+ $13 = $hash_d;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $15 = (_gpg_error_from_syserror()|0);
+ $rc = $15;
+ __gcry_mpi_point_free_parts($Q);
+ $106 = $a;
+ __gcry_mpi_release($106);
+ $107 = $x;
+ __gcry_mpi_release($107);
+ $108 = $y;
+ __gcry_mpi_release($108);
+ $109 = $hash_d;
+ __gcry_free($109);
+ $110 = $rc;
+ STACKTOP = sp;return ($110|0);
+ }
+ $16 = $b;
+ $dlen = $16;
+ $17 = $dlen;
+ $18 = $random_level;
+ $19 = (__gcry_random_bytes_secure($17,$18)|0);
+ $dbuf = $19;
+ $20 = $dbuf;
+ $21 = ((($hvec)) + 12|0);
+ HEAP32[$21>>2] = $20;
+ $22 = $dlen;
+ $23 = ((($hvec)) + 8|0);
+ HEAP32[$23>>2] = $22;
+ $24 = $hash_d;
+ $25 = (__gcry_md_hash_buffers(10,0,$24,$hvec,1)|0);
+ $rc = $25;
+ $26 = $rc;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ __gcry_mpi_point_free_parts($Q);
+ $106 = $a;
+ __gcry_mpi_release($106);
+ $107 = $x;
+ __gcry_mpi_release($107);
+ $108 = $y;
+ __gcry_mpi_release($108);
+ $109 = $hash_d;
+ __gcry_free($109);
+ $110 = $rc;
+ STACKTOP = sp;return ($110|0);
+ }
+ $28 = $dbuf;
+ $29 = $dlen;
+ $30 = $29<<3;
+ $31 = (__gcry_mpi_set_opaque(0,$28,$30)|0);
+ $32 = $0;
+ $33 = ((($32)) + 56|0);
+ HEAP32[$33>>2] = $31;
+ $dbuf = 0;
+ $34 = $hash_d;
+ _reverse_buffer_831($34,32);
+ $35 = $hash_d;
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = $37 & 127;
+ $39 = $38 | 64;
+ $40 = $39&255;
+ $41 = $hash_d;
+ HEAP8[$41>>0] = $40;
+ $42 = $hash_d;
+ $43 = ((($42)) + 31|0);
+ $44 = HEAP8[$43>>0]|0;
+ $45 = $44&255;
+ $46 = $45 & 248;
+ $47 = $46&255;
+ HEAP8[$43>>0] = $47;
+ $48 = $a;
+ $49 = $hash_d;
+ __gcry_mpi_set_buffer($48,$49,32,0);
+ $50 = $hash_d;
+ __gcry_free($50);
+ $hash_d = 0;
+ $51 = $a;
+ $52 = $1;
+ $53 = ((($52)) + 20|0);
+ $54 = $2;
+ __gcry_mpi_ec_mul_point($Q,$51,$53,$54);
+ $55 = (__gcry_get_debug_flag(1)|0);
+ $56 = ($55|0)!=(0);
+ if ($56) {
+ $57 = $2;
+ __gcry_mpi_point_log(35941,$Q,$57);
+ }
+ $58 = $1;
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $0;
+ HEAP32[$60>>2] = $59;
+ $61 = $1;
+ $62 = ((($61)) + 4|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $0;
+ $65 = ((($64)) + 4|0);
+ HEAP32[$65>>2] = $63;
+ $66 = $1;
+ $67 = ((($66)) + 8|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = (__gcry_mpi_copy($68)|0);
+ $70 = $0;
+ $71 = ((($70)) + 8|0);
+ HEAP32[$71>>2] = $69;
+ $72 = $1;
+ $73 = ((($72)) + 12|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (__gcry_mpi_copy($74)|0);
+ $76 = $0;
+ $77 = ((($76)) + 12|0);
+ HEAP32[$77>>2] = $75;
+ $78 = $1;
+ $79 = ((($78)) + 16|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = (__gcry_mpi_copy($80)|0);
+ $82 = $0;
+ $83 = ((($82)) + 16|0);
+ HEAP32[$83>>2] = $81;
+ $84 = $0;
+ $85 = ((($84)) + 20|0);
+ __gcry_mpi_point_init($85);
+ $86 = $0;
+ $87 = ((($86)) + 20|0);
+ $88 = $1;
+ $89 = ((($88)) + 20|0);
+ _point_set_835($87,$89);
+ $90 = $1;
+ $91 = ((($90)) + 32|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = (__gcry_mpi_copy($92)|0);
+ $94 = $0;
+ $95 = ((($94)) + 32|0);
+ HEAP32[$95>>2] = $93;
+ $96 = $1;
+ $97 = ((($96)) + 36|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (__gcry_mpi_copy($98)|0);
+ $100 = $0;
+ $101 = ((($100)) + 36|0);
+ HEAP32[$101>>2] = $99;
+ $102 = $0;
+ $103 = ((($102)) + 44|0);
+ __gcry_mpi_point_init($103);
+ $104 = $0;
+ $105 = ((($104)) + 44|0);
+ _point_set_835($105,$Q);
+ __gcry_mpi_point_free_parts($Q);
+ $106 = $a;
+ __gcry_mpi_release($106);
+ $107 = $x;
+ __gcry_mpi_release($107);
+ $108 = $y;
+ __gcry_mpi_release($108);
+ $109 = $hash_d;
+ __gcry_free($109);
+ $110 = $rc;
+ STACKTOP = sp;return ($110|0);
+}
+function _gpg_error_from_syserror() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_gpg_err_code_from_syserror()|0);
+ $1 = (_gpg_error_832($0)|0);
+ return ($1|0);
+}
+function _gpg_error_832($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_833(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make_833($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function _point_set_835($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($3,$5)|0);
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $1;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ (__gcry_mpi_set($8,$11)|0);
+ $12 = $0;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set($14,$17)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_ecc_eddsa_sign($input,$skey,$r_r,$s,$hashalgo,$pk) {
+ $input = $input|0;
+ $skey = $skey|0;
+ $r_r = $r_r|0;
+ $s = $s|0;
+ $hashalgo = $hashalgo|0;
+ $pk = $pk|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $I = 0, $Q = 0, $a = 0, $b = 0, $ctx = 0;
+ var $digest = 0, $encpk = 0, $encpklen = 0, $hvec = 0, $mbuf = 0, $mlen = 0, $r = 0, $rawmpi = 0, $rawmpilen = 0, $rc = 0, $tmp = 0, $x = 0, $y = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp + 116|0;
+ $digest = sp + 112|0;
+ $hvec = sp + 64|0;
+ $rawmpi = sp + 52|0;
+ $rawmpilen = sp + 48|0;
+ $encpk = sp + 44|0;
+ $encpklen = sp + 40|0;
+ $I = sp + 28|0;
+ $Q = sp + 16|0;
+ $1 = $input;
+ $2 = $skey;
+ $3 = $r_r;
+ $4 = $s;
+ $5 = $hashalgo;
+ $6 = $pk;
+ $ctx = 0;
+ HEAP32[$rawmpi>>2] = 0;
+ HEAP32[$encpk>>2] = 0;
+ dest=$hvec; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $1;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 4;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ __gcry_mpi_point_init($I);
+ __gcry_mpi_point_init($Q);
+ $14 = (__gcry_mpi_snew(0)|0);
+ $a = $14;
+ $15 = (__gcry_mpi_new(0)|0);
+ $x = $15;
+ $16 = (__gcry_mpi_new(0)|0);
+ $y = $16;
+ $17 = (__gcry_mpi_new(0)|0);
+ $r = $17;
+ $18 = $2;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $2;
+ $21 = ((($20)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $2;
+ $24 = ((($23)) + 8|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $2;
+ $27 = ((($26)) + 12|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $2;
+ $30 = ((($29)) + 16|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (__gcry_mpi_ec_p_internal_new($19,$22,0,$25,$28,$31)|0);
+ $ctx = $32;
+ $33 = $ctx;
+ $34 = ((($33)) + 12|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (($35) + 7)|0;
+ $37 = (($36>>>0) / 8)&-1;
+ $b = $37;
+ $38 = $b;
+ $39 = ($38|0)!=(32);
+ if ($39) {
+ $0 = 63;
+ $194 = $0;
+ STACKTOP = sp;return ($194|0);
+ }
+ $40 = $2;
+ $41 = ((($40)) + 56|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $ctx;
+ $44 = (__gcry_ecc_eddsa_compute_h_d($digest,$42,$43)|0);
+ $rc = $44;
+ $45 = $rc;
+ $46 = ($45|0)!=(0);
+ do {
+ if (!($46)) {
+ $47 = $a;
+ $48 = HEAP32[$digest>>2]|0;
+ __gcry_mpi_set_buffer($47,$48,32,0);
+ $49 = $6;
+ $50 = ($49|0)!=(0|0);
+ if ($50) {
+ $51 = $6;
+ $52 = $ctx;
+ $53 = (__gcry_ecc_eddsa_decodepoint($51,$52,$Q,$encpk,$encpklen)|0);
+ $rc = $53;
+ $54 = $rc;
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ break;
+ }
+ $56 = (__gcry_get_debug_flag(1)|0);
+ $57 = ($56|0)!=(0);
+ if ($57) {
+ $58 = HEAP32[$encpk>>2]|0;
+ $59 = HEAP32[$encpklen>>2]|0;
+ __gcry_log_printhex(35955,$58,$59);
+ }
+ $60 = $ctx;
+ $61 = (__gcry_mpi_ec_curve_point($Q,$60)|0);
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ $rc = 195;
+ break;
+ }
+ } else {
+ $63 = $a;
+ $64 = $2;
+ $65 = ((($64)) + 20|0);
+ $66 = $ctx;
+ __gcry_mpi_ec_mul_point($Q,$63,$65,$66);
+ $67 = $ctx;
+ $68 = $x;
+ $69 = $y;
+ $70 = (__gcry_ecc_eddsa_encodepoint($Q,$67,$68,$69,0,$encpk,$encpklen)|0);
+ $rc = $70;
+ $71 = $rc;
+ $72 = ($71|0)!=(0);
+ if ($72) {
+ break;
+ }
+ $73 = (__gcry_get_debug_flag(1)|0);
+ $74 = ($73|0)!=(0);
+ if ($74) {
+ $75 = HEAP32[$encpk>>2]|0;
+ $76 = HEAP32[$encpklen>>2]|0;
+ __gcry_log_printhex(35962,$75,$76);
+ }
+ }
+ $77 = $1;
+ $78 = (__gcry_mpi_get_opaque($77,$tmp)|0);
+ $mbuf = $78;
+ $79 = HEAP32[$tmp>>2]|0;
+ $80 = (($79) + 7)|0;
+ $81 = (($80>>>0) / 8)&-1;
+ $mlen = $81;
+ $82 = (__gcry_get_debug_flag(1)|0);
+ $83 = ($82|0)!=(0);
+ if ($83) {
+ $84 = $mbuf;
+ $85 = $mlen;
+ __gcry_log_printhex(35969,$84,$85);
+ }
+ $86 = HEAP32[$digest>>2]|0;
+ $87 = ((($hvec)) + 12|0);
+ HEAP32[$87>>2] = $86;
+ $88 = ((($hvec)) + 4|0);
+ HEAP32[$88>>2] = 32;
+ $89 = ((($hvec)) + 8|0);
+ HEAP32[$89>>2] = 32;
+ $90 = $mbuf;
+ $91 = ((($hvec)) + 16|0);
+ $92 = ((($91)) + 12|0);
+ HEAP32[$92>>2] = $90;
+ $93 = $mlen;
+ $94 = ((($hvec)) + 16|0);
+ $95 = ((($94)) + 8|0);
+ HEAP32[$95>>2] = $93;
+ $96 = $5;
+ $97 = HEAP32[$digest>>2]|0;
+ $98 = (__gcry_md_hash_buffers($96,0,$97,$hvec,2)|0);
+ $rc = $98;
+ $99 = $rc;
+ $100 = ($99|0)!=(0);
+ if (!($100)) {
+ $101 = HEAP32[$digest>>2]|0;
+ _reverse_buffer_831($101,64);
+ $102 = (__gcry_get_debug_flag(1)|0);
+ $103 = ($102|0)!=(0);
+ if ($103) {
+ $104 = HEAP32[$digest>>2]|0;
+ __gcry_log_printhex(53390,$104,64);
+ }
+ $105 = $r;
+ $106 = HEAP32[$digest>>2]|0;
+ __gcry_mpi_set_buffer($105,$106,64,0);
+ $107 = $r;
+ $108 = $2;
+ $109 = ((($108)) + 20|0);
+ $110 = $ctx;
+ __gcry_mpi_ec_mul_point($I,$107,$109,$110);
+ $111 = (__gcry_get_debug_flag(1)|0);
+ $112 = ($111|0)!=(0);
+ if ($112) {
+ $113 = $ctx;
+ __gcry_mpi_point_log(35976,$I,$113);
+ }
+ $114 = $ctx;
+ $115 = $x;
+ $116 = $y;
+ $117 = (__gcry_ecc_eddsa_encodepoint($I,$114,$115,$116,0,$rawmpi,$rawmpilen)|0);
+ $rc = $117;
+ $118 = $rc;
+ $119 = ($118|0)!=(0);
+ if (!($119)) {
+ $120 = (__gcry_get_debug_flag(1)|0);
+ $121 = ($120|0)!=(0);
+ if ($121) {
+ $122 = HEAP32[$rawmpi>>2]|0;
+ $123 = HEAP32[$rawmpilen>>2]|0;
+ __gcry_log_printhex(35981,$122,$123);
+ }
+ $124 = HEAP32[$rawmpi>>2]|0;
+ $125 = ((($hvec)) + 12|0);
+ HEAP32[$125>>2] = $124;
+ $126 = ((($hvec)) + 4|0);
+ HEAP32[$126>>2] = 0;
+ $127 = HEAP32[$rawmpilen>>2]|0;
+ $128 = ((($hvec)) + 8|0);
+ HEAP32[$128>>2] = $127;
+ $129 = HEAP32[$encpk>>2]|0;
+ $130 = ((($hvec)) + 16|0);
+ $131 = ((($130)) + 12|0);
+ HEAP32[$131>>2] = $129;
+ $132 = ((($hvec)) + 16|0);
+ $133 = ((($132)) + 4|0);
+ HEAP32[$133>>2] = 0;
+ $134 = HEAP32[$encpklen>>2]|0;
+ $135 = ((($hvec)) + 16|0);
+ $136 = ((($135)) + 8|0);
+ HEAP32[$136>>2] = $134;
+ $137 = $mbuf;
+ $138 = ((($hvec)) + 32|0);
+ $139 = ((($138)) + 12|0);
+ HEAP32[$139>>2] = $137;
+ $140 = ((($hvec)) + 32|0);
+ $141 = ((($140)) + 4|0);
+ HEAP32[$141>>2] = 0;
+ $142 = $mlen;
+ $143 = ((($hvec)) + 32|0);
+ $144 = ((($143)) + 8|0);
+ HEAP32[$144>>2] = $142;
+ $145 = $5;
+ $146 = HEAP32[$digest>>2]|0;
+ $147 = (__gcry_md_hash_buffers($145,0,$146,$hvec,3)|0);
+ $rc = $147;
+ $148 = $rc;
+ $149 = ($148|0)!=(0);
+ if (!($149)) {
+ $150 = $3;
+ $151 = HEAP32[$rawmpi>>2]|0;
+ $152 = HEAP32[$rawmpilen>>2]|0;
+ $153 = $152<<3;
+ (__gcry_mpi_set_opaque($150,$151,$153)|0);
+ HEAP32[$rawmpi>>2] = 0;
+ $154 = HEAP32[$digest>>2]|0;
+ _reverse_buffer_831($154,64);
+ $155 = (__gcry_get_debug_flag(1)|0);
+ $156 = ($155|0)!=(0);
+ if ($156) {
+ $157 = HEAP32[$digest>>2]|0;
+ __gcry_log_printhex(35988,$157,64);
+ }
+ $158 = $4;
+ $159 = HEAP32[$digest>>2]|0;
+ __gcry_mpi_set_buffer($158,$159,64,0);
+ $160 = $4;
+ $161 = $4;
+ $162 = $a;
+ $163 = $2;
+ $164 = ((($163)) + 32|0);
+ $165 = HEAP32[$164>>2]|0;
+ __gcry_mpi_mulm($160,$161,$162,$165);
+ $166 = $4;
+ $167 = $4;
+ $168 = $r;
+ $169 = $2;
+ $170 = ((($169)) + 32|0);
+ $171 = HEAP32[$170>>2]|0;
+ __gcry_mpi_addm($166,$167,$168,$171);
+ $172 = $4;
+ $173 = $b;
+ $174 = (_eddsa_encodempi($172,$173,$rawmpi,$rawmpilen)|0);
+ $rc = $174;
+ $175 = $rc;
+ $176 = ($175|0)!=(0);
+ if (!($176)) {
+ $177 = (__gcry_get_debug_flag(1)|0);
+ $178 = ($177|0)!=(0);
+ if ($178) {
+ $179 = HEAP32[$rawmpi>>2]|0;
+ $180 = HEAP32[$rawmpilen>>2]|0;
+ __gcry_log_printhex(35995,$179,$180);
+ }
+ $181 = $4;
+ $182 = HEAP32[$rawmpi>>2]|0;
+ $183 = HEAP32[$rawmpilen>>2]|0;
+ $184 = $183<<3;
+ (__gcry_mpi_set_opaque($181,$182,$184)|0);
+ HEAP32[$rawmpi>>2] = 0;
+ $rc = 0;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $185 = $a;
+ __gcry_mpi_release($185);
+ $186 = $x;
+ __gcry_mpi_release($186);
+ $187 = $y;
+ __gcry_mpi_release($187);
+ $188 = $r;
+ __gcry_mpi_release($188);
+ $189 = HEAP32[$digest>>2]|0;
+ __gcry_free($189);
+ $190 = $ctx;
+ __gcry_mpi_ec_free($190);
+ __gcry_mpi_point_free_parts($I);
+ __gcry_mpi_point_free_parts($Q);
+ $191 = HEAP32[$encpk>>2]|0;
+ __gcry_free($191);
+ $192 = HEAP32[$rawmpi>>2]|0;
+ __gcry_free($192);
+ $193 = $rc;
+ $0 = $193;
+ $194 = $0;
+ STACKTOP = sp;return ($194|0);
+ }
+ }
+ $0 = 79;
+ $194 = $0;
+ STACKTOP = sp;return ($194|0);
+}
+function _eddsa_encodempi($mpi,$minlen,$r_buffer,$r_buflen) {
+ $mpi = $mpi|0;
+ $minlen = $minlen|0;
+ $r_buffer = $r_buffer|0;
+ $r_buflen = $r_buflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rawmpi = 0, $rawmpilen = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $rawmpilen = sp;
+ $1 = $mpi;
+ $2 = $minlen;
+ $3 = $r_buffer;
+ $4 = $r_buflen;
+ $5 = $1;
+ $6 = $2;
+ $7 = (__gcry_mpi_get_buffer($5,$6,$rawmpilen,0)|0);
+ $rawmpi = $7;
+ $8 = $rawmpi;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $11 = $rawmpi;
+ $12 = $3;
+ HEAP32[$12>>2] = $11;
+ $13 = HEAP32[$rawmpilen>>2]|0;
+ $14 = $4;
+ HEAP32[$14>>2] = $13;
+ $0 = 0;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ } else {
+ $10 = (_gpg_err_code_from_syserror()|0);
+ $0 = $10;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_eddsa_verify($input,$pkey,$r_in,$s_in,$hashalgo,$pk) {
+ $input = $input|0;
+ $pkey = $pkey|0;
+ $r_in = $r_in|0;
+ $s_in = $s_in|0;
+ $hashalgo = $hashalgo|0;
+ $pk = $pk|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Ia = 0, $Ib = 0, $Q = 0, $b = 0, $ctx = 0, $digest = 0, $encpk = 0, $encpklen = 0, $h = 0, $hvec = 0, $mbuf = 0, $mlen = 0, $or$cond = 0, $or$cond3 = 0, $rbuf = 0;
+ var $rc = 0, $rlen = 0, $s = 0, $sbuf = 0, $slen = 0, $tbuf = 0, $tlen = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp + 132|0;
+ $Q = sp + 120|0;
+ $encpk = sp + 116|0;
+ $encpklen = sp + 112|0;
+ $tbuf = sp + 100|0;
+ $tlen = sp + 88|0;
+ $digest = sp + 176|0;
+ $hvec = sp + 40|0;
+ $Ia = sp + 20|0;
+ $Ib = sp + 8|0;
+ $1 = $input;
+ $2 = $pkey;
+ $3 = $r_in;
+ $4 = $s_in;
+ $5 = $hashalgo;
+ $6 = $pk;
+ $ctx = 0;
+ HEAP32[$encpk>>2] = 0;
+ HEAP32[$tbuf>>2] = 0;
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $1;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 4;
+ $13 = ($12|0)!=(0);
+ $14 = $3;
+ $15 = ($14|0)!=(0|0);
+ $or$cond = $13 & $15;
+ if ($or$cond) {
+ $16 = $3;
+ $17 = ((($16)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $18 & 4;
+ $20 = ($19|0)!=(0);
+ $21 = $4;
+ $22 = ($21|0)!=(0|0);
+ $or$cond3 = $20 & $22;
+ if ($or$cond3) {
+ $23 = $4;
+ $24 = ((($23)) + 12|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $25 & 4;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ $28 = $5;
+ $29 = ($28|0)!=(10);
+ if ($29) {
+ $0 = 5;
+ $164 = $0;
+ STACKTOP = sp;return ($164|0);
+ }
+ __gcry_mpi_point_init($Q);
+ __gcry_mpi_point_init($Ia);
+ __gcry_mpi_point_init($Ib);
+ $30 = (__gcry_mpi_new(0)|0);
+ $h = $30;
+ $31 = (__gcry_mpi_new(0)|0);
+ $s = $31;
+ $32 = $2;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $2;
+ $35 = ((($34)) + 4|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $2;
+ $38 = ((($37)) + 8|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $2;
+ $41 = ((($40)) + 12|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $2;
+ $44 = ((($43)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (__gcry_mpi_ec_p_internal_new($33,$36,0,$39,$42,$45)|0);
+ $ctx = $46;
+ $47 = $ctx;
+ $48 = ((($47)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (($49>>>0) / 8)&-1;
+ $b = $50;
+ $51 = $b;
+ $52 = ($51|0)!=(32);
+ if ($52) {
+ $0 = 63;
+ $164 = $0;
+ STACKTOP = sp;return ($164|0);
+ }
+ $53 = $6;
+ $54 = $ctx;
+ $55 = (__gcry_ecc_eddsa_decodepoint($53,$54,$Q,$encpk,$encpklen)|0);
+ $rc = $55;
+ $56 = $rc;
+ $57 = ($56|0)!=(0);
+ L14: do {
+ if (!($57)) {
+ $58 = $ctx;
+ $59 = (__gcry_mpi_ec_curve_point($Q,$58)|0);
+ $60 = ($59|0)!=(0);
+ if (!($60)) {
+ $rc = 195;
+ break;
+ }
+ $61 = (__gcry_get_debug_flag(1)|0);
+ $62 = ($61|0)!=(0);
+ if ($62) {
+ $63 = HEAP32[$encpk>>2]|0;
+ $64 = HEAP32[$encpklen>>2]|0;
+ __gcry_log_printhex(35962,$63,$64);
+ }
+ $65 = HEAP32[$encpklen>>2]|0;
+ $66 = $b;
+ $67 = ($65|0)!=($66|0);
+ if ($67) {
+ $rc = 139;
+ break;
+ }
+ $68 = $1;
+ $69 = (__gcry_mpi_get_opaque($68,$tmp)|0);
+ $mbuf = $69;
+ $70 = HEAP32[$tmp>>2]|0;
+ $71 = (($70) + 7)|0;
+ $72 = (($71>>>0) / 8)&-1;
+ $mlen = $72;
+ $73 = (__gcry_get_debug_flag(1)|0);
+ $74 = ($73|0)!=(0);
+ if ($74) {
+ $75 = $mbuf;
+ $76 = $mlen;
+ __gcry_log_printhex(35969,$75,$76);
+ }
+ $77 = $3;
+ $78 = (__gcry_mpi_get_opaque($77,$tmp)|0);
+ $rbuf = $78;
+ $79 = HEAP32[$tmp>>2]|0;
+ $80 = (($79) + 7)|0;
+ $81 = (($80>>>0) / 8)&-1;
+ $rlen = $81;
+ $82 = (__gcry_get_debug_flag(1)|0);
+ $83 = ($82|0)!=(0);
+ if ($83) {
+ $84 = $rbuf;
+ $85 = $rlen;
+ __gcry_log_printhex(53390,$84,$85);
+ }
+ $86 = $rlen;
+ $87 = $b;
+ $88 = ($86|0)!=($87|0);
+ if ($88) {
+ $rc = 139;
+ break;
+ }
+ $89 = $rbuf;
+ $90 = ((($hvec)) + 12|0);
+ HEAP32[$90>>2] = $89;
+ $91 = ((($hvec)) + 4|0);
+ HEAP32[$91>>2] = 0;
+ $92 = $rlen;
+ $93 = ((($hvec)) + 8|0);
+ HEAP32[$93>>2] = $92;
+ $94 = HEAP32[$encpk>>2]|0;
+ $95 = ((($hvec)) + 16|0);
+ $96 = ((($95)) + 12|0);
+ HEAP32[$96>>2] = $94;
+ $97 = ((($hvec)) + 16|0);
+ $98 = ((($97)) + 4|0);
+ HEAP32[$98>>2] = 0;
+ $99 = HEAP32[$encpklen>>2]|0;
+ $100 = ((($hvec)) + 16|0);
+ $101 = ((($100)) + 8|0);
+ HEAP32[$101>>2] = $99;
+ $102 = $mbuf;
+ $103 = ((($hvec)) + 32|0);
+ $104 = ((($103)) + 12|0);
+ HEAP32[$104>>2] = $102;
+ $105 = ((($hvec)) + 32|0);
+ $106 = ((($105)) + 4|0);
+ HEAP32[$106>>2] = 0;
+ $107 = $mlen;
+ $108 = ((($hvec)) + 32|0);
+ $109 = ((($108)) + 8|0);
+ HEAP32[$109>>2] = $107;
+ $110 = $5;
+ $111 = (__gcry_md_hash_buffers($110,0,$digest,$hvec,3)|0);
+ $rc = $111;
+ $112 = $rc;
+ $113 = ($112|0)!=(0);
+ if (!($113)) {
+ _reverse_buffer_831($digest,64);
+ $114 = (__gcry_get_debug_flag(1)|0);
+ $115 = ($114|0)!=(0);
+ if ($115) {
+ __gcry_log_printhex(35988,$digest,64);
+ }
+ $116 = $h;
+ __gcry_mpi_set_buffer($116,$digest,64,0);
+ $117 = $4;
+ $118 = (__gcry_mpi_get_opaque_copy($117,$tmp)|0);
+ $sbuf = $118;
+ $119 = HEAP32[$tmp>>2]|0;
+ $120 = (($119) + 7)|0;
+ $121 = (($120>>>0) / 8)&-1;
+ $slen = $121;
+ $122 = $sbuf;
+ $123 = $slen;
+ _reverse_buffer_831($122,$123);
+ $124 = (__gcry_get_debug_flag(1)|0);
+ $125 = ($124|0)!=(0);
+ if ($125) {
+ $126 = $sbuf;
+ $127 = $slen;
+ __gcry_log_printhex(53397,$126,$127);
+ }
+ $128 = $s;
+ $129 = $sbuf;
+ $130 = $slen;
+ __gcry_mpi_set_buffer($128,$129,$130,0);
+ $131 = $sbuf;
+ __gcry_free($131);
+ $132 = $slen;
+ $133 = $b;
+ $134 = ($132|0)!=($133|0);
+ if ($134) {
+ $rc = 139;
+ break;
+ }
+ $135 = $s;
+ $136 = $2;
+ $137 = ((($136)) + 20|0);
+ $138 = $ctx;
+ __gcry_mpi_ec_mul_point($Ia,$135,$137,$138);
+ $139 = $h;
+ $140 = $ctx;
+ __gcry_mpi_ec_mul_point($Ib,$139,$Q,$140);
+ $141 = HEAP32[$Ib>>2]|0;
+ $142 = HEAP32[$Ib>>2]|0;
+ __gcry_mpi_neg($141,$142);
+ $143 = $ctx;
+ __gcry_mpi_ec_add_points($Ia,$Ia,$Ib,$143);
+ $144 = $ctx;
+ $145 = $s;
+ $146 = $h;
+ $147 = (__gcry_ecc_eddsa_encodepoint($Ia,$144,$145,$146,0,$tbuf,$tlen)|0);
+ $rc = $147;
+ $148 = $rc;
+ $149 = ($148|0)!=(0);
+ if (!($149)) {
+ $150 = HEAP32[$tlen>>2]|0;
+ $151 = $rlen;
+ $152 = ($150|0)!=($151|0);
+ do {
+ if (!($152)) {
+ $153 = HEAP32[$tbuf>>2]|0;
+ $154 = $rbuf;
+ $155 = HEAP32[$tlen>>2]|0;
+ $156 = (_memcmp($153,$154,$155)|0);
+ $157 = ($156|0)!=(0);
+ if ($157) {
+ break;
+ }
+ $rc = 0;
+ break L14;
+ }
+ } while(0);
+ $rc = 8;
+ }
+ }
+ }
+ } while(0);
+ $158 = HEAP32[$encpk>>2]|0;
+ __gcry_free($158);
+ $159 = HEAP32[$tbuf>>2]|0;
+ __gcry_free($159);
+ $160 = $ctx;
+ __gcry_mpi_ec_free($160);
+ $161 = $s;
+ __gcry_mpi_release($161);
+ $162 = $h;
+ __gcry_mpi_release($162);
+ __gcry_mpi_point_free_parts($Ia);
+ __gcry_mpi_point_free_parts($Ib);
+ __gcry_mpi_point_free_parts($Q);
+ $163 = $rc;
+ $0 = $163;
+ $164 = $0;
+ STACKTOP = sp;return ($164|0);
+ }
+ }
+ }
+ }
+ $0 = 79;
+ $164 = $0;
+ STACKTOP = sp;return ($164|0);
+}
+function __gcry_ecc_curve_free($E) {
+ $E = $E|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $E;
+ $1 = $0;
+ $2 = ((($1)) + 8|0);
+ $3 = HEAP32[$2>>2]|0;
+ __gcry_mpi_free($3);
+ $4 = $0;
+ $5 = ((($4)) + 8|0);
+ HEAP32[$5>>2] = 0;
+ $6 = $0;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($8);
+ $9 = $0;
+ $10 = ((($9)) + 12|0);
+ HEAP32[$10>>2] = 0;
+ $11 = $0;
+ $12 = ((($11)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ __gcry_mpi_free($13);
+ $14 = $0;
+ $15 = ((($14)) + 16|0);
+ HEAP32[$15>>2] = 0;
+ $16 = $0;
+ $17 = ((($16)) + 20|0);
+ __gcry_mpi_point_free_parts($17);
+ $18 = $0;
+ $19 = ((($18)) + 32|0);
+ $20 = HEAP32[$19>>2]|0;
+ __gcry_mpi_free($20);
+ $21 = $0;
+ $22 = ((($21)) + 32|0);
+ HEAP32[$22>>2] = 0;
+ $23 = $0;
+ $24 = ((($23)) + 36|0);
+ $25 = HEAP32[$24>>2]|0;
+ __gcry_mpi_free($25);
+ $26 = $0;
+ $27 = ((($26)) + 36|0);
+ HEAP32[$27>>2] = 0;
+ STACKTOP = sp;return;
+}
+function __gcry_ecc_curve_copy($agg$result,$E) {
+ $agg$result = $agg$result|0;
+ $E = $E|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $R = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $R = sp;
+ $0 = HEAP32[$E>>2]|0;
+ HEAP32[$R>>2] = $0;
+ $1 = ((($E)) + 4|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($R)) + 4|0);
+ HEAP32[$3>>2] = $2;
+ $4 = ((($E)) + 40|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($R)) + 40|0);
+ HEAP32[$6>>2] = $5;
+ $7 = ((($E)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (__gcry_mpi_copy($8)|0);
+ $10 = ((($R)) + 8|0);
+ HEAP32[$10>>2] = $9;
+ $11 = ((($E)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (__gcry_mpi_copy($12)|0);
+ $14 = ((($R)) + 12|0);
+ HEAP32[$14>>2] = $13;
+ $15 = ((($E)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (__gcry_mpi_copy($16)|0);
+ $18 = ((($R)) + 16|0);
+ HEAP32[$18>>2] = $17;
+ $19 = ((($R)) + 20|0);
+ __gcry_mpi_point_init($19);
+ $20 = ((($R)) + 20|0);
+ $21 = ((($E)) + 20|0);
+ _point_set_847($20,$21);
+ $22 = ((($E)) + 32|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (__gcry_mpi_copy($23)|0);
+ $25 = ((($R)) + 32|0);
+ HEAP32[$25>>2] = $24;
+ $26 = ((($E)) + 36|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (__gcry_mpi_copy($27)|0);
+ $29 = ((($R)) + 36|0);
+ HEAP32[$29>>2] = $28;
+ dest=$agg$result; src=$R; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function _point_set_847($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($3,$5)|0);
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $1;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ (__gcry_mpi_set($8,$11)|0);
+ $12 = $0;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set($14,$17)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_ecc_model2str($model) {
+ $model = $model|0;
+ var $0 = 0, $1 = 0, $2 = 0, $str = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $model;
+ $str = 37956;
+ $1 = $0;
+ switch ($1|0) {
+ case 0: {
+ $str = 36002;
+ break;
+ }
+ case 1: {
+ $str = 45730;
+ break;
+ }
+ case 2: {
+ $str = 36014;
+ break;
+ }
+ default: {
+ }
+ }
+ $2 = $str;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_ecc_dialect2str($dialect) {
+ $dialect = $dialect|0;
+ var $0 = 0, $1 = 0, $2 = 0, $str = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $dialect;
+ $str = 37956;
+ $1 = $0;
+ switch ($1|0) {
+ case 0: {
+ $str = 36022;
+ break;
+ }
+ case 1: {
+ $str = 36031;
+ break;
+ }
+ default: {
+ }
+ }
+ $2 = $str;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_ecc_ec2os($x,$y,$p) {
+ $x = $x|0;
+ $y = $y|0;
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $buf = 0, $n = 0, $pbytes = 0, $ptr = 0, $rc = 0, $result = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
+ var $vararg_buffer4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $n = sp + 32|0;
+ $result = sp + 20|0;
+ $0 = $x;
+ $1 = $y;
+ $2 = $p;
+ $3 = $2;
+ $4 = (__gcry_mpi_get_nbits($3)|0);
+ $5 = (($4) + 7)|0;
+ $6 = (($5>>>0) / 8)&-1;
+ $pbytes = $6;
+ $7 = $pbytes;
+ $8 = $7<<1;
+ $9 = (1 + ($8))|0;
+ $10 = (__gcry_xmalloc($9)|0);
+ $buf = $10;
+ $11 = $buf;
+ HEAP8[$11>>0] = 4;
+ $12 = $buf;
+ $13 = ((($12)) + 1|0);
+ $ptr = $13;
+ $14 = $ptr;
+ $15 = $pbytes;
+ $16 = $0;
+ $17 = (__gcry_mpi_print(5,$14,$15,$n,$16)|0);
+ $rc = $17;
+ $18 = $rc;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $20 = $rc;
+ $21 = (_gpg_strerror($20)|0);
+ HEAP32[$vararg_buffer>>2] = $21;
+ __gcry_log_fatal(36039,$vararg_buffer);
+ // unreachable;
+ }
+ $22 = HEAP32[$n>>2]|0;
+ $23 = $pbytes;
+ $24 = ($22>>>0)<($23>>>0);
+ if ($24) {
+ $25 = $ptr;
+ $26 = $pbytes;
+ $27 = HEAP32[$n>>2]|0;
+ $28 = (($26) - ($27))|0;
+ $29 = (($25) + ($28)|0);
+ $30 = $ptr;
+ $31 = HEAP32[$n>>2]|0;
+ _memmove(($29|0),($30|0),($31|0))|0;
+ $32 = $ptr;
+ $33 = $pbytes;
+ $34 = HEAP32[$n>>2]|0;
+ $35 = (($33) - ($34))|0;
+ _memset(($32|0),0,($35|0))|0;
+ }
+ $36 = $pbytes;
+ $37 = $ptr;
+ $38 = (($37) + ($36)|0);
+ $ptr = $38;
+ $39 = $ptr;
+ $40 = $pbytes;
+ $41 = $1;
+ $42 = (__gcry_mpi_print(5,$39,$40,$n,$41)|0);
+ $rc = $42;
+ $43 = $rc;
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ $45 = $rc;
+ $46 = (_gpg_strerror($45)|0);
+ HEAP32[$vararg_buffer1>>2] = $46;
+ __gcry_log_fatal(36039,$vararg_buffer1);
+ // unreachable;
+ }
+ $47 = HEAP32[$n>>2]|0;
+ $48 = $pbytes;
+ $49 = ($47>>>0)<($48>>>0);
+ if ($49) {
+ $50 = $ptr;
+ $51 = $pbytes;
+ $52 = HEAP32[$n>>2]|0;
+ $53 = (($51) - ($52))|0;
+ $54 = (($50) + ($53)|0);
+ $55 = $ptr;
+ $56 = HEAP32[$n>>2]|0;
+ _memmove(($54|0),($55|0),($56|0))|0;
+ $57 = $ptr;
+ $58 = $pbytes;
+ $59 = HEAP32[$n>>2]|0;
+ $60 = (($58) - ($59))|0;
+ _memset(($57|0),0,($60|0))|0;
+ }
+ $61 = $buf;
+ $62 = $pbytes;
+ $63 = $62<<1;
+ $64 = (1 + ($63))|0;
+ $65 = (__gcry_mpi_scan($result,5,$61,$64,0)|0);
+ $rc = $65;
+ $66 = $rc;
+ $67 = ($66|0)!=(0);
+ if ($67) {
+ $68 = $rc;
+ $69 = (_gpg_strerror($68)|0);
+ HEAP32[$vararg_buffer4>>2] = $69;
+ __gcry_log_fatal(36061,$vararg_buffer4);
+ // unreachable;
+ } else {
+ $70 = $buf;
+ __gcry_free($70);
+ $71 = HEAP32[$result>>2]|0;
+ STACKTOP = sp;return ($71|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_ec_ec2os($point,$ectx) {
+ $point = $point|0;
+ $ectx = $ectx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $g_x = 0;
+ var $g_y = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $point;
+ $1 = $ectx;
+ $2 = (__gcry_mpi_new(0)|0);
+ $g_x = $2;
+ $3 = (__gcry_mpi_new(0)|0);
+ $g_y = $3;
+ $4 = $g_x;
+ $5 = $g_y;
+ $6 = $0;
+ $7 = $1;
+ $8 = (__gcry_mpi_ec_get_affine($4,$5,$6,$7)|0);
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $result = 0;
+ } else {
+ $10 = $g_x;
+ $11 = $g_y;
+ $12 = $1;
+ $13 = ((($12)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (__gcry_ecc_ec2os($10,$11,$14)|0);
+ $result = $15;
+ }
+ $16 = $g_x;
+ __gcry_mpi_free($16);
+ $17 = $g_y;
+ __gcry_mpi_free($17);
+ $18 = $result;
+ STACKTOP = sp;return ($18|0);
+}
+function __gcry_ecc_os2ec($result,$value) {
+ $result = $result|0;
+ $value = $value|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $buf = 0;
+ var $buf_memory = 0, $n = 0, $nbits = 0, $rc = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 20|0;
+ $x = sp + 8|0;
+ $y = sp + 4|0;
+ $nbits = sp;
+ $1 = $result;
+ $2 = $value;
+ $3 = $2;
+ $4 = ($3|0)!=(0|0);
+ do {
+ if ($4) {
+ $5 = $2;
+ $6 = ((($5)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 4;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = $2;
+ $11 = (__gcry_mpi_get_opaque($10,$nbits)|0);
+ $buf = $11;
+ $12 = $buf;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = HEAP32[$nbits>>2]|0;
+ $15 = (($14) + 7)|0;
+ $16 = (($15>>>0) / 8)&-1;
+ HEAP32[$n>>2] = $16;
+ $buf_memory = 0;
+ break;
+ }
+ $0 = 65;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ } else {
+ label = 6;
+ }
+ } else {
+ label = 6;
+ }
+ } while(0);
+ do {
+ if ((label|0) == 6) {
+ $17 = $2;
+ $18 = (__gcry_mpi_get_nbits($17)|0);
+ $19 = (($18) + 7)|0;
+ $20 = (($19>>>0) / 8)&-1;
+ HEAP32[$n>>2] = $20;
+ $21 = HEAP32[$n>>2]|0;
+ $22 = (__gcry_xmalloc($21)|0);
+ $buf_memory = $22;
+ $23 = $buf_memory;
+ $24 = HEAP32[$n>>2]|0;
+ $25 = $2;
+ $26 = (__gcry_mpi_print(5,$23,$24,$n,$25)|0);
+ $rc = $26;
+ $27 = $rc;
+ $28 = ($27|0)!=(0);
+ $29 = $buf_memory;
+ if (!($28)) {
+ $buf = $29;
+ break;
+ }
+ __gcry_free($29);
+ $30 = $rc;
+ $0 = $30;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ } while(0);
+ $31 = HEAP32[$n>>2]|0;
+ $32 = ($31>>>0)<(1);
+ if ($32) {
+ $33 = $buf_memory;
+ __gcry_free($33);
+ $0 = 65;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ $34 = $buf;
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35&255;
+ $37 = ($36|0)!=(4);
+ if ($37) {
+ $38 = $buf_memory;
+ __gcry_free($38);
+ $0 = 69;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ $39 = HEAP32[$n>>2]|0;
+ $40 = (($39) - 1)|0;
+ $41 = (($40>>>0) % 2)&-1;
+ $42 = ($41|0)!=(0);
+ if ($42) {
+ $43 = $buf_memory;
+ __gcry_free($43);
+ $0 = 65;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ $44 = HEAP32[$n>>2]|0;
+ $45 = (($44) - 1)|0;
+ $46 = (($45>>>0) / 2)&-1;
+ HEAP32[$n>>2] = $46;
+ $47 = $buf;
+ $48 = ((($47)) + 1|0);
+ $49 = HEAP32[$n>>2]|0;
+ $50 = (__gcry_mpi_scan($x,5,$48,$49,0)|0);
+ $rc = $50;
+ $51 = $rc;
+ $52 = ($51|0)!=(0);
+ if ($52) {
+ $53 = $buf_memory;
+ __gcry_free($53);
+ $54 = $rc;
+ $0 = $54;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ $55 = $buf;
+ $56 = ((($55)) + 1|0);
+ $57 = HEAP32[$n>>2]|0;
+ $58 = (($56) + ($57)|0);
+ $59 = HEAP32[$n>>2]|0;
+ $60 = (__gcry_mpi_scan($y,5,$58,$59,0)|0);
+ $rc = $60;
+ $61 = $buf_memory;
+ __gcry_free($61);
+ $62 = $rc;
+ $63 = ($62|0)!=(0);
+ if ($63) {
+ $64 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($64);
+ $65 = $rc;
+ $0 = $65;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ } else {
+ $66 = $1;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = HEAP32[$x>>2]|0;
+ (__gcry_mpi_set($67,$68)|0);
+ $69 = $1;
+ $70 = ((($69)) + 4|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = HEAP32[$y>>2]|0;
+ (__gcry_mpi_set($71,$72)|0);
+ $73 = $1;
+ $74 = ((($73)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ (__gcry_mpi_set_ui($75,1)|0);
+ $76 = HEAP32[$x>>2]|0;
+ __gcry_mpi_free($76);
+ $77 = HEAP32[$y>>2]|0;
+ __gcry_mpi_free($77);
+ $0 = 0;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ return (0)|0;
+}
+function __gcry_ecc_compute_public($Q,$ec,$G,$d) {
+ $Q = $Q|0;
+ $ec = $ec|0;
+ $G = $G|0;
+ $d = $d|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $a = 0, $digest = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $digest = sp;
+ $1 = $Q;
+ $2 = $ec;
+ $3 = $G;
+ $4 = $d;
+ $5 = $3;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $7 = $2;
+ $8 = ((($7)) + 28|0);
+ $9 = HEAP32[$8>>2]|0;
+ $3 = $9;
+ }
+ $10 = $4;
+ $11 = ($10|0)!=(0|0);
+ if (!($11)) {
+ $12 = $2;
+ $13 = ((($12)) + 44|0);
+ $14 = HEAP32[$13>>2]|0;
+ $4 = $14;
+ }
+ $15 = $4;
+ $16 = ($15|0)!=(0|0);
+ $17 = $3;
+ $18 = ($17|0)!=(0|0);
+ $or$cond = $16 & $18;
+ if ($or$cond) {
+ $19 = $2;
+ $20 = ((($19)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)!=(0|0);
+ if ($22) {
+ $23 = $2;
+ $24 = ((($23)) + 20|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)!=(0|0);
+ if ($26) {
+ $27 = $2;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)==(2);
+ if ($29) {
+ $30 = $2;
+ $31 = ((($30)) + 24|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)!=(0|0);
+ if (!($33)) {
+ $0 = 0;
+ $71 = $0;
+ STACKTOP = sp;return ($71|0);
+ }
+ }
+ $34 = $2;
+ $35 = ((($34)) + 4|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)==(1);
+ if ($37) {
+ $38 = $2;
+ $39 = ((($38)) + 8|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $40 & 4096;
+ $42 = ($41|0)!=(0);
+ if ($42) {
+ $43 = $4;
+ $44 = $2;
+ $45 = (__gcry_ecc_eddsa_compute_h_d($digest,$43,$44)|0);
+ $46 = ($45|0)!=(0);
+ if ($46) {
+ $0 = 0;
+ $71 = $0;
+ STACKTOP = sp;return ($71|0);
+ }
+ $47 = (__gcry_mpi_snew(0)|0);
+ $a = $47;
+ $48 = $a;
+ $49 = HEAP32[$digest>>2]|0;
+ __gcry_mpi_set_buffer($48,$49,32,0);
+ $50 = HEAP32[$digest>>2]|0;
+ __gcry_free($50);
+ $51 = $1;
+ $52 = ($51|0)!=(0|0);
+ if (!($52)) {
+ $53 = (__gcry_mpi_point_new(0)|0);
+ $1 = $53;
+ }
+ $54 = $1;
+ $55 = ($54|0)!=(0|0);
+ if ($55) {
+ $56 = $1;
+ $57 = $a;
+ $58 = $3;
+ $59 = $2;
+ __gcry_mpi_ec_mul_point($56,$57,$58,$59);
+ }
+ $60 = $a;
+ __gcry_mpi_free($60);
+ } else {
+ label = 21;
+ }
+ } else {
+ label = 21;
+ }
+ if ((label|0) == 21) {
+ $61 = $1;
+ $62 = ($61|0)!=(0|0);
+ if (!($62)) {
+ $63 = (__gcry_mpi_point_new(0)|0);
+ $1 = $63;
+ }
+ $64 = $1;
+ $65 = ($64|0)!=(0|0);
+ if ($65) {
+ $66 = $1;
+ $67 = $4;
+ $68 = $3;
+ $69 = $2;
+ __gcry_mpi_ec_mul_point($66,$67,$68,$69);
+ }
+ }
+ $70 = $1;
+ $0 = $70;
+ $71 = $0;
+ STACKTOP = sp;return ($71|0);
+ }
+ }
+ }
+ $0 = 0;
+ $71 = $0;
+ STACKTOP = sp;return ($71|0);
+}
+function __gcry_hmac_selftest($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $ec = 0;
+ $3 = $0;
+ $4 = (__gcry_md_algo_info($3,8,0,0)|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $ec = 5;
+ $10 = $2;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $2;
+ $13 = $0;
+ FUNCTION_TABLE_viiii[$12 & 63](36342,$13,38049,37086);
+ }
+ } else {
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = (_run_selftests($6,$7,$8)|0);
+ $ec = $9;
+ }
+ $14 = $ec;
+ $15 = (_gpg_error_906($14)|0);
+ STACKTOP = sp;return ($15|0);
+}
+function _run_selftests($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ switch ($3|0) {
+ case 2: {
+ $4 = $1;
+ $5 = $2;
+ $6 = (_selftests_sha1($4,$5)|0);
+ $ec = $6;
+ break;
+ }
+ case 11: {
+ $7 = $1;
+ $8 = $2;
+ $9 = (_selftests_sha224($7,$8)|0);
+ $ec = $9;
+ break;
+ }
+ case 8: {
+ $10 = $1;
+ $11 = $2;
+ $12 = (_selftests_sha256($10,$11)|0);
+ $ec = $12;
+ break;
+ }
+ case 9: {
+ $13 = $1;
+ $14 = $2;
+ $15 = (_selftests_sha384($13,$14)|0);
+ $ec = $15;
+ break;
+ }
+ case 10: {
+ $16 = $1;
+ $17 = $2;
+ $18 = (_selftests_sha512($16,$17)|0);
+ $ec = $18;
+ break;
+ }
+ default: {
+ $ec = 5;
+ }
+ }
+ $19 = $ec;
+ STACKTOP = sp;return ($19|0);
+}
+function _selftests_sha1($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $i = 0;
+ var $j = 0, $key = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $key = sp + 32|0;
+ $1 = $extended;
+ $2 = $report;
+ $what = 36082;
+ $i = 0;
+ while(1) {
+ $3 = $i;
+ $4 = ($3|0)<(64);
+ if (!($4)) {
+ break;
+ }
+ $5 = $i;
+ $6 = $5&255;
+ $7 = $i;
+ $8 = (($key) + ($7)|0);
+ HEAP8[$8>>0] = $6;
+ $9 = $i;
+ $10 = (($9) + 1)|0;
+ $i = $10;
+ }
+ $11 = (_check_one(2,36097,9,$key,64,36107,20)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ do {
+ if (!($13)) {
+ $14 = $1;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $what = 36204;
+ $i = 0;
+ $j = 48;
+ while(1) {
+ $16 = $i;
+ $17 = ($16|0)<(20);
+ if (!($17)) {
+ break;
+ }
+ $18 = $j;
+ $19 = (($18) + 1)|0;
+ $j = $19;
+ $20 = $18&255;
+ $21 = $i;
+ $22 = (($key) + ($21)|0);
+ HEAP8[$22>>0] = $20;
+ $23 = $i;
+ $24 = (($23) + 1)|0;
+ $i = $24;
+ }
+ $25 = (_check_one(2,36219,9,$key,20,36229,20)|0);
+ $errtxt = $25;
+ $26 = $errtxt;
+ $27 = ($26|0)!=(0|0);
+ if ($27) {
+ break;
+ }
+ $what = 36250;
+ $i = 0;
+ $j = 80;
+ while(1) {
+ $28 = $i;
+ $29 = ($28|0)<(100);
+ if (!($29)) {
+ break;
+ }
+ $30 = $j;
+ $31 = (($30) + 1)|0;
+ $j = $31;
+ $32 = $30&255;
+ $33 = $i;
+ $34 = (($key) + ($33)|0);
+ HEAP8[$34>>0] = $32;
+ $35 = $i;
+ $36 = (($35) + 1)|0;
+ $i = $36;
+ }
+ $37 = (_check_one(2,36265,9,$key,100,36275,20)|0);
+ $errtxt = $37;
+ $38 = $errtxt;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ break;
+ }
+ $what = 36296;
+ $i = 0;
+ $j = 112;
+ while(1) {
+ $40 = $i;
+ $41 = ($40|0)<(49);
+ if (!($41)) {
+ break;
+ }
+ $42 = $j;
+ $43 = (($42) + 1)|0;
+ $j = $43;
+ $44 = $42&255;
+ $45 = $i;
+ $46 = (($key) + ($45)|0);
+ HEAP8[$46>>0] = $44;
+ $47 = $i;
+ $48 = (($47) + 1)|0;
+ $i = $48;
+ }
+ $49 = (_check_one(2,36311,9,$key,49,36321,20)|0);
+ $errtxt = $49;
+ $50 = $errtxt;
+ $51 = ($50|0)!=(0|0);
+ if ($51) {
+ break;
+ }
+ }
+ $0 = 0;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+ }
+ } while(0);
+ $52 = $2;
+ $53 = ($52|0)!=(0|0);
+ if ($53) {
+ $54 = $2;
+ $55 = $what;
+ $56 = $errtxt;
+ FUNCTION_TABLE_viiii[$54 & 63](36342,2,$55,$56);
+ }
+ $0 = 50;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+}
+function _check_one($algo,$data,$datalen,$key,$keylen,$expect,$expectlen) {
+ $algo = $algo|0;
+ $data = $data|0;
+ $datalen = $datalen|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ $expect = $expect|0;
+ $expectlen = $expectlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $digest = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp + 4|0;
+ $1 = $algo;
+ $2 = $data;
+ $3 = $datalen;
+ $4 = $key;
+ $5 = $keylen;
+ $6 = $expect;
+ $7 = $expectlen;
+ $8 = $1;
+ $9 = (__gcry_md_get_algo_dlen($8)|0);
+ $10 = $7;
+ $11 = ($9|0)!=($10|0);
+ do {
+ if ($11) {
+ $0 = 36128;
+ } else {
+ $12 = $1;
+ $13 = (__gcry_md_open($hd,$12,2)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $0 = 49956;
+ break;
+ }
+ $15 = HEAP32[$hd>>2]|0;
+ $16 = $4;
+ $17 = $5;
+ $18 = (__gcry_md_setkey($15,$16,$17)|0);
+ $19 = ($18|0)!=(0);
+ $20 = HEAP32[$hd>>2]|0;
+ if ($19) {
+ __gcry_md_close($20);
+ $0 = 36147;
+ break;
+ }
+ $21 = $2;
+ $22 = $3;
+ __gcry_md_write($20,$21,$22);
+ $23 = HEAP32[$hd>>2]|0;
+ $24 = $1;
+ $25 = (__gcry_md_read($23,$24)|0);
+ $digest = $25;
+ $26 = $digest;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $28 = HEAP32[$hd>>2]|0;
+ __gcry_md_close($28);
+ $0 = 36169;
+ break;
+ }
+ $29 = $digest;
+ $30 = $6;
+ $31 = $7;
+ $32 = (_memcmp($29,$30,$31)|0);
+ $33 = ($32|0)!=(0);
+ $34 = HEAP32[$hd>>2]|0;
+ __gcry_md_close($34);
+ if ($33) {
+ $0 = 36189;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $35 = $0;
+ STACKTOP = sp;return ($35|0);
+}
+function _selftests_sha224($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $tvidx = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $tvidx = 0;
+ while(1) {
+ $3 = $tvidx;
+ $4 = (2772 + (($3*40)|0)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ label = 6;
+ break;
+ }
+ $7 = $tvidx;
+ $8 = (2772 + (($7*40)|0)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $what = $9;
+ $10 = $tvidx;
+ $11 = (2772 + (($10*40)|0)|0);
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $tvidx;
+ $15 = (2772 + (($14*40)|0)|0);
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (_strlen($17)|0);
+ $19 = $tvidx;
+ $20 = (2772 + (($19*40)|0)|0);
+ $21 = ((($20)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $tvidx;
+ $24 = (2772 + (($23*40)|0)|0);
+ $25 = ((($24)) + 8|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (_strlen($26)|0);
+ $28 = $tvidx;
+ $29 = (2772 + (($28*40)|0)|0);
+ $30 = ((($29)) + 12|0);
+ $31 = (_check_one(11,$13,$18,$22,$27,$30,28)|0);
+ $errtxt = $31;
+ $32 = $errtxt;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ break;
+ }
+ $34 = $1;
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ label = 6;
+ break;
+ }
+ $36 = $tvidx;
+ $37 = (($36) + 1)|0;
+ $tvidx = $37;
+ }
+ if ((label|0) == 6) {
+ $0 = 0;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $38 = $2;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ $40 = $2;
+ $41 = $what;
+ $42 = $errtxt;
+ FUNCTION_TABLE_viiii[$40 & 63](36342,11,$41,$42);
+ }
+ $0 = 50;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+}
+function _selftests_sha256($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $9 = 0, $digest = 0, $dlen = 0, $errtxt = 0, $hmachd = 0, $tvidx = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $dlen = sp;
+ $1 = $extended;
+ $2 = $report;
+ $tvidx = 0;
+ while(1) {
+ $3 = $tvidx;
+ $4 = (3052 + (($3*44)|0)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ label = 13;
+ break;
+ }
+ $7 = $tvidx;
+ $8 = (3052 + (($7*44)|0)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $what = $9;
+ $10 = $tvidx;
+ $11 = (3052 + (($10*44)|0)|0);
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $tvidx;
+ $15 = (3052 + (($14*44)|0)|0);
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (_strlen($17)|0);
+ $19 = $tvidx;
+ $20 = (3052 + (($19*44)|0)|0);
+ $21 = ((($20)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $tvidx;
+ $24 = (3052 + (($23*44)|0)|0);
+ $25 = ((($24)) + 8|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (_strlen($26)|0);
+ $28 = $tvidx;
+ $29 = (3052 + (($28*44)|0)|0);
+ $30 = ((($29)) + 12|0);
+ $31 = (_check_one(8,$13,$18,$22,$27,$30,32)|0);
+ $errtxt = $31;
+ $32 = $errtxt;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ break;
+ }
+ $34 = $tvidx;
+ $35 = (3052 + (($34*44)|0)|0);
+ $36 = ((($35)) + 8|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = $tvidx;
+ $39 = (3052 + (($38*44)|0)|0);
+ $40 = ((($39)) + 8|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (_strlen($41)|0);
+ $43 = (__gcry_hmac256_new($37,$42)|0);
+ $hmachd = $43;
+ $44 = $hmachd;
+ $45 = ($44|0)!=(0|0);
+ if (!($45)) {
+ label = 5;
+ break;
+ }
+ $46 = $hmachd;
+ $47 = $tvidx;
+ $48 = (3052 + (($47*44)|0)|0);
+ $49 = ((($48)) + 4|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $tvidx;
+ $52 = (3052 + (($51*44)|0)|0);
+ $53 = ((($52)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (_strlen($54)|0);
+ __gcry_hmac256_update($46,$50,$55);
+ $56 = $hmachd;
+ $57 = (__gcry_hmac256_finalize($56,$dlen)|0);
+ $digest = $57;
+ $58 = $digest;
+ $59 = ($58|0)!=(0|0);
+ if (!($59)) {
+ label = 7;
+ break;
+ }
+ $61 = HEAP32[$dlen>>2]|0;
+ $62 = ($61|0)!=(32);
+ if ($62) {
+ label = 10;
+ break;
+ }
+ $63 = $digest;
+ $64 = $tvidx;
+ $65 = (3052 + (($64*44)|0)|0);
+ $66 = ((($65)) + 12|0);
+ $67 = (_memcmp($63,$66,32)|0);
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ label = 10;
+ break;
+ }
+ $70 = $hmachd;
+ __gcry_hmac256_release($70);
+ $71 = $1;
+ $72 = ($71|0)!=(0);
+ if (!($72)) {
+ label = 13;
+ break;
+ }
+ $73 = $tvidx;
+ $74 = (($73) + 1)|0;
+ $tvidx = $74;
+ }
+ if ((label|0) == 5) {
+ $errtxt = 36991;
+ }
+ else if ((label|0) == 7) {
+ $errtxt = 37016;
+ $60 = $hmachd;
+ __gcry_hmac256_release($60);
+ }
+ else if ((label|0) == 10) {
+ $errtxt = 37046;
+ $69 = $hmachd;
+ __gcry_hmac256_release($69);
+ }
+ else if ((label|0) == 13) {
+ $0 = 0;
+ $80 = $0;
+ STACKTOP = sp;return ($80|0);
+ }
+ $75 = $2;
+ $76 = ($75|0)!=(0|0);
+ if ($76) {
+ $77 = $2;
+ $78 = $what;
+ $79 = $errtxt;
+ FUNCTION_TABLE_viiii[$77 & 63](36342,8,$78,$79);
+ }
+ $0 = 50;
+ $80 = $0;
+ STACKTOP = sp;return ($80|0);
+}
+function _selftests_sha384($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $tvidx = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $tvidx = 0;
+ while(1) {
+ $3 = $tvidx;
+ $4 = (3360 + (($3*60)|0)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ label = 6;
+ break;
+ }
+ $7 = $tvidx;
+ $8 = (3360 + (($7*60)|0)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $what = $9;
+ $10 = $tvidx;
+ $11 = (3360 + (($10*60)|0)|0);
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $tvidx;
+ $15 = (3360 + (($14*60)|0)|0);
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (_strlen($17)|0);
+ $19 = $tvidx;
+ $20 = (3360 + (($19*60)|0)|0);
+ $21 = ((($20)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $tvidx;
+ $24 = (3360 + (($23*60)|0)|0);
+ $25 = ((($24)) + 8|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (_strlen($26)|0);
+ $28 = $tvidx;
+ $29 = (3360 + (($28*60)|0)|0);
+ $30 = ((($29)) + 12|0);
+ $31 = (_check_one(9,$13,$18,$22,$27,$30,48)|0);
+ $errtxt = $31;
+ $32 = $errtxt;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ break;
+ }
+ $34 = $1;
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ label = 6;
+ break;
+ }
+ $36 = $tvidx;
+ $37 = (($36) + 1)|0;
+ $tvidx = $37;
+ }
+ if ((label|0) == 6) {
+ $0 = 0;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $38 = $2;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ $40 = $2;
+ $41 = $what;
+ $42 = $errtxt;
+ FUNCTION_TABLE_viiii[$40 & 63](36342,9,$41,$42);
+ }
+ $0 = 50;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+}
+function _selftests_sha512($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $tvidx = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $tvidx = 0;
+ while(1) {
+ $3 = $tvidx;
+ $4 = (3780 + (($3*76)|0)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ label = 6;
+ break;
+ }
+ $7 = $tvidx;
+ $8 = (3780 + (($7*76)|0)|0);
+ $9 = HEAP32[$8>>2]|0;
+ $what = $9;
+ $10 = $tvidx;
+ $11 = (3780 + (($10*76)|0)|0);
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $tvidx;
+ $15 = (3780 + (($14*76)|0)|0);
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (_strlen($17)|0);
+ $19 = $tvidx;
+ $20 = (3780 + (($19*76)|0)|0);
+ $21 = ((($20)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $tvidx;
+ $24 = (3780 + (($23*76)|0)|0);
+ $25 = ((($24)) + 8|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (_strlen($26)|0);
+ $28 = $tvidx;
+ $29 = (3780 + (($28*76)|0)|0);
+ $30 = ((($29)) + 12|0);
+ $31 = (_check_one(10,$13,$18,$22,$27,$30,64)|0);
+ $errtxt = $31;
+ $32 = $errtxt;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ break;
+ }
+ $34 = $1;
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ label = 6;
+ break;
+ }
+ $36 = $tvidx;
+ $37 = (($36) + 1)|0;
+ $tvidx = $37;
+ }
+ if ((label|0) == 6) {
+ $0 = 0;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $38 = $2;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ $40 = $2;
+ $41 = $what;
+ $42 = $errtxt;
+ FUNCTION_TABLE_viiii[$40 & 63](36342,10,$41,$42);
+ }
+ $0 = 50;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+}
+function _gpg_error_906($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_907(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make_907($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_md_map_name($string) {
+ $string = $string|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $string;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ do {
+ if ($3) {
+ $4 = $1;
+ $5 = (_search_oid_943($4,0)|0);
+ $spec = $5;
+ $6 = $spec;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $spec;
+ $9 = HEAP32[$8>>2]|0;
+ $0 = $9;
+ break;
+ }
+ $10 = $1;
+ $11 = (_spec_from_name_947($10)|0);
+ $spec = $11;
+ $12 = $spec;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = $spec;
+ $15 = HEAP32[$14>>2]|0;
+ $0 = $15;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ } else {
+ $0 = 0;
+ }
+ } while(0);
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+}
+function _search_oid_943($oid,$oid_spec) {
+ $oid = $oid|0;
+ $oid_spec = $oid_spec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $oid;
+ $2 = $oid_spec;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ do {
+ if ($4) {
+ $5 = $1;
+ $6 = (_strncmp($5,37110,4)|0);
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $1;
+ $9 = (_strncmp($8,37115,4)|0);
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ break;
+ }
+ }
+ $11 = $1;
+ $12 = ((($11)) + 4|0);
+ $1 = $12;
+ }
+ } while(0);
+ $13 = $1;
+ $14 = (_spec_from_oid_946($13)|0);
+ $spec = $14;
+ $15 = $spec;
+ $16 = ($15|0)!=(0|0);
+ L7: do {
+ if ($16) {
+ $17 = $spec;
+ $18 = ((($17)) + 20|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($19|0)!=(0|0);
+ if ($20) {
+ $i = 0;
+ while(1) {
+ $21 = $i;
+ $22 = $spec;
+ $23 = ((($22)) + 20|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (($24) + ($21<<2)|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ break L7;
+ }
+ $28 = $1;
+ $29 = $i;
+ $30 = $spec;
+ $31 = ((($30)) + 20|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($32) + ($29<<2)|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (_strcasecmp($28,$34)|0);
+ $36 = ($35|0)!=(0);
+ if (!($36)) {
+ break;
+ }
+ $46 = $i;
+ $47 = (($46) + 1)|0;
+ $i = $47;
+ }
+ $37 = $2;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ $39 = $2;
+ $40 = $i;
+ $41 = $spec;
+ $42 = ((($41)) + 20|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($43) + ($40<<2)|0);
+ ;HEAP32[$39>>2]=HEAP32[$44>>2]|0;
+ }
+ $45 = $spec;
+ $0 = $45;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+ }
+ }
+ } while(0);
+ $0 = 0;
+ $48 = $0;
+ STACKTOP = sp;return ($48|0);
+}
+function _spec_from_oid_946($oid) {
+ $oid = $oid|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $j = 0, $oid_specs = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $oid;
+ $idx = 0;
+ L1: while(1) {
+ $2 = $idx;
+ $3 = (4312 + ($2<<2)|0);
+ $4 = HEAP32[$3>>2]|0;
+ $spec = $4;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ label = 10;
+ break;
+ }
+ $6 = $spec;
+ $7 = ((($6)) + 20|0);
+ $8 = HEAP32[$7>>2]|0;
+ $oid_specs = $8;
+ $9 = $oid_specs;
+ $10 = ($9|0)!=(0|0);
+ L4: do {
+ if ($10) {
+ $j = 0;
+ while(1) {
+ $11 = $j;
+ $12 = $oid_specs;
+ $13 = (($12) + ($11<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)!=(0|0);
+ if (!($15)) {
+ break L4;
+ }
+ $16 = $1;
+ $17 = $j;
+ $18 = $oid_specs;
+ $19 = (($18) + ($17<<2)|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_strcasecmp($16,$20)|0);
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ label = 7;
+ break L1;
+ }
+ $24 = $j;
+ $25 = (($24) + 1)|0;
+ $j = $25;
+ }
+ }
+ } while(0);
+ $26 = $idx;
+ $27 = (($26) + 1)|0;
+ $idx = $27;
+ }
+ if ((label|0) == 7) {
+ $23 = $spec;
+ $0 = $23;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ else if ((label|0) == 10) {
+ $0 = 0;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ return (0)|0;
+}
+function _spec_from_name_947($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $name;
+ $idx = 0;
+ while(1) {
+ $2 = $idx;
+ $3 = (4312 + ($2<<2)|0);
+ $4 = HEAP32[$3>>2]|0;
+ $spec = $4;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ label = 6;
+ break;
+ }
+ $6 = $1;
+ $7 = $spec;
+ $8 = ((($7)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (_strcasecmp($6,$9)|0);
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ label = 4;
+ break;
+ }
+ $13 = $idx;
+ $14 = (($13) + 1)|0;
+ $idx = $14;
+ }
+ if ((label|0) == 4) {
+ $12 = $spec;
+ $0 = $12;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ else if ((label|0) == 6) {
+ $0 = 0;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ return (0)|0;
+}
+function __gcry_md_algo_name($algorithm) {
+ $algorithm = $algorithm|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algorithm;
+ $1 = $0;
+ $2 = (_spec_from_algo_950($1)|0);
+ $spec = $2;
+ $3 = $spec;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $8 = 37956;
+ STACKTOP = sp;return ($8|0);
+ }
+ $5 = $spec;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7;
+ STACKTOP = sp;return ($8|0);
+}
+function _spec_from_algo_950($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algo;
+ $2 = $1;
+ $3 = (_map_algo_951($2)|0);
+ $1 = $3;
+ $idx = 0;
+ while(1) {
+ $4 = $idx;
+ $5 = (4312 + ($4<<2)|0);
+ $6 = HEAP32[$5>>2]|0;
+ $spec = $6;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ label = 6;
+ break;
+ }
+ $8 = $1;
+ $9 = $spec;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($8|0)==($10|0);
+ if ($11) {
+ label = 4;
+ break;
+ }
+ $13 = $idx;
+ $14 = (($13) + 1)|0;
+ $idx = $14;
+ }
+ if ((label|0) == 4) {
+ $12 = $spec;
+ $0 = $12;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ else if ((label|0) == 6) {
+ $0 = 0;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ return (0)|0;
+}
+function _map_algo_951($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $0;
+ STACKTOP = sp;return ($1|0);
+}
+function __gcry_md_open($h,$algo,$flags) {
+ $h = $h|0;
+ $algo = $algo|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $hd = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp;
+ $0 = $h;
+ $1 = $algo;
+ $2 = $flags;
+ $3 = $2;
+ $4 = $3 & -260;
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $rc = 45;
+ } else {
+ $6 = $1;
+ $7 = $2;
+ $8 = (_md_open($hd,$6,$7)|0);
+ $rc = $8;
+ }
+ $9 = $rc;
+ $10 = ($9|0)!=(0);
+ $11 = HEAP32[$hd>>2]|0;
+ $12 = $10 ? 0 : $11;
+ $13 = $0;
+ HEAP32[$13>>2] = $12;
+ $14 = $rc;
+ STACKTOP = sp;return ($14|0);
+}
+function _md_open($h,$algo,$flags) {
+ $h = $h|0;
+ $algo = $algo|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $bufsize = 0, $ctx = 0, $err = 0, $hd = 0, $hmac = 0, $n = 0, $secure = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $h;
+ $1 = $algo;
+ $2 = $flags;
+ $err = 0;
+ $3 = $2;
+ $4 = $3 & 1;
+ $5 = ($4|0)!=(0);
+ $6 = $5 ^ 1;
+ $7 = $6 ^ 1;
+ $8 = $7&1;
+ $secure = $8;
+ $9 = $2;
+ $10 = $9 & 2;
+ $11 = ($10|0)!=(0);
+ $12 = $11 ^ 1;
+ $13 = $12 ^ 1;
+ $14 = $13&1;
+ $hmac = $14;
+ $15 = $secure;
+ $16 = ($15|0)!=(0);
+ $17 = $16 ? 512 : 1024;
+ $bufsize = $17;
+ $18 = $bufsize;
+ $19 = (16 + ($18))|0;
+ $n = $19;
+ $20 = $n;
+ $21 = (($20) + 8)|0;
+ $22 = (($21) - 1)|0;
+ $23 = (($22>>>0) / 8)&-1;
+ $24 = $23<<3;
+ $n = $24;
+ $25 = $secure;
+ $26 = ($25|0)!=(0);
+ $27 = $n;
+ $28 = (($27) + 28)|0;
+ if ($26) {
+ $29 = (__gcry_malloc_secure($28)|0);
+ $hd = $29;
+ } else {
+ $30 = (__gcry_malloc($28)|0);
+ $hd = $30;
+ }
+ $31 = $hd;
+ $32 = ($31|0)!=(0|0);
+ if (!($32)) {
+ $33 = (___errno_location()|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (_gpg_err_code_from_errno($34)|0);
+ $err = $35;
+ }
+ $36 = $err;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ $38 = $hd;
+ $39 = $n;
+ $40 = (($38) + ($39)|0);
+ $ctx = $40;
+ $41 = $hd;
+ HEAP32[$41>>2] = $40;
+ $42 = $n;
+ $43 = (($42) - 16)|0;
+ $44 = (($43) + 1)|0;
+ $45 = $hd;
+ $46 = ((($45)) + 8|0);
+ HEAP32[$46>>2] = $44;
+ $47 = $hd;
+ $48 = ((($47)) + 4|0);
+ HEAP32[$48>>2] = 0;
+ $49 = $hd;
+ $50 = HEAP32[$49>>2]|0;
+ ;HEAP32[$50>>2]=0|0;HEAP32[$50+4>>2]=0|0;HEAP32[$50+8>>2]=0|0;HEAP32[$50+12>>2]=0|0;HEAP32[$50+16>>2]=0|0;HEAP32[$50+20>>2]=0|0;HEAP32[$50+24>>2]=0|0;
+ $51 = $secure;
+ $52 = ($51|0)!=(0);
+ $53 = $52 ? 378630161 : 285677921;
+ $54 = $ctx;
+ HEAP32[$54>>2] = $53;
+ $55 = $n;
+ $56 = (($55) + 28)|0;
+ $57 = $ctx;
+ $58 = ((($57)) + 4|0);
+ HEAP32[$58>>2] = $56;
+ $59 = $secure;
+ $60 = $ctx;
+ $61 = ((($60)) + 12|0);
+ $62 = $59&255;
+ $63 = HEAP8[$61>>0]|0;
+ $64 = $62 & 1;
+ $65 = $63 & -2;
+ $66 = $65 | $64;
+ HEAP8[$61>>0] = $66;
+ $67 = $2;
+ $68 = $67 & 256;
+ $69 = ($68|0)!=(0);
+ $70 = $69 ^ 1;
+ $71 = $70 ^ 1;
+ $72 = $71&1;
+ $73 = $ctx;
+ $74 = ((($73)) + 12|0);
+ $75 = $72&255;
+ $76 = HEAP8[$74>>0]|0;
+ $77 = $75 & 1;
+ $78 = ($77 << 2)&255;
+ $79 = $76 & -5;
+ $80 = $79 | $78;
+ HEAP8[$74>>0] = $80;
+ $81 = $hmac;
+ $82 = ($81|0)!=(0);
+ if ($82) {
+ $83 = $1;
+ switch ($83|0) {
+ case 10: case 9: {
+ $84 = $ctx;
+ $85 = ((($84)) + 24|0);
+ HEAP32[$85>>2] = 128;
+ break;
+ }
+ case 311: case 308: {
+ $86 = $ctx;
+ $87 = ((($86)) + 24|0);
+ HEAP32[$87>>2] = 32;
+ break;
+ }
+ default: {
+ $88 = $ctx;
+ $89 = ((($88)) + 24|0);
+ HEAP32[$89>>2] = 64;
+ }
+ }
+ $90 = $ctx;
+ $91 = ((($90)) + 24|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $92<<1;
+ $94 = (__gcry_malloc_secure($93)|0);
+ $95 = $ctx;
+ $96 = ((($95)) + 20|0);
+ HEAP32[$96>>2] = $94;
+ $97 = $ctx;
+ $98 = ((($97)) + 20|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)!=(0|0);
+ if (!($100)) {
+ $101 = (___errno_location()|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = (_gpg_err_code_from_errno($102)|0);
+ $err = $103;
+ $104 = $hd;
+ _md_close($104);
+ }
+ }
+ }
+ $105 = $err;
+ $106 = ($105|0)!=(0);
+ if (!($106)) {
+ __gcry_fast_random_poll();
+ $107 = $1;
+ $108 = ($107|0)!=(0);
+ if ($108) {
+ $109 = $hd;
+ $110 = $1;
+ $111 = (_md_enable($109,$110)|0);
+ $err = $111;
+ $112 = $err;
+ $113 = ($112|0)!=(0);
+ if ($113) {
+ $114 = $hd;
+ _md_close($114);
+ }
+ }
+ }
+ $115 = $err;
+ $116 = ($115|0)!=(0);
+ if ($116) {
+ $119 = $err;
+ STACKTOP = sp;return ($119|0);
+ }
+ $117 = $hd;
+ $118 = $0;
+ HEAP32[$118>>2] = $117;
+ $119 = $err;
+ STACKTOP = sp;return ($119|0);
+}
+function _md_close($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vlen2 = 0, $_vlen7 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr6 = 0, $_vptr_long = 0, $_vptr_long10 = 0, $_vptr_long5 = 0, $_vset = 0, $_vset3 = 0, $_vset8 = 0, $_vset_long = 0, $_vset_long4 = 0, $_vset_long9 = 0;
+ var $r = 0, $r2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp + 16|0;
+ $_vset_long4 = sp + 8|0;
+ $_vset_long9 = sp;
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($4)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $0;
+ _md_stop_debug($8);
+ }
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($10)) + 16|0);
+ $12 = HEAP32[$11>>2]|0;
+ $r = $12;
+ while(1) {
+ $13 = $r;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ break;
+ }
+ $15 = $r;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $r2 = $17;
+ $18 = $r;
+ $_vptr = $18;
+ $19 = $r;
+ $20 = ((($19)) + 8|0);
+ $21 = HEAP32[$20>>2]|0;
+ $_vlen = $21;
+ $_vset = 0;
+ $22 = $_vset;
+ $23 = $22&255;
+ $24 = $_vset_long;
+ $25 = $24;
+ HEAP32[$25>>2] = $23;
+ $26 = (($24) + 4)|0;
+ $27 = $26;
+ HEAP32[$27>>2] = 0;
+ while(1) {
+ $28 = $_vptr;
+ $29 = $28;
+ $30 = $29 & 7;
+ $31 = ($30|0)!=(0);
+ $32 = $_vlen;
+ $33 = ($32|0)!=(0);
+ $34 = $31 ? $33 : 0;
+ if (!($34)) {
+ break;
+ }
+ $35 = $_vset;
+ $36 = $_vptr;
+ HEAP8[$36>>0] = $35;
+ $37 = $_vptr;
+ $38 = ((($37)) + 1|0);
+ $_vptr = $38;
+ $39 = $_vlen;
+ $40 = (($39) + -1)|0;
+ $_vlen = $40;
+ }
+ $41 = $_vlen;
+ $42 = ($41>>>0)<(8);
+ if (!($42)) {
+ $43 = $_vset_long;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($43) + 4)|0;
+ $47 = $46;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (___muldi3(($45|0),($48|0),16843009,16843009)|0);
+ $50 = tempRet0;
+ $51 = $_vset_long;
+ $52 = $51;
+ HEAP32[$52>>2] = $49;
+ $53 = (($51) + 4)|0;
+ $54 = $53;
+ HEAP32[$54>>2] = $50;
+ while(1) {
+ $55 = $_vptr;
+ $_vptr_long = $55;
+ $56 = $_vset_long;
+ $57 = $56;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($56) + 4)|0;
+ $60 = $59;
+ $61 = HEAP32[$60>>2]|0;
+ $62 = $_vptr_long;
+ $63 = $62;
+ $64 = $63;
+ HEAP32[$64>>2] = $58;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = $61;
+ $67 = $_vlen;
+ $68 = (($67) - 8)|0;
+ $_vlen = $68;
+ $69 = $_vptr;
+ $70 = ((($69)) + 8|0);
+ $_vptr = $70;
+ $71 = $_vlen;
+ $72 = ($71>>>0)>=(8);
+ if (!($72)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $73 = $_vlen;
+ $74 = ($73|0)!=(0);
+ if (!($74)) {
+ break;
+ }
+ $75 = $_vset;
+ $76 = $_vptr;
+ HEAP8[$76>>0] = $75;
+ $77 = $_vptr;
+ $78 = ((($77)) + 1|0);
+ $_vptr = $78;
+ $79 = $_vlen;
+ $80 = (($79) + -1)|0;
+ $_vlen = $80;
+ }
+ $81 = $r;
+ __gcry_free($81);
+ $82 = $r2;
+ $r = $82;
+ }
+ $83 = $0;
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ((($84)) + 20|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = ($86|0)!=(0|0);
+ if ($87) {
+ $88 = $0;
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ((($89)) + 20|0);
+ $91 = HEAP32[$90>>2]|0;
+ $_vptr1 = $91;
+ $92 = $0;
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ((($93)) + 24|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = $95<<1;
+ $_vlen2 = $96;
+ $_vset3 = 0;
+ $97 = $_vset3;
+ $98 = $97&255;
+ $99 = $_vset_long4;
+ $100 = $99;
+ HEAP32[$100>>2] = $98;
+ $101 = (($99) + 4)|0;
+ $102 = $101;
+ HEAP32[$102>>2] = 0;
+ while(1) {
+ $103 = $_vptr1;
+ $104 = $103;
+ $105 = $104 & 7;
+ $106 = ($105|0)!=(0);
+ $107 = $_vlen2;
+ $108 = ($107|0)!=(0);
+ $109 = $106 ? $108 : 0;
+ if (!($109)) {
+ break;
+ }
+ $110 = $_vset3;
+ $111 = $_vptr1;
+ HEAP8[$111>>0] = $110;
+ $112 = $_vptr1;
+ $113 = ((($112)) + 1|0);
+ $_vptr1 = $113;
+ $114 = $_vlen2;
+ $115 = (($114) + -1)|0;
+ $_vlen2 = $115;
+ }
+ $116 = $_vlen2;
+ $117 = ($116>>>0)<(8);
+ if (!($117)) {
+ $118 = $_vset_long4;
+ $119 = $118;
+ $120 = HEAP32[$119>>2]|0;
+ $121 = (($118) + 4)|0;
+ $122 = $121;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (___muldi3(($120|0),($123|0),16843009,16843009)|0);
+ $125 = tempRet0;
+ $126 = $_vset_long4;
+ $127 = $126;
+ HEAP32[$127>>2] = $124;
+ $128 = (($126) + 4)|0;
+ $129 = $128;
+ HEAP32[$129>>2] = $125;
+ while(1) {
+ $130 = $_vptr1;
+ $_vptr_long5 = $130;
+ $131 = $_vset_long4;
+ $132 = $131;
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($131) + 4)|0;
+ $135 = $134;
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $_vptr_long5;
+ $138 = $137;
+ $139 = $138;
+ HEAP32[$139>>2] = $133;
+ $140 = (($138) + 4)|0;
+ $141 = $140;
+ HEAP32[$141>>2] = $136;
+ $142 = $_vlen2;
+ $143 = (($142) - 8)|0;
+ $_vlen2 = $143;
+ $144 = $_vptr1;
+ $145 = ((($144)) + 8|0);
+ $_vptr1 = $145;
+ $146 = $_vlen2;
+ $147 = ($146>>>0)>=(8);
+ if (!($147)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $148 = $_vlen2;
+ $149 = ($148|0)!=(0);
+ if (!($149)) {
+ break;
+ }
+ $150 = $_vset3;
+ $151 = $_vptr1;
+ HEAP8[$151>>0] = $150;
+ $152 = $_vptr1;
+ $153 = ((($152)) + 1|0);
+ $_vptr1 = $153;
+ $154 = $_vlen2;
+ $155 = (($154) + -1)|0;
+ $_vlen2 = $155;
+ }
+ $156 = $0;
+ $157 = HEAP32[$156>>2]|0;
+ $158 = ((($157)) + 20|0);
+ $159 = HEAP32[$158>>2]|0;
+ __gcry_free($159);
+ }
+ $160 = $0;
+ $_vptr6 = $160;
+ $161 = $0;
+ $162 = HEAP32[$161>>2]|0;
+ $163 = ((($162)) + 4|0);
+ $164 = HEAP32[$163>>2]|0;
+ $_vlen7 = $164;
+ $_vset8 = 0;
+ $165 = $_vset8;
+ $166 = $165&255;
+ $167 = $_vset_long9;
+ $168 = $167;
+ HEAP32[$168>>2] = $166;
+ $169 = (($167) + 4)|0;
+ $170 = $169;
+ HEAP32[$170>>2] = 0;
+ while(1) {
+ $171 = $_vptr6;
+ $172 = $171;
+ $173 = $172 & 7;
+ $174 = ($173|0)!=(0);
+ $175 = $_vlen7;
+ $176 = ($175|0)!=(0);
+ $177 = $174 ? $176 : 0;
+ if (!($177)) {
+ break;
+ }
+ $178 = $_vset8;
+ $179 = $_vptr6;
+ HEAP8[$179>>0] = $178;
+ $180 = $_vptr6;
+ $181 = ((($180)) + 1|0);
+ $_vptr6 = $181;
+ $182 = $_vlen7;
+ $183 = (($182) + -1)|0;
+ $_vlen7 = $183;
+ }
+ $184 = $_vlen7;
+ $185 = ($184>>>0)<(8);
+ if (!($185)) {
+ $186 = $_vset_long9;
+ $187 = $186;
+ $188 = HEAP32[$187>>2]|0;
+ $189 = (($186) + 4)|0;
+ $190 = $189;
+ $191 = HEAP32[$190>>2]|0;
+ $192 = (___muldi3(($188|0),($191|0),16843009,16843009)|0);
+ $193 = tempRet0;
+ $194 = $_vset_long9;
+ $195 = $194;
+ HEAP32[$195>>2] = $192;
+ $196 = (($194) + 4)|0;
+ $197 = $196;
+ HEAP32[$197>>2] = $193;
+ while(1) {
+ $198 = $_vptr6;
+ $_vptr_long10 = $198;
+ $199 = $_vset_long9;
+ $200 = $199;
+ $201 = HEAP32[$200>>2]|0;
+ $202 = (($199) + 4)|0;
+ $203 = $202;
+ $204 = HEAP32[$203>>2]|0;
+ $205 = $_vptr_long10;
+ $206 = $205;
+ $207 = $206;
+ HEAP32[$207>>2] = $201;
+ $208 = (($206) + 4)|0;
+ $209 = $208;
+ HEAP32[$209>>2] = $204;
+ $210 = $_vlen7;
+ $211 = (($210) - 8)|0;
+ $_vlen7 = $211;
+ $212 = $_vptr6;
+ $213 = ((($212)) + 8|0);
+ $_vptr6 = $213;
+ $214 = $_vlen7;
+ $215 = ($214>>>0)>=(8);
+ if (!($215)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $216 = $_vlen7;
+ $217 = ($216|0)!=(0);
+ if (!($217)) {
+ break;
+ }
+ $218 = $_vset8;
+ $219 = $_vptr6;
+ HEAP8[$219>>0] = $218;
+ $220 = $_vptr6;
+ $221 = ((($220)) + 1|0);
+ $_vptr6 = $221;
+ $222 = $_vlen7;
+ $223 = (($222) + -1)|0;
+ $_vlen7 = $223;
+ }
+ $224 = $0;
+ __gcry_free($224);
+ STACKTOP = sp;return;
+}
+function _md_stop_debug($md) {
+ $md = $md|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $a = 0, $b = 0, $c = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $b = sp + 8|0;
+ $c = sp;
+ $0 = $md;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($2)) + 8|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = $0;
+ _md_write($10,0,0);
+ }
+ $11 = $0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ (_fclose($14)|0);
+ $15 = $0;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($16)) + 8|0);
+ HEAP32[$17>>2] = 0;
+ }
+ $18 = $0;
+ $19 = $18;
+ $a = $19;
+ $20 = $b;
+ $21 = $20;
+ HEAP32[$21>>2] = 42;
+ $22 = (($20) + 4)|0;
+ $23 = $22;
+ HEAP32[$23>>2] = 0;
+ $24 = $a;
+ $25 = $b;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($25) + 4)|0;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (___muldi3(($24|0),0,($27|0),($30|0))|0);
+ $32 = tempRet0;
+ $33 = $c;
+ $34 = $33;
+ HEAP32[$34>>2] = $31;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = $32;
+ $37 = $c;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($37) + 4)|0;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ STACKTOP = sp;return;
+}
+function _md_write($a,$inbuf,$inlen) {
+ $a = $a|0;
+ $inbuf = $inbuf|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $inbuf;
+ $2 = $inlen;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($4)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $0;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ $12 = $0;
+ $13 = ((($12)) + 12|0);
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $0;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_fwrite($13,$16,1,$20)|0);
+ $22 = ($21|0)!=(1);
+ if ($22) {
+ __gcry_bug(37120,630,37125);
+ // unreachable;
+ }
+ }
+ $23 = $2;
+ $24 = ($23|0)!=(0);
+ if ($24) {
+ $25 = $1;
+ $26 = $2;
+ $27 = $0;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ((($28)) + 8|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (_fwrite($25,$26,1,$30)|0);
+ $32 = ($31|0)!=(1);
+ if ($32) {
+ __gcry_bug(37120,632,37125);
+ // unreachable;
+ }
+ }
+ }
+ $33 = $0;
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ((($34)) + 16|0);
+ $36 = HEAP32[$35>>2]|0;
+ $r = $36;
+ while(1) {
+ $37 = $r;
+ $38 = ($37|0)!=(0|0);
+ $39 = $0;
+ $40 = ((($39)) + 4|0);
+ if (!($38)) {
+ break;
+ }
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)!=(0);
+ if ($42) {
+ $43 = $r;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ((($44)) + 32|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $r;
+ $48 = ((($47)) + 16|0);
+ $49 = $0;
+ $50 = ((($49)) + 12|0);
+ $51 = $0;
+ $52 = ((($51)) + 4|0);
+ $53 = HEAP32[$52>>2]|0;
+ FUNCTION_TABLE_viii[$46 & 127]($48,$50,$53);
+ }
+ $54 = $r;
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ((($55)) + 32|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $r;
+ $59 = ((($58)) + 16|0);
+ $60 = $1;
+ $61 = $2;
+ FUNCTION_TABLE_viii[$57 & 127]($59,$60,$61);
+ $62 = $r;
+ $63 = ((($62)) + 4|0);
+ $64 = HEAP32[$63>>2]|0;
+ $r = $64;
+ }
+ HEAP32[$40>>2] = 0;
+ STACKTOP = sp;return;
+}
+function _md_enable($hd,$algorithm) {
+ $hd = $hd|0;
+ $algorithm = $algorithm|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $9 = 0, $entry = 0, $err = 0, $h = 0, $or$cond = 0, $size = 0, $spec = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $hd;
+ $2 = $algorithm;
+ $3 = $1;
+ $4 = HEAP32[$3>>2]|0;
+ $h = $4;
+ $err = 0;
+ $5 = $h;
+ $6 = ((($5)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $entry = $7;
+ while(1) {
+ $8 = $entry;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ break;
+ }
+ $10 = $entry;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $2;
+ $14 = ($12|0)==($13|0);
+ if ($14) {
+ label = 4;
+ break;
+ }
+ $15 = $entry;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $entry = $17;
+ }
+ if ((label|0) == 4) {
+ $0 = 0;
+ $80 = $0;
+ STACKTOP = sp;return ($80|0);
+ }
+ $18 = $2;
+ $19 = (_spec_from_algo_950($18)|0);
+ $spec = $19;
+ $20 = $spec;
+ $21 = ($20|0)!=(0|0);
+ if (!($21)) {
+ $22 = $2;
+ HEAP32[$vararg_buffer>>2] = $22;
+ __gcry_log_debug(37134,$vararg_buffer);
+ $err = 5;
+ }
+ $23 = $err;
+ $24 = ($23|0)==(0);
+ $25 = $2;
+ $26 = ($25|0)==(1);
+ $or$cond = $24 & $26;
+ if ($or$cond) {
+ $27 = (__gcry_fips_mode()|0);
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ __gcry_inactivate_fips_mode(37173);
+ $29 = (__gcry_enforced_fips_mode()|0);
+ $30 = ($29|0)!=(0);
+ if ($30) {
+ $err = 5;
+ }
+ }
+ }
+ $31 = $err;
+ $32 = ($31|0)!=(0);
+ do {
+ if (!($32)) {
+ $33 = $spec;
+ $34 = ((($33)) + 44|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (24 + ($35))|0;
+ $37 = (($36) - 8)|0;
+ $size = $37;
+ $38 = $h;
+ $39 = ((($38)) + 12|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40 & 1;
+ $42 = $41&255;
+ $43 = ($42|0)!=(0);
+ $44 = $size;
+ if ($43) {
+ $45 = (__gcry_malloc_secure($44)|0);
+ $entry = $45;
+ } else {
+ $46 = (__gcry_malloc($44)|0);
+ $entry = $46;
+ }
+ $47 = $entry;
+ $48 = ($47|0)!=(0|0);
+ if ($48) {
+ $52 = $spec;
+ $53 = $entry;
+ HEAP32[$53>>2] = $52;
+ $54 = $h;
+ $55 = ((($54)) + 16|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $entry;
+ $58 = ((($57)) + 4|0);
+ HEAP32[$58>>2] = $56;
+ $59 = $size;
+ $60 = $entry;
+ $61 = ((($60)) + 8|0);
+ HEAP32[$61>>2] = $59;
+ $62 = $entry;
+ $63 = $h;
+ $64 = ((($63)) + 16|0);
+ HEAP32[$64>>2] = $62;
+ $65 = $entry;
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ((($66)) + 28|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $entry;
+ $70 = ((($69)) + 16|0);
+ $71 = $h;
+ $72 = ((($71)) + 12|0);
+ $73 = HEAP8[$72>>0]|0;
+ $74 = ($73&255) >>> 2;
+ $75 = $74 & 1;
+ $76 = $75&255;
+ $77 = ($76|0)!=(0);
+ $78 = $77 ? 256 : 0;
+ FUNCTION_TABLE_vii[$68 & 63]($70,$78);
+ break;
+ } else {
+ $49 = (___errno_location()|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (_gpg_err_code_from_errno($50)|0);
+ $err = $51;
+ break;
+ }
+ }
+ } while(0);
+ $79 = $err;
+ $0 = $79;
+ $80 = $0;
+ STACKTOP = sp;return ($80|0);
+}
+function _md_start_debug($md,$suffix) {
+ $md = $md|0;
+ $suffix = $suffix|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $buf = sp + 28|0;
+ $0 = $md;
+ $1 = $suffix;
+ $2 = (__gcry_fips_mode()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ STACKTOP = sp;return;
+ }
+ $4 = $0;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ __gcry_log_debug(37182,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ $9 = HEAP32[17703]|0;
+ $10 = (($9) + 1)|0;
+ HEAP32[17703] = $10;
+ $11 = HEAP32[17703]|0;
+ $12 = $1;
+ HEAP32[$vararg_buffer1>>2] = $11;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = $12;
+ (_snprintf($buf,49,37214,$vararg_buffer1)|0);
+ $13 = (_fopen($buf,37231)|0);
+ $14 = $0;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ((($15)) + 8|0);
+ HEAP32[$16>>2] = $13;
+ $17 = $0;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)!=(0|0);
+ if ($21) {
+ STACKTOP = sp;return;
+ }
+ HEAP32[$vararg_buffer4>>2] = $buf;
+ __gcry_log_debug(37233,$vararg_buffer4);
+ STACKTOP = sp;return;
+}
+function __gcry_md_reset($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($2)) + 12|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4 & -3;
+ HEAP8[$3>>0] = $5;
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ HEAP32[$7>>2] = 0;
+ $8 = $0;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ((($9)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $r = $11;
+ while(1) {
+ $12 = $r;
+ $13 = ($12|0)!=(0|0);
+ if (!($13)) {
+ break;
+ }
+ $14 = $r;
+ $15 = ((($14)) + 16|0);
+ $16 = $r;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ((($17)) + 44|0);
+ $19 = HEAP32[$18>>2]|0;
+ _memset(($15|0),0,($19|0))|0;
+ $20 = $r;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ((($21)) + 28|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $r;
+ $25 = ((($24)) + 16|0);
+ $26 = $0;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($27)) + 12|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = ($29&255) >>> 2;
+ $31 = $30 & 1;
+ $32 = $31&255;
+ $33 = ($32|0)!=(0);
+ $34 = $33 ? 256 : 0;
+ FUNCTION_TABLE_vii[$23 & 63]($25,$34);
+ $35 = $r;
+ $36 = ((($35)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $r = $37;
+ }
+ $38 = $0;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ((($39)) + 20|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)!=(0|0);
+ if (!($42)) {
+ STACKTOP = sp;return;
+ }
+ $43 = $0;
+ $44 = $0;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($45)) + 20|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $0;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ((($49)) + 24|0);
+ $51 = HEAP32[$50>>2]|0;
+ _md_write($43,$47,$51);
+ STACKTOP = sp;return;
+}
+function __gcry_md_close($hd) {
+ $hd = $hd|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $0;
+ _md_close($1);
+ STACKTOP = sp;return;
+}
+function __gcry_md_write($hd,$inbuf,$inlen) {
+ $hd = $hd|0;
+ $inbuf = $inbuf|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $inbuf;
+ $2 = $inlen;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ _md_write($3,$4,$5);
+ STACKTOP = sp;return;
+}
+function __gcry_md_ctl($hd,$cmd,$buffer,$buflen) {
+ $hd = $hd|0;
+ $cmd = $cmd|0;
+ $buffer = $buffer|0;
+ $buflen = $buflen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $cmd;
+ $2 = $buffer;
+ $3 = $buflen;
+ $rc = 0;
+ $4 = $1;
+ switch ($4|0) {
+ case 5: {
+ $5 = $0;
+ _md_final($5);
+ break;
+ }
+ case 32: {
+ $6 = $0;
+ $7 = $2;
+ _md_start_debug($6,$7);
+ break;
+ }
+ case 33: {
+ $8 = $0;
+ _md_stop_debug($8);
+ break;
+ }
+ default: {
+ $rc = 61;
+ }
+ }
+ $9 = $rc;
+ STACKTOP = sp;return ($9|0);
+}
+function _md_final($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $algo = 0, $dlen = 0, $err = 0, $om = 0, $p = 0, $r = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $om = sp + 4|0;
+ $0 = $a;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($2)) + 12|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = ($4&255) >>> 1;
+ $6 = $5 & 1;
+ $7 = $6&255;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ STACKTOP = sp;return;
+ }
+ $9 = $0;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $0;
+ _md_write($13,0,0);
+ }
+ $14 = $0;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ((($15)) + 16|0);
+ $17 = HEAP32[$16>>2]|0;
+ $r = $17;
+ while(1) {
+ $18 = $r;
+ $19 = ($18|0)!=(0|0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $r;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ((($21)) + 36|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $r;
+ $25 = ((($24)) + 16|0);
+ FUNCTION_TABLE_vi[$23 & 127]($25);
+ $26 = $r;
+ $27 = ((($26)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $r = $28;
+ }
+ $29 = $0;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($30)) + 12|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 & -3;
+ $34 = $33 | 2;
+ HEAP8[$31>>0] = $34;
+ $35 = $0;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ((($36)) + 20|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)!=(0|0);
+ if (!($39)) {
+ STACKTOP = sp;return;
+ }
+ $40 = $0;
+ $41 = (_md_get_algo($40)|0);
+ $algo = $41;
+ $42 = $0;
+ $43 = $algo;
+ $44 = (_md_read($42,$43)|0);
+ $p = $44;
+ $45 = $algo;
+ $46 = (_md_digest_length($45)|0);
+ $dlen = $46;
+ $47 = $algo;
+ $48 = $0;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ((($49)) + 12|0);
+ $51 = HEAP8[$50>>0]|0;
+ $52 = $51 & 1;
+ $53 = $52&255;
+ $54 = ($53|0)!=(0);
+ $55 = $54 ? 1 : 0;
+ $56 = $0;
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ((($57)) + 12|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = ($59&255) >>> 2;
+ $61 = $60 & 1;
+ $62 = $61&255;
+ $63 = ($62|0)!=(0);
+ $64 = $63 ? 256 : 0;
+ $65 = $55 | $64;
+ $66 = (_md_open($om,$47,$65)|0);
+ $err = $66;
+ $67 = $err;
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ $69 = $err;
+ __gcry_fatal_error($69,0);
+ // unreachable;
+ }
+ $70 = HEAP32[$om>>2]|0;
+ $71 = $0;
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ((($72)) + 20|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = $0;
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ((($76)) + 24|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = (($74) + ($78)|0);
+ $80 = $0;
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ((($81)) + 24|0);
+ $83 = HEAP32[$82>>2]|0;
+ _md_write($70,$79,$83);
+ $84 = HEAP32[$om>>2]|0;
+ $85 = $p;
+ $86 = $dlen;
+ _md_write($84,$85,$86);
+ $87 = HEAP32[$om>>2]|0;
+ _md_final($87);
+ $88 = $p;
+ $89 = HEAP32[$om>>2]|0;
+ $90 = $algo;
+ $91 = (_md_read($89,$90)|0);
+ $92 = $dlen;
+ _memcpy(($88|0),($91|0),($92|0))|0;
+ $93 = HEAP32[$om>>2]|0;
+ _md_close($93);
+ STACKTOP = sp;return;
+}
+function _md_get_algo($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, $vararg_buffer = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $a;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($2)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $r = $4;
+ $5 = $r;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $r;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ __gcry_fips_signal_error(37120,980,37258,0,37270);
+ __gcry_log_error(37291,$vararg_buffer);
+ }
+ }
+ $11 = $r;
+ $12 = ($11|0)!=(0|0);
+ if (!($12)) {
+ $16 = 0;
+ STACKTOP = sp;return ($16|0);
+ }
+ $13 = $r;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $15;
+ STACKTOP = sp;return ($16|0);
+}
+function _md_read($a,$algo) {
+ $a = $a|0;
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $r = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $a;
+ $2 = $algo;
+ $3 = $1;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($4)) + 16|0);
+ $6 = HEAP32[$5>>2]|0;
+ $r = $6;
+ $7 = $2;
+ $8 = ($7|0)!=(0);
+ if (!($8)) {
+ $9 = $r;
+ $10 = ($9|0)!=(0|0);
+ if (!($10)) {
+ __gcry_bug(37120,816,37381);
+ // unreachable;
+ }
+ $11 = $r;
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(0|0);
+ if ($14) {
+ __gcry_log_debug(37342,$vararg_buffer);
+ }
+ $15 = $r;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($16)) + 40|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $r;
+ $20 = ((($19)) + 16|0);
+ $21 = (FUNCTION_TABLE_ii[$18 & 63]($20)|0);
+ $0 = $21;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+ }
+ $22 = $1;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($23)) + 16|0);
+ $25 = HEAP32[$24>>2]|0;
+ $r = $25;
+ while(1) {
+ $26 = $r;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ label = 11;
+ break;
+ }
+ $28 = $r;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $2;
+ $32 = ($30|0)==($31|0);
+ $33 = $r;
+ if ($32) {
+ break;
+ }
+ $40 = ((($33)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $r = $41;
+ }
+ if ((label|0) == 11) {
+ __gcry_bug(37120,816,37381);
+ // unreachable;
+ }
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ((($34)) + 40|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $r;
+ $38 = ((($37)) + 16|0);
+ $39 = (FUNCTION_TABLE_ii[$36 & 63]($38)|0);
+ $0 = $39;
+ $42 = $0;
+ STACKTOP = sp;return ($42|0);
+}
+function _md_digest_length($algorithm) {
+ $algorithm = $algorithm|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algorithm;
+ $1 = $0;
+ $2 = (_spec_from_algo_950($1)|0);
+ $spec = $2;
+ $3 = $spec;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $8 = 0;
+ STACKTOP = sp;return ($8|0);
+ }
+ $5 = $spec;
+ $6 = ((($5)) + 24|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7;
+ STACKTOP = sp;return ($8|0);
+}
+function __gcry_md_setkey($hd,$key,$keylen) {
+ $hd = $hd|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $key;
+ $2 = $keylen;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ((($4)) + 20|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ $11 = (_prepare_macpads($8,$9,$10)|0);
+ $rc = $11;
+ $12 = $rc;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ $14 = $0;
+ __gcry_md_reset($14);
+ }
+ } else {
+ $rc = 70;
+ }
+ $15 = $rc;
+ STACKTOP = sp;return ($15|0);
+}
+function _prepare_macpads($hd,$key,$keylen) {
+ $hd = $hd|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $algo = 0, $helpkey = 0, $i = 0, $ipad = 0, $opad = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $hd;
+ $2 = $key;
+ $3 = $keylen;
+ $4 = $1;
+ $5 = (_md_get_algo($4)|0);
+ $algo = $5;
+ $helpkey = 0;
+ $6 = $algo;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ $0 = 5;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+ }
+ $8 = $3;
+ $9 = $1;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($10)) + 24|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($8>>>0)>($12>>>0);
+ do {
+ if ($13) {
+ $14 = $algo;
+ $15 = (_md_digest_length($14)|0);
+ $16 = (__gcry_malloc_secure($15)|0);
+ $helpkey = $16;
+ $17 = $helpkey;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $22 = $algo;
+ $23 = $helpkey;
+ $24 = $2;
+ $25 = $3;
+ __gcry_md_hash_buffer($22,$23,$24,$25);
+ $26 = $helpkey;
+ $2 = $26;
+ $27 = $algo;
+ $28 = (_md_digest_length($27)|0);
+ $3 = $28;
+ $29 = $3;
+ $30 = $1;
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($31)) + 24|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = ($29>>>0)<=($33>>>0);
+ if ($34) {
+ break;
+ }
+ __gcry_assert_failed(37425,37120,716,37458);
+ // unreachable;
+ } else {
+ $19 = (___errno_location()|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_gpg_err_code_from_errno($20)|0);
+ $0 = $21;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+ }
+ }
+ } while(0);
+ $35 = $1;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ((($36)) + 20|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $1;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ((($40)) + 24|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $42<<1;
+ _memset(($38|0),0,($43|0))|0;
+ $44 = $1;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($45)) + 20|0);
+ $47 = HEAP32[$46>>2]|0;
+ $ipad = $47;
+ $48 = $1;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ((($49)) + 20|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $1;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ((($53)) + 24|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (($51) + ($55)|0);
+ $opad = $56;
+ $57 = $ipad;
+ $58 = $2;
+ $59 = $3;
+ _memcpy(($57|0),($58|0),($59|0))|0;
+ $60 = $opad;
+ $61 = $2;
+ $62 = $3;
+ _memcpy(($60|0),($61|0),($62|0))|0;
+ $i = 0;
+ while(1) {
+ $63 = $i;
+ $64 = $1;
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ((($65)) + 24|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = ($63|0)<($67|0);
+ if (!($68)) {
+ break;
+ }
+ $69 = $i;
+ $70 = $ipad;
+ $71 = (($70) + ($69)|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72&255;
+ $74 = $73 ^ 54;
+ $75 = $74&255;
+ HEAP8[$71>>0] = $75;
+ $76 = $i;
+ $77 = $opad;
+ $78 = (($77) + ($76)|0);
+ $79 = HEAP8[$78>>0]|0;
+ $80 = $79&255;
+ $81 = $80 ^ 92;
+ $82 = $81&255;
+ HEAP8[$78>>0] = $82;
+ $83 = $i;
+ $84 = (($83) + 1)|0;
+ $i = $84;
+ }
+ $85 = $helpkey;
+ __gcry_free($85);
+ $0 = 0;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+}
+function __gcry_md_hash_buffer($algo,$digest,$buffer,$length) {
+ $algo = $algo|0;
+ $digest = $digest|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $err = 0, $h = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $h = sp + 12|0;
+ $0 = $algo;
+ $1 = $digest;
+ $2 = $buffer;
+ $3 = $length;
+ $4 = $0;
+ $5 = ($4|0)==(2);
+ if ($5) {
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ __gcry_sha1_hash_buffer($6,$7,$8);
+ STACKTOP = sp;return;
+ }
+ $9 = $0;
+ $10 = ($9|0)==(3);
+ if ($10) {
+ $11 = (__gcry_fips_mode()|0);
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ $13 = $1;
+ $14 = $2;
+ $15 = $3;
+ __gcry_rmd160_hash_buffer($13,$14,$15);
+ STACKTOP = sp;return;
+ }
+ }
+ $16 = $0;
+ $17 = ($16|0)==(1);
+ if ($17) {
+ $18 = (__gcry_fips_mode()|0);
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ __gcry_inactivate_fips_mode(37173);
+ $20 = (__gcry_enforced_fips_mode()|0);
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ __gcry_fips_noreturn();
+ }
+ }
+ }
+ $22 = $0;
+ $23 = (_md_open($h,$22,0)|0);
+ $err = $23;
+ $24 = $err;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $26 = $0;
+ $27 = $err;
+ $28 = (_gcry_error_984($27)|0);
+ $29 = (_gpg_strerror($28)|0);
+ HEAP32[$vararg_buffer>>2] = $26;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $29;
+ __gcry_log_bug(37389,$vararg_buffer);
+ // unreachable;
+ }
+ $30 = HEAP32[$h>>2]|0;
+ $31 = $2;
+ $32 = $3;
+ _md_write($30,$31,$32);
+ $33 = HEAP32[$h>>2]|0;
+ _md_final($33);
+ $34 = $1;
+ $35 = HEAP32[$h>>2]|0;
+ $36 = $0;
+ $37 = (_md_read($35,$36)|0);
+ $38 = $0;
+ $39 = (_md_digest_length($38)|0);
+ _memcpy(($34|0),($37|0),($39|0))|0;
+ $40 = HEAP32[$h>>2]|0;
+ _md_close($40);
+ STACKTOP = sp;return;
+}
+function _gcry_error_984($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gcry_err_make_985(32,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gcry_err_make_985($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $0;
+ $3 = $1;
+ $4 = (_gpg_err_make_986($2,$3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _gpg_err_make_986($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_md_read($hd,$algo) {
+ $hd = $hd|0;
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $algo;
+ $2 = $0;
+ (__gcry_md_ctl($2,5,0,0)|0);
+ $3 = $0;
+ $4 = $1;
+ $5 = (_md_read($3,$4)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_md_hash_buffers($algo,$flags,$digest,$iov,$iovcnt) {
+ $algo = $algo|0;
+ $flags = $flags|0;
+ $digest = $digest|0;
+ $iov = $iov|0;
+ $iovcnt = $iovcnt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $h = 0, $hmac = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $h = sp + 4|0;
+ $1 = $algo;
+ $2 = $flags;
+ $3 = $digest;
+ $4 = $iov;
+ $5 = $iovcnt;
+ $6 = $4;
+ $7 = ($6|0)==(0|0);
+ $8 = $5;
+ $9 = ($8|0)<(0);
+ $or$cond = $7 | $9;
+ if ($or$cond) {
+ $0 = 45;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ $10 = $2;
+ $11 = $10 & -3;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $0 = 45;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ $13 = $2;
+ $14 = $13 & 2;
+ $15 = ($14|0)!=(0);
+ $16 = $15 ^ 1;
+ $17 = $16 ^ 1;
+ $18 = $17&1;
+ $hmac = $18;
+ $19 = $hmac;
+ $20 = ($19|0)!=(0);
+ $21 = $5;
+ $22 = ($21|0)<(1);
+ $or$cond3 = $20 & $22;
+ if ($or$cond3) {
+ $0 = 45;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ $23 = $1;
+ $24 = ($23|0)!=(2);
+ $25 = $hmac;
+ $26 = ($25|0)!=(0);
+ $or$cond5 = $24 | $26;
+ if ($or$cond5) {
+ $30 = $1;
+ $31 = ($30|0)==(1);
+ if ($31) {
+ $32 = (__gcry_fips_mode()|0);
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ __gcry_inactivate_fips_mode(37173);
+ $34 = (__gcry_enforced_fips_mode()|0);
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ __gcry_fips_noreturn();
+ }
+ }
+ }
+ $36 = $1;
+ $37 = $hmac;
+ $38 = ($37|0)!=(0);
+ $39 = $38 ? 2 : 0;
+ $40 = (_md_open($h,$36,$39)|0);
+ $rc = $40;
+ $41 = $rc;
+ $42 = ($41|0)!=(0);
+ if ($42) {
+ $43 = $rc;
+ $0 = $43;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ $44 = $hmac;
+ $45 = ($44|0)!=(0);
+ do {
+ if ($45) {
+ $46 = HEAP32[$h>>2]|0;
+ $47 = $4;
+ $48 = ((($47)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $4;
+ $51 = ((($50)) + 4|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($49) + ($52)|0);
+ $54 = $4;
+ $55 = ((($54)) + 8|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = (__gcry_md_setkey($46,$53,$56)|0);
+ $rc = $57;
+ $58 = $rc;
+ $59 = ($58|0)!=(0);
+ if (!($59)) {
+ $62 = $4;
+ $63 = ((($62)) + 16|0);
+ $4 = $63;
+ $64 = $5;
+ $65 = (($64) + -1)|0;
+ $5 = $65;
+ break;
+ }
+ $60 = HEAP32[$h>>2]|0;
+ _md_close($60);
+ $61 = $rc;
+ $0 = $61;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ } while(0);
+ while(1) {
+ $66 = $5;
+ $67 = ($66|0)!=(0);
+ $68 = HEAP32[$h>>2]|0;
+ if (!($67)) {
+ break;
+ }
+ $69 = $4;
+ $70 = ((($69)) + 12|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $4;
+ $73 = ((($72)) + 4|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (($71) + ($74)|0);
+ $76 = $4;
+ $77 = ((($76)) + 8|0);
+ $78 = HEAP32[$77>>2]|0;
+ _md_write($68,$75,$78);
+ $79 = $4;
+ $80 = ((($79)) + 16|0);
+ $4 = $80;
+ $81 = $5;
+ $82 = (($81) + -1)|0;
+ $5 = $82;
+ }
+ _md_final($68);
+ $83 = $3;
+ $84 = HEAP32[$h>>2]|0;
+ $85 = $1;
+ $86 = (_md_read($84,$85)|0);
+ $87 = $1;
+ $88 = (_md_digest_length($87)|0);
+ _memcpy(($83|0),($86|0),($88|0))|0;
+ $89 = HEAP32[$h>>2]|0;
+ _md_close($89);
+ } else {
+ $27 = $3;
+ $28 = $4;
+ $29 = $5;
+ __gcry_sha1_hash_buffers($27,$28,$29);
+ }
+ $0 = 0;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+}
+function __gcry_md_get_algo($hd) {
+ $hd = $hd|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $0;
+ $2 = (_md_get_algo($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_md_get_algo_dlen($algorithm) {
+ $algorithm = $algorithm|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algorithm;
+ $1 = $0;
+ $2 = (_md_digest_length($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_md_algo_info($algo,$what,$buffer,$nbytes) {
+ $algo = $algo|0;
+ $what = $what|0;
+ $buffer = $buffer|0;
+ $nbytes = $nbytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $asn = 0, $asnlen = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $asnlen = sp;
+ $0 = $algo;
+ $1 = $what;
+ $2 = $buffer;
+ $3 = $nbytes;
+ $4 = $1;
+ L1: do {
+ switch ($4|0) {
+ case 8: {
+ $5 = $2;
+ $6 = ($5|0)!=(0|0);
+ $7 = $3;
+ $8 = ($7|0)!=(0|0);
+ $or$cond = $6 | $8;
+ if ($or$cond) {
+ $rc = 45;
+ break L1;
+ } else {
+ $9 = $0;
+ $10 = (_check_digest_algo($9)|0);
+ $rc = $10;
+ break L1;
+ }
+ break;
+ }
+ case 10: {
+ $11 = $0;
+ $12 = (_check_digest_algo($11)|0);
+ $rc = $12;
+ $13 = $rc;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ $15 = $0;
+ $16 = (_md_asn_oid($15,$asnlen,0)|0);
+ $asn = $16;
+ $17 = $2;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = $3;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = HEAP32[$asnlen>>2]|0;
+ $22 = ($20>>>0)>=($21>>>0);
+ if ($22) {
+ $23 = $2;
+ $24 = $asn;
+ $25 = HEAP32[$asnlen>>2]|0;
+ _memcpy(($23|0),($24|0),($25|0))|0;
+ $26 = HEAP32[$asnlen>>2]|0;
+ $27 = $3;
+ HEAP32[$27>>2] = $26;
+ break L1;
+ }
+ }
+ $28 = $2;
+ $29 = ($28|0)==(0|0);
+ $30 = $3;
+ $31 = ($30|0)!=(0|0);
+ $or$cond3 = $29 & $31;
+ if ($or$cond3) {
+ $32 = HEAP32[$asnlen>>2]|0;
+ $33 = $3;
+ HEAP32[$33>>2] = $32;
+ break L1;
+ }
+ $34 = $2;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $rc = 66;
+ break L1;
+ } else {
+ $rc = 45;
+ break L1;
+ }
+ }
+ break;
+ }
+ case 57: {
+ $36 = $0;
+ $37 = $3;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ $39 = $3;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $40;
+ } else {
+ $41 = 0;
+ }
+ $42 = (__gcry_md_selftest($36,$41,0)|0);
+ $43 = (_gpg_err_code_1011($42)|0);
+ $rc = $43;
+ break;
+ }
+ default: {
+ $rc = 61;
+ }
+ }
+ } while(0);
+ $44 = $rc;
+ STACKTOP = sp;return ($44|0);
+}
+function _check_digest_algo($algorithm) {
+ $algorithm = $algorithm|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algorithm;
+ $2 = $1;
+ $3 = (_spec_from_algo_950($2)|0);
+ $spec = $3;
+ $4 = $spec;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $spec;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8 & 1;
+ $10 = $9&255;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $0 = 0;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ }
+ $0 = 5;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+}
+function _md_asn_oid($algorithm,$asnlen,$mdlen) {
+ $algorithm = $algorithm|0;
+ $asnlen = $asnlen|0;
+ $mdlen = $mdlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $asnoid = 0, $spec = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $algorithm;
+ $1 = $asnlen;
+ $2 = $mdlen;
+ $asnoid = 0;
+ $3 = $0;
+ $4 = (_spec_from_algo_950($3)|0);
+ $spec = $4;
+ $5 = $spec;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $23 = $0;
+ HEAP32[$vararg_buffer>>2] = $23;
+ __gcry_log_bug(37474,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $spec;
+ $10 = ((($9)) + 16|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $1;
+ HEAP32[$12>>2] = $11;
+ }
+ $13 = $2;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $19 = $spec;
+ $20 = ((($19)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $asnoid = $21;
+ $22 = $asnoid;
+ STACKTOP = sp;return ($22|0);
+ }
+ $15 = $spec;
+ $16 = ((($15)) + 24|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $2;
+ HEAP32[$18>>2] = $17;
+ $19 = $spec;
+ $20 = ((($19)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $asnoid = $21;
+ $22 = $asnoid;
+ STACKTOP = sp;return ($22|0);
+}
+function __gcry_md_selftest($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $ec = 0;
+ $3 = $0;
+ $4 = (_spec_from_algo_950($3)|0);
+ $spec = $4;
+ $5 = $spec;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $spec;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & 1;
+ $11 = $10&255;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ $13 = $spec;
+ $14 = ((($13)) + 48|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $spec;
+ $18 = ((($17)) + 48|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $0;
+ $21 = $1;
+ $22 = $2;
+ $23 = (FUNCTION_TABLE_iiii[$19 & 127]($20,$21,$22)|0);
+ $ec = $23;
+ $48 = $ec;
+ $49 = (_gpg_error_1010($48)|0);
+ STACKTOP = sp;return ($49|0);
+ }
+ }
+ }
+ $24 = $spec;
+ $25 = ($24|0)!=(0|0);
+ if ($25) {
+ $26 = $spec;
+ $27 = ((($26)) + 48|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)!=(0|0);
+ $30 = $29;
+ } else {
+ $30 = 0;
+ }
+ $31 = $30 ? 5 : 69;
+ $ec = $31;
+ $32 = $2;
+ $33 = ($32|0)!=(0|0);
+ if (!($33)) {
+ $48 = $ec;
+ $49 = (_gpg_error_1010($48)|0);
+ STACKTOP = sp;return ($49|0);
+ }
+ $34 = $2;
+ $35 = $0;
+ $36 = $spec;
+ $37 = ($36|0)!=(0|0);
+ if ($37) {
+ $38 = $spec;
+ $39 = ((($38)) + 4|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40 & 1;
+ $42 = $41&255;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ label = 10;
+ } else {
+ $47 = 38027;
+ }
+ } else {
+ label = 10;
+ }
+ if ((label|0) == 10) {
+ $44 = $spec;
+ $45 = ($44|0)!=(0|0);
+ $46 = $45 ? 37988 : 38007;
+ $47 = $46;
+ }
+ FUNCTION_TABLE_viiii[$34 & 63](43192,$35,38049,$47);
+ $48 = $ec;
+ $49 = (_gpg_error_1010($48)|0);
+ STACKTOP = sp;return ($49|0);
+}
+function _gpg_error_1010($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_986(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_code_1011($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = $1 & 65535;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_md_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_primegen_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_register_primegen_progress($cb,$cb_data) {
+ $cb = $cb|0;
+ $cb_data = $cb_data|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $cb;
+ $1 = $cb_data;
+ $2 = $0;
+ HEAP32[17704] = $2;
+ $3 = $1;
+ HEAP32[17705] = $3;
+ STACKTOP = sp;return;
+}
+function __gcry_generate_secret_prime($nbits,$random_level,$extra_check,$extra_check_arg) {
+ $nbits = $nbits|0;
+ $random_level = $random_level|0;
+ $extra_check = $extra_check|0;
+ $extra_check_arg = $extra_check_arg|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $prime = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = $random_level;
+ $2 = $extra_check;
+ $3 = $extra_check_arg;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (_gen_prime($4,1,$5,$6,$7)|0);
+ $prime = $8;
+ _progress(10);
+ $9 = $prime;
+ STACKTOP = sp;return ($9|0);
+}
+function _gen_prime($nbits,$secret,$randomlevel,$extra_check,$extra_check_arg) {
+ $nbits = $nbits|0;
+ $secret = $secret|0;
+ $randomlevel = $randomlevel|0;
+ $extra_check = $extra_check|0;
+ $extra_check_arg = $extra_check_arg|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $count1 = 0, $count2 = 0, $dotcount = 0, $i = 0, $mods = 0, $pminus1 = 0, $prime = 0, $ptest = 0, $result = 0, $step = 0, $val_2 = 0, $val_3 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
+ var $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $count2 = sp + 20|0;
+ $0 = $nbits;
+ $1 = $secret;
+ $2 = $randomlevel;
+ $3 = $extra_check;
+ $4 = $extra_check_arg;
+ $5 = $0;
+ $6 = ($5>>>0)<(16);
+ if ($6) {
+ HEAP32[$vararg_buffer>>2] = 16;
+ __gcry_log_fatal(37503,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = HEAP32[1085]|0;
+ $8 = $7<<2;
+ $9 = (__gcry_xmalloc($8)|0);
+ $mods = $9;
+ $10 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $val_2 = $10;
+ $11 = (__gcry_mpi_alloc_set_ui(3)|0);
+ $val_3 = $11;
+ $12 = $1;
+ $13 = ($12|0)!=(0);
+ $14 = $0;
+ if ($13) {
+ $15 = (__gcry_mpi_snew($14)|0);
+ $17 = $15;
+ } else {
+ $16 = (__gcry_mpi_new($14)|0);
+ $17 = $16;
+ }
+ $prime = $17;
+ $18 = $prime;
+ $19 = (__gcry_mpi_alloc_like($18)|0);
+ $result = $19;
+ $20 = $prime;
+ $21 = (__gcry_mpi_alloc_like($20)|0);
+ $pminus1 = $21;
+ $22 = $prime;
+ $23 = (__gcry_mpi_alloc_like($22)|0);
+ $ptest = $23;
+ HEAP32[$count2>>2] = 0;
+ $count1 = 0;
+ L8: while(1) {
+ $dotcount = 0;
+ $24 = $prime;
+ $25 = $0;
+ $26 = $2;
+ __gcry_mpi_randomize($24,$25,$26);
+ $27 = $prime;
+ $28 = $0;
+ $29 = (($28) - 1)|0;
+ __gcry_mpi_set_highbit($27,$29);
+ $30 = $1;
+ $31 = ($30|0)!=(0);
+ if ($31) {
+ $32 = $prime;
+ $33 = $0;
+ $34 = (($33) - 2)|0;
+ __gcry_mpi_set_bit($32,$34);
+ }
+ $35 = $prime;
+ __gcry_mpi_set_bit($35,0);
+ $i = 0;
+ while(1) {
+ $36 = $i;
+ $37 = (16512 + ($36<<1)|0);
+ $38 = HEAP16[$37>>1]|0;
+ $39 = $38&65535;
+ $x = $39;
+ $40 = ($39|0)!=(0);
+ if (!($40)) {
+ break;
+ }
+ $41 = $prime;
+ $42 = $x;
+ $43 = (__gcry_mpi_fdiv_r_ui(0,$41,$42)|0);
+ $44 = $i;
+ $45 = $mods;
+ $46 = (($45) + ($44<<2)|0);
+ HEAP32[$46>>2] = $43;
+ $47 = $i;
+ $48 = (($47) + 1)|0;
+ $i = $48;
+ }
+ $step = 0;
+ while(1) {
+ $49 = $step;
+ $50 = ($49>>>0)<(20000);
+ if (!($50)) {
+ break;
+ }
+ $51 = $count1;
+ $52 = (($51) + 1)|0;
+ $count1 = $52;
+ $i = 0;
+ while(1) {
+ $53 = $i;
+ $54 = (16512 + ($53<<1)|0);
+ $55 = HEAP16[$54>>1]|0;
+ $56 = $55&65535;
+ $x = $56;
+ $57 = ($56|0)!=(0);
+ if (!($57)) {
+ break;
+ }
+ while(1) {
+ $58 = $i;
+ $59 = $mods;
+ $60 = (($59) + ($58<<2)|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = $step;
+ $63 = (($61) + ($62))|0;
+ $64 = $x;
+ $65 = ($63>>>0)>=($64>>>0);
+ if (!($65)) {
+ break;
+ }
+ $66 = $x;
+ $67 = $i;
+ $68 = $mods;
+ $69 = (($68) + ($67<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (($70) - ($66))|0;
+ HEAP32[$69>>2] = $71;
+ }
+ $72 = $i;
+ $73 = $mods;
+ $74 = (($73) + ($72<<2)|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $step;
+ $77 = (($75) + ($76))|0;
+ $78 = ($77|0)!=(0);
+ if (!($78)) {
+ break;
+ }
+ $79 = $i;
+ $80 = (($79) + 1)|0;
+ $i = $80;
+ }
+ $81 = $x;
+ $82 = ($81|0)!=(0);
+ if (!($82)) {
+ $83 = $ptest;
+ $84 = $prime;
+ $85 = $step;
+ __gcry_mpi_add_ui($83,$84,$85);
+ $86 = HEAP32[$count2>>2]|0;
+ $87 = (($86) + 1)|0;
+ HEAP32[$count2>>2] = $87;
+ $88 = $pminus1;
+ $89 = $ptest;
+ __gcry_mpi_sub_ui($88,$89,1);
+ $90 = $result;
+ $91 = $val_2;
+ $92 = $pminus1;
+ $93 = $ptest;
+ __gcry_mpi_powm($90,$91,$92,$93);
+ $94 = $result;
+ $95 = (__gcry_mpi_cmp_ui($94,1)|0);
+ $96 = ($95|0)!=(0);
+ if (!($96)) {
+ $97 = $ptest;
+ $98 = (_is_prime($97,5,$count2)|0);
+ $99 = ($98|0)!=(0);
+ if ($99) {
+ $100 = $ptest;
+ $101 = $0;
+ $102 = (($101) - 1)|0;
+ $103 = $1;
+ $104 = (($102) - ($103))|0;
+ $105 = (__gcry_mpi_test_bit($100,$104)|0);
+ $106 = ($105|0)!=(0);
+ if (!($106)) {
+ label = 24;
+ break;
+ }
+ $107 = $3;
+ $108 = ($107|0)!=(0|0);
+ if (!($108)) {
+ label = 28;
+ break L8;
+ }
+ $109 = $3;
+ $110 = $4;
+ $111 = $ptest;
+ $112 = (FUNCTION_TABLE_iii[$109 & 127]($110,$111)|0);
+ $113 = ($112|0)!=(0);
+ if (!($113)) {
+ label = 28;
+ break L8;
+ }
+ _progress(47);
+ }
+ }
+ $121 = $dotcount;
+ $122 = (($121) + 1)|0;
+ $dotcount = $122;
+ $123 = ($122|0)==(10);
+ if ($123) {
+ _progress(46);
+ $dotcount = 0;
+ }
+ }
+ $124 = $step;
+ $125 = (($124) + 2)|0;
+ $step = $125;
+ }
+ if ((label|0) == 24) {
+ label = 0;
+ _progress(10);
+ __gcry_log_debug(37651,$vararg_buffer1);
+ }
+ _progress(58);
+ }
+ if ((label|0) == 28) {
+ $114 = $val_2;
+ __gcry_mpi_free($114);
+ $115 = $val_3;
+ __gcry_mpi_free($115);
+ $116 = $result;
+ __gcry_mpi_free($116);
+ $117 = $pminus1;
+ __gcry_mpi_free($117);
+ $118 = $prime;
+ __gcry_mpi_free($118);
+ $119 = $mods;
+ __gcry_free($119);
+ $120 = $ptest;
+ STACKTOP = sp;return ($120|0);
+ }
+ return (0)|0;
+}
+function _is_prime($n,$steps,$count) {
+ $n = $n|0;
+ $steps = $steps|0;
+ $count = $count|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $a2 = 0, $i = 0, $j = 0, $k = 0, $nbits = 0, $nminus1 = 0, $q = 0, $rc = 0, $x = 0, $y = 0, $z = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $n;
+ $1 = $steps;
+ $2 = $count;
+ $3 = $0;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_mpi_alloc($5)|0);
+ $x = $6;
+ $7 = $0;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (__gcry_mpi_alloc($9)|0);
+ $y = $10;
+ $11 = $0;
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (__gcry_mpi_alloc($13)|0);
+ $z = $14;
+ $15 = $0;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (__gcry_mpi_alloc($17)|0);
+ $nminus1 = $18;
+ $19 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $a2 = $19;
+ $rc = 0;
+ $20 = $0;
+ $21 = (__gcry_mpi_get_nbits($20)|0);
+ $nbits = $21;
+ $22 = $1;
+ $23 = ($22|0)<(5);
+ if ($23) {
+ $1 = 5;
+ }
+ $24 = $nminus1;
+ $25 = $0;
+ __gcry_mpi_sub_ui($24,$25,1);
+ $26 = $nminus1;
+ $27 = (__gcry_mpi_copy($26)|0);
+ $q = $27;
+ $28 = $q;
+ $29 = (__gcry_mpi_trailing_zeros($28)|0);
+ $k = $29;
+ $30 = $q;
+ $31 = $q;
+ $32 = $k;
+ __gcry_mpi_tdiv_q_2exp($30,$31,$32);
+ $i = 0;
+ L4: while(1) {
+ $33 = $i;
+ $34 = $1;
+ $35 = ($33>>>0)<($34>>>0);
+ if (!($35)) {
+ label = 22;
+ break;
+ }
+ $36 = $2;
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($37) + 1)|0;
+ HEAP32[$36>>2] = $38;
+ $39 = $i;
+ $40 = ($39|0)!=(0);
+ $41 = $x;
+ if ($40) {
+ $42 = $nbits;
+ __gcry_mpi_randomize($41,$42,0);
+ $43 = $x;
+ $44 = $nbits;
+ $45 = (($44) - 2)|0;
+ $46 = (__gcry_mpi_test_bit($43,$45)|0);
+ $47 = ($46|0)!=(0);
+ $48 = $x;
+ $49 = $nbits;
+ $50 = (($49) - 2)|0;
+ __gcry_mpi_set_highbit($48,$50);
+ if (!($47)) {
+ $51 = $x;
+ $52 = $nbits;
+ $53 = (($52) - 2)|0;
+ __gcry_mpi_clear_bit($51,$53);
+ }
+ $54 = $x;
+ $55 = $nminus1;
+ $56 = (__gcry_mpi_cmp($54,$55)|0);
+ $57 = ($56|0)<(0);
+ if (!($57)) {
+ label = 11;
+ break;
+ }
+ $58 = $x;
+ $59 = (__gcry_mpi_cmp_ui($58,1)|0);
+ $60 = ($59|0)>(0);
+ if (!($60)) {
+ label = 11;
+ break;
+ }
+ } else {
+ (__gcry_mpi_set_ui($41,2)|0);
+ }
+ $61 = $y;
+ $62 = $x;
+ $63 = $q;
+ $64 = $0;
+ __gcry_mpi_powm($61,$62,$63,$64);
+ $65 = $y;
+ $66 = (__gcry_mpi_cmp_ui($65,1)|0);
+ $67 = ($66|0)!=(0);
+ if ($67) {
+ $68 = $y;
+ $69 = $nminus1;
+ $70 = (__gcry_mpi_cmp($68,$69)|0);
+ $71 = ($70|0)!=(0);
+ if ($71) {
+ $j = 1;
+ while(1) {
+ $72 = $j;
+ $73 = $k;
+ $74 = ($72>>>0)<($73>>>0);
+ if ($74) {
+ $75 = $y;
+ $76 = $nminus1;
+ $77 = (__gcry_mpi_cmp($75,$76)|0);
+ $78 = ($77|0)!=(0);
+ $100 = $78;
+ } else {
+ $100 = 0;
+ }
+ $79 = $y;
+ if (!($100)) {
+ break;
+ }
+ $80 = $y;
+ $81 = $a2;
+ $82 = $0;
+ __gcry_mpi_powm($79,$80,$81,$82);
+ $83 = $y;
+ $84 = (__gcry_mpi_cmp_ui($83,1)|0);
+ $85 = ($84|0)!=(0);
+ if (!($85)) {
+ label = 23;
+ break L4;
+ }
+ $86 = $j;
+ $87 = (($86) + 1)|0;
+ $j = $87;
+ }
+ $88 = $nminus1;
+ $89 = (__gcry_mpi_cmp($79,$88)|0);
+ $90 = ($89|0)!=(0);
+ if ($90) {
+ label = 23;
+ break;
+ }
+ }
+ }
+ _progress(43);
+ $91 = $i;
+ $92 = (($91) + 1)|0;
+ $i = $92;
+ }
+ if ((label|0) == 11) {
+ __gcry_assert_failed(37550,37622,951,37633);
+ // unreachable;
+ }
+ else if ((label|0) == 22) {
+ $rc = 1;
+ $93 = $x;
+ __gcry_mpi_free($93);
+ $94 = $y;
+ __gcry_mpi_free($94);
+ $95 = $z;
+ __gcry_mpi_free($95);
+ $96 = $nminus1;
+ __gcry_mpi_free($96);
+ $97 = $q;
+ __gcry_mpi_free($97);
+ $98 = $a2;
+ __gcry_mpi_free($98);
+ $99 = $rc;
+ STACKTOP = sp;return ($99|0);
+ }
+ else if ((label|0) == 23) {
+ $93 = $x;
+ __gcry_mpi_free($93);
+ $94 = $y;
+ __gcry_mpi_free($94);
+ $95 = $z;
+ __gcry_mpi_free($95);
+ $96 = $nminus1;
+ __gcry_mpi_free($96);
+ $97 = $q;
+ __gcry_mpi_free($97);
+ $98 = $a2;
+ __gcry_mpi_free($98);
+ $99 = $rc;
+ STACKTOP = sp;return ($99|0);
+ }
+ return (0)|0;
+}
+function _progress($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = HEAP32[17704]|0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = HEAP32[17704]|0;
+ $4 = HEAP32[17705]|0;
+ $5 = $0;
+ FUNCTION_TABLE_viiiii[$3 & 127]($4,37642,$5,0,0);
+ STACKTOP = sp;return;
+}
+function _check_prime($prime,$val_2,$rm_rounds,$cb_func,$cb_arg) {
+ $prime = $prime|0;
+ $val_2 = $val_2|0;
+ $rm_rounds = $rm_rounds|0;
+ $cb_func = $cb_func|0;
+ $cb_arg = $cb_arg|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $count = 0, $i = 0, $pminus1 = 0, $result = 0;
+ var $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $count = sp + 8|0;
+ $1 = $prime;
+ $2 = $val_2;
+ $3 = $rm_rounds;
+ $4 = $cb_func;
+ $5 = $cb_arg;
+ HEAP32[$count>>2] = 0;
+ $i = 0;
+ while(1) {
+ $6 = $i;
+ $7 = (16512 + ($6<<1)|0);
+ $8 = HEAP16[$7>>1]|0;
+ $9 = $8&65535;
+ $x = $9;
+ $10 = ($9|0)!=(0);
+ $11 = $1;
+ if (!($10)) {
+ break;
+ }
+ $12 = $x;
+ $13 = (__gcry_mpi_divisible_ui($11,$12)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ label = 4;
+ break;
+ }
+ $21 = $i;
+ $22 = (($21) + 1)|0;
+ $i = $22;
+ }
+ if ((label|0) == 4) {
+ $15 = $1;
+ $16 = $x;
+ $17 = (__gcry_mpi_cmp_ui($15,$16)|0);
+ $18 = ($17|0)!=(0);
+ $19 = $18 ^ 1;
+ $20 = $19&1;
+ $0 = $20;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ $23 = (__gcry_mpi_alloc_like($11)|0);
+ $result = $23;
+ $24 = $1;
+ $25 = (__gcry_mpi_alloc_like($24)|0);
+ $pminus1 = $25;
+ $26 = $pminus1;
+ $27 = $1;
+ __gcry_mpi_sub_ui($26,$27,1);
+ $28 = $result;
+ $29 = $2;
+ $30 = $pminus1;
+ $31 = $1;
+ __gcry_mpi_powm($28,$29,$30,$31);
+ $32 = $pminus1;
+ __gcry_mpi_free($32);
+ $33 = $result;
+ $34 = (__gcry_mpi_cmp_ui($33,1)|0);
+ $35 = ($34|0)!=(0);
+ $36 = $result;
+ __gcry_mpi_free($36);
+ if ($35) {
+ _progress(46);
+ $0 = 0;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ $37 = $4;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ $39 = $4;
+ $40 = $5;
+ $41 = $1;
+ $42 = (FUNCTION_TABLE_iiii[$39 & 127]($40,2,$41)|0);
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ label = 10;
+ }
+ } else {
+ label = 10;
+ }
+ do {
+ if ((label|0) == 10) {
+ $44 = $1;
+ $45 = $3;
+ $46 = (_is_prime($44,$45,$count)|0);
+ $47 = ($46|0)!=(0);
+ if ($47) {
+ $48 = $4;
+ $49 = ($48|0)!=(0|0);
+ if ($49) {
+ $50 = $4;
+ $51 = $5;
+ $52 = $1;
+ $53 = (FUNCTION_TABLE_iiii[$50 & 127]($51,1,$52)|0);
+ $54 = ($53|0)!=(0);
+ if (!($54)) {
+ break;
+ }
+ }
+ $0 = 1;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ }
+ } while(0);
+ _progress(46);
+ $0 = 0;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+}
+function __gcry_derive_x931_prime($xp,$xp1,$xp2,$e,$r_p1,$r_p2) {
+ $xp = $xp|0;
+ $xp1 = $xp1|0;
+ $xp2 = $xp2|0;
+ $e = $e|0;
+ $r_p1 = $r_p1|0;
+ $r_p2 = $r_p2|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $gcdres = 0, $gcdtmp = 0, $or$cond = 0, $or$cond3 = 0, $p1 = 0, $p1p2 = 0, $p2 = 0, $r1 = 0, $tmp = 0, $val_2 = 0, $yp0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $xp;
+ $2 = $xp1;
+ $3 = $xp2;
+ $4 = $e;
+ $5 = $r_p1;
+ $6 = $r_p2;
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ $9 = $2;
+ $10 = ($9|0)!=(0|0);
+ $or$cond = $8 & $10;
+ $11 = $3;
+ $12 = ($11|0)!=(0|0);
+ $or$cond3 = $or$cond & $12;
+ if (!($or$cond3)) {
+ $0 = 0;
+ $104 = $0;
+ STACKTOP = sp;return ($104|0);
+ }
+ $13 = $4;
+ $14 = ($13|0)!=(0|0);
+ if ($14) {
+ $15 = $4;
+ $16 = (__gcry_mpi_test_bit($15,0)|0);
+ $17 = ($16|0)!=(0);
+ if ($17) {
+ $18 = $2;
+ $19 = (_find_x931_prime($18)|0);
+ $p1 = $19;
+ $20 = $3;
+ $21 = (_find_x931_prime($20)|0);
+ $p2 = $21;
+ $22 = $1;
+ $23 = (__gcry_mpi_alloc_like($22)|0);
+ $p1p2 = $23;
+ $24 = $p1p2;
+ $25 = $p1;
+ $26 = $p2;
+ __gcry_mpi_mul($24,$25,$26);
+ $27 = $p1;
+ $28 = (__gcry_mpi_alloc_like($27)|0);
+ $tmp = $28;
+ $29 = $tmp;
+ $30 = $p2;
+ $31 = $p1;
+ (__gcry_mpi_invm($29,$30,$31)|0);
+ $32 = $tmp;
+ $33 = $tmp;
+ $34 = $p2;
+ __gcry_mpi_mul($32,$33,$34);
+ $35 = $tmp;
+ $r1 = $35;
+ $36 = $p2;
+ $37 = (__gcry_mpi_alloc_like($36)|0);
+ $tmp = $37;
+ $38 = $tmp;
+ $39 = $p1;
+ $40 = $p2;
+ (__gcry_mpi_invm($38,$39,$40)|0);
+ $41 = $tmp;
+ $42 = $tmp;
+ $43 = $p1;
+ __gcry_mpi_mul($41,$42,$43);
+ $44 = $r1;
+ $45 = $r1;
+ $46 = $tmp;
+ __gcry_mpi_sub($44,$45,$46);
+ $47 = $r1;
+ $48 = ((($47)) + 8|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ $51 = $r1;
+ $52 = $r1;
+ $53 = $p1p2;
+ __gcry_mpi_add($51,$52,$53);
+ }
+ $54 = $tmp;
+ $yp0 = $54;
+ $tmp = 0;
+ $55 = $yp0;
+ $56 = $r1;
+ $57 = $1;
+ $58 = $p1p2;
+ __gcry_mpi_subm($55,$56,$57,$58);
+ $59 = $yp0;
+ $60 = $yp0;
+ $61 = $1;
+ __gcry_mpi_add($59,$60,$61);
+ $62 = $r1;
+ __gcry_mpi_free($62);
+ $63 = $yp0;
+ $64 = $1;
+ $65 = (__gcry_mpi_cmp($63,$64)|0);
+ $66 = ($65|0)<(0);
+ if ($66) {
+ $67 = $yp0;
+ $68 = $yp0;
+ $69 = $p1p2;
+ __gcry_mpi_add($67,$68,$69);
+ }
+ $70 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $val_2 = $70;
+ $71 = $yp0;
+ $72 = (__gcry_mpi_alloc_like($71)|0);
+ $gcdtmp = $72;
+ $73 = $p1p2;
+ $74 = $p1p2;
+ __gcry_mpi_sub_ui($73,$74,1);
+ $75 = $yp0;
+ $76 = $yp0;
+ __gcry_mpi_sub_ui($75,$76,1);
+ while(1) {
+ $77 = $gcdtmp;
+ $78 = $4;
+ $79 = $yp0;
+ $80 = (__gcry_mpi_gcd($77,$78,$79)|0);
+ $gcdres = $80;
+ $81 = $yp0;
+ $82 = $yp0;
+ __gcry_mpi_add_ui($81,$82,1);
+ $83 = $gcdres;
+ $84 = ($83|0)!=(0);
+ if ($84) {
+ $85 = $yp0;
+ $86 = $val_2;
+ $87 = (_check_prime($85,$86,64,0,0)|0);
+ $88 = ($87|0)!=(0);
+ if ($88) {
+ break;
+ }
+ } else {
+ _progress(47);
+ }
+ $89 = $yp0;
+ $90 = $yp0;
+ $91 = $p1p2;
+ __gcry_mpi_add($89,$90,$91);
+ }
+ $92 = $gcdtmp;
+ __gcry_mpi_free($92);
+ $93 = $val_2;
+ __gcry_mpi_free($93);
+ $94 = $p1p2;
+ __gcry_mpi_free($94);
+ _progress(10);
+ $95 = $5;
+ $96 = ($95|0)!=(0|0);
+ $97 = $p1;
+ if ($96) {
+ $98 = $5;
+ HEAP32[$98>>2] = $97;
+ } else {
+ __gcry_mpi_free($97);
+ }
+ $99 = $6;
+ $100 = ($99|0)!=(0|0);
+ $101 = $p2;
+ if ($100) {
+ $102 = $6;
+ HEAP32[$102>>2] = $101;
+ } else {
+ __gcry_mpi_free($101);
+ }
+ $103 = $yp0;
+ $0 = $103;
+ $104 = $0;
+ STACKTOP = sp;return ($104|0);
+ }
+ }
+ $0 = 0;
+ $104 = $0;
+ STACKTOP = sp;return ($104|0);
+}
+function _find_x931_prime($pfirst) {
+ $pfirst = $pfirst|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $prime = 0, $val_2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $pfirst;
+ $1 = (__gcry_mpi_alloc_set_ui(2)|0);
+ $val_2 = $1;
+ $2 = $0;
+ $3 = (__gcry_mpi_copy($2)|0);
+ $prime = $3;
+ $4 = $prime;
+ __gcry_mpi_set_bit($4,0);
+ while(1) {
+ $5 = $prime;
+ $6 = $val_2;
+ $7 = (_check_prime($5,$6,64,0,0)|0);
+ $8 = ($7|0)!=(0);
+ $9 = $8 ^ 1;
+ if (!($9)) {
+ break;
+ }
+ $10 = $prime;
+ $11 = $prime;
+ __gcry_mpi_add_ui($10,$11,2);
+ }
+ $12 = $val_2;
+ __gcry_mpi_free($12);
+ $13 = $prime;
+ STACKTOP = sp;return ($13|0);
+}
+function __gcry_pk_util_parse_flaglist($list,$r_flags,$r_encoding) {
+ $list = $list|0;
+ $r_flags = $r_flags|0;
+ $r_encoding = $r_encoding|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $encoding = 0, $flags = 0, $i = 0, $igninvflag = 0, $n = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0;
+ var $or$cond7 = 0, $or$cond9 = 0, $rc = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 16|0;
+ $0 = $list;
+ $1 = $r_flags;
+ $2 = $r_encoding;
+ $rc = 0;
+ $encoding = 5;
+ $flags = 0;
+ $igninvflag = 0;
+ $3 = $0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $0;
+ $6 = (__gcry_sexp_length($5)|0);
+ $7 = (($6) - 1)|0;
+ $8 = $7;
+ } else {
+ $8 = 0;
+ }
+ $i = $8;
+ while(1) {
+ $9 = $i;
+ $10 = ($9|0)>(0);
+ if (!($10)) {
+ break;
+ }
+ $11 = $0;
+ $12 = $i;
+ $13 = (__gcry_sexp_nth_data($11,$12,$n)|0);
+ $s = $13;
+ $14 = $s;
+ $15 = ($14|0)!=(0|0);
+ L7: do {
+ if ($15) {
+ $16 = HEAP32[$n>>2]|0;
+ do {
+ switch ($16|0) {
+ case 3: {
+ $17 = $s;
+ $18 = (_memcmp($17,37681,3)|0);
+ $19 = ($18|0)==(0);
+ $20 = $encoding;
+ $21 = ($20|0)==(5);
+ $or$cond = $19 & $21;
+ if ($or$cond) {
+ $encoding = 4;
+ $22 = $flags;
+ $23 = $22 | 4;
+ $flags = $23;
+ break L7;
+ }
+ $24 = $s;
+ $25 = (_memcmp($24,37685,3)|0);
+ $26 = ($25|0)==(0);
+ $27 = $encoding;
+ $28 = ($27|0)==(5);
+ $or$cond3 = $26 & $28;
+ if ($or$cond3) {
+ $encoding = 0;
+ $29 = $flags;
+ $30 = $29 | 16;
+ $flags = $30;
+ break L7;
+ }
+ $31 = $igninvflag;
+ $32 = ($31|0)!=(0);
+ if ($32) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 4: {
+ $33 = $s;
+ $34 = (_memcmp($33,37689,4)|0);
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ $36 = $flags;
+ $37 = $36 | 1024;
+ $flags = $37;
+ break L7;
+ }
+ $38 = $s;
+ $39 = (_memcmp($38,37694,4)|0);
+ $40 = ($39|0)==(0);
+ $41 = $encoding;
+ $42 = ($41|0)==(5);
+ $or$cond5 = $40 & $42;
+ if ($or$cond5) {
+ $encoding = 3;
+ $43 = $flags;
+ $44 = $43 | 4;
+ $flags = $44;
+ break L7;
+ }
+ $45 = $s;
+ $46 = (_memcmp($45,47156,4)|0);
+ $47 = ($46|0)!=(0);
+ if (!($47)) {
+ $encoding = 0;
+ $48 = $flags;
+ $49 = $48 | 8192;
+ $flags = $49;
+ break L7;
+ }
+ $50 = $igninvflag;
+ $51 = ($50|0)!=(0);
+ if ($51) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 5: {
+ $52 = $s;
+ $53 = (_memcmp($52,47150,5)|0);
+ $54 = ($53|0)!=(0);
+ if (!($54)) {
+ $encoding = 0;
+ $55 = $flags;
+ $56 = $55 | 4096;
+ $flags = $56;
+ break L7;
+ }
+ $57 = $s;
+ $58 = (_memcmp($57,37699,5)|0);
+ $59 = ($58|0)==(0);
+ $60 = $encoding;
+ $61 = ($60|0)==(5);
+ $or$cond7 = $59 & $61;
+ if ($or$cond7) {
+ $encoding = 1;
+ $62 = $flags;
+ $63 = $62 | 4;
+ $flags = $63;
+ break L7;
+ }
+ $64 = $s;
+ $65 = (_memcmp($64,37705,5)|0);
+ $66 = ($65|0)!=(0);
+ if (!($66)) {
+ $67 = $flags;
+ $68 = $67 | 512;
+ $flags = $68;
+ break L7;
+ }
+ $69 = $igninvflag;
+ $70 = ($69|0)!=(0);
+ if ($70) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 6: {
+ $71 = $s;
+ $72 = (_memcmp($71,37711,6)|0);
+ $73 = ($72|0)!=(0);
+ if (!($73)) {
+ $74 = $flags;
+ $75 = $74 | 2048;
+ $flags = $75;
+ break L7;
+ }
+ $76 = $igninvflag;
+ $77 = ($76|0)!=(0);
+ if ($77) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 7: {
+ $78 = $s;
+ $79 = (_memcmp($78,37718,7)|0);
+ $80 = ($79|0)!=(0);
+ if (!($80)) {
+ $81 = $flags;
+ $82 = $81 | 2;
+ $flags = $82;
+ break L7;
+ }
+ $83 = $s;
+ $84 = (_memcmp($83,37726,7)|0);
+ $85 = ($84|0)==(0);
+ $86 = $igninvflag;
+ $87 = ($86|0)!=(0);
+ $or$cond11 = $85 | $87;
+ if ($or$cond11) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 8: {
+ $88 = $s;
+ $89 = (_memcmp($88,39412,8)|0);
+ $90 = ($89|0)!=(0);
+ if (!($90)) {
+ $91 = $flags;
+ $92 = $91 | 64;
+ $flags = $92;
+ break L7;
+ }
+ $93 = $igninvflag;
+ $94 = ($93|0)!=(0);
+ if ($94) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 9: {
+ $95 = $s;
+ $96 = (_memcmp($95,37734,9)|0);
+ $97 = ($96|0)==(0);
+ $98 = $encoding;
+ $99 = ($98|0)==(5);
+ $or$cond9 = $97 & $99;
+ if ($or$cond9) {
+ $encoding = 2;
+ $100 = $flags;
+ $101 = $100 | 4;
+ $flags = $101;
+ break L7;
+ }
+ $102 = $igninvflag;
+ $103 = ($102|0)!=(0);
+ if ($103) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 10: {
+ $104 = $s;
+ $105 = (_memcmp($104,37744,10)|0);
+ $106 = ($105|0)!=(0);
+ if (!($106)) {
+ $igninvflag = 1;
+ break L7;
+ }
+ $107 = $s;
+ $108 = (_memcmp($107,37755,10)|0);
+ $109 = ($108|0)!=(0);
+ if (!($109)) {
+ $110 = $flags;
+ $111 = $110 | 16384;
+ $flags = $111;
+ break L7;
+ }
+ $112 = $igninvflag;
+ $113 = ($112|0)!=(0);
+ if ($113) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 11: {
+ $114 = $s;
+ $115 = (_memcmp($114,37766,11)|0);
+ $116 = ($115|0)!=(0);
+ if (!($116)) {
+ $117 = $flags;
+ $118 = $117 | 1;
+ $flags = $118;
+ break L7;
+ }
+ $119 = $s;
+ $120 = (_memcmp($119,37778,11)|0);
+ $121 = ($120|0)!=(0);
+ if (!($121)) {
+ $122 = $flags;
+ $123 = $122 | 128;
+ $flags = $123;
+ break L7;
+ }
+ $124 = $igninvflag;
+ $125 = ($124|0)!=(0);
+ if ($125) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ case 13: {
+ $126 = $s;
+ $127 = (_memcmp($126,37790,13)|0);
+ $128 = ($127|0)!=(0);
+ if (!($128)) {
+ $129 = $flags;
+ $130 = $129 | 256;
+ $flags = $130;
+ break L7;
+ }
+ $131 = $s;
+ $132 = (_memcmp($131,47196,13)|0);
+ $133 = ($132|0)!=(0);
+ if (!($133)) {
+ $134 = $flags;
+ $135 = $134 | 32;
+ $flags = $135;
+ break L7;
+ }
+ $136 = $igninvflag;
+ $137 = ($136|0)!=(0);
+ if ($137) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ break;
+ }
+ default: {
+ $138 = $igninvflag;
+ $139 = ($138|0)!=(0);
+ if ($139) {
+ break L7;
+ }
+ $rc = 72;
+ break L7;
+ }
+ }
+ } while(0);
+ }
+ } while(0);
+ $140 = $i;
+ $141 = (($140) + -1)|0;
+ $i = $141;
+ }
+ $142 = $1;
+ $143 = ($142|0)!=(0|0);
+ if ($143) {
+ $144 = $flags;
+ $145 = $1;
+ HEAP32[$145>>2] = $144;
+ }
+ $146 = $2;
+ $147 = ($146|0)!=(0|0);
+ if (!($147)) {
+ $150 = $rc;
+ STACKTOP = sp;return ($150|0);
+ }
+ $148 = $encoding;
+ $149 = $2;
+ HEAP32[$149>>2] = $148;
+ $150 = $rc;
+ STACKTOP = sp;return ($150|0);
+}
+function __gcry_pk_util_get_nbits($list,$r_nbits) {
+ $list = $list|0;
+ $r_nbits = $r_nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $buf = 0, $n = 0, $or$cond = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $buf = sp + 20|0;
+ $n = sp;
+ $1 = $list;
+ $2 = $r_nbits;
+ $3 = $2;
+ HEAP32[$3>>2] = 0;
+ $4 = $1;
+ $5 = (__gcry_sexp_find_token($4,37804,0)|0);
+ $1 = $5;
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ $0 = 0;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ $8 = $1;
+ $9 = (__gcry_sexp_nth_data($8,1,$n)|0);
+ $s = $9;
+ $10 = $s;
+ $11 = ($10|0)==(0|0);
+ $12 = HEAP32[$n>>2]|0;
+ $13 = ($12>>>0)>=(49);
+ $or$cond = $11 | $13;
+ if ($or$cond) {
+ $14 = $1;
+ __gcry_sexp_release($14);
+ $0 = 65;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ } else {
+ $15 = $s;
+ $16 = HEAP32[$n>>2]|0;
+ _memcpy(($buf|0),($15|0),($16|0))|0;
+ $17 = HEAP32[$n>>2]|0;
+ $18 = (($buf) + ($17)|0);
+ HEAP8[$18>>0] = 0;
+ $19 = (_strtoul($buf,0,0)|0);
+ $20 = $2;
+ HEAP32[$20>>2] = $19;
+ $21 = $1;
+ __gcry_sexp_release($21);
+ $0 = 0;
+ $22 = $0;
+ STACKTOP = sp;return ($22|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_util_get_rsa_use_e($list,$r_e) {
+ $list = $list|0;
+ $r_e = $r_e|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $n = 0, $or$cond = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $buf = sp + 20|0;
+ $n = sp;
+ $1 = $list;
+ $2 = $r_e;
+ $3 = $2;
+ HEAP32[$3>>2] = 0;
+ $4 = $1;
+ $5 = (__gcry_sexp_find_token($4,37810,0)|0);
+ $1 = $5;
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ $8 = $2;
+ HEAP32[$8>>2] = 65537;
+ $0 = 0;
+ $23 = $0;
+ STACKTOP = sp;return ($23|0);
+ }
+ $9 = $1;
+ $10 = (__gcry_sexp_nth_data($9,1,$n)|0);
+ $s = $10;
+ $11 = $s;
+ $12 = ($11|0)==(0|0);
+ $13 = HEAP32[$n>>2]|0;
+ $14 = ($13>>>0)>=(49);
+ $or$cond = $12 | $14;
+ if ($or$cond) {
+ $15 = $1;
+ __gcry_sexp_release($15);
+ $0 = 65;
+ $23 = $0;
+ STACKTOP = sp;return ($23|0);
+ } else {
+ $16 = $s;
+ $17 = HEAP32[$n>>2]|0;
+ _memcpy(($buf|0),($16|0),($17|0))|0;
+ $18 = HEAP32[$n>>2]|0;
+ $19 = (($buf) + ($18)|0);
+ HEAP8[$19>>0] = 0;
+ $20 = (_strtoul($buf,0,0)|0);
+ $21 = $2;
+ HEAP32[$21>>2] = $20;
+ $22 = $1;
+ __gcry_sexp_release($22);
+ $0 = 0;
+ $23 = $0;
+ STACKTOP = sp;return ($23|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_util_preparse_sigval($s_sig,$algo_names,$r_parms,$r_eccflags) {
+ $s_sig = $s_sig|0;
+ $algo_names = $algo_names|0;
+ $r_parms = $r_parms|0;
+ $r_eccflags = $r_eccflags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $l1 = 0, $l2 = 0, $name = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $s_sig;
+ $1 = $algo_names;
+ $2 = $r_parms;
+ $3 = $r_eccflags;
+ $l1 = 0;
+ $l2 = 0;
+ $name = 0;
+ $4 = $2;
+ HEAP32[$4>>2] = 0;
+ $5 = $3;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $3;
+ HEAP32[$7>>2] = 0;
+ }
+ $8 = $0;
+ $9 = (__gcry_sexp_find_token($8,37820,0)|0);
+ $l1 = $9;
+ $10 = $l1;
+ $11 = ($10|0)!=(0|0);
+ do {
+ if ($11) {
+ $12 = $l1;
+ $13 = (__gcry_sexp_nth($12,1)|0);
+ $l2 = $13;
+ $14 = $l2;
+ $15 = ($14|0)!=(0|0);
+ if (!($15)) {
+ $rc = 68;
+ break;
+ }
+ $16 = $l2;
+ $17 = (__gcry_sexp_nth_string($16,0)|0);
+ $name = $17;
+ $18 = $name;
+ $19 = ($18|0)!=(0|0);
+ if (!($19)) {
+ $rc = 65;
+ break;
+ }
+ $20 = $name;
+ $21 = (_strcmp($20,47190)|0);
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ $23 = $l2;
+ __gcry_sexp_release($23);
+ $24 = $l1;
+ $25 = (__gcry_sexp_nth($24,2)|0);
+ $l2 = $25;
+ $26 = $l2;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $rc = 65;
+ break;
+ }
+ $28 = $name;
+ __gcry_free($28);
+ $29 = $l2;
+ $30 = (__gcry_sexp_nth_string($29,0)|0);
+ $name = $30;
+ $31 = $name;
+ $32 = ($31|0)!=(0|0);
+ if (!($32)) {
+ $rc = 65;
+ break;
+ }
+ }
+ $i = 0;
+ while(1) {
+ $33 = $i;
+ $34 = $1;
+ $35 = (($34) + ($33<<2)|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)!=(0|0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $name;
+ $39 = $i;
+ $40 = $1;
+ $41 = (($40) + ($39<<2)|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (_strcasecmp($38,$42)|0);
+ $44 = ($43|0)!=(0);
+ if (!($44)) {
+ break;
+ }
+ $45 = $i;
+ $46 = (($45) + 1)|0;
+ $i = $46;
+ }
+ $47 = $i;
+ $48 = $1;
+ $49 = (($48) + ($47<<2)|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50|0)!=(0|0);
+ if (!($51)) {
+ $rc = 70;
+ break;
+ }
+ $52 = $3;
+ $53 = ($52|0)!=(0|0);
+ if ($53) {
+ $54 = $name;
+ $55 = (_strcmp($54,47150)|0);
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ $57 = $3;
+ HEAP32[$57>>2] = 4096;
+ }
+ $58 = $name;
+ $59 = (_strcmp($58,47156)|0);
+ $60 = ($59|0)!=(0);
+ if (!($60)) {
+ $61 = $3;
+ HEAP32[$61>>2] = 8192;
+ }
+ }
+ $62 = $l2;
+ $63 = $2;
+ HEAP32[$63>>2] = $62;
+ $l2 = 0;
+ $rc = 0;
+ } else {
+ $rc = 65;
+ }
+ } while(0);
+ $64 = $name;
+ __gcry_free($64);
+ $65 = $l2;
+ __gcry_sexp_release($65);
+ $66 = $l1;
+ __gcry_sexp_release($66);
+ $67 = $rc;
+ STACKTOP = sp;return ($67|0);
+}
+function __gcry_pk_util_preparse_encval($sexp,$algo_names,$r_parms,$ctx) {
+ $sexp = $sexp|0;
+ $algo_names = $algo_names|0;
+ $r_parms = $r_parms|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $l1 = 0, $l2 = 0, $n = 0, $name = 0, $parsed_flags = 0, $rc = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 12|0;
+ $parsed_flags = sp + 8|0;
+ $0 = $sexp;
+ $1 = $algo_names;
+ $2 = $r_parms;
+ $3 = $ctx;
+ $rc = 0;
+ $l1 = 0;
+ $l2 = 0;
+ $name = 0;
+ HEAP32[$parsed_flags>>2] = 0;
+ $4 = $2;
+ HEAP32[$4>>2] = 0;
+ $5 = $0;
+ $6 = (__gcry_sexp_find_token($5,42155,0)|0);
+ $l1 = $6;
+ $7 = $l1;
+ $8 = ($7|0)!=(0|0);
+ do {
+ if ($8) {
+ $9 = $l1;
+ $10 = (__gcry_sexp_nth($9,1)|0);
+ $l2 = $10;
+ $11 = $l2;
+ $12 = ($11|0)!=(0|0);
+ if (!($12)) {
+ $rc = 68;
+ break;
+ }
+ $13 = $l2;
+ $14 = (__gcry_sexp_nth_string($13,0)|0);
+ $name = $14;
+ $15 = $name;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $rc = 65;
+ break;
+ }
+ $17 = $name;
+ $18 = (_strcmp($17,47190)|0);
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $115 = HEAP32[$parsed_flags>>2]|0;
+ $116 = $115 | 8;
+ HEAP32[$parsed_flags>>2] = $116;
+ } else {
+ $20 = $l2;
+ $21 = $3;
+ $22 = ((($21)) + 8|0);
+ $23 = (__gcry_pk_util_parse_flaglist($20,$parsed_flags,$22)|0);
+ $rc = $23;
+ $24 = $rc;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ break;
+ }
+ $26 = $3;
+ $27 = ((($26)) + 8|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)==(4);
+ if ($29) {
+ $rc = 70;
+ break;
+ }
+ $30 = $3;
+ $31 = ((($30)) + 8|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)==(3);
+ if ($33) {
+ $34 = $l2;
+ __gcry_sexp_release($34);
+ $35 = $l1;
+ $36 = (__gcry_sexp_find_token($35,37828,0)|0);
+ $l2 = $36;
+ $37 = $l2;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ $39 = $l2;
+ $40 = (__gcry_sexp_nth_data($39,1,$n)|0);
+ $s = $40;
+ $41 = $s;
+ $42 = ($41|0)!=(0|0);
+ if ($42) {
+ $43 = $s;
+ $44 = HEAP32[$n>>2]|0;
+ $45 = (_get_hash_algo($43,$44)|0);
+ $46 = $3;
+ $47 = ((($46)) + 16|0);
+ HEAP32[$47>>2] = $45;
+ $48 = $3;
+ $49 = ((($48)) + 16|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50|0)!=(0);
+ if (!($51)) {
+ $rc = 5;
+ }
+ } else {
+ $rc = 68;
+ }
+ $52 = $rc;
+ $53 = ($52|0)!=(0);
+ if ($53) {
+ break;
+ }
+ }
+ $54 = $l2;
+ __gcry_sexp_release($54);
+ $55 = $l1;
+ $56 = (__gcry_sexp_find_token($55,37912,0)|0);
+ $l2 = $56;
+ $57 = $l2;
+ $58 = ($57|0)!=(0|0);
+ if ($58) {
+ $59 = $l2;
+ $60 = (__gcry_sexp_nth_data($59,1,$n)|0);
+ $s = $60;
+ $61 = $s;
+ $62 = ($61|0)!=(0|0);
+ do {
+ if ($62) {
+ $63 = HEAP32[$n>>2]|0;
+ $64 = ($63>>>0)>(0);
+ if ($64) {
+ $65 = HEAP32[$n>>2]|0;
+ $66 = (__gcry_malloc($65)|0);
+ $67 = $3;
+ $68 = ((($67)) + 20|0);
+ HEAP32[$68>>2] = $66;
+ $69 = $3;
+ $70 = ((($69)) + 20|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = ($71|0)!=(0|0);
+ if ($72) {
+ $74 = $3;
+ $75 = ((($74)) + 20|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $s;
+ $78 = HEAP32[$n>>2]|0;
+ _memcpy(($76|0),($77|0),($78|0))|0;
+ $79 = HEAP32[$n>>2]|0;
+ $80 = $3;
+ $81 = ((($80)) + 24|0);
+ HEAP32[$81>>2] = $79;
+ break;
+ } else {
+ $73 = (_gpg_err_code_from_syserror()|0);
+ $rc = $73;
+ break;
+ }
+ }
+ } else {
+ $rc = 68;
+ }
+ } while(0);
+ $82 = $rc;
+ $83 = ($82|0)!=(0);
+ if ($83) {
+ break;
+ }
+ }
+ }
+ $i = 2;
+ L36: while(1) {
+ $84 = $l2;
+ __gcry_sexp_release($84);
+ $85 = $l1;
+ $86 = $i;
+ $87 = (__gcry_sexp_nth($85,$86)|0);
+ $l2 = $87;
+ $88 = ($87|0)!=(0|0);
+ if (!($88)) {
+ break;
+ }
+ $89 = $l2;
+ $90 = (__gcry_sexp_nth_data($89,0,$n)|0);
+ $s = $90;
+ $91 = HEAP32[$n>>2]|0;
+ $92 = ($91|0)==(9);
+ if ($92) {
+ $93 = $s;
+ $94 = (_memcmp($93,37828,9)|0);
+ $95 = ($94|0)!=(0);
+ if ($95) {
+ label = 30;
+ }
+ } else {
+ label = 30;
+ }
+ do {
+ if ((label|0) == 30) {
+ label = 0;
+ $96 = HEAP32[$n>>2]|0;
+ $97 = ($96|0)==(5);
+ if ($97) {
+ $98 = $s;
+ $99 = (_memcmp($98,37912,5)|0);
+ $100 = ($99|0)!=(0);
+ if (!($100)) {
+ break;
+ }
+ }
+ $101 = HEAP32[$n>>2]|0;
+ $102 = ($101|0)==(15);
+ if (!($102)) {
+ break L36;
+ }
+ $103 = $s;
+ $104 = (_memcmp($103,37918,15)|0);
+ $105 = ($104|0)!=(0);
+ if ($105) {
+ break L36;
+ }
+ }
+ } while(0);
+ $106 = $i;
+ $107 = (($106) + 1)|0;
+ $i = $107;
+ }
+ $108 = $l2;
+ $109 = ($108|0)!=(0|0);
+ if (!($109)) {
+ $rc = 68;
+ break;
+ }
+ $110 = $name;
+ __gcry_free($110);
+ $111 = $l2;
+ $112 = (__gcry_sexp_nth_string($111,0)|0);
+ $name = $112;
+ $113 = $name;
+ $114 = ($113|0)!=(0|0);
+ if (!($114)) {
+ $rc = 65;
+ break;
+ }
+ }
+ $i = 0;
+ while(1) {
+ $117 = $i;
+ $118 = $1;
+ $119 = (($118) + ($117<<2)|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = ($120|0)!=(0|0);
+ if (!($121)) {
+ break;
+ }
+ $122 = $name;
+ $123 = $i;
+ $124 = $1;
+ $125 = (($124) + ($123<<2)|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = (_strcasecmp($122,$126)|0);
+ $128 = ($127|0)!=(0);
+ if (!($128)) {
+ break;
+ }
+ $129 = $i;
+ $130 = (($129) + 1)|0;
+ $i = $130;
+ }
+ $131 = $i;
+ $132 = $1;
+ $133 = (($132) + ($131<<2)|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = ($134|0)!=(0|0);
+ if ($135) {
+ $136 = $l2;
+ $137 = $2;
+ HEAP32[$137>>2] = $136;
+ $l2 = 0;
+ $138 = HEAP32[$parsed_flags>>2]|0;
+ $139 = $3;
+ $140 = ((($139)) + 12|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $141 | $138;
+ HEAP32[$140>>2] = $142;
+ $rc = 0;
+ break;
+ } else {
+ $rc = 70;
+ break;
+ }
+ } else {
+ $rc = 65;
+ }
+ } while(0);
+ $143 = $name;
+ __gcry_free($143);
+ $144 = $l2;
+ __gcry_sexp_release($144);
+ $145 = $l1;
+ __gcry_sexp_release($145);
+ $146 = $rc;
+ STACKTOP = sp;return ($146|0);
+}
+function _get_hash_algo($s,$n) {
+ $s = $s|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $algo = 0, $i = 0, $tmpname = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $s;
+ $1 = $n;
+ $i = 0;
+ while(1) {
+ $2 = $i;
+ $3 = (4344 + ($2<<3)|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $i;
+ $7 = (4344 + ($6<<3)|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (_strlen($8)|0);
+ $10 = $1;
+ $11 = ($9|0)==($10|0);
+ if ($11) {
+ $12 = $i;
+ $13 = (4344 + ($12<<3)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $0;
+ $16 = $1;
+ $17 = (_memcmp($14,$15,$16)|0);
+ $18 = ($17|0)!=(0);
+ if (!($18)) {
+ break;
+ }
+ }
+ $19 = $i;
+ $20 = (($19) + 1)|0;
+ $i = $20;
+ }
+ $21 = $i;
+ $22 = (4344 + ($21<<3)|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $25 = $i;
+ $26 = (4344 + ($25<<3)|0);
+ $27 = ((($26)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $algo = $28;
+ $43 = $algo;
+ STACKTOP = sp;return ($43|0);
+ }
+ $29 = $1;
+ $30 = (($29) + 1)|0;
+ $31 = (__gcry_malloc($30)|0);
+ $tmpname = $31;
+ $32 = $tmpname;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ $34 = $tmpname;
+ $35 = $0;
+ $36 = $1;
+ _memcpy(($34|0),($35|0),($36|0))|0;
+ $37 = $1;
+ $38 = $tmpname;
+ $39 = (($38) + ($37)|0);
+ HEAP8[$39>>0] = 0;
+ $40 = $tmpname;
+ $41 = (__gcry_md_map_name($40)|0);
+ $algo = $41;
+ $42 = $tmpname;
+ __gcry_free($42);
+ $43 = $algo;
+ STACKTOP = sp;return ($43|0);
+ } else {
+ $algo = 0;
+ $43 = $algo;
+ STACKTOP = sp;return ($43|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_util_init_encoding_ctx($ctx,$op,$nbits) {
+ $ctx = $ctx|0;
+ $op = $op|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $op;
+ $2 = $nbits;
+ $3 = $1;
+ $4 = $0;
+ HEAP32[$4>>2] = $3;
+ $5 = $2;
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ HEAP32[$7>>2] = $5;
+ $8 = $0;
+ $9 = ((($8)) + 8|0);
+ HEAP32[$9>>2] = 5;
+ $10 = $0;
+ $11 = ((($10)) + 12|0);
+ HEAP32[$11>>2] = 0;
+ $12 = $0;
+ $13 = ((($12)) + 16|0);
+ HEAP32[$13>>2] = 2;
+ $14 = $0;
+ $15 = ((($14)) + 20|0);
+ HEAP32[$15>>2] = 0;
+ $16 = $0;
+ $17 = ((($16)) + 24|0);
+ HEAP32[$17>>2] = 0;
+ $18 = $0;
+ $19 = ((($18)) + 28|0);
+ HEAP32[$19>>2] = 20;
+ $20 = $0;
+ $21 = ((($20)) + 32|0);
+ HEAP32[$21>>2] = 0;
+ $22 = $0;
+ $23 = ((($22)) + 36|0);
+ HEAP32[$23>>2] = 0;
+ STACKTOP = sp;return;
+}
+function __gcry_pk_util_free_encoding_ctx($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ((($1)) + 20|0);
+ $3 = HEAP32[$2>>2]|0;
+ __gcry_free($3);
+ STACKTOP = sp;return;
+}
+function __gcry_pk_util_data_to_mpi($input,$ret_mpi,$ctx) {
+ $input = $input|0;
+ $ret_mpi = $ret_mpi|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
+ var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
+ var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
+ var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
+ var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
+ var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
+ var $512 = 0, $513 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ldata = 0, $lflags = 0, $lhash = 0, $list = 0, $list12 = 0, $list19 = 0;
+ var $list5 = 0, $lvalue = 0, $n = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond25 = 0, $or$cond27 = 0, $or$cond29 = 0, $or$cond3 = 0, $or$cond31 = 0, $or$cond33 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0;
+ var $parsed_flags = 0, $random_override = 0, $random_override13 = 0, $random_override17 = 0, $random_override_len = 0, $random_override_len14 = 0, $random_override_len18 = 0, $rc = 0, $s = 0, $unknown_flag = 0, $value = 0, $value1 = 0, $value10 = 0, $value15 = 0, $value3 = 0, $value6 = 0, $value8 = 0, $valuelen = 0, $valuelen11 = 0, $valuelen16 = 0;
+ var $valuelen2 = 0, $valuelen4 = 0, $valuelen7 = 0, $valuelen9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp + 112|0;
+ $parsed_flags = sp + 100|0;
+ $valuelen = sp + 84|0;
+ $valuelen2 = sp + 76|0;
+ $valuelen4 = sp + 68|0;
+ $valuelen7 = sp + 48|0;
+ $valuelen9 = sp + 40|0;
+ $valuelen11 = sp + 32|0;
+ $valuelen16 = sp + 12|0;
+ $1 = $input;
+ $2 = $ret_mpi;
+ $3 = $ctx;
+ $rc = 0;
+ $unknown_flag = 0;
+ HEAP32[$parsed_flags>>2] = 0;
+ $4 = $2;
+ HEAP32[$4>>2] = 0;
+ $5 = $1;
+ $6 = (__gcry_sexp_find_token($5,37934,0)|0);
+ $ldata = $6;
+ $7 = $ldata;
+ $8 = ($7|0)!=(0|0);
+ if (!($8)) {
+ $9 = $1;
+ $10 = (__gcry_sexp_nth_mpi($9,0,0)|0);
+ $11 = $2;
+ HEAP32[$11>>2] = $10;
+ $12 = $2;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(0|0);
+ $15 = $14 ? 0 : 65;
+ $0 = $15;
+ $513 = $0;
+ STACKTOP = sp;return ($513|0);
+ }
+ $16 = $ldata;
+ $17 = (__gcry_sexp_find_token($16,47190,0)|0);
+ $lflags = $17;
+ $18 = $lflags;
+ $19 = ($18|0)!=(0|0);
+ if ($19) {
+ $20 = $lflags;
+ $21 = $3;
+ $22 = ((($21)) + 8|0);
+ $23 = (__gcry_pk_util_parse_flaglist($20,$parsed_flags,$22)|0);
+ $24 = ($23|0)!=(0);
+ if ($24) {
+ $unknown_flag = 1;
+ }
+ $25 = $lflags;
+ __gcry_sexp_release($25);
+ }
+ $26 = $3;
+ $27 = ((($26)) + 8|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)==(5);
+ if ($29) {
+ $30 = $3;
+ $31 = ((($30)) + 8|0);
+ HEAP32[$31>>2] = 0;
+ }
+ $32 = $ldata;
+ $33 = (__gcry_sexp_find_token($32,37939,0)|0);
+ $lhash = $33;
+ $34 = $lhash;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $38 = 0;
+ } else {
+ $36 = $ldata;
+ $37 = (__gcry_sexp_find_token($36,42240,0)|0);
+ $38 = $37;
+ }
+ $lvalue = $38;
+ $39 = $lhash;
+ $40 = ($39|0)!=(0|0);
+ $41 = $40 ^ 1;
+ $42 = $41&1;
+ $43 = $lvalue;
+ $44 = ($43|0)!=(0|0);
+ $45 = $44 ^ 1;
+ $46 = $45&1;
+ $47 = $42 ^ $46;
+ $48 = ($47|0)!=(0);
+ L17: do {
+ if ($48) {
+ $49 = $unknown_flag;
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ $rc = 72;
+ break;
+ }
+ $51 = $3;
+ $52 = ((($51)) + 8|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($53|0)==(0);
+ if ($54) {
+ $55 = HEAP32[$parsed_flags>>2]|0;
+ $56 = $55 & 4096;
+ $57 = ($56|0)!=(0);
+ if ($57) {
+ $58 = $lvalue;
+ $59 = ($58|0)!=(0|0);
+ if (!($59)) {
+ $rc = 65;
+ break;
+ }
+ $60 = $ldata;
+ $61 = (__gcry_sexp_find_token($60,37828,0)|0);
+ $list = $61;
+ $62 = $list;
+ $63 = ($62|0)!=(0|0);
+ if ($63) {
+ $64 = $list;
+ $65 = (__gcry_sexp_nth_data($64,1,$n)|0);
+ $s = $65;
+ $66 = $s;
+ $67 = ($66|0)!=(0|0);
+ if ($67) {
+ $68 = $s;
+ $69 = HEAP32[$n>>2]|0;
+ $70 = (_get_hash_algo($68,$69)|0);
+ $71 = $3;
+ $72 = ((($71)) + 16|0);
+ HEAP32[$72>>2] = $70;
+ $73 = $3;
+ $74 = ((($73)) + 16|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)!=(0);
+ if (!($76)) {
+ $rc = 5;
+ }
+ } else {
+ $rc = 68;
+ }
+ $77 = $list;
+ __gcry_sexp_release($77);
+ } else {
+ $rc = 65;
+ }
+ $78 = $rc;
+ $79 = ($78|0)!=(0);
+ if ($79) {
+ break;
+ }
+ $80 = $lvalue;
+ $81 = (__gcry_sexp_nth_buffer($80,1,$valuelen)|0);
+ $value = $81;
+ $82 = $value;
+ $83 = ($82|0)!=(0|0);
+ if ($83) {
+ $88 = HEAP32[$valuelen>>2]|0;
+ $89 = $88<<3;
+ $90 = HEAP32[$valuelen>>2]|0;
+ $91 = ($89>>>0)<($90>>>0);
+ if ($91) {
+ $92 = $value;
+ __gcry_free($92);
+ $rc = 67;
+ }
+ } else {
+ HEAP32[$valuelen>>2] = 0;
+ $84 = (__gcry_malloc(1)|0);
+ $value = $84;
+ $85 = $value;
+ $86 = ($85|0)!=(0|0);
+ if (!($86)) {
+ $87 = (_gpg_err_code_from_syserror()|0);
+ $rc = $87;
+ }
+ }
+ $93 = $rc;
+ $94 = ($93|0)!=(0);
+ if ($94) {
+ break;
+ }
+ $95 = $value;
+ $96 = HEAP32[$valuelen>>2]|0;
+ $97 = $96<<3;
+ $98 = (__gcry_mpi_set_opaque(0,$95,$97)|0);
+ $99 = $2;
+ HEAP32[$99>>2] = $98;
+ break;
+ }
+ }
+ $100 = $3;
+ $101 = ((($100)) + 8|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = ($102|0)==(0);
+ $104 = $lhash;
+ $105 = ($104|0)!=(0|0);
+ $or$cond = $103 & $105;
+ do {
+ if ($or$cond) {
+ $106 = HEAP32[$parsed_flags>>2]|0;
+ $107 = $106 & 16;
+ $108 = ($107|0)!=(0);
+ if (!($108)) {
+ $109 = HEAP32[$parsed_flags>>2]|0;
+ $110 = $109 & 2;
+ $111 = ($110|0)!=(0);
+ if (!($111)) {
+ break;
+ }
+ }
+ $112 = $lhash;
+ $113 = (__gcry_sexp_length($112)|0);
+ $114 = ($113|0)!=(3);
+ if ($114) {
+ $rc = 65;
+ break L17;
+ }
+ $115 = $lhash;
+ $116 = (__gcry_sexp_nth_data($115,1,$n)|0);
+ $s = $116;
+ $117 = ($116|0)!=(0|0);
+ $118 = HEAP32[$n>>2]|0;
+ $119 = ($118|0)!=(0);
+ $or$cond3 = $117 & $119;
+ if (!($or$cond3)) {
+ $rc = 65;
+ break L17;
+ }
+ $120 = $s;
+ $121 = HEAP32[$n>>2]|0;
+ $122 = (_get_hash_algo($120,$121)|0);
+ $123 = $3;
+ $124 = ((($123)) + 16|0);
+ HEAP32[$124>>2] = $122;
+ $125 = $3;
+ $126 = ((($125)) + 16|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ($127|0)!=(0);
+ if (!($128)) {
+ $rc = 5;
+ break L17;
+ }
+ $129 = $lhash;
+ $130 = (__gcry_sexp_nth_buffer($129,2,$valuelen2)|0);
+ $value1 = $130;
+ $131 = ($130|0)!=(0|0);
+ if (!($131)) {
+ $rc = 65;
+ break L17;
+ }
+ $132 = HEAP32[$valuelen2>>2]|0;
+ $133 = $132<<3;
+ $134 = HEAP32[$valuelen2>>2]|0;
+ $135 = ($133>>>0)<($134>>>0);
+ $136 = $value1;
+ if ($135) {
+ __gcry_free($136);
+ $rc = 67;
+ break L17;
+ } else {
+ $137 = HEAP32[$valuelen2>>2]|0;
+ $138 = $137<<3;
+ $139 = (__gcry_mpi_set_opaque(0,$136,$138)|0);
+ $140 = $2;
+ HEAP32[$140>>2] = $139;
+ break L17;
+ }
+ }
+ } while(0);
+ $141 = $3;
+ $142 = ((($141)) + 8|0);
+ $143 = HEAP32[$142>>2]|0;
+ $144 = ($143|0)==(0);
+ $145 = $lvalue;
+ $146 = ($145|0)!=(0|0);
+ $or$cond5 = $144 & $146;
+ if ($or$cond5) {
+ $147 = HEAP32[$parsed_flags>>2]|0;
+ $148 = $147 & 2;
+ $149 = ($148|0)!=(0);
+ if ($149) {
+ $rc = 70;
+ break;
+ }
+ $150 = $lvalue;
+ $151 = (__gcry_sexp_nth_mpi($150,1,5)|0);
+ $152 = $2;
+ HEAP32[$152>>2] = $151;
+ $153 = $2;
+ $154 = HEAP32[$153>>2]|0;
+ $155 = ($154|0)!=(0|0);
+ if ($155) {
+ break;
+ }
+ $rc = 65;
+ break;
+ }
+ $156 = $3;
+ $157 = ((($156)) + 8|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = ($158|0)==(1);
+ $160 = $lvalue;
+ $161 = ($160|0)!=(0|0);
+ $or$cond7 = $159 & $161;
+ if ($or$cond7) {
+ $162 = $3;
+ $163 = HEAP32[$162>>2]|0;
+ $164 = ($163|0)==(0);
+ if ($164) {
+ $random_override = 0;
+ $random_override_len = 0;
+ $165 = $lvalue;
+ $166 = (__gcry_sexp_nth_data($165,1,$valuelen4)|0);
+ $value3 = $166;
+ $167 = ($166|0)!=(0|0);
+ $168 = HEAP32[$valuelen4>>2]|0;
+ $169 = ($168|0)!=(0);
+ $or$cond9 = $167 & $169;
+ if (!($or$cond9)) {
+ $rc = 65;
+ break;
+ }
+ $170 = $ldata;
+ $171 = (__gcry_sexp_find_token($170,37918,0)|0);
+ $list5 = $171;
+ $172 = $list5;
+ $173 = ($172|0)!=(0|0);
+ if ($173) {
+ $174 = $list5;
+ $175 = (__gcry_sexp_nth_data($174,1,$n)|0);
+ $s = $175;
+ $176 = $s;
+ $177 = ($176|0)!=(0|0);
+ do {
+ if ($177) {
+ $178 = HEAP32[$n>>2]|0;
+ $179 = ($178>>>0)>(0);
+ if ($179) {
+ $180 = HEAP32[$n>>2]|0;
+ $181 = (__gcry_malloc($180)|0);
+ $random_override = $181;
+ $182 = $random_override;
+ $183 = ($182|0)!=(0|0);
+ if ($183) {
+ $185 = $random_override;
+ $186 = $s;
+ $187 = HEAP32[$n>>2]|0;
+ _memcpy(($185|0),($186|0),($187|0))|0;
+ $188 = HEAP32[$n>>2]|0;
+ $random_override_len = $188;
+ break;
+ } else {
+ $184 = (_gpg_err_code_from_syserror()|0);
+ $rc = $184;
+ break;
+ }
+ }
+ } else {
+ $rc = 68;
+ }
+ } while(0);
+ $189 = $list5;
+ __gcry_sexp_release($189);
+ $190 = $rc;
+ $191 = ($190|0)!=(0);
+ if ($191) {
+ break;
+ }
+ }
+ $192 = $2;
+ $193 = $3;
+ $194 = ((($193)) + 4|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $value3;
+ $197 = HEAP32[$valuelen4>>2]|0;
+ $198 = $random_override;
+ $199 = $random_override_len;
+ $200 = (__gcry_rsa_pkcs1_encode_for_enc($192,$195,$196,$197,$198,$199)|0);
+ $rc = $200;
+ $201 = $random_override;
+ __gcry_free($201);
+ break;
+ }
+ }
+ $202 = $3;
+ $203 = ((($202)) + 8|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = ($204|0)==(1);
+ $206 = $lhash;
+ $207 = ($206|0)!=(0|0);
+ $or$cond11 = $205 & $207;
+ do {
+ if ($or$cond11) {
+ $208 = $3;
+ $209 = HEAP32[$208>>2]|0;
+ $210 = ($209|0)==(2);
+ if (!($210)) {
+ $211 = $3;
+ $212 = HEAP32[$211>>2]|0;
+ $213 = ($212|0)==(3);
+ if (!($213)) {
+ break;
+ }
+ }
+ $214 = $lhash;
+ $215 = (__gcry_sexp_length($214)|0);
+ $216 = ($215|0)!=(3);
+ if ($216) {
+ $rc = 65;
+ break L17;
+ }
+ $217 = $lhash;
+ $218 = (__gcry_sexp_nth_data($217,1,$n)|0);
+ $s = $218;
+ $219 = ($218|0)!=(0|0);
+ $220 = HEAP32[$n>>2]|0;
+ $221 = ($220|0)!=(0);
+ $or$cond13 = $219 & $221;
+ if (!($or$cond13)) {
+ $rc = 65;
+ break L17;
+ }
+ $222 = $s;
+ $223 = HEAP32[$n>>2]|0;
+ $224 = (_get_hash_algo($222,$223)|0);
+ $225 = $3;
+ $226 = ((($225)) + 16|0);
+ HEAP32[$226>>2] = $224;
+ $227 = $3;
+ $228 = ((($227)) + 16|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = ($229|0)!=(0);
+ if (!($230)) {
+ $rc = 5;
+ break L17;
+ }
+ $231 = $lhash;
+ $232 = (__gcry_sexp_nth_data($231,2,$valuelen7)|0);
+ $value6 = $232;
+ $233 = ($232|0)!=(0|0);
+ $234 = HEAP32[$valuelen7>>2]|0;
+ $235 = ($234|0)!=(0);
+ $or$cond15 = $233 & $235;
+ if ($or$cond15) {
+ $236 = $2;
+ $237 = $3;
+ $238 = ((($237)) + 4|0);
+ $239 = HEAP32[$238>>2]|0;
+ $240 = $value6;
+ $241 = HEAP32[$valuelen7>>2]|0;
+ $242 = $3;
+ $243 = ((($242)) + 16|0);
+ $244 = HEAP32[$243>>2]|0;
+ $245 = (__gcry_rsa_pkcs1_encode_for_sig($236,$239,$240,$241,$244)|0);
+ $rc = $245;
+ break L17;
+ } else {
+ $rc = 65;
+ break L17;
+ }
+ }
+ } while(0);
+ $246 = $3;
+ $247 = ((($246)) + 8|0);
+ $248 = HEAP32[$247>>2]|0;
+ $249 = ($248|0)==(2);
+ $250 = $lvalue;
+ $251 = ($250|0)!=(0|0);
+ $or$cond17 = $249 & $251;
+ do {
+ if ($or$cond17) {
+ $252 = $3;
+ $253 = HEAP32[$252>>2]|0;
+ $254 = ($253|0)==(2);
+ if (!($254)) {
+ $255 = $3;
+ $256 = HEAP32[$255>>2]|0;
+ $257 = ($256|0)==(3);
+ if (!($257)) {
+ break;
+ }
+ }
+ $258 = $lvalue;
+ $259 = (__gcry_sexp_length($258)|0);
+ $260 = ($259|0)!=(2);
+ if ($260) {
+ $rc = 65;
+ break L17;
+ }
+ $261 = $lvalue;
+ $262 = (__gcry_sexp_nth_data($261,1,$valuelen9)|0);
+ $value8 = $262;
+ $263 = ($262|0)!=(0|0);
+ $264 = HEAP32[$valuelen9>>2]|0;
+ $265 = ($264|0)!=(0);
+ $or$cond19 = $263 & $265;
+ if ($or$cond19) {
+ $266 = $2;
+ $267 = $3;
+ $268 = ((($267)) + 4|0);
+ $269 = HEAP32[$268>>2]|0;
+ $270 = $value8;
+ $271 = HEAP32[$valuelen9>>2]|0;
+ $272 = (__gcry_rsa_pkcs1_encode_raw_for_sig($266,$269,$270,$271)|0);
+ $rc = $272;
+ break L17;
+ } else {
+ $rc = 65;
+ break L17;
+ }
+ }
+ } while(0);
+ $273 = $3;
+ $274 = ((($273)) + 8|0);
+ $275 = HEAP32[$274>>2]|0;
+ $276 = ($275|0)==(3);
+ $277 = $lvalue;
+ $278 = ($277|0)!=(0|0);
+ $or$cond21 = $276 & $278;
+ if ($or$cond21) {
+ $279 = $3;
+ $280 = HEAP32[$279>>2]|0;
+ $281 = ($280|0)==(0);
+ if ($281) {
+ $282 = $lvalue;
+ $283 = (__gcry_sexp_nth_data($282,1,$valuelen11)|0);
+ $value10 = $283;
+ $284 = ($283|0)!=(0|0);
+ $285 = HEAP32[$valuelen11>>2]|0;
+ $286 = ($285|0)!=(0);
+ $or$cond23 = $284 & $286;
+ if (!($or$cond23)) {
+ $rc = 65;
+ break;
+ }
+ $random_override13 = 0;
+ $random_override_len14 = 0;
+ $287 = $ldata;
+ $288 = (__gcry_sexp_find_token($287,37828,0)|0);
+ $list12 = $288;
+ $289 = $list12;
+ $290 = ($289|0)!=(0|0);
+ if ($290) {
+ $291 = $list12;
+ $292 = (__gcry_sexp_nth_data($291,1,$n)|0);
+ $s = $292;
+ $293 = $s;
+ $294 = ($293|0)!=(0|0);
+ do {
+ if ($294) {
+ $295 = $s;
+ $296 = HEAP32[$n>>2]|0;
+ $297 = (_get_hash_algo($295,$296)|0);
+ $298 = $3;
+ $299 = ((($298)) + 16|0);
+ HEAP32[$299>>2] = $297;
+ $300 = $3;
+ $301 = ((($300)) + 16|0);
+ $302 = HEAP32[$301>>2]|0;
+ $303 = ($302|0)!=(0);
+ if ($303) {
+ break;
+ }
+ $rc = 5;
+ } else {
+ $rc = 68;
+ }
+ } while(0);
+ $304 = $list12;
+ __gcry_sexp_release($304);
+ $305 = $rc;
+ $306 = ($305|0)!=(0);
+ if ($306) {
+ break;
+ }
+ }
+ $307 = $ldata;
+ $308 = (__gcry_sexp_find_token($307,37912,0)|0);
+ $list12 = $308;
+ $309 = $list12;
+ $310 = ($309|0)!=(0|0);
+ if ($310) {
+ $311 = $list12;
+ $312 = (__gcry_sexp_nth_data($311,1,$n)|0);
+ $s = $312;
+ $313 = $s;
+ $314 = ($313|0)!=(0|0);
+ do {
+ if ($314) {
+ $315 = HEAP32[$n>>2]|0;
+ $316 = ($315>>>0)>(0);
+ if (!($316)) {
+ break;
+ }
+ $317 = HEAP32[$n>>2]|0;
+ $318 = (__gcry_malloc($317)|0);
+ $319 = $3;
+ $320 = ((($319)) + 20|0);
+ HEAP32[$320>>2] = $318;
+ $321 = $3;
+ $322 = ((($321)) + 20|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = ($323|0)!=(0|0);
+ if ($324) {
+ $326 = $3;
+ $327 = ((($326)) + 20|0);
+ $328 = HEAP32[$327>>2]|0;
+ $329 = $s;
+ $330 = HEAP32[$n>>2]|0;
+ _memcpy(($328|0),($329|0),($330|0))|0;
+ $331 = HEAP32[$n>>2]|0;
+ $332 = $3;
+ $333 = ((($332)) + 24|0);
+ HEAP32[$333>>2] = $331;
+ break;
+ } else {
+ $325 = (_gpg_err_code_from_syserror()|0);
+ $rc = $325;
+ break;
+ }
+ } else {
+ $rc = 68;
+ }
+ } while(0);
+ $334 = $list12;
+ __gcry_sexp_release($334);
+ $335 = $rc;
+ $336 = ($335|0)!=(0);
+ if ($336) {
+ break;
+ }
+ }
+ $337 = $ldata;
+ $338 = (__gcry_sexp_find_token($337,37918,0)|0);
+ $list12 = $338;
+ $339 = $list12;
+ $340 = ($339|0)!=(0|0);
+ if ($340) {
+ $341 = $list12;
+ $342 = (__gcry_sexp_nth_data($341,1,$n)|0);
+ $s = $342;
+ $343 = $s;
+ $344 = ($343|0)!=(0|0);
+ do {
+ if ($344) {
+ $345 = HEAP32[$n>>2]|0;
+ $346 = ($345>>>0)>(0);
+ if (!($346)) {
+ break;
+ }
+ $347 = HEAP32[$n>>2]|0;
+ $348 = (__gcry_malloc($347)|0);
+ $random_override13 = $348;
+ $349 = $random_override13;
+ $350 = ($349|0)!=(0|0);
+ if ($350) {
+ $352 = $random_override13;
+ $353 = $s;
+ $354 = HEAP32[$n>>2]|0;
+ _memcpy(($352|0),($353|0),($354|0))|0;
+ $355 = HEAP32[$n>>2]|0;
+ $random_override_len14 = $355;
+ break;
+ } else {
+ $351 = (_gpg_err_code_from_syserror()|0);
+ $rc = $351;
+ break;
+ }
+ } else {
+ $rc = 68;
+ }
+ } while(0);
+ $356 = $list12;
+ __gcry_sexp_release($356);
+ $357 = $rc;
+ $358 = ($357|0)!=(0);
+ if ($358) {
+ break;
+ }
+ }
+ $359 = $2;
+ $360 = $3;
+ $361 = ((($360)) + 4|0);
+ $362 = HEAP32[$361>>2]|0;
+ $363 = $3;
+ $364 = ((($363)) + 16|0);
+ $365 = HEAP32[$364>>2]|0;
+ $366 = $value10;
+ $367 = HEAP32[$valuelen11>>2]|0;
+ $368 = $3;
+ $369 = ((($368)) + 20|0);
+ $370 = HEAP32[$369>>2]|0;
+ $371 = $3;
+ $372 = ((($371)) + 24|0);
+ $373 = HEAP32[$372>>2]|0;
+ $374 = $random_override13;
+ $375 = $random_override_len14;
+ $376 = (__gcry_rsa_oaep_encode($359,$362,$365,$366,$367,$370,$373,$374,$375)|0);
+ $rc = $376;
+ $377 = $random_override13;
+ __gcry_free($377);
+ break;
+ }
+ }
+ $378 = $3;
+ $379 = ((($378)) + 8|0);
+ $380 = HEAP32[$379>>2]|0;
+ $381 = ($380|0)==(4);
+ $382 = $lhash;
+ $383 = ($382|0)!=(0|0);
+ $or$cond25 = $381 & $383;
+ if ($or$cond25) {
+ $384 = $3;
+ $385 = HEAP32[$384>>2]|0;
+ $386 = ($385|0)==(2);
+ if ($386) {
+ $387 = $lhash;
+ $388 = (__gcry_sexp_length($387)|0);
+ $389 = ($388|0)!=(3);
+ if ($389) {
+ $rc = 65;
+ break;
+ }
+ $390 = $lhash;
+ $391 = (__gcry_sexp_nth_data($390,1,$n)|0);
+ $s = $391;
+ $392 = ($391|0)!=(0|0);
+ $393 = HEAP32[$n>>2]|0;
+ $394 = ($393|0)!=(0);
+ $or$cond27 = $392 & $394;
+ if (!($or$cond27)) {
+ $rc = 65;
+ break;
+ }
+ $random_override17 = 0;
+ $random_override_len18 = 0;
+ $395 = $s;
+ $396 = HEAP32[$n>>2]|0;
+ $397 = (_get_hash_algo($395,$396)|0);
+ $398 = $3;
+ $399 = ((($398)) + 16|0);
+ HEAP32[$399>>2] = $397;
+ $400 = $3;
+ $401 = ((($400)) + 16|0);
+ $402 = HEAP32[$401>>2]|0;
+ $403 = ($402|0)!=(0);
+ if (!($403)) {
+ $rc = 5;
+ break;
+ }
+ $404 = $lhash;
+ $405 = (__gcry_sexp_nth_data($404,2,$valuelen16)|0);
+ $value15 = $405;
+ $406 = ($405|0)!=(0|0);
+ $407 = HEAP32[$valuelen16>>2]|0;
+ $408 = ($407|0)!=(0);
+ $or$cond29 = $406 & $408;
+ if (!($or$cond29)) {
+ $rc = 65;
+ break;
+ }
+ $409 = $ldata;
+ $410 = (__gcry_sexp_find_token($409,37944,0)|0);
+ $list19 = $410;
+ $411 = $list19;
+ $412 = ($411|0)!=(0|0);
+ do {
+ if ($412) {
+ $413 = $list19;
+ $414 = (__gcry_sexp_nth_data($413,1,$n)|0);
+ $s = $414;
+ $415 = $s;
+ $416 = ($415|0)!=(0|0);
+ if ($416) {
+ $417 = $s;
+ $418 = (_strtoul($417,0,10)|0);
+ $419 = $3;
+ $420 = ((($419)) + 28|0);
+ HEAP32[$420>>2] = $418;
+ $421 = $list19;
+ __gcry_sexp_release($421);
+ break;
+ } else {
+ $rc = 68;
+ break L17;
+ }
+ }
+ } while(0);
+ $422 = $ldata;
+ $423 = (__gcry_sexp_find_token($422,37918,0)|0);
+ $list19 = $423;
+ $424 = $list19;
+ $425 = ($424|0)!=(0|0);
+ if ($425) {
+ $426 = $list19;
+ $427 = (__gcry_sexp_nth_data($426,1,$n)|0);
+ $s = $427;
+ $428 = $s;
+ $429 = ($428|0)!=(0|0);
+ do {
+ if ($429) {
+ $430 = HEAP32[$n>>2]|0;
+ $431 = ($430>>>0)>(0);
+ if (!($431)) {
+ break;
+ }
+ $432 = HEAP32[$n>>2]|0;
+ $433 = (__gcry_malloc($432)|0);
+ $random_override17 = $433;
+ $434 = $random_override17;
+ $435 = ($434|0)!=(0|0);
+ if ($435) {
+ $437 = $random_override17;
+ $438 = $s;
+ $439 = HEAP32[$n>>2]|0;
+ _memcpy(($437|0),($438|0),($439|0))|0;
+ $440 = HEAP32[$n>>2]|0;
+ $random_override_len18 = $440;
+ break;
+ } else {
+ $436 = (_gpg_err_code_from_syserror()|0);
+ $rc = $436;
+ break;
+ }
+ } else {
+ $rc = 68;
+ }
+ } while(0);
+ $441 = $list19;
+ __gcry_sexp_release($441);
+ $442 = $rc;
+ $443 = ($442|0)!=(0);
+ if ($443) {
+ break;
+ }
+ }
+ $444 = $2;
+ $445 = $3;
+ $446 = ((($445)) + 4|0);
+ $447 = HEAP32[$446>>2]|0;
+ $448 = (($447) - 1)|0;
+ $449 = $3;
+ $450 = ((($449)) + 16|0);
+ $451 = HEAP32[$450>>2]|0;
+ $452 = $value15;
+ $453 = HEAP32[$valuelen16>>2]|0;
+ $454 = $3;
+ $455 = ((($454)) + 28|0);
+ $456 = HEAP32[$455>>2]|0;
+ $457 = $random_override17;
+ $458 = $random_override_len18;
+ $459 = (__gcry_rsa_pss_encode($444,$448,$451,$452,$453,$456,$457,$458)|0);
+ $rc = $459;
+ $460 = $random_override17;
+ __gcry_free($460);
+ break;
+ }
+ }
+ $461 = $3;
+ $462 = ((($461)) + 8|0);
+ $463 = HEAP32[$462>>2]|0;
+ $464 = ($463|0)==(4);
+ $465 = $lhash;
+ $466 = ($465|0)!=(0|0);
+ $or$cond31 = $464 & $466;
+ if ($or$cond31) {
+ $467 = $3;
+ $468 = HEAP32[$467>>2]|0;
+ $469 = ($468|0)==(3);
+ if ($469) {
+ $470 = $lhash;
+ $471 = (__gcry_sexp_length($470)|0);
+ $472 = ($471|0)!=(3);
+ if ($472) {
+ $rc = 65;
+ break;
+ }
+ $473 = $lhash;
+ $474 = (__gcry_sexp_nth_data($473,1,$n)|0);
+ $s = $474;
+ $475 = ($474|0)!=(0|0);
+ $476 = HEAP32[$n>>2]|0;
+ $477 = ($476|0)!=(0);
+ $or$cond33 = $475 & $477;
+ if (!($or$cond33)) {
+ $rc = 65;
+ break;
+ }
+ $478 = $s;
+ $479 = HEAP32[$n>>2]|0;
+ $480 = (_get_hash_algo($478,$479)|0);
+ $481 = $3;
+ $482 = ((($481)) + 16|0);
+ HEAP32[$482>>2] = $480;
+ $483 = $3;
+ $484 = ((($483)) + 16|0);
+ $485 = HEAP32[$484>>2]|0;
+ $486 = ($485|0)!=(0);
+ if (!($486)) {
+ $rc = 5;
+ break;
+ }
+ $487 = $lhash;
+ $488 = (__gcry_sexp_nth_mpi($487,2,5)|0);
+ $489 = $2;
+ HEAP32[$489>>2] = $488;
+ $490 = $2;
+ $491 = HEAP32[$490>>2]|0;
+ $492 = ($491|0)!=(0|0);
+ if (!($492)) {
+ $rc = 65;
+ }
+ $493 = $3;
+ $494 = ((($493)) + 32|0);
+ HEAP32[$494>>2] = 67;
+ $495 = $2;
+ $496 = HEAP32[$495>>2]|0;
+ $497 = $3;
+ $498 = ((($497)) + 36|0);
+ HEAP32[$498>>2] = $496;
+ break;
+ }
+ }
+ $rc = 70;
+ } else {
+ $rc = 65;
+ }
+ } while(0);
+ $499 = $ldata;
+ __gcry_sexp_release($499);
+ $500 = $lhash;
+ __gcry_sexp_release($500);
+ $501 = $lvalue;
+ __gcry_sexp_release($501);
+ $502 = $rc;
+ $503 = ($502|0)!=(0);
+ if ($503) {
+ $507 = $3;
+ $508 = ((($507)) + 20|0);
+ $509 = HEAP32[$508>>2]|0;
+ __gcry_free($509);
+ $510 = $3;
+ $511 = ((($510)) + 20|0);
+ HEAP32[$511>>2] = 0;
+ } else {
+ $504 = HEAP32[$parsed_flags>>2]|0;
+ $505 = $3;
+ $506 = ((($505)) + 12|0);
+ HEAP32[$506>>2] = $504;
+ }
+ $512 = $rc;
+ $0 = $512;
+ $513 = $0;
+ STACKTOP = sp;return ($513|0);
+}
+function _pss_verify_cmp($opaque,$tmp) {
+ $opaque = $opaque|0;
+ $tmp = $tmp|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0;
+ var $hash = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $opaque;
+ $1 = $tmp;
+ $2 = $0;
+ $ctx = $2;
+ $3 = $ctx;
+ $4 = ((($3)) + 36|0);
+ $5 = HEAP32[$4>>2]|0;
+ $hash = $5;
+ $6 = $hash;
+ $7 = $1;
+ $8 = $ctx;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($10) - 1)|0;
+ $12 = $ctx;
+ $13 = ((($12)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $ctx;
+ $16 = ((($15)) + 28|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (__gcry_rsa_pss_verify($6,$7,$11,$14,$17)|0);
+ STACKTOP = sp;return ($18|0);
+}
+function _spec_from_name_1102($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aliases = 0, $idx = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $name;
+ $idx = 0;
+ L1: while(1) {
+ $2 = $idx;
+ $3 = (4448 + ($2<<2)|0);
+ $4 = HEAP32[$3>>2]|0;
+ $spec = $4;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ label = 11;
+ break;
+ }
+ $6 = $1;
+ $7 = $spec;
+ $8 = ((($7)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (_strcasecmp($6,$9)|0);
+ $11 = ($10|0)!=(0);
+ $12 = $spec;
+ if (!($11)) {
+ label = 4;
+ break;
+ }
+ $13 = ((($12)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $aliases = $14;
+ while(1) {
+ $15 = $aliases;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)!=(0|0);
+ if (!($17)) {
+ break;
+ }
+ $18 = $1;
+ $19 = $aliases;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_strcasecmp($18,$20)|0);
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ label = 8;
+ break L1;
+ }
+ $24 = $aliases;
+ $25 = ((($24)) + 4|0);
+ $aliases = $25;
+ }
+ $26 = $idx;
+ $27 = (($26) + 1)|0;
+ $idx = $27;
+ }
+ if ((label|0) == 4) {
+ $0 = $12;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ else if ((label|0) == 8) {
+ $23 = $spec;
+ $0 = $23;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ else if ((label|0) == 11) {
+ $0 = 0;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ return (0)|0;
+}
+function __gcry_pk_algo_name($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algo;
+ $2 = $1;
+ $3 = (_spec_from_algo_1105($2)|0);
+ $spec = $3;
+ $4 = $spec;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $spec;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $0 = $8;
+ $9 = $0;
+ STACKTOP = sp;return ($9|0);
+ } else {
+ $0 = 37956;
+ $9 = $0;
+ STACKTOP = sp;return ($9|0);
+ }
+ return (0)|0;
+}
+function _spec_from_algo_1105($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algo;
+ $2 = $1;
+ $3 = (_map_algo_1106($2)|0);
+ $1 = $3;
+ $idx = 0;
+ while(1) {
+ $4 = $idx;
+ $5 = (4448 + ($4<<2)|0);
+ $6 = HEAP32[$5>>2]|0;
+ $spec = $6;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ label = 6;
+ break;
+ }
+ $8 = $1;
+ $9 = $spec;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($8|0)==($10|0);
+ if ($11) {
+ label = 4;
+ break;
+ }
+ $13 = $idx;
+ $14 = (($13) + 1)|0;
+ $idx = $14;
+ }
+ if ((label|0) == 4) {
+ $12 = $spec;
+ $0 = $12;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ else if ((label|0) == 6) {
+ $0 = 0;
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+ }
+ return (0)|0;
+}
+function _map_algo_1106($algo) {
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algo;
+ $2 = $1;
+ switch ($2|0) {
+ case 2: {
+ $0 = 1;
+ break;
+ }
+ case 3: {
+ $0 = 1;
+ break;
+ }
+ case 16: {
+ $0 = 20;
+ break;
+ }
+ case 301: {
+ $0 = 18;
+ break;
+ }
+ case 302: {
+ $0 = 18;
+ break;
+ }
+ default: {
+ $3 = $1;
+ $0 = $3;
+ }
+ }
+ $4 = $0;
+ STACKTOP = sp;return ($4|0);
+}
+function __gcry_pk_encrypt($r_ciph,$s_data,$s_pkey) {
+ $r_ciph = $r_ciph|0;
+ $s_data = $s_data|0;
+ $s_pkey = $s_pkey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $keyparms = 0, $rc = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $spec = sp + 4|0;
+ $keyparms = sp;
+ $0 = $r_ciph;
+ $1 = $s_data;
+ $2 = $s_pkey;
+ $3 = $0;
+ HEAP32[$3>>2] = 0;
+ $4 = $2;
+ $5 = (_spec_from_sexp($4,0,$spec,$keyparms)|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ do {
+ if (!($7)) {
+ $8 = HEAP32[$spec>>2]|0;
+ $9 = ((($8)) + 48|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = HEAP32[$spec>>2]|0;
+ $13 = ((($12)) + 48|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $0;
+ $16 = $1;
+ $17 = HEAP32[$keyparms>>2]|0;
+ $18 = (FUNCTION_TABLE_iiii[$14 & 127]($15,$16,$17)|0);
+ $rc = $18;
+ break;
+ } else {
+ $rc = 69;
+ break;
+ }
+ }
+ } while(0);
+ $19 = HEAP32[$keyparms>>2]|0;
+ __gcry_sexp_release($19);
+ $20 = $rc;
+ STACKTOP = sp;return ($20|0);
+}
+function _spec_from_sexp($sexp,$want_private,$r_spec,$r_parms) {
+ $sexp = $sexp|0;
+ $want_private = $want_private|0;
+ $r_spec = $r_spec|0;
+ $r_parms = $r_parms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l2 = 0, $list = 0, $name = 0, $or$cond = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $sexp;
+ $2 = $want_private;
+ $3 = $r_spec;
+ $4 = $r_parms;
+ $5 = $3;
+ HEAP32[$5>>2] = 0;
+ $6 = $4;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $4;
+ HEAP32[$8>>2] = 0;
+ }
+ $9 = $1;
+ $10 = $2;
+ $11 = ($10|0)!=(0);
+ $12 = $11 ? 37958 : 37970;
+ $13 = (__gcry_sexp_find_token($9,$12,0)|0);
+ $list = $13;
+ $14 = $list;
+ $15 = ($14|0)!=(0|0);
+ $16 = $2;
+ $17 = ($16|0)!=(0);
+ $or$cond = $15 | $17;
+ if (!($or$cond)) {
+ $18 = $1;
+ $19 = (__gcry_sexp_find_token($18,37958,0)|0);
+ $list = $19;
+ }
+ $20 = $list;
+ $21 = ($20|0)!=(0|0);
+ if (!($21)) {
+ $0 = 65;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $22 = $list;
+ $23 = (__gcry_sexp_cadr($22)|0);
+ $l2 = $23;
+ $24 = $list;
+ __gcry_sexp_release($24);
+ $25 = $l2;
+ $list = $25;
+ $26 = $list;
+ $27 = (__gcry_sexp_nth_string($26,0)|0);
+ $name = $27;
+ $28 = $name;
+ $29 = ($28|0)!=(0|0);
+ if (!($29)) {
+ $30 = $list;
+ __gcry_sexp_release($30);
+ $0 = 65;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $31 = $name;
+ $32 = (_spec_from_name_1102($31)|0);
+ $spec = $32;
+ $33 = $name;
+ __gcry_free($33);
+ $34 = $spec;
+ $35 = ($34|0)!=(0|0);
+ if (!($35)) {
+ $36 = $list;
+ __gcry_sexp_release($36);
+ $0 = 4;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $37 = $spec;
+ $38 = $3;
+ HEAP32[$38>>2] = $37;
+ $39 = $4;
+ $40 = ($39|0)!=(0|0);
+ $41 = $list;
+ if ($40) {
+ $42 = $4;
+ HEAP32[$42>>2] = $41;
+ } else {
+ __gcry_sexp_release($41);
+ }
+ $0 = 0;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+}
+function __gcry_pk_decrypt($r_plain,$s_data,$s_skey) {
+ $r_plain = $r_plain|0;
+ $s_data = $s_data|0;
+ $s_skey = $s_skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $keyparms = 0, $rc = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $spec = sp + 4|0;
+ $keyparms = sp;
+ $0 = $r_plain;
+ $1 = $s_data;
+ $2 = $s_skey;
+ $3 = $0;
+ HEAP32[$3>>2] = 0;
+ $4 = $2;
+ $5 = (_spec_from_sexp($4,1,$spec,$keyparms)|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ do {
+ if (!($7)) {
+ $8 = HEAP32[$spec>>2]|0;
+ $9 = ((($8)) + 52|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = HEAP32[$spec>>2]|0;
+ $13 = ((($12)) + 52|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $0;
+ $16 = $1;
+ $17 = HEAP32[$keyparms>>2]|0;
+ $18 = (FUNCTION_TABLE_iiii[$14 & 127]($15,$16,$17)|0);
+ $rc = $18;
+ break;
+ } else {
+ $rc = 69;
+ break;
+ }
+ }
+ } while(0);
+ $19 = HEAP32[$keyparms>>2]|0;
+ __gcry_sexp_release($19);
+ $20 = $rc;
+ STACKTOP = sp;return ($20|0);
+}
+function __gcry_pk_sign($r_sig,$s_hash,$s_skey) {
+ $r_sig = $r_sig|0;
+ $s_hash = $s_hash|0;
+ $s_skey = $s_skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $keyparms = 0, $rc = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $spec = sp + 4|0;
+ $keyparms = sp;
+ $0 = $r_sig;
+ $1 = $s_hash;
+ $2 = $s_skey;
+ $3 = $0;
+ HEAP32[$3>>2] = 0;
+ $4 = $2;
+ $5 = (_spec_from_sexp($4,1,$spec,$keyparms)|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ do {
+ if (!($7)) {
+ $8 = HEAP32[$spec>>2]|0;
+ $9 = ((($8)) + 56|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = HEAP32[$spec>>2]|0;
+ $13 = ((($12)) + 56|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $0;
+ $16 = $1;
+ $17 = HEAP32[$keyparms>>2]|0;
+ $18 = (FUNCTION_TABLE_iiii[$14 & 127]($15,$16,$17)|0);
+ $rc = $18;
+ break;
+ } else {
+ $rc = 69;
+ break;
+ }
+ }
+ } while(0);
+ $19 = HEAP32[$keyparms>>2]|0;
+ __gcry_sexp_release($19);
+ $20 = $rc;
+ STACKTOP = sp;return ($20|0);
+}
+function __gcry_pk_verify($s_sig,$s_hash,$s_pkey) {
+ $s_sig = $s_sig|0;
+ $s_hash = $s_hash|0;
+ $s_pkey = $s_pkey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $keyparms = 0, $rc = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $spec = sp + 4|0;
+ $keyparms = sp;
+ $0 = $s_sig;
+ $1 = $s_hash;
+ $2 = $s_pkey;
+ $3 = $2;
+ $4 = (_spec_from_sexp($3,0,$spec,$keyparms)|0);
+ $rc = $4;
+ $5 = $rc;
+ $6 = ($5|0)!=(0);
+ do {
+ if (!($6)) {
+ $7 = HEAP32[$spec>>2]|0;
+ $8 = ((($7)) + 60|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = HEAP32[$spec>>2]|0;
+ $12 = ((($11)) + 60|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $0;
+ $15 = $1;
+ $16 = HEAP32[$keyparms>>2]|0;
+ $17 = (FUNCTION_TABLE_iiii[$13 & 127]($14,$15,$16)|0);
+ $rc = $17;
+ break;
+ } else {
+ $rc = 69;
+ break;
+ }
+ }
+ } while(0);
+ $18 = HEAP32[$keyparms>>2]|0;
+ __gcry_sexp_release($18);
+ $19 = $rc;
+ STACKTOP = sp;return ($19|0);
+}
+function __gcry_pk_testkey($s_key) {
+ $s_key = $s_key|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $keyparms = 0, $rc = 0, $spec = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $spec = sp + 4|0;
+ $keyparms = sp;
+ $0 = $s_key;
+ $1 = $0;
+ $2 = (_spec_from_sexp($1,1,$spec,$keyparms)|0);
+ $rc = $2;
+ $3 = $rc;
+ $4 = ($3|0)!=(0);
+ do {
+ if (!($4)) {
+ $5 = HEAP32[$spec>>2]|0;
+ $6 = ((($5)) + 44|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = HEAP32[$spec>>2]|0;
+ $10 = ((($9)) + 44|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = HEAP32[$keyparms>>2]|0;
+ $13 = (FUNCTION_TABLE_ii[$11 & 63]($12)|0);
+ $rc = $13;
+ break;
+ } else {
+ $rc = 69;
+ break;
+ }
+ }
+ } while(0);
+ $14 = HEAP32[$keyparms>>2]|0;
+ __gcry_sexp_release($14);
+ $15 = $rc;
+ STACKTOP = sp;return ($15|0);
+}
+function __gcry_pk_genkey($r_key,$s_parms) {
+ $r_key = $r_key|0;
+ $s_parms = $s_parms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l2 = 0, $list = 0, $name = 0, $rc = 0;
+ var $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $r_key;
+ $1 = $s_parms;
+ $spec = 0;
+ $list = 0;
+ $l2 = 0;
+ $name = 0;
+ $2 = $0;
+ HEAP32[$2>>2] = 0;
+ $3 = $1;
+ $4 = (__gcry_sexp_find_token($3,37981,0)|0);
+ $list = $4;
+ $5 = $list;
+ $6 = ($5|0)!=(0|0);
+ do {
+ if ($6) {
+ $7 = $list;
+ $8 = (__gcry_sexp_cadr($7)|0);
+ $l2 = $8;
+ $9 = $list;
+ __gcry_sexp_release($9);
+ $10 = $l2;
+ $list = $10;
+ $l2 = 0;
+ $11 = $list;
+ $12 = ($11|0)!=(0|0);
+ if (!($12)) {
+ $rc = 68;
+ break;
+ }
+ $13 = $list;
+ $14 = (__gcry_sexp_nth_string($13,0)|0);
+ $name = $14;
+ $15 = $name;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $rc = 65;
+ break;
+ }
+ $17 = $name;
+ $18 = (_spec_from_name_1102($17)|0);
+ $spec = $18;
+ $19 = $name;
+ __gcry_free($19);
+ $name = 0;
+ $20 = $spec;
+ $21 = ($20|0)!=(0|0);
+ if (!($21)) {
+ $rc = 4;
+ break;
+ }
+ $22 = $spec;
+ $23 = ((($22)) + 40|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)!=(0|0);
+ if ($25) {
+ $26 = $spec;
+ $27 = ((($26)) + 40|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $list;
+ $30 = $0;
+ $31 = (FUNCTION_TABLE_iii[$28 & 127]($29,$30)|0);
+ $rc = $31;
+ break;
+ } else {
+ $rc = 69;
+ break;
+ }
+ } else {
+ $rc = 65;
+ }
+ } while(0);
+ $32 = $list;
+ __gcry_sexp_release($32);
+ $33 = $name;
+ __gcry_free($33);
+ $34 = $l2;
+ __gcry_sexp_release($34);
+ $35 = $rc;
+ STACKTOP = sp;return ($35|0);
+}
+function __gcry_pk_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_pk_selftest($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, $spec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ $4 = (_map_algo_1106($3)|0);
+ $0 = $4;
+ $5 = $0;
+ $6 = (_spec_from_algo_1105($5)|0);
+ $spec = $6;
+ $7 = $spec;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $spec;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11 & 1;
+ $13 = $12&255;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ $15 = $spec;
+ $16 = ((($15)) + 68|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = $spec;
+ $20 = ((($19)) + 68|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $0;
+ $23 = $1;
+ $24 = $2;
+ $25 = (FUNCTION_TABLE_iiii[$21 & 127]($22,$23,$24)|0);
+ $ec = $25;
+ $42 = $ec;
+ $43 = (_gpg_error_1151($42)|0);
+ STACKTOP = sp;return ($43|0);
+ }
+ }
+ }
+ $ec = 4;
+ $26 = $2;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $42 = $ec;
+ $43 = (_gpg_error_1151($42)|0);
+ STACKTOP = sp;return ($43|0);
+ }
+ $28 = $2;
+ $29 = $0;
+ $30 = $spec;
+ $31 = ($30|0)!=(0|0);
+ if ($31) {
+ $32 = $spec;
+ $33 = ((($32)) + 4|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $34 & 1;
+ $36 = $35&255;
+ $37 = ($36|0)!=(0);
+ if ($37) {
+ label = 8;
+ } else {
+ $41 = 38027;
+ }
+ } else {
+ label = 8;
+ }
+ if ((label|0) == 8) {
+ $38 = $spec;
+ $39 = ($38|0)!=(0|0);
+ $40 = $39 ? 37988 : 38007;
+ $41 = $40;
+ }
+ FUNCTION_TABLE_viiii[$28 & 63](49859,$29,38049,$41);
+ $42 = $ec;
+ $43 = (_gpg_error_1151($42)|0);
+ STACKTOP = sp;return ($43|0);
+}
+function _gpg_error_1151($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_1152(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make_1152($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function _rijndael_setkey($context,$key,$keylen) {
+ $context = $context|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $key;
+ $2 = $keylen;
+ $3 = $0;
+ $ctx = $3;
+ $4 = $ctx;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_do_setkey($4,$5,$6)|0);
+ STACKTOP = sp;return ($7|0);
+}
+function _do_setkey($ctx,$key,$keylen) {
+ $ctx = $ctx|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $KC = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $i = 0, $j = 0, $or$cond = 0, $r = 0, $rconpointer = 0, $rounds = 0, $sbox = 0, $t = 0, $tkk = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp + 72|0;
+ $tkk = sp + 8|0;
+ $_vset_long = sp;
+ $1 = $ctx;
+ $2 = $key;
+ $3 = $keylen;
+ $rconpointer = 0;
+ $4 = (__gcry_fips_mode()|0);
+ $5 = ($4|0)!=(0);
+ $6 = HEAP32[17706]|0;
+ $7 = ($6|0)!=(0);
+ $or$cond = $5 | $7;
+ if (!($or$cond)) {
+ HEAP32[17706] = 1;
+ $8 = (_selftest()|0);
+ HEAP32[17707] = $8;
+ $9 = HEAP32[17707]|0;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = HEAP32[17707]|0;
+ HEAP32[$vararg_buffer>>2] = $11;
+ __gcry_log_error(43729,$vararg_buffer);
+ }
+ }
+ $12 = HEAP32[17707]|0;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $0 = 50;
+ $401 = $0;
+ STACKTOP = sp;return ($401|0);
+ }
+ $14 = $3;
+ $15 = ($14|0)==(16);
+ do {
+ if ($15) {
+ $rounds = 10;
+ $KC = 4;
+ } else {
+ $16 = $3;
+ $17 = ($16|0)==(24);
+ if ($17) {
+ $rounds = 12;
+ $KC = 6;
+ break;
+ }
+ $18 = $3;
+ $19 = ($18|0)==(32);
+ if ($19) {
+ $rounds = 14;
+ $KC = 8;
+ break;
+ }
+ $0 = 44;
+ $401 = $0;
+ STACKTOP = sp;return ($401|0);
+ }
+ } while(0);
+ $20 = $rounds;
+ $21 = $1;
+ $22 = ((($21)) + 480|0);
+ HEAP32[$22>>2] = $20;
+ $23 = $1;
+ $24 = ((($23)) + 484|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25 & -2;
+ HEAP8[$24>>0] = $26;
+ $27 = $1;
+ $28 = ((($27)) + 488|0);
+ HEAP32[$28>>2] = 68;
+ $29 = $1;
+ $30 = ((($29)) + 492|0);
+ HEAP32[$30>>2] = 69;
+ $31 = $1;
+ $32 = ((($31)) + 496|0);
+ HEAP32[$32>>2] = 70;
+ $33 = $1;
+ $34 = ((($33)) + 500|0);
+ HEAP32[$34>>2] = 71;
+ $sbox = (4581);
+ _prefetch_enc();
+ $i = 0;
+ while(1) {
+ $35 = $i;
+ $36 = $3;
+ $37 = ($35>>>0)<($36>>>0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $i;
+ $39 = $2;
+ $40 = (($39) + ($38)|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = $i;
+ $43 = $42 & 3;
+ $44 = $i;
+ $45 = $44 >> 2;
+ $46 = (($tkk) + ($45<<2)|0);
+ $47 = (($46) + ($43)|0);
+ HEAP8[$47>>0] = $41;
+ $48 = $i;
+ $49 = (($48) + 1)|0;
+ $i = $49;
+ }
+ $50 = $KC;
+ $51 = (($50) - 1)|0;
+ $j = $51;
+ while(1) {
+ $52 = $j;
+ $53 = ($52|0)>=(0);
+ if (!($53)) {
+ break;
+ }
+ $54 = $j;
+ $55 = (($tkk) + ($54<<2)|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $j;
+ $58 = ((($tkk)) + 32|0);
+ $59 = (($58) + ($57<<2)|0);
+ HEAP32[$59>>2] = $56;
+ $60 = $j;
+ $61 = (($60) + -1)|0;
+ $j = $61;
+ }
+ $r = 0;
+ $t = 0;
+ $j = 0;
+ while(1) {
+ $62 = $j;
+ $63 = $KC;
+ $64 = ($62|0)<($63|0);
+ if (!($64)) {
+ break;
+ }
+ $65 = $r;
+ $66 = $rounds;
+ $67 = (($66) + 1)|0;
+ $68 = ($65|0)<($67|0);
+ if (!($68)) {
+ break;
+ }
+ while(1) {
+ $69 = $j;
+ $70 = $KC;
+ $71 = ($69|0)<($70|0);
+ $72 = $t;
+ $73 = ($72|0)<(4);
+ $74 = $71 ? $73 : 0;
+ if (!($74)) {
+ break;
+ }
+ $75 = $j;
+ $76 = ((($tkk)) + 32|0);
+ $77 = (($76) + ($75<<2)|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = $t;
+ $80 = $r;
+ $81 = $1;
+ $82 = (($81) + ($80<<4)|0);
+ $83 = (($82) + ($79<<2)|0);
+ HEAP32[$83>>2] = $78;
+ $84 = $j;
+ $85 = (($84) + 1)|0;
+ $j = $85;
+ $86 = $t;
+ $87 = (($86) + 1)|0;
+ $t = $87;
+ }
+ $88 = $t;
+ $89 = ($88|0)==(4);
+ if (!($89)) {
+ continue;
+ }
+ $90 = $r;
+ $91 = (($90) + 1)|0;
+ $r = $91;
+ $t = 0;
+ }
+ L36: while(1) {
+ $92 = $r;
+ $93 = $rounds;
+ $94 = (($93) + 1)|0;
+ $95 = ($92|0)<($94|0);
+ if (!($95)) {
+ break;
+ }
+ $96 = $KC;
+ $97 = (($96) - 1)|0;
+ $98 = ((($tkk)) + 32|0);
+ $99 = (($98) + ($97<<2)|0);
+ $100 = ((($99)) + 1|0);
+ $101 = HEAP8[$100>>0]|0;
+ $102 = $101&255;
+ $103 = $102<<2;
+ $104 = $sbox;
+ $105 = (($104) + ($103)|0);
+ $106 = HEAP8[$105>>0]|0;
+ $107 = $106&255;
+ $108 = ((($tkk)) + 32|0);
+ $109 = HEAP8[$108>>0]|0;
+ $110 = $109&255;
+ $111 = $110 ^ $107;
+ $112 = $111&255;
+ HEAP8[$108>>0] = $112;
+ $113 = $KC;
+ $114 = (($113) - 1)|0;
+ $115 = ((($tkk)) + 32|0);
+ $116 = (($115) + ($114<<2)|0);
+ $117 = ((($116)) + 2|0);
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118&255;
+ $120 = $119<<2;
+ $121 = $sbox;
+ $122 = (($121) + ($120)|0);
+ $123 = HEAP8[$122>>0]|0;
+ $124 = $123&255;
+ $125 = ((($tkk)) + 32|0);
+ $126 = ((($125)) + 1|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = $127&255;
+ $129 = $128 ^ $124;
+ $130 = $129&255;
+ HEAP8[$126>>0] = $130;
+ $131 = $KC;
+ $132 = (($131) - 1)|0;
+ $133 = ((($tkk)) + 32|0);
+ $134 = (($133) + ($132<<2)|0);
+ $135 = ((($134)) + 3|0);
+ $136 = HEAP8[$135>>0]|0;
+ $137 = $136&255;
+ $138 = $137<<2;
+ $139 = $sbox;
+ $140 = (($139) + ($138)|0);
+ $141 = HEAP8[$140>>0]|0;
+ $142 = $141&255;
+ $143 = ((($tkk)) + 32|0);
+ $144 = ((($143)) + 2|0);
+ $145 = HEAP8[$144>>0]|0;
+ $146 = $145&255;
+ $147 = $146 ^ $142;
+ $148 = $147&255;
+ HEAP8[$144>>0] = $148;
+ $149 = $KC;
+ $150 = (($149) - 1)|0;
+ $151 = ((($tkk)) + 32|0);
+ $152 = (($151) + ($150<<2)|0);
+ $153 = HEAP8[$152>>0]|0;
+ $154 = $153&255;
+ $155 = $154<<2;
+ $156 = $sbox;
+ $157 = (($156) + ($155)|0);
+ $158 = HEAP8[$157>>0]|0;
+ $159 = $158&255;
+ $160 = ((($tkk)) + 32|0);
+ $161 = ((($160)) + 3|0);
+ $162 = HEAP8[$161>>0]|0;
+ $163 = $162&255;
+ $164 = $163 ^ $159;
+ $165 = $164&255;
+ HEAP8[$161>>0] = $165;
+ $166 = $rconpointer;
+ $167 = (($166) + 1)|0;
+ $rconpointer = $167;
+ $168 = (6884 + ($166<<2)|0);
+ $169 = HEAP32[$168>>2]|0;
+ $170 = ((($tkk)) + 32|0);
+ $171 = HEAP8[$170>>0]|0;
+ $172 = $171&255;
+ $173 = $172 ^ $169;
+ $174 = $173&255;
+ HEAP8[$170>>0] = $174;
+ $175 = $KC;
+ $176 = ($175|0)!=(8);
+ $j = 1;
+ L39: do {
+ if ($176) {
+ while(1) {
+ $177 = $j;
+ $178 = $KC;
+ $179 = ($177|0)<($178|0);
+ if (!($179)) {
+ break L39;
+ }
+ $180 = $j;
+ $181 = (($180) - 1)|0;
+ $182 = ((($tkk)) + 32|0);
+ $183 = (($182) + ($181<<2)|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = $j;
+ $186 = ((($tkk)) + 32|0);
+ $187 = (($186) + ($185<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $188 ^ $184;
+ HEAP32[$187>>2] = $189;
+ $190 = $j;
+ $191 = (($190) + 1)|0;
+ $j = $191;
+ }
+ } else {
+ while(1) {
+ $192 = $j;
+ $193 = $KC;
+ $194 = (($193|0) / 2)&-1;
+ $195 = ($192|0)<($194|0);
+ if (!($195)) {
+ break;
+ }
+ $196 = $j;
+ $197 = (($196) - 1)|0;
+ $198 = ((($tkk)) + 32|0);
+ $199 = (($198) + ($197<<2)|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = $j;
+ $202 = ((($tkk)) + 32|0);
+ $203 = (($202) + ($201<<2)|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = $204 ^ $200;
+ HEAP32[$203>>2] = $205;
+ $206 = $j;
+ $207 = (($206) + 1)|0;
+ $j = $207;
+ }
+ $208 = $KC;
+ $209 = (($208|0) / 2)&-1;
+ $210 = (($209) - 1)|0;
+ $211 = ((($tkk)) + 32|0);
+ $212 = (($211) + ($210<<2)|0);
+ $213 = HEAP8[$212>>0]|0;
+ $214 = $213&255;
+ $215 = $214<<2;
+ $216 = $sbox;
+ $217 = (($216) + ($215)|0);
+ $218 = HEAP8[$217>>0]|0;
+ $219 = $218&255;
+ $220 = $KC;
+ $221 = (($220|0) / 2)&-1;
+ $222 = ((($tkk)) + 32|0);
+ $223 = (($222) + ($221<<2)|0);
+ $224 = HEAP8[$223>>0]|0;
+ $225 = $224&255;
+ $226 = $225 ^ $219;
+ $227 = $226&255;
+ HEAP8[$223>>0] = $227;
+ $228 = $KC;
+ $229 = (($228|0) / 2)&-1;
+ $230 = (($229) - 1)|0;
+ $231 = ((($tkk)) + 32|0);
+ $232 = (($231) + ($230<<2)|0);
+ $233 = ((($232)) + 1|0);
+ $234 = HEAP8[$233>>0]|0;
+ $235 = $234&255;
+ $236 = $235<<2;
+ $237 = $sbox;
+ $238 = (($237) + ($236)|0);
+ $239 = HEAP8[$238>>0]|0;
+ $240 = $239&255;
+ $241 = $KC;
+ $242 = (($241|0) / 2)&-1;
+ $243 = ((($tkk)) + 32|0);
+ $244 = (($243) + ($242<<2)|0);
+ $245 = ((($244)) + 1|0);
+ $246 = HEAP8[$245>>0]|0;
+ $247 = $246&255;
+ $248 = $247 ^ $240;
+ $249 = $248&255;
+ HEAP8[$245>>0] = $249;
+ $250 = $KC;
+ $251 = (($250|0) / 2)&-1;
+ $252 = (($251) - 1)|0;
+ $253 = ((($tkk)) + 32|0);
+ $254 = (($253) + ($252<<2)|0);
+ $255 = ((($254)) + 2|0);
+ $256 = HEAP8[$255>>0]|0;
+ $257 = $256&255;
+ $258 = $257<<2;
+ $259 = $sbox;
+ $260 = (($259) + ($258)|0);
+ $261 = HEAP8[$260>>0]|0;
+ $262 = $261&255;
+ $263 = $KC;
+ $264 = (($263|0) / 2)&-1;
+ $265 = ((($tkk)) + 32|0);
+ $266 = (($265) + ($264<<2)|0);
+ $267 = ((($266)) + 2|0);
+ $268 = HEAP8[$267>>0]|0;
+ $269 = $268&255;
+ $270 = $269 ^ $262;
+ $271 = $270&255;
+ HEAP8[$267>>0] = $271;
+ $272 = $KC;
+ $273 = (($272|0) / 2)&-1;
+ $274 = (($273) - 1)|0;
+ $275 = ((($tkk)) + 32|0);
+ $276 = (($275) + ($274<<2)|0);
+ $277 = ((($276)) + 3|0);
+ $278 = HEAP8[$277>>0]|0;
+ $279 = $278&255;
+ $280 = $279<<2;
+ $281 = $sbox;
+ $282 = (($281) + ($280)|0);
+ $283 = HEAP8[$282>>0]|0;
+ $284 = $283&255;
+ $285 = $KC;
+ $286 = (($285|0) / 2)&-1;
+ $287 = ((($tkk)) + 32|0);
+ $288 = (($287) + ($286<<2)|0);
+ $289 = ((($288)) + 3|0);
+ $290 = HEAP8[$289>>0]|0;
+ $291 = $290&255;
+ $292 = $291 ^ $284;
+ $293 = $292&255;
+ HEAP8[$289>>0] = $293;
+ $294 = $KC;
+ $295 = (($294|0) / 2)&-1;
+ $296 = (($295) + 1)|0;
+ $j = $296;
+ while(1) {
+ $297 = $j;
+ $298 = $KC;
+ $299 = ($297|0)<($298|0);
+ if (!($299)) {
+ break L39;
+ }
+ $300 = $j;
+ $301 = (($300) - 1)|0;
+ $302 = ((($tkk)) + 32|0);
+ $303 = (($302) + ($301<<2)|0);
+ $304 = HEAP32[$303>>2]|0;
+ $305 = $j;
+ $306 = ((($tkk)) + 32|0);
+ $307 = (($306) + ($305<<2)|0);
+ $308 = HEAP32[$307>>2]|0;
+ $309 = $308 ^ $304;
+ HEAP32[$307>>2] = $309;
+ $310 = $j;
+ $311 = (($310) + 1)|0;
+ $j = $311;
+ }
+ }
+ } while(0);
+ $j = 0;
+ while(1) {
+ $312 = $j;
+ $313 = $KC;
+ $314 = ($312|0)<($313|0);
+ if (!($314)) {
+ continue L36;
+ }
+ $315 = $r;
+ $316 = $rounds;
+ $317 = (($316) + 1)|0;
+ $318 = ($315|0)<($317|0);
+ if (!($318)) {
+ continue L36;
+ }
+ while(1) {
+ $319 = $j;
+ $320 = $KC;
+ $321 = ($319|0)<($320|0);
+ $322 = $t;
+ $323 = ($322|0)<(4);
+ $324 = $321 ? $323 : 0;
+ if (!($324)) {
+ break;
+ }
+ $325 = $j;
+ $326 = ((($tkk)) + 32|0);
+ $327 = (($326) + ($325<<2)|0);
+ $328 = HEAP32[$327>>2]|0;
+ $329 = $t;
+ $330 = $r;
+ $331 = $1;
+ $332 = (($331) + ($330<<4)|0);
+ $333 = (($332) + ($329<<2)|0);
+ HEAP32[$333>>2] = $328;
+ $334 = $j;
+ $335 = (($334) + 1)|0;
+ $j = $335;
+ $336 = $t;
+ $337 = (($336) + 1)|0;
+ $t = $337;
+ }
+ $338 = $t;
+ $339 = ($338|0)==(4);
+ if (!($339)) {
+ continue;
+ }
+ $340 = $r;
+ $341 = (($340) + 1)|0;
+ $r = $341;
+ $t = 0;
+ }
+ }
+ $_vptr = $tkk;
+ $_vlen = 64;
+ $_vset = 0;
+ $342 = $_vset;
+ $343 = $342&255;
+ $344 = $_vset_long;
+ $345 = $344;
+ HEAP32[$345>>2] = $343;
+ $346 = (($344) + 4)|0;
+ $347 = $346;
+ HEAP32[$347>>2] = 0;
+ while(1) {
+ $348 = $_vptr;
+ $349 = $348;
+ $350 = $349 & 7;
+ $351 = ($350|0)!=(0);
+ $352 = $_vlen;
+ $353 = ($352|0)!=(0);
+ $354 = $351 ? $353 : 0;
+ if (!($354)) {
+ break;
+ }
+ $355 = $_vset;
+ $356 = $_vptr;
+ HEAP8[$356>>0] = $355;
+ $357 = $_vptr;
+ $358 = ((($357)) + 1|0);
+ $_vptr = $358;
+ $359 = $_vlen;
+ $360 = (($359) + -1)|0;
+ $_vlen = $360;
+ }
+ $361 = $_vlen;
+ $362 = ($361>>>0)<(8);
+ if (!($362)) {
+ $363 = $_vset_long;
+ $364 = $363;
+ $365 = HEAP32[$364>>2]|0;
+ $366 = (($363) + 4)|0;
+ $367 = $366;
+ $368 = HEAP32[$367>>2]|0;
+ $369 = (___muldi3(($365|0),($368|0),16843009,16843009)|0);
+ $370 = tempRet0;
+ $371 = $_vset_long;
+ $372 = $371;
+ HEAP32[$372>>2] = $369;
+ $373 = (($371) + 4)|0;
+ $374 = $373;
+ HEAP32[$374>>2] = $370;
+ while(1) {
+ $375 = $_vptr;
+ $_vptr_long = $375;
+ $376 = $_vset_long;
+ $377 = $376;
+ $378 = HEAP32[$377>>2]|0;
+ $379 = (($376) + 4)|0;
+ $380 = $379;
+ $381 = HEAP32[$380>>2]|0;
+ $382 = $_vptr_long;
+ $383 = $382;
+ $384 = $383;
+ HEAP32[$384>>2] = $378;
+ $385 = (($383) + 4)|0;
+ $386 = $385;
+ HEAP32[$386>>2] = $381;
+ $387 = $_vlen;
+ $388 = (($387) - 8)|0;
+ $_vlen = $388;
+ $389 = $_vptr;
+ $390 = ((($389)) + 8|0);
+ $_vptr = $390;
+ $391 = $_vlen;
+ $392 = ($391>>>0)>=(8);
+ if (!($392)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $393 = $_vlen;
+ $394 = ($393|0)!=(0);
+ if (!($394)) {
+ break;
+ }
+ $395 = $_vset;
+ $396 = $_vptr;
+ HEAP8[$396>>0] = $395;
+ $397 = $_vptr;
+ $398 = ((($397)) + 1|0);
+ $_vptr = $398;
+ $399 = $_vlen;
+ $400 = (($399) + -1)|0;
+ $_vlen = $400;
+ }
+ $0 = 0;
+ $401 = $0;
+ STACKTOP = sp;return ($401|0);
+}
+function _selftest() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = (_selftest_basic_128()|0);
+ $r = $1;
+ $2 = ($1|0)!=(0|0);
+ do {
+ if ($2) {
+ label = 4;
+ } else {
+ $3 = (_selftest_basic_192()|0);
+ $r = $3;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ label = 4;
+ } else {
+ $5 = (_selftest_basic_256()|0);
+ $r = $5;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ label = 4;
+ } else {
+ $8 = (_selftest_ctr_128()|0);
+ $r = $8;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $r;
+ $0 = $10;
+ break;
+ }
+ $11 = (_selftest_cbc_128()|0);
+ $r = $11;
+ $12 = ($11|0)!=(0|0);
+ if ($12) {
+ $13 = $r;
+ $0 = $13;
+ break;
+ } else {
+ $14 = (_selftest_cfb_128()|0);
+ $r = $14;
+ $15 = $r;
+ $0 = $15;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 4) {
+ $7 = $r;
+ $0 = $7;
+ }
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+}
+function _selftest_basic_128() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ctx = 0, $scratch = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp;
+ $scratch = sp + 512|0;
+ (_rijndael_setkey($ctx,38176,16)|0);
+ (_rijndael_encrypt($ctx,$scratch,38192)|0);
+ $1 = (_memcmp($scratch,38208,16)|0);
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $0 = 38224;
+ } else {
+ (_rijndael_decrypt($ctx,$scratch,$scratch)|0);
+ $3 = (_memcmp($scratch,38192,16)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $0 = 38256;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $5 = $0;
+ STACKTOP = sp;return ($5|0);
+}
+function _rijndael_encrypt($context,$b,$a) {
+ $context = $context|0;
+ $b = $b|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $b;
+ $2 = $a;
+ $3 = $0;
+ $ctx = $3;
+ $4 = $ctx;
+ $5 = ((($4)) + 496|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $ctx;
+ $9 = ((($8)) + 496|0);
+ $10 = HEAP32[$9>>2]|0;
+ FUNCTION_TABLE_v[$10 & 127]();
+ }
+ $11 = $ctx;
+ $12 = ((($11)) + 488|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $ctx;
+ $15 = $1;
+ $16 = $2;
+ $17 = (FUNCTION_TABLE_iiii[$13 & 127]($14,$15,$16)|0);
+ STACKTOP = sp;return ($17|0);
+}
+function _rijndael_decrypt($context,$b,$a) {
+ $context = $context|0;
+ $b = $b|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $b;
+ $2 = $a;
+ $3 = $0;
+ $ctx = $3;
+ $4 = $ctx;
+ _check_decryption_preparation($4);
+ $5 = $ctx;
+ $6 = ((($5)) + 500|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $ctx;
+ $10 = ((($9)) + 500|0);
+ $11 = HEAP32[$10>>2]|0;
+ FUNCTION_TABLE_v[$11 & 127]();
+ }
+ $12 = $ctx;
+ $13 = ((($12)) + 492|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $ctx;
+ $16 = $1;
+ $17 = $2;
+ $18 = (FUNCTION_TABLE_iiii[$14 & 127]($15,$16,$17)|0);
+ STACKTOP = sp;return ($18|0);
+}
+function _check_decryption_preparation($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ((($1)) + 484|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 & 1;
+ $5 = $4&255;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ STACKTOP = sp;return;
+ }
+ $7 = $0;
+ _prepare_decryption($7);
+ $8 = $0;
+ $9 = ((($8)) + 484|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 & -2;
+ $12 = $11 | 1;
+ HEAP8[$9>>0] = $12;
+ STACKTOP = sp;return;
+}
+function _prepare_decryption($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $r = 0, $sbox = 0, $wi = 0, $wo = 0, $wt = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $sbox = (4581);
+ _prefetch_enc();
+ _prefetch_dec();
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = $0;
+ $4 = ((($3)) + 240|0);
+ HEAP32[$4>>2] = $2;
+ $5 = $0;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = ((($8)) + 240|0);
+ $10 = ((($9)) + 4|0);
+ HEAP32[$10>>2] = $7;
+ $11 = $0;
+ $12 = ((($11)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $0;
+ $15 = ((($14)) + 240|0);
+ $16 = ((($15)) + 8|0);
+ HEAP32[$16>>2] = $13;
+ $17 = $0;
+ $18 = ((($17)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $0;
+ $21 = ((($20)) + 240|0);
+ $22 = ((($21)) + 12|0);
+ HEAP32[$22>>2] = $19;
+ $r = 1;
+ while(1) {
+ $23 = $r;
+ $24 = $0;
+ $25 = ((($24)) + 480|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = ($23|0)<($26|0);
+ $28 = $r;
+ $29 = $0;
+ $30 = (($29) + ($28<<4)|0);
+ if (!($27)) {
+ break;
+ }
+ $wi = $30;
+ $31 = $r;
+ $32 = $0;
+ $33 = ((($32)) + 240|0);
+ $34 = (($33) + ($31<<4)|0);
+ $wo = $34;
+ $35 = $wi;
+ $36 = HEAP32[$35>>2]|0;
+ $wt = $36;
+ $37 = $wt;
+ $38 = $37 >>> 0;
+ $39 = $38&255;
+ $40 = $39&255;
+ $41 = $40<<2;
+ $42 = $sbox;
+ $43 = (($42) + ($41)|0);
+ $44 = HEAP8[$43>>0]|0;
+ $45 = $44&255;
+ $46 = (5604 + ($45<<2)|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (_rol($47,0)|0);
+ $49 = $wt;
+ $50 = $49 >>> 8;
+ $51 = $50&255;
+ $52 = $51&255;
+ $53 = $52<<2;
+ $54 = $sbox;
+ $55 = (($54) + ($53)|0);
+ $56 = HEAP8[$55>>0]|0;
+ $57 = $56&255;
+ $58 = (5604 + ($57<<2)|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (_rol($59,8)|0);
+ $61 = $48 ^ $60;
+ $62 = $wt;
+ $63 = $62 >>> 16;
+ $64 = $63&255;
+ $65 = $64&255;
+ $66 = $65<<2;
+ $67 = $sbox;
+ $68 = (($67) + ($66)|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69&255;
+ $71 = (5604 + ($70<<2)|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = (_rol($72,16)|0);
+ $74 = $61 ^ $73;
+ $75 = $wt;
+ $76 = $75 >>> 24;
+ $77 = $76&255;
+ $78 = $77&255;
+ $79 = $78<<2;
+ $80 = $sbox;
+ $81 = (($80) + ($79)|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82&255;
+ $84 = (5604 + ($83<<2)|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = (_rol($85,24)|0);
+ $87 = $74 ^ $86;
+ $88 = $wo;
+ HEAP32[$88>>2] = $87;
+ $89 = $wi;
+ $90 = ((($89)) + 4|0);
+ $91 = HEAP32[$90>>2]|0;
+ $wt = $91;
+ $92 = $wt;
+ $93 = $92 >>> 0;
+ $94 = $93&255;
+ $95 = $94&255;
+ $96 = $95<<2;
+ $97 = $sbox;
+ $98 = (($97) + ($96)|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99&255;
+ $101 = (5604 + ($100<<2)|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = (_rol($102,0)|0);
+ $104 = $wt;
+ $105 = $104 >>> 8;
+ $106 = $105&255;
+ $107 = $106&255;
+ $108 = $107<<2;
+ $109 = $sbox;
+ $110 = (($109) + ($108)|0);
+ $111 = HEAP8[$110>>0]|0;
+ $112 = $111&255;
+ $113 = (5604 + ($112<<2)|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = (_rol($114,8)|0);
+ $116 = $103 ^ $115;
+ $117 = $wt;
+ $118 = $117 >>> 16;
+ $119 = $118&255;
+ $120 = $119&255;
+ $121 = $120<<2;
+ $122 = $sbox;
+ $123 = (($122) + ($121)|0);
+ $124 = HEAP8[$123>>0]|0;
+ $125 = $124&255;
+ $126 = (5604 + ($125<<2)|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = (_rol($127,16)|0);
+ $129 = $116 ^ $128;
+ $130 = $wt;
+ $131 = $130 >>> 24;
+ $132 = $131&255;
+ $133 = $132&255;
+ $134 = $133<<2;
+ $135 = $sbox;
+ $136 = (($135) + ($134)|0);
+ $137 = HEAP8[$136>>0]|0;
+ $138 = $137&255;
+ $139 = (5604 + ($138<<2)|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = (_rol($140,24)|0);
+ $142 = $129 ^ $141;
+ $143 = $wo;
+ $144 = ((($143)) + 4|0);
+ HEAP32[$144>>2] = $142;
+ $145 = $wi;
+ $146 = ((($145)) + 8|0);
+ $147 = HEAP32[$146>>2]|0;
+ $wt = $147;
+ $148 = $wt;
+ $149 = $148 >>> 0;
+ $150 = $149&255;
+ $151 = $150&255;
+ $152 = $151<<2;
+ $153 = $sbox;
+ $154 = (($153) + ($152)|0);
+ $155 = HEAP8[$154>>0]|0;
+ $156 = $155&255;
+ $157 = (5604 + ($156<<2)|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = (_rol($158,0)|0);
+ $160 = $wt;
+ $161 = $160 >>> 8;
+ $162 = $161&255;
+ $163 = $162&255;
+ $164 = $163<<2;
+ $165 = $sbox;
+ $166 = (($165) + ($164)|0);
+ $167 = HEAP8[$166>>0]|0;
+ $168 = $167&255;
+ $169 = (5604 + ($168<<2)|0);
+ $170 = HEAP32[$169>>2]|0;
+ $171 = (_rol($170,8)|0);
+ $172 = $159 ^ $171;
+ $173 = $wt;
+ $174 = $173 >>> 16;
+ $175 = $174&255;
+ $176 = $175&255;
+ $177 = $176<<2;
+ $178 = $sbox;
+ $179 = (($178) + ($177)|0);
+ $180 = HEAP8[$179>>0]|0;
+ $181 = $180&255;
+ $182 = (5604 + ($181<<2)|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (_rol($183,16)|0);
+ $185 = $172 ^ $184;
+ $186 = $wt;
+ $187 = $186 >>> 24;
+ $188 = $187&255;
+ $189 = $188&255;
+ $190 = $189<<2;
+ $191 = $sbox;
+ $192 = (($191) + ($190)|0);
+ $193 = HEAP8[$192>>0]|0;
+ $194 = $193&255;
+ $195 = (5604 + ($194<<2)|0);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = (_rol($196,24)|0);
+ $198 = $185 ^ $197;
+ $199 = $wo;
+ $200 = ((($199)) + 8|0);
+ HEAP32[$200>>2] = $198;
+ $201 = $wi;
+ $202 = ((($201)) + 12|0);
+ $203 = HEAP32[$202>>2]|0;
+ $wt = $203;
+ $204 = $wt;
+ $205 = $204 >>> 0;
+ $206 = $205&255;
+ $207 = $206&255;
+ $208 = $207<<2;
+ $209 = $sbox;
+ $210 = (($209) + ($208)|0);
+ $211 = HEAP8[$210>>0]|0;
+ $212 = $211&255;
+ $213 = (5604 + ($212<<2)|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = (_rol($214,0)|0);
+ $216 = $wt;
+ $217 = $216 >>> 8;
+ $218 = $217&255;
+ $219 = $218&255;
+ $220 = $219<<2;
+ $221 = $sbox;
+ $222 = (($221) + ($220)|0);
+ $223 = HEAP8[$222>>0]|0;
+ $224 = $223&255;
+ $225 = (5604 + ($224<<2)|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = (_rol($226,8)|0);
+ $228 = $215 ^ $227;
+ $229 = $wt;
+ $230 = $229 >>> 16;
+ $231 = $230&255;
+ $232 = $231&255;
+ $233 = $232<<2;
+ $234 = $sbox;
+ $235 = (($234) + ($233)|0);
+ $236 = HEAP8[$235>>0]|0;
+ $237 = $236&255;
+ $238 = (5604 + ($237<<2)|0);
+ $239 = HEAP32[$238>>2]|0;
+ $240 = (_rol($239,16)|0);
+ $241 = $228 ^ $240;
+ $242 = $wt;
+ $243 = $242 >>> 24;
+ $244 = $243&255;
+ $245 = $244&255;
+ $246 = $245<<2;
+ $247 = $sbox;
+ $248 = (($247) + ($246)|0);
+ $249 = HEAP8[$248>>0]|0;
+ $250 = $249&255;
+ $251 = (5604 + ($250<<2)|0);
+ $252 = HEAP32[$251>>2]|0;
+ $253 = (_rol($252,24)|0);
+ $254 = $241 ^ $253;
+ $255 = $wo;
+ $256 = ((($255)) + 12|0);
+ HEAP32[$256>>2] = $254;
+ $257 = $r;
+ $258 = (($257) + 1)|0;
+ $r = $258;
+ }
+ $259 = HEAP32[$30>>2]|0;
+ $260 = $r;
+ $261 = $0;
+ $262 = ((($261)) + 240|0);
+ $263 = (($262) + ($260<<4)|0);
+ HEAP32[$263>>2] = $259;
+ $264 = $r;
+ $265 = $0;
+ $266 = (($265) + ($264<<4)|0);
+ $267 = ((($266)) + 4|0);
+ $268 = HEAP32[$267>>2]|0;
+ $269 = $r;
+ $270 = $0;
+ $271 = ((($270)) + 240|0);
+ $272 = (($271) + ($269<<4)|0);
+ $273 = ((($272)) + 4|0);
+ HEAP32[$273>>2] = $268;
+ $274 = $r;
+ $275 = $0;
+ $276 = (($275) + ($274<<4)|0);
+ $277 = ((($276)) + 8|0);
+ $278 = HEAP32[$277>>2]|0;
+ $279 = $r;
+ $280 = $0;
+ $281 = ((($280)) + 240|0);
+ $282 = (($281) + ($279<<4)|0);
+ $283 = ((($282)) + 8|0);
+ HEAP32[$283>>2] = $278;
+ $284 = $r;
+ $285 = $0;
+ $286 = (($285) + ($284<<4)|0);
+ $287 = ((($286)) + 12|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = $r;
+ $290 = $0;
+ $291 = ((($290)) + 240|0);
+ $292 = (($291) + ($289<<4)|0);
+ $293 = ((($292)) + 12|0);
+ HEAP32[$293>>2] = $288;
+ STACKTOP = sp;return;
+}
+function _prefetch_enc() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _prefetch_table(4580,1024);
+ return;
+}
+function _prefetch_table($tab,$len) {
+ $tab = $tab|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $tab;
+ $1 = $len;
+ $i = 0;
+ while(1) {
+ $2 = $i;
+ $3 = $1;
+ $4 = ($2>>>0)<($3>>>0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $i;
+ $6 = (($5) + 0)|0;
+ $7 = $0;
+ $8 = (($7) + ($6)|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $i;
+ $11 = (($10) + 32)|0;
+ $12 = $0;
+ $13 = (($12) + ($11)|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $i;
+ $16 = (($15) + 64)|0;
+ $17 = $0;
+ $18 = (($17) + ($16)|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $i;
+ $21 = (($20) + 96)|0;
+ $22 = $0;
+ $23 = (($22) + ($21)|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $i;
+ $26 = (($25) + 128)|0;
+ $27 = $0;
+ $28 = (($27) + ($26)|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $i;
+ $31 = (($30) + 160)|0;
+ $32 = $0;
+ $33 = (($32) + ($31)|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = $i;
+ $36 = (($35) + 192)|0;
+ $37 = $0;
+ $38 = (($37) + ($36)|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $i;
+ $41 = (($40) + 224)|0;
+ $42 = $0;
+ $43 = (($42) + ($41)|0);
+ $44 = HEAP8[$43>>0]|0;
+ $45 = $i;
+ $46 = (($45) + 256)|0;
+ $i = $46;
+ }
+ $47 = $1;
+ $48 = (($47) - 1)|0;
+ $49 = $0;
+ $50 = (($49) + ($48)|0);
+ $51 = HEAP8[$50>>0]|0;
+ STACKTOP = sp;return;
+}
+function _prefetch_dec() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _prefetch_table(5604,1280);
+ return;
+}
+function _rol($x,$n) {
+ $x = $x|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $n;
+ $2 = $0;
+ $3 = $1;
+ $4 = $3 & 31;
+ $5 = $2 << $4;
+ $6 = $0;
+ $7 = $1;
+ $8 = (32 - ($7))|0;
+ $9 = $8 & 31;
+ $10 = $6 >>> $9;
+ $11 = $5 | $10;
+ STACKTOP = sp;return ($11|0);
+}
+function _selftest_basic_192() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ctx = 0, $scratch = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp;
+ $scratch = sp + 512|0;
+ (_rijndael_setkey($ctx,38288,24)|0);
+ (_rijndael_encrypt($ctx,$scratch,38312)|0);
+ $1 = (_memcmp($scratch,38328,16)|0);
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $0 = 38344;
+ } else {
+ (_rijndael_decrypt($ctx,$scratch,$scratch)|0);
+ $3 = (_memcmp($scratch,38312,16)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $0 = 38376;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $5 = $0;
+ STACKTOP = sp;return ($5|0);
+}
+function _selftest_basic_256() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ctx = 0, $scratch = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 528|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp;
+ $scratch = sp + 512|0;
+ (_rijndael_setkey($ctx,38408,32)|0);
+ (_rijndael_encrypt($ctx,$scratch,38440)|0);
+ $1 = (_memcmp($scratch,38456,16)|0);
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $0 = 38472;
+ } else {
+ (_rijndael_decrypt($ctx,$scratch,$scratch)|0);
+ $3 = (_memcmp($scratch,38440,16)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $0 = 38504;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $5 = $0;
+ STACKTOP = sp;return ($5|0);
+}
+function _selftest_ctr_128() {
+ var $0 = 0, $blocksize = 0, $context_size = 0, $nblocks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nblocks = 9;
+ $blocksize = 16;
+ $context_size = 504;
+ $0 = (__gcry_selftest_helper_ctr(38056,1,2,61,9,16,504)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_aes_ctr_enc($context,$ctr,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $ctr = $ctr|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $burn_depth = 0, $ctx = 0, $encrypt_fn = 0, $i = 0;
+ var $inbuf = 0, $outbuf = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp;
+ $_vset_long = sp + 16|0;
+ $0 = $context;
+ $1 = $ctr;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_depth = 0;
+ $8 = $ctx;
+ $9 = ((($8)) + 496|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $ctx;
+ $13 = ((($12)) + 496|0);
+ $14 = HEAP32[$13>>2]|0;
+ FUNCTION_TABLE_v[$14 & 127]();
+ }
+ $15 = $ctx;
+ $16 = ((($15)) + 488|0);
+ $17 = HEAP32[$16>>2]|0;
+ $encrypt_fn = $17;
+ while(1) {
+ $18 = $4;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $encrypt_fn;
+ $21 = $ctx;
+ $22 = $1;
+ $23 = (FUNCTION_TABLE_iiii[$20 & 127]($21,$tmp,$22)|0);
+ $burn_depth = $23;
+ $24 = $outbuf;
+ $25 = $inbuf;
+ _buf_xor($24,$tmp,$25,16);
+ $26 = $outbuf;
+ $27 = ((($26)) + 16|0);
+ $outbuf = $27;
+ $28 = $inbuf;
+ $29 = ((($28)) + 16|0);
+ $inbuf = $29;
+ $i = 16;
+ while(1) {
+ $30 = $i;
+ $31 = ($30|0)>(0);
+ if (!($31)) {
+ break;
+ }
+ $32 = $i;
+ $33 = (($32) - 1)|0;
+ $34 = $1;
+ $35 = (($34) + ($33)|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = (($36) + 1)<<24>>24;
+ HEAP8[$35>>0] = $37;
+ $38 = $i;
+ $39 = (($38) - 1)|0;
+ $40 = $1;
+ $41 = (($40) + ($39)|0);
+ $42 = HEAP8[$41>>0]|0;
+ $43 = ($42<<24>>24)!=(0);
+ if ($43) {
+ break;
+ }
+ $44 = $i;
+ $45 = (($44) + -1)|0;
+ $i = $45;
+ }
+ $46 = $4;
+ $47 = (($46) + -1)|0;
+ $4 = $47;
+ }
+ $_vptr = $tmp;
+ $_vlen = 16;
+ $_vset = 0;
+ $48 = $_vset;
+ $49 = $48&255;
+ $50 = $_vset_long;
+ $51 = $50;
+ HEAP32[$51>>2] = $49;
+ $52 = (($50) + 4)|0;
+ $53 = $52;
+ HEAP32[$53>>2] = 0;
+ while(1) {
+ $54 = $_vptr;
+ $55 = $54;
+ $56 = $55 & 7;
+ $57 = ($56|0)!=(0);
+ $58 = $_vlen;
+ $59 = ($58|0)!=(0);
+ $60 = $57 ? $59 : 0;
+ if (!($60)) {
+ break;
+ }
+ $61 = $_vset;
+ $62 = $_vptr;
+ HEAP8[$62>>0] = $61;
+ $63 = $_vptr;
+ $64 = ((($63)) + 1|0);
+ $_vptr = $64;
+ $65 = $_vlen;
+ $66 = (($65) + -1)|0;
+ $_vlen = $66;
+ }
+ $67 = $_vlen;
+ $68 = ($67>>>0)<(8);
+ if (!($68)) {
+ $69 = $_vset_long;
+ $70 = $69;
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (($69) + 4)|0;
+ $73 = $72;
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (___muldi3(($71|0),($74|0),16843009,16843009)|0);
+ $76 = tempRet0;
+ $77 = $_vset_long;
+ $78 = $77;
+ HEAP32[$78>>2] = $75;
+ $79 = (($77) + 4)|0;
+ $80 = $79;
+ HEAP32[$80>>2] = $76;
+ while(1) {
+ $81 = $_vptr;
+ $_vptr_long = $81;
+ $82 = $_vset_long;
+ $83 = $82;
+ $84 = HEAP32[$83>>2]|0;
+ $85 = (($82) + 4)|0;
+ $86 = $85;
+ $87 = HEAP32[$86>>2]|0;
+ $88 = $_vptr_long;
+ $89 = $88;
+ $90 = $89;
+ HEAP32[$90>>2] = $84;
+ $91 = (($89) + 4)|0;
+ $92 = $91;
+ HEAP32[$92>>2] = $87;
+ $93 = $_vlen;
+ $94 = (($93) - 8)|0;
+ $_vlen = $94;
+ $95 = $_vptr;
+ $96 = ((($95)) + 8|0);
+ $_vptr = $96;
+ $97 = $_vlen;
+ $98 = ($97>>>0)>=(8);
+ if (!($98)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $99 = $_vlen;
+ $100 = ($99|0)!=(0);
+ if (!($100)) {
+ break;
+ }
+ $101 = $_vset;
+ $102 = $_vptr;
+ HEAP8[$102>>0] = $101;
+ $103 = $_vptr;
+ $104 = ((($103)) + 1|0);
+ $_vptr = $104;
+ $105 = $_vlen;
+ $106 = (($105) + -1)|0;
+ $_vlen = $106;
+ }
+ $107 = $burn_depth;
+ $108 = ($107|0)!=(0);
+ if (!($108)) {
+ STACKTOP = sp;return;
+ }
+ $109 = $burn_depth;
+ $110 = (($109) + 16)|0;
+ ___gcry_burn_stack($110);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _selftest_cbc_128() {
+ var $0 = 0, $blocksize = 0, $context_size = 0, $nblocks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nblocks = 10;
+ $blocksize = 16;
+ $context_size = 504;
+ $0 = (__gcry_selftest_helper_cbc(38056,1,2,60,10,16,504)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_aes_cbc_dec($context,$iv,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $iv = $iv|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0;
+ var $_vset = 0, $_vset_long = 0, $burn_depth = 0, $ctx = 0, $decrypt_fn = 0, $inbuf = 0, $outbuf = 0, $savebuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $savebuf = sp;
+ $_vset_long = sp + 16|0;
+ $0 = $context;
+ $1 = $iv;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_depth = 0;
+ $8 = $ctx;
+ _check_decryption_preparation($8);
+ $9 = $ctx;
+ $10 = ((($9)) + 500|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)!=(0|0);
+ if ($12) {
+ $13 = $ctx;
+ $14 = ((($13)) + 500|0);
+ $15 = HEAP32[$14>>2]|0;
+ FUNCTION_TABLE_v[$15 & 127]();
+ }
+ $16 = $ctx;
+ $17 = ((($16)) + 492|0);
+ $18 = HEAP32[$17>>2]|0;
+ $decrypt_fn = $18;
+ while(1) {
+ $19 = $4;
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ break;
+ }
+ $21 = $decrypt_fn;
+ $22 = $ctx;
+ $23 = $inbuf;
+ $24 = (FUNCTION_TABLE_iiii[$21 & 127]($22,$savebuf,$23)|0);
+ $burn_depth = $24;
+ $25 = $outbuf;
+ $26 = $1;
+ $27 = $inbuf;
+ _buf_xor_n_copy_2($25,$savebuf,$26,$27,16);
+ $28 = $inbuf;
+ $29 = ((($28)) + 16|0);
+ $inbuf = $29;
+ $30 = $outbuf;
+ $31 = ((($30)) + 16|0);
+ $outbuf = $31;
+ $32 = $4;
+ $33 = (($32) + -1)|0;
+ $4 = $33;
+ }
+ $_vptr = $savebuf;
+ $_vlen = 16;
+ $_vset = 0;
+ $34 = $_vset;
+ $35 = $34&255;
+ $36 = $_vset_long;
+ $37 = $36;
+ HEAP32[$37>>2] = $35;
+ $38 = (($36) + 4)|0;
+ $39 = $38;
+ HEAP32[$39>>2] = 0;
+ while(1) {
+ $40 = $_vptr;
+ $41 = $40;
+ $42 = $41 & 7;
+ $43 = ($42|0)!=(0);
+ $44 = $_vlen;
+ $45 = ($44|0)!=(0);
+ $46 = $43 ? $45 : 0;
+ if (!($46)) {
+ break;
+ }
+ $47 = $_vset;
+ $48 = $_vptr;
+ HEAP8[$48>>0] = $47;
+ $49 = $_vptr;
+ $50 = ((($49)) + 1|0);
+ $_vptr = $50;
+ $51 = $_vlen;
+ $52 = (($51) + -1)|0;
+ $_vlen = $52;
+ }
+ $53 = $_vlen;
+ $54 = ($53>>>0)<(8);
+ if (!($54)) {
+ $55 = $_vset_long;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (($55) + 4)|0;
+ $59 = $58;
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (___muldi3(($57|0),($60|0),16843009,16843009)|0);
+ $62 = tempRet0;
+ $63 = $_vset_long;
+ $64 = $63;
+ HEAP32[$64>>2] = $61;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = $62;
+ while(1) {
+ $67 = $_vptr;
+ $_vptr_long = $67;
+ $68 = $_vset_long;
+ $69 = $68;
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (($68) + 4)|0;
+ $72 = $71;
+ $73 = HEAP32[$72>>2]|0;
+ $74 = $_vptr_long;
+ $75 = $74;
+ $76 = $75;
+ HEAP32[$76>>2] = $70;
+ $77 = (($75) + 4)|0;
+ $78 = $77;
+ HEAP32[$78>>2] = $73;
+ $79 = $_vlen;
+ $80 = (($79) - 8)|0;
+ $_vlen = $80;
+ $81 = $_vptr;
+ $82 = ((($81)) + 8|0);
+ $_vptr = $82;
+ $83 = $_vlen;
+ $84 = ($83>>>0)>=(8);
+ if (!($84)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $85 = $_vlen;
+ $86 = ($85|0)!=(0);
+ if (!($86)) {
+ break;
+ }
+ $87 = $_vset;
+ $88 = $_vptr;
+ HEAP8[$88>>0] = $87;
+ $89 = $_vptr;
+ $90 = ((($89)) + 1|0);
+ $_vptr = $90;
+ $91 = $_vlen;
+ $92 = (($91) + -1)|0;
+ $_vlen = $92;
+ }
+ $93 = $burn_depth;
+ $94 = ($93|0)!=(0);
+ if (!($94)) {
+ STACKTOP = sp;return;
+ }
+ $95 = $burn_depth;
+ $96 = (($95) + 16)|0;
+ ___gcry_burn_stack($96);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor_n_copy_2($_dst_xor,$_src_xor,$_srcdst_cpy,$_src_cpy,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_src_xor = $_src_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src_cpy = $_src_cpy|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $dst_xor = 0, $ldst_xor = 0, $longmask = 0, $lsrc_cpy = 0, $lsrc_xor = 0, $lsrcdst_cpy = 0, $ltemp = 0, $src_cpy = 0, $src_xor = 0, $srcdst_cpy = 0, $temp = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_src_xor;
+ $2 = $_srcdst_cpy;
+ $3 = $_src_cpy;
+ $4 = $len;
+ $5 = $0;
+ $dst_xor = $5;
+ $6 = $2;
+ $srcdst_cpy = $6;
+ $7 = $1;
+ $src_xor = $7;
+ $8 = $3;
+ $src_cpy = $8;
+ $longmask = 3;
+ $9 = $src_cpy;
+ $10 = $9;
+ $11 = $src_xor;
+ $12 = $11;
+ $13 = $10 | $12;
+ $14 = $dst_xor;
+ $15 = $14;
+ $16 = $13 | $15;
+ $17 = $srcdst_cpy;
+ $18 = $17;
+ $19 = $16 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ $22 = $dst_xor;
+ $ldst_xor = $22;
+ $23 = $src_xor;
+ $lsrc_xor = $23;
+ $24 = $srcdst_cpy;
+ $lsrcdst_cpy = $24;
+ $25 = $src_cpy;
+ $lsrc_cpy = $25;
+ while(1) {
+ $26 = $4;
+ $27 = ($26>>>0)>=(4);
+ if (!($27)) {
+ break;
+ }
+ $28 = $lsrc_cpy;
+ $29 = ((($28)) + 4|0);
+ $lsrc_cpy = $29;
+ $30 = HEAP32[$28>>2]|0;
+ $ltemp = $30;
+ $31 = $lsrcdst_cpy;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $lsrc_xor;
+ $34 = ((($33)) + 4|0);
+ $lsrc_xor = $34;
+ $35 = HEAP32[$33>>2]|0;
+ $36 = $32 ^ $35;
+ $37 = $ldst_xor;
+ $38 = ((($37)) + 4|0);
+ $ldst_xor = $38;
+ HEAP32[$37>>2] = $36;
+ $39 = $ltemp;
+ $40 = $lsrcdst_cpy;
+ $41 = ((($40)) + 4|0);
+ $lsrcdst_cpy = $41;
+ HEAP32[$40>>2] = $39;
+ $42 = $4;
+ $43 = (($42) - 4)|0;
+ $4 = $43;
+ }
+ $44 = $ldst_xor;
+ $dst_xor = $44;
+ $45 = $lsrc_xor;
+ $src_xor = $45;
+ $46 = $lsrcdst_cpy;
+ $srcdst_cpy = $46;
+ $47 = $lsrc_cpy;
+ $src_cpy = $47;
+ }
+ while(1) {
+ $48 = $4;
+ $49 = ($48|0)!=(0);
+ if (!($49)) {
+ break;
+ }
+ $50 = $src_cpy;
+ $51 = ((($50)) + 1|0);
+ $src_cpy = $51;
+ $52 = HEAP8[$50>>0]|0;
+ $temp = $52;
+ $53 = $srcdst_cpy;
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $src_xor;
+ $57 = ((($56)) + 1|0);
+ $src_xor = $57;
+ $58 = HEAP8[$56>>0]|0;
+ $59 = $58&255;
+ $60 = $55 ^ $59;
+ $61 = $60&255;
+ $62 = $dst_xor;
+ $63 = ((($62)) + 1|0);
+ $dst_xor = $63;
+ HEAP8[$62>>0] = $61;
+ $64 = $temp;
+ $65 = $srcdst_cpy;
+ $66 = ((($65)) + 1|0);
+ $srcdst_cpy = $66;
+ HEAP8[$65>>0] = $64;
+ $67 = $4;
+ $68 = (($67) + -1)|0;
+ $4 = $68;
+ }
+ STACKTOP = sp;return;
+}
+function _selftest_cfb_128() {
+ var $0 = 0, $blocksize = 0, $context_size = 0, $nblocks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nblocks = 10;
+ $blocksize = 16;
+ $context_size = 504;
+ $0 = (__gcry_selftest_helper_cfb(38056,1,2,58,10,16,504)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_aes_cfb_dec($context,$iv,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $iv = $iv|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn_depth = 0, $ctx = 0;
+ var $encrypt_fn = 0, $inbuf = 0, $outbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $iv;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_depth = 0;
+ $8 = $ctx;
+ $9 = ((($8)) + 496|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $ctx;
+ $13 = ((($12)) + 496|0);
+ $14 = HEAP32[$13>>2]|0;
+ FUNCTION_TABLE_v[$14 & 127]();
+ }
+ $15 = $ctx;
+ $16 = ((($15)) + 488|0);
+ $17 = HEAP32[$16>>2]|0;
+ $encrypt_fn = $17;
+ while(1) {
+ $18 = $4;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $encrypt_fn;
+ $21 = $ctx;
+ $22 = $1;
+ $23 = $1;
+ $24 = (FUNCTION_TABLE_iiii[$20 & 127]($21,$22,$23)|0);
+ $burn_depth = $24;
+ $25 = $outbuf;
+ $26 = $1;
+ $27 = $inbuf;
+ _buf_xor_n_copy($25,$26,$27,16);
+ $28 = $outbuf;
+ $29 = ((($28)) + 16|0);
+ $outbuf = $29;
+ $30 = $inbuf;
+ $31 = ((($30)) + 16|0);
+ $inbuf = $31;
+ $32 = $4;
+ $33 = (($32) + -1)|0;
+ $4 = $33;
+ }
+ $34 = $burn_depth;
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ STACKTOP = sp;return;
+ }
+ $36 = $burn_depth;
+ $37 = (($36) + 16)|0;
+ ___gcry_burn_stack($37);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor_n_copy($_dst_xor,$_srcdst_cpy,$_src,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_srcdst_cpy;
+ $2 = $_src;
+ $3 = $len;
+ $4 = $0;
+ $5 = $2;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ _buf_xor_n_copy_2($4,$5,$6,$7,$8);
+ STACKTOP = sp;return;
+}
+function _do_encrypt($ctx,$bx,$ax) {
+ $ctx = $ctx|0;
+ $bx = $bx|0;
+ $ax = $ax|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $bx;
+ $2 = $ax;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (_do_encrypt_fn($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _do_encrypt_fn($ctx,$b,$a) {
+ $ctx = $ctx|0;
+ $b = $b|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
+ var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
+ var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
+ var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
+ var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
+ var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
+ var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
+ var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
+ var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
+ var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
+ var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0;
+ var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0;
+ var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0;
+ var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0;
+ var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0;
+ var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0;
+ var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0;
+ var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0;
+ var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0;
+ var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0;
+ var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0;
+ var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0;
+ var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0;
+ var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0;
+ var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0;
+ var $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0;
+ var $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $r = 0, $rounds = 0;
+ var $sa = 0, $sb = 0, $sbox = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $sa = sp + 16|0;
+ $sb = sp;
+ $0 = $ctx;
+ $1 = $b;
+ $2 = $a;
+ $sbox = (4581);
+ $3 = $0;
+ $4 = ((($3)) + 480|0);
+ $5 = HEAP32[$4>>2]|0;
+ $rounds = $5;
+ $6 = $2;
+ $7 = (_buf_get_le32($6)|0);
+ HEAP32[$sb>>2] = $7;
+ $8 = $2;
+ $9 = ((($8)) + 4|0);
+ $10 = (_buf_get_le32($9)|0);
+ $11 = ((($sb)) + 4|0);
+ HEAP32[$11>>2] = $10;
+ $12 = $2;
+ $13 = ((($12)) + 8|0);
+ $14 = (_buf_get_le32($13)|0);
+ $15 = ((($sb)) + 8|0);
+ HEAP32[$15>>2] = $14;
+ $16 = $2;
+ $17 = ((($16)) + 12|0);
+ $18 = (_buf_get_le32($17)|0);
+ $19 = ((($sb)) + 12|0);
+ HEAP32[$19>>2] = $18;
+ $20 = HEAP32[$sb>>2]|0;
+ $21 = $0;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $20 ^ $22;
+ HEAP32[$sa>>2] = $23;
+ $24 = ((($sb)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $0;
+ $27 = ((($26)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $25 ^ $28;
+ $30 = ((($sa)) + 4|0);
+ HEAP32[$30>>2] = $29;
+ $31 = ((($sb)) + 8|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $0;
+ $34 = ((($33)) + 8|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $32 ^ $35;
+ $37 = ((($sa)) + 8|0);
+ HEAP32[$37>>2] = $36;
+ $38 = ((($sb)) + 12|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $0;
+ $41 = ((($40)) + 12|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $39 ^ $42;
+ $44 = ((($sa)) + 12|0);
+ HEAP32[$44>>2] = $43;
+ $45 = HEAP32[$sa>>2]|0;
+ $46 = $45 >>> 0;
+ $47 = $46&255;
+ $48 = $47&255;
+ $49 = (4580 + ($48<<2)|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (_rol($50,0)|0);
+ HEAP32[$sb>>2] = $51;
+ $52 = HEAP32[$sa>>2]|0;
+ $53 = $52 >>> 8;
+ $54 = $53&255;
+ $55 = $54&255;
+ $56 = (4580 + ($55<<2)|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (_rol($57,8)|0);
+ $59 = ((($sb)) + 12|0);
+ HEAP32[$59>>2] = $58;
+ $60 = HEAP32[$sa>>2]|0;
+ $61 = $60 >>> 16;
+ $62 = $61&255;
+ $63 = $62&255;
+ $64 = (4580 + ($63<<2)|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (_rol($65,16)|0);
+ $67 = ((($sb)) + 8|0);
+ HEAP32[$67>>2] = $66;
+ $68 = HEAP32[$sa>>2]|0;
+ $69 = $68 >>> 24;
+ $70 = $69&255;
+ $71 = $70&255;
+ $72 = (4580 + ($71<<2)|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (_rol($73,24)|0);
+ $75 = ((($sb)) + 4|0);
+ HEAP32[$75>>2] = $74;
+ $76 = $0;
+ $77 = ((($76)) + 16|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = HEAP32[$sb>>2]|0;
+ $80 = $78 ^ $79;
+ HEAP32[$sa>>2] = $80;
+ $81 = ((($sa)) + 4|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = $82 >>> 0;
+ $84 = $83&255;
+ $85 = $84&255;
+ $86 = (4580 + ($85<<2)|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = (_rol($87,0)|0);
+ $89 = ((($sb)) + 4|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = $90 ^ $88;
+ HEAP32[$89>>2] = $91;
+ $92 = ((($sa)) + 4|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = $93 >>> 8;
+ $95 = $94&255;
+ $96 = $95&255;
+ $97 = (4580 + ($96<<2)|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (_rol($98,8)|0);
+ $100 = HEAP32[$sa>>2]|0;
+ $101 = $100 ^ $99;
+ HEAP32[$sa>>2] = $101;
+ $102 = ((($sa)) + 4|0);
+ $103 = HEAP32[$102>>2]|0;
+ $104 = $103 >>> 16;
+ $105 = $104&255;
+ $106 = $105&255;
+ $107 = (4580 + ($106<<2)|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (_rol($108,16)|0);
+ $110 = ((($sb)) + 12|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = $111 ^ $109;
+ HEAP32[$110>>2] = $112;
+ $113 = ((($sa)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 >>> 24;
+ $116 = $115&255;
+ $117 = $116&255;
+ $118 = (4580 + ($117<<2)|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = (_rol($119,24)|0);
+ $121 = ((($sb)) + 8|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = $122 ^ $120;
+ HEAP32[$121>>2] = $123;
+ $124 = $0;
+ $125 = ((($124)) + 16|0);
+ $126 = ((($125)) + 4|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ((($sb)) + 4|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = $127 ^ $129;
+ $131 = ((($sa)) + 4|0);
+ HEAP32[$131>>2] = $130;
+ $132 = ((($sa)) + 8|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = $133 >>> 0;
+ $135 = $134&255;
+ $136 = $135&255;
+ $137 = (4580 + ($136<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (_rol($138,0)|0);
+ $140 = ((($sb)) + 8|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $141 ^ $139;
+ HEAP32[$140>>2] = $142;
+ $143 = ((($sa)) + 8|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = $144 >>> 8;
+ $146 = $145&255;
+ $147 = $146&255;
+ $148 = (4580 + ($147<<2)|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = (_rol($149,8)|0);
+ $151 = ((($sa)) + 4|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $152 ^ $150;
+ HEAP32[$151>>2] = $153;
+ $154 = ((($sa)) + 8|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = $155 >>> 16;
+ $157 = $156&255;
+ $158 = $157&255;
+ $159 = (4580 + ($158<<2)|0);
+ $160 = HEAP32[$159>>2]|0;
+ $161 = (_rol($160,16)|0);
+ $162 = HEAP32[$sa>>2]|0;
+ $163 = $162 ^ $161;
+ HEAP32[$sa>>2] = $163;
+ $164 = ((($sa)) + 8|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = $165 >>> 24;
+ $167 = $166&255;
+ $168 = $167&255;
+ $169 = (4580 + ($168<<2)|0);
+ $170 = HEAP32[$169>>2]|0;
+ $171 = (_rol($170,24)|0);
+ $172 = ((($sb)) + 12|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = $173 ^ $171;
+ HEAP32[$172>>2] = $174;
+ $175 = $0;
+ $176 = ((($175)) + 16|0);
+ $177 = ((($176)) + 8|0);
+ $178 = HEAP32[$177>>2]|0;
+ $179 = ((($sb)) + 8|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = $178 ^ $180;
+ $182 = ((($sa)) + 8|0);
+ HEAP32[$182>>2] = $181;
+ $183 = ((($sa)) + 12|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = $184 >>> 0;
+ $186 = $185&255;
+ $187 = $186&255;
+ $188 = (4580 + ($187<<2)|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = (_rol($189,0)|0);
+ $191 = ((($sb)) + 12|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = $192 ^ $190;
+ HEAP32[$191>>2] = $193;
+ $194 = ((($sa)) + 12|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $195 >>> 8;
+ $197 = $196&255;
+ $198 = $197&255;
+ $199 = (4580 + ($198<<2)|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = (_rol($200,8)|0);
+ $202 = ((($sa)) + 8|0);
+ $203 = HEAP32[$202>>2]|0;
+ $204 = $203 ^ $201;
+ HEAP32[$202>>2] = $204;
+ $205 = ((($sa)) + 12|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = $206 >>> 16;
+ $208 = $207&255;
+ $209 = $208&255;
+ $210 = (4580 + ($209<<2)|0);
+ $211 = HEAP32[$210>>2]|0;
+ $212 = (_rol($211,16)|0);
+ $213 = ((($sa)) + 4|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $214 ^ $212;
+ HEAP32[$213>>2] = $215;
+ $216 = ((($sa)) + 12|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = $217 >>> 24;
+ $219 = $218&255;
+ $220 = $219&255;
+ $221 = (4580 + ($220<<2)|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (_rol($222,24)|0);
+ $224 = HEAP32[$sa>>2]|0;
+ $225 = $224 ^ $223;
+ HEAP32[$sa>>2] = $225;
+ $226 = $0;
+ $227 = ((($226)) + 16|0);
+ $228 = ((($227)) + 12|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = ((($sb)) + 12|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = $229 ^ $231;
+ $233 = ((($sa)) + 12|0);
+ HEAP32[$233>>2] = $232;
+ $r = 2;
+ while(1) {
+ $234 = $r;
+ $235 = $rounds;
+ $236 = ($234|0)<($235|0);
+ $237 = HEAP32[$sa>>2]|0;
+ $238 = $237 >>> 0;
+ $239 = $238&255;
+ $240 = $239&255;
+ if (!($236)) {
+ break;
+ }
+ $241 = (4580 + ($240<<2)|0);
+ $242 = HEAP32[$241>>2]|0;
+ $243 = (_rol($242,0)|0);
+ HEAP32[$sb>>2] = $243;
+ $244 = HEAP32[$sa>>2]|0;
+ $245 = $244 >>> 8;
+ $246 = $245&255;
+ $247 = $246&255;
+ $248 = (4580 + ($247<<2)|0);
+ $249 = HEAP32[$248>>2]|0;
+ $250 = (_rol($249,8)|0);
+ $251 = ((($sb)) + 12|0);
+ HEAP32[$251>>2] = $250;
+ $252 = HEAP32[$sa>>2]|0;
+ $253 = $252 >>> 16;
+ $254 = $253&255;
+ $255 = $254&255;
+ $256 = (4580 + ($255<<2)|0);
+ $257 = HEAP32[$256>>2]|0;
+ $258 = (_rol($257,16)|0);
+ $259 = ((($sb)) + 8|0);
+ HEAP32[$259>>2] = $258;
+ $260 = HEAP32[$sa>>2]|0;
+ $261 = $260 >>> 24;
+ $262 = $261&255;
+ $263 = $262&255;
+ $264 = (4580 + ($263<<2)|0);
+ $265 = HEAP32[$264>>2]|0;
+ $266 = (_rol($265,24)|0);
+ $267 = ((($sb)) + 4|0);
+ HEAP32[$267>>2] = $266;
+ $268 = $r;
+ $269 = $0;
+ $270 = (($269) + ($268<<4)|0);
+ $271 = HEAP32[$270>>2]|0;
+ $272 = HEAP32[$sb>>2]|0;
+ $273 = $271 ^ $272;
+ HEAP32[$sa>>2] = $273;
+ $274 = ((($sa)) + 4|0);
+ $275 = HEAP32[$274>>2]|0;
+ $276 = $275 >>> 0;
+ $277 = $276&255;
+ $278 = $277&255;
+ $279 = (4580 + ($278<<2)|0);
+ $280 = HEAP32[$279>>2]|0;
+ $281 = (_rol($280,0)|0);
+ $282 = ((($sb)) + 4|0);
+ $283 = HEAP32[$282>>2]|0;
+ $284 = $283 ^ $281;
+ HEAP32[$282>>2] = $284;
+ $285 = ((($sa)) + 4|0);
+ $286 = HEAP32[$285>>2]|0;
+ $287 = $286 >>> 8;
+ $288 = $287&255;
+ $289 = $288&255;
+ $290 = (4580 + ($289<<2)|0);
+ $291 = HEAP32[$290>>2]|0;
+ $292 = (_rol($291,8)|0);
+ $293 = HEAP32[$sa>>2]|0;
+ $294 = $293 ^ $292;
+ HEAP32[$sa>>2] = $294;
+ $295 = ((($sa)) + 4|0);
+ $296 = HEAP32[$295>>2]|0;
+ $297 = $296 >>> 16;
+ $298 = $297&255;
+ $299 = $298&255;
+ $300 = (4580 + ($299<<2)|0);
+ $301 = HEAP32[$300>>2]|0;
+ $302 = (_rol($301,16)|0);
+ $303 = ((($sb)) + 12|0);
+ $304 = HEAP32[$303>>2]|0;
+ $305 = $304 ^ $302;
+ HEAP32[$303>>2] = $305;
+ $306 = ((($sa)) + 4|0);
+ $307 = HEAP32[$306>>2]|0;
+ $308 = $307 >>> 24;
+ $309 = $308&255;
+ $310 = $309&255;
+ $311 = (4580 + ($310<<2)|0);
+ $312 = HEAP32[$311>>2]|0;
+ $313 = (_rol($312,24)|0);
+ $314 = ((($sb)) + 8|0);
+ $315 = HEAP32[$314>>2]|0;
+ $316 = $315 ^ $313;
+ HEAP32[$314>>2] = $316;
+ $317 = $r;
+ $318 = $0;
+ $319 = (($318) + ($317<<4)|0);
+ $320 = ((($319)) + 4|0);
+ $321 = HEAP32[$320>>2]|0;
+ $322 = ((($sb)) + 4|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = $321 ^ $323;
+ $325 = ((($sa)) + 4|0);
+ HEAP32[$325>>2] = $324;
+ $326 = ((($sa)) + 8|0);
+ $327 = HEAP32[$326>>2]|0;
+ $328 = $327 >>> 0;
+ $329 = $328&255;
+ $330 = $329&255;
+ $331 = (4580 + ($330<<2)|0);
+ $332 = HEAP32[$331>>2]|0;
+ $333 = (_rol($332,0)|0);
+ $334 = ((($sb)) + 8|0);
+ $335 = HEAP32[$334>>2]|0;
+ $336 = $335 ^ $333;
+ HEAP32[$334>>2] = $336;
+ $337 = ((($sa)) + 8|0);
+ $338 = HEAP32[$337>>2]|0;
+ $339 = $338 >>> 8;
+ $340 = $339&255;
+ $341 = $340&255;
+ $342 = (4580 + ($341<<2)|0);
+ $343 = HEAP32[$342>>2]|0;
+ $344 = (_rol($343,8)|0);
+ $345 = ((($sa)) + 4|0);
+ $346 = HEAP32[$345>>2]|0;
+ $347 = $346 ^ $344;
+ HEAP32[$345>>2] = $347;
+ $348 = ((($sa)) + 8|0);
+ $349 = HEAP32[$348>>2]|0;
+ $350 = $349 >>> 16;
+ $351 = $350&255;
+ $352 = $351&255;
+ $353 = (4580 + ($352<<2)|0);
+ $354 = HEAP32[$353>>2]|0;
+ $355 = (_rol($354,16)|0);
+ $356 = HEAP32[$sa>>2]|0;
+ $357 = $356 ^ $355;
+ HEAP32[$sa>>2] = $357;
+ $358 = ((($sa)) + 8|0);
+ $359 = HEAP32[$358>>2]|0;
+ $360 = $359 >>> 24;
+ $361 = $360&255;
+ $362 = $361&255;
+ $363 = (4580 + ($362<<2)|0);
+ $364 = HEAP32[$363>>2]|0;
+ $365 = (_rol($364,24)|0);
+ $366 = ((($sb)) + 12|0);
+ $367 = HEAP32[$366>>2]|0;
+ $368 = $367 ^ $365;
+ HEAP32[$366>>2] = $368;
+ $369 = $r;
+ $370 = $0;
+ $371 = (($370) + ($369<<4)|0);
+ $372 = ((($371)) + 8|0);
+ $373 = HEAP32[$372>>2]|0;
+ $374 = ((($sb)) + 8|0);
+ $375 = HEAP32[$374>>2]|0;
+ $376 = $373 ^ $375;
+ $377 = ((($sa)) + 8|0);
+ HEAP32[$377>>2] = $376;
+ $378 = ((($sa)) + 12|0);
+ $379 = HEAP32[$378>>2]|0;
+ $380 = $379 >>> 0;
+ $381 = $380&255;
+ $382 = $381&255;
+ $383 = (4580 + ($382<<2)|0);
+ $384 = HEAP32[$383>>2]|0;
+ $385 = (_rol($384,0)|0);
+ $386 = ((($sb)) + 12|0);
+ $387 = HEAP32[$386>>2]|0;
+ $388 = $387 ^ $385;
+ HEAP32[$386>>2] = $388;
+ $389 = ((($sa)) + 12|0);
+ $390 = HEAP32[$389>>2]|0;
+ $391 = $390 >>> 8;
+ $392 = $391&255;
+ $393 = $392&255;
+ $394 = (4580 + ($393<<2)|0);
+ $395 = HEAP32[$394>>2]|0;
+ $396 = (_rol($395,8)|0);
+ $397 = ((($sa)) + 8|0);
+ $398 = HEAP32[$397>>2]|0;
+ $399 = $398 ^ $396;
+ HEAP32[$397>>2] = $399;
+ $400 = ((($sa)) + 12|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = $401 >>> 16;
+ $403 = $402&255;
+ $404 = $403&255;
+ $405 = (4580 + ($404<<2)|0);
+ $406 = HEAP32[$405>>2]|0;
+ $407 = (_rol($406,16)|0);
+ $408 = ((($sa)) + 4|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = $409 ^ $407;
+ HEAP32[$408>>2] = $410;
+ $411 = ((($sa)) + 12|0);
+ $412 = HEAP32[$411>>2]|0;
+ $413 = $412 >>> 24;
+ $414 = $413&255;
+ $415 = $414&255;
+ $416 = (4580 + ($415<<2)|0);
+ $417 = HEAP32[$416>>2]|0;
+ $418 = (_rol($417,24)|0);
+ $419 = HEAP32[$sa>>2]|0;
+ $420 = $419 ^ $418;
+ HEAP32[$sa>>2] = $420;
+ $421 = $r;
+ $422 = $0;
+ $423 = (($422) + ($421<<4)|0);
+ $424 = ((($423)) + 12|0);
+ $425 = HEAP32[$424>>2]|0;
+ $426 = ((($sb)) + 12|0);
+ $427 = HEAP32[$426>>2]|0;
+ $428 = $425 ^ $427;
+ $429 = ((($sa)) + 12|0);
+ HEAP32[$429>>2] = $428;
+ $430 = $r;
+ $431 = (($430) + 1)|0;
+ $r = $431;
+ $432 = HEAP32[$sa>>2]|0;
+ $433 = $432 >>> 0;
+ $434 = $433&255;
+ $435 = $434&255;
+ $436 = (4580 + ($435<<2)|0);
+ $437 = HEAP32[$436>>2]|0;
+ $438 = (_rol($437,0)|0);
+ HEAP32[$sb>>2] = $438;
+ $439 = HEAP32[$sa>>2]|0;
+ $440 = $439 >>> 8;
+ $441 = $440&255;
+ $442 = $441&255;
+ $443 = (4580 + ($442<<2)|0);
+ $444 = HEAP32[$443>>2]|0;
+ $445 = (_rol($444,8)|0);
+ $446 = ((($sb)) + 12|0);
+ HEAP32[$446>>2] = $445;
+ $447 = HEAP32[$sa>>2]|0;
+ $448 = $447 >>> 16;
+ $449 = $448&255;
+ $450 = $449&255;
+ $451 = (4580 + ($450<<2)|0);
+ $452 = HEAP32[$451>>2]|0;
+ $453 = (_rol($452,16)|0);
+ $454 = ((($sb)) + 8|0);
+ HEAP32[$454>>2] = $453;
+ $455 = HEAP32[$sa>>2]|0;
+ $456 = $455 >>> 24;
+ $457 = $456&255;
+ $458 = $457&255;
+ $459 = (4580 + ($458<<2)|0);
+ $460 = HEAP32[$459>>2]|0;
+ $461 = (_rol($460,24)|0);
+ $462 = ((($sb)) + 4|0);
+ HEAP32[$462>>2] = $461;
+ $463 = $r;
+ $464 = $0;
+ $465 = (($464) + ($463<<4)|0);
+ $466 = HEAP32[$465>>2]|0;
+ $467 = HEAP32[$sb>>2]|0;
+ $468 = $466 ^ $467;
+ HEAP32[$sa>>2] = $468;
+ $469 = ((($sa)) + 4|0);
+ $470 = HEAP32[$469>>2]|0;
+ $471 = $470 >>> 0;
+ $472 = $471&255;
+ $473 = $472&255;
+ $474 = (4580 + ($473<<2)|0);
+ $475 = HEAP32[$474>>2]|0;
+ $476 = (_rol($475,0)|0);
+ $477 = ((($sb)) + 4|0);
+ $478 = HEAP32[$477>>2]|0;
+ $479 = $478 ^ $476;
+ HEAP32[$477>>2] = $479;
+ $480 = ((($sa)) + 4|0);
+ $481 = HEAP32[$480>>2]|0;
+ $482 = $481 >>> 8;
+ $483 = $482&255;
+ $484 = $483&255;
+ $485 = (4580 + ($484<<2)|0);
+ $486 = HEAP32[$485>>2]|0;
+ $487 = (_rol($486,8)|0);
+ $488 = HEAP32[$sa>>2]|0;
+ $489 = $488 ^ $487;
+ HEAP32[$sa>>2] = $489;
+ $490 = ((($sa)) + 4|0);
+ $491 = HEAP32[$490>>2]|0;
+ $492 = $491 >>> 16;
+ $493 = $492&255;
+ $494 = $493&255;
+ $495 = (4580 + ($494<<2)|0);
+ $496 = HEAP32[$495>>2]|0;
+ $497 = (_rol($496,16)|0);
+ $498 = ((($sb)) + 12|0);
+ $499 = HEAP32[$498>>2]|0;
+ $500 = $499 ^ $497;
+ HEAP32[$498>>2] = $500;
+ $501 = ((($sa)) + 4|0);
+ $502 = HEAP32[$501>>2]|0;
+ $503 = $502 >>> 24;
+ $504 = $503&255;
+ $505 = $504&255;
+ $506 = (4580 + ($505<<2)|0);
+ $507 = HEAP32[$506>>2]|0;
+ $508 = (_rol($507,24)|0);
+ $509 = ((($sb)) + 8|0);
+ $510 = HEAP32[$509>>2]|0;
+ $511 = $510 ^ $508;
+ HEAP32[$509>>2] = $511;
+ $512 = $r;
+ $513 = $0;
+ $514 = (($513) + ($512<<4)|0);
+ $515 = ((($514)) + 4|0);
+ $516 = HEAP32[$515>>2]|0;
+ $517 = ((($sb)) + 4|0);
+ $518 = HEAP32[$517>>2]|0;
+ $519 = $516 ^ $518;
+ $520 = ((($sa)) + 4|0);
+ HEAP32[$520>>2] = $519;
+ $521 = ((($sa)) + 8|0);
+ $522 = HEAP32[$521>>2]|0;
+ $523 = $522 >>> 0;
+ $524 = $523&255;
+ $525 = $524&255;
+ $526 = (4580 + ($525<<2)|0);
+ $527 = HEAP32[$526>>2]|0;
+ $528 = (_rol($527,0)|0);
+ $529 = ((($sb)) + 8|0);
+ $530 = HEAP32[$529>>2]|0;
+ $531 = $530 ^ $528;
+ HEAP32[$529>>2] = $531;
+ $532 = ((($sa)) + 8|0);
+ $533 = HEAP32[$532>>2]|0;
+ $534 = $533 >>> 8;
+ $535 = $534&255;
+ $536 = $535&255;
+ $537 = (4580 + ($536<<2)|0);
+ $538 = HEAP32[$537>>2]|0;
+ $539 = (_rol($538,8)|0);
+ $540 = ((($sa)) + 4|0);
+ $541 = HEAP32[$540>>2]|0;
+ $542 = $541 ^ $539;
+ HEAP32[$540>>2] = $542;
+ $543 = ((($sa)) + 8|0);
+ $544 = HEAP32[$543>>2]|0;
+ $545 = $544 >>> 16;
+ $546 = $545&255;
+ $547 = $546&255;
+ $548 = (4580 + ($547<<2)|0);
+ $549 = HEAP32[$548>>2]|0;
+ $550 = (_rol($549,16)|0);
+ $551 = HEAP32[$sa>>2]|0;
+ $552 = $551 ^ $550;
+ HEAP32[$sa>>2] = $552;
+ $553 = ((($sa)) + 8|0);
+ $554 = HEAP32[$553>>2]|0;
+ $555 = $554 >>> 24;
+ $556 = $555&255;
+ $557 = $556&255;
+ $558 = (4580 + ($557<<2)|0);
+ $559 = HEAP32[$558>>2]|0;
+ $560 = (_rol($559,24)|0);
+ $561 = ((($sb)) + 12|0);
+ $562 = HEAP32[$561>>2]|0;
+ $563 = $562 ^ $560;
+ HEAP32[$561>>2] = $563;
+ $564 = $r;
+ $565 = $0;
+ $566 = (($565) + ($564<<4)|0);
+ $567 = ((($566)) + 8|0);
+ $568 = HEAP32[$567>>2]|0;
+ $569 = ((($sb)) + 8|0);
+ $570 = HEAP32[$569>>2]|0;
+ $571 = $568 ^ $570;
+ $572 = ((($sa)) + 8|0);
+ HEAP32[$572>>2] = $571;
+ $573 = ((($sa)) + 12|0);
+ $574 = HEAP32[$573>>2]|0;
+ $575 = $574 >>> 0;
+ $576 = $575&255;
+ $577 = $576&255;
+ $578 = (4580 + ($577<<2)|0);
+ $579 = HEAP32[$578>>2]|0;
+ $580 = (_rol($579,0)|0);
+ $581 = ((($sb)) + 12|0);
+ $582 = HEAP32[$581>>2]|0;
+ $583 = $582 ^ $580;
+ HEAP32[$581>>2] = $583;
+ $584 = ((($sa)) + 12|0);
+ $585 = HEAP32[$584>>2]|0;
+ $586 = $585 >>> 8;
+ $587 = $586&255;
+ $588 = $587&255;
+ $589 = (4580 + ($588<<2)|0);
+ $590 = HEAP32[$589>>2]|0;
+ $591 = (_rol($590,8)|0);
+ $592 = ((($sa)) + 8|0);
+ $593 = HEAP32[$592>>2]|0;
+ $594 = $593 ^ $591;
+ HEAP32[$592>>2] = $594;
+ $595 = ((($sa)) + 12|0);
+ $596 = HEAP32[$595>>2]|0;
+ $597 = $596 >>> 16;
+ $598 = $597&255;
+ $599 = $598&255;
+ $600 = (4580 + ($599<<2)|0);
+ $601 = HEAP32[$600>>2]|0;
+ $602 = (_rol($601,16)|0);
+ $603 = ((($sa)) + 4|0);
+ $604 = HEAP32[$603>>2]|0;
+ $605 = $604 ^ $602;
+ HEAP32[$603>>2] = $605;
+ $606 = ((($sa)) + 12|0);
+ $607 = HEAP32[$606>>2]|0;
+ $608 = $607 >>> 24;
+ $609 = $608&255;
+ $610 = $609&255;
+ $611 = (4580 + ($610<<2)|0);
+ $612 = HEAP32[$611>>2]|0;
+ $613 = (_rol($612,24)|0);
+ $614 = HEAP32[$sa>>2]|0;
+ $615 = $614 ^ $613;
+ HEAP32[$sa>>2] = $615;
+ $616 = $r;
+ $617 = $0;
+ $618 = (($617) + ($616<<4)|0);
+ $619 = ((($618)) + 12|0);
+ $620 = HEAP32[$619>>2]|0;
+ $621 = ((($sb)) + 12|0);
+ $622 = HEAP32[$621>>2]|0;
+ $623 = $620 ^ $622;
+ $624 = ((($sa)) + 12|0);
+ HEAP32[$624>>2] = $623;
+ $625 = $r;
+ $626 = (($625) + 1)|0;
+ $r = $626;
+ }
+ $627 = $240<<2;
+ $628 = $sbox;
+ $629 = (($628) + ($627)|0);
+ $630 = HEAP8[$629>>0]|0;
+ $631 = $630&255;
+ $632 = $631 << 0;
+ HEAP32[$sb>>2] = $632;
+ $633 = HEAP32[$sa>>2]|0;
+ $634 = $633 >>> 8;
+ $635 = $634&255;
+ $636 = $635&255;
+ $637 = $636<<2;
+ $638 = $sbox;
+ $639 = (($638) + ($637)|0);
+ $640 = HEAP8[$639>>0]|0;
+ $641 = $640&255;
+ $642 = $641 << 8;
+ $643 = ((($sb)) + 12|0);
+ HEAP32[$643>>2] = $642;
+ $644 = HEAP32[$sa>>2]|0;
+ $645 = $644 >>> 16;
+ $646 = $645&255;
+ $647 = $646&255;
+ $648 = $647<<2;
+ $649 = $sbox;
+ $650 = (($649) + ($648)|0);
+ $651 = HEAP8[$650>>0]|0;
+ $652 = $651&255;
+ $653 = $652 << 16;
+ $654 = ((($sb)) + 8|0);
+ HEAP32[$654>>2] = $653;
+ $655 = HEAP32[$sa>>2]|0;
+ $656 = $655 >>> 24;
+ $657 = $656&255;
+ $658 = $657&255;
+ $659 = $658<<2;
+ $660 = $sbox;
+ $661 = (($660) + ($659)|0);
+ $662 = HEAP8[$661>>0]|0;
+ $663 = $662&255;
+ $664 = $663 << 24;
+ $665 = ((($sb)) + 4|0);
+ HEAP32[$665>>2] = $664;
+ $666 = $r;
+ $667 = $0;
+ $668 = (($667) + ($666<<4)|0);
+ $669 = HEAP32[$668>>2]|0;
+ $670 = HEAP32[$sb>>2]|0;
+ $671 = $669 ^ $670;
+ HEAP32[$sa>>2] = $671;
+ $672 = ((($sa)) + 4|0);
+ $673 = HEAP32[$672>>2]|0;
+ $674 = $673 >>> 0;
+ $675 = $674&255;
+ $676 = $675&255;
+ $677 = $676<<2;
+ $678 = $sbox;
+ $679 = (($678) + ($677)|0);
+ $680 = HEAP8[$679>>0]|0;
+ $681 = $680&255;
+ $682 = $681 << 0;
+ $683 = ((($sb)) + 4|0);
+ $684 = HEAP32[$683>>2]|0;
+ $685 = $684 ^ $682;
+ HEAP32[$683>>2] = $685;
+ $686 = ((($sa)) + 4|0);
+ $687 = HEAP32[$686>>2]|0;
+ $688 = $687 >>> 8;
+ $689 = $688&255;
+ $690 = $689&255;
+ $691 = $690<<2;
+ $692 = $sbox;
+ $693 = (($692) + ($691)|0);
+ $694 = HEAP8[$693>>0]|0;
+ $695 = $694&255;
+ $696 = $695 << 8;
+ $697 = HEAP32[$sa>>2]|0;
+ $698 = $697 ^ $696;
+ HEAP32[$sa>>2] = $698;
+ $699 = ((($sa)) + 4|0);
+ $700 = HEAP32[$699>>2]|0;
+ $701 = $700 >>> 16;
+ $702 = $701&255;
+ $703 = $702&255;
+ $704 = $703<<2;
+ $705 = $sbox;
+ $706 = (($705) + ($704)|0);
+ $707 = HEAP8[$706>>0]|0;
+ $708 = $707&255;
+ $709 = $708 << 16;
+ $710 = ((($sb)) + 12|0);
+ $711 = HEAP32[$710>>2]|0;
+ $712 = $711 ^ $709;
+ HEAP32[$710>>2] = $712;
+ $713 = ((($sa)) + 4|0);
+ $714 = HEAP32[$713>>2]|0;
+ $715 = $714 >>> 24;
+ $716 = $715&255;
+ $717 = $716&255;
+ $718 = $717<<2;
+ $719 = $sbox;
+ $720 = (($719) + ($718)|0);
+ $721 = HEAP8[$720>>0]|0;
+ $722 = $721&255;
+ $723 = $722 << 24;
+ $724 = ((($sb)) + 8|0);
+ $725 = HEAP32[$724>>2]|0;
+ $726 = $725 ^ $723;
+ HEAP32[$724>>2] = $726;
+ $727 = $r;
+ $728 = $0;
+ $729 = (($728) + ($727<<4)|0);
+ $730 = ((($729)) + 4|0);
+ $731 = HEAP32[$730>>2]|0;
+ $732 = ((($sb)) + 4|0);
+ $733 = HEAP32[$732>>2]|0;
+ $734 = $731 ^ $733;
+ $735 = ((($sa)) + 4|0);
+ HEAP32[$735>>2] = $734;
+ $736 = ((($sa)) + 8|0);
+ $737 = HEAP32[$736>>2]|0;
+ $738 = $737 >>> 0;
+ $739 = $738&255;
+ $740 = $739&255;
+ $741 = $740<<2;
+ $742 = $sbox;
+ $743 = (($742) + ($741)|0);
+ $744 = HEAP8[$743>>0]|0;
+ $745 = $744&255;
+ $746 = $745 << 0;
+ $747 = ((($sb)) + 8|0);
+ $748 = HEAP32[$747>>2]|0;
+ $749 = $748 ^ $746;
+ HEAP32[$747>>2] = $749;
+ $750 = ((($sa)) + 8|0);
+ $751 = HEAP32[$750>>2]|0;
+ $752 = $751 >>> 8;
+ $753 = $752&255;
+ $754 = $753&255;
+ $755 = $754<<2;
+ $756 = $sbox;
+ $757 = (($756) + ($755)|0);
+ $758 = HEAP8[$757>>0]|0;
+ $759 = $758&255;
+ $760 = $759 << 8;
+ $761 = ((($sa)) + 4|0);
+ $762 = HEAP32[$761>>2]|0;
+ $763 = $762 ^ $760;
+ HEAP32[$761>>2] = $763;
+ $764 = ((($sa)) + 8|0);
+ $765 = HEAP32[$764>>2]|0;
+ $766 = $765 >>> 16;
+ $767 = $766&255;
+ $768 = $767&255;
+ $769 = $768<<2;
+ $770 = $sbox;
+ $771 = (($770) + ($769)|0);
+ $772 = HEAP8[$771>>0]|0;
+ $773 = $772&255;
+ $774 = $773 << 16;
+ $775 = HEAP32[$sa>>2]|0;
+ $776 = $775 ^ $774;
+ HEAP32[$sa>>2] = $776;
+ $777 = ((($sa)) + 8|0);
+ $778 = HEAP32[$777>>2]|0;
+ $779 = $778 >>> 24;
+ $780 = $779&255;
+ $781 = $780&255;
+ $782 = $781<<2;
+ $783 = $sbox;
+ $784 = (($783) + ($782)|0);
+ $785 = HEAP8[$784>>0]|0;
+ $786 = $785&255;
+ $787 = $786 << 24;
+ $788 = ((($sb)) + 12|0);
+ $789 = HEAP32[$788>>2]|0;
+ $790 = $789 ^ $787;
+ HEAP32[$788>>2] = $790;
+ $791 = $r;
+ $792 = $0;
+ $793 = (($792) + ($791<<4)|0);
+ $794 = ((($793)) + 8|0);
+ $795 = HEAP32[$794>>2]|0;
+ $796 = ((($sb)) + 8|0);
+ $797 = HEAP32[$796>>2]|0;
+ $798 = $795 ^ $797;
+ $799 = ((($sa)) + 8|0);
+ HEAP32[$799>>2] = $798;
+ $800 = ((($sa)) + 12|0);
+ $801 = HEAP32[$800>>2]|0;
+ $802 = $801 >>> 0;
+ $803 = $802&255;
+ $804 = $803&255;
+ $805 = $804<<2;
+ $806 = $sbox;
+ $807 = (($806) + ($805)|0);
+ $808 = HEAP8[$807>>0]|0;
+ $809 = $808&255;
+ $810 = $809 << 0;
+ $811 = ((($sb)) + 12|0);
+ $812 = HEAP32[$811>>2]|0;
+ $813 = $812 ^ $810;
+ HEAP32[$811>>2] = $813;
+ $814 = ((($sa)) + 12|0);
+ $815 = HEAP32[$814>>2]|0;
+ $816 = $815 >>> 8;
+ $817 = $816&255;
+ $818 = $817&255;
+ $819 = $818<<2;
+ $820 = $sbox;
+ $821 = (($820) + ($819)|0);
+ $822 = HEAP8[$821>>0]|0;
+ $823 = $822&255;
+ $824 = $823 << 8;
+ $825 = ((($sa)) + 8|0);
+ $826 = HEAP32[$825>>2]|0;
+ $827 = $826 ^ $824;
+ HEAP32[$825>>2] = $827;
+ $828 = ((($sa)) + 12|0);
+ $829 = HEAP32[$828>>2]|0;
+ $830 = $829 >>> 16;
+ $831 = $830&255;
+ $832 = $831&255;
+ $833 = $832<<2;
+ $834 = $sbox;
+ $835 = (($834) + ($833)|0);
+ $836 = HEAP8[$835>>0]|0;
+ $837 = $836&255;
+ $838 = $837 << 16;
+ $839 = ((($sa)) + 4|0);
+ $840 = HEAP32[$839>>2]|0;
+ $841 = $840 ^ $838;
+ HEAP32[$839>>2] = $841;
+ $842 = ((($sa)) + 12|0);
+ $843 = HEAP32[$842>>2]|0;
+ $844 = $843 >>> 24;
+ $845 = $844&255;
+ $846 = $845&255;
+ $847 = $846<<2;
+ $848 = $sbox;
+ $849 = (($848) + ($847)|0);
+ $850 = HEAP8[$849>>0]|0;
+ $851 = $850&255;
+ $852 = $851 << 24;
+ $853 = HEAP32[$sa>>2]|0;
+ $854 = $853 ^ $852;
+ HEAP32[$sa>>2] = $854;
+ $855 = $r;
+ $856 = $0;
+ $857 = (($856) + ($855<<4)|0);
+ $858 = ((($857)) + 12|0);
+ $859 = HEAP32[$858>>2]|0;
+ $860 = ((($sb)) + 12|0);
+ $861 = HEAP32[$860>>2]|0;
+ $862 = $859 ^ $861;
+ $863 = ((($sa)) + 12|0);
+ HEAP32[$863>>2] = $862;
+ $864 = $1;
+ $865 = HEAP32[$sa>>2]|0;
+ _buf_put_le32($864,$865);
+ $866 = $1;
+ $867 = ((($866)) + 4|0);
+ $868 = ((($sa)) + 4|0);
+ $869 = HEAP32[$868>>2]|0;
+ _buf_put_le32($867,$869);
+ $870 = $1;
+ $871 = ((($870)) + 8|0);
+ $872 = ((($sa)) + 8|0);
+ $873 = HEAP32[$872>>2]|0;
+ _buf_put_le32($871,$873);
+ $874 = $1;
+ $875 = ((($874)) + 12|0);
+ $876 = ((($sa)) + 12|0);
+ $877 = HEAP32[$876>>2]|0;
+ _buf_put_le32($875,$877);
+ STACKTOP = sp;return 64;
+}
+function _buf_get_le32($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = ((($2)) + 3|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 24;
+ $7 = $in;
+ $8 = ((($7)) + 2|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = $10 << 16;
+ $12 = $6 | $11;
+ $13 = $in;
+ $14 = ((($13)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $16 << 8;
+ $18 = $12 | $17;
+ $19 = $in;
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $18 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _buf_put_le32($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ $7 = ((($6)) + 3|0);
+ HEAP8[$7>>0] = $5;
+ $8 = $1;
+ $9 = $8 >>> 16;
+ $10 = $9&255;
+ $11 = $out;
+ $12 = ((($11)) + 2|0);
+ HEAP8[$12>>0] = $10;
+ $13 = $1;
+ $14 = $13 >>> 8;
+ $15 = $14&255;
+ $16 = $out;
+ $17 = ((($16)) + 1|0);
+ HEAP8[$17>>0] = $15;
+ $18 = $1;
+ $19 = $18&255;
+ $20 = $out;
+ HEAP8[$20>>0] = $19;
+ STACKTOP = sp;return;
+}
+function _do_decrypt($ctx,$bx,$ax) {
+ $ctx = $ctx|0;
+ $bx = $bx|0;
+ $ax = $ax|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $bx;
+ $2 = $ax;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = (_do_decrypt_fn($3,$4,$5)|0);
+ STACKTOP = sp;return ($6|0);
+}
+function _do_decrypt_fn($ctx,$b,$a) {
+ $ctx = $ctx|0;
+ $b = $b|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
+ var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
+ var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
+ var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
+ var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
+ var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
+ var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
+ var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
+ var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
+ var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
+ var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0;
+ var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0;
+ var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0;
+ var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0;
+ var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0;
+ var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0;
+ var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0;
+ var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0;
+ var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0;
+ var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0;
+ var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0;
+ var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0;
+ var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0;
+ var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0;
+ var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $r = 0, $rounds = 0, $sa = 0, $sb = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $sa = sp + 16|0;
+ $sb = sp;
+ $0 = $ctx;
+ $1 = $b;
+ $2 = $a;
+ $3 = $0;
+ $4 = ((($3)) + 480|0);
+ $5 = HEAP32[$4>>2]|0;
+ $rounds = $5;
+ $6 = $2;
+ $7 = (_buf_get_le32($6)|0);
+ HEAP32[$sb>>2] = $7;
+ $8 = $2;
+ $9 = ((($8)) + 4|0);
+ $10 = (_buf_get_le32($9)|0);
+ $11 = ((($sb)) + 4|0);
+ HEAP32[$11>>2] = $10;
+ $12 = $2;
+ $13 = ((($12)) + 8|0);
+ $14 = (_buf_get_le32($13)|0);
+ $15 = ((($sb)) + 8|0);
+ HEAP32[$15>>2] = $14;
+ $16 = $2;
+ $17 = ((($16)) + 12|0);
+ $18 = (_buf_get_le32($17)|0);
+ $19 = ((($sb)) + 12|0);
+ HEAP32[$19>>2] = $18;
+ $20 = HEAP32[$sb>>2]|0;
+ $21 = $rounds;
+ $22 = $0;
+ $23 = ((($22)) + 240|0);
+ $24 = (($23) + ($21<<4)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $20 ^ $25;
+ HEAP32[$sa>>2] = $26;
+ $27 = ((($sb)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $rounds;
+ $30 = $0;
+ $31 = ((($30)) + 240|0);
+ $32 = (($31) + ($29<<4)|0);
+ $33 = ((($32)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $28 ^ $34;
+ $36 = ((($sa)) + 4|0);
+ HEAP32[$36>>2] = $35;
+ $37 = ((($sb)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $rounds;
+ $40 = $0;
+ $41 = ((($40)) + 240|0);
+ $42 = (($41) + ($39<<4)|0);
+ $43 = ((($42)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $38 ^ $44;
+ $46 = ((($sa)) + 8|0);
+ HEAP32[$46>>2] = $45;
+ $47 = ((($sb)) + 12|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $rounds;
+ $50 = $0;
+ $51 = ((($50)) + 240|0);
+ $52 = (($51) + ($49<<4)|0);
+ $53 = ((($52)) + 12|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $48 ^ $54;
+ $56 = ((($sa)) + 12|0);
+ HEAP32[$56>>2] = $55;
+ $57 = $rounds;
+ $58 = (($57) - 1)|0;
+ $r = $58;
+ while(1) {
+ $59 = $r;
+ $60 = ($59|0)>(1);
+ $61 = HEAP32[$sa>>2]|0;
+ $62 = $61 >>> 0;
+ $63 = $62&255;
+ $64 = $63&255;
+ $65 = (5604 + ($64<<2)|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = (_rol($66,0)|0);
+ HEAP32[$sb>>2] = $67;
+ $68 = HEAP32[$sa>>2]|0;
+ $69 = $68 >>> 8;
+ $70 = $69&255;
+ $71 = $70&255;
+ $72 = (5604 + ($71<<2)|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (_rol($73,8)|0);
+ $75 = ((($sb)) + 4|0);
+ HEAP32[$75>>2] = $74;
+ $76 = HEAP32[$sa>>2]|0;
+ $77 = $76 >>> 16;
+ $78 = $77&255;
+ $79 = $78&255;
+ $80 = (5604 + ($79<<2)|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = (_rol($81,16)|0);
+ $83 = ((($sb)) + 8|0);
+ HEAP32[$83>>2] = $82;
+ $84 = HEAP32[$sa>>2]|0;
+ $85 = $84 >>> 24;
+ $86 = $85&255;
+ $87 = $86&255;
+ $88 = (5604 + ($87<<2)|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (_rol($89,24)|0);
+ $91 = ((($sb)) + 12|0);
+ HEAP32[$91>>2] = $90;
+ if (!($60)) {
+ break;
+ }
+ $92 = $r;
+ $93 = $0;
+ $94 = ((($93)) + 240|0);
+ $95 = (($94) + ($92<<4)|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = HEAP32[$sb>>2]|0;
+ $98 = $96 ^ $97;
+ HEAP32[$sa>>2] = $98;
+ $99 = ((($sa)) + 4|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = $100 >>> 0;
+ $102 = $101&255;
+ $103 = $102&255;
+ $104 = (5604 + ($103<<2)|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (_rol($105,0)|0);
+ $107 = ((($sb)) + 4|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = $108 ^ $106;
+ HEAP32[$107>>2] = $109;
+ $110 = ((($sa)) + 4|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = $111 >>> 8;
+ $113 = $112&255;
+ $114 = $113&255;
+ $115 = (5604 + ($114<<2)|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = (_rol($116,8)|0);
+ $118 = ((($sb)) + 8|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = $119 ^ $117;
+ HEAP32[$118>>2] = $120;
+ $121 = ((($sa)) + 4|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = $122 >>> 16;
+ $124 = $123&255;
+ $125 = $124&255;
+ $126 = (5604 + ($125<<2)|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = (_rol($127,16)|0);
+ $129 = ((($sb)) + 12|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = $130 ^ $128;
+ HEAP32[$129>>2] = $131;
+ $132 = ((($sa)) + 4|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = $133 >>> 24;
+ $135 = $134&255;
+ $136 = $135&255;
+ $137 = (5604 + ($136<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (_rol($138,24)|0);
+ $140 = HEAP32[$sa>>2]|0;
+ $141 = $140 ^ $139;
+ HEAP32[$sa>>2] = $141;
+ $142 = $r;
+ $143 = $0;
+ $144 = ((($143)) + 240|0);
+ $145 = (($144) + ($142<<4)|0);
+ $146 = ((($145)) + 4|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = ((($sb)) + 4|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = $147 ^ $149;
+ $151 = ((($sa)) + 4|0);
+ HEAP32[$151>>2] = $150;
+ $152 = ((($sa)) + 8|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $153 >>> 0;
+ $155 = $154&255;
+ $156 = $155&255;
+ $157 = (5604 + ($156<<2)|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = (_rol($158,0)|0);
+ $160 = ((($sb)) + 8|0);
+ $161 = HEAP32[$160>>2]|0;
+ $162 = $161 ^ $159;
+ HEAP32[$160>>2] = $162;
+ $163 = ((($sa)) + 8|0);
+ $164 = HEAP32[$163>>2]|0;
+ $165 = $164 >>> 8;
+ $166 = $165&255;
+ $167 = $166&255;
+ $168 = (5604 + ($167<<2)|0);
+ $169 = HEAP32[$168>>2]|0;
+ $170 = (_rol($169,8)|0);
+ $171 = ((($sb)) + 12|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = $172 ^ $170;
+ HEAP32[$171>>2] = $173;
+ $174 = ((($sa)) + 8|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = $175 >>> 16;
+ $177 = $176&255;
+ $178 = $177&255;
+ $179 = (5604 + ($178<<2)|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = (_rol($180,16)|0);
+ $182 = HEAP32[$sa>>2]|0;
+ $183 = $182 ^ $181;
+ HEAP32[$sa>>2] = $183;
+ $184 = ((($sa)) + 8|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = $185 >>> 24;
+ $187 = $186&255;
+ $188 = $187&255;
+ $189 = (5604 + ($188<<2)|0);
+ $190 = HEAP32[$189>>2]|0;
+ $191 = (_rol($190,24)|0);
+ $192 = ((($sa)) + 4|0);
+ $193 = HEAP32[$192>>2]|0;
+ $194 = $193 ^ $191;
+ HEAP32[$192>>2] = $194;
+ $195 = $r;
+ $196 = $0;
+ $197 = ((($196)) + 240|0);
+ $198 = (($197) + ($195<<4)|0);
+ $199 = ((($198)) + 8|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = ((($sb)) + 8|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = $200 ^ $202;
+ $204 = ((($sa)) + 8|0);
+ HEAP32[$204>>2] = $203;
+ $205 = ((($sa)) + 12|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = $206 >>> 0;
+ $208 = $207&255;
+ $209 = $208&255;
+ $210 = (5604 + ($209<<2)|0);
+ $211 = HEAP32[$210>>2]|0;
+ $212 = (_rol($211,0)|0);
+ $213 = ((($sb)) + 12|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $214 ^ $212;
+ HEAP32[$213>>2] = $215;
+ $216 = ((($sa)) + 12|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = $217 >>> 8;
+ $219 = $218&255;
+ $220 = $219&255;
+ $221 = (5604 + ($220<<2)|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (_rol($222,8)|0);
+ $224 = HEAP32[$sa>>2]|0;
+ $225 = $224 ^ $223;
+ HEAP32[$sa>>2] = $225;
+ $226 = ((($sa)) + 12|0);
+ $227 = HEAP32[$226>>2]|0;
+ $228 = $227 >>> 16;
+ $229 = $228&255;
+ $230 = $229&255;
+ $231 = (5604 + ($230<<2)|0);
+ $232 = HEAP32[$231>>2]|0;
+ $233 = (_rol($232,16)|0);
+ $234 = ((($sa)) + 4|0);
+ $235 = HEAP32[$234>>2]|0;
+ $236 = $235 ^ $233;
+ HEAP32[$234>>2] = $236;
+ $237 = ((($sa)) + 12|0);
+ $238 = HEAP32[$237>>2]|0;
+ $239 = $238 >>> 24;
+ $240 = $239&255;
+ $241 = $240&255;
+ $242 = (5604 + ($241<<2)|0);
+ $243 = HEAP32[$242>>2]|0;
+ $244 = (_rol($243,24)|0);
+ $245 = ((($sa)) + 8|0);
+ $246 = HEAP32[$245>>2]|0;
+ $247 = $246 ^ $244;
+ HEAP32[$245>>2] = $247;
+ $248 = $r;
+ $249 = $0;
+ $250 = ((($249)) + 240|0);
+ $251 = (($250) + ($248<<4)|0);
+ $252 = ((($251)) + 12|0);
+ $253 = HEAP32[$252>>2]|0;
+ $254 = ((($sb)) + 12|0);
+ $255 = HEAP32[$254>>2]|0;
+ $256 = $253 ^ $255;
+ $257 = ((($sa)) + 12|0);
+ HEAP32[$257>>2] = $256;
+ $258 = $r;
+ $259 = (($258) + -1)|0;
+ $r = $259;
+ $260 = HEAP32[$sa>>2]|0;
+ $261 = $260 >>> 0;
+ $262 = $261&255;
+ $263 = $262&255;
+ $264 = (5604 + ($263<<2)|0);
+ $265 = HEAP32[$264>>2]|0;
+ $266 = (_rol($265,0)|0);
+ HEAP32[$sb>>2] = $266;
+ $267 = HEAP32[$sa>>2]|0;
+ $268 = $267 >>> 8;
+ $269 = $268&255;
+ $270 = $269&255;
+ $271 = (5604 + ($270<<2)|0);
+ $272 = HEAP32[$271>>2]|0;
+ $273 = (_rol($272,8)|0);
+ $274 = ((($sb)) + 4|0);
+ HEAP32[$274>>2] = $273;
+ $275 = HEAP32[$sa>>2]|0;
+ $276 = $275 >>> 16;
+ $277 = $276&255;
+ $278 = $277&255;
+ $279 = (5604 + ($278<<2)|0);
+ $280 = HEAP32[$279>>2]|0;
+ $281 = (_rol($280,16)|0);
+ $282 = ((($sb)) + 8|0);
+ HEAP32[$282>>2] = $281;
+ $283 = HEAP32[$sa>>2]|0;
+ $284 = $283 >>> 24;
+ $285 = $284&255;
+ $286 = $285&255;
+ $287 = (5604 + ($286<<2)|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = (_rol($288,24)|0);
+ $290 = ((($sb)) + 12|0);
+ HEAP32[$290>>2] = $289;
+ $291 = $r;
+ $292 = $0;
+ $293 = ((($292)) + 240|0);
+ $294 = (($293) + ($291<<4)|0);
+ $295 = HEAP32[$294>>2]|0;
+ $296 = HEAP32[$sb>>2]|0;
+ $297 = $295 ^ $296;
+ HEAP32[$sa>>2] = $297;
+ $298 = ((($sa)) + 4|0);
+ $299 = HEAP32[$298>>2]|0;
+ $300 = $299 >>> 0;
+ $301 = $300&255;
+ $302 = $301&255;
+ $303 = (5604 + ($302<<2)|0);
+ $304 = HEAP32[$303>>2]|0;
+ $305 = (_rol($304,0)|0);
+ $306 = ((($sb)) + 4|0);
+ $307 = HEAP32[$306>>2]|0;
+ $308 = $307 ^ $305;
+ HEAP32[$306>>2] = $308;
+ $309 = ((($sa)) + 4|0);
+ $310 = HEAP32[$309>>2]|0;
+ $311 = $310 >>> 8;
+ $312 = $311&255;
+ $313 = $312&255;
+ $314 = (5604 + ($313<<2)|0);
+ $315 = HEAP32[$314>>2]|0;
+ $316 = (_rol($315,8)|0);
+ $317 = ((($sb)) + 8|0);
+ $318 = HEAP32[$317>>2]|0;
+ $319 = $318 ^ $316;
+ HEAP32[$317>>2] = $319;
+ $320 = ((($sa)) + 4|0);
+ $321 = HEAP32[$320>>2]|0;
+ $322 = $321 >>> 16;
+ $323 = $322&255;
+ $324 = $323&255;
+ $325 = (5604 + ($324<<2)|0);
+ $326 = HEAP32[$325>>2]|0;
+ $327 = (_rol($326,16)|0);
+ $328 = ((($sb)) + 12|0);
+ $329 = HEAP32[$328>>2]|0;
+ $330 = $329 ^ $327;
+ HEAP32[$328>>2] = $330;
+ $331 = ((($sa)) + 4|0);
+ $332 = HEAP32[$331>>2]|0;
+ $333 = $332 >>> 24;
+ $334 = $333&255;
+ $335 = $334&255;
+ $336 = (5604 + ($335<<2)|0);
+ $337 = HEAP32[$336>>2]|0;
+ $338 = (_rol($337,24)|0);
+ $339 = HEAP32[$sa>>2]|0;
+ $340 = $339 ^ $338;
+ HEAP32[$sa>>2] = $340;
+ $341 = $r;
+ $342 = $0;
+ $343 = ((($342)) + 240|0);
+ $344 = (($343) + ($341<<4)|0);
+ $345 = ((($344)) + 4|0);
+ $346 = HEAP32[$345>>2]|0;
+ $347 = ((($sb)) + 4|0);
+ $348 = HEAP32[$347>>2]|0;
+ $349 = $346 ^ $348;
+ $350 = ((($sa)) + 4|0);
+ HEAP32[$350>>2] = $349;
+ $351 = ((($sa)) + 8|0);
+ $352 = HEAP32[$351>>2]|0;
+ $353 = $352 >>> 0;
+ $354 = $353&255;
+ $355 = $354&255;
+ $356 = (5604 + ($355<<2)|0);
+ $357 = HEAP32[$356>>2]|0;
+ $358 = (_rol($357,0)|0);
+ $359 = ((($sb)) + 8|0);
+ $360 = HEAP32[$359>>2]|0;
+ $361 = $360 ^ $358;
+ HEAP32[$359>>2] = $361;
+ $362 = ((($sa)) + 8|0);
+ $363 = HEAP32[$362>>2]|0;
+ $364 = $363 >>> 8;
+ $365 = $364&255;
+ $366 = $365&255;
+ $367 = (5604 + ($366<<2)|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = (_rol($368,8)|0);
+ $370 = ((($sb)) + 12|0);
+ $371 = HEAP32[$370>>2]|0;
+ $372 = $371 ^ $369;
+ HEAP32[$370>>2] = $372;
+ $373 = ((($sa)) + 8|0);
+ $374 = HEAP32[$373>>2]|0;
+ $375 = $374 >>> 16;
+ $376 = $375&255;
+ $377 = $376&255;
+ $378 = (5604 + ($377<<2)|0);
+ $379 = HEAP32[$378>>2]|0;
+ $380 = (_rol($379,16)|0);
+ $381 = HEAP32[$sa>>2]|0;
+ $382 = $381 ^ $380;
+ HEAP32[$sa>>2] = $382;
+ $383 = ((($sa)) + 8|0);
+ $384 = HEAP32[$383>>2]|0;
+ $385 = $384 >>> 24;
+ $386 = $385&255;
+ $387 = $386&255;
+ $388 = (5604 + ($387<<2)|0);
+ $389 = HEAP32[$388>>2]|0;
+ $390 = (_rol($389,24)|0);
+ $391 = ((($sa)) + 4|0);
+ $392 = HEAP32[$391>>2]|0;
+ $393 = $392 ^ $390;
+ HEAP32[$391>>2] = $393;
+ $394 = $r;
+ $395 = $0;
+ $396 = ((($395)) + 240|0);
+ $397 = (($396) + ($394<<4)|0);
+ $398 = ((($397)) + 8|0);
+ $399 = HEAP32[$398>>2]|0;
+ $400 = ((($sb)) + 8|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = $399 ^ $401;
+ $403 = ((($sa)) + 8|0);
+ HEAP32[$403>>2] = $402;
+ $404 = ((($sa)) + 12|0);
+ $405 = HEAP32[$404>>2]|0;
+ $406 = $405 >>> 0;
+ $407 = $406&255;
+ $408 = $407&255;
+ $409 = (5604 + ($408<<2)|0);
+ $410 = HEAP32[$409>>2]|0;
+ $411 = (_rol($410,0)|0);
+ $412 = ((($sb)) + 12|0);
+ $413 = HEAP32[$412>>2]|0;
+ $414 = $413 ^ $411;
+ HEAP32[$412>>2] = $414;
+ $415 = ((($sa)) + 12|0);
+ $416 = HEAP32[$415>>2]|0;
+ $417 = $416 >>> 8;
+ $418 = $417&255;
+ $419 = $418&255;
+ $420 = (5604 + ($419<<2)|0);
+ $421 = HEAP32[$420>>2]|0;
+ $422 = (_rol($421,8)|0);
+ $423 = HEAP32[$sa>>2]|0;
+ $424 = $423 ^ $422;
+ HEAP32[$sa>>2] = $424;
+ $425 = ((($sa)) + 12|0);
+ $426 = HEAP32[$425>>2]|0;
+ $427 = $426 >>> 16;
+ $428 = $427&255;
+ $429 = $428&255;
+ $430 = (5604 + ($429<<2)|0);
+ $431 = HEAP32[$430>>2]|0;
+ $432 = (_rol($431,16)|0);
+ $433 = ((($sa)) + 4|0);
+ $434 = HEAP32[$433>>2]|0;
+ $435 = $434 ^ $432;
+ HEAP32[$433>>2] = $435;
+ $436 = ((($sa)) + 12|0);
+ $437 = HEAP32[$436>>2]|0;
+ $438 = $437 >>> 24;
+ $439 = $438&255;
+ $440 = $439&255;
+ $441 = (5604 + ($440<<2)|0);
+ $442 = HEAP32[$441>>2]|0;
+ $443 = (_rol($442,24)|0);
+ $444 = ((($sa)) + 8|0);
+ $445 = HEAP32[$444>>2]|0;
+ $446 = $445 ^ $443;
+ HEAP32[$444>>2] = $446;
+ $447 = $r;
+ $448 = $0;
+ $449 = ((($448)) + 240|0);
+ $450 = (($449) + ($447<<4)|0);
+ $451 = ((($450)) + 12|0);
+ $452 = HEAP32[$451>>2]|0;
+ $453 = ((($sb)) + 12|0);
+ $454 = HEAP32[$453>>2]|0;
+ $455 = $452 ^ $454;
+ $456 = ((($sa)) + 12|0);
+ HEAP32[$456>>2] = $455;
+ $457 = $r;
+ $458 = (($457) + -1)|0;
+ $r = $458;
+ }
+ $459 = $0;
+ $460 = ((($459)) + 240|0);
+ $461 = ((($460)) + 16|0);
+ $462 = HEAP32[$461>>2]|0;
+ $463 = HEAP32[$sb>>2]|0;
+ $464 = $462 ^ $463;
+ HEAP32[$sa>>2] = $464;
+ $465 = ((($sa)) + 4|0);
+ $466 = HEAP32[$465>>2]|0;
+ $467 = $466 >>> 0;
+ $468 = $467&255;
+ $469 = $468&255;
+ $470 = (5604 + ($469<<2)|0);
+ $471 = HEAP32[$470>>2]|0;
+ $472 = (_rol($471,0)|0);
+ $473 = ((($sb)) + 4|0);
+ $474 = HEAP32[$473>>2]|0;
+ $475 = $474 ^ $472;
+ HEAP32[$473>>2] = $475;
+ $476 = ((($sa)) + 4|0);
+ $477 = HEAP32[$476>>2]|0;
+ $478 = $477 >>> 8;
+ $479 = $478&255;
+ $480 = $479&255;
+ $481 = (5604 + ($480<<2)|0);
+ $482 = HEAP32[$481>>2]|0;
+ $483 = (_rol($482,8)|0);
+ $484 = ((($sb)) + 8|0);
+ $485 = HEAP32[$484>>2]|0;
+ $486 = $485 ^ $483;
+ HEAP32[$484>>2] = $486;
+ $487 = ((($sa)) + 4|0);
+ $488 = HEAP32[$487>>2]|0;
+ $489 = $488 >>> 16;
+ $490 = $489&255;
+ $491 = $490&255;
+ $492 = (5604 + ($491<<2)|0);
+ $493 = HEAP32[$492>>2]|0;
+ $494 = (_rol($493,16)|0);
+ $495 = ((($sb)) + 12|0);
+ $496 = HEAP32[$495>>2]|0;
+ $497 = $496 ^ $494;
+ HEAP32[$495>>2] = $497;
+ $498 = ((($sa)) + 4|0);
+ $499 = HEAP32[$498>>2]|0;
+ $500 = $499 >>> 24;
+ $501 = $500&255;
+ $502 = $501&255;
+ $503 = (5604 + ($502<<2)|0);
+ $504 = HEAP32[$503>>2]|0;
+ $505 = (_rol($504,24)|0);
+ $506 = HEAP32[$sa>>2]|0;
+ $507 = $506 ^ $505;
+ HEAP32[$sa>>2] = $507;
+ $508 = $0;
+ $509 = ((($508)) + 240|0);
+ $510 = ((($509)) + 16|0);
+ $511 = ((($510)) + 4|0);
+ $512 = HEAP32[$511>>2]|0;
+ $513 = ((($sb)) + 4|0);
+ $514 = HEAP32[$513>>2]|0;
+ $515 = $512 ^ $514;
+ $516 = ((($sa)) + 4|0);
+ HEAP32[$516>>2] = $515;
+ $517 = ((($sa)) + 8|0);
+ $518 = HEAP32[$517>>2]|0;
+ $519 = $518 >>> 0;
+ $520 = $519&255;
+ $521 = $520&255;
+ $522 = (5604 + ($521<<2)|0);
+ $523 = HEAP32[$522>>2]|0;
+ $524 = (_rol($523,0)|0);
+ $525 = ((($sb)) + 8|0);
+ $526 = HEAP32[$525>>2]|0;
+ $527 = $526 ^ $524;
+ HEAP32[$525>>2] = $527;
+ $528 = ((($sa)) + 8|0);
+ $529 = HEAP32[$528>>2]|0;
+ $530 = $529 >>> 8;
+ $531 = $530&255;
+ $532 = $531&255;
+ $533 = (5604 + ($532<<2)|0);
+ $534 = HEAP32[$533>>2]|0;
+ $535 = (_rol($534,8)|0);
+ $536 = ((($sb)) + 12|0);
+ $537 = HEAP32[$536>>2]|0;
+ $538 = $537 ^ $535;
+ HEAP32[$536>>2] = $538;
+ $539 = ((($sa)) + 8|0);
+ $540 = HEAP32[$539>>2]|0;
+ $541 = $540 >>> 16;
+ $542 = $541&255;
+ $543 = $542&255;
+ $544 = (5604 + ($543<<2)|0);
+ $545 = HEAP32[$544>>2]|0;
+ $546 = (_rol($545,16)|0);
+ $547 = HEAP32[$sa>>2]|0;
+ $548 = $547 ^ $546;
+ HEAP32[$sa>>2] = $548;
+ $549 = ((($sa)) + 8|0);
+ $550 = HEAP32[$549>>2]|0;
+ $551 = $550 >>> 24;
+ $552 = $551&255;
+ $553 = $552&255;
+ $554 = (5604 + ($553<<2)|0);
+ $555 = HEAP32[$554>>2]|0;
+ $556 = (_rol($555,24)|0);
+ $557 = ((($sa)) + 4|0);
+ $558 = HEAP32[$557>>2]|0;
+ $559 = $558 ^ $556;
+ HEAP32[$557>>2] = $559;
+ $560 = $0;
+ $561 = ((($560)) + 240|0);
+ $562 = ((($561)) + 16|0);
+ $563 = ((($562)) + 8|0);
+ $564 = HEAP32[$563>>2]|0;
+ $565 = ((($sb)) + 8|0);
+ $566 = HEAP32[$565>>2]|0;
+ $567 = $564 ^ $566;
+ $568 = ((($sa)) + 8|0);
+ HEAP32[$568>>2] = $567;
+ $569 = ((($sa)) + 12|0);
+ $570 = HEAP32[$569>>2]|0;
+ $571 = $570 >>> 0;
+ $572 = $571&255;
+ $573 = $572&255;
+ $574 = (5604 + ($573<<2)|0);
+ $575 = HEAP32[$574>>2]|0;
+ $576 = (_rol($575,0)|0);
+ $577 = ((($sb)) + 12|0);
+ $578 = HEAP32[$577>>2]|0;
+ $579 = $578 ^ $576;
+ HEAP32[$577>>2] = $579;
+ $580 = ((($sa)) + 12|0);
+ $581 = HEAP32[$580>>2]|0;
+ $582 = $581 >>> 8;
+ $583 = $582&255;
+ $584 = $583&255;
+ $585 = (5604 + ($584<<2)|0);
+ $586 = HEAP32[$585>>2]|0;
+ $587 = (_rol($586,8)|0);
+ $588 = HEAP32[$sa>>2]|0;
+ $589 = $588 ^ $587;
+ HEAP32[$sa>>2] = $589;
+ $590 = ((($sa)) + 12|0);
+ $591 = HEAP32[$590>>2]|0;
+ $592 = $591 >>> 16;
+ $593 = $592&255;
+ $594 = $593&255;
+ $595 = (5604 + ($594<<2)|0);
+ $596 = HEAP32[$595>>2]|0;
+ $597 = (_rol($596,16)|0);
+ $598 = ((($sa)) + 4|0);
+ $599 = HEAP32[$598>>2]|0;
+ $600 = $599 ^ $597;
+ HEAP32[$598>>2] = $600;
+ $601 = ((($sa)) + 12|0);
+ $602 = HEAP32[$601>>2]|0;
+ $603 = $602 >>> 24;
+ $604 = $603&255;
+ $605 = $604&255;
+ $606 = (5604 + ($605<<2)|0);
+ $607 = HEAP32[$606>>2]|0;
+ $608 = (_rol($607,24)|0);
+ $609 = ((($sa)) + 8|0);
+ $610 = HEAP32[$609>>2]|0;
+ $611 = $610 ^ $608;
+ HEAP32[$609>>2] = $611;
+ $612 = $0;
+ $613 = ((($612)) + 240|0);
+ $614 = ((($613)) + 16|0);
+ $615 = ((($614)) + 12|0);
+ $616 = HEAP32[$615>>2]|0;
+ $617 = ((($sb)) + 12|0);
+ $618 = HEAP32[$617>>2]|0;
+ $619 = $616 ^ $618;
+ $620 = ((($sa)) + 12|0);
+ HEAP32[$620>>2] = $619;
+ $621 = HEAP32[$sa>>2]|0;
+ $622 = $621 >>> 0;
+ $623 = $622&255;
+ $624 = $623&255;
+ $625 = ((6628) + ($624)|0);
+ $626 = HEAP8[$625>>0]|0;
+ $627 = $626&255;
+ $628 = $627 << 0;
+ HEAP32[$sb>>2] = $628;
+ $629 = HEAP32[$sa>>2]|0;
+ $630 = $629 >>> 8;
+ $631 = $630&255;
+ $632 = $631&255;
+ $633 = ((6628) + ($632)|0);
+ $634 = HEAP8[$633>>0]|0;
+ $635 = $634&255;
+ $636 = $635 << 8;
+ $637 = ((($sb)) + 4|0);
+ HEAP32[$637>>2] = $636;
+ $638 = HEAP32[$sa>>2]|0;
+ $639 = $638 >>> 16;
+ $640 = $639&255;
+ $641 = $640&255;
+ $642 = ((6628) + ($641)|0);
+ $643 = HEAP8[$642>>0]|0;
+ $644 = $643&255;
+ $645 = $644 << 16;
+ $646 = ((($sb)) + 8|0);
+ HEAP32[$646>>2] = $645;
+ $647 = HEAP32[$sa>>2]|0;
+ $648 = $647 >>> 24;
+ $649 = $648&255;
+ $650 = $649&255;
+ $651 = ((6628) + ($650)|0);
+ $652 = HEAP8[$651>>0]|0;
+ $653 = $652&255;
+ $654 = $653 << 24;
+ $655 = ((($sb)) + 12|0);
+ HEAP32[$655>>2] = $654;
+ $656 = HEAP32[$sb>>2]|0;
+ $657 = $0;
+ $658 = ((($657)) + 240|0);
+ $659 = HEAP32[$658>>2]|0;
+ $660 = $656 ^ $659;
+ HEAP32[$sa>>2] = $660;
+ $661 = ((($sa)) + 4|0);
+ $662 = HEAP32[$661>>2]|0;
+ $663 = $662 >>> 0;
+ $664 = $663&255;
+ $665 = $664&255;
+ $666 = ((6628) + ($665)|0);
+ $667 = HEAP8[$666>>0]|0;
+ $668 = $667&255;
+ $669 = $668 << 0;
+ $670 = ((($sb)) + 4|0);
+ $671 = HEAP32[$670>>2]|0;
+ $672 = $671 ^ $669;
+ HEAP32[$670>>2] = $672;
+ $673 = ((($sa)) + 4|0);
+ $674 = HEAP32[$673>>2]|0;
+ $675 = $674 >>> 8;
+ $676 = $675&255;
+ $677 = $676&255;
+ $678 = ((6628) + ($677)|0);
+ $679 = HEAP8[$678>>0]|0;
+ $680 = $679&255;
+ $681 = $680 << 8;
+ $682 = ((($sb)) + 8|0);
+ $683 = HEAP32[$682>>2]|0;
+ $684 = $683 ^ $681;
+ HEAP32[$682>>2] = $684;
+ $685 = ((($sa)) + 4|0);
+ $686 = HEAP32[$685>>2]|0;
+ $687 = $686 >>> 16;
+ $688 = $687&255;
+ $689 = $688&255;
+ $690 = ((6628) + ($689)|0);
+ $691 = HEAP8[$690>>0]|0;
+ $692 = $691&255;
+ $693 = $692 << 16;
+ $694 = ((($sb)) + 12|0);
+ $695 = HEAP32[$694>>2]|0;
+ $696 = $695 ^ $693;
+ HEAP32[$694>>2] = $696;
+ $697 = ((($sa)) + 4|0);
+ $698 = HEAP32[$697>>2]|0;
+ $699 = $698 >>> 24;
+ $700 = $699&255;
+ $701 = $700&255;
+ $702 = ((6628) + ($701)|0);
+ $703 = HEAP8[$702>>0]|0;
+ $704 = $703&255;
+ $705 = $704 << 24;
+ $706 = HEAP32[$sa>>2]|0;
+ $707 = $706 ^ $705;
+ HEAP32[$sa>>2] = $707;
+ $708 = ((($sb)) + 4|0);
+ $709 = HEAP32[$708>>2]|0;
+ $710 = $0;
+ $711 = ((($710)) + 240|0);
+ $712 = ((($711)) + 4|0);
+ $713 = HEAP32[$712>>2]|0;
+ $714 = $709 ^ $713;
+ $715 = ((($sa)) + 4|0);
+ HEAP32[$715>>2] = $714;
+ $716 = ((($sa)) + 8|0);
+ $717 = HEAP32[$716>>2]|0;
+ $718 = $717 >>> 0;
+ $719 = $718&255;
+ $720 = $719&255;
+ $721 = ((6628) + ($720)|0);
+ $722 = HEAP8[$721>>0]|0;
+ $723 = $722&255;
+ $724 = $723 << 0;
+ $725 = ((($sb)) + 8|0);
+ $726 = HEAP32[$725>>2]|0;
+ $727 = $726 ^ $724;
+ HEAP32[$725>>2] = $727;
+ $728 = ((($sa)) + 8|0);
+ $729 = HEAP32[$728>>2]|0;
+ $730 = $729 >>> 8;
+ $731 = $730&255;
+ $732 = $731&255;
+ $733 = ((6628) + ($732)|0);
+ $734 = HEAP8[$733>>0]|0;
+ $735 = $734&255;
+ $736 = $735 << 8;
+ $737 = ((($sb)) + 12|0);
+ $738 = HEAP32[$737>>2]|0;
+ $739 = $738 ^ $736;
+ HEAP32[$737>>2] = $739;
+ $740 = ((($sa)) + 8|0);
+ $741 = HEAP32[$740>>2]|0;
+ $742 = $741 >>> 16;
+ $743 = $742&255;
+ $744 = $743&255;
+ $745 = ((6628) + ($744)|0);
+ $746 = HEAP8[$745>>0]|0;
+ $747 = $746&255;
+ $748 = $747 << 16;
+ $749 = HEAP32[$sa>>2]|0;
+ $750 = $749 ^ $748;
+ HEAP32[$sa>>2] = $750;
+ $751 = ((($sa)) + 8|0);
+ $752 = HEAP32[$751>>2]|0;
+ $753 = $752 >>> 24;
+ $754 = $753&255;
+ $755 = $754&255;
+ $756 = ((6628) + ($755)|0);
+ $757 = HEAP8[$756>>0]|0;
+ $758 = $757&255;
+ $759 = $758 << 24;
+ $760 = ((($sa)) + 4|0);
+ $761 = HEAP32[$760>>2]|0;
+ $762 = $761 ^ $759;
+ HEAP32[$760>>2] = $762;
+ $763 = ((($sb)) + 8|0);
+ $764 = HEAP32[$763>>2]|0;
+ $765 = $0;
+ $766 = ((($765)) + 240|0);
+ $767 = ((($766)) + 8|0);
+ $768 = HEAP32[$767>>2]|0;
+ $769 = $764 ^ $768;
+ $770 = ((($sa)) + 8|0);
+ HEAP32[$770>>2] = $769;
+ $771 = ((($sa)) + 12|0);
+ $772 = HEAP32[$771>>2]|0;
+ $773 = $772 >>> 0;
+ $774 = $773&255;
+ $775 = $774&255;
+ $776 = ((6628) + ($775)|0);
+ $777 = HEAP8[$776>>0]|0;
+ $778 = $777&255;
+ $779 = $778 << 0;
+ $780 = ((($sb)) + 12|0);
+ $781 = HEAP32[$780>>2]|0;
+ $782 = $781 ^ $779;
+ HEAP32[$780>>2] = $782;
+ $783 = ((($sa)) + 12|0);
+ $784 = HEAP32[$783>>2]|0;
+ $785 = $784 >>> 8;
+ $786 = $785&255;
+ $787 = $786&255;
+ $788 = ((6628) + ($787)|0);
+ $789 = HEAP8[$788>>0]|0;
+ $790 = $789&255;
+ $791 = $790 << 8;
+ $792 = HEAP32[$sa>>2]|0;
+ $793 = $792 ^ $791;
+ HEAP32[$sa>>2] = $793;
+ $794 = ((($sa)) + 12|0);
+ $795 = HEAP32[$794>>2]|0;
+ $796 = $795 >>> 16;
+ $797 = $796&255;
+ $798 = $797&255;
+ $799 = ((6628) + ($798)|0);
+ $800 = HEAP8[$799>>0]|0;
+ $801 = $800&255;
+ $802 = $801 << 16;
+ $803 = ((($sa)) + 4|0);
+ $804 = HEAP32[$803>>2]|0;
+ $805 = $804 ^ $802;
+ HEAP32[$803>>2] = $805;
+ $806 = ((($sa)) + 12|0);
+ $807 = HEAP32[$806>>2]|0;
+ $808 = $807 >>> 24;
+ $809 = $808&255;
+ $810 = $809&255;
+ $811 = ((6628) + ($810)|0);
+ $812 = HEAP8[$811>>0]|0;
+ $813 = $812&255;
+ $814 = $813 << 24;
+ $815 = ((($sa)) + 8|0);
+ $816 = HEAP32[$815>>2]|0;
+ $817 = $816 ^ $814;
+ HEAP32[$815>>2] = $817;
+ $818 = ((($sb)) + 12|0);
+ $819 = HEAP32[$818>>2]|0;
+ $820 = $0;
+ $821 = ((($820)) + 240|0);
+ $822 = ((($821)) + 12|0);
+ $823 = HEAP32[$822>>2]|0;
+ $824 = $819 ^ $823;
+ $825 = ((($sa)) + 12|0);
+ HEAP32[$825>>2] = $824;
+ $826 = $1;
+ $827 = HEAP32[$sa>>2]|0;
+ _buf_put_le32($826,$827);
+ $828 = $1;
+ $829 = ((($828)) + 4|0);
+ $830 = ((($sa)) + 4|0);
+ $831 = HEAP32[$830>>2]|0;
+ _buf_put_le32($829,$831);
+ $832 = $1;
+ $833 = ((($832)) + 8|0);
+ $834 = ((($sa)) + 8|0);
+ $835 = HEAP32[$834>>2]|0;
+ _buf_put_le32($833,$835);
+ $836 = $1;
+ $837 = ((($836)) + 12|0);
+ $838 = ((($sa)) + 12|0);
+ $839 = HEAP32[$838>>2]|0;
+ _buf_put_le32($837,$839);
+ STACKTOP = sp;return 64;
+}
+function _run_selftests_1176($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ switch ($3|0) {
+ case 7: {
+ $4 = $1;
+ $5 = $2;
+ $6 = (_selftest_fips_128($4,$5)|0);
+ $ec = $6;
+ break;
+ }
+ case 8: {
+ $7 = $1;
+ $8 = $2;
+ $9 = (_selftest_fips_192($7,$8)|0);
+ $ec = $9;
+ break;
+ }
+ case 9: {
+ $10 = $1;
+ $11 = $2;
+ $12 = (_selftest_fips_256($10,$11)|0);
+ $ec = $12;
+ break;
+ }
+ default: {
+ $ec = 12;
+ }
+ }
+ $13 = $ec;
+ STACKTOP = sp;return ($13|0);
+}
+function _selftest_fips_128($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 49849;
+ $3 = (_selftest_basic_128()|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if (!($5)) {
+ $6 = $1;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $what = 38536;
+ $8 = (_selftest_fips_128_38a(2)|0);
+ $errtxt = $8;
+ $9 = $errtxt;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ break;
+ }
+ $what = 38653;
+ $11 = (_selftest_fips_128_38a(5)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ break;
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ } while(0);
+ $14 = $2;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $2;
+ $17 = $what;
+ $18 = $errtxt;
+ FUNCTION_TABLE_viiii[$16 & 63](38657,7,$17,$18);
+ }
+ $0 = 50;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _selftest_fips_128_38a($requested_mode) {
+ $requested_mode = $requested_mode|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $err = 0, $hddec = 0, $hdenc = 0, $idx = 0, $scratch = 0, $tvi = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $scratch = sp + 32|0;
+ $hdenc = sp + 4|0;
+ $hddec = sp;
+ $1 = $requested_mode;
+ HEAP32[$hdenc>>2] = 0;
+ HEAP32[$hddec>>2] = 0;
+ $tvi = 0;
+ while(1) {
+ $2 = $tvi;
+ $3 = ($2>>>0)<(2);
+ if (!($3)) {
+ break;
+ }
+ $4 = $tvi;
+ $5 = (7004 + (($4*164)|0)|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $1;
+ $8 = ($6|0)==($7|0);
+ if ($8) {
+ break;
+ }
+ $9 = $tvi;
+ $10 = (($9) + 1)|0;
+ $tvi = $10;
+ }
+ $11 = $tvi;
+ $12 = ($11|0)==(2);
+ if ($12) {
+ $13 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($13);
+ $14 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($14);
+ $0 = 38540;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ $15 = $tvi;
+ $16 = (7004 + (($15*164)|0)|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (__gcry_cipher_open($hdenc,7,$17,0)|0);
+ $err = $18;
+ $19 = $err;
+ $20 = ($19|0)!=(0);
+ if ($20) {
+ $21 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($21);
+ $22 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($22);
+ $0 = 38567;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ $23 = $tvi;
+ $24 = (7004 + (($23*164)|0)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (__gcry_cipher_open($hddec,7,$25,0)|0);
+ $err = $26;
+ $27 = $err;
+ $28 = ($27|0)!=(0);
+ $29 = HEAP32[$hdenc>>2]|0;
+ if ($28) {
+ __gcry_cipher_close($29);
+ $30 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($30);
+ $0 = 38567;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ $31 = $tvi;
+ $32 = (7004 + (($31*164)|0)|0);
+ $33 = ((($32)) + 4|0);
+ $34 = (__gcry_cipher_setkey($29,$33,16)|0);
+ $err = $34;
+ $35 = $err;
+ $36 = ($35|0)!=(0);
+ if (!($36)) {
+ $37 = HEAP32[$hddec>>2]|0;
+ $38 = $tvi;
+ $39 = (7004 + (($38*164)|0)|0);
+ $40 = ((($39)) + 4|0);
+ $41 = (__gcry_cipher_setkey($37,$40,16)|0);
+ $err = $41;
+ }
+ $42 = $err;
+ $43 = ($42|0)!=(0);
+ $44 = HEAP32[$hdenc>>2]|0;
+ if ($43) {
+ __gcry_cipher_close($44);
+ $45 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($45);
+ $0 = 38572;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ $46 = $tvi;
+ $47 = (7004 + (($46*164)|0)|0);
+ $48 = ((($47)) + 20|0);
+ $49 = (__gcry_cipher_setiv($44,$48,16)|0);
+ $err = $49;
+ $50 = $err;
+ $51 = ($50|0)!=(0);
+ if (!($51)) {
+ $52 = HEAP32[$hddec>>2]|0;
+ $53 = $tvi;
+ $54 = (7004 + (($53*164)|0)|0);
+ $55 = ((($54)) + 20|0);
+ $56 = (__gcry_cipher_setiv($52,$55,16)|0);
+ $err = $56;
+ }
+ $57 = $err;
+ $58 = ($57|0)!=(0);
+ if ($58) {
+ $59 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($59);
+ $60 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($60);
+ $0 = 38580;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ $idx = 0;
+ while(1) {
+ $61 = $idx;
+ $62 = ($61>>>0)<(4);
+ $63 = HEAP32[$hdenc>>2]|0;
+ if (!($62)) {
+ label = 30;
+ break;
+ }
+ $64 = $idx;
+ $65 = $tvi;
+ $66 = (7004 + (($65*164)|0)|0);
+ $67 = ((($66)) + 36|0);
+ $68 = (($67) + ($64<<5)|0);
+ $69 = (__gcry_cipher_encrypt($63,$scratch,16,$68,16)|0);
+ $err = $69;
+ $70 = $err;
+ $71 = ($70|0)!=(0);
+ if ($71) {
+ label = 22;
+ break;
+ }
+ $74 = $idx;
+ $75 = $tvi;
+ $76 = (7004 + (($75*164)|0)|0);
+ $77 = ((($76)) + 36|0);
+ $78 = (($77) + ($74<<5)|0);
+ $79 = ((($78)) + 16|0);
+ $80 = (_memcmp($scratch,$79,16)|0);
+ $81 = ($80|0)!=(0);
+ if ($81) {
+ label = 24;
+ break;
+ }
+ $84 = HEAP32[$hddec>>2]|0;
+ $85 = $idx;
+ $86 = $tvi;
+ $87 = (7004 + (($86*164)|0)|0);
+ $88 = ((($87)) + 36|0);
+ $89 = (($88) + ($85<<5)|0);
+ $90 = ((($89)) + 16|0);
+ $91 = (__gcry_cipher_decrypt($84,$scratch,16,$90,16)|0);
+ $err = $91;
+ $92 = $err;
+ $93 = ($92|0)!=(0);
+ if ($93) {
+ label = 26;
+ break;
+ }
+ $96 = $idx;
+ $97 = $tvi;
+ $98 = (7004 + (($97*164)|0)|0);
+ $99 = ((($98)) + 36|0);
+ $100 = (($99) + ($96<<5)|0);
+ $101 = (_memcmp($scratch,$100,16)|0);
+ $102 = ($101|0)!=(0);
+ if ($102) {
+ label = 28;
+ break;
+ }
+ $105 = $idx;
+ $106 = (($105) + 1)|0;
+ $idx = $106;
+ }
+ if ((label|0) == 22) {
+ $72 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($72);
+ $73 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($73);
+ $0 = 38587;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ else if ((label|0) == 24) {
+ $82 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($82);
+ $83 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($83);
+ $0 = 38603;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ else if ((label|0) == 26) {
+ $94 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($94);
+ $95 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($95);
+ $0 = 38620;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ else if ((label|0) == 28) {
+ $103 = HEAP32[$hdenc>>2]|0;
+ __gcry_cipher_close($103);
+ $104 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($104);
+ $0 = 38636;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ else if ((label|0) == 30) {
+ __gcry_cipher_close($63);
+ $107 = HEAP32[$hddec>>2]|0;
+ __gcry_cipher_close($107);
+ $0 = 0;
+ $108 = $0;
+ STACKTOP = sp;return ($108|0);
+ }
+ return (0)|0;
+}
+function _selftest_fips_192($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 49849;
+ $3 = (_selftest_basic_192()|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $0 = 0;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+ }
+ $6 = $2;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $2;
+ $9 = $what;
+ $10 = $errtxt;
+ FUNCTION_TABLE_viiii[$8 & 63](38657,8,$9,$10);
+ }
+ $0 = 50;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+}
+function _selftest_fips_256($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 49849;
+ $3 = (_selftest_basic_256()|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $0 = 0;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+ }
+ $6 = $2;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $2;
+ $9 = $what;
+ $10 = $errtxt;
+ FUNCTION_TABLE_viiii[$8 & 63](38657,9,$9,$10);
+ }
+ $0 = 50;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+}
+function __gcry_aes_cfb_enc($context,$iv,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $iv = $iv|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn_depth = 0, $ctx = 0;
+ var $encrypt_fn = 0, $inbuf = 0, $outbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $iv;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_depth = 0;
+ $8 = $ctx;
+ $9 = ((($8)) + 496|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $ctx;
+ $13 = ((($12)) + 496|0);
+ $14 = HEAP32[$13>>2]|0;
+ FUNCTION_TABLE_v[$14 & 127]();
+ }
+ $15 = $ctx;
+ $16 = ((($15)) + 488|0);
+ $17 = HEAP32[$16>>2]|0;
+ $encrypt_fn = $17;
+ while(1) {
+ $18 = $4;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $encrypt_fn;
+ $21 = $ctx;
+ $22 = $1;
+ $23 = $1;
+ $24 = (FUNCTION_TABLE_iiii[$20 & 127]($21,$22,$23)|0);
+ $burn_depth = $24;
+ $25 = $outbuf;
+ $26 = $1;
+ $27 = $inbuf;
+ _buf_xor_2dst($25,$26,$27,16);
+ $28 = $outbuf;
+ $29 = ((($28)) + 16|0);
+ $outbuf = $29;
+ $30 = $inbuf;
+ $31 = ((($30)) + 16|0);
+ $inbuf = $31;
+ $32 = $4;
+ $33 = (($32) + -1)|0;
+ $4 = $33;
+ }
+ $34 = $burn_depth;
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ STACKTOP = sp;return;
+ }
+ $36 = $burn_depth;
+ $37 = (($36) + 16)|0;
+ ___gcry_burn_stack($37);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor_2dst($_dst1,$_dst2,$_src,$len) {
+ $_dst1 = $_dst1|0;
+ $_dst2 = $_dst2|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst1 = 0, $dst2 = 0, $ldst1 = 0, $ldst2 = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst1;
+ $1 = $_dst2;
+ $2 = $_src;
+ $3 = $len;
+ $4 = $0;
+ $dst1 = $4;
+ $5 = $1;
+ $dst2 = $5;
+ $6 = $2;
+ $src = $6;
+ $longmask = 3;
+ $7 = $src;
+ $8 = $7;
+ $9 = $dst1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $dst2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst1;
+ $ldst1 = $17;
+ $18 = $dst2;
+ $ldst2 = $18;
+ $19 = $src;
+ $lsrc = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc;
+ $23 = ((($22)) + 4|0);
+ $lsrc = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $ldst2;
+ $26 = ((($25)) + 4|0);
+ $ldst2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $27 ^ $24;
+ HEAP32[$25>>2] = $28;
+ $29 = $ldst1;
+ $30 = ((($29)) + 4|0);
+ $ldst1 = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst1;
+ $dst1 = $33;
+ $34 = $ldst2;
+ $dst2 = $34;
+ $35 = $lsrc;
+ $src = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src;
+ $39 = ((($38)) + 1|0);
+ $src = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $dst2;
+ $43 = ((($42)) + 1|0);
+ $dst2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $45 ^ $41;
+ $47 = $46&255;
+ HEAP8[$42>>0] = $47;
+ $48 = $dst1;
+ $49 = ((($48)) + 1|0);
+ $dst1 = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_aes_cbc_enc($context,$iv,$outbuf_arg,$inbuf_arg,$nblocks,$cbc_mac) {
+ $context = $context|0;
+ $iv = $iv|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ $cbc_mac = $cbc_mac|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn_depth = 0, $ctx = 0, $encrypt_fn = 0, $inbuf = 0, $last_iv = 0, $outbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $iv;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $cbc_mac;
+ $6 = $0;
+ $ctx = $6;
+ $7 = $2;
+ $outbuf = $7;
+ $8 = $3;
+ $inbuf = $8;
+ $burn_depth = 0;
+ $9 = $ctx;
+ $10 = ((($9)) + 496|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)!=(0|0);
+ if ($12) {
+ $13 = $ctx;
+ $14 = ((($13)) + 496|0);
+ $15 = HEAP32[$14>>2]|0;
+ FUNCTION_TABLE_v[$15 & 127]();
+ }
+ $16 = $ctx;
+ $17 = ((($16)) + 488|0);
+ $18 = HEAP32[$17>>2]|0;
+ $encrypt_fn = $18;
+ $19 = $1;
+ $last_iv = $19;
+ while(1) {
+ $20 = $4;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ break;
+ }
+ $22 = $outbuf;
+ $23 = $inbuf;
+ $24 = $last_iv;
+ _buf_xor($22,$23,$24,16);
+ $25 = $encrypt_fn;
+ $26 = $ctx;
+ $27 = $outbuf;
+ $28 = $outbuf;
+ $29 = (FUNCTION_TABLE_iiii[$25 & 127]($26,$27,$28)|0);
+ $burn_depth = $29;
+ $30 = $outbuf;
+ $last_iv = $30;
+ $31 = $inbuf;
+ $32 = ((($31)) + 16|0);
+ $inbuf = $32;
+ $33 = $5;
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = $outbuf;
+ $36 = ((($35)) + 16|0);
+ $outbuf = $36;
+ }
+ $37 = $4;
+ $38 = (($37) + -1)|0;
+ $4 = $38;
+ }
+ $39 = $last_iv;
+ $40 = $1;
+ $41 = ($39|0)!=($40|0);
+ if ($41) {
+ $42 = $1;
+ $43 = $last_iv;
+ _buf_cpy($42,$43,16);
+ }
+ $44 = $burn_depth;
+ $45 = ($44|0)!=(0);
+ if (!($45)) {
+ STACKTOP = sp;return;
+ }
+ $46 = $burn_depth;
+ $47 = (($46) + 16)|0;
+ ___gcry_burn_stack($47);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_cpy($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_aes_ocb_crypt($c,$outbuf_arg,$inbuf_arg,$nblocks,$encrypt) {
+ $c = $c|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ $encrypt = $encrypt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $burn_depth = 0, $ctx = 0, $decrypt_fn = 0, $encrypt_fn = 0, $i = 0, $i2 = 0, $inbuf = 0, $l = 0, $l4 = 0, $l_tmp = 0, $l_tmp1 = 0, $ntz = 0, $ntz3 = 0, $outbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $l_tmp = sp + 16|0;
+ $i = sp + 40|0;
+ $l_tmp1 = sp;
+ $i2 = sp + 32|0;
+ $0 = $c;
+ $1 = $outbuf_arg;
+ $2 = $inbuf_arg;
+ $3 = $nblocks;
+ $4 = $encrypt;
+ $5 = $0;
+ $6 = ((($5)) + 496|0);
+ $ctx = $6;
+ $7 = $1;
+ $outbuf = $7;
+ $8 = $2;
+ $inbuf = $8;
+ $burn_depth = 0;
+ $9 = $4;
+ $10 = ($9|0)!=(0);
+ $11 = $ctx;
+ if ($10) {
+ $12 = ((($11)) + 496|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(0|0);
+ if ($14) {
+ $15 = $ctx;
+ $16 = ((($15)) + 496|0);
+ $17 = HEAP32[$16>>2]|0;
+ FUNCTION_TABLE_v[$17 & 127]();
+ }
+ } else {
+ _check_decryption_preparation($11);
+ $18 = $ctx;
+ $19 = ((($18)) + 500|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)!=(0|0);
+ if ($21) {
+ $22 = $ctx;
+ $23 = ((($22)) + 500|0);
+ $24 = HEAP32[$23>>2]|0;
+ FUNCTION_TABLE_v[$24 & 127]();
+ }
+ }
+ $25 = $4;
+ $26 = ($25|0)!=(0);
+ $27 = $ctx;
+ L7: do {
+ if ($26) {
+ $28 = ((($27)) + 488|0);
+ $29 = HEAP32[$28>>2]|0;
+ $encrypt_fn = $29;
+ while(1) {
+ $30 = $3;
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ break L7;
+ }
+ $32 = $0;
+ $33 = ((($32)) + 128|0);
+ $34 = ((($33)) + 336|0);
+ $35 = $34;
+ $36 = $35;
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($35) + 4)|0;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (_i64Add(($37|0),($40|0),1,0)|0);
+ $42 = tempRet0;
+ $43 = $34;
+ $44 = $43;
+ HEAP32[$44>>2] = $41;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = $42;
+ $47 = $i;
+ $48 = $47;
+ HEAP32[$48>>2] = $41;
+ $49 = (($47) + 4)|0;
+ $50 = $49;
+ HEAP32[$50>>2] = $42;
+ $51 = $i;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($51) + 4)|0;
+ $55 = $54;
+ $56 = HEAP32[$55>>2]|0;
+ $57 = (__gcry_ctz64($53,$56)|0);
+ $ntz = $57;
+ $58 = $ntz;
+ $59 = ($58>>>0)<(16);
+ if ($59) {
+ $60 = $ntz;
+ $61 = $0;
+ $62 = ((($61)) + 128|0);
+ $63 = ((($62)) + 32|0);
+ $64 = (($63) + ($60<<4)|0);
+ $l = $64;
+ } else {
+ $65 = $0;
+ $66 = $i;
+ $67 = $66;
+ $68 = HEAP32[$67>>2]|0;
+ $69 = (($66) + 4)|0;
+ $70 = $69;
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (__gcry_cipher_ocb_get_l($65,$l_tmp,$68,$71)|0);
+ $l = $72;
+ }
+ $73 = $0;
+ $74 = ((($73)) + 64|0);
+ $75 = $l;
+ _buf_xor_1($74,$75,16);
+ $76 = $inbuf;
+ _buf_cpy($l_tmp,$76,16);
+ $77 = $0;
+ $78 = ((($77)) + 80|0);
+ _buf_xor_1($78,$l_tmp,16);
+ $79 = $0;
+ $80 = ((($79)) + 64|0);
+ _buf_xor_1($l_tmp,$80,16);
+ $81 = $encrypt_fn;
+ $82 = $ctx;
+ $83 = (FUNCTION_TABLE_iiii[$81 & 127]($82,$l_tmp,$l_tmp)|0);
+ $burn_depth = $83;
+ $84 = $0;
+ $85 = ((($84)) + 64|0);
+ _buf_xor_1($l_tmp,$85,16);
+ $86 = $outbuf;
+ _buf_cpy($86,$l_tmp,16);
+ $87 = $inbuf;
+ $88 = ((($87)) + 16|0);
+ $inbuf = $88;
+ $89 = $outbuf;
+ $90 = ((($89)) + 16|0);
+ $outbuf = $90;
+ $91 = $3;
+ $92 = (($91) + -1)|0;
+ $3 = $92;
+ }
+ } else {
+ $93 = ((($27)) + 492|0);
+ $94 = HEAP32[$93>>2]|0;
+ $decrypt_fn = $94;
+ while(1) {
+ $95 = $3;
+ $96 = ($95|0)!=(0);
+ if (!($96)) {
+ break L7;
+ }
+ $97 = $0;
+ $98 = ((($97)) + 128|0);
+ $99 = ((($98)) + 336|0);
+ $100 = $99;
+ $101 = $100;
+ $102 = HEAP32[$101>>2]|0;
+ $103 = (($100) + 4)|0;
+ $104 = $103;
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (_i64Add(($102|0),($105|0),1,0)|0);
+ $107 = tempRet0;
+ $108 = $99;
+ $109 = $108;
+ HEAP32[$109>>2] = $106;
+ $110 = (($108) + 4)|0;
+ $111 = $110;
+ HEAP32[$111>>2] = $107;
+ $112 = $i2;
+ $113 = $112;
+ HEAP32[$113>>2] = $106;
+ $114 = (($112) + 4)|0;
+ $115 = $114;
+ HEAP32[$115>>2] = $107;
+ $116 = $i2;
+ $117 = $116;
+ $118 = HEAP32[$117>>2]|0;
+ $119 = (($116) + 4)|0;
+ $120 = $119;
+ $121 = HEAP32[$120>>2]|0;
+ $122 = (__gcry_ctz64($118,$121)|0);
+ $ntz3 = $122;
+ $123 = $ntz3;
+ $124 = ($123>>>0)<(16);
+ if ($124) {
+ $125 = $ntz3;
+ $126 = $0;
+ $127 = ((($126)) + 128|0);
+ $128 = ((($127)) + 32|0);
+ $129 = (($128) + ($125<<4)|0);
+ $l4 = $129;
+ } else {
+ $130 = $0;
+ $131 = $i2;
+ $132 = $131;
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($131) + 4)|0;
+ $135 = $134;
+ $136 = HEAP32[$135>>2]|0;
+ $137 = (__gcry_cipher_ocb_get_l($130,$l_tmp1,$133,$136)|0);
+ $l4 = $137;
+ }
+ $138 = $0;
+ $139 = ((($138)) + 64|0);
+ $140 = $l4;
+ _buf_xor_1($139,$140,16);
+ $141 = $inbuf;
+ _buf_cpy($l_tmp1,$141,16);
+ $142 = $0;
+ $143 = ((($142)) + 64|0);
+ _buf_xor_1($l_tmp1,$143,16);
+ $144 = $decrypt_fn;
+ $145 = $ctx;
+ $146 = (FUNCTION_TABLE_iiii[$144 & 127]($145,$l_tmp1,$l_tmp1)|0);
+ $burn_depth = $146;
+ $147 = $0;
+ $148 = ((($147)) + 64|0);
+ _buf_xor_1($l_tmp1,$148,16);
+ $149 = $0;
+ $150 = ((($149)) + 80|0);
+ _buf_xor_1($150,$l_tmp1,16);
+ $151 = $outbuf;
+ _buf_cpy($151,$l_tmp1,16);
+ $152 = $inbuf;
+ $153 = ((($152)) + 16|0);
+ $inbuf = $153;
+ $154 = $outbuf;
+ $155 = ((($154)) + 16|0);
+ $outbuf = $155;
+ $156 = $3;
+ $157 = (($156) + -1)|0;
+ $3 = $157;
+ }
+ }
+ } while(0);
+ $158 = $burn_depth;
+ $159 = ($158|0)!=(0);
+ if (!($159)) {
+ STACKTOP = sp;return;
+ }
+ $160 = $burn_depth;
+ $161 = (($160) + 16)|0;
+ ___gcry_burn_stack($161);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function __gcry_ctz64($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $3 = sp;
+ $4 = $3;
+ $5 = $4;
+ HEAP32[$5>>2] = $0;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $1;
+ $8 = $3;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($8) + 4)|0;
+ $12 = $11;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($10|0)!=(0);
+ $15 = (0)!=(0);
+ $16 = $14 | $15;
+ $17 = $3;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ if ($16) {
+ $23 = (__gcry_ctz($19)|0);
+ $2 = $23;
+ $26 = $2;
+ STACKTOP = sp;return ($26|0);
+ } else {
+ $24 = (__gcry_ctz($22)|0);
+ $25 = (32 + ($24))|0;
+ $2 = $25;
+ $26 = $2;
+ STACKTOP = sp;return ($26|0);
+ }
+ return (0)|0;
+}
+function __gcry_ctz($x) {
+ $x = $x|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $0;
+ $2 = ($1|0)!=(0);
+ $3 = $0;
+ $4 = (_llvm_cttz_i32(($3|0))|0);
+ $5 = $2 ? $4 : 32;
+ STACKTOP = sp;return ($5|0);
+}
+function _buf_xor_1($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ $21 = HEAP32[$19>>2]|0;
+ $22 = $21 ^ $18;
+ HEAP32[$19>>2] = $22;
+ $23 = $2;
+ $24 = (($23) - 4)|0;
+ $2 = $24;
+ }
+ $25 = $ldst;
+ $dst = $25;
+ $26 = $lsrc;
+ $src = $26;
+ }
+ while(1) {
+ $27 = $2;
+ $28 = ($27|0)!=(0);
+ if (!($28)) {
+ break;
+ }
+ $29 = $src;
+ $30 = ((($29)) + 1|0);
+ $src = $30;
+ $31 = HEAP8[$29>>0]|0;
+ $32 = $31&255;
+ $33 = $dst;
+ $34 = ((($33)) + 1|0);
+ $dst = $34;
+ $35 = HEAP8[$33>>0]|0;
+ $36 = $35&255;
+ $37 = $36 ^ $32;
+ $38 = $37&255;
+ HEAP8[$33>>0] = $38;
+ $39 = $2;
+ $40 = (($39) + -1)|0;
+ $2 = $40;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_aes_ocb_auth($c,$abuf_arg,$nblocks) {
+ $c = $c|0;
+ $abuf_arg = $abuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $abuf = 0, $burn_depth = 0, $ctx = 0, $encrypt_fn = 0, $i = 0, $l = 0, $l_tmp = 0, $ntz = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $l_tmp = sp;
+ $i = sp + 24|0;
+ $_vset_long = sp + 16|0;
+ $0 = $c;
+ $1 = $abuf_arg;
+ $2 = $nblocks;
+ $3 = $0;
+ $4 = ((($3)) + 496|0);
+ $ctx = $4;
+ $5 = $1;
+ $abuf = $5;
+ $burn_depth = 0;
+ $6 = $ctx;
+ $7 = ((($6)) + 496|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $ctx;
+ $11 = ((($10)) + 496|0);
+ $12 = HEAP32[$11>>2]|0;
+ FUNCTION_TABLE_v[$12 & 127]();
+ }
+ $13 = $ctx;
+ $14 = ((($13)) + 488|0);
+ $15 = HEAP32[$14>>2]|0;
+ $encrypt_fn = $15;
+ while(1) {
+ $16 = $2;
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ break;
+ }
+ $18 = $0;
+ $19 = ((($18)) + 128|0);
+ $20 = ((($19)) + 344|0);
+ $21 = $20;
+ $22 = $21;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($21) + 4)|0;
+ $25 = $24;
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (_i64Add(($23|0),($26|0),1,0)|0);
+ $28 = tempRet0;
+ $29 = $20;
+ $30 = $29;
+ HEAP32[$30>>2] = $27;
+ $31 = (($29) + 4)|0;
+ $32 = $31;
+ HEAP32[$32>>2] = $28;
+ $33 = $i;
+ $34 = $33;
+ HEAP32[$34>>2] = $27;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = $28;
+ $37 = $i;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($37) + 4)|0;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (__gcry_ctz64($39,$42)|0);
+ $ntz = $43;
+ $44 = $ntz;
+ $45 = ($44>>>0)<(16);
+ if ($45) {
+ $46 = $ntz;
+ $47 = $0;
+ $48 = ((($47)) + 128|0);
+ $49 = ((($48)) + 32|0);
+ $50 = (($49) + ($46<<4)|0);
+ $l = $50;
+ } else {
+ $51 = $0;
+ $52 = $i;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($52) + 4)|0;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (__gcry_cipher_ocb_get_l($51,$l_tmp,$54,$57)|0);
+ $l = $58;
+ }
+ $59 = $0;
+ $60 = ((($59)) + 128|0);
+ $61 = ((($60)) + 304|0);
+ $62 = $l;
+ _buf_xor_1($61,$62,16);
+ $63 = $0;
+ $64 = ((($63)) + 128|0);
+ $65 = ((($64)) + 304|0);
+ $66 = $abuf;
+ _buf_xor($l_tmp,$65,$66,16);
+ $67 = $encrypt_fn;
+ $68 = $ctx;
+ $69 = (FUNCTION_TABLE_iiii[$67 & 127]($68,$l_tmp,$l_tmp)|0);
+ $burn_depth = $69;
+ $70 = $0;
+ $71 = ((($70)) + 128|0);
+ $72 = ((($71)) + 320|0);
+ _buf_xor_1($72,$l_tmp,16);
+ $73 = $abuf;
+ $74 = ((($73)) + 16|0);
+ $abuf = $74;
+ $75 = $2;
+ $76 = (($75) + -1)|0;
+ $2 = $76;
+ }
+ $_vptr = $l_tmp;
+ $_vlen = 16;
+ $_vset = 0;
+ $77 = $_vset;
+ $78 = $77&255;
+ $79 = $_vset_long;
+ $80 = $79;
+ HEAP32[$80>>2] = $78;
+ $81 = (($79) + 4)|0;
+ $82 = $81;
+ HEAP32[$82>>2] = 0;
+ while(1) {
+ $83 = $_vptr;
+ $84 = $83;
+ $85 = $84 & 7;
+ $86 = ($85|0)!=(0);
+ $87 = $_vlen;
+ $88 = ($87|0)!=(0);
+ $89 = $86 ? $88 : 0;
+ if (!($89)) {
+ break;
+ }
+ $90 = $_vset;
+ $91 = $_vptr;
+ HEAP8[$91>>0] = $90;
+ $92 = $_vptr;
+ $93 = ((($92)) + 1|0);
+ $_vptr = $93;
+ $94 = $_vlen;
+ $95 = (($94) + -1)|0;
+ $_vlen = $95;
+ }
+ $96 = $_vlen;
+ $97 = ($96>>>0)<(8);
+ if (!($97)) {
+ $98 = $_vset_long;
+ $99 = $98;
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (($98) + 4)|0;
+ $102 = $101;
+ $103 = HEAP32[$102>>2]|0;
+ $104 = (___muldi3(($100|0),($103|0),16843009,16843009)|0);
+ $105 = tempRet0;
+ $106 = $_vset_long;
+ $107 = $106;
+ HEAP32[$107>>2] = $104;
+ $108 = (($106) + 4)|0;
+ $109 = $108;
+ HEAP32[$109>>2] = $105;
+ while(1) {
+ $110 = $_vptr;
+ $_vptr_long = $110;
+ $111 = $_vset_long;
+ $112 = $111;
+ $113 = HEAP32[$112>>2]|0;
+ $114 = (($111) + 4)|0;
+ $115 = $114;
+ $116 = HEAP32[$115>>2]|0;
+ $117 = $_vptr_long;
+ $118 = $117;
+ $119 = $118;
+ HEAP32[$119>>2] = $113;
+ $120 = (($118) + 4)|0;
+ $121 = $120;
+ HEAP32[$121>>2] = $116;
+ $122 = $_vlen;
+ $123 = (($122) - 8)|0;
+ $_vlen = $123;
+ $124 = $_vptr;
+ $125 = ((($124)) + 8|0);
+ $_vptr = $125;
+ $126 = $_vlen;
+ $127 = ($126>>>0)>=(8);
+ if (!($127)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $128 = $_vlen;
+ $129 = ($128|0)!=(0);
+ if (!($129)) {
+ break;
+ }
+ $130 = $_vset;
+ $131 = $_vptr;
+ HEAP8[$131>>0] = $130;
+ $132 = $_vptr;
+ $133 = ((($132)) + 1|0);
+ $_vptr = $133;
+ $134 = $_vlen;
+ $135 = (($134) + -1)|0;
+ $_vlen = $135;
+ }
+ $136 = $burn_depth;
+ $137 = ($136|0)!=(0);
+ if (!($137)) {
+ STACKTOP = sp;return;
+ }
+ $138 = $burn_depth;
+ $139 = (($138) + 16)|0;
+ ___gcry_burn_stack($139);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _rmd160_init($context,$flags) {
+ $context = $context|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $flags;
+ $2 = $0;
+ $hd = $2;
+ $3 = $hd;
+ $4 = ((($3)) + 160|0);
+ HEAP32[$4>>2] = 1732584193;
+ $5 = $hd;
+ $6 = ((($5)) + 164|0);
+ HEAP32[$6>>2] = -271733879;
+ $7 = $hd;
+ $8 = ((($7)) + 168|0);
+ HEAP32[$8>>2] = -1732584194;
+ $9 = $hd;
+ $10 = ((($9)) + 172|0);
+ HEAP32[$10>>2] = 271733878;
+ $11 = $hd;
+ $12 = ((($11)) + 176|0);
+ HEAP32[$12>>2] = -1009589776;
+ $13 = $hd;
+ $14 = ((($13)) + 128|0);
+ $15 = $14;
+ $16 = $15;
+ HEAP32[$16>>2] = 0;
+ $17 = (($15) + 4)|0;
+ $18 = $17;
+ HEAP32[$18>>2] = 0;
+ $19 = $hd;
+ $20 = ((($19)) + 136|0);
+ $21 = $20;
+ $22 = $21;
+ HEAP32[$22>>2] = 0;
+ $23 = (($21) + 4)|0;
+ $24 = $23;
+ HEAP32[$24>>2] = 0;
+ $25 = $hd;
+ $26 = ((($25)) + 144|0);
+ HEAP32[$26>>2] = 0;
+ $27 = $hd;
+ $28 = ((($27)) + 148|0);
+ HEAP32[$28>>2] = 64;
+ $29 = $hd;
+ $30 = ((($29)) + 152|0);
+ HEAP32[$30>>2] = 72;
+ STACKTOP = sp;return;
+}
+function _transform($c,$data,$nblks) {
+ $c = $c|0;
+ $data = $data|0;
+ $nblks = $nblks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $data;
+ $2 = $nblks;
+ while(1) {
+ $3 = $0;
+ $4 = $1;
+ $5 = (_transform_blk($3,$4)|0);
+ $burn = $5;
+ $6 = $1;
+ $7 = ((($6)) + 64|0);
+ $1 = $7;
+ $8 = $2;
+ $9 = (($8) + -1)|0;
+ $2 = $9;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ break;
+ }
+ }
+ $11 = $burn;
+ STACKTOP = sp;return ($11|0);
+}
+function _transform_blk($ctx,$data) {
+ $ctx = $ctx|0;
+ $data = $data|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
+ var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
+ var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
+ var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0;
+ var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0;
+ var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
+ var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0;
+ var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0;
+ var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
+ var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0;
+ var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
+ var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0;
+ var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0;
+ var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
+ var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0;
+ var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
+ var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0;
+ var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
+ var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0;
+ var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0;
+ var $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0;
+ var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0;
+ var $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0;
+ var $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0;
+ var $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0;
+ var $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0;
+ var $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0;
+ var $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0;
+ var $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0;
+ var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0;
+ var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0;
+ var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0;
+ var $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0;
+ var $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0;
+ var $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0;
+ var $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0;
+ var $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0;
+ var $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0;
+ var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0;
+ var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0;
+ var $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0;
+ var $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0;
+ var $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0;
+ var $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0;
+ var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0;
+ var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0;
+ var $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0;
+ var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0;
+ var $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0;
+ var $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0;
+ var $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0;
+ var $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0;
+ var $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0;
+ var $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0;
+ var $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0;
+ var $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0;
+ var $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0;
+ var $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0;
+ var $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0;
+ var $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0;
+ var $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0;
+ var $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0;
+ var $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0;
+ var $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0;
+ var $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0;
+ var $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0;
+ var $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0;
+ var $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0;
+ var $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0;
+ var $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0;
+ var $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0;
+ var $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0;
+ var $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0;
+ var $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0;
+ var $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0;
+ var $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0;
+ var $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0;
+ var $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0;
+ var $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0;
+ var $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0;
+ var $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0;
+ var $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0;
+ var $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0;
+ var $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0;
+ var $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0;
+ var $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0;
+ var $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0;
+ var $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0;
+ var $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0;
+ var $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0;
+ var $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0;
+ var $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0;
+ var $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0;
+ var $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0;
+ var $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0;
+ var $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0;
+ var $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0;
+ var $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0;
+ var $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0;
+ var $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0;
+ var $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0;
+ var $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0;
+ var $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0;
+ var $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0;
+ var $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0;
+ var $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0;
+ var $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0;
+ var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0;
+ var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0;
+ var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0;
+ var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0;
+ var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0;
+ var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0;
+ var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0;
+ var $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0;
+ var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0;
+ var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0;
+ var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0;
+ var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0;
+ var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0;
+ var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0;
+ var $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0;
+ var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0;
+ var $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0;
+ var $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0;
+ var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0;
+ var $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0;
+ var $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0;
+ var $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0;
+ var $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0;
+ var $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0;
+ var $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0;
+ var $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0;
+ var $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0;
+ var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0;
+ var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0;
+ var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0;
+ var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0;
+ var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0;
+ var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0;
+ var $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0;
+ var $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0;
+ var $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0;
+ var $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0;
+ var $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0;
+ var $999 = 0, $al = 0, $ar = 0, $bl = 0, $br = 0, $cl = 0, $cr = 0, $dl = 0, $dr = 0, $el = 0, $er = 0, $hd = 0, $i = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $x = sp + 8|0;
+ $0 = $ctx;
+ $1 = $data;
+ $2 = $0;
+ $hd = $2;
+ $i = 0;
+ while(1) {
+ $3 = $i;
+ $4 = ($3|0)<(16);
+ if (!($4)) {
+ break;
+ }
+ $5 = $1;
+ $6 = $i;
+ $7 = $6<<2;
+ $8 = (($5) + ($7)|0);
+ $9 = (_buf_get_le32_1220($8)|0);
+ $10 = $i;
+ $11 = (($x) + ($10<<2)|0);
+ HEAP32[$11>>2] = $9;
+ $12 = $i;
+ $13 = (($12) + 1)|0;
+ $i = $13;
+ }
+ $14 = $hd;
+ $15 = ((($14)) + 160|0);
+ $16 = HEAP32[$15>>2]|0;
+ $ar = $16;
+ $al = $16;
+ $17 = $hd;
+ $18 = ((($17)) + 164|0);
+ $19 = HEAP32[$18>>2]|0;
+ $br = $19;
+ $bl = $19;
+ $20 = $hd;
+ $21 = ((($20)) + 168|0);
+ $22 = HEAP32[$21>>2]|0;
+ $cr = $22;
+ $cl = $22;
+ $23 = $hd;
+ $24 = ((($23)) + 172|0);
+ $25 = HEAP32[$24>>2]|0;
+ $dr = $25;
+ $dl = $25;
+ $26 = $hd;
+ $27 = ((($26)) + 176|0);
+ $28 = HEAP32[$27>>2]|0;
+ $er = $28;
+ $el = $28;
+ $29 = $bl;
+ $30 = $cl;
+ $31 = $29 ^ $30;
+ $32 = $dl;
+ $33 = $31 ^ $32;
+ $34 = (($33) + 0)|0;
+ $35 = HEAP32[$x>>2]|0;
+ $36 = (($34) + ($35))|0;
+ $37 = $al;
+ $38 = (($37) + ($36))|0;
+ $al = $38;
+ $39 = $al;
+ $40 = (_rol_1221($39,11)|0);
+ $41 = $el;
+ $42 = (($40) + ($41))|0;
+ $al = $42;
+ $43 = $cl;
+ $44 = (_rol_1221($43,10)|0);
+ $cl = $44;
+ $45 = $br;
+ $46 = $cr;
+ $47 = $dr;
+ $48 = $47 ^ -1;
+ $49 = $46 | $48;
+ $50 = $45 ^ $49;
+ $51 = (($50) + 1352829926)|0;
+ $52 = ((($x)) + 20|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($51) + ($53))|0;
+ $55 = $ar;
+ $56 = (($55) + ($54))|0;
+ $ar = $56;
+ $57 = $ar;
+ $58 = (_rol_1221($57,8)|0);
+ $59 = $er;
+ $60 = (($58) + ($59))|0;
+ $ar = $60;
+ $61 = $cr;
+ $62 = (_rol_1221($61,10)|0);
+ $cr = $62;
+ $63 = $al;
+ $64 = $bl;
+ $65 = $63 ^ $64;
+ $66 = $cl;
+ $67 = $65 ^ $66;
+ $68 = (($67) + 0)|0;
+ $69 = ((($x)) + 4|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (($68) + ($70))|0;
+ $72 = $el;
+ $73 = (($72) + ($71))|0;
+ $el = $73;
+ $74 = $el;
+ $75 = (_rol_1221($74,14)|0);
+ $76 = $dl;
+ $77 = (($75) + ($76))|0;
+ $el = $77;
+ $78 = $bl;
+ $79 = (_rol_1221($78,10)|0);
+ $bl = $79;
+ $80 = $ar;
+ $81 = $br;
+ $82 = $cr;
+ $83 = $82 ^ -1;
+ $84 = $81 | $83;
+ $85 = $80 ^ $84;
+ $86 = (($85) + 1352829926)|0;
+ $87 = ((($x)) + 56|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (($86) + ($88))|0;
+ $90 = $er;
+ $91 = (($90) + ($89))|0;
+ $er = $91;
+ $92 = $er;
+ $93 = (_rol_1221($92,9)|0);
+ $94 = $dr;
+ $95 = (($93) + ($94))|0;
+ $er = $95;
+ $96 = $br;
+ $97 = (_rol_1221($96,10)|0);
+ $br = $97;
+ $98 = $el;
+ $99 = $al;
+ $100 = $98 ^ $99;
+ $101 = $bl;
+ $102 = $100 ^ $101;
+ $103 = (($102) + 0)|0;
+ $104 = ((($x)) + 8|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($103) + ($105))|0;
+ $107 = $dl;
+ $108 = (($107) + ($106))|0;
+ $dl = $108;
+ $109 = $dl;
+ $110 = (_rol_1221($109,15)|0);
+ $111 = $cl;
+ $112 = (($110) + ($111))|0;
+ $dl = $112;
+ $113 = $al;
+ $114 = (_rol_1221($113,10)|0);
+ $al = $114;
+ $115 = $er;
+ $116 = $ar;
+ $117 = $br;
+ $118 = $117 ^ -1;
+ $119 = $116 | $118;
+ $120 = $115 ^ $119;
+ $121 = (($120) + 1352829926)|0;
+ $122 = ((($x)) + 28|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (($121) + ($123))|0;
+ $125 = $dr;
+ $126 = (($125) + ($124))|0;
+ $dr = $126;
+ $127 = $dr;
+ $128 = (_rol_1221($127,9)|0);
+ $129 = $cr;
+ $130 = (($128) + ($129))|0;
+ $dr = $130;
+ $131 = $ar;
+ $132 = (_rol_1221($131,10)|0);
+ $ar = $132;
+ $133 = $dl;
+ $134 = $el;
+ $135 = $133 ^ $134;
+ $136 = $al;
+ $137 = $135 ^ $136;
+ $138 = (($137) + 0)|0;
+ $139 = ((($x)) + 12|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = (($138) + ($140))|0;
+ $142 = $cl;
+ $143 = (($142) + ($141))|0;
+ $cl = $143;
+ $144 = $cl;
+ $145 = (_rol_1221($144,12)|0);
+ $146 = $bl;
+ $147 = (($145) + ($146))|0;
+ $cl = $147;
+ $148 = $el;
+ $149 = (_rol_1221($148,10)|0);
+ $el = $149;
+ $150 = $dr;
+ $151 = $er;
+ $152 = $ar;
+ $153 = $152 ^ -1;
+ $154 = $151 | $153;
+ $155 = $150 ^ $154;
+ $156 = (($155) + 1352829926)|0;
+ $157 = HEAP32[$x>>2]|0;
+ $158 = (($156) + ($157))|0;
+ $159 = $cr;
+ $160 = (($159) + ($158))|0;
+ $cr = $160;
+ $161 = $cr;
+ $162 = (_rol_1221($161,11)|0);
+ $163 = $br;
+ $164 = (($162) + ($163))|0;
+ $cr = $164;
+ $165 = $er;
+ $166 = (_rol_1221($165,10)|0);
+ $er = $166;
+ $167 = $cl;
+ $168 = $dl;
+ $169 = $167 ^ $168;
+ $170 = $el;
+ $171 = $169 ^ $170;
+ $172 = (($171) + 0)|0;
+ $173 = ((($x)) + 16|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = (($172) + ($174))|0;
+ $176 = $bl;
+ $177 = (($176) + ($175))|0;
+ $bl = $177;
+ $178 = $bl;
+ $179 = (_rol_1221($178,5)|0);
+ $180 = $al;
+ $181 = (($179) + ($180))|0;
+ $bl = $181;
+ $182 = $dl;
+ $183 = (_rol_1221($182,10)|0);
+ $dl = $183;
+ $184 = $cr;
+ $185 = $dr;
+ $186 = $er;
+ $187 = $186 ^ -1;
+ $188 = $185 | $187;
+ $189 = $184 ^ $188;
+ $190 = (($189) + 1352829926)|0;
+ $191 = ((($x)) + 36|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = (($190) + ($192))|0;
+ $194 = $br;
+ $195 = (($194) + ($193))|0;
+ $br = $195;
+ $196 = $br;
+ $197 = (_rol_1221($196,13)|0);
+ $198 = $ar;
+ $199 = (($197) + ($198))|0;
+ $br = $199;
+ $200 = $dr;
+ $201 = (_rol_1221($200,10)|0);
+ $dr = $201;
+ $202 = $bl;
+ $203 = $cl;
+ $204 = $202 ^ $203;
+ $205 = $dl;
+ $206 = $204 ^ $205;
+ $207 = (($206) + 0)|0;
+ $208 = ((($x)) + 20|0);
+ $209 = HEAP32[$208>>2]|0;
+ $210 = (($207) + ($209))|0;
+ $211 = $al;
+ $212 = (($211) + ($210))|0;
+ $al = $212;
+ $213 = $al;
+ $214 = (_rol_1221($213,8)|0);
+ $215 = $el;
+ $216 = (($214) + ($215))|0;
+ $al = $216;
+ $217 = $cl;
+ $218 = (_rol_1221($217,10)|0);
+ $cl = $218;
+ $219 = $br;
+ $220 = $cr;
+ $221 = $dr;
+ $222 = $221 ^ -1;
+ $223 = $220 | $222;
+ $224 = $219 ^ $223;
+ $225 = (($224) + 1352829926)|0;
+ $226 = ((($x)) + 8|0);
+ $227 = HEAP32[$226>>2]|0;
+ $228 = (($225) + ($227))|0;
+ $229 = $ar;
+ $230 = (($229) + ($228))|0;
+ $ar = $230;
+ $231 = $ar;
+ $232 = (_rol_1221($231,15)|0);
+ $233 = $er;
+ $234 = (($232) + ($233))|0;
+ $ar = $234;
+ $235 = $cr;
+ $236 = (_rol_1221($235,10)|0);
+ $cr = $236;
+ $237 = $al;
+ $238 = $bl;
+ $239 = $237 ^ $238;
+ $240 = $cl;
+ $241 = $239 ^ $240;
+ $242 = (($241) + 0)|0;
+ $243 = ((($x)) + 24|0);
+ $244 = HEAP32[$243>>2]|0;
+ $245 = (($242) + ($244))|0;
+ $246 = $el;
+ $247 = (($246) + ($245))|0;
+ $el = $247;
+ $248 = $el;
+ $249 = (_rol_1221($248,7)|0);
+ $250 = $dl;
+ $251 = (($249) + ($250))|0;
+ $el = $251;
+ $252 = $bl;
+ $253 = (_rol_1221($252,10)|0);
+ $bl = $253;
+ $254 = $ar;
+ $255 = $br;
+ $256 = $cr;
+ $257 = $256 ^ -1;
+ $258 = $255 | $257;
+ $259 = $254 ^ $258;
+ $260 = (($259) + 1352829926)|0;
+ $261 = ((($x)) + 44|0);
+ $262 = HEAP32[$261>>2]|0;
+ $263 = (($260) + ($262))|0;
+ $264 = $er;
+ $265 = (($264) + ($263))|0;
+ $er = $265;
+ $266 = $er;
+ $267 = (_rol_1221($266,15)|0);
+ $268 = $dr;
+ $269 = (($267) + ($268))|0;
+ $er = $269;
+ $270 = $br;
+ $271 = (_rol_1221($270,10)|0);
+ $br = $271;
+ $272 = $el;
+ $273 = $al;
+ $274 = $272 ^ $273;
+ $275 = $bl;
+ $276 = $274 ^ $275;
+ $277 = (($276) + 0)|0;
+ $278 = ((($x)) + 28|0);
+ $279 = HEAP32[$278>>2]|0;
+ $280 = (($277) + ($279))|0;
+ $281 = $dl;
+ $282 = (($281) + ($280))|0;
+ $dl = $282;
+ $283 = $dl;
+ $284 = (_rol_1221($283,9)|0);
+ $285 = $cl;
+ $286 = (($284) + ($285))|0;
+ $dl = $286;
+ $287 = $al;
+ $288 = (_rol_1221($287,10)|0);
+ $al = $288;
+ $289 = $er;
+ $290 = $ar;
+ $291 = $br;
+ $292 = $291 ^ -1;
+ $293 = $290 | $292;
+ $294 = $289 ^ $293;
+ $295 = (($294) + 1352829926)|0;
+ $296 = ((($x)) + 16|0);
+ $297 = HEAP32[$296>>2]|0;
+ $298 = (($295) + ($297))|0;
+ $299 = $dr;
+ $300 = (($299) + ($298))|0;
+ $dr = $300;
+ $301 = $dr;
+ $302 = (_rol_1221($301,5)|0);
+ $303 = $cr;
+ $304 = (($302) + ($303))|0;
+ $dr = $304;
+ $305 = $ar;
+ $306 = (_rol_1221($305,10)|0);
+ $ar = $306;
+ $307 = $dl;
+ $308 = $el;
+ $309 = $307 ^ $308;
+ $310 = $al;
+ $311 = $309 ^ $310;
+ $312 = (($311) + 0)|0;
+ $313 = ((($x)) + 32|0);
+ $314 = HEAP32[$313>>2]|0;
+ $315 = (($312) + ($314))|0;
+ $316 = $cl;
+ $317 = (($316) + ($315))|0;
+ $cl = $317;
+ $318 = $cl;
+ $319 = (_rol_1221($318,11)|0);
+ $320 = $bl;
+ $321 = (($319) + ($320))|0;
+ $cl = $321;
+ $322 = $el;
+ $323 = (_rol_1221($322,10)|0);
+ $el = $323;
+ $324 = $dr;
+ $325 = $er;
+ $326 = $ar;
+ $327 = $326 ^ -1;
+ $328 = $325 | $327;
+ $329 = $324 ^ $328;
+ $330 = (($329) + 1352829926)|0;
+ $331 = ((($x)) + 52|0);
+ $332 = HEAP32[$331>>2]|0;
+ $333 = (($330) + ($332))|0;
+ $334 = $cr;
+ $335 = (($334) + ($333))|0;
+ $cr = $335;
+ $336 = $cr;
+ $337 = (_rol_1221($336,7)|0);
+ $338 = $br;
+ $339 = (($337) + ($338))|0;
+ $cr = $339;
+ $340 = $er;
+ $341 = (_rol_1221($340,10)|0);
+ $er = $341;
+ $342 = $cl;
+ $343 = $dl;
+ $344 = $342 ^ $343;
+ $345 = $el;
+ $346 = $344 ^ $345;
+ $347 = (($346) + 0)|0;
+ $348 = ((($x)) + 36|0);
+ $349 = HEAP32[$348>>2]|0;
+ $350 = (($347) + ($349))|0;
+ $351 = $bl;
+ $352 = (($351) + ($350))|0;
+ $bl = $352;
+ $353 = $bl;
+ $354 = (_rol_1221($353,13)|0);
+ $355 = $al;
+ $356 = (($354) + ($355))|0;
+ $bl = $356;
+ $357 = $dl;
+ $358 = (_rol_1221($357,10)|0);
+ $dl = $358;
+ $359 = $cr;
+ $360 = $dr;
+ $361 = $er;
+ $362 = $361 ^ -1;
+ $363 = $360 | $362;
+ $364 = $359 ^ $363;
+ $365 = (($364) + 1352829926)|0;
+ $366 = ((($x)) + 24|0);
+ $367 = HEAP32[$366>>2]|0;
+ $368 = (($365) + ($367))|0;
+ $369 = $br;
+ $370 = (($369) + ($368))|0;
+ $br = $370;
+ $371 = $br;
+ $372 = (_rol_1221($371,7)|0);
+ $373 = $ar;
+ $374 = (($372) + ($373))|0;
+ $br = $374;
+ $375 = $dr;
+ $376 = (_rol_1221($375,10)|0);
+ $dr = $376;
+ $377 = $bl;
+ $378 = $cl;
+ $379 = $377 ^ $378;
+ $380 = $dl;
+ $381 = $379 ^ $380;
+ $382 = (($381) + 0)|0;
+ $383 = ((($x)) + 40|0);
+ $384 = HEAP32[$383>>2]|0;
+ $385 = (($382) + ($384))|0;
+ $386 = $al;
+ $387 = (($386) + ($385))|0;
+ $al = $387;
+ $388 = $al;
+ $389 = (_rol_1221($388,14)|0);
+ $390 = $el;
+ $391 = (($389) + ($390))|0;
+ $al = $391;
+ $392 = $cl;
+ $393 = (_rol_1221($392,10)|0);
+ $cl = $393;
+ $394 = $br;
+ $395 = $cr;
+ $396 = $dr;
+ $397 = $396 ^ -1;
+ $398 = $395 | $397;
+ $399 = $394 ^ $398;
+ $400 = (($399) + 1352829926)|0;
+ $401 = ((($x)) + 60|0);
+ $402 = HEAP32[$401>>2]|0;
+ $403 = (($400) + ($402))|0;
+ $404 = $ar;
+ $405 = (($404) + ($403))|0;
+ $ar = $405;
+ $406 = $ar;
+ $407 = (_rol_1221($406,8)|0);
+ $408 = $er;
+ $409 = (($407) + ($408))|0;
+ $ar = $409;
+ $410 = $cr;
+ $411 = (_rol_1221($410,10)|0);
+ $cr = $411;
+ $412 = $al;
+ $413 = $bl;
+ $414 = $412 ^ $413;
+ $415 = $cl;
+ $416 = $414 ^ $415;
+ $417 = (($416) + 0)|0;
+ $418 = ((($x)) + 44|0);
+ $419 = HEAP32[$418>>2]|0;
+ $420 = (($417) + ($419))|0;
+ $421 = $el;
+ $422 = (($421) + ($420))|0;
+ $el = $422;
+ $423 = $el;
+ $424 = (_rol_1221($423,15)|0);
+ $425 = $dl;
+ $426 = (($424) + ($425))|0;
+ $el = $426;
+ $427 = $bl;
+ $428 = (_rol_1221($427,10)|0);
+ $bl = $428;
+ $429 = $ar;
+ $430 = $br;
+ $431 = $cr;
+ $432 = $431 ^ -1;
+ $433 = $430 | $432;
+ $434 = $429 ^ $433;
+ $435 = (($434) + 1352829926)|0;
+ $436 = ((($x)) + 32|0);
+ $437 = HEAP32[$436>>2]|0;
+ $438 = (($435) + ($437))|0;
+ $439 = $er;
+ $440 = (($439) + ($438))|0;
+ $er = $440;
+ $441 = $er;
+ $442 = (_rol_1221($441,11)|0);
+ $443 = $dr;
+ $444 = (($442) + ($443))|0;
+ $er = $444;
+ $445 = $br;
+ $446 = (_rol_1221($445,10)|0);
+ $br = $446;
+ $447 = $el;
+ $448 = $al;
+ $449 = $447 ^ $448;
+ $450 = $bl;
+ $451 = $449 ^ $450;
+ $452 = (($451) + 0)|0;
+ $453 = ((($x)) + 48|0);
+ $454 = HEAP32[$453>>2]|0;
+ $455 = (($452) + ($454))|0;
+ $456 = $dl;
+ $457 = (($456) + ($455))|0;
+ $dl = $457;
+ $458 = $dl;
+ $459 = (_rol_1221($458,6)|0);
+ $460 = $cl;
+ $461 = (($459) + ($460))|0;
+ $dl = $461;
+ $462 = $al;
+ $463 = (_rol_1221($462,10)|0);
+ $al = $463;
+ $464 = $er;
+ $465 = $ar;
+ $466 = $br;
+ $467 = $466 ^ -1;
+ $468 = $465 | $467;
+ $469 = $464 ^ $468;
+ $470 = (($469) + 1352829926)|0;
+ $471 = ((($x)) + 4|0);
+ $472 = HEAP32[$471>>2]|0;
+ $473 = (($470) + ($472))|0;
+ $474 = $dr;
+ $475 = (($474) + ($473))|0;
+ $dr = $475;
+ $476 = $dr;
+ $477 = (_rol_1221($476,14)|0);
+ $478 = $cr;
+ $479 = (($477) + ($478))|0;
+ $dr = $479;
+ $480 = $ar;
+ $481 = (_rol_1221($480,10)|0);
+ $ar = $481;
+ $482 = $dl;
+ $483 = $el;
+ $484 = $482 ^ $483;
+ $485 = $al;
+ $486 = $484 ^ $485;
+ $487 = (($486) + 0)|0;
+ $488 = ((($x)) + 52|0);
+ $489 = HEAP32[$488>>2]|0;
+ $490 = (($487) + ($489))|0;
+ $491 = $cl;
+ $492 = (($491) + ($490))|0;
+ $cl = $492;
+ $493 = $cl;
+ $494 = (_rol_1221($493,7)|0);
+ $495 = $bl;
+ $496 = (($494) + ($495))|0;
+ $cl = $496;
+ $497 = $el;
+ $498 = (_rol_1221($497,10)|0);
+ $el = $498;
+ $499 = $dr;
+ $500 = $er;
+ $501 = $ar;
+ $502 = $501 ^ -1;
+ $503 = $500 | $502;
+ $504 = $499 ^ $503;
+ $505 = (($504) + 1352829926)|0;
+ $506 = ((($x)) + 40|0);
+ $507 = HEAP32[$506>>2]|0;
+ $508 = (($505) + ($507))|0;
+ $509 = $cr;
+ $510 = (($509) + ($508))|0;
+ $cr = $510;
+ $511 = $cr;
+ $512 = (_rol_1221($511,14)|0);
+ $513 = $br;
+ $514 = (($512) + ($513))|0;
+ $cr = $514;
+ $515 = $er;
+ $516 = (_rol_1221($515,10)|0);
+ $er = $516;
+ $517 = $cl;
+ $518 = $dl;
+ $519 = $517 ^ $518;
+ $520 = $el;
+ $521 = $519 ^ $520;
+ $522 = (($521) + 0)|0;
+ $523 = ((($x)) + 56|0);
+ $524 = HEAP32[$523>>2]|0;
+ $525 = (($522) + ($524))|0;
+ $526 = $bl;
+ $527 = (($526) + ($525))|0;
+ $bl = $527;
+ $528 = $bl;
+ $529 = (_rol_1221($528,9)|0);
+ $530 = $al;
+ $531 = (($529) + ($530))|0;
+ $bl = $531;
+ $532 = $dl;
+ $533 = (_rol_1221($532,10)|0);
+ $dl = $533;
+ $534 = $cr;
+ $535 = $dr;
+ $536 = $er;
+ $537 = $536 ^ -1;
+ $538 = $535 | $537;
+ $539 = $534 ^ $538;
+ $540 = (($539) + 1352829926)|0;
+ $541 = ((($x)) + 12|0);
+ $542 = HEAP32[$541>>2]|0;
+ $543 = (($540) + ($542))|0;
+ $544 = $br;
+ $545 = (($544) + ($543))|0;
+ $br = $545;
+ $546 = $br;
+ $547 = (_rol_1221($546,12)|0);
+ $548 = $ar;
+ $549 = (($547) + ($548))|0;
+ $br = $549;
+ $550 = $dr;
+ $551 = (_rol_1221($550,10)|0);
+ $dr = $551;
+ $552 = $bl;
+ $553 = $cl;
+ $554 = $552 ^ $553;
+ $555 = $dl;
+ $556 = $554 ^ $555;
+ $557 = (($556) + 0)|0;
+ $558 = ((($x)) + 60|0);
+ $559 = HEAP32[$558>>2]|0;
+ $560 = (($557) + ($559))|0;
+ $561 = $al;
+ $562 = (($561) + ($560))|0;
+ $al = $562;
+ $563 = $al;
+ $564 = (_rol_1221($563,8)|0);
+ $565 = $el;
+ $566 = (($564) + ($565))|0;
+ $al = $566;
+ $567 = $cl;
+ $568 = (_rol_1221($567,10)|0);
+ $cl = $568;
+ $569 = $br;
+ $570 = $cr;
+ $571 = $dr;
+ $572 = $571 ^ -1;
+ $573 = $570 | $572;
+ $574 = $569 ^ $573;
+ $575 = (($574) + 1352829926)|0;
+ $576 = ((($x)) + 48|0);
+ $577 = HEAP32[$576>>2]|0;
+ $578 = (($575) + ($577))|0;
+ $579 = $ar;
+ $580 = (($579) + ($578))|0;
+ $ar = $580;
+ $581 = $ar;
+ $582 = (_rol_1221($581,6)|0);
+ $583 = $er;
+ $584 = (($582) + ($583))|0;
+ $ar = $584;
+ $585 = $cr;
+ $586 = (_rol_1221($585,10)|0);
+ $cr = $586;
+ $587 = $al;
+ $588 = $bl;
+ $589 = $587 & $588;
+ $590 = $al;
+ $591 = $590 ^ -1;
+ $592 = $cl;
+ $593 = $591 & $592;
+ $594 = $589 | $593;
+ $595 = (($594) + 1518500249)|0;
+ $596 = ((($x)) + 28|0);
+ $597 = HEAP32[$596>>2]|0;
+ $598 = (($595) + ($597))|0;
+ $599 = $el;
+ $600 = (($599) + ($598))|0;
+ $el = $600;
+ $601 = $el;
+ $602 = (_rol_1221($601,7)|0);
+ $603 = $dl;
+ $604 = (($602) + ($603))|0;
+ $el = $604;
+ $605 = $bl;
+ $606 = (_rol_1221($605,10)|0);
+ $bl = $606;
+ $607 = $ar;
+ $608 = $cr;
+ $609 = $607 & $608;
+ $610 = $br;
+ $611 = $cr;
+ $612 = $611 ^ -1;
+ $613 = $610 & $612;
+ $614 = $609 | $613;
+ $615 = (($614) + 1548603684)|0;
+ $616 = ((($x)) + 24|0);
+ $617 = HEAP32[$616>>2]|0;
+ $618 = (($615) + ($617))|0;
+ $619 = $er;
+ $620 = (($619) + ($618))|0;
+ $er = $620;
+ $621 = $er;
+ $622 = (_rol_1221($621,9)|0);
+ $623 = $dr;
+ $624 = (($622) + ($623))|0;
+ $er = $624;
+ $625 = $br;
+ $626 = (_rol_1221($625,10)|0);
+ $br = $626;
+ $627 = $el;
+ $628 = $al;
+ $629 = $627 & $628;
+ $630 = $el;
+ $631 = $630 ^ -1;
+ $632 = $bl;
+ $633 = $631 & $632;
+ $634 = $629 | $633;
+ $635 = (($634) + 1518500249)|0;
+ $636 = ((($x)) + 16|0);
+ $637 = HEAP32[$636>>2]|0;
+ $638 = (($635) + ($637))|0;
+ $639 = $dl;
+ $640 = (($639) + ($638))|0;
+ $dl = $640;
+ $641 = $dl;
+ $642 = (_rol_1221($641,6)|0);
+ $643 = $cl;
+ $644 = (($642) + ($643))|0;
+ $dl = $644;
+ $645 = $al;
+ $646 = (_rol_1221($645,10)|0);
+ $al = $646;
+ $647 = $er;
+ $648 = $br;
+ $649 = $647 & $648;
+ $650 = $ar;
+ $651 = $br;
+ $652 = $651 ^ -1;
+ $653 = $650 & $652;
+ $654 = $649 | $653;
+ $655 = (($654) + 1548603684)|0;
+ $656 = ((($x)) + 44|0);
+ $657 = HEAP32[$656>>2]|0;
+ $658 = (($655) + ($657))|0;
+ $659 = $dr;
+ $660 = (($659) + ($658))|0;
+ $dr = $660;
+ $661 = $dr;
+ $662 = (_rol_1221($661,13)|0);
+ $663 = $cr;
+ $664 = (($662) + ($663))|0;
+ $dr = $664;
+ $665 = $ar;
+ $666 = (_rol_1221($665,10)|0);
+ $ar = $666;
+ $667 = $dl;
+ $668 = $el;
+ $669 = $667 & $668;
+ $670 = $dl;
+ $671 = $670 ^ -1;
+ $672 = $al;
+ $673 = $671 & $672;
+ $674 = $669 | $673;
+ $675 = (($674) + 1518500249)|0;
+ $676 = ((($x)) + 52|0);
+ $677 = HEAP32[$676>>2]|0;
+ $678 = (($675) + ($677))|0;
+ $679 = $cl;
+ $680 = (($679) + ($678))|0;
+ $cl = $680;
+ $681 = $cl;
+ $682 = (_rol_1221($681,8)|0);
+ $683 = $bl;
+ $684 = (($682) + ($683))|0;
+ $cl = $684;
+ $685 = $el;
+ $686 = (_rol_1221($685,10)|0);
+ $el = $686;
+ $687 = $dr;
+ $688 = $ar;
+ $689 = $687 & $688;
+ $690 = $er;
+ $691 = $ar;
+ $692 = $691 ^ -1;
+ $693 = $690 & $692;
+ $694 = $689 | $693;
+ $695 = (($694) + 1548603684)|0;
+ $696 = ((($x)) + 12|0);
+ $697 = HEAP32[$696>>2]|0;
+ $698 = (($695) + ($697))|0;
+ $699 = $cr;
+ $700 = (($699) + ($698))|0;
+ $cr = $700;
+ $701 = $cr;
+ $702 = (_rol_1221($701,15)|0);
+ $703 = $br;
+ $704 = (($702) + ($703))|0;
+ $cr = $704;
+ $705 = $er;
+ $706 = (_rol_1221($705,10)|0);
+ $er = $706;
+ $707 = $cl;
+ $708 = $dl;
+ $709 = $707 & $708;
+ $710 = $cl;
+ $711 = $710 ^ -1;
+ $712 = $el;
+ $713 = $711 & $712;
+ $714 = $709 | $713;
+ $715 = (($714) + 1518500249)|0;
+ $716 = ((($x)) + 4|0);
+ $717 = HEAP32[$716>>2]|0;
+ $718 = (($715) + ($717))|0;
+ $719 = $bl;
+ $720 = (($719) + ($718))|0;
+ $bl = $720;
+ $721 = $bl;
+ $722 = (_rol_1221($721,13)|0);
+ $723 = $al;
+ $724 = (($722) + ($723))|0;
+ $bl = $724;
+ $725 = $dl;
+ $726 = (_rol_1221($725,10)|0);
+ $dl = $726;
+ $727 = $cr;
+ $728 = $er;
+ $729 = $727 & $728;
+ $730 = $dr;
+ $731 = $er;
+ $732 = $731 ^ -1;
+ $733 = $730 & $732;
+ $734 = $729 | $733;
+ $735 = (($734) + 1548603684)|0;
+ $736 = ((($x)) + 28|0);
+ $737 = HEAP32[$736>>2]|0;
+ $738 = (($735) + ($737))|0;
+ $739 = $br;
+ $740 = (($739) + ($738))|0;
+ $br = $740;
+ $741 = $br;
+ $742 = (_rol_1221($741,7)|0);
+ $743 = $ar;
+ $744 = (($742) + ($743))|0;
+ $br = $744;
+ $745 = $dr;
+ $746 = (_rol_1221($745,10)|0);
+ $dr = $746;
+ $747 = $bl;
+ $748 = $cl;
+ $749 = $747 & $748;
+ $750 = $bl;
+ $751 = $750 ^ -1;
+ $752 = $dl;
+ $753 = $751 & $752;
+ $754 = $749 | $753;
+ $755 = (($754) + 1518500249)|0;
+ $756 = ((($x)) + 40|0);
+ $757 = HEAP32[$756>>2]|0;
+ $758 = (($755) + ($757))|0;
+ $759 = $al;
+ $760 = (($759) + ($758))|0;
+ $al = $760;
+ $761 = $al;
+ $762 = (_rol_1221($761,11)|0);
+ $763 = $el;
+ $764 = (($762) + ($763))|0;
+ $al = $764;
+ $765 = $cl;
+ $766 = (_rol_1221($765,10)|0);
+ $cl = $766;
+ $767 = $br;
+ $768 = $dr;
+ $769 = $767 & $768;
+ $770 = $cr;
+ $771 = $dr;
+ $772 = $771 ^ -1;
+ $773 = $770 & $772;
+ $774 = $769 | $773;
+ $775 = (($774) + 1548603684)|0;
+ $776 = HEAP32[$x>>2]|0;
+ $777 = (($775) + ($776))|0;
+ $778 = $ar;
+ $779 = (($778) + ($777))|0;
+ $ar = $779;
+ $780 = $ar;
+ $781 = (_rol_1221($780,12)|0);
+ $782 = $er;
+ $783 = (($781) + ($782))|0;
+ $ar = $783;
+ $784 = $cr;
+ $785 = (_rol_1221($784,10)|0);
+ $cr = $785;
+ $786 = $al;
+ $787 = $bl;
+ $788 = $786 & $787;
+ $789 = $al;
+ $790 = $789 ^ -1;
+ $791 = $cl;
+ $792 = $790 & $791;
+ $793 = $788 | $792;
+ $794 = (($793) + 1518500249)|0;
+ $795 = ((($x)) + 24|0);
+ $796 = HEAP32[$795>>2]|0;
+ $797 = (($794) + ($796))|0;
+ $798 = $el;
+ $799 = (($798) + ($797))|0;
+ $el = $799;
+ $800 = $el;
+ $801 = (_rol_1221($800,9)|0);
+ $802 = $dl;
+ $803 = (($801) + ($802))|0;
+ $el = $803;
+ $804 = $bl;
+ $805 = (_rol_1221($804,10)|0);
+ $bl = $805;
+ $806 = $ar;
+ $807 = $cr;
+ $808 = $806 & $807;
+ $809 = $br;
+ $810 = $cr;
+ $811 = $810 ^ -1;
+ $812 = $809 & $811;
+ $813 = $808 | $812;
+ $814 = (($813) + 1548603684)|0;
+ $815 = ((($x)) + 52|0);
+ $816 = HEAP32[$815>>2]|0;
+ $817 = (($814) + ($816))|0;
+ $818 = $er;
+ $819 = (($818) + ($817))|0;
+ $er = $819;
+ $820 = $er;
+ $821 = (_rol_1221($820,8)|0);
+ $822 = $dr;
+ $823 = (($821) + ($822))|0;
+ $er = $823;
+ $824 = $br;
+ $825 = (_rol_1221($824,10)|0);
+ $br = $825;
+ $826 = $el;
+ $827 = $al;
+ $828 = $826 & $827;
+ $829 = $el;
+ $830 = $829 ^ -1;
+ $831 = $bl;
+ $832 = $830 & $831;
+ $833 = $828 | $832;
+ $834 = (($833) + 1518500249)|0;
+ $835 = ((($x)) + 60|0);
+ $836 = HEAP32[$835>>2]|0;
+ $837 = (($834) + ($836))|0;
+ $838 = $dl;
+ $839 = (($838) + ($837))|0;
+ $dl = $839;
+ $840 = $dl;
+ $841 = (_rol_1221($840,7)|0);
+ $842 = $cl;
+ $843 = (($841) + ($842))|0;
+ $dl = $843;
+ $844 = $al;
+ $845 = (_rol_1221($844,10)|0);
+ $al = $845;
+ $846 = $er;
+ $847 = $br;
+ $848 = $846 & $847;
+ $849 = $ar;
+ $850 = $br;
+ $851 = $850 ^ -1;
+ $852 = $849 & $851;
+ $853 = $848 | $852;
+ $854 = (($853) + 1548603684)|0;
+ $855 = ((($x)) + 20|0);
+ $856 = HEAP32[$855>>2]|0;
+ $857 = (($854) + ($856))|0;
+ $858 = $dr;
+ $859 = (($858) + ($857))|0;
+ $dr = $859;
+ $860 = $dr;
+ $861 = (_rol_1221($860,9)|0);
+ $862 = $cr;
+ $863 = (($861) + ($862))|0;
+ $dr = $863;
+ $864 = $ar;
+ $865 = (_rol_1221($864,10)|0);
+ $ar = $865;
+ $866 = $dl;
+ $867 = $el;
+ $868 = $866 & $867;
+ $869 = $dl;
+ $870 = $869 ^ -1;
+ $871 = $al;
+ $872 = $870 & $871;
+ $873 = $868 | $872;
+ $874 = (($873) + 1518500249)|0;
+ $875 = ((($x)) + 12|0);
+ $876 = HEAP32[$875>>2]|0;
+ $877 = (($874) + ($876))|0;
+ $878 = $cl;
+ $879 = (($878) + ($877))|0;
+ $cl = $879;
+ $880 = $cl;
+ $881 = (_rol_1221($880,15)|0);
+ $882 = $bl;
+ $883 = (($881) + ($882))|0;
+ $cl = $883;
+ $884 = $el;
+ $885 = (_rol_1221($884,10)|0);
+ $el = $885;
+ $886 = $dr;
+ $887 = $ar;
+ $888 = $886 & $887;
+ $889 = $er;
+ $890 = $ar;
+ $891 = $890 ^ -1;
+ $892 = $889 & $891;
+ $893 = $888 | $892;
+ $894 = (($893) + 1548603684)|0;
+ $895 = ((($x)) + 40|0);
+ $896 = HEAP32[$895>>2]|0;
+ $897 = (($894) + ($896))|0;
+ $898 = $cr;
+ $899 = (($898) + ($897))|0;
+ $cr = $899;
+ $900 = $cr;
+ $901 = (_rol_1221($900,11)|0);
+ $902 = $br;
+ $903 = (($901) + ($902))|0;
+ $cr = $903;
+ $904 = $er;
+ $905 = (_rol_1221($904,10)|0);
+ $er = $905;
+ $906 = $cl;
+ $907 = $dl;
+ $908 = $906 & $907;
+ $909 = $cl;
+ $910 = $909 ^ -1;
+ $911 = $el;
+ $912 = $910 & $911;
+ $913 = $908 | $912;
+ $914 = (($913) + 1518500249)|0;
+ $915 = ((($x)) + 48|0);
+ $916 = HEAP32[$915>>2]|0;
+ $917 = (($914) + ($916))|0;
+ $918 = $bl;
+ $919 = (($918) + ($917))|0;
+ $bl = $919;
+ $920 = $bl;
+ $921 = (_rol_1221($920,7)|0);
+ $922 = $al;
+ $923 = (($921) + ($922))|0;
+ $bl = $923;
+ $924 = $dl;
+ $925 = (_rol_1221($924,10)|0);
+ $dl = $925;
+ $926 = $cr;
+ $927 = $er;
+ $928 = $926 & $927;
+ $929 = $dr;
+ $930 = $er;
+ $931 = $930 ^ -1;
+ $932 = $929 & $931;
+ $933 = $928 | $932;
+ $934 = (($933) + 1548603684)|0;
+ $935 = ((($x)) + 56|0);
+ $936 = HEAP32[$935>>2]|0;
+ $937 = (($934) + ($936))|0;
+ $938 = $br;
+ $939 = (($938) + ($937))|0;
+ $br = $939;
+ $940 = $br;
+ $941 = (_rol_1221($940,7)|0);
+ $942 = $ar;
+ $943 = (($941) + ($942))|0;
+ $br = $943;
+ $944 = $dr;
+ $945 = (_rol_1221($944,10)|0);
+ $dr = $945;
+ $946 = $bl;
+ $947 = $cl;
+ $948 = $946 & $947;
+ $949 = $bl;
+ $950 = $949 ^ -1;
+ $951 = $dl;
+ $952 = $950 & $951;
+ $953 = $948 | $952;
+ $954 = (($953) + 1518500249)|0;
+ $955 = HEAP32[$x>>2]|0;
+ $956 = (($954) + ($955))|0;
+ $957 = $al;
+ $958 = (($957) + ($956))|0;
+ $al = $958;
+ $959 = $al;
+ $960 = (_rol_1221($959,12)|0);
+ $961 = $el;
+ $962 = (($960) + ($961))|0;
+ $al = $962;
+ $963 = $cl;
+ $964 = (_rol_1221($963,10)|0);
+ $cl = $964;
+ $965 = $br;
+ $966 = $dr;
+ $967 = $965 & $966;
+ $968 = $cr;
+ $969 = $dr;
+ $970 = $969 ^ -1;
+ $971 = $968 & $970;
+ $972 = $967 | $971;
+ $973 = (($972) + 1548603684)|0;
+ $974 = ((($x)) + 60|0);
+ $975 = HEAP32[$974>>2]|0;
+ $976 = (($973) + ($975))|0;
+ $977 = $ar;
+ $978 = (($977) + ($976))|0;
+ $ar = $978;
+ $979 = $ar;
+ $980 = (_rol_1221($979,7)|0);
+ $981 = $er;
+ $982 = (($980) + ($981))|0;
+ $ar = $982;
+ $983 = $cr;
+ $984 = (_rol_1221($983,10)|0);
+ $cr = $984;
+ $985 = $al;
+ $986 = $bl;
+ $987 = $985 & $986;
+ $988 = $al;
+ $989 = $988 ^ -1;
+ $990 = $cl;
+ $991 = $989 & $990;
+ $992 = $987 | $991;
+ $993 = (($992) + 1518500249)|0;
+ $994 = ((($x)) + 36|0);
+ $995 = HEAP32[$994>>2]|0;
+ $996 = (($993) + ($995))|0;
+ $997 = $el;
+ $998 = (($997) + ($996))|0;
+ $el = $998;
+ $999 = $el;
+ $1000 = (_rol_1221($999,15)|0);
+ $1001 = $dl;
+ $1002 = (($1000) + ($1001))|0;
+ $el = $1002;
+ $1003 = $bl;
+ $1004 = (_rol_1221($1003,10)|0);
+ $bl = $1004;
+ $1005 = $ar;
+ $1006 = $cr;
+ $1007 = $1005 & $1006;
+ $1008 = $br;
+ $1009 = $cr;
+ $1010 = $1009 ^ -1;
+ $1011 = $1008 & $1010;
+ $1012 = $1007 | $1011;
+ $1013 = (($1012) + 1548603684)|0;
+ $1014 = ((($x)) + 32|0);
+ $1015 = HEAP32[$1014>>2]|0;
+ $1016 = (($1013) + ($1015))|0;
+ $1017 = $er;
+ $1018 = (($1017) + ($1016))|0;
+ $er = $1018;
+ $1019 = $er;
+ $1020 = (_rol_1221($1019,12)|0);
+ $1021 = $dr;
+ $1022 = (($1020) + ($1021))|0;
+ $er = $1022;
+ $1023 = $br;
+ $1024 = (_rol_1221($1023,10)|0);
+ $br = $1024;
+ $1025 = $el;
+ $1026 = $al;
+ $1027 = $1025 & $1026;
+ $1028 = $el;
+ $1029 = $1028 ^ -1;
+ $1030 = $bl;
+ $1031 = $1029 & $1030;
+ $1032 = $1027 | $1031;
+ $1033 = (($1032) + 1518500249)|0;
+ $1034 = ((($x)) + 20|0);
+ $1035 = HEAP32[$1034>>2]|0;
+ $1036 = (($1033) + ($1035))|0;
+ $1037 = $dl;
+ $1038 = (($1037) + ($1036))|0;
+ $dl = $1038;
+ $1039 = $dl;
+ $1040 = (_rol_1221($1039,9)|0);
+ $1041 = $cl;
+ $1042 = (($1040) + ($1041))|0;
+ $dl = $1042;
+ $1043 = $al;
+ $1044 = (_rol_1221($1043,10)|0);
+ $al = $1044;
+ $1045 = $er;
+ $1046 = $br;
+ $1047 = $1045 & $1046;
+ $1048 = $ar;
+ $1049 = $br;
+ $1050 = $1049 ^ -1;
+ $1051 = $1048 & $1050;
+ $1052 = $1047 | $1051;
+ $1053 = (($1052) + 1548603684)|0;
+ $1054 = ((($x)) + 48|0);
+ $1055 = HEAP32[$1054>>2]|0;
+ $1056 = (($1053) + ($1055))|0;
+ $1057 = $dr;
+ $1058 = (($1057) + ($1056))|0;
+ $dr = $1058;
+ $1059 = $dr;
+ $1060 = (_rol_1221($1059,7)|0);
+ $1061 = $cr;
+ $1062 = (($1060) + ($1061))|0;
+ $dr = $1062;
+ $1063 = $ar;
+ $1064 = (_rol_1221($1063,10)|0);
+ $ar = $1064;
+ $1065 = $dl;
+ $1066 = $el;
+ $1067 = $1065 & $1066;
+ $1068 = $dl;
+ $1069 = $1068 ^ -1;
+ $1070 = $al;
+ $1071 = $1069 & $1070;
+ $1072 = $1067 | $1071;
+ $1073 = (($1072) + 1518500249)|0;
+ $1074 = ((($x)) + 8|0);
+ $1075 = HEAP32[$1074>>2]|0;
+ $1076 = (($1073) + ($1075))|0;
+ $1077 = $cl;
+ $1078 = (($1077) + ($1076))|0;
+ $cl = $1078;
+ $1079 = $cl;
+ $1080 = (_rol_1221($1079,11)|0);
+ $1081 = $bl;
+ $1082 = (($1080) + ($1081))|0;
+ $cl = $1082;
+ $1083 = $el;
+ $1084 = (_rol_1221($1083,10)|0);
+ $el = $1084;
+ $1085 = $dr;
+ $1086 = $ar;
+ $1087 = $1085 & $1086;
+ $1088 = $er;
+ $1089 = $ar;
+ $1090 = $1089 ^ -1;
+ $1091 = $1088 & $1090;
+ $1092 = $1087 | $1091;
+ $1093 = (($1092) + 1548603684)|0;
+ $1094 = ((($x)) + 16|0);
+ $1095 = HEAP32[$1094>>2]|0;
+ $1096 = (($1093) + ($1095))|0;
+ $1097 = $cr;
+ $1098 = (($1097) + ($1096))|0;
+ $cr = $1098;
+ $1099 = $cr;
+ $1100 = (_rol_1221($1099,6)|0);
+ $1101 = $br;
+ $1102 = (($1100) + ($1101))|0;
+ $cr = $1102;
+ $1103 = $er;
+ $1104 = (_rol_1221($1103,10)|0);
+ $er = $1104;
+ $1105 = $cl;
+ $1106 = $dl;
+ $1107 = $1105 & $1106;
+ $1108 = $cl;
+ $1109 = $1108 ^ -1;
+ $1110 = $el;
+ $1111 = $1109 & $1110;
+ $1112 = $1107 | $1111;
+ $1113 = (($1112) + 1518500249)|0;
+ $1114 = ((($x)) + 56|0);
+ $1115 = HEAP32[$1114>>2]|0;
+ $1116 = (($1113) + ($1115))|0;
+ $1117 = $bl;
+ $1118 = (($1117) + ($1116))|0;
+ $bl = $1118;
+ $1119 = $bl;
+ $1120 = (_rol_1221($1119,7)|0);
+ $1121 = $al;
+ $1122 = (($1120) + ($1121))|0;
+ $bl = $1122;
+ $1123 = $dl;
+ $1124 = (_rol_1221($1123,10)|0);
+ $dl = $1124;
+ $1125 = $cr;
+ $1126 = $er;
+ $1127 = $1125 & $1126;
+ $1128 = $dr;
+ $1129 = $er;
+ $1130 = $1129 ^ -1;
+ $1131 = $1128 & $1130;
+ $1132 = $1127 | $1131;
+ $1133 = (($1132) + 1548603684)|0;
+ $1134 = ((($x)) + 36|0);
+ $1135 = HEAP32[$1134>>2]|0;
+ $1136 = (($1133) + ($1135))|0;
+ $1137 = $br;
+ $1138 = (($1137) + ($1136))|0;
+ $br = $1138;
+ $1139 = $br;
+ $1140 = (_rol_1221($1139,15)|0);
+ $1141 = $ar;
+ $1142 = (($1140) + ($1141))|0;
+ $br = $1142;
+ $1143 = $dr;
+ $1144 = (_rol_1221($1143,10)|0);
+ $dr = $1144;
+ $1145 = $bl;
+ $1146 = $cl;
+ $1147 = $1145 & $1146;
+ $1148 = $bl;
+ $1149 = $1148 ^ -1;
+ $1150 = $dl;
+ $1151 = $1149 & $1150;
+ $1152 = $1147 | $1151;
+ $1153 = (($1152) + 1518500249)|0;
+ $1154 = ((($x)) + 44|0);
+ $1155 = HEAP32[$1154>>2]|0;
+ $1156 = (($1153) + ($1155))|0;
+ $1157 = $al;
+ $1158 = (($1157) + ($1156))|0;
+ $al = $1158;
+ $1159 = $al;
+ $1160 = (_rol_1221($1159,13)|0);
+ $1161 = $el;
+ $1162 = (($1160) + ($1161))|0;
+ $al = $1162;
+ $1163 = $cl;
+ $1164 = (_rol_1221($1163,10)|0);
+ $cl = $1164;
+ $1165 = $br;
+ $1166 = $dr;
+ $1167 = $1165 & $1166;
+ $1168 = $cr;
+ $1169 = $dr;
+ $1170 = $1169 ^ -1;
+ $1171 = $1168 & $1170;
+ $1172 = $1167 | $1171;
+ $1173 = (($1172) + 1548603684)|0;
+ $1174 = ((($x)) + 4|0);
+ $1175 = HEAP32[$1174>>2]|0;
+ $1176 = (($1173) + ($1175))|0;
+ $1177 = $ar;
+ $1178 = (($1177) + ($1176))|0;
+ $ar = $1178;
+ $1179 = $ar;
+ $1180 = (_rol_1221($1179,13)|0);
+ $1181 = $er;
+ $1182 = (($1180) + ($1181))|0;
+ $ar = $1182;
+ $1183 = $cr;
+ $1184 = (_rol_1221($1183,10)|0);
+ $cr = $1184;
+ $1185 = $al;
+ $1186 = $bl;
+ $1187 = $1185 & $1186;
+ $1188 = $al;
+ $1189 = $1188 ^ -1;
+ $1190 = $cl;
+ $1191 = $1189 & $1190;
+ $1192 = $1187 | $1191;
+ $1193 = (($1192) + 1518500249)|0;
+ $1194 = ((($x)) + 32|0);
+ $1195 = HEAP32[$1194>>2]|0;
+ $1196 = (($1193) + ($1195))|0;
+ $1197 = $el;
+ $1198 = (($1197) + ($1196))|0;
+ $el = $1198;
+ $1199 = $el;
+ $1200 = (_rol_1221($1199,12)|0);
+ $1201 = $dl;
+ $1202 = (($1200) + ($1201))|0;
+ $el = $1202;
+ $1203 = $bl;
+ $1204 = (_rol_1221($1203,10)|0);
+ $bl = $1204;
+ $1205 = $ar;
+ $1206 = $cr;
+ $1207 = $1205 & $1206;
+ $1208 = $br;
+ $1209 = $cr;
+ $1210 = $1209 ^ -1;
+ $1211 = $1208 & $1210;
+ $1212 = $1207 | $1211;
+ $1213 = (($1212) + 1548603684)|0;
+ $1214 = ((($x)) + 8|0);
+ $1215 = HEAP32[$1214>>2]|0;
+ $1216 = (($1213) + ($1215))|0;
+ $1217 = $er;
+ $1218 = (($1217) + ($1216))|0;
+ $er = $1218;
+ $1219 = $er;
+ $1220 = (_rol_1221($1219,11)|0);
+ $1221 = $dr;
+ $1222 = (($1220) + ($1221))|0;
+ $er = $1222;
+ $1223 = $br;
+ $1224 = (_rol_1221($1223,10)|0);
+ $br = $1224;
+ $1225 = $el;
+ $1226 = $al;
+ $1227 = $1226 ^ -1;
+ $1228 = $1225 | $1227;
+ $1229 = $bl;
+ $1230 = $1228 ^ $1229;
+ $1231 = (($1230) + 1859775393)|0;
+ $1232 = ((($x)) + 12|0);
+ $1233 = HEAP32[$1232>>2]|0;
+ $1234 = (($1231) + ($1233))|0;
+ $1235 = $dl;
+ $1236 = (($1235) + ($1234))|0;
+ $dl = $1236;
+ $1237 = $dl;
+ $1238 = (_rol_1221($1237,11)|0);
+ $1239 = $cl;
+ $1240 = (($1238) + ($1239))|0;
+ $dl = $1240;
+ $1241 = $al;
+ $1242 = (_rol_1221($1241,10)|0);
+ $al = $1242;
+ $1243 = $er;
+ $1244 = $ar;
+ $1245 = $1244 ^ -1;
+ $1246 = $1243 | $1245;
+ $1247 = $br;
+ $1248 = $1246 ^ $1247;
+ $1249 = (($1248) + 1836072691)|0;
+ $1250 = ((($x)) + 60|0);
+ $1251 = HEAP32[$1250>>2]|0;
+ $1252 = (($1249) + ($1251))|0;
+ $1253 = $dr;
+ $1254 = (($1253) + ($1252))|0;
+ $dr = $1254;
+ $1255 = $dr;
+ $1256 = (_rol_1221($1255,9)|0);
+ $1257 = $cr;
+ $1258 = (($1256) + ($1257))|0;
+ $dr = $1258;
+ $1259 = $ar;
+ $1260 = (_rol_1221($1259,10)|0);
+ $ar = $1260;
+ $1261 = $dl;
+ $1262 = $el;
+ $1263 = $1262 ^ -1;
+ $1264 = $1261 | $1263;
+ $1265 = $al;
+ $1266 = $1264 ^ $1265;
+ $1267 = (($1266) + 1859775393)|0;
+ $1268 = ((($x)) + 40|0);
+ $1269 = HEAP32[$1268>>2]|0;
+ $1270 = (($1267) + ($1269))|0;
+ $1271 = $cl;
+ $1272 = (($1271) + ($1270))|0;
+ $cl = $1272;
+ $1273 = $cl;
+ $1274 = (_rol_1221($1273,13)|0);
+ $1275 = $bl;
+ $1276 = (($1274) + ($1275))|0;
+ $cl = $1276;
+ $1277 = $el;
+ $1278 = (_rol_1221($1277,10)|0);
+ $el = $1278;
+ $1279 = $dr;
+ $1280 = $er;
+ $1281 = $1280 ^ -1;
+ $1282 = $1279 | $1281;
+ $1283 = $ar;
+ $1284 = $1282 ^ $1283;
+ $1285 = (($1284) + 1836072691)|0;
+ $1286 = ((($x)) + 20|0);
+ $1287 = HEAP32[$1286>>2]|0;
+ $1288 = (($1285) + ($1287))|0;
+ $1289 = $cr;
+ $1290 = (($1289) + ($1288))|0;
+ $cr = $1290;
+ $1291 = $cr;
+ $1292 = (_rol_1221($1291,7)|0);
+ $1293 = $br;
+ $1294 = (($1292) + ($1293))|0;
+ $cr = $1294;
+ $1295 = $er;
+ $1296 = (_rol_1221($1295,10)|0);
+ $er = $1296;
+ $1297 = $cl;
+ $1298 = $dl;
+ $1299 = $1298 ^ -1;
+ $1300 = $1297 | $1299;
+ $1301 = $el;
+ $1302 = $1300 ^ $1301;
+ $1303 = (($1302) + 1859775393)|0;
+ $1304 = ((($x)) + 56|0);
+ $1305 = HEAP32[$1304>>2]|0;
+ $1306 = (($1303) + ($1305))|0;
+ $1307 = $bl;
+ $1308 = (($1307) + ($1306))|0;
+ $bl = $1308;
+ $1309 = $bl;
+ $1310 = (_rol_1221($1309,6)|0);
+ $1311 = $al;
+ $1312 = (($1310) + ($1311))|0;
+ $bl = $1312;
+ $1313 = $dl;
+ $1314 = (_rol_1221($1313,10)|0);
+ $dl = $1314;
+ $1315 = $cr;
+ $1316 = $dr;
+ $1317 = $1316 ^ -1;
+ $1318 = $1315 | $1317;
+ $1319 = $er;
+ $1320 = $1318 ^ $1319;
+ $1321 = (($1320) + 1836072691)|0;
+ $1322 = ((($x)) + 4|0);
+ $1323 = HEAP32[$1322>>2]|0;
+ $1324 = (($1321) + ($1323))|0;
+ $1325 = $br;
+ $1326 = (($1325) + ($1324))|0;
+ $br = $1326;
+ $1327 = $br;
+ $1328 = (_rol_1221($1327,15)|0);
+ $1329 = $ar;
+ $1330 = (($1328) + ($1329))|0;
+ $br = $1330;
+ $1331 = $dr;
+ $1332 = (_rol_1221($1331,10)|0);
+ $dr = $1332;
+ $1333 = $bl;
+ $1334 = $cl;
+ $1335 = $1334 ^ -1;
+ $1336 = $1333 | $1335;
+ $1337 = $dl;
+ $1338 = $1336 ^ $1337;
+ $1339 = (($1338) + 1859775393)|0;
+ $1340 = ((($x)) + 16|0);
+ $1341 = HEAP32[$1340>>2]|0;
+ $1342 = (($1339) + ($1341))|0;
+ $1343 = $al;
+ $1344 = (($1343) + ($1342))|0;
+ $al = $1344;
+ $1345 = $al;
+ $1346 = (_rol_1221($1345,7)|0);
+ $1347 = $el;
+ $1348 = (($1346) + ($1347))|0;
+ $al = $1348;
+ $1349 = $cl;
+ $1350 = (_rol_1221($1349,10)|0);
+ $cl = $1350;
+ $1351 = $br;
+ $1352 = $cr;
+ $1353 = $1352 ^ -1;
+ $1354 = $1351 | $1353;
+ $1355 = $dr;
+ $1356 = $1354 ^ $1355;
+ $1357 = (($1356) + 1836072691)|0;
+ $1358 = ((($x)) + 12|0);
+ $1359 = HEAP32[$1358>>2]|0;
+ $1360 = (($1357) + ($1359))|0;
+ $1361 = $ar;
+ $1362 = (($1361) + ($1360))|0;
+ $ar = $1362;
+ $1363 = $ar;
+ $1364 = (_rol_1221($1363,11)|0);
+ $1365 = $er;
+ $1366 = (($1364) + ($1365))|0;
+ $ar = $1366;
+ $1367 = $cr;
+ $1368 = (_rol_1221($1367,10)|0);
+ $cr = $1368;
+ $1369 = $al;
+ $1370 = $bl;
+ $1371 = $1370 ^ -1;
+ $1372 = $1369 | $1371;
+ $1373 = $cl;
+ $1374 = $1372 ^ $1373;
+ $1375 = (($1374) + 1859775393)|0;
+ $1376 = ((($x)) + 36|0);
+ $1377 = HEAP32[$1376>>2]|0;
+ $1378 = (($1375) + ($1377))|0;
+ $1379 = $el;
+ $1380 = (($1379) + ($1378))|0;
+ $el = $1380;
+ $1381 = $el;
+ $1382 = (_rol_1221($1381,14)|0);
+ $1383 = $dl;
+ $1384 = (($1382) + ($1383))|0;
+ $el = $1384;
+ $1385 = $bl;
+ $1386 = (_rol_1221($1385,10)|0);
+ $bl = $1386;
+ $1387 = $ar;
+ $1388 = $br;
+ $1389 = $1388 ^ -1;
+ $1390 = $1387 | $1389;
+ $1391 = $cr;
+ $1392 = $1390 ^ $1391;
+ $1393 = (($1392) + 1836072691)|0;
+ $1394 = ((($x)) + 28|0);
+ $1395 = HEAP32[$1394>>2]|0;
+ $1396 = (($1393) + ($1395))|0;
+ $1397 = $er;
+ $1398 = (($1397) + ($1396))|0;
+ $er = $1398;
+ $1399 = $er;
+ $1400 = (_rol_1221($1399,8)|0);
+ $1401 = $dr;
+ $1402 = (($1400) + ($1401))|0;
+ $er = $1402;
+ $1403 = $br;
+ $1404 = (_rol_1221($1403,10)|0);
+ $br = $1404;
+ $1405 = $el;
+ $1406 = $al;
+ $1407 = $1406 ^ -1;
+ $1408 = $1405 | $1407;
+ $1409 = $bl;
+ $1410 = $1408 ^ $1409;
+ $1411 = (($1410) + 1859775393)|0;
+ $1412 = ((($x)) + 60|0);
+ $1413 = HEAP32[$1412>>2]|0;
+ $1414 = (($1411) + ($1413))|0;
+ $1415 = $dl;
+ $1416 = (($1415) + ($1414))|0;
+ $dl = $1416;
+ $1417 = $dl;
+ $1418 = (_rol_1221($1417,9)|0);
+ $1419 = $cl;
+ $1420 = (($1418) + ($1419))|0;
+ $dl = $1420;
+ $1421 = $al;
+ $1422 = (_rol_1221($1421,10)|0);
+ $al = $1422;
+ $1423 = $er;
+ $1424 = $ar;
+ $1425 = $1424 ^ -1;
+ $1426 = $1423 | $1425;
+ $1427 = $br;
+ $1428 = $1426 ^ $1427;
+ $1429 = (($1428) + 1836072691)|0;
+ $1430 = ((($x)) + 56|0);
+ $1431 = HEAP32[$1430>>2]|0;
+ $1432 = (($1429) + ($1431))|0;
+ $1433 = $dr;
+ $1434 = (($1433) + ($1432))|0;
+ $dr = $1434;
+ $1435 = $dr;
+ $1436 = (_rol_1221($1435,6)|0);
+ $1437 = $cr;
+ $1438 = (($1436) + ($1437))|0;
+ $dr = $1438;
+ $1439 = $ar;
+ $1440 = (_rol_1221($1439,10)|0);
+ $ar = $1440;
+ $1441 = $dl;
+ $1442 = $el;
+ $1443 = $1442 ^ -1;
+ $1444 = $1441 | $1443;
+ $1445 = $al;
+ $1446 = $1444 ^ $1445;
+ $1447 = (($1446) + 1859775393)|0;
+ $1448 = ((($x)) + 32|0);
+ $1449 = HEAP32[$1448>>2]|0;
+ $1450 = (($1447) + ($1449))|0;
+ $1451 = $cl;
+ $1452 = (($1451) + ($1450))|0;
+ $cl = $1452;
+ $1453 = $cl;
+ $1454 = (_rol_1221($1453,13)|0);
+ $1455 = $bl;
+ $1456 = (($1454) + ($1455))|0;
+ $cl = $1456;
+ $1457 = $el;
+ $1458 = (_rol_1221($1457,10)|0);
+ $el = $1458;
+ $1459 = $dr;
+ $1460 = $er;
+ $1461 = $1460 ^ -1;
+ $1462 = $1459 | $1461;
+ $1463 = $ar;
+ $1464 = $1462 ^ $1463;
+ $1465 = (($1464) + 1836072691)|0;
+ $1466 = ((($x)) + 24|0);
+ $1467 = HEAP32[$1466>>2]|0;
+ $1468 = (($1465) + ($1467))|0;
+ $1469 = $cr;
+ $1470 = (($1469) + ($1468))|0;
+ $cr = $1470;
+ $1471 = $cr;
+ $1472 = (_rol_1221($1471,6)|0);
+ $1473 = $br;
+ $1474 = (($1472) + ($1473))|0;
+ $cr = $1474;
+ $1475 = $er;
+ $1476 = (_rol_1221($1475,10)|0);
+ $er = $1476;
+ $1477 = $cl;
+ $1478 = $dl;
+ $1479 = $1478 ^ -1;
+ $1480 = $1477 | $1479;
+ $1481 = $el;
+ $1482 = $1480 ^ $1481;
+ $1483 = (($1482) + 1859775393)|0;
+ $1484 = ((($x)) + 4|0);
+ $1485 = HEAP32[$1484>>2]|0;
+ $1486 = (($1483) + ($1485))|0;
+ $1487 = $bl;
+ $1488 = (($1487) + ($1486))|0;
+ $bl = $1488;
+ $1489 = $bl;
+ $1490 = (_rol_1221($1489,15)|0);
+ $1491 = $al;
+ $1492 = (($1490) + ($1491))|0;
+ $bl = $1492;
+ $1493 = $dl;
+ $1494 = (_rol_1221($1493,10)|0);
+ $dl = $1494;
+ $1495 = $cr;
+ $1496 = $dr;
+ $1497 = $1496 ^ -1;
+ $1498 = $1495 | $1497;
+ $1499 = $er;
+ $1500 = $1498 ^ $1499;
+ $1501 = (($1500) + 1836072691)|0;
+ $1502 = ((($x)) + 36|0);
+ $1503 = HEAP32[$1502>>2]|0;
+ $1504 = (($1501) + ($1503))|0;
+ $1505 = $br;
+ $1506 = (($1505) + ($1504))|0;
+ $br = $1506;
+ $1507 = $br;
+ $1508 = (_rol_1221($1507,14)|0);
+ $1509 = $ar;
+ $1510 = (($1508) + ($1509))|0;
+ $br = $1510;
+ $1511 = $dr;
+ $1512 = (_rol_1221($1511,10)|0);
+ $dr = $1512;
+ $1513 = $bl;
+ $1514 = $cl;
+ $1515 = $1514 ^ -1;
+ $1516 = $1513 | $1515;
+ $1517 = $dl;
+ $1518 = $1516 ^ $1517;
+ $1519 = (($1518) + 1859775393)|0;
+ $1520 = ((($x)) + 8|0);
+ $1521 = HEAP32[$1520>>2]|0;
+ $1522 = (($1519) + ($1521))|0;
+ $1523 = $al;
+ $1524 = (($1523) + ($1522))|0;
+ $al = $1524;
+ $1525 = $al;
+ $1526 = (_rol_1221($1525,14)|0);
+ $1527 = $el;
+ $1528 = (($1526) + ($1527))|0;
+ $al = $1528;
+ $1529 = $cl;
+ $1530 = (_rol_1221($1529,10)|0);
+ $cl = $1530;
+ $1531 = $br;
+ $1532 = $cr;
+ $1533 = $1532 ^ -1;
+ $1534 = $1531 | $1533;
+ $1535 = $dr;
+ $1536 = $1534 ^ $1535;
+ $1537 = (($1536) + 1836072691)|0;
+ $1538 = ((($x)) + 44|0);
+ $1539 = HEAP32[$1538>>2]|0;
+ $1540 = (($1537) + ($1539))|0;
+ $1541 = $ar;
+ $1542 = (($1541) + ($1540))|0;
+ $ar = $1542;
+ $1543 = $ar;
+ $1544 = (_rol_1221($1543,12)|0);
+ $1545 = $er;
+ $1546 = (($1544) + ($1545))|0;
+ $ar = $1546;
+ $1547 = $cr;
+ $1548 = (_rol_1221($1547,10)|0);
+ $cr = $1548;
+ $1549 = $al;
+ $1550 = $bl;
+ $1551 = $1550 ^ -1;
+ $1552 = $1549 | $1551;
+ $1553 = $cl;
+ $1554 = $1552 ^ $1553;
+ $1555 = (($1554) + 1859775393)|0;
+ $1556 = ((($x)) + 28|0);
+ $1557 = HEAP32[$1556>>2]|0;
+ $1558 = (($1555) + ($1557))|0;
+ $1559 = $el;
+ $1560 = (($1559) + ($1558))|0;
+ $el = $1560;
+ $1561 = $el;
+ $1562 = (_rol_1221($1561,8)|0);
+ $1563 = $dl;
+ $1564 = (($1562) + ($1563))|0;
+ $el = $1564;
+ $1565 = $bl;
+ $1566 = (_rol_1221($1565,10)|0);
+ $bl = $1566;
+ $1567 = $ar;
+ $1568 = $br;
+ $1569 = $1568 ^ -1;
+ $1570 = $1567 | $1569;
+ $1571 = $cr;
+ $1572 = $1570 ^ $1571;
+ $1573 = (($1572) + 1836072691)|0;
+ $1574 = ((($x)) + 32|0);
+ $1575 = HEAP32[$1574>>2]|0;
+ $1576 = (($1573) + ($1575))|0;
+ $1577 = $er;
+ $1578 = (($1577) + ($1576))|0;
+ $er = $1578;
+ $1579 = $er;
+ $1580 = (_rol_1221($1579,13)|0);
+ $1581 = $dr;
+ $1582 = (($1580) + ($1581))|0;
+ $er = $1582;
+ $1583 = $br;
+ $1584 = (_rol_1221($1583,10)|0);
+ $br = $1584;
+ $1585 = $el;
+ $1586 = $al;
+ $1587 = $1586 ^ -1;
+ $1588 = $1585 | $1587;
+ $1589 = $bl;
+ $1590 = $1588 ^ $1589;
+ $1591 = (($1590) + 1859775393)|0;
+ $1592 = HEAP32[$x>>2]|0;
+ $1593 = (($1591) + ($1592))|0;
+ $1594 = $dl;
+ $1595 = (($1594) + ($1593))|0;
+ $dl = $1595;
+ $1596 = $dl;
+ $1597 = (_rol_1221($1596,13)|0);
+ $1598 = $cl;
+ $1599 = (($1597) + ($1598))|0;
+ $dl = $1599;
+ $1600 = $al;
+ $1601 = (_rol_1221($1600,10)|0);
+ $al = $1601;
+ $1602 = $er;
+ $1603 = $ar;
+ $1604 = $1603 ^ -1;
+ $1605 = $1602 | $1604;
+ $1606 = $br;
+ $1607 = $1605 ^ $1606;
+ $1608 = (($1607) + 1836072691)|0;
+ $1609 = ((($x)) + 48|0);
+ $1610 = HEAP32[$1609>>2]|0;
+ $1611 = (($1608) + ($1610))|0;
+ $1612 = $dr;
+ $1613 = (($1612) + ($1611))|0;
+ $dr = $1613;
+ $1614 = $dr;
+ $1615 = (_rol_1221($1614,5)|0);
+ $1616 = $cr;
+ $1617 = (($1615) + ($1616))|0;
+ $dr = $1617;
+ $1618 = $ar;
+ $1619 = (_rol_1221($1618,10)|0);
+ $ar = $1619;
+ $1620 = $dl;
+ $1621 = $el;
+ $1622 = $1621 ^ -1;
+ $1623 = $1620 | $1622;
+ $1624 = $al;
+ $1625 = $1623 ^ $1624;
+ $1626 = (($1625) + 1859775393)|0;
+ $1627 = ((($x)) + 24|0);
+ $1628 = HEAP32[$1627>>2]|0;
+ $1629 = (($1626) + ($1628))|0;
+ $1630 = $cl;
+ $1631 = (($1630) + ($1629))|0;
+ $cl = $1631;
+ $1632 = $cl;
+ $1633 = (_rol_1221($1632,6)|0);
+ $1634 = $bl;
+ $1635 = (($1633) + ($1634))|0;
+ $cl = $1635;
+ $1636 = $el;
+ $1637 = (_rol_1221($1636,10)|0);
+ $el = $1637;
+ $1638 = $dr;
+ $1639 = $er;
+ $1640 = $1639 ^ -1;
+ $1641 = $1638 | $1640;
+ $1642 = $ar;
+ $1643 = $1641 ^ $1642;
+ $1644 = (($1643) + 1836072691)|0;
+ $1645 = ((($x)) + 8|0);
+ $1646 = HEAP32[$1645>>2]|0;
+ $1647 = (($1644) + ($1646))|0;
+ $1648 = $cr;
+ $1649 = (($1648) + ($1647))|0;
+ $cr = $1649;
+ $1650 = $cr;
+ $1651 = (_rol_1221($1650,14)|0);
+ $1652 = $br;
+ $1653 = (($1651) + ($1652))|0;
+ $cr = $1653;
+ $1654 = $er;
+ $1655 = (_rol_1221($1654,10)|0);
+ $er = $1655;
+ $1656 = $cl;
+ $1657 = $dl;
+ $1658 = $1657 ^ -1;
+ $1659 = $1656 | $1658;
+ $1660 = $el;
+ $1661 = $1659 ^ $1660;
+ $1662 = (($1661) + 1859775393)|0;
+ $1663 = ((($x)) + 52|0);
+ $1664 = HEAP32[$1663>>2]|0;
+ $1665 = (($1662) + ($1664))|0;
+ $1666 = $bl;
+ $1667 = (($1666) + ($1665))|0;
+ $bl = $1667;
+ $1668 = $bl;
+ $1669 = (_rol_1221($1668,5)|0);
+ $1670 = $al;
+ $1671 = (($1669) + ($1670))|0;
+ $bl = $1671;
+ $1672 = $dl;
+ $1673 = (_rol_1221($1672,10)|0);
+ $dl = $1673;
+ $1674 = $cr;
+ $1675 = $dr;
+ $1676 = $1675 ^ -1;
+ $1677 = $1674 | $1676;
+ $1678 = $er;
+ $1679 = $1677 ^ $1678;
+ $1680 = (($1679) + 1836072691)|0;
+ $1681 = ((($x)) + 40|0);
+ $1682 = HEAP32[$1681>>2]|0;
+ $1683 = (($1680) + ($1682))|0;
+ $1684 = $br;
+ $1685 = (($1684) + ($1683))|0;
+ $br = $1685;
+ $1686 = $br;
+ $1687 = (_rol_1221($1686,13)|0);
+ $1688 = $ar;
+ $1689 = (($1687) + ($1688))|0;
+ $br = $1689;
+ $1690 = $dr;
+ $1691 = (_rol_1221($1690,10)|0);
+ $dr = $1691;
+ $1692 = $bl;
+ $1693 = $cl;
+ $1694 = $1693 ^ -1;
+ $1695 = $1692 | $1694;
+ $1696 = $dl;
+ $1697 = $1695 ^ $1696;
+ $1698 = (($1697) + 1859775393)|0;
+ $1699 = ((($x)) + 44|0);
+ $1700 = HEAP32[$1699>>2]|0;
+ $1701 = (($1698) + ($1700))|0;
+ $1702 = $al;
+ $1703 = (($1702) + ($1701))|0;
+ $al = $1703;
+ $1704 = $al;
+ $1705 = (_rol_1221($1704,12)|0);
+ $1706 = $el;
+ $1707 = (($1705) + ($1706))|0;
+ $al = $1707;
+ $1708 = $cl;
+ $1709 = (_rol_1221($1708,10)|0);
+ $cl = $1709;
+ $1710 = $br;
+ $1711 = $cr;
+ $1712 = $1711 ^ -1;
+ $1713 = $1710 | $1712;
+ $1714 = $dr;
+ $1715 = $1713 ^ $1714;
+ $1716 = (($1715) + 1836072691)|0;
+ $1717 = HEAP32[$x>>2]|0;
+ $1718 = (($1716) + ($1717))|0;
+ $1719 = $ar;
+ $1720 = (($1719) + ($1718))|0;
+ $ar = $1720;
+ $1721 = $ar;
+ $1722 = (_rol_1221($1721,13)|0);
+ $1723 = $er;
+ $1724 = (($1722) + ($1723))|0;
+ $ar = $1724;
+ $1725 = $cr;
+ $1726 = (_rol_1221($1725,10)|0);
+ $cr = $1726;
+ $1727 = $al;
+ $1728 = $bl;
+ $1729 = $1728 ^ -1;
+ $1730 = $1727 | $1729;
+ $1731 = $cl;
+ $1732 = $1730 ^ $1731;
+ $1733 = (($1732) + 1859775393)|0;
+ $1734 = ((($x)) + 20|0);
+ $1735 = HEAP32[$1734>>2]|0;
+ $1736 = (($1733) + ($1735))|0;
+ $1737 = $el;
+ $1738 = (($1737) + ($1736))|0;
+ $el = $1738;
+ $1739 = $el;
+ $1740 = (_rol_1221($1739,7)|0);
+ $1741 = $dl;
+ $1742 = (($1740) + ($1741))|0;
+ $el = $1742;
+ $1743 = $bl;
+ $1744 = (_rol_1221($1743,10)|0);
+ $bl = $1744;
+ $1745 = $ar;
+ $1746 = $br;
+ $1747 = $1746 ^ -1;
+ $1748 = $1745 | $1747;
+ $1749 = $cr;
+ $1750 = $1748 ^ $1749;
+ $1751 = (($1750) + 1836072691)|0;
+ $1752 = ((($x)) + 16|0);
+ $1753 = HEAP32[$1752>>2]|0;
+ $1754 = (($1751) + ($1753))|0;
+ $1755 = $er;
+ $1756 = (($1755) + ($1754))|0;
+ $er = $1756;
+ $1757 = $er;
+ $1758 = (_rol_1221($1757,7)|0);
+ $1759 = $dr;
+ $1760 = (($1758) + ($1759))|0;
+ $er = $1760;
+ $1761 = $br;
+ $1762 = (_rol_1221($1761,10)|0);
+ $br = $1762;
+ $1763 = $el;
+ $1764 = $al;
+ $1765 = $1764 ^ -1;
+ $1766 = $1763 | $1765;
+ $1767 = $bl;
+ $1768 = $1766 ^ $1767;
+ $1769 = (($1768) + 1859775393)|0;
+ $1770 = ((($x)) + 48|0);
+ $1771 = HEAP32[$1770>>2]|0;
+ $1772 = (($1769) + ($1771))|0;
+ $1773 = $dl;
+ $1774 = (($1773) + ($1772))|0;
+ $dl = $1774;
+ $1775 = $dl;
+ $1776 = (_rol_1221($1775,5)|0);
+ $1777 = $cl;
+ $1778 = (($1776) + ($1777))|0;
+ $dl = $1778;
+ $1779 = $al;
+ $1780 = (_rol_1221($1779,10)|0);
+ $al = $1780;
+ $1781 = $er;
+ $1782 = $ar;
+ $1783 = $1782 ^ -1;
+ $1784 = $1781 | $1783;
+ $1785 = $br;
+ $1786 = $1784 ^ $1785;
+ $1787 = (($1786) + 1836072691)|0;
+ $1788 = ((($x)) + 52|0);
+ $1789 = HEAP32[$1788>>2]|0;
+ $1790 = (($1787) + ($1789))|0;
+ $1791 = $dr;
+ $1792 = (($1791) + ($1790))|0;
+ $dr = $1792;
+ $1793 = $dr;
+ $1794 = (_rol_1221($1793,5)|0);
+ $1795 = $cr;
+ $1796 = (($1794) + ($1795))|0;
+ $dr = $1796;
+ $1797 = $ar;
+ $1798 = (_rol_1221($1797,10)|0);
+ $ar = $1798;
+ $1799 = $dl;
+ $1800 = $al;
+ $1801 = $1799 & $1800;
+ $1802 = $el;
+ $1803 = $al;
+ $1804 = $1803 ^ -1;
+ $1805 = $1802 & $1804;
+ $1806 = $1801 | $1805;
+ $1807 = (($1806) + -1894007588)|0;
+ $1808 = ((($x)) + 4|0);
+ $1809 = HEAP32[$1808>>2]|0;
+ $1810 = (($1807) + ($1809))|0;
+ $1811 = $cl;
+ $1812 = (($1811) + ($1810))|0;
+ $cl = $1812;
+ $1813 = $cl;
+ $1814 = (_rol_1221($1813,11)|0);
+ $1815 = $bl;
+ $1816 = (($1814) + ($1815))|0;
+ $cl = $1816;
+ $1817 = $el;
+ $1818 = (_rol_1221($1817,10)|0);
+ $el = $1818;
+ $1819 = $dr;
+ $1820 = $er;
+ $1821 = $1819 & $1820;
+ $1822 = $dr;
+ $1823 = $1822 ^ -1;
+ $1824 = $ar;
+ $1825 = $1823 & $1824;
+ $1826 = $1821 | $1825;
+ $1827 = (($1826) + 2053994217)|0;
+ $1828 = ((($x)) + 32|0);
+ $1829 = HEAP32[$1828>>2]|0;
+ $1830 = (($1827) + ($1829))|0;
+ $1831 = $cr;
+ $1832 = (($1831) + ($1830))|0;
+ $cr = $1832;
+ $1833 = $cr;
+ $1834 = (_rol_1221($1833,15)|0);
+ $1835 = $br;
+ $1836 = (($1834) + ($1835))|0;
+ $cr = $1836;
+ $1837 = $er;
+ $1838 = (_rol_1221($1837,10)|0);
+ $er = $1838;
+ $1839 = $cl;
+ $1840 = $el;
+ $1841 = $1839 & $1840;
+ $1842 = $dl;
+ $1843 = $el;
+ $1844 = $1843 ^ -1;
+ $1845 = $1842 & $1844;
+ $1846 = $1841 | $1845;
+ $1847 = (($1846) + -1894007588)|0;
+ $1848 = ((($x)) + 36|0);
+ $1849 = HEAP32[$1848>>2]|0;
+ $1850 = (($1847) + ($1849))|0;
+ $1851 = $bl;
+ $1852 = (($1851) + ($1850))|0;
+ $bl = $1852;
+ $1853 = $bl;
+ $1854 = (_rol_1221($1853,12)|0);
+ $1855 = $al;
+ $1856 = (($1854) + ($1855))|0;
+ $bl = $1856;
+ $1857 = $dl;
+ $1858 = (_rol_1221($1857,10)|0);
+ $dl = $1858;
+ $1859 = $cr;
+ $1860 = $dr;
+ $1861 = $1859 & $1860;
+ $1862 = $cr;
+ $1863 = $1862 ^ -1;
+ $1864 = $er;
+ $1865 = $1863 & $1864;
+ $1866 = $1861 | $1865;
+ $1867 = (($1866) + 2053994217)|0;
+ $1868 = ((($x)) + 24|0);
+ $1869 = HEAP32[$1868>>2]|0;
+ $1870 = (($1867) + ($1869))|0;
+ $1871 = $br;
+ $1872 = (($1871) + ($1870))|0;
+ $br = $1872;
+ $1873 = $br;
+ $1874 = (_rol_1221($1873,5)|0);
+ $1875 = $ar;
+ $1876 = (($1874) + ($1875))|0;
+ $br = $1876;
+ $1877 = $dr;
+ $1878 = (_rol_1221($1877,10)|0);
+ $dr = $1878;
+ $1879 = $bl;
+ $1880 = $dl;
+ $1881 = $1879 & $1880;
+ $1882 = $cl;
+ $1883 = $dl;
+ $1884 = $1883 ^ -1;
+ $1885 = $1882 & $1884;
+ $1886 = $1881 | $1885;
+ $1887 = (($1886) + -1894007588)|0;
+ $1888 = ((($x)) + 44|0);
+ $1889 = HEAP32[$1888>>2]|0;
+ $1890 = (($1887) + ($1889))|0;
+ $1891 = $al;
+ $1892 = (($1891) + ($1890))|0;
+ $al = $1892;
+ $1893 = $al;
+ $1894 = (_rol_1221($1893,14)|0);
+ $1895 = $el;
+ $1896 = (($1894) + ($1895))|0;
+ $al = $1896;
+ $1897 = $cl;
+ $1898 = (_rol_1221($1897,10)|0);
+ $cl = $1898;
+ $1899 = $br;
+ $1900 = $cr;
+ $1901 = $1899 & $1900;
+ $1902 = $br;
+ $1903 = $1902 ^ -1;
+ $1904 = $dr;
+ $1905 = $1903 & $1904;
+ $1906 = $1901 | $1905;
+ $1907 = (($1906) + 2053994217)|0;
+ $1908 = ((($x)) + 16|0);
+ $1909 = HEAP32[$1908>>2]|0;
+ $1910 = (($1907) + ($1909))|0;
+ $1911 = $ar;
+ $1912 = (($1911) + ($1910))|0;
+ $ar = $1912;
+ $1913 = $ar;
+ $1914 = (_rol_1221($1913,8)|0);
+ $1915 = $er;
+ $1916 = (($1914) + ($1915))|0;
+ $ar = $1916;
+ $1917 = $cr;
+ $1918 = (_rol_1221($1917,10)|0);
+ $cr = $1918;
+ $1919 = $al;
+ $1920 = $cl;
+ $1921 = $1919 & $1920;
+ $1922 = $bl;
+ $1923 = $cl;
+ $1924 = $1923 ^ -1;
+ $1925 = $1922 & $1924;
+ $1926 = $1921 | $1925;
+ $1927 = (($1926) + -1894007588)|0;
+ $1928 = ((($x)) + 40|0);
+ $1929 = HEAP32[$1928>>2]|0;
+ $1930 = (($1927) + ($1929))|0;
+ $1931 = $el;
+ $1932 = (($1931) + ($1930))|0;
+ $el = $1932;
+ $1933 = $el;
+ $1934 = (_rol_1221($1933,15)|0);
+ $1935 = $dl;
+ $1936 = (($1934) + ($1935))|0;
+ $el = $1936;
+ $1937 = $bl;
+ $1938 = (_rol_1221($1937,10)|0);
+ $bl = $1938;
+ $1939 = $ar;
+ $1940 = $br;
+ $1941 = $1939 & $1940;
+ $1942 = $ar;
+ $1943 = $1942 ^ -1;
+ $1944 = $cr;
+ $1945 = $1943 & $1944;
+ $1946 = $1941 | $1945;
+ $1947 = (($1946) + 2053994217)|0;
+ $1948 = ((($x)) + 4|0);
+ $1949 = HEAP32[$1948>>2]|0;
+ $1950 = (($1947) + ($1949))|0;
+ $1951 = $er;
+ $1952 = (($1951) + ($1950))|0;
+ $er = $1952;
+ $1953 = $er;
+ $1954 = (_rol_1221($1953,11)|0);
+ $1955 = $dr;
+ $1956 = (($1954) + ($1955))|0;
+ $er = $1956;
+ $1957 = $br;
+ $1958 = (_rol_1221($1957,10)|0);
+ $br = $1958;
+ $1959 = $el;
+ $1960 = $bl;
+ $1961 = $1959 & $1960;
+ $1962 = $al;
+ $1963 = $bl;
+ $1964 = $1963 ^ -1;
+ $1965 = $1962 & $1964;
+ $1966 = $1961 | $1965;
+ $1967 = (($1966) + -1894007588)|0;
+ $1968 = HEAP32[$x>>2]|0;
+ $1969 = (($1967) + ($1968))|0;
+ $1970 = $dl;
+ $1971 = (($1970) + ($1969))|0;
+ $dl = $1971;
+ $1972 = $dl;
+ $1973 = (_rol_1221($1972,14)|0);
+ $1974 = $cl;
+ $1975 = (($1973) + ($1974))|0;
+ $dl = $1975;
+ $1976 = $al;
+ $1977 = (_rol_1221($1976,10)|0);
+ $al = $1977;
+ $1978 = $er;
+ $1979 = $ar;
+ $1980 = $1978 & $1979;
+ $1981 = $er;
+ $1982 = $1981 ^ -1;
+ $1983 = $br;
+ $1984 = $1982 & $1983;
+ $1985 = $1980 | $1984;
+ $1986 = (($1985) + 2053994217)|0;
+ $1987 = ((($x)) + 12|0);
+ $1988 = HEAP32[$1987>>2]|0;
+ $1989 = (($1986) + ($1988))|0;
+ $1990 = $dr;
+ $1991 = (($1990) + ($1989))|0;
+ $dr = $1991;
+ $1992 = $dr;
+ $1993 = (_rol_1221($1992,14)|0);
+ $1994 = $cr;
+ $1995 = (($1993) + ($1994))|0;
+ $dr = $1995;
+ $1996 = $ar;
+ $1997 = (_rol_1221($1996,10)|0);
+ $ar = $1997;
+ $1998 = $dl;
+ $1999 = $al;
+ $2000 = $1998 & $1999;
+ $2001 = $el;
+ $2002 = $al;
+ $2003 = $2002 ^ -1;
+ $2004 = $2001 & $2003;
+ $2005 = $2000 | $2004;
+ $2006 = (($2005) + -1894007588)|0;
+ $2007 = ((($x)) + 32|0);
+ $2008 = HEAP32[$2007>>2]|0;
+ $2009 = (($2006) + ($2008))|0;
+ $2010 = $cl;
+ $2011 = (($2010) + ($2009))|0;
+ $cl = $2011;
+ $2012 = $cl;
+ $2013 = (_rol_1221($2012,15)|0);
+ $2014 = $bl;
+ $2015 = (($2013) + ($2014))|0;
+ $cl = $2015;
+ $2016 = $el;
+ $2017 = (_rol_1221($2016,10)|0);
+ $el = $2017;
+ $2018 = $dr;
+ $2019 = $er;
+ $2020 = $2018 & $2019;
+ $2021 = $dr;
+ $2022 = $2021 ^ -1;
+ $2023 = $ar;
+ $2024 = $2022 & $2023;
+ $2025 = $2020 | $2024;
+ $2026 = (($2025) + 2053994217)|0;
+ $2027 = ((($x)) + 44|0);
+ $2028 = HEAP32[$2027>>2]|0;
+ $2029 = (($2026) + ($2028))|0;
+ $2030 = $cr;
+ $2031 = (($2030) + ($2029))|0;
+ $cr = $2031;
+ $2032 = $cr;
+ $2033 = (_rol_1221($2032,14)|0);
+ $2034 = $br;
+ $2035 = (($2033) + ($2034))|0;
+ $cr = $2035;
+ $2036 = $er;
+ $2037 = (_rol_1221($2036,10)|0);
+ $er = $2037;
+ $2038 = $cl;
+ $2039 = $el;
+ $2040 = $2038 & $2039;
+ $2041 = $dl;
+ $2042 = $el;
+ $2043 = $2042 ^ -1;
+ $2044 = $2041 & $2043;
+ $2045 = $2040 | $2044;
+ $2046 = (($2045) + -1894007588)|0;
+ $2047 = ((($x)) + 48|0);
+ $2048 = HEAP32[$2047>>2]|0;
+ $2049 = (($2046) + ($2048))|0;
+ $2050 = $bl;
+ $2051 = (($2050) + ($2049))|0;
+ $bl = $2051;
+ $2052 = $bl;
+ $2053 = (_rol_1221($2052,9)|0);
+ $2054 = $al;
+ $2055 = (($2053) + ($2054))|0;
+ $bl = $2055;
+ $2056 = $dl;
+ $2057 = (_rol_1221($2056,10)|0);
+ $dl = $2057;
+ $2058 = $cr;
+ $2059 = $dr;
+ $2060 = $2058 & $2059;
+ $2061 = $cr;
+ $2062 = $2061 ^ -1;
+ $2063 = $er;
+ $2064 = $2062 & $2063;
+ $2065 = $2060 | $2064;
+ $2066 = (($2065) + 2053994217)|0;
+ $2067 = ((($x)) + 60|0);
+ $2068 = HEAP32[$2067>>2]|0;
+ $2069 = (($2066) + ($2068))|0;
+ $2070 = $br;
+ $2071 = (($2070) + ($2069))|0;
+ $br = $2071;
+ $2072 = $br;
+ $2073 = (_rol_1221($2072,6)|0);
+ $2074 = $ar;
+ $2075 = (($2073) + ($2074))|0;
+ $br = $2075;
+ $2076 = $dr;
+ $2077 = (_rol_1221($2076,10)|0);
+ $dr = $2077;
+ $2078 = $bl;
+ $2079 = $dl;
+ $2080 = $2078 & $2079;
+ $2081 = $cl;
+ $2082 = $dl;
+ $2083 = $2082 ^ -1;
+ $2084 = $2081 & $2083;
+ $2085 = $2080 | $2084;
+ $2086 = (($2085) + -1894007588)|0;
+ $2087 = ((($x)) + 16|0);
+ $2088 = HEAP32[$2087>>2]|0;
+ $2089 = (($2086) + ($2088))|0;
+ $2090 = $al;
+ $2091 = (($2090) + ($2089))|0;
+ $al = $2091;
+ $2092 = $al;
+ $2093 = (_rol_1221($2092,8)|0);
+ $2094 = $el;
+ $2095 = (($2093) + ($2094))|0;
+ $al = $2095;
+ $2096 = $cl;
+ $2097 = (_rol_1221($2096,10)|0);
+ $cl = $2097;
+ $2098 = $br;
+ $2099 = $cr;
+ $2100 = $2098 & $2099;
+ $2101 = $br;
+ $2102 = $2101 ^ -1;
+ $2103 = $dr;
+ $2104 = $2102 & $2103;
+ $2105 = $2100 | $2104;
+ $2106 = (($2105) + 2053994217)|0;
+ $2107 = HEAP32[$x>>2]|0;
+ $2108 = (($2106) + ($2107))|0;
+ $2109 = $ar;
+ $2110 = (($2109) + ($2108))|0;
+ $ar = $2110;
+ $2111 = $ar;
+ $2112 = (_rol_1221($2111,14)|0);
+ $2113 = $er;
+ $2114 = (($2112) + ($2113))|0;
+ $ar = $2114;
+ $2115 = $cr;
+ $2116 = (_rol_1221($2115,10)|0);
+ $cr = $2116;
+ $2117 = $al;
+ $2118 = $cl;
+ $2119 = $2117 & $2118;
+ $2120 = $bl;
+ $2121 = $cl;
+ $2122 = $2121 ^ -1;
+ $2123 = $2120 & $2122;
+ $2124 = $2119 | $2123;
+ $2125 = (($2124) + -1894007588)|0;
+ $2126 = ((($x)) + 52|0);
+ $2127 = HEAP32[$2126>>2]|0;
+ $2128 = (($2125) + ($2127))|0;
+ $2129 = $el;
+ $2130 = (($2129) + ($2128))|0;
+ $el = $2130;
+ $2131 = $el;
+ $2132 = (_rol_1221($2131,9)|0);
+ $2133 = $dl;
+ $2134 = (($2132) + ($2133))|0;
+ $el = $2134;
+ $2135 = $bl;
+ $2136 = (_rol_1221($2135,10)|0);
+ $bl = $2136;
+ $2137 = $ar;
+ $2138 = $br;
+ $2139 = $2137 & $2138;
+ $2140 = $ar;
+ $2141 = $2140 ^ -1;
+ $2142 = $cr;
+ $2143 = $2141 & $2142;
+ $2144 = $2139 | $2143;
+ $2145 = (($2144) + 2053994217)|0;
+ $2146 = ((($x)) + 20|0);
+ $2147 = HEAP32[$2146>>2]|0;
+ $2148 = (($2145) + ($2147))|0;
+ $2149 = $er;
+ $2150 = (($2149) + ($2148))|0;
+ $er = $2150;
+ $2151 = $er;
+ $2152 = (_rol_1221($2151,6)|0);
+ $2153 = $dr;
+ $2154 = (($2152) + ($2153))|0;
+ $er = $2154;
+ $2155 = $br;
+ $2156 = (_rol_1221($2155,10)|0);
+ $br = $2156;
+ $2157 = $el;
+ $2158 = $bl;
+ $2159 = $2157 & $2158;
+ $2160 = $al;
+ $2161 = $bl;
+ $2162 = $2161 ^ -1;
+ $2163 = $2160 & $2162;
+ $2164 = $2159 | $2163;
+ $2165 = (($2164) + -1894007588)|0;
+ $2166 = ((($x)) + 12|0);
+ $2167 = HEAP32[$2166>>2]|0;
+ $2168 = (($2165) + ($2167))|0;
+ $2169 = $dl;
+ $2170 = (($2169) + ($2168))|0;
+ $dl = $2170;
+ $2171 = $dl;
+ $2172 = (_rol_1221($2171,14)|0);
+ $2173 = $cl;
+ $2174 = (($2172) + ($2173))|0;
+ $dl = $2174;
+ $2175 = $al;
+ $2176 = (_rol_1221($2175,10)|0);
+ $al = $2176;
+ $2177 = $er;
+ $2178 = $ar;
+ $2179 = $2177 & $2178;
+ $2180 = $er;
+ $2181 = $2180 ^ -1;
+ $2182 = $br;
+ $2183 = $2181 & $2182;
+ $2184 = $2179 | $2183;
+ $2185 = (($2184) + 2053994217)|0;
+ $2186 = ((($x)) + 48|0);
+ $2187 = HEAP32[$2186>>2]|0;
+ $2188 = (($2185) + ($2187))|0;
+ $2189 = $dr;
+ $2190 = (($2189) + ($2188))|0;
+ $dr = $2190;
+ $2191 = $dr;
+ $2192 = (_rol_1221($2191,9)|0);
+ $2193 = $cr;
+ $2194 = (($2192) + ($2193))|0;
+ $dr = $2194;
+ $2195 = $ar;
+ $2196 = (_rol_1221($2195,10)|0);
+ $ar = $2196;
+ $2197 = $dl;
+ $2198 = $al;
+ $2199 = $2197 & $2198;
+ $2200 = $el;
+ $2201 = $al;
+ $2202 = $2201 ^ -1;
+ $2203 = $2200 & $2202;
+ $2204 = $2199 | $2203;
+ $2205 = (($2204) + -1894007588)|0;
+ $2206 = ((($x)) + 28|0);
+ $2207 = HEAP32[$2206>>2]|0;
+ $2208 = (($2205) + ($2207))|0;
+ $2209 = $cl;
+ $2210 = (($2209) + ($2208))|0;
+ $cl = $2210;
+ $2211 = $cl;
+ $2212 = (_rol_1221($2211,5)|0);
+ $2213 = $bl;
+ $2214 = (($2212) + ($2213))|0;
+ $cl = $2214;
+ $2215 = $el;
+ $2216 = (_rol_1221($2215,10)|0);
+ $el = $2216;
+ $2217 = $dr;
+ $2218 = $er;
+ $2219 = $2217 & $2218;
+ $2220 = $dr;
+ $2221 = $2220 ^ -1;
+ $2222 = $ar;
+ $2223 = $2221 & $2222;
+ $2224 = $2219 | $2223;
+ $2225 = (($2224) + 2053994217)|0;
+ $2226 = ((($x)) + 8|0);
+ $2227 = HEAP32[$2226>>2]|0;
+ $2228 = (($2225) + ($2227))|0;
+ $2229 = $cr;
+ $2230 = (($2229) + ($2228))|0;
+ $cr = $2230;
+ $2231 = $cr;
+ $2232 = (_rol_1221($2231,12)|0);
+ $2233 = $br;
+ $2234 = (($2232) + ($2233))|0;
+ $cr = $2234;
+ $2235 = $er;
+ $2236 = (_rol_1221($2235,10)|0);
+ $er = $2236;
+ $2237 = $cl;
+ $2238 = $el;
+ $2239 = $2237 & $2238;
+ $2240 = $dl;
+ $2241 = $el;
+ $2242 = $2241 ^ -1;
+ $2243 = $2240 & $2242;
+ $2244 = $2239 | $2243;
+ $2245 = (($2244) + -1894007588)|0;
+ $2246 = ((($x)) + 60|0);
+ $2247 = HEAP32[$2246>>2]|0;
+ $2248 = (($2245) + ($2247))|0;
+ $2249 = $bl;
+ $2250 = (($2249) + ($2248))|0;
+ $bl = $2250;
+ $2251 = $bl;
+ $2252 = (_rol_1221($2251,6)|0);
+ $2253 = $al;
+ $2254 = (($2252) + ($2253))|0;
+ $bl = $2254;
+ $2255 = $dl;
+ $2256 = (_rol_1221($2255,10)|0);
+ $dl = $2256;
+ $2257 = $cr;
+ $2258 = $dr;
+ $2259 = $2257 & $2258;
+ $2260 = $cr;
+ $2261 = $2260 ^ -1;
+ $2262 = $er;
+ $2263 = $2261 & $2262;
+ $2264 = $2259 | $2263;
+ $2265 = (($2264) + 2053994217)|0;
+ $2266 = ((($x)) + 52|0);
+ $2267 = HEAP32[$2266>>2]|0;
+ $2268 = (($2265) + ($2267))|0;
+ $2269 = $br;
+ $2270 = (($2269) + ($2268))|0;
+ $br = $2270;
+ $2271 = $br;
+ $2272 = (_rol_1221($2271,9)|0);
+ $2273 = $ar;
+ $2274 = (($2272) + ($2273))|0;
+ $br = $2274;
+ $2275 = $dr;
+ $2276 = (_rol_1221($2275,10)|0);
+ $dr = $2276;
+ $2277 = $bl;
+ $2278 = $dl;
+ $2279 = $2277 & $2278;
+ $2280 = $cl;
+ $2281 = $dl;
+ $2282 = $2281 ^ -1;
+ $2283 = $2280 & $2282;
+ $2284 = $2279 | $2283;
+ $2285 = (($2284) + -1894007588)|0;
+ $2286 = ((($x)) + 56|0);
+ $2287 = HEAP32[$2286>>2]|0;
+ $2288 = (($2285) + ($2287))|0;
+ $2289 = $al;
+ $2290 = (($2289) + ($2288))|0;
+ $al = $2290;
+ $2291 = $al;
+ $2292 = (_rol_1221($2291,8)|0);
+ $2293 = $el;
+ $2294 = (($2292) + ($2293))|0;
+ $al = $2294;
+ $2295 = $cl;
+ $2296 = (_rol_1221($2295,10)|0);
+ $cl = $2296;
+ $2297 = $br;
+ $2298 = $cr;
+ $2299 = $2297 & $2298;
+ $2300 = $br;
+ $2301 = $2300 ^ -1;
+ $2302 = $dr;
+ $2303 = $2301 & $2302;
+ $2304 = $2299 | $2303;
+ $2305 = (($2304) + 2053994217)|0;
+ $2306 = ((($x)) + 36|0);
+ $2307 = HEAP32[$2306>>2]|0;
+ $2308 = (($2305) + ($2307))|0;
+ $2309 = $ar;
+ $2310 = (($2309) + ($2308))|0;
+ $ar = $2310;
+ $2311 = $ar;
+ $2312 = (_rol_1221($2311,12)|0);
+ $2313 = $er;
+ $2314 = (($2312) + ($2313))|0;
+ $ar = $2314;
+ $2315 = $cr;
+ $2316 = (_rol_1221($2315,10)|0);
+ $cr = $2316;
+ $2317 = $al;
+ $2318 = $cl;
+ $2319 = $2317 & $2318;
+ $2320 = $bl;
+ $2321 = $cl;
+ $2322 = $2321 ^ -1;
+ $2323 = $2320 & $2322;
+ $2324 = $2319 | $2323;
+ $2325 = (($2324) + -1894007588)|0;
+ $2326 = ((($x)) + 20|0);
+ $2327 = HEAP32[$2326>>2]|0;
+ $2328 = (($2325) + ($2327))|0;
+ $2329 = $el;
+ $2330 = (($2329) + ($2328))|0;
+ $el = $2330;
+ $2331 = $el;
+ $2332 = (_rol_1221($2331,6)|0);
+ $2333 = $dl;
+ $2334 = (($2332) + ($2333))|0;
+ $el = $2334;
+ $2335 = $bl;
+ $2336 = (_rol_1221($2335,10)|0);
+ $bl = $2336;
+ $2337 = $ar;
+ $2338 = $br;
+ $2339 = $2337 & $2338;
+ $2340 = $ar;
+ $2341 = $2340 ^ -1;
+ $2342 = $cr;
+ $2343 = $2341 & $2342;
+ $2344 = $2339 | $2343;
+ $2345 = (($2344) + 2053994217)|0;
+ $2346 = ((($x)) + 28|0);
+ $2347 = HEAP32[$2346>>2]|0;
+ $2348 = (($2345) + ($2347))|0;
+ $2349 = $er;
+ $2350 = (($2349) + ($2348))|0;
+ $er = $2350;
+ $2351 = $er;
+ $2352 = (_rol_1221($2351,5)|0);
+ $2353 = $dr;
+ $2354 = (($2352) + ($2353))|0;
+ $er = $2354;
+ $2355 = $br;
+ $2356 = (_rol_1221($2355,10)|0);
+ $br = $2356;
+ $2357 = $el;
+ $2358 = $bl;
+ $2359 = $2357 & $2358;
+ $2360 = $al;
+ $2361 = $bl;
+ $2362 = $2361 ^ -1;
+ $2363 = $2360 & $2362;
+ $2364 = $2359 | $2363;
+ $2365 = (($2364) + -1894007588)|0;
+ $2366 = ((($x)) + 24|0);
+ $2367 = HEAP32[$2366>>2]|0;
+ $2368 = (($2365) + ($2367))|0;
+ $2369 = $dl;
+ $2370 = (($2369) + ($2368))|0;
+ $dl = $2370;
+ $2371 = $dl;
+ $2372 = (_rol_1221($2371,5)|0);
+ $2373 = $cl;
+ $2374 = (($2372) + ($2373))|0;
+ $dl = $2374;
+ $2375 = $al;
+ $2376 = (_rol_1221($2375,10)|0);
+ $al = $2376;
+ $2377 = $er;
+ $2378 = $ar;
+ $2379 = $2377 & $2378;
+ $2380 = $er;
+ $2381 = $2380 ^ -1;
+ $2382 = $br;
+ $2383 = $2381 & $2382;
+ $2384 = $2379 | $2383;
+ $2385 = (($2384) + 2053994217)|0;
+ $2386 = ((($x)) + 40|0);
+ $2387 = HEAP32[$2386>>2]|0;
+ $2388 = (($2385) + ($2387))|0;
+ $2389 = $dr;
+ $2390 = (($2389) + ($2388))|0;
+ $dr = $2390;
+ $2391 = $dr;
+ $2392 = (_rol_1221($2391,15)|0);
+ $2393 = $cr;
+ $2394 = (($2392) + ($2393))|0;
+ $dr = $2394;
+ $2395 = $ar;
+ $2396 = (_rol_1221($2395,10)|0);
+ $ar = $2396;
+ $2397 = $dl;
+ $2398 = $al;
+ $2399 = $2397 & $2398;
+ $2400 = $el;
+ $2401 = $al;
+ $2402 = $2401 ^ -1;
+ $2403 = $2400 & $2402;
+ $2404 = $2399 | $2403;
+ $2405 = (($2404) + -1894007588)|0;
+ $2406 = ((($x)) + 8|0);
+ $2407 = HEAP32[$2406>>2]|0;
+ $2408 = (($2405) + ($2407))|0;
+ $2409 = $cl;
+ $2410 = (($2409) + ($2408))|0;
+ $cl = $2410;
+ $2411 = $cl;
+ $2412 = (_rol_1221($2411,12)|0);
+ $2413 = $bl;
+ $2414 = (($2412) + ($2413))|0;
+ $cl = $2414;
+ $2415 = $el;
+ $2416 = (_rol_1221($2415,10)|0);
+ $el = $2416;
+ $2417 = $dr;
+ $2418 = $er;
+ $2419 = $2417 & $2418;
+ $2420 = $dr;
+ $2421 = $2420 ^ -1;
+ $2422 = $ar;
+ $2423 = $2421 & $2422;
+ $2424 = $2419 | $2423;
+ $2425 = (($2424) + 2053994217)|0;
+ $2426 = ((($x)) + 56|0);
+ $2427 = HEAP32[$2426>>2]|0;
+ $2428 = (($2425) + ($2427))|0;
+ $2429 = $cr;
+ $2430 = (($2429) + ($2428))|0;
+ $cr = $2430;
+ $2431 = $cr;
+ $2432 = (_rol_1221($2431,8)|0);
+ $2433 = $br;
+ $2434 = (($2432) + ($2433))|0;
+ $cr = $2434;
+ $2435 = $er;
+ $2436 = (_rol_1221($2435,10)|0);
+ $er = $2436;
+ $2437 = $cl;
+ $2438 = $dl;
+ $2439 = $el;
+ $2440 = $2439 ^ -1;
+ $2441 = $2438 | $2440;
+ $2442 = $2437 ^ $2441;
+ $2443 = (($2442) + -1454113458)|0;
+ $2444 = ((($x)) + 16|0);
+ $2445 = HEAP32[$2444>>2]|0;
+ $2446 = (($2443) + ($2445))|0;
+ $2447 = $bl;
+ $2448 = (($2447) + ($2446))|0;
+ $bl = $2448;
+ $2449 = $bl;
+ $2450 = (_rol_1221($2449,9)|0);
+ $2451 = $al;
+ $2452 = (($2450) + ($2451))|0;
+ $bl = $2452;
+ $2453 = $dl;
+ $2454 = (_rol_1221($2453,10)|0);
+ $dl = $2454;
+ $2455 = $cr;
+ $2456 = $dr;
+ $2457 = $2455 ^ $2456;
+ $2458 = $er;
+ $2459 = $2457 ^ $2458;
+ $2460 = (($2459) + 0)|0;
+ $2461 = ((($x)) + 48|0);
+ $2462 = HEAP32[$2461>>2]|0;
+ $2463 = (($2460) + ($2462))|0;
+ $2464 = $br;
+ $2465 = (($2464) + ($2463))|0;
+ $br = $2465;
+ $2466 = $br;
+ $2467 = (_rol_1221($2466,8)|0);
+ $2468 = $ar;
+ $2469 = (($2467) + ($2468))|0;
+ $br = $2469;
+ $2470 = $dr;
+ $2471 = (_rol_1221($2470,10)|0);
+ $dr = $2471;
+ $2472 = $bl;
+ $2473 = $cl;
+ $2474 = $dl;
+ $2475 = $2474 ^ -1;
+ $2476 = $2473 | $2475;
+ $2477 = $2472 ^ $2476;
+ $2478 = (($2477) + -1454113458)|0;
+ $2479 = HEAP32[$x>>2]|0;
+ $2480 = (($2478) + ($2479))|0;
+ $2481 = $al;
+ $2482 = (($2481) + ($2480))|0;
+ $al = $2482;
+ $2483 = $al;
+ $2484 = (_rol_1221($2483,15)|0);
+ $2485 = $el;
+ $2486 = (($2484) + ($2485))|0;
+ $al = $2486;
+ $2487 = $cl;
+ $2488 = (_rol_1221($2487,10)|0);
+ $cl = $2488;
+ $2489 = $br;
+ $2490 = $cr;
+ $2491 = $2489 ^ $2490;
+ $2492 = $dr;
+ $2493 = $2491 ^ $2492;
+ $2494 = (($2493) + 0)|0;
+ $2495 = ((($x)) + 60|0);
+ $2496 = HEAP32[$2495>>2]|0;
+ $2497 = (($2494) + ($2496))|0;
+ $2498 = $ar;
+ $2499 = (($2498) + ($2497))|0;
+ $ar = $2499;
+ $2500 = $ar;
+ $2501 = (_rol_1221($2500,5)|0);
+ $2502 = $er;
+ $2503 = (($2501) + ($2502))|0;
+ $ar = $2503;
+ $2504 = $cr;
+ $2505 = (_rol_1221($2504,10)|0);
+ $cr = $2505;
+ $2506 = $al;
+ $2507 = $bl;
+ $2508 = $cl;
+ $2509 = $2508 ^ -1;
+ $2510 = $2507 | $2509;
+ $2511 = $2506 ^ $2510;
+ $2512 = (($2511) + -1454113458)|0;
+ $2513 = ((($x)) + 20|0);
+ $2514 = HEAP32[$2513>>2]|0;
+ $2515 = (($2512) + ($2514))|0;
+ $2516 = $el;
+ $2517 = (($2516) + ($2515))|0;
+ $el = $2517;
+ $2518 = $el;
+ $2519 = (_rol_1221($2518,5)|0);
+ $2520 = $dl;
+ $2521 = (($2519) + ($2520))|0;
+ $el = $2521;
+ $2522 = $bl;
+ $2523 = (_rol_1221($2522,10)|0);
+ $bl = $2523;
+ $2524 = $ar;
+ $2525 = $br;
+ $2526 = $2524 ^ $2525;
+ $2527 = $cr;
+ $2528 = $2526 ^ $2527;
+ $2529 = (($2528) + 0)|0;
+ $2530 = ((($x)) + 40|0);
+ $2531 = HEAP32[$2530>>2]|0;
+ $2532 = (($2529) + ($2531))|0;
+ $2533 = $er;
+ $2534 = (($2533) + ($2532))|0;
+ $er = $2534;
+ $2535 = $er;
+ $2536 = (_rol_1221($2535,12)|0);
+ $2537 = $dr;
+ $2538 = (($2536) + ($2537))|0;
+ $er = $2538;
+ $2539 = $br;
+ $2540 = (_rol_1221($2539,10)|0);
+ $br = $2540;
+ $2541 = $el;
+ $2542 = $al;
+ $2543 = $bl;
+ $2544 = $2543 ^ -1;
+ $2545 = $2542 | $2544;
+ $2546 = $2541 ^ $2545;
+ $2547 = (($2546) + -1454113458)|0;
+ $2548 = ((($x)) + 36|0);
+ $2549 = HEAP32[$2548>>2]|0;
+ $2550 = (($2547) + ($2549))|0;
+ $2551 = $dl;
+ $2552 = (($2551) + ($2550))|0;
+ $dl = $2552;
+ $2553 = $dl;
+ $2554 = (_rol_1221($2553,11)|0);
+ $2555 = $cl;
+ $2556 = (($2554) + ($2555))|0;
+ $dl = $2556;
+ $2557 = $al;
+ $2558 = (_rol_1221($2557,10)|0);
+ $al = $2558;
+ $2559 = $er;
+ $2560 = $ar;
+ $2561 = $2559 ^ $2560;
+ $2562 = $br;
+ $2563 = $2561 ^ $2562;
+ $2564 = (($2563) + 0)|0;
+ $2565 = ((($x)) + 16|0);
+ $2566 = HEAP32[$2565>>2]|0;
+ $2567 = (($2564) + ($2566))|0;
+ $2568 = $dr;
+ $2569 = (($2568) + ($2567))|0;
+ $dr = $2569;
+ $2570 = $dr;
+ $2571 = (_rol_1221($2570,9)|0);
+ $2572 = $cr;
+ $2573 = (($2571) + ($2572))|0;
+ $dr = $2573;
+ $2574 = $ar;
+ $2575 = (_rol_1221($2574,10)|0);
+ $ar = $2575;
+ $2576 = $dl;
+ $2577 = $el;
+ $2578 = $al;
+ $2579 = $2578 ^ -1;
+ $2580 = $2577 | $2579;
+ $2581 = $2576 ^ $2580;
+ $2582 = (($2581) + -1454113458)|0;
+ $2583 = ((($x)) + 28|0);
+ $2584 = HEAP32[$2583>>2]|0;
+ $2585 = (($2582) + ($2584))|0;
+ $2586 = $cl;
+ $2587 = (($2586) + ($2585))|0;
+ $cl = $2587;
+ $2588 = $cl;
+ $2589 = (_rol_1221($2588,6)|0);
+ $2590 = $bl;
+ $2591 = (($2589) + ($2590))|0;
+ $cl = $2591;
+ $2592 = $el;
+ $2593 = (_rol_1221($2592,10)|0);
+ $el = $2593;
+ $2594 = $dr;
+ $2595 = $er;
+ $2596 = $2594 ^ $2595;
+ $2597 = $ar;
+ $2598 = $2596 ^ $2597;
+ $2599 = (($2598) + 0)|0;
+ $2600 = ((($x)) + 4|0);
+ $2601 = HEAP32[$2600>>2]|0;
+ $2602 = (($2599) + ($2601))|0;
+ $2603 = $cr;
+ $2604 = (($2603) + ($2602))|0;
+ $cr = $2604;
+ $2605 = $cr;
+ $2606 = (_rol_1221($2605,12)|0);
+ $2607 = $br;
+ $2608 = (($2606) + ($2607))|0;
+ $cr = $2608;
+ $2609 = $er;
+ $2610 = (_rol_1221($2609,10)|0);
+ $er = $2610;
+ $2611 = $cl;
+ $2612 = $dl;
+ $2613 = $el;
+ $2614 = $2613 ^ -1;
+ $2615 = $2612 | $2614;
+ $2616 = $2611 ^ $2615;
+ $2617 = (($2616) + -1454113458)|0;
+ $2618 = ((($x)) + 48|0);
+ $2619 = HEAP32[$2618>>2]|0;
+ $2620 = (($2617) + ($2619))|0;
+ $2621 = $bl;
+ $2622 = (($2621) + ($2620))|0;
+ $bl = $2622;
+ $2623 = $bl;
+ $2624 = (_rol_1221($2623,8)|0);
+ $2625 = $al;
+ $2626 = (($2624) + ($2625))|0;
+ $bl = $2626;
+ $2627 = $dl;
+ $2628 = (_rol_1221($2627,10)|0);
+ $dl = $2628;
+ $2629 = $cr;
+ $2630 = $dr;
+ $2631 = $2629 ^ $2630;
+ $2632 = $er;
+ $2633 = $2631 ^ $2632;
+ $2634 = (($2633) + 0)|0;
+ $2635 = ((($x)) + 20|0);
+ $2636 = HEAP32[$2635>>2]|0;
+ $2637 = (($2634) + ($2636))|0;
+ $2638 = $br;
+ $2639 = (($2638) + ($2637))|0;
+ $br = $2639;
+ $2640 = $br;
+ $2641 = (_rol_1221($2640,5)|0);
+ $2642 = $ar;
+ $2643 = (($2641) + ($2642))|0;
+ $br = $2643;
+ $2644 = $dr;
+ $2645 = (_rol_1221($2644,10)|0);
+ $dr = $2645;
+ $2646 = $bl;
+ $2647 = $cl;
+ $2648 = $dl;
+ $2649 = $2648 ^ -1;
+ $2650 = $2647 | $2649;
+ $2651 = $2646 ^ $2650;
+ $2652 = (($2651) + -1454113458)|0;
+ $2653 = ((($x)) + 8|0);
+ $2654 = HEAP32[$2653>>2]|0;
+ $2655 = (($2652) + ($2654))|0;
+ $2656 = $al;
+ $2657 = (($2656) + ($2655))|0;
+ $al = $2657;
+ $2658 = $al;
+ $2659 = (_rol_1221($2658,13)|0);
+ $2660 = $el;
+ $2661 = (($2659) + ($2660))|0;
+ $al = $2661;
+ $2662 = $cl;
+ $2663 = (_rol_1221($2662,10)|0);
+ $cl = $2663;
+ $2664 = $br;
+ $2665 = $cr;
+ $2666 = $2664 ^ $2665;
+ $2667 = $dr;
+ $2668 = $2666 ^ $2667;
+ $2669 = (($2668) + 0)|0;
+ $2670 = ((($x)) + 32|0);
+ $2671 = HEAP32[$2670>>2]|0;
+ $2672 = (($2669) + ($2671))|0;
+ $2673 = $ar;
+ $2674 = (($2673) + ($2672))|0;
+ $ar = $2674;
+ $2675 = $ar;
+ $2676 = (_rol_1221($2675,14)|0);
+ $2677 = $er;
+ $2678 = (($2676) + ($2677))|0;
+ $ar = $2678;
+ $2679 = $cr;
+ $2680 = (_rol_1221($2679,10)|0);
+ $cr = $2680;
+ $2681 = $al;
+ $2682 = $bl;
+ $2683 = $cl;
+ $2684 = $2683 ^ -1;
+ $2685 = $2682 | $2684;
+ $2686 = $2681 ^ $2685;
+ $2687 = (($2686) + -1454113458)|0;
+ $2688 = ((($x)) + 40|0);
+ $2689 = HEAP32[$2688>>2]|0;
+ $2690 = (($2687) + ($2689))|0;
+ $2691 = $el;
+ $2692 = (($2691) + ($2690))|0;
+ $el = $2692;
+ $2693 = $el;
+ $2694 = (_rol_1221($2693,12)|0);
+ $2695 = $dl;
+ $2696 = (($2694) + ($2695))|0;
+ $el = $2696;
+ $2697 = $bl;
+ $2698 = (_rol_1221($2697,10)|0);
+ $bl = $2698;
+ $2699 = $ar;
+ $2700 = $br;
+ $2701 = $2699 ^ $2700;
+ $2702 = $cr;
+ $2703 = $2701 ^ $2702;
+ $2704 = (($2703) + 0)|0;
+ $2705 = ((($x)) + 28|0);
+ $2706 = HEAP32[$2705>>2]|0;
+ $2707 = (($2704) + ($2706))|0;
+ $2708 = $er;
+ $2709 = (($2708) + ($2707))|0;
+ $er = $2709;
+ $2710 = $er;
+ $2711 = (_rol_1221($2710,6)|0);
+ $2712 = $dr;
+ $2713 = (($2711) + ($2712))|0;
+ $er = $2713;
+ $2714 = $br;
+ $2715 = (_rol_1221($2714,10)|0);
+ $br = $2715;
+ $2716 = $el;
+ $2717 = $al;
+ $2718 = $bl;
+ $2719 = $2718 ^ -1;
+ $2720 = $2717 | $2719;
+ $2721 = $2716 ^ $2720;
+ $2722 = (($2721) + -1454113458)|0;
+ $2723 = ((($x)) + 56|0);
+ $2724 = HEAP32[$2723>>2]|0;
+ $2725 = (($2722) + ($2724))|0;
+ $2726 = $dl;
+ $2727 = (($2726) + ($2725))|0;
+ $dl = $2727;
+ $2728 = $dl;
+ $2729 = (_rol_1221($2728,5)|0);
+ $2730 = $cl;
+ $2731 = (($2729) + ($2730))|0;
+ $dl = $2731;
+ $2732 = $al;
+ $2733 = (_rol_1221($2732,10)|0);
+ $al = $2733;
+ $2734 = $er;
+ $2735 = $ar;
+ $2736 = $2734 ^ $2735;
+ $2737 = $br;
+ $2738 = $2736 ^ $2737;
+ $2739 = (($2738) + 0)|0;
+ $2740 = ((($x)) + 24|0);
+ $2741 = HEAP32[$2740>>2]|0;
+ $2742 = (($2739) + ($2741))|0;
+ $2743 = $dr;
+ $2744 = (($2743) + ($2742))|0;
+ $dr = $2744;
+ $2745 = $dr;
+ $2746 = (_rol_1221($2745,8)|0);
+ $2747 = $cr;
+ $2748 = (($2746) + ($2747))|0;
+ $dr = $2748;
+ $2749 = $ar;
+ $2750 = (_rol_1221($2749,10)|0);
+ $ar = $2750;
+ $2751 = $dl;
+ $2752 = $el;
+ $2753 = $al;
+ $2754 = $2753 ^ -1;
+ $2755 = $2752 | $2754;
+ $2756 = $2751 ^ $2755;
+ $2757 = (($2756) + -1454113458)|0;
+ $2758 = ((($x)) + 4|0);
+ $2759 = HEAP32[$2758>>2]|0;
+ $2760 = (($2757) + ($2759))|0;
+ $2761 = $cl;
+ $2762 = (($2761) + ($2760))|0;
+ $cl = $2762;
+ $2763 = $cl;
+ $2764 = (_rol_1221($2763,12)|0);
+ $2765 = $bl;
+ $2766 = (($2764) + ($2765))|0;
+ $cl = $2766;
+ $2767 = $el;
+ $2768 = (_rol_1221($2767,10)|0);
+ $el = $2768;
+ $2769 = $dr;
+ $2770 = $er;
+ $2771 = $2769 ^ $2770;
+ $2772 = $ar;
+ $2773 = $2771 ^ $2772;
+ $2774 = (($2773) + 0)|0;
+ $2775 = ((($x)) + 8|0);
+ $2776 = HEAP32[$2775>>2]|0;
+ $2777 = (($2774) + ($2776))|0;
+ $2778 = $cr;
+ $2779 = (($2778) + ($2777))|0;
+ $cr = $2779;
+ $2780 = $cr;
+ $2781 = (_rol_1221($2780,13)|0);
+ $2782 = $br;
+ $2783 = (($2781) + ($2782))|0;
+ $cr = $2783;
+ $2784 = $er;
+ $2785 = (_rol_1221($2784,10)|0);
+ $er = $2785;
+ $2786 = $cl;
+ $2787 = $dl;
+ $2788 = $el;
+ $2789 = $2788 ^ -1;
+ $2790 = $2787 | $2789;
+ $2791 = $2786 ^ $2790;
+ $2792 = (($2791) + -1454113458)|0;
+ $2793 = ((($x)) + 12|0);
+ $2794 = HEAP32[$2793>>2]|0;
+ $2795 = (($2792) + ($2794))|0;
+ $2796 = $bl;
+ $2797 = (($2796) + ($2795))|0;
+ $bl = $2797;
+ $2798 = $bl;
+ $2799 = (_rol_1221($2798,13)|0);
+ $2800 = $al;
+ $2801 = (($2799) + ($2800))|0;
+ $bl = $2801;
+ $2802 = $dl;
+ $2803 = (_rol_1221($2802,10)|0);
+ $dl = $2803;
+ $2804 = $cr;
+ $2805 = $dr;
+ $2806 = $2804 ^ $2805;
+ $2807 = $er;
+ $2808 = $2806 ^ $2807;
+ $2809 = (($2808) + 0)|0;
+ $2810 = ((($x)) + 52|0);
+ $2811 = HEAP32[$2810>>2]|0;
+ $2812 = (($2809) + ($2811))|0;
+ $2813 = $br;
+ $2814 = (($2813) + ($2812))|0;
+ $br = $2814;
+ $2815 = $br;
+ $2816 = (_rol_1221($2815,6)|0);
+ $2817 = $ar;
+ $2818 = (($2816) + ($2817))|0;
+ $br = $2818;
+ $2819 = $dr;
+ $2820 = (_rol_1221($2819,10)|0);
+ $dr = $2820;
+ $2821 = $bl;
+ $2822 = $cl;
+ $2823 = $dl;
+ $2824 = $2823 ^ -1;
+ $2825 = $2822 | $2824;
+ $2826 = $2821 ^ $2825;
+ $2827 = (($2826) + -1454113458)|0;
+ $2828 = ((($x)) + 32|0);
+ $2829 = HEAP32[$2828>>2]|0;
+ $2830 = (($2827) + ($2829))|0;
+ $2831 = $al;
+ $2832 = (($2831) + ($2830))|0;
+ $al = $2832;
+ $2833 = $al;
+ $2834 = (_rol_1221($2833,14)|0);
+ $2835 = $el;
+ $2836 = (($2834) + ($2835))|0;
+ $al = $2836;
+ $2837 = $cl;
+ $2838 = (_rol_1221($2837,10)|0);
+ $cl = $2838;
+ $2839 = $br;
+ $2840 = $cr;
+ $2841 = $2839 ^ $2840;
+ $2842 = $dr;
+ $2843 = $2841 ^ $2842;
+ $2844 = (($2843) + 0)|0;
+ $2845 = ((($x)) + 56|0);
+ $2846 = HEAP32[$2845>>2]|0;
+ $2847 = (($2844) + ($2846))|0;
+ $2848 = $ar;
+ $2849 = (($2848) + ($2847))|0;
+ $ar = $2849;
+ $2850 = $ar;
+ $2851 = (_rol_1221($2850,5)|0);
+ $2852 = $er;
+ $2853 = (($2851) + ($2852))|0;
+ $ar = $2853;
+ $2854 = $cr;
+ $2855 = (_rol_1221($2854,10)|0);
+ $cr = $2855;
+ $2856 = $al;
+ $2857 = $bl;
+ $2858 = $cl;
+ $2859 = $2858 ^ -1;
+ $2860 = $2857 | $2859;
+ $2861 = $2856 ^ $2860;
+ $2862 = (($2861) + -1454113458)|0;
+ $2863 = ((($x)) + 44|0);
+ $2864 = HEAP32[$2863>>2]|0;
+ $2865 = (($2862) + ($2864))|0;
+ $2866 = $el;
+ $2867 = (($2866) + ($2865))|0;
+ $el = $2867;
+ $2868 = $el;
+ $2869 = (_rol_1221($2868,11)|0);
+ $2870 = $dl;
+ $2871 = (($2869) + ($2870))|0;
+ $el = $2871;
+ $2872 = $bl;
+ $2873 = (_rol_1221($2872,10)|0);
+ $bl = $2873;
+ $2874 = $ar;
+ $2875 = $br;
+ $2876 = $2874 ^ $2875;
+ $2877 = $cr;
+ $2878 = $2876 ^ $2877;
+ $2879 = (($2878) + 0)|0;
+ $2880 = HEAP32[$x>>2]|0;
+ $2881 = (($2879) + ($2880))|0;
+ $2882 = $er;
+ $2883 = (($2882) + ($2881))|0;
+ $er = $2883;
+ $2884 = $er;
+ $2885 = (_rol_1221($2884,15)|0);
+ $2886 = $dr;
+ $2887 = (($2885) + ($2886))|0;
+ $er = $2887;
+ $2888 = $br;
+ $2889 = (_rol_1221($2888,10)|0);
+ $br = $2889;
+ $2890 = $el;
+ $2891 = $al;
+ $2892 = $bl;
+ $2893 = $2892 ^ -1;
+ $2894 = $2891 | $2893;
+ $2895 = $2890 ^ $2894;
+ $2896 = (($2895) + -1454113458)|0;
+ $2897 = ((($x)) + 24|0);
+ $2898 = HEAP32[$2897>>2]|0;
+ $2899 = (($2896) + ($2898))|0;
+ $2900 = $dl;
+ $2901 = (($2900) + ($2899))|0;
+ $dl = $2901;
+ $2902 = $dl;
+ $2903 = (_rol_1221($2902,8)|0);
+ $2904 = $cl;
+ $2905 = (($2903) + ($2904))|0;
+ $dl = $2905;
+ $2906 = $al;
+ $2907 = (_rol_1221($2906,10)|0);
+ $al = $2907;
+ $2908 = $er;
+ $2909 = $ar;
+ $2910 = $2908 ^ $2909;
+ $2911 = $br;
+ $2912 = $2910 ^ $2911;
+ $2913 = (($2912) + 0)|0;
+ $2914 = ((($x)) + 12|0);
+ $2915 = HEAP32[$2914>>2]|0;
+ $2916 = (($2913) + ($2915))|0;
+ $2917 = $dr;
+ $2918 = (($2917) + ($2916))|0;
+ $dr = $2918;
+ $2919 = $dr;
+ $2920 = (_rol_1221($2919,13)|0);
+ $2921 = $cr;
+ $2922 = (($2920) + ($2921))|0;
+ $dr = $2922;
+ $2923 = $ar;
+ $2924 = (_rol_1221($2923,10)|0);
+ $ar = $2924;
+ $2925 = $dl;
+ $2926 = $el;
+ $2927 = $al;
+ $2928 = $2927 ^ -1;
+ $2929 = $2926 | $2928;
+ $2930 = $2925 ^ $2929;
+ $2931 = (($2930) + -1454113458)|0;
+ $2932 = ((($x)) + 60|0);
+ $2933 = HEAP32[$2932>>2]|0;
+ $2934 = (($2931) + ($2933))|0;
+ $2935 = $cl;
+ $2936 = (($2935) + ($2934))|0;
+ $cl = $2936;
+ $2937 = $cl;
+ $2938 = (_rol_1221($2937,5)|0);
+ $2939 = $bl;
+ $2940 = (($2938) + ($2939))|0;
+ $cl = $2940;
+ $2941 = $el;
+ $2942 = (_rol_1221($2941,10)|0);
+ $el = $2942;
+ $2943 = $dr;
+ $2944 = $er;
+ $2945 = $2943 ^ $2944;
+ $2946 = $ar;
+ $2947 = $2945 ^ $2946;
+ $2948 = (($2947) + 0)|0;
+ $2949 = ((($x)) + 36|0);
+ $2950 = HEAP32[$2949>>2]|0;
+ $2951 = (($2948) + ($2950))|0;
+ $2952 = $cr;
+ $2953 = (($2952) + ($2951))|0;
+ $cr = $2953;
+ $2954 = $cr;
+ $2955 = (_rol_1221($2954,11)|0);
+ $2956 = $br;
+ $2957 = (($2955) + ($2956))|0;
+ $cr = $2957;
+ $2958 = $er;
+ $2959 = (_rol_1221($2958,10)|0);
+ $er = $2959;
+ $2960 = $cl;
+ $2961 = $dl;
+ $2962 = $el;
+ $2963 = $2962 ^ -1;
+ $2964 = $2961 | $2963;
+ $2965 = $2960 ^ $2964;
+ $2966 = (($2965) + -1454113458)|0;
+ $2967 = ((($x)) + 52|0);
+ $2968 = HEAP32[$2967>>2]|0;
+ $2969 = (($2966) + ($2968))|0;
+ $2970 = $bl;
+ $2971 = (($2970) + ($2969))|0;
+ $bl = $2971;
+ $2972 = $bl;
+ $2973 = (_rol_1221($2972,6)|0);
+ $2974 = $al;
+ $2975 = (($2973) + ($2974))|0;
+ $bl = $2975;
+ $2976 = $dl;
+ $2977 = (_rol_1221($2976,10)|0);
+ $dl = $2977;
+ $2978 = $cr;
+ $2979 = $dr;
+ $2980 = $2978 ^ $2979;
+ $2981 = $er;
+ $2982 = $2980 ^ $2981;
+ $2983 = (($2982) + 0)|0;
+ $2984 = ((($x)) + 44|0);
+ $2985 = HEAP32[$2984>>2]|0;
+ $2986 = (($2983) + ($2985))|0;
+ $2987 = $br;
+ $2988 = (($2987) + ($2986))|0;
+ $br = $2988;
+ $2989 = $br;
+ $2990 = (_rol_1221($2989,11)|0);
+ $2991 = $ar;
+ $2992 = (($2990) + ($2991))|0;
+ $br = $2992;
+ $2993 = $dr;
+ $2994 = (_rol_1221($2993,10)|0);
+ $dr = $2994;
+ $2995 = $cl;
+ $2996 = $hd;
+ $2997 = ((($2996)) + 164|0);
+ $2998 = HEAP32[$2997>>2]|0;
+ $2999 = (($2995) + ($2998))|0;
+ $3000 = $dr;
+ $3001 = (($3000) + ($2999))|0;
+ $dr = $3001;
+ $3002 = $hd;
+ $3003 = ((($3002)) + 168|0);
+ $3004 = HEAP32[$3003>>2]|0;
+ $3005 = $dl;
+ $3006 = (($3004) + ($3005))|0;
+ $3007 = $er;
+ $3008 = (($3006) + ($3007))|0;
+ $3009 = $hd;
+ $3010 = ((($3009)) + 164|0);
+ HEAP32[$3010>>2] = $3008;
+ $3011 = $hd;
+ $3012 = ((($3011)) + 172|0);
+ $3013 = HEAP32[$3012>>2]|0;
+ $3014 = $el;
+ $3015 = (($3013) + ($3014))|0;
+ $3016 = $ar;
+ $3017 = (($3015) + ($3016))|0;
+ $3018 = $hd;
+ $3019 = ((($3018)) + 168|0);
+ HEAP32[$3019>>2] = $3017;
+ $3020 = $hd;
+ $3021 = ((($3020)) + 176|0);
+ $3022 = HEAP32[$3021>>2]|0;
+ $3023 = $al;
+ $3024 = (($3022) + ($3023))|0;
+ $3025 = $br;
+ $3026 = (($3024) + ($3025))|0;
+ $3027 = $hd;
+ $3028 = ((($3027)) + 172|0);
+ HEAP32[$3028>>2] = $3026;
+ $3029 = $hd;
+ $3030 = ((($3029)) + 160|0);
+ $3031 = HEAP32[$3030>>2]|0;
+ $3032 = $bl;
+ $3033 = (($3031) + ($3032))|0;
+ $3034 = $cr;
+ $3035 = (($3033) + ($3034))|0;
+ $3036 = $hd;
+ $3037 = ((($3036)) + 176|0);
+ HEAP32[$3037>>2] = $3035;
+ $3038 = $dr;
+ $3039 = $hd;
+ $3040 = ((($3039)) + 160|0);
+ HEAP32[$3040>>2] = $3038;
+ STACKTOP = sp;return 124;
+}
+function _buf_get_le32_1220($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = ((($2)) + 3|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 24;
+ $7 = $in;
+ $8 = ((($7)) + 2|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = $10 << 16;
+ $12 = $6 | $11;
+ $13 = $in;
+ $14 = ((($13)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $16 << 8;
+ $18 = $12 | $17;
+ $19 = $in;
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $18 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _rol_1221($x,$n) {
+ $x = $x|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $n;
+ $2 = $0;
+ $3 = $1;
+ $4 = $3 & 31;
+ $5 = $2 << $4;
+ $6 = $0;
+ $7 = $1;
+ $8 = (32 - ($7))|0;
+ $9 = $8 & 31;
+ $10 = $6 >>> $9;
+ $11 = $5 | $10;
+ STACKTOP = sp;return ($11|0);
+}
+function _rmd160_final($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $burn = 0, $hd = 0, $lsb = 0;
+ var $msb = 0, $p = 0, $t = 0, $th = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ __gcry_md_block_write($2,0,0);
+ $3 = $hd;
+ $4 = ((($3)) + 128|0);
+ $5 = $4;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($5) + 4)|0;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $t = $7;
+ $11 = $hd;
+ $12 = ((($11)) + 128|0);
+ $13 = $12;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $th = $18;
+ $19 = $t;
+ $20 = $19 << 6;
+ $lsb = $20;
+ $21 = $th;
+ $22 = $21 << 6;
+ $23 = $t;
+ $24 = $23 >>> 26;
+ $25 = $22 | $24;
+ $msb = $25;
+ $26 = $lsb;
+ $t = $26;
+ $27 = $hd;
+ $28 = ((($27)) + 144|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $lsb;
+ $31 = (($30) + ($29))|0;
+ $lsb = $31;
+ $32 = $t;
+ $33 = ($31>>>0)<($32>>>0);
+ if ($33) {
+ $34 = $msb;
+ $35 = (($34) + 1)|0;
+ $msb = $35;
+ }
+ $36 = $lsb;
+ $t = $36;
+ $37 = $lsb;
+ $38 = $37 << 3;
+ $lsb = $38;
+ $39 = $msb;
+ $40 = $39 << 3;
+ $msb = $40;
+ $41 = $t;
+ $42 = $41 >>> 29;
+ $43 = $msb;
+ $44 = $43 | $42;
+ $msb = $44;
+ $45 = $hd;
+ $46 = ((($45)) + 144|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)<(56);
+ $49 = $hd;
+ $50 = ((($49)) + 144|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($51) + 1)|0;
+ HEAP32[$50>>2] = $52;
+ $53 = $hd;
+ $54 = (($53) + ($51)|0);
+ HEAP8[$54>>0] = -128;
+ L4: do {
+ if ($48) {
+ while(1) {
+ $55 = $hd;
+ $56 = ((($55)) + 144|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)<(56);
+ if (!($58)) {
+ break L4;
+ }
+ $59 = $hd;
+ $60 = ((($59)) + 144|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = (($61) + 1)|0;
+ HEAP32[$60>>2] = $62;
+ $63 = $hd;
+ $64 = (($63) + ($61)|0);
+ HEAP8[$64>>0] = 0;
+ }
+ } else {
+ while(1) {
+ $65 = $hd;
+ $66 = ((($65)) + 144|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = ($67|0)<(64);
+ $69 = $hd;
+ if (!($68)) {
+ break;
+ }
+ $70 = ((($69)) + 144|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (($71) + 1)|0;
+ HEAP32[$70>>2] = $72;
+ $73 = $hd;
+ $74 = (($73) + ($71)|0);
+ HEAP8[$74>>0] = 0;
+ }
+ __gcry_md_block_write($69,0,0);
+ $75 = $hd;
+ dest=$75; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ } while(0);
+ $76 = $hd;
+ $77 = ((($76)) + 56|0);
+ $78 = $lsb;
+ _buf_put_le32_1222($77,$78);
+ $79 = $hd;
+ $80 = ((($79)) + 60|0);
+ $81 = $msb;
+ _buf_put_le32_1222($80,$81);
+ $82 = $hd;
+ $83 = $hd;
+ $84 = (_transform($82,$83,1)|0);
+ $burn = $84;
+ $85 = $burn;
+ ___gcry_burn_stack($85);
+ ___gcry_burn_stack_dummy();
+ $86 = $hd;
+ $p = $86;
+ $87 = $p;
+ $88 = $hd;
+ $89 = ((($88)) + 160|0);
+ $90 = HEAP32[$89>>2]|0;
+ _buf_put_le32_1222($87,$90);
+ $91 = $p;
+ $92 = ((($91)) + 4|0);
+ $p = $92;
+ $93 = $p;
+ $94 = $hd;
+ $95 = ((($94)) + 164|0);
+ $96 = HEAP32[$95>>2]|0;
+ _buf_put_le32_1222($93,$96);
+ $97 = $p;
+ $98 = ((($97)) + 4|0);
+ $p = $98;
+ $99 = $p;
+ $100 = $hd;
+ $101 = ((($100)) + 168|0);
+ $102 = HEAP32[$101>>2]|0;
+ _buf_put_le32_1222($99,$102);
+ $103 = $p;
+ $104 = ((($103)) + 4|0);
+ $p = $104;
+ $105 = $p;
+ $106 = $hd;
+ $107 = ((($106)) + 172|0);
+ $108 = HEAP32[$107>>2]|0;
+ _buf_put_le32_1222($105,$108);
+ $109 = $p;
+ $110 = ((($109)) + 4|0);
+ $p = $110;
+ $111 = $p;
+ $112 = $hd;
+ $113 = ((($112)) + 176|0);
+ $114 = HEAP32[$113>>2]|0;
+ _buf_put_le32_1222($111,$114);
+ $115 = $p;
+ $116 = ((($115)) + 4|0);
+ $p = $116;
+ STACKTOP = sp;return;
+}
+function _buf_put_le32_1222($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ $7 = ((($6)) + 3|0);
+ HEAP8[$7>>0] = $5;
+ $8 = $1;
+ $9 = $8 >>> 16;
+ $10 = $9&255;
+ $11 = $out;
+ $12 = ((($11)) + 2|0);
+ HEAP8[$12>>0] = $10;
+ $13 = $1;
+ $14 = $13 >>> 8;
+ $15 = $14&255;
+ $16 = $out;
+ $17 = ((($16)) + 1|0);
+ HEAP8[$17>>0] = $15;
+ $18 = $1;
+ $19 = $18&255;
+ $20 = $out;
+ HEAP8[$20>>0] = $19;
+ STACKTOP = sp;return;
+}
+function _rmd160_read($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $2 = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_rmd160_init($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ _rmd160_init($1,0);
+ STACKTOP = sp;return;
+}
+function __gcry_rmd160_mixblock($hd,$blockof64byte) {
+ $hd = $hd|0;
+ $blockof64byte = $blockof64byte|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $blockof64byte;
+ $2 = $1;
+ $p = $2;
+ $3 = $0;
+ $4 = $1;
+ (_transform($3,$4,1)|0);
+ $5 = $0;
+ $6 = ((($5)) + 160|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $p;
+ HEAP32[$8>>2] = $7;
+ $9 = $0;
+ $10 = ((($9)) + 164|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $p;
+ $13 = ((($12)) + 4|0);
+ HEAP32[$13>>2] = $11;
+ $14 = $0;
+ $15 = ((($14)) + 168|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $p;
+ $18 = ((($17)) + 8|0);
+ HEAP32[$18>>2] = $16;
+ $19 = $0;
+ $20 = ((($19)) + 172|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $p;
+ $23 = ((($22)) + 12|0);
+ HEAP32[$23>>2] = $21;
+ $24 = $0;
+ $25 = ((($24)) + 176|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $p;
+ $28 = ((($27)) + 16|0);
+ HEAP32[$28>>2] = $26;
+ STACKTOP = sp;return;
+}
+function __gcry_rmd160_hash_buffer($outbuf,$buffer,$length) {
+ $outbuf = $outbuf|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $hd = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp;
+ $0 = $outbuf;
+ $1 = $buffer;
+ $2 = $length;
+ __gcry_rmd160_init($hd);
+ $3 = $1;
+ $4 = $2;
+ __gcry_md_block_write($hd,$3,$4);
+ _rmd160_final($hd);
+ $5 = $0;
+ dest=$5; src=$hd; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function __gcry_rsa_pkcs1_encode_for_enc($r_result,$nbits,$value,$valuelen,$random_override,$random_override_len) {
+ $r_result = $r_result|0;
+ $nbits = $nbits|0;
+ $value = $value|0;
+ $valuelen = $valuelen|0;
+ $random_override = $random_override|0;
+ $random_override_len = $random_override_len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $frame = 0, $i = 0, $j = 0, $j1 = 0, $k = 0, $n = 0, $nframe = 0, $or$cond = 0, $p = 0, $pp = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nframe = sp + 28|0;
+ $1 = $r_result;
+ $2 = $nbits;
+ $3 = $value;
+ $4 = $valuelen;
+ $5 = $random_override;
+ $6 = $random_override_len;
+ $rc = 0;
+ $frame = 0;
+ $7 = $2;
+ $8 = (($7) + 7)|0;
+ $9 = (($8>>>0) / 8)&-1;
+ HEAP32[$nframe>>2] = $9;
+ $10 = $4;
+ $11 = (($10) + 7)|0;
+ $12 = HEAP32[$nframe>>2]|0;
+ $13 = ($11>>>0)<=($12>>>0);
+ $14 = HEAP32[$nframe>>2]|0;
+ $15 = ($14|0)!=(0);
+ $or$cond = $13 & $15;
+ if (!($or$cond)) {
+ $0 = 66;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $16 = HEAP32[$nframe>>2]|0;
+ $17 = (__gcry_malloc_secure($16)|0);
+ $frame = $17;
+ $18 = ($17|0)!=(0|0);
+ if (!($18)) {
+ $19 = (_gpg_err_code_from_syserror()|0);
+ $0 = $19;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $n = 0;
+ $20 = $n;
+ $21 = (($20) + 1)|0;
+ $n = $21;
+ $22 = $frame;
+ $23 = (($22) + ($20)|0);
+ HEAP8[$23>>0] = 0;
+ $24 = $n;
+ $25 = (($24) + 1)|0;
+ $n = $25;
+ $26 = $frame;
+ $27 = (($26) + ($24)|0);
+ HEAP8[$27>>0] = 2;
+ $28 = HEAP32[$nframe>>2]|0;
+ $29 = (($28) - 3)|0;
+ $30 = $4;
+ $31 = (($29) - ($30))|0;
+ $i = $31;
+ $32 = $i;
+ $33 = ($32|0)>(0);
+ if (!($33)) {
+ __gcry_assert_failed(38963,38969,95,38982);
+ // unreachable;
+ }
+ $34 = $5;
+ $35 = ($34|0)!=(0|0);
+ do {
+ if ($35) {
+ $36 = $6;
+ $37 = $i;
+ $38 = ($36|0)!=($37|0);
+ if ($38) {
+ $39 = $frame;
+ __gcry_free($39);
+ $0 = 45;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $j = 0;
+ while(1) {
+ $40 = $j;
+ $41 = $6;
+ $42 = ($40>>>0)<($41>>>0);
+ if (!($42)) {
+ label = 15;
+ break;
+ }
+ $43 = $j;
+ $44 = $5;
+ $45 = (($44) + ($43)|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = ($46<<24>>24)!=(0);
+ if (!($47)) {
+ break;
+ }
+ $49 = $j;
+ $50 = (($49) + 1)|0;
+ $j = $50;
+ }
+ if ((label|0) == 15) {
+ $51 = $frame;
+ $52 = $n;
+ $53 = (($51) + ($52)|0);
+ $54 = $5;
+ $55 = $6;
+ _memcpy(($53|0),($54|0),($55|0))|0;
+ $56 = $6;
+ $57 = $n;
+ $58 = (($57) + ($56))|0;
+ $n = $58;
+ break;
+ }
+ $48 = $frame;
+ __gcry_free($48);
+ $0 = 45;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ } else {
+ $59 = $i;
+ $60 = (__gcry_random_bytes_secure($59,1)|0);
+ $p = $60;
+ while(1) {
+ $k = 0;
+ $j1 = 0;
+ while(1) {
+ $61 = $j1;
+ $62 = $i;
+ $63 = ($61|0)<($62|0);
+ if (!($63)) {
+ break;
+ }
+ $64 = $j1;
+ $65 = $p;
+ $66 = (($65) + ($64)|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = ($67<<24>>24)!=(0);
+ if (!($68)) {
+ $69 = $k;
+ $70 = (($69) + 1)|0;
+ $k = $70;
+ }
+ $71 = $j1;
+ $72 = (($71) + 1)|0;
+ $j1 = $72;
+ }
+ $73 = $k;
+ $74 = ($73|0)!=(0);
+ if (!($74)) {
+ break;
+ }
+ $75 = $k;
+ $76 = (($75|0) / 128)&-1;
+ $77 = (($76) + 3)|0;
+ $78 = $k;
+ $79 = (($78) + ($77))|0;
+ $k = $79;
+ $80 = $k;
+ $81 = (__gcry_random_bytes_secure($80,1)|0);
+ $pp = $81;
+ $j1 = 0;
+ while(1) {
+ $82 = $j1;
+ $83 = $i;
+ $84 = ($82|0)<($83|0);
+ $85 = $k;
+ $86 = ($85|0)!=(0);
+ $87 = $84 ? $86 : 0;
+ if (!($87)) {
+ break;
+ }
+ $88 = $j1;
+ $89 = $p;
+ $90 = (($89) + ($88)|0);
+ $91 = HEAP8[$90>>0]|0;
+ $92 = ($91<<24>>24)!=(0);
+ if (!($92)) {
+ $93 = $k;
+ $94 = (($93) + -1)|0;
+ $k = $94;
+ $95 = $pp;
+ $96 = (($95) + ($94)|0);
+ $97 = HEAP8[$96>>0]|0;
+ $98 = $j1;
+ $99 = $p;
+ $100 = (($99) + ($98)|0);
+ HEAP8[$100>>0] = $97;
+ }
+ $101 = $j1;
+ $102 = $p;
+ $103 = (($102) + ($101)|0);
+ $104 = HEAP8[$103>>0]|0;
+ $105 = ($104<<24>>24)!=(0);
+ if (!($105)) {
+ continue;
+ }
+ $106 = $j1;
+ $107 = (($106) + 1)|0;
+ $j1 = $107;
+ }
+ $108 = $pp;
+ __gcry_free($108);
+ }
+ $109 = $frame;
+ $110 = $n;
+ $111 = (($109) + ($110)|0);
+ $112 = $p;
+ $113 = $i;
+ _memcpy(($111|0),($112|0),($113|0))|0;
+ $114 = $i;
+ $115 = $n;
+ $116 = (($115) + ($114))|0;
+ $n = $116;
+ $117 = $p;
+ __gcry_free($117);
+ }
+ } while(0);
+ $118 = $n;
+ $119 = (($118) + 1)|0;
+ $n = $119;
+ $120 = $frame;
+ $121 = (($120) + ($118)|0);
+ HEAP8[$121>>0] = 0;
+ $122 = $frame;
+ $123 = $n;
+ $124 = (($122) + ($123)|0);
+ $125 = $3;
+ $126 = $4;
+ _memcpy(($124|0),($125|0),($126|0))|0;
+ $127 = $4;
+ $128 = $n;
+ $129 = (($128) + ($127))|0;
+ $n = $129;
+ $130 = $n;
+ $131 = HEAP32[$nframe>>2]|0;
+ $132 = ($130|0)==($131|0);
+ if (!($132)) {
+ __gcry_assert_failed(39013,38969,153,38982);
+ // unreachable;
+ }
+ $133 = $1;
+ $134 = $frame;
+ $135 = $n;
+ $136 = (__gcry_mpi_scan($133,5,$134,$135,$nframe)|0);
+ $rc = $136;
+ $137 = $rc;
+ $138 = ($137|0)!=(0);
+ if (!($138)) {
+ $139 = (__gcry_get_debug_flag(1)|0);
+ $140 = ($139|0)!=(0);
+ if ($140) {
+ $141 = $1;
+ $142 = HEAP32[$141>>2]|0;
+ __gcry_log_printmpi(39025,$142);
+ }
+ }
+ $143 = $frame;
+ __gcry_free($143);
+ $144 = $rc;
+ $0 = $144;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+}
+function __gcry_rsa_pkcs1_decode_for_enc($r_result,$r_resultlen,$nbits,$value) {
+ $r_result = $r_result|0;
+ $r_resultlen = $r_resultlen|0;
+ $nbits = $nbits|0;
+ $value = $value|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $err = 0, $frame = 0, $n = 0;
+ var $nframe = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $n = sp;
+ $1 = $r_result;
+ $2 = $r_resultlen;
+ $3 = $nbits;
+ $4 = $value;
+ $frame = 0;
+ $5 = $3;
+ $6 = (($5) + 7)|0;
+ $7 = (($6>>>0) / 8)&-1;
+ $nframe = $7;
+ $8 = $1;
+ HEAP32[$8>>2] = 0;
+ $9 = $nframe;
+ $10 = (__gcry_malloc_secure($9)|0);
+ $frame = $10;
+ $11 = ($10|0)!=(0|0);
+ if (!($11)) {
+ $12 = (_gpg_err_code_from_syserror()|0);
+ $0 = $12;
+ $76 = $0;
+ STACKTOP = sp;return ($76|0);
+ }
+ $13 = $frame;
+ $14 = $nframe;
+ $15 = $4;
+ $16 = (__gcry_mpi_print(5,$13,$14,$n,$15)|0);
+ $err = $16;
+ $17 = $err;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $19 = $frame;
+ __gcry_free($19);
+ $20 = $err;
+ $21 = (_gcry_err_code($20)|0);
+ $0 = $21;
+ $76 = $0;
+ STACKTOP = sp;return ($76|0);
+ }
+ $22 = HEAP32[$n>>2]|0;
+ $nframe = $22;
+ $23 = $nframe;
+ $24 = ($23>>>0)<(4);
+ if ($24) {
+ $25 = $frame;
+ __gcry_free($25);
+ $0 = 155;
+ $76 = $0;
+ STACKTOP = sp;return ($76|0);
+ }
+ HEAP32[$n>>2] = 0;
+ $26 = $frame;
+ $27 = HEAP8[$26>>0]|0;
+ $28 = ($27<<24>>24)!=(0);
+ if (!($28)) {
+ $29 = HEAP32[$n>>2]|0;
+ $30 = (($29) + 1)|0;
+ HEAP32[$n>>2] = $30;
+ }
+ $31 = HEAP32[$n>>2]|0;
+ $32 = (($31) + 1)|0;
+ HEAP32[$n>>2] = $32;
+ $33 = $frame;
+ $34 = (($33) + ($31)|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35&255;
+ $37 = ($36|0)!=(2);
+ if ($37) {
+ $38 = $frame;
+ __gcry_free($38);
+ $0 = 155;
+ $76 = $0;
+ STACKTOP = sp;return ($76|0);
+ }
+ while(1) {
+ $39 = HEAP32[$n>>2]|0;
+ $40 = $nframe;
+ $41 = ($39>>>0)<($40>>>0);
+ if (!($41)) {
+ break;
+ }
+ $42 = HEAP32[$n>>2]|0;
+ $43 = $frame;
+ $44 = (($43) + ($42)|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = $45&255;
+ $47 = ($46|0)!=(0);
+ if (!($47)) {
+ break;
+ }
+ $48 = HEAP32[$n>>2]|0;
+ $49 = (($48) + 1)|0;
+ HEAP32[$n>>2] = $49;
+ }
+ $50 = HEAP32[$n>>2]|0;
+ $51 = (($50) + 1)|0;
+ $52 = $nframe;
+ $53 = ($51>>>0)>=($52>>>0);
+ if ($53) {
+ $54 = $frame;
+ __gcry_free($54);
+ $0 = 155;
+ $76 = $0;
+ STACKTOP = sp;return ($76|0);
+ }
+ $55 = HEAP32[$n>>2]|0;
+ $56 = (($55) + 1)|0;
+ HEAP32[$n>>2] = $56;
+ $57 = $frame;
+ $58 = $frame;
+ $59 = HEAP32[$n>>2]|0;
+ $60 = (($58) + ($59)|0);
+ $61 = $nframe;
+ $62 = HEAP32[$n>>2]|0;
+ $63 = (($61) - ($62))|0;
+ _memmove(($57|0),($60|0),($63|0))|0;
+ $64 = $frame;
+ $65 = $1;
+ HEAP32[$65>>2] = $64;
+ $66 = $nframe;
+ $67 = HEAP32[$n>>2]|0;
+ $68 = (($66) - ($67))|0;
+ $69 = $2;
+ HEAP32[$69>>2] = $68;
+ $70 = (__gcry_get_debug_flag(1)|0);
+ $71 = ($70|0)!=(0);
+ if ($71) {
+ $72 = $1;
+ $73 = HEAP32[$72>>2]|0;
+ $74 = $2;
+ $75 = HEAP32[$74>>2]|0;
+ __gcry_log_printhex(39058,$73,$75);
+ }
+ $0 = 0;
+ $76 = $0;
+ STACKTOP = sp;return ($76|0);
+}
+function _gcry_err_code($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (_gpg_err_code_1231($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_code_1231($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = $1 & 65535;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_rsa_pkcs1_encode_for_sig($r_result,$nbits,$value,$valuelen,$algo) {
+ $r_result = $r_result|0;
+ $nbits = $nbits|0;
+ $value = $value|0;
+ $valuelen = $valuelen|0;
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $asn = 0, $asnlen = 0, $dlen = 0, $frame = 0, $i = 0, $n = 0, $nframe = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $asn = sp + 52|0;
+ $nframe = sp + 16|0;
+ $asnlen = sp + 4|0;
+ $1 = $r_result;
+ $2 = $nbits;
+ $3 = $value;
+ $4 = $valuelen;
+ $5 = $algo;
+ $rc = 0;
+ $frame = 0;
+ $6 = $2;
+ $7 = (($6) + 7)|0;
+ $8 = (($7>>>0) / 8)&-1;
+ HEAP32[$nframe>>2] = $8;
+ HEAP32[$asnlen>>2] = 100;
+ $9 = $5;
+ $10 = (__gcry_md_get_algo_dlen($9)|0);
+ $dlen = $10;
+ $11 = $5;
+ $12 = (__gcry_md_algo_info($11,10,$asn,$asnlen)|0);
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ $0 = 69;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+ }
+ $14 = $4;
+ $15 = $dlen;
+ $16 = ($14|0)!=($15|0);
+ if ($16) {
+ $0 = 70;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+ }
+ $17 = $dlen;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $19 = $dlen;
+ $20 = HEAP32[$asnlen>>2]|0;
+ $21 = (($19) + ($20))|0;
+ $22 = (($21) + 4)|0;
+ $23 = HEAP32[$nframe>>2]|0;
+ $24 = ($22>>>0)>($23>>>0);
+ if (!($24)) {
+ $25 = HEAP32[$nframe>>2]|0;
+ $26 = (__gcry_malloc($25)|0);
+ $frame = $26;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $28 = (_gpg_err_code_from_syserror()|0);
+ $0 = $28;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+ }
+ $n = 0;
+ $29 = $n;
+ $30 = (($29) + 1)|0;
+ $n = $30;
+ $31 = $frame;
+ $32 = (($31) + ($29)|0);
+ HEAP8[$32>>0] = 0;
+ $33 = $n;
+ $34 = (($33) + 1)|0;
+ $n = $34;
+ $35 = $frame;
+ $36 = (($35) + ($33)|0);
+ HEAP8[$36>>0] = 1;
+ $37 = HEAP32[$nframe>>2]|0;
+ $38 = $4;
+ $39 = (($37) - ($38))|0;
+ $40 = HEAP32[$asnlen>>2]|0;
+ $41 = (($39) - ($40))|0;
+ $42 = (($41) - 3)|0;
+ $i = $42;
+ $43 = $i;
+ $44 = ($43|0)>(1);
+ if (!($44)) {
+ __gcry_assert_failed(39112,38969,303,39118);
+ // unreachable;
+ }
+ $45 = $frame;
+ $46 = $n;
+ $47 = (($45) + ($46)|0);
+ $48 = $i;
+ _memset(($47|0),-1,($48|0))|0;
+ $49 = $i;
+ $50 = $n;
+ $51 = (($50) + ($49))|0;
+ $n = $51;
+ $52 = $n;
+ $53 = (($52) + 1)|0;
+ $n = $53;
+ $54 = $frame;
+ $55 = (($54) + ($52)|0);
+ HEAP8[$55>>0] = 0;
+ $56 = $frame;
+ $57 = $n;
+ $58 = (($56) + ($57)|0);
+ $59 = HEAP32[$asnlen>>2]|0;
+ _memcpy(($58|0),($asn|0),($59|0))|0;
+ $60 = HEAP32[$asnlen>>2]|0;
+ $61 = $n;
+ $62 = (($61) + ($60))|0;
+ $n = $62;
+ $63 = $frame;
+ $64 = $n;
+ $65 = (($63) + ($64)|0);
+ $66 = $3;
+ $67 = $4;
+ _memcpy(($65|0),($66|0),($67|0))|0;
+ $68 = $4;
+ $69 = $n;
+ $70 = (($69) + ($68))|0;
+ $n = $70;
+ $71 = $n;
+ $72 = HEAP32[$nframe>>2]|0;
+ $73 = ($71|0)==($72|0);
+ if (!($73)) {
+ __gcry_assert_failed(39013,38969,311,39118);
+ // unreachable;
+ }
+ $74 = $1;
+ $75 = $frame;
+ $76 = $n;
+ $77 = (__gcry_mpi_scan($74,5,$75,$76,$nframe)|0);
+ $rc = $77;
+ $78 = $rc;
+ $79 = ($78|0)!=(0);
+ if (!($79)) {
+ $80 = (__gcry_get_debug_flag(1)|0);
+ $81 = ($80|0)!=(0);
+ if ($81) {
+ $82 = $1;
+ $83 = HEAP32[$82>>2]|0;
+ __gcry_log_printmpi(39149,$83);
+ }
+ }
+ $84 = $frame;
+ __gcry_free($84);
+ $85 = $rc;
+ $0 = $85;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+ }
+ }
+ $0 = 66;
+ $86 = $0;
+ STACKTOP = sp;return ($86|0);
+}
+function __gcry_rsa_pkcs1_encode_raw_for_sig($r_result,$nbits,$value,$valuelen) {
+ $r_result = $r_result|0;
+ $nbits = $nbits|0;
+ $value = $value|0;
+ $valuelen = $valuelen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $frame = 0, $i = 0, $n = 0, $nframe = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nframe = sp + 8|0;
+ $1 = $r_result;
+ $2 = $nbits;
+ $3 = $value;
+ $4 = $valuelen;
+ $rc = 0;
+ $frame = 0;
+ $5 = $2;
+ $6 = (($5) + 7)|0;
+ $7 = (($6>>>0) / 8)&-1;
+ HEAP32[$nframe>>2] = $7;
+ $8 = $4;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = $4;
+ $11 = (($10) + 4)|0;
+ $12 = HEAP32[$nframe>>2]|0;
+ $13 = ($11>>>0)>($12>>>0);
+ if (!($13)) {
+ $14 = HEAP32[$nframe>>2]|0;
+ $15 = (__gcry_malloc($14)|0);
+ $frame = $15;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $17 = (_gpg_err_code_from_syserror()|0);
+ $0 = $17;
+ $68 = $0;
+ STACKTOP = sp;return ($68|0);
+ }
+ $n = 0;
+ $18 = $n;
+ $19 = (($18) + 1)|0;
+ $n = $19;
+ $20 = $frame;
+ $21 = (($20) + ($18)|0);
+ HEAP8[$21>>0] = 0;
+ $22 = $n;
+ $23 = (($22) + 1)|0;
+ $n = $23;
+ $24 = $frame;
+ $25 = (($24) + ($22)|0);
+ HEAP8[$25>>0] = 1;
+ $26 = HEAP32[$nframe>>2]|0;
+ $27 = $4;
+ $28 = (($26) - ($27))|0;
+ $29 = (($28) - 3)|0;
+ $i = $29;
+ $30 = $i;
+ $31 = ($30|0)>(1);
+ if (!($31)) {
+ __gcry_assert_failed(39112,38969,368,39182);
+ // unreachable;
+ }
+ $32 = $frame;
+ $33 = $n;
+ $34 = (($32) + ($33)|0);
+ $35 = $i;
+ _memset(($34|0),-1,($35|0))|0;
+ $36 = $i;
+ $37 = $n;
+ $38 = (($37) + ($36))|0;
+ $n = $38;
+ $39 = $n;
+ $40 = (($39) + 1)|0;
+ $n = $40;
+ $41 = $frame;
+ $42 = (($41) + ($39)|0);
+ HEAP8[$42>>0] = 0;
+ $43 = $frame;
+ $44 = $n;
+ $45 = (($43) + ($44)|0);
+ $46 = $3;
+ $47 = $4;
+ _memcpy(($45|0),($46|0),($47|0))|0;
+ $48 = $4;
+ $49 = $n;
+ $50 = (($49) + ($48))|0;
+ $n = $50;
+ $51 = $n;
+ $52 = HEAP32[$nframe>>2]|0;
+ $53 = ($51|0)==($52|0);
+ if (!($53)) {
+ __gcry_assert_failed(39013,38969,374,39182);
+ // unreachable;
+ }
+ $54 = $1;
+ $55 = $frame;
+ $56 = $n;
+ $57 = (__gcry_mpi_scan($54,5,$55,$56,$nframe)|0);
+ $err = $57;
+ $58 = $err;
+ $59 = ($58|0)!=(0);
+ if ($59) {
+ $60 = $err;
+ $61 = (_gcry_err_code($60)|0);
+ $rc = $61;
+ } else {
+ $62 = (__gcry_get_debug_flag(1)|0);
+ $63 = ($62|0)!=(0);
+ if ($63) {
+ $64 = $1;
+ $65 = HEAP32[$64>>2]|0;
+ __gcry_log_printmpi(39149,$65);
+ }
+ }
+ $66 = $frame;
+ __gcry_free($66);
+ $67 = $rc;
+ $0 = $67;
+ $68 = $0;
+ STACKTOP = sp;return ($68|0);
+ }
+ }
+ $0 = 66;
+ $68 = $0;
+ STACKTOP = sp;return ($68|0);
+}
+function __gcry_rsa_oaep_encode($r_result,$nbits,$algo,$value,$valuelen,$label,$labellen,$random_override,$random_override_len) {
+ $r_result = $r_result|0;
+ $nbits = $nbits|0;
+ $algo = $algo|0;
+ $value = $value|0;
+ $valuelen = $valuelen|0;
+ $label = $label|0;
+ $labellen = $labellen|0;
+ $random_override = $random_override|0;
+ $random_override_len = $random_override_len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $dmask = 0, $frame = 0, $hlen = 0, $n = 0, $nframe = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $rc = 0, $smask = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $r_result;
+ $2 = $nbits;
+ $3 = $algo;
+ $4 = $value;
+ $5 = $valuelen;
+ $6 = $label;
+ $7 = $labellen;
+ $8 = $random_override;
+ $9 = $random_override_len;
+ $rc = 0;
+ $frame = 0;
+ $10 = $2;
+ $11 = (($10) + 7)|0;
+ $12 = (($11>>>0) / 8)&-1;
+ $nframe = $12;
+ $13 = $1;
+ HEAP32[$13>>2] = 0;
+ $14 = $6;
+ $15 = ($14|0)!=(0|0);
+ $16 = $7;
+ $17 = ($16|0)!=(0);
+ $or$cond = $15 & $17;
+ if (!($or$cond)) {
+ $6 = 76543;
+ $7 = 0;
+ }
+ $18 = $3;
+ $19 = (__gcry_md_get_algo_dlen($18)|0);
+ $hlen = $19;
+ $20 = $5;
+ $21 = $nframe;
+ $22 = $hlen;
+ $23 = $22<<1;
+ $24 = (($21) - ($23))|0;
+ $25 = (($24) - 2)|0;
+ $26 = ($20>>>0)<=($25>>>0);
+ $27 = $nframe;
+ $28 = ($27|0)!=(0);
+ $or$cond3 = $26 & $28;
+ if (!($or$cond3)) {
+ $0 = 66;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ }
+ $29 = $nframe;
+ $30 = (__gcry_calloc_secure(1,$29)|0);
+ $frame = $30;
+ $31 = $frame;
+ $32 = ($31|0)!=(0|0);
+ if (!($32)) {
+ $33 = (_gpg_err_code_from_syserror()|0);
+ $0 = $33;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ }
+ $34 = $3;
+ $35 = $frame;
+ $36 = ((($35)) + 1|0);
+ $37 = $hlen;
+ $38 = (($36) + ($37)|0);
+ $39 = $6;
+ $40 = $7;
+ __gcry_md_hash_buffer($34,$38,$39,$40);
+ $41 = $nframe;
+ $42 = $5;
+ $43 = (($41) - ($42))|0;
+ $44 = (($43) - 1)|0;
+ $n = $44;
+ $45 = $n;
+ $46 = $frame;
+ $47 = (($46) + ($45)|0);
+ HEAP8[$47>>0] = 1;
+ $48 = $frame;
+ $49 = $n;
+ $50 = (($48) + ($49)|0);
+ $51 = ((($50)) + 1|0);
+ $52 = $4;
+ $53 = $5;
+ _memcpy(($51|0),($52|0),($53|0))|0;
+ $54 = $8;
+ $55 = ($54|0)!=(0|0);
+ do {
+ if ($55) {
+ $56 = $9;
+ $57 = $hlen;
+ $58 = ($56|0)!=($57|0);
+ $59 = $frame;
+ if (!($58)) {
+ $60 = ((($59)) + 1|0);
+ $61 = $8;
+ $62 = $hlen;
+ _memcpy(($60|0),($61|0),($62|0))|0;
+ break;
+ }
+ __gcry_free($59);
+ $0 = 45;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ } else {
+ $63 = $frame;
+ $64 = ((($63)) + 1|0);
+ $65 = $hlen;
+ __gcry_randomize($64,$65,1);
+ }
+ } while(0);
+ $66 = $nframe;
+ $67 = $hlen;
+ $68 = (($66) - ($67))|0;
+ $69 = (($68) - 1)|0;
+ $70 = (__gcry_malloc_secure($69)|0);
+ $dmask = $70;
+ $71 = $dmask;
+ $72 = ($71|0)!=(0|0);
+ if (!($72)) {
+ $73 = (_gpg_err_code_from_syserror()|0);
+ $rc = $73;
+ $74 = $frame;
+ __gcry_free($74);
+ $75 = $rc;
+ $0 = $75;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ }
+ $76 = $dmask;
+ $77 = $nframe;
+ $78 = $hlen;
+ $79 = (($77) - ($78))|0;
+ $80 = (($79) - 1)|0;
+ $81 = $frame;
+ $82 = ((($81)) + 1|0);
+ $83 = $hlen;
+ $84 = $3;
+ $85 = (_mgf1($76,$80,$82,$83,$84)|0);
+ $rc = $85;
+ $86 = $rc;
+ $87 = ($86|0)!=(0);
+ if ($87) {
+ $88 = $dmask;
+ __gcry_free($88);
+ $89 = $frame;
+ __gcry_free($89);
+ $90 = $rc;
+ $0 = $90;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ }
+ $91 = $hlen;
+ $92 = (1 + ($91))|0;
+ $n = $92;
+ $93 = $dmask;
+ $p = $93;
+ while(1) {
+ $94 = $n;
+ $95 = $nframe;
+ $96 = ($94>>>0)<($95>>>0);
+ if (!($96)) {
+ break;
+ }
+ $97 = $p;
+ $98 = ((($97)) + 1|0);
+ $p = $98;
+ $99 = HEAP8[$97>>0]|0;
+ $100 = $99&255;
+ $101 = $n;
+ $102 = $frame;
+ $103 = (($102) + ($101)|0);
+ $104 = HEAP8[$103>>0]|0;
+ $105 = $104&255;
+ $106 = $105 ^ $100;
+ $107 = $106&255;
+ HEAP8[$103>>0] = $107;
+ $108 = $n;
+ $109 = (($108) + 1)|0;
+ $n = $109;
+ }
+ $110 = $dmask;
+ __gcry_free($110);
+ $111 = $hlen;
+ $112 = (__gcry_malloc_secure($111)|0);
+ $smask = $112;
+ $113 = $smask;
+ $114 = ($113|0)!=(0|0);
+ if (!($114)) {
+ $115 = (_gpg_err_code_from_syserror()|0);
+ $rc = $115;
+ $116 = $frame;
+ __gcry_free($116);
+ $117 = $rc;
+ $0 = $117;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ }
+ $118 = $smask;
+ $119 = $hlen;
+ $120 = $frame;
+ $121 = ((($120)) + 1|0);
+ $122 = $hlen;
+ $123 = (($121) + ($122)|0);
+ $124 = $nframe;
+ $125 = $hlen;
+ $126 = (($124) - ($125))|0;
+ $127 = (($126) - 1)|0;
+ $128 = $3;
+ $129 = (_mgf1($118,$119,$123,$127,$128)|0);
+ $rc = $129;
+ $130 = $rc;
+ $131 = ($130|0)!=(0);
+ if ($131) {
+ $132 = $smask;
+ __gcry_free($132);
+ $133 = $frame;
+ __gcry_free($133);
+ $134 = $rc;
+ $0 = $134;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+ }
+ $n = 1;
+ $135 = $smask;
+ $p = $135;
+ while(1) {
+ $136 = $n;
+ $137 = $hlen;
+ $138 = (1 + ($137))|0;
+ $139 = ($136>>>0)<($138>>>0);
+ if (!($139)) {
+ break;
+ }
+ $140 = $p;
+ $141 = ((($140)) + 1|0);
+ $p = $141;
+ $142 = HEAP8[$140>>0]|0;
+ $143 = $142&255;
+ $144 = $n;
+ $145 = $frame;
+ $146 = (($145) + ($144)|0);
+ $147 = HEAP8[$146>>0]|0;
+ $148 = $147&255;
+ $149 = $148 ^ $143;
+ $150 = $149&255;
+ HEAP8[$146>>0] = $150;
+ $151 = $n;
+ $152 = (($151) + 1)|0;
+ $n = $152;
+ }
+ $153 = $smask;
+ __gcry_free($153);
+ $154 = $1;
+ $155 = $frame;
+ $156 = $nframe;
+ $157 = (__gcry_mpi_scan($154,5,$155,$156,0)|0);
+ $rc = $157;
+ $158 = $rc;
+ $159 = ($158|0)!=(0);
+ if (!($159)) {
+ $160 = (__gcry_get_debug_flag(1)|0);
+ $161 = ($160|0)!=(0);
+ if ($161) {
+ $162 = $1;
+ $163 = HEAP32[$162>>2]|0;
+ __gcry_log_printmpi(39217,$163);
+ }
+ }
+ $164 = $frame;
+ __gcry_free($164);
+ $165 = $rc;
+ $0 = $165;
+ $166 = $0;
+ STACKTOP = sp;return ($166|0);
+}
+function _mgf1($output,$outlen,$seed,$seedlen,$algo) {
+ $output = $output|0;
+ $outlen = $outlen|0;
+ $seed = $seed|0;
+ $seedlen = $seedlen|0;
+ $algo = $algo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $digest = 0, $dlen = 0, $err = 0, $hd = 0, $idx = 0, $n = 0, $nbytes = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp + 8|0;
+ $c = sp + 52|0;
+ $1 = $output;
+ $2 = $outlen;
+ $3 = $seed;
+ $4 = $seedlen;
+ $5 = $algo;
+ $6 = $5;
+ $7 = (__gcry_md_open($hd,$6,0)|0);
+ $err = $7;
+ $8 = $err;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = $err;
+ $0 = $10;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+ }
+ $11 = $5;
+ $12 = (__gcry_md_get_algo_dlen($11)|0);
+ $dlen = $12;
+ $nbytes = 0;
+ $idx = 0;
+ while(1) {
+ $13 = $nbytes;
+ $14 = $2;
+ $15 = ($13>>>0)<($14>>>0);
+ if (!($15)) {
+ break;
+ }
+ $16 = $idx;
+ $17 = ($16|0)!=(0);
+ if ($17) {
+ $18 = HEAP32[$hd>>2]|0;
+ __gcry_md_reset($18);
+ }
+ $19 = $idx;
+ $20 = $19 >> 24;
+ $21 = $20 & 255;
+ $22 = $21&255;
+ HEAP8[$c>>0] = $22;
+ $23 = $idx;
+ $24 = $23 >> 16;
+ $25 = $24 & 255;
+ $26 = $25&255;
+ $27 = ((($c)) + 1|0);
+ HEAP8[$27>>0] = $26;
+ $28 = $idx;
+ $29 = $28 >> 8;
+ $30 = $29 & 255;
+ $31 = $30&255;
+ $32 = ((($c)) + 2|0);
+ HEAP8[$32>>0] = $31;
+ $33 = $idx;
+ $34 = $33 & 255;
+ $35 = $34&255;
+ $36 = ((($c)) + 3|0);
+ HEAP8[$36>>0] = $35;
+ $37 = $idx;
+ $38 = (($37) + 1)|0;
+ $idx = $38;
+ $39 = HEAP32[$hd>>2]|0;
+ $40 = $3;
+ $41 = $4;
+ __gcry_md_write($39,$40,$41);
+ $42 = HEAP32[$hd>>2]|0;
+ __gcry_md_write($42,$c,4);
+ $43 = HEAP32[$hd>>2]|0;
+ $44 = (__gcry_md_read($43,0)|0);
+ $digest = $44;
+ $45 = $2;
+ $46 = $nbytes;
+ $47 = (($45) - ($46))|0;
+ $48 = $dlen;
+ $49 = ($47>>>0)<($48>>>0);
+ if ($49) {
+ $50 = $2;
+ $51 = $nbytes;
+ $52 = (($50) - ($51))|0;
+ $54 = $52;
+ } else {
+ $53 = $dlen;
+ $54 = $53;
+ }
+ $n = $54;
+ $55 = $1;
+ $56 = $nbytes;
+ $57 = (($55) + ($56)|0);
+ $58 = $digest;
+ $59 = $n;
+ _memcpy(($57|0),($58|0),($59|0))|0;
+ $60 = $n;
+ $61 = $nbytes;
+ $62 = (($61) + ($60))|0;
+ $nbytes = $62;
+ }
+ $63 = HEAP32[$hd>>2]|0;
+ __gcry_md_close($63);
+ $0 = 0;
+ $64 = $0;
+ STACKTOP = sp;return ($64|0);
+}
+function __gcry_rsa_oaep_decode($r_result,$r_resultlen,$nbits,$algo,$value,$label,$labellen) {
+ $r_result = $r_result|0;
+ $r_resultlen = $r_resultlen|0;
+ $nbits = $nbits|0;
+ $algo = $algo|0;
+ $value = $value|0;
+ $label = $label|0;
+ $labellen = $labellen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $db = 0, $db_len = 0, $failed = 0, $frame = 0, $hlen = 0, $lhash = 0, $masked_db = 0, $masked_seed = 0, $n = 0, $nframe = 0, $nkey = 0, $or$cond = 0, $rc = 0, $seed = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $frame = sp + 44|0;
+ $1 = $r_result;
+ $2 = $r_resultlen;
+ $3 = $nbits;
+ $4 = $algo;
+ $5 = $value;
+ $6 = $label;
+ $7 = $labellen;
+ HEAP32[$frame>>2] = 0;
+ $seed = 0;
+ $lhash = 0;
+ $8 = $3;
+ $9 = (($8) + 7)|0;
+ $10 = (($9>>>0) / 8)&-1;
+ $nkey = $10;
+ $failed = 0;
+ $11 = $1;
+ HEAP32[$11>>2] = 0;
+ $12 = $6;
+ $13 = ($12|0)!=(0|0);
+ $14 = $7;
+ $15 = ($14|0)!=(0);
+ $or$cond = $13 & $15;
+ if (!($or$cond)) {
+ $6 = 76543;
+ $7 = 0;
+ }
+ $16 = $4;
+ $17 = (__gcry_md_get_algo_dlen($16)|0);
+ $hlen = $17;
+ $18 = $hlen;
+ $19 = (__gcry_malloc($18)|0);
+ $lhash = $19;
+ $20 = $lhash;
+ $21 = ($20|0)!=(0|0);
+ if (!($21)) {
+ $22 = (_gpg_err_code_from_syserror()|0);
+ $0 = $22;
+ $160 = $0;
+ STACKTOP = sp;return ($160|0);
+ }
+ $23 = $4;
+ $24 = $lhash;
+ $25 = $6;
+ $26 = $7;
+ __gcry_md_hash_buffer($23,$24,$25,$26);
+ $27 = $5;
+ $28 = $nkey;
+ $29 = (_octet_string_from_mpi($frame,0,$27,$28)|0);
+ $rc = $29;
+ $30 = $rc;
+ $31 = ($30|0)!=(0);
+ if ($31) {
+ $32 = $lhash;
+ __gcry_free($32);
+ $0 = 155;
+ $160 = $0;
+ STACKTOP = sp;return ($160|0);
+ }
+ $33 = $nkey;
+ $nframe = $33;
+ $34 = $nframe;
+ $35 = $hlen;
+ $36 = $35<<1;
+ $37 = (($36) + 2)|0;
+ $38 = ($34>>>0)<($37>>>0);
+ if ($38) {
+ $39 = HEAP32[$frame>>2]|0;
+ __gcry_free($39);
+ $40 = $lhash;
+ __gcry_free($40);
+ $0 = 155;
+ $160 = $0;
+ STACKTOP = sp;return ($160|0);
+ }
+ $41 = $nframe;
+ $42 = (($41) - 1)|0;
+ $43 = (__gcry_malloc_secure($42)|0);
+ $seed = $43;
+ $44 = $seed;
+ $45 = ($44|0)!=(0|0);
+ if (!($45)) {
+ $46 = (_gpg_err_code_from_syserror()|0);
+ $rc = $46;
+ $47 = HEAP32[$frame>>2]|0;
+ __gcry_free($47);
+ $48 = $lhash;
+ __gcry_free($48);
+ $49 = $rc;
+ $0 = $49;
+ $160 = $0;
+ STACKTOP = sp;return ($160|0);
+ }
+ $50 = $seed;
+ $51 = $hlen;
+ $52 = (($50) + ($51)|0);
+ $db = $52;
+ $53 = HEAP32[$frame>>2]|0;
+ $54 = ((($53)) + 1|0);
+ $masked_seed = $54;
+ $55 = HEAP32[$frame>>2]|0;
+ $56 = ((($55)) + 1|0);
+ $57 = $hlen;
+ $58 = (($56) + ($57)|0);
+ $masked_db = $58;
+ $59 = $nframe;
+ $60 = (($59) - 1)|0;
+ $61 = $hlen;
+ $62 = (($60) - ($61))|0;
+ $db_len = $62;
+ $63 = $seed;
+ $64 = $hlen;
+ $65 = $masked_db;
+ $66 = $db_len;
+ $67 = $4;
+ $68 = (_mgf1($63,$64,$65,$66,$67)|0);
+ $69 = ($68|0)!=(0);
+ if ($69) {
+ $failed = 1;
+ }
+ $n = 0;
+ while(1) {
+ $70 = $n;
+ $71 = $hlen;
+ $72 = ($70>>>0)<($71>>>0);
+ if (!($72)) {
+ break;
+ }
+ $73 = $n;
+ $74 = $masked_seed;
+ $75 = (($74) + ($73)|0);
+ $76 = HEAP8[$75>>0]|0;
+ $77 = $76&255;
+ $78 = $n;
+ $79 = $seed;
+ $80 = (($79) + ($78)|0);
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81&255;
+ $83 = $82 ^ $77;
+ $84 = $83&255;
+ HEAP8[$80>>0] = $84;
+ $85 = $n;
+ $86 = (($85) + 1)|0;
+ $n = $86;
+ }
+ $87 = $db;
+ $88 = $db_len;
+ $89 = $seed;
+ $90 = $hlen;
+ $91 = $4;
+ $92 = (_mgf1($87,$88,$89,$90,$91)|0);
+ $93 = ($92|0)!=(0);
+ if ($93) {
+ $failed = 1;
+ }
+ $n = 0;
+ while(1) {
+ $94 = $n;
+ $95 = $db_len;
+ $96 = ($94>>>0)<($95>>>0);
+ if (!($96)) {
+ break;
+ }
+ $97 = $n;
+ $98 = $masked_db;
+ $99 = (($98) + ($97)|0);
+ $100 = HEAP8[$99>>0]|0;
+ $101 = $100&255;
+ $102 = $n;
+ $103 = $db;
+ $104 = (($103) + ($102)|0);
+ $105 = HEAP8[$104>>0]|0;
+ $106 = $105&255;
+ $107 = $106 ^ $101;
+ $108 = $107&255;
+ HEAP8[$104>>0] = $108;
+ $109 = $n;
+ $110 = (($109) + 1)|0;
+ $n = $110;
+ }
+ $111 = $lhash;
+ $112 = $db;
+ $113 = $hlen;
+ $114 = (_memcmp($111,$112,$113)|0);
+ $115 = ($114|0)!=(0);
+ if ($115) {
+ $failed = 1;
+ }
+ $116 = $hlen;
+ $n = $116;
+ while(1) {
+ $117 = $n;
+ $118 = $db_len;
+ $119 = ($117>>>0)<($118>>>0);
+ if (!($119)) {
+ break;
+ }
+ $120 = $n;
+ $121 = $db;
+ $122 = (($121) + ($120)|0);
+ $123 = HEAP8[$122>>0]|0;
+ $124 = $123&255;
+ $125 = ($124|0)==(1);
+ if ($125) {
+ break;
+ }
+ $126 = $n;
+ $127 = (($126) + 1)|0;
+ $n = $127;
+ }
+ $128 = $n;
+ $129 = $db_len;
+ $130 = ($128|0)==($129|0);
+ if ($130) {
+ $failed = 1;
+ }
+ $131 = HEAP32[$frame>>2]|0;
+ $132 = HEAP8[$131>>0]|0;
+ $133 = ($132<<24>>24)!=(0);
+ if ($133) {
+ $failed = 1;
+ }
+ $134 = $lhash;
+ __gcry_free($134);
+ $135 = HEAP32[$frame>>2]|0;
+ __gcry_free($135);
+ $136 = $failed;
+ $137 = ($136|0)!=(0);
+ if ($137) {
+ $138 = $seed;
+ __gcry_free($138);
+ $0 = 155;
+ $160 = $0;
+ STACKTOP = sp;return ($160|0);
+ }
+ $139 = $n;
+ $140 = (($139) + 1)|0;
+ $n = $140;
+ $141 = $seed;
+ $142 = $db;
+ $143 = $n;
+ $144 = (($142) + ($143)|0);
+ $145 = $db_len;
+ $146 = $n;
+ $147 = (($145) - ($146))|0;
+ _memmove(($141|0),($144|0),($147|0))|0;
+ $148 = $seed;
+ $149 = $1;
+ HEAP32[$149>>2] = $148;
+ $150 = $db_len;
+ $151 = $n;
+ $152 = (($150) - ($151))|0;
+ $153 = $2;
+ HEAP32[$153>>2] = $152;
+ $seed = 0;
+ $154 = (__gcry_get_debug_flag(1)|0);
+ $155 = ($154|0)!=(0);
+ if ($155) {
+ $156 = $1;
+ $157 = HEAP32[$156>>2]|0;
+ $158 = $2;
+ $159 = HEAP32[$158>>2]|0;
+ __gcry_log_printhex(39235,$157,$159);
+ }
+ $0 = 0;
+ $160 = $0;
+ STACKTOP = sp;return ($160|0);
+}
+function _octet_string_from_mpi($r_frame,$space,$value,$nbytes) {
+ $r_frame = $r_frame|0;
+ $space = $space|0;
+ $value = $value|0;
+ $nbytes = $nbytes|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $r_frame;
+ $1 = $space;
+ $2 = $value;
+ $3 = $nbytes;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (__gcry_mpi_to_octet_string($4,$5,$6,$7)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function __gcry_rsa_pss_encode($r_result,$nbits,$algo,$value,$valuelen,$saltlen,$random_override,$random_override_len) {
+ $r_result = $r_result|0;
+ $nbits = $nbits|0;
+ $algo = $algo|0;
+ $value = $value|0;
+ $valuelen = $valuelen|0;
+ $saltlen = $saltlen|0;
+ $random_override = $random_override|0;
+ $random_override_len = $random_override_len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vlen2 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr_long = 0, $_vptr_long5 = 0, $_vset = 0, $_vset3 = 0, $_vset_long = 0, $_vset_long4 = 0, $buf = 0, $buflen = 0, $dbmask = 0, $em = 0, $emlen = 0;
+ var $h = 0, $hlen = 0, $mhash = 0, $n = 0, $p = 0, $rc = 0, $salt = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp + 8|0;
+ $_vset_long4 = sp;
+ $0 = $r_result;
+ $1 = $nbits;
+ $2 = $algo;
+ $3 = $value;
+ $4 = $valuelen;
+ $5 = $saltlen;
+ $6 = $random_override;
+ $7 = $random_override_len;
+ $rc = 0;
+ $em = 0;
+ $8 = $1;
+ $9 = (($8) + 7)|0;
+ $10 = (($9>>>0) / 8)&-1;
+ $emlen = $10;
+ $buf = 0;
+ $11 = $2;
+ $12 = (__gcry_md_get_algo_dlen($11)|0);
+ $hlen = $12;
+ $13 = $hlen;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ __gcry_assert_failed(39274,38969,800,39279);
+ // unreachable;
+ }
+ $15 = $hlen;
+ $16 = (8 + ($15))|0;
+ $17 = $5;
+ $18 = (($16) + ($17))|0;
+ $19 = $emlen;
+ $20 = $hlen;
+ $21 = (($19) - ($20))|0;
+ $22 = (($21) - 1)|0;
+ $23 = (($18) + ($22))|0;
+ $buflen = $23;
+ $24 = $buflen;
+ $25 = (__gcry_malloc($24)|0);
+ $buf = $25;
+ $26 = $buf;
+ $27 = ($26|0)!=(0|0);
+ L4: do {
+ if ($27) {
+ $29 = $buf;
+ $30 = ((($29)) + 8|0);
+ $mhash = $30;
+ $31 = $mhash;
+ $32 = $hlen;
+ $33 = (($31) + ($32)|0);
+ $salt = $33;
+ $34 = $salt;
+ $35 = $5;
+ $36 = (($34) + ($35)|0);
+ $dbmask = $36;
+ $37 = $4;
+ $38 = $hlen;
+ $39 = ($37|0)!=($38|0);
+ if ($39) {
+ $rc = 139;
+ break;
+ }
+ $40 = $mhash;
+ $41 = $3;
+ $42 = $hlen;
+ _memcpy(($40|0),($41|0),($42|0))|0;
+ $43 = $emlen;
+ $44 = $hlen;
+ $45 = $5;
+ $46 = (($44) + ($45))|0;
+ $47 = (($46) + 2)|0;
+ $48 = ($43>>>0)<($47>>>0);
+ if ($48) {
+ $rc = 66;
+ break;
+ }
+ $49 = $emlen;
+ $50 = (__gcry_malloc($49)|0);
+ $em = $50;
+ $51 = $em;
+ $52 = ($51|0)!=(0|0);
+ if (!($52)) {
+ $53 = (_gpg_err_code_from_syserror()|0);
+ $rc = $53;
+ break;
+ }
+ $54 = $em;
+ $55 = $emlen;
+ $56 = (($54) + ($55)|0);
+ $57 = ((($56)) + -1|0);
+ $58 = $hlen;
+ $59 = (0 - ($58))|0;
+ $60 = (($57) + ($59)|0);
+ $h = $60;
+ $61 = $5;
+ $62 = ($61|0)!=(0);
+ do {
+ if ($62) {
+ $63 = $6;
+ $64 = ($63|0)!=(0|0);
+ if (!($64)) {
+ $71 = $salt;
+ $72 = $5;
+ __gcry_randomize($71,$72,1);
+ break;
+ }
+ $65 = $7;
+ $66 = $5;
+ $67 = ($65|0)!=($66|0);
+ if ($67) {
+ $rc = 45;
+ break L4;
+ } else {
+ $68 = $salt;
+ $69 = $6;
+ $70 = $5;
+ _memcpy(($68|0),($69|0),($70|0))|0;
+ break;
+ }
+ }
+ } while(0);
+ $73 = $buf;
+ ;HEAP8[$73>>0]=0|0;HEAP8[$73+1>>0]=0|0;HEAP8[$73+2>>0]=0|0;HEAP8[$73+3>>0]=0|0;HEAP8[$73+4>>0]=0|0;HEAP8[$73+5>>0]=0|0;HEAP8[$73+6>>0]=0|0;HEAP8[$73+7>>0]=0|0;
+ $74 = $2;
+ $75 = $h;
+ $76 = $buf;
+ $77 = $hlen;
+ $78 = (8 + ($77))|0;
+ $79 = $5;
+ $80 = (($78) + ($79))|0;
+ __gcry_md_hash_buffer($74,$75,$76,$80);
+ $81 = $em;
+ $82 = $emlen;
+ $83 = (($81) + ($82)|0);
+ $84 = ((($83)) + -1|0);
+ $85 = $hlen;
+ $86 = (0 - ($85))|0;
+ $87 = (($84) + ($86)|0);
+ $88 = $5;
+ $89 = (0 - ($88))|0;
+ $90 = (($87) + ($89)|0);
+ $91 = ((($90)) + -1|0);
+ $p = $91;
+ $92 = $em;
+ $93 = $p;
+ $94 = $em;
+ $95 = $93;
+ $96 = $94;
+ $97 = (($95) - ($96))|0;
+ _memset(($92|0),0,($97|0))|0;
+ $98 = $p;
+ $99 = ((($98)) + 1|0);
+ $p = $99;
+ HEAP8[$98>>0] = 1;
+ $100 = $p;
+ $101 = $salt;
+ $102 = $5;
+ _memcpy(($100|0),($101|0),($102|0))|0;
+ $103 = $dbmask;
+ $104 = $emlen;
+ $105 = $hlen;
+ $106 = (($104) - ($105))|0;
+ $107 = (($106) - 1)|0;
+ $108 = $h;
+ $109 = $hlen;
+ $110 = $2;
+ (_mgf1($103,$107,$108,$109,$110)|0);
+ $n = 0;
+ $111 = $dbmask;
+ $p = $111;
+ while(1) {
+ $112 = $n;
+ $113 = $emlen;
+ $114 = $hlen;
+ $115 = (($113) - ($114))|0;
+ $116 = (($115) - 1)|0;
+ $117 = ($112>>>0)<($116>>>0);
+ if (!($117)) {
+ break;
+ }
+ $118 = $p;
+ $119 = HEAP8[$118>>0]|0;
+ $120 = $119&255;
+ $121 = $n;
+ $122 = $em;
+ $123 = (($122) + ($121)|0);
+ $124 = HEAP8[$123>>0]|0;
+ $125 = $124&255;
+ $126 = $125 ^ $120;
+ $127 = $126&255;
+ HEAP8[$123>>0] = $127;
+ $128 = $n;
+ $129 = (($128) + 1)|0;
+ $n = $129;
+ $130 = $p;
+ $131 = ((($130)) + 1|0);
+ $p = $131;
+ }
+ $132 = $emlen;
+ $133 = $132<<3;
+ $134 = $1;
+ $135 = (($133) - ($134))|0;
+ $136 = 255 >> $135;
+ $137 = $em;
+ $138 = HEAP8[$137>>0]|0;
+ $139 = $138&255;
+ $140 = $139 & $136;
+ $141 = $140&255;
+ HEAP8[$137>>0] = $141;
+ $142 = $emlen;
+ $143 = (($142) - 1)|0;
+ $144 = $em;
+ $145 = (($144) + ($143)|0);
+ HEAP8[$145>>0] = -68;
+ $146 = $0;
+ $147 = $em;
+ $148 = $emlen;
+ $149 = (__gcry_mpi_scan($146,5,$147,$148,0)|0);
+ $rc = $149;
+ $150 = $rc;
+ $151 = ($150|0)!=(0);
+ if (!($151)) {
+ $152 = (__gcry_get_debug_flag(1)|0);
+ $153 = ($152|0)!=(0);
+ if ($153) {
+ $154 = $0;
+ $155 = HEAP32[$154>>2]|0;
+ __gcry_log_printmpi(39300,$155);
+ }
+ }
+ } else {
+ $28 = (_gpg_err_code_from_syserror()|0);
+ $rc = $28;
+ }
+ } while(0);
+ $156 = $em;
+ $157 = ($156|0)!=(0|0);
+ if ($157) {
+ $158 = $em;
+ $_vptr = $158;
+ $159 = $emlen;
+ $_vlen = $159;
+ $_vset = 0;
+ $160 = $_vset;
+ $161 = $160&255;
+ $162 = $_vset_long;
+ $163 = $162;
+ HEAP32[$163>>2] = $161;
+ $164 = (($162) + 4)|0;
+ $165 = $164;
+ HEAP32[$165>>2] = 0;
+ while(1) {
+ $166 = $_vptr;
+ $167 = $166;
+ $168 = $167 & 7;
+ $169 = ($168|0)!=(0);
+ $170 = $_vlen;
+ $171 = ($170|0)!=(0);
+ $172 = $169 ? $171 : 0;
+ if (!($172)) {
+ break;
+ }
+ $173 = $_vset;
+ $174 = $_vptr;
+ HEAP8[$174>>0] = $173;
+ $175 = $_vptr;
+ $176 = ((($175)) + 1|0);
+ $_vptr = $176;
+ $177 = $_vlen;
+ $178 = (($177) + -1)|0;
+ $_vlen = $178;
+ }
+ $179 = $_vlen;
+ $180 = ($179>>>0)<(8);
+ if (!($180)) {
+ $181 = $_vset_long;
+ $182 = $181;
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (($181) + 4)|0;
+ $185 = $184;
+ $186 = HEAP32[$185>>2]|0;
+ $187 = (___muldi3(($183|0),($186|0),16843009,16843009)|0);
+ $188 = tempRet0;
+ $189 = $_vset_long;
+ $190 = $189;
+ HEAP32[$190>>2] = $187;
+ $191 = (($189) + 4)|0;
+ $192 = $191;
+ HEAP32[$192>>2] = $188;
+ while(1) {
+ $193 = $_vptr;
+ $_vptr_long = $193;
+ $194 = $_vset_long;
+ $195 = $194;
+ $196 = HEAP32[$195>>2]|0;
+ $197 = (($194) + 4)|0;
+ $198 = $197;
+ $199 = HEAP32[$198>>2]|0;
+ $200 = $_vptr_long;
+ $201 = $200;
+ $202 = $201;
+ HEAP32[$202>>2] = $196;
+ $203 = (($201) + 4)|0;
+ $204 = $203;
+ HEAP32[$204>>2] = $199;
+ $205 = $_vlen;
+ $206 = (($205) - 8)|0;
+ $_vlen = $206;
+ $207 = $_vptr;
+ $208 = ((($207)) + 8|0);
+ $_vptr = $208;
+ $209 = $_vlen;
+ $210 = ($209>>>0)>=(8);
+ if (!($210)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $211 = $_vlen;
+ $212 = ($211|0)!=(0);
+ if (!($212)) {
+ break;
+ }
+ $213 = $_vset;
+ $214 = $_vptr;
+ HEAP8[$214>>0] = $213;
+ $215 = $_vptr;
+ $216 = ((($215)) + 1|0);
+ $_vptr = $216;
+ $217 = $_vlen;
+ $218 = (($217) + -1)|0;
+ $_vlen = $218;
+ }
+ $219 = $em;
+ __gcry_free($219);
+ }
+ $220 = $buf;
+ $221 = ($220|0)!=(0|0);
+ if (!($221)) {
+ $284 = $rc;
+ STACKTOP = sp;return ($284|0);
+ }
+ $222 = $buf;
+ $_vptr1 = $222;
+ $223 = $buflen;
+ $_vlen2 = $223;
+ $_vset3 = 0;
+ $224 = $_vset3;
+ $225 = $224&255;
+ $226 = $_vset_long4;
+ $227 = $226;
+ HEAP32[$227>>2] = $225;
+ $228 = (($226) + 4)|0;
+ $229 = $228;
+ HEAP32[$229>>2] = 0;
+ while(1) {
+ $230 = $_vptr1;
+ $231 = $230;
+ $232 = $231 & 7;
+ $233 = ($232|0)!=(0);
+ $234 = $_vlen2;
+ $235 = ($234|0)!=(0);
+ $236 = $233 ? $235 : 0;
+ if (!($236)) {
+ break;
+ }
+ $237 = $_vset3;
+ $238 = $_vptr1;
+ HEAP8[$238>>0] = $237;
+ $239 = $_vptr1;
+ $240 = ((($239)) + 1|0);
+ $_vptr1 = $240;
+ $241 = $_vlen2;
+ $242 = (($241) + -1)|0;
+ $_vlen2 = $242;
+ }
+ $243 = $_vlen2;
+ $244 = ($243>>>0)<(8);
+ if (!($244)) {
+ $245 = $_vset_long4;
+ $246 = $245;
+ $247 = HEAP32[$246>>2]|0;
+ $248 = (($245) + 4)|0;
+ $249 = $248;
+ $250 = HEAP32[$249>>2]|0;
+ $251 = (___muldi3(($247|0),($250|0),16843009,16843009)|0);
+ $252 = tempRet0;
+ $253 = $_vset_long4;
+ $254 = $253;
+ HEAP32[$254>>2] = $251;
+ $255 = (($253) + 4)|0;
+ $256 = $255;
+ HEAP32[$256>>2] = $252;
+ while(1) {
+ $257 = $_vptr1;
+ $_vptr_long5 = $257;
+ $258 = $_vset_long4;
+ $259 = $258;
+ $260 = HEAP32[$259>>2]|0;
+ $261 = (($258) + 4)|0;
+ $262 = $261;
+ $263 = HEAP32[$262>>2]|0;
+ $264 = $_vptr_long5;
+ $265 = $264;
+ $266 = $265;
+ HEAP32[$266>>2] = $260;
+ $267 = (($265) + 4)|0;
+ $268 = $267;
+ HEAP32[$268>>2] = $263;
+ $269 = $_vlen2;
+ $270 = (($269) - 8)|0;
+ $_vlen2 = $270;
+ $271 = $_vptr1;
+ $272 = ((($271)) + 8|0);
+ $_vptr1 = $272;
+ $273 = $_vlen2;
+ $274 = ($273>>>0)>=(8);
+ if (!($274)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $275 = $_vlen2;
+ $276 = ($275|0)!=(0);
+ if (!($276)) {
+ break;
+ }
+ $277 = $_vset3;
+ $278 = $_vptr1;
+ HEAP8[$278>>0] = $277;
+ $279 = $_vptr1;
+ $280 = ((($279)) + 1|0);
+ $_vptr1 = $280;
+ $281 = $_vlen2;
+ $282 = (($281) + -1)|0;
+ $_vlen2 = $282;
+ }
+ $283 = $buf;
+ __gcry_free($283);
+ $284 = $rc;
+ STACKTOP = sp;return ($284|0);
+}
+function __gcry_rsa_pss_verify($value,$encoded,$nbits,$algo,$saltlen) {
+ $value = $value|0;
+ $encoded = $encoded|0;
+ $nbits = $nbits|0;
+ $algo = $algo|0;
+ $saltlen = $saltlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vlen2 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr_long = 0, $_vptr_long5 = 0, $_vset = 0, $_vset3 = 0, $_vset_long = 0, $_vset_long4 = 0, $buf = 0;
+ var $buflen = 0, $dbmask = 0, $em = 0, $emlen = 0, $h = 0, $hlen = 0, $mhash = 0, $n = 0, $p = 0, $rc = 0, $salt = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $em = sp + 76|0;
+ $_vset_long = sp + 8|0;
+ $_vset_long4 = sp;
+ $0 = $value;
+ $1 = $encoded;
+ $2 = $nbits;
+ $3 = $algo;
+ $4 = $saltlen;
+ $rc = 0;
+ HEAP32[$em>>2] = 0;
+ $5 = $2;
+ $6 = (($5) + 7)|0;
+ $7 = (($6>>>0) / 8)&-1;
+ $emlen = $7;
+ $buf = 0;
+ $8 = $3;
+ $9 = (__gcry_md_get_algo_dlen($8)|0);
+ $hlen = $9;
+ $10 = $hlen;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ __gcry_assert_failed(39274,38969,926,39317);
+ // unreachable;
+ }
+ $12 = $hlen;
+ $13 = (8 + ($12))|0;
+ $14 = $4;
+ $15 = (($13) + ($14))|0;
+ $buflen = $15;
+ $16 = $buflen;
+ $17 = $emlen;
+ $18 = $hlen;
+ $19 = (($17) - ($18))|0;
+ $20 = (($19) - 1)|0;
+ $21 = ($16>>>0)<($20>>>0);
+ if ($21) {
+ $22 = $emlen;
+ $23 = $hlen;
+ $24 = (($22) - ($23))|0;
+ $25 = (($24) - 1)|0;
+ $buflen = $25;
+ }
+ $26 = $hlen;
+ $27 = $buflen;
+ $28 = (($27) + ($26))|0;
+ $buflen = $28;
+ $29 = $buflen;
+ $30 = (__gcry_malloc($29)|0);
+ $buf = $30;
+ $31 = $buf;
+ $32 = ($31|0)!=(0|0);
+ do {
+ if ($32) {
+ $34 = $buf;
+ $dbmask = $34;
+ $35 = $buf;
+ $36 = $buflen;
+ $37 = (($35) + ($36)|0);
+ $38 = $hlen;
+ $39 = (0 - ($38))|0;
+ $40 = (($37) + ($39)|0);
+ $mhash = $40;
+ $41 = $mhash;
+ $42 = $0;
+ $43 = $hlen;
+ $44 = (_octet_string_from_mpi(0,$41,$42,$43)|0);
+ $rc = $44;
+ $45 = $rc;
+ $46 = ($45|0)!=(0);
+ if (!($46)) {
+ $47 = $1;
+ $48 = $emlen;
+ $49 = (_octet_string_from_mpi($em,0,$47,$48)|0);
+ $rc = $49;
+ $50 = $rc;
+ $51 = ($50|0)!=(0);
+ if (!($51)) {
+ $52 = $emlen;
+ $53 = $hlen;
+ $54 = $4;
+ $55 = (($53) + ($54))|0;
+ $56 = (($55) + 2)|0;
+ $57 = ($52>>>0)<($56>>>0);
+ if ($57) {
+ $rc = 66;
+ break;
+ }
+ $58 = $emlen;
+ $59 = (($58) - 1)|0;
+ $60 = HEAP32[$em>>2]|0;
+ $61 = (($60) + ($59)|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = $62&255;
+ $64 = ($63|0)!=(188);
+ if ($64) {
+ $rc = 8;
+ break;
+ }
+ $65 = HEAP32[$em>>2]|0;
+ $66 = $emlen;
+ $67 = (($65) + ($66)|0);
+ $68 = ((($67)) + -1|0);
+ $69 = $hlen;
+ $70 = (0 - ($69))|0;
+ $71 = (($68) + ($70)|0);
+ $h = $71;
+ $72 = HEAP32[$em>>2]|0;
+ $73 = HEAP8[$72>>0]|0;
+ $74 = $73&255;
+ $75 = $emlen;
+ $76 = $75<<3;
+ $77 = $2;
+ $78 = (($76) - ($77))|0;
+ $79 = 255 >> $78;
+ $80 = $79 ^ -1;
+ $81 = $74 & $80;
+ $82 = ($81|0)!=(0);
+ if ($82) {
+ $rc = 8;
+ break;
+ }
+ $83 = $dbmask;
+ $84 = $emlen;
+ $85 = $hlen;
+ $86 = (($84) - ($85))|0;
+ $87 = (($86) - 1)|0;
+ $88 = $h;
+ $89 = $hlen;
+ $90 = $3;
+ (_mgf1($83,$87,$88,$89,$90)|0);
+ $n = 0;
+ $91 = $dbmask;
+ $p = $91;
+ while(1) {
+ $92 = $n;
+ $93 = $emlen;
+ $94 = $hlen;
+ $95 = (($93) - ($94))|0;
+ $96 = (($95) - 1)|0;
+ $97 = ($92>>>0)<($96>>>0);
+ if (!($97)) {
+ break;
+ }
+ $98 = $p;
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99&255;
+ $101 = $n;
+ $102 = HEAP32[$em>>2]|0;
+ $103 = (($102) + ($101)|0);
+ $104 = HEAP8[$103>>0]|0;
+ $105 = $104&255;
+ $106 = $105 ^ $100;
+ $107 = $106&255;
+ HEAP8[$103>>0] = $107;
+ $108 = $n;
+ $109 = (($108) + 1)|0;
+ $n = $109;
+ $110 = $p;
+ $111 = ((($110)) + 1|0);
+ $p = $111;
+ }
+ $112 = $emlen;
+ $113 = $112<<3;
+ $114 = $2;
+ $115 = (($113) - ($114))|0;
+ $116 = 255 >> $115;
+ $117 = HEAP32[$em>>2]|0;
+ $118 = HEAP8[$117>>0]|0;
+ $119 = $118&255;
+ $120 = $119 & $116;
+ $121 = $120&255;
+ HEAP8[$117>>0] = $121;
+ $n = 0;
+ while(1) {
+ $122 = $n;
+ $123 = $emlen;
+ $124 = $hlen;
+ $125 = (($123) - ($124))|0;
+ $126 = $4;
+ $127 = (($125) - ($126))|0;
+ $128 = (($127) - 2)|0;
+ $129 = ($122>>>0)<($128>>>0);
+ if (!($129)) {
+ break;
+ }
+ $130 = $n;
+ $131 = HEAP32[$em>>2]|0;
+ $132 = (($131) + ($130)|0);
+ $133 = HEAP8[$132>>0]|0;
+ $134 = ($133<<24>>24)!=(0);
+ $135 = $134 ^ 1;
+ if (!($135)) {
+ break;
+ }
+ $136 = $n;
+ $137 = (($136) + 1)|0;
+ $n = $137;
+ }
+ $138 = $n;
+ $139 = $emlen;
+ $140 = $hlen;
+ $141 = (($139) - ($140))|0;
+ $142 = $4;
+ $143 = (($141) - ($142))|0;
+ $144 = (($143) - 2)|0;
+ $145 = ($138|0)!=($144|0);
+ if (!($145)) {
+ $146 = $n;
+ $147 = (($146) + 1)|0;
+ $n = $147;
+ $148 = HEAP32[$em>>2]|0;
+ $149 = (($148) + ($146)|0);
+ $150 = HEAP8[$149>>0]|0;
+ $151 = $150&255;
+ $152 = ($151|0)!=(1);
+ if (!($152)) {
+ $153 = HEAP32[$em>>2]|0;
+ $154 = $n;
+ $155 = (($153) + ($154)|0);
+ $salt = $155;
+ $156 = $buf;
+ ;HEAP8[$156>>0]=0|0;HEAP8[$156+1>>0]=0|0;HEAP8[$156+2>>0]=0|0;HEAP8[$156+3>>0]=0|0;HEAP8[$156+4>>0]=0|0;HEAP8[$156+5>>0]=0|0;HEAP8[$156+6>>0]=0|0;HEAP8[$156+7>>0]=0|0;
+ $157 = $buf;
+ $158 = ((($157)) + 8|0);
+ $159 = $mhash;
+ $160 = $hlen;
+ _memcpy(($158|0),($159|0),($160|0))|0;
+ $161 = $buf;
+ $162 = ((($161)) + 8|0);
+ $163 = $hlen;
+ $164 = (($162) + ($163)|0);
+ $165 = $salt;
+ $166 = $4;
+ _memcpy(($164|0),($165|0),($166|0))|0;
+ $167 = $3;
+ $168 = $buf;
+ $169 = $buf;
+ $170 = $hlen;
+ $171 = (8 + ($170))|0;
+ $172 = $4;
+ $173 = (($171) + ($172))|0;
+ __gcry_md_hash_buffer($167,$168,$169,$173);
+ $174 = $h;
+ $175 = $buf;
+ $176 = $hlen;
+ $177 = (_memcmp($174,$175,$176)|0);
+ $178 = ($177|0)!=(0);
+ $179 = $178 ? 8 : 0;
+ $rc = $179;
+ break;
+ }
+ }
+ $rc = 8;
+ }
+ }
+ } else {
+ $33 = (_gpg_err_code_from_syserror()|0);
+ $rc = $33;
+ }
+ } while(0);
+ $180 = HEAP32[$em>>2]|0;
+ $181 = ($180|0)!=(0|0);
+ if ($181) {
+ $182 = HEAP32[$em>>2]|0;
+ $_vptr = $182;
+ $183 = $emlen;
+ $_vlen = $183;
+ $_vset = 0;
+ $184 = $_vset;
+ $185 = $184&255;
+ $186 = $_vset_long;
+ $187 = $186;
+ HEAP32[$187>>2] = $185;
+ $188 = (($186) + 4)|0;
+ $189 = $188;
+ HEAP32[$189>>2] = 0;
+ while(1) {
+ $190 = $_vptr;
+ $191 = $190;
+ $192 = $191 & 7;
+ $193 = ($192|0)!=(0);
+ $194 = $_vlen;
+ $195 = ($194|0)!=(0);
+ $196 = $193 ? $195 : 0;
+ if (!($196)) {
+ break;
+ }
+ $197 = $_vset;
+ $198 = $_vptr;
+ HEAP8[$198>>0] = $197;
+ $199 = $_vptr;
+ $200 = ((($199)) + 1|0);
+ $_vptr = $200;
+ $201 = $_vlen;
+ $202 = (($201) + -1)|0;
+ $_vlen = $202;
+ }
+ $203 = $_vlen;
+ $204 = ($203>>>0)<(8);
+ if (!($204)) {
+ $205 = $_vset_long;
+ $206 = $205;
+ $207 = HEAP32[$206>>2]|0;
+ $208 = (($205) + 4)|0;
+ $209 = $208;
+ $210 = HEAP32[$209>>2]|0;
+ $211 = (___muldi3(($207|0),($210|0),16843009,16843009)|0);
+ $212 = tempRet0;
+ $213 = $_vset_long;
+ $214 = $213;
+ HEAP32[$214>>2] = $211;
+ $215 = (($213) + 4)|0;
+ $216 = $215;
+ HEAP32[$216>>2] = $212;
+ while(1) {
+ $217 = $_vptr;
+ $_vptr_long = $217;
+ $218 = $_vset_long;
+ $219 = $218;
+ $220 = HEAP32[$219>>2]|0;
+ $221 = (($218) + 4)|0;
+ $222 = $221;
+ $223 = HEAP32[$222>>2]|0;
+ $224 = $_vptr_long;
+ $225 = $224;
+ $226 = $225;
+ HEAP32[$226>>2] = $220;
+ $227 = (($225) + 4)|0;
+ $228 = $227;
+ HEAP32[$228>>2] = $223;
+ $229 = $_vlen;
+ $230 = (($229) - 8)|0;
+ $_vlen = $230;
+ $231 = $_vptr;
+ $232 = ((($231)) + 8|0);
+ $_vptr = $232;
+ $233 = $_vlen;
+ $234 = ($233>>>0)>=(8);
+ if (!($234)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $235 = $_vlen;
+ $236 = ($235|0)!=(0);
+ if (!($236)) {
+ break;
+ }
+ $237 = $_vset;
+ $238 = $_vptr;
+ HEAP8[$238>>0] = $237;
+ $239 = $_vptr;
+ $240 = ((($239)) + 1|0);
+ $_vptr = $240;
+ $241 = $_vlen;
+ $242 = (($241) + -1)|0;
+ $_vlen = $242;
+ }
+ $243 = HEAP32[$em>>2]|0;
+ __gcry_free($243);
+ }
+ $244 = $buf;
+ $245 = ($244|0)!=(0|0);
+ if (!($245)) {
+ $308 = $rc;
+ STACKTOP = sp;return ($308|0);
+ }
+ $246 = $buf;
+ $_vptr1 = $246;
+ $247 = $buflen;
+ $_vlen2 = $247;
+ $_vset3 = 0;
+ $248 = $_vset3;
+ $249 = $248&255;
+ $250 = $_vset_long4;
+ $251 = $250;
+ HEAP32[$251>>2] = $249;
+ $252 = (($250) + 4)|0;
+ $253 = $252;
+ HEAP32[$253>>2] = 0;
+ while(1) {
+ $254 = $_vptr1;
+ $255 = $254;
+ $256 = $255 & 7;
+ $257 = ($256|0)!=(0);
+ $258 = $_vlen2;
+ $259 = ($258|0)!=(0);
+ $260 = $257 ? $259 : 0;
+ if (!($260)) {
+ break;
+ }
+ $261 = $_vset3;
+ $262 = $_vptr1;
+ HEAP8[$262>>0] = $261;
+ $263 = $_vptr1;
+ $264 = ((($263)) + 1|0);
+ $_vptr1 = $264;
+ $265 = $_vlen2;
+ $266 = (($265) + -1)|0;
+ $_vlen2 = $266;
+ }
+ $267 = $_vlen2;
+ $268 = ($267>>>0)<(8);
+ if (!($268)) {
+ $269 = $_vset_long4;
+ $270 = $269;
+ $271 = HEAP32[$270>>2]|0;
+ $272 = (($269) + 4)|0;
+ $273 = $272;
+ $274 = HEAP32[$273>>2]|0;
+ $275 = (___muldi3(($271|0),($274|0),16843009,16843009)|0);
+ $276 = tempRet0;
+ $277 = $_vset_long4;
+ $278 = $277;
+ HEAP32[$278>>2] = $275;
+ $279 = (($277) + 4)|0;
+ $280 = $279;
+ HEAP32[$280>>2] = $276;
+ while(1) {
+ $281 = $_vptr1;
+ $_vptr_long5 = $281;
+ $282 = $_vset_long4;
+ $283 = $282;
+ $284 = HEAP32[$283>>2]|0;
+ $285 = (($282) + 4)|0;
+ $286 = $285;
+ $287 = HEAP32[$286>>2]|0;
+ $288 = $_vptr_long5;
+ $289 = $288;
+ $290 = $289;
+ HEAP32[$290>>2] = $284;
+ $291 = (($289) + 4)|0;
+ $292 = $291;
+ HEAP32[$292>>2] = $287;
+ $293 = $_vlen2;
+ $294 = (($293) - 8)|0;
+ $_vlen2 = $294;
+ $295 = $_vptr1;
+ $296 = ((($295)) + 8|0);
+ $_vptr1 = $296;
+ $297 = $_vlen2;
+ $298 = ($297>>>0)>=(8);
+ if (!($298)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $299 = $_vlen2;
+ $300 = ($299|0)!=(0);
+ if (!($300)) {
+ break;
+ }
+ $301 = $_vset3;
+ $302 = $_vptr1;
+ HEAP8[$302>>0] = $301;
+ $303 = $_vptr1;
+ $304 = ((($303)) + 1|0);
+ $_vptr1 = $304;
+ $305 = $_vlen2;
+ $306 = (($305) + -1)|0;
+ $_vlen2 = $306;
+ }
+ $307 = $buf;
+ __gcry_free($307);
+ $308 = $rc;
+ STACKTOP = sp;return ($308|0);
+}
+function _rsa_generate($genparms,$r_skey) {
+ $genparms = $genparms|0;
+ $r_skey = $r_skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $deriveparms = 0, $ec = 0, $evalue = 0, $flags = 0, $l1 = 0, $nbits = 0, $or$cond = 0, $sk = 0, $swap_info = 0, $swapped = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $nbits = sp + 84|0;
+ $evalue = sp + 80|0;
+ $sk = sp + 56|0;
+ $flags = sp + 48|0;
+ $swap_info = sp + 40|0;
+ $swapped = sp + 36|0;
+ $1 = $genparms;
+ $2 = $r_skey;
+ HEAP32[$flags>>2] = 0;
+ HEAP32[$swap_info>>2] = 0;
+ ;HEAP32[$sk>>2]=0|0;HEAP32[$sk+4>>2]=0|0;HEAP32[$sk+8>>2]=0|0;HEAP32[$sk+12>>2]=0|0;HEAP32[$sk+16>>2]=0|0;HEAP32[$sk+20>>2]=0|0;
+ $3 = $1;
+ $4 = (__gcry_pk_util_get_nbits($3,$nbits)|0);
+ $ec = $4;
+ $5 = $ec;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $ec;
+ $0 = $7;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+ }
+ $8 = $1;
+ $9 = (__gcry_pk_util_get_rsa_use_e($8,$evalue)|0);
+ $ec = $9;
+ $10 = $ec;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ $12 = $ec;
+ $0 = $12;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+ }
+ $13 = $1;
+ $14 = (__gcry_sexp_find_token($13,47190,0)|0);
+ $l1 = $14;
+ $15 = $l1;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $l1;
+ $18 = (__gcry_pk_util_parse_flaglist($17,$flags,0)|0);
+ $ec = $18;
+ $19 = $l1;
+ __gcry_sexp_release($19);
+ $20 = $ec;
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ $22 = $ec;
+ $0 = $22;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+ }
+ }
+ $23 = $1;
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $25 = $1;
+ $26 = (__gcry_sexp_find_token($25,39399,0)|0);
+ $27 = $26;
+ } else {
+ $27 = 0;
+ }
+ $deriveparms = $27;
+ $28 = $deriveparms;
+ $29 = ($28|0)!=(0|0);
+ if (!($29)) {
+ $30 = $1;
+ $31 = (__gcry_sexp_find_token($30,39412,0)|0);
+ $l1 = $31;
+ $32 = $l1;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ $34 = HEAP32[$flags>>2]|0;
+ $35 = $34 | 64;
+ HEAP32[$flags>>2] = $35;
+ $36 = $l1;
+ __gcry_sexp_release($36);
+ }
+ }
+ $37 = $deriveparms;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ label = 16;
+ } else {
+ $39 = HEAP32[$flags>>2]|0;
+ $40 = $39 & 64;
+ $41 = ($40|0)!=(0);
+ if ($41) {
+ label = 16;
+ } else {
+ $42 = (__gcry_fips_mode()|0);
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ label = 16;
+ } else {
+ $54 = HEAP32[$flags>>2]|0;
+ $55 = $54 & 32;
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ $57 = $1;
+ $58 = (__gcry_sexp_find_token($57,47196,0)|0);
+ $l1 = $58;
+ $59 = $l1;
+ $60 = ($59|0)!=(0|0);
+ if ($60) {
+ $61 = HEAP32[$flags>>2]|0;
+ $62 = $61 | 32;
+ HEAP32[$flags>>2] = $62;
+ $63 = $l1;
+ __gcry_sexp_release($63);
+ }
+ }
+ $64 = HEAP32[$nbits>>2]|0;
+ $65 = HEAP32[$evalue>>2]|0;
+ $66 = HEAP32[$flags>>2]|0;
+ $67 = $66 & 32;
+ $68 = ($67|0)!=(0);
+ $69 = $68 ^ 1;
+ $70 = $69 ^ 1;
+ $71 = $70&1;
+ $72 = (_generate_std($sk,$64,$65,$71)|0);
+ $ec = $72;
+ }
+ }
+ }
+ if ((label|0) == 16) {
+ $44 = HEAP32[$nbits>>2]|0;
+ $45 = HEAP32[$evalue>>2]|0;
+ $46 = $deriveparms;
+ $47 = (_generate_x931($sk,$44,$45,$46,$swapped)|0);
+ $ec = $47;
+ $48 = $deriveparms;
+ __gcry_sexp_release($48);
+ $49 = $ec;
+ $50 = ($49|0)==(0);
+ $51 = HEAP32[$swapped>>2]|0;
+ $52 = ($51|0)!=(0);
+ $or$cond = $50 & $52;
+ if ($or$cond) {
+ $53 = (__gcry_sexp_new($swap_info,39680,0,1)|0);
+ $ec = $53;
+ }
+ }
+ $73 = $ec;
+ $74 = ($73|0)!=(0);
+ if (!($74)) {
+ $75 = $2;
+ $76 = HEAP32[$sk>>2]|0;
+ $77 = ((($sk)) + 4|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = HEAP32[$sk>>2]|0;
+ $80 = ((($sk)) + 4|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = ((($sk)) + 8|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = ((($sk)) + 12|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = ((($sk)) + 16|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = ((($sk)) + 20|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = HEAP32[$swap_info>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $76;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $78;
+ $vararg_ptr3 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr3>>2] = $79;
+ $vararg_ptr4 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr4>>2] = $81;
+ $vararg_ptr5 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr5>>2] = $83;
+ $vararg_ptr6 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr6>>2] = $85;
+ $vararg_ptr7 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr7>>2] = $87;
+ $vararg_ptr8 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr8>>2] = $89;
+ $vararg_ptr9 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr9>>2] = $90;
+ $91 = (__gcry_sexp_build($75,0,39776,$vararg_buffer)|0);
+ $ec = $91;
+ }
+ $92 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_free($92);
+ $93 = ((($sk)) + 4|0);
+ $94 = HEAP32[$93>>2]|0;
+ __gcry_mpi_free($94);
+ $95 = ((($sk)) + 12|0);
+ $96 = HEAP32[$95>>2]|0;
+ __gcry_mpi_free($96);
+ $97 = ((($sk)) + 16|0);
+ $98 = HEAP32[$97>>2]|0;
+ __gcry_mpi_free($98);
+ $99 = ((($sk)) + 8|0);
+ $100 = HEAP32[$99>>2]|0;
+ __gcry_mpi_free($100);
+ $101 = ((($sk)) + 20|0);
+ $102 = HEAP32[$101>>2]|0;
+ __gcry_mpi_free($102);
+ $103 = HEAP32[$swap_info>>2]|0;
+ __gcry_sexp_release($103);
+ $104 = $ec;
+ $0 = $104;
+ $105 = $0;
+ STACKTOP = sp;return ($105|0);
+}
+function _generate_x931($sk,$nbits,$e_value,$deriveparms,$swapped) {
+ $sk = $sk|0;
+ $nbits = $nbits|0;
+ $e_value = $e_value|0;
+ $deriveparms = $deriveparms|0;
+ $swapped = $swapped|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d = 0, $e = 0, $f = 0, $g = 0, $idx = 0, $n = 0, $oneparm = 0, $or$cond = 0, $p = 0, $phi = 0, $pm1 = 0, $q = 0, $qm1 = 0, $tbl = 0, $tmpval = 0;
+ var $u = 0, $vararg_buffer = 0, $xp = 0, $xp1 = 0, $xp2 = 0, $xq = 0, $xq1 = 0, $xq2 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $xp1 = sp + 96|0;
+ $xp2 = sp + 92|0;
+ $xp = sp + 88|0;
+ $xq1 = sp + 84|0;
+ $xq2 = sp + 80|0;
+ $xq = sp + 76|0;
+ $tbl = sp + 16|0;
+ $1 = $sk;
+ $2 = $nbits;
+ $3 = $e_value;
+ $4 = $deriveparms;
+ $5 = $swapped;
+ $6 = $5;
+ HEAP32[$6>>2] = 0;
+ $7 = $3;
+ $8 = ($7|0)==(1);
+ if ($8) {
+ $3 = 65537;
+ }
+ $9 = $2;
+ $10 = ($9>>>0)<(1024);
+ if (!($10)) {
+ $11 = $2;
+ $12 = (($11>>>0) % 256)&-1;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ $14 = $3;
+ $15 = ($14>>>0)<(3);
+ if ($15) {
+ $0 = 55;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+ }
+ $16 = $3;
+ $17 = $16 & 1;
+ $18 = ($17|0)!=(0);
+ if (!($18)) {
+ $0 = 55;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+ }
+ HEAP32[$xp1>>2] = 0;
+ HEAP32[$xp2>>2] = 0;
+ HEAP32[$xp>>2] = 0;
+ HEAP32[$xq1>>2] = 0;
+ HEAP32[$xq2>>2] = 0;
+ HEAP32[$xq>>2] = 0;
+ $19 = $4;
+ $20 = ($19|0)!=(0|0);
+ if ($20) {
+ dest=$tbl; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ HEAP32[$tbl>>2] = 39531;
+ $45 = ((($tbl)) + 8|0);
+ HEAP32[$45>>2] = 39535;
+ $46 = ((($tbl)) + 16|0);
+ HEAP32[$46>>2] = 39539;
+ $47 = ((($tbl)) + 24|0);
+ HEAP32[$47>>2] = 39542;
+ $48 = ((($tbl)) + 32|0);
+ HEAP32[$48>>2] = 39546;
+ $49 = ((($tbl)) + 40|0);
+ HEAP32[$49>>2] = 39550;
+ $50 = ((($tbl)) + 4|0);
+ HEAP32[$50>>2] = $xp1;
+ $51 = ((($tbl)) + 8|0);
+ $52 = ((($51)) + 4|0);
+ HEAP32[$52>>2] = $xp2;
+ $53 = ((($tbl)) + 16|0);
+ $54 = ((($53)) + 4|0);
+ HEAP32[$54>>2] = $xp;
+ $55 = ((($tbl)) + 24|0);
+ $56 = ((($55)) + 4|0);
+ HEAP32[$56>>2] = $xq1;
+ $57 = ((($tbl)) + 32|0);
+ $58 = ((($57)) + 4|0);
+ HEAP32[$58>>2] = $xq2;
+ $59 = ((($tbl)) + 40|0);
+ $60 = ((($59)) + 4|0);
+ HEAP32[$60>>2] = $xq;
+ $idx = 0;
+ while(1) {
+ $61 = $idx;
+ $62 = (($tbl) + ($61<<3)|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = ($63|0)!=(0|0);
+ if (!($64)) {
+ break;
+ }
+ $65 = $4;
+ $66 = $idx;
+ $67 = (($tbl) + ($66<<3)|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = (__gcry_sexp_find_token($65,$68,0)|0);
+ $oneparm = $69;
+ $70 = $oneparm;
+ $71 = ($70|0)!=(0|0);
+ if ($71) {
+ $72 = $oneparm;
+ $73 = (__gcry_sexp_nth_mpi($72,1,5)|0);
+ $74 = $idx;
+ $75 = (($tbl) + ($74<<3)|0);
+ $76 = ((($75)) + 4|0);
+ $77 = HEAP32[$76>>2]|0;
+ HEAP32[$77>>2] = $73;
+ $78 = $oneparm;
+ __gcry_sexp_release($78);
+ }
+ $79 = $idx;
+ $80 = (($79) + 1)|0;
+ $idx = $80;
+ }
+ $idx = 0;
+ while(1) {
+ $81 = $idx;
+ $82 = (($tbl) + ($81<<3)|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = ($83|0)!=(0|0);
+ if (!($84)) {
+ break;
+ }
+ $85 = $idx;
+ $86 = (($tbl) + ($85<<3)|0);
+ $87 = ((($86)) + 4|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ($89|0)!=(0|0);
+ if (!($90)) {
+ break;
+ }
+ $91 = $idx;
+ $92 = (($91) + 1)|0;
+ $idx = $92;
+ }
+ $93 = $idx;
+ $94 = (($tbl) + ($93<<3)|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)!=(0|0);
+ if ($96) {
+ $idx = 0;
+ while(1) {
+ $97 = $idx;
+ $98 = (($tbl) + ($97<<3)|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)!=(0|0);
+ if (!($100)) {
+ break;
+ }
+ $101 = $idx;
+ $102 = (($tbl) + ($101<<3)|0);
+ $103 = ((($102)) + 4|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = HEAP32[$104>>2]|0;
+ __gcry_mpi_release($105);
+ $106 = $idx;
+ $107 = (($106) + 1)|0;
+ $idx = $107;
+ }
+ $0 = 128;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+ }
+ } else {
+ $21 = $2;
+ $22 = (($21>>>0) / 2)&-1;
+ $23 = (_gen_x931_parm_xp($22)|0);
+ HEAP32[$xp>>2] = $23;
+ $24 = $2;
+ $25 = (($24>>>0) / 2)&-1;
+ $26 = (__gcry_mpi_snew($25)|0);
+ $tmpval = $26;
+ while(1) {
+ $27 = HEAP32[$xq>>2]|0;
+ __gcry_mpi_release($27);
+ $28 = $2;
+ $29 = (($28>>>0) / 2)&-1;
+ $30 = (_gen_x931_parm_xp($29)|0);
+ HEAP32[$xq>>2] = $30;
+ $31 = $tmpval;
+ $32 = HEAP32[$xp>>2]|0;
+ $33 = HEAP32[$xq>>2]|0;
+ __gcry_mpi_sub($31,$32,$33);
+ $34 = $tmpval;
+ $35 = (__gcry_mpi_get_nbits($34)|0);
+ $36 = $2;
+ $37 = (($36>>>0) / 2)&-1;
+ $38 = (($37) - 100)|0;
+ $39 = ($35>>>0)<=($38>>>0);
+ if (!($39)) {
+ break;
+ }
+ }
+ $40 = $tmpval;
+ __gcry_mpi_release($40);
+ $41 = (_gen_x931_parm_xi()|0);
+ HEAP32[$xp1>>2] = $41;
+ $42 = (_gen_x931_parm_xi()|0);
+ HEAP32[$xp2>>2] = $42;
+ $43 = (_gen_x931_parm_xi()|0);
+ HEAP32[$xq1>>2] = $43;
+ $44 = (_gen_x931_parm_xi()|0);
+ HEAP32[$xq2>>2] = $44;
+ }
+ $108 = $3;
+ $109 = (__gcry_mpi_alloc_set_ui($108)|0);
+ $e = $109;
+ $110 = HEAP32[$xp>>2]|0;
+ $111 = HEAP32[$xp1>>2]|0;
+ $112 = HEAP32[$xp2>>2]|0;
+ $113 = $e;
+ $114 = (__gcry_derive_x931_prime($110,$111,$112,$113,0,0)|0);
+ $p = $114;
+ $115 = HEAP32[$xq>>2]|0;
+ $116 = HEAP32[$xq1>>2]|0;
+ $117 = HEAP32[$xq2>>2]|0;
+ $118 = $e;
+ $119 = (__gcry_derive_x931_prime($115,$116,$117,$118,0,0)|0);
+ $q = $119;
+ $120 = HEAP32[$xp>>2]|0;
+ __gcry_mpi_release($120);
+ HEAP32[$xp>>2] = 0;
+ $121 = HEAP32[$xp1>>2]|0;
+ __gcry_mpi_release($121);
+ HEAP32[$xp1>>2] = 0;
+ $122 = HEAP32[$xp2>>2]|0;
+ __gcry_mpi_release($122);
+ HEAP32[$xp2>>2] = 0;
+ $123 = HEAP32[$xq>>2]|0;
+ __gcry_mpi_release($123);
+ HEAP32[$xq>>2] = 0;
+ $124 = HEAP32[$xq1>>2]|0;
+ __gcry_mpi_release($124);
+ HEAP32[$xq1>>2] = 0;
+ $125 = HEAP32[$xq2>>2]|0;
+ __gcry_mpi_release($125);
+ HEAP32[$xq2>>2] = 0;
+ $126 = $p;
+ $127 = ($126|0)!=(0|0);
+ $128 = $q;
+ $129 = ($128|0)!=(0|0);
+ $or$cond = $127 & $129;
+ $130 = $p;
+ if (!($or$cond)) {
+ __gcry_mpi_release($130);
+ $131 = $q;
+ __gcry_mpi_release($131);
+ $132 = $e;
+ __gcry_mpi_release($132);
+ $0 = 21;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+ }
+ $133 = $q;
+ $134 = (__gcry_mpi_cmp($130,$133)|0);
+ $135 = ($134|0)>(0);
+ if ($135) {
+ $136 = $p;
+ $137 = $q;
+ __gcry_mpi_swap($136,$137);
+ $138 = $5;
+ HEAP32[$138>>2] = 1;
+ }
+ $139 = $2;
+ $140 = (__gcry_mpi_new($139)|0);
+ $n = $140;
+ $141 = $n;
+ $142 = $p;
+ $143 = $q;
+ __gcry_mpi_mul($141,$142,$143);
+ $144 = $2;
+ $145 = (($144>>>0) / 2)&-1;
+ $146 = (__gcry_mpi_snew($145)|0);
+ $pm1 = $146;
+ $147 = $2;
+ $148 = (($147>>>0) / 2)&-1;
+ $149 = (__gcry_mpi_snew($148)|0);
+ $qm1 = $149;
+ $150 = $2;
+ $151 = (__gcry_mpi_snew($150)|0);
+ $phi = $151;
+ $152 = $pm1;
+ $153 = $p;
+ __gcry_mpi_sub_ui($152,$153,1);
+ $154 = $qm1;
+ $155 = $q;
+ __gcry_mpi_sub_ui($154,$155,1);
+ $156 = $phi;
+ $157 = $pm1;
+ $158 = $qm1;
+ __gcry_mpi_mul($156,$157,$158);
+ $159 = $2;
+ $160 = (__gcry_mpi_snew($159)|0);
+ $g = $160;
+ $161 = $g;
+ $162 = $e;
+ $163 = $phi;
+ $164 = (__gcry_mpi_gcd($161,$162,$163)|0);
+ $165 = ($164|0)!=(0);
+ if (!($165)) {
+ __gcry_assert_failed(39553,39457,541,39587);
+ // unreachable;
+ }
+ $166 = $g;
+ $167 = $pm1;
+ $168 = $qm1;
+ (__gcry_mpi_gcd($166,$167,$168)|0);
+ $169 = $pm1;
+ $f = $169;
+ $pm1 = 0;
+ $170 = $qm1;
+ __gcry_mpi_release($170);
+ $qm1 = 0;
+ $171 = $f;
+ $172 = $phi;
+ $173 = $g;
+ __gcry_mpi_fdiv_q($171,$172,$173);
+ $174 = $phi;
+ __gcry_mpi_release($174);
+ $phi = 0;
+ $175 = $g;
+ $d = $175;
+ $g = 0;
+ $176 = $d;
+ $177 = $e;
+ $178 = $f;
+ (__gcry_mpi_invm($176,$177,$178)|0);
+ $179 = $f;
+ $u = $179;
+ $f = 0;
+ $180 = $u;
+ $181 = $p;
+ $182 = $q;
+ (__gcry_mpi_invm($180,$181,$182)|0);
+ $183 = (__gcry_get_debug_flag(1)|0);
+ $184 = ($183|0)!=(0);
+ if ($184) {
+ $185 = $5;
+ $186 = HEAP32[$185>>2]|0;
+ $187 = ($186|0)!=(0);
+ if ($187) {
+ __gcry_log_debug(39601,$vararg_buffer);
+ }
+ $188 = $p;
+ __gcry_log_printmpi(45653,$188);
+ $189 = $q;
+ __gcry_log_printmpi(39622,$189);
+ $190 = $n;
+ __gcry_log_printmpi(39626,$190);
+ $191 = $e;
+ __gcry_log_printmpi(39630,$191);
+ $192 = $d;
+ __gcry_log_printmpi(39634,$192);
+ $193 = $u;
+ __gcry_log_printmpi(39638,$193);
+ }
+ $194 = $n;
+ $195 = $1;
+ HEAP32[$195>>2] = $194;
+ $196 = $e;
+ $197 = $1;
+ $198 = ((($197)) + 4|0);
+ HEAP32[$198>>2] = $196;
+ $199 = $p;
+ $200 = $1;
+ $201 = ((($200)) + 12|0);
+ HEAP32[$201>>2] = $199;
+ $202 = $q;
+ $203 = $1;
+ $204 = ((($203)) + 16|0);
+ HEAP32[$204>>2] = $202;
+ $205 = $d;
+ $206 = $1;
+ $207 = ((($206)) + 8|0);
+ HEAP32[$207>>2] = $205;
+ $208 = $u;
+ $209 = $1;
+ $210 = ((($209)) + 20|0);
+ HEAP32[$210>>2] = $208;
+ $211 = $1;
+ $212 = $2;
+ $213 = (($212) - 64)|0;
+ $214 = (_test_keys($211,$213)|0);
+ $215 = ($214|0)!=(0);
+ if ($215) {
+ $216 = $1;
+ $217 = HEAP32[$216>>2]|0;
+ __gcry_mpi_release($217);
+ $218 = $1;
+ HEAP32[$218>>2] = 0;
+ $219 = $1;
+ $220 = ((($219)) + 4|0);
+ $221 = HEAP32[$220>>2]|0;
+ __gcry_mpi_release($221);
+ $222 = $1;
+ $223 = ((($222)) + 4|0);
+ HEAP32[$223>>2] = 0;
+ $224 = $1;
+ $225 = ((($224)) + 12|0);
+ $226 = HEAP32[$225>>2]|0;
+ __gcry_mpi_release($226);
+ $227 = $1;
+ $228 = ((($227)) + 12|0);
+ HEAP32[$228>>2] = 0;
+ $229 = $1;
+ $230 = ((($229)) + 16|0);
+ $231 = HEAP32[$230>>2]|0;
+ __gcry_mpi_release($231);
+ $232 = $1;
+ $233 = ((($232)) + 16|0);
+ HEAP32[$233>>2] = 0;
+ $234 = $1;
+ $235 = ((($234)) + 8|0);
+ $236 = HEAP32[$235>>2]|0;
+ __gcry_mpi_release($236);
+ $237 = $1;
+ $238 = ((($237)) + 8|0);
+ HEAP32[$238>>2] = 0;
+ $239 = $1;
+ $240 = ((($239)) + 20|0);
+ $241 = HEAP32[$240>>2]|0;
+ __gcry_mpi_release($241);
+ $242 = $1;
+ $243 = ((($242)) + 20|0);
+ HEAP32[$243>>2] = 0;
+ __gcry_fips_signal_error(39457,586,39587,0,39642);
+ $0 = 50;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+ } else {
+ $0 = 0;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+ }
+ }
+ }
+ $0 = 55;
+ $244 = $0;
+ STACKTOP = sp;return ($244|0);
+}
+function _gen_x931_parm_xp($nbits) {
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $xp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = $0;
+ $2 = (__gcry_mpi_snew($1)|0);
+ $xp = $2;
+ $3 = $xp;
+ $4 = $0;
+ __gcry_mpi_randomize($3,$4,2);
+ $5 = $xp;
+ $6 = $0;
+ $7 = (($6) - 1)|0;
+ __gcry_mpi_set_highbit($5,$7);
+ $8 = $xp;
+ $9 = $0;
+ $10 = (($9) - 2)|0;
+ __gcry_mpi_set_bit($8,$10);
+ $11 = $xp;
+ $12 = (__gcry_mpi_get_nbits($11)|0);
+ $13 = $0;
+ $14 = ($12|0)==($13|0);
+ if ($14) {
+ $15 = $xp;
+ STACKTOP = sp;return ($15|0);
+ } else {
+ __gcry_assert_failed(39421,39457,360,39463);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function _gen_x931_parm_xi() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $xi = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = (__gcry_mpi_snew(101)|0);
+ $xi = $0;
+ $1 = $xi;
+ __gcry_mpi_randomize($1,101,2);
+ $2 = $xi;
+ __gcry_mpi_set_highbit($2,100);
+ $3 = $xi;
+ $4 = (__gcry_mpi_get_nbits($3)|0);
+ $5 = ($4|0)==(101);
+ if ($5) {
+ $6 = $xi;
+ STACKTOP = sp;return ($6|0);
+ } else {
+ __gcry_assert_failed(39480,39457,375,39514);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function _test_keys($sk,$nbits) {
+ $sk = $sk|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ciphertext = 0, $decr_plaintext = 0, $pk = 0, $plaintext = 0, $result = 0;
+ var $signature = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $pk = sp + 16|0;
+ $0 = $sk;
+ $1 = $nbits;
+ $result = -1;
+ $2 = $1;
+ $3 = (__gcry_mpi_new($2)|0);
+ $plaintext = $3;
+ $4 = $1;
+ $5 = (__gcry_mpi_new($4)|0);
+ $ciphertext = $5;
+ $6 = $1;
+ $7 = (__gcry_mpi_new($6)|0);
+ $decr_plaintext = $7;
+ $8 = $1;
+ $9 = (__gcry_mpi_new($8)|0);
+ $signature = $9;
+ $10 = $0;
+ $11 = HEAP32[$10>>2]|0;
+ HEAP32[$pk>>2] = $11;
+ $12 = $0;
+ $13 = ((($12)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ((($pk)) + 4|0);
+ HEAP32[$15>>2] = $14;
+ $16 = $plaintext;
+ $17 = $1;
+ __gcry_mpi_randomize($16,$17,0);
+ $18 = $ciphertext;
+ $19 = $plaintext;
+ _public($18,$19,$pk);
+ $20 = $ciphertext;
+ $21 = $plaintext;
+ $22 = (__gcry_mpi_cmp($20,$21)|0);
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $24 = $decr_plaintext;
+ $25 = $ciphertext;
+ $26 = $0;
+ _secret($24,$25,$26);
+ $27 = $decr_plaintext;
+ $28 = $plaintext;
+ $29 = (__gcry_mpi_cmp($27,$28)|0);
+ $30 = ($29|0)!=(0);
+ if (!($30)) {
+ $31 = $plaintext;
+ $32 = $1;
+ __gcry_mpi_randomize($31,$32,0);
+ $33 = $signature;
+ $34 = $plaintext;
+ $35 = $0;
+ _secret($33,$34,$35);
+ $36 = $decr_plaintext;
+ $37 = $signature;
+ _public($36,$37,$pk);
+ $38 = $decr_plaintext;
+ $39 = $plaintext;
+ $40 = (__gcry_mpi_cmp($38,$39)|0);
+ $41 = ($40|0)!=(0);
+ if (!($41)) {
+ $42 = $signature;
+ $43 = $signature;
+ __gcry_mpi_add_ui($42,$43,1);
+ $44 = $decr_plaintext;
+ $45 = $signature;
+ _public($44,$45,$pk);
+ $46 = $decr_plaintext;
+ $47 = $plaintext;
+ $48 = (__gcry_mpi_cmp($46,$47)|0);
+ $49 = ($48|0)!=(0);
+ if ($49) {
+ $result = 0;
+ }
+ }
+ }
+ }
+ $50 = $signature;
+ __gcry_mpi_release($50);
+ $51 = $decr_plaintext;
+ __gcry_mpi_release($51);
+ $52 = $ciphertext;
+ __gcry_mpi_release($52);
+ $53 = $plaintext;
+ __gcry_mpi_release($53);
+ $54 = $result;
+ STACKTOP = sp;return ($54|0);
+}
+function _public($output,$input,$pkey) {
+ $output = $output|0;
+ $input = $input|0;
+ $pkey = $pkey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $output;
+ $1 = $input;
+ $2 = $pkey;
+ $3 = $0;
+ $4 = $1;
+ $5 = ($3|0)==($4|0);
+ if ($5) {
+ $6 = $1;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8<<1;
+ $10 = (__gcry_mpi_alloc($9)|0);
+ $x = $10;
+ $11 = $x;
+ $12 = $1;
+ $13 = $2;
+ $14 = ((($13)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $2;
+ $17 = HEAP32[$16>>2]|0;
+ __gcry_mpi_powm($11,$12,$15,$17);
+ $18 = $0;
+ $19 = $x;
+ (__gcry_mpi_set($18,$19)|0);
+ $20 = $x;
+ __gcry_mpi_free($20);
+ STACKTOP = sp;return;
+ } else {
+ $21 = $0;
+ $22 = $1;
+ $23 = $2;
+ $24 = ((($23)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $2;
+ $27 = HEAP32[$26>>2]|0;
+ __gcry_mpi_powm($21,$22,$25,$27);
+ STACKTOP = sp;return;
+ }
+}
+function _secret($output,$input,$skey) {
+ $output = $output|0;
+ $input = $input|0;
+ $skey = $skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $h = 0, $m1 = 0, $m2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $output;
+ $1 = $input;
+ $2 = $skey;
+ $3 = $1;
+ __gcry_mpi_normalize($3);
+ $4 = $2;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $2;
+ $9 = ((($8)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $2;
+ $13 = ((($12)) + 20|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $23 = $2;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ((($24)) + 4|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($26) + 1)|0;
+ $28 = (__gcry_mpi_alloc_secure($27)|0);
+ $m1 = $28;
+ $29 = $2;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = ((($30)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($32) + 1)|0;
+ $34 = (__gcry_mpi_alloc_secure($33)|0);
+ $m2 = $34;
+ $35 = $2;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ((($36)) + 4|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = (($38) + 1)|0;
+ $40 = (__gcry_mpi_alloc_secure($39)|0);
+ $h = $40;
+ $41 = $h;
+ $42 = $2;
+ $43 = ((($42)) + 12|0);
+ $44 = HEAP32[$43>>2]|0;
+ __gcry_mpi_sub_ui($41,$44,1);
+ $45 = $h;
+ $46 = $2;
+ $47 = ((($46)) + 8|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $h;
+ __gcry_mpi_fdiv_r($45,$48,$49);
+ $50 = $m1;
+ $51 = $1;
+ $52 = $h;
+ $53 = $2;
+ $54 = ((($53)) + 12|0);
+ $55 = HEAP32[$54>>2]|0;
+ __gcry_mpi_powm($50,$51,$52,$55);
+ $56 = $h;
+ $57 = $2;
+ $58 = ((($57)) + 16|0);
+ $59 = HEAP32[$58>>2]|0;
+ __gcry_mpi_sub_ui($56,$59,1);
+ $60 = $h;
+ $61 = $2;
+ $62 = ((($61)) + 8|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $h;
+ __gcry_mpi_fdiv_r($60,$63,$64);
+ $65 = $m2;
+ $66 = $1;
+ $67 = $h;
+ $68 = $2;
+ $69 = ((($68)) + 16|0);
+ $70 = HEAP32[$69>>2]|0;
+ __gcry_mpi_powm($65,$66,$67,$70);
+ $71 = $h;
+ $72 = $m2;
+ $73 = $m1;
+ __gcry_mpi_sub($71,$72,$73);
+ $74 = $h;
+ $75 = ((($74)) + 8|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = ($76|0)!=(0);
+ if ($77) {
+ $78 = $h;
+ $79 = $h;
+ $80 = $2;
+ $81 = ((($80)) + 16|0);
+ $82 = HEAP32[$81>>2]|0;
+ __gcry_mpi_add($78,$79,$82);
+ }
+ $83 = $h;
+ $84 = $2;
+ $85 = ((($84)) + 20|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = $h;
+ $88 = $2;
+ $89 = ((($88)) + 16|0);
+ $90 = HEAP32[$89>>2]|0;
+ __gcry_mpi_mulm($83,$86,$87,$90);
+ $91 = $h;
+ $92 = $h;
+ $93 = $2;
+ $94 = ((($93)) + 12|0);
+ $95 = HEAP32[$94>>2]|0;
+ __gcry_mpi_mul($91,$92,$95);
+ $96 = $0;
+ $97 = $m1;
+ $98 = $h;
+ __gcry_mpi_add($96,$97,$98);
+ $99 = $h;
+ __gcry_mpi_free($99);
+ $100 = $m1;
+ __gcry_mpi_free($100);
+ $101 = $m2;
+ __gcry_mpi_free($101);
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ $16 = $0;
+ $17 = $1;
+ $18 = $2;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $2;
+ $22 = HEAP32[$21>>2]|0;
+ __gcry_mpi_powm($16,$17,$20,$22);
+ STACKTOP = sp;return;
+}
+function _generate_std($sk,$nbits,$use_e,$transient_key) {
+ $sk = $sk|0;
+ $nbits = $nbits|0;
+ $use_e = $use_e|0;
+ $transient_key = $transient_key|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $d = 0, $e = 0, $f = 0, $g = 0, $n = 0, $p = 0, $phi = 0, $q = 0, $random_level = 0, $t1 = 0, $t2 = 0, $u = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $sk;
+ $2 = $nbits;
+ $3 = $use_e;
+ $4 = $transient_key;
+ $5 = (__gcry_fips_mode()|0);
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $2;
+ $8 = ($7>>>0)<(1024);
+ if ($8) {
+ $0 = 55;
+ $180 = $0;
+ STACKTOP = sp;return ($180|0);
+ }
+ $9 = $4;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $0 = 55;
+ $180 = $0;
+ STACKTOP = sp;return ($180|0);
+ }
+ }
+ $11 = $4;
+ $12 = ($11|0)!=(0);
+ $13 = $12 ? 1 : 2;
+ $random_level = $13;
+ $14 = $2;
+ $15 = $14 & 1;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ $17 = $2;
+ $18 = (($17) + 1)|0;
+ $2 = $18;
+ }
+ $19 = $3;
+ $20 = ($19|0)==(1);
+ if ($20) {
+ $3 = 65537;
+ }
+ $21 = (__gcry_mpi_alloc(1)|0);
+ $e = $21;
+ $22 = $3;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $25 = $3;
+ $26 = $25 | 1;
+ $3 = $26;
+ $27 = $e;
+ $28 = $3;
+ (__gcry_mpi_set_ui($27,$28)|0);
+ } else {
+ $24 = $e;
+ (__gcry_mpi_set_ui($24,41)|0);
+ }
+ $29 = $2;
+ $30 = (__gcry_mpi_new($29)|0);
+ $n = $30;
+ $q = 0;
+ $p = 0;
+ while(1) {
+ $31 = $p;
+ $32 = ($31|0)!=(0|0);
+ if ($32) {
+ $33 = $p;
+ __gcry_mpi_release($33);
+ }
+ $34 = $q;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $36 = $q;
+ __gcry_mpi_release($36);
+ }
+ $37 = $3;
+ $38 = ($37|0)!=(0);
+ $39 = $2;
+ $40 = (($39>>>0) / 2)&-1;
+ $41 = $random_level;
+ if ($38) {
+ $42 = $e;
+ $43 = (__gcry_generate_secret_prime($40,$41,73,$42)|0);
+ $p = $43;
+ $44 = $2;
+ $45 = (($44>>>0) / 2)&-1;
+ $46 = $random_level;
+ $47 = $e;
+ $48 = (__gcry_generate_secret_prime($45,$46,73,$47)|0);
+ $q = $48;
+ } else {
+ $49 = (__gcry_generate_secret_prime($40,$41,0,0)|0);
+ $p = $49;
+ $50 = $2;
+ $51 = (($50>>>0) / 2)&-1;
+ $52 = $random_level;
+ $53 = (__gcry_generate_secret_prime($51,$52,0,0)|0);
+ $q = $53;
+ }
+ $54 = $p;
+ $55 = $q;
+ $56 = (__gcry_mpi_cmp($54,$55)|0);
+ $57 = ($56|0)>(0);
+ if ($57) {
+ $58 = $p;
+ $59 = $q;
+ __gcry_mpi_swap($58,$59);
+ }
+ $60 = $n;
+ $61 = $p;
+ $62 = $q;
+ __gcry_mpi_mul($60,$61,$62);
+ $63 = $n;
+ $64 = (__gcry_mpi_get_nbits($63)|0);
+ $65 = $2;
+ $66 = ($64|0)!=($65|0);
+ if (!($66)) {
+ break;
+ }
+ }
+ $67 = $p;
+ $68 = ((($67)) + 4|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = (__gcry_mpi_alloc_secure($69)|0);
+ $t1 = $70;
+ $71 = $p;
+ $72 = ((($71)) + 4|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (__gcry_mpi_alloc_secure($73)|0);
+ $t2 = $74;
+ $75 = $2;
+ $76 = (__gcry_mpi_snew($75)|0);
+ $phi = $76;
+ $77 = $2;
+ $78 = (__gcry_mpi_snew($77)|0);
+ $g = $78;
+ $79 = $2;
+ $80 = (__gcry_mpi_snew($79)|0);
+ $f = $80;
+ $81 = $t1;
+ $82 = $p;
+ __gcry_mpi_sub_ui($81,$82,1);
+ $83 = $t2;
+ $84 = $q;
+ __gcry_mpi_sub_ui($83,$84,1);
+ $85 = $phi;
+ $86 = $t1;
+ $87 = $t2;
+ __gcry_mpi_mul($85,$86,$87);
+ $88 = $g;
+ $89 = $t1;
+ $90 = $t2;
+ (__gcry_mpi_gcd($88,$89,$90)|0);
+ $91 = $f;
+ $92 = $phi;
+ $93 = $g;
+ __gcry_mpi_fdiv_q($91,$92,$93);
+ while(1) {
+ $94 = $t1;
+ $95 = $e;
+ $96 = $phi;
+ $97 = (__gcry_mpi_gcd($94,$95,$96)|0);
+ $98 = ($97|0)!=(0);
+ $99 = $98 ^ 1;
+ if (!($99)) {
+ break;
+ }
+ $100 = $3;
+ $101 = ($100|0)!=(0);
+ if ($101) {
+ label = 27;
+ break;
+ }
+ $102 = $e;
+ $103 = $e;
+ __gcry_mpi_add_ui($102,$103,2);
+ }
+ if ((label|0) == 27) {
+ __gcry_bug(39457,287,39709);
+ // unreachable;
+ }
+ $104 = $2;
+ $105 = (__gcry_mpi_snew($104)|0);
+ $d = $105;
+ $106 = $d;
+ $107 = $e;
+ $108 = $f;
+ (__gcry_mpi_invm($106,$107,$108)|0);
+ $109 = $2;
+ $110 = (__gcry_mpi_snew($109)|0);
+ $u = $110;
+ $111 = $u;
+ $112 = $p;
+ $113 = $q;
+ (__gcry_mpi_invm($111,$112,$113)|0);
+ $114 = (__gcry_get_debug_flag(1)|0);
+ $115 = ($114|0)!=(0);
+ if ($115) {
+ $116 = $p;
+ __gcry_log_printmpi(39722,$116);
+ $117 = $q;
+ __gcry_log_printmpi(39728,$117);
+ $118 = $phi;
+ __gcry_log_printmpi(39734,$118);
+ $119 = $g;
+ __gcry_log_printmpi(39740,$119);
+ $120 = $f;
+ __gcry_log_printmpi(39746,$120);
+ $121 = $n;
+ __gcry_log_printmpi(39752,$121);
+ $122 = $e;
+ __gcry_log_printmpi(39758,$122);
+ $123 = $d;
+ __gcry_log_printmpi(39764,$123);
+ $124 = $u;
+ __gcry_log_printmpi(39770,$124);
+ }
+ $125 = $t1;
+ __gcry_mpi_release($125);
+ $126 = $t2;
+ __gcry_mpi_release($126);
+ $127 = $phi;
+ __gcry_mpi_release($127);
+ $128 = $f;
+ __gcry_mpi_release($128);
+ $129 = $g;
+ __gcry_mpi_release($129);
+ $130 = $n;
+ $131 = $1;
+ HEAP32[$131>>2] = $130;
+ $132 = $e;
+ $133 = $1;
+ $134 = ((($133)) + 4|0);
+ HEAP32[$134>>2] = $132;
+ $135 = $p;
+ $136 = $1;
+ $137 = ((($136)) + 12|0);
+ HEAP32[$137>>2] = $135;
+ $138 = $q;
+ $139 = $1;
+ $140 = ((($139)) + 16|0);
+ HEAP32[$140>>2] = $138;
+ $141 = $d;
+ $142 = $1;
+ $143 = ((($142)) + 8|0);
+ HEAP32[$143>>2] = $141;
+ $144 = $u;
+ $145 = $1;
+ $146 = ((($145)) + 20|0);
+ HEAP32[$146>>2] = $144;
+ $147 = $1;
+ $148 = $2;
+ $149 = (($148) - 64)|0;
+ $150 = (_test_keys($147,$149)|0);
+ $151 = ($150|0)!=(0);
+ if ($151) {
+ $152 = $1;
+ $153 = HEAP32[$152>>2]|0;
+ __gcry_mpi_release($153);
+ $154 = $1;
+ HEAP32[$154>>2] = 0;
+ $155 = $1;
+ $156 = ((($155)) + 4|0);
+ $157 = HEAP32[$156>>2]|0;
+ __gcry_mpi_release($157);
+ $158 = $1;
+ $159 = ((($158)) + 4|0);
+ HEAP32[$159>>2] = 0;
+ $160 = $1;
+ $161 = ((($160)) + 12|0);
+ $162 = HEAP32[$161>>2]|0;
+ __gcry_mpi_release($162);
+ $163 = $1;
+ $164 = ((($163)) + 12|0);
+ HEAP32[$164>>2] = 0;
+ $165 = $1;
+ $166 = ((($165)) + 16|0);
+ $167 = HEAP32[$166>>2]|0;
+ __gcry_mpi_release($167);
+ $168 = $1;
+ $169 = ((($168)) + 16|0);
+ HEAP32[$169>>2] = 0;
+ $170 = $1;
+ $171 = ((($170)) + 8|0);
+ $172 = HEAP32[$171>>2]|0;
+ __gcry_mpi_release($172);
+ $173 = $1;
+ $174 = ((($173)) + 8|0);
+ HEAP32[$174>>2] = 0;
+ $175 = $1;
+ $176 = ((($175)) + 20|0);
+ $177 = HEAP32[$176>>2]|0;
+ __gcry_mpi_release($177);
+ $178 = $1;
+ $179 = ((($178)) + 20|0);
+ HEAP32[$179>>2] = 0;
+ __gcry_fips_signal_error(39457,334,39709,0,39642);
+ $0 = 50;
+ $180 = $0;
+ STACKTOP = sp;return ($180|0);
+ } else {
+ $0 = 0;
+ $180 = $0;
+ STACKTOP = sp;return ($180|0);
+ }
+ return (0)|0;
+}
+function _check_exponent($arg,$a) {
+ $arg = $arg|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $e = 0, $result = 0;
+ var $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $arg;
+ $1 = $a;
+ $2 = $0;
+ $e = $2;
+ $3 = $1;
+ $4 = $1;
+ __gcry_mpi_sub_ui($3,$4,1);
+ $5 = $1;
+ $6 = (__gcry_mpi_alloc_like($5)|0);
+ $tmp = $6;
+ $7 = $tmp;
+ $8 = $e;
+ $9 = $1;
+ $10 = (__gcry_mpi_gcd($7,$8,$9)|0);
+ $11 = ($10|0)!=(0);
+ $12 = $11 ^ 1;
+ $13 = $12&1;
+ $result = $13;
+ $14 = $tmp;
+ __gcry_mpi_release($14);
+ $15 = $1;
+ $16 = $1;
+ __gcry_mpi_add_ui($15,$16,1);
+ $17 = $result;
+ STACKTOP = sp;return ($17|0);
+}
+function _rsa_check_secret_key($keyparms) {
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $sk = 0, $vararg_buffer = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer = sp;
+ $sk = sp + 40|0;
+ $0 = $keyparms;
+ ;HEAP32[$sk>>2]=0|0;HEAP32[$sk+4>>2]=0|0;HEAP32[$sk+8>>2]=0|0;HEAP32[$sk+12>>2]=0|0;HEAP32[$sk+16>>2]=0|0;HEAP32[$sk+20>>2]=0|0;
+ $1 = $0;
+ $2 = ((($sk)) + 4|0);
+ $3 = ((($sk)) + 8|0);
+ $4 = ((($sk)) + 12|0);
+ $5 = ((($sk)) + 16|0);
+ $6 = ((($sk)) + 20|0);
+ HEAP32[$vararg_buffer>>2] = $sk;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $2;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $3;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $4;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $5;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $6;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $7 = (__gcry_sexp_extract_param($1,0,39386,$vararg_buffer)|0);
+ $rc = $7;
+ $8 = $rc;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $10 = (_check_secret_key($sk)|0);
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $rc = 7;
+ }
+ }
+ $12 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_release($12);
+ $13 = ((($sk)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_mpi_release($14);
+ $15 = ((($sk)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ __gcry_mpi_release($16);
+ $17 = ((($sk)) + 12|0);
+ $18 = HEAP32[$17>>2]|0;
+ __gcry_mpi_release($18);
+ $19 = ((($sk)) + 16|0);
+ $20 = HEAP32[$19>>2]|0;
+ __gcry_mpi_release($20);
+ $21 = ((($sk)) + 20|0);
+ $22 = HEAP32[$21>>2]|0;
+ __gcry_mpi_release($22);
+ $23 = (__gcry_get_debug_flag(1)|0);
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ $27 = $rc;
+ STACKTOP = sp;return ($27|0);
+ }
+ $25 = $rc;
+ $26 = (_gpg_strerror($25)|0);
+ HEAP32[$vararg_buffer7>>2] = $26;
+ __gcry_log_debug(39871,$vararg_buffer7);
+ $27 = $rc;
+ STACKTOP = sp;return ($27|0);
+}
+function _check_secret_key($sk) {
+ $sk = $sk|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $temp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $sk;
+ $1 = $0;
+ $2 = ((($1)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5<<1;
+ $7 = (__gcry_mpi_alloc($6)|0);
+ $temp = $7;
+ $8 = $temp;
+ $9 = $0;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $0;
+ $13 = ((($12)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_mpi_mul($8,$11,$14);
+ $15 = $temp;
+ $16 = $0;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (__gcry_mpi_cmp($15,$17)|0);
+ $rc = $18;
+ $19 = $temp;
+ __gcry_mpi_free($19);
+ $20 = $rc;
+ $21 = ($20|0)!=(0);
+ $22 = $21 ^ 1;
+ $23 = $22&1;
+ STACKTOP = sp;return ($23|0);
+}
+function _rsa_encrypt($r_ciph,$s_data,$keyparms) {
+ $r_ciph = $r_ciph|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $ciph = 0, $ctx = 0, $data = 0, $em = 0, $emlen = 0, $pk = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer10 = sp + 32|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 64|0;
+ $data = sp + 56|0;
+ $pk = sp + 48|0;
+ $em = sp + 40|0;
+ $0 = $r_ciph;
+ $1 = $s_data;
+ $2 = $keyparms;
+ HEAP32[$data>>2] = 0;
+ ;HEAP32[$pk>>2]=0|0;HEAP32[$pk+4>>2]=0|0;
+ $ciph = 0;
+ $3 = $2;
+ $4 = (_rsa_get_nbits($3)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,0,$4);
+ $5 = $1;
+ $6 = (__gcry_pk_util_data_to_mpi($5,$data,$ctx)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = ($7|0)!=(0);
+ do {
+ if (!($8)) {
+ $9 = (__gcry_get_debug_flag(1)|0);
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(39893,$11);
+ }
+ $12 = HEAP32[$data>>2]|0;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = HEAP32[$data>>2]|0;
+ $15 = ((($14)) + 12|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 & 4;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $rc = 79;
+ break;
+ }
+ }
+ $19 = $2;
+ $20 = ((($pk)) + 4|0);
+ HEAP32[$vararg_buffer>>2] = $pk;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $20;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 0;
+ $21 = (__gcry_sexp_extract_param($19,0,39383,$vararg_buffer)|0);
+ $rc = $21;
+ $22 = $rc;
+ $23 = ($22|0)!=(0);
+ if (!($23)) {
+ $24 = (__gcry_get_debug_flag(1)|0);
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $26 = HEAP32[$pk>>2]|0;
+ __gcry_log_printmpi(39910,$26);
+ $27 = ((($pk)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ __gcry_log_printmpi(39927,$28);
+ }
+ $29 = (__gcry_mpi_new(0)|0);
+ $ciph = $29;
+ $30 = $ciph;
+ $31 = HEAP32[$data>>2]|0;
+ _public($30,$31,$pk);
+ $32 = (__gcry_get_debug_flag(1)|0);
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $34 = $ciph;
+ __gcry_log_printmpi(39944,$34);
+ }
+ $35 = ((($ctx)) + 12|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $36 & 4;
+ $38 = ($37|0)!=(0);
+ if (!($38)) {
+ $53 = $0;
+ $54 = $ciph;
+ HEAP32[$vararg_buffer7>>2] = $54;
+ $55 = (__gcry_sexp_build($53,0,39981,$vararg_buffer7)|0);
+ $rc = $55;
+ break;
+ }
+ $39 = HEAP32[$pk>>2]|0;
+ $40 = (__gcry_mpi_get_nbits($39)|0);
+ $41 = (($40) + 7)|0;
+ $42 = (($41>>>0) / 8)&-1;
+ $emlen = $42;
+ $43 = $ciph;
+ $44 = $emlen;
+ $45 = (__gcry_mpi_to_octet_string($em,0,$43,$44)|0);
+ $rc = $45;
+ $46 = $rc;
+ $47 = ($46|0)!=(0);
+ if (!($47)) {
+ $48 = $0;
+ $49 = $emlen;
+ $50 = HEAP32[$em>>2]|0;
+ HEAP32[$vararg_buffer3>>2] = $49;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $50;
+ $51 = (__gcry_sexp_build($48,0,39961,$vararg_buffer3)|0);
+ $rc = $51;
+ $52 = HEAP32[$em>>2]|0;
+ __gcry_free($52);
+ }
+ }
+ }
+ } while(0);
+ $56 = $ciph;
+ __gcry_mpi_release($56);
+ $57 = HEAP32[$pk>>2]|0;
+ __gcry_mpi_release($57);
+ $58 = ((($pk)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ __gcry_mpi_release($59);
+ $60 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($60);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $61 = (__gcry_get_debug_flag(1)|0);
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ $65 = $rc;
+ STACKTOP = sp;return ($65|0);
+ }
+ $63 = $rc;
+ $64 = (_gpg_strerror($63)|0);
+ HEAP32[$vararg_buffer10>>2] = $64;
+ __gcry_log_debug(40001,$vararg_buffer10);
+ $65 = $rc;
+ STACKTOP = sp;return ($65|0);
+}
+function _rsa_get_nbits($parms) {
+ $parms = $parms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l1 = 0, $n = 0, $nbits = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $parms;
+ $2 = $1;
+ $3 = (__gcry_sexp_find_token($2,39397,1)|0);
+ $l1 = $3;
+ $4 = $l1;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $0 = 0;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+ }
+ $6 = $l1;
+ $7 = (__gcry_sexp_nth_mpi($6,1,5)|0);
+ $n = $7;
+ $8 = $l1;
+ __gcry_sexp_release($8);
+ $9 = $n;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = $n;
+ $12 = (__gcry_mpi_get_nbits($11)|0);
+ $13 = $12;
+ } else {
+ $13 = 0;
+ }
+ $nbits = $13;
+ $14 = $n;
+ __gcry_mpi_release($14);
+ $15 = $nbits;
+ $0 = $15;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+}
+function _rsa_decrypt($r_plain,$s_data,$keyparms) {
+ $r_plain = $r_plain|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $bldata = 0, $ctx = 0, $data = 0, $l1 = 0, $plain = 0, $r = 0, $rc = 0, $ri = 0, $sk = 0, $unpad = 0, $unpadlen = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0;
+ var $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer22 = sp + 64|0;
+ $vararg_buffer19 = sp + 56|0;
+ $vararg_buffer15 = sp + 48|0;
+ $vararg_buffer11 = sp + 40|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 128|0;
+ $l1 = sp + 124|0;
+ $data = sp + 120|0;
+ $sk = sp + 96|0;
+ $unpad = sp + 72|0;
+ $unpadlen = sp + 68|0;
+ $0 = $r_plain;
+ $1 = $s_data;
+ $2 = $keyparms;
+ HEAP32[$l1>>2] = 0;
+ HEAP32[$data>>2] = 0;
+ ;HEAP32[$sk>>2]=0|0;HEAP32[$sk+4>>2]=0|0;HEAP32[$sk+8>>2]=0|0;HEAP32[$sk+12>>2]=0|0;HEAP32[$sk+16>>2]=0|0;HEAP32[$sk+20>>2]=0|0;
+ $plain = 0;
+ $r = 0;
+ $ri = 0;
+ $bldata = 0;
+ HEAP32[$unpad>>2] = 0;
+ HEAP32[$unpadlen>>2] = 0;
+ $3 = $2;
+ $4 = (_rsa_get_nbits($3)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,1,$4);
+ $5 = $1;
+ $6 = (__gcry_pk_util_preparse_encval($5,7712,$l1,$ctx)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = ($7|0)!=(0);
+ L1: do {
+ if (!($8)) {
+ $9 = HEAP32[$l1>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $data;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $10 = (__gcry_sexp_extract_param($9,0,39393,$vararg_buffer)|0);
+ $rc = $10;
+ $11 = $rc;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ $13 = (__gcry_get_debug_flag(1)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(40023,$15);
+ }
+ $16 = HEAP32[$data>>2]|0;
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $18 = HEAP32[$data>>2]|0;
+ $19 = ((($18)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $20 & 4;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $rc = 79;
+ break;
+ }
+ }
+ $23 = $2;
+ $24 = ((($sk)) + 4|0);
+ $25 = ((($sk)) + 8|0);
+ $26 = ((($sk)) + 12|0);
+ $27 = ((($sk)) + 16|0);
+ $28 = ((($sk)) + 20|0);
+ HEAP32[$vararg_buffer2>>2] = $sk;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $24;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = $25;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $26;
+ $vararg_ptr8 = ((($vararg_buffer2)) + 16|0);
+ HEAP32[$vararg_ptr8>>2] = $27;
+ $vararg_ptr9 = ((($vararg_buffer2)) + 20|0);
+ HEAP32[$vararg_ptr9>>2] = $28;
+ $vararg_ptr10 = ((($vararg_buffer2)) + 24|0);
+ HEAP32[$vararg_ptr10>>2] = 0;
+ $29 = (__gcry_sexp_extract_param($23,0,40040,$vararg_buffer2)|0);
+ $rc = $29;
+ $30 = $rc;
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ $32 = (__gcry_get_debug_flag(1)|0);
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $34 = HEAP32[$sk>>2]|0;
+ __gcry_log_printmpi(40050,$34);
+ $35 = ((($sk)) + 4|0);
+ $36 = HEAP32[$35>>2]|0;
+ __gcry_log_printmpi(40067,$36);
+ $37 = (__gcry_fips_mode()|0);
+ $38 = ($37|0)!=(0);
+ if (!($38)) {
+ $39 = ((($sk)) + 8|0);
+ $40 = HEAP32[$39>>2]|0;
+ __gcry_log_printmpi(40084,$40);
+ $41 = ((($sk)) + 12|0);
+ $42 = HEAP32[$41>>2]|0;
+ __gcry_log_printmpi(40101,$42);
+ $43 = ((($sk)) + 16|0);
+ $44 = HEAP32[$43>>2]|0;
+ __gcry_log_printmpi(40118,$44);
+ $45 = ((($sk)) + 20|0);
+ $46 = HEAP32[$45>>2]|0;
+ __gcry_log_printmpi(40135,$46);
+ }
+ }
+ $47 = HEAP32[$data>>2]|0;
+ __gcry_mpi_normalize($47);
+ $48 = HEAP32[$data>>2]|0;
+ $49 = HEAP32[$data>>2]|0;
+ $50 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_fdiv_r($48,$49,$50);
+ $51 = ((($ctx)) + 4|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (__gcry_mpi_snew($52)|0);
+ $plain = $53;
+ $54 = ((($ctx)) + 12|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $55 & 1;
+ $57 = ($56|0)!=(0);
+ if ($57) {
+ $97 = $plain;
+ $98 = HEAP32[$data>>2]|0;
+ _secret($97,$98,$sk);
+ } else {
+ $58 = ((($ctx)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (__gcry_mpi_snew($59)|0);
+ $r = $60;
+ $61 = ((($ctx)) + 4|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = (__gcry_mpi_snew($62)|0);
+ $ri = $63;
+ $64 = ((($ctx)) + 4|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (__gcry_mpi_snew($65)|0);
+ $bldata = $66;
+ while(1) {
+ $67 = $r;
+ $68 = ((($ctx)) + 4|0);
+ $69 = HEAP32[$68>>2]|0;
+ __gcry_mpi_randomize($67,$69,0);
+ $70 = $r;
+ $71 = $r;
+ $72 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_mod($70,$71,$72);
+ $73 = $ri;
+ $74 = $r;
+ $75 = HEAP32[$sk>>2]|0;
+ $76 = (__gcry_mpi_invm($73,$74,$75)|0);
+ $77 = ($76|0)!=(0);
+ $78 = $77 ^ 1;
+ if (!($78)) {
+ break;
+ }
+ }
+ $79 = $bldata;
+ $80 = $r;
+ $81 = ((($sk)) + 4|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_powm($79,$80,$82,$83);
+ $84 = $bldata;
+ $85 = $bldata;
+ $86 = HEAP32[$data>>2]|0;
+ $87 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_mulm($84,$85,$86,$87);
+ $88 = $plain;
+ $89 = $bldata;
+ _secret($88,$89,$sk);
+ $90 = $bldata;
+ __gcry_mpi_release($90);
+ $bldata = 0;
+ $91 = $plain;
+ $92 = $plain;
+ $93 = $ri;
+ $94 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_mulm($91,$92,$93,$94);
+ $95 = $r;
+ __gcry_mpi_release($95);
+ $r = 0;
+ $96 = $ri;
+ __gcry_mpi_release($96);
+ $ri = 0;
+ }
+ $99 = (__gcry_get_debug_flag(1)|0);
+ $100 = ($99|0)!=(0);
+ if ($100) {
+ $101 = $plain;
+ __gcry_log_printmpi(40152,$101);
+ }
+ $102 = ((($ctx)) + 8|0);
+ $103 = HEAP32[$102>>2]|0;
+ switch ($103|0) {
+ case 1: {
+ $104 = ((($ctx)) + 4|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = $plain;
+ $107 = (__gcry_rsa_pkcs1_decode_for_enc($unpad,$unpadlen,$105,$106)|0);
+ $rc = $107;
+ $108 = $plain;
+ __gcry_mpi_free($108);
+ $plain = 0;
+ $109 = $rc;
+ $110 = ($109|0)!=(0);
+ if ($110) {
+ break L1;
+ }
+ $111 = $0;
+ $112 = HEAP32[$unpadlen>>2]|0;
+ $113 = HEAP32[$unpad>>2]|0;
+ HEAP32[$vararg_buffer11>>2] = $112;
+ $vararg_ptr14 = ((($vararg_buffer11)) + 4|0);
+ HEAP32[$vararg_ptr14>>2] = $113;
+ $114 = (__gcry_sexp_build($111,0,40169,$vararg_buffer11)|0);
+ $rc = $114;
+ break L1;
+ break;
+ }
+ case 3: {
+ $115 = ((($ctx)) + 4|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = ((($ctx)) + 16|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $plain;
+ $120 = ((($ctx)) + 20|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = ((($ctx)) + 24|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (__gcry_rsa_oaep_decode($unpad,$unpadlen,$116,$118,$119,$121,$123)|0);
+ $rc = $124;
+ $125 = $plain;
+ __gcry_mpi_free($125);
+ $plain = 0;
+ $126 = $rc;
+ $127 = ($126|0)!=(0);
+ if ($127) {
+ break L1;
+ }
+ $128 = $0;
+ $129 = HEAP32[$unpadlen>>2]|0;
+ $130 = HEAP32[$unpad>>2]|0;
+ HEAP32[$vararg_buffer15>>2] = $129;
+ $vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
+ HEAP32[$vararg_ptr18>>2] = $130;
+ $131 = (__gcry_sexp_build($128,0,40169,$vararg_buffer15)|0);
+ $rc = $131;
+ break L1;
+ break;
+ }
+ default: {
+ $132 = $0;
+ $133 = ((($ctx)) + 12|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = $134 & 8;
+ $136 = ($135|0)!=(0);
+ $137 = $136 ? 40180 : 49265;
+ $138 = $plain;
+ HEAP32[$vararg_buffer19>>2] = $138;
+ $139 = (__gcry_sexp_build($132,0,$137,$vararg_buffer19)|0);
+ $rc = $139;
+ break L1;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $140 = HEAP32[$unpad>>2]|0;
+ __gcry_free($140);
+ $141 = $plain;
+ __gcry_mpi_release($141);
+ $142 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_release($142);
+ $143 = ((($sk)) + 4|0);
+ $144 = HEAP32[$143>>2]|0;
+ __gcry_mpi_release($144);
+ $145 = ((($sk)) + 8|0);
+ $146 = HEAP32[$145>>2]|0;
+ __gcry_mpi_release($146);
+ $147 = ((($sk)) + 12|0);
+ $148 = HEAP32[$147>>2]|0;
+ __gcry_mpi_release($148);
+ $149 = ((($sk)) + 16|0);
+ $150 = HEAP32[$149>>2]|0;
+ __gcry_mpi_release($150);
+ $151 = ((($sk)) + 20|0);
+ $152 = HEAP32[$151>>2]|0;
+ __gcry_mpi_release($152);
+ $153 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($153);
+ $154 = $r;
+ __gcry_mpi_release($154);
+ $155 = $ri;
+ __gcry_mpi_release($155);
+ $156 = $bldata;
+ __gcry_mpi_release($156);
+ $157 = HEAP32[$l1>>2]|0;
+ __gcry_sexp_release($157);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $158 = (__gcry_get_debug_flag(1)|0);
+ $159 = ($158|0)!=(0);
+ if (!($159)) {
+ $162 = $rc;
+ STACKTOP = sp;return ($162|0);
+ }
+ $160 = $rc;
+ $161 = (_gpg_strerror($160)|0);
+ HEAP32[$vararg_buffer22>>2] = $161;
+ __gcry_log_debug(40183,$vararg_buffer22);
+ $162 = $rc;
+ STACKTOP = sp;return ($162|0);
+}
+function _rsa_sign($r_sig,$s_data,$keyparms) {
+ $r_sig = $r_sig|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $ctx = 0, $data = 0, $em = 0, $emlen = 0, $rc = 0, $sig = 0, $sk = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr10 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer14 = sp + 48|0;
+ $vararg_buffer11 = sp + 40|0;
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 96|0;
+ $data = sp + 88|0;
+ $sk = sp + 64|0;
+ $em = sp + 56|0;
+ $0 = $r_sig;
+ $1 = $s_data;
+ $2 = $keyparms;
+ HEAP32[$data>>2] = 0;
+ ;HEAP32[$sk>>2]=0|0;HEAP32[$sk+4>>2]=0|0;HEAP32[$sk+8>>2]=0|0;HEAP32[$sk+12>>2]=0|0;HEAP32[$sk+16>>2]=0|0;HEAP32[$sk+20>>2]=0|0;
+ $sig = 0;
+ $3 = $2;
+ $4 = (_rsa_get_nbits($3)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,2,$4);
+ $5 = $1;
+ $6 = (__gcry_pk_util_data_to_mpi($5,$data,$ctx)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = ($7|0)!=(0);
+ do {
+ if (!($8)) {
+ $9 = (__gcry_get_debug_flag(1)|0);
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(40205,$11);
+ }
+ $12 = HEAP32[$data>>2]|0;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = HEAP32[$data>>2]|0;
+ $15 = ((($14)) + 12|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 & 4;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $rc = 79;
+ break;
+ }
+ }
+ $19 = $2;
+ $20 = ((($sk)) + 4|0);
+ $21 = ((($sk)) + 8|0);
+ $22 = ((($sk)) + 12|0);
+ $23 = ((($sk)) + 16|0);
+ $24 = ((($sk)) + 20|0);
+ HEAP32[$vararg_buffer>>2] = $sk;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $20;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $21;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $22;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $23;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $24;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $25 = (__gcry_sexp_extract_param($19,0,40040,$vararg_buffer)|0);
+ $rc = $25;
+ $26 = $rc;
+ $27 = ($26|0)!=(0);
+ if (!($27)) {
+ $28 = (__gcry_get_debug_flag(1)|0);
+ $29 = ($28|0)!=(0);
+ if ($29) {
+ $30 = HEAP32[$sk>>2]|0;
+ __gcry_log_printmpi(40221,$30);
+ $31 = ((($sk)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ __gcry_log_printmpi(40237,$32);
+ $33 = (__gcry_fips_mode()|0);
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = ((($sk)) + 8|0);
+ $36 = HEAP32[$35>>2]|0;
+ __gcry_log_printmpi(40253,$36);
+ $37 = ((($sk)) + 12|0);
+ $38 = HEAP32[$37>>2]|0;
+ __gcry_log_printmpi(40269,$38);
+ $39 = ((($sk)) + 16|0);
+ $40 = HEAP32[$39>>2]|0;
+ __gcry_log_printmpi(40285,$40);
+ $41 = ((($sk)) + 20|0);
+ $42 = HEAP32[$41>>2]|0;
+ __gcry_log_printmpi(40301,$42);
+ }
+ }
+ $43 = (__gcry_mpi_new(0)|0);
+ $sig = $43;
+ $44 = $sig;
+ $45 = HEAP32[$data>>2]|0;
+ _secret($44,$45,$sk);
+ $46 = (__gcry_get_debug_flag(1)|0);
+ $47 = ($46|0)!=(0);
+ if ($47) {
+ $48 = $sig;
+ __gcry_log_printmpi(40317,$48);
+ }
+ $49 = ((($ctx)) + 12|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $50 & 4;
+ $52 = ($51|0)!=(0);
+ if (!($52)) {
+ $67 = $0;
+ $68 = $sig;
+ HEAP32[$vararg_buffer11>>2] = $68;
+ $69 = (__gcry_sexp_build($67,0,40353,$vararg_buffer11)|0);
+ $rc = $69;
+ break;
+ }
+ $53 = HEAP32[$sk>>2]|0;
+ $54 = (__gcry_mpi_get_nbits($53)|0);
+ $55 = (($54) + 7)|0;
+ $56 = (($55>>>0) / 8)&-1;
+ $emlen = $56;
+ $57 = $sig;
+ $58 = $emlen;
+ $59 = (__gcry_mpi_to_octet_string($em,0,$57,$58)|0);
+ $rc = $59;
+ $60 = $rc;
+ $61 = ($60|0)!=(0);
+ if (!($61)) {
+ $62 = $0;
+ $63 = $emlen;
+ $64 = HEAP32[$em>>2]|0;
+ HEAP32[$vararg_buffer7>>2] = $63;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = $64;
+ $65 = (__gcry_sexp_build($62,0,40333,$vararg_buffer7)|0);
+ $rc = $65;
+ $66 = HEAP32[$em>>2]|0;
+ __gcry_free($66);
+ }
+ }
+ }
+ } while(0);
+ $70 = $sig;
+ __gcry_mpi_release($70);
+ $71 = HEAP32[$sk>>2]|0;
+ __gcry_mpi_release($71);
+ $72 = ((($sk)) + 4|0);
+ $73 = HEAP32[$72>>2]|0;
+ __gcry_mpi_release($73);
+ $74 = ((($sk)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ __gcry_mpi_release($75);
+ $76 = ((($sk)) + 12|0);
+ $77 = HEAP32[$76>>2]|0;
+ __gcry_mpi_release($77);
+ $78 = ((($sk)) + 16|0);
+ $79 = HEAP32[$78>>2]|0;
+ __gcry_mpi_release($79);
+ $80 = ((($sk)) + 20|0);
+ $81 = HEAP32[$80>>2]|0;
+ __gcry_mpi_release($81);
+ $82 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($82);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $83 = (__gcry_get_debug_flag(1)|0);
+ $84 = ($83|0)!=(0);
+ if (!($84)) {
+ $87 = $rc;
+ STACKTOP = sp;return ($87|0);
+ }
+ $85 = $rc;
+ $86 = (_gpg_strerror($85)|0);
+ HEAP32[$vararg_buffer14>>2] = $86;
+ __gcry_log_debug(40373,$vararg_buffer14);
+ $87 = $rc;
+ STACKTOP = sp;return ($87|0);
+}
+function _rsa_verify($s_sig,$s_data,$keyparms) {
+ $s_sig = $s_sig|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $ctx = 0, $data = 0, $l1 = 0, $pk = 0, $rc = 0, $result = 0, $sig = 0;
+ var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 56|0;
+ $l1 = sp + 48|0;
+ $sig = sp + 44|0;
+ $data = sp + 40|0;
+ $pk = sp + 32|0;
+ $0 = $s_sig;
+ $1 = $s_data;
+ $2 = $keyparms;
+ HEAP32[$l1>>2] = 0;
+ HEAP32[$sig>>2] = 0;
+ HEAP32[$data>>2] = 0;
+ ;HEAP32[$pk>>2]=0|0;HEAP32[$pk+4>>2]=0|0;
+ $result = 0;
+ $3 = $2;
+ $4 = (_rsa_get_nbits($3)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,3,$4);
+ $5 = $1;
+ $6 = (__gcry_pk_util_data_to_mpi($5,$data,$ctx)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = ($7|0)!=(0);
+ do {
+ if (!($8)) {
+ $9 = (__gcry_get_debug_flag(1)|0);
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(40394,$11);
+ }
+ $12 = HEAP32[$data>>2]|0;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = HEAP32[$data>>2]|0;
+ $15 = ((($14)) + 12|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 & 4;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $rc = 79;
+ break;
+ }
+ }
+ $19 = $0;
+ $20 = (__gcry_pk_util_preparse_sigval($19,7712,$l1,0)|0);
+ $rc = $20;
+ $21 = $rc;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ $23 = HEAP32[$l1>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $sig;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $24 = (__gcry_sexp_extract_param($23,0,39395,$vararg_buffer)|0);
+ $rc = $24;
+ $25 = $rc;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ $27 = (__gcry_get_debug_flag(1)|0);
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ $29 = HEAP32[$sig>>2]|0;
+ __gcry_log_printmpi(40410,$29);
+ }
+ $30 = $2;
+ $31 = ((($pk)) + 4|0);
+ HEAP32[$vararg_buffer2>>2] = $pk;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $31;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = 0;
+ $32 = (__gcry_sexp_extract_param($30,0,39383,$vararg_buffer2)|0);
+ $rc = $32;
+ $33 = $rc;
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = (__gcry_get_debug_flag(1)|0);
+ $36 = ($35|0)!=(0);
+ if ($36) {
+ $37 = HEAP32[$pk>>2]|0;
+ __gcry_log_printmpi(40426,$37);
+ $38 = ((($pk)) + 4|0);
+ $39 = HEAP32[$38>>2]|0;
+ __gcry_log_printmpi(40442,$39);
+ }
+ $40 = (__gcry_mpi_new(0)|0);
+ $result = $40;
+ $41 = $result;
+ $42 = HEAP32[$sig>>2]|0;
+ _public($41,$42,$pk);
+ $43 = (__gcry_get_debug_flag(1)|0);
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ $45 = $result;
+ __gcry_log_printmpi(40458,$45);
+ }
+ $46 = ((($ctx)) + 32|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(0|0);
+ if ($48) {
+ $49 = ((($ctx)) + 32|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $result;
+ $52 = (FUNCTION_TABLE_iii[$50 & 127]($ctx,$51)|0);
+ $rc = $52;
+ break;
+ } else {
+ $53 = $result;
+ $54 = HEAP32[$data>>2]|0;
+ $55 = (__gcry_mpi_cmp($53,$54)|0);
+ $56 = ($55|0)!=(0);
+ $57 = $56 ? 8 : 0;
+ $rc = $57;
+ break;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $58 = $result;
+ __gcry_mpi_release($58);
+ $59 = HEAP32[$pk>>2]|0;
+ __gcry_mpi_release($59);
+ $60 = ((($pk)) + 4|0);
+ $61 = HEAP32[$60>>2]|0;
+ __gcry_mpi_release($61);
+ $62 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($62);
+ $63 = HEAP32[$sig>>2]|0;
+ __gcry_mpi_release($63);
+ $64 = HEAP32[$l1>>2]|0;
+ __gcry_sexp_release($64);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $65 = (__gcry_get_debug_flag(1)|0);
+ $66 = ($65|0)!=(0);
+ if (!($66)) {
+ $72 = $rc;
+ STACKTOP = sp;return ($72|0);
+ }
+ $67 = $rc;
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ $69 = $rc;
+ $70 = (_gpg_strerror($69)|0);
+ $71 = $70;
+ } else {
+ $71 = 49823;
+ }
+ HEAP32[$vararg_buffer7>>2] = $71;
+ __gcry_log_debug(40474,$vararg_buffer7);
+ $72 = $rc;
+ STACKTOP = sp;return ($72|0);
+}
+function _run_selftests_1333($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $cond = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ $cond = ($3|0)==(1);
+ if ($cond) {
+ $4 = $2;
+ $5 = (_selftests_rsa($4)|0);
+ $ec = $5;
+ } else {
+ $ec = 4;
+ }
+ $6 = $ec;
+ STACKTOP = sp;return ($6|0);
+}
+function _selftests_rsa($report) {
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $errtxt = 0;
+ var $pkey = 0, $skey = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $skey = sp + 4|0;
+ $pkey = sp;
+ $1 = $report;
+ HEAP32[$skey>>2] = 0;
+ HEAP32[$pkey>>2] = 0;
+ $what = 40495;
+ $2 = (_strlen(40503)|0);
+ $3 = (__gcry_sexp_sscan($skey,0,40503,$2)|0);
+ $err = $3;
+ $4 = $err;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = (_strlen(41533)|0);
+ $7 = (__gcry_sexp_sscan($pkey,0,41533,$6)|0);
+ $err = $7;
+ }
+ $8 = $err;
+ $9 = ($8|0)!=(0);
+ do {
+ if ($9) {
+ $10 = $err;
+ $11 = (__gcry_strerror_1335($10)|0);
+ $errtxt = $11;
+ } else {
+ $what = 41850;
+ $12 = HEAP32[$skey>>2]|0;
+ $13 = (__gcry_pk_testkey($12)|0);
+ $err = $13;
+ $14 = $err;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = $err;
+ $17 = (__gcry_strerror_1335($16)|0);
+ $errtxt = $17;
+ break;
+ }
+ $what = 41866;
+ $18 = HEAP32[$pkey>>2]|0;
+ $19 = HEAP32[$skey>>2]|0;
+ $20 = (_selftest_sign_1024($18,$19)|0);
+ $errtxt = $20;
+ $21 = $errtxt;
+ $22 = ($21|0)!=(0|0);
+ if (!($22)) {
+ $what = 42102;
+ $23 = HEAP32[$pkey>>2]|0;
+ $24 = HEAP32[$skey>>2]|0;
+ $25 = (_selftest_encr_1024($23,$24)|0);
+ $errtxt = $25;
+ $26 = $errtxt;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $28 = HEAP32[$pkey>>2]|0;
+ __gcry_sexp_release($28);
+ $29 = HEAP32[$skey>>2]|0;
+ __gcry_sexp_release($29);
+ $0 = 0;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ }
+ }
+ } while(0);
+ $30 = HEAP32[$pkey>>2]|0;
+ __gcry_sexp_release($30);
+ $31 = HEAP32[$skey>>2]|0;
+ __gcry_sexp_release($31);
+ $32 = $1;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ $34 = $1;
+ $35 = $what;
+ $36 = $errtxt;
+ FUNCTION_TABLE_viiii[$34 & 63](49859,1,$35,$36);
+ }
+ $0 = 50;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+}
+function __gcry_strerror_1335($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (_gpg_strerror($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _selftest_sign_1024($pkey,$skey) {
+ $pkey = $pkey|0;
+ $skey = $skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $data_bad = 0, $err = 0, $errtxt = 0, $sig = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $data = sp + 8|0;
+ $data_bad = sp + 4|0;
+ $sig = sp;
+ $0 = $pkey;
+ $1 = $skey;
+ $errtxt = 0;
+ HEAP32[$data>>2] = 0;
+ HEAP32[$data_bad>>2] = 0;
+ HEAP32[$sig>>2] = 0;
+ $2 = (_strlen(41871)|0);
+ $3 = (__gcry_sexp_sscan($data,0,41871,$2)|0);
+ $err = $3;
+ $4 = $err;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = (_strlen(41947)|0);
+ $7 = (__gcry_sexp_sscan($data_bad,0,41947,$6)|0);
+ $err = $7;
+ }
+ $8 = $err;
+ $9 = ($8|0)!=(0);
+ do {
+ if ($9) {
+ $errtxt = 42023;
+ } else {
+ $10 = HEAP32[$data>>2]|0;
+ $11 = $1;
+ $12 = (__gcry_pk_sign($sig,$10,$11)|0);
+ $err = $12;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $errtxt = 42046;
+ break;
+ }
+ $15 = HEAP32[$sig>>2]|0;
+ $16 = HEAP32[$data>>2]|0;
+ $17 = $0;
+ $18 = (__gcry_pk_verify($15,$16,$17)|0);
+ $err = $18;
+ $19 = $err;
+ $20 = ($19|0)!=(0);
+ if ($20) {
+ $errtxt = 42061;
+ break;
+ }
+ $21 = HEAP32[$sig>>2]|0;
+ $22 = HEAP32[$data_bad>>2]|0;
+ $23 = $0;
+ $24 = (__gcry_pk_verify($21,$22,$23)|0);
+ $err = $24;
+ $25 = $err;
+ $26 = (_gcry_err_code_1341($25)|0);
+ $27 = ($26|0)!=(8);
+ if ($27) {
+ $errtxt = 42075;
+ }
+ }
+ } while(0);
+ $28 = HEAP32[$sig>>2]|0;
+ __gcry_sexp_release($28);
+ $29 = HEAP32[$data_bad>>2]|0;
+ __gcry_sexp_release($29);
+ $30 = HEAP32[$data>>2]|0;
+ __gcry_sexp_release($30);
+ $31 = $errtxt;
+ STACKTOP = sp;return ($31|0);
+}
+function _gcry_err_code_1341($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (_gpg_err_code_1342($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_code_1342($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = $1 & 65535;
+ STACKTOP = sp;return ($2|0);
+}
+function _selftest_encr_1024($pkey,$skey) {
+ $pkey = $pkey|0;
+ $skey = $skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ciphertext = 0, $decr = 0, $decr_plaintext = 0, $encr = 0, $err = 0, $errtxt = 0, $nbits = 0, $plain = 0, $plaintext = 0, $tmplist = 0, $vararg_buffer = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $plain = sp + 24|0;
+ $encr = sp + 20|0;
+ $decr = sp + 12|0;
+ $0 = $pkey;
+ $1 = $skey;
+ $errtxt = 0;
+ $nbits = 1000;
+ $plaintext = 0;
+ HEAP32[$plain>>2] = 0;
+ HEAP32[$encr>>2] = 0;
+ $ciphertext = 0;
+ HEAP32[$decr>>2] = 0;
+ $decr_plaintext = 0;
+ $tmplist = 0;
+ $2 = (__gcry_mpi_new(1000)|0);
+ $plaintext = $2;
+ $3 = $plaintext;
+ __gcry_mpi_randomize($3,1000,0);
+ $4 = $plaintext;
+ HEAP32[$vararg_buffer>>2] = $4;
+ $5 = (__gcry_sexp_build($plain,0,42110,$vararg_buffer)|0);
+ $err = $5;
+ $6 = $err;
+ $7 = ($6|0)!=(0);
+ do {
+ if ($7) {
+ $errtxt = 42023;
+ } else {
+ $8 = HEAP32[$plain>>2]|0;
+ $9 = $0;
+ $10 = (__gcry_pk_encrypt($encr,$8,$9)|0);
+ $err = $10;
+ $11 = $err;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $errtxt = 42140;
+ break;
+ }
+ $13 = HEAP32[$encr>>2]|0;
+ $14 = (_extract_a_from_sexp($13)|0);
+ $ciphertext = $14;
+ $15 = $ciphertext;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $errtxt = 42163;
+ break;
+ }
+ $17 = $plaintext;
+ $18 = $ciphertext;
+ $19 = (__gcry_mpi_cmp($17,$18)|0);
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ $errtxt = 42196;
+ break;
+ }
+ $21 = HEAP32[$encr>>2]|0;
+ $22 = $1;
+ $23 = (__gcry_pk_decrypt($decr,$21,$22)|0);
+ $err = $23;
+ $24 = $err;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $errtxt = 42225;
+ break;
+ }
+ $26 = HEAP32[$decr>>2]|0;
+ $27 = (__gcry_sexp_find_token($26,42240,0)|0);
+ $tmplist = $27;
+ $28 = $tmplist;
+ $29 = ($28|0)!=(0|0);
+ if ($29) {
+ $30 = $tmplist;
+ $31 = (__gcry_sexp_nth_mpi($30,1,5)|0);
+ $decr_plaintext = $31;
+ } else {
+ $32 = HEAP32[$decr>>2]|0;
+ $33 = (__gcry_sexp_nth_mpi($32,0,5)|0);
+ $decr_plaintext = $33;
+ }
+ $34 = $decr_plaintext;
+ $35 = ($34|0)!=(0|0);
+ if (!($35)) {
+ $errtxt = 42246;
+ break;
+ }
+ $36 = $plaintext;
+ $37 = $decr_plaintext;
+ $38 = (__gcry_mpi_cmp($36,$37)|0);
+ $39 = ($38|0)!=(0);
+ if ($39) {
+ $errtxt = 42276;
+ }
+ }
+ } while(0);
+ $40 = $tmplist;
+ __gcry_sexp_release($40);
+ $41 = $decr_plaintext;
+ __gcry_mpi_release($41);
+ $42 = HEAP32[$decr>>2]|0;
+ __gcry_sexp_release($42);
+ $43 = $ciphertext;
+ __gcry_mpi_release($43);
+ $44 = HEAP32[$encr>>2]|0;
+ __gcry_sexp_release($44);
+ $45 = HEAP32[$plain>>2]|0;
+ __gcry_sexp_release($45);
+ $46 = $plaintext;
+ __gcry_mpi_release($46);
+ $47 = $errtxt;
+ STACKTOP = sp;return ($47|0);
+}
+function _extract_a_from_sexp($encr_data) {
+ $encr_data = $encr_data|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $a_value = 0, $l1 = 0, $l2 = 0, $l3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $encr_data;
+ $2 = $1;
+ $3 = (__gcry_sexp_find_token($2,42155,0)|0);
+ $l1 = $3;
+ $4 = $l1;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if ($5) {
+ $6 = $l1;
+ $7 = (__gcry_sexp_find_token($6,39342,0)|0);
+ $l2 = $7;
+ $8 = $l1;
+ __gcry_sexp_release($8);
+ $9 = $l2;
+ $10 = ($9|0)!=(0|0);
+ if (!($10)) {
+ $0 = 0;
+ break;
+ }
+ $11 = $l2;
+ $12 = (__gcry_sexp_find_token($11,39393,0)|0);
+ $l3 = $12;
+ $13 = $l2;
+ __gcry_sexp_release($13);
+ $14 = $l3;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $l3;
+ $17 = (__gcry_sexp_nth_mpi($16,1,0)|0);
+ $a_value = $17;
+ $18 = $l3;
+ __gcry_sexp_release($18);
+ $19 = $a_value;
+ $0 = $19;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ } else {
+ $0 = 0;
+ }
+ } while(0);
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+}
+function _compute_keygrip($md,$keyparam) {
+ $md = $md|0;
+ $keyparam = $keyparam|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $data = 0, $datalen = 0, $l1 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $datalen = sp;
+ $1 = $md;
+ $2 = $keyparam;
+ $3 = $2;
+ $4 = (__gcry_sexp_find_token($3,39397,1)|0);
+ $l1 = $4;
+ $5 = $l1;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ $0 = 68;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+ }
+ $7 = $l1;
+ $8 = (__gcry_sexp_nth_data($7,1,$datalen)|0);
+ $data = $8;
+ $9 = $data;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $12 = $1;
+ $13 = $data;
+ $14 = HEAP32[$datalen>>2]|0;
+ __gcry_md_write($12,$13,$14);
+ $15 = $l1;
+ __gcry_sexp_release($15);
+ $0 = 0;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+ } else {
+ $11 = $l1;
+ __gcry_sexp_release($11);
+ $0 = 68;
+ $16 = $0;
+ STACKTOP = sp;return ($16|0);
+ }
+ return (0)|0;
+}
+function _sha1_init($context,$flags) {
+ $context = $context|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $features = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $flags;
+ $2 = $0;
+ $hd = $2;
+ $3 = (__gcry_get_hw_features()|0);
+ $features = $3;
+ $4 = $hd;
+ $5 = ((($4)) + 160|0);
+ HEAP32[$5>>2] = 1732584193;
+ $6 = $hd;
+ $7 = ((($6)) + 164|0);
+ HEAP32[$7>>2] = -271733879;
+ $8 = $hd;
+ $9 = ((($8)) + 168|0);
+ HEAP32[$9>>2] = -1732584194;
+ $10 = $hd;
+ $11 = ((($10)) + 172|0);
+ HEAP32[$11>>2] = 271733878;
+ $12 = $hd;
+ $13 = ((($12)) + 176|0);
+ HEAP32[$13>>2] = -1009589776;
+ $14 = $hd;
+ $15 = ((($14)) + 128|0);
+ $16 = $15;
+ $17 = $16;
+ HEAP32[$17>>2] = 0;
+ $18 = (($16) + 4)|0;
+ $19 = $18;
+ HEAP32[$19>>2] = 0;
+ $20 = $hd;
+ $21 = ((($20)) + 136|0);
+ $22 = $21;
+ $23 = $22;
+ HEAP32[$23>>2] = 0;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = 0;
+ $26 = $hd;
+ $27 = ((($26)) + 144|0);
+ HEAP32[$27>>2] = 0;
+ $28 = $hd;
+ $29 = ((($28)) + 148|0);
+ HEAP32[$29>>2] = 64;
+ $30 = $hd;
+ $31 = ((($30)) + 152|0);
+ HEAP32[$31>>2] = 74;
+ STACKTOP = sp;return;
+}
+function _transform_1369($ctx,$data,$nblks) {
+ $ctx = $ctx|0;
+ $data = $data|0;
+ $nblks = $nblks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $data;
+ $2 = $nblks;
+ $3 = $0;
+ $hd = $3;
+ while(1) {
+ $4 = $hd;
+ $5 = $1;
+ $6 = (_transform_blk_1370($4,$5)|0);
+ $burn = $6;
+ $7 = $1;
+ $8 = ((($7)) + 64|0);
+ $1 = $8;
+ $9 = $2;
+ $10 = (($9) + -1)|0;
+ $2 = $10;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ break;
+ }
+ }
+ $12 = $burn;
+ STACKTOP = sp;return ($12|0);
+}
+function _transform_blk_1370($ctx,$data) {
+ $ctx = $ctx|0;
+ $data = $data|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
+ var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
+ var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
+ var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0;
+ var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0;
+ var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
+ var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0;
+ var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0;
+ var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
+ var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0;
+ var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
+ var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0;
+ var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0;
+ var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
+ var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0;
+ var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
+ var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0;
+ var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
+ var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0;
+ var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0;
+ var $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0;
+ var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0;
+ var $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0;
+ var $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0;
+ var $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0;
+ var $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0;
+ var $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0;
+ var $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0;
+ var $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0;
+ var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0;
+ var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0;
+ var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0;
+ var $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0;
+ var $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0;
+ var $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0;
+ var $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0;
+ var $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0;
+ var $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0;
+ var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0;
+ var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0;
+ var $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0;
+ var $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0;
+ var $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0;
+ var $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0;
+ var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0;
+ var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0;
+ var $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0;
+ var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0;
+ var $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0;
+ var $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0;
+ var $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0;
+ var $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0;
+ var $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0;
+ var $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0;
+ var $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0;
+ var $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0;
+ var $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0;
+ var $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0;
+ var $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0;
+ var $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0;
+ var $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0;
+ var $2221 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
+ var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
+ var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0;
+ var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0;
+ var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0;
+ var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0;
+ var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0;
+ var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0;
+ var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0;
+ var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0;
+ var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0;
+ var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0;
+ var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0;
+ var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0;
+ var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0;
+ var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0;
+ var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0;
+ var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0;
+ var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0;
+ var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0;
+ var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0;
+ var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0;
+ var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0;
+ var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0;
+ var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0;
+ var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0;
+ var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0;
+ var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0;
+ var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0;
+ var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0;
+ var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0;
+ var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0;
+ var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0;
+ var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0;
+ var $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0;
+ var $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0;
+ var $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0;
+ var $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0;
+ var $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0;
+ var $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0;
+ var $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0;
+ var $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0;
+ var $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0;
+ var $998 = 0, $999 = 0, $a = 0, $b = 0, $c = 0, $d = 0, $e = 0, $hd = 0, $idata = 0, $tm = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $x = sp;
+ $0 = $ctx;
+ $1 = $data;
+ $2 = $0;
+ $hd = $2;
+ $3 = $1;
+ $idata = $3;
+ $4 = $hd;
+ $5 = ((($4)) + 160|0);
+ $6 = HEAP32[$5>>2]|0;
+ $a = $6;
+ $7 = $hd;
+ $8 = ((($7)) + 164|0);
+ $9 = HEAP32[$8>>2]|0;
+ $b = $9;
+ $10 = $hd;
+ $11 = ((($10)) + 168|0);
+ $12 = HEAP32[$11>>2]|0;
+ $c = $12;
+ $13 = $hd;
+ $14 = ((($13)) + 172|0);
+ $15 = HEAP32[$14>>2]|0;
+ $d = $15;
+ $16 = $hd;
+ $17 = ((($16)) + 176|0);
+ $18 = HEAP32[$17>>2]|0;
+ $e = $18;
+ $19 = $a;
+ $20 = (_rol_1371($19,5)|0);
+ $21 = $d;
+ $22 = $b;
+ $23 = $c;
+ $24 = $d;
+ $25 = $23 ^ $24;
+ $26 = $22 & $25;
+ $27 = $21 ^ $26;
+ $28 = (($20) + ($27))|0;
+ $29 = (($28) + 1518500249)|0;
+ $30 = $idata;
+ $31 = (_buf_get_be32($30)|0);
+ HEAP32[$x>>2] = $31;
+ $32 = (($29) + ($31))|0;
+ $33 = $e;
+ $34 = (($33) + ($32))|0;
+ $e = $34;
+ $35 = $b;
+ $36 = (_rol_1371($35,30)|0);
+ $b = $36;
+ $37 = $e;
+ $38 = (_rol_1371($37,5)|0);
+ $39 = $c;
+ $40 = $a;
+ $41 = $b;
+ $42 = $c;
+ $43 = $41 ^ $42;
+ $44 = $40 & $43;
+ $45 = $39 ^ $44;
+ $46 = (($38) + ($45))|0;
+ $47 = (($46) + 1518500249)|0;
+ $48 = $idata;
+ $49 = ((($48)) + 4|0);
+ $50 = (_buf_get_be32($49)|0);
+ $51 = ((($x)) + 4|0);
+ HEAP32[$51>>2] = $50;
+ $52 = (($47) + ($50))|0;
+ $53 = $d;
+ $54 = (($53) + ($52))|0;
+ $d = $54;
+ $55 = $a;
+ $56 = (_rol_1371($55,30)|0);
+ $a = $56;
+ $57 = $d;
+ $58 = (_rol_1371($57,5)|0);
+ $59 = $b;
+ $60 = $e;
+ $61 = $a;
+ $62 = $b;
+ $63 = $61 ^ $62;
+ $64 = $60 & $63;
+ $65 = $59 ^ $64;
+ $66 = (($58) + ($65))|0;
+ $67 = (($66) + 1518500249)|0;
+ $68 = $idata;
+ $69 = ((($68)) + 8|0);
+ $70 = (_buf_get_be32($69)|0);
+ $71 = ((($x)) + 8|0);
+ HEAP32[$71>>2] = $70;
+ $72 = (($67) + ($70))|0;
+ $73 = $c;
+ $74 = (($73) + ($72))|0;
+ $c = $74;
+ $75 = $e;
+ $76 = (_rol_1371($75,30)|0);
+ $e = $76;
+ $77 = $c;
+ $78 = (_rol_1371($77,5)|0);
+ $79 = $a;
+ $80 = $d;
+ $81 = $e;
+ $82 = $a;
+ $83 = $81 ^ $82;
+ $84 = $80 & $83;
+ $85 = $79 ^ $84;
+ $86 = (($78) + ($85))|0;
+ $87 = (($86) + 1518500249)|0;
+ $88 = $idata;
+ $89 = ((($88)) + 12|0);
+ $90 = (_buf_get_be32($89)|0);
+ $91 = ((($x)) + 12|0);
+ HEAP32[$91>>2] = $90;
+ $92 = (($87) + ($90))|0;
+ $93 = $b;
+ $94 = (($93) + ($92))|0;
+ $b = $94;
+ $95 = $d;
+ $96 = (_rol_1371($95,30)|0);
+ $d = $96;
+ $97 = $b;
+ $98 = (_rol_1371($97,5)|0);
+ $99 = $e;
+ $100 = $c;
+ $101 = $d;
+ $102 = $e;
+ $103 = $101 ^ $102;
+ $104 = $100 & $103;
+ $105 = $99 ^ $104;
+ $106 = (($98) + ($105))|0;
+ $107 = (($106) + 1518500249)|0;
+ $108 = $idata;
+ $109 = ((($108)) + 16|0);
+ $110 = (_buf_get_be32($109)|0);
+ $111 = ((($x)) + 16|0);
+ HEAP32[$111>>2] = $110;
+ $112 = (($107) + ($110))|0;
+ $113 = $a;
+ $114 = (($113) + ($112))|0;
+ $a = $114;
+ $115 = $c;
+ $116 = (_rol_1371($115,30)|0);
+ $c = $116;
+ $117 = $a;
+ $118 = (_rol_1371($117,5)|0);
+ $119 = $d;
+ $120 = $b;
+ $121 = $c;
+ $122 = $d;
+ $123 = $121 ^ $122;
+ $124 = $120 & $123;
+ $125 = $119 ^ $124;
+ $126 = (($118) + ($125))|0;
+ $127 = (($126) + 1518500249)|0;
+ $128 = $idata;
+ $129 = ((($128)) + 20|0);
+ $130 = (_buf_get_be32($129)|0);
+ $131 = ((($x)) + 20|0);
+ HEAP32[$131>>2] = $130;
+ $132 = (($127) + ($130))|0;
+ $133 = $e;
+ $134 = (($133) + ($132))|0;
+ $e = $134;
+ $135 = $b;
+ $136 = (_rol_1371($135,30)|0);
+ $b = $136;
+ $137 = $e;
+ $138 = (_rol_1371($137,5)|0);
+ $139 = $c;
+ $140 = $a;
+ $141 = $b;
+ $142 = $c;
+ $143 = $141 ^ $142;
+ $144 = $140 & $143;
+ $145 = $139 ^ $144;
+ $146 = (($138) + ($145))|0;
+ $147 = (($146) + 1518500249)|0;
+ $148 = $idata;
+ $149 = ((($148)) + 24|0);
+ $150 = (_buf_get_be32($149)|0);
+ $151 = ((($x)) + 24|0);
+ HEAP32[$151>>2] = $150;
+ $152 = (($147) + ($150))|0;
+ $153 = $d;
+ $154 = (($153) + ($152))|0;
+ $d = $154;
+ $155 = $a;
+ $156 = (_rol_1371($155,30)|0);
+ $a = $156;
+ $157 = $d;
+ $158 = (_rol_1371($157,5)|0);
+ $159 = $b;
+ $160 = $e;
+ $161 = $a;
+ $162 = $b;
+ $163 = $161 ^ $162;
+ $164 = $160 & $163;
+ $165 = $159 ^ $164;
+ $166 = (($158) + ($165))|0;
+ $167 = (($166) + 1518500249)|0;
+ $168 = $idata;
+ $169 = ((($168)) + 28|0);
+ $170 = (_buf_get_be32($169)|0);
+ $171 = ((($x)) + 28|0);
+ HEAP32[$171>>2] = $170;
+ $172 = (($167) + ($170))|0;
+ $173 = $c;
+ $174 = (($173) + ($172))|0;
+ $c = $174;
+ $175 = $e;
+ $176 = (_rol_1371($175,30)|0);
+ $e = $176;
+ $177 = $c;
+ $178 = (_rol_1371($177,5)|0);
+ $179 = $a;
+ $180 = $d;
+ $181 = $e;
+ $182 = $a;
+ $183 = $181 ^ $182;
+ $184 = $180 & $183;
+ $185 = $179 ^ $184;
+ $186 = (($178) + ($185))|0;
+ $187 = (($186) + 1518500249)|0;
+ $188 = $idata;
+ $189 = ((($188)) + 32|0);
+ $190 = (_buf_get_be32($189)|0);
+ $191 = ((($x)) + 32|0);
+ HEAP32[$191>>2] = $190;
+ $192 = (($187) + ($190))|0;
+ $193 = $b;
+ $194 = (($193) + ($192))|0;
+ $b = $194;
+ $195 = $d;
+ $196 = (_rol_1371($195,30)|0);
+ $d = $196;
+ $197 = $b;
+ $198 = (_rol_1371($197,5)|0);
+ $199 = $e;
+ $200 = $c;
+ $201 = $d;
+ $202 = $e;
+ $203 = $201 ^ $202;
+ $204 = $200 & $203;
+ $205 = $199 ^ $204;
+ $206 = (($198) + ($205))|0;
+ $207 = (($206) + 1518500249)|0;
+ $208 = $idata;
+ $209 = ((($208)) + 36|0);
+ $210 = (_buf_get_be32($209)|0);
+ $211 = ((($x)) + 36|0);
+ HEAP32[$211>>2] = $210;
+ $212 = (($207) + ($210))|0;
+ $213 = $a;
+ $214 = (($213) + ($212))|0;
+ $a = $214;
+ $215 = $c;
+ $216 = (_rol_1371($215,30)|0);
+ $c = $216;
+ $217 = $a;
+ $218 = (_rol_1371($217,5)|0);
+ $219 = $d;
+ $220 = $b;
+ $221 = $c;
+ $222 = $d;
+ $223 = $221 ^ $222;
+ $224 = $220 & $223;
+ $225 = $219 ^ $224;
+ $226 = (($218) + ($225))|0;
+ $227 = (($226) + 1518500249)|0;
+ $228 = $idata;
+ $229 = ((($228)) + 40|0);
+ $230 = (_buf_get_be32($229)|0);
+ $231 = ((($x)) + 40|0);
+ HEAP32[$231>>2] = $230;
+ $232 = (($227) + ($230))|0;
+ $233 = $e;
+ $234 = (($233) + ($232))|0;
+ $e = $234;
+ $235 = $b;
+ $236 = (_rol_1371($235,30)|0);
+ $b = $236;
+ $237 = $e;
+ $238 = (_rol_1371($237,5)|0);
+ $239 = $c;
+ $240 = $a;
+ $241 = $b;
+ $242 = $c;
+ $243 = $241 ^ $242;
+ $244 = $240 & $243;
+ $245 = $239 ^ $244;
+ $246 = (($238) + ($245))|0;
+ $247 = (($246) + 1518500249)|0;
+ $248 = $idata;
+ $249 = ((($248)) + 44|0);
+ $250 = (_buf_get_be32($249)|0);
+ $251 = ((($x)) + 44|0);
+ HEAP32[$251>>2] = $250;
+ $252 = (($247) + ($250))|0;
+ $253 = $d;
+ $254 = (($253) + ($252))|0;
+ $d = $254;
+ $255 = $a;
+ $256 = (_rol_1371($255,30)|0);
+ $a = $256;
+ $257 = $d;
+ $258 = (_rol_1371($257,5)|0);
+ $259 = $b;
+ $260 = $e;
+ $261 = $a;
+ $262 = $b;
+ $263 = $261 ^ $262;
+ $264 = $260 & $263;
+ $265 = $259 ^ $264;
+ $266 = (($258) + ($265))|0;
+ $267 = (($266) + 1518500249)|0;
+ $268 = $idata;
+ $269 = ((($268)) + 48|0);
+ $270 = (_buf_get_be32($269)|0);
+ $271 = ((($x)) + 48|0);
+ HEAP32[$271>>2] = $270;
+ $272 = (($267) + ($270))|0;
+ $273 = $c;
+ $274 = (($273) + ($272))|0;
+ $c = $274;
+ $275 = $e;
+ $276 = (_rol_1371($275,30)|0);
+ $e = $276;
+ $277 = $c;
+ $278 = (_rol_1371($277,5)|0);
+ $279 = $a;
+ $280 = $d;
+ $281 = $e;
+ $282 = $a;
+ $283 = $281 ^ $282;
+ $284 = $280 & $283;
+ $285 = $279 ^ $284;
+ $286 = (($278) + ($285))|0;
+ $287 = (($286) + 1518500249)|0;
+ $288 = $idata;
+ $289 = ((($288)) + 52|0);
+ $290 = (_buf_get_be32($289)|0);
+ $291 = ((($x)) + 52|0);
+ HEAP32[$291>>2] = $290;
+ $292 = (($287) + ($290))|0;
+ $293 = $b;
+ $294 = (($293) + ($292))|0;
+ $b = $294;
+ $295 = $d;
+ $296 = (_rol_1371($295,30)|0);
+ $d = $296;
+ $297 = $b;
+ $298 = (_rol_1371($297,5)|0);
+ $299 = $e;
+ $300 = $c;
+ $301 = $d;
+ $302 = $e;
+ $303 = $301 ^ $302;
+ $304 = $300 & $303;
+ $305 = $299 ^ $304;
+ $306 = (($298) + ($305))|0;
+ $307 = (($306) + 1518500249)|0;
+ $308 = $idata;
+ $309 = ((($308)) + 56|0);
+ $310 = (_buf_get_be32($309)|0);
+ $311 = ((($x)) + 56|0);
+ HEAP32[$311>>2] = $310;
+ $312 = (($307) + ($310))|0;
+ $313 = $a;
+ $314 = (($313) + ($312))|0;
+ $a = $314;
+ $315 = $c;
+ $316 = (_rol_1371($315,30)|0);
+ $c = $316;
+ $317 = $a;
+ $318 = (_rol_1371($317,5)|0);
+ $319 = $d;
+ $320 = $b;
+ $321 = $c;
+ $322 = $d;
+ $323 = $321 ^ $322;
+ $324 = $320 & $323;
+ $325 = $319 ^ $324;
+ $326 = (($318) + ($325))|0;
+ $327 = (($326) + 1518500249)|0;
+ $328 = $idata;
+ $329 = ((($328)) + 60|0);
+ $330 = (_buf_get_be32($329)|0);
+ $331 = ((($x)) + 60|0);
+ HEAP32[$331>>2] = $330;
+ $332 = (($327) + ($330))|0;
+ $333 = $e;
+ $334 = (($333) + ($332))|0;
+ $e = $334;
+ $335 = $b;
+ $336 = (_rol_1371($335,30)|0);
+ $b = $336;
+ $337 = $e;
+ $338 = (_rol_1371($337,5)|0);
+ $339 = $c;
+ $340 = $a;
+ $341 = $b;
+ $342 = $c;
+ $343 = $341 ^ $342;
+ $344 = $340 & $343;
+ $345 = $339 ^ $344;
+ $346 = (($338) + ($345))|0;
+ $347 = (($346) + 1518500249)|0;
+ $348 = HEAP32[$x>>2]|0;
+ $349 = ((($x)) + 8|0);
+ $350 = HEAP32[$349>>2]|0;
+ $351 = $348 ^ $350;
+ $352 = ((($x)) + 32|0);
+ $353 = HEAP32[$352>>2]|0;
+ $354 = $351 ^ $353;
+ $355 = ((($x)) + 52|0);
+ $356 = HEAP32[$355>>2]|0;
+ $357 = $354 ^ $356;
+ $tm = $357;
+ $358 = $tm;
+ $359 = (_rol_1371($358,1)|0);
+ HEAP32[$x>>2] = $359;
+ $360 = (($347) + ($359))|0;
+ $361 = $d;
+ $362 = (($361) + ($360))|0;
+ $d = $362;
+ $363 = $a;
+ $364 = (_rol_1371($363,30)|0);
+ $a = $364;
+ $365 = $d;
+ $366 = (_rol_1371($365,5)|0);
+ $367 = $b;
+ $368 = $e;
+ $369 = $a;
+ $370 = $b;
+ $371 = $369 ^ $370;
+ $372 = $368 & $371;
+ $373 = $367 ^ $372;
+ $374 = (($366) + ($373))|0;
+ $375 = (($374) + 1518500249)|0;
+ $376 = ((($x)) + 4|0);
+ $377 = HEAP32[$376>>2]|0;
+ $378 = ((($x)) + 12|0);
+ $379 = HEAP32[$378>>2]|0;
+ $380 = $377 ^ $379;
+ $381 = ((($x)) + 36|0);
+ $382 = HEAP32[$381>>2]|0;
+ $383 = $380 ^ $382;
+ $384 = ((($x)) + 56|0);
+ $385 = HEAP32[$384>>2]|0;
+ $386 = $383 ^ $385;
+ $tm = $386;
+ $387 = $tm;
+ $388 = (_rol_1371($387,1)|0);
+ $389 = ((($x)) + 4|0);
+ HEAP32[$389>>2] = $388;
+ $390 = (($375) + ($388))|0;
+ $391 = $c;
+ $392 = (($391) + ($390))|0;
+ $c = $392;
+ $393 = $e;
+ $394 = (_rol_1371($393,30)|0);
+ $e = $394;
+ $395 = $c;
+ $396 = (_rol_1371($395,5)|0);
+ $397 = $a;
+ $398 = $d;
+ $399 = $e;
+ $400 = $a;
+ $401 = $399 ^ $400;
+ $402 = $398 & $401;
+ $403 = $397 ^ $402;
+ $404 = (($396) + ($403))|0;
+ $405 = (($404) + 1518500249)|0;
+ $406 = ((($x)) + 8|0);
+ $407 = HEAP32[$406>>2]|0;
+ $408 = ((($x)) + 16|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = $407 ^ $409;
+ $411 = ((($x)) + 40|0);
+ $412 = HEAP32[$411>>2]|0;
+ $413 = $410 ^ $412;
+ $414 = ((($x)) + 60|0);
+ $415 = HEAP32[$414>>2]|0;
+ $416 = $413 ^ $415;
+ $tm = $416;
+ $417 = $tm;
+ $418 = (_rol_1371($417,1)|0);
+ $419 = ((($x)) + 8|0);
+ HEAP32[$419>>2] = $418;
+ $420 = (($405) + ($418))|0;
+ $421 = $b;
+ $422 = (($421) + ($420))|0;
+ $b = $422;
+ $423 = $d;
+ $424 = (_rol_1371($423,30)|0);
+ $d = $424;
+ $425 = $b;
+ $426 = (_rol_1371($425,5)|0);
+ $427 = $e;
+ $428 = $c;
+ $429 = $d;
+ $430 = $e;
+ $431 = $429 ^ $430;
+ $432 = $428 & $431;
+ $433 = $427 ^ $432;
+ $434 = (($426) + ($433))|0;
+ $435 = (($434) + 1518500249)|0;
+ $436 = ((($x)) + 12|0);
+ $437 = HEAP32[$436>>2]|0;
+ $438 = ((($x)) + 20|0);
+ $439 = HEAP32[$438>>2]|0;
+ $440 = $437 ^ $439;
+ $441 = ((($x)) + 44|0);
+ $442 = HEAP32[$441>>2]|0;
+ $443 = $440 ^ $442;
+ $444 = HEAP32[$x>>2]|0;
+ $445 = $443 ^ $444;
+ $tm = $445;
+ $446 = $tm;
+ $447 = (_rol_1371($446,1)|0);
+ $448 = ((($x)) + 12|0);
+ HEAP32[$448>>2] = $447;
+ $449 = (($435) + ($447))|0;
+ $450 = $a;
+ $451 = (($450) + ($449))|0;
+ $a = $451;
+ $452 = $c;
+ $453 = (_rol_1371($452,30)|0);
+ $c = $453;
+ $454 = $a;
+ $455 = (_rol_1371($454,5)|0);
+ $456 = $b;
+ $457 = $c;
+ $458 = $456 ^ $457;
+ $459 = $d;
+ $460 = $458 ^ $459;
+ $461 = (($455) + ($460))|0;
+ $462 = (($461) + 1859775393)|0;
+ $463 = ((($x)) + 16|0);
+ $464 = HEAP32[$463>>2]|0;
+ $465 = ((($x)) + 24|0);
+ $466 = HEAP32[$465>>2]|0;
+ $467 = $464 ^ $466;
+ $468 = ((($x)) + 48|0);
+ $469 = HEAP32[$468>>2]|0;
+ $470 = $467 ^ $469;
+ $471 = ((($x)) + 4|0);
+ $472 = HEAP32[$471>>2]|0;
+ $473 = $470 ^ $472;
+ $tm = $473;
+ $474 = $tm;
+ $475 = (_rol_1371($474,1)|0);
+ $476 = ((($x)) + 16|0);
+ HEAP32[$476>>2] = $475;
+ $477 = (($462) + ($475))|0;
+ $478 = $e;
+ $479 = (($478) + ($477))|0;
+ $e = $479;
+ $480 = $b;
+ $481 = (_rol_1371($480,30)|0);
+ $b = $481;
+ $482 = $e;
+ $483 = (_rol_1371($482,5)|0);
+ $484 = $a;
+ $485 = $b;
+ $486 = $484 ^ $485;
+ $487 = $c;
+ $488 = $486 ^ $487;
+ $489 = (($483) + ($488))|0;
+ $490 = (($489) + 1859775393)|0;
+ $491 = ((($x)) + 20|0);
+ $492 = HEAP32[$491>>2]|0;
+ $493 = ((($x)) + 28|0);
+ $494 = HEAP32[$493>>2]|0;
+ $495 = $492 ^ $494;
+ $496 = ((($x)) + 52|0);
+ $497 = HEAP32[$496>>2]|0;
+ $498 = $495 ^ $497;
+ $499 = ((($x)) + 8|0);
+ $500 = HEAP32[$499>>2]|0;
+ $501 = $498 ^ $500;
+ $tm = $501;
+ $502 = $tm;
+ $503 = (_rol_1371($502,1)|0);
+ $504 = ((($x)) + 20|0);
+ HEAP32[$504>>2] = $503;
+ $505 = (($490) + ($503))|0;
+ $506 = $d;
+ $507 = (($506) + ($505))|0;
+ $d = $507;
+ $508 = $a;
+ $509 = (_rol_1371($508,30)|0);
+ $a = $509;
+ $510 = $d;
+ $511 = (_rol_1371($510,5)|0);
+ $512 = $e;
+ $513 = $a;
+ $514 = $512 ^ $513;
+ $515 = $b;
+ $516 = $514 ^ $515;
+ $517 = (($511) + ($516))|0;
+ $518 = (($517) + 1859775393)|0;
+ $519 = ((($x)) + 24|0);
+ $520 = HEAP32[$519>>2]|0;
+ $521 = ((($x)) + 32|0);
+ $522 = HEAP32[$521>>2]|0;
+ $523 = $520 ^ $522;
+ $524 = ((($x)) + 56|0);
+ $525 = HEAP32[$524>>2]|0;
+ $526 = $523 ^ $525;
+ $527 = ((($x)) + 12|0);
+ $528 = HEAP32[$527>>2]|0;
+ $529 = $526 ^ $528;
+ $tm = $529;
+ $530 = $tm;
+ $531 = (_rol_1371($530,1)|0);
+ $532 = ((($x)) + 24|0);
+ HEAP32[$532>>2] = $531;
+ $533 = (($518) + ($531))|0;
+ $534 = $c;
+ $535 = (($534) + ($533))|0;
+ $c = $535;
+ $536 = $e;
+ $537 = (_rol_1371($536,30)|0);
+ $e = $537;
+ $538 = $c;
+ $539 = (_rol_1371($538,5)|0);
+ $540 = $d;
+ $541 = $e;
+ $542 = $540 ^ $541;
+ $543 = $a;
+ $544 = $542 ^ $543;
+ $545 = (($539) + ($544))|0;
+ $546 = (($545) + 1859775393)|0;
+ $547 = ((($x)) + 28|0);
+ $548 = HEAP32[$547>>2]|0;
+ $549 = ((($x)) + 36|0);
+ $550 = HEAP32[$549>>2]|0;
+ $551 = $548 ^ $550;
+ $552 = ((($x)) + 60|0);
+ $553 = HEAP32[$552>>2]|0;
+ $554 = $551 ^ $553;
+ $555 = ((($x)) + 16|0);
+ $556 = HEAP32[$555>>2]|0;
+ $557 = $554 ^ $556;
+ $tm = $557;
+ $558 = $tm;
+ $559 = (_rol_1371($558,1)|0);
+ $560 = ((($x)) + 28|0);
+ HEAP32[$560>>2] = $559;
+ $561 = (($546) + ($559))|0;
+ $562 = $b;
+ $563 = (($562) + ($561))|0;
+ $b = $563;
+ $564 = $d;
+ $565 = (_rol_1371($564,30)|0);
+ $d = $565;
+ $566 = $b;
+ $567 = (_rol_1371($566,5)|0);
+ $568 = $c;
+ $569 = $d;
+ $570 = $568 ^ $569;
+ $571 = $e;
+ $572 = $570 ^ $571;
+ $573 = (($567) + ($572))|0;
+ $574 = (($573) + 1859775393)|0;
+ $575 = ((($x)) + 32|0);
+ $576 = HEAP32[$575>>2]|0;
+ $577 = ((($x)) + 40|0);
+ $578 = HEAP32[$577>>2]|0;
+ $579 = $576 ^ $578;
+ $580 = HEAP32[$x>>2]|0;
+ $581 = $579 ^ $580;
+ $582 = ((($x)) + 20|0);
+ $583 = HEAP32[$582>>2]|0;
+ $584 = $581 ^ $583;
+ $tm = $584;
+ $585 = $tm;
+ $586 = (_rol_1371($585,1)|0);
+ $587 = ((($x)) + 32|0);
+ HEAP32[$587>>2] = $586;
+ $588 = (($574) + ($586))|0;
+ $589 = $a;
+ $590 = (($589) + ($588))|0;
+ $a = $590;
+ $591 = $c;
+ $592 = (_rol_1371($591,30)|0);
+ $c = $592;
+ $593 = $a;
+ $594 = (_rol_1371($593,5)|0);
+ $595 = $b;
+ $596 = $c;
+ $597 = $595 ^ $596;
+ $598 = $d;
+ $599 = $597 ^ $598;
+ $600 = (($594) + ($599))|0;
+ $601 = (($600) + 1859775393)|0;
+ $602 = ((($x)) + 36|0);
+ $603 = HEAP32[$602>>2]|0;
+ $604 = ((($x)) + 44|0);
+ $605 = HEAP32[$604>>2]|0;
+ $606 = $603 ^ $605;
+ $607 = ((($x)) + 4|0);
+ $608 = HEAP32[$607>>2]|0;
+ $609 = $606 ^ $608;
+ $610 = ((($x)) + 24|0);
+ $611 = HEAP32[$610>>2]|0;
+ $612 = $609 ^ $611;
+ $tm = $612;
+ $613 = $tm;
+ $614 = (_rol_1371($613,1)|0);
+ $615 = ((($x)) + 36|0);
+ HEAP32[$615>>2] = $614;
+ $616 = (($601) + ($614))|0;
+ $617 = $e;
+ $618 = (($617) + ($616))|0;
+ $e = $618;
+ $619 = $b;
+ $620 = (_rol_1371($619,30)|0);
+ $b = $620;
+ $621 = $e;
+ $622 = (_rol_1371($621,5)|0);
+ $623 = $a;
+ $624 = $b;
+ $625 = $623 ^ $624;
+ $626 = $c;
+ $627 = $625 ^ $626;
+ $628 = (($622) + ($627))|0;
+ $629 = (($628) + 1859775393)|0;
+ $630 = ((($x)) + 40|0);
+ $631 = HEAP32[$630>>2]|0;
+ $632 = ((($x)) + 48|0);
+ $633 = HEAP32[$632>>2]|0;
+ $634 = $631 ^ $633;
+ $635 = ((($x)) + 8|0);
+ $636 = HEAP32[$635>>2]|0;
+ $637 = $634 ^ $636;
+ $638 = ((($x)) + 28|0);
+ $639 = HEAP32[$638>>2]|0;
+ $640 = $637 ^ $639;
+ $tm = $640;
+ $641 = $tm;
+ $642 = (_rol_1371($641,1)|0);
+ $643 = ((($x)) + 40|0);
+ HEAP32[$643>>2] = $642;
+ $644 = (($629) + ($642))|0;
+ $645 = $d;
+ $646 = (($645) + ($644))|0;
+ $d = $646;
+ $647 = $a;
+ $648 = (_rol_1371($647,30)|0);
+ $a = $648;
+ $649 = $d;
+ $650 = (_rol_1371($649,5)|0);
+ $651 = $e;
+ $652 = $a;
+ $653 = $651 ^ $652;
+ $654 = $b;
+ $655 = $653 ^ $654;
+ $656 = (($650) + ($655))|0;
+ $657 = (($656) + 1859775393)|0;
+ $658 = ((($x)) + 44|0);
+ $659 = HEAP32[$658>>2]|0;
+ $660 = ((($x)) + 52|0);
+ $661 = HEAP32[$660>>2]|0;
+ $662 = $659 ^ $661;
+ $663 = ((($x)) + 12|0);
+ $664 = HEAP32[$663>>2]|0;
+ $665 = $662 ^ $664;
+ $666 = ((($x)) + 32|0);
+ $667 = HEAP32[$666>>2]|0;
+ $668 = $665 ^ $667;
+ $tm = $668;
+ $669 = $tm;
+ $670 = (_rol_1371($669,1)|0);
+ $671 = ((($x)) + 44|0);
+ HEAP32[$671>>2] = $670;
+ $672 = (($657) + ($670))|0;
+ $673 = $c;
+ $674 = (($673) + ($672))|0;
+ $c = $674;
+ $675 = $e;
+ $676 = (_rol_1371($675,30)|0);
+ $e = $676;
+ $677 = $c;
+ $678 = (_rol_1371($677,5)|0);
+ $679 = $d;
+ $680 = $e;
+ $681 = $679 ^ $680;
+ $682 = $a;
+ $683 = $681 ^ $682;
+ $684 = (($678) + ($683))|0;
+ $685 = (($684) + 1859775393)|0;
+ $686 = ((($x)) + 48|0);
+ $687 = HEAP32[$686>>2]|0;
+ $688 = ((($x)) + 56|0);
+ $689 = HEAP32[$688>>2]|0;
+ $690 = $687 ^ $689;
+ $691 = ((($x)) + 16|0);
+ $692 = HEAP32[$691>>2]|0;
+ $693 = $690 ^ $692;
+ $694 = ((($x)) + 36|0);
+ $695 = HEAP32[$694>>2]|0;
+ $696 = $693 ^ $695;
+ $tm = $696;
+ $697 = $tm;
+ $698 = (_rol_1371($697,1)|0);
+ $699 = ((($x)) + 48|0);
+ HEAP32[$699>>2] = $698;
+ $700 = (($685) + ($698))|0;
+ $701 = $b;
+ $702 = (($701) + ($700))|0;
+ $b = $702;
+ $703 = $d;
+ $704 = (_rol_1371($703,30)|0);
+ $d = $704;
+ $705 = $b;
+ $706 = (_rol_1371($705,5)|0);
+ $707 = $c;
+ $708 = $d;
+ $709 = $707 ^ $708;
+ $710 = $e;
+ $711 = $709 ^ $710;
+ $712 = (($706) + ($711))|0;
+ $713 = (($712) + 1859775393)|0;
+ $714 = ((($x)) + 52|0);
+ $715 = HEAP32[$714>>2]|0;
+ $716 = ((($x)) + 60|0);
+ $717 = HEAP32[$716>>2]|0;
+ $718 = $715 ^ $717;
+ $719 = ((($x)) + 20|0);
+ $720 = HEAP32[$719>>2]|0;
+ $721 = $718 ^ $720;
+ $722 = ((($x)) + 40|0);
+ $723 = HEAP32[$722>>2]|0;
+ $724 = $721 ^ $723;
+ $tm = $724;
+ $725 = $tm;
+ $726 = (_rol_1371($725,1)|0);
+ $727 = ((($x)) + 52|0);
+ HEAP32[$727>>2] = $726;
+ $728 = (($713) + ($726))|0;
+ $729 = $a;
+ $730 = (($729) + ($728))|0;
+ $a = $730;
+ $731 = $c;
+ $732 = (_rol_1371($731,30)|0);
+ $c = $732;
+ $733 = $a;
+ $734 = (_rol_1371($733,5)|0);
+ $735 = $b;
+ $736 = $c;
+ $737 = $735 ^ $736;
+ $738 = $d;
+ $739 = $737 ^ $738;
+ $740 = (($734) + ($739))|0;
+ $741 = (($740) + 1859775393)|0;
+ $742 = ((($x)) + 56|0);
+ $743 = HEAP32[$742>>2]|0;
+ $744 = HEAP32[$x>>2]|0;
+ $745 = $743 ^ $744;
+ $746 = ((($x)) + 24|0);
+ $747 = HEAP32[$746>>2]|0;
+ $748 = $745 ^ $747;
+ $749 = ((($x)) + 44|0);
+ $750 = HEAP32[$749>>2]|0;
+ $751 = $748 ^ $750;
+ $tm = $751;
+ $752 = $tm;
+ $753 = (_rol_1371($752,1)|0);
+ $754 = ((($x)) + 56|0);
+ HEAP32[$754>>2] = $753;
+ $755 = (($741) + ($753))|0;
+ $756 = $e;
+ $757 = (($756) + ($755))|0;
+ $e = $757;
+ $758 = $b;
+ $759 = (_rol_1371($758,30)|0);
+ $b = $759;
+ $760 = $e;
+ $761 = (_rol_1371($760,5)|0);
+ $762 = $a;
+ $763 = $b;
+ $764 = $762 ^ $763;
+ $765 = $c;
+ $766 = $764 ^ $765;
+ $767 = (($761) + ($766))|0;
+ $768 = (($767) + 1859775393)|0;
+ $769 = ((($x)) + 60|0);
+ $770 = HEAP32[$769>>2]|0;
+ $771 = ((($x)) + 4|0);
+ $772 = HEAP32[$771>>2]|0;
+ $773 = $770 ^ $772;
+ $774 = ((($x)) + 28|0);
+ $775 = HEAP32[$774>>2]|0;
+ $776 = $773 ^ $775;
+ $777 = ((($x)) + 48|0);
+ $778 = HEAP32[$777>>2]|0;
+ $779 = $776 ^ $778;
+ $tm = $779;
+ $780 = $tm;
+ $781 = (_rol_1371($780,1)|0);
+ $782 = ((($x)) + 60|0);
+ HEAP32[$782>>2] = $781;
+ $783 = (($768) + ($781))|0;
+ $784 = $d;
+ $785 = (($784) + ($783))|0;
+ $d = $785;
+ $786 = $a;
+ $787 = (_rol_1371($786,30)|0);
+ $a = $787;
+ $788 = $d;
+ $789 = (_rol_1371($788,5)|0);
+ $790 = $e;
+ $791 = $a;
+ $792 = $790 ^ $791;
+ $793 = $b;
+ $794 = $792 ^ $793;
+ $795 = (($789) + ($794))|0;
+ $796 = (($795) + 1859775393)|0;
+ $797 = HEAP32[$x>>2]|0;
+ $798 = ((($x)) + 8|0);
+ $799 = HEAP32[$798>>2]|0;
+ $800 = $797 ^ $799;
+ $801 = ((($x)) + 32|0);
+ $802 = HEAP32[$801>>2]|0;
+ $803 = $800 ^ $802;
+ $804 = ((($x)) + 52|0);
+ $805 = HEAP32[$804>>2]|0;
+ $806 = $803 ^ $805;
+ $tm = $806;
+ $807 = $tm;
+ $808 = (_rol_1371($807,1)|0);
+ HEAP32[$x>>2] = $808;
+ $809 = (($796) + ($808))|0;
+ $810 = $c;
+ $811 = (($810) + ($809))|0;
+ $c = $811;
+ $812 = $e;
+ $813 = (_rol_1371($812,30)|0);
+ $e = $813;
+ $814 = $c;
+ $815 = (_rol_1371($814,5)|0);
+ $816 = $d;
+ $817 = $e;
+ $818 = $816 ^ $817;
+ $819 = $a;
+ $820 = $818 ^ $819;
+ $821 = (($815) + ($820))|0;
+ $822 = (($821) + 1859775393)|0;
+ $823 = ((($x)) + 4|0);
+ $824 = HEAP32[$823>>2]|0;
+ $825 = ((($x)) + 12|0);
+ $826 = HEAP32[$825>>2]|0;
+ $827 = $824 ^ $826;
+ $828 = ((($x)) + 36|0);
+ $829 = HEAP32[$828>>2]|0;
+ $830 = $827 ^ $829;
+ $831 = ((($x)) + 56|0);
+ $832 = HEAP32[$831>>2]|0;
+ $833 = $830 ^ $832;
+ $tm = $833;
+ $834 = $tm;
+ $835 = (_rol_1371($834,1)|0);
+ $836 = ((($x)) + 4|0);
+ HEAP32[$836>>2] = $835;
+ $837 = (($822) + ($835))|0;
+ $838 = $b;
+ $839 = (($838) + ($837))|0;
+ $b = $839;
+ $840 = $d;
+ $841 = (_rol_1371($840,30)|0);
+ $d = $841;
+ $842 = $b;
+ $843 = (_rol_1371($842,5)|0);
+ $844 = $c;
+ $845 = $d;
+ $846 = $844 ^ $845;
+ $847 = $e;
+ $848 = $846 ^ $847;
+ $849 = (($843) + ($848))|0;
+ $850 = (($849) + 1859775393)|0;
+ $851 = ((($x)) + 8|0);
+ $852 = HEAP32[$851>>2]|0;
+ $853 = ((($x)) + 16|0);
+ $854 = HEAP32[$853>>2]|0;
+ $855 = $852 ^ $854;
+ $856 = ((($x)) + 40|0);
+ $857 = HEAP32[$856>>2]|0;
+ $858 = $855 ^ $857;
+ $859 = ((($x)) + 60|0);
+ $860 = HEAP32[$859>>2]|0;
+ $861 = $858 ^ $860;
+ $tm = $861;
+ $862 = $tm;
+ $863 = (_rol_1371($862,1)|0);
+ $864 = ((($x)) + 8|0);
+ HEAP32[$864>>2] = $863;
+ $865 = (($850) + ($863))|0;
+ $866 = $a;
+ $867 = (($866) + ($865))|0;
+ $a = $867;
+ $868 = $c;
+ $869 = (_rol_1371($868,30)|0);
+ $c = $869;
+ $870 = $a;
+ $871 = (_rol_1371($870,5)|0);
+ $872 = $b;
+ $873 = $c;
+ $874 = $872 ^ $873;
+ $875 = $d;
+ $876 = $874 ^ $875;
+ $877 = (($871) + ($876))|0;
+ $878 = (($877) + 1859775393)|0;
+ $879 = ((($x)) + 12|0);
+ $880 = HEAP32[$879>>2]|0;
+ $881 = ((($x)) + 20|0);
+ $882 = HEAP32[$881>>2]|0;
+ $883 = $880 ^ $882;
+ $884 = ((($x)) + 44|0);
+ $885 = HEAP32[$884>>2]|0;
+ $886 = $883 ^ $885;
+ $887 = HEAP32[$x>>2]|0;
+ $888 = $886 ^ $887;
+ $tm = $888;
+ $889 = $tm;
+ $890 = (_rol_1371($889,1)|0);
+ $891 = ((($x)) + 12|0);
+ HEAP32[$891>>2] = $890;
+ $892 = (($878) + ($890))|0;
+ $893 = $e;
+ $894 = (($893) + ($892))|0;
+ $e = $894;
+ $895 = $b;
+ $896 = (_rol_1371($895,30)|0);
+ $b = $896;
+ $897 = $e;
+ $898 = (_rol_1371($897,5)|0);
+ $899 = $a;
+ $900 = $b;
+ $901 = $899 ^ $900;
+ $902 = $c;
+ $903 = $901 ^ $902;
+ $904 = (($898) + ($903))|0;
+ $905 = (($904) + 1859775393)|0;
+ $906 = ((($x)) + 16|0);
+ $907 = HEAP32[$906>>2]|0;
+ $908 = ((($x)) + 24|0);
+ $909 = HEAP32[$908>>2]|0;
+ $910 = $907 ^ $909;
+ $911 = ((($x)) + 48|0);
+ $912 = HEAP32[$911>>2]|0;
+ $913 = $910 ^ $912;
+ $914 = ((($x)) + 4|0);
+ $915 = HEAP32[$914>>2]|0;
+ $916 = $913 ^ $915;
+ $tm = $916;
+ $917 = $tm;
+ $918 = (_rol_1371($917,1)|0);
+ $919 = ((($x)) + 16|0);
+ HEAP32[$919>>2] = $918;
+ $920 = (($905) + ($918))|0;
+ $921 = $d;
+ $922 = (($921) + ($920))|0;
+ $d = $922;
+ $923 = $a;
+ $924 = (_rol_1371($923,30)|0);
+ $a = $924;
+ $925 = $d;
+ $926 = (_rol_1371($925,5)|0);
+ $927 = $e;
+ $928 = $a;
+ $929 = $927 ^ $928;
+ $930 = $b;
+ $931 = $929 ^ $930;
+ $932 = (($926) + ($931))|0;
+ $933 = (($932) + 1859775393)|0;
+ $934 = ((($x)) + 20|0);
+ $935 = HEAP32[$934>>2]|0;
+ $936 = ((($x)) + 28|0);
+ $937 = HEAP32[$936>>2]|0;
+ $938 = $935 ^ $937;
+ $939 = ((($x)) + 52|0);
+ $940 = HEAP32[$939>>2]|0;
+ $941 = $938 ^ $940;
+ $942 = ((($x)) + 8|0);
+ $943 = HEAP32[$942>>2]|0;
+ $944 = $941 ^ $943;
+ $tm = $944;
+ $945 = $tm;
+ $946 = (_rol_1371($945,1)|0);
+ $947 = ((($x)) + 20|0);
+ HEAP32[$947>>2] = $946;
+ $948 = (($933) + ($946))|0;
+ $949 = $c;
+ $950 = (($949) + ($948))|0;
+ $c = $950;
+ $951 = $e;
+ $952 = (_rol_1371($951,30)|0);
+ $e = $952;
+ $953 = $c;
+ $954 = (_rol_1371($953,5)|0);
+ $955 = $d;
+ $956 = $e;
+ $957 = $955 ^ $956;
+ $958 = $a;
+ $959 = $957 ^ $958;
+ $960 = (($954) + ($959))|0;
+ $961 = (($960) + 1859775393)|0;
+ $962 = ((($x)) + 24|0);
+ $963 = HEAP32[$962>>2]|0;
+ $964 = ((($x)) + 32|0);
+ $965 = HEAP32[$964>>2]|0;
+ $966 = $963 ^ $965;
+ $967 = ((($x)) + 56|0);
+ $968 = HEAP32[$967>>2]|0;
+ $969 = $966 ^ $968;
+ $970 = ((($x)) + 12|0);
+ $971 = HEAP32[$970>>2]|0;
+ $972 = $969 ^ $971;
+ $tm = $972;
+ $973 = $tm;
+ $974 = (_rol_1371($973,1)|0);
+ $975 = ((($x)) + 24|0);
+ HEAP32[$975>>2] = $974;
+ $976 = (($961) + ($974))|0;
+ $977 = $b;
+ $978 = (($977) + ($976))|0;
+ $b = $978;
+ $979 = $d;
+ $980 = (_rol_1371($979,30)|0);
+ $d = $980;
+ $981 = $b;
+ $982 = (_rol_1371($981,5)|0);
+ $983 = $c;
+ $984 = $d;
+ $985 = $983 ^ $984;
+ $986 = $e;
+ $987 = $985 ^ $986;
+ $988 = (($982) + ($987))|0;
+ $989 = (($988) + 1859775393)|0;
+ $990 = ((($x)) + 28|0);
+ $991 = HEAP32[$990>>2]|0;
+ $992 = ((($x)) + 36|0);
+ $993 = HEAP32[$992>>2]|0;
+ $994 = $991 ^ $993;
+ $995 = ((($x)) + 60|0);
+ $996 = HEAP32[$995>>2]|0;
+ $997 = $994 ^ $996;
+ $998 = ((($x)) + 16|0);
+ $999 = HEAP32[$998>>2]|0;
+ $1000 = $997 ^ $999;
+ $tm = $1000;
+ $1001 = $tm;
+ $1002 = (_rol_1371($1001,1)|0);
+ $1003 = ((($x)) + 28|0);
+ HEAP32[$1003>>2] = $1002;
+ $1004 = (($989) + ($1002))|0;
+ $1005 = $a;
+ $1006 = (($1005) + ($1004))|0;
+ $a = $1006;
+ $1007 = $c;
+ $1008 = (_rol_1371($1007,30)|0);
+ $c = $1008;
+ $1009 = $a;
+ $1010 = (_rol_1371($1009,5)|0);
+ $1011 = $b;
+ $1012 = $c;
+ $1013 = $1011 & $1012;
+ $1014 = $d;
+ $1015 = $b;
+ $1016 = $c;
+ $1017 = $1015 | $1016;
+ $1018 = $1014 & $1017;
+ $1019 = $1013 | $1018;
+ $1020 = (($1010) + ($1019))|0;
+ $1021 = (($1020) + -1894007588)|0;
+ $1022 = ((($x)) + 32|0);
+ $1023 = HEAP32[$1022>>2]|0;
+ $1024 = ((($x)) + 40|0);
+ $1025 = HEAP32[$1024>>2]|0;
+ $1026 = $1023 ^ $1025;
+ $1027 = HEAP32[$x>>2]|0;
+ $1028 = $1026 ^ $1027;
+ $1029 = ((($x)) + 20|0);
+ $1030 = HEAP32[$1029>>2]|0;
+ $1031 = $1028 ^ $1030;
+ $tm = $1031;
+ $1032 = $tm;
+ $1033 = (_rol_1371($1032,1)|0);
+ $1034 = ((($x)) + 32|0);
+ HEAP32[$1034>>2] = $1033;
+ $1035 = (($1021) + ($1033))|0;
+ $1036 = $e;
+ $1037 = (($1036) + ($1035))|0;
+ $e = $1037;
+ $1038 = $b;
+ $1039 = (_rol_1371($1038,30)|0);
+ $b = $1039;
+ $1040 = $e;
+ $1041 = (_rol_1371($1040,5)|0);
+ $1042 = $a;
+ $1043 = $b;
+ $1044 = $1042 & $1043;
+ $1045 = $c;
+ $1046 = $a;
+ $1047 = $b;
+ $1048 = $1046 | $1047;
+ $1049 = $1045 & $1048;
+ $1050 = $1044 | $1049;
+ $1051 = (($1041) + ($1050))|0;
+ $1052 = (($1051) + -1894007588)|0;
+ $1053 = ((($x)) + 36|0);
+ $1054 = HEAP32[$1053>>2]|0;
+ $1055 = ((($x)) + 44|0);
+ $1056 = HEAP32[$1055>>2]|0;
+ $1057 = $1054 ^ $1056;
+ $1058 = ((($x)) + 4|0);
+ $1059 = HEAP32[$1058>>2]|0;
+ $1060 = $1057 ^ $1059;
+ $1061 = ((($x)) + 24|0);
+ $1062 = HEAP32[$1061>>2]|0;
+ $1063 = $1060 ^ $1062;
+ $tm = $1063;
+ $1064 = $tm;
+ $1065 = (_rol_1371($1064,1)|0);
+ $1066 = ((($x)) + 36|0);
+ HEAP32[$1066>>2] = $1065;
+ $1067 = (($1052) + ($1065))|0;
+ $1068 = $d;
+ $1069 = (($1068) + ($1067))|0;
+ $d = $1069;
+ $1070 = $a;
+ $1071 = (_rol_1371($1070,30)|0);
+ $a = $1071;
+ $1072 = $d;
+ $1073 = (_rol_1371($1072,5)|0);
+ $1074 = $e;
+ $1075 = $a;
+ $1076 = $1074 & $1075;
+ $1077 = $b;
+ $1078 = $e;
+ $1079 = $a;
+ $1080 = $1078 | $1079;
+ $1081 = $1077 & $1080;
+ $1082 = $1076 | $1081;
+ $1083 = (($1073) + ($1082))|0;
+ $1084 = (($1083) + -1894007588)|0;
+ $1085 = ((($x)) + 40|0);
+ $1086 = HEAP32[$1085>>2]|0;
+ $1087 = ((($x)) + 48|0);
+ $1088 = HEAP32[$1087>>2]|0;
+ $1089 = $1086 ^ $1088;
+ $1090 = ((($x)) + 8|0);
+ $1091 = HEAP32[$1090>>2]|0;
+ $1092 = $1089 ^ $1091;
+ $1093 = ((($x)) + 28|0);
+ $1094 = HEAP32[$1093>>2]|0;
+ $1095 = $1092 ^ $1094;
+ $tm = $1095;
+ $1096 = $tm;
+ $1097 = (_rol_1371($1096,1)|0);
+ $1098 = ((($x)) + 40|0);
+ HEAP32[$1098>>2] = $1097;
+ $1099 = (($1084) + ($1097))|0;
+ $1100 = $c;
+ $1101 = (($1100) + ($1099))|0;
+ $c = $1101;
+ $1102 = $e;
+ $1103 = (_rol_1371($1102,30)|0);
+ $e = $1103;
+ $1104 = $c;
+ $1105 = (_rol_1371($1104,5)|0);
+ $1106 = $d;
+ $1107 = $e;
+ $1108 = $1106 & $1107;
+ $1109 = $a;
+ $1110 = $d;
+ $1111 = $e;
+ $1112 = $1110 | $1111;
+ $1113 = $1109 & $1112;
+ $1114 = $1108 | $1113;
+ $1115 = (($1105) + ($1114))|0;
+ $1116 = (($1115) + -1894007588)|0;
+ $1117 = ((($x)) + 44|0);
+ $1118 = HEAP32[$1117>>2]|0;
+ $1119 = ((($x)) + 52|0);
+ $1120 = HEAP32[$1119>>2]|0;
+ $1121 = $1118 ^ $1120;
+ $1122 = ((($x)) + 12|0);
+ $1123 = HEAP32[$1122>>2]|0;
+ $1124 = $1121 ^ $1123;
+ $1125 = ((($x)) + 32|0);
+ $1126 = HEAP32[$1125>>2]|0;
+ $1127 = $1124 ^ $1126;
+ $tm = $1127;
+ $1128 = $tm;
+ $1129 = (_rol_1371($1128,1)|0);
+ $1130 = ((($x)) + 44|0);
+ HEAP32[$1130>>2] = $1129;
+ $1131 = (($1116) + ($1129))|0;
+ $1132 = $b;
+ $1133 = (($1132) + ($1131))|0;
+ $b = $1133;
+ $1134 = $d;
+ $1135 = (_rol_1371($1134,30)|0);
+ $d = $1135;
+ $1136 = $b;
+ $1137 = (_rol_1371($1136,5)|0);
+ $1138 = $c;
+ $1139 = $d;
+ $1140 = $1138 & $1139;
+ $1141 = $e;
+ $1142 = $c;
+ $1143 = $d;
+ $1144 = $1142 | $1143;
+ $1145 = $1141 & $1144;
+ $1146 = $1140 | $1145;
+ $1147 = (($1137) + ($1146))|0;
+ $1148 = (($1147) + -1894007588)|0;
+ $1149 = ((($x)) + 48|0);
+ $1150 = HEAP32[$1149>>2]|0;
+ $1151 = ((($x)) + 56|0);
+ $1152 = HEAP32[$1151>>2]|0;
+ $1153 = $1150 ^ $1152;
+ $1154 = ((($x)) + 16|0);
+ $1155 = HEAP32[$1154>>2]|0;
+ $1156 = $1153 ^ $1155;
+ $1157 = ((($x)) + 36|0);
+ $1158 = HEAP32[$1157>>2]|0;
+ $1159 = $1156 ^ $1158;
+ $tm = $1159;
+ $1160 = $tm;
+ $1161 = (_rol_1371($1160,1)|0);
+ $1162 = ((($x)) + 48|0);
+ HEAP32[$1162>>2] = $1161;
+ $1163 = (($1148) + ($1161))|0;
+ $1164 = $a;
+ $1165 = (($1164) + ($1163))|0;
+ $a = $1165;
+ $1166 = $c;
+ $1167 = (_rol_1371($1166,30)|0);
+ $c = $1167;
+ $1168 = $a;
+ $1169 = (_rol_1371($1168,5)|0);
+ $1170 = $b;
+ $1171 = $c;
+ $1172 = $1170 & $1171;
+ $1173 = $d;
+ $1174 = $b;
+ $1175 = $c;
+ $1176 = $1174 | $1175;
+ $1177 = $1173 & $1176;
+ $1178 = $1172 | $1177;
+ $1179 = (($1169) + ($1178))|0;
+ $1180 = (($1179) + -1894007588)|0;
+ $1181 = ((($x)) + 52|0);
+ $1182 = HEAP32[$1181>>2]|0;
+ $1183 = ((($x)) + 60|0);
+ $1184 = HEAP32[$1183>>2]|0;
+ $1185 = $1182 ^ $1184;
+ $1186 = ((($x)) + 20|0);
+ $1187 = HEAP32[$1186>>2]|0;
+ $1188 = $1185 ^ $1187;
+ $1189 = ((($x)) + 40|0);
+ $1190 = HEAP32[$1189>>2]|0;
+ $1191 = $1188 ^ $1190;
+ $tm = $1191;
+ $1192 = $tm;
+ $1193 = (_rol_1371($1192,1)|0);
+ $1194 = ((($x)) + 52|0);
+ HEAP32[$1194>>2] = $1193;
+ $1195 = (($1180) + ($1193))|0;
+ $1196 = $e;
+ $1197 = (($1196) + ($1195))|0;
+ $e = $1197;
+ $1198 = $b;
+ $1199 = (_rol_1371($1198,30)|0);
+ $b = $1199;
+ $1200 = $e;
+ $1201 = (_rol_1371($1200,5)|0);
+ $1202 = $a;
+ $1203 = $b;
+ $1204 = $1202 & $1203;
+ $1205 = $c;
+ $1206 = $a;
+ $1207 = $b;
+ $1208 = $1206 | $1207;
+ $1209 = $1205 & $1208;
+ $1210 = $1204 | $1209;
+ $1211 = (($1201) + ($1210))|0;
+ $1212 = (($1211) + -1894007588)|0;
+ $1213 = ((($x)) + 56|0);
+ $1214 = HEAP32[$1213>>2]|0;
+ $1215 = HEAP32[$x>>2]|0;
+ $1216 = $1214 ^ $1215;
+ $1217 = ((($x)) + 24|0);
+ $1218 = HEAP32[$1217>>2]|0;
+ $1219 = $1216 ^ $1218;
+ $1220 = ((($x)) + 44|0);
+ $1221 = HEAP32[$1220>>2]|0;
+ $1222 = $1219 ^ $1221;
+ $tm = $1222;
+ $1223 = $tm;
+ $1224 = (_rol_1371($1223,1)|0);
+ $1225 = ((($x)) + 56|0);
+ HEAP32[$1225>>2] = $1224;
+ $1226 = (($1212) + ($1224))|0;
+ $1227 = $d;
+ $1228 = (($1227) + ($1226))|0;
+ $d = $1228;
+ $1229 = $a;
+ $1230 = (_rol_1371($1229,30)|0);
+ $a = $1230;
+ $1231 = $d;
+ $1232 = (_rol_1371($1231,5)|0);
+ $1233 = $e;
+ $1234 = $a;
+ $1235 = $1233 & $1234;
+ $1236 = $b;
+ $1237 = $e;
+ $1238 = $a;
+ $1239 = $1237 | $1238;
+ $1240 = $1236 & $1239;
+ $1241 = $1235 | $1240;
+ $1242 = (($1232) + ($1241))|0;
+ $1243 = (($1242) + -1894007588)|0;
+ $1244 = ((($x)) + 60|0);
+ $1245 = HEAP32[$1244>>2]|0;
+ $1246 = ((($x)) + 4|0);
+ $1247 = HEAP32[$1246>>2]|0;
+ $1248 = $1245 ^ $1247;
+ $1249 = ((($x)) + 28|0);
+ $1250 = HEAP32[$1249>>2]|0;
+ $1251 = $1248 ^ $1250;
+ $1252 = ((($x)) + 48|0);
+ $1253 = HEAP32[$1252>>2]|0;
+ $1254 = $1251 ^ $1253;
+ $tm = $1254;
+ $1255 = $tm;
+ $1256 = (_rol_1371($1255,1)|0);
+ $1257 = ((($x)) + 60|0);
+ HEAP32[$1257>>2] = $1256;
+ $1258 = (($1243) + ($1256))|0;
+ $1259 = $c;
+ $1260 = (($1259) + ($1258))|0;
+ $c = $1260;
+ $1261 = $e;
+ $1262 = (_rol_1371($1261,30)|0);
+ $e = $1262;
+ $1263 = $c;
+ $1264 = (_rol_1371($1263,5)|0);
+ $1265 = $d;
+ $1266 = $e;
+ $1267 = $1265 & $1266;
+ $1268 = $a;
+ $1269 = $d;
+ $1270 = $e;
+ $1271 = $1269 | $1270;
+ $1272 = $1268 & $1271;
+ $1273 = $1267 | $1272;
+ $1274 = (($1264) + ($1273))|0;
+ $1275 = (($1274) + -1894007588)|0;
+ $1276 = HEAP32[$x>>2]|0;
+ $1277 = ((($x)) + 8|0);
+ $1278 = HEAP32[$1277>>2]|0;
+ $1279 = $1276 ^ $1278;
+ $1280 = ((($x)) + 32|0);
+ $1281 = HEAP32[$1280>>2]|0;
+ $1282 = $1279 ^ $1281;
+ $1283 = ((($x)) + 52|0);
+ $1284 = HEAP32[$1283>>2]|0;
+ $1285 = $1282 ^ $1284;
+ $tm = $1285;
+ $1286 = $tm;
+ $1287 = (_rol_1371($1286,1)|0);
+ HEAP32[$x>>2] = $1287;
+ $1288 = (($1275) + ($1287))|0;
+ $1289 = $b;
+ $1290 = (($1289) + ($1288))|0;
+ $b = $1290;
+ $1291 = $d;
+ $1292 = (_rol_1371($1291,30)|0);
+ $d = $1292;
+ $1293 = $b;
+ $1294 = (_rol_1371($1293,5)|0);
+ $1295 = $c;
+ $1296 = $d;
+ $1297 = $1295 & $1296;
+ $1298 = $e;
+ $1299 = $c;
+ $1300 = $d;
+ $1301 = $1299 | $1300;
+ $1302 = $1298 & $1301;
+ $1303 = $1297 | $1302;
+ $1304 = (($1294) + ($1303))|0;
+ $1305 = (($1304) + -1894007588)|0;
+ $1306 = ((($x)) + 4|0);
+ $1307 = HEAP32[$1306>>2]|0;
+ $1308 = ((($x)) + 12|0);
+ $1309 = HEAP32[$1308>>2]|0;
+ $1310 = $1307 ^ $1309;
+ $1311 = ((($x)) + 36|0);
+ $1312 = HEAP32[$1311>>2]|0;
+ $1313 = $1310 ^ $1312;
+ $1314 = ((($x)) + 56|0);
+ $1315 = HEAP32[$1314>>2]|0;
+ $1316 = $1313 ^ $1315;
+ $tm = $1316;
+ $1317 = $tm;
+ $1318 = (_rol_1371($1317,1)|0);
+ $1319 = ((($x)) + 4|0);
+ HEAP32[$1319>>2] = $1318;
+ $1320 = (($1305) + ($1318))|0;
+ $1321 = $a;
+ $1322 = (($1321) + ($1320))|0;
+ $a = $1322;
+ $1323 = $c;
+ $1324 = (_rol_1371($1323,30)|0);
+ $c = $1324;
+ $1325 = $a;
+ $1326 = (_rol_1371($1325,5)|0);
+ $1327 = $b;
+ $1328 = $c;
+ $1329 = $1327 & $1328;
+ $1330 = $d;
+ $1331 = $b;
+ $1332 = $c;
+ $1333 = $1331 | $1332;
+ $1334 = $1330 & $1333;
+ $1335 = $1329 | $1334;
+ $1336 = (($1326) + ($1335))|0;
+ $1337 = (($1336) + -1894007588)|0;
+ $1338 = ((($x)) + 8|0);
+ $1339 = HEAP32[$1338>>2]|0;
+ $1340 = ((($x)) + 16|0);
+ $1341 = HEAP32[$1340>>2]|0;
+ $1342 = $1339 ^ $1341;
+ $1343 = ((($x)) + 40|0);
+ $1344 = HEAP32[$1343>>2]|0;
+ $1345 = $1342 ^ $1344;
+ $1346 = ((($x)) + 60|0);
+ $1347 = HEAP32[$1346>>2]|0;
+ $1348 = $1345 ^ $1347;
+ $tm = $1348;
+ $1349 = $tm;
+ $1350 = (_rol_1371($1349,1)|0);
+ $1351 = ((($x)) + 8|0);
+ HEAP32[$1351>>2] = $1350;
+ $1352 = (($1337) + ($1350))|0;
+ $1353 = $e;
+ $1354 = (($1353) + ($1352))|0;
+ $e = $1354;
+ $1355 = $b;
+ $1356 = (_rol_1371($1355,30)|0);
+ $b = $1356;
+ $1357 = $e;
+ $1358 = (_rol_1371($1357,5)|0);
+ $1359 = $a;
+ $1360 = $b;
+ $1361 = $1359 & $1360;
+ $1362 = $c;
+ $1363 = $a;
+ $1364 = $b;
+ $1365 = $1363 | $1364;
+ $1366 = $1362 & $1365;
+ $1367 = $1361 | $1366;
+ $1368 = (($1358) + ($1367))|0;
+ $1369 = (($1368) + -1894007588)|0;
+ $1370 = ((($x)) + 12|0);
+ $1371 = HEAP32[$1370>>2]|0;
+ $1372 = ((($x)) + 20|0);
+ $1373 = HEAP32[$1372>>2]|0;
+ $1374 = $1371 ^ $1373;
+ $1375 = ((($x)) + 44|0);
+ $1376 = HEAP32[$1375>>2]|0;
+ $1377 = $1374 ^ $1376;
+ $1378 = HEAP32[$x>>2]|0;
+ $1379 = $1377 ^ $1378;
+ $tm = $1379;
+ $1380 = $tm;
+ $1381 = (_rol_1371($1380,1)|0);
+ $1382 = ((($x)) + 12|0);
+ HEAP32[$1382>>2] = $1381;
+ $1383 = (($1369) + ($1381))|0;
+ $1384 = $d;
+ $1385 = (($1384) + ($1383))|0;
+ $d = $1385;
+ $1386 = $a;
+ $1387 = (_rol_1371($1386,30)|0);
+ $a = $1387;
+ $1388 = $d;
+ $1389 = (_rol_1371($1388,5)|0);
+ $1390 = $e;
+ $1391 = $a;
+ $1392 = $1390 & $1391;
+ $1393 = $b;
+ $1394 = $e;
+ $1395 = $a;
+ $1396 = $1394 | $1395;
+ $1397 = $1393 & $1396;
+ $1398 = $1392 | $1397;
+ $1399 = (($1389) + ($1398))|0;
+ $1400 = (($1399) + -1894007588)|0;
+ $1401 = ((($x)) + 16|0);
+ $1402 = HEAP32[$1401>>2]|0;
+ $1403 = ((($x)) + 24|0);
+ $1404 = HEAP32[$1403>>2]|0;
+ $1405 = $1402 ^ $1404;
+ $1406 = ((($x)) + 48|0);
+ $1407 = HEAP32[$1406>>2]|0;
+ $1408 = $1405 ^ $1407;
+ $1409 = ((($x)) + 4|0);
+ $1410 = HEAP32[$1409>>2]|0;
+ $1411 = $1408 ^ $1410;
+ $tm = $1411;
+ $1412 = $tm;
+ $1413 = (_rol_1371($1412,1)|0);
+ $1414 = ((($x)) + 16|0);
+ HEAP32[$1414>>2] = $1413;
+ $1415 = (($1400) + ($1413))|0;
+ $1416 = $c;
+ $1417 = (($1416) + ($1415))|0;
+ $c = $1417;
+ $1418 = $e;
+ $1419 = (_rol_1371($1418,30)|0);
+ $e = $1419;
+ $1420 = $c;
+ $1421 = (_rol_1371($1420,5)|0);
+ $1422 = $d;
+ $1423 = $e;
+ $1424 = $1422 & $1423;
+ $1425 = $a;
+ $1426 = $d;
+ $1427 = $e;
+ $1428 = $1426 | $1427;
+ $1429 = $1425 & $1428;
+ $1430 = $1424 | $1429;
+ $1431 = (($1421) + ($1430))|0;
+ $1432 = (($1431) + -1894007588)|0;
+ $1433 = ((($x)) + 20|0);
+ $1434 = HEAP32[$1433>>2]|0;
+ $1435 = ((($x)) + 28|0);
+ $1436 = HEAP32[$1435>>2]|0;
+ $1437 = $1434 ^ $1436;
+ $1438 = ((($x)) + 52|0);
+ $1439 = HEAP32[$1438>>2]|0;
+ $1440 = $1437 ^ $1439;
+ $1441 = ((($x)) + 8|0);
+ $1442 = HEAP32[$1441>>2]|0;
+ $1443 = $1440 ^ $1442;
+ $tm = $1443;
+ $1444 = $tm;
+ $1445 = (_rol_1371($1444,1)|0);
+ $1446 = ((($x)) + 20|0);
+ HEAP32[$1446>>2] = $1445;
+ $1447 = (($1432) + ($1445))|0;
+ $1448 = $b;
+ $1449 = (($1448) + ($1447))|0;
+ $b = $1449;
+ $1450 = $d;
+ $1451 = (_rol_1371($1450,30)|0);
+ $d = $1451;
+ $1452 = $b;
+ $1453 = (_rol_1371($1452,5)|0);
+ $1454 = $c;
+ $1455 = $d;
+ $1456 = $1454 & $1455;
+ $1457 = $e;
+ $1458 = $c;
+ $1459 = $d;
+ $1460 = $1458 | $1459;
+ $1461 = $1457 & $1460;
+ $1462 = $1456 | $1461;
+ $1463 = (($1453) + ($1462))|0;
+ $1464 = (($1463) + -1894007588)|0;
+ $1465 = ((($x)) + 24|0);
+ $1466 = HEAP32[$1465>>2]|0;
+ $1467 = ((($x)) + 32|0);
+ $1468 = HEAP32[$1467>>2]|0;
+ $1469 = $1466 ^ $1468;
+ $1470 = ((($x)) + 56|0);
+ $1471 = HEAP32[$1470>>2]|0;
+ $1472 = $1469 ^ $1471;
+ $1473 = ((($x)) + 12|0);
+ $1474 = HEAP32[$1473>>2]|0;
+ $1475 = $1472 ^ $1474;
+ $tm = $1475;
+ $1476 = $tm;
+ $1477 = (_rol_1371($1476,1)|0);
+ $1478 = ((($x)) + 24|0);
+ HEAP32[$1478>>2] = $1477;
+ $1479 = (($1464) + ($1477))|0;
+ $1480 = $a;
+ $1481 = (($1480) + ($1479))|0;
+ $a = $1481;
+ $1482 = $c;
+ $1483 = (_rol_1371($1482,30)|0);
+ $c = $1483;
+ $1484 = $a;
+ $1485 = (_rol_1371($1484,5)|0);
+ $1486 = $b;
+ $1487 = $c;
+ $1488 = $1486 & $1487;
+ $1489 = $d;
+ $1490 = $b;
+ $1491 = $c;
+ $1492 = $1490 | $1491;
+ $1493 = $1489 & $1492;
+ $1494 = $1488 | $1493;
+ $1495 = (($1485) + ($1494))|0;
+ $1496 = (($1495) + -1894007588)|0;
+ $1497 = ((($x)) + 28|0);
+ $1498 = HEAP32[$1497>>2]|0;
+ $1499 = ((($x)) + 36|0);
+ $1500 = HEAP32[$1499>>2]|0;
+ $1501 = $1498 ^ $1500;
+ $1502 = ((($x)) + 60|0);
+ $1503 = HEAP32[$1502>>2]|0;
+ $1504 = $1501 ^ $1503;
+ $1505 = ((($x)) + 16|0);
+ $1506 = HEAP32[$1505>>2]|0;
+ $1507 = $1504 ^ $1506;
+ $tm = $1507;
+ $1508 = $tm;
+ $1509 = (_rol_1371($1508,1)|0);
+ $1510 = ((($x)) + 28|0);
+ HEAP32[$1510>>2] = $1509;
+ $1511 = (($1496) + ($1509))|0;
+ $1512 = $e;
+ $1513 = (($1512) + ($1511))|0;
+ $e = $1513;
+ $1514 = $b;
+ $1515 = (_rol_1371($1514,30)|0);
+ $b = $1515;
+ $1516 = $e;
+ $1517 = (_rol_1371($1516,5)|0);
+ $1518 = $a;
+ $1519 = $b;
+ $1520 = $1518 & $1519;
+ $1521 = $c;
+ $1522 = $a;
+ $1523 = $b;
+ $1524 = $1522 | $1523;
+ $1525 = $1521 & $1524;
+ $1526 = $1520 | $1525;
+ $1527 = (($1517) + ($1526))|0;
+ $1528 = (($1527) + -1894007588)|0;
+ $1529 = ((($x)) + 32|0);
+ $1530 = HEAP32[$1529>>2]|0;
+ $1531 = ((($x)) + 40|0);
+ $1532 = HEAP32[$1531>>2]|0;
+ $1533 = $1530 ^ $1532;
+ $1534 = HEAP32[$x>>2]|0;
+ $1535 = $1533 ^ $1534;
+ $1536 = ((($x)) + 20|0);
+ $1537 = HEAP32[$1536>>2]|0;
+ $1538 = $1535 ^ $1537;
+ $tm = $1538;
+ $1539 = $tm;
+ $1540 = (_rol_1371($1539,1)|0);
+ $1541 = ((($x)) + 32|0);
+ HEAP32[$1541>>2] = $1540;
+ $1542 = (($1528) + ($1540))|0;
+ $1543 = $d;
+ $1544 = (($1543) + ($1542))|0;
+ $d = $1544;
+ $1545 = $a;
+ $1546 = (_rol_1371($1545,30)|0);
+ $a = $1546;
+ $1547 = $d;
+ $1548 = (_rol_1371($1547,5)|0);
+ $1549 = $e;
+ $1550 = $a;
+ $1551 = $1549 & $1550;
+ $1552 = $b;
+ $1553 = $e;
+ $1554 = $a;
+ $1555 = $1553 | $1554;
+ $1556 = $1552 & $1555;
+ $1557 = $1551 | $1556;
+ $1558 = (($1548) + ($1557))|0;
+ $1559 = (($1558) + -1894007588)|0;
+ $1560 = ((($x)) + 36|0);
+ $1561 = HEAP32[$1560>>2]|0;
+ $1562 = ((($x)) + 44|0);
+ $1563 = HEAP32[$1562>>2]|0;
+ $1564 = $1561 ^ $1563;
+ $1565 = ((($x)) + 4|0);
+ $1566 = HEAP32[$1565>>2]|0;
+ $1567 = $1564 ^ $1566;
+ $1568 = ((($x)) + 24|0);
+ $1569 = HEAP32[$1568>>2]|0;
+ $1570 = $1567 ^ $1569;
+ $tm = $1570;
+ $1571 = $tm;
+ $1572 = (_rol_1371($1571,1)|0);
+ $1573 = ((($x)) + 36|0);
+ HEAP32[$1573>>2] = $1572;
+ $1574 = (($1559) + ($1572))|0;
+ $1575 = $c;
+ $1576 = (($1575) + ($1574))|0;
+ $c = $1576;
+ $1577 = $e;
+ $1578 = (_rol_1371($1577,30)|0);
+ $e = $1578;
+ $1579 = $c;
+ $1580 = (_rol_1371($1579,5)|0);
+ $1581 = $d;
+ $1582 = $e;
+ $1583 = $1581 & $1582;
+ $1584 = $a;
+ $1585 = $d;
+ $1586 = $e;
+ $1587 = $1585 | $1586;
+ $1588 = $1584 & $1587;
+ $1589 = $1583 | $1588;
+ $1590 = (($1580) + ($1589))|0;
+ $1591 = (($1590) + -1894007588)|0;
+ $1592 = ((($x)) + 40|0);
+ $1593 = HEAP32[$1592>>2]|0;
+ $1594 = ((($x)) + 48|0);
+ $1595 = HEAP32[$1594>>2]|0;
+ $1596 = $1593 ^ $1595;
+ $1597 = ((($x)) + 8|0);
+ $1598 = HEAP32[$1597>>2]|0;
+ $1599 = $1596 ^ $1598;
+ $1600 = ((($x)) + 28|0);
+ $1601 = HEAP32[$1600>>2]|0;
+ $1602 = $1599 ^ $1601;
+ $tm = $1602;
+ $1603 = $tm;
+ $1604 = (_rol_1371($1603,1)|0);
+ $1605 = ((($x)) + 40|0);
+ HEAP32[$1605>>2] = $1604;
+ $1606 = (($1591) + ($1604))|0;
+ $1607 = $b;
+ $1608 = (($1607) + ($1606))|0;
+ $b = $1608;
+ $1609 = $d;
+ $1610 = (_rol_1371($1609,30)|0);
+ $d = $1610;
+ $1611 = $b;
+ $1612 = (_rol_1371($1611,5)|0);
+ $1613 = $c;
+ $1614 = $d;
+ $1615 = $1613 & $1614;
+ $1616 = $e;
+ $1617 = $c;
+ $1618 = $d;
+ $1619 = $1617 | $1618;
+ $1620 = $1616 & $1619;
+ $1621 = $1615 | $1620;
+ $1622 = (($1612) + ($1621))|0;
+ $1623 = (($1622) + -1894007588)|0;
+ $1624 = ((($x)) + 44|0);
+ $1625 = HEAP32[$1624>>2]|0;
+ $1626 = ((($x)) + 52|0);
+ $1627 = HEAP32[$1626>>2]|0;
+ $1628 = $1625 ^ $1627;
+ $1629 = ((($x)) + 12|0);
+ $1630 = HEAP32[$1629>>2]|0;
+ $1631 = $1628 ^ $1630;
+ $1632 = ((($x)) + 32|0);
+ $1633 = HEAP32[$1632>>2]|0;
+ $1634 = $1631 ^ $1633;
+ $tm = $1634;
+ $1635 = $tm;
+ $1636 = (_rol_1371($1635,1)|0);
+ $1637 = ((($x)) + 44|0);
+ HEAP32[$1637>>2] = $1636;
+ $1638 = (($1623) + ($1636))|0;
+ $1639 = $a;
+ $1640 = (($1639) + ($1638))|0;
+ $a = $1640;
+ $1641 = $c;
+ $1642 = (_rol_1371($1641,30)|0);
+ $c = $1642;
+ $1643 = $a;
+ $1644 = (_rol_1371($1643,5)|0);
+ $1645 = $b;
+ $1646 = $c;
+ $1647 = $1645 ^ $1646;
+ $1648 = $d;
+ $1649 = $1647 ^ $1648;
+ $1650 = (($1644) + ($1649))|0;
+ $1651 = (($1650) + -899497514)|0;
+ $1652 = ((($x)) + 48|0);
+ $1653 = HEAP32[$1652>>2]|0;
+ $1654 = ((($x)) + 56|0);
+ $1655 = HEAP32[$1654>>2]|0;
+ $1656 = $1653 ^ $1655;
+ $1657 = ((($x)) + 16|0);
+ $1658 = HEAP32[$1657>>2]|0;
+ $1659 = $1656 ^ $1658;
+ $1660 = ((($x)) + 36|0);
+ $1661 = HEAP32[$1660>>2]|0;
+ $1662 = $1659 ^ $1661;
+ $tm = $1662;
+ $1663 = $tm;
+ $1664 = (_rol_1371($1663,1)|0);
+ $1665 = ((($x)) + 48|0);
+ HEAP32[$1665>>2] = $1664;
+ $1666 = (($1651) + ($1664))|0;
+ $1667 = $e;
+ $1668 = (($1667) + ($1666))|0;
+ $e = $1668;
+ $1669 = $b;
+ $1670 = (_rol_1371($1669,30)|0);
+ $b = $1670;
+ $1671 = $e;
+ $1672 = (_rol_1371($1671,5)|0);
+ $1673 = $a;
+ $1674 = $b;
+ $1675 = $1673 ^ $1674;
+ $1676 = $c;
+ $1677 = $1675 ^ $1676;
+ $1678 = (($1672) + ($1677))|0;
+ $1679 = (($1678) + -899497514)|0;
+ $1680 = ((($x)) + 52|0);
+ $1681 = HEAP32[$1680>>2]|0;
+ $1682 = ((($x)) + 60|0);
+ $1683 = HEAP32[$1682>>2]|0;
+ $1684 = $1681 ^ $1683;
+ $1685 = ((($x)) + 20|0);
+ $1686 = HEAP32[$1685>>2]|0;
+ $1687 = $1684 ^ $1686;
+ $1688 = ((($x)) + 40|0);
+ $1689 = HEAP32[$1688>>2]|0;
+ $1690 = $1687 ^ $1689;
+ $tm = $1690;
+ $1691 = $tm;
+ $1692 = (_rol_1371($1691,1)|0);
+ $1693 = ((($x)) + 52|0);
+ HEAP32[$1693>>2] = $1692;
+ $1694 = (($1679) + ($1692))|0;
+ $1695 = $d;
+ $1696 = (($1695) + ($1694))|0;
+ $d = $1696;
+ $1697 = $a;
+ $1698 = (_rol_1371($1697,30)|0);
+ $a = $1698;
+ $1699 = $d;
+ $1700 = (_rol_1371($1699,5)|0);
+ $1701 = $e;
+ $1702 = $a;
+ $1703 = $1701 ^ $1702;
+ $1704 = $b;
+ $1705 = $1703 ^ $1704;
+ $1706 = (($1700) + ($1705))|0;
+ $1707 = (($1706) + -899497514)|0;
+ $1708 = ((($x)) + 56|0);
+ $1709 = HEAP32[$1708>>2]|0;
+ $1710 = HEAP32[$x>>2]|0;
+ $1711 = $1709 ^ $1710;
+ $1712 = ((($x)) + 24|0);
+ $1713 = HEAP32[$1712>>2]|0;
+ $1714 = $1711 ^ $1713;
+ $1715 = ((($x)) + 44|0);
+ $1716 = HEAP32[$1715>>2]|0;
+ $1717 = $1714 ^ $1716;
+ $tm = $1717;
+ $1718 = $tm;
+ $1719 = (_rol_1371($1718,1)|0);
+ $1720 = ((($x)) + 56|0);
+ HEAP32[$1720>>2] = $1719;
+ $1721 = (($1707) + ($1719))|0;
+ $1722 = $c;
+ $1723 = (($1722) + ($1721))|0;
+ $c = $1723;
+ $1724 = $e;
+ $1725 = (_rol_1371($1724,30)|0);
+ $e = $1725;
+ $1726 = $c;
+ $1727 = (_rol_1371($1726,5)|0);
+ $1728 = $d;
+ $1729 = $e;
+ $1730 = $1728 ^ $1729;
+ $1731 = $a;
+ $1732 = $1730 ^ $1731;
+ $1733 = (($1727) + ($1732))|0;
+ $1734 = (($1733) + -899497514)|0;
+ $1735 = ((($x)) + 60|0);
+ $1736 = HEAP32[$1735>>2]|0;
+ $1737 = ((($x)) + 4|0);
+ $1738 = HEAP32[$1737>>2]|0;
+ $1739 = $1736 ^ $1738;
+ $1740 = ((($x)) + 28|0);
+ $1741 = HEAP32[$1740>>2]|0;
+ $1742 = $1739 ^ $1741;
+ $1743 = ((($x)) + 48|0);
+ $1744 = HEAP32[$1743>>2]|0;
+ $1745 = $1742 ^ $1744;
+ $tm = $1745;
+ $1746 = $tm;
+ $1747 = (_rol_1371($1746,1)|0);
+ $1748 = ((($x)) + 60|0);
+ HEAP32[$1748>>2] = $1747;
+ $1749 = (($1734) + ($1747))|0;
+ $1750 = $b;
+ $1751 = (($1750) + ($1749))|0;
+ $b = $1751;
+ $1752 = $d;
+ $1753 = (_rol_1371($1752,30)|0);
+ $d = $1753;
+ $1754 = $b;
+ $1755 = (_rol_1371($1754,5)|0);
+ $1756 = $c;
+ $1757 = $d;
+ $1758 = $1756 ^ $1757;
+ $1759 = $e;
+ $1760 = $1758 ^ $1759;
+ $1761 = (($1755) + ($1760))|0;
+ $1762 = (($1761) + -899497514)|0;
+ $1763 = HEAP32[$x>>2]|0;
+ $1764 = ((($x)) + 8|0);
+ $1765 = HEAP32[$1764>>2]|0;
+ $1766 = $1763 ^ $1765;
+ $1767 = ((($x)) + 32|0);
+ $1768 = HEAP32[$1767>>2]|0;
+ $1769 = $1766 ^ $1768;
+ $1770 = ((($x)) + 52|0);
+ $1771 = HEAP32[$1770>>2]|0;
+ $1772 = $1769 ^ $1771;
+ $tm = $1772;
+ $1773 = $tm;
+ $1774 = (_rol_1371($1773,1)|0);
+ HEAP32[$x>>2] = $1774;
+ $1775 = (($1762) + ($1774))|0;
+ $1776 = $a;
+ $1777 = (($1776) + ($1775))|0;
+ $a = $1777;
+ $1778 = $c;
+ $1779 = (_rol_1371($1778,30)|0);
+ $c = $1779;
+ $1780 = $a;
+ $1781 = (_rol_1371($1780,5)|0);
+ $1782 = $b;
+ $1783 = $c;
+ $1784 = $1782 ^ $1783;
+ $1785 = $d;
+ $1786 = $1784 ^ $1785;
+ $1787 = (($1781) + ($1786))|0;
+ $1788 = (($1787) + -899497514)|0;
+ $1789 = ((($x)) + 4|0);
+ $1790 = HEAP32[$1789>>2]|0;
+ $1791 = ((($x)) + 12|0);
+ $1792 = HEAP32[$1791>>2]|0;
+ $1793 = $1790 ^ $1792;
+ $1794 = ((($x)) + 36|0);
+ $1795 = HEAP32[$1794>>2]|0;
+ $1796 = $1793 ^ $1795;
+ $1797 = ((($x)) + 56|0);
+ $1798 = HEAP32[$1797>>2]|0;
+ $1799 = $1796 ^ $1798;
+ $tm = $1799;
+ $1800 = $tm;
+ $1801 = (_rol_1371($1800,1)|0);
+ $1802 = ((($x)) + 4|0);
+ HEAP32[$1802>>2] = $1801;
+ $1803 = (($1788) + ($1801))|0;
+ $1804 = $e;
+ $1805 = (($1804) + ($1803))|0;
+ $e = $1805;
+ $1806 = $b;
+ $1807 = (_rol_1371($1806,30)|0);
+ $b = $1807;
+ $1808 = $e;
+ $1809 = (_rol_1371($1808,5)|0);
+ $1810 = $a;
+ $1811 = $b;
+ $1812 = $1810 ^ $1811;
+ $1813 = $c;
+ $1814 = $1812 ^ $1813;
+ $1815 = (($1809) + ($1814))|0;
+ $1816 = (($1815) + -899497514)|0;
+ $1817 = ((($x)) + 8|0);
+ $1818 = HEAP32[$1817>>2]|0;
+ $1819 = ((($x)) + 16|0);
+ $1820 = HEAP32[$1819>>2]|0;
+ $1821 = $1818 ^ $1820;
+ $1822 = ((($x)) + 40|0);
+ $1823 = HEAP32[$1822>>2]|0;
+ $1824 = $1821 ^ $1823;
+ $1825 = ((($x)) + 60|0);
+ $1826 = HEAP32[$1825>>2]|0;
+ $1827 = $1824 ^ $1826;
+ $tm = $1827;
+ $1828 = $tm;
+ $1829 = (_rol_1371($1828,1)|0);
+ $1830 = ((($x)) + 8|0);
+ HEAP32[$1830>>2] = $1829;
+ $1831 = (($1816) + ($1829))|0;
+ $1832 = $d;
+ $1833 = (($1832) + ($1831))|0;
+ $d = $1833;
+ $1834 = $a;
+ $1835 = (_rol_1371($1834,30)|0);
+ $a = $1835;
+ $1836 = $d;
+ $1837 = (_rol_1371($1836,5)|0);
+ $1838 = $e;
+ $1839 = $a;
+ $1840 = $1838 ^ $1839;
+ $1841 = $b;
+ $1842 = $1840 ^ $1841;
+ $1843 = (($1837) + ($1842))|0;
+ $1844 = (($1843) + -899497514)|0;
+ $1845 = ((($x)) + 12|0);
+ $1846 = HEAP32[$1845>>2]|0;
+ $1847 = ((($x)) + 20|0);
+ $1848 = HEAP32[$1847>>2]|0;
+ $1849 = $1846 ^ $1848;
+ $1850 = ((($x)) + 44|0);
+ $1851 = HEAP32[$1850>>2]|0;
+ $1852 = $1849 ^ $1851;
+ $1853 = HEAP32[$x>>2]|0;
+ $1854 = $1852 ^ $1853;
+ $tm = $1854;
+ $1855 = $tm;
+ $1856 = (_rol_1371($1855,1)|0);
+ $1857 = ((($x)) + 12|0);
+ HEAP32[$1857>>2] = $1856;
+ $1858 = (($1844) + ($1856))|0;
+ $1859 = $c;
+ $1860 = (($1859) + ($1858))|0;
+ $c = $1860;
+ $1861 = $e;
+ $1862 = (_rol_1371($1861,30)|0);
+ $e = $1862;
+ $1863 = $c;
+ $1864 = (_rol_1371($1863,5)|0);
+ $1865 = $d;
+ $1866 = $e;
+ $1867 = $1865 ^ $1866;
+ $1868 = $a;
+ $1869 = $1867 ^ $1868;
+ $1870 = (($1864) + ($1869))|0;
+ $1871 = (($1870) + -899497514)|0;
+ $1872 = ((($x)) + 16|0);
+ $1873 = HEAP32[$1872>>2]|0;
+ $1874 = ((($x)) + 24|0);
+ $1875 = HEAP32[$1874>>2]|0;
+ $1876 = $1873 ^ $1875;
+ $1877 = ((($x)) + 48|0);
+ $1878 = HEAP32[$1877>>2]|0;
+ $1879 = $1876 ^ $1878;
+ $1880 = ((($x)) + 4|0);
+ $1881 = HEAP32[$1880>>2]|0;
+ $1882 = $1879 ^ $1881;
+ $tm = $1882;
+ $1883 = $tm;
+ $1884 = (_rol_1371($1883,1)|0);
+ $1885 = ((($x)) + 16|0);
+ HEAP32[$1885>>2] = $1884;
+ $1886 = (($1871) + ($1884))|0;
+ $1887 = $b;
+ $1888 = (($1887) + ($1886))|0;
+ $b = $1888;
+ $1889 = $d;
+ $1890 = (_rol_1371($1889,30)|0);
+ $d = $1890;
+ $1891 = $b;
+ $1892 = (_rol_1371($1891,5)|0);
+ $1893 = $c;
+ $1894 = $d;
+ $1895 = $1893 ^ $1894;
+ $1896 = $e;
+ $1897 = $1895 ^ $1896;
+ $1898 = (($1892) + ($1897))|0;
+ $1899 = (($1898) + -899497514)|0;
+ $1900 = ((($x)) + 20|0);
+ $1901 = HEAP32[$1900>>2]|0;
+ $1902 = ((($x)) + 28|0);
+ $1903 = HEAP32[$1902>>2]|0;
+ $1904 = $1901 ^ $1903;
+ $1905 = ((($x)) + 52|0);
+ $1906 = HEAP32[$1905>>2]|0;
+ $1907 = $1904 ^ $1906;
+ $1908 = ((($x)) + 8|0);
+ $1909 = HEAP32[$1908>>2]|0;
+ $1910 = $1907 ^ $1909;
+ $tm = $1910;
+ $1911 = $tm;
+ $1912 = (_rol_1371($1911,1)|0);
+ $1913 = ((($x)) + 20|0);
+ HEAP32[$1913>>2] = $1912;
+ $1914 = (($1899) + ($1912))|0;
+ $1915 = $a;
+ $1916 = (($1915) + ($1914))|0;
+ $a = $1916;
+ $1917 = $c;
+ $1918 = (_rol_1371($1917,30)|0);
+ $c = $1918;
+ $1919 = $a;
+ $1920 = (_rol_1371($1919,5)|0);
+ $1921 = $b;
+ $1922 = $c;
+ $1923 = $1921 ^ $1922;
+ $1924 = $d;
+ $1925 = $1923 ^ $1924;
+ $1926 = (($1920) + ($1925))|0;
+ $1927 = (($1926) + -899497514)|0;
+ $1928 = ((($x)) + 24|0);
+ $1929 = HEAP32[$1928>>2]|0;
+ $1930 = ((($x)) + 32|0);
+ $1931 = HEAP32[$1930>>2]|0;
+ $1932 = $1929 ^ $1931;
+ $1933 = ((($x)) + 56|0);
+ $1934 = HEAP32[$1933>>2]|0;
+ $1935 = $1932 ^ $1934;
+ $1936 = ((($x)) + 12|0);
+ $1937 = HEAP32[$1936>>2]|0;
+ $1938 = $1935 ^ $1937;
+ $tm = $1938;
+ $1939 = $tm;
+ $1940 = (_rol_1371($1939,1)|0);
+ $1941 = ((($x)) + 24|0);
+ HEAP32[$1941>>2] = $1940;
+ $1942 = (($1927) + ($1940))|0;
+ $1943 = $e;
+ $1944 = (($1943) + ($1942))|0;
+ $e = $1944;
+ $1945 = $b;
+ $1946 = (_rol_1371($1945,30)|0);
+ $b = $1946;
+ $1947 = $e;
+ $1948 = (_rol_1371($1947,5)|0);
+ $1949 = $a;
+ $1950 = $b;
+ $1951 = $1949 ^ $1950;
+ $1952 = $c;
+ $1953 = $1951 ^ $1952;
+ $1954 = (($1948) + ($1953))|0;
+ $1955 = (($1954) + -899497514)|0;
+ $1956 = ((($x)) + 28|0);
+ $1957 = HEAP32[$1956>>2]|0;
+ $1958 = ((($x)) + 36|0);
+ $1959 = HEAP32[$1958>>2]|0;
+ $1960 = $1957 ^ $1959;
+ $1961 = ((($x)) + 60|0);
+ $1962 = HEAP32[$1961>>2]|0;
+ $1963 = $1960 ^ $1962;
+ $1964 = ((($x)) + 16|0);
+ $1965 = HEAP32[$1964>>2]|0;
+ $1966 = $1963 ^ $1965;
+ $tm = $1966;
+ $1967 = $tm;
+ $1968 = (_rol_1371($1967,1)|0);
+ $1969 = ((($x)) + 28|0);
+ HEAP32[$1969>>2] = $1968;
+ $1970 = (($1955) + ($1968))|0;
+ $1971 = $d;
+ $1972 = (($1971) + ($1970))|0;
+ $d = $1972;
+ $1973 = $a;
+ $1974 = (_rol_1371($1973,30)|0);
+ $a = $1974;
+ $1975 = $d;
+ $1976 = (_rol_1371($1975,5)|0);
+ $1977 = $e;
+ $1978 = $a;
+ $1979 = $1977 ^ $1978;
+ $1980 = $b;
+ $1981 = $1979 ^ $1980;
+ $1982 = (($1976) + ($1981))|0;
+ $1983 = (($1982) + -899497514)|0;
+ $1984 = ((($x)) + 32|0);
+ $1985 = HEAP32[$1984>>2]|0;
+ $1986 = ((($x)) + 40|0);
+ $1987 = HEAP32[$1986>>2]|0;
+ $1988 = $1985 ^ $1987;
+ $1989 = HEAP32[$x>>2]|0;
+ $1990 = $1988 ^ $1989;
+ $1991 = ((($x)) + 20|0);
+ $1992 = HEAP32[$1991>>2]|0;
+ $1993 = $1990 ^ $1992;
+ $tm = $1993;
+ $1994 = $tm;
+ $1995 = (_rol_1371($1994,1)|0);
+ $1996 = ((($x)) + 32|0);
+ HEAP32[$1996>>2] = $1995;
+ $1997 = (($1983) + ($1995))|0;
+ $1998 = $c;
+ $1999 = (($1998) + ($1997))|0;
+ $c = $1999;
+ $2000 = $e;
+ $2001 = (_rol_1371($2000,30)|0);
+ $e = $2001;
+ $2002 = $c;
+ $2003 = (_rol_1371($2002,5)|0);
+ $2004 = $d;
+ $2005 = $e;
+ $2006 = $2004 ^ $2005;
+ $2007 = $a;
+ $2008 = $2006 ^ $2007;
+ $2009 = (($2003) + ($2008))|0;
+ $2010 = (($2009) + -899497514)|0;
+ $2011 = ((($x)) + 36|0);
+ $2012 = HEAP32[$2011>>2]|0;
+ $2013 = ((($x)) + 44|0);
+ $2014 = HEAP32[$2013>>2]|0;
+ $2015 = $2012 ^ $2014;
+ $2016 = ((($x)) + 4|0);
+ $2017 = HEAP32[$2016>>2]|0;
+ $2018 = $2015 ^ $2017;
+ $2019 = ((($x)) + 24|0);
+ $2020 = HEAP32[$2019>>2]|0;
+ $2021 = $2018 ^ $2020;
+ $tm = $2021;
+ $2022 = $tm;
+ $2023 = (_rol_1371($2022,1)|0);
+ $2024 = ((($x)) + 36|0);
+ HEAP32[$2024>>2] = $2023;
+ $2025 = (($2010) + ($2023))|0;
+ $2026 = $b;
+ $2027 = (($2026) + ($2025))|0;
+ $b = $2027;
+ $2028 = $d;
+ $2029 = (_rol_1371($2028,30)|0);
+ $d = $2029;
+ $2030 = $b;
+ $2031 = (_rol_1371($2030,5)|0);
+ $2032 = $c;
+ $2033 = $d;
+ $2034 = $2032 ^ $2033;
+ $2035 = $e;
+ $2036 = $2034 ^ $2035;
+ $2037 = (($2031) + ($2036))|0;
+ $2038 = (($2037) + -899497514)|0;
+ $2039 = ((($x)) + 40|0);
+ $2040 = HEAP32[$2039>>2]|0;
+ $2041 = ((($x)) + 48|0);
+ $2042 = HEAP32[$2041>>2]|0;
+ $2043 = $2040 ^ $2042;
+ $2044 = ((($x)) + 8|0);
+ $2045 = HEAP32[$2044>>2]|0;
+ $2046 = $2043 ^ $2045;
+ $2047 = ((($x)) + 28|0);
+ $2048 = HEAP32[$2047>>2]|0;
+ $2049 = $2046 ^ $2048;
+ $tm = $2049;
+ $2050 = $tm;
+ $2051 = (_rol_1371($2050,1)|0);
+ $2052 = ((($x)) + 40|0);
+ HEAP32[$2052>>2] = $2051;
+ $2053 = (($2038) + ($2051))|0;
+ $2054 = $a;
+ $2055 = (($2054) + ($2053))|0;
+ $a = $2055;
+ $2056 = $c;
+ $2057 = (_rol_1371($2056,30)|0);
+ $c = $2057;
+ $2058 = $a;
+ $2059 = (_rol_1371($2058,5)|0);
+ $2060 = $b;
+ $2061 = $c;
+ $2062 = $2060 ^ $2061;
+ $2063 = $d;
+ $2064 = $2062 ^ $2063;
+ $2065 = (($2059) + ($2064))|0;
+ $2066 = (($2065) + -899497514)|0;
+ $2067 = ((($x)) + 44|0);
+ $2068 = HEAP32[$2067>>2]|0;
+ $2069 = ((($x)) + 52|0);
+ $2070 = HEAP32[$2069>>2]|0;
+ $2071 = $2068 ^ $2070;
+ $2072 = ((($x)) + 12|0);
+ $2073 = HEAP32[$2072>>2]|0;
+ $2074 = $2071 ^ $2073;
+ $2075 = ((($x)) + 32|0);
+ $2076 = HEAP32[$2075>>2]|0;
+ $2077 = $2074 ^ $2076;
+ $tm = $2077;
+ $2078 = $tm;
+ $2079 = (_rol_1371($2078,1)|0);
+ $2080 = ((($x)) + 44|0);
+ HEAP32[$2080>>2] = $2079;
+ $2081 = (($2066) + ($2079))|0;
+ $2082 = $e;
+ $2083 = (($2082) + ($2081))|0;
+ $e = $2083;
+ $2084 = $b;
+ $2085 = (_rol_1371($2084,30)|0);
+ $b = $2085;
+ $2086 = $e;
+ $2087 = (_rol_1371($2086,5)|0);
+ $2088 = $a;
+ $2089 = $b;
+ $2090 = $2088 ^ $2089;
+ $2091 = $c;
+ $2092 = $2090 ^ $2091;
+ $2093 = (($2087) + ($2092))|0;
+ $2094 = (($2093) + -899497514)|0;
+ $2095 = ((($x)) + 48|0);
+ $2096 = HEAP32[$2095>>2]|0;
+ $2097 = ((($x)) + 56|0);
+ $2098 = HEAP32[$2097>>2]|0;
+ $2099 = $2096 ^ $2098;
+ $2100 = ((($x)) + 16|0);
+ $2101 = HEAP32[$2100>>2]|0;
+ $2102 = $2099 ^ $2101;
+ $2103 = ((($x)) + 36|0);
+ $2104 = HEAP32[$2103>>2]|0;
+ $2105 = $2102 ^ $2104;
+ $tm = $2105;
+ $2106 = $tm;
+ $2107 = (_rol_1371($2106,1)|0);
+ $2108 = ((($x)) + 48|0);
+ HEAP32[$2108>>2] = $2107;
+ $2109 = (($2094) + ($2107))|0;
+ $2110 = $d;
+ $2111 = (($2110) + ($2109))|0;
+ $d = $2111;
+ $2112 = $a;
+ $2113 = (_rol_1371($2112,30)|0);
+ $a = $2113;
+ $2114 = $d;
+ $2115 = (_rol_1371($2114,5)|0);
+ $2116 = $e;
+ $2117 = $a;
+ $2118 = $2116 ^ $2117;
+ $2119 = $b;
+ $2120 = $2118 ^ $2119;
+ $2121 = (($2115) + ($2120))|0;
+ $2122 = (($2121) + -899497514)|0;
+ $2123 = ((($x)) + 52|0);
+ $2124 = HEAP32[$2123>>2]|0;
+ $2125 = ((($x)) + 60|0);
+ $2126 = HEAP32[$2125>>2]|0;
+ $2127 = $2124 ^ $2126;
+ $2128 = ((($x)) + 20|0);
+ $2129 = HEAP32[$2128>>2]|0;
+ $2130 = $2127 ^ $2129;
+ $2131 = ((($x)) + 40|0);
+ $2132 = HEAP32[$2131>>2]|0;
+ $2133 = $2130 ^ $2132;
+ $tm = $2133;
+ $2134 = $tm;
+ $2135 = (_rol_1371($2134,1)|0);
+ $2136 = ((($x)) + 52|0);
+ HEAP32[$2136>>2] = $2135;
+ $2137 = (($2122) + ($2135))|0;
+ $2138 = $c;
+ $2139 = (($2138) + ($2137))|0;
+ $c = $2139;
+ $2140 = $e;
+ $2141 = (_rol_1371($2140,30)|0);
+ $e = $2141;
+ $2142 = $c;
+ $2143 = (_rol_1371($2142,5)|0);
+ $2144 = $d;
+ $2145 = $e;
+ $2146 = $2144 ^ $2145;
+ $2147 = $a;
+ $2148 = $2146 ^ $2147;
+ $2149 = (($2143) + ($2148))|0;
+ $2150 = (($2149) + -899497514)|0;
+ $2151 = ((($x)) + 56|0);
+ $2152 = HEAP32[$2151>>2]|0;
+ $2153 = HEAP32[$x>>2]|0;
+ $2154 = $2152 ^ $2153;
+ $2155 = ((($x)) + 24|0);
+ $2156 = HEAP32[$2155>>2]|0;
+ $2157 = $2154 ^ $2156;
+ $2158 = ((($x)) + 44|0);
+ $2159 = HEAP32[$2158>>2]|0;
+ $2160 = $2157 ^ $2159;
+ $tm = $2160;
+ $2161 = $tm;
+ $2162 = (_rol_1371($2161,1)|0);
+ $2163 = ((($x)) + 56|0);
+ HEAP32[$2163>>2] = $2162;
+ $2164 = (($2150) + ($2162))|0;
+ $2165 = $b;
+ $2166 = (($2165) + ($2164))|0;
+ $b = $2166;
+ $2167 = $d;
+ $2168 = (_rol_1371($2167,30)|0);
+ $d = $2168;
+ $2169 = $b;
+ $2170 = (_rol_1371($2169,5)|0);
+ $2171 = $c;
+ $2172 = $d;
+ $2173 = $2171 ^ $2172;
+ $2174 = $e;
+ $2175 = $2173 ^ $2174;
+ $2176 = (($2170) + ($2175))|0;
+ $2177 = (($2176) + -899497514)|0;
+ $2178 = ((($x)) + 60|0);
+ $2179 = HEAP32[$2178>>2]|0;
+ $2180 = ((($x)) + 4|0);
+ $2181 = HEAP32[$2180>>2]|0;
+ $2182 = $2179 ^ $2181;
+ $2183 = ((($x)) + 28|0);
+ $2184 = HEAP32[$2183>>2]|0;
+ $2185 = $2182 ^ $2184;
+ $2186 = ((($x)) + 48|0);
+ $2187 = HEAP32[$2186>>2]|0;
+ $2188 = $2185 ^ $2187;
+ $tm = $2188;
+ $2189 = $tm;
+ $2190 = (_rol_1371($2189,1)|0);
+ $2191 = ((($x)) + 60|0);
+ HEAP32[$2191>>2] = $2190;
+ $2192 = (($2177) + ($2190))|0;
+ $2193 = $a;
+ $2194 = (($2193) + ($2192))|0;
+ $a = $2194;
+ $2195 = $c;
+ $2196 = (_rol_1371($2195,30)|0);
+ $c = $2196;
+ $2197 = $a;
+ $2198 = $hd;
+ $2199 = ((($2198)) + 160|0);
+ $2200 = HEAP32[$2199>>2]|0;
+ $2201 = (($2200) + ($2197))|0;
+ HEAP32[$2199>>2] = $2201;
+ $2202 = $b;
+ $2203 = $hd;
+ $2204 = ((($2203)) + 164|0);
+ $2205 = HEAP32[$2204>>2]|0;
+ $2206 = (($2205) + ($2202))|0;
+ HEAP32[$2204>>2] = $2206;
+ $2207 = $c;
+ $2208 = $hd;
+ $2209 = ((($2208)) + 168|0);
+ $2210 = HEAP32[$2209>>2]|0;
+ $2211 = (($2210) + ($2207))|0;
+ HEAP32[$2209>>2] = $2211;
+ $2212 = $d;
+ $2213 = $hd;
+ $2214 = ((($2213)) + 172|0);
+ $2215 = HEAP32[$2214>>2]|0;
+ $2216 = (($2215) + ($2212))|0;
+ HEAP32[$2214>>2] = $2216;
+ $2217 = $e;
+ $2218 = $hd;
+ $2219 = ((($2218)) + 176|0);
+ $2220 = HEAP32[$2219>>2]|0;
+ $2221 = (($2220) + ($2217))|0;
+ HEAP32[$2219>>2] = $2221;
+ STACKTOP = sp;return 104;
+}
+function _rol_1371($x,$n) {
+ $x = $x|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $n;
+ $2 = $0;
+ $3 = $1;
+ $4 = $3 & 31;
+ $5 = $2 << $4;
+ $6 = $0;
+ $7 = $1;
+ $8 = (32 - ($7))|0;
+ $9 = $8 & 31;
+ $10 = $6 >>> $9;
+ $11 = $5 | $10;
+ STACKTOP = sp;return ($11|0);
+}
+function _buf_get_be32($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = $4 << 24;
+ $6 = $in;
+ $7 = ((($6)) + 1|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = $9 << 16;
+ $11 = $5 | $10;
+ $12 = $in;
+ $13 = ((($12)) + 2|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14&255;
+ $16 = $15 << 8;
+ $17 = $11 | $16;
+ $18 = $in;
+ $19 = ((($18)) + 3|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $17 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _sha1_final($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
+ var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
+ var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
+ var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $burn = 0, $hd = 0, $lsb = 0;
+ var $msb = 0, $p = 0, $t = 0, $th = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ __gcry_md_block_write($2,0,0);
+ $3 = $hd;
+ $4 = ((($3)) + 128|0);
+ $5 = $4;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($5) + 4)|0;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $t = $7;
+ $11 = $hd;
+ $12 = ((($11)) + 128|0);
+ $13 = $12;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $th = $18;
+ $19 = $t;
+ $20 = $19 << 6;
+ $lsb = $20;
+ $21 = $th;
+ $22 = $21 << 6;
+ $23 = $t;
+ $24 = $23 >>> 26;
+ $25 = $22 | $24;
+ $msb = $25;
+ $26 = $lsb;
+ $t = $26;
+ $27 = $hd;
+ $28 = ((($27)) + 144|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $lsb;
+ $31 = (($30) + ($29))|0;
+ $lsb = $31;
+ $32 = $t;
+ $33 = ($31>>>0)<($32>>>0);
+ if ($33) {
+ $34 = $msb;
+ $35 = (($34) + 1)|0;
+ $msb = $35;
+ }
+ $36 = $lsb;
+ $t = $36;
+ $37 = $lsb;
+ $38 = $37 << 3;
+ $lsb = $38;
+ $39 = $msb;
+ $40 = $39 << 3;
+ $msb = $40;
+ $41 = $t;
+ $42 = $41 >>> 29;
+ $43 = $msb;
+ $44 = $43 | $42;
+ $msb = $44;
+ $45 = $hd;
+ $46 = ((($45)) + 144|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)<(56);
+ $49 = $hd;
+ $50 = ((($49)) + 144|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($51) + 1)|0;
+ HEAP32[$50>>2] = $52;
+ $53 = $hd;
+ $54 = (($53) + ($51)|0);
+ HEAP8[$54>>0] = -128;
+ L4: do {
+ if ($48) {
+ while(1) {
+ $55 = $hd;
+ $56 = ((($55)) + 144|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)<(56);
+ if (!($58)) {
+ break L4;
+ }
+ $59 = $hd;
+ $60 = ((($59)) + 144|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = (($61) + 1)|0;
+ HEAP32[$60>>2] = $62;
+ $63 = $hd;
+ $64 = (($63) + ($61)|0);
+ HEAP8[$64>>0] = 0;
+ }
+ } else {
+ while(1) {
+ $65 = $hd;
+ $66 = ((($65)) + 144|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = ($67|0)<(64);
+ $69 = $hd;
+ if (!($68)) {
+ break;
+ }
+ $70 = ((($69)) + 144|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (($71) + 1)|0;
+ HEAP32[$70>>2] = $72;
+ $73 = $hd;
+ $74 = (($73) + ($71)|0);
+ HEAP8[$74>>0] = 0;
+ }
+ __gcry_md_block_write($69,0,0);
+ $75 = $hd;
+ dest=$75; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ } while(0);
+ $76 = $hd;
+ $77 = ((($76)) + 56|0);
+ $78 = $msb;
+ _buf_put_be32($77,$78);
+ $79 = $hd;
+ $80 = ((($79)) + 60|0);
+ $81 = $lsb;
+ _buf_put_be32($80,$81);
+ $82 = $hd;
+ $83 = $hd;
+ $84 = (_transform_1369($82,$83,1)|0);
+ $burn = $84;
+ $85 = $burn;
+ ___gcry_burn_stack($85);
+ ___gcry_burn_stack_dummy();
+ $86 = $hd;
+ $p = $86;
+ $87 = $p;
+ $88 = $hd;
+ $89 = ((($88)) + 160|0);
+ $90 = HEAP32[$89>>2]|0;
+ _buf_put_be32($87,$90);
+ $91 = $p;
+ $92 = ((($91)) + 4|0);
+ $p = $92;
+ $93 = $p;
+ $94 = $hd;
+ $95 = ((($94)) + 164|0);
+ $96 = HEAP32[$95>>2]|0;
+ _buf_put_be32($93,$96);
+ $97 = $p;
+ $98 = ((($97)) + 4|0);
+ $p = $98;
+ $99 = $p;
+ $100 = $hd;
+ $101 = ((($100)) + 168|0);
+ $102 = HEAP32[$101>>2]|0;
+ _buf_put_be32($99,$102);
+ $103 = $p;
+ $104 = ((($103)) + 4|0);
+ $p = $104;
+ $105 = $p;
+ $106 = $hd;
+ $107 = ((($106)) + 172|0);
+ $108 = HEAP32[$107>>2]|0;
+ _buf_put_be32($105,$108);
+ $109 = $p;
+ $110 = ((($109)) + 4|0);
+ $p = $110;
+ $111 = $p;
+ $112 = $hd;
+ $113 = ((($112)) + 176|0);
+ $114 = HEAP32[$113>>2]|0;
+ _buf_put_be32($111,$114);
+ $115 = $p;
+ $116 = ((($115)) + 4|0);
+ $p = $116;
+ STACKTOP = sp;return;
+}
+function _buf_put_be32($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ HEAP8[$6>>0] = $5;
+ $7 = $1;
+ $8 = $7 >>> 16;
+ $9 = $8&255;
+ $10 = $out;
+ $11 = ((($10)) + 1|0);
+ HEAP8[$11>>0] = $9;
+ $12 = $1;
+ $13 = $12 >>> 8;
+ $14 = $13&255;
+ $15 = $out;
+ $16 = ((($15)) + 2|0);
+ HEAP8[$16>>0] = $14;
+ $17 = $1;
+ $18 = $17&255;
+ $19 = $out;
+ $20 = ((($19)) + 3|0);
+ HEAP8[$20>>0] = $18;
+ STACKTOP = sp;return;
+}
+function _sha1_read($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $2 = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ STACKTOP = sp;return ($2|0);
+}
+function _run_selftests_1372($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $cond = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ $cond = ($3|0)==(2);
+ if ($cond) {
+ $4 = $1;
+ $5 = $2;
+ $6 = (_selftests_sha1_1373($4,$5)|0);
+ $ec = $6;
+ } else {
+ $ec = 5;
+ }
+ $7 = $ec;
+ STACKTOP = sp;return ($7|0);
+}
+function _selftests_sha1_1373($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 42887;
+ $3 = (__gcry_hash_selftest_check_one(2,0,42900,3,42390,20)|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if (!($5)) {
+ $6 = $1;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $what = 42953;
+ $8 = (__gcry_hash_selftest_check_one(2,0,42531,56,42411,20)|0);
+ $errtxt = $8;
+ $9 = $errtxt;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ break;
+ }
+ $what = 43127;
+ $11 = (__gcry_hash_selftest_check_one(2,1,0,0,42432,20)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ break;
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ } while(0);
+ $14 = $2;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $2;
+ $17 = $what;
+ $18 = $errtxt;
+ FUNCTION_TABLE_viiii[$16 & 63](43192,2,$17,$18);
+ }
+ $0 = 50;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function __gcry_sha1_hash_buffer($outbuf,$buffer,$length) {
+ $outbuf = $outbuf|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $hd = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp;
+ $0 = $outbuf;
+ $1 = $buffer;
+ $2 = $length;
+ _sha1_init($hd,0);
+ $3 = $1;
+ $4 = $2;
+ __gcry_md_block_write($hd,$3,$4);
+ _sha1_final($hd);
+ $5 = $0;
+ dest=$5; src=$hd; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function __gcry_sha1_hash_buffers($outbuf,$iov,$iovcnt) {
+ $outbuf = $outbuf|0;
+ $iov = $iov|0;
+ $iovcnt = $iovcnt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $hd = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp;
+ $0 = $outbuf;
+ $1 = $iov;
+ $2 = $iovcnt;
+ _sha1_init($hd,0);
+ while(1) {
+ $3 = $2;
+ $4 = ($3|0)>(0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $1;
+ $6 = ((($5)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $1;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($7) + ($10)|0);
+ $12 = $1;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_md_block_write($hd,$11,$14);
+ $15 = $1;
+ $16 = ((($15)) + 16|0);
+ $1 = $16;
+ $17 = $2;
+ $18 = (($17) + -1)|0;
+ $2 = $18;
+ }
+ _sha1_final($hd);
+ $19 = $0;
+ dest=$19; src=$hd; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function _sha224_init($context,$flags) {
+ $context = $context|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $features = 0, $hd = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $flags;
+ $2 = $0;
+ $hd = $2;
+ $3 = (__gcry_get_hw_features()|0);
+ $features = $3;
+ $4 = $hd;
+ $5 = ((($4)) + 160|0);
+ HEAP32[$5>>2] = -1056596264;
+ $6 = $hd;
+ $7 = ((($6)) + 164|0);
+ HEAP32[$7>>2] = 914150663;
+ $8 = $hd;
+ $9 = ((($8)) + 168|0);
+ HEAP32[$9>>2] = 812702999;
+ $10 = $hd;
+ $11 = ((($10)) + 172|0);
+ HEAP32[$11>>2] = -150054599;
+ $12 = $hd;
+ $13 = ((($12)) + 176|0);
+ HEAP32[$13>>2] = -4191439;
+ $14 = $hd;
+ $15 = ((($14)) + 180|0);
+ HEAP32[$15>>2] = 1750603025;
+ $16 = $hd;
+ $17 = ((($16)) + 184|0);
+ HEAP32[$17>>2] = 1694076839;
+ $18 = $hd;
+ $19 = ((($18)) + 188|0);
+ HEAP32[$19>>2] = -1090891868;
+ $20 = $hd;
+ $21 = ((($20)) + 128|0);
+ $22 = $21;
+ $23 = $22;
+ HEAP32[$23>>2] = 0;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = 0;
+ $26 = $hd;
+ $27 = ((($26)) + 136|0);
+ $28 = $27;
+ $29 = $28;
+ HEAP32[$29>>2] = 0;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = 0;
+ $32 = $hd;
+ $33 = ((($32)) + 144|0);
+ HEAP32[$33>>2] = 0;
+ $34 = $hd;
+ $35 = ((($34)) + 148|0);
+ HEAP32[$35>>2] = 64;
+ $36 = $hd;
+ $37 = ((($36)) + 152|0);
+ HEAP32[$37>>2] = 75;
+ STACKTOP = sp;return;
+}
+function _transform_1391($ctx,$data,$nblks) {
+ $ctx = $ctx|0;
+ $data = $data|0;
+ $nblks = $nblks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $data;
+ $2 = $nblks;
+ $3 = $0;
+ $hd = $3;
+ while(1) {
+ $4 = $hd;
+ $5 = $1;
+ $6 = (_transform_blk_1392($4,$5)|0);
+ $burn = $6;
+ $7 = $1;
+ $8 = ((($7)) + 64|0);
+ $1 = $8;
+ $9 = $2;
+ $10 = (($9) + -1)|0;
+ $2 = $10;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ break;
+ }
+ }
+ $12 = $burn;
+ STACKTOP = sp;return ($12|0);
+}
+function _transform_blk_1392($ctx,$data) {
+ $ctx = $ctx|0;
+ $data = $data|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $b = 0, $c = 0, $d = 0, $e = 0, $f = 0, $g = 0, $h = 0, $hd = 0, $i = 0, $t1 = 0, $t2 = 0, $w = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $w = sp + 8|0;
+ $0 = $ctx;
+ $1 = $data;
+ $2 = $0;
+ $hd = $2;
+ $3 = $hd;
+ $4 = ((($3)) + 160|0);
+ $5 = HEAP32[$4>>2]|0;
+ $a = $5;
+ $6 = $hd;
+ $7 = ((($6)) + 164|0);
+ $8 = HEAP32[$7>>2]|0;
+ $b = $8;
+ $9 = $hd;
+ $10 = ((($9)) + 168|0);
+ $11 = HEAP32[$10>>2]|0;
+ $c = $11;
+ $12 = $hd;
+ $13 = ((($12)) + 172|0);
+ $14 = HEAP32[$13>>2]|0;
+ $d = $14;
+ $15 = $hd;
+ $16 = ((($15)) + 176|0);
+ $17 = HEAP32[$16>>2]|0;
+ $e = $17;
+ $18 = $hd;
+ $19 = ((($18)) + 180|0);
+ $20 = HEAP32[$19>>2]|0;
+ $f = $20;
+ $21 = $hd;
+ $22 = ((($21)) + 184|0);
+ $23 = HEAP32[$22>>2]|0;
+ $g = $23;
+ $24 = $hd;
+ $25 = ((($24)) + 188|0);
+ $26 = HEAP32[$25>>2]|0;
+ $h = $26;
+ $i = 0;
+ while(1) {
+ $27 = $i;
+ $28 = ($27|0)<(16);
+ if (!($28)) {
+ break;
+ }
+ $29 = $1;
+ $30 = $i;
+ $31 = $30<<2;
+ $32 = (($29) + ($31)|0);
+ $33 = (_buf_get_be32_1393($32)|0);
+ $34 = $i;
+ $35 = (($w) + ($34<<2)|0);
+ HEAP32[$35>>2] = $33;
+ $36 = $i;
+ $37 = (($36) + 1)|0;
+ $i = $37;
+ }
+ while(1) {
+ $38 = $i;
+ $39 = ($38|0)<(64);
+ if (!($39)) {
+ break;
+ }
+ $40 = $i;
+ $41 = (($40) - 2)|0;
+ $42 = (($w) + ($41<<2)|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (_ror($43,17)|0);
+ $45 = $i;
+ $46 = (($45) - 2)|0;
+ $47 = (($w) + ($46<<2)|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (_ror($48,19)|0);
+ $50 = $44 ^ $49;
+ $51 = $i;
+ $52 = (($51) - 2)|0;
+ $53 = (($w) + ($52<<2)|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $54 >>> 10;
+ $56 = $50 ^ $55;
+ $57 = $i;
+ $58 = (($57) - 7)|0;
+ $59 = (($w) + ($58<<2)|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (($56) + ($60))|0;
+ $62 = $i;
+ $63 = (($62) - 15)|0;
+ $64 = (($w) + ($63<<2)|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (_ror($65,7)|0);
+ $67 = $i;
+ $68 = (($67) - 15)|0;
+ $69 = (($w) + ($68<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (_ror($70,18)|0);
+ $72 = $66 ^ $71;
+ $73 = $i;
+ $74 = (($73) - 15)|0;
+ $75 = (($w) + ($74<<2)|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $76 >>> 3;
+ $78 = $72 ^ $77;
+ $79 = (($61) + ($78))|0;
+ $80 = $i;
+ $81 = (($80) - 16)|0;
+ $82 = (($w) + ($81<<2)|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = (($79) + ($83))|0;
+ $85 = $i;
+ $86 = (($w) + ($85<<2)|0);
+ HEAP32[$86>>2] = $84;
+ $87 = $i;
+ $88 = (($87) + 1)|0;
+ $i = $88;
+ }
+ $i = 0;
+ while(1) {
+ $89 = $i;
+ $90 = ($89|0)<(64);
+ if (!($90)) {
+ break;
+ }
+ $91 = $h;
+ $92 = $e;
+ $93 = (_Sum1($92)|0);
+ $94 = (($91) + ($93))|0;
+ $95 = $e;
+ $96 = $f;
+ $97 = $g;
+ $98 = (_Cho($95,$96,$97)|0);
+ $99 = (($94) + ($98))|0;
+ $100 = $i;
+ $101 = (7864 + ($100<<2)|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = (($99) + ($102))|0;
+ $104 = $i;
+ $105 = (($w) + ($104<<2)|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = (($103) + ($106))|0;
+ $t1 = $107;
+ $108 = $a;
+ $109 = (_Sum0($108)|0);
+ $110 = $a;
+ $111 = $b;
+ $112 = $c;
+ $113 = (_Maj($110,$111,$112)|0);
+ $114 = (($109) + ($113))|0;
+ $t2 = $114;
+ $115 = $t1;
+ $116 = $d;
+ $117 = (($116) + ($115))|0;
+ $d = $117;
+ $118 = $t1;
+ $119 = $t2;
+ $120 = (($118) + ($119))|0;
+ $h = $120;
+ $121 = $g;
+ $122 = $d;
+ $123 = (_Sum1($122)|0);
+ $124 = (($121) + ($123))|0;
+ $125 = $d;
+ $126 = $e;
+ $127 = $f;
+ $128 = (_Cho($125,$126,$127)|0);
+ $129 = (($124) + ($128))|0;
+ $130 = $i;
+ $131 = (($130) + 1)|0;
+ $132 = (7864 + ($131<<2)|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($129) + ($133))|0;
+ $135 = $i;
+ $136 = (($135) + 1)|0;
+ $137 = (($w) + ($136<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (($134) + ($138))|0;
+ $t1 = $139;
+ $140 = $h;
+ $141 = (_Sum0($140)|0);
+ $142 = $h;
+ $143 = $a;
+ $144 = $b;
+ $145 = (_Maj($142,$143,$144)|0);
+ $146 = (($141) + ($145))|0;
+ $t2 = $146;
+ $147 = $t1;
+ $148 = $c;
+ $149 = (($148) + ($147))|0;
+ $c = $149;
+ $150 = $t1;
+ $151 = $t2;
+ $152 = (($150) + ($151))|0;
+ $g = $152;
+ $153 = $f;
+ $154 = $c;
+ $155 = (_Sum1($154)|0);
+ $156 = (($153) + ($155))|0;
+ $157 = $c;
+ $158 = $d;
+ $159 = $e;
+ $160 = (_Cho($157,$158,$159)|0);
+ $161 = (($156) + ($160))|0;
+ $162 = $i;
+ $163 = (($162) + 2)|0;
+ $164 = (7864 + ($163<<2)|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = (($161) + ($165))|0;
+ $167 = $i;
+ $168 = (($167) + 2)|0;
+ $169 = (($w) + ($168<<2)|0);
+ $170 = HEAP32[$169>>2]|0;
+ $171 = (($166) + ($170))|0;
+ $t1 = $171;
+ $172 = $g;
+ $173 = (_Sum0($172)|0);
+ $174 = $g;
+ $175 = $h;
+ $176 = $a;
+ $177 = (_Maj($174,$175,$176)|0);
+ $178 = (($173) + ($177))|0;
+ $t2 = $178;
+ $179 = $t1;
+ $180 = $b;
+ $181 = (($180) + ($179))|0;
+ $b = $181;
+ $182 = $t1;
+ $183 = $t2;
+ $184 = (($182) + ($183))|0;
+ $f = $184;
+ $185 = $e;
+ $186 = $b;
+ $187 = (_Sum1($186)|0);
+ $188 = (($185) + ($187))|0;
+ $189 = $b;
+ $190 = $c;
+ $191 = $d;
+ $192 = (_Cho($189,$190,$191)|0);
+ $193 = (($188) + ($192))|0;
+ $194 = $i;
+ $195 = (($194) + 3)|0;
+ $196 = (7864 + ($195<<2)|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = (($193) + ($197))|0;
+ $199 = $i;
+ $200 = (($199) + 3)|0;
+ $201 = (($w) + ($200<<2)|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = (($198) + ($202))|0;
+ $t1 = $203;
+ $204 = $f;
+ $205 = (_Sum0($204)|0);
+ $206 = $f;
+ $207 = $g;
+ $208 = $h;
+ $209 = (_Maj($206,$207,$208)|0);
+ $210 = (($205) + ($209))|0;
+ $t2 = $210;
+ $211 = $t1;
+ $212 = $a;
+ $213 = (($212) + ($211))|0;
+ $a = $213;
+ $214 = $t1;
+ $215 = $t2;
+ $216 = (($214) + ($215))|0;
+ $e = $216;
+ $217 = $d;
+ $218 = $a;
+ $219 = (_Sum1($218)|0);
+ $220 = (($217) + ($219))|0;
+ $221 = $a;
+ $222 = $b;
+ $223 = $c;
+ $224 = (_Cho($221,$222,$223)|0);
+ $225 = (($220) + ($224))|0;
+ $226 = $i;
+ $227 = (($226) + 4)|0;
+ $228 = (7864 + ($227<<2)|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = (($225) + ($229))|0;
+ $231 = $i;
+ $232 = (($231) + 4)|0;
+ $233 = (($w) + ($232<<2)|0);
+ $234 = HEAP32[$233>>2]|0;
+ $235 = (($230) + ($234))|0;
+ $t1 = $235;
+ $236 = $e;
+ $237 = (_Sum0($236)|0);
+ $238 = $e;
+ $239 = $f;
+ $240 = $g;
+ $241 = (_Maj($238,$239,$240)|0);
+ $242 = (($237) + ($241))|0;
+ $t2 = $242;
+ $243 = $t1;
+ $244 = $h;
+ $245 = (($244) + ($243))|0;
+ $h = $245;
+ $246 = $t1;
+ $247 = $t2;
+ $248 = (($246) + ($247))|0;
+ $d = $248;
+ $249 = $c;
+ $250 = $h;
+ $251 = (_Sum1($250)|0);
+ $252 = (($249) + ($251))|0;
+ $253 = $h;
+ $254 = $a;
+ $255 = $b;
+ $256 = (_Cho($253,$254,$255)|0);
+ $257 = (($252) + ($256))|0;
+ $258 = $i;
+ $259 = (($258) + 5)|0;
+ $260 = (7864 + ($259<<2)|0);
+ $261 = HEAP32[$260>>2]|0;
+ $262 = (($257) + ($261))|0;
+ $263 = $i;
+ $264 = (($263) + 5)|0;
+ $265 = (($w) + ($264<<2)|0);
+ $266 = HEAP32[$265>>2]|0;
+ $267 = (($262) + ($266))|0;
+ $t1 = $267;
+ $268 = $d;
+ $269 = (_Sum0($268)|0);
+ $270 = $d;
+ $271 = $e;
+ $272 = $f;
+ $273 = (_Maj($270,$271,$272)|0);
+ $274 = (($269) + ($273))|0;
+ $t2 = $274;
+ $275 = $t1;
+ $276 = $g;
+ $277 = (($276) + ($275))|0;
+ $g = $277;
+ $278 = $t1;
+ $279 = $t2;
+ $280 = (($278) + ($279))|0;
+ $c = $280;
+ $281 = $b;
+ $282 = $g;
+ $283 = (_Sum1($282)|0);
+ $284 = (($281) + ($283))|0;
+ $285 = $g;
+ $286 = $h;
+ $287 = $a;
+ $288 = (_Cho($285,$286,$287)|0);
+ $289 = (($284) + ($288))|0;
+ $290 = $i;
+ $291 = (($290) + 6)|0;
+ $292 = (7864 + ($291<<2)|0);
+ $293 = HEAP32[$292>>2]|0;
+ $294 = (($289) + ($293))|0;
+ $295 = $i;
+ $296 = (($295) + 6)|0;
+ $297 = (($w) + ($296<<2)|0);
+ $298 = HEAP32[$297>>2]|0;
+ $299 = (($294) + ($298))|0;
+ $t1 = $299;
+ $300 = $c;
+ $301 = (_Sum0($300)|0);
+ $302 = $c;
+ $303 = $d;
+ $304 = $e;
+ $305 = (_Maj($302,$303,$304)|0);
+ $306 = (($301) + ($305))|0;
+ $t2 = $306;
+ $307 = $t1;
+ $308 = $f;
+ $309 = (($308) + ($307))|0;
+ $f = $309;
+ $310 = $t1;
+ $311 = $t2;
+ $312 = (($310) + ($311))|0;
+ $b = $312;
+ $313 = $a;
+ $314 = $f;
+ $315 = (_Sum1($314)|0);
+ $316 = (($313) + ($315))|0;
+ $317 = $f;
+ $318 = $g;
+ $319 = $h;
+ $320 = (_Cho($317,$318,$319)|0);
+ $321 = (($316) + ($320))|0;
+ $322 = $i;
+ $323 = (($322) + 7)|0;
+ $324 = (7864 + ($323<<2)|0);
+ $325 = HEAP32[$324>>2]|0;
+ $326 = (($321) + ($325))|0;
+ $327 = $i;
+ $328 = (($327) + 7)|0;
+ $329 = (($w) + ($328<<2)|0);
+ $330 = HEAP32[$329>>2]|0;
+ $331 = (($326) + ($330))|0;
+ $t1 = $331;
+ $332 = $b;
+ $333 = (_Sum0($332)|0);
+ $334 = $b;
+ $335 = $c;
+ $336 = $d;
+ $337 = (_Maj($334,$335,$336)|0);
+ $338 = (($333) + ($337))|0;
+ $t2 = $338;
+ $339 = $t1;
+ $340 = $e;
+ $341 = (($340) + ($339))|0;
+ $e = $341;
+ $342 = $t1;
+ $343 = $t2;
+ $344 = (($342) + ($343))|0;
+ $a = $344;
+ $345 = $i;
+ $346 = (($345) + 8)|0;
+ $i = $346;
+ }
+ $347 = $a;
+ $348 = $hd;
+ $349 = ((($348)) + 160|0);
+ $350 = HEAP32[$349>>2]|0;
+ $351 = (($350) + ($347))|0;
+ HEAP32[$349>>2] = $351;
+ $352 = $b;
+ $353 = $hd;
+ $354 = ((($353)) + 164|0);
+ $355 = HEAP32[$354>>2]|0;
+ $356 = (($355) + ($352))|0;
+ HEAP32[$354>>2] = $356;
+ $357 = $c;
+ $358 = $hd;
+ $359 = ((($358)) + 168|0);
+ $360 = HEAP32[$359>>2]|0;
+ $361 = (($360) + ($357))|0;
+ HEAP32[$359>>2] = $361;
+ $362 = $d;
+ $363 = $hd;
+ $364 = ((($363)) + 172|0);
+ $365 = HEAP32[$364>>2]|0;
+ $366 = (($365) + ($362))|0;
+ HEAP32[$364>>2] = $366;
+ $367 = $e;
+ $368 = $hd;
+ $369 = ((($368)) + 176|0);
+ $370 = HEAP32[$369>>2]|0;
+ $371 = (($370) + ($367))|0;
+ HEAP32[$369>>2] = $371;
+ $372 = $f;
+ $373 = $hd;
+ $374 = ((($373)) + 180|0);
+ $375 = HEAP32[$374>>2]|0;
+ $376 = (($375) + ($372))|0;
+ HEAP32[$374>>2] = $376;
+ $377 = $g;
+ $378 = $hd;
+ $379 = ((($378)) + 184|0);
+ $380 = HEAP32[$379>>2]|0;
+ $381 = (($380) + ($377))|0;
+ HEAP32[$379>>2] = $381;
+ $382 = $h;
+ $383 = $hd;
+ $384 = ((($383)) + 188|0);
+ $385 = HEAP32[$384>>2]|0;
+ $386 = (($385) + ($382))|0;
+ HEAP32[$384>>2] = $386;
+ STACKTOP = sp;return 328;
+}
+function _buf_get_be32_1393($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = $4 << 24;
+ $6 = $in;
+ $7 = ((($6)) + 1|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = $9 << 16;
+ $11 = $5 | $10;
+ $12 = $in;
+ $13 = ((($12)) + 2|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14&255;
+ $16 = $15 << 8;
+ $17 = $11 | $16;
+ $18 = $in;
+ $19 = ((($18)) + 3|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $17 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _ror($x,$n) {
+ $x = $x|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $n;
+ $2 = $0;
+ $3 = $1;
+ $4 = $3 & 31;
+ $5 = $2 >>> $4;
+ $6 = $0;
+ $7 = $1;
+ $8 = (32 - ($7))|0;
+ $9 = $8 & 31;
+ $10 = $6 << $9;
+ $11 = $5 | $10;
+ STACKTOP = sp;return ($11|0);
+}
+function _Sum1($x) {
+ $x = $x|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $0;
+ $2 = (_ror($1,6)|0);
+ $3 = $0;
+ $4 = (_ror($3,11)|0);
+ $5 = $2 ^ $4;
+ $6 = $0;
+ $7 = (_ror($6,25)|0);
+ $8 = $5 ^ $7;
+ STACKTOP = sp;return ($8|0);
+}
+function _Cho($x,$y,$z) {
+ $x = $x|0;
+ $y = $y|0;
+ $z = $z|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $y;
+ $2 = $z;
+ $3 = $2;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $5 ^ $6;
+ $8 = $4 & $7;
+ $9 = $3 ^ $8;
+ STACKTOP = sp;return ($9|0);
+}
+function _Sum0($x) {
+ $x = $x|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $0;
+ $2 = (_ror($1,2)|0);
+ $3 = $0;
+ $4 = (_ror($3,13)|0);
+ $5 = $2 ^ $4;
+ $6 = $0;
+ $7 = (_ror($6,22)|0);
+ $8 = $5 ^ $7;
+ STACKTOP = sp;return ($8|0);
+}
+function _Maj($x,$y,$z) {
+ $x = $x|0;
+ $y = $y|0;
+ $z = $z|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $y;
+ $2 = $z;
+ $3 = $0;
+ $4 = $1;
+ $5 = $3 & $4;
+ $6 = $2;
+ $7 = $0;
+ $8 = $1;
+ $9 = $7 | $8;
+ $10 = $6 & $9;
+ $11 = $5 | $10;
+ STACKTOP = sp;return ($11|0);
+}
+function _sha256_final($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $burn = 0, $hd = 0, $lsb = 0, $msb = 0, $p = 0;
+ var $t = 0, $th = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ __gcry_md_block_write($2,0,0);
+ $3 = $hd;
+ $4 = ((($3)) + 128|0);
+ $5 = $4;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($5) + 4)|0;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $t = $7;
+ $11 = $hd;
+ $12 = ((($11)) + 128|0);
+ $13 = $12;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($13) + 4)|0;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $th = $18;
+ $19 = $t;
+ $20 = $19 << 6;
+ $lsb = $20;
+ $21 = $th;
+ $22 = $21 << 6;
+ $23 = $t;
+ $24 = $23 >>> 26;
+ $25 = $22 | $24;
+ $msb = $25;
+ $26 = $lsb;
+ $t = $26;
+ $27 = $hd;
+ $28 = ((($27)) + 144|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $lsb;
+ $31 = (($30) + ($29))|0;
+ $lsb = $31;
+ $32 = $t;
+ $33 = ($31>>>0)<($32>>>0);
+ if ($33) {
+ $34 = $msb;
+ $35 = (($34) + 1)|0;
+ $msb = $35;
+ }
+ $36 = $lsb;
+ $t = $36;
+ $37 = $lsb;
+ $38 = $37 << 3;
+ $lsb = $38;
+ $39 = $msb;
+ $40 = $39 << 3;
+ $msb = $40;
+ $41 = $t;
+ $42 = $41 >>> 29;
+ $43 = $msb;
+ $44 = $43 | $42;
+ $msb = $44;
+ $45 = $hd;
+ $46 = ((($45)) + 144|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)<(56);
+ $49 = $hd;
+ $50 = ((($49)) + 144|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = (($51) + 1)|0;
+ HEAP32[$50>>2] = $52;
+ $53 = $hd;
+ $54 = (($53) + ($51)|0);
+ HEAP8[$54>>0] = -128;
+ L4: do {
+ if ($48) {
+ while(1) {
+ $55 = $hd;
+ $56 = ((($55)) + 144|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)<(56);
+ if (!($58)) {
+ break L4;
+ }
+ $59 = $hd;
+ $60 = ((($59)) + 144|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = (($61) + 1)|0;
+ HEAP32[$60>>2] = $62;
+ $63 = $hd;
+ $64 = (($63) + ($61)|0);
+ HEAP8[$64>>0] = 0;
+ }
+ } else {
+ while(1) {
+ $65 = $hd;
+ $66 = ((($65)) + 144|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = ($67|0)<(64);
+ $69 = $hd;
+ if (!($68)) {
+ break;
+ }
+ $70 = ((($69)) + 144|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = (($71) + 1)|0;
+ HEAP32[$70>>2] = $72;
+ $73 = $hd;
+ $74 = (($73) + ($71)|0);
+ HEAP8[$74>>0] = 0;
+ }
+ __gcry_md_block_write($69,0,0);
+ $75 = $hd;
+ dest=$75; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ } while(0);
+ $76 = $hd;
+ $77 = ((($76)) + 56|0);
+ $78 = $msb;
+ _buf_put_be32_1394($77,$78);
+ $79 = $hd;
+ $80 = ((($79)) + 60|0);
+ $81 = $lsb;
+ _buf_put_be32_1394($80,$81);
+ $82 = $hd;
+ $83 = $hd;
+ $84 = (_transform_1391($82,$83,1)|0);
+ $burn = $84;
+ $85 = $burn;
+ ___gcry_burn_stack($85);
+ ___gcry_burn_stack_dummy();
+ $86 = $hd;
+ $p = $86;
+ $87 = $p;
+ $88 = $hd;
+ $89 = ((($88)) + 160|0);
+ $90 = HEAP32[$89>>2]|0;
+ _buf_put_be32_1394($87,$90);
+ $91 = $p;
+ $92 = ((($91)) + 4|0);
+ $p = $92;
+ $93 = $p;
+ $94 = $hd;
+ $95 = ((($94)) + 164|0);
+ $96 = HEAP32[$95>>2]|0;
+ _buf_put_be32_1394($93,$96);
+ $97 = $p;
+ $98 = ((($97)) + 4|0);
+ $p = $98;
+ $99 = $p;
+ $100 = $hd;
+ $101 = ((($100)) + 168|0);
+ $102 = HEAP32[$101>>2]|0;
+ _buf_put_be32_1394($99,$102);
+ $103 = $p;
+ $104 = ((($103)) + 4|0);
+ $p = $104;
+ $105 = $p;
+ $106 = $hd;
+ $107 = ((($106)) + 172|0);
+ $108 = HEAP32[$107>>2]|0;
+ _buf_put_be32_1394($105,$108);
+ $109 = $p;
+ $110 = ((($109)) + 4|0);
+ $p = $110;
+ $111 = $p;
+ $112 = $hd;
+ $113 = ((($112)) + 176|0);
+ $114 = HEAP32[$113>>2]|0;
+ _buf_put_be32_1394($111,$114);
+ $115 = $p;
+ $116 = ((($115)) + 4|0);
+ $p = $116;
+ $117 = $p;
+ $118 = $hd;
+ $119 = ((($118)) + 180|0);
+ $120 = HEAP32[$119>>2]|0;
+ _buf_put_be32_1394($117,$120);
+ $121 = $p;
+ $122 = ((($121)) + 4|0);
+ $p = $122;
+ $123 = $p;
+ $124 = $hd;
+ $125 = ((($124)) + 184|0);
+ $126 = HEAP32[$125>>2]|0;
+ _buf_put_be32_1394($123,$126);
+ $127 = $p;
+ $128 = ((($127)) + 4|0);
+ $p = $128;
+ $129 = $p;
+ $130 = $hd;
+ $131 = ((($130)) + 188|0);
+ $132 = HEAP32[$131>>2]|0;
+ _buf_put_be32_1394($129,$132);
+ $133 = $p;
+ $134 = ((($133)) + 4|0);
+ $p = $134;
+ STACKTOP = sp;return;
+}
+function _buf_put_be32_1394($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ HEAP8[$6>>0] = $5;
+ $7 = $1;
+ $8 = $7 >>> 16;
+ $9 = $8&255;
+ $10 = $out;
+ $11 = ((($10)) + 1|0);
+ HEAP8[$11>>0] = $9;
+ $12 = $1;
+ $13 = $12 >>> 8;
+ $14 = $13&255;
+ $15 = $out;
+ $16 = ((($15)) + 2|0);
+ HEAP8[$16>>0] = $14;
+ $17 = $1;
+ $18 = $17&255;
+ $19 = $out;
+ $20 = ((($19)) + 3|0);
+ HEAP8[$20>>0] = $18;
+ STACKTOP = sp;return;
+}
+function _sha256_read($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $2 = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ STACKTOP = sp;return ($2|0);
+}
+function _run_selftests_1395($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ switch ($3|0) {
+ case 11: {
+ $4 = $1;
+ $5 = $2;
+ $6 = (_selftests_sha224_1396($4,$5)|0);
+ $ec = $6;
+ break;
+ }
+ case 8: {
+ $7 = $1;
+ $8 = $2;
+ $9 = (_selftests_sha256_1406($7,$8)|0);
+ $ec = $9;
+ break;
+ }
+ default: {
+ $ec = 5;
+ }
+ }
+ $10 = $ec;
+ STACKTOP = sp;return ($10|0);
+}
+function _selftests_sha224_1396($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 42887;
+ $3 = (__gcry_hash_selftest_check_one(11,0,42900,3,42502,28)|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if (!($5)) {
+ $6 = $1;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $what = 42953;
+ $8 = (__gcry_hash_selftest_check_one(11,0,42531,56,42588,28)|0);
+ $errtxt = $8;
+ $9 = $errtxt;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ break;
+ }
+ $what = 43127;
+ $11 = (__gcry_hash_selftest_check_one(11,1,0,0,42617,28)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ break;
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ } while(0);
+ $14 = $2;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $2;
+ $17 = $what;
+ $18 = $errtxt;
+ FUNCTION_TABLE_viiii[$16 & 63](43192,11,$17,$18);
+ }
+ $0 = 50;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _selftests_sha256_1406($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 42887;
+ $3 = (__gcry_hash_selftest_check_one(8,0,42900,3,42646,32)|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if (!($5)) {
+ $6 = $1;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $what = 42953;
+ $8 = (__gcry_hash_selftest_check_one(8,0,42531,56,42679,32)|0);
+ $errtxt = $8;
+ $9 = $errtxt;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ break;
+ }
+ $what = 43127;
+ $11 = (__gcry_hash_selftest_check_one(8,1,0,0,42712,32)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ break;
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ } while(0);
+ $14 = $2;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $2;
+ $17 = $what;
+ $18 = $errtxt;
+ FUNCTION_TABLE_viiii[$16 & 63](43192,8,$17,$18);
+ }
+ $0 = 50;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _sha256_init($context,$flags) {
+ $context = $context|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $features = 0, $hd = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $flags;
+ $2 = $0;
+ $hd = $2;
+ $3 = (__gcry_get_hw_features()|0);
+ $features = $3;
+ $4 = $hd;
+ $5 = ((($4)) + 160|0);
+ HEAP32[$5>>2] = 1779033703;
+ $6 = $hd;
+ $7 = ((($6)) + 164|0);
+ HEAP32[$7>>2] = -1150833019;
+ $8 = $hd;
+ $9 = ((($8)) + 168|0);
+ HEAP32[$9>>2] = 1013904242;
+ $10 = $hd;
+ $11 = ((($10)) + 172|0);
+ HEAP32[$11>>2] = -1521486534;
+ $12 = $hd;
+ $13 = ((($12)) + 176|0);
+ HEAP32[$13>>2] = 1359893119;
+ $14 = $hd;
+ $15 = ((($14)) + 180|0);
+ HEAP32[$15>>2] = -1694144372;
+ $16 = $hd;
+ $17 = ((($16)) + 184|0);
+ HEAP32[$17>>2] = 528734635;
+ $18 = $hd;
+ $19 = ((($18)) + 188|0);
+ HEAP32[$19>>2] = 1541459225;
+ $20 = $hd;
+ $21 = ((($20)) + 128|0);
+ $22 = $21;
+ $23 = $22;
+ HEAP32[$23>>2] = 0;
+ $24 = (($22) + 4)|0;
+ $25 = $24;
+ HEAP32[$25>>2] = 0;
+ $26 = $hd;
+ $27 = ((($26)) + 136|0);
+ $28 = $27;
+ $29 = $28;
+ HEAP32[$29>>2] = 0;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = 0;
+ $32 = $hd;
+ $33 = ((($32)) + 144|0);
+ HEAP32[$33>>2] = 0;
+ $34 = $hd;
+ $35 = ((($34)) + 148|0);
+ HEAP32[$35>>2] = 64;
+ $36 = $hd;
+ $37 = ((($36)) + 152|0);
+ HEAP32[$37>>2] = 75;
+ STACKTOP = sp;return;
+}
+function _sha512_init($context,$flags) {
+ $context = $context|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $ctx = 0, $features = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $flags;
+ $2 = $0;
+ $ctx = $2;
+ $3 = $ctx;
+ $4 = ((($3)) + 160|0);
+ $hd = $4;
+ $5 = (__gcry_get_hw_features()|0);
+ $features = $5;
+ $6 = $hd;
+ $7 = $6;
+ $8 = $7;
+ HEAP32[$8>>2] = -205731576;
+ $9 = (($7) + 4)|0;
+ $10 = $9;
+ HEAP32[$10>>2] = 1779033703;
+ $11 = $hd;
+ $12 = ((($11)) + 8|0);
+ $13 = $12;
+ $14 = $13;
+ HEAP32[$14>>2] = -2067093701;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP32[$16>>2] = -1150833019;
+ $17 = $hd;
+ $18 = ((($17)) + 16|0);
+ $19 = $18;
+ $20 = $19;
+ HEAP32[$20>>2] = -23791573;
+ $21 = (($19) + 4)|0;
+ $22 = $21;
+ HEAP32[$22>>2] = 1013904242;
+ $23 = $hd;
+ $24 = ((($23)) + 24|0);
+ $25 = $24;
+ $26 = $25;
+ HEAP32[$26>>2] = 1595750129;
+ $27 = (($25) + 4)|0;
+ $28 = $27;
+ HEAP32[$28>>2] = -1521486534;
+ $29 = $hd;
+ $30 = ((($29)) + 32|0);
+ $31 = $30;
+ $32 = $31;
+ HEAP32[$32>>2] = -1377402159;
+ $33 = (($31) + 4)|0;
+ $34 = $33;
+ HEAP32[$34>>2] = 1359893119;
+ $35 = $hd;
+ $36 = ((($35)) + 40|0);
+ $37 = $36;
+ $38 = $37;
+ HEAP32[$38>>2] = 725511199;
+ $39 = (($37) + 4)|0;
+ $40 = $39;
+ HEAP32[$40>>2] = -1694144372;
+ $41 = $hd;
+ $42 = ((($41)) + 48|0);
+ $43 = $42;
+ $44 = $43;
+ HEAP32[$44>>2] = -79577749;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = 528734635;
+ $47 = $hd;
+ $48 = ((($47)) + 56|0);
+ $49 = $48;
+ $50 = $49;
+ HEAP32[$50>>2] = 327033209;
+ $51 = (($49) + 4)|0;
+ $52 = $51;
+ HEAP32[$52>>2] = 1541459225;
+ $53 = $ctx;
+ $54 = ((($53)) + 128|0);
+ $55 = $54;
+ $56 = $55;
+ HEAP32[$56>>2] = 0;
+ $57 = (($55) + 4)|0;
+ $58 = $57;
+ HEAP32[$58>>2] = 0;
+ $59 = $ctx;
+ $60 = ((($59)) + 136|0);
+ $61 = $60;
+ $62 = $61;
+ HEAP32[$62>>2] = 0;
+ $63 = (($61) + 4)|0;
+ $64 = $63;
+ HEAP32[$64>>2] = 0;
+ $65 = $ctx;
+ $66 = ((($65)) + 144|0);
+ HEAP32[$66>>2] = 0;
+ $67 = $ctx;
+ $68 = ((($67)) + 148|0);
+ HEAP32[$68>>2] = 128;
+ $69 = $ctx;
+ $70 = ((($69)) + 152|0);
+ HEAP32[$70>>2] = 76;
+ STACKTOP = sp;return;
+}
+function _transform_1420($context,$data,$nblks) {
+ $context = $context|0;
+ $data = $data|0;
+ $nblks = $nblks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn = 0, $ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $data;
+ $2 = $nblks;
+ $3 = $0;
+ $ctx = $3;
+ while(1) {
+ $4 = $ctx;
+ $5 = ((($4)) + 160|0);
+ $6 = $1;
+ $7 = (_transform_blk_1421($5,$6)|0);
+ $8 = (($7) + 12)|0;
+ $burn = $8;
+ $9 = $1;
+ $10 = ((($9)) + 128|0);
+ $1 = $10;
+ $11 = $2;
+ $12 = (($11) + -1)|0;
+ $2 = $12;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ break;
+ }
+ }
+ $14 = $burn;
+ STACKTOP = sp;return ($14|0);
+}
+function _transform_blk_1421($hd,$data) {
+ $hd = $hd|0;
+ $data = $data|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
+ var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
+ var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
+ var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0;
+ var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0;
+ var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
+ var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0;
+ var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0;
+ var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
+ var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0;
+ var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
+ var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0;
+ var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0;
+ var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
+ var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0;
+ var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
+ var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0;
+ var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
+ var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0;
+ var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0;
+ var $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0;
+ var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0;
+ var $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0;
+ var $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0;
+ var $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0;
+ var $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0;
+ var $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0;
+ var $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0;
+ var $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0;
+ var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0;
+ var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0;
+ var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0;
+ var $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0;
+ var $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0;
+ var $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0;
+ var $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0;
+ var $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0;
+ var $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0;
+ var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0;
+ var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0;
+ var $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0;
+ var $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0;
+ var $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0;
+ var $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0;
+ var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0;
+ var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0;
+ var $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0;
+ var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0;
+ var $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0;
+ var $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0;
+ var $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0;
+ var $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0;
+ var $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0;
+ var $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0;
+ var $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0;
+ var $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0;
+ var $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0;
+ var $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0;
+ var $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0;
+ var $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0;
+ var $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0;
+ var $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0;
+ var $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0;
+ var $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0;
+ var $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0;
+ var $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0;
+ var $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0;
+ var $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0;
+ var $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0;
+ var $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0;
+ var $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0;
+ var $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0;
+ var $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0;
+ var $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0;
+ var $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0;
+ var $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0;
+ var $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0;
+ var $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0;
+ var $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0;
+ var $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0;
+ var $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0;
+ var $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0;
+ var $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0;
+ var $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0;
+ var $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0;
+ var $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0;
+ var $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0;
+ var $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0;
+ var $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0;
+ var $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0;
+ var $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0;
+ var $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0;
+ var $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0;
+ var $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0;
+ var $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0;
+ var $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0;
+ var $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0;
+ var $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0;
+ var $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0;
+ var $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0;
+ var $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0;
+ var $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0;
+ var $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0;
+ var $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0;
+ var $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0;
+ var $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0;
+ var $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0;
+ var $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0;
+ var $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0;
+ var $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0;
+ var $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0;
+ var $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0;
+ var $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0;
+ var $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0;
+ var $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0;
+ var $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0;
+ var $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0;
+ var $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0;
+ var $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0;
+ var $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0;
+ var $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0;
+ var $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0;
+ var $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0;
+ var $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0;
+ var $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0;
+ var $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0;
+ var $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0;
+ var $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0;
+ var $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0;
+ var $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0;
+ var $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0;
+ var $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0;
+ var $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0;
+ var $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0;
+ var $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0;
+ var $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0;
+ var $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0;
+ var $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0;
+ var $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0;
+ var $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0;
+ var $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0, $3660 = 0, $3661 = 0;
+ var $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0, $368 = 0;
+ var $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0, $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0, $3697 = 0, $3698 = 0;
+ var $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0, $3715 = 0;
+ var $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0, $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0, $3732 = 0, $3733 = 0;
+ var $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0, $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0, $3750 = 0, $3751 = 0;
+ var $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0;
+ var $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0, $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0;
+ var $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0;
+ var $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0, $3822 = 0, $3823 = 0;
+ var $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0, $3841 = 0;
+ var $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0, $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0, $3859 = 0, $386 = 0;
+ var $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0, $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0, $3877 = 0, $3878 = 0;
+ var $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3896 = 0;
+ var $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0, $3912 = 0, $3913 = 0;
+ var $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0, $3930 = 0, $3931 = 0;
+ var $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0, $3949 = 0, $395 = 0;
+ var $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0, $3967 = 0, $3968 = 0;
+ var $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0, $3985 = 0, $3986 = 0;
+ var $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4002 = 0;
+ var $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0, $402 = 0, $4020 = 0;
+ var $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0, $4038 = 0, $4039 = 0;
+ var $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0, $4056 = 0, $4057 = 0;
+ var $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0;
+ var $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0, $4092 = 0, $4093 = 0;
+ var $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0, $411 = 0, $4110 = 0;
+ var $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0, $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0, $4128 = 0, $4129 = 0;
+ var $413 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0, $4146 = 0, $4147 = 0;
+ var $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0;
+ var $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0, $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0, $4182 = 0, $4183 = 0;
+ var $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0;
+ var $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0;
+ var $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0;
+ var $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0;
+ var $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0;
+ var $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0;
+ var $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0;
+ var $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0, $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0, $4326 = 0, $4327 = 0;
+ var $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0;
+ var $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0;
+ var $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0;
+ var $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0, $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0;
+ var $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0;
+ var $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0, $4435 = 0;
+ var $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0, $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4452 = 0, $4453 = 0;
+ var $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0;
+ var $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0;
+ var $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0, $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0, $4507 = 0;
+ var $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0, $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0, $4524 = 0, $4525 = 0;
+ var $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0, $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0, $4543 = 0;
+ var $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0, $4560 = 0, $4561 = 0;
+ var $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0, $4579 = 0, $458 = 0;
+ var $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0;
+ var $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0, $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0, $4614 = 0, $4615 = 0;
+ var $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0, $4633 = 0;
+ var $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0;
+ var $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $467 = 0;
+ var $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0, $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0, $4687 = 0, $4688 = 0;
+ var $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0, $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0;
+ var $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0, $4722 = 0, $4723 = 0;
+ var $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0, $4740 = 0, $4741 = 0;
+ var $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0, $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $476 = 0;
+ var $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0, $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0;
+ var $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0, $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0, $4795 = 0, $4796 = 0;
+ var $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0, $4812 = 0, $4813 = 0;
+ var $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0;
+ var $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0, $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0, $4849 = 0, $485 = 0;
+ var $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0, $4867 = 0, $4868 = 0;
+ var $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0, $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0;
+ var $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0, $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4902 = 0, $4903 = 0;
+ var $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0;
+ var $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0;
+ var $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0;
+ var $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0;
+ var $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0, $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0;
+ var $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0;
+ var $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0, $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0;
+ var $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5046 = 0, $5047 = 0;
+ var $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0, $5065 = 0;
+ var $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0;
+ var $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0, $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0, $5100 = 0;
+ var $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0, $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0, $5118 = 0, $5119 = 0;
+ var $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0;
+ var $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0;
+ var $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0;
+ var $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5190 = 0, $5191 = 0;
+ var $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0, $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0;
+ var $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0, $5226 = 0, $5227 = 0;
+ var $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0;
+ var $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0;
+ var $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0, $5280 = 0, $5281 = 0;
+ var $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0, $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0, $5299 = 0, $53 = 0;
+ var $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0, $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0;
+ var $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0, $5334 = 0, $5335 = 0;
+ var $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0;
+ var $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0, $5370 = 0, $5371 = 0;
+ var $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0, $5389 = 0, $539 = 0;
+ var $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0, $5406 = 0, $5407 = 0;
+ var $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0, $5424 = 0, $5425 = 0;
+ var $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0, $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0, $5442 = 0, $5443 = 0;
+ var $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0, $5460 = 0, $5461 = 0;
+ var $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0, $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0, $5479 = 0, $548 = 0;
+ var $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0, $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0, $5497 = 0, $5498 = 0;
+ var $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0, $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0, $5514 = 0, $5515 = 0;
+ var $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0, $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0;
+ var $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0, $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0, $5550 = 0, $5551 = 0;
+ var $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0;
+ var $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0, $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0, $5587 = 0, $5588 = 0;
+ var $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0, $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0, $5604 = 0, $5605 = 0;
+ var $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0, $5622 = 0, $5623 = 0;
+ var $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0, $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5640 = 0, $5641 = 0;
+ var $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0, $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0, $5659 = 0, $566 = 0;
+ var $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5678 = 0;
+ var $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0, $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0, $5695 = 0, $5696 = 0;
+ var $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0, $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0, $5712 = 0, $5713 = 0;
+ var $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0, $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0, $5730 = 0, $5731 = 0;
+ var $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $575 = 0;
+ var $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0, $5767 = 0, $5768 = 0;
+ var $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0, $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0, $5785 = 0, $5786 = 0;
+ var $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0, $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0, $5802 = 0, $5803 = 0;
+ var $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0, $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0, $5820 = 0, $5821 = 0;
+ var $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0;
+ var $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5858 = 0;
+ var $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0, $5867 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0;
+ var $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0;
+ var $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0;
+ var $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0;
+ var $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0;
+ var $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0;
+ var $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0;
+ var $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0;
+ var $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0;
+ var $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0;
+ var $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0;
+ var $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0;
+ var $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0;
+ var $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0;
+ var $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0;
+ var $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0;
+ var $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0;
+ var $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0;
+ var $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0;
+ var $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0;
+ var $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0;
+ var $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0;
+ var $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0;
+ var $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $a = 0, $b = 0, $c = 0, $d = 0, $e = 0, $f = 0, $g = 0, $h = 0, $t = 0, $t1 = 0, $t11 = 0, $t2 = 0;
+ var $t22 = 0, $w = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $a = sp + 216|0;
+ $b = sp + 208|0;
+ $c = sp + 200|0;
+ $d = sp + 192|0;
+ $e = sp + 184|0;
+ $f = sp + 176|0;
+ $g = sp + 168|0;
+ $h = sp + 160|0;
+ $w = sp + 32|0;
+ $t1 = sp + 24|0;
+ $t2 = sp + 16|0;
+ $t11 = sp + 8|0;
+ $t22 = sp;
+ $0 = $hd;
+ $1 = $data;
+ $2 = $0;
+ $3 = $2;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $a;
+ $10 = $9;
+ HEAP32[$10>>2] = $5;
+ $11 = (($9) + 4)|0;
+ $12 = $11;
+ HEAP32[$12>>2] = $8;
+ $13 = $0;
+ $14 = ((($13)) + 8|0);
+ $15 = $14;
+ $16 = $15;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($15) + 4)|0;
+ $19 = $18;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $b;
+ $22 = $21;
+ HEAP32[$22>>2] = $17;
+ $23 = (($21) + 4)|0;
+ $24 = $23;
+ HEAP32[$24>>2] = $20;
+ $25 = $0;
+ $26 = ((($25)) + 16|0);
+ $27 = $26;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $c;
+ $34 = $33;
+ HEAP32[$34>>2] = $29;
+ $35 = (($33) + 4)|0;
+ $36 = $35;
+ HEAP32[$36>>2] = $32;
+ $37 = $0;
+ $38 = ((($37)) + 24|0);
+ $39 = $38;
+ $40 = $39;
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($39) + 4)|0;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $d;
+ $46 = $45;
+ HEAP32[$46>>2] = $41;
+ $47 = (($45) + 4)|0;
+ $48 = $47;
+ HEAP32[$48>>2] = $44;
+ $49 = $0;
+ $50 = ((($49)) + 32|0);
+ $51 = $50;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($51) + 4)|0;
+ $55 = $54;
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $e;
+ $58 = $57;
+ HEAP32[$58>>2] = $53;
+ $59 = (($57) + 4)|0;
+ $60 = $59;
+ HEAP32[$60>>2] = $56;
+ $61 = $0;
+ $62 = ((($61)) + 40|0);
+ $63 = $62;
+ $64 = $63;
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (($63) + 4)|0;
+ $67 = $66;
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $f;
+ $70 = $69;
+ HEAP32[$70>>2] = $65;
+ $71 = (($69) + 4)|0;
+ $72 = $71;
+ HEAP32[$72>>2] = $68;
+ $73 = $0;
+ $74 = ((($73)) + 48|0);
+ $75 = $74;
+ $76 = $75;
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (($75) + 4)|0;
+ $79 = $78;
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $g;
+ $82 = $81;
+ HEAP32[$82>>2] = $77;
+ $83 = (($81) + 4)|0;
+ $84 = $83;
+ HEAP32[$84>>2] = $80;
+ $85 = $0;
+ $86 = ((($85)) + 56|0);
+ $87 = $86;
+ $88 = $87;
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (($87) + 4)|0;
+ $91 = $90;
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $h;
+ $94 = $93;
+ HEAP32[$94>>2] = $89;
+ $95 = (($93) + 4)|0;
+ $96 = $95;
+ HEAP32[$96>>2] = $92;
+ $t = 0;
+ while(1) {
+ $97 = $t;
+ $98 = ($97|0)<(16);
+ if (!($98)) {
+ break;
+ }
+ $99 = $1;
+ $100 = $t;
+ $101 = $100<<3;
+ $102 = (($99) + ($101)|0);
+ $103 = (_buf_get_be64($102)|0);
+ $104 = tempRet0;
+ $105 = $t;
+ $106 = (($w) + ($105<<3)|0);
+ $107 = $106;
+ $108 = $107;
+ HEAP32[$108>>2] = $103;
+ $109 = (($107) + 4)|0;
+ $110 = $109;
+ HEAP32[$110>>2] = $104;
+ $111 = $t;
+ $112 = (($111) + 1)|0;
+ $t = $112;
+ }
+ $t = 0;
+ while(1) {
+ $113 = $t;
+ $114 = ($113|0)<(64);
+ if (!($114)) {
+ break;
+ }
+ $115 = $h;
+ $116 = $115;
+ $117 = HEAP32[$116>>2]|0;
+ $118 = (($115) + 4)|0;
+ $119 = $118;
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $e;
+ $122 = $121;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (($121) + 4)|0;
+ $125 = $124;
+ $126 = HEAP32[$125>>2]|0;
+ $127 = (_Sum1_1422($123,$126)|0);
+ $128 = tempRet0;
+ $129 = (_i64Add(($117|0),($120|0),($127|0),($128|0))|0);
+ $130 = tempRet0;
+ $131 = $e;
+ $132 = $131;
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($131) + 4)|0;
+ $135 = $134;
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $f;
+ $138 = $137;
+ $139 = HEAP32[$138>>2]|0;
+ $140 = (($137) + 4)|0;
+ $141 = $140;
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $g;
+ $144 = $143;
+ $145 = HEAP32[$144>>2]|0;
+ $146 = (($143) + 4)|0;
+ $147 = $146;
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (_Ch($133,$136,$139,$142,$145,$148)|0);
+ $150 = tempRet0;
+ $151 = (_i64Add(($129|0),($130|0),($149|0),($150|0))|0);
+ $152 = tempRet0;
+ $153 = $t;
+ $154 = (80 + ($153<<3)|0);
+ $155 = $154;
+ $156 = $155;
+ $157 = HEAP32[$156>>2]|0;
+ $158 = (($155) + 4)|0;
+ $159 = $158;
+ $160 = HEAP32[$159>>2]|0;
+ $161 = (_i64Add(($151|0),($152|0),($157|0),($160|0))|0);
+ $162 = tempRet0;
+ $163 = $w;
+ $164 = $163;
+ $165 = HEAP32[$164>>2]|0;
+ $166 = (($163) + 4)|0;
+ $167 = $166;
+ $168 = HEAP32[$167>>2]|0;
+ $169 = (_i64Add(($161|0),($162|0),($165|0),($168|0))|0);
+ $170 = tempRet0;
+ $171 = $t1;
+ $172 = $171;
+ HEAP32[$172>>2] = $169;
+ $173 = (($171) + 4)|0;
+ $174 = $173;
+ HEAP32[$174>>2] = $170;
+ $175 = ((($w)) + 112|0);
+ $176 = $175;
+ $177 = $176;
+ $178 = HEAP32[$177>>2]|0;
+ $179 = (($176) + 4)|0;
+ $180 = $179;
+ $181 = HEAP32[$180>>2]|0;
+ $182 = (_ROTR($178,$181,19,0)|0);
+ $183 = tempRet0;
+ $184 = ((($w)) + 112|0);
+ $185 = $184;
+ $186 = $185;
+ $187 = HEAP32[$186>>2]|0;
+ $188 = (($185) + 4)|0;
+ $189 = $188;
+ $190 = HEAP32[$189>>2]|0;
+ $191 = (_ROTR($187,$190,61,0)|0);
+ $192 = tempRet0;
+ $193 = $182 ^ $191;
+ $194 = $183 ^ $192;
+ $195 = ((($w)) + 112|0);
+ $196 = $195;
+ $197 = $196;
+ $198 = HEAP32[$197>>2]|0;
+ $199 = (($196) + 4)|0;
+ $200 = $199;
+ $201 = HEAP32[$200>>2]|0;
+ $202 = (_bitshift64Lshr(($198|0),($201|0),6)|0);
+ $203 = tempRet0;
+ $204 = $193 ^ $202;
+ $205 = $194 ^ $203;
+ $206 = ((($w)) + 72|0);
+ $207 = $206;
+ $208 = $207;
+ $209 = HEAP32[$208>>2]|0;
+ $210 = (($207) + 4)|0;
+ $211 = $210;
+ $212 = HEAP32[$211>>2]|0;
+ $213 = (_i64Add(($204|0),($205|0),($209|0),($212|0))|0);
+ $214 = tempRet0;
+ $215 = ((($w)) + 8|0);
+ $216 = $215;
+ $217 = $216;
+ $218 = HEAP32[$217>>2]|0;
+ $219 = (($216) + 4)|0;
+ $220 = $219;
+ $221 = HEAP32[$220>>2]|0;
+ $222 = (_ROTR($218,$221,1,0)|0);
+ $223 = tempRet0;
+ $224 = ((($w)) + 8|0);
+ $225 = $224;
+ $226 = $225;
+ $227 = HEAP32[$226>>2]|0;
+ $228 = (($225) + 4)|0;
+ $229 = $228;
+ $230 = HEAP32[$229>>2]|0;
+ $231 = (_ROTR($227,$230,8,0)|0);
+ $232 = tempRet0;
+ $233 = $222 ^ $231;
+ $234 = $223 ^ $232;
+ $235 = ((($w)) + 8|0);
+ $236 = $235;
+ $237 = $236;
+ $238 = HEAP32[$237>>2]|0;
+ $239 = (($236) + 4)|0;
+ $240 = $239;
+ $241 = HEAP32[$240>>2]|0;
+ $242 = (_bitshift64Lshr(($238|0),($241|0),7)|0);
+ $243 = tempRet0;
+ $244 = $233 ^ $242;
+ $245 = $234 ^ $243;
+ $246 = (_i64Add(($213|0),($214|0),($244|0),($245|0))|0);
+ $247 = tempRet0;
+ $248 = $w;
+ $249 = $248;
+ $250 = HEAP32[$249>>2]|0;
+ $251 = (($248) + 4)|0;
+ $252 = $251;
+ $253 = HEAP32[$252>>2]|0;
+ $254 = (_i64Add(($250|0),($253|0),($246|0),($247|0))|0);
+ $255 = tempRet0;
+ $256 = $w;
+ $257 = $256;
+ HEAP32[$257>>2] = $254;
+ $258 = (($256) + 4)|0;
+ $259 = $258;
+ HEAP32[$259>>2] = $255;
+ $260 = $a;
+ $261 = $260;
+ $262 = HEAP32[$261>>2]|0;
+ $263 = (($260) + 4)|0;
+ $264 = $263;
+ $265 = HEAP32[$264>>2]|0;
+ $266 = (_Sum0_1423($262,$265)|0);
+ $267 = tempRet0;
+ $268 = $a;
+ $269 = $268;
+ $270 = HEAP32[$269>>2]|0;
+ $271 = (($268) + 4)|0;
+ $272 = $271;
+ $273 = HEAP32[$272>>2]|0;
+ $274 = $b;
+ $275 = $274;
+ $276 = HEAP32[$275>>2]|0;
+ $277 = (($274) + 4)|0;
+ $278 = $277;
+ $279 = HEAP32[$278>>2]|0;
+ $280 = $c;
+ $281 = $280;
+ $282 = HEAP32[$281>>2]|0;
+ $283 = (($280) + 4)|0;
+ $284 = $283;
+ $285 = HEAP32[$284>>2]|0;
+ $286 = (_Maj_1424($270,$273,$276,$279,$282,$285)|0);
+ $287 = tempRet0;
+ $288 = (_i64Add(($266|0),($267|0),($286|0),($287|0))|0);
+ $289 = tempRet0;
+ $290 = $t2;
+ $291 = $290;
+ HEAP32[$291>>2] = $288;
+ $292 = (($290) + 4)|0;
+ $293 = $292;
+ HEAP32[$293>>2] = $289;
+ $294 = $t1;
+ $295 = $294;
+ $296 = HEAP32[$295>>2]|0;
+ $297 = (($294) + 4)|0;
+ $298 = $297;
+ $299 = HEAP32[$298>>2]|0;
+ $300 = $d;
+ $301 = $300;
+ $302 = HEAP32[$301>>2]|0;
+ $303 = (($300) + 4)|0;
+ $304 = $303;
+ $305 = HEAP32[$304>>2]|0;
+ $306 = (_i64Add(($302|0),($305|0),($296|0),($299|0))|0);
+ $307 = tempRet0;
+ $308 = $d;
+ $309 = $308;
+ HEAP32[$309>>2] = $306;
+ $310 = (($308) + 4)|0;
+ $311 = $310;
+ HEAP32[$311>>2] = $307;
+ $312 = $t1;
+ $313 = $312;
+ $314 = HEAP32[$313>>2]|0;
+ $315 = (($312) + 4)|0;
+ $316 = $315;
+ $317 = HEAP32[$316>>2]|0;
+ $318 = $t2;
+ $319 = $318;
+ $320 = HEAP32[$319>>2]|0;
+ $321 = (($318) + 4)|0;
+ $322 = $321;
+ $323 = HEAP32[$322>>2]|0;
+ $324 = (_i64Add(($314|0),($317|0),($320|0),($323|0))|0);
+ $325 = tempRet0;
+ $326 = $h;
+ $327 = $326;
+ HEAP32[$327>>2] = $324;
+ $328 = (($326) + 4)|0;
+ $329 = $328;
+ HEAP32[$329>>2] = $325;
+ $330 = $g;
+ $331 = $330;
+ $332 = HEAP32[$331>>2]|0;
+ $333 = (($330) + 4)|0;
+ $334 = $333;
+ $335 = HEAP32[$334>>2]|0;
+ $336 = $d;
+ $337 = $336;
+ $338 = HEAP32[$337>>2]|0;
+ $339 = (($336) + 4)|0;
+ $340 = $339;
+ $341 = HEAP32[$340>>2]|0;
+ $342 = (_Sum1_1422($338,$341)|0);
+ $343 = tempRet0;
+ $344 = (_i64Add(($332|0),($335|0),($342|0),($343|0))|0);
+ $345 = tempRet0;
+ $346 = $d;
+ $347 = $346;
+ $348 = HEAP32[$347>>2]|0;
+ $349 = (($346) + 4)|0;
+ $350 = $349;
+ $351 = HEAP32[$350>>2]|0;
+ $352 = $e;
+ $353 = $352;
+ $354 = HEAP32[$353>>2]|0;
+ $355 = (($352) + 4)|0;
+ $356 = $355;
+ $357 = HEAP32[$356>>2]|0;
+ $358 = $f;
+ $359 = $358;
+ $360 = HEAP32[$359>>2]|0;
+ $361 = (($358) + 4)|0;
+ $362 = $361;
+ $363 = HEAP32[$362>>2]|0;
+ $364 = (_Ch($348,$351,$354,$357,$360,$363)|0);
+ $365 = tempRet0;
+ $366 = (_i64Add(($344|0),($345|0),($364|0),($365|0))|0);
+ $367 = tempRet0;
+ $368 = $t;
+ $369 = (($368) + 1)|0;
+ $370 = (80 + ($369<<3)|0);
+ $371 = $370;
+ $372 = $371;
+ $373 = HEAP32[$372>>2]|0;
+ $374 = (($371) + 4)|0;
+ $375 = $374;
+ $376 = HEAP32[$375>>2]|0;
+ $377 = (_i64Add(($366|0),($367|0),($373|0),($376|0))|0);
+ $378 = tempRet0;
+ $379 = ((($w)) + 8|0);
+ $380 = $379;
+ $381 = $380;
+ $382 = HEAP32[$381>>2]|0;
+ $383 = (($380) + 4)|0;
+ $384 = $383;
+ $385 = HEAP32[$384>>2]|0;
+ $386 = (_i64Add(($377|0),($378|0),($382|0),($385|0))|0);
+ $387 = tempRet0;
+ $388 = $t1;
+ $389 = $388;
+ HEAP32[$389>>2] = $386;
+ $390 = (($388) + 4)|0;
+ $391 = $390;
+ HEAP32[$391>>2] = $387;
+ $392 = ((($w)) + 120|0);
+ $393 = $392;
+ $394 = $393;
+ $395 = HEAP32[$394>>2]|0;
+ $396 = (($393) + 4)|0;
+ $397 = $396;
+ $398 = HEAP32[$397>>2]|0;
+ $399 = (_ROTR($395,$398,19,0)|0);
+ $400 = tempRet0;
+ $401 = ((($w)) + 120|0);
+ $402 = $401;
+ $403 = $402;
+ $404 = HEAP32[$403>>2]|0;
+ $405 = (($402) + 4)|0;
+ $406 = $405;
+ $407 = HEAP32[$406>>2]|0;
+ $408 = (_ROTR($404,$407,61,0)|0);
+ $409 = tempRet0;
+ $410 = $399 ^ $408;
+ $411 = $400 ^ $409;
+ $412 = ((($w)) + 120|0);
+ $413 = $412;
+ $414 = $413;
+ $415 = HEAP32[$414>>2]|0;
+ $416 = (($413) + 4)|0;
+ $417 = $416;
+ $418 = HEAP32[$417>>2]|0;
+ $419 = (_bitshift64Lshr(($415|0),($418|0),6)|0);
+ $420 = tempRet0;
+ $421 = $410 ^ $419;
+ $422 = $411 ^ $420;
+ $423 = ((($w)) + 80|0);
+ $424 = $423;
+ $425 = $424;
+ $426 = HEAP32[$425>>2]|0;
+ $427 = (($424) + 4)|0;
+ $428 = $427;
+ $429 = HEAP32[$428>>2]|0;
+ $430 = (_i64Add(($421|0),($422|0),($426|0),($429|0))|0);
+ $431 = tempRet0;
+ $432 = ((($w)) + 16|0);
+ $433 = $432;
+ $434 = $433;
+ $435 = HEAP32[$434>>2]|0;
+ $436 = (($433) + 4)|0;
+ $437 = $436;
+ $438 = HEAP32[$437>>2]|0;
+ $439 = (_ROTR($435,$438,1,0)|0);
+ $440 = tempRet0;
+ $441 = ((($w)) + 16|0);
+ $442 = $441;
+ $443 = $442;
+ $444 = HEAP32[$443>>2]|0;
+ $445 = (($442) + 4)|0;
+ $446 = $445;
+ $447 = HEAP32[$446>>2]|0;
+ $448 = (_ROTR($444,$447,8,0)|0);
+ $449 = tempRet0;
+ $450 = $439 ^ $448;
+ $451 = $440 ^ $449;
+ $452 = ((($w)) + 16|0);
+ $453 = $452;
+ $454 = $453;
+ $455 = HEAP32[$454>>2]|0;
+ $456 = (($453) + 4)|0;
+ $457 = $456;
+ $458 = HEAP32[$457>>2]|0;
+ $459 = (_bitshift64Lshr(($455|0),($458|0),7)|0);
+ $460 = tempRet0;
+ $461 = $450 ^ $459;
+ $462 = $451 ^ $460;
+ $463 = (_i64Add(($430|0),($431|0),($461|0),($462|0))|0);
+ $464 = tempRet0;
+ $465 = ((($w)) + 8|0);
+ $466 = $465;
+ $467 = $466;
+ $468 = HEAP32[$467>>2]|0;
+ $469 = (($466) + 4)|0;
+ $470 = $469;
+ $471 = HEAP32[$470>>2]|0;
+ $472 = (_i64Add(($468|0),($471|0),($463|0),($464|0))|0);
+ $473 = tempRet0;
+ $474 = $465;
+ $475 = $474;
+ HEAP32[$475>>2] = $472;
+ $476 = (($474) + 4)|0;
+ $477 = $476;
+ HEAP32[$477>>2] = $473;
+ $478 = $h;
+ $479 = $478;
+ $480 = HEAP32[$479>>2]|0;
+ $481 = (($478) + 4)|0;
+ $482 = $481;
+ $483 = HEAP32[$482>>2]|0;
+ $484 = (_Sum0_1423($480,$483)|0);
+ $485 = tempRet0;
+ $486 = $h;
+ $487 = $486;
+ $488 = HEAP32[$487>>2]|0;
+ $489 = (($486) + 4)|0;
+ $490 = $489;
+ $491 = HEAP32[$490>>2]|0;
+ $492 = $a;
+ $493 = $492;
+ $494 = HEAP32[$493>>2]|0;
+ $495 = (($492) + 4)|0;
+ $496 = $495;
+ $497 = HEAP32[$496>>2]|0;
+ $498 = $b;
+ $499 = $498;
+ $500 = HEAP32[$499>>2]|0;
+ $501 = (($498) + 4)|0;
+ $502 = $501;
+ $503 = HEAP32[$502>>2]|0;
+ $504 = (_Maj_1424($488,$491,$494,$497,$500,$503)|0);
+ $505 = tempRet0;
+ $506 = (_i64Add(($484|0),($485|0),($504|0),($505|0))|0);
+ $507 = tempRet0;
+ $508 = $t2;
+ $509 = $508;
+ HEAP32[$509>>2] = $506;
+ $510 = (($508) + 4)|0;
+ $511 = $510;
+ HEAP32[$511>>2] = $507;
+ $512 = $t1;
+ $513 = $512;
+ $514 = HEAP32[$513>>2]|0;
+ $515 = (($512) + 4)|0;
+ $516 = $515;
+ $517 = HEAP32[$516>>2]|0;
+ $518 = $c;
+ $519 = $518;
+ $520 = HEAP32[$519>>2]|0;
+ $521 = (($518) + 4)|0;
+ $522 = $521;
+ $523 = HEAP32[$522>>2]|0;
+ $524 = (_i64Add(($520|0),($523|0),($514|0),($517|0))|0);
+ $525 = tempRet0;
+ $526 = $c;
+ $527 = $526;
+ HEAP32[$527>>2] = $524;
+ $528 = (($526) + 4)|0;
+ $529 = $528;
+ HEAP32[$529>>2] = $525;
+ $530 = $t1;
+ $531 = $530;
+ $532 = HEAP32[$531>>2]|0;
+ $533 = (($530) + 4)|0;
+ $534 = $533;
+ $535 = HEAP32[$534>>2]|0;
+ $536 = $t2;
+ $537 = $536;
+ $538 = HEAP32[$537>>2]|0;
+ $539 = (($536) + 4)|0;
+ $540 = $539;
+ $541 = HEAP32[$540>>2]|0;
+ $542 = (_i64Add(($532|0),($535|0),($538|0),($541|0))|0);
+ $543 = tempRet0;
+ $544 = $g;
+ $545 = $544;
+ HEAP32[$545>>2] = $542;
+ $546 = (($544) + 4)|0;
+ $547 = $546;
+ HEAP32[$547>>2] = $543;
+ $548 = $f;
+ $549 = $548;
+ $550 = HEAP32[$549>>2]|0;
+ $551 = (($548) + 4)|0;
+ $552 = $551;
+ $553 = HEAP32[$552>>2]|0;
+ $554 = $c;
+ $555 = $554;
+ $556 = HEAP32[$555>>2]|0;
+ $557 = (($554) + 4)|0;
+ $558 = $557;
+ $559 = HEAP32[$558>>2]|0;
+ $560 = (_Sum1_1422($556,$559)|0);
+ $561 = tempRet0;
+ $562 = (_i64Add(($550|0),($553|0),($560|0),($561|0))|0);
+ $563 = tempRet0;
+ $564 = $c;
+ $565 = $564;
+ $566 = HEAP32[$565>>2]|0;
+ $567 = (($564) + 4)|0;
+ $568 = $567;
+ $569 = HEAP32[$568>>2]|0;
+ $570 = $d;
+ $571 = $570;
+ $572 = HEAP32[$571>>2]|0;
+ $573 = (($570) + 4)|0;
+ $574 = $573;
+ $575 = HEAP32[$574>>2]|0;
+ $576 = $e;
+ $577 = $576;
+ $578 = HEAP32[$577>>2]|0;
+ $579 = (($576) + 4)|0;
+ $580 = $579;
+ $581 = HEAP32[$580>>2]|0;
+ $582 = (_Ch($566,$569,$572,$575,$578,$581)|0);
+ $583 = tempRet0;
+ $584 = (_i64Add(($562|0),($563|0),($582|0),($583|0))|0);
+ $585 = tempRet0;
+ $586 = $t;
+ $587 = (($586) + 2)|0;
+ $588 = (80 + ($587<<3)|0);
+ $589 = $588;
+ $590 = $589;
+ $591 = HEAP32[$590>>2]|0;
+ $592 = (($589) + 4)|0;
+ $593 = $592;
+ $594 = HEAP32[$593>>2]|0;
+ $595 = (_i64Add(($584|0),($585|0),($591|0),($594|0))|0);
+ $596 = tempRet0;
+ $597 = ((($w)) + 16|0);
+ $598 = $597;
+ $599 = $598;
+ $600 = HEAP32[$599>>2]|0;
+ $601 = (($598) + 4)|0;
+ $602 = $601;
+ $603 = HEAP32[$602>>2]|0;
+ $604 = (_i64Add(($595|0),($596|0),($600|0),($603|0))|0);
+ $605 = tempRet0;
+ $606 = $t1;
+ $607 = $606;
+ HEAP32[$607>>2] = $604;
+ $608 = (($606) + 4)|0;
+ $609 = $608;
+ HEAP32[$609>>2] = $605;
+ $610 = $w;
+ $611 = $610;
+ $612 = HEAP32[$611>>2]|0;
+ $613 = (($610) + 4)|0;
+ $614 = $613;
+ $615 = HEAP32[$614>>2]|0;
+ $616 = (_ROTR($612,$615,19,0)|0);
+ $617 = tempRet0;
+ $618 = $w;
+ $619 = $618;
+ $620 = HEAP32[$619>>2]|0;
+ $621 = (($618) + 4)|0;
+ $622 = $621;
+ $623 = HEAP32[$622>>2]|0;
+ $624 = (_ROTR($620,$623,61,0)|0);
+ $625 = tempRet0;
+ $626 = $616 ^ $624;
+ $627 = $617 ^ $625;
+ $628 = $w;
+ $629 = $628;
+ $630 = HEAP32[$629>>2]|0;
+ $631 = (($628) + 4)|0;
+ $632 = $631;
+ $633 = HEAP32[$632>>2]|0;
+ $634 = (_bitshift64Lshr(($630|0),($633|0),6)|0);
+ $635 = tempRet0;
+ $636 = $626 ^ $634;
+ $637 = $627 ^ $635;
+ $638 = ((($w)) + 88|0);
+ $639 = $638;
+ $640 = $639;
+ $641 = HEAP32[$640>>2]|0;
+ $642 = (($639) + 4)|0;
+ $643 = $642;
+ $644 = HEAP32[$643>>2]|0;
+ $645 = (_i64Add(($636|0),($637|0),($641|0),($644|0))|0);
+ $646 = tempRet0;
+ $647 = ((($w)) + 24|0);
+ $648 = $647;
+ $649 = $648;
+ $650 = HEAP32[$649>>2]|0;
+ $651 = (($648) + 4)|0;
+ $652 = $651;
+ $653 = HEAP32[$652>>2]|0;
+ $654 = (_ROTR($650,$653,1,0)|0);
+ $655 = tempRet0;
+ $656 = ((($w)) + 24|0);
+ $657 = $656;
+ $658 = $657;
+ $659 = HEAP32[$658>>2]|0;
+ $660 = (($657) + 4)|0;
+ $661 = $660;
+ $662 = HEAP32[$661>>2]|0;
+ $663 = (_ROTR($659,$662,8,0)|0);
+ $664 = tempRet0;
+ $665 = $654 ^ $663;
+ $666 = $655 ^ $664;
+ $667 = ((($w)) + 24|0);
+ $668 = $667;
+ $669 = $668;
+ $670 = HEAP32[$669>>2]|0;
+ $671 = (($668) + 4)|0;
+ $672 = $671;
+ $673 = HEAP32[$672>>2]|0;
+ $674 = (_bitshift64Lshr(($670|0),($673|0),7)|0);
+ $675 = tempRet0;
+ $676 = $665 ^ $674;
+ $677 = $666 ^ $675;
+ $678 = (_i64Add(($645|0),($646|0),($676|0),($677|0))|0);
+ $679 = tempRet0;
+ $680 = ((($w)) + 16|0);
+ $681 = $680;
+ $682 = $681;
+ $683 = HEAP32[$682>>2]|0;
+ $684 = (($681) + 4)|0;
+ $685 = $684;
+ $686 = HEAP32[$685>>2]|0;
+ $687 = (_i64Add(($683|0),($686|0),($678|0),($679|0))|0);
+ $688 = tempRet0;
+ $689 = $680;
+ $690 = $689;
+ HEAP32[$690>>2] = $687;
+ $691 = (($689) + 4)|0;
+ $692 = $691;
+ HEAP32[$692>>2] = $688;
+ $693 = $g;
+ $694 = $693;
+ $695 = HEAP32[$694>>2]|0;
+ $696 = (($693) + 4)|0;
+ $697 = $696;
+ $698 = HEAP32[$697>>2]|0;
+ $699 = (_Sum0_1423($695,$698)|0);
+ $700 = tempRet0;
+ $701 = $g;
+ $702 = $701;
+ $703 = HEAP32[$702>>2]|0;
+ $704 = (($701) + 4)|0;
+ $705 = $704;
+ $706 = HEAP32[$705>>2]|0;
+ $707 = $h;
+ $708 = $707;
+ $709 = HEAP32[$708>>2]|0;
+ $710 = (($707) + 4)|0;
+ $711 = $710;
+ $712 = HEAP32[$711>>2]|0;
+ $713 = $a;
+ $714 = $713;
+ $715 = HEAP32[$714>>2]|0;
+ $716 = (($713) + 4)|0;
+ $717 = $716;
+ $718 = HEAP32[$717>>2]|0;
+ $719 = (_Maj_1424($703,$706,$709,$712,$715,$718)|0);
+ $720 = tempRet0;
+ $721 = (_i64Add(($699|0),($700|0),($719|0),($720|0))|0);
+ $722 = tempRet0;
+ $723 = $t2;
+ $724 = $723;
+ HEAP32[$724>>2] = $721;
+ $725 = (($723) + 4)|0;
+ $726 = $725;
+ HEAP32[$726>>2] = $722;
+ $727 = $t1;
+ $728 = $727;
+ $729 = HEAP32[$728>>2]|0;
+ $730 = (($727) + 4)|0;
+ $731 = $730;
+ $732 = HEAP32[$731>>2]|0;
+ $733 = $b;
+ $734 = $733;
+ $735 = HEAP32[$734>>2]|0;
+ $736 = (($733) + 4)|0;
+ $737 = $736;
+ $738 = HEAP32[$737>>2]|0;
+ $739 = (_i64Add(($735|0),($738|0),($729|0),($732|0))|0);
+ $740 = tempRet0;
+ $741 = $b;
+ $742 = $741;
+ HEAP32[$742>>2] = $739;
+ $743 = (($741) + 4)|0;
+ $744 = $743;
+ HEAP32[$744>>2] = $740;
+ $745 = $t1;
+ $746 = $745;
+ $747 = HEAP32[$746>>2]|0;
+ $748 = (($745) + 4)|0;
+ $749 = $748;
+ $750 = HEAP32[$749>>2]|0;
+ $751 = $t2;
+ $752 = $751;
+ $753 = HEAP32[$752>>2]|0;
+ $754 = (($751) + 4)|0;
+ $755 = $754;
+ $756 = HEAP32[$755>>2]|0;
+ $757 = (_i64Add(($747|0),($750|0),($753|0),($756|0))|0);
+ $758 = tempRet0;
+ $759 = $f;
+ $760 = $759;
+ HEAP32[$760>>2] = $757;
+ $761 = (($759) + 4)|0;
+ $762 = $761;
+ HEAP32[$762>>2] = $758;
+ $763 = $e;
+ $764 = $763;
+ $765 = HEAP32[$764>>2]|0;
+ $766 = (($763) + 4)|0;
+ $767 = $766;
+ $768 = HEAP32[$767>>2]|0;
+ $769 = $b;
+ $770 = $769;
+ $771 = HEAP32[$770>>2]|0;
+ $772 = (($769) + 4)|0;
+ $773 = $772;
+ $774 = HEAP32[$773>>2]|0;
+ $775 = (_Sum1_1422($771,$774)|0);
+ $776 = tempRet0;
+ $777 = (_i64Add(($765|0),($768|0),($775|0),($776|0))|0);
+ $778 = tempRet0;
+ $779 = $b;
+ $780 = $779;
+ $781 = HEAP32[$780>>2]|0;
+ $782 = (($779) + 4)|0;
+ $783 = $782;
+ $784 = HEAP32[$783>>2]|0;
+ $785 = $c;
+ $786 = $785;
+ $787 = HEAP32[$786>>2]|0;
+ $788 = (($785) + 4)|0;
+ $789 = $788;
+ $790 = HEAP32[$789>>2]|0;
+ $791 = $d;
+ $792 = $791;
+ $793 = HEAP32[$792>>2]|0;
+ $794 = (($791) + 4)|0;
+ $795 = $794;
+ $796 = HEAP32[$795>>2]|0;
+ $797 = (_Ch($781,$784,$787,$790,$793,$796)|0);
+ $798 = tempRet0;
+ $799 = (_i64Add(($777|0),($778|0),($797|0),($798|0))|0);
+ $800 = tempRet0;
+ $801 = $t;
+ $802 = (($801) + 3)|0;
+ $803 = (80 + ($802<<3)|0);
+ $804 = $803;
+ $805 = $804;
+ $806 = HEAP32[$805>>2]|0;
+ $807 = (($804) + 4)|0;
+ $808 = $807;
+ $809 = HEAP32[$808>>2]|0;
+ $810 = (_i64Add(($799|0),($800|0),($806|0),($809|0))|0);
+ $811 = tempRet0;
+ $812 = ((($w)) + 24|0);
+ $813 = $812;
+ $814 = $813;
+ $815 = HEAP32[$814>>2]|0;
+ $816 = (($813) + 4)|0;
+ $817 = $816;
+ $818 = HEAP32[$817>>2]|0;
+ $819 = (_i64Add(($810|0),($811|0),($815|0),($818|0))|0);
+ $820 = tempRet0;
+ $821 = $t1;
+ $822 = $821;
+ HEAP32[$822>>2] = $819;
+ $823 = (($821) + 4)|0;
+ $824 = $823;
+ HEAP32[$824>>2] = $820;
+ $825 = ((($w)) + 8|0);
+ $826 = $825;
+ $827 = $826;
+ $828 = HEAP32[$827>>2]|0;
+ $829 = (($826) + 4)|0;
+ $830 = $829;
+ $831 = HEAP32[$830>>2]|0;
+ $832 = (_ROTR($828,$831,19,0)|0);
+ $833 = tempRet0;
+ $834 = ((($w)) + 8|0);
+ $835 = $834;
+ $836 = $835;
+ $837 = HEAP32[$836>>2]|0;
+ $838 = (($835) + 4)|0;
+ $839 = $838;
+ $840 = HEAP32[$839>>2]|0;
+ $841 = (_ROTR($837,$840,61,0)|0);
+ $842 = tempRet0;
+ $843 = $832 ^ $841;
+ $844 = $833 ^ $842;
+ $845 = ((($w)) + 8|0);
+ $846 = $845;
+ $847 = $846;
+ $848 = HEAP32[$847>>2]|0;
+ $849 = (($846) + 4)|0;
+ $850 = $849;
+ $851 = HEAP32[$850>>2]|0;
+ $852 = (_bitshift64Lshr(($848|0),($851|0),6)|0);
+ $853 = tempRet0;
+ $854 = $843 ^ $852;
+ $855 = $844 ^ $853;
+ $856 = ((($w)) + 96|0);
+ $857 = $856;
+ $858 = $857;
+ $859 = HEAP32[$858>>2]|0;
+ $860 = (($857) + 4)|0;
+ $861 = $860;
+ $862 = HEAP32[$861>>2]|0;
+ $863 = (_i64Add(($854|0),($855|0),($859|0),($862|0))|0);
+ $864 = tempRet0;
+ $865 = ((($w)) + 32|0);
+ $866 = $865;
+ $867 = $866;
+ $868 = HEAP32[$867>>2]|0;
+ $869 = (($866) + 4)|0;
+ $870 = $869;
+ $871 = HEAP32[$870>>2]|0;
+ $872 = (_ROTR($868,$871,1,0)|0);
+ $873 = tempRet0;
+ $874 = ((($w)) + 32|0);
+ $875 = $874;
+ $876 = $875;
+ $877 = HEAP32[$876>>2]|0;
+ $878 = (($875) + 4)|0;
+ $879 = $878;
+ $880 = HEAP32[$879>>2]|0;
+ $881 = (_ROTR($877,$880,8,0)|0);
+ $882 = tempRet0;
+ $883 = $872 ^ $881;
+ $884 = $873 ^ $882;
+ $885 = ((($w)) + 32|0);
+ $886 = $885;
+ $887 = $886;
+ $888 = HEAP32[$887>>2]|0;
+ $889 = (($886) + 4)|0;
+ $890 = $889;
+ $891 = HEAP32[$890>>2]|0;
+ $892 = (_bitshift64Lshr(($888|0),($891|0),7)|0);
+ $893 = tempRet0;
+ $894 = $883 ^ $892;
+ $895 = $884 ^ $893;
+ $896 = (_i64Add(($863|0),($864|0),($894|0),($895|0))|0);
+ $897 = tempRet0;
+ $898 = ((($w)) + 24|0);
+ $899 = $898;
+ $900 = $899;
+ $901 = HEAP32[$900>>2]|0;
+ $902 = (($899) + 4)|0;
+ $903 = $902;
+ $904 = HEAP32[$903>>2]|0;
+ $905 = (_i64Add(($901|0),($904|0),($896|0),($897|0))|0);
+ $906 = tempRet0;
+ $907 = $898;
+ $908 = $907;
+ HEAP32[$908>>2] = $905;
+ $909 = (($907) + 4)|0;
+ $910 = $909;
+ HEAP32[$910>>2] = $906;
+ $911 = $f;
+ $912 = $911;
+ $913 = HEAP32[$912>>2]|0;
+ $914 = (($911) + 4)|0;
+ $915 = $914;
+ $916 = HEAP32[$915>>2]|0;
+ $917 = (_Sum0_1423($913,$916)|0);
+ $918 = tempRet0;
+ $919 = $f;
+ $920 = $919;
+ $921 = HEAP32[$920>>2]|0;
+ $922 = (($919) + 4)|0;
+ $923 = $922;
+ $924 = HEAP32[$923>>2]|0;
+ $925 = $g;
+ $926 = $925;
+ $927 = HEAP32[$926>>2]|0;
+ $928 = (($925) + 4)|0;
+ $929 = $928;
+ $930 = HEAP32[$929>>2]|0;
+ $931 = $h;
+ $932 = $931;
+ $933 = HEAP32[$932>>2]|0;
+ $934 = (($931) + 4)|0;
+ $935 = $934;
+ $936 = HEAP32[$935>>2]|0;
+ $937 = (_Maj_1424($921,$924,$927,$930,$933,$936)|0);
+ $938 = tempRet0;
+ $939 = (_i64Add(($917|0),($918|0),($937|0),($938|0))|0);
+ $940 = tempRet0;
+ $941 = $t2;
+ $942 = $941;
+ HEAP32[$942>>2] = $939;
+ $943 = (($941) + 4)|0;
+ $944 = $943;
+ HEAP32[$944>>2] = $940;
+ $945 = $t1;
+ $946 = $945;
+ $947 = HEAP32[$946>>2]|0;
+ $948 = (($945) + 4)|0;
+ $949 = $948;
+ $950 = HEAP32[$949>>2]|0;
+ $951 = $a;
+ $952 = $951;
+ $953 = HEAP32[$952>>2]|0;
+ $954 = (($951) + 4)|0;
+ $955 = $954;
+ $956 = HEAP32[$955>>2]|0;
+ $957 = (_i64Add(($953|0),($956|0),($947|0),($950|0))|0);
+ $958 = tempRet0;
+ $959 = $a;
+ $960 = $959;
+ HEAP32[$960>>2] = $957;
+ $961 = (($959) + 4)|0;
+ $962 = $961;
+ HEAP32[$962>>2] = $958;
+ $963 = $t1;
+ $964 = $963;
+ $965 = HEAP32[$964>>2]|0;
+ $966 = (($963) + 4)|0;
+ $967 = $966;
+ $968 = HEAP32[$967>>2]|0;
+ $969 = $t2;
+ $970 = $969;
+ $971 = HEAP32[$970>>2]|0;
+ $972 = (($969) + 4)|0;
+ $973 = $972;
+ $974 = HEAP32[$973>>2]|0;
+ $975 = (_i64Add(($965|0),($968|0),($971|0),($974|0))|0);
+ $976 = tempRet0;
+ $977 = $e;
+ $978 = $977;
+ HEAP32[$978>>2] = $975;
+ $979 = (($977) + 4)|0;
+ $980 = $979;
+ HEAP32[$980>>2] = $976;
+ $981 = $d;
+ $982 = $981;
+ $983 = HEAP32[$982>>2]|0;
+ $984 = (($981) + 4)|0;
+ $985 = $984;
+ $986 = HEAP32[$985>>2]|0;
+ $987 = $a;
+ $988 = $987;
+ $989 = HEAP32[$988>>2]|0;
+ $990 = (($987) + 4)|0;
+ $991 = $990;
+ $992 = HEAP32[$991>>2]|0;
+ $993 = (_Sum1_1422($989,$992)|0);
+ $994 = tempRet0;
+ $995 = (_i64Add(($983|0),($986|0),($993|0),($994|0))|0);
+ $996 = tempRet0;
+ $997 = $a;
+ $998 = $997;
+ $999 = HEAP32[$998>>2]|0;
+ $1000 = (($997) + 4)|0;
+ $1001 = $1000;
+ $1002 = HEAP32[$1001>>2]|0;
+ $1003 = $b;
+ $1004 = $1003;
+ $1005 = HEAP32[$1004>>2]|0;
+ $1006 = (($1003) + 4)|0;
+ $1007 = $1006;
+ $1008 = HEAP32[$1007>>2]|0;
+ $1009 = $c;
+ $1010 = $1009;
+ $1011 = HEAP32[$1010>>2]|0;
+ $1012 = (($1009) + 4)|0;
+ $1013 = $1012;
+ $1014 = HEAP32[$1013>>2]|0;
+ $1015 = (_Ch($999,$1002,$1005,$1008,$1011,$1014)|0);
+ $1016 = tempRet0;
+ $1017 = (_i64Add(($995|0),($996|0),($1015|0),($1016|0))|0);
+ $1018 = tempRet0;
+ $1019 = $t;
+ $1020 = (($1019) + 4)|0;
+ $1021 = (80 + ($1020<<3)|0);
+ $1022 = $1021;
+ $1023 = $1022;
+ $1024 = HEAP32[$1023>>2]|0;
+ $1025 = (($1022) + 4)|0;
+ $1026 = $1025;
+ $1027 = HEAP32[$1026>>2]|0;
+ $1028 = (_i64Add(($1017|0),($1018|0),($1024|0),($1027|0))|0);
+ $1029 = tempRet0;
+ $1030 = ((($w)) + 32|0);
+ $1031 = $1030;
+ $1032 = $1031;
+ $1033 = HEAP32[$1032>>2]|0;
+ $1034 = (($1031) + 4)|0;
+ $1035 = $1034;
+ $1036 = HEAP32[$1035>>2]|0;
+ $1037 = (_i64Add(($1028|0),($1029|0),($1033|0),($1036|0))|0);
+ $1038 = tempRet0;
+ $1039 = $t1;
+ $1040 = $1039;
+ HEAP32[$1040>>2] = $1037;
+ $1041 = (($1039) + 4)|0;
+ $1042 = $1041;
+ HEAP32[$1042>>2] = $1038;
+ $1043 = ((($w)) + 16|0);
+ $1044 = $1043;
+ $1045 = $1044;
+ $1046 = HEAP32[$1045>>2]|0;
+ $1047 = (($1044) + 4)|0;
+ $1048 = $1047;
+ $1049 = HEAP32[$1048>>2]|0;
+ $1050 = (_ROTR($1046,$1049,19,0)|0);
+ $1051 = tempRet0;
+ $1052 = ((($w)) + 16|0);
+ $1053 = $1052;
+ $1054 = $1053;
+ $1055 = HEAP32[$1054>>2]|0;
+ $1056 = (($1053) + 4)|0;
+ $1057 = $1056;
+ $1058 = HEAP32[$1057>>2]|0;
+ $1059 = (_ROTR($1055,$1058,61,0)|0);
+ $1060 = tempRet0;
+ $1061 = $1050 ^ $1059;
+ $1062 = $1051 ^ $1060;
+ $1063 = ((($w)) + 16|0);
+ $1064 = $1063;
+ $1065 = $1064;
+ $1066 = HEAP32[$1065>>2]|0;
+ $1067 = (($1064) + 4)|0;
+ $1068 = $1067;
+ $1069 = HEAP32[$1068>>2]|0;
+ $1070 = (_bitshift64Lshr(($1066|0),($1069|0),6)|0);
+ $1071 = tempRet0;
+ $1072 = $1061 ^ $1070;
+ $1073 = $1062 ^ $1071;
+ $1074 = ((($w)) + 104|0);
+ $1075 = $1074;
+ $1076 = $1075;
+ $1077 = HEAP32[$1076>>2]|0;
+ $1078 = (($1075) + 4)|0;
+ $1079 = $1078;
+ $1080 = HEAP32[$1079>>2]|0;
+ $1081 = (_i64Add(($1072|0),($1073|0),($1077|0),($1080|0))|0);
+ $1082 = tempRet0;
+ $1083 = ((($w)) + 40|0);
+ $1084 = $1083;
+ $1085 = $1084;
+ $1086 = HEAP32[$1085>>2]|0;
+ $1087 = (($1084) + 4)|0;
+ $1088 = $1087;
+ $1089 = HEAP32[$1088>>2]|0;
+ $1090 = (_ROTR($1086,$1089,1,0)|0);
+ $1091 = tempRet0;
+ $1092 = ((($w)) + 40|0);
+ $1093 = $1092;
+ $1094 = $1093;
+ $1095 = HEAP32[$1094>>2]|0;
+ $1096 = (($1093) + 4)|0;
+ $1097 = $1096;
+ $1098 = HEAP32[$1097>>2]|0;
+ $1099 = (_ROTR($1095,$1098,8,0)|0);
+ $1100 = tempRet0;
+ $1101 = $1090 ^ $1099;
+ $1102 = $1091 ^ $1100;
+ $1103 = ((($w)) + 40|0);
+ $1104 = $1103;
+ $1105 = $1104;
+ $1106 = HEAP32[$1105>>2]|0;
+ $1107 = (($1104) + 4)|0;
+ $1108 = $1107;
+ $1109 = HEAP32[$1108>>2]|0;
+ $1110 = (_bitshift64Lshr(($1106|0),($1109|0),7)|0);
+ $1111 = tempRet0;
+ $1112 = $1101 ^ $1110;
+ $1113 = $1102 ^ $1111;
+ $1114 = (_i64Add(($1081|0),($1082|0),($1112|0),($1113|0))|0);
+ $1115 = tempRet0;
+ $1116 = ((($w)) + 32|0);
+ $1117 = $1116;
+ $1118 = $1117;
+ $1119 = HEAP32[$1118>>2]|0;
+ $1120 = (($1117) + 4)|0;
+ $1121 = $1120;
+ $1122 = HEAP32[$1121>>2]|0;
+ $1123 = (_i64Add(($1119|0),($1122|0),($1114|0),($1115|0))|0);
+ $1124 = tempRet0;
+ $1125 = $1116;
+ $1126 = $1125;
+ HEAP32[$1126>>2] = $1123;
+ $1127 = (($1125) + 4)|0;
+ $1128 = $1127;
+ HEAP32[$1128>>2] = $1124;
+ $1129 = $e;
+ $1130 = $1129;
+ $1131 = HEAP32[$1130>>2]|0;
+ $1132 = (($1129) + 4)|0;
+ $1133 = $1132;
+ $1134 = HEAP32[$1133>>2]|0;
+ $1135 = (_Sum0_1423($1131,$1134)|0);
+ $1136 = tempRet0;
+ $1137 = $e;
+ $1138 = $1137;
+ $1139 = HEAP32[$1138>>2]|0;
+ $1140 = (($1137) + 4)|0;
+ $1141 = $1140;
+ $1142 = HEAP32[$1141>>2]|0;
+ $1143 = $f;
+ $1144 = $1143;
+ $1145 = HEAP32[$1144>>2]|0;
+ $1146 = (($1143) + 4)|0;
+ $1147 = $1146;
+ $1148 = HEAP32[$1147>>2]|0;
+ $1149 = $g;
+ $1150 = $1149;
+ $1151 = HEAP32[$1150>>2]|0;
+ $1152 = (($1149) + 4)|0;
+ $1153 = $1152;
+ $1154 = HEAP32[$1153>>2]|0;
+ $1155 = (_Maj_1424($1139,$1142,$1145,$1148,$1151,$1154)|0);
+ $1156 = tempRet0;
+ $1157 = (_i64Add(($1135|0),($1136|0),($1155|0),($1156|0))|0);
+ $1158 = tempRet0;
+ $1159 = $t2;
+ $1160 = $1159;
+ HEAP32[$1160>>2] = $1157;
+ $1161 = (($1159) + 4)|0;
+ $1162 = $1161;
+ HEAP32[$1162>>2] = $1158;
+ $1163 = $t1;
+ $1164 = $1163;
+ $1165 = HEAP32[$1164>>2]|0;
+ $1166 = (($1163) + 4)|0;
+ $1167 = $1166;
+ $1168 = HEAP32[$1167>>2]|0;
+ $1169 = $h;
+ $1170 = $1169;
+ $1171 = HEAP32[$1170>>2]|0;
+ $1172 = (($1169) + 4)|0;
+ $1173 = $1172;
+ $1174 = HEAP32[$1173>>2]|0;
+ $1175 = (_i64Add(($1171|0),($1174|0),($1165|0),($1168|0))|0);
+ $1176 = tempRet0;
+ $1177 = $h;
+ $1178 = $1177;
+ HEAP32[$1178>>2] = $1175;
+ $1179 = (($1177) + 4)|0;
+ $1180 = $1179;
+ HEAP32[$1180>>2] = $1176;
+ $1181 = $t1;
+ $1182 = $1181;
+ $1183 = HEAP32[$1182>>2]|0;
+ $1184 = (($1181) + 4)|0;
+ $1185 = $1184;
+ $1186 = HEAP32[$1185>>2]|0;
+ $1187 = $t2;
+ $1188 = $1187;
+ $1189 = HEAP32[$1188>>2]|0;
+ $1190 = (($1187) + 4)|0;
+ $1191 = $1190;
+ $1192 = HEAP32[$1191>>2]|0;
+ $1193 = (_i64Add(($1183|0),($1186|0),($1189|0),($1192|0))|0);
+ $1194 = tempRet0;
+ $1195 = $d;
+ $1196 = $1195;
+ HEAP32[$1196>>2] = $1193;
+ $1197 = (($1195) + 4)|0;
+ $1198 = $1197;
+ HEAP32[$1198>>2] = $1194;
+ $1199 = $c;
+ $1200 = $1199;
+ $1201 = HEAP32[$1200>>2]|0;
+ $1202 = (($1199) + 4)|0;
+ $1203 = $1202;
+ $1204 = HEAP32[$1203>>2]|0;
+ $1205 = $h;
+ $1206 = $1205;
+ $1207 = HEAP32[$1206>>2]|0;
+ $1208 = (($1205) + 4)|0;
+ $1209 = $1208;
+ $1210 = HEAP32[$1209>>2]|0;
+ $1211 = (_Sum1_1422($1207,$1210)|0);
+ $1212 = tempRet0;
+ $1213 = (_i64Add(($1201|0),($1204|0),($1211|0),($1212|0))|0);
+ $1214 = tempRet0;
+ $1215 = $h;
+ $1216 = $1215;
+ $1217 = HEAP32[$1216>>2]|0;
+ $1218 = (($1215) + 4)|0;
+ $1219 = $1218;
+ $1220 = HEAP32[$1219>>2]|0;
+ $1221 = $a;
+ $1222 = $1221;
+ $1223 = HEAP32[$1222>>2]|0;
+ $1224 = (($1221) + 4)|0;
+ $1225 = $1224;
+ $1226 = HEAP32[$1225>>2]|0;
+ $1227 = $b;
+ $1228 = $1227;
+ $1229 = HEAP32[$1228>>2]|0;
+ $1230 = (($1227) + 4)|0;
+ $1231 = $1230;
+ $1232 = HEAP32[$1231>>2]|0;
+ $1233 = (_Ch($1217,$1220,$1223,$1226,$1229,$1232)|0);
+ $1234 = tempRet0;
+ $1235 = (_i64Add(($1213|0),($1214|0),($1233|0),($1234|0))|0);
+ $1236 = tempRet0;
+ $1237 = $t;
+ $1238 = (($1237) + 5)|0;
+ $1239 = (80 + ($1238<<3)|0);
+ $1240 = $1239;
+ $1241 = $1240;
+ $1242 = HEAP32[$1241>>2]|0;
+ $1243 = (($1240) + 4)|0;
+ $1244 = $1243;
+ $1245 = HEAP32[$1244>>2]|0;
+ $1246 = (_i64Add(($1235|0),($1236|0),($1242|0),($1245|0))|0);
+ $1247 = tempRet0;
+ $1248 = ((($w)) + 40|0);
+ $1249 = $1248;
+ $1250 = $1249;
+ $1251 = HEAP32[$1250>>2]|0;
+ $1252 = (($1249) + 4)|0;
+ $1253 = $1252;
+ $1254 = HEAP32[$1253>>2]|0;
+ $1255 = (_i64Add(($1246|0),($1247|0),($1251|0),($1254|0))|0);
+ $1256 = tempRet0;
+ $1257 = $t1;
+ $1258 = $1257;
+ HEAP32[$1258>>2] = $1255;
+ $1259 = (($1257) + 4)|0;
+ $1260 = $1259;
+ HEAP32[$1260>>2] = $1256;
+ $1261 = ((($w)) + 24|0);
+ $1262 = $1261;
+ $1263 = $1262;
+ $1264 = HEAP32[$1263>>2]|0;
+ $1265 = (($1262) + 4)|0;
+ $1266 = $1265;
+ $1267 = HEAP32[$1266>>2]|0;
+ $1268 = (_ROTR($1264,$1267,19,0)|0);
+ $1269 = tempRet0;
+ $1270 = ((($w)) + 24|0);
+ $1271 = $1270;
+ $1272 = $1271;
+ $1273 = HEAP32[$1272>>2]|0;
+ $1274 = (($1271) + 4)|0;
+ $1275 = $1274;
+ $1276 = HEAP32[$1275>>2]|0;
+ $1277 = (_ROTR($1273,$1276,61,0)|0);
+ $1278 = tempRet0;
+ $1279 = $1268 ^ $1277;
+ $1280 = $1269 ^ $1278;
+ $1281 = ((($w)) + 24|0);
+ $1282 = $1281;
+ $1283 = $1282;
+ $1284 = HEAP32[$1283>>2]|0;
+ $1285 = (($1282) + 4)|0;
+ $1286 = $1285;
+ $1287 = HEAP32[$1286>>2]|0;
+ $1288 = (_bitshift64Lshr(($1284|0),($1287|0),6)|0);
+ $1289 = tempRet0;
+ $1290 = $1279 ^ $1288;
+ $1291 = $1280 ^ $1289;
+ $1292 = ((($w)) + 112|0);
+ $1293 = $1292;
+ $1294 = $1293;
+ $1295 = HEAP32[$1294>>2]|0;
+ $1296 = (($1293) + 4)|0;
+ $1297 = $1296;
+ $1298 = HEAP32[$1297>>2]|0;
+ $1299 = (_i64Add(($1290|0),($1291|0),($1295|0),($1298|0))|0);
+ $1300 = tempRet0;
+ $1301 = ((($w)) + 48|0);
+ $1302 = $1301;
+ $1303 = $1302;
+ $1304 = HEAP32[$1303>>2]|0;
+ $1305 = (($1302) + 4)|0;
+ $1306 = $1305;
+ $1307 = HEAP32[$1306>>2]|0;
+ $1308 = (_ROTR($1304,$1307,1,0)|0);
+ $1309 = tempRet0;
+ $1310 = ((($w)) + 48|0);
+ $1311 = $1310;
+ $1312 = $1311;
+ $1313 = HEAP32[$1312>>2]|0;
+ $1314 = (($1311) + 4)|0;
+ $1315 = $1314;
+ $1316 = HEAP32[$1315>>2]|0;
+ $1317 = (_ROTR($1313,$1316,8,0)|0);
+ $1318 = tempRet0;
+ $1319 = $1308 ^ $1317;
+ $1320 = $1309 ^ $1318;
+ $1321 = ((($w)) + 48|0);
+ $1322 = $1321;
+ $1323 = $1322;
+ $1324 = HEAP32[$1323>>2]|0;
+ $1325 = (($1322) + 4)|0;
+ $1326 = $1325;
+ $1327 = HEAP32[$1326>>2]|0;
+ $1328 = (_bitshift64Lshr(($1324|0),($1327|0),7)|0);
+ $1329 = tempRet0;
+ $1330 = $1319 ^ $1328;
+ $1331 = $1320 ^ $1329;
+ $1332 = (_i64Add(($1299|0),($1300|0),($1330|0),($1331|0))|0);
+ $1333 = tempRet0;
+ $1334 = ((($w)) + 40|0);
+ $1335 = $1334;
+ $1336 = $1335;
+ $1337 = HEAP32[$1336>>2]|0;
+ $1338 = (($1335) + 4)|0;
+ $1339 = $1338;
+ $1340 = HEAP32[$1339>>2]|0;
+ $1341 = (_i64Add(($1337|0),($1340|0),($1332|0),($1333|0))|0);
+ $1342 = tempRet0;
+ $1343 = $1334;
+ $1344 = $1343;
+ HEAP32[$1344>>2] = $1341;
+ $1345 = (($1343) + 4)|0;
+ $1346 = $1345;
+ HEAP32[$1346>>2] = $1342;
+ $1347 = $d;
+ $1348 = $1347;
+ $1349 = HEAP32[$1348>>2]|0;
+ $1350 = (($1347) + 4)|0;
+ $1351 = $1350;
+ $1352 = HEAP32[$1351>>2]|0;
+ $1353 = (_Sum0_1423($1349,$1352)|0);
+ $1354 = tempRet0;
+ $1355 = $d;
+ $1356 = $1355;
+ $1357 = HEAP32[$1356>>2]|0;
+ $1358 = (($1355) + 4)|0;
+ $1359 = $1358;
+ $1360 = HEAP32[$1359>>2]|0;
+ $1361 = $e;
+ $1362 = $1361;
+ $1363 = HEAP32[$1362>>2]|0;
+ $1364 = (($1361) + 4)|0;
+ $1365 = $1364;
+ $1366 = HEAP32[$1365>>2]|0;
+ $1367 = $f;
+ $1368 = $1367;
+ $1369 = HEAP32[$1368>>2]|0;
+ $1370 = (($1367) + 4)|0;
+ $1371 = $1370;
+ $1372 = HEAP32[$1371>>2]|0;
+ $1373 = (_Maj_1424($1357,$1360,$1363,$1366,$1369,$1372)|0);
+ $1374 = tempRet0;
+ $1375 = (_i64Add(($1353|0),($1354|0),($1373|0),($1374|0))|0);
+ $1376 = tempRet0;
+ $1377 = $t2;
+ $1378 = $1377;
+ HEAP32[$1378>>2] = $1375;
+ $1379 = (($1377) + 4)|0;
+ $1380 = $1379;
+ HEAP32[$1380>>2] = $1376;
+ $1381 = $t1;
+ $1382 = $1381;
+ $1383 = HEAP32[$1382>>2]|0;
+ $1384 = (($1381) + 4)|0;
+ $1385 = $1384;
+ $1386 = HEAP32[$1385>>2]|0;
+ $1387 = $g;
+ $1388 = $1387;
+ $1389 = HEAP32[$1388>>2]|0;
+ $1390 = (($1387) + 4)|0;
+ $1391 = $1390;
+ $1392 = HEAP32[$1391>>2]|0;
+ $1393 = (_i64Add(($1389|0),($1392|0),($1383|0),($1386|0))|0);
+ $1394 = tempRet0;
+ $1395 = $g;
+ $1396 = $1395;
+ HEAP32[$1396>>2] = $1393;
+ $1397 = (($1395) + 4)|0;
+ $1398 = $1397;
+ HEAP32[$1398>>2] = $1394;
+ $1399 = $t1;
+ $1400 = $1399;
+ $1401 = HEAP32[$1400>>2]|0;
+ $1402 = (($1399) + 4)|0;
+ $1403 = $1402;
+ $1404 = HEAP32[$1403>>2]|0;
+ $1405 = $t2;
+ $1406 = $1405;
+ $1407 = HEAP32[$1406>>2]|0;
+ $1408 = (($1405) + 4)|0;
+ $1409 = $1408;
+ $1410 = HEAP32[$1409>>2]|0;
+ $1411 = (_i64Add(($1401|0),($1404|0),($1407|0),($1410|0))|0);
+ $1412 = tempRet0;
+ $1413 = $c;
+ $1414 = $1413;
+ HEAP32[$1414>>2] = $1411;
+ $1415 = (($1413) + 4)|0;
+ $1416 = $1415;
+ HEAP32[$1416>>2] = $1412;
+ $1417 = $b;
+ $1418 = $1417;
+ $1419 = HEAP32[$1418>>2]|0;
+ $1420 = (($1417) + 4)|0;
+ $1421 = $1420;
+ $1422 = HEAP32[$1421>>2]|0;
+ $1423 = $g;
+ $1424 = $1423;
+ $1425 = HEAP32[$1424>>2]|0;
+ $1426 = (($1423) + 4)|0;
+ $1427 = $1426;
+ $1428 = HEAP32[$1427>>2]|0;
+ $1429 = (_Sum1_1422($1425,$1428)|0);
+ $1430 = tempRet0;
+ $1431 = (_i64Add(($1419|0),($1422|0),($1429|0),($1430|0))|0);
+ $1432 = tempRet0;
+ $1433 = $g;
+ $1434 = $1433;
+ $1435 = HEAP32[$1434>>2]|0;
+ $1436 = (($1433) + 4)|0;
+ $1437 = $1436;
+ $1438 = HEAP32[$1437>>2]|0;
+ $1439 = $h;
+ $1440 = $1439;
+ $1441 = HEAP32[$1440>>2]|0;
+ $1442 = (($1439) + 4)|0;
+ $1443 = $1442;
+ $1444 = HEAP32[$1443>>2]|0;
+ $1445 = $a;
+ $1446 = $1445;
+ $1447 = HEAP32[$1446>>2]|0;
+ $1448 = (($1445) + 4)|0;
+ $1449 = $1448;
+ $1450 = HEAP32[$1449>>2]|0;
+ $1451 = (_Ch($1435,$1438,$1441,$1444,$1447,$1450)|0);
+ $1452 = tempRet0;
+ $1453 = (_i64Add(($1431|0),($1432|0),($1451|0),($1452|0))|0);
+ $1454 = tempRet0;
+ $1455 = $t;
+ $1456 = (($1455) + 6)|0;
+ $1457 = (80 + ($1456<<3)|0);
+ $1458 = $1457;
+ $1459 = $1458;
+ $1460 = HEAP32[$1459>>2]|0;
+ $1461 = (($1458) + 4)|0;
+ $1462 = $1461;
+ $1463 = HEAP32[$1462>>2]|0;
+ $1464 = (_i64Add(($1453|0),($1454|0),($1460|0),($1463|0))|0);
+ $1465 = tempRet0;
+ $1466 = ((($w)) + 48|0);
+ $1467 = $1466;
+ $1468 = $1467;
+ $1469 = HEAP32[$1468>>2]|0;
+ $1470 = (($1467) + 4)|0;
+ $1471 = $1470;
+ $1472 = HEAP32[$1471>>2]|0;
+ $1473 = (_i64Add(($1464|0),($1465|0),($1469|0),($1472|0))|0);
+ $1474 = tempRet0;
+ $1475 = $t1;
+ $1476 = $1475;
+ HEAP32[$1476>>2] = $1473;
+ $1477 = (($1475) + 4)|0;
+ $1478 = $1477;
+ HEAP32[$1478>>2] = $1474;
+ $1479 = ((($w)) + 32|0);
+ $1480 = $1479;
+ $1481 = $1480;
+ $1482 = HEAP32[$1481>>2]|0;
+ $1483 = (($1480) + 4)|0;
+ $1484 = $1483;
+ $1485 = HEAP32[$1484>>2]|0;
+ $1486 = (_ROTR($1482,$1485,19,0)|0);
+ $1487 = tempRet0;
+ $1488 = ((($w)) + 32|0);
+ $1489 = $1488;
+ $1490 = $1489;
+ $1491 = HEAP32[$1490>>2]|0;
+ $1492 = (($1489) + 4)|0;
+ $1493 = $1492;
+ $1494 = HEAP32[$1493>>2]|0;
+ $1495 = (_ROTR($1491,$1494,61,0)|0);
+ $1496 = tempRet0;
+ $1497 = $1486 ^ $1495;
+ $1498 = $1487 ^ $1496;
+ $1499 = ((($w)) + 32|0);
+ $1500 = $1499;
+ $1501 = $1500;
+ $1502 = HEAP32[$1501>>2]|0;
+ $1503 = (($1500) + 4)|0;
+ $1504 = $1503;
+ $1505 = HEAP32[$1504>>2]|0;
+ $1506 = (_bitshift64Lshr(($1502|0),($1505|0),6)|0);
+ $1507 = tempRet0;
+ $1508 = $1497 ^ $1506;
+ $1509 = $1498 ^ $1507;
+ $1510 = ((($w)) + 120|0);
+ $1511 = $1510;
+ $1512 = $1511;
+ $1513 = HEAP32[$1512>>2]|0;
+ $1514 = (($1511) + 4)|0;
+ $1515 = $1514;
+ $1516 = HEAP32[$1515>>2]|0;
+ $1517 = (_i64Add(($1508|0),($1509|0),($1513|0),($1516|0))|0);
+ $1518 = tempRet0;
+ $1519 = ((($w)) + 56|0);
+ $1520 = $1519;
+ $1521 = $1520;
+ $1522 = HEAP32[$1521>>2]|0;
+ $1523 = (($1520) + 4)|0;
+ $1524 = $1523;
+ $1525 = HEAP32[$1524>>2]|0;
+ $1526 = (_ROTR($1522,$1525,1,0)|0);
+ $1527 = tempRet0;
+ $1528 = ((($w)) + 56|0);
+ $1529 = $1528;
+ $1530 = $1529;
+ $1531 = HEAP32[$1530>>2]|0;
+ $1532 = (($1529) + 4)|0;
+ $1533 = $1532;
+ $1534 = HEAP32[$1533>>2]|0;
+ $1535 = (_ROTR($1531,$1534,8,0)|0);
+ $1536 = tempRet0;
+ $1537 = $1526 ^ $1535;
+ $1538 = $1527 ^ $1536;
+ $1539 = ((($w)) + 56|0);
+ $1540 = $1539;
+ $1541 = $1540;
+ $1542 = HEAP32[$1541>>2]|0;
+ $1543 = (($1540) + 4)|0;
+ $1544 = $1543;
+ $1545 = HEAP32[$1544>>2]|0;
+ $1546 = (_bitshift64Lshr(($1542|0),($1545|0),7)|0);
+ $1547 = tempRet0;
+ $1548 = $1537 ^ $1546;
+ $1549 = $1538 ^ $1547;
+ $1550 = (_i64Add(($1517|0),($1518|0),($1548|0),($1549|0))|0);
+ $1551 = tempRet0;
+ $1552 = ((($w)) + 48|0);
+ $1553 = $1552;
+ $1554 = $1553;
+ $1555 = HEAP32[$1554>>2]|0;
+ $1556 = (($1553) + 4)|0;
+ $1557 = $1556;
+ $1558 = HEAP32[$1557>>2]|0;
+ $1559 = (_i64Add(($1555|0),($1558|0),($1550|0),($1551|0))|0);
+ $1560 = tempRet0;
+ $1561 = $1552;
+ $1562 = $1561;
+ HEAP32[$1562>>2] = $1559;
+ $1563 = (($1561) + 4)|0;
+ $1564 = $1563;
+ HEAP32[$1564>>2] = $1560;
+ $1565 = $c;
+ $1566 = $1565;
+ $1567 = HEAP32[$1566>>2]|0;
+ $1568 = (($1565) + 4)|0;
+ $1569 = $1568;
+ $1570 = HEAP32[$1569>>2]|0;
+ $1571 = (_Sum0_1423($1567,$1570)|0);
+ $1572 = tempRet0;
+ $1573 = $c;
+ $1574 = $1573;
+ $1575 = HEAP32[$1574>>2]|0;
+ $1576 = (($1573) + 4)|0;
+ $1577 = $1576;
+ $1578 = HEAP32[$1577>>2]|0;
+ $1579 = $d;
+ $1580 = $1579;
+ $1581 = HEAP32[$1580>>2]|0;
+ $1582 = (($1579) + 4)|0;
+ $1583 = $1582;
+ $1584 = HEAP32[$1583>>2]|0;
+ $1585 = $e;
+ $1586 = $1585;
+ $1587 = HEAP32[$1586>>2]|0;
+ $1588 = (($1585) + 4)|0;
+ $1589 = $1588;
+ $1590 = HEAP32[$1589>>2]|0;
+ $1591 = (_Maj_1424($1575,$1578,$1581,$1584,$1587,$1590)|0);
+ $1592 = tempRet0;
+ $1593 = (_i64Add(($1571|0),($1572|0),($1591|0),($1592|0))|0);
+ $1594 = tempRet0;
+ $1595 = $t2;
+ $1596 = $1595;
+ HEAP32[$1596>>2] = $1593;
+ $1597 = (($1595) + 4)|0;
+ $1598 = $1597;
+ HEAP32[$1598>>2] = $1594;
+ $1599 = $t1;
+ $1600 = $1599;
+ $1601 = HEAP32[$1600>>2]|0;
+ $1602 = (($1599) + 4)|0;
+ $1603 = $1602;
+ $1604 = HEAP32[$1603>>2]|0;
+ $1605 = $f;
+ $1606 = $1605;
+ $1607 = HEAP32[$1606>>2]|0;
+ $1608 = (($1605) + 4)|0;
+ $1609 = $1608;
+ $1610 = HEAP32[$1609>>2]|0;
+ $1611 = (_i64Add(($1607|0),($1610|0),($1601|0),($1604|0))|0);
+ $1612 = tempRet0;
+ $1613 = $f;
+ $1614 = $1613;
+ HEAP32[$1614>>2] = $1611;
+ $1615 = (($1613) + 4)|0;
+ $1616 = $1615;
+ HEAP32[$1616>>2] = $1612;
+ $1617 = $t1;
+ $1618 = $1617;
+ $1619 = HEAP32[$1618>>2]|0;
+ $1620 = (($1617) + 4)|0;
+ $1621 = $1620;
+ $1622 = HEAP32[$1621>>2]|0;
+ $1623 = $t2;
+ $1624 = $1623;
+ $1625 = HEAP32[$1624>>2]|0;
+ $1626 = (($1623) + 4)|0;
+ $1627 = $1626;
+ $1628 = HEAP32[$1627>>2]|0;
+ $1629 = (_i64Add(($1619|0),($1622|0),($1625|0),($1628|0))|0);
+ $1630 = tempRet0;
+ $1631 = $b;
+ $1632 = $1631;
+ HEAP32[$1632>>2] = $1629;
+ $1633 = (($1631) + 4)|0;
+ $1634 = $1633;
+ HEAP32[$1634>>2] = $1630;
+ $1635 = $a;
+ $1636 = $1635;
+ $1637 = HEAP32[$1636>>2]|0;
+ $1638 = (($1635) + 4)|0;
+ $1639 = $1638;
+ $1640 = HEAP32[$1639>>2]|0;
+ $1641 = $f;
+ $1642 = $1641;
+ $1643 = HEAP32[$1642>>2]|0;
+ $1644 = (($1641) + 4)|0;
+ $1645 = $1644;
+ $1646 = HEAP32[$1645>>2]|0;
+ $1647 = (_Sum1_1422($1643,$1646)|0);
+ $1648 = tempRet0;
+ $1649 = (_i64Add(($1637|0),($1640|0),($1647|0),($1648|0))|0);
+ $1650 = tempRet0;
+ $1651 = $f;
+ $1652 = $1651;
+ $1653 = HEAP32[$1652>>2]|0;
+ $1654 = (($1651) + 4)|0;
+ $1655 = $1654;
+ $1656 = HEAP32[$1655>>2]|0;
+ $1657 = $g;
+ $1658 = $1657;
+ $1659 = HEAP32[$1658>>2]|0;
+ $1660 = (($1657) + 4)|0;
+ $1661 = $1660;
+ $1662 = HEAP32[$1661>>2]|0;
+ $1663 = $h;
+ $1664 = $1663;
+ $1665 = HEAP32[$1664>>2]|0;
+ $1666 = (($1663) + 4)|0;
+ $1667 = $1666;
+ $1668 = HEAP32[$1667>>2]|0;
+ $1669 = (_Ch($1653,$1656,$1659,$1662,$1665,$1668)|0);
+ $1670 = tempRet0;
+ $1671 = (_i64Add(($1649|0),($1650|0),($1669|0),($1670|0))|0);
+ $1672 = tempRet0;
+ $1673 = $t;
+ $1674 = (($1673) + 7)|0;
+ $1675 = (80 + ($1674<<3)|0);
+ $1676 = $1675;
+ $1677 = $1676;
+ $1678 = HEAP32[$1677>>2]|0;
+ $1679 = (($1676) + 4)|0;
+ $1680 = $1679;
+ $1681 = HEAP32[$1680>>2]|0;
+ $1682 = (_i64Add(($1671|0),($1672|0),($1678|0),($1681|0))|0);
+ $1683 = tempRet0;
+ $1684 = ((($w)) + 56|0);
+ $1685 = $1684;
+ $1686 = $1685;
+ $1687 = HEAP32[$1686>>2]|0;
+ $1688 = (($1685) + 4)|0;
+ $1689 = $1688;
+ $1690 = HEAP32[$1689>>2]|0;
+ $1691 = (_i64Add(($1682|0),($1683|0),($1687|0),($1690|0))|0);
+ $1692 = tempRet0;
+ $1693 = $t1;
+ $1694 = $1693;
+ HEAP32[$1694>>2] = $1691;
+ $1695 = (($1693) + 4)|0;
+ $1696 = $1695;
+ HEAP32[$1696>>2] = $1692;
+ $1697 = ((($w)) + 40|0);
+ $1698 = $1697;
+ $1699 = $1698;
+ $1700 = HEAP32[$1699>>2]|0;
+ $1701 = (($1698) + 4)|0;
+ $1702 = $1701;
+ $1703 = HEAP32[$1702>>2]|0;
+ $1704 = (_ROTR($1700,$1703,19,0)|0);
+ $1705 = tempRet0;
+ $1706 = ((($w)) + 40|0);
+ $1707 = $1706;
+ $1708 = $1707;
+ $1709 = HEAP32[$1708>>2]|0;
+ $1710 = (($1707) + 4)|0;
+ $1711 = $1710;
+ $1712 = HEAP32[$1711>>2]|0;
+ $1713 = (_ROTR($1709,$1712,61,0)|0);
+ $1714 = tempRet0;
+ $1715 = $1704 ^ $1713;
+ $1716 = $1705 ^ $1714;
+ $1717 = ((($w)) + 40|0);
+ $1718 = $1717;
+ $1719 = $1718;
+ $1720 = HEAP32[$1719>>2]|0;
+ $1721 = (($1718) + 4)|0;
+ $1722 = $1721;
+ $1723 = HEAP32[$1722>>2]|0;
+ $1724 = (_bitshift64Lshr(($1720|0),($1723|0),6)|0);
+ $1725 = tempRet0;
+ $1726 = $1715 ^ $1724;
+ $1727 = $1716 ^ $1725;
+ $1728 = $w;
+ $1729 = $1728;
+ $1730 = HEAP32[$1729>>2]|0;
+ $1731 = (($1728) + 4)|0;
+ $1732 = $1731;
+ $1733 = HEAP32[$1732>>2]|0;
+ $1734 = (_i64Add(($1726|0),($1727|0),($1730|0),($1733|0))|0);
+ $1735 = tempRet0;
+ $1736 = ((($w)) + 64|0);
+ $1737 = $1736;
+ $1738 = $1737;
+ $1739 = HEAP32[$1738>>2]|0;
+ $1740 = (($1737) + 4)|0;
+ $1741 = $1740;
+ $1742 = HEAP32[$1741>>2]|0;
+ $1743 = (_ROTR($1739,$1742,1,0)|0);
+ $1744 = tempRet0;
+ $1745 = ((($w)) + 64|0);
+ $1746 = $1745;
+ $1747 = $1746;
+ $1748 = HEAP32[$1747>>2]|0;
+ $1749 = (($1746) + 4)|0;
+ $1750 = $1749;
+ $1751 = HEAP32[$1750>>2]|0;
+ $1752 = (_ROTR($1748,$1751,8,0)|0);
+ $1753 = tempRet0;
+ $1754 = $1743 ^ $1752;
+ $1755 = $1744 ^ $1753;
+ $1756 = ((($w)) + 64|0);
+ $1757 = $1756;
+ $1758 = $1757;
+ $1759 = HEAP32[$1758>>2]|0;
+ $1760 = (($1757) + 4)|0;
+ $1761 = $1760;
+ $1762 = HEAP32[$1761>>2]|0;
+ $1763 = (_bitshift64Lshr(($1759|0),($1762|0),7)|0);
+ $1764 = tempRet0;
+ $1765 = $1754 ^ $1763;
+ $1766 = $1755 ^ $1764;
+ $1767 = (_i64Add(($1734|0),($1735|0),($1765|0),($1766|0))|0);
+ $1768 = tempRet0;
+ $1769 = ((($w)) + 56|0);
+ $1770 = $1769;
+ $1771 = $1770;
+ $1772 = HEAP32[$1771>>2]|0;
+ $1773 = (($1770) + 4)|0;
+ $1774 = $1773;
+ $1775 = HEAP32[$1774>>2]|0;
+ $1776 = (_i64Add(($1772|0),($1775|0),($1767|0),($1768|0))|0);
+ $1777 = tempRet0;
+ $1778 = $1769;
+ $1779 = $1778;
+ HEAP32[$1779>>2] = $1776;
+ $1780 = (($1778) + 4)|0;
+ $1781 = $1780;
+ HEAP32[$1781>>2] = $1777;
+ $1782 = $b;
+ $1783 = $1782;
+ $1784 = HEAP32[$1783>>2]|0;
+ $1785 = (($1782) + 4)|0;
+ $1786 = $1785;
+ $1787 = HEAP32[$1786>>2]|0;
+ $1788 = (_Sum0_1423($1784,$1787)|0);
+ $1789 = tempRet0;
+ $1790 = $b;
+ $1791 = $1790;
+ $1792 = HEAP32[$1791>>2]|0;
+ $1793 = (($1790) + 4)|0;
+ $1794 = $1793;
+ $1795 = HEAP32[$1794>>2]|0;
+ $1796 = $c;
+ $1797 = $1796;
+ $1798 = HEAP32[$1797>>2]|0;
+ $1799 = (($1796) + 4)|0;
+ $1800 = $1799;
+ $1801 = HEAP32[$1800>>2]|0;
+ $1802 = $d;
+ $1803 = $1802;
+ $1804 = HEAP32[$1803>>2]|0;
+ $1805 = (($1802) + 4)|0;
+ $1806 = $1805;
+ $1807 = HEAP32[$1806>>2]|0;
+ $1808 = (_Maj_1424($1792,$1795,$1798,$1801,$1804,$1807)|0);
+ $1809 = tempRet0;
+ $1810 = (_i64Add(($1788|0),($1789|0),($1808|0),($1809|0))|0);
+ $1811 = tempRet0;
+ $1812 = $t2;
+ $1813 = $1812;
+ HEAP32[$1813>>2] = $1810;
+ $1814 = (($1812) + 4)|0;
+ $1815 = $1814;
+ HEAP32[$1815>>2] = $1811;
+ $1816 = $t1;
+ $1817 = $1816;
+ $1818 = HEAP32[$1817>>2]|0;
+ $1819 = (($1816) + 4)|0;
+ $1820 = $1819;
+ $1821 = HEAP32[$1820>>2]|0;
+ $1822 = $e;
+ $1823 = $1822;
+ $1824 = HEAP32[$1823>>2]|0;
+ $1825 = (($1822) + 4)|0;
+ $1826 = $1825;
+ $1827 = HEAP32[$1826>>2]|0;
+ $1828 = (_i64Add(($1824|0),($1827|0),($1818|0),($1821|0))|0);
+ $1829 = tempRet0;
+ $1830 = $e;
+ $1831 = $1830;
+ HEAP32[$1831>>2] = $1828;
+ $1832 = (($1830) + 4)|0;
+ $1833 = $1832;
+ HEAP32[$1833>>2] = $1829;
+ $1834 = $t1;
+ $1835 = $1834;
+ $1836 = HEAP32[$1835>>2]|0;
+ $1837 = (($1834) + 4)|0;
+ $1838 = $1837;
+ $1839 = HEAP32[$1838>>2]|0;
+ $1840 = $t2;
+ $1841 = $1840;
+ $1842 = HEAP32[$1841>>2]|0;
+ $1843 = (($1840) + 4)|0;
+ $1844 = $1843;
+ $1845 = HEAP32[$1844>>2]|0;
+ $1846 = (_i64Add(($1836|0),($1839|0),($1842|0),($1845|0))|0);
+ $1847 = tempRet0;
+ $1848 = $a;
+ $1849 = $1848;
+ HEAP32[$1849>>2] = $1846;
+ $1850 = (($1848) + 4)|0;
+ $1851 = $1850;
+ HEAP32[$1851>>2] = $1847;
+ $1852 = $h;
+ $1853 = $1852;
+ $1854 = HEAP32[$1853>>2]|0;
+ $1855 = (($1852) + 4)|0;
+ $1856 = $1855;
+ $1857 = HEAP32[$1856>>2]|0;
+ $1858 = $e;
+ $1859 = $1858;
+ $1860 = HEAP32[$1859>>2]|0;
+ $1861 = (($1858) + 4)|0;
+ $1862 = $1861;
+ $1863 = HEAP32[$1862>>2]|0;
+ $1864 = (_Sum1_1422($1860,$1863)|0);
+ $1865 = tempRet0;
+ $1866 = (_i64Add(($1854|0),($1857|0),($1864|0),($1865|0))|0);
+ $1867 = tempRet0;
+ $1868 = $e;
+ $1869 = $1868;
+ $1870 = HEAP32[$1869>>2]|0;
+ $1871 = (($1868) + 4)|0;
+ $1872 = $1871;
+ $1873 = HEAP32[$1872>>2]|0;
+ $1874 = $f;
+ $1875 = $1874;
+ $1876 = HEAP32[$1875>>2]|0;
+ $1877 = (($1874) + 4)|0;
+ $1878 = $1877;
+ $1879 = HEAP32[$1878>>2]|0;
+ $1880 = $g;
+ $1881 = $1880;
+ $1882 = HEAP32[$1881>>2]|0;
+ $1883 = (($1880) + 4)|0;
+ $1884 = $1883;
+ $1885 = HEAP32[$1884>>2]|0;
+ $1886 = (_Ch($1870,$1873,$1876,$1879,$1882,$1885)|0);
+ $1887 = tempRet0;
+ $1888 = (_i64Add(($1866|0),($1867|0),($1886|0),($1887|0))|0);
+ $1889 = tempRet0;
+ $1890 = $t;
+ $1891 = (($1890) + 8)|0;
+ $1892 = (80 + ($1891<<3)|0);
+ $1893 = $1892;
+ $1894 = $1893;
+ $1895 = HEAP32[$1894>>2]|0;
+ $1896 = (($1893) + 4)|0;
+ $1897 = $1896;
+ $1898 = HEAP32[$1897>>2]|0;
+ $1899 = (_i64Add(($1888|0),($1889|0),($1895|0),($1898|0))|0);
+ $1900 = tempRet0;
+ $1901 = ((($w)) + 64|0);
+ $1902 = $1901;
+ $1903 = $1902;
+ $1904 = HEAP32[$1903>>2]|0;
+ $1905 = (($1902) + 4)|0;
+ $1906 = $1905;
+ $1907 = HEAP32[$1906>>2]|0;
+ $1908 = (_i64Add(($1899|0),($1900|0),($1904|0),($1907|0))|0);
+ $1909 = tempRet0;
+ $1910 = $t1;
+ $1911 = $1910;
+ HEAP32[$1911>>2] = $1908;
+ $1912 = (($1910) + 4)|0;
+ $1913 = $1912;
+ HEAP32[$1913>>2] = $1909;
+ $1914 = ((($w)) + 48|0);
+ $1915 = $1914;
+ $1916 = $1915;
+ $1917 = HEAP32[$1916>>2]|0;
+ $1918 = (($1915) + 4)|0;
+ $1919 = $1918;
+ $1920 = HEAP32[$1919>>2]|0;
+ $1921 = (_ROTR($1917,$1920,19,0)|0);
+ $1922 = tempRet0;
+ $1923 = ((($w)) + 48|0);
+ $1924 = $1923;
+ $1925 = $1924;
+ $1926 = HEAP32[$1925>>2]|0;
+ $1927 = (($1924) + 4)|0;
+ $1928 = $1927;
+ $1929 = HEAP32[$1928>>2]|0;
+ $1930 = (_ROTR($1926,$1929,61,0)|0);
+ $1931 = tempRet0;
+ $1932 = $1921 ^ $1930;
+ $1933 = $1922 ^ $1931;
+ $1934 = ((($w)) + 48|0);
+ $1935 = $1934;
+ $1936 = $1935;
+ $1937 = HEAP32[$1936>>2]|0;
+ $1938 = (($1935) + 4)|0;
+ $1939 = $1938;
+ $1940 = HEAP32[$1939>>2]|0;
+ $1941 = (_bitshift64Lshr(($1937|0),($1940|0),6)|0);
+ $1942 = tempRet0;
+ $1943 = $1932 ^ $1941;
+ $1944 = $1933 ^ $1942;
+ $1945 = ((($w)) + 8|0);
+ $1946 = $1945;
+ $1947 = $1946;
+ $1948 = HEAP32[$1947>>2]|0;
+ $1949 = (($1946) + 4)|0;
+ $1950 = $1949;
+ $1951 = HEAP32[$1950>>2]|0;
+ $1952 = (_i64Add(($1943|0),($1944|0),($1948|0),($1951|0))|0);
+ $1953 = tempRet0;
+ $1954 = ((($w)) + 72|0);
+ $1955 = $1954;
+ $1956 = $1955;
+ $1957 = HEAP32[$1956>>2]|0;
+ $1958 = (($1955) + 4)|0;
+ $1959 = $1958;
+ $1960 = HEAP32[$1959>>2]|0;
+ $1961 = (_ROTR($1957,$1960,1,0)|0);
+ $1962 = tempRet0;
+ $1963 = ((($w)) + 72|0);
+ $1964 = $1963;
+ $1965 = $1964;
+ $1966 = HEAP32[$1965>>2]|0;
+ $1967 = (($1964) + 4)|0;
+ $1968 = $1967;
+ $1969 = HEAP32[$1968>>2]|0;
+ $1970 = (_ROTR($1966,$1969,8,0)|0);
+ $1971 = tempRet0;
+ $1972 = $1961 ^ $1970;
+ $1973 = $1962 ^ $1971;
+ $1974 = ((($w)) + 72|0);
+ $1975 = $1974;
+ $1976 = $1975;
+ $1977 = HEAP32[$1976>>2]|0;
+ $1978 = (($1975) + 4)|0;
+ $1979 = $1978;
+ $1980 = HEAP32[$1979>>2]|0;
+ $1981 = (_bitshift64Lshr(($1977|0),($1980|0),7)|0);
+ $1982 = tempRet0;
+ $1983 = $1972 ^ $1981;
+ $1984 = $1973 ^ $1982;
+ $1985 = (_i64Add(($1952|0),($1953|0),($1983|0),($1984|0))|0);
+ $1986 = tempRet0;
+ $1987 = ((($w)) + 64|0);
+ $1988 = $1987;
+ $1989 = $1988;
+ $1990 = HEAP32[$1989>>2]|0;
+ $1991 = (($1988) + 4)|0;
+ $1992 = $1991;
+ $1993 = HEAP32[$1992>>2]|0;
+ $1994 = (_i64Add(($1990|0),($1993|0),($1985|0),($1986|0))|0);
+ $1995 = tempRet0;
+ $1996 = $1987;
+ $1997 = $1996;
+ HEAP32[$1997>>2] = $1994;
+ $1998 = (($1996) + 4)|0;
+ $1999 = $1998;
+ HEAP32[$1999>>2] = $1995;
+ $2000 = $a;
+ $2001 = $2000;
+ $2002 = HEAP32[$2001>>2]|0;
+ $2003 = (($2000) + 4)|0;
+ $2004 = $2003;
+ $2005 = HEAP32[$2004>>2]|0;
+ $2006 = (_Sum0_1423($2002,$2005)|0);
+ $2007 = tempRet0;
+ $2008 = $a;
+ $2009 = $2008;
+ $2010 = HEAP32[$2009>>2]|0;
+ $2011 = (($2008) + 4)|0;
+ $2012 = $2011;
+ $2013 = HEAP32[$2012>>2]|0;
+ $2014 = $b;
+ $2015 = $2014;
+ $2016 = HEAP32[$2015>>2]|0;
+ $2017 = (($2014) + 4)|0;
+ $2018 = $2017;
+ $2019 = HEAP32[$2018>>2]|0;
+ $2020 = $c;
+ $2021 = $2020;
+ $2022 = HEAP32[$2021>>2]|0;
+ $2023 = (($2020) + 4)|0;
+ $2024 = $2023;
+ $2025 = HEAP32[$2024>>2]|0;
+ $2026 = (_Maj_1424($2010,$2013,$2016,$2019,$2022,$2025)|0);
+ $2027 = tempRet0;
+ $2028 = (_i64Add(($2006|0),($2007|0),($2026|0),($2027|0))|0);
+ $2029 = tempRet0;
+ $2030 = $t2;
+ $2031 = $2030;
+ HEAP32[$2031>>2] = $2028;
+ $2032 = (($2030) + 4)|0;
+ $2033 = $2032;
+ HEAP32[$2033>>2] = $2029;
+ $2034 = $t1;
+ $2035 = $2034;
+ $2036 = HEAP32[$2035>>2]|0;
+ $2037 = (($2034) + 4)|0;
+ $2038 = $2037;
+ $2039 = HEAP32[$2038>>2]|0;
+ $2040 = $d;
+ $2041 = $2040;
+ $2042 = HEAP32[$2041>>2]|0;
+ $2043 = (($2040) + 4)|0;
+ $2044 = $2043;
+ $2045 = HEAP32[$2044>>2]|0;
+ $2046 = (_i64Add(($2042|0),($2045|0),($2036|0),($2039|0))|0);
+ $2047 = tempRet0;
+ $2048 = $d;
+ $2049 = $2048;
+ HEAP32[$2049>>2] = $2046;
+ $2050 = (($2048) + 4)|0;
+ $2051 = $2050;
+ HEAP32[$2051>>2] = $2047;
+ $2052 = $t1;
+ $2053 = $2052;
+ $2054 = HEAP32[$2053>>2]|0;
+ $2055 = (($2052) + 4)|0;
+ $2056 = $2055;
+ $2057 = HEAP32[$2056>>2]|0;
+ $2058 = $t2;
+ $2059 = $2058;
+ $2060 = HEAP32[$2059>>2]|0;
+ $2061 = (($2058) + 4)|0;
+ $2062 = $2061;
+ $2063 = HEAP32[$2062>>2]|0;
+ $2064 = (_i64Add(($2054|0),($2057|0),($2060|0),($2063|0))|0);
+ $2065 = tempRet0;
+ $2066 = $h;
+ $2067 = $2066;
+ HEAP32[$2067>>2] = $2064;
+ $2068 = (($2066) + 4)|0;
+ $2069 = $2068;
+ HEAP32[$2069>>2] = $2065;
+ $2070 = $g;
+ $2071 = $2070;
+ $2072 = HEAP32[$2071>>2]|0;
+ $2073 = (($2070) + 4)|0;
+ $2074 = $2073;
+ $2075 = HEAP32[$2074>>2]|0;
+ $2076 = $d;
+ $2077 = $2076;
+ $2078 = HEAP32[$2077>>2]|0;
+ $2079 = (($2076) + 4)|0;
+ $2080 = $2079;
+ $2081 = HEAP32[$2080>>2]|0;
+ $2082 = (_Sum1_1422($2078,$2081)|0);
+ $2083 = tempRet0;
+ $2084 = (_i64Add(($2072|0),($2075|0),($2082|0),($2083|0))|0);
+ $2085 = tempRet0;
+ $2086 = $d;
+ $2087 = $2086;
+ $2088 = HEAP32[$2087>>2]|0;
+ $2089 = (($2086) + 4)|0;
+ $2090 = $2089;
+ $2091 = HEAP32[$2090>>2]|0;
+ $2092 = $e;
+ $2093 = $2092;
+ $2094 = HEAP32[$2093>>2]|0;
+ $2095 = (($2092) + 4)|0;
+ $2096 = $2095;
+ $2097 = HEAP32[$2096>>2]|0;
+ $2098 = $f;
+ $2099 = $2098;
+ $2100 = HEAP32[$2099>>2]|0;
+ $2101 = (($2098) + 4)|0;
+ $2102 = $2101;
+ $2103 = HEAP32[$2102>>2]|0;
+ $2104 = (_Ch($2088,$2091,$2094,$2097,$2100,$2103)|0);
+ $2105 = tempRet0;
+ $2106 = (_i64Add(($2084|0),($2085|0),($2104|0),($2105|0))|0);
+ $2107 = tempRet0;
+ $2108 = $t;
+ $2109 = (($2108) + 9)|0;
+ $2110 = (80 + ($2109<<3)|0);
+ $2111 = $2110;
+ $2112 = $2111;
+ $2113 = HEAP32[$2112>>2]|0;
+ $2114 = (($2111) + 4)|0;
+ $2115 = $2114;
+ $2116 = HEAP32[$2115>>2]|0;
+ $2117 = (_i64Add(($2106|0),($2107|0),($2113|0),($2116|0))|0);
+ $2118 = tempRet0;
+ $2119 = ((($w)) + 72|0);
+ $2120 = $2119;
+ $2121 = $2120;
+ $2122 = HEAP32[$2121>>2]|0;
+ $2123 = (($2120) + 4)|0;
+ $2124 = $2123;
+ $2125 = HEAP32[$2124>>2]|0;
+ $2126 = (_i64Add(($2117|0),($2118|0),($2122|0),($2125|0))|0);
+ $2127 = tempRet0;
+ $2128 = $t1;
+ $2129 = $2128;
+ HEAP32[$2129>>2] = $2126;
+ $2130 = (($2128) + 4)|0;
+ $2131 = $2130;
+ HEAP32[$2131>>2] = $2127;
+ $2132 = ((($w)) + 56|0);
+ $2133 = $2132;
+ $2134 = $2133;
+ $2135 = HEAP32[$2134>>2]|0;
+ $2136 = (($2133) + 4)|0;
+ $2137 = $2136;
+ $2138 = HEAP32[$2137>>2]|0;
+ $2139 = (_ROTR($2135,$2138,19,0)|0);
+ $2140 = tempRet0;
+ $2141 = ((($w)) + 56|0);
+ $2142 = $2141;
+ $2143 = $2142;
+ $2144 = HEAP32[$2143>>2]|0;
+ $2145 = (($2142) + 4)|0;
+ $2146 = $2145;
+ $2147 = HEAP32[$2146>>2]|0;
+ $2148 = (_ROTR($2144,$2147,61,0)|0);
+ $2149 = tempRet0;
+ $2150 = $2139 ^ $2148;
+ $2151 = $2140 ^ $2149;
+ $2152 = ((($w)) + 56|0);
+ $2153 = $2152;
+ $2154 = $2153;
+ $2155 = HEAP32[$2154>>2]|0;
+ $2156 = (($2153) + 4)|0;
+ $2157 = $2156;
+ $2158 = HEAP32[$2157>>2]|0;
+ $2159 = (_bitshift64Lshr(($2155|0),($2158|0),6)|0);
+ $2160 = tempRet0;
+ $2161 = $2150 ^ $2159;
+ $2162 = $2151 ^ $2160;
+ $2163 = ((($w)) + 16|0);
+ $2164 = $2163;
+ $2165 = $2164;
+ $2166 = HEAP32[$2165>>2]|0;
+ $2167 = (($2164) + 4)|0;
+ $2168 = $2167;
+ $2169 = HEAP32[$2168>>2]|0;
+ $2170 = (_i64Add(($2161|0),($2162|0),($2166|0),($2169|0))|0);
+ $2171 = tempRet0;
+ $2172 = ((($w)) + 80|0);
+ $2173 = $2172;
+ $2174 = $2173;
+ $2175 = HEAP32[$2174>>2]|0;
+ $2176 = (($2173) + 4)|0;
+ $2177 = $2176;
+ $2178 = HEAP32[$2177>>2]|0;
+ $2179 = (_ROTR($2175,$2178,1,0)|0);
+ $2180 = tempRet0;
+ $2181 = ((($w)) + 80|0);
+ $2182 = $2181;
+ $2183 = $2182;
+ $2184 = HEAP32[$2183>>2]|0;
+ $2185 = (($2182) + 4)|0;
+ $2186 = $2185;
+ $2187 = HEAP32[$2186>>2]|0;
+ $2188 = (_ROTR($2184,$2187,8,0)|0);
+ $2189 = tempRet0;
+ $2190 = $2179 ^ $2188;
+ $2191 = $2180 ^ $2189;
+ $2192 = ((($w)) + 80|0);
+ $2193 = $2192;
+ $2194 = $2193;
+ $2195 = HEAP32[$2194>>2]|0;
+ $2196 = (($2193) + 4)|0;
+ $2197 = $2196;
+ $2198 = HEAP32[$2197>>2]|0;
+ $2199 = (_bitshift64Lshr(($2195|0),($2198|0),7)|0);
+ $2200 = tempRet0;
+ $2201 = $2190 ^ $2199;
+ $2202 = $2191 ^ $2200;
+ $2203 = (_i64Add(($2170|0),($2171|0),($2201|0),($2202|0))|0);
+ $2204 = tempRet0;
+ $2205 = ((($w)) + 72|0);
+ $2206 = $2205;
+ $2207 = $2206;
+ $2208 = HEAP32[$2207>>2]|0;
+ $2209 = (($2206) + 4)|0;
+ $2210 = $2209;
+ $2211 = HEAP32[$2210>>2]|0;
+ $2212 = (_i64Add(($2208|0),($2211|0),($2203|0),($2204|0))|0);
+ $2213 = tempRet0;
+ $2214 = $2205;
+ $2215 = $2214;
+ HEAP32[$2215>>2] = $2212;
+ $2216 = (($2214) + 4)|0;
+ $2217 = $2216;
+ HEAP32[$2217>>2] = $2213;
+ $2218 = $h;
+ $2219 = $2218;
+ $2220 = HEAP32[$2219>>2]|0;
+ $2221 = (($2218) + 4)|0;
+ $2222 = $2221;
+ $2223 = HEAP32[$2222>>2]|0;
+ $2224 = (_Sum0_1423($2220,$2223)|0);
+ $2225 = tempRet0;
+ $2226 = $h;
+ $2227 = $2226;
+ $2228 = HEAP32[$2227>>2]|0;
+ $2229 = (($2226) + 4)|0;
+ $2230 = $2229;
+ $2231 = HEAP32[$2230>>2]|0;
+ $2232 = $a;
+ $2233 = $2232;
+ $2234 = HEAP32[$2233>>2]|0;
+ $2235 = (($2232) + 4)|0;
+ $2236 = $2235;
+ $2237 = HEAP32[$2236>>2]|0;
+ $2238 = $b;
+ $2239 = $2238;
+ $2240 = HEAP32[$2239>>2]|0;
+ $2241 = (($2238) + 4)|0;
+ $2242 = $2241;
+ $2243 = HEAP32[$2242>>2]|0;
+ $2244 = (_Maj_1424($2228,$2231,$2234,$2237,$2240,$2243)|0);
+ $2245 = tempRet0;
+ $2246 = (_i64Add(($2224|0),($2225|0),($2244|0),($2245|0))|0);
+ $2247 = tempRet0;
+ $2248 = $t2;
+ $2249 = $2248;
+ HEAP32[$2249>>2] = $2246;
+ $2250 = (($2248) + 4)|0;
+ $2251 = $2250;
+ HEAP32[$2251>>2] = $2247;
+ $2252 = $t1;
+ $2253 = $2252;
+ $2254 = HEAP32[$2253>>2]|0;
+ $2255 = (($2252) + 4)|0;
+ $2256 = $2255;
+ $2257 = HEAP32[$2256>>2]|0;
+ $2258 = $c;
+ $2259 = $2258;
+ $2260 = HEAP32[$2259>>2]|0;
+ $2261 = (($2258) + 4)|0;
+ $2262 = $2261;
+ $2263 = HEAP32[$2262>>2]|0;
+ $2264 = (_i64Add(($2260|0),($2263|0),($2254|0),($2257|0))|0);
+ $2265 = tempRet0;
+ $2266 = $c;
+ $2267 = $2266;
+ HEAP32[$2267>>2] = $2264;
+ $2268 = (($2266) + 4)|0;
+ $2269 = $2268;
+ HEAP32[$2269>>2] = $2265;
+ $2270 = $t1;
+ $2271 = $2270;
+ $2272 = HEAP32[$2271>>2]|0;
+ $2273 = (($2270) + 4)|0;
+ $2274 = $2273;
+ $2275 = HEAP32[$2274>>2]|0;
+ $2276 = $t2;
+ $2277 = $2276;
+ $2278 = HEAP32[$2277>>2]|0;
+ $2279 = (($2276) + 4)|0;
+ $2280 = $2279;
+ $2281 = HEAP32[$2280>>2]|0;
+ $2282 = (_i64Add(($2272|0),($2275|0),($2278|0),($2281|0))|0);
+ $2283 = tempRet0;
+ $2284 = $g;
+ $2285 = $2284;
+ HEAP32[$2285>>2] = $2282;
+ $2286 = (($2284) + 4)|0;
+ $2287 = $2286;
+ HEAP32[$2287>>2] = $2283;
+ $2288 = $f;
+ $2289 = $2288;
+ $2290 = HEAP32[$2289>>2]|0;
+ $2291 = (($2288) + 4)|0;
+ $2292 = $2291;
+ $2293 = HEAP32[$2292>>2]|0;
+ $2294 = $c;
+ $2295 = $2294;
+ $2296 = HEAP32[$2295>>2]|0;
+ $2297 = (($2294) + 4)|0;
+ $2298 = $2297;
+ $2299 = HEAP32[$2298>>2]|0;
+ $2300 = (_Sum1_1422($2296,$2299)|0);
+ $2301 = tempRet0;
+ $2302 = (_i64Add(($2290|0),($2293|0),($2300|0),($2301|0))|0);
+ $2303 = tempRet0;
+ $2304 = $c;
+ $2305 = $2304;
+ $2306 = HEAP32[$2305>>2]|0;
+ $2307 = (($2304) + 4)|0;
+ $2308 = $2307;
+ $2309 = HEAP32[$2308>>2]|0;
+ $2310 = $d;
+ $2311 = $2310;
+ $2312 = HEAP32[$2311>>2]|0;
+ $2313 = (($2310) + 4)|0;
+ $2314 = $2313;
+ $2315 = HEAP32[$2314>>2]|0;
+ $2316 = $e;
+ $2317 = $2316;
+ $2318 = HEAP32[$2317>>2]|0;
+ $2319 = (($2316) + 4)|0;
+ $2320 = $2319;
+ $2321 = HEAP32[$2320>>2]|0;
+ $2322 = (_Ch($2306,$2309,$2312,$2315,$2318,$2321)|0);
+ $2323 = tempRet0;
+ $2324 = (_i64Add(($2302|0),($2303|0),($2322|0),($2323|0))|0);
+ $2325 = tempRet0;
+ $2326 = $t;
+ $2327 = (($2326) + 10)|0;
+ $2328 = (80 + ($2327<<3)|0);
+ $2329 = $2328;
+ $2330 = $2329;
+ $2331 = HEAP32[$2330>>2]|0;
+ $2332 = (($2329) + 4)|0;
+ $2333 = $2332;
+ $2334 = HEAP32[$2333>>2]|0;
+ $2335 = (_i64Add(($2324|0),($2325|0),($2331|0),($2334|0))|0);
+ $2336 = tempRet0;
+ $2337 = ((($w)) + 80|0);
+ $2338 = $2337;
+ $2339 = $2338;
+ $2340 = HEAP32[$2339>>2]|0;
+ $2341 = (($2338) + 4)|0;
+ $2342 = $2341;
+ $2343 = HEAP32[$2342>>2]|0;
+ $2344 = (_i64Add(($2335|0),($2336|0),($2340|0),($2343|0))|0);
+ $2345 = tempRet0;
+ $2346 = $t1;
+ $2347 = $2346;
+ HEAP32[$2347>>2] = $2344;
+ $2348 = (($2346) + 4)|0;
+ $2349 = $2348;
+ HEAP32[$2349>>2] = $2345;
+ $2350 = ((($w)) + 64|0);
+ $2351 = $2350;
+ $2352 = $2351;
+ $2353 = HEAP32[$2352>>2]|0;
+ $2354 = (($2351) + 4)|0;
+ $2355 = $2354;
+ $2356 = HEAP32[$2355>>2]|0;
+ $2357 = (_ROTR($2353,$2356,19,0)|0);
+ $2358 = tempRet0;
+ $2359 = ((($w)) + 64|0);
+ $2360 = $2359;
+ $2361 = $2360;
+ $2362 = HEAP32[$2361>>2]|0;
+ $2363 = (($2360) + 4)|0;
+ $2364 = $2363;
+ $2365 = HEAP32[$2364>>2]|0;
+ $2366 = (_ROTR($2362,$2365,61,0)|0);
+ $2367 = tempRet0;
+ $2368 = $2357 ^ $2366;
+ $2369 = $2358 ^ $2367;
+ $2370 = ((($w)) + 64|0);
+ $2371 = $2370;
+ $2372 = $2371;
+ $2373 = HEAP32[$2372>>2]|0;
+ $2374 = (($2371) + 4)|0;
+ $2375 = $2374;
+ $2376 = HEAP32[$2375>>2]|0;
+ $2377 = (_bitshift64Lshr(($2373|0),($2376|0),6)|0);
+ $2378 = tempRet0;
+ $2379 = $2368 ^ $2377;
+ $2380 = $2369 ^ $2378;
+ $2381 = ((($w)) + 24|0);
+ $2382 = $2381;
+ $2383 = $2382;
+ $2384 = HEAP32[$2383>>2]|0;
+ $2385 = (($2382) + 4)|0;
+ $2386 = $2385;
+ $2387 = HEAP32[$2386>>2]|0;
+ $2388 = (_i64Add(($2379|0),($2380|0),($2384|0),($2387|0))|0);
+ $2389 = tempRet0;
+ $2390 = ((($w)) + 88|0);
+ $2391 = $2390;
+ $2392 = $2391;
+ $2393 = HEAP32[$2392>>2]|0;
+ $2394 = (($2391) + 4)|0;
+ $2395 = $2394;
+ $2396 = HEAP32[$2395>>2]|0;
+ $2397 = (_ROTR($2393,$2396,1,0)|0);
+ $2398 = tempRet0;
+ $2399 = ((($w)) + 88|0);
+ $2400 = $2399;
+ $2401 = $2400;
+ $2402 = HEAP32[$2401>>2]|0;
+ $2403 = (($2400) + 4)|0;
+ $2404 = $2403;
+ $2405 = HEAP32[$2404>>2]|0;
+ $2406 = (_ROTR($2402,$2405,8,0)|0);
+ $2407 = tempRet0;
+ $2408 = $2397 ^ $2406;
+ $2409 = $2398 ^ $2407;
+ $2410 = ((($w)) + 88|0);
+ $2411 = $2410;
+ $2412 = $2411;
+ $2413 = HEAP32[$2412>>2]|0;
+ $2414 = (($2411) + 4)|0;
+ $2415 = $2414;
+ $2416 = HEAP32[$2415>>2]|0;
+ $2417 = (_bitshift64Lshr(($2413|0),($2416|0),7)|0);
+ $2418 = tempRet0;
+ $2419 = $2408 ^ $2417;
+ $2420 = $2409 ^ $2418;
+ $2421 = (_i64Add(($2388|0),($2389|0),($2419|0),($2420|0))|0);
+ $2422 = tempRet0;
+ $2423 = ((($w)) + 80|0);
+ $2424 = $2423;
+ $2425 = $2424;
+ $2426 = HEAP32[$2425>>2]|0;
+ $2427 = (($2424) + 4)|0;
+ $2428 = $2427;
+ $2429 = HEAP32[$2428>>2]|0;
+ $2430 = (_i64Add(($2426|0),($2429|0),($2421|0),($2422|0))|0);
+ $2431 = tempRet0;
+ $2432 = $2423;
+ $2433 = $2432;
+ HEAP32[$2433>>2] = $2430;
+ $2434 = (($2432) + 4)|0;
+ $2435 = $2434;
+ HEAP32[$2435>>2] = $2431;
+ $2436 = $g;
+ $2437 = $2436;
+ $2438 = HEAP32[$2437>>2]|0;
+ $2439 = (($2436) + 4)|0;
+ $2440 = $2439;
+ $2441 = HEAP32[$2440>>2]|0;
+ $2442 = (_Sum0_1423($2438,$2441)|0);
+ $2443 = tempRet0;
+ $2444 = $g;
+ $2445 = $2444;
+ $2446 = HEAP32[$2445>>2]|0;
+ $2447 = (($2444) + 4)|0;
+ $2448 = $2447;
+ $2449 = HEAP32[$2448>>2]|0;
+ $2450 = $h;
+ $2451 = $2450;
+ $2452 = HEAP32[$2451>>2]|0;
+ $2453 = (($2450) + 4)|0;
+ $2454 = $2453;
+ $2455 = HEAP32[$2454>>2]|0;
+ $2456 = $a;
+ $2457 = $2456;
+ $2458 = HEAP32[$2457>>2]|0;
+ $2459 = (($2456) + 4)|0;
+ $2460 = $2459;
+ $2461 = HEAP32[$2460>>2]|0;
+ $2462 = (_Maj_1424($2446,$2449,$2452,$2455,$2458,$2461)|0);
+ $2463 = tempRet0;
+ $2464 = (_i64Add(($2442|0),($2443|0),($2462|0),($2463|0))|0);
+ $2465 = tempRet0;
+ $2466 = $t2;
+ $2467 = $2466;
+ HEAP32[$2467>>2] = $2464;
+ $2468 = (($2466) + 4)|0;
+ $2469 = $2468;
+ HEAP32[$2469>>2] = $2465;
+ $2470 = $t1;
+ $2471 = $2470;
+ $2472 = HEAP32[$2471>>2]|0;
+ $2473 = (($2470) + 4)|0;
+ $2474 = $2473;
+ $2475 = HEAP32[$2474>>2]|0;
+ $2476 = $b;
+ $2477 = $2476;
+ $2478 = HEAP32[$2477>>2]|0;
+ $2479 = (($2476) + 4)|0;
+ $2480 = $2479;
+ $2481 = HEAP32[$2480>>2]|0;
+ $2482 = (_i64Add(($2478|0),($2481|0),($2472|0),($2475|0))|0);
+ $2483 = tempRet0;
+ $2484 = $b;
+ $2485 = $2484;
+ HEAP32[$2485>>2] = $2482;
+ $2486 = (($2484) + 4)|0;
+ $2487 = $2486;
+ HEAP32[$2487>>2] = $2483;
+ $2488 = $t1;
+ $2489 = $2488;
+ $2490 = HEAP32[$2489>>2]|0;
+ $2491 = (($2488) + 4)|0;
+ $2492 = $2491;
+ $2493 = HEAP32[$2492>>2]|0;
+ $2494 = $t2;
+ $2495 = $2494;
+ $2496 = HEAP32[$2495>>2]|0;
+ $2497 = (($2494) + 4)|0;
+ $2498 = $2497;
+ $2499 = HEAP32[$2498>>2]|0;
+ $2500 = (_i64Add(($2490|0),($2493|0),($2496|0),($2499|0))|0);
+ $2501 = tempRet0;
+ $2502 = $f;
+ $2503 = $2502;
+ HEAP32[$2503>>2] = $2500;
+ $2504 = (($2502) + 4)|0;
+ $2505 = $2504;
+ HEAP32[$2505>>2] = $2501;
+ $2506 = $e;
+ $2507 = $2506;
+ $2508 = HEAP32[$2507>>2]|0;
+ $2509 = (($2506) + 4)|0;
+ $2510 = $2509;
+ $2511 = HEAP32[$2510>>2]|0;
+ $2512 = $b;
+ $2513 = $2512;
+ $2514 = HEAP32[$2513>>2]|0;
+ $2515 = (($2512) + 4)|0;
+ $2516 = $2515;
+ $2517 = HEAP32[$2516>>2]|0;
+ $2518 = (_Sum1_1422($2514,$2517)|0);
+ $2519 = tempRet0;
+ $2520 = (_i64Add(($2508|0),($2511|0),($2518|0),($2519|0))|0);
+ $2521 = tempRet0;
+ $2522 = $b;
+ $2523 = $2522;
+ $2524 = HEAP32[$2523>>2]|0;
+ $2525 = (($2522) + 4)|0;
+ $2526 = $2525;
+ $2527 = HEAP32[$2526>>2]|0;
+ $2528 = $c;
+ $2529 = $2528;
+ $2530 = HEAP32[$2529>>2]|0;
+ $2531 = (($2528) + 4)|0;
+ $2532 = $2531;
+ $2533 = HEAP32[$2532>>2]|0;
+ $2534 = $d;
+ $2535 = $2534;
+ $2536 = HEAP32[$2535>>2]|0;
+ $2537 = (($2534) + 4)|0;
+ $2538 = $2537;
+ $2539 = HEAP32[$2538>>2]|0;
+ $2540 = (_Ch($2524,$2527,$2530,$2533,$2536,$2539)|0);
+ $2541 = tempRet0;
+ $2542 = (_i64Add(($2520|0),($2521|0),($2540|0),($2541|0))|0);
+ $2543 = tempRet0;
+ $2544 = $t;
+ $2545 = (($2544) + 11)|0;
+ $2546 = (80 + ($2545<<3)|0);
+ $2547 = $2546;
+ $2548 = $2547;
+ $2549 = HEAP32[$2548>>2]|0;
+ $2550 = (($2547) + 4)|0;
+ $2551 = $2550;
+ $2552 = HEAP32[$2551>>2]|0;
+ $2553 = (_i64Add(($2542|0),($2543|0),($2549|0),($2552|0))|0);
+ $2554 = tempRet0;
+ $2555 = ((($w)) + 88|0);
+ $2556 = $2555;
+ $2557 = $2556;
+ $2558 = HEAP32[$2557>>2]|0;
+ $2559 = (($2556) + 4)|0;
+ $2560 = $2559;
+ $2561 = HEAP32[$2560>>2]|0;
+ $2562 = (_i64Add(($2553|0),($2554|0),($2558|0),($2561|0))|0);
+ $2563 = tempRet0;
+ $2564 = $t1;
+ $2565 = $2564;
+ HEAP32[$2565>>2] = $2562;
+ $2566 = (($2564) + 4)|0;
+ $2567 = $2566;
+ HEAP32[$2567>>2] = $2563;
+ $2568 = ((($w)) + 72|0);
+ $2569 = $2568;
+ $2570 = $2569;
+ $2571 = HEAP32[$2570>>2]|0;
+ $2572 = (($2569) + 4)|0;
+ $2573 = $2572;
+ $2574 = HEAP32[$2573>>2]|0;
+ $2575 = (_ROTR($2571,$2574,19,0)|0);
+ $2576 = tempRet0;
+ $2577 = ((($w)) + 72|0);
+ $2578 = $2577;
+ $2579 = $2578;
+ $2580 = HEAP32[$2579>>2]|0;
+ $2581 = (($2578) + 4)|0;
+ $2582 = $2581;
+ $2583 = HEAP32[$2582>>2]|0;
+ $2584 = (_ROTR($2580,$2583,61,0)|0);
+ $2585 = tempRet0;
+ $2586 = $2575 ^ $2584;
+ $2587 = $2576 ^ $2585;
+ $2588 = ((($w)) + 72|0);
+ $2589 = $2588;
+ $2590 = $2589;
+ $2591 = HEAP32[$2590>>2]|0;
+ $2592 = (($2589) + 4)|0;
+ $2593 = $2592;
+ $2594 = HEAP32[$2593>>2]|0;
+ $2595 = (_bitshift64Lshr(($2591|0),($2594|0),6)|0);
+ $2596 = tempRet0;
+ $2597 = $2586 ^ $2595;
+ $2598 = $2587 ^ $2596;
+ $2599 = ((($w)) + 32|0);
+ $2600 = $2599;
+ $2601 = $2600;
+ $2602 = HEAP32[$2601>>2]|0;
+ $2603 = (($2600) + 4)|0;
+ $2604 = $2603;
+ $2605 = HEAP32[$2604>>2]|0;
+ $2606 = (_i64Add(($2597|0),($2598|0),($2602|0),($2605|0))|0);
+ $2607 = tempRet0;
+ $2608 = ((($w)) + 96|0);
+ $2609 = $2608;
+ $2610 = $2609;
+ $2611 = HEAP32[$2610>>2]|0;
+ $2612 = (($2609) + 4)|0;
+ $2613 = $2612;
+ $2614 = HEAP32[$2613>>2]|0;
+ $2615 = (_ROTR($2611,$2614,1,0)|0);
+ $2616 = tempRet0;
+ $2617 = ((($w)) + 96|0);
+ $2618 = $2617;
+ $2619 = $2618;
+ $2620 = HEAP32[$2619>>2]|0;
+ $2621 = (($2618) + 4)|0;
+ $2622 = $2621;
+ $2623 = HEAP32[$2622>>2]|0;
+ $2624 = (_ROTR($2620,$2623,8,0)|0);
+ $2625 = tempRet0;
+ $2626 = $2615 ^ $2624;
+ $2627 = $2616 ^ $2625;
+ $2628 = ((($w)) + 96|0);
+ $2629 = $2628;
+ $2630 = $2629;
+ $2631 = HEAP32[$2630>>2]|0;
+ $2632 = (($2629) + 4)|0;
+ $2633 = $2632;
+ $2634 = HEAP32[$2633>>2]|0;
+ $2635 = (_bitshift64Lshr(($2631|0),($2634|0),7)|0);
+ $2636 = tempRet0;
+ $2637 = $2626 ^ $2635;
+ $2638 = $2627 ^ $2636;
+ $2639 = (_i64Add(($2606|0),($2607|0),($2637|0),($2638|0))|0);
+ $2640 = tempRet0;
+ $2641 = ((($w)) + 88|0);
+ $2642 = $2641;
+ $2643 = $2642;
+ $2644 = HEAP32[$2643>>2]|0;
+ $2645 = (($2642) + 4)|0;
+ $2646 = $2645;
+ $2647 = HEAP32[$2646>>2]|0;
+ $2648 = (_i64Add(($2644|0),($2647|0),($2639|0),($2640|0))|0);
+ $2649 = tempRet0;
+ $2650 = $2641;
+ $2651 = $2650;
+ HEAP32[$2651>>2] = $2648;
+ $2652 = (($2650) + 4)|0;
+ $2653 = $2652;
+ HEAP32[$2653>>2] = $2649;
+ $2654 = $f;
+ $2655 = $2654;
+ $2656 = HEAP32[$2655>>2]|0;
+ $2657 = (($2654) + 4)|0;
+ $2658 = $2657;
+ $2659 = HEAP32[$2658>>2]|0;
+ $2660 = (_Sum0_1423($2656,$2659)|0);
+ $2661 = tempRet0;
+ $2662 = $f;
+ $2663 = $2662;
+ $2664 = HEAP32[$2663>>2]|0;
+ $2665 = (($2662) + 4)|0;
+ $2666 = $2665;
+ $2667 = HEAP32[$2666>>2]|0;
+ $2668 = $g;
+ $2669 = $2668;
+ $2670 = HEAP32[$2669>>2]|0;
+ $2671 = (($2668) + 4)|0;
+ $2672 = $2671;
+ $2673 = HEAP32[$2672>>2]|0;
+ $2674 = $h;
+ $2675 = $2674;
+ $2676 = HEAP32[$2675>>2]|0;
+ $2677 = (($2674) + 4)|0;
+ $2678 = $2677;
+ $2679 = HEAP32[$2678>>2]|0;
+ $2680 = (_Maj_1424($2664,$2667,$2670,$2673,$2676,$2679)|0);
+ $2681 = tempRet0;
+ $2682 = (_i64Add(($2660|0),($2661|0),($2680|0),($2681|0))|0);
+ $2683 = tempRet0;
+ $2684 = $t2;
+ $2685 = $2684;
+ HEAP32[$2685>>2] = $2682;
+ $2686 = (($2684) + 4)|0;
+ $2687 = $2686;
+ HEAP32[$2687>>2] = $2683;
+ $2688 = $t1;
+ $2689 = $2688;
+ $2690 = HEAP32[$2689>>2]|0;
+ $2691 = (($2688) + 4)|0;
+ $2692 = $2691;
+ $2693 = HEAP32[$2692>>2]|0;
+ $2694 = $a;
+ $2695 = $2694;
+ $2696 = HEAP32[$2695>>2]|0;
+ $2697 = (($2694) + 4)|0;
+ $2698 = $2697;
+ $2699 = HEAP32[$2698>>2]|0;
+ $2700 = (_i64Add(($2696|0),($2699|0),($2690|0),($2693|0))|0);
+ $2701 = tempRet0;
+ $2702 = $a;
+ $2703 = $2702;
+ HEAP32[$2703>>2] = $2700;
+ $2704 = (($2702) + 4)|0;
+ $2705 = $2704;
+ HEAP32[$2705>>2] = $2701;
+ $2706 = $t1;
+ $2707 = $2706;
+ $2708 = HEAP32[$2707>>2]|0;
+ $2709 = (($2706) + 4)|0;
+ $2710 = $2709;
+ $2711 = HEAP32[$2710>>2]|0;
+ $2712 = $t2;
+ $2713 = $2712;
+ $2714 = HEAP32[$2713>>2]|0;
+ $2715 = (($2712) + 4)|0;
+ $2716 = $2715;
+ $2717 = HEAP32[$2716>>2]|0;
+ $2718 = (_i64Add(($2708|0),($2711|0),($2714|0),($2717|0))|0);
+ $2719 = tempRet0;
+ $2720 = $e;
+ $2721 = $2720;
+ HEAP32[$2721>>2] = $2718;
+ $2722 = (($2720) + 4)|0;
+ $2723 = $2722;
+ HEAP32[$2723>>2] = $2719;
+ $2724 = $d;
+ $2725 = $2724;
+ $2726 = HEAP32[$2725>>2]|0;
+ $2727 = (($2724) + 4)|0;
+ $2728 = $2727;
+ $2729 = HEAP32[$2728>>2]|0;
+ $2730 = $a;
+ $2731 = $2730;
+ $2732 = HEAP32[$2731>>2]|0;
+ $2733 = (($2730) + 4)|0;
+ $2734 = $2733;
+ $2735 = HEAP32[$2734>>2]|0;
+ $2736 = (_Sum1_1422($2732,$2735)|0);
+ $2737 = tempRet0;
+ $2738 = (_i64Add(($2726|0),($2729|0),($2736|0),($2737|0))|0);
+ $2739 = tempRet0;
+ $2740 = $a;
+ $2741 = $2740;
+ $2742 = HEAP32[$2741>>2]|0;
+ $2743 = (($2740) + 4)|0;
+ $2744 = $2743;
+ $2745 = HEAP32[$2744>>2]|0;
+ $2746 = $b;
+ $2747 = $2746;
+ $2748 = HEAP32[$2747>>2]|0;
+ $2749 = (($2746) + 4)|0;
+ $2750 = $2749;
+ $2751 = HEAP32[$2750>>2]|0;
+ $2752 = $c;
+ $2753 = $2752;
+ $2754 = HEAP32[$2753>>2]|0;
+ $2755 = (($2752) + 4)|0;
+ $2756 = $2755;
+ $2757 = HEAP32[$2756>>2]|0;
+ $2758 = (_Ch($2742,$2745,$2748,$2751,$2754,$2757)|0);
+ $2759 = tempRet0;
+ $2760 = (_i64Add(($2738|0),($2739|0),($2758|0),($2759|0))|0);
+ $2761 = tempRet0;
+ $2762 = $t;
+ $2763 = (($2762) + 12)|0;
+ $2764 = (80 + ($2763<<3)|0);
+ $2765 = $2764;
+ $2766 = $2765;
+ $2767 = HEAP32[$2766>>2]|0;
+ $2768 = (($2765) + 4)|0;
+ $2769 = $2768;
+ $2770 = HEAP32[$2769>>2]|0;
+ $2771 = (_i64Add(($2760|0),($2761|0),($2767|0),($2770|0))|0);
+ $2772 = tempRet0;
+ $2773 = ((($w)) + 96|0);
+ $2774 = $2773;
+ $2775 = $2774;
+ $2776 = HEAP32[$2775>>2]|0;
+ $2777 = (($2774) + 4)|0;
+ $2778 = $2777;
+ $2779 = HEAP32[$2778>>2]|0;
+ $2780 = (_i64Add(($2771|0),($2772|0),($2776|0),($2779|0))|0);
+ $2781 = tempRet0;
+ $2782 = $t1;
+ $2783 = $2782;
+ HEAP32[$2783>>2] = $2780;
+ $2784 = (($2782) + 4)|0;
+ $2785 = $2784;
+ HEAP32[$2785>>2] = $2781;
+ $2786 = ((($w)) + 80|0);
+ $2787 = $2786;
+ $2788 = $2787;
+ $2789 = HEAP32[$2788>>2]|0;
+ $2790 = (($2787) + 4)|0;
+ $2791 = $2790;
+ $2792 = HEAP32[$2791>>2]|0;
+ $2793 = (_ROTR($2789,$2792,19,0)|0);
+ $2794 = tempRet0;
+ $2795 = ((($w)) + 80|0);
+ $2796 = $2795;
+ $2797 = $2796;
+ $2798 = HEAP32[$2797>>2]|0;
+ $2799 = (($2796) + 4)|0;
+ $2800 = $2799;
+ $2801 = HEAP32[$2800>>2]|0;
+ $2802 = (_ROTR($2798,$2801,61,0)|0);
+ $2803 = tempRet0;
+ $2804 = $2793 ^ $2802;
+ $2805 = $2794 ^ $2803;
+ $2806 = ((($w)) + 80|0);
+ $2807 = $2806;
+ $2808 = $2807;
+ $2809 = HEAP32[$2808>>2]|0;
+ $2810 = (($2807) + 4)|0;
+ $2811 = $2810;
+ $2812 = HEAP32[$2811>>2]|0;
+ $2813 = (_bitshift64Lshr(($2809|0),($2812|0),6)|0);
+ $2814 = tempRet0;
+ $2815 = $2804 ^ $2813;
+ $2816 = $2805 ^ $2814;
+ $2817 = ((($w)) + 40|0);
+ $2818 = $2817;
+ $2819 = $2818;
+ $2820 = HEAP32[$2819>>2]|0;
+ $2821 = (($2818) + 4)|0;
+ $2822 = $2821;
+ $2823 = HEAP32[$2822>>2]|0;
+ $2824 = (_i64Add(($2815|0),($2816|0),($2820|0),($2823|0))|0);
+ $2825 = tempRet0;
+ $2826 = ((($w)) + 104|0);
+ $2827 = $2826;
+ $2828 = $2827;
+ $2829 = HEAP32[$2828>>2]|0;
+ $2830 = (($2827) + 4)|0;
+ $2831 = $2830;
+ $2832 = HEAP32[$2831>>2]|0;
+ $2833 = (_ROTR($2829,$2832,1,0)|0);
+ $2834 = tempRet0;
+ $2835 = ((($w)) + 104|0);
+ $2836 = $2835;
+ $2837 = $2836;
+ $2838 = HEAP32[$2837>>2]|0;
+ $2839 = (($2836) + 4)|0;
+ $2840 = $2839;
+ $2841 = HEAP32[$2840>>2]|0;
+ $2842 = (_ROTR($2838,$2841,8,0)|0);
+ $2843 = tempRet0;
+ $2844 = $2833 ^ $2842;
+ $2845 = $2834 ^ $2843;
+ $2846 = ((($w)) + 104|0);
+ $2847 = $2846;
+ $2848 = $2847;
+ $2849 = HEAP32[$2848>>2]|0;
+ $2850 = (($2847) + 4)|0;
+ $2851 = $2850;
+ $2852 = HEAP32[$2851>>2]|0;
+ $2853 = (_bitshift64Lshr(($2849|0),($2852|0),7)|0);
+ $2854 = tempRet0;
+ $2855 = $2844 ^ $2853;
+ $2856 = $2845 ^ $2854;
+ $2857 = (_i64Add(($2824|0),($2825|0),($2855|0),($2856|0))|0);
+ $2858 = tempRet0;
+ $2859 = ((($w)) + 96|0);
+ $2860 = $2859;
+ $2861 = $2860;
+ $2862 = HEAP32[$2861>>2]|0;
+ $2863 = (($2860) + 4)|0;
+ $2864 = $2863;
+ $2865 = HEAP32[$2864>>2]|0;
+ $2866 = (_i64Add(($2862|0),($2865|0),($2857|0),($2858|0))|0);
+ $2867 = tempRet0;
+ $2868 = $2859;
+ $2869 = $2868;
+ HEAP32[$2869>>2] = $2866;
+ $2870 = (($2868) + 4)|0;
+ $2871 = $2870;
+ HEAP32[$2871>>2] = $2867;
+ $2872 = $e;
+ $2873 = $2872;
+ $2874 = HEAP32[$2873>>2]|0;
+ $2875 = (($2872) + 4)|0;
+ $2876 = $2875;
+ $2877 = HEAP32[$2876>>2]|0;
+ $2878 = (_Sum0_1423($2874,$2877)|0);
+ $2879 = tempRet0;
+ $2880 = $e;
+ $2881 = $2880;
+ $2882 = HEAP32[$2881>>2]|0;
+ $2883 = (($2880) + 4)|0;
+ $2884 = $2883;
+ $2885 = HEAP32[$2884>>2]|0;
+ $2886 = $f;
+ $2887 = $2886;
+ $2888 = HEAP32[$2887>>2]|0;
+ $2889 = (($2886) + 4)|0;
+ $2890 = $2889;
+ $2891 = HEAP32[$2890>>2]|0;
+ $2892 = $g;
+ $2893 = $2892;
+ $2894 = HEAP32[$2893>>2]|0;
+ $2895 = (($2892) + 4)|0;
+ $2896 = $2895;
+ $2897 = HEAP32[$2896>>2]|0;
+ $2898 = (_Maj_1424($2882,$2885,$2888,$2891,$2894,$2897)|0);
+ $2899 = tempRet0;
+ $2900 = (_i64Add(($2878|0),($2879|0),($2898|0),($2899|0))|0);
+ $2901 = tempRet0;
+ $2902 = $t2;
+ $2903 = $2902;
+ HEAP32[$2903>>2] = $2900;
+ $2904 = (($2902) + 4)|0;
+ $2905 = $2904;
+ HEAP32[$2905>>2] = $2901;
+ $2906 = $t1;
+ $2907 = $2906;
+ $2908 = HEAP32[$2907>>2]|0;
+ $2909 = (($2906) + 4)|0;
+ $2910 = $2909;
+ $2911 = HEAP32[$2910>>2]|0;
+ $2912 = $h;
+ $2913 = $2912;
+ $2914 = HEAP32[$2913>>2]|0;
+ $2915 = (($2912) + 4)|0;
+ $2916 = $2915;
+ $2917 = HEAP32[$2916>>2]|0;
+ $2918 = (_i64Add(($2914|0),($2917|0),($2908|0),($2911|0))|0);
+ $2919 = tempRet0;
+ $2920 = $h;
+ $2921 = $2920;
+ HEAP32[$2921>>2] = $2918;
+ $2922 = (($2920) + 4)|0;
+ $2923 = $2922;
+ HEAP32[$2923>>2] = $2919;
+ $2924 = $t1;
+ $2925 = $2924;
+ $2926 = HEAP32[$2925>>2]|0;
+ $2927 = (($2924) + 4)|0;
+ $2928 = $2927;
+ $2929 = HEAP32[$2928>>2]|0;
+ $2930 = $t2;
+ $2931 = $2930;
+ $2932 = HEAP32[$2931>>2]|0;
+ $2933 = (($2930) + 4)|0;
+ $2934 = $2933;
+ $2935 = HEAP32[$2934>>2]|0;
+ $2936 = (_i64Add(($2926|0),($2929|0),($2932|0),($2935|0))|0);
+ $2937 = tempRet0;
+ $2938 = $d;
+ $2939 = $2938;
+ HEAP32[$2939>>2] = $2936;
+ $2940 = (($2938) + 4)|0;
+ $2941 = $2940;
+ HEAP32[$2941>>2] = $2937;
+ $2942 = $c;
+ $2943 = $2942;
+ $2944 = HEAP32[$2943>>2]|0;
+ $2945 = (($2942) + 4)|0;
+ $2946 = $2945;
+ $2947 = HEAP32[$2946>>2]|0;
+ $2948 = $h;
+ $2949 = $2948;
+ $2950 = HEAP32[$2949>>2]|0;
+ $2951 = (($2948) + 4)|0;
+ $2952 = $2951;
+ $2953 = HEAP32[$2952>>2]|0;
+ $2954 = (_Sum1_1422($2950,$2953)|0);
+ $2955 = tempRet0;
+ $2956 = (_i64Add(($2944|0),($2947|0),($2954|0),($2955|0))|0);
+ $2957 = tempRet0;
+ $2958 = $h;
+ $2959 = $2958;
+ $2960 = HEAP32[$2959>>2]|0;
+ $2961 = (($2958) + 4)|0;
+ $2962 = $2961;
+ $2963 = HEAP32[$2962>>2]|0;
+ $2964 = $a;
+ $2965 = $2964;
+ $2966 = HEAP32[$2965>>2]|0;
+ $2967 = (($2964) + 4)|0;
+ $2968 = $2967;
+ $2969 = HEAP32[$2968>>2]|0;
+ $2970 = $b;
+ $2971 = $2970;
+ $2972 = HEAP32[$2971>>2]|0;
+ $2973 = (($2970) + 4)|0;
+ $2974 = $2973;
+ $2975 = HEAP32[$2974>>2]|0;
+ $2976 = (_Ch($2960,$2963,$2966,$2969,$2972,$2975)|0);
+ $2977 = tempRet0;
+ $2978 = (_i64Add(($2956|0),($2957|0),($2976|0),($2977|0))|0);
+ $2979 = tempRet0;
+ $2980 = $t;
+ $2981 = (($2980) + 13)|0;
+ $2982 = (80 + ($2981<<3)|0);
+ $2983 = $2982;
+ $2984 = $2983;
+ $2985 = HEAP32[$2984>>2]|0;
+ $2986 = (($2983) + 4)|0;
+ $2987 = $2986;
+ $2988 = HEAP32[$2987>>2]|0;
+ $2989 = (_i64Add(($2978|0),($2979|0),($2985|0),($2988|0))|0);
+ $2990 = tempRet0;
+ $2991 = ((($w)) + 104|0);
+ $2992 = $2991;
+ $2993 = $2992;
+ $2994 = HEAP32[$2993>>2]|0;
+ $2995 = (($2992) + 4)|0;
+ $2996 = $2995;
+ $2997 = HEAP32[$2996>>2]|0;
+ $2998 = (_i64Add(($2989|0),($2990|0),($2994|0),($2997|0))|0);
+ $2999 = tempRet0;
+ $3000 = $t1;
+ $3001 = $3000;
+ HEAP32[$3001>>2] = $2998;
+ $3002 = (($3000) + 4)|0;
+ $3003 = $3002;
+ HEAP32[$3003>>2] = $2999;
+ $3004 = ((($w)) + 88|0);
+ $3005 = $3004;
+ $3006 = $3005;
+ $3007 = HEAP32[$3006>>2]|0;
+ $3008 = (($3005) + 4)|0;
+ $3009 = $3008;
+ $3010 = HEAP32[$3009>>2]|0;
+ $3011 = (_ROTR($3007,$3010,19,0)|0);
+ $3012 = tempRet0;
+ $3013 = ((($w)) + 88|0);
+ $3014 = $3013;
+ $3015 = $3014;
+ $3016 = HEAP32[$3015>>2]|0;
+ $3017 = (($3014) + 4)|0;
+ $3018 = $3017;
+ $3019 = HEAP32[$3018>>2]|0;
+ $3020 = (_ROTR($3016,$3019,61,0)|0);
+ $3021 = tempRet0;
+ $3022 = $3011 ^ $3020;
+ $3023 = $3012 ^ $3021;
+ $3024 = ((($w)) + 88|0);
+ $3025 = $3024;
+ $3026 = $3025;
+ $3027 = HEAP32[$3026>>2]|0;
+ $3028 = (($3025) + 4)|0;
+ $3029 = $3028;
+ $3030 = HEAP32[$3029>>2]|0;
+ $3031 = (_bitshift64Lshr(($3027|0),($3030|0),6)|0);
+ $3032 = tempRet0;
+ $3033 = $3022 ^ $3031;
+ $3034 = $3023 ^ $3032;
+ $3035 = ((($w)) + 48|0);
+ $3036 = $3035;
+ $3037 = $3036;
+ $3038 = HEAP32[$3037>>2]|0;
+ $3039 = (($3036) + 4)|0;
+ $3040 = $3039;
+ $3041 = HEAP32[$3040>>2]|0;
+ $3042 = (_i64Add(($3033|0),($3034|0),($3038|0),($3041|0))|0);
+ $3043 = tempRet0;
+ $3044 = ((($w)) + 112|0);
+ $3045 = $3044;
+ $3046 = $3045;
+ $3047 = HEAP32[$3046>>2]|0;
+ $3048 = (($3045) + 4)|0;
+ $3049 = $3048;
+ $3050 = HEAP32[$3049>>2]|0;
+ $3051 = (_ROTR($3047,$3050,1,0)|0);
+ $3052 = tempRet0;
+ $3053 = ((($w)) + 112|0);
+ $3054 = $3053;
+ $3055 = $3054;
+ $3056 = HEAP32[$3055>>2]|0;
+ $3057 = (($3054) + 4)|0;
+ $3058 = $3057;
+ $3059 = HEAP32[$3058>>2]|0;
+ $3060 = (_ROTR($3056,$3059,8,0)|0);
+ $3061 = tempRet0;
+ $3062 = $3051 ^ $3060;
+ $3063 = $3052 ^ $3061;
+ $3064 = ((($w)) + 112|0);
+ $3065 = $3064;
+ $3066 = $3065;
+ $3067 = HEAP32[$3066>>2]|0;
+ $3068 = (($3065) + 4)|0;
+ $3069 = $3068;
+ $3070 = HEAP32[$3069>>2]|0;
+ $3071 = (_bitshift64Lshr(($3067|0),($3070|0),7)|0);
+ $3072 = tempRet0;
+ $3073 = $3062 ^ $3071;
+ $3074 = $3063 ^ $3072;
+ $3075 = (_i64Add(($3042|0),($3043|0),($3073|0),($3074|0))|0);
+ $3076 = tempRet0;
+ $3077 = ((($w)) + 104|0);
+ $3078 = $3077;
+ $3079 = $3078;
+ $3080 = HEAP32[$3079>>2]|0;
+ $3081 = (($3078) + 4)|0;
+ $3082 = $3081;
+ $3083 = HEAP32[$3082>>2]|0;
+ $3084 = (_i64Add(($3080|0),($3083|0),($3075|0),($3076|0))|0);
+ $3085 = tempRet0;
+ $3086 = $3077;
+ $3087 = $3086;
+ HEAP32[$3087>>2] = $3084;
+ $3088 = (($3086) + 4)|0;
+ $3089 = $3088;
+ HEAP32[$3089>>2] = $3085;
+ $3090 = $d;
+ $3091 = $3090;
+ $3092 = HEAP32[$3091>>2]|0;
+ $3093 = (($3090) + 4)|0;
+ $3094 = $3093;
+ $3095 = HEAP32[$3094>>2]|0;
+ $3096 = (_Sum0_1423($3092,$3095)|0);
+ $3097 = tempRet0;
+ $3098 = $d;
+ $3099 = $3098;
+ $3100 = HEAP32[$3099>>2]|0;
+ $3101 = (($3098) + 4)|0;
+ $3102 = $3101;
+ $3103 = HEAP32[$3102>>2]|0;
+ $3104 = $e;
+ $3105 = $3104;
+ $3106 = HEAP32[$3105>>2]|0;
+ $3107 = (($3104) + 4)|0;
+ $3108 = $3107;
+ $3109 = HEAP32[$3108>>2]|0;
+ $3110 = $f;
+ $3111 = $3110;
+ $3112 = HEAP32[$3111>>2]|0;
+ $3113 = (($3110) + 4)|0;
+ $3114 = $3113;
+ $3115 = HEAP32[$3114>>2]|0;
+ $3116 = (_Maj_1424($3100,$3103,$3106,$3109,$3112,$3115)|0);
+ $3117 = tempRet0;
+ $3118 = (_i64Add(($3096|0),($3097|0),($3116|0),($3117|0))|0);
+ $3119 = tempRet0;
+ $3120 = $t2;
+ $3121 = $3120;
+ HEAP32[$3121>>2] = $3118;
+ $3122 = (($3120) + 4)|0;
+ $3123 = $3122;
+ HEAP32[$3123>>2] = $3119;
+ $3124 = $t1;
+ $3125 = $3124;
+ $3126 = HEAP32[$3125>>2]|0;
+ $3127 = (($3124) + 4)|0;
+ $3128 = $3127;
+ $3129 = HEAP32[$3128>>2]|0;
+ $3130 = $g;
+ $3131 = $3130;
+ $3132 = HEAP32[$3131>>2]|0;
+ $3133 = (($3130) + 4)|0;
+ $3134 = $3133;
+ $3135 = HEAP32[$3134>>2]|0;
+ $3136 = (_i64Add(($3132|0),($3135|0),($3126|0),($3129|0))|0);
+ $3137 = tempRet0;
+ $3138 = $g;
+ $3139 = $3138;
+ HEAP32[$3139>>2] = $3136;
+ $3140 = (($3138) + 4)|0;
+ $3141 = $3140;
+ HEAP32[$3141>>2] = $3137;
+ $3142 = $t1;
+ $3143 = $3142;
+ $3144 = HEAP32[$3143>>2]|0;
+ $3145 = (($3142) + 4)|0;
+ $3146 = $3145;
+ $3147 = HEAP32[$3146>>2]|0;
+ $3148 = $t2;
+ $3149 = $3148;
+ $3150 = HEAP32[$3149>>2]|0;
+ $3151 = (($3148) + 4)|0;
+ $3152 = $3151;
+ $3153 = HEAP32[$3152>>2]|0;
+ $3154 = (_i64Add(($3144|0),($3147|0),($3150|0),($3153|0))|0);
+ $3155 = tempRet0;
+ $3156 = $c;
+ $3157 = $3156;
+ HEAP32[$3157>>2] = $3154;
+ $3158 = (($3156) + 4)|0;
+ $3159 = $3158;
+ HEAP32[$3159>>2] = $3155;
+ $3160 = $b;
+ $3161 = $3160;
+ $3162 = HEAP32[$3161>>2]|0;
+ $3163 = (($3160) + 4)|0;
+ $3164 = $3163;
+ $3165 = HEAP32[$3164>>2]|0;
+ $3166 = $g;
+ $3167 = $3166;
+ $3168 = HEAP32[$3167>>2]|0;
+ $3169 = (($3166) + 4)|0;
+ $3170 = $3169;
+ $3171 = HEAP32[$3170>>2]|0;
+ $3172 = (_Sum1_1422($3168,$3171)|0);
+ $3173 = tempRet0;
+ $3174 = (_i64Add(($3162|0),($3165|0),($3172|0),($3173|0))|0);
+ $3175 = tempRet0;
+ $3176 = $g;
+ $3177 = $3176;
+ $3178 = HEAP32[$3177>>2]|0;
+ $3179 = (($3176) + 4)|0;
+ $3180 = $3179;
+ $3181 = HEAP32[$3180>>2]|0;
+ $3182 = $h;
+ $3183 = $3182;
+ $3184 = HEAP32[$3183>>2]|0;
+ $3185 = (($3182) + 4)|0;
+ $3186 = $3185;
+ $3187 = HEAP32[$3186>>2]|0;
+ $3188 = $a;
+ $3189 = $3188;
+ $3190 = HEAP32[$3189>>2]|0;
+ $3191 = (($3188) + 4)|0;
+ $3192 = $3191;
+ $3193 = HEAP32[$3192>>2]|0;
+ $3194 = (_Ch($3178,$3181,$3184,$3187,$3190,$3193)|0);
+ $3195 = tempRet0;
+ $3196 = (_i64Add(($3174|0),($3175|0),($3194|0),($3195|0))|0);
+ $3197 = tempRet0;
+ $3198 = $t;
+ $3199 = (($3198) + 14)|0;
+ $3200 = (80 + ($3199<<3)|0);
+ $3201 = $3200;
+ $3202 = $3201;
+ $3203 = HEAP32[$3202>>2]|0;
+ $3204 = (($3201) + 4)|0;
+ $3205 = $3204;
+ $3206 = HEAP32[$3205>>2]|0;
+ $3207 = (_i64Add(($3196|0),($3197|0),($3203|0),($3206|0))|0);
+ $3208 = tempRet0;
+ $3209 = ((($w)) + 112|0);
+ $3210 = $3209;
+ $3211 = $3210;
+ $3212 = HEAP32[$3211>>2]|0;
+ $3213 = (($3210) + 4)|0;
+ $3214 = $3213;
+ $3215 = HEAP32[$3214>>2]|0;
+ $3216 = (_i64Add(($3207|0),($3208|0),($3212|0),($3215|0))|0);
+ $3217 = tempRet0;
+ $3218 = $t1;
+ $3219 = $3218;
+ HEAP32[$3219>>2] = $3216;
+ $3220 = (($3218) + 4)|0;
+ $3221 = $3220;
+ HEAP32[$3221>>2] = $3217;
+ $3222 = ((($w)) + 96|0);
+ $3223 = $3222;
+ $3224 = $3223;
+ $3225 = HEAP32[$3224>>2]|0;
+ $3226 = (($3223) + 4)|0;
+ $3227 = $3226;
+ $3228 = HEAP32[$3227>>2]|0;
+ $3229 = (_ROTR($3225,$3228,19,0)|0);
+ $3230 = tempRet0;
+ $3231 = ((($w)) + 96|0);
+ $3232 = $3231;
+ $3233 = $3232;
+ $3234 = HEAP32[$3233>>2]|0;
+ $3235 = (($3232) + 4)|0;
+ $3236 = $3235;
+ $3237 = HEAP32[$3236>>2]|0;
+ $3238 = (_ROTR($3234,$3237,61,0)|0);
+ $3239 = tempRet0;
+ $3240 = $3229 ^ $3238;
+ $3241 = $3230 ^ $3239;
+ $3242 = ((($w)) + 96|0);
+ $3243 = $3242;
+ $3244 = $3243;
+ $3245 = HEAP32[$3244>>2]|0;
+ $3246 = (($3243) + 4)|0;
+ $3247 = $3246;
+ $3248 = HEAP32[$3247>>2]|0;
+ $3249 = (_bitshift64Lshr(($3245|0),($3248|0),6)|0);
+ $3250 = tempRet0;
+ $3251 = $3240 ^ $3249;
+ $3252 = $3241 ^ $3250;
+ $3253 = ((($w)) + 56|0);
+ $3254 = $3253;
+ $3255 = $3254;
+ $3256 = HEAP32[$3255>>2]|0;
+ $3257 = (($3254) + 4)|0;
+ $3258 = $3257;
+ $3259 = HEAP32[$3258>>2]|0;
+ $3260 = (_i64Add(($3251|0),($3252|0),($3256|0),($3259|0))|0);
+ $3261 = tempRet0;
+ $3262 = ((($w)) + 120|0);
+ $3263 = $3262;
+ $3264 = $3263;
+ $3265 = HEAP32[$3264>>2]|0;
+ $3266 = (($3263) + 4)|0;
+ $3267 = $3266;
+ $3268 = HEAP32[$3267>>2]|0;
+ $3269 = (_ROTR($3265,$3268,1,0)|0);
+ $3270 = tempRet0;
+ $3271 = ((($w)) + 120|0);
+ $3272 = $3271;
+ $3273 = $3272;
+ $3274 = HEAP32[$3273>>2]|0;
+ $3275 = (($3272) + 4)|0;
+ $3276 = $3275;
+ $3277 = HEAP32[$3276>>2]|0;
+ $3278 = (_ROTR($3274,$3277,8,0)|0);
+ $3279 = tempRet0;
+ $3280 = $3269 ^ $3278;
+ $3281 = $3270 ^ $3279;
+ $3282 = ((($w)) + 120|0);
+ $3283 = $3282;
+ $3284 = $3283;
+ $3285 = HEAP32[$3284>>2]|0;
+ $3286 = (($3283) + 4)|0;
+ $3287 = $3286;
+ $3288 = HEAP32[$3287>>2]|0;
+ $3289 = (_bitshift64Lshr(($3285|0),($3288|0),7)|0);
+ $3290 = tempRet0;
+ $3291 = $3280 ^ $3289;
+ $3292 = $3281 ^ $3290;
+ $3293 = (_i64Add(($3260|0),($3261|0),($3291|0),($3292|0))|0);
+ $3294 = tempRet0;
+ $3295 = ((($w)) + 112|0);
+ $3296 = $3295;
+ $3297 = $3296;
+ $3298 = HEAP32[$3297>>2]|0;
+ $3299 = (($3296) + 4)|0;
+ $3300 = $3299;
+ $3301 = HEAP32[$3300>>2]|0;
+ $3302 = (_i64Add(($3298|0),($3301|0),($3293|0),($3294|0))|0);
+ $3303 = tempRet0;
+ $3304 = $3295;
+ $3305 = $3304;
+ HEAP32[$3305>>2] = $3302;
+ $3306 = (($3304) + 4)|0;
+ $3307 = $3306;
+ HEAP32[$3307>>2] = $3303;
+ $3308 = $c;
+ $3309 = $3308;
+ $3310 = HEAP32[$3309>>2]|0;
+ $3311 = (($3308) + 4)|0;
+ $3312 = $3311;
+ $3313 = HEAP32[$3312>>2]|0;
+ $3314 = (_Sum0_1423($3310,$3313)|0);
+ $3315 = tempRet0;
+ $3316 = $c;
+ $3317 = $3316;
+ $3318 = HEAP32[$3317>>2]|0;
+ $3319 = (($3316) + 4)|0;
+ $3320 = $3319;
+ $3321 = HEAP32[$3320>>2]|0;
+ $3322 = $d;
+ $3323 = $3322;
+ $3324 = HEAP32[$3323>>2]|0;
+ $3325 = (($3322) + 4)|0;
+ $3326 = $3325;
+ $3327 = HEAP32[$3326>>2]|0;
+ $3328 = $e;
+ $3329 = $3328;
+ $3330 = HEAP32[$3329>>2]|0;
+ $3331 = (($3328) + 4)|0;
+ $3332 = $3331;
+ $3333 = HEAP32[$3332>>2]|0;
+ $3334 = (_Maj_1424($3318,$3321,$3324,$3327,$3330,$3333)|0);
+ $3335 = tempRet0;
+ $3336 = (_i64Add(($3314|0),($3315|0),($3334|0),($3335|0))|0);
+ $3337 = tempRet0;
+ $3338 = $t2;
+ $3339 = $3338;
+ HEAP32[$3339>>2] = $3336;
+ $3340 = (($3338) + 4)|0;
+ $3341 = $3340;
+ HEAP32[$3341>>2] = $3337;
+ $3342 = $t1;
+ $3343 = $3342;
+ $3344 = HEAP32[$3343>>2]|0;
+ $3345 = (($3342) + 4)|0;
+ $3346 = $3345;
+ $3347 = HEAP32[$3346>>2]|0;
+ $3348 = $f;
+ $3349 = $3348;
+ $3350 = HEAP32[$3349>>2]|0;
+ $3351 = (($3348) + 4)|0;
+ $3352 = $3351;
+ $3353 = HEAP32[$3352>>2]|0;
+ $3354 = (_i64Add(($3350|0),($3353|0),($3344|0),($3347|0))|0);
+ $3355 = tempRet0;
+ $3356 = $f;
+ $3357 = $3356;
+ HEAP32[$3357>>2] = $3354;
+ $3358 = (($3356) + 4)|0;
+ $3359 = $3358;
+ HEAP32[$3359>>2] = $3355;
+ $3360 = $t1;
+ $3361 = $3360;
+ $3362 = HEAP32[$3361>>2]|0;
+ $3363 = (($3360) + 4)|0;
+ $3364 = $3363;
+ $3365 = HEAP32[$3364>>2]|0;
+ $3366 = $t2;
+ $3367 = $3366;
+ $3368 = HEAP32[$3367>>2]|0;
+ $3369 = (($3366) + 4)|0;
+ $3370 = $3369;
+ $3371 = HEAP32[$3370>>2]|0;
+ $3372 = (_i64Add(($3362|0),($3365|0),($3368|0),($3371|0))|0);
+ $3373 = tempRet0;
+ $3374 = $b;
+ $3375 = $3374;
+ HEAP32[$3375>>2] = $3372;
+ $3376 = (($3374) + 4)|0;
+ $3377 = $3376;
+ HEAP32[$3377>>2] = $3373;
+ $3378 = $a;
+ $3379 = $3378;
+ $3380 = HEAP32[$3379>>2]|0;
+ $3381 = (($3378) + 4)|0;
+ $3382 = $3381;
+ $3383 = HEAP32[$3382>>2]|0;
+ $3384 = $f;
+ $3385 = $3384;
+ $3386 = HEAP32[$3385>>2]|0;
+ $3387 = (($3384) + 4)|0;
+ $3388 = $3387;
+ $3389 = HEAP32[$3388>>2]|0;
+ $3390 = (_Sum1_1422($3386,$3389)|0);
+ $3391 = tempRet0;
+ $3392 = (_i64Add(($3380|0),($3383|0),($3390|0),($3391|0))|0);
+ $3393 = tempRet0;
+ $3394 = $f;
+ $3395 = $3394;
+ $3396 = HEAP32[$3395>>2]|0;
+ $3397 = (($3394) + 4)|0;
+ $3398 = $3397;
+ $3399 = HEAP32[$3398>>2]|0;
+ $3400 = $g;
+ $3401 = $3400;
+ $3402 = HEAP32[$3401>>2]|0;
+ $3403 = (($3400) + 4)|0;
+ $3404 = $3403;
+ $3405 = HEAP32[$3404>>2]|0;
+ $3406 = $h;
+ $3407 = $3406;
+ $3408 = HEAP32[$3407>>2]|0;
+ $3409 = (($3406) + 4)|0;
+ $3410 = $3409;
+ $3411 = HEAP32[$3410>>2]|0;
+ $3412 = (_Ch($3396,$3399,$3402,$3405,$3408,$3411)|0);
+ $3413 = tempRet0;
+ $3414 = (_i64Add(($3392|0),($3393|0),($3412|0),($3413|0))|0);
+ $3415 = tempRet0;
+ $3416 = $t;
+ $3417 = (($3416) + 15)|0;
+ $3418 = (80 + ($3417<<3)|0);
+ $3419 = $3418;
+ $3420 = $3419;
+ $3421 = HEAP32[$3420>>2]|0;
+ $3422 = (($3419) + 4)|0;
+ $3423 = $3422;
+ $3424 = HEAP32[$3423>>2]|0;
+ $3425 = (_i64Add(($3414|0),($3415|0),($3421|0),($3424|0))|0);
+ $3426 = tempRet0;
+ $3427 = ((($w)) + 120|0);
+ $3428 = $3427;
+ $3429 = $3428;
+ $3430 = HEAP32[$3429>>2]|0;
+ $3431 = (($3428) + 4)|0;
+ $3432 = $3431;
+ $3433 = HEAP32[$3432>>2]|0;
+ $3434 = (_i64Add(($3425|0),($3426|0),($3430|0),($3433|0))|0);
+ $3435 = tempRet0;
+ $3436 = $t1;
+ $3437 = $3436;
+ HEAP32[$3437>>2] = $3434;
+ $3438 = (($3436) + 4)|0;
+ $3439 = $3438;
+ HEAP32[$3439>>2] = $3435;
+ $3440 = ((($w)) + 104|0);
+ $3441 = $3440;
+ $3442 = $3441;
+ $3443 = HEAP32[$3442>>2]|0;
+ $3444 = (($3441) + 4)|0;
+ $3445 = $3444;
+ $3446 = HEAP32[$3445>>2]|0;
+ $3447 = (_ROTR($3443,$3446,19,0)|0);
+ $3448 = tempRet0;
+ $3449 = ((($w)) + 104|0);
+ $3450 = $3449;
+ $3451 = $3450;
+ $3452 = HEAP32[$3451>>2]|0;
+ $3453 = (($3450) + 4)|0;
+ $3454 = $3453;
+ $3455 = HEAP32[$3454>>2]|0;
+ $3456 = (_ROTR($3452,$3455,61,0)|0);
+ $3457 = tempRet0;
+ $3458 = $3447 ^ $3456;
+ $3459 = $3448 ^ $3457;
+ $3460 = ((($w)) + 104|0);
+ $3461 = $3460;
+ $3462 = $3461;
+ $3463 = HEAP32[$3462>>2]|0;
+ $3464 = (($3461) + 4)|0;
+ $3465 = $3464;
+ $3466 = HEAP32[$3465>>2]|0;
+ $3467 = (_bitshift64Lshr(($3463|0),($3466|0),6)|0);
+ $3468 = tempRet0;
+ $3469 = $3458 ^ $3467;
+ $3470 = $3459 ^ $3468;
+ $3471 = ((($w)) + 64|0);
+ $3472 = $3471;
+ $3473 = $3472;
+ $3474 = HEAP32[$3473>>2]|0;
+ $3475 = (($3472) + 4)|0;
+ $3476 = $3475;
+ $3477 = HEAP32[$3476>>2]|0;
+ $3478 = (_i64Add(($3469|0),($3470|0),($3474|0),($3477|0))|0);
+ $3479 = tempRet0;
+ $3480 = $w;
+ $3481 = $3480;
+ $3482 = HEAP32[$3481>>2]|0;
+ $3483 = (($3480) + 4)|0;
+ $3484 = $3483;
+ $3485 = HEAP32[$3484>>2]|0;
+ $3486 = (_ROTR($3482,$3485,1,0)|0);
+ $3487 = tempRet0;
+ $3488 = $w;
+ $3489 = $3488;
+ $3490 = HEAP32[$3489>>2]|0;
+ $3491 = (($3488) + 4)|0;
+ $3492 = $3491;
+ $3493 = HEAP32[$3492>>2]|0;
+ $3494 = (_ROTR($3490,$3493,8,0)|0);
+ $3495 = tempRet0;
+ $3496 = $3486 ^ $3494;
+ $3497 = $3487 ^ $3495;
+ $3498 = $w;
+ $3499 = $3498;
+ $3500 = HEAP32[$3499>>2]|0;
+ $3501 = (($3498) + 4)|0;
+ $3502 = $3501;
+ $3503 = HEAP32[$3502>>2]|0;
+ $3504 = (_bitshift64Lshr(($3500|0),($3503|0),7)|0);
+ $3505 = tempRet0;
+ $3506 = $3496 ^ $3504;
+ $3507 = $3497 ^ $3505;
+ $3508 = (_i64Add(($3478|0),($3479|0),($3506|0),($3507|0))|0);
+ $3509 = tempRet0;
+ $3510 = ((($w)) + 120|0);
+ $3511 = $3510;
+ $3512 = $3511;
+ $3513 = HEAP32[$3512>>2]|0;
+ $3514 = (($3511) + 4)|0;
+ $3515 = $3514;
+ $3516 = HEAP32[$3515>>2]|0;
+ $3517 = (_i64Add(($3513|0),($3516|0),($3508|0),($3509|0))|0);
+ $3518 = tempRet0;
+ $3519 = $3510;
+ $3520 = $3519;
+ HEAP32[$3520>>2] = $3517;
+ $3521 = (($3519) + 4)|0;
+ $3522 = $3521;
+ HEAP32[$3522>>2] = $3518;
+ $3523 = $b;
+ $3524 = $3523;
+ $3525 = HEAP32[$3524>>2]|0;
+ $3526 = (($3523) + 4)|0;
+ $3527 = $3526;
+ $3528 = HEAP32[$3527>>2]|0;
+ $3529 = (_Sum0_1423($3525,$3528)|0);
+ $3530 = tempRet0;
+ $3531 = $b;
+ $3532 = $3531;
+ $3533 = HEAP32[$3532>>2]|0;
+ $3534 = (($3531) + 4)|0;
+ $3535 = $3534;
+ $3536 = HEAP32[$3535>>2]|0;
+ $3537 = $c;
+ $3538 = $3537;
+ $3539 = HEAP32[$3538>>2]|0;
+ $3540 = (($3537) + 4)|0;
+ $3541 = $3540;
+ $3542 = HEAP32[$3541>>2]|0;
+ $3543 = $d;
+ $3544 = $3543;
+ $3545 = HEAP32[$3544>>2]|0;
+ $3546 = (($3543) + 4)|0;
+ $3547 = $3546;
+ $3548 = HEAP32[$3547>>2]|0;
+ $3549 = (_Maj_1424($3533,$3536,$3539,$3542,$3545,$3548)|0);
+ $3550 = tempRet0;
+ $3551 = (_i64Add(($3529|0),($3530|0),($3549|0),($3550|0))|0);
+ $3552 = tempRet0;
+ $3553 = $t2;
+ $3554 = $3553;
+ HEAP32[$3554>>2] = $3551;
+ $3555 = (($3553) + 4)|0;
+ $3556 = $3555;
+ HEAP32[$3556>>2] = $3552;
+ $3557 = $t1;
+ $3558 = $3557;
+ $3559 = HEAP32[$3558>>2]|0;
+ $3560 = (($3557) + 4)|0;
+ $3561 = $3560;
+ $3562 = HEAP32[$3561>>2]|0;
+ $3563 = $e;
+ $3564 = $3563;
+ $3565 = HEAP32[$3564>>2]|0;
+ $3566 = (($3563) + 4)|0;
+ $3567 = $3566;
+ $3568 = HEAP32[$3567>>2]|0;
+ $3569 = (_i64Add(($3565|0),($3568|0),($3559|0),($3562|0))|0);
+ $3570 = tempRet0;
+ $3571 = $e;
+ $3572 = $3571;
+ HEAP32[$3572>>2] = $3569;
+ $3573 = (($3571) + 4)|0;
+ $3574 = $3573;
+ HEAP32[$3574>>2] = $3570;
+ $3575 = $t1;
+ $3576 = $3575;
+ $3577 = HEAP32[$3576>>2]|0;
+ $3578 = (($3575) + 4)|0;
+ $3579 = $3578;
+ $3580 = HEAP32[$3579>>2]|0;
+ $3581 = $t2;
+ $3582 = $3581;
+ $3583 = HEAP32[$3582>>2]|0;
+ $3584 = (($3581) + 4)|0;
+ $3585 = $3584;
+ $3586 = HEAP32[$3585>>2]|0;
+ $3587 = (_i64Add(($3577|0),($3580|0),($3583|0),($3586|0))|0);
+ $3588 = tempRet0;
+ $3589 = $a;
+ $3590 = $3589;
+ HEAP32[$3590>>2] = $3587;
+ $3591 = (($3589) + 4)|0;
+ $3592 = $3591;
+ HEAP32[$3592>>2] = $3588;
+ $3593 = $t;
+ $3594 = (($3593) + 16)|0;
+ $t = $3594;
+ }
+ while(1) {
+ $3595 = $t;
+ $3596 = ($3595|0)<(80);
+ if (!($3596)) {
+ break;
+ }
+ $3597 = $h;
+ $3598 = $3597;
+ $3599 = HEAP32[$3598>>2]|0;
+ $3600 = (($3597) + 4)|0;
+ $3601 = $3600;
+ $3602 = HEAP32[$3601>>2]|0;
+ $3603 = $e;
+ $3604 = $3603;
+ $3605 = HEAP32[$3604>>2]|0;
+ $3606 = (($3603) + 4)|0;
+ $3607 = $3606;
+ $3608 = HEAP32[$3607>>2]|0;
+ $3609 = (_Sum1_1422($3605,$3608)|0);
+ $3610 = tempRet0;
+ $3611 = (_i64Add(($3599|0),($3602|0),($3609|0),($3610|0))|0);
+ $3612 = tempRet0;
+ $3613 = $e;
+ $3614 = $3613;
+ $3615 = HEAP32[$3614>>2]|0;
+ $3616 = (($3613) + 4)|0;
+ $3617 = $3616;
+ $3618 = HEAP32[$3617>>2]|0;
+ $3619 = $f;
+ $3620 = $3619;
+ $3621 = HEAP32[$3620>>2]|0;
+ $3622 = (($3619) + 4)|0;
+ $3623 = $3622;
+ $3624 = HEAP32[$3623>>2]|0;
+ $3625 = $g;
+ $3626 = $3625;
+ $3627 = HEAP32[$3626>>2]|0;
+ $3628 = (($3625) + 4)|0;
+ $3629 = $3628;
+ $3630 = HEAP32[$3629>>2]|0;
+ $3631 = (_Ch($3615,$3618,$3621,$3624,$3627,$3630)|0);
+ $3632 = tempRet0;
+ $3633 = (_i64Add(($3611|0),($3612|0),($3631|0),($3632|0))|0);
+ $3634 = tempRet0;
+ $3635 = $t;
+ $3636 = (80 + ($3635<<3)|0);
+ $3637 = $3636;
+ $3638 = $3637;
+ $3639 = HEAP32[$3638>>2]|0;
+ $3640 = (($3637) + 4)|0;
+ $3641 = $3640;
+ $3642 = HEAP32[$3641>>2]|0;
+ $3643 = (_i64Add(($3633|0),($3634|0),($3639|0),($3642|0))|0);
+ $3644 = tempRet0;
+ $3645 = $w;
+ $3646 = $3645;
+ $3647 = HEAP32[$3646>>2]|0;
+ $3648 = (($3645) + 4)|0;
+ $3649 = $3648;
+ $3650 = HEAP32[$3649>>2]|0;
+ $3651 = (_i64Add(($3643|0),($3644|0),($3647|0),($3650|0))|0);
+ $3652 = tempRet0;
+ $3653 = $t11;
+ $3654 = $3653;
+ HEAP32[$3654>>2] = $3651;
+ $3655 = (($3653) + 4)|0;
+ $3656 = $3655;
+ HEAP32[$3656>>2] = $3652;
+ $3657 = $a;
+ $3658 = $3657;
+ $3659 = HEAP32[$3658>>2]|0;
+ $3660 = (($3657) + 4)|0;
+ $3661 = $3660;
+ $3662 = HEAP32[$3661>>2]|0;
+ $3663 = (_Sum0_1423($3659,$3662)|0);
+ $3664 = tempRet0;
+ $3665 = $a;
+ $3666 = $3665;
+ $3667 = HEAP32[$3666>>2]|0;
+ $3668 = (($3665) + 4)|0;
+ $3669 = $3668;
+ $3670 = HEAP32[$3669>>2]|0;
+ $3671 = $b;
+ $3672 = $3671;
+ $3673 = HEAP32[$3672>>2]|0;
+ $3674 = (($3671) + 4)|0;
+ $3675 = $3674;
+ $3676 = HEAP32[$3675>>2]|0;
+ $3677 = $c;
+ $3678 = $3677;
+ $3679 = HEAP32[$3678>>2]|0;
+ $3680 = (($3677) + 4)|0;
+ $3681 = $3680;
+ $3682 = HEAP32[$3681>>2]|0;
+ $3683 = (_Maj_1424($3667,$3670,$3673,$3676,$3679,$3682)|0);
+ $3684 = tempRet0;
+ $3685 = (_i64Add(($3663|0),($3664|0),($3683|0),($3684|0))|0);
+ $3686 = tempRet0;
+ $3687 = $t22;
+ $3688 = $3687;
+ HEAP32[$3688>>2] = $3685;
+ $3689 = (($3687) + 4)|0;
+ $3690 = $3689;
+ HEAP32[$3690>>2] = $3686;
+ $3691 = $t11;
+ $3692 = $3691;
+ $3693 = HEAP32[$3692>>2]|0;
+ $3694 = (($3691) + 4)|0;
+ $3695 = $3694;
+ $3696 = HEAP32[$3695>>2]|0;
+ $3697 = $d;
+ $3698 = $3697;
+ $3699 = HEAP32[$3698>>2]|0;
+ $3700 = (($3697) + 4)|0;
+ $3701 = $3700;
+ $3702 = HEAP32[$3701>>2]|0;
+ $3703 = (_i64Add(($3699|0),($3702|0),($3693|0),($3696|0))|0);
+ $3704 = tempRet0;
+ $3705 = $d;
+ $3706 = $3705;
+ HEAP32[$3706>>2] = $3703;
+ $3707 = (($3705) + 4)|0;
+ $3708 = $3707;
+ HEAP32[$3708>>2] = $3704;
+ $3709 = $t11;
+ $3710 = $3709;
+ $3711 = HEAP32[$3710>>2]|0;
+ $3712 = (($3709) + 4)|0;
+ $3713 = $3712;
+ $3714 = HEAP32[$3713>>2]|0;
+ $3715 = $t22;
+ $3716 = $3715;
+ $3717 = HEAP32[$3716>>2]|0;
+ $3718 = (($3715) + 4)|0;
+ $3719 = $3718;
+ $3720 = HEAP32[$3719>>2]|0;
+ $3721 = (_i64Add(($3711|0),($3714|0),($3717|0),($3720|0))|0);
+ $3722 = tempRet0;
+ $3723 = $h;
+ $3724 = $3723;
+ HEAP32[$3724>>2] = $3721;
+ $3725 = (($3723) + 4)|0;
+ $3726 = $3725;
+ HEAP32[$3726>>2] = $3722;
+ $3727 = $g;
+ $3728 = $3727;
+ $3729 = HEAP32[$3728>>2]|0;
+ $3730 = (($3727) + 4)|0;
+ $3731 = $3730;
+ $3732 = HEAP32[$3731>>2]|0;
+ $3733 = $d;
+ $3734 = $3733;
+ $3735 = HEAP32[$3734>>2]|0;
+ $3736 = (($3733) + 4)|0;
+ $3737 = $3736;
+ $3738 = HEAP32[$3737>>2]|0;
+ $3739 = (_Sum1_1422($3735,$3738)|0);
+ $3740 = tempRet0;
+ $3741 = (_i64Add(($3729|0),($3732|0),($3739|0),($3740|0))|0);
+ $3742 = tempRet0;
+ $3743 = $d;
+ $3744 = $3743;
+ $3745 = HEAP32[$3744>>2]|0;
+ $3746 = (($3743) + 4)|0;
+ $3747 = $3746;
+ $3748 = HEAP32[$3747>>2]|0;
+ $3749 = $e;
+ $3750 = $3749;
+ $3751 = HEAP32[$3750>>2]|0;
+ $3752 = (($3749) + 4)|0;
+ $3753 = $3752;
+ $3754 = HEAP32[$3753>>2]|0;
+ $3755 = $f;
+ $3756 = $3755;
+ $3757 = HEAP32[$3756>>2]|0;
+ $3758 = (($3755) + 4)|0;
+ $3759 = $3758;
+ $3760 = HEAP32[$3759>>2]|0;
+ $3761 = (_Ch($3745,$3748,$3751,$3754,$3757,$3760)|0);
+ $3762 = tempRet0;
+ $3763 = (_i64Add(($3741|0),($3742|0),($3761|0),($3762|0))|0);
+ $3764 = tempRet0;
+ $3765 = $t;
+ $3766 = (($3765) + 1)|0;
+ $3767 = (80 + ($3766<<3)|0);
+ $3768 = $3767;
+ $3769 = $3768;
+ $3770 = HEAP32[$3769>>2]|0;
+ $3771 = (($3768) + 4)|0;
+ $3772 = $3771;
+ $3773 = HEAP32[$3772>>2]|0;
+ $3774 = (_i64Add(($3763|0),($3764|0),($3770|0),($3773|0))|0);
+ $3775 = tempRet0;
+ $3776 = ((($w)) + 8|0);
+ $3777 = $3776;
+ $3778 = $3777;
+ $3779 = HEAP32[$3778>>2]|0;
+ $3780 = (($3777) + 4)|0;
+ $3781 = $3780;
+ $3782 = HEAP32[$3781>>2]|0;
+ $3783 = (_i64Add(($3774|0),($3775|0),($3779|0),($3782|0))|0);
+ $3784 = tempRet0;
+ $3785 = $t11;
+ $3786 = $3785;
+ HEAP32[$3786>>2] = $3783;
+ $3787 = (($3785) + 4)|0;
+ $3788 = $3787;
+ HEAP32[$3788>>2] = $3784;
+ $3789 = $h;
+ $3790 = $3789;
+ $3791 = HEAP32[$3790>>2]|0;
+ $3792 = (($3789) + 4)|0;
+ $3793 = $3792;
+ $3794 = HEAP32[$3793>>2]|0;
+ $3795 = (_Sum0_1423($3791,$3794)|0);
+ $3796 = tempRet0;
+ $3797 = $h;
+ $3798 = $3797;
+ $3799 = HEAP32[$3798>>2]|0;
+ $3800 = (($3797) + 4)|0;
+ $3801 = $3800;
+ $3802 = HEAP32[$3801>>2]|0;
+ $3803 = $a;
+ $3804 = $3803;
+ $3805 = HEAP32[$3804>>2]|0;
+ $3806 = (($3803) + 4)|0;
+ $3807 = $3806;
+ $3808 = HEAP32[$3807>>2]|0;
+ $3809 = $b;
+ $3810 = $3809;
+ $3811 = HEAP32[$3810>>2]|0;
+ $3812 = (($3809) + 4)|0;
+ $3813 = $3812;
+ $3814 = HEAP32[$3813>>2]|0;
+ $3815 = (_Maj_1424($3799,$3802,$3805,$3808,$3811,$3814)|0);
+ $3816 = tempRet0;
+ $3817 = (_i64Add(($3795|0),($3796|0),($3815|0),($3816|0))|0);
+ $3818 = tempRet0;
+ $3819 = $t22;
+ $3820 = $3819;
+ HEAP32[$3820>>2] = $3817;
+ $3821 = (($3819) + 4)|0;
+ $3822 = $3821;
+ HEAP32[$3822>>2] = $3818;
+ $3823 = $t11;
+ $3824 = $3823;
+ $3825 = HEAP32[$3824>>2]|0;
+ $3826 = (($3823) + 4)|0;
+ $3827 = $3826;
+ $3828 = HEAP32[$3827>>2]|0;
+ $3829 = $c;
+ $3830 = $3829;
+ $3831 = HEAP32[$3830>>2]|0;
+ $3832 = (($3829) + 4)|0;
+ $3833 = $3832;
+ $3834 = HEAP32[$3833>>2]|0;
+ $3835 = (_i64Add(($3831|0),($3834|0),($3825|0),($3828|0))|0);
+ $3836 = tempRet0;
+ $3837 = $c;
+ $3838 = $3837;
+ HEAP32[$3838>>2] = $3835;
+ $3839 = (($3837) + 4)|0;
+ $3840 = $3839;
+ HEAP32[$3840>>2] = $3836;
+ $3841 = $t11;
+ $3842 = $3841;
+ $3843 = HEAP32[$3842>>2]|0;
+ $3844 = (($3841) + 4)|0;
+ $3845 = $3844;
+ $3846 = HEAP32[$3845>>2]|0;
+ $3847 = $t22;
+ $3848 = $3847;
+ $3849 = HEAP32[$3848>>2]|0;
+ $3850 = (($3847) + 4)|0;
+ $3851 = $3850;
+ $3852 = HEAP32[$3851>>2]|0;
+ $3853 = (_i64Add(($3843|0),($3846|0),($3849|0),($3852|0))|0);
+ $3854 = tempRet0;
+ $3855 = $g;
+ $3856 = $3855;
+ HEAP32[$3856>>2] = $3853;
+ $3857 = (($3855) + 4)|0;
+ $3858 = $3857;
+ HEAP32[$3858>>2] = $3854;
+ $3859 = $f;
+ $3860 = $3859;
+ $3861 = HEAP32[$3860>>2]|0;
+ $3862 = (($3859) + 4)|0;
+ $3863 = $3862;
+ $3864 = HEAP32[$3863>>2]|0;
+ $3865 = $c;
+ $3866 = $3865;
+ $3867 = HEAP32[$3866>>2]|0;
+ $3868 = (($3865) + 4)|0;
+ $3869 = $3868;
+ $3870 = HEAP32[$3869>>2]|0;
+ $3871 = (_Sum1_1422($3867,$3870)|0);
+ $3872 = tempRet0;
+ $3873 = (_i64Add(($3861|0),($3864|0),($3871|0),($3872|0))|0);
+ $3874 = tempRet0;
+ $3875 = $c;
+ $3876 = $3875;
+ $3877 = HEAP32[$3876>>2]|0;
+ $3878 = (($3875) + 4)|0;
+ $3879 = $3878;
+ $3880 = HEAP32[$3879>>2]|0;
+ $3881 = $d;
+ $3882 = $3881;
+ $3883 = HEAP32[$3882>>2]|0;
+ $3884 = (($3881) + 4)|0;
+ $3885 = $3884;
+ $3886 = HEAP32[$3885>>2]|0;
+ $3887 = $e;
+ $3888 = $3887;
+ $3889 = HEAP32[$3888>>2]|0;
+ $3890 = (($3887) + 4)|0;
+ $3891 = $3890;
+ $3892 = HEAP32[$3891>>2]|0;
+ $3893 = (_Ch($3877,$3880,$3883,$3886,$3889,$3892)|0);
+ $3894 = tempRet0;
+ $3895 = (_i64Add(($3873|0),($3874|0),($3893|0),($3894|0))|0);
+ $3896 = tempRet0;
+ $3897 = $t;
+ $3898 = (($3897) + 2)|0;
+ $3899 = (80 + ($3898<<3)|0);
+ $3900 = $3899;
+ $3901 = $3900;
+ $3902 = HEAP32[$3901>>2]|0;
+ $3903 = (($3900) + 4)|0;
+ $3904 = $3903;
+ $3905 = HEAP32[$3904>>2]|0;
+ $3906 = (_i64Add(($3895|0),($3896|0),($3902|0),($3905|0))|0);
+ $3907 = tempRet0;
+ $3908 = ((($w)) + 16|0);
+ $3909 = $3908;
+ $3910 = $3909;
+ $3911 = HEAP32[$3910>>2]|0;
+ $3912 = (($3909) + 4)|0;
+ $3913 = $3912;
+ $3914 = HEAP32[$3913>>2]|0;
+ $3915 = (_i64Add(($3906|0),($3907|0),($3911|0),($3914|0))|0);
+ $3916 = tempRet0;
+ $3917 = $t11;
+ $3918 = $3917;
+ HEAP32[$3918>>2] = $3915;
+ $3919 = (($3917) + 4)|0;
+ $3920 = $3919;
+ HEAP32[$3920>>2] = $3916;
+ $3921 = $g;
+ $3922 = $3921;
+ $3923 = HEAP32[$3922>>2]|0;
+ $3924 = (($3921) + 4)|0;
+ $3925 = $3924;
+ $3926 = HEAP32[$3925>>2]|0;
+ $3927 = (_Sum0_1423($3923,$3926)|0);
+ $3928 = tempRet0;
+ $3929 = $g;
+ $3930 = $3929;
+ $3931 = HEAP32[$3930>>2]|0;
+ $3932 = (($3929) + 4)|0;
+ $3933 = $3932;
+ $3934 = HEAP32[$3933>>2]|0;
+ $3935 = $h;
+ $3936 = $3935;
+ $3937 = HEAP32[$3936>>2]|0;
+ $3938 = (($3935) + 4)|0;
+ $3939 = $3938;
+ $3940 = HEAP32[$3939>>2]|0;
+ $3941 = $a;
+ $3942 = $3941;
+ $3943 = HEAP32[$3942>>2]|0;
+ $3944 = (($3941) + 4)|0;
+ $3945 = $3944;
+ $3946 = HEAP32[$3945>>2]|0;
+ $3947 = (_Maj_1424($3931,$3934,$3937,$3940,$3943,$3946)|0);
+ $3948 = tempRet0;
+ $3949 = (_i64Add(($3927|0),($3928|0),($3947|0),($3948|0))|0);
+ $3950 = tempRet0;
+ $3951 = $t22;
+ $3952 = $3951;
+ HEAP32[$3952>>2] = $3949;
+ $3953 = (($3951) + 4)|0;
+ $3954 = $3953;
+ HEAP32[$3954>>2] = $3950;
+ $3955 = $t11;
+ $3956 = $3955;
+ $3957 = HEAP32[$3956>>2]|0;
+ $3958 = (($3955) + 4)|0;
+ $3959 = $3958;
+ $3960 = HEAP32[$3959>>2]|0;
+ $3961 = $b;
+ $3962 = $3961;
+ $3963 = HEAP32[$3962>>2]|0;
+ $3964 = (($3961) + 4)|0;
+ $3965 = $3964;
+ $3966 = HEAP32[$3965>>2]|0;
+ $3967 = (_i64Add(($3963|0),($3966|0),($3957|0),($3960|0))|0);
+ $3968 = tempRet0;
+ $3969 = $b;
+ $3970 = $3969;
+ HEAP32[$3970>>2] = $3967;
+ $3971 = (($3969) + 4)|0;
+ $3972 = $3971;
+ HEAP32[$3972>>2] = $3968;
+ $3973 = $t11;
+ $3974 = $3973;
+ $3975 = HEAP32[$3974>>2]|0;
+ $3976 = (($3973) + 4)|0;
+ $3977 = $3976;
+ $3978 = HEAP32[$3977>>2]|0;
+ $3979 = $t22;
+ $3980 = $3979;
+ $3981 = HEAP32[$3980>>2]|0;
+ $3982 = (($3979) + 4)|0;
+ $3983 = $3982;
+ $3984 = HEAP32[$3983>>2]|0;
+ $3985 = (_i64Add(($3975|0),($3978|0),($3981|0),($3984|0))|0);
+ $3986 = tempRet0;
+ $3987 = $f;
+ $3988 = $3987;
+ HEAP32[$3988>>2] = $3985;
+ $3989 = (($3987) + 4)|0;
+ $3990 = $3989;
+ HEAP32[$3990>>2] = $3986;
+ $3991 = $e;
+ $3992 = $3991;
+ $3993 = HEAP32[$3992>>2]|0;
+ $3994 = (($3991) + 4)|0;
+ $3995 = $3994;
+ $3996 = HEAP32[$3995>>2]|0;
+ $3997 = $b;
+ $3998 = $3997;
+ $3999 = HEAP32[$3998>>2]|0;
+ $4000 = (($3997) + 4)|0;
+ $4001 = $4000;
+ $4002 = HEAP32[$4001>>2]|0;
+ $4003 = (_Sum1_1422($3999,$4002)|0);
+ $4004 = tempRet0;
+ $4005 = (_i64Add(($3993|0),($3996|0),($4003|0),($4004|0))|0);
+ $4006 = tempRet0;
+ $4007 = $b;
+ $4008 = $4007;
+ $4009 = HEAP32[$4008>>2]|0;
+ $4010 = (($4007) + 4)|0;
+ $4011 = $4010;
+ $4012 = HEAP32[$4011>>2]|0;
+ $4013 = $c;
+ $4014 = $4013;
+ $4015 = HEAP32[$4014>>2]|0;
+ $4016 = (($4013) + 4)|0;
+ $4017 = $4016;
+ $4018 = HEAP32[$4017>>2]|0;
+ $4019 = $d;
+ $4020 = $4019;
+ $4021 = HEAP32[$4020>>2]|0;
+ $4022 = (($4019) + 4)|0;
+ $4023 = $4022;
+ $4024 = HEAP32[$4023>>2]|0;
+ $4025 = (_Ch($4009,$4012,$4015,$4018,$4021,$4024)|0);
+ $4026 = tempRet0;
+ $4027 = (_i64Add(($4005|0),($4006|0),($4025|0),($4026|0))|0);
+ $4028 = tempRet0;
+ $4029 = $t;
+ $4030 = (($4029) + 3)|0;
+ $4031 = (80 + ($4030<<3)|0);
+ $4032 = $4031;
+ $4033 = $4032;
+ $4034 = HEAP32[$4033>>2]|0;
+ $4035 = (($4032) + 4)|0;
+ $4036 = $4035;
+ $4037 = HEAP32[$4036>>2]|0;
+ $4038 = (_i64Add(($4027|0),($4028|0),($4034|0),($4037|0))|0);
+ $4039 = tempRet0;
+ $4040 = ((($w)) + 24|0);
+ $4041 = $4040;
+ $4042 = $4041;
+ $4043 = HEAP32[$4042>>2]|0;
+ $4044 = (($4041) + 4)|0;
+ $4045 = $4044;
+ $4046 = HEAP32[$4045>>2]|0;
+ $4047 = (_i64Add(($4038|0),($4039|0),($4043|0),($4046|0))|0);
+ $4048 = tempRet0;
+ $4049 = $t11;
+ $4050 = $4049;
+ HEAP32[$4050>>2] = $4047;
+ $4051 = (($4049) + 4)|0;
+ $4052 = $4051;
+ HEAP32[$4052>>2] = $4048;
+ $4053 = $f;
+ $4054 = $4053;
+ $4055 = HEAP32[$4054>>2]|0;
+ $4056 = (($4053) + 4)|0;
+ $4057 = $4056;
+ $4058 = HEAP32[$4057>>2]|0;
+ $4059 = (_Sum0_1423($4055,$4058)|0);
+ $4060 = tempRet0;
+ $4061 = $f;
+ $4062 = $4061;
+ $4063 = HEAP32[$4062>>2]|0;
+ $4064 = (($4061) + 4)|0;
+ $4065 = $4064;
+ $4066 = HEAP32[$4065>>2]|0;
+ $4067 = $g;
+ $4068 = $4067;
+ $4069 = HEAP32[$4068>>2]|0;
+ $4070 = (($4067) + 4)|0;
+ $4071 = $4070;
+ $4072 = HEAP32[$4071>>2]|0;
+ $4073 = $h;
+ $4074 = $4073;
+ $4075 = HEAP32[$4074>>2]|0;
+ $4076 = (($4073) + 4)|0;
+ $4077 = $4076;
+ $4078 = HEAP32[$4077>>2]|0;
+ $4079 = (_Maj_1424($4063,$4066,$4069,$4072,$4075,$4078)|0);
+ $4080 = tempRet0;
+ $4081 = (_i64Add(($4059|0),($4060|0),($4079|0),($4080|0))|0);
+ $4082 = tempRet0;
+ $4083 = $t22;
+ $4084 = $4083;
+ HEAP32[$4084>>2] = $4081;
+ $4085 = (($4083) + 4)|0;
+ $4086 = $4085;
+ HEAP32[$4086>>2] = $4082;
+ $4087 = $t11;
+ $4088 = $4087;
+ $4089 = HEAP32[$4088>>2]|0;
+ $4090 = (($4087) + 4)|0;
+ $4091 = $4090;
+ $4092 = HEAP32[$4091>>2]|0;
+ $4093 = $a;
+ $4094 = $4093;
+ $4095 = HEAP32[$4094>>2]|0;
+ $4096 = (($4093) + 4)|0;
+ $4097 = $4096;
+ $4098 = HEAP32[$4097>>2]|0;
+ $4099 = (_i64Add(($4095|0),($4098|0),($4089|0),($4092|0))|0);
+ $4100 = tempRet0;
+ $4101 = $a;
+ $4102 = $4101;
+ HEAP32[$4102>>2] = $4099;
+ $4103 = (($4101) + 4)|0;
+ $4104 = $4103;
+ HEAP32[$4104>>2] = $4100;
+ $4105 = $t11;
+ $4106 = $4105;
+ $4107 = HEAP32[$4106>>2]|0;
+ $4108 = (($4105) + 4)|0;
+ $4109 = $4108;
+ $4110 = HEAP32[$4109>>2]|0;
+ $4111 = $t22;
+ $4112 = $4111;
+ $4113 = HEAP32[$4112>>2]|0;
+ $4114 = (($4111) + 4)|0;
+ $4115 = $4114;
+ $4116 = HEAP32[$4115>>2]|0;
+ $4117 = (_i64Add(($4107|0),($4110|0),($4113|0),($4116|0))|0);
+ $4118 = tempRet0;
+ $4119 = $e;
+ $4120 = $4119;
+ HEAP32[$4120>>2] = $4117;
+ $4121 = (($4119) + 4)|0;
+ $4122 = $4121;
+ HEAP32[$4122>>2] = $4118;
+ $4123 = $d;
+ $4124 = $4123;
+ $4125 = HEAP32[$4124>>2]|0;
+ $4126 = (($4123) + 4)|0;
+ $4127 = $4126;
+ $4128 = HEAP32[$4127>>2]|0;
+ $4129 = $a;
+ $4130 = $4129;
+ $4131 = HEAP32[$4130>>2]|0;
+ $4132 = (($4129) + 4)|0;
+ $4133 = $4132;
+ $4134 = HEAP32[$4133>>2]|0;
+ $4135 = (_Sum1_1422($4131,$4134)|0);
+ $4136 = tempRet0;
+ $4137 = (_i64Add(($4125|0),($4128|0),($4135|0),($4136|0))|0);
+ $4138 = tempRet0;
+ $4139 = $a;
+ $4140 = $4139;
+ $4141 = HEAP32[$4140>>2]|0;
+ $4142 = (($4139) + 4)|0;
+ $4143 = $4142;
+ $4144 = HEAP32[$4143>>2]|0;
+ $4145 = $b;
+ $4146 = $4145;
+ $4147 = HEAP32[$4146>>2]|0;
+ $4148 = (($4145) + 4)|0;
+ $4149 = $4148;
+ $4150 = HEAP32[$4149>>2]|0;
+ $4151 = $c;
+ $4152 = $4151;
+ $4153 = HEAP32[$4152>>2]|0;
+ $4154 = (($4151) + 4)|0;
+ $4155 = $4154;
+ $4156 = HEAP32[$4155>>2]|0;
+ $4157 = (_Ch($4141,$4144,$4147,$4150,$4153,$4156)|0);
+ $4158 = tempRet0;
+ $4159 = (_i64Add(($4137|0),($4138|0),($4157|0),($4158|0))|0);
+ $4160 = tempRet0;
+ $4161 = $t;
+ $4162 = (($4161) + 4)|0;
+ $4163 = (80 + ($4162<<3)|0);
+ $4164 = $4163;
+ $4165 = $4164;
+ $4166 = HEAP32[$4165>>2]|0;
+ $4167 = (($4164) + 4)|0;
+ $4168 = $4167;
+ $4169 = HEAP32[$4168>>2]|0;
+ $4170 = (_i64Add(($4159|0),($4160|0),($4166|0),($4169|0))|0);
+ $4171 = tempRet0;
+ $4172 = ((($w)) + 32|0);
+ $4173 = $4172;
+ $4174 = $4173;
+ $4175 = HEAP32[$4174>>2]|0;
+ $4176 = (($4173) + 4)|0;
+ $4177 = $4176;
+ $4178 = HEAP32[$4177>>2]|0;
+ $4179 = (_i64Add(($4170|0),($4171|0),($4175|0),($4178|0))|0);
+ $4180 = tempRet0;
+ $4181 = $t11;
+ $4182 = $4181;
+ HEAP32[$4182>>2] = $4179;
+ $4183 = (($4181) + 4)|0;
+ $4184 = $4183;
+ HEAP32[$4184>>2] = $4180;
+ $4185 = $e;
+ $4186 = $4185;
+ $4187 = HEAP32[$4186>>2]|0;
+ $4188 = (($4185) + 4)|0;
+ $4189 = $4188;
+ $4190 = HEAP32[$4189>>2]|0;
+ $4191 = (_Sum0_1423($4187,$4190)|0);
+ $4192 = tempRet0;
+ $4193 = $e;
+ $4194 = $4193;
+ $4195 = HEAP32[$4194>>2]|0;
+ $4196 = (($4193) + 4)|0;
+ $4197 = $4196;
+ $4198 = HEAP32[$4197>>2]|0;
+ $4199 = $f;
+ $4200 = $4199;
+ $4201 = HEAP32[$4200>>2]|0;
+ $4202 = (($4199) + 4)|0;
+ $4203 = $4202;
+ $4204 = HEAP32[$4203>>2]|0;
+ $4205 = $g;
+ $4206 = $4205;
+ $4207 = HEAP32[$4206>>2]|0;
+ $4208 = (($4205) + 4)|0;
+ $4209 = $4208;
+ $4210 = HEAP32[$4209>>2]|0;
+ $4211 = (_Maj_1424($4195,$4198,$4201,$4204,$4207,$4210)|0);
+ $4212 = tempRet0;
+ $4213 = (_i64Add(($4191|0),($4192|0),($4211|0),($4212|0))|0);
+ $4214 = tempRet0;
+ $4215 = $t22;
+ $4216 = $4215;
+ HEAP32[$4216>>2] = $4213;
+ $4217 = (($4215) + 4)|0;
+ $4218 = $4217;
+ HEAP32[$4218>>2] = $4214;
+ $4219 = $t11;
+ $4220 = $4219;
+ $4221 = HEAP32[$4220>>2]|0;
+ $4222 = (($4219) + 4)|0;
+ $4223 = $4222;
+ $4224 = HEAP32[$4223>>2]|0;
+ $4225 = $h;
+ $4226 = $4225;
+ $4227 = HEAP32[$4226>>2]|0;
+ $4228 = (($4225) + 4)|0;
+ $4229 = $4228;
+ $4230 = HEAP32[$4229>>2]|0;
+ $4231 = (_i64Add(($4227|0),($4230|0),($4221|0),($4224|0))|0);
+ $4232 = tempRet0;
+ $4233 = $h;
+ $4234 = $4233;
+ HEAP32[$4234>>2] = $4231;
+ $4235 = (($4233) + 4)|0;
+ $4236 = $4235;
+ HEAP32[$4236>>2] = $4232;
+ $4237 = $t11;
+ $4238 = $4237;
+ $4239 = HEAP32[$4238>>2]|0;
+ $4240 = (($4237) + 4)|0;
+ $4241 = $4240;
+ $4242 = HEAP32[$4241>>2]|0;
+ $4243 = $t22;
+ $4244 = $4243;
+ $4245 = HEAP32[$4244>>2]|0;
+ $4246 = (($4243) + 4)|0;
+ $4247 = $4246;
+ $4248 = HEAP32[$4247>>2]|0;
+ $4249 = (_i64Add(($4239|0),($4242|0),($4245|0),($4248|0))|0);
+ $4250 = tempRet0;
+ $4251 = $d;
+ $4252 = $4251;
+ HEAP32[$4252>>2] = $4249;
+ $4253 = (($4251) + 4)|0;
+ $4254 = $4253;
+ HEAP32[$4254>>2] = $4250;
+ $4255 = $c;
+ $4256 = $4255;
+ $4257 = HEAP32[$4256>>2]|0;
+ $4258 = (($4255) + 4)|0;
+ $4259 = $4258;
+ $4260 = HEAP32[$4259>>2]|0;
+ $4261 = $h;
+ $4262 = $4261;
+ $4263 = HEAP32[$4262>>2]|0;
+ $4264 = (($4261) + 4)|0;
+ $4265 = $4264;
+ $4266 = HEAP32[$4265>>2]|0;
+ $4267 = (_Sum1_1422($4263,$4266)|0);
+ $4268 = tempRet0;
+ $4269 = (_i64Add(($4257|0),($4260|0),($4267|0),($4268|0))|0);
+ $4270 = tempRet0;
+ $4271 = $h;
+ $4272 = $4271;
+ $4273 = HEAP32[$4272>>2]|0;
+ $4274 = (($4271) + 4)|0;
+ $4275 = $4274;
+ $4276 = HEAP32[$4275>>2]|0;
+ $4277 = $a;
+ $4278 = $4277;
+ $4279 = HEAP32[$4278>>2]|0;
+ $4280 = (($4277) + 4)|0;
+ $4281 = $4280;
+ $4282 = HEAP32[$4281>>2]|0;
+ $4283 = $b;
+ $4284 = $4283;
+ $4285 = HEAP32[$4284>>2]|0;
+ $4286 = (($4283) + 4)|0;
+ $4287 = $4286;
+ $4288 = HEAP32[$4287>>2]|0;
+ $4289 = (_Ch($4273,$4276,$4279,$4282,$4285,$4288)|0);
+ $4290 = tempRet0;
+ $4291 = (_i64Add(($4269|0),($4270|0),($4289|0),($4290|0))|0);
+ $4292 = tempRet0;
+ $4293 = $t;
+ $4294 = (($4293) + 5)|0;
+ $4295 = (80 + ($4294<<3)|0);
+ $4296 = $4295;
+ $4297 = $4296;
+ $4298 = HEAP32[$4297>>2]|0;
+ $4299 = (($4296) + 4)|0;
+ $4300 = $4299;
+ $4301 = HEAP32[$4300>>2]|0;
+ $4302 = (_i64Add(($4291|0),($4292|0),($4298|0),($4301|0))|0);
+ $4303 = tempRet0;
+ $4304 = ((($w)) + 40|0);
+ $4305 = $4304;
+ $4306 = $4305;
+ $4307 = HEAP32[$4306>>2]|0;
+ $4308 = (($4305) + 4)|0;
+ $4309 = $4308;
+ $4310 = HEAP32[$4309>>2]|0;
+ $4311 = (_i64Add(($4302|0),($4303|0),($4307|0),($4310|0))|0);
+ $4312 = tempRet0;
+ $4313 = $t11;
+ $4314 = $4313;
+ HEAP32[$4314>>2] = $4311;
+ $4315 = (($4313) + 4)|0;
+ $4316 = $4315;
+ HEAP32[$4316>>2] = $4312;
+ $4317 = $d;
+ $4318 = $4317;
+ $4319 = HEAP32[$4318>>2]|0;
+ $4320 = (($4317) + 4)|0;
+ $4321 = $4320;
+ $4322 = HEAP32[$4321>>2]|0;
+ $4323 = (_Sum0_1423($4319,$4322)|0);
+ $4324 = tempRet0;
+ $4325 = $d;
+ $4326 = $4325;
+ $4327 = HEAP32[$4326>>2]|0;
+ $4328 = (($4325) + 4)|0;
+ $4329 = $4328;
+ $4330 = HEAP32[$4329>>2]|0;
+ $4331 = $e;
+ $4332 = $4331;
+ $4333 = HEAP32[$4332>>2]|0;
+ $4334 = (($4331) + 4)|0;
+ $4335 = $4334;
+ $4336 = HEAP32[$4335>>2]|0;
+ $4337 = $f;
+ $4338 = $4337;
+ $4339 = HEAP32[$4338>>2]|0;
+ $4340 = (($4337) + 4)|0;
+ $4341 = $4340;
+ $4342 = HEAP32[$4341>>2]|0;
+ $4343 = (_Maj_1424($4327,$4330,$4333,$4336,$4339,$4342)|0);
+ $4344 = tempRet0;
+ $4345 = (_i64Add(($4323|0),($4324|0),($4343|0),($4344|0))|0);
+ $4346 = tempRet0;
+ $4347 = $t22;
+ $4348 = $4347;
+ HEAP32[$4348>>2] = $4345;
+ $4349 = (($4347) + 4)|0;
+ $4350 = $4349;
+ HEAP32[$4350>>2] = $4346;
+ $4351 = $t11;
+ $4352 = $4351;
+ $4353 = HEAP32[$4352>>2]|0;
+ $4354 = (($4351) + 4)|0;
+ $4355 = $4354;
+ $4356 = HEAP32[$4355>>2]|0;
+ $4357 = $g;
+ $4358 = $4357;
+ $4359 = HEAP32[$4358>>2]|0;
+ $4360 = (($4357) + 4)|0;
+ $4361 = $4360;
+ $4362 = HEAP32[$4361>>2]|0;
+ $4363 = (_i64Add(($4359|0),($4362|0),($4353|0),($4356|0))|0);
+ $4364 = tempRet0;
+ $4365 = $g;
+ $4366 = $4365;
+ HEAP32[$4366>>2] = $4363;
+ $4367 = (($4365) + 4)|0;
+ $4368 = $4367;
+ HEAP32[$4368>>2] = $4364;
+ $4369 = $t11;
+ $4370 = $4369;
+ $4371 = HEAP32[$4370>>2]|0;
+ $4372 = (($4369) + 4)|0;
+ $4373 = $4372;
+ $4374 = HEAP32[$4373>>2]|0;
+ $4375 = $t22;
+ $4376 = $4375;
+ $4377 = HEAP32[$4376>>2]|0;
+ $4378 = (($4375) + 4)|0;
+ $4379 = $4378;
+ $4380 = HEAP32[$4379>>2]|0;
+ $4381 = (_i64Add(($4371|0),($4374|0),($4377|0),($4380|0))|0);
+ $4382 = tempRet0;
+ $4383 = $c;
+ $4384 = $4383;
+ HEAP32[$4384>>2] = $4381;
+ $4385 = (($4383) + 4)|0;
+ $4386 = $4385;
+ HEAP32[$4386>>2] = $4382;
+ $4387 = $b;
+ $4388 = $4387;
+ $4389 = HEAP32[$4388>>2]|0;
+ $4390 = (($4387) + 4)|0;
+ $4391 = $4390;
+ $4392 = HEAP32[$4391>>2]|0;
+ $4393 = $g;
+ $4394 = $4393;
+ $4395 = HEAP32[$4394>>2]|0;
+ $4396 = (($4393) + 4)|0;
+ $4397 = $4396;
+ $4398 = HEAP32[$4397>>2]|0;
+ $4399 = (_Sum1_1422($4395,$4398)|0);
+ $4400 = tempRet0;
+ $4401 = (_i64Add(($4389|0),($4392|0),($4399|0),($4400|0))|0);
+ $4402 = tempRet0;
+ $4403 = $g;
+ $4404 = $4403;
+ $4405 = HEAP32[$4404>>2]|0;
+ $4406 = (($4403) + 4)|0;
+ $4407 = $4406;
+ $4408 = HEAP32[$4407>>2]|0;
+ $4409 = $h;
+ $4410 = $4409;
+ $4411 = HEAP32[$4410>>2]|0;
+ $4412 = (($4409) + 4)|0;
+ $4413 = $4412;
+ $4414 = HEAP32[$4413>>2]|0;
+ $4415 = $a;
+ $4416 = $4415;
+ $4417 = HEAP32[$4416>>2]|0;
+ $4418 = (($4415) + 4)|0;
+ $4419 = $4418;
+ $4420 = HEAP32[$4419>>2]|0;
+ $4421 = (_Ch($4405,$4408,$4411,$4414,$4417,$4420)|0);
+ $4422 = tempRet0;
+ $4423 = (_i64Add(($4401|0),($4402|0),($4421|0),($4422|0))|0);
+ $4424 = tempRet0;
+ $4425 = $t;
+ $4426 = (($4425) + 6)|0;
+ $4427 = (80 + ($4426<<3)|0);
+ $4428 = $4427;
+ $4429 = $4428;
+ $4430 = HEAP32[$4429>>2]|0;
+ $4431 = (($4428) + 4)|0;
+ $4432 = $4431;
+ $4433 = HEAP32[$4432>>2]|0;
+ $4434 = (_i64Add(($4423|0),($4424|0),($4430|0),($4433|0))|0);
+ $4435 = tempRet0;
+ $4436 = ((($w)) + 48|0);
+ $4437 = $4436;
+ $4438 = $4437;
+ $4439 = HEAP32[$4438>>2]|0;
+ $4440 = (($4437) + 4)|0;
+ $4441 = $4440;
+ $4442 = HEAP32[$4441>>2]|0;
+ $4443 = (_i64Add(($4434|0),($4435|0),($4439|0),($4442|0))|0);
+ $4444 = tempRet0;
+ $4445 = $t11;
+ $4446 = $4445;
+ HEAP32[$4446>>2] = $4443;
+ $4447 = (($4445) + 4)|0;
+ $4448 = $4447;
+ HEAP32[$4448>>2] = $4444;
+ $4449 = $c;
+ $4450 = $4449;
+ $4451 = HEAP32[$4450>>2]|0;
+ $4452 = (($4449) + 4)|0;
+ $4453 = $4452;
+ $4454 = HEAP32[$4453>>2]|0;
+ $4455 = (_Sum0_1423($4451,$4454)|0);
+ $4456 = tempRet0;
+ $4457 = $c;
+ $4458 = $4457;
+ $4459 = HEAP32[$4458>>2]|0;
+ $4460 = (($4457) + 4)|0;
+ $4461 = $4460;
+ $4462 = HEAP32[$4461>>2]|0;
+ $4463 = $d;
+ $4464 = $4463;
+ $4465 = HEAP32[$4464>>2]|0;
+ $4466 = (($4463) + 4)|0;
+ $4467 = $4466;
+ $4468 = HEAP32[$4467>>2]|0;
+ $4469 = $e;
+ $4470 = $4469;
+ $4471 = HEAP32[$4470>>2]|0;
+ $4472 = (($4469) + 4)|0;
+ $4473 = $4472;
+ $4474 = HEAP32[$4473>>2]|0;
+ $4475 = (_Maj_1424($4459,$4462,$4465,$4468,$4471,$4474)|0);
+ $4476 = tempRet0;
+ $4477 = (_i64Add(($4455|0),($4456|0),($4475|0),($4476|0))|0);
+ $4478 = tempRet0;
+ $4479 = $t22;
+ $4480 = $4479;
+ HEAP32[$4480>>2] = $4477;
+ $4481 = (($4479) + 4)|0;
+ $4482 = $4481;
+ HEAP32[$4482>>2] = $4478;
+ $4483 = $t11;
+ $4484 = $4483;
+ $4485 = HEAP32[$4484>>2]|0;
+ $4486 = (($4483) + 4)|0;
+ $4487 = $4486;
+ $4488 = HEAP32[$4487>>2]|0;
+ $4489 = $f;
+ $4490 = $4489;
+ $4491 = HEAP32[$4490>>2]|0;
+ $4492 = (($4489) + 4)|0;
+ $4493 = $4492;
+ $4494 = HEAP32[$4493>>2]|0;
+ $4495 = (_i64Add(($4491|0),($4494|0),($4485|0),($4488|0))|0);
+ $4496 = tempRet0;
+ $4497 = $f;
+ $4498 = $4497;
+ HEAP32[$4498>>2] = $4495;
+ $4499 = (($4497) + 4)|0;
+ $4500 = $4499;
+ HEAP32[$4500>>2] = $4496;
+ $4501 = $t11;
+ $4502 = $4501;
+ $4503 = HEAP32[$4502>>2]|0;
+ $4504 = (($4501) + 4)|0;
+ $4505 = $4504;
+ $4506 = HEAP32[$4505>>2]|0;
+ $4507 = $t22;
+ $4508 = $4507;
+ $4509 = HEAP32[$4508>>2]|0;
+ $4510 = (($4507) + 4)|0;
+ $4511 = $4510;
+ $4512 = HEAP32[$4511>>2]|0;
+ $4513 = (_i64Add(($4503|0),($4506|0),($4509|0),($4512|0))|0);
+ $4514 = tempRet0;
+ $4515 = $b;
+ $4516 = $4515;
+ HEAP32[$4516>>2] = $4513;
+ $4517 = (($4515) + 4)|0;
+ $4518 = $4517;
+ HEAP32[$4518>>2] = $4514;
+ $4519 = $a;
+ $4520 = $4519;
+ $4521 = HEAP32[$4520>>2]|0;
+ $4522 = (($4519) + 4)|0;
+ $4523 = $4522;
+ $4524 = HEAP32[$4523>>2]|0;
+ $4525 = $f;
+ $4526 = $4525;
+ $4527 = HEAP32[$4526>>2]|0;
+ $4528 = (($4525) + 4)|0;
+ $4529 = $4528;
+ $4530 = HEAP32[$4529>>2]|0;
+ $4531 = (_Sum1_1422($4527,$4530)|0);
+ $4532 = tempRet0;
+ $4533 = (_i64Add(($4521|0),($4524|0),($4531|0),($4532|0))|0);
+ $4534 = tempRet0;
+ $4535 = $f;
+ $4536 = $4535;
+ $4537 = HEAP32[$4536>>2]|0;
+ $4538 = (($4535) + 4)|0;
+ $4539 = $4538;
+ $4540 = HEAP32[$4539>>2]|0;
+ $4541 = $g;
+ $4542 = $4541;
+ $4543 = HEAP32[$4542>>2]|0;
+ $4544 = (($4541) + 4)|0;
+ $4545 = $4544;
+ $4546 = HEAP32[$4545>>2]|0;
+ $4547 = $h;
+ $4548 = $4547;
+ $4549 = HEAP32[$4548>>2]|0;
+ $4550 = (($4547) + 4)|0;
+ $4551 = $4550;
+ $4552 = HEAP32[$4551>>2]|0;
+ $4553 = (_Ch($4537,$4540,$4543,$4546,$4549,$4552)|0);
+ $4554 = tempRet0;
+ $4555 = (_i64Add(($4533|0),($4534|0),($4553|0),($4554|0))|0);
+ $4556 = tempRet0;
+ $4557 = $t;
+ $4558 = (($4557) + 7)|0;
+ $4559 = (80 + ($4558<<3)|0);
+ $4560 = $4559;
+ $4561 = $4560;
+ $4562 = HEAP32[$4561>>2]|0;
+ $4563 = (($4560) + 4)|0;
+ $4564 = $4563;
+ $4565 = HEAP32[$4564>>2]|0;
+ $4566 = (_i64Add(($4555|0),($4556|0),($4562|0),($4565|0))|0);
+ $4567 = tempRet0;
+ $4568 = ((($w)) + 56|0);
+ $4569 = $4568;
+ $4570 = $4569;
+ $4571 = HEAP32[$4570>>2]|0;
+ $4572 = (($4569) + 4)|0;
+ $4573 = $4572;
+ $4574 = HEAP32[$4573>>2]|0;
+ $4575 = (_i64Add(($4566|0),($4567|0),($4571|0),($4574|0))|0);
+ $4576 = tempRet0;
+ $4577 = $t11;
+ $4578 = $4577;
+ HEAP32[$4578>>2] = $4575;
+ $4579 = (($4577) + 4)|0;
+ $4580 = $4579;
+ HEAP32[$4580>>2] = $4576;
+ $4581 = $b;
+ $4582 = $4581;
+ $4583 = HEAP32[$4582>>2]|0;
+ $4584 = (($4581) + 4)|0;
+ $4585 = $4584;
+ $4586 = HEAP32[$4585>>2]|0;
+ $4587 = (_Sum0_1423($4583,$4586)|0);
+ $4588 = tempRet0;
+ $4589 = $b;
+ $4590 = $4589;
+ $4591 = HEAP32[$4590>>2]|0;
+ $4592 = (($4589) + 4)|0;
+ $4593 = $4592;
+ $4594 = HEAP32[$4593>>2]|0;
+ $4595 = $c;
+ $4596 = $4595;
+ $4597 = HEAP32[$4596>>2]|0;
+ $4598 = (($4595) + 4)|0;
+ $4599 = $4598;
+ $4600 = HEAP32[$4599>>2]|0;
+ $4601 = $d;
+ $4602 = $4601;
+ $4603 = HEAP32[$4602>>2]|0;
+ $4604 = (($4601) + 4)|0;
+ $4605 = $4604;
+ $4606 = HEAP32[$4605>>2]|0;
+ $4607 = (_Maj_1424($4591,$4594,$4597,$4600,$4603,$4606)|0);
+ $4608 = tempRet0;
+ $4609 = (_i64Add(($4587|0),($4588|0),($4607|0),($4608|0))|0);
+ $4610 = tempRet0;
+ $4611 = $t22;
+ $4612 = $4611;
+ HEAP32[$4612>>2] = $4609;
+ $4613 = (($4611) + 4)|0;
+ $4614 = $4613;
+ HEAP32[$4614>>2] = $4610;
+ $4615 = $t11;
+ $4616 = $4615;
+ $4617 = HEAP32[$4616>>2]|0;
+ $4618 = (($4615) + 4)|0;
+ $4619 = $4618;
+ $4620 = HEAP32[$4619>>2]|0;
+ $4621 = $e;
+ $4622 = $4621;
+ $4623 = HEAP32[$4622>>2]|0;
+ $4624 = (($4621) + 4)|0;
+ $4625 = $4624;
+ $4626 = HEAP32[$4625>>2]|0;
+ $4627 = (_i64Add(($4623|0),($4626|0),($4617|0),($4620|0))|0);
+ $4628 = tempRet0;
+ $4629 = $e;
+ $4630 = $4629;
+ HEAP32[$4630>>2] = $4627;
+ $4631 = (($4629) + 4)|0;
+ $4632 = $4631;
+ HEAP32[$4632>>2] = $4628;
+ $4633 = $t11;
+ $4634 = $4633;
+ $4635 = HEAP32[$4634>>2]|0;
+ $4636 = (($4633) + 4)|0;
+ $4637 = $4636;
+ $4638 = HEAP32[$4637>>2]|0;
+ $4639 = $t22;
+ $4640 = $4639;
+ $4641 = HEAP32[$4640>>2]|0;
+ $4642 = (($4639) + 4)|0;
+ $4643 = $4642;
+ $4644 = HEAP32[$4643>>2]|0;
+ $4645 = (_i64Add(($4635|0),($4638|0),($4641|0),($4644|0))|0);
+ $4646 = tempRet0;
+ $4647 = $a;
+ $4648 = $4647;
+ HEAP32[$4648>>2] = $4645;
+ $4649 = (($4647) + 4)|0;
+ $4650 = $4649;
+ HEAP32[$4650>>2] = $4646;
+ $4651 = $h;
+ $4652 = $4651;
+ $4653 = HEAP32[$4652>>2]|0;
+ $4654 = (($4651) + 4)|0;
+ $4655 = $4654;
+ $4656 = HEAP32[$4655>>2]|0;
+ $4657 = $e;
+ $4658 = $4657;
+ $4659 = HEAP32[$4658>>2]|0;
+ $4660 = (($4657) + 4)|0;
+ $4661 = $4660;
+ $4662 = HEAP32[$4661>>2]|0;
+ $4663 = (_Sum1_1422($4659,$4662)|0);
+ $4664 = tempRet0;
+ $4665 = (_i64Add(($4653|0),($4656|0),($4663|0),($4664|0))|0);
+ $4666 = tempRet0;
+ $4667 = $e;
+ $4668 = $4667;
+ $4669 = HEAP32[$4668>>2]|0;
+ $4670 = (($4667) + 4)|0;
+ $4671 = $4670;
+ $4672 = HEAP32[$4671>>2]|0;
+ $4673 = $f;
+ $4674 = $4673;
+ $4675 = HEAP32[$4674>>2]|0;
+ $4676 = (($4673) + 4)|0;
+ $4677 = $4676;
+ $4678 = HEAP32[$4677>>2]|0;
+ $4679 = $g;
+ $4680 = $4679;
+ $4681 = HEAP32[$4680>>2]|0;
+ $4682 = (($4679) + 4)|0;
+ $4683 = $4682;
+ $4684 = HEAP32[$4683>>2]|0;
+ $4685 = (_Ch($4669,$4672,$4675,$4678,$4681,$4684)|0);
+ $4686 = tempRet0;
+ $4687 = (_i64Add(($4665|0),($4666|0),($4685|0),($4686|0))|0);
+ $4688 = tempRet0;
+ $4689 = $t;
+ $4690 = (($4689) + 8)|0;
+ $4691 = (80 + ($4690<<3)|0);
+ $4692 = $4691;
+ $4693 = $4692;
+ $4694 = HEAP32[$4693>>2]|0;
+ $4695 = (($4692) + 4)|0;
+ $4696 = $4695;
+ $4697 = HEAP32[$4696>>2]|0;
+ $4698 = (_i64Add(($4687|0),($4688|0),($4694|0),($4697|0))|0);
+ $4699 = tempRet0;
+ $4700 = ((($w)) + 64|0);
+ $4701 = $4700;
+ $4702 = $4701;
+ $4703 = HEAP32[$4702>>2]|0;
+ $4704 = (($4701) + 4)|0;
+ $4705 = $4704;
+ $4706 = HEAP32[$4705>>2]|0;
+ $4707 = (_i64Add(($4698|0),($4699|0),($4703|0),($4706|0))|0);
+ $4708 = tempRet0;
+ $4709 = $t11;
+ $4710 = $4709;
+ HEAP32[$4710>>2] = $4707;
+ $4711 = (($4709) + 4)|0;
+ $4712 = $4711;
+ HEAP32[$4712>>2] = $4708;
+ $4713 = $a;
+ $4714 = $4713;
+ $4715 = HEAP32[$4714>>2]|0;
+ $4716 = (($4713) + 4)|0;
+ $4717 = $4716;
+ $4718 = HEAP32[$4717>>2]|0;
+ $4719 = (_Sum0_1423($4715,$4718)|0);
+ $4720 = tempRet0;
+ $4721 = $a;
+ $4722 = $4721;
+ $4723 = HEAP32[$4722>>2]|0;
+ $4724 = (($4721) + 4)|0;
+ $4725 = $4724;
+ $4726 = HEAP32[$4725>>2]|0;
+ $4727 = $b;
+ $4728 = $4727;
+ $4729 = HEAP32[$4728>>2]|0;
+ $4730 = (($4727) + 4)|0;
+ $4731 = $4730;
+ $4732 = HEAP32[$4731>>2]|0;
+ $4733 = $c;
+ $4734 = $4733;
+ $4735 = HEAP32[$4734>>2]|0;
+ $4736 = (($4733) + 4)|0;
+ $4737 = $4736;
+ $4738 = HEAP32[$4737>>2]|0;
+ $4739 = (_Maj_1424($4723,$4726,$4729,$4732,$4735,$4738)|0);
+ $4740 = tempRet0;
+ $4741 = (_i64Add(($4719|0),($4720|0),($4739|0),($4740|0))|0);
+ $4742 = tempRet0;
+ $4743 = $t22;
+ $4744 = $4743;
+ HEAP32[$4744>>2] = $4741;
+ $4745 = (($4743) + 4)|0;
+ $4746 = $4745;
+ HEAP32[$4746>>2] = $4742;
+ $4747 = $t11;
+ $4748 = $4747;
+ $4749 = HEAP32[$4748>>2]|0;
+ $4750 = (($4747) + 4)|0;
+ $4751 = $4750;
+ $4752 = HEAP32[$4751>>2]|0;
+ $4753 = $d;
+ $4754 = $4753;
+ $4755 = HEAP32[$4754>>2]|0;
+ $4756 = (($4753) + 4)|0;
+ $4757 = $4756;
+ $4758 = HEAP32[$4757>>2]|0;
+ $4759 = (_i64Add(($4755|0),($4758|0),($4749|0),($4752|0))|0);
+ $4760 = tempRet0;
+ $4761 = $d;
+ $4762 = $4761;
+ HEAP32[$4762>>2] = $4759;
+ $4763 = (($4761) + 4)|0;
+ $4764 = $4763;
+ HEAP32[$4764>>2] = $4760;
+ $4765 = $t11;
+ $4766 = $4765;
+ $4767 = HEAP32[$4766>>2]|0;
+ $4768 = (($4765) + 4)|0;
+ $4769 = $4768;
+ $4770 = HEAP32[$4769>>2]|0;
+ $4771 = $t22;
+ $4772 = $4771;
+ $4773 = HEAP32[$4772>>2]|0;
+ $4774 = (($4771) + 4)|0;
+ $4775 = $4774;
+ $4776 = HEAP32[$4775>>2]|0;
+ $4777 = (_i64Add(($4767|0),($4770|0),($4773|0),($4776|0))|0);
+ $4778 = tempRet0;
+ $4779 = $h;
+ $4780 = $4779;
+ HEAP32[$4780>>2] = $4777;
+ $4781 = (($4779) + 4)|0;
+ $4782 = $4781;
+ HEAP32[$4782>>2] = $4778;
+ $4783 = $g;
+ $4784 = $4783;
+ $4785 = HEAP32[$4784>>2]|0;
+ $4786 = (($4783) + 4)|0;
+ $4787 = $4786;
+ $4788 = HEAP32[$4787>>2]|0;
+ $4789 = $d;
+ $4790 = $4789;
+ $4791 = HEAP32[$4790>>2]|0;
+ $4792 = (($4789) + 4)|0;
+ $4793 = $4792;
+ $4794 = HEAP32[$4793>>2]|0;
+ $4795 = (_Sum1_1422($4791,$4794)|0);
+ $4796 = tempRet0;
+ $4797 = (_i64Add(($4785|0),($4788|0),($4795|0),($4796|0))|0);
+ $4798 = tempRet0;
+ $4799 = $d;
+ $4800 = $4799;
+ $4801 = HEAP32[$4800>>2]|0;
+ $4802 = (($4799) + 4)|0;
+ $4803 = $4802;
+ $4804 = HEAP32[$4803>>2]|0;
+ $4805 = $e;
+ $4806 = $4805;
+ $4807 = HEAP32[$4806>>2]|0;
+ $4808 = (($4805) + 4)|0;
+ $4809 = $4808;
+ $4810 = HEAP32[$4809>>2]|0;
+ $4811 = $f;
+ $4812 = $4811;
+ $4813 = HEAP32[$4812>>2]|0;
+ $4814 = (($4811) + 4)|0;
+ $4815 = $4814;
+ $4816 = HEAP32[$4815>>2]|0;
+ $4817 = (_Ch($4801,$4804,$4807,$4810,$4813,$4816)|0);
+ $4818 = tempRet0;
+ $4819 = (_i64Add(($4797|0),($4798|0),($4817|0),($4818|0))|0);
+ $4820 = tempRet0;
+ $4821 = $t;
+ $4822 = (($4821) + 9)|0;
+ $4823 = (80 + ($4822<<3)|0);
+ $4824 = $4823;
+ $4825 = $4824;
+ $4826 = HEAP32[$4825>>2]|0;
+ $4827 = (($4824) + 4)|0;
+ $4828 = $4827;
+ $4829 = HEAP32[$4828>>2]|0;
+ $4830 = (_i64Add(($4819|0),($4820|0),($4826|0),($4829|0))|0);
+ $4831 = tempRet0;
+ $4832 = ((($w)) + 72|0);
+ $4833 = $4832;
+ $4834 = $4833;
+ $4835 = HEAP32[$4834>>2]|0;
+ $4836 = (($4833) + 4)|0;
+ $4837 = $4836;
+ $4838 = HEAP32[$4837>>2]|0;
+ $4839 = (_i64Add(($4830|0),($4831|0),($4835|0),($4838|0))|0);
+ $4840 = tempRet0;
+ $4841 = $t11;
+ $4842 = $4841;
+ HEAP32[$4842>>2] = $4839;
+ $4843 = (($4841) + 4)|0;
+ $4844 = $4843;
+ HEAP32[$4844>>2] = $4840;
+ $4845 = $h;
+ $4846 = $4845;
+ $4847 = HEAP32[$4846>>2]|0;
+ $4848 = (($4845) + 4)|0;
+ $4849 = $4848;
+ $4850 = HEAP32[$4849>>2]|0;
+ $4851 = (_Sum0_1423($4847,$4850)|0);
+ $4852 = tempRet0;
+ $4853 = $h;
+ $4854 = $4853;
+ $4855 = HEAP32[$4854>>2]|0;
+ $4856 = (($4853) + 4)|0;
+ $4857 = $4856;
+ $4858 = HEAP32[$4857>>2]|0;
+ $4859 = $a;
+ $4860 = $4859;
+ $4861 = HEAP32[$4860>>2]|0;
+ $4862 = (($4859) + 4)|0;
+ $4863 = $4862;
+ $4864 = HEAP32[$4863>>2]|0;
+ $4865 = $b;
+ $4866 = $4865;
+ $4867 = HEAP32[$4866>>2]|0;
+ $4868 = (($4865) + 4)|0;
+ $4869 = $4868;
+ $4870 = HEAP32[$4869>>2]|0;
+ $4871 = (_Maj_1424($4855,$4858,$4861,$4864,$4867,$4870)|0);
+ $4872 = tempRet0;
+ $4873 = (_i64Add(($4851|0),($4852|0),($4871|0),($4872|0))|0);
+ $4874 = tempRet0;
+ $4875 = $t22;
+ $4876 = $4875;
+ HEAP32[$4876>>2] = $4873;
+ $4877 = (($4875) + 4)|0;
+ $4878 = $4877;
+ HEAP32[$4878>>2] = $4874;
+ $4879 = $t11;
+ $4880 = $4879;
+ $4881 = HEAP32[$4880>>2]|0;
+ $4882 = (($4879) + 4)|0;
+ $4883 = $4882;
+ $4884 = HEAP32[$4883>>2]|0;
+ $4885 = $c;
+ $4886 = $4885;
+ $4887 = HEAP32[$4886>>2]|0;
+ $4888 = (($4885) + 4)|0;
+ $4889 = $4888;
+ $4890 = HEAP32[$4889>>2]|0;
+ $4891 = (_i64Add(($4887|0),($4890|0),($4881|0),($4884|0))|0);
+ $4892 = tempRet0;
+ $4893 = $c;
+ $4894 = $4893;
+ HEAP32[$4894>>2] = $4891;
+ $4895 = (($4893) + 4)|0;
+ $4896 = $4895;
+ HEAP32[$4896>>2] = $4892;
+ $4897 = $t11;
+ $4898 = $4897;
+ $4899 = HEAP32[$4898>>2]|0;
+ $4900 = (($4897) + 4)|0;
+ $4901 = $4900;
+ $4902 = HEAP32[$4901>>2]|0;
+ $4903 = $t22;
+ $4904 = $4903;
+ $4905 = HEAP32[$4904>>2]|0;
+ $4906 = (($4903) + 4)|0;
+ $4907 = $4906;
+ $4908 = HEAP32[$4907>>2]|0;
+ $4909 = (_i64Add(($4899|0),($4902|0),($4905|0),($4908|0))|0);
+ $4910 = tempRet0;
+ $4911 = $g;
+ $4912 = $4911;
+ HEAP32[$4912>>2] = $4909;
+ $4913 = (($4911) + 4)|0;
+ $4914 = $4913;
+ HEAP32[$4914>>2] = $4910;
+ $4915 = $f;
+ $4916 = $4915;
+ $4917 = HEAP32[$4916>>2]|0;
+ $4918 = (($4915) + 4)|0;
+ $4919 = $4918;
+ $4920 = HEAP32[$4919>>2]|0;
+ $4921 = $c;
+ $4922 = $4921;
+ $4923 = HEAP32[$4922>>2]|0;
+ $4924 = (($4921) + 4)|0;
+ $4925 = $4924;
+ $4926 = HEAP32[$4925>>2]|0;
+ $4927 = (_Sum1_1422($4923,$4926)|0);
+ $4928 = tempRet0;
+ $4929 = (_i64Add(($4917|0),($4920|0),($4927|0),($4928|0))|0);
+ $4930 = tempRet0;
+ $4931 = $c;
+ $4932 = $4931;
+ $4933 = HEAP32[$4932>>2]|0;
+ $4934 = (($4931) + 4)|0;
+ $4935 = $4934;
+ $4936 = HEAP32[$4935>>2]|0;
+ $4937 = $d;
+ $4938 = $4937;
+ $4939 = HEAP32[$4938>>2]|0;
+ $4940 = (($4937) + 4)|0;
+ $4941 = $4940;
+ $4942 = HEAP32[$4941>>2]|0;
+ $4943 = $e;
+ $4944 = $4943;
+ $4945 = HEAP32[$4944>>2]|0;
+ $4946 = (($4943) + 4)|0;
+ $4947 = $4946;
+ $4948 = HEAP32[$4947>>2]|0;
+ $4949 = (_Ch($4933,$4936,$4939,$4942,$4945,$4948)|0);
+ $4950 = tempRet0;
+ $4951 = (_i64Add(($4929|0),($4930|0),($4949|0),($4950|0))|0);
+ $4952 = tempRet0;
+ $4953 = $t;
+ $4954 = (($4953) + 10)|0;
+ $4955 = (80 + ($4954<<3)|0);
+ $4956 = $4955;
+ $4957 = $4956;
+ $4958 = HEAP32[$4957>>2]|0;
+ $4959 = (($4956) + 4)|0;
+ $4960 = $4959;
+ $4961 = HEAP32[$4960>>2]|0;
+ $4962 = (_i64Add(($4951|0),($4952|0),($4958|0),($4961|0))|0);
+ $4963 = tempRet0;
+ $4964 = ((($w)) + 80|0);
+ $4965 = $4964;
+ $4966 = $4965;
+ $4967 = HEAP32[$4966>>2]|0;
+ $4968 = (($4965) + 4)|0;
+ $4969 = $4968;
+ $4970 = HEAP32[$4969>>2]|0;
+ $4971 = (_i64Add(($4962|0),($4963|0),($4967|0),($4970|0))|0);
+ $4972 = tempRet0;
+ $4973 = $t11;
+ $4974 = $4973;
+ HEAP32[$4974>>2] = $4971;
+ $4975 = (($4973) + 4)|0;
+ $4976 = $4975;
+ HEAP32[$4976>>2] = $4972;
+ $4977 = $g;
+ $4978 = $4977;
+ $4979 = HEAP32[$4978>>2]|0;
+ $4980 = (($4977) + 4)|0;
+ $4981 = $4980;
+ $4982 = HEAP32[$4981>>2]|0;
+ $4983 = (_Sum0_1423($4979,$4982)|0);
+ $4984 = tempRet0;
+ $4985 = $g;
+ $4986 = $4985;
+ $4987 = HEAP32[$4986>>2]|0;
+ $4988 = (($4985) + 4)|0;
+ $4989 = $4988;
+ $4990 = HEAP32[$4989>>2]|0;
+ $4991 = $h;
+ $4992 = $4991;
+ $4993 = HEAP32[$4992>>2]|0;
+ $4994 = (($4991) + 4)|0;
+ $4995 = $4994;
+ $4996 = HEAP32[$4995>>2]|0;
+ $4997 = $a;
+ $4998 = $4997;
+ $4999 = HEAP32[$4998>>2]|0;
+ $5000 = (($4997) + 4)|0;
+ $5001 = $5000;
+ $5002 = HEAP32[$5001>>2]|0;
+ $5003 = (_Maj_1424($4987,$4990,$4993,$4996,$4999,$5002)|0);
+ $5004 = tempRet0;
+ $5005 = (_i64Add(($4983|0),($4984|0),($5003|0),($5004|0))|0);
+ $5006 = tempRet0;
+ $5007 = $t22;
+ $5008 = $5007;
+ HEAP32[$5008>>2] = $5005;
+ $5009 = (($5007) + 4)|0;
+ $5010 = $5009;
+ HEAP32[$5010>>2] = $5006;
+ $5011 = $t11;
+ $5012 = $5011;
+ $5013 = HEAP32[$5012>>2]|0;
+ $5014 = (($5011) + 4)|0;
+ $5015 = $5014;
+ $5016 = HEAP32[$5015>>2]|0;
+ $5017 = $b;
+ $5018 = $5017;
+ $5019 = HEAP32[$5018>>2]|0;
+ $5020 = (($5017) + 4)|0;
+ $5021 = $5020;
+ $5022 = HEAP32[$5021>>2]|0;
+ $5023 = (_i64Add(($5019|0),($5022|0),($5013|0),($5016|0))|0);
+ $5024 = tempRet0;
+ $5025 = $b;
+ $5026 = $5025;
+ HEAP32[$5026>>2] = $5023;
+ $5027 = (($5025) + 4)|0;
+ $5028 = $5027;
+ HEAP32[$5028>>2] = $5024;
+ $5029 = $t11;
+ $5030 = $5029;
+ $5031 = HEAP32[$5030>>2]|0;
+ $5032 = (($5029) + 4)|0;
+ $5033 = $5032;
+ $5034 = HEAP32[$5033>>2]|0;
+ $5035 = $t22;
+ $5036 = $5035;
+ $5037 = HEAP32[$5036>>2]|0;
+ $5038 = (($5035) + 4)|0;
+ $5039 = $5038;
+ $5040 = HEAP32[$5039>>2]|0;
+ $5041 = (_i64Add(($5031|0),($5034|0),($5037|0),($5040|0))|0);
+ $5042 = tempRet0;
+ $5043 = $f;
+ $5044 = $5043;
+ HEAP32[$5044>>2] = $5041;
+ $5045 = (($5043) + 4)|0;
+ $5046 = $5045;
+ HEAP32[$5046>>2] = $5042;
+ $5047 = $e;
+ $5048 = $5047;
+ $5049 = HEAP32[$5048>>2]|0;
+ $5050 = (($5047) + 4)|0;
+ $5051 = $5050;
+ $5052 = HEAP32[$5051>>2]|0;
+ $5053 = $b;
+ $5054 = $5053;
+ $5055 = HEAP32[$5054>>2]|0;
+ $5056 = (($5053) + 4)|0;
+ $5057 = $5056;
+ $5058 = HEAP32[$5057>>2]|0;
+ $5059 = (_Sum1_1422($5055,$5058)|0);
+ $5060 = tempRet0;
+ $5061 = (_i64Add(($5049|0),($5052|0),($5059|0),($5060|0))|0);
+ $5062 = tempRet0;
+ $5063 = $b;
+ $5064 = $5063;
+ $5065 = HEAP32[$5064>>2]|0;
+ $5066 = (($5063) + 4)|0;
+ $5067 = $5066;
+ $5068 = HEAP32[$5067>>2]|0;
+ $5069 = $c;
+ $5070 = $5069;
+ $5071 = HEAP32[$5070>>2]|0;
+ $5072 = (($5069) + 4)|0;
+ $5073 = $5072;
+ $5074 = HEAP32[$5073>>2]|0;
+ $5075 = $d;
+ $5076 = $5075;
+ $5077 = HEAP32[$5076>>2]|0;
+ $5078 = (($5075) + 4)|0;
+ $5079 = $5078;
+ $5080 = HEAP32[$5079>>2]|0;
+ $5081 = (_Ch($5065,$5068,$5071,$5074,$5077,$5080)|0);
+ $5082 = tempRet0;
+ $5083 = (_i64Add(($5061|0),($5062|0),($5081|0),($5082|0))|0);
+ $5084 = tempRet0;
+ $5085 = $t;
+ $5086 = (($5085) + 11)|0;
+ $5087 = (80 + ($5086<<3)|0);
+ $5088 = $5087;
+ $5089 = $5088;
+ $5090 = HEAP32[$5089>>2]|0;
+ $5091 = (($5088) + 4)|0;
+ $5092 = $5091;
+ $5093 = HEAP32[$5092>>2]|0;
+ $5094 = (_i64Add(($5083|0),($5084|0),($5090|0),($5093|0))|0);
+ $5095 = tempRet0;
+ $5096 = ((($w)) + 88|0);
+ $5097 = $5096;
+ $5098 = $5097;
+ $5099 = HEAP32[$5098>>2]|0;
+ $5100 = (($5097) + 4)|0;
+ $5101 = $5100;
+ $5102 = HEAP32[$5101>>2]|0;
+ $5103 = (_i64Add(($5094|0),($5095|0),($5099|0),($5102|0))|0);
+ $5104 = tempRet0;
+ $5105 = $t11;
+ $5106 = $5105;
+ HEAP32[$5106>>2] = $5103;
+ $5107 = (($5105) + 4)|0;
+ $5108 = $5107;
+ HEAP32[$5108>>2] = $5104;
+ $5109 = $f;
+ $5110 = $5109;
+ $5111 = HEAP32[$5110>>2]|0;
+ $5112 = (($5109) + 4)|0;
+ $5113 = $5112;
+ $5114 = HEAP32[$5113>>2]|0;
+ $5115 = (_Sum0_1423($5111,$5114)|0);
+ $5116 = tempRet0;
+ $5117 = $f;
+ $5118 = $5117;
+ $5119 = HEAP32[$5118>>2]|0;
+ $5120 = (($5117) + 4)|0;
+ $5121 = $5120;
+ $5122 = HEAP32[$5121>>2]|0;
+ $5123 = $g;
+ $5124 = $5123;
+ $5125 = HEAP32[$5124>>2]|0;
+ $5126 = (($5123) + 4)|0;
+ $5127 = $5126;
+ $5128 = HEAP32[$5127>>2]|0;
+ $5129 = $h;
+ $5130 = $5129;
+ $5131 = HEAP32[$5130>>2]|0;
+ $5132 = (($5129) + 4)|0;
+ $5133 = $5132;
+ $5134 = HEAP32[$5133>>2]|0;
+ $5135 = (_Maj_1424($5119,$5122,$5125,$5128,$5131,$5134)|0);
+ $5136 = tempRet0;
+ $5137 = (_i64Add(($5115|0),($5116|0),($5135|0),($5136|0))|0);
+ $5138 = tempRet0;
+ $5139 = $t22;
+ $5140 = $5139;
+ HEAP32[$5140>>2] = $5137;
+ $5141 = (($5139) + 4)|0;
+ $5142 = $5141;
+ HEAP32[$5142>>2] = $5138;
+ $5143 = $t11;
+ $5144 = $5143;
+ $5145 = HEAP32[$5144>>2]|0;
+ $5146 = (($5143) + 4)|0;
+ $5147 = $5146;
+ $5148 = HEAP32[$5147>>2]|0;
+ $5149 = $a;
+ $5150 = $5149;
+ $5151 = HEAP32[$5150>>2]|0;
+ $5152 = (($5149) + 4)|0;
+ $5153 = $5152;
+ $5154 = HEAP32[$5153>>2]|0;
+ $5155 = (_i64Add(($5151|0),($5154|0),($5145|0),($5148|0))|0);
+ $5156 = tempRet0;
+ $5157 = $a;
+ $5158 = $5157;
+ HEAP32[$5158>>2] = $5155;
+ $5159 = (($5157) + 4)|0;
+ $5160 = $5159;
+ HEAP32[$5160>>2] = $5156;
+ $5161 = $t11;
+ $5162 = $5161;
+ $5163 = HEAP32[$5162>>2]|0;
+ $5164 = (($5161) + 4)|0;
+ $5165 = $5164;
+ $5166 = HEAP32[$5165>>2]|0;
+ $5167 = $t22;
+ $5168 = $5167;
+ $5169 = HEAP32[$5168>>2]|0;
+ $5170 = (($5167) + 4)|0;
+ $5171 = $5170;
+ $5172 = HEAP32[$5171>>2]|0;
+ $5173 = (_i64Add(($5163|0),($5166|0),($5169|0),($5172|0))|0);
+ $5174 = tempRet0;
+ $5175 = $e;
+ $5176 = $5175;
+ HEAP32[$5176>>2] = $5173;
+ $5177 = (($5175) + 4)|0;
+ $5178 = $5177;
+ HEAP32[$5178>>2] = $5174;
+ $5179 = $d;
+ $5180 = $5179;
+ $5181 = HEAP32[$5180>>2]|0;
+ $5182 = (($5179) + 4)|0;
+ $5183 = $5182;
+ $5184 = HEAP32[$5183>>2]|0;
+ $5185 = $a;
+ $5186 = $5185;
+ $5187 = HEAP32[$5186>>2]|0;
+ $5188 = (($5185) + 4)|0;
+ $5189 = $5188;
+ $5190 = HEAP32[$5189>>2]|0;
+ $5191 = (_Sum1_1422($5187,$5190)|0);
+ $5192 = tempRet0;
+ $5193 = (_i64Add(($5181|0),($5184|0),($5191|0),($5192|0))|0);
+ $5194 = tempRet0;
+ $5195 = $a;
+ $5196 = $5195;
+ $5197 = HEAP32[$5196>>2]|0;
+ $5198 = (($5195) + 4)|0;
+ $5199 = $5198;
+ $5200 = HEAP32[$5199>>2]|0;
+ $5201 = $b;
+ $5202 = $5201;
+ $5203 = HEAP32[$5202>>2]|0;
+ $5204 = (($5201) + 4)|0;
+ $5205 = $5204;
+ $5206 = HEAP32[$5205>>2]|0;
+ $5207 = $c;
+ $5208 = $5207;
+ $5209 = HEAP32[$5208>>2]|0;
+ $5210 = (($5207) + 4)|0;
+ $5211 = $5210;
+ $5212 = HEAP32[$5211>>2]|0;
+ $5213 = (_Ch($5197,$5200,$5203,$5206,$5209,$5212)|0);
+ $5214 = tempRet0;
+ $5215 = (_i64Add(($5193|0),($5194|0),($5213|0),($5214|0))|0);
+ $5216 = tempRet0;
+ $5217 = $t;
+ $5218 = (($5217) + 12)|0;
+ $5219 = (80 + ($5218<<3)|0);
+ $5220 = $5219;
+ $5221 = $5220;
+ $5222 = HEAP32[$5221>>2]|0;
+ $5223 = (($5220) + 4)|0;
+ $5224 = $5223;
+ $5225 = HEAP32[$5224>>2]|0;
+ $5226 = (_i64Add(($5215|0),($5216|0),($5222|0),($5225|0))|0);
+ $5227 = tempRet0;
+ $5228 = ((($w)) + 96|0);
+ $5229 = $5228;
+ $5230 = $5229;
+ $5231 = HEAP32[$5230>>2]|0;
+ $5232 = (($5229) + 4)|0;
+ $5233 = $5232;
+ $5234 = HEAP32[$5233>>2]|0;
+ $5235 = (_i64Add(($5226|0),($5227|0),($5231|0),($5234|0))|0);
+ $5236 = tempRet0;
+ $5237 = $t11;
+ $5238 = $5237;
+ HEAP32[$5238>>2] = $5235;
+ $5239 = (($5237) + 4)|0;
+ $5240 = $5239;
+ HEAP32[$5240>>2] = $5236;
+ $5241 = $e;
+ $5242 = $5241;
+ $5243 = HEAP32[$5242>>2]|0;
+ $5244 = (($5241) + 4)|0;
+ $5245 = $5244;
+ $5246 = HEAP32[$5245>>2]|0;
+ $5247 = (_Sum0_1423($5243,$5246)|0);
+ $5248 = tempRet0;
+ $5249 = $e;
+ $5250 = $5249;
+ $5251 = HEAP32[$5250>>2]|0;
+ $5252 = (($5249) + 4)|0;
+ $5253 = $5252;
+ $5254 = HEAP32[$5253>>2]|0;
+ $5255 = $f;
+ $5256 = $5255;
+ $5257 = HEAP32[$5256>>2]|0;
+ $5258 = (($5255) + 4)|0;
+ $5259 = $5258;
+ $5260 = HEAP32[$5259>>2]|0;
+ $5261 = $g;
+ $5262 = $5261;
+ $5263 = HEAP32[$5262>>2]|0;
+ $5264 = (($5261) + 4)|0;
+ $5265 = $5264;
+ $5266 = HEAP32[$5265>>2]|0;
+ $5267 = (_Maj_1424($5251,$5254,$5257,$5260,$5263,$5266)|0);
+ $5268 = tempRet0;
+ $5269 = (_i64Add(($5247|0),($5248|0),($5267|0),($5268|0))|0);
+ $5270 = tempRet0;
+ $5271 = $t22;
+ $5272 = $5271;
+ HEAP32[$5272>>2] = $5269;
+ $5273 = (($5271) + 4)|0;
+ $5274 = $5273;
+ HEAP32[$5274>>2] = $5270;
+ $5275 = $t11;
+ $5276 = $5275;
+ $5277 = HEAP32[$5276>>2]|0;
+ $5278 = (($5275) + 4)|0;
+ $5279 = $5278;
+ $5280 = HEAP32[$5279>>2]|0;
+ $5281 = $h;
+ $5282 = $5281;
+ $5283 = HEAP32[$5282>>2]|0;
+ $5284 = (($5281) + 4)|0;
+ $5285 = $5284;
+ $5286 = HEAP32[$5285>>2]|0;
+ $5287 = (_i64Add(($5283|0),($5286|0),($5277|0),($5280|0))|0);
+ $5288 = tempRet0;
+ $5289 = $h;
+ $5290 = $5289;
+ HEAP32[$5290>>2] = $5287;
+ $5291 = (($5289) + 4)|0;
+ $5292 = $5291;
+ HEAP32[$5292>>2] = $5288;
+ $5293 = $t11;
+ $5294 = $5293;
+ $5295 = HEAP32[$5294>>2]|0;
+ $5296 = (($5293) + 4)|0;
+ $5297 = $5296;
+ $5298 = HEAP32[$5297>>2]|0;
+ $5299 = $t22;
+ $5300 = $5299;
+ $5301 = HEAP32[$5300>>2]|0;
+ $5302 = (($5299) + 4)|0;
+ $5303 = $5302;
+ $5304 = HEAP32[$5303>>2]|0;
+ $5305 = (_i64Add(($5295|0),($5298|0),($5301|0),($5304|0))|0);
+ $5306 = tempRet0;
+ $5307 = $d;
+ $5308 = $5307;
+ HEAP32[$5308>>2] = $5305;
+ $5309 = (($5307) + 4)|0;
+ $5310 = $5309;
+ HEAP32[$5310>>2] = $5306;
+ $5311 = $c;
+ $5312 = $5311;
+ $5313 = HEAP32[$5312>>2]|0;
+ $5314 = (($5311) + 4)|0;
+ $5315 = $5314;
+ $5316 = HEAP32[$5315>>2]|0;
+ $5317 = $h;
+ $5318 = $5317;
+ $5319 = HEAP32[$5318>>2]|0;
+ $5320 = (($5317) + 4)|0;
+ $5321 = $5320;
+ $5322 = HEAP32[$5321>>2]|0;
+ $5323 = (_Sum1_1422($5319,$5322)|0);
+ $5324 = tempRet0;
+ $5325 = (_i64Add(($5313|0),($5316|0),($5323|0),($5324|0))|0);
+ $5326 = tempRet0;
+ $5327 = $h;
+ $5328 = $5327;
+ $5329 = HEAP32[$5328>>2]|0;
+ $5330 = (($5327) + 4)|0;
+ $5331 = $5330;
+ $5332 = HEAP32[$5331>>2]|0;
+ $5333 = $a;
+ $5334 = $5333;
+ $5335 = HEAP32[$5334>>2]|0;
+ $5336 = (($5333) + 4)|0;
+ $5337 = $5336;
+ $5338 = HEAP32[$5337>>2]|0;
+ $5339 = $b;
+ $5340 = $5339;
+ $5341 = HEAP32[$5340>>2]|0;
+ $5342 = (($5339) + 4)|0;
+ $5343 = $5342;
+ $5344 = HEAP32[$5343>>2]|0;
+ $5345 = (_Ch($5329,$5332,$5335,$5338,$5341,$5344)|0);
+ $5346 = tempRet0;
+ $5347 = (_i64Add(($5325|0),($5326|0),($5345|0),($5346|0))|0);
+ $5348 = tempRet0;
+ $5349 = $t;
+ $5350 = (($5349) + 13)|0;
+ $5351 = (80 + ($5350<<3)|0);
+ $5352 = $5351;
+ $5353 = $5352;
+ $5354 = HEAP32[$5353>>2]|0;
+ $5355 = (($5352) + 4)|0;
+ $5356 = $5355;
+ $5357 = HEAP32[$5356>>2]|0;
+ $5358 = (_i64Add(($5347|0),($5348|0),($5354|0),($5357|0))|0);
+ $5359 = tempRet0;
+ $5360 = ((($w)) + 104|0);
+ $5361 = $5360;
+ $5362 = $5361;
+ $5363 = HEAP32[$5362>>2]|0;
+ $5364 = (($5361) + 4)|0;
+ $5365 = $5364;
+ $5366 = HEAP32[$5365>>2]|0;
+ $5367 = (_i64Add(($5358|0),($5359|0),($5363|0),($5366|0))|0);
+ $5368 = tempRet0;
+ $5369 = $t11;
+ $5370 = $5369;
+ HEAP32[$5370>>2] = $5367;
+ $5371 = (($5369) + 4)|0;
+ $5372 = $5371;
+ HEAP32[$5372>>2] = $5368;
+ $5373 = $d;
+ $5374 = $5373;
+ $5375 = HEAP32[$5374>>2]|0;
+ $5376 = (($5373) + 4)|0;
+ $5377 = $5376;
+ $5378 = HEAP32[$5377>>2]|0;
+ $5379 = (_Sum0_1423($5375,$5378)|0);
+ $5380 = tempRet0;
+ $5381 = $d;
+ $5382 = $5381;
+ $5383 = HEAP32[$5382>>2]|0;
+ $5384 = (($5381) + 4)|0;
+ $5385 = $5384;
+ $5386 = HEAP32[$5385>>2]|0;
+ $5387 = $e;
+ $5388 = $5387;
+ $5389 = HEAP32[$5388>>2]|0;
+ $5390 = (($5387) + 4)|0;
+ $5391 = $5390;
+ $5392 = HEAP32[$5391>>2]|0;
+ $5393 = $f;
+ $5394 = $5393;
+ $5395 = HEAP32[$5394>>2]|0;
+ $5396 = (($5393) + 4)|0;
+ $5397 = $5396;
+ $5398 = HEAP32[$5397>>2]|0;
+ $5399 = (_Maj_1424($5383,$5386,$5389,$5392,$5395,$5398)|0);
+ $5400 = tempRet0;
+ $5401 = (_i64Add(($5379|0),($5380|0),($5399|0),($5400|0))|0);
+ $5402 = tempRet0;
+ $5403 = $t22;
+ $5404 = $5403;
+ HEAP32[$5404>>2] = $5401;
+ $5405 = (($5403) + 4)|0;
+ $5406 = $5405;
+ HEAP32[$5406>>2] = $5402;
+ $5407 = $t11;
+ $5408 = $5407;
+ $5409 = HEAP32[$5408>>2]|0;
+ $5410 = (($5407) + 4)|0;
+ $5411 = $5410;
+ $5412 = HEAP32[$5411>>2]|0;
+ $5413 = $g;
+ $5414 = $5413;
+ $5415 = HEAP32[$5414>>2]|0;
+ $5416 = (($5413) + 4)|0;
+ $5417 = $5416;
+ $5418 = HEAP32[$5417>>2]|0;
+ $5419 = (_i64Add(($5415|0),($5418|0),($5409|0),($5412|0))|0);
+ $5420 = tempRet0;
+ $5421 = $g;
+ $5422 = $5421;
+ HEAP32[$5422>>2] = $5419;
+ $5423 = (($5421) + 4)|0;
+ $5424 = $5423;
+ HEAP32[$5424>>2] = $5420;
+ $5425 = $t11;
+ $5426 = $5425;
+ $5427 = HEAP32[$5426>>2]|0;
+ $5428 = (($5425) + 4)|0;
+ $5429 = $5428;
+ $5430 = HEAP32[$5429>>2]|0;
+ $5431 = $t22;
+ $5432 = $5431;
+ $5433 = HEAP32[$5432>>2]|0;
+ $5434 = (($5431) + 4)|0;
+ $5435 = $5434;
+ $5436 = HEAP32[$5435>>2]|0;
+ $5437 = (_i64Add(($5427|0),($5430|0),($5433|0),($5436|0))|0);
+ $5438 = tempRet0;
+ $5439 = $c;
+ $5440 = $5439;
+ HEAP32[$5440>>2] = $5437;
+ $5441 = (($5439) + 4)|0;
+ $5442 = $5441;
+ HEAP32[$5442>>2] = $5438;
+ $5443 = $b;
+ $5444 = $5443;
+ $5445 = HEAP32[$5444>>2]|0;
+ $5446 = (($5443) + 4)|0;
+ $5447 = $5446;
+ $5448 = HEAP32[$5447>>2]|0;
+ $5449 = $g;
+ $5450 = $5449;
+ $5451 = HEAP32[$5450>>2]|0;
+ $5452 = (($5449) + 4)|0;
+ $5453 = $5452;
+ $5454 = HEAP32[$5453>>2]|0;
+ $5455 = (_Sum1_1422($5451,$5454)|0);
+ $5456 = tempRet0;
+ $5457 = (_i64Add(($5445|0),($5448|0),($5455|0),($5456|0))|0);
+ $5458 = tempRet0;
+ $5459 = $g;
+ $5460 = $5459;
+ $5461 = HEAP32[$5460>>2]|0;
+ $5462 = (($5459) + 4)|0;
+ $5463 = $5462;
+ $5464 = HEAP32[$5463>>2]|0;
+ $5465 = $h;
+ $5466 = $5465;
+ $5467 = HEAP32[$5466>>2]|0;
+ $5468 = (($5465) + 4)|0;
+ $5469 = $5468;
+ $5470 = HEAP32[$5469>>2]|0;
+ $5471 = $a;
+ $5472 = $5471;
+ $5473 = HEAP32[$5472>>2]|0;
+ $5474 = (($5471) + 4)|0;
+ $5475 = $5474;
+ $5476 = HEAP32[$5475>>2]|0;
+ $5477 = (_Ch($5461,$5464,$5467,$5470,$5473,$5476)|0);
+ $5478 = tempRet0;
+ $5479 = (_i64Add(($5457|0),($5458|0),($5477|0),($5478|0))|0);
+ $5480 = tempRet0;
+ $5481 = $t;
+ $5482 = (($5481) + 14)|0;
+ $5483 = (80 + ($5482<<3)|0);
+ $5484 = $5483;
+ $5485 = $5484;
+ $5486 = HEAP32[$5485>>2]|0;
+ $5487 = (($5484) + 4)|0;
+ $5488 = $5487;
+ $5489 = HEAP32[$5488>>2]|0;
+ $5490 = (_i64Add(($5479|0),($5480|0),($5486|0),($5489|0))|0);
+ $5491 = tempRet0;
+ $5492 = ((($w)) + 112|0);
+ $5493 = $5492;
+ $5494 = $5493;
+ $5495 = HEAP32[$5494>>2]|0;
+ $5496 = (($5493) + 4)|0;
+ $5497 = $5496;
+ $5498 = HEAP32[$5497>>2]|0;
+ $5499 = (_i64Add(($5490|0),($5491|0),($5495|0),($5498|0))|0);
+ $5500 = tempRet0;
+ $5501 = $t11;
+ $5502 = $5501;
+ HEAP32[$5502>>2] = $5499;
+ $5503 = (($5501) + 4)|0;
+ $5504 = $5503;
+ HEAP32[$5504>>2] = $5500;
+ $5505 = $c;
+ $5506 = $5505;
+ $5507 = HEAP32[$5506>>2]|0;
+ $5508 = (($5505) + 4)|0;
+ $5509 = $5508;
+ $5510 = HEAP32[$5509>>2]|0;
+ $5511 = (_Sum0_1423($5507,$5510)|0);
+ $5512 = tempRet0;
+ $5513 = $c;
+ $5514 = $5513;
+ $5515 = HEAP32[$5514>>2]|0;
+ $5516 = (($5513) + 4)|0;
+ $5517 = $5516;
+ $5518 = HEAP32[$5517>>2]|0;
+ $5519 = $d;
+ $5520 = $5519;
+ $5521 = HEAP32[$5520>>2]|0;
+ $5522 = (($5519) + 4)|0;
+ $5523 = $5522;
+ $5524 = HEAP32[$5523>>2]|0;
+ $5525 = $e;
+ $5526 = $5525;
+ $5527 = HEAP32[$5526>>2]|0;
+ $5528 = (($5525) + 4)|0;
+ $5529 = $5528;
+ $5530 = HEAP32[$5529>>2]|0;
+ $5531 = (_Maj_1424($5515,$5518,$5521,$5524,$5527,$5530)|0);
+ $5532 = tempRet0;
+ $5533 = (_i64Add(($5511|0),($5512|0),($5531|0),($5532|0))|0);
+ $5534 = tempRet0;
+ $5535 = $t22;
+ $5536 = $5535;
+ HEAP32[$5536>>2] = $5533;
+ $5537 = (($5535) + 4)|0;
+ $5538 = $5537;
+ HEAP32[$5538>>2] = $5534;
+ $5539 = $t11;
+ $5540 = $5539;
+ $5541 = HEAP32[$5540>>2]|0;
+ $5542 = (($5539) + 4)|0;
+ $5543 = $5542;
+ $5544 = HEAP32[$5543>>2]|0;
+ $5545 = $f;
+ $5546 = $5545;
+ $5547 = HEAP32[$5546>>2]|0;
+ $5548 = (($5545) + 4)|0;
+ $5549 = $5548;
+ $5550 = HEAP32[$5549>>2]|0;
+ $5551 = (_i64Add(($5547|0),($5550|0),($5541|0),($5544|0))|0);
+ $5552 = tempRet0;
+ $5553 = $f;
+ $5554 = $5553;
+ HEAP32[$5554>>2] = $5551;
+ $5555 = (($5553) + 4)|0;
+ $5556 = $5555;
+ HEAP32[$5556>>2] = $5552;
+ $5557 = $t11;
+ $5558 = $5557;
+ $5559 = HEAP32[$5558>>2]|0;
+ $5560 = (($5557) + 4)|0;
+ $5561 = $5560;
+ $5562 = HEAP32[$5561>>2]|0;
+ $5563 = $t22;
+ $5564 = $5563;
+ $5565 = HEAP32[$5564>>2]|0;
+ $5566 = (($5563) + 4)|0;
+ $5567 = $5566;
+ $5568 = HEAP32[$5567>>2]|0;
+ $5569 = (_i64Add(($5559|0),($5562|0),($5565|0),($5568|0))|0);
+ $5570 = tempRet0;
+ $5571 = $b;
+ $5572 = $5571;
+ HEAP32[$5572>>2] = $5569;
+ $5573 = (($5571) + 4)|0;
+ $5574 = $5573;
+ HEAP32[$5574>>2] = $5570;
+ $5575 = $a;
+ $5576 = $5575;
+ $5577 = HEAP32[$5576>>2]|0;
+ $5578 = (($5575) + 4)|0;
+ $5579 = $5578;
+ $5580 = HEAP32[$5579>>2]|0;
+ $5581 = $f;
+ $5582 = $5581;
+ $5583 = HEAP32[$5582>>2]|0;
+ $5584 = (($5581) + 4)|0;
+ $5585 = $5584;
+ $5586 = HEAP32[$5585>>2]|0;
+ $5587 = (_Sum1_1422($5583,$5586)|0);
+ $5588 = tempRet0;
+ $5589 = (_i64Add(($5577|0),($5580|0),($5587|0),($5588|0))|0);
+ $5590 = tempRet0;
+ $5591 = $f;
+ $5592 = $5591;
+ $5593 = HEAP32[$5592>>2]|0;
+ $5594 = (($5591) + 4)|0;
+ $5595 = $5594;
+ $5596 = HEAP32[$5595>>2]|0;
+ $5597 = $g;
+ $5598 = $5597;
+ $5599 = HEAP32[$5598>>2]|0;
+ $5600 = (($5597) + 4)|0;
+ $5601 = $5600;
+ $5602 = HEAP32[$5601>>2]|0;
+ $5603 = $h;
+ $5604 = $5603;
+ $5605 = HEAP32[$5604>>2]|0;
+ $5606 = (($5603) + 4)|0;
+ $5607 = $5606;
+ $5608 = HEAP32[$5607>>2]|0;
+ $5609 = (_Ch($5593,$5596,$5599,$5602,$5605,$5608)|0);
+ $5610 = tempRet0;
+ $5611 = (_i64Add(($5589|0),($5590|0),($5609|0),($5610|0))|0);
+ $5612 = tempRet0;
+ $5613 = $t;
+ $5614 = (($5613) + 15)|0;
+ $5615 = (80 + ($5614<<3)|0);
+ $5616 = $5615;
+ $5617 = $5616;
+ $5618 = HEAP32[$5617>>2]|0;
+ $5619 = (($5616) + 4)|0;
+ $5620 = $5619;
+ $5621 = HEAP32[$5620>>2]|0;
+ $5622 = (_i64Add(($5611|0),($5612|0),($5618|0),($5621|0))|0);
+ $5623 = tempRet0;
+ $5624 = ((($w)) + 120|0);
+ $5625 = $5624;
+ $5626 = $5625;
+ $5627 = HEAP32[$5626>>2]|0;
+ $5628 = (($5625) + 4)|0;
+ $5629 = $5628;
+ $5630 = HEAP32[$5629>>2]|0;
+ $5631 = (_i64Add(($5622|0),($5623|0),($5627|0),($5630|0))|0);
+ $5632 = tempRet0;
+ $5633 = $t11;
+ $5634 = $5633;
+ HEAP32[$5634>>2] = $5631;
+ $5635 = (($5633) + 4)|0;
+ $5636 = $5635;
+ HEAP32[$5636>>2] = $5632;
+ $5637 = $b;
+ $5638 = $5637;
+ $5639 = HEAP32[$5638>>2]|0;
+ $5640 = (($5637) + 4)|0;
+ $5641 = $5640;
+ $5642 = HEAP32[$5641>>2]|0;
+ $5643 = (_Sum0_1423($5639,$5642)|0);
+ $5644 = tempRet0;
+ $5645 = $b;
+ $5646 = $5645;
+ $5647 = HEAP32[$5646>>2]|0;
+ $5648 = (($5645) + 4)|0;
+ $5649 = $5648;
+ $5650 = HEAP32[$5649>>2]|0;
+ $5651 = $c;
+ $5652 = $5651;
+ $5653 = HEAP32[$5652>>2]|0;
+ $5654 = (($5651) + 4)|0;
+ $5655 = $5654;
+ $5656 = HEAP32[$5655>>2]|0;
+ $5657 = $d;
+ $5658 = $5657;
+ $5659 = HEAP32[$5658>>2]|0;
+ $5660 = (($5657) + 4)|0;
+ $5661 = $5660;
+ $5662 = HEAP32[$5661>>2]|0;
+ $5663 = (_Maj_1424($5647,$5650,$5653,$5656,$5659,$5662)|0);
+ $5664 = tempRet0;
+ $5665 = (_i64Add(($5643|0),($5644|0),($5663|0),($5664|0))|0);
+ $5666 = tempRet0;
+ $5667 = $t22;
+ $5668 = $5667;
+ HEAP32[$5668>>2] = $5665;
+ $5669 = (($5667) + 4)|0;
+ $5670 = $5669;
+ HEAP32[$5670>>2] = $5666;
+ $5671 = $t11;
+ $5672 = $5671;
+ $5673 = HEAP32[$5672>>2]|0;
+ $5674 = (($5671) + 4)|0;
+ $5675 = $5674;
+ $5676 = HEAP32[$5675>>2]|0;
+ $5677 = $e;
+ $5678 = $5677;
+ $5679 = HEAP32[$5678>>2]|0;
+ $5680 = (($5677) + 4)|0;
+ $5681 = $5680;
+ $5682 = HEAP32[$5681>>2]|0;
+ $5683 = (_i64Add(($5679|0),($5682|0),($5673|0),($5676|0))|0);
+ $5684 = tempRet0;
+ $5685 = $e;
+ $5686 = $5685;
+ HEAP32[$5686>>2] = $5683;
+ $5687 = (($5685) + 4)|0;
+ $5688 = $5687;
+ HEAP32[$5688>>2] = $5684;
+ $5689 = $t11;
+ $5690 = $5689;
+ $5691 = HEAP32[$5690>>2]|0;
+ $5692 = (($5689) + 4)|0;
+ $5693 = $5692;
+ $5694 = HEAP32[$5693>>2]|0;
+ $5695 = $t22;
+ $5696 = $5695;
+ $5697 = HEAP32[$5696>>2]|0;
+ $5698 = (($5695) + 4)|0;
+ $5699 = $5698;
+ $5700 = HEAP32[$5699>>2]|0;
+ $5701 = (_i64Add(($5691|0),($5694|0),($5697|0),($5700|0))|0);
+ $5702 = tempRet0;
+ $5703 = $a;
+ $5704 = $5703;
+ HEAP32[$5704>>2] = $5701;
+ $5705 = (($5703) + 4)|0;
+ $5706 = $5705;
+ HEAP32[$5706>>2] = $5702;
+ $5707 = $t;
+ $5708 = (($5707) + 16)|0;
+ $t = $5708;
+ }
+ $5709 = $a;
+ $5710 = $5709;
+ $5711 = HEAP32[$5710>>2]|0;
+ $5712 = (($5709) + 4)|0;
+ $5713 = $5712;
+ $5714 = HEAP32[$5713>>2]|0;
+ $5715 = $0;
+ $5716 = $5715;
+ $5717 = $5716;
+ $5718 = HEAP32[$5717>>2]|0;
+ $5719 = (($5716) + 4)|0;
+ $5720 = $5719;
+ $5721 = HEAP32[$5720>>2]|0;
+ $5722 = (_i64Add(($5718|0),($5721|0),($5711|0),($5714|0))|0);
+ $5723 = tempRet0;
+ $5724 = $5715;
+ $5725 = $5724;
+ HEAP32[$5725>>2] = $5722;
+ $5726 = (($5724) + 4)|0;
+ $5727 = $5726;
+ HEAP32[$5727>>2] = $5723;
+ $5728 = $b;
+ $5729 = $5728;
+ $5730 = HEAP32[$5729>>2]|0;
+ $5731 = (($5728) + 4)|0;
+ $5732 = $5731;
+ $5733 = HEAP32[$5732>>2]|0;
+ $5734 = $0;
+ $5735 = ((($5734)) + 8|0);
+ $5736 = $5735;
+ $5737 = $5736;
+ $5738 = HEAP32[$5737>>2]|0;
+ $5739 = (($5736) + 4)|0;
+ $5740 = $5739;
+ $5741 = HEAP32[$5740>>2]|0;
+ $5742 = (_i64Add(($5738|0),($5741|0),($5730|0),($5733|0))|0);
+ $5743 = tempRet0;
+ $5744 = $5735;
+ $5745 = $5744;
+ HEAP32[$5745>>2] = $5742;
+ $5746 = (($5744) + 4)|0;
+ $5747 = $5746;
+ HEAP32[$5747>>2] = $5743;
+ $5748 = $c;
+ $5749 = $5748;
+ $5750 = HEAP32[$5749>>2]|0;
+ $5751 = (($5748) + 4)|0;
+ $5752 = $5751;
+ $5753 = HEAP32[$5752>>2]|0;
+ $5754 = $0;
+ $5755 = ((($5754)) + 16|0);
+ $5756 = $5755;
+ $5757 = $5756;
+ $5758 = HEAP32[$5757>>2]|0;
+ $5759 = (($5756) + 4)|0;
+ $5760 = $5759;
+ $5761 = HEAP32[$5760>>2]|0;
+ $5762 = (_i64Add(($5758|0),($5761|0),($5750|0),($5753|0))|0);
+ $5763 = tempRet0;
+ $5764 = $5755;
+ $5765 = $5764;
+ HEAP32[$5765>>2] = $5762;
+ $5766 = (($5764) + 4)|0;
+ $5767 = $5766;
+ HEAP32[$5767>>2] = $5763;
+ $5768 = $d;
+ $5769 = $5768;
+ $5770 = HEAP32[$5769>>2]|0;
+ $5771 = (($5768) + 4)|0;
+ $5772 = $5771;
+ $5773 = HEAP32[$5772>>2]|0;
+ $5774 = $0;
+ $5775 = ((($5774)) + 24|0);
+ $5776 = $5775;
+ $5777 = $5776;
+ $5778 = HEAP32[$5777>>2]|0;
+ $5779 = (($5776) + 4)|0;
+ $5780 = $5779;
+ $5781 = HEAP32[$5780>>2]|0;
+ $5782 = (_i64Add(($5778|0),($5781|0),($5770|0),($5773|0))|0);
+ $5783 = tempRet0;
+ $5784 = $5775;
+ $5785 = $5784;
+ HEAP32[$5785>>2] = $5782;
+ $5786 = (($5784) + 4)|0;
+ $5787 = $5786;
+ HEAP32[$5787>>2] = $5783;
+ $5788 = $e;
+ $5789 = $5788;
+ $5790 = HEAP32[$5789>>2]|0;
+ $5791 = (($5788) + 4)|0;
+ $5792 = $5791;
+ $5793 = HEAP32[$5792>>2]|0;
+ $5794 = $0;
+ $5795 = ((($5794)) + 32|0);
+ $5796 = $5795;
+ $5797 = $5796;
+ $5798 = HEAP32[$5797>>2]|0;
+ $5799 = (($5796) + 4)|0;
+ $5800 = $5799;
+ $5801 = HEAP32[$5800>>2]|0;
+ $5802 = (_i64Add(($5798|0),($5801|0),($5790|0),($5793|0))|0);
+ $5803 = tempRet0;
+ $5804 = $5795;
+ $5805 = $5804;
+ HEAP32[$5805>>2] = $5802;
+ $5806 = (($5804) + 4)|0;
+ $5807 = $5806;
+ HEAP32[$5807>>2] = $5803;
+ $5808 = $f;
+ $5809 = $5808;
+ $5810 = HEAP32[$5809>>2]|0;
+ $5811 = (($5808) + 4)|0;
+ $5812 = $5811;
+ $5813 = HEAP32[$5812>>2]|0;
+ $5814 = $0;
+ $5815 = ((($5814)) + 40|0);
+ $5816 = $5815;
+ $5817 = $5816;
+ $5818 = HEAP32[$5817>>2]|0;
+ $5819 = (($5816) + 4)|0;
+ $5820 = $5819;
+ $5821 = HEAP32[$5820>>2]|0;
+ $5822 = (_i64Add(($5818|0),($5821|0),($5810|0),($5813|0))|0);
+ $5823 = tempRet0;
+ $5824 = $5815;
+ $5825 = $5824;
+ HEAP32[$5825>>2] = $5822;
+ $5826 = (($5824) + 4)|0;
+ $5827 = $5826;
+ HEAP32[$5827>>2] = $5823;
+ $5828 = $g;
+ $5829 = $5828;
+ $5830 = HEAP32[$5829>>2]|0;
+ $5831 = (($5828) + 4)|0;
+ $5832 = $5831;
+ $5833 = HEAP32[$5832>>2]|0;
+ $5834 = $0;
+ $5835 = ((($5834)) + 48|0);
+ $5836 = $5835;
+ $5837 = $5836;
+ $5838 = HEAP32[$5837>>2]|0;
+ $5839 = (($5836) + 4)|0;
+ $5840 = $5839;
+ $5841 = HEAP32[$5840>>2]|0;
+ $5842 = (_i64Add(($5838|0),($5841|0),($5830|0),($5833|0))|0);
+ $5843 = tempRet0;
+ $5844 = $5835;
+ $5845 = $5844;
+ HEAP32[$5845>>2] = $5842;
+ $5846 = (($5844) + 4)|0;
+ $5847 = $5846;
+ HEAP32[$5847>>2] = $5843;
+ $5848 = $h;
+ $5849 = $5848;
+ $5850 = HEAP32[$5849>>2]|0;
+ $5851 = (($5848) + 4)|0;
+ $5852 = $5851;
+ $5853 = HEAP32[$5852>>2]|0;
+ $5854 = $0;
+ $5855 = ((($5854)) + 56|0);
+ $5856 = $5855;
+ $5857 = $5856;
+ $5858 = HEAP32[$5857>>2]|0;
+ $5859 = (($5856) + 4)|0;
+ $5860 = $5859;
+ $5861 = HEAP32[$5860>>2]|0;
+ $5862 = (_i64Add(($5858|0),($5861|0),($5850|0),($5853|0))|0);
+ $5863 = tempRet0;
+ $5864 = $5855;
+ $5865 = $5864;
+ HEAP32[$5865>>2] = $5862;
+ $5866 = (($5864) + 4)|0;
+ $5867 = $5866;
+ HEAP32[$5867>>2] = $5863;
+ STACKTOP = sp;return 208;
+}
+function _buf_get_be64($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = (_bitshift64Shl(($4|0),0,56)|0);
+ $6 = tempRet0;
+ $7 = $in;
+ $8 = ((($7)) + 1|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = (_bitshift64Shl(($10|0),0,48)|0);
+ $12 = tempRet0;
+ $13 = $5 | $11;
+ $14 = $6 | $12;
+ $15 = $in;
+ $16 = ((($15)) + 2|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17&255;
+ $19 = (_bitshift64Shl(($18|0),0,40)|0);
+ $20 = tempRet0;
+ $21 = $13 | $19;
+ $22 = $14 | $20;
+ $23 = $in;
+ $24 = ((($23)) + 3|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25&255;
+ $27 = $22 | $26;
+ $28 = $in;
+ $29 = ((($28)) + 4|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ $32 = (_bitshift64Shl(($31|0),0,24)|0);
+ $33 = tempRet0;
+ $34 = $21 | $32;
+ $35 = $27 | $33;
+ $36 = $in;
+ $37 = ((($36)) + 5|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $38&255;
+ $40 = (_bitshift64Shl(($39|0),0,16)|0);
+ $41 = tempRet0;
+ $42 = $34 | $40;
+ $43 = $35 | $41;
+ $44 = $in;
+ $45 = ((($44)) + 6|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = (_bitshift64Shl(($47|0),0,8)|0);
+ $49 = tempRet0;
+ $50 = $42 | $48;
+ $51 = $43 | $49;
+ $52 = $in;
+ $53 = ((($52)) + 7|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $50 | $55;
+ tempRet0 = ($51);
+ STACKTOP = sp;return ($56|0);
+}
+function _Sum1_1422($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $2 = sp;
+ $3 = $2;
+ $4 = $3;
+ HEAP32[$4>>2] = $0;
+ $5 = (($3) + 4)|0;
+ $6 = $5;
+ HEAP32[$6>>2] = $1;
+ $7 = $2;
+ $8 = $7;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($7) + 4)|0;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_ROTR($9,$12,14,0)|0);
+ $14 = tempRet0;
+ $15 = $2;
+ $16 = $15;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($15) + 4)|0;
+ $19 = $18;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_ROTR($17,$20,18,0)|0);
+ $22 = tempRet0;
+ $23 = $13 ^ $21;
+ $24 = $14 ^ $22;
+ $25 = $2;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($25) + 4)|0;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (_ROTR($27,$30,41,0)|0);
+ $32 = tempRet0;
+ $33 = $23 ^ $31;
+ $34 = $24 ^ $32;
+ tempRet0 = ($34);
+ STACKTOP = sp;return ($33|0);
+}
+function _ROTR($0,$1,$2,$3) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $4 = sp + 8|0;
+ $5 = sp;
+ $6 = $4;
+ $7 = $6;
+ HEAP32[$7>>2] = $0;
+ $8 = (($6) + 4)|0;
+ $9 = $8;
+ HEAP32[$9>>2] = $1;
+ $10 = $5;
+ $11 = $10;
+ HEAP32[$11>>2] = $2;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = $3;
+ $14 = $4;
+ $15 = $14;
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($14) + 4)|0;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $5;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($20) + 4)|0;
+ $24 = $23;
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (_bitshift64Lshr(($16|0),($19|0),($22|0))|0);
+ $27 = tempRet0;
+ $28 = $4;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($28) + 4)|0;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $5;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (_i64Subtract(64,0,($36|0),($39|0))|0);
+ $41 = tempRet0;
+ $42 = (_bitshift64Shl(($30|0),($33|0),($40|0))|0);
+ $43 = tempRet0;
+ $44 = $26 | $42;
+ $45 = $27 | $43;
+ tempRet0 = ($45);
+ STACKTOP = sp;return ($44|0);
+}
+function _Ch($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $6 = sp + 16|0;
+ $7 = sp + 8|0;
+ $8 = sp;
+ $9 = $6;
+ $10 = $9;
+ HEAP32[$10>>2] = $0;
+ $11 = (($9) + 4)|0;
+ $12 = $11;
+ HEAP32[$12>>2] = $1;
+ $13 = $7;
+ $14 = $13;
+ HEAP32[$14>>2] = $2;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP32[$16>>2] = $3;
+ $17 = $8;
+ $18 = $17;
+ HEAP32[$18>>2] = $4;
+ $19 = (($17) + 4)|0;
+ $20 = $19;
+ HEAP32[$20>>2] = $5;
+ $21 = $6;
+ $22 = $21;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($21) + 4)|0;
+ $25 = $24;
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $7;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $23 & $29;
+ $34 = $26 & $32;
+ $35 = $6;
+ $36 = $35;
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($35) + 4)|0;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $37 ^ -1;
+ $42 = $40 ^ -1;
+ $43 = $8;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($43) + 4)|0;
+ $47 = $46;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $41 & $45;
+ $50 = $42 & $48;
+ $51 = $33 ^ $49;
+ $52 = $34 ^ $50;
+ tempRet0 = ($52);
+ STACKTOP = sp;return ($51|0);
+}
+function _Sum0_1423($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $2 = sp;
+ $3 = $2;
+ $4 = $3;
+ HEAP32[$4>>2] = $0;
+ $5 = (($3) + 4)|0;
+ $6 = $5;
+ HEAP32[$6>>2] = $1;
+ $7 = $2;
+ $8 = $7;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($7) + 4)|0;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (_ROTR($9,$12,28,0)|0);
+ $14 = tempRet0;
+ $15 = $2;
+ $16 = $15;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($15) + 4)|0;
+ $19 = $18;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (_ROTR($17,$20,34,0)|0);
+ $22 = tempRet0;
+ $23 = $13 ^ $21;
+ $24 = $14 ^ $22;
+ $25 = $2;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = (($25) + 4)|0;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (_ROTR($27,$30,39,0)|0);
+ $32 = tempRet0;
+ $33 = $23 ^ $31;
+ $34 = $24 ^ $32;
+ tempRet0 = ($34);
+ STACKTOP = sp;return ($33|0);
+}
+function _Maj_1424($0,$1,$2,$3,$4,$5) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $2 = $2|0;
+ $3 = $3|0;
+ $4 = $4|0;
+ $5 = $5|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $6 = sp + 16|0;
+ $7 = sp + 8|0;
+ $8 = sp;
+ $9 = $6;
+ $10 = $9;
+ HEAP32[$10>>2] = $0;
+ $11 = (($9) + 4)|0;
+ $12 = $11;
+ HEAP32[$12>>2] = $1;
+ $13 = $7;
+ $14 = $13;
+ HEAP32[$14>>2] = $2;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP32[$16>>2] = $3;
+ $17 = $8;
+ $18 = $17;
+ HEAP32[$18>>2] = $4;
+ $19 = (($17) + 4)|0;
+ $20 = $19;
+ HEAP32[$20>>2] = $5;
+ $21 = $6;
+ $22 = $21;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($21) + 4)|0;
+ $25 = $24;
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $7;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $23 & $29;
+ $34 = $26 & $32;
+ $35 = $6;
+ $36 = $35;
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($35) + 4)|0;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $8;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($41) + 4)|0;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $37 & $43;
+ $48 = $40 & $46;
+ $49 = $33 ^ $47;
+ $50 = $34 ^ $48;
+ $51 = $7;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($51) + 4)|0;
+ $55 = $54;
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $8;
+ $58 = $57;
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (($57) + 4)|0;
+ $61 = $60;
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $53 & $59;
+ $64 = $56 & $62;
+ $65 = $49 ^ $63;
+ $66 = $50 ^ $64;
+ tempRet0 = ($66);
+ STACKTOP = sp;return ($65|0);
+}
+function _sha512_final($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $hd = 0, $lsb = 0, $msb = 0, $p = 0, $stack_burn_depth = 0, $t = 0, $th = 0;
+ var dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $t = sp + 24|0;
+ $th = sp + 16|0;
+ $msb = sp + 8|0;
+ $lsb = sp;
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $0;
+ __gcry_md_block_write($2,0,0);
+ $3 = $hd;
+ $4 = ((($3)) + 128|0);
+ $5 = $4;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($5) + 4)|0;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $t;
+ $12 = $11;
+ HEAP32[$12>>2] = $7;
+ $13 = (($11) + 4)|0;
+ $14 = $13;
+ HEAP32[$14>>2] = $10;
+ $15 = $hd;
+ $16 = ((($15)) + 136|0);
+ $17 = $16;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $th;
+ $24 = $23;
+ HEAP32[$24>>2] = $19;
+ $25 = (($23) + 4)|0;
+ $26 = $25;
+ HEAP32[$26>>2] = $22;
+ $27 = $t;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($27) + 4)|0;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (_bitshift64Shl(($29|0),($32|0),7)|0);
+ $34 = tempRet0;
+ $35 = $lsb;
+ $36 = $35;
+ HEAP32[$36>>2] = $33;
+ $37 = (($35) + 4)|0;
+ $38 = $37;
+ HEAP32[$38>>2] = $34;
+ $39 = $th;
+ $40 = $39;
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($39) + 4)|0;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (_bitshift64Shl(($41|0),($44|0),7)|0);
+ $46 = tempRet0;
+ $47 = $t;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (($47) + 4)|0;
+ $51 = $50;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (_bitshift64Lshr(($49|0),($52|0),57)|0);
+ $54 = tempRet0;
+ $55 = $45 | $53;
+ $56 = $46 | $54;
+ $57 = $msb;
+ $58 = $57;
+ HEAP32[$58>>2] = $55;
+ $59 = (($57) + 4)|0;
+ $60 = $59;
+ HEAP32[$60>>2] = $56;
+ $61 = $lsb;
+ $62 = $61;
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (($61) + 4)|0;
+ $65 = $64;
+ $66 = HEAP32[$65>>2]|0;
+ $67 = $t;
+ $68 = $67;
+ HEAP32[$68>>2] = $63;
+ $69 = (($67) + 4)|0;
+ $70 = $69;
+ HEAP32[$70>>2] = $66;
+ $71 = $hd;
+ $72 = ((($71)) + 144|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ($73|0)<(0);
+ $75 = $74 << 31 >> 31;
+ $76 = $lsb;
+ $77 = $76;
+ $78 = HEAP32[$77>>2]|0;
+ $79 = (($76) + 4)|0;
+ $80 = $79;
+ $81 = HEAP32[$80>>2]|0;
+ $82 = (_i64Add(($78|0),($81|0),($73|0),($75|0))|0);
+ $83 = tempRet0;
+ $84 = $lsb;
+ $85 = $84;
+ HEAP32[$85>>2] = $82;
+ $86 = (($84) + 4)|0;
+ $87 = $86;
+ HEAP32[$87>>2] = $83;
+ $88 = $t;
+ $89 = $88;
+ $90 = HEAP32[$89>>2]|0;
+ $91 = (($88) + 4)|0;
+ $92 = $91;
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ($83>>>0)<($93>>>0);
+ $95 = ($82>>>0)<($90>>>0);
+ $96 = ($83|0)==($93|0);
+ $97 = $96 & $95;
+ $98 = $94 | $97;
+ if ($98) {
+ $99 = $msb;
+ $100 = $99;
+ $101 = HEAP32[$100>>2]|0;
+ $102 = (($99) + 4)|0;
+ $103 = $102;
+ $104 = HEAP32[$103>>2]|0;
+ $105 = (_i64Add(($101|0),($104|0),1,0)|0);
+ $106 = tempRet0;
+ $107 = $msb;
+ $108 = $107;
+ HEAP32[$108>>2] = $105;
+ $109 = (($107) + 4)|0;
+ $110 = $109;
+ HEAP32[$110>>2] = $106;
+ }
+ $111 = $lsb;
+ $112 = $111;
+ $113 = HEAP32[$112>>2]|0;
+ $114 = (($111) + 4)|0;
+ $115 = $114;
+ $116 = HEAP32[$115>>2]|0;
+ $117 = $t;
+ $118 = $117;
+ HEAP32[$118>>2] = $113;
+ $119 = (($117) + 4)|0;
+ $120 = $119;
+ HEAP32[$120>>2] = $116;
+ $121 = $lsb;
+ $122 = $121;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (($121) + 4)|0;
+ $125 = $124;
+ $126 = HEAP32[$125>>2]|0;
+ $127 = (_bitshift64Shl(($123|0),($126|0),3)|0);
+ $128 = tempRet0;
+ $129 = $lsb;
+ $130 = $129;
+ HEAP32[$130>>2] = $127;
+ $131 = (($129) + 4)|0;
+ $132 = $131;
+ HEAP32[$132>>2] = $128;
+ $133 = $msb;
+ $134 = $133;
+ $135 = HEAP32[$134>>2]|0;
+ $136 = (($133) + 4)|0;
+ $137 = $136;
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (_bitshift64Shl(($135|0),($138|0),3)|0);
+ $140 = tempRet0;
+ $141 = $msb;
+ $142 = $141;
+ HEAP32[$142>>2] = $139;
+ $143 = (($141) + 4)|0;
+ $144 = $143;
+ HEAP32[$144>>2] = $140;
+ $145 = $t;
+ $146 = $145;
+ $147 = HEAP32[$146>>2]|0;
+ $148 = (($145) + 4)|0;
+ $149 = $148;
+ $150 = HEAP32[$149>>2]|0;
+ $151 = (_bitshift64Lshr(($147|0),($150|0),61)|0);
+ $152 = tempRet0;
+ $153 = $msb;
+ $154 = $153;
+ $155 = HEAP32[$154>>2]|0;
+ $156 = (($153) + 4)|0;
+ $157 = $156;
+ $158 = HEAP32[$157>>2]|0;
+ $159 = $155 | $151;
+ $160 = $158 | $152;
+ $161 = $msb;
+ $162 = $161;
+ HEAP32[$162>>2] = $159;
+ $163 = (($161) + 4)|0;
+ $164 = $163;
+ HEAP32[$164>>2] = $160;
+ $165 = $hd;
+ $166 = ((($165)) + 144|0);
+ $167 = HEAP32[$166>>2]|0;
+ $168 = ($167|0)<(112);
+ $169 = $hd;
+ $170 = ((($169)) + 144|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = (($171) + 1)|0;
+ HEAP32[$170>>2] = $172;
+ $173 = $hd;
+ $174 = (($173) + ($171)|0);
+ HEAP8[$174>>0] = -128;
+ L4: do {
+ if ($168) {
+ while(1) {
+ $175 = $hd;
+ $176 = ((($175)) + 144|0);
+ $177 = HEAP32[$176>>2]|0;
+ $178 = ($177|0)<(112);
+ if (!($178)) {
+ break L4;
+ }
+ $179 = $hd;
+ $180 = ((($179)) + 144|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = (($181) + 1)|0;
+ HEAP32[$180>>2] = $182;
+ $183 = $hd;
+ $184 = (($183) + ($181)|0);
+ HEAP8[$184>>0] = 0;
+ }
+ } else {
+ while(1) {
+ $185 = $hd;
+ $186 = ((($185)) + 144|0);
+ $187 = HEAP32[$186>>2]|0;
+ $188 = ($187|0)<(128);
+ if (!($188)) {
+ break;
+ }
+ $189 = $hd;
+ $190 = ((($189)) + 144|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = (($191) + 1)|0;
+ HEAP32[$190>>2] = $192;
+ $193 = $hd;
+ $194 = (($193) + ($191)|0);
+ HEAP8[$194>>0] = 0;
+ }
+ $195 = $0;
+ __gcry_md_block_write($195,0,0);
+ $196 = $hd;
+ dest=$196; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ }
+ } while(0);
+ $197 = $hd;
+ $198 = ((($197)) + 112|0);
+ $199 = $msb;
+ $200 = $199;
+ $201 = HEAP32[$200>>2]|0;
+ $202 = (($199) + 4)|0;
+ $203 = $202;
+ $204 = HEAP32[$203>>2]|0;
+ _buf_put_be64($198,$201,$204);
+ $205 = $hd;
+ $206 = ((($205)) + 120|0);
+ $207 = $lsb;
+ $208 = $207;
+ $209 = HEAP32[$208>>2]|0;
+ $210 = (($207) + 4)|0;
+ $211 = $210;
+ $212 = HEAP32[$211>>2]|0;
+ _buf_put_be64($206,$209,$212);
+ $213 = $hd;
+ $214 = $hd;
+ $215 = (_transform_1420($213,$214,1)|0);
+ $stack_burn_depth = $215;
+ $216 = $stack_burn_depth;
+ ___gcry_burn_stack($216);
+ ___gcry_burn_stack_dummy();
+ $217 = $hd;
+ $p = $217;
+ $218 = $p;
+ $219 = $hd;
+ $220 = ((($219)) + 160|0);
+ $221 = $220;
+ $222 = $221;
+ $223 = HEAP32[$222>>2]|0;
+ $224 = (($221) + 4)|0;
+ $225 = $224;
+ $226 = HEAP32[$225>>2]|0;
+ _buf_put_be64($218,$223,$226);
+ $227 = $p;
+ $228 = ((($227)) + 8|0);
+ $p = $228;
+ $229 = $p;
+ $230 = $hd;
+ $231 = ((($230)) + 160|0);
+ $232 = ((($231)) + 8|0);
+ $233 = $232;
+ $234 = $233;
+ $235 = HEAP32[$234>>2]|0;
+ $236 = (($233) + 4)|0;
+ $237 = $236;
+ $238 = HEAP32[$237>>2]|0;
+ _buf_put_be64($229,$235,$238);
+ $239 = $p;
+ $240 = ((($239)) + 8|0);
+ $p = $240;
+ $241 = $p;
+ $242 = $hd;
+ $243 = ((($242)) + 160|0);
+ $244 = ((($243)) + 16|0);
+ $245 = $244;
+ $246 = $245;
+ $247 = HEAP32[$246>>2]|0;
+ $248 = (($245) + 4)|0;
+ $249 = $248;
+ $250 = HEAP32[$249>>2]|0;
+ _buf_put_be64($241,$247,$250);
+ $251 = $p;
+ $252 = ((($251)) + 8|0);
+ $p = $252;
+ $253 = $p;
+ $254 = $hd;
+ $255 = ((($254)) + 160|0);
+ $256 = ((($255)) + 24|0);
+ $257 = $256;
+ $258 = $257;
+ $259 = HEAP32[$258>>2]|0;
+ $260 = (($257) + 4)|0;
+ $261 = $260;
+ $262 = HEAP32[$261>>2]|0;
+ _buf_put_be64($253,$259,$262);
+ $263 = $p;
+ $264 = ((($263)) + 8|0);
+ $p = $264;
+ $265 = $p;
+ $266 = $hd;
+ $267 = ((($266)) + 160|0);
+ $268 = ((($267)) + 32|0);
+ $269 = $268;
+ $270 = $269;
+ $271 = HEAP32[$270>>2]|0;
+ $272 = (($269) + 4)|0;
+ $273 = $272;
+ $274 = HEAP32[$273>>2]|0;
+ _buf_put_be64($265,$271,$274);
+ $275 = $p;
+ $276 = ((($275)) + 8|0);
+ $p = $276;
+ $277 = $p;
+ $278 = $hd;
+ $279 = ((($278)) + 160|0);
+ $280 = ((($279)) + 40|0);
+ $281 = $280;
+ $282 = $281;
+ $283 = HEAP32[$282>>2]|0;
+ $284 = (($281) + 4)|0;
+ $285 = $284;
+ $286 = HEAP32[$285>>2]|0;
+ _buf_put_be64($277,$283,$286);
+ $287 = $p;
+ $288 = ((($287)) + 8|0);
+ $p = $288;
+ $289 = $p;
+ $290 = $hd;
+ $291 = ((($290)) + 160|0);
+ $292 = ((($291)) + 48|0);
+ $293 = $292;
+ $294 = $293;
+ $295 = HEAP32[$294>>2]|0;
+ $296 = (($293) + 4)|0;
+ $297 = $296;
+ $298 = HEAP32[$297>>2]|0;
+ _buf_put_be64($289,$295,$298);
+ $299 = $p;
+ $300 = ((($299)) + 8|0);
+ $p = $300;
+ $301 = $p;
+ $302 = $hd;
+ $303 = ((($302)) + 160|0);
+ $304 = ((($303)) + 56|0);
+ $305 = $304;
+ $306 = $305;
+ $307 = HEAP32[$306>>2]|0;
+ $308 = (($305) + 4)|0;
+ $309 = $308;
+ $310 = HEAP32[$309>>2]|0;
+ _buf_put_be64($301,$307,$310);
+ $311 = $p;
+ $312 = ((($311)) + 8|0);
+ $p = $312;
+ STACKTOP = sp;return;
+}
+function _buf_put_be64($_buf,$0,$1) {
+ $_buf = $_buf|0;
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $3 = sp;
+ $2 = $_buf;
+ $4 = $3;
+ $5 = $4;
+ HEAP32[$5>>2] = $0;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $1;
+ $8 = $2;
+ $out = $8;
+ $9 = $3;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($9) + 4)|0;
+ $13 = $12;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (_bitshift64Lshr(($11|0),($14|0),56)|0);
+ $16 = tempRet0;
+ $17 = $15&255;
+ $18 = $out;
+ HEAP8[$18>>0] = $17;
+ $19 = $3;
+ $20 = $19;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (($19) + 4)|0;
+ $23 = $22;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (_bitshift64Lshr(($21|0),($24|0),48)|0);
+ $26 = tempRet0;
+ $27 = $25&255;
+ $28 = $out;
+ $29 = ((($28)) + 1|0);
+ HEAP8[$29>>0] = $27;
+ $30 = $3;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($30) + 4)|0;
+ $34 = $33;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (_bitshift64Lshr(($32|0),($35|0),40)|0);
+ $37 = tempRet0;
+ $38 = $36&255;
+ $39 = $out;
+ $40 = ((($39)) + 2|0);
+ HEAP8[$40>>0] = $38;
+ $41 = $3;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($41) + 4)|0;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $46&255;
+ $48 = $out;
+ $49 = ((($48)) + 3|0);
+ HEAP8[$49>>0] = $47;
+ $50 = $3;
+ $51 = $50;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($50) + 4)|0;
+ $54 = $53;
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (_bitshift64Lshr(($52|0),($55|0),24)|0);
+ $57 = tempRet0;
+ $58 = $56&255;
+ $59 = $out;
+ $60 = ((($59)) + 4|0);
+ HEAP8[$60>>0] = $58;
+ $61 = $3;
+ $62 = $61;
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (($61) + 4)|0;
+ $65 = $64;
+ $66 = HEAP32[$65>>2]|0;
+ $67 = (_bitshift64Lshr(($63|0),($66|0),16)|0);
+ $68 = tempRet0;
+ $69 = $67&255;
+ $70 = $out;
+ $71 = ((($70)) + 5|0);
+ HEAP8[$71>>0] = $69;
+ $72 = $3;
+ $73 = $72;
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (($72) + 4)|0;
+ $76 = $75;
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (_bitshift64Lshr(($74|0),($77|0),8)|0);
+ $79 = tempRet0;
+ $80 = $78&255;
+ $81 = $out;
+ $82 = ((($81)) + 6|0);
+ HEAP8[$82>>0] = $80;
+ $83 = $3;
+ $84 = $83;
+ $85 = HEAP32[$84>>2]|0;
+ $86 = (($83) + 4)|0;
+ $87 = $86;
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $85&255;
+ $90 = $out;
+ $91 = ((($90)) + 7|0);
+ HEAP8[$91>>0] = $89;
+ STACKTOP = sp;return;
+}
+function _sha512_read($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $2 = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $hd = $1;
+ $2 = $hd;
+ STACKTOP = sp;return ($2|0);
+}
+function _run_selftests_1425($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $algo;
+ $1 = $extended;
+ $2 = $report;
+ $3 = $0;
+ switch ($3|0) {
+ case 9: {
+ $4 = $1;
+ $5 = $2;
+ $6 = (_selftests_sha384_1426($4,$5)|0);
+ $ec = $6;
+ break;
+ }
+ case 10: {
+ $7 = $1;
+ $8 = $2;
+ $9 = (_selftests_sha512_1436($7,$8)|0);
+ $ec = $9;
+ break;
+ }
+ default: {
+ $ec = 5;
+ }
+ }
+ $10 = $ec;
+ STACKTOP = sp;return ($10|0);
+}
+function _selftests_sha384_1426($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 42887;
+ $3 = (__gcry_hash_selftest_check_one(9,0,42900,3,42904,48)|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if (!($5)) {
+ $6 = $1;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $what = 42953;
+ $8 = (__gcry_hash_selftest_check_one(9,0,42965,112,43078,48)|0);
+ $errtxt = $8;
+ $9 = $errtxt;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ break;
+ }
+ $what = 43127;
+ $11 = (__gcry_hash_selftest_check_one(9,1,0,0,43143,48)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ break;
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ } while(0);
+ $14 = $2;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $2;
+ $17 = $what;
+ $18 = $errtxt;
+ FUNCTION_TABLE_viiii[$16 & 63](43192,9,$17,$18);
+ }
+ $0 = 50;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _selftests_sha512_1436($extended,$report) {
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $extended;
+ $2 = $report;
+ $what = 42887;
+ $3 = (__gcry_hash_selftest_check_one(10,0,42900,3,43199,64)|0);
+ $errtxt = $3;
+ $4 = $errtxt;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if (!($5)) {
+ $6 = $1;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $what = 42953;
+ $8 = (__gcry_hash_selftest_check_one(10,0,42965,112,43264,64)|0);
+ $errtxt = $8;
+ $9 = $errtxt;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ break;
+ }
+ $what = 43127;
+ $11 = (__gcry_hash_selftest_check_one(10,1,0,0,43329,64)|0);
+ $errtxt = $11;
+ $12 = $errtxt;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ break;
+ }
+ }
+ $0 = 0;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+ }
+ } while(0);
+ $14 = $2;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $2;
+ $17 = $what;
+ $18 = $errtxt;
+ FUNCTION_TABLE_viiii[$16 & 63](43192,10,$17,$18);
+ }
+ $0 = 50;
+ $19 = $0;
+ STACKTOP = sp;return ($19|0);
+}
+function _sha384_init($context,$flags) {
+ $context = $context|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $ctx = 0, $features = 0, $hd = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $flags;
+ $2 = $0;
+ $ctx = $2;
+ $3 = $ctx;
+ $4 = ((($3)) + 160|0);
+ $hd = $4;
+ $5 = (__gcry_get_hw_features()|0);
+ $features = $5;
+ $6 = $hd;
+ $7 = $6;
+ $8 = $7;
+ HEAP32[$8>>2] = -1056596264;
+ $9 = (($7) + 4)|0;
+ $10 = $9;
+ HEAP32[$10>>2] = -876896931;
+ $11 = $hd;
+ $12 = ((($11)) + 8|0);
+ $13 = $12;
+ $14 = $13;
+ HEAP32[$14>>2] = 914150663;
+ $15 = (($13) + 4)|0;
+ $16 = $15;
+ HEAP32[$16>>2] = 1654270250;
+ $17 = $hd;
+ $18 = ((($17)) + 16|0);
+ $19 = $18;
+ $20 = $19;
+ HEAP32[$20>>2] = 812702999;
+ $21 = (($19) + 4)|0;
+ $22 = $21;
+ HEAP32[$22>>2] = -1856437926;
+ $23 = $hd;
+ $24 = ((($23)) + 24|0);
+ $25 = $24;
+ $26 = $25;
+ HEAP32[$26>>2] = -150054599;
+ $27 = (($25) + 4)|0;
+ $28 = $27;
+ HEAP32[$28>>2] = 355462360;
+ $29 = $hd;
+ $30 = ((($29)) + 32|0);
+ $31 = $30;
+ $32 = $31;
+ HEAP32[$32>>2] = -4191439;
+ $33 = (($31) + 4)|0;
+ $34 = $33;
+ HEAP32[$34>>2] = 1731405415;
+ $35 = $hd;
+ $36 = ((($35)) + 40|0);
+ $37 = $36;
+ $38 = $37;
+ HEAP32[$38>>2] = 1750603025;
+ $39 = (($37) + 4)|0;
+ $40 = $39;
+ HEAP32[$40>>2] = -1900787065;
+ $41 = $hd;
+ $42 = ((($41)) + 48|0);
+ $43 = $42;
+ $44 = $43;
+ HEAP32[$44>>2] = 1694076839;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = -619958771;
+ $47 = $hd;
+ $48 = ((($47)) + 56|0);
+ $49 = $48;
+ $50 = $49;
+ HEAP32[$50>>2] = -1090891868;
+ $51 = (($49) + 4)|0;
+ $52 = $51;
+ HEAP32[$52>>2] = 1203062813;
+ $53 = $ctx;
+ $54 = ((($53)) + 128|0);
+ $55 = $54;
+ $56 = $55;
+ HEAP32[$56>>2] = 0;
+ $57 = (($55) + 4)|0;
+ $58 = $57;
+ HEAP32[$58>>2] = 0;
+ $59 = $ctx;
+ $60 = ((($59)) + 136|0);
+ $61 = $60;
+ $62 = $61;
+ HEAP32[$62>>2] = 0;
+ $63 = (($61) + 4)|0;
+ $64 = $63;
+ HEAP32[$64>>2] = 0;
+ $65 = $ctx;
+ $66 = ((($65)) + 144|0);
+ HEAP32[$66>>2] = 0;
+ $67 = $ctx;
+ $68 = ((($67)) + 148|0);
+ HEAP32[$68>>2] = 128;
+ $69 = $ctx;
+ $70 = ((($69)) + 152|0);
+ HEAP32[$70>>2] = 76;
+ STACKTOP = sp;return;
+}
+function _twofish_setkey($context,$key,$keylen) {
+ $context = $context|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ctx = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $key;
+ $2 = $keylen;
+ $3 = $0;
+ $ctx = $3;
+ $4 = $ctx;
+ $5 = $1;
+ $6 = $2;
+ $7 = (_do_twofish_setkey($4,$5,$6)|0);
+ $rc = $7;
+ ___gcry_burn_stack(47);
+ ___gcry_burn_stack_dummy();
+ $8 = $rc;
+ STACKTOP = sp;return ($8|0);
+}
+function _do_twofish_setkey($ctx,$key,$keylen) {
+ $ctx = $ctx|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $10000 = 0, $10001 = 0, $10002 = 0, $10003 = 0, $10004 = 0, $10005 = 0, $10006 = 0, $10007 = 0, $10008 = 0, $10009 = 0, $1001 = 0, $10010 = 0, $10011 = 0, $10012 = 0, $10013 = 0;
+ var $10014 = 0, $10015 = 0, $10016 = 0, $10017 = 0, $10018 = 0, $10019 = 0, $1002 = 0, $10020 = 0, $10021 = 0, $10022 = 0, $10023 = 0, $10024 = 0, $10025 = 0, $10026 = 0, $10027 = 0, $10028 = 0, $10029 = 0, $1003 = 0, $10030 = 0, $10031 = 0;
+ var $10032 = 0, $10033 = 0, $10034 = 0, $10035 = 0, $10036 = 0, $10037 = 0, $10038 = 0, $10039 = 0, $1004 = 0, $10040 = 0, $10041 = 0, $10042 = 0, $10043 = 0, $10044 = 0, $10045 = 0, $10046 = 0, $10047 = 0, $10048 = 0, $10049 = 0, $1005 = 0;
+ var $10050 = 0, $10051 = 0, $10052 = 0, $10053 = 0, $10054 = 0, $10055 = 0, $10056 = 0, $10057 = 0, $10058 = 0, $10059 = 0, $1006 = 0, $10060 = 0, $10061 = 0, $10062 = 0, $10063 = 0, $10064 = 0, $10065 = 0, $10066 = 0, $10067 = 0, $10068 = 0;
+ var $10069 = 0, $1007 = 0, $10070 = 0, $10071 = 0, $10072 = 0, $10073 = 0, $10074 = 0, $10075 = 0, $10076 = 0, $10077 = 0, $10078 = 0, $10079 = 0, $1008 = 0, $10080 = 0, $10081 = 0, $10082 = 0, $10083 = 0, $10084 = 0, $10085 = 0, $10086 = 0;
+ var $10087 = 0, $10088 = 0, $10089 = 0, $1009 = 0, $10090 = 0, $10091 = 0, $10092 = 0, $10093 = 0, $10094 = 0, $10095 = 0, $10096 = 0, $10097 = 0, $10098 = 0, $10099 = 0, $101 = 0, $1010 = 0, $10100 = 0, $10101 = 0, $10102 = 0, $10103 = 0;
+ var $10104 = 0, $10105 = 0, $10106 = 0, $10107 = 0, $10108 = 0, $10109 = 0, $1011 = 0, $10110 = 0, $10111 = 0, $10112 = 0, $10113 = 0, $10114 = 0, $10115 = 0, $10116 = 0, $10117 = 0, $10118 = 0, $10119 = 0, $1012 = 0, $10120 = 0, $10121 = 0;
+ var $10122 = 0, $10123 = 0, $10124 = 0, $10125 = 0, $10126 = 0, $10127 = 0, $10128 = 0, $10129 = 0, $1013 = 0, $10130 = 0, $10131 = 0, $10132 = 0, $10133 = 0, $10134 = 0, $10135 = 0, $10136 = 0, $10137 = 0, $10138 = 0, $10139 = 0, $1014 = 0;
+ var $10140 = 0, $10141 = 0, $10142 = 0, $10143 = 0, $10144 = 0, $10145 = 0, $10146 = 0, $10147 = 0, $10148 = 0, $10149 = 0, $1015 = 0, $10150 = 0, $10151 = 0, $10152 = 0, $10153 = 0, $10154 = 0, $10155 = 0, $10156 = 0, $10157 = 0, $10158 = 0;
+ var $10159 = 0, $1016 = 0, $10160 = 0, $10161 = 0, $10162 = 0, $10163 = 0, $10164 = 0, $10165 = 0, $10166 = 0, $10167 = 0, $10168 = 0, $10169 = 0, $1017 = 0, $10170 = 0, $10171 = 0, $10172 = 0, $10173 = 0, $10174 = 0, $10175 = 0, $10176 = 0;
+ var $10177 = 0, $10178 = 0, $10179 = 0, $1018 = 0, $10180 = 0, $10181 = 0, $10182 = 0, $10183 = 0, $10184 = 0, $10185 = 0, $10186 = 0, $10187 = 0, $10188 = 0, $10189 = 0, $1019 = 0, $10190 = 0, $10191 = 0, $10192 = 0, $10193 = 0, $10194 = 0;
+ var $10195 = 0, $10196 = 0, $10197 = 0, $10198 = 0, $10199 = 0, $102 = 0, $1020 = 0, $10200 = 0, $10201 = 0, $10202 = 0, $10203 = 0, $10204 = 0, $10205 = 0, $10206 = 0, $10207 = 0, $10208 = 0, $10209 = 0, $1021 = 0, $10210 = 0, $10211 = 0;
+ var $10212 = 0, $10213 = 0, $10214 = 0, $10215 = 0, $10216 = 0, $10217 = 0, $10218 = 0, $10219 = 0, $1022 = 0, $10220 = 0, $10221 = 0, $10222 = 0, $10223 = 0, $10224 = 0, $10225 = 0, $10226 = 0, $10227 = 0, $10228 = 0, $10229 = 0, $1023 = 0;
+ var $10230 = 0, $10231 = 0, $10232 = 0, $10233 = 0, $10234 = 0, $10235 = 0, $10236 = 0, $10237 = 0, $10238 = 0, $10239 = 0, $1024 = 0, $10240 = 0, $10241 = 0, $10242 = 0, $10243 = 0, $10244 = 0, $10245 = 0, $10246 = 0, $10247 = 0, $10248 = 0;
+ var $10249 = 0, $1025 = 0, $10250 = 0, $10251 = 0, $10252 = 0, $10253 = 0, $10254 = 0, $10255 = 0, $10256 = 0, $10257 = 0, $10258 = 0, $10259 = 0, $1026 = 0, $10260 = 0, $10261 = 0, $10262 = 0, $10263 = 0, $10264 = 0, $10265 = 0, $10266 = 0;
+ var $10267 = 0, $10268 = 0, $10269 = 0, $1027 = 0, $10270 = 0, $10271 = 0, $10272 = 0, $10273 = 0, $10274 = 0, $10275 = 0, $10276 = 0, $10277 = 0, $10278 = 0, $10279 = 0, $1028 = 0, $10280 = 0, $10281 = 0, $10282 = 0, $10283 = 0, $10284 = 0;
+ var $10285 = 0, $10286 = 0, $10287 = 0, $10288 = 0, $10289 = 0, $1029 = 0, $10290 = 0, $10291 = 0, $10292 = 0, $10293 = 0, $10294 = 0, $10295 = 0, $10296 = 0, $10297 = 0, $10298 = 0, $10299 = 0, $103 = 0, $1030 = 0, $10300 = 0, $10301 = 0;
+ var $10302 = 0, $10303 = 0, $10304 = 0, $10305 = 0, $10306 = 0, $10307 = 0, $10308 = 0, $10309 = 0, $1031 = 0, $10310 = 0, $10311 = 0, $10312 = 0, $10313 = 0, $10314 = 0, $10315 = 0, $10316 = 0, $10317 = 0, $10318 = 0, $10319 = 0, $1032 = 0;
+ var $10320 = 0, $10321 = 0, $10322 = 0, $10323 = 0, $10324 = 0, $10325 = 0, $10326 = 0, $10327 = 0, $10328 = 0, $10329 = 0, $1033 = 0, $10330 = 0, $10331 = 0, $10332 = 0, $10333 = 0, $10334 = 0, $10335 = 0, $10336 = 0, $10337 = 0, $10338 = 0;
+ var $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0;
+ var $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0;
+ var $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0;
+ var $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0;
+ var $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0;
+ var $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0;
+ var $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0;
+ var $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0;
+ var $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0;
+ var $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0;
+ var $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0;
+ var $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0;
+ var $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0;
+ var $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0;
+ var $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0;
+ var $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0;
+ var $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0;
+ var $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0;
+ var $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0;
+ var $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0;
+ var $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0;
+ var $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0;
+ var $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0;
+ var $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0;
+ var $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0;
+ var $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0;
+ var $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0;
+ var $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0;
+ var $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0;
+ var $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0;
+ var $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0;
+ var $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0;
+ var $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0;
+ var $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0;
+ var $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0;
+ var $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0;
+ var $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0;
+ var $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0;
+ var $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0;
+ var $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0;
+ var $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0;
+ var $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0;
+ var $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0;
+ var $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0;
+ var $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0;
+ var $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0;
+ var $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0;
+ var $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0;
+ var $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0;
+ var $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0;
+ var $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0;
+ var $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0;
+ var $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0;
+ var $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0;
+ var $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0;
+ var $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0;
+ var $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0;
+ var $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0;
+ var $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0;
+ var $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0;
+ var $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0;
+ var $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0;
+ var $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0;
+ var $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0;
+ var $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0;
+ var $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0;
+ var $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0;
+ var $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0;
+ var $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0;
+ var $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0;
+ var $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0;
+ var $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0;
+ var $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0;
+ var $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0;
+ var $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0;
+ var $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0;
+ var $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0;
+ var $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0;
+ var $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0;
+ var $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0;
+ var $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0;
+ var $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0;
+ var $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0;
+ var $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0;
+ var $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0;
+ var $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0;
+ var $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0;
+ var $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0;
+ var $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0;
+ var $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0;
+ var $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0;
+ var $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0;
+ var $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0;
+ var $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0;
+ var $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0;
+ var $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0;
+ var $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0;
+ var $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0;
+ var $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0;
+ var $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0;
+ var $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0;
+ var $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0;
+ var $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0;
+ var $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0;
+ var $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0;
+ var $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0;
+ var $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0;
+ var $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0;
+ var $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0;
+ var $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0;
+ var $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0;
+ var $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0;
+ var $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0;
+ var $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0;
+ var $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0;
+ var $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0;
+ var $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0;
+ var $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0;
+ var $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0;
+ var $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0;
+ var $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0;
+ var $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0;
+ var $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0;
+ var $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0;
+ var $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0;
+ var $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0;
+ var $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0;
+ var $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0;
+ var $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0;
+ var $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0;
+ var $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0;
+ var $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0;
+ var $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0;
+ var $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0;
+ var $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0;
+ var $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0;
+ var $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0;
+ var $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0;
+ var $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0;
+ var $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0;
+ var $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0;
+ var $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0, $3590 = 0;
+ var $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0, $3608 = 0;
+ var $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0, $3626 = 0;
+ var $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0, $3644 = 0;
+ var $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0, $3660 = 0, $3661 = 0, $3662 = 0;
+ var $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0, $368 = 0, $3680 = 0;
+ var $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0, $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0, $3697 = 0, $3698 = 0, $3699 = 0;
+ var $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0, $3715 = 0, $3716 = 0;
+ var $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0, $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0, $3732 = 0, $3733 = 0, $3734 = 0;
+ var $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0, $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0, $3750 = 0, $3751 = 0, $3752 = 0;
+ var $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0, $3770 = 0;
+ var $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0, $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0, $3789 = 0;
+ var $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0, $3806 = 0;
+ var $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0, $3822 = 0, $3823 = 0, $3824 = 0;
+ var $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0, $3841 = 0, $3842 = 0;
+ var $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0, $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0, $3859 = 0, $386 = 0, $3860 = 0;
+ var $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0, $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0, $3877 = 0, $3878 = 0, $3879 = 0;
+ var $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3896 = 0, $3897 = 0;
+ var $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0, $3912 = 0, $3913 = 0, $3914 = 0;
+ var $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0, $3930 = 0, $3931 = 0, $3932 = 0;
+ var $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0, $3949 = 0, $395 = 0, $3950 = 0;
+ var $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0, $3967 = 0, $3968 = 0, $3969 = 0;
+ var $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0, $3985 = 0, $3986 = 0, $3987 = 0;
+ var $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4002 = 0, $4003 = 0;
+ var $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0, $402 = 0, $4020 = 0, $4021 = 0;
+ var $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0, $4038 = 0, $4039 = 0, $404 = 0;
+ var $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0, $4056 = 0, $4057 = 0, $4058 = 0;
+ var $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0, $4076 = 0;
+ var $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0, $4092 = 0, $4093 = 0, $4094 = 0;
+ var $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0, $411 = 0, $4110 = 0, $4111 = 0;
+ var $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0, $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0, $4128 = 0, $4129 = 0, $413 = 0;
+ var $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0, $4146 = 0, $4147 = 0, $4148 = 0;
+ var $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0, $4166 = 0;
+ var $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0, $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0, $4182 = 0, $4183 = 0, $4184 = 0;
+ var $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0, $4201 = 0;
+ var $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0, $422 = 0;
+ var $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0, $4238 = 0;
+ var $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0, $4256 = 0;
+ var $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0, $4274 = 0;
+ var $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0, $4292 = 0;
+ var $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0, $431 = 0;
+ var $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0, $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0, $4326 = 0, $4327 = 0, $4328 = 0;
+ var $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0, $4346 = 0;
+ var $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0, $4364 = 0;
+ var $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0, $4382 = 0;
+ var $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0, $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0, $440 = 0;
+ var $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0, $4418 = 0;
+ var $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0, $4435 = 0, $4436 = 0;
+ var $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0, $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4452 = 0, $4453 = 0, $4454 = 0;
+ var $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0, $4472 = 0;
+ var $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0, $4490 = 0;
+ var $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0, $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0, $4507 = 0, $4508 = 0;
+ var $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0, $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0, $4524 = 0, $4525 = 0, $4526 = 0;
+ var $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0, $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0, $4543 = 0, $4544 = 0;
+ var $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0, $4560 = 0, $4561 = 0, $4562 = 0;
+ var $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0, $4579 = 0, $458 = 0, $4580 = 0;
+ var $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0, $4599 = 0;
+ var $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0, $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0, $4614 = 0, $4615 = 0, $4616 = 0;
+ var $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0, $4633 = 0, $4634 = 0;
+ var $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0, $4652 = 0;
+ var $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $467 = 0, $4670 = 0;
+ var $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0, $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0, $4687 = 0, $4688 = 0, $4689 = 0;
+ var $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0, $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0, $4706 = 0;
+ var $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0, $4722 = 0, $4723 = 0, $4724 = 0;
+ var $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0, $4740 = 0, $4741 = 0, $4742 = 0;
+ var $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0, $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $476 = 0, $4760 = 0;
+ var $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0, $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0, $4779 = 0;
+ var $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0, $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0, $4795 = 0, $4796 = 0, $4797 = 0;
+ var $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0, $4812 = 0, $4813 = 0, $4814 = 0;
+ var $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0, $4832 = 0;
+ var $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0, $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0, $4849 = 0, $485 = 0, $4850 = 0;
+ var $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0, $4867 = 0, $4868 = 0, $4869 = 0;
+ var $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0, $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0, $4887 = 0;
+ var $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0, $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4902 = 0, $4903 = 0, $4904 = 0;
+ var $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0, $4922 = 0;
+ var $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0, $4940 = 0;
+ var $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0, $4959 = 0;
+ var $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0, $4977 = 0;
+ var $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0, $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0, $4995 = 0;
+ var $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0, $5011 = 0;
+ var $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0, $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0, $503 = 0;
+ var $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5046 = 0, $5047 = 0, $5048 = 0;
+ var $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0, $5065 = 0, $5066 = 0;
+ var $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0, $5084 = 0;
+ var $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0, $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0, $5100 = 0, $5101 = 0;
+ var $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0, $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0, $5118 = 0, $5119 = 0, $512 = 0;
+ var $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0, $5138 = 0;
+ var $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0, $5156 = 0;
+ var $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0, $5174 = 0;
+ var $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5190 = 0, $5191 = 0, $5192 = 0;
+ var $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0, $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0, $521 = 0;
+ var $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0, $5226 = 0, $5227 = 0, $5228 = 0;
+ var $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0, $5246 = 0;
+ var $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0, $5264 = 0;
+ var $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0, $5280 = 0, $5281 = 0, $5282 = 0;
+ var $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0, $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0, $5299 = 0, $53 = 0, $530 = 0;
+ var $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0, $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0, $5318 = 0;
+ var $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0, $5334 = 0, $5335 = 0, $5336 = 0;
+ var $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0, $5354 = 0;
+ var $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0, $5370 = 0, $5371 = 0, $5372 = 0;
+ var $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0, $5389 = 0, $539 = 0, $5390 = 0;
+ var $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0, $5406 = 0, $5407 = 0, $5408 = 0;
+ var $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0, $5424 = 0, $5425 = 0, $5426 = 0;
+ var $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0, $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0, $5442 = 0, $5443 = 0, $5444 = 0;
+ var $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0, $5460 = 0, $5461 = 0, $5462 = 0;
+ var $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0, $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0, $5479 = 0, $548 = 0, $5480 = 0;
+ var $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0, $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0, $5497 = 0, $5498 = 0, $5499 = 0;
+ var $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0, $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0, $5514 = 0, $5515 = 0, $5516 = 0;
+ var $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0, $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0, $5534 = 0;
+ var $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0, $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0, $5550 = 0, $5551 = 0, $5552 = 0;
+ var $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0, $5570 = 0;
+ var $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0, $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0, $5587 = 0, $5588 = 0, $5589 = 0;
+ var $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0, $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0, $5604 = 0, $5605 = 0, $5606 = 0;
+ var $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0, $5622 = 0, $5623 = 0, $5624 = 0;
+ var $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0, $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5640 = 0, $5641 = 0, $5642 = 0;
+ var $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0, $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0, $5659 = 0, $566 = 0, $5660 = 0;
+ var $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5678 = 0, $5679 = 0;
+ var $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0, $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0, $5695 = 0, $5696 = 0, $5697 = 0;
+ var $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0, $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0, $5712 = 0, $5713 = 0, $5714 = 0;
+ var $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0, $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0, $5730 = 0, $5731 = 0, $5732 = 0;
+ var $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $575 = 0, $5750 = 0;
+ var $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0, $5767 = 0, $5768 = 0, $5769 = 0;
+ var $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0, $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0, $5785 = 0, $5786 = 0, $5787 = 0;
+ var $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0, $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0, $5802 = 0, $5803 = 0, $5804 = 0;
+ var $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0, $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0, $5820 = 0, $5821 = 0, $5822 = 0;
+ var $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0, $5840 = 0;
+ var $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5858 = 0, $5859 = 0;
+ var $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0, $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0, $5875 = 0, $5876 = 0, $5877 = 0;
+ var $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0, $5883 = 0, $5884 = 0, $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0, $5893 = 0, $5894 = 0, $5895 = 0;
+ var $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0, $5900 = 0, $5901 = 0, $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0, $5910 = 0, $5911 = 0, $5912 = 0;
+ var $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0, $5919 = 0, $592 = 0, $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0, $5929 = 0, $593 = 0, $5930 = 0;
+ var $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0, $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0, $5947 = 0, $5948 = 0, $5949 = 0;
+ var $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0, $5955 = 0, $5956 = 0, $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0, $5965 = 0, $5966 = 0, $5967 = 0;
+ var $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0, $5973 = 0, $5974 = 0, $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0, $5983 = 0, $5984 = 0, $5985 = 0;
+ var $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0, $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0, $600 = 0, $6000 = 0, $6001 = 0;
+ var $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0, $6008 = 0, $6009 = 0, $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0, $6018 = 0, $6019 = 0, $602 = 0;
+ var $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0, $6026 = 0, $6027 = 0, $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0, $6036 = 0, $6037 = 0, $6038 = 0;
+ var $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0, $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0, $6054 = 0, $6055 = 0, $6056 = 0;
+ var $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0, $6062 = 0, $6063 = 0, $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0, $6072 = 0, $6073 = 0, $6074 = 0;
+ var $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0, $6080 = 0, $6081 = 0, $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0, $6090 = 0, $6091 = 0, $6092 = 0;
+ var $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0, $6099 = 0, $61 = 0, $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0, $6108 = 0, $6109 = 0, $611 = 0;
+ var $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0, $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0, $6126 = 0, $6127 = 0, $6128 = 0;
+ var $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6134 = 0, $6135 = 0, $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0, $6144 = 0, $6145 = 0, $6146 = 0;
+ var $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6152 = 0, $6153 = 0, $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0, $6162 = 0, $6163 = 0, $6164 = 0;
+ var $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6170 = 0, $6171 = 0, $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0, $6180 = 0, $6181 = 0, $6182 = 0;
+ var $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0, $6189 = 0, $619 = 0, $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0, $6199 = 0, $62 = 0, $620 = 0;
+ var $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0, $6206 = 0, $6207 = 0, $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0, $6216 = 0, $6217 = 0, $6218 = 0;
+ var $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0, $6224 = 0, $6225 = 0, $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0, $6234 = 0, $6235 = 0, $6236 = 0;
+ var $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0, $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0, $6252 = 0, $6253 = 0, $6254 = 0;
+ var $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0, $6260 = 0, $6261 = 0, $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0, $6270 = 0, $6271 = 0, $6272 = 0;
+ var $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0, $6279 = 0, $628 = 0, $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0, $6289 = 0, $629 = 0, $6290 = 0;
+ var $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $6298 = 0, $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0, $6306 = 0, $6307 = 0, $6308 = 0;
+ var $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0, $6314 = 0, $6315 = 0, $6316 = 0, $6317 = 0, $6318 = 0, $6319 = 0, $632 = 0, $6320 = 0, $6321 = 0, $6322 = 0, $6323 = 0, $6324 = 0, $6325 = 0, $6326 = 0;
+ var $6327 = 0, $6328 = 0, $6329 = 0, $633 = 0, $6330 = 0, $6331 = 0, $6332 = 0, $6333 = 0, $6334 = 0, $6335 = 0, $6336 = 0, $6337 = 0, $6338 = 0, $6339 = 0, $634 = 0, $6340 = 0, $6341 = 0, $6342 = 0, $6343 = 0, $6344 = 0;
+ var $6345 = 0, $6346 = 0, $6347 = 0, $6348 = 0, $6349 = 0, $635 = 0, $6350 = 0, $6351 = 0, $6352 = 0, $6353 = 0, $6354 = 0, $6355 = 0, $6356 = 0, $6357 = 0, $6358 = 0, $6359 = 0, $636 = 0, $6360 = 0, $6361 = 0, $6362 = 0;
+ var $6363 = 0, $6364 = 0, $6365 = 0, $6366 = 0, $6367 = 0, $6368 = 0, $6369 = 0, $637 = 0, $6370 = 0, $6371 = 0, $6372 = 0, $6373 = 0, $6374 = 0, $6375 = 0, $6376 = 0, $6377 = 0, $6378 = 0, $6379 = 0, $638 = 0, $6380 = 0;
+ var $6381 = 0, $6382 = 0, $6383 = 0, $6384 = 0, $6385 = 0, $6386 = 0, $6387 = 0, $6388 = 0, $6389 = 0, $639 = 0, $6390 = 0, $6391 = 0, $6392 = 0, $6393 = 0, $6394 = 0, $6395 = 0, $6396 = 0, $6397 = 0, $6398 = 0, $6399 = 0;
+ var $64 = 0, $640 = 0, $6400 = 0, $6401 = 0, $6402 = 0, $6403 = 0, $6404 = 0, $6405 = 0, $6406 = 0, $6407 = 0, $6408 = 0, $6409 = 0, $641 = 0, $6410 = 0, $6411 = 0, $6412 = 0, $6413 = 0, $6414 = 0, $6415 = 0, $6416 = 0;
+ var $6417 = 0, $6418 = 0, $6419 = 0, $642 = 0, $6420 = 0, $6421 = 0, $6422 = 0, $6423 = 0, $6424 = 0, $6425 = 0, $6426 = 0, $6427 = 0, $6428 = 0, $6429 = 0, $643 = 0, $6430 = 0, $6431 = 0, $6432 = 0, $6433 = 0, $6434 = 0;
+ var $6435 = 0, $6436 = 0, $6437 = 0, $6438 = 0, $6439 = 0, $644 = 0, $6440 = 0, $6441 = 0, $6442 = 0, $6443 = 0, $6444 = 0, $6445 = 0, $6446 = 0, $6447 = 0, $6448 = 0, $6449 = 0, $645 = 0, $6450 = 0, $6451 = 0, $6452 = 0;
+ var $6453 = 0, $6454 = 0, $6455 = 0, $6456 = 0, $6457 = 0, $6458 = 0, $6459 = 0, $646 = 0, $6460 = 0, $6461 = 0, $6462 = 0, $6463 = 0, $6464 = 0, $6465 = 0, $6466 = 0, $6467 = 0, $6468 = 0, $6469 = 0, $647 = 0, $6470 = 0;
+ var $6471 = 0, $6472 = 0, $6473 = 0, $6474 = 0, $6475 = 0, $6476 = 0, $6477 = 0, $6478 = 0, $6479 = 0, $648 = 0, $6480 = 0, $6481 = 0, $6482 = 0, $6483 = 0, $6484 = 0, $6485 = 0, $6486 = 0, $6487 = 0, $6488 = 0, $6489 = 0;
+ var $649 = 0, $6490 = 0, $6491 = 0, $6492 = 0, $6493 = 0, $6494 = 0, $6495 = 0, $6496 = 0, $6497 = 0, $6498 = 0, $6499 = 0, $65 = 0, $650 = 0, $6500 = 0, $6501 = 0, $6502 = 0, $6503 = 0, $6504 = 0, $6505 = 0, $6506 = 0;
+ var $6507 = 0, $6508 = 0, $6509 = 0, $651 = 0, $6510 = 0, $6511 = 0, $6512 = 0, $6513 = 0, $6514 = 0, $6515 = 0, $6516 = 0, $6517 = 0, $6518 = 0, $6519 = 0, $652 = 0, $6520 = 0, $6521 = 0, $6522 = 0, $6523 = 0, $6524 = 0;
+ var $6525 = 0, $6526 = 0, $6527 = 0, $6528 = 0, $6529 = 0, $653 = 0, $6530 = 0, $6531 = 0, $6532 = 0, $6533 = 0, $6534 = 0, $6535 = 0, $6536 = 0, $6537 = 0, $6538 = 0, $6539 = 0, $654 = 0, $6540 = 0, $6541 = 0, $6542 = 0;
+ var $6543 = 0, $6544 = 0, $6545 = 0, $6546 = 0, $6547 = 0, $6548 = 0, $6549 = 0, $655 = 0, $6550 = 0, $6551 = 0, $6552 = 0, $6553 = 0, $6554 = 0, $6555 = 0, $6556 = 0, $6557 = 0, $6558 = 0, $6559 = 0, $656 = 0, $6560 = 0;
+ var $6561 = 0, $6562 = 0, $6563 = 0, $6564 = 0, $6565 = 0, $6566 = 0, $6567 = 0, $6568 = 0, $6569 = 0, $657 = 0, $6570 = 0, $6571 = 0, $6572 = 0, $6573 = 0, $6574 = 0, $6575 = 0, $6576 = 0, $6577 = 0, $6578 = 0, $6579 = 0;
+ var $658 = 0, $6580 = 0, $6581 = 0, $6582 = 0, $6583 = 0, $6584 = 0, $6585 = 0, $6586 = 0, $6587 = 0, $6588 = 0, $6589 = 0, $659 = 0, $6590 = 0, $6591 = 0, $6592 = 0, $6593 = 0, $6594 = 0, $6595 = 0, $6596 = 0, $6597 = 0;
+ var $6598 = 0, $6599 = 0, $66 = 0, $660 = 0, $6600 = 0, $6601 = 0, $6602 = 0, $6603 = 0, $6604 = 0, $6605 = 0, $6606 = 0, $6607 = 0, $6608 = 0, $6609 = 0, $661 = 0, $6610 = 0, $6611 = 0, $6612 = 0, $6613 = 0, $6614 = 0;
+ var $6615 = 0, $6616 = 0, $6617 = 0, $6618 = 0, $6619 = 0, $662 = 0, $6620 = 0, $6621 = 0, $6622 = 0, $6623 = 0, $6624 = 0, $6625 = 0, $6626 = 0, $6627 = 0, $6628 = 0, $6629 = 0, $663 = 0, $6630 = 0, $6631 = 0, $6632 = 0;
+ var $6633 = 0, $6634 = 0, $6635 = 0, $6636 = 0, $6637 = 0, $6638 = 0, $6639 = 0, $664 = 0, $6640 = 0, $6641 = 0, $6642 = 0, $6643 = 0, $6644 = 0, $6645 = 0, $6646 = 0, $6647 = 0, $6648 = 0, $6649 = 0, $665 = 0, $6650 = 0;
+ var $6651 = 0, $6652 = 0, $6653 = 0, $6654 = 0, $6655 = 0, $6656 = 0, $6657 = 0, $6658 = 0, $6659 = 0, $666 = 0, $6660 = 0, $6661 = 0, $6662 = 0, $6663 = 0, $6664 = 0, $6665 = 0, $6666 = 0, $6667 = 0, $6668 = 0, $6669 = 0;
+ var $667 = 0, $6670 = 0, $6671 = 0, $6672 = 0, $6673 = 0, $6674 = 0, $6675 = 0, $6676 = 0, $6677 = 0, $6678 = 0, $6679 = 0, $668 = 0, $6680 = 0, $6681 = 0, $6682 = 0, $6683 = 0, $6684 = 0, $6685 = 0, $6686 = 0, $6687 = 0;
+ var $6688 = 0, $6689 = 0, $669 = 0, $6690 = 0, $6691 = 0, $6692 = 0, $6693 = 0, $6694 = 0, $6695 = 0, $6696 = 0, $6697 = 0, $6698 = 0, $6699 = 0, $67 = 0, $670 = 0, $6700 = 0, $6701 = 0, $6702 = 0, $6703 = 0, $6704 = 0;
+ var $6705 = 0, $6706 = 0, $6707 = 0, $6708 = 0, $6709 = 0, $671 = 0, $6710 = 0, $6711 = 0, $6712 = 0, $6713 = 0, $6714 = 0, $6715 = 0, $6716 = 0, $6717 = 0, $6718 = 0, $6719 = 0, $672 = 0, $6720 = 0, $6721 = 0, $6722 = 0;
+ var $6723 = 0, $6724 = 0, $6725 = 0, $6726 = 0, $6727 = 0, $6728 = 0, $6729 = 0, $673 = 0, $6730 = 0, $6731 = 0, $6732 = 0, $6733 = 0, $6734 = 0, $6735 = 0, $6736 = 0, $6737 = 0, $6738 = 0, $6739 = 0, $674 = 0, $6740 = 0;
+ var $6741 = 0, $6742 = 0, $6743 = 0, $6744 = 0, $6745 = 0, $6746 = 0, $6747 = 0, $6748 = 0, $6749 = 0, $675 = 0, $6750 = 0, $6751 = 0, $6752 = 0, $6753 = 0, $6754 = 0, $6755 = 0, $6756 = 0, $6757 = 0, $6758 = 0, $6759 = 0;
+ var $676 = 0, $6760 = 0, $6761 = 0, $6762 = 0, $6763 = 0, $6764 = 0, $6765 = 0, $6766 = 0, $6767 = 0, $6768 = 0, $6769 = 0, $677 = 0, $6770 = 0, $6771 = 0, $6772 = 0, $6773 = 0, $6774 = 0, $6775 = 0, $6776 = 0, $6777 = 0;
+ var $6778 = 0, $6779 = 0, $678 = 0, $6780 = 0, $6781 = 0, $6782 = 0, $6783 = 0, $6784 = 0, $6785 = 0, $6786 = 0, $6787 = 0, $6788 = 0, $6789 = 0, $679 = 0, $6790 = 0, $6791 = 0, $6792 = 0, $6793 = 0, $6794 = 0, $6795 = 0;
+ var $6796 = 0, $6797 = 0, $6798 = 0, $6799 = 0, $68 = 0, $680 = 0, $6800 = 0, $6801 = 0, $6802 = 0, $6803 = 0, $6804 = 0, $6805 = 0, $6806 = 0, $6807 = 0, $6808 = 0, $6809 = 0, $681 = 0, $6810 = 0, $6811 = 0, $6812 = 0;
+ var $6813 = 0, $6814 = 0, $6815 = 0, $6816 = 0, $6817 = 0, $6818 = 0, $6819 = 0, $682 = 0, $6820 = 0, $6821 = 0, $6822 = 0, $6823 = 0, $6824 = 0, $6825 = 0, $6826 = 0, $6827 = 0, $6828 = 0, $6829 = 0, $683 = 0, $6830 = 0;
+ var $6831 = 0, $6832 = 0, $6833 = 0, $6834 = 0, $6835 = 0, $6836 = 0, $6837 = 0, $6838 = 0, $6839 = 0, $684 = 0, $6840 = 0, $6841 = 0, $6842 = 0, $6843 = 0, $6844 = 0, $6845 = 0, $6846 = 0, $6847 = 0, $6848 = 0, $6849 = 0;
+ var $685 = 0, $6850 = 0, $6851 = 0, $6852 = 0, $6853 = 0, $6854 = 0, $6855 = 0, $6856 = 0, $6857 = 0, $6858 = 0, $6859 = 0, $686 = 0, $6860 = 0, $6861 = 0, $6862 = 0, $6863 = 0, $6864 = 0, $6865 = 0, $6866 = 0, $6867 = 0;
+ var $6868 = 0, $6869 = 0, $687 = 0, $6870 = 0, $6871 = 0, $6872 = 0, $6873 = 0, $6874 = 0, $6875 = 0, $6876 = 0, $6877 = 0, $6878 = 0, $6879 = 0, $688 = 0, $6880 = 0, $6881 = 0, $6882 = 0, $6883 = 0, $6884 = 0, $6885 = 0;
+ var $6886 = 0, $6887 = 0, $6888 = 0, $6889 = 0, $689 = 0, $6890 = 0, $6891 = 0, $6892 = 0, $6893 = 0, $6894 = 0, $6895 = 0, $6896 = 0, $6897 = 0, $6898 = 0, $6899 = 0, $69 = 0, $690 = 0, $6900 = 0, $6901 = 0, $6902 = 0;
+ var $6903 = 0, $6904 = 0, $6905 = 0, $6906 = 0, $6907 = 0, $6908 = 0, $6909 = 0, $691 = 0, $6910 = 0, $6911 = 0, $6912 = 0, $6913 = 0, $6914 = 0, $6915 = 0, $6916 = 0, $6917 = 0, $6918 = 0, $6919 = 0, $692 = 0, $6920 = 0;
+ var $6921 = 0, $6922 = 0, $6923 = 0, $6924 = 0, $6925 = 0, $6926 = 0, $6927 = 0, $6928 = 0, $6929 = 0, $693 = 0, $6930 = 0, $6931 = 0, $6932 = 0, $6933 = 0, $6934 = 0, $6935 = 0, $6936 = 0, $6937 = 0, $6938 = 0, $6939 = 0;
+ var $694 = 0, $6940 = 0, $6941 = 0, $6942 = 0, $6943 = 0, $6944 = 0, $6945 = 0, $6946 = 0, $6947 = 0, $6948 = 0, $6949 = 0, $695 = 0, $6950 = 0, $6951 = 0, $6952 = 0, $6953 = 0, $6954 = 0, $6955 = 0, $6956 = 0, $6957 = 0;
+ var $6958 = 0, $6959 = 0, $696 = 0, $6960 = 0, $6961 = 0, $6962 = 0, $6963 = 0, $6964 = 0, $6965 = 0, $6966 = 0, $6967 = 0, $6968 = 0, $6969 = 0, $697 = 0, $6970 = 0, $6971 = 0, $6972 = 0, $6973 = 0, $6974 = 0, $6975 = 0;
+ var $6976 = 0, $6977 = 0, $6978 = 0, $6979 = 0, $698 = 0, $6980 = 0, $6981 = 0, $6982 = 0, $6983 = 0, $6984 = 0, $6985 = 0, $6986 = 0, $6987 = 0, $6988 = 0, $6989 = 0, $699 = 0, $6990 = 0, $6991 = 0, $6992 = 0, $6993 = 0;
+ var $6994 = 0, $6995 = 0, $6996 = 0, $6997 = 0, $6998 = 0, $6999 = 0, $7 = 0, $70 = 0, $700 = 0, $7000 = 0, $7001 = 0, $7002 = 0, $7003 = 0, $7004 = 0, $7005 = 0, $7006 = 0, $7007 = 0, $7008 = 0, $7009 = 0, $701 = 0;
+ var $7010 = 0, $7011 = 0, $7012 = 0, $7013 = 0, $7014 = 0, $7015 = 0, $7016 = 0, $7017 = 0, $7018 = 0, $7019 = 0, $702 = 0, $7020 = 0, $7021 = 0, $7022 = 0, $7023 = 0, $7024 = 0, $7025 = 0, $7026 = 0, $7027 = 0, $7028 = 0;
+ var $7029 = 0, $703 = 0, $7030 = 0, $7031 = 0, $7032 = 0, $7033 = 0, $7034 = 0, $7035 = 0, $7036 = 0, $7037 = 0, $7038 = 0, $7039 = 0, $704 = 0, $7040 = 0, $7041 = 0, $7042 = 0, $7043 = 0, $7044 = 0, $7045 = 0, $7046 = 0;
+ var $7047 = 0, $7048 = 0, $7049 = 0, $705 = 0, $7050 = 0, $7051 = 0, $7052 = 0, $7053 = 0, $7054 = 0, $7055 = 0, $7056 = 0, $7057 = 0, $7058 = 0, $7059 = 0, $706 = 0, $7060 = 0, $7061 = 0, $7062 = 0, $7063 = 0, $7064 = 0;
+ var $7065 = 0, $7066 = 0, $7067 = 0, $7068 = 0, $7069 = 0, $707 = 0, $7070 = 0, $7071 = 0, $7072 = 0, $7073 = 0, $7074 = 0, $7075 = 0, $7076 = 0, $7077 = 0, $7078 = 0, $7079 = 0, $708 = 0, $7080 = 0, $7081 = 0, $7082 = 0;
+ var $7083 = 0, $7084 = 0, $7085 = 0, $7086 = 0, $7087 = 0, $7088 = 0, $7089 = 0, $709 = 0, $7090 = 0, $7091 = 0, $7092 = 0, $7093 = 0, $7094 = 0, $7095 = 0, $7096 = 0, $7097 = 0, $7098 = 0, $7099 = 0, $71 = 0, $710 = 0;
+ var $7100 = 0, $7101 = 0, $7102 = 0, $7103 = 0, $7104 = 0, $7105 = 0, $7106 = 0, $7107 = 0, $7108 = 0, $7109 = 0, $711 = 0, $7110 = 0, $7111 = 0, $7112 = 0, $7113 = 0, $7114 = 0, $7115 = 0, $7116 = 0, $7117 = 0, $7118 = 0;
+ var $7119 = 0, $712 = 0, $7120 = 0, $7121 = 0, $7122 = 0, $7123 = 0, $7124 = 0, $7125 = 0, $7126 = 0, $7127 = 0, $7128 = 0, $7129 = 0, $713 = 0, $7130 = 0, $7131 = 0, $7132 = 0, $7133 = 0, $7134 = 0, $7135 = 0, $7136 = 0;
+ var $7137 = 0, $7138 = 0, $7139 = 0, $714 = 0, $7140 = 0, $7141 = 0, $7142 = 0, $7143 = 0, $7144 = 0, $7145 = 0, $7146 = 0, $7147 = 0, $7148 = 0, $7149 = 0, $715 = 0, $7150 = 0, $7151 = 0, $7152 = 0, $7153 = 0, $7154 = 0;
+ var $7155 = 0, $7156 = 0, $7157 = 0, $7158 = 0, $7159 = 0, $716 = 0, $7160 = 0, $7161 = 0, $7162 = 0, $7163 = 0, $7164 = 0, $7165 = 0, $7166 = 0, $7167 = 0, $7168 = 0, $7169 = 0, $717 = 0, $7170 = 0, $7171 = 0, $7172 = 0;
+ var $7173 = 0, $7174 = 0, $7175 = 0, $7176 = 0, $7177 = 0, $7178 = 0, $7179 = 0, $718 = 0, $7180 = 0, $7181 = 0, $7182 = 0, $7183 = 0, $7184 = 0, $7185 = 0, $7186 = 0, $7187 = 0, $7188 = 0, $7189 = 0, $719 = 0, $7190 = 0;
+ var $7191 = 0, $7192 = 0, $7193 = 0, $7194 = 0, $7195 = 0, $7196 = 0, $7197 = 0, $7198 = 0, $7199 = 0, $72 = 0, $720 = 0, $7200 = 0, $7201 = 0, $7202 = 0, $7203 = 0, $7204 = 0, $7205 = 0, $7206 = 0, $7207 = 0, $7208 = 0;
+ var $7209 = 0, $721 = 0, $7210 = 0, $7211 = 0, $7212 = 0, $7213 = 0, $7214 = 0, $7215 = 0, $7216 = 0, $7217 = 0, $7218 = 0, $7219 = 0, $722 = 0, $7220 = 0, $7221 = 0, $7222 = 0, $7223 = 0, $7224 = 0, $7225 = 0, $7226 = 0;
+ var $7227 = 0, $7228 = 0, $7229 = 0, $723 = 0, $7230 = 0, $7231 = 0, $7232 = 0, $7233 = 0, $7234 = 0, $7235 = 0, $7236 = 0, $7237 = 0, $7238 = 0, $7239 = 0, $724 = 0, $7240 = 0, $7241 = 0, $7242 = 0, $7243 = 0, $7244 = 0;
+ var $7245 = 0, $7246 = 0, $7247 = 0, $7248 = 0, $7249 = 0, $725 = 0, $7250 = 0, $7251 = 0, $7252 = 0, $7253 = 0, $7254 = 0, $7255 = 0, $7256 = 0, $7257 = 0, $7258 = 0, $7259 = 0, $726 = 0, $7260 = 0, $7261 = 0, $7262 = 0;
+ var $7263 = 0, $7264 = 0, $7265 = 0, $7266 = 0, $7267 = 0, $7268 = 0, $7269 = 0, $727 = 0, $7270 = 0, $7271 = 0, $7272 = 0, $7273 = 0, $7274 = 0, $7275 = 0, $7276 = 0, $7277 = 0, $7278 = 0, $7279 = 0, $728 = 0, $7280 = 0;
+ var $7281 = 0, $7282 = 0, $7283 = 0, $7284 = 0, $7285 = 0, $7286 = 0, $7287 = 0, $7288 = 0, $7289 = 0, $729 = 0, $7290 = 0, $7291 = 0, $7292 = 0, $7293 = 0, $7294 = 0, $7295 = 0, $7296 = 0, $7297 = 0, $7298 = 0, $7299 = 0;
+ var $73 = 0, $730 = 0, $7300 = 0, $7301 = 0, $7302 = 0, $7303 = 0, $7304 = 0, $7305 = 0, $7306 = 0, $7307 = 0, $7308 = 0, $7309 = 0, $731 = 0, $7310 = 0, $7311 = 0, $7312 = 0, $7313 = 0, $7314 = 0, $7315 = 0, $7316 = 0;
+ var $7317 = 0, $7318 = 0, $7319 = 0, $732 = 0, $7320 = 0, $7321 = 0, $7322 = 0, $7323 = 0, $7324 = 0, $7325 = 0, $7326 = 0, $7327 = 0, $7328 = 0, $7329 = 0, $733 = 0, $7330 = 0, $7331 = 0, $7332 = 0, $7333 = 0, $7334 = 0;
+ var $7335 = 0, $7336 = 0, $7337 = 0, $7338 = 0, $7339 = 0, $734 = 0, $7340 = 0, $7341 = 0, $7342 = 0, $7343 = 0, $7344 = 0, $7345 = 0, $7346 = 0, $7347 = 0, $7348 = 0, $7349 = 0, $735 = 0, $7350 = 0, $7351 = 0, $7352 = 0;
+ var $7353 = 0, $7354 = 0, $7355 = 0, $7356 = 0, $7357 = 0, $7358 = 0, $7359 = 0, $736 = 0, $7360 = 0, $7361 = 0, $7362 = 0, $7363 = 0, $7364 = 0, $7365 = 0, $7366 = 0, $7367 = 0, $7368 = 0, $7369 = 0, $737 = 0, $7370 = 0;
+ var $7371 = 0, $7372 = 0, $7373 = 0, $7374 = 0, $7375 = 0, $7376 = 0, $7377 = 0, $7378 = 0, $7379 = 0, $738 = 0, $7380 = 0, $7381 = 0, $7382 = 0, $7383 = 0, $7384 = 0, $7385 = 0, $7386 = 0, $7387 = 0, $7388 = 0, $7389 = 0;
+ var $739 = 0, $7390 = 0, $7391 = 0, $7392 = 0, $7393 = 0, $7394 = 0, $7395 = 0, $7396 = 0, $7397 = 0, $7398 = 0, $7399 = 0, $74 = 0, $740 = 0, $7400 = 0, $7401 = 0, $7402 = 0, $7403 = 0, $7404 = 0, $7405 = 0, $7406 = 0;
+ var $7407 = 0, $7408 = 0, $7409 = 0, $741 = 0, $7410 = 0, $7411 = 0, $7412 = 0, $7413 = 0, $7414 = 0, $7415 = 0, $7416 = 0, $7417 = 0, $7418 = 0, $7419 = 0, $742 = 0, $7420 = 0, $7421 = 0, $7422 = 0, $7423 = 0, $7424 = 0;
+ var $7425 = 0, $7426 = 0, $7427 = 0, $7428 = 0, $7429 = 0, $743 = 0, $7430 = 0, $7431 = 0, $7432 = 0, $7433 = 0, $7434 = 0, $7435 = 0, $7436 = 0, $7437 = 0, $7438 = 0, $7439 = 0, $744 = 0, $7440 = 0, $7441 = 0, $7442 = 0;
+ var $7443 = 0, $7444 = 0, $7445 = 0, $7446 = 0, $7447 = 0, $7448 = 0, $7449 = 0, $745 = 0, $7450 = 0, $7451 = 0, $7452 = 0, $7453 = 0, $7454 = 0, $7455 = 0, $7456 = 0, $7457 = 0, $7458 = 0, $7459 = 0, $746 = 0, $7460 = 0;
+ var $7461 = 0, $7462 = 0, $7463 = 0, $7464 = 0, $7465 = 0, $7466 = 0, $7467 = 0, $7468 = 0, $7469 = 0, $747 = 0, $7470 = 0, $7471 = 0, $7472 = 0, $7473 = 0, $7474 = 0, $7475 = 0, $7476 = 0, $7477 = 0, $7478 = 0, $7479 = 0;
+ var $748 = 0, $7480 = 0, $7481 = 0, $7482 = 0, $7483 = 0, $7484 = 0, $7485 = 0, $7486 = 0, $7487 = 0, $7488 = 0, $7489 = 0, $749 = 0, $7490 = 0, $7491 = 0, $7492 = 0, $7493 = 0, $7494 = 0, $7495 = 0, $7496 = 0, $7497 = 0;
+ var $7498 = 0, $7499 = 0, $75 = 0, $750 = 0, $7500 = 0, $7501 = 0, $7502 = 0, $7503 = 0, $7504 = 0, $7505 = 0, $7506 = 0, $7507 = 0, $7508 = 0, $7509 = 0, $751 = 0, $7510 = 0, $7511 = 0, $7512 = 0, $7513 = 0, $7514 = 0;
+ var $7515 = 0, $7516 = 0, $7517 = 0, $7518 = 0, $7519 = 0, $752 = 0, $7520 = 0, $7521 = 0, $7522 = 0, $7523 = 0, $7524 = 0, $7525 = 0, $7526 = 0, $7527 = 0, $7528 = 0, $7529 = 0, $753 = 0, $7530 = 0, $7531 = 0, $7532 = 0;
+ var $7533 = 0, $7534 = 0, $7535 = 0, $7536 = 0, $7537 = 0, $7538 = 0, $7539 = 0, $754 = 0, $7540 = 0, $7541 = 0, $7542 = 0, $7543 = 0, $7544 = 0, $7545 = 0, $7546 = 0, $7547 = 0, $7548 = 0, $7549 = 0, $755 = 0, $7550 = 0;
+ var $7551 = 0, $7552 = 0, $7553 = 0, $7554 = 0, $7555 = 0, $7556 = 0, $7557 = 0, $7558 = 0, $7559 = 0, $756 = 0, $7560 = 0, $7561 = 0, $7562 = 0, $7563 = 0, $7564 = 0, $7565 = 0, $7566 = 0, $7567 = 0, $7568 = 0, $7569 = 0;
+ var $757 = 0, $7570 = 0, $7571 = 0, $7572 = 0, $7573 = 0, $7574 = 0, $7575 = 0, $7576 = 0, $7577 = 0, $7578 = 0, $7579 = 0, $758 = 0, $7580 = 0, $7581 = 0, $7582 = 0, $7583 = 0, $7584 = 0, $7585 = 0, $7586 = 0, $7587 = 0;
+ var $7588 = 0, $7589 = 0, $759 = 0, $7590 = 0, $7591 = 0, $7592 = 0, $7593 = 0, $7594 = 0, $7595 = 0, $7596 = 0, $7597 = 0, $7598 = 0, $7599 = 0, $76 = 0, $760 = 0, $7600 = 0, $7601 = 0, $7602 = 0, $7603 = 0, $7604 = 0;
+ var $7605 = 0, $7606 = 0, $7607 = 0, $7608 = 0, $7609 = 0, $761 = 0, $7610 = 0, $7611 = 0, $7612 = 0, $7613 = 0, $7614 = 0, $7615 = 0, $7616 = 0, $7617 = 0, $7618 = 0, $7619 = 0, $762 = 0, $7620 = 0, $7621 = 0, $7622 = 0;
+ var $7623 = 0, $7624 = 0, $7625 = 0, $7626 = 0, $7627 = 0, $7628 = 0, $7629 = 0, $763 = 0, $7630 = 0, $7631 = 0, $7632 = 0, $7633 = 0, $7634 = 0, $7635 = 0, $7636 = 0, $7637 = 0, $7638 = 0, $7639 = 0, $764 = 0, $7640 = 0;
+ var $7641 = 0, $7642 = 0, $7643 = 0, $7644 = 0, $7645 = 0, $7646 = 0, $7647 = 0, $7648 = 0, $7649 = 0, $765 = 0, $7650 = 0, $7651 = 0, $7652 = 0, $7653 = 0, $7654 = 0, $7655 = 0, $7656 = 0, $7657 = 0, $7658 = 0, $7659 = 0;
+ var $766 = 0, $7660 = 0, $7661 = 0, $7662 = 0, $7663 = 0, $7664 = 0, $7665 = 0, $7666 = 0, $7667 = 0, $7668 = 0, $7669 = 0, $767 = 0, $7670 = 0, $7671 = 0, $7672 = 0, $7673 = 0, $7674 = 0, $7675 = 0, $7676 = 0, $7677 = 0;
+ var $7678 = 0, $7679 = 0, $768 = 0, $7680 = 0, $7681 = 0, $7682 = 0, $7683 = 0, $7684 = 0, $7685 = 0, $7686 = 0, $7687 = 0, $7688 = 0, $7689 = 0, $769 = 0, $7690 = 0, $7691 = 0, $7692 = 0, $7693 = 0, $7694 = 0, $7695 = 0;
+ var $7696 = 0, $7697 = 0, $7698 = 0, $7699 = 0, $77 = 0, $770 = 0, $7700 = 0, $7701 = 0, $7702 = 0, $7703 = 0, $7704 = 0, $7705 = 0, $7706 = 0, $7707 = 0, $7708 = 0, $7709 = 0, $771 = 0, $7710 = 0, $7711 = 0, $7712 = 0;
+ var $7713 = 0, $7714 = 0, $7715 = 0, $7716 = 0, $7717 = 0, $7718 = 0, $7719 = 0, $772 = 0, $7720 = 0, $7721 = 0, $7722 = 0, $7723 = 0, $7724 = 0, $7725 = 0, $7726 = 0, $7727 = 0, $7728 = 0, $7729 = 0, $773 = 0, $7730 = 0;
+ var $7731 = 0, $7732 = 0, $7733 = 0, $7734 = 0, $7735 = 0, $7736 = 0, $7737 = 0, $7738 = 0, $7739 = 0, $774 = 0, $7740 = 0, $7741 = 0, $7742 = 0, $7743 = 0, $7744 = 0, $7745 = 0, $7746 = 0, $7747 = 0, $7748 = 0, $7749 = 0;
+ var $775 = 0, $7750 = 0, $7751 = 0, $7752 = 0, $7753 = 0, $7754 = 0, $7755 = 0, $7756 = 0, $7757 = 0, $7758 = 0, $7759 = 0, $776 = 0, $7760 = 0, $7761 = 0, $7762 = 0, $7763 = 0, $7764 = 0, $7765 = 0, $7766 = 0, $7767 = 0;
+ var $7768 = 0, $7769 = 0, $777 = 0, $7770 = 0, $7771 = 0, $7772 = 0, $7773 = 0, $7774 = 0, $7775 = 0, $7776 = 0, $7777 = 0, $7778 = 0, $7779 = 0, $778 = 0, $7780 = 0, $7781 = 0, $7782 = 0, $7783 = 0, $7784 = 0, $7785 = 0;
+ var $7786 = 0, $7787 = 0, $7788 = 0, $7789 = 0, $779 = 0, $7790 = 0, $7791 = 0, $7792 = 0, $7793 = 0, $7794 = 0, $7795 = 0, $7796 = 0, $7797 = 0, $7798 = 0, $7799 = 0, $78 = 0, $780 = 0, $7800 = 0, $7801 = 0, $7802 = 0;
+ var $7803 = 0, $7804 = 0, $7805 = 0, $7806 = 0, $7807 = 0, $7808 = 0, $7809 = 0, $781 = 0, $7810 = 0, $7811 = 0, $7812 = 0, $7813 = 0, $7814 = 0, $7815 = 0, $7816 = 0, $7817 = 0, $7818 = 0, $7819 = 0, $782 = 0, $7820 = 0;
+ var $7821 = 0, $7822 = 0, $7823 = 0, $7824 = 0, $7825 = 0, $7826 = 0, $7827 = 0, $7828 = 0, $7829 = 0, $783 = 0, $7830 = 0, $7831 = 0, $7832 = 0, $7833 = 0, $7834 = 0, $7835 = 0, $7836 = 0, $7837 = 0, $7838 = 0, $7839 = 0;
+ var $784 = 0, $7840 = 0, $7841 = 0, $7842 = 0, $7843 = 0, $7844 = 0, $7845 = 0, $7846 = 0, $7847 = 0, $7848 = 0, $7849 = 0, $785 = 0, $7850 = 0, $7851 = 0, $7852 = 0, $7853 = 0, $7854 = 0, $7855 = 0, $7856 = 0, $7857 = 0;
+ var $7858 = 0, $7859 = 0, $786 = 0, $7860 = 0, $7861 = 0, $7862 = 0, $7863 = 0, $7864 = 0, $7865 = 0, $7866 = 0, $7867 = 0, $7868 = 0, $7869 = 0, $787 = 0, $7870 = 0, $7871 = 0, $7872 = 0, $7873 = 0, $7874 = 0, $7875 = 0;
+ var $7876 = 0, $7877 = 0, $7878 = 0, $7879 = 0, $788 = 0, $7880 = 0, $7881 = 0, $7882 = 0, $7883 = 0, $7884 = 0, $7885 = 0, $7886 = 0, $7887 = 0, $7888 = 0, $7889 = 0, $789 = 0, $7890 = 0, $7891 = 0, $7892 = 0, $7893 = 0;
+ var $7894 = 0, $7895 = 0, $7896 = 0, $7897 = 0, $7898 = 0, $7899 = 0, $79 = 0, $790 = 0, $7900 = 0, $7901 = 0, $7902 = 0, $7903 = 0, $7904 = 0, $7905 = 0, $7906 = 0, $7907 = 0, $7908 = 0, $7909 = 0, $791 = 0, $7910 = 0;
+ var $7911 = 0, $7912 = 0, $7913 = 0, $7914 = 0, $7915 = 0, $7916 = 0, $7917 = 0, $7918 = 0, $7919 = 0, $792 = 0, $7920 = 0, $7921 = 0, $7922 = 0, $7923 = 0, $7924 = 0, $7925 = 0, $7926 = 0, $7927 = 0, $7928 = 0, $7929 = 0;
+ var $793 = 0, $7930 = 0, $7931 = 0, $7932 = 0, $7933 = 0, $7934 = 0, $7935 = 0, $7936 = 0, $7937 = 0, $7938 = 0, $7939 = 0, $794 = 0, $7940 = 0, $7941 = 0, $7942 = 0, $7943 = 0, $7944 = 0, $7945 = 0, $7946 = 0, $7947 = 0;
+ var $7948 = 0, $7949 = 0, $795 = 0, $7950 = 0, $7951 = 0, $7952 = 0, $7953 = 0, $7954 = 0, $7955 = 0, $7956 = 0, $7957 = 0, $7958 = 0, $7959 = 0, $796 = 0, $7960 = 0, $7961 = 0, $7962 = 0, $7963 = 0, $7964 = 0, $7965 = 0;
+ var $7966 = 0, $7967 = 0, $7968 = 0, $7969 = 0, $797 = 0, $7970 = 0, $7971 = 0, $7972 = 0, $7973 = 0, $7974 = 0, $7975 = 0, $7976 = 0, $7977 = 0, $7978 = 0, $7979 = 0, $798 = 0, $7980 = 0, $7981 = 0, $7982 = 0, $7983 = 0;
+ var $7984 = 0, $7985 = 0, $7986 = 0, $7987 = 0, $7988 = 0, $7989 = 0, $799 = 0, $7990 = 0, $7991 = 0, $7992 = 0, $7993 = 0, $7994 = 0, $7995 = 0, $7996 = 0, $7997 = 0, $7998 = 0, $7999 = 0, $8 = 0, $80 = 0, $800 = 0;
+ var $8000 = 0, $8001 = 0, $8002 = 0, $8003 = 0, $8004 = 0, $8005 = 0, $8006 = 0, $8007 = 0, $8008 = 0, $8009 = 0, $801 = 0, $8010 = 0, $8011 = 0, $8012 = 0, $8013 = 0, $8014 = 0, $8015 = 0, $8016 = 0, $8017 = 0, $8018 = 0;
+ var $8019 = 0, $802 = 0, $8020 = 0, $8021 = 0, $8022 = 0, $8023 = 0, $8024 = 0, $8025 = 0, $8026 = 0, $8027 = 0, $8028 = 0, $8029 = 0, $803 = 0, $8030 = 0, $8031 = 0, $8032 = 0, $8033 = 0, $8034 = 0, $8035 = 0, $8036 = 0;
+ var $8037 = 0, $8038 = 0, $8039 = 0, $804 = 0, $8040 = 0, $8041 = 0, $8042 = 0, $8043 = 0, $8044 = 0, $8045 = 0, $8046 = 0, $8047 = 0, $8048 = 0, $8049 = 0, $805 = 0, $8050 = 0, $8051 = 0, $8052 = 0, $8053 = 0, $8054 = 0;
+ var $8055 = 0, $8056 = 0, $8057 = 0, $8058 = 0, $8059 = 0, $806 = 0, $8060 = 0, $8061 = 0, $8062 = 0, $8063 = 0, $8064 = 0, $8065 = 0, $8066 = 0, $8067 = 0, $8068 = 0, $8069 = 0, $807 = 0, $8070 = 0, $8071 = 0, $8072 = 0;
+ var $8073 = 0, $8074 = 0, $8075 = 0, $8076 = 0, $8077 = 0, $8078 = 0, $8079 = 0, $808 = 0, $8080 = 0, $8081 = 0, $8082 = 0, $8083 = 0, $8084 = 0, $8085 = 0, $8086 = 0, $8087 = 0, $8088 = 0, $8089 = 0, $809 = 0, $8090 = 0;
+ var $8091 = 0, $8092 = 0, $8093 = 0, $8094 = 0, $8095 = 0, $8096 = 0, $8097 = 0, $8098 = 0, $8099 = 0, $81 = 0, $810 = 0, $8100 = 0, $8101 = 0, $8102 = 0, $8103 = 0, $8104 = 0, $8105 = 0, $8106 = 0, $8107 = 0, $8108 = 0;
+ var $8109 = 0, $811 = 0, $8110 = 0, $8111 = 0, $8112 = 0, $8113 = 0, $8114 = 0, $8115 = 0, $8116 = 0, $8117 = 0, $8118 = 0, $8119 = 0, $812 = 0, $8120 = 0, $8121 = 0, $8122 = 0, $8123 = 0, $8124 = 0, $8125 = 0, $8126 = 0;
+ var $8127 = 0, $8128 = 0, $8129 = 0, $813 = 0, $8130 = 0, $8131 = 0, $8132 = 0, $8133 = 0, $8134 = 0, $8135 = 0, $8136 = 0, $8137 = 0, $8138 = 0, $8139 = 0, $814 = 0, $8140 = 0, $8141 = 0, $8142 = 0, $8143 = 0, $8144 = 0;
+ var $8145 = 0, $8146 = 0, $8147 = 0, $8148 = 0, $8149 = 0, $815 = 0, $8150 = 0, $8151 = 0, $8152 = 0, $8153 = 0, $8154 = 0, $8155 = 0, $8156 = 0, $8157 = 0, $8158 = 0, $8159 = 0, $816 = 0, $8160 = 0, $8161 = 0, $8162 = 0;
+ var $8163 = 0, $8164 = 0, $8165 = 0, $8166 = 0, $8167 = 0, $8168 = 0, $8169 = 0, $817 = 0, $8170 = 0, $8171 = 0, $8172 = 0, $8173 = 0, $8174 = 0, $8175 = 0, $8176 = 0, $8177 = 0, $8178 = 0, $8179 = 0, $818 = 0, $8180 = 0;
+ var $8181 = 0, $8182 = 0, $8183 = 0, $8184 = 0, $8185 = 0, $8186 = 0, $8187 = 0, $8188 = 0, $8189 = 0, $819 = 0, $8190 = 0, $8191 = 0, $8192 = 0, $8193 = 0, $8194 = 0, $8195 = 0, $8196 = 0, $8197 = 0, $8198 = 0, $8199 = 0;
+ var $82 = 0, $820 = 0, $8200 = 0, $8201 = 0, $8202 = 0, $8203 = 0, $8204 = 0, $8205 = 0, $8206 = 0, $8207 = 0, $8208 = 0, $8209 = 0, $821 = 0, $8210 = 0, $8211 = 0, $8212 = 0, $8213 = 0, $8214 = 0, $8215 = 0, $8216 = 0;
+ var $8217 = 0, $8218 = 0, $8219 = 0, $822 = 0, $8220 = 0, $8221 = 0, $8222 = 0, $8223 = 0, $8224 = 0, $8225 = 0, $8226 = 0, $8227 = 0, $8228 = 0, $8229 = 0, $823 = 0, $8230 = 0, $8231 = 0, $8232 = 0, $8233 = 0, $8234 = 0;
+ var $8235 = 0, $8236 = 0, $8237 = 0, $8238 = 0, $8239 = 0, $824 = 0, $8240 = 0, $8241 = 0, $8242 = 0, $8243 = 0, $8244 = 0, $8245 = 0, $8246 = 0, $8247 = 0, $8248 = 0, $8249 = 0, $825 = 0, $8250 = 0, $8251 = 0, $8252 = 0;
+ var $8253 = 0, $8254 = 0, $8255 = 0, $8256 = 0, $8257 = 0, $8258 = 0, $8259 = 0, $826 = 0, $8260 = 0, $8261 = 0, $8262 = 0, $8263 = 0, $8264 = 0, $8265 = 0, $8266 = 0, $8267 = 0, $8268 = 0, $8269 = 0, $827 = 0, $8270 = 0;
+ var $8271 = 0, $8272 = 0, $8273 = 0, $8274 = 0, $8275 = 0, $8276 = 0, $8277 = 0, $8278 = 0, $8279 = 0, $828 = 0, $8280 = 0, $8281 = 0, $8282 = 0, $8283 = 0, $8284 = 0, $8285 = 0, $8286 = 0, $8287 = 0, $8288 = 0, $8289 = 0;
+ var $829 = 0, $8290 = 0, $8291 = 0, $8292 = 0, $8293 = 0, $8294 = 0, $8295 = 0, $8296 = 0, $8297 = 0, $8298 = 0, $8299 = 0, $83 = 0, $830 = 0, $8300 = 0, $8301 = 0, $8302 = 0, $8303 = 0, $8304 = 0, $8305 = 0, $8306 = 0;
+ var $8307 = 0, $8308 = 0, $8309 = 0, $831 = 0, $8310 = 0, $8311 = 0, $8312 = 0, $8313 = 0, $8314 = 0, $8315 = 0, $8316 = 0, $8317 = 0, $8318 = 0, $8319 = 0, $832 = 0, $8320 = 0, $8321 = 0, $8322 = 0, $8323 = 0, $8324 = 0;
+ var $8325 = 0, $8326 = 0, $8327 = 0, $8328 = 0, $8329 = 0, $833 = 0, $8330 = 0, $8331 = 0, $8332 = 0, $8333 = 0, $8334 = 0, $8335 = 0, $8336 = 0, $8337 = 0, $8338 = 0, $8339 = 0, $834 = 0, $8340 = 0, $8341 = 0, $8342 = 0;
+ var $8343 = 0, $8344 = 0, $8345 = 0, $8346 = 0, $8347 = 0, $8348 = 0, $8349 = 0, $835 = 0, $8350 = 0, $8351 = 0, $8352 = 0, $8353 = 0, $8354 = 0, $8355 = 0, $8356 = 0, $8357 = 0, $8358 = 0, $8359 = 0, $836 = 0, $8360 = 0;
+ var $8361 = 0, $8362 = 0, $8363 = 0, $8364 = 0, $8365 = 0, $8366 = 0, $8367 = 0, $8368 = 0, $8369 = 0, $837 = 0, $8370 = 0, $8371 = 0, $8372 = 0, $8373 = 0, $8374 = 0, $8375 = 0, $8376 = 0, $8377 = 0, $8378 = 0, $8379 = 0;
+ var $838 = 0, $8380 = 0, $8381 = 0, $8382 = 0, $8383 = 0, $8384 = 0, $8385 = 0, $8386 = 0, $8387 = 0, $8388 = 0, $8389 = 0, $839 = 0, $8390 = 0, $8391 = 0, $8392 = 0, $8393 = 0, $8394 = 0, $8395 = 0, $8396 = 0, $8397 = 0;
+ var $8398 = 0, $8399 = 0, $84 = 0, $840 = 0, $8400 = 0, $8401 = 0, $8402 = 0, $8403 = 0, $8404 = 0, $8405 = 0, $8406 = 0, $8407 = 0, $8408 = 0, $8409 = 0, $841 = 0, $8410 = 0, $8411 = 0, $8412 = 0, $8413 = 0, $8414 = 0;
+ var $8415 = 0, $8416 = 0, $8417 = 0, $8418 = 0, $8419 = 0, $842 = 0, $8420 = 0, $8421 = 0, $8422 = 0, $8423 = 0, $8424 = 0, $8425 = 0, $8426 = 0, $8427 = 0, $8428 = 0, $8429 = 0, $843 = 0, $8430 = 0, $8431 = 0, $8432 = 0;
+ var $8433 = 0, $8434 = 0, $8435 = 0, $8436 = 0, $8437 = 0, $8438 = 0, $8439 = 0, $844 = 0, $8440 = 0, $8441 = 0, $8442 = 0, $8443 = 0, $8444 = 0, $8445 = 0, $8446 = 0, $8447 = 0, $8448 = 0, $8449 = 0, $845 = 0, $8450 = 0;
+ var $8451 = 0, $8452 = 0, $8453 = 0, $8454 = 0, $8455 = 0, $8456 = 0, $8457 = 0, $8458 = 0, $8459 = 0, $846 = 0, $8460 = 0, $8461 = 0, $8462 = 0, $8463 = 0, $8464 = 0, $8465 = 0, $8466 = 0, $8467 = 0, $8468 = 0, $8469 = 0;
+ var $847 = 0, $8470 = 0, $8471 = 0, $8472 = 0, $8473 = 0, $8474 = 0, $8475 = 0, $8476 = 0, $8477 = 0, $8478 = 0, $8479 = 0, $848 = 0, $8480 = 0, $8481 = 0, $8482 = 0, $8483 = 0, $8484 = 0, $8485 = 0, $8486 = 0, $8487 = 0;
+ var $8488 = 0, $8489 = 0, $849 = 0, $8490 = 0, $8491 = 0, $8492 = 0, $8493 = 0, $8494 = 0, $8495 = 0, $8496 = 0, $8497 = 0, $8498 = 0, $8499 = 0, $85 = 0, $850 = 0, $8500 = 0, $8501 = 0, $8502 = 0, $8503 = 0, $8504 = 0;
+ var $8505 = 0, $8506 = 0, $8507 = 0, $8508 = 0, $8509 = 0, $851 = 0, $8510 = 0, $8511 = 0, $8512 = 0, $8513 = 0, $8514 = 0, $8515 = 0, $8516 = 0, $8517 = 0, $8518 = 0, $8519 = 0, $852 = 0, $8520 = 0, $8521 = 0, $8522 = 0;
+ var $8523 = 0, $8524 = 0, $8525 = 0, $8526 = 0, $8527 = 0, $8528 = 0, $8529 = 0, $853 = 0, $8530 = 0, $8531 = 0, $8532 = 0, $8533 = 0, $8534 = 0, $8535 = 0, $8536 = 0, $8537 = 0, $8538 = 0, $8539 = 0, $854 = 0, $8540 = 0;
+ var $8541 = 0, $8542 = 0, $8543 = 0, $8544 = 0, $8545 = 0, $8546 = 0, $8547 = 0, $8548 = 0, $8549 = 0, $855 = 0, $8550 = 0, $8551 = 0, $8552 = 0, $8553 = 0, $8554 = 0, $8555 = 0, $8556 = 0, $8557 = 0, $8558 = 0, $8559 = 0;
+ var $856 = 0, $8560 = 0, $8561 = 0, $8562 = 0, $8563 = 0, $8564 = 0, $8565 = 0, $8566 = 0, $8567 = 0, $8568 = 0, $8569 = 0, $857 = 0, $8570 = 0, $8571 = 0, $8572 = 0, $8573 = 0, $8574 = 0, $8575 = 0, $8576 = 0, $8577 = 0;
+ var $8578 = 0, $8579 = 0, $858 = 0, $8580 = 0, $8581 = 0, $8582 = 0, $8583 = 0, $8584 = 0, $8585 = 0, $8586 = 0, $8587 = 0, $8588 = 0, $8589 = 0, $859 = 0, $8590 = 0, $8591 = 0, $8592 = 0, $8593 = 0, $8594 = 0, $8595 = 0;
+ var $8596 = 0, $8597 = 0, $8598 = 0, $8599 = 0, $86 = 0, $860 = 0, $8600 = 0, $8601 = 0, $8602 = 0, $8603 = 0, $8604 = 0, $8605 = 0, $8606 = 0, $8607 = 0, $8608 = 0, $8609 = 0, $861 = 0, $8610 = 0, $8611 = 0, $8612 = 0;
+ var $8613 = 0, $8614 = 0, $8615 = 0, $8616 = 0, $8617 = 0, $8618 = 0, $8619 = 0, $862 = 0, $8620 = 0, $8621 = 0, $8622 = 0, $8623 = 0, $8624 = 0, $8625 = 0, $8626 = 0, $8627 = 0, $8628 = 0, $8629 = 0, $863 = 0, $8630 = 0;
+ var $8631 = 0, $8632 = 0, $8633 = 0, $8634 = 0, $8635 = 0, $8636 = 0, $8637 = 0, $8638 = 0, $8639 = 0, $864 = 0, $8640 = 0, $8641 = 0, $8642 = 0, $8643 = 0, $8644 = 0, $8645 = 0, $8646 = 0, $8647 = 0, $8648 = 0, $8649 = 0;
+ var $865 = 0, $8650 = 0, $8651 = 0, $8652 = 0, $8653 = 0, $8654 = 0, $8655 = 0, $8656 = 0, $8657 = 0, $8658 = 0, $8659 = 0, $866 = 0, $8660 = 0, $8661 = 0, $8662 = 0, $8663 = 0, $8664 = 0, $8665 = 0, $8666 = 0, $8667 = 0;
+ var $8668 = 0, $8669 = 0, $867 = 0, $8670 = 0, $8671 = 0, $8672 = 0, $8673 = 0, $8674 = 0, $8675 = 0, $8676 = 0, $8677 = 0, $8678 = 0, $8679 = 0, $868 = 0, $8680 = 0, $8681 = 0, $8682 = 0, $8683 = 0, $8684 = 0, $8685 = 0;
+ var $8686 = 0, $8687 = 0, $8688 = 0, $8689 = 0, $869 = 0, $8690 = 0, $8691 = 0, $8692 = 0, $8693 = 0, $8694 = 0, $8695 = 0, $8696 = 0, $8697 = 0, $8698 = 0, $8699 = 0, $87 = 0, $870 = 0, $8700 = 0, $8701 = 0, $8702 = 0;
+ var $8703 = 0, $8704 = 0, $8705 = 0, $8706 = 0, $8707 = 0, $8708 = 0, $8709 = 0, $871 = 0, $8710 = 0, $8711 = 0, $8712 = 0, $8713 = 0, $8714 = 0, $8715 = 0, $8716 = 0, $8717 = 0, $8718 = 0, $8719 = 0, $872 = 0, $8720 = 0;
+ var $8721 = 0, $8722 = 0, $8723 = 0, $8724 = 0, $8725 = 0, $8726 = 0, $8727 = 0, $8728 = 0, $8729 = 0, $873 = 0, $8730 = 0, $8731 = 0, $8732 = 0, $8733 = 0, $8734 = 0, $8735 = 0, $8736 = 0, $8737 = 0, $8738 = 0, $8739 = 0;
+ var $874 = 0, $8740 = 0, $8741 = 0, $8742 = 0, $8743 = 0, $8744 = 0, $8745 = 0, $8746 = 0, $8747 = 0, $8748 = 0, $8749 = 0, $875 = 0, $8750 = 0, $8751 = 0, $8752 = 0, $8753 = 0, $8754 = 0, $8755 = 0, $8756 = 0, $8757 = 0;
+ var $8758 = 0, $8759 = 0, $876 = 0, $8760 = 0, $8761 = 0, $8762 = 0, $8763 = 0, $8764 = 0, $8765 = 0, $8766 = 0, $8767 = 0, $8768 = 0, $8769 = 0, $877 = 0, $8770 = 0, $8771 = 0, $8772 = 0, $8773 = 0, $8774 = 0, $8775 = 0;
+ var $8776 = 0, $8777 = 0, $8778 = 0, $8779 = 0, $878 = 0, $8780 = 0, $8781 = 0, $8782 = 0, $8783 = 0, $8784 = 0, $8785 = 0, $8786 = 0, $8787 = 0, $8788 = 0, $8789 = 0, $879 = 0, $8790 = 0, $8791 = 0, $8792 = 0, $8793 = 0;
+ var $8794 = 0, $8795 = 0, $8796 = 0, $8797 = 0, $8798 = 0, $8799 = 0, $88 = 0, $880 = 0, $8800 = 0, $8801 = 0, $8802 = 0, $8803 = 0, $8804 = 0, $8805 = 0, $8806 = 0, $8807 = 0, $8808 = 0, $8809 = 0, $881 = 0, $8810 = 0;
+ var $8811 = 0, $8812 = 0, $8813 = 0, $8814 = 0, $8815 = 0, $8816 = 0, $8817 = 0, $8818 = 0, $8819 = 0, $882 = 0, $8820 = 0, $8821 = 0, $8822 = 0, $8823 = 0, $8824 = 0, $8825 = 0, $8826 = 0, $8827 = 0, $8828 = 0, $8829 = 0;
+ var $883 = 0, $8830 = 0, $8831 = 0, $8832 = 0, $8833 = 0, $8834 = 0, $8835 = 0, $8836 = 0, $8837 = 0, $8838 = 0, $8839 = 0, $884 = 0, $8840 = 0, $8841 = 0, $8842 = 0, $8843 = 0, $8844 = 0, $8845 = 0, $8846 = 0, $8847 = 0;
+ var $8848 = 0, $8849 = 0, $885 = 0, $8850 = 0, $8851 = 0, $8852 = 0, $8853 = 0, $8854 = 0, $8855 = 0, $8856 = 0, $8857 = 0, $8858 = 0, $8859 = 0, $886 = 0, $8860 = 0, $8861 = 0, $8862 = 0, $8863 = 0, $8864 = 0, $8865 = 0;
+ var $8866 = 0, $8867 = 0, $8868 = 0, $8869 = 0, $887 = 0, $8870 = 0, $8871 = 0, $8872 = 0, $8873 = 0, $8874 = 0, $8875 = 0, $8876 = 0, $8877 = 0, $8878 = 0, $8879 = 0, $888 = 0, $8880 = 0, $8881 = 0, $8882 = 0, $8883 = 0;
+ var $8884 = 0, $8885 = 0, $8886 = 0, $8887 = 0, $8888 = 0, $8889 = 0, $889 = 0, $8890 = 0, $8891 = 0, $8892 = 0, $8893 = 0, $8894 = 0, $8895 = 0, $8896 = 0, $8897 = 0, $8898 = 0, $8899 = 0, $89 = 0, $890 = 0, $8900 = 0;
+ var $8901 = 0, $8902 = 0, $8903 = 0, $8904 = 0, $8905 = 0, $8906 = 0, $8907 = 0, $8908 = 0, $8909 = 0, $891 = 0, $8910 = 0, $8911 = 0, $8912 = 0, $8913 = 0, $8914 = 0, $8915 = 0, $8916 = 0, $8917 = 0, $8918 = 0, $8919 = 0;
+ var $892 = 0, $8920 = 0, $8921 = 0, $8922 = 0, $8923 = 0, $8924 = 0, $8925 = 0, $8926 = 0, $8927 = 0, $8928 = 0, $8929 = 0, $893 = 0, $8930 = 0, $8931 = 0, $8932 = 0, $8933 = 0, $8934 = 0, $8935 = 0, $8936 = 0, $8937 = 0;
+ var $8938 = 0, $8939 = 0, $894 = 0, $8940 = 0, $8941 = 0, $8942 = 0, $8943 = 0, $8944 = 0, $8945 = 0, $8946 = 0, $8947 = 0, $8948 = 0, $8949 = 0, $895 = 0, $8950 = 0, $8951 = 0, $8952 = 0, $8953 = 0, $8954 = 0, $8955 = 0;
+ var $8956 = 0, $8957 = 0, $8958 = 0, $8959 = 0, $896 = 0, $8960 = 0, $8961 = 0, $8962 = 0, $8963 = 0, $8964 = 0, $8965 = 0, $8966 = 0, $8967 = 0, $8968 = 0, $8969 = 0, $897 = 0, $8970 = 0, $8971 = 0, $8972 = 0, $8973 = 0;
+ var $8974 = 0, $8975 = 0, $8976 = 0, $8977 = 0, $8978 = 0, $8979 = 0, $898 = 0, $8980 = 0, $8981 = 0, $8982 = 0, $8983 = 0, $8984 = 0, $8985 = 0, $8986 = 0, $8987 = 0, $8988 = 0, $8989 = 0, $899 = 0, $8990 = 0, $8991 = 0;
+ var $8992 = 0, $8993 = 0, $8994 = 0, $8995 = 0, $8996 = 0, $8997 = 0, $8998 = 0, $8999 = 0, $9 = 0, $90 = 0, $900 = 0, $9000 = 0, $9001 = 0, $9002 = 0, $9003 = 0, $9004 = 0, $9005 = 0, $9006 = 0, $9007 = 0, $9008 = 0;
+ var $9009 = 0, $901 = 0, $9010 = 0, $9011 = 0, $9012 = 0, $9013 = 0, $9014 = 0, $9015 = 0, $9016 = 0, $9017 = 0, $9018 = 0, $9019 = 0, $902 = 0, $9020 = 0, $9021 = 0, $9022 = 0, $9023 = 0, $9024 = 0, $9025 = 0, $9026 = 0;
+ var $9027 = 0, $9028 = 0, $9029 = 0, $903 = 0, $9030 = 0, $9031 = 0, $9032 = 0, $9033 = 0, $9034 = 0, $9035 = 0, $9036 = 0, $9037 = 0, $9038 = 0, $9039 = 0, $904 = 0, $9040 = 0, $9041 = 0, $9042 = 0, $9043 = 0, $9044 = 0;
+ var $9045 = 0, $9046 = 0, $9047 = 0, $9048 = 0, $9049 = 0, $905 = 0, $9050 = 0, $9051 = 0, $9052 = 0, $9053 = 0, $9054 = 0, $9055 = 0, $9056 = 0, $9057 = 0, $9058 = 0, $9059 = 0, $906 = 0, $9060 = 0, $9061 = 0, $9062 = 0;
+ var $9063 = 0, $9064 = 0, $9065 = 0, $9066 = 0, $9067 = 0, $9068 = 0, $9069 = 0, $907 = 0, $9070 = 0, $9071 = 0, $9072 = 0, $9073 = 0, $9074 = 0, $9075 = 0, $9076 = 0, $9077 = 0, $9078 = 0, $9079 = 0, $908 = 0, $9080 = 0;
+ var $9081 = 0, $9082 = 0, $9083 = 0, $9084 = 0, $9085 = 0, $9086 = 0, $9087 = 0, $9088 = 0, $9089 = 0, $909 = 0, $9090 = 0, $9091 = 0, $9092 = 0, $9093 = 0, $9094 = 0, $9095 = 0, $9096 = 0, $9097 = 0, $9098 = 0, $9099 = 0;
+ var $91 = 0, $910 = 0, $9100 = 0, $9101 = 0, $9102 = 0, $9103 = 0, $9104 = 0, $9105 = 0, $9106 = 0, $9107 = 0, $9108 = 0, $9109 = 0, $911 = 0, $9110 = 0, $9111 = 0, $9112 = 0, $9113 = 0, $9114 = 0, $9115 = 0, $9116 = 0;
+ var $9117 = 0, $9118 = 0, $9119 = 0, $912 = 0, $9120 = 0, $9121 = 0, $9122 = 0, $9123 = 0, $9124 = 0, $9125 = 0, $9126 = 0, $9127 = 0, $9128 = 0, $9129 = 0, $913 = 0, $9130 = 0, $9131 = 0, $9132 = 0, $9133 = 0, $9134 = 0;
+ var $9135 = 0, $9136 = 0, $9137 = 0, $9138 = 0, $9139 = 0, $914 = 0, $9140 = 0, $9141 = 0, $9142 = 0, $9143 = 0, $9144 = 0, $9145 = 0, $9146 = 0, $9147 = 0, $9148 = 0, $9149 = 0, $915 = 0, $9150 = 0, $9151 = 0, $9152 = 0;
+ var $9153 = 0, $9154 = 0, $9155 = 0, $9156 = 0, $9157 = 0, $9158 = 0, $9159 = 0, $916 = 0, $9160 = 0, $9161 = 0, $9162 = 0, $9163 = 0, $9164 = 0, $9165 = 0, $9166 = 0, $9167 = 0, $9168 = 0, $9169 = 0, $917 = 0, $9170 = 0;
+ var $9171 = 0, $9172 = 0, $9173 = 0, $9174 = 0, $9175 = 0, $9176 = 0, $9177 = 0, $9178 = 0, $9179 = 0, $918 = 0, $9180 = 0, $9181 = 0, $9182 = 0, $9183 = 0, $9184 = 0, $9185 = 0, $9186 = 0, $9187 = 0, $9188 = 0, $9189 = 0;
+ var $919 = 0, $9190 = 0, $9191 = 0, $9192 = 0, $9193 = 0, $9194 = 0, $9195 = 0, $9196 = 0, $9197 = 0, $9198 = 0, $9199 = 0, $92 = 0, $920 = 0, $9200 = 0, $9201 = 0, $9202 = 0, $9203 = 0, $9204 = 0, $9205 = 0, $9206 = 0;
+ var $9207 = 0, $9208 = 0, $9209 = 0, $921 = 0, $9210 = 0, $9211 = 0, $9212 = 0, $9213 = 0, $9214 = 0, $9215 = 0, $9216 = 0, $9217 = 0, $9218 = 0, $9219 = 0, $922 = 0, $9220 = 0, $9221 = 0, $9222 = 0, $9223 = 0, $9224 = 0;
+ var $9225 = 0, $9226 = 0, $9227 = 0, $9228 = 0, $9229 = 0, $923 = 0, $9230 = 0, $9231 = 0, $9232 = 0, $9233 = 0, $9234 = 0, $9235 = 0, $9236 = 0, $9237 = 0, $9238 = 0, $9239 = 0, $924 = 0, $9240 = 0, $9241 = 0, $9242 = 0;
+ var $9243 = 0, $9244 = 0, $9245 = 0, $9246 = 0, $9247 = 0, $9248 = 0, $9249 = 0, $925 = 0, $9250 = 0, $9251 = 0, $9252 = 0, $9253 = 0, $9254 = 0, $9255 = 0, $9256 = 0, $9257 = 0, $9258 = 0, $9259 = 0, $926 = 0, $9260 = 0;
+ var $9261 = 0, $9262 = 0, $9263 = 0, $9264 = 0, $9265 = 0, $9266 = 0, $9267 = 0, $9268 = 0, $9269 = 0, $927 = 0, $9270 = 0, $9271 = 0, $9272 = 0, $9273 = 0, $9274 = 0, $9275 = 0, $9276 = 0, $9277 = 0, $9278 = 0, $9279 = 0;
+ var $928 = 0, $9280 = 0, $9281 = 0, $9282 = 0, $9283 = 0, $9284 = 0, $9285 = 0, $9286 = 0, $9287 = 0, $9288 = 0, $9289 = 0, $929 = 0, $9290 = 0, $9291 = 0, $9292 = 0, $9293 = 0, $9294 = 0, $9295 = 0, $9296 = 0, $9297 = 0;
+ var $9298 = 0, $9299 = 0, $93 = 0, $930 = 0, $9300 = 0, $9301 = 0, $9302 = 0, $9303 = 0, $9304 = 0, $9305 = 0, $9306 = 0, $9307 = 0, $9308 = 0, $9309 = 0, $931 = 0, $9310 = 0, $9311 = 0, $9312 = 0, $9313 = 0, $9314 = 0;
+ var $9315 = 0, $9316 = 0, $9317 = 0, $9318 = 0, $9319 = 0, $932 = 0, $9320 = 0, $9321 = 0, $9322 = 0, $9323 = 0, $9324 = 0, $9325 = 0, $9326 = 0, $9327 = 0, $9328 = 0, $9329 = 0, $933 = 0, $9330 = 0, $9331 = 0, $9332 = 0;
+ var $9333 = 0, $9334 = 0, $9335 = 0, $9336 = 0, $9337 = 0, $9338 = 0, $9339 = 0, $934 = 0, $9340 = 0, $9341 = 0, $9342 = 0, $9343 = 0, $9344 = 0, $9345 = 0, $9346 = 0, $9347 = 0, $9348 = 0, $9349 = 0, $935 = 0, $9350 = 0;
+ var $9351 = 0, $9352 = 0, $9353 = 0, $9354 = 0, $9355 = 0, $9356 = 0, $9357 = 0, $9358 = 0, $9359 = 0, $936 = 0, $9360 = 0, $9361 = 0, $9362 = 0, $9363 = 0, $9364 = 0, $9365 = 0, $9366 = 0, $9367 = 0, $9368 = 0, $9369 = 0;
+ var $937 = 0, $9370 = 0, $9371 = 0, $9372 = 0, $9373 = 0, $9374 = 0, $9375 = 0, $9376 = 0, $9377 = 0, $9378 = 0, $9379 = 0, $938 = 0, $9380 = 0, $9381 = 0, $9382 = 0, $9383 = 0, $9384 = 0, $9385 = 0, $9386 = 0, $9387 = 0;
+ var $9388 = 0, $9389 = 0, $939 = 0, $9390 = 0, $9391 = 0, $9392 = 0, $9393 = 0, $9394 = 0, $9395 = 0, $9396 = 0, $9397 = 0, $9398 = 0, $9399 = 0, $94 = 0, $940 = 0, $9400 = 0, $9401 = 0, $9402 = 0, $9403 = 0, $9404 = 0;
+ var $9405 = 0, $9406 = 0, $9407 = 0, $9408 = 0, $9409 = 0, $941 = 0, $9410 = 0, $9411 = 0, $9412 = 0, $9413 = 0, $9414 = 0, $9415 = 0, $9416 = 0, $9417 = 0, $9418 = 0, $9419 = 0, $942 = 0, $9420 = 0, $9421 = 0, $9422 = 0;
+ var $9423 = 0, $9424 = 0, $9425 = 0, $9426 = 0, $9427 = 0, $9428 = 0, $9429 = 0, $943 = 0, $9430 = 0, $9431 = 0, $9432 = 0, $9433 = 0, $9434 = 0, $9435 = 0, $9436 = 0, $9437 = 0, $9438 = 0, $9439 = 0, $944 = 0, $9440 = 0;
+ var $9441 = 0, $9442 = 0, $9443 = 0, $9444 = 0, $9445 = 0, $9446 = 0, $9447 = 0, $9448 = 0, $9449 = 0, $945 = 0, $9450 = 0, $9451 = 0, $9452 = 0, $9453 = 0, $9454 = 0, $9455 = 0, $9456 = 0, $9457 = 0, $9458 = 0, $9459 = 0;
+ var $946 = 0, $9460 = 0, $9461 = 0, $9462 = 0, $9463 = 0, $9464 = 0, $9465 = 0, $9466 = 0, $9467 = 0, $9468 = 0, $9469 = 0, $947 = 0, $9470 = 0, $9471 = 0, $9472 = 0, $9473 = 0, $9474 = 0, $9475 = 0, $9476 = 0, $9477 = 0;
+ var $9478 = 0, $9479 = 0, $948 = 0, $9480 = 0, $9481 = 0, $9482 = 0, $9483 = 0, $9484 = 0, $9485 = 0, $9486 = 0, $9487 = 0, $9488 = 0, $9489 = 0, $949 = 0, $9490 = 0, $9491 = 0, $9492 = 0, $9493 = 0, $9494 = 0, $9495 = 0;
+ var $9496 = 0, $9497 = 0, $9498 = 0, $9499 = 0, $95 = 0, $950 = 0, $9500 = 0, $9501 = 0, $9502 = 0, $9503 = 0, $9504 = 0, $9505 = 0, $9506 = 0, $9507 = 0, $9508 = 0, $9509 = 0, $951 = 0, $9510 = 0, $9511 = 0, $9512 = 0;
+ var $9513 = 0, $9514 = 0, $9515 = 0, $9516 = 0, $9517 = 0, $9518 = 0, $9519 = 0, $952 = 0, $9520 = 0, $9521 = 0, $9522 = 0, $9523 = 0, $9524 = 0, $9525 = 0, $9526 = 0, $9527 = 0, $9528 = 0, $9529 = 0, $953 = 0, $9530 = 0;
+ var $9531 = 0, $9532 = 0, $9533 = 0, $9534 = 0, $9535 = 0, $9536 = 0, $9537 = 0, $9538 = 0, $9539 = 0, $954 = 0, $9540 = 0, $9541 = 0, $9542 = 0, $9543 = 0, $9544 = 0, $9545 = 0, $9546 = 0, $9547 = 0, $9548 = 0, $9549 = 0;
+ var $955 = 0, $9550 = 0, $9551 = 0, $9552 = 0, $9553 = 0, $9554 = 0, $9555 = 0, $9556 = 0, $9557 = 0, $9558 = 0, $9559 = 0, $956 = 0, $9560 = 0, $9561 = 0, $9562 = 0, $9563 = 0, $9564 = 0, $9565 = 0, $9566 = 0, $9567 = 0;
+ var $9568 = 0, $9569 = 0, $957 = 0, $9570 = 0, $9571 = 0, $9572 = 0, $9573 = 0, $9574 = 0, $9575 = 0, $9576 = 0, $9577 = 0, $9578 = 0, $9579 = 0, $958 = 0, $9580 = 0, $9581 = 0, $9582 = 0, $9583 = 0, $9584 = 0, $9585 = 0;
+ var $9586 = 0, $9587 = 0, $9588 = 0, $9589 = 0, $959 = 0, $9590 = 0, $9591 = 0, $9592 = 0, $9593 = 0, $9594 = 0, $9595 = 0, $9596 = 0, $9597 = 0, $9598 = 0, $9599 = 0, $96 = 0, $960 = 0, $9600 = 0, $9601 = 0, $9602 = 0;
+ var $9603 = 0, $9604 = 0, $9605 = 0, $9606 = 0, $9607 = 0, $9608 = 0, $9609 = 0, $961 = 0, $9610 = 0, $9611 = 0, $9612 = 0, $9613 = 0, $9614 = 0, $9615 = 0, $9616 = 0, $9617 = 0, $9618 = 0, $9619 = 0, $962 = 0, $9620 = 0;
+ var $9621 = 0, $9622 = 0, $9623 = 0, $9624 = 0, $9625 = 0, $9626 = 0, $9627 = 0, $9628 = 0, $9629 = 0, $963 = 0, $9630 = 0, $9631 = 0, $9632 = 0, $9633 = 0, $9634 = 0, $9635 = 0, $9636 = 0, $9637 = 0, $9638 = 0, $9639 = 0;
+ var $964 = 0, $9640 = 0, $9641 = 0, $9642 = 0, $9643 = 0, $9644 = 0, $9645 = 0, $9646 = 0, $9647 = 0, $9648 = 0, $9649 = 0, $965 = 0, $9650 = 0, $9651 = 0, $9652 = 0, $9653 = 0, $9654 = 0, $9655 = 0, $9656 = 0, $9657 = 0;
+ var $9658 = 0, $9659 = 0, $966 = 0, $9660 = 0, $9661 = 0, $9662 = 0, $9663 = 0, $9664 = 0, $9665 = 0, $9666 = 0, $9667 = 0, $9668 = 0, $9669 = 0, $967 = 0, $9670 = 0, $9671 = 0, $9672 = 0, $9673 = 0, $9674 = 0, $9675 = 0;
+ var $9676 = 0, $9677 = 0, $9678 = 0, $9679 = 0, $968 = 0, $9680 = 0, $9681 = 0, $9682 = 0, $9683 = 0, $9684 = 0, $9685 = 0, $9686 = 0, $9687 = 0, $9688 = 0, $9689 = 0, $969 = 0, $9690 = 0, $9691 = 0, $9692 = 0, $9693 = 0;
+ var $9694 = 0, $9695 = 0, $9696 = 0, $9697 = 0, $9698 = 0, $9699 = 0, $97 = 0, $970 = 0, $9700 = 0, $9701 = 0, $9702 = 0, $9703 = 0, $9704 = 0, $9705 = 0, $9706 = 0, $9707 = 0, $9708 = 0, $9709 = 0, $971 = 0, $9710 = 0;
+ var $9711 = 0, $9712 = 0, $9713 = 0, $9714 = 0, $9715 = 0, $9716 = 0, $9717 = 0, $9718 = 0, $9719 = 0, $972 = 0, $9720 = 0, $9721 = 0, $9722 = 0, $9723 = 0, $9724 = 0, $9725 = 0, $9726 = 0, $9727 = 0, $9728 = 0, $9729 = 0;
+ var $973 = 0, $9730 = 0, $9731 = 0, $9732 = 0, $9733 = 0, $9734 = 0, $9735 = 0, $9736 = 0, $9737 = 0, $9738 = 0, $9739 = 0, $974 = 0, $9740 = 0, $9741 = 0, $9742 = 0, $9743 = 0, $9744 = 0, $9745 = 0, $9746 = 0, $9747 = 0;
+ var $9748 = 0, $9749 = 0, $975 = 0, $9750 = 0, $9751 = 0, $9752 = 0, $9753 = 0, $9754 = 0, $9755 = 0, $9756 = 0, $9757 = 0, $9758 = 0, $9759 = 0, $976 = 0, $9760 = 0, $9761 = 0, $9762 = 0, $9763 = 0, $9764 = 0, $9765 = 0;
+ var $9766 = 0, $9767 = 0, $9768 = 0, $9769 = 0, $977 = 0, $9770 = 0, $9771 = 0, $9772 = 0, $9773 = 0, $9774 = 0, $9775 = 0, $9776 = 0, $9777 = 0, $9778 = 0, $9779 = 0, $978 = 0, $9780 = 0, $9781 = 0, $9782 = 0, $9783 = 0;
+ var $9784 = 0, $9785 = 0, $9786 = 0, $9787 = 0, $9788 = 0, $9789 = 0, $979 = 0, $9790 = 0, $9791 = 0, $9792 = 0, $9793 = 0, $9794 = 0, $9795 = 0, $9796 = 0, $9797 = 0, $9798 = 0, $9799 = 0, $98 = 0, $980 = 0, $9800 = 0;
+ var $9801 = 0, $9802 = 0, $9803 = 0, $9804 = 0, $9805 = 0, $9806 = 0, $9807 = 0, $9808 = 0, $9809 = 0, $981 = 0, $9810 = 0, $9811 = 0, $9812 = 0, $9813 = 0, $9814 = 0, $9815 = 0, $9816 = 0, $9817 = 0, $9818 = 0, $9819 = 0;
+ var $982 = 0, $9820 = 0, $9821 = 0, $9822 = 0, $9823 = 0, $9824 = 0, $9825 = 0, $9826 = 0, $9827 = 0, $9828 = 0, $9829 = 0, $983 = 0, $9830 = 0, $9831 = 0, $9832 = 0, $9833 = 0, $9834 = 0, $9835 = 0, $9836 = 0, $9837 = 0;
+ var $9838 = 0, $9839 = 0, $984 = 0, $9840 = 0, $9841 = 0, $9842 = 0, $9843 = 0, $9844 = 0, $9845 = 0, $9846 = 0, $9847 = 0, $9848 = 0, $9849 = 0, $985 = 0, $9850 = 0, $9851 = 0, $9852 = 0, $9853 = 0, $9854 = 0, $9855 = 0;
+ var $9856 = 0, $9857 = 0, $9858 = 0, $9859 = 0, $986 = 0, $9860 = 0, $9861 = 0, $9862 = 0, $9863 = 0, $9864 = 0, $9865 = 0, $9866 = 0, $9867 = 0, $9868 = 0, $9869 = 0, $987 = 0, $9870 = 0, $9871 = 0, $9872 = 0, $9873 = 0;
+ var $9874 = 0, $9875 = 0, $9876 = 0, $9877 = 0, $9878 = 0, $9879 = 0, $988 = 0, $9880 = 0, $9881 = 0, $9882 = 0, $9883 = 0, $9884 = 0, $9885 = 0, $9886 = 0, $9887 = 0, $9888 = 0, $9889 = 0, $989 = 0, $9890 = 0, $9891 = 0;
+ var $9892 = 0, $9893 = 0, $9894 = 0, $9895 = 0, $9896 = 0, $9897 = 0, $9898 = 0, $9899 = 0, $99 = 0, $990 = 0, $9900 = 0, $9901 = 0, $9902 = 0, $9903 = 0, $9904 = 0, $9905 = 0, $9906 = 0, $9907 = 0, $9908 = 0, $9909 = 0;
+ var $991 = 0, $9910 = 0, $9911 = 0, $9912 = 0, $9913 = 0, $9914 = 0, $9915 = 0, $9916 = 0, $9917 = 0, $9918 = 0, $9919 = 0, $992 = 0, $9920 = 0, $9921 = 0, $9922 = 0, $9923 = 0, $9924 = 0, $9925 = 0, $9926 = 0, $9927 = 0;
+ var $9928 = 0, $9929 = 0, $993 = 0, $9930 = 0, $9931 = 0, $9932 = 0, $9933 = 0, $9934 = 0, $9935 = 0, $9936 = 0, $9937 = 0, $9938 = 0, $9939 = 0, $994 = 0, $9940 = 0, $9941 = 0, $9942 = 0, $9943 = 0, $9944 = 0, $9945 = 0;
+ var $9946 = 0, $9947 = 0, $9948 = 0, $9949 = 0, $995 = 0, $9950 = 0, $9951 = 0, $9952 = 0, $9953 = 0, $9954 = 0, $9955 = 0, $9956 = 0, $9957 = 0, $9958 = 0, $9959 = 0, $996 = 0, $9960 = 0, $9961 = 0, $9962 = 0, $9963 = 0;
+ var $9964 = 0, $9965 = 0, $9966 = 0, $9967 = 0, $9968 = 0, $9969 = 0, $997 = 0, $9970 = 0, $9971 = 0, $9972 = 0, $9973 = 0, $9974 = 0, $9975 = 0, $9976 = 0, $9977 = 0, $9978 = 0, $9979 = 0, $998 = 0, $9980 = 0, $9981 = 0;
+ var $9982 = 0, $9983 = 0, $9984 = 0, $9985 = 0, $9986 = 0, $9987 = 0, $9988 = 0, $9989 = 0, $999 = 0, $9990 = 0, $9991 = 0, $9992 = 0, $9993 = 0, $9994 = 0, $9995 = 0, $9996 = 0, $9997 = 0, $9998 = 0, $9999 = 0, $i = 0;
+ var $j = 0, $k = 0, $sa = 0, $sb = 0, $sc = 0, $sd = 0, $se = 0, $sf = 0, $sg = 0, $sh = 0, $si = 0, $sj = 0, $sk = 0, $sl = 0, $sm = 0, $sn = 0, $so = 0, $sp = 0, $tmp = 0, $vararg_buffer = 0;
+ var $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $ctx;
+ $2 = $key;
+ $3 = $keylen;
+ $sa = 0;
+ $sb = 0;
+ $sc = 0;
+ $sd = 0;
+ $se = 0;
+ $sf = 0;
+ $sg = 0;
+ $sh = 0;
+ $si = 0;
+ $sj = 0;
+ $sk = 0;
+ $sl = 0;
+ $sm = 0;
+ $sn = 0;
+ $so = 0;
+ $sp = 0;
+ $4 = $3;
+ $5 = (($4) - 16)|0;
+ $6 = $5 | 16;
+ $7 = ($6|0)!=(16);
+ if ($7) {
+ $0 = 44;
+ $10338 = $0;
+ STACKTOP = sp;return ($10338|0);
+ }
+ $8 = HEAP32[17708]|0;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ HEAP32[17708] = 1;
+ $10 = (_selftest_1448()|0);
+ HEAP32[17709] = $10;
+ $11 = HEAP32[17709]|0;
+ $12 = ($11|0)!=(0|0);
+ if ($12) {
+ $13 = HEAP32[17709]|0;
+ HEAP32[$vararg_buffer>>2] = $13;
+ __gcry_log_error(43729,$vararg_buffer);
+ }
+ }
+ $14 = HEAP32[17709]|0;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $0 = 50;
+ $10338 = $0;
+ STACKTOP = sp;return ($10338|0);
+ }
+ $16 = $2;
+ $17 = HEAP8[$16>>0]|0;
+ $18 = ($17<<24>>24)!=(0);
+ if ($18) {
+ $19 = $2;
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = (($21) - 1)|0;
+ $23 = (43733 + ($22)|0);
+ $24 = HEAP8[$23>>0]|0;
+ $tmp = $24;
+ $25 = $tmp;
+ $26 = $25&255;
+ $27 = (($26) + 0)|0;
+ $28 = (43988 + ($27)|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29&255;
+ $31 = $sa;
+ $32 = $31&255;
+ $33 = $32 ^ $30;
+ $34 = $33&255;
+ $sa = $34;
+ $35 = $tmp;
+ $36 = $35&255;
+ $37 = (($36) + 45)|0;
+ $38 = (43988 + ($37)|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $39&255;
+ $41 = $sb;
+ $42 = $41&255;
+ $43 = $42 ^ $40;
+ $44 = $43&255;
+ $sb = $44;
+ $45 = $tmp;
+ $46 = $45&255;
+ $47 = (($46) + 1)|0;
+ $48 = (43988 + ($47)|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $49&255;
+ $51 = $sc;
+ $52 = $51&255;
+ $53 = $52 ^ $50;
+ $54 = $53&255;
+ $sc = $54;
+ $55 = $tmp;
+ $56 = $55&255;
+ $57 = (($56) + 45)|0;
+ $58 = (43988 + ($57)|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59&255;
+ $61 = $sd;
+ $62 = $61&255;
+ $63 = $62 ^ $60;
+ $64 = $63&255;
+ $sd = $64;
+ }
+ $65 = $2;
+ $66 = ((($65)) + 1|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = ($67<<24>>24)!=(0);
+ if ($68) {
+ $69 = $2;
+ $70 = ((($69)) + 1|0);
+ $71 = HEAP8[$70>>0]|0;
+ $72 = $71&255;
+ $73 = (($72) - 1)|0;
+ $74 = (43733 + ($73)|0);
+ $75 = HEAP8[$74>>0]|0;
+ $tmp = $75;
+ $76 = $tmp;
+ $77 = $76&255;
+ $78 = (($77) + 45)|0;
+ $79 = (43988 + ($78)|0);
+ $80 = HEAP8[$79>>0]|0;
+ $81 = $80&255;
+ $82 = $sa;
+ $83 = $82&255;
+ $84 = $83 ^ $81;
+ $85 = $84&255;
+ $sa = $85;
+ $86 = $tmp;
+ $87 = $86&255;
+ $88 = (($87) + 164)|0;
+ $89 = (43988 + ($88)|0);
+ $90 = HEAP8[$89>>0]|0;
+ $91 = $90&255;
+ $92 = $sb;
+ $93 = $92&255;
+ $94 = $93 ^ $91;
+ $95 = $94&255;
+ $sb = $95;
+ $96 = $tmp;
+ $97 = $96&255;
+ $98 = (($97) + 68)|0;
+ $99 = (43988 + ($98)|0);
+ $100 = HEAP8[$99>>0]|0;
+ $101 = $100&255;
+ $102 = $sc;
+ $103 = $102&255;
+ $104 = $103 ^ $101;
+ $105 = $104&255;
+ $sc = $105;
+ $106 = $tmp;
+ $107 = $106&255;
+ $108 = (($107) + 138)|0;
+ $109 = (43988 + ($108)|0);
+ $110 = HEAP8[$109>>0]|0;
+ $111 = $110&255;
+ $112 = $sd;
+ $113 = $112&255;
+ $114 = $113 ^ $111;
+ $115 = $114&255;
+ $sd = $115;
+ }
+ $116 = $2;
+ $117 = ((($116)) + 2|0);
+ $118 = HEAP8[$117>>0]|0;
+ $119 = ($118<<24>>24)!=(0);
+ if ($119) {
+ $120 = $2;
+ $121 = ((($120)) + 2|0);
+ $122 = HEAP8[$121>>0]|0;
+ $123 = $122&255;
+ $124 = (($123) - 1)|0;
+ $125 = (43733 + ($124)|0);
+ $126 = HEAP8[$125>>0]|0;
+ $tmp = $126;
+ $127 = $tmp;
+ $128 = $127&255;
+ $129 = (($128) + 138)|0;
+ $130 = (43988 + ($129)|0);
+ $131 = HEAP8[$130>>0]|0;
+ $132 = $131&255;
+ $133 = $sa;
+ $134 = $133&255;
+ $135 = $134 ^ $132;
+ $136 = $135&255;
+ $sa = $136;
+ $137 = $tmp;
+ $138 = $137&255;
+ $139 = (($138) + 213)|0;
+ $140 = (43988 + ($139)|0);
+ $141 = HEAP8[$140>>0]|0;
+ $142 = $141&255;
+ $143 = $sb;
+ $144 = $143&255;
+ $145 = $144 ^ $142;
+ $146 = $145&255;
+ $sb = $146;
+ $147 = $tmp;
+ $148 = $147&255;
+ $149 = (($148) + 191)|0;
+ $150 = (43988 + ($149)|0);
+ $151 = HEAP8[$150>>0]|0;
+ $152 = $151&255;
+ $153 = $sc;
+ $154 = $153&255;
+ $155 = $154 ^ $152;
+ $156 = $155&255;
+ $sc = $156;
+ $157 = $tmp;
+ $158 = $157&255;
+ $159 = (($158) + 209)|0;
+ $160 = (43988 + ($159)|0);
+ $161 = HEAP8[$160>>0]|0;
+ $162 = $161&255;
+ $163 = $sd;
+ $164 = $163&255;
+ $165 = $164 ^ $162;
+ $166 = $165&255;
+ $sd = $166;
+ }
+ $167 = $2;
+ $168 = ((($167)) + 3|0);
+ $169 = HEAP8[$168>>0]|0;
+ $170 = ($169<<24>>24)!=(0);
+ if ($170) {
+ $171 = $2;
+ $172 = ((($171)) + 3|0);
+ $173 = HEAP8[$172>>0]|0;
+ $174 = $173&255;
+ $175 = (($174) - 1)|0;
+ $176 = (43733 + ($175)|0);
+ $177 = HEAP8[$176>>0]|0;
+ $tmp = $177;
+ $178 = $tmp;
+ $179 = $178&255;
+ $180 = (($179) + 209)|0;
+ $181 = (43988 + ($180)|0);
+ $182 = HEAP8[$181>>0]|0;
+ $183 = $182&255;
+ $184 = $sa;
+ $185 = $184&255;
+ $186 = $185 ^ $183;
+ $187 = $186&255;
+ $sa = $187;
+ $188 = $tmp;
+ $189 = $188&255;
+ $190 = (($189) + 127)|0;
+ $191 = (43988 + ($190)|0);
+ $192 = HEAP8[$191>>0]|0;
+ $193 = $192&255;
+ $194 = $sb;
+ $195 = $194&255;
+ $196 = $195 ^ $193;
+ $197 = $196&255;
+ $sb = $197;
+ $198 = $tmp;
+ $199 = $198&255;
+ $200 = (($199) + 61)|0;
+ $201 = (43988 + ($200)|0);
+ $202 = HEAP8[$201>>0]|0;
+ $203 = $202&255;
+ $204 = $sc;
+ $205 = $204&255;
+ $206 = $205 ^ $203;
+ $207 = $206&255;
+ $sc = $207;
+ $208 = $tmp;
+ $209 = $208&255;
+ $210 = (($209) + 153)|0;
+ $211 = (43988 + ($210)|0);
+ $212 = HEAP8[$211>>0]|0;
+ $213 = $212&255;
+ $214 = $sd;
+ $215 = $214&255;
+ $216 = $215 ^ $213;
+ $217 = $216&255;
+ $sd = $217;
+ }
+ $218 = $2;
+ $219 = ((($218)) + 4|0);
+ $220 = HEAP8[$219>>0]|0;
+ $221 = ($220<<24>>24)!=(0);
+ if ($221) {
+ $222 = $2;
+ $223 = ((($222)) + 4|0);
+ $224 = HEAP8[$223>>0]|0;
+ $225 = $224&255;
+ $226 = (($225) - 1)|0;
+ $227 = (43733 + ($226)|0);
+ $228 = HEAP8[$227>>0]|0;
+ $tmp = $228;
+ $229 = $tmp;
+ $230 = $229&255;
+ $231 = (($230) + 153)|0;
+ $232 = (43988 + ($231)|0);
+ $233 = HEAP8[$232>>0]|0;
+ $234 = $233&255;
+ $235 = $sa;
+ $236 = $235&255;
+ $237 = $236 ^ $234;
+ $238 = $237&255;
+ $sa = $238;
+ $239 = $tmp;
+ $240 = $239&255;
+ $241 = (($240) + 70)|0;
+ $242 = (43988 + ($241)|0);
+ $243 = HEAP8[$242>>0]|0;
+ $244 = $243&255;
+ $245 = $sb;
+ $246 = $245&255;
+ $247 = $246 ^ $244;
+ $248 = $247&255;
+ $sb = $248;
+ $249 = $tmp;
+ $250 = $249&255;
+ $251 = (($250) + 102)|0;
+ $252 = (43988 + ($251)|0);
+ $253 = HEAP8[$252>>0]|0;
+ $254 = $253&255;
+ $255 = $sc;
+ $256 = $255&255;
+ $257 = $256 ^ $254;
+ $258 = $257&255;
+ $sc = $258;
+ $259 = $tmp;
+ $260 = $259&255;
+ $261 = (($260) + 150)|0;
+ $262 = (43988 + ($261)|0);
+ $263 = HEAP8[$262>>0]|0;
+ $264 = $263&255;
+ $265 = $sd;
+ $266 = $265&255;
+ $267 = $266 ^ $264;
+ $268 = $267&255;
+ $sd = $268;
+ }
+ $269 = $2;
+ $270 = ((($269)) + 5|0);
+ $271 = HEAP8[$270>>0]|0;
+ $272 = ($271<<24>>24)!=(0);
+ if ($272) {
+ $273 = $2;
+ $274 = ((($273)) + 5|0);
+ $275 = HEAP8[$274>>0]|0;
+ $276 = $275&255;
+ $277 = (($276) - 1)|0;
+ $278 = (43733 + ($277)|0);
+ $279 = HEAP8[$278>>0]|0;
+ $tmp = $279;
+ $280 = $tmp;
+ $281 = $280&255;
+ $282 = (($281) + 150)|0;
+ $283 = (43988 + ($282)|0);
+ $284 = HEAP8[$283>>0]|0;
+ $285 = $284&255;
+ $286 = $sa;
+ $287 = $286&255;
+ $288 = $287 ^ $285;
+ $289 = $288&255;
+ $sa = $289;
+ $290 = $tmp;
+ $291 = $290&255;
+ $292 = (($291) + 60)|0;
+ $293 = (43988 + ($292)|0);
+ $294 = HEAP8[$293>>0]|0;
+ $295 = $294&255;
+ $296 = $sb;
+ $297 = $296&255;
+ $298 = $297 ^ $295;
+ $299 = $298&255;
+ $sb = $299;
+ $300 = $tmp;
+ $301 = $300&255;
+ $302 = (($301) + 91)|0;
+ $303 = (43988 + ($302)|0);
+ $304 = HEAP8[$303>>0]|0;
+ $305 = $304&255;
+ $306 = $sc;
+ $307 = $306&255;
+ $308 = $307 ^ $305;
+ $309 = $308&255;
+ $sc = $309;
+ $310 = $tmp;
+ $311 = $310&255;
+ $312 = (($311) + 237)|0;
+ $313 = (43988 + ($312)|0);
+ $314 = HEAP8[$313>>0]|0;
+ $315 = $314&255;
+ $316 = $sd;
+ $317 = $316&255;
+ $318 = $317 ^ $315;
+ $319 = $318&255;
+ $sd = $319;
+ }
+ $320 = $2;
+ $321 = ((($320)) + 6|0);
+ $322 = HEAP8[$321>>0]|0;
+ $323 = ($322<<24>>24)!=(0);
+ if ($323) {
+ $324 = $2;
+ $325 = ((($324)) + 6|0);
+ $326 = HEAP8[$325>>0]|0;
+ $327 = $326&255;
+ $328 = (($327) - 1)|0;
+ $329 = (43733 + ($328)|0);
+ $330 = HEAP8[$329>>0]|0;
+ $tmp = $330;
+ $331 = $tmp;
+ $332 = $331&255;
+ $333 = (($332) + 237)|0;
+ $334 = (43988 + ($333)|0);
+ $335 = HEAP8[$334>>0]|0;
+ $336 = $335&255;
+ $337 = $sa;
+ $338 = $337&255;
+ $339 = $338 ^ $336;
+ $340 = $339&255;
+ $sa = $340;
+ $341 = $tmp;
+ $342 = $341&255;
+ $343 = (($342) + 55)|0;
+ $344 = (43988 + ($343)|0);
+ $345 = HEAP8[$344>>0]|0;
+ $346 = $345&255;
+ $347 = $sb;
+ $348 = $347&255;
+ $349 = $348 ^ $346;
+ $350 = $349&255;
+ $sb = $350;
+ $351 = $tmp;
+ $352 = $351&255;
+ $353 = (($352) + 79)|0;
+ $354 = (43988 + ($353)|0);
+ $355 = HEAP8[$354>>0]|0;
+ $356 = $355&255;
+ $357 = $sc;
+ $358 = $357&255;
+ $359 = $358 ^ $356;
+ $360 = $359&255;
+ $sc = $360;
+ $361 = $tmp;
+ $362 = $361&255;
+ $363 = (($362) + 224)|0;
+ $364 = (43988 + ($363)|0);
+ $365 = HEAP8[$364>>0]|0;
+ $366 = $365&255;
+ $367 = $sd;
+ $368 = $367&255;
+ $369 = $368 ^ $366;
+ $370 = $369&255;
+ $sd = $370;
+ }
+ $371 = $2;
+ $372 = ((($371)) + 7|0);
+ $373 = HEAP8[$372>>0]|0;
+ $374 = ($373<<24>>24)!=(0);
+ if ($374) {
+ $375 = $2;
+ $376 = ((($375)) + 7|0);
+ $377 = HEAP8[$376>>0]|0;
+ $378 = $377&255;
+ $379 = (($378) - 1)|0;
+ $380 = (43733 + ($379)|0);
+ $381 = HEAP8[$380>>0]|0;
+ $tmp = $381;
+ $382 = $tmp;
+ $383 = $382&255;
+ $384 = (($383) + 224)|0;
+ $385 = (43988 + ($384)|0);
+ $386 = HEAP8[$385>>0]|0;
+ $387 = $386&255;
+ $388 = $sa;
+ $389 = $388&255;
+ $390 = $389 ^ $387;
+ $391 = $390&255;
+ $sa = $391;
+ $392 = $tmp;
+ $393 = $392&255;
+ $394 = (($393) + 208)|0;
+ $395 = (43988 + ($394)|0);
+ $396 = HEAP8[$395>>0]|0;
+ $397 = $396&255;
+ $398 = $sb;
+ $399 = $398&255;
+ $400 = $399 ^ $397;
+ $401 = $400&255;
+ $sb = $401;
+ $402 = $tmp;
+ $403 = $402&255;
+ $404 = (($403) + 140)|0;
+ $405 = (43988 + ($404)|0);
+ $406 = HEAP8[$405>>0]|0;
+ $407 = $406&255;
+ $408 = $sc;
+ $409 = $408&255;
+ $410 = $409 ^ $407;
+ $411 = $410&255;
+ $sc = $411;
+ $412 = $tmp;
+ $413 = $412&255;
+ $414 = (($413) + 23)|0;
+ $415 = (43988 + ($414)|0);
+ $416 = HEAP8[$415>>0]|0;
+ $417 = $416&255;
+ $418 = $sd;
+ $419 = $418&255;
+ $420 = $419 ^ $417;
+ $421 = $420&255;
+ $sd = $421;
+ }
+ $422 = $2;
+ $423 = ((($422)) + 8|0);
+ $424 = HEAP8[$423>>0]|0;
+ $425 = ($424<<24>>24)!=(0);
+ if ($425) {
+ $426 = $2;
+ $427 = ((($426)) + 8|0);
+ $428 = HEAP8[$427>>0]|0;
+ $429 = $428&255;
+ $430 = (($429) - 1)|0;
+ $431 = (43733 + ($430)|0);
+ $432 = HEAP8[$431>>0]|0;
+ $tmp = $432;
+ $433 = $tmp;
+ $434 = $433&255;
+ $435 = (($434) + 0)|0;
+ $436 = (43988 + ($435)|0);
+ $437 = HEAP8[$436>>0]|0;
+ $438 = $437&255;
+ $439 = $se;
+ $440 = $439&255;
+ $441 = $440 ^ $438;
+ $442 = $441&255;
+ $se = $442;
+ $443 = $tmp;
+ $444 = $443&255;
+ $445 = (($444) + 45)|0;
+ $446 = (43988 + ($445)|0);
+ $447 = HEAP8[$446>>0]|0;
+ $448 = $447&255;
+ $449 = $sf;
+ $450 = $449&255;
+ $451 = $450 ^ $448;
+ $452 = $451&255;
+ $sf = $452;
+ $453 = $tmp;
+ $454 = $453&255;
+ $455 = (($454) + 1)|0;
+ $456 = (43988 + ($455)|0);
+ $457 = HEAP8[$456>>0]|0;
+ $458 = $457&255;
+ $459 = $sg;
+ $460 = $459&255;
+ $461 = $460 ^ $458;
+ $462 = $461&255;
+ $sg = $462;
+ $463 = $tmp;
+ $464 = $463&255;
+ $465 = (($464) + 45)|0;
+ $466 = (43988 + ($465)|0);
+ $467 = HEAP8[$466>>0]|0;
+ $468 = $467&255;
+ $469 = $sh;
+ $470 = $469&255;
+ $471 = $470 ^ $468;
+ $472 = $471&255;
+ $sh = $472;
+ }
+ $473 = $2;
+ $474 = ((($473)) + 9|0);
+ $475 = HEAP8[$474>>0]|0;
+ $476 = ($475<<24>>24)!=(0);
+ if ($476) {
+ $477 = $2;
+ $478 = ((($477)) + 9|0);
+ $479 = HEAP8[$478>>0]|0;
+ $480 = $479&255;
+ $481 = (($480) - 1)|0;
+ $482 = (43733 + ($481)|0);
+ $483 = HEAP8[$482>>0]|0;
+ $tmp = $483;
+ $484 = $tmp;
+ $485 = $484&255;
+ $486 = (($485) + 45)|0;
+ $487 = (43988 + ($486)|0);
+ $488 = HEAP8[$487>>0]|0;
+ $489 = $488&255;
+ $490 = $se;
+ $491 = $490&255;
+ $492 = $491 ^ $489;
+ $493 = $492&255;
+ $se = $493;
+ $494 = $tmp;
+ $495 = $494&255;
+ $496 = (($495) + 164)|0;
+ $497 = (43988 + ($496)|0);
+ $498 = HEAP8[$497>>0]|0;
+ $499 = $498&255;
+ $500 = $sf;
+ $501 = $500&255;
+ $502 = $501 ^ $499;
+ $503 = $502&255;
+ $sf = $503;
+ $504 = $tmp;
+ $505 = $504&255;
+ $506 = (($505) + 68)|0;
+ $507 = (43988 + ($506)|0);
+ $508 = HEAP8[$507>>0]|0;
+ $509 = $508&255;
+ $510 = $sg;
+ $511 = $510&255;
+ $512 = $511 ^ $509;
+ $513 = $512&255;
+ $sg = $513;
+ $514 = $tmp;
+ $515 = $514&255;
+ $516 = (($515) + 138)|0;
+ $517 = (43988 + ($516)|0);
+ $518 = HEAP8[$517>>0]|0;
+ $519 = $518&255;
+ $520 = $sh;
+ $521 = $520&255;
+ $522 = $521 ^ $519;
+ $523 = $522&255;
+ $sh = $523;
+ }
+ $524 = $2;
+ $525 = ((($524)) + 10|0);
+ $526 = HEAP8[$525>>0]|0;
+ $527 = ($526<<24>>24)!=(0);
+ if ($527) {
+ $528 = $2;
+ $529 = ((($528)) + 10|0);
+ $530 = HEAP8[$529>>0]|0;
+ $531 = $530&255;
+ $532 = (($531) - 1)|0;
+ $533 = (43733 + ($532)|0);
+ $534 = HEAP8[$533>>0]|0;
+ $tmp = $534;
+ $535 = $tmp;
+ $536 = $535&255;
+ $537 = (($536) + 138)|0;
+ $538 = (43988 + ($537)|0);
+ $539 = HEAP8[$538>>0]|0;
+ $540 = $539&255;
+ $541 = $se;
+ $542 = $541&255;
+ $543 = $542 ^ $540;
+ $544 = $543&255;
+ $se = $544;
+ $545 = $tmp;
+ $546 = $545&255;
+ $547 = (($546) + 213)|0;
+ $548 = (43988 + ($547)|0);
+ $549 = HEAP8[$548>>0]|0;
+ $550 = $549&255;
+ $551 = $sf;
+ $552 = $551&255;
+ $553 = $552 ^ $550;
+ $554 = $553&255;
+ $sf = $554;
+ $555 = $tmp;
+ $556 = $555&255;
+ $557 = (($556) + 191)|0;
+ $558 = (43988 + ($557)|0);
+ $559 = HEAP8[$558>>0]|0;
+ $560 = $559&255;
+ $561 = $sg;
+ $562 = $561&255;
+ $563 = $562 ^ $560;
+ $564 = $563&255;
+ $sg = $564;
+ $565 = $tmp;
+ $566 = $565&255;
+ $567 = (($566) + 209)|0;
+ $568 = (43988 + ($567)|0);
+ $569 = HEAP8[$568>>0]|0;
+ $570 = $569&255;
+ $571 = $sh;
+ $572 = $571&255;
+ $573 = $572 ^ $570;
+ $574 = $573&255;
+ $sh = $574;
+ }
+ $575 = $2;
+ $576 = ((($575)) + 11|0);
+ $577 = HEAP8[$576>>0]|0;
+ $578 = ($577<<24>>24)!=(0);
+ if ($578) {
+ $579 = $2;
+ $580 = ((($579)) + 11|0);
+ $581 = HEAP8[$580>>0]|0;
+ $582 = $581&255;
+ $583 = (($582) - 1)|0;
+ $584 = (43733 + ($583)|0);
+ $585 = HEAP8[$584>>0]|0;
+ $tmp = $585;
+ $586 = $tmp;
+ $587 = $586&255;
+ $588 = (($587) + 209)|0;
+ $589 = (43988 + ($588)|0);
+ $590 = HEAP8[$589>>0]|0;
+ $591 = $590&255;
+ $592 = $se;
+ $593 = $592&255;
+ $594 = $593 ^ $591;
+ $595 = $594&255;
+ $se = $595;
+ $596 = $tmp;
+ $597 = $596&255;
+ $598 = (($597) + 127)|0;
+ $599 = (43988 + ($598)|0);
+ $600 = HEAP8[$599>>0]|0;
+ $601 = $600&255;
+ $602 = $sf;
+ $603 = $602&255;
+ $604 = $603 ^ $601;
+ $605 = $604&255;
+ $sf = $605;
+ $606 = $tmp;
+ $607 = $606&255;
+ $608 = (($607) + 61)|0;
+ $609 = (43988 + ($608)|0);
+ $610 = HEAP8[$609>>0]|0;
+ $611 = $610&255;
+ $612 = $sg;
+ $613 = $612&255;
+ $614 = $613 ^ $611;
+ $615 = $614&255;
+ $sg = $615;
+ $616 = $tmp;
+ $617 = $616&255;
+ $618 = (($617) + 153)|0;
+ $619 = (43988 + ($618)|0);
+ $620 = HEAP8[$619>>0]|0;
+ $621 = $620&255;
+ $622 = $sh;
+ $623 = $622&255;
+ $624 = $623 ^ $621;
+ $625 = $624&255;
+ $sh = $625;
+ }
+ $626 = $2;
+ $627 = ((($626)) + 12|0);
+ $628 = HEAP8[$627>>0]|0;
+ $629 = ($628<<24>>24)!=(0);
+ if ($629) {
+ $630 = $2;
+ $631 = ((($630)) + 12|0);
+ $632 = HEAP8[$631>>0]|0;
+ $633 = $632&255;
+ $634 = (($633) - 1)|0;
+ $635 = (43733 + ($634)|0);
+ $636 = HEAP8[$635>>0]|0;
+ $tmp = $636;
+ $637 = $tmp;
+ $638 = $637&255;
+ $639 = (($638) + 153)|0;
+ $640 = (43988 + ($639)|0);
+ $641 = HEAP8[$640>>0]|0;
+ $642 = $641&255;
+ $643 = $se;
+ $644 = $643&255;
+ $645 = $644 ^ $642;
+ $646 = $645&255;
+ $se = $646;
+ $647 = $tmp;
+ $648 = $647&255;
+ $649 = (($648) + 70)|0;
+ $650 = (43988 + ($649)|0);
+ $651 = HEAP8[$650>>0]|0;
+ $652 = $651&255;
+ $653 = $sf;
+ $654 = $653&255;
+ $655 = $654 ^ $652;
+ $656 = $655&255;
+ $sf = $656;
+ $657 = $tmp;
+ $658 = $657&255;
+ $659 = (($658) + 102)|0;
+ $660 = (43988 + ($659)|0);
+ $661 = HEAP8[$660>>0]|0;
+ $662 = $661&255;
+ $663 = $sg;
+ $664 = $663&255;
+ $665 = $664 ^ $662;
+ $666 = $665&255;
+ $sg = $666;
+ $667 = $tmp;
+ $668 = $667&255;
+ $669 = (($668) + 150)|0;
+ $670 = (43988 + ($669)|0);
+ $671 = HEAP8[$670>>0]|0;
+ $672 = $671&255;
+ $673 = $sh;
+ $674 = $673&255;
+ $675 = $674 ^ $672;
+ $676 = $675&255;
+ $sh = $676;
+ }
+ $677 = $2;
+ $678 = ((($677)) + 13|0);
+ $679 = HEAP8[$678>>0]|0;
+ $680 = ($679<<24>>24)!=(0);
+ if ($680) {
+ $681 = $2;
+ $682 = ((($681)) + 13|0);
+ $683 = HEAP8[$682>>0]|0;
+ $684 = $683&255;
+ $685 = (($684) - 1)|0;
+ $686 = (43733 + ($685)|0);
+ $687 = HEAP8[$686>>0]|0;
+ $tmp = $687;
+ $688 = $tmp;
+ $689 = $688&255;
+ $690 = (($689) + 150)|0;
+ $691 = (43988 + ($690)|0);
+ $692 = HEAP8[$691>>0]|0;
+ $693 = $692&255;
+ $694 = $se;
+ $695 = $694&255;
+ $696 = $695 ^ $693;
+ $697 = $696&255;
+ $se = $697;
+ $698 = $tmp;
+ $699 = $698&255;
+ $700 = (($699) + 60)|0;
+ $701 = (43988 + ($700)|0);
+ $702 = HEAP8[$701>>0]|0;
+ $703 = $702&255;
+ $704 = $sf;
+ $705 = $704&255;
+ $706 = $705 ^ $703;
+ $707 = $706&255;
+ $sf = $707;
+ $708 = $tmp;
+ $709 = $708&255;
+ $710 = (($709) + 91)|0;
+ $711 = (43988 + ($710)|0);
+ $712 = HEAP8[$711>>0]|0;
+ $713 = $712&255;
+ $714 = $sg;
+ $715 = $714&255;
+ $716 = $715 ^ $713;
+ $717 = $716&255;
+ $sg = $717;
+ $718 = $tmp;
+ $719 = $718&255;
+ $720 = (($719) + 237)|0;
+ $721 = (43988 + ($720)|0);
+ $722 = HEAP8[$721>>0]|0;
+ $723 = $722&255;
+ $724 = $sh;
+ $725 = $724&255;
+ $726 = $725 ^ $723;
+ $727 = $726&255;
+ $sh = $727;
+ }
+ $728 = $2;
+ $729 = ((($728)) + 14|0);
+ $730 = HEAP8[$729>>0]|0;
+ $731 = ($730<<24>>24)!=(0);
+ if ($731) {
+ $732 = $2;
+ $733 = ((($732)) + 14|0);
+ $734 = HEAP8[$733>>0]|0;
+ $735 = $734&255;
+ $736 = (($735) - 1)|0;
+ $737 = (43733 + ($736)|0);
+ $738 = HEAP8[$737>>0]|0;
+ $tmp = $738;
+ $739 = $tmp;
+ $740 = $739&255;
+ $741 = (($740) + 237)|0;
+ $742 = (43988 + ($741)|0);
+ $743 = HEAP8[$742>>0]|0;
+ $744 = $743&255;
+ $745 = $se;
+ $746 = $745&255;
+ $747 = $746 ^ $744;
+ $748 = $747&255;
+ $se = $748;
+ $749 = $tmp;
+ $750 = $749&255;
+ $751 = (($750) + 55)|0;
+ $752 = (43988 + ($751)|0);
+ $753 = HEAP8[$752>>0]|0;
+ $754 = $753&255;
+ $755 = $sf;
+ $756 = $755&255;
+ $757 = $756 ^ $754;
+ $758 = $757&255;
+ $sf = $758;
+ $759 = $tmp;
+ $760 = $759&255;
+ $761 = (($760) + 79)|0;
+ $762 = (43988 + ($761)|0);
+ $763 = HEAP8[$762>>0]|0;
+ $764 = $763&255;
+ $765 = $sg;
+ $766 = $765&255;
+ $767 = $766 ^ $764;
+ $768 = $767&255;
+ $sg = $768;
+ $769 = $tmp;
+ $770 = $769&255;
+ $771 = (($770) + 224)|0;
+ $772 = (43988 + ($771)|0);
+ $773 = HEAP8[$772>>0]|0;
+ $774 = $773&255;
+ $775 = $sh;
+ $776 = $775&255;
+ $777 = $776 ^ $774;
+ $778 = $777&255;
+ $sh = $778;
+ }
+ $779 = $2;
+ $780 = ((($779)) + 15|0);
+ $781 = HEAP8[$780>>0]|0;
+ $782 = ($781<<24>>24)!=(0);
+ if ($782) {
+ $783 = $2;
+ $784 = ((($783)) + 15|0);
+ $785 = HEAP8[$784>>0]|0;
+ $786 = $785&255;
+ $787 = (($786) - 1)|0;
+ $788 = (43733 + ($787)|0);
+ $789 = HEAP8[$788>>0]|0;
+ $tmp = $789;
+ $790 = $tmp;
+ $791 = $790&255;
+ $792 = (($791) + 224)|0;
+ $793 = (43988 + ($792)|0);
+ $794 = HEAP8[$793>>0]|0;
+ $795 = $794&255;
+ $796 = $se;
+ $797 = $796&255;
+ $798 = $797 ^ $795;
+ $799 = $798&255;
+ $se = $799;
+ $800 = $tmp;
+ $801 = $800&255;
+ $802 = (($801) + 208)|0;
+ $803 = (43988 + ($802)|0);
+ $804 = HEAP8[$803>>0]|0;
+ $805 = $804&255;
+ $806 = $sf;
+ $807 = $806&255;
+ $808 = $807 ^ $805;
+ $809 = $808&255;
+ $sf = $809;
+ $810 = $tmp;
+ $811 = $810&255;
+ $812 = (($811) + 140)|0;
+ $813 = (43988 + ($812)|0);
+ $814 = HEAP8[$813>>0]|0;
+ $815 = $814&255;
+ $816 = $sg;
+ $817 = $816&255;
+ $818 = $817 ^ $815;
+ $819 = $818&255;
+ $sg = $819;
+ $820 = $tmp;
+ $821 = $820&255;
+ $822 = (($821) + 23)|0;
+ $823 = (43988 + ($822)|0);
+ $824 = HEAP8[$823>>0]|0;
+ $825 = $824&255;
+ $826 = $sh;
+ $827 = $826&255;
+ $828 = $827 ^ $825;
+ $829 = $828&255;
+ $sh = $829;
+ }
+ $830 = $3;
+ $831 = ($830|0)==(32);
+ if ($831) {
+ $832 = $2;
+ $833 = ((($832)) + 16|0);
+ $834 = HEAP8[$833>>0]|0;
+ $835 = ($834<<24>>24)!=(0);
+ if ($835) {
+ $836 = $2;
+ $837 = ((($836)) + 16|0);
+ $838 = HEAP8[$837>>0]|0;
+ $839 = $838&255;
+ $840 = (($839) - 1)|0;
+ $841 = (43733 + ($840)|0);
+ $842 = HEAP8[$841>>0]|0;
+ $tmp = $842;
+ $843 = $tmp;
+ $844 = $843&255;
+ $845 = (($844) + 0)|0;
+ $846 = (43988 + ($845)|0);
+ $847 = HEAP8[$846>>0]|0;
+ $848 = $847&255;
+ $849 = $si;
+ $850 = $849&255;
+ $851 = $850 ^ $848;
+ $852 = $851&255;
+ $si = $852;
+ $853 = $tmp;
+ $854 = $853&255;
+ $855 = (($854) + 45)|0;
+ $856 = (43988 + ($855)|0);
+ $857 = HEAP8[$856>>0]|0;
+ $858 = $857&255;
+ $859 = $sj;
+ $860 = $859&255;
+ $861 = $860 ^ $858;
+ $862 = $861&255;
+ $sj = $862;
+ $863 = $tmp;
+ $864 = $863&255;
+ $865 = (($864) + 1)|0;
+ $866 = (43988 + ($865)|0);
+ $867 = HEAP8[$866>>0]|0;
+ $868 = $867&255;
+ $869 = $sk;
+ $870 = $869&255;
+ $871 = $870 ^ $868;
+ $872 = $871&255;
+ $sk = $872;
+ $873 = $tmp;
+ $874 = $873&255;
+ $875 = (($874) + 45)|0;
+ $876 = (43988 + ($875)|0);
+ $877 = HEAP8[$876>>0]|0;
+ $878 = $877&255;
+ $879 = $sl;
+ $880 = $879&255;
+ $881 = $880 ^ $878;
+ $882 = $881&255;
+ $sl = $882;
+ }
+ $883 = $2;
+ $884 = ((($883)) + 17|0);
+ $885 = HEAP8[$884>>0]|0;
+ $886 = ($885<<24>>24)!=(0);
+ if ($886) {
+ $887 = $2;
+ $888 = ((($887)) + 17|0);
+ $889 = HEAP8[$888>>0]|0;
+ $890 = $889&255;
+ $891 = (($890) - 1)|0;
+ $892 = (43733 + ($891)|0);
+ $893 = HEAP8[$892>>0]|0;
+ $tmp = $893;
+ $894 = $tmp;
+ $895 = $894&255;
+ $896 = (($895) + 45)|0;
+ $897 = (43988 + ($896)|0);
+ $898 = HEAP8[$897>>0]|0;
+ $899 = $898&255;
+ $900 = $si;
+ $901 = $900&255;
+ $902 = $901 ^ $899;
+ $903 = $902&255;
+ $si = $903;
+ $904 = $tmp;
+ $905 = $904&255;
+ $906 = (($905) + 164)|0;
+ $907 = (43988 + ($906)|0);
+ $908 = HEAP8[$907>>0]|0;
+ $909 = $908&255;
+ $910 = $sj;
+ $911 = $910&255;
+ $912 = $911 ^ $909;
+ $913 = $912&255;
+ $sj = $913;
+ $914 = $tmp;
+ $915 = $914&255;
+ $916 = (($915) + 68)|0;
+ $917 = (43988 + ($916)|0);
+ $918 = HEAP8[$917>>0]|0;
+ $919 = $918&255;
+ $920 = $sk;
+ $921 = $920&255;
+ $922 = $921 ^ $919;
+ $923 = $922&255;
+ $sk = $923;
+ $924 = $tmp;
+ $925 = $924&255;
+ $926 = (($925) + 138)|0;
+ $927 = (43988 + ($926)|0);
+ $928 = HEAP8[$927>>0]|0;
+ $929 = $928&255;
+ $930 = $sl;
+ $931 = $930&255;
+ $932 = $931 ^ $929;
+ $933 = $932&255;
+ $sl = $933;
+ }
+ $934 = $2;
+ $935 = ((($934)) + 18|0);
+ $936 = HEAP8[$935>>0]|0;
+ $937 = ($936<<24>>24)!=(0);
+ if ($937) {
+ $938 = $2;
+ $939 = ((($938)) + 18|0);
+ $940 = HEAP8[$939>>0]|0;
+ $941 = $940&255;
+ $942 = (($941) - 1)|0;
+ $943 = (43733 + ($942)|0);
+ $944 = HEAP8[$943>>0]|0;
+ $tmp = $944;
+ $945 = $tmp;
+ $946 = $945&255;
+ $947 = (($946) + 138)|0;
+ $948 = (43988 + ($947)|0);
+ $949 = HEAP8[$948>>0]|0;
+ $950 = $949&255;
+ $951 = $si;
+ $952 = $951&255;
+ $953 = $952 ^ $950;
+ $954 = $953&255;
+ $si = $954;
+ $955 = $tmp;
+ $956 = $955&255;
+ $957 = (($956) + 213)|0;
+ $958 = (43988 + ($957)|0);
+ $959 = HEAP8[$958>>0]|0;
+ $960 = $959&255;
+ $961 = $sj;
+ $962 = $961&255;
+ $963 = $962 ^ $960;
+ $964 = $963&255;
+ $sj = $964;
+ $965 = $tmp;
+ $966 = $965&255;
+ $967 = (($966) + 191)|0;
+ $968 = (43988 + ($967)|0);
+ $969 = HEAP8[$968>>0]|0;
+ $970 = $969&255;
+ $971 = $sk;
+ $972 = $971&255;
+ $973 = $972 ^ $970;
+ $974 = $973&255;
+ $sk = $974;
+ $975 = $tmp;
+ $976 = $975&255;
+ $977 = (($976) + 209)|0;
+ $978 = (43988 + ($977)|0);
+ $979 = HEAP8[$978>>0]|0;
+ $980 = $979&255;
+ $981 = $sl;
+ $982 = $981&255;
+ $983 = $982 ^ $980;
+ $984 = $983&255;
+ $sl = $984;
+ }
+ $985 = $2;
+ $986 = ((($985)) + 19|0);
+ $987 = HEAP8[$986>>0]|0;
+ $988 = ($987<<24>>24)!=(0);
+ if ($988) {
+ $989 = $2;
+ $990 = ((($989)) + 19|0);
+ $991 = HEAP8[$990>>0]|0;
+ $992 = $991&255;
+ $993 = (($992) - 1)|0;
+ $994 = (43733 + ($993)|0);
+ $995 = HEAP8[$994>>0]|0;
+ $tmp = $995;
+ $996 = $tmp;
+ $997 = $996&255;
+ $998 = (($997) + 209)|0;
+ $999 = (43988 + ($998)|0);
+ $1000 = HEAP8[$999>>0]|0;
+ $1001 = $1000&255;
+ $1002 = $si;
+ $1003 = $1002&255;
+ $1004 = $1003 ^ $1001;
+ $1005 = $1004&255;
+ $si = $1005;
+ $1006 = $tmp;
+ $1007 = $1006&255;
+ $1008 = (($1007) + 127)|0;
+ $1009 = (43988 + ($1008)|0);
+ $1010 = HEAP8[$1009>>0]|0;
+ $1011 = $1010&255;
+ $1012 = $sj;
+ $1013 = $1012&255;
+ $1014 = $1013 ^ $1011;
+ $1015 = $1014&255;
+ $sj = $1015;
+ $1016 = $tmp;
+ $1017 = $1016&255;
+ $1018 = (($1017) + 61)|0;
+ $1019 = (43988 + ($1018)|0);
+ $1020 = HEAP8[$1019>>0]|0;
+ $1021 = $1020&255;
+ $1022 = $sk;
+ $1023 = $1022&255;
+ $1024 = $1023 ^ $1021;
+ $1025 = $1024&255;
+ $sk = $1025;
+ $1026 = $tmp;
+ $1027 = $1026&255;
+ $1028 = (($1027) + 153)|0;
+ $1029 = (43988 + ($1028)|0);
+ $1030 = HEAP8[$1029>>0]|0;
+ $1031 = $1030&255;
+ $1032 = $sl;
+ $1033 = $1032&255;
+ $1034 = $1033 ^ $1031;
+ $1035 = $1034&255;
+ $sl = $1035;
+ }
+ $1036 = $2;
+ $1037 = ((($1036)) + 20|0);
+ $1038 = HEAP8[$1037>>0]|0;
+ $1039 = ($1038<<24>>24)!=(0);
+ if ($1039) {
+ $1040 = $2;
+ $1041 = ((($1040)) + 20|0);
+ $1042 = HEAP8[$1041>>0]|0;
+ $1043 = $1042&255;
+ $1044 = (($1043) - 1)|0;
+ $1045 = (43733 + ($1044)|0);
+ $1046 = HEAP8[$1045>>0]|0;
+ $tmp = $1046;
+ $1047 = $tmp;
+ $1048 = $1047&255;
+ $1049 = (($1048) + 153)|0;
+ $1050 = (43988 + ($1049)|0);
+ $1051 = HEAP8[$1050>>0]|0;
+ $1052 = $1051&255;
+ $1053 = $si;
+ $1054 = $1053&255;
+ $1055 = $1054 ^ $1052;
+ $1056 = $1055&255;
+ $si = $1056;
+ $1057 = $tmp;
+ $1058 = $1057&255;
+ $1059 = (($1058) + 70)|0;
+ $1060 = (43988 + ($1059)|0);
+ $1061 = HEAP8[$1060>>0]|0;
+ $1062 = $1061&255;
+ $1063 = $sj;
+ $1064 = $1063&255;
+ $1065 = $1064 ^ $1062;
+ $1066 = $1065&255;
+ $sj = $1066;
+ $1067 = $tmp;
+ $1068 = $1067&255;
+ $1069 = (($1068) + 102)|0;
+ $1070 = (43988 + ($1069)|0);
+ $1071 = HEAP8[$1070>>0]|0;
+ $1072 = $1071&255;
+ $1073 = $sk;
+ $1074 = $1073&255;
+ $1075 = $1074 ^ $1072;
+ $1076 = $1075&255;
+ $sk = $1076;
+ $1077 = $tmp;
+ $1078 = $1077&255;
+ $1079 = (($1078) + 150)|0;
+ $1080 = (43988 + ($1079)|0);
+ $1081 = HEAP8[$1080>>0]|0;
+ $1082 = $1081&255;
+ $1083 = $sl;
+ $1084 = $1083&255;
+ $1085 = $1084 ^ $1082;
+ $1086 = $1085&255;
+ $sl = $1086;
+ }
+ $1087 = $2;
+ $1088 = ((($1087)) + 21|0);
+ $1089 = HEAP8[$1088>>0]|0;
+ $1090 = ($1089<<24>>24)!=(0);
+ if ($1090) {
+ $1091 = $2;
+ $1092 = ((($1091)) + 21|0);
+ $1093 = HEAP8[$1092>>0]|0;
+ $1094 = $1093&255;
+ $1095 = (($1094) - 1)|0;
+ $1096 = (43733 + ($1095)|0);
+ $1097 = HEAP8[$1096>>0]|0;
+ $tmp = $1097;
+ $1098 = $tmp;
+ $1099 = $1098&255;
+ $1100 = (($1099) + 150)|0;
+ $1101 = (43988 + ($1100)|0);
+ $1102 = HEAP8[$1101>>0]|0;
+ $1103 = $1102&255;
+ $1104 = $si;
+ $1105 = $1104&255;
+ $1106 = $1105 ^ $1103;
+ $1107 = $1106&255;
+ $si = $1107;
+ $1108 = $tmp;
+ $1109 = $1108&255;
+ $1110 = (($1109) + 60)|0;
+ $1111 = (43988 + ($1110)|0);
+ $1112 = HEAP8[$1111>>0]|0;
+ $1113 = $1112&255;
+ $1114 = $sj;
+ $1115 = $1114&255;
+ $1116 = $1115 ^ $1113;
+ $1117 = $1116&255;
+ $sj = $1117;
+ $1118 = $tmp;
+ $1119 = $1118&255;
+ $1120 = (($1119) + 91)|0;
+ $1121 = (43988 + ($1120)|0);
+ $1122 = HEAP8[$1121>>0]|0;
+ $1123 = $1122&255;
+ $1124 = $sk;
+ $1125 = $1124&255;
+ $1126 = $1125 ^ $1123;
+ $1127 = $1126&255;
+ $sk = $1127;
+ $1128 = $tmp;
+ $1129 = $1128&255;
+ $1130 = (($1129) + 237)|0;
+ $1131 = (43988 + ($1130)|0);
+ $1132 = HEAP8[$1131>>0]|0;
+ $1133 = $1132&255;
+ $1134 = $sl;
+ $1135 = $1134&255;
+ $1136 = $1135 ^ $1133;
+ $1137 = $1136&255;
+ $sl = $1137;
+ }
+ $1138 = $2;
+ $1139 = ((($1138)) + 22|0);
+ $1140 = HEAP8[$1139>>0]|0;
+ $1141 = ($1140<<24>>24)!=(0);
+ if ($1141) {
+ $1142 = $2;
+ $1143 = ((($1142)) + 22|0);
+ $1144 = HEAP8[$1143>>0]|0;
+ $1145 = $1144&255;
+ $1146 = (($1145) - 1)|0;
+ $1147 = (43733 + ($1146)|0);
+ $1148 = HEAP8[$1147>>0]|0;
+ $tmp = $1148;
+ $1149 = $tmp;
+ $1150 = $1149&255;
+ $1151 = (($1150) + 237)|0;
+ $1152 = (43988 + ($1151)|0);
+ $1153 = HEAP8[$1152>>0]|0;
+ $1154 = $1153&255;
+ $1155 = $si;
+ $1156 = $1155&255;
+ $1157 = $1156 ^ $1154;
+ $1158 = $1157&255;
+ $si = $1158;
+ $1159 = $tmp;
+ $1160 = $1159&255;
+ $1161 = (($1160) + 55)|0;
+ $1162 = (43988 + ($1161)|0);
+ $1163 = HEAP8[$1162>>0]|0;
+ $1164 = $1163&255;
+ $1165 = $sj;
+ $1166 = $1165&255;
+ $1167 = $1166 ^ $1164;
+ $1168 = $1167&255;
+ $sj = $1168;
+ $1169 = $tmp;
+ $1170 = $1169&255;
+ $1171 = (($1170) + 79)|0;
+ $1172 = (43988 + ($1171)|0);
+ $1173 = HEAP8[$1172>>0]|0;
+ $1174 = $1173&255;
+ $1175 = $sk;
+ $1176 = $1175&255;
+ $1177 = $1176 ^ $1174;
+ $1178 = $1177&255;
+ $sk = $1178;
+ $1179 = $tmp;
+ $1180 = $1179&255;
+ $1181 = (($1180) + 224)|0;
+ $1182 = (43988 + ($1181)|0);
+ $1183 = HEAP8[$1182>>0]|0;
+ $1184 = $1183&255;
+ $1185 = $sl;
+ $1186 = $1185&255;
+ $1187 = $1186 ^ $1184;
+ $1188 = $1187&255;
+ $sl = $1188;
+ }
+ $1189 = $2;
+ $1190 = ((($1189)) + 23|0);
+ $1191 = HEAP8[$1190>>0]|0;
+ $1192 = ($1191<<24>>24)!=(0);
+ if ($1192) {
+ $1193 = $2;
+ $1194 = ((($1193)) + 23|0);
+ $1195 = HEAP8[$1194>>0]|0;
+ $1196 = $1195&255;
+ $1197 = (($1196) - 1)|0;
+ $1198 = (43733 + ($1197)|0);
+ $1199 = HEAP8[$1198>>0]|0;
+ $tmp = $1199;
+ $1200 = $tmp;
+ $1201 = $1200&255;
+ $1202 = (($1201) + 224)|0;
+ $1203 = (43988 + ($1202)|0);
+ $1204 = HEAP8[$1203>>0]|0;
+ $1205 = $1204&255;
+ $1206 = $si;
+ $1207 = $1206&255;
+ $1208 = $1207 ^ $1205;
+ $1209 = $1208&255;
+ $si = $1209;
+ $1210 = $tmp;
+ $1211 = $1210&255;
+ $1212 = (($1211) + 208)|0;
+ $1213 = (43988 + ($1212)|0);
+ $1214 = HEAP8[$1213>>0]|0;
+ $1215 = $1214&255;
+ $1216 = $sj;
+ $1217 = $1216&255;
+ $1218 = $1217 ^ $1215;
+ $1219 = $1218&255;
+ $sj = $1219;
+ $1220 = $tmp;
+ $1221 = $1220&255;
+ $1222 = (($1221) + 140)|0;
+ $1223 = (43988 + ($1222)|0);
+ $1224 = HEAP8[$1223>>0]|0;
+ $1225 = $1224&255;
+ $1226 = $sk;
+ $1227 = $1226&255;
+ $1228 = $1227 ^ $1225;
+ $1229 = $1228&255;
+ $sk = $1229;
+ $1230 = $tmp;
+ $1231 = $1230&255;
+ $1232 = (($1231) + 23)|0;
+ $1233 = (43988 + ($1232)|0);
+ $1234 = HEAP8[$1233>>0]|0;
+ $1235 = $1234&255;
+ $1236 = $sl;
+ $1237 = $1236&255;
+ $1238 = $1237 ^ $1235;
+ $1239 = $1238&255;
+ $sl = $1239;
+ }
+ $1240 = $2;
+ $1241 = ((($1240)) + 24|0);
+ $1242 = HEAP8[$1241>>0]|0;
+ $1243 = ($1242<<24>>24)!=(0);
+ if ($1243) {
+ $1244 = $2;
+ $1245 = ((($1244)) + 24|0);
+ $1246 = HEAP8[$1245>>0]|0;
+ $1247 = $1246&255;
+ $1248 = (($1247) - 1)|0;
+ $1249 = (43733 + ($1248)|0);
+ $1250 = HEAP8[$1249>>0]|0;
+ $tmp = $1250;
+ $1251 = $tmp;
+ $1252 = $1251&255;
+ $1253 = (($1252) + 0)|0;
+ $1254 = (43988 + ($1253)|0);
+ $1255 = HEAP8[$1254>>0]|0;
+ $1256 = $1255&255;
+ $1257 = $sm;
+ $1258 = $1257&255;
+ $1259 = $1258 ^ $1256;
+ $1260 = $1259&255;
+ $sm = $1260;
+ $1261 = $tmp;
+ $1262 = $1261&255;
+ $1263 = (($1262) + 45)|0;
+ $1264 = (43988 + ($1263)|0);
+ $1265 = HEAP8[$1264>>0]|0;
+ $1266 = $1265&255;
+ $1267 = $sn;
+ $1268 = $1267&255;
+ $1269 = $1268 ^ $1266;
+ $1270 = $1269&255;
+ $sn = $1270;
+ $1271 = $tmp;
+ $1272 = $1271&255;
+ $1273 = (($1272) + 1)|0;
+ $1274 = (43988 + ($1273)|0);
+ $1275 = HEAP8[$1274>>0]|0;
+ $1276 = $1275&255;
+ $1277 = $so;
+ $1278 = $1277&255;
+ $1279 = $1278 ^ $1276;
+ $1280 = $1279&255;
+ $so = $1280;
+ $1281 = $tmp;
+ $1282 = $1281&255;
+ $1283 = (($1282) + 45)|0;
+ $1284 = (43988 + ($1283)|0);
+ $1285 = HEAP8[$1284>>0]|0;
+ $1286 = $1285&255;
+ $1287 = $sp;
+ $1288 = $1287&255;
+ $1289 = $1288 ^ $1286;
+ $1290 = $1289&255;
+ $sp = $1290;
+ }
+ $1291 = $2;
+ $1292 = ((($1291)) + 25|0);
+ $1293 = HEAP8[$1292>>0]|0;
+ $1294 = ($1293<<24>>24)!=(0);
+ if ($1294) {
+ $1295 = $2;
+ $1296 = ((($1295)) + 25|0);
+ $1297 = HEAP8[$1296>>0]|0;
+ $1298 = $1297&255;
+ $1299 = (($1298) - 1)|0;
+ $1300 = (43733 + ($1299)|0);
+ $1301 = HEAP8[$1300>>0]|0;
+ $tmp = $1301;
+ $1302 = $tmp;
+ $1303 = $1302&255;
+ $1304 = (($1303) + 45)|0;
+ $1305 = (43988 + ($1304)|0);
+ $1306 = HEAP8[$1305>>0]|0;
+ $1307 = $1306&255;
+ $1308 = $sm;
+ $1309 = $1308&255;
+ $1310 = $1309 ^ $1307;
+ $1311 = $1310&255;
+ $sm = $1311;
+ $1312 = $tmp;
+ $1313 = $1312&255;
+ $1314 = (($1313) + 164)|0;
+ $1315 = (43988 + ($1314)|0);
+ $1316 = HEAP8[$1315>>0]|0;
+ $1317 = $1316&255;
+ $1318 = $sn;
+ $1319 = $1318&255;
+ $1320 = $1319 ^ $1317;
+ $1321 = $1320&255;
+ $sn = $1321;
+ $1322 = $tmp;
+ $1323 = $1322&255;
+ $1324 = (($1323) + 68)|0;
+ $1325 = (43988 + ($1324)|0);
+ $1326 = HEAP8[$1325>>0]|0;
+ $1327 = $1326&255;
+ $1328 = $so;
+ $1329 = $1328&255;
+ $1330 = $1329 ^ $1327;
+ $1331 = $1330&255;
+ $so = $1331;
+ $1332 = $tmp;
+ $1333 = $1332&255;
+ $1334 = (($1333) + 138)|0;
+ $1335 = (43988 + ($1334)|0);
+ $1336 = HEAP8[$1335>>0]|0;
+ $1337 = $1336&255;
+ $1338 = $sp;
+ $1339 = $1338&255;
+ $1340 = $1339 ^ $1337;
+ $1341 = $1340&255;
+ $sp = $1341;
+ }
+ $1342 = $2;
+ $1343 = ((($1342)) + 26|0);
+ $1344 = HEAP8[$1343>>0]|0;
+ $1345 = ($1344<<24>>24)!=(0);
+ if ($1345) {
+ $1346 = $2;
+ $1347 = ((($1346)) + 26|0);
+ $1348 = HEAP8[$1347>>0]|0;
+ $1349 = $1348&255;
+ $1350 = (($1349) - 1)|0;
+ $1351 = (43733 + ($1350)|0);
+ $1352 = HEAP8[$1351>>0]|0;
+ $tmp = $1352;
+ $1353 = $tmp;
+ $1354 = $1353&255;
+ $1355 = (($1354) + 138)|0;
+ $1356 = (43988 + ($1355)|0);
+ $1357 = HEAP8[$1356>>0]|0;
+ $1358 = $1357&255;
+ $1359 = $sm;
+ $1360 = $1359&255;
+ $1361 = $1360 ^ $1358;
+ $1362 = $1361&255;
+ $sm = $1362;
+ $1363 = $tmp;
+ $1364 = $1363&255;
+ $1365 = (($1364) + 213)|0;
+ $1366 = (43988 + ($1365)|0);
+ $1367 = HEAP8[$1366>>0]|0;
+ $1368 = $1367&255;
+ $1369 = $sn;
+ $1370 = $1369&255;
+ $1371 = $1370 ^ $1368;
+ $1372 = $1371&255;
+ $sn = $1372;
+ $1373 = $tmp;
+ $1374 = $1373&255;
+ $1375 = (($1374) + 191)|0;
+ $1376 = (43988 + ($1375)|0);
+ $1377 = HEAP8[$1376>>0]|0;
+ $1378 = $1377&255;
+ $1379 = $so;
+ $1380 = $1379&255;
+ $1381 = $1380 ^ $1378;
+ $1382 = $1381&255;
+ $so = $1382;
+ $1383 = $tmp;
+ $1384 = $1383&255;
+ $1385 = (($1384) + 209)|0;
+ $1386 = (43988 + ($1385)|0);
+ $1387 = HEAP8[$1386>>0]|0;
+ $1388 = $1387&255;
+ $1389 = $sp;
+ $1390 = $1389&255;
+ $1391 = $1390 ^ $1388;
+ $1392 = $1391&255;
+ $sp = $1392;
+ }
+ $1393 = $2;
+ $1394 = ((($1393)) + 27|0);
+ $1395 = HEAP8[$1394>>0]|0;
+ $1396 = ($1395<<24>>24)!=(0);
+ if ($1396) {
+ $1397 = $2;
+ $1398 = ((($1397)) + 27|0);
+ $1399 = HEAP8[$1398>>0]|0;
+ $1400 = $1399&255;
+ $1401 = (($1400) - 1)|0;
+ $1402 = (43733 + ($1401)|0);
+ $1403 = HEAP8[$1402>>0]|0;
+ $tmp = $1403;
+ $1404 = $tmp;
+ $1405 = $1404&255;
+ $1406 = (($1405) + 209)|0;
+ $1407 = (43988 + ($1406)|0);
+ $1408 = HEAP8[$1407>>0]|0;
+ $1409 = $1408&255;
+ $1410 = $sm;
+ $1411 = $1410&255;
+ $1412 = $1411 ^ $1409;
+ $1413 = $1412&255;
+ $sm = $1413;
+ $1414 = $tmp;
+ $1415 = $1414&255;
+ $1416 = (($1415) + 127)|0;
+ $1417 = (43988 + ($1416)|0);
+ $1418 = HEAP8[$1417>>0]|0;
+ $1419 = $1418&255;
+ $1420 = $sn;
+ $1421 = $1420&255;
+ $1422 = $1421 ^ $1419;
+ $1423 = $1422&255;
+ $sn = $1423;
+ $1424 = $tmp;
+ $1425 = $1424&255;
+ $1426 = (($1425) + 61)|0;
+ $1427 = (43988 + ($1426)|0);
+ $1428 = HEAP8[$1427>>0]|0;
+ $1429 = $1428&255;
+ $1430 = $so;
+ $1431 = $1430&255;
+ $1432 = $1431 ^ $1429;
+ $1433 = $1432&255;
+ $so = $1433;
+ $1434 = $tmp;
+ $1435 = $1434&255;
+ $1436 = (($1435) + 153)|0;
+ $1437 = (43988 + ($1436)|0);
+ $1438 = HEAP8[$1437>>0]|0;
+ $1439 = $1438&255;
+ $1440 = $sp;
+ $1441 = $1440&255;
+ $1442 = $1441 ^ $1439;
+ $1443 = $1442&255;
+ $sp = $1443;
+ }
+ $1444 = $2;
+ $1445 = ((($1444)) + 28|0);
+ $1446 = HEAP8[$1445>>0]|0;
+ $1447 = ($1446<<24>>24)!=(0);
+ if ($1447) {
+ $1448 = $2;
+ $1449 = ((($1448)) + 28|0);
+ $1450 = HEAP8[$1449>>0]|0;
+ $1451 = $1450&255;
+ $1452 = (($1451) - 1)|0;
+ $1453 = (43733 + ($1452)|0);
+ $1454 = HEAP8[$1453>>0]|0;
+ $tmp = $1454;
+ $1455 = $tmp;
+ $1456 = $1455&255;
+ $1457 = (($1456) + 153)|0;
+ $1458 = (43988 + ($1457)|0);
+ $1459 = HEAP8[$1458>>0]|0;
+ $1460 = $1459&255;
+ $1461 = $sm;
+ $1462 = $1461&255;
+ $1463 = $1462 ^ $1460;
+ $1464 = $1463&255;
+ $sm = $1464;
+ $1465 = $tmp;
+ $1466 = $1465&255;
+ $1467 = (($1466) + 70)|0;
+ $1468 = (43988 + ($1467)|0);
+ $1469 = HEAP8[$1468>>0]|0;
+ $1470 = $1469&255;
+ $1471 = $sn;
+ $1472 = $1471&255;
+ $1473 = $1472 ^ $1470;
+ $1474 = $1473&255;
+ $sn = $1474;
+ $1475 = $tmp;
+ $1476 = $1475&255;
+ $1477 = (($1476) + 102)|0;
+ $1478 = (43988 + ($1477)|0);
+ $1479 = HEAP8[$1478>>0]|0;
+ $1480 = $1479&255;
+ $1481 = $so;
+ $1482 = $1481&255;
+ $1483 = $1482 ^ $1480;
+ $1484 = $1483&255;
+ $so = $1484;
+ $1485 = $tmp;
+ $1486 = $1485&255;
+ $1487 = (($1486) + 150)|0;
+ $1488 = (43988 + ($1487)|0);
+ $1489 = HEAP8[$1488>>0]|0;
+ $1490 = $1489&255;
+ $1491 = $sp;
+ $1492 = $1491&255;
+ $1493 = $1492 ^ $1490;
+ $1494 = $1493&255;
+ $sp = $1494;
+ }
+ $1495 = $2;
+ $1496 = ((($1495)) + 29|0);
+ $1497 = HEAP8[$1496>>0]|0;
+ $1498 = ($1497<<24>>24)!=(0);
+ if ($1498) {
+ $1499 = $2;
+ $1500 = ((($1499)) + 29|0);
+ $1501 = HEAP8[$1500>>0]|0;
+ $1502 = $1501&255;
+ $1503 = (($1502) - 1)|0;
+ $1504 = (43733 + ($1503)|0);
+ $1505 = HEAP8[$1504>>0]|0;
+ $tmp = $1505;
+ $1506 = $tmp;
+ $1507 = $1506&255;
+ $1508 = (($1507) + 150)|0;
+ $1509 = (43988 + ($1508)|0);
+ $1510 = HEAP8[$1509>>0]|0;
+ $1511 = $1510&255;
+ $1512 = $sm;
+ $1513 = $1512&255;
+ $1514 = $1513 ^ $1511;
+ $1515 = $1514&255;
+ $sm = $1515;
+ $1516 = $tmp;
+ $1517 = $1516&255;
+ $1518 = (($1517) + 60)|0;
+ $1519 = (43988 + ($1518)|0);
+ $1520 = HEAP8[$1519>>0]|0;
+ $1521 = $1520&255;
+ $1522 = $sn;
+ $1523 = $1522&255;
+ $1524 = $1523 ^ $1521;
+ $1525 = $1524&255;
+ $sn = $1525;
+ $1526 = $tmp;
+ $1527 = $1526&255;
+ $1528 = (($1527) + 91)|0;
+ $1529 = (43988 + ($1528)|0);
+ $1530 = HEAP8[$1529>>0]|0;
+ $1531 = $1530&255;
+ $1532 = $so;
+ $1533 = $1532&255;
+ $1534 = $1533 ^ $1531;
+ $1535 = $1534&255;
+ $so = $1535;
+ $1536 = $tmp;
+ $1537 = $1536&255;
+ $1538 = (($1537) + 237)|0;
+ $1539 = (43988 + ($1538)|0);
+ $1540 = HEAP8[$1539>>0]|0;
+ $1541 = $1540&255;
+ $1542 = $sp;
+ $1543 = $1542&255;
+ $1544 = $1543 ^ $1541;
+ $1545 = $1544&255;
+ $sp = $1545;
+ }
+ $1546 = $2;
+ $1547 = ((($1546)) + 30|0);
+ $1548 = HEAP8[$1547>>0]|0;
+ $1549 = ($1548<<24>>24)!=(0);
+ if ($1549) {
+ $1550 = $2;
+ $1551 = ((($1550)) + 30|0);
+ $1552 = HEAP8[$1551>>0]|0;
+ $1553 = $1552&255;
+ $1554 = (($1553) - 1)|0;
+ $1555 = (43733 + ($1554)|0);
+ $1556 = HEAP8[$1555>>0]|0;
+ $tmp = $1556;
+ $1557 = $tmp;
+ $1558 = $1557&255;
+ $1559 = (($1558) + 237)|0;
+ $1560 = (43988 + ($1559)|0);
+ $1561 = HEAP8[$1560>>0]|0;
+ $1562 = $1561&255;
+ $1563 = $sm;
+ $1564 = $1563&255;
+ $1565 = $1564 ^ $1562;
+ $1566 = $1565&255;
+ $sm = $1566;
+ $1567 = $tmp;
+ $1568 = $1567&255;
+ $1569 = (($1568) + 55)|0;
+ $1570 = (43988 + ($1569)|0);
+ $1571 = HEAP8[$1570>>0]|0;
+ $1572 = $1571&255;
+ $1573 = $sn;
+ $1574 = $1573&255;
+ $1575 = $1574 ^ $1572;
+ $1576 = $1575&255;
+ $sn = $1576;
+ $1577 = $tmp;
+ $1578 = $1577&255;
+ $1579 = (($1578) + 79)|0;
+ $1580 = (43988 + ($1579)|0);
+ $1581 = HEAP8[$1580>>0]|0;
+ $1582 = $1581&255;
+ $1583 = $so;
+ $1584 = $1583&255;
+ $1585 = $1584 ^ $1582;
+ $1586 = $1585&255;
+ $so = $1586;
+ $1587 = $tmp;
+ $1588 = $1587&255;
+ $1589 = (($1588) + 224)|0;
+ $1590 = (43988 + ($1589)|0);
+ $1591 = HEAP8[$1590>>0]|0;
+ $1592 = $1591&255;
+ $1593 = $sp;
+ $1594 = $1593&255;
+ $1595 = $1594 ^ $1592;
+ $1596 = $1595&255;
+ $sp = $1596;
+ }
+ $1597 = $2;
+ $1598 = ((($1597)) + 31|0);
+ $1599 = HEAP8[$1598>>0]|0;
+ $1600 = ($1599<<24>>24)!=(0);
+ if ($1600) {
+ $1601 = $2;
+ $1602 = ((($1601)) + 31|0);
+ $1603 = HEAP8[$1602>>0]|0;
+ $1604 = $1603&255;
+ $1605 = (($1604) - 1)|0;
+ $1606 = (43733 + ($1605)|0);
+ $1607 = HEAP8[$1606>>0]|0;
+ $tmp = $1607;
+ $1608 = $tmp;
+ $1609 = $1608&255;
+ $1610 = (($1609) + 224)|0;
+ $1611 = (43988 + ($1610)|0);
+ $1612 = HEAP8[$1611>>0]|0;
+ $1613 = $1612&255;
+ $1614 = $sm;
+ $1615 = $1614&255;
+ $1616 = $1615 ^ $1613;
+ $1617 = $1616&255;
+ $sm = $1617;
+ $1618 = $tmp;
+ $1619 = $1618&255;
+ $1620 = (($1619) + 208)|0;
+ $1621 = (43988 + ($1620)|0);
+ $1622 = HEAP8[$1621>>0]|0;
+ $1623 = $1622&255;
+ $1624 = $sn;
+ $1625 = $1624&255;
+ $1626 = $1625 ^ $1623;
+ $1627 = $1626&255;
+ $sn = $1627;
+ $1628 = $tmp;
+ $1629 = $1628&255;
+ $1630 = (($1629) + 140)|0;
+ $1631 = (43988 + ($1630)|0);
+ $1632 = HEAP8[$1631>>0]|0;
+ $1633 = $1632&255;
+ $1634 = $so;
+ $1635 = $1634&255;
+ $1636 = $1635 ^ $1633;
+ $1637 = $1636&255;
+ $so = $1637;
+ $1638 = $tmp;
+ $1639 = $1638&255;
+ $1640 = (($1639) + 23)|0;
+ $1641 = (43988 + ($1640)|0);
+ $1642 = HEAP8[$1641>>0]|0;
+ $1643 = $1642&255;
+ $1644 = $sp;
+ $1645 = $1644&255;
+ $1646 = $1645 ^ $1643;
+ $1647 = $1646&255;
+ $sp = $1647;
+ }
+ $j = 0;
+ $i = 0;
+ $k = 1;
+ while(1) {
+ $1648 = $i;
+ $1649 = ($1648|0)<(256);
+ if (!($1649)) {
+ break;
+ }
+ $1650 = $k;
+ $1651 = (44480 + ($1650)|0);
+ $1652 = HEAP8[$1651>>0]|0;
+ $1653 = $1652&255;
+ $1654 = $sa;
+ $1655 = $1654&255;
+ $1656 = $1653 ^ $1655;
+ $1657 = (44992 + ($1656)|0);
+ $1658 = HEAP8[$1657>>0]|0;
+ $1659 = $1658&255;
+ $1660 = $se;
+ $1661 = $1660&255;
+ $1662 = $1659 ^ $1661;
+ $1663 = (45248 + ($1662)|0);
+ $1664 = HEAP8[$1663>>0]|0;
+ $1665 = $1664&255;
+ $1666 = $si;
+ $1667 = $1666&255;
+ $1668 = $1665 ^ $1667;
+ $1669 = (45248 + ($1668)|0);
+ $1670 = HEAP8[$1669>>0]|0;
+ $1671 = $1670&255;
+ $1672 = $sm;
+ $1673 = $1672&255;
+ $1674 = $1671 ^ $1673;
+ $1675 = (8376 + ($1674<<2)|0);
+ $1676 = HEAP32[$1675>>2]|0;
+ $1677 = $i;
+ $1678 = $1;
+ $1679 = (($1678) + ($1677<<2)|0);
+ HEAP32[$1679>>2] = $1676;
+ $1680 = $j;
+ $1681 = (44480 + ($1680)|0);
+ $1682 = HEAP8[$1681>>0]|0;
+ $1683 = $1682&255;
+ $1684 = $sb;
+ $1685 = $1684&255;
+ $1686 = $1683 ^ $1685;
+ $1687 = (44992 + ($1686)|0);
+ $1688 = HEAP8[$1687>>0]|0;
+ $1689 = $1688&255;
+ $1690 = $sf;
+ $1691 = $1690&255;
+ $1692 = $1689 ^ $1691;
+ $1693 = (44992 + ($1692)|0);
+ $1694 = HEAP8[$1693>>0]|0;
+ $1695 = $1694&255;
+ $1696 = $sj;
+ $1697 = $1696&255;
+ $1698 = $1695 ^ $1697;
+ $1699 = (45248 + ($1698)|0);
+ $1700 = HEAP8[$1699>>0]|0;
+ $1701 = $1700&255;
+ $1702 = $sn;
+ $1703 = $1702&255;
+ $1704 = $1701 ^ $1703;
+ $1705 = ((9400) + ($1704<<2)|0);
+ $1706 = HEAP32[$1705>>2]|0;
+ $1707 = $i;
+ $1708 = $1;
+ $1709 = ((($1708)) + 1024|0);
+ $1710 = (($1709) + ($1707<<2)|0);
+ HEAP32[$1710>>2] = $1706;
+ $1711 = $j;
+ $1712 = (44480 + ($1711)|0);
+ $1713 = HEAP8[$1712>>0]|0;
+ $1714 = $1713&255;
+ $1715 = $sc;
+ $1716 = $1715&255;
+ $1717 = $1714 ^ $1716;
+ $1718 = (45248 + ($1717)|0);
+ $1719 = HEAP8[$1718>>0]|0;
+ $1720 = $1719&255;
+ $1721 = $sg;
+ $1722 = $1721&255;
+ $1723 = $1720 ^ $1722;
+ $1724 = (45248 + ($1723)|0);
+ $1725 = HEAP8[$1724>>0]|0;
+ $1726 = $1725&255;
+ $1727 = $sk;
+ $1728 = $1727&255;
+ $1729 = $1726 ^ $1728;
+ $1730 = (44992 + ($1729)|0);
+ $1731 = HEAP8[$1730>>0]|0;
+ $1732 = $1731&255;
+ $1733 = $so;
+ $1734 = $1733&255;
+ $1735 = $1732 ^ $1734;
+ $1736 = ((10424) + ($1735<<2)|0);
+ $1737 = HEAP32[$1736>>2]|0;
+ $1738 = $i;
+ $1739 = $1;
+ $1740 = ((($1739)) + 2048|0);
+ $1741 = (($1740) + ($1738<<2)|0);
+ HEAP32[$1741>>2] = $1737;
+ $1742 = $k;
+ $1743 = (44480 + ($1742)|0);
+ $1744 = HEAP8[$1743>>0]|0;
+ $1745 = $1744&255;
+ $1746 = $sd;
+ $1747 = $1746&255;
+ $1748 = $1745 ^ $1747;
+ $1749 = (45248 + ($1748)|0);
+ $1750 = HEAP8[$1749>>0]|0;
+ $1751 = $1750&255;
+ $1752 = $sh;
+ $1753 = $1752&255;
+ $1754 = $1751 ^ $1753;
+ $1755 = (44992 + ($1754)|0);
+ $1756 = HEAP8[$1755>>0]|0;
+ $1757 = $1756&255;
+ $1758 = $sl;
+ $1759 = $1758&255;
+ $1760 = $1757 ^ $1759;
+ $1761 = (44992 + ($1760)|0);
+ $1762 = HEAP8[$1761>>0]|0;
+ $1763 = $1762&255;
+ $1764 = $sp;
+ $1765 = $1764&255;
+ $1766 = $1763 ^ $1765;
+ $1767 = ((11448) + ($1766<<2)|0);
+ $1768 = HEAP32[$1767>>2]|0;
+ $1769 = $i;
+ $1770 = $1;
+ $1771 = ((($1770)) + 3072|0);
+ $1772 = (($1771) + ($1769<<2)|0);
+ HEAP32[$1772>>2] = $1768;
+ $1773 = $i;
+ $1774 = (($1773) + 1)|0;
+ $i = $1774;
+ $1775 = $j;
+ $1776 = (($1775) + 2)|0;
+ $j = $1776;
+ $1777 = $k;
+ $1778 = (($1777) + 2)|0;
+ $k = $1778;
+ }
+ $1779 = $2;
+ $1780 = ((($1779)) + 24|0);
+ $1781 = HEAP8[$1780>>0]|0;
+ $1782 = $1781&255;
+ $1783 = 117 ^ $1782;
+ $1784 = (44992 + ($1783)|0);
+ $1785 = HEAP8[$1784>>0]|0;
+ $1786 = $1785&255;
+ $1787 = $2;
+ $1788 = ((($1787)) + 16|0);
+ $1789 = HEAP8[$1788>>0]|0;
+ $1790 = $1789&255;
+ $1791 = $1786 ^ $1790;
+ $1792 = (45248 + ($1791)|0);
+ $1793 = HEAP8[$1792>>0]|0;
+ $1794 = $1793&255;
+ $1795 = $2;
+ $1796 = ((($1795)) + 8|0);
+ $1797 = HEAP8[$1796>>0]|0;
+ $1798 = $1797&255;
+ $1799 = $1794 ^ $1798;
+ $1800 = (45248 + ($1799)|0);
+ $1801 = HEAP8[$1800>>0]|0;
+ $1802 = $1801&255;
+ $1803 = $2;
+ $1804 = HEAP8[$1803>>0]|0;
+ $1805 = $1804&255;
+ $1806 = $1802 ^ $1805;
+ $1807 = (8376 + ($1806<<2)|0);
+ $1808 = HEAP32[$1807>>2]|0;
+ $1809 = $2;
+ $1810 = ((($1809)) + 25|0);
+ $1811 = HEAP8[$1810>>0]|0;
+ $1812 = $1811&255;
+ $1813 = 169 ^ $1812;
+ $1814 = (44992 + ($1813)|0);
+ $1815 = HEAP8[$1814>>0]|0;
+ $1816 = $1815&255;
+ $1817 = $2;
+ $1818 = ((($1817)) + 17|0);
+ $1819 = HEAP8[$1818>>0]|0;
+ $1820 = $1819&255;
+ $1821 = $1816 ^ $1820;
+ $1822 = (44992 + ($1821)|0);
+ $1823 = HEAP8[$1822>>0]|0;
+ $1824 = $1823&255;
+ $1825 = $2;
+ $1826 = ((($1825)) + 9|0);
+ $1827 = HEAP8[$1826>>0]|0;
+ $1828 = $1827&255;
+ $1829 = $1824 ^ $1828;
+ $1830 = (45248 + ($1829)|0);
+ $1831 = HEAP8[$1830>>0]|0;
+ $1832 = $1831&255;
+ $1833 = $2;
+ $1834 = ((($1833)) + 1|0);
+ $1835 = HEAP8[$1834>>0]|0;
+ $1836 = $1835&255;
+ $1837 = $1832 ^ $1836;
+ $1838 = ((9400) + ($1837<<2)|0);
+ $1839 = HEAP32[$1838>>2]|0;
+ $1840 = $1808 ^ $1839;
+ $1841 = $2;
+ $1842 = ((($1841)) + 26|0);
+ $1843 = HEAP8[$1842>>0]|0;
+ $1844 = $1843&255;
+ $1845 = 169 ^ $1844;
+ $1846 = (45248 + ($1845)|0);
+ $1847 = HEAP8[$1846>>0]|0;
+ $1848 = $1847&255;
+ $1849 = $2;
+ $1850 = ((($1849)) + 18|0);
+ $1851 = HEAP8[$1850>>0]|0;
+ $1852 = $1851&255;
+ $1853 = $1848 ^ $1852;
+ $1854 = (45248 + ($1853)|0);
+ $1855 = HEAP8[$1854>>0]|0;
+ $1856 = $1855&255;
+ $1857 = $2;
+ $1858 = ((($1857)) + 10|0);
+ $1859 = HEAP8[$1858>>0]|0;
+ $1860 = $1859&255;
+ $1861 = $1856 ^ $1860;
+ $1862 = (44992 + ($1861)|0);
+ $1863 = HEAP8[$1862>>0]|0;
+ $1864 = $1863&255;
+ $1865 = $2;
+ $1866 = ((($1865)) + 2|0);
+ $1867 = HEAP8[$1866>>0]|0;
+ $1868 = $1867&255;
+ $1869 = $1864 ^ $1868;
+ $1870 = ((10424) + ($1869<<2)|0);
+ $1871 = HEAP32[$1870>>2]|0;
+ $1872 = $1840 ^ $1871;
+ $1873 = $2;
+ $1874 = ((($1873)) + 27|0);
+ $1875 = HEAP8[$1874>>0]|0;
+ $1876 = $1875&255;
+ $1877 = 117 ^ $1876;
+ $1878 = (45248 + ($1877)|0);
+ $1879 = HEAP8[$1878>>0]|0;
+ $1880 = $1879&255;
+ $1881 = $2;
+ $1882 = ((($1881)) + 19|0);
+ $1883 = HEAP8[$1882>>0]|0;
+ $1884 = $1883&255;
+ $1885 = $1880 ^ $1884;
+ $1886 = (44992 + ($1885)|0);
+ $1887 = HEAP8[$1886>>0]|0;
+ $1888 = $1887&255;
+ $1889 = $2;
+ $1890 = ((($1889)) + 11|0);
+ $1891 = HEAP8[$1890>>0]|0;
+ $1892 = $1891&255;
+ $1893 = $1888 ^ $1892;
+ $1894 = (44992 + ($1893)|0);
+ $1895 = HEAP8[$1894>>0]|0;
+ $1896 = $1895&255;
+ $1897 = $2;
+ $1898 = ((($1897)) + 3|0);
+ $1899 = HEAP8[$1898>>0]|0;
+ $1900 = $1899&255;
+ $1901 = $1896 ^ $1900;
+ $1902 = ((11448) + ($1901<<2)|0);
+ $1903 = HEAP32[$1902>>2]|0;
+ $1904 = $1872 ^ $1903;
+ $x = $1904;
+ $1905 = $2;
+ $1906 = ((($1905)) + 28|0);
+ $1907 = HEAP8[$1906>>0]|0;
+ $1908 = $1907&255;
+ $1909 = 243 ^ $1908;
+ $1910 = (44992 + ($1909)|0);
+ $1911 = HEAP8[$1910>>0]|0;
+ $1912 = $1911&255;
+ $1913 = $2;
+ $1914 = ((($1913)) + 20|0);
+ $1915 = HEAP8[$1914>>0]|0;
+ $1916 = $1915&255;
+ $1917 = $1912 ^ $1916;
+ $1918 = (45248 + ($1917)|0);
+ $1919 = HEAP8[$1918>>0]|0;
+ $1920 = $1919&255;
+ $1921 = $2;
+ $1922 = ((($1921)) + 12|0);
+ $1923 = HEAP8[$1922>>0]|0;
+ $1924 = $1923&255;
+ $1925 = $1920 ^ $1924;
+ $1926 = (45248 + ($1925)|0);
+ $1927 = HEAP8[$1926>>0]|0;
+ $1928 = $1927&255;
+ $1929 = $2;
+ $1930 = ((($1929)) + 4|0);
+ $1931 = HEAP8[$1930>>0]|0;
+ $1932 = $1931&255;
+ $1933 = $1928 ^ $1932;
+ $1934 = (8376 + ($1933<<2)|0);
+ $1935 = HEAP32[$1934>>2]|0;
+ $1936 = $2;
+ $1937 = ((($1936)) + 29|0);
+ $1938 = HEAP8[$1937>>0]|0;
+ $1939 = $1938&255;
+ $1940 = 103 ^ $1939;
+ $1941 = (44992 + ($1940)|0);
+ $1942 = HEAP8[$1941>>0]|0;
+ $1943 = $1942&255;
+ $1944 = $2;
+ $1945 = ((($1944)) + 21|0);
+ $1946 = HEAP8[$1945>>0]|0;
+ $1947 = $1946&255;
+ $1948 = $1943 ^ $1947;
+ $1949 = (44992 + ($1948)|0);
+ $1950 = HEAP8[$1949>>0]|0;
+ $1951 = $1950&255;
+ $1952 = $2;
+ $1953 = ((($1952)) + 13|0);
+ $1954 = HEAP8[$1953>>0]|0;
+ $1955 = $1954&255;
+ $1956 = $1951 ^ $1955;
+ $1957 = (45248 + ($1956)|0);
+ $1958 = HEAP8[$1957>>0]|0;
+ $1959 = $1958&255;
+ $1960 = $2;
+ $1961 = ((($1960)) + 5|0);
+ $1962 = HEAP8[$1961>>0]|0;
+ $1963 = $1962&255;
+ $1964 = $1959 ^ $1963;
+ $1965 = ((9400) + ($1964<<2)|0);
+ $1966 = HEAP32[$1965>>2]|0;
+ $1967 = $1935 ^ $1966;
+ $1968 = $2;
+ $1969 = ((($1968)) + 30|0);
+ $1970 = HEAP8[$1969>>0]|0;
+ $1971 = $1970&255;
+ $1972 = 103 ^ $1971;
+ $1973 = (45248 + ($1972)|0);
+ $1974 = HEAP8[$1973>>0]|0;
+ $1975 = $1974&255;
+ $1976 = $2;
+ $1977 = ((($1976)) + 22|0);
+ $1978 = HEAP8[$1977>>0]|0;
+ $1979 = $1978&255;
+ $1980 = $1975 ^ $1979;
+ $1981 = (45248 + ($1980)|0);
+ $1982 = HEAP8[$1981>>0]|0;
+ $1983 = $1982&255;
+ $1984 = $2;
+ $1985 = ((($1984)) + 14|0);
+ $1986 = HEAP8[$1985>>0]|0;
+ $1987 = $1986&255;
+ $1988 = $1983 ^ $1987;
+ $1989 = (44992 + ($1988)|0);
+ $1990 = HEAP8[$1989>>0]|0;
+ $1991 = $1990&255;
+ $1992 = $2;
+ $1993 = ((($1992)) + 6|0);
+ $1994 = HEAP8[$1993>>0]|0;
+ $1995 = $1994&255;
+ $1996 = $1991 ^ $1995;
+ $1997 = ((10424) + ($1996<<2)|0);
+ $1998 = HEAP32[$1997>>2]|0;
+ $1999 = $1967 ^ $1998;
+ $2000 = $2;
+ $2001 = ((($2000)) + 31|0);
+ $2002 = HEAP8[$2001>>0]|0;
+ $2003 = $2002&255;
+ $2004 = 243 ^ $2003;
+ $2005 = (45248 + ($2004)|0);
+ $2006 = HEAP8[$2005>>0]|0;
+ $2007 = $2006&255;
+ $2008 = $2;
+ $2009 = ((($2008)) + 23|0);
+ $2010 = HEAP8[$2009>>0]|0;
+ $2011 = $2010&255;
+ $2012 = $2007 ^ $2011;
+ $2013 = (44992 + ($2012)|0);
+ $2014 = HEAP8[$2013>>0]|0;
+ $2015 = $2014&255;
+ $2016 = $2;
+ $2017 = ((($2016)) + 15|0);
+ $2018 = HEAP8[$2017>>0]|0;
+ $2019 = $2018&255;
+ $2020 = $2015 ^ $2019;
+ $2021 = (44992 + ($2020)|0);
+ $2022 = HEAP8[$2021>>0]|0;
+ $2023 = $2022&255;
+ $2024 = $2;
+ $2025 = ((($2024)) + 7|0);
+ $2026 = HEAP8[$2025>>0]|0;
+ $2027 = $2026&255;
+ $2028 = $2023 ^ $2027;
+ $2029 = ((11448) + ($2028<<2)|0);
+ $2030 = HEAP32[$2029>>2]|0;
+ $2031 = $1999 ^ $2030;
+ $y = $2031;
+ $2032 = $y;
+ $2033 = $2032 << 8;
+ $2034 = $y;
+ $2035 = $2034 >>> 24;
+ $2036 = (($2033) + ($2035))|0;
+ $y = $2036;
+ $2037 = $y;
+ $2038 = $x;
+ $2039 = (($2038) + ($2037))|0;
+ $x = $2039;
+ $2040 = $x;
+ $2041 = $y;
+ $2042 = (($2041) + ($2040))|0;
+ $y = $2042;
+ $2043 = $x;
+ $2044 = $1;
+ $2045 = ((($2044)) + 4096|0);
+ HEAP32[$2045>>2] = $2043;
+ $2046 = $y;
+ $2047 = $2046 << 9;
+ $2048 = $y;
+ $2049 = $2048 >>> 23;
+ $2050 = (($2047) + ($2049))|0;
+ $2051 = $1;
+ $2052 = ((($2051)) + 4096|0);
+ $2053 = ((($2052)) + 4|0);
+ HEAP32[$2053>>2] = $2050;
+ $2054 = $2;
+ $2055 = ((($2054)) + 24|0);
+ $2056 = HEAP8[$2055>>0]|0;
+ $2057 = $2056&255;
+ $2058 = 198 ^ $2057;
+ $2059 = (44992 + ($2058)|0);
+ $2060 = HEAP8[$2059>>0]|0;
+ $2061 = $2060&255;
+ $2062 = $2;
+ $2063 = ((($2062)) + 16|0);
+ $2064 = HEAP8[$2063>>0]|0;
+ $2065 = $2064&255;
+ $2066 = $2061 ^ $2065;
+ $2067 = (45248 + ($2066)|0);
+ $2068 = HEAP8[$2067>>0]|0;
+ $2069 = $2068&255;
+ $2070 = $2;
+ $2071 = ((($2070)) + 8|0);
+ $2072 = HEAP8[$2071>>0]|0;
+ $2073 = $2072&255;
+ $2074 = $2069 ^ $2073;
+ $2075 = (45248 + ($2074)|0);
+ $2076 = HEAP8[$2075>>0]|0;
+ $2077 = $2076&255;
+ $2078 = $2;
+ $2079 = HEAP8[$2078>>0]|0;
+ $2080 = $2079&255;
+ $2081 = $2077 ^ $2080;
+ $2082 = (8376 + ($2081<<2)|0);
+ $2083 = HEAP32[$2082>>2]|0;
+ $2084 = $2;
+ $2085 = ((($2084)) + 25|0);
+ $2086 = HEAP8[$2085>>0]|0;
+ $2087 = $2086&255;
+ $2088 = 179 ^ $2087;
+ $2089 = (44992 + ($2088)|0);
+ $2090 = HEAP8[$2089>>0]|0;
+ $2091 = $2090&255;
+ $2092 = $2;
+ $2093 = ((($2092)) + 17|0);
+ $2094 = HEAP8[$2093>>0]|0;
+ $2095 = $2094&255;
+ $2096 = $2091 ^ $2095;
+ $2097 = (44992 + ($2096)|0);
+ $2098 = HEAP8[$2097>>0]|0;
+ $2099 = $2098&255;
+ $2100 = $2;
+ $2101 = ((($2100)) + 9|0);
+ $2102 = HEAP8[$2101>>0]|0;
+ $2103 = $2102&255;
+ $2104 = $2099 ^ $2103;
+ $2105 = (45248 + ($2104)|0);
+ $2106 = HEAP8[$2105>>0]|0;
+ $2107 = $2106&255;
+ $2108 = $2;
+ $2109 = ((($2108)) + 1|0);
+ $2110 = HEAP8[$2109>>0]|0;
+ $2111 = $2110&255;
+ $2112 = $2107 ^ $2111;
+ $2113 = ((9400) + ($2112<<2)|0);
+ $2114 = HEAP32[$2113>>2]|0;
+ $2115 = $2083 ^ $2114;
+ $2116 = $2;
+ $2117 = ((($2116)) + 26|0);
+ $2118 = HEAP8[$2117>>0]|0;
+ $2119 = $2118&255;
+ $2120 = 179 ^ $2119;
+ $2121 = (45248 + ($2120)|0);
+ $2122 = HEAP8[$2121>>0]|0;
+ $2123 = $2122&255;
+ $2124 = $2;
+ $2125 = ((($2124)) + 18|0);
+ $2126 = HEAP8[$2125>>0]|0;
+ $2127 = $2126&255;
+ $2128 = $2123 ^ $2127;
+ $2129 = (45248 + ($2128)|0);
+ $2130 = HEAP8[$2129>>0]|0;
+ $2131 = $2130&255;
+ $2132 = $2;
+ $2133 = ((($2132)) + 10|0);
+ $2134 = HEAP8[$2133>>0]|0;
+ $2135 = $2134&255;
+ $2136 = $2131 ^ $2135;
+ $2137 = (44992 + ($2136)|0);
+ $2138 = HEAP8[$2137>>0]|0;
+ $2139 = $2138&255;
+ $2140 = $2;
+ $2141 = ((($2140)) + 2|0);
+ $2142 = HEAP8[$2141>>0]|0;
+ $2143 = $2142&255;
+ $2144 = $2139 ^ $2143;
+ $2145 = ((10424) + ($2144<<2)|0);
+ $2146 = HEAP32[$2145>>2]|0;
+ $2147 = $2115 ^ $2146;
+ $2148 = $2;
+ $2149 = ((($2148)) + 27|0);
+ $2150 = HEAP8[$2149>>0]|0;
+ $2151 = $2150&255;
+ $2152 = 198 ^ $2151;
+ $2153 = (45248 + ($2152)|0);
+ $2154 = HEAP8[$2153>>0]|0;
+ $2155 = $2154&255;
+ $2156 = $2;
+ $2157 = ((($2156)) + 19|0);
+ $2158 = HEAP8[$2157>>0]|0;
+ $2159 = $2158&255;
+ $2160 = $2155 ^ $2159;
+ $2161 = (44992 + ($2160)|0);
+ $2162 = HEAP8[$2161>>0]|0;
+ $2163 = $2162&255;
+ $2164 = $2;
+ $2165 = ((($2164)) + 11|0);
+ $2166 = HEAP8[$2165>>0]|0;
+ $2167 = $2166&255;
+ $2168 = $2163 ^ $2167;
+ $2169 = (44992 + ($2168)|0);
+ $2170 = HEAP8[$2169>>0]|0;
+ $2171 = $2170&255;
+ $2172 = $2;
+ $2173 = ((($2172)) + 3|0);
+ $2174 = HEAP8[$2173>>0]|0;
+ $2175 = $2174&255;
+ $2176 = $2171 ^ $2175;
+ $2177 = ((11448) + ($2176<<2)|0);
+ $2178 = HEAP32[$2177>>2]|0;
+ $2179 = $2147 ^ $2178;
+ $x = $2179;
+ $2180 = $2;
+ $2181 = ((($2180)) + 28|0);
+ $2182 = HEAP8[$2181>>0]|0;
+ $2183 = $2182&255;
+ $2184 = 244 ^ $2183;
+ $2185 = (44992 + ($2184)|0);
+ $2186 = HEAP8[$2185>>0]|0;
+ $2187 = $2186&255;
+ $2188 = $2;
+ $2189 = ((($2188)) + 20|0);
+ $2190 = HEAP8[$2189>>0]|0;
+ $2191 = $2190&255;
+ $2192 = $2187 ^ $2191;
+ $2193 = (45248 + ($2192)|0);
+ $2194 = HEAP8[$2193>>0]|0;
+ $2195 = $2194&255;
+ $2196 = $2;
+ $2197 = ((($2196)) + 12|0);
+ $2198 = HEAP8[$2197>>0]|0;
+ $2199 = $2198&255;
+ $2200 = $2195 ^ $2199;
+ $2201 = (45248 + ($2200)|0);
+ $2202 = HEAP8[$2201>>0]|0;
+ $2203 = $2202&255;
+ $2204 = $2;
+ $2205 = ((($2204)) + 4|0);
+ $2206 = HEAP8[$2205>>0]|0;
+ $2207 = $2206&255;
+ $2208 = $2203 ^ $2207;
+ $2209 = (8376 + ($2208<<2)|0);
+ $2210 = HEAP32[$2209>>2]|0;
+ $2211 = $2;
+ $2212 = ((($2211)) + 29|0);
+ $2213 = HEAP8[$2212>>0]|0;
+ $2214 = $2213&255;
+ $2215 = 232 ^ $2214;
+ $2216 = (44992 + ($2215)|0);
+ $2217 = HEAP8[$2216>>0]|0;
+ $2218 = $2217&255;
+ $2219 = $2;
+ $2220 = ((($2219)) + 21|0);
+ $2221 = HEAP8[$2220>>0]|0;
+ $2222 = $2221&255;
+ $2223 = $2218 ^ $2222;
+ $2224 = (44992 + ($2223)|0);
+ $2225 = HEAP8[$2224>>0]|0;
+ $2226 = $2225&255;
+ $2227 = $2;
+ $2228 = ((($2227)) + 13|0);
+ $2229 = HEAP8[$2228>>0]|0;
+ $2230 = $2229&255;
+ $2231 = $2226 ^ $2230;
+ $2232 = (45248 + ($2231)|0);
+ $2233 = HEAP8[$2232>>0]|0;
+ $2234 = $2233&255;
+ $2235 = $2;
+ $2236 = ((($2235)) + 5|0);
+ $2237 = HEAP8[$2236>>0]|0;
+ $2238 = $2237&255;
+ $2239 = $2234 ^ $2238;
+ $2240 = ((9400) + ($2239<<2)|0);
+ $2241 = HEAP32[$2240>>2]|0;
+ $2242 = $2210 ^ $2241;
+ $2243 = $2;
+ $2244 = ((($2243)) + 30|0);
+ $2245 = HEAP8[$2244>>0]|0;
+ $2246 = $2245&255;
+ $2247 = 232 ^ $2246;
+ $2248 = (45248 + ($2247)|0);
+ $2249 = HEAP8[$2248>>0]|0;
+ $2250 = $2249&255;
+ $2251 = $2;
+ $2252 = ((($2251)) + 22|0);
+ $2253 = HEAP8[$2252>>0]|0;
+ $2254 = $2253&255;
+ $2255 = $2250 ^ $2254;
+ $2256 = (45248 + ($2255)|0);
+ $2257 = HEAP8[$2256>>0]|0;
+ $2258 = $2257&255;
+ $2259 = $2;
+ $2260 = ((($2259)) + 14|0);
+ $2261 = HEAP8[$2260>>0]|0;
+ $2262 = $2261&255;
+ $2263 = $2258 ^ $2262;
+ $2264 = (44992 + ($2263)|0);
+ $2265 = HEAP8[$2264>>0]|0;
+ $2266 = $2265&255;
+ $2267 = $2;
+ $2268 = ((($2267)) + 6|0);
+ $2269 = HEAP8[$2268>>0]|0;
+ $2270 = $2269&255;
+ $2271 = $2266 ^ $2270;
+ $2272 = ((10424) + ($2271<<2)|0);
+ $2273 = HEAP32[$2272>>2]|0;
+ $2274 = $2242 ^ $2273;
+ $2275 = $2;
+ $2276 = ((($2275)) + 31|0);
+ $2277 = HEAP8[$2276>>0]|0;
+ $2278 = $2277&255;
+ $2279 = 244 ^ $2278;
+ $2280 = (45248 + ($2279)|0);
+ $2281 = HEAP8[$2280>>0]|0;
+ $2282 = $2281&255;
+ $2283 = $2;
+ $2284 = ((($2283)) + 23|0);
+ $2285 = HEAP8[$2284>>0]|0;
+ $2286 = $2285&255;
+ $2287 = $2282 ^ $2286;
+ $2288 = (44992 + ($2287)|0);
+ $2289 = HEAP8[$2288>>0]|0;
+ $2290 = $2289&255;
+ $2291 = $2;
+ $2292 = ((($2291)) + 15|0);
+ $2293 = HEAP8[$2292>>0]|0;
+ $2294 = $2293&255;
+ $2295 = $2290 ^ $2294;
+ $2296 = (44992 + ($2295)|0);
+ $2297 = HEAP8[$2296>>0]|0;
+ $2298 = $2297&255;
+ $2299 = $2;
+ $2300 = ((($2299)) + 7|0);
+ $2301 = HEAP8[$2300>>0]|0;
+ $2302 = $2301&255;
+ $2303 = $2298 ^ $2302;
+ $2304 = ((11448) + ($2303<<2)|0);
+ $2305 = HEAP32[$2304>>2]|0;
+ $2306 = $2274 ^ $2305;
+ $y = $2306;
+ $2307 = $y;
+ $2308 = $2307 << 8;
+ $2309 = $y;
+ $2310 = $2309 >>> 24;
+ $2311 = (($2308) + ($2310))|0;
+ $y = $2311;
+ $2312 = $y;
+ $2313 = $x;
+ $2314 = (($2313) + ($2312))|0;
+ $x = $2314;
+ $2315 = $x;
+ $2316 = $y;
+ $2317 = (($2316) + ($2315))|0;
+ $y = $2317;
+ $2318 = $x;
+ $2319 = $1;
+ $2320 = ((($2319)) + 4096|0);
+ $2321 = ((($2320)) + 8|0);
+ HEAP32[$2321>>2] = $2318;
+ $2322 = $y;
+ $2323 = $2322 << 9;
+ $2324 = $y;
+ $2325 = $2324 >>> 23;
+ $2326 = (($2323) + ($2325))|0;
+ $2327 = $1;
+ $2328 = ((($2327)) + 4096|0);
+ $2329 = ((($2328)) + 12|0);
+ HEAP32[$2329>>2] = $2326;
+ $2330 = $2;
+ $2331 = ((($2330)) + 24|0);
+ $2332 = HEAP8[$2331>>0]|0;
+ $2333 = $2332&255;
+ $2334 = 219 ^ $2333;
+ $2335 = (44992 + ($2334)|0);
+ $2336 = HEAP8[$2335>>0]|0;
+ $2337 = $2336&255;
+ $2338 = $2;
+ $2339 = ((($2338)) + 16|0);
+ $2340 = HEAP8[$2339>>0]|0;
+ $2341 = $2340&255;
+ $2342 = $2337 ^ $2341;
+ $2343 = (45248 + ($2342)|0);
+ $2344 = HEAP8[$2343>>0]|0;
+ $2345 = $2344&255;
+ $2346 = $2;
+ $2347 = ((($2346)) + 8|0);
+ $2348 = HEAP8[$2347>>0]|0;
+ $2349 = $2348&255;
+ $2350 = $2345 ^ $2349;
+ $2351 = (45248 + ($2350)|0);
+ $2352 = HEAP8[$2351>>0]|0;
+ $2353 = $2352&255;
+ $2354 = $2;
+ $2355 = HEAP8[$2354>>0]|0;
+ $2356 = $2355&255;
+ $2357 = $2353 ^ $2356;
+ $2358 = (8376 + ($2357<<2)|0);
+ $2359 = HEAP32[$2358>>2]|0;
+ $2360 = $2;
+ $2361 = ((($2360)) + 25|0);
+ $2362 = HEAP8[$2361>>0]|0;
+ $2363 = $2362&255;
+ $2364 = 4 ^ $2363;
+ $2365 = (44992 + ($2364)|0);
+ $2366 = HEAP8[$2365>>0]|0;
+ $2367 = $2366&255;
+ $2368 = $2;
+ $2369 = ((($2368)) + 17|0);
+ $2370 = HEAP8[$2369>>0]|0;
+ $2371 = $2370&255;
+ $2372 = $2367 ^ $2371;
+ $2373 = (44992 + ($2372)|0);
+ $2374 = HEAP8[$2373>>0]|0;
+ $2375 = $2374&255;
+ $2376 = $2;
+ $2377 = ((($2376)) + 9|0);
+ $2378 = HEAP8[$2377>>0]|0;
+ $2379 = $2378&255;
+ $2380 = $2375 ^ $2379;
+ $2381 = (45248 + ($2380)|0);
+ $2382 = HEAP8[$2381>>0]|0;
+ $2383 = $2382&255;
+ $2384 = $2;
+ $2385 = ((($2384)) + 1|0);
+ $2386 = HEAP8[$2385>>0]|0;
+ $2387 = $2386&255;
+ $2388 = $2383 ^ $2387;
+ $2389 = ((9400) + ($2388<<2)|0);
+ $2390 = HEAP32[$2389>>2]|0;
+ $2391 = $2359 ^ $2390;
+ $2392 = $2;
+ $2393 = ((($2392)) + 26|0);
+ $2394 = HEAP8[$2393>>0]|0;
+ $2395 = $2394&255;
+ $2396 = 4 ^ $2395;
+ $2397 = (45248 + ($2396)|0);
+ $2398 = HEAP8[$2397>>0]|0;
+ $2399 = $2398&255;
+ $2400 = $2;
+ $2401 = ((($2400)) + 18|0);
+ $2402 = HEAP8[$2401>>0]|0;
+ $2403 = $2402&255;
+ $2404 = $2399 ^ $2403;
+ $2405 = (45248 + ($2404)|0);
+ $2406 = HEAP8[$2405>>0]|0;
+ $2407 = $2406&255;
+ $2408 = $2;
+ $2409 = ((($2408)) + 10|0);
+ $2410 = HEAP8[$2409>>0]|0;
+ $2411 = $2410&255;
+ $2412 = $2407 ^ $2411;
+ $2413 = (44992 + ($2412)|0);
+ $2414 = HEAP8[$2413>>0]|0;
+ $2415 = $2414&255;
+ $2416 = $2;
+ $2417 = ((($2416)) + 2|0);
+ $2418 = HEAP8[$2417>>0]|0;
+ $2419 = $2418&255;
+ $2420 = $2415 ^ $2419;
+ $2421 = ((10424) + ($2420<<2)|0);
+ $2422 = HEAP32[$2421>>2]|0;
+ $2423 = $2391 ^ $2422;
+ $2424 = $2;
+ $2425 = ((($2424)) + 27|0);
+ $2426 = HEAP8[$2425>>0]|0;
+ $2427 = $2426&255;
+ $2428 = 219 ^ $2427;
+ $2429 = (45248 + ($2428)|0);
+ $2430 = HEAP8[$2429>>0]|0;
+ $2431 = $2430&255;
+ $2432 = $2;
+ $2433 = ((($2432)) + 19|0);
+ $2434 = HEAP8[$2433>>0]|0;
+ $2435 = $2434&255;
+ $2436 = $2431 ^ $2435;
+ $2437 = (44992 + ($2436)|0);
+ $2438 = HEAP8[$2437>>0]|0;
+ $2439 = $2438&255;
+ $2440 = $2;
+ $2441 = ((($2440)) + 11|0);
+ $2442 = HEAP8[$2441>>0]|0;
+ $2443 = $2442&255;
+ $2444 = $2439 ^ $2443;
+ $2445 = (44992 + ($2444)|0);
+ $2446 = HEAP8[$2445>>0]|0;
+ $2447 = $2446&255;
+ $2448 = $2;
+ $2449 = ((($2448)) + 3|0);
+ $2450 = HEAP8[$2449>>0]|0;
+ $2451 = $2450&255;
+ $2452 = $2447 ^ $2451;
+ $2453 = ((11448) + ($2452<<2)|0);
+ $2454 = HEAP32[$2453>>2]|0;
+ $2455 = $2423 ^ $2454;
+ $x = $2455;
+ $2456 = $2;
+ $2457 = ((($2456)) + 28|0);
+ $2458 = HEAP8[$2457>>0]|0;
+ $2459 = $2458&255;
+ $2460 = 123 ^ $2459;
+ $2461 = (44992 + ($2460)|0);
+ $2462 = HEAP8[$2461>>0]|0;
+ $2463 = $2462&255;
+ $2464 = $2;
+ $2465 = ((($2464)) + 20|0);
+ $2466 = HEAP8[$2465>>0]|0;
+ $2467 = $2466&255;
+ $2468 = $2463 ^ $2467;
+ $2469 = (45248 + ($2468)|0);
+ $2470 = HEAP8[$2469>>0]|0;
+ $2471 = $2470&255;
+ $2472 = $2;
+ $2473 = ((($2472)) + 12|0);
+ $2474 = HEAP8[$2473>>0]|0;
+ $2475 = $2474&255;
+ $2476 = $2471 ^ $2475;
+ $2477 = (45248 + ($2476)|0);
+ $2478 = HEAP8[$2477>>0]|0;
+ $2479 = $2478&255;
+ $2480 = $2;
+ $2481 = ((($2480)) + 4|0);
+ $2482 = HEAP8[$2481>>0]|0;
+ $2483 = $2482&255;
+ $2484 = $2479 ^ $2483;
+ $2485 = (8376 + ($2484<<2)|0);
+ $2486 = HEAP32[$2485>>2]|0;
+ $2487 = $2;
+ $2488 = ((($2487)) + 29|0);
+ $2489 = HEAP8[$2488>>0]|0;
+ $2490 = $2489&255;
+ $2491 = 253 ^ $2490;
+ $2492 = (44992 + ($2491)|0);
+ $2493 = HEAP8[$2492>>0]|0;
+ $2494 = $2493&255;
+ $2495 = $2;
+ $2496 = ((($2495)) + 21|0);
+ $2497 = HEAP8[$2496>>0]|0;
+ $2498 = $2497&255;
+ $2499 = $2494 ^ $2498;
+ $2500 = (44992 + ($2499)|0);
+ $2501 = HEAP8[$2500>>0]|0;
+ $2502 = $2501&255;
+ $2503 = $2;
+ $2504 = ((($2503)) + 13|0);
+ $2505 = HEAP8[$2504>>0]|0;
+ $2506 = $2505&255;
+ $2507 = $2502 ^ $2506;
+ $2508 = (45248 + ($2507)|0);
+ $2509 = HEAP8[$2508>>0]|0;
+ $2510 = $2509&255;
+ $2511 = $2;
+ $2512 = ((($2511)) + 5|0);
+ $2513 = HEAP8[$2512>>0]|0;
+ $2514 = $2513&255;
+ $2515 = $2510 ^ $2514;
+ $2516 = ((9400) + ($2515<<2)|0);
+ $2517 = HEAP32[$2516>>2]|0;
+ $2518 = $2486 ^ $2517;
+ $2519 = $2;
+ $2520 = ((($2519)) + 30|0);
+ $2521 = HEAP8[$2520>>0]|0;
+ $2522 = $2521&255;
+ $2523 = 253 ^ $2522;
+ $2524 = (45248 + ($2523)|0);
+ $2525 = HEAP8[$2524>>0]|0;
+ $2526 = $2525&255;
+ $2527 = $2;
+ $2528 = ((($2527)) + 22|0);
+ $2529 = HEAP8[$2528>>0]|0;
+ $2530 = $2529&255;
+ $2531 = $2526 ^ $2530;
+ $2532 = (45248 + ($2531)|0);
+ $2533 = HEAP8[$2532>>0]|0;
+ $2534 = $2533&255;
+ $2535 = $2;
+ $2536 = ((($2535)) + 14|0);
+ $2537 = HEAP8[$2536>>0]|0;
+ $2538 = $2537&255;
+ $2539 = $2534 ^ $2538;
+ $2540 = (44992 + ($2539)|0);
+ $2541 = HEAP8[$2540>>0]|0;
+ $2542 = $2541&255;
+ $2543 = $2;
+ $2544 = ((($2543)) + 6|0);
+ $2545 = HEAP8[$2544>>0]|0;
+ $2546 = $2545&255;
+ $2547 = $2542 ^ $2546;
+ $2548 = ((10424) + ($2547<<2)|0);
+ $2549 = HEAP32[$2548>>2]|0;
+ $2550 = $2518 ^ $2549;
+ $2551 = $2;
+ $2552 = ((($2551)) + 31|0);
+ $2553 = HEAP8[$2552>>0]|0;
+ $2554 = $2553&255;
+ $2555 = 123 ^ $2554;
+ $2556 = (45248 + ($2555)|0);
+ $2557 = HEAP8[$2556>>0]|0;
+ $2558 = $2557&255;
+ $2559 = $2;
+ $2560 = ((($2559)) + 23|0);
+ $2561 = HEAP8[$2560>>0]|0;
+ $2562 = $2561&255;
+ $2563 = $2558 ^ $2562;
+ $2564 = (44992 + ($2563)|0);
+ $2565 = HEAP8[$2564>>0]|0;
+ $2566 = $2565&255;
+ $2567 = $2;
+ $2568 = ((($2567)) + 15|0);
+ $2569 = HEAP8[$2568>>0]|0;
+ $2570 = $2569&255;
+ $2571 = $2566 ^ $2570;
+ $2572 = (44992 + ($2571)|0);
+ $2573 = HEAP8[$2572>>0]|0;
+ $2574 = $2573&255;
+ $2575 = $2;
+ $2576 = ((($2575)) + 7|0);
+ $2577 = HEAP8[$2576>>0]|0;
+ $2578 = $2577&255;
+ $2579 = $2574 ^ $2578;
+ $2580 = ((11448) + ($2579<<2)|0);
+ $2581 = HEAP32[$2580>>2]|0;
+ $2582 = $2550 ^ $2581;
+ $y = $2582;
+ $2583 = $y;
+ $2584 = $2583 << 8;
+ $2585 = $y;
+ $2586 = $2585 >>> 24;
+ $2587 = (($2584) + ($2586))|0;
+ $y = $2587;
+ $2588 = $y;
+ $2589 = $x;
+ $2590 = (($2589) + ($2588))|0;
+ $x = $2590;
+ $2591 = $x;
+ $2592 = $y;
+ $2593 = (($2592) + ($2591))|0;
+ $y = $2593;
+ $2594 = $x;
+ $2595 = $1;
+ $2596 = ((($2595)) + 4096|0);
+ $2597 = ((($2596)) + 16|0);
+ HEAP32[$2597>>2] = $2594;
+ $2598 = $y;
+ $2599 = $2598 << 9;
+ $2600 = $y;
+ $2601 = $2600 >>> 23;
+ $2602 = (($2599) + ($2601))|0;
+ $2603 = $1;
+ $2604 = ((($2603)) + 4096|0);
+ $2605 = ((($2604)) + 20|0);
+ HEAP32[$2605>>2] = $2602;
+ $2606 = $2;
+ $2607 = ((($2606)) + 24|0);
+ $2608 = HEAP8[$2607>>0]|0;
+ $2609 = $2608&255;
+ $2610 = 251 ^ $2609;
+ $2611 = (44992 + ($2610)|0);
+ $2612 = HEAP8[$2611>>0]|0;
+ $2613 = $2612&255;
+ $2614 = $2;
+ $2615 = ((($2614)) + 16|0);
+ $2616 = HEAP8[$2615>>0]|0;
+ $2617 = $2616&255;
+ $2618 = $2613 ^ $2617;
+ $2619 = (45248 + ($2618)|0);
+ $2620 = HEAP8[$2619>>0]|0;
+ $2621 = $2620&255;
+ $2622 = $2;
+ $2623 = ((($2622)) + 8|0);
+ $2624 = HEAP8[$2623>>0]|0;
+ $2625 = $2624&255;
+ $2626 = $2621 ^ $2625;
+ $2627 = (45248 + ($2626)|0);
+ $2628 = HEAP8[$2627>>0]|0;
+ $2629 = $2628&255;
+ $2630 = $2;
+ $2631 = HEAP8[$2630>>0]|0;
+ $2632 = $2631&255;
+ $2633 = $2629 ^ $2632;
+ $2634 = (8376 + ($2633<<2)|0);
+ $2635 = HEAP32[$2634>>2]|0;
+ $2636 = $2;
+ $2637 = ((($2636)) + 25|0);
+ $2638 = HEAP8[$2637>>0]|0;
+ $2639 = $2638&255;
+ $2640 = 163 ^ $2639;
+ $2641 = (44992 + ($2640)|0);
+ $2642 = HEAP8[$2641>>0]|0;
+ $2643 = $2642&255;
+ $2644 = $2;
+ $2645 = ((($2644)) + 17|0);
+ $2646 = HEAP8[$2645>>0]|0;
+ $2647 = $2646&255;
+ $2648 = $2643 ^ $2647;
+ $2649 = (44992 + ($2648)|0);
+ $2650 = HEAP8[$2649>>0]|0;
+ $2651 = $2650&255;
+ $2652 = $2;
+ $2653 = ((($2652)) + 9|0);
+ $2654 = HEAP8[$2653>>0]|0;
+ $2655 = $2654&255;
+ $2656 = $2651 ^ $2655;
+ $2657 = (45248 + ($2656)|0);
+ $2658 = HEAP8[$2657>>0]|0;
+ $2659 = $2658&255;
+ $2660 = $2;
+ $2661 = ((($2660)) + 1|0);
+ $2662 = HEAP8[$2661>>0]|0;
+ $2663 = $2662&255;
+ $2664 = $2659 ^ $2663;
+ $2665 = ((9400) + ($2664<<2)|0);
+ $2666 = HEAP32[$2665>>2]|0;
+ $2667 = $2635 ^ $2666;
+ $2668 = $2;
+ $2669 = ((($2668)) + 26|0);
+ $2670 = HEAP8[$2669>>0]|0;
+ $2671 = $2670&255;
+ $2672 = 163 ^ $2671;
+ $2673 = (45248 + ($2672)|0);
+ $2674 = HEAP8[$2673>>0]|0;
+ $2675 = $2674&255;
+ $2676 = $2;
+ $2677 = ((($2676)) + 18|0);
+ $2678 = HEAP8[$2677>>0]|0;
+ $2679 = $2678&255;
+ $2680 = $2675 ^ $2679;
+ $2681 = (45248 + ($2680)|0);
+ $2682 = HEAP8[$2681>>0]|0;
+ $2683 = $2682&255;
+ $2684 = $2;
+ $2685 = ((($2684)) + 10|0);
+ $2686 = HEAP8[$2685>>0]|0;
+ $2687 = $2686&255;
+ $2688 = $2683 ^ $2687;
+ $2689 = (44992 + ($2688)|0);
+ $2690 = HEAP8[$2689>>0]|0;
+ $2691 = $2690&255;
+ $2692 = $2;
+ $2693 = ((($2692)) + 2|0);
+ $2694 = HEAP8[$2693>>0]|0;
+ $2695 = $2694&255;
+ $2696 = $2691 ^ $2695;
+ $2697 = ((10424) + ($2696<<2)|0);
+ $2698 = HEAP32[$2697>>2]|0;
+ $2699 = $2667 ^ $2698;
+ $2700 = $2;
+ $2701 = ((($2700)) + 27|0);
+ $2702 = HEAP8[$2701>>0]|0;
+ $2703 = $2702&255;
+ $2704 = 251 ^ $2703;
+ $2705 = (45248 + ($2704)|0);
+ $2706 = HEAP8[$2705>>0]|0;
+ $2707 = $2706&255;
+ $2708 = $2;
+ $2709 = ((($2708)) + 19|0);
+ $2710 = HEAP8[$2709>>0]|0;
+ $2711 = $2710&255;
+ $2712 = $2707 ^ $2711;
+ $2713 = (44992 + ($2712)|0);
+ $2714 = HEAP8[$2713>>0]|0;
+ $2715 = $2714&255;
+ $2716 = $2;
+ $2717 = ((($2716)) + 11|0);
+ $2718 = HEAP8[$2717>>0]|0;
+ $2719 = $2718&255;
+ $2720 = $2715 ^ $2719;
+ $2721 = (44992 + ($2720)|0);
+ $2722 = HEAP8[$2721>>0]|0;
+ $2723 = $2722&255;
+ $2724 = $2;
+ $2725 = ((($2724)) + 3|0);
+ $2726 = HEAP8[$2725>>0]|0;
+ $2727 = $2726&255;
+ $2728 = $2723 ^ $2727;
+ $2729 = ((11448) + ($2728<<2)|0);
+ $2730 = HEAP32[$2729>>2]|0;
+ $2731 = $2699 ^ $2730;
+ $x = $2731;
+ $2732 = $2;
+ $2733 = ((($2732)) + 28|0);
+ $2734 = HEAP8[$2733>>0]|0;
+ $2735 = $2734&255;
+ $2736 = 200 ^ $2735;
+ $2737 = (44992 + ($2736)|0);
+ $2738 = HEAP8[$2737>>0]|0;
+ $2739 = $2738&255;
+ $2740 = $2;
+ $2741 = ((($2740)) + 20|0);
+ $2742 = HEAP8[$2741>>0]|0;
+ $2743 = $2742&255;
+ $2744 = $2739 ^ $2743;
+ $2745 = (45248 + ($2744)|0);
+ $2746 = HEAP8[$2745>>0]|0;
+ $2747 = $2746&255;
+ $2748 = $2;
+ $2749 = ((($2748)) + 12|0);
+ $2750 = HEAP8[$2749>>0]|0;
+ $2751 = $2750&255;
+ $2752 = $2747 ^ $2751;
+ $2753 = (45248 + ($2752)|0);
+ $2754 = HEAP8[$2753>>0]|0;
+ $2755 = $2754&255;
+ $2756 = $2;
+ $2757 = ((($2756)) + 4|0);
+ $2758 = HEAP8[$2757>>0]|0;
+ $2759 = $2758&255;
+ $2760 = $2755 ^ $2759;
+ $2761 = (8376 + ($2760<<2)|0);
+ $2762 = HEAP32[$2761>>2]|0;
+ $2763 = $2;
+ $2764 = ((($2763)) + 29|0);
+ $2765 = HEAP8[$2764>>0]|0;
+ $2766 = $2765&255;
+ $2767 = 118 ^ $2766;
+ $2768 = (44992 + ($2767)|0);
+ $2769 = HEAP8[$2768>>0]|0;
+ $2770 = $2769&255;
+ $2771 = $2;
+ $2772 = ((($2771)) + 21|0);
+ $2773 = HEAP8[$2772>>0]|0;
+ $2774 = $2773&255;
+ $2775 = $2770 ^ $2774;
+ $2776 = (44992 + ($2775)|0);
+ $2777 = HEAP8[$2776>>0]|0;
+ $2778 = $2777&255;
+ $2779 = $2;
+ $2780 = ((($2779)) + 13|0);
+ $2781 = HEAP8[$2780>>0]|0;
+ $2782 = $2781&255;
+ $2783 = $2778 ^ $2782;
+ $2784 = (45248 + ($2783)|0);
+ $2785 = HEAP8[$2784>>0]|0;
+ $2786 = $2785&255;
+ $2787 = $2;
+ $2788 = ((($2787)) + 5|0);
+ $2789 = HEAP8[$2788>>0]|0;
+ $2790 = $2789&255;
+ $2791 = $2786 ^ $2790;
+ $2792 = ((9400) + ($2791<<2)|0);
+ $2793 = HEAP32[$2792>>2]|0;
+ $2794 = $2762 ^ $2793;
+ $2795 = $2;
+ $2796 = ((($2795)) + 30|0);
+ $2797 = HEAP8[$2796>>0]|0;
+ $2798 = $2797&255;
+ $2799 = 118 ^ $2798;
+ $2800 = (45248 + ($2799)|0);
+ $2801 = HEAP8[$2800>>0]|0;
+ $2802 = $2801&255;
+ $2803 = $2;
+ $2804 = ((($2803)) + 22|0);
+ $2805 = HEAP8[$2804>>0]|0;
+ $2806 = $2805&255;
+ $2807 = $2802 ^ $2806;
+ $2808 = (45248 + ($2807)|0);
+ $2809 = HEAP8[$2808>>0]|0;
+ $2810 = $2809&255;
+ $2811 = $2;
+ $2812 = ((($2811)) + 14|0);
+ $2813 = HEAP8[$2812>>0]|0;
+ $2814 = $2813&255;
+ $2815 = $2810 ^ $2814;
+ $2816 = (44992 + ($2815)|0);
+ $2817 = HEAP8[$2816>>0]|0;
+ $2818 = $2817&255;
+ $2819 = $2;
+ $2820 = ((($2819)) + 6|0);
+ $2821 = HEAP8[$2820>>0]|0;
+ $2822 = $2821&255;
+ $2823 = $2818 ^ $2822;
+ $2824 = ((10424) + ($2823<<2)|0);
+ $2825 = HEAP32[$2824>>2]|0;
+ $2826 = $2794 ^ $2825;
+ $2827 = $2;
+ $2828 = ((($2827)) + 31|0);
+ $2829 = HEAP8[$2828>>0]|0;
+ $2830 = $2829&255;
+ $2831 = 200 ^ $2830;
+ $2832 = (45248 + ($2831)|0);
+ $2833 = HEAP8[$2832>>0]|0;
+ $2834 = $2833&255;
+ $2835 = $2;
+ $2836 = ((($2835)) + 23|0);
+ $2837 = HEAP8[$2836>>0]|0;
+ $2838 = $2837&255;
+ $2839 = $2834 ^ $2838;
+ $2840 = (44992 + ($2839)|0);
+ $2841 = HEAP8[$2840>>0]|0;
+ $2842 = $2841&255;
+ $2843 = $2;
+ $2844 = ((($2843)) + 15|0);
+ $2845 = HEAP8[$2844>>0]|0;
+ $2846 = $2845&255;
+ $2847 = $2842 ^ $2846;
+ $2848 = (44992 + ($2847)|0);
+ $2849 = HEAP8[$2848>>0]|0;
+ $2850 = $2849&255;
+ $2851 = $2;
+ $2852 = ((($2851)) + 7|0);
+ $2853 = HEAP8[$2852>>0]|0;
+ $2854 = $2853&255;
+ $2855 = $2850 ^ $2854;
+ $2856 = ((11448) + ($2855<<2)|0);
+ $2857 = HEAP32[$2856>>2]|0;
+ $2858 = $2826 ^ $2857;
+ $y = $2858;
+ $2859 = $y;
+ $2860 = $2859 << 8;
+ $2861 = $y;
+ $2862 = $2861 >>> 24;
+ $2863 = (($2860) + ($2862))|0;
+ $y = $2863;
+ $2864 = $y;
+ $2865 = $x;
+ $2866 = (($2865) + ($2864))|0;
+ $x = $2866;
+ $2867 = $x;
+ $2868 = $y;
+ $2869 = (($2868) + ($2867))|0;
+ $y = $2869;
+ $2870 = $x;
+ $2871 = $1;
+ $2872 = ((($2871)) + 4096|0);
+ $2873 = ((($2872)) + 24|0);
+ HEAP32[$2873>>2] = $2870;
+ $2874 = $y;
+ $2875 = $2874 << 9;
+ $2876 = $y;
+ $2877 = $2876 >>> 23;
+ $2878 = (($2875) + ($2877))|0;
+ $2879 = $1;
+ $2880 = ((($2879)) + 4096|0);
+ $2881 = ((($2880)) + 28|0);
+ HEAP32[$2881>>2] = $2878;
+ $2882 = $2;
+ $2883 = ((($2882)) + 24|0);
+ $2884 = HEAP8[$2883>>0]|0;
+ $2885 = $2884&255;
+ $2886 = 74 ^ $2885;
+ $2887 = (44992 + ($2886)|0);
+ $2888 = HEAP8[$2887>>0]|0;
+ $2889 = $2888&255;
+ $2890 = $2;
+ $2891 = ((($2890)) + 16|0);
+ $2892 = HEAP8[$2891>>0]|0;
+ $2893 = $2892&255;
+ $2894 = $2889 ^ $2893;
+ $2895 = (45248 + ($2894)|0);
+ $2896 = HEAP8[$2895>>0]|0;
+ $2897 = $2896&255;
+ $2898 = $2;
+ $2899 = ((($2898)) + 8|0);
+ $2900 = HEAP8[$2899>>0]|0;
+ $2901 = $2900&255;
+ $2902 = $2897 ^ $2901;
+ $2903 = (45248 + ($2902)|0);
+ $2904 = HEAP8[$2903>>0]|0;
+ $2905 = $2904&255;
+ $2906 = $2;
+ $2907 = HEAP8[$2906>>0]|0;
+ $2908 = $2907&255;
+ $2909 = $2905 ^ $2908;
+ $2910 = (8376 + ($2909<<2)|0);
+ $2911 = HEAP32[$2910>>2]|0;
+ $2912 = $2;
+ $2913 = ((($2912)) + 25|0);
+ $2914 = HEAP8[$2913>>0]|0;
+ $2915 = $2914&255;
+ $2916 = 154 ^ $2915;
+ $2917 = (44992 + ($2916)|0);
+ $2918 = HEAP8[$2917>>0]|0;
+ $2919 = $2918&255;
+ $2920 = $2;
+ $2921 = ((($2920)) + 17|0);
+ $2922 = HEAP8[$2921>>0]|0;
+ $2923 = $2922&255;
+ $2924 = $2919 ^ $2923;
+ $2925 = (44992 + ($2924)|0);
+ $2926 = HEAP8[$2925>>0]|0;
+ $2927 = $2926&255;
+ $2928 = $2;
+ $2929 = ((($2928)) + 9|0);
+ $2930 = HEAP8[$2929>>0]|0;
+ $2931 = $2930&255;
+ $2932 = $2927 ^ $2931;
+ $2933 = (45248 + ($2932)|0);
+ $2934 = HEAP8[$2933>>0]|0;
+ $2935 = $2934&255;
+ $2936 = $2;
+ $2937 = ((($2936)) + 1|0);
+ $2938 = HEAP8[$2937>>0]|0;
+ $2939 = $2938&255;
+ $2940 = $2935 ^ $2939;
+ $2941 = ((9400) + ($2940<<2)|0);
+ $2942 = HEAP32[$2941>>2]|0;
+ $2943 = $2911 ^ $2942;
+ $2944 = $2;
+ $2945 = ((($2944)) + 26|0);
+ $2946 = HEAP8[$2945>>0]|0;
+ $2947 = $2946&255;
+ $2948 = 154 ^ $2947;
+ $2949 = (45248 + ($2948)|0);
+ $2950 = HEAP8[$2949>>0]|0;
+ $2951 = $2950&255;
+ $2952 = $2;
+ $2953 = ((($2952)) + 18|0);
+ $2954 = HEAP8[$2953>>0]|0;
+ $2955 = $2954&255;
+ $2956 = $2951 ^ $2955;
+ $2957 = (45248 + ($2956)|0);
+ $2958 = HEAP8[$2957>>0]|0;
+ $2959 = $2958&255;
+ $2960 = $2;
+ $2961 = ((($2960)) + 10|0);
+ $2962 = HEAP8[$2961>>0]|0;
+ $2963 = $2962&255;
+ $2964 = $2959 ^ $2963;
+ $2965 = (44992 + ($2964)|0);
+ $2966 = HEAP8[$2965>>0]|0;
+ $2967 = $2966&255;
+ $2968 = $2;
+ $2969 = ((($2968)) + 2|0);
+ $2970 = HEAP8[$2969>>0]|0;
+ $2971 = $2970&255;
+ $2972 = $2967 ^ $2971;
+ $2973 = ((10424) + ($2972<<2)|0);
+ $2974 = HEAP32[$2973>>2]|0;
+ $2975 = $2943 ^ $2974;
+ $2976 = $2;
+ $2977 = ((($2976)) + 27|0);
+ $2978 = HEAP8[$2977>>0]|0;
+ $2979 = $2978&255;
+ $2980 = 74 ^ $2979;
+ $2981 = (45248 + ($2980)|0);
+ $2982 = HEAP8[$2981>>0]|0;
+ $2983 = $2982&255;
+ $2984 = $2;
+ $2985 = ((($2984)) + 19|0);
+ $2986 = HEAP8[$2985>>0]|0;
+ $2987 = $2986&255;
+ $2988 = $2983 ^ $2987;
+ $2989 = (44992 + ($2988)|0);
+ $2990 = HEAP8[$2989>>0]|0;
+ $2991 = $2990&255;
+ $2992 = $2;
+ $2993 = ((($2992)) + 11|0);
+ $2994 = HEAP8[$2993>>0]|0;
+ $2995 = $2994&255;
+ $2996 = $2991 ^ $2995;
+ $2997 = (44992 + ($2996)|0);
+ $2998 = HEAP8[$2997>>0]|0;
+ $2999 = $2998&255;
+ $3000 = $2;
+ $3001 = ((($3000)) + 3|0);
+ $3002 = HEAP8[$3001>>0]|0;
+ $3003 = $3002&255;
+ $3004 = $2999 ^ $3003;
+ $3005 = ((11448) + ($3004<<2)|0);
+ $3006 = HEAP32[$3005>>2]|0;
+ $3007 = $2975 ^ $3006;
+ $x = $3007;
+ $3008 = $2;
+ $3009 = ((($3008)) + 28|0);
+ $3010 = HEAP8[$3009>>0]|0;
+ $3011 = $3010&255;
+ $3012 = 211 ^ $3011;
+ $3013 = (44992 + ($3012)|0);
+ $3014 = HEAP8[$3013>>0]|0;
+ $3015 = $3014&255;
+ $3016 = $2;
+ $3017 = ((($3016)) + 20|0);
+ $3018 = HEAP8[$3017>>0]|0;
+ $3019 = $3018&255;
+ $3020 = $3015 ^ $3019;
+ $3021 = (45248 + ($3020)|0);
+ $3022 = HEAP8[$3021>>0]|0;
+ $3023 = $3022&255;
+ $3024 = $2;
+ $3025 = ((($3024)) + 12|0);
+ $3026 = HEAP8[$3025>>0]|0;
+ $3027 = $3026&255;
+ $3028 = $3023 ^ $3027;
+ $3029 = (45248 + ($3028)|0);
+ $3030 = HEAP8[$3029>>0]|0;
+ $3031 = $3030&255;
+ $3032 = $2;
+ $3033 = ((($3032)) + 4|0);
+ $3034 = HEAP8[$3033>>0]|0;
+ $3035 = $3034&255;
+ $3036 = $3031 ^ $3035;
+ $3037 = (8376 + ($3036<<2)|0);
+ $3038 = HEAP32[$3037>>2]|0;
+ $3039 = $2;
+ $3040 = ((($3039)) + 29|0);
+ $3041 = HEAP8[$3040>>0]|0;
+ $3042 = $3041&255;
+ $3043 = 146 ^ $3042;
+ $3044 = (44992 + ($3043)|0);
+ $3045 = HEAP8[$3044>>0]|0;
+ $3046 = $3045&255;
+ $3047 = $2;
+ $3048 = ((($3047)) + 21|0);
+ $3049 = HEAP8[$3048>>0]|0;
+ $3050 = $3049&255;
+ $3051 = $3046 ^ $3050;
+ $3052 = (44992 + ($3051)|0);
+ $3053 = HEAP8[$3052>>0]|0;
+ $3054 = $3053&255;
+ $3055 = $2;
+ $3056 = ((($3055)) + 13|0);
+ $3057 = HEAP8[$3056>>0]|0;
+ $3058 = $3057&255;
+ $3059 = $3054 ^ $3058;
+ $3060 = (45248 + ($3059)|0);
+ $3061 = HEAP8[$3060>>0]|0;
+ $3062 = $3061&255;
+ $3063 = $2;
+ $3064 = ((($3063)) + 5|0);
+ $3065 = HEAP8[$3064>>0]|0;
+ $3066 = $3065&255;
+ $3067 = $3062 ^ $3066;
+ $3068 = ((9400) + ($3067<<2)|0);
+ $3069 = HEAP32[$3068>>2]|0;
+ $3070 = $3038 ^ $3069;
+ $3071 = $2;
+ $3072 = ((($3071)) + 30|0);
+ $3073 = HEAP8[$3072>>0]|0;
+ $3074 = $3073&255;
+ $3075 = 146 ^ $3074;
+ $3076 = (45248 + ($3075)|0);
+ $3077 = HEAP8[$3076>>0]|0;
+ $3078 = $3077&255;
+ $3079 = $2;
+ $3080 = ((($3079)) + 22|0);
+ $3081 = HEAP8[$3080>>0]|0;
+ $3082 = $3081&255;
+ $3083 = $3078 ^ $3082;
+ $3084 = (45248 + ($3083)|0);
+ $3085 = HEAP8[$3084>>0]|0;
+ $3086 = $3085&255;
+ $3087 = $2;
+ $3088 = ((($3087)) + 14|0);
+ $3089 = HEAP8[$3088>>0]|0;
+ $3090 = $3089&255;
+ $3091 = $3086 ^ $3090;
+ $3092 = (44992 + ($3091)|0);
+ $3093 = HEAP8[$3092>>0]|0;
+ $3094 = $3093&255;
+ $3095 = $2;
+ $3096 = ((($3095)) + 6|0);
+ $3097 = HEAP8[$3096>>0]|0;
+ $3098 = $3097&255;
+ $3099 = $3094 ^ $3098;
+ $3100 = ((10424) + ($3099<<2)|0);
+ $3101 = HEAP32[$3100>>2]|0;
+ $3102 = $3070 ^ $3101;
+ $3103 = $2;
+ $3104 = ((($3103)) + 31|0);
+ $3105 = HEAP8[$3104>>0]|0;
+ $3106 = $3105&255;
+ $3107 = 211 ^ $3106;
+ $3108 = (45248 + ($3107)|0);
+ $3109 = HEAP8[$3108>>0]|0;
+ $3110 = $3109&255;
+ $3111 = $2;
+ $3112 = ((($3111)) + 23|0);
+ $3113 = HEAP8[$3112>>0]|0;
+ $3114 = $3113&255;
+ $3115 = $3110 ^ $3114;
+ $3116 = (44992 + ($3115)|0);
+ $3117 = HEAP8[$3116>>0]|0;
+ $3118 = $3117&255;
+ $3119 = $2;
+ $3120 = ((($3119)) + 15|0);
+ $3121 = HEAP8[$3120>>0]|0;
+ $3122 = $3121&255;
+ $3123 = $3118 ^ $3122;
+ $3124 = (44992 + ($3123)|0);
+ $3125 = HEAP8[$3124>>0]|0;
+ $3126 = $3125&255;
+ $3127 = $2;
+ $3128 = ((($3127)) + 7|0);
+ $3129 = HEAP8[$3128>>0]|0;
+ $3130 = $3129&255;
+ $3131 = $3126 ^ $3130;
+ $3132 = ((11448) + ($3131<<2)|0);
+ $3133 = HEAP32[$3132>>2]|0;
+ $3134 = $3102 ^ $3133;
+ $y = $3134;
+ $3135 = $y;
+ $3136 = $3135 << 8;
+ $3137 = $y;
+ $3138 = $3137 >>> 24;
+ $3139 = (($3136) + ($3138))|0;
+ $y = $3139;
+ $3140 = $y;
+ $3141 = $x;
+ $3142 = (($3141) + ($3140))|0;
+ $x = $3142;
+ $3143 = $x;
+ $3144 = $y;
+ $3145 = (($3144) + ($3143))|0;
+ $y = $3145;
+ $3146 = $x;
+ $3147 = $1;
+ $3148 = ((($3147)) + 4128|0);
+ HEAP32[$3148>>2] = $3146;
+ $3149 = $y;
+ $3150 = $3149 << 9;
+ $3151 = $y;
+ $3152 = $3151 >>> 23;
+ $3153 = (($3150) + ($3152))|0;
+ $3154 = $1;
+ $3155 = ((($3154)) + 4128|0);
+ $3156 = ((($3155)) + 4|0);
+ HEAP32[$3156>>2] = $3153;
+ $3157 = $2;
+ $3158 = ((($3157)) + 24|0);
+ $3159 = HEAP8[$3158>>0]|0;
+ $3160 = $3159&255;
+ $3161 = 230 ^ $3160;
+ $3162 = (44992 + ($3161)|0);
+ $3163 = HEAP8[$3162>>0]|0;
+ $3164 = $3163&255;
+ $3165 = $2;
+ $3166 = ((($3165)) + 16|0);
+ $3167 = HEAP8[$3166>>0]|0;
+ $3168 = $3167&255;
+ $3169 = $3164 ^ $3168;
+ $3170 = (45248 + ($3169)|0);
+ $3171 = HEAP8[$3170>>0]|0;
+ $3172 = $3171&255;
+ $3173 = $2;
+ $3174 = ((($3173)) + 8|0);
+ $3175 = HEAP8[$3174>>0]|0;
+ $3176 = $3175&255;
+ $3177 = $3172 ^ $3176;
+ $3178 = (45248 + ($3177)|0);
+ $3179 = HEAP8[$3178>>0]|0;
+ $3180 = $3179&255;
+ $3181 = $2;
+ $3182 = HEAP8[$3181>>0]|0;
+ $3183 = $3182&255;
+ $3184 = $3180 ^ $3183;
+ $3185 = (8376 + ($3184<<2)|0);
+ $3186 = HEAP32[$3185>>2]|0;
+ $3187 = $2;
+ $3188 = ((($3187)) + 25|0);
+ $3189 = HEAP8[$3188>>0]|0;
+ $3190 = $3189&255;
+ $3191 = 128 ^ $3190;
+ $3192 = (44992 + ($3191)|0);
+ $3193 = HEAP8[$3192>>0]|0;
+ $3194 = $3193&255;
+ $3195 = $2;
+ $3196 = ((($3195)) + 17|0);
+ $3197 = HEAP8[$3196>>0]|0;
+ $3198 = $3197&255;
+ $3199 = $3194 ^ $3198;
+ $3200 = (44992 + ($3199)|0);
+ $3201 = HEAP8[$3200>>0]|0;
+ $3202 = $3201&255;
+ $3203 = $2;
+ $3204 = ((($3203)) + 9|0);
+ $3205 = HEAP8[$3204>>0]|0;
+ $3206 = $3205&255;
+ $3207 = $3202 ^ $3206;
+ $3208 = (45248 + ($3207)|0);
+ $3209 = HEAP8[$3208>>0]|0;
+ $3210 = $3209&255;
+ $3211 = $2;
+ $3212 = ((($3211)) + 1|0);
+ $3213 = HEAP8[$3212>>0]|0;
+ $3214 = $3213&255;
+ $3215 = $3210 ^ $3214;
+ $3216 = ((9400) + ($3215<<2)|0);
+ $3217 = HEAP32[$3216>>2]|0;
+ $3218 = $3186 ^ $3217;
+ $3219 = $2;
+ $3220 = ((($3219)) + 26|0);
+ $3221 = HEAP8[$3220>>0]|0;
+ $3222 = $3221&255;
+ $3223 = 128 ^ $3222;
+ $3224 = (45248 + ($3223)|0);
+ $3225 = HEAP8[$3224>>0]|0;
+ $3226 = $3225&255;
+ $3227 = $2;
+ $3228 = ((($3227)) + 18|0);
+ $3229 = HEAP8[$3228>>0]|0;
+ $3230 = $3229&255;
+ $3231 = $3226 ^ $3230;
+ $3232 = (45248 + ($3231)|0);
+ $3233 = HEAP8[$3232>>0]|0;
+ $3234 = $3233&255;
+ $3235 = $2;
+ $3236 = ((($3235)) + 10|0);
+ $3237 = HEAP8[$3236>>0]|0;
+ $3238 = $3237&255;
+ $3239 = $3234 ^ $3238;
+ $3240 = (44992 + ($3239)|0);
+ $3241 = HEAP8[$3240>>0]|0;
+ $3242 = $3241&255;
+ $3243 = $2;
+ $3244 = ((($3243)) + 2|0);
+ $3245 = HEAP8[$3244>>0]|0;
+ $3246 = $3245&255;
+ $3247 = $3242 ^ $3246;
+ $3248 = ((10424) + ($3247<<2)|0);
+ $3249 = HEAP32[$3248>>2]|0;
+ $3250 = $3218 ^ $3249;
+ $3251 = $2;
+ $3252 = ((($3251)) + 27|0);
+ $3253 = HEAP8[$3252>>0]|0;
+ $3254 = $3253&255;
+ $3255 = 230 ^ $3254;
+ $3256 = (45248 + ($3255)|0);
+ $3257 = HEAP8[$3256>>0]|0;
+ $3258 = $3257&255;
+ $3259 = $2;
+ $3260 = ((($3259)) + 19|0);
+ $3261 = HEAP8[$3260>>0]|0;
+ $3262 = $3261&255;
+ $3263 = $3258 ^ $3262;
+ $3264 = (44992 + ($3263)|0);
+ $3265 = HEAP8[$3264>>0]|0;
+ $3266 = $3265&255;
+ $3267 = $2;
+ $3268 = ((($3267)) + 11|0);
+ $3269 = HEAP8[$3268>>0]|0;
+ $3270 = $3269&255;
+ $3271 = $3266 ^ $3270;
+ $3272 = (44992 + ($3271)|0);
+ $3273 = HEAP8[$3272>>0]|0;
+ $3274 = $3273&255;
+ $3275 = $2;
+ $3276 = ((($3275)) + 3|0);
+ $3277 = HEAP8[$3276>>0]|0;
+ $3278 = $3277&255;
+ $3279 = $3274 ^ $3278;
+ $3280 = ((11448) + ($3279<<2)|0);
+ $3281 = HEAP32[$3280>>2]|0;
+ $3282 = $3250 ^ $3281;
+ $x = $3282;
+ $3283 = $2;
+ $3284 = ((($3283)) + 28|0);
+ $3285 = HEAP8[$3284>>0]|0;
+ $3286 = $3285&255;
+ $3287 = 107 ^ $3286;
+ $3288 = (44992 + ($3287)|0);
+ $3289 = HEAP8[$3288>>0]|0;
+ $3290 = $3289&255;
+ $3291 = $2;
+ $3292 = ((($3291)) + 20|0);
+ $3293 = HEAP8[$3292>>0]|0;
+ $3294 = $3293&255;
+ $3295 = $3290 ^ $3294;
+ $3296 = (45248 + ($3295)|0);
+ $3297 = HEAP8[$3296>>0]|0;
+ $3298 = $3297&255;
+ $3299 = $2;
+ $3300 = ((($3299)) + 12|0);
+ $3301 = HEAP8[$3300>>0]|0;
+ $3302 = $3301&255;
+ $3303 = $3298 ^ $3302;
+ $3304 = (45248 + ($3303)|0);
+ $3305 = HEAP8[$3304>>0]|0;
+ $3306 = $3305&255;
+ $3307 = $2;
+ $3308 = ((($3307)) + 4|0);
+ $3309 = HEAP8[$3308>>0]|0;
+ $3310 = $3309&255;
+ $3311 = $3306 ^ $3310;
+ $3312 = (8376 + ($3311<<2)|0);
+ $3313 = HEAP32[$3312>>2]|0;
+ $3314 = $2;
+ $3315 = ((($3314)) + 29|0);
+ $3316 = HEAP8[$3315>>0]|0;
+ $3317 = $3316&255;
+ $3318 = 120 ^ $3317;
+ $3319 = (44992 + ($3318)|0);
+ $3320 = HEAP8[$3319>>0]|0;
+ $3321 = $3320&255;
+ $3322 = $2;
+ $3323 = ((($3322)) + 21|0);
+ $3324 = HEAP8[$3323>>0]|0;
+ $3325 = $3324&255;
+ $3326 = $3321 ^ $3325;
+ $3327 = (44992 + ($3326)|0);
+ $3328 = HEAP8[$3327>>0]|0;
+ $3329 = $3328&255;
+ $3330 = $2;
+ $3331 = ((($3330)) + 13|0);
+ $3332 = HEAP8[$3331>>0]|0;
+ $3333 = $3332&255;
+ $3334 = $3329 ^ $3333;
+ $3335 = (45248 + ($3334)|0);
+ $3336 = HEAP8[$3335>>0]|0;
+ $3337 = $3336&255;
+ $3338 = $2;
+ $3339 = ((($3338)) + 5|0);
+ $3340 = HEAP8[$3339>>0]|0;
+ $3341 = $3340&255;
+ $3342 = $3337 ^ $3341;
+ $3343 = ((9400) + ($3342<<2)|0);
+ $3344 = HEAP32[$3343>>2]|0;
+ $3345 = $3313 ^ $3344;
+ $3346 = $2;
+ $3347 = ((($3346)) + 30|0);
+ $3348 = HEAP8[$3347>>0]|0;
+ $3349 = $3348&255;
+ $3350 = 120 ^ $3349;
+ $3351 = (45248 + ($3350)|0);
+ $3352 = HEAP8[$3351>>0]|0;
+ $3353 = $3352&255;
+ $3354 = $2;
+ $3355 = ((($3354)) + 22|0);
+ $3356 = HEAP8[$3355>>0]|0;
+ $3357 = $3356&255;
+ $3358 = $3353 ^ $3357;
+ $3359 = (45248 + ($3358)|0);
+ $3360 = HEAP8[$3359>>0]|0;
+ $3361 = $3360&255;
+ $3362 = $2;
+ $3363 = ((($3362)) + 14|0);
+ $3364 = HEAP8[$3363>>0]|0;
+ $3365 = $3364&255;
+ $3366 = $3361 ^ $3365;
+ $3367 = (44992 + ($3366)|0);
+ $3368 = HEAP8[$3367>>0]|0;
+ $3369 = $3368&255;
+ $3370 = $2;
+ $3371 = ((($3370)) + 6|0);
+ $3372 = HEAP8[$3371>>0]|0;
+ $3373 = $3372&255;
+ $3374 = $3369 ^ $3373;
+ $3375 = ((10424) + ($3374<<2)|0);
+ $3376 = HEAP32[$3375>>2]|0;
+ $3377 = $3345 ^ $3376;
+ $3378 = $2;
+ $3379 = ((($3378)) + 31|0);
+ $3380 = HEAP8[$3379>>0]|0;
+ $3381 = $3380&255;
+ $3382 = 107 ^ $3381;
+ $3383 = (45248 + ($3382)|0);
+ $3384 = HEAP8[$3383>>0]|0;
+ $3385 = $3384&255;
+ $3386 = $2;
+ $3387 = ((($3386)) + 23|0);
+ $3388 = HEAP8[$3387>>0]|0;
+ $3389 = $3388&255;
+ $3390 = $3385 ^ $3389;
+ $3391 = (44992 + ($3390)|0);
+ $3392 = HEAP8[$3391>>0]|0;
+ $3393 = $3392&255;
+ $3394 = $2;
+ $3395 = ((($3394)) + 15|0);
+ $3396 = HEAP8[$3395>>0]|0;
+ $3397 = $3396&255;
+ $3398 = $3393 ^ $3397;
+ $3399 = (44992 + ($3398)|0);
+ $3400 = HEAP8[$3399>>0]|0;
+ $3401 = $3400&255;
+ $3402 = $2;
+ $3403 = ((($3402)) + 7|0);
+ $3404 = HEAP8[$3403>>0]|0;
+ $3405 = $3404&255;
+ $3406 = $3401 ^ $3405;
+ $3407 = ((11448) + ($3406<<2)|0);
+ $3408 = HEAP32[$3407>>2]|0;
+ $3409 = $3377 ^ $3408;
+ $y = $3409;
+ $3410 = $y;
+ $3411 = $3410 << 8;
+ $3412 = $y;
+ $3413 = $3412 >>> 24;
+ $3414 = (($3411) + ($3413))|0;
+ $y = $3414;
+ $3415 = $y;
+ $3416 = $x;
+ $3417 = (($3416) + ($3415))|0;
+ $x = $3417;
+ $3418 = $x;
+ $3419 = $y;
+ $3420 = (($3419) + ($3418))|0;
+ $y = $3420;
+ $3421 = $x;
+ $3422 = $1;
+ $3423 = ((($3422)) + 4128|0);
+ $3424 = ((($3423)) + 8|0);
+ HEAP32[$3424>>2] = $3421;
+ $3425 = $y;
+ $3426 = $3425 << 9;
+ $3427 = $y;
+ $3428 = $3427 >>> 23;
+ $3429 = (($3426) + ($3428))|0;
+ $3430 = $1;
+ $3431 = ((($3430)) + 4128|0);
+ $3432 = ((($3431)) + 12|0);
+ HEAP32[$3432>>2] = $3429;
+ $3433 = $2;
+ $3434 = ((($3433)) + 24|0);
+ $3435 = HEAP8[$3434>>0]|0;
+ $3436 = $3435&255;
+ $3437 = 69 ^ $3436;
+ $3438 = (44992 + ($3437)|0);
+ $3439 = HEAP8[$3438>>0]|0;
+ $3440 = $3439&255;
+ $3441 = $2;
+ $3442 = ((($3441)) + 16|0);
+ $3443 = HEAP8[$3442>>0]|0;
+ $3444 = $3443&255;
+ $3445 = $3440 ^ $3444;
+ $3446 = (45248 + ($3445)|0);
+ $3447 = HEAP8[$3446>>0]|0;
+ $3448 = $3447&255;
+ $3449 = $2;
+ $3450 = ((($3449)) + 8|0);
+ $3451 = HEAP8[$3450>>0]|0;
+ $3452 = $3451&255;
+ $3453 = $3448 ^ $3452;
+ $3454 = (45248 + ($3453)|0);
+ $3455 = HEAP8[$3454>>0]|0;
+ $3456 = $3455&255;
+ $3457 = $2;
+ $3458 = HEAP8[$3457>>0]|0;
+ $3459 = $3458&255;
+ $3460 = $3456 ^ $3459;
+ $3461 = (8376 + ($3460<<2)|0);
+ $3462 = HEAP32[$3461>>2]|0;
+ $3463 = $2;
+ $3464 = ((($3463)) + 25|0);
+ $3465 = HEAP8[$3464>>0]|0;
+ $3466 = $3465&255;
+ $3467 = 228 ^ $3466;
+ $3468 = (44992 + ($3467)|0);
+ $3469 = HEAP8[$3468>>0]|0;
+ $3470 = $3469&255;
+ $3471 = $2;
+ $3472 = ((($3471)) + 17|0);
+ $3473 = HEAP8[$3472>>0]|0;
+ $3474 = $3473&255;
+ $3475 = $3470 ^ $3474;
+ $3476 = (44992 + ($3475)|0);
+ $3477 = HEAP8[$3476>>0]|0;
+ $3478 = $3477&255;
+ $3479 = $2;
+ $3480 = ((($3479)) + 9|0);
+ $3481 = HEAP8[$3480>>0]|0;
+ $3482 = $3481&255;
+ $3483 = $3478 ^ $3482;
+ $3484 = (45248 + ($3483)|0);
+ $3485 = HEAP8[$3484>>0]|0;
+ $3486 = $3485&255;
+ $3487 = $2;
+ $3488 = ((($3487)) + 1|0);
+ $3489 = HEAP8[$3488>>0]|0;
+ $3490 = $3489&255;
+ $3491 = $3486 ^ $3490;
+ $3492 = ((9400) + ($3491<<2)|0);
+ $3493 = HEAP32[$3492>>2]|0;
+ $3494 = $3462 ^ $3493;
+ $3495 = $2;
+ $3496 = ((($3495)) + 26|0);
+ $3497 = HEAP8[$3496>>0]|0;
+ $3498 = $3497&255;
+ $3499 = 228 ^ $3498;
+ $3500 = (45248 + ($3499)|0);
+ $3501 = HEAP8[$3500>>0]|0;
+ $3502 = $3501&255;
+ $3503 = $2;
+ $3504 = ((($3503)) + 18|0);
+ $3505 = HEAP8[$3504>>0]|0;
+ $3506 = $3505&255;
+ $3507 = $3502 ^ $3506;
+ $3508 = (45248 + ($3507)|0);
+ $3509 = HEAP8[$3508>>0]|0;
+ $3510 = $3509&255;
+ $3511 = $2;
+ $3512 = ((($3511)) + 10|0);
+ $3513 = HEAP8[$3512>>0]|0;
+ $3514 = $3513&255;
+ $3515 = $3510 ^ $3514;
+ $3516 = (44992 + ($3515)|0);
+ $3517 = HEAP8[$3516>>0]|0;
+ $3518 = $3517&255;
+ $3519 = $2;
+ $3520 = ((($3519)) + 2|0);
+ $3521 = HEAP8[$3520>>0]|0;
+ $3522 = $3521&255;
+ $3523 = $3518 ^ $3522;
+ $3524 = ((10424) + ($3523<<2)|0);
+ $3525 = HEAP32[$3524>>2]|0;
+ $3526 = $3494 ^ $3525;
+ $3527 = $2;
+ $3528 = ((($3527)) + 27|0);
+ $3529 = HEAP8[$3528>>0]|0;
+ $3530 = $3529&255;
+ $3531 = 69 ^ $3530;
+ $3532 = (45248 + ($3531)|0);
+ $3533 = HEAP8[$3532>>0]|0;
+ $3534 = $3533&255;
+ $3535 = $2;
+ $3536 = ((($3535)) + 19|0);
+ $3537 = HEAP8[$3536>>0]|0;
+ $3538 = $3537&255;
+ $3539 = $3534 ^ $3538;
+ $3540 = (44992 + ($3539)|0);
+ $3541 = HEAP8[$3540>>0]|0;
+ $3542 = $3541&255;
+ $3543 = $2;
+ $3544 = ((($3543)) + 11|0);
+ $3545 = HEAP8[$3544>>0]|0;
+ $3546 = $3545&255;
+ $3547 = $3542 ^ $3546;
+ $3548 = (44992 + ($3547)|0);
+ $3549 = HEAP8[$3548>>0]|0;
+ $3550 = $3549&255;
+ $3551 = $2;
+ $3552 = ((($3551)) + 3|0);
+ $3553 = HEAP8[$3552>>0]|0;
+ $3554 = $3553&255;
+ $3555 = $3550 ^ $3554;
+ $3556 = ((11448) + ($3555<<2)|0);
+ $3557 = HEAP32[$3556>>2]|0;
+ $3558 = $3526 ^ $3557;
+ $x = $3558;
+ $3559 = $2;
+ $3560 = ((($3559)) + 28|0);
+ $3561 = HEAP8[$3560>>0]|0;
+ $3562 = $3561&255;
+ $3563 = 125 ^ $3562;
+ $3564 = (44992 + ($3563)|0);
+ $3565 = HEAP8[$3564>>0]|0;
+ $3566 = $3565&255;
+ $3567 = $2;
+ $3568 = ((($3567)) + 20|0);
+ $3569 = HEAP8[$3568>>0]|0;
+ $3570 = $3569&255;
+ $3571 = $3566 ^ $3570;
+ $3572 = (45248 + ($3571)|0);
+ $3573 = HEAP8[$3572>>0]|0;
+ $3574 = $3573&255;
+ $3575 = $2;
+ $3576 = ((($3575)) + 12|0);
+ $3577 = HEAP8[$3576>>0]|0;
+ $3578 = $3577&255;
+ $3579 = $3574 ^ $3578;
+ $3580 = (45248 + ($3579)|0);
+ $3581 = HEAP8[$3580>>0]|0;
+ $3582 = $3581&255;
+ $3583 = $2;
+ $3584 = ((($3583)) + 4|0);
+ $3585 = HEAP8[$3584>>0]|0;
+ $3586 = $3585&255;
+ $3587 = $3582 ^ $3586;
+ $3588 = (8376 + ($3587<<2)|0);
+ $3589 = HEAP32[$3588>>2]|0;
+ $3590 = $2;
+ $3591 = ((($3590)) + 29|0);
+ $3592 = HEAP8[$3591>>0]|0;
+ $3593 = $3592&255;
+ $3594 = 221 ^ $3593;
+ $3595 = (44992 + ($3594)|0);
+ $3596 = HEAP8[$3595>>0]|0;
+ $3597 = $3596&255;
+ $3598 = $2;
+ $3599 = ((($3598)) + 21|0);
+ $3600 = HEAP8[$3599>>0]|0;
+ $3601 = $3600&255;
+ $3602 = $3597 ^ $3601;
+ $3603 = (44992 + ($3602)|0);
+ $3604 = HEAP8[$3603>>0]|0;
+ $3605 = $3604&255;
+ $3606 = $2;
+ $3607 = ((($3606)) + 13|0);
+ $3608 = HEAP8[$3607>>0]|0;
+ $3609 = $3608&255;
+ $3610 = $3605 ^ $3609;
+ $3611 = (45248 + ($3610)|0);
+ $3612 = HEAP8[$3611>>0]|0;
+ $3613 = $3612&255;
+ $3614 = $2;
+ $3615 = ((($3614)) + 5|0);
+ $3616 = HEAP8[$3615>>0]|0;
+ $3617 = $3616&255;
+ $3618 = $3613 ^ $3617;
+ $3619 = ((9400) + ($3618<<2)|0);
+ $3620 = HEAP32[$3619>>2]|0;
+ $3621 = $3589 ^ $3620;
+ $3622 = $2;
+ $3623 = ((($3622)) + 30|0);
+ $3624 = HEAP8[$3623>>0]|0;
+ $3625 = $3624&255;
+ $3626 = 221 ^ $3625;
+ $3627 = (45248 + ($3626)|0);
+ $3628 = HEAP8[$3627>>0]|0;
+ $3629 = $3628&255;
+ $3630 = $2;
+ $3631 = ((($3630)) + 22|0);
+ $3632 = HEAP8[$3631>>0]|0;
+ $3633 = $3632&255;
+ $3634 = $3629 ^ $3633;
+ $3635 = (45248 + ($3634)|0);
+ $3636 = HEAP8[$3635>>0]|0;
+ $3637 = $3636&255;
+ $3638 = $2;
+ $3639 = ((($3638)) + 14|0);
+ $3640 = HEAP8[$3639>>0]|0;
+ $3641 = $3640&255;
+ $3642 = $3637 ^ $3641;
+ $3643 = (44992 + ($3642)|0);
+ $3644 = HEAP8[$3643>>0]|0;
+ $3645 = $3644&255;
+ $3646 = $2;
+ $3647 = ((($3646)) + 6|0);
+ $3648 = HEAP8[$3647>>0]|0;
+ $3649 = $3648&255;
+ $3650 = $3645 ^ $3649;
+ $3651 = ((10424) + ($3650<<2)|0);
+ $3652 = HEAP32[$3651>>2]|0;
+ $3653 = $3621 ^ $3652;
+ $3654 = $2;
+ $3655 = ((($3654)) + 31|0);
+ $3656 = HEAP8[$3655>>0]|0;
+ $3657 = $3656&255;
+ $3658 = 125 ^ $3657;
+ $3659 = (45248 + ($3658)|0);
+ $3660 = HEAP8[$3659>>0]|0;
+ $3661 = $3660&255;
+ $3662 = $2;
+ $3663 = ((($3662)) + 23|0);
+ $3664 = HEAP8[$3663>>0]|0;
+ $3665 = $3664&255;
+ $3666 = $3661 ^ $3665;
+ $3667 = (44992 + ($3666)|0);
+ $3668 = HEAP8[$3667>>0]|0;
+ $3669 = $3668&255;
+ $3670 = $2;
+ $3671 = ((($3670)) + 15|0);
+ $3672 = HEAP8[$3671>>0]|0;
+ $3673 = $3672&255;
+ $3674 = $3669 ^ $3673;
+ $3675 = (44992 + ($3674)|0);
+ $3676 = HEAP8[$3675>>0]|0;
+ $3677 = $3676&255;
+ $3678 = $2;
+ $3679 = ((($3678)) + 7|0);
+ $3680 = HEAP8[$3679>>0]|0;
+ $3681 = $3680&255;
+ $3682 = $3677 ^ $3681;
+ $3683 = ((11448) + ($3682<<2)|0);
+ $3684 = HEAP32[$3683>>2]|0;
+ $3685 = $3653 ^ $3684;
+ $y = $3685;
+ $3686 = $y;
+ $3687 = $3686 << 8;
+ $3688 = $y;
+ $3689 = $3688 >>> 24;
+ $3690 = (($3687) + ($3689))|0;
+ $y = $3690;
+ $3691 = $y;
+ $3692 = $x;
+ $3693 = (($3692) + ($3691))|0;
+ $x = $3693;
+ $3694 = $x;
+ $3695 = $y;
+ $3696 = (($3695) + ($3694))|0;
+ $y = $3696;
+ $3697 = $x;
+ $3698 = $1;
+ $3699 = ((($3698)) + 4128|0);
+ $3700 = ((($3699)) + 16|0);
+ HEAP32[$3700>>2] = $3697;
+ $3701 = $y;
+ $3702 = $3701 << 9;
+ $3703 = $y;
+ $3704 = $3703 >>> 23;
+ $3705 = (($3702) + ($3704))|0;
+ $3706 = $1;
+ $3707 = ((($3706)) + 4128|0);
+ $3708 = ((($3707)) + 20|0);
+ HEAP32[$3708>>2] = $3705;
+ $3709 = $2;
+ $3710 = ((($3709)) + 24|0);
+ $3711 = HEAP8[$3710>>0]|0;
+ $3712 = $3711&255;
+ $3713 = 232 ^ $3712;
+ $3714 = (44992 + ($3713)|0);
+ $3715 = HEAP8[$3714>>0]|0;
+ $3716 = $3715&255;
+ $3717 = $2;
+ $3718 = ((($3717)) + 16|0);
+ $3719 = HEAP8[$3718>>0]|0;
+ $3720 = $3719&255;
+ $3721 = $3716 ^ $3720;
+ $3722 = (45248 + ($3721)|0);
+ $3723 = HEAP8[$3722>>0]|0;
+ $3724 = $3723&255;
+ $3725 = $2;
+ $3726 = ((($3725)) + 8|0);
+ $3727 = HEAP8[$3726>>0]|0;
+ $3728 = $3727&255;
+ $3729 = $3724 ^ $3728;
+ $3730 = (45248 + ($3729)|0);
+ $3731 = HEAP8[$3730>>0]|0;
+ $3732 = $3731&255;
+ $3733 = $2;
+ $3734 = HEAP8[$3733>>0]|0;
+ $3735 = $3734&255;
+ $3736 = $3732 ^ $3735;
+ $3737 = (8376 + ($3736<<2)|0);
+ $3738 = HEAP32[$3737>>2]|0;
+ $3739 = $2;
+ $3740 = ((($3739)) + 25|0);
+ $3741 = HEAP8[$3740>>0]|0;
+ $3742 = $3741&255;
+ $3743 = 209 ^ $3742;
+ $3744 = (44992 + ($3743)|0);
+ $3745 = HEAP8[$3744>>0]|0;
+ $3746 = $3745&255;
+ $3747 = $2;
+ $3748 = ((($3747)) + 17|0);
+ $3749 = HEAP8[$3748>>0]|0;
+ $3750 = $3749&255;
+ $3751 = $3746 ^ $3750;
+ $3752 = (44992 + ($3751)|0);
+ $3753 = HEAP8[$3752>>0]|0;
+ $3754 = $3753&255;
+ $3755 = $2;
+ $3756 = ((($3755)) + 9|0);
+ $3757 = HEAP8[$3756>>0]|0;
+ $3758 = $3757&255;
+ $3759 = $3754 ^ $3758;
+ $3760 = (45248 + ($3759)|0);
+ $3761 = HEAP8[$3760>>0]|0;
+ $3762 = $3761&255;
+ $3763 = $2;
+ $3764 = ((($3763)) + 1|0);
+ $3765 = HEAP8[$3764>>0]|0;
+ $3766 = $3765&255;
+ $3767 = $3762 ^ $3766;
+ $3768 = ((9400) + ($3767<<2)|0);
+ $3769 = HEAP32[$3768>>2]|0;
+ $3770 = $3738 ^ $3769;
+ $3771 = $2;
+ $3772 = ((($3771)) + 26|0);
+ $3773 = HEAP8[$3772>>0]|0;
+ $3774 = $3773&255;
+ $3775 = 209 ^ $3774;
+ $3776 = (45248 + ($3775)|0);
+ $3777 = HEAP8[$3776>>0]|0;
+ $3778 = $3777&255;
+ $3779 = $2;
+ $3780 = ((($3779)) + 18|0);
+ $3781 = HEAP8[$3780>>0]|0;
+ $3782 = $3781&255;
+ $3783 = $3778 ^ $3782;
+ $3784 = (45248 + ($3783)|0);
+ $3785 = HEAP8[$3784>>0]|0;
+ $3786 = $3785&255;
+ $3787 = $2;
+ $3788 = ((($3787)) + 10|0);
+ $3789 = HEAP8[$3788>>0]|0;
+ $3790 = $3789&255;
+ $3791 = $3786 ^ $3790;
+ $3792 = (44992 + ($3791)|0);
+ $3793 = HEAP8[$3792>>0]|0;
+ $3794 = $3793&255;
+ $3795 = $2;
+ $3796 = ((($3795)) + 2|0);
+ $3797 = HEAP8[$3796>>0]|0;
+ $3798 = $3797&255;
+ $3799 = $3794 ^ $3798;
+ $3800 = ((10424) + ($3799<<2)|0);
+ $3801 = HEAP32[$3800>>2]|0;
+ $3802 = $3770 ^ $3801;
+ $3803 = $2;
+ $3804 = ((($3803)) + 27|0);
+ $3805 = HEAP8[$3804>>0]|0;
+ $3806 = $3805&255;
+ $3807 = 232 ^ $3806;
+ $3808 = (45248 + ($3807)|0);
+ $3809 = HEAP8[$3808>>0]|0;
+ $3810 = $3809&255;
+ $3811 = $2;
+ $3812 = ((($3811)) + 19|0);
+ $3813 = HEAP8[$3812>>0]|0;
+ $3814 = $3813&255;
+ $3815 = $3810 ^ $3814;
+ $3816 = (44992 + ($3815)|0);
+ $3817 = HEAP8[$3816>>0]|0;
+ $3818 = $3817&255;
+ $3819 = $2;
+ $3820 = ((($3819)) + 11|0);
+ $3821 = HEAP8[$3820>>0]|0;
+ $3822 = $3821&255;
+ $3823 = $3818 ^ $3822;
+ $3824 = (44992 + ($3823)|0);
+ $3825 = HEAP8[$3824>>0]|0;
+ $3826 = $3825&255;
+ $3827 = $2;
+ $3828 = ((($3827)) + 3|0);
+ $3829 = HEAP8[$3828>>0]|0;
+ $3830 = $3829&255;
+ $3831 = $3826 ^ $3830;
+ $3832 = ((11448) + ($3831<<2)|0);
+ $3833 = HEAP32[$3832>>2]|0;
+ $3834 = $3802 ^ $3833;
+ $x = $3834;
+ $3835 = $2;
+ $3836 = ((($3835)) + 28|0);
+ $3837 = HEAP8[$3836>>0]|0;
+ $3838 = $3837&255;
+ $3839 = 75 ^ $3838;
+ $3840 = (44992 + ($3839)|0);
+ $3841 = HEAP8[$3840>>0]|0;
+ $3842 = $3841&255;
+ $3843 = $2;
+ $3844 = ((($3843)) + 20|0);
+ $3845 = HEAP8[$3844>>0]|0;
+ $3846 = $3845&255;
+ $3847 = $3842 ^ $3846;
+ $3848 = (45248 + ($3847)|0);
+ $3849 = HEAP8[$3848>>0]|0;
+ $3850 = $3849&255;
+ $3851 = $2;
+ $3852 = ((($3851)) + 12|0);
+ $3853 = HEAP8[$3852>>0]|0;
+ $3854 = $3853&255;
+ $3855 = $3850 ^ $3854;
+ $3856 = (45248 + ($3855)|0);
+ $3857 = HEAP8[$3856>>0]|0;
+ $3858 = $3857&255;
+ $3859 = $2;
+ $3860 = ((($3859)) + 4|0);
+ $3861 = HEAP8[$3860>>0]|0;
+ $3862 = $3861&255;
+ $3863 = $3858 ^ $3862;
+ $3864 = (8376 + ($3863<<2)|0);
+ $3865 = HEAP32[$3864>>2]|0;
+ $3866 = $2;
+ $3867 = ((($3866)) + 29|0);
+ $3868 = HEAP8[$3867>>0]|0;
+ $3869 = $3868&255;
+ $3870 = 56 ^ $3869;
+ $3871 = (44992 + ($3870)|0);
+ $3872 = HEAP8[$3871>>0]|0;
+ $3873 = $3872&255;
+ $3874 = $2;
+ $3875 = ((($3874)) + 21|0);
+ $3876 = HEAP8[$3875>>0]|0;
+ $3877 = $3876&255;
+ $3878 = $3873 ^ $3877;
+ $3879 = (44992 + ($3878)|0);
+ $3880 = HEAP8[$3879>>0]|0;
+ $3881 = $3880&255;
+ $3882 = $2;
+ $3883 = ((($3882)) + 13|0);
+ $3884 = HEAP8[$3883>>0]|0;
+ $3885 = $3884&255;
+ $3886 = $3881 ^ $3885;
+ $3887 = (45248 + ($3886)|0);
+ $3888 = HEAP8[$3887>>0]|0;
+ $3889 = $3888&255;
+ $3890 = $2;
+ $3891 = ((($3890)) + 5|0);
+ $3892 = HEAP8[$3891>>0]|0;
+ $3893 = $3892&255;
+ $3894 = $3889 ^ $3893;
+ $3895 = ((9400) + ($3894<<2)|0);
+ $3896 = HEAP32[$3895>>2]|0;
+ $3897 = $3865 ^ $3896;
+ $3898 = $2;
+ $3899 = ((($3898)) + 30|0);
+ $3900 = HEAP8[$3899>>0]|0;
+ $3901 = $3900&255;
+ $3902 = 56 ^ $3901;
+ $3903 = (45248 + ($3902)|0);
+ $3904 = HEAP8[$3903>>0]|0;
+ $3905 = $3904&255;
+ $3906 = $2;
+ $3907 = ((($3906)) + 22|0);
+ $3908 = HEAP8[$3907>>0]|0;
+ $3909 = $3908&255;
+ $3910 = $3905 ^ $3909;
+ $3911 = (45248 + ($3910)|0);
+ $3912 = HEAP8[$3911>>0]|0;
+ $3913 = $3912&255;
+ $3914 = $2;
+ $3915 = ((($3914)) + 14|0);
+ $3916 = HEAP8[$3915>>0]|0;
+ $3917 = $3916&255;
+ $3918 = $3913 ^ $3917;
+ $3919 = (44992 + ($3918)|0);
+ $3920 = HEAP8[$3919>>0]|0;
+ $3921 = $3920&255;
+ $3922 = $2;
+ $3923 = ((($3922)) + 6|0);
+ $3924 = HEAP8[$3923>>0]|0;
+ $3925 = $3924&255;
+ $3926 = $3921 ^ $3925;
+ $3927 = ((10424) + ($3926<<2)|0);
+ $3928 = HEAP32[$3927>>2]|0;
+ $3929 = $3897 ^ $3928;
+ $3930 = $2;
+ $3931 = ((($3930)) + 31|0);
+ $3932 = HEAP8[$3931>>0]|0;
+ $3933 = $3932&255;
+ $3934 = 75 ^ $3933;
+ $3935 = (45248 + ($3934)|0);
+ $3936 = HEAP8[$3935>>0]|0;
+ $3937 = $3936&255;
+ $3938 = $2;
+ $3939 = ((($3938)) + 23|0);
+ $3940 = HEAP8[$3939>>0]|0;
+ $3941 = $3940&255;
+ $3942 = $3937 ^ $3941;
+ $3943 = (44992 + ($3942)|0);
+ $3944 = HEAP8[$3943>>0]|0;
+ $3945 = $3944&255;
+ $3946 = $2;
+ $3947 = ((($3946)) + 15|0);
+ $3948 = HEAP8[$3947>>0]|0;
+ $3949 = $3948&255;
+ $3950 = $3945 ^ $3949;
+ $3951 = (44992 + ($3950)|0);
+ $3952 = HEAP8[$3951>>0]|0;
+ $3953 = $3952&255;
+ $3954 = $2;
+ $3955 = ((($3954)) + 7|0);
+ $3956 = HEAP8[$3955>>0]|0;
+ $3957 = $3956&255;
+ $3958 = $3953 ^ $3957;
+ $3959 = ((11448) + ($3958<<2)|0);
+ $3960 = HEAP32[$3959>>2]|0;
+ $3961 = $3929 ^ $3960;
+ $y = $3961;
+ $3962 = $y;
+ $3963 = $3962 << 8;
+ $3964 = $y;
+ $3965 = $3964 >>> 24;
+ $3966 = (($3963) + ($3965))|0;
+ $y = $3966;
+ $3967 = $y;
+ $3968 = $x;
+ $3969 = (($3968) + ($3967))|0;
+ $x = $3969;
+ $3970 = $x;
+ $3971 = $y;
+ $3972 = (($3971) + ($3970))|0;
+ $y = $3972;
+ $3973 = $x;
+ $3974 = $1;
+ $3975 = ((($3974)) + 4128|0);
+ $3976 = ((($3975)) + 24|0);
+ HEAP32[$3976>>2] = $3973;
+ $3977 = $y;
+ $3978 = $3977 << 9;
+ $3979 = $y;
+ $3980 = $3979 >>> 23;
+ $3981 = (($3978) + ($3980))|0;
+ $3982 = $1;
+ $3983 = ((($3982)) + 4128|0);
+ $3984 = ((($3983)) + 28|0);
+ HEAP32[$3984>>2] = $3981;
+ $3985 = $2;
+ $3986 = ((($3985)) + 24|0);
+ $3987 = HEAP8[$3986>>0]|0;
+ $3988 = $3987&255;
+ $3989 = 214 ^ $3988;
+ $3990 = (44992 + ($3989)|0);
+ $3991 = HEAP8[$3990>>0]|0;
+ $3992 = $3991&255;
+ $3993 = $2;
+ $3994 = ((($3993)) + 16|0);
+ $3995 = HEAP8[$3994>>0]|0;
+ $3996 = $3995&255;
+ $3997 = $3992 ^ $3996;
+ $3998 = (45248 + ($3997)|0);
+ $3999 = HEAP8[$3998>>0]|0;
+ $4000 = $3999&255;
+ $4001 = $2;
+ $4002 = ((($4001)) + 8|0);
+ $4003 = HEAP8[$4002>>0]|0;
+ $4004 = $4003&255;
+ $4005 = $4000 ^ $4004;
+ $4006 = (45248 + ($4005)|0);
+ $4007 = HEAP8[$4006>>0]|0;
+ $4008 = $4007&255;
+ $4009 = $2;
+ $4010 = HEAP8[$4009>>0]|0;
+ $4011 = $4010&255;
+ $4012 = $4008 ^ $4011;
+ $4013 = (8376 + ($4012<<2)|0);
+ $4014 = HEAP32[$4013>>2]|0;
+ $4015 = $2;
+ $4016 = ((($4015)) + 25|0);
+ $4017 = HEAP8[$4016>>0]|0;
+ $4018 = $4017&255;
+ $4019 = 13 ^ $4018;
+ $4020 = (44992 + ($4019)|0);
+ $4021 = HEAP8[$4020>>0]|0;
+ $4022 = $4021&255;
+ $4023 = $2;
+ $4024 = ((($4023)) + 17|0);
+ $4025 = HEAP8[$4024>>0]|0;
+ $4026 = $4025&255;
+ $4027 = $4022 ^ $4026;
+ $4028 = (44992 + ($4027)|0);
+ $4029 = HEAP8[$4028>>0]|0;
+ $4030 = $4029&255;
+ $4031 = $2;
+ $4032 = ((($4031)) + 9|0);
+ $4033 = HEAP8[$4032>>0]|0;
+ $4034 = $4033&255;
+ $4035 = $4030 ^ $4034;
+ $4036 = (45248 + ($4035)|0);
+ $4037 = HEAP8[$4036>>0]|0;
+ $4038 = $4037&255;
+ $4039 = $2;
+ $4040 = ((($4039)) + 1|0);
+ $4041 = HEAP8[$4040>>0]|0;
+ $4042 = $4041&255;
+ $4043 = $4038 ^ $4042;
+ $4044 = ((9400) + ($4043<<2)|0);
+ $4045 = HEAP32[$4044>>2]|0;
+ $4046 = $4014 ^ $4045;
+ $4047 = $2;
+ $4048 = ((($4047)) + 26|0);
+ $4049 = HEAP8[$4048>>0]|0;
+ $4050 = $4049&255;
+ $4051 = 13 ^ $4050;
+ $4052 = (45248 + ($4051)|0);
+ $4053 = HEAP8[$4052>>0]|0;
+ $4054 = $4053&255;
+ $4055 = $2;
+ $4056 = ((($4055)) + 18|0);
+ $4057 = HEAP8[$4056>>0]|0;
+ $4058 = $4057&255;
+ $4059 = $4054 ^ $4058;
+ $4060 = (45248 + ($4059)|0);
+ $4061 = HEAP8[$4060>>0]|0;
+ $4062 = $4061&255;
+ $4063 = $2;
+ $4064 = ((($4063)) + 10|0);
+ $4065 = HEAP8[$4064>>0]|0;
+ $4066 = $4065&255;
+ $4067 = $4062 ^ $4066;
+ $4068 = (44992 + ($4067)|0);
+ $4069 = HEAP8[$4068>>0]|0;
+ $4070 = $4069&255;
+ $4071 = $2;
+ $4072 = ((($4071)) + 2|0);
+ $4073 = HEAP8[$4072>>0]|0;
+ $4074 = $4073&255;
+ $4075 = $4070 ^ $4074;
+ $4076 = ((10424) + ($4075<<2)|0);
+ $4077 = HEAP32[$4076>>2]|0;
+ $4078 = $4046 ^ $4077;
+ $4079 = $2;
+ $4080 = ((($4079)) + 27|0);
+ $4081 = HEAP8[$4080>>0]|0;
+ $4082 = $4081&255;
+ $4083 = 214 ^ $4082;
+ $4084 = (45248 + ($4083)|0);
+ $4085 = HEAP8[$4084>>0]|0;
+ $4086 = $4085&255;
+ $4087 = $2;
+ $4088 = ((($4087)) + 19|0);
+ $4089 = HEAP8[$4088>>0]|0;
+ $4090 = $4089&255;
+ $4091 = $4086 ^ $4090;
+ $4092 = (44992 + ($4091)|0);
+ $4093 = HEAP8[$4092>>0]|0;
+ $4094 = $4093&255;
+ $4095 = $2;
+ $4096 = ((($4095)) + 11|0);
+ $4097 = HEAP8[$4096>>0]|0;
+ $4098 = $4097&255;
+ $4099 = $4094 ^ $4098;
+ $4100 = (44992 + ($4099)|0);
+ $4101 = HEAP8[$4100>>0]|0;
+ $4102 = $4101&255;
+ $4103 = $2;
+ $4104 = ((($4103)) + 3|0);
+ $4105 = HEAP8[$4104>>0]|0;
+ $4106 = $4105&255;
+ $4107 = $4102 ^ $4106;
+ $4108 = ((11448) + ($4107<<2)|0);
+ $4109 = HEAP32[$4108>>2]|0;
+ $4110 = $4078 ^ $4109;
+ $x = $4110;
+ $4111 = $2;
+ $4112 = ((($4111)) + 28|0);
+ $4113 = HEAP8[$4112>>0]|0;
+ $4114 = $4113&255;
+ $4115 = 50 ^ $4114;
+ $4116 = (44992 + ($4115)|0);
+ $4117 = HEAP8[$4116>>0]|0;
+ $4118 = $4117&255;
+ $4119 = $2;
+ $4120 = ((($4119)) + 20|0);
+ $4121 = HEAP8[$4120>>0]|0;
+ $4122 = $4121&255;
+ $4123 = $4118 ^ $4122;
+ $4124 = (45248 + ($4123)|0);
+ $4125 = HEAP8[$4124>>0]|0;
+ $4126 = $4125&255;
+ $4127 = $2;
+ $4128 = ((($4127)) + 12|0);
+ $4129 = HEAP8[$4128>>0]|0;
+ $4130 = $4129&255;
+ $4131 = $4126 ^ $4130;
+ $4132 = (45248 + ($4131)|0);
+ $4133 = HEAP8[$4132>>0]|0;
+ $4134 = $4133&255;
+ $4135 = $2;
+ $4136 = ((($4135)) + 4|0);
+ $4137 = HEAP8[$4136>>0]|0;
+ $4138 = $4137&255;
+ $4139 = $4134 ^ $4138;
+ $4140 = (8376 + ($4139<<2)|0);
+ $4141 = HEAP32[$4140>>2]|0;
+ $4142 = $2;
+ $4143 = ((($4142)) + 29|0);
+ $4144 = HEAP8[$4143>>0]|0;
+ $4145 = $4144&255;
+ $4146 = 198 ^ $4145;
+ $4147 = (44992 + ($4146)|0);
+ $4148 = HEAP8[$4147>>0]|0;
+ $4149 = $4148&255;
+ $4150 = $2;
+ $4151 = ((($4150)) + 21|0);
+ $4152 = HEAP8[$4151>>0]|0;
+ $4153 = $4152&255;
+ $4154 = $4149 ^ $4153;
+ $4155 = (44992 + ($4154)|0);
+ $4156 = HEAP8[$4155>>0]|0;
+ $4157 = $4156&255;
+ $4158 = $2;
+ $4159 = ((($4158)) + 13|0);
+ $4160 = HEAP8[$4159>>0]|0;
+ $4161 = $4160&255;
+ $4162 = $4157 ^ $4161;
+ $4163 = (45248 + ($4162)|0);
+ $4164 = HEAP8[$4163>>0]|0;
+ $4165 = $4164&255;
+ $4166 = $2;
+ $4167 = ((($4166)) + 5|0);
+ $4168 = HEAP8[$4167>>0]|0;
+ $4169 = $4168&255;
+ $4170 = $4165 ^ $4169;
+ $4171 = ((9400) + ($4170<<2)|0);
+ $4172 = HEAP32[$4171>>2]|0;
+ $4173 = $4141 ^ $4172;
+ $4174 = $2;
+ $4175 = ((($4174)) + 30|0);
+ $4176 = HEAP8[$4175>>0]|0;
+ $4177 = $4176&255;
+ $4178 = 198 ^ $4177;
+ $4179 = (45248 + ($4178)|0);
+ $4180 = HEAP8[$4179>>0]|0;
+ $4181 = $4180&255;
+ $4182 = $2;
+ $4183 = ((($4182)) + 22|0);
+ $4184 = HEAP8[$4183>>0]|0;
+ $4185 = $4184&255;
+ $4186 = $4181 ^ $4185;
+ $4187 = (45248 + ($4186)|0);
+ $4188 = HEAP8[$4187>>0]|0;
+ $4189 = $4188&255;
+ $4190 = $2;
+ $4191 = ((($4190)) + 14|0);
+ $4192 = HEAP8[$4191>>0]|0;
+ $4193 = $4192&255;
+ $4194 = $4189 ^ $4193;
+ $4195 = (44992 + ($4194)|0);
+ $4196 = HEAP8[$4195>>0]|0;
+ $4197 = $4196&255;
+ $4198 = $2;
+ $4199 = ((($4198)) + 6|0);
+ $4200 = HEAP8[$4199>>0]|0;
+ $4201 = $4200&255;
+ $4202 = $4197 ^ $4201;
+ $4203 = ((10424) + ($4202<<2)|0);
+ $4204 = HEAP32[$4203>>2]|0;
+ $4205 = $4173 ^ $4204;
+ $4206 = $2;
+ $4207 = ((($4206)) + 31|0);
+ $4208 = HEAP8[$4207>>0]|0;
+ $4209 = $4208&255;
+ $4210 = 50 ^ $4209;
+ $4211 = (45248 + ($4210)|0);
+ $4212 = HEAP8[$4211>>0]|0;
+ $4213 = $4212&255;
+ $4214 = $2;
+ $4215 = ((($4214)) + 23|0);
+ $4216 = HEAP8[$4215>>0]|0;
+ $4217 = $4216&255;
+ $4218 = $4213 ^ $4217;
+ $4219 = (44992 + ($4218)|0);
+ $4220 = HEAP8[$4219>>0]|0;
+ $4221 = $4220&255;
+ $4222 = $2;
+ $4223 = ((($4222)) + 15|0);
+ $4224 = HEAP8[$4223>>0]|0;
+ $4225 = $4224&255;
+ $4226 = $4221 ^ $4225;
+ $4227 = (44992 + ($4226)|0);
+ $4228 = HEAP8[$4227>>0]|0;
+ $4229 = $4228&255;
+ $4230 = $2;
+ $4231 = ((($4230)) + 7|0);
+ $4232 = HEAP8[$4231>>0]|0;
+ $4233 = $4232&255;
+ $4234 = $4229 ^ $4233;
+ $4235 = ((11448) + ($4234<<2)|0);
+ $4236 = HEAP32[$4235>>2]|0;
+ $4237 = $4205 ^ $4236;
+ $y = $4237;
+ $4238 = $y;
+ $4239 = $4238 << 8;
+ $4240 = $y;
+ $4241 = $4240 >>> 24;
+ $4242 = (($4239) + ($4241))|0;
+ $y = $4242;
+ $4243 = $y;
+ $4244 = $x;
+ $4245 = (($4244) + ($4243))|0;
+ $x = $4245;
+ $4246 = $x;
+ $4247 = $y;
+ $4248 = (($4247) + ($4246))|0;
+ $y = $4248;
+ $4249 = $x;
+ $4250 = $1;
+ $4251 = ((($4250)) + 4128|0);
+ $4252 = ((($4251)) + 32|0);
+ HEAP32[$4252>>2] = $4249;
+ $4253 = $y;
+ $4254 = $4253 << 9;
+ $4255 = $y;
+ $4256 = $4255 >>> 23;
+ $4257 = (($4254) + ($4256))|0;
+ $4258 = $1;
+ $4259 = ((($4258)) + 4128|0);
+ $4260 = ((($4259)) + 36|0);
+ HEAP32[$4260>>2] = $4257;
+ $4261 = $2;
+ $4262 = ((($4261)) + 24|0);
+ $4263 = HEAP8[$4262>>0]|0;
+ $4264 = $4263&255;
+ $4265 = 216 ^ $4264;
+ $4266 = (44992 + ($4265)|0);
+ $4267 = HEAP8[$4266>>0]|0;
+ $4268 = $4267&255;
+ $4269 = $2;
+ $4270 = ((($4269)) + 16|0);
+ $4271 = HEAP8[$4270>>0]|0;
+ $4272 = $4271&255;
+ $4273 = $4268 ^ $4272;
+ $4274 = (45248 + ($4273)|0);
+ $4275 = HEAP8[$4274>>0]|0;
+ $4276 = $4275&255;
+ $4277 = $2;
+ $4278 = ((($4277)) + 8|0);
+ $4279 = HEAP8[$4278>>0]|0;
+ $4280 = $4279&255;
+ $4281 = $4276 ^ $4280;
+ $4282 = (45248 + ($4281)|0);
+ $4283 = HEAP8[$4282>>0]|0;
+ $4284 = $4283&255;
+ $4285 = $2;
+ $4286 = HEAP8[$4285>>0]|0;
+ $4287 = $4286&255;
+ $4288 = $4284 ^ $4287;
+ $4289 = (8376 + ($4288<<2)|0);
+ $4290 = HEAP32[$4289>>2]|0;
+ $4291 = $2;
+ $4292 = ((($4291)) + 25|0);
+ $4293 = HEAP8[$4292>>0]|0;
+ $4294 = $4293&255;
+ $4295 = 53 ^ $4294;
+ $4296 = (44992 + ($4295)|0);
+ $4297 = HEAP8[$4296>>0]|0;
+ $4298 = $4297&255;
+ $4299 = $2;
+ $4300 = ((($4299)) + 17|0);
+ $4301 = HEAP8[$4300>>0]|0;
+ $4302 = $4301&255;
+ $4303 = $4298 ^ $4302;
+ $4304 = (44992 + ($4303)|0);
+ $4305 = HEAP8[$4304>>0]|0;
+ $4306 = $4305&255;
+ $4307 = $2;
+ $4308 = ((($4307)) + 9|0);
+ $4309 = HEAP8[$4308>>0]|0;
+ $4310 = $4309&255;
+ $4311 = $4306 ^ $4310;
+ $4312 = (45248 + ($4311)|0);
+ $4313 = HEAP8[$4312>>0]|0;
+ $4314 = $4313&255;
+ $4315 = $2;
+ $4316 = ((($4315)) + 1|0);
+ $4317 = HEAP8[$4316>>0]|0;
+ $4318 = $4317&255;
+ $4319 = $4314 ^ $4318;
+ $4320 = ((9400) + ($4319<<2)|0);
+ $4321 = HEAP32[$4320>>2]|0;
+ $4322 = $4290 ^ $4321;
+ $4323 = $2;
+ $4324 = ((($4323)) + 26|0);
+ $4325 = HEAP8[$4324>>0]|0;
+ $4326 = $4325&255;
+ $4327 = 53 ^ $4326;
+ $4328 = (45248 + ($4327)|0);
+ $4329 = HEAP8[$4328>>0]|0;
+ $4330 = $4329&255;
+ $4331 = $2;
+ $4332 = ((($4331)) + 18|0);
+ $4333 = HEAP8[$4332>>0]|0;
+ $4334 = $4333&255;
+ $4335 = $4330 ^ $4334;
+ $4336 = (45248 + ($4335)|0);
+ $4337 = HEAP8[$4336>>0]|0;
+ $4338 = $4337&255;
+ $4339 = $2;
+ $4340 = ((($4339)) + 10|0);
+ $4341 = HEAP8[$4340>>0]|0;
+ $4342 = $4341&255;
+ $4343 = $4338 ^ $4342;
+ $4344 = (44992 + ($4343)|0);
+ $4345 = HEAP8[$4344>>0]|0;
+ $4346 = $4345&255;
+ $4347 = $2;
+ $4348 = ((($4347)) + 2|0);
+ $4349 = HEAP8[$4348>>0]|0;
+ $4350 = $4349&255;
+ $4351 = $4346 ^ $4350;
+ $4352 = ((10424) + ($4351<<2)|0);
+ $4353 = HEAP32[$4352>>2]|0;
+ $4354 = $4322 ^ $4353;
+ $4355 = $2;
+ $4356 = ((($4355)) + 27|0);
+ $4357 = HEAP8[$4356>>0]|0;
+ $4358 = $4357&255;
+ $4359 = 216 ^ $4358;
+ $4360 = (45248 + ($4359)|0);
+ $4361 = HEAP8[$4360>>0]|0;
+ $4362 = $4361&255;
+ $4363 = $2;
+ $4364 = ((($4363)) + 19|0);
+ $4365 = HEAP8[$4364>>0]|0;
+ $4366 = $4365&255;
+ $4367 = $4362 ^ $4366;
+ $4368 = (44992 + ($4367)|0);
+ $4369 = HEAP8[$4368>>0]|0;
+ $4370 = $4369&255;
+ $4371 = $2;
+ $4372 = ((($4371)) + 11|0);
+ $4373 = HEAP8[$4372>>0]|0;
+ $4374 = $4373&255;
+ $4375 = $4370 ^ $4374;
+ $4376 = (44992 + ($4375)|0);
+ $4377 = HEAP8[$4376>>0]|0;
+ $4378 = $4377&255;
+ $4379 = $2;
+ $4380 = ((($4379)) + 3|0);
+ $4381 = HEAP8[$4380>>0]|0;
+ $4382 = $4381&255;
+ $4383 = $4378 ^ $4382;
+ $4384 = ((11448) + ($4383<<2)|0);
+ $4385 = HEAP32[$4384>>2]|0;
+ $4386 = $4354 ^ $4385;
+ $x = $4386;
+ $4387 = $2;
+ $4388 = ((($4387)) + 28|0);
+ $4389 = HEAP8[$4388>>0]|0;
+ $4390 = $4389&255;
+ $4391 = 253 ^ $4390;
+ $4392 = (44992 + ($4391)|0);
+ $4393 = HEAP8[$4392>>0]|0;
+ $4394 = $4393&255;
+ $4395 = $2;
+ $4396 = ((($4395)) + 20|0);
+ $4397 = HEAP8[$4396>>0]|0;
+ $4398 = $4397&255;
+ $4399 = $4394 ^ $4398;
+ $4400 = (45248 + ($4399)|0);
+ $4401 = HEAP8[$4400>>0]|0;
+ $4402 = $4401&255;
+ $4403 = $2;
+ $4404 = ((($4403)) + 12|0);
+ $4405 = HEAP8[$4404>>0]|0;
+ $4406 = $4405&255;
+ $4407 = $4402 ^ $4406;
+ $4408 = (45248 + ($4407)|0);
+ $4409 = HEAP8[$4408>>0]|0;
+ $4410 = $4409&255;
+ $4411 = $2;
+ $4412 = ((($4411)) + 4|0);
+ $4413 = HEAP8[$4412>>0]|0;
+ $4414 = $4413&255;
+ $4415 = $4410 ^ $4414;
+ $4416 = (8376 + ($4415<<2)|0);
+ $4417 = HEAP32[$4416>>2]|0;
+ $4418 = $2;
+ $4419 = ((($4418)) + 29|0);
+ $4420 = HEAP8[$4419>>0]|0;
+ $4421 = $4420&255;
+ $4422 = 152 ^ $4421;
+ $4423 = (44992 + ($4422)|0);
+ $4424 = HEAP8[$4423>>0]|0;
+ $4425 = $4424&255;
+ $4426 = $2;
+ $4427 = ((($4426)) + 21|0);
+ $4428 = HEAP8[$4427>>0]|0;
+ $4429 = $4428&255;
+ $4430 = $4425 ^ $4429;
+ $4431 = (44992 + ($4430)|0);
+ $4432 = HEAP8[$4431>>0]|0;
+ $4433 = $4432&255;
+ $4434 = $2;
+ $4435 = ((($4434)) + 13|0);
+ $4436 = HEAP8[$4435>>0]|0;
+ $4437 = $4436&255;
+ $4438 = $4433 ^ $4437;
+ $4439 = (45248 + ($4438)|0);
+ $4440 = HEAP8[$4439>>0]|0;
+ $4441 = $4440&255;
+ $4442 = $2;
+ $4443 = ((($4442)) + 5|0);
+ $4444 = HEAP8[$4443>>0]|0;
+ $4445 = $4444&255;
+ $4446 = $4441 ^ $4445;
+ $4447 = ((9400) + ($4446<<2)|0);
+ $4448 = HEAP32[$4447>>2]|0;
+ $4449 = $4417 ^ $4448;
+ $4450 = $2;
+ $4451 = ((($4450)) + 30|0);
+ $4452 = HEAP8[$4451>>0]|0;
+ $4453 = $4452&255;
+ $4454 = 152 ^ $4453;
+ $4455 = (45248 + ($4454)|0);
+ $4456 = HEAP8[$4455>>0]|0;
+ $4457 = $4456&255;
+ $4458 = $2;
+ $4459 = ((($4458)) + 22|0);
+ $4460 = HEAP8[$4459>>0]|0;
+ $4461 = $4460&255;
+ $4462 = $4457 ^ $4461;
+ $4463 = (45248 + ($4462)|0);
+ $4464 = HEAP8[$4463>>0]|0;
+ $4465 = $4464&255;
+ $4466 = $2;
+ $4467 = ((($4466)) + 14|0);
+ $4468 = HEAP8[$4467>>0]|0;
+ $4469 = $4468&255;
+ $4470 = $4465 ^ $4469;
+ $4471 = (44992 + ($4470)|0);
+ $4472 = HEAP8[$4471>>0]|0;
+ $4473 = $4472&255;
+ $4474 = $2;
+ $4475 = ((($4474)) + 6|0);
+ $4476 = HEAP8[$4475>>0]|0;
+ $4477 = $4476&255;
+ $4478 = $4473 ^ $4477;
+ $4479 = ((10424) + ($4478<<2)|0);
+ $4480 = HEAP32[$4479>>2]|0;
+ $4481 = $4449 ^ $4480;
+ $4482 = $2;
+ $4483 = ((($4482)) + 31|0);
+ $4484 = HEAP8[$4483>>0]|0;
+ $4485 = $4484&255;
+ $4486 = 253 ^ $4485;
+ $4487 = (45248 + ($4486)|0);
+ $4488 = HEAP8[$4487>>0]|0;
+ $4489 = $4488&255;
+ $4490 = $2;
+ $4491 = ((($4490)) + 23|0);
+ $4492 = HEAP8[$4491>>0]|0;
+ $4493 = $4492&255;
+ $4494 = $4489 ^ $4493;
+ $4495 = (44992 + ($4494)|0);
+ $4496 = HEAP8[$4495>>0]|0;
+ $4497 = $4496&255;
+ $4498 = $2;
+ $4499 = ((($4498)) + 15|0);
+ $4500 = HEAP8[$4499>>0]|0;
+ $4501 = $4500&255;
+ $4502 = $4497 ^ $4501;
+ $4503 = (44992 + ($4502)|0);
+ $4504 = HEAP8[$4503>>0]|0;
+ $4505 = $4504&255;
+ $4506 = $2;
+ $4507 = ((($4506)) + 7|0);
+ $4508 = HEAP8[$4507>>0]|0;
+ $4509 = $4508&255;
+ $4510 = $4505 ^ $4509;
+ $4511 = ((11448) + ($4510<<2)|0);
+ $4512 = HEAP32[$4511>>2]|0;
+ $4513 = $4481 ^ $4512;
+ $y = $4513;
+ $4514 = $y;
+ $4515 = $4514 << 8;
+ $4516 = $y;
+ $4517 = $4516 >>> 24;
+ $4518 = (($4515) + ($4517))|0;
+ $y = $4518;
+ $4519 = $y;
+ $4520 = $x;
+ $4521 = (($4520) + ($4519))|0;
+ $x = $4521;
+ $4522 = $x;
+ $4523 = $y;
+ $4524 = (($4523) + ($4522))|0;
+ $y = $4524;
+ $4525 = $x;
+ $4526 = $1;
+ $4527 = ((($4526)) + 4128|0);
+ $4528 = ((($4527)) + 40|0);
+ HEAP32[$4528>>2] = $4525;
+ $4529 = $y;
+ $4530 = $4529 << 9;
+ $4531 = $y;
+ $4532 = $4531 >>> 23;
+ $4533 = (($4530) + ($4532))|0;
+ $4534 = $1;
+ $4535 = ((($4534)) + 4128|0);
+ $4536 = ((($4535)) + 44|0);
+ HEAP32[$4536>>2] = $4533;
+ $4537 = $2;
+ $4538 = ((($4537)) + 24|0);
+ $4539 = HEAP8[$4538>>0]|0;
+ $4540 = $4539&255;
+ $4541 = 55 ^ $4540;
+ $4542 = (44992 + ($4541)|0);
+ $4543 = HEAP8[$4542>>0]|0;
+ $4544 = $4543&255;
+ $4545 = $2;
+ $4546 = ((($4545)) + 16|0);
+ $4547 = HEAP8[$4546>>0]|0;
+ $4548 = $4547&255;
+ $4549 = $4544 ^ $4548;
+ $4550 = (45248 + ($4549)|0);
+ $4551 = HEAP8[$4550>>0]|0;
+ $4552 = $4551&255;
+ $4553 = $2;
+ $4554 = ((($4553)) + 8|0);
+ $4555 = HEAP8[$4554>>0]|0;
+ $4556 = $4555&255;
+ $4557 = $4552 ^ $4556;
+ $4558 = (45248 + ($4557)|0);
+ $4559 = HEAP8[$4558>>0]|0;
+ $4560 = $4559&255;
+ $4561 = $2;
+ $4562 = HEAP8[$4561>>0]|0;
+ $4563 = $4562&255;
+ $4564 = $4560 ^ $4563;
+ $4565 = (8376 + ($4564<<2)|0);
+ $4566 = HEAP32[$4565>>2]|0;
+ $4567 = $2;
+ $4568 = ((($4567)) + 25|0);
+ $4569 = HEAP8[$4568>>0]|0;
+ $4570 = $4569&255;
+ $4571 = 24 ^ $4570;
+ $4572 = (44992 + ($4571)|0);
+ $4573 = HEAP8[$4572>>0]|0;
+ $4574 = $4573&255;
+ $4575 = $2;
+ $4576 = ((($4575)) + 17|0);
+ $4577 = HEAP8[$4576>>0]|0;
+ $4578 = $4577&255;
+ $4579 = $4574 ^ $4578;
+ $4580 = (44992 + ($4579)|0);
+ $4581 = HEAP8[$4580>>0]|0;
+ $4582 = $4581&255;
+ $4583 = $2;
+ $4584 = ((($4583)) + 9|0);
+ $4585 = HEAP8[$4584>>0]|0;
+ $4586 = $4585&255;
+ $4587 = $4582 ^ $4586;
+ $4588 = (45248 + ($4587)|0);
+ $4589 = HEAP8[$4588>>0]|0;
+ $4590 = $4589&255;
+ $4591 = $2;
+ $4592 = ((($4591)) + 1|0);
+ $4593 = HEAP8[$4592>>0]|0;
+ $4594 = $4593&255;
+ $4595 = $4590 ^ $4594;
+ $4596 = ((9400) + ($4595<<2)|0);
+ $4597 = HEAP32[$4596>>2]|0;
+ $4598 = $4566 ^ $4597;
+ $4599 = $2;
+ $4600 = ((($4599)) + 26|0);
+ $4601 = HEAP8[$4600>>0]|0;
+ $4602 = $4601&255;
+ $4603 = 24 ^ $4602;
+ $4604 = (45248 + ($4603)|0);
+ $4605 = HEAP8[$4604>>0]|0;
+ $4606 = $4605&255;
+ $4607 = $2;
+ $4608 = ((($4607)) + 18|0);
+ $4609 = HEAP8[$4608>>0]|0;
+ $4610 = $4609&255;
+ $4611 = $4606 ^ $4610;
+ $4612 = (45248 + ($4611)|0);
+ $4613 = HEAP8[$4612>>0]|0;
+ $4614 = $4613&255;
+ $4615 = $2;
+ $4616 = ((($4615)) + 10|0);
+ $4617 = HEAP8[$4616>>0]|0;
+ $4618 = $4617&255;
+ $4619 = $4614 ^ $4618;
+ $4620 = (44992 + ($4619)|0);
+ $4621 = HEAP8[$4620>>0]|0;
+ $4622 = $4621&255;
+ $4623 = $2;
+ $4624 = ((($4623)) + 2|0);
+ $4625 = HEAP8[$4624>>0]|0;
+ $4626 = $4625&255;
+ $4627 = $4622 ^ $4626;
+ $4628 = ((10424) + ($4627<<2)|0);
+ $4629 = HEAP32[$4628>>2]|0;
+ $4630 = $4598 ^ $4629;
+ $4631 = $2;
+ $4632 = ((($4631)) + 27|0);
+ $4633 = HEAP8[$4632>>0]|0;
+ $4634 = $4633&255;
+ $4635 = 55 ^ $4634;
+ $4636 = (45248 + ($4635)|0);
+ $4637 = HEAP8[$4636>>0]|0;
+ $4638 = $4637&255;
+ $4639 = $2;
+ $4640 = ((($4639)) + 19|0);
+ $4641 = HEAP8[$4640>>0]|0;
+ $4642 = $4641&255;
+ $4643 = $4638 ^ $4642;
+ $4644 = (44992 + ($4643)|0);
+ $4645 = HEAP8[$4644>>0]|0;
+ $4646 = $4645&255;
+ $4647 = $2;
+ $4648 = ((($4647)) + 11|0);
+ $4649 = HEAP8[$4648>>0]|0;
+ $4650 = $4649&255;
+ $4651 = $4646 ^ $4650;
+ $4652 = (44992 + ($4651)|0);
+ $4653 = HEAP8[$4652>>0]|0;
+ $4654 = $4653&255;
+ $4655 = $2;
+ $4656 = ((($4655)) + 3|0);
+ $4657 = HEAP8[$4656>>0]|0;
+ $4658 = $4657&255;
+ $4659 = $4654 ^ $4658;
+ $4660 = ((11448) + ($4659<<2)|0);
+ $4661 = HEAP32[$4660>>2]|0;
+ $4662 = $4630 ^ $4661;
+ $x = $4662;
+ $4663 = $2;
+ $4664 = ((($4663)) + 28|0);
+ $4665 = HEAP8[$4664>>0]|0;
+ $4666 = $4665&255;
+ $4667 = 113 ^ $4666;
+ $4668 = (44992 + ($4667)|0);
+ $4669 = HEAP8[$4668>>0]|0;
+ $4670 = $4669&255;
+ $4671 = $2;
+ $4672 = ((($4671)) + 20|0);
+ $4673 = HEAP8[$4672>>0]|0;
+ $4674 = $4673&255;
+ $4675 = $4670 ^ $4674;
+ $4676 = (45248 + ($4675)|0);
+ $4677 = HEAP8[$4676>>0]|0;
+ $4678 = $4677&255;
+ $4679 = $2;
+ $4680 = ((($4679)) + 12|0);
+ $4681 = HEAP8[$4680>>0]|0;
+ $4682 = $4681&255;
+ $4683 = $4678 ^ $4682;
+ $4684 = (45248 + ($4683)|0);
+ $4685 = HEAP8[$4684>>0]|0;
+ $4686 = $4685&255;
+ $4687 = $2;
+ $4688 = ((($4687)) + 4|0);
+ $4689 = HEAP8[$4688>>0]|0;
+ $4690 = $4689&255;
+ $4691 = $4686 ^ $4690;
+ $4692 = (8376 + ($4691<<2)|0);
+ $4693 = HEAP32[$4692>>2]|0;
+ $4694 = $2;
+ $4695 = ((($4694)) + 29|0);
+ $4696 = HEAP8[$4695>>0]|0;
+ $4697 = $4696&255;
+ $4698 = 247 ^ $4697;
+ $4699 = (44992 + ($4698)|0);
+ $4700 = HEAP8[$4699>>0]|0;
+ $4701 = $4700&255;
+ $4702 = $2;
+ $4703 = ((($4702)) + 21|0);
+ $4704 = HEAP8[$4703>>0]|0;
+ $4705 = $4704&255;
+ $4706 = $4701 ^ $4705;
+ $4707 = (44992 + ($4706)|0);
+ $4708 = HEAP8[$4707>>0]|0;
+ $4709 = $4708&255;
+ $4710 = $2;
+ $4711 = ((($4710)) + 13|0);
+ $4712 = HEAP8[$4711>>0]|0;
+ $4713 = $4712&255;
+ $4714 = $4709 ^ $4713;
+ $4715 = (45248 + ($4714)|0);
+ $4716 = HEAP8[$4715>>0]|0;
+ $4717 = $4716&255;
+ $4718 = $2;
+ $4719 = ((($4718)) + 5|0);
+ $4720 = HEAP8[$4719>>0]|0;
+ $4721 = $4720&255;
+ $4722 = $4717 ^ $4721;
+ $4723 = ((9400) + ($4722<<2)|0);
+ $4724 = HEAP32[$4723>>2]|0;
+ $4725 = $4693 ^ $4724;
+ $4726 = $2;
+ $4727 = ((($4726)) + 30|0);
+ $4728 = HEAP8[$4727>>0]|0;
+ $4729 = $4728&255;
+ $4730 = 247 ^ $4729;
+ $4731 = (45248 + ($4730)|0);
+ $4732 = HEAP8[$4731>>0]|0;
+ $4733 = $4732&255;
+ $4734 = $2;
+ $4735 = ((($4734)) + 22|0);
+ $4736 = HEAP8[$4735>>0]|0;
+ $4737 = $4736&255;
+ $4738 = $4733 ^ $4737;
+ $4739 = (45248 + ($4738)|0);
+ $4740 = HEAP8[$4739>>0]|0;
+ $4741 = $4740&255;
+ $4742 = $2;
+ $4743 = ((($4742)) + 14|0);
+ $4744 = HEAP8[$4743>>0]|0;
+ $4745 = $4744&255;
+ $4746 = $4741 ^ $4745;
+ $4747 = (44992 + ($4746)|0);
+ $4748 = HEAP8[$4747>>0]|0;
+ $4749 = $4748&255;
+ $4750 = $2;
+ $4751 = ((($4750)) + 6|0);
+ $4752 = HEAP8[$4751>>0]|0;
+ $4753 = $4752&255;
+ $4754 = $4749 ^ $4753;
+ $4755 = ((10424) + ($4754<<2)|0);
+ $4756 = HEAP32[$4755>>2]|0;
+ $4757 = $4725 ^ $4756;
+ $4758 = $2;
+ $4759 = ((($4758)) + 31|0);
+ $4760 = HEAP8[$4759>>0]|0;
+ $4761 = $4760&255;
+ $4762 = 113 ^ $4761;
+ $4763 = (45248 + ($4762)|0);
+ $4764 = HEAP8[$4763>>0]|0;
+ $4765 = $4764&255;
+ $4766 = $2;
+ $4767 = ((($4766)) + 23|0);
+ $4768 = HEAP8[$4767>>0]|0;
+ $4769 = $4768&255;
+ $4770 = $4765 ^ $4769;
+ $4771 = (44992 + ($4770)|0);
+ $4772 = HEAP8[$4771>>0]|0;
+ $4773 = $4772&255;
+ $4774 = $2;
+ $4775 = ((($4774)) + 15|0);
+ $4776 = HEAP8[$4775>>0]|0;
+ $4777 = $4776&255;
+ $4778 = $4773 ^ $4777;
+ $4779 = (44992 + ($4778)|0);
+ $4780 = HEAP8[$4779>>0]|0;
+ $4781 = $4780&255;
+ $4782 = $2;
+ $4783 = ((($4782)) + 7|0);
+ $4784 = HEAP8[$4783>>0]|0;
+ $4785 = $4784&255;
+ $4786 = $4781 ^ $4785;
+ $4787 = ((11448) + ($4786<<2)|0);
+ $4788 = HEAP32[$4787>>2]|0;
+ $4789 = $4757 ^ $4788;
+ $y = $4789;
+ $4790 = $y;
+ $4791 = $4790 << 8;
+ $4792 = $y;
+ $4793 = $4792 >>> 24;
+ $4794 = (($4791) + ($4793))|0;
+ $y = $4794;
+ $4795 = $y;
+ $4796 = $x;
+ $4797 = (($4796) + ($4795))|0;
+ $x = $4797;
+ $4798 = $x;
+ $4799 = $y;
+ $4800 = (($4799) + ($4798))|0;
+ $y = $4800;
+ $4801 = $x;
+ $4802 = $1;
+ $4803 = ((($4802)) + 4128|0);
+ $4804 = ((($4803)) + 48|0);
+ HEAP32[$4804>>2] = $4801;
+ $4805 = $y;
+ $4806 = $4805 << 9;
+ $4807 = $y;
+ $4808 = $4807 >>> 23;
+ $4809 = (($4806) + ($4808))|0;
+ $4810 = $1;
+ $4811 = ((($4810)) + 4128|0);
+ $4812 = ((($4811)) + 52|0);
+ HEAP32[$4812>>2] = $4809;
+ $4813 = $2;
+ $4814 = ((($4813)) + 24|0);
+ $4815 = HEAP8[$4814>>0]|0;
+ $4816 = $4815&255;
+ $4817 = 241 ^ $4816;
+ $4818 = (44992 + ($4817)|0);
+ $4819 = HEAP8[$4818>>0]|0;
+ $4820 = $4819&255;
+ $4821 = $2;
+ $4822 = ((($4821)) + 16|0);
+ $4823 = HEAP8[$4822>>0]|0;
+ $4824 = $4823&255;
+ $4825 = $4820 ^ $4824;
+ $4826 = (45248 + ($4825)|0);
+ $4827 = HEAP8[$4826>>0]|0;
+ $4828 = $4827&255;
+ $4829 = $2;
+ $4830 = ((($4829)) + 8|0);
+ $4831 = HEAP8[$4830>>0]|0;
+ $4832 = $4831&255;
+ $4833 = $4828 ^ $4832;
+ $4834 = (45248 + ($4833)|0);
+ $4835 = HEAP8[$4834>>0]|0;
+ $4836 = $4835&255;
+ $4837 = $2;
+ $4838 = HEAP8[$4837>>0]|0;
+ $4839 = $4838&255;
+ $4840 = $4836 ^ $4839;
+ $4841 = (8376 + ($4840<<2)|0);
+ $4842 = HEAP32[$4841>>2]|0;
+ $4843 = $2;
+ $4844 = ((($4843)) + 25|0);
+ $4845 = HEAP8[$4844>>0]|0;
+ $4846 = $4845&255;
+ $4847 = 236 ^ $4846;
+ $4848 = (44992 + ($4847)|0);
+ $4849 = HEAP8[$4848>>0]|0;
+ $4850 = $4849&255;
+ $4851 = $2;
+ $4852 = ((($4851)) + 17|0);
+ $4853 = HEAP8[$4852>>0]|0;
+ $4854 = $4853&255;
+ $4855 = $4850 ^ $4854;
+ $4856 = (44992 + ($4855)|0);
+ $4857 = HEAP8[$4856>>0]|0;
+ $4858 = $4857&255;
+ $4859 = $2;
+ $4860 = ((($4859)) + 9|0);
+ $4861 = HEAP8[$4860>>0]|0;
+ $4862 = $4861&255;
+ $4863 = $4858 ^ $4862;
+ $4864 = (45248 + ($4863)|0);
+ $4865 = HEAP8[$4864>>0]|0;
+ $4866 = $4865&255;
+ $4867 = $2;
+ $4868 = ((($4867)) + 1|0);
+ $4869 = HEAP8[$4868>>0]|0;
+ $4870 = $4869&255;
+ $4871 = $4866 ^ $4870;
+ $4872 = ((9400) + ($4871<<2)|0);
+ $4873 = HEAP32[$4872>>2]|0;
+ $4874 = $4842 ^ $4873;
+ $4875 = $2;
+ $4876 = ((($4875)) + 26|0);
+ $4877 = HEAP8[$4876>>0]|0;
+ $4878 = $4877&255;
+ $4879 = 236 ^ $4878;
+ $4880 = (45248 + ($4879)|0);
+ $4881 = HEAP8[$4880>>0]|0;
+ $4882 = $4881&255;
+ $4883 = $2;
+ $4884 = ((($4883)) + 18|0);
+ $4885 = HEAP8[$4884>>0]|0;
+ $4886 = $4885&255;
+ $4887 = $4882 ^ $4886;
+ $4888 = (45248 + ($4887)|0);
+ $4889 = HEAP8[$4888>>0]|0;
+ $4890 = $4889&255;
+ $4891 = $2;
+ $4892 = ((($4891)) + 10|0);
+ $4893 = HEAP8[$4892>>0]|0;
+ $4894 = $4893&255;
+ $4895 = $4890 ^ $4894;
+ $4896 = (44992 + ($4895)|0);
+ $4897 = HEAP8[$4896>>0]|0;
+ $4898 = $4897&255;
+ $4899 = $2;
+ $4900 = ((($4899)) + 2|0);
+ $4901 = HEAP8[$4900>>0]|0;
+ $4902 = $4901&255;
+ $4903 = $4898 ^ $4902;
+ $4904 = ((10424) + ($4903<<2)|0);
+ $4905 = HEAP32[$4904>>2]|0;
+ $4906 = $4874 ^ $4905;
+ $4907 = $2;
+ $4908 = ((($4907)) + 27|0);
+ $4909 = HEAP8[$4908>>0]|0;
+ $4910 = $4909&255;
+ $4911 = 241 ^ $4910;
+ $4912 = (45248 + ($4911)|0);
+ $4913 = HEAP8[$4912>>0]|0;
+ $4914 = $4913&255;
+ $4915 = $2;
+ $4916 = ((($4915)) + 19|0);
+ $4917 = HEAP8[$4916>>0]|0;
+ $4918 = $4917&255;
+ $4919 = $4914 ^ $4918;
+ $4920 = (44992 + ($4919)|0);
+ $4921 = HEAP8[$4920>>0]|0;
+ $4922 = $4921&255;
+ $4923 = $2;
+ $4924 = ((($4923)) + 11|0);
+ $4925 = HEAP8[$4924>>0]|0;
+ $4926 = $4925&255;
+ $4927 = $4922 ^ $4926;
+ $4928 = (44992 + ($4927)|0);
+ $4929 = HEAP8[$4928>>0]|0;
+ $4930 = $4929&255;
+ $4931 = $2;
+ $4932 = ((($4931)) + 3|0);
+ $4933 = HEAP8[$4932>>0]|0;
+ $4934 = $4933&255;
+ $4935 = $4930 ^ $4934;
+ $4936 = ((11448) + ($4935<<2)|0);
+ $4937 = HEAP32[$4936>>2]|0;
+ $4938 = $4906 ^ $4937;
+ $x = $4938;
+ $4939 = $2;
+ $4940 = ((($4939)) + 28|0);
+ $4941 = HEAP8[$4940>>0]|0;
+ $4942 = $4941&255;
+ $4943 = 225 ^ $4942;
+ $4944 = (44992 + ($4943)|0);
+ $4945 = HEAP8[$4944>>0]|0;
+ $4946 = $4945&255;
+ $4947 = $2;
+ $4948 = ((($4947)) + 20|0);
+ $4949 = HEAP8[$4948>>0]|0;
+ $4950 = $4949&255;
+ $4951 = $4946 ^ $4950;
+ $4952 = (45248 + ($4951)|0);
+ $4953 = HEAP8[$4952>>0]|0;
+ $4954 = $4953&255;
+ $4955 = $2;
+ $4956 = ((($4955)) + 12|0);
+ $4957 = HEAP8[$4956>>0]|0;
+ $4958 = $4957&255;
+ $4959 = $4954 ^ $4958;
+ $4960 = (45248 + ($4959)|0);
+ $4961 = HEAP8[$4960>>0]|0;
+ $4962 = $4961&255;
+ $4963 = $2;
+ $4964 = ((($4963)) + 4|0);
+ $4965 = HEAP8[$4964>>0]|0;
+ $4966 = $4965&255;
+ $4967 = $4962 ^ $4966;
+ $4968 = (8376 + ($4967<<2)|0);
+ $4969 = HEAP32[$4968>>2]|0;
+ $4970 = $2;
+ $4971 = ((($4970)) + 29|0);
+ $4972 = HEAP8[$4971>>0]|0;
+ $4973 = $4972&255;
+ $4974 = 108 ^ $4973;
+ $4975 = (44992 + ($4974)|0);
+ $4976 = HEAP8[$4975>>0]|0;
+ $4977 = $4976&255;
+ $4978 = $2;
+ $4979 = ((($4978)) + 21|0);
+ $4980 = HEAP8[$4979>>0]|0;
+ $4981 = $4980&255;
+ $4982 = $4977 ^ $4981;
+ $4983 = (44992 + ($4982)|0);
+ $4984 = HEAP8[$4983>>0]|0;
+ $4985 = $4984&255;
+ $4986 = $2;
+ $4987 = ((($4986)) + 13|0);
+ $4988 = HEAP8[$4987>>0]|0;
+ $4989 = $4988&255;
+ $4990 = $4985 ^ $4989;
+ $4991 = (45248 + ($4990)|0);
+ $4992 = HEAP8[$4991>>0]|0;
+ $4993 = $4992&255;
+ $4994 = $2;
+ $4995 = ((($4994)) + 5|0);
+ $4996 = HEAP8[$4995>>0]|0;
+ $4997 = $4996&255;
+ $4998 = $4993 ^ $4997;
+ $4999 = ((9400) + ($4998<<2)|0);
+ $5000 = HEAP32[$4999>>2]|0;
+ $5001 = $4969 ^ $5000;
+ $5002 = $2;
+ $5003 = ((($5002)) + 30|0);
+ $5004 = HEAP8[$5003>>0]|0;
+ $5005 = $5004&255;
+ $5006 = 108 ^ $5005;
+ $5007 = (45248 + ($5006)|0);
+ $5008 = HEAP8[$5007>>0]|0;
+ $5009 = $5008&255;
+ $5010 = $2;
+ $5011 = ((($5010)) + 22|0);
+ $5012 = HEAP8[$5011>>0]|0;
+ $5013 = $5012&255;
+ $5014 = $5009 ^ $5013;
+ $5015 = (45248 + ($5014)|0);
+ $5016 = HEAP8[$5015>>0]|0;
+ $5017 = $5016&255;
+ $5018 = $2;
+ $5019 = ((($5018)) + 14|0);
+ $5020 = HEAP8[$5019>>0]|0;
+ $5021 = $5020&255;
+ $5022 = $5017 ^ $5021;
+ $5023 = (44992 + ($5022)|0);
+ $5024 = HEAP8[$5023>>0]|0;
+ $5025 = $5024&255;
+ $5026 = $2;
+ $5027 = ((($5026)) + 6|0);
+ $5028 = HEAP8[$5027>>0]|0;
+ $5029 = $5028&255;
+ $5030 = $5025 ^ $5029;
+ $5031 = ((10424) + ($5030<<2)|0);
+ $5032 = HEAP32[$5031>>2]|0;
+ $5033 = $5001 ^ $5032;
+ $5034 = $2;
+ $5035 = ((($5034)) + 31|0);
+ $5036 = HEAP8[$5035>>0]|0;
+ $5037 = $5036&255;
+ $5038 = 225 ^ $5037;
+ $5039 = (45248 + ($5038)|0);
+ $5040 = HEAP8[$5039>>0]|0;
+ $5041 = $5040&255;
+ $5042 = $2;
+ $5043 = ((($5042)) + 23|0);
+ $5044 = HEAP8[$5043>>0]|0;
+ $5045 = $5044&255;
+ $5046 = $5041 ^ $5045;
+ $5047 = (44992 + ($5046)|0);
+ $5048 = HEAP8[$5047>>0]|0;
+ $5049 = $5048&255;
+ $5050 = $2;
+ $5051 = ((($5050)) + 15|0);
+ $5052 = HEAP8[$5051>>0]|0;
+ $5053 = $5052&255;
+ $5054 = $5049 ^ $5053;
+ $5055 = (44992 + ($5054)|0);
+ $5056 = HEAP8[$5055>>0]|0;
+ $5057 = $5056&255;
+ $5058 = $2;
+ $5059 = ((($5058)) + 7|0);
+ $5060 = HEAP8[$5059>>0]|0;
+ $5061 = $5060&255;
+ $5062 = $5057 ^ $5061;
+ $5063 = ((11448) + ($5062<<2)|0);
+ $5064 = HEAP32[$5063>>2]|0;
+ $5065 = $5033 ^ $5064;
+ $y = $5065;
+ $5066 = $y;
+ $5067 = $5066 << 8;
+ $5068 = $y;
+ $5069 = $5068 >>> 24;
+ $5070 = (($5067) + ($5069))|0;
+ $y = $5070;
+ $5071 = $y;
+ $5072 = $x;
+ $5073 = (($5072) + ($5071))|0;
+ $x = $5073;
+ $5074 = $x;
+ $5075 = $y;
+ $5076 = (($5075) + ($5074))|0;
+ $y = $5076;
+ $5077 = $x;
+ $5078 = $1;
+ $5079 = ((($5078)) + 4128|0);
+ $5080 = ((($5079)) + 56|0);
+ HEAP32[$5080>>2] = $5077;
+ $5081 = $y;
+ $5082 = $5081 << 9;
+ $5083 = $y;
+ $5084 = $5083 >>> 23;
+ $5085 = (($5082) + ($5084))|0;
+ $5086 = $1;
+ $5087 = ((($5086)) + 4128|0);
+ $5088 = ((($5087)) + 60|0);
+ HEAP32[$5088>>2] = $5085;
+ $5089 = $2;
+ $5090 = ((($5089)) + 24|0);
+ $5091 = HEAP8[$5090>>0]|0;
+ $5092 = $5091&255;
+ $5093 = 48 ^ $5092;
+ $5094 = (44992 + ($5093)|0);
+ $5095 = HEAP8[$5094>>0]|0;
+ $5096 = $5095&255;
+ $5097 = $2;
+ $5098 = ((($5097)) + 16|0);
+ $5099 = HEAP8[$5098>>0]|0;
+ $5100 = $5099&255;
+ $5101 = $5096 ^ $5100;
+ $5102 = (45248 + ($5101)|0);
+ $5103 = HEAP8[$5102>>0]|0;
+ $5104 = $5103&255;
+ $5105 = $2;
+ $5106 = ((($5105)) + 8|0);
+ $5107 = HEAP8[$5106>>0]|0;
+ $5108 = $5107&255;
+ $5109 = $5104 ^ $5108;
+ $5110 = (45248 + ($5109)|0);
+ $5111 = HEAP8[$5110>>0]|0;
+ $5112 = $5111&255;
+ $5113 = $2;
+ $5114 = HEAP8[$5113>>0]|0;
+ $5115 = $5114&255;
+ $5116 = $5112 ^ $5115;
+ $5117 = (8376 + ($5116<<2)|0);
+ $5118 = HEAP32[$5117>>2]|0;
+ $5119 = $2;
+ $5120 = ((($5119)) + 25|0);
+ $5121 = HEAP8[$5120>>0]|0;
+ $5122 = $5121&255;
+ $5123 = 67 ^ $5122;
+ $5124 = (44992 + ($5123)|0);
+ $5125 = HEAP8[$5124>>0]|0;
+ $5126 = $5125&255;
+ $5127 = $2;
+ $5128 = ((($5127)) + 17|0);
+ $5129 = HEAP8[$5128>>0]|0;
+ $5130 = $5129&255;
+ $5131 = $5126 ^ $5130;
+ $5132 = (44992 + ($5131)|0);
+ $5133 = HEAP8[$5132>>0]|0;
+ $5134 = $5133&255;
+ $5135 = $2;
+ $5136 = ((($5135)) + 9|0);
+ $5137 = HEAP8[$5136>>0]|0;
+ $5138 = $5137&255;
+ $5139 = $5134 ^ $5138;
+ $5140 = (45248 + ($5139)|0);
+ $5141 = HEAP8[$5140>>0]|0;
+ $5142 = $5141&255;
+ $5143 = $2;
+ $5144 = ((($5143)) + 1|0);
+ $5145 = HEAP8[$5144>>0]|0;
+ $5146 = $5145&255;
+ $5147 = $5142 ^ $5146;
+ $5148 = ((9400) + ($5147<<2)|0);
+ $5149 = HEAP32[$5148>>2]|0;
+ $5150 = $5118 ^ $5149;
+ $5151 = $2;
+ $5152 = ((($5151)) + 26|0);
+ $5153 = HEAP8[$5152>>0]|0;
+ $5154 = $5153&255;
+ $5155 = 67 ^ $5154;
+ $5156 = (45248 + ($5155)|0);
+ $5157 = HEAP8[$5156>>0]|0;
+ $5158 = $5157&255;
+ $5159 = $2;
+ $5160 = ((($5159)) + 18|0);
+ $5161 = HEAP8[$5160>>0]|0;
+ $5162 = $5161&255;
+ $5163 = $5158 ^ $5162;
+ $5164 = (45248 + ($5163)|0);
+ $5165 = HEAP8[$5164>>0]|0;
+ $5166 = $5165&255;
+ $5167 = $2;
+ $5168 = ((($5167)) + 10|0);
+ $5169 = HEAP8[$5168>>0]|0;
+ $5170 = $5169&255;
+ $5171 = $5166 ^ $5170;
+ $5172 = (44992 + ($5171)|0);
+ $5173 = HEAP8[$5172>>0]|0;
+ $5174 = $5173&255;
+ $5175 = $2;
+ $5176 = ((($5175)) + 2|0);
+ $5177 = HEAP8[$5176>>0]|0;
+ $5178 = $5177&255;
+ $5179 = $5174 ^ $5178;
+ $5180 = ((10424) + ($5179<<2)|0);
+ $5181 = HEAP32[$5180>>2]|0;
+ $5182 = $5150 ^ $5181;
+ $5183 = $2;
+ $5184 = ((($5183)) + 27|0);
+ $5185 = HEAP8[$5184>>0]|0;
+ $5186 = $5185&255;
+ $5187 = 48 ^ $5186;
+ $5188 = (45248 + ($5187)|0);
+ $5189 = HEAP8[$5188>>0]|0;
+ $5190 = $5189&255;
+ $5191 = $2;
+ $5192 = ((($5191)) + 19|0);
+ $5193 = HEAP8[$5192>>0]|0;
+ $5194 = $5193&255;
+ $5195 = $5190 ^ $5194;
+ $5196 = (44992 + ($5195)|0);
+ $5197 = HEAP8[$5196>>0]|0;
+ $5198 = $5197&255;
+ $5199 = $2;
+ $5200 = ((($5199)) + 11|0);
+ $5201 = HEAP8[$5200>>0]|0;
+ $5202 = $5201&255;
+ $5203 = $5198 ^ $5202;
+ $5204 = (44992 + ($5203)|0);
+ $5205 = HEAP8[$5204>>0]|0;
+ $5206 = $5205&255;
+ $5207 = $2;
+ $5208 = ((($5207)) + 3|0);
+ $5209 = HEAP8[$5208>>0]|0;
+ $5210 = $5209&255;
+ $5211 = $5206 ^ $5210;
+ $5212 = ((11448) + ($5211<<2)|0);
+ $5213 = HEAP32[$5212>>2]|0;
+ $5214 = $5182 ^ $5213;
+ $x = $5214;
+ $5215 = $2;
+ $5216 = ((($5215)) + 28|0);
+ $5217 = HEAP8[$5216>>0]|0;
+ $5218 = $5217&255;
+ $5219 = 15 ^ $5218;
+ $5220 = (44992 + ($5219)|0);
+ $5221 = HEAP8[$5220>>0]|0;
+ $5222 = $5221&255;
+ $5223 = $2;
+ $5224 = ((($5223)) + 20|0);
+ $5225 = HEAP8[$5224>>0]|0;
+ $5226 = $5225&255;
+ $5227 = $5222 ^ $5226;
+ $5228 = (45248 + ($5227)|0);
+ $5229 = HEAP8[$5228>>0]|0;
+ $5230 = $5229&255;
+ $5231 = $2;
+ $5232 = ((($5231)) + 12|0);
+ $5233 = HEAP8[$5232>>0]|0;
+ $5234 = $5233&255;
+ $5235 = $5230 ^ $5234;
+ $5236 = (45248 + ($5235)|0);
+ $5237 = HEAP8[$5236>>0]|0;
+ $5238 = $5237&255;
+ $5239 = $2;
+ $5240 = ((($5239)) + 4|0);
+ $5241 = HEAP8[$5240>>0]|0;
+ $5242 = $5241&255;
+ $5243 = $5238 ^ $5242;
+ $5244 = (8376 + ($5243<<2)|0);
+ $5245 = HEAP32[$5244>>2]|0;
+ $5246 = $2;
+ $5247 = ((($5246)) + 29|0);
+ $5248 = HEAP8[$5247>>0]|0;
+ $5249 = $5248&255;
+ $5250 = 117 ^ $5249;
+ $5251 = (44992 + ($5250)|0);
+ $5252 = HEAP8[$5251>>0]|0;
+ $5253 = $5252&255;
+ $5254 = $2;
+ $5255 = ((($5254)) + 21|0);
+ $5256 = HEAP8[$5255>>0]|0;
+ $5257 = $5256&255;
+ $5258 = $5253 ^ $5257;
+ $5259 = (44992 + ($5258)|0);
+ $5260 = HEAP8[$5259>>0]|0;
+ $5261 = $5260&255;
+ $5262 = $2;
+ $5263 = ((($5262)) + 13|0);
+ $5264 = HEAP8[$5263>>0]|0;
+ $5265 = $5264&255;
+ $5266 = $5261 ^ $5265;
+ $5267 = (45248 + ($5266)|0);
+ $5268 = HEAP8[$5267>>0]|0;
+ $5269 = $5268&255;
+ $5270 = $2;
+ $5271 = ((($5270)) + 5|0);
+ $5272 = HEAP8[$5271>>0]|0;
+ $5273 = $5272&255;
+ $5274 = $5269 ^ $5273;
+ $5275 = ((9400) + ($5274<<2)|0);
+ $5276 = HEAP32[$5275>>2]|0;
+ $5277 = $5245 ^ $5276;
+ $5278 = $2;
+ $5279 = ((($5278)) + 30|0);
+ $5280 = HEAP8[$5279>>0]|0;
+ $5281 = $5280&255;
+ $5282 = 117 ^ $5281;
+ $5283 = (45248 + ($5282)|0);
+ $5284 = HEAP8[$5283>>0]|0;
+ $5285 = $5284&255;
+ $5286 = $2;
+ $5287 = ((($5286)) + 22|0);
+ $5288 = HEAP8[$5287>>0]|0;
+ $5289 = $5288&255;
+ $5290 = $5285 ^ $5289;
+ $5291 = (45248 + ($5290)|0);
+ $5292 = HEAP8[$5291>>0]|0;
+ $5293 = $5292&255;
+ $5294 = $2;
+ $5295 = ((($5294)) + 14|0);
+ $5296 = HEAP8[$5295>>0]|0;
+ $5297 = $5296&255;
+ $5298 = $5293 ^ $5297;
+ $5299 = (44992 + ($5298)|0);
+ $5300 = HEAP8[$5299>>0]|0;
+ $5301 = $5300&255;
+ $5302 = $2;
+ $5303 = ((($5302)) + 6|0);
+ $5304 = HEAP8[$5303>>0]|0;
+ $5305 = $5304&255;
+ $5306 = $5301 ^ $5305;
+ $5307 = ((10424) + ($5306<<2)|0);
+ $5308 = HEAP32[$5307>>2]|0;
+ $5309 = $5277 ^ $5308;
+ $5310 = $2;
+ $5311 = ((($5310)) + 31|0);
+ $5312 = HEAP8[$5311>>0]|0;
+ $5313 = $5312&255;
+ $5314 = 15 ^ $5313;
+ $5315 = (45248 + ($5314)|0);
+ $5316 = HEAP8[$5315>>0]|0;
+ $5317 = $5316&255;
+ $5318 = $2;
+ $5319 = ((($5318)) + 23|0);
+ $5320 = HEAP8[$5319>>0]|0;
+ $5321 = $5320&255;
+ $5322 = $5317 ^ $5321;
+ $5323 = (44992 + ($5322)|0);
+ $5324 = HEAP8[$5323>>0]|0;
+ $5325 = $5324&255;
+ $5326 = $2;
+ $5327 = ((($5326)) + 15|0);
+ $5328 = HEAP8[$5327>>0]|0;
+ $5329 = $5328&255;
+ $5330 = $5325 ^ $5329;
+ $5331 = (44992 + ($5330)|0);
+ $5332 = HEAP8[$5331>>0]|0;
+ $5333 = $5332&255;
+ $5334 = $2;
+ $5335 = ((($5334)) + 7|0);
+ $5336 = HEAP8[$5335>>0]|0;
+ $5337 = $5336&255;
+ $5338 = $5333 ^ $5337;
+ $5339 = ((11448) + ($5338<<2)|0);
+ $5340 = HEAP32[$5339>>2]|0;
+ $5341 = $5309 ^ $5340;
+ $y = $5341;
+ $5342 = $y;
+ $5343 = $5342 << 8;
+ $5344 = $y;
+ $5345 = $5344 >>> 24;
+ $5346 = (($5343) + ($5345))|0;
+ $y = $5346;
+ $5347 = $y;
+ $5348 = $x;
+ $5349 = (($5348) + ($5347))|0;
+ $x = $5349;
+ $5350 = $x;
+ $5351 = $y;
+ $5352 = (($5351) + ($5350))|0;
+ $y = $5352;
+ $5353 = $x;
+ $5354 = $1;
+ $5355 = ((($5354)) + 4128|0);
+ $5356 = ((($5355)) + 64|0);
+ HEAP32[$5356>>2] = $5353;
+ $5357 = $y;
+ $5358 = $5357 << 9;
+ $5359 = $y;
+ $5360 = $5359 >>> 23;
+ $5361 = (($5358) + ($5360))|0;
+ $5362 = $1;
+ $5363 = ((($5362)) + 4128|0);
+ $5364 = ((($5363)) + 68|0);
+ HEAP32[$5364>>2] = $5361;
+ $5365 = $2;
+ $5366 = ((($5365)) + 24|0);
+ $5367 = HEAP8[$5366>>0]|0;
+ $5368 = $5367&255;
+ $5369 = 248 ^ $5368;
+ $5370 = (44992 + ($5369)|0);
+ $5371 = HEAP8[$5370>>0]|0;
+ $5372 = $5371&255;
+ $5373 = $2;
+ $5374 = ((($5373)) + 16|0);
+ $5375 = HEAP8[$5374>>0]|0;
+ $5376 = $5375&255;
+ $5377 = $5372 ^ $5376;
+ $5378 = (45248 + ($5377)|0);
+ $5379 = HEAP8[$5378>>0]|0;
+ $5380 = $5379&255;
+ $5381 = $2;
+ $5382 = ((($5381)) + 8|0);
+ $5383 = HEAP8[$5382>>0]|0;
+ $5384 = $5383&255;
+ $5385 = $5380 ^ $5384;
+ $5386 = (45248 + ($5385)|0);
+ $5387 = HEAP8[$5386>>0]|0;
+ $5388 = $5387&255;
+ $5389 = $2;
+ $5390 = HEAP8[$5389>>0]|0;
+ $5391 = $5390&255;
+ $5392 = $5388 ^ $5391;
+ $5393 = (8376 + ($5392<<2)|0);
+ $5394 = HEAP32[$5393>>2]|0;
+ $5395 = $2;
+ $5396 = ((($5395)) + 25|0);
+ $5397 = HEAP8[$5396>>0]|0;
+ $5398 = $5397&255;
+ $5399 = 55 ^ $5398;
+ $5400 = (44992 + ($5399)|0);
+ $5401 = HEAP8[$5400>>0]|0;
+ $5402 = $5401&255;
+ $5403 = $2;
+ $5404 = ((($5403)) + 17|0);
+ $5405 = HEAP8[$5404>>0]|0;
+ $5406 = $5405&255;
+ $5407 = $5402 ^ $5406;
+ $5408 = (44992 + ($5407)|0);
+ $5409 = HEAP8[$5408>>0]|0;
+ $5410 = $5409&255;
+ $5411 = $2;
+ $5412 = ((($5411)) + 9|0);
+ $5413 = HEAP8[$5412>>0]|0;
+ $5414 = $5413&255;
+ $5415 = $5410 ^ $5414;
+ $5416 = (45248 + ($5415)|0);
+ $5417 = HEAP8[$5416>>0]|0;
+ $5418 = $5417&255;
+ $5419 = $2;
+ $5420 = ((($5419)) + 1|0);
+ $5421 = HEAP8[$5420>>0]|0;
+ $5422 = $5421&255;
+ $5423 = $5418 ^ $5422;
+ $5424 = ((9400) + ($5423<<2)|0);
+ $5425 = HEAP32[$5424>>2]|0;
+ $5426 = $5394 ^ $5425;
+ $5427 = $2;
+ $5428 = ((($5427)) + 26|0);
+ $5429 = HEAP8[$5428>>0]|0;
+ $5430 = $5429&255;
+ $5431 = 55 ^ $5430;
+ $5432 = (45248 + ($5431)|0);
+ $5433 = HEAP8[$5432>>0]|0;
+ $5434 = $5433&255;
+ $5435 = $2;
+ $5436 = ((($5435)) + 18|0);
+ $5437 = HEAP8[$5436>>0]|0;
+ $5438 = $5437&255;
+ $5439 = $5434 ^ $5438;
+ $5440 = (45248 + ($5439)|0);
+ $5441 = HEAP8[$5440>>0]|0;
+ $5442 = $5441&255;
+ $5443 = $2;
+ $5444 = ((($5443)) + 10|0);
+ $5445 = HEAP8[$5444>>0]|0;
+ $5446 = $5445&255;
+ $5447 = $5442 ^ $5446;
+ $5448 = (44992 + ($5447)|0);
+ $5449 = HEAP8[$5448>>0]|0;
+ $5450 = $5449&255;
+ $5451 = $2;
+ $5452 = ((($5451)) + 2|0);
+ $5453 = HEAP8[$5452>>0]|0;
+ $5454 = $5453&255;
+ $5455 = $5450 ^ $5454;
+ $5456 = ((10424) + ($5455<<2)|0);
+ $5457 = HEAP32[$5456>>2]|0;
+ $5458 = $5426 ^ $5457;
+ $5459 = $2;
+ $5460 = ((($5459)) + 27|0);
+ $5461 = HEAP8[$5460>>0]|0;
+ $5462 = $5461&255;
+ $5463 = 248 ^ $5462;
+ $5464 = (45248 + ($5463)|0);
+ $5465 = HEAP8[$5464>>0]|0;
+ $5466 = $5465&255;
+ $5467 = $2;
+ $5468 = ((($5467)) + 19|0);
+ $5469 = HEAP8[$5468>>0]|0;
+ $5470 = $5469&255;
+ $5471 = $5466 ^ $5470;
+ $5472 = (44992 + ($5471)|0);
+ $5473 = HEAP8[$5472>>0]|0;
+ $5474 = $5473&255;
+ $5475 = $2;
+ $5476 = ((($5475)) + 11|0);
+ $5477 = HEAP8[$5476>>0]|0;
+ $5478 = $5477&255;
+ $5479 = $5474 ^ $5478;
+ $5480 = (44992 + ($5479)|0);
+ $5481 = HEAP8[$5480>>0]|0;
+ $5482 = $5481&255;
+ $5483 = $2;
+ $5484 = ((($5483)) + 3|0);
+ $5485 = HEAP8[$5484>>0]|0;
+ $5486 = $5485&255;
+ $5487 = $5482 ^ $5486;
+ $5488 = ((11448) + ($5487<<2)|0);
+ $5489 = HEAP32[$5488>>2]|0;
+ $5490 = $5458 ^ $5489;
+ $x = $5490;
+ $5491 = $2;
+ $5492 = ((($5491)) + 28|0);
+ $5493 = HEAP8[$5492>>0]|0;
+ $5494 = $5493&255;
+ $5495 = 27 ^ $5494;
+ $5496 = (44992 + ($5495)|0);
+ $5497 = HEAP8[$5496>>0]|0;
+ $5498 = $5497&255;
+ $5499 = $2;
+ $5500 = ((($5499)) + 20|0);
+ $5501 = HEAP8[$5500>>0]|0;
+ $5502 = $5501&255;
+ $5503 = $5498 ^ $5502;
+ $5504 = (45248 + ($5503)|0);
+ $5505 = HEAP8[$5504>>0]|0;
+ $5506 = $5505&255;
+ $5507 = $2;
+ $5508 = ((($5507)) + 12|0);
+ $5509 = HEAP8[$5508>>0]|0;
+ $5510 = $5509&255;
+ $5511 = $5506 ^ $5510;
+ $5512 = (45248 + ($5511)|0);
+ $5513 = HEAP8[$5512>>0]|0;
+ $5514 = $5513&255;
+ $5515 = $2;
+ $5516 = ((($5515)) + 4|0);
+ $5517 = HEAP8[$5516>>0]|0;
+ $5518 = $5517&255;
+ $5519 = $5514 ^ $5518;
+ $5520 = (8376 + ($5519<<2)|0);
+ $5521 = HEAP32[$5520>>2]|0;
+ $5522 = $2;
+ $5523 = ((($5522)) + 29|0);
+ $5524 = HEAP8[$5523>>0]|0;
+ $5525 = $5524&255;
+ $5526 = 38 ^ $5525;
+ $5527 = (44992 + ($5526)|0);
+ $5528 = HEAP8[$5527>>0]|0;
+ $5529 = $5528&255;
+ $5530 = $2;
+ $5531 = ((($5530)) + 21|0);
+ $5532 = HEAP8[$5531>>0]|0;
+ $5533 = $5532&255;
+ $5534 = $5529 ^ $5533;
+ $5535 = (44992 + ($5534)|0);
+ $5536 = HEAP8[$5535>>0]|0;
+ $5537 = $5536&255;
+ $5538 = $2;
+ $5539 = ((($5538)) + 13|0);
+ $5540 = HEAP8[$5539>>0]|0;
+ $5541 = $5540&255;
+ $5542 = $5537 ^ $5541;
+ $5543 = (45248 + ($5542)|0);
+ $5544 = HEAP8[$5543>>0]|0;
+ $5545 = $5544&255;
+ $5546 = $2;
+ $5547 = ((($5546)) + 5|0);
+ $5548 = HEAP8[$5547>>0]|0;
+ $5549 = $5548&255;
+ $5550 = $5545 ^ $5549;
+ $5551 = ((9400) + ($5550<<2)|0);
+ $5552 = HEAP32[$5551>>2]|0;
+ $5553 = $5521 ^ $5552;
+ $5554 = $2;
+ $5555 = ((($5554)) + 30|0);
+ $5556 = HEAP8[$5555>>0]|0;
+ $5557 = $5556&255;
+ $5558 = 38 ^ $5557;
+ $5559 = (45248 + ($5558)|0);
+ $5560 = HEAP8[$5559>>0]|0;
+ $5561 = $5560&255;
+ $5562 = $2;
+ $5563 = ((($5562)) + 22|0);
+ $5564 = HEAP8[$5563>>0]|0;
+ $5565 = $5564&255;
+ $5566 = $5561 ^ $5565;
+ $5567 = (45248 + ($5566)|0);
+ $5568 = HEAP8[$5567>>0]|0;
+ $5569 = $5568&255;
+ $5570 = $2;
+ $5571 = ((($5570)) + 14|0);
+ $5572 = HEAP8[$5571>>0]|0;
+ $5573 = $5572&255;
+ $5574 = $5569 ^ $5573;
+ $5575 = (44992 + ($5574)|0);
+ $5576 = HEAP8[$5575>>0]|0;
+ $5577 = $5576&255;
+ $5578 = $2;
+ $5579 = ((($5578)) + 6|0);
+ $5580 = HEAP8[$5579>>0]|0;
+ $5581 = $5580&255;
+ $5582 = $5577 ^ $5581;
+ $5583 = ((10424) + ($5582<<2)|0);
+ $5584 = HEAP32[$5583>>2]|0;
+ $5585 = $5553 ^ $5584;
+ $5586 = $2;
+ $5587 = ((($5586)) + 31|0);
+ $5588 = HEAP8[$5587>>0]|0;
+ $5589 = $5588&255;
+ $5590 = 27 ^ $5589;
+ $5591 = (45248 + ($5590)|0);
+ $5592 = HEAP8[$5591>>0]|0;
+ $5593 = $5592&255;
+ $5594 = $2;
+ $5595 = ((($5594)) + 23|0);
+ $5596 = HEAP8[$5595>>0]|0;
+ $5597 = $5596&255;
+ $5598 = $5593 ^ $5597;
+ $5599 = (44992 + ($5598)|0);
+ $5600 = HEAP8[$5599>>0]|0;
+ $5601 = $5600&255;
+ $5602 = $2;
+ $5603 = ((($5602)) + 15|0);
+ $5604 = HEAP8[$5603>>0]|0;
+ $5605 = $5604&255;
+ $5606 = $5601 ^ $5605;
+ $5607 = (44992 + ($5606)|0);
+ $5608 = HEAP8[$5607>>0]|0;
+ $5609 = $5608&255;
+ $5610 = $2;
+ $5611 = ((($5610)) + 7|0);
+ $5612 = HEAP8[$5611>>0]|0;
+ $5613 = $5612&255;
+ $5614 = $5609 ^ $5613;
+ $5615 = ((11448) + ($5614<<2)|0);
+ $5616 = HEAP32[$5615>>2]|0;
+ $5617 = $5585 ^ $5616;
+ $y = $5617;
+ $5618 = $y;
+ $5619 = $5618 << 8;
+ $5620 = $y;
+ $5621 = $5620 >>> 24;
+ $5622 = (($5619) + ($5621))|0;
+ $y = $5622;
+ $5623 = $y;
+ $5624 = $x;
+ $5625 = (($5624) + ($5623))|0;
+ $x = $5625;
+ $5626 = $x;
+ $5627 = $y;
+ $5628 = (($5627) + ($5626))|0;
+ $y = $5628;
+ $5629 = $x;
+ $5630 = $1;
+ $5631 = ((($5630)) + 4128|0);
+ $5632 = ((($5631)) + 72|0);
+ HEAP32[$5632>>2] = $5629;
+ $5633 = $y;
+ $5634 = $5633 << 9;
+ $5635 = $y;
+ $5636 = $5635 >>> 23;
+ $5637 = (($5634) + ($5636))|0;
+ $5638 = $1;
+ $5639 = ((($5638)) + 4128|0);
+ $5640 = ((($5639)) + 76|0);
+ HEAP32[$5640>>2] = $5637;
+ $5641 = $2;
+ $5642 = ((($5641)) + 24|0);
+ $5643 = HEAP8[$5642>>0]|0;
+ $5644 = $5643&255;
+ $5645 = 135 ^ $5644;
+ $5646 = (44992 + ($5645)|0);
+ $5647 = HEAP8[$5646>>0]|0;
+ $5648 = $5647&255;
+ $5649 = $2;
+ $5650 = ((($5649)) + 16|0);
+ $5651 = HEAP8[$5650>>0]|0;
+ $5652 = $5651&255;
+ $5653 = $5648 ^ $5652;
+ $5654 = (45248 + ($5653)|0);
+ $5655 = HEAP8[$5654>>0]|0;
+ $5656 = $5655&255;
+ $5657 = $2;
+ $5658 = ((($5657)) + 8|0);
+ $5659 = HEAP8[$5658>>0]|0;
+ $5660 = $5659&255;
+ $5661 = $5656 ^ $5660;
+ $5662 = (45248 + ($5661)|0);
+ $5663 = HEAP8[$5662>>0]|0;
+ $5664 = $5663&255;
+ $5665 = $2;
+ $5666 = HEAP8[$5665>>0]|0;
+ $5667 = $5666&255;
+ $5668 = $5664 ^ $5667;
+ $5669 = (8376 + ($5668<<2)|0);
+ $5670 = HEAP32[$5669>>2]|0;
+ $5671 = $2;
+ $5672 = ((($5671)) + 25|0);
+ $5673 = HEAP8[$5672>>0]|0;
+ $5674 = $5673&255;
+ $5675 = 250 ^ $5674;
+ $5676 = (44992 + ($5675)|0);
+ $5677 = HEAP8[$5676>>0]|0;
+ $5678 = $5677&255;
+ $5679 = $2;
+ $5680 = ((($5679)) + 17|0);
+ $5681 = HEAP8[$5680>>0]|0;
+ $5682 = $5681&255;
+ $5683 = $5678 ^ $5682;
+ $5684 = (44992 + ($5683)|0);
+ $5685 = HEAP8[$5684>>0]|0;
+ $5686 = $5685&255;
+ $5687 = $2;
+ $5688 = ((($5687)) + 9|0);
+ $5689 = HEAP8[$5688>>0]|0;
+ $5690 = $5689&255;
+ $5691 = $5686 ^ $5690;
+ $5692 = (45248 + ($5691)|0);
+ $5693 = HEAP8[$5692>>0]|0;
+ $5694 = $5693&255;
+ $5695 = $2;
+ $5696 = ((($5695)) + 1|0);
+ $5697 = HEAP8[$5696>>0]|0;
+ $5698 = $5697&255;
+ $5699 = $5694 ^ $5698;
+ $5700 = ((9400) + ($5699<<2)|0);
+ $5701 = HEAP32[$5700>>2]|0;
+ $5702 = $5670 ^ $5701;
+ $5703 = $2;
+ $5704 = ((($5703)) + 26|0);
+ $5705 = HEAP8[$5704>>0]|0;
+ $5706 = $5705&255;
+ $5707 = 250 ^ $5706;
+ $5708 = (45248 + ($5707)|0);
+ $5709 = HEAP8[$5708>>0]|0;
+ $5710 = $5709&255;
+ $5711 = $2;
+ $5712 = ((($5711)) + 18|0);
+ $5713 = HEAP8[$5712>>0]|0;
+ $5714 = $5713&255;
+ $5715 = $5710 ^ $5714;
+ $5716 = (45248 + ($5715)|0);
+ $5717 = HEAP8[$5716>>0]|0;
+ $5718 = $5717&255;
+ $5719 = $2;
+ $5720 = ((($5719)) + 10|0);
+ $5721 = HEAP8[$5720>>0]|0;
+ $5722 = $5721&255;
+ $5723 = $5718 ^ $5722;
+ $5724 = (44992 + ($5723)|0);
+ $5725 = HEAP8[$5724>>0]|0;
+ $5726 = $5725&255;
+ $5727 = $2;
+ $5728 = ((($5727)) + 2|0);
+ $5729 = HEAP8[$5728>>0]|0;
+ $5730 = $5729&255;
+ $5731 = $5726 ^ $5730;
+ $5732 = ((10424) + ($5731<<2)|0);
+ $5733 = HEAP32[$5732>>2]|0;
+ $5734 = $5702 ^ $5733;
+ $5735 = $2;
+ $5736 = ((($5735)) + 27|0);
+ $5737 = HEAP8[$5736>>0]|0;
+ $5738 = $5737&255;
+ $5739 = 135 ^ $5738;
+ $5740 = (45248 + ($5739)|0);
+ $5741 = HEAP8[$5740>>0]|0;
+ $5742 = $5741&255;
+ $5743 = $2;
+ $5744 = ((($5743)) + 19|0);
+ $5745 = HEAP8[$5744>>0]|0;
+ $5746 = $5745&255;
+ $5747 = $5742 ^ $5746;
+ $5748 = (44992 + ($5747)|0);
+ $5749 = HEAP8[$5748>>0]|0;
+ $5750 = $5749&255;
+ $5751 = $2;
+ $5752 = ((($5751)) + 11|0);
+ $5753 = HEAP8[$5752>>0]|0;
+ $5754 = $5753&255;
+ $5755 = $5750 ^ $5754;
+ $5756 = (44992 + ($5755)|0);
+ $5757 = HEAP8[$5756>>0]|0;
+ $5758 = $5757&255;
+ $5759 = $2;
+ $5760 = ((($5759)) + 3|0);
+ $5761 = HEAP8[$5760>>0]|0;
+ $5762 = $5761&255;
+ $5763 = $5758 ^ $5762;
+ $5764 = ((11448) + ($5763<<2)|0);
+ $5765 = HEAP32[$5764>>2]|0;
+ $5766 = $5734 ^ $5765;
+ $x = $5766;
+ $5767 = $2;
+ $5768 = ((($5767)) + 28|0);
+ $5769 = HEAP8[$5768>>0]|0;
+ $5770 = $5769&255;
+ $5771 = 250 ^ $5770;
+ $5772 = (44992 + ($5771)|0);
+ $5773 = HEAP8[$5772>>0]|0;
+ $5774 = $5773&255;
+ $5775 = $2;
+ $5776 = ((($5775)) + 20|0);
+ $5777 = HEAP8[$5776>>0]|0;
+ $5778 = $5777&255;
+ $5779 = $5774 ^ $5778;
+ $5780 = (45248 + ($5779)|0);
+ $5781 = HEAP8[$5780>>0]|0;
+ $5782 = $5781&255;
+ $5783 = $2;
+ $5784 = ((($5783)) + 12|0);
+ $5785 = HEAP8[$5784>>0]|0;
+ $5786 = $5785&255;
+ $5787 = $5782 ^ $5786;
+ $5788 = (45248 + ($5787)|0);
+ $5789 = HEAP8[$5788>>0]|0;
+ $5790 = $5789&255;
+ $5791 = $2;
+ $5792 = ((($5791)) + 4|0);
+ $5793 = HEAP8[$5792>>0]|0;
+ $5794 = $5793&255;
+ $5795 = $5790 ^ $5794;
+ $5796 = (8376 + ($5795<<2)|0);
+ $5797 = HEAP32[$5796>>2]|0;
+ $5798 = $2;
+ $5799 = ((($5798)) + 29|0);
+ $5800 = HEAP8[$5799>>0]|0;
+ $5801 = $5800&255;
+ $5802 = 19 ^ $5801;
+ $5803 = (44992 + ($5802)|0);
+ $5804 = HEAP8[$5803>>0]|0;
+ $5805 = $5804&255;
+ $5806 = $2;
+ $5807 = ((($5806)) + 21|0);
+ $5808 = HEAP8[$5807>>0]|0;
+ $5809 = $5808&255;
+ $5810 = $5805 ^ $5809;
+ $5811 = (44992 + ($5810)|0);
+ $5812 = HEAP8[$5811>>0]|0;
+ $5813 = $5812&255;
+ $5814 = $2;
+ $5815 = ((($5814)) + 13|0);
+ $5816 = HEAP8[$5815>>0]|0;
+ $5817 = $5816&255;
+ $5818 = $5813 ^ $5817;
+ $5819 = (45248 + ($5818)|0);
+ $5820 = HEAP8[$5819>>0]|0;
+ $5821 = $5820&255;
+ $5822 = $2;
+ $5823 = ((($5822)) + 5|0);
+ $5824 = HEAP8[$5823>>0]|0;
+ $5825 = $5824&255;
+ $5826 = $5821 ^ $5825;
+ $5827 = ((9400) + ($5826<<2)|0);
+ $5828 = HEAP32[$5827>>2]|0;
+ $5829 = $5797 ^ $5828;
+ $5830 = $2;
+ $5831 = ((($5830)) + 30|0);
+ $5832 = HEAP8[$5831>>0]|0;
+ $5833 = $5832&255;
+ $5834 = 19 ^ $5833;
+ $5835 = (45248 + ($5834)|0);
+ $5836 = HEAP8[$5835>>0]|0;
+ $5837 = $5836&255;
+ $5838 = $2;
+ $5839 = ((($5838)) + 22|0);
+ $5840 = HEAP8[$5839>>0]|0;
+ $5841 = $5840&255;
+ $5842 = $5837 ^ $5841;
+ $5843 = (45248 + ($5842)|0);
+ $5844 = HEAP8[$5843>>0]|0;
+ $5845 = $5844&255;
+ $5846 = $2;
+ $5847 = ((($5846)) + 14|0);
+ $5848 = HEAP8[$5847>>0]|0;
+ $5849 = $5848&255;
+ $5850 = $5845 ^ $5849;
+ $5851 = (44992 + ($5850)|0);
+ $5852 = HEAP8[$5851>>0]|0;
+ $5853 = $5852&255;
+ $5854 = $2;
+ $5855 = ((($5854)) + 6|0);
+ $5856 = HEAP8[$5855>>0]|0;
+ $5857 = $5856&255;
+ $5858 = $5853 ^ $5857;
+ $5859 = ((10424) + ($5858<<2)|0);
+ $5860 = HEAP32[$5859>>2]|0;
+ $5861 = $5829 ^ $5860;
+ $5862 = $2;
+ $5863 = ((($5862)) + 31|0);
+ $5864 = HEAP8[$5863>>0]|0;
+ $5865 = $5864&255;
+ $5866 = 250 ^ $5865;
+ $5867 = (45248 + ($5866)|0);
+ $5868 = HEAP8[$5867>>0]|0;
+ $5869 = $5868&255;
+ $5870 = $2;
+ $5871 = ((($5870)) + 23|0);
+ $5872 = HEAP8[$5871>>0]|0;
+ $5873 = $5872&255;
+ $5874 = $5869 ^ $5873;
+ $5875 = (44992 + ($5874)|0);
+ $5876 = HEAP8[$5875>>0]|0;
+ $5877 = $5876&255;
+ $5878 = $2;
+ $5879 = ((($5878)) + 15|0);
+ $5880 = HEAP8[$5879>>0]|0;
+ $5881 = $5880&255;
+ $5882 = $5877 ^ $5881;
+ $5883 = (44992 + ($5882)|0);
+ $5884 = HEAP8[$5883>>0]|0;
+ $5885 = $5884&255;
+ $5886 = $2;
+ $5887 = ((($5886)) + 7|0);
+ $5888 = HEAP8[$5887>>0]|0;
+ $5889 = $5888&255;
+ $5890 = $5885 ^ $5889;
+ $5891 = ((11448) + ($5890<<2)|0);
+ $5892 = HEAP32[$5891>>2]|0;
+ $5893 = $5861 ^ $5892;
+ $y = $5893;
+ $5894 = $y;
+ $5895 = $5894 << 8;
+ $5896 = $y;
+ $5897 = $5896 >>> 24;
+ $5898 = (($5895) + ($5897))|0;
+ $y = $5898;
+ $5899 = $y;
+ $5900 = $x;
+ $5901 = (($5900) + ($5899))|0;
+ $x = $5901;
+ $5902 = $x;
+ $5903 = $y;
+ $5904 = (($5903) + ($5902))|0;
+ $y = $5904;
+ $5905 = $x;
+ $5906 = $1;
+ $5907 = ((($5906)) + 4128|0);
+ $5908 = ((($5907)) + 80|0);
+ HEAP32[$5908>>2] = $5905;
+ $5909 = $y;
+ $5910 = $5909 << 9;
+ $5911 = $y;
+ $5912 = $5911 >>> 23;
+ $5913 = (($5910) + ($5912))|0;
+ $5914 = $1;
+ $5915 = ((($5914)) + 4128|0);
+ $5916 = ((($5915)) + 84|0);
+ HEAP32[$5916>>2] = $5913;
+ $5917 = $2;
+ $5918 = ((($5917)) + 24|0);
+ $5919 = HEAP8[$5918>>0]|0;
+ $5920 = $5919&255;
+ $5921 = 6 ^ $5920;
+ $5922 = (44992 + ($5921)|0);
+ $5923 = HEAP8[$5922>>0]|0;
+ $5924 = $5923&255;
+ $5925 = $2;
+ $5926 = ((($5925)) + 16|0);
+ $5927 = HEAP8[$5926>>0]|0;
+ $5928 = $5927&255;
+ $5929 = $5924 ^ $5928;
+ $5930 = (45248 + ($5929)|0);
+ $5931 = HEAP8[$5930>>0]|0;
+ $5932 = $5931&255;
+ $5933 = $2;
+ $5934 = ((($5933)) + 8|0);
+ $5935 = HEAP8[$5934>>0]|0;
+ $5936 = $5935&255;
+ $5937 = $5932 ^ $5936;
+ $5938 = (45248 + ($5937)|0);
+ $5939 = HEAP8[$5938>>0]|0;
+ $5940 = $5939&255;
+ $5941 = $2;
+ $5942 = HEAP8[$5941>>0]|0;
+ $5943 = $5942&255;
+ $5944 = $5940 ^ $5943;
+ $5945 = (8376 + ($5944<<2)|0);
+ $5946 = HEAP32[$5945>>2]|0;
+ $5947 = $2;
+ $5948 = ((($5947)) + 25|0);
+ $5949 = HEAP8[$5948>>0]|0;
+ $5950 = $5949&255;
+ $5951 = 148 ^ $5950;
+ $5952 = (44992 + ($5951)|0);
+ $5953 = HEAP8[$5952>>0]|0;
+ $5954 = $5953&255;
+ $5955 = $2;
+ $5956 = ((($5955)) + 17|0);
+ $5957 = HEAP8[$5956>>0]|0;
+ $5958 = $5957&255;
+ $5959 = $5954 ^ $5958;
+ $5960 = (44992 + ($5959)|0);
+ $5961 = HEAP8[$5960>>0]|0;
+ $5962 = $5961&255;
+ $5963 = $2;
+ $5964 = ((($5963)) + 9|0);
+ $5965 = HEAP8[$5964>>0]|0;
+ $5966 = $5965&255;
+ $5967 = $5962 ^ $5966;
+ $5968 = (45248 + ($5967)|0);
+ $5969 = HEAP8[$5968>>0]|0;
+ $5970 = $5969&255;
+ $5971 = $2;
+ $5972 = ((($5971)) + 1|0);
+ $5973 = HEAP8[$5972>>0]|0;
+ $5974 = $5973&255;
+ $5975 = $5970 ^ $5974;
+ $5976 = ((9400) + ($5975<<2)|0);
+ $5977 = HEAP32[$5976>>2]|0;
+ $5978 = $5946 ^ $5977;
+ $5979 = $2;
+ $5980 = ((($5979)) + 26|0);
+ $5981 = HEAP8[$5980>>0]|0;
+ $5982 = $5981&255;
+ $5983 = 148 ^ $5982;
+ $5984 = (45248 + ($5983)|0);
+ $5985 = HEAP8[$5984>>0]|0;
+ $5986 = $5985&255;
+ $5987 = $2;
+ $5988 = ((($5987)) + 18|0);
+ $5989 = HEAP8[$5988>>0]|0;
+ $5990 = $5989&255;
+ $5991 = $5986 ^ $5990;
+ $5992 = (45248 + ($5991)|0);
+ $5993 = HEAP8[$5992>>0]|0;
+ $5994 = $5993&255;
+ $5995 = $2;
+ $5996 = ((($5995)) + 10|0);
+ $5997 = HEAP8[$5996>>0]|0;
+ $5998 = $5997&255;
+ $5999 = $5994 ^ $5998;
+ $6000 = (44992 + ($5999)|0);
+ $6001 = HEAP8[$6000>>0]|0;
+ $6002 = $6001&255;
+ $6003 = $2;
+ $6004 = ((($6003)) + 2|0);
+ $6005 = HEAP8[$6004>>0]|0;
+ $6006 = $6005&255;
+ $6007 = $6002 ^ $6006;
+ $6008 = ((10424) + ($6007<<2)|0);
+ $6009 = HEAP32[$6008>>2]|0;
+ $6010 = $5978 ^ $6009;
+ $6011 = $2;
+ $6012 = ((($6011)) + 27|0);
+ $6013 = HEAP8[$6012>>0]|0;
+ $6014 = $6013&255;
+ $6015 = 6 ^ $6014;
+ $6016 = (45248 + ($6015)|0);
+ $6017 = HEAP8[$6016>>0]|0;
+ $6018 = $6017&255;
+ $6019 = $2;
+ $6020 = ((($6019)) + 19|0);
+ $6021 = HEAP8[$6020>>0]|0;
+ $6022 = $6021&255;
+ $6023 = $6018 ^ $6022;
+ $6024 = (44992 + ($6023)|0);
+ $6025 = HEAP8[$6024>>0]|0;
+ $6026 = $6025&255;
+ $6027 = $2;
+ $6028 = ((($6027)) + 11|0);
+ $6029 = HEAP8[$6028>>0]|0;
+ $6030 = $6029&255;
+ $6031 = $6026 ^ $6030;
+ $6032 = (44992 + ($6031)|0);
+ $6033 = HEAP8[$6032>>0]|0;
+ $6034 = $6033&255;
+ $6035 = $2;
+ $6036 = ((($6035)) + 3|0);
+ $6037 = HEAP8[$6036>>0]|0;
+ $6038 = $6037&255;
+ $6039 = $6034 ^ $6038;
+ $6040 = ((11448) + ($6039<<2)|0);
+ $6041 = HEAP32[$6040>>2]|0;
+ $6042 = $6010 ^ $6041;
+ $x = $6042;
+ $6043 = $2;
+ $6044 = ((($6043)) + 28|0);
+ $6045 = HEAP8[$6044>>0]|0;
+ $6046 = $6045&255;
+ $6047 = 63 ^ $6046;
+ $6048 = (44992 + ($6047)|0);
+ $6049 = HEAP8[$6048>>0]|0;
+ $6050 = $6049&255;
+ $6051 = $2;
+ $6052 = ((($6051)) + 20|0);
+ $6053 = HEAP8[$6052>>0]|0;
+ $6054 = $6053&255;
+ $6055 = $6050 ^ $6054;
+ $6056 = (45248 + ($6055)|0);
+ $6057 = HEAP8[$6056>>0]|0;
+ $6058 = $6057&255;
+ $6059 = $2;
+ $6060 = ((($6059)) + 12|0);
+ $6061 = HEAP8[$6060>>0]|0;
+ $6062 = $6061&255;
+ $6063 = $6058 ^ $6062;
+ $6064 = (45248 + ($6063)|0);
+ $6065 = HEAP8[$6064>>0]|0;
+ $6066 = $6065&255;
+ $6067 = $2;
+ $6068 = ((($6067)) + 4|0);
+ $6069 = HEAP8[$6068>>0]|0;
+ $6070 = $6069&255;
+ $6071 = $6066 ^ $6070;
+ $6072 = (8376 + ($6071<<2)|0);
+ $6073 = HEAP32[$6072>>2]|0;
+ $6074 = $2;
+ $6075 = ((($6074)) + 29|0);
+ $6076 = HEAP8[$6075>>0]|0;
+ $6077 = $6076&255;
+ $6078 = 72 ^ $6077;
+ $6079 = (44992 + ($6078)|0);
+ $6080 = HEAP8[$6079>>0]|0;
+ $6081 = $6080&255;
+ $6082 = $2;
+ $6083 = ((($6082)) + 21|0);
+ $6084 = HEAP8[$6083>>0]|0;
+ $6085 = $6084&255;
+ $6086 = $6081 ^ $6085;
+ $6087 = (44992 + ($6086)|0);
+ $6088 = HEAP8[$6087>>0]|0;
+ $6089 = $6088&255;
+ $6090 = $2;
+ $6091 = ((($6090)) + 13|0);
+ $6092 = HEAP8[$6091>>0]|0;
+ $6093 = $6092&255;
+ $6094 = $6089 ^ $6093;
+ $6095 = (45248 + ($6094)|0);
+ $6096 = HEAP8[$6095>>0]|0;
+ $6097 = $6096&255;
+ $6098 = $2;
+ $6099 = ((($6098)) + 5|0);
+ $6100 = HEAP8[$6099>>0]|0;
+ $6101 = $6100&255;
+ $6102 = $6097 ^ $6101;
+ $6103 = ((9400) + ($6102<<2)|0);
+ $6104 = HEAP32[$6103>>2]|0;
+ $6105 = $6073 ^ $6104;
+ $6106 = $2;
+ $6107 = ((($6106)) + 30|0);
+ $6108 = HEAP8[$6107>>0]|0;
+ $6109 = $6108&255;
+ $6110 = 72 ^ $6109;
+ $6111 = (45248 + ($6110)|0);
+ $6112 = HEAP8[$6111>>0]|0;
+ $6113 = $6112&255;
+ $6114 = $2;
+ $6115 = ((($6114)) + 22|0);
+ $6116 = HEAP8[$6115>>0]|0;
+ $6117 = $6116&255;
+ $6118 = $6113 ^ $6117;
+ $6119 = (45248 + ($6118)|0);
+ $6120 = HEAP8[$6119>>0]|0;
+ $6121 = $6120&255;
+ $6122 = $2;
+ $6123 = ((($6122)) + 14|0);
+ $6124 = HEAP8[$6123>>0]|0;
+ $6125 = $6124&255;
+ $6126 = $6121 ^ $6125;
+ $6127 = (44992 + ($6126)|0);
+ $6128 = HEAP8[$6127>>0]|0;
+ $6129 = $6128&255;
+ $6130 = $2;
+ $6131 = ((($6130)) + 6|0);
+ $6132 = HEAP8[$6131>>0]|0;
+ $6133 = $6132&255;
+ $6134 = $6129 ^ $6133;
+ $6135 = ((10424) + ($6134<<2)|0);
+ $6136 = HEAP32[$6135>>2]|0;
+ $6137 = $6105 ^ $6136;
+ $6138 = $2;
+ $6139 = ((($6138)) + 31|0);
+ $6140 = HEAP8[$6139>>0]|0;
+ $6141 = $6140&255;
+ $6142 = 63 ^ $6141;
+ $6143 = (45248 + ($6142)|0);
+ $6144 = HEAP8[$6143>>0]|0;
+ $6145 = $6144&255;
+ $6146 = $2;
+ $6147 = ((($6146)) + 23|0);
+ $6148 = HEAP8[$6147>>0]|0;
+ $6149 = $6148&255;
+ $6150 = $6145 ^ $6149;
+ $6151 = (44992 + ($6150)|0);
+ $6152 = HEAP8[$6151>>0]|0;
+ $6153 = $6152&255;
+ $6154 = $2;
+ $6155 = ((($6154)) + 15|0);
+ $6156 = HEAP8[$6155>>0]|0;
+ $6157 = $6156&255;
+ $6158 = $6153 ^ $6157;
+ $6159 = (44992 + ($6158)|0);
+ $6160 = HEAP8[$6159>>0]|0;
+ $6161 = $6160&255;
+ $6162 = $2;
+ $6163 = ((($6162)) + 7|0);
+ $6164 = HEAP8[$6163>>0]|0;
+ $6165 = $6164&255;
+ $6166 = $6161 ^ $6165;
+ $6167 = ((11448) + ($6166<<2)|0);
+ $6168 = HEAP32[$6167>>2]|0;
+ $6169 = $6137 ^ $6168;
+ $y = $6169;
+ $6170 = $y;
+ $6171 = $6170 << 8;
+ $6172 = $y;
+ $6173 = $6172 >>> 24;
+ $6174 = (($6171) + ($6173))|0;
+ $y = $6174;
+ $6175 = $y;
+ $6176 = $x;
+ $6177 = (($6176) + ($6175))|0;
+ $x = $6177;
+ $6178 = $x;
+ $6179 = $y;
+ $6180 = (($6179) + ($6178))|0;
+ $y = $6180;
+ $6181 = $x;
+ $6182 = $1;
+ $6183 = ((($6182)) + 4128|0);
+ $6184 = ((($6183)) + 88|0);
+ HEAP32[$6184>>2] = $6181;
+ $6185 = $y;
+ $6186 = $6185 << 9;
+ $6187 = $y;
+ $6188 = $6187 >>> 23;
+ $6189 = (($6186) + ($6188))|0;
+ $6190 = $1;
+ $6191 = ((($6190)) + 4128|0);
+ $6192 = ((($6191)) + 92|0);
+ HEAP32[$6192>>2] = $6189;
+ $6193 = $2;
+ $6194 = ((($6193)) + 24|0);
+ $6195 = HEAP8[$6194>>0]|0;
+ $6196 = $6195&255;
+ $6197 = 94 ^ $6196;
+ $6198 = (44992 + ($6197)|0);
+ $6199 = HEAP8[$6198>>0]|0;
+ $6200 = $6199&255;
+ $6201 = $2;
+ $6202 = ((($6201)) + 16|0);
+ $6203 = HEAP8[$6202>>0]|0;
+ $6204 = $6203&255;
+ $6205 = $6200 ^ $6204;
+ $6206 = (45248 + ($6205)|0);
+ $6207 = HEAP8[$6206>>0]|0;
+ $6208 = $6207&255;
+ $6209 = $2;
+ $6210 = ((($6209)) + 8|0);
+ $6211 = HEAP8[$6210>>0]|0;
+ $6212 = $6211&255;
+ $6213 = $6208 ^ $6212;
+ $6214 = (45248 + ($6213)|0);
+ $6215 = HEAP8[$6214>>0]|0;
+ $6216 = $6215&255;
+ $6217 = $2;
+ $6218 = HEAP8[$6217>>0]|0;
+ $6219 = $6218&255;
+ $6220 = $6216 ^ $6219;
+ $6221 = (8376 + ($6220<<2)|0);
+ $6222 = HEAP32[$6221>>2]|0;
+ $6223 = $2;
+ $6224 = ((($6223)) + 25|0);
+ $6225 = HEAP8[$6224>>0]|0;
+ $6226 = $6225&255;
+ $6227 = 242 ^ $6226;
+ $6228 = (44992 + ($6227)|0);
+ $6229 = HEAP8[$6228>>0]|0;
+ $6230 = $6229&255;
+ $6231 = $2;
+ $6232 = ((($6231)) + 17|0);
+ $6233 = HEAP8[$6232>>0]|0;
+ $6234 = $6233&255;
+ $6235 = $6230 ^ $6234;
+ $6236 = (44992 + ($6235)|0);
+ $6237 = HEAP8[$6236>>0]|0;
+ $6238 = $6237&255;
+ $6239 = $2;
+ $6240 = ((($6239)) + 9|0);
+ $6241 = HEAP8[$6240>>0]|0;
+ $6242 = $6241&255;
+ $6243 = $6238 ^ $6242;
+ $6244 = (45248 + ($6243)|0);
+ $6245 = HEAP8[$6244>>0]|0;
+ $6246 = $6245&255;
+ $6247 = $2;
+ $6248 = ((($6247)) + 1|0);
+ $6249 = HEAP8[$6248>>0]|0;
+ $6250 = $6249&255;
+ $6251 = $6246 ^ $6250;
+ $6252 = ((9400) + ($6251<<2)|0);
+ $6253 = HEAP32[$6252>>2]|0;
+ $6254 = $6222 ^ $6253;
+ $6255 = $2;
+ $6256 = ((($6255)) + 26|0);
+ $6257 = HEAP8[$6256>>0]|0;
+ $6258 = $6257&255;
+ $6259 = 242 ^ $6258;
+ $6260 = (45248 + ($6259)|0);
+ $6261 = HEAP8[$6260>>0]|0;
+ $6262 = $6261&255;
+ $6263 = $2;
+ $6264 = ((($6263)) + 18|0);
+ $6265 = HEAP8[$6264>>0]|0;
+ $6266 = $6265&255;
+ $6267 = $6262 ^ $6266;
+ $6268 = (45248 + ($6267)|0);
+ $6269 = HEAP8[$6268>>0]|0;
+ $6270 = $6269&255;
+ $6271 = $2;
+ $6272 = ((($6271)) + 10|0);
+ $6273 = HEAP8[$6272>>0]|0;
+ $6274 = $6273&255;
+ $6275 = $6270 ^ $6274;
+ $6276 = (44992 + ($6275)|0);
+ $6277 = HEAP8[$6276>>0]|0;
+ $6278 = $6277&255;
+ $6279 = $2;
+ $6280 = ((($6279)) + 2|0);
+ $6281 = HEAP8[$6280>>0]|0;
+ $6282 = $6281&255;
+ $6283 = $6278 ^ $6282;
+ $6284 = ((10424) + ($6283<<2)|0);
+ $6285 = HEAP32[$6284>>2]|0;
+ $6286 = $6254 ^ $6285;
+ $6287 = $2;
+ $6288 = ((($6287)) + 27|0);
+ $6289 = HEAP8[$6288>>0]|0;
+ $6290 = $6289&255;
+ $6291 = 94 ^ $6290;
+ $6292 = (45248 + ($6291)|0);
+ $6293 = HEAP8[$6292>>0]|0;
+ $6294 = $6293&255;
+ $6295 = $2;
+ $6296 = ((($6295)) + 19|0);
+ $6297 = HEAP8[$6296>>0]|0;
+ $6298 = $6297&255;
+ $6299 = $6294 ^ $6298;
+ $6300 = (44992 + ($6299)|0);
+ $6301 = HEAP8[$6300>>0]|0;
+ $6302 = $6301&255;
+ $6303 = $2;
+ $6304 = ((($6303)) + 11|0);
+ $6305 = HEAP8[$6304>>0]|0;
+ $6306 = $6305&255;
+ $6307 = $6302 ^ $6306;
+ $6308 = (44992 + ($6307)|0);
+ $6309 = HEAP8[$6308>>0]|0;
+ $6310 = $6309&255;
+ $6311 = $2;
+ $6312 = ((($6311)) + 3|0);
+ $6313 = HEAP8[$6312>>0]|0;
+ $6314 = $6313&255;
+ $6315 = $6310 ^ $6314;
+ $6316 = ((11448) + ($6315<<2)|0);
+ $6317 = HEAP32[$6316>>2]|0;
+ $6318 = $6286 ^ $6317;
+ $x = $6318;
+ $6319 = $2;
+ $6320 = ((($6319)) + 28|0);
+ $6321 = HEAP8[$6320>>0]|0;
+ $6322 = $6321&255;
+ $6323 = 186 ^ $6322;
+ $6324 = (44992 + ($6323)|0);
+ $6325 = HEAP8[$6324>>0]|0;
+ $6326 = $6325&255;
+ $6327 = $2;
+ $6328 = ((($6327)) + 20|0);
+ $6329 = HEAP8[$6328>>0]|0;
+ $6330 = $6329&255;
+ $6331 = $6326 ^ $6330;
+ $6332 = (45248 + ($6331)|0);
+ $6333 = HEAP8[$6332>>0]|0;
+ $6334 = $6333&255;
+ $6335 = $2;
+ $6336 = ((($6335)) + 12|0);
+ $6337 = HEAP8[$6336>>0]|0;
+ $6338 = $6337&255;
+ $6339 = $6334 ^ $6338;
+ $6340 = (45248 + ($6339)|0);
+ $6341 = HEAP8[$6340>>0]|0;
+ $6342 = $6341&255;
+ $6343 = $2;
+ $6344 = ((($6343)) + 4|0);
+ $6345 = HEAP8[$6344>>0]|0;
+ $6346 = $6345&255;
+ $6347 = $6342 ^ $6346;
+ $6348 = (8376 + ($6347<<2)|0);
+ $6349 = HEAP32[$6348>>2]|0;
+ $6350 = $2;
+ $6351 = ((($6350)) + 29|0);
+ $6352 = HEAP8[$6351>>0]|0;
+ $6353 = $6352&255;
+ $6354 = 208 ^ $6353;
+ $6355 = (44992 + ($6354)|0);
+ $6356 = HEAP8[$6355>>0]|0;
+ $6357 = $6356&255;
+ $6358 = $2;
+ $6359 = ((($6358)) + 21|0);
+ $6360 = HEAP8[$6359>>0]|0;
+ $6361 = $6360&255;
+ $6362 = $6357 ^ $6361;
+ $6363 = (44992 + ($6362)|0);
+ $6364 = HEAP8[$6363>>0]|0;
+ $6365 = $6364&255;
+ $6366 = $2;
+ $6367 = ((($6366)) + 13|0);
+ $6368 = HEAP8[$6367>>0]|0;
+ $6369 = $6368&255;
+ $6370 = $6365 ^ $6369;
+ $6371 = (45248 + ($6370)|0);
+ $6372 = HEAP8[$6371>>0]|0;
+ $6373 = $6372&255;
+ $6374 = $2;
+ $6375 = ((($6374)) + 5|0);
+ $6376 = HEAP8[$6375>>0]|0;
+ $6377 = $6376&255;
+ $6378 = $6373 ^ $6377;
+ $6379 = ((9400) + ($6378<<2)|0);
+ $6380 = HEAP32[$6379>>2]|0;
+ $6381 = $6349 ^ $6380;
+ $6382 = $2;
+ $6383 = ((($6382)) + 30|0);
+ $6384 = HEAP8[$6383>>0]|0;
+ $6385 = $6384&255;
+ $6386 = 208 ^ $6385;
+ $6387 = (45248 + ($6386)|0);
+ $6388 = HEAP8[$6387>>0]|0;
+ $6389 = $6388&255;
+ $6390 = $2;
+ $6391 = ((($6390)) + 22|0);
+ $6392 = HEAP8[$6391>>0]|0;
+ $6393 = $6392&255;
+ $6394 = $6389 ^ $6393;
+ $6395 = (45248 + ($6394)|0);
+ $6396 = HEAP8[$6395>>0]|0;
+ $6397 = $6396&255;
+ $6398 = $2;
+ $6399 = ((($6398)) + 14|0);
+ $6400 = HEAP8[$6399>>0]|0;
+ $6401 = $6400&255;
+ $6402 = $6397 ^ $6401;
+ $6403 = (44992 + ($6402)|0);
+ $6404 = HEAP8[$6403>>0]|0;
+ $6405 = $6404&255;
+ $6406 = $2;
+ $6407 = ((($6406)) + 6|0);
+ $6408 = HEAP8[$6407>>0]|0;
+ $6409 = $6408&255;
+ $6410 = $6405 ^ $6409;
+ $6411 = ((10424) + ($6410<<2)|0);
+ $6412 = HEAP32[$6411>>2]|0;
+ $6413 = $6381 ^ $6412;
+ $6414 = $2;
+ $6415 = ((($6414)) + 31|0);
+ $6416 = HEAP8[$6415>>0]|0;
+ $6417 = $6416&255;
+ $6418 = 186 ^ $6417;
+ $6419 = (45248 + ($6418)|0);
+ $6420 = HEAP8[$6419>>0]|0;
+ $6421 = $6420&255;
+ $6422 = $2;
+ $6423 = ((($6422)) + 23|0);
+ $6424 = HEAP8[$6423>>0]|0;
+ $6425 = $6424&255;
+ $6426 = $6421 ^ $6425;
+ $6427 = (44992 + ($6426)|0);
+ $6428 = HEAP8[$6427>>0]|0;
+ $6429 = $6428&255;
+ $6430 = $2;
+ $6431 = ((($6430)) + 15|0);
+ $6432 = HEAP8[$6431>>0]|0;
+ $6433 = $6432&255;
+ $6434 = $6429 ^ $6433;
+ $6435 = (44992 + ($6434)|0);
+ $6436 = HEAP8[$6435>>0]|0;
+ $6437 = $6436&255;
+ $6438 = $2;
+ $6439 = ((($6438)) + 7|0);
+ $6440 = HEAP8[$6439>>0]|0;
+ $6441 = $6440&255;
+ $6442 = $6437 ^ $6441;
+ $6443 = ((11448) + ($6442<<2)|0);
+ $6444 = HEAP32[$6443>>2]|0;
+ $6445 = $6413 ^ $6444;
+ $y = $6445;
+ $6446 = $y;
+ $6447 = $6446 << 8;
+ $6448 = $y;
+ $6449 = $6448 >>> 24;
+ $6450 = (($6447) + ($6449))|0;
+ $y = $6450;
+ $6451 = $y;
+ $6452 = $x;
+ $6453 = (($6452) + ($6451))|0;
+ $x = $6453;
+ $6454 = $x;
+ $6455 = $y;
+ $6456 = (($6455) + ($6454))|0;
+ $y = $6456;
+ $6457 = $x;
+ $6458 = $1;
+ $6459 = ((($6458)) + 4128|0);
+ $6460 = ((($6459)) + 96|0);
+ HEAP32[$6460>>2] = $6457;
+ $6461 = $y;
+ $6462 = $6461 << 9;
+ $6463 = $y;
+ $6464 = $6463 >>> 23;
+ $6465 = (($6462) + ($6464))|0;
+ $6466 = $1;
+ $6467 = ((($6466)) + 4128|0);
+ $6468 = ((($6467)) + 100|0);
+ HEAP32[$6468>>2] = $6465;
+ $6469 = $2;
+ $6470 = ((($6469)) + 24|0);
+ $6471 = HEAP8[$6470>>0]|0;
+ $6472 = $6471&255;
+ $6473 = 174 ^ $6472;
+ $6474 = (44992 + ($6473)|0);
+ $6475 = HEAP8[$6474>>0]|0;
+ $6476 = $6475&255;
+ $6477 = $2;
+ $6478 = ((($6477)) + 16|0);
+ $6479 = HEAP8[$6478>>0]|0;
+ $6480 = $6479&255;
+ $6481 = $6476 ^ $6480;
+ $6482 = (45248 + ($6481)|0);
+ $6483 = HEAP8[$6482>>0]|0;
+ $6484 = $6483&255;
+ $6485 = $2;
+ $6486 = ((($6485)) + 8|0);
+ $6487 = HEAP8[$6486>>0]|0;
+ $6488 = $6487&255;
+ $6489 = $6484 ^ $6488;
+ $6490 = (45248 + ($6489)|0);
+ $6491 = HEAP8[$6490>>0]|0;
+ $6492 = $6491&255;
+ $6493 = $2;
+ $6494 = HEAP8[$6493>>0]|0;
+ $6495 = $6494&255;
+ $6496 = $6492 ^ $6495;
+ $6497 = (8376 + ($6496<<2)|0);
+ $6498 = HEAP32[$6497>>2]|0;
+ $6499 = $2;
+ $6500 = ((($6499)) + 25|0);
+ $6501 = HEAP8[$6500>>0]|0;
+ $6502 = $6501&255;
+ $6503 = 139 ^ $6502;
+ $6504 = (44992 + ($6503)|0);
+ $6505 = HEAP8[$6504>>0]|0;
+ $6506 = $6505&255;
+ $6507 = $2;
+ $6508 = ((($6507)) + 17|0);
+ $6509 = HEAP8[$6508>>0]|0;
+ $6510 = $6509&255;
+ $6511 = $6506 ^ $6510;
+ $6512 = (44992 + ($6511)|0);
+ $6513 = HEAP8[$6512>>0]|0;
+ $6514 = $6513&255;
+ $6515 = $2;
+ $6516 = ((($6515)) + 9|0);
+ $6517 = HEAP8[$6516>>0]|0;
+ $6518 = $6517&255;
+ $6519 = $6514 ^ $6518;
+ $6520 = (45248 + ($6519)|0);
+ $6521 = HEAP8[$6520>>0]|0;
+ $6522 = $6521&255;
+ $6523 = $2;
+ $6524 = ((($6523)) + 1|0);
+ $6525 = HEAP8[$6524>>0]|0;
+ $6526 = $6525&255;
+ $6527 = $6522 ^ $6526;
+ $6528 = ((9400) + ($6527<<2)|0);
+ $6529 = HEAP32[$6528>>2]|0;
+ $6530 = $6498 ^ $6529;
+ $6531 = $2;
+ $6532 = ((($6531)) + 26|0);
+ $6533 = HEAP8[$6532>>0]|0;
+ $6534 = $6533&255;
+ $6535 = 139 ^ $6534;
+ $6536 = (45248 + ($6535)|0);
+ $6537 = HEAP8[$6536>>0]|0;
+ $6538 = $6537&255;
+ $6539 = $2;
+ $6540 = ((($6539)) + 18|0);
+ $6541 = HEAP8[$6540>>0]|0;
+ $6542 = $6541&255;
+ $6543 = $6538 ^ $6542;
+ $6544 = (45248 + ($6543)|0);
+ $6545 = HEAP8[$6544>>0]|0;
+ $6546 = $6545&255;
+ $6547 = $2;
+ $6548 = ((($6547)) + 10|0);
+ $6549 = HEAP8[$6548>>0]|0;
+ $6550 = $6549&255;
+ $6551 = $6546 ^ $6550;
+ $6552 = (44992 + ($6551)|0);
+ $6553 = HEAP8[$6552>>0]|0;
+ $6554 = $6553&255;
+ $6555 = $2;
+ $6556 = ((($6555)) + 2|0);
+ $6557 = HEAP8[$6556>>0]|0;
+ $6558 = $6557&255;
+ $6559 = $6554 ^ $6558;
+ $6560 = ((10424) + ($6559<<2)|0);
+ $6561 = HEAP32[$6560>>2]|0;
+ $6562 = $6530 ^ $6561;
+ $6563 = $2;
+ $6564 = ((($6563)) + 27|0);
+ $6565 = HEAP8[$6564>>0]|0;
+ $6566 = $6565&255;
+ $6567 = 174 ^ $6566;
+ $6568 = (45248 + ($6567)|0);
+ $6569 = HEAP8[$6568>>0]|0;
+ $6570 = $6569&255;
+ $6571 = $2;
+ $6572 = ((($6571)) + 19|0);
+ $6573 = HEAP8[$6572>>0]|0;
+ $6574 = $6573&255;
+ $6575 = $6570 ^ $6574;
+ $6576 = (44992 + ($6575)|0);
+ $6577 = HEAP8[$6576>>0]|0;
+ $6578 = $6577&255;
+ $6579 = $2;
+ $6580 = ((($6579)) + 11|0);
+ $6581 = HEAP8[$6580>>0]|0;
+ $6582 = $6581&255;
+ $6583 = $6578 ^ $6582;
+ $6584 = (44992 + ($6583)|0);
+ $6585 = HEAP8[$6584>>0]|0;
+ $6586 = $6585&255;
+ $6587 = $2;
+ $6588 = ((($6587)) + 3|0);
+ $6589 = HEAP8[$6588>>0]|0;
+ $6590 = $6589&255;
+ $6591 = $6586 ^ $6590;
+ $6592 = ((11448) + ($6591<<2)|0);
+ $6593 = HEAP32[$6592>>2]|0;
+ $6594 = $6562 ^ $6593;
+ $x = $6594;
+ $6595 = $2;
+ $6596 = ((($6595)) + 28|0);
+ $6597 = HEAP8[$6596>>0]|0;
+ $6598 = $6597&255;
+ $6599 = 91 ^ $6598;
+ $6600 = (44992 + ($6599)|0);
+ $6601 = HEAP8[$6600>>0]|0;
+ $6602 = $6601&255;
+ $6603 = $2;
+ $6604 = ((($6603)) + 20|0);
+ $6605 = HEAP8[$6604>>0]|0;
+ $6606 = $6605&255;
+ $6607 = $6602 ^ $6606;
+ $6608 = (45248 + ($6607)|0);
+ $6609 = HEAP8[$6608>>0]|0;
+ $6610 = $6609&255;
+ $6611 = $2;
+ $6612 = ((($6611)) + 12|0);
+ $6613 = HEAP8[$6612>>0]|0;
+ $6614 = $6613&255;
+ $6615 = $6610 ^ $6614;
+ $6616 = (45248 + ($6615)|0);
+ $6617 = HEAP8[$6616>>0]|0;
+ $6618 = $6617&255;
+ $6619 = $2;
+ $6620 = ((($6619)) + 4|0);
+ $6621 = HEAP8[$6620>>0]|0;
+ $6622 = $6621&255;
+ $6623 = $6618 ^ $6622;
+ $6624 = (8376 + ($6623<<2)|0);
+ $6625 = HEAP32[$6624>>2]|0;
+ $6626 = $2;
+ $6627 = ((($6626)) + 29|0);
+ $6628 = HEAP8[$6627>>0]|0;
+ $6629 = $6628&255;
+ $6630 = 48 ^ $6629;
+ $6631 = (44992 + ($6630)|0);
+ $6632 = HEAP8[$6631>>0]|0;
+ $6633 = $6632&255;
+ $6634 = $2;
+ $6635 = ((($6634)) + 21|0);
+ $6636 = HEAP8[$6635>>0]|0;
+ $6637 = $6636&255;
+ $6638 = $6633 ^ $6637;
+ $6639 = (44992 + ($6638)|0);
+ $6640 = HEAP8[$6639>>0]|0;
+ $6641 = $6640&255;
+ $6642 = $2;
+ $6643 = ((($6642)) + 13|0);
+ $6644 = HEAP8[$6643>>0]|0;
+ $6645 = $6644&255;
+ $6646 = $6641 ^ $6645;
+ $6647 = (45248 + ($6646)|0);
+ $6648 = HEAP8[$6647>>0]|0;
+ $6649 = $6648&255;
+ $6650 = $2;
+ $6651 = ((($6650)) + 5|0);
+ $6652 = HEAP8[$6651>>0]|0;
+ $6653 = $6652&255;
+ $6654 = $6649 ^ $6653;
+ $6655 = ((9400) + ($6654<<2)|0);
+ $6656 = HEAP32[$6655>>2]|0;
+ $6657 = $6625 ^ $6656;
+ $6658 = $2;
+ $6659 = ((($6658)) + 30|0);
+ $6660 = HEAP8[$6659>>0]|0;
+ $6661 = $6660&255;
+ $6662 = 48 ^ $6661;
+ $6663 = (45248 + ($6662)|0);
+ $6664 = HEAP8[$6663>>0]|0;
+ $6665 = $6664&255;
+ $6666 = $2;
+ $6667 = ((($6666)) + 22|0);
+ $6668 = HEAP8[$6667>>0]|0;
+ $6669 = $6668&255;
+ $6670 = $6665 ^ $6669;
+ $6671 = (45248 + ($6670)|0);
+ $6672 = HEAP8[$6671>>0]|0;
+ $6673 = $6672&255;
+ $6674 = $2;
+ $6675 = ((($6674)) + 14|0);
+ $6676 = HEAP8[$6675>>0]|0;
+ $6677 = $6676&255;
+ $6678 = $6673 ^ $6677;
+ $6679 = (44992 + ($6678)|0);
+ $6680 = HEAP8[$6679>>0]|0;
+ $6681 = $6680&255;
+ $6682 = $2;
+ $6683 = ((($6682)) + 6|0);
+ $6684 = HEAP8[$6683>>0]|0;
+ $6685 = $6684&255;
+ $6686 = $6681 ^ $6685;
+ $6687 = ((10424) + ($6686<<2)|0);
+ $6688 = HEAP32[$6687>>2]|0;
+ $6689 = $6657 ^ $6688;
+ $6690 = $2;
+ $6691 = ((($6690)) + 31|0);
+ $6692 = HEAP8[$6691>>0]|0;
+ $6693 = $6692&255;
+ $6694 = 91 ^ $6693;
+ $6695 = (45248 + ($6694)|0);
+ $6696 = HEAP8[$6695>>0]|0;
+ $6697 = $6696&255;
+ $6698 = $2;
+ $6699 = ((($6698)) + 23|0);
+ $6700 = HEAP8[$6699>>0]|0;
+ $6701 = $6700&255;
+ $6702 = $6697 ^ $6701;
+ $6703 = (44992 + ($6702)|0);
+ $6704 = HEAP8[$6703>>0]|0;
+ $6705 = $6704&255;
+ $6706 = $2;
+ $6707 = ((($6706)) + 15|0);
+ $6708 = HEAP8[$6707>>0]|0;
+ $6709 = $6708&255;
+ $6710 = $6705 ^ $6709;
+ $6711 = (44992 + ($6710)|0);
+ $6712 = HEAP8[$6711>>0]|0;
+ $6713 = $6712&255;
+ $6714 = $2;
+ $6715 = ((($6714)) + 7|0);
+ $6716 = HEAP8[$6715>>0]|0;
+ $6717 = $6716&255;
+ $6718 = $6713 ^ $6717;
+ $6719 = ((11448) + ($6718<<2)|0);
+ $6720 = HEAP32[$6719>>2]|0;
+ $6721 = $6689 ^ $6720;
+ $y = $6721;
+ $6722 = $y;
+ $6723 = $6722 << 8;
+ $6724 = $y;
+ $6725 = $6724 >>> 24;
+ $6726 = (($6723) + ($6725))|0;
+ $y = $6726;
+ $6727 = $y;
+ $6728 = $x;
+ $6729 = (($6728) + ($6727))|0;
+ $x = $6729;
+ $6730 = $x;
+ $6731 = $y;
+ $6732 = (($6731) + ($6730))|0;
+ $y = $6732;
+ $6733 = $x;
+ $6734 = $1;
+ $6735 = ((($6734)) + 4128|0);
+ $6736 = ((($6735)) + 104|0);
+ HEAP32[$6736>>2] = $6733;
+ $6737 = $y;
+ $6738 = $6737 << 9;
+ $6739 = $y;
+ $6740 = $6739 >>> 23;
+ $6741 = (($6738) + ($6740))|0;
+ $6742 = $1;
+ $6743 = ((($6742)) + 4128|0);
+ $6744 = ((($6743)) + 108|0);
+ HEAP32[$6744>>2] = $6741;
+ $6745 = $2;
+ $6746 = ((($6745)) + 24|0);
+ $6747 = HEAP8[$6746>>0]|0;
+ $6748 = $6747&255;
+ $6749 = 138 ^ $6748;
+ $6750 = (44992 + ($6749)|0);
+ $6751 = HEAP8[$6750>>0]|0;
+ $6752 = $6751&255;
+ $6753 = $2;
+ $6754 = ((($6753)) + 16|0);
+ $6755 = HEAP8[$6754>>0]|0;
+ $6756 = $6755&255;
+ $6757 = $6752 ^ $6756;
+ $6758 = (45248 + ($6757)|0);
+ $6759 = HEAP8[$6758>>0]|0;
+ $6760 = $6759&255;
+ $6761 = $2;
+ $6762 = ((($6761)) + 8|0);
+ $6763 = HEAP8[$6762>>0]|0;
+ $6764 = $6763&255;
+ $6765 = $6760 ^ $6764;
+ $6766 = (45248 + ($6765)|0);
+ $6767 = HEAP8[$6766>>0]|0;
+ $6768 = $6767&255;
+ $6769 = $2;
+ $6770 = HEAP8[$6769>>0]|0;
+ $6771 = $6770&255;
+ $6772 = $6768 ^ $6771;
+ $6773 = (8376 + ($6772<<2)|0);
+ $6774 = HEAP32[$6773>>2]|0;
+ $6775 = $2;
+ $6776 = ((($6775)) + 25|0);
+ $6777 = HEAP8[$6776>>0]|0;
+ $6778 = $6777&255;
+ $6779 = 132 ^ $6778;
+ $6780 = (44992 + ($6779)|0);
+ $6781 = HEAP8[$6780>>0]|0;
+ $6782 = $6781&255;
+ $6783 = $2;
+ $6784 = ((($6783)) + 17|0);
+ $6785 = HEAP8[$6784>>0]|0;
+ $6786 = $6785&255;
+ $6787 = $6782 ^ $6786;
+ $6788 = (44992 + ($6787)|0);
+ $6789 = HEAP8[$6788>>0]|0;
+ $6790 = $6789&255;
+ $6791 = $2;
+ $6792 = ((($6791)) + 9|0);
+ $6793 = HEAP8[$6792>>0]|0;
+ $6794 = $6793&255;
+ $6795 = $6790 ^ $6794;
+ $6796 = (45248 + ($6795)|0);
+ $6797 = HEAP8[$6796>>0]|0;
+ $6798 = $6797&255;
+ $6799 = $2;
+ $6800 = ((($6799)) + 1|0);
+ $6801 = HEAP8[$6800>>0]|0;
+ $6802 = $6801&255;
+ $6803 = $6798 ^ $6802;
+ $6804 = ((9400) + ($6803<<2)|0);
+ $6805 = HEAP32[$6804>>2]|0;
+ $6806 = $6774 ^ $6805;
+ $6807 = $2;
+ $6808 = ((($6807)) + 26|0);
+ $6809 = HEAP8[$6808>>0]|0;
+ $6810 = $6809&255;
+ $6811 = 132 ^ $6810;
+ $6812 = (45248 + ($6811)|0);
+ $6813 = HEAP8[$6812>>0]|0;
+ $6814 = $6813&255;
+ $6815 = $2;
+ $6816 = ((($6815)) + 18|0);
+ $6817 = HEAP8[$6816>>0]|0;
+ $6818 = $6817&255;
+ $6819 = $6814 ^ $6818;
+ $6820 = (45248 + ($6819)|0);
+ $6821 = HEAP8[$6820>>0]|0;
+ $6822 = $6821&255;
+ $6823 = $2;
+ $6824 = ((($6823)) + 10|0);
+ $6825 = HEAP8[$6824>>0]|0;
+ $6826 = $6825&255;
+ $6827 = $6822 ^ $6826;
+ $6828 = (44992 + ($6827)|0);
+ $6829 = HEAP8[$6828>>0]|0;
+ $6830 = $6829&255;
+ $6831 = $2;
+ $6832 = ((($6831)) + 2|0);
+ $6833 = HEAP8[$6832>>0]|0;
+ $6834 = $6833&255;
+ $6835 = $6830 ^ $6834;
+ $6836 = ((10424) + ($6835<<2)|0);
+ $6837 = HEAP32[$6836>>2]|0;
+ $6838 = $6806 ^ $6837;
+ $6839 = $2;
+ $6840 = ((($6839)) + 27|0);
+ $6841 = HEAP8[$6840>>0]|0;
+ $6842 = $6841&255;
+ $6843 = 138 ^ $6842;
+ $6844 = (45248 + ($6843)|0);
+ $6845 = HEAP8[$6844>>0]|0;
+ $6846 = $6845&255;
+ $6847 = $2;
+ $6848 = ((($6847)) + 19|0);
+ $6849 = HEAP8[$6848>>0]|0;
+ $6850 = $6849&255;
+ $6851 = $6846 ^ $6850;
+ $6852 = (44992 + ($6851)|0);
+ $6853 = HEAP8[$6852>>0]|0;
+ $6854 = $6853&255;
+ $6855 = $2;
+ $6856 = ((($6855)) + 11|0);
+ $6857 = HEAP8[$6856>>0]|0;
+ $6858 = $6857&255;
+ $6859 = $6854 ^ $6858;
+ $6860 = (44992 + ($6859)|0);
+ $6861 = HEAP8[$6860>>0]|0;
+ $6862 = $6861&255;
+ $6863 = $2;
+ $6864 = ((($6863)) + 3|0);
+ $6865 = HEAP8[$6864>>0]|0;
+ $6866 = $6865&255;
+ $6867 = $6862 ^ $6866;
+ $6868 = ((11448) + ($6867<<2)|0);
+ $6869 = HEAP32[$6868>>2]|0;
+ $6870 = $6838 ^ $6869;
+ $x = $6870;
+ $6871 = $2;
+ $6872 = ((($6871)) + 28|0);
+ $6873 = HEAP8[$6872>>0]|0;
+ $6874 = $6873&255;
+ $6875 = 0 ^ $6874;
+ $6876 = (44992 + ($6875)|0);
+ $6877 = HEAP8[$6876>>0]|0;
+ $6878 = $6877&255;
+ $6879 = $2;
+ $6880 = ((($6879)) + 20|0);
+ $6881 = HEAP8[$6880>>0]|0;
+ $6882 = $6881&255;
+ $6883 = $6878 ^ $6882;
+ $6884 = (45248 + ($6883)|0);
+ $6885 = HEAP8[$6884>>0]|0;
+ $6886 = $6885&255;
+ $6887 = $2;
+ $6888 = ((($6887)) + 12|0);
+ $6889 = HEAP8[$6888>>0]|0;
+ $6890 = $6889&255;
+ $6891 = $6886 ^ $6890;
+ $6892 = (45248 + ($6891)|0);
+ $6893 = HEAP8[$6892>>0]|0;
+ $6894 = $6893&255;
+ $6895 = $2;
+ $6896 = ((($6895)) + 4|0);
+ $6897 = HEAP8[$6896>>0]|0;
+ $6898 = $6897&255;
+ $6899 = $6894 ^ $6898;
+ $6900 = (8376 + ($6899<<2)|0);
+ $6901 = HEAP32[$6900>>2]|0;
+ $6902 = $2;
+ $6903 = ((($6902)) + 29|0);
+ $6904 = HEAP8[$6903>>0]|0;
+ $6905 = $6904&255;
+ $6906 = 84 ^ $6905;
+ $6907 = (44992 + ($6906)|0);
+ $6908 = HEAP8[$6907>>0]|0;
+ $6909 = $6908&255;
+ $6910 = $2;
+ $6911 = ((($6910)) + 21|0);
+ $6912 = HEAP8[$6911>>0]|0;
+ $6913 = $6912&255;
+ $6914 = $6909 ^ $6913;
+ $6915 = (44992 + ($6914)|0);
+ $6916 = HEAP8[$6915>>0]|0;
+ $6917 = $6916&255;
+ $6918 = $2;
+ $6919 = ((($6918)) + 13|0);
+ $6920 = HEAP8[$6919>>0]|0;
+ $6921 = $6920&255;
+ $6922 = $6917 ^ $6921;
+ $6923 = (45248 + ($6922)|0);
+ $6924 = HEAP8[$6923>>0]|0;
+ $6925 = $6924&255;
+ $6926 = $2;
+ $6927 = ((($6926)) + 5|0);
+ $6928 = HEAP8[$6927>>0]|0;
+ $6929 = $6928&255;
+ $6930 = $6925 ^ $6929;
+ $6931 = ((9400) + ($6930<<2)|0);
+ $6932 = HEAP32[$6931>>2]|0;
+ $6933 = $6901 ^ $6932;
+ $6934 = $2;
+ $6935 = ((($6934)) + 30|0);
+ $6936 = HEAP8[$6935>>0]|0;
+ $6937 = $6936&255;
+ $6938 = 84 ^ $6937;
+ $6939 = (45248 + ($6938)|0);
+ $6940 = HEAP8[$6939>>0]|0;
+ $6941 = $6940&255;
+ $6942 = $2;
+ $6943 = ((($6942)) + 22|0);
+ $6944 = HEAP8[$6943>>0]|0;
+ $6945 = $6944&255;
+ $6946 = $6941 ^ $6945;
+ $6947 = (45248 + ($6946)|0);
+ $6948 = HEAP8[$6947>>0]|0;
+ $6949 = $6948&255;
+ $6950 = $2;
+ $6951 = ((($6950)) + 14|0);
+ $6952 = HEAP8[$6951>>0]|0;
+ $6953 = $6952&255;
+ $6954 = $6949 ^ $6953;
+ $6955 = (44992 + ($6954)|0);
+ $6956 = HEAP8[$6955>>0]|0;
+ $6957 = $6956&255;
+ $6958 = $2;
+ $6959 = ((($6958)) + 6|0);
+ $6960 = HEAP8[$6959>>0]|0;
+ $6961 = $6960&255;
+ $6962 = $6957 ^ $6961;
+ $6963 = ((10424) + ($6962<<2)|0);
+ $6964 = HEAP32[$6963>>2]|0;
+ $6965 = $6933 ^ $6964;
+ $6966 = $2;
+ $6967 = ((($6966)) + 31|0);
+ $6968 = HEAP8[$6967>>0]|0;
+ $6969 = $6968&255;
+ $6970 = 0 ^ $6969;
+ $6971 = (45248 + ($6970)|0);
+ $6972 = HEAP8[$6971>>0]|0;
+ $6973 = $6972&255;
+ $6974 = $2;
+ $6975 = ((($6974)) + 23|0);
+ $6976 = HEAP8[$6975>>0]|0;
+ $6977 = $6976&255;
+ $6978 = $6973 ^ $6977;
+ $6979 = (44992 + ($6978)|0);
+ $6980 = HEAP8[$6979>>0]|0;
+ $6981 = $6980&255;
+ $6982 = $2;
+ $6983 = ((($6982)) + 15|0);
+ $6984 = HEAP8[$6983>>0]|0;
+ $6985 = $6984&255;
+ $6986 = $6981 ^ $6985;
+ $6987 = (44992 + ($6986)|0);
+ $6988 = HEAP8[$6987>>0]|0;
+ $6989 = $6988&255;
+ $6990 = $2;
+ $6991 = ((($6990)) + 7|0);
+ $6992 = HEAP8[$6991>>0]|0;
+ $6993 = $6992&255;
+ $6994 = $6989 ^ $6993;
+ $6995 = ((11448) + ($6994<<2)|0);
+ $6996 = HEAP32[$6995>>2]|0;
+ $6997 = $6965 ^ $6996;
+ $y = $6997;
+ $6998 = $y;
+ $6999 = $6998 << 8;
+ $7000 = $y;
+ $7001 = $7000 >>> 24;
+ $7002 = (($6999) + ($7001))|0;
+ $y = $7002;
+ $7003 = $y;
+ $7004 = $x;
+ $7005 = (($7004) + ($7003))|0;
+ $x = $7005;
+ $7006 = $x;
+ $7007 = $y;
+ $7008 = (($7007) + ($7006))|0;
+ $y = $7008;
+ $7009 = $x;
+ $7010 = $1;
+ $7011 = ((($7010)) + 4128|0);
+ $7012 = ((($7011)) + 112|0);
+ HEAP32[$7012>>2] = $7009;
+ $7013 = $y;
+ $7014 = $7013 << 9;
+ $7015 = $y;
+ $7016 = $7015 >>> 23;
+ $7017 = (($7014) + ($7016))|0;
+ $7018 = $1;
+ $7019 = ((($7018)) + 4128|0);
+ $7020 = ((($7019)) + 116|0);
+ HEAP32[$7020>>2] = $7017;
+ $7021 = $2;
+ $7022 = ((($7021)) + 24|0);
+ $7023 = HEAP8[$7022>>0]|0;
+ $7024 = $7023&255;
+ $7025 = 188 ^ $7024;
+ $7026 = (44992 + ($7025)|0);
+ $7027 = HEAP8[$7026>>0]|0;
+ $7028 = $7027&255;
+ $7029 = $2;
+ $7030 = ((($7029)) + 16|0);
+ $7031 = HEAP8[$7030>>0]|0;
+ $7032 = $7031&255;
+ $7033 = $7028 ^ $7032;
+ $7034 = (45248 + ($7033)|0);
+ $7035 = HEAP8[$7034>>0]|0;
+ $7036 = $7035&255;
+ $7037 = $2;
+ $7038 = ((($7037)) + 8|0);
+ $7039 = HEAP8[$7038>>0]|0;
+ $7040 = $7039&255;
+ $7041 = $7036 ^ $7040;
+ $7042 = (45248 + ($7041)|0);
+ $7043 = HEAP8[$7042>>0]|0;
+ $7044 = $7043&255;
+ $7045 = $2;
+ $7046 = HEAP8[$7045>>0]|0;
+ $7047 = $7046&255;
+ $7048 = $7044 ^ $7047;
+ $7049 = (8376 + ($7048<<2)|0);
+ $7050 = HEAP32[$7049>>2]|0;
+ $7051 = $2;
+ $7052 = ((($7051)) + 25|0);
+ $7053 = HEAP8[$7052>>0]|0;
+ $7054 = $7053&255;
+ $7055 = 223 ^ $7054;
+ $7056 = (44992 + ($7055)|0);
+ $7057 = HEAP8[$7056>>0]|0;
+ $7058 = $7057&255;
+ $7059 = $2;
+ $7060 = ((($7059)) + 17|0);
+ $7061 = HEAP8[$7060>>0]|0;
+ $7062 = $7061&255;
+ $7063 = $7058 ^ $7062;
+ $7064 = (44992 + ($7063)|0);
+ $7065 = HEAP8[$7064>>0]|0;
+ $7066 = $7065&255;
+ $7067 = $2;
+ $7068 = ((($7067)) + 9|0);
+ $7069 = HEAP8[$7068>>0]|0;
+ $7070 = $7069&255;
+ $7071 = $7066 ^ $7070;
+ $7072 = (45248 + ($7071)|0);
+ $7073 = HEAP8[$7072>>0]|0;
+ $7074 = $7073&255;
+ $7075 = $2;
+ $7076 = ((($7075)) + 1|0);
+ $7077 = HEAP8[$7076>>0]|0;
+ $7078 = $7077&255;
+ $7079 = $7074 ^ $7078;
+ $7080 = ((9400) + ($7079<<2)|0);
+ $7081 = HEAP32[$7080>>2]|0;
+ $7082 = $7050 ^ $7081;
+ $7083 = $2;
+ $7084 = ((($7083)) + 26|0);
+ $7085 = HEAP8[$7084>>0]|0;
+ $7086 = $7085&255;
+ $7087 = 223 ^ $7086;
+ $7088 = (45248 + ($7087)|0);
+ $7089 = HEAP8[$7088>>0]|0;
+ $7090 = $7089&255;
+ $7091 = $2;
+ $7092 = ((($7091)) + 18|0);
+ $7093 = HEAP8[$7092>>0]|0;
+ $7094 = $7093&255;
+ $7095 = $7090 ^ $7094;
+ $7096 = (45248 + ($7095)|0);
+ $7097 = HEAP8[$7096>>0]|0;
+ $7098 = $7097&255;
+ $7099 = $2;
+ $7100 = ((($7099)) + 10|0);
+ $7101 = HEAP8[$7100>>0]|0;
+ $7102 = $7101&255;
+ $7103 = $7098 ^ $7102;
+ $7104 = (44992 + ($7103)|0);
+ $7105 = HEAP8[$7104>>0]|0;
+ $7106 = $7105&255;
+ $7107 = $2;
+ $7108 = ((($7107)) + 2|0);
+ $7109 = HEAP8[$7108>>0]|0;
+ $7110 = $7109&255;
+ $7111 = $7106 ^ $7110;
+ $7112 = ((10424) + ($7111<<2)|0);
+ $7113 = HEAP32[$7112>>2]|0;
+ $7114 = $7082 ^ $7113;
+ $7115 = $2;
+ $7116 = ((($7115)) + 27|0);
+ $7117 = HEAP8[$7116>>0]|0;
+ $7118 = $7117&255;
+ $7119 = 188 ^ $7118;
+ $7120 = (45248 + ($7119)|0);
+ $7121 = HEAP8[$7120>>0]|0;
+ $7122 = $7121&255;
+ $7123 = $2;
+ $7124 = ((($7123)) + 19|0);
+ $7125 = HEAP8[$7124>>0]|0;
+ $7126 = $7125&255;
+ $7127 = $7122 ^ $7126;
+ $7128 = (44992 + ($7127)|0);
+ $7129 = HEAP8[$7128>>0]|0;
+ $7130 = $7129&255;
+ $7131 = $2;
+ $7132 = ((($7131)) + 11|0);
+ $7133 = HEAP8[$7132>>0]|0;
+ $7134 = $7133&255;
+ $7135 = $7130 ^ $7134;
+ $7136 = (44992 + ($7135)|0);
+ $7137 = HEAP8[$7136>>0]|0;
+ $7138 = $7137&255;
+ $7139 = $2;
+ $7140 = ((($7139)) + 3|0);
+ $7141 = HEAP8[$7140>>0]|0;
+ $7142 = $7141&255;
+ $7143 = $7138 ^ $7142;
+ $7144 = ((11448) + ($7143<<2)|0);
+ $7145 = HEAP32[$7144>>2]|0;
+ $7146 = $7114 ^ $7145;
+ $x = $7146;
+ $7147 = $2;
+ $7148 = ((($7147)) + 28|0);
+ $7149 = HEAP8[$7148>>0]|0;
+ $7150 = $7149&255;
+ $7151 = 157 ^ $7150;
+ $7152 = (44992 + ($7151)|0);
+ $7153 = HEAP8[$7152>>0]|0;
+ $7154 = $7153&255;
+ $7155 = $2;
+ $7156 = ((($7155)) + 20|0);
+ $7157 = HEAP8[$7156>>0]|0;
+ $7158 = $7157&255;
+ $7159 = $7154 ^ $7158;
+ $7160 = (45248 + ($7159)|0);
+ $7161 = HEAP8[$7160>>0]|0;
+ $7162 = $7161&255;
+ $7163 = $2;
+ $7164 = ((($7163)) + 12|0);
+ $7165 = HEAP8[$7164>>0]|0;
+ $7166 = $7165&255;
+ $7167 = $7162 ^ $7166;
+ $7168 = (45248 + ($7167)|0);
+ $7169 = HEAP8[$7168>>0]|0;
+ $7170 = $7169&255;
+ $7171 = $2;
+ $7172 = ((($7171)) + 4|0);
+ $7173 = HEAP8[$7172>>0]|0;
+ $7174 = $7173&255;
+ $7175 = $7170 ^ $7174;
+ $7176 = (8376 + ($7175<<2)|0);
+ $7177 = HEAP32[$7176>>2]|0;
+ $7178 = $2;
+ $7179 = ((($7178)) + 29|0);
+ $7180 = HEAP8[$7179>>0]|0;
+ $7181 = $7180&255;
+ $7182 = 35 ^ $7181;
+ $7183 = (44992 + ($7182)|0);
+ $7184 = HEAP8[$7183>>0]|0;
+ $7185 = $7184&255;
+ $7186 = $2;
+ $7187 = ((($7186)) + 21|0);
+ $7188 = HEAP8[$7187>>0]|0;
+ $7189 = $7188&255;
+ $7190 = $7185 ^ $7189;
+ $7191 = (44992 + ($7190)|0);
+ $7192 = HEAP8[$7191>>0]|0;
+ $7193 = $7192&255;
+ $7194 = $2;
+ $7195 = ((($7194)) + 13|0);
+ $7196 = HEAP8[$7195>>0]|0;
+ $7197 = $7196&255;
+ $7198 = $7193 ^ $7197;
+ $7199 = (45248 + ($7198)|0);
+ $7200 = HEAP8[$7199>>0]|0;
+ $7201 = $7200&255;
+ $7202 = $2;
+ $7203 = ((($7202)) + 5|0);
+ $7204 = HEAP8[$7203>>0]|0;
+ $7205 = $7204&255;
+ $7206 = $7201 ^ $7205;
+ $7207 = ((9400) + ($7206<<2)|0);
+ $7208 = HEAP32[$7207>>2]|0;
+ $7209 = $7177 ^ $7208;
+ $7210 = $2;
+ $7211 = ((($7210)) + 30|0);
+ $7212 = HEAP8[$7211>>0]|0;
+ $7213 = $7212&255;
+ $7214 = 35 ^ $7213;
+ $7215 = (45248 + ($7214)|0);
+ $7216 = HEAP8[$7215>>0]|0;
+ $7217 = $7216&255;
+ $7218 = $2;
+ $7219 = ((($7218)) + 22|0);
+ $7220 = HEAP8[$7219>>0]|0;
+ $7221 = $7220&255;
+ $7222 = $7217 ^ $7221;
+ $7223 = (45248 + ($7222)|0);
+ $7224 = HEAP8[$7223>>0]|0;
+ $7225 = $7224&255;
+ $7226 = $2;
+ $7227 = ((($7226)) + 14|0);
+ $7228 = HEAP8[$7227>>0]|0;
+ $7229 = $7228&255;
+ $7230 = $7225 ^ $7229;
+ $7231 = (44992 + ($7230)|0);
+ $7232 = HEAP8[$7231>>0]|0;
+ $7233 = $7232&255;
+ $7234 = $2;
+ $7235 = ((($7234)) + 6|0);
+ $7236 = HEAP8[$7235>>0]|0;
+ $7237 = $7236&255;
+ $7238 = $7233 ^ $7237;
+ $7239 = ((10424) + ($7238<<2)|0);
+ $7240 = HEAP32[$7239>>2]|0;
+ $7241 = $7209 ^ $7240;
+ $7242 = $2;
+ $7243 = ((($7242)) + 31|0);
+ $7244 = HEAP8[$7243>>0]|0;
+ $7245 = $7244&255;
+ $7246 = 157 ^ $7245;
+ $7247 = (45248 + ($7246)|0);
+ $7248 = HEAP8[$7247>>0]|0;
+ $7249 = $7248&255;
+ $7250 = $2;
+ $7251 = ((($7250)) + 23|0);
+ $7252 = HEAP8[$7251>>0]|0;
+ $7253 = $7252&255;
+ $7254 = $7249 ^ $7253;
+ $7255 = (44992 + ($7254)|0);
+ $7256 = HEAP8[$7255>>0]|0;
+ $7257 = $7256&255;
+ $7258 = $2;
+ $7259 = ((($7258)) + 15|0);
+ $7260 = HEAP8[$7259>>0]|0;
+ $7261 = $7260&255;
+ $7262 = $7257 ^ $7261;
+ $7263 = (44992 + ($7262)|0);
+ $7264 = HEAP8[$7263>>0]|0;
+ $7265 = $7264&255;
+ $7266 = $2;
+ $7267 = ((($7266)) + 7|0);
+ $7268 = HEAP8[$7267>>0]|0;
+ $7269 = $7268&255;
+ $7270 = $7265 ^ $7269;
+ $7271 = ((11448) + ($7270<<2)|0);
+ $7272 = HEAP32[$7271>>2]|0;
+ $7273 = $7241 ^ $7272;
+ $y = $7273;
+ $7274 = $y;
+ $7275 = $7274 << 8;
+ $7276 = $y;
+ $7277 = $7276 >>> 24;
+ $7278 = (($7275) + ($7277))|0;
+ $y = $7278;
+ $7279 = $y;
+ $7280 = $x;
+ $7281 = (($7280) + ($7279))|0;
+ $x = $7281;
+ $7282 = $x;
+ $7283 = $y;
+ $7284 = (($7283) + ($7282))|0;
+ $y = $7284;
+ $7285 = $x;
+ $7286 = $1;
+ $7287 = ((($7286)) + 4128|0);
+ $7288 = ((($7287)) + 120|0);
+ HEAP32[$7288>>2] = $7285;
+ $7289 = $y;
+ $7290 = $7289 << 9;
+ $7291 = $y;
+ $7292 = $7291 >>> 23;
+ $7293 = (($7290) + ($7292))|0;
+ $7294 = $1;
+ $7295 = ((($7294)) + 4128|0);
+ $7296 = ((($7295)) + 124|0);
+ HEAP32[$7296>>2] = $7293;
+ } else {
+ $j = 0;
+ $i = 0;
+ $k = 1;
+ while(1) {
+ $7297 = $i;
+ $7298 = ($7297|0)<(256);
+ if (!($7298)) {
+ break;
+ }
+ $7299 = $j;
+ $7300 = (44480 + ($7299)|0);
+ $7301 = HEAP8[$7300>>0]|0;
+ $7302 = $7301&255;
+ $7303 = $sa;
+ $7304 = $7303&255;
+ $7305 = $7302 ^ $7304;
+ $7306 = (45248 + ($7305)|0);
+ $7307 = HEAP8[$7306>>0]|0;
+ $7308 = $7307&255;
+ $7309 = $se;
+ $7310 = $7309&255;
+ $7311 = $7308 ^ $7310;
+ $7312 = (8376 + ($7311<<2)|0);
+ $7313 = HEAP32[$7312>>2]|0;
+ $7314 = $i;
+ $7315 = $1;
+ $7316 = (($7315) + ($7314<<2)|0);
+ HEAP32[$7316>>2] = $7313;
+ $7317 = $k;
+ $7318 = (44480 + ($7317)|0);
+ $7319 = HEAP8[$7318>>0]|0;
+ $7320 = $7319&255;
+ $7321 = $sb;
+ $7322 = $7321&255;
+ $7323 = $7320 ^ $7322;
+ $7324 = (45248 + ($7323)|0);
+ $7325 = HEAP8[$7324>>0]|0;
+ $7326 = $7325&255;
+ $7327 = $sf;
+ $7328 = $7327&255;
+ $7329 = $7326 ^ $7328;
+ $7330 = ((9400) + ($7329<<2)|0);
+ $7331 = HEAP32[$7330>>2]|0;
+ $7332 = $i;
+ $7333 = $1;
+ $7334 = ((($7333)) + 1024|0);
+ $7335 = (($7334) + ($7332<<2)|0);
+ HEAP32[$7335>>2] = $7331;
+ $7336 = $j;
+ $7337 = (44480 + ($7336)|0);
+ $7338 = HEAP8[$7337>>0]|0;
+ $7339 = $7338&255;
+ $7340 = $sc;
+ $7341 = $7340&255;
+ $7342 = $7339 ^ $7341;
+ $7343 = (44992 + ($7342)|0);
+ $7344 = HEAP8[$7343>>0]|0;
+ $7345 = $7344&255;
+ $7346 = $sg;
+ $7347 = $7346&255;
+ $7348 = $7345 ^ $7347;
+ $7349 = ((10424) + ($7348<<2)|0);
+ $7350 = HEAP32[$7349>>2]|0;
+ $7351 = $i;
+ $7352 = $1;
+ $7353 = ((($7352)) + 2048|0);
+ $7354 = (($7353) + ($7351<<2)|0);
+ HEAP32[$7354>>2] = $7350;
+ $7355 = $k;
+ $7356 = (44480 + ($7355)|0);
+ $7357 = HEAP8[$7356>>0]|0;
+ $7358 = $7357&255;
+ $7359 = $sd;
+ $7360 = $7359&255;
+ $7361 = $7358 ^ $7360;
+ $7362 = (44992 + ($7361)|0);
+ $7363 = HEAP8[$7362>>0]|0;
+ $7364 = $7363&255;
+ $7365 = $sh;
+ $7366 = $7365&255;
+ $7367 = $7364 ^ $7366;
+ $7368 = ((11448) + ($7367<<2)|0);
+ $7369 = HEAP32[$7368>>2]|0;
+ $7370 = $i;
+ $7371 = $1;
+ $7372 = ((($7371)) + 3072|0);
+ $7373 = (($7372) + ($7370<<2)|0);
+ HEAP32[$7373>>2] = $7369;
+ $7374 = $i;
+ $7375 = (($7374) + 1)|0;
+ $i = $7375;
+ $7376 = $j;
+ $7377 = (($7376) + 2)|0;
+ $j = $7377;
+ $7378 = $k;
+ $7379 = (($7378) + 2)|0;
+ $k = $7379;
+ }
+ $7380 = $2;
+ $7381 = ((($7380)) + 8|0);
+ $7382 = HEAP8[$7381>>0]|0;
+ $7383 = $7382&255;
+ $7384 = 169 ^ $7383;
+ $7385 = (45248 + ($7384)|0);
+ $7386 = HEAP8[$7385>>0]|0;
+ $7387 = $7386&255;
+ $7388 = $2;
+ $7389 = HEAP8[$7388>>0]|0;
+ $7390 = $7389&255;
+ $7391 = $7387 ^ $7390;
+ $7392 = (8376 + ($7391<<2)|0);
+ $7393 = HEAP32[$7392>>2]|0;
+ $7394 = $2;
+ $7395 = ((($7394)) + 9|0);
+ $7396 = HEAP8[$7395>>0]|0;
+ $7397 = $7396&255;
+ $7398 = 117 ^ $7397;
+ $7399 = (45248 + ($7398)|0);
+ $7400 = HEAP8[$7399>>0]|0;
+ $7401 = $7400&255;
+ $7402 = $2;
+ $7403 = ((($7402)) + 1|0);
+ $7404 = HEAP8[$7403>>0]|0;
+ $7405 = $7404&255;
+ $7406 = $7401 ^ $7405;
+ $7407 = ((9400) + ($7406<<2)|0);
+ $7408 = HEAP32[$7407>>2]|0;
+ $7409 = $7393 ^ $7408;
+ $7410 = $2;
+ $7411 = ((($7410)) + 10|0);
+ $7412 = HEAP8[$7411>>0]|0;
+ $7413 = $7412&255;
+ $7414 = 169 ^ $7413;
+ $7415 = (44992 + ($7414)|0);
+ $7416 = HEAP8[$7415>>0]|0;
+ $7417 = $7416&255;
+ $7418 = $2;
+ $7419 = ((($7418)) + 2|0);
+ $7420 = HEAP8[$7419>>0]|0;
+ $7421 = $7420&255;
+ $7422 = $7417 ^ $7421;
+ $7423 = ((10424) + ($7422<<2)|0);
+ $7424 = HEAP32[$7423>>2]|0;
+ $7425 = $7409 ^ $7424;
+ $7426 = $2;
+ $7427 = ((($7426)) + 11|0);
+ $7428 = HEAP8[$7427>>0]|0;
+ $7429 = $7428&255;
+ $7430 = 117 ^ $7429;
+ $7431 = (44992 + ($7430)|0);
+ $7432 = HEAP8[$7431>>0]|0;
+ $7433 = $7432&255;
+ $7434 = $2;
+ $7435 = ((($7434)) + 3|0);
+ $7436 = HEAP8[$7435>>0]|0;
+ $7437 = $7436&255;
+ $7438 = $7433 ^ $7437;
+ $7439 = ((11448) + ($7438<<2)|0);
+ $7440 = HEAP32[$7439>>2]|0;
+ $7441 = $7425 ^ $7440;
+ $x = $7441;
+ $7442 = $2;
+ $7443 = ((($7442)) + 12|0);
+ $7444 = HEAP8[$7443>>0]|0;
+ $7445 = $7444&255;
+ $7446 = 103 ^ $7445;
+ $7447 = (45248 + ($7446)|0);
+ $7448 = HEAP8[$7447>>0]|0;
+ $7449 = $7448&255;
+ $7450 = $2;
+ $7451 = ((($7450)) + 4|0);
+ $7452 = HEAP8[$7451>>0]|0;
+ $7453 = $7452&255;
+ $7454 = $7449 ^ $7453;
+ $7455 = (8376 + ($7454<<2)|0);
+ $7456 = HEAP32[$7455>>2]|0;
+ $7457 = $2;
+ $7458 = ((($7457)) + 13|0);
+ $7459 = HEAP8[$7458>>0]|0;
+ $7460 = $7459&255;
+ $7461 = 243 ^ $7460;
+ $7462 = (45248 + ($7461)|0);
+ $7463 = HEAP8[$7462>>0]|0;
+ $7464 = $7463&255;
+ $7465 = $2;
+ $7466 = ((($7465)) + 5|0);
+ $7467 = HEAP8[$7466>>0]|0;
+ $7468 = $7467&255;
+ $7469 = $7464 ^ $7468;
+ $7470 = ((9400) + ($7469<<2)|0);
+ $7471 = HEAP32[$7470>>2]|0;
+ $7472 = $7456 ^ $7471;
+ $7473 = $2;
+ $7474 = ((($7473)) + 14|0);
+ $7475 = HEAP8[$7474>>0]|0;
+ $7476 = $7475&255;
+ $7477 = 103 ^ $7476;
+ $7478 = (44992 + ($7477)|0);
+ $7479 = HEAP8[$7478>>0]|0;
+ $7480 = $7479&255;
+ $7481 = $2;
+ $7482 = ((($7481)) + 6|0);
+ $7483 = HEAP8[$7482>>0]|0;
+ $7484 = $7483&255;
+ $7485 = $7480 ^ $7484;
+ $7486 = ((10424) + ($7485<<2)|0);
+ $7487 = HEAP32[$7486>>2]|0;
+ $7488 = $7472 ^ $7487;
+ $7489 = $2;
+ $7490 = ((($7489)) + 15|0);
+ $7491 = HEAP8[$7490>>0]|0;
+ $7492 = $7491&255;
+ $7493 = 243 ^ $7492;
+ $7494 = (44992 + ($7493)|0);
+ $7495 = HEAP8[$7494>>0]|0;
+ $7496 = $7495&255;
+ $7497 = $2;
+ $7498 = ((($7497)) + 7|0);
+ $7499 = HEAP8[$7498>>0]|0;
+ $7500 = $7499&255;
+ $7501 = $7496 ^ $7500;
+ $7502 = ((11448) + ($7501<<2)|0);
+ $7503 = HEAP32[$7502>>2]|0;
+ $7504 = $7488 ^ $7503;
+ $y = $7504;
+ $7505 = $y;
+ $7506 = $7505 << 8;
+ $7507 = $y;
+ $7508 = $7507 >>> 24;
+ $7509 = (($7506) + ($7508))|0;
+ $y = $7509;
+ $7510 = $y;
+ $7511 = $x;
+ $7512 = (($7511) + ($7510))|0;
+ $x = $7512;
+ $7513 = $x;
+ $7514 = $y;
+ $7515 = (($7514) + ($7513))|0;
+ $y = $7515;
+ $7516 = $x;
+ $7517 = $1;
+ $7518 = ((($7517)) + 4096|0);
+ HEAP32[$7518>>2] = $7516;
+ $7519 = $y;
+ $7520 = $7519 << 9;
+ $7521 = $y;
+ $7522 = $7521 >>> 23;
+ $7523 = (($7520) + ($7522))|0;
+ $7524 = $1;
+ $7525 = ((($7524)) + 4096|0);
+ $7526 = ((($7525)) + 4|0);
+ HEAP32[$7526>>2] = $7523;
+ $7527 = $2;
+ $7528 = ((($7527)) + 8|0);
+ $7529 = HEAP8[$7528>>0]|0;
+ $7530 = $7529&255;
+ $7531 = 179 ^ $7530;
+ $7532 = (45248 + ($7531)|0);
+ $7533 = HEAP8[$7532>>0]|0;
+ $7534 = $7533&255;
+ $7535 = $2;
+ $7536 = HEAP8[$7535>>0]|0;
+ $7537 = $7536&255;
+ $7538 = $7534 ^ $7537;
+ $7539 = (8376 + ($7538<<2)|0);
+ $7540 = HEAP32[$7539>>2]|0;
+ $7541 = $2;
+ $7542 = ((($7541)) + 9|0);
+ $7543 = HEAP8[$7542>>0]|0;
+ $7544 = $7543&255;
+ $7545 = 198 ^ $7544;
+ $7546 = (45248 + ($7545)|0);
+ $7547 = HEAP8[$7546>>0]|0;
+ $7548 = $7547&255;
+ $7549 = $2;
+ $7550 = ((($7549)) + 1|0);
+ $7551 = HEAP8[$7550>>0]|0;
+ $7552 = $7551&255;
+ $7553 = $7548 ^ $7552;
+ $7554 = ((9400) + ($7553<<2)|0);
+ $7555 = HEAP32[$7554>>2]|0;
+ $7556 = $7540 ^ $7555;
+ $7557 = $2;
+ $7558 = ((($7557)) + 10|0);
+ $7559 = HEAP8[$7558>>0]|0;
+ $7560 = $7559&255;
+ $7561 = 179 ^ $7560;
+ $7562 = (44992 + ($7561)|0);
+ $7563 = HEAP8[$7562>>0]|0;
+ $7564 = $7563&255;
+ $7565 = $2;
+ $7566 = ((($7565)) + 2|0);
+ $7567 = HEAP8[$7566>>0]|0;
+ $7568 = $7567&255;
+ $7569 = $7564 ^ $7568;
+ $7570 = ((10424) + ($7569<<2)|0);
+ $7571 = HEAP32[$7570>>2]|0;
+ $7572 = $7556 ^ $7571;
+ $7573 = $2;
+ $7574 = ((($7573)) + 11|0);
+ $7575 = HEAP8[$7574>>0]|0;
+ $7576 = $7575&255;
+ $7577 = 198 ^ $7576;
+ $7578 = (44992 + ($7577)|0);
+ $7579 = HEAP8[$7578>>0]|0;
+ $7580 = $7579&255;
+ $7581 = $2;
+ $7582 = ((($7581)) + 3|0);
+ $7583 = HEAP8[$7582>>0]|0;
+ $7584 = $7583&255;
+ $7585 = $7580 ^ $7584;
+ $7586 = ((11448) + ($7585<<2)|0);
+ $7587 = HEAP32[$7586>>2]|0;
+ $7588 = $7572 ^ $7587;
+ $x = $7588;
+ $7589 = $2;
+ $7590 = ((($7589)) + 12|0);
+ $7591 = HEAP8[$7590>>0]|0;
+ $7592 = $7591&255;
+ $7593 = 232 ^ $7592;
+ $7594 = (45248 + ($7593)|0);
+ $7595 = HEAP8[$7594>>0]|0;
+ $7596 = $7595&255;
+ $7597 = $2;
+ $7598 = ((($7597)) + 4|0);
+ $7599 = HEAP8[$7598>>0]|0;
+ $7600 = $7599&255;
+ $7601 = $7596 ^ $7600;
+ $7602 = (8376 + ($7601<<2)|0);
+ $7603 = HEAP32[$7602>>2]|0;
+ $7604 = $2;
+ $7605 = ((($7604)) + 13|0);
+ $7606 = HEAP8[$7605>>0]|0;
+ $7607 = $7606&255;
+ $7608 = 244 ^ $7607;
+ $7609 = (45248 + ($7608)|0);
+ $7610 = HEAP8[$7609>>0]|0;
+ $7611 = $7610&255;
+ $7612 = $2;
+ $7613 = ((($7612)) + 5|0);
+ $7614 = HEAP8[$7613>>0]|0;
+ $7615 = $7614&255;
+ $7616 = $7611 ^ $7615;
+ $7617 = ((9400) + ($7616<<2)|0);
+ $7618 = HEAP32[$7617>>2]|0;
+ $7619 = $7603 ^ $7618;
+ $7620 = $2;
+ $7621 = ((($7620)) + 14|0);
+ $7622 = HEAP8[$7621>>0]|0;
+ $7623 = $7622&255;
+ $7624 = 232 ^ $7623;
+ $7625 = (44992 + ($7624)|0);
+ $7626 = HEAP8[$7625>>0]|0;
+ $7627 = $7626&255;
+ $7628 = $2;
+ $7629 = ((($7628)) + 6|0);
+ $7630 = HEAP8[$7629>>0]|0;
+ $7631 = $7630&255;
+ $7632 = $7627 ^ $7631;
+ $7633 = ((10424) + ($7632<<2)|0);
+ $7634 = HEAP32[$7633>>2]|0;
+ $7635 = $7619 ^ $7634;
+ $7636 = $2;
+ $7637 = ((($7636)) + 15|0);
+ $7638 = HEAP8[$7637>>0]|0;
+ $7639 = $7638&255;
+ $7640 = 244 ^ $7639;
+ $7641 = (44992 + ($7640)|0);
+ $7642 = HEAP8[$7641>>0]|0;
+ $7643 = $7642&255;
+ $7644 = $2;
+ $7645 = ((($7644)) + 7|0);
+ $7646 = HEAP8[$7645>>0]|0;
+ $7647 = $7646&255;
+ $7648 = $7643 ^ $7647;
+ $7649 = ((11448) + ($7648<<2)|0);
+ $7650 = HEAP32[$7649>>2]|0;
+ $7651 = $7635 ^ $7650;
+ $y = $7651;
+ $7652 = $y;
+ $7653 = $7652 << 8;
+ $7654 = $y;
+ $7655 = $7654 >>> 24;
+ $7656 = (($7653) + ($7655))|0;
+ $y = $7656;
+ $7657 = $y;
+ $7658 = $x;
+ $7659 = (($7658) + ($7657))|0;
+ $x = $7659;
+ $7660 = $x;
+ $7661 = $y;
+ $7662 = (($7661) + ($7660))|0;
+ $y = $7662;
+ $7663 = $x;
+ $7664 = $1;
+ $7665 = ((($7664)) + 4096|0);
+ $7666 = ((($7665)) + 8|0);
+ HEAP32[$7666>>2] = $7663;
+ $7667 = $y;
+ $7668 = $7667 << 9;
+ $7669 = $y;
+ $7670 = $7669 >>> 23;
+ $7671 = (($7668) + ($7670))|0;
+ $7672 = $1;
+ $7673 = ((($7672)) + 4096|0);
+ $7674 = ((($7673)) + 12|0);
+ HEAP32[$7674>>2] = $7671;
+ $7675 = $2;
+ $7676 = ((($7675)) + 8|0);
+ $7677 = HEAP8[$7676>>0]|0;
+ $7678 = $7677&255;
+ $7679 = 4 ^ $7678;
+ $7680 = (45248 + ($7679)|0);
+ $7681 = HEAP8[$7680>>0]|0;
+ $7682 = $7681&255;
+ $7683 = $2;
+ $7684 = HEAP8[$7683>>0]|0;
+ $7685 = $7684&255;
+ $7686 = $7682 ^ $7685;
+ $7687 = (8376 + ($7686<<2)|0);
+ $7688 = HEAP32[$7687>>2]|0;
+ $7689 = $2;
+ $7690 = ((($7689)) + 9|0);
+ $7691 = HEAP8[$7690>>0]|0;
+ $7692 = $7691&255;
+ $7693 = 219 ^ $7692;
+ $7694 = (45248 + ($7693)|0);
+ $7695 = HEAP8[$7694>>0]|0;
+ $7696 = $7695&255;
+ $7697 = $2;
+ $7698 = ((($7697)) + 1|0);
+ $7699 = HEAP8[$7698>>0]|0;
+ $7700 = $7699&255;
+ $7701 = $7696 ^ $7700;
+ $7702 = ((9400) + ($7701<<2)|0);
+ $7703 = HEAP32[$7702>>2]|0;
+ $7704 = $7688 ^ $7703;
+ $7705 = $2;
+ $7706 = ((($7705)) + 10|0);
+ $7707 = HEAP8[$7706>>0]|0;
+ $7708 = $7707&255;
+ $7709 = 4 ^ $7708;
+ $7710 = (44992 + ($7709)|0);
+ $7711 = HEAP8[$7710>>0]|0;
+ $7712 = $7711&255;
+ $7713 = $2;
+ $7714 = ((($7713)) + 2|0);
+ $7715 = HEAP8[$7714>>0]|0;
+ $7716 = $7715&255;
+ $7717 = $7712 ^ $7716;
+ $7718 = ((10424) + ($7717<<2)|0);
+ $7719 = HEAP32[$7718>>2]|0;
+ $7720 = $7704 ^ $7719;
+ $7721 = $2;
+ $7722 = ((($7721)) + 11|0);
+ $7723 = HEAP8[$7722>>0]|0;
+ $7724 = $7723&255;
+ $7725 = 219 ^ $7724;
+ $7726 = (44992 + ($7725)|0);
+ $7727 = HEAP8[$7726>>0]|0;
+ $7728 = $7727&255;
+ $7729 = $2;
+ $7730 = ((($7729)) + 3|0);
+ $7731 = HEAP8[$7730>>0]|0;
+ $7732 = $7731&255;
+ $7733 = $7728 ^ $7732;
+ $7734 = ((11448) + ($7733<<2)|0);
+ $7735 = HEAP32[$7734>>2]|0;
+ $7736 = $7720 ^ $7735;
+ $x = $7736;
+ $7737 = $2;
+ $7738 = ((($7737)) + 12|0);
+ $7739 = HEAP8[$7738>>0]|0;
+ $7740 = $7739&255;
+ $7741 = 253 ^ $7740;
+ $7742 = (45248 + ($7741)|0);
+ $7743 = HEAP8[$7742>>0]|0;
+ $7744 = $7743&255;
+ $7745 = $2;
+ $7746 = ((($7745)) + 4|0);
+ $7747 = HEAP8[$7746>>0]|0;
+ $7748 = $7747&255;
+ $7749 = $7744 ^ $7748;
+ $7750 = (8376 + ($7749<<2)|0);
+ $7751 = HEAP32[$7750>>2]|0;
+ $7752 = $2;
+ $7753 = ((($7752)) + 13|0);
+ $7754 = HEAP8[$7753>>0]|0;
+ $7755 = $7754&255;
+ $7756 = 123 ^ $7755;
+ $7757 = (45248 + ($7756)|0);
+ $7758 = HEAP8[$7757>>0]|0;
+ $7759 = $7758&255;
+ $7760 = $2;
+ $7761 = ((($7760)) + 5|0);
+ $7762 = HEAP8[$7761>>0]|0;
+ $7763 = $7762&255;
+ $7764 = $7759 ^ $7763;
+ $7765 = ((9400) + ($7764<<2)|0);
+ $7766 = HEAP32[$7765>>2]|0;
+ $7767 = $7751 ^ $7766;
+ $7768 = $2;
+ $7769 = ((($7768)) + 14|0);
+ $7770 = HEAP8[$7769>>0]|0;
+ $7771 = $7770&255;
+ $7772 = 253 ^ $7771;
+ $7773 = (44992 + ($7772)|0);
+ $7774 = HEAP8[$7773>>0]|0;
+ $7775 = $7774&255;
+ $7776 = $2;
+ $7777 = ((($7776)) + 6|0);
+ $7778 = HEAP8[$7777>>0]|0;
+ $7779 = $7778&255;
+ $7780 = $7775 ^ $7779;
+ $7781 = ((10424) + ($7780<<2)|0);
+ $7782 = HEAP32[$7781>>2]|0;
+ $7783 = $7767 ^ $7782;
+ $7784 = $2;
+ $7785 = ((($7784)) + 15|0);
+ $7786 = HEAP8[$7785>>0]|0;
+ $7787 = $7786&255;
+ $7788 = 123 ^ $7787;
+ $7789 = (44992 + ($7788)|0);
+ $7790 = HEAP8[$7789>>0]|0;
+ $7791 = $7790&255;
+ $7792 = $2;
+ $7793 = ((($7792)) + 7|0);
+ $7794 = HEAP8[$7793>>0]|0;
+ $7795 = $7794&255;
+ $7796 = $7791 ^ $7795;
+ $7797 = ((11448) + ($7796<<2)|0);
+ $7798 = HEAP32[$7797>>2]|0;
+ $7799 = $7783 ^ $7798;
+ $y = $7799;
+ $7800 = $y;
+ $7801 = $7800 << 8;
+ $7802 = $y;
+ $7803 = $7802 >>> 24;
+ $7804 = (($7801) + ($7803))|0;
+ $y = $7804;
+ $7805 = $y;
+ $7806 = $x;
+ $7807 = (($7806) + ($7805))|0;
+ $x = $7807;
+ $7808 = $x;
+ $7809 = $y;
+ $7810 = (($7809) + ($7808))|0;
+ $y = $7810;
+ $7811 = $x;
+ $7812 = $1;
+ $7813 = ((($7812)) + 4096|0);
+ $7814 = ((($7813)) + 16|0);
+ HEAP32[$7814>>2] = $7811;
+ $7815 = $y;
+ $7816 = $7815 << 9;
+ $7817 = $y;
+ $7818 = $7817 >>> 23;
+ $7819 = (($7816) + ($7818))|0;
+ $7820 = $1;
+ $7821 = ((($7820)) + 4096|0);
+ $7822 = ((($7821)) + 20|0);
+ HEAP32[$7822>>2] = $7819;
+ $7823 = $2;
+ $7824 = ((($7823)) + 8|0);
+ $7825 = HEAP8[$7824>>0]|0;
+ $7826 = $7825&255;
+ $7827 = 163 ^ $7826;
+ $7828 = (45248 + ($7827)|0);
+ $7829 = HEAP8[$7828>>0]|0;
+ $7830 = $7829&255;
+ $7831 = $2;
+ $7832 = HEAP8[$7831>>0]|0;
+ $7833 = $7832&255;
+ $7834 = $7830 ^ $7833;
+ $7835 = (8376 + ($7834<<2)|0);
+ $7836 = HEAP32[$7835>>2]|0;
+ $7837 = $2;
+ $7838 = ((($7837)) + 9|0);
+ $7839 = HEAP8[$7838>>0]|0;
+ $7840 = $7839&255;
+ $7841 = 251 ^ $7840;
+ $7842 = (45248 + ($7841)|0);
+ $7843 = HEAP8[$7842>>0]|0;
+ $7844 = $7843&255;
+ $7845 = $2;
+ $7846 = ((($7845)) + 1|0);
+ $7847 = HEAP8[$7846>>0]|0;
+ $7848 = $7847&255;
+ $7849 = $7844 ^ $7848;
+ $7850 = ((9400) + ($7849<<2)|0);
+ $7851 = HEAP32[$7850>>2]|0;
+ $7852 = $7836 ^ $7851;
+ $7853 = $2;
+ $7854 = ((($7853)) + 10|0);
+ $7855 = HEAP8[$7854>>0]|0;
+ $7856 = $7855&255;
+ $7857 = 163 ^ $7856;
+ $7858 = (44992 + ($7857)|0);
+ $7859 = HEAP8[$7858>>0]|0;
+ $7860 = $7859&255;
+ $7861 = $2;
+ $7862 = ((($7861)) + 2|0);
+ $7863 = HEAP8[$7862>>0]|0;
+ $7864 = $7863&255;
+ $7865 = $7860 ^ $7864;
+ $7866 = ((10424) + ($7865<<2)|0);
+ $7867 = HEAP32[$7866>>2]|0;
+ $7868 = $7852 ^ $7867;
+ $7869 = $2;
+ $7870 = ((($7869)) + 11|0);
+ $7871 = HEAP8[$7870>>0]|0;
+ $7872 = $7871&255;
+ $7873 = 251 ^ $7872;
+ $7874 = (44992 + ($7873)|0);
+ $7875 = HEAP8[$7874>>0]|0;
+ $7876 = $7875&255;
+ $7877 = $2;
+ $7878 = ((($7877)) + 3|0);
+ $7879 = HEAP8[$7878>>0]|0;
+ $7880 = $7879&255;
+ $7881 = $7876 ^ $7880;
+ $7882 = ((11448) + ($7881<<2)|0);
+ $7883 = HEAP32[$7882>>2]|0;
+ $7884 = $7868 ^ $7883;
+ $x = $7884;
+ $7885 = $2;
+ $7886 = ((($7885)) + 12|0);
+ $7887 = HEAP8[$7886>>0]|0;
+ $7888 = $7887&255;
+ $7889 = 118 ^ $7888;
+ $7890 = (45248 + ($7889)|0);
+ $7891 = HEAP8[$7890>>0]|0;
+ $7892 = $7891&255;
+ $7893 = $2;
+ $7894 = ((($7893)) + 4|0);
+ $7895 = HEAP8[$7894>>0]|0;
+ $7896 = $7895&255;
+ $7897 = $7892 ^ $7896;
+ $7898 = (8376 + ($7897<<2)|0);
+ $7899 = HEAP32[$7898>>2]|0;
+ $7900 = $2;
+ $7901 = ((($7900)) + 13|0);
+ $7902 = HEAP8[$7901>>0]|0;
+ $7903 = $7902&255;
+ $7904 = 200 ^ $7903;
+ $7905 = (45248 + ($7904)|0);
+ $7906 = HEAP8[$7905>>0]|0;
+ $7907 = $7906&255;
+ $7908 = $2;
+ $7909 = ((($7908)) + 5|0);
+ $7910 = HEAP8[$7909>>0]|0;
+ $7911 = $7910&255;
+ $7912 = $7907 ^ $7911;
+ $7913 = ((9400) + ($7912<<2)|0);
+ $7914 = HEAP32[$7913>>2]|0;
+ $7915 = $7899 ^ $7914;
+ $7916 = $2;
+ $7917 = ((($7916)) + 14|0);
+ $7918 = HEAP8[$7917>>0]|0;
+ $7919 = $7918&255;
+ $7920 = 118 ^ $7919;
+ $7921 = (44992 + ($7920)|0);
+ $7922 = HEAP8[$7921>>0]|0;
+ $7923 = $7922&255;
+ $7924 = $2;
+ $7925 = ((($7924)) + 6|0);
+ $7926 = HEAP8[$7925>>0]|0;
+ $7927 = $7926&255;
+ $7928 = $7923 ^ $7927;
+ $7929 = ((10424) + ($7928<<2)|0);
+ $7930 = HEAP32[$7929>>2]|0;
+ $7931 = $7915 ^ $7930;
+ $7932 = $2;
+ $7933 = ((($7932)) + 15|0);
+ $7934 = HEAP8[$7933>>0]|0;
+ $7935 = $7934&255;
+ $7936 = 200 ^ $7935;
+ $7937 = (44992 + ($7936)|0);
+ $7938 = HEAP8[$7937>>0]|0;
+ $7939 = $7938&255;
+ $7940 = $2;
+ $7941 = ((($7940)) + 7|0);
+ $7942 = HEAP8[$7941>>0]|0;
+ $7943 = $7942&255;
+ $7944 = $7939 ^ $7943;
+ $7945 = ((11448) + ($7944<<2)|0);
+ $7946 = HEAP32[$7945>>2]|0;
+ $7947 = $7931 ^ $7946;
+ $y = $7947;
+ $7948 = $y;
+ $7949 = $7948 << 8;
+ $7950 = $y;
+ $7951 = $7950 >>> 24;
+ $7952 = (($7949) + ($7951))|0;
+ $y = $7952;
+ $7953 = $y;
+ $7954 = $x;
+ $7955 = (($7954) + ($7953))|0;
+ $x = $7955;
+ $7956 = $x;
+ $7957 = $y;
+ $7958 = (($7957) + ($7956))|0;
+ $y = $7958;
+ $7959 = $x;
+ $7960 = $1;
+ $7961 = ((($7960)) + 4096|0);
+ $7962 = ((($7961)) + 24|0);
+ HEAP32[$7962>>2] = $7959;
+ $7963 = $y;
+ $7964 = $7963 << 9;
+ $7965 = $y;
+ $7966 = $7965 >>> 23;
+ $7967 = (($7964) + ($7966))|0;
+ $7968 = $1;
+ $7969 = ((($7968)) + 4096|0);
+ $7970 = ((($7969)) + 28|0);
+ HEAP32[$7970>>2] = $7967;
+ $7971 = $2;
+ $7972 = ((($7971)) + 8|0);
+ $7973 = HEAP8[$7972>>0]|0;
+ $7974 = $7973&255;
+ $7975 = 154 ^ $7974;
+ $7976 = (45248 + ($7975)|0);
+ $7977 = HEAP8[$7976>>0]|0;
+ $7978 = $7977&255;
+ $7979 = $2;
+ $7980 = HEAP8[$7979>>0]|0;
+ $7981 = $7980&255;
+ $7982 = $7978 ^ $7981;
+ $7983 = (8376 + ($7982<<2)|0);
+ $7984 = HEAP32[$7983>>2]|0;
+ $7985 = $2;
+ $7986 = ((($7985)) + 9|0);
+ $7987 = HEAP8[$7986>>0]|0;
+ $7988 = $7987&255;
+ $7989 = 74 ^ $7988;
+ $7990 = (45248 + ($7989)|0);
+ $7991 = HEAP8[$7990>>0]|0;
+ $7992 = $7991&255;
+ $7993 = $2;
+ $7994 = ((($7993)) + 1|0);
+ $7995 = HEAP8[$7994>>0]|0;
+ $7996 = $7995&255;
+ $7997 = $7992 ^ $7996;
+ $7998 = ((9400) + ($7997<<2)|0);
+ $7999 = HEAP32[$7998>>2]|0;
+ $8000 = $7984 ^ $7999;
+ $8001 = $2;
+ $8002 = ((($8001)) + 10|0);
+ $8003 = HEAP8[$8002>>0]|0;
+ $8004 = $8003&255;
+ $8005 = 154 ^ $8004;
+ $8006 = (44992 + ($8005)|0);
+ $8007 = HEAP8[$8006>>0]|0;
+ $8008 = $8007&255;
+ $8009 = $2;
+ $8010 = ((($8009)) + 2|0);
+ $8011 = HEAP8[$8010>>0]|0;
+ $8012 = $8011&255;
+ $8013 = $8008 ^ $8012;
+ $8014 = ((10424) + ($8013<<2)|0);
+ $8015 = HEAP32[$8014>>2]|0;
+ $8016 = $8000 ^ $8015;
+ $8017 = $2;
+ $8018 = ((($8017)) + 11|0);
+ $8019 = HEAP8[$8018>>0]|0;
+ $8020 = $8019&255;
+ $8021 = 74 ^ $8020;
+ $8022 = (44992 + ($8021)|0);
+ $8023 = HEAP8[$8022>>0]|0;
+ $8024 = $8023&255;
+ $8025 = $2;
+ $8026 = ((($8025)) + 3|0);
+ $8027 = HEAP8[$8026>>0]|0;
+ $8028 = $8027&255;
+ $8029 = $8024 ^ $8028;
+ $8030 = ((11448) + ($8029<<2)|0);
+ $8031 = HEAP32[$8030>>2]|0;
+ $8032 = $8016 ^ $8031;
+ $x = $8032;
+ $8033 = $2;
+ $8034 = ((($8033)) + 12|0);
+ $8035 = HEAP8[$8034>>0]|0;
+ $8036 = $8035&255;
+ $8037 = 146 ^ $8036;
+ $8038 = (45248 + ($8037)|0);
+ $8039 = HEAP8[$8038>>0]|0;
+ $8040 = $8039&255;
+ $8041 = $2;
+ $8042 = ((($8041)) + 4|0);
+ $8043 = HEAP8[$8042>>0]|0;
+ $8044 = $8043&255;
+ $8045 = $8040 ^ $8044;
+ $8046 = (8376 + ($8045<<2)|0);
+ $8047 = HEAP32[$8046>>2]|0;
+ $8048 = $2;
+ $8049 = ((($8048)) + 13|0);
+ $8050 = HEAP8[$8049>>0]|0;
+ $8051 = $8050&255;
+ $8052 = 211 ^ $8051;
+ $8053 = (45248 + ($8052)|0);
+ $8054 = HEAP8[$8053>>0]|0;
+ $8055 = $8054&255;
+ $8056 = $2;
+ $8057 = ((($8056)) + 5|0);
+ $8058 = HEAP8[$8057>>0]|0;
+ $8059 = $8058&255;
+ $8060 = $8055 ^ $8059;
+ $8061 = ((9400) + ($8060<<2)|0);
+ $8062 = HEAP32[$8061>>2]|0;
+ $8063 = $8047 ^ $8062;
+ $8064 = $2;
+ $8065 = ((($8064)) + 14|0);
+ $8066 = HEAP8[$8065>>0]|0;
+ $8067 = $8066&255;
+ $8068 = 146 ^ $8067;
+ $8069 = (44992 + ($8068)|0);
+ $8070 = HEAP8[$8069>>0]|0;
+ $8071 = $8070&255;
+ $8072 = $2;
+ $8073 = ((($8072)) + 6|0);
+ $8074 = HEAP8[$8073>>0]|0;
+ $8075 = $8074&255;
+ $8076 = $8071 ^ $8075;
+ $8077 = ((10424) + ($8076<<2)|0);
+ $8078 = HEAP32[$8077>>2]|0;
+ $8079 = $8063 ^ $8078;
+ $8080 = $2;
+ $8081 = ((($8080)) + 15|0);
+ $8082 = HEAP8[$8081>>0]|0;
+ $8083 = $8082&255;
+ $8084 = 211 ^ $8083;
+ $8085 = (44992 + ($8084)|0);
+ $8086 = HEAP8[$8085>>0]|0;
+ $8087 = $8086&255;
+ $8088 = $2;
+ $8089 = ((($8088)) + 7|0);
+ $8090 = HEAP8[$8089>>0]|0;
+ $8091 = $8090&255;
+ $8092 = $8087 ^ $8091;
+ $8093 = ((11448) + ($8092<<2)|0);
+ $8094 = HEAP32[$8093>>2]|0;
+ $8095 = $8079 ^ $8094;
+ $y = $8095;
+ $8096 = $y;
+ $8097 = $8096 << 8;
+ $8098 = $y;
+ $8099 = $8098 >>> 24;
+ $8100 = (($8097) + ($8099))|0;
+ $y = $8100;
+ $8101 = $y;
+ $8102 = $x;
+ $8103 = (($8102) + ($8101))|0;
+ $x = $8103;
+ $8104 = $x;
+ $8105 = $y;
+ $8106 = (($8105) + ($8104))|0;
+ $y = $8106;
+ $8107 = $x;
+ $8108 = $1;
+ $8109 = ((($8108)) + 4128|0);
+ HEAP32[$8109>>2] = $8107;
+ $8110 = $y;
+ $8111 = $8110 << 9;
+ $8112 = $y;
+ $8113 = $8112 >>> 23;
+ $8114 = (($8111) + ($8113))|0;
+ $8115 = $1;
+ $8116 = ((($8115)) + 4128|0);
+ $8117 = ((($8116)) + 4|0);
+ HEAP32[$8117>>2] = $8114;
+ $8118 = $2;
+ $8119 = ((($8118)) + 8|0);
+ $8120 = HEAP8[$8119>>0]|0;
+ $8121 = $8120&255;
+ $8122 = 128 ^ $8121;
+ $8123 = (45248 + ($8122)|0);
+ $8124 = HEAP8[$8123>>0]|0;
+ $8125 = $8124&255;
+ $8126 = $2;
+ $8127 = HEAP8[$8126>>0]|0;
+ $8128 = $8127&255;
+ $8129 = $8125 ^ $8128;
+ $8130 = (8376 + ($8129<<2)|0);
+ $8131 = HEAP32[$8130>>2]|0;
+ $8132 = $2;
+ $8133 = ((($8132)) + 9|0);
+ $8134 = HEAP8[$8133>>0]|0;
+ $8135 = $8134&255;
+ $8136 = 230 ^ $8135;
+ $8137 = (45248 + ($8136)|0);
+ $8138 = HEAP8[$8137>>0]|0;
+ $8139 = $8138&255;
+ $8140 = $2;
+ $8141 = ((($8140)) + 1|0);
+ $8142 = HEAP8[$8141>>0]|0;
+ $8143 = $8142&255;
+ $8144 = $8139 ^ $8143;
+ $8145 = ((9400) + ($8144<<2)|0);
+ $8146 = HEAP32[$8145>>2]|0;
+ $8147 = $8131 ^ $8146;
+ $8148 = $2;
+ $8149 = ((($8148)) + 10|0);
+ $8150 = HEAP8[$8149>>0]|0;
+ $8151 = $8150&255;
+ $8152 = 128 ^ $8151;
+ $8153 = (44992 + ($8152)|0);
+ $8154 = HEAP8[$8153>>0]|0;
+ $8155 = $8154&255;
+ $8156 = $2;
+ $8157 = ((($8156)) + 2|0);
+ $8158 = HEAP8[$8157>>0]|0;
+ $8159 = $8158&255;
+ $8160 = $8155 ^ $8159;
+ $8161 = ((10424) + ($8160<<2)|0);
+ $8162 = HEAP32[$8161>>2]|0;
+ $8163 = $8147 ^ $8162;
+ $8164 = $2;
+ $8165 = ((($8164)) + 11|0);
+ $8166 = HEAP8[$8165>>0]|0;
+ $8167 = $8166&255;
+ $8168 = 230 ^ $8167;
+ $8169 = (44992 + ($8168)|0);
+ $8170 = HEAP8[$8169>>0]|0;
+ $8171 = $8170&255;
+ $8172 = $2;
+ $8173 = ((($8172)) + 3|0);
+ $8174 = HEAP8[$8173>>0]|0;
+ $8175 = $8174&255;
+ $8176 = $8171 ^ $8175;
+ $8177 = ((11448) + ($8176<<2)|0);
+ $8178 = HEAP32[$8177>>2]|0;
+ $8179 = $8163 ^ $8178;
+ $x = $8179;
+ $8180 = $2;
+ $8181 = ((($8180)) + 12|0);
+ $8182 = HEAP8[$8181>>0]|0;
+ $8183 = $8182&255;
+ $8184 = 120 ^ $8183;
+ $8185 = (45248 + ($8184)|0);
+ $8186 = HEAP8[$8185>>0]|0;
+ $8187 = $8186&255;
+ $8188 = $2;
+ $8189 = ((($8188)) + 4|0);
+ $8190 = HEAP8[$8189>>0]|0;
+ $8191 = $8190&255;
+ $8192 = $8187 ^ $8191;
+ $8193 = (8376 + ($8192<<2)|0);
+ $8194 = HEAP32[$8193>>2]|0;
+ $8195 = $2;
+ $8196 = ((($8195)) + 13|0);
+ $8197 = HEAP8[$8196>>0]|0;
+ $8198 = $8197&255;
+ $8199 = 107 ^ $8198;
+ $8200 = (45248 + ($8199)|0);
+ $8201 = HEAP8[$8200>>0]|0;
+ $8202 = $8201&255;
+ $8203 = $2;
+ $8204 = ((($8203)) + 5|0);
+ $8205 = HEAP8[$8204>>0]|0;
+ $8206 = $8205&255;
+ $8207 = $8202 ^ $8206;
+ $8208 = ((9400) + ($8207<<2)|0);
+ $8209 = HEAP32[$8208>>2]|0;
+ $8210 = $8194 ^ $8209;
+ $8211 = $2;
+ $8212 = ((($8211)) + 14|0);
+ $8213 = HEAP8[$8212>>0]|0;
+ $8214 = $8213&255;
+ $8215 = 120 ^ $8214;
+ $8216 = (44992 + ($8215)|0);
+ $8217 = HEAP8[$8216>>0]|0;
+ $8218 = $8217&255;
+ $8219 = $2;
+ $8220 = ((($8219)) + 6|0);
+ $8221 = HEAP8[$8220>>0]|0;
+ $8222 = $8221&255;
+ $8223 = $8218 ^ $8222;
+ $8224 = ((10424) + ($8223<<2)|0);
+ $8225 = HEAP32[$8224>>2]|0;
+ $8226 = $8210 ^ $8225;
+ $8227 = $2;
+ $8228 = ((($8227)) + 15|0);
+ $8229 = HEAP8[$8228>>0]|0;
+ $8230 = $8229&255;
+ $8231 = 107 ^ $8230;
+ $8232 = (44992 + ($8231)|0);
+ $8233 = HEAP8[$8232>>0]|0;
+ $8234 = $8233&255;
+ $8235 = $2;
+ $8236 = ((($8235)) + 7|0);
+ $8237 = HEAP8[$8236>>0]|0;
+ $8238 = $8237&255;
+ $8239 = $8234 ^ $8238;
+ $8240 = ((11448) + ($8239<<2)|0);
+ $8241 = HEAP32[$8240>>2]|0;
+ $8242 = $8226 ^ $8241;
+ $y = $8242;
+ $8243 = $y;
+ $8244 = $8243 << 8;
+ $8245 = $y;
+ $8246 = $8245 >>> 24;
+ $8247 = (($8244) + ($8246))|0;
+ $y = $8247;
+ $8248 = $y;
+ $8249 = $x;
+ $8250 = (($8249) + ($8248))|0;
+ $x = $8250;
+ $8251 = $x;
+ $8252 = $y;
+ $8253 = (($8252) + ($8251))|0;
+ $y = $8253;
+ $8254 = $x;
+ $8255 = $1;
+ $8256 = ((($8255)) + 4128|0);
+ $8257 = ((($8256)) + 8|0);
+ HEAP32[$8257>>2] = $8254;
+ $8258 = $y;
+ $8259 = $8258 << 9;
+ $8260 = $y;
+ $8261 = $8260 >>> 23;
+ $8262 = (($8259) + ($8261))|0;
+ $8263 = $1;
+ $8264 = ((($8263)) + 4128|0);
+ $8265 = ((($8264)) + 12|0);
+ HEAP32[$8265>>2] = $8262;
+ $8266 = $2;
+ $8267 = ((($8266)) + 8|0);
+ $8268 = HEAP8[$8267>>0]|0;
+ $8269 = $8268&255;
+ $8270 = 228 ^ $8269;
+ $8271 = (45248 + ($8270)|0);
+ $8272 = HEAP8[$8271>>0]|0;
+ $8273 = $8272&255;
+ $8274 = $2;
+ $8275 = HEAP8[$8274>>0]|0;
+ $8276 = $8275&255;
+ $8277 = $8273 ^ $8276;
+ $8278 = (8376 + ($8277<<2)|0);
+ $8279 = HEAP32[$8278>>2]|0;
+ $8280 = $2;
+ $8281 = ((($8280)) + 9|0);
+ $8282 = HEAP8[$8281>>0]|0;
+ $8283 = $8282&255;
+ $8284 = 69 ^ $8283;
+ $8285 = (45248 + ($8284)|0);
+ $8286 = HEAP8[$8285>>0]|0;
+ $8287 = $8286&255;
+ $8288 = $2;
+ $8289 = ((($8288)) + 1|0);
+ $8290 = HEAP8[$8289>>0]|0;
+ $8291 = $8290&255;
+ $8292 = $8287 ^ $8291;
+ $8293 = ((9400) + ($8292<<2)|0);
+ $8294 = HEAP32[$8293>>2]|0;
+ $8295 = $8279 ^ $8294;
+ $8296 = $2;
+ $8297 = ((($8296)) + 10|0);
+ $8298 = HEAP8[$8297>>0]|0;
+ $8299 = $8298&255;
+ $8300 = 228 ^ $8299;
+ $8301 = (44992 + ($8300)|0);
+ $8302 = HEAP8[$8301>>0]|0;
+ $8303 = $8302&255;
+ $8304 = $2;
+ $8305 = ((($8304)) + 2|0);
+ $8306 = HEAP8[$8305>>0]|0;
+ $8307 = $8306&255;
+ $8308 = $8303 ^ $8307;
+ $8309 = ((10424) + ($8308<<2)|0);
+ $8310 = HEAP32[$8309>>2]|0;
+ $8311 = $8295 ^ $8310;
+ $8312 = $2;
+ $8313 = ((($8312)) + 11|0);
+ $8314 = HEAP8[$8313>>0]|0;
+ $8315 = $8314&255;
+ $8316 = 69 ^ $8315;
+ $8317 = (44992 + ($8316)|0);
+ $8318 = HEAP8[$8317>>0]|0;
+ $8319 = $8318&255;
+ $8320 = $2;
+ $8321 = ((($8320)) + 3|0);
+ $8322 = HEAP8[$8321>>0]|0;
+ $8323 = $8322&255;
+ $8324 = $8319 ^ $8323;
+ $8325 = ((11448) + ($8324<<2)|0);
+ $8326 = HEAP32[$8325>>2]|0;
+ $8327 = $8311 ^ $8326;
+ $x = $8327;
+ $8328 = $2;
+ $8329 = ((($8328)) + 12|0);
+ $8330 = HEAP8[$8329>>0]|0;
+ $8331 = $8330&255;
+ $8332 = 221 ^ $8331;
+ $8333 = (45248 + ($8332)|0);
+ $8334 = HEAP8[$8333>>0]|0;
+ $8335 = $8334&255;
+ $8336 = $2;
+ $8337 = ((($8336)) + 4|0);
+ $8338 = HEAP8[$8337>>0]|0;
+ $8339 = $8338&255;
+ $8340 = $8335 ^ $8339;
+ $8341 = (8376 + ($8340<<2)|0);
+ $8342 = HEAP32[$8341>>2]|0;
+ $8343 = $2;
+ $8344 = ((($8343)) + 13|0);
+ $8345 = HEAP8[$8344>>0]|0;
+ $8346 = $8345&255;
+ $8347 = 125 ^ $8346;
+ $8348 = (45248 + ($8347)|0);
+ $8349 = HEAP8[$8348>>0]|0;
+ $8350 = $8349&255;
+ $8351 = $2;
+ $8352 = ((($8351)) + 5|0);
+ $8353 = HEAP8[$8352>>0]|0;
+ $8354 = $8353&255;
+ $8355 = $8350 ^ $8354;
+ $8356 = ((9400) + ($8355<<2)|0);
+ $8357 = HEAP32[$8356>>2]|0;
+ $8358 = $8342 ^ $8357;
+ $8359 = $2;
+ $8360 = ((($8359)) + 14|0);
+ $8361 = HEAP8[$8360>>0]|0;
+ $8362 = $8361&255;
+ $8363 = 221 ^ $8362;
+ $8364 = (44992 + ($8363)|0);
+ $8365 = HEAP8[$8364>>0]|0;
+ $8366 = $8365&255;
+ $8367 = $2;
+ $8368 = ((($8367)) + 6|0);
+ $8369 = HEAP8[$8368>>0]|0;
+ $8370 = $8369&255;
+ $8371 = $8366 ^ $8370;
+ $8372 = ((10424) + ($8371<<2)|0);
+ $8373 = HEAP32[$8372>>2]|0;
+ $8374 = $8358 ^ $8373;
+ $8375 = $2;
+ $8376 = ((($8375)) + 15|0);
+ $8377 = HEAP8[$8376>>0]|0;
+ $8378 = $8377&255;
+ $8379 = 125 ^ $8378;
+ $8380 = (44992 + ($8379)|0);
+ $8381 = HEAP8[$8380>>0]|0;
+ $8382 = $8381&255;
+ $8383 = $2;
+ $8384 = ((($8383)) + 7|0);
+ $8385 = HEAP8[$8384>>0]|0;
+ $8386 = $8385&255;
+ $8387 = $8382 ^ $8386;
+ $8388 = ((11448) + ($8387<<2)|0);
+ $8389 = HEAP32[$8388>>2]|0;
+ $8390 = $8374 ^ $8389;
+ $y = $8390;
+ $8391 = $y;
+ $8392 = $8391 << 8;
+ $8393 = $y;
+ $8394 = $8393 >>> 24;
+ $8395 = (($8392) + ($8394))|0;
+ $y = $8395;
+ $8396 = $y;
+ $8397 = $x;
+ $8398 = (($8397) + ($8396))|0;
+ $x = $8398;
+ $8399 = $x;
+ $8400 = $y;
+ $8401 = (($8400) + ($8399))|0;
+ $y = $8401;
+ $8402 = $x;
+ $8403 = $1;
+ $8404 = ((($8403)) + 4128|0);
+ $8405 = ((($8404)) + 16|0);
+ HEAP32[$8405>>2] = $8402;
+ $8406 = $y;
+ $8407 = $8406 << 9;
+ $8408 = $y;
+ $8409 = $8408 >>> 23;
+ $8410 = (($8407) + ($8409))|0;
+ $8411 = $1;
+ $8412 = ((($8411)) + 4128|0);
+ $8413 = ((($8412)) + 20|0);
+ HEAP32[$8413>>2] = $8410;
+ $8414 = $2;
+ $8415 = ((($8414)) + 8|0);
+ $8416 = HEAP8[$8415>>0]|0;
+ $8417 = $8416&255;
+ $8418 = 209 ^ $8417;
+ $8419 = (45248 + ($8418)|0);
+ $8420 = HEAP8[$8419>>0]|0;
+ $8421 = $8420&255;
+ $8422 = $2;
+ $8423 = HEAP8[$8422>>0]|0;
+ $8424 = $8423&255;
+ $8425 = $8421 ^ $8424;
+ $8426 = (8376 + ($8425<<2)|0);
+ $8427 = HEAP32[$8426>>2]|0;
+ $8428 = $2;
+ $8429 = ((($8428)) + 9|0);
+ $8430 = HEAP8[$8429>>0]|0;
+ $8431 = $8430&255;
+ $8432 = 232 ^ $8431;
+ $8433 = (45248 + ($8432)|0);
+ $8434 = HEAP8[$8433>>0]|0;
+ $8435 = $8434&255;
+ $8436 = $2;
+ $8437 = ((($8436)) + 1|0);
+ $8438 = HEAP8[$8437>>0]|0;
+ $8439 = $8438&255;
+ $8440 = $8435 ^ $8439;
+ $8441 = ((9400) + ($8440<<2)|0);
+ $8442 = HEAP32[$8441>>2]|0;
+ $8443 = $8427 ^ $8442;
+ $8444 = $2;
+ $8445 = ((($8444)) + 10|0);
+ $8446 = HEAP8[$8445>>0]|0;
+ $8447 = $8446&255;
+ $8448 = 209 ^ $8447;
+ $8449 = (44992 + ($8448)|0);
+ $8450 = HEAP8[$8449>>0]|0;
+ $8451 = $8450&255;
+ $8452 = $2;
+ $8453 = ((($8452)) + 2|0);
+ $8454 = HEAP8[$8453>>0]|0;
+ $8455 = $8454&255;
+ $8456 = $8451 ^ $8455;
+ $8457 = ((10424) + ($8456<<2)|0);
+ $8458 = HEAP32[$8457>>2]|0;
+ $8459 = $8443 ^ $8458;
+ $8460 = $2;
+ $8461 = ((($8460)) + 11|0);
+ $8462 = HEAP8[$8461>>0]|0;
+ $8463 = $8462&255;
+ $8464 = 232 ^ $8463;
+ $8465 = (44992 + ($8464)|0);
+ $8466 = HEAP8[$8465>>0]|0;
+ $8467 = $8466&255;
+ $8468 = $2;
+ $8469 = ((($8468)) + 3|0);
+ $8470 = HEAP8[$8469>>0]|0;
+ $8471 = $8470&255;
+ $8472 = $8467 ^ $8471;
+ $8473 = ((11448) + ($8472<<2)|0);
+ $8474 = HEAP32[$8473>>2]|0;
+ $8475 = $8459 ^ $8474;
+ $x = $8475;
+ $8476 = $2;
+ $8477 = ((($8476)) + 12|0);
+ $8478 = HEAP8[$8477>>0]|0;
+ $8479 = $8478&255;
+ $8480 = 56 ^ $8479;
+ $8481 = (45248 + ($8480)|0);
+ $8482 = HEAP8[$8481>>0]|0;
+ $8483 = $8482&255;
+ $8484 = $2;
+ $8485 = ((($8484)) + 4|0);
+ $8486 = HEAP8[$8485>>0]|0;
+ $8487 = $8486&255;
+ $8488 = $8483 ^ $8487;
+ $8489 = (8376 + ($8488<<2)|0);
+ $8490 = HEAP32[$8489>>2]|0;
+ $8491 = $2;
+ $8492 = ((($8491)) + 13|0);
+ $8493 = HEAP8[$8492>>0]|0;
+ $8494 = $8493&255;
+ $8495 = 75 ^ $8494;
+ $8496 = (45248 + ($8495)|0);
+ $8497 = HEAP8[$8496>>0]|0;
+ $8498 = $8497&255;
+ $8499 = $2;
+ $8500 = ((($8499)) + 5|0);
+ $8501 = HEAP8[$8500>>0]|0;
+ $8502 = $8501&255;
+ $8503 = $8498 ^ $8502;
+ $8504 = ((9400) + ($8503<<2)|0);
+ $8505 = HEAP32[$8504>>2]|0;
+ $8506 = $8490 ^ $8505;
+ $8507 = $2;
+ $8508 = ((($8507)) + 14|0);
+ $8509 = HEAP8[$8508>>0]|0;
+ $8510 = $8509&255;
+ $8511 = 56 ^ $8510;
+ $8512 = (44992 + ($8511)|0);
+ $8513 = HEAP8[$8512>>0]|0;
+ $8514 = $8513&255;
+ $8515 = $2;
+ $8516 = ((($8515)) + 6|0);
+ $8517 = HEAP8[$8516>>0]|0;
+ $8518 = $8517&255;
+ $8519 = $8514 ^ $8518;
+ $8520 = ((10424) + ($8519<<2)|0);
+ $8521 = HEAP32[$8520>>2]|0;
+ $8522 = $8506 ^ $8521;
+ $8523 = $2;
+ $8524 = ((($8523)) + 15|0);
+ $8525 = HEAP8[$8524>>0]|0;
+ $8526 = $8525&255;
+ $8527 = 75 ^ $8526;
+ $8528 = (44992 + ($8527)|0);
+ $8529 = HEAP8[$8528>>0]|0;
+ $8530 = $8529&255;
+ $8531 = $2;
+ $8532 = ((($8531)) + 7|0);
+ $8533 = HEAP8[$8532>>0]|0;
+ $8534 = $8533&255;
+ $8535 = $8530 ^ $8534;
+ $8536 = ((11448) + ($8535<<2)|0);
+ $8537 = HEAP32[$8536>>2]|0;
+ $8538 = $8522 ^ $8537;
+ $y = $8538;
+ $8539 = $y;
+ $8540 = $8539 << 8;
+ $8541 = $y;
+ $8542 = $8541 >>> 24;
+ $8543 = (($8540) + ($8542))|0;
+ $y = $8543;
+ $8544 = $y;
+ $8545 = $x;
+ $8546 = (($8545) + ($8544))|0;
+ $x = $8546;
+ $8547 = $x;
+ $8548 = $y;
+ $8549 = (($8548) + ($8547))|0;
+ $y = $8549;
+ $8550 = $x;
+ $8551 = $1;
+ $8552 = ((($8551)) + 4128|0);
+ $8553 = ((($8552)) + 24|0);
+ HEAP32[$8553>>2] = $8550;
+ $8554 = $y;
+ $8555 = $8554 << 9;
+ $8556 = $y;
+ $8557 = $8556 >>> 23;
+ $8558 = (($8555) + ($8557))|0;
+ $8559 = $1;
+ $8560 = ((($8559)) + 4128|0);
+ $8561 = ((($8560)) + 28|0);
+ HEAP32[$8561>>2] = $8558;
+ $8562 = $2;
+ $8563 = ((($8562)) + 8|0);
+ $8564 = HEAP8[$8563>>0]|0;
+ $8565 = $8564&255;
+ $8566 = 13 ^ $8565;
+ $8567 = (45248 + ($8566)|0);
+ $8568 = HEAP8[$8567>>0]|0;
+ $8569 = $8568&255;
+ $8570 = $2;
+ $8571 = HEAP8[$8570>>0]|0;
+ $8572 = $8571&255;
+ $8573 = $8569 ^ $8572;
+ $8574 = (8376 + ($8573<<2)|0);
+ $8575 = HEAP32[$8574>>2]|0;
+ $8576 = $2;
+ $8577 = ((($8576)) + 9|0);
+ $8578 = HEAP8[$8577>>0]|0;
+ $8579 = $8578&255;
+ $8580 = 214 ^ $8579;
+ $8581 = (45248 + ($8580)|0);
+ $8582 = HEAP8[$8581>>0]|0;
+ $8583 = $8582&255;
+ $8584 = $2;
+ $8585 = ((($8584)) + 1|0);
+ $8586 = HEAP8[$8585>>0]|0;
+ $8587 = $8586&255;
+ $8588 = $8583 ^ $8587;
+ $8589 = ((9400) + ($8588<<2)|0);
+ $8590 = HEAP32[$8589>>2]|0;
+ $8591 = $8575 ^ $8590;
+ $8592 = $2;
+ $8593 = ((($8592)) + 10|0);
+ $8594 = HEAP8[$8593>>0]|0;
+ $8595 = $8594&255;
+ $8596 = 13 ^ $8595;
+ $8597 = (44992 + ($8596)|0);
+ $8598 = HEAP8[$8597>>0]|0;
+ $8599 = $8598&255;
+ $8600 = $2;
+ $8601 = ((($8600)) + 2|0);
+ $8602 = HEAP8[$8601>>0]|0;
+ $8603 = $8602&255;
+ $8604 = $8599 ^ $8603;
+ $8605 = ((10424) + ($8604<<2)|0);
+ $8606 = HEAP32[$8605>>2]|0;
+ $8607 = $8591 ^ $8606;
+ $8608 = $2;
+ $8609 = ((($8608)) + 11|0);
+ $8610 = HEAP8[$8609>>0]|0;
+ $8611 = $8610&255;
+ $8612 = 214 ^ $8611;
+ $8613 = (44992 + ($8612)|0);
+ $8614 = HEAP8[$8613>>0]|0;
+ $8615 = $8614&255;
+ $8616 = $2;
+ $8617 = ((($8616)) + 3|0);
+ $8618 = HEAP8[$8617>>0]|0;
+ $8619 = $8618&255;
+ $8620 = $8615 ^ $8619;
+ $8621 = ((11448) + ($8620<<2)|0);
+ $8622 = HEAP32[$8621>>2]|0;
+ $8623 = $8607 ^ $8622;
+ $x = $8623;
+ $8624 = $2;
+ $8625 = ((($8624)) + 12|0);
+ $8626 = HEAP8[$8625>>0]|0;
+ $8627 = $8626&255;
+ $8628 = 198 ^ $8627;
+ $8629 = (45248 + ($8628)|0);
+ $8630 = HEAP8[$8629>>0]|0;
+ $8631 = $8630&255;
+ $8632 = $2;
+ $8633 = ((($8632)) + 4|0);
+ $8634 = HEAP8[$8633>>0]|0;
+ $8635 = $8634&255;
+ $8636 = $8631 ^ $8635;
+ $8637 = (8376 + ($8636<<2)|0);
+ $8638 = HEAP32[$8637>>2]|0;
+ $8639 = $2;
+ $8640 = ((($8639)) + 13|0);
+ $8641 = HEAP8[$8640>>0]|0;
+ $8642 = $8641&255;
+ $8643 = 50 ^ $8642;
+ $8644 = (45248 + ($8643)|0);
+ $8645 = HEAP8[$8644>>0]|0;
+ $8646 = $8645&255;
+ $8647 = $2;
+ $8648 = ((($8647)) + 5|0);
+ $8649 = HEAP8[$8648>>0]|0;
+ $8650 = $8649&255;
+ $8651 = $8646 ^ $8650;
+ $8652 = ((9400) + ($8651<<2)|0);
+ $8653 = HEAP32[$8652>>2]|0;
+ $8654 = $8638 ^ $8653;
+ $8655 = $2;
+ $8656 = ((($8655)) + 14|0);
+ $8657 = HEAP8[$8656>>0]|0;
+ $8658 = $8657&255;
+ $8659 = 198 ^ $8658;
+ $8660 = (44992 + ($8659)|0);
+ $8661 = HEAP8[$8660>>0]|0;
+ $8662 = $8661&255;
+ $8663 = $2;
+ $8664 = ((($8663)) + 6|0);
+ $8665 = HEAP8[$8664>>0]|0;
+ $8666 = $8665&255;
+ $8667 = $8662 ^ $8666;
+ $8668 = ((10424) + ($8667<<2)|0);
+ $8669 = HEAP32[$8668>>2]|0;
+ $8670 = $8654 ^ $8669;
+ $8671 = $2;
+ $8672 = ((($8671)) + 15|0);
+ $8673 = HEAP8[$8672>>0]|0;
+ $8674 = $8673&255;
+ $8675 = 50 ^ $8674;
+ $8676 = (44992 + ($8675)|0);
+ $8677 = HEAP8[$8676>>0]|0;
+ $8678 = $8677&255;
+ $8679 = $2;
+ $8680 = ((($8679)) + 7|0);
+ $8681 = HEAP8[$8680>>0]|0;
+ $8682 = $8681&255;
+ $8683 = $8678 ^ $8682;
+ $8684 = ((11448) + ($8683<<2)|0);
+ $8685 = HEAP32[$8684>>2]|0;
+ $8686 = $8670 ^ $8685;
+ $y = $8686;
+ $8687 = $y;
+ $8688 = $8687 << 8;
+ $8689 = $y;
+ $8690 = $8689 >>> 24;
+ $8691 = (($8688) + ($8690))|0;
+ $y = $8691;
+ $8692 = $y;
+ $8693 = $x;
+ $8694 = (($8693) + ($8692))|0;
+ $x = $8694;
+ $8695 = $x;
+ $8696 = $y;
+ $8697 = (($8696) + ($8695))|0;
+ $y = $8697;
+ $8698 = $x;
+ $8699 = $1;
+ $8700 = ((($8699)) + 4128|0);
+ $8701 = ((($8700)) + 32|0);
+ HEAP32[$8701>>2] = $8698;
+ $8702 = $y;
+ $8703 = $8702 << 9;
+ $8704 = $y;
+ $8705 = $8704 >>> 23;
+ $8706 = (($8703) + ($8705))|0;
+ $8707 = $1;
+ $8708 = ((($8707)) + 4128|0);
+ $8709 = ((($8708)) + 36|0);
+ HEAP32[$8709>>2] = $8706;
+ $8710 = $2;
+ $8711 = ((($8710)) + 8|0);
+ $8712 = HEAP8[$8711>>0]|0;
+ $8713 = $8712&255;
+ $8714 = 53 ^ $8713;
+ $8715 = (45248 + ($8714)|0);
+ $8716 = HEAP8[$8715>>0]|0;
+ $8717 = $8716&255;
+ $8718 = $2;
+ $8719 = HEAP8[$8718>>0]|0;
+ $8720 = $8719&255;
+ $8721 = $8717 ^ $8720;
+ $8722 = (8376 + ($8721<<2)|0);
+ $8723 = HEAP32[$8722>>2]|0;
+ $8724 = $2;
+ $8725 = ((($8724)) + 9|0);
+ $8726 = HEAP8[$8725>>0]|0;
+ $8727 = $8726&255;
+ $8728 = 216 ^ $8727;
+ $8729 = (45248 + ($8728)|0);
+ $8730 = HEAP8[$8729>>0]|0;
+ $8731 = $8730&255;
+ $8732 = $2;
+ $8733 = ((($8732)) + 1|0);
+ $8734 = HEAP8[$8733>>0]|0;
+ $8735 = $8734&255;
+ $8736 = $8731 ^ $8735;
+ $8737 = ((9400) + ($8736<<2)|0);
+ $8738 = HEAP32[$8737>>2]|0;
+ $8739 = $8723 ^ $8738;
+ $8740 = $2;
+ $8741 = ((($8740)) + 10|0);
+ $8742 = HEAP8[$8741>>0]|0;
+ $8743 = $8742&255;
+ $8744 = 53 ^ $8743;
+ $8745 = (44992 + ($8744)|0);
+ $8746 = HEAP8[$8745>>0]|0;
+ $8747 = $8746&255;
+ $8748 = $2;
+ $8749 = ((($8748)) + 2|0);
+ $8750 = HEAP8[$8749>>0]|0;
+ $8751 = $8750&255;
+ $8752 = $8747 ^ $8751;
+ $8753 = ((10424) + ($8752<<2)|0);
+ $8754 = HEAP32[$8753>>2]|0;
+ $8755 = $8739 ^ $8754;
+ $8756 = $2;
+ $8757 = ((($8756)) + 11|0);
+ $8758 = HEAP8[$8757>>0]|0;
+ $8759 = $8758&255;
+ $8760 = 216 ^ $8759;
+ $8761 = (44992 + ($8760)|0);
+ $8762 = HEAP8[$8761>>0]|0;
+ $8763 = $8762&255;
+ $8764 = $2;
+ $8765 = ((($8764)) + 3|0);
+ $8766 = HEAP8[$8765>>0]|0;
+ $8767 = $8766&255;
+ $8768 = $8763 ^ $8767;
+ $8769 = ((11448) + ($8768<<2)|0);
+ $8770 = HEAP32[$8769>>2]|0;
+ $8771 = $8755 ^ $8770;
+ $x = $8771;
+ $8772 = $2;
+ $8773 = ((($8772)) + 12|0);
+ $8774 = HEAP8[$8773>>0]|0;
+ $8775 = $8774&255;
+ $8776 = 152 ^ $8775;
+ $8777 = (45248 + ($8776)|0);
+ $8778 = HEAP8[$8777>>0]|0;
+ $8779 = $8778&255;
+ $8780 = $2;
+ $8781 = ((($8780)) + 4|0);
+ $8782 = HEAP8[$8781>>0]|0;
+ $8783 = $8782&255;
+ $8784 = $8779 ^ $8783;
+ $8785 = (8376 + ($8784<<2)|0);
+ $8786 = HEAP32[$8785>>2]|0;
+ $8787 = $2;
+ $8788 = ((($8787)) + 13|0);
+ $8789 = HEAP8[$8788>>0]|0;
+ $8790 = $8789&255;
+ $8791 = 253 ^ $8790;
+ $8792 = (45248 + ($8791)|0);
+ $8793 = HEAP8[$8792>>0]|0;
+ $8794 = $8793&255;
+ $8795 = $2;
+ $8796 = ((($8795)) + 5|0);
+ $8797 = HEAP8[$8796>>0]|0;
+ $8798 = $8797&255;
+ $8799 = $8794 ^ $8798;
+ $8800 = ((9400) + ($8799<<2)|0);
+ $8801 = HEAP32[$8800>>2]|0;
+ $8802 = $8786 ^ $8801;
+ $8803 = $2;
+ $8804 = ((($8803)) + 14|0);
+ $8805 = HEAP8[$8804>>0]|0;
+ $8806 = $8805&255;
+ $8807 = 152 ^ $8806;
+ $8808 = (44992 + ($8807)|0);
+ $8809 = HEAP8[$8808>>0]|0;
+ $8810 = $8809&255;
+ $8811 = $2;
+ $8812 = ((($8811)) + 6|0);
+ $8813 = HEAP8[$8812>>0]|0;
+ $8814 = $8813&255;
+ $8815 = $8810 ^ $8814;
+ $8816 = ((10424) + ($8815<<2)|0);
+ $8817 = HEAP32[$8816>>2]|0;
+ $8818 = $8802 ^ $8817;
+ $8819 = $2;
+ $8820 = ((($8819)) + 15|0);
+ $8821 = HEAP8[$8820>>0]|0;
+ $8822 = $8821&255;
+ $8823 = 253 ^ $8822;
+ $8824 = (44992 + ($8823)|0);
+ $8825 = HEAP8[$8824>>0]|0;
+ $8826 = $8825&255;
+ $8827 = $2;
+ $8828 = ((($8827)) + 7|0);
+ $8829 = HEAP8[$8828>>0]|0;
+ $8830 = $8829&255;
+ $8831 = $8826 ^ $8830;
+ $8832 = ((11448) + ($8831<<2)|0);
+ $8833 = HEAP32[$8832>>2]|0;
+ $8834 = $8818 ^ $8833;
+ $y = $8834;
+ $8835 = $y;
+ $8836 = $8835 << 8;
+ $8837 = $y;
+ $8838 = $8837 >>> 24;
+ $8839 = (($8836) + ($8838))|0;
+ $y = $8839;
+ $8840 = $y;
+ $8841 = $x;
+ $8842 = (($8841) + ($8840))|0;
+ $x = $8842;
+ $8843 = $x;
+ $8844 = $y;
+ $8845 = (($8844) + ($8843))|0;
+ $y = $8845;
+ $8846 = $x;
+ $8847 = $1;
+ $8848 = ((($8847)) + 4128|0);
+ $8849 = ((($8848)) + 40|0);
+ HEAP32[$8849>>2] = $8846;
+ $8850 = $y;
+ $8851 = $8850 << 9;
+ $8852 = $y;
+ $8853 = $8852 >>> 23;
+ $8854 = (($8851) + ($8853))|0;
+ $8855 = $1;
+ $8856 = ((($8855)) + 4128|0);
+ $8857 = ((($8856)) + 44|0);
+ HEAP32[$8857>>2] = $8854;
+ $8858 = $2;
+ $8859 = ((($8858)) + 8|0);
+ $8860 = HEAP8[$8859>>0]|0;
+ $8861 = $8860&255;
+ $8862 = 24 ^ $8861;
+ $8863 = (45248 + ($8862)|0);
+ $8864 = HEAP8[$8863>>0]|0;
+ $8865 = $8864&255;
+ $8866 = $2;
+ $8867 = HEAP8[$8866>>0]|0;
+ $8868 = $8867&255;
+ $8869 = $8865 ^ $8868;
+ $8870 = (8376 + ($8869<<2)|0);
+ $8871 = HEAP32[$8870>>2]|0;
+ $8872 = $2;
+ $8873 = ((($8872)) + 9|0);
+ $8874 = HEAP8[$8873>>0]|0;
+ $8875 = $8874&255;
+ $8876 = 55 ^ $8875;
+ $8877 = (45248 + ($8876)|0);
+ $8878 = HEAP8[$8877>>0]|0;
+ $8879 = $8878&255;
+ $8880 = $2;
+ $8881 = ((($8880)) + 1|0);
+ $8882 = HEAP8[$8881>>0]|0;
+ $8883 = $8882&255;
+ $8884 = $8879 ^ $8883;
+ $8885 = ((9400) + ($8884<<2)|0);
+ $8886 = HEAP32[$8885>>2]|0;
+ $8887 = $8871 ^ $8886;
+ $8888 = $2;
+ $8889 = ((($8888)) + 10|0);
+ $8890 = HEAP8[$8889>>0]|0;
+ $8891 = $8890&255;
+ $8892 = 24 ^ $8891;
+ $8893 = (44992 + ($8892)|0);
+ $8894 = HEAP8[$8893>>0]|0;
+ $8895 = $8894&255;
+ $8896 = $2;
+ $8897 = ((($8896)) + 2|0);
+ $8898 = HEAP8[$8897>>0]|0;
+ $8899 = $8898&255;
+ $8900 = $8895 ^ $8899;
+ $8901 = ((10424) + ($8900<<2)|0);
+ $8902 = HEAP32[$8901>>2]|0;
+ $8903 = $8887 ^ $8902;
+ $8904 = $2;
+ $8905 = ((($8904)) + 11|0);
+ $8906 = HEAP8[$8905>>0]|0;
+ $8907 = $8906&255;
+ $8908 = 55 ^ $8907;
+ $8909 = (44992 + ($8908)|0);
+ $8910 = HEAP8[$8909>>0]|0;
+ $8911 = $8910&255;
+ $8912 = $2;
+ $8913 = ((($8912)) + 3|0);
+ $8914 = HEAP8[$8913>>0]|0;
+ $8915 = $8914&255;
+ $8916 = $8911 ^ $8915;
+ $8917 = ((11448) + ($8916<<2)|0);
+ $8918 = HEAP32[$8917>>2]|0;
+ $8919 = $8903 ^ $8918;
+ $x = $8919;
+ $8920 = $2;
+ $8921 = ((($8920)) + 12|0);
+ $8922 = HEAP8[$8921>>0]|0;
+ $8923 = $8922&255;
+ $8924 = 247 ^ $8923;
+ $8925 = (45248 + ($8924)|0);
+ $8926 = HEAP8[$8925>>0]|0;
+ $8927 = $8926&255;
+ $8928 = $2;
+ $8929 = ((($8928)) + 4|0);
+ $8930 = HEAP8[$8929>>0]|0;
+ $8931 = $8930&255;
+ $8932 = $8927 ^ $8931;
+ $8933 = (8376 + ($8932<<2)|0);
+ $8934 = HEAP32[$8933>>2]|0;
+ $8935 = $2;
+ $8936 = ((($8935)) + 13|0);
+ $8937 = HEAP8[$8936>>0]|0;
+ $8938 = $8937&255;
+ $8939 = 113 ^ $8938;
+ $8940 = (45248 + ($8939)|0);
+ $8941 = HEAP8[$8940>>0]|0;
+ $8942 = $8941&255;
+ $8943 = $2;
+ $8944 = ((($8943)) + 5|0);
+ $8945 = HEAP8[$8944>>0]|0;
+ $8946 = $8945&255;
+ $8947 = $8942 ^ $8946;
+ $8948 = ((9400) + ($8947<<2)|0);
+ $8949 = HEAP32[$8948>>2]|0;
+ $8950 = $8934 ^ $8949;
+ $8951 = $2;
+ $8952 = ((($8951)) + 14|0);
+ $8953 = HEAP8[$8952>>0]|0;
+ $8954 = $8953&255;
+ $8955 = 247 ^ $8954;
+ $8956 = (44992 + ($8955)|0);
+ $8957 = HEAP8[$8956>>0]|0;
+ $8958 = $8957&255;
+ $8959 = $2;
+ $8960 = ((($8959)) + 6|0);
+ $8961 = HEAP8[$8960>>0]|0;
+ $8962 = $8961&255;
+ $8963 = $8958 ^ $8962;
+ $8964 = ((10424) + ($8963<<2)|0);
+ $8965 = HEAP32[$8964>>2]|0;
+ $8966 = $8950 ^ $8965;
+ $8967 = $2;
+ $8968 = ((($8967)) + 15|0);
+ $8969 = HEAP8[$8968>>0]|0;
+ $8970 = $8969&255;
+ $8971 = 113 ^ $8970;
+ $8972 = (44992 + ($8971)|0);
+ $8973 = HEAP8[$8972>>0]|0;
+ $8974 = $8973&255;
+ $8975 = $2;
+ $8976 = ((($8975)) + 7|0);
+ $8977 = HEAP8[$8976>>0]|0;
+ $8978 = $8977&255;
+ $8979 = $8974 ^ $8978;
+ $8980 = ((11448) + ($8979<<2)|0);
+ $8981 = HEAP32[$8980>>2]|0;
+ $8982 = $8966 ^ $8981;
+ $y = $8982;
+ $8983 = $y;
+ $8984 = $8983 << 8;
+ $8985 = $y;
+ $8986 = $8985 >>> 24;
+ $8987 = (($8984) + ($8986))|0;
+ $y = $8987;
+ $8988 = $y;
+ $8989 = $x;
+ $8990 = (($8989) + ($8988))|0;
+ $x = $8990;
+ $8991 = $x;
+ $8992 = $y;
+ $8993 = (($8992) + ($8991))|0;
+ $y = $8993;
+ $8994 = $x;
+ $8995 = $1;
+ $8996 = ((($8995)) + 4128|0);
+ $8997 = ((($8996)) + 48|0);
+ HEAP32[$8997>>2] = $8994;
+ $8998 = $y;
+ $8999 = $8998 << 9;
+ $9000 = $y;
+ $9001 = $9000 >>> 23;
+ $9002 = (($8999) + ($9001))|0;
+ $9003 = $1;
+ $9004 = ((($9003)) + 4128|0);
+ $9005 = ((($9004)) + 52|0);
+ HEAP32[$9005>>2] = $9002;
+ $9006 = $2;
+ $9007 = ((($9006)) + 8|0);
+ $9008 = HEAP8[$9007>>0]|0;
+ $9009 = $9008&255;
+ $9010 = 236 ^ $9009;
+ $9011 = (45248 + ($9010)|0);
+ $9012 = HEAP8[$9011>>0]|0;
+ $9013 = $9012&255;
+ $9014 = $2;
+ $9015 = HEAP8[$9014>>0]|0;
+ $9016 = $9015&255;
+ $9017 = $9013 ^ $9016;
+ $9018 = (8376 + ($9017<<2)|0);
+ $9019 = HEAP32[$9018>>2]|0;
+ $9020 = $2;
+ $9021 = ((($9020)) + 9|0);
+ $9022 = HEAP8[$9021>>0]|0;
+ $9023 = $9022&255;
+ $9024 = 241 ^ $9023;
+ $9025 = (45248 + ($9024)|0);
+ $9026 = HEAP8[$9025>>0]|0;
+ $9027 = $9026&255;
+ $9028 = $2;
+ $9029 = ((($9028)) + 1|0);
+ $9030 = HEAP8[$9029>>0]|0;
+ $9031 = $9030&255;
+ $9032 = $9027 ^ $9031;
+ $9033 = ((9400) + ($9032<<2)|0);
+ $9034 = HEAP32[$9033>>2]|0;
+ $9035 = $9019 ^ $9034;
+ $9036 = $2;
+ $9037 = ((($9036)) + 10|0);
+ $9038 = HEAP8[$9037>>0]|0;
+ $9039 = $9038&255;
+ $9040 = 236 ^ $9039;
+ $9041 = (44992 + ($9040)|0);
+ $9042 = HEAP8[$9041>>0]|0;
+ $9043 = $9042&255;
+ $9044 = $2;
+ $9045 = ((($9044)) + 2|0);
+ $9046 = HEAP8[$9045>>0]|0;
+ $9047 = $9046&255;
+ $9048 = $9043 ^ $9047;
+ $9049 = ((10424) + ($9048<<2)|0);
+ $9050 = HEAP32[$9049>>2]|0;
+ $9051 = $9035 ^ $9050;
+ $9052 = $2;
+ $9053 = ((($9052)) + 11|0);
+ $9054 = HEAP8[$9053>>0]|0;
+ $9055 = $9054&255;
+ $9056 = 241 ^ $9055;
+ $9057 = (44992 + ($9056)|0);
+ $9058 = HEAP8[$9057>>0]|0;
+ $9059 = $9058&255;
+ $9060 = $2;
+ $9061 = ((($9060)) + 3|0);
+ $9062 = HEAP8[$9061>>0]|0;
+ $9063 = $9062&255;
+ $9064 = $9059 ^ $9063;
+ $9065 = ((11448) + ($9064<<2)|0);
+ $9066 = HEAP32[$9065>>2]|0;
+ $9067 = $9051 ^ $9066;
+ $x = $9067;
+ $9068 = $2;
+ $9069 = ((($9068)) + 12|0);
+ $9070 = HEAP8[$9069>>0]|0;
+ $9071 = $9070&255;
+ $9072 = 108 ^ $9071;
+ $9073 = (45248 + ($9072)|0);
+ $9074 = HEAP8[$9073>>0]|0;
+ $9075 = $9074&255;
+ $9076 = $2;
+ $9077 = ((($9076)) + 4|0);
+ $9078 = HEAP8[$9077>>0]|0;
+ $9079 = $9078&255;
+ $9080 = $9075 ^ $9079;
+ $9081 = (8376 + ($9080<<2)|0);
+ $9082 = HEAP32[$9081>>2]|0;
+ $9083 = $2;
+ $9084 = ((($9083)) + 13|0);
+ $9085 = HEAP8[$9084>>0]|0;
+ $9086 = $9085&255;
+ $9087 = 225 ^ $9086;
+ $9088 = (45248 + ($9087)|0);
+ $9089 = HEAP8[$9088>>0]|0;
+ $9090 = $9089&255;
+ $9091 = $2;
+ $9092 = ((($9091)) + 5|0);
+ $9093 = HEAP8[$9092>>0]|0;
+ $9094 = $9093&255;
+ $9095 = $9090 ^ $9094;
+ $9096 = ((9400) + ($9095<<2)|0);
+ $9097 = HEAP32[$9096>>2]|0;
+ $9098 = $9082 ^ $9097;
+ $9099 = $2;
+ $9100 = ((($9099)) + 14|0);
+ $9101 = HEAP8[$9100>>0]|0;
+ $9102 = $9101&255;
+ $9103 = 108 ^ $9102;
+ $9104 = (44992 + ($9103)|0);
+ $9105 = HEAP8[$9104>>0]|0;
+ $9106 = $9105&255;
+ $9107 = $2;
+ $9108 = ((($9107)) + 6|0);
+ $9109 = HEAP8[$9108>>0]|0;
+ $9110 = $9109&255;
+ $9111 = $9106 ^ $9110;
+ $9112 = ((10424) + ($9111<<2)|0);
+ $9113 = HEAP32[$9112>>2]|0;
+ $9114 = $9098 ^ $9113;
+ $9115 = $2;
+ $9116 = ((($9115)) + 15|0);
+ $9117 = HEAP8[$9116>>0]|0;
+ $9118 = $9117&255;
+ $9119 = 225 ^ $9118;
+ $9120 = (44992 + ($9119)|0);
+ $9121 = HEAP8[$9120>>0]|0;
+ $9122 = $9121&255;
+ $9123 = $2;
+ $9124 = ((($9123)) + 7|0);
+ $9125 = HEAP8[$9124>>0]|0;
+ $9126 = $9125&255;
+ $9127 = $9122 ^ $9126;
+ $9128 = ((11448) + ($9127<<2)|0);
+ $9129 = HEAP32[$9128>>2]|0;
+ $9130 = $9114 ^ $9129;
+ $y = $9130;
+ $9131 = $y;
+ $9132 = $9131 << 8;
+ $9133 = $y;
+ $9134 = $9133 >>> 24;
+ $9135 = (($9132) + ($9134))|0;
+ $y = $9135;
+ $9136 = $y;
+ $9137 = $x;
+ $9138 = (($9137) + ($9136))|0;
+ $x = $9138;
+ $9139 = $x;
+ $9140 = $y;
+ $9141 = (($9140) + ($9139))|0;
+ $y = $9141;
+ $9142 = $x;
+ $9143 = $1;
+ $9144 = ((($9143)) + 4128|0);
+ $9145 = ((($9144)) + 56|0);
+ HEAP32[$9145>>2] = $9142;
+ $9146 = $y;
+ $9147 = $9146 << 9;
+ $9148 = $y;
+ $9149 = $9148 >>> 23;
+ $9150 = (($9147) + ($9149))|0;
+ $9151 = $1;
+ $9152 = ((($9151)) + 4128|0);
+ $9153 = ((($9152)) + 60|0);
+ HEAP32[$9153>>2] = $9150;
+ $9154 = $2;
+ $9155 = ((($9154)) + 8|0);
+ $9156 = HEAP8[$9155>>0]|0;
+ $9157 = $9156&255;
+ $9158 = 67 ^ $9157;
+ $9159 = (45248 + ($9158)|0);
+ $9160 = HEAP8[$9159>>0]|0;
+ $9161 = $9160&255;
+ $9162 = $2;
+ $9163 = HEAP8[$9162>>0]|0;
+ $9164 = $9163&255;
+ $9165 = $9161 ^ $9164;
+ $9166 = (8376 + ($9165<<2)|0);
+ $9167 = HEAP32[$9166>>2]|0;
+ $9168 = $2;
+ $9169 = ((($9168)) + 9|0);
+ $9170 = HEAP8[$9169>>0]|0;
+ $9171 = $9170&255;
+ $9172 = 48 ^ $9171;
+ $9173 = (45248 + ($9172)|0);
+ $9174 = HEAP8[$9173>>0]|0;
+ $9175 = $9174&255;
+ $9176 = $2;
+ $9177 = ((($9176)) + 1|0);
+ $9178 = HEAP8[$9177>>0]|0;
+ $9179 = $9178&255;
+ $9180 = $9175 ^ $9179;
+ $9181 = ((9400) + ($9180<<2)|0);
+ $9182 = HEAP32[$9181>>2]|0;
+ $9183 = $9167 ^ $9182;
+ $9184 = $2;
+ $9185 = ((($9184)) + 10|0);
+ $9186 = HEAP8[$9185>>0]|0;
+ $9187 = $9186&255;
+ $9188 = 67 ^ $9187;
+ $9189 = (44992 + ($9188)|0);
+ $9190 = HEAP8[$9189>>0]|0;
+ $9191 = $9190&255;
+ $9192 = $2;
+ $9193 = ((($9192)) + 2|0);
+ $9194 = HEAP8[$9193>>0]|0;
+ $9195 = $9194&255;
+ $9196 = $9191 ^ $9195;
+ $9197 = ((10424) + ($9196<<2)|0);
+ $9198 = HEAP32[$9197>>2]|0;
+ $9199 = $9183 ^ $9198;
+ $9200 = $2;
+ $9201 = ((($9200)) + 11|0);
+ $9202 = HEAP8[$9201>>0]|0;
+ $9203 = $9202&255;
+ $9204 = 48 ^ $9203;
+ $9205 = (44992 + ($9204)|0);
+ $9206 = HEAP8[$9205>>0]|0;
+ $9207 = $9206&255;
+ $9208 = $2;
+ $9209 = ((($9208)) + 3|0);
+ $9210 = HEAP8[$9209>>0]|0;
+ $9211 = $9210&255;
+ $9212 = $9207 ^ $9211;
+ $9213 = ((11448) + ($9212<<2)|0);
+ $9214 = HEAP32[$9213>>2]|0;
+ $9215 = $9199 ^ $9214;
+ $x = $9215;
+ $9216 = $2;
+ $9217 = ((($9216)) + 12|0);
+ $9218 = HEAP8[$9217>>0]|0;
+ $9219 = $9218&255;
+ $9220 = 117 ^ $9219;
+ $9221 = (45248 + ($9220)|0);
+ $9222 = HEAP8[$9221>>0]|0;
+ $9223 = $9222&255;
+ $9224 = $2;
+ $9225 = ((($9224)) + 4|0);
+ $9226 = HEAP8[$9225>>0]|0;
+ $9227 = $9226&255;
+ $9228 = $9223 ^ $9227;
+ $9229 = (8376 + ($9228<<2)|0);
+ $9230 = HEAP32[$9229>>2]|0;
+ $9231 = $2;
+ $9232 = ((($9231)) + 13|0);
+ $9233 = HEAP8[$9232>>0]|0;
+ $9234 = $9233&255;
+ $9235 = 15 ^ $9234;
+ $9236 = (45248 + ($9235)|0);
+ $9237 = HEAP8[$9236>>0]|0;
+ $9238 = $9237&255;
+ $9239 = $2;
+ $9240 = ((($9239)) + 5|0);
+ $9241 = HEAP8[$9240>>0]|0;
+ $9242 = $9241&255;
+ $9243 = $9238 ^ $9242;
+ $9244 = ((9400) + ($9243<<2)|0);
+ $9245 = HEAP32[$9244>>2]|0;
+ $9246 = $9230 ^ $9245;
+ $9247 = $2;
+ $9248 = ((($9247)) + 14|0);
+ $9249 = HEAP8[$9248>>0]|0;
+ $9250 = $9249&255;
+ $9251 = 117 ^ $9250;
+ $9252 = (44992 + ($9251)|0);
+ $9253 = HEAP8[$9252>>0]|0;
+ $9254 = $9253&255;
+ $9255 = $2;
+ $9256 = ((($9255)) + 6|0);
+ $9257 = HEAP8[$9256>>0]|0;
+ $9258 = $9257&255;
+ $9259 = $9254 ^ $9258;
+ $9260 = ((10424) + ($9259<<2)|0);
+ $9261 = HEAP32[$9260>>2]|0;
+ $9262 = $9246 ^ $9261;
+ $9263 = $2;
+ $9264 = ((($9263)) + 15|0);
+ $9265 = HEAP8[$9264>>0]|0;
+ $9266 = $9265&255;
+ $9267 = 15 ^ $9266;
+ $9268 = (44992 + ($9267)|0);
+ $9269 = HEAP8[$9268>>0]|0;
+ $9270 = $9269&255;
+ $9271 = $2;
+ $9272 = ((($9271)) + 7|0);
+ $9273 = HEAP8[$9272>>0]|0;
+ $9274 = $9273&255;
+ $9275 = $9270 ^ $9274;
+ $9276 = ((11448) + ($9275<<2)|0);
+ $9277 = HEAP32[$9276>>2]|0;
+ $9278 = $9262 ^ $9277;
+ $y = $9278;
+ $9279 = $y;
+ $9280 = $9279 << 8;
+ $9281 = $y;
+ $9282 = $9281 >>> 24;
+ $9283 = (($9280) + ($9282))|0;
+ $y = $9283;
+ $9284 = $y;
+ $9285 = $x;
+ $9286 = (($9285) + ($9284))|0;
+ $x = $9286;
+ $9287 = $x;
+ $9288 = $y;
+ $9289 = (($9288) + ($9287))|0;
+ $y = $9289;
+ $9290 = $x;
+ $9291 = $1;
+ $9292 = ((($9291)) + 4128|0);
+ $9293 = ((($9292)) + 64|0);
+ HEAP32[$9293>>2] = $9290;
+ $9294 = $y;
+ $9295 = $9294 << 9;
+ $9296 = $y;
+ $9297 = $9296 >>> 23;
+ $9298 = (($9295) + ($9297))|0;
+ $9299 = $1;
+ $9300 = ((($9299)) + 4128|0);
+ $9301 = ((($9300)) + 68|0);
+ HEAP32[$9301>>2] = $9298;
+ $9302 = $2;
+ $9303 = ((($9302)) + 8|0);
+ $9304 = HEAP8[$9303>>0]|0;
+ $9305 = $9304&255;
+ $9306 = 55 ^ $9305;
+ $9307 = (45248 + ($9306)|0);
+ $9308 = HEAP8[$9307>>0]|0;
+ $9309 = $9308&255;
+ $9310 = $2;
+ $9311 = HEAP8[$9310>>0]|0;
+ $9312 = $9311&255;
+ $9313 = $9309 ^ $9312;
+ $9314 = (8376 + ($9313<<2)|0);
+ $9315 = HEAP32[$9314>>2]|0;
+ $9316 = $2;
+ $9317 = ((($9316)) + 9|0);
+ $9318 = HEAP8[$9317>>0]|0;
+ $9319 = $9318&255;
+ $9320 = 248 ^ $9319;
+ $9321 = (45248 + ($9320)|0);
+ $9322 = HEAP8[$9321>>0]|0;
+ $9323 = $9322&255;
+ $9324 = $2;
+ $9325 = ((($9324)) + 1|0);
+ $9326 = HEAP8[$9325>>0]|0;
+ $9327 = $9326&255;
+ $9328 = $9323 ^ $9327;
+ $9329 = ((9400) + ($9328<<2)|0);
+ $9330 = HEAP32[$9329>>2]|0;
+ $9331 = $9315 ^ $9330;
+ $9332 = $2;
+ $9333 = ((($9332)) + 10|0);
+ $9334 = HEAP8[$9333>>0]|0;
+ $9335 = $9334&255;
+ $9336 = 55 ^ $9335;
+ $9337 = (44992 + ($9336)|0);
+ $9338 = HEAP8[$9337>>0]|0;
+ $9339 = $9338&255;
+ $9340 = $2;
+ $9341 = ((($9340)) + 2|0);
+ $9342 = HEAP8[$9341>>0]|0;
+ $9343 = $9342&255;
+ $9344 = $9339 ^ $9343;
+ $9345 = ((10424) + ($9344<<2)|0);
+ $9346 = HEAP32[$9345>>2]|0;
+ $9347 = $9331 ^ $9346;
+ $9348 = $2;
+ $9349 = ((($9348)) + 11|0);
+ $9350 = HEAP8[$9349>>0]|0;
+ $9351 = $9350&255;
+ $9352 = 248 ^ $9351;
+ $9353 = (44992 + ($9352)|0);
+ $9354 = HEAP8[$9353>>0]|0;
+ $9355 = $9354&255;
+ $9356 = $2;
+ $9357 = ((($9356)) + 3|0);
+ $9358 = HEAP8[$9357>>0]|0;
+ $9359 = $9358&255;
+ $9360 = $9355 ^ $9359;
+ $9361 = ((11448) + ($9360<<2)|0);
+ $9362 = HEAP32[$9361>>2]|0;
+ $9363 = $9347 ^ $9362;
+ $x = $9363;
+ $9364 = $2;
+ $9365 = ((($9364)) + 12|0);
+ $9366 = HEAP8[$9365>>0]|0;
+ $9367 = $9366&255;
+ $9368 = 38 ^ $9367;
+ $9369 = (45248 + ($9368)|0);
+ $9370 = HEAP8[$9369>>0]|0;
+ $9371 = $9370&255;
+ $9372 = $2;
+ $9373 = ((($9372)) + 4|0);
+ $9374 = HEAP8[$9373>>0]|0;
+ $9375 = $9374&255;
+ $9376 = $9371 ^ $9375;
+ $9377 = (8376 + ($9376<<2)|0);
+ $9378 = HEAP32[$9377>>2]|0;
+ $9379 = $2;
+ $9380 = ((($9379)) + 13|0);
+ $9381 = HEAP8[$9380>>0]|0;
+ $9382 = $9381&255;
+ $9383 = 27 ^ $9382;
+ $9384 = (45248 + ($9383)|0);
+ $9385 = HEAP8[$9384>>0]|0;
+ $9386 = $9385&255;
+ $9387 = $2;
+ $9388 = ((($9387)) + 5|0);
+ $9389 = HEAP8[$9388>>0]|0;
+ $9390 = $9389&255;
+ $9391 = $9386 ^ $9390;
+ $9392 = ((9400) + ($9391<<2)|0);
+ $9393 = HEAP32[$9392>>2]|0;
+ $9394 = $9378 ^ $9393;
+ $9395 = $2;
+ $9396 = ((($9395)) + 14|0);
+ $9397 = HEAP8[$9396>>0]|0;
+ $9398 = $9397&255;
+ $9399 = 38 ^ $9398;
+ $9400 = (44992 + ($9399)|0);
+ $9401 = HEAP8[$9400>>0]|0;
+ $9402 = $9401&255;
+ $9403 = $2;
+ $9404 = ((($9403)) + 6|0);
+ $9405 = HEAP8[$9404>>0]|0;
+ $9406 = $9405&255;
+ $9407 = $9402 ^ $9406;
+ $9408 = ((10424) + ($9407<<2)|0);
+ $9409 = HEAP32[$9408>>2]|0;
+ $9410 = $9394 ^ $9409;
+ $9411 = $2;
+ $9412 = ((($9411)) + 15|0);
+ $9413 = HEAP8[$9412>>0]|0;
+ $9414 = $9413&255;
+ $9415 = 27 ^ $9414;
+ $9416 = (44992 + ($9415)|0);
+ $9417 = HEAP8[$9416>>0]|0;
+ $9418 = $9417&255;
+ $9419 = $2;
+ $9420 = ((($9419)) + 7|0);
+ $9421 = HEAP8[$9420>>0]|0;
+ $9422 = $9421&255;
+ $9423 = $9418 ^ $9422;
+ $9424 = ((11448) + ($9423<<2)|0);
+ $9425 = HEAP32[$9424>>2]|0;
+ $9426 = $9410 ^ $9425;
+ $y = $9426;
+ $9427 = $y;
+ $9428 = $9427 << 8;
+ $9429 = $y;
+ $9430 = $9429 >>> 24;
+ $9431 = (($9428) + ($9430))|0;
+ $y = $9431;
+ $9432 = $y;
+ $9433 = $x;
+ $9434 = (($9433) + ($9432))|0;
+ $x = $9434;
+ $9435 = $x;
+ $9436 = $y;
+ $9437 = (($9436) + ($9435))|0;
+ $y = $9437;
+ $9438 = $x;
+ $9439 = $1;
+ $9440 = ((($9439)) + 4128|0);
+ $9441 = ((($9440)) + 72|0);
+ HEAP32[$9441>>2] = $9438;
+ $9442 = $y;
+ $9443 = $9442 << 9;
+ $9444 = $y;
+ $9445 = $9444 >>> 23;
+ $9446 = (($9443) + ($9445))|0;
+ $9447 = $1;
+ $9448 = ((($9447)) + 4128|0);
+ $9449 = ((($9448)) + 76|0);
+ HEAP32[$9449>>2] = $9446;
+ $9450 = $2;
+ $9451 = ((($9450)) + 8|0);
+ $9452 = HEAP8[$9451>>0]|0;
+ $9453 = $9452&255;
+ $9454 = 250 ^ $9453;
+ $9455 = (45248 + ($9454)|0);
+ $9456 = HEAP8[$9455>>0]|0;
+ $9457 = $9456&255;
+ $9458 = $2;
+ $9459 = HEAP8[$9458>>0]|0;
+ $9460 = $9459&255;
+ $9461 = $9457 ^ $9460;
+ $9462 = (8376 + ($9461<<2)|0);
+ $9463 = HEAP32[$9462>>2]|0;
+ $9464 = $2;
+ $9465 = ((($9464)) + 9|0);
+ $9466 = HEAP8[$9465>>0]|0;
+ $9467 = $9466&255;
+ $9468 = 135 ^ $9467;
+ $9469 = (45248 + ($9468)|0);
+ $9470 = HEAP8[$9469>>0]|0;
+ $9471 = $9470&255;
+ $9472 = $2;
+ $9473 = ((($9472)) + 1|0);
+ $9474 = HEAP8[$9473>>0]|0;
+ $9475 = $9474&255;
+ $9476 = $9471 ^ $9475;
+ $9477 = ((9400) + ($9476<<2)|0);
+ $9478 = HEAP32[$9477>>2]|0;
+ $9479 = $9463 ^ $9478;
+ $9480 = $2;
+ $9481 = ((($9480)) + 10|0);
+ $9482 = HEAP8[$9481>>0]|0;
+ $9483 = $9482&255;
+ $9484 = 250 ^ $9483;
+ $9485 = (44992 + ($9484)|0);
+ $9486 = HEAP8[$9485>>0]|0;
+ $9487 = $9486&255;
+ $9488 = $2;
+ $9489 = ((($9488)) + 2|0);
+ $9490 = HEAP8[$9489>>0]|0;
+ $9491 = $9490&255;
+ $9492 = $9487 ^ $9491;
+ $9493 = ((10424) + ($9492<<2)|0);
+ $9494 = HEAP32[$9493>>2]|0;
+ $9495 = $9479 ^ $9494;
+ $9496 = $2;
+ $9497 = ((($9496)) + 11|0);
+ $9498 = HEAP8[$9497>>0]|0;
+ $9499 = $9498&255;
+ $9500 = 135 ^ $9499;
+ $9501 = (44992 + ($9500)|0);
+ $9502 = HEAP8[$9501>>0]|0;
+ $9503 = $9502&255;
+ $9504 = $2;
+ $9505 = ((($9504)) + 3|0);
+ $9506 = HEAP8[$9505>>0]|0;
+ $9507 = $9506&255;
+ $9508 = $9503 ^ $9507;
+ $9509 = ((11448) + ($9508<<2)|0);
+ $9510 = HEAP32[$9509>>2]|0;
+ $9511 = $9495 ^ $9510;
+ $x = $9511;
+ $9512 = $2;
+ $9513 = ((($9512)) + 12|0);
+ $9514 = HEAP8[$9513>>0]|0;
+ $9515 = $9514&255;
+ $9516 = 19 ^ $9515;
+ $9517 = (45248 + ($9516)|0);
+ $9518 = HEAP8[$9517>>0]|0;
+ $9519 = $9518&255;
+ $9520 = $2;
+ $9521 = ((($9520)) + 4|0);
+ $9522 = HEAP8[$9521>>0]|0;
+ $9523 = $9522&255;
+ $9524 = $9519 ^ $9523;
+ $9525 = (8376 + ($9524<<2)|0);
+ $9526 = HEAP32[$9525>>2]|0;
+ $9527 = $2;
+ $9528 = ((($9527)) + 13|0);
+ $9529 = HEAP8[$9528>>0]|0;
+ $9530 = $9529&255;
+ $9531 = 250 ^ $9530;
+ $9532 = (45248 + ($9531)|0);
+ $9533 = HEAP8[$9532>>0]|0;
+ $9534 = $9533&255;
+ $9535 = $2;
+ $9536 = ((($9535)) + 5|0);
+ $9537 = HEAP8[$9536>>0]|0;
+ $9538 = $9537&255;
+ $9539 = $9534 ^ $9538;
+ $9540 = ((9400) + ($9539<<2)|0);
+ $9541 = HEAP32[$9540>>2]|0;
+ $9542 = $9526 ^ $9541;
+ $9543 = $2;
+ $9544 = ((($9543)) + 14|0);
+ $9545 = HEAP8[$9544>>0]|0;
+ $9546 = $9545&255;
+ $9547 = 19 ^ $9546;
+ $9548 = (44992 + ($9547)|0);
+ $9549 = HEAP8[$9548>>0]|0;
+ $9550 = $9549&255;
+ $9551 = $2;
+ $9552 = ((($9551)) + 6|0);
+ $9553 = HEAP8[$9552>>0]|0;
+ $9554 = $9553&255;
+ $9555 = $9550 ^ $9554;
+ $9556 = ((10424) + ($9555<<2)|0);
+ $9557 = HEAP32[$9556>>2]|0;
+ $9558 = $9542 ^ $9557;
+ $9559 = $2;
+ $9560 = ((($9559)) + 15|0);
+ $9561 = HEAP8[$9560>>0]|0;
+ $9562 = $9561&255;
+ $9563 = 250 ^ $9562;
+ $9564 = (44992 + ($9563)|0);
+ $9565 = HEAP8[$9564>>0]|0;
+ $9566 = $9565&255;
+ $9567 = $2;
+ $9568 = ((($9567)) + 7|0);
+ $9569 = HEAP8[$9568>>0]|0;
+ $9570 = $9569&255;
+ $9571 = $9566 ^ $9570;
+ $9572 = ((11448) + ($9571<<2)|0);
+ $9573 = HEAP32[$9572>>2]|0;
+ $9574 = $9558 ^ $9573;
+ $y = $9574;
+ $9575 = $y;
+ $9576 = $9575 << 8;
+ $9577 = $y;
+ $9578 = $9577 >>> 24;
+ $9579 = (($9576) + ($9578))|0;
+ $y = $9579;
+ $9580 = $y;
+ $9581 = $x;
+ $9582 = (($9581) + ($9580))|0;
+ $x = $9582;
+ $9583 = $x;
+ $9584 = $y;
+ $9585 = (($9584) + ($9583))|0;
+ $y = $9585;
+ $9586 = $x;
+ $9587 = $1;
+ $9588 = ((($9587)) + 4128|0);
+ $9589 = ((($9588)) + 80|0);
+ HEAP32[$9589>>2] = $9586;
+ $9590 = $y;
+ $9591 = $9590 << 9;
+ $9592 = $y;
+ $9593 = $9592 >>> 23;
+ $9594 = (($9591) + ($9593))|0;
+ $9595 = $1;
+ $9596 = ((($9595)) + 4128|0);
+ $9597 = ((($9596)) + 84|0);
+ HEAP32[$9597>>2] = $9594;
+ $9598 = $2;
+ $9599 = ((($9598)) + 8|0);
+ $9600 = HEAP8[$9599>>0]|0;
+ $9601 = $9600&255;
+ $9602 = 148 ^ $9601;
+ $9603 = (45248 + ($9602)|0);
+ $9604 = HEAP8[$9603>>0]|0;
+ $9605 = $9604&255;
+ $9606 = $2;
+ $9607 = HEAP8[$9606>>0]|0;
+ $9608 = $9607&255;
+ $9609 = $9605 ^ $9608;
+ $9610 = (8376 + ($9609<<2)|0);
+ $9611 = HEAP32[$9610>>2]|0;
+ $9612 = $2;
+ $9613 = ((($9612)) + 9|0);
+ $9614 = HEAP8[$9613>>0]|0;
+ $9615 = $9614&255;
+ $9616 = 6 ^ $9615;
+ $9617 = (45248 + ($9616)|0);
+ $9618 = HEAP8[$9617>>0]|0;
+ $9619 = $9618&255;
+ $9620 = $2;
+ $9621 = ((($9620)) + 1|0);
+ $9622 = HEAP8[$9621>>0]|0;
+ $9623 = $9622&255;
+ $9624 = $9619 ^ $9623;
+ $9625 = ((9400) + ($9624<<2)|0);
+ $9626 = HEAP32[$9625>>2]|0;
+ $9627 = $9611 ^ $9626;
+ $9628 = $2;
+ $9629 = ((($9628)) + 10|0);
+ $9630 = HEAP8[$9629>>0]|0;
+ $9631 = $9630&255;
+ $9632 = 148 ^ $9631;
+ $9633 = (44992 + ($9632)|0);
+ $9634 = HEAP8[$9633>>0]|0;
+ $9635 = $9634&255;
+ $9636 = $2;
+ $9637 = ((($9636)) + 2|0);
+ $9638 = HEAP8[$9637>>0]|0;
+ $9639 = $9638&255;
+ $9640 = $9635 ^ $9639;
+ $9641 = ((10424) + ($9640<<2)|0);
+ $9642 = HEAP32[$9641>>2]|0;
+ $9643 = $9627 ^ $9642;
+ $9644 = $2;
+ $9645 = ((($9644)) + 11|0);
+ $9646 = HEAP8[$9645>>0]|0;
+ $9647 = $9646&255;
+ $9648 = 6 ^ $9647;
+ $9649 = (44992 + ($9648)|0);
+ $9650 = HEAP8[$9649>>0]|0;
+ $9651 = $9650&255;
+ $9652 = $2;
+ $9653 = ((($9652)) + 3|0);
+ $9654 = HEAP8[$9653>>0]|0;
+ $9655 = $9654&255;
+ $9656 = $9651 ^ $9655;
+ $9657 = ((11448) + ($9656<<2)|0);
+ $9658 = HEAP32[$9657>>2]|0;
+ $9659 = $9643 ^ $9658;
+ $x = $9659;
+ $9660 = $2;
+ $9661 = ((($9660)) + 12|0);
+ $9662 = HEAP8[$9661>>0]|0;
+ $9663 = $9662&255;
+ $9664 = 72 ^ $9663;
+ $9665 = (45248 + ($9664)|0);
+ $9666 = HEAP8[$9665>>0]|0;
+ $9667 = $9666&255;
+ $9668 = $2;
+ $9669 = ((($9668)) + 4|0);
+ $9670 = HEAP8[$9669>>0]|0;
+ $9671 = $9670&255;
+ $9672 = $9667 ^ $9671;
+ $9673 = (8376 + ($9672<<2)|0);
+ $9674 = HEAP32[$9673>>2]|0;
+ $9675 = $2;
+ $9676 = ((($9675)) + 13|0);
+ $9677 = HEAP8[$9676>>0]|0;
+ $9678 = $9677&255;
+ $9679 = 63 ^ $9678;
+ $9680 = (45248 + ($9679)|0);
+ $9681 = HEAP8[$9680>>0]|0;
+ $9682 = $9681&255;
+ $9683 = $2;
+ $9684 = ((($9683)) + 5|0);
+ $9685 = HEAP8[$9684>>0]|0;
+ $9686 = $9685&255;
+ $9687 = $9682 ^ $9686;
+ $9688 = ((9400) + ($9687<<2)|0);
+ $9689 = HEAP32[$9688>>2]|0;
+ $9690 = $9674 ^ $9689;
+ $9691 = $2;
+ $9692 = ((($9691)) + 14|0);
+ $9693 = HEAP8[$9692>>0]|0;
+ $9694 = $9693&255;
+ $9695 = 72 ^ $9694;
+ $9696 = (44992 + ($9695)|0);
+ $9697 = HEAP8[$9696>>0]|0;
+ $9698 = $9697&255;
+ $9699 = $2;
+ $9700 = ((($9699)) + 6|0);
+ $9701 = HEAP8[$9700>>0]|0;
+ $9702 = $9701&255;
+ $9703 = $9698 ^ $9702;
+ $9704 = ((10424) + ($9703<<2)|0);
+ $9705 = HEAP32[$9704>>2]|0;
+ $9706 = $9690 ^ $9705;
+ $9707 = $2;
+ $9708 = ((($9707)) + 15|0);
+ $9709 = HEAP8[$9708>>0]|0;
+ $9710 = $9709&255;
+ $9711 = 63 ^ $9710;
+ $9712 = (44992 + ($9711)|0);
+ $9713 = HEAP8[$9712>>0]|0;
+ $9714 = $9713&255;
+ $9715 = $2;
+ $9716 = ((($9715)) + 7|0);
+ $9717 = HEAP8[$9716>>0]|0;
+ $9718 = $9717&255;
+ $9719 = $9714 ^ $9718;
+ $9720 = ((11448) + ($9719<<2)|0);
+ $9721 = HEAP32[$9720>>2]|0;
+ $9722 = $9706 ^ $9721;
+ $y = $9722;
+ $9723 = $y;
+ $9724 = $9723 << 8;
+ $9725 = $y;
+ $9726 = $9725 >>> 24;
+ $9727 = (($9724) + ($9726))|0;
+ $y = $9727;
+ $9728 = $y;
+ $9729 = $x;
+ $9730 = (($9729) + ($9728))|0;
+ $x = $9730;
+ $9731 = $x;
+ $9732 = $y;
+ $9733 = (($9732) + ($9731))|0;
+ $y = $9733;
+ $9734 = $x;
+ $9735 = $1;
+ $9736 = ((($9735)) + 4128|0);
+ $9737 = ((($9736)) + 88|0);
+ HEAP32[$9737>>2] = $9734;
+ $9738 = $y;
+ $9739 = $9738 << 9;
+ $9740 = $y;
+ $9741 = $9740 >>> 23;
+ $9742 = (($9739) + ($9741))|0;
+ $9743 = $1;
+ $9744 = ((($9743)) + 4128|0);
+ $9745 = ((($9744)) + 92|0);
+ HEAP32[$9745>>2] = $9742;
+ $9746 = $2;
+ $9747 = ((($9746)) + 8|0);
+ $9748 = HEAP8[$9747>>0]|0;
+ $9749 = $9748&255;
+ $9750 = 242 ^ $9749;
+ $9751 = (45248 + ($9750)|0);
+ $9752 = HEAP8[$9751>>0]|0;
+ $9753 = $9752&255;
+ $9754 = $2;
+ $9755 = HEAP8[$9754>>0]|0;
+ $9756 = $9755&255;
+ $9757 = $9753 ^ $9756;
+ $9758 = (8376 + ($9757<<2)|0);
+ $9759 = HEAP32[$9758>>2]|0;
+ $9760 = $2;
+ $9761 = ((($9760)) + 9|0);
+ $9762 = HEAP8[$9761>>0]|0;
+ $9763 = $9762&255;
+ $9764 = 94 ^ $9763;
+ $9765 = (45248 + ($9764)|0);
+ $9766 = HEAP8[$9765>>0]|0;
+ $9767 = $9766&255;
+ $9768 = $2;
+ $9769 = ((($9768)) + 1|0);
+ $9770 = HEAP8[$9769>>0]|0;
+ $9771 = $9770&255;
+ $9772 = $9767 ^ $9771;
+ $9773 = ((9400) + ($9772<<2)|0);
+ $9774 = HEAP32[$9773>>2]|0;
+ $9775 = $9759 ^ $9774;
+ $9776 = $2;
+ $9777 = ((($9776)) + 10|0);
+ $9778 = HEAP8[$9777>>0]|0;
+ $9779 = $9778&255;
+ $9780 = 242 ^ $9779;
+ $9781 = (44992 + ($9780)|0);
+ $9782 = HEAP8[$9781>>0]|0;
+ $9783 = $9782&255;
+ $9784 = $2;
+ $9785 = ((($9784)) + 2|0);
+ $9786 = HEAP8[$9785>>0]|0;
+ $9787 = $9786&255;
+ $9788 = $9783 ^ $9787;
+ $9789 = ((10424) + ($9788<<2)|0);
+ $9790 = HEAP32[$9789>>2]|0;
+ $9791 = $9775 ^ $9790;
+ $9792 = $2;
+ $9793 = ((($9792)) + 11|0);
+ $9794 = HEAP8[$9793>>0]|0;
+ $9795 = $9794&255;
+ $9796 = 94 ^ $9795;
+ $9797 = (44992 + ($9796)|0);
+ $9798 = HEAP8[$9797>>0]|0;
+ $9799 = $9798&255;
+ $9800 = $2;
+ $9801 = ((($9800)) + 3|0);
+ $9802 = HEAP8[$9801>>0]|0;
+ $9803 = $9802&255;
+ $9804 = $9799 ^ $9803;
+ $9805 = ((11448) + ($9804<<2)|0);
+ $9806 = HEAP32[$9805>>2]|0;
+ $9807 = $9791 ^ $9806;
+ $x = $9807;
+ $9808 = $2;
+ $9809 = ((($9808)) + 12|0);
+ $9810 = HEAP8[$9809>>0]|0;
+ $9811 = $9810&255;
+ $9812 = 208 ^ $9811;
+ $9813 = (45248 + ($9812)|0);
+ $9814 = HEAP8[$9813>>0]|0;
+ $9815 = $9814&255;
+ $9816 = $2;
+ $9817 = ((($9816)) + 4|0);
+ $9818 = HEAP8[$9817>>0]|0;
+ $9819 = $9818&255;
+ $9820 = $9815 ^ $9819;
+ $9821 = (8376 + ($9820<<2)|0);
+ $9822 = HEAP32[$9821>>2]|0;
+ $9823 = $2;
+ $9824 = ((($9823)) + 13|0);
+ $9825 = HEAP8[$9824>>0]|0;
+ $9826 = $9825&255;
+ $9827 = 186 ^ $9826;
+ $9828 = (45248 + ($9827)|0);
+ $9829 = HEAP8[$9828>>0]|0;
+ $9830 = $9829&255;
+ $9831 = $2;
+ $9832 = ((($9831)) + 5|0);
+ $9833 = HEAP8[$9832>>0]|0;
+ $9834 = $9833&255;
+ $9835 = $9830 ^ $9834;
+ $9836 = ((9400) + ($9835<<2)|0);
+ $9837 = HEAP32[$9836>>2]|0;
+ $9838 = $9822 ^ $9837;
+ $9839 = $2;
+ $9840 = ((($9839)) + 14|0);
+ $9841 = HEAP8[$9840>>0]|0;
+ $9842 = $9841&255;
+ $9843 = 208 ^ $9842;
+ $9844 = (44992 + ($9843)|0);
+ $9845 = HEAP8[$9844>>0]|0;
+ $9846 = $9845&255;
+ $9847 = $2;
+ $9848 = ((($9847)) + 6|0);
+ $9849 = HEAP8[$9848>>0]|0;
+ $9850 = $9849&255;
+ $9851 = $9846 ^ $9850;
+ $9852 = ((10424) + ($9851<<2)|0);
+ $9853 = HEAP32[$9852>>2]|0;
+ $9854 = $9838 ^ $9853;
+ $9855 = $2;
+ $9856 = ((($9855)) + 15|0);
+ $9857 = HEAP8[$9856>>0]|0;
+ $9858 = $9857&255;
+ $9859 = 186 ^ $9858;
+ $9860 = (44992 + ($9859)|0);
+ $9861 = HEAP8[$9860>>0]|0;
+ $9862 = $9861&255;
+ $9863 = $2;
+ $9864 = ((($9863)) + 7|0);
+ $9865 = HEAP8[$9864>>0]|0;
+ $9866 = $9865&255;
+ $9867 = $9862 ^ $9866;
+ $9868 = ((11448) + ($9867<<2)|0);
+ $9869 = HEAP32[$9868>>2]|0;
+ $9870 = $9854 ^ $9869;
+ $y = $9870;
+ $9871 = $y;
+ $9872 = $9871 << 8;
+ $9873 = $y;
+ $9874 = $9873 >>> 24;
+ $9875 = (($9872) + ($9874))|0;
+ $y = $9875;
+ $9876 = $y;
+ $9877 = $x;
+ $9878 = (($9877) + ($9876))|0;
+ $x = $9878;
+ $9879 = $x;
+ $9880 = $y;
+ $9881 = (($9880) + ($9879))|0;
+ $y = $9881;
+ $9882 = $x;
+ $9883 = $1;
+ $9884 = ((($9883)) + 4128|0);
+ $9885 = ((($9884)) + 96|0);
+ HEAP32[$9885>>2] = $9882;
+ $9886 = $y;
+ $9887 = $9886 << 9;
+ $9888 = $y;
+ $9889 = $9888 >>> 23;
+ $9890 = (($9887) + ($9889))|0;
+ $9891 = $1;
+ $9892 = ((($9891)) + 4128|0);
+ $9893 = ((($9892)) + 100|0);
+ HEAP32[$9893>>2] = $9890;
+ $9894 = $2;
+ $9895 = ((($9894)) + 8|0);
+ $9896 = HEAP8[$9895>>0]|0;
+ $9897 = $9896&255;
+ $9898 = 139 ^ $9897;
+ $9899 = (45248 + ($9898)|0);
+ $9900 = HEAP8[$9899>>0]|0;
+ $9901 = $9900&255;
+ $9902 = $2;
+ $9903 = HEAP8[$9902>>0]|0;
+ $9904 = $9903&255;
+ $9905 = $9901 ^ $9904;
+ $9906 = (8376 + ($9905<<2)|0);
+ $9907 = HEAP32[$9906>>2]|0;
+ $9908 = $2;
+ $9909 = ((($9908)) + 9|0);
+ $9910 = HEAP8[$9909>>0]|0;
+ $9911 = $9910&255;
+ $9912 = 174 ^ $9911;
+ $9913 = (45248 + ($9912)|0);
+ $9914 = HEAP8[$9913>>0]|0;
+ $9915 = $9914&255;
+ $9916 = $2;
+ $9917 = ((($9916)) + 1|0);
+ $9918 = HEAP8[$9917>>0]|0;
+ $9919 = $9918&255;
+ $9920 = $9915 ^ $9919;
+ $9921 = ((9400) + ($9920<<2)|0);
+ $9922 = HEAP32[$9921>>2]|0;
+ $9923 = $9907 ^ $9922;
+ $9924 = $2;
+ $9925 = ((($9924)) + 10|0);
+ $9926 = HEAP8[$9925>>0]|0;
+ $9927 = $9926&255;
+ $9928 = 139 ^ $9927;
+ $9929 = (44992 + ($9928)|0);
+ $9930 = HEAP8[$9929>>0]|0;
+ $9931 = $9930&255;
+ $9932 = $2;
+ $9933 = ((($9932)) + 2|0);
+ $9934 = HEAP8[$9933>>0]|0;
+ $9935 = $9934&255;
+ $9936 = $9931 ^ $9935;
+ $9937 = ((10424) + ($9936<<2)|0);
+ $9938 = HEAP32[$9937>>2]|0;
+ $9939 = $9923 ^ $9938;
+ $9940 = $2;
+ $9941 = ((($9940)) + 11|0);
+ $9942 = HEAP8[$9941>>0]|0;
+ $9943 = $9942&255;
+ $9944 = 174 ^ $9943;
+ $9945 = (44992 + ($9944)|0);
+ $9946 = HEAP8[$9945>>0]|0;
+ $9947 = $9946&255;
+ $9948 = $2;
+ $9949 = ((($9948)) + 3|0);
+ $9950 = HEAP8[$9949>>0]|0;
+ $9951 = $9950&255;
+ $9952 = $9947 ^ $9951;
+ $9953 = ((11448) + ($9952<<2)|0);
+ $9954 = HEAP32[$9953>>2]|0;
+ $9955 = $9939 ^ $9954;
+ $x = $9955;
+ $9956 = $2;
+ $9957 = ((($9956)) + 12|0);
+ $9958 = HEAP8[$9957>>0]|0;
+ $9959 = $9958&255;
+ $9960 = 48 ^ $9959;
+ $9961 = (45248 + ($9960)|0);
+ $9962 = HEAP8[$9961>>0]|0;
+ $9963 = $9962&255;
+ $9964 = $2;
+ $9965 = ((($9964)) + 4|0);
+ $9966 = HEAP8[$9965>>0]|0;
+ $9967 = $9966&255;
+ $9968 = $9963 ^ $9967;
+ $9969 = (8376 + ($9968<<2)|0);
+ $9970 = HEAP32[$9969>>2]|0;
+ $9971 = $2;
+ $9972 = ((($9971)) + 13|0);
+ $9973 = HEAP8[$9972>>0]|0;
+ $9974 = $9973&255;
+ $9975 = 91 ^ $9974;
+ $9976 = (45248 + ($9975)|0);
+ $9977 = HEAP8[$9976>>0]|0;
+ $9978 = $9977&255;
+ $9979 = $2;
+ $9980 = ((($9979)) + 5|0);
+ $9981 = HEAP8[$9980>>0]|0;
+ $9982 = $9981&255;
+ $9983 = $9978 ^ $9982;
+ $9984 = ((9400) + ($9983<<2)|0);
+ $9985 = HEAP32[$9984>>2]|0;
+ $9986 = $9970 ^ $9985;
+ $9987 = $2;
+ $9988 = ((($9987)) + 14|0);
+ $9989 = HEAP8[$9988>>0]|0;
+ $9990 = $9989&255;
+ $9991 = 48 ^ $9990;
+ $9992 = (44992 + ($9991)|0);
+ $9993 = HEAP8[$9992>>0]|0;
+ $9994 = $9993&255;
+ $9995 = $2;
+ $9996 = ((($9995)) + 6|0);
+ $9997 = HEAP8[$9996>>0]|0;
+ $9998 = $9997&255;
+ $9999 = $9994 ^ $9998;
+ $10000 = ((10424) + ($9999<<2)|0);
+ $10001 = HEAP32[$10000>>2]|0;
+ $10002 = $9986 ^ $10001;
+ $10003 = $2;
+ $10004 = ((($10003)) + 15|0);
+ $10005 = HEAP8[$10004>>0]|0;
+ $10006 = $10005&255;
+ $10007 = 91 ^ $10006;
+ $10008 = (44992 + ($10007)|0);
+ $10009 = HEAP8[$10008>>0]|0;
+ $10010 = $10009&255;
+ $10011 = $2;
+ $10012 = ((($10011)) + 7|0);
+ $10013 = HEAP8[$10012>>0]|0;
+ $10014 = $10013&255;
+ $10015 = $10010 ^ $10014;
+ $10016 = ((11448) + ($10015<<2)|0);
+ $10017 = HEAP32[$10016>>2]|0;
+ $10018 = $10002 ^ $10017;
+ $y = $10018;
+ $10019 = $y;
+ $10020 = $10019 << 8;
+ $10021 = $y;
+ $10022 = $10021 >>> 24;
+ $10023 = (($10020) + ($10022))|0;
+ $y = $10023;
+ $10024 = $y;
+ $10025 = $x;
+ $10026 = (($10025) + ($10024))|0;
+ $x = $10026;
+ $10027 = $x;
+ $10028 = $y;
+ $10029 = (($10028) + ($10027))|0;
+ $y = $10029;
+ $10030 = $x;
+ $10031 = $1;
+ $10032 = ((($10031)) + 4128|0);
+ $10033 = ((($10032)) + 104|0);
+ HEAP32[$10033>>2] = $10030;
+ $10034 = $y;
+ $10035 = $10034 << 9;
+ $10036 = $y;
+ $10037 = $10036 >>> 23;
+ $10038 = (($10035) + ($10037))|0;
+ $10039 = $1;
+ $10040 = ((($10039)) + 4128|0);
+ $10041 = ((($10040)) + 108|0);
+ HEAP32[$10041>>2] = $10038;
+ $10042 = $2;
+ $10043 = ((($10042)) + 8|0);
+ $10044 = HEAP8[$10043>>0]|0;
+ $10045 = $10044&255;
+ $10046 = 132 ^ $10045;
+ $10047 = (45248 + ($10046)|0);
+ $10048 = HEAP8[$10047>>0]|0;
+ $10049 = $10048&255;
+ $10050 = $2;
+ $10051 = HEAP8[$10050>>0]|0;
+ $10052 = $10051&255;
+ $10053 = $10049 ^ $10052;
+ $10054 = (8376 + ($10053<<2)|0);
+ $10055 = HEAP32[$10054>>2]|0;
+ $10056 = $2;
+ $10057 = ((($10056)) + 9|0);
+ $10058 = HEAP8[$10057>>0]|0;
+ $10059 = $10058&255;
+ $10060 = 138 ^ $10059;
+ $10061 = (45248 + ($10060)|0);
+ $10062 = HEAP8[$10061>>0]|0;
+ $10063 = $10062&255;
+ $10064 = $2;
+ $10065 = ((($10064)) + 1|0);
+ $10066 = HEAP8[$10065>>0]|0;
+ $10067 = $10066&255;
+ $10068 = $10063 ^ $10067;
+ $10069 = ((9400) + ($10068<<2)|0);
+ $10070 = HEAP32[$10069>>2]|0;
+ $10071 = $10055 ^ $10070;
+ $10072 = $2;
+ $10073 = ((($10072)) + 10|0);
+ $10074 = HEAP8[$10073>>0]|0;
+ $10075 = $10074&255;
+ $10076 = 132 ^ $10075;
+ $10077 = (44992 + ($10076)|0);
+ $10078 = HEAP8[$10077>>0]|0;
+ $10079 = $10078&255;
+ $10080 = $2;
+ $10081 = ((($10080)) + 2|0);
+ $10082 = HEAP8[$10081>>0]|0;
+ $10083 = $10082&255;
+ $10084 = $10079 ^ $10083;
+ $10085 = ((10424) + ($10084<<2)|0);
+ $10086 = HEAP32[$10085>>2]|0;
+ $10087 = $10071 ^ $10086;
+ $10088 = $2;
+ $10089 = ((($10088)) + 11|0);
+ $10090 = HEAP8[$10089>>0]|0;
+ $10091 = $10090&255;
+ $10092 = 138 ^ $10091;
+ $10093 = (44992 + ($10092)|0);
+ $10094 = HEAP8[$10093>>0]|0;
+ $10095 = $10094&255;
+ $10096 = $2;
+ $10097 = ((($10096)) + 3|0);
+ $10098 = HEAP8[$10097>>0]|0;
+ $10099 = $10098&255;
+ $10100 = $10095 ^ $10099;
+ $10101 = ((11448) + ($10100<<2)|0);
+ $10102 = HEAP32[$10101>>2]|0;
+ $10103 = $10087 ^ $10102;
+ $x = $10103;
+ $10104 = $2;
+ $10105 = ((($10104)) + 12|0);
+ $10106 = HEAP8[$10105>>0]|0;
+ $10107 = $10106&255;
+ $10108 = 84 ^ $10107;
+ $10109 = (45248 + ($10108)|0);
+ $10110 = HEAP8[$10109>>0]|0;
+ $10111 = $10110&255;
+ $10112 = $2;
+ $10113 = ((($10112)) + 4|0);
+ $10114 = HEAP8[$10113>>0]|0;
+ $10115 = $10114&255;
+ $10116 = $10111 ^ $10115;
+ $10117 = (8376 + ($10116<<2)|0);
+ $10118 = HEAP32[$10117>>2]|0;
+ $10119 = $2;
+ $10120 = ((($10119)) + 13|0);
+ $10121 = HEAP8[$10120>>0]|0;
+ $10122 = $10121&255;
+ $10123 = 0 ^ $10122;
+ $10124 = (45248 + ($10123)|0);
+ $10125 = HEAP8[$10124>>0]|0;
+ $10126 = $10125&255;
+ $10127 = $2;
+ $10128 = ((($10127)) + 5|0);
+ $10129 = HEAP8[$10128>>0]|0;
+ $10130 = $10129&255;
+ $10131 = $10126 ^ $10130;
+ $10132 = ((9400) + ($10131<<2)|0);
+ $10133 = HEAP32[$10132>>2]|0;
+ $10134 = $10118 ^ $10133;
+ $10135 = $2;
+ $10136 = ((($10135)) + 14|0);
+ $10137 = HEAP8[$10136>>0]|0;
+ $10138 = $10137&255;
+ $10139 = 84 ^ $10138;
+ $10140 = (44992 + ($10139)|0);
+ $10141 = HEAP8[$10140>>0]|0;
+ $10142 = $10141&255;
+ $10143 = $2;
+ $10144 = ((($10143)) + 6|0);
+ $10145 = HEAP8[$10144>>0]|0;
+ $10146 = $10145&255;
+ $10147 = $10142 ^ $10146;
+ $10148 = ((10424) + ($10147<<2)|0);
+ $10149 = HEAP32[$10148>>2]|0;
+ $10150 = $10134 ^ $10149;
+ $10151 = $2;
+ $10152 = ((($10151)) + 15|0);
+ $10153 = HEAP8[$10152>>0]|0;
+ $10154 = $10153&255;
+ $10155 = 0 ^ $10154;
+ $10156 = (44992 + ($10155)|0);
+ $10157 = HEAP8[$10156>>0]|0;
+ $10158 = $10157&255;
+ $10159 = $2;
+ $10160 = ((($10159)) + 7|0);
+ $10161 = HEAP8[$10160>>0]|0;
+ $10162 = $10161&255;
+ $10163 = $10158 ^ $10162;
+ $10164 = ((11448) + ($10163<<2)|0);
+ $10165 = HEAP32[$10164>>2]|0;
+ $10166 = $10150 ^ $10165;
+ $y = $10166;
+ $10167 = $y;
+ $10168 = $10167 << 8;
+ $10169 = $y;
+ $10170 = $10169 >>> 24;
+ $10171 = (($10168) + ($10170))|0;
+ $y = $10171;
+ $10172 = $y;
+ $10173 = $x;
+ $10174 = (($10173) + ($10172))|0;
+ $x = $10174;
+ $10175 = $x;
+ $10176 = $y;
+ $10177 = (($10176) + ($10175))|0;
+ $y = $10177;
+ $10178 = $x;
+ $10179 = $1;
+ $10180 = ((($10179)) + 4128|0);
+ $10181 = ((($10180)) + 112|0);
+ HEAP32[$10181>>2] = $10178;
+ $10182 = $y;
+ $10183 = $10182 << 9;
+ $10184 = $y;
+ $10185 = $10184 >>> 23;
+ $10186 = (($10183) + ($10185))|0;
+ $10187 = $1;
+ $10188 = ((($10187)) + 4128|0);
+ $10189 = ((($10188)) + 116|0);
+ HEAP32[$10189>>2] = $10186;
+ $10190 = $2;
+ $10191 = ((($10190)) + 8|0);
+ $10192 = HEAP8[$10191>>0]|0;
+ $10193 = $10192&255;
+ $10194 = 223 ^ $10193;
+ $10195 = (45248 + ($10194)|0);
+ $10196 = HEAP8[$10195>>0]|0;
+ $10197 = $10196&255;
+ $10198 = $2;
+ $10199 = HEAP8[$10198>>0]|0;
+ $10200 = $10199&255;
+ $10201 = $10197 ^ $10200;
+ $10202 = (8376 + ($10201<<2)|0);
+ $10203 = HEAP32[$10202>>2]|0;
+ $10204 = $2;
+ $10205 = ((($10204)) + 9|0);
+ $10206 = HEAP8[$10205>>0]|0;
+ $10207 = $10206&255;
+ $10208 = 188 ^ $10207;
+ $10209 = (45248 + ($10208)|0);
+ $10210 = HEAP8[$10209>>0]|0;
+ $10211 = $10210&255;
+ $10212 = $2;
+ $10213 = ((($10212)) + 1|0);
+ $10214 = HEAP8[$10213>>0]|0;
+ $10215 = $10214&255;
+ $10216 = $10211 ^ $10215;
+ $10217 = ((9400) + ($10216<<2)|0);
+ $10218 = HEAP32[$10217>>2]|0;
+ $10219 = $10203 ^ $10218;
+ $10220 = $2;
+ $10221 = ((($10220)) + 10|0);
+ $10222 = HEAP8[$10221>>0]|0;
+ $10223 = $10222&255;
+ $10224 = 223 ^ $10223;
+ $10225 = (44992 + ($10224)|0);
+ $10226 = HEAP8[$10225>>0]|0;
+ $10227 = $10226&255;
+ $10228 = $2;
+ $10229 = ((($10228)) + 2|0);
+ $10230 = HEAP8[$10229>>0]|0;
+ $10231 = $10230&255;
+ $10232 = $10227 ^ $10231;
+ $10233 = ((10424) + ($10232<<2)|0);
+ $10234 = HEAP32[$10233>>2]|0;
+ $10235 = $10219 ^ $10234;
+ $10236 = $2;
+ $10237 = ((($10236)) + 11|0);
+ $10238 = HEAP8[$10237>>0]|0;
+ $10239 = $10238&255;
+ $10240 = 188 ^ $10239;
+ $10241 = (44992 + ($10240)|0);
+ $10242 = HEAP8[$10241>>0]|0;
+ $10243 = $10242&255;
+ $10244 = $2;
+ $10245 = ((($10244)) + 3|0);
+ $10246 = HEAP8[$10245>>0]|0;
+ $10247 = $10246&255;
+ $10248 = $10243 ^ $10247;
+ $10249 = ((11448) + ($10248<<2)|0);
+ $10250 = HEAP32[$10249>>2]|0;
+ $10251 = $10235 ^ $10250;
+ $x = $10251;
+ $10252 = $2;
+ $10253 = ((($10252)) + 12|0);
+ $10254 = HEAP8[$10253>>0]|0;
+ $10255 = $10254&255;
+ $10256 = 35 ^ $10255;
+ $10257 = (45248 + ($10256)|0);
+ $10258 = HEAP8[$10257>>0]|0;
+ $10259 = $10258&255;
+ $10260 = $2;
+ $10261 = ((($10260)) + 4|0);
+ $10262 = HEAP8[$10261>>0]|0;
+ $10263 = $10262&255;
+ $10264 = $10259 ^ $10263;
+ $10265 = (8376 + ($10264<<2)|0);
+ $10266 = HEAP32[$10265>>2]|0;
+ $10267 = $2;
+ $10268 = ((($10267)) + 13|0);
+ $10269 = HEAP8[$10268>>0]|0;
+ $10270 = $10269&255;
+ $10271 = 157 ^ $10270;
+ $10272 = (45248 + ($10271)|0);
+ $10273 = HEAP8[$10272>>0]|0;
+ $10274 = $10273&255;
+ $10275 = $2;
+ $10276 = ((($10275)) + 5|0);
+ $10277 = HEAP8[$10276>>0]|0;
+ $10278 = $10277&255;
+ $10279 = $10274 ^ $10278;
+ $10280 = ((9400) + ($10279<<2)|0);
+ $10281 = HEAP32[$10280>>2]|0;
+ $10282 = $10266 ^ $10281;
+ $10283 = $2;
+ $10284 = ((($10283)) + 14|0);
+ $10285 = HEAP8[$10284>>0]|0;
+ $10286 = $10285&255;
+ $10287 = 35 ^ $10286;
+ $10288 = (44992 + ($10287)|0);
+ $10289 = HEAP8[$10288>>0]|0;
+ $10290 = $10289&255;
+ $10291 = $2;
+ $10292 = ((($10291)) + 6|0);
+ $10293 = HEAP8[$10292>>0]|0;
+ $10294 = $10293&255;
+ $10295 = $10290 ^ $10294;
+ $10296 = ((10424) + ($10295<<2)|0);
+ $10297 = HEAP32[$10296>>2]|0;
+ $10298 = $10282 ^ $10297;
+ $10299 = $2;
+ $10300 = ((($10299)) + 15|0);
+ $10301 = HEAP8[$10300>>0]|0;
+ $10302 = $10301&255;
+ $10303 = 157 ^ $10302;
+ $10304 = (44992 + ($10303)|0);
+ $10305 = HEAP8[$10304>>0]|0;
+ $10306 = $10305&255;
+ $10307 = $2;
+ $10308 = ((($10307)) + 7|0);
+ $10309 = HEAP8[$10308>>0]|0;
+ $10310 = $10309&255;
+ $10311 = $10306 ^ $10310;
+ $10312 = ((11448) + ($10311<<2)|0);
+ $10313 = HEAP32[$10312>>2]|0;
+ $10314 = $10298 ^ $10313;
+ $y = $10314;
+ $10315 = $y;
+ $10316 = $10315 << 8;
+ $10317 = $y;
+ $10318 = $10317 >>> 24;
+ $10319 = (($10316) + ($10318))|0;
+ $y = $10319;
+ $10320 = $y;
+ $10321 = $x;
+ $10322 = (($10321) + ($10320))|0;
+ $x = $10322;
+ $10323 = $x;
+ $10324 = $y;
+ $10325 = (($10324) + ($10323))|0;
+ $y = $10325;
+ $10326 = $x;
+ $10327 = $1;
+ $10328 = ((($10327)) + 4128|0);
+ $10329 = ((($10328)) + 120|0);
+ HEAP32[$10329>>2] = $10326;
+ $10330 = $y;
+ $10331 = $10330 << 9;
+ $10332 = $y;
+ $10333 = $10332 >>> 23;
+ $10334 = (($10331) + ($10333))|0;
+ $10335 = $1;
+ $10336 = ((($10335)) + 4128|0);
+ $10337 = ((($10336)) + 124|0);
+ HEAP32[$10337>>2] = $10334;
+ }
+ $0 = 0;
+ $10338 = $0;
+ STACKTOP = sp;return ($10338|0);
+}
+function _selftest_1448() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0;
+ var $r = 0, $scratch = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 4288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp + 8|0;
+ $scratch = sp + 4272|0;
+ (_twofish_setkey($ctx,43473,16)|0);
+ (_twofish_encrypt($ctx,$scratch,43489)|0);
+ $1 = (_memcmp($scratch,43505,16)|0);
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $0 = 43521;
+ } else {
+ (_twofish_decrypt($ctx,$scratch,$scratch)|0);
+ $3 = (_memcmp($scratch,43489,16)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $0 = 43557;
+ break;
+ }
+ (_twofish_setkey($ctx,43593,32)|0);
+ (_twofish_encrypt($ctx,$scratch,43625)|0);
+ $5 = (_memcmp($scratch,43641,16)|0);
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $0 = 43657;
+ break;
+ }
+ (_twofish_decrypt($ctx,$scratch,$scratch)|0);
+ $7 = (_memcmp($scratch,43625,16)|0);
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $0 = 43693;
+ break;
+ }
+ $9 = (_selftest_ctr()|0);
+ $r = $9;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = $r;
+ $0 = $11;
+ break;
+ }
+ $12 = (_selftest_cbc()|0);
+ $r = $12;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = $r;
+ $0 = $14;
+ break;
+ }
+ $15 = (_selftest_cfb()|0);
+ $r = $15;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $r;
+ $0 = $17;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $18 = $0;
+ STACKTOP = sp;return ($18|0);
+}
+function _twofish_encrypt($context,$out,$in) {
+ $context = $context|0;
+ $out = $out|0;
+ $in = $in|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $out;
+ $2 = $in;
+ $3 = $0;
+ $ctx = $3;
+ $4 = $ctx;
+ $5 = $1;
+ $6 = $2;
+ _do_twofish_encrypt($4,$5,$6);
+ STACKTOP = sp;return 36;
+}
+function _do_twofish_encrypt($ctx,$out,$in) {
+ $ctx = $ctx|0;
+ $out = $out|0;
+ $in = $in|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
+ var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
+ var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
+ var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0;
+ var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0;
+ var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
+ var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0;
+ var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0;
+ var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
+ var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0;
+ var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
+ var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0;
+ var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0;
+ var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
+ var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0;
+ var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
+ var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0;
+ var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
+ var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
+ var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
+ var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
+ var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
+ var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
+ var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
+ var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
+ var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0;
+ var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
+ var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
+ var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0;
+ var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0;
+ var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0;
+ var $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0;
+ var $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0;
+ var $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0;
+ var $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0;
+ var $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0;
+ var $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0;
+ var $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0;
+ var $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0;
+ var $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0;
+ var $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0;
+ var $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0;
+ var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0;
+ var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0;
+ var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0;
+ var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0;
+ var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0;
+ var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0;
+ var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0;
+ var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0;
+ var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0;
+ var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0;
+ var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0;
+ var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0;
+ var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0;
+ var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0;
+ var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0;
+ var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0;
+ var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0;
+ var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0;
+ var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0;
+ var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0;
+ var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0;
+ var $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0;
+ var $997 = 0, $998 = 0, $999 = 0, $a = 0, $b = 0, $c = 0, $d = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $out;
+ $2 = $in;
+ $3 = $2;
+ $4 = (_buf_get_le32_1449($3)|0);
+ $a = $4;
+ $5 = $0;
+ $6 = ((($5)) + 4096|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $a;
+ $9 = $8 ^ $7;
+ $a = $9;
+ $10 = $2;
+ $11 = ((($10)) + 4|0);
+ $12 = (_buf_get_le32_1449($11)|0);
+ $b = $12;
+ $13 = $0;
+ $14 = ((($13)) + 4096|0);
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $b;
+ $18 = $17 ^ $16;
+ $b = $18;
+ $19 = $2;
+ $20 = ((($19)) + 8|0);
+ $21 = (_buf_get_le32_1449($20)|0);
+ $c = $21;
+ $22 = $0;
+ $23 = ((($22)) + 4096|0);
+ $24 = ((($23)) + 8|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $c;
+ $27 = $26 ^ $25;
+ $c = $27;
+ $28 = $2;
+ $29 = ((($28)) + 12|0);
+ $30 = (_buf_get_le32_1449($29)|0);
+ $d = $30;
+ $31 = $0;
+ $32 = ((($31)) + 4096|0);
+ $33 = ((($32)) + 12|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $d;
+ $36 = $35 ^ $34;
+ $d = $36;
+ $37 = $a;
+ $38 = $37 & 255;
+ $39 = $0;
+ $40 = (($39) + ($38<<2)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $a;
+ $43 = $42 >>> 8;
+ $44 = $43 & 255;
+ $45 = $0;
+ $46 = ((($45)) + 1024|0);
+ $47 = (($46) + ($44<<2)|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $41 ^ $48;
+ $50 = $a;
+ $51 = $50 >>> 16;
+ $52 = $51 & 255;
+ $53 = $0;
+ $54 = ((($53)) + 2048|0);
+ $55 = (($54) + ($52<<2)|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $49 ^ $56;
+ $58 = $a;
+ $59 = $58 >>> 24;
+ $60 = $0;
+ $61 = ((($60)) + 3072|0);
+ $62 = (($61) + ($59<<2)|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $57 ^ $63;
+ $x = $64;
+ $65 = $b;
+ $66 = $65 & 255;
+ $67 = $0;
+ $68 = ((($67)) + 1024|0);
+ $69 = (($68) + ($66<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $b;
+ $72 = $71 >>> 8;
+ $73 = $72 & 255;
+ $74 = $0;
+ $75 = ((($74)) + 2048|0);
+ $76 = (($75) + ($73<<2)|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = $70 ^ $77;
+ $79 = $b;
+ $80 = $79 >>> 16;
+ $81 = $80 & 255;
+ $82 = $0;
+ $83 = ((($82)) + 3072|0);
+ $84 = (($83) + ($81<<2)|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = $78 ^ $85;
+ $87 = $b;
+ $88 = $87 >>> 24;
+ $89 = $0;
+ $90 = (($89) + ($88<<2)|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = $86 ^ $91;
+ $y = $92;
+ $93 = $y;
+ $94 = $x;
+ $95 = (($94) + ($93))|0;
+ $x = $95;
+ $96 = $x;
+ $97 = $0;
+ $98 = ((($97)) + 4128|0);
+ $99 = ((($98)) + 4|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (($96) + ($100))|0;
+ $102 = $y;
+ $103 = (($102) + ($101))|0;
+ $y = $103;
+ $104 = $x;
+ $105 = $0;
+ $106 = ((($105)) + 4128|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = (($104) + ($107))|0;
+ $109 = $c;
+ $110 = $109 ^ $108;
+ $c = $110;
+ $111 = $c;
+ $112 = $111 >>> 1;
+ $113 = $c;
+ $114 = $113 << 31;
+ $115 = (($112) + ($114))|0;
+ $c = $115;
+ $116 = $d;
+ $117 = $116 << 1;
+ $118 = $d;
+ $119 = $118 >>> 31;
+ $120 = (($117) + ($119))|0;
+ $121 = $y;
+ $122 = $120 ^ $121;
+ $d = $122;
+ $123 = $c;
+ $124 = $123 & 255;
+ $125 = $0;
+ $126 = (($125) + ($124<<2)|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = $c;
+ $129 = $128 >>> 8;
+ $130 = $129 & 255;
+ $131 = $0;
+ $132 = ((($131)) + 1024|0);
+ $133 = (($132) + ($130<<2)|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = $127 ^ $134;
+ $136 = $c;
+ $137 = $136 >>> 16;
+ $138 = $137 & 255;
+ $139 = $0;
+ $140 = ((($139)) + 2048|0);
+ $141 = (($140) + ($138<<2)|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $135 ^ $142;
+ $144 = $c;
+ $145 = $144 >>> 24;
+ $146 = $0;
+ $147 = ((($146)) + 3072|0);
+ $148 = (($147) + ($145<<2)|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = $143 ^ $149;
+ $x = $150;
+ $151 = $d;
+ $152 = $151 & 255;
+ $153 = $0;
+ $154 = ((($153)) + 1024|0);
+ $155 = (($154) + ($152<<2)|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = $d;
+ $158 = $157 >>> 8;
+ $159 = $158 & 255;
+ $160 = $0;
+ $161 = ((($160)) + 2048|0);
+ $162 = (($161) + ($159<<2)|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = $156 ^ $163;
+ $165 = $d;
+ $166 = $165 >>> 16;
+ $167 = $166 & 255;
+ $168 = $0;
+ $169 = ((($168)) + 3072|0);
+ $170 = (($169) + ($167<<2)|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = $164 ^ $171;
+ $173 = $d;
+ $174 = $173 >>> 24;
+ $175 = $0;
+ $176 = (($175) + ($174<<2)|0);
+ $177 = HEAP32[$176>>2]|0;
+ $178 = $172 ^ $177;
+ $y = $178;
+ $179 = $y;
+ $180 = $x;
+ $181 = (($180) + ($179))|0;
+ $x = $181;
+ $182 = $x;
+ $183 = $0;
+ $184 = ((($183)) + 4128|0);
+ $185 = ((($184)) + 12|0);
+ $186 = HEAP32[$185>>2]|0;
+ $187 = (($182) + ($186))|0;
+ $188 = $y;
+ $189 = (($188) + ($187))|0;
+ $y = $189;
+ $190 = $x;
+ $191 = $0;
+ $192 = ((($191)) + 4128|0);
+ $193 = ((($192)) + 8|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = (($190) + ($194))|0;
+ $196 = $a;
+ $197 = $196 ^ $195;
+ $a = $197;
+ $198 = $a;
+ $199 = $198 >>> 1;
+ $200 = $a;
+ $201 = $200 << 31;
+ $202 = (($199) + ($201))|0;
+ $a = $202;
+ $203 = $b;
+ $204 = $203 << 1;
+ $205 = $b;
+ $206 = $205 >>> 31;
+ $207 = (($204) + ($206))|0;
+ $208 = $y;
+ $209 = $207 ^ $208;
+ $b = $209;
+ $210 = $a;
+ $211 = $210 & 255;
+ $212 = $0;
+ $213 = (($212) + ($211<<2)|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $a;
+ $216 = $215 >>> 8;
+ $217 = $216 & 255;
+ $218 = $0;
+ $219 = ((($218)) + 1024|0);
+ $220 = (($219) + ($217<<2)|0);
+ $221 = HEAP32[$220>>2]|0;
+ $222 = $214 ^ $221;
+ $223 = $a;
+ $224 = $223 >>> 16;
+ $225 = $224 & 255;
+ $226 = $0;
+ $227 = ((($226)) + 2048|0);
+ $228 = (($227) + ($225<<2)|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = $222 ^ $229;
+ $231 = $a;
+ $232 = $231 >>> 24;
+ $233 = $0;
+ $234 = ((($233)) + 3072|0);
+ $235 = (($234) + ($232<<2)|0);
+ $236 = HEAP32[$235>>2]|0;
+ $237 = $230 ^ $236;
+ $x = $237;
+ $238 = $b;
+ $239 = $238 & 255;
+ $240 = $0;
+ $241 = ((($240)) + 1024|0);
+ $242 = (($241) + ($239<<2)|0);
+ $243 = HEAP32[$242>>2]|0;
+ $244 = $b;
+ $245 = $244 >>> 8;
+ $246 = $245 & 255;
+ $247 = $0;
+ $248 = ((($247)) + 2048|0);
+ $249 = (($248) + ($246<<2)|0);
+ $250 = HEAP32[$249>>2]|0;
+ $251 = $243 ^ $250;
+ $252 = $b;
+ $253 = $252 >>> 16;
+ $254 = $253 & 255;
+ $255 = $0;
+ $256 = ((($255)) + 3072|0);
+ $257 = (($256) + ($254<<2)|0);
+ $258 = HEAP32[$257>>2]|0;
+ $259 = $251 ^ $258;
+ $260 = $b;
+ $261 = $260 >>> 24;
+ $262 = $0;
+ $263 = (($262) + ($261<<2)|0);
+ $264 = HEAP32[$263>>2]|0;
+ $265 = $259 ^ $264;
+ $y = $265;
+ $266 = $y;
+ $267 = $x;
+ $268 = (($267) + ($266))|0;
+ $x = $268;
+ $269 = $x;
+ $270 = $0;
+ $271 = ((($270)) + 4128|0);
+ $272 = ((($271)) + 20|0);
+ $273 = HEAP32[$272>>2]|0;
+ $274 = (($269) + ($273))|0;
+ $275 = $y;
+ $276 = (($275) + ($274))|0;
+ $y = $276;
+ $277 = $x;
+ $278 = $0;
+ $279 = ((($278)) + 4128|0);
+ $280 = ((($279)) + 16|0);
+ $281 = HEAP32[$280>>2]|0;
+ $282 = (($277) + ($281))|0;
+ $283 = $c;
+ $284 = $283 ^ $282;
+ $c = $284;
+ $285 = $c;
+ $286 = $285 >>> 1;
+ $287 = $c;
+ $288 = $287 << 31;
+ $289 = (($286) + ($288))|0;
+ $c = $289;
+ $290 = $d;
+ $291 = $290 << 1;
+ $292 = $d;
+ $293 = $292 >>> 31;
+ $294 = (($291) + ($293))|0;
+ $295 = $y;
+ $296 = $294 ^ $295;
+ $d = $296;
+ $297 = $c;
+ $298 = $297 & 255;
+ $299 = $0;
+ $300 = (($299) + ($298<<2)|0);
+ $301 = HEAP32[$300>>2]|0;
+ $302 = $c;
+ $303 = $302 >>> 8;
+ $304 = $303 & 255;
+ $305 = $0;
+ $306 = ((($305)) + 1024|0);
+ $307 = (($306) + ($304<<2)|0);
+ $308 = HEAP32[$307>>2]|0;
+ $309 = $301 ^ $308;
+ $310 = $c;
+ $311 = $310 >>> 16;
+ $312 = $311 & 255;
+ $313 = $0;
+ $314 = ((($313)) + 2048|0);
+ $315 = (($314) + ($312<<2)|0);
+ $316 = HEAP32[$315>>2]|0;
+ $317 = $309 ^ $316;
+ $318 = $c;
+ $319 = $318 >>> 24;
+ $320 = $0;
+ $321 = ((($320)) + 3072|0);
+ $322 = (($321) + ($319<<2)|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = $317 ^ $323;
+ $x = $324;
+ $325 = $d;
+ $326 = $325 & 255;
+ $327 = $0;
+ $328 = ((($327)) + 1024|0);
+ $329 = (($328) + ($326<<2)|0);
+ $330 = HEAP32[$329>>2]|0;
+ $331 = $d;
+ $332 = $331 >>> 8;
+ $333 = $332 & 255;
+ $334 = $0;
+ $335 = ((($334)) + 2048|0);
+ $336 = (($335) + ($333<<2)|0);
+ $337 = HEAP32[$336>>2]|0;
+ $338 = $330 ^ $337;
+ $339 = $d;
+ $340 = $339 >>> 16;
+ $341 = $340 & 255;
+ $342 = $0;
+ $343 = ((($342)) + 3072|0);
+ $344 = (($343) + ($341<<2)|0);
+ $345 = HEAP32[$344>>2]|0;
+ $346 = $338 ^ $345;
+ $347 = $d;
+ $348 = $347 >>> 24;
+ $349 = $0;
+ $350 = (($349) + ($348<<2)|0);
+ $351 = HEAP32[$350>>2]|0;
+ $352 = $346 ^ $351;
+ $y = $352;
+ $353 = $y;
+ $354 = $x;
+ $355 = (($354) + ($353))|0;
+ $x = $355;
+ $356 = $x;
+ $357 = $0;
+ $358 = ((($357)) + 4128|0);
+ $359 = ((($358)) + 28|0);
+ $360 = HEAP32[$359>>2]|0;
+ $361 = (($356) + ($360))|0;
+ $362 = $y;
+ $363 = (($362) + ($361))|0;
+ $y = $363;
+ $364 = $x;
+ $365 = $0;
+ $366 = ((($365)) + 4128|0);
+ $367 = ((($366)) + 24|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = (($364) + ($368))|0;
+ $370 = $a;
+ $371 = $370 ^ $369;
+ $a = $371;
+ $372 = $a;
+ $373 = $372 >>> 1;
+ $374 = $a;
+ $375 = $374 << 31;
+ $376 = (($373) + ($375))|0;
+ $a = $376;
+ $377 = $b;
+ $378 = $377 << 1;
+ $379 = $b;
+ $380 = $379 >>> 31;
+ $381 = (($378) + ($380))|0;
+ $382 = $y;
+ $383 = $381 ^ $382;
+ $b = $383;
+ $384 = $a;
+ $385 = $384 & 255;
+ $386 = $0;
+ $387 = (($386) + ($385<<2)|0);
+ $388 = HEAP32[$387>>2]|0;
+ $389 = $a;
+ $390 = $389 >>> 8;
+ $391 = $390 & 255;
+ $392 = $0;
+ $393 = ((($392)) + 1024|0);
+ $394 = (($393) + ($391<<2)|0);
+ $395 = HEAP32[$394>>2]|0;
+ $396 = $388 ^ $395;
+ $397 = $a;
+ $398 = $397 >>> 16;
+ $399 = $398 & 255;
+ $400 = $0;
+ $401 = ((($400)) + 2048|0);
+ $402 = (($401) + ($399<<2)|0);
+ $403 = HEAP32[$402>>2]|0;
+ $404 = $396 ^ $403;
+ $405 = $a;
+ $406 = $405 >>> 24;
+ $407 = $0;
+ $408 = ((($407)) + 3072|0);
+ $409 = (($408) + ($406<<2)|0);
+ $410 = HEAP32[$409>>2]|0;
+ $411 = $404 ^ $410;
+ $x = $411;
+ $412 = $b;
+ $413 = $412 & 255;
+ $414 = $0;
+ $415 = ((($414)) + 1024|0);
+ $416 = (($415) + ($413<<2)|0);
+ $417 = HEAP32[$416>>2]|0;
+ $418 = $b;
+ $419 = $418 >>> 8;
+ $420 = $419 & 255;
+ $421 = $0;
+ $422 = ((($421)) + 2048|0);
+ $423 = (($422) + ($420<<2)|0);
+ $424 = HEAP32[$423>>2]|0;
+ $425 = $417 ^ $424;
+ $426 = $b;
+ $427 = $426 >>> 16;
+ $428 = $427 & 255;
+ $429 = $0;
+ $430 = ((($429)) + 3072|0);
+ $431 = (($430) + ($428<<2)|0);
+ $432 = HEAP32[$431>>2]|0;
+ $433 = $425 ^ $432;
+ $434 = $b;
+ $435 = $434 >>> 24;
+ $436 = $0;
+ $437 = (($436) + ($435<<2)|0);
+ $438 = HEAP32[$437>>2]|0;
+ $439 = $433 ^ $438;
+ $y = $439;
+ $440 = $y;
+ $441 = $x;
+ $442 = (($441) + ($440))|0;
+ $x = $442;
+ $443 = $x;
+ $444 = $0;
+ $445 = ((($444)) + 4128|0);
+ $446 = ((($445)) + 36|0);
+ $447 = HEAP32[$446>>2]|0;
+ $448 = (($443) + ($447))|0;
+ $449 = $y;
+ $450 = (($449) + ($448))|0;
+ $y = $450;
+ $451 = $x;
+ $452 = $0;
+ $453 = ((($452)) + 4128|0);
+ $454 = ((($453)) + 32|0);
+ $455 = HEAP32[$454>>2]|0;
+ $456 = (($451) + ($455))|0;
+ $457 = $c;
+ $458 = $457 ^ $456;
+ $c = $458;
+ $459 = $c;
+ $460 = $459 >>> 1;
+ $461 = $c;
+ $462 = $461 << 31;
+ $463 = (($460) + ($462))|0;
+ $c = $463;
+ $464 = $d;
+ $465 = $464 << 1;
+ $466 = $d;
+ $467 = $466 >>> 31;
+ $468 = (($465) + ($467))|0;
+ $469 = $y;
+ $470 = $468 ^ $469;
+ $d = $470;
+ $471 = $c;
+ $472 = $471 & 255;
+ $473 = $0;
+ $474 = (($473) + ($472<<2)|0);
+ $475 = HEAP32[$474>>2]|0;
+ $476 = $c;
+ $477 = $476 >>> 8;
+ $478 = $477 & 255;
+ $479 = $0;
+ $480 = ((($479)) + 1024|0);
+ $481 = (($480) + ($478<<2)|0);
+ $482 = HEAP32[$481>>2]|0;
+ $483 = $475 ^ $482;
+ $484 = $c;
+ $485 = $484 >>> 16;
+ $486 = $485 & 255;
+ $487 = $0;
+ $488 = ((($487)) + 2048|0);
+ $489 = (($488) + ($486<<2)|0);
+ $490 = HEAP32[$489>>2]|0;
+ $491 = $483 ^ $490;
+ $492 = $c;
+ $493 = $492 >>> 24;
+ $494 = $0;
+ $495 = ((($494)) + 3072|0);
+ $496 = (($495) + ($493<<2)|0);
+ $497 = HEAP32[$496>>2]|0;
+ $498 = $491 ^ $497;
+ $x = $498;
+ $499 = $d;
+ $500 = $499 & 255;
+ $501 = $0;
+ $502 = ((($501)) + 1024|0);
+ $503 = (($502) + ($500<<2)|0);
+ $504 = HEAP32[$503>>2]|0;
+ $505 = $d;
+ $506 = $505 >>> 8;
+ $507 = $506 & 255;
+ $508 = $0;
+ $509 = ((($508)) + 2048|0);
+ $510 = (($509) + ($507<<2)|0);
+ $511 = HEAP32[$510>>2]|0;
+ $512 = $504 ^ $511;
+ $513 = $d;
+ $514 = $513 >>> 16;
+ $515 = $514 & 255;
+ $516 = $0;
+ $517 = ((($516)) + 3072|0);
+ $518 = (($517) + ($515<<2)|0);
+ $519 = HEAP32[$518>>2]|0;
+ $520 = $512 ^ $519;
+ $521 = $d;
+ $522 = $521 >>> 24;
+ $523 = $0;
+ $524 = (($523) + ($522<<2)|0);
+ $525 = HEAP32[$524>>2]|0;
+ $526 = $520 ^ $525;
+ $y = $526;
+ $527 = $y;
+ $528 = $x;
+ $529 = (($528) + ($527))|0;
+ $x = $529;
+ $530 = $x;
+ $531 = $0;
+ $532 = ((($531)) + 4128|0);
+ $533 = ((($532)) + 44|0);
+ $534 = HEAP32[$533>>2]|0;
+ $535 = (($530) + ($534))|0;
+ $536 = $y;
+ $537 = (($536) + ($535))|0;
+ $y = $537;
+ $538 = $x;
+ $539 = $0;
+ $540 = ((($539)) + 4128|0);
+ $541 = ((($540)) + 40|0);
+ $542 = HEAP32[$541>>2]|0;
+ $543 = (($538) + ($542))|0;
+ $544 = $a;
+ $545 = $544 ^ $543;
+ $a = $545;
+ $546 = $a;
+ $547 = $546 >>> 1;
+ $548 = $a;
+ $549 = $548 << 31;
+ $550 = (($547) + ($549))|0;
+ $a = $550;
+ $551 = $b;
+ $552 = $551 << 1;
+ $553 = $b;
+ $554 = $553 >>> 31;
+ $555 = (($552) + ($554))|0;
+ $556 = $y;
+ $557 = $555 ^ $556;
+ $b = $557;
+ $558 = $a;
+ $559 = $558 & 255;
+ $560 = $0;
+ $561 = (($560) + ($559<<2)|0);
+ $562 = HEAP32[$561>>2]|0;
+ $563 = $a;
+ $564 = $563 >>> 8;
+ $565 = $564 & 255;
+ $566 = $0;
+ $567 = ((($566)) + 1024|0);
+ $568 = (($567) + ($565<<2)|0);
+ $569 = HEAP32[$568>>2]|0;
+ $570 = $562 ^ $569;
+ $571 = $a;
+ $572 = $571 >>> 16;
+ $573 = $572 & 255;
+ $574 = $0;
+ $575 = ((($574)) + 2048|0);
+ $576 = (($575) + ($573<<2)|0);
+ $577 = HEAP32[$576>>2]|0;
+ $578 = $570 ^ $577;
+ $579 = $a;
+ $580 = $579 >>> 24;
+ $581 = $0;
+ $582 = ((($581)) + 3072|0);
+ $583 = (($582) + ($580<<2)|0);
+ $584 = HEAP32[$583>>2]|0;
+ $585 = $578 ^ $584;
+ $x = $585;
+ $586 = $b;
+ $587 = $586 & 255;
+ $588 = $0;
+ $589 = ((($588)) + 1024|0);
+ $590 = (($589) + ($587<<2)|0);
+ $591 = HEAP32[$590>>2]|0;
+ $592 = $b;
+ $593 = $592 >>> 8;
+ $594 = $593 & 255;
+ $595 = $0;
+ $596 = ((($595)) + 2048|0);
+ $597 = (($596) + ($594<<2)|0);
+ $598 = HEAP32[$597>>2]|0;
+ $599 = $591 ^ $598;
+ $600 = $b;
+ $601 = $600 >>> 16;
+ $602 = $601 & 255;
+ $603 = $0;
+ $604 = ((($603)) + 3072|0);
+ $605 = (($604) + ($602<<2)|0);
+ $606 = HEAP32[$605>>2]|0;
+ $607 = $599 ^ $606;
+ $608 = $b;
+ $609 = $608 >>> 24;
+ $610 = $0;
+ $611 = (($610) + ($609<<2)|0);
+ $612 = HEAP32[$611>>2]|0;
+ $613 = $607 ^ $612;
+ $y = $613;
+ $614 = $y;
+ $615 = $x;
+ $616 = (($615) + ($614))|0;
+ $x = $616;
+ $617 = $x;
+ $618 = $0;
+ $619 = ((($618)) + 4128|0);
+ $620 = ((($619)) + 52|0);
+ $621 = HEAP32[$620>>2]|0;
+ $622 = (($617) + ($621))|0;
+ $623 = $y;
+ $624 = (($623) + ($622))|0;
+ $y = $624;
+ $625 = $x;
+ $626 = $0;
+ $627 = ((($626)) + 4128|0);
+ $628 = ((($627)) + 48|0);
+ $629 = HEAP32[$628>>2]|0;
+ $630 = (($625) + ($629))|0;
+ $631 = $c;
+ $632 = $631 ^ $630;
+ $c = $632;
+ $633 = $c;
+ $634 = $633 >>> 1;
+ $635 = $c;
+ $636 = $635 << 31;
+ $637 = (($634) + ($636))|0;
+ $c = $637;
+ $638 = $d;
+ $639 = $638 << 1;
+ $640 = $d;
+ $641 = $640 >>> 31;
+ $642 = (($639) + ($641))|0;
+ $643 = $y;
+ $644 = $642 ^ $643;
+ $d = $644;
+ $645 = $c;
+ $646 = $645 & 255;
+ $647 = $0;
+ $648 = (($647) + ($646<<2)|0);
+ $649 = HEAP32[$648>>2]|0;
+ $650 = $c;
+ $651 = $650 >>> 8;
+ $652 = $651 & 255;
+ $653 = $0;
+ $654 = ((($653)) + 1024|0);
+ $655 = (($654) + ($652<<2)|0);
+ $656 = HEAP32[$655>>2]|0;
+ $657 = $649 ^ $656;
+ $658 = $c;
+ $659 = $658 >>> 16;
+ $660 = $659 & 255;
+ $661 = $0;
+ $662 = ((($661)) + 2048|0);
+ $663 = (($662) + ($660<<2)|0);
+ $664 = HEAP32[$663>>2]|0;
+ $665 = $657 ^ $664;
+ $666 = $c;
+ $667 = $666 >>> 24;
+ $668 = $0;
+ $669 = ((($668)) + 3072|0);
+ $670 = (($669) + ($667<<2)|0);
+ $671 = HEAP32[$670>>2]|0;
+ $672 = $665 ^ $671;
+ $x = $672;
+ $673 = $d;
+ $674 = $673 & 255;
+ $675 = $0;
+ $676 = ((($675)) + 1024|0);
+ $677 = (($676) + ($674<<2)|0);
+ $678 = HEAP32[$677>>2]|0;
+ $679 = $d;
+ $680 = $679 >>> 8;
+ $681 = $680 & 255;
+ $682 = $0;
+ $683 = ((($682)) + 2048|0);
+ $684 = (($683) + ($681<<2)|0);
+ $685 = HEAP32[$684>>2]|0;
+ $686 = $678 ^ $685;
+ $687 = $d;
+ $688 = $687 >>> 16;
+ $689 = $688 & 255;
+ $690 = $0;
+ $691 = ((($690)) + 3072|0);
+ $692 = (($691) + ($689<<2)|0);
+ $693 = HEAP32[$692>>2]|0;
+ $694 = $686 ^ $693;
+ $695 = $d;
+ $696 = $695 >>> 24;
+ $697 = $0;
+ $698 = (($697) + ($696<<2)|0);
+ $699 = HEAP32[$698>>2]|0;
+ $700 = $694 ^ $699;
+ $y = $700;
+ $701 = $y;
+ $702 = $x;
+ $703 = (($702) + ($701))|0;
+ $x = $703;
+ $704 = $x;
+ $705 = $0;
+ $706 = ((($705)) + 4128|0);
+ $707 = ((($706)) + 60|0);
+ $708 = HEAP32[$707>>2]|0;
+ $709 = (($704) + ($708))|0;
+ $710 = $y;
+ $711 = (($710) + ($709))|0;
+ $y = $711;
+ $712 = $x;
+ $713 = $0;
+ $714 = ((($713)) + 4128|0);
+ $715 = ((($714)) + 56|0);
+ $716 = HEAP32[$715>>2]|0;
+ $717 = (($712) + ($716))|0;
+ $718 = $a;
+ $719 = $718 ^ $717;
+ $a = $719;
+ $720 = $a;
+ $721 = $720 >>> 1;
+ $722 = $a;
+ $723 = $722 << 31;
+ $724 = (($721) + ($723))|0;
+ $a = $724;
+ $725 = $b;
+ $726 = $725 << 1;
+ $727 = $b;
+ $728 = $727 >>> 31;
+ $729 = (($726) + ($728))|0;
+ $730 = $y;
+ $731 = $729 ^ $730;
+ $b = $731;
+ $732 = $a;
+ $733 = $732 & 255;
+ $734 = $0;
+ $735 = (($734) + ($733<<2)|0);
+ $736 = HEAP32[$735>>2]|0;
+ $737 = $a;
+ $738 = $737 >>> 8;
+ $739 = $738 & 255;
+ $740 = $0;
+ $741 = ((($740)) + 1024|0);
+ $742 = (($741) + ($739<<2)|0);
+ $743 = HEAP32[$742>>2]|0;
+ $744 = $736 ^ $743;
+ $745 = $a;
+ $746 = $745 >>> 16;
+ $747 = $746 & 255;
+ $748 = $0;
+ $749 = ((($748)) + 2048|0);
+ $750 = (($749) + ($747<<2)|0);
+ $751 = HEAP32[$750>>2]|0;
+ $752 = $744 ^ $751;
+ $753 = $a;
+ $754 = $753 >>> 24;
+ $755 = $0;
+ $756 = ((($755)) + 3072|0);
+ $757 = (($756) + ($754<<2)|0);
+ $758 = HEAP32[$757>>2]|0;
+ $759 = $752 ^ $758;
+ $x = $759;
+ $760 = $b;
+ $761 = $760 & 255;
+ $762 = $0;
+ $763 = ((($762)) + 1024|0);
+ $764 = (($763) + ($761<<2)|0);
+ $765 = HEAP32[$764>>2]|0;
+ $766 = $b;
+ $767 = $766 >>> 8;
+ $768 = $767 & 255;
+ $769 = $0;
+ $770 = ((($769)) + 2048|0);
+ $771 = (($770) + ($768<<2)|0);
+ $772 = HEAP32[$771>>2]|0;
+ $773 = $765 ^ $772;
+ $774 = $b;
+ $775 = $774 >>> 16;
+ $776 = $775 & 255;
+ $777 = $0;
+ $778 = ((($777)) + 3072|0);
+ $779 = (($778) + ($776<<2)|0);
+ $780 = HEAP32[$779>>2]|0;
+ $781 = $773 ^ $780;
+ $782 = $b;
+ $783 = $782 >>> 24;
+ $784 = $0;
+ $785 = (($784) + ($783<<2)|0);
+ $786 = HEAP32[$785>>2]|0;
+ $787 = $781 ^ $786;
+ $y = $787;
+ $788 = $y;
+ $789 = $x;
+ $790 = (($789) + ($788))|0;
+ $x = $790;
+ $791 = $x;
+ $792 = $0;
+ $793 = ((($792)) + 4128|0);
+ $794 = ((($793)) + 68|0);
+ $795 = HEAP32[$794>>2]|0;
+ $796 = (($791) + ($795))|0;
+ $797 = $y;
+ $798 = (($797) + ($796))|0;
+ $y = $798;
+ $799 = $x;
+ $800 = $0;
+ $801 = ((($800)) + 4128|0);
+ $802 = ((($801)) + 64|0);
+ $803 = HEAP32[$802>>2]|0;
+ $804 = (($799) + ($803))|0;
+ $805 = $c;
+ $806 = $805 ^ $804;
+ $c = $806;
+ $807 = $c;
+ $808 = $807 >>> 1;
+ $809 = $c;
+ $810 = $809 << 31;
+ $811 = (($808) + ($810))|0;
+ $c = $811;
+ $812 = $d;
+ $813 = $812 << 1;
+ $814 = $d;
+ $815 = $814 >>> 31;
+ $816 = (($813) + ($815))|0;
+ $817 = $y;
+ $818 = $816 ^ $817;
+ $d = $818;
+ $819 = $c;
+ $820 = $819 & 255;
+ $821 = $0;
+ $822 = (($821) + ($820<<2)|0);
+ $823 = HEAP32[$822>>2]|0;
+ $824 = $c;
+ $825 = $824 >>> 8;
+ $826 = $825 & 255;
+ $827 = $0;
+ $828 = ((($827)) + 1024|0);
+ $829 = (($828) + ($826<<2)|0);
+ $830 = HEAP32[$829>>2]|0;
+ $831 = $823 ^ $830;
+ $832 = $c;
+ $833 = $832 >>> 16;
+ $834 = $833 & 255;
+ $835 = $0;
+ $836 = ((($835)) + 2048|0);
+ $837 = (($836) + ($834<<2)|0);
+ $838 = HEAP32[$837>>2]|0;
+ $839 = $831 ^ $838;
+ $840 = $c;
+ $841 = $840 >>> 24;
+ $842 = $0;
+ $843 = ((($842)) + 3072|0);
+ $844 = (($843) + ($841<<2)|0);
+ $845 = HEAP32[$844>>2]|0;
+ $846 = $839 ^ $845;
+ $x = $846;
+ $847 = $d;
+ $848 = $847 & 255;
+ $849 = $0;
+ $850 = ((($849)) + 1024|0);
+ $851 = (($850) + ($848<<2)|0);
+ $852 = HEAP32[$851>>2]|0;
+ $853 = $d;
+ $854 = $853 >>> 8;
+ $855 = $854 & 255;
+ $856 = $0;
+ $857 = ((($856)) + 2048|0);
+ $858 = (($857) + ($855<<2)|0);
+ $859 = HEAP32[$858>>2]|0;
+ $860 = $852 ^ $859;
+ $861 = $d;
+ $862 = $861 >>> 16;
+ $863 = $862 & 255;
+ $864 = $0;
+ $865 = ((($864)) + 3072|0);
+ $866 = (($865) + ($863<<2)|0);
+ $867 = HEAP32[$866>>2]|0;
+ $868 = $860 ^ $867;
+ $869 = $d;
+ $870 = $869 >>> 24;
+ $871 = $0;
+ $872 = (($871) + ($870<<2)|0);
+ $873 = HEAP32[$872>>2]|0;
+ $874 = $868 ^ $873;
+ $y = $874;
+ $875 = $y;
+ $876 = $x;
+ $877 = (($876) + ($875))|0;
+ $x = $877;
+ $878 = $x;
+ $879 = $0;
+ $880 = ((($879)) + 4128|0);
+ $881 = ((($880)) + 76|0);
+ $882 = HEAP32[$881>>2]|0;
+ $883 = (($878) + ($882))|0;
+ $884 = $y;
+ $885 = (($884) + ($883))|0;
+ $y = $885;
+ $886 = $x;
+ $887 = $0;
+ $888 = ((($887)) + 4128|0);
+ $889 = ((($888)) + 72|0);
+ $890 = HEAP32[$889>>2]|0;
+ $891 = (($886) + ($890))|0;
+ $892 = $a;
+ $893 = $892 ^ $891;
+ $a = $893;
+ $894 = $a;
+ $895 = $894 >>> 1;
+ $896 = $a;
+ $897 = $896 << 31;
+ $898 = (($895) + ($897))|0;
+ $a = $898;
+ $899 = $b;
+ $900 = $899 << 1;
+ $901 = $b;
+ $902 = $901 >>> 31;
+ $903 = (($900) + ($902))|0;
+ $904 = $y;
+ $905 = $903 ^ $904;
+ $b = $905;
+ $906 = $a;
+ $907 = $906 & 255;
+ $908 = $0;
+ $909 = (($908) + ($907<<2)|0);
+ $910 = HEAP32[$909>>2]|0;
+ $911 = $a;
+ $912 = $911 >>> 8;
+ $913 = $912 & 255;
+ $914 = $0;
+ $915 = ((($914)) + 1024|0);
+ $916 = (($915) + ($913<<2)|0);
+ $917 = HEAP32[$916>>2]|0;
+ $918 = $910 ^ $917;
+ $919 = $a;
+ $920 = $919 >>> 16;
+ $921 = $920 & 255;
+ $922 = $0;
+ $923 = ((($922)) + 2048|0);
+ $924 = (($923) + ($921<<2)|0);
+ $925 = HEAP32[$924>>2]|0;
+ $926 = $918 ^ $925;
+ $927 = $a;
+ $928 = $927 >>> 24;
+ $929 = $0;
+ $930 = ((($929)) + 3072|0);
+ $931 = (($930) + ($928<<2)|0);
+ $932 = HEAP32[$931>>2]|0;
+ $933 = $926 ^ $932;
+ $x = $933;
+ $934 = $b;
+ $935 = $934 & 255;
+ $936 = $0;
+ $937 = ((($936)) + 1024|0);
+ $938 = (($937) + ($935<<2)|0);
+ $939 = HEAP32[$938>>2]|0;
+ $940 = $b;
+ $941 = $940 >>> 8;
+ $942 = $941 & 255;
+ $943 = $0;
+ $944 = ((($943)) + 2048|0);
+ $945 = (($944) + ($942<<2)|0);
+ $946 = HEAP32[$945>>2]|0;
+ $947 = $939 ^ $946;
+ $948 = $b;
+ $949 = $948 >>> 16;
+ $950 = $949 & 255;
+ $951 = $0;
+ $952 = ((($951)) + 3072|0);
+ $953 = (($952) + ($950<<2)|0);
+ $954 = HEAP32[$953>>2]|0;
+ $955 = $947 ^ $954;
+ $956 = $b;
+ $957 = $956 >>> 24;
+ $958 = $0;
+ $959 = (($958) + ($957<<2)|0);
+ $960 = HEAP32[$959>>2]|0;
+ $961 = $955 ^ $960;
+ $y = $961;
+ $962 = $y;
+ $963 = $x;
+ $964 = (($963) + ($962))|0;
+ $x = $964;
+ $965 = $x;
+ $966 = $0;
+ $967 = ((($966)) + 4128|0);
+ $968 = ((($967)) + 84|0);
+ $969 = HEAP32[$968>>2]|0;
+ $970 = (($965) + ($969))|0;
+ $971 = $y;
+ $972 = (($971) + ($970))|0;
+ $y = $972;
+ $973 = $x;
+ $974 = $0;
+ $975 = ((($974)) + 4128|0);
+ $976 = ((($975)) + 80|0);
+ $977 = HEAP32[$976>>2]|0;
+ $978 = (($973) + ($977))|0;
+ $979 = $c;
+ $980 = $979 ^ $978;
+ $c = $980;
+ $981 = $c;
+ $982 = $981 >>> 1;
+ $983 = $c;
+ $984 = $983 << 31;
+ $985 = (($982) + ($984))|0;
+ $c = $985;
+ $986 = $d;
+ $987 = $986 << 1;
+ $988 = $d;
+ $989 = $988 >>> 31;
+ $990 = (($987) + ($989))|0;
+ $991 = $y;
+ $992 = $990 ^ $991;
+ $d = $992;
+ $993 = $c;
+ $994 = $993 & 255;
+ $995 = $0;
+ $996 = (($995) + ($994<<2)|0);
+ $997 = HEAP32[$996>>2]|0;
+ $998 = $c;
+ $999 = $998 >>> 8;
+ $1000 = $999 & 255;
+ $1001 = $0;
+ $1002 = ((($1001)) + 1024|0);
+ $1003 = (($1002) + ($1000<<2)|0);
+ $1004 = HEAP32[$1003>>2]|0;
+ $1005 = $997 ^ $1004;
+ $1006 = $c;
+ $1007 = $1006 >>> 16;
+ $1008 = $1007 & 255;
+ $1009 = $0;
+ $1010 = ((($1009)) + 2048|0);
+ $1011 = (($1010) + ($1008<<2)|0);
+ $1012 = HEAP32[$1011>>2]|0;
+ $1013 = $1005 ^ $1012;
+ $1014 = $c;
+ $1015 = $1014 >>> 24;
+ $1016 = $0;
+ $1017 = ((($1016)) + 3072|0);
+ $1018 = (($1017) + ($1015<<2)|0);
+ $1019 = HEAP32[$1018>>2]|0;
+ $1020 = $1013 ^ $1019;
+ $x = $1020;
+ $1021 = $d;
+ $1022 = $1021 & 255;
+ $1023 = $0;
+ $1024 = ((($1023)) + 1024|0);
+ $1025 = (($1024) + ($1022<<2)|0);
+ $1026 = HEAP32[$1025>>2]|0;
+ $1027 = $d;
+ $1028 = $1027 >>> 8;
+ $1029 = $1028 & 255;
+ $1030 = $0;
+ $1031 = ((($1030)) + 2048|0);
+ $1032 = (($1031) + ($1029<<2)|0);
+ $1033 = HEAP32[$1032>>2]|0;
+ $1034 = $1026 ^ $1033;
+ $1035 = $d;
+ $1036 = $1035 >>> 16;
+ $1037 = $1036 & 255;
+ $1038 = $0;
+ $1039 = ((($1038)) + 3072|0);
+ $1040 = (($1039) + ($1037<<2)|0);
+ $1041 = HEAP32[$1040>>2]|0;
+ $1042 = $1034 ^ $1041;
+ $1043 = $d;
+ $1044 = $1043 >>> 24;
+ $1045 = $0;
+ $1046 = (($1045) + ($1044<<2)|0);
+ $1047 = HEAP32[$1046>>2]|0;
+ $1048 = $1042 ^ $1047;
+ $y = $1048;
+ $1049 = $y;
+ $1050 = $x;
+ $1051 = (($1050) + ($1049))|0;
+ $x = $1051;
+ $1052 = $x;
+ $1053 = $0;
+ $1054 = ((($1053)) + 4128|0);
+ $1055 = ((($1054)) + 92|0);
+ $1056 = HEAP32[$1055>>2]|0;
+ $1057 = (($1052) + ($1056))|0;
+ $1058 = $y;
+ $1059 = (($1058) + ($1057))|0;
+ $y = $1059;
+ $1060 = $x;
+ $1061 = $0;
+ $1062 = ((($1061)) + 4128|0);
+ $1063 = ((($1062)) + 88|0);
+ $1064 = HEAP32[$1063>>2]|0;
+ $1065 = (($1060) + ($1064))|0;
+ $1066 = $a;
+ $1067 = $1066 ^ $1065;
+ $a = $1067;
+ $1068 = $a;
+ $1069 = $1068 >>> 1;
+ $1070 = $a;
+ $1071 = $1070 << 31;
+ $1072 = (($1069) + ($1071))|0;
+ $a = $1072;
+ $1073 = $b;
+ $1074 = $1073 << 1;
+ $1075 = $b;
+ $1076 = $1075 >>> 31;
+ $1077 = (($1074) + ($1076))|0;
+ $1078 = $y;
+ $1079 = $1077 ^ $1078;
+ $b = $1079;
+ $1080 = $a;
+ $1081 = $1080 & 255;
+ $1082 = $0;
+ $1083 = (($1082) + ($1081<<2)|0);
+ $1084 = HEAP32[$1083>>2]|0;
+ $1085 = $a;
+ $1086 = $1085 >>> 8;
+ $1087 = $1086 & 255;
+ $1088 = $0;
+ $1089 = ((($1088)) + 1024|0);
+ $1090 = (($1089) + ($1087<<2)|0);
+ $1091 = HEAP32[$1090>>2]|0;
+ $1092 = $1084 ^ $1091;
+ $1093 = $a;
+ $1094 = $1093 >>> 16;
+ $1095 = $1094 & 255;
+ $1096 = $0;
+ $1097 = ((($1096)) + 2048|0);
+ $1098 = (($1097) + ($1095<<2)|0);
+ $1099 = HEAP32[$1098>>2]|0;
+ $1100 = $1092 ^ $1099;
+ $1101 = $a;
+ $1102 = $1101 >>> 24;
+ $1103 = $0;
+ $1104 = ((($1103)) + 3072|0);
+ $1105 = (($1104) + ($1102<<2)|0);
+ $1106 = HEAP32[$1105>>2]|0;
+ $1107 = $1100 ^ $1106;
+ $x = $1107;
+ $1108 = $b;
+ $1109 = $1108 & 255;
+ $1110 = $0;
+ $1111 = ((($1110)) + 1024|0);
+ $1112 = (($1111) + ($1109<<2)|0);
+ $1113 = HEAP32[$1112>>2]|0;
+ $1114 = $b;
+ $1115 = $1114 >>> 8;
+ $1116 = $1115 & 255;
+ $1117 = $0;
+ $1118 = ((($1117)) + 2048|0);
+ $1119 = (($1118) + ($1116<<2)|0);
+ $1120 = HEAP32[$1119>>2]|0;
+ $1121 = $1113 ^ $1120;
+ $1122 = $b;
+ $1123 = $1122 >>> 16;
+ $1124 = $1123 & 255;
+ $1125 = $0;
+ $1126 = ((($1125)) + 3072|0);
+ $1127 = (($1126) + ($1124<<2)|0);
+ $1128 = HEAP32[$1127>>2]|0;
+ $1129 = $1121 ^ $1128;
+ $1130 = $b;
+ $1131 = $1130 >>> 24;
+ $1132 = $0;
+ $1133 = (($1132) + ($1131<<2)|0);
+ $1134 = HEAP32[$1133>>2]|0;
+ $1135 = $1129 ^ $1134;
+ $y = $1135;
+ $1136 = $y;
+ $1137 = $x;
+ $1138 = (($1137) + ($1136))|0;
+ $x = $1138;
+ $1139 = $x;
+ $1140 = $0;
+ $1141 = ((($1140)) + 4128|0);
+ $1142 = ((($1141)) + 100|0);
+ $1143 = HEAP32[$1142>>2]|0;
+ $1144 = (($1139) + ($1143))|0;
+ $1145 = $y;
+ $1146 = (($1145) + ($1144))|0;
+ $y = $1146;
+ $1147 = $x;
+ $1148 = $0;
+ $1149 = ((($1148)) + 4128|0);
+ $1150 = ((($1149)) + 96|0);
+ $1151 = HEAP32[$1150>>2]|0;
+ $1152 = (($1147) + ($1151))|0;
+ $1153 = $c;
+ $1154 = $1153 ^ $1152;
+ $c = $1154;
+ $1155 = $c;
+ $1156 = $1155 >>> 1;
+ $1157 = $c;
+ $1158 = $1157 << 31;
+ $1159 = (($1156) + ($1158))|0;
+ $c = $1159;
+ $1160 = $d;
+ $1161 = $1160 << 1;
+ $1162 = $d;
+ $1163 = $1162 >>> 31;
+ $1164 = (($1161) + ($1163))|0;
+ $1165 = $y;
+ $1166 = $1164 ^ $1165;
+ $d = $1166;
+ $1167 = $c;
+ $1168 = $1167 & 255;
+ $1169 = $0;
+ $1170 = (($1169) + ($1168<<2)|0);
+ $1171 = HEAP32[$1170>>2]|0;
+ $1172 = $c;
+ $1173 = $1172 >>> 8;
+ $1174 = $1173 & 255;
+ $1175 = $0;
+ $1176 = ((($1175)) + 1024|0);
+ $1177 = (($1176) + ($1174<<2)|0);
+ $1178 = HEAP32[$1177>>2]|0;
+ $1179 = $1171 ^ $1178;
+ $1180 = $c;
+ $1181 = $1180 >>> 16;
+ $1182 = $1181 & 255;
+ $1183 = $0;
+ $1184 = ((($1183)) + 2048|0);
+ $1185 = (($1184) + ($1182<<2)|0);
+ $1186 = HEAP32[$1185>>2]|0;
+ $1187 = $1179 ^ $1186;
+ $1188 = $c;
+ $1189 = $1188 >>> 24;
+ $1190 = $0;
+ $1191 = ((($1190)) + 3072|0);
+ $1192 = (($1191) + ($1189<<2)|0);
+ $1193 = HEAP32[$1192>>2]|0;
+ $1194 = $1187 ^ $1193;
+ $x = $1194;
+ $1195 = $d;
+ $1196 = $1195 & 255;
+ $1197 = $0;
+ $1198 = ((($1197)) + 1024|0);
+ $1199 = (($1198) + ($1196<<2)|0);
+ $1200 = HEAP32[$1199>>2]|0;
+ $1201 = $d;
+ $1202 = $1201 >>> 8;
+ $1203 = $1202 & 255;
+ $1204 = $0;
+ $1205 = ((($1204)) + 2048|0);
+ $1206 = (($1205) + ($1203<<2)|0);
+ $1207 = HEAP32[$1206>>2]|0;
+ $1208 = $1200 ^ $1207;
+ $1209 = $d;
+ $1210 = $1209 >>> 16;
+ $1211 = $1210 & 255;
+ $1212 = $0;
+ $1213 = ((($1212)) + 3072|0);
+ $1214 = (($1213) + ($1211<<2)|0);
+ $1215 = HEAP32[$1214>>2]|0;
+ $1216 = $1208 ^ $1215;
+ $1217 = $d;
+ $1218 = $1217 >>> 24;
+ $1219 = $0;
+ $1220 = (($1219) + ($1218<<2)|0);
+ $1221 = HEAP32[$1220>>2]|0;
+ $1222 = $1216 ^ $1221;
+ $y = $1222;
+ $1223 = $y;
+ $1224 = $x;
+ $1225 = (($1224) + ($1223))|0;
+ $x = $1225;
+ $1226 = $x;
+ $1227 = $0;
+ $1228 = ((($1227)) + 4128|0);
+ $1229 = ((($1228)) + 108|0);
+ $1230 = HEAP32[$1229>>2]|0;
+ $1231 = (($1226) + ($1230))|0;
+ $1232 = $y;
+ $1233 = (($1232) + ($1231))|0;
+ $y = $1233;
+ $1234 = $x;
+ $1235 = $0;
+ $1236 = ((($1235)) + 4128|0);
+ $1237 = ((($1236)) + 104|0);
+ $1238 = HEAP32[$1237>>2]|0;
+ $1239 = (($1234) + ($1238))|0;
+ $1240 = $a;
+ $1241 = $1240 ^ $1239;
+ $a = $1241;
+ $1242 = $a;
+ $1243 = $1242 >>> 1;
+ $1244 = $a;
+ $1245 = $1244 << 31;
+ $1246 = (($1243) + ($1245))|0;
+ $a = $1246;
+ $1247 = $b;
+ $1248 = $1247 << 1;
+ $1249 = $b;
+ $1250 = $1249 >>> 31;
+ $1251 = (($1248) + ($1250))|0;
+ $1252 = $y;
+ $1253 = $1251 ^ $1252;
+ $b = $1253;
+ $1254 = $a;
+ $1255 = $1254 & 255;
+ $1256 = $0;
+ $1257 = (($1256) + ($1255<<2)|0);
+ $1258 = HEAP32[$1257>>2]|0;
+ $1259 = $a;
+ $1260 = $1259 >>> 8;
+ $1261 = $1260 & 255;
+ $1262 = $0;
+ $1263 = ((($1262)) + 1024|0);
+ $1264 = (($1263) + ($1261<<2)|0);
+ $1265 = HEAP32[$1264>>2]|0;
+ $1266 = $1258 ^ $1265;
+ $1267 = $a;
+ $1268 = $1267 >>> 16;
+ $1269 = $1268 & 255;
+ $1270 = $0;
+ $1271 = ((($1270)) + 2048|0);
+ $1272 = (($1271) + ($1269<<2)|0);
+ $1273 = HEAP32[$1272>>2]|0;
+ $1274 = $1266 ^ $1273;
+ $1275 = $a;
+ $1276 = $1275 >>> 24;
+ $1277 = $0;
+ $1278 = ((($1277)) + 3072|0);
+ $1279 = (($1278) + ($1276<<2)|0);
+ $1280 = HEAP32[$1279>>2]|0;
+ $1281 = $1274 ^ $1280;
+ $x = $1281;
+ $1282 = $b;
+ $1283 = $1282 & 255;
+ $1284 = $0;
+ $1285 = ((($1284)) + 1024|0);
+ $1286 = (($1285) + ($1283<<2)|0);
+ $1287 = HEAP32[$1286>>2]|0;
+ $1288 = $b;
+ $1289 = $1288 >>> 8;
+ $1290 = $1289 & 255;
+ $1291 = $0;
+ $1292 = ((($1291)) + 2048|0);
+ $1293 = (($1292) + ($1290<<2)|0);
+ $1294 = HEAP32[$1293>>2]|0;
+ $1295 = $1287 ^ $1294;
+ $1296 = $b;
+ $1297 = $1296 >>> 16;
+ $1298 = $1297 & 255;
+ $1299 = $0;
+ $1300 = ((($1299)) + 3072|0);
+ $1301 = (($1300) + ($1298<<2)|0);
+ $1302 = HEAP32[$1301>>2]|0;
+ $1303 = $1295 ^ $1302;
+ $1304 = $b;
+ $1305 = $1304 >>> 24;
+ $1306 = $0;
+ $1307 = (($1306) + ($1305<<2)|0);
+ $1308 = HEAP32[$1307>>2]|0;
+ $1309 = $1303 ^ $1308;
+ $y = $1309;
+ $1310 = $y;
+ $1311 = $x;
+ $1312 = (($1311) + ($1310))|0;
+ $x = $1312;
+ $1313 = $x;
+ $1314 = $0;
+ $1315 = ((($1314)) + 4128|0);
+ $1316 = ((($1315)) + 116|0);
+ $1317 = HEAP32[$1316>>2]|0;
+ $1318 = (($1313) + ($1317))|0;
+ $1319 = $y;
+ $1320 = (($1319) + ($1318))|0;
+ $y = $1320;
+ $1321 = $x;
+ $1322 = $0;
+ $1323 = ((($1322)) + 4128|0);
+ $1324 = ((($1323)) + 112|0);
+ $1325 = HEAP32[$1324>>2]|0;
+ $1326 = (($1321) + ($1325))|0;
+ $1327 = $c;
+ $1328 = $1327 ^ $1326;
+ $c = $1328;
+ $1329 = $c;
+ $1330 = $1329 >>> 1;
+ $1331 = $c;
+ $1332 = $1331 << 31;
+ $1333 = (($1330) + ($1332))|0;
+ $c = $1333;
+ $1334 = $d;
+ $1335 = $1334 << 1;
+ $1336 = $d;
+ $1337 = $1336 >>> 31;
+ $1338 = (($1335) + ($1337))|0;
+ $1339 = $y;
+ $1340 = $1338 ^ $1339;
+ $d = $1340;
+ $1341 = $c;
+ $1342 = $1341 & 255;
+ $1343 = $0;
+ $1344 = (($1343) + ($1342<<2)|0);
+ $1345 = HEAP32[$1344>>2]|0;
+ $1346 = $c;
+ $1347 = $1346 >>> 8;
+ $1348 = $1347 & 255;
+ $1349 = $0;
+ $1350 = ((($1349)) + 1024|0);
+ $1351 = (($1350) + ($1348<<2)|0);
+ $1352 = HEAP32[$1351>>2]|0;
+ $1353 = $1345 ^ $1352;
+ $1354 = $c;
+ $1355 = $1354 >>> 16;
+ $1356 = $1355 & 255;
+ $1357 = $0;
+ $1358 = ((($1357)) + 2048|0);
+ $1359 = (($1358) + ($1356<<2)|0);
+ $1360 = HEAP32[$1359>>2]|0;
+ $1361 = $1353 ^ $1360;
+ $1362 = $c;
+ $1363 = $1362 >>> 24;
+ $1364 = $0;
+ $1365 = ((($1364)) + 3072|0);
+ $1366 = (($1365) + ($1363<<2)|0);
+ $1367 = HEAP32[$1366>>2]|0;
+ $1368 = $1361 ^ $1367;
+ $x = $1368;
+ $1369 = $d;
+ $1370 = $1369 & 255;
+ $1371 = $0;
+ $1372 = ((($1371)) + 1024|0);
+ $1373 = (($1372) + ($1370<<2)|0);
+ $1374 = HEAP32[$1373>>2]|0;
+ $1375 = $d;
+ $1376 = $1375 >>> 8;
+ $1377 = $1376 & 255;
+ $1378 = $0;
+ $1379 = ((($1378)) + 2048|0);
+ $1380 = (($1379) + ($1377<<2)|0);
+ $1381 = HEAP32[$1380>>2]|0;
+ $1382 = $1374 ^ $1381;
+ $1383 = $d;
+ $1384 = $1383 >>> 16;
+ $1385 = $1384 & 255;
+ $1386 = $0;
+ $1387 = ((($1386)) + 3072|0);
+ $1388 = (($1387) + ($1385<<2)|0);
+ $1389 = HEAP32[$1388>>2]|0;
+ $1390 = $1382 ^ $1389;
+ $1391 = $d;
+ $1392 = $1391 >>> 24;
+ $1393 = $0;
+ $1394 = (($1393) + ($1392<<2)|0);
+ $1395 = HEAP32[$1394>>2]|0;
+ $1396 = $1390 ^ $1395;
+ $y = $1396;
+ $1397 = $y;
+ $1398 = $x;
+ $1399 = (($1398) + ($1397))|0;
+ $x = $1399;
+ $1400 = $x;
+ $1401 = $0;
+ $1402 = ((($1401)) + 4128|0);
+ $1403 = ((($1402)) + 124|0);
+ $1404 = HEAP32[$1403>>2]|0;
+ $1405 = (($1400) + ($1404))|0;
+ $1406 = $y;
+ $1407 = (($1406) + ($1405))|0;
+ $y = $1407;
+ $1408 = $x;
+ $1409 = $0;
+ $1410 = ((($1409)) + 4128|0);
+ $1411 = ((($1410)) + 120|0);
+ $1412 = HEAP32[$1411>>2]|0;
+ $1413 = (($1408) + ($1412))|0;
+ $1414 = $a;
+ $1415 = $1414 ^ $1413;
+ $a = $1415;
+ $1416 = $a;
+ $1417 = $1416 >>> 1;
+ $1418 = $a;
+ $1419 = $1418 << 31;
+ $1420 = (($1417) + ($1419))|0;
+ $a = $1420;
+ $1421 = $b;
+ $1422 = $1421 << 1;
+ $1423 = $b;
+ $1424 = $1423 >>> 31;
+ $1425 = (($1422) + ($1424))|0;
+ $1426 = $y;
+ $1427 = $1425 ^ $1426;
+ $b = $1427;
+ $1428 = $0;
+ $1429 = ((($1428)) + 4096|0);
+ $1430 = ((($1429)) + 16|0);
+ $1431 = HEAP32[$1430>>2]|0;
+ $1432 = $c;
+ $1433 = $1432 ^ $1431;
+ $c = $1433;
+ $1434 = $1;
+ $1435 = $c;
+ _buf_put_le32_1450($1434,$1435);
+ $1436 = $0;
+ $1437 = ((($1436)) + 4096|0);
+ $1438 = ((($1437)) + 20|0);
+ $1439 = HEAP32[$1438>>2]|0;
+ $1440 = $d;
+ $1441 = $1440 ^ $1439;
+ $d = $1441;
+ $1442 = $1;
+ $1443 = ((($1442)) + 4|0);
+ $1444 = $d;
+ _buf_put_le32_1450($1443,$1444);
+ $1445 = $0;
+ $1446 = ((($1445)) + 4096|0);
+ $1447 = ((($1446)) + 24|0);
+ $1448 = HEAP32[$1447>>2]|0;
+ $1449 = $a;
+ $1450 = $1449 ^ $1448;
+ $a = $1450;
+ $1451 = $1;
+ $1452 = ((($1451)) + 8|0);
+ $1453 = $a;
+ _buf_put_le32_1450($1452,$1453);
+ $1454 = $0;
+ $1455 = ((($1454)) + 4096|0);
+ $1456 = ((($1455)) + 28|0);
+ $1457 = HEAP32[$1456>>2]|0;
+ $1458 = $b;
+ $1459 = $1458 ^ $1457;
+ $b = $1459;
+ $1460 = $1;
+ $1461 = ((($1460)) + 12|0);
+ $1462 = $b;
+ _buf_put_le32_1450($1461,$1462);
+ STACKTOP = sp;return;
+}
+function _buf_get_le32_1449($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = ((($2)) + 3|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 24;
+ $7 = $in;
+ $8 = ((($7)) + 2|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = $10 << 16;
+ $12 = $6 | $11;
+ $13 = $in;
+ $14 = ((($13)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $16 << 8;
+ $18 = $12 | $17;
+ $19 = $in;
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $18 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _buf_put_le32_1450($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ $7 = ((($6)) + 3|0);
+ HEAP8[$7>>0] = $5;
+ $8 = $1;
+ $9 = $8 >>> 16;
+ $10 = $9&255;
+ $11 = $out;
+ $12 = ((($11)) + 2|0);
+ HEAP8[$12>>0] = $10;
+ $13 = $1;
+ $14 = $13 >>> 8;
+ $15 = $14&255;
+ $16 = $out;
+ $17 = ((($16)) + 1|0);
+ HEAP8[$17>>0] = $15;
+ $18 = $1;
+ $19 = $18&255;
+ $20 = $out;
+ HEAP8[$20>>0] = $19;
+ STACKTOP = sp;return;
+}
+function _twofish_decrypt($context,$out,$in) {
+ $context = $context|0;
+ $out = $out|0;
+ $in = $in|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $out;
+ $2 = $in;
+ $3 = $0;
+ $ctx = $3;
+ $4 = $ctx;
+ $5 = $1;
+ $6 = $2;
+ _do_twofish_decrypt($4,$5,$6);
+ STACKTOP = sp;return 36;
+}
+function _do_twofish_decrypt($ctx,$out,$in) {
+ $ctx = $ctx|0;
+ $out = $out|0;
+ $in = $in|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0;
+ var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0;
+ var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0;
+ var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0;
+ var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0;
+ var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0;
+ var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0;
+ var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0;
+ var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0;
+ var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0;
+ var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0;
+ var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0;
+ var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0;
+ var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0;
+ var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0;
+ var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0;
+ var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0;
+ var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0;
+ var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0;
+ var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0;
+ var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0;
+ var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0;
+ var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0;
+ var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0;
+ var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0;
+ var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0;
+ var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
+ var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
+ var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
+ var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
+ var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
+ var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
+ var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
+ var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
+ var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
+ var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0;
+ var $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0;
+ var $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0;
+ var $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0;
+ var $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0;
+ var $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0;
+ var $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0;
+ var $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0;
+ var $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0;
+ var $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0;
+ var $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0;
+ var $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0;
+ var $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0;
+ var $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0;
+ var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0;
+ var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0;
+ var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0;
+ var $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0;
+ var $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0;
+ var $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0;
+ var $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0;
+ var $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0;
+ var $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0;
+ var $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0;
+ var $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0;
+ var $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0;
+ var $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0;
+ var $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0;
+ var $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0;
+ var $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0;
+ var $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0;
+ var $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0;
+ var $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0;
+ var $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0;
+ var $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0;
+ var $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0;
+ var $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0;
+ var $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0;
+ var $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $a = 0;
+ var $b = 0, $c = 0, $d = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $out;
+ $2 = $in;
+ $3 = $2;
+ $4 = (_buf_get_le32_1449($3)|0);
+ $c = $4;
+ $5 = $0;
+ $6 = ((($5)) + 4096|0);
+ $7 = ((($6)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $c;
+ $10 = $9 ^ $8;
+ $c = $10;
+ $11 = $2;
+ $12 = ((($11)) + 4|0);
+ $13 = (_buf_get_le32_1449($12)|0);
+ $d = $13;
+ $14 = $0;
+ $15 = ((($14)) + 4096|0);
+ $16 = ((($15)) + 20|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $d;
+ $19 = $18 ^ $17;
+ $d = $19;
+ $20 = $2;
+ $21 = ((($20)) + 8|0);
+ $22 = (_buf_get_le32_1449($21)|0);
+ $a = $22;
+ $23 = $0;
+ $24 = ((($23)) + 4096|0);
+ $25 = ((($24)) + 24|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $a;
+ $28 = $27 ^ $26;
+ $a = $28;
+ $29 = $2;
+ $30 = ((($29)) + 12|0);
+ $31 = (_buf_get_le32_1449($30)|0);
+ $b = $31;
+ $32 = $0;
+ $33 = ((($32)) + 4096|0);
+ $34 = ((($33)) + 28|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $b;
+ $37 = $36 ^ $35;
+ $b = $37;
+ $38 = $c;
+ $39 = $38 & 255;
+ $40 = $0;
+ $41 = (($40) + ($39<<2)|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $c;
+ $44 = $43 >>> 8;
+ $45 = $44 & 255;
+ $46 = $0;
+ $47 = ((($46)) + 1024|0);
+ $48 = (($47) + ($45<<2)|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $42 ^ $49;
+ $51 = $c;
+ $52 = $51 >>> 16;
+ $53 = $52 & 255;
+ $54 = $0;
+ $55 = ((($54)) + 2048|0);
+ $56 = (($55) + ($53<<2)|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $50 ^ $57;
+ $59 = $c;
+ $60 = $59 >>> 24;
+ $61 = $0;
+ $62 = ((($61)) + 3072|0);
+ $63 = (($62) + ($60<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = $58 ^ $64;
+ $x = $65;
+ $66 = $d;
+ $67 = $66 & 255;
+ $68 = $0;
+ $69 = ((($68)) + 1024|0);
+ $70 = (($69) + ($67<<2)|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $d;
+ $73 = $72 >>> 8;
+ $74 = $73 & 255;
+ $75 = $0;
+ $76 = ((($75)) + 2048|0);
+ $77 = (($76) + ($74<<2)|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = $71 ^ $78;
+ $80 = $d;
+ $81 = $80 >>> 16;
+ $82 = $81 & 255;
+ $83 = $0;
+ $84 = ((($83)) + 3072|0);
+ $85 = (($84) + ($82<<2)|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = $79 ^ $86;
+ $88 = $d;
+ $89 = $88 >>> 24;
+ $90 = $0;
+ $91 = (($90) + ($89<<2)|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $87 ^ $92;
+ $y = $93;
+ $94 = $y;
+ $95 = $x;
+ $96 = (($95) + ($94))|0;
+ $x = $96;
+ $97 = $x;
+ $98 = $y;
+ $99 = (($98) + ($97))|0;
+ $y = $99;
+ $100 = $y;
+ $101 = $0;
+ $102 = ((($101)) + 4128|0);
+ $103 = ((($102)) + 124|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = (($100) + ($104))|0;
+ $106 = $b;
+ $107 = $106 ^ $105;
+ $b = $107;
+ $108 = $b;
+ $109 = $108 >>> 1;
+ $110 = $b;
+ $111 = $110 << 31;
+ $112 = (($109) + ($111))|0;
+ $b = $112;
+ $113 = $a;
+ $114 = $113 << 1;
+ $115 = $a;
+ $116 = $115 >>> 31;
+ $117 = (($114) + ($116))|0;
+ $a = $117;
+ $118 = $x;
+ $119 = $0;
+ $120 = ((($119)) + 4128|0);
+ $121 = ((($120)) + 120|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = (($118) + ($122))|0;
+ $124 = $a;
+ $125 = $124 ^ $123;
+ $a = $125;
+ $126 = $a;
+ $127 = $126 & 255;
+ $128 = $0;
+ $129 = (($128) + ($127<<2)|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = $a;
+ $132 = $131 >>> 8;
+ $133 = $132 & 255;
+ $134 = $0;
+ $135 = ((($134)) + 1024|0);
+ $136 = (($135) + ($133<<2)|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = $130 ^ $137;
+ $139 = $a;
+ $140 = $139 >>> 16;
+ $141 = $140 & 255;
+ $142 = $0;
+ $143 = ((($142)) + 2048|0);
+ $144 = (($143) + ($141<<2)|0);
+ $145 = HEAP32[$144>>2]|0;
+ $146 = $138 ^ $145;
+ $147 = $a;
+ $148 = $147 >>> 24;
+ $149 = $0;
+ $150 = ((($149)) + 3072|0);
+ $151 = (($150) + ($148<<2)|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $146 ^ $152;
+ $x = $153;
+ $154 = $b;
+ $155 = $154 & 255;
+ $156 = $0;
+ $157 = ((($156)) + 1024|0);
+ $158 = (($157) + ($155<<2)|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $b;
+ $161 = $160 >>> 8;
+ $162 = $161 & 255;
+ $163 = $0;
+ $164 = ((($163)) + 2048|0);
+ $165 = (($164) + ($162<<2)|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = $159 ^ $166;
+ $168 = $b;
+ $169 = $168 >>> 16;
+ $170 = $169 & 255;
+ $171 = $0;
+ $172 = ((($171)) + 3072|0);
+ $173 = (($172) + ($170<<2)|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = $167 ^ $174;
+ $176 = $b;
+ $177 = $176 >>> 24;
+ $178 = $0;
+ $179 = (($178) + ($177<<2)|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = $175 ^ $180;
+ $y = $181;
+ $182 = $y;
+ $183 = $x;
+ $184 = (($183) + ($182))|0;
+ $x = $184;
+ $185 = $x;
+ $186 = $y;
+ $187 = (($186) + ($185))|0;
+ $y = $187;
+ $188 = $y;
+ $189 = $0;
+ $190 = ((($189)) + 4128|0);
+ $191 = ((($190)) + 116|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = (($188) + ($192))|0;
+ $194 = $d;
+ $195 = $194 ^ $193;
+ $d = $195;
+ $196 = $d;
+ $197 = $196 >>> 1;
+ $198 = $d;
+ $199 = $198 << 31;
+ $200 = (($197) + ($199))|0;
+ $d = $200;
+ $201 = $c;
+ $202 = $201 << 1;
+ $203 = $c;
+ $204 = $203 >>> 31;
+ $205 = (($202) + ($204))|0;
+ $c = $205;
+ $206 = $x;
+ $207 = $0;
+ $208 = ((($207)) + 4128|0);
+ $209 = ((($208)) + 112|0);
+ $210 = HEAP32[$209>>2]|0;
+ $211 = (($206) + ($210))|0;
+ $212 = $c;
+ $213 = $212 ^ $211;
+ $c = $213;
+ $214 = $c;
+ $215 = $214 & 255;
+ $216 = $0;
+ $217 = (($216) + ($215<<2)|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = $c;
+ $220 = $219 >>> 8;
+ $221 = $220 & 255;
+ $222 = $0;
+ $223 = ((($222)) + 1024|0);
+ $224 = (($223) + ($221<<2)|0);
+ $225 = HEAP32[$224>>2]|0;
+ $226 = $218 ^ $225;
+ $227 = $c;
+ $228 = $227 >>> 16;
+ $229 = $228 & 255;
+ $230 = $0;
+ $231 = ((($230)) + 2048|0);
+ $232 = (($231) + ($229<<2)|0);
+ $233 = HEAP32[$232>>2]|0;
+ $234 = $226 ^ $233;
+ $235 = $c;
+ $236 = $235 >>> 24;
+ $237 = $0;
+ $238 = ((($237)) + 3072|0);
+ $239 = (($238) + ($236<<2)|0);
+ $240 = HEAP32[$239>>2]|0;
+ $241 = $234 ^ $240;
+ $x = $241;
+ $242 = $d;
+ $243 = $242 & 255;
+ $244 = $0;
+ $245 = ((($244)) + 1024|0);
+ $246 = (($245) + ($243<<2)|0);
+ $247 = HEAP32[$246>>2]|0;
+ $248 = $d;
+ $249 = $248 >>> 8;
+ $250 = $249 & 255;
+ $251 = $0;
+ $252 = ((($251)) + 2048|0);
+ $253 = (($252) + ($250<<2)|0);
+ $254 = HEAP32[$253>>2]|0;
+ $255 = $247 ^ $254;
+ $256 = $d;
+ $257 = $256 >>> 16;
+ $258 = $257 & 255;
+ $259 = $0;
+ $260 = ((($259)) + 3072|0);
+ $261 = (($260) + ($258<<2)|0);
+ $262 = HEAP32[$261>>2]|0;
+ $263 = $255 ^ $262;
+ $264 = $d;
+ $265 = $264 >>> 24;
+ $266 = $0;
+ $267 = (($266) + ($265<<2)|0);
+ $268 = HEAP32[$267>>2]|0;
+ $269 = $263 ^ $268;
+ $y = $269;
+ $270 = $y;
+ $271 = $x;
+ $272 = (($271) + ($270))|0;
+ $x = $272;
+ $273 = $x;
+ $274 = $y;
+ $275 = (($274) + ($273))|0;
+ $y = $275;
+ $276 = $y;
+ $277 = $0;
+ $278 = ((($277)) + 4128|0);
+ $279 = ((($278)) + 108|0);
+ $280 = HEAP32[$279>>2]|0;
+ $281 = (($276) + ($280))|0;
+ $282 = $b;
+ $283 = $282 ^ $281;
+ $b = $283;
+ $284 = $b;
+ $285 = $284 >>> 1;
+ $286 = $b;
+ $287 = $286 << 31;
+ $288 = (($285) + ($287))|0;
+ $b = $288;
+ $289 = $a;
+ $290 = $289 << 1;
+ $291 = $a;
+ $292 = $291 >>> 31;
+ $293 = (($290) + ($292))|0;
+ $a = $293;
+ $294 = $x;
+ $295 = $0;
+ $296 = ((($295)) + 4128|0);
+ $297 = ((($296)) + 104|0);
+ $298 = HEAP32[$297>>2]|0;
+ $299 = (($294) + ($298))|0;
+ $300 = $a;
+ $301 = $300 ^ $299;
+ $a = $301;
+ $302 = $a;
+ $303 = $302 & 255;
+ $304 = $0;
+ $305 = (($304) + ($303<<2)|0);
+ $306 = HEAP32[$305>>2]|0;
+ $307 = $a;
+ $308 = $307 >>> 8;
+ $309 = $308 & 255;
+ $310 = $0;
+ $311 = ((($310)) + 1024|0);
+ $312 = (($311) + ($309<<2)|0);
+ $313 = HEAP32[$312>>2]|0;
+ $314 = $306 ^ $313;
+ $315 = $a;
+ $316 = $315 >>> 16;
+ $317 = $316 & 255;
+ $318 = $0;
+ $319 = ((($318)) + 2048|0);
+ $320 = (($319) + ($317<<2)|0);
+ $321 = HEAP32[$320>>2]|0;
+ $322 = $314 ^ $321;
+ $323 = $a;
+ $324 = $323 >>> 24;
+ $325 = $0;
+ $326 = ((($325)) + 3072|0);
+ $327 = (($326) + ($324<<2)|0);
+ $328 = HEAP32[$327>>2]|0;
+ $329 = $322 ^ $328;
+ $x = $329;
+ $330 = $b;
+ $331 = $330 & 255;
+ $332 = $0;
+ $333 = ((($332)) + 1024|0);
+ $334 = (($333) + ($331<<2)|0);
+ $335 = HEAP32[$334>>2]|0;
+ $336 = $b;
+ $337 = $336 >>> 8;
+ $338 = $337 & 255;
+ $339 = $0;
+ $340 = ((($339)) + 2048|0);
+ $341 = (($340) + ($338<<2)|0);
+ $342 = HEAP32[$341>>2]|0;
+ $343 = $335 ^ $342;
+ $344 = $b;
+ $345 = $344 >>> 16;
+ $346 = $345 & 255;
+ $347 = $0;
+ $348 = ((($347)) + 3072|0);
+ $349 = (($348) + ($346<<2)|0);
+ $350 = HEAP32[$349>>2]|0;
+ $351 = $343 ^ $350;
+ $352 = $b;
+ $353 = $352 >>> 24;
+ $354 = $0;
+ $355 = (($354) + ($353<<2)|0);
+ $356 = HEAP32[$355>>2]|0;
+ $357 = $351 ^ $356;
+ $y = $357;
+ $358 = $y;
+ $359 = $x;
+ $360 = (($359) + ($358))|0;
+ $x = $360;
+ $361 = $x;
+ $362 = $y;
+ $363 = (($362) + ($361))|0;
+ $y = $363;
+ $364 = $y;
+ $365 = $0;
+ $366 = ((($365)) + 4128|0);
+ $367 = ((($366)) + 100|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = (($364) + ($368))|0;
+ $370 = $d;
+ $371 = $370 ^ $369;
+ $d = $371;
+ $372 = $d;
+ $373 = $372 >>> 1;
+ $374 = $d;
+ $375 = $374 << 31;
+ $376 = (($373) + ($375))|0;
+ $d = $376;
+ $377 = $c;
+ $378 = $377 << 1;
+ $379 = $c;
+ $380 = $379 >>> 31;
+ $381 = (($378) + ($380))|0;
+ $c = $381;
+ $382 = $x;
+ $383 = $0;
+ $384 = ((($383)) + 4128|0);
+ $385 = ((($384)) + 96|0);
+ $386 = HEAP32[$385>>2]|0;
+ $387 = (($382) + ($386))|0;
+ $388 = $c;
+ $389 = $388 ^ $387;
+ $c = $389;
+ $390 = $c;
+ $391 = $390 & 255;
+ $392 = $0;
+ $393 = (($392) + ($391<<2)|0);
+ $394 = HEAP32[$393>>2]|0;
+ $395 = $c;
+ $396 = $395 >>> 8;
+ $397 = $396 & 255;
+ $398 = $0;
+ $399 = ((($398)) + 1024|0);
+ $400 = (($399) + ($397<<2)|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = $394 ^ $401;
+ $403 = $c;
+ $404 = $403 >>> 16;
+ $405 = $404 & 255;
+ $406 = $0;
+ $407 = ((($406)) + 2048|0);
+ $408 = (($407) + ($405<<2)|0);
+ $409 = HEAP32[$408>>2]|0;
+ $410 = $402 ^ $409;
+ $411 = $c;
+ $412 = $411 >>> 24;
+ $413 = $0;
+ $414 = ((($413)) + 3072|0);
+ $415 = (($414) + ($412<<2)|0);
+ $416 = HEAP32[$415>>2]|0;
+ $417 = $410 ^ $416;
+ $x = $417;
+ $418 = $d;
+ $419 = $418 & 255;
+ $420 = $0;
+ $421 = ((($420)) + 1024|0);
+ $422 = (($421) + ($419<<2)|0);
+ $423 = HEAP32[$422>>2]|0;
+ $424 = $d;
+ $425 = $424 >>> 8;
+ $426 = $425 & 255;
+ $427 = $0;
+ $428 = ((($427)) + 2048|0);
+ $429 = (($428) + ($426<<2)|0);
+ $430 = HEAP32[$429>>2]|0;
+ $431 = $423 ^ $430;
+ $432 = $d;
+ $433 = $432 >>> 16;
+ $434 = $433 & 255;
+ $435 = $0;
+ $436 = ((($435)) + 3072|0);
+ $437 = (($436) + ($434<<2)|0);
+ $438 = HEAP32[$437>>2]|0;
+ $439 = $431 ^ $438;
+ $440 = $d;
+ $441 = $440 >>> 24;
+ $442 = $0;
+ $443 = (($442) + ($441<<2)|0);
+ $444 = HEAP32[$443>>2]|0;
+ $445 = $439 ^ $444;
+ $y = $445;
+ $446 = $y;
+ $447 = $x;
+ $448 = (($447) + ($446))|0;
+ $x = $448;
+ $449 = $x;
+ $450 = $y;
+ $451 = (($450) + ($449))|0;
+ $y = $451;
+ $452 = $y;
+ $453 = $0;
+ $454 = ((($453)) + 4128|0);
+ $455 = ((($454)) + 92|0);
+ $456 = HEAP32[$455>>2]|0;
+ $457 = (($452) + ($456))|0;
+ $458 = $b;
+ $459 = $458 ^ $457;
+ $b = $459;
+ $460 = $b;
+ $461 = $460 >>> 1;
+ $462 = $b;
+ $463 = $462 << 31;
+ $464 = (($461) + ($463))|0;
+ $b = $464;
+ $465 = $a;
+ $466 = $465 << 1;
+ $467 = $a;
+ $468 = $467 >>> 31;
+ $469 = (($466) + ($468))|0;
+ $a = $469;
+ $470 = $x;
+ $471 = $0;
+ $472 = ((($471)) + 4128|0);
+ $473 = ((($472)) + 88|0);
+ $474 = HEAP32[$473>>2]|0;
+ $475 = (($470) + ($474))|0;
+ $476 = $a;
+ $477 = $476 ^ $475;
+ $a = $477;
+ $478 = $a;
+ $479 = $478 & 255;
+ $480 = $0;
+ $481 = (($480) + ($479<<2)|0);
+ $482 = HEAP32[$481>>2]|0;
+ $483 = $a;
+ $484 = $483 >>> 8;
+ $485 = $484 & 255;
+ $486 = $0;
+ $487 = ((($486)) + 1024|0);
+ $488 = (($487) + ($485<<2)|0);
+ $489 = HEAP32[$488>>2]|0;
+ $490 = $482 ^ $489;
+ $491 = $a;
+ $492 = $491 >>> 16;
+ $493 = $492 & 255;
+ $494 = $0;
+ $495 = ((($494)) + 2048|0);
+ $496 = (($495) + ($493<<2)|0);
+ $497 = HEAP32[$496>>2]|0;
+ $498 = $490 ^ $497;
+ $499 = $a;
+ $500 = $499 >>> 24;
+ $501 = $0;
+ $502 = ((($501)) + 3072|0);
+ $503 = (($502) + ($500<<2)|0);
+ $504 = HEAP32[$503>>2]|0;
+ $505 = $498 ^ $504;
+ $x = $505;
+ $506 = $b;
+ $507 = $506 & 255;
+ $508 = $0;
+ $509 = ((($508)) + 1024|0);
+ $510 = (($509) + ($507<<2)|0);
+ $511 = HEAP32[$510>>2]|0;
+ $512 = $b;
+ $513 = $512 >>> 8;
+ $514 = $513 & 255;
+ $515 = $0;
+ $516 = ((($515)) + 2048|0);
+ $517 = (($516) + ($514<<2)|0);
+ $518 = HEAP32[$517>>2]|0;
+ $519 = $511 ^ $518;
+ $520 = $b;
+ $521 = $520 >>> 16;
+ $522 = $521 & 255;
+ $523 = $0;
+ $524 = ((($523)) + 3072|0);
+ $525 = (($524) + ($522<<2)|0);
+ $526 = HEAP32[$525>>2]|0;
+ $527 = $519 ^ $526;
+ $528 = $b;
+ $529 = $528 >>> 24;
+ $530 = $0;
+ $531 = (($530) + ($529<<2)|0);
+ $532 = HEAP32[$531>>2]|0;
+ $533 = $527 ^ $532;
+ $y = $533;
+ $534 = $y;
+ $535 = $x;
+ $536 = (($535) + ($534))|0;
+ $x = $536;
+ $537 = $x;
+ $538 = $y;
+ $539 = (($538) + ($537))|0;
+ $y = $539;
+ $540 = $y;
+ $541 = $0;
+ $542 = ((($541)) + 4128|0);
+ $543 = ((($542)) + 84|0);
+ $544 = HEAP32[$543>>2]|0;
+ $545 = (($540) + ($544))|0;
+ $546 = $d;
+ $547 = $546 ^ $545;
+ $d = $547;
+ $548 = $d;
+ $549 = $548 >>> 1;
+ $550 = $d;
+ $551 = $550 << 31;
+ $552 = (($549) + ($551))|0;
+ $d = $552;
+ $553 = $c;
+ $554 = $553 << 1;
+ $555 = $c;
+ $556 = $555 >>> 31;
+ $557 = (($554) + ($556))|0;
+ $c = $557;
+ $558 = $x;
+ $559 = $0;
+ $560 = ((($559)) + 4128|0);
+ $561 = ((($560)) + 80|0);
+ $562 = HEAP32[$561>>2]|0;
+ $563 = (($558) + ($562))|0;
+ $564 = $c;
+ $565 = $564 ^ $563;
+ $c = $565;
+ $566 = $c;
+ $567 = $566 & 255;
+ $568 = $0;
+ $569 = (($568) + ($567<<2)|0);
+ $570 = HEAP32[$569>>2]|0;
+ $571 = $c;
+ $572 = $571 >>> 8;
+ $573 = $572 & 255;
+ $574 = $0;
+ $575 = ((($574)) + 1024|0);
+ $576 = (($575) + ($573<<2)|0);
+ $577 = HEAP32[$576>>2]|0;
+ $578 = $570 ^ $577;
+ $579 = $c;
+ $580 = $579 >>> 16;
+ $581 = $580 & 255;
+ $582 = $0;
+ $583 = ((($582)) + 2048|0);
+ $584 = (($583) + ($581<<2)|0);
+ $585 = HEAP32[$584>>2]|0;
+ $586 = $578 ^ $585;
+ $587 = $c;
+ $588 = $587 >>> 24;
+ $589 = $0;
+ $590 = ((($589)) + 3072|0);
+ $591 = (($590) + ($588<<2)|0);
+ $592 = HEAP32[$591>>2]|0;
+ $593 = $586 ^ $592;
+ $x = $593;
+ $594 = $d;
+ $595 = $594 & 255;
+ $596 = $0;
+ $597 = ((($596)) + 1024|0);
+ $598 = (($597) + ($595<<2)|0);
+ $599 = HEAP32[$598>>2]|0;
+ $600 = $d;
+ $601 = $600 >>> 8;
+ $602 = $601 & 255;
+ $603 = $0;
+ $604 = ((($603)) + 2048|0);
+ $605 = (($604) + ($602<<2)|0);
+ $606 = HEAP32[$605>>2]|0;
+ $607 = $599 ^ $606;
+ $608 = $d;
+ $609 = $608 >>> 16;
+ $610 = $609 & 255;
+ $611 = $0;
+ $612 = ((($611)) + 3072|0);
+ $613 = (($612) + ($610<<2)|0);
+ $614 = HEAP32[$613>>2]|0;
+ $615 = $607 ^ $614;
+ $616 = $d;
+ $617 = $616 >>> 24;
+ $618 = $0;
+ $619 = (($618) + ($617<<2)|0);
+ $620 = HEAP32[$619>>2]|0;
+ $621 = $615 ^ $620;
+ $y = $621;
+ $622 = $y;
+ $623 = $x;
+ $624 = (($623) + ($622))|0;
+ $x = $624;
+ $625 = $x;
+ $626 = $y;
+ $627 = (($626) + ($625))|0;
+ $y = $627;
+ $628 = $y;
+ $629 = $0;
+ $630 = ((($629)) + 4128|0);
+ $631 = ((($630)) + 76|0);
+ $632 = HEAP32[$631>>2]|0;
+ $633 = (($628) + ($632))|0;
+ $634 = $b;
+ $635 = $634 ^ $633;
+ $b = $635;
+ $636 = $b;
+ $637 = $636 >>> 1;
+ $638 = $b;
+ $639 = $638 << 31;
+ $640 = (($637) + ($639))|0;
+ $b = $640;
+ $641 = $a;
+ $642 = $641 << 1;
+ $643 = $a;
+ $644 = $643 >>> 31;
+ $645 = (($642) + ($644))|0;
+ $a = $645;
+ $646 = $x;
+ $647 = $0;
+ $648 = ((($647)) + 4128|0);
+ $649 = ((($648)) + 72|0);
+ $650 = HEAP32[$649>>2]|0;
+ $651 = (($646) + ($650))|0;
+ $652 = $a;
+ $653 = $652 ^ $651;
+ $a = $653;
+ $654 = $a;
+ $655 = $654 & 255;
+ $656 = $0;
+ $657 = (($656) + ($655<<2)|0);
+ $658 = HEAP32[$657>>2]|0;
+ $659 = $a;
+ $660 = $659 >>> 8;
+ $661 = $660 & 255;
+ $662 = $0;
+ $663 = ((($662)) + 1024|0);
+ $664 = (($663) + ($661<<2)|0);
+ $665 = HEAP32[$664>>2]|0;
+ $666 = $658 ^ $665;
+ $667 = $a;
+ $668 = $667 >>> 16;
+ $669 = $668 & 255;
+ $670 = $0;
+ $671 = ((($670)) + 2048|0);
+ $672 = (($671) + ($669<<2)|0);
+ $673 = HEAP32[$672>>2]|0;
+ $674 = $666 ^ $673;
+ $675 = $a;
+ $676 = $675 >>> 24;
+ $677 = $0;
+ $678 = ((($677)) + 3072|0);
+ $679 = (($678) + ($676<<2)|0);
+ $680 = HEAP32[$679>>2]|0;
+ $681 = $674 ^ $680;
+ $x = $681;
+ $682 = $b;
+ $683 = $682 & 255;
+ $684 = $0;
+ $685 = ((($684)) + 1024|0);
+ $686 = (($685) + ($683<<2)|0);
+ $687 = HEAP32[$686>>2]|0;
+ $688 = $b;
+ $689 = $688 >>> 8;
+ $690 = $689 & 255;
+ $691 = $0;
+ $692 = ((($691)) + 2048|0);
+ $693 = (($692) + ($690<<2)|0);
+ $694 = HEAP32[$693>>2]|0;
+ $695 = $687 ^ $694;
+ $696 = $b;
+ $697 = $696 >>> 16;
+ $698 = $697 & 255;
+ $699 = $0;
+ $700 = ((($699)) + 3072|0);
+ $701 = (($700) + ($698<<2)|0);
+ $702 = HEAP32[$701>>2]|0;
+ $703 = $695 ^ $702;
+ $704 = $b;
+ $705 = $704 >>> 24;
+ $706 = $0;
+ $707 = (($706) + ($705<<2)|0);
+ $708 = HEAP32[$707>>2]|0;
+ $709 = $703 ^ $708;
+ $y = $709;
+ $710 = $y;
+ $711 = $x;
+ $712 = (($711) + ($710))|0;
+ $x = $712;
+ $713 = $x;
+ $714 = $y;
+ $715 = (($714) + ($713))|0;
+ $y = $715;
+ $716 = $y;
+ $717 = $0;
+ $718 = ((($717)) + 4128|0);
+ $719 = ((($718)) + 68|0);
+ $720 = HEAP32[$719>>2]|0;
+ $721 = (($716) + ($720))|0;
+ $722 = $d;
+ $723 = $722 ^ $721;
+ $d = $723;
+ $724 = $d;
+ $725 = $724 >>> 1;
+ $726 = $d;
+ $727 = $726 << 31;
+ $728 = (($725) + ($727))|0;
+ $d = $728;
+ $729 = $c;
+ $730 = $729 << 1;
+ $731 = $c;
+ $732 = $731 >>> 31;
+ $733 = (($730) + ($732))|0;
+ $c = $733;
+ $734 = $x;
+ $735 = $0;
+ $736 = ((($735)) + 4128|0);
+ $737 = ((($736)) + 64|0);
+ $738 = HEAP32[$737>>2]|0;
+ $739 = (($734) + ($738))|0;
+ $740 = $c;
+ $741 = $740 ^ $739;
+ $c = $741;
+ $742 = $c;
+ $743 = $742 & 255;
+ $744 = $0;
+ $745 = (($744) + ($743<<2)|0);
+ $746 = HEAP32[$745>>2]|0;
+ $747 = $c;
+ $748 = $747 >>> 8;
+ $749 = $748 & 255;
+ $750 = $0;
+ $751 = ((($750)) + 1024|0);
+ $752 = (($751) + ($749<<2)|0);
+ $753 = HEAP32[$752>>2]|0;
+ $754 = $746 ^ $753;
+ $755 = $c;
+ $756 = $755 >>> 16;
+ $757 = $756 & 255;
+ $758 = $0;
+ $759 = ((($758)) + 2048|0);
+ $760 = (($759) + ($757<<2)|0);
+ $761 = HEAP32[$760>>2]|0;
+ $762 = $754 ^ $761;
+ $763 = $c;
+ $764 = $763 >>> 24;
+ $765 = $0;
+ $766 = ((($765)) + 3072|0);
+ $767 = (($766) + ($764<<2)|0);
+ $768 = HEAP32[$767>>2]|0;
+ $769 = $762 ^ $768;
+ $x = $769;
+ $770 = $d;
+ $771 = $770 & 255;
+ $772 = $0;
+ $773 = ((($772)) + 1024|0);
+ $774 = (($773) + ($771<<2)|0);
+ $775 = HEAP32[$774>>2]|0;
+ $776 = $d;
+ $777 = $776 >>> 8;
+ $778 = $777 & 255;
+ $779 = $0;
+ $780 = ((($779)) + 2048|0);
+ $781 = (($780) + ($778<<2)|0);
+ $782 = HEAP32[$781>>2]|0;
+ $783 = $775 ^ $782;
+ $784 = $d;
+ $785 = $784 >>> 16;
+ $786 = $785 & 255;
+ $787 = $0;
+ $788 = ((($787)) + 3072|0);
+ $789 = (($788) + ($786<<2)|0);
+ $790 = HEAP32[$789>>2]|0;
+ $791 = $783 ^ $790;
+ $792 = $d;
+ $793 = $792 >>> 24;
+ $794 = $0;
+ $795 = (($794) + ($793<<2)|0);
+ $796 = HEAP32[$795>>2]|0;
+ $797 = $791 ^ $796;
+ $y = $797;
+ $798 = $y;
+ $799 = $x;
+ $800 = (($799) + ($798))|0;
+ $x = $800;
+ $801 = $x;
+ $802 = $y;
+ $803 = (($802) + ($801))|0;
+ $y = $803;
+ $804 = $y;
+ $805 = $0;
+ $806 = ((($805)) + 4128|0);
+ $807 = ((($806)) + 60|0);
+ $808 = HEAP32[$807>>2]|0;
+ $809 = (($804) + ($808))|0;
+ $810 = $b;
+ $811 = $810 ^ $809;
+ $b = $811;
+ $812 = $b;
+ $813 = $812 >>> 1;
+ $814 = $b;
+ $815 = $814 << 31;
+ $816 = (($813) + ($815))|0;
+ $b = $816;
+ $817 = $a;
+ $818 = $817 << 1;
+ $819 = $a;
+ $820 = $819 >>> 31;
+ $821 = (($818) + ($820))|0;
+ $a = $821;
+ $822 = $x;
+ $823 = $0;
+ $824 = ((($823)) + 4128|0);
+ $825 = ((($824)) + 56|0);
+ $826 = HEAP32[$825>>2]|0;
+ $827 = (($822) + ($826))|0;
+ $828 = $a;
+ $829 = $828 ^ $827;
+ $a = $829;
+ $830 = $a;
+ $831 = $830 & 255;
+ $832 = $0;
+ $833 = (($832) + ($831<<2)|0);
+ $834 = HEAP32[$833>>2]|0;
+ $835 = $a;
+ $836 = $835 >>> 8;
+ $837 = $836 & 255;
+ $838 = $0;
+ $839 = ((($838)) + 1024|0);
+ $840 = (($839) + ($837<<2)|0);
+ $841 = HEAP32[$840>>2]|0;
+ $842 = $834 ^ $841;
+ $843 = $a;
+ $844 = $843 >>> 16;
+ $845 = $844 & 255;
+ $846 = $0;
+ $847 = ((($846)) + 2048|0);
+ $848 = (($847) + ($845<<2)|0);
+ $849 = HEAP32[$848>>2]|0;
+ $850 = $842 ^ $849;
+ $851 = $a;
+ $852 = $851 >>> 24;
+ $853 = $0;
+ $854 = ((($853)) + 3072|0);
+ $855 = (($854) + ($852<<2)|0);
+ $856 = HEAP32[$855>>2]|0;
+ $857 = $850 ^ $856;
+ $x = $857;
+ $858 = $b;
+ $859 = $858 & 255;
+ $860 = $0;
+ $861 = ((($860)) + 1024|0);
+ $862 = (($861) + ($859<<2)|0);
+ $863 = HEAP32[$862>>2]|0;
+ $864 = $b;
+ $865 = $864 >>> 8;
+ $866 = $865 & 255;
+ $867 = $0;
+ $868 = ((($867)) + 2048|0);
+ $869 = (($868) + ($866<<2)|0);
+ $870 = HEAP32[$869>>2]|0;
+ $871 = $863 ^ $870;
+ $872 = $b;
+ $873 = $872 >>> 16;
+ $874 = $873 & 255;
+ $875 = $0;
+ $876 = ((($875)) + 3072|0);
+ $877 = (($876) + ($874<<2)|0);
+ $878 = HEAP32[$877>>2]|0;
+ $879 = $871 ^ $878;
+ $880 = $b;
+ $881 = $880 >>> 24;
+ $882 = $0;
+ $883 = (($882) + ($881<<2)|0);
+ $884 = HEAP32[$883>>2]|0;
+ $885 = $879 ^ $884;
+ $y = $885;
+ $886 = $y;
+ $887 = $x;
+ $888 = (($887) + ($886))|0;
+ $x = $888;
+ $889 = $x;
+ $890 = $y;
+ $891 = (($890) + ($889))|0;
+ $y = $891;
+ $892 = $y;
+ $893 = $0;
+ $894 = ((($893)) + 4128|0);
+ $895 = ((($894)) + 52|0);
+ $896 = HEAP32[$895>>2]|0;
+ $897 = (($892) + ($896))|0;
+ $898 = $d;
+ $899 = $898 ^ $897;
+ $d = $899;
+ $900 = $d;
+ $901 = $900 >>> 1;
+ $902 = $d;
+ $903 = $902 << 31;
+ $904 = (($901) + ($903))|0;
+ $d = $904;
+ $905 = $c;
+ $906 = $905 << 1;
+ $907 = $c;
+ $908 = $907 >>> 31;
+ $909 = (($906) + ($908))|0;
+ $c = $909;
+ $910 = $x;
+ $911 = $0;
+ $912 = ((($911)) + 4128|0);
+ $913 = ((($912)) + 48|0);
+ $914 = HEAP32[$913>>2]|0;
+ $915 = (($910) + ($914))|0;
+ $916 = $c;
+ $917 = $916 ^ $915;
+ $c = $917;
+ $918 = $c;
+ $919 = $918 & 255;
+ $920 = $0;
+ $921 = (($920) + ($919<<2)|0);
+ $922 = HEAP32[$921>>2]|0;
+ $923 = $c;
+ $924 = $923 >>> 8;
+ $925 = $924 & 255;
+ $926 = $0;
+ $927 = ((($926)) + 1024|0);
+ $928 = (($927) + ($925<<2)|0);
+ $929 = HEAP32[$928>>2]|0;
+ $930 = $922 ^ $929;
+ $931 = $c;
+ $932 = $931 >>> 16;
+ $933 = $932 & 255;
+ $934 = $0;
+ $935 = ((($934)) + 2048|0);
+ $936 = (($935) + ($933<<2)|0);
+ $937 = HEAP32[$936>>2]|0;
+ $938 = $930 ^ $937;
+ $939 = $c;
+ $940 = $939 >>> 24;
+ $941 = $0;
+ $942 = ((($941)) + 3072|0);
+ $943 = (($942) + ($940<<2)|0);
+ $944 = HEAP32[$943>>2]|0;
+ $945 = $938 ^ $944;
+ $x = $945;
+ $946 = $d;
+ $947 = $946 & 255;
+ $948 = $0;
+ $949 = ((($948)) + 1024|0);
+ $950 = (($949) + ($947<<2)|0);
+ $951 = HEAP32[$950>>2]|0;
+ $952 = $d;
+ $953 = $952 >>> 8;
+ $954 = $953 & 255;
+ $955 = $0;
+ $956 = ((($955)) + 2048|0);
+ $957 = (($956) + ($954<<2)|0);
+ $958 = HEAP32[$957>>2]|0;
+ $959 = $951 ^ $958;
+ $960 = $d;
+ $961 = $960 >>> 16;
+ $962 = $961 & 255;
+ $963 = $0;
+ $964 = ((($963)) + 3072|0);
+ $965 = (($964) + ($962<<2)|0);
+ $966 = HEAP32[$965>>2]|0;
+ $967 = $959 ^ $966;
+ $968 = $d;
+ $969 = $968 >>> 24;
+ $970 = $0;
+ $971 = (($970) + ($969<<2)|0);
+ $972 = HEAP32[$971>>2]|0;
+ $973 = $967 ^ $972;
+ $y = $973;
+ $974 = $y;
+ $975 = $x;
+ $976 = (($975) + ($974))|0;
+ $x = $976;
+ $977 = $x;
+ $978 = $y;
+ $979 = (($978) + ($977))|0;
+ $y = $979;
+ $980 = $y;
+ $981 = $0;
+ $982 = ((($981)) + 4128|0);
+ $983 = ((($982)) + 44|0);
+ $984 = HEAP32[$983>>2]|0;
+ $985 = (($980) + ($984))|0;
+ $986 = $b;
+ $987 = $986 ^ $985;
+ $b = $987;
+ $988 = $b;
+ $989 = $988 >>> 1;
+ $990 = $b;
+ $991 = $990 << 31;
+ $992 = (($989) + ($991))|0;
+ $b = $992;
+ $993 = $a;
+ $994 = $993 << 1;
+ $995 = $a;
+ $996 = $995 >>> 31;
+ $997 = (($994) + ($996))|0;
+ $a = $997;
+ $998 = $x;
+ $999 = $0;
+ $1000 = ((($999)) + 4128|0);
+ $1001 = ((($1000)) + 40|0);
+ $1002 = HEAP32[$1001>>2]|0;
+ $1003 = (($998) + ($1002))|0;
+ $1004 = $a;
+ $1005 = $1004 ^ $1003;
+ $a = $1005;
+ $1006 = $a;
+ $1007 = $1006 & 255;
+ $1008 = $0;
+ $1009 = (($1008) + ($1007<<2)|0);
+ $1010 = HEAP32[$1009>>2]|0;
+ $1011 = $a;
+ $1012 = $1011 >>> 8;
+ $1013 = $1012 & 255;
+ $1014 = $0;
+ $1015 = ((($1014)) + 1024|0);
+ $1016 = (($1015) + ($1013<<2)|0);
+ $1017 = HEAP32[$1016>>2]|0;
+ $1018 = $1010 ^ $1017;
+ $1019 = $a;
+ $1020 = $1019 >>> 16;
+ $1021 = $1020 & 255;
+ $1022 = $0;
+ $1023 = ((($1022)) + 2048|0);
+ $1024 = (($1023) + ($1021<<2)|0);
+ $1025 = HEAP32[$1024>>2]|0;
+ $1026 = $1018 ^ $1025;
+ $1027 = $a;
+ $1028 = $1027 >>> 24;
+ $1029 = $0;
+ $1030 = ((($1029)) + 3072|0);
+ $1031 = (($1030) + ($1028<<2)|0);
+ $1032 = HEAP32[$1031>>2]|0;
+ $1033 = $1026 ^ $1032;
+ $x = $1033;
+ $1034 = $b;
+ $1035 = $1034 & 255;
+ $1036 = $0;
+ $1037 = ((($1036)) + 1024|0);
+ $1038 = (($1037) + ($1035<<2)|0);
+ $1039 = HEAP32[$1038>>2]|0;
+ $1040 = $b;
+ $1041 = $1040 >>> 8;
+ $1042 = $1041 & 255;
+ $1043 = $0;
+ $1044 = ((($1043)) + 2048|0);
+ $1045 = (($1044) + ($1042<<2)|0);
+ $1046 = HEAP32[$1045>>2]|0;
+ $1047 = $1039 ^ $1046;
+ $1048 = $b;
+ $1049 = $1048 >>> 16;
+ $1050 = $1049 & 255;
+ $1051 = $0;
+ $1052 = ((($1051)) + 3072|0);
+ $1053 = (($1052) + ($1050<<2)|0);
+ $1054 = HEAP32[$1053>>2]|0;
+ $1055 = $1047 ^ $1054;
+ $1056 = $b;
+ $1057 = $1056 >>> 24;
+ $1058 = $0;
+ $1059 = (($1058) + ($1057<<2)|0);
+ $1060 = HEAP32[$1059>>2]|0;
+ $1061 = $1055 ^ $1060;
+ $y = $1061;
+ $1062 = $y;
+ $1063 = $x;
+ $1064 = (($1063) + ($1062))|0;
+ $x = $1064;
+ $1065 = $x;
+ $1066 = $y;
+ $1067 = (($1066) + ($1065))|0;
+ $y = $1067;
+ $1068 = $y;
+ $1069 = $0;
+ $1070 = ((($1069)) + 4128|0);
+ $1071 = ((($1070)) + 36|0);
+ $1072 = HEAP32[$1071>>2]|0;
+ $1073 = (($1068) + ($1072))|0;
+ $1074 = $d;
+ $1075 = $1074 ^ $1073;
+ $d = $1075;
+ $1076 = $d;
+ $1077 = $1076 >>> 1;
+ $1078 = $d;
+ $1079 = $1078 << 31;
+ $1080 = (($1077) + ($1079))|0;
+ $d = $1080;
+ $1081 = $c;
+ $1082 = $1081 << 1;
+ $1083 = $c;
+ $1084 = $1083 >>> 31;
+ $1085 = (($1082) + ($1084))|0;
+ $c = $1085;
+ $1086 = $x;
+ $1087 = $0;
+ $1088 = ((($1087)) + 4128|0);
+ $1089 = ((($1088)) + 32|0);
+ $1090 = HEAP32[$1089>>2]|0;
+ $1091 = (($1086) + ($1090))|0;
+ $1092 = $c;
+ $1093 = $1092 ^ $1091;
+ $c = $1093;
+ $1094 = $c;
+ $1095 = $1094 & 255;
+ $1096 = $0;
+ $1097 = (($1096) + ($1095<<2)|0);
+ $1098 = HEAP32[$1097>>2]|0;
+ $1099 = $c;
+ $1100 = $1099 >>> 8;
+ $1101 = $1100 & 255;
+ $1102 = $0;
+ $1103 = ((($1102)) + 1024|0);
+ $1104 = (($1103) + ($1101<<2)|0);
+ $1105 = HEAP32[$1104>>2]|0;
+ $1106 = $1098 ^ $1105;
+ $1107 = $c;
+ $1108 = $1107 >>> 16;
+ $1109 = $1108 & 255;
+ $1110 = $0;
+ $1111 = ((($1110)) + 2048|0);
+ $1112 = (($1111) + ($1109<<2)|0);
+ $1113 = HEAP32[$1112>>2]|0;
+ $1114 = $1106 ^ $1113;
+ $1115 = $c;
+ $1116 = $1115 >>> 24;
+ $1117 = $0;
+ $1118 = ((($1117)) + 3072|0);
+ $1119 = (($1118) + ($1116<<2)|0);
+ $1120 = HEAP32[$1119>>2]|0;
+ $1121 = $1114 ^ $1120;
+ $x = $1121;
+ $1122 = $d;
+ $1123 = $1122 & 255;
+ $1124 = $0;
+ $1125 = ((($1124)) + 1024|0);
+ $1126 = (($1125) + ($1123<<2)|0);
+ $1127 = HEAP32[$1126>>2]|0;
+ $1128 = $d;
+ $1129 = $1128 >>> 8;
+ $1130 = $1129 & 255;
+ $1131 = $0;
+ $1132 = ((($1131)) + 2048|0);
+ $1133 = (($1132) + ($1130<<2)|0);
+ $1134 = HEAP32[$1133>>2]|0;
+ $1135 = $1127 ^ $1134;
+ $1136 = $d;
+ $1137 = $1136 >>> 16;
+ $1138 = $1137 & 255;
+ $1139 = $0;
+ $1140 = ((($1139)) + 3072|0);
+ $1141 = (($1140) + ($1138<<2)|0);
+ $1142 = HEAP32[$1141>>2]|0;
+ $1143 = $1135 ^ $1142;
+ $1144 = $d;
+ $1145 = $1144 >>> 24;
+ $1146 = $0;
+ $1147 = (($1146) + ($1145<<2)|0);
+ $1148 = HEAP32[$1147>>2]|0;
+ $1149 = $1143 ^ $1148;
+ $y = $1149;
+ $1150 = $y;
+ $1151 = $x;
+ $1152 = (($1151) + ($1150))|0;
+ $x = $1152;
+ $1153 = $x;
+ $1154 = $y;
+ $1155 = (($1154) + ($1153))|0;
+ $y = $1155;
+ $1156 = $y;
+ $1157 = $0;
+ $1158 = ((($1157)) + 4128|0);
+ $1159 = ((($1158)) + 28|0);
+ $1160 = HEAP32[$1159>>2]|0;
+ $1161 = (($1156) + ($1160))|0;
+ $1162 = $b;
+ $1163 = $1162 ^ $1161;
+ $b = $1163;
+ $1164 = $b;
+ $1165 = $1164 >>> 1;
+ $1166 = $b;
+ $1167 = $1166 << 31;
+ $1168 = (($1165) + ($1167))|0;
+ $b = $1168;
+ $1169 = $a;
+ $1170 = $1169 << 1;
+ $1171 = $a;
+ $1172 = $1171 >>> 31;
+ $1173 = (($1170) + ($1172))|0;
+ $a = $1173;
+ $1174 = $x;
+ $1175 = $0;
+ $1176 = ((($1175)) + 4128|0);
+ $1177 = ((($1176)) + 24|0);
+ $1178 = HEAP32[$1177>>2]|0;
+ $1179 = (($1174) + ($1178))|0;
+ $1180 = $a;
+ $1181 = $1180 ^ $1179;
+ $a = $1181;
+ $1182 = $a;
+ $1183 = $1182 & 255;
+ $1184 = $0;
+ $1185 = (($1184) + ($1183<<2)|0);
+ $1186 = HEAP32[$1185>>2]|0;
+ $1187 = $a;
+ $1188 = $1187 >>> 8;
+ $1189 = $1188 & 255;
+ $1190 = $0;
+ $1191 = ((($1190)) + 1024|0);
+ $1192 = (($1191) + ($1189<<2)|0);
+ $1193 = HEAP32[$1192>>2]|0;
+ $1194 = $1186 ^ $1193;
+ $1195 = $a;
+ $1196 = $1195 >>> 16;
+ $1197 = $1196 & 255;
+ $1198 = $0;
+ $1199 = ((($1198)) + 2048|0);
+ $1200 = (($1199) + ($1197<<2)|0);
+ $1201 = HEAP32[$1200>>2]|0;
+ $1202 = $1194 ^ $1201;
+ $1203 = $a;
+ $1204 = $1203 >>> 24;
+ $1205 = $0;
+ $1206 = ((($1205)) + 3072|0);
+ $1207 = (($1206) + ($1204<<2)|0);
+ $1208 = HEAP32[$1207>>2]|0;
+ $1209 = $1202 ^ $1208;
+ $x = $1209;
+ $1210 = $b;
+ $1211 = $1210 & 255;
+ $1212 = $0;
+ $1213 = ((($1212)) + 1024|0);
+ $1214 = (($1213) + ($1211<<2)|0);
+ $1215 = HEAP32[$1214>>2]|0;
+ $1216 = $b;
+ $1217 = $1216 >>> 8;
+ $1218 = $1217 & 255;
+ $1219 = $0;
+ $1220 = ((($1219)) + 2048|0);
+ $1221 = (($1220) + ($1218<<2)|0);
+ $1222 = HEAP32[$1221>>2]|0;
+ $1223 = $1215 ^ $1222;
+ $1224 = $b;
+ $1225 = $1224 >>> 16;
+ $1226 = $1225 & 255;
+ $1227 = $0;
+ $1228 = ((($1227)) + 3072|0);
+ $1229 = (($1228) + ($1226<<2)|0);
+ $1230 = HEAP32[$1229>>2]|0;
+ $1231 = $1223 ^ $1230;
+ $1232 = $b;
+ $1233 = $1232 >>> 24;
+ $1234 = $0;
+ $1235 = (($1234) + ($1233<<2)|0);
+ $1236 = HEAP32[$1235>>2]|0;
+ $1237 = $1231 ^ $1236;
+ $y = $1237;
+ $1238 = $y;
+ $1239 = $x;
+ $1240 = (($1239) + ($1238))|0;
+ $x = $1240;
+ $1241 = $x;
+ $1242 = $y;
+ $1243 = (($1242) + ($1241))|0;
+ $y = $1243;
+ $1244 = $y;
+ $1245 = $0;
+ $1246 = ((($1245)) + 4128|0);
+ $1247 = ((($1246)) + 20|0);
+ $1248 = HEAP32[$1247>>2]|0;
+ $1249 = (($1244) + ($1248))|0;
+ $1250 = $d;
+ $1251 = $1250 ^ $1249;
+ $d = $1251;
+ $1252 = $d;
+ $1253 = $1252 >>> 1;
+ $1254 = $d;
+ $1255 = $1254 << 31;
+ $1256 = (($1253) + ($1255))|0;
+ $d = $1256;
+ $1257 = $c;
+ $1258 = $1257 << 1;
+ $1259 = $c;
+ $1260 = $1259 >>> 31;
+ $1261 = (($1258) + ($1260))|0;
+ $c = $1261;
+ $1262 = $x;
+ $1263 = $0;
+ $1264 = ((($1263)) + 4128|0);
+ $1265 = ((($1264)) + 16|0);
+ $1266 = HEAP32[$1265>>2]|0;
+ $1267 = (($1262) + ($1266))|0;
+ $1268 = $c;
+ $1269 = $1268 ^ $1267;
+ $c = $1269;
+ $1270 = $c;
+ $1271 = $1270 & 255;
+ $1272 = $0;
+ $1273 = (($1272) + ($1271<<2)|0);
+ $1274 = HEAP32[$1273>>2]|0;
+ $1275 = $c;
+ $1276 = $1275 >>> 8;
+ $1277 = $1276 & 255;
+ $1278 = $0;
+ $1279 = ((($1278)) + 1024|0);
+ $1280 = (($1279) + ($1277<<2)|0);
+ $1281 = HEAP32[$1280>>2]|0;
+ $1282 = $1274 ^ $1281;
+ $1283 = $c;
+ $1284 = $1283 >>> 16;
+ $1285 = $1284 & 255;
+ $1286 = $0;
+ $1287 = ((($1286)) + 2048|0);
+ $1288 = (($1287) + ($1285<<2)|0);
+ $1289 = HEAP32[$1288>>2]|0;
+ $1290 = $1282 ^ $1289;
+ $1291 = $c;
+ $1292 = $1291 >>> 24;
+ $1293 = $0;
+ $1294 = ((($1293)) + 3072|0);
+ $1295 = (($1294) + ($1292<<2)|0);
+ $1296 = HEAP32[$1295>>2]|0;
+ $1297 = $1290 ^ $1296;
+ $x = $1297;
+ $1298 = $d;
+ $1299 = $1298 & 255;
+ $1300 = $0;
+ $1301 = ((($1300)) + 1024|0);
+ $1302 = (($1301) + ($1299<<2)|0);
+ $1303 = HEAP32[$1302>>2]|0;
+ $1304 = $d;
+ $1305 = $1304 >>> 8;
+ $1306 = $1305 & 255;
+ $1307 = $0;
+ $1308 = ((($1307)) + 2048|0);
+ $1309 = (($1308) + ($1306<<2)|0);
+ $1310 = HEAP32[$1309>>2]|0;
+ $1311 = $1303 ^ $1310;
+ $1312 = $d;
+ $1313 = $1312 >>> 16;
+ $1314 = $1313 & 255;
+ $1315 = $0;
+ $1316 = ((($1315)) + 3072|0);
+ $1317 = (($1316) + ($1314<<2)|0);
+ $1318 = HEAP32[$1317>>2]|0;
+ $1319 = $1311 ^ $1318;
+ $1320 = $d;
+ $1321 = $1320 >>> 24;
+ $1322 = $0;
+ $1323 = (($1322) + ($1321<<2)|0);
+ $1324 = HEAP32[$1323>>2]|0;
+ $1325 = $1319 ^ $1324;
+ $y = $1325;
+ $1326 = $y;
+ $1327 = $x;
+ $1328 = (($1327) + ($1326))|0;
+ $x = $1328;
+ $1329 = $x;
+ $1330 = $y;
+ $1331 = (($1330) + ($1329))|0;
+ $y = $1331;
+ $1332 = $y;
+ $1333 = $0;
+ $1334 = ((($1333)) + 4128|0);
+ $1335 = ((($1334)) + 12|0);
+ $1336 = HEAP32[$1335>>2]|0;
+ $1337 = (($1332) + ($1336))|0;
+ $1338 = $b;
+ $1339 = $1338 ^ $1337;
+ $b = $1339;
+ $1340 = $b;
+ $1341 = $1340 >>> 1;
+ $1342 = $b;
+ $1343 = $1342 << 31;
+ $1344 = (($1341) + ($1343))|0;
+ $b = $1344;
+ $1345 = $a;
+ $1346 = $1345 << 1;
+ $1347 = $a;
+ $1348 = $1347 >>> 31;
+ $1349 = (($1346) + ($1348))|0;
+ $a = $1349;
+ $1350 = $x;
+ $1351 = $0;
+ $1352 = ((($1351)) + 4128|0);
+ $1353 = ((($1352)) + 8|0);
+ $1354 = HEAP32[$1353>>2]|0;
+ $1355 = (($1350) + ($1354))|0;
+ $1356 = $a;
+ $1357 = $1356 ^ $1355;
+ $a = $1357;
+ $1358 = $a;
+ $1359 = $1358 & 255;
+ $1360 = $0;
+ $1361 = (($1360) + ($1359<<2)|0);
+ $1362 = HEAP32[$1361>>2]|0;
+ $1363 = $a;
+ $1364 = $1363 >>> 8;
+ $1365 = $1364 & 255;
+ $1366 = $0;
+ $1367 = ((($1366)) + 1024|0);
+ $1368 = (($1367) + ($1365<<2)|0);
+ $1369 = HEAP32[$1368>>2]|0;
+ $1370 = $1362 ^ $1369;
+ $1371 = $a;
+ $1372 = $1371 >>> 16;
+ $1373 = $1372 & 255;
+ $1374 = $0;
+ $1375 = ((($1374)) + 2048|0);
+ $1376 = (($1375) + ($1373<<2)|0);
+ $1377 = HEAP32[$1376>>2]|0;
+ $1378 = $1370 ^ $1377;
+ $1379 = $a;
+ $1380 = $1379 >>> 24;
+ $1381 = $0;
+ $1382 = ((($1381)) + 3072|0);
+ $1383 = (($1382) + ($1380<<2)|0);
+ $1384 = HEAP32[$1383>>2]|0;
+ $1385 = $1378 ^ $1384;
+ $x = $1385;
+ $1386 = $b;
+ $1387 = $1386 & 255;
+ $1388 = $0;
+ $1389 = ((($1388)) + 1024|0);
+ $1390 = (($1389) + ($1387<<2)|0);
+ $1391 = HEAP32[$1390>>2]|0;
+ $1392 = $b;
+ $1393 = $1392 >>> 8;
+ $1394 = $1393 & 255;
+ $1395 = $0;
+ $1396 = ((($1395)) + 2048|0);
+ $1397 = (($1396) + ($1394<<2)|0);
+ $1398 = HEAP32[$1397>>2]|0;
+ $1399 = $1391 ^ $1398;
+ $1400 = $b;
+ $1401 = $1400 >>> 16;
+ $1402 = $1401 & 255;
+ $1403 = $0;
+ $1404 = ((($1403)) + 3072|0);
+ $1405 = (($1404) + ($1402<<2)|0);
+ $1406 = HEAP32[$1405>>2]|0;
+ $1407 = $1399 ^ $1406;
+ $1408 = $b;
+ $1409 = $1408 >>> 24;
+ $1410 = $0;
+ $1411 = (($1410) + ($1409<<2)|0);
+ $1412 = HEAP32[$1411>>2]|0;
+ $1413 = $1407 ^ $1412;
+ $y = $1413;
+ $1414 = $y;
+ $1415 = $x;
+ $1416 = (($1415) + ($1414))|0;
+ $x = $1416;
+ $1417 = $x;
+ $1418 = $y;
+ $1419 = (($1418) + ($1417))|0;
+ $y = $1419;
+ $1420 = $y;
+ $1421 = $0;
+ $1422 = ((($1421)) + 4128|0);
+ $1423 = ((($1422)) + 4|0);
+ $1424 = HEAP32[$1423>>2]|0;
+ $1425 = (($1420) + ($1424))|0;
+ $1426 = $d;
+ $1427 = $1426 ^ $1425;
+ $d = $1427;
+ $1428 = $d;
+ $1429 = $1428 >>> 1;
+ $1430 = $d;
+ $1431 = $1430 << 31;
+ $1432 = (($1429) + ($1431))|0;
+ $d = $1432;
+ $1433 = $c;
+ $1434 = $1433 << 1;
+ $1435 = $c;
+ $1436 = $1435 >>> 31;
+ $1437 = (($1434) + ($1436))|0;
+ $c = $1437;
+ $1438 = $x;
+ $1439 = $0;
+ $1440 = ((($1439)) + 4128|0);
+ $1441 = HEAP32[$1440>>2]|0;
+ $1442 = (($1438) + ($1441))|0;
+ $1443 = $c;
+ $1444 = $1443 ^ $1442;
+ $c = $1444;
+ $1445 = $0;
+ $1446 = ((($1445)) + 4096|0);
+ $1447 = HEAP32[$1446>>2]|0;
+ $1448 = $a;
+ $1449 = $1448 ^ $1447;
+ $a = $1449;
+ $1450 = $1;
+ $1451 = $a;
+ _buf_put_le32_1450($1450,$1451);
+ $1452 = $0;
+ $1453 = ((($1452)) + 4096|0);
+ $1454 = ((($1453)) + 4|0);
+ $1455 = HEAP32[$1454>>2]|0;
+ $1456 = $b;
+ $1457 = $1456 ^ $1455;
+ $b = $1457;
+ $1458 = $1;
+ $1459 = ((($1458)) + 4|0);
+ $1460 = $b;
+ _buf_put_le32_1450($1459,$1460);
+ $1461 = $0;
+ $1462 = ((($1461)) + 4096|0);
+ $1463 = ((($1462)) + 8|0);
+ $1464 = HEAP32[$1463>>2]|0;
+ $1465 = $c;
+ $1466 = $1465 ^ $1464;
+ $c = $1466;
+ $1467 = $1;
+ $1468 = ((($1467)) + 8|0);
+ $1469 = $c;
+ _buf_put_le32_1450($1468,$1469);
+ $1470 = $0;
+ $1471 = ((($1470)) + 4096|0);
+ $1472 = ((($1471)) + 12|0);
+ $1473 = HEAP32[$1472>>2]|0;
+ $1474 = $d;
+ $1475 = $1474 ^ $1473;
+ $d = $1475;
+ $1476 = $1;
+ $1477 = ((($1476)) + 12|0);
+ $1478 = $d;
+ _buf_put_le32_1450($1477,$1478);
+ STACKTOP = sp;return;
+}
+function _selftest_ctr() {
+ var $0 = 0, $blocksize = 0, $context_size = 0, $nblocks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nblocks = 4;
+ $blocksize = 16;
+ $context_size = 4256;
+ $0 = (__gcry_selftest_helper_ctr(43465,32,33,66,4,16,4256)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_twofish_ctr_enc($context,$ctr,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $ctr = $ctr|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $burn = 0, $burn_stack_depth = 0, $ctx = 0, $i = 0, $inbuf = 0, $outbuf = 0, $tmpbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmpbuf = sp + 72|0;
+ $_vset_long = sp;
+ $0 = $context;
+ $1 = $ctr;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_stack_depth = 0;
+ while(1) {
+ $8 = $4;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ break;
+ }
+ $10 = $ctx;
+ $11 = $1;
+ $12 = (_twofish_encrypt($10,$tmpbuf,$11)|0);
+ $burn = $12;
+ $13 = $burn;
+ $14 = $burn_stack_depth;
+ $15 = ($13>>>0)>($14>>>0);
+ if ($15) {
+ $16 = $burn;
+ $burn_stack_depth = $16;
+ }
+ $17 = $outbuf;
+ $18 = $inbuf;
+ _buf_xor_1457($17,$tmpbuf,$18,16);
+ $19 = $outbuf;
+ $20 = ((($19)) + 16|0);
+ $outbuf = $20;
+ $21 = $inbuf;
+ $22 = ((($21)) + 16|0);
+ $inbuf = $22;
+ $i = 16;
+ while(1) {
+ $23 = $i;
+ $24 = ($23|0)>(0);
+ if (!($24)) {
+ break;
+ }
+ $25 = $i;
+ $26 = (($25) - 1)|0;
+ $27 = $1;
+ $28 = (($27) + ($26)|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = (($29) + 1)<<24>>24;
+ HEAP8[$28>>0] = $30;
+ $31 = $i;
+ $32 = (($31) - 1)|0;
+ $33 = $1;
+ $34 = (($33) + ($32)|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = ($35<<24>>24)!=(0);
+ if ($36) {
+ break;
+ }
+ $37 = $i;
+ $38 = (($37) + -1)|0;
+ $i = $38;
+ }
+ $39 = $4;
+ $40 = (($39) + -1)|0;
+ $4 = $40;
+ }
+ $_vptr = $tmpbuf;
+ $_vlen = 16;
+ $_vset = 0;
+ $41 = $_vset;
+ $42 = $41&255;
+ $43 = $_vset_long;
+ $44 = $43;
+ HEAP32[$44>>2] = $42;
+ $45 = (($43) + 4)|0;
+ $46 = $45;
+ HEAP32[$46>>2] = 0;
+ while(1) {
+ $47 = $_vptr;
+ $48 = $47;
+ $49 = $48 & 7;
+ $50 = ($49|0)!=(0);
+ $51 = $_vlen;
+ $52 = ($51|0)!=(0);
+ $53 = $50 ? $52 : 0;
+ if (!($53)) {
+ break;
+ }
+ $54 = $_vset;
+ $55 = $_vptr;
+ HEAP8[$55>>0] = $54;
+ $56 = $_vptr;
+ $57 = ((($56)) + 1|0);
+ $_vptr = $57;
+ $58 = $_vlen;
+ $59 = (($58) + -1)|0;
+ $_vlen = $59;
+ }
+ $60 = $_vlen;
+ $61 = ($60>>>0)<(8);
+ if (!($61)) {
+ $62 = $_vset_long;
+ $63 = $62;
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($62) + 4)|0;
+ $66 = $65;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (___muldi3(($64|0),($67|0),16843009,16843009)|0);
+ $69 = tempRet0;
+ $70 = $_vset_long;
+ $71 = $70;
+ HEAP32[$71>>2] = $68;
+ $72 = (($70) + 4)|0;
+ $73 = $72;
+ HEAP32[$73>>2] = $69;
+ while(1) {
+ $74 = $_vptr;
+ $_vptr_long = $74;
+ $75 = $_vset_long;
+ $76 = $75;
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (($75) + 4)|0;
+ $79 = $78;
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $_vptr_long;
+ $82 = $81;
+ $83 = $82;
+ HEAP32[$83>>2] = $77;
+ $84 = (($82) + 4)|0;
+ $85 = $84;
+ HEAP32[$85>>2] = $80;
+ $86 = $_vlen;
+ $87 = (($86) - 8)|0;
+ $_vlen = $87;
+ $88 = $_vptr;
+ $89 = ((($88)) + 8|0);
+ $_vptr = $89;
+ $90 = $_vlen;
+ $91 = ($90>>>0)>=(8);
+ if (!($91)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $92 = $_vlen;
+ $93 = ($92|0)!=(0);
+ if (!($93)) {
+ break;
+ }
+ $94 = $_vset;
+ $95 = $_vptr;
+ HEAP8[$95>>0] = $94;
+ $96 = $_vptr;
+ $97 = ((($96)) + 1|0);
+ $_vptr = $97;
+ $98 = $_vlen;
+ $99 = (($98) + -1)|0;
+ $_vlen = $99;
+ }
+ $100 = $burn_stack_depth;
+ ___gcry_burn_stack($100);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor_1457($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _selftest_cbc() {
+ var $0 = 0, $blocksize = 0, $context_size = 0, $nblocks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nblocks = 5;
+ $blocksize = 16;
+ $context_size = 4256;
+ $0 = (__gcry_selftest_helper_cbc(43465,32,33,64,5,16,4256)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_twofish_cbc_dec($context,$iv,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $iv = $iv|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $burn = 0, $burn_stack_depth = 0, $ctx = 0, $inbuf = 0, $outbuf = 0, $savebuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $savebuf = sp + 64|0;
+ $_vset_long = sp;
+ $0 = $context;
+ $1 = $iv;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_stack_depth = 0;
+ while(1) {
+ $8 = $4;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ break;
+ }
+ $10 = $ctx;
+ $11 = $inbuf;
+ $12 = (_twofish_decrypt($10,$savebuf,$11)|0);
+ $burn = $12;
+ $13 = $burn;
+ $14 = $burn_stack_depth;
+ $15 = ($13>>>0)>($14>>>0);
+ if ($15) {
+ $16 = $burn;
+ $burn_stack_depth = $16;
+ }
+ $17 = $outbuf;
+ $18 = $1;
+ $19 = $inbuf;
+ _buf_xor_n_copy_2_1460($17,$savebuf,$18,$19,16);
+ $20 = $inbuf;
+ $21 = ((($20)) + 16|0);
+ $inbuf = $21;
+ $22 = $outbuf;
+ $23 = ((($22)) + 16|0);
+ $outbuf = $23;
+ $24 = $4;
+ $25 = (($24) + -1)|0;
+ $4 = $25;
+ }
+ $_vptr = $savebuf;
+ $_vlen = 16;
+ $_vset = 0;
+ $26 = $_vset;
+ $27 = $26&255;
+ $28 = $_vset_long;
+ $29 = $28;
+ HEAP32[$29>>2] = $27;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = 0;
+ while(1) {
+ $32 = $_vptr;
+ $33 = $32;
+ $34 = $33 & 7;
+ $35 = ($34|0)!=(0);
+ $36 = $_vlen;
+ $37 = ($36|0)!=(0);
+ $38 = $35 ? $37 : 0;
+ if (!($38)) {
+ break;
+ }
+ $39 = $_vset;
+ $40 = $_vptr;
+ HEAP8[$40>>0] = $39;
+ $41 = $_vptr;
+ $42 = ((($41)) + 1|0);
+ $_vptr = $42;
+ $43 = $_vlen;
+ $44 = (($43) + -1)|0;
+ $_vlen = $44;
+ }
+ $45 = $_vlen;
+ $46 = ($45>>>0)<(8);
+ if (!($46)) {
+ $47 = $_vset_long;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (($47) + 4)|0;
+ $51 = $50;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (___muldi3(($49|0),($52|0),16843009,16843009)|0);
+ $54 = tempRet0;
+ $55 = $_vset_long;
+ $56 = $55;
+ HEAP32[$56>>2] = $53;
+ $57 = (($55) + 4)|0;
+ $58 = $57;
+ HEAP32[$58>>2] = $54;
+ while(1) {
+ $59 = $_vptr;
+ $_vptr_long = $59;
+ $60 = $_vset_long;
+ $61 = $60;
+ $62 = HEAP32[$61>>2]|0;
+ $63 = (($60) + 4)|0;
+ $64 = $63;
+ $65 = HEAP32[$64>>2]|0;
+ $66 = $_vptr_long;
+ $67 = $66;
+ $68 = $67;
+ HEAP32[$68>>2] = $62;
+ $69 = (($67) + 4)|0;
+ $70 = $69;
+ HEAP32[$70>>2] = $65;
+ $71 = $_vlen;
+ $72 = (($71) - 8)|0;
+ $_vlen = $72;
+ $73 = $_vptr;
+ $74 = ((($73)) + 8|0);
+ $_vptr = $74;
+ $75 = $_vlen;
+ $76 = ($75>>>0)>=(8);
+ if (!($76)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $77 = $_vlen;
+ $78 = ($77|0)!=(0);
+ if (!($78)) {
+ break;
+ }
+ $79 = $_vset;
+ $80 = $_vptr;
+ HEAP8[$80>>0] = $79;
+ $81 = $_vptr;
+ $82 = ((($81)) + 1|0);
+ $_vptr = $82;
+ $83 = $_vlen;
+ $84 = (($83) + -1)|0;
+ $_vlen = $84;
+ }
+ $85 = $burn_stack_depth;
+ ___gcry_burn_stack($85);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor_n_copy_2_1460($_dst_xor,$_src_xor,$_srcdst_cpy,$_src_cpy,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_src_xor = $_src_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src_cpy = $_src_cpy|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $dst_xor = 0, $ldst_xor = 0, $longmask = 0, $lsrc_cpy = 0, $lsrc_xor = 0, $lsrcdst_cpy = 0, $ltemp = 0, $src_cpy = 0, $src_xor = 0, $srcdst_cpy = 0, $temp = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_src_xor;
+ $2 = $_srcdst_cpy;
+ $3 = $_src_cpy;
+ $4 = $len;
+ $5 = $0;
+ $dst_xor = $5;
+ $6 = $2;
+ $srcdst_cpy = $6;
+ $7 = $1;
+ $src_xor = $7;
+ $8 = $3;
+ $src_cpy = $8;
+ $longmask = 3;
+ $9 = $src_cpy;
+ $10 = $9;
+ $11 = $src_xor;
+ $12 = $11;
+ $13 = $10 | $12;
+ $14 = $dst_xor;
+ $15 = $14;
+ $16 = $13 | $15;
+ $17 = $srcdst_cpy;
+ $18 = $17;
+ $19 = $16 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ $22 = $dst_xor;
+ $ldst_xor = $22;
+ $23 = $src_xor;
+ $lsrc_xor = $23;
+ $24 = $srcdst_cpy;
+ $lsrcdst_cpy = $24;
+ $25 = $src_cpy;
+ $lsrc_cpy = $25;
+ while(1) {
+ $26 = $4;
+ $27 = ($26>>>0)>=(4);
+ if (!($27)) {
+ break;
+ }
+ $28 = $lsrc_cpy;
+ $29 = ((($28)) + 4|0);
+ $lsrc_cpy = $29;
+ $30 = HEAP32[$28>>2]|0;
+ $ltemp = $30;
+ $31 = $lsrcdst_cpy;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $lsrc_xor;
+ $34 = ((($33)) + 4|0);
+ $lsrc_xor = $34;
+ $35 = HEAP32[$33>>2]|0;
+ $36 = $32 ^ $35;
+ $37 = $ldst_xor;
+ $38 = ((($37)) + 4|0);
+ $ldst_xor = $38;
+ HEAP32[$37>>2] = $36;
+ $39 = $ltemp;
+ $40 = $lsrcdst_cpy;
+ $41 = ((($40)) + 4|0);
+ $lsrcdst_cpy = $41;
+ HEAP32[$40>>2] = $39;
+ $42 = $4;
+ $43 = (($42) - 4)|0;
+ $4 = $43;
+ }
+ $44 = $ldst_xor;
+ $dst_xor = $44;
+ $45 = $lsrc_xor;
+ $src_xor = $45;
+ $46 = $lsrcdst_cpy;
+ $srcdst_cpy = $46;
+ $47 = $lsrc_cpy;
+ $src_cpy = $47;
+ }
+ while(1) {
+ $48 = $4;
+ $49 = ($48|0)!=(0);
+ if (!($49)) {
+ break;
+ }
+ $50 = $src_cpy;
+ $51 = ((($50)) + 1|0);
+ $src_cpy = $51;
+ $52 = HEAP8[$50>>0]|0;
+ $temp = $52;
+ $53 = $srcdst_cpy;
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $src_xor;
+ $57 = ((($56)) + 1|0);
+ $src_xor = $57;
+ $58 = HEAP8[$56>>0]|0;
+ $59 = $58&255;
+ $60 = $55 ^ $59;
+ $61 = $60&255;
+ $62 = $dst_xor;
+ $63 = ((($62)) + 1|0);
+ $dst_xor = $63;
+ HEAP8[$62>>0] = $61;
+ $64 = $temp;
+ $65 = $srcdst_cpy;
+ $66 = ((($65)) + 1|0);
+ $srcdst_cpy = $66;
+ HEAP8[$65>>0] = $64;
+ $67 = $4;
+ $68 = (($67) + -1)|0;
+ $4 = $68;
+ }
+ STACKTOP = sp;return;
+}
+function _selftest_cfb() {
+ var $0 = 0, $blocksize = 0, $context_size = 0, $nblocks = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nblocks = 5;
+ $blocksize = 16;
+ $context_size = 4256;
+ $0 = (__gcry_selftest_helper_cfb(43465,32,33,65,5,16,4256)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function __gcry_twofish_cfb_dec($context,$iv,$outbuf_arg,$inbuf_arg,$nblocks) {
+ $context = $context|0;
+ $iv = $iv|0;
+ $outbuf_arg = $outbuf_arg|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn = 0, $burn_stack_depth = 0, $ctx = 0, $inbuf = 0, $outbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $iv;
+ $2 = $outbuf_arg;
+ $3 = $inbuf_arg;
+ $4 = $nblocks;
+ $5 = $0;
+ $ctx = $5;
+ $6 = $2;
+ $outbuf = $6;
+ $7 = $3;
+ $inbuf = $7;
+ $burn_stack_depth = 0;
+ while(1) {
+ $8 = $4;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ break;
+ }
+ $10 = $ctx;
+ $11 = $1;
+ $12 = $1;
+ $13 = (_twofish_encrypt($10,$11,$12)|0);
+ $burn = $13;
+ $14 = $burn;
+ $15 = $burn_stack_depth;
+ $16 = ($14>>>0)>($15>>>0);
+ if ($16) {
+ $17 = $burn;
+ $burn_stack_depth = $17;
+ }
+ $18 = $outbuf;
+ $19 = $1;
+ $20 = $inbuf;
+ _buf_xor_n_copy_1463($18,$19,$20,16);
+ $21 = $outbuf;
+ $22 = ((($21)) + 16|0);
+ $outbuf = $22;
+ $23 = $inbuf;
+ $24 = ((($23)) + 16|0);
+ $inbuf = $24;
+ $25 = $4;
+ $26 = (($25) + -1)|0;
+ $4 = $26;
+ }
+ $27 = $burn_stack_depth;
+ ___gcry_burn_stack($27);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_xor_n_copy_1463($_dst_xor,$_srcdst_cpy,$_src,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_srcdst_cpy;
+ $2 = $_src;
+ $3 = $len;
+ $4 = $0;
+ $5 = $2;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ _buf_xor_n_copy_2_1460($4,$5,$6,$7,$8);
+ STACKTOP = sp;return;
+}
+function __gcry_register_random_progress($cb,$cb_data) {
+ $cb = $cb|0;
+ $cb_data = $cb_data|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $cb;
+ $1 = $cb_data;
+ $2 = $0;
+ HEAP32[17710] = $2;
+ $3 = $1;
+ HEAP32[17711] = $3;
+ STACKTOP = sp;return;
+}
+function __gcry_random_progress($what,$printchar,$current,$total) {
+ $what = $what|0;
+ $printchar = $printchar|0;
+ $current = $current|0;
+ $total = $total|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $what;
+ $1 = $printchar;
+ $2 = $current;
+ $3 = $total;
+ $4 = HEAP32[17710]|0;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ STACKTOP = sp;return;
+ }
+ $6 = HEAP32[17710]|0;
+ $7 = HEAP32[17711]|0;
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ $11 = $3;
+ FUNCTION_TABLE_viiiii[$6 & 127]($7,$8,$9,$10,$11);
+ STACKTOP = sp;return;
+}
+function __gcry_set_preferred_rng_type($type) {
+ $type = $type|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $type;
+ $1 = $0;
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $3 = $0;
+ $4 = ($3|0)==(1);
+ if ($4) {
+ HEAP32[17713] = 1;
+ break;
+ }
+ $5 = HEAP32[17712]|0;
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ $7 = $0;
+ $8 = ($7|0)==(2);
+ if ($8) {
+ HEAP32[(70856)>>2] = 1;
+ break;
+ }
+ $9 = $0;
+ $10 = ($9|0)==(3);
+ if ($10) {
+ HEAP32[(70860)>>2] = 1;
+ }
+ }
+ } else {
+ HEAP32[17712] = 1;
+ }
+ } while(0);
+ STACKTOP = sp;return;
+}
+function __gcry_random_initialize($full) {
+ $full = $full|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $full;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ do {
+ if ($2) {
+ $3 = $0;
+ __gcry_rngfips_initialize($3);
+ } else {
+ $4 = HEAP32[17713]|0;
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $6 = $0;
+ __gcry_rngcsprng_initialize($6);
+ break;
+ }
+ $7 = HEAP32[(70856)>>2]|0;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = $0;
+ __gcry_rngfips_initialize($9);
+ break;
+ }
+ $10 = HEAP32[(70860)>>2]|0;
+ $11 = ($10|0)!=(0);
+ $12 = $0;
+ if ($11) {
+ __gcry_rngsystem_initialize($12);
+ break;
+ } else {
+ __gcry_rngcsprng_initialize($12);
+ break;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return;
+}
+function __gcry_random_close_fds() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ __gcry_rngfips_close_fds();
+ return;
+ }
+ $2 = HEAP32[17713]|0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ __gcry_rngcsprng_close_fds();
+ return;
+ }
+ $4 = HEAP32[(70856)>>2]|0;
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ __gcry_rngfips_close_fds();
+ return;
+ }
+ $6 = HEAP32[(70860)>>2]|0;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ __gcry_rngsystem_close_fds();
+ return;
+ } else {
+ __gcry_rngcsprng_close_fds();
+ return;
+ }
+}
+function __gcry_get_rng_type($ignore_fips_mode) {
+ $ignore_fips_mode = $ignore_fips_mode|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $ignore_fips_mode;
+ $2 = $1;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ label = 4;
+ } else {
+ $4 = (__gcry_fips_mode()|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $0 = 2;
+ } else {
+ label = 4;
+ }
+ }
+ do {
+ if ((label|0) == 4) {
+ $6 = HEAP32[17713]|0;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $0 = 1;
+ break;
+ }
+ $8 = HEAP32[(70856)>>2]|0;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $0 = 2;
+ break;
+ }
+ $10 = HEAP32[(70860)>>2]|0;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ $0 = 3;
+ break;
+ } else {
+ $0 = 1;
+ break;
+ }
+ }
+ } while(0);
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+}
+function __gcry_random_dump_stats() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ __gcry_rngfips_dump_stats();
+ return;
+ } else {
+ __gcry_rngcsprng_dump_stats();
+ return;
+ }
+}
+function __gcry_secure_random_alloc() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ __gcry_rngcsprng_secure_alloc();
+ return;
+}
+function __gcry_enable_quick_random_gen() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ __gcry_rngcsprng_enable_quick_gen();
+ return;
+}
+function __gcry_set_random_daemon_socket($socketname) {
+ $socketname = $socketname|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $socketname;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ __gcry_rngcsprng_set_daemon_socket($3);
+ STACKTOP = sp;return;
+}
+function __gcry_use_random_daemon($onoff) {
+ $onoff = $onoff|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $onoff;
+ $2 = (__gcry_fips_mode()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $0 = 0;
+ } else {
+ $4 = $1;
+ $5 = (__gcry_rngcsprng_use_daemon($4)|0);
+ $0 = $5;
+ }
+ $6 = $0;
+ STACKTOP = sp;return ($6|0);
+}
+function __gcry_random_is_faked() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = (__gcry_rngfips_is_faked()|0);
+ $0 = $3;
+ } else {
+ $4 = (__gcry_rngcsprng_is_faked()|0);
+ $0 = $4;
+ }
+ $5 = $0;
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_random_bytes($nbytes,$level) {
+ $nbytes = $nbytes|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbytes;
+ $1 = $level;
+ $2 = $0;
+ $3 = (__gcry_xmalloc($2)|0);
+ $buffer = $3;
+ $4 = $buffer;
+ $5 = $0;
+ $6 = $1;
+ _do_randomize($4,$5,$6);
+ $7 = $buffer;
+ STACKTOP = sp;return ($7|0);
+}
+function _do_randomize($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ $3 = (__gcry_fips_mode()|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ __gcry_rngfips_randomize($5,$6,$7);
+ STACKTOP = sp;return;
+ }
+ $8 = HEAP32[17713]|0;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = $0;
+ $11 = $1;
+ $12 = $2;
+ __gcry_rngcsprng_randomize($10,$11,$12);
+ STACKTOP = sp;return;
+ }
+ $13 = HEAP32[(70856)>>2]|0;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $15 = $0;
+ $16 = $1;
+ $17 = $2;
+ __gcry_rngfips_randomize($15,$16,$17);
+ STACKTOP = sp;return;
+ }
+ $18 = HEAP32[(70860)>>2]|0;
+ $19 = ($18|0)!=(0);
+ $20 = $0;
+ $21 = $1;
+ $22 = $2;
+ if ($19) {
+ __gcry_rngsystem_randomize($20,$21,$22);
+ STACKTOP = sp;return;
+ } else {
+ __gcry_rngcsprng_randomize($20,$21,$22);
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_random_bytes_secure($nbytes,$level) {
+ $nbytes = $nbytes|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbytes;
+ $1 = $level;
+ $2 = $0;
+ $3 = (__gcry_xmalloc_secure($2)|0);
+ $buffer = $3;
+ $4 = $buffer;
+ $5 = $0;
+ $6 = $1;
+ _do_randomize($4,$5,$6);
+ $7 = $buffer;
+ STACKTOP = sp;return ($7|0);
+}
+function __gcry_randomize($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ _do_randomize($3,$4,$5);
+ STACKTOP = sp;return;
+}
+function __gcry_set_random_seed_file($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $name;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ do {
+ if (!($2)) {
+ $3 = HEAP32[17713]|0;
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $5 = $0;
+ __gcry_rngcsprng_set_seed_file($5);
+ break;
+ }
+ $6 = HEAP32[(70856)>>2]|0;
+ $7 = ($6|0)!=(0);
+ $8 = HEAP32[(70860)>>2]|0;
+ $9 = ($8|0)!=(0);
+ $or$cond = $7 | $9;
+ if (!($or$cond)) {
+ $10 = $0;
+ __gcry_rngcsprng_set_seed_file($10);
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return;
+}
+function __gcry_update_random_seed_file() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ $2 = HEAP32[17713]|0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ __gcry_rngcsprng_update_seed_file();
+ return;
+ }
+ $4 = HEAP32[(70856)>>2]|0;
+ $5 = ($4|0)!=(0);
+ $6 = HEAP32[(70860)>>2]|0;
+ $7 = ($6|0)!=(0);
+ $or$cond = $5 | $7;
+ if ($or$cond) {
+ return;
+ }
+ __gcry_rngcsprng_update_seed_file();
+ return;
+}
+function __gcry_fast_random_poll() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gcry_fips_mode()|0);
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ $2 = HEAP32[17713]|0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ __gcry_rngcsprng_fast_poll();
+ return;
+ }
+ $4 = HEAP32[(70856)>>2]|0;
+ $5 = ($4|0)!=(0);
+ $6 = HEAP32[(70860)>>2]|0;
+ $7 = ($6|0)!=(0);
+ $or$cond = $5 | $7;
+ if ($or$cond) {
+ return;
+ }
+ __gcry_rngcsprng_fast_poll();
+ return;
+}
+function __gcry_create_nonce($buffer,$length) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $apid = 0, $atime = 0, $err = 0, $n = 0, $p = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $xpid = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $atime = sp + 16|0;
+ $xpid = sp + 12|0;
+ $0 = $buffer;
+ $1 = $length;
+ $2 = (__gcry_fips_mode()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = $0;
+ $5 = $1;
+ __gcry_rngfips_create_nonce($4,$5);
+ STACKTOP = sp;return;
+ }
+ __gcry_random_initialize(1);
+ $6 = (_gpgrt_lock_lock(12536)|0);
+ $err = $6;
+ $7 = $err;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = $err;
+ $10 = (_gpg_strerror($9)|0);
+ HEAP32[$vararg_buffer>>2] = $10;
+ __gcry_log_fatal(45515,$vararg_buffer);
+ // unreachable;
+ }
+ $11 = (_getpid()|0);
+ $apid = $11;
+ $12 = HEAP32[17716]|0;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ $21 = HEAP32[17717]|0;
+ $22 = $apid;
+ $23 = ($21|0)!=($22|0);
+ if ($23) {
+ _do_randomize((76467),8,0);
+ $24 = $apid;
+ HEAP32[17717] = $24;
+ }
+ } else {
+ $14 = (_time((0|0))|0);
+ HEAP32[$atime>>2] = $14;
+ $15 = $apid;
+ HEAP32[$xpid>>2] = $15;
+ $16 = $apid;
+ HEAP32[17717] = $16;
+ $p = 76447;
+ $17 = $p;
+ ;HEAP8[$17>>0]=HEAP8[$xpid>>0]|0;HEAP8[$17+1>>0]=HEAP8[$xpid+1>>0]|0;HEAP8[$17+2>>0]=HEAP8[$xpid+2>>0]|0;HEAP8[$17+3>>0]=HEAP8[$xpid+3>>0]|0;
+ $18 = $p;
+ $19 = ((($18)) + 4|0);
+ $p = $19;
+ $20 = $p;
+ ;HEAP8[$20>>0]=HEAP8[$atime>>0]|0;HEAP8[$20+1>>0]=HEAP8[$atime+1>>0]|0;HEAP8[$20+2>>0]=HEAP8[$atime+2>>0]|0;HEAP8[$20+3>>0]=HEAP8[$atime+3>>0]|0;
+ __gcry_randomize((76467),8,0);
+ HEAP32[17716] = 1;
+ }
+ $25 = $0;
+ $p = $25;
+ while(1) {
+ $26 = $1;
+ $27 = ($26>>>0)>(0);
+ if (!($27)) {
+ break;
+ }
+ __gcry_sha1_hash_buffer(76447,76447,28);
+ $28 = $1;
+ $29 = ($28>>>0)>(20);
+ $30 = $1;
+ $31 = $29 ? 20 : $30;
+ $n = $31;
+ $32 = $p;
+ $33 = $n;
+ _memcpy(($32|0),(76447|0),($33|0))|0;
+ $34 = $n;
+ $35 = $1;
+ $36 = (($35) - ($34))|0;
+ $1 = $36;
+ $37 = $n;
+ $38 = $p;
+ $39 = (($38) + ($37)|0);
+ $p = $39;
+ }
+ $40 = (_gpgrt_lock_unlock(12536)|0);
+ $err = $40;
+ $41 = $err;
+ $42 = ($41|0)!=(0);
+ if ($42) {
+ $43 = $err;
+ $44 = (_gpg_strerror($43)|0);
+ HEAP32[$vararg_buffer1>>2] = $44;
+ __gcry_log_fatal(45560,$vararg_buffer1);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_random_selftest($report) {
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $report;
+ $2 = (__gcry_fips_mode()|0);
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = $1;
+ $5 = (__gcry_rngfips_selftest($4)|0);
+ $0 = $5;
+ } else {
+ $0 = 0;
+ }
+ $6 = $0;
+ STACKTOP = sp;return ($6|0);
+}
+function __gcry_random_init_external_test($r_context,$flags,$key,$keylen,$seed,$seedlen,$dt,$dtlen) {
+ $r_context = $r_context|0;
+ $flags = $flags|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ $seed = $seed|0;
+ $seedlen = $seedlen|0;
+ $dt = $dt|0;
+ $dtlen = $dtlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $r_context;
+ $2 = $flags;
+ $3 = $key;
+ $4 = $keylen;
+ $5 = $seed;
+ $6 = $seedlen;
+ $7 = $dt;
+ $8 = $dtlen;
+ $9 = (__gcry_fips_mode()|0);
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = $1;
+ $12 = $2;
+ $13 = $3;
+ $14 = $4;
+ $15 = $5;
+ $16 = $6;
+ $17 = $7;
+ $18 = $8;
+ $19 = (__gcry_rngfips_init_external_test($11,$12,$13,$14,$15,$16,$17,$18)|0);
+ $0 = $19;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ } else {
+ $0 = 60;
+ $20 = $0;
+ STACKTOP = sp;return ($20|0);
+ }
+ return (0)|0;
+}
+function __gcry_random_run_external_test($context,$buffer,$buflen) {
+ $context = $context|0;
+ $buffer = $buffer|0;
+ $buflen = $buflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $context;
+ $2 = $buffer;
+ $3 = $buflen;
+ $4 = (__gcry_fips_mode()|0);
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = (__gcry_rngfips_run_external_test($6,$7,$8)|0);
+ $0 = $9;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ } else {
+ $0 = 60;
+ $10 = $0;
+ STACKTOP = sp;return ($10|0);
+ }
+ return (0)|0;
+}
+function __gcry_random_deinit_external_test($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = (__gcry_fips_mode()|0);
+ $2 = ($1|0)!=(0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ __gcry_rngfips_deinit_external_test($3);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_point_log($name,$point,$ctx) {
+ $name = $name|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $buf = sp + 32|0;
+ $0 = $name;
+ $1 = $point;
+ $2 = $ctx;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ $5 = $0;
+ if (!($4)) {
+ HEAP32[$vararg_buffer>>2] = $5;
+ (_snprintf($buf,99,45605,$vararg_buffer)|0);
+ __gcry_log_printmpi($buf,0);
+ STACKTOP = sp;return;
+ }
+ HEAP32[$vararg_buffer1>>2] = $5;
+ (_snprintf($buf,99,45610,$vararg_buffer1)|0);
+ $6 = $2;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = (__gcry_mpi_new(0)|0);
+ $x = $8;
+ $9 = (__gcry_mpi_new(0)|0);
+ $y = $9;
+ }
+ $10 = $2;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $x;
+ $13 = $y;
+ $14 = $1;
+ $15 = $2;
+ $16 = (__gcry_mpi_ec_get_affine($12,$13,$14,$15)|0);
+ $17 = ($16|0)!=(0);
+ if ($17) {
+ label = 7;
+ } else {
+ $32 = (_strlen($buf)|0);
+ $33 = (($32) - 1)|0;
+ $34 = (($buf) + ($33)|0);
+ HEAP8[$34>>0] = 120;
+ $35 = $x;
+ __gcry_log_printmpi($buf,$35);
+ $36 = (_strlen($buf)|0);
+ $37 = (($36) - 1)|0;
+ $38 = (($buf) + ($37)|0);
+ HEAP8[$38>>0] = 121;
+ $39 = $y;
+ __gcry_log_printmpi($buf,$39);
+ }
+ } else {
+ label = 7;
+ }
+ if ((label|0) == 7) {
+ $18 = $1;
+ $19 = HEAP32[$18>>2]|0;
+ __gcry_log_printmpi($buf,$19);
+ $20 = (_strlen($buf)|0);
+ $21 = (($20) - 1)|0;
+ $22 = (($buf) + ($21)|0);
+ HEAP8[$22>>0] = 89;
+ $23 = $1;
+ $24 = ((($23)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ __gcry_log_printmpi($buf,$25);
+ $26 = (_strlen($buf)|0);
+ $27 = (($26) - 1)|0;
+ $28 = (($buf) + ($27)|0);
+ HEAP8[$28>>0] = 90;
+ $29 = $1;
+ $30 = ((($29)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ __gcry_log_printmpi($buf,$31);
+ }
+ $40 = $2;
+ $41 = ($40|0)!=(0|0);
+ if (!($41)) {
+ STACKTOP = sp;return;
+ }
+ $42 = $x;
+ __gcry_mpi_release($42);
+ $43 = $y;
+ __gcry_mpi_release($43);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_get_affine($x,$y,$point,$ctx) {
+ $x = $x|0;
+ $y = $y|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $z = 0, $z1 = 0;
+ var $z2 = 0, $z3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $x;
+ $2 = $y;
+ $3 = $point;
+ $4 = $ctx;
+ $5 = $3;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (__gcry_mpi_cmp_ui($7,0)|0);
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $0 = -1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ $10 = $4;
+ $11 = HEAP32[$10>>2]|0;
+ switch ($11|0) {
+ case 0: {
+ $12 = (__gcry_mpi_new(0)|0);
+ $z1 = $12;
+ $13 = (__gcry_mpi_new(0)|0);
+ $z2 = $13;
+ $14 = $z1;
+ $15 = $3;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $4;
+ _ec_invm($14,$17,$18);
+ $19 = $z2;
+ $20 = $z1;
+ $21 = $z1;
+ $22 = $4;
+ _ec_mulm($19,$20,$21,$22);
+ $23 = $1;
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $25 = $1;
+ $26 = $3;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = $z2;
+ $29 = $4;
+ _ec_mulm($25,$27,$28,$29);
+ }
+ $30 = $2;
+ $31 = ($30|0)!=(0|0);
+ if ($31) {
+ $32 = (__gcry_mpi_new(0)|0);
+ $z3 = $32;
+ $33 = $z3;
+ $34 = $z2;
+ $35 = $z1;
+ $36 = $4;
+ _ec_mulm($33,$34,$35,$36);
+ $37 = $2;
+ $38 = $3;
+ $39 = ((($38)) + 4|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $z3;
+ $42 = $4;
+ _ec_mulm($37,$40,$41,$42);
+ $43 = $z3;
+ __gcry_mpi_free($43);
+ }
+ $44 = $z2;
+ __gcry_mpi_free($44);
+ $45 = $z1;
+ __gcry_mpi_free($45);
+ $0 = 0;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ break;
+ }
+ case 1: {
+ $46 = $1;
+ $47 = ($46|0)!=(0|0);
+ if ($47) {
+ $48 = $1;
+ $49 = $3;
+ $50 = HEAP32[$49>>2]|0;
+ (__gcry_mpi_set($48,$50)|0);
+ }
+ $51 = $2;
+ $52 = ($51|0)!=(0|0);
+ if ($52) {
+ HEAP32[$vararg_buffer>>2] = 45706;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 45730;
+ __gcry_log_fatal(45657,$vararg_buffer);
+ // unreachable;
+ }
+ $0 = 0;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ break;
+ }
+ case 2: {
+ $53 = (__gcry_mpi_new(0)|0);
+ $z = $53;
+ $54 = $z;
+ $55 = $3;
+ $56 = ((($55)) + 8|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $4;
+ _ec_invm($54,$57,$58);
+ $59 = $1;
+ $60 = ($59|0)!=(0|0);
+ if ($60) {
+ $61 = $1;
+ $62 = $3;
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $z;
+ $65 = $4;
+ _ec_mulm($61,$63,$64,$65);
+ }
+ $66 = $2;
+ $67 = ($66|0)!=(0|0);
+ if ($67) {
+ $68 = $2;
+ $69 = $3;
+ $70 = ((($69)) + 4|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $z;
+ $73 = $4;
+ _ec_mulm($68,$71,$72,$73);
+ }
+ $74 = $z;
+ __gcry_mpi_release($74);
+ $0 = 0;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ break;
+ }
+ default: {
+ $0 = -1;
+ $75 = $0;
+ STACKTOP = sp;return ($75|0);
+ }
+ }
+ return (0)|0;
+}
+function _ec_invm($x,$a,$ctx) {
+ $x = $x|0;
+ $a = $a|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $x;
+ $1 = $a;
+ $2 = $ctx;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ $6 = ((($5)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (__gcry_mpi_invm($3,$4,$7)|0);
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ STACKTOP = sp;return;
+ }
+ __gcry_log_error(45615,$vararg_buffer);
+ $10 = $1;
+ __gcry_log_printmpi(45649,$10);
+ $11 = $2;
+ $12 = ((($11)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ __gcry_log_printmpi(45653,$13);
+ STACKTOP = sp;return;
+}
+function _ec_mulm($w,$u,$v,$ctx) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $ctx;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ __gcry_mpi_mul($4,$5,$6);
+ $7 = $0;
+ $8 = $3;
+ _ec_mod($7,$8);
+ STACKTOP = sp;return;
+}
+function _ec_mod($w,$ec) {
+ $w = $w|0;
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $ec;
+ $2 = $1;
+ $3 = ((($2)) + 48|0);
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)!=(0|0);
+ $7 = $0;
+ $8 = $0;
+ $9 = $1;
+ if ($6) {
+ $10 = ((($9)) + 48|0);
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ __gcry_mpi_mod_barrett($7,$8,$12);
+ STACKTOP = sp;return;
+ } else {
+ $13 = ((($9)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_mpi_mod($7,$8,$14);
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_mpi_point_new($nbits) {
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = (__gcry_xmalloc(12)|0);
+ $p = $1;
+ $2 = $p;
+ __gcry_mpi_point_init($2);
+ $3 = $p;
+ STACKTOP = sp;return ($3|0);
+}
+function __gcry_mpi_point_init($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = (__gcry_mpi_new(0)|0);
+ $2 = $0;
+ HEAP32[$2>>2] = $1;
+ $3 = (__gcry_mpi_new(0)|0);
+ $4 = $0;
+ $5 = ((($4)) + 4|0);
+ HEAP32[$5>>2] = $3;
+ $6 = (__gcry_mpi_new(0)|0);
+ $7 = $0;
+ $8 = ((($7)) + 8|0);
+ HEAP32[$8>>2] = $6;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_point_release($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ __gcry_mpi_point_free_parts($3);
+ $4 = $0;
+ __gcry_free($4);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_point_free_parts($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ __gcry_mpi_free($2);
+ $3 = $0;
+ HEAP32[$3>>2] = 0;
+ $4 = $0;
+ $5 = ((($4)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ __gcry_mpi_free($6);
+ $7 = $0;
+ $8 = ((($7)) + 4|0);
+ HEAP32[$8>>2] = 0;
+ $9 = $0;
+ $10 = ((($9)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ __gcry_mpi_free($11);
+ $12 = $0;
+ $13 = ((($12)) + 8|0);
+ HEAP32[$13>>2] = 0;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_point_set($point,$x,$y,$z) {
+ $point = $point|0;
+ $x = $x|0;
+ $y = $y|0;
+ $z = $z|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $point;
+ $1 = $x;
+ $2 = $y;
+ $3 = $z;
+ $4 = $0;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $6 = (__gcry_mpi_point_new(0)|0);
+ $0 = $6;
+ }
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ if ($8) {
+ $11 = $1;
+ (__gcry_mpi_set($10,$11)|0);
+ } else {
+ __gcry_mpi_clear($10);
+ }
+ $12 = $2;
+ $13 = ($12|0)!=(0|0);
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ if ($13) {
+ $17 = $2;
+ (__gcry_mpi_set($16,$17)|0);
+ } else {
+ __gcry_mpi_clear($16);
+ }
+ $18 = $3;
+ $19 = ($18|0)!=(0|0);
+ $20 = $0;
+ $21 = ((($20)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ if ($19) {
+ $23 = $3;
+ (__gcry_mpi_set($22,$23)|0);
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ } else {
+ __gcry_mpi_clear($22);
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_point_snatch_set($point,$x,$y,$z) {
+ $point = $point|0;
+ $x = $x|0;
+ $y = $y|0;
+ $z = $z|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $point;
+ $1 = $x;
+ $2 = $y;
+ $3 = $z;
+ $4 = $0;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $6 = (__gcry_mpi_point_new(0)|0);
+ $0 = $6;
+ }
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ if ($8) {
+ $11 = $1;
+ __gcry_mpi_snatch($10,$11);
+ } else {
+ __gcry_mpi_clear($10);
+ }
+ $12 = $2;
+ $13 = ($12|0)!=(0|0);
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ if ($13) {
+ $17 = $2;
+ __gcry_mpi_snatch($16,$17);
+ } else {
+ __gcry_mpi_clear($16);
+ }
+ $18 = $3;
+ $19 = ($18|0)!=(0|0);
+ $20 = $0;
+ $21 = ((($20)) + 8|0);
+ $22 = HEAP32[$21>>2]|0;
+ if ($19) {
+ $23 = $3;
+ __gcry_mpi_snatch($22,$23);
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ } else {
+ __gcry_mpi_clear($22);
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_ec_get_reset($ec) {
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ec;
+ $1 = $0;
+ $2 = ((($1)) + 48|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 & -2;
+ HEAP8[$2>>0] = $4;
+ $5 = $0;
+ $6 = ((($5)) + 48|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 & -3;
+ HEAP8[$6>>0] = $8;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_p_internal_new($model,$dialect,$flags,$p,$a,$b) {
+ $model = $model|0;
+ $dialect = $dialect|0;
+ $flags = $flags|0;
+ $p = $p|0;
+ $a = $a|0;
+ $b = $b|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $model;
+ $1 = $dialect;
+ $2 = $flags;
+ $3 = $p;
+ $4 = $a;
+ $5 = $b;
+ $6 = (__gcry_xcalloc(1,108)|0);
+ $ctx = $6;
+ $7 = $ctx;
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ $11 = $3;
+ $12 = $4;
+ $13 = $5;
+ _ec_p_init($7,$8,$9,$10,$11,$12,$13);
+ $14 = $ctx;
+ STACKTOP = sp;return ($14|0);
+}
+function _ec_p_init($ctx,$model,$dialect,$flags,$p,$a,$b) {
+ $ctx = $ctx|0;
+ $model = $model|0;
+ $dialect = $dialect|0;
+ $flags = $flags|0;
+ $p = $p|0;
+ $a = $a|0;
+ $b = $b|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $model;
+ $2 = $dialect;
+ $3 = $flags;
+ $4 = $p;
+ $5 = $a;
+ $6 = $b;
+ $7 = HEAP32[17718]|0;
+ $8 = ($7|0)!=(0);
+ do {
+ if (!($8)) {
+ $9 = (_getenv((45741|0))|0);
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ HEAP32[17718] = 1;
+ break;
+ } else {
+ HEAP32[17718] = -1;
+ break;
+ }
+ }
+ } while(0);
+ $11 = $1;
+ $12 = $0;
+ HEAP32[$12>>2] = $11;
+ $13 = $2;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ HEAP32[$15>>2] = $13;
+ $16 = $3;
+ $17 = $0;
+ $18 = ((($17)) + 8|0);
+ HEAP32[$18>>2] = $16;
+ $19 = $2;
+ $20 = ($19|0)==(1);
+ if ($20) {
+ $21 = $0;
+ $22 = ((($21)) + 12|0);
+ HEAP32[$22>>2] = 256;
+ } else {
+ $23 = $4;
+ $24 = (__gcry_mpi_get_nbits($23)|0);
+ $25 = $0;
+ $26 = ((($25)) + 12|0);
+ HEAP32[$26>>2] = $24;
+ }
+ $27 = $4;
+ $28 = (__gcry_mpi_copy($27)|0);
+ $29 = $0;
+ $30 = ((($29)) + 16|0);
+ HEAP32[$30>>2] = $28;
+ $31 = $5;
+ $32 = (__gcry_mpi_copy($31)|0);
+ $33 = $0;
+ $34 = ((($33)) + 20|0);
+ HEAP32[$34>>2] = $32;
+ $35 = $6;
+ $36 = (__gcry_mpi_copy($35)|0);
+ $37 = $0;
+ $38 = ((($37)) + 24|0);
+ HEAP32[$38>>2] = $36;
+ $39 = HEAP32[17718]|0;
+ $40 = ($39|0)>(0);
+ if ($40) {
+ $41 = $0;
+ $42 = ((($41)) + 16|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (__gcry_mpi_barrett_init($43,0)|0);
+ $48 = $44;
+ } else {
+ $48 = 0;
+ }
+ $45 = $0;
+ $46 = ((($45)) + 48|0);
+ $47 = ((($46)) + 12|0);
+ HEAP32[$47>>2] = $48;
+ $49 = $0;
+ __gcry_mpi_ec_get_reset($49);
+ $i = 0;
+ while(1) {
+ $50 = $i;
+ $51 = ($50>>>0)<(11);
+ if (!($51)) {
+ break;
+ }
+ $52 = $0;
+ $53 = ((($52)) + 16|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (__gcry_mpi_alloc_like($54)|0);
+ $56 = $i;
+ $57 = $0;
+ $58 = ((($57)) + 48|0);
+ $59 = ((($58)) + 16|0);
+ $60 = (($59) + ($56<<2)|0);
+ HEAP32[$60>>2] = $55;
+ $61 = $i;
+ $62 = (($61) + 1)|0;
+ $i = $62;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_p_new($r_ctx,$model,$dialect,$flags,$p,$a,$b) {
+ $r_ctx = $r_ctx|0;
+ $model = $model|0;
+ $dialect = $dialect|0;
+ $flags = $flags|0;
+ $p = $p|0;
+ $a = $a|0;
+ $b = $b|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, $ec = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $r_ctx;
+ $2 = $model;
+ $3 = $dialect;
+ $4 = $flags;
+ $5 = $p;
+ $6 = $a;
+ $7 = $b;
+ $8 = $1;
+ HEAP32[$8>>2] = 0;
+ $9 = $5;
+ $10 = ($9|0)!=(0|0);
+ $11 = $6;
+ $12 = ($11|0)!=(0|0);
+ $or$cond = $10 & $12;
+ if (!($or$cond)) {
+ $0 = 32816;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ $13 = (__gcry_ctx_alloc(1,108,77)|0);
+ $ctx = $13;
+ $14 = $ctx;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $17 = $ctx;
+ $18 = (__gcry_ctx_get_pointer($17,1)|0);
+ $ec = $18;
+ $19 = $ec;
+ $20 = $2;
+ $21 = $3;
+ $22 = $4;
+ $23 = $5;
+ $24 = $6;
+ $25 = $7;
+ _ec_p_init($19,$20,$21,$22,$23,$24,$25);
+ $26 = $ctx;
+ $27 = $1;
+ HEAP32[$27>>2] = $26;
+ $0 = 0;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ } else {
+ $16 = (_gpg_err_code_from_syserror()|0);
+ $0 = $16;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ return (0)|0;
+}
+function _ec_deinit($opaque) {
+ $opaque = $opaque|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, $i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $opaque;
+ $1 = $0;
+ $ctx = $1;
+ $2 = $ctx;
+ $3 = ((($2)) + 48|0);
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ __gcry_mpi_barrett_free($5);
+ $6 = $ctx;
+ $7 = ((($6)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($8);
+ $9 = $ctx;
+ $10 = ((($9)) + 20|0);
+ $11 = HEAP32[$10>>2]|0;
+ __gcry_mpi_free($11);
+ $12 = $ctx;
+ $13 = ((($12)) + 24|0);
+ $14 = HEAP32[$13>>2]|0;
+ __gcry_mpi_free($14);
+ $15 = $ctx;
+ $16 = ((($15)) + 28|0);
+ $17 = HEAP32[$16>>2]|0;
+ __gcry_mpi_point_release($17);
+ $18 = $ctx;
+ $19 = ((($18)) + 32|0);
+ $20 = HEAP32[$19>>2]|0;
+ __gcry_mpi_free($20);
+ $21 = $ctx;
+ $22 = ((($21)) + 36|0);
+ $23 = HEAP32[$22>>2]|0;
+ __gcry_mpi_free($23);
+ $24 = $ctx;
+ $25 = ((($24)) + 40|0);
+ $26 = HEAP32[$25>>2]|0;
+ __gcry_mpi_point_release($26);
+ $27 = $ctx;
+ $28 = ((($27)) + 44|0);
+ $29 = HEAP32[$28>>2]|0;
+ __gcry_mpi_free($29);
+ $30 = $ctx;
+ $31 = ((($30)) + 48|0);
+ $32 = ((($31)) + 8|0);
+ $33 = HEAP32[$32>>2]|0;
+ __gcry_mpi_free($33);
+ $i = 0;
+ while(1) {
+ $34 = $i;
+ $35 = ($34>>>0)<(11);
+ if (!($35)) {
+ break;
+ }
+ $36 = $i;
+ $37 = $ctx;
+ $38 = ((($37)) + 48|0);
+ $39 = ((($38)) + 16|0);
+ $40 = (($39) + ($36<<2)|0);
+ $41 = HEAP32[$40>>2]|0;
+ __gcry_mpi_free($41);
+ $42 = $i;
+ $43 = (($42) + 1)|0;
+ $i = $43;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_free($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ _ec_deinit($3);
+ $4 = $0;
+ __gcry_free($4);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_get_mpi($name,$ctx,$copy) {
+ $name = $name|0;
+ $ctx = $ctx|0;
+ $copy = $copy|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $name;
+ $1 = $ctx;
+ $2 = $copy;
+ $3 = $1;
+ $4 = (__gcry_ctx_get_pointer($3,1)|0);
+ $ec = $4;
+ $5 = $0;
+ $6 = $ec;
+ $7 = $2;
+ $8 = (__gcry_ecc_get_mpi($5,$6,$7)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function __gcry_mpi_ec_get_point($name,$ctx,$copy) {
+ $name = $name|0;
+ $ctx = $ctx|0;
+ $copy = $copy|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $name;
+ $1 = $ctx;
+ $2 = $copy;
+ $3 = $1;
+ $4 = (__gcry_ctx_get_pointer($3,1)|0);
+ $ec = $4;
+ $5 = $0;
+ $6 = $ec;
+ $7 = (__gcry_ecc_get_point($5,$6)|0);
+ STACKTOP = sp;return ($7|0);
+}
+function __gcry_mpi_ec_dup_point($result,$point,$ctx) {
+ $result = $result|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $point;
+ $2 = $ctx;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ switch ($4|0) {
+ case 0: {
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ _dup_point_weierstrass($5,$6,$7);
+ break;
+ }
+ case 1: {
+ $8 = $0;
+ $9 = $1;
+ $10 = $2;
+ _dup_point_montgomery($8,$9,$10);
+ break;
+ }
+ case 2: {
+ $11 = $0;
+ $12 = $1;
+ $13 = $2;
+ _dup_point_edwards($11,$12,$13);
+ break;
+ }
+ default: {
+ }
+ }
+ STACKTOP = sp;return;
+}
+function _dup_point_weierstrass($result,$point,$ctx) {
+ $result = $result|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $point;
+ $2 = $ctx;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_mpi_cmp_ui($5,0)|0);
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $1;
+ $9 = ((($8)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_mpi_cmp_ui($10,0)|0);
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $21 = $2;
+ $22 = (_ec_get_a_is_pminus3($21)|0);
+ $23 = ($22|0)!=(0);
+ $24 = $2;
+ $25 = ((($24)) + 48|0);
+ $26 = ((($25)) + 16|0);
+ if ($23) {
+ $27 = HEAP32[$26>>2]|0;
+ $28 = $1;
+ $29 = ((($28)) + 8|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $2;
+ _ec_pow2($27,$30,$31);
+ $32 = $2;
+ $33 = ((($32)) + 48|0);
+ $34 = ((($33)) + 16|0);
+ $35 = ((($34)) + 12|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $1;
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $2;
+ $40 = ((($39)) + 48|0);
+ $41 = ((($40)) + 16|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $2;
+ _ec_subm($36,$38,$42,$43);
+ $44 = $2;
+ $45 = ((($44)) + 48|0);
+ $46 = ((($45)) + 16|0);
+ $47 = ((($46)) + 12|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $2;
+ $50 = ((($49)) + 48|0);
+ $51 = ((($50)) + 16|0);
+ $52 = ((($51)) + 12|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (__gcry_mpi_const(3)|0);
+ $55 = $2;
+ _ec_mulm($48,$53,$54,$55);
+ $56 = $2;
+ $57 = ((($56)) + 48|0);
+ $58 = ((($57)) + 16|0);
+ $59 = ((($58)) + 4|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $1;
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $2;
+ $64 = ((($63)) + 48|0);
+ $65 = ((($64)) + 16|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = $2;
+ _ec_addm($60,$62,$66,$67);
+ $68 = $2;
+ $69 = ((($68)) + 48|0);
+ $70 = ((($69)) + 16|0);
+ $71 = ((($70)) + 12|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $2;
+ $74 = ((($73)) + 48|0);
+ $75 = ((($74)) + 16|0);
+ $76 = ((($75)) + 12|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = $2;
+ $79 = ((($78)) + 48|0);
+ $80 = ((($79)) + 16|0);
+ $81 = ((($80)) + 4|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = $2;
+ _ec_mulm($72,$77,$82,$83);
+ } else {
+ $84 = ((($26)) + 12|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = $1;
+ $87 = HEAP32[$86>>2]|0;
+ $88 = $2;
+ _ec_pow2($85,$87,$88);
+ $89 = $2;
+ $90 = ((($89)) + 48|0);
+ $91 = ((($90)) + 16|0);
+ $92 = ((($91)) + 12|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = $2;
+ $95 = ((($94)) + 48|0);
+ $96 = ((($95)) + 16|0);
+ $97 = ((($96)) + 12|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (__gcry_mpi_const(3)|0);
+ $100 = $2;
+ _ec_mulm($93,$98,$99,$100);
+ $101 = $2;
+ $102 = ((($101)) + 48|0);
+ $103 = ((($102)) + 16|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = $1;
+ $106 = ((($105)) + 8|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = (__gcry_mpi_const(4)|0);
+ $109 = $2;
+ _ec_powm($104,$107,$108,$109);
+ $110 = $2;
+ $111 = ((($110)) + 48|0);
+ $112 = ((($111)) + 16|0);
+ $113 = HEAP32[$112>>2]|0;
+ $114 = $2;
+ $115 = ((($114)) + 48|0);
+ $116 = ((($115)) + 16|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = $2;
+ $119 = ((($118)) + 20|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $2;
+ _ec_mulm($113,$117,$120,$121);
+ $122 = $2;
+ $123 = ((($122)) + 48|0);
+ $124 = ((($123)) + 16|0);
+ $125 = ((($124)) + 12|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = $2;
+ $128 = ((($127)) + 48|0);
+ $129 = ((($128)) + 16|0);
+ $130 = ((($129)) + 12|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = $2;
+ $133 = ((($132)) + 48|0);
+ $134 = ((($133)) + 16|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $2;
+ _ec_addm($126,$131,$135,$136);
+ }
+ $137 = $0;
+ $138 = ((($137)) + 8|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = $1;
+ $141 = ((($140)) + 4|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $1;
+ $144 = ((($143)) + 8|0);
+ $145 = HEAP32[$144>>2]|0;
+ $146 = $2;
+ _ec_mulm($139,$142,$145,$146);
+ $147 = $0;
+ $148 = ((($147)) + 8|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = $0;
+ $151 = ((($150)) + 8|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $2;
+ _ec_mul2($149,$152,$153);
+ $154 = $2;
+ $155 = ((($154)) + 48|0);
+ $156 = ((($155)) + 16|0);
+ $157 = ((($156)) + 4|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = $1;
+ $160 = ((($159)) + 4|0);
+ $161 = HEAP32[$160>>2]|0;
+ $162 = $2;
+ _ec_pow2($158,$161,$162);
+ $163 = $2;
+ $164 = ((($163)) + 48|0);
+ $165 = ((($164)) + 16|0);
+ $166 = ((($165)) + 16|0);
+ $167 = HEAP32[$166>>2]|0;
+ $168 = $2;
+ $169 = ((($168)) + 48|0);
+ $170 = ((($169)) + 16|0);
+ $171 = ((($170)) + 4|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = $1;
+ $174 = HEAP32[$173>>2]|0;
+ $175 = $2;
+ _ec_mulm($167,$172,$174,$175);
+ $176 = $2;
+ $177 = ((($176)) + 48|0);
+ $178 = ((($177)) + 16|0);
+ $179 = ((($178)) + 16|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = $2;
+ $182 = ((($181)) + 48|0);
+ $183 = ((($182)) + 16|0);
+ $184 = ((($183)) + 16|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = (__gcry_mpi_const(4)|0);
+ $187 = $2;
+ _ec_mulm($180,$185,$186,$187);
+ $188 = $0;
+ $189 = HEAP32[$188>>2]|0;
+ $190 = $2;
+ $191 = ((($190)) + 48|0);
+ $192 = ((($191)) + 16|0);
+ $193 = ((($192)) + 12|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = $2;
+ _ec_pow2($189,$194,$195);
+ $196 = $2;
+ $197 = ((($196)) + 48|0);
+ $198 = ((($197)) + 16|0);
+ $199 = HEAP32[$198>>2]|0;
+ $200 = $2;
+ $201 = ((($200)) + 48|0);
+ $202 = ((($201)) + 16|0);
+ $203 = ((($202)) + 16|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = $2;
+ _ec_mul2($199,$204,$205);
+ $206 = $0;
+ $207 = HEAP32[$206>>2]|0;
+ $208 = $0;
+ $209 = HEAP32[$208>>2]|0;
+ $210 = $2;
+ $211 = ((($210)) + 48|0);
+ $212 = ((($211)) + 16|0);
+ $213 = HEAP32[$212>>2]|0;
+ $214 = $2;
+ _ec_subm($207,$209,$213,$214);
+ $215 = $2;
+ $216 = ((($215)) + 48|0);
+ $217 = ((($216)) + 16|0);
+ $218 = ((($217)) + 4|0);
+ $219 = HEAP32[$218>>2]|0;
+ $220 = $2;
+ $221 = ((($220)) + 48|0);
+ $222 = ((($221)) + 16|0);
+ $223 = ((($222)) + 4|0);
+ $224 = HEAP32[$223>>2]|0;
+ $225 = $2;
+ _ec_pow2($219,$224,$225);
+ $226 = $2;
+ $227 = ((($226)) + 48|0);
+ $228 = ((($227)) + 16|0);
+ $229 = ((($228)) + 20|0);
+ $230 = HEAP32[$229>>2]|0;
+ $231 = $2;
+ $232 = ((($231)) + 48|0);
+ $233 = ((($232)) + 16|0);
+ $234 = ((($233)) + 4|0);
+ $235 = HEAP32[$234>>2]|0;
+ $236 = (__gcry_mpi_const(5)|0);
+ $237 = $2;
+ _ec_mulm($230,$235,$236,$237);
+ $238 = $0;
+ $239 = ((($238)) + 4|0);
+ $240 = HEAP32[$239>>2]|0;
+ $241 = $2;
+ $242 = ((($241)) + 48|0);
+ $243 = ((($242)) + 16|0);
+ $244 = ((($243)) + 16|0);
+ $245 = HEAP32[$244>>2]|0;
+ $246 = $0;
+ $247 = HEAP32[$246>>2]|0;
+ $248 = $2;
+ _ec_subm($240,$245,$247,$248);
+ $249 = $0;
+ $250 = ((($249)) + 4|0);
+ $251 = HEAP32[$250>>2]|0;
+ $252 = $0;
+ $253 = ((($252)) + 4|0);
+ $254 = HEAP32[$253>>2]|0;
+ $255 = $2;
+ $256 = ((($255)) + 48|0);
+ $257 = ((($256)) + 16|0);
+ $258 = ((($257)) + 12|0);
+ $259 = HEAP32[$258>>2]|0;
+ $260 = $2;
+ _ec_mulm($251,$254,$259,$260);
+ $261 = $0;
+ $262 = ((($261)) + 4|0);
+ $263 = HEAP32[$262>>2]|0;
+ $264 = $0;
+ $265 = ((($264)) + 4|0);
+ $266 = HEAP32[$265>>2]|0;
+ $267 = $2;
+ $268 = ((($267)) + 48|0);
+ $269 = ((($268)) + 16|0);
+ $270 = ((($269)) + 20|0);
+ $271 = HEAP32[$270>>2]|0;
+ $272 = $2;
+ _ec_subm($263,$266,$271,$272);
+ STACKTOP = sp;return;
+ }
+ }
+ $13 = $0;
+ $14 = HEAP32[$13>>2]|0;
+ (__gcry_mpi_set_ui($14,1)|0);
+ $15 = $0;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set_ui($17,1)|0);
+ $18 = $0;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ (__gcry_mpi_set_ui($20,0)|0);
+ STACKTOP = sp;return;
+}
+function _ec_get_a_is_pminus3($ec) {
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ec;
+ $1 = $0;
+ $2 = ((($1)) + 48|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 & 1;
+ $5 = $4&255;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $32 = $0;
+ $33 = ((($32)) + 48|0);
+ $34 = ((($33)) + 4|0);
+ $35 = HEAP32[$34>>2]|0;
+ STACKTOP = sp;return ($35|0);
+ }
+ $7 = $0;
+ $8 = ((($7)) + 48|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & -2;
+ $11 = $10 | 1;
+ HEAP8[$8>>0] = $11;
+ $12 = $0;
+ $13 = ((($12)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (__gcry_mpi_alloc_like($14)|0);
+ $tmp = $15;
+ $16 = $tmp;
+ $17 = $0;
+ $18 = ((($17)) + 16|0);
+ $19 = HEAP32[$18>>2]|0;
+ __gcry_mpi_sub_ui($16,$19,3);
+ $20 = $0;
+ $21 = ((($20)) + 20|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $tmp;
+ $24 = (__gcry_mpi_cmp($22,$23)|0);
+ $25 = ($24|0)!=(0);
+ $26 = $25 ^ 1;
+ $27 = $26&1;
+ $28 = $0;
+ $29 = ((($28)) + 48|0);
+ $30 = ((($29)) + 4|0);
+ HEAP32[$30>>2] = $27;
+ $31 = $tmp;
+ __gcry_mpi_free($31);
+ $32 = $0;
+ $33 = ((($32)) + 48|0);
+ $34 = ((($33)) + 4|0);
+ $35 = HEAP32[$34>>2]|0;
+ STACKTOP = sp;return ($35|0);
+}
+function _ec_pow2($w,$b,$ctx) {
+ $w = $w|0;
+ $b = $b|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $b;
+ $2 = $ctx;
+ $3 = $0;
+ $4 = $1;
+ $5 = $1;
+ $6 = $2;
+ _ec_mulm($3,$4,$5,$6);
+ STACKTOP = sp;return;
+}
+function _ec_subm($w,$u,$v,$ec) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $ec;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ __gcry_mpi_sub($4,$5,$6);
+ STACKTOP = sp;return;
+}
+function _ec_addm($w,$u,$v,$ctx) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $ctx;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ __gcry_mpi_add($4,$5,$6);
+ $7 = $0;
+ $8 = $3;
+ _ec_mod($7,$8);
+ STACKTOP = sp;return;
+}
+function _ec_powm($w,$b,$e,$ctx) {
+ $w = $w|0;
+ $b = $b|0;
+ $e = $e|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $b;
+ $2 = $e;
+ $3 = $ctx;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = ((($7)) + 16|0);
+ $9 = HEAP32[$8>>2]|0;
+ __gcry_mpi_powm($4,$5,$6,$9);
+ STACKTOP = sp;return;
+}
+function _ec_mul2($w,$u,$ctx) {
+ $w = $w|0;
+ $u = $u|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $ctx;
+ $3 = $0;
+ $4 = $1;
+ __gcry_mpi_lshift($3,$4,1);
+ $5 = $0;
+ $6 = $2;
+ _ec_mod($5,$6);
+ STACKTOP = sp;return;
+}
+function _dup_point_montgomery($result,$point,$ctx) {
+ $result = $result|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $result;
+ $1 = $point;
+ $2 = $ctx;
+ HEAP32[$vararg_buffer>>2] = 45782;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 45730;
+ __gcry_log_fatal(45756,$vararg_buffer);
+ // unreachable;
+}
+function _dup_point_edwards($result,$point,$ctx) {
+ $result = $result|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $point;
+ $2 = $ctx;
+ $3 = $2;
+ $4 = ((($3)) + 48|0);
+ $5 = ((($4)) + 16|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $1;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $1;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $2;
+ _ec_addm($6,$8,$11,$12);
+ $13 = $2;
+ $14 = ((($13)) + 48|0);
+ $15 = ((($14)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $2;
+ $18 = ((($17)) + 48|0);
+ $19 = ((($18)) + 16|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $2;
+ _ec_pow2($16,$20,$21);
+ $22 = $2;
+ $23 = ((($22)) + 48|0);
+ $24 = ((($23)) + 16|0);
+ $25 = ((($24)) + 4|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $1;
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $2;
+ _ec_pow2($26,$28,$29);
+ $30 = $2;
+ $31 = ((($30)) + 48|0);
+ $32 = ((($31)) + 16|0);
+ $33 = ((($32)) + 8|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $1;
+ $36 = ((($35)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = $2;
+ _ec_pow2($34,$37,$38);
+ $39 = $2;
+ $40 = ((($39)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)==(1);
+ $43 = $2;
+ $44 = ((($43)) + 48|0);
+ $45 = ((($44)) + 16|0);
+ $46 = ((($45)) + 12|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $2;
+ if ($42) {
+ $49 = ((($48)) + 48|0);
+ $50 = ((($49)) + 16|0);
+ $51 = ((($50)) + 4|0);
+ $52 = HEAP32[$51>>2]|0;
+ (__gcry_mpi_set($47,$52)|0);
+ $53 = $2;
+ $54 = ((($53)) + 48|0);
+ $55 = ((($54)) + 16|0);
+ $56 = ((($55)) + 12|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $2;
+ $59 = ((($58)) + 48|0);
+ $60 = ((($59)) + 16|0);
+ $61 = ((($60)) + 12|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_neg($57,$62);
+ } else {
+ $63 = ((($48)) + 20|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = $2;
+ $66 = ((($65)) + 48|0);
+ $67 = ((($66)) + 16|0);
+ $68 = ((($67)) + 4|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = $2;
+ _ec_mulm($47,$64,$69,$70);
+ }
+ $71 = $2;
+ $72 = ((($71)) + 48|0);
+ $73 = ((($72)) + 16|0);
+ $74 = ((($73)) + 16|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $2;
+ $77 = ((($76)) + 48|0);
+ $78 = ((($77)) + 16|0);
+ $79 = ((($78)) + 12|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $2;
+ $82 = ((($81)) + 48|0);
+ $83 = ((($82)) + 16|0);
+ $84 = ((($83)) + 8|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = $2;
+ _ec_addm($75,$80,$85,$86);
+ $87 = $2;
+ $88 = ((($87)) + 48|0);
+ $89 = ((($88)) + 16|0);
+ $90 = ((($89)) + 20|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = $1;
+ $93 = ((($92)) + 8|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = $2;
+ _ec_pow2($91,$94,$95);
+ $96 = $2;
+ $97 = ((($96)) + 48|0);
+ $98 = ((($97)) + 16|0);
+ $99 = ((($98)) + 24|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = $2;
+ $102 = ((($101)) + 48|0);
+ $103 = ((($102)) + 16|0);
+ $104 = ((($103)) + 20|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = $2;
+ _ec_mul2($100,$105,$106);
+ $107 = $2;
+ $108 = ((($107)) + 48|0);
+ $109 = ((($108)) + 16|0);
+ $110 = ((($109)) + 24|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = $2;
+ $113 = ((($112)) + 48|0);
+ $114 = ((($113)) + 16|0);
+ $115 = ((($114)) + 16|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = $2;
+ $118 = ((($117)) + 48|0);
+ $119 = ((($118)) + 16|0);
+ $120 = ((($119)) + 24|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = $2;
+ _ec_subm($111,$116,$121,$122);
+ $123 = $0;
+ $124 = HEAP32[$123>>2]|0;
+ $125 = $2;
+ $126 = ((($125)) + 48|0);
+ $127 = ((($126)) + 16|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = $2;
+ $130 = ((($129)) + 48|0);
+ $131 = ((($130)) + 16|0);
+ $132 = ((($131)) + 4|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = $2;
+ _ec_subm($124,$128,$133,$134);
+ $135 = $0;
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $0;
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $2;
+ $140 = ((($139)) + 48|0);
+ $141 = ((($140)) + 16|0);
+ $142 = ((($141)) + 8|0);
+ $143 = HEAP32[$142>>2]|0;
+ $144 = $2;
+ _ec_subm($136,$138,$143,$144);
+ $145 = $0;
+ $146 = HEAP32[$145>>2]|0;
+ $147 = $0;
+ $148 = HEAP32[$147>>2]|0;
+ $149 = $2;
+ $150 = ((($149)) + 48|0);
+ $151 = ((($150)) + 16|0);
+ $152 = ((($151)) + 24|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $2;
+ _ec_mulm($146,$148,$153,$154);
+ $155 = $0;
+ $156 = ((($155)) + 4|0);
+ $157 = HEAP32[$156>>2]|0;
+ $158 = $2;
+ $159 = ((($158)) + 48|0);
+ $160 = ((($159)) + 16|0);
+ $161 = ((($160)) + 12|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = $2;
+ $164 = ((($163)) + 48|0);
+ $165 = ((($164)) + 16|0);
+ $166 = ((($165)) + 8|0);
+ $167 = HEAP32[$166>>2]|0;
+ $168 = $2;
+ _ec_subm($157,$162,$167,$168);
+ $169 = $0;
+ $170 = ((($169)) + 4|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = $0;
+ $173 = ((($172)) + 4|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = $2;
+ $176 = ((($175)) + 48|0);
+ $177 = ((($176)) + 16|0);
+ $178 = ((($177)) + 16|0);
+ $179 = HEAP32[$178>>2]|0;
+ $180 = $2;
+ _ec_mulm($171,$174,$179,$180);
+ $181 = $0;
+ $182 = ((($181)) + 8|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = $2;
+ $185 = ((($184)) + 48|0);
+ $186 = ((($185)) + 16|0);
+ $187 = ((($186)) + 16|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $2;
+ $190 = ((($189)) + 48|0);
+ $191 = ((($190)) + 16|0);
+ $192 = ((($191)) + 24|0);
+ $193 = HEAP32[$192>>2]|0;
+ $194 = $2;
+ _ec_mulm($183,$188,$193,$194);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_add_points($result,$p1,$p2,$ctx) {
+ $result = $result|0;
+ $p1 = $p1|0;
+ $p2 = $p2|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $p1;
+ $2 = $p2;
+ $3 = $ctx;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ switch ($5|0) {
+ case 0: {
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = $3;
+ _add_points_weierstrass($6,$7,$8,$9);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 1: {
+ $10 = $0;
+ $11 = $1;
+ $12 = $2;
+ $13 = $3;
+ _add_points_montgomery($10,$11,$12,$13);
+ STACKTOP = sp;return;
+ break;
+ }
+ case 2: {
+ $14 = $0;
+ $15 = $1;
+ $16 = $2;
+ $17 = $3;
+ _add_points_edwards($14,$15,$16,$17);
+ STACKTOP = sp;return;
+ break;
+ }
+ default: {
+ STACKTOP = sp;return;
+ }
+ }
+}
+function _add_points_weierstrass($result,$p1,$p2,$ctx) {
+ $result = $result|0;
+ $p1 = $p1|0;
+ $p2 = $p2|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
+ var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $z1_is_one = 0, $z2_is_one = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $p1;
+ $2 = $p2;
+ $3 = $ctx;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $2;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (__gcry_mpi_cmp($5,$7)|0);
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $10 = $1;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $2;
+ $14 = ((($13)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (__gcry_mpi_cmp($12,$15)|0);
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ $18 = $1;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $2;
+ $22 = ((($21)) + 8|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (__gcry_mpi_cmp($20,$23)|0);
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ $26 = $0;
+ $27 = $1;
+ $28 = $3;
+ __gcry_mpi_ec_dup_point($26,$27,$28);
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ $29 = $1;
+ $30 = ((($29)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (__gcry_mpi_cmp_ui($31,0)|0);
+ $33 = ($32|0)!=(0);
+ if (!($33)) {
+ $34 = $0;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $2;
+ $37 = HEAP32[$36>>2]|0;
+ (__gcry_mpi_set($35,$37)|0);
+ $38 = $0;
+ $39 = ((($38)) + 4|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $2;
+ $42 = ((($41)) + 4|0);
+ $43 = HEAP32[$42>>2]|0;
+ (__gcry_mpi_set($40,$43)|0);
+ $44 = $0;
+ $45 = ((($44)) + 8|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $2;
+ $48 = ((($47)) + 8|0);
+ $49 = HEAP32[$48>>2]|0;
+ (__gcry_mpi_set($46,$49)|0);
+ STACKTOP = sp;return;
+ }
+ $50 = $2;
+ $51 = ((($50)) + 8|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (__gcry_mpi_cmp_ui($52,0)|0);
+ $54 = ($53|0)!=(0);
+ if (!($54)) {
+ $55 = $0;
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $1;
+ $58 = HEAP32[$57>>2]|0;
+ (__gcry_mpi_set($56,$58)|0);
+ $59 = $0;
+ $60 = ((($59)) + 4|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = $1;
+ $63 = ((($62)) + 4|0);
+ $64 = HEAP32[$63>>2]|0;
+ (__gcry_mpi_set($61,$64)|0);
+ $65 = $0;
+ $66 = ((($65)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = $1;
+ $69 = ((($68)) + 8|0);
+ $70 = HEAP32[$69>>2]|0;
+ (__gcry_mpi_set($67,$70)|0);
+ STACKTOP = sp;return;
+ }
+ $71 = $1;
+ $72 = ((($71)) + 8|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (__gcry_mpi_cmp_ui($73,1)|0);
+ $75 = ($74|0)!=(0);
+ $76 = $75 ^ 1;
+ $77 = $76&1;
+ $z1_is_one = $77;
+ $78 = $2;
+ $79 = ((($78)) + 8|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = (__gcry_mpi_cmp_ui($80,1)|0);
+ $82 = ($81|0)!=(0);
+ $83 = $82 ^ 1;
+ $84 = $83&1;
+ $z2_is_one = $84;
+ $85 = $z2_is_one;
+ $86 = ($85|0)!=(0);
+ $87 = $3;
+ $88 = ((($87)) + 48|0);
+ $89 = ((($88)) + 16|0);
+ $90 = HEAP32[$89>>2]|0;
+ if ($86) {
+ $91 = $1;
+ $92 = HEAP32[$91>>2]|0;
+ (__gcry_mpi_set($90,$92)|0);
+ } else {
+ $93 = $2;
+ $94 = ((($93)) + 8|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = $3;
+ _ec_pow2($90,$95,$96);
+ $97 = $3;
+ $98 = ((($97)) + 48|0);
+ $99 = ((($98)) + 16|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = $3;
+ $102 = ((($101)) + 48|0);
+ $103 = ((($102)) + 16|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = $1;
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $3;
+ _ec_mulm($100,$104,$106,$107);
+ }
+ $108 = $z1_is_one;
+ $109 = ($108|0)!=(0);
+ $110 = $3;
+ $111 = ((($110)) + 48|0);
+ $112 = ((($111)) + 16|0);
+ $113 = ((($112)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ if ($109) {
+ $115 = $2;
+ $116 = HEAP32[$115>>2]|0;
+ (__gcry_mpi_set($114,$116)|0);
+ } else {
+ $117 = $1;
+ $118 = ((($117)) + 8|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = $3;
+ _ec_pow2($114,$119,$120);
+ $121 = $3;
+ $122 = ((($121)) + 48|0);
+ $123 = ((($122)) + 16|0);
+ $124 = ((($123)) + 4|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = $3;
+ $127 = ((($126)) + 48|0);
+ $128 = ((($127)) + 16|0);
+ $129 = ((($128)) + 4|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = $2;
+ $132 = HEAP32[$131>>2]|0;
+ $133 = $3;
+ _ec_mulm($125,$130,$132,$133);
+ }
+ $134 = $3;
+ $135 = ((($134)) + 48|0);
+ $136 = ((($135)) + 16|0);
+ $137 = ((($136)) + 8|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $3;
+ $140 = ((($139)) + 48|0);
+ $141 = ((($140)) + 16|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $3;
+ $144 = ((($143)) + 48|0);
+ $145 = ((($144)) + 16|0);
+ $146 = ((($145)) + 4|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $3;
+ _ec_subm($138,$142,$147,$148);
+ $149 = $3;
+ $150 = ((($149)) + 48|0);
+ $151 = ((($150)) + 16|0);
+ $152 = ((($151)) + 12|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $2;
+ $155 = ((($154)) + 8|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = (__gcry_mpi_const(3)|0);
+ $158 = $3;
+ _ec_powm($153,$156,$157,$158);
+ $159 = $3;
+ $160 = ((($159)) + 48|0);
+ $161 = ((($160)) + 16|0);
+ $162 = ((($161)) + 12|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = $3;
+ $165 = ((($164)) + 48|0);
+ $166 = ((($165)) + 16|0);
+ $167 = ((($166)) + 12|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = $1;
+ $170 = ((($169)) + 4|0);
+ $171 = HEAP32[$170>>2]|0;
+ $172 = $3;
+ _ec_mulm($163,$168,$171,$172);
+ $173 = $3;
+ $174 = ((($173)) + 48|0);
+ $175 = ((($174)) + 16|0);
+ $176 = ((($175)) + 16|0);
+ $177 = HEAP32[$176>>2]|0;
+ $178 = $1;
+ $179 = ((($178)) + 8|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = (__gcry_mpi_const(3)|0);
+ $182 = $3;
+ _ec_powm($177,$180,$181,$182);
+ $183 = $3;
+ $184 = ((($183)) + 48|0);
+ $185 = ((($184)) + 16|0);
+ $186 = ((($185)) + 16|0);
+ $187 = HEAP32[$186>>2]|0;
+ $188 = $3;
+ $189 = ((($188)) + 48|0);
+ $190 = ((($189)) + 16|0);
+ $191 = ((($190)) + 16|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = $2;
+ $194 = ((($193)) + 4|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = $3;
+ _ec_mulm($187,$192,$195,$196);
+ $197 = $3;
+ $198 = ((($197)) + 48|0);
+ $199 = ((($198)) + 16|0);
+ $200 = ((($199)) + 20|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = $3;
+ $203 = ((($202)) + 48|0);
+ $204 = ((($203)) + 16|0);
+ $205 = ((($204)) + 12|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = $3;
+ $208 = ((($207)) + 48|0);
+ $209 = ((($208)) + 16|0);
+ $210 = ((($209)) + 16|0);
+ $211 = HEAP32[$210>>2]|0;
+ $212 = $3;
+ _ec_subm($201,$206,$211,$212);
+ $213 = $3;
+ $214 = ((($213)) + 48|0);
+ $215 = ((($214)) + 16|0);
+ $216 = ((($215)) + 8|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = (__gcry_mpi_cmp_ui($217,0)|0);
+ $219 = ($218|0)!=(0);
+ $220 = $3;
+ $221 = ((($220)) + 48|0);
+ $222 = ((($221)) + 16|0);
+ if ($219) {
+ $237 = ((($222)) + 24|0);
+ $238 = HEAP32[$237>>2]|0;
+ $239 = $3;
+ $240 = ((($239)) + 48|0);
+ $241 = ((($240)) + 16|0);
+ $242 = HEAP32[$241>>2]|0;
+ $243 = $3;
+ $244 = ((($243)) + 48|0);
+ $245 = ((($244)) + 16|0);
+ $246 = ((($245)) + 4|0);
+ $247 = HEAP32[$246>>2]|0;
+ $248 = $3;
+ _ec_addm($238,$242,$247,$248);
+ $249 = $3;
+ $250 = ((($249)) + 48|0);
+ $251 = ((($250)) + 16|0);
+ $252 = ((($251)) + 28|0);
+ $253 = HEAP32[$252>>2]|0;
+ $254 = $3;
+ $255 = ((($254)) + 48|0);
+ $256 = ((($255)) + 16|0);
+ $257 = ((($256)) + 12|0);
+ $258 = HEAP32[$257>>2]|0;
+ $259 = $3;
+ $260 = ((($259)) + 48|0);
+ $261 = ((($260)) + 16|0);
+ $262 = ((($261)) + 16|0);
+ $263 = HEAP32[$262>>2]|0;
+ $264 = $3;
+ _ec_addm($253,$258,$263,$264);
+ $265 = $0;
+ $266 = ((($265)) + 8|0);
+ $267 = HEAP32[$266>>2]|0;
+ $268 = $1;
+ $269 = ((($268)) + 8|0);
+ $270 = HEAP32[$269>>2]|0;
+ $271 = $2;
+ $272 = ((($271)) + 8|0);
+ $273 = HEAP32[$272>>2]|0;
+ $274 = $3;
+ _ec_mulm($267,$270,$273,$274);
+ $275 = $0;
+ $276 = ((($275)) + 8|0);
+ $277 = HEAP32[$276>>2]|0;
+ $278 = $0;
+ $279 = ((($278)) + 8|0);
+ $280 = HEAP32[$279>>2]|0;
+ $281 = $3;
+ $282 = ((($281)) + 48|0);
+ $283 = ((($282)) + 16|0);
+ $284 = ((($283)) + 8|0);
+ $285 = HEAP32[$284>>2]|0;
+ $286 = $3;
+ _ec_mulm($277,$280,$285,$286);
+ $287 = $3;
+ $288 = ((($287)) + 48|0);
+ $289 = ((($288)) + 16|0);
+ $290 = ((($289)) + 36|0);
+ $291 = HEAP32[$290>>2]|0;
+ $292 = $3;
+ $293 = ((($292)) + 48|0);
+ $294 = ((($293)) + 16|0);
+ $295 = ((($294)) + 20|0);
+ $296 = HEAP32[$295>>2]|0;
+ $297 = $3;
+ _ec_pow2($291,$296,$297);
+ $298 = $3;
+ $299 = ((($298)) + 48|0);
+ $300 = ((($299)) + 16|0);
+ $301 = ((($300)) + 40|0);
+ $302 = HEAP32[$301>>2]|0;
+ $303 = $3;
+ $304 = ((($303)) + 48|0);
+ $305 = ((($304)) + 16|0);
+ $306 = ((($305)) + 8|0);
+ $307 = HEAP32[$306>>2]|0;
+ $308 = $3;
+ _ec_pow2($302,$307,$308);
+ $309 = $3;
+ $310 = ((($309)) + 48|0);
+ $311 = ((($310)) + 16|0);
+ $312 = ((($311)) + 40|0);
+ $313 = HEAP32[$312>>2]|0;
+ $314 = $3;
+ $315 = ((($314)) + 48|0);
+ $316 = ((($315)) + 16|0);
+ $317 = ((($316)) + 40|0);
+ $318 = HEAP32[$317>>2]|0;
+ $319 = $3;
+ $320 = ((($319)) + 48|0);
+ $321 = ((($320)) + 16|0);
+ $322 = ((($321)) + 24|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = $3;
+ _ec_mulm($313,$318,$323,$324);
+ $325 = $0;
+ $326 = HEAP32[$325>>2]|0;
+ $327 = $3;
+ $328 = ((($327)) + 48|0);
+ $329 = ((($328)) + 16|0);
+ $330 = ((($329)) + 36|0);
+ $331 = HEAP32[$330>>2]|0;
+ $332 = $3;
+ $333 = ((($332)) + 48|0);
+ $334 = ((($333)) + 16|0);
+ $335 = ((($334)) + 40|0);
+ $336 = HEAP32[$335>>2]|0;
+ $337 = $3;
+ _ec_subm($326,$331,$336,$337);
+ $338 = $3;
+ $339 = ((($338)) + 48|0);
+ $340 = ((($339)) + 16|0);
+ $341 = ((($340)) + 36|0);
+ $342 = HEAP32[$341>>2]|0;
+ $343 = $0;
+ $344 = HEAP32[$343>>2]|0;
+ $345 = $3;
+ _ec_mul2($342,$344,$345);
+ $346 = $3;
+ $347 = ((($346)) + 48|0);
+ $348 = ((($347)) + 16|0);
+ $349 = ((($348)) + 32|0);
+ $350 = HEAP32[$349>>2]|0;
+ $351 = $3;
+ $352 = ((($351)) + 48|0);
+ $353 = ((($352)) + 16|0);
+ $354 = ((($353)) + 40|0);
+ $355 = HEAP32[$354>>2]|0;
+ $356 = $3;
+ $357 = ((($356)) + 48|0);
+ $358 = ((($357)) + 16|0);
+ $359 = ((($358)) + 36|0);
+ $360 = HEAP32[$359>>2]|0;
+ $361 = $3;
+ _ec_subm($350,$355,$360,$361);
+ $362 = $3;
+ $363 = ((($362)) + 48|0);
+ $364 = ((($363)) + 16|0);
+ $365 = ((($364)) + 32|0);
+ $366 = HEAP32[$365>>2]|0;
+ $367 = $3;
+ $368 = ((($367)) + 48|0);
+ $369 = ((($368)) + 16|0);
+ $370 = ((($369)) + 32|0);
+ $371 = HEAP32[$370>>2]|0;
+ $372 = $3;
+ $373 = ((($372)) + 48|0);
+ $374 = ((($373)) + 16|0);
+ $375 = ((($374)) + 20|0);
+ $376 = HEAP32[$375>>2]|0;
+ $377 = $3;
+ _ec_mulm($366,$371,$376,$377);
+ $378 = $3;
+ $379 = ((($378)) + 48|0);
+ $380 = ((($379)) + 16|0);
+ $381 = ((($380)) + 36|0);
+ $382 = HEAP32[$381>>2]|0;
+ $383 = $3;
+ $384 = ((($383)) + 48|0);
+ $385 = ((($384)) + 16|0);
+ $386 = ((($385)) + 8|0);
+ $387 = HEAP32[$386>>2]|0;
+ $388 = (__gcry_mpi_const(3)|0);
+ $389 = $3;
+ _ec_powm($382,$387,$388,$389);
+ $390 = $3;
+ $391 = ((($390)) + 48|0);
+ $392 = ((($391)) + 16|0);
+ $393 = ((($392)) + 36|0);
+ $394 = HEAP32[$393>>2]|0;
+ $395 = $3;
+ $396 = ((($395)) + 48|0);
+ $397 = ((($396)) + 16|0);
+ $398 = ((($397)) + 36|0);
+ $399 = HEAP32[$398>>2]|0;
+ $400 = $3;
+ $401 = ((($400)) + 48|0);
+ $402 = ((($401)) + 16|0);
+ $403 = ((($402)) + 28|0);
+ $404 = HEAP32[$403>>2]|0;
+ $405 = $3;
+ _ec_mulm($394,$399,$404,$405);
+ $406 = $0;
+ $407 = ((($406)) + 4|0);
+ $408 = HEAP32[$407>>2]|0;
+ $409 = $3;
+ $410 = ((($409)) + 48|0);
+ $411 = ((($410)) + 16|0);
+ $412 = ((($411)) + 32|0);
+ $413 = HEAP32[$412>>2]|0;
+ $414 = $3;
+ $415 = ((($414)) + 48|0);
+ $416 = ((($415)) + 16|0);
+ $417 = ((($416)) + 36|0);
+ $418 = HEAP32[$417>>2]|0;
+ $419 = $3;
+ _ec_subm($408,$413,$418,$419);
+ $420 = $0;
+ $421 = ((($420)) + 4|0);
+ $422 = HEAP32[$421>>2]|0;
+ $423 = $0;
+ $424 = ((($423)) + 4|0);
+ $425 = HEAP32[$424>>2]|0;
+ $426 = $3;
+ $427 = (_ec_get_two_inv_p($426)|0);
+ $428 = $3;
+ _ec_mulm($422,$425,$427,$428);
+ STACKTOP = sp;return;
+ }
+ $223 = ((($222)) + 20|0);
+ $224 = HEAP32[$223>>2]|0;
+ $225 = (__gcry_mpi_cmp_ui($224,0)|0);
+ $226 = ($225|0)!=(0);
+ $227 = $0;
+ if ($226) {
+ $230 = HEAP32[$227>>2]|0;
+ (__gcry_mpi_set_ui($230,1)|0);
+ $231 = $0;
+ $232 = ((($231)) + 4|0);
+ $233 = HEAP32[$232>>2]|0;
+ (__gcry_mpi_set_ui($233,1)|0);
+ $234 = $0;
+ $235 = ((($234)) + 8|0);
+ $236 = HEAP32[$235>>2]|0;
+ (__gcry_mpi_set_ui($236,0)|0);
+ STACKTOP = sp;return;
+ } else {
+ $228 = $1;
+ $229 = $3;
+ __gcry_mpi_ec_dup_point($227,$228,$229);
+ STACKTOP = sp;return;
+ }
+}
+function _ec_get_two_inv_p($ec) {
+ $ec = $ec|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ec;
+ $1 = $0;
+ $2 = ((($1)) + 48|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = ($3&255) >>> 1;
+ $5 = $4 & 1;
+ $6 = $5&255;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $28 = $0;
+ $29 = ((($28)) + 48|0);
+ $30 = ((($29)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ STACKTOP = sp;return ($31|0);
+ }
+ $8 = $0;
+ $9 = ((($8)) + 48|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 & -3;
+ $12 = $11 | 2;
+ HEAP8[$9>>0] = $12;
+ $13 = $0;
+ $14 = ((($13)) + 48|0);
+ $15 = ((($14)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)!=(0|0);
+ if (!($17)) {
+ $18 = (__gcry_mpi_alloc(0)|0);
+ $19 = $0;
+ $20 = ((($19)) + 48|0);
+ $21 = ((($20)) + 8|0);
+ HEAP32[$21>>2] = $18;
+ }
+ $22 = $0;
+ $23 = ((($22)) + 48|0);
+ $24 = ((($23)) + 8|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (__gcry_mpi_const(2)|0);
+ $27 = $0;
+ _ec_invm($25,$26,$27);
+ $28 = $0;
+ $29 = ((($28)) + 48|0);
+ $30 = ((($29)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ STACKTOP = sp;return ($31|0);
+}
+function _add_points_montgomery($result,$p1,$p2,$ctx) {
+ $result = $result|0;
+ $p1 = $p1|0;
+ $p2 = $p2|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $result;
+ $1 = $p1;
+ $2 = $p2;
+ $3 = $ctx;
+ HEAP32[$vararg_buffer>>2] = 45805;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 45730;
+ __gcry_log_fatal(45756,$vararg_buffer);
+ // unreachable;
+}
+function _add_points_edwards($result,$p1,$p2,$ctx) {
+ $result = $result|0;
+ $p1 = $p1|0;
+ $p2 = $p2|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $result;
+ $1 = $p1;
+ $2 = $p2;
+ $3 = $ctx;
+ $4 = $3;
+ $5 = ((($4)) + 48|0);
+ $6 = ((($5)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $1;
+ $9 = ((($8)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $2;
+ $12 = ((($11)) + 8|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $3;
+ _ec_mulm($7,$10,$13,$14);
+ $15 = $3;
+ $16 = ((($15)) + 48|0);
+ $17 = ((($16)) + 16|0);
+ $18 = ((($17)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $3;
+ $21 = ((($20)) + 48|0);
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $3;
+ _ec_pow2($19,$23,$24);
+ $25 = $3;
+ $26 = ((($25)) + 48|0);
+ $27 = ((($26)) + 16|0);
+ $28 = ((($27)) + 8|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $1;
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $2;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $3;
+ _ec_mulm($29,$31,$33,$34);
+ $35 = $3;
+ $36 = ((($35)) + 48|0);
+ $37 = ((($36)) + 16|0);
+ $38 = ((($37)) + 12|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $1;
+ $41 = ((($40)) + 4|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $2;
+ $44 = ((($43)) + 4|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = $3;
+ _ec_mulm($39,$42,$45,$46);
+ $47 = $3;
+ $48 = ((($47)) + 48|0);
+ $49 = ((($48)) + 16|0);
+ $50 = ((($49)) + 16|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $3;
+ $53 = ((($52)) + 24|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $3;
+ $56 = ((($55)) + 48|0);
+ $57 = ((($56)) + 16|0);
+ $58 = ((($57)) + 8|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $3;
+ _ec_mulm($51,$54,$59,$60);
+ $61 = $3;
+ $62 = ((($61)) + 48|0);
+ $63 = ((($62)) + 16|0);
+ $64 = ((($63)) + 16|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = $3;
+ $67 = ((($66)) + 48|0);
+ $68 = ((($67)) + 16|0);
+ $69 = ((($68)) + 16|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $3;
+ $72 = ((($71)) + 48|0);
+ $73 = ((($72)) + 16|0);
+ $74 = ((($73)) + 12|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $3;
+ _ec_mulm($65,$70,$75,$76);
+ $77 = $3;
+ $78 = ((($77)) + 48|0);
+ $79 = ((($78)) + 16|0);
+ $80 = ((($79)) + 20|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $3;
+ $83 = ((($82)) + 48|0);
+ $84 = ((($83)) + 16|0);
+ $85 = ((($84)) + 4|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = $3;
+ $88 = ((($87)) + 48|0);
+ $89 = ((($88)) + 16|0);
+ $90 = ((($89)) + 16|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = $3;
+ _ec_subm($81,$86,$91,$92);
+ $93 = $3;
+ $94 = ((($93)) + 48|0);
+ $95 = ((($94)) + 16|0);
+ $96 = ((($95)) + 24|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = $3;
+ $99 = ((($98)) + 48|0);
+ $100 = ((($99)) + 16|0);
+ $101 = ((($100)) + 4|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = $3;
+ $104 = ((($103)) + 48|0);
+ $105 = ((($104)) + 16|0);
+ $106 = ((($105)) + 16|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = $3;
+ _ec_addm($97,$102,$107,$108);
+ $109 = $3;
+ $110 = ((($109)) + 48|0);
+ $111 = ((($110)) + 16|0);
+ $112 = ((($111)) + 28|0);
+ $113 = HEAP32[$112>>2]|0;
+ $114 = $1;
+ $115 = HEAP32[$114>>2]|0;
+ $116 = $1;
+ $117 = ((($116)) + 4|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $3;
+ _ec_addm($113,$115,$118,$119);
+ $120 = $0;
+ $121 = HEAP32[$120>>2]|0;
+ $122 = $2;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $2;
+ $125 = ((($124)) + 4|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = $3;
+ _ec_addm($121,$123,$126,$127);
+ $128 = $0;
+ $129 = HEAP32[$128>>2]|0;
+ $130 = $0;
+ $131 = HEAP32[$130>>2]|0;
+ $132 = $3;
+ $133 = ((($132)) + 48|0);
+ $134 = ((($133)) + 16|0);
+ $135 = ((($134)) + 28|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $3;
+ _ec_mulm($129,$131,$136,$137);
+ $138 = $0;
+ $139 = HEAP32[$138>>2]|0;
+ $140 = $0;
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $3;
+ $143 = ((($142)) + 48|0);
+ $144 = ((($143)) + 16|0);
+ $145 = ((($144)) + 8|0);
+ $146 = HEAP32[$145>>2]|0;
+ $147 = $3;
+ _ec_subm($139,$141,$146,$147);
+ $148 = $0;
+ $149 = HEAP32[$148>>2]|0;
+ $150 = $0;
+ $151 = HEAP32[$150>>2]|0;
+ $152 = $3;
+ $153 = ((($152)) + 48|0);
+ $154 = ((($153)) + 16|0);
+ $155 = ((($154)) + 12|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = $3;
+ _ec_subm($149,$151,$156,$157);
+ $158 = $0;
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $0;
+ $161 = HEAP32[$160>>2]|0;
+ $162 = $3;
+ $163 = ((($162)) + 48|0);
+ $164 = ((($163)) + 16|0);
+ $165 = ((($164)) + 20|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = $3;
+ _ec_mulm($159,$161,$166,$167);
+ $168 = $0;
+ $169 = HEAP32[$168>>2]|0;
+ $170 = $0;
+ $171 = HEAP32[$170>>2]|0;
+ $172 = $3;
+ $173 = ((($172)) + 48|0);
+ $174 = ((($173)) + 16|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = $3;
+ _ec_mulm($169,$171,$175,$176);
+ $177 = $3;
+ $178 = ((($177)) + 4|0);
+ $179 = HEAP32[$178>>2]|0;
+ $180 = ($179|0)==(1);
+ $181 = $0;
+ $182 = ((($181)) + 4|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = $3;
+ if ($180) {
+ $185 = ((($184)) + 48|0);
+ $186 = ((($185)) + 16|0);
+ $187 = ((($186)) + 8|0);
+ $188 = HEAP32[$187>>2]|0;
+ (__gcry_mpi_set($183,$188)|0);
+ $189 = $0;
+ $190 = ((($189)) + 4|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = $0;
+ $193 = ((($192)) + 4|0);
+ $194 = HEAP32[$193>>2]|0;
+ __gcry_mpi_neg($191,$194);
+ $195 = $0;
+ $196 = ((($195)) + 4|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = $3;
+ $199 = ((($198)) + 48|0);
+ $200 = ((($199)) + 16|0);
+ $201 = ((($200)) + 12|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = $0;
+ $204 = ((($203)) + 4|0);
+ $205 = HEAP32[$204>>2]|0;
+ $206 = $3;
+ _ec_subm($197,$202,$205,$206);
+ $227 = $0;
+ $228 = ((($227)) + 4|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = $0;
+ $231 = ((($230)) + 4|0);
+ $232 = HEAP32[$231>>2]|0;
+ $233 = $3;
+ $234 = ((($233)) + 48|0);
+ $235 = ((($234)) + 16|0);
+ $236 = ((($235)) + 24|0);
+ $237 = HEAP32[$236>>2]|0;
+ $238 = $3;
+ _ec_mulm($229,$232,$237,$238);
+ $239 = $0;
+ $240 = ((($239)) + 4|0);
+ $241 = HEAP32[$240>>2]|0;
+ $242 = $0;
+ $243 = ((($242)) + 4|0);
+ $244 = HEAP32[$243>>2]|0;
+ $245 = $3;
+ $246 = ((($245)) + 48|0);
+ $247 = ((($246)) + 16|0);
+ $248 = HEAP32[$247>>2]|0;
+ $249 = $3;
+ _ec_mulm($241,$244,$248,$249);
+ $250 = $0;
+ $251 = ((($250)) + 8|0);
+ $252 = HEAP32[$251>>2]|0;
+ $253 = $3;
+ $254 = ((($253)) + 48|0);
+ $255 = ((($254)) + 16|0);
+ $256 = ((($255)) + 20|0);
+ $257 = HEAP32[$256>>2]|0;
+ $258 = $3;
+ $259 = ((($258)) + 48|0);
+ $260 = ((($259)) + 16|0);
+ $261 = ((($260)) + 24|0);
+ $262 = HEAP32[$261>>2]|0;
+ $263 = $3;
+ _ec_mulm($252,$257,$262,$263);
+ STACKTOP = sp;return;
+ } else {
+ $207 = ((($184)) + 20|0);
+ $208 = HEAP32[$207>>2]|0;
+ $209 = $3;
+ $210 = ((($209)) + 48|0);
+ $211 = ((($210)) + 16|0);
+ $212 = ((($211)) + 8|0);
+ $213 = HEAP32[$212>>2]|0;
+ $214 = $3;
+ _ec_mulm($183,$208,$213,$214);
+ $215 = $0;
+ $216 = ((($215)) + 4|0);
+ $217 = HEAP32[$216>>2]|0;
+ $218 = $3;
+ $219 = ((($218)) + 48|0);
+ $220 = ((($219)) + 16|0);
+ $221 = ((($220)) + 12|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = $0;
+ $224 = ((($223)) + 4|0);
+ $225 = HEAP32[$224>>2]|0;
+ $226 = $3;
+ _ec_subm($217,$222,$225,$226);
+ $227 = $0;
+ $228 = ((($227)) + 4|0);
+ $229 = HEAP32[$228>>2]|0;
+ $230 = $0;
+ $231 = ((($230)) + 4|0);
+ $232 = HEAP32[$231>>2]|0;
+ $233 = $3;
+ $234 = ((($233)) + 48|0);
+ $235 = ((($234)) + 16|0);
+ $236 = ((($235)) + 24|0);
+ $237 = HEAP32[$236>>2]|0;
+ $238 = $3;
+ _ec_mulm($229,$232,$237,$238);
+ $239 = $0;
+ $240 = ((($239)) + 4|0);
+ $241 = HEAP32[$240>>2]|0;
+ $242 = $0;
+ $243 = ((($242)) + 4|0);
+ $244 = HEAP32[$243>>2]|0;
+ $245 = $3;
+ $246 = ((($245)) + 48|0);
+ $247 = ((($246)) + 16|0);
+ $248 = HEAP32[$247>>2]|0;
+ $249 = $3;
+ _ec_mulm($241,$244,$248,$249);
+ $250 = $0;
+ $251 = ((($250)) + 8|0);
+ $252 = HEAP32[$251>>2]|0;
+ $253 = $3;
+ $254 = ((($253)) + 48|0);
+ $255 = ((($254)) + 16|0);
+ $256 = ((($255)) + 20|0);
+ $257 = HEAP32[$256>>2]|0;
+ $258 = $3;
+ $259 = ((($258)) + 48|0);
+ $260 = ((($259)) + 16|0);
+ $261 = ((($260)) + 24|0);
+ $262 = HEAP32[$261>>2]|0;
+ $263 = $3;
+ _ec_mulm($252,$257,$262,$263);
+ STACKTOP = sp;return;
+ }
+}
+function _point_set_1575($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($3,$5)|0);
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $1;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ (__gcry_mpi_set($8,$11)|0);
+ $12 = $0;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set($14,$17)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_mul_point($result,$scalar,$point,$ctx) {
+ $result = $result|0;
+ $scalar = $scalar|0;
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $h = 0, $i = 0, $j = 0, $j2 = 0, $k = 0, $loops = 0, $nbits = 0;
+ var $nbits1 = 0, $nlimbs = 0, $p1 = 0, $p1_ = 0, $p1inv = 0, $p2 = 0, $p2_ = 0, $prd = 0, $q1 = 0, $q2 = 0, $sum = 0, $sw = 0, $t = 0, $tmppnt = 0, $x1 = 0, $y1 = 0, $yy = 0, $z1 = 0, $z2 = 0, $z3 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $p1 = sp + 112|0;
+ $p2 = sp + 100|0;
+ $p1inv = sp + 88|0;
+ $tmppnt = sp + 68|0;
+ $p1_ = sp + 48|0;
+ $p2_ = sp + 36|0;
+ $0 = $result;
+ $1 = $scalar;
+ $2 = $point;
+ $3 = $ctx;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(2);
+ if ($6) {
+ $7 = $1;
+ $8 = (__gcry_mpi_get_nbits($7)|0);
+ $nbits = $8;
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ (__gcry_mpi_set_ui($10,0)|0);
+ $11 = $0;
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ (__gcry_mpi_set_ui($13,1)|0);
+ $14 = $0;
+ $15 = ((($14)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ (__gcry_mpi_set_ui($16,1)|0);
+ $17 = $1;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = $1;
+ $20 = ((($19)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $21 & 1;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ __gcry_mpi_point_init($tmppnt);
+ $24 = $nbits;
+ $25 = (($24) - 1)|0;
+ $j = $25;
+ while(1) {
+ $26 = $j;
+ $27 = ($26|0)>=(0);
+ if (!($27)) {
+ break;
+ }
+ $28 = $0;
+ $29 = $0;
+ $30 = $3;
+ __gcry_mpi_ec_dup_point($28,$29,$30);
+ $31 = $0;
+ $32 = $2;
+ $33 = $3;
+ __gcry_mpi_ec_add_points($tmppnt,$31,$32,$33);
+ $34 = $1;
+ $35 = $j;
+ $36 = (__gcry_mpi_test_bit($34,$35)|0);
+ $37 = ($36|0)!=(0);
+ if ($37) {
+ $38 = $0;
+ _point_set_1575($38,$tmppnt);
+ }
+ $39 = $j;
+ $40 = (($39) + -1)|0;
+ $j = $40;
+ }
+ __gcry_mpi_point_free_parts($tmppnt);
+ STACKTOP = sp;return;
+ }
+ }
+ $41 = $nbits;
+ $42 = (($41) - 1)|0;
+ $j = $42;
+ while(1) {
+ $43 = $j;
+ $44 = ($43|0)>=(0);
+ if (!($44)) {
+ break;
+ }
+ $45 = $0;
+ $46 = $0;
+ $47 = $3;
+ __gcry_mpi_ec_dup_point($45,$46,$47);
+ $48 = $1;
+ $49 = $j;
+ $50 = (__gcry_mpi_test_bit($48,$49)|0);
+ $51 = ($50|0)!=(0);
+ if ($51) {
+ $52 = $0;
+ $53 = $0;
+ $54 = $2;
+ $55 = $3;
+ __gcry_mpi_ec_add_points($52,$53,$54,$55);
+ }
+ $56 = $j;
+ $57 = (($56) + -1)|0;
+ $j = $57;
+ }
+ STACKTOP = sp;return;
+ }
+ $58 = $3;
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($59|0)==(1);
+ if ($60) {
+ $61 = $1;
+ $62 = (__gcry_mpi_get_nbits($61)|0);
+ $nbits1 = $62;
+ __gcry_mpi_point_init($p1);
+ __gcry_mpi_point_init($p2);
+ __gcry_mpi_point_init($p1_);
+ __gcry_mpi_point_init($p2_);
+ $63 = HEAP32[$p1>>2]|0;
+ (__gcry_mpi_set_ui($63,1)|0);
+ $64 = HEAP32[$p2>>2]|0;
+ __gcry_mpi_free($64);
+ $65 = $2;
+ $66 = HEAP32[$65>>2]|0;
+ $67 = (__gcry_mpi_copy($66)|0);
+ HEAP32[$p2>>2] = $67;
+ $68 = ((($p2)) + 8|0);
+ $69 = HEAP32[$68>>2]|0;
+ (__gcry_mpi_set_ui($69,1)|0);
+ $70 = $nbits1;
+ $71 = (($70) + 32)|0;
+ $72 = (($71) - 1)|0;
+ $73 = $72<<1;
+ $74 = (($73>>>0) / 32)&-1;
+ $75 = (($74) + 1)|0;
+ $nlimbs = $75;
+ $76 = HEAP32[$p1>>2]|0;
+ $77 = $nlimbs;
+ __gcry_mpi_resize($76,$77);
+ $78 = ((($p1)) + 8|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $nlimbs;
+ __gcry_mpi_resize($79,$80);
+ $81 = HEAP32[$p2>>2]|0;
+ $82 = $nlimbs;
+ __gcry_mpi_resize($81,$82);
+ $83 = ((($p2)) + 8|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $nlimbs;
+ __gcry_mpi_resize($84,$85);
+ $86 = HEAP32[$p1_>>2]|0;
+ $87 = $nlimbs;
+ __gcry_mpi_resize($86,$87);
+ $88 = ((($p1_)) + 8|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = $nlimbs;
+ __gcry_mpi_resize($89,$90);
+ $91 = HEAP32[$p2_>>2]|0;
+ $92 = $nlimbs;
+ __gcry_mpi_resize($91,$92);
+ $93 = ((($p2_)) + 8|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = $nlimbs;
+ __gcry_mpi_resize($94,$95);
+ $q1 = $p1;
+ $q2 = $p2;
+ $prd = $p1_;
+ $sum = $p2_;
+ $96 = $nbits1;
+ $97 = (($96) - 1)|0;
+ $j2 = $97;
+ while(1) {
+ $98 = $j2;
+ $99 = ($98|0)>=(0);
+ if (!($99)) {
+ break;
+ }
+ $100 = $1;
+ $101 = $j2;
+ $102 = (__gcry_mpi_test_bit($100,$101)|0);
+ $sw = $102;
+ $103 = $q1;
+ $104 = HEAP32[$103>>2]|0;
+ $105 = $q2;
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $sw;
+ __gcry_mpi_swap_cond($104,$106,$107);
+ $108 = $q1;
+ $109 = ((($108)) + 8|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = $q2;
+ $112 = ((($111)) + 8|0);
+ $113 = HEAP32[$112>>2]|0;
+ $114 = $sw;
+ __gcry_mpi_swap_cond($110,$113,$114);
+ $115 = $prd;
+ $116 = $sum;
+ $117 = $q1;
+ $118 = $q2;
+ $119 = $2;
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $3;
+ _montgomery_ladder($115,$116,$117,$118,$120,$121);
+ $122 = $prd;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $sum;
+ $125 = HEAP32[$124>>2]|0;
+ $126 = $sw;
+ __gcry_mpi_swap_cond($123,$125,$126);
+ $127 = $prd;
+ $128 = ((($127)) + 8|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = $sum;
+ $131 = ((($130)) + 8|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = $sw;
+ __gcry_mpi_swap_cond($129,$132,$133);
+ $134 = $q1;
+ $t = $134;
+ $135 = $prd;
+ $q1 = $135;
+ $136 = $t;
+ $prd = $136;
+ $137 = $q2;
+ $t = $137;
+ $138 = $sum;
+ $q2 = $138;
+ $139 = $t;
+ $sum = $139;
+ $140 = $j2;
+ $141 = (($140) + -1)|0;
+ $j2 = $141;
+ }
+ $142 = $0;
+ $143 = ((($142)) + 4|0);
+ $144 = HEAP32[$143>>2]|0;
+ __gcry_mpi_clear($144);
+ $145 = $nbits1;
+ $146 = $145 & 1;
+ $sw = $146;
+ $147 = HEAP32[$p1>>2]|0;
+ $148 = HEAP32[$p1_>>2]|0;
+ $149 = $sw;
+ __gcry_mpi_swap_cond($147,$148,$149);
+ $150 = ((($p1)) + 8|0);
+ $151 = HEAP32[$150>>2]|0;
+ $152 = ((($p1_)) + 8|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $sw;
+ __gcry_mpi_swap_cond($151,$153,$154);
+ $155 = ((($p1)) + 8|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = ((($156)) + 4|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = ($158|0)==(0);
+ if ($159) {
+ $160 = $0;
+ $161 = HEAP32[$160>>2]|0;
+ (__gcry_mpi_set_ui($161,1)|0);
+ $162 = $0;
+ $163 = ((($162)) + 8|0);
+ $164 = HEAP32[$163>>2]|0;
+ (__gcry_mpi_set_ui($164,0)|0);
+ } else {
+ $165 = (__gcry_mpi_new(0)|0);
+ $z1 = $165;
+ $166 = $z1;
+ $167 = ((($p1)) + 8|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = $3;
+ _ec_invm($166,$168,$169);
+ $170 = $0;
+ $171 = HEAP32[$170>>2]|0;
+ $172 = HEAP32[$p1>>2]|0;
+ $173 = $z1;
+ $174 = $3;
+ _ec_mulm($171,$172,$173,$174);
+ $175 = $0;
+ $176 = ((($175)) + 8|0);
+ $177 = HEAP32[$176>>2]|0;
+ (__gcry_mpi_set_ui($177,1)|0);
+ $178 = $z1;
+ __gcry_mpi_free($178);
+ }
+ __gcry_mpi_point_free_parts($p1);
+ __gcry_mpi_point_free_parts($p2);
+ __gcry_mpi_point_free_parts($p1_);
+ __gcry_mpi_point_free_parts($p2_);
+ STACKTOP = sp;return;
+ }
+ $179 = $3;
+ $180 = ((($179)) + 16|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = (__gcry_mpi_alloc_like($181)|0);
+ $x1 = $182;
+ $183 = $3;
+ $184 = ((($183)) + 16|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = (__gcry_mpi_alloc_like($185)|0);
+ $y1 = $186;
+ $187 = $3;
+ $188 = ((($187)) + 16|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = (__gcry_mpi_alloc_like($189)|0);
+ $h = $190;
+ $191 = $1;
+ $192 = (__gcry_mpi_copy($191)|0);
+ $k = $192;
+ $193 = $2;
+ $194 = ((($193)) + 4|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = (__gcry_mpi_copy($195)|0);
+ $yy = $196;
+ $197 = $k;
+ $198 = ((($197)) + 8|0);
+ $199 = HEAP32[$198>>2]|0;
+ $200 = ($199|0)!=(0);
+ if ($200) {
+ $201 = $k;
+ $202 = ((($201)) + 8|0);
+ HEAP32[$202>>2] = 0;
+ $203 = $yy;
+ $204 = $yy;
+ $205 = $3;
+ _ec_invm($203,$204,$205);
+ }
+ $206 = $2;
+ $207 = ((($206)) + 8|0);
+ $208 = HEAP32[$207>>2]|0;
+ $209 = (__gcry_mpi_cmp_ui($208,1)|0);
+ $210 = ($209|0)!=(0);
+ if ($210) {
+ $216 = $3;
+ $217 = ((($216)) + 16|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = (__gcry_mpi_alloc_like($218)|0);
+ $z2 = $219;
+ $220 = $3;
+ $221 = ((($220)) + 16|0);
+ $222 = HEAP32[$221>>2]|0;
+ $223 = (__gcry_mpi_alloc_like($222)|0);
+ $z3 = $223;
+ $224 = $z2;
+ $225 = $2;
+ $226 = ((($225)) + 8|0);
+ $227 = HEAP32[$226>>2]|0;
+ $228 = $2;
+ $229 = ((($228)) + 8|0);
+ $230 = HEAP32[$229>>2]|0;
+ $231 = $3;
+ _ec_mulm($224,$227,$230,$231);
+ $232 = $z3;
+ $233 = $2;
+ $234 = ((($233)) + 8|0);
+ $235 = HEAP32[$234>>2]|0;
+ $236 = $z2;
+ $237 = $3;
+ _ec_mulm($232,$235,$236,$237);
+ $238 = $z2;
+ $239 = $z2;
+ $240 = $3;
+ _ec_invm($238,$239,$240);
+ $241 = $x1;
+ $242 = $2;
+ $243 = HEAP32[$242>>2]|0;
+ $244 = $z2;
+ $245 = $3;
+ _ec_mulm($241,$243,$244,$245);
+ $246 = $z3;
+ $247 = $z3;
+ $248 = $3;
+ _ec_invm($246,$247,$248);
+ $249 = $y1;
+ $250 = $yy;
+ $251 = $z3;
+ $252 = $3;
+ _ec_mulm($249,$250,$251,$252);
+ $253 = $z2;
+ __gcry_mpi_free($253);
+ $254 = $z3;
+ __gcry_mpi_free($254);
+ } else {
+ $211 = $x1;
+ $212 = $2;
+ $213 = HEAP32[$212>>2]|0;
+ (__gcry_mpi_set($211,$213)|0);
+ $214 = $y1;
+ $215 = $yy;
+ (__gcry_mpi_set($214,$215)|0);
+ }
+ $255 = (__gcry_mpi_const(1)|0);
+ $256 = (__gcry_mpi_copy($255)|0);
+ $z1 = $256;
+ $257 = $h;
+ $258 = $k;
+ $259 = (__gcry_mpi_const(3)|0);
+ __gcry_mpi_mul($257,$258,$259);
+ $260 = $h;
+ $261 = (__gcry_mpi_get_nbits($260)|0);
+ $loops = $261;
+ $262 = $loops;
+ $263 = ($262>>>0)<(2);
+ if ($263) {
+ $loops = 2;
+ $264 = $0;
+ $265 = HEAP32[$264>>2]|0;
+ __gcry_mpi_clear($265);
+ $266 = $0;
+ $267 = ((($266)) + 4|0);
+ $268 = HEAP32[$267>>2]|0;
+ __gcry_mpi_clear($268);
+ $269 = $0;
+ $270 = ((($269)) + 8|0);
+ $271 = HEAP32[$270>>2]|0;
+ __gcry_mpi_clear($271);
+ } else {
+ $272 = $0;
+ $273 = HEAP32[$272>>2]|0;
+ $274 = $2;
+ $275 = HEAP32[$274>>2]|0;
+ (__gcry_mpi_set($273,$275)|0);
+ $276 = $0;
+ $277 = ((($276)) + 4|0);
+ $278 = HEAP32[$277>>2]|0;
+ $279 = $yy;
+ (__gcry_mpi_set($278,$279)|0);
+ $280 = $0;
+ $281 = ((($280)) + 8|0);
+ $282 = HEAP32[$281>>2]|0;
+ $283 = $2;
+ $284 = ((($283)) + 8|0);
+ $285 = HEAP32[$284>>2]|0;
+ (__gcry_mpi_set($282,$285)|0);
+ }
+ $286 = $yy;
+ __gcry_mpi_free($286);
+ $yy = 0;
+ $287 = $x1;
+ HEAP32[$p1>>2] = $287;
+ $x1 = 0;
+ $288 = $y1;
+ $289 = ((($p1)) + 4|0);
+ HEAP32[$289>>2] = $288;
+ $y1 = 0;
+ $290 = $z1;
+ $291 = ((($p1)) + 8|0);
+ HEAP32[$291>>2] = $290;
+ $z1 = 0;
+ __gcry_mpi_point_init($p2);
+ __gcry_mpi_point_init($p1inv);
+ $292 = $loops;
+ $293 = (($292) - 2)|0;
+ $i = $293;
+ while(1) {
+ $294 = $i;
+ $295 = ($294>>>0)>(0);
+ if (!($295)) {
+ break;
+ }
+ $296 = $0;
+ $297 = $0;
+ $298 = $3;
+ __gcry_mpi_ec_dup_point($296,$297,$298);
+ $299 = $h;
+ $300 = $i;
+ $301 = (__gcry_mpi_test_bit($299,$300)|0);
+ $302 = ($301|0)==(1);
+ if ($302) {
+ $303 = $k;
+ $304 = $i;
+ $305 = (__gcry_mpi_test_bit($303,$304)|0);
+ $306 = ($305|0)==(0);
+ if ($306) {
+ $307 = $0;
+ _point_set_1575($p2,$307);
+ $308 = $0;
+ $309 = $3;
+ __gcry_mpi_ec_add_points($308,$p2,$p1,$309);
+ }
+ }
+ $310 = $h;
+ $311 = $i;
+ $312 = (__gcry_mpi_test_bit($310,$311)|0);
+ $313 = ($312|0)==(0);
+ if ($313) {
+ $314 = $k;
+ $315 = $i;
+ $316 = (__gcry_mpi_test_bit($314,$315)|0);
+ $317 = ($316|0)==(1);
+ if ($317) {
+ $318 = $0;
+ _point_set_1575($p2,$318);
+ _point_set_1575($p1inv,$p1);
+ $319 = ((($p1inv)) + 4|0);
+ $320 = HEAP32[$319>>2]|0;
+ $321 = $3;
+ $322 = ((($321)) + 16|0);
+ $323 = HEAP32[$322>>2]|0;
+ $324 = ((($p1inv)) + 4|0);
+ $325 = HEAP32[$324>>2]|0;
+ $326 = $3;
+ _ec_subm($320,$323,$325,$326);
+ $327 = $0;
+ $328 = $3;
+ __gcry_mpi_ec_add_points($327,$p2,$p1inv,$328);
+ }
+ }
+ $329 = $i;
+ $330 = (($329) + -1)|0;
+ $i = $330;
+ }
+ __gcry_mpi_point_free_parts($p1);
+ __gcry_mpi_point_free_parts($p2);
+ __gcry_mpi_point_free_parts($p1inv);
+ $331 = $h;
+ __gcry_mpi_free($331);
+ $332 = $k;
+ __gcry_mpi_free($332);
+ STACKTOP = sp;return;
+}
+function _montgomery_ladder($prd,$sum,$p1,$p2,$dif_x,$ctx) {
+ $prd = $prd|0;
+ $sum = $sum|0;
+ $p1 = $p1|0;
+ $p2 = $p2|0;
+ $dif_x = $dif_x|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $prd;
+ $1 = $sum;
+ $2 = $p1;
+ $3 = $p2;
+ $4 = $dif_x;
+ $5 = $ctx;
+ $6 = $1;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $3;
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $3;
+ $11 = ((($10)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $5;
+ _ec_addm($7,$9,$12,$13);
+ $14 = $3;
+ $15 = ((($14)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $3;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $3;
+ $20 = ((($19)) + 8|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $5;
+ _ec_subm($16,$18,$21,$22);
+ $23 = $0;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $2;
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $2;
+ $28 = ((($27)) + 8|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $5;
+ _ec_addm($24,$26,$29,$30);
+ $31 = $2;
+ $32 = ((($31)) + 8|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $2;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $2;
+ $37 = ((($36)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $5;
+ _ec_subm($33,$35,$38,$39);
+ $40 = $3;
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $2;
+ $43 = ((($42)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $1;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $5;
+ _ec_mulm($41,$44,$46,$47);
+ $48 = $3;
+ $49 = ((($48)) + 8|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $0;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $3;
+ $54 = ((($53)) + 8|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $5;
+ _ec_mulm($50,$52,$55,$56);
+ $57 = $2;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $0;
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $5;
+ _ec_pow2($58,$60,$61);
+ $62 = $2;
+ $63 = ((($62)) + 8|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = $2;
+ $66 = ((($65)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = $5;
+ _ec_pow2($64,$67,$68);
+ $69 = $1;
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $3;
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $3;
+ $74 = ((($73)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $5;
+ _ec_addm($70,$72,$75,$76);
+ $77 = $3;
+ $78 = ((($77)) + 8|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $3;
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $3;
+ $83 = ((($82)) + 8|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $5;
+ _ec_subm($79,$81,$84,$85);
+ $86 = $0;
+ $87 = HEAP32[$86>>2]|0;
+ $88 = $2;
+ $89 = HEAP32[$88>>2]|0;
+ $90 = $2;
+ $91 = ((($90)) + 8|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $5;
+ _ec_mulm($87,$89,$92,$93);
+ $94 = $2;
+ $95 = ((($94)) + 8|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = $2;
+ $98 = HEAP32[$97>>2]|0;
+ $99 = $2;
+ $100 = ((($99)) + 8|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $5;
+ _ec_subm($96,$98,$101,$102);
+ $103 = $1;
+ $104 = HEAP32[$103>>2]|0;
+ $105 = $1;
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $5;
+ _ec_pow2($104,$106,$107);
+ $108 = $1;
+ $109 = ((($108)) + 8|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = $3;
+ $112 = ((($111)) + 8|0);
+ $113 = HEAP32[$112>>2]|0;
+ $114 = $5;
+ _ec_pow2($110,$113,$114);
+ $115 = $0;
+ $116 = ((($115)) + 8|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = $2;
+ $119 = ((($118)) + 8|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $5;
+ $122 = ((($121)) + 20|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $5;
+ _ec_mulm($117,$120,$123,$124);
+ $125 = $1;
+ $126 = ((($125)) + 8|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = $1;
+ $129 = ((($128)) + 8|0);
+ $130 = HEAP32[$129>>2]|0;
+ $131 = $4;
+ $132 = $5;
+ _ec_mulm($127,$130,$131,$132);
+ $133 = $0;
+ $134 = ((($133)) + 8|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $2;
+ $137 = HEAP32[$136>>2]|0;
+ $138 = $0;
+ $139 = ((($138)) + 8|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = $5;
+ _ec_addm($135,$137,$140,$141);
+ $142 = $0;
+ $143 = ((($142)) + 8|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = $0;
+ $146 = ((($145)) + 8|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = $2;
+ $149 = ((($148)) + 8|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = $5;
+ _ec_mulm($144,$147,$150,$151);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_ec_curve_point($point,$ctx) {
+ $point = $point|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0;
+ var $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $res = 0, $w = 0, $x = 0, $xxx = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $point;
+ $2 = $ctx;
+ $res = 0;
+ $3 = (__gcry_mpi_new(0)|0);
+ $x = $3;
+ $4 = (__gcry_mpi_new(0)|0);
+ $y = $4;
+ $5 = (__gcry_mpi_new(0)|0);
+ $w = $5;
+ $6 = $2;
+ $7 = HEAP32[$6>>2]|0;
+ L1: do {
+ switch ($7|0) {
+ case 0: {
+ $8 = (__gcry_mpi_new(0)|0);
+ $xxx = $8;
+ $9 = $x;
+ $10 = $y;
+ $11 = $1;
+ $12 = $2;
+ $13 = (__gcry_mpi_ec_get_affine($9,$10,$11,$12)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ }
+ $15 = $y;
+ $16 = $y;
+ $17 = $2;
+ _ec_pow2($15,$16,$17);
+ $18 = $xxx;
+ $19 = $x;
+ $20 = $2;
+ _ec_pow3($18,$19,$20);
+ $21 = $w;
+ $22 = $2;
+ $23 = ((($22)) + 20|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $x;
+ $26 = $2;
+ _ec_mulm($21,$24,$25,$26);
+ $27 = $w;
+ $28 = $w;
+ $29 = $2;
+ $30 = ((($29)) + 24|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $2;
+ _ec_addm($27,$28,$31,$32);
+ $33 = $w;
+ $34 = $w;
+ $35 = $xxx;
+ $36 = $2;
+ _ec_addm($33,$34,$35,$36);
+ $37 = $y;
+ $38 = $w;
+ $39 = (__gcry_mpi_cmp($37,$38)|0);
+ $40 = ($39|0)!=(0);
+ if (!($40)) {
+ $res = 1;
+ }
+ $41 = $xxx;
+ __gcry_mpi_release($41);
+ break;
+ }
+ case 1: {
+ $42 = $x;
+ $43 = $1;
+ $44 = $2;
+ $45 = (__gcry_mpi_ec_get_affine($42,0,$43,$44)|0);
+ $46 = ($45|0)!=(0);
+ if (!($46)) {
+ $47 = $w;
+ $48 = $2;
+ $49 = ((($48)) + 20|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (__gcry_mpi_const(4)|0);
+ $52 = $2;
+ _ec_mulm($47,$50,$51,$52);
+ $53 = $w;
+ $54 = $w;
+ $55 = (__gcry_mpi_const(2)|0);
+ $56 = $2;
+ _ec_addm($53,$54,$55,$56);
+ $57 = $w;
+ $58 = $w;
+ $59 = $x;
+ $60 = $2;
+ _ec_mulm($57,$58,$59,$60);
+ $61 = $y;
+ $62 = $x;
+ $63 = $2;
+ _ec_pow2($61,$62,$63);
+ $64 = $w;
+ $65 = $w;
+ $66 = $y;
+ $67 = $2;
+ _ec_addm($64,$65,$66,$67);
+ $68 = $w;
+ $69 = $w;
+ $70 = (__gcry_mpi_const(1)|0);
+ $71 = $2;
+ _ec_addm($68,$69,$70,$71);
+ $72 = $w;
+ $73 = $w;
+ $74 = $x;
+ $75 = $2;
+ _ec_mulm($72,$73,$74,$75);
+ $76 = $w;
+ $77 = $w;
+ $78 = $2;
+ $79 = ((($78)) + 24|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $2;
+ _ec_mulm($76,$77,$80,$81);
+ $82 = $y;
+ $83 = $2;
+ $84 = ((($83)) + 16|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = (__gcry_mpi_const(1)|0);
+ $87 = $2;
+ _ec_subm($82,$85,$86,$87);
+ $88 = $y;
+ $89 = $y;
+ __gcry_mpi_rshift($88,$89,1);
+ $90 = $w;
+ $91 = $w;
+ $92 = $y;
+ $93 = $2;
+ _ec_powm($90,$91,$92,$93);
+ $94 = $w;
+ $95 = (__gcry_mpi_cmp_ui($94,1)|0);
+ $res = $95;
+ break L1;
+ }
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ break;
+ }
+ case 2: {
+ $96 = $x;
+ $97 = $y;
+ $98 = $1;
+ $99 = $2;
+ $100 = (__gcry_mpi_ec_get_affine($96,$97,$98,$99)|0);
+ $101 = ($100|0)!=(0);
+ if ($101) {
+ $0 = 0;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+ }
+ $102 = $x;
+ $103 = $x;
+ $104 = $2;
+ _ec_pow2($102,$103,$104);
+ $105 = $y;
+ $106 = $y;
+ $107 = $2;
+ _ec_pow2($105,$106,$107);
+ $108 = $2;
+ $109 = ((($108)) + 4|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = ($110|0)==(1);
+ $112 = $w;
+ if ($111) {
+ $113 = $x;
+ (__gcry_mpi_set($112,$113)|0);
+ $114 = $w;
+ $115 = $w;
+ __gcry_mpi_neg($114,$115);
+ } else {
+ $116 = $2;
+ $117 = ((($116)) + 20|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $x;
+ $120 = $2;
+ _ec_mulm($112,$118,$119,$120);
+ }
+ $121 = $w;
+ $122 = $w;
+ $123 = $y;
+ $124 = $2;
+ _ec_addm($121,$122,$123,$124);
+ $125 = $w;
+ $126 = $w;
+ $127 = (__gcry_mpi_const(1)|0);
+ $128 = $2;
+ _ec_subm($125,$126,$127,$128);
+ $129 = $x;
+ $130 = $x;
+ $131 = $y;
+ $132 = $2;
+ _ec_mulm($129,$130,$131,$132);
+ $133 = $x;
+ $134 = $x;
+ $135 = $2;
+ $136 = ((($135)) + 24|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = $2;
+ _ec_mulm($133,$134,$137,$138);
+ $139 = $w;
+ $140 = $w;
+ $141 = $x;
+ $142 = $2;
+ _ec_subm($139,$140,$141,$142);
+ $143 = $w;
+ $144 = (__gcry_mpi_cmp_ui($143,0)|0);
+ $145 = ($144|0)!=(0);
+ if (!($145)) {
+ $res = 1;
+ }
+ break;
+ }
+ default: {
+ }
+ }
+ } while(0);
+ $146 = $w;
+ __gcry_mpi_release($146);
+ $147 = $x;
+ __gcry_mpi_release($147);
+ $148 = $y;
+ __gcry_mpi_release($148);
+ $149 = $res;
+ $0 = $149;
+ $150 = $0;
+ STACKTOP = sp;return ($150|0);
+}
+function _ec_pow3($w,$b,$ctx) {
+ $w = $w|0;
+ $b = $b|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $b;
+ $2 = $ctx;
+ $3 = $0;
+ $4 = $1;
+ $5 = (__gcry_mpi_const(3)|0);
+ $6 = $2;
+ $7 = ((($6)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ __gcry_mpi_powm($3,$4,$5,$8);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_add_ui($w,$u,$v) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $cy = 0, $up = 0, $usign = 0, $usize = 0, $wp = 0, $wsign = 0;
+ var $wsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $usize = $5;
+ $6 = $1;
+ $7 = ((($6)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $usign = $8;
+ $wsign = 0;
+ $9 = $usize;
+ $10 = (($9) + 1)|0;
+ $wsize = $10;
+ $11 = $0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $wsize;
+ $14 = ($12|0)<($13|0);
+ if ($14) {
+ $15 = $0;
+ $16 = $wsize;
+ __gcry_mpi_resize($15,$16);
+ }
+ $17 = $1;
+ $18 = ((($17)) + 16|0);
+ $19 = HEAP32[$18>>2]|0;
+ $up = $19;
+ $20 = $0;
+ $21 = ((($20)) + 16|0);
+ $22 = HEAP32[$21>>2]|0;
+ $wp = $22;
+ $23 = $usize;
+ $24 = ($23|0)!=(0);
+ do {
+ if ($24) {
+ $30 = $usign;
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ $32 = $wp;
+ $33 = $up;
+ $34 = $usize;
+ $35 = $2;
+ $36 = (__gcry_mpih_add_1($32,$33,$34,$35)|0);
+ $cy = $36;
+ $37 = $cy;
+ $38 = $usize;
+ $39 = $wp;
+ $40 = (($39) + ($38<<2)|0);
+ HEAP32[$40>>2] = $37;
+ $41 = $usize;
+ $42 = $cy;
+ $43 = (($41) + ($42))|0;
+ $wsize = $43;
+ break;
+ }
+ $44 = $usize;
+ $45 = ($44|0)==(1);
+ if ($45) {
+ $46 = $up;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $2;
+ $49 = ($47>>>0)<($48>>>0);
+ if ($49) {
+ $50 = $2;
+ $51 = $up;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($50) - ($52))|0;
+ $54 = $wp;
+ HEAP32[$54>>2] = $53;
+ $wsize = 1;
+ break;
+ }
+ }
+ $55 = $wp;
+ $56 = $up;
+ $57 = $usize;
+ $58 = $2;
+ (__gcry_mpih_sub_1($55,$56,$57,$58)|0);
+ $59 = $usize;
+ $60 = $usize;
+ $61 = (($60) - 1)|0;
+ $62 = $wp;
+ $63 = (($62) + ($61<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = ($64|0)==(0);
+ $66 = $65&1;
+ $67 = (($59) - ($66))|0;
+ $wsize = $67;
+ $wsign = 1;
+ } else {
+ $25 = $2;
+ $26 = $wp;
+ HEAP32[$26>>2] = $25;
+ $27 = $2;
+ $28 = ($27|0)!=(0);
+ $29 = $28 ? 1 : 0;
+ $wsize = $29;
+ }
+ } while(0);
+ $68 = $wsize;
+ $69 = $0;
+ $70 = ((($69)) + 4|0);
+ HEAP32[$70>>2] = $68;
+ $71 = $wsign;
+ $72 = $0;
+ $73 = ((($72)) + 8|0);
+ HEAP32[$73>>2] = $71;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_add($w,$u,$v) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $_i = 0, $cy = 0, $up = 0, $usign = 0, $usize = 0, $vp = 0, $vsign = 0, $vsize = 0, $wp = 0, $wsign = 0, $wsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $2;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($5|0)<($8|0);
+ if ($9) {
+ $10 = $2;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $usize = $12;
+ $13 = $2;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $usign = $15;
+ $16 = $1;
+ $17 = ((($16)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ $vsize = $18;
+ $19 = $1;
+ $20 = ((($19)) + 8|0);
+ $21 = HEAP32[$20>>2]|0;
+ $vsign = $21;
+ $22 = $usize;
+ $23 = (($22) + 1)|0;
+ $wsize = $23;
+ $24 = $0;
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $wsize;
+ $27 = ($25|0)<($26|0);
+ if ($27) {
+ $28 = $0;
+ $29 = $wsize;
+ __gcry_mpi_resize($28,$29);
+ }
+ $30 = $2;
+ $31 = ((($30)) + 16|0);
+ $32 = HEAP32[$31>>2]|0;
+ $up = $32;
+ $33 = $1;
+ $34 = ((($33)) + 16|0);
+ $35 = HEAP32[$34>>2]|0;
+ $vp = $35;
+ } else {
+ $36 = $1;
+ $37 = ((($36)) + 4|0);
+ $38 = HEAP32[$37>>2]|0;
+ $usize = $38;
+ $39 = $1;
+ $40 = ((($39)) + 8|0);
+ $41 = HEAP32[$40>>2]|0;
+ $usign = $41;
+ $42 = $2;
+ $43 = ((($42)) + 4|0);
+ $44 = HEAP32[$43>>2]|0;
+ $vsize = $44;
+ $45 = $2;
+ $46 = ((($45)) + 8|0);
+ $47 = HEAP32[$46>>2]|0;
+ $vsign = $47;
+ $48 = $usize;
+ $49 = (($48) + 1)|0;
+ $wsize = $49;
+ $50 = $0;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $wsize;
+ $53 = ($51|0)<($52|0);
+ if ($53) {
+ $54 = $0;
+ $55 = $wsize;
+ __gcry_mpi_resize($54,$55);
+ }
+ $56 = $1;
+ $57 = ((($56)) + 16|0);
+ $58 = HEAP32[$57>>2]|0;
+ $up = $58;
+ $59 = $2;
+ $60 = ((($59)) + 16|0);
+ $61 = HEAP32[$60>>2]|0;
+ $vp = $61;
+ }
+ $62 = $0;
+ $63 = ((($62)) + 16|0);
+ $64 = HEAP32[$63>>2]|0;
+ $wp = $64;
+ $wsign = 0;
+ $65 = $vsize;
+ $66 = ($65|0)!=(0);
+ do {
+ if ($66) {
+ $81 = $usign;
+ $82 = $vsign;
+ $83 = ($81|0)!=($82|0);
+ if (!($83)) {
+ $142 = $wp;
+ $143 = $up;
+ $144 = $usize;
+ $145 = $vp;
+ $146 = $vsize;
+ $147 = (__gcry_mpih_add($142,$143,$144,$145,$146)|0);
+ $cy = $147;
+ $148 = $cy;
+ $149 = $usize;
+ $150 = $wp;
+ $151 = (($150) + ($149<<2)|0);
+ HEAP32[$151>>2] = $148;
+ $152 = $usize;
+ $153 = $cy;
+ $154 = (($152) + ($153))|0;
+ $wsize = $154;
+ $155 = $usign;
+ $156 = ($155|0)!=(0);
+ if (!($156)) {
+ break;
+ }
+ $wsign = 1;
+ break;
+ }
+ $84 = $usize;
+ $85 = $vsize;
+ $86 = ($84|0)!=($85|0);
+ if ($86) {
+ $87 = $wp;
+ $88 = $up;
+ $89 = $usize;
+ $90 = $vp;
+ $91 = $vsize;
+ (__gcry_mpih_sub($87,$88,$89,$90,$91)|0);
+ $92 = $usize;
+ $wsize = $92;
+ while(1) {
+ $93 = $wsize;
+ $94 = ($93|0)>(0);
+ if (!($94)) {
+ break;
+ }
+ $95 = $wsize;
+ $96 = (($95) - 1)|0;
+ $97 = $wp;
+ $98 = (($97) + ($96<<2)|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)!=(0);
+ if ($100) {
+ break;
+ }
+ $101 = $wsize;
+ $102 = (($101) + -1)|0;
+ $wsize = $102;
+ }
+ $103 = $usign;
+ $wsign = $103;
+ break;
+ }
+ $104 = $up;
+ $105 = $vp;
+ $106 = $usize;
+ $107 = (__gcry_mpih_cmp($104,$105,$106)|0);
+ $108 = ($107|0)<(0);
+ $109 = $wp;
+ if ($108) {
+ $110 = $vp;
+ $111 = $up;
+ $112 = $usize;
+ (__gcry_mpih_sub_n($109,$110,$111,$112)|0);
+ $113 = $usize;
+ $wsize = $113;
+ while(1) {
+ $114 = $wsize;
+ $115 = ($114|0)>(0);
+ if (!($115)) {
+ break;
+ }
+ $116 = $wsize;
+ $117 = (($116) - 1)|0;
+ $118 = $wp;
+ $119 = (($118) + ($117<<2)|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = ($120|0)!=(0);
+ if ($121) {
+ break;
+ }
+ $122 = $wsize;
+ $123 = (($122) + -1)|0;
+ $wsize = $123;
+ }
+ $124 = $usign;
+ $125 = ($124|0)!=(0);
+ if ($125) {
+ break;
+ }
+ $wsign = 1;
+ break;
+ } else {
+ $126 = $up;
+ $127 = $vp;
+ $128 = $usize;
+ (__gcry_mpih_sub_n($109,$126,$127,$128)|0);
+ $129 = $usize;
+ $wsize = $129;
+ while(1) {
+ $130 = $wsize;
+ $131 = ($130|0)>(0);
+ if (!($131)) {
+ break;
+ }
+ $132 = $wsize;
+ $133 = (($132) - 1)|0;
+ $134 = $wp;
+ $135 = (($134) + ($133<<2)|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = ($136|0)!=(0);
+ if ($137) {
+ break;
+ }
+ $138 = $wsize;
+ $139 = (($138) + -1)|0;
+ $wsize = $139;
+ }
+ $140 = $usign;
+ $141 = ($140|0)!=(0);
+ if (!($141)) {
+ break;
+ }
+ $wsign = 1;
+ break;
+ }
+ } else {
+ $_i = 0;
+ while(1) {
+ $67 = $_i;
+ $68 = $usize;
+ $69 = ($67|0)<($68|0);
+ if (!($69)) {
+ break;
+ }
+ $70 = $_i;
+ $71 = $up;
+ $72 = (($71) + ($70<<2)|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = $_i;
+ $75 = $wp;
+ $76 = (($75) + ($74<<2)|0);
+ HEAP32[$76>>2] = $73;
+ $77 = $_i;
+ $78 = (($77) + 1)|0;
+ $_i = $78;
+ }
+ $79 = $usize;
+ $wsize = $79;
+ $80 = $usign;
+ $wsign = $80;
+ }
+ } while(0);
+ $157 = $wsize;
+ $158 = $0;
+ $159 = ((($158)) + 4|0);
+ HEAP32[$159>>2] = $157;
+ $160 = $wsign;
+ $161 = $0;
+ $162 = ((($161)) + 8|0);
+ HEAP32[$162>>2] = $160;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_sub_ui($w,$u,$v) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $cy = 0, $up = 0, $usign = 0, $usize = 0, $wp = 0, $wsign = 0;
+ var $wsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $usize = $5;
+ $6 = $1;
+ $7 = ((($6)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $usign = $8;
+ $wsign = 0;
+ $9 = $usize;
+ $10 = (($9) + 1)|0;
+ $wsize = $10;
+ $11 = $0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $wsize;
+ $14 = ($12|0)<($13|0);
+ if ($14) {
+ $15 = $0;
+ $16 = $wsize;
+ __gcry_mpi_resize($15,$16);
+ }
+ $17 = $1;
+ $18 = ((($17)) + 16|0);
+ $19 = HEAP32[$18>>2]|0;
+ $up = $19;
+ $20 = $0;
+ $21 = ((($20)) + 16|0);
+ $22 = HEAP32[$21>>2]|0;
+ $wp = $22;
+ $23 = $usize;
+ $24 = ($23|0)!=(0);
+ do {
+ if ($24) {
+ $30 = $usign;
+ $31 = ($30|0)!=(0);
+ if ($31) {
+ $32 = $wp;
+ $33 = $up;
+ $34 = $usize;
+ $35 = $2;
+ $36 = (__gcry_mpih_add_1($32,$33,$34,$35)|0);
+ $cy = $36;
+ $37 = $cy;
+ $38 = $usize;
+ $39 = $wp;
+ $40 = (($39) + ($38<<2)|0);
+ HEAP32[$40>>2] = $37;
+ $41 = $usize;
+ $42 = $cy;
+ $43 = (($41) + ($42))|0;
+ $wsize = $43;
+ break;
+ }
+ $44 = $usize;
+ $45 = ($44|0)==(1);
+ if ($45) {
+ $46 = $up;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $2;
+ $49 = ($47>>>0)<($48>>>0);
+ if ($49) {
+ $50 = $2;
+ $51 = $up;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($50) - ($52))|0;
+ $54 = $wp;
+ HEAP32[$54>>2] = $53;
+ $wsize = 1;
+ $wsign = 1;
+ break;
+ }
+ }
+ $55 = $wp;
+ $56 = $up;
+ $57 = $usize;
+ $58 = $2;
+ (__gcry_mpih_sub_1($55,$56,$57,$58)|0);
+ $59 = $usize;
+ $60 = $usize;
+ $61 = (($60) - 1)|0;
+ $62 = $wp;
+ $63 = (($62) + ($61<<2)|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = ($64|0)==(0);
+ $66 = $65&1;
+ $67 = (($59) - ($66))|0;
+ $wsize = $67;
+ } else {
+ $25 = $2;
+ $26 = $wp;
+ HEAP32[$26>>2] = $25;
+ $27 = $2;
+ $28 = ($27|0)!=(0);
+ $29 = $28 ? 1 : 0;
+ $wsize = $29;
+ $wsign = 1;
+ }
+ } while(0);
+ $68 = $wsize;
+ $69 = $0;
+ $70 = ((($69)) + 4|0);
+ HEAP32[$70>>2] = $68;
+ $71 = $wsign;
+ $72 = $0;
+ $73 = ((($72)) + 8|0);
+ HEAP32[$73>>2] = $71;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_sub($w,$u,$v) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vv = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $2;
+ $4 = (__gcry_mpi_copy($3)|0);
+ $vv = $4;
+ $5 = $vv;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(0);
+ $9 = $8 ^ 1;
+ $10 = $9&1;
+ $11 = $vv;
+ $12 = ((($11)) + 8|0);
+ HEAP32[$12>>2] = $10;
+ $13 = $0;
+ $14 = $1;
+ $15 = $vv;
+ __gcry_mpi_add($13,$14,$15);
+ $16 = $vv;
+ __gcry_mpi_free($16);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_addm($w,$u,$v,$m) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $m;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ __gcry_mpi_add($4,$5,$6);
+ $7 = $0;
+ $8 = $0;
+ $9 = $3;
+ __gcry_mpi_mod($7,$8,$9);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_subm($w,$u,$v,$m) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $m;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ __gcry_mpi_sub($4,$5,$6);
+ $7 = $0;
+ $8 = $0;
+ $9 = $3;
+ __gcry_mpi_mod($7,$8,$9);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_normalize($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 4;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ STACKTOP = sp;return;
+ }
+ }
+ while(1) {
+ $8 = $0;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ label = 6;
+ break;
+ }
+ $12 = $0;
+ $13 = ((($12)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (($14) - 1)|0;
+ $16 = $0;
+ $17 = ((($16)) + 16|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (($18) + ($15<<2)|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)!=(0);
+ $22 = $21 ^ 1;
+ if (!($22)) {
+ label = 6;
+ break;
+ }
+ $23 = $0;
+ $24 = ((($23)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (($25) + -1)|0;
+ HEAP32[$24>>2] = $26;
+ }
+ if ((label|0) == 6) {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_mpi_get_nbits($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $__a = 0, $__xr = 0, $alimb = 0, $n = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $1;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $1;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 4;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = $1;
+ $10 = ((($9)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $0 = $11;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+ }
+ }
+ $12 = $1;
+ __gcry_mpi_normalize($12);
+ $13 = $1;
+ $14 = ((($13)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ $17 = $1;
+ $18 = ((($17)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($19) - 1)|0;
+ $21 = $1;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($23) + ($20<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $alimb = $25;
+ $26 = $alimb;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ $28 = $alimb;
+ $__xr = $28;
+ $29 = $__xr;
+ $30 = ($29>>>0)<(65536);
+ $31 = $__xr;
+ $32 = ($31>>>0)<(256);
+ $33 = $32 ? 0 : 8;
+ $34 = ($31>>>0)<(16777216);
+ $35 = $34 ? 16 : 24;
+ $36 = $30 ? $33 : $35;
+ $__a = $36;
+ $37 = $__xr;
+ $38 = $__a;
+ $39 = $37 >>> $38;
+ $40 = (45829 + ($39)|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = $41&255;
+ $43 = $__a;
+ $44 = (($42) + ($43))|0;
+ $45 = (32 - ($44))|0;
+ $n = $45;
+ } else {
+ $n = 32;
+ }
+ $46 = $n;
+ $47 = (32 - ($46))|0;
+ $48 = $1;
+ $49 = ((($48)) + 4|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($50) - 1)|0;
+ $52 = $51<<5;
+ $53 = (($47) + ($52))|0;
+ $n = $53;
+ } else {
+ $n = 0;
+ }
+ $54 = $n;
+ $0 = $54;
+ $55 = $0;
+ STACKTOP = sp;return ($55|0);
+}
+function __gcry_mpi_test_bit($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bitno = 0, $limb = 0, $limbno = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $n;
+ $3 = $2;
+ $4 = (($3>>>0) / 32)&-1;
+ $limbno = $4;
+ $5 = $2;
+ $6 = (($5>>>0) % 32)&-1;
+ $bitno = $6;
+ $7 = $limbno;
+ $8 = $1;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($7>>>0)>=($10>>>0);
+ if ($11) {
+ $0 = 0;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ } else {
+ $12 = $limbno;
+ $13 = $1;
+ $14 = ((($13)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($15) + ($12<<2)|0);
+ $17 = HEAP32[$16>>2]|0;
+ $limb = $17;
+ $18 = $limb;
+ $19 = $bitno;
+ $20 = 1 << $19;
+ $21 = $18 & $20;
+ $22 = ($21|0)!=(0);
+ $23 = $22 ? 1 : 0;
+ $0 = $23;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_set_bit($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bitno = 0, $i = 0, $limbno = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $n;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $0;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 16;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $9 = $1;
+ $10 = (($9>>>0) / 32)&-1;
+ $limbno = $10;
+ $11 = $1;
+ $12 = (($11>>>0) % 32)&-1;
+ $bitno = $12;
+ $13 = $limbno;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($13>>>0)>=($16>>>0);
+ if ($17) {
+ $18 = $0;
+ $19 = ((($18)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $i = $20;
+ while(1) {
+ $21 = $i;
+ $22 = $0;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($21>>>0)<($23>>>0);
+ if (!($24)) {
+ break;
+ }
+ $25 = $i;
+ $26 = $0;
+ $27 = ((($26)) + 16|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (($28) + ($25<<2)|0);
+ HEAP32[$29>>2] = 0;
+ $30 = $i;
+ $31 = (($30) + 1)|0;
+ $i = $31;
+ }
+ $32 = $0;
+ $33 = $limbno;
+ $34 = (($33) + 1)|0;
+ __gcry_mpi_resize($32,$34);
+ $35 = $limbno;
+ $36 = (($35) + 1)|0;
+ $37 = $0;
+ $38 = ((($37)) + 4|0);
+ HEAP32[$38>>2] = $36;
+ }
+ $39 = $bitno;
+ $40 = 1 << $39;
+ $41 = $limbno;
+ $42 = $0;
+ $43 = ((($42)) + 16|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (($44) + ($41<<2)|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $46 | $40;
+ HEAP32[$45>>2] = $47;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set_highbit($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $bitno = 0, $i = 0, $limbno = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $n;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $0;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 16;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $9 = $1;
+ $10 = (($9>>>0) / 32)&-1;
+ $limbno = $10;
+ $11 = $1;
+ $12 = (($11>>>0) % 32)&-1;
+ $bitno = $12;
+ $13 = $limbno;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($13>>>0)>=($16>>>0);
+ if ($17) {
+ $18 = $0;
+ $19 = ((($18)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $i = $20;
+ while(1) {
+ $21 = $i;
+ $22 = $0;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($21>>>0)<($23>>>0);
+ if (!($24)) {
+ break;
+ }
+ $25 = $i;
+ $26 = $0;
+ $27 = ((($26)) + 16|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = (($28) + ($25<<2)|0);
+ HEAP32[$29>>2] = 0;
+ $30 = $i;
+ $31 = (($30) + 1)|0;
+ $i = $31;
+ }
+ $32 = $0;
+ $33 = $limbno;
+ $34 = (($33) + 1)|0;
+ __gcry_mpi_resize($32,$34);
+ $35 = $limbno;
+ $36 = (($35) + 1)|0;
+ $37 = $0;
+ $38 = ((($37)) + 4|0);
+ HEAP32[$38>>2] = $36;
+ }
+ $39 = $bitno;
+ $40 = 1 << $39;
+ $41 = $limbno;
+ $42 = $0;
+ $43 = ((($42)) + 16|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (($44) + ($41<<2)|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $46 | $40;
+ HEAP32[$45>>2] = $47;
+ $48 = $bitno;
+ $49 = (($48) + 1)|0;
+ $bitno = $49;
+ while(1) {
+ $50 = $bitno;
+ $51 = ($50>>>0)<(32);
+ if (!($51)) {
+ break;
+ }
+ $52 = $bitno;
+ $53 = 1 << $52;
+ $54 = $53 ^ -1;
+ $55 = $limbno;
+ $56 = $0;
+ $57 = ((($56)) + 16|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($58) + ($55<<2)|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $60 & $54;
+ HEAP32[$59>>2] = $61;
+ $62 = $bitno;
+ $63 = (($62) + 1)|0;
+ $bitno = $63;
+ }
+ $64 = $limbno;
+ $65 = (($64) + 1)|0;
+ $66 = $0;
+ $67 = ((($66)) + 4|0);
+ HEAP32[$67>>2] = $65;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_clear_highbit($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bitno = 0, $limbno = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $n;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $0;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 16;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $9 = $1;
+ $10 = (($9>>>0) / 32)&-1;
+ $limbno = $10;
+ $11 = $1;
+ $12 = (($11>>>0) % 32)&-1;
+ $bitno = $12;
+ $13 = $limbno;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($13>>>0)>=($16>>>0);
+ if ($17) {
+ STACKTOP = sp;return;
+ }
+ while(1) {
+ $18 = $bitno;
+ $19 = ($18>>>0)<(32);
+ if (!($19)) {
+ break;
+ }
+ $20 = $bitno;
+ $21 = 1 << $20;
+ $22 = $21 ^ -1;
+ $23 = $limbno;
+ $24 = $0;
+ $25 = ((($24)) + 16|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($26) + ($23<<2)|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $28 & $22;
+ HEAP32[$27>>2] = $29;
+ $30 = $bitno;
+ $31 = (($30) + 1)|0;
+ $bitno = $31;
+ }
+ $32 = $limbno;
+ $33 = (($32) + 1)|0;
+ $34 = $0;
+ $35 = ((($34)) + 4|0);
+ HEAP32[$35>>2] = $33;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_clear_bit($a,$n) {
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $bitno = 0, $limbno = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $n;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $0;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 16;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $9 = $1;
+ $10 = (($9>>>0) / 32)&-1;
+ $limbno = $10;
+ $11 = $1;
+ $12 = (($11>>>0) % 32)&-1;
+ $bitno = $12;
+ $13 = $limbno;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($13>>>0)>=($16>>>0);
+ if ($17) {
+ STACKTOP = sp;return;
+ }
+ $18 = $bitno;
+ $19 = 1 << $18;
+ $20 = $19 ^ -1;
+ $21 = $limbno;
+ $22 = $0;
+ $23 = ((($22)) + 16|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (($24) + ($21<<2)|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $26 & $20;
+ HEAP32[$25>>2] = $27;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_rshift_limbs($a,$count) {
+ $a = $a|0;
+ $count = $count|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $ap = 0, $i = 0, $n = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $count;
+ $2 = $0;
+ $3 = ((($2)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $ap = $4;
+ $5 = $0;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $n = $7;
+ $8 = $0;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $0;
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12 & 16;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $15 = $1;
+ $16 = $n;
+ $17 = ($15>>>0)>=($16>>>0);
+ if ($17) {
+ $18 = $0;
+ $19 = ((($18)) + 4|0);
+ HEAP32[$19>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $i = 0;
+ while(1) {
+ $20 = $i;
+ $21 = $n;
+ $22 = $1;
+ $23 = (($21) - ($22))|0;
+ $24 = ($20>>>0)<($23>>>0);
+ $25 = $i;
+ if (!($24)) {
+ break;
+ }
+ $26 = $1;
+ $27 = (($25) + ($26))|0;
+ $28 = $ap;
+ $29 = (($28) + ($27<<2)|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $i;
+ $32 = $ap;
+ $33 = (($32) + ($31<<2)|0);
+ HEAP32[$33>>2] = $30;
+ $34 = $i;
+ $35 = (($34) + 1)|0;
+ $i = $35;
+ }
+ $36 = $ap;
+ $37 = (($36) + ($25<<2)|0);
+ HEAP32[$37>>2] = 0;
+ $38 = $1;
+ $39 = $0;
+ $40 = ((($39)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($41) - ($38))|0;
+ HEAP32[$40>>2] = $42;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_rshift($x,$a,$n) {
+ $x = $x|0;
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $i = 0, $nbits = 0, $nlimbs = 0, $or$cond = 0, $or$cond3 = 0, $xsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $a;
+ $2 = $n;
+ $3 = $2;
+ $4 = (($3>>>0) / 32)&-1;
+ $nlimbs = $4;
+ $5 = $2;
+ $6 = (($5>>>0) % 32)&-1;
+ $nbits = $6;
+ $7 = $0;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $0;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 16;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $14 = $0;
+ $15 = $1;
+ $16 = ($14|0)==($15|0);
+ $17 = $nlimbs;
+ L6: do {
+ if ($16) {
+ $18 = $0;
+ $19 = ((($18)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($17>>>0)>=($20>>>0);
+ if ($21) {
+ $22 = $0;
+ $23 = ((($22)) + 4|0);
+ HEAP32[$23>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $24 = $nlimbs;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $i = 0;
+ while(1) {
+ $26 = $i;
+ $27 = $0;
+ $28 = ((($27)) + 4|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $nlimbs;
+ $31 = (($29) - ($30))|0;
+ $32 = ($26>>>0)<($31>>>0);
+ $33 = $i;
+ if (!($32)) {
+ break;
+ }
+ $34 = $nlimbs;
+ $35 = (($33) + ($34))|0;
+ $36 = $0;
+ $37 = ((($36)) + 16|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = (($38) + ($35<<2)|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $i;
+ $42 = $0;
+ $43 = ((($42)) + 16|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (($44) + ($41<<2)|0);
+ HEAP32[$45>>2] = $40;
+ $46 = $i;
+ $47 = (($46) + 1)|0;
+ $i = $47;
+ }
+ $48 = $0;
+ $49 = ((($48)) + 16|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($50) + ($33<<2)|0);
+ HEAP32[$51>>2] = 0;
+ $52 = $nlimbs;
+ $53 = $0;
+ $54 = ((($53)) + 4|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (($55) - ($52))|0;
+ HEAP32[$54>>2] = $56;
+ }
+ $57 = $0;
+ $58 = ((($57)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($59|0)!=(0);
+ $61 = $nbits;
+ $62 = ($61|0)!=(0);
+ $or$cond = $60 & $62;
+ if ($or$cond) {
+ $63 = $0;
+ $64 = ((($63)) + 16|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = $0;
+ $67 = ((($66)) + 16|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $0;
+ $70 = ((($69)) + 4|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $nbits;
+ (__gcry_mpih_rshift($65,$68,$71,$72)|0);
+ }
+ } else {
+ $73 = ($17|0)!=(0);
+ $74 = $1;
+ $75 = ((($74)) + 4|0);
+ $76 = HEAP32[$75>>2]|0;
+ $xsize = $76;
+ $77 = $1;
+ $78 = ((($77)) + 8|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $0;
+ $81 = ((($80)) + 8|0);
+ HEAP32[$81>>2] = $79;
+ $82 = $0;
+ $83 = HEAP32[$82>>2]|0;
+ $84 = $xsize;
+ $85 = ($83|0)<($84|0);
+ if (!($73)) {
+ if ($85) {
+ $167 = $0;
+ $168 = $xsize;
+ __gcry_mpi_resize($167,$168);
+ }
+ $169 = $xsize;
+ $170 = $0;
+ $171 = ((($170)) + 4|0);
+ HEAP32[$171>>2] = $169;
+ $172 = $xsize;
+ $173 = ($172|0)!=(0);
+ if (!($173)) {
+ break;
+ }
+ $174 = $nbits;
+ $175 = ($174|0)!=(0);
+ if ($175) {
+ $176 = $0;
+ $177 = ((($176)) + 16|0);
+ $178 = HEAP32[$177>>2]|0;
+ $179 = $1;
+ $180 = ((($179)) + 16|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = $0;
+ $183 = ((($182)) + 4|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = $nbits;
+ (__gcry_mpih_rshift($178,$181,$184,$185)|0);
+ break;
+ }
+ $i = 0;
+ while(1) {
+ $186 = $i;
+ $187 = $0;
+ $188 = ((($187)) + 4|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = ($186>>>0)<($189>>>0);
+ if (!($190)) {
+ break L6;
+ }
+ $191 = $i;
+ $192 = $1;
+ $193 = ((($192)) + 16|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = (($194) + ($191<<2)|0);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = $i;
+ $198 = $0;
+ $199 = ((($198)) + 16|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = (($200) + ($197<<2)|0);
+ HEAP32[$201>>2] = $196;
+ $202 = $i;
+ $203 = (($202) + 1)|0;
+ $i = $203;
+ }
+ }
+ if ($85) {
+ $86 = $0;
+ $87 = $xsize;
+ __gcry_mpi_resize($86,$87);
+ }
+ $88 = $xsize;
+ $89 = $0;
+ $90 = ((($89)) + 4|0);
+ HEAP32[$90>>2] = $88;
+ $i = 0;
+ while(1) {
+ $91 = $i;
+ $92 = $1;
+ $93 = ((($92)) + 4|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = ($91>>>0)<($94>>>0);
+ $96 = $i;
+ if (!($95)) {
+ break;
+ }
+ $97 = $1;
+ $98 = ((($97)) + 16|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = (($99) + ($96<<2)|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $i;
+ $103 = $0;
+ $104 = ((($103)) + 16|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($105) + ($102<<2)|0);
+ HEAP32[$106>>2] = $101;
+ $107 = $i;
+ $108 = (($107) + 1)|0;
+ $i = $108;
+ }
+ $109 = $0;
+ $110 = ((($109)) + 4|0);
+ HEAP32[$110>>2] = $96;
+ $111 = $nlimbs;
+ $112 = $0;
+ $113 = ((($112)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ($111>>>0)>=($114>>>0);
+ if ($115) {
+ $116 = $0;
+ $117 = ((($116)) + 4|0);
+ HEAP32[$117>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $118 = $nlimbs;
+ $119 = ($118|0)!=(0);
+ if ($119) {
+ $i = 0;
+ while(1) {
+ $120 = $i;
+ $121 = $0;
+ $122 = ((($121)) + 4|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $nlimbs;
+ $125 = (($123) - ($124))|0;
+ $126 = ($120>>>0)<($125>>>0);
+ $127 = $i;
+ if (!($126)) {
+ break;
+ }
+ $128 = $nlimbs;
+ $129 = (($127) + ($128))|0;
+ $130 = $0;
+ $131 = ((($130)) + 16|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (($132) + ($129<<2)|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = $i;
+ $136 = $0;
+ $137 = ((($136)) + 16|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (($138) + ($135<<2)|0);
+ HEAP32[$139>>2] = $134;
+ $140 = $i;
+ $141 = (($140) + 1)|0;
+ $i = $141;
+ }
+ $142 = $0;
+ $143 = ((($142)) + 16|0);
+ $144 = HEAP32[$143>>2]|0;
+ $145 = (($144) + ($127<<2)|0);
+ HEAP32[$145>>2] = 0;
+ $146 = $nlimbs;
+ $147 = $0;
+ $148 = ((($147)) + 4|0);
+ $149 = HEAP32[$148>>2]|0;
+ $150 = (($149) - ($146))|0;
+ HEAP32[$148>>2] = $150;
+ }
+ $151 = $0;
+ $152 = ((($151)) + 4|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = ($153|0)!=(0);
+ $155 = $nbits;
+ $156 = ($155|0)!=(0);
+ $or$cond3 = $154 & $156;
+ if ($or$cond3) {
+ $157 = $0;
+ $158 = ((($157)) + 16|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = $0;
+ $161 = ((($160)) + 16|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = $0;
+ $164 = ((($163)) + 4|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = $nbits;
+ (__gcry_mpih_rshift($159,$162,$165,$166)|0);
+ }
+ }
+ } while(0);
+ while(1) {
+ $204 = $0;
+ $205 = ((($204)) + 4|0);
+ $206 = HEAP32[$205>>2]|0;
+ $207 = ($206|0)>(0);
+ if (!($207)) {
+ label = 40;
+ break;
+ }
+ $208 = $0;
+ $209 = ((($208)) + 4|0);
+ $210 = HEAP32[$209>>2]|0;
+ $211 = (($210) - 1)|0;
+ $212 = $0;
+ $213 = ((($212)) + 16|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = (($214) + ($211<<2)|0);
+ $216 = HEAP32[$215>>2]|0;
+ $217 = ($216|0)!=(0);
+ if ($217) {
+ label = 40;
+ break;
+ }
+ $218 = $0;
+ $219 = ((($218)) + 4|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = (($220) + -1)|0;
+ HEAP32[$219>>2] = $221;
+ }
+ if ((label|0) == 40) {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_mpi_lshift_limbs($a,$count) {
+ $a = $a|0;
+ $count = $count|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $i = 0, $n = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $count;
+ $2 = $0;
+ $3 = ((($2)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $n = $4;
+ $5 = $1;
+ $6 = ($5|0)!=(0);
+ $7 = $n;
+ $8 = ($7|0)!=(0);
+ $or$cond = $6 & $8;
+ if (!($or$cond)) {
+ STACKTOP = sp;return;
+ }
+ $9 = $0;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $n;
+ $12 = $1;
+ $13 = (($11) + ($12))|0;
+ $14 = ($10>>>0)<($13>>>0);
+ if ($14) {
+ $15 = $0;
+ $16 = $n;
+ $17 = $1;
+ $18 = (($16) + ($17))|0;
+ __gcry_mpi_resize($15,$18);
+ }
+ $19 = $0;
+ $20 = ((($19)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $ap = $21;
+ $22 = $n;
+ $23 = (($22) - 1)|0;
+ $i = $23;
+ while(1) {
+ $24 = $i;
+ $25 = ($24|0)>=(0);
+ if (!($25)) {
+ break;
+ }
+ $26 = $i;
+ $27 = $ap;
+ $28 = (($27) + ($26<<2)|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $i;
+ $31 = $1;
+ $32 = (($30) + ($31))|0;
+ $33 = $ap;
+ $34 = (($33) + ($32<<2)|0);
+ HEAP32[$34>>2] = $29;
+ $35 = $i;
+ $36 = (($35) + -1)|0;
+ $i = $36;
+ }
+ $i = 0;
+ while(1) {
+ $37 = $i;
+ $38 = $1;
+ $39 = ($37>>>0)<($38>>>0);
+ if (!($39)) {
+ break;
+ }
+ $40 = $i;
+ $41 = $ap;
+ $42 = (($41) + ($40<<2)|0);
+ HEAP32[$42>>2] = 0;
+ $43 = $i;
+ $44 = (($43) + 1)|0;
+ $i = $44;
+ }
+ $45 = $1;
+ $46 = $0;
+ $47 = ((($46)) + 4|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (($48) + ($45))|0;
+ HEAP32[$47>>2] = $49;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_lshift($x,$a,$n) {
+ $x = $x|0;
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $_i = 0, $alimbs = 0, $ap = 0, $asign = 0, $nbits = 0, $nlimbs = 0, $or$cond = 0, $or$cond3 = 0, $xp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $a;
+ $2 = $n;
+ $3 = $2;
+ $4 = (($3>>>0) / 32)&-1;
+ $nlimbs = $4;
+ $5 = $2;
+ $6 = (($5>>>0) % 32)&-1;
+ $nbits = $6;
+ $7 = $0;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $0;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 16;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $14 = $0;
+ $15 = $1;
+ $16 = ($14|0)!=($15|0);
+ $17 = $2;
+ $18 = ($17|0)!=(0);
+ $or$cond = $16 | $18;
+ if (!($or$cond)) {
+ STACKTOP = sp;return;
+ }
+ $19 = $0;
+ $20 = $1;
+ $21 = ($19|0)!=($20|0);
+ if ($21) {
+ $22 = $1;
+ $23 = ((($22)) + 4|0);
+ $24 = HEAP32[$23>>2]|0;
+ $alimbs = $24;
+ $25 = $1;
+ $26 = ((($25)) + 8|0);
+ $27 = HEAP32[$26>>2]|0;
+ $asign = $27;
+ $28 = $0;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $alimbs;
+ $31 = $nlimbs;
+ $32 = (($30) + ($31))|0;
+ $33 = (($32) + 1)|0;
+ $34 = ($29>>>0)<($33>>>0);
+ if ($34) {
+ $35 = $0;
+ $36 = $alimbs;
+ $37 = $nlimbs;
+ $38 = (($36) + ($37))|0;
+ $39 = (($38) + 1)|0;
+ __gcry_mpi_resize($35,$39);
+ }
+ $40 = $0;
+ $41 = ((($40)) + 16|0);
+ $42 = HEAP32[$41>>2]|0;
+ $xp = $42;
+ $43 = $1;
+ $44 = ((($43)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ $ap = $45;
+ $_i = 0;
+ while(1) {
+ $46 = $_i;
+ $47 = $alimbs;
+ $48 = ($46>>>0)<($47>>>0);
+ if (!($48)) {
+ break;
+ }
+ $49 = $_i;
+ $50 = $ap;
+ $51 = (($50) + ($49<<2)|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $_i;
+ $54 = $xp;
+ $55 = (($54) + ($53<<2)|0);
+ HEAP32[$55>>2] = $52;
+ $56 = $_i;
+ $57 = (($56) + 1)|0;
+ $_i = $57;
+ }
+ $58 = $alimbs;
+ $59 = $0;
+ $60 = ((($59)) + 4|0);
+ HEAP32[$60>>2] = $58;
+ $61 = $1;
+ $62 = ((($61)) + 12|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $0;
+ $65 = ((($64)) + 12|0);
+ HEAP32[$65>>2] = $63;
+ $66 = $asign;
+ $67 = $0;
+ $68 = ((($67)) + 8|0);
+ HEAP32[$68>>2] = $66;
+ }
+ $69 = $nlimbs;
+ $70 = ($69|0)==(0);
+ $71 = $nbits;
+ $72 = ($71|0)!=(0);
+ $or$cond3 = $70 | $72;
+ if ($or$cond3) {
+ $75 = $2;
+ $76 = ($75|0)!=(0);
+ if ($76) {
+ $77 = $0;
+ $78 = $nlimbs;
+ $79 = (($78) + 1)|0;
+ __gcry_mpi_lshift_limbs($77,$79);
+ $80 = $0;
+ $81 = $0;
+ $82 = $nbits;
+ $83 = (32 - ($82))|0;
+ __gcry_mpi_rshift($80,$81,$83);
+ }
+ } else {
+ $73 = $0;
+ $74 = $nlimbs;
+ __gcry_mpi_lshift_limbs($73,$74);
+ }
+ while(1) {
+ $84 = $0;
+ $85 = ((($84)) + 4|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = ($86|0)>(0);
+ if (!($87)) {
+ label = 19;
+ break;
+ }
+ $88 = $0;
+ $89 = ((($88)) + 4|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = (($90) - 1)|0;
+ $92 = $0;
+ $93 = ((($92)) + 16|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (($94) + ($91<<2)|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = ($96|0)!=(0);
+ if ($97) {
+ label = 19;
+ break;
+ }
+ $98 = $0;
+ $99 = ((($98)) + 4|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (($100) + -1)|0;
+ HEAP32[$99>>2] = $101;
+ }
+ if ((label|0) == 19) {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_mpi_cmp_ui($u,$v) {
+ $u = $u|0;
+ $v = $v|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $limb = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $u;
+ $2 = $v;
+ $3 = $2;
+ $limb = $3;
+ $4 = $1;
+ __gcry_mpi_normalize($4);
+ $5 = $1;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0);
+ do {
+ if ($8) {
+ $9 = $limb;
+ $10 = ($9|0)!=(0);
+ $11 = $10&1;
+ $12 = (0 - ($11))|0;
+ $0 = $12;
+ } else {
+ $13 = $1;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ $0 = -1;
+ break;
+ }
+ $17 = $1;
+ $18 = ((($17)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($19|0)==(1);
+ if (!($20)) {
+ $0 = 1;
+ break;
+ }
+ $21 = $1;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $limb;
+ $26 = ($24>>>0)>($25>>>0);
+ if ($26) {
+ $0 = 1;
+ break;
+ }
+ $27 = $1;
+ $28 = ((($27)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $limb;
+ $32 = ($30>>>0)<($31>>>0);
+ if ($32) {
+ $0 = -1;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+}
+function __gcry_mpi_cmp($u,$v) {
+ $u = $u|0;
+ $v = $v|0;
+ var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cmp = 0, $or$cond = 0, $usize = 0, $vsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $u;
+ $2 = $v;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $1;
+ $6 = ((($5)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 4;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ label = 3;
+ }
+ } else {
+ label = 3;
+ }
+ do {
+ if ((label|0) == 3) {
+ $10 = $2;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $2;
+ $13 = ((($12)) + 12|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 & 4;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ break;
+ }
+ }
+ $79 = $1;
+ __gcry_mpi_normalize($79);
+ $80 = $2;
+ __gcry_mpi_normalize($80);
+ $81 = $1;
+ $82 = ((($81)) + 4|0);
+ $83 = HEAP32[$82>>2]|0;
+ $usize = $83;
+ $84 = $2;
+ $85 = ((($84)) + 4|0);
+ $86 = HEAP32[$85>>2]|0;
+ $vsize = $86;
+ $87 = $1;
+ $88 = ((($87)) + 8|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = ($89|0)!=(0);
+ if (!($90)) {
+ $91 = $2;
+ $92 = ((($91)) + 8|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ($93|0)!=(0);
+ if ($94) {
+ $0 = 1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ $95 = $1;
+ $96 = ((($95)) + 8|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = ($97|0)!=(0);
+ if ($98) {
+ $99 = $2;
+ $100 = ((($99)) + 8|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = ($101|0)!=(0);
+ if (!($102)) {
+ $0 = -1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ $103 = $usize;
+ $104 = $vsize;
+ $105 = ($103|0)!=($104|0);
+ if ($105) {
+ $106 = $1;
+ $107 = ((($106)) + 8|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ($108|0)!=(0);
+ if (!($109)) {
+ $110 = $2;
+ $111 = ((($110)) + 8|0);
+ $112 = HEAP32[$111>>2]|0;
+ $113 = ($112|0)!=(0);
+ if (!($113)) {
+ $114 = $usize;
+ $115 = $vsize;
+ $116 = (($114) - ($115))|0;
+ $0 = $116;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ }
+ $117 = $usize;
+ $118 = $vsize;
+ $119 = ($117|0)!=($118|0);
+ if ($119) {
+ $120 = $1;
+ $121 = ((($120)) + 8|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = ($122|0)!=(0);
+ if ($123) {
+ $124 = $2;
+ $125 = ((($124)) + 8|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = ($126|0)!=(0);
+ if ($127) {
+ $128 = $vsize;
+ $129 = $usize;
+ $130 = (($128) + ($129))|0;
+ $0 = $130;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ }
+ $131 = $usize;
+ $132 = ($131|0)!=(0);
+ if (!($132)) {
+ $0 = 0;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ $133 = $1;
+ $134 = ((($133)) + 16|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $2;
+ $137 = ((($136)) + 16|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $usize;
+ $140 = (__gcry_mpih_cmp($135,$138,$139)|0);
+ $cmp = $140;
+ $141 = ($140|0)!=(0);
+ if (!($141)) {
+ $0 = 0;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ $142 = $cmp;
+ $143 = ($142|0)<(0);
+ $144 = $143 ? 1 : 0;
+ $145 = $1;
+ $146 = ((($145)) + 8|0);
+ $147 = HEAP32[$146>>2]|0;
+ $148 = ($147|0)!=(0);
+ $149 = $148 ? 1 : 0;
+ $150 = ($144|0)==($149|0);
+ if ($150) {
+ $0 = 1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ } else {
+ $0 = -1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ } while(0);
+ $17 = $1;
+ $18 = ($17|0)!=(0|0);
+ do {
+ if ($18) {
+ $19 = $1;
+ $20 = ((($19)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $21 & 4;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $24 = $2;
+ $25 = ($24|0)!=(0|0);
+ if ($25) {
+ $26 = $2;
+ $27 = ((($26)) + 12|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $28 & 4;
+ $30 = ($29|0)!=(0);
+ if ($30) {
+ break;
+ }
+ }
+ $0 = -1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ } while(0);
+ $31 = $1;
+ $32 = ($31|0)!=(0|0);
+ if ($32) {
+ $33 = $1;
+ $34 = ((($33)) + 12|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $35 & 4;
+ $37 = ($36|0)==(0);
+ $38 = $2;
+ $39 = ($38|0)!=(0|0);
+ $or$cond = $37 & $39;
+ if ($or$cond) {
+ label = 13;
+ }
+ } else {
+ $$old = $2;
+ $$old1 = ($$old|0)!=(0|0);
+ if ($$old1) {
+ label = 13;
+ }
+ }
+ if ((label|0) == 13) {
+ $40 = $2;
+ $41 = ((($40)) + 12|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $42 & 4;
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ $0 = 1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ $45 = $1;
+ $46 = ((($45)) + 8|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(0);
+ if (!($48)) {
+ $49 = $2;
+ $50 = ((($49)) + 8|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ($51|0)!=(0);
+ if (!($52)) {
+ $0 = 0;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ }
+ $53 = $1;
+ $54 = ((($53)) + 8|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $2;
+ $57 = ((($56)) + 8|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ($55|0)<($58|0);
+ if ($59) {
+ $0 = -1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ $60 = $1;
+ $61 = ((($60)) + 8|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $2;
+ $64 = ((($63)) + 8|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ($62|0)>($65|0);
+ if ($66) {
+ $0 = 1;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ } else {
+ $67 = $1;
+ $68 = ((($67)) + 16|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = $2;
+ $71 = ((($70)) + 16|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $1;
+ $74 = ((($73)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = (($75) + 7)|0;
+ $77 = (($76|0) / 8)&-1;
+ $78 = (_memcmp($69,$72,$77)|0);
+ $0 = $78;
+ $151 = $0;
+ STACKTOP = sp;return ($151|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_fdiv_r($rem,$dividend,$divisor) {
+ $rem = $rem|0;
+ $dividend = $dividend|0;
+ $divisor = $divisor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $divisor_sign = 0, $temp_divisor = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rem;
+ $1 = $dividend;
+ $2 = $divisor;
+ $3 = $2;
+ $4 = ((($3)) + 8|0);
+ $5 = HEAP32[$4>>2]|0;
+ $divisor_sign = $5;
+ $temp_divisor = 0;
+ $6 = $0;
+ $7 = $2;
+ $8 = ($6|0)==($7|0);
+ if ($8) {
+ $9 = $2;
+ $10 = (__gcry_mpi_copy($9)|0);
+ $temp_divisor = $10;
+ $11 = $temp_divisor;
+ $2 = $11;
+ }
+ $12 = $0;
+ $13 = $1;
+ $14 = $2;
+ __gcry_mpi_tdiv_r($12,$13,$14);
+ $15 = $divisor_sign;
+ $16 = ($15|0)!=(0);
+ $17 = $16 ? 1 : 0;
+ $18 = $1;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)!=(0);
+ $22 = $21 ? 1 : 0;
+ $23 = $17 ^ $22;
+ $24 = ($23|0)!=(0);
+ if ($24) {
+ $25 = $0;
+ $26 = ((($25)) + 4|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ $29 = $0;
+ $30 = $0;
+ $31 = $2;
+ __gcry_mpi_add($29,$30,$31);
+ }
+ }
+ $32 = $temp_divisor;
+ $33 = ($32|0)!=(0|0);
+ if (!($33)) {
+ STACKTOP = sp;return;
+ }
+ $34 = $temp_divisor;
+ __gcry_mpi_free($34);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_tdiv_r($rem,$num,$den) {
+ $rem = $rem|0;
+ $num = $num|0;
+ $den = $den|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rem;
+ $1 = $num;
+ $2 = $den;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ __gcry_mpi_tdiv_qr(0,$3,$4,$5);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_tdiv_qr($quot,$rem,$num,$den) {
+ $quot = $quot|0;
+ $rem = $rem|0;
+ $num = $num|0;
+ $den = $den|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $__a = 0, $__xr = 0, $_i = 0, $_i1 = 0, $_i3 = 0, $_i4 = 0, $dp = 0, $dsize = 0, $marker = 0, $marker_nlimbs = 0, $markidx = 0, $nlimb = 0, $normalization_steps = 0, $np = 0, $nsize = 0, $or$cond = 0, $q_limb = 0, $qp = 0;
+ var $qsize = 0, $rlimb = 0, $rp = 0, $rsize = 0, $sign_quotient = 0, $sign_remainder = 0, $tp = 0, $tp2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $marker = sp + 64|0;
+ $marker_nlimbs = sp + 44|0;
+ $0 = $quot;
+ $1 = $rem;
+ $2 = $num;
+ $3 = $den;
+ $4 = $2;
+ $5 = ((($4)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $nsize = $6;
+ $7 = $3;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $dsize = $9;
+ $10 = $2;
+ $11 = ((($10)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $sign_remainder = $12;
+ $13 = $2;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $3;
+ $17 = ((($16)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = $15 ^ $18;
+ $sign_quotient = $19;
+ $markidx = 0;
+ $20 = $nsize;
+ $21 = (($20) + 1)|0;
+ $rsize = $21;
+ $22 = $1;
+ $23 = $rsize;
+ __gcry_mpi_resize($22,$23);
+ $24 = $rsize;
+ $25 = $dsize;
+ $26 = (($24) - ($25))|0;
+ $qsize = $26;
+ $27 = $qsize;
+ $28 = ($27|0)<=(0);
+ if ($28) {
+ $29 = $2;
+ $30 = $1;
+ $31 = ($29|0)!=($30|0);
+ L3: do {
+ if ($31) {
+ $32 = $2;
+ $33 = ((($32)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $1;
+ $36 = ((($35)) + 4|0);
+ HEAP32[$36>>2] = $34;
+ $37 = $2;
+ $38 = ((($37)) + 8|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $1;
+ $41 = ((($40)) + 8|0);
+ HEAP32[$41>>2] = $39;
+ $_i = 0;
+ while(1) {
+ $42 = $_i;
+ $43 = $nsize;
+ $44 = ($42|0)<($43|0);
+ if (!($44)) {
+ break L3;
+ }
+ $45 = $_i;
+ $46 = $2;
+ $47 = ((($46)) + 16|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (($48) + ($45<<2)|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $_i;
+ $52 = $1;
+ $53 = ((($52)) + 16|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($54) + ($51<<2)|0);
+ HEAP32[$55>>2] = $50;
+ $56 = $_i;
+ $57 = (($56) + 1)|0;
+ $_i = $57;
+ }
+ }
+ } while(0);
+ $58 = $0;
+ $59 = ($58|0)!=(0|0);
+ if (!($59)) {
+ STACKTOP = sp;return;
+ }
+ $60 = $0;
+ $61 = ((($60)) + 4|0);
+ HEAP32[$61>>2] = 0;
+ $62 = $0;
+ $63 = ((($62)) + 8|0);
+ HEAP32[$63>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $64 = $0;
+ $65 = ($64|0)!=(0|0);
+ if ($65) {
+ $66 = $0;
+ $67 = $qsize;
+ __gcry_mpi_resize($66,$67);
+ }
+ $68 = $2;
+ $69 = ((($68)) + 16|0);
+ $70 = HEAP32[$69>>2]|0;
+ $np = $70;
+ $71 = $3;
+ $72 = ((($71)) + 16|0);
+ $73 = HEAP32[$72>>2]|0;
+ $dp = $73;
+ $74 = $1;
+ $75 = ((($74)) + 16|0);
+ $76 = HEAP32[$75>>2]|0;
+ $rp = $76;
+ $77 = $dsize;
+ $78 = ($77|0)==(1);
+ $79 = $0;
+ $80 = ($79|0)!=(0|0);
+ if ($78) {
+ if ($80) {
+ $81 = $0;
+ $82 = ((($81)) + 16|0);
+ $83 = HEAP32[$82>>2]|0;
+ $qp = $83;
+ $84 = $qp;
+ $85 = $np;
+ $86 = $nsize;
+ $87 = $dp;
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (__gcry_mpih_divmod_1($84,$85,$86,$88)|0);
+ $rlimb = $89;
+ $90 = $qsize;
+ $91 = (($90) - 1)|0;
+ $92 = $qp;
+ $93 = (($92) + ($91<<2)|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = ($94|0)==(0);
+ $96 = $95&1;
+ $97 = $qsize;
+ $98 = (($97) - ($96))|0;
+ $qsize = $98;
+ $99 = $qsize;
+ $100 = $0;
+ $101 = ((($100)) + 4|0);
+ HEAP32[$101>>2] = $99;
+ $102 = $sign_quotient;
+ $103 = $0;
+ $104 = ((($103)) + 8|0);
+ HEAP32[$104>>2] = $102;
+ } else {
+ $105 = $np;
+ $106 = $nsize;
+ $107 = $dp;
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (__gcry_mpih_mod_1($105,$106,$108)|0);
+ $rlimb = $109;
+ }
+ $110 = $rlimb;
+ $111 = $rp;
+ HEAP32[$111>>2] = $110;
+ $112 = $rlimb;
+ $113 = ($112|0)!=(0);
+ $114 = $113 ? 1 : 0;
+ $rsize = $114;
+ $115 = $rsize;
+ $116 = $1;
+ $117 = ((($116)) + 4|0);
+ HEAP32[$117>>2] = $115;
+ $118 = $sign_remainder;
+ $119 = $1;
+ $120 = ((($119)) + 8|0);
+ HEAP32[$120>>2] = $118;
+ STACKTOP = sp;return;
+ }
+ L25: do {
+ if ($80) {
+ $121 = $0;
+ $122 = ((($121)) + 16|0);
+ $123 = HEAP32[$122>>2]|0;
+ $qp = $123;
+ $124 = $qp;
+ $125 = $np;
+ $126 = ($124|0)==($125|0);
+ if ($126) {
+ $127 = $nsize;
+ $128 = $markidx;
+ $129 = (($marker_nlimbs) + ($128<<2)|0);
+ HEAP32[$129>>2] = $127;
+ $130 = $nsize;
+ $131 = $0;
+ $132 = ($131|0)!=(0|0);
+ if ($132) {
+ $133 = $0;
+ $134 = ((($133)) + 12|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $135 & 1;
+ $137 = ($136|0)!=(0);
+ $139 = $137;
+ } else {
+ $139 = 0;
+ }
+ $138 = $139&1;
+ $140 = (__gcry_mpi_alloc_limb_space($130,$138)|0);
+ $141 = $markidx;
+ $142 = (($141) + 1)|0;
+ $markidx = $142;
+ $143 = (($marker) + ($141<<2)|0);
+ HEAP32[$143>>2] = $140;
+ $np = $140;
+ $_i1 = 0;
+ while(1) {
+ $144 = $_i1;
+ $145 = $nsize;
+ $146 = ($144|0)<($145|0);
+ if (!($146)) {
+ break L25;
+ }
+ $147 = $_i1;
+ $148 = $qp;
+ $149 = (($148) + ($147<<2)|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = $_i1;
+ $152 = $np;
+ $153 = (($152) + ($151<<2)|0);
+ HEAP32[$153>>2] = $150;
+ $154 = $_i1;
+ $155 = (($154) + 1)|0;
+ $_i1 = $155;
+ }
+ }
+ } else {
+ $156 = $rp;
+ $157 = $dsize;
+ $158 = (($156) + ($157<<2)|0);
+ $qp = $158;
+ }
+ } while(0);
+ $159 = $dsize;
+ $160 = (($159) - 1)|0;
+ $161 = $dp;
+ $162 = (($161) + ($160<<2)|0);
+ $163 = HEAP32[$162>>2]|0;
+ $__xr = $163;
+ $164 = $__xr;
+ $165 = ($164>>>0)<(65536);
+ $166 = $__xr;
+ $167 = ($166>>>0)<(256);
+ $168 = $167 ? 0 : 8;
+ $169 = ($166>>>0)<(16777216);
+ $170 = $169 ? 16 : 24;
+ $171 = $165 ? $168 : $170;
+ $__a = $171;
+ $172 = $__xr;
+ $173 = $__a;
+ $174 = $172 >>> $173;
+ $175 = (45829 + ($174)|0);
+ $176 = HEAP8[$175>>0]|0;
+ $177 = $176&255;
+ $178 = $__a;
+ $179 = (($177) + ($178))|0;
+ $180 = (32 - ($179))|0;
+ $normalization_steps = $180;
+ $181 = $normalization_steps;
+ $182 = ($181|0)!=(0);
+ do {
+ if ($182) {
+ $183 = $dsize;
+ $184 = $markidx;
+ $185 = (($marker_nlimbs) + ($184<<2)|0);
+ HEAP32[$185>>2] = $183;
+ $186 = $dsize;
+ $187 = $3;
+ $188 = ($187|0)!=(0|0);
+ if ($188) {
+ $189 = $3;
+ $190 = ((($189)) + 12|0);
+ $191 = HEAP32[$190>>2]|0;
+ $192 = $191 & 1;
+ $193 = ($192|0)!=(0);
+ $195 = $193;
+ } else {
+ $195 = 0;
+ }
+ $194 = $195&1;
+ $196 = (__gcry_mpi_alloc_limb_space($186,$194)|0);
+ $197 = $markidx;
+ $198 = (($197) + 1)|0;
+ $markidx = $198;
+ $199 = (($marker) + ($197<<2)|0);
+ HEAP32[$199>>2] = $196;
+ $tp = $196;
+ $200 = $tp;
+ $201 = $dp;
+ $202 = $dsize;
+ $203 = $normalization_steps;
+ (__gcry_mpih_lshift($200,$201,$202,$203)|0);
+ $204 = $tp;
+ $dp = $204;
+ $205 = $rp;
+ $206 = $np;
+ $207 = $nsize;
+ $208 = $normalization_steps;
+ $209 = (__gcry_mpih_lshift($205,$206,$207,$208)|0);
+ $nlimb = $209;
+ $210 = $nlimb;
+ $211 = ($210|0)!=(0);
+ if ($211) {
+ $212 = $nlimb;
+ $213 = $nsize;
+ $214 = $rp;
+ $215 = (($214) + ($213<<2)|0);
+ HEAP32[$215>>2] = $212;
+ $216 = $nsize;
+ $217 = (($216) + 1)|0;
+ $rsize = $217;
+ break;
+ } else {
+ $218 = $nsize;
+ $rsize = $218;
+ break;
+ }
+ } else {
+ $219 = $dp;
+ $220 = $rp;
+ $221 = ($219|0)==($220|0);
+ if ($221) {
+ label = 32;
+ } else {
+ $222 = $0;
+ $223 = ($222|0)!=(0|0);
+ if ($223) {
+ $224 = $dp;
+ $225 = $qp;
+ $226 = ($224|0)==($225|0);
+ if ($226) {
+ label = 32;
+ }
+ }
+ }
+ if ((label|0) == 32) {
+ $227 = $dsize;
+ $228 = $markidx;
+ $229 = (($marker_nlimbs) + ($228<<2)|0);
+ HEAP32[$229>>2] = $227;
+ $230 = $dsize;
+ $231 = $3;
+ $232 = ($231|0)!=(0|0);
+ if ($232) {
+ $233 = $3;
+ $234 = ((($233)) + 12|0);
+ $235 = HEAP32[$234>>2]|0;
+ $236 = $235 & 1;
+ $237 = ($236|0)!=(0);
+ $239 = $237;
+ } else {
+ $239 = 0;
+ }
+ $238 = $239&1;
+ $240 = (__gcry_mpi_alloc_limb_space($230,$238)|0);
+ $241 = $markidx;
+ $242 = (($241) + 1)|0;
+ $markidx = $242;
+ $243 = (($marker) + ($241<<2)|0);
+ HEAP32[$243>>2] = $240;
+ $tp2 = $240;
+ $_i3 = 0;
+ while(1) {
+ $244 = $_i3;
+ $245 = $dsize;
+ $246 = ($244|0)<($245|0);
+ if (!($246)) {
+ break;
+ }
+ $247 = $_i3;
+ $248 = $dp;
+ $249 = (($248) + ($247<<2)|0);
+ $250 = HEAP32[$249>>2]|0;
+ $251 = $_i3;
+ $252 = $tp2;
+ $253 = (($252) + ($251<<2)|0);
+ HEAP32[$253>>2] = $250;
+ $254 = $_i3;
+ $255 = (($254) + 1)|0;
+ $_i3 = $255;
+ }
+ $256 = $tp2;
+ $dp = $256;
+ }
+ $257 = $rp;
+ $258 = $np;
+ $259 = ($257|0)!=($258|0);
+ L58: do {
+ if ($259) {
+ $_i4 = 0;
+ while(1) {
+ $260 = $_i4;
+ $261 = $nsize;
+ $262 = ($260|0)<($261|0);
+ if (!($262)) {
+ break L58;
+ }
+ $263 = $_i4;
+ $264 = $np;
+ $265 = (($264) + ($263<<2)|0);
+ $266 = HEAP32[$265>>2]|0;
+ $267 = $_i4;
+ $268 = $rp;
+ $269 = (($268) + ($267<<2)|0);
+ HEAP32[$269>>2] = $266;
+ $270 = $_i4;
+ $271 = (($270) + 1)|0;
+ $_i4 = $271;
+ }
+ }
+ } while(0);
+ $272 = $nsize;
+ $rsize = $272;
+ }
+ } while(0);
+ $273 = $qp;
+ $274 = $rp;
+ $275 = $rsize;
+ $276 = $dp;
+ $277 = $dsize;
+ $278 = (__gcry_mpih_divrem($273,0,$274,$275,$276,$277)|0);
+ $q_limb = $278;
+ $279 = $0;
+ $280 = ($279|0)!=(0|0);
+ if ($280) {
+ $281 = $rsize;
+ $282 = $dsize;
+ $283 = (($281) - ($282))|0;
+ $qsize = $283;
+ $284 = $q_limb;
+ $285 = ($284|0)!=(0);
+ if ($285) {
+ $286 = $q_limb;
+ $287 = $qsize;
+ $288 = $qp;
+ $289 = (($288) + ($287<<2)|0);
+ HEAP32[$289>>2] = $286;
+ $290 = $qsize;
+ $291 = (($290) + 1)|0;
+ $qsize = $291;
+ }
+ $292 = $qsize;
+ $293 = $0;
+ $294 = ((($293)) + 4|0);
+ HEAP32[$294>>2] = $292;
+ $295 = $sign_quotient;
+ $296 = $0;
+ $297 = ((($296)) + 8|0);
+ HEAP32[$297>>2] = $295;
+ }
+ $298 = $dsize;
+ $rsize = $298;
+ while(1) {
+ $299 = $rsize;
+ $300 = ($299|0)>(0);
+ if (!($300)) {
+ break;
+ }
+ $301 = $rsize;
+ $302 = (($301) - 1)|0;
+ $303 = $rp;
+ $304 = (($303) + ($302<<2)|0);
+ $305 = HEAP32[$304>>2]|0;
+ $306 = ($305|0)!=(0);
+ if ($306) {
+ break;
+ }
+ $307 = $rsize;
+ $308 = (($307) + -1)|0;
+ $rsize = $308;
+ }
+ $309 = $normalization_steps;
+ $310 = ($309|0)!=(0);
+ $311 = $rsize;
+ $312 = ($311|0)!=(0);
+ $or$cond = $310 & $312;
+ if ($or$cond) {
+ $313 = $rp;
+ $314 = $rp;
+ $315 = $rsize;
+ $316 = $normalization_steps;
+ (__gcry_mpih_rshift($313,$314,$315,$316)|0);
+ $317 = $rsize;
+ $318 = (($317) - 1)|0;
+ $319 = $rp;
+ $320 = (($319) + ($318<<2)|0);
+ $321 = HEAP32[$320>>2]|0;
+ $322 = ($321|0)==(0);
+ $323 = $322 ? 1 : 0;
+ $324 = $rsize;
+ $325 = (($324) - ($323))|0;
+ $rsize = $325;
+ }
+ $326 = $rsize;
+ $327 = $1;
+ $328 = ((($327)) + 4|0);
+ HEAP32[$328>>2] = $326;
+ $329 = $sign_remainder;
+ $330 = $1;
+ $331 = ((($330)) + 8|0);
+ HEAP32[$331>>2] = $329;
+ while(1) {
+ $332 = $markidx;
+ $333 = ($332|0)!=(0);
+ if (!($333)) {
+ break;
+ }
+ $334 = $markidx;
+ $335 = (($334) + -1)|0;
+ $markidx = $335;
+ $336 = $markidx;
+ $337 = (($marker) + ($336<<2)|0);
+ $338 = HEAP32[$337>>2]|0;
+ $339 = $markidx;
+ $340 = (($marker_nlimbs) + ($339<<2)|0);
+ $341 = HEAP32[$340>>2]|0;
+ __gcry_mpi_free_limb_space($338,$341);
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_fdiv_r_ui($rem,$dividend,$divisor) {
+ $rem = $rem|0;
+ $dividend = $dividend|0;
+ $divisor = $divisor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rlimb = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rem;
+ $1 = $dividend;
+ $2 = $divisor;
+ $3 = $1;
+ $4 = ((($3)) + 16|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $1;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $2;
+ $10 = (__gcry_mpih_mod_1($5,$8,$9)|0);
+ $rlimb = $10;
+ $11 = $rlimb;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $1;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ $17 = $2;
+ $18 = $rlimb;
+ $19 = (($17) - ($18))|0;
+ $rlimb = $19;
+ }
+ }
+ $20 = $0;
+ $21 = ($20|0)!=(0|0);
+ if (!($21)) {
+ $31 = $rlimb;
+ STACKTOP = sp;return ($31|0);
+ }
+ $22 = $rlimb;
+ $23 = $0;
+ $24 = ((($23)) + 16|0);
+ $25 = HEAP32[$24>>2]|0;
+ HEAP32[$25>>2] = $22;
+ $26 = $rlimb;
+ $27 = ($26|0)!=(0);
+ $28 = $27 ? 1 : 0;
+ $29 = $0;
+ $30 = ((($29)) + 4|0);
+ HEAP32[$30>>2] = $28;
+ $31 = $rlimb;
+ STACKTOP = sp;return ($31|0);
+}
+function __gcry_mpi_fdiv_q($quot,$dividend,$divisor) {
+ $quot = $quot|0;
+ $dividend = $dividend|0;
+ $divisor = $divisor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $quot;
+ $1 = $dividend;
+ $2 = $divisor;
+ $3 = $0;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (__gcry_mpi_alloc($5)|0);
+ $tmp = $6;
+ $7 = $0;
+ $8 = $tmp;
+ $9 = $1;
+ $10 = $2;
+ __gcry_mpi_fdiv_qr($7,$8,$9,$10);
+ $11 = $tmp;
+ __gcry_mpi_free($11);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_fdiv_qr($quot,$rem,$dividend,$divisor) {
+ $quot = $quot|0;
+ $rem = $rem|0;
+ $dividend = $dividend|0;
+ $divisor = $divisor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $divisor_sign = 0, $temp_divisor = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $quot;
+ $1 = $rem;
+ $2 = $dividend;
+ $3 = $divisor;
+ $4 = $3;
+ $5 = ((($4)) + 8|0);
+ $6 = HEAP32[$5>>2]|0;
+ $divisor_sign = $6;
+ $temp_divisor = 0;
+ $7 = $0;
+ $8 = $3;
+ $9 = ($7|0)==($8|0);
+ if ($9) {
+ label = 3;
+ } else {
+ $10 = $1;
+ $11 = $3;
+ $12 = ($10|0)==($11|0);
+ if ($12) {
+ label = 3;
+ }
+ }
+ if ((label|0) == 3) {
+ $13 = $3;
+ $14 = (__gcry_mpi_copy($13)|0);
+ $temp_divisor = $14;
+ $15 = $temp_divisor;
+ $3 = $15;
+ }
+ $16 = $0;
+ $17 = $1;
+ $18 = $2;
+ $19 = $3;
+ __gcry_mpi_tdiv_qr($16,$17,$18,$19);
+ $20 = $divisor_sign;
+ $21 = $2;
+ $22 = ((($21)) + 8|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $20 ^ $23;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $26 = $1;
+ $27 = ((($26)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)!=(0);
+ if ($29) {
+ $30 = $0;
+ $31 = $0;
+ __gcry_mpi_sub_ui($30,$31,1);
+ $32 = $1;
+ $33 = $1;
+ $34 = $3;
+ __gcry_mpi_add($32,$33,$34);
+ }
+ }
+ $35 = $temp_divisor;
+ $36 = ($35|0)!=(0|0);
+ if (!($36)) {
+ STACKTOP = sp;return;
+ }
+ $37 = $temp_divisor;
+ __gcry_mpi_free($37);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_tdiv_q_2exp($w,$u,$count) {
+ $w = $w|0;
+ $u = $u|0;
+ $count = $count|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $_i = 0, $limb_cnt = 0, $up = 0, $usize = 0, $wp = 0, $wsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $count;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $usize = $5;
+ $6 = $2;
+ $7 = (($6>>>0) / 32)&-1;
+ $limb_cnt = $7;
+ $8 = $usize;
+ $9 = $limb_cnt;
+ $10 = (($8) - ($9))|0;
+ $wsize = $10;
+ $11 = $limb_cnt;
+ $12 = $usize;
+ $13 = ($11|0)>=($12|0);
+ $14 = $0;
+ if ($13) {
+ $15 = ((($14)) + 4|0);
+ HEAP32[$15>>2] = 0;
+ STACKTOP = sp;return;
+ }
+ $16 = HEAP32[$14>>2]|0;
+ $17 = $wsize;
+ $18 = ($16|0)<($17|0);
+ if ($18) {
+ $19 = $0;
+ $20 = $wsize;
+ __gcry_mpi_resize($19,$20);
+ }
+ $21 = $0;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $wp = $23;
+ $24 = $1;
+ $25 = ((($24)) + 16|0);
+ $26 = HEAP32[$25>>2]|0;
+ $up = $26;
+ $27 = $2;
+ $28 = (($27>>>0) % 32)&-1;
+ $2 = $28;
+ $29 = $2;
+ $30 = ($29|0)!=(0);
+ L8: do {
+ if ($30) {
+ $31 = $wp;
+ $32 = $up;
+ $33 = $limb_cnt;
+ $34 = (($32) + ($33<<2)|0);
+ $35 = $wsize;
+ $36 = $2;
+ (__gcry_mpih_rshift($31,$34,$35,$36)|0);
+ $37 = $wsize;
+ $38 = (($37) - 1)|0;
+ $39 = $wp;
+ $40 = (($39) + ($38<<2)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)!=(0);
+ $43 = $42 ^ 1;
+ $44 = $43&1;
+ $45 = $wsize;
+ $46 = (($45) - ($44))|0;
+ $wsize = $46;
+ } else {
+ $_i = 0;
+ while(1) {
+ $47 = $_i;
+ $48 = $wsize;
+ $49 = ($47|0)<($48|0);
+ if (!($49)) {
+ break L8;
+ }
+ $50 = $_i;
+ $51 = $up;
+ $52 = $limb_cnt;
+ $53 = (($51) + ($52<<2)|0);
+ $54 = (($53) + ($50<<2)|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $_i;
+ $57 = $wp;
+ $58 = (($57) + ($56<<2)|0);
+ HEAP32[$58>>2] = $55;
+ $59 = $_i;
+ $60 = (($59) + 1)|0;
+ $_i = $60;
+ }
+ }
+ } while(0);
+ $61 = $wsize;
+ $62 = $0;
+ $63 = ((($62)) + 4|0);
+ HEAP32[$63>>2] = $61;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_divisible_ui($dividend,$divisor) {
+ $dividend = $dividend|0;
+ $divisor = $divisor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $dividend;
+ $1 = $divisor;
+ $2 = $0;
+ $3 = ((($2)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $0;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $1;
+ $9 = (__gcry_mpih_mod_1($4,$7,$8)|0);
+ $10 = ($9|0)!=(0);
+ $11 = $10 ^ 1;
+ $12 = $11&1;
+ STACKTOP = sp;return ($12|0);
+}
+function __gcry_mpi_gcd($g,$xa,$xb) {
+ $g = $g|0;
+ $xa = $xa|0;
+ $xb = $xb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $b = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $g;
+ $1 = $xa;
+ $2 = $xb;
+ $3 = $1;
+ $4 = (__gcry_mpi_copy($3)|0);
+ $a = $4;
+ $5 = $2;
+ $6 = (__gcry_mpi_copy($5)|0);
+ $b = $6;
+ $7 = $a;
+ $8 = ((($7)) + 8|0);
+ HEAP32[$8>>2] = 0;
+ $9 = $b;
+ $10 = ((($9)) + 8|0);
+ HEAP32[$10>>2] = 0;
+ while(1) {
+ $11 = $b;
+ $12 = (__gcry_mpi_cmp_ui($11,0)|0);
+ $13 = ($12|0)!=(0);
+ $14 = $0;
+ $15 = $a;
+ if (!($13)) {
+ break;
+ }
+ $16 = $b;
+ __gcry_mpi_fdiv_r($14,$15,$16);
+ $17 = $a;
+ $18 = $b;
+ (__gcry_mpi_set($17,$18)|0);
+ $19 = $b;
+ $20 = $0;
+ (__gcry_mpi_set($19,$20)|0);
+ }
+ (__gcry_mpi_set($14,$15)|0);
+ $21 = $a;
+ __gcry_mpi_free($21);
+ $22 = $b;
+ __gcry_mpi_free($22);
+ $23 = $0;
+ $24 = (__gcry_mpi_cmp_ui($23,1)|0);
+ $25 = ($24|0)!=(0);
+ $26 = $25 ^ 1;
+ $27 = $26&1;
+ STACKTOP = sp;return ($27|0);
+}
+function __gcry_mpih_add_1($res_ptr,$s1_ptr,$s1_size,$s2_limb) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_limb = $s2_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $res_ptr;
+ $2 = $s1_ptr;
+ $3 = $s1_size;
+ $4 = $s2_limb;
+ $5 = $2;
+ $6 = ((($5)) + 4|0);
+ $2 = $6;
+ $7 = HEAP32[$5>>2]|0;
+ $x = $7;
+ $8 = $x;
+ $9 = $4;
+ $10 = (($9) + ($8))|0;
+ $4 = $10;
+ $11 = $4;
+ $12 = $1;
+ $13 = ((($12)) + 4|0);
+ $1 = $13;
+ HEAP32[$12>>2] = $11;
+ $14 = $4;
+ $15 = $x;
+ $16 = ($14>>>0)<($15>>>0);
+ L1: do {
+ if ($16) {
+ while(1) {
+ $17 = $3;
+ $18 = (($17) + -1)|0;
+ $3 = $18;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $2;
+ $21 = ((($20)) + 4|0);
+ $2 = $21;
+ $22 = HEAP32[$20>>2]|0;
+ $23 = (($22) + 1)|0;
+ $x = $23;
+ $24 = $x;
+ $25 = $1;
+ $26 = ((($25)) + 4|0);
+ $1 = $26;
+ HEAP32[$25>>2] = $24;
+ $27 = $x;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ break L1;
+ }
+ }
+ $0 = 1;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ }
+ } while(0);
+ $29 = $1;
+ $30 = $2;
+ $31 = ($29|0)!=($30|0);
+ L8: do {
+ if ($31) {
+ $i = 0;
+ while(1) {
+ $32 = $i;
+ $33 = $3;
+ $34 = (($33) - 1)|0;
+ $35 = ($32|0)<($34|0);
+ if (!($35)) {
+ break L8;
+ }
+ $36 = $i;
+ $37 = $2;
+ $38 = (($37) + ($36<<2)|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $i;
+ $41 = $1;
+ $42 = (($41) + ($40<<2)|0);
+ HEAP32[$42>>2] = $39;
+ $43 = $i;
+ $44 = (($43) + 1)|0;
+ $i = $44;
+ }
+ }
+ } while(0);
+ $0 = 0;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+}
+function __gcry_mpih_add($res_ptr,$s1_ptr,$s1_size,$s2_ptr,$s2_size) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_ptr = $s2_ptr|0;
+ $s2_size = $s2_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cy = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s1_size;
+ $3 = $s2_ptr;
+ $4 = $s2_size;
+ $cy = 0;
+ $5 = $4;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $0;
+ $8 = $1;
+ $9 = $3;
+ $10 = $4;
+ $11 = (__gcry_mpih_add_n($7,$8,$9,$10)|0);
+ $cy = $11;
+ }
+ $12 = $2;
+ $13 = $4;
+ $14 = (($12) - ($13))|0;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ $27 = $cy;
+ STACKTOP = sp;return ($27|0);
+ }
+ $16 = $0;
+ $17 = $4;
+ $18 = (($16) + ($17<<2)|0);
+ $19 = $1;
+ $20 = $4;
+ $21 = (($19) + ($20<<2)|0);
+ $22 = $2;
+ $23 = $4;
+ $24 = (($22) - ($23))|0;
+ $25 = $cy;
+ $26 = (__gcry_mpih_add_1($18,$21,$24,$25)|0);
+ $cy = $26;
+ $27 = $cy;
+ STACKTOP = sp;return ($27|0);
+}
+function __gcry_mpih_sub_1($res_ptr,$s1_ptr,$s1_size,$s2_limb) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_limb = $s2_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $res_ptr;
+ $2 = $s1_ptr;
+ $3 = $s1_size;
+ $4 = $s2_limb;
+ $5 = $2;
+ $6 = ((($5)) + 4|0);
+ $2 = $6;
+ $7 = HEAP32[$5>>2]|0;
+ $x = $7;
+ $8 = $x;
+ $9 = $4;
+ $10 = (($8) - ($9))|0;
+ $4 = $10;
+ $11 = $4;
+ $12 = $1;
+ $13 = ((($12)) + 4|0);
+ $1 = $13;
+ HEAP32[$12>>2] = $11;
+ $14 = $4;
+ $15 = $x;
+ $16 = ($14>>>0)>($15>>>0);
+ L1: do {
+ if ($16) {
+ while(1) {
+ $17 = $3;
+ $18 = (($17) + -1)|0;
+ $3 = $18;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $2;
+ $21 = ((($20)) + 4|0);
+ $2 = $21;
+ $22 = HEAP32[$20>>2]|0;
+ $x = $22;
+ $23 = $x;
+ $24 = (($23) - 1)|0;
+ $25 = $1;
+ $26 = ((($25)) + 4|0);
+ $1 = $26;
+ HEAP32[$25>>2] = $24;
+ $27 = $x;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ break L1;
+ }
+ }
+ $0 = 1;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ }
+ } while(0);
+ $29 = $1;
+ $30 = $2;
+ $31 = ($29|0)!=($30|0);
+ L8: do {
+ if ($31) {
+ $i = 0;
+ while(1) {
+ $32 = $i;
+ $33 = $3;
+ $34 = (($33) - 1)|0;
+ $35 = ($32|0)<($34|0);
+ if (!($35)) {
+ break L8;
+ }
+ $36 = $i;
+ $37 = $2;
+ $38 = (($37) + ($36<<2)|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $i;
+ $41 = $1;
+ $42 = (($41) + ($40<<2)|0);
+ HEAP32[$42>>2] = $39;
+ $43 = $i;
+ $44 = (($43) + 1)|0;
+ $i = $44;
+ }
+ }
+ } while(0);
+ $0 = 0;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+}
+function __gcry_mpih_sub($res_ptr,$s1_ptr,$s1_size,$s2_ptr,$s2_size) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_ptr = $s2_ptr|0;
+ $s2_size = $s2_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cy = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s1_size;
+ $3 = $s2_ptr;
+ $4 = $s2_size;
+ $cy = 0;
+ $5 = $4;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $0;
+ $8 = $1;
+ $9 = $3;
+ $10 = $4;
+ $11 = (__gcry_mpih_sub_n($7,$8,$9,$10)|0);
+ $cy = $11;
+ }
+ $12 = $2;
+ $13 = $4;
+ $14 = (($12) - ($13))|0;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ $27 = $cy;
+ STACKTOP = sp;return ($27|0);
+ }
+ $16 = $0;
+ $17 = $4;
+ $18 = (($16) + ($17<<2)|0);
+ $19 = $1;
+ $20 = $4;
+ $21 = (($19) + ($20<<2)|0);
+ $22 = $2;
+ $23 = $4;
+ $24 = (($22) - ($23))|0;
+ $25 = $cy;
+ $26 = (__gcry_mpih_sub_1($18,$21,$24,$25)|0);
+ $cy = $26;
+ $27 = $cy;
+ STACKTOP = sp;return ($27|0);
+}
+function __gcry_mpih_cmp($op1_ptr,$op2_ptr,$size) {
+ $op1_ptr = $op1_ptr|0;
+ $op2_ptr = $op2_ptr|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $op1_word = 0, $op2_word = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $op1_ptr;
+ $2 = $op2_ptr;
+ $3 = $size;
+ $4 = $3;
+ $5 = (($4) - 1)|0;
+ $i = $5;
+ while(1) {
+ $6 = $i;
+ $7 = ($6|0)>=(0);
+ if (!($7)) {
+ label = 5;
+ break;
+ }
+ $8 = $i;
+ $9 = $1;
+ $10 = (($9) + ($8<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $op1_word = $11;
+ $12 = $i;
+ $13 = $2;
+ $14 = (($13) + ($12<<2)|0);
+ $15 = HEAP32[$14>>2]|0;
+ $op2_word = $15;
+ $16 = $op1_word;
+ $17 = $op2_word;
+ $18 = ($16|0)!=($17|0);
+ if ($18) {
+ label = 6;
+ break;
+ }
+ $19 = $i;
+ $20 = (($19) + -1)|0;
+ $i = $20;
+ }
+ if ((label|0) == 5) {
+ $0 = 0;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+ }
+ else if ((label|0) == 6) {
+ $21 = $op1_word;
+ $22 = $op2_word;
+ $23 = ($21>>>0)>($22>>>0);
+ $24 = $23 ? 1 : -1;
+ $0 = $24;
+ $25 = $0;
+ STACKTOP = sp;return ($25|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_invm($x,$a,$n) {
+ $x = $x|0;
+ $a = $a|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
+ var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
+ var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $k = 0, $odd = 0, $sign = 0, $t1 = 0;
+ var $t2 = 0, $t3 = 0, $u = 0, $u1 = 0, $u2 = 0, $u3 = 0, $v = 0, $v1 = 0, $v2 = 0, $v3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $x;
+ $2 = $a;
+ $3 = $n;
+ $u2 = 0;
+ $v2 = 0;
+ $t2 = 0;
+ $4 = $2;
+ $5 = (__gcry_mpi_cmp_ui($4,0)|0);
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ $0 = 0;
+ $195 = $0;
+ STACKTOP = sp;return ($195|0);
+ }
+ $7 = $3;
+ $8 = (__gcry_mpi_cmp_ui($7,1)|0);
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $0 = 0;
+ $195 = $0;
+ STACKTOP = sp;return ($195|0);
+ }
+ $10 = $2;
+ $11 = (__gcry_mpi_copy($10)|0);
+ $u = $11;
+ $12 = $3;
+ $13 = (__gcry_mpi_copy($12)|0);
+ $v = $13;
+ $k = 0;
+ while(1) {
+ $14 = $u;
+ $15 = (__gcry_mpi_test_bit($14,0)|0);
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ break;
+ }
+ $17 = $v;
+ $18 = (__gcry_mpi_test_bit($17,0)|0);
+ $19 = ($18|0)!=(0);
+ $20 = $19 ^ 1;
+ if (!($20)) {
+ break;
+ }
+ $21 = $u;
+ $22 = $u;
+ __gcry_mpi_rshift($21,$22,1);
+ $23 = $v;
+ $24 = $v;
+ __gcry_mpi_rshift($23,$24,1);
+ $25 = $k;
+ $26 = (($25) + 1)|0;
+ $k = $26;
+ }
+ $27 = $v;
+ $28 = (__gcry_mpi_test_bit($27,0)|0);
+ $odd = $28;
+ $29 = (__gcry_mpi_alloc_set_ui(1)|0);
+ $u1 = $29;
+ $30 = $odd;
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ $32 = (__gcry_mpi_alloc_set_ui(0)|0);
+ $u2 = $32;
+ }
+ $33 = $u;
+ $34 = (__gcry_mpi_copy($33)|0);
+ $u3 = $34;
+ $35 = $v;
+ $36 = (__gcry_mpi_copy($35)|0);
+ $v1 = $36;
+ $37 = $odd;
+ $38 = ($37|0)!=(0);
+ if (!($38)) {
+ $39 = $u;
+ $40 = ((($39)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (__gcry_mpi_alloc($41)|0);
+ $v2 = $42;
+ $43 = $v2;
+ $44 = $u1;
+ $45 = $u;
+ __gcry_mpi_sub($43,$44,$45);
+ }
+ $46 = $v;
+ $47 = (__gcry_mpi_copy($46)|0);
+ $v3 = $47;
+ $48 = $u;
+ $49 = (__gcry_mpi_test_bit($48,0)|0);
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ $51 = (__gcry_mpi_alloc_set_ui(0)|0);
+ $t1 = $51;
+ $52 = $odd;
+ $53 = ($52|0)!=(0);
+ if (!($53)) {
+ $54 = (__gcry_mpi_alloc_set_ui(1)|0);
+ $t2 = $54;
+ $55 = $t2;
+ $56 = ((($55)) + 8|0);
+ HEAP32[$56>>2] = 1;
+ }
+ $57 = $v;
+ $58 = (__gcry_mpi_copy($57)|0);
+ $t3 = $58;
+ $59 = $t3;
+ $60 = ((($59)) + 8|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ($61|0)!=(0);
+ $63 = $62 ^ 1;
+ $64 = $63&1;
+ $65 = $t3;
+ $66 = ((($65)) + 8|0);
+ HEAP32[$66>>2] = $64;
+ } else {
+ $67 = (__gcry_mpi_alloc_set_ui(1)|0);
+ $t1 = $67;
+ $68 = $odd;
+ $69 = ($68|0)!=(0);
+ if (!($69)) {
+ $70 = (__gcry_mpi_alloc_set_ui(0)|0);
+ $t2 = $70;
+ }
+ $71 = $u;
+ $72 = (__gcry_mpi_copy($71)|0);
+ $t3 = $72;
+ label = 20;
+ }
+ while(1) {
+ if ((label|0) == 20) {
+ label = 0;
+ $73 = $odd;
+ $74 = ($73|0)!=(0);
+ $75 = $t1;
+ $76 = (__gcry_mpi_test_bit($75,0)|0);
+ $77 = ($76|0)!=(0);
+ if ($74) {
+ if ($77) {
+ $93 = $t1;
+ $94 = $t1;
+ $95 = $v;
+ __gcry_mpi_add($93,$94,$95);
+ }
+ $96 = $t1;
+ $97 = $t1;
+ __gcry_mpi_rshift($96,$97,1);
+ $98 = $t3;
+ $99 = $t3;
+ __gcry_mpi_rshift($98,$99,1);
+ continue;
+ }
+ if ($77) {
+ label = 23;
+ } else {
+ $78 = $t2;
+ $79 = (__gcry_mpi_test_bit($78,0)|0);
+ $80 = ($79|0)!=(0);
+ if ($80) {
+ label = 23;
+ }
+ }
+ if ((label|0) == 23) {
+ label = 0;
+ $81 = $t1;
+ $82 = $t1;
+ $83 = $v;
+ __gcry_mpi_add($81,$82,$83);
+ $84 = $t2;
+ $85 = $t2;
+ $86 = $u;
+ __gcry_mpi_sub($84,$85,$86);
+ }
+ $87 = $t1;
+ $88 = $t1;
+ __gcry_mpi_rshift($87,$88,1);
+ $89 = $t2;
+ $90 = $t2;
+ __gcry_mpi_rshift($89,$90,1);
+ $91 = $t3;
+ $92 = $t3;
+ __gcry_mpi_rshift($91,$92,1);
+ }
+ $100 = $t3;
+ $101 = (__gcry_mpi_test_bit($100,0)|0);
+ $102 = ($101|0)!=(0);
+ $103 = $102 ^ 1;
+ if ($103) {
+ label = 20;
+ continue;
+ }
+ $104 = $t3;
+ $105 = ((($104)) + 8|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = ($106|0)!=(0);
+ if ($107) {
+ $116 = $v1;
+ $117 = $v;
+ $118 = $t1;
+ __gcry_mpi_sub($116,$117,$118);
+ $119 = $u;
+ $120 = ((($119)) + 8|0);
+ $121 = HEAP32[$120>>2]|0;
+ $sign = $121;
+ $122 = $u;
+ $123 = ((($122)) + 8|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = ($124|0)!=(0);
+ $126 = $125 ^ 1;
+ $127 = $126&1;
+ $128 = $u;
+ $129 = ((($128)) + 8|0);
+ HEAP32[$129>>2] = $127;
+ $130 = $odd;
+ $131 = ($130|0)!=(0);
+ if (!($131)) {
+ $132 = $v2;
+ $133 = $u;
+ $134 = $t2;
+ __gcry_mpi_sub($132,$133,$134);
+ }
+ $135 = $sign;
+ $136 = $u;
+ $137 = ((($136)) + 8|0);
+ HEAP32[$137>>2] = $135;
+ $138 = $t3;
+ $139 = ((($138)) + 8|0);
+ $140 = HEAP32[$139>>2]|0;
+ $sign = $140;
+ $141 = $t3;
+ $142 = ((($141)) + 8|0);
+ $143 = HEAP32[$142>>2]|0;
+ $144 = ($143|0)!=(0);
+ $145 = $144 ^ 1;
+ $146 = $145&1;
+ $147 = $t3;
+ $148 = ((($147)) + 8|0);
+ HEAP32[$148>>2] = $146;
+ $149 = $v3;
+ $150 = $t3;
+ (__gcry_mpi_set($149,$150)|0);
+ $151 = $sign;
+ $152 = $t3;
+ $153 = ((($152)) + 8|0);
+ HEAP32[$153>>2] = $151;
+ } else {
+ $108 = $u1;
+ $109 = $t1;
+ (__gcry_mpi_set($108,$109)|0);
+ $110 = $odd;
+ $111 = ($110|0)!=(0);
+ if (!($111)) {
+ $112 = $u2;
+ $113 = $t2;
+ (__gcry_mpi_set($112,$113)|0);
+ }
+ $114 = $u3;
+ $115 = $t3;
+ (__gcry_mpi_set($114,$115)|0);
+ }
+ $154 = $t1;
+ $155 = $u1;
+ $156 = $v1;
+ __gcry_mpi_sub($154,$155,$156);
+ $157 = $odd;
+ $158 = ($157|0)!=(0);
+ if (!($158)) {
+ $159 = $t2;
+ $160 = $u2;
+ $161 = $v2;
+ __gcry_mpi_sub($159,$160,$161);
+ }
+ $162 = $t3;
+ $163 = $u3;
+ $164 = $v3;
+ __gcry_mpi_sub($162,$163,$164);
+ $165 = $t1;
+ $166 = ((($165)) + 8|0);
+ $167 = HEAP32[$166>>2]|0;
+ $168 = ($167|0)!=(0);
+ if ($168) {
+ $169 = $t1;
+ $170 = $t1;
+ $171 = $v;
+ __gcry_mpi_add($169,$170,$171);
+ $172 = $odd;
+ $173 = ($172|0)!=(0);
+ if (!($173)) {
+ $174 = $t2;
+ $175 = $t2;
+ $176 = $u;
+ __gcry_mpi_sub($174,$175,$176);
+ }
+ }
+ $177 = $t3;
+ $178 = (__gcry_mpi_cmp_ui($177,0)|0);
+ $179 = ($178|0)!=(0);
+ if ($179) {
+ label = 20;
+ } else {
+ break;
+ }
+ }
+ $180 = $1;
+ $181 = $u1;
+ (__gcry_mpi_set($180,$181)|0);
+ $182 = $u1;
+ __gcry_mpi_free($182);
+ $183 = $v1;
+ __gcry_mpi_free($183);
+ $184 = $t1;
+ __gcry_mpi_free($184);
+ $185 = $odd;
+ $186 = ($185|0)!=(0);
+ if (!($186)) {
+ $187 = $u2;
+ __gcry_mpi_free($187);
+ $188 = $v2;
+ __gcry_mpi_free($188);
+ $189 = $t2;
+ __gcry_mpi_free($189);
+ }
+ $190 = $u3;
+ __gcry_mpi_free($190);
+ $191 = $v3;
+ __gcry_mpi_free($191);
+ $192 = $t3;
+ __gcry_mpi_free($192);
+ $193 = $u;
+ __gcry_mpi_free($193);
+ $194 = $v;
+ __gcry_mpi_free($194);
+ $0 = 1;
+ $195 = $0;
+ STACKTOP = sp;return ($195|0);
+}
+function __gcry_mpi_mod($rem,$dividend,$divisor) {
+ $rem = $rem|0;
+ $dividend = $dividend|0;
+ $divisor = $divisor|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rem;
+ $1 = $dividend;
+ $2 = $divisor;
+ $3 = $0;
+ $4 = $1;
+ $5 = $2;
+ __gcry_mpi_fdiv_r($3,$4,$5);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_barrett_init($m,$copy) {
+ $m = $m|0;
+ $copy = $copy|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $m;
+ $1 = $copy;
+ $2 = $0;
+ __gcry_mpi_normalize($2);
+ $3 = (__gcry_xcalloc(1,28)|0);
+ $ctx = $3;
+ $4 = $1;
+ $5 = ($4|0)!=(0);
+ $6 = $0;
+ if ($5) {
+ $7 = (__gcry_mpi_copy($6)|0);
+ $8 = $ctx;
+ HEAP32[$8>>2] = $7;
+ $9 = $ctx;
+ $10 = ((($9)) + 4|0);
+ HEAP32[$10>>2] = 1;
+ } else {
+ $11 = $ctx;
+ HEAP32[$11>>2] = $6;
+ }
+ $12 = $0;
+ $13 = ((($12)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $ctx;
+ $16 = ((($15)) + 8|0);
+ HEAP32[$16>>2] = $14;
+ $17 = $ctx;
+ $18 = ((($17)) + 8|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($19) + 1)|0;
+ $21 = (__gcry_mpi_alloc($20)|0);
+ $tmp = $21;
+ $22 = $tmp;
+ (__gcry_mpi_set_ui($22,1)|0);
+ $23 = $tmp;
+ $24 = $ctx;
+ $25 = ((($24)) + 8|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $26<<1;
+ __gcry_mpi_lshift_limbs($23,$27);
+ $28 = $tmp;
+ $29 = $tmp;
+ $30 = $0;
+ __gcry_mpi_fdiv_q($28,$29,$30);
+ $31 = $tmp;
+ $32 = $ctx;
+ $33 = ((($32)) + 12|0);
+ HEAP32[$33>>2] = $31;
+ $34 = $ctx;
+ $35 = ((($34)) + 8|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $36<<1;
+ $38 = (($37) + 1)|0;
+ $39 = (__gcry_mpi_alloc($38)|0);
+ $40 = $ctx;
+ $41 = ((($40)) + 16|0);
+ HEAP32[$41>>2] = $39;
+ $42 = $ctx;
+ $43 = ((($42)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $44<<1;
+ $46 = (($45) + 1)|0;
+ $47 = (__gcry_mpi_alloc($46)|0);
+ $48 = $ctx;
+ $49 = ((($48)) + 20|0);
+ HEAP32[$49>>2] = $47;
+ $50 = $ctx;
+ STACKTOP = sp;return ($50|0);
+}
+function __gcry_mpi_barrett_free($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ __gcry_mpi_free($5);
+ $6 = $0;
+ $7 = ((($6)) + 16|0);
+ $8 = HEAP32[$7>>2]|0;
+ __gcry_mpi_free($8);
+ $9 = $0;
+ $10 = ((($9)) + 20|0);
+ $11 = HEAP32[$10>>2]|0;
+ __gcry_mpi_free($11);
+ $12 = $0;
+ $13 = ((($12)) + 24|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $0;
+ $17 = ((($16)) + 24|0);
+ $18 = HEAP32[$17>>2]|0;
+ __gcry_mpi_free($18);
+ }
+ $19 = $0;
+ $20 = ((($19)) + 4|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $23 = $0;
+ $24 = HEAP32[$23>>2]|0;
+ __gcry_mpi_free($24);
+ }
+ $25 = $0;
+ __gcry_free($25);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_mod_barrett($r,$x,$ctx) {
+ $r = $r|0;
+ $x = $x|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $k = 0, $m = 0, $r1 = 0, $r2 = 0, $sign = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $r;
+ $1 = $x;
+ $2 = $ctx;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $m = $4;
+ $5 = $2;
+ $6 = ((($5)) + 8|0);
+ $7 = HEAP32[$6>>2]|0;
+ $k = $7;
+ $8 = $2;
+ $9 = ((($8)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $y = $10;
+ $11 = $2;
+ $12 = ((($11)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $r1 = $13;
+ $14 = $2;
+ $15 = ((($14)) + 20|0);
+ $16 = HEAP32[$15>>2]|0;
+ $r2 = $16;
+ $17 = $1;
+ __gcry_mpi_normalize($17);
+ $18 = $1;
+ $19 = ((($18)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $k;
+ $22 = $21<<1;
+ $23 = ($20|0)>($22|0);
+ if ($23) {
+ $24 = $0;
+ $25 = $1;
+ $26 = $m;
+ __gcry_mpi_mod($24,$25,$26);
+ STACKTOP = sp;return;
+ }
+ $27 = $1;
+ $28 = ((($27)) + 8|0);
+ $29 = HEAP32[$28>>2]|0;
+ $sign = $29;
+ $30 = $1;
+ $31 = ((($30)) + 8|0);
+ HEAP32[$31>>2] = 0;
+ $32 = $r2;
+ $33 = $1;
+ (__gcry_mpi_set($32,$33)|0);
+ $34 = $r2;
+ $35 = $k;
+ $36 = (($35) - 1)|0;
+ __gcry_mpi_rshift_limbs($34,$36);
+ $37 = $r2;
+ $38 = $r2;
+ $39 = $y;
+ __gcry_mpi_mul($37,$38,$39);
+ $40 = $r2;
+ $41 = $k;
+ $42 = (($41) + 1)|0;
+ __gcry_mpi_rshift_limbs($40,$42);
+ $43 = $r1;
+ $44 = $1;
+ (__gcry_mpi_set($43,$44)|0);
+ $45 = $r1;
+ $46 = ((($45)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $k;
+ $49 = (($48) + 1)|0;
+ $50 = ($47|0)>($49|0);
+ if ($50) {
+ $51 = $k;
+ $52 = (($51) + 1)|0;
+ $53 = $r1;
+ $54 = ((($53)) + 4|0);
+ HEAP32[$54>>2] = $52;
+ }
+ $55 = $r2;
+ $56 = $r2;
+ $57 = $m;
+ __gcry_mpi_mul($55,$56,$57);
+ $58 = $r2;
+ $59 = ((($58)) + 4|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $k;
+ $62 = (($61) + 1)|0;
+ $63 = ($60|0)>($62|0);
+ if ($63) {
+ $64 = $k;
+ $65 = (($64) + 1)|0;
+ $66 = $r2;
+ $67 = ((($66)) + 4|0);
+ HEAP32[$67>>2] = $65;
+ }
+ $68 = $0;
+ $69 = $r1;
+ $70 = $r2;
+ __gcry_mpi_sub($68,$69,$70);
+ $71 = $0;
+ $72 = ((($71)) + 8|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ($73|0)!=(0);
+ if ($74) {
+ $75 = $2;
+ $76 = ((($75)) + 24|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ($77|0)!=(0|0);
+ if (!($78)) {
+ $79 = $k;
+ $80 = (($79) + 2)|0;
+ $81 = (__gcry_mpi_alloc($80)|0);
+ $82 = $2;
+ $83 = ((($82)) + 24|0);
+ HEAP32[$83>>2] = $81;
+ $84 = $2;
+ $85 = ((($84)) + 24|0);
+ $86 = HEAP32[$85>>2]|0;
+ (__gcry_mpi_set_ui($86,1)|0);
+ $87 = $2;
+ $88 = ((($87)) + 24|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = $k;
+ $91 = (($90) + 1)|0;
+ __gcry_mpi_lshift_limbs($89,$91);
+ }
+ $92 = $0;
+ $93 = $0;
+ $94 = $2;
+ $95 = ((($94)) + 24|0);
+ $96 = HEAP32[$95>>2]|0;
+ __gcry_mpi_add($92,$93,$96);
+ }
+ while(1) {
+ $97 = $0;
+ $98 = $m;
+ $99 = (__gcry_mpi_cmp($97,$98)|0);
+ $100 = ($99|0)>=(0);
+ if (!($100)) {
+ break;
+ }
+ $101 = $0;
+ $102 = $0;
+ $103 = $m;
+ __gcry_mpi_sub($101,$102,$103);
+ }
+ $104 = $sign;
+ $105 = $1;
+ $106 = ((($105)) + 8|0);
+ HEAP32[$106>>2] = $104;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_mul($w,$u,$v) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_i = 0, $_i1 = 0, $_i2 = 0, $assign_wp = 0, $cy = 0, $sign_product = 0, $tmp_limb = 0, $tmp_limb_nlimbs = 0, $tmp_wp = 0, $up = 0, $usecure = 0, $usign = 0, $usize = 0, $vp = 0, $vsecure = 0;
+ var $vsign = 0, $vsize = 0, $wp = 0, $wsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $assign_wp = 0;
+ $tmp_limb = 0;
+ $tmp_limb_nlimbs = 0;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $2;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($5|0)<($8|0);
+ if ($9) {
+ $10 = $2;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $usize = $12;
+ $13 = $2;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $usign = $15;
+ $16 = $2;
+ $17 = ($16|0)!=(0|0);
+ if ($17) {
+ $18 = $2;
+ $19 = ((($18)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $20 & 1;
+ $22 = ($21|0)!=(0);
+ $24 = $22;
+ } else {
+ $24 = 0;
+ }
+ $23 = $24&1;
+ $usecure = $23;
+ $25 = $2;
+ $26 = ((($25)) + 16|0);
+ $27 = HEAP32[$26>>2]|0;
+ $up = $27;
+ $28 = $1;
+ $29 = ((($28)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $vsize = $30;
+ $31 = $1;
+ $32 = ((($31)) + 8|0);
+ $33 = HEAP32[$32>>2]|0;
+ $vsign = $33;
+ $34 = $1;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $36 = $1;
+ $37 = ((($36)) + 12|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $38 & 1;
+ $40 = ($39|0)!=(0);
+ $42 = $40;
+ } else {
+ $42 = 0;
+ }
+ $41 = $42&1;
+ $vsecure = $41;
+ $43 = $1;
+ $44 = ((($43)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ $vp = $45;
+ } else {
+ $46 = $1;
+ $47 = ((($46)) + 4|0);
+ $48 = HEAP32[$47>>2]|0;
+ $usize = $48;
+ $49 = $1;
+ $50 = ((($49)) + 8|0);
+ $51 = HEAP32[$50>>2]|0;
+ $usign = $51;
+ $52 = $1;
+ $53 = ($52|0)!=(0|0);
+ if ($53) {
+ $54 = $1;
+ $55 = ((($54)) + 12|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $56 & 1;
+ $58 = ($57|0)!=(0);
+ $60 = $58;
+ } else {
+ $60 = 0;
+ }
+ $59 = $60&1;
+ $usecure = $59;
+ $61 = $1;
+ $62 = ((($61)) + 16|0);
+ $63 = HEAP32[$62>>2]|0;
+ $up = $63;
+ $64 = $2;
+ $65 = ((($64)) + 4|0);
+ $66 = HEAP32[$65>>2]|0;
+ $vsize = $66;
+ $67 = $2;
+ $68 = ((($67)) + 8|0);
+ $69 = HEAP32[$68>>2]|0;
+ $vsign = $69;
+ $70 = $2;
+ $71 = ($70|0)!=(0|0);
+ if ($71) {
+ $72 = $2;
+ $73 = ((($72)) + 12|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = $74 & 1;
+ $76 = ($75|0)!=(0);
+ $78 = $76;
+ } else {
+ $78 = 0;
+ }
+ $77 = $78&1;
+ $vsecure = $77;
+ $79 = $2;
+ $80 = ((($79)) + 16|0);
+ $81 = HEAP32[$80>>2]|0;
+ $vp = $81;
+ }
+ $82 = $usign;
+ $83 = $vsign;
+ $84 = $82 ^ $83;
+ $sign_product = $84;
+ $85 = $0;
+ $86 = ((($85)) + 16|0);
+ $87 = HEAP32[$86>>2]|0;
+ $wp = $87;
+ $88 = $usize;
+ $89 = $vsize;
+ $90 = (($88) + ($89))|0;
+ $wsize = $90;
+ $91 = $0;
+ $92 = ($91|0)!=(0|0);
+ if ($92) {
+ $93 = $0;
+ $94 = ((($93)) + 12|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = $95 & 1;
+ $97 = ($96|0)!=(0);
+ if ($97) {
+ label = 19;
+ } else {
+ label = 14;
+ }
+ } else {
+ label = 14;
+ }
+ do {
+ if ((label|0) == 14) {
+ $98 = $1;
+ $99 = ($98|0)!=(0|0);
+ if ($99) {
+ $100 = $1;
+ $101 = ((($100)) + 12|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = $102 & 1;
+ $104 = ($103|0)!=(0);
+ if (!($104)) {
+ label = 16;
+ }
+ } else {
+ label = 16;
+ }
+ if ((label|0) == 16) {
+ $105 = $2;
+ $106 = ($105|0)!=(0|0);
+ if (!($106)) {
+ label = 19;
+ break;
+ }
+ $107 = $2;
+ $108 = ((($107)) + 12|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = $109 & 1;
+ $111 = ($110|0)!=(0);
+ if (!($111)) {
+ label = 19;
+ break;
+ }
+ }
+ $112 = $wsize;
+ $113 = (__gcry_mpi_alloc_limb_space($112,1)|0);
+ $wp = $113;
+ $assign_wp = 2;
+ }
+ } while(0);
+ L27: do {
+ if ((label|0) == 19) {
+ $114 = $0;
+ $115 = HEAP32[$114>>2]|0;
+ $116 = $wsize;
+ $117 = ($115|0)<($116|0);
+ $118 = $wp;
+ $119 = $up;
+ $120 = ($118|0)==($119|0);
+ if ($117) {
+ if (!($120)) {
+ $121 = $wp;
+ $122 = $vp;
+ $123 = ($121|0)==($122|0);
+ if (!($123)) {
+ $135 = $0;
+ $136 = $wsize;
+ __gcry_mpi_resize($135,$136);
+ $137 = $0;
+ $138 = ((($137)) + 16|0);
+ $139 = HEAP32[$138>>2]|0;
+ $wp = $139;
+ break;
+ }
+ }
+ $124 = $wsize;
+ $125 = $0;
+ $126 = ($125|0)!=(0|0);
+ if ($126) {
+ $127 = $0;
+ $128 = ((($127)) + 12|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = $129 & 1;
+ $131 = ($130|0)!=(0);
+ $133 = $131;
+ } else {
+ $133 = 0;
+ }
+ $132 = $133&1;
+ $134 = (__gcry_mpi_alloc_limb_space($124,$132)|0);
+ $wp = $134;
+ $assign_wp = 1;
+ break;
+ }
+ if (!($120)) {
+ $160 = $wp;
+ $161 = $vp;
+ $162 = ($160|0)==($161|0);
+ if (!($162)) {
+ break;
+ }
+ $163 = $vsize;
+ $tmp_limb_nlimbs = $163;
+ $164 = $vsize;
+ $165 = $vsecure;
+ $166 = (__gcry_mpi_alloc_limb_space($164,$165)|0);
+ $tmp_limb = $166;
+ $vp = $166;
+ $_i1 = 0;
+ while(1) {
+ $167 = $_i1;
+ $168 = $vsize;
+ $169 = ($167|0)<($168|0);
+ if (!($169)) {
+ break L27;
+ }
+ $170 = $_i1;
+ $171 = $wp;
+ $172 = (($171) + ($170<<2)|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = $_i1;
+ $175 = $vp;
+ $176 = (($175) + ($174<<2)|0);
+ HEAP32[$176>>2] = $173;
+ $177 = $_i1;
+ $178 = (($177) + 1)|0;
+ $_i1 = $178;
+ }
+ }
+ $140 = $usize;
+ $tmp_limb_nlimbs = $140;
+ $141 = $usize;
+ $142 = $usecure;
+ $143 = (__gcry_mpi_alloc_limb_space($141,$142)|0);
+ $tmp_limb = $143;
+ $up = $143;
+ $144 = $wp;
+ $145 = $vp;
+ $146 = ($144|0)==($145|0);
+ if ($146) {
+ $147 = $up;
+ $vp = $147;
+ }
+ $_i = 0;
+ while(1) {
+ $148 = $_i;
+ $149 = $usize;
+ $150 = ($148|0)<($149|0);
+ if (!($150)) {
+ break L27;
+ }
+ $151 = $_i;
+ $152 = $wp;
+ $153 = (($152) + ($151<<2)|0);
+ $154 = HEAP32[$153>>2]|0;
+ $155 = $_i;
+ $156 = $up;
+ $157 = (($156) + ($155<<2)|0);
+ HEAP32[$157>>2] = $154;
+ $158 = $_i;
+ $159 = (($158) + 1)|0;
+ $_i = $159;
+ }
+ }
+ } while(0);
+ $179 = $vsize;
+ $180 = ($179|0)!=(0);
+ if ($180) {
+ $181 = $wp;
+ $182 = $up;
+ $183 = $usize;
+ $184 = $vp;
+ $185 = $vsize;
+ $186 = (__gcry_mpih_mul($181,$182,$183,$184,$185)|0);
+ $cy = $186;
+ $187 = $cy;
+ $188 = ($187|0)!=(0);
+ $189 = $188 ? 0 : 1;
+ $190 = $wsize;
+ $191 = (($190) - ($189))|0;
+ $wsize = $191;
+ } else {
+ $wsize = 0;
+ }
+ $192 = $assign_wp;
+ $193 = ($192|0)!=(0);
+ if ($193) {
+ $194 = $assign_wp;
+ $195 = ($194|0)==(2);
+ if ($195) {
+ $196 = $wsize;
+ $197 = (__gcry_mpi_alloc_limb_space($196,0)|0);
+ $tmp_wp = $197;
+ $_i2 = 0;
+ while(1) {
+ $198 = $_i2;
+ $199 = $wsize;
+ $200 = ($198|0)<($199|0);
+ if (!($200)) {
+ break;
+ }
+ $201 = $_i2;
+ $202 = $wp;
+ $203 = (($202) + ($201<<2)|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = $_i2;
+ $206 = $tmp_wp;
+ $207 = (($206) + ($205<<2)|0);
+ HEAP32[$207>>2] = $204;
+ $208 = $_i2;
+ $209 = (($208) + 1)|0;
+ $_i2 = $209;
+ }
+ $210 = $wp;
+ __gcry_mpi_free_limb_space($210,0);
+ $211 = $tmp_wp;
+ $wp = $211;
+ }
+ $212 = $0;
+ $213 = $wp;
+ $214 = $wsize;
+ __gcry_mpi_assign_limb_space($212,$213,$214);
+ }
+ $215 = $wsize;
+ $216 = $0;
+ $217 = ((($216)) + 4|0);
+ HEAP32[$217>>2] = $215;
+ $218 = $sign_product;
+ $219 = $0;
+ $220 = ((($219)) + 8|0);
+ HEAP32[$220>>2] = $218;
+ $221 = $tmp_limb;
+ $222 = ($221|0)!=(0|0);
+ if (!($222)) {
+ STACKTOP = sp;return;
+ }
+ $223 = $tmp_limb;
+ $224 = $tmp_limb_nlimbs;
+ __gcry_mpi_free_limb_space($223,$224);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_mulm($w,$u,$v,$m) {
+ $w = $w|0;
+ $u = $u|0;
+ $v = $v|0;
+ $m = $m|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $v;
+ $3 = $m;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ __gcry_mpi_mul($4,$5,$6);
+ $7 = $0;
+ $8 = $0;
+ $9 = $3;
+ __gcry_mpi_tdiv_r($7,$8,$9);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_powm($res,$base,$expo,$mod) {
+ $res = $res|0;
+ $base = $base|0;
+ $expo = $expo|0;
+ $mod = $mod|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
+ var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
+ var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
+ var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
+ var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
+ var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
+ var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
+ var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
+ var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
+ var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
+ var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0;
+ var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0;
+ var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0;
+ var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0;
+ var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0;
+ var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0;
+ var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0;
+ var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0;
+ var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0;
+ var $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0;
+ var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0;
+ var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0;
+ var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0;
+ var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0;
+ var $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0;
+ var $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $W = 0, $__a = 0, $__a10 = 0, $__a12 = 0, $__a14 = 0, $__a18 = 0, $__ctz_c = 0, $__ctz_c16 = 0, $__ctz_x = 0, $__ctz_x15 = 0, $__xr = 0, $__xr11 = 0, $__xr13 = 0, $__xr17 = 0, $__xr9 = 0, $_i = 0, $_i1 = 0, $_i2 = 0, $_i21 = 0;
+ var $_i3 = 0, $_i4 = 0, $_i5 = 0, $_i6 = 0, $_i7 = 0, $_i8 = 0, $base_u = 0, $base_u_size = 0, $bp = 0, $bp_marker = 0, $bp_nlimbs = 0, $bsec = 0, $bsign = 0, $bsize = 0, $c = 0, $c0 = 0, $carry_limb = 0, $e = 0, $e0 = 0, $ep = 0;
+ var $ep_marker = 0, $ep_nlimbs = 0, $esec = 0, $esize = 0, $i = 0, $j = 0, $k = 0, $karactx = 0, $max_u_size = 0, $mod_shift_cnt = 0, $mp = 0, $mp_marker = 0, $mp_nlimbs = 0, $msec = 0, $msign = 0, $msize = 0, $negative_result = 0, $or$cond = 0, $precomp = 0, $precomp_size = 0;
+ var $rp = 0, $rsign = 0, $rsize = 0, $size = 0, $tp = 0, $u = 0, $u20 = 0, $w = 0, $w19 = 0, $xp = 0, $xp_marker = 0, $xp_nlimbs = 0, $xsize = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $rsize = sp + 460|0;
+ $precomp = sp + 328|0;
+ $precomp_size = sp + 264|0;
+ $xsize = sp + 204|0;
+ $karactx = sp + 164|0;
+ $w = sp + 80|0;
+ $u = sp + 60|0;
+ $w19 = sp + 24|0;
+ $u20 = sp + 4|0;
+ $0 = $res;
+ $1 = $base;
+ $2 = $expo;
+ $3 = $mod;
+ $mp_marker = 0;
+ $bp_marker = 0;
+ $ep_marker = 0;
+ $xp_marker = 0;
+ $mp_nlimbs = 0;
+ $bp_nlimbs = 0;
+ $ep_nlimbs = 0;
+ $xp_nlimbs = 0;
+ $4 = $2;
+ $5 = ((($4)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ $esize = $6;
+ $7 = $3;
+ $8 = ((($7)) + 4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $msize = $9;
+ $10 = $msize;
+ $11 = $10<<1;
+ $size = $11;
+ $12 = $3;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $msign = $14;
+ $15 = $esize;
+ $16 = $15<<5;
+ $17 = ($16|0)>(512);
+ do {
+ if ($17) {
+ $W = 5;
+ } else {
+ $18 = $esize;
+ $19 = $18<<5;
+ $20 = ($19|0)>(256);
+ if ($20) {
+ $W = 4;
+ break;
+ }
+ $21 = $esize;
+ $22 = $21<<5;
+ $23 = ($22|0)>(128);
+ if ($23) {
+ $W = 3;
+ break;
+ }
+ $24 = $esize;
+ $25 = $24<<5;
+ $26 = ($25|0)>(64);
+ if ($26) {
+ $W = 2;
+ break;
+ } else {
+ $W = 1;
+ break;
+ }
+ }
+ } while(0);
+ $27 = $2;
+ $28 = ($27|0)!=(0|0);
+ if ($28) {
+ $29 = $2;
+ $30 = ((($29)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 & 1;
+ $33 = ($32|0)!=(0);
+ $35 = $33;
+ } else {
+ $35 = 0;
+ }
+ $34 = $35&1;
+ $esec = $34;
+ $36 = $3;
+ $37 = ($36|0)!=(0|0);
+ if ($37) {
+ $38 = $3;
+ $39 = ((($38)) + 12|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $40 & 1;
+ $42 = ($41|0)!=(0);
+ $44 = $42;
+ } else {
+ $44 = 0;
+ }
+ $43 = $44&1;
+ $msec = $43;
+ $45 = $1;
+ $46 = ($45|0)!=(0|0);
+ if ($46) {
+ $47 = $1;
+ $48 = ((($47)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $49 & 1;
+ $51 = ($50|0)!=(0);
+ $53 = $51;
+ } else {
+ $53 = 0;
+ }
+ $52 = $53&1;
+ $bsec = $52;
+ $54 = $0;
+ $55 = ((($54)) + 16|0);
+ $56 = HEAP32[$55>>2]|0;
+ $rp = $56;
+ $57 = $2;
+ $58 = ((($57)) + 16|0);
+ $59 = HEAP32[$58>>2]|0;
+ $ep = $59;
+ $60 = $msize;
+ $61 = ($60|0)!=(0);
+ if (!($61)) {
+ __gcry_divide_by_zero();
+ // unreachable;
+ }
+ $62 = $esize;
+ $63 = ($62|0)!=(0);
+ do {
+ if ($63) {
+ $89 = $msec;
+ $90 = ($89|0)!=(0);
+ $91 = $msize;
+ $92 = $90 ? $91 : 0;
+ $mp_nlimbs = $92;
+ $93 = $msize;
+ $94 = $msec;
+ $95 = (__gcry_mpi_alloc_limb_space($93,$94)|0);
+ $mp_marker = $95;
+ $mp = $95;
+ $96 = $msize;
+ $97 = (($96) - 1)|0;
+ $98 = $3;
+ $99 = ((($98)) + 16|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = (($100) + ($97<<2)|0);
+ $102 = HEAP32[$101>>2]|0;
+ $__xr = $102;
+ $103 = $__xr;
+ $104 = ($103>>>0)<(65536);
+ $105 = $__xr;
+ $106 = ($105>>>0)<(256);
+ $107 = $106 ? 0 : 8;
+ $108 = ($105>>>0)<(16777216);
+ $109 = $108 ? 16 : 24;
+ $110 = $104 ? $107 : $109;
+ $__a = $110;
+ $111 = $__xr;
+ $112 = $__a;
+ $113 = $111 >>> $112;
+ $114 = (45829 + ($113)|0);
+ $115 = HEAP8[$114>>0]|0;
+ $116 = $115&255;
+ $117 = $__a;
+ $118 = (($116) + ($117))|0;
+ $119 = (32 - ($118))|0;
+ $mod_shift_cnt = $119;
+ $120 = $mod_shift_cnt;
+ $121 = ($120|0)!=(0);
+ L28: do {
+ if ($121) {
+ $122 = $mp;
+ $123 = $3;
+ $124 = ((($123)) + 16|0);
+ $125 = HEAP32[$124>>2]|0;
+ $126 = $msize;
+ $127 = $mod_shift_cnt;
+ (__gcry_mpih_lshift($122,$125,$126,$127)|0);
+ } else {
+ $_i = 0;
+ while(1) {
+ $128 = $_i;
+ $129 = $msize;
+ $130 = ($128|0)<($129|0);
+ if (!($130)) {
+ break L28;
+ }
+ $131 = $_i;
+ $132 = $3;
+ $133 = ((($132)) + 16|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = (($134) + ($131<<2)|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $_i;
+ $138 = $mp;
+ $139 = (($138) + ($137<<2)|0);
+ HEAP32[$139>>2] = $136;
+ $140 = $_i;
+ $141 = (($140) + 1)|0;
+ $_i = $141;
+ }
+ }
+ } while(0);
+ $142 = $1;
+ $143 = ((($142)) + 4|0);
+ $144 = HEAP32[$143>>2]|0;
+ $bsize = $144;
+ $145 = $1;
+ $146 = ((($145)) + 8|0);
+ $147 = HEAP32[$146>>2]|0;
+ $bsign = $147;
+ $148 = $bsize;
+ $149 = $msize;
+ $150 = ($148|0)>($149|0);
+ L35: do {
+ if ($150) {
+ $151 = $bsec;
+ $152 = ($151|0)!=(0);
+ $153 = $bsize;
+ $154 = (($153) + 1)|0;
+ $155 = $152 ? $154 : 0;
+ $bp_nlimbs = $155;
+ $156 = $bsize;
+ $157 = (($156) + 1)|0;
+ $158 = $bsec;
+ $159 = (__gcry_mpi_alloc_limb_space($157,$158)|0);
+ $bp_marker = $159;
+ $bp = $159;
+ $_i1 = 0;
+ while(1) {
+ $160 = $_i1;
+ $161 = $bsize;
+ $162 = ($160|0)<($161|0);
+ if (!($162)) {
+ break;
+ }
+ $163 = $_i1;
+ $164 = $1;
+ $165 = ((($164)) + 16|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = (($166) + ($163<<2)|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = $_i1;
+ $170 = $bp;
+ $171 = (($170) + ($169<<2)|0);
+ HEAP32[$171>>2] = $168;
+ $172 = $_i1;
+ $173 = (($172) + 1)|0;
+ $_i1 = $173;
+ }
+ $174 = $bp;
+ $175 = $msize;
+ $176 = (($174) + ($175<<2)|0);
+ $177 = $bp;
+ $178 = $bsize;
+ $179 = $mp;
+ $180 = $msize;
+ (__gcry_mpih_divrem($176,0,$177,$178,$179,$180)|0);
+ $181 = $msize;
+ $bsize = $181;
+ while(1) {
+ $182 = $bsize;
+ $183 = ($182|0)>(0);
+ if (!($183)) {
+ break L35;
+ }
+ $184 = $bsize;
+ $185 = (($184) - 1)|0;
+ $186 = $bp;
+ $187 = (($186) + ($185<<2)|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = ($188|0)!=(0);
+ if ($189) {
+ break L35;
+ }
+ $190 = $bsize;
+ $191 = (($190) + -1)|0;
+ $bsize = $191;
+ }
+ } else {
+ $192 = $1;
+ $193 = ((($192)) + 16|0);
+ $194 = HEAP32[$193>>2]|0;
+ $bp = $194;
+ }
+ } while(0);
+ $195 = $bsize;
+ $196 = ($195|0)!=(0);
+ if (!($196)) {
+ $197 = $0;
+ $198 = ((($197)) + 4|0);
+ HEAP32[$198>>2] = 0;
+ $199 = $0;
+ $200 = ((($199)) + 8|0);
+ HEAP32[$200>>2] = 0;
+ break;
+ }
+ $201 = $rp;
+ $202 = $bp;
+ $203 = ($201|0)==($202|0);
+ L50: do {
+ if ($203) {
+ $204 = $bp_marker;
+ $205 = ($204|0)!=(0|0);
+ if ($205) {
+ __gcry_assert_failed(46085,46096,515,46106);
+ // unreachable;
+ }
+ $206 = $bsec;
+ $207 = ($206|0)!=(0);
+ $208 = $bsize;
+ $209 = $207 ? $208 : 0;
+ $bp_nlimbs = $209;
+ $210 = $bsize;
+ $211 = $bsec;
+ $212 = (__gcry_mpi_alloc_limb_space($210,$211)|0);
+ $bp_marker = $212;
+ $bp = $212;
+ $_i2 = 0;
+ while(1) {
+ $213 = $_i2;
+ $214 = $bsize;
+ $215 = ($213|0)<($214|0);
+ if (!($215)) {
+ break L50;
+ }
+ $216 = $_i2;
+ $217 = $rp;
+ $218 = (($217) + ($216<<2)|0);
+ $219 = HEAP32[$218>>2]|0;
+ $220 = $_i2;
+ $221 = $bp;
+ $222 = (($221) + ($220<<2)|0);
+ HEAP32[$222>>2] = $219;
+ $223 = $_i2;
+ $224 = (($223) + 1)|0;
+ $_i2 = $224;
+ }
+ }
+ } while(0);
+ $225 = $rp;
+ $226 = $ep;
+ $227 = ($225|0)==($226|0);
+ L59: do {
+ if ($227) {
+ $228 = $esec;
+ $229 = ($228|0)!=(0);
+ $230 = $esize;
+ $231 = $229 ? $230 : 0;
+ $ep_nlimbs = $231;
+ $232 = $esize;
+ $233 = $esec;
+ $234 = (__gcry_mpi_alloc_limb_space($232,$233)|0);
+ $ep_marker = $234;
+ $ep = $234;
+ $_i3 = 0;
+ while(1) {
+ $235 = $_i3;
+ $236 = $esize;
+ $237 = ($235|0)<($236|0);
+ if (!($237)) {
+ break L59;
+ }
+ $238 = $_i3;
+ $239 = $rp;
+ $240 = (($239) + ($238<<2)|0);
+ $241 = HEAP32[$240>>2]|0;
+ $242 = $_i3;
+ $243 = $ep;
+ $244 = (($243) + ($242<<2)|0);
+ HEAP32[$244>>2] = $241;
+ $245 = $_i3;
+ $246 = (($245) + 1)|0;
+ $_i3 = $246;
+ }
+ }
+ } while(0);
+ $247 = $0;
+ $248 = HEAP32[$247>>2]|0;
+ $249 = $size;
+ $250 = ($248|0)<($249|0);
+ if ($250) {
+ $251 = $0;
+ $252 = $size;
+ __gcry_mpi_resize($251,$252);
+ $253 = $0;
+ $254 = ((($253)) + 16|0);
+ $255 = HEAP32[$254>>2]|0;
+ $rp = $255;
+ }
+ $256 = $msec;
+ $257 = ($256|0)!=(0);
+ if ($257) {
+ $258 = $msize;
+ $259 = (($258) + 1)|0;
+ $260 = $259<<1;
+ $261 = $260;
+ } else {
+ $261 = 0;
+ }
+ $xp_nlimbs = $261;
+ $262 = $msize;
+ $263 = (($262) + 1)|0;
+ $264 = $263<<1;
+ $265 = $msec;
+ $266 = (__gcry_mpi_alloc_limb_space($264,$265)|0);
+ $xp_marker = $266;
+ $xp = $266;
+ ;HEAP32[$karactx>>2]=0|0;HEAP32[$karactx+4>>2]=0|0;HEAP32[$karactx+8>>2]=0|0;HEAP32[$karactx+12>>2]=0|0;HEAP32[$karactx+16>>2]=0|0;HEAP32[$karactx+20>>2]=0|0;HEAP32[$karactx+24>>2]=0|0;
+ $267 = $ep;
+ $268 = HEAP32[$267>>2]|0;
+ $269 = $268 & 1;
+ $270 = ($269|0)!=(0);
+ $271 = $bsign;
+ $272 = ($271|0)!=(0);
+ $273 = $270 ? $272 : 0;
+ $274 = $273&1;
+ $negative_result = $274;
+ $275 = $W;
+ $276 = ($275|0)>(1);
+ if ($276) {
+ $277 = $xp;
+ $278 = $bp;
+ $279 = $bsize;
+ $280 = $bp;
+ $281 = $bsize;
+ $282 = $mp;
+ $283 = $msize;
+ _mul_mod($277,$xsize,$278,$279,$280,$281,$282,$283,$karactx);
+ }
+ $284 = $bsize;
+ $285 = $esec;
+ $286 = (__gcry_mpi_alloc_limb_space($284,$285)|0);
+ HEAP32[$precomp>>2] = $286;
+ $base_u = $286;
+ $287 = $bsize;
+ HEAP32[$precomp_size>>2] = $287;
+ $max_u_size = $287;
+ $base_u_size = $287;
+ $_i4 = 0;
+ while(1) {
+ $288 = $_i4;
+ $289 = $bsize;
+ $290 = ($288|0)<($289|0);
+ if (!($290)) {
+ break;
+ }
+ $291 = $_i4;
+ $292 = $bp;
+ $293 = (($292) + ($291<<2)|0);
+ $294 = HEAP32[$293>>2]|0;
+ $295 = $_i4;
+ $296 = HEAP32[$precomp>>2]|0;
+ $297 = (($296) + ($295<<2)|0);
+ HEAP32[$297>>2] = $294;
+ $298 = $_i4;
+ $299 = (($298) + 1)|0;
+ $_i4 = $299;
+ }
+ $i = 1;
+ while(1) {
+ $300 = $i;
+ $301 = $W;
+ $302 = (($301) - 1)|0;
+ $303 = 1 << $302;
+ $304 = ($300|0)<($303|0);
+ if (!($304)) {
+ break;
+ }
+ $305 = HEAP32[$xsize>>2]|0;
+ $306 = $base_u_size;
+ $307 = ($305|0)>=($306|0);
+ $308 = $rp;
+ if ($307) {
+ $309 = $xp;
+ $310 = HEAP32[$xsize>>2]|0;
+ $311 = $base_u;
+ $312 = $base_u_size;
+ $313 = $mp;
+ $314 = $msize;
+ _mul_mod($308,$rsize,$309,$310,$311,$312,$313,$314,$karactx);
+ } else {
+ $315 = $base_u;
+ $316 = $base_u_size;
+ $317 = $xp;
+ $318 = HEAP32[$xsize>>2]|0;
+ $319 = $mp;
+ $320 = $msize;
+ _mul_mod($308,$rsize,$315,$316,$317,$318,$319,$320,$karactx);
+ }
+ $321 = HEAP32[$rsize>>2]|0;
+ $322 = $esec;
+ $323 = (__gcry_mpi_alloc_limb_space($321,$322)|0);
+ $324 = $i;
+ $325 = (($precomp) + ($324<<2)|0);
+ HEAP32[$325>>2] = $323;
+ $base_u = $323;
+ $326 = HEAP32[$rsize>>2]|0;
+ $327 = $i;
+ $328 = (($precomp_size) + ($327<<2)|0);
+ HEAP32[$328>>2] = $326;
+ $base_u_size = $326;
+ $329 = $max_u_size;
+ $330 = $base_u_size;
+ $331 = ($329|0)<($330|0);
+ if ($331) {
+ $332 = $base_u_size;
+ $max_u_size = $332;
+ }
+ $_i5 = 0;
+ while(1) {
+ $333 = $_i5;
+ $334 = HEAP32[$rsize>>2]|0;
+ $335 = ($333|0)<($334|0);
+ if (!($335)) {
+ break;
+ }
+ $336 = $_i5;
+ $337 = $rp;
+ $338 = (($337) + ($336<<2)|0);
+ $339 = HEAP32[$338>>2]|0;
+ $340 = $_i5;
+ $341 = $i;
+ $342 = (($precomp) + ($341<<2)|0);
+ $343 = HEAP32[$342>>2]|0;
+ $344 = (($343) + ($340<<2)|0);
+ HEAP32[$344>>2] = $339;
+ $345 = $_i5;
+ $346 = (($345) + 1)|0;
+ $_i5 = $346;
+ }
+ $347 = $i;
+ $348 = (($347) + 1)|0;
+ $i = $348;
+ }
+ $349 = $max_u_size;
+ $350 = $esec;
+ $351 = (__gcry_mpi_alloc_limb_space($349,$350)|0);
+ $base_u = $351;
+ $_i6 = 0;
+ while(1) {
+ $352 = $_i6;
+ $353 = $max_u_size;
+ $354 = ($352|0)<($353|0);
+ if (!($354)) {
+ break;
+ }
+ $355 = $_i6;
+ $356 = $base_u;
+ $357 = (($356) + ($355<<2)|0);
+ HEAP32[$357>>2] = 0;
+ $358 = $_i6;
+ $359 = (($358) + 1)|0;
+ $_i6 = $359;
+ }
+ $360 = $esize;
+ $361 = (($360) - 1)|0;
+ $i = $361;
+ $rsign = 0;
+ $362 = $W;
+ $363 = ($362|0)==(1);
+ L97: do {
+ if ($363) {
+ $364 = $bsize;
+ HEAP32[$rsize>>2] = $364;
+ } else {
+ $365 = $msize;
+ HEAP32[$rsize>>2] = $365;
+ $_i7 = 0;
+ while(1) {
+ $366 = $_i7;
+ $367 = HEAP32[$rsize>>2]|0;
+ $368 = ($366|0)<($367|0);
+ if (!($368)) {
+ break L97;
+ }
+ $369 = $_i7;
+ $370 = $rp;
+ $371 = (($370) + ($369<<2)|0);
+ HEAP32[$371>>2] = 0;
+ $372 = $_i7;
+ $373 = (($372) + 1)|0;
+ $_i7 = $373;
+ }
+ }
+ } while(0);
+ $_i8 = 0;
+ while(1) {
+ $374 = $_i8;
+ $375 = $bsize;
+ $376 = ($374|0)<($375|0);
+ if (!($376)) {
+ break;
+ }
+ $377 = $_i8;
+ $378 = $bp;
+ $379 = (($378) + ($377<<2)|0);
+ $380 = HEAP32[$379>>2]|0;
+ $381 = $_i8;
+ $382 = $rp;
+ $383 = (($382) + ($381<<2)|0);
+ HEAP32[$383>>2] = $380;
+ $384 = $_i8;
+ $385 = (($384) + 1)|0;
+ $_i8 = $385;
+ }
+ $386 = $i;
+ $387 = $ep;
+ $388 = (($387) + ($386<<2)|0);
+ $389 = HEAP32[$388>>2]|0;
+ $e = $389;
+ $390 = $e;
+ $__xr9 = $390;
+ $391 = $__xr9;
+ $392 = ($391>>>0)<(65536);
+ $393 = $__xr9;
+ $394 = ($393>>>0)<(256);
+ $395 = $394 ? 0 : 8;
+ $396 = ($393>>>0)<(16777216);
+ $397 = $396 ? 16 : 24;
+ $398 = $392 ? $395 : $397;
+ $__a10 = $398;
+ $399 = $__xr9;
+ $400 = $__a10;
+ $401 = $399 >>> $400;
+ $402 = (45829 + ($401)|0);
+ $403 = HEAP8[$402>>0]|0;
+ $404 = $403&255;
+ $405 = $__a10;
+ $406 = (($404) + ($405))|0;
+ $407 = (32 - ($406))|0;
+ $c = $407;
+ $408 = $e;
+ $409 = $c;
+ $410 = $408 << $409;
+ $411 = $410 << 1;
+ $e = $411;
+ $412 = $c;
+ $413 = (31 - ($412))|0;
+ $c = $413;
+ $j = 0;
+ while(1) {
+ $414 = $e;
+ $415 = ($414|0)==(0);
+ if ($415) {
+ $416 = $c;
+ $417 = $j;
+ $418 = (($417) + ($416))|0;
+ $j = $418;
+ $419 = $i;
+ $420 = (($419) + -1)|0;
+ $i = $420;
+ $421 = $i;
+ $422 = ($421|0)<(0);
+ if ($422) {
+ label = 86;
+ break;
+ }
+ $423 = $i;
+ $424 = $ep;
+ $425 = (($424) + ($423<<2)|0);
+ $426 = HEAP32[$425>>2]|0;
+ $e = $426;
+ $c = 32;
+ continue;
+ }
+ $427 = $e;
+ $__xr11 = $427;
+ $428 = $__xr11;
+ $429 = ($428>>>0)<(65536);
+ $430 = $__xr11;
+ $431 = ($430>>>0)<(256);
+ $432 = $431 ? 0 : 8;
+ $433 = ($430>>>0)<(16777216);
+ $434 = $433 ? 16 : 24;
+ $435 = $429 ? $432 : $434;
+ $__a12 = $435;
+ $436 = $__xr11;
+ $437 = $__a12;
+ $438 = $436 >>> $437;
+ $439 = (45829 + ($438)|0);
+ $440 = HEAP8[$439>>0]|0;
+ $441 = $440&255;
+ $442 = $__a12;
+ $443 = (($441) + ($442))|0;
+ $444 = (32 - ($443))|0;
+ $c0 = $444;
+ $445 = $e;
+ $446 = $c0;
+ $447 = $445 << $446;
+ $e = $447;
+ $448 = $c0;
+ $449 = $c;
+ $450 = (($449) - ($448))|0;
+ $c = $450;
+ $451 = $c0;
+ $452 = $j;
+ $453 = (($452) + ($451))|0;
+ $j = $453;
+ $454 = $c;
+ $455 = $W;
+ $456 = ($454|0)>=($455|0);
+ if ($456) {
+ $457 = $e;
+ $458 = $W;
+ $459 = (32 - ($458))|0;
+ $460 = $457 >>> $459;
+ $e0 = $460;
+ $461 = $e;
+ $462 = $W;
+ $463 = $461 << $462;
+ $e = $463;
+ $464 = $W;
+ $465 = $c;
+ $466 = (($465) - ($464))|0;
+ $c = $466;
+ } else {
+ $467 = $i;
+ $468 = (($467) + -1)|0;
+ $i = $468;
+ $469 = $i;
+ $470 = ($469|0)<(0);
+ if ($470) {
+ label = 91;
+ break;
+ }
+ $475 = $c;
+ $c0 = $475;
+ $476 = $e;
+ $477 = $W;
+ $478 = (32 - ($477))|0;
+ $479 = $476 >>> $478;
+ $480 = $i;
+ $481 = $ep;
+ $482 = (($481) + ($480<<2)|0);
+ $483 = HEAP32[$482>>2]|0;
+ $484 = $W;
+ $485 = (32 - ($484))|0;
+ $486 = $c0;
+ $487 = (($485) + ($486))|0;
+ $488 = $483 >>> $487;
+ $489 = $479 | $488;
+ $e0 = $489;
+ $490 = $i;
+ $491 = $ep;
+ $492 = (($491) + ($490<<2)|0);
+ $493 = HEAP32[$492>>2]|0;
+ $494 = $W;
+ $495 = $c0;
+ $496 = (($494) - ($495))|0;
+ $497 = $493 << $496;
+ $e = $497;
+ $498 = $W;
+ $499 = (32 - ($498))|0;
+ $500 = $c0;
+ $501 = (($499) + ($500))|0;
+ $c = $501;
+ }
+ $502 = $e0;
+ $__ctz_x = $502;
+ $503 = $__ctz_x;
+ $504 = $__ctz_x;
+ $505 = (0 - ($504))|0;
+ $506 = $503 & $505;
+ $__xr13 = $506;
+ $507 = $__xr13;
+ $508 = ($507>>>0)<(65536);
+ $509 = $__xr13;
+ $510 = ($509>>>0)<(256);
+ $511 = $510 ? 0 : 8;
+ $512 = ($509>>>0)<(16777216);
+ $513 = $512 ? 16 : 24;
+ $514 = $508 ? $511 : $513;
+ $__a14 = $514;
+ $515 = $__xr13;
+ $516 = $__a14;
+ $517 = $515 >>> $516;
+ $518 = (45829 + ($517)|0);
+ $519 = HEAP8[$518>>0]|0;
+ $520 = $519&255;
+ $521 = $__a14;
+ $522 = (($520) + ($521))|0;
+ $523 = (32 - ($522))|0;
+ $__ctz_c = $523;
+ $524 = $__ctz_c;
+ $525 = (31 - ($524))|0;
+ $c0 = $525;
+ $526 = $e0;
+ $527 = $c0;
+ $528 = $526 >>> $527;
+ $529 = $528 >>> 1;
+ $e0 = $529;
+ $530 = $W;
+ $531 = $c0;
+ $532 = (($530) - ($531))|0;
+ $533 = $j;
+ $534 = (($533) + ($532))|0;
+ $j = $534;
+ while(1) {
+ $535 = $j;
+ $536 = ($535|0)!=(0);
+ if (!($536)) {
+ break;
+ }
+ $537 = $xp;
+ $538 = $rp;
+ $539 = HEAP32[$rsize>>2]|0;
+ $540 = $rp;
+ $541 = HEAP32[$rsize>>2]|0;
+ $542 = $mp;
+ $543 = $msize;
+ _mul_mod($537,$xsize,$538,$539,$540,$541,$542,$543,$karactx);
+ $544 = $rp;
+ $tp = $544;
+ $545 = $xp;
+ $rp = $545;
+ $546 = $tp;
+ $xp = $546;
+ $547 = HEAP32[$xsize>>2]|0;
+ HEAP32[$rsize>>2] = $547;
+ $548 = $j;
+ $549 = (($548) + -1)|0;
+ $j = $549;
+ }
+ $base_u_size = 0;
+ $k = 0;
+ while(1) {
+ $550 = $k;
+ $551 = $W;
+ $552 = (($551) - 1)|0;
+ $553 = 1 << $552;
+ $554 = ($550|0)<($553|0);
+ if (!($554)) {
+ break;
+ }
+ $555 = $k;
+ $556 = (($precomp_size) + ($555<<2)|0);
+ $557 = HEAP32[$556>>2]|0;
+ $558 = ((($w)) + 4|0);
+ HEAP32[$558>>2] = $557;
+ HEAP32[$w>>2] = $557;
+ $559 = $k;
+ $560 = (($precomp_size) + ($559<<2)|0);
+ $561 = HEAP32[$560>>2]|0;
+ $562 = ((($u)) + 4|0);
+ HEAP32[$562>>2] = $561;
+ HEAP32[$u>>2] = $561;
+ $563 = ((($u)) + 8|0);
+ HEAP32[$563>>2] = 0;
+ $564 = ((($w)) + 8|0);
+ HEAP32[$564>>2] = 0;
+ $565 = ((($u)) + 12|0);
+ HEAP32[$565>>2] = 0;
+ $566 = ((($w)) + 12|0);
+ HEAP32[$566>>2] = 0;
+ $567 = $base_u;
+ $568 = ((($w)) + 16|0);
+ HEAP32[$568>>2] = $567;
+ $569 = $k;
+ $570 = (($precomp) + ($569<<2)|0);
+ $571 = HEAP32[$570>>2]|0;
+ $572 = ((($u)) + 16|0);
+ HEAP32[$572>>2] = $571;
+ $573 = $k;
+ $574 = $e0;
+ $575 = ($573|0)==($574|0);
+ $576 = $575&1;
+ (__gcry_mpi_set_cond($w,$u,$576)|0);
+ $577 = $k;
+ $578 = (($precomp_size) + ($577<<2)|0);
+ $579 = HEAP32[$578>>2]|0;
+ $580 = $k;
+ $581 = $e0;
+ $582 = ($580|0)==($581|0);
+ $583 = $582&1;
+ $584 = (0 - ($583))|0;
+ $585 = $579 & $584;
+ $586 = $base_u_size;
+ $587 = $586 | $585;
+ $base_u_size = $587;
+ $588 = $k;
+ $589 = (($588) + 1)|0;
+ $k = $589;
+ }
+ $590 = $xp;
+ $591 = $rp;
+ $592 = HEAP32[$rsize>>2]|0;
+ $593 = $base_u;
+ $594 = $base_u_size;
+ $595 = $mp;
+ $596 = $msize;
+ _mul_mod($590,$xsize,$591,$592,$593,$594,$595,$596,$karactx);
+ $597 = $rp;
+ $tp = $597;
+ $598 = $xp;
+ $rp = $598;
+ $599 = $tp;
+ $xp = $599;
+ $600 = HEAP32[$xsize>>2]|0;
+ HEAP32[$rsize>>2] = $600;
+ $601 = $c0;
+ $j = $601;
+ }
+ if ((label|0) == 86) {
+ $c = 0;
+ }
+ else if ((label|0) == 91) {
+ $471 = $e;
+ $472 = $c;
+ $473 = (32 - ($472))|0;
+ $474 = $471 >>> $473;
+ $e = $474;
+ }
+ $602 = $c;
+ $603 = ($602|0)!=(0);
+ if ($603) {
+ $604 = $c;
+ $605 = $j;
+ $606 = (($605) + ($604))|0;
+ $j = $606;
+ $607 = $e;
+ $__ctz_x15 = $607;
+ $608 = $__ctz_x15;
+ $609 = $__ctz_x15;
+ $610 = (0 - ($609))|0;
+ $611 = $608 & $610;
+ $__xr17 = $611;
+ $612 = $__xr17;
+ $613 = ($612>>>0)<(65536);
+ $614 = $__xr17;
+ $615 = ($614>>>0)<(256);
+ $616 = $615 ? 0 : 8;
+ $617 = ($614>>>0)<(16777216);
+ $618 = $617 ? 16 : 24;
+ $619 = $613 ? $616 : $618;
+ $__a18 = $619;
+ $620 = $__xr17;
+ $621 = $__a18;
+ $622 = $620 >>> $621;
+ $623 = (45829 + ($622)|0);
+ $624 = HEAP8[$623>>0]|0;
+ $625 = $624&255;
+ $626 = $__a18;
+ $627 = (($625) + ($626))|0;
+ $628 = (32 - ($627))|0;
+ $__ctz_c16 = $628;
+ $629 = $__ctz_c16;
+ $630 = (31 - ($629))|0;
+ $c = $630;
+ $631 = $e;
+ $632 = $c;
+ $633 = $631 >>> $632;
+ $e = $633;
+ $634 = $c;
+ $635 = $j;
+ $636 = (($635) - ($634))|0;
+ $j = $636;
+ }
+ while(1) {
+ $637 = $j;
+ $638 = (($637) + -1)|0;
+ $j = $638;
+ $639 = ($637|0)!=(0);
+ if (!($639)) {
+ break;
+ }
+ $640 = $xp;
+ $641 = $rp;
+ $642 = HEAP32[$rsize>>2]|0;
+ $643 = $rp;
+ $644 = HEAP32[$rsize>>2]|0;
+ $645 = $mp;
+ $646 = $msize;
+ _mul_mod($640,$xsize,$641,$642,$643,$644,$645,$646,$karactx);
+ $647 = $rp;
+ $tp = $647;
+ $648 = $xp;
+ $rp = $648;
+ $649 = $tp;
+ $xp = $649;
+ $650 = HEAP32[$xsize>>2]|0;
+ HEAP32[$rsize>>2] = $650;
+ }
+ $651 = $e;
+ $652 = ($651|0)!=(0);
+ L137: do {
+ if ($652) {
+ $base_u_size = 0;
+ $k = 0;
+ while(1) {
+ $653 = $k;
+ $654 = $W;
+ $655 = (($654) - 1)|0;
+ $656 = 1 << $655;
+ $657 = ($653|0)<($656|0);
+ if (!($657)) {
+ break;
+ }
+ $658 = $k;
+ $659 = (($precomp_size) + ($658<<2)|0);
+ $660 = HEAP32[$659>>2]|0;
+ $661 = ((($w19)) + 4|0);
+ HEAP32[$661>>2] = $660;
+ HEAP32[$w19>>2] = $660;
+ $662 = $k;
+ $663 = (($precomp_size) + ($662<<2)|0);
+ $664 = HEAP32[$663>>2]|0;
+ $665 = ((($u20)) + 4|0);
+ HEAP32[$665>>2] = $664;
+ HEAP32[$u20>>2] = $664;
+ $666 = ((($u20)) + 8|0);
+ HEAP32[$666>>2] = 0;
+ $667 = ((($w19)) + 8|0);
+ HEAP32[$667>>2] = 0;
+ $668 = ((($u20)) + 12|0);
+ HEAP32[$668>>2] = 0;
+ $669 = ((($w19)) + 12|0);
+ HEAP32[$669>>2] = 0;
+ $670 = $base_u;
+ $671 = ((($w19)) + 16|0);
+ HEAP32[$671>>2] = $670;
+ $672 = $k;
+ $673 = (($precomp) + ($672<<2)|0);
+ $674 = HEAP32[$673>>2]|0;
+ $675 = ((($u20)) + 16|0);
+ HEAP32[$675>>2] = $674;
+ $676 = $k;
+ $677 = $e;
+ $678 = $677 >>> 1;
+ $679 = ($676|0)==($678|0);
+ $680 = $679&1;
+ (__gcry_mpi_set_cond($w19,$u20,$680)|0);
+ $681 = $k;
+ $682 = (($precomp_size) + ($681<<2)|0);
+ $683 = HEAP32[$682>>2]|0;
+ $684 = $k;
+ $685 = $e;
+ $686 = $685 >>> 1;
+ $687 = ($684|0)==($686|0);
+ $688 = $687&1;
+ $689 = (0 - ($688))|0;
+ $690 = $683 & $689;
+ $691 = $base_u_size;
+ $692 = $691 | $690;
+ $base_u_size = $692;
+ $693 = $k;
+ $694 = (($693) + 1)|0;
+ $k = $694;
+ }
+ $695 = $xp;
+ $696 = $rp;
+ $697 = HEAP32[$rsize>>2]|0;
+ $698 = $base_u;
+ $699 = $base_u_size;
+ $700 = $mp;
+ $701 = $msize;
+ _mul_mod($695,$xsize,$696,$697,$698,$699,$700,$701,$karactx);
+ $702 = $rp;
+ $tp = $702;
+ $703 = $xp;
+ $rp = $703;
+ $704 = $tp;
+ $xp = $704;
+ $705 = HEAP32[$xsize>>2]|0;
+ HEAP32[$rsize>>2] = $705;
+ while(1) {
+ $706 = $c;
+ $707 = ($706|0)!=(0);
+ if (!($707)) {
+ break L137;
+ }
+ $708 = $xp;
+ $709 = $rp;
+ $710 = HEAP32[$rsize>>2]|0;
+ $711 = $rp;
+ $712 = HEAP32[$rsize>>2]|0;
+ $713 = $mp;
+ $714 = $msize;
+ _mul_mod($708,$xsize,$709,$710,$711,$712,$713,$714,$karactx);
+ $715 = $rp;
+ $tp = $715;
+ $716 = $xp;
+ $rp = $716;
+ $717 = $tp;
+ $xp = $717;
+ $718 = HEAP32[$xsize>>2]|0;
+ HEAP32[$rsize>>2] = $718;
+ $719 = $c;
+ $720 = (($719) + -1)|0;
+ $c = $720;
+ }
+ }
+ } while(0);
+ $721 = $mod_shift_cnt;
+ $722 = ($721|0)!=(0);
+ $723 = $0;
+ $724 = ((($723)) + 16|0);
+ $725 = HEAP32[$724>>2]|0;
+ $726 = $rp;
+ do {
+ if ($722) {
+ $727 = HEAP32[$rsize>>2]|0;
+ $728 = $mod_shift_cnt;
+ $729 = (__gcry_mpih_lshift($725,$726,$727,$728)|0);
+ $carry_limb = $729;
+ $730 = $0;
+ $731 = ((($730)) + 16|0);
+ $732 = HEAP32[$731>>2]|0;
+ $rp = $732;
+ $733 = $carry_limb;
+ $734 = ($733|0)!=(0);
+ if (!($734)) {
+ break;
+ }
+ $735 = $carry_limb;
+ $736 = HEAP32[$rsize>>2]|0;
+ $737 = $rp;
+ $738 = (($737) + ($736<<2)|0);
+ HEAP32[$738>>2] = $735;
+ $739 = HEAP32[$rsize>>2]|0;
+ $740 = (($739) + 1)|0;
+ HEAP32[$rsize>>2] = $740;
+ } else {
+ $741 = ($725|0)!=($726|0);
+ if (!($741)) {
+ break;
+ }
+ $_i21 = 0;
+ while(1) {
+ $742 = $_i21;
+ $743 = HEAP32[$rsize>>2]|0;
+ $744 = ($742|0)<($743|0);
+ if (!($744)) {
+ break;
+ }
+ $745 = $_i21;
+ $746 = $rp;
+ $747 = (($746) + ($745<<2)|0);
+ $748 = HEAP32[$747>>2]|0;
+ $749 = $_i21;
+ $750 = $0;
+ $751 = ((($750)) + 16|0);
+ $752 = HEAP32[$751>>2]|0;
+ $753 = (($752) + ($749<<2)|0);
+ HEAP32[$753>>2] = $748;
+ $754 = $_i21;
+ $755 = (($754) + 1)|0;
+ $_i21 = $755;
+ }
+ $756 = $0;
+ $757 = ((($756)) + 16|0);
+ $758 = HEAP32[$757>>2]|0;
+ $rp = $758;
+ }
+ } while(0);
+ $759 = HEAP32[$rsize>>2]|0;
+ $760 = $msize;
+ $761 = ($759|0)>=($760|0);
+ if ($761) {
+ $762 = $rp;
+ $763 = $msize;
+ $764 = (($762) + ($763<<2)|0);
+ $765 = $rp;
+ $766 = HEAP32[$rsize>>2]|0;
+ $767 = $mp;
+ $768 = $msize;
+ (__gcry_mpih_divrem($764,0,$765,$766,$767,$768)|0);
+ $769 = $msize;
+ HEAP32[$rsize>>2] = $769;
+ }
+ $770 = $mod_shift_cnt;
+ $771 = ($770|0)!=(0);
+ if ($771) {
+ $772 = $rp;
+ $773 = $rp;
+ $774 = HEAP32[$rsize>>2]|0;
+ $775 = $mod_shift_cnt;
+ (__gcry_mpih_rshift($772,$773,$774,$775)|0);
+ }
+ while(1) {
+ $776 = HEAP32[$rsize>>2]|0;
+ $777 = ($776|0)>(0);
+ if (!($777)) {
+ break;
+ }
+ $778 = HEAP32[$rsize>>2]|0;
+ $779 = (($778) - 1)|0;
+ $780 = $rp;
+ $781 = (($780) + ($779<<2)|0);
+ $782 = HEAP32[$781>>2]|0;
+ $783 = ($782|0)!=(0);
+ if ($783) {
+ break;
+ }
+ $784 = HEAP32[$rsize>>2]|0;
+ $785 = (($784) + -1)|0;
+ HEAP32[$rsize>>2] = $785;
+ }
+ __gcry_mpih_release_karatsuba_ctx($karactx);
+ $i = 0;
+ while(1) {
+ $786 = $i;
+ $787 = $W;
+ $788 = (($787) - 1)|0;
+ $789 = 1 << $788;
+ $790 = ($786|0)<($789|0);
+ if (!($790)) {
+ break;
+ }
+ $791 = $i;
+ $792 = (($precomp) + ($791<<2)|0);
+ $793 = HEAP32[$792>>2]|0;
+ $794 = $esec;
+ $795 = ($794|0)!=(0);
+ if ($795) {
+ $796 = $i;
+ $797 = (($precomp_size) + ($796<<2)|0);
+ $798 = HEAP32[$797>>2]|0;
+ $799 = $798;
+ } else {
+ $799 = 0;
+ }
+ __gcry_mpi_free_limb_space($793,$799);
+ $800 = $i;
+ $801 = (($800) + 1)|0;
+ $i = $801;
+ }
+ $802 = $base_u;
+ $803 = $esec;
+ $804 = ($803|0)!=(0);
+ $805 = $max_u_size;
+ $806 = $804 ? $805 : 0;
+ __gcry_mpi_free_limb_space($802,$806);
+ $807 = $negative_result;
+ $808 = ($807|0)!=(0);
+ $809 = HEAP32[$rsize>>2]|0;
+ $810 = ($809|0)!=(0);
+ $or$cond = $808 & $810;
+ L174: do {
+ if ($or$cond) {
+ $811 = $mod_shift_cnt;
+ $812 = ($811|0)!=(0);
+ if ($812) {
+ $813 = $mp;
+ $814 = $mp;
+ $815 = $msize;
+ $816 = $mod_shift_cnt;
+ (__gcry_mpih_rshift($813,$814,$815,$816)|0);
+ }
+ $817 = $rp;
+ $818 = $mp;
+ $819 = $msize;
+ $820 = $rp;
+ $821 = HEAP32[$rsize>>2]|0;
+ (__gcry_mpih_sub($817,$818,$819,$820,$821)|0);
+ $822 = $msize;
+ HEAP32[$rsize>>2] = $822;
+ $823 = $msign;
+ $rsign = $823;
+ while(1) {
+ $824 = HEAP32[$rsize>>2]|0;
+ $825 = ($824|0)>(0);
+ if (!($825)) {
+ break L174;
+ }
+ $826 = HEAP32[$rsize>>2]|0;
+ $827 = (($826) - 1)|0;
+ $828 = $rp;
+ $829 = (($828) + ($827<<2)|0);
+ $830 = HEAP32[$829>>2]|0;
+ $831 = ($830|0)!=(0);
+ if ($831) {
+ break L174;
+ }
+ $832 = HEAP32[$rsize>>2]|0;
+ $833 = (($832) + -1)|0;
+ HEAP32[$rsize>>2] = $833;
+ }
+ }
+ } while(0);
+ $834 = $0;
+ $835 = ((($834)) + 16|0);
+ $836 = HEAP32[$835>>2]|0;
+ $837 = $rp;
+ $838 = ($836|0)==($837|0);
+ if ($838) {
+ $839 = HEAP32[$rsize>>2]|0;
+ $840 = $0;
+ $841 = ((($840)) + 4|0);
+ HEAP32[$841>>2] = $839;
+ $842 = $rsign;
+ $843 = $0;
+ $844 = ((($843)) + 8|0);
+ HEAP32[$844>>2] = $842;
+ break;
+ } else {
+ __gcry_assert_failed(46121,46096,786,46106);
+ // unreachable;
+ }
+ } else {
+ $64 = $msize;
+ $65 = ($64|0)==(1);
+ if ($65) {
+ $66 = $3;
+ $67 = ((($66)) + 16|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = HEAP32[$68>>2]|0;
+ $70 = ($69|0)==(1);
+ $71 = $70;
+ } else {
+ $71 = 0;
+ }
+ $72 = $71 ? 0 : 1;
+ $73 = $0;
+ $74 = ((($73)) + 4|0);
+ HEAP32[$74>>2] = $72;
+ $75 = $0;
+ $76 = ((($75)) + 4|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ($77|0)!=(0);
+ if ($78) {
+ $79 = $0;
+ $80 = HEAP32[$79>>2]|0;
+ $81 = ($80|0)<(1);
+ if ($81) {
+ $82 = $0;
+ __gcry_mpi_resize($82,1);
+ }
+ $83 = $0;
+ $84 = ((($83)) + 16|0);
+ $85 = HEAP32[$84>>2]|0;
+ $rp = $85;
+ $86 = $rp;
+ HEAP32[$86>>2] = 1;
+ }
+ $87 = $0;
+ $88 = ((($87)) + 8|0);
+ HEAP32[$88>>2] = 0;
+ }
+ } while(0);
+ $845 = $mp_marker;
+ $846 = ($845|0)!=(0|0);
+ if ($846) {
+ $847 = $mp_marker;
+ $848 = $mp_nlimbs;
+ __gcry_mpi_free_limb_space($847,$848);
+ }
+ $849 = $bp_marker;
+ $850 = ($849|0)!=(0|0);
+ if ($850) {
+ $851 = $bp_marker;
+ $852 = $bp_nlimbs;
+ __gcry_mpi_free_limb_space($851,$852);
+ }
+ $853 = $ep_marker;
+ $854 = ($853|0)!=(0|0);
+ if ($854) {
+ $855 = $ep_marker;
+ $856 = $ep_nlimbs;
+ __gcry_mpi_free_limb_space($855,$856);
+ }
+ $857 = $xp_marker;
+ $858 = ($857|0)!=(0|0);
+ if (!($858)) {
+ STACKTOP = sp;return;
+ }
+ $859 = $xp_marker;
+ $860 = $xp_nlimbs;
+ __gcry_mpi_free_limb_space($859,$860);
+ STACKTOP = sp;return;
+}
+function _mul_mod($xp,$xsize_p,$rp,$rsize,$sp,$ssize,$mp,$msize,$karactx_p) {
+ $xp = $xp|0;
+ $xsize_p = $xsize_p|0;
+ $rp = $rp|0;
+ $rsize = $rsize|0;
+ $sp = $sp|0;
+ $ssize = $ssize|0;
+ $mp = $mp|0;
+ $msize = $msize|0;
+ $karactx_p = $karactx_p|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $xp;
+ $1 = $xsize_p;
+ $2 = $rp;
+ $3 = $rsize;
+ $4 = $sp;
+ $5 = $ssize;
+ $6 = $mp;
+ $7 = $msize;
+ $8 = $karactx_p;
+ $9 = $5;
+ $10 = ($9|0)<(16);
+ $11 = $0;
+ $12 = $2;
+ $13 = $3;
+ $14 = $4;
+ $15 = $5;
+ if ($10) {
+ (__gcry_mpih_mul($11,$12,$13,$14,$15)|0);
+ } else {
+ $16 = $8;
+ __gcry_mpih_mul_karatsuba_case($11,$12,$13,$14,$15,$16);
+ }
+ $17 = $3;
+ $18 = $5;
+ $19 = (($17) + ($18))|0;
+ $20 = $7;
+ $21 = ($19|0)>($20|0);
+ if ($21) {
+ $22 = $0;
+ $23 = $7;
+ $24 = (($22) + ($23<<2)|0);
+ $25 = $0;
+ $26 = $3;
+ $27 = $5;
+ $28 = (($26) + ($27))|0;
+ $29 = $6;
+ $30 = $7;
+ (__gcry_mpih_divrem($24,0,$25,$28,$29,$30)|0);
+ $31 = $7;
+ $32 = $1;
+ HEAP32[$32>>2] = $31;
+ STACKTOP = sp;return;
+ } else {
+ $33 = $3;
+ $34 = $5;
+ $35 = (($33) + ($34))|0;
+ $36 = $1;
+ HEAP32[$36>>2] = $35;
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_mpi_trailing_zeros($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $__a = 0, $__ctz_c = 0, $__ctz_x = 0, $__xr = 0, $alimb = 0, $count = 0, $n = 0, $nn = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $count = 0;
+ $n = 0;
+ while(1) {
+ $1 = $n;
+ $2 = $0;
+ $3 = ((($2)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($1>>>0)<($4>>>0);
+ if (!($5)) {
+ label = 6;
+ break;
+ }
+ $6 = $n;
+ $7 = $0;
+ $8 = ((($7)) + 16|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (($9) + ($6<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ break;
+ }
+ $46 = $count;
+ $47 = (($46) + 32)|0;
+ $count = $47;
+ $48 = $n;
+ $49 = (($48) + 1)|0;
+ $n = $49;
+ }
+ if ((label|0) == 6) {
+ $50 = $count;
+ STACKTOP = sp;return ($50|0);
+ }
+ $13 = $n;
+ $14 = $0;
+ $15 = ((($14)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($16) + ($13<<2)|0);
+ $18 = HEAP32[$17>>2]|0;
+ $alimb = $18;
+ $19 = $alimb;
+ $__ctz_x = $19;
+ $20 = $__ctz_x;
+ $21 = $__ctz_x;
+ $22 = (0 - ($21))|0;
+ $23 = $20 & $22;
+ $__xr = $23;
+ $24 = $__xr;
+ $25 = ($24>>>0)<(65536);
+ $26 = $__xr;
+ $27 = ($26>>>0)<(256);
+ $28 = $27 ? 0 : 8;
+ $29 = ($26>>>0)<(16777216);
+ $30 = $29 ? 16 : 24;
+ $31 = $25 ? $28 : $30;
+ $__a = $31;
+ $32 = $__xr;
+ $33 = $__a;
+ $34 = $32 >>> $33;
+ $35 = (45829 + ($34)|0);
+ $36 = HEAP8[$35>>0]|0;
+ $37 = $36&255;
+ $38 = $__a;
+ $39 = (($37) + ($38))|0;
+ $40 = (32 - ($39))|0;
+ $__ctz_c = $40;
+ $41 = $__ctz_c;
+ $42 = (31 - ($41))|0;
+ $nn = $42;
+ $43 = $nn;
+ $44 = $count;
+ $45 = (($44) + ($43))|0;
+ $count = $45;
+ $50 = $count;
+ STACKTOP = sp;return ($50|0);
+}
+function __gcry_mpi_get_buffer($a,$fill_le,$r_nbytes,$sign) {
+ $a = $a|0;
+ $fill_le = $fill_le|0;
+ $r_nbytes = $r_nbytes|0;
+ $sign = $sign|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $fill_le;
+ $2 = $r_nbytes;
+ $3 = $sign;
+ $4 = $0;
+ $5 = $1;
+ $6 = $2;
+ $7 = $3;
+ $8 = (_do_get_buffer($4,$5,0,$6,$7,0)|0);
+ STACKTOP = sp;return ($8|0);
+}
+function _do_get_buffer($a,$fill_le,$extraalloc,$nbytes,$sign,$force_secure) {
+ $a = $a|0;
+ $fill_le = $fill_le|0;
+ $extraalloc = $extraalloc|0;
+ $nbytes = $nbytes|0;
+ $sign = $sign|0;
+ $force_secure = $force_secure|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $alimb = 0;
+ var $buffer = 0, $i = 0, $length = 0, $n = 0, $n2 = 0, $p = 0, $retbuffer = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $fill_le;
+ $3 = $extraalloc;
+ $4 = $nbytes;
+ $5 = $sign;
+ $6 = $force_secure;
+ $7 = $5;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $1;
+ $10 = ((($9)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $5;
+ HEAP32[$12>>2] = $11;
+ }
+ $13 = $1;
+ $14 = ((($13)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $15<<2;
+ $17 = $4;
+ HEAP32[$17>>2] = $16;
+ $18 = $4;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($19|0)!=(0);
+ if ($20) {
+ $21 = $4;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $22;
+ } else {
+ $23 = 1;
+ }
+ $n = $23;
+ $24 = $n;
+ $25 = $2;
+ $26 = ($24>>>0)<($25>>>0);
+ if ($26) {
+ $27 = $2;
+ $n = $27;
+ }
+ $28 = $3;
+ $29 = ($28|0)<(0);
+ $30 = $n;
+ $31 = $3;
+ if ($29) {
+ $32 = (0 - ($31))|0;
+ $33 = (($30) + ($32))|0;
+ $n2 = $33;
+ } else {
+ $34 = (($30) + ($31))|0;
+ $n2 = $34;
+ }
+ $35 = $6;
+ $36 = ($35|0)!=(0);
+ do {
+ if ($36) {
+ label = 13;
+ } else {
+ $37 = $1;
+ $38 = ($37|0)!=(0|0);
+ if ($38) {
+ $39 = $1;
+ $40 = ((($39)) + 12|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $41 & 1;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ label = 13;
+ break;
+ }
+ }
+ $46 = $n2;
+ $47 = (__gcry_malloc($46)|0);
+ $48 = $47;
+ }
+ } while(0);
+ if ((label|0) == 13) {
+ $44 = $n2;
+ $45 = (__gcry_malloc_secure($44)|0);
+ $48 = $45;
+ }
+ $retbuffer = $48;
+ $49 = $retbuffer;
+ $50 = ($49|0)!=(0|0);
+ if (!($50)) {
+ $0 = 0;
+ $158 = $0;
+ STACKTOP = sp;return ($158|0);
+ }
+ $51 = $3;
+ $52 = ($51|0)<(0);
+ $53 = $retbuffer;
+ if ($52) {
+ $54 = $3;
+ $55 = (0 - ($54))|0;
+ $56 = (($53) + ($55)|0);
+ $buffer = $56;
+ } else {
+ $buffer = $53;
+ }
+ $57 = $buffer;
+ $p = $57;
+ $58 = $1;
+ $59 = ((($58)) + 4|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (($60) - 1)|0;
+ $i = $61;
+ while(1) {
+ $62 = $i;
+ $63 = ($62|0)>=(0);
+ if (!($63)) {
+ break;
+ }
+ $64 = $i;
+ $65 = $1;
+ $66 = ((($65)) + 16|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (($67) + ($64<<2)|0);
+ $69 = HEAP32[$68>>2]|0;
+ $alimb = $69;
+ $70 = $alimb;
+ $71 = $70 >>> 24;
+ $72 = $71&255;
+ $73 = $p;
+ $74 = ((($73)) + 1|0);
+ $p = $74;
+ HEAP8[$73>>0] = $72;
+ $75 = $alimb;
+ $76 = $75 >>> 16;
+ $77 = $76&255;
+ $78 = $p;
+ $79 = ((($78)) + 1|0);
+ $p = $79;
+ HEAP8[$78>>0] = $77;
+ $80 = $alimb;
+ $81 = $80 >>> 8;
+ $82 = $81&255;
+ $83 = $p;
+ $84 = ((($83)) + 1|0);
+ $p = $84;
+ HEAP8[$83>>0] = $82;
+ $85 = $alimb;
+ $86 = $85&255;
+ $87 = $p;
+ $88 = ((($87)) + 1|0);
+ $p = $88;
+ HEAP8[$87>>0] = $86;
+ $89 = $i;
+ $90 = (($89) + -1)|0;
+ $i = $90;
+ }
+ $91 = $2;
+ $92 = ($91|0)!=(0);
+ if ($92) {
+ $93 = $4;
+ $94 = HEAP32[$93>>2]|0;
+ $length = $94;
+ $i = 0;
+ while(1) {
+ $95 = $i;
+ $96 = $length;
+ $97 = (($96>>>0) / 2)&-1;
+ $98 = ($95>>>0)<($97>>>0);
+ if (!($98)) {
+ break;
+ }
+ $99 = $i;
+ $100 = $buffer;
+ $101 = (($100) + ($99)|0);
+ $102 = HEAP8[$101>>0]|0;
+ $103 = $102&255;
+ $tmp = $103;
+ $104 = $length;
+ $105 = (($104) - 1)|0;
+ $106 = $i;
+ $107 = (($105) - ($106))|0;
+ $108 = $buffer;
+ $109 = (($108) + ($107)|0);
+ $110 = HEAP8[$109>>0]|0;
+ $111 = $i;
+ $112 = $buffer;
+ $113 = (($112) + ($111)|0);
+ HEAP8[$113>>0] = $110;
+ $114 = $tmp;
+ $115 = $114&255;
+ $116 = $length;
+ $117 = (($116) - 1)|0;
+ $118 = $i;
+ $119 = (($117) - ($118))|0;
+ $120 = $buffer;
+ $121 = (($120) + ($119)|0);
+ HEAP8[$121>>0] = $115;
+ $122 = $i;
+ $123 = (($122) + 1)|0;
+ $i = $123;
+ }
+ $124 = $buffer;
+ $125 = $length;
+ $126 = (($124) + ($125)|0);
+ $p = $126;
+ while(1) {
+ $127 = $length;
+ $128 = $2;
+ $129 = ($127>>>0)<($128>>>0);
+ if (!($129)) {
+ break;
+ }
+ $130 = $p;
+ $131 = ((($130)) + 1|0);
+ $p = $131;
+ HEAP8[$130>>0] = 0;
+ $132 = $length;
+ $133 = (($132) + 1)|0;
+ $length = $133;
+ }
+ $134 = $length;
+ $135 = $4;
+ HEAP32[$135>>2] = $134;
+ $136 = $retbuffer;
+ $0 = $136;
+ $158 = $0;
+ STACKTOP = sp;return ($158|0);
+ } else {
+ $137 = $buffer;
+ $p = $137;
+ while(1) {
+ $138 = $4;
+ $139 = HEAP32[$138>>2]|0;
+ $140 = ($139|0)!=(0);
+ if (!($140)) {
+ break;
+ }
+ $141 = $p;
+ $142 = HEAP8[$141>>0]|0;
+ $143 = ($142<<24>>24)!=(0);
+ $144 = $143 ^ 1;
+ if (!($144)) {
+ break;
+ }
+ $145 = $p;
+ $146 = ((($145)) + 1|0);
+ $p = $146;
+ $147 = $4;
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (($148) + -1)|0;
+ HEAP32[$147>>2] = $149;
+ }
+ $150 = $p;
+ $151 = $buffer;
+ $152 = ($150|0)!=($151|0);
+ if ($152) {
+ $153 = $buffer;
+ $154 = $p;
+ $155 = $4;
+ $156 = HEAP32[$155>>2]|0;
+ _memmove(($153|0),($154|0),($156|0))|0;
+ }
+ $157 = $retbuffer;
+ $0 = $157;
+ $158 = $0;
+ STACKTOP = sp;return ($158|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_get_buffer_extra($a,$fill_le,$extraalloc,$r_nbytes,$sign) {
+ $a = $a|0;
+ $fill_le = $fill_le|0;
+ $extraalloc = $extraalloc|0;
+ $r_nbytes = $r_nbytes|0;
+ $sign = $sign|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $fill_le;
+ $2 = $extraalloc;
+ $3 = $r_nbytes;
+ $4 = $sign;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = (_do_get_buffer($5,$6,$7,$8,$9,0)|0);
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_mpi_set_buffer($a,$buffer_arg,$nbytes,$sign) {
+ $a = $a|0;
+ $buffer_arg = $buffer_arg|0;
+ $nbytes = $nbytes|0;
+ $sign = $sign|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0;
+ var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $alimb = 0, $buffer = 0, $i = 0, $nlimbs = 0, $p = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $buffer_arg;
+ $2 = $nbytes;
+ $3 = $sign;
+ $4 = $1;
+ $buffer = $4;
+ $5 = $0;
+ $6 = ($5|0)!=(0|0);
+ if ($6) {
+ $7 = $0;
+ $8 = ((($7)) + 12|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 16;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $12 = $2;
+ $13 = (($12) + 4)|0;
+ $14 = (($13) - 1)|0;
+ $15 = (($14>>>0) / 4)&-1;
+ $nlimbs = $15;
+ $16 = $0;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $nlimbs;
+ $19 = ($17|0)<($18|0);
+ if ($19) {
+ $20 = $0;
+ $21 = $nlimbs;
+ __gcry_mpi_resize($20,$21);
+ }
+ $22 = $3;
+ $23 = $0;
+ $24 = ((($23)) + 8|0);
+ HEAP32[$24>>2] = $22;
+ $i = 0;
+ $25 = $buffer;
+ $26 = $2;
+ $27 = (($25) + ($26)|0);
+ $28 = ((($27)) + -1|0);
+ $p = $28;
+ while(1) {
+ $29 = $p;
+ $30 = $buffer;
+ $31 = ((($30)) + 4|0);
+ $32 = ($29>>>0)>=($31>>>0);
+ $33 = $p;
+ if (!($32)) {
+ break;
+ }
+ $34 = ((($33)) + -1|0);
+ $p = $34;
+ $35 = HEAP8[$33>>0]|0;
+ $36 = $35&255;
+ $alimb = $36;
+ $37 = $p;
+ $38 = ((($37)) + -1|0);
+ $p = $38;
+ $39 = HEAP8[$37>>0]|0;
+ $40 = $39&255;
+ $41 = $40 << 8;
+ $42 = $alimb;
+ $43 = $42 | $41;
+ $alimb = $43;
+ $44 = $p;
+ $45 = ((($44)) + -1|0);
+ $p = $45;
+ $46 = HEAP8[$44>>0]|0;
+ $47 = $46&255;
+ $48 = $47 << 16;
+ $49 = $alimb;
+ $50 = $49 | $48;
+ $alimb = $50;
+ $51 = $p;
+ $52 = ((($51)) + -1|0);
+ $p = $52;
+ $53 = HEAP8[$51>>0]|0;
+ $54 = $53&255;
+ $55 = $54 << 24;
+ $56 = $alimb;
+ $57 = $56 | $55;
+ $alimb = $57;
+ $58 = $alimb;
+ $59 = $i;
+ $60 = (($59) + 1)|0;
+ $i = $60;
+ $61 = $0;
+ $62 = ((($61)) + 16|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (($63) + ($59<<2)|0);
+ HEAP32[$64>>2] = $58;
+ }
+ $65 = $buffer;
+ $66 = ($33>>>0)>=($65>>>0);
+ if ($66) {
+ $67 = $p;
+ $68 = ((($67)) + -1|0);
+ $p = $68;
+ $69 = HEAP8[$67>>0]|0;
+ $70 = $69&255;
+ $alimb = $70;
+ $71 = $p;
+ $72 = $buffer;
+ $73 = ($71>>>0)>=($72>>>0);
+ if ($73) {
+ $74 = $p;
+ $75 = ((($74)) + -1|0);
+ $p = $75;
+ $76 = HEAP8[$74>>0]|0;
+ $77 = $76&255;
+ $78 = $77 << 8;
+ $79 = $alimb;
+ $80 = $79 | $78;
+ $alimb = $80;
+ }
+ $81 = $p;
+ $82 = $buffer;
+ $83 = ($81>>>0)>=($82>>>0);
+ if ($83) {
+ $84 = $p;
+ $85 = ((($84)) + -1|0);
+ $p = $85;
+ $86 = HEAP8[$84>>0]|0;
+ $87 = $86&255;
+ $88 = $87 << 16;
+ $89 = $alimb;
+ $90 = $89 | $88;
+ $alimb = $90;
+ }
+ $91 = $p;
+ $92 = $buffer;
+ $93 = ($91>>>0)>=($92>>>0);
+ if ($93) {
+ $94 = $p;
+ $95 = ((($94)) + -1|0);
+ $p = $95;
+ $96 = HEAP8[$94>>0]|0;
+ $97 = $96&255;
+ $98 = $97 << 24;
+ $99 = $alimb;
+ $100 = $99 | $98;
+ $alimb = $100;
+ }
+ $101 = $alimb;
+ $102 = $i;
+ $103 = (($102) + 1)|0;
+ $i = $103;
+ $104 = $0;
+ $105 = ((($104)) + 16|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = (($106) + ($102<<2)|0);
+ HEAP32[$107>>2] = $101;
+ }
+ $108 = $i;
+ $109 = $0;
+ $110 = ((($109)) + 4|0);
+ HEAP32[$110>>2] = $108;
+ $111 = $i;
+ $112 = $nlimbs;
+ $113 = ($111|0)==($112|0);
+ if ($113) {
+ STACKTOP = sp;return;
+ } else {
+ __gcry_assert_failed(46134,46146,377,46157);
+ // unreachable;
+ }
+}
+function __gcry_mpi_scan($ret_mpi,$format,$buffer_arg,$buflen,$nscanned) {
+ $ret_mpi = $ret_mpi|0;
+ $format = $format|0;
+ $buffer_arg = $buffer_arg|0;
+ $buflen = $buflen|0;
+ $nscanned = $nscanned|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $buffer = 0, $len = 0, $n = 0, $or$cond = 0;
+ var $or$cond3 = 0, $s = 0, $s1 = 0, $secure = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $len = sp + 16|0;
+ $1 = $ret_mpi;
+ $2 = $format;
+ $3 = $buffer_arg;
+ $4 = $buflen;
+ $5 = $nscanned;
+ $6 = $3;
+ $buffer = $6;
+ $a = 0;
+ $7 = $buffer;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $buffer;
+ $10 = (__gcry_is_secure($9)|0);
+ $11 = ($10|0)!=(0);
+ $13 = $11;
+ } else {
+ $13 = 0;
+ }
+ $12 = $13&1;
+ $secure = $12;
+ $14 = $2;
+ $15 = ($14|0)==(3);
+ if ($15) {
+ HEAP32[$len>>2] = 0;
+ } else {
+ $16 = $4;
+ HEAP32[$len>>2] = $16;
+ }
+ $17 = $2;
+ $18 = ($17|0)==(1);
+ if ($18) {
+ $19 = $buffer;
+ $s = $19;
+ $20 = $secure;
+ $21 = ($20|0)!=(0);
+ $22 = HEAP32[$len>>2]|0;
+ $23 = (($22) + 4)|0;
+ $24 = (($23) - 1)|0;
+ $25 = (($24>>>0) / 4)&-1;
+ if ($21) {
+ $26 = (__gcry_mpi_alloc_secure($25)|0);
+ $28 = $26;
+ } else {
+ $27 = (__gcry_mpi_alloc($25)|0);
+ $28 = $27;
+ }
+ $a = $28;
+ $29 = HEAP32[$len>>2]|0;
+ $30 = ($29|0)!=(0);
+ if ($30) {
+ $31 = $a;
+ $32 = $s;
+ $33 = HEAP32[$len>>2]|0;
+ __gcry_mpi_set_buffer($31,$32,$33,0);
+ $34 = $s;
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35&255;
+ $37 = $36 & 128;
+ $38 = ($37|0)!=(0);
+ $39 = $38 ^ 1;
+ $40 = $39 ^ 1;
+ $41 = $40&1;
+ $42 = $a;
+ $43 = ((($42)) + 8|0);
+ HEAP32[$43>>2] = $41;
+ $44 = $a;
+ $45 = ((($44)) + 8|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = ($46|0)!=(0);
+ if ($47) {
+ $48 = $a;
+ _onecompl($48);
+ $49 = $a;
+ $50 = $a;
+ __gcry_mpi_add_ui($49,$50,1);
+ $51 = $a;
+ $52 = ((($51)) + 8|0);
+ HEAP32[$52>>2] = 1;
+ }
+ }
+ $53 = $1;
+ $54 = ($53|0)!=(0|0);
+ $55 = $a;
+ if ($54) {
+ __gcry_mpi_normalize($55);
+ $56 = $a;
+ $57 = $1;
+ HEAP32[$57>>2] = $56;
+ } else {
+ __gcry_mpi_free($55);
+ }
+ $58 = $5;
+ $59 = ($58|0)!=(0|0);
+ if ($59) {
+ $60 = HEAP32[$len>>2]|0;
+ $61 = $5;
+ HEAP32[$61>>2] = $60;
+ }
+ $0 = 0;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $62 = $2;
+ $63 = ($62|0)==(5);
+ if ($63) {
+ $64 = $secure;
+ $65 = ($64|0)!=(0);
+ $66 = HEAP32[$len>>2]|0;
+ $67 = (($66) + 4)|0;
+ $68 = (($67) - 1)|0;
+ $69 = (($68>>>0) / 4)&-1;
+ if ($65) {
+ $70 = (__gcry_mpi_alloc_secure($69)|0);
+ $72 = $70;
+ } else {
+ $71 = (__gcry_mpi_alloc($69)|0);
+ $72 = $71;
+ }
+ $a = $72;
+ $73 = HEAP32[$len>>2]|0;
+ $74 = ($73|0)!=(0);
+ if ($74) {
+ $75 = $a;
+ $76 = $buffer;
+ $77 = HEAP32[$len>>2]|0;
+ __gcry_mpi_set_buffer($75,$76,$77,0);
+ }
+ $78 = $1;
+ $79 = ($78|0)!=(0|0);
+ $80 = $a;
+ if ($79) {
+ __gcry_mpi_normalize($80);
+ $81 = $a;
+ $82 = $1;
+ HEAP32[$82>>2] = $81;
+ } else {
+ __gcry_mpi_free($80);
+ }
+ $83 = $5;
+ $84 = ($83|0)!=(0|0);
+ if ($84) {
+ $85 = HEAP32[$len>>2]|0;
+ $86 = $5;
+ HEAP32[$86>>2] = $85;
+ }
+ $0 = 0;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $87 = $2;
+ $88 = ($87|0)==(2);
+ if ($88) {
+ $89 = $buffer;
+ $90 = $secure;
+ $91 = (_mpi_read_from_buffer($89,$len,$90)|0);
+ $a = $91;
+ $92 = $5;
+ $93 = ($92|0)!=(0|0);
+ if ($93) {
+ $94 = HEAP32[$len>>2]|0;
+ $95 = $5;
+ HEAP32[$95>>2] = $94;
+ }
+ $96 = $1;
+ $97 = ($96|0)!=(0|0);
+ $98 = $a;
+ $99 = ($98|0)!=(0|0);
+ $or$cond = $97 & $99;
+ $100 = $a;
+ if ($or$cond) {
+ __gcry_mpi_normalize($100);
+ $101 = $a;
+ $102 = $1;
+ HEAP32[$102>>2] = $101;
+ } else {
+ $103 = ($100|0)!=(0|0);
+ if ($103) {
+ $104 = $a;
+ __gcry_mpi_free($104);
+ $a = 0;
+ }
+ }
+ $105 = $a;
+ $106 = ($105|0)!=(0|0);
+ $107 = $106 ? 0 : 65;
+ $0 = $107;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $108 = $2;
+ $109 = ($108|0)==(3);
+ if (!($109)) {
+ $190 = $2;
+ $191 = ($190|0)==(4);
+ if (!($191)) {
+ $0 = 45;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $192 = $4;
+ $193 = ($192|0)!=(0);
+ if ($193) {
+ $0 = 45;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $194 = $secure;
+ $195 = ($194|0)!=(0);
+ if ($195) {
+ $196 = (__gcry_mpi_alloc_secure(0)|0);
+ $198 = $196;
+ } else {
+ $197 = (__gcry_mpi_alloc(0)|0);
+ $198 = $197;
+ }
+ $a = $198;
+ $199 = $a;
+ $200 = $buffer;
+ $201 = (_mpi_fromstr($199,$200)|0);
+ $202 = ($201|0)!=(0);
+ if ($202) {
+ $203 = $a;
+ __gcry_mpi_free($203);
+ $0 = 65;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $204 = $1;
+ $205 = ($204|0)!=(0|0);
+ $206 = $a;
+ if ($205) {
+ __gcry_mpi_normalize($206);
+ $207 = $a;
+ $208 = $1;
+ HEAP32[$208>>2] = $207;
+ } else {
+ __gcry_mpi_free($206);
+ }
+ $209 = $5;
+ $210 = ($209|0)!=(0|0);
+ if ($210) {
+ $211 = $buffer;
+ $212 = (_strlen($211)|0);
+ $213 = $5;
+ HEAP32[$213>>2] = $212;
+ }
+ $0 = 0;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $110 = $buffer;
+ $s1 = $110;
+ $111 = HEAP32[$len>>2]|0;
+ $112 = ($111|0)!=(0);
+ $113 = HEAP32[$len>>2]|0;
+ $114 = ($113>>>0)<(4);
+ $or$cond3 = $112 & $114;
+ if ($or$cond3) {
+ $0 = 66;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ $115 = $s1;
+ $116 = HEAP8[$115>>0]|0;
+ $117 = $116&255;
+ $118 = $117 << 24;
+ $119 = $s1;
+ $120 = ((($119)) + 1|0);
+ $121 = HEAP8[$120>>0]|0;
+ $122 = $121&255;
+ $123 = $122 << 16;
+ $124 = $118 | $123;
+ $125 = $s1;
+ $126 = ((($125)) + 2|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = $127&255;
+ $129 = $128 << 8;
+ $130 = $124 | $129;
+ $131 = $s1;
+ $132 = ((($131)) + 3|0);
+ $133 = HEAP8[$132>>0]|0;
+ $134 = $133&255;
+ $135 = $130 | $134;
+ $n = $135;
+ $136 = $s1;
+ $137 = ((($136)) + 4|0);
+ $s1 = $137;
+ $138 = HEAP32[$len>>2]|0;
+ $139 = ($138|0)!=(0);
+ if ($139) {
+ $140 = HEAP32[$len>>2]|0;
+ $141 = (($140) - 4)|0;
+ HEAP32[$len>>2] = $141;
+ }
+ $142 = HEAP32[$len>>2]|0;
+ $143 = ($142|0)!=(0);
+ if ($143) {
+ $144 = $n;
+ $145 = HEAP32[$len>>2]|0;
+ $146 = ($144>>>0)>($145>>>0);
+ if ($146) {
+ $0 = 67;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+ }
+ }
+ $147 = $secure;
+ $148 = ($147|0)!=(0);
+ $149 = $n;
+ $150 = (($149) + 4)|0;
+ $151 = (($150) - 1)|0;
+ $152 = (($151>>>0) / 4)&-1;
+ if ($148) {
+ $153 = (__gcry_mpi_alloc_secure($152)|0);
+ $155 = $153;
+ } else {
+ $154 = (__gcry_mpi_alloc($152)|0);
+ $155 = $154;
+ }
+ $a = $155;
+ $156 = $n;
+ $157 = ($156|0)!=(0);
+ if ($157) {
+ $158 = $a;
+ $159 = $s1;
+ $160 = $n;
+ __gcry_mpi_set_buffer($158,$159,$160,0);
+ $161 = $s1;
+ $162 = HEAP8[$161>>0]|0;
+ $163 = $162&255;
+ $164 = $163 & 128;
+ $165 = ($164|0)!=(0);
+ $166 = $165 ^ 1;
+ $167 = $166 ^ 1;
+ $168 = $167&1;
+ $169 = $a;
+ $170 = ((($169)) + 8|0);
+ HEAP32[$170>>2] = $168;
+ $171 = $a;
+ $172 = ((($171)) + 8|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = ($173|0)!=(0);
+ if ($174) {
+ $175 = $a;
+ _onecompl($175);
+ $176 = $a;
+ $177 = $a;
+ __gcry_mpi_add_ui($176,$177,1);
+ $178 = $a;
+ $179 = ((($178)) + 8|0);
+ HEAP32[$179>>2] = 1;
+ }
+ }
+ $180 = $5;
+ $181 = ($180|0)!=(0|0);
+ if ($181) {
+ $182 = $n;
+ $183 = (($182) + 4)|0;
+ $184 = $5;
+ HEAP32[$184>>2] = $183;
+ }
+ $185 = $1;
+ $186 = ($185|0)!=(0|0);
+ $187 = $a;
+ if ($186) {
+ __gcry_mpi_normalize($187);
+ $188 = $a;
+ $189 = $1;
+ HEAP32[$189>>2] = $188;
+ } else {
+ __gcry_mpi_free($187);
+ }
+ $0 = 0;
+ $214 = $0;
+ STACKTOP = sp;return ($214|0);
+}
+function _onecompl($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $i = 0, $n = 0, $nbits = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = (__gcry_mpi_get_nbits($1)|0);
+ $nbits = $2;
+ $3 = $0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $0;
+ $6 = ((($5)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 & 16;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $10 = $0;
+ __gcry_mpi_normalize($10);
+ $11 = $0;
+ $12 = ((($11)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $ap = $13;
+ $14 = $0;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $n = $16;
+ $i = 0;
+ while(1) {
+ $17 = $i;
+ $18 = $n;
+ $19 = ($17>>>0)<($18>>>0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $i;
+ $21 = $ap;
+ $22 = (($21) + ($20<<2)|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = $23 ^ -1;
+ HEAP32[$22>>2] = $24;
+ $25 = $i;
+ $26 = (($25) + 1)|0;
+ $i = $26;
+ }
+ $27 = $0;
+ $28 = ((($27)) + 8|0);
+ HEAP32[$28>>2] = 0;
+ $29 = $0;
+ $30 = $nbits;
+ $31 = (($30) - 1)|0;
+ __gcry_mpi_clear_highbit($29,$31);
+ STACKTOP = sp;return;
+}
+function _mpi_read_from_buffer($buffer,$ret_nread,$secure) {
+ $buffer = $buffer|0;
+ $ret_nread = $ret_nread|0;
+ $secure = $secure|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $a = 0, $i = 0, $j = 0, $nbits = 0, $nbytes = 0, $nlimbs = 0;
+ var $nread = 0, $val = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $ret_nread;
+ $2 = $secure;
+ $nread = 0;
+ $val = 0;
+ $3 = $1;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4>>>0)<(2);
+ if ($5) {
+ $71 = $nread;
+ $72 = $1;
+ HEAP32[$72>>2] = $71;
+ $73 = $val;
+ STACKTOP = sp;return ($73|0);
+ }
+ $6 = $0;
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7&255;
+ $9 = $8 << 8;
+ $10 = $0;
+ $11 = ((($10)) + 1|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12&255;
+ $14 = $9 | $13;
+ $nbits = $14;
+ $15 = $nbits;
+ $16 = ($15>>>0)>(16384);
+ if ($16) {
+ $71 = $nread;
+ $72 = $1;
+ HEAP32[$72>>2] = $71;
+ $73 = $val;
+ STACKTOP = sp;return ($73|0);
+ }
+ $17 = $0;
+ $18 = ((($17)) + 2|0);
+ $0 = $18;
+ $nread = 2;
+ $19 = $nbits;
+ $20 = (($19) + 7)|0;
+ $21 = (($20>>>0) / 8)&-1;
+ $nbytes = $21;
+ $22 = $nbytes;
+ $23 = (($22) + 4)|0;
+ $24 = (($23) - 1)|0;
+ $25 = (($24>>>0) / 4)&-1;
+ $nlimbs = $25;
+ $26 = $2;
+ $27 = ($26|0)!=(0);
+ $28 = $nlimbs;
+ if ($27) {
+ $29 = (__gcry_mpi_alloc_secure($28)|0);
+ $31 = $29;
+ } else {
+ $30 = (__gcry_mpi_alloc($28)|0);
+ $31 = $30;
+ }
+ $val = $31;
+ $32 = $nbytes;
+ $33 = (($32>>>0) % 4)&-1;
+ $34 = (4 - ($33))|0;
+ $i = $34;
+ $35 = $i;
+ $36 = (($35|0) % 4)&-1;
+ $i = $36;
+ $37 = $nlimbs;
+ $38 = $val;
+ $39 = ((($38)) + 4|0);
+ HEAP32[$39>>2] = $37;
+ $j = $37;
+ $40 = $val;
+ $41 = ((($40)) + 8|0);
+ HEAP32[$41>>2] = 0;
+ L11: while(1) {
+ $42 = $j;
+ $43 = ($42|0)>(0);
+ if (!($43)) {
+ label = 14;
+ break;
+ }
+ $a = 0;
+ while(1) {
+ $44 = $i;
+ $45 = ($44|0)<(4);
+ if (!($45)) {
+ break;
+ }
+ $46 = $nread;
+ $47 = (($46) + 1)|0;
+ $nread = $47;
+ $48 = $1;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($47>>>0)>($49>>>0);
+ if ($50) {
+ break L11;
+ }
+ $52 = $a;
+ $53 = $52 << 8;
+ $a = $53;
+ $54 = $0;
+ $55 = ((($54)) + 1|0);
+ $0 = $55;
+ $56 = HEAP8[$54>>0]|0;
+ $57 = $56&255;
+ $58 = $a;
+ $59 = $58 | $57;
+ $a = $59;
+ $60 = $i;
+ $61 = (($60) + 1)|0;
+ $i = $61;
+ }
+ $i = 0;
+ $62 = $a;
+ $63 = $j;
+ $64 = (($63) - 1)|0;
+ $65 = $val;
+ $66 = ((($65)) + 16|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (($67) + ($64<<2)|0);
+ HEAP32[$68>>2] = $62;
+ $69 = $j;
+ $70 = (($69) + -1)|0;
+ $j = $70;
+ }
+ if ((label|0) == 14) {
+ $71 = $nread;
+ $72 = $1;
+ HEAP32[$72>>2] = $71;
+ $73 = $val;
+ STACKTOP = sp;return ($73|0);
+ }
+ $51 = $val;
+ __gcry_mpi_free($51);
+ $val = 0;
+ $71 = $nread;
+ $72 = $1;
+ HEAP32[$72>>2] = $71;
+ $73 = $val;
+ STACKTOP = sp;return ($73|0);
+}
+function _mpi_fromstr($val,$str) {
+ $val = $val|0;
+ $str = $str|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0;
+ var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $c = 0, $c1 = 0, $c2 = 0, $i = 0, $j = 0, $nbits = 0;
+ var $nbytes = 0, $nlimbs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $prepend_zero = 0, $sign = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $val;
+ $2 = $str;
+ $sign = 0;
+ $prepend_zero = 0;
+ $3 = $2;
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4 << 24 >> 24;
+ $6 = ($5|0)==(45);
+ if ($6) {
+ $sign = 1;
+ $7 = $2;
+ $8 = ((($7)) + 1|0);
+ $2 = $8;
+ }
+ $9 = $2;
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10 << 24 >> 24;
+ $12 = ($11|0)==(48);
+ if ($12) {
+ $13 = $2;
+ $14 = ((($13)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 << 24 >> 24;
+ $17 = ($16|0)==(120);
+ if ($17) {
+ $18 = $2;
+ $19 = ((($18)) + 2|0);
+ $2 = $19;
+ }
+ }
+ $20 = $2;
+ $21 = (_strlen($20)|0);
+ $22 = $21<<2;
+ $nbits = $22;
+ $23 = $nbits;
+ $24 = (($23>>>0) % 8)&-1;
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $prepend_zero = 1;
+ }
+ $26 = $nbits;
+ $27 = (($26) + 7)|0;
+ $28 = (($27>>>0) / 8)&-1;
+ $nbytes = $28;
+ $29 = $nbytes;
+ $30 = (($29) + 4)|0;
+ $31 = (($30) - 1)|0;
+ $32 = (($31>>>0) / 4)&-1;
+ $nlimbs = $32;
+ $33 = $1;
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $nlimbs;
+ $36 = ($34>>>0)<($35>>>0);
+ if ($36) {
+ $37 = $1;
+ $38 = $nlimbs;
+ __gcry_mpi_resize($37,$38);
+ }
+ $39 = $nbytes;
+ $40 = (($39>>>0) % 4)&-1;
+ $41 = (4 - ($40))|0;
+ $i = $41;
+ $42 = $i;
+ $43 = (($42|0) % 4)&-1;
+ $i = $43;
+ $44 = $nlimbs;
+ $45 = $1;
+ $46 = ((($45)) + 4|0);
+ HEAP32[$46>>2] = $44;
+ $j = $44;
+ $47 = $sign;
+ $48 = $1;
+ $49 = ((($48)) + 8|0);
+ HEAP32[$49>>2] = $47;
+ L14: while(1) {
+ $50 = $j;
+ $51 = ($50|0)>(0);
+ if (!($51)) {
+ label = 37;
+ break;
+ }
+ $a = 0;
+ while(1) {
+ $52 = $i;
+ $53 = ($52|0)<(4);
+ if (!($53)) {
+ break;
+ }
+ $54 = $prepend_zero;
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ $c1 = 48;
+ $prepend_zero = 0;
+ } else {
+ $56 = $2;
+ $57 = ((($56)) + 1|0);
+ $2 = $57;
+ $58 = HEAP8[$56>>0]|0;
+ $59 = $58 << 24 >> 24;
+ $c1 = $59;
+ }
+ $60 = $c1;
+ $61 = ($60|0)!=(0);
+ if (!($61)) {
+ label = 18;
+ break L14;
+ }
+ $63 = $2;
+ $64 = ((($63)) + 1|0);
+ $2 = $64;
+ $65 = HEAP8[$63>>0]|0;
+ $66 = $65 << 24 >> 24;
+ $c2 = $66;
+ $67 = $c2;
+ $68 = ($67|0)!=(0);
+ if (!($68)) {
+ label = 20;
+ break L14;
+ }
+ $70 = $c1;
+ $71 = ($70|0)>=(48);
+ $72 = $c1;
+ $73 = ($72|0)<=(57);
+ $or$cond = $71 & $73;
+ $74 = $c1;
+ do {
+ if ($or$cond) {
+ $75 = (($74) - 48)|0;
+ $c = $75;
+ } else {
+ $76 = ($74|0)>=(97);
+ $77 = $c1;
+ $78 = ($77|0)<=(102);
+ $or$cond3 = $76 & $78;
+ $79 = $c1;
+ if ($or$cond3) {
+ $80 = (($79) - 97)|0;
+ $81 = (($80) + 10)|0;
+ $c = $81;
+ break;
+ }
+ $82 = ($79|0)>=(65);
+ $83 = $c1;
+ $84 = ($83|0)<=(70);
+ $or$cond5 = $82 & $84;
+ if (!($or$cond5)) {
+ label = 27;
+ break L14;
+ }
+ $85 = $c1;
+ $86 = (($85) - 65)|0;
+ $87 = (($86) + 10)|0;
+ $c = $87;
+ }
+ } while(0);
+ $89 = $c;
+ $90 = $89 << 4;
+ $c = $90;
+ $91 = $c2;
+ $92 = ($91|0)>=(48);
+ $93 = $c2;
+ $94 = ($93|0)<=(57);
+ $or$cond7 = $92 & $94;
+ $95 = $c2;
+ do {
+ if ($or$cond7) {
+ $96 = (($95) - 48)|0;
+ $97 = $c;
+ $98 = $97 | $96;
+ $c = $98;
+ } else {
+ $99 = ($95|0)>=(97);
+ $100 = $c2;
+ $101 = ($100|0)<=(102);
+ $or$cond9 = $99 & $101;
+ $102 = $c2;
+ if ($or$cond9) {
+ $103 = (($102) - 97)|0;
+ $104 = (($103) + 10)|0;
+ $105 = $c;
+ $106 = $105 | $104;
+ $c = $106;
+ break;
+ }
+ $107 = ($102|0)>=(65);
+ $108 = $c2;
+ $109 = ($108|0)<=(70);
+ $or$cond11 = $107 & $109;
+ if (!($or$cond11)) {
+ label = 34;
+ break L14;
+ }
+ $110 = $c2;
+ $111 = (($110) - 65)|0;
+ $112 = (($111) + 10)|0;
+ $113 = $c;
+ $114 = $113 | $112;
+ $c = $114;
+ }
+ } while(0);
+ $116 = $a;
+ $117 = $116 << 8;
+ $a = $117;
+ $118 = $c;
+ $119 = $a;
+ $120 = $119 | $118;
+ $a = $120;
+ $121 = $i;
+ $122 = (($121) + 1)|0;
+ $i = $122;
+ }
+ $i = 0;
+ $123 = $a;
+ $124 = $j;
+ $125 = (($124) - 1)|0;
+ $126 = $1;
+ $127 = ((($126)) + 16|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = (($128) + ($125<<2)|0);
+ HEAP32[$129>>2] = $123;
+ $130 = $j;
+ $131 = (($130) + -1)|0;
+ $j = $131;
+ }
+ if ((label|0) == 18) {
+ $62 = $1;
+ __gcry_mpi_clear($62);
+ $0 = 1;
+ $132 = $0;
+ STACKTOP = sp;return ($132|0);
+ }
+ else if ((label|0) == 20) {
+ $69 = $1;
+ __gcry_mpi_clear($69);
+ $0 = 1;
+ $132 = $0;
+ STACKTOP = sp;return ($132|0);
+ }
+ else if ((label|0) == 27) {
+ $88 = $1;
+ __gcry_mpi_clear($88);
+ $0 = 1;
+ $132 = $0;
+ STACKTOP = sp;return ($132|0);
+ }
+ else if ((label|0) == 34) {
+ $115 = $1;
+ __gcry_mpi_clear($115);
+ $0 = 1;
+ $132 = $0;
+ STACKTOP = sp;return ($132|0);
+ }
+ else if ((label|0) == 37) {
+ $0 = 0;
+ $132 = $0;
+ STACKTOP = sp;return ($132|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_print($format,$buffer,$buflen,$nwritten,$a) {
+ $format = $format|0;
+ $buffer = $buffer|0;
+ $buflen = $buflen|0;
+ $nwritten = $nwritten|0;
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $c = 0, $dummy_nwritten = 0, $extra = 0, $extra11 = 0, $extra7 = 0, $i = 0, $len = 0, $n = 0, $n1 = 0, $n12 = 0, $n3 = 0, $n8 = 0, $nbits = 0, $negative = 0, $s = 0, $s13 = 0, $s5 = 0;
+ var $s9 = 0, $tmp = 0, $tmp10 = 0, $tmp2 = 0, $tmp4 = 0, $tmp6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $dummy_nwritten = sp + 80|0;
+ $n = sp + 64|0;
+ $n1 = sp + 56|0;
+ $n3 = sp + 48|0;
+ $n8 = sp + 28|0;
+ $n12 = sp + 8|0;
+ $1 = $format;
+ $2 = $buffer;
+ $3 = $buflen;
+ $4 = $nwritten;
+ $5 = $a;
+ $6 = $5;
+ $7 = (__gcry_mpi_get_nbits($6)|0);
+ $nbits = $7;
+ $8 = $4;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ $4 = $dummy_nwritten;
+ }
+ $10 = $5;
+ $11 = ((($10)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ $14 = $5;
+ $15 = (__gcry_mpi_cmp_ui($14,0)|0);
+ $16 = ($15|0)!=(0);
+ if ($16) {
+ $negative = 1;
+ } else {
+ label = 6;
+ }
+ } else {
+ label = 6;
+ }
+ if ((label|0) == 6) {
+ $negative = 0;
+ }
+ $17 = $3;
+ $len = $17;
+ $18 = $4;
+ HEAP32[$18>>2] = 0;
+ $19 = $1;
+ $20 = ($19|0)==(1);
+ if ($20) {
+ $extra = 0;
+ $21 = $5;
+ $22 = (__gcry_mpi_get_buffer($21,0,$n,0)|0);
+ $tmp = $22;
+ $23 = $tmp;
+ $24 = ($23|0)!=(0|0);
+ if (!($24)) {
+ $25 = (_gpg_err_code_from_syserror()|0);
+ $0 = $25;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $26 = $negative;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ $28 = $tmp;
+ $29 = HEAP32[$n>>2]|0;
+ _twocompl($28,$29);
+ $30 = $tmp;
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31&255;
+ $33 = $32 & 128;
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = HEAP32[$n>>2]|0;
+ $36 = (($35) + 1)|0;
+ HEAP32[$n>>2] = $36;
+ $extra = 2;
+ }
+ } else {
+ $37 = HEAP32[$n>>2]|0;
+ $38 = ($37|0)!=(0);
+ if ($38) {
+ $39 = $tmp;
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40&255;
+ $42 = $41 & 128;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ $44 = HEAP32[$n>>2]|0;
+ $45 = (($44) + 1)|0;
+ HEAP32[$n>>2] = $45;
+ $extra = 1;
+ }
+ }
+ }
+ $46 = $2;
+ $47 = ($46|0)!=(0|0);
+ if ($47) {
+ $48 = HEAP32[$n>>2]|0;
+ $49 = $len;
+ $50 = ($48>>>0)>($49>>>0);
+ if ($50) {
+ $51 = $tmp;
+ __gcry_free($51);
+ $0 = 66;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ }
+ $52 = $2;
+ $53 = ($52|0)!=(0|0);
+ if ($53) {
+ $54 = $2;
+ $s = $54;
+ $55 = $extra;
+ $56 = ($55|0)==(1);
+ if ($56) {
+ $57 = $s;
+ $58 = ((($57)) + 1|0);
+ $s = $58;
+ HEAP8[$57>>0] = 0;
+ } else {
+ $59 = $extra;
+ $60 = ($59|0)!=(0);
+ if ($60) {
+ $61 = $s;
+ $62 = ((($61)) + 1|0);
+ $s = $62;
+ HEAP8[$61>>0] = -1;
+ }
+ }
+ $63 = $s;
+ $64 = $tmp;
+ $65 = HEAP32[$n>>2]|0;
+ $66 = $extra;
+ $67 = ($66|0)!=(0);
+ $68 = $67 ^ 1;
+ $69 = $68 ^ 1;
+ $70 = $69&1;
+ $71 = (($65) - ($70))|0;
+ _memcpy(($63|0),($64|0),($71|0))|0;
+ }
+ $72 = $tmp;
+ __gcry_free($72);
+ $73 = HEAP32[$n>>2]|0;
+ $74 = $4;
+ HEAP32[$74>>2] = $73;
+ $0 = 0;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $75 = $1;
+ $76 = ($75|0)==(5);
+ if ($76) {
+ $77 = $nbits;
+ $78 = (($77) + 7)|0;
+ $79 = (($78>>>0) / 8)&-1;
+ HEAP32[$n1>>2] = $79;
+ $80 = $2;
+ $81 = ($80|0)!=(0|0);
+ if ($81) {
+ $82 = HEAP32[$n1>>2]|0;
+ $83 = $len;
+ $84 = ($82>>>0)>($83>>>0);
+ if ($84) {
+ $0 = 66;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ }
+ $85 = $2;
+ $86 = ($85|0)!=(0|0);
+ do {
+ if ($86) {
+ $87 = $5;
+ $88 = (__gcry_mpi_get_buffer($87,0,$n1,0)|0);
+ $tmp2 = $88;
+ $89 = $tmp2;
+ $90 = ($89|0)!=(0|0);
+ if ($90) {
+ $92 = $2;
+ $93 = $tmp2;
+ $94 = HEAP32[$n1>>2]|0;
+ _memcpy(($92|0),($93|0),($94|0))|0;
+ $95 = $tmp2;
+ __gcry_free($95);
+ break;
+ }
+ $91 = (_gpg_err_code_from_syserror()|0);
+ $0 = $91;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ } while(0);
+ $96 = HEAP32[$n1>>2]|0;
+ $97 = $4;
+ HEAP32[$97>>2] = $96;
+ $0 = 0;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $98 = $1;
+ $99 = ($98|0)==(2);
+ if ($99) {
+ $100 = $nbits;
+ $101 = (($100) + 7)|0;
+ $102 = (($101>>>0) / 8)&-1;
+ HEAP32[$n3>>2] = $102;
+ $103 = $negative;
+ $104 = ($103|0)!=(0);
+ if ($104) {
+ $0 = 45;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $105 = $2;
+ $106 = ($105|0)!=(0|0);
+ if ($106) {
+ $107 = HEAP32[$n3>>2]|0;
+ $108 = (($107) + 2)|0;
+ $109 = $len;
+ $110 = ($108>>>0)>($109>>>0);
+ if ($110) {
+ $0 = 66;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ }
+ $111 = $2;
+ $112 = ($111|0)!=(0|0);
+ do {
+ if ($112) {
+ $113 = $2;
+ $s5 = $113;
+ $114 = $nbits;
+ $115 = $114 >>> 8;
+ $116 = $115&255;
+ $117 = $s5;
+ HEAP8[$117>>0] = $116;
+ $118 = $nbits;
+ $119 = $118&255;
+ $120 = $s5;
+ $121 = ((($120)) + 1|0);
+ HEAP8[$121>>0] = $119;
+ $122 = $5;
+ $123 = (__gcry_mpi_get_buffer($122,0,$n3,0)|0);
+ $tmp4 = $123;
+ $124 = $tmp4;
+ $125 = ($124|0)!=(0|0);
+ if ($125) {
+ $127 = $s5;
+ $128 = ((($127)) + 2|0);
+ $129 = $tmp4;
+ $130 = HEAP32[$n3>>2]|0;
+ _memcpy(($128|0),($129|0),($130|0))|0;
+ $131 = $tmp4;
+ __gcry_free($131);
+ break;
+ }
+ $126 = (_gpg_err_code_from_syserror()|0);
+ $0 = $126;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ } while(0);
+ $132 = HEAP32[$n3>>2]|0;
+ $133 = (($132) + 2)|0;
+ $134 = $4;
+ HEAP32[$134>>2] = $133;
+ $0 = 0;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $135 = $1;
+ $136 = ($135|0)==(3);
+ if ($136) {
+ $extra7 = 0;
+ $137 = $5;
+ $138 = (__gcry_mpi_get_buffer($137,0,$n8,0)|0);
+ $tmp6 = $138;
+ $139 = $tmp6;
+ $140 = ($139|0)!=(0|0);
+ if (!($140)) {
+ $141 = (_gpg_err_code_from_syserror()|0);
+ $0 = $141;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $142 = $negative;
+ $143 = ($142|0)!=(0);
+ if ($143) {
+ $144 = $tmp6;
+ $145 = HEAP32[$n8>>2]|0;
+ _twocompl($144,$145);
+ $146 = $tmp6;
+ $147 = HEAP8[$146>>0]|0;
+ $148 = $147&255;
+ $149 = $148 & 128;
+ $150 = ($149|0)!=(0);
+ if (!($150)) {
+ $151 = HEAP32[$n8>>2]|0;
+ $152 = (($151) + 1)|0;
+ HEAP32[$n8>>2] = $152;
+ $extra7 = 2;
+ }
+ } else {
+ $153 = HEAP32[$n8>>2]|0;
+ $154 = ($153|0)!=(0);
+ if ($154) {
+ $155 = $tmp6;
+ $156 = HEAP8[$155>>0]|0;
+ $157 = $156&255;
+ $158 = $157 & 128;
+ $159 = ($158|0)!=(0);
+ if ($159) {
+ $160 = HEAP32[$n8>>2]|0;
+ $161 = (($160) + 1)|0;
+ HEAP32[$n8>>2] = $161;
+ $extra7 = 1;
+ }
+ }
+ }
+ $162 = $2;
+ $163 = ($162|0)!=(0|0);
+ if ($163) {
+ $164 = HEAP32[$n8>>2]|0;
+ $165 = (($164) + 4)|0;
+ $166 = $len;
+ $167 = ($165>>>0)>($166>>>0);
+ if ($167) {
+ $168 = $tmp6;
+ __gcry_free($168);
+ $0 = 66;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ }
+ $169 = $2;
+ $170 = ($169|0)!=(0|0);
+ if ($170) {
+ $171 = $2;
+ $s9 = $171;
+ $172 = HEAP32[$n8>>2]|0;
+ $173 = $172 >>> 24;
+ $174 = $173&255;
+ $175 = $s9;
+ $176 = ((($175)) + 1|0);
+ $s9 = $176;
+ HEAP8[$175>>0] = $174;
+ $177 = HEAP32[$n8>>2]|0;
+ $178 = $177 >>> 16;
+ $179 = $178&255;
+ $180 = $s9;
+ $181 = ((($180)) + 1|0);
+ $s9 = $181;
+ HEAP8[$180>>0] = $179;
+ $182 = HEAP32[$n8>>2]|0;
+ $183 = $182 >>> 8;
+ $184 = $183&255;
+ $185 = $s9;
+ $186 = ((($185)) + 1|0);
+ $s9 = $186;
+ HEAP8[$185>>0] = $184;
+ $187 = HEAP32[$n8>>2]|0;
+ $188 = $187&255;
+ $189 = $s9;
+ $190 = ((($189)) + 1|0);
+ $s9 = $190;
+ HEAP8[$189>>0] = $188;
+ $191 = $extra7;
+ $192 = ($191|0)==(1);
+ if ($192) {
+ $193 = $s9;
+ $194 = ((($193)) + 1|0);
+ $s9 = $194;
+ HEAP8[$193>>0] = 0;
+ } else {
+ $195 = $extra7;
+ $196 = ($195|0)!=(0);
+ if ($196) {
+ $197 = $s9;
+ $198 = ((($197)) + 1|0);
+ $s9 = $198;
+ HEAP8[$197>>0] = -1;
+ }
+ }
+ $199 = $s9;
+ $200 = $tmp6;
+ $201 = HEAP32[$n8>>2]|0;
+ $202 = $extra7;
+ $203 = ($202|0)!=(0);
+ $204 = $203 ^ 1;
+ $205 = $204 ^ 1;
+ $206 = $205&1;
+ $207 = (($201) - ($206))|0;
+ _memcpy(($199|0),($200|0),($207|0))|0;
+ }
+ $208 = $tmp6;
+ __gcry_free($208);
+ $209 = HEAP32[$n8>>2]|0;
+ $210 = (4 + ($209))|0;
+ $211 = $4;
+ HEAP32[$211>>2] = $210;
+ $0 = 0;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $212 = $1;
+ $213 = ($212|0)==(4);
+ if (!($213)) {
+ $0 = 45;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $extra11 = 0;
+ HEAP32[$n12>>2] = 0;
+ $214 = $5;
+ $215 = (__gcry_mpi_get_buffer($214,0,$n12,0)|0);
+ $tmp10 = $215;
+ $216 = $tmp10;
+ $217 = ($216|0)!=(0|0);
+ if (!($217)) {
+ $218 = (_gpg_err_code_from_syserror()|0);
+ $0 = $218;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ $219 = HEAP32[$n12>>2]|0;
+ $220 = ($219|0)!=(0);
+ if ($220) {
+ $221 = $tmp10;
+ $222 = HEAP8[$221>>0]|0;
+ $223 = $222&255;
+ $224 = $223 & 128;
+ $225 = ($224|0)!=(0);
+ if ($225) {
+ label = 70;
+ }
+ } else {
+ label = 70;
+ }
+ if ((label|0) == 70) {
+ $extra11 = 2;
+ }
+ $226 = $2;
+ $227 = ($226|0)!=(0|0);
+ if ($227) {
+ $228 = HEAP32[$n12>>2]|0;
+ $229 = $228<<1;
+ $230 = $extra11;
+ $231 = (($229) + ($230))|0;
+ $232 = $negative;
+ $233 = (($231) + ($232))|0;
+ $234 = (($233) + 1)|0;
+ $235 = $len;
+ $236 = ($234>>>0)>($235>>>0);
+ if ($236) {
+ $237 = $tmp10;
+ __gcry_free($237);
+ $0 = 66;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+ }
+ }
+ $238 = $2;
+ $239 = ($238|0)!=(0|0);
+ if ($239) {
+ $240 = $2;
+ $s13 = $240;
+ $241 = $negative;
+ $242 = ($241|0)!=(0);
+ if ($242) {
+ $243 = $s13;
+ $244 = ((($243)) + 1|0);
+ $s13 = $244;
+ HEAP8[$243>>0] = 45;
+ }
+ $245 = $extra11;
+ $246 = ($245|0)!=(0);
+ if ($246) {
+ $247 = $s13;
+ $248 = ((($247)) + 1|0);
+ $s13 = $248;
+ HEAP8[$247>>0] = 48;
+ $249 = $s13;
+ $250 = ((($249)) + 1|0);
+ $s13 = $250;
+ HEAP8[$249>>0] = 48;
+ }
+ $i = 0;
+ while(1) {
+ $251 = $i;
+ $252 = HEAP32[$n12>>2]|0;
+ $253 = ($251>>>0)<($252>>>0);
+ if (!($253)) {
+ break;
+ }
+ $254 = $i;
+ $255 = $tmp10;
+ $256 = (($255) + ($254)|0);
+ $257 = HEAP8[$256>>0]|0;
+ $258 = $257&255;
+ $c = $258;
+ $259 = $c;
+ $260 = $259 >>> 4;
+ $261 = ($260>>>0)<(10);
+ $262 = $c;
+ $263 = $262 >>> 4;
+ $264 = (48 + ($263))|0;
+ $265 = (65 + ($263))|0;
+ $266 = (($265) - 10)|0;
+ $267 = $261 ? $264 : $266;
+ $268 = $267&255;
+ $269 = $s13;
+ $270 = ((($269)) + 1|0);
+ $s13 = $270;
+ HEAP8[$269>>0] = $268;
+ $271 = $c;
+ $272 = $271 & 15;
+ $c = $272;
+ $273 = $c;
+ $274 = ($273>>>0)<(10);
+ $275 = $c;
+ $276 = (48 + ($275))|0;
+ $277 = (65 + ($275))|0;
+ $278 = (($277) - 10)|0;
+ $279 = $274 ? $276 : $278;
+ $280 = $279&255;
+ $281 = $s13;
+ $282 = ((($281)) + 1|0);
+ $s13 = $282;
+ HEAP8[$281>>0] = $280;
+ $283 = $i;
+ $284 = (($283) + 1)|0;
+ $i = $284;
+ }
+ $285 = $s13;
+ $286 = ((($285)) + 1|0);
+ $s13 = $286;
+ HEAP8[$285>>0] = 0;
+ $287 = $s13;
+ $288 = $2;
+ $289 = $287;
+ $290 = $288;
+ $291 = (($289) - ($290))|0;
+ $292 = $4;
+ HEAP32[$292>>2] = $291;
+ } else {
+ $293 = HEAP32[$n12>>2]|0;
+ $294 = $293<<1;
+ $295 = $extra11;
+ $296 = (($294) + ($295))|0;
+ $297 = $negative;
+ $298 = (($296) + ($297))|0;
+ $299 = (($298) + 1)|0;
+ $300 = $4;
+ HEAP32[$300>>2] = $299;
+ }
+ $301 = $tmp10;
+ __gcry_free($301);
+ $0 = 0;
+ $302 = $0;
+ STACKTOP = sp;return ($302|0);
+}
+function _twocompl($p,$n) {
+ $p = $p|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $p;
+ $1 = $n;
+ $2 = $1;
+ $3 = (($2) - 1)|0;
+ $i = $3;
+ while(1) {
+ $4 = $i;
+ $5 = ($4|0)>=(0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $i;
+ $7 = $0;
+ $8 = (($7) + ($6)|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = ($9<<24>>24)!=(0);
+ $11 = $10 ^ 1;
+ if (!($11)) {
+ break;
+ }
+ $12 = $i;
+ $13 = (($12) + -1)|0;
+ $i = $13;
+ }
+ $14 = $i;
+ $15 = ($14|0)>=(0);
+ if (!($15)) {
+ STACKTOP = sp;return;
+ }
+ $16 = $i;
+ $17 = $0;
+ $18 = (($17) + ($16)|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19&255;
+ $21 = $20 & 1;
+ $22 = ($21|0)!=(0);
+ $23 = $i;
+ $24 = $0;
+ $25 = (($24) + ($23)|0);
+ $26 = HEAP8[$25>>0]|0;
+ $27 = $26&255;
+ do {
+ if ($22) {
+ $28 = $27 ^ 254;
+ $29 = $28 | 1;
+ $30 = $29 & 255;
+ $31 = $30&255;
+ $32 = $i;
+ $33 = $0;
+ $34 = (($33) + ($32)|0);
+ HEAP8[$34>>0] = $31;
+ } else {
+ $35 = $27 & 2;
+ $36 = ($35|0)!=(0);
+ $37 = $i;
+ $38 = $0;
+ $39 = (($38) + ($37)|0);
+ $40 = HEAP8[$39>>0]|0;
+ $41 = $40&255;
+ if ($36) {
+ $42 = $41 ^ 252;
+ $43 = $42 | 2;
+ $44 = $43 & 254;
+ $45 = $44&255;
+ $46 = $i;
+ $47 = $0;
+ $48 = (($47) + ($46)|0);
+ HEAP8[$48>>0] = $45;
+ break;
+ }
+ $49 = $41 & 4;
+ $50 = ($49|0)!=(0);
+ $51 = $i;
+ $52 = $0;
+ $53 = (($52) + ($51)|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ if ($50) {
+ $56 = $55 ^ 248;
+ $57 = $56 | 4;
+ $58 = $57 & 252;
+ $59 = $58&255;
+ $60 = $i;
+ $61 = $0;
+ $62 = (($61) + ($60)|0);
+ HEAP8[$62>>0] = $59;
+ break;
+ }
+ $63 = $55 & 8;
+ $64 = ($63|0)!=(0);
+ $65 = $i;
+ $66 = $0;
+ $67 = (($66) + ($65)|0);
+ $68 = HEAP8[$67>>0]|0;
+ $69 = $68&255;
+ if ($64) {
+ $70 = $69 ^ 240;
+ $71 = $70 | 8;
+ $72 = $71 & 248;
+ $73 = $72&255;
+ $74 = $i;
+ $75 = $0;
+ $76 = (($75) + ($74)|0);
+ HEAP8[$76>>0] = $73;
+ break;
+ }
+ $77 = $69 & 16;
+ $78 = ($77|0)!=(0);
+ $79 = $i;
+ $80 = $0;
+ $81 = (($80) + ($79)|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82&255;
+ if ($78) {
+ $84 = $83 ^ 224;
+ $85 = $84 | 16;
+ $86 = $85 & 240;
+ $87 = $86&255;
+ $88 = $i;
+ $89 = $0;
+ $90 = (($89) + ($88)|0);
+ HEAP8[$90>>0] = $87;
+ break;
+ }
+ $91 = $83 & 32;
+ $92 = ($91|0)!=(0);
+ $93 = $i;
+ $94 = $0;
+ $95 = (($94) + ($93)|0);
+ $96 = HEAP8[$95>>0]|0;
+ $97 = $96&255;
+ if ($92) {
+ $98 = $97 ^ 192;
+ $99 = $98 | 32;
+ $100 = $99 & 224;
+ $101 = $100&255;
+ $102 = $i;
+ $103 = $0;
+ $104 = (($103) + ($102)|0);
+ HEAP8[$104>>0] = $101;
+ break;
+ }
+ $105 = $97 & 64;
+ $106 = ($105|0)!=(0);
+ $107 = $i;
+ $108 = $0;
+ $109 = (($108) + ($107)|0);
+ if ($106) {
+ $110 = HEAP8[$109>>0]|0;
+ $111 = $110&255;
+ $112 = $111 ^ 128;
+ $113 = $112 | 64;
+ $114 = $113 & 192;
+ $115 = $114&255;
+ $116 = $i;
+ $117 = $0;
+ $118 = (($117) + ($116)|0);
+ HEAP8[$118>>0] = $115;
+ break;
+ } else {
+ HEAP8[$109>>0] = -128;
+ break;
+ }
+ }
+ } while(0);
+ $119 = $i;
+ $120 = (($119) + -1)|0;
+ $i = $120;
+ while(1) {
+ $121 = $i;
+ $122 = ($121|0)>=(0);
+ if (!($122)) {
+ break;
+ }
+ $123 = $i;
+ $124 = $0;
+ $125 = (($124) + ($123)|0);
+ $126 = HEAP8[$125>>0]|0;
+ $127 = $126&255;
+ $128 = $127 ^ 255;
+ $129 = $128&255;
+ HEAP8[$125>>0] = $129;
+ $130 = $i;
+ $131 = (($130) + -1)|0;
+ $i = $131;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_to_octet_string($r_frame,$space,$value,$nbytes) {
+ $r_frame = $r_frame|0;
+ $space = $space|0;
+ $value = $value|0;
+ $nbytes = $nbytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $frame = 0, $n = 0;
+ var $nframe = 0, $noff = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nframe = sp + 12|0;
+ $1 = $r_frame;
+ $2 = $space;
+ $3 = $value;
+ $4 = $nbytes;
+ $5 = $1;
+ $6 = ($5|0)!=(0|0);
+ $7 = $6 ^ 1;
+ $8 = $7&1;
+ $9 = $2;
+ $10 = ($9|0)!=(0|0);
+ $11 = $10 ^ 1;
+ $12 = $11&1;
+ $13 = ($8|0)==($12|0);
+ if ($13) {
+ $0 = 45;
+ $77 = $0;
+ STACKTOP = sp;return ($77|0);
+ }
+ $14 = $1;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $1;
+ HEAP32[$16>>2] = 0;
+ }
+ $17 = $3;
+ $18 = (__gcry_mpi_print(5,0,0,$nframe,$17)|0);
+ $rc = $18;
+ $19 = $rc;
+ $20 = ($19|0)!=(0);
+ if ($20) {
+ $21 = $rc;
+ $0 = $21;
+ $77 = $0;
+ STACKTOP = sp;return ($77|0);
+ }
+ $22 = HEAP32[$nframe>>2]|0;
+ $23 = $4;
+ $24 = ($22>>>0)>($23>>>0);
+ if ($24) {
+ $0 = 67;
+ $77 = $0;
+ STACKTOP = sp;return ($77|0);
+ }
+ $25 = HEAP32[$nframe>>2]|0;
+ $26 = $4;
+ $27 = ($25>>>0)<($26>>>0);
+ if ($27) {
+ $28 = $4;
+ $29 = HEAP32[$nframe>>2]|0;
+ $30 = (($28) - ($29))|0;
+ $31 = $30;
+ } else {
+ $31 = 0;
+ }
+ $noff = $31;
+ $32 = HEAP32[$nframe>>2]|0;
+ $33 = $noff;
+ $34 = (($32) + ($33))|0;
+ $n = $34;
+ $35 = $2;
+ $36 = ($35|0)!=(0|0);
+ if ($36) {
+ $37 = $2;
+ $frame = $37;
+ } else {
+ $38 = $3;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ $40 = $3;
+ $41 = ((($40)) + 12|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $42 & 1;
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ $45 = $n;
+ $46 = (__gcry_malloc_secure($45)|0);
+ $49 = $46;
+ } else {
+ label = 16;
+ }
+ } else {
+ label = 16;
+ }
+ if ((label|0) == 16) {
+ $47 = $n;
+ $48 = (__gcry_malloc($47)|0);
+ $49 = $48;
+ }
+ $frame = $49;
+ $50 = $frame;
+ $51 = ($50|0)!=(0|0);
+ if (!($51)) {
+ $52 = (_gpg_err_code_from_syserror()|0);
+ $rc = $52;
+ $53 = $rc;
+ $0 = $53;
+ $77 = $0;
+ STACKTOP = sp;return ($77|0);
+ }
+ }
+ $54 = $noff;
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ $56 = $frame;
+ $57 = $noff;
+ _memset(($56|0),0,($57|0))|0;
+ }
+ $58 = $noff;
+ $59 = HEAP32[$nframe>>2]|0;
+ $60 = (($59) + ($58))|0;
+ HEAP32[$nframe>>2] = $60;
+ $61 = $frame;
+ $62 = $noff;
+ $63 = (($61) + ($62)|0);
+ $64 = HEAP32[$nframe>>2]|0;
+ $65 = $noff;
+ $66 = (($64) - ($65))|0;
+ $67 = $3;
+ $68 = (__gcry_mpi_print(5,$63,$66,0,$67)|0);
+ $rc = $68;
+ $69 = $rc;
+ $70 = ($69|0)!=(0);
+ if ($70) {
+ $71 = $frame;
+ __gcry_free($71);
+ $72 = $rc;
+ $0 = $72;
+ $77 = $0;
+ STACKTOP = sp;return ($77|0);
+ }
+ $73 = $1;
+ $74 = ($73|0)!=(0|0);
+ if ($74) {
+ $75 = $frame;
+ $76 = $1;
+ HEAP32[$76>>2] = $75;
+ }
+ $0 = 0;
+ $77 = $0;
+ STACKTOP = sp;return ($77|0);
+}
+function __gcry_mpih_add_n($res_ptr,$s1_ptr,$s2_ptr,$size) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s2_ptr = $s2_ptr|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cy = 0, $j = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s2_ptr;
+ $3 = $size;
+ $4 = $3;
+ $5 = (0 - ($4))|0;
+ $j = $5;
+ $6 = $j;
+ $7 = $1;
+ $8 = (0 - ($6))|0;
+ $9 = (($7) + ($8<<2)|0);
+ $1 = $9;
+ $10 = $j;
+ $11 = $2;
+ $12 = (0 - ($10))|0;
+ $13 = (($11) + ($12<<2)|0);
+ $2 = $13;
+ $14 = $j;
+ $15 = $0;
+ $16 = (0 - ($14))|0;
+ $17 = (($15) + ($16<<2)|0);
+ $0 = $17;
+ $cy = 0;
+ while(1) {
+ $18 = $j;
+ $19 = $2;
+ $20 = (($19) + ($18<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $y = $21;
+ $22 = $j;
+ $23 = $1;
+ $24 = (($23) + ($22<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $x = $25;
+ $26 = $cy;
+ $27 = $y;
+ $28 = (($27) + ($26))|0;
+ $y = $28;
+ $29 = $y;
+ $30 = $cy;
+ $31 = ($29>>>0)<($30>>>0);
+ $32 = $31&1;
+ $cy = $32;
+ $33 = $x;
+ $34 = $y;
+ $35 = (($34) + ($33))|0;
+ $y = $35;
+ $36 = $y;
+ $37 = $x;
+ $38 = ($36>>>0)<($37>>>0);
+ $39 = $38&1;
+ $40 = $cy;
+ $41 = (($40) + ($39))|0;
+ $cy = $41;
+ $42 = $y;
+ $43 = $j;
+ $44 = $0;
+ $45 = (($44) + ($43<<2)|0);
+ HEAP32[$45>>2] = $42;
+ $46 = $j;
+ $47 = (($46) + 1)|0;
+ $j = $47;
+ $48 = ($47|0)!=(0);
+ if (!($48)) {
+ break;
+ }
+ }
+ $49 = $cy;
+ STACKTOP = sp;return ($49|0);
+}
+function __gcry_mpih_mod_1($dividend_ptr,$dividend_size,$divisor_limb) {
+ $dividend_ptr = $dividend_ptr|0;
+ $dividend_size = $dividend_size|0;
+ $divisor_limb = $divisor_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $__a = 0, $__d0 = 0, $__d02 = 0, $__d09 = 0, $__d1 = 0, $__d11 = 0;
+ var $__d18 = 0, $__m = 0, $__m14 = 0, $__m7 = 0, $__q0 = 0, $__q011 = 0, $__q04 = 0, $__q1 = 0, $__q110 = 0, $__q13 = 0, $__r0 = 0, $__r013 = 0, $__r06 = 0, $__r1 = 0, $__r112 = 0, $__r15 = 0, $__xr = 0, $dummy = 0, $i = 0, $n0 = 0;
+ var $n1 = 0, $normalization_steps = 0, $r = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $dividend_ptr;
+ $2 = $dividend_size;
+ $3 = $divisor_limb;
+ $4 = $2;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $0 = 0;
+ $333 = $0;
+ STACKTOP = sp;return ($333|0);
+ }
+ $6 = $3;
+ $__xr = $6;
+ $7 = $__xr;
+ $8 = ($7>>>0)<(65536);
+ $9 = $__xr;
+ $10 = ($9>>>0)<(256);
+ $11 = $10 ? 0 : 8;
+ $12 = ($9>>>0)<(16777216);
+ $13 = $12 ? 16 : 24;
+ $14 = $8 ? $11 : $13;
+ $__a = $14;
+ $15 = $__xr;
+ $16 = $__a;
+ $17 = $15 >>> $16;
+ $18 = (45829 + ($17)|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19&255;
+ $21 = $__a;
+ $22 = (($20) + ($21))|0;
+ $23 = (32 - ($22))|0;
+ $normalization_steps = $23;
+ $24 = $normalization_steps;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ $232 = $2;
+ $233 = (($232) - 1)|0;
+ $i = $233;
+ $234 = $i;
+ $235 = $1;
+ $236 = (($235) + ($234<<2)|0);
+ $237 = HEAP32[$236>>2]|0;
+ $r = $237;
+ $238 = $r;
+ $239 = $3;
+ $240 = ($238>>>0)>=($239>>>0);
+ if ($240) {
+ $r = 0;
+ } else {
+ $241 = $i;
+ $242 = (($241) + -1)|0;
+ $i = $242;
+ }
+ while(1) {
+ $243 = $i;
+ $244 = ($243|0)>=(0);
+ if (!($244)) {
+ break;
+ }
+ $245 = $i;
+ $246 = $1;
+ $247 = (($246) + ($245<<2)|0);
+ $248 = HEAP32[$247>>2]|0;
+ $n0 = $248;
+ $249 = $3;
+ $250 = $249 >>> 16;
+ $__d18 = $250;
+ $251 = $3;
+ $252 = $251 & 65535;
+ $__d09 = $252;
+ $253 = $r;
+ $254 = $__d18;
+ $255 = (($253>>>0) % ($254>>>0))&-1;
+ $__r112 = $255;
+ $256 = $r;
+ $257 = $__d18;
+ $258 = (($256>>>0) / ($257>>>0))&-1;
+ $__q110 = $258;
+ $259 = $__q110;
+ $260 = $__d09;
+ $261 = Math_imul($259, $260)|0;
+ $__m14 = $261;
+ $262 = $__r112;
+ $263 = $262<<16;
+ $264 = $n0;
+ $265 = $264 >>> 16;
+ $266 = $263 | $265;
+ $__r112 = $266;
+ $267 = $__r112;
+ $268 = $__m14;
+ $269 = ($267>>>0)<($268>>>0);
+ if ($269) {
+ $270 = $__q110;
+ $271 = (($270) + -1)|0;
+ $__q110 = $271;
+ $272 = $3;
+ $273 = $__r112;
+ $274 = (($273) + ($272))|0;
+ $__r112 = $274;
+ $275 = $__r112;
+ $276 = $3;
+ $277 = ($275>>>0)>=($276>>>0);
+ if ($277) {
+ $278 = $__r112;
+ $279 = $__m14;
+ $280 = ($278>>>0)<($279>>>0);
+ if ($280) {
+ $281 = $__q110;
+ $282 = (($281) + -1)|0;
+ $__q110 = $282;
+ $283 = $3;
+ $284 = $__r112;
+ $285 = (($284) + ($283))|0;
+ $__r112 = $285;
+ }
+ }
+ }
+ $286 = $__m14;
+ $287 = $__r112;
+ $288 = (($287) - ($286))|0;
+ $__r112 = $288;
+ $289 = $__r112;
+ $290 = $__d18;
+ $291 = (($289>>>0) % ($290>>>0))&-1;
+ $__r013 = $291;
+ $292 = $__r112;
+ $293 = $__d18;
+ $294 = (($292>>>0) / ($293>>>0))&-1;
+ $__q011 = $294;
+ $295 = $__q011;
+ $296 = $__d09;
+ $297 = Math_imul($295, $296)|0;
+ $__m14 = $297;
+ $298 = $__r013;
+ $299 = $298<<16;
+ $300 = $n0;
+ $301 = $300 & 65535;
+ $302 = $299 | $301;
+ $__r013 = $302;
+ $303 = $__r013;
+ $304 = $__m14;
+ $305 = ($303>>>0)<($304>>>0);
+ if ($305) {
+ $306 = $__q011;
+ $307 = (($306) + -1)|0;
+ $__q011 = $307;
+ $308 = $3;
+ $309 = $__r013;
+ $310 = (($309) + ($308))|0;
+ $__r013 = $310;
+ $311 = $__r013;
+ $312 = $3;
+ $313 = ($311>>>0)>=($312>>>0);
+ if ($313) {
+ $314 = $__r013;
+ $315 = $__m14;
+ $316 = ($314>>>0)<($315>>>0);
+ if ($316) {
+ $317 = $__q011;
+ $318 = (($317) + -1)|0;
+ $__q011 = $318;
+ $319 = $3;
+ $320 = $__r013;
+ $321 = (($320) + ($319))|0;
+ $__r013 = $321;
+ }
+ }
+ }
+ $322 = $__m14;
+ $323 = $__r013;
+ $324 = (($323) - ($322))|0;
+ $__r013 = $324;
+ $325 = $__q110;
+ $326 = $325<<16;
+ $327 = $__q011;
+ $328 = $326 | $327;
+ $dummy = $328;
+ $329 = $__r013;
+ $r = $329;
+ $330 = $i;
+ $331 = (($330) + -1)|0;
+ $i = $331;
+ }
+ $332 = $r;
+ $0 = $332;
+ $333 = $0;
+ STACKTOP = sp;return ($333|0);
+ }
+ $26 = $normalization_steps;
+ $27 = $3;
+ $28 = $27 << $26;
+ $3 = $28;
+ $29 = $2;
+ $30 = (($29) - 1)|0;
+ $31 = $1;
+ $32 = (($31) + ($30<<2)|0);
+ $33 = HEAP32[$32>>2]|0;
+ $n1 = $33;
+ $34 = $n1;
+ $35 = $normalization_steps;
+ $36 = (32 - ($35))|0;
+ $37 = $34 >>> $36;
+ $r = $37;
+ $38 = $2;
+ $39 = (($38) - 2)|0;
+ $i = $39;
+ while(1) {
+ $40 = $i;
+ $41 = ($40|0)>=(0);
+ if (!($41)) {
+ break;
+ }
+ $42 = $i;
+ $43 = $1;
+ $44 = (($43) + ($42<<2)|0);
+ $45 = HEAP32[$44>>2]|0;
+ $n0 = $45;
+ $46 = $3;
+ $47 = $46 >>> 16;
+ $__d1 = $47;
+ $48 = $3;
+ $49 = $48 & 65535;
+ $__d0 = $49;
+ $50 = $r;
+ $51 = $__d1;
+ $52 = (($50>>>0) % ($51>>>0))&-1;
+ $__r1 = $52;
+ $53 = $r;
+ $54 = $__d1;
+ $55 = (($53>>>0) / ($54>>>0))&-1;
+ $__q1 = $55;
+ $56 = $__q1;
+ $57 = $__d0;
+ $58 = Math_imul($56, $57)|0;
+ $__m = $58;
+ $59 = $__r1;
+ $60 = $59<<16;
+ $61 = $n1;
+ $62 = $normalization_steps;
+ $63 = $61 << $62;
+ $64 = $n0;
+ $65 = $normalization_steps;
+ $66 = (32 - ($65))|0;
+ $67 = $64 >>> $66;
+ $68 = $63 | $67;
+ $69 = $68 >>> 16;
+ $70 = $60 | $69;
+ $__r1 = $70;
+ $71 = $__r1;
+ $72 = $__m;
+ $73 = ($71>>>0)<($72>>>0);
+ if ($73) {
+ $74 = $__q1;
+ $75 = (($74) + -1)|0;
+ $__q1 = $75;
+ $76 = $3;
+ $77 = $__r1;
+ $78 = (($77) + ($76))|0;
+ $__r1 = $78;
+ $79 = $__r1;
+ $80 = $3;
+ $81 = ($79>>>0)>=($80>>>0);
+ if ($81) {
+ $82 = $__r1;
+ $83 = $__m;
+ $84 = ($82>>>0)<($83>>>0);
+ if ($84) {
+ $85 = $__q1;
+ $86 = (($85) + -1)|0;
+ $__q1 = $86;
+ $87 = $3;
+ $88 = $__r1;
+ $89 = (($88) + ($87))|0;
+ $__r1 = $89;
+ }
+ }
+ }
+ $90 = $__m;
+ $91 = $__r1;
+ $92 = (($91) - ($90))|0;
+ $__r1 = $92;
+ $93 = $__r1;
+ $94 = $__d1;
+ $95 = (($93>>>0) % ($94>>>0))&-1;
+ $__r0 = $95;
+ $96 = $__r1;
+ $97 = $__d1;
+ $98 = (($96>>>0) / ($97>>>0))&-1;
+ $__q0 = $98;
+ $99 = $__q0;
+ $100 = $__d0;
+ $101 = Math_imul($99, $100)|0;
+ $__m = $101;
+ $102 = $__r0;
+ $103 = $102<<16;
+ $104 = $n1;
+ $105 = $normalization_steps;
+ $106 = $104 << $105;
+ $107 = $n0;
+ $108 = $normalization_steps;
+ $109 = (32 - ($108))|0;
+ $110 = $107 >>> $109;
+ $111 = $106 | $110;
+ $112 = $111 & 65535;
+ $113 = $103 | $112;
+ $__r0 = $113;
+ $114 = $__r0;
+ $115 = $__m;
+ $116 = ($114>>>0)<($115>>>0);
+ if ($116) {
+ $117 = $__q0;
+ $118 = (($117) + -1)|0;
+ $__q0 = $118;
+ $119 = $3;
+ $120 = $__r0;
+ $121 = (($120) + ($119))|0;
+ $__r0 = $121;
+ $122 = $__r0;
+ $123 = $3;
+ $124 = ($122>>>0)>=($123>>>0);
+ if ($124) {
+ $125 = $__r0;
+ $126 = $__m;
+ $127 = ($125>>>0)<($126>>>0);
+ if ($127) {
+ $128 = $__q0;
+ $129 = (($128) + -1)|0;
+ $__q0 = $129;
+ $130 = $3;
+ $131 = $__r0;
+ $132 = (($131) + ($130))|0;
+ $__r0 = $132;
+ }
+ }
+ }
+ $133 = $__m;
+ $134 = $__r0;
+ $135 = (($134) - ($133))|0;
+ $__r0 = $135;
+ $136 = $__q1;
+ $137 = $136<<16;
+ $138 = $__q0;
+ $139 = $137 | $138;
+ $dummy = $139;
+ $140 = $__r0;
+ $r = $140;
+ $141 = $n0;
+ $n1 = $141;
+ $142 = $i;
+ $143 = (($142) + -1)|0;
+ $i = $143;
+ }
+ $144 = $3;
+ $145 = $144 >>> 16;
+ $__d11 = $145;
+ $146 = $3;
+ $147 = $146 & 65535;
+ $__d02 = $147;
+ $148 = $r;
+ $149 = $__d11;
+ $150 = (($148>>>0) % ($149>>>0))&-1;
+ $__r15 = $150;
+ $151 = $r;
+ $152 = $__d11;
+ $153 = (($151>>>0) / ($152>>>0))&-1;
+ $__q13 = $153;
+ $154 = $__q13;
+ $155 = $__d02;
+ $156 = Math_imul($154, $155)|0;
+ $__m7 = $156;
+ $157 = $__r15;
+ $158 = $157<<16;
+ $159 = $n1;
+ $160 = $normalization_steps;
+ $161 = $159 << $160;
+ $162 = $161 >>> 16;
+ $163 = $158 | $162;
+ $__r15 = $163;
+ $164 = $__r15;
+ $165 = $__m7;
+ $166 = ($164>>>0)<($165>>>0);
+ if ($166) {
+ $167 = $__q13;
+ $168 = (($167) + -1)|0;
+ $__q13 = $168;
+ $169 = $3;
+ $170 = $__r15;
+ $171 = (($170) + ($169))|0;
+ $__r15 = $171;
+ $172 = $__r15;
+ $173 = $3;
+ $174 = ($172>>>0)>=($173>>>0);
+ if ($174) {
+ $175 = $__r15;
+ $176 = $__m7;
+ $177 = ($175>>>0)<($176>>>0);
+ if ($177) {
+ $178 = $__q13;
+ $179 = (($178) + -1)|0;
+ $__q13 = $179;
+ $180 = $3;
+ $181 = $__r15;
+ $182 = (($181) + ($180))|0;
+ $__r15 = $182;
+ }
+ }
+ }
+ $183 = $__m7;
+ $184 = $__r15;
+ $185 = (($184) - ($183))|0;
+ $__r15 = $185;
+ $186 = $__r15;
+ $187 = $__d11;
+ $188 = (($186>>>0) % ($187>>>0))&-1;
+ $__r06 = $188;
+ $189 = $__r15;
+ $190 = $__d11;
+ $191 = (($189>>>0) / ($190>>>0))&-1;
+ $__q04 = $191;
+ $192 = $__q04;
+ $193 = $__d02;
+ $194 = Math_imul($192, $193)|0;
+ $__m7 = $194;
+ $195 = $__r06;
+ $196 = $195<<16;
+ $197 = $n1;
+ $198 = $normalization_steps;
+ $199 = $197 << $198;
+ $200 = $199 & 65535;
+ $201 = $196 | $200;
+ $__r06 = $201;
+ $202 = $__r06;
+ $203 = $__m7;
+ $204 = ($202>>>0)<($203>>>0);
+ if ($204) {
+ $205 = $__q04;
+ $206 = (($205) + -1)|0;
+ $__q04 = $206;
+ $207 = $3;
+ $208 = $__r06;
+ $209 = (($208) + ($207))|0;
+ $__r06 = $209;
+ $210 = $__r06;
+ $211 = $3;
+ $212 = ($210>>>0)>=($211>>>0);
+ if ($212) {
+ $213 = $__r06;
+ $214 = $__m7;
+ $215 = ($213>>>0)<($214>>>0);
+ if ($215) {
+ $216 = $__q04;
+ $217 = (($216) + -1)|0;
+ $__q04 = $217;
+ $218 = $3;
+ $219 = $__r06;
+ $220 = (($219) + ($218))|0;
+ $__r06 = $220;
+ }
+ }
+ }
+ $221 = $__m7;
+ $222 = $__r06;
+ $223 = (($222) - ($221))|0;
+ $__r06 = $223;
+ $224 = $__q13;
+ $225 = $224<<16;
+ $226 = $__q04;
+ $227 = $225 | $226;
+ $dummy = $227;
+ $228 = $__r06;
+ $r = $228;
+ $229 = $r;
+ $230 = $normalization_steps;
+ $231 = $229 >>> $230;
+ $0 = $231;
+ $333 = $0;
+ STACKTOP = sp;return ($333|0);
+}
+function __gcry_mpih_divrem($qp,$qextra_limbs,$np,$nsize,$dp,$dsize) {
+ $qp = $qp|0;
+ $qextra_limbs = $qextra_limbs|0;
+ $np = $np|0;
+ $nsize = $nsize|0;
+ $dp = $dp|0;
+ $dsize = $dsize|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
+ var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
+ var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
+ var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
+ var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
+ var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
+ var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
+ var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
+ var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
+ var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
+ var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0;
+ var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0;
+ var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0;
+ var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0;
+ var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0;
+ var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0;
+ var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0;
+ var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0;
+ var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $__d0 = 0, $__d012 = 0, $__d02 = 0, $__d028 = 0, $__d1 = 0, $__d11 = 0, $__d111 = 0, $__d127 = 0, $__m = 0, $__m17 = 0, $__m33 = 0, $__m7 = 0, $__q0 = 0, $__q014 = 0, $__q030 = 0, $__q04 = 0, $__q1 = 0, $__q113 = 0, $__q129 = 0, $__q13 = 0;
+ var $__r0 = 0, $__r016 = 0, $__r032 = 0, $__r06 = 0, $__r1 = 0, $__r115 = 0, $__r131 = 0, $__r15 = 0, $__u = 0, $__u42 = 0, $__uh = 0, $__uh40 = 0, $__ul = 0, $__ul38 = 0, $__v = 0, $__v43 = 0, $__vh = 0, $__vh41 = 0, $__vl = 0, $__vl39 = 0;
+ var $__x = 0, $__x0 = 0, $__x034 = 0, $__x1 = 0, $__x10 = 0, $__x135 = 0, $__x18 = 0, $__x19 = 0, $__x2 = 0, $__x236 = 0, $__x3 = 0, $__x337 = 0, $_i = 0, $cy_limb = 0, $d = 0, $d0 = 0, $d1 = 0, $d121 = 0, $dX = 0, $i = 0;
+ var $i20 = 0, $i8 = 0, $most_significant_q_limb = 0, $n0 = 0, $n022 = 0, $n1 = 0, $n124 = 0, $n19 = 0, $n2 = 0, $n225 = 0, $q = 0, $q23 = 0, $r = 0, $r26 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $qp;
+ $1 = $qextra_limbs;
+ $2 = $np;
+ $3 = $nsize;
+ $4 = $dp;
+ $5 = $dsize;
+ $most_significant_q_limb = 0;
+ $6 = $5;
+ switch ($6|0) {
+ case 0: {
+ __gcry_divide_by_zero();
+ // unreachable;
+ break;
+ }
+ case 1: {
+ $7 = $4;
+ $8 = HEAP32[$7>>2]|0;
+ $d = $8;
+ $9 = $3;
+ $10 = (($9) - 1)|0;
+ $11 = $2;
+ $12 = (($11) + ($10<<2)|0);
+ $13 = HEAP32[$12>>2]|0;
+ $n1 = $13;
+ $14 = $n1;
+ $15 = $d;
+ $16 = ($14>>>0)>=($15>>>0);
+ if ($16) {
+ $17 = $d;
+ $18 = $n1;
+ $19 = (($18) - ($17))|0;
+ $n1 = $19;
+ $most_significant_q_limb = 1;
+ }
+ $20 = $1;
+ $21 = $0;
+ $22 = (($21) + ($20<<2)|0);
+ $0 = $22;
+ $23 = $3;
+ $24 = (($23) - 2)|0;
+ $i = $24;
+ while(1) {
+ $25 = $i;
+ $26 = ($25|0)>=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $d;
+ $28 = $27 >>> 16;
+ $__d1 = $28;
+ $29 = $d;
+ $30 = $29 & 65535;
+ $__d0 = $30;
+ $31 = $n1;
+ $32 = $__d1;
+ $33 = (($31>>>0) % ($32>>>0))&-1;
+ $__r1 = $33;
+ $34 = $n1;
+ $35 = $__d1;
+ $36 = (($34>>>0) / ($35>>>0))&-1;
+ $__q1 = $36;
+ $37 = $__q1;
+ $38 = $__d0;
+ $39 = Math_imul($37, $38)|0;
+ $__m = $39;
+ $40 = $__r1;
+ $41 = $40<<16;
+ $42 = $i;
+ $43 = $2;
+ $44 = (($43) + ($42<<2)|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = $45 >>> 16;
+ $47 = $41 | $46;
+ $__r1 = $47;
+ $48 = $__r1;
+ $49 = $__m;
+ $50 = ($48>>>0)<($49>>>0);
+ if ($50) {
+ $51 = $__q1;
+ $52 = (($51) + -1)|0;
+ $__q1 = $52;
+ $53 = $d;
+ $54 = $__r1;
+ $55 = (($54) + ($53))|0;
+ $__r1 = $55;
+ $56 = $__r1;
+ $57 = $d;
+ $58 = ($56>>>0)>=($57>>>0);
+ if ($58) {
+ $59 = $__r1;
+ $60 = $__m;
+ $61 = ($59>>>0)<($60>>>0);
+ if ($61) {
+ $62 = $__q1;
+ $63 = (($62) + -1)|0;
+ $__q1 = $63;
+ $64 = $d;
+ $65 = $__r1;
+ $66 = (($65) + ($64))|0;
+ $__r1 = $66;
+ }
+ }
+ }
+ $67 = $__m;
+ $68 = $__r1;
+ $69 = (($68) - ($67))|0;
+ $__r1 = $69;
+ $70 = $__r1;
+ $71 = $__d1;
+ $72 = (($70>>>0) % ($71>>>0))&-1;
+ $__r0 = $72;
+ $73 = $__r1;
+ $74 = $__d1;
+ $75 = (($73>>>0) / ($74>>>0))&-1;
+ $__q0 = $75;
+ $76 = $__q0;
+ $77 = $__d0;
+ $78 = Math_imul($76, $77)|0;
+ $__m = $78;
+ $79 = $__r0;
+ $80 = $79<<16;
+ $81 = $i;
+ $82 = $2;
+ $83 = (($82) + ($81<<2)|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $84 & 65535;
+ $86 = $80 | $85;
+ $__r0 = $86;
+ $87 = $__r0;
+ $88 = $__m;
+ $89 = ($87>>>0)<($88>>>0);
+ if ($89) {
+ $90 = $__q0;
+ $91 = (($90) + -1)|0;
+ $__q0 = $91;
+ $92 = $d;
+ $93 = $__r0;
+ $94 = (($93) + ($92))|0;
+ $__r0 = $94;
+ $95 = $__r0;
+ $96 = $d;
+ $97 = ($95>>>0)>=($96>>>0);
+ if ($97) {
+ $98 = $__r0;
+ $99 = $__m;
+ $100 = ($98>>>0)<($99>>>0);
+ if ($100) {
+ $101 = $__q0;
+ $102 = (($101) + -1)|0;
+ $__q0 = $102;
+ $103 = $d;
+ $104 = $__r0;
+ $105 = (($104) + ($103))|0;
+ $__r0 = $105;
+ }
+ }
+ }
+ $106 = $__m;
+ $107 = $__r0;
+ $108 = (($107) - ($106))|0;
+ $__r0 = $108;
+ $109 = $__q1;
+ $110 = $109<<16;
+ $111 = $__q0;
+ $112 = $110 | $111;
+ $113 = $i;
+ $114 = $0;
+ $115 = (($114) + ($113<<2)|0);
+ HEAP32[$115>>2] = $112;
+ $116 = $__r0;
+ $n1 = $116;
+ $117 = $i;
+ $118 = (($117) + -1)|0;
+ $i = $118;
+ }
+ $119 = $1;
+ $120 = $0;
+ $121 = (0 - ($119))|0;
+ $122 = (($120) + ($121<<2)|0);
+ $0 = $122;
+ $123 = $1;
+ $124 = (($123) - 1)|0;
+ $i = $124;
+ while(1) {
+ $125 = $i;
+ $126 = ($125|0)>=(0);
+ if (!($126)) {
+ break;
+ }
+ $127 = $d;
+ $128 = $127 >>> 16;
+ $__d11 = $128;
+ $129 = $d;
+ $130 = $129 & 65535;
+ $__d02 = $130;
+ $131 = $n1;
+ $132 = $__d11;
+ $133 = (($131>>>0) % ($132>>>0))&-1;
+ $__r15 = $133;
+ $134 = $n1;
+ $135 = $__d11;
+ $136 = (($134>>>0) / ($135>>>0))&-1;
+ $__q13 = $136;
+ $137 = $__q13;
+ $138 = $__d02;
+ $139 = Math_imul($137, $138)|0;
+ $__m7 = $139;
+ $140 = $__r15;
+ $141 = $140<<16;
+ $__r15 = $141;
+ $142 = $__r15;
+ $143 = $__m7;
+ $144 = ($142>>>0)<($143>>>0);
+ if ($144) {
+ $145 = $__q13;
+ $146 = (($145) + -1)|0;
+ $__q13 = $146;
+ $147 = $d;
+ $148 = $__r15;
+ $149 = (($148) + ($147))|0;
+ $__r15 = $149;
+ $150 = $__r15;
+ $151 = $d;
+ $152 = ($150>>>0)>=($151>>>0);
+ if ($152) {
+ $153 = $__r15;
+ $154 = $__m7;
+ $155 = ($153>>>0)<($154>>>0);
+ if ($155) {
+ $156 = $__q13;
+ $157 = (($156) + -1)|0;
+ $__q13 = $157;
+ $158 = $d;
+ $159 = $__r15;
+ $160 = (($159) + ($158))|0;
+ $__r15 = $160;
+ }
+ }
+ }
+ $161 = $__m7;
+ $162 = $__r15;
+ $163 = (($162) - ($161))|0;
+ $__r15 = $163;
+ $164 = $__r15;
+ $165 = $__d11;
+ $166 = (($164>>>0) % ($165>>>0))&-1;
+ $__r06 = $166;
+ $167 = $__r15;
+ $168 = $__d11;
+ $169 = (($167>>>0) / ($168>>>0))&-1;
+ $__q04 = $169;
+ $170 = $__q04;
+ $171 = $__d02;
+ $172 = Math_imul($170, $171)|0;
+ $__m7 = $172;
+ $173 = $__r06;
+ $174 = $173<<16;
+ $__r06 = $174;
+ $175 = $__r06;
+ $176 = $__m7;
+ $177 = ($175>>>0)<($176>>>0);
+ if ($177) {
+ $178 = $__q04;
+ $179 = (($178) + -1)|0;
+ $__q04 = $179;
+ $180 = $d;
+ $181 = $__r06;
+ $182 = (($181) + ($180))|0;
+ $__r06 = $182;
+ $183 = $__r06;
+ $184 = $d;
+ $185 = ($183>>>0)>=($184>>>0);
+ if ($185) {
+ $186 = $__r06;
+ $187 = $__m7;
+ $188 = ($186>>>0)<($187>>>0);
+ if ($188) {
+ $189 = $__q04;
+ $190 = (($189) + -1)|0;
+ $__q04 = $190;
+ $191 = $d;
+ $192 = $__r06;
+ $193 = (($192) + ($191))|0;
+ $__r06 = $193;
+ }
+ }
+ }
+ $194 = $__m7;
+ $195 = $__r06;
+ $196 = (($195) - ($194))|0;
+ $__r06 = $196;
+ $197 = $__q13;
+ $198 = $197<<16;
+ $199 = $__q04;
+ $200 = $198 | $199;
+ $201 = $i;
+ $202 = $0;
+ $203 = (($202) + ($201<<2)|0);
+ HEAP32[$203>>2] = $200;
+ $204 = $__r06;
+ $n1 = $204;
+ $205 = $i;
+ $206 = (($205) + -1)|0;
+ $i = $206;
+ }
+ $207 = $n1;
+ $208 = $2;
+ HEAP32[$208>>2] = $207;
+ $739 = $most_significant_q_limb;
+ STACKTOP = sp;return ($739|0);
+ break;
+ }
+ case 2: {
+ $209 = $3;
+ $210 = (($209) - 2)|0;
+ $211 = $2;
+ $212 = (($211) + ($210<<2)|0);
+ $2 = $212;
+ $213 = $4;
+ $214 = ((($213)) + 4|0);
+ $215 = HEAP32[$214>>2]|0;
+ $d1 = $215;
+ $216 = $4;
+ $217 = HEAP32[$216>>2]|0;
+ $d0 = $217;
+ $218 = $2;
+ $219 = ((($218)) + 4|0);
+ $220 = HEAP32[$219>>2]|0;
+ $n19 = $220;
+ $221 = $2;
+ $222 = HEAP32[$221>>2]|0;
+ $n0 = $222;
+ $223 = $n19;
+ $224 = $d1;
+ $225 = ($223>>>0)>=($224>>>0);
+ do {
+ if ($225) {
+ $226 = $n19;
+ $227 = $d1;
+ $228 = ($226>>>0)>($227>>>0);
+ if (!($228)) {
+ $229 = $n0;
+ $230 = $d0;
+ $231 = ($229>>>0)>=($230>>>0);
+ if (!($231)) {
+ break;
+ }
+ }
+ $232 = $n0;
+ $233 = $d0;
+ $234 = (($232) - ($233))|0;
+ $__x = $234;
+ $235 = $n19;
+ $236 = $d1;
+ $237 = (($235) - ($236))|0;
+ $238 = $__x;
+ $239 = $n0;
+ $240 = ($238>>>0)>($239>>>0);
+ $241 = $240&1;
+ $242 = (($237) - ($241))|0;
+ $n19 = $242;
+ $243 = $__x;
+ $n0 = $243;
+ $most_significant_q_limb = 1;
+ }
+ } while(0);
+ $244 = $1;
+ $245 = $3;
+ $246 = (($244) + ($245))|0;
+ $247 = (($246) - 2)|0;
+ $248 = (($247) - 1)|0;
+ $i8 = $248;
+ while(1) {
+ $249 = $i8;
+ $250 = ($249|0)>=(0);
+ if (!($250)) {
+ break;
+ }
+ $251 = $i8;
+ $252 = $1;
+ $253 = ($251|0)>=($252|0);
+ $254 = $2;
+ if ($253) {
+ $255 = ((($254)) + -4|0);
+ $2 = $255;
+ } else {
+ HEAP32[$254>>2] = 0;
+ }
+ $256 = $n19;
+ $257 = $d1;
+ $258 = ($256|0)==($257|0);
+ do {
+ if ($258) {
+ $q = -1;
+ $259 = $n0;
+ $260 = $d1;
+ $261 = (($259) + ($260))|0;
+ $r = $261;
+ $262 = $r;
+ $263 = $d1;
+ $264 = ($262>>>0)<($263>>>0);
+ if ($264) {
+ $265 = $2;
+ $266 = HEAP32[$265>>2]|0;
+ $267 = $d0;
+ $268 = (($266) + ($267))|0;
+ $__x10 = $268;
+ $269 = $r;
+ $270 = $d0;
+ $271 = (($269) - ($270))|0;
+ $272 = (($271) + 0)|0;
+ $273 = $__x10;
+ $274 = $2;
+ $275 = HEAP32[$274>>2]|0;
+ $276 = ($273>>>0)<($275>>>0);
+ $277 = $276&1;
+ $278 = (($272) + ($277))|0;
+ $n19 = $278;
+ $279 = $__x10;
+ $n0 = $279;
+ $280 = $q;
+ $281 = $i8;
+ $282 = $0;
+ $283 = (($282) + ($281<<2)|0);
+ HEAP32[$283>>2] = $280;
+ break;
+ } else {
+ $284 = $d0;
+ $285 = $d0;
+ $286 = ($285|0)!=(0);
+ $287 = $286 ? 1 : 0;
+ $288 = (($284) - ($287))|0;
+ $n19 = $288;
+ $289 = $d0;
+ $290 = (0 - ($289))|0;
+ $n0 = $290;
+ label = 52;
+ break;
+ }
+ } else {
+ $291 = $d1;
+ $292 = $291 >>> 16;
+ $__d111 = $292;
+ $293 = $d1;
+ $294 = $293 & 65535;
+ $__d012 = $294;
+ $295 = $n19;
+ $296 = $__d111;
+ $297 = (($295>>>0) % ($296>>>0))&-1;
+ $__r115 = $297;
+ $298 = $n19;
+ $299 = $__d111;
+ $300 = (($298>>>0) / ($299>>>0))&-1;
+ $__q113 = $300;
+ $301 = $__q113;
+ $302 = $__d012;
+ $303 = Math_imul($301, $302)|0;
+ $__m17 = $303;
+ $304 = $__r115;
+ $305 = $304<<16;
+ $306 = $n0;
+ $307 = $306 >>> 16;
+ $308 = $305 | $307;
+ $__r115 = $308;
+ $309 = $__r115;
+ $310 = $__m17;
+ $311 = ($309>>>0)<($310>>>0);
+ if ($311) {
+ $312 = $__q113;
+ $313 = (($312) + -1)|0;
+ $__q113 = $313;
+ $314 = $d1;
+ $315 = $__r115;
+ $316 = (($315) + ($314))|0;
+ $__r115 = $316;
+ $317 = $__r115;
+ $318 = $d1;
+ $319 = ($317>>>0)>=($318>>>0);
+ if ($319) {
+ $320 = $__r115;
+ $321 = $__m17;
+ $322 = ($320>>>0)<($321>>>0);
+ if ($322) {
+ $323 = $__q113;
+ $324 = (($323) + -1)|0;
+ $__q113 = $324;
+ $325 = $d1;
+ $326 = $__r115;
+ $327 = (($326) + ($325))|0;
+ $__r115 = $327;
+ }
+ }
+ }
+ $328 = $__m17;
+ $329 = $__r115;
+ $330 = (($329) - ($328))|0;
+ $__r115 = $330;
+ $331 = $__r115;
+ $332 = $__d111;
+ $333 = (($331>>>0) % ($332>>>0))&-1;
+ $__r016 = $333;
+ $334 = $__r115;
+ $335 = $__d111;
+ $336 = (($334>>>0) / ($335>>>0))&-1;
+ $__q014 = $336;
+ $337 = $__q014;
+ $338 = $__d012;
+ $339 = Math_imul($337, $338)|0;
+ $__m17 = $339;
+ $340 = $__r016;
+ $341 = $340<<16;
+ $342 = $n0;
+ $343 = $342 & 65535;
+ $344 = $341 | $343;
+ $__r016 = $344;
+ $345 = $__r016;
+ $346 = $__m17;
+ $347 = ($345>>>0)<($346>>>0);
+ if ($347) {
+ $348 = $__q014;
+ $349 = (($348) + -1)|0;
+ $__q014 = $349;
+ $350 = $d1;
+ $351 = $__r016;
+ $352 = (($351) + ($350))|0;
+ $__r016 = $352;
+ $353 = $__r016;
+ $354 = $d1;
+ $355 = ($353>>>0)>=($354>>>0);
+ if ($355) {
+ $356 = $__r016;
+ $357 = $__m17;
+ $358 = ($356>>>0)<($357>>>0);
+ if ($358) {
+ $359 = $__q014;
+ $360 = (($359) + -1)|0;
+ $__q014 = $360;
+ $361 = $d1;
+ $362 = $__r016;
+ $363 = (($362) + ($361))|0;
+ $__r016 = $363;
+ }
+ }
+ }
+ $364 = $__m17;
+ $365 = $__r016;
+ $366 = (($365) - ($364))|0;
+ $__r016 = $366;
+ $367 = $__q113;
+ $368 = $367<<16;
+ $369 = $__q014;
+ $370 = $368 | $369;
+ $q = $370;
+ $371 = $__r016;
+ $r = $371;
+ $372 = $d0;
+ $__u = $372;
+ $373 = $q;
+ $__v = $373;
+ $374 = $__u;
+ $375 = $374 & 65535;
+ $__ul = $375;
+ $376 = $__u;
+ $377 = $376 >>> 16;
+ $__uh = $377;
+ $378 = $__v;
+ $379 = $378 & 65535;
+ $__vl = $379;
+ $380 = $__v;
+ $381 = $380 >>> 16;
+ $__vh = $381;
+ $382 = $__ul;
+ $383 = $__vl;
+ $384 = Math_imul($382, $383)|0;
+ $__x0 = $384;
+ $385 = $__ul;
+ $386 = $__vh;
+ $387 = Math_imul($385, $386)|0;
+ $__x1 = $387;
+ $388 = $__uh;
+ $389 = $__vl;
+ $390 = Math_imul($388, $389)|0;
+ $__x2 = $390;
+ $391 = $__uh;
+ $392 = $__vh;
+ $393 = Math_imul($391, $392)|0;
+ $__x3 = $393;
+ $394 = $__x0;
+ $395 = $394 >>> 16;
+ $396 = $__x1;
+ $397 = (($396) + ($395))|0;
+ $__x1 = $397;
+ $398 = $__x2;
+ $399 = $__x1;
+ $400 = (($399) + ($398))|0;
+ $__x1 = $400;
+ $401 = $__x1;
+ $402 = $__x2;
+ $403 = ($401>>>0)<($402>>>0);
+ if ($403) {
+ $404 = $__x3;
+ $405 = (($404) + 65536)|0;
+ $__x3 = $405;
+ }
+ $406 = $__x3;
+ $407 = $__x1;
+ $408 = $407 >>> 16;
+ $409 = (($406) + ($408))|0;
+ $n19 = $409;
+ $410 = $__x1;
+ $411 = $410 & 65535;
+ $412 = $411 << 16;
+ $413 = $__x0;
+ $414 = $413 & 65535;
+ $415 = (($412) + ($414))|0;
+ $n0 = $415;
+ label = 52;
+ }
+ } while(0);
+ if ((label|0) == 52) {
+ label = 0;
+ $416 = $2;
+ $417 = HEAP32[$416>>2]|0;
+ $n2 = $417;
+ while(1) {
+ $418 = $n19;
+ $419 = $r;
+ $420 = ($418>>>0)>($419>>>0);
+ if (!($420)) {
+ $421 = $n19;
+ $422 = $r;
+ $423 = ($421|0)==($422|0);
+ if (!($423)) {
+ break;
+ }
+ $424 = $n0;
+ $425 = $n2;
+ $426 = ($424>>>0)>($425>>>0);
+ if (!($426)) {
+ break;
+ }
+ }
+ $427 = $q;
+ $428 = (($427) + -1)|0;
+ $q = $428;
+ $429 = $n0;
+ $430 = $d0;
+ $431 = (($429) - ($430))|0;
+ $__x18 = $431;
+ $432 = $n19;
+ $433 = (($432) - 0)|0;
+ $434 = $__x18;
+ $435 = $n0;
+ $436 = ($434>>>0)>($435>>>0);
+ $437 = $436&1;
+ $438 = (($433) - ($437))|0;
+ $n19 = $438;
+ $439 = $__x18;
+ $n0 = $439;
+ $440 = $d1;
+ $441 = $r;
+ $442 = (($441) + ($440))|0;
+ $r = $442;
+ $443 = $r;
+ $444 = $d1;
+ $445 = ($443>>>0)>=($444>>>0);
+ if (!($445)) {
+ break;
+ }
+ }
+ $446 = $q;
+ $447 = $i8;
+ $448 = $0;
+ $449 = (($448) + ($447<<2)|0);
+ HEAP32[$449>>2] = $446;
+ $450 = $n2;
+ $451 = $n0;
+ $452 = (($450) - ($451))|0;
+ $__x19 = $452;
+ $453 = $r;
+ $454 = $n19;
+ $455 = (($453) - ($454))|0;
+ $456 = $__x19;
+ $457 = $n2;
+ $458 = ($456>>>0)>($457>>>0);
+ $459 = $458&1;
+ $460 = (($455) - ($459))|0;
+ $n19 = $460;
+ $461 = $__x19;
+ $n0 = $461;
+ }
+ $462 = $i8;
+ $463 = (($462) + -1)|0;
+ $i8 = $463;
+ }
+ $464 = $n19;
+ $465 = $2;
+ $466 = ((($465)) + 4|0);
+ HEAP32[$466>>2] = $464;
+ $467 = $n0;
+ $468 = $2;
+ HEAP32[$468>>2] = $467;
+ $739 = $most_significant_q_limb;
+ STACKTOP = sp;return ($739|0);
+ break;
+ }
+ default: {
+ $469 = $3;
+ $470 = $5;
+ $471 = (($469) - ($470))|0;
+ $472 = $2;
+ $473 = (($472) + ($471<<2)|0);
+ $2 = $473;
+ $474 = $5;
+ $475 = (($474) - 1)|0;
+ $476 = $4;
+ $477 = (($476) + ($475<<2)|0);
+ $478 = HEAP32[$477>>2]|0;
+ $dX = $478;
+ $479 = $5;
+ $480 = (($479) - 2)|0;
+ $481 = $4;
+ $482 = (($481) + ($480<<2)|0);
+ $483 = HEAP32[$482>>2]|0;
+ $d121 = $483;
+ $484 = $5;
+ $485 = (($484) - 1)|0;
+ $486 = $2;
+ $487 = (($486) + ($485<<2)|0);
+ $488 = HEAP32[$487>>2]|0;
+ $n022 = $488;
+ $489 = $n022;
+ $490 = $dX;
+ $491 = ($489>>>0)>=($490>>>0);
+ do {
+ if ($491) {
+ $492 = $n022;
+ $493 = $dX;
+ $494 = ($492>>>0)>($493>>>0);
+ if (!($494)) {
+ $495 = $2;
+ $496 = $4;
+ $497 = $5;
+ $498 = (($497) - 1)|0;
+ $499 = (__gcry_mpih_cmp($495,$496,$498)|0);
+ $500 = ($499|0)>=(0);
+ if (!($500)) {
+ break;
+ }
+ }
+ $501 = $2;
+ $502 = $2;
+ $503 = $4;
+ $504 = $5;
+ (__gcry_mpih_sub_n($501,$502,$503,$504)|0);
+ $505 = $5;
+ $506 = (($505) - 1)|0;
+ $507 = $2;
+ $508 = (($507) + ($506<<2)|0);
+ $509 = HEAP32[$508>>2]|0;
+ $n022 = $509;
+ $most_significant_q_limb = 1;
+ }
+ } while(0);
+ $510 = $1;
+ $511 = $3;
+ $512 = (($510) + ($511))|0;
+ $513 = $5;
+ $514 = (($512) - ($513))|0;
+ $515 = (($514) - 1)|0;
+ $i20 = $515;
+ while(1) {
+ $516 = $i20;
+ $517 = ($516|0)>=(0);
+ if (!($517)) {
+ break;
+ }
+ $518 = $i20;
+ $519 = $1;
+ $520 = ($518|0)>=($519|0);
+ if ($520) {
+ $521 = $2;
+ $522 = ((($521)) + -4|0);
+ $2 = $522;
+ $523 = $5;
+ $524 = $2;
+ $525 = (($524) + ($523<<2)|0);
+ $526 = HEAP32[$525>>2]|0;
+ $n225 = $526;
+ } else {
+ $527 = $5;
+ $528 = (($527) - 1)|0;
+ $529 = $2;
+ $530 = (($529) + ($528<<2)|0);
+ $531 = HEAP32[$530>>2]|0;
+ $n225 = $531;
+ $532 = $5;
+ $533 = (($532) - 1)|0;
+ $534 = (($533) - 1)|0;
+ $_i = $534;
+ while(1) {
+ $535 = $_i;
+ $536 = ($535|0)>=(0);
+ if (!($536)) {
+ break;
+ }
+ $537 = $_i;
+ $538 = $2;
+ $539 = (($538) + ($537<<2)|0);
+ $540 = HEAP32[$539>>2]|0;
+ $541 = $_i;
+ $542 = $2;
+ $543 = ((($542)) + 4|0);
+ $544 = (($543) + ($541<<2)|0);
+ HEAP32[$544>>2] = $540;
+ $545 = $_i;
+ $546 = (($545) + -1)|0;
+ $_i = $546;
+ }
+ $547 = $2;
+ HEAP32[$547>>2] = 0;
+ }
+ $548 = $n022;
+ $549 = $dX;
+ $550 = ($548|0)==($549|0);
+ L20: do {
+ if ($550) {
+ $q23 = -1;
+ } else {
+ $551 = $dX;
+ $552 = $551 >>> 16;
+ $__d127 = $552;
+ $553 = $dX;
+ $554 = $553 & 65535;
+ $__d028 = $554;
+ $555 = $n022;
+ $556 = $__d127;
+ $557 = (($555>>>0) % ($556>>>0))&-1;
+ $__r131 = $557;
+ $558 = $n022;
+ $559 = $__d127;
+ $560 = (($558>>>0) / ($559>>>0))&-1;
+ $__q129 = $560;
+ $561 = $__q129;
+ $562 = $__d028;
+ $563 = Math_imul($561, $562)|0;
+ $__m33 = $563;
+ $564 = $__r131;
+ $565 = $564<<16;
+ $566 = $5;
+ $567 = (($566) - 1)|0;
+ $568 = $2;
+ $569 = (($568) + ($567<<2)|0);
+ $570 = HEAP32[$569>>2]|0;
+ $571 = $570 >>> 16;
+ $572 = $565 | $571;
+ $__r131 = $572;
+ $573 = $__r131;
+ $574 = $__m33;
+ $575 = ($573>>>0)<($574>>>0);
+ if ($575) {
+ $576 = $__q129;
+ $577 = (($576) + -1)|0;
+ $__q129 = $577;
+ $578 = $dX;
+ $579 = $__r131;
+ $580 = (($579) + ($578))|0;
+ $__r131 = $580;
+ $581 = $__r131;
+ $582 = $dX;
+ $583 = ($581>>>0)>=($582>>>0);
+ if ($583) {
+ $584 = $__r131;
+ $585 = $__m33;
+ $586 = ($584>>>0)<($585>>>0);
+ if ($586) {
+ $587 = $__q129;
+ $588 = (($587) + -1)|0;
+ $__q129 = $588;
+ $589 = $dX;
+ $590 = $__r131;
+ $591 = (($590) + ($589))|0;
+ $__r131 = $591;
+ }
+ }
+ }
+ $592 = $__m33;
+ $593 = $__r131;
+ $594 = (($593) - ($592))|0;
+ $__r131 = $594;
+ $595 = $__r131;
+ $596 = $__d127;
+ $597 = (($595>>>0) % ($596>>>0))&-1;
+ $__r032 = $597;
+ $598 = $__r131;
+ $599 = $__d127;
+ $600 = (($598>>>0) / ($599>>>0))&-1;
+ $__q030 = $600;
+ $601 = $__q030;
+ $602 = $__d028;
+ $603 = Math_imul($601, $602)|0;
+ $__m33 = $603;
+ $604 = $__r032;
+ $605 = $604<<16;
+ $606 = $5;
+ $607 = (($606) - 1)|0;
+ $608 = $2;
+ $609 = (($608) + ($607<<2)|0);
+ $610 = HEAP32[$609>>2]|0;
+ $611 = $610 & 65535;
+ $612 = $605 | $611;
+ $__r032 = $612;
+ $613 = $__r032;
+ $614 = $__m33;
+ $615 = ($613>>>0)<($614>>>0);
+ if ($615) {
+ $616 = $__q030;
+ $617 = (($616) + -1)|0;
+ $__q030 = $617;
+ $618 = $dX;
+ $619 = $__r032;
+ $620 = (($619) + ($618))|0;
+ $__r032 = $620;
+ $621 = $__r032;
+ $622 = $dX;
+ $623 = ($621>>>0)>=($622>>>0);
+ if ($623) {
+ $624 = $__r032;
+ $625 = $__m33;
+ $626 = ($624>>>0)<($625>>>0);
+ if ($626) {
+ $627 = $__q030;
+ $628 = (($627) + -1)|0;
+ $__q030 = $628;
+ $629 = $dX;
+ $630 = $__r032;
+ $631 = (($630) + ($629))|0;
+ $__r032 = $631;
+ }
+ }
+ }
+ $632 = $__m33;
+ $633 = $__r032;
+ $634 = (($633) - ($632))|0;
+ $__r032 = $634;
+ $635 = $__q129;
+ $636 = $635<<16;
+ $637 = $__q030;
+ $638 = $636 | $637;
+ $q23 = $638;
+ $639 = $__r032;
+ $r26 = $639;
+ $640 = $d121;
+ $__u42 = $640;
+ $641 = $q23;
+ $__v43 = $641;
+ $642 = $__u42;
+ $643 = $642 & 65535;
+ $__ul38 = $643;
+ $644 = $__u42;
+ $645 = $644 >>> 16;
+ $__uh40 = $645;
+ $646 = $__v43;
+ $647 = $646 & 65535;
+ $__vl39 = $647;
+ $648 = $__v43;
+ $649 = $648 >>> 16;
+ $__vh41 = $649;
+ $650 = $__ul38;
+ $651 = $__vl39;
+ $652 = Math_imul($650, $651)|0;
+ $__x034 = $652;
+ $653 = $__ul38;
+ $654 = $__vh41;
+ $655 = Math_imul($653, $654)|0;
+ $__x135 = $655;
+ $656 = $__uh40;
+ $657 = $__vl39;
+ $658 = Math_imul($656, $657)|0;
+ $__x236 = $658;
+ $659 = $__uh40;
+ $660 = $__vh41;
+ $661 = Math_imul($659, $660)|0;
+ $__x337 = $661;
+ $662 = $__x034;
+ $663 = $662 >>> 16;
+ $664 = $__x135;
+ $665 = (($664) + ($663))|0;
+ $__x135 = $665;
+ $666 = $__x236;
+ $667 = $__x135;
+ $668 = (($667) + ($666))|0;
+ $__x135 = $668;
+ $669 = $__x135;
+ $670 = $__x236;
+ $671 = ($669>>>0)<($670>>>0);
+ if ($671) {
+ $672 = $__x337;
+ $673 = (($672) + 65536)|0;
+ $__x337 = $673;
+ }
+ $674 = $__x337;
+ $675 = $__x135;
+ $676 = $675 >>> 16;
+ $677 = (($674) + ($676))|0;
+ $n124 = $677;
+ $678 = $__x135;
+ $679 = $678 & 65535;
+ $680 = $679 << 16;
+ $681 = $__x034;
+ $682 = $681 & 65535;
+ $683 = (($680) + ($682))|0;
+ $n022 = $683;
+ while(1) {
+ $684 = $n124;
+ $685 = $r26;
+ $686 = ($684>>>0)>($685>>>0);
+ if (!($686)) {
+ $687 = $n124;
+ $688 = $r26;
+ $689 = ($687|0)==($688|0);
+ if (!($689)) {
+ break L20;
+ }
+ $690 = $n022;
+ $691 = $5;
+ $692 = (($691) - 2)|0;
+ $693 = $2;
+ $694 = (($693) + ($692<<2)|0);
+ $695 = HEAP32[$694>>2]|0;
+ $696 = ($690>>>0)>($695>>>0);
+ if (!($696)) {
+ break L20;
+ }
+ }
+ $697 = $q23;
+ $698 = (($697) + -1)|0;
+ $q23 = $698;
+ $699 = $dX;
+ $700 = $r26;
+ $701 = (($700) + ($699))|0;
+ $r26 = $701;
+ $702 = $r26;
+ $703 = $dX;
+ $704 = ($702>>>0)<($703>>>0);
+ if ($704) {
+ break L20;
+ }
+ $705 = $n022;
+ $706 = $d121;
+ $707 = ($705>>>0)<($706>>>0);
+ $708 = $707&1;
+ $709 = $n124;
+ $710 = (($709) - ($708))|0;
+ $n124 = $710;
+ $711 = $d121;
+ $712 = $n022;
+ $713 = (($712) - ($711))|0;
+ $n022 = $713;
+ }
+ }
+ } while(0);
+ $714 = $2;
+ $715 = $4;
+ $716 = $5;
+ $717 = $q23;
+ $718 = (__gcry_mpih_submul_1($714,$715,$716,$717)|0);
+ $cy_limb = $718;
+ $719 = $n225;
+ $720 = $cy_limb;
+ $721 = ($719|0)!=($720|0);
+ if ($721) {
+ $722 = $2;
+ $723 = $2;
+ $724 = $4;
+ $725 = $5;
+ (__gcry_mpih_add_n($722,$723,$724,$725)|0);
+ $726 = $q23;
+ $727 = (($726) + -1)|0;
+ $q23 = $727;
+ }
+ $728 = $q23;
+ $729 = $i20;
+ $730 = $0;
+ $731 = (($730) + ($729<<2)|0);
+ HEAP32[$731>>2] = $728;
+ $732 = $5;
+ $733 = (($732) - 1)|0;
+ $734 = $2;
+ $735 = (($734) + ($733<<2)|0);
+ $736 = HEAP32[$735>>2]|0;
+ $n022 = $736;
+ $737 = $i20;
+ $738 = (($737) + -1)|0;
+ $i20 = $738;
+ }
+ $739 = $most_significant_q_limb;
+ STACKTOP = sp;return ($739|0);
+ }
+ }
+ return (0)|0;
+}
+function __gcry_mpih_divmod_1($quot_ptr,$dividend_ptr,$dividend_size,$divisor_limb) {
+ $quot_ptr = $quot_ptr|0;
+ $dividend_ptr = $dividend_ptr|0;
+ $dividend_size = $dividend_size|0;
+ $divisor_limb = $divisor_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $__a = 0, $__d0 = 0, $__d02 = 0, $__d09 = 0, $__d1 = 0, $__d11 = 0, $__d18 = 0, $__m = 0, $__m14 = 0, $__m7 = 0, $__q0 = 0, $__q011 = 0, $__q04 = 0, $__q1 = 0, $__q110 = 0;
+ var $__q13 = 0, $__r0 = 0, $__r013 = 0, $__r06 = 0, $__r1 = 0, $__r112 = 0, $__r15 = 0, $__xr = 0, $i = 0, $n0 = 0, $n1 = 0, $normalization_steps = 0, $r = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $quot_ptr;
+ $2 = $dividend_ptr;
+ $3 = $dividend_size;
+ $4 = $divisor_limb;
+ $5 = $3;
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ $0 = 0;
+ $344 = $0;
+ STACKTOP = sp;return ($344|0);
+ }
+ $7 = $4;
+ $__xr = $7;
+ $8 = $__xr;
+ $9 = ($8>>>0)<(65536);
+ $10 = $__xr;
+ $11 = ($10>>>0)<(256);
+ $12 = $11 ? 0 : 8;
+ $13 = ($10>>>0)<(16777216);
+ $14 = $13 ? 16 : 24;
+ $15 = $9 ? $12 : $14;
+ $__a = $15;
+ $16 = $__xr;
+ $17 = $__a;
+ $18 = $16 >>> $17;
+ $19 = (45829 + ($18)|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $__a;
+ $23 = (($21) + ($22))|0;
+ $24 = (32 - ($23))|0;
+ $normalization_steps = $24;
+ $25 = $normalization_steps;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ $238 = $3;
+ $239 = (($238) - 1)|0;
+ $i = $239;
+ $240 = $i;
+ $241 = $2;
+ $242 = (($241) + ($240<<2)|0);
+ $243 = HEAP32[$242>>2]|0;
+ $r = $243;
+ $244 = $r;
+ $245 = $4;
+ $246 = ($244>>>0)>=($245>>>0);
+ if ($246) {
+ $r = 0;
+ } else {
+ $247 = $i;
+ $248 = (($247) + -1)|0;
+ $i = $248;
+ $249 = $1;
+ $250 = (($249) + ($247<<2)|0);
+ HEAP32[$250>>2] = 0;
+ }
+ while(1) {
+ $251 = $i;
+ $252 = ($251|0)>=(0);
+ if (!($252)) {
+ break;
+ }
+ $253 = $i;
+ $254 = $2;
+ $255 = (($254) + ($253<<2)|0);
+ $256 = HEAP32[$255>>2]|0;
+ $n0 = $256;
+ $257 = $4;
+ $258 = $257 >>> 16;
+ $__d18 = $258;
+ $259 = $4;
+ $260 = $259 & 65535;
+ $__d09 = $260;
+ $261 = $r;
+ $262 = $__d18;
+ $263 = (($261>>>0) % ($262>>>0))&-1;
+ $__r112 = $263;
+ $264 = $r;
+ $265 = $__d18;
+ $266 = (($264>>>0) / ($265>>>0))&-1;
+ $__q110 = $266;
+ $267 = $__q110;
+ $268 = $__d09;
+ $269 = Math_imul($267, $268)|0;
+ $__m14 = $269;
+ $270 = $__r112;
+ $271 = $270<<16;
+ $272 = $n0;
+ $273 = $272 >>> 16;
+ $274 = $271 | $273;
+ $__r112 = $274;
+ $275 = $__r112;
+ $276 = $__m14;
+ $277 = ($275>>>0)<($276>>>0);
+ if ($277) {
+ $278 = $__q110;
+ $279 = (($278) + -1)|0;
+ $__q110 = $279;
+ $280 = $4;
+ $281 = $__r112;
+ $282 = (($281) + ($280))|0;
+ $__r112 = $282;
+ $283 = $__r112;
+ $284 = $4;
+ $285 = ($283>>>0)>=($284>>>0);
+ if ($285) {
+ $286 = $__r112;
+ $287 = $__m14;
+ $288 = ($286>>>0)<($287>>>0);
+ if ($288) {
+ $289 = $__q110;
+ $290 = (($289) + -1)|0;
+ $__q110 = $290;
+ $291 = $4;
+ $292 = $__r112;
+ $293 = (($292) + ($291))|0;
+ $__r112 = $293;
+ }
+ }
+ }
+ $294 = $__m14;
+ $295 = $__r112;
+ $296 = (($295) - ($294))|0;
+ $__r112 = $296;
+ $297 = $__r112;
+ $298 = $__d18;
+ $299 = (($297>>>0) % ($298>>>0))&-1;
+ $__r013 = $299;
+ $300 = $__r112;
+ $301 = $__d18;
+ $302 = (($300>>>0) / ($301>>>0))&-1;
+ $__q011 = $302;
+ $303 = $__q011;
+ $304 = $__d09;
+ $305 = Math_imul($303, $304)|0;
+ $__m14 = $305;
+ $306 = $__r013;
+ $307 = $306<<16;
+ $308 = $n0;
+ $309 = $308 & 65535;
+ $310 = $307 | $309;
+ $__r013 = $310;
+ $311 = $__r013;
+ $312 = $__m14;
+ $313 = ($311>>>0)<($312>>>0);
+ if ($313) {
+ $314 = $__q011;
+ $315 = (($314) + -1)|0;
+ $__q011 = $315;
+ $316 = $4;
+ $317 = $__r013;
+ $318 = (($317) + ($316))|0;
+ $__r013 = $318;
+ $319 = $__r013;
+ $320 = $4;
+ $321 = ($319>>>0)>=($320>>>0);
+ if ($321) {
+ $322 = $__r013;
+ $323 = $__m14;
+ $324 = ($322>>>0)<($323>>>0);
+ if ($324) {
+ $325 = $__q011;
+ $326 = (($325) + -1)|0;
+ $__q011 = $326;
+ $327 = $4;
+ $328 = $__r013;
+ $329 = (($328) + ($327))|0;
+ $__r013 = $329;
+ }
+ }
+ }
+ $330 = $__m14;
+ $331 = $__r013;
+ $332 = (($331) - ($330))|0;
+ $__r013 = $332;
+ $333 = $__q110;
+ $334 = $333<<16;
+ $335 = $__q011;
+ $336 = $334 | $335;
+ $337 = $i;
+ $338 = $1;
+ $339 = (($338) + ($337<<2)|0);
+ HEAP32[$339>>2] = $336;
+ $340 = $__r013;
+ $r = $340;
+ $341 = $i;
+ $342 = (($341) + -1)|0;
+ $i = $342;
+ }
+ $343 = $r;
+ $0 = $343;
+ $344 = $0;
+ STACKTOP = sp;return ($344|0);
+ }
+ $27 = $normalization_steps;
+ $28 = $4;
+ $29 = $28 << $27;
+ $4 = $29;
+ $30 = $3;
+ $31 = (($30) - 1)|0;
+ $32 = $2;
+ $33 = (($32) + ($31<<2)|0);
+ $34 = HEAP32[$33>>2]|0;
+ $n1 = $34;
+ $35 = $n1;
+ $36 = $normalization_steps;
+ $37 = (32 - ($36))|0;
+ $38 = $35 >>> $37;
+ $r = $38;
+ $39 = $3;
+ $40 = (($39) - 2)|0;
+ $i = $40;
+ while(1) {
+ $41 = $i;
+ $42 = ($41|0)>=(0);
+ if (!($42)) {
+ break;
+ }
+ $43 = $i;
+ $44 = $2;
+ $45 = (($44) + ($43<<2)|0);
+ $46 = HEAP32[$45>>2]|0;
+ $n0 = $46;
+ $47 = $4;
+ $48 = $47 >>> 16;
+ $__d1 = $48;
+ $49 = $4;
+ $50 = $49 & 65535;
+ $__d0 = $50;
+ $51 = $r;
+ $52 = $__d1;
+ $53 = (($51>>>0) % ($52>>>0))&-1;
+ $__r1 = $53;
+ $54 = $r;
+ $55 = $__d1;
+ $56 = (($54>>>0) / ($55>>>0))&-1;
+ $__q1 = $56;
+ $57 = $__q1;
+ $58 = $__d0;
+ $59 = Math_imul($57, $58)|0;
+ $__m = $59;
+ $60 = $__r1;
+ $61 = $60<<16;
+ $62 = $n1;
+ $63 = $normalization_steps;
+ $64 = $62 << $63;
+ $65 = $n0;
+ $66 = $normalization_steps;
+ $67 = (32 - ($66))|0;
+ $68 = $65 >>> $67;
+ $69 = $64 | $68;
+ $70 = $69 >>> 16;
+ $71 = $61 | $70;
+ $__r1 = $71;
+ $72 = $__r1;
+ $73 = $__m;
+ $74 = ($72>>>0)<($73>>>0);
+ if ($74) {
+ $75 = $__q1;
+ $76 = (($75) + -1)|0;
+ $__q1 = $76;
+ $77 = $4;
+ $78 = $__r1;
+ $79 = (($78) + ($77))|0;
+ $__r1 = $79;
+ $80 = $__r1;
+ $81 = $4;
+ $82 = ($80>>>0)>=($81>>>0);
+ if ($82) {
+ $83 = $__r1;
+ $84 = $__m;
+ $85 = ($83>>>0)<($84>>>0);
+ if ($85) {
+ $86 = $__q1;
+ $87 = (($86) + -1)|0;
+ $__q1 = $87;
+ $88 = $4;
+ $89 = $__r1;
+ $90 = (($89) + ($88))|0;
+ $__r1 = $90;
+ }
+ }
+ }
+ $91 = $__m;
+ $92 = $__r1;
+ $93 = (($92) - ($91))|0;
+ $__r1 = $93;
+ $94 = $__r1;
+ $95 = $__d1;
+ $96 = (($94>>>0) % ($95>>>0))&-1;
+ $__r0 = $96;
+ $97 = $__r1;
+ $98 = $__d1;
+ $99 = (($97>>>0) / ($98>>>0))&-1;
+ $__q0 = $99;
+ $100 = $__q0;
+ $101 = $__d0;
+ $102 = Math_imul($100, $101)|0;
+ $__m = $102;
+ $103 = $__r0;
+ $104 = $103<<16;
+ $105 = $n1;
+ $106 = $normalization_steps;
+ $107 = $105 << $106;
+ $108 = $n0;
+ $109 = $normalization_steps;
+ $110 = (32 - ($109))|0;
+ $111 = $108 >>> $110;
+ $112 = $107 | $111;
+ $113 = $112 & 65535;
+ $114 = $104 | $113;
+ $__r0 = $114;
+ $115 = $__r0;
+ $116 = $__m;
+ $117 = ($115>>>0)<($116>>>0);
+ if ($117) {
+ $118 = $__q0;
+ $119 = (($118) + -1)|0;
+ $__q0 = $119;
+ $120 = $4;
+ $121 = $__r0;
+ $122 = (($121) + ($120))|0;
+ $__r0 = $122;
+ $123 = $__r0;
+ $124 = $4;
+ $125 = ($123>>>0)>=($124>>>0);
+ if ($125) {
+ $126 = $__r0;
+ $127 = $__m;
+ $128 = ($126>>>0)<($127>>>0);
+ if ($128) {
+ $129 = $__q0;
+ $130 = (($129) + -1)|0;
+ $__q0 = $130;
+ $131 = $4;
+ $132 = $__r0;
+ $133 = (($132) + ($131))|0;
+ $__r0 = $133;
+ }
+ }
+ }
+ $134 = $__m;
+ $135 = $__r0;
+ $136 = (($135) - ($134))|0;
+ $__r0 = $136;
+ $137 = $__q1;
+ $138 = $137<<16;
+ $139 = $__q0;
+ $140 = $138 | $139;
+ $141 = $i;
+ $142 = (($141) + 1)|0;
+ $143 = $1;
+ $144 = (($143) + ($142<<2)|0);
+ HEAP32[$144>>2] = $140;
+ $145 = $__r0;
+ $r = $145;
+ $146 = $n0;
+ $n1 = $146;
+ $147 = $i;
+ $148 = (($147) + -1)|0;
+ $i = $148;
+ }
+ $149 = $4;
+ $150 = $149 >>> 16;
+ $__d11 = $150;
+ $151 = $4;
+ $152 = $151 & 65535;
+ $__d02 = $152;
+ $153 = $r;
+ $154 = $__d11;
+ $155 = (($153>>>0) % ($154>>>0))&-1;
+ $__r15 = $155;
+ $156 = $r;
+ $157 = $__d11;
+ $158 = (($156>>>0) / ($157>>>0))&-1;
+ $__q13 = $158;
+ $159 = $__q13;
+ $160 = $__d02;
+ $161 = Math_imul($159, $160)|0;
+ $__m7 = $161;
+ $162 = $__r15;
+ $163 = $162<<16;
+ $164 = $n1;
+ $165 = $normalization_steps;
+ $166 = $164 << $165;
+ $167 = $166 >>> 16;
+ $168 = $163 | $167;
+ $__r15 = $168;
+ $169 = $__r15;
+ $170 = $__m7;
+ $171 = ($169>>>0)<($170>>>0);
+ if ($171) {
+ $172 = $__q13;
+ $173 = (($172) + -1)|0;
+ $__q13 = $173;
+ $174 = $4;
+ $175 = $__r15;
+ $176 = (($175) + ($174))|0;
+ $__r15 = $176;
+ $177 = $__r15;
+ $178 = $4;
+ $179 = ($177>>>0)>=($178>>>0);
+ if ($179) {
+ $180 = $__r15;
+ $181 = $__m7;
+ $182 = ($180>>>0)<($181>>>0);
+ if ($182) {
+ $183 = $__q13;
+ $184 = (($183) + -1)|0;
+ $__q13 = $184;
+ $185 = $4;
+ $186 = $__r15;
+ $187 = (($186) + ($185))|0;
+ $__r15 = $187;
+ }
+ }
+ }
+ $188 = $__m7;
+ $189 = $__r15;
+ $190 = (($189) - ($188))|0;
+ $__r15 = $190;
+ $191 = $__r15;
+ $192 = $__d11;
+ $193 = (($191>>>0) % ($192>>>0))&-1;
+ $__r06 = $193;
+ $194 = $__r15;
+ $195 = $__d11;
+ $196 = (($194>>>0) / ($195>>>0))&-1;
+ $__q04 = $196;
+ $197 = $__q04;
+ $198 = $__d02;
+ $199 = Math_imul($197, $198)|0;
+ $__m7 = $199;
+ $200 = $__r06;
+ $201 = $200<<16;
+ $202 = $n1;
+ $203 = $normalization_steps;
+ $204 = $202 << $203;
+ $205 = $204 & 65535;
+ $206 = $201 | $205;
+ $__r06 = $206;
+ $207 = $__r06;
+ $208 = $__m7;
+ $209 = ($207>>>0)<($208>>>0);
+ if ($209) {
+ $210 = $__q04;
+ $211 = (($210) + -1)|0;
+ $__q04 = $211;
+ $212 = $4;
+ $213 = $__r06;
+ $214 = (($213) + ($212))|0;
+ $__r06 = $214;
+ $215 = $__r06;
+ $216 = $4;
+ $217 = ($215>>>0)>=($216>>>0);
+ if ($217) {
+ $218 = $__r06;
+ $219 = $__m7;
+ $220 = ($218>>>0)<($219>>>0);
+ if ($220) {
+ $221 = $__q04;
+ $222 = (($221) + -1)|0;
+ $__q04 = $222;
+ $223 = $4;
+ $224 = $__r06;
+ $225 = (($224) + ($223))|0;
+ $__r06 = $225;
+ }
+ }
+ }
+ $226 = $__m7;
+ $227 = $__r06;
+ $228 = (($227) - ($226))|0;
+ $__r06 = $228;
+ $229 = $__q13;
+ $230 = $229<<16;
+ $231 = $__q04;
+ $232 = $230 | $231;
+ $233 = $1;
+ HEAP32[$233>>2] = $232;
+ $234 = $__r06;
+ $r = $234;
+ $235 = $r;
+ $236 = $normalization_steps;
+ $237 = $235 >>> $236;
+ $0 = $237;
+ $344 = $0;
+ STACKTOP = sp;return ($344|0);
+}
+function __gcry_mpih_lshift($wp,$up,$usize,$cnt) {
+ $wp = $wp|0;
+ $up = $up|0;
+ $usize = $usize|0;
+ $cnt = $cnt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $high_limb = 0, $i = 0, $low_limb = 0, $retval = 0, $sh_1 = 0, $sh_2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $wp;
+ $1 = $up;
+ $2 = $usize;
+ $3 = $cnt;
+ $4 = $3;
+ $sh_1 = $4;
+ $5 = $0;
+ $6 = ((($5)) + 4|0);
+ $0 = $6;
+ $7 = $sh_1;
+ $8 = (32 - ($7))|0;
+ $sh_2 = $8;
+ $9 = $2;
+ $10 = (($9) - 1)|0;
+ $i = $10;
+ $11 = $i;
+ $12 = $1;
+ $13 = (($12) + ($11<<2)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $low_limb = $14;
+ $15 = $low_limb;
+ $16 = $sh_2;
+ $17 = $15 >>> $16;
+ $retval = $17;
+ $18 = $low_limb;
+ $high_limb = $18;
+ while(1) {
+ $19 = $i;
+ $20 = (($19) + -1)|0;
+ $i = $20;
+ $21 = ($20|0)>=(0);
+ if (!($21)) {
+ break;
+ }
+ $22 = $i;
+ $23 = $1;
+ $24 = (($23) + ($22<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $low_limb = $25;
+ $26 = $high_limb;
+ $27 = $sh_1;
+ $28 = $26 << $27;
+ $29 = $low_limb;
+ $30 = $sh_2;
+ $31 = $29 >>> $30;
+ $32 = $28 | $31;
+ $33 = $i;
+ $34 = $0;
+ $35 = (($34) + ($33<<2)|0);
+ HEAP32[$35>>2] = $32;
+ $36 = $low_limb;
+ $high_limb = $36;
+ }
+ $37 = $high_limb;
+ $38 = $sh_1;
+ $39 = $37 << $38;
+ $40 = $i;
+ $41 = $0;
+ $42 = (($41) + ($40<<2)|0);
+ HEAP32[$42>>2] = $39;
+ $43 = $retval;
+ STACKTOP = sp;return ($43|0);
+}
+function __gcry_mpih_mul_1($res_ptr,$s1_ptr,$s1_size,$s2_limb) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_limb = $s2_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $__u = 0, $__uh = 0;
+ var $__ul = 0, $__v = 0, $__vh = 0, $__vl = 0, $__x0 = 0, $__x1 = 0, $__x2 = 0, $__x3 = 0, $cy_limb = 0, $j = 0, $prod_high = 0, $prod_low = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s1_size;
+ $3 = $s2_limb;
+ $4 = $2;
+ $5 = (0 - ($4))|0;
+ $j = $5;
+ $6 = $j;
+ $7 = $1;
+ $8 = (0 - ($6))|0;
+ $9 = (($7) + ($8<<2)|0);
+ $1 = $9;
+ $10 = $j;
+ $11 = $0;
+ $12 = (0 - ($10))|0;
+ $13 = (($11) + ($12<<2)|0);
+ $0 = $13;
+ $cy_limb = 0;
+ while(1) {
+ $14 = $j;
+ $15 = $1;
+ $16 = (($15) + ($14<<2)|0);
+ $17 = HEAP32[$16>>2]|0;
+ $__u = $17;
+ $18 = $3;
+ $__v = $18;
+ $19 = $__u;
+ $20 = $19 & 65535;
+ $__ul = $20;
+ $21 = $__u;
+ $22 = $21 >>> 16;
+ $__uh = $22;
+ $23 = $__v;
+ $24 = $23 & 65535;
+ $__vl = $24;
+ $25 = $__v;
+ $26 = $25 >>> 16;
+ $__vh = $26;
+ $27 = $__ul;
+ $28 = $__vl;
+ $29 = Math_imul($27, $28)|0;
+ $__x0 = $29;
+ $30 = $__ul;
+ $31 = $__vh;
+ $32 = Math_imul($30, $31)|0;
+ $__x1 = $32;
+ $33 = $__uh;
+ $34 = $__vl;
+ $35 = Math_imul($33, $34)|0;
+ $__x2 = $35;
+ $36 = $__uh;
+ $37 = $__vh;
+ $38 = Math_imul($36, $37)|0;
+ $__x3 = $38;
+ $39 = $__x0;
+ $40 = $39 >>> 16;
+ $41 = $__x1;
+ $42 = (($41) + ($40))|0;
+ $__x1 = $42;
+ $43 = $__x2;
+ $44 = $__x1;
+ $45 = (($44) + ($43))|0;
+ $__x1 = $45;
+ $46 = $__x1;
+ $47 = $__x2;
+ $48 = ($46>>>0)<($47>>>0);
+ if ($48) {
+ $49 = $__x3;
+ $50 = (($49) + 65536)|0;
+ $__x3 = $50;
+ }
+ $51 = $__x3;
+ $52 = $__x1;
+ $53 = $52 >>> 16;
+ $54 = (($51) + ($53))|0;
+ $prod_high = $54;
+ $55 = $__x1;
+ $56 = $55 & 65535;
+ $57 = $56 << 16;
+ $58 = $__x0;
+ $59 = $58 & 65535;
+ $60 = (($57) + ($59))|0;
+ $prod_low = $60;
+ $61 = $cy_limb;
+ $62 = $prod_low;
+ $63 = (($62) + ($61))|0;
+ $prod_low = $63;
+ $64 = $prod_low;
+ $65 = $cy_limb;
+ $66 = ($64>>>0)<($65>>>0);
+ $67 = $66 ? 1 : 0;
+ $68 = $prod_high;
+ $69 = (($67) + ($68))|0;
+ $cy_limb = $69;
+ $70 = $prod_low;
+ $71 = $j;
+ $72 = $0;
+ $73 = (($72) + ($71<<2)|0);
+ HEAP32[$73>>2] = $70;
+ $74 = $j;
+ $75 = (($74) + 1)|0;
+ $j = $75;
+ $76 = ($75|0)!=(0);
+ if (!($76)) {
+ break;
+ }
+ }
+ $77 = $cy_limb;
+ STACKTOP = sp;return ($77|0);
+}
+function __gcry_mpih_submul_1($res_ptr,$s1_ptr,$s1_size,$s2_limb) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_limb = $s2_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $__u = 0, $__uh = 0, $__ul = 0, $__v = 0, $__vh = 0, $__vl = 0, $__x0 = 0, $__x1 = 0, $__x2 = 0;
+ var $__x3 = 0, $cy_limb = 0, $j = 0, $prod_high = 0, $prod_low = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s1_size;
+ $3 = $s2_limb;
+ $4 = $2;
+ $5 = (0 - ($4))|0;
+ $j = $5;
+ $6 = $j;
+ $7 = $0;
+ $8 = (0 - ($6))|0;
+ $9 = (($7) + ($8<<2)|0);
+ $0 = $9;
+ $10 = $j;
+ $11 = $1;
+ $12 = (0 - ($10))|0;
+ $13 = (($11) + ($12<<2)|0);
+ $1 = $13;
+ $cy_limb = 0;
+ while(1) {
+ $14 = $j;
+ $15 = $1;
+ $16 = (($15) + ($14<<2)|0);
+ $17 = HEAP32[$16>>2]|0;
+ $__u = $17;
+ $18 = $3;
+ $__v = $18;
+ $19 = $__u;
+ $20 = $19 & 65535;
+ $__ul = $20;
+ $21 = $__u;
+ $22 = $21 >>> 16;
+ $__uh = $22;
+ $23 = $__v;
+ $24 = $23 & 65535;
+ $__vl = $24;
+ $25 = $__v;
+ $26 = $25 >>> 16;
+ $__vh = $26;
+ $27 = $__ul;
+ $28 = $__vl;
+ $29 = Math_imul($27, $28)|0;
+ $__x0 = $29;
+ $30 = $__ul;
+ $31 = $__vh;
+ $32 = Math_imul($30, $31)|0;
+ $__x1 = $32;
+ $33 = $__uh;
+ $34 = $__vl;
+ $35 = Math_imul($33, $34)|0;
+ $__x2 = $35;
+ $36 = $__uh;
+ $37 = $__vh;
+ $38 = Math_imul($36, $37)|0;
+ $__x3 = $38;
+ $39 = $__x0;
+ $40 = $39 >>> 16;
+ $41 = $__x1;
+ $42 = (($41) + ($40))|0;
+ $__x1 = $42;
+ $43 = $__x2;
+ $44 = $__x1;
+ $45 = (($44) + ($43))|0;
+ $__x1 = $45;
+ $46 = $__x1;
+ $47 = $__x2;
+ $48 = ($46>>>0)<($47>>>0);
+ if ($48) {
+ $49 = $__x3;
+ $50 = (($49) + 65536)|0;
+ $__x3 = $50;
+ }
+ $51 = $__x3;
+ $52 = $__x1;
+ $53 = $52 >>> 16;
+ $54 = (($51) + ($53))|0;
+ $prod_high = $54;
+ $55 = $__x1;
+ $56 = $55 & 65535;
+ $57 = $56 << 16;
+ $58 = $__x0;
+ $59 = $58 & 65535;
+ $60 = (($57) + ($59))|0;
+ $prod_low = $60;
+ $61 = $cy_limb;
+ $62 = $prod_low;
+ $63 = (($62) + ($61))|0;
+ $prod_low = $63;
+ $64 = $prod_low;
+ $65 = $cy_limb;
+ $66 = ($64>>>0)<($65>>>0);
+ $67 = $66 ? 1 : 0;
+ $68 = $prod_high;
+ $69 = (($67) + ($68))|0;
+ $cy_limb = $69;
+ $70 = $j;
+ $71 = $0;
+ $72 = (($71) + ($70<<2)|0);
+ $73 = HEAP32[$72>>2]|0;
+ $x = $73;
+ $74 = $x;
+ $75 = $prod_low;
+ $76 = (($74) - ($75))|0;
+ $prod_low = $76;
+ $77 = $prod_low;
+ $78 = $x;
+ $79 = ($77>>>0)>($78>>>0);
+ $80 = $79 ? 1 : 0;
+ $81 = $cy_limb;
+ $82 = (($81) + ($80))|0;
+ $cy_limb = $82;
+ $83 = $prod_low;
+ $84 = $j;
+ $85 = $0;
+ $86 = (($85) + ($84<<2)|0);
+ HEAP32[$86>>2] = $83;
+ $87 = $j;
+ $88 = (($87) + 1)|0;
+ $j = $88;
+ $89 = ($88|0)!=(0);
+ if (!($89)) {
+ break;
+ }
+ }
+ $90 = $cy_limb;
+ STACKTOP = sp;return ($90|0);
+}
+function _mul_n_basecase($prodp,$up,$vp,$size) {
+ $prodp = $prodp|0;
+ $up = $up|0;
+ $vp = $vp|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $_i = 0, $_i1 = 0, $cy = 0, $i = 0, $v_limb = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $prodp;
+ $1 = $up;
+ $2 = $vp;
+ $3 = $size;
+ $4 = $2;
+ $5 = HEAP32[$4>>2]|0;
+ $v_limb = $5;
+ $6 = $v_limb;
+ $7 = ($6>>>0)<=(1);
+ if ($7) {
+ $8 = $v_limb;
+ $9 = ($8|0)==(1);
+ L3: do {
+ if ($9) {
+ $_i = 0;
+ while(1) {
+ $10 = $_i;
+ $11 = $3;
+ $12 = ($10|0)<($11|0);
+ if (!($12)) {
+ break L3;
+ }
+ $13 = $_i;
+ $14 = $1;
+ $15 = (($14) + ($13<<2)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $_i;
+ $18 = $0;
+ $19 = (($18) + ($17<<2)|0);
+ HEAP32[$19>>2] = $16;
+ $20 = $_i;
+ $21 = (($20) + 1)|0;
+ $_i = $21;
+ }
+ } else {
+ $_i1 = 0;
+ while(1) {
+ $22 = $_i1;
+ $23 = $3;
+ $24 = ($22|0)<($23|0);
+ if (!($24)) {
+ break L3;
+ }
+ $25 = $_i1;
+ $26 = $0;
+ $27 = (($26) + ($25<<2)|0);
+ HEAP32[$27>>2] = 0;
+ $28 = $_i1;
+ $29 = (($28) + 1)|0;
+ $_i1 = $29;
+ }
+ }
+ } while(0);
+ $cy = 0;
+ } else {
+ $30 = $0;
+ $31 = $1;
+ $32 = $3;
+ $33 = $v_limb;
+ $34 = (__gcry_mpih_mul_1($30,$31,$32,$33)|0);
+ $cy = $34;
+ }
+ $35 = $cy;
+ $36 = $3;
+ $37 = $0;
+ $38 = (($37) + ($36<<2)|0);
+ HEAP32[$38>>2] = $35;
+ $39 = $0;
+ $40 = ((($39)) + 4|0);
+ $0 = $40;
+ $i = 1;
+ while(1) {
+ $41 = $i;
+ $42 = $3;
+ $43 = ($41|0)<($42|0);
+ if (!($43)) {
+ break;
+ }
+ $44 = $i;
+ $45 = $2;
+ $46 = (($45) + ($44<<2)|0);
+ $47 = HEAP32[$46>>2]|0;
+ $v_limb = $47;
+ $48 = $v_limb;
+ $49 = ($48>>>0)<=(1);
+ if ($49) {
+ $cy = 0;
+ $50 = $v_limb;
+ $51 = ($50|0)==(1);
+ if ($51) {
+ $52 = $0;
+ $53 = $0;
+ $54 = $1;
+ $55 = $3;
+ $56 = (__gcry_mpih_add_n($52,$53,$54,$55)|0);
+ $cy = $56;
+ }
+ } else {
+ $57 = $0;
+ $58 = $1;
+ $59 = $3;
+ $60 = $v_limb;
+ $61 = (__gcry_mpih_addmul_1($57,$58,$59,$60)|0);
+ $cy = $61;
+ }
+ $62 = $cy;
+ $63 = $3;
+ $64 = $0;
+ $65 = (($64) + ($63<<2)|0);
+ HEAP32[$65>>2] = $62;
+ $66 = $0;
+ $67 = ((($66)) + 4|0);
+ $0 = $67;
+ $68 = $i;
+ $69 = (($68) + 1)|0;
+ $i = $69;
+ }
+ $70 = $cy;
+ STACKTOP = sp;return ($70|0);
+}
+function _mul_n($prodp,$up,$vp,$size,$tspace) {
+ $prodp = $prodp|0;
+ $up = $up|0;
+ $vp = $vp|0;
+ $size = $size|0;
+ $tspace = $tspace|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $_i = 0, $_i1 = 0, $cy = 0, $cy_limb = 0, $esize = 0, $hsize = 0, $negflg = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $prodp;
+ $1 = $up;
+ $2 = $vp;
+ $3 = $size;
+ $4 = $tspace;
+ $5 = $3;
+ $6 = $5 & 1;
+ $7 = ($6|0)!=(0);
+ $8 = $3;
+ if ($7) {
+ $9 = (($8) - 1)|0;
+ $esize = $9;
+ $10 = $esize;
+ $11 = ($10|0)<(16);
+ $12 = $0;
+ $13 = $1;
+ $14 = $2;
+ $15 = $esize;
+ if ($11) {
+ (_mul_n_basecase($12,$13,$14,$15)|0);
+ } else {
+ $16 = $4;
+ _mul_n($12,$13,$14,$15,$16);
+ }
+ $17 = $0;
+ $18 = $esize;
+ $19 = (($17) + ($18<<2)|0);
+ $20 = $1;
+ $21 = $esize;
+ $22 = $esize;
+ $23 = $2;
+ $24 = (($23) + ($22<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (__gcry_mpih_addmul_1($19,$20,$21,$25)|0);
+ $cy_limb = $26;
+ $27 = $cy_limb;
+ $28 = $esize;
+ $29 = $esize;
+ $30 = (($28) + ($29))|0;
+ $31 = $0;
+ $32 = (($31) + ($30<<2)|0);
+ HEAP32[$32>>2] = $27;
+ $33 = $0;
+ $34 = $esize;
+ $35 = (($33) + ($34<<2)|0);
+ $36 = $2;
+ $37 = $3;
+ $38 = $esize;
+ $39 = $1;
+ $40 = (($39) + ($38<<2)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (__gcry_mpih_addmul_1($35,$36,$37,$41)|0);
+ $cy_limb = $42;
+ $43 = $cy_limb;
+ $44 = $esize;
+ $45 = $3;
+ $46 = (($44) + ($45))|0;
+ $47 = $0;
+ $48 = (($47) + ($46<<2)|0);
+ HEAP32[$48>>2] = $43;
+ STACKTOP = sp;return;
+ }
+ $49 = $8 >> 1;
+ $hsize = $49;
+ $50 = $hsize;
+ $51 = ($50|0)<(16);
+ $52 = $0;
+ $53 = $3;
+ $54 = (($52) + ($53<<2)|0);
+ $55 = $1;
+ $56 = $hsize;
+ $57 = (($55) + ($56<<2)|0);
+ $58 = $2;
+ $59 = $hsize;
+ $60 = (($58) + ($59<<2)|0);
+ $61 = $hsize;
+ if ($51) {
+ (_mul_n_basecase($54,$57,$60,$61)|0);
+ } else {
+ $62 = $4;
+ _mul_n($54,$57,$60,$61,$62);
+ }
+ $63 = $1;
+ $64 = $hsize;
+ $65 = (($63) + ($64<<2)|0);
+ $66 = $1;
+ $67 = $hsize;
+ $68 = (__gcry_mpih_cmp($65,$66,$67)|0);
+ $69 = ($68|0)>=(0);
+ $70 = $0;
+ $71 = $1;
+ if ($69) {
+ $72 = $hsize;
+ $73 = (($71) + ($72<<2)|0);
+ $74 = $1;
+ $75 = $hsize;
+ (__gcry_mpih_sub_n($70,$73,$74,$75)|0);
+ $negflg = 0;
+ } else {
+ $76 = $1;
+ $77 = $hsize;
+ $78 = (($76) + ($77<<2)|0);
+ $79 = $hsize;
+ (__gcry_mpih_sub_n($70,$71,$78,$79)|0);
+ $negflg = 1;
+ }
+ $80 = $2;
+ $81 = $hsize;
+ $82 = (($80) + ($81<<2)|0);
+ $83 = $2;
+ $84 = $hsize;
+ $85 = (__gcry_mpih_cmp($82,$83,$84)|0);
+ $86 = ($85|0)>=(0);
+ $87 = $0;
+ $88 = $hsize;
+ $89 = (($87) + ($88<<2)|0);
+ $90 = $2;
+ if ($86) {
+ $91 = $hsize;
+ $92 = (($90) + ($91<<2)|0);
+ $93 = $2;
+ $94 = $hsize;
+ (__gcry_mpih_sub_n($89,$92,$93,$94)|0);
+ $95 = $negflg;
+ $96 = $95 ^ 1;
+ $negflg = $96;
+ } else {
+ $97 = $2;
+ $98 = $hsize;
+ $99 = (($97) + ($98<<2)|0);
+ $100 = $hsize;
+ (__gcry_mpih_sub_n($89,$90,$99,$100)|0);
+ }
+ $101 = $hsize;
+ $102 = ($101|0)<(16);
+ $103 = $4;
+ $104 = $0;
+ $105 = $0;
+ $106 = $hsize;
+ $107 = (($105) + ($106<<2)|0);
+ $108 = $hsize;
+ if ($102) {
+ (_mul_n_basecase($103,$104,$107,$108)|0);
+ } else {
+ $109 = $4;
+ $110 = $3;
+ $111 = (($109) + ($110<<2)|0);
+ _mul_n($103,$104,$107,$108,$111);
+ }
+ $_i = 0;
+ while(1) {
+ $112 = $_i;
+ $113 = $hsize;
+ $114 = ($112|0)<($113|0);
+ if (!($114)) {
+ break;
+ }
+ $115 = $_i;
+ $116 = $0;
+ $117 = $3;
+ $118 = (($116) + ($117<<2)|0);
+ $119 = (($118) + ($115<<2)|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $_i;
+ $122 = $0;
+ $123 = $hsize;
+ $124 = (($122) + ($123<<2)|0);
+ $125 = (($124) + ($121<<2)|0);
+ HEAP32[$125>>2] = $120;
+ $126 = $_i;
+ $127 = (($126) + 1)|0;
+ $_i = $127;
+ }
+ $128 = $0;
+ $129 = $3;
+ $130 = (($128) + ($129<<2)|0);
+ $131 = $0;
+ $132 = $3;
+ $133 = (($131) + ($132<<2)|0);
+ $134 = $0;
+ $135 = $3;
+ $136 = (($134) + ($135<<2)|0);
+ $137 = $hsize;
+ $138 = (($136) + ($137<<2)|0);
+ $139 = $hsize;
+ $140 = (__gcry_mpih_add_n($130,$133,$138,$139)|0);
+ $cy = $140;
+ $141 = $negflg;
+ $142 = ($141|0)!=(0);
+ $143 = $0;
+ $144 = $hsize;
+ $145 = (($143) + ($144<<2)|0);
+ $146 = $0;
+ $147 = $hsize;
+ $148 = (($146) + ($147<<2)|0);
+ $149 = $4;
+ $150 = $3;
+ if ($142) {
+ $151 = (__gcry_mpih_sub_n($145,$148,$149,$150)|0);
+ $152 = $cy;
+ $153 = (($152) - ($151))|0;
+ $cy = $153;
+ } else {
+ $154 = (__gcry_mpih_add_n($145,$148,$149,$150)|0);
+ $155 = $cy;
+ $156 = (($155) + ($154))|0;
+ $cy = $156;
+ }
+ $157 = $hsize;
+ $158 = ($157|0)<(16);
+ $159 = $4;
+ $160 = $1;
+ $161 = $2;
+ $162 = $hsize;
+ if ($158) {
+ (_mul_n_basecase($159,$160,$161,$162)|0);
+ } else {
+ $163 = $4;
+ $164 = $3;
+ $165 = (($163) + ($164<<2)|0);
+ _mul_n($159,$160,$161,$162,$165);
+ }
+ $166 = $0;
+ $167 = $hsize;
+ $168 = (($166) + ($167<<2)|0);
+ $169 = $0;
+ $170 = $hsize;
+ $171 = (($169) + ($170<<2)|0);
+ $172 = $4;
+ $173 = $3;
+ $174 = (__gcry_mpih_add_n($168,$171,$172,$173)|0);
+ $175 = $cy;
+ $176 = (($175) + ($174))|0;
+ $cy = $176;
+ $177 = $cy;
+ $178 = ($177|0)!=(0);
+ if ($178) {
+ $179 = $0;
+ $180 = $hsize;
+ $181 = (($179) + ($180<<2)|0);
+ $182 = $3;
+ $183 = (($181) + ($182<<2)|0);
+ $184 = $0;
+ $185 = $hsize;
+ $186 = (($184) + ($185<<2)|0);
+ $187 = $3;
+ $188 = (($186) + ($187<<2)|0);
+ $189 = $hsize;
+ $190 = $cy;
+ (__gcry_mpih_add_1($183,$188,$189,$190)|0);
+ }
+ $_i1 = 0;
+ while(1) {
+ $191 = $_i1;
+ $192 = $hsize;
+ $193 = ($191|0)<($192|0);
+ if (!($193)) {
+ break;
+ }
+ $194 = $_i1;
+ $195 = $4;
+ $196 = (($195) + ($194<<2)|0);
+ $197 = HEAP32[$196>>2]|0;
+ $198 = $_i1;
+ $199 = $0;
+ $200 = (($199) + ($198<<2)|0);
+ HEAP32[$200>>2] = $197;
+ $201 = $_i1;
+ $202 = (($201) + 1)|0;
+ $_i1 = $202;
+ }
+ $203 = $0;
+ $204 = $hsize;
+ $205 = (($203) + ($204<<2)|0);
+ $206 = $0;
+ $207 = $hsize;
+ $208 = (($206) + ($207<<2)|0);
+ $209 = $4;
+ $210 = $hsize;
+ $211 = (($209) + ($210<<2)|0);
+ $212 = $hsize;
+ $213 = (__gcry_mpih_add_n($205,$208,$211,$212)|0);
+ $cy = $213;
+ $214 = $cy;
+ $215 = ($214|0)!=(0);
+ if (!($215)) {
+ STACKTOP = sp;return;
+ }
+ $216 = $0;
+ $217 = $3;
+ $218 = (($216) + ($217<<2)|0);
+ $219 = $0;
+ $220 = $3;
+ $221 = (($219) + ($220<<2)|0);
+ $222 = $3;
+ (__gcry_mpih_add_1($218,$221,$222,1)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_mpih_mul_karatsuba_case($prodp,$up,$usize,$vp,$vsize,$ctx) {
+ $prodp = $prodp|0;
+ $up = $up|0;
+ $usize = $usize|0;
+ $vp = $vp|0;
+ $vsize = $vsize|0;
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cy = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $prodp;
+ $1 = $up;
+ $2 = $usize;
+ $3 = $vp;
+ $4 = $vsize;
+ $5 = $ctx;
+ $6 = $5;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = $5;
+ $11 = ((($10)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $4;
+ $14 = ($12|0)<($13|0);
+ if ($14) {
+ label = 3;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $15 = $5;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = $5;
+ $20 = ((($19)) + 4|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $5;
+ $23 = ((($22)) + 8|0);
+ $24 = HEAP32[$23>>2]|0;
+ __gcry_mpi_free_limb_space($21,$24);
+ }
+ $25 = $4;
+ $26 = $25<<1;
+ $27 = $5;
+ $28 = ((($27)) + 8|0);
+ HEAP32[$28>>2] = $26;
+ $29 = $4;
+ $30 = $29<<1;
+ $31 = $1;
+ $32 = (__gcry_is_secure($31)|0);
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $38 = 1;
+ } else {
+ $34 = $3;
+ $35 = (__gcry_is_secure($34)|0);
+ $36 = ($35|0)!=(0);
+ $38 = $36;
+ }
+ $37 = $38&1;
+ $39 = (__gcry_mpi_alloc_limb_space($30,$37)|0);
+ $40 = $5;
+ $41 = ((($40)) + 4|0);
+ HEAP32[$41>>2] = $39;
+ $42 = $4;
+ $43 = $5;
+ $44 = ((($43)) + 12|0);
+ HEAP32[$44>>2] = $42;
+ }
+ $45 = $4;
+ $46 = ($45|0)<(16);
+ $47 = $0;
+ $48 = $1;
+ $49 = $3;
+ $50 = $4;
+ if ($46) {
+ (_mul_n_basecase($47,$48,$49,$50)|0);
+ } else {
+ $51 = $5;
+ $52 = ((($51)) + 4|0);
+ $53 = HEAP32[$52>>2]|0;
+ _mul_n($47,$48,$49,$50,$53);
+ }
+ $54 = $4;
+ $55 = $0;
+ $56 = (($55) + ($54<<2)|0);
+ $0 = $56;
+ $57 = $4;
+ $58 = $1;
+ $59 = (($58) + ($57<<2)|0);
+ $1 = $59;
+ $60 = $4;
+ $61 = $2;
+ $62 = (($61) - ($60))|0;
+ $2 = $62;
+ $63 = $2;
+ $64 = $4;
+ $65 = ($63|0)>=($64|0);
+ if ($65) {
+ $66 = $5;
+ $67 = ((($66)) + 16|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ($68|0)!=(0|0);
+ if ($69) {
+ $70 = $5;
+ $71 = ((($70)) + 24|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $4;
+ $74 = ($72|0)<($73|0);
+ if ($74) {
+ label = 14;
+ }
+ } else {
+ label = 14;
+ }
+ if ((label|0) == 14) {
+ $75 = $5;
+ $76 = ((($75)) + 16|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ($77|0)!=(0|0);
+ if ($78) {
+ $79 = $5;
+ $80 = ((($79)) + 16|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $5;
+ $83 = ((($82)) + 20|0);
+ $84 = HEAP32[$83>>2]|0;
+ __gcry_mpi_free_limb_space($81,$84);
+ }
+ $85 = $4;
+ $86 = $85<<1;
+ $87 = $5;
+ $88 = ((($87)) + 20|0);
+ HEAP32[$88>>2] = $86;
+ $89 = $4;
+ $90 = $89<<1;
+ $91 = $1;
+ $92 = (__gcry_is_secure($91)|0);
+ $93 = ($92|0)!=(0);
+ if ($93) {
+ $98 = 1;
+ } else {
+ $94 = $3;
+ $95 = (__gcry_is_secure($94)|0);
+ $96 = ($95|0)!=(0);
+ $98 = $96;
+ }
+ $97 = $98&1;
+ $99 = (__gcry_mpi_alloc_limb_space($90,$97)|0);
+ $100 = $5;
+ $101 = ((($100)) + 16|0);
+ HEAP32[$101>>2] = $99;
+ $102 = $4;
+ $103 = $5;
+ $104 = ((($103)) + 24|0);
+ HEAP32[$104>>2] = $102;
+ }
+ while(1) {
+ $105 = $4;
+ $106 = ($105|0)<(16);
+ $107 = $5;
+ $108 = ((($107)) + 16|0);
+ $109 = HEAP32[$108>>2]|0;
+ $110 = $1;
+ $111 = $3;
+ $112 = $4;
+ if ($106) {
+ (_mul_n_basecase($109,$110,$111,$112)|0);
+ } else {
+ $113 = $5;
+ $114 = ((($113)) + 4|0);
+ $115 = HEAP32[$114>>2]|0;
+ _mul_n($109,$110,$111,$112,$115);
+ }
+ $116 = $0;
+ $117 = $0;
+ $118 = $5;
+ $119 = ((($118)) + 16|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = $4;
+ $122 = (__gcry_mpih_add_n($116,$117,$120,$121)|0);
+ $cy = $122;
+ $123 = $0;
+ $124 = $4;
+ $125 = (($123) + ($124<<2)|0);
+ $126 = $5;
+ $127 = ((($126)) + 16|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = $4;
+ $130 = (($128) + ($129<<2)|0);
+ $131 = $4;
+ $132 = $cy;
+ (__gcry_mpih_add_1($125,$130,$131,$132)|0);
+ $133 = $4;
+ $134 = $0;
+ $135 = (($134) + ($133<<2)|0);
+ $0 = $135;
+ $136 = $4;
+ $137 = $1;
+ $138 = (($137) + ($136<<2)|0);
+ $1 = $138;
+ $139 = $4;
+ $140 = $2;
+ $141 = (($140) - ($139))|0;
+ $2 = $141;
+ $142 = $2;
+ $143 = $4;
+ $144 = ($142|0)>=($143|0);
+ if (!($144)) {
+ break;
+ }
+ }
+ }
+ $145 = $2;
+ $146 = ($145|0)!=(0);
+ if (!($146)) {
+ STACKTOP = sp;return;
+ }
+ $147 = $2;
+ $148 = ($147|0)<(16);
+ $149 = $5;
+ if ($148) {
+ $150 = ((($149)) + 4|0);
+ $151 = HEAP32[$150>>2]|0;
+ $152 = $3;
+ $153 = $4;
+ $154 = $1;
+ $155 = $2;
+ (__gcry_mpih_mul($151,$152,$153,$154,$155)|0);
+ } else {
+ $156 = HEAP32[$149>>2]|0;
+ $157 = ($156|0)!=(0|0);
+ if (!($157)) {
+ $158 = (__gcry_xcalloc(1,28)|0);
+ $159 = $5;
+ HEAP32[$159>>2] = $158;
+ }
+ $160 = $5;
+ $161 = ((($160)) + 4|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = $3;
+ $164 = $4;
+ $165 = $1;
+ $166 = $2;
+ $167 = $5;
+ $168 = HEAP32[$167>>2]|0;
+ __gcry_mpih_mul_karatsuba_case($162,$163,$164,$165,$166,$168);
+ }
+ $169 = $0;
+ $170 = $0;
+ $171 = $5;
+ $172 = ((($171)) + 4|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = $4;
+ $175 = (__gcry_mpih_add_n($169,$170,$173,$174)|0);
+ $cy = $175;
+ $176 = $0;
+ $177 = $4;
+ $178 = (($176) + ($177<<2)|0);
+ $179 = $5;
+ $180 = ((($179)) + 4|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = $4;
+ $183 = (($181) + ($182<<2)|0);
+ $184 = $2;
+ $185 = $cy;
+ (__gcry_mpih_add_1($178,$183,$184,$185)|0);
+ STACKTOP = sp;return;
+}
+function __gcry_mpih_mul($prodp,$up,$usize,$vp,$vsize) {
+ $prodp = $prodp|0;
+ $up = $up|0;
+ $usize = $usize|0;
+ $vp = $vp|0;
+ $vsize = $vsize|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $_i = 0, $_i1 = 0, $ctx = 0, $cy = 0, $i = 0, $prod_endp = 0, $v_limb = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp + 16|0;
+ $1 = $prodp;
+ $2 = $up;
+ $3 = $usize;
+ $4 = $vp;
+ $5 = $vsize;
+ $6 = $1;
+ $7 = $3;
+ $8 = (($6) + ($7<<2)|0);
+ $9 = $5;
+ $10 = (($8) + ($9<<2)|0);
+ $11 = ((($10)) + -4|0);
+ $prod_endp = $11;
+ $12 = $5;
+ $13 = ($12|0)<(16);
+ if (!($13)) {
+ ;HEAP32[$ctx>>2]=0|0;HEAP32[$ctx+4>>2]=0|0;HEAP32[$ctx+8>>2]=0|0;HEAP32[$ctx+12>>2]=0|0;HEAP32[$ctx+16>>2]=0|0;HEAP32[$ctx+20>>2]=0|0;HEAP32[$ctx+24>>2]=0|0;
+ $83 = $1;
+ $84 = $2;
+ $85 = $3;
+ $86 = $4;
+ $87 = $5;
+ __gcry_mpih_mul_karatsuba_case($83,$84,$85,$86,$87,$ctx);
+ __gcry_mpih_release_karatsuba_ctx($ctx);
+ $88 = $prod_endp;
+ $89 = HEAP32[$88>>2]|0;
+ $0 = $89;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ $14 = $5;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ $0 = 0;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+ }
+ $16 = $4;
+ $17 = HEAP32[$16>>2]|0;
+ $v_limb = $17;
+ $18 = $v_limb;
+ $19 = ($18>>>0)<=(1);
+ if ($19) {
+ $20 = $v_limb;
+ $21 = ($20|0)==(1);
+ L11: do {
+ if ($21) {
+ $_i = 0;
+ while(1) {
+ $22 = $_i;
+ $23 = $3;
+ $24 = ($22|0)<($23|0);
+ if (!($24)) {
+ break L11;
+ }
+ $25 = $_i;
+ $26 = $2;
+ $27 = (($26) + ($25<<2)|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $_i;
+ $30 = $1;
+ $31 = (($30) + ($29<<2)|0);
+ HEAP32[$31>>2] = $28;
+ $32 = $_i;
+ $33 = (($32) + 1)|0;
+ $_i = $33;
+ }
+ } else {
+ $_i1 = 0;
+ while(1) {
+ $34 = $_i1;
+ $35 = $3;
+ $36 = ($34|0)<($35|0);
+ if (!($36)) {
+ break L11;
+ }
+ $37 = $_i1;
+ $38 = $1;
+ $39 = (($38) + ($37<<2)|0);
+ HEAP32[$39>>2] = 0;
+ $40 = $_i1;
+ $41 = (($40) + 1)|0;
+ $_i1 = $41;
+ }
+ }
+ } while(0);
+ $cy = 0;
+ } else {
+ $42 = $1;
+ $43 = $2;
+ $44 = $3;
+ $45 = $v_limb;
+ $46 = (__gcry_mpih_mul_1($42,$43,$44,$45)|0);
+ $cy = $46;
+ }
+ $47 = $cy;
+ $48 = $3;
+ $49 = $1;
+ $50 = (($49) + ($48<<2)|0);
+ HEAP32[$50>>2] = $47;
+ $51 = $1;
+ $52 = ((($51)) + 4|0);
+ $1 = $52;
+ $i = 1;
+ while(1) {
+ $53 = $i;
+ $54 = $5;
+ $55 = ($53|0)<($54|0);
+ if (!($55)) {
+ break;
+ }
+ $56 = $i;
+ $57 = $4;
+ $58 = (($57) + ($56<<2)|0);
+ $59 = HEAP32[$58>>2]|0;
+ $v_limb = $59;
+ $60 = $v_limb;
+ $61 = ($60>>>0)<=(1);
+ if ($61) {
+ $cy = 0;
+ $62 = $v_limb;
+ $63 = ($62|0)==(1);
+ if ($63) {
+ $64 = $1;
+ $65 = $1;
+ $66 = $2;
+ $67 = $3;
+ $68 = (__gcry_mpih_add_n($64,$65,$66,$67)|0);
+ $cy = $68;
+ }
+ } else {
+ $69 = $1;
+ $70 = $2;
+ $71 = $3;
+ $72 = $v_limb;
+ $73 = (__gcry_mpih_addmul_1($69,$70,$71,$72)|0);
+ $cy = $73;
+ }
+ $74 = $cy;
+ $75 = $3;
+ $76 = $1;
+ $77 = (($76) + ($75<<2)|0);
+ HEAP32[$77>>2] = $74;
+ $78 = $1;
+ $79 = ((($78)) + 4|0);
+ $1 = $79;
+ $80 = $i;
+ $81 = (($80) + 1)|0;
+ $i = $81;
+ }
+ $82 = $cy;
+ $0 = $82;
+ $90 = $0;
+ STACKTOP = sp;return ($90|0);
+}
+function __gcry_mpih_release_karatsuba_ctx($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ctx2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ((($1)) + 16|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(0|0);
+ if ($4) {
+ $5 = $0;
+ $6 = ((($5)) + 16|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ __gcry_mpi_free_limb_space($7,$10);
+ }
+ $11 = $0;
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(0|0);
+ if ($14) {
+ $15 = $0;
+ $16 = ((($15)) + 4|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $0;
+ $19 = ((($18)) + 8|0);
+ $20 = HEAP32[$19>>2]|0;
+ __gcry_mpi_free_limb_space($17,$20);
+ }
+ $21 = $0;
+ $22 = HEAP32[$21>>2]|0;
+ $0 = $22;
+ while(1) {
+ $23 = $0;
+ $24 = ($23|0)!=(0|0);
+ if (!($24)) {
+ break;
+ }
+ $25 = $0;
+ $26 = HEAP32[$25>>2]|0;
+ $ctx2 = $26;
+ $27 = $0;
+ $28 = ((($27)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ($29|0)!=(0|0);
+ if ($30) {
+ $31 = $0;
+ $32 = ((($31)) + 16|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $0;
+ $35 = ((($34)) + 20|0);
+ $36 = HEAP32[$35>>2]|0;
+ __gcry_mpi_free_limb_space($33,$36);
+ }
+ $37 = $0;
+ $38 = ((($37)) + 4|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ($39|0)!=(0|0);
+ if ($40) {
+ $41 = $0;
+ $42 = ((($41)) + 4|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = $0;
+ $45 = ((($44)) + 8|0);
+ $46 = HEAP32[$45>>2]|0;
+ __gcry_mpi_free_limb_space($43,$46);
+ }
+ $47 = $0;
+ __gcry_free($47);
+ $48 = $ctx2;
+ $0 = $48;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_mpih_rshift($wp,$up,$usize,$cnt) {
+ $wp = $wp|0;
+ $up = $up|0;
+ $usize = $usize|0;
+ $cnt = $cnt|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $high_limb = 0, $i = 0, $low_limb = 0, $retval = 0, $sh_1 = 0, $sh_2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $wp;
+ $1 = $up;
+ $2 = $usize;
+ $3 = $cnt;
+ $4 = $3;
+ $sh_1 = $4;
+ $5 = $0;
+ $6 = ((($5)) + -4|0);
+ $0 = $6;
+ $7 = $sh_1;
+ $8 = (32 - ($7))|0;
+ $sh_2 = $8;
+ $9 = $1;
+ $10 = HEAP32[$9>>2]|0;
+ $high_limb = $10;
+ $11 = $high_limb;
+ $12 = $sh_2;
+ $13 = $11 << $12;
+ $retval = $13;
+ $14 = $high_limb;
+ $low_limb = $14;
+ $i = 1;
+ while(1) {
+ $15 = $i;
+ $16 = $2;
+ $17 = ($15|0)<($16|0);
+ if (!($17)) {
+ break;
+ }
+ $18 = $i;
+ $19 = $1;
+ $20 = (($19) + ($18<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $high_limb = $21;
+ $22 = $low_limb;
+ $23 = $sh_1;
+ $24 = $22 >>> $23;
+ $25 = $high_limb;
+ $26 = $sh_2;
+ $27 = $25 << $26;
+ $28 = $24 | $27;
+ $29 = $i;
+ $30 = $0;
+ $31 = (($30) + ($29<<2)|0);
+ HEAP32[$31>>2] = $28;
+ $32 = $high_limb;
+ $low_limb = $32;
+ $33 = $i;
+ $34 = (($33) + 1)|0;
+ $i = $34;
+ }
+ $35 = $low_limb;
+ $36 = $sh_1;
+ $37 = $35 >>> $36;
+ $38 = $i;
+ $39 = $0;
+ $40 = (($39) + ($38<<2)|0);
+ HEAP32[$40>>2] = $37;
+ $41 = $retval;
+ STACKTOP = sp;return ($41|0);
+}
+function __gcry_mpih_sub_n($res_ptr,$s1_ptr,$s2_ptr,$size) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s2_ptr = $s2_ptr|0;
+ $size = $size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cy = 0, $j = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s2_ptr;
+ $3 = $size;
+ $4 = $3;
+ $5 = (0 - ($4))|0;
+ $j = $5;
+ $6 = $j;
+ $7 = $1;
+ $8 = (0 - ($6))|0;
+ $9 = (($7) + ($8<<2)|0);
+ $1 = $9;
+ $10 = $j;
+ $11 = $2;
+ $12 = (0 - ($10))|0;
+ $13 = (($11) + ($12<<2)|0);
+ $2 = $13;
+ $14 = $j;
+ $15 = $0;
+ $16 = (0 - ($14))|0;
+ $17 = (($15) + ($16<<2)|0);
+ $0 = $17;
+ $cy = 0;
+ while(1) {
+ $18 = $j;
+ $19 = $2;
+ $20 = (($19) + ($18<<2)|0);
+ $21 = HEAP32[$20>>2]|0;
+ $y = $21;
+ $22 = $j;
+ $23 = $1;
+ $24 = (($23) + ($22<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $x = $25;
+ $26 = $cy;
+ $27 = $y;
+ $28 = (($27) + ($26))|0;
+ $y = $28;
+ $29 = $y;
+ $30 = $cy;
+ $31 = ($29>>>0)<($30>>>0);
+ $32 = $31&1;
+ $cy = $32;
+ $33 = $x;
+ $34 = $y;
+ $35 = (($33) - ($34))|0;
+ $y = $35;
+ $36 = $y;
+ $37 = $x;
+ $38 = ($36>>>0)>($37>>>0);
+ $39 = $38&1;
+ $40 = $cy;
+ $41 = (($40) + ($39))|0;
+ $cy = $41;
+ $42 = $y;
+ $43 = $j;
+ $44 = $0;
+ $45 = (($44) + ($43<<2)|0);
+ HEAP32[$45>>2] = $42;
+ $46 = $j;
+ $47 = (($46) + 1)|0;
+ $j = $47;
+ $48 = ($47|0)!=(0);
+ if (!($48)) {
+ break;
+ }
+ }
+ $49 = $cy;
+ STACKTOP = sp;return ($49|0);
+}
+function __gcry_mpi_get_hw_config() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return ((46179)|0);
+}
+function __gcry_mpi_init() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $value = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $idx = 0;
+ L1: while(1) {
+ $0 = $idx;
+ $1 = ($0|0)<(6);
+ if (!($1)) {
+ label = 12;
+ break;
+ }
+ $2 = $idx;
+ switch ($2|0) {
+ case 0: {
+ $value = 0;
+ break;
+ }
+ case 1: {
+ $value = 1;
+ break;
+ }
+ case 2: {
+ $value = 2;
+ break;
+ }
+ case 3: {
+ $value = 3;
+ break;
+ }
+ case 4: {
+ $value = 4;
+ break;
+ }
+ case 5: {
+ $value = 8;
+ break;
+ }
+ default: {
+ label = 10;
+ break L1;
+ }
+ }
+ $4 = $value;
+ $5 = (__gcry_mpi_alloc_set_ui($4)|0);
+ $6 = $idx;
+ $7 = (70876 + ($6<<2)|0);
+ HEAP32[$7>>2] = $5;
+ $8 = $idx;
+ $9 = (70876 + ($8<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($10)) + 12|0);
+ HEAP32[$11>>2] = 48;
+ $12 = $idx;
+ $13 = (($12) + 1)|0;
+ $idx = $13;
+ }
+ if ((label|0) == 10) {
+ $3 = $idx;
+ HEAP32[$vararg_buffer>>2] = $3;
+ __gcry_log_bug(46323,$vararg_buffer);
+ // unreachable;
+ }
+ else if ((label|0) == 12) {
+ STACKTOP = sp;return 0;
+ }
+ return (0)|0;
+}
+function __gcry_mpi_alloc_set_ui($u) {
+ $u = $u|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $u;
+ $1 = (__gcry_mpi_alloc(1)|0);
+ $w = $1;
+ $2 = $0;
+ $3 = $w;
+ $4 = ((($3)) + 16|0);
+ $5 = HEAP32[$4>>2]|0;
+ HEAP32[$5>>2] = $2;
+ $6 = $0;
+ $7 = ($6|0)!=(0);
+ $8 = $7 ? 1 : 0;
+ $9 = $w;
+ $10 = ((($9)) + 4|0);
+ HEAP32[$10>>2] = $8;
+ $11 = $w;
+ $12 = ((($11)) + 8|0);
+ HEAP32[$12>>2] = 0;
+ $13 = $w;
+ STACKTOP = sp;return ($13|0);
+}
+function __gcry_mpi_alloc($nlimbs) {
+ $nlimbs = $nlimbs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nlimbs;
+ $1 = (__gcry_xmalloc(20)|0);
+ $a = $1;
+ $2 = $0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = $0;
+ $5 = (__gcry_mpi_alloc_limb_space($4,0)|0);
+ $8 = $5;
+ } else {
+ $8 = 0;
+ }
+ $6 = $a;
+ $7 = ((($6)) + 16|0);
+ HEAP32[$7>>2] = $8;
+ $9 = $0;
+ $10 = $a;
+ HEAP32[$10>>2] = $9;
+ $11 = $a;
+ $12 = ((($11)) + 4|0);
+ HEAP32[$12>>2] = 0;
+ $13 = $a;
+ $14 = ((($13)) + 8|0);
+ HEAP32[$14>>2] = 0;
+ $15 = $a;
+ $16 = ((($15)) + 12|0);
+ HEAP32[$16>>2] = 0;
+ $17 = $a;
+ STACKTOP = sp;return ($17|0);
+}
+function __gcry_mpi_alloc_limb_space($nlimbs,$secure) {
+ $nlimbs = $nlimbs|0;
+ $secure = $secure|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $p = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nlimbs;
+ $1 = $secure;
+ $2 = $0;
+ $3 = ($2|0)!=(0);
+ $4 = $0;
+ $5 = $3 ? $4 : 1;
+ $6 = $5<<2;
+ $len = $6;
+ $7 = $1;
+ $8 = ($7|0)!=(0);
+ $9 = $len;
+ if ($8) {
+ $10 = (__gcry_xmalloc_secure($9)|0);
+ $12 = $10;
+ } else {
+ $11 = (__gcry_xmalloc($9)|0);
+ $12 = $11;
+ }
+ $p = $12;
+ $13 = $0;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $16 = $p;
+ STACKTOP = sp;return ($16|0);
+ }
+ $15 = $p;
+ HEAP32[$15>>2] = 0;
+ $16 = $p;
+ STACKTOP = sp;return ($16|0);
+}
+function __gcry_mpi_alloc_secure($nlimbs) {
+ $nlimbs = $nlimbs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nlimbs;
+ $1 = (__gcry_xmalloc(20)|0);
+ $a = $1;
+ $2 = $0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = $0;
+ $5 = (__gcry_mpi_alloc_limb_space($4,1)|0);
+ $8 = $5;
+ } else {
+ $8 = 0;
+ }
+ $6 = $a;
+ $7 = ((($6)) + 16|0);
+ HEAP32[$7>>2] = $8;
+ $9 = $0;
+ $10 = $a;
+ HEAP32[$10>>2] = $9;
+ $11 = $a;
+ $12 = ((($11)) + 12|0);
+ HEAP32[$12>>2] = 1;
+ $13 = $a;
+ $14 = ((($13)) + 4|0);
+ HEAP32[$14>>2] = 0;
+ $15 = $a;
+ $16 = ((($15)) + 8|0);
+ HEAP32[$16>>2] = 0;
+ $17 = $a;
+ STACKTOP = sp;return ($17|0);
+}
+function __gcry_mpi_free_limb_space($a,$nlimbs) {
+ $a = $a|0;
+ $nlimbs = $nlimbs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $len = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp;
+ $0 = $a;
+ $1 = $nlimbs;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ STACKTOP = sp;return;
+ }
+ $4 = $1;
+ $5 = $4<<2;
+ $len = $5;
+ $6 = $len;
+ $7 = ($6|0)!=(0);
+ L4: do {
+ if ($7) {
+ $8 = $0;
+ $_vptr = $8;
+ $9 = $len;
+ $_vlen = $9;
+ $_vset = 0;
+ $10 = $_vset;
+ $11 = $10&255;
+ $12 = $_vset_long;
+ $13 = $12;
+ HEAP32[$13>>2] = $11;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = 0;
+ while(1) {
+ $16 = $_vptr;
+ $17 = $16;
+ $18 = $17 & 7;
+ $19 = ($18|0)!=(0);
+ $20 = $_vlen;
+ $21 = ($20|0)!=(0);
+ $22 = $19 ? $21 : 0;
+ if (!($22)) {
+ break;
+ }
+ $23 = $_vset;
+ $24 = $_vptr;
+ HEAP8[$24>>0] = $23;
+ $25 = $_vptr;
+ $26 = ((($25)) + 1|0);
+ $_vptr = $26;
+ $27 = $_vlen;
+ $28 = (($27) + -1)|0;
+ $_vlen = $28;
+ }
+ $29 = $_vlen;
+ $30 = ($29>>>0)<(8);
+ if (!($30)) {
+ $31 = $_vset_long;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (($31) + 4)|0;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (___muldi3(($33|0),($36|0),16843009,16843009)|0);
+ $38 = tempRet0;
+ $39 = $_vset_long;
+ $40 = $39;
+ HEAP32[$40>>2] = $37;
+ $41 = (($39) + 4)|0;
+ $42 = $41;
+ HEAP32[$42>>2] = $38;
+ while(1) {
+ $43 = $_vptr;
+ $_vptr_long = $43;
+ $44 = $_vset_long;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (($44) + 4)|0;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $_vptr_long;
+ $51 = $50;
+ $52 = $51;
+ HEAP32[$52>>2] = $46;
+ $53 = (($51) + 4)|0;
+ $54 = $53;
+ HEAP32[$54>>2] = $49;
+ $55 = $_vlen;
+ $56 = (($55) - 8)|0;
+ $_vlen = $56;
+ $57 = $_vptr;
+ $58 = ((($57)) + 8|0);
+ $_vptr = $58;
+ $59 = $_vlen;
+ $60 = ($59>>>0)>=(8);
+ if (!($60)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $61 = $_vlen;
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ break L4;
+ }
+ $63 = $_vset;
+ $64 = $_vptr;
+ HEAP8[$64>>0] = $63;
+ $65 = $_vptr;
+ $66 = ((($65)) + 1|0);
+ $_vptr = $66;
+ $67 = $_vlen;
+ $68 = (($67) + -1)|0;
+ $_vlen = $68;
+ }
+ }
+ } while(0);
+ $69 = $0;
+ __gcry_free($69);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_assign_limb_space($a,$ap,$nlimbs) {
+ $a = $a|0;
+ $ap = $ap|0;
+ $nlimbs = $nlimbs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $ap;
+ $2 = $nlimbs;
+ $3 = $0;
+ $4 = ((($3)) + 16|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $0;
+ $7 = HEAP32[$6>>2]|0;
+ __gcry_mpi_free_limb_space($5,$7);
+ $8 = $1;
+ $9 = $0;
+ $10 = ((($9)) + 16|0);
+ HEAP32[$10>>2] = $8;
+ $11 = $2;
+ $12 = $0;
+ HEAP32[$12>>2] = $11;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_resize($a,$nlimbs) {
+ $a = $a|0;
+ $nlimbs = $nlimbs|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $nlimbs;
+ $2 = $1;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($2>>>0)<=($4>>>0);
+ $6 = $0;
+ if ($5) {
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $i = $8;
+ while(1) {
+ $9 = $i;
+ $10 = $0;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($9>>>0)<($11>>>0);
+ if (!($12)) {
+ break;
+ }
+ $13 = $i;
+ $14 = $0;
+ $15 = ((($14)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($16) + ($13<<2)|0);
+ HEAP32[$17>>2] = 0;
+ $18 = $i;
+ $19 = (($18) + 1)|0;
+ $i = $19;
+ }
+ STACKTOP = sp;return;
+ }
+ $20 = ((($6)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)!=(0|0);
+ $23 = $0;
+ L8: do {
+ if ($22) {
+ $24 = ((($23)) + 16|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $1;
+ $27 = $26<<2;
+ $28 = (__gcry_xrealloc($25,$27)|0);
+ $29 = $0;
+ $30 = ((($29)) + 16|0);
+ HEAP32[$30>>2] = $28;
+ $31 = $0;
+ $32 = HEAP32[$31>>2]|0;
+ $i = $32;
+ while(1) {
+ $33 = $i;
+ $34 = $1;
+ $35 = ($33>>>0)<($34>>>0);
+ if (!($35)) {
+ break L8;
+ }
+ $36 = $i;
+ $37 = $0;
+ $38 = ((($37)) + 16|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($39) + ($36<<2)|0);
+ HEAP32[$40>>2] = 0;
+ $41 = $i;
+ $42 = (($41) + 1)|0;
+ $i = $42;
+ }
+ } else {
+ $43 = ((($23)) + 12|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $44 & 1;
+ $46 = ($45|0)!=(0);
+ $47 = $1;
+ if ($46) {
+ $48 = (__gcry_xcalloc_secure($47,4)|0);
+ $49 = $0;
+ $50 = ((($49)) + 16|0);
+ HEAP32[$50>>2] = $48;
+ break;
+ } else {
+ $51 = (__gcry_xcalloc($47,4)|0);
+ $52 = $0;
+ $53 = ((($52)) + 16|0);
+ HEAP32[$53>>2] = $51;
+ break;
+ }
+ }
+ } while(0);
+ $54 = $1;
+ $55 = $0;
+ HEAP32[$55>>2] = $54;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_clear($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 16;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $8 = $0;
+ $9 = ((($8)) + 4|0);
+ HEAP32[$9>>2] = 0;
+ $10 = $0;
+ $11 = ((($10)) + 12|0);
+ HEAP32[$11>>2] = 0;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_immutable_failed() {
+ var $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ __gcry_log_info(46354,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_free($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 32;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ STACKTOP = sp;return;
+ }
+ $8 = $0;
+ $9 = ((($8)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 4;
+ $12 = ($11|0)!=(0);
+ $13 = $0;
+ $14 = ((($13)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ if ($12) {
+ __gcry_free($15);
+ } else {
+ $16 = $0;
+ $17 = HEAP32[$16>>2]|0;
+ __gcry_mpi_free_limb_space($15,$17);
+ }
+ $18 = $0;
+ $19 = ((($18)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $20 & -3864;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ __gcry_log_bug(46398,$vararg_buffer);
+ // unreachable;
+ }
+ $23 = $0;
+ __gcry_free($23);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set_opaque($a,$p,$nbits) {
+ $a = $a|0;
+ $p = $p|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $p;
+ $3 = $nbits;
+ $4 = $1;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $6 = (__gcry_mpi_alloc(0)|0);
+ $1 = $6;
+ }
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $1;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $11 & 16;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ __gcry_mpi_immutable_failed();
+ $14 = $1;
+ $0 = $14;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+ }
+ }
+ $15 = $1;
+ $16 = ((($15)) + 12|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 & 4;
+ $19 = ($18|0)!=(0);
+ $20 = $1;
+ $21 = ((($20)) + 16|0);
+ $22 = HEAP32[$21>>2]|0;
+ if ($19) {
+ __gcry_free($22);
+ } else {
+ $23 = $1;
+ $24 = HEAP32[$23>>2]|0;
+ __gcry_mpi_free_limb_space($22,$24);
+ }
+ $25 = $2;
+ $26 = $1;
+ $27 = ((($26)) + 16|0);
+ HEAP32[$27>>2] = $25;
+ $28 = $1;
+ HEAP32[$28>>2] = 0;
+ $29 = $1;
+ $30 = ((($29)) + 4|0);
+ HEAP32[$30>>2] = 0;
+ $31 = $3;
+ $32 = $1;
+ $33 = ((($32)) + 8|0);
+ HEAP32[$33>>2] = $31;
+ $34 = $1;
+ $35 = ((($34)) + 12|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $36 & 3840;
+ $38 = 4 | $37;
+ $39 = $1;
+ $40 = ((($39)) + 12|0);
+ HEAP32[$40>>2] = $38;
+ $41 = $1;
+ $42 = ((($41)) + 16|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (__gcry_is_secure($43)|0);
+ $45 = ($44|0)!=(0);
+ if ($45) {
+ $46 = $1;
+ $47 = ((($46)) + 12|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $48 | 1;
+ HEAP32[$47>>2] = $49;
+ }
+ $50 = $1;
+ $0 = $50;
+ $51 = $0;
+ STACKTOP = sp;return ($51|0);
+}
+function __gcry_mpi_set_opaque_copy($a,$p,$nbits) {
+ $a = $a|0;
+ $p = $p|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $n = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $p;
+ $3 = $nbits;
+ $4 = $3;
+ $5 = (($4) + 7)|0;
+ $6 = (($5>>>0) / 8)&-1;
+ $n = $6;
+ $7 = $2;
+ $8 = (__gcry_is_secure($7)|0);
+ $9 = ($8|0)!=(0);
+ $10 = $n;
+ if ($9) {
+ $11 = (__gcry_malloc_secure($10)|0);
+ $13 = $11;
+ } else {
+ $12 = (__gcry_malloc($10)|0);
+ $13 = $12;
+ }
+ $d = $13;
+ $14 = $d;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ $16 = $d;
+ $17 = $2;
+ $18 = $n;
+ _memcpy(($16|0),($17|0),($18|0))|0;
+ $19 = $1;
+ $20 = $d;
+ $21 = $3;
+ $22 = (__gcry_mpi_set_opaque($19,$20,$21)|0);
+ $0 = $22;
+ $23 = $0;
+ STACKTOP = sp;return ($23|0);
+ } else {
+ $0 = 0;
+ $23 = $0;
+ STACKTOP = sp;return ($23|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpi_get_opaque($a,$nbits) {
+ $a = $a|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $a;
+ $1 = $nbits;
+ $2 = $0;
+ $3 = ((($2)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = $4 & 4;
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ __gcry_log_bug(46430,$vararg_buffer);
+ // unreachable;
+ }
+ $7 = $1;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $0;
+ $10 = ((($9)) + 8|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = $1;
+ HEAP32[$12>>2] = $11;
+ }
+ $13 = $0;
+ $14 = ((($13)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ STACKTOP = sp;return ($15|0);
+}
+function __gcry_mpi_get_opaque_copy($a,$nbits) {
+ $a = $a|0;
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $d = 0, $n = 0, $or$cond = 0, $s = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a;
+ $2 = $nbits;
+ $3 = $1;
+ $4 = $2;
+ $5 = (__gcry_mpi_get_opaque($3,$4)|0);
+ $s = $5;
+ $6 = $s;
+ $7 = ($6|0)==(0|0);
+ $8 = $2;
+ $9 = ($8|0)!=(0|0);
+ $or$cond = $7 & $9;
+ if ($or$cond) {
+ $0 = 0;
+ $27 = $0;
+ STACKTOP = sp;return ($27|0);
+ }
+ $10 = $2;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($11) + 7)|0;
+ $13 = (($12>>>0) / 8)&-1;
+ $n = $13;
+ $14 = $s;
+ $15 = (__gcry_is_secure($14)|0);
+ $16 = ($15|0)!=(0);
+ $17 = $n;
+ if ($16) {
+ $18 = (__gcry_malloc_secure($17)|0);
+ $20 = $18;
+ } else {
+ $19 = (__gcry_malloc($17)|0);
+ $20 = $19;
+ }
+ $d = $20;
+ $21 = $d;
+ $22 = ($21|0)!=(0|0);
+ if ($22) {
+ $23 = $d;
+ $24 = $s;
+ $25 = $n;
+ _memcpy(($23|0),($24|0),($25|0))|0;
+ }
+ $26 = $d;
+ $0 = $26;
+ $27 = $0;
+ STACKTOP = sp;return ($27|0);
+}
+function __gcry_mpi_copy($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $b = 0;
+ var $i = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 4;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $0;
+ $9 = ((($8)) + 16|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_is_secure($10)|0);
+ $12 = ($11|0)!=(0);
+ $13 = $0;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (($15) + 7)|0;
+ $17 = (($16|0) / 8)&-1;
+ if ($12) {
+ $18 = (__gcry_xmalloc_secure($17)|0);
+ $20 = $18;
+ } else {
+ $19 = (__gcry_xmalloc($17)|0);
+ $20 = $19;
+ }
+ $p = $20;
+ $21 = $0;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $25 = $p;
+ $26 = $0;
+ $27 = ((($26)) + 16|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $0;
+ $30 = ((($29)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (($31) + 7)|0;
+ $33 = (($32|0) / 8)&-1;
+ _memcpy(($25|0),($28|0),($33|0))|0;
+ }
+ $34 = $p;
+ $35 = $0;
+ $36 = ((($35)) + 8|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (__gcry_mpi_set_opaque(0,$34,$37)|0);
+ $b = $38;
+ $39 = $b;
+ $40 = ((($39)) + 12|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $41 & -49;
+ HEAP32[$40>>2] = $42;
+ $98 = $b;
+ STACKTOP = sp;return ($98|0);
+ }
+ }
+ $43 = $0;
+ $44 = ($43|0)!=(0|0);
+ if (!($44)) {
+ $b = 0;
+ $98 = $b;
+ STACKTOP = sp;return ($98|0);
+ }
+ $45 = $0;
+ $46 = ($45|0)!=(0|0);
+ if ($46) {
+ $47 = $0;
+ $48 = ((($47)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $49 & 1;
+ $51 = ($50|0)!=(0);
+ if ($51) {
+ $52 = $0;
+ $53 = ((($52)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (__gcry_mpi_alloc_secure($54)|0);
+ $60 = $55;
+ } else {
+ label = 13;
+ }
+ } else {
+ label = 13;
+ }
+ if ((label|0) == 13) {
+ $56 = $0;
+ $57 = ((($56)) + 4|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (__gcry_mpi_alloc($58)|0);
+ $60 = $59;
+ }
+ $b = $60;
+ $61 = $0;
+ $62 = ((($61)) + 4|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $b;
+ $65 = ((($64)) + 4|0);
+ HEAP32[$65>>2] = $63;
+ $66 = $0;
+ $67 = ((($66)) + 8|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $b;
+ $70 = ((($69)) + 8|0);
+ HEAP32[$70>>2] = $68;
+ $71 = $0;
+ $72 = ((($71)) + 12|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = $b;
+ $75 = ((($74)) + 12|0);
+ HEAP32[$75>>2] = $73;
+ $76 = $b;
+ $77 = ((($76)) + 12|0);
+ $78 = HEAP32[$77>>2]|0;
+ $79 = $78 & -49;
+ HEAP32[$77>>2] = $79;
+ $i = 0;
+ while(1) {
+ $80 = $i;
+ $81 = $b;
+ $82 = ((($81)) + 4|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = ($80|0)<($83|0);
+ if (!($84)) {
+ break;
+ }
+ $85 = $i;
+ $86 = $0;
+ $87 = ((($86)) + 16|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (($88) + ($85<<2)|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = $i;
+ $92 = $b;
+ $93 = ((($92)) + 16|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (($94) + ($91<<2)|0);
+ HEAP32[$95>>2] = $90;
+ $96 = $i;
+ $97 = (($96) + 1)|0;
+ $i = $97;
+ }
+ $98 = $b;
+ STACKTOP = sp;return ($98|0);
+}
+function __gcry_mpi_neg($w,$u) {
+ $w = $w|0;
+ $u = $u|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $0;
+ $3 = $1;
+ $4 = ($2|0)!=($3|0);
+ $5 = $0;
+ if ($4) {
+ $6 = $1;
+ (__gcry_mpi_set($5,$6)|0);
+ } else {
+ $7 = ($5|0)!=(0|0);
+ if ($7) {
+ $8 = $0;
+ $9 = ((($8)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 16;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ $13 = $1;
+ $14 = ((($13)) + 8|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)!=(0);
+ $17 = $16 ^ 1;
+ $18 = $17&1;
+ $19 = $0;
+ $20 = ((($19)) + 8|0);
+ HEAP32[$20>>2] = $18;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set($w,$u) {
+ $w = $w|0;
+ $u = $u|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $_i = 0, $up = 0, $usign = 0, $usize = 0, $wp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $w;
+ $2 = $u;
+ $3 = $2;
+ $4 = ((($3)) + 4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $usize = $5;
+ $6 = $2;
+ $7 = ((($6)) + 8|0);
+ $8 = HEAP32[$7>>2]|0;
+ $usign = $8;
+ $9 = $1;
+ $10 = ($9|0)!=(0|0);
+ if (!($10)) {
+ $11 = $2;
+ $12 = ((($11)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (__gcry_mpi_alloc($13)|0);
+ $1 = $14;
+ }
+ $15 = $1;
+ $16 = ($15|0)!=(0|0);
+ if ($16) {
+ $17 = $1;
+ $18 = ((($17)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $19 & 16;
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ __gcry_mpi_immutable_failed();
+ $22 = $1;
+ $0 = $22;
+ $63 = $0;
+ STACKTOP = sp;return ($63|0);
+ }
+ }
+ $23 = $1;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $usize;
+ $26 = ($24|0)<($25|0);
+ if ($26) {
+ $27 = $1;
+ $28 = $usize;
+ __gcry_mpi_resize($27,$28);
+ }
+ $29 = $1;
+ $30 = ((($29)) + 16|0);
+ $31 = HEAP32[$30>>2]|0;
+ $wp = $31;
+ $32 = $2;
+ $33 = ((($32)) + 16|0);
+ $34 = HEAP32[$33>>2]|0;
+ $up = $34;
+ $_i = 0;
+ while(1) {
+ $35 = $_i;
+ $36 = $usize;
+ $37 = ($35|0)<($36|0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $_i;
+ $39 = $up;
+ $40 = (($39) + ($38<<2)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $_i;
+ $43 = $wp;
+ $44 = (($43) + ($42<<2)|0);
+ HEAP32[$44>>2] = $41;
+ $45 = $_i;
+ $46 = (($45) + 1)|0;
+ $_i = $46;
+ }
+ $47 = $usize;
+ $48 = $1;
+ $49 = ((($48)) + 4|0);
+ HEAP32[$49>>2] = $47;
+ $50 = $2;
+ $51 = ((($50)) + 12|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $1;
+ $54 = ((($53)) + 12|0);
+ HEAP32[$54>>2] = $52;
+ $55 = $1;
+ $56 = ((($55)) + 12|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $57 & -49;
+ HEAP32[$56>>2] = $58;
+ $59 = $usign;
+ $60 = $1;
+ $61 = ((($60)) + 8|0);
+ HEAP32[$61>>2] = $59;
+ $62 = $1;
+ $0 = $62;
+ $63 = $0;
+ STACKTOP = sp;return ($63|0);
+}
+function __gcry_mpi_alloc_like($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $b = 0, $n = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ $3 = $0;
+ $4 = ((($3)) + 12|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 4;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $0;
+ $9 = ((($8)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($10) + 7)|0;
+ $12 = (($11|0) / 8)&-1;
+ $n = $12;
+ $13 = $0;
+ $14 = ((($13)) + 16|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (__gcry_is_secure($15)|0);
+ $17 = ($16|0)!=(0);
+ $18 = $n;
+ if ($17) {
+ $19 = (__gcry_malloc_secure($18)|0);
+ $21 = $19;
+ } else {
+ $20 = (__gcry_malloc($18)|0);
+ $21 = $20;
+ }
+ $p = $21;
+ $22 = $p;
+ $23 = $0;
+ $24 = ((($23)) + 16|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $n;
+ _memcpy(($22|0),($25|0),($26|0))|0;
+ $27 = $p;
+ $28 = $0;
+ $29 = ((($28)) + 8|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (__gcry_mpi_set_opaque(0,$27,$30)|0);
+ $b = $31;
+ $59 = $b;
+ STACKTOP = sp;return ($59|0);
+ }
+ }
+ $32 = $0;
+ $33 = ($32|0)!=(0|0);
+ if (!($33)) {
+ $b = 0;
+ $59 = $b;
+ STACKTOP = sp;return ($59|0);
+ }
+ $34 = $0;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $36 = $0;
+ $37 = ((($36)) + 12|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $38 & 1;
+ $40 = ($39|0)!=(0);
+ if ($40) {
+ $41 = $0;
+ $42 = ((($41)) + 4|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (__gcry_mpi_alloc_secure($43)|0);
+ $49 = $44;
+ } else {
+ label = 11;
+ }
+ } else {
+ label = 11;
+ }
+ if ((label|0) == 11) {
+ $45 = $0;
+ $46 = ((($45)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (__gcry_mpi_alloc($47)|0);
+ $49 = $48;
+ }
+ $b = $49;
+ $50 = $b;
+ $51 = ((($50)) + 4|0);
+ HEAP32[$51>>2] = 0;
+ $52 = $b;
+ $53 = ((($52)) + 8|0);
+ HEAP32[$53>>2] = 0;
+ $54 = $0;
+ $55 = ((($54)) + 12|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $b;
+ $58 = ((($57)) + 12|0);
+ HEAP32[$58>>2] = $56;
+ $59 = $b;
+ STACKTOP = sp;return ($59|0);
+}
+function __gcry_mpi_snatch($w,$u) {
+ $w = $w|0;
+ $u = $u|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $u;
+ $2 = $0;
+ $3 = ($2|0)!=(0|0);
+ if ($3) {
+ $4 = $0;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $0;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 16;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $11 = $0;
+ $12 = $1;
+ $13 = ((($12)) + 16|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = HEAP32[$15>>2]|0;
+ __gcry_mpi_assign_limb_space($11,$14,$16);
+ $17 = $1;
+ $18 = ((($17)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $0;
+ $21 = ((($20)) + 4|0);
+ HEAP32[$21>>2] = $19;
+ $22 = $1;
+ $23 = ((($22)) + 8|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = $0;
+ $26 = ((($25)) + 8|0);
+ HEAP32[$26>>2] = $24;
+ $27 = $1;
+ $28 = ((($27)) + 12|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $0;
+ $31 = ((($30)) + 12|0);
+ HEAP32[$31>>2] = $29;
+ $32 = $1;
+ HEAP32[$32>>2] = 0;
+ $33 = $1;
+ $34 = ((($33)) + 4|0);
+ HEAP32[$34>>2] = 0;
+ $35 = $1;
+ $36 = ((($35)) + 16|0);
+ HEAP32[$36>>2] = 0;
+ }
+ $37 = $1;
+ __gcry_mpi_free($37);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_set_cond($w,$u,$set) {
+ $w = $w|0;
+ $u = $u|0;
+ $set = $set|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $9 = 0, $i = 0, $mask = 0, $nlimbs = 0, $vararg_buffer = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $w;
+ $1 = $u;
+ $2 = $set;
+ $3 = $1;
+ $4 = HEAP32[$3>>2]|0;
+ $nlimbs = $4;
+ $5 = $2;
+ $6 = ($5|0)!=(0);
+ $7 = $6 ^ 1;
+ $8 = $7 ^ 1;
+ $9 = $8&1;
+ $10 = (0 - ($9))|0;
+ $mask = $10;
+ $11 = $0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $1;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($12|0)!=($14|0);
+ if ($15) {
+ __gcry_log_bug(46460,$vararg_buffer);
+ // unreachable;
+ }
+ $i = 0;
+ while(1) {
+ $16 = $i;
+ $17 = $nlimbs;
+ $18 = ($16|0)<($17|0);
+ $19 = $mask;
+ if (!($18)) {
+ break;
+ }
+ $20 = $i;
+ $21 = $0;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($23) + ($20<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $i;
+ $27 = $1;
+ $28 = ((($27)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($29) + ($26<<2)|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $25 ^ $31;
+ $33 = $19 & $32;
+ $x = $33;
+ $34 = $i;
+ $35 = $0;
+ $36 = ((($35)) + 16|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($37) + ($34<<2)|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $x;
+ $41 = $39 ^ $40;
+ $42 = $i;
+ $43 = $0;
+ $44 = ((($43)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($45) + ($42<<2)|0);
+ HEAP32[$46>>2] = $41;
+ $47 = $i;
+ $48 = (($47) + 1)|0;
+ $i = $48;
+ }
+ $49 = $0;
+ $50 = ((($49)) + 4|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $1;
+ $53 = ((($52)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $51 ^ $54;
+ $56 = $19 & $55;
+ $x = $56;
+ $57 = $0;
+ $58 = ((($57)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $x;
+ $61 = $59 ^ $60;
+ $62 = $0;
+ $63 = ((($62)) + 4|0);
+ HEAP32[$63>>2] = $61;
+ $64 = $mask;
+ $65 = $0;
+ $66 = ((($65)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = $1;
+ $69 = ((($68)) + 8|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $67 ^ $70;
+ $72 = $64 & $71;
+ $x = $72;
+ $73 = $0;
+ $74 = ((($73)) + 8|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $x;
+ $77 = $75 ^ $76;
+ $78 = $0;
+ $79 = ((($78)) + 8|0);
+ HEAP32[$79>>2] = $77;
+ $80 = $0;
+ STACKTOP = sp;return ($80|0);
+}
+function __gcry_mpi_set_ui($w,$u) {
+ $w = $w|0;
+ $u = $u|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $w;
+ $2 = $u;
+ $3 = $1;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $5 = (__gcry_mpi_alloc(1)|0);
+ $1 = $5;
+ }
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $1;
+ $9 = ((($8)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 16;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ __gcry_mpi_immutable_failed();
+ $13 = $1;
+ $0 = $13;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+ }
+ }
+ $14 = $1;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)<(1);
+ if ($16) {
+ $17 = $1;
+ __gcry_mpi_resize($17,1);
+ }
+ $18 = $2;
+ $19 = $1;
+ $20 = ((($19)) + 16|0);
+ $21 = HEAP32[$20>>2]|0;
+ HEAP32[$21>>2] = $18;
+ $22 = $2;
+ $23 = ($22|0)!=(0);
+ $24 = $23 ? 1 : 0;
+ $25 = $1;
+ $26 = ((($25)) + 4|0);
+ HEAP32[$26>>2] = $24;
+ $27 = $1;
+ $28 = ((($27)) + 8|0);
+ HEAP32[$28>>2] = 0;
+ $29 = $1;
+ $30 = ((($29)) + 12|0);
+ HEAP32[$30>>2] = 0;
+ $31 = $1;
+ $0 = $31;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+}
+function __gcry_mpi_swap($a,$b) {
+ $a = $a|0;
+ $b = $b|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp;
+ $0 = $a;
+ $1 = $b;
+ $2 = $0;
+ ;HEAP32[$tmp>>2]=HEAP32[$2>>2]|0;HEAP32[$tmp+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$tmp+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$tmp+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$tmp+16>>2]=HEAP32[$2+16>>2]|0;
+ $3 = $0;
+ $4 = $1;
+ ;HEAP32[$3>>2]=HEAP32[$4>>2]|0;HEAP32[$3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$3+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$3+16>>2]=HEAP32[$4+16>>2]|0;
+ $5 = $1;
+ ;HEAP32[$5>>2]=HEAP32[$tmp>>2]|0;HEAP32[$5+4>>2]=HEAP32[$tmp+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$tmp+8>>2]|0;HEAP32[$5+12>>2]=HEAP32[$tmp+12>>2]|0;HEAP32[$5+16>>2]=HEAP32[$tmp+16>>2]|0;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_swap_cond($a,$b,$swap) {
+ $a = $a|0;
+ $b = $b|0;
+ $swap = $swap|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $mask = 0, $nlimbs = 0, $vararg_buffer = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $a;
+ $1 = $b;
+ $2 = $swap;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $nlimbs = $4;
+ $5 = $2;
+ $6 = ($5|0)!=(0);
+ $7 = $6 ^ 1;
+ $8 = $7 ^ 1;
+ $9 = $8&1;
+ $10 = (0 - ($9))|0;
+ $mask = $10;
+ $11 = $0;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $1;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($12|0)!=($14|0);
+ if ($15) {
+ __gcry_log_bug(46491,$vararg_buffer);
+ // unreachable;
+ }
+ $i = 0;
+ while(1) {
+ $16 = $i;
+ $17 = $nlimbs;
+ $18 = ($16|0)<($17|0);
+ $19 = $mask;
+ if (!($18)) {
+ break;
+ }
+ $20 = $i;
+ $21 = $0;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($23) + ($20<<2)|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $i;
+ $27 = $1;
+ $28 = ((($27)) + 16|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (($29) + ($26<<2)|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $25 ^ $31;
+ $33 = $19 & $32;
+ $x = $33;
+ $34 = $i;
+ $35 = $0;
+ $36 = ((($35)) + 16|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (($37) + ($34<<2)|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $x;
+ $41 = $39 ^ $40;
+ $42 = $i;
+ $43 = $0;
+ $44 = ((($43)) + 16|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($45) + ($42<<2)|0);
+ HEAP32[$46>>2] = $41;
+ $47 = $i;
+ $48 = $1;
+ $49 = ((($48)) + 16|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($50) + ($47<<2)|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $x;
+ $54 = $52 ^ $53;
+ $55 = $i;
+ $56 = $1;
+ $57 = ((($56)) + 16|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($58) + ($55<<2)|0);
+ HEAP32[$59>>2] = $54;
+ $60 = $i;
+ $61 = (($60) + 1)|0;
+ $i = $61;
+ }
+ $62 = $0;
+ $63 = ((($62)) + 4|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = $1;
+ $66 = ((($65)) + 4|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = $64 ^ $67;
+ $69 = $19 & $68;
+ $x = $69;
+ $70 = $0;
+ $71 = ((($70)) + 4|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $x;
+ $74 = $72 ^ $73;
+ $75 = $0;
+ $76 = ((($75)) + 4|0);
+ HEAP32[$76>>2] = $74;
+ $77 = $1;
+ $78 = ((($77)) + 4|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $x;
+ $81 = $79 ^ $80;
+ $82 = $1;
+ $83 = ((($82)) + 4|0);
+ HEAP32[$83>>2] = $81;
+ $84 = $mask;
+ $85 = $0;
+ $86 = ((($85)) + 8|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = $1;
+ $89 = ((($88)) + 8|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = $87 ^ $90;
+ $92 = $84 & $91;
+ $x = $92;
+ $93 = $0;
+ $94 = ((($93)) + 8|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = $x;
+ $97 = $95 ^ $96;
+ $98 = $0;
+ $99 = ((($98)) + 8|0);
+ HEAP32[$99>>2] = $97;
+ $100 = $1;
+ $101 = ((($100)) + 8|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = $x;
+ $104 = $102 ^ $103;
+ $105 = $1;
+ $106 = ((($105)) + 8|0);
+ HEAP32[$106>>2] = $104;
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_new($nbits) {
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = $0;
+ $2 = (($1) + 32)|0;
+ $3 = (($2) - 1)|0;
+ $4 = (($3>>>0) / 32)&-1;
+ $5 = (__gcry_mpi_alloc($4)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_mpi_snew($nbits) {
+ $nbits = $nbits|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $nbits;
+ $1 = $0;
+ $2 = (($1) + 32)|0;
+ $3 = (($2) - 1)|0;
+ $4 = (($3>>>0) / 32)&-1;
+ $5 = (__gcry_mpi_alloc_secure($4)|0);
+ STACKTOP = sp;return ($5|0);
+}
+function __gcry_mpi_release($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ __gcry_mpi_free($1);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_randomize($w,$nbits,$level) {
+ $w = $w|0;
+ $nbits = $nbits|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nbytes = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $w;
+ $1 = $nbits;
+ $2 = $level;
+ $3 = $1;
+ $4 = (($3) + 7)|0;
+ $5 = (($4>>>0) / 8)&-1;
+ $nbytes = $5;
+ $6 = $0;
+ $7 = ($6|0)!=(0|0);
+ if ($7) {
+ $8 = $0;
+ $9 = ((($8)) + 12|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $10 & 16;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ __gcry_mpi_immutable_failed();
+ STACKTOP = sp;return;
+ }
+ }
+ $13 = $2;
+ $14 = ($13|0)==(0);
+ $15 = $0;
+ $16 = ($15|0)!=(0|0);
+ if ($14) {
+ if ($16) {
+ $17 = $0;
+ $18 = ((($17)) + 12|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $19 & 1;
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ $22 = $nbytes;
+ $23 = (__gcry_xmalloc_secure($22)|0);
+ $26 = $23;
+ } else {
+ label = 8;
+ }
+ } else {
+ label = 8;
+ }
+ if ((label|0) == 8) {
+ $24 = $nbytes;
+ $25 = (__gcry_xmalloc($24)|0);
+ $26 = $25;
+ }
+ $p = $26;
+ $27 = $p;
+ $28 = $nbytes;
+ __gcry_create_nonce($27,$28);
+ } else {
+ if ($16) {
+ $29 = $0;
+ $30 = ((($29)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 & 1;
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $34 = $nbytes;
+ $35 = $2;
+ $36 = (__gcry_random_bytes_secure($34,$35)|0);
+ $40 = $36;
+ } else {
+ label = 13;
+ }
+ } else {
+ label = 13;
+ }
+ if ((label|0) == 13) {
+ $37 = $nbytes;
+ $38 = $2;
+ $39 = (__gcry_random_bytes($37,$38)|0);
+ $40 = $39;
+ }
+ $p = $40;
+ }
+ $41 = $0;
+ $42 = $p;
+ $43 = $nbytes;
+ __gcry_mpi_set_buffer($41,$42,$43,0);
+ $44 = $p;
+ __gcry_free($44);
+ STACKTOP = sp;return;
+}
+function __gcry_mpi_get_flag($a,$flag) {
+ $a = $a|0;
+ $flag = $flag|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $1 = $a;
+ $2 = $flag;
+ $3 = $2;
+ switch ($3|0) {
+ case 1: {
+ $4 = $1;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = $6 & 1;
+ $8 = ($7|0)!=(0);
+ $9 = $8 ^ 1;
+ $10 = $9 ^ 1;
+ $11 = $10&1;
+ $0 = $11;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ break;
+ }
+ case 2: {
+ $12 = $1;
+ $13 = ((($12)) + 12|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $14 & 4;
+ $16 = ($15|0)!=(0);
+ $17 = $16 ^ 1;
+ $18 = $17 ^ 1;
+ $19 = $18&1;
+ $0 = $19;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ break;
+ }
+ case 4: {
+ $20 = $1;
+ $21 = ((($20)) + 12|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $22 & 16;
+ $24 = ($23|0)!=(0);
+ $25 = $24 ^ 1;
+ $26 = $25 ^ 1;
+ $27 = $26&1;
+ $0 = $27;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ break;
+ }
+ case 8: {
+ $28 = $1;
+ $29 = ((($28)) + 12|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $30 & 32;
+ $32 = ($31|0)!=(0);
+ $33 = $32 ^ 1;
+ $34 = $33 ^ 1;
+ $35 = $34&1;
+ $0 = $35;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ break;
+ }
+ case 2048: case 1024: case 512: case 256: {
+ $36 = $1;
+ $37 = ((($36)) + 12|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $2;
+ $40 = $38 & $39;
+ $41 = ($40|0)!=(0);
+ $42 = $41 ^ 1;
+ $43 = $42 ^ 1;
+ $44 = $43&1;
+ $0 = $44;
+ $45 = $0;
+ STACKTOP = sp;return ($45|0);
+ break;
+ }
+ default: {
+ __gcry_log_bug(46523,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ return (0)|0;
+}
+function __gcry_mpi_const($no) {
+ $no = $no|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $no;
+ $1 = $0;
+ $2 = ($1|0)<(0);
+ $3 = $0;
+ $4 = ($3>>>0)>(6);
+ $or$cond = $2 | $4;
+ $5 = $0;
+ if ($or$cond) {
+ HEAP32[$vararg_buffer>>2] = $5;
+ __gcry_log_bug(46323,$vararg_buffer);
+ // unreachable;
+ }
+ $6 = (70876 + ($5<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(0|0);
+ if ($8) {
+ $9 = $0;
+ $10 = (70876 + ($9<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ STACKTOP = sp;return ($11|0);
+ } else {
+ __gcry_log_bug(46543,$vararg_buffer2);
+ // unreachable;
+ }
+ return (0)|0;
+}
+function __gcry_compat_identification() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (46574|0);
+}
+function __gcry_hmac256_new($key,$keylen) {
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $_vlen = 0, $_vptr = 0, $hd = 0, $i = 0, $ipad = 0, $tmphd = 0, dest = 0;
+ var label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ipad = sp + 32|0;
+ $1 = $key;
+ $2 = $keylen;
+ $3 = (_malloc(172)|0);
+ $hd = $3;
+ $4 = $hd;
+ $5 = ($4|0)!=(0|0);
+ if (!($5)) {
+ $0 = 0;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $6 = $hd;
+ HEAP32[$6>>2] = 1779033703;
+ $7 = $hd;
+ $8 = ((($7)) + 4|0);
+ HEAP32[$8>>2] = -1150833019;
+ $9 = $hd;
+ $10 = ((($9)) + 8|0);
+ HEAP32[$10>>2] = 1013904242;
+ $11 = $hd;
+ $12 = ((($11)) + 12|0);
+ HEAP32[$12>>2] = -1521486534;
+ $13 = $hd;
+ $14 = ((($13)) + 16|0);
+ HEAP32[$14>>2] = 1359893119;
+ $15 = $hd;
+ $16 = ((($15)) + 20|0);
+ HEAP32[$16>>2] = -1694144372;
+ $17 = $hd;
+ $18 = ((($17)) + 24|0);
+ HEAP32[$18>>2] = 528734635;
+ $19 = $hd;
+ $20 = ((($19)) + 28|0);
+ HEAP32[$20>>2] = 1541459225;
+ $21 = $hd;
+ $22 = ((($21)) + 32|0);
+ HEAP32[$22>>2] = 0;
+ $23 = $hd;
+ $24 = ((($23)) + 36|0);
+ HEAP32[$24>>2] = 0;
+ $25 = $hd;
+ $26 = ((($25)) + 40|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = $27 & -2;
+ HEAP8[$26>>0] = $28;
+ $29 = $hd;
+ $30 = ((($29)) + 40|0);
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31 & -3;
+ HEAP8[$30>>0] = $32;
+ $33 = $1;
+ $34 = ($33|0)!=(0|0);
+ L5: do {
+ if ($34) {
+ dest=$ipad; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $35 = $hd;
+ $36 = ((($35)) + 105|0);
+ dest=$36; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $37 = $2;
+ $38 = ($37>>>0)<=(64);
+ do {
+ if ($38) {
+ $39 = $1;
+ $40 = $2;
+ _memcpy(($ipad|0),($39|0),($40|0))|0;
+ $41 = $hd;
+ $42 = ((($41)) + 105|0);
+ $43 = $1;
+ $44 = $2;
+ _memcpy(($42|0),($43|0),($44|0))|0;
+ } else {
+ $45 = (__gcry_hmac256_new(0,0)|0);
+ $tmphd = $45;
+ $46 = $tmphd;
+ $47 = ($46|0)!=(0|0);
+ if ($47) {
+ $49 = $tmphd;
+ $50 = $1;
+ $51 = $2;
+ __gcry_hmac256_update($49,$50,$51);
+ $52 = $tmphd;
+ _finalize($52);
+ $53 = $tmphd;
+ $54 = ((($53)) + 41|0);
+ dest=$ipad; src=$54; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $55 = $hd;
+ $56 = ((($55)) + 105|0);
+ $57 = $tmphd;
+ $58 = ((($57)) + 41|0);
+ dest=$56; src=$58; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $59 = $tmphd;
+ __gcry_hmac256_release($59);
+ break;
+ }
+ $48 = $hd;
+ _free($48);
+ $0 = 0;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ } while(0);
+ $i = 0;
+ while(1) {
+ $60 = $i;
+ $61 = ($60|0)<(64);
+ if (!($61)) {
+ break;
+ }
+ $62 = $i;
+ $63 = (($ipad) + ($62)|0);
+ $64 = HEAP8[$63>>0]|0;
+ $65 = $64&255;
+ $66 = $65 ^ 54;
+ $67 = $66&255;
+ HEAP8[$63>>0] = $67;
+ $68 = $i;
+ $69 = $hd;
+ $70 = ((($69)) + 105|0);
+ $71 = (($70) + ($68)|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = $72&255;
+ $74 = $73 ^ 92;
+ $75 = $74&255;
+ HEAP8[$71>>0] = $75;
+ $76 = $i;
+ $77 = (($76) + 1)|0;
+ $i = $77;
+ }
+ $78 = $hd;
+ $79 = ((($78)) + 40|0);
+ $80 = HEAP8[$79>>0]|0;
+ $81 = $80 & -3;
+ $82 = $81 | 2;
+ HEAP8[$79>>0] = $82;
+ $83 = $hd;
+ __gcry_hmac256_update($83,$ipad,64);
+ $_vptr = $ipad;
+ $_vlen = 64;
+ while(1) {
+ $84 = $_vlen;
+ $85 = ($84|0)!=(0);
+ if (!($85)) {
+ break L5;
+ }
+ $86 = $_vptr;
+ HEAP8[$86>>0] = 0;
+ $87 = $_vptr;
+ $88 = ((($87)) + 1|0);
+ $_vptr = $88;
+ $89 = $_vlen;
+ $90 = (($89) + -1)|0;
+ $_vlen = $90;
+ }
+ }
+ } while(0);
+ $91 = $hd;
+ $0 = $91;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+}
+function __gcry_hmac256_update($hd,$buffer,$length) {
+ $hd = $hd|0;
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $9 = 0, $inbuf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $buffer;
+ $2 = $length;
+ $3 = $1;
+ $inbuf = $3;
+ $4 = $0;
+ $5 = ((($4)) + 40|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = ($6 << 7)&255;
+ $8 = ($7<<24>>24) >> 7;
+ $9 = $8 << 24 >> 24;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ STACKTOP = sp;return;
+ }
+ $11 = $0;
+ $12 = ((($11)) + 36|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==(64);
+ if ($14) {
+ $15 = $0;
+ $16 = $0;
+ $17 = ((($16)) + 41|0);
+ _transform_1792($15,$17);
+ $18 = $0;
+ $19 = ((($18)) + 36|0);
+ HEAP32[$19>>2] = 0;
+ $20 = $0;
+ $21 = ((($20)) + 32|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($22) + 1)|0;
+ HEAP32[$21>>2] = $23;
+ }
+ $24 = $inbuf;
+ $25 = ($24|0)!=(0|0);
+ if (!($25)) {
+ STACKTOP = sp;return;
+ }
+ $26 = $0;
+ $27 = ((($26)) + 36|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)!=(0);
+ if ($29) {
+ while(1) {
+ $30 = $2;
+ $31 = ($30|0)!=(0);
+ if (!($31)) {
+ break;
+ }
+ $32 = $0;
+ $33 = ((($32)) + 36|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = ($34|0)<(64);
+ if (!($35)) {
+ break;
+ }
+ $36 = $inbuf;
+ $37 = ((($36)) + 1|0);
+ $inbuf = $37;
+ $38 = HEAP8[$36>>0]|0;
+ $39 = $0;
+ $40 = ((($39)) + 36|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($41) + 1)|0;
+ HEAP32[$40>>2] = $42;
+ $43 = $0;
+ $44 = ((($43)) + 41|0);
+ $45 = (($44) + ($41)|0);
+ HEAP8[$45>>0] = $38;
+ $46 = $2;
+ $47 = (($46) + -1)|0;
+ $2 = $47;
+ }
+ $48 = $0;
+ __gcry_hmac256_update($48,0,0);
+ $49 = $2;
+ $50 = ($49|0)!=(0);
+ if (!($50)) {
+ STACKTOP = sp;return;
+ }
+ }
+ while(1) {
+ $51 = $2;
+ $52 = ($51>>>0)>=(64);
+ if (!($52)) {
+ break;
+ }
+ $53 = $0;
+ $54 = $inbuf;
+ _transform_1792($53,$54);
+ $55 = $0;
+ $56 = ((($55)) + 36|0);
+ HEAP32[$56>>2] = 0;
+ $57 = $0;
+ $58 = ((($57)) + 32|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (($59) + 1)|0;
+ HEAP32[$58>>2] = $60;
+ $61 = $2;
+ $62 = (($61) - 64)|0;
+ $2 = $62;
+ $63 = $inbuf;
+ $64 = ((($63)) + 64|0);
+ $inbuf = $64;
+ }
+ while(1) {
+ $65 = $2;
+ $66 = ($65|0)!=(0);
+ if (!($66)) {
+ label = 15;
+ break;
+ }
+ $67 = $0;
+ $68 = ((($67)) + 36|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = ($69|0)<(64);
+ if (!($70)) {
+ label = 15;
+ break;
+ }
+ $71 = $inbuf;
+ $72 = ((($71)) + 1|0);
+ $inbuf = $72;
+ $73 = HEAP8[$71>>0]|0;
+ $74 = $0;
+ $75 = ((($74)) + 36|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = (($76) + 1)|0;
+ HEAP32[$75>>2] = $77;
+ $78 = $0;
+ $79 = ((($78)) + 41|0);
+ $80 = (($79) + ($76)|0);
+ HEAP8[$80>>0] = $73;
+ $81 = $2;
+ $82 = (($81) + -1)|0;
+ $2 = $82;
+ }
+ if ((label|0) == 15) {
+ STACKTOP = sp;return;
+ }
+}
+function _transform_1792($hd,$data_arg) {
+ $hd = $hd|0;
+ $data_arg = $data_arg|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $b = 0, $c = 0, $d = 0, $data = 0, $e = 0, $f = 0, $g = 0, $h = 0, $i = 0;
+ var $p2 = 0, $t1 = 0, $t2 = 0, $w = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 384|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $x = sp + 264|0;
+ $w = sp + 8|0;
+ $0 = $hd;
+ $1 = $data_arg;
+ $2 = $1;
+ $data = $2;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $a = $4;
+ $5 = $0;
+ $6 = ((($5)) + 4|0);
+ $7 = HEAP32[$6>>2]|0;
+ $b = $7;
+ $8 = $0;
+ $9 = ((($8)) + 8|0);
+ $10 = HEAP32[$9>>2]|0;
+ $c = $10;
+ $11 = $0;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $d = $13;
+ $14 = $0;
+ $15 = ((($14)) + 16|0);
+ $16 = HEAP32[$15>>2]|0;
+ $e = $16;
+ $17 = $0;
+ $18 = ((($17)) + 20|0);
+ $19 = HEAP32[$18>>2]|0;
+ $f = $19;
+ $20 = $0;
+ $21 = ((($20)) + 24|0);
+ $22 = HEAP32[$21>>2]|0;
+ $g = $22;
+ $23 = $0;
+ $24 = ((($23)) + 28|0);
+ $25 = HEAP32[$24>>2]|0;
+ $h = $25;
+ $i = 0;
+ $p2 = $x;
+ while(1) {
+ $26 = $i;
+ $27 = ($26|0)<(16);
+ if (!($27)) {
+ break;
+ }
+ $28 = $data;
+ $29 = ((($28)) + 1|0);
+ $data = $29;
+ $30 = HEAP8[$28>>0]|0;
+ $31 = $p2;
+ $32 = ((($31)) + 3|0);
+ HEAP8[$32>>0] = $30;
+ $33 = $data;
+ $34 = ((($33)) + 1|0);
+ $data = $34;
+ $35 = HEAP8[$33>>0]|0;
+ $36 = $p2;
+ $37 = ((($36)) + 2|0);
+ HEAP8[$37>>0] = $35;
+ $38 = $data;
+ $39 = ((($38)) + 1|0);
+ $data = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $p2;
+ $42 = ((($41)) + 1|0);
+ HEAP8[$42>>0] = $40;
+ $43 = $data;
+ $44 = ((($43)) + 1|0);
+ $data = $44;
+ $45 = HEAP8[$43>>0]|0;
+ $46 = $p2;
+ HEAP8[$46>>0] = $45;
+ $47 = $i;
+ $48 = (($47) + 1)|0;
+ $i = $48;
+ $49 = $p2;
+ $50 = ((($49)) + 4|0);
+ $p2 = $50;
+ }
+ $i = 0;
+ while(1) {
+ $51 = $i;
+ $52 = ($51|0)<(16);
+ if (!($52)) {
+ break;
+ }
+ $53 = $i;
+ $54 = (($x) + ($53<<2)|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = $i;
+ $57 = (($w) + ($56<<2)|0);
+ HEAP32[$57>>2] = $55;
+ $58 = $i;
+ $59 = (($58) + 1)|0;
+ $i = $59;
+ }
+ while(1) {
+ $60 = $i;
+ $61 = ($60|0)<(64);
+ if (!($61)) {
+ break;
+ }
+ $62 = $i;
+ $63 = (($62) - 2)|0;
+ $64 = (($w) + ($63<<2)|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = (_ror_1793($65,17)|0);
+ $67 = $i;
+ $68 = (($67) - 2)|0;
+ $69 = (($w) + ($68<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (_ror_1793($70,19)|0);
+ $72 = $66 ^ $71;
+ $73 = $i;
+ $74 = (($73) - 2)|0;
+ $75 = (($w) + ($74<<2)|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $76 >>> 10;
+ $78 = $72 ^ $77;
+ $79 = $i;
+ $80 = (($79) - 7)|0;
+ $81 = (($w) + ($80<<2)|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = (($78) + ($82))|0;
+ $84 = $i;
+ $85 = (($84) - 15)|0;
+ $86 = (($w) + ($85<<2)|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = (_ror_1793($87,7)|0);
+ $89 = $i;
+ $90 = (($89) - 15)|0;
+ $91 = (($w) + ($90<<2)|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = (_ror_1793($92,18)|0);
+ $94 = $88 ^ $93;
+ $95 = $i;
+ $96 = (($95) - 15)|0;
+ $97 = (($w) + ($96<<2)|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = $98 >>> 3;
+ $100 = $94 ^ $99;
+ $101 = (($83) + ($100))|0;
+ $102 = $i;
+ $103 = (($102) - 16)|0;
+ $104 = (($w) + ($103<<2)|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($101) + ($105))|0;
+ $107 = $i;
+ $108 = (($w) + ($107<<2)|0);
+ HEAP32[$108>>2] = $106;
+ $109 = $i;
+ $110 = (($109) + 1)|0;
+ $i = $110;
+ }
+ $i = 0;
+ while(1) {
+ $111 = $i;
+ $112 = ($111|0)<(64);
+ if (!($112)) {
+ break;
+ }
+ $113 = $h;
+ $114 = $e;
+ $115 = (_ror_1793($114,6)|0);
+ $116 = $e;
+ $117 = (_ror_1793($116,11)|0);
+ $118 = $115 ^ $117;
+ $119 = $e;
+ $120 = (_ror_1793($119,25)|0);
+ $121 = $118 ^ $120;
+ $122 = (($113) + ($121))|0;
+ $123 = $g;
+ $124 = $e;
+ $125 = $f;
+ $126 = $g;
+ $127 = $125 ^ $126;
+ $128 = $124 & $127;
+ $129 = $123 ^ $128;
+ $130 = (($122) + ($129))|0;
+ $131 = $i;
+ $132 = (12580 + ($131<<2)|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = (($130) + ($133))|0;
+ $135 = $i;
+ $136 = (($w) + ($135<<2)|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = (($134) + ($137))|0;
+ $t1 = $138;
+ $139 = $a;
+ $140 = (_ror_1793($139,2)|0);
+ $141 = $a;
+ $142 = (_ror_1793($141,13)|0);
+ $143 = $140 ^ $142;
+ $144 = $a;
+ $145 = (_ror_1793($144,22)|0);
+ $146 = $143 ^ $145;
+ $147 = $a;
+ $148 = $b;
+ $149 = $147 & $148;
+ $150 = $c;
+ $151 = $a;
+ $152 = $b;
+ $153 = $151 | $152;
+ $154 = $150 & $153;
+ $155 = $149 | $154;
+ $156 = (($146) + ($155))|0;
+ $t2 = $156;
+ $157 = $g;
+ $h = $157;
+ $158 = $f;
+ $g = $158;
+ $159 = $e;
+ $f = $159;
+ $160 = $d;
+ $161 = $t1;
+ $162 = (($160) + ($161))|0;
+ $e = $162;
+ $163 = $c;
+ $d = $163;
+ $164 = $b;
+ $c = $164;
+ $165 = $a;
+ $b = $165;
+ $166 = $t1;
+ $167 = $t2;
+ $168 = (($166) + ($167))|0;
+ $a = $168;
+ $169 = $i;
+ $170 = (($169) + 1)|0;
+ $i = $170;
+ }
+ $171 = $a;
+ $172 = $0;
+ $173 = HEAP32[$172>>2]|0;
+ $174 = (($173) + ($171))|0;
+ HEAP32[$172>>2] = $174;
+ $175 = $b;
+ $176 = $0;
+ $177 = ((($176)) + 4|0);
+ $178 = HEAP32[$177>>2]|0;
+ $179 = (($178) + ($175))|0;
+ HEAP32[$177>>2] = $179;
+ $180 = $c;
+ $181 = $0;
+ $182 = ((($181)) + 8|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (($183) + ($180))|0;
+ HEAP32[$182>>2] = $184;
+ $185 = $d;
+ $186 = $0;
+ $187 = ((($186)) + 12|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = (($188) + ($185))|0;
+ HEAP32[$187>>2] = $189;
+ $190 = $e;
+ $191 = $0;
+ $192 = ((($191)) + 16|0);
+ $193 = HEAP32[$192>>2]|0;
+ $194 = (($193) + ($190))|0;
+ HEAP32[$192>>2] = $194;
+ $195 = $f;
+ $196 = $0;
+ $197 = ((($196)) + 20|0);
+ $198 = HEAP32[$197>>2]|0;
+ $199 = (($198) + ($195))|0;
+ HEAP32[$197>>2] = $199;
+ $200 = $g;
+ $201 = $0;
+ $202 = ((($201)) + 24|0);
+ $203 = HEAP32[$202>>2]|0;
+ $204 = (($203) + ($200))|0;
+ HEAP32[$202>>2] = $204;
+ $205 = $h;
+ $206 = $0;
+ $207 = ((($206)) + 28|0);
+ $208 = HEAP32[$207>>2]|0;
+ $209 = (($208) + ($205))|0;
+ HEAP32[$207>>2] = $209;
+ STACKTOP = sp;return;
+}
+function _ror_1793($x,$n) {
+ $x = $x|0;
+ $n = $n|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $n;
+ $2 = $0;
+ $3 = $1;
+ $4 = $2 >>> $3;
+ $5 = $0;
+ $6 = $1;
+ $7 = (32 - ($6))|0;
+ $8 = $5 << $7;
+ $9 = $4 | $8;
+ STACKTOP = sp;return ($9|0);
+}
+function _finalize($hd) {
+ $hd = $hd|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $lsb = 0, $msb = 0;
+ var $p = 0, $t = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $hd;
+ $1 = $0;
+ $2 = ((($1)) + 40|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = ($3 << 7)&255;
+ $5 = ($4<<24>>24) >> 7;
+ $6 = $5 << 24 >> 24;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ STACKTOP = sp;return;
+ }
+ $8 = $0;
+ __gcry_hmac256_update($8,0,0);
+ $9 = $0;
+ $10 = ((($9)) + 32|0);
+ $11 = HEAP32[$10>>2]|0;
+ $t = $11;
+ $12 = $t;
+ $13 = $12 << 6;
+ $lsb = $13;
+ $14 = $t;
+ $15 = $14 >>> 26;
+ $msb = $15;
+ $16 = $lsb;
+ $t = $16;
+ $17 = $0;
+ $18 = ((($17)) + 36|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $lsb;
+ $21 = (($20) + ($19))|0;
+ $lsb = $21;
+ $22 = $t;
+ $23 = ($21>>>0)<($22>>>0);
+ if ($23) {
+ $24 = $msb;
+ $25 = (($24) + 1)|0;
+ $msb = $25;
+ }
+ $26 = $lsb;
+ $t = $26;
+ $27 = $lsb;
+ $28 = $27 << 3;
+ $lsb = $28;
+ $29 = $msb;
+ $30 = $29 << 3;
+ $msb = $30;
+ $31 = $t;
+ $32 = $31 >>> 29;
+ $33 = $msb;
+ $34 = $33 | $32;
+ $msb = $34;
+ $35 = $0;
+ $36 = ((($35)) + 36|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($37|0)<(56);
+ $39 = $0;
+ $40 = ((($39)) + 36|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = (($41) + 1)|0;
+ HEAP32[$40>>2] = $42;
+ $43 = $0;
+ $44 = ((($43)) + 41|0);
+ $45 = (($44) + ($41)|0);
+ HEAP8[$45>>0] = -128;
+ L7: do {
+ if ($38) {
+ while(1) {
+ $46 = $0;
+ $47 = ((($46)) + 36|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($48|0)<(56);
+ if (!($49)) {
+ break L7;
+ }
+ $50 = $0;
+ $51 = ((($50)) + 36|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($52) + 1)|0;
+ HEAP32[$51>>2] = $53;
+ $54 = $0;
+ $55 = ((($54)) + 41|0);
+ $56 = (($55) + ($52)|0);
+ HEAP8[$56>>0] = 0;
+ }
+ } else {
+ while(1) {
+ $57 = $0;
+ $58 = ((($57)) + 36|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = ($59|0)<(64);
+ $61 = $0;
+ if (!($60)) {
+ break;
+ }
+ $62 = ((($61)) + 36|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (($63) + 1)|0;
+ HEAP32[$62>>2] = $64;
+ $65 = $0;
+ $66 = ((($65)) + 41|0);
+ $67 = (($66) + ($63)|0);
+ HEAP8[$67>>0] = 0;
+ }
+ __gcry_hmac256_update($61,0,0);
+ $68 = $0;
+ $69 = ((($68)) + 41|0);
+ dest=$69; stop=dest+56|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ }
+ } while(0);
+ $70 = $msb;
+ $71 = $70 >>> 24;
+ $72 = $71&255;
+ $73 = $0;
+ $74 = ((($73)) + 41|0);
+ $75 = ((($74)) + 56|0);
+ HEAP8[$75>>0] = $72;
+ $76 = $msb;
+ $77 = $76 >>> 16;
+ $78 = $77&255;
+ $79 = $0;
+ $80 = ((($79)) + 41|0);
+ $81 = ((($80)) + 57|0);
+ HEAP8[$81>>0] = $78;
+ $82 = $msb;
+ $83 = $82 >>> 8;
+ $84 = $83&255;
+ $85 = $0;
+ $86 = ((($85)) + 41|0);
+ $87 = ((($86)) + 58|0);
+ HEAP8[$87>>0] = $84;
+ $88 = $msb;
+ $89 = $88&255;
+ $90 = $0;
+ $91 = ((($90)) + 41|0);
+ $92 = ((($91)) + 59|0);
+ HEAP8[$92>>0] = $89;
+ $93 = $lsb;
+ $94 = $93 >>> 24;
+ $95 = $94&255;
+ $96 = $0;
+ $97 = ((($96)) + 41|0);
+ $98 = ((($97)) + 60|0);
+ HEAP8[$98>>0] = $95;
+ $99 = $lsb;
+ $100 = $99 >>> 16;
+ $101 = $100&255;
+ $102 = $0;
+ $103 = ((($102)) + 41|0);
+ $104 = ((($103)) + 61|0);
+ HEAP8[$104>>0] = $101;
+ $105 = $lsb;
+ $106 = $105 >>> 8;
+ $107 = $106&255;
+ $108 = $0;
+ $109 = ((($108)) + 41|0);
+ $110 = ((($109)) + 62|0);
+ HEAP8[$110>>0] = $107;
+ $111 = $lsb;
+ $112 = $111&255;
+ $113 = $0;
+ $114 = ((($113)) + 41|0);
+ $115 = ((($114)) + 63|0);
+ HEAP8[$115>>0] = $112;
+ $116 = $0;
+ $117 = $0;
+ $118 = ((($117)) + 41|0);
+ _transform_1792($116,$118);
+ $119 = $0;
+ $120 = ((($119)) + 41|0);
+ $p = $120;
+ $121 = $0;
+ $122 = HEAP32[$121>>2]|0;
+ $123 = $122 >>> 24;
+ $124 = $123&255;
+ $125 = $p;
+ $126 = ((($125)) + 1|0);
+ $p = $126;
+ HEAP8[$125>>0] = $124;
+ $127 = $0;
+ $128 = HEAP32[$127>>2]|0;
+ $129 = $128 >>> 16;
+ $130 = $129&255;
+ $131 = $p;
+ $132 = ((($131)) + 1|0);
+ $p = $132;
+ HEAP8[$131>>0] = $130;
+ $133 = $0;
+ $134 = HEAP32[$133>>2]|0;
+ $135 = $134 >>> 8;
+ $136 = $135&255;
+ $137 = $p;
+ $138 = ((($137)) + 1|0);
+ $p = $138;
+ HEAP8[$137>>0] = $136;
+ $139 = $0;
+ $140 = HEAP32[$139>>2]|0;
+ $141 = $140&255;
+ $142 = $p;
+ $143 = ((($142)) + 1|0);
+ $p = $143;
+ HEAP8[$142>>0] = $141;
+ $144 = $0;
+ $145 = ((($144)) + 4|0);
+ $146 = HEAP32[$145>>2]|0;
+ $147 = $146 >>> 24;
+ $148 = $147&255;
+ $149 = $p;
+ $150 = ((($149)) + 1|0);
+ $p = $150;
+ HEAP8[$149>>0] = $148;
+ $151 = $0;
+ $152 = ((($151)) + 4|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = $153 >>> 16;
+ $155 = $154&255;
+ $156 = $p;
+ $157 = ((($156)) + 1|0);
+ $p = $157;
+ HEAP8[$156>>0] = $155;
+ $158 = $0;
+ $159 = ((($158)) + 4|0);
+ $160 = HEAP32[$159>>2]|0;
+ $161 = $160 >>> 8;
+ $162 = $161&255;
+ $163 = $p;
+ $164 = ((($163)) + 1|0);
+ $p = $164;
+ HEAP8[$163>>0] = $162;
+ $165 = $0;
+ $166 = ((($165)) + 4|0);
+ $167 = HEAP32[$166>>2]|0;
+ $168 = $167&255;
+ $169 = $p;
+ $170 = ((($169)) + 1|0);
+ $p = $170;
+ HEAP8[$169>>0] = $168;
+ $171 = $0;
+ $172 = ((($171)) + 8|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = $173 >>> 24;
+ $175 = $174&255;
+ $176 = $p;
+ $177 = ((($176)) + 1|0);
+ $p = $177;
+ HEAP8[$176>>0] = $175;
+ $178 = $0;
+ $179 = ((($178)) + 8|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = $180 >>> 16;
+ $182 = $181&255;
+ $183 = $p;
+ $184 = ((($183)) + 1|0);
+ $p = $184;
+ HEAP8[$183>>0] = $182;
+ $185 = $0;
+ $186 = ((($185)) + 8|0);
+ $187 = HEAP32[$186>>2]|0;
+ $188 = $187 >>> 8;
+ $189 = $188&255;
+ $190 = $p;
+ $191 = ((($190)) + 1|0);
+ $p = $191;
+ HEAP8[$190>>0] = $189;
+ $192 = $0;
+ $193 = ((($192)) + 8|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = $194&255;
+ $196 = $p;
+ $197 = ((($196)) + 1|0);
+ $p = $197;
+ HEAP8[$196>>0] = $195;
+ $198 = $0;
+ $199 = ((($198)) + 12|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = $200 >>> 24;
+ $202 = $201&255;
+ $203 = $p;
+ $204 = ((($203)) + 1|0);
+ $p = $204;
+ HEAP8[$203>>0] = $202;
+ $205 = $0;
+ $206 = ((($205)) + 12|0);
+ $207 = HEAP32[$206>>2]|0;
+ $208 = $207 >>> 16;
+ $209 = $208&255;
+ $210 = $p;
+ $211 = ((($210)) + 1|0);
+ $p = $211;
+ HEAP8[$210>>0] = $209;
+ $212 = $0;
+ $213 = ((($212)) + 12|0);
+ $214 = HEAP32[$213>>2]|0;
+ $215 = $214 >>> 8;
+ $216 = $215&255;
+ $217 = $p;
+ $218 = ((($217)) + 1|0);
+ $p = $218;
+ HEAP8[$217>>0] = $216;
+ $219 = $0;
+ $220 = ((($219)) + 12|0);
+ $221 = HEAP32[$220>>2]|0;
+ $222 = $221&255;
+ $223 = $p;
+ $224 = ((($223)) + 1|0);
+ $p = $224;
+ HEAP8[$223>>0] = $222;
+ $225 = $0;
+ $226 = ((($225)) + 16|0);
+ $227 = HEAP32[$226>>2]|0;
+ $228 = $227 >>> 24;
+ $229 = $228&255;
+ $230 = $p;
+ $231 = ((($230)) + 1|0);
+ $p = $231;
+ HEAP8[$230>>0] = $229;
+ $232 = $0;
+ $233 = ((($232)) + 16|0);
+ $234 = HEAP32[$233>>2]|0;
+ $235 = $234 >>> 16;
+ $236 = $235&255;
+ $237 = $p;
+ $238 = ((($237)) + 1|0);
+ $p = $238;
+ HEAP8[$237>>0] = $236;
+ $239 = $0;
+ $240 = ((($239)) + 16|0);
+ $241 = HEAP32[$240>>2]|0;
+ $242 = $241 >>> 8;
+ $243 = $242&255;
+ $244 = $p;
+ $245 = ((($244)) + 1|0);
+ $p = $245;
+ HEAP8[$244>>0] = $243;
+ $246 = $0;
+ $247 = ((($246)) + 16|0);
+ $248 = HEAP32[$247>>2]|0;
+ $249 = $248&255;
+ $250 = $p;
+ $251 = ((($250)) + 1|0);
+ $p = $251;
+ HEAP8[$250>>0] = $249;
+ $252 = $0;
+ $253 = ((($252)) + 20|0);
+ $254 = HEAP32[$253>>2]|0;
+ $255 = $254 >>> 24;
+ $256 = $255&255;
+ $257 = $p;
+ $258 = ((($257)) + 1|0);
+ $p = $258;
+ HEAP8[$257>>0] = $256;
+ $259 = $0;
+ $260 = ((($259)) + 20|0);
+ $261 = HEAP32[$260>>2]|0;
+ $262 = $261 >>> 16;
+ $263 = $262&255;
+ $264 = $p;
+ $265 = ((($264)) + 1|0);
+ $p = $265;
+ HEAP8[$264>>0] = $263;
+ $266 = $0;
+ $267 = ((($266)) + 20|0);
+ $268 = HEAP32[$267>>2]|0;
+ $269 = $268 >>> 8;
+ $270 = $269&255;
+ $271 = $p;
+ $272 = ((($271)) + 1|0);
+ $p = $272;
+ HEAP8[$271>>0] = $270;
+ $273 = $0;
+ $274 = ((($273)) + 20|0);
+ $275 = HEAP32[$274>>2]|0;
+ $276 = $275&255;
+ $277 = $p;
+ $278 = ((($277)) + 1|0);
+ $p = $278;
+ HEAP8[$277>>0] = $276;
+ $279 = $0;
+ $280 = ((($279)) + 24|0);
+ $281 = HEAP32[$280>>2]|0;
+ $282 = $281 >>> 24;
+ $283 = $282&255;
+ $284 = $p;
+ $285 = ((($284)) + 1|0);
+ $p = $285;
+ HEAP8[$284>>0] = $283;
+ $286 = $0;
+ $287 = ((($286)) + 24|0);
+ $288 = HEAP32[$287>>2]|0;
+ $289 = $288 >>> 16;
+ $290 = $289&255;
+ $291 = $p;
+ $292 = ((($291)) + 1|0);
+ $p = $292;
+ HEAP8[$291>>0] = $290;
+ $293 = $0;
+ $294 = ((($293)) + 24|0);
+ $295 = HEAP32[$294>>2]|0;
+ $296 = $295 >>> 8;
+ $297 = $296&255;
+ $298 = $p;
+ $299 = ((($298)) + 1|0);
+ $p = $299;
+ HEAP8[$298>>0] = $297;
+ $300 = $0;
+ $301 = ((($300)) + 24|0);
+ $302 = HEAP32[$301>>2]|0;
+ $303 = $302&255;
+ $304 = $p;
+ $305 = ((($304)) + 1|0);
+ $p = $305;
+ HEAP8[$304>>0] = $303;
+ $306 = $0;
+ $307 = ((($306)) + 28|0);
+ $308 = HEAP32[$307>>2]|0;
+ $309 = $308 >>> 24;
+ $310 = $309&255;
+ $311 = $p;
+ $312 = ((($311)) + 1|0);
+ $p = $312;
+ HEAP8[$311>>0] = $310;
+ $313 = $0;
+ $314 = ((($313)) + 28|0);
+ $315 = HEAP32[$314>>2]|0;
+ $316 = $315 >>> 16;
+ $317 = $316&255;
+ $318 = $p;
+ $319 = ((($318)) + 1|0);
+ $p = $319;
+ HEAP8[$318>>0] = $317;
+ $320 = $0;
+ $321 = ((($320)) + 28|0);
+ $322 = HEAP32[$321>>2]|0;
+ $323 = $322 >>> 8;
+ $324 = $323&255;
+ $325 = $p;
+ $326 = ((($325)) + 1|0);
+ $p = $326;
+ HEAP8[$325>>0] = $324;
+ $327 = $0;
+ $328 = ((($327)) + 28|0);
+ $329 = HEAP32[$328>>2]|0;
+ $330 = $329&255;
+ $331 = $p;
+ $332 = ((($331)) + 1|0);
+ $p = $332;
+ HEAP8[$331>>0] = $330;
+ $333 = $0;
+ $334 = ((($333)) + 40|0);
+ $335 = HEAP8[$334>>0]|0;
+ $336 = $335 & -2;
+ $337 = $336 | 1;
+ HEAP8[$334>>0] = $337;
+ STACKTOP = sp;return;
+}
+function __gcry_hmac256_release($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $_vlen = 0, $_vptr = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ $3 = $0;
+ $4 = ((($3)) + 40|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = ($5 << 6)&255;
+ $7 = ($6<<24>>24) >> 7;
+ $8 = $7 << 24 >> 24;
+ $9 = ($8|0)!=(0);
+ L4: do {
+ if ($9) {
+ $10 = $0;
+ $11 = ((($10)) + 105|0);
+ $_vptr = $11;
+ $_vlen = 64;
+ while(1) {
+ $12 = $_vlen;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ break L4;
+ }
+ $14 = $_vptr;
+ HEAP8[$14>>0] = 0;
+ $15 = $_vptr;
+ $16 = ((($15)) + 1|0);
+ $_vptr = $16;
+ $17 = $_vlen;
+ $18 = (($17) + -1)|0;
+ $_vlen = $18;
+ }
+ }
+ } while(0);
+ $19 = $0;
+ _free($19);
+ STACKTOP = sp;return;
+}
+function __gcry_hmac256_finalize($hd,$r_dlen) {
+ $hd = $hd|0;
+ $r_dlen = $r_dlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmphd = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $hd;
+ $2 = $r_dlen;
+ $3 = $1;
+ _finalize($3);
+ $4 = $1;
+ $5 = ((($4)) + 40|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = ($6 << 6)&255;
+ $8 = ($7<<24>>24) >> 7;
+ $9 = $8 << 24 >> 24;
+ $10 = ($9|0)!=(0);
+ do {
+ if ($10) {
+ $11 = (__gcry_hmac256_new(0,0)|0);
+ $tmphd = $11;
+ $12 = $tmphd;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $15 = $tmphd;
+ $16 = $1;
+ $17 = ((($16)) + 105|0);
+ __gcry_hmac256_update($15,$17,64);
+ $18 = $tmphd;
+ $19 = $1;
+ $20 = ((($19)) + 41|0);
+ __gcry_hmac256_update($18,$20,32);
+ $21 = $tmphd;
+ _finalize($21);
+ $22 = $1;
+ $23 = ((($22)) + 41|0);
+ $24 = $tmphd;
+ $25 = ((($24)) + 41|0);
+ dest=$23; src=$25; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $26 = $tmphd;
+ __gcry_hmac256_release($26);
+ break;
+ }
+ $14 = $1;
+ _free($14);
+ $0 = 0;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+ }
+ } while(0);
+ $27 = $2;
+ $28 = ($27|0)!=(0|0);
+ if ($28) {
+ $29 = $2;
+ HEAP32[$29>>2] = 32;
+ }
+ $30 = $1;
+ $31 = ((($30)) + 41|0);
+ $0 = $31;
+ $32 = $0;
+ STACKTOP = sp;return ($32|0);
+}
+function __gcry_cipher_aeswrap_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $a = 0;
+ var $b = 0, $burn = 0, $i = 0, $j = 0, $n = 0, $nburn = 0, $r = 0, $t = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $t = sp + 64|0;
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(16);
+ if ($11) {
+ $0 = 139;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $12 = $3;
+ $13 = $5;
+ $14 = (($13) + 8)|0;
+ $15 = ($12>>>0)<($14>>>0);
+ if ($15) {
+ $0 = 200;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $16 = $5;
+ $17 = (($16>>>0) % 8)&-1;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $0 = 45;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $19 = $5;
+ $20 = (($19>>>0) / 8)&-1;
+ $n = $20;
+ $21 = $n;
+ $22 = ($21>>>0)<(2);
+ if ($22) {
+ $0 = 45;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $burn = 0;
+ $23 = $2;
+ $r = $23;
+ $24 = $2;
+ $a = $24;
+ $25 = $1;
+ $26 = ((($25)) + 80|0);
+ $b = $26;
+ $27 = $1;
+ $28 = ((($27)) + 56|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = ($29&255) >>> 1;
+ $31 = $30 & 1;
+ $32 = $31&255;
+ $33 = ($32|0)!=(0);
+ $34 = $a;
+ if ($33) {
+ $35 = $1;
+ $36 = ((($35)) + 64|0);
+ ;HEAP8[$34>>0]=HEAP8[$36>>0]|0;HEAP8[$34+1>>0]=HEAP8[$36+1>>0]|0;HEAP8[$34+2>>0]=HEAP8[$36+2>>0]|0;HEAP8[$34+3>>0]=HEAP8[$36+3>>0]|0;HEAP8[$34+4>>0]=HEAP8[$36+4>>0]|0;HEAP8[$34+5>>0]=HEAP8[$36+5>>0]|0;HEAP8[$34+6>>0]=HEAP8[$36+6>>0]|0;HEAP8[$34+7>>0]=HEAP8[$36+7>>0]|0;
+ } else {
+ ;HEAP8[$34>>0]=166|0;HEAP8[$34+1>>0]=166|0;HEAP8[$34+2>>0]=166|0;HEAP8[$34+3>>0]=166|0;HEAP8[$34+4>>0]=166|0;HEAP8[$34+5>>0]=166|0;HEAP8[$34+6>>0]=166|0;HEAP8[$34+7>>0]=166|0;
+ }
+ $37 = $r;
+ $38 = ((($37)) + 8|0);
+ $39 = $4;
+ $40 = $5;
+ _memmove(($38|0),($39|0),($40|0))|0;
+ ;HEAP8[$t>>0]=0|0;HEAP8[$t+1>>0]=0|0;HEAP8[$t+2>>0]=0|0;HEAP8[$t+3>>0]=0|0;HEAP8[$t+4>>0]=0|0;HEAP8[$t+5>>0]=0|0;HEAP8[$t+6>>0]=0|0;HEAP8[$t+7>>0]=0|0;
+ $j = 0;
+ while(1) {
+ $41 = $j;
+ $42 = ($41|0)<=(5);
+ if (!($42)) {
+ break;
+ }
+ $i = 1;
+ while(1) {
+ $43 = $i;
+ $44 = $n;
+ $45 = ($43>>>0)<=($44>>>0);
+ if (!($45)) {
+ break;
+ }
+ $46 = $b;
+ $47 = $a;
+ ;HEAP8[$46>>0]=HEAP8[$47>>0]|0;HEAP8[$46+1>>0]=HEAP8[$47+1>>0]|0;HEAP8[$46+2>>0]=HEAP8[$47+2>>0]|0;HEAP8[$46+3>>0]=HEAP8[$47+3>>0]|0;HEAP8[$46+4>>0]=HEAP8[$47+4>>0]|0;HEAP8[$46+5>>0]=HEAP8[$47+5>>0]|0;HEAP8[$46+6>>0]=HEAP8[$47+6>>0]|0;HEAP8[$46+7>>0]=HEAP8[$47+7>>0]|0;
+ $48 = $b;
+ $49 = ((($48)) + 8|0);
+ $50 = $r;
+ $51 = $i;
+ $52 = $51<<3;
+ $53 = (($50) + ($52)|0);
+ ;HEAP8[$49>>0]=HEAP8[$53>>0]|0;HEAP8[$49+1>>0]=HEAP8[$53+1>>0]|0;HEAP8[$49+2>>0]=HEAP8[$53+2>>0]|0;HEAP8[$49+3>>0]=HEAP8[$53+3>>0]|0;HEAP8[$49+4>>0]=HEAP8[$53+4>>0]|0;HEAP8[$49+5>>0]=HEAP8[$53+5>>0]|0;HEAP8[$49+6>>0]=HEAP8[$53+6>>0]|0;HEAP8[$49+7>>0]=HEAP8[$53+7>>0]|0;
+ $54 = $1;
+ $55 = ((($54)) + 12|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = ((($56)) + 36|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $1;
+ $60 = ((($59)) + 496|0);
+ $61 = $b;
+ $62 = $b;
+ $63 = (FUNCTION_TABLE_iiii[$58 & 127]($60,$61,$62)|0);
+ $nburn = $63;
+ $64 = $nburn;
+ $65 = $burn;
+ $66 = ($64>>>0)>($65>>>0);
+ $67 = $nburn;
+ $68 = $burn;
+ $69 = $66 ? $67 : $68;
+ $burn = $69;
+ $x = 7;
+ while(1) {
+ $70 = $x;
+ $71 = ($70|0)>=(0);
+ if (!($71)) {
+ break;
+ }
+ $72 = $x;
+ $73 = (($t) + ($72)|0);
+ $74 = HEAP8[$73>>0]|0;
+ $75 = (($74) + 1)<<24>>24;
+ HEAP8[$73>>0] = $75;
+ $76 = $x;
+ $77 = (($t) + ($76)|0);
+ $78 = HEAP8[$77>>0]|0;
+ $79 = ($78<<24>>24)!=(0);
+ if ($79) {
+ break;
+ }
+ $80 = $x;
+ $81 = (($80) + -1)|0;
+ $x = $81;
+ }
+ $82 = $a;
+ $83 = $b;
+ _buf_xor_1801($82,$83,$t,8);
+ $84 = $r;
+ $85 = $i;
+ $86 = $85<<3;
+ $87 = (($84) + ($86)|0);
+ $88 = $b;
+ $89 = ((($88)) + 8|0);
+ ;HEAP8[$87>>0]=HEAP8[$89>>0]|0;HEAP8[$87+1>>0]=HEAP8[$89+1>>0]|0;HEAP8[$87+2>>0]=HEAP8[$89+2>>0]|0;HEAP8[$87+3>>0]=HEAP8[$89+3>>0]|0;HEAP8[$87+4>>0]=HEAP8[$89+4>>0]|0;HEAP8[$87+5>>0]=HEAP8[$89+5>>0]|0;HEAP8[$87+6>>0]=HEAP8[$89+6>>0]|0;HEAP8[$87+7>>0]=HEAP8[$89+7>>0]|0;
+ $90 = $i;
+ $91 = (($90) + 1)|0;
+ $i = $91;
+ }
+ $92 = $j;
+ $93 = (($92) + 1)|0;
+ $j = $93;
+ }
+ $94 = $burn;
+ $95 = ($94>>>0)>(0);
+ if ($95) {
+ $96 = $burn;
+ $97 = (($96) + 16)|0;
+ ___gcry_burn_stack($97);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+}
+function _buf_xor_1801($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_aeswrap_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $b = 0, $burn = 0, $i = 0, $j = 0, $n = 0, $nburn = 0, $r = 0, $t = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $t = sp + 64|0;
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(16);
+ if ($11) {
+ $0 = 139;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $12 = $3;
+ $13 = (($12) + 8)|0;
+ $14 = $5;
+ $15 = ($13>>>0)<($14>>>0);
+ if ($15) {
+ $0 = 200;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $16 = $5;
+ $17 = (($16>>>0) % 8)&-1;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $0 = 45;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $19 = $5;
+ $20 = (($19>>>0) / 8)&-1;
+ $n = $20;
+ $21 = $n;
+ $22 = ($21>>>0)<(3);
+ if ($22) {
+ $0 = 45;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+ }
+ $burn = 0;
+ $23 = $2;
+ $r = $23;
+ $24 = $1;
+ $25 = ((($24)) + 96|0);
+ $a = $25;
+ $26 = $1;
+ $27 = ((($26)) + 80|0);
+ $b = $27;
+ $28 = $a;
+ $29 = $4;
+ ;HEAP8[$28>>0]=HEAP8[$29>>0]|0;HEAP8[$28+1>>0]=HEAP8[$29+1>>0]|0;HEAP8[$28+2>>0]=HEAP8[$29+2>>0]|0;HEAP8[$28+3>>0]=HEAP8[$29+3>>0]|0;HEAP8[$28+4>>0]=HEAP8[$29+4>>0]|0;HEAP8[$28+5>>0]=HEAP8[$29+5>>0]|0;HEAP8[$28+6>>0]=HEAP8[$29+6>>0]|0;HEAP8[$28+7>>0]=HEAP8[$29+7>>0]|0;
+ $30 = $r;
+ $31 = $4;
+ $32 = ((($31)) + 8|0);
+ $33 = $5;
+ $34 = (($33) - 8)|0;
+ _memmove(($30|0),($32|0),($34|0))|0;
+ $35 = $n;
+ $36 = (($35) + -1)|0;
+ $n = $36;
+ $37 = $n;
+ $38 = ($37*6)|0;
+ $i = $38;
+ $x = 0;
+ while(1) {
+ $39 = $x;
+ $40 = ($39|0)<(8);
+ $41 = $x;
+ $42 = ($41>>>0)<(4);
+ $43 = $40 ? $42 : 0;
+ if (!($43)) {
+ break;
+ }
+ $44 = $i;
+ $45 = $x;
+ $46 = $45<<3;
+ $47 = $44 >>> $46;
+ $48 = $47&255;
+ $49 = $x;
+ $50 = (7 - ($49))|0;
+ $51 = (($t) + ($50)|0);
+ HEAP8[$51>>0] = $48;
+ $52 = $x;
+ $53 = (($52) + 1)|0;
+ $x = $53;
+ }
+ while(1) {
+ $54 = $x;
+ $55 = ($54|0)<(8);
+ if (!($55)) {
+ break;
+ }
+ $56 = $x;
+ $57 = (7 - ($56))|0;
+ $58 = (($t) + ($57)|0);
+ HEAP8[$58>>0] = 0;
+ $59 = $x;
+ $60 = (($59) + 1)|0;
+ $x = $60;
+ }
+ $j = 5;
+ while(1) {
+ $61 = $j;
+ $62 = ($61|0)>=(0);
+ if (!($62)) {
+ break;
+ }
+ $63 = $n;
+ $i = $63;
+ while(1) {
+ $64 = $i;
+ $65 = ($64>>>0)>=(1);
+ if (!($65)) {
+ break;
+ }
+ $66 = $b;
+ $67 = $a;
+ _buf_xor_1801($66,$67,$t,8);
+ $68 = $b;
+ $69 = ((($68)) + 8|0);
+ $70 = $r;
+ $71 = $i;
+ $72 = (($71) - 1)|0;
+ $73 = $72<<3;
+ $74 = (($70) + ($73)|0);
+ ;HEAP8[$69>>0]=HEAP8[$74>>0]|0;HEAP8[$69+1>>0]=HEAP8[$74+1>>0]|0;HEAP8[$69+2>>0]=HEAP8[$74+2>>0]|0;HEAP8[$69+3>>0]=HEAP8[$74+3>>0]|0;HEAP8[$69+4>>0]=HEAP8[$74+4>>0]|0;HEAP8[$69+5>>0]=HEAP8[$74+5>>0]|0;HEAP8[$69+6>>0]=HEAP8[$74+6>>0]|0;HEAP8[$69+7>>0]=HEAP8[$74+7>>0]|0;
+ $75 = $1;
+ $76 = ((($75)) + 12|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ((($77)) + 40|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $1;
+ $81 = ((($80)) + 496|0);
+ $82 = $b;
+ $83 = $b;
+ $84 = (FUNCTION_TABLE_iiii[$79 & 127]($81,$82,$83)|0);
+ $nburn = $84;
+ $85 = $nburn;
+ $86 = $burn;
+ $87 = ($85>>>0)>($86>>>0);
+ $88 = $nburn;
+ $89 = $burn;
+ $90 = $87 ? $88 : $89;
+ $burn = $90;
+ $x = 7;
+ while(1) {
+ $91 = $x;
+ $92 = ($91|0)>=(0);
+ if (!($92)) {
+ break;
+ }
+ $93 = $x;
+ $94 = (($t) + ($93)|0);
+ $95 = HEAP8[$94>>0]|0;
+ $96 = (($95) + -1)<<24>>24;
+ HEAP8[$94>>0] = $96;
+ $97 = $x;
+ $98 = (($t) + ($97)|0);
+ $99 = HEAP8[$98>>0]|0;
+ $100 = $99&255;
+ $101 = ($100|0)!=(255);
+ if ($101) {
+ break;
+ }
+ $102 = $x;
+ $103 = (($102) + -1)|0;
+ $x = $103;
+ }
+ $104 = $a;
+ $105 = $b;
+ ;HEAP8[$104>>0]=HEAP8[$105>>0]|0;HEAP8[$104+1>>0]=HEAP8[$105+1>>0]|0;HEAP8[$104+2>>0]=HEAP8[$105+2>>0]|0;HEAP8[$104+3>>0]=HEAP8[$105+3>>0]|0;HEAP8[$104+4>>0]=HEAP8[$105+4>>0]|0;HEAP8[$104+5>>0]=HEAP8[$105+5>>0]|0;HEAP8[$104+6>>0]=HEAP8[$105+6>>0]|0;HEAP8[$104+7>>0]=HEAP8[$105+7>>0]|0;
+ $106 = $r;
+ $107 = $i;
+ $108 = (($107) - 1)|0;
+ $109 = $108<<3;
+ $110 = (($106) + ($109)|0);
+ $111 = $b;
+ $112 = ((($111)) + 8|0);
+ ;HEAP8[$110>>0]=HEAP8[$112>>0]|0;HEAP8[$110+1>>0]=HEAP8[$112+1>>0]|0;HEAP8[$110+2>>0]=HEAP8[$112+2>>0]|0;HEAP8[$110+3>>0]=HEAP8[$112+3>>0]|0;HEAP8[$110+4>>0]=HEAP8[$112+4>>0]|0;HEAP8[$110+5>>0]=HEAP8[$112+5>>0]|0;HEAP8[$110+6>>0]=HEAP8[$112+6>>0]|0;HEAP8[$110+7>>0]=HEAP8[$112+7>>0]|0;
+ $113 = $i;
+ $114 = (($113) + -1)|0;
+ $i = $114;
+ }
+ $115 = $j;
+ $116 = (($115) + -1)|0;
+ $j = $116;
+ }
+ $117 = $1;
+ $118 = ((($117)) + 56|0);
+ $119 = HEAP8[$118>>0]|0;
+ $120 = ($119&255) >>> 1;
+ $121 = $120 & 1;
+ $122 = $121&255;
+ $123 = ($122|0)!=(0);
+ L37: do {
+ if ($123) {
+ $124 = $a;
+ $125 = $1;
+ $126 = ((($125)) + 64|0);
+ $127 = (_memcmp($124,$126,8)|0);
+ $j = $127;
+ } else {
+ $j = 0;
+ $x = 0;
+ while(1) {
+ $128 = $x;
+ $129 = ($128|0)<(8);
+ if (!($129)) {
+ break L37;
+ }
+ $130 = $x;
+ $131 = $a;
+ $132 = (($131) + ($130)|0);
+ $133 = HEAP8[$132>>0]|0;
+ $134 = $133&255;
+ $135 = ($134|0)!=(166);
+ if ($135) {
+ break;
+ }
+ $136 = $x;
+ $137 = (($136) + 1)|0;
+ $x = $137;
+ }
+ $j = 1;
+ }
+ } while(0);
+ $138 = $burn;
+ $139 = ($138>>>0)>(0);
+ if ($139) {
+ $140 = $burn;
+ $141 = (($140) + 16)|0;
+ ___gcry_burn_stack($141);
+ ___gcry_burn_stack_dummy();
+ }
+ $142 = $j;
+ $143 = ($142|0)!=(0);
+ $144 = $143 ? 10 : 0;
+ $0 = $144;
+ $145 = $0;
+ STACKTOP = sp;return ($145|0);
+}
+function __gcry_cipher_cbc_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $b = 0, $blocksize = 0;
+ var $burn = 0, $enc_fn = 0, $i = 0, $ivp = 0, $n = 0, $nblocks = 0, $nburn = 0, $restbytes = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $blocksize = $10;
+ $11 = $1;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 36|0);
+ $15 = HEAP32[$14>>2]|0;
+ $enc_fn = $15;
+ $16 = $5;
+ $17 = $blocksize;
+ $18 = (($16>>>0) / ($17>>>0))&-1;
+ $nblocks = $18;
+ $19 = $3;
+ $20 = $1;
+ $21 = ((($20)) + 52|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = $22 & 8;
+ $24 = ($23|0)!=(0);
+ $25 = $blocksize;
+ $26 = $5;
+ $27 = $24 ? $25 : $26;
+ $28 = ($19>>>0)<($27>>>0);
+ if ($28) {
+ $0 = 200;
+ $217 = $0;
+ STACKTOP = sp;return ($217|0);
+ }
+ $29 = $5;
+ $30 = $blocksize;
+ $31 = (($29>>>0) % ($30>>>0))&-1;
+ $32 = ($31|0)!=(0);
+ do {
+ if ($32) {
+ $33 = $5;
+ $34 = $blocksize;
+ $35 = ($33>>>0)>($34>>>0);
+ if ($35) {
+ $36 = $1;
+ $37 = ((($36)) + 52|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $38 & 4;
+ $40 = ($39|0)!=(0);
+ if ($40) {
+ break;
+ }
+ }
+ $0 = 139;
+ $217 = $0;
+ STACKTOP = sp;return ($217|0);
+ }
+ } while(0);
+ $burn = 0;
+ $41 = $1;
+ $42 = ((($41)) + 52|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = $43 & 4;
+ $45 = ($44|0)!=(0);
+ if ($45) {
+ $46 = $5;
+ $47 = $blocksize;
+ $48 = ($46>>>0)>($47>>>0);
+ if ($48) {
+ $49 = $5;
+ $50 = $blocksize;
+ $51 = (($49>>>0) % ($50>>>0))&-1;
+ $52 = ($51|0)==(0);
+ if ($52) {
+ $53 = $nblocks;
+ $54 = (($53) + -1)|0;
+ $nblocks = $54;
+ }
+ }
+ }
+ $55 = $1;
+ $56 = ((($55)) + 20|0);
+ $57 = ((($56)) + 8|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ($58|0)!=(0|0);
+ $60 = $1;
+ if ($59) {
+ $61 = ((($60)) + 20|0);
+ $62 = ((($61)) + 8|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $1;
+ $65 = ((($64)) + 496|0);
+ $66 = $1;
+ $67 = ((($66)) + 64|0);
+ $68 = $2;
+ $69 = $4;
+ $70 = $nblocks;
+ $71 = $1;
+ $72 = ((($71)) + 52|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = $73 & 8;
+ FUNCTION_TABLE_viiiiii[$63 & 63]($65,$67,$68,$69,$70,$74);
+ $75 = $nblocks;
+ $76 = $blocksize;
+ $77 = Math_imul($75, $76)|0;
+ $78 = $4;
+ $79 = (($78) + ($77)|0);
+ $4 = $79;
+ $80 = $1;
+ $81 = ((($80)) + 52|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = $82 & 8;
+ $84 = ($83|0)!=(0);
+ if (!($84)) {
+ $85 = $nblocks;
+ $86 = $blocksize;
+ $87 = Math_imul($85, $86)|0;
+ $88 = $2;
+ $89 = (($88) + ($87)|0);
+ $2 = $89;
+ }
+ } else {
+ $90 = ((($60)) + 64|0);
+ $ivp = $90;
+ $n = 0;
+ while(1) {
+ $91 = $n;
+ $92 = $nblocks;
+ $93 = ($91>>>0)<($92>>>0);
+ if (!($93)) {
+ break;
+ }
+ $94 = $2;
+ $95 = $4;
+ $96 = $ivp;
+ $97 = $blocksize;
+ _buf_xor_1806($94,$95,$96,$97);
+ $98 = $enc_fn;
+ $99 = $1;
+ $100 = ((($99)) + 496|0);
+ $101 = $2;
+ $102 = $2;
+ $103 = (FUNCTION_TABLE_iiii[$98 & 127]($100,$101,$102)|0);
+ $nburn = $103;
+ $104 = $nburn;
+ $105 = $burn;
+ $106 = ($104>>>0)>($105>>>0);
+ $107 = $nburn;
+ $108 = $burn;
+ $109 = $106 ? $107 : $108;
+ $burn = $109;
+ $110 = $2;
+ $ivp = $110;
+ $111 = $blocksize;
+ $112 = $4;
+ $113 = (($112) + ($111)|0);
+ $4 = $113;
+ $114 = $1;
+ $115 = ((($114)) + 52|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = $116 & 8;
+ $118 = ($117|0)!=(0);
+ if (!($118)) {
+ $119 = $blocksize;
+ $120 = $2;
+ $121 = (($120) + ($119)|0);
+ $2 = $121;
+ }
+ $122 = $n;
+ $123 = (($122) + 1)|0;
+ $n = $123;
+ }
+ $124 = $ivp;
+ $125 = $1;
+ $126 = ((($125)) + 64|0);
+ $127 = ($124|0)!=($126|0);
+ if ($127) {
+ $128 = $1;
+ $129 = ((($128)) + 64|0);
+ $130 = $ivp;
+ $131 = $blocksize;
+ _buf_cpy_1807($129,$130,$131);
+ }
+ }
+ $132 = $1;
+ $133 = ((($132)) + 52|0);
+ $134 = HEAP32[$133>>2]|0;
+ $135 = $134 & 4;
+ $136 = ($135|0)!=(0);
+ if ($136) {
+ $137 = $5;
+ $138 = $blocksize;
+ $139 = ($137>>>0)>($138>>>0);
+ if ($139) {
+ $140 = $5;
+ $141 = $blocksize;
+ $142 = (($140>>>0) % ($141>>>0))&-1;
+ $143 = ($142|0)==(0);
+ if ($143) {
+ $144 = $blocksize;
+ $restbytes = $144;
+ } else {
+ $145 = $5;
+ $146 = $blocksize;
+ $147 = (($145>>>0) % ($146>>>0))&-1;
+ $restbytes = $147;
+ }
+ $148 = $blocksize;
+ $149 = $2;
+ $150 = (0 - ($148))|0;
+ $151 = (($149) + ($150)|0);
+ $2 = $151;
+ $152 = $1;
+ $153 = ((($152)) + 64|0);
+ $ivp = $153;
+ $i = 0;
+ while(1) {
+ $154 = $i;
+ $155 = $restbytes;
+ $156 = ($154>>>0)<($155>>>0);
+ if (!($156)) {
+ break;
+ }
+ $157 = $i;
+ $158 = $4;
+ $159 = (($158) + ($157)|0);
+ $160 = HEAP8[$159>>0]|0;
+ $b = $160;
+ $161 = $i;
+ $162 = $2;
+ $163 = (($162) + ($161)|0);
+ $164 = HEAP8[$163>>0]|0;
+ $165 = $blocksize;
+ $166 = $i;
+ $167 = (($165) + ($166))|0;
+ $168 = $2;
+ $169 = (($168) + ($167)|0);
+ HEAP8[$169>>0] = $164;
+ $170 = $b;
+ $171 = $170&255;
+ $172 = $ivp;
+ $173 = ((($172)) + 1|0);
+ $ivp = $173;
+ $174 = HEAP8[$172>>0]|0;
+ $175 = $174&255;
+ $176 = $171 ^ $175;
+ $177 = $176&255;
+ $178 = $i;
+ $179 = $2;
+ $180 = (($179) + ($178)|0);
+ HEAP8[$180>>0] = $177;
+ $181 = $i;
+ $182 = (($181) + 1)|0;
+ $i = $182;
+ }
+ while(1) {
+ $183 = $i;
+ $184 = $blocksize;
+ $185 = ($183>>>0)<($184>>>0);
+ if (!($185)) {
+ break;
+ }
+ $186 = $ivp;
+ $187 = ((($186)) + 1|0);
+ $ivp = $187;
+ $188 = HEAP8[$186>>0]|0;
+ $189 = $188&255;
+ $190 = 0 ^ $189;
+ $191 = $190&255;
+ $192 = $i;
+ $193 = $2;
+ $194 = (($193) + ($192)|0);
+ HEAP8[$194>>0] = $191;
+ $195 = $i;
+ $196 = (($195) + 1)|0;
+ $i = $196;
+ }
+ $197 = $enc_fn;
+ $198 = $1;
+ $199 = ((($198)) + 496|0);
+ $200 = $2;
+ $201 = $2;
+ $202 = (FUNCTION_TABLE_iiii[$197 & 127]($199,$200,$201)|0);
+ $nburn = $202;
+ $203 = $nburn;
+ $204 = $burn;
+ $205 = ($203>>>0)>($204>>>0);
+ $206 = $nburn;
+ $207 = $burn;
+ $208 = $205 ? $206 : $207;
+ $burn = $208;
+ $209 = $1;
+ $210 = ((($209)) + 64|0);
+ $211 = $2;
+ $212 = $blocksize;
+ _buf_cpy_1807($210,$211,$212);
+ }
+ }
+ $213 = $burn;
+ $214 = ($213>>>0)>(0);
+ if ($214) {
+ $215 = $burn;
+ $216 = (($215) + 16)|0;
+ ___gcry_burn_stack($216);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $217 = $0;
+ STACKTOP = sp;return ($217|0);
+}
+function _buf_xor_1806($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _buf_cpy_1807($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_cbc_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $blocksize = 0, $burn = 0;
+ var $dec_fn = 0, $i = 0, $n = 0, $nblocks = 0, $nburn = 0, $restbytes = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $blocksize = $10;
+ $11 = $1;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 40|0);
+ $15 = HEAP32[$14>>2]|0;
+ $dec_fn = $15;
+ $16 = $5;
+ $17 = $blocksize;
+ $18 = (($16>>>0) / ($17>>>0))&-1;
+ $nblocks = $18;
+ $19 = $3;
+ $20 = $5;
+ $21 = ($19>>>0)<($20>>>0);
+ if ($21) {
+ $0 = 200;
+ $197 = $0;
+ STACKTOP = sp;return ($197|0);
+ }
+ $22 = $5;
+ $23 = $blocksize;
+ $24 = (($22>>>0) % ($23>>>0))&-1;
+ $25 = ($24|0)!=(0);
+ do {
+ if ($25) {
+ $26 = $5;
+ $27 = $blocksize;
+ $28 = ($26>>>0)>($27>>>0);
+ if ($28) {
+ $29 = $1;
+ $30 = ((($29)) + 52|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 & 4;
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ break;
+ }
+ }
+ $0 = 139;
+ $197 = $0;
+ STACKTOP = sp;return ($197|0);
+ }
+ } while(0);
+ $burn = 0;
+ $34 = $1;
+ $35 = ((($34)) + 52|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $36 & 4;
+ $38 = ($37|0)!=(0);
+ if ($38) {
+ $39 = $5;
+ $40 = $blocksize;
+ $41 = ($39>>>0)>($40>>>0);
+ if ($41) {
+ $42 = $nblocks;
+ $43 = (($42) + -1)|0;
+ $nblocks = $43;
+ $44 = $5;
+ $45 = $blocksize;
+ $46 = (($44>>>0) % ($45>>>0))&-1;
+ $47 = ($46|0)==(0);
+ if ($47) {
+ $48 = $nblocks;
+ $49 = (($48) + -1)|0;
+ $nblocks = $49;
+ }
+ $50 = $1;
+ $51 = ((($50)) + 96|0);
+ $52 = $1;
+ $53 = ((($52)) + 64|0);
+ $54 = $blocksize;
+ _buf_cpy_1807($51,$53,$54);
+ }
+ }
+ $55 = $1;
+ $56 = ((($55)) + 20|0);
+ $57 = ((($56)) + 12|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ($58|0)!=(0|0);
+ L19: do {
+ if ($59) {
+ $60 = $1;
+ $61 = ((($60)) + 20|0);
+ $62 = ((($61)) + 12|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $1;
+ $65 = ((($64)) + 496|0);
+ $66 = $1;
+ $67 = ((($66)) + 64|0);
+ $68 = $2;
+ $69 = $4;
+ $70 = $nblocks;
+ FUNCTION_TABLE_viiiii[$63 & 127]($65,$67,$68,$69,$70);
+ $71 = $nblocks;
+ $72 = $blocksize;
+ $73 = Math_imul($71, $72)|0;
+ $74 = $4;
+ $75 = (($74) + ($73)|0);
+ $4 = $75;
+ $76 = $nblocks;
+ $77 = $blocksize;
+ $78 = Math_imul($76, $77)|0;
+ $79 = $2;
+ $80 = (($79) + ($78)|0);
+ $2 = $80;
+ } else {
+ $n = 0;
+ while(1) {
+ $81 = $n;
+ $82 = $nblocks;
+ $83 = ($81>>>0)<($82>>>0);
+ if (!($83)) {
+ break L19;
+ }
+ $84 = $dec_fn;
+ $85 = $1;
+ $86 = ((($85)) + 496|0);
+ $87 = $1;
+ $88 = ((($87)) + 96|0);
+ $89 = $4;
+ $90 = (FUNCTION_TABLE_iiii[$84 & 127]($86,$88,$89)|0);
+ $nburn = $90;
+ $91 = $nburn;
+ $92 = $burn;
+ $93 = ($91>>>0)>($92>>>0);
+ $94 = $nburn;
+ $95 = $burn;
+ $96 = $93 ? $94 : $95;
+ $burn = $96;
+ $97 = $2;
+ $98 = $1;
+ $99 = ((($98)) + 96|0);
+ $100 = $1;
+ $101 = ((($100)) + 64|0);
+ $102 = $4;
+ $103 = $blocksize;
+ _buf_xor_n_copy_2_1810($97,$99,$101,$102,$103);
+ $104 = $blocksize;
+ $105 = $4;
+ $106 = (($105) + ($104)|0);
+ $4 = $106;
+ $107 = $blocksize;
+ $108 = $2;
+ $109 = (($108) + ($107)|0);
+ $2 = $109;
+ $110 = $n;
+ $111 = (($110) + 1)|0;
+ $n = $111;
+ }
+ }
+ } while(0);
+ $112 = $1;
+ $113 = ((($112)) + 52|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 & 4;
+ $116 = ($115|0)!=(0);
+ if ($116) {
+ $117 = $5;
+ $118 = $blocksize;
+ $119 = ($117>>>0)>($118>>>0);
+ if ($119) {
+ $120 = $5;
+ $121 = $blocksize;
+ $122 = (($120>>>0) % ($121>>>0))&-1;
+ $123 = ($122|0)==(0);
+ if ($123) {
+ $124 = $blocksize;
+ $restbytes = $124;
+ } else {
+ $125 = $5;
+ $126 = $blocksize;
+ $127 = (($125>>>0) % ($126>>>0))&-1;
+ $restbytes = $127;
+ }
+ $128 = $1;
+ $129 = ((($128)) + 96|0);
+ $130 = $1;
+ $131 = ((($130)) + 64|0);
+ $132 = $blocksize;
+ _buf_cpy_1807($129,$131,$132);
+ $133 = $1;
+ $134 = ((($133)) + 64|0);
+ $135 = $4;
+ $136 = $blocksize;
+ $137 = (($135) + ($136)|0);
+ $138 = $restbytes;
+ _buf_cpy_1807($134,$137,$138);
+ $139 = $dec_fn;
+ $140 = $1;
+ $141 = ((($140)) + 496|0);
+ $142 = $2;
+ $143 = $4;
+ $144 = (FUNCTION_TABLE_iiii[$139 & 127]($141,$142,$143)|0);
+ $nburn = $144;
+ $145 = $nburn;
+ $146 = $burn;
+ $147 = ($145>>>0)>($146>>>0);
+ $148 = $nburn;
+ $149 = $burn;
+ $150 = $147 ? $148 : $149;
+ $burn = $150;
+ $151 = $2;
+ $152 = $2;
+ $153 = $1;
+ $154 = ((($153)) + 64|0);
+ $155 = $restbytes;
+ _buf_xor_1806($151,$152,$154,$155);
+ $156 = $2;
+ $157 = $blocksize;
+ $158 = (($156) + ($157)|0);
+ $159 = $2;
+ $160 = $restbytes;
+ _buf_cpy_1807($158,$159,$160);
+ $161 = $restbytes;
+ $i = $161;
+ while(1) {
+ $162 = $i;
+ $163 = $blocksize;
+ $164 = ($162>>>0)<($163>>>0);
+ if (!($164)) {
+ break;
+ }
+ $165 = $i;
+ $166 = $2;
+ $167 = (($166) + ($165)|0);
+ $168 = HEAP8[$167>>0]|0;
+ $169 = $i;
+ $170 = $1;
+ $171 = ((($170)) + 64|0);
+ $172 = (($171) + ($169)|0);
+ HEAP8[$172>>0] = $168;
+ $173 = $i;
+ $174 = (($173) + 1)|0;
+ $i = $174;
+ }
+ $175 = $dec_fn;
+ $176 = $1;
+ $177 = ((($176)) + 496|0);
+ $178 = $2;
+ $179 = $1;
+ $180 = ((($179)) + 64|0);
+ $181 = (FUNCTION_TABLE_iiii[$175 & 127]($177,$178,$180)|0);
+ $nburn = $181;
+ $182 = $nburn;
+ $183 = $burn;
+ $184 = ($182>>>0)>($183>>>0);
+ $185 = $nburn;
+ $186 = $burn;
+ $187 = $184 ? $185 : $186;
+ $burn = $187;
+ $188 = $2;
+ $189 = $2;
+ $190 = $1;
+ $191 = ((($190)) + 96|0);
+ $192 = $blocksize;
+ _buf_xor_1806($188,$189,$191,$192);
+ }
+ }
+ $193 = $burn;
+ $194 = ($193>>>0)>(0);
+ if ($194) {
+ $195 = $burn;
+ $196 = (($195) + 16)|0;
+ ___gcry_burn_stack($196);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $197 = $0;
+ STACKTOP = sp;return ($197|0);
+}
+function _buf_xor_n_copy_2_1810($_dst_xor,$_src_xor,$_srcdst_cpy,$_src_cpy,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_src_xor = $_src_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src_cpy = $_src_cpy|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $dst_xor = 0, $ldst_xor = 0, $longmask = 0, $lsrc_cpy = 0, $lsrc_xor = 0, $lsrcdst_cpy = 0, $ltemp = 0, $src_cpy = 0, $src_xor = 0, $srcdst_cpy = 0, $temp = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_src_xor;
+ $2 = $_srcdst_cpy;
+ $3 = $_src_cpy;
+ $4 = $len;
+ $5 = $0;
+ $dst_xor = $5;
+ $6 = $2;
+ $srcdst_cpy = $6;
+ $7 = $1;
+ $src_xor = $7;
+ $8 = $3;
+ $src_cpy = $8;
+ $longmask = 3;
+ $9 = $src_cpy;
+ $10 = $9;
+ $11 = $src_xor;
+ $12 = $11;
+ $13 = $10 | $12;
+ $14 = $dst_xor;
+ $15 = $14;
+ $16 = $13 | $15;
+ $17 = $srcdst_cpy;
+ $18 = $17;
+ $19 = $16 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ $22 = $dst_xor;
+ $ldst_xor = $22;
+ $23 = $src_xor;
+ $lsrc_xor = $23;
+ $24 = $srcdst_cpy;
+ $lsrcdst_cpy = $24;
+ $25 = $src_cpy;
+ $lsrc_cpy = $25;
+ while(1) {
+ $26 = $4;
+ $27 = ($26>>>0)>=(4);
+ if (!($27)) {
+ break;
+ }
+ $28 = $lsrc_cpy;
+ $29 = ((($28)) + 4|0);
+ $lsrc_cpy = $29;
+ $30 = HEAP32[$28>>2]|0;
+ $ltemp = $30;
+ $31 = $lsrcdst_cpy;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $lsrc_xor;
+ $34 = ((($33)) + 4|0);
+ $lsrc_xor = $34;
+ $35 = HEAP32[$33>>2]|0;
+ $36 = $32 ^ $35;
+ $37 = $ldst_xor;
+ $38 = ((($37)) + 4|0);
+ $ldst_xor = $38;
+ HEAP32[$37>>2] = $36;
+ $39 = $ltemp;
+ $40 = $lsrcdst_cpy;
+ $41 = ((($40)) + 4|0);
+ $lsrcdst_cpy = $41;
+ HEAP32[$40>>2] = $39;
+ $42 = $4;
+ $43 = (($42) - 4)|0;
+ $4 = $43;
+ }
+ $44 = $ldst_xor;
+ $dst_xor = $44;
+ $45 = $lsrc_xor;
+ $src_xor = $45;
+ $46 = $lsrcdst_cpy;
+ $srcdst_cpy = $46;
+ $47 = $lsrc_cpy;
+ $src_cpy = $47;
+ }
+ while(1) {
+ $48 = $4;
+ $49 = ($48|0)!=(0);
+ if (!($49)) {
+ break;
+ }
+ $50 = $src_cpy;
+ $51 = ((($50)) + 1|0);
+ $src_cpy = $51;
+ $52 = HEAP8[$50>>0]|0;
+ $temp = $52;
+ $53 = $srcdst_cpy;
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $src_xor;
+ $57 = ((($56)) + 1|0);
+ $src_xor = $57;
+ $58 = HEAP8[$56>>0]|0;
+ $59 = $58&255;
+ $60 = $55 ^ $59;
+ $61 = $60&255;
+ $62 = $dst_xor;
+ $63 = ((($62)) + 1|0);
+ $dst_xor = $63;
+ HEAP8[$62>>0] = $61;
+ $64 = $temp;
+ $65 = $srcdst_cpy;
+ $66 = ((($65)) + 1|0);
+ $srcdst_cpy = $66;
+ HEAP8[$65>>0] = $64;
+ $67 = $4;
+ $68 = (($67) + -1)|0;
+ $4 = $68;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ccm_set_nonce($c,$nonce,$noncelen) {
+ $c = $c|0;
+ $nonce = $nonce|0;
+ $noncelen = $noncelen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $L = 0, $L_ = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $nonce;
+ $3 = $noncelen;
+ $4 = $3;
+ $5 = (15 - ($4))|0;
+ $L = $5;
+ $6 = $L;
+ $7 = (($6) - 1)|0;
+ $L_ = $7;
+ $8 = $2;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ $0 = 45;
+ $62 = $0;
+ STACKTOP = sp;return ($62|0);
+ }
+ $10 = $L;
+ $11 = ($10>>>0)<(2);
+ $12 = $L;
+ $13 = ($12>>>0)>(8);
+ $or$cond = $11 | $13;
+ if ($or$cond) {
+ $0 = 139;
+ $62 = $0;
+ STACKTOP = sp;return ($62|0);
+ } else {
+ $14 = $1;
+ $15 = ((($14)) + 128|0);
+ _memset(($15|0),0,368)|0;
+ $16 = $1;
+ $17 = ((($16)) + 56|0);
+ ;HEAP32[$17>>2]=0|0;
+ $18 = $1;
+ $19 = ((($18)) + 64|0);
+ ;HEAP32[$19>>2]=0|0;HEAP32[$19+4>>2]=0|0;HEAP32[$19+8>>2]=0|0;HEAP32[$19+12>>2]=0|0;
+ $20 = $1;
+ $21 = ((($20)) + 80|0);
+ ;HEAP32[$21>>2]=0|0;HEAP32[$21+4>>2]=0|0;HEAP32[$21+8>>2]=0|0;HEAP32[$21+12>>2]=0|0;
+ $22 = $1;
+ $23 = ((($22)) + 96|0);
+ ;HEAP32[$23>>2]=0|0;HEAP32[$23+4>>2]=0|0;HEAP32[$23+8>>2]=0|0;HEAP32[$23+12>>2]=0|0;
+ $24 = $1;
+ $25 = ((($24)) + 112|0);
+ HEAP32[$25>>2] = 0;
+ $26 = $L_;
+ $27 = $26&255;
+ $28 = $1;
+ $29 = ((($28)) + 80|0);
+ HEAP8[$29>>0] = $27;
+ $30 = $1;
+ $31 = ((($30)) + 80|0);
+ $32 = ((($31)) + 1|0);
+ $33 = $2;
+ $34 = $3;
+ _memcpy(($32|0),($33|0),($34|0))|0;
+ $35 = $3;
+ $36 = (1 + ($35))|0;
+ $37 = $1;
+ $38 = ((($37)) + 80|0);
+ $39 = (($38) + ($36)|0);
+ $40 = $L;
+ _memset(($39|0),0,($40|0))|0;
+ $41 = $L_;
+ $42 = $41&255;
+ $43 = $1;
+ $44 = ((($43)) + 64|0);
+ HEAP8[$44>>0] = $42;
+ $45 = $1;
+ $46 = ((($45)) + 64|0);
+ $47 = ((($46)) + 1|0);
+ $48 = $2;
+ $49 = $3;
+ _memcpy(($47|0),($48|0),($49|0))|0;
+ $50 = $3;
+ $51 = (1 + ($50))|0;
+ $52 = $1;
+ $53 = ((($52)) + 64|0);
+ $54 = (($53) + ($51)|0);
+ $55 = $L;
+ _memset(($54|0),0,($55|0))|0;
+ $56 = $1;
+ $57 = ((($56)) + 128|0);
+ $58 = ((($57)) + 56|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59 & -2;
+ $61 = $60 | 1;
+ HEAP8[$58>>0] = $61;
+ $0 = 0;
+ $62 = $0;
+ STACKTOP = sp;return ($62|0);
+ }
+ return (0)|0;
+}
+function _do_cbc_mac($c,$inbuf,$inlen,$do_padding) {
+ $c = $c|0;
+ $inbuf = $inbuf|0;
+ $inlen = $inlen|0;
+ $do_padding = $do_padding|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $__nburn = 0, $__nburn1 = 0;
+ var $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $blocksize = 0, $burn = 0, $enc_fn = 0, $nblocks = 0, $or$cond = 0, $or$cond3 = 0, $tmp = 0, $unused = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp + 72|0;
+ $_vset_long = sp;
+ $1 = $c;
+ $2 = $inbuf;
+ $3 = $inlen;
+ $4 = $do_padding;
+ $blocksize = 16;
+ $5 = $1;
+ $6 = ((($5)) + 12|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($7)) + 36|0);
+ $9 = HEAP32[$8>>2]|0;
+ $enc_fn = $9;
+ $burn = 0;
+ $10 = $1;
+ $11 = ((($10)) + 128|0);
+ $12 = ((($11)) + 36|0);
+ $13 = HEAP32[$12>>2]|0;
+ $unused = $13;
+ $14 = $3;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $16 = $unused;
+ $17 = ($16|0)!=(0);
+ $18 = $4;
+ $19 = ($18|0)!=(0);
+ $or$cond = $17 & $19;
+ if (!($or$cond)) {
+ $0 = 0;
+ $197 = $0;
+ STACKTOP = sp;return ($197|0);
+ }
+ }
+ L5: while(1) {
+ $20 = $3;
+ $21 = $unused;
+ $22 = (($20) + ($21))|0;
+ $23 = ($22>>>0)<(16);
+ $24 = $unused;
+ $25 = ($24>>>0)>(0);
+ $or$cond3 = $23 | $25;
+ L7: do {
+ if ($or$cond3) {
+ while(1) {
+ $26 = $3;
+ $27 = ($26|0)!=(0);
+ $28 = $unused;
+ $29 = ($28>>>0)<(16);
+ $30 = $27 ? $29 : 0;
+ if (!($30)) {
+ break L7;
+ }
+ $31 = $2;
+ $32 = ((($31)) + 1|0);
+ $2 = $32;
+ $33 = HEAP8[$31>>0]|0;
+ $34 = $unused;
+ $35 = (($34) + 1)|0;
+ $unused = $35;
+ $36 = $1;
+ $37 = ((($36)) + 128|0);
+ $38 = ((($37)) + 20|0);
+ $39 = (($38) + ($34)|0);
+ HEAP8[$39>>0] = $33;
+ $40 = $3;
+ $41 = (($40) + -1)|0;
+ $3 = $41;
+ }
+ }
+ } while(0);
+ $42 = $3;
+ $43 = ($42|0)!=(0);
+ L12: do {
+ if (!($43)) {
+ $44 = $4;
+ $45 = ($44|0)!=(0);
+ if (!($45)) {
+ break L5;
+ }
+ while(1) {
+ $46 = $unused;
+ $47 = ($46>>>0)<(16);
+ if (!($47)) {
+ break L12;
+ }
+ $48 = $unused;
+ $49 = (($48) + 1)|0;
+ $unused = $49;
+ $50 = $1;
+ $51 = ((($50)) + 128|0);
+ $52 = ((($51)) + 20|0);
+ $53 = (($52) + ($48)|0);
+ HEAP8[$53>>0] = 0;
+ }
+ }
+ } while(0);
+ $54 = $unused;
+ $55 = ($54>>>0)>(0);
+ if ($55) {
+ $56 = $1;
+ $57 = ((($56)) + 64|0);
+ $58 = $1;
+ $59 = ((($58)) + 64|0);
+ $60 = $1;
+ $61 = ((($60)) + 128|0);
+ $62 = ((($61)) + 20|0);
+ _buf_xor_1815($57,$59,$62,16);
+ $63 = $enc_fn;
+ $64 = $1;
+ $65 = ((($64)) + 496|0);
+ $66 = $1;
+ $67 = ((($66)) + 64|0);
+ $68 = $1;
+ $69 = ((($68)) + 64|0);
+ $70 = (FUNCTION_TABLE_iiii[$63 & 127]($65,$67,$69)|0);
+ $__nburn = $70;
+ $71 = $burn;
+ $72 = $__nburn;
+ $73 = ($71>>>0)>($72>>>0);
+ $74 = $burn;
+ $75 = $__nburn;
+ $76 = $73 ? $74 : $75;
+ $burn = $76;
+ $unused = 0;
+ }
+ $77 = $1;
+ $78 = ((($77)) + 20|0);
+ $79 = ((($78)) + 8|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = ($80|0)!=(0|0);
+ L21: do {
+ if ($81) {
+ $82 = $3;
+ $83 = (($82>>>0) / 16)&-1;
+ $nblocks = $83;
+ $84 = $1;
+ $85 = ((($84)) + 20|0);
+ $86 = ((($85)) + 8|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = $1;
+ $89 = ((($88)) + 496|0);
+ $90 = $1;
+ $91 = ((($90)) + 64|0);
+ $92 = $2;
+ $93 = $nblocks;
+ FUNCTION_TABLE_viiiiii[$87 & 63]($89,$91,$tmp,$92,$93,1);
+ $94 = $nblocks;
+ $95 = $94<<4;
+ $96 = $2;
+ $97 = (($96) + ($95)|0);
+ $2 = $97;
+ $98 = $nblocks;
+ $99 = $98<<4;
+ $100 = $3;
+ $101 = (($100) - ($99))|0;
+ $3 = $101;
+ $_vptr = $tmp;
+ $_vlen = 16;
+ $_vset = 0;
+ $102 = $_vset;
+ $103 = $102&255;
+ $104 = $_vset_long;
+ $105 = $104;
+ HEAP32[$105>>2] = $103;
+ $106 = (($104) + 4)|0;
+ $107 = $106;
+ HEAP32[$107>>2] = 0;
+ while(1) {
+ $108 = $_vptr;
+ $109 = $108;
+ $110 = $109 & 7;
+ $111 = ($110|0)!=(0);
+ $112 = $_vlen;
+ $113 = ($112|0)!=(0);
+ $114 = $111 ? $113 : 0;
+ if (!($114)) {
+ break;
+ }
+ $115 = $_vset;
+ $116 = $_vptr;
+ HEAP8[$116>>0] = $115;
+ $117 = $_vptr;
+ $118 = ((($117)) + 1|0);
+ $_vptr = $118;
+ $119 = $_vlen;
+ $120 = (($119) + -1)|0;
+ $_vlen = $120;
+ }
+ $121 = $_vlen;
+ $122 = ($121>>>0)<(8);
+ if (!($122)) {
+ $123 = $_vset_long;
+ $124 = $123;
+ $125 = HEAP32[$124>>2]|0;
+ $126 = (($123) + 4)|0;
+ $127 = $126;
+ $128 = HEAP32[$127>>2]|0;
+ $129 = (___muldi3(($125|0),($128|0),16843009,16843009)|0);
+ $130 = tempRet0;
+ $131 = $_vset_long;
+ $132 = $131;
+ HEAP32[$132>>2] = $129;
+ $133 = (($131) + 4)|0;
+ $134 = $133;
+ HEAP32[$134>>2] = $130;
+ while(1) {
+ $135 = $_vptr;
+ $_vptr_long = $135;
+ $136 = $_vset_long;
+ $137 = $136;
+ $138 = HEAP32[$137>>2]|0;
+ $139 = (($136) + 4)|0;
+ $140 = $139;
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $_vptr_long;
+ $143 = $142;
+ $144 = $143;
+ HEAP32[$144>>2] = $138;
+ $145 = (($143) + 4)|0;
+ $146 = $145;
+ HEAP32[$146>>2] = $141;
+ $147 = $_vlen;
+ $148 = (($147) - 8)|0;
+ $_vlen = $148;
+ $149 = $_vptr;
+ $150 = ((($149)) + 8|0);
+ $_vptr = $150;
+ $151 = $_vlen;
+ $152 = ($151>>>0)>=(8);
+ if (!($152)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $153 = $_vlen;
+ $154 = ($153|0)!=(0);
+ if (!($154)) {
+ break L21;
+ }
+ $155 = $_vset;
+ $156 = $_vptr;
+ HEAP8[$156>>0] = $155;
+ $157 = $_vptr;
+ $158 = ((($157)) + 1|0);
+ $_vptr = $158;
+ $159 = $_vlen;
+ $160 = (($159) + -1)|0;
+ $_vlen = $160;
+ }
+ } else {
+ while(1) {
+ $161 = $3;
+ $162 = ($161>>>0)>=(16);
+ if (!($162)) {
+ break L21;
+ }
+ $163 = $1;
+ $164 = ((($163)) + 64|0);
+ $165 = $1;
+ $166 = ((($165)) + 64|0);
+ $167 = $2;
+ _buf_xor_1815($164,$166,$167,16);
+ $168 = $enc_fn;
+ $169 = $1;
+ $170 = ((($169)) + 496|0);
+ $171 = $1;
+ $172 = ((($171)) + 64|0);
+ $173 = $1;
+ $174 = ((($173)) + 64|0);
+ $175 = (FUNCTION_TABLE_iiii[$168 & 127]($170,$172,$174)|0);
+ $__nburn1 = $175;
+ $176 = $burn;
+ $177 = $__nburn1;
+ $178 = ($176>>>0)>($177>>>0);
+ $179 = $burn;
+ $180 = $__nburn1;
+ $181 = $178 ? $179 : $180;
+ $burn = $181;
+ $182 = $3;
+ $183 = (($182) - 16)|0;
+ $3 = $183;
+ $184 = $2;
+ $185 = ((($184)) + 16|0);
+ $2 = $185;
+ }
+ }
+ } while(0);
+ $186 = $3;
+ $187 = ($186>>>0)>(0);
+ if (!($187)) {
+ break;
+ }
+ }
+ $188 = $unused;
+ $189 = $1;
+ $190 = ((($189)) + 128|0);
+ $191 = ((($190)) + 36|0);
+ HEAP32[$191>>2] = $188;
+ $192 = $burn;
+ $193 = ($192|0)!=(0);
+ if ($193) {
+ $194 = $burn;
+ $195 = (($194) + 16)|0;
+ $burn = $195;
+ }
+ $196 = $burn;
+ $0 = $196;
+ $197 = $0;
+ STACKTOP = sp;return ($197|0);
+}
+function _buf_xor_1815($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ccm_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $burn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $3;
+ $7 = $5;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ $0 = 200;
+ $88 = $0;
+ STACKTOP = sp;return ($88|0);
+ }
+ $9 = $1;
+ $10 = ((($9)) + 128|0);
+ $11 = ((($10)) + 56|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12 & 1;
+ $14 = $13&255;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = $1;
+ $17 = ((($16)) + 56|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = ($18&255) >>> 2;
+ $20 = $19 & 1;
+ $21 = $20&255;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ $23 = $1;
+ $24 = ((($23)) + 128|0);
+ $25 = ((($24)) + 56|0);
+ $26 = HEAP8[$25>>0]|0;
+ $27 = ($26&255) >>> 1;
+ $28 = $27 & 1;
+ $29 = $28&255;
+ $30 = ($29|0)!=(0);
+ if ($30) {
+ $31 = $1;
+ $32 = ((($31)) + 128|0);
+ $33 = ((($32)) + 8|0);
+ $34 = $33;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ($39>>>0)>(0);
+ $41 = ($36>>>0)>(0);
+ $42 = ($39|0)==(0);
+ $43 = $42 & $41;
+ $44 = $40 | $43;
+ if (!($44)) {
+ $45 = $5;
+ $46 = $1;
+ $47 = ((($46)) + 128|0);
+ $48 = $47;
+ $49 = $48;
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($48) + 4)|0;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (0)>($53>>>0);
+ $55 = ($45>>>0)>($50>>>0);
+ $56 = (0)==($53|0);
+ $57 = $56 & $55;
+ $58 = $54 | $57;
+ if ($58) {
+ $0 = 139;
+ $88 = $0;
+ STACKTOP = sp;return ($88|0);
+ }
+ $59 = $5;
+ $60 = $1;
+ $61 = ((($60)) + 128|0);
+ $62 = $61;
+ $63 = $62;
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($62) + 4)|0;
+ $66 = $65;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (_i64Subtract(($64|0),($67|0),($59|0),0)|0);
+ $69 = tempRet0;
+ $70 = $61;
+ $71 = $70;
+ HEAP32[$71>>2] = $68;
+ $72 = (($70) + 4)|0;
+ $73 = $72;
+ HEAP32[$73>>2] = $69;
+ $74 = $1;
+ $75 = $4;
+ $76 = $5;
+ $77 = (_do_cbc_mac($74,$75,$76,0)|0);
+ $burn = $77;
+ $78 = $burn;
+ $79 = ($78|0)!=(0);
+ if ($79) {
+ $80 = $burn;
+ $81 = (($80) + 20)|0;
+ ___gcry_burn_stack($81);
+ ___gcry_burn_stack_dummy();
+ }
+ $82 = $1;
+ $83 = $2;
+ $84 = $3;
+ $85 = $4;
+ $86 = $5;
+ $87 = (__gcry_cipher_ctr_encrypt($82,$83,$84,$85,$86)|0);
+ $0 = $87;
+ $88 = $0;
+ STACKTOP = sp;return ($88|0);
+ }
+ }
+ }
+ }
+ $0 = 156;
+ $88 = $0;
+ STACKTOP = sp;return ($88|0);
+}
+function __gcry_cipher_ccm_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $burn = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $3;
+ $7 = $5;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ $0 = 200;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $9 = $1;
+ $10 = ((($9)) + 128|0);
+ $11 = ((($10)) + 56|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12 & 1;
+ $14 = $13&255;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = $1;
+ $17 = ((($16)) + 56|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = ($18&255) >>> 2;
+ $20 = $19 & 1;
+ $21 = $20&255;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ $23 = $1;
+ $24 = ((($23)) + 128|0);
+ $25 = ((($24)) + 56|0);
+ $26 = HEAP8[$25>>0]|0;
+ $27 = ($26&255) >>> 1;
+ $28 = $27 & 1;
+ $29 = $28&255;
+ $30 = ($29|0)!=(0);
+ if ($30) {
+ $31 = $1;
+ $32 = ((($31)) + 128|0);
+ $33 = ((($32)) + 8|0);
+ $34 = $33;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = ($39>>>0)>(0);
+ $41 = ($36>>>0)>(0);
+ $42 = ($39|0)==(0);
+ $43 = $42 & $41;
+ $44 = $40 | $43;
+ if (!($44)) {
+ $45 = $5;
+ $46 = $1;
+ $47 = ((($46)) + 128|0);
+ $48 = $47;
+ $49 = $48;
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (($48) + 4)|0;
+ $52 = $51;
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (0)>($53>>>0);
+ $55 = ($45>>>0)>($50>>>0);
+ $56 = (0)==($53|0);
+ $57 = $56 & $55;
+ $58 = $54 | $57;
+ if ($58) {
+ $0 = 139;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $59 = $1;
+ $60 = $2;
+ $61 = $3;
+ $62 = $4;
+ $63 = $5;
+ $64 = (__gcry_cipher_ctr_encrypt($59,$60,$61,$62,$63)|0);
+ $err = $64;
+ $65 = $err;
+ $66 = ($65|0)!=(0);
+ if ($66) {
+ $67 = $err;
+ $0 = $67;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ $68 = $5;
+ $69 = $1;
+ $70 = ((($69)) + 128|0);
+ $71 = $70;
+ $72 = $71;
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (($71) + 4)|0;
+ $75 = $74;
+ $76 = HEAP32[$75>>2]|0;
+ $77 = (_i64Subtract(($73|0),($76|0),($68|0),0)|0);
+ $78 = tempRet0;
+ $79 = $70;
+ $80 = $79;
+ HEAP32[$80>>2] = $77;
+ $81 = (($79) + 4)|0;
+ $82 = $81;
+ HEAP32[$82>>2] = $78;
+ $83 = $1;
+ $84 = $2;
+ $85 = $5;
+ $86 = (_do_cbc_mac($83,$84,$85,0)|0);
+ $burn = $86;
+ $87 = $burn;
+ $88 = ($87|0)!=(0);
+ if ($88) {
+ $89 = $burn;
+ $90 = (($89) + 20)|0;
+ ___gcry_burn_stack($90);
+ ___gcry_burn_stack_dummy();
+ }
+ $91 = $err;
+ $0 = $91;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+ }
+ }
+ }
+ }
+ $0 = 156;
+ $92 = $0;
+ STACKTOP = sp;return ($92|0);
+}
+function __gcry_cipher_cfb_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
+ var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
+ var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
+ var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $blocksize = 0, $blocksize_x_2 = 0, $burn = 0, $enc_fn = 0, $ivp = 0, $nblocks = 0, $nburn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 36|0);
+ $10 = HEAP32[$9>>2]|0;
+ $enc_fn = $10;
+ $11 = $1;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 20|0);
+ $15 = HEAP32[$14>>2]|0;
+ $blocksize = $15;
+ $16 = $blocksize;
+ $17 = $blocksize;
+ $18 = (($16) + ($17))|0;
+ $blocksize_x_2 = $18;
+ $19 = $3;
+ $20 = $5;
+ $21 = ($19>>>0)<($20>>>0);
+ if ($21) {
+ $0 = 200;
+ $227 = $0;
+ STACKTOP = sp;return ($227|0);
+ }
+ $22 = $5;
+ $23 = $1;
+ $24 = ((($23)) + 112|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($22>>>0)<=($25>>>0);
+ if ($26) {
+ $27 = $1;
+ $28 = ((($27)) + 64|0);
+ $29 = $blocksize;
+ $30 = (($28) + ($29)|0);
+ $31 = $1;
+ $32 = ((($31)) + 112|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (0 - ($33))|0;
+ $35 = (($30) + ($34)|0);
+ $ivp = $35;
+ $36 = $2;
+ $37 = $ivp;
+ $38 = $4;
+ $39 = $5;
+ _buf_xor_2dst_1830($36,$37,$38,$39);
+ $40 = $5;
+ $41 = $1;
+ $42 = ((($41)) + 112|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($43) - ($40))|0;
+ HEAP32[$42>>2] = $44;
+ $0 = 0;
+ $227 = $0;
+ STACKTOP = sp;return ($227|0);
+ }
+ $burn = 0;
+ $45 = $1;
+ $46 = ((($45)) + 112|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(0);
+ if ($48) {
+ $49 = $1;
+ $50 = ((($49)) + 112|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $5;
+ $53 = (($52) - ($51))|0;
+ $5 = $53;
+ $54 = $1;
+ $55 = ((($54)) + 64|0);
+ $56 = $blocksize;
+ $57 = (($55) + ($56)|0);
+ $58 = $1;
+ $59 = ((($58)) + 112|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (0 - ($60))|0;
+ $62 = (($57) + ($61)|0);
+ $ivp = $62;
+ $63 = $2;
+ $64 = $ivp;
+ $65 = $4;
+ $66 = $1;
+ $67 = ((($66)) + 112|0);
+ $68 = HEAP32[$67>>2]|0;
+ _buf_xor_2dst_1830($63,$64,$65,$68);
+ $69 = $1;
+ $70 = ((($69)) + 112|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $2;
+ $73 = (($72) + ($71)|0);
+ $2 = $73;
+ $74 = $1;
+ $75 = ((($74)) + 112|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $4;
+ $78 = (($77) + ($76)|0);
+ $4 = $78;
+ $79 = $1;
+ $80 = ((($79)) + 112|0);
+ HEAP32[$80>>2] = 0;
+ }
+ $81 = $5;
+ $82 = $blocksize_x_2;
+ $83 = ($81>>>0)>=($82>>>0);
+ if ($83) {
+ $84 = $1;
+ $85 = ((($84)) + 20|0);
+ $86 = HEAP32[$85>>2]|0;
+ $87 = ($86|0)!=(0|0);
+ if ($87) {
+ $88 = $5;
+ $89 = $blocksize;
+ $90 = (($88>>>0) / ($89>>>0))&-1;
+ $nblocks = $90;
+ $91 = $1;
+ $92 = ((($91)) + 20|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = $1;
+ $95 = ((($94)) + 496|0);
+ $96 = $1;
+ $97 = ((($96)) + 64|0);
+ $98 = $2;
+ $99 = $4;
+ $100 = $nblocks;
+ FUNCTION_TABLE_viiiii[$93 & 127]($95,$97,$98,$99,$100);
+ $101 = $nblocks;
+ $102 = $blocksize;
+ $103 = Math_imul($101, $102)|0;
+ $104 = $2;
+ $105 = (($104) + ($103)|0);
+ $2 = $105;
+ $106 = $nblocks;
+ $107 = $blocksize;
+ $108 = Math_imul($106, $107)|0;
+ $109 = $4;
+ $110 = (($109) + ($108)|0);
+ $4 = $110;
+ $111 = $nblocks;
+ $112 = $blocksize;
+ $113 = Math_imul($111, $112)|0;
+ $114 = $5;
+ $115 = (($114) - ($113))|0;
+ $5 = $115;
+ } else {
+ label = 10;
+ }
+ } else {
+ label = 10;
+ }
+ L15: do {
+ if ((label|0) == 10) {
+ while(1) {
+ label = 0;
+ $116 = $5;
+ $117 = $blocksize_x_2;
+ $118 = ($116>>>0)>=($117>>>0);
+ if (!($118)) {
+ break L15;
+ }
+ $119 = $enc_fn;
+ $120 = $1;
+ $121 = ((($120)) + 496|0);
+ $122 = $1;
+ $123 = ((($122)) + 64|0);
+ $124 = $1;
+ $125 = ((($124)) + 64|0);
+ $126 = (FUNCTION_TABLE_iiii[$119 & 127]($121,$123,$125)|0);
+ $nburn = $126;
+ $127 = $nburn;
+ $128 = $burn;
+ $129 = ($127>>>0)>($128>>>0);
+ $130 = $nburn;
+ $131 = $burn;
+ $132 = $129 ? $130 : $131;
+ $burn = $132;
+ $133 = $2;
+ $134 = $1;
+ $135 = ((($134)) + 64|0);
+ $136 = $4;
+ $137 = $blocksize;
+ _buf_xor_2dst_1830($133,$135,$136,$137);
+ $138 = $blocksize;
+ $139 = $2;
+ $140 = (($139) + ($138)|0);
+ $2 = $140;
+ $141 = $blocksize;
+ $142 = $4;
+ $143 = (($142) + ($141)|0);
+ $4 = $143;
+ $144 = $blocksize;
+ $145 = $5;
+ $146 = (($145) - ($144))|0;
+ $5 = $146;
+ label = 10;
+ }
+ }
+ } while(0);
+ $147 = $5;
+ $148 = $blocksize;
+ $149 = ($147>>>0)>=($148>>>0);
+ if ($149) {
+ $150 = $1;
+ $151 = ((($150)) + 96|0);
+ $152 = $1;
+ $153 = ((($152)) + 64|0);
+ $154 = $blocksize;
+ _buf_cpy_1831($151,$153,$154);
+ $155 = $enc_fn;
+ $156 = $1;
+ $157 = ((($156)) + 496|0);
+ $158 = $1;
+ $159 = ((($158)) + 64|0);
+ $160 = $1;
+ $161 = ((($160)) + 64|0);
+ $162 = (FUNCTION_TABLE_iiii[$155 & 127]($157,$159,$161)|0);
+ $nburn = $162;
+ $163 = $nburn;
+ $164 = $burn;
+ $165 = ($163>>>0)>($164>>>0);
+ $166 = $nburn;
+ $167 = $burn;
+ $168 = $165 ? $166 : $167;
+ $burn = $168;
+ $169 = $2;
+ $170 = $1;
+ $171 = ((($170)) + 64|0);
+ $172 = $4;
+ $173 = $blocksize;
+ _buf_xor_2dst_1830($169,$171,$172,$173);
+ $174 = $blocksize;
+ $175 = $2;
+ $176 = (($175) + ($174)|0);
+ $2 = $176;
+ $177 = $blocksize;
+ $178 = $4;
+ $179 = (($178) + ($177)|0);
+ $4 = $179;
+ $180 = $blocksize;
+ $181 = $5;
+ $182 = (($181) - ($180))|0;
+ $5 = $182;
+ }
+ $183 = $5;
+ $184 = ($183|0)!=(0);
+ if ($184) {
+ $185 = $1;
+ $186 = ((($185)) + 96|0);
+ $187 = $1;
+ $188 = ((($187)) + 64|0);
+ $189 = $blocksize;
+ _buf_cpy_1831($186,$188,$189);
+ $190 = $enc_fn;
+ $191 = $1;
+ $192 = ((($191)) + 496|0);
+ $193 = $1;
+ $194 = ((($193)) + 64|0);
+ $195 = $1;
+ $196 = ((($195)) + 64|0);
+ $197 = (FUNCTION_TABLE_iiii[$190 & 127]($192,$194,$196)|0);
+ $nburn = $197;
+ $198 = $nburn;
+ $199 = $burn;
+ $200 = ($198>>>0)>($199>>>0);
+ $201 = $nburn;
+ $202 = $burn;
+ $203 = $200 ? $201 : $202;
+ $burn = $203;
+ $204 = $blocksize;
+ $205 = $1;
+ $206 = ((($205)) + 112|0);
+ HEAP32[$206>>2] = $204;
+ $207 = $5;
+ $208 = $1;
+ $209 = ((($208)) + 112|0);
+ $210 = HEAP32[$209>>2]|0;
+ $211 = (($210) - ($207))|0;
+ HEAP32[$209>>2] = $211;
+ $212 = $2;
+ $213 = $1;
+ $214 = ((($213)) + 64|0);
+ $215 = $4;
+ $216 = $5;
+ _buf_xor_2dst_1830($212,$214,$215,$216);
+ $217 = $5;
+ $218 = $2;
+ $219 = (($218) + ($217)|0);
+ $2 = $219;
+ $220 = $5;
+ $221 = $4;
+ $222 = (($221) + ($220)|0);
+ $4 = $222;
+ $5 = 0;
+ }
+ $223 = $burn;
+ $224 = ($223>>>0)>(0);
+ if ($224) {
+ $225 = $burn;
+ $226 = (($225) + 16)|0;
+ ___gcry_burn_stack($226);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $227 = $0;
+ STACKTOP = sp;return ($227|0);
+}
+function _buf_xor_2dst_1830($_dst1,$_dst2,$_src,$len) {
+ $_dst1 = $_dst1|0;
+ $_dst2 = $_dst2|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst1 = 0, $dst2 = 0, $ldst1 = 0, $ldst2 = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst1;
+ $1 = $_dst2;
+ $2 = $_src;
+ $3 = $len;
+ $4 = $0;
+ $dst1 = $4;
+ $5 = $1;
+ $dst2 = $5;
+ $6 = $2;
+ $src = $6;
+ $longmask = 3;
+ $7 = $src;
+ $8 = $7;
+ $9 = $dst1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $dst2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst1;
+ $ldst1 = $17;
+ $18 = $dst2;
+ $ldst2 = $18;
+ $19 = $src;
+ $lsrc = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc;
+ $23 = ((($22)) + 4|0);
+ $lsrc = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $ldst2;
+ $26 = ((($25)) + 4|0);
+ $ldst2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $27 ^ $24;
+ HEAP32[$25>>2] = $28;
+ $29 = $ldst1;
+ $30 = ((($29)) + 4|0);
+ $ldst1 = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst1;
+ $dst1 = $33;
+ $34 = $ldst2;
+ $dst2 = $34;
+ $35 = $lsrc;
+ $src = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src;
+ $39 = ((($38)) + 1|0);
+ $src = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $dst2;
+ $43 = ((($42)) + 1|0);
+ $dst2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $45 ^ $41;
+ $47 = $46&255;
+ HEAP8[$42>>0] = $47;
+ $48 = $dst1;
+ $49 = ((($48)) + 1|0);
+ $dst1 = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _buf_cpy_1831($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_cfb_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $blocksize = 0, $blocksize_x_2 = 0, $burn = 0, $enc_fn = 0, $ivp = 0, $nblocks = 0, $nburn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 36|0);
+ $10 = HEAP32[$9>>2]|0;
+ $enc_fn = $10;
+ $11 = $1;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 20|0);
+ $15 = HEAP32[$14>>2]|0;
+ $blocksize = $15;
+ $16 = $blocksize;
+ $17 = $blocksize;
+ $18 = (($16) + ($17))|0;
+ $blocksize_x_2 = $18;
+ $19 = $3;
+ $20 = $5;
+ $21 = ($19>>>0)<($20>>>0);
+ if ($21) {
+ $0 = 200;
+ $229 = $0;
+ STACKTOP = sp;return ($229|0);
+ }
+ $22 = $5;
+ $23 = $1;
+ $24 = ((($23)) + 112|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($22>>>0)<=($25>>>0);
+ if ($26) {
+ $27 = $1;
+ $28 = ((($27)) + 64|0);
+ $29 = $blocksize;
+ $30 = (($28) + ($29)|0);
+ $31 = $1;
+ $32 = ((($31)) + 112|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (0 - ($33))|0;
+ $35 = (($30) + ($34)|0);
+ $ivp = $35;
+ $36 = $2;
+ $37 = $ivp;
+ $38 = $4;
+ $39 = $5;
+ _buf_xor_n_copy_1834($36,$37,$38,$39);
+ $40 = $5;
+ $41 = $1;
+ $42 = ((($41)) + 112|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($43) - ($40))|0;
+ HEAP32[$42>>2] = $44;
+ $0 = 0;
+ $229 = $0;
+ STACKTOP = sp;return ($229|0);
+ }
+ $burn = 0;
+ $45 = $1;
+ $46 = ((($45)) + 112|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(0);
+ if ($48) {
+ $49 = $1;
+ $50 = ((($49)) + 112|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $5;
+ $53 = (($52) - ($51))|0;
+ $5 = $53;
+ $54 = $1;
+ $55 = ((($54)) + 64|0);
+ $56 = $blocksize;
+ $57 = (($55) + ($56)|0);
+ $58 = $1;
+ $59 = ((($58)) + 112|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = (0 - ($60))|0;
+ $62 = (($57) + ($61)|0);
+ $ivp = $62;
+ $63 = $2;
+ $64 = $ivp;
+ $65 = $4;
+ $66 = $1;
+ $67 = ((($66)) + 112|0);
+ $68 = HEAP32[$67>>2]|0;
+ _buf_xor_n_copy_1834($63,$64,$65,$68);
+ $69 = $1;
+ $70 = ((($69)) + 112|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $2;
+ $73 = (($72) + ($71)|0);
+ $2 = $73;
+ $74 = $1;
+ $75 = ((($74)) + 112|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $4;
+ $78 = (($77) + ($76)|0);
+ $4 = $78;
+ $79 = $1;
+ $80 = ((($79)) + 112|0);
+ HEAP32[$80>>2] = 0;
+ }
+ $81 = $5;
+ $82 = $blocksize_x_2;
+ $83 = ($81>>>0)>=($82>>>0);
+ if ($83) {
+ $84 = $1;
+ $85 = ((($84)) + 20|0);
+ $86 = ((($85)) + 4|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = ($87|0)!=(0|0);
+ if ($88) {
+ $89 = $5;
+ $90 = $blocksize;
+ $91 = (($89>>>0) / ($90>>>0))&-1;
+ $nblocks = $91;
+ $92 = $1;
+ $93 = ((($92)) + 20|0);
+ $94 = ((($93)) + 4|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = $1;
+ $97 = ((($96)) + 496|0);
+ $98 = $1;
+ $99 = ((($98)) + 64|0);
+ $100 = $2;
+ $101 = $4;
+ $102 = $nblocks;
+ FUNCTION_TABLE_viiiii[$95 & 127]($97,$99,$100,$101,$102);
+ $103 = $nblocks;
+ $104 = $blocksize;
+ $105 = Math_imul($103, $104)|0;
+ $106 = $2;
+ $107 = (($106) + ($105)|0);
+ $2 = $107;
+ $108 = $nblocks;
+ $109 = $blocksize;
+ $110 = Math_imul($108, $109)|0;
+ $111 = $4;
+ $112 = (($111) + ($110)|0);
+ $4 = $112;
+ $113 = $nblocks;
+ $114 = $blocksize;
+ $115 = Math_imul($113, $114)|0;
+ $116 = $5;
+ $117 = (($116) - ($115))|0;
+ $5 = $117;
+ } else {
+ label = 10;
+ }
+ } else {
+ label = 10;
+ }
+ L15: do {
+ if ((label|0) == 10) {
+ while(1) {
+ label = 0;
+ $118 = $5;
+ $119 = $blocksize_x_2;
+ $120 = ($118>>>0)>=($119>>>0);
+ if (!($120)) {
+ break L15;
+ }
+ $121 = $enc_fn;
+ $122 = $1;
+ $123 = ((($122)) + 496|0);
+ $124 = $1;
+ $125 = ((($124)) + 64|0);
+ $126 = $1;
+ $127 = ((($126)) + 64|0);
+ $128 = (FUNCTION_TABLE_iiii[$121 & 127]($123,$125,$127)|0);
+ $nburn = $128;
+ $129 = $nburn;
+ $130 = $burn;
+ $131 = ($129>>>0)>($130>>>0);
+ $132 = $nburn;
+ $133 = $burn;
+ $134 = $131 ? $132 : $133;
+ $burn = $134;
+ $135 = $2;
+ $136 = $1;
+ $137 = ((($136)) + 64|0);
+ $138 = $4;
+ $139 = $blocksize;
+ _buf_xor_n_copy_1834($135,$137,$138,$139);
+ $140 = $blocksize;
+ $141 = $2;
+ $142 = (($141) + ($140)|0);
+ $2 = $142;
+ $143 = $blocksize;
+ $144 = $4;
+ $145 = (($144) + ($143)|0);
+ $4 = $145;
+ $146 = $blocksize;
+ $147 = $5;
+ $148 = (($147) - ($146))|0;
+ $5 = $148;
+ label = 10;
+ }
+ }
+ } while(0);
+ $149 = $5;
+ $150 = $blocksize;
+ $151 = ($149>>>0)>=($150>>>0);
+ if ($151) {
+ $152 = $1;
+ $153 = ((($152)) + 96|0);
+ $154 = $1;
+ $155 = ((($154)) + 64|0);
+ $156 = $blocksize;
+ _buf_cpy_1831($153,$155,$156);
+ $157 = $enc_fn;
+ $158 = $1;
+ $159 = ((($158)) + 496|0);
+ $160 = $1;
+ $161 = ((($160)) + 64|0);
+ $162 = $1;
+ $163 = ((($162)) + 64|0);
+ $164 = (FUNCTION_TABLE_iiii[$157 & 127]($159,$161,$163)|0);
+ $nburn = $164;
+ $165 = $nburn;
+ $166 = $burn;
+ $167 = ($165>>>0)>($166>>>0);
+ $168 = $nburn;
+ $169 = $burn;
+ $170 = $167 ? $168 : $169;
+ $burn = $170;
+ $171 = $2;
+ $172 = $1;
+ $173 = ((($172)) + 64|0);
+ $174 = $4;
+ $175 = $blocksize;
+ _buf_xor_n_copy_1834($171,$173,$174,$175);
+ $176 = $blocksize;
+ $177 = $2;
+ $178 = (($177) + ($176)|0);
+ $2 = $178;
+ $179 = $blocksize;
+ $180 = $4;
+ $181 = (($180) + ($179)|0);
+ $4 = $181;
+ $182 = $blocksize;
+ $183 = $5;
+ $184 = (($183) - ($182))|0;
+ $5 = $184;
+ }
+ $185 = $5;
+ $186 = ($185|0)!=(0);
+ if ($186) {
+ $187 = $1;
+ $188 = ((($187)) + 96|0);
+ $189 = $1;
+ $190 = ((($189)) + 64|0);
+ $191 = $blocksize;
+ _buf_cpy_1831($188,$190,$191);
+ $192 = $enc_fn;
+ $193 = $1;
+ $194 = ((($193)) + 496|0);
+ $195 = $1;
+ $196 = ((($195)) + 64|0);
+ $197 = $1;
+ $198 = ((($197)) + 64|0);
+ $199 = (FUNCTION_TABLE_iiii[$192 & 127]($194,$196,$198)|0);
+ $nburn = $199;
+ $200 = $nburn;
+ $201 = $burn;
+ $202 = ($200>>>0)>($201>>>0);
+ $203 = $nburn;
+ $204 = $burn;
+ $205 = $202 ? $203 : $204;
+ $burn = $205;
+ $206 = $blocksize;
+ $207 = $1;
+ $208 = ((($207)) + 112|0);
+ HEAP32[$208>>2] = $206;
+ $209 = $5;
+ $210 = $1;
+ $211 = ((($210)) + 112|0);
+ $212 = HEAP32[$211>>2]|0;
+ $213 = (($212) - ($209))|0;
+ HEAP32[$211>>2] = $213;
+ $214 = $2;
+ $215 = $1;
+ $216 = ((($215)) + 64|0);
+ $217 = $4;
+ $218 = $5;
+ _buf_xor_n_copy_1834($214,$216,$217,$218);
+ $219 = $5;
+ $220 = $2;
+ $221 = (($220) + ($219)|0);
+ $2 = $221;
+ $222 = $5;
+ $223 = $4;
+ $224 = (($223) + ($222)|0);
+ $4 = $224;
+ $5 = 0;
+ }
+ $225 = $burn;
+ $226 = ($225>>>0)>(0);
+ if ($226) {
+ $227 = $burn;
+ $228 = (($227) + 16)|0;
+ ___gcry_burn_stack($228);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $229 = $0;
+ STACKTOP = sp;return ($229|0);
+}
+function _buf_xor_n_copy_1834($_dst_xor,$_srcdst_cpy,$_src,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_srcdst_cpy;
+ $2 = $_src;
+ $3 = $len;
+ $4 = $0;
+ $5 = $2;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ _buf_xor_n_copy_2_1835($4,$5,$6,$7,$8);
+ STACKTOP = sp;return;
+}
+function _buf_xor_n_copy_2_1835($_dst_xor,$_src_xor,$_srcdst_cpy,$_src_cpy,$len) {
+ $_dst_xor = $_dst_xor|0;
+ $_src_xor = $_src_xor|0;
+ $_srcdst_cpy = $_srcdst_cpy|0;
+ $_src_cpy = $_src_cpy|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $dst_xor = 0, $ldst_xor = 0, $longmask = 0, $lsrc_cpy = 0, $lsrc_xor = 0, $lsrcdst_cpy = 0, $ltemp = 0, $src_cpy = 0, $src_xor = 0, $srcdst_cpy = 0, $temp = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst_xor;
+ $1 = $_src_xor;
+ $2 = $_srcdst_cpy;
+ $3 = $_src_cpy;
+ $4 = $len;
+ $5 = $0;
+ $dst_xor = $5;
+ $6 = $2;
+ $srcdst_cpy = $6;
+ $7 = $1;
+ $src_xor = $7;
+ $8 = $3;
+ $src_cpy = $8;
+ $longmask = 3;
+ $9 = $src_cpy;
+ $10 = $9;
+ $11 = $src_xor;
+ $12 = $11;
+ $13 = $10 | $12;
+ $14 = $dst_xor;
+ $15 = $14;
+ $16 = $13 | $15;
+ $17 = $srcdst_cpy;
+ $18 = $17;
+ $19 = $16 | $18;
+ $20 = $19 & 3;
+ $21 = ($20|0)!=(0);
+ if (!($21)) {
+ $22 = $dst_xor;
+ $ldst_xor = $22;
+ $23 = $src_xor;
+ $lsrc_xor = $23;
+ $24 = $srcdst_cpy;
+ $lsrcdst_cpy = $24;
+ $25 = $src_cpy;
+ $lsrc_cpy = $25;
+ while(1) {
+ $26 = $4;
+ $27 = ($26>>>0)>=(4);
+ if (!($27)) {
+ break;
+ }
+ $28 = $lsrc_cpy;
+ $29 = ((($28)) + 4|0);
+ $lsrc_cpy = $29;
+ $30 = HEAP32[$28>>2]|0;
+ $ltemp = $30;
+ $31 = $lsrcdst_cpy;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = $lsrc_xor;
+ $34 = ((($33)) + 4|0);
+ $lsrc_xor = $34;
+ $35 = HEAP32[$33>>2]|0;
+ $36 = $32 ^ $35;
+ $37 = $ldst_xor;
+ $38 = ((($37)) + 4|0);
+ $ldst_xor = $38;
+ HEAP32[$37>>2] = $36;
+ $39 = $ltemp;
+ $40 = $lsrcdst_cpy;
+ $41 = ((($40)) + 4|0);
+ $lsrcdst_cpy = $41;
+ HEAP32[$40>>2] = $39;
+ $42 = $4;
+ $43 = (($42) - 4)|0;
+ $4 = $43;
+ }
+ $44 = $ldst_xor;
+ $dst_xor = $44;
+ $45 = $lsrc_xor;
+ $src_xor = $45;
+ $46 = $lsrcdst_cpy;
+ $srcdst_cpy = $46;
+ $47 = $lsrc_cpy;
+ $src_cpy = $47;
+ }
+ while(1) {
+ $48 = $4;
+ $49 = ($48|0)!=(0);
+ if (!($49)) {
+ break;
+ }
+ $50 = $src_cpy;
+ $51 = ((($50)) + 1|0);
+ $src_cpy = $51;
+ $52 = HEAP8[$50>>0]|0;
+ $temp = $52;
+ $53 = $srcdst_cpy;
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $src_xor;
+ $57 = ((($56)) + 1|0);
+ $src_xor = $57;
+ $58 = HEAP8[$56>>0]|0;
+ $59 = $58&255;
+ $60 = $55 ^ $59;
+ $61 = $60&255;
+ $62 = $dst_xor;
+ $63 = ((($62)) + 1|0);
+ $dst_xor = $63;
+ HEAP8[$62>>0] = $61;
+ $64 = $temp;
+ $65 = $srcdst_cpy;
+ $66 = ((($65)) + 1|0);
+ $srcdst_cpy = $66;
+ HEAP8[$65>>0] = $64;
+ $67 = $4;
+ $68 = (($67) + -1)|0;
+ $4 = $68;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_cmac_set_subkeys($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $0;
+ _cmac_generate_subkeys($1);
+ STACKTOP = sp;return 0;
+}
+function _cmac_generate_subkeys($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $bi = 0, $blocksize = 0, $burn = 0, $carry = 0, $i = 0, $j = 0;
+ var $rb = 0, $t = 0, $u = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $u = sp + 24|0;
+ $_vset_long = sp;
+ $0 = $c;
+ $1 = $0;
+ $2 = ((($1)) + 12|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 20|0);
+ $5 = HEAP32[$4>>2]|0;
+ $blocksize = $5;
+ $6 = $blocksize;
+ $7 = (16)<($6>>>0);
+ if ($7) {
+ __gcry_bug(46802,113,46816);
+ // unreachable;
+ }
+ $8 = $blocksize;
+ _memset(($u|0),0,($8|0))|0;
+ $9 = $0;
+ $10 = ((($9)) + 12|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ((($11)) + 36|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $0;
+ $15 = ((($14)) + 496|0);
+ $16 = (FUNCTION_TABLE_iiii[$13 & 127]($15,$u,$u)|0);
+ $burn = $16;
+ $17 = $blocksize;
+ $18 = ($17|0)==(16);
+ $19 = $18 ? 135 : 27;
+ $20 = $19&255;
+ $rb = $20;
+ $j = 0;
+ while(1) {
+ $21 = $j;
+ $22 = ($21|0)<(2);
+ if (!($22)) {
+ break;
+ }
+ $carry = 0;
+ $23 = $blocksize;
+ $24 = (($23) - 1)|0;
+ $i = $24;
+ while(1) {
+ $25 = $i;
+ $26 = ($25|0)>=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $i;
+ $28 = (($u) + ($27)|0);
+ $29 = HEAP8[$28>>0]|0;
+ $bi = $29;
+ $30 = $carry;
+ $31 = $30&255;
+ $32 = $bi;
+ $33 = $32&255;
+ $34 = $33 << 1;
+ $35 = $31 | $34;
+ $36 = $35&255;
+ $t = $36;
+ $37 = $bi;
+ $38 = $37&255;
+ $39 = $38 >> 7;
+ $40 = $39&255;
+ $carry = $40;
+ $41 = $t;
+ $42 = $41&255;
+ $43 = $42 & 255;
+ $44 = $43&255;
+ $45 = $i;
+ $46 = (($u) + ($45)|0);
+ HEAP8[$46>>0] = $44;
+ $47 = $i;
+ $48 = (($u) + ($47)|0);
+ $49 = HEAP8[$48>>0]|0;
+ $50 = $i;
+ $51 = $j;
+ $52 = $0;
+ $53 = ((($52)) + 128|0);
+ $54 = ((($53)) + 1|0);
+ $55 = (($54) + ($51<<4)|0);
+ $56 = (($55) + ($50)|0);
+ HEAP8[$56>>0] = $49;
+ $57 = $i;
+ $58 = (($57) + -1)|0;
+ $i = $58;
+ }
+ $59 = $carry;
+ $60 = $59&255;
+ $61 = ($60|0)!=(0);
+ $62 = $rb;
+ $63 = $62&255;
+ $64 = $61 ? $63 : 0;
+ $65 = $blocksize;
+ $66 = (($65) - 1)|0;
+ $67 = (($u) + ($66)|0);
+ $68 = HEAP8[$67>>0]|0;
+ $69 = $68&255;
+ $70 = $69 ^ $64;
+ $71 = $70&255;
+ HEAP8[$67>>0] = $71;
+ $72 = $blocksize;
+ $73 = (($72) - 1)|0;
+ $74 = (($u) + ($73)|0);
+ $75 = HEAP8[$74>>0]|0;
+ $76 = $blocksize;
+ $77 = (($76) - 1)|0;
+ $78 = $j;
+ $79 = $0;
+ $80 = ((($79)) + 128|0);
+ $81 = ((($80)) + 1|0);
+ $82 = (($81) + ($78<<4)|0);
+ $83 = (($82) + ($77)|0);
+ HEAP8[$83>>0] = $75;
+ $84 = $j;
+ $85 = (($84) + 1)|0;
+ $j = $85;
+ }
+ $_vptr = $u;
+ $_vlen = 16;
+ $_vset = 0;
+ $86 = $_vset;
+ $87 = $86&255;
+ $88 = $_vset_long;
+ $89 = $88;
+ HEAP32[$89>>2] = $87;
+ $90 = (($88) + 4)|0;
+ $91 = $90;
+ HEAP32[$91>>2] = 0;
+ while(1) {
+ $92 = $_vptr;
+ $93 = $92;
+ $94 = $93 & 7;
+ $95 = ($94|0)!=(0);
+ $96 = $_vlen;
+ $97 = ($96|0)!=(0);
+ $98 = $95 ? $97 : 0;
+ if (!($98)) {
+ break;
+ }
+ $99 = $_vset;
+ $100 = $_vptr;
+ HEAP8[$100>>0] = $99;
+ $101 = $_vptr;
+ $102 = ((($101)) + 1|0);
+ $_vptr = $102;
+ $103 = $_vlen;
+ $104 = (($103) + -1)|0;
+ $_vlen = $104;
+ }
+ $105 = $_vlen;
+ $106 = ($105>>>0)<(8);
+ if (!($106)) {
+ $107 = $_vset_long;
+ $108 = $107;
+ $109 = HEAP32[$108>>2]|0;
+ $110 = (($107) + 4)|0;
+ $111 = $110;
+ $112 = HEAP32[$111>>2]|0;
+ $113 = (___muldi3(($109|0),($112|0),16843009,16843009)|0);
+ $114 = tempRet0;
+ $115 = $_vset_long;
+ $116 = $115;
+ HEAP32[$116>>2] = $113;
+ $117 = (($115) + 4)|0;
+ $118 = $117;
+ HEAP32[$118>>2] = $114;
+ while(1) {
+ $119 = $_vptr;
+ $_vptr_long = $119;
+ $120 = $_vset_long;
+ $121 = $120;
+ $122 = HEAP32[$121>>2]|0;
+ $123 = (($120) + 4)|0;
+ $124 = $123;
+ $125 = HEAP32[$124>>2]|0;
+ $126 = $_vptr_long;
+ $127 = $126;
+ $128 = $127;
+ HEAP32[$128>>2] = $122;
+ $129 = (($127) + 4)|0;
+ $130 = $129;
+ HEAP32[$130>>2] = $125;
+ $131 = $_vlen;
+ $132 = (($131) - 8)|0;
+ $_vlen = $132;
+ $133 = $_vptr;
+ $134 = ((($133)) + 8|0);
+ $_vptr = $134;
+ $135 = $_vlen;
+ $136 = ($135>>>0)>=(8);
+ if (!($136)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $137 = $_vlen;
+ $138 = ($137|0)!=(0);
+ if (!($138)) {
+ break;
+ }
+ $139 = $_vset;
+ $140 = $_vptr;
+ HEAP8[$140>>0] = $139;
+ $141 = $_vptr;
+ $142 = ((($141)) + 1|0);
+ $_vptr = $142;
+ $143 = $_vlen;
+ $144 = (($143) + -1)|0;
+ $_vlen = $144;
+ }
+ $145 = $burn;
+ $146 = ($145|0)!=(0);
+ if (!($146)) {
+ STACKTOP = sp;return;
+ }
+ $147 = $burn;
+ $148 = (($147) + 16)|0;
+ ___gcry_burn_stack($148);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ctr_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
+ var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
+ var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0;
+ var $_vset_long = 0, $blocksize = 0, $burn = 0, $enc_fn = 0, $i = 0, $n = 0, $nblocks = 0, $nburn = 0, $tmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp + 80|0;
+ $_vset_long = sp;
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 36|0);
+ $10 = HEAP32[$9>>2]|0;
+ $enc_fn = $10;
+ $11 = $1;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 20|0);
+ $15 = HEAP32[$14>>2]|0;
+ $blocksize = $15;
+ $16 = $3;
+ $17 = $5;
+ $18 = ($16>>>0)<($17>>>0);
+ if ($18) {
+ $0 = 200;
+ $235 = $0;
+ STACKTOP = sp;return ($235|0);
+ }
+ $burn = 0;
+ $19 = $1;
+ $20 = ((($19)) + 112|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $23 = $1;
+ $24 = ((($23)) + 112|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $blocksize;
+ $27 = ($25>>>0)<($26>>>0);
+ if (!($27)) {
+ __gcry_assert_failed(46838,46860,53,46873);
+ // unreachable;
+ }
+ $28 = $blocksize;
+ $29 = $1;
+ $30 = ((($29)) + 112|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (($28) - ($31))|0;
+ $i = $32;
+ $33 = $1;
+ $34 = ((($33)) + 112|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $5;
+ $37 = ($35>>>0)>($36>>>0);
+ if ($37) {
+ $38 = $5;
+ $42 = $38;
+ } else {
+ $39 = $1;
+ $40 = ((($39)) + 112|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $41;
+ }
+ $n = $42;
+ $43 = $2;
+ $44 = $4;
+ $45 = $i;
+ $46 = $1;
+ $47 = ((($46)) + 96|0);
+ $48 = (($47) + ($45)|0);
+ $49 = $n;
+ _buf_xor_1851($43,$44,$48,$49);
+ $50 = $n;
+ $51 = $1;
+ $52 = ((($51)) + 112|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($53) - ($50))|0;
+ HEAP32[$52>>2] = $54;
+ $55 = $n;
+ $56 = $4;
+ $57 = (($56) + ($55)|0);
+ $4 = $57;
+ $58 = $n;
+ $59 = $2;
+ $60 = (($59) + ($58)|0);
+ $2 = $60;
+ $61 = $n;
+ $62 = $5;
+ $63 = (($62) - ($61))|0;
+ $5 = $63;
+ }
+ $64 = $5;
+ $65 = $blocksize;
+ $66 = (($64>>>0) / ($65>>>0))&-1;
+ $nblocks = $66;
+ $67 = $nblocks;
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ $69 = $1;
+ $70 = ((($69)) + 20|0);
+ $71 = ((($70)) + 16|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ($72|0)!=(0|0);
+ if ($73) {
+ $74 = $1;
+ $75 = ((($74)) + 20|0);
+ $76 = ((($75)) + 16|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = $1;
+ $79 = ((($78)) + 496|0);
+ $80 = $1;
+ $81 = ((($80)) + 80|0);
+ $82 = $2;
+ $83 = $4;
+ $84 = $nblocks;
+ FUNCTION_TABLE_viiiii[$77 & 127]($79,$81,$82,$83,$84);
+ $85 = $nblocks;
+ $86 = $blocksize;
+ $87 = Math_imul($85, $86)|0;
+ $88 = $4;
+ $89 = (($88) + ($87)|0);
+ $4 = $89;
+ $90 = $nblocks;
+ $91 = $blocksize;
+ $92 = Math_imul($90, $91)|0;
+ $93 = $2;
+ $94 = (($93) + ($92)|0);
+ $2 = $94;
+ $95 = $nblocks;
+ $96 = $blocksize;
+ $97 = Math_imul($95, $96)|0;
+ $98 = $5;
+ $99 = (($98) - ($97))|0;
+ $5 = $99;
+ }
+ }
+ $100 = $5;
+ $101 = ($100|0)!=(0);
+ L19: do {
+ if ($101) {
+ while(1) {
+ $102 = $enc_fn;
+ $103 = $1;
+ $104 = ((($103)) + 496|0);
+ $105 = $1;
+ $106 = ((($105)) + 80|0);
+ $107 = (FUNCTION_TABLE_iiii[$102 & 127]($104,$tmp,$106)|0);
+ $nburn = $107;
+ $108 = $nburn;
+ $109 = $burn;
+ $110 = ($108>>>0)>($109>>>0);
+ $111 = $nburn;
+ $112 = $burn;
+ $113 = $110 ? $111 : $112;
+ $burn = $113;
+ $114 = $blocksize;
+ $i = $114;
+ while(1) {
+ $115 = $i;
+ $116 = ($115|0)>(0);
+ if (!($116)) {
+ break;
+ }
+ $117 = $i;
+ $118 = (($117) - 1)|0;
+ $119 = $1;
+ $120 = ((($119)) + 80|0);
+ $121 = (($120) + ($118)|0);
+ $122 = HEAP8[$121>>0]|0;
+ $123 = (($122) + 1)<<24>>24;
+ HEAP8[$121>>0] = $123;
+ $124 = $i;
+ $125 = (($124) - 1)|0;
+ $126 = $1;
+ $127 = ((($126)) + 80|0);
+ $128 = (($127) + ($125)|0);
+ $129 = HEAP8[$128>>0]|0;
+ $130 = $129&255;
+ $131 = ($130|0)!=(0);
+ if ($131) {
+ break;
+ }
+ $132 = $i;
+ $133 = (($132) + -1)|0;
+ $i = $133;
+ }
+ $134 = $blocksize;
+ $135 = $5;
+ $136 = ($134>>>0)<($135>>>0);
+ $137 = $blocksize;
+ $138 = $5;
+ $139 = $136 ? $137 : $138;
+ $n = $139;
+ $140 = $2;
+ $141 = $4;
+ $142 = $n;
+ _buf_xor_1851($140,$141,$tmp,$142);
+ $143 = $n;
+ $144 = $5;
+ $145 = (($144) - ($143))|0;
+ $5 = $145;
+ $146 = $n;
+ $147 = $2;
+ $148 = (($147) + ($146)|0);
+ $2 = $148;
+ $149 = $n;
+ $150 = $4;
+ $151 = (($150) + ($149)|0);
+ $4 = $151;
+ $152 = $5;
+ $153 = ($152|0)!=(0);
+ if (!($153)) {
+ break;
+ }
+ }
+ $154 = $blocksize;
+ $155 = $n;
+ $156 = (($154) - ($155))|0;
+ $157 = $1;
+ $158 = ((($157)) + 112|0);
+ HEAP32[$158>>2] = $156;
+ $159 = $1;
+ $160 = ((($159)) + 112|0);
+ $161 = HEAP32[$160>>2]|0;
+ $162 = ($161|0)!=(0);
+ if ($162) {
+ $163 = $1;
+ $164 = ((($163)) + 96|0);
+ $165 = $n;
+ $166 = (($164) + ($165)|0);
+ $167 = $n;
+ $168 = (($tmp) + ($167)|0);
+ $169 = $1;
+ $170 = ((($169)) + 112|0);
+ $171 = HEAP32[$170>>2]|0;
+ _buf_cpy_1852($166,$168,$171);
+ }
+ $_vptr = $tmp;
+ $_vlen = 16;
+ $_vset = 0;
+ $172 = $_vset;
+ $173 = $172&255;
+ $174 = $_vset_long;
+ $175 = $174;
+ HEAP32[$175>>2] = $173;
+ $176 = (($174) + 4)|0;
+ $177 = $176;
+ HEAP32[$177>>2] = 0;
+ while(1) {
+ $178 = $_vptr;
+ $179 = $178;
+ $180 = $179 & 7;
+ $181 = ($180|0)!=(0);
+ $182 = $_vlen;
+ $183 = ($182|0)!=(0);
+ $184 = $181 ? $183 : 0;
+ if (!($184)) {
+ break;
+ }
+ $185 = $_vset;
+ $186 = $_vptr;
+ HEAP8[$186>>0] = $185;
+ $187 = $_vptr;
+ $188 = ((($187)) + 1|0);
+ $_vptr = $188;
+ $189 = $_vlen;
+ $190 = (($189) + -1)|0;
+ $_vlen = $190;
+ }
+ $191 = $_vlen;
+ $192 = ($191>>>0)<(8);
+ if (!($192)) {
+ $193 = $_vset_long;
+ $194 = $193;
+ $195 = HEAP32[$194>>2]|0;
+ $196 = (($193) + 4)|0;
+ $197 = $196;
+ $198 = HEAP32[$197>>2]|0;
+ $199 = (___muldi3(($195|0),($198|0),16843009,16843009)|0);
+ $200 = tempRet0;
+ $201 = $_vset_long;
+ $202 = $201;
+ HEAP32[$202>>2] = $199;
+ $203 = (($201) + 4)|0;
+ $204 = $203;
+ HEAP32[$204>>2] = $200;
+ while(1) {
+ $205 = $_vptr;
+ $_vptr_long = $205;
+ $206 = $_vset_long;
+ $207 = $206;
+ $208 = HEAP32[$207>>2]|0;
+ $209 = (($206) + 4)|0;
+ $210 = $209;
+ $211 = HEAP32[$210>>2]|0;
+ $212 = $_vptr_long;
+ $213 = $212;
+ $214 = $213;
+ HEAP32[$214>>2] = $208;
+ $215 = (($213) + 4)|0;
+ $216 = $215;
+ HEAP32[$216>>2] = $211;
+ $217 = $_vlen;
+ $218 = (($217) - 8)|0;
+ $_vlen = $218;
+ $219 = $_vptr;
+ $220 = ((($219)) + 8|0);
+ $_vptr = $220;
+ $221 = $_vlen;
+ $222 = ($221>>>0)>=(8);
+ if (!($222)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $223 = $_vlen;
+ $224 = ($223|0)!=(0);
+ if (!($224)) {
+ break L19;
+ }
+ $225 = $_vset;
+ $226 = $_vptr;
+ HEAP8[$226>>0] = $225;
+ $227 = $_vptr;
+ $228 = ((($227)) + 1|0);
+ $_vptr = $228;
+ $229 = $_vlen;
+ $230 = (($229) + -1)|0;
+ $_vlen = $230;
+ }
+ }
+ } while(0);
+ $231 = $burn;
+ $232 = ($231>>>0)>(0);
+ if ($232) {
+ $233 = $burn;
+ $234 = (($233) + 16)|0;
+ ___gcry_burn_stack($234);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $235 = $0;
+ STACKTOP = sp;return ($235|0);
+}
+function _buf_xor_1851($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _buf_cpy_1852($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_gcm_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $err = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(16);
+ if ($11) {
+ $0 = 12;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $12 = $3;
+ $13 = $5;
+ $14 = ($12>>>0)<($13>>>0);
+ if ($14) {
+ $0 = 200;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $15 = $1;
+ $16 = ((($15)) + 128|0);
+ $17 = ((($16)) + 68|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = ($18&255) >>> 2;
+ $20 = $19 & 1;
+ $21 = $20&255;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $0 = 139;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $23 = $1;
+ $24 = ((($23)) + 56|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = ($25&255) >>> 2;
+ $27 = $26 & 1;
+ $28 = $27&255;
+ $29 = ($28|0)!=(0);
+ if (!($29)) {
+ $30 = $1;
+ $31 = ((($30)) + 128|0);
+ $32 = ((($31)) + 68|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = $33 & 1;
+ $35 = $34&255;
+ $36 = ($35|0)!=(0);
+ if (!($36)) {
+ $37 = $1;
+ $38 = ((($37)) + 56|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = ($39&255) >>> 1;
+ $41 = $40 & 1;
+ $42 = $41&255;
+ $43 = ($42|0)!=(0);
+ if (!($43)) {
+ $44 = $1;
+ (__gcry_cipher_gcm_setiv($44,76475,16)|0);
+ }
+ $45 = $1;
+ $46 = ((($45)) + 128|0);
+ $47 = ((($46)) + 68|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = ($48&255) >>> 3;
+ $50 = $49 & 1;
+ $51 = $50&255;
+ $52 = ($51|0)!=(0);
+ if ($52) {
+ $0 = 156;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $53 = $1;
+ $54 = ((($53)) + 128|0);
+ $55 = ((($54)) + 68|0);
+ $56 = HEAP8[$55>>0]|0;
+ $57 = ($56&255) >>> 1;
+ $58 = $57 & 1;
+ $59 = $58&255;
+ $60 = ($59|0)!=(0);
+ if (!($60)) {
+ $61 = $1;
+ $62 = $1;
+ $63 = ((($62)) + 128|0);
+ _do_ghash_buf($61,$63,0,0,1);
+ $64 = $1;
+ $65 = ((($64)) + 128|0);
+ $66 = ((($65)) + 68|0);
+ $67 = HEAP8[$66>>0]|0;
+ $68 = $67 & -3;
+ $69 = $68 | 2;
+ HEAP8[$66>>0] = $69;
+ }
+ $70 = $1;
+ $71 = ((($70)) + 128|0);
+ $72 = ((($71)) + 44|0);
+ $73 = $5;
+ _gcm_bytecounter_add($72,$73);
+ $74 = $1;
+ $75 = ((($74)) + 128|0);
+ $76 = ((($75)) + 44|0);
+ $77 = (_gcm_check_datalen($76)|0);
+ $78 = ($77|0)!=(0);
+ $79 = $1;
+ if (!($78)) {
+ $80 = ((($79)) + 128|0);
+ $81 = ((($80)) + 68|0);
+ $82 = HEAP8[$81>>0]|0;
+ $83 = $82 & -5;
+ $84 = $83 | 4;
+ HEAP8[$81>>0] = $84;
+ $0 = 139;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ $85 = $2;
+ $86 = $3;
+ $87 = $4;
+ $88 = $5;
+ $89 = (__gcry_cipher_ctr_encrypt($79,$85,$86,$87,$88)|0);
+ $err = $89;
+ $90 = $err;
+ $91 = ($90|0)!=(0);
+ if ($91) {
+ $92 = $err;
+ $0 = $92;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ } else {
+ $93 = $1;
+ $94 = $1;
+ $95 = ((($94)) + 128|0);
+ $96 = $2;
+ $97 = $5;
+ _do_ghash_buf($93,$95,$96,$97,0);
+ $0 = 0;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+ }
+ }
+ }
+ $0 = 156;
+ $98 = $0;
+ STACKTOP = sp;return ($98|0);
+}
+function __gcry_cipher_gcm_setiv($c,$iv,$ivlen) {
+ $c = $c|0;
+ $iv = $iv|0;
+ $ivlen = $ivlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $iv;
+ $2 = $ivlen;
+ $3 = $0;
+ $4 = ((($3)) + 56|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = $5 & -3;
+ HEAP8[$4>>0] = $6;
+ $7 = $0;
+ $8 = ((($7)) + 56|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9 & -5;
+ HEAP8[$8>>0] = $10;
+ $11 = $0;
+ $12 = ((($11)) + 128|0);
+ $13 = ((($12)) + 68|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14 & -9;
+ HEAP8[$13>>0] = $15;
+ $16 = (__gcry_fips_mode()|0);
+ $17 = ($16|0)!=(0);
+ if (!($17)) {
+ $24 = $0;
+ $25 = $1;
+ $26 = $2;
+ $27 = (__gcry_cipher_gcm_initiv($24,$25,$26)|0);
+ STACKTOP = sp;return ($27|0);
+ }
+ $18 = $0;
+ $19 = ((($18)) + 128|0);
+ $20 = ((($19)) + 68|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21 & -9;
+ $23 = $22 | 8;
+ HEAP8[$20>>0] = $23;
+ $24 = $0;
+ $25 = $1;
+ $26 = $2;
+ $27 = (__gcry_cipher_gcm_initiv($24,$25,$26)|0);
+ STACKTOP = sp;return ($27|0);
+}
+function __gcry_cipher_gcm_initiv($c,$iv,$ivlen) {
+ $c = $c|0;
+ $iv = $iv|0;
+ $ivlen = $ivlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vlen2 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr_long = 0, $_vptr_long5 = 0, $_vset = 0, $_vset3 = 0, $_vset_long = 0, $_vset_long4 = 0, $bitlengths = 0, $iv_bytes = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $iv_bytes = sp + 56|0;
+ $bitlengths = sp + 40|0;
+ $_vset_long = sp + 8|0;
+ $_vset_long4 = sp;
+ $1 = $c;
+ $2 = $iv;
+ $3 = $ivlen;
+ $4 = $1;
+ $5 = ((($4)) + 128|0);
+ $6 = ((($5)) + 36|0);
+ ;HEAP32[$6>>2]=0|0;HEAP32[$6+4>>2]=0|0;
+ $7 = $1;
+ $8 = ((($7)) + 128|0);
+ $9 = ((($8)) + 44|0);
+ ;HEAP32[$9>>2]=0|0;HEAP32[$9+4>>2]=0|0;
+ $10 = $1;
+ $11 = ((($10)) + 128|0);
+ ;HEAP32[$11>>2]=0|0;HEAP32[$11+4>>2]=0|0;HEAP32[$11+8>>2]=0|0;HEAP32[$11+12>>2]=0|0;
+ $12 = $1;
+ $13 = ((($12)) + 128|0);
+ $14 = ((($13)) + 68|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15 & -5;
+ HEAP8[$14>>0] = $16;
+ $17 = $1;
+ $18 = ((($17)) + 128|0);
+ $19 = ((($18)) + 68|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20 & -2;
+ HEAP8[$19>>0] = $21;
+ $22 = $1;
+ $23 = ((($22)) + 128|0);
+ $24 = ((($23)) + 68|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25 & -3;
+ HEAP8[$24>>0] = $26;
+ $27 = $3;
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $0 = 139;
+ $222 = $0;
+ STACKTOP = sp;return ($222|0);
+ }
+ $29 = $3;
+ $30 = ($29|0)!=(12);
+ L5: do {
+ if ($30) {
+ ;HEAP32[$iv_bytes>>2]=0|0;HEAP32[$iv_bytes+4>>2]=0|0;
+ $31 = $1;
+ $32 = ((($31)) + 80|0);
+ ;HEAP32[$32>>2]=0|0;HEAP32[$32+4>>2]=0|0;HEAP32[$32+8>>2]=0|0;HEAP32[$32+12>>2]=0|0;
+ $33 = $3;
+ _gcm_bytecounter_add($iv_bytes,$33);
+ $34 = (_gcm_check_aadlen_or_ivlen($iv_bytes)|0);
+ $35 = ($34|0)!=(0);
+ $36 = $1;
+ if (!($35)) {
+ $37 = ((($36)) + 128|0);
+ $38 = ((($37)) + 68|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $39 & -5;
+ $41 = $40 | 4;
+ HEAP8[$38>>0] = $41;
+ $0 = 139;
+ $222 = $0;
+ STACKTOP = sp;return ($222|0);
+ }
+ $42 = $1;
+ $43 = ((($42)) + 80|0);
+ $44 = $2;
+ $45 = $3;
+ _do_ghash_buf($36,$43,$44,$45,1);
+ $46 = HEAP32[$iv_bytes>>2]|0;
+ $47 = $46 << 3;
+ $48 = (_llvm_bswap_i32(($47|0))|0);
+ $49 = ((($bitlengths)) + 8|0);
+ $50 = ((($49)) + 4|0);
+ HEAP32[$50>>2] = $48;
+ $51 = HEAP32[$iv_bytes>>2]|0;
+ $52 = $51 >>> 29;
+ $53 = ((($iv_bytes)) + 4|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $54 << 3;
+ $56 = $52 | $55;
+ $57 = (_llvm_bswap_i32(($56|0))|0);
+ $58 = ((($bitlengths)) + 8|0);
+ HEAP32[$58>>2] = $57;
+ $59 = ((($bitlengths)) + 4|0);
+ HEAP32[$59>>2] = 0;
+ HEAP32[$bitlengths>>2] = 0;
+ $60 = $1;
+ $61 = $1;
+ $62 = ((($61)) + 80|0);
+ _do_ghash_buf($60,$62,$bitlengths,16,1);
+ $_vptr = $iv_bytes;
+ $_vlen = 8;
+ $_vset = 0;
+ $63 = $_vset;
+ $64 = $63&255;
+ $65 = $_vset_long;
+ $66 = $65;
+ HEAP32[$66>>2] = $64;
+ $67 = (($65) + 4)|0;
+ $68 = $67;
+ HEAP32[$68>>2] = 0;
+ while(1) {
+ $69 = $_vptr;
+ $70 = $69;
+ $71 = $70 & 7;
+ $72 = ($71|0)!=(0);
+ $73 = $_vlen;
+ $74 = ($73|0)!=(0);
+ $75 = $72 ? $74 : 0;
+ if (!($75)) {
+ break;
+ }
+ $76 = $_vset;
+ $77 = $_vptr;
+ HEAP8[$77>>0] = $76;
+ $78 = $_vptr;
+ $79 = ((($78)) + 1|0);
+ $_vptr = $79;
+ $80 = $_vlen;
+ $81 = (($80) + -1)|0;
+ $_vlen = $81;
+ }
+ $82 = $_vlen;
+ $83 = ($82>>>0)<(8);
+ if (!($83)) {
+ $84 = $_vset_long;
+ $85 = $84;
+ $86 = HEAP32[$85>>2]|0;
+ $87 = (($84) + 4)|0;
+ $88 = $87;
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (___muldi3(($86|0),($89|0),16843009,16843009)|0);
+ $91 = tempRet0;
+ $92 = $_vset_long;
+ $93 = $92;
+ HEAP32[$93>>2] = $90;
+ $94 = (($92) + 4)|0;
+ $95 = $94;
+ HEAP32[$95>>2] = $91;
+ while(1) {
+ $96 = $_vptr;
+ $_vptr_long = $96;
+ $97 = $_vset_long;
+ $98 = $97;
+ $99 = HEAP32[$98>>2]|0;
+ $100 = (($97) + 4)|0;
+ $101 = $100;
+ $102 = HEAP32[$101>>2]|0;
+ $103 = $_vptr_long;
+ $104 = $103;
+ $105 = $104;
+ HEAP32[$105>>2] = $99;
+ $106 = (($104) + 4)|0;
+ $107 = $106;
+ HEAP32[$107>>2] = $102;
+ $108 = $_vlen;
+ $109 = (($108) - 8)|0;
+ $_vlen = $109;
+ $110 = $_vptr;
+ $111 = ((($110)) + 8|0);
+ $_vptr = $111;
+ $112 = $_vlen;
+ $113 = ($112>>>0)>=(8);
+ if (!($113)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $114 = $_vlen;
+ $115 = ($114|0)!=(0);
+ if (!($115)) {
+ break;
+ }
+ $116 = $_vset;
+ $117 = $_vptr;
+ HEAP8[$117>>0] = $116;
+ $118 = $_vptr;
+ $119 = ((($118)) + 1|0);
+ $_vptr = $119;
+ $120 = $_vlen;
+ $121 = (($120) + -1)|0;
+ $_vlen = $121;
+ }
+ $_vptr1 = $bitlengths;
+ $_vlen2 = 16;
+ $_vset3 = 0;
+ $122 = $_vset3;
+ $123 = $122&255;
+ $124 = $_vset_long4;
+ $125 = $124;
+ HEAP32[$125>>2] = $123;
+ $126 = (($124) + 4)|0;
+ $127 = $126;
+ HEAP32[$127>>2] = 0;
+ while(1) {
+ $128 = $_vptr1;
+ $129 = $128;
+ $130 = $129 & 7;
+ $131 = ($130|0)!=(0);
+ $132 = $_vlen2;
+ $133 = ($132|0)!=(0);
+ $134 = $131 ? $133 : 0;
+ if (!($134)) {
+ break;
+ }
+ $135 = $_vset3;
+ $136 = $_vptr1;
+ HEAP8[$136>>0] = $135;
+ $137 = $_vptr1;
+ $138 = ((($137)) + 1|0);
+ $_vptr1 = $138;
+ $139 = $_vlen2;
+ $140 = (($139) + -1)|0;
+ $_vlen2 = $140;
+ }
+ $141 = $_vlen2;
+ $142 = ($141>>>0)<(8);
+ if (!($142)) {
+ $143 = $_vset_long4;
+ $144 = $143;
+ $145 = HEAP32[$144>>2]|0;
+ $146 = (($143) + 4)|0;
+ $147 = $146;
+ $148 = HEAP32[$147>>2]|0;
+ $149 = (___muldi3(($145|0),($148|0),16843009,16843009)|0);
+ $150 = tempRet0;
+ $151 = $_vset_long4;
+ $152 = $151;
+ HEAP32[$152>>2] = $149;
+ $153 = (($151) + 4)|0;
+ $154 = $153;
+ HEAP32[$154>>2] = $150;
+ while(1) {
+ $155 = $_vptr1;
+ $_vptr_long5 = $155;
+ $156 = $_vset_long4;
+ $157 = $156;
+ $158 = HEAP32[$157>>2]|0;
+ $159 = (($156) + 4)|0;
+ $160 = $159;
+ $161 = HEAP32[$160>>2]|0;
+ $162 = $_vptr_long5;
+ $163 = $162;
+ $164 = $163;
+ HEAP32[$164>>2] = $158;
+ $165 = (($163) + 4)|0;
+ $166 = $165;
+ HEAP32[$166>>2] = $161;
+ $167 = $_vlen2;
+ $168 = (($167) - 8)|0;
+ $_vlen2 = $168;
+ $169 = $_vptr1;
+ $170 = ((($169)) + 8|0);
+ $_vptr1 = $170;
+ $171 = $_vlen2;
+ $172 = ($171>>>0)>=(8);
+ if (!($172)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $173 = $_vlen2;
+ $174 = ($173|0)!=(0);
+ if (!($174)) {
+ break L5;
+ }
+ $175 = $_vset3;
+ $176 = $_vptr1;
+ HEAP8[$176>>0] = $175;
+ $177 = $_vptr1;
+ $178 = ((($177)) + 1|0);
+ $_vptr1 = $178;
+ $179 = $_vlen2;
+ $180 = (($179) + -1)|0;
+ $_vlen2 = $180;
+ }
+ } else {
+ $181 = $1;
+ $182 = ((($181)) + 80|0);
+ $183 = $2;
+ $184 = $3;
+ _memcpy(($182|0),($183|0),($184|0))|0;
+ $185 = $1;
+ $186 = ((($185)) + 80|0);
+ $187 = ((($186)) + 14|0);
+ HEAP8[$187>>0] = 0;
+ $188 = $1;
+ $189 = ((($188)) + 80|0);
+ $190 = ((($189)) + 13|0);
+ HEAP8[$190>>0] = 0;
+ $191 = $1;
+ $192 = ((($191)) + 80|0);
+ $193 = ((($192)) + 12|0);
+ HEAP8[$193>>0] = 0;
+ $194 = $1;
+ $195 = ((($194)) + 80|0);
+ $196 = ((($195)) + 15|0);
+ HEAP8[$196>>0] = 1;
+ }
+ } while(0);
+ $197 = $1;
+ $198 = ((($197)) + 12|0);
+ $199 = HEAP32[$198>>2]|0;
+ $200 = ((($199)) + 36|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = $1;
+ $203 = ((($202)) + 496|0);
+ $204 = $1;
+ $205 = ((($204)) + 128|0);
+ $206 = ((($205)) + 52|0);
+ $207 = $1;
+ $208 = ((($207)) + 80|0);
+ (FUNCTION_TABLE_iiii[$201 & 127]($203,$206,$208)|0);
+ $209 = $1;
+ $210 = ((($209)) + 80|0);
+ (_gcm_add32_be128($210,1)|0);
+ $211 = $1;
+ $212 = ((($211)) + 112|0);
+ HEAP32[$212>>2] = 0;
+ $213 = $1;
+ $214 = ((($213)) + 56|0);
+ $215 = HEAP8[$214>>0]|0;
+ $216 = $215 & -3;
+ $217 = $216 | 2;
+ HEAP8[$214>>0] = $217;
+ $218 = $1;
+ $219 = ((($218)) + 56|0);
+ $220 = HEAP8[$219>>0]|0;
+ $221 = $220 & -5;
+ HEAP8[$219>>0] = $221;
+ $0 = 0;
+ $222 = $0;
+ STACKTOP = sp;return ($222|0);
+}
+function _gcm_bytecounter_add($ctr,$add) {
+ $ctr = $ctr|0;
+ $add = $add|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctr;
+ $1 = $add;
+ $2 = $1;
+ $3 = $0;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($4) + ($2))|0;
+ HEAP32[$3>>2] = $5;
+ $6 = $0;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $1;
+ $9 = ($7>>>0)>=($8>>>0);
+ if ($9) {
+ STACKTOP = sp;return;
+ }
+ $10 = $0;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (($12) + 1)|0;
+ HEAP32[$11>>2] = $13;
+ STACKTOP = sp;return;
+}
+function _gcm_check_aadlen_or_ivlen($ctr) {
+ $ctr = $ctr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $ctr;
+ $2 = $1;
+ $3 = ((($2)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4>>>0)>(536870911);
+ do {
+ if ($5) {
+ $0 = 0;
+ } else {
+ $6 = $1;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8>>>0)<(536870911);
+ if ($9) {
+ $0 = 1;
+ break;
+ }
+ $10 = $1;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11>>>0)<=(4294967295);
+ if ($12) {
+ $0 = 1;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $13 = $0;
+ STACKTOP = sp;return ($13|0);
+}
+function _do_ghash_buf($c,$hash,$buf,$buflen,$do_padding) {
+ $c = $c|0;
+ $hash = $hash|0;
+ $buf = $buf|0;
+ $buflen = $buflen|0;
+ $do_padding = $do_padding|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
+ var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
+ var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
+ var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
+ var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $blocksize = 0, $burn = 0, $ghash_fn = 0, $n = 0, $nblocks = 0, $or$cond = 0, $or$cond3 = 0, $unused = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $hash;
+ $2 = $buf;
+ $3 = $buflen;
+ $4 = $do_padding;
+ $blocksize = 16;
+ $5 = $0;
+ $6 = ((($5)) + 128|0);
+ $7 = ((($6)) + 32|0);
+ $8 = HEAP32[$7>>2]|0;
+ $unused = $8;
+ $9 = $0;
+ $10 = ((($9)) + 128|0);
+ $11 = ((($10)) + 96|0);
+ $12 = HEAP32[$11>>2]|0;
+ $ghash_fn = $12;
+ $burn = 0;
+ $13 = $3;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $15 = $unused;
+ $16 = ($15|0)!=(0);
+ $17 = $4;
+ $18 = ($17|0)!=(0);
+ $or$cond = $16 & $18;
+ if (!($or$cond)) {
+ STACKTOP = sp;return;
+ }
+ }
+ L4: while(1) {
+ $19 = $3;
+ $20 = $unused;
+ $21 = (($19) + ($20))|0;
+ $22 = $blocksize;
+ $23 = ($21>>>0)<($22>>>0);
+ $24 = $unused;
+ $25 = ($24>>>0)>(0);
+ $or$cond3 = $23 | $25;
+ if ($or$cond3) {
+ $26 = $blocksize;
+ $27 = $unused;
+ $28 = (($26) - ($27))|0;
+ $n = $28;
+ $29 = $n;
+ $30 = $3;
+ $31 = ($29>>>0)<($30>>>0);
+ $32 = $n;
+ $33 = $3;
+ $34 = $31 ? $32 : $33;
+ $n = $34;
+ $35 = $unused;
+ $36 = $0;
+ $37 = ((($36)) + 128|0);
+ $38 = ((($37)) + 16|0);
+ $39 = (($38) + ($35)|0);
+ $40 = $2;
+ $41 = $n;
+ _buf_cpy_1857($39,$40,$41);
+ $42 = $n;
+ $43 = $unused;
+ $44 = (($43) + ($42))|0;
+ $unused = $44;
+ $45 = $n;
+ $46 = $2;
+ $47 = (($46) + ($45)|0);
+ $2 = $47;
+ $48 = $n;
+ $49 = $3;
+ $50 = (($49) - ($48))|0;
+ $3 = $50;
+ }
+ $51 = $3;
+ $52 = ($51|0)!=(0);
+ L9: do {
+ if (!($52)) {
+ $53 = $4;
+ $54 = ($53|0)!=(0);
+ if (!($54)) {
+ break L4;
+ }
+ while(1) {
+ $55 = $unused;
+ $56 = $blocksize;
+ $57 = ($55>>>0)<($56>>>0);
+ if (!($57)) {
+ break L9;
+ }
+ $58 = $unused;
+ $59 = (($58) + 1)|0;
+ $unused = $59;
+ $60 = $0;
+ $61 = ((($60)) + 128|0);
+ $62 = ((($61)) + 16|0);
+ $63 = (($62) + ($58)|0);
+ HEAP8[$63>>0] = 0;
+ }
+ }
+ } while(0);
+ $64 = $unused;
+ $65 = ($64>>>0)>(0);
+ if ($65) {
+ $66 = $unused;
+ $67 = $blocksize;
+ $68 = ($66|0)==($67|0);
+ if (!($68)) {
+ label = 11;
+ break;
+ }
+ $69 = $ghash_fn;
+ $70 = $0;
+ $71 = $1;
+ $72 = $0;
+ $73 = ((($72)) + 128|0);
+ $74 = ((($73)) + 16|0);
+ $75 = (FUNCTION_TABLE_iiiii[$69 & 127]($70,$71,$74,1)|0);
+ $burn = $75;
+ $unused = 0;
+ }
+ $76 = $3;
+ $77 = $blocksize;
+ $78 = (($76>>>0) / ($77>>>0))&-1;
+ $nblocks = $78;
+ $79 = $nblocks;
+ $80 = ($79|0)!=(0);
+ if ($80) {
+ $81 = $ghash_fn;
+ $82 = $0;
+ $83 = $1;
+ $84 = $2;
+ $85 = $nblocks;
+ $86 = (FUNCTION_TABLE_iiiii[$81 & 127]($82,$83,$84,$85)|0);
+ $burn = $86;
+ $87 = $blocksize;
+ $88 = $nblocks;
+ $89 = Math_imul($87, $88)|0;
+ $90 = $2;
+ $91 = (($90) + ($89)|0);
+ $2 = $91;
+ $92 = $blocksize;
+ $93 = $nblocks;
+ $94 = Math_imul($92, $93)|0;
+ $95 = $3;
+ $96 = (($95) - ($94))|0;
+ $3 = $96;
+ }
+ $97 = $3;
+ $98 = ($97>>>0)>(0);
+ if (!($98)) {
+ break;
+ }
+ }
+ if ((label|0) == 11) {
+ __gcry_assert_failed(46898,46918,499,46931);
+ // unreachable;
+ }
+ $99 = $unused;
+ $100 = $0;
+ $101 = ((($100)) + 128|0);
+ $102 = ((($101)) + 32|0);
+ HEAP32[$102>>2] = $99;
+ $103 = $burn;
+ $104 = ($103|0)!=(0);
+ if (!($104)) {
+ STACKTOP = sp;return;
+ }
+ $105 = $burn;
+ ___gcry_burn_stack($105);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _buf_cpy_1857($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function _gcm_add32_be128($ctr,$add) {
+ $ctr = $ctr|0;
+ $add = $add|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $blocksize = 0, $pval = 0, $val = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctr;
+ $1 = $add;
+ $blocksize = 16;
+ $2 = $0;
+ $3 = ((($2)) + 16|0);
+ $4 = ((($3)) + -4|0);
+ $pval = $4;
+ $5 = $pval;
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (_llvm_bswap_i32(($6|0))|0);
+ $8 = $1;
+ $9 = (($7) + ($8))|0;
+ $val = $9;
+ $10 = $val;
+ $11 = (_llvm_bswap_i32(($10|0))|0);
+ $12 = $pval;
+ HEAP32[$12>>2] = $11;
+ $13 = $val;
+ STACKTOP = sp;return ($13|0);
+}
+function _gcm_check_datalen($ctr) {
+ $ctr = $ctr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $ctr;
+ $2 = $1;
+ $3 = ((($2)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4>>>0)>(15);
+ do {
+ if ($5) {
+ $0 = 0;
+ } else {
+ $6 = $1;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8>>>0)<(15);
+ if ($9) {
+ $0 = 1;
+ break;
+ }
+ $10 = $1;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11>>>0)<=(4294967264);
+ if ($12) {
+ $0 = 1;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ } while(0);
+ $13 = $0;
+ STACKTOP = sp;return ($13|0);
+}
+function __gcry_cipher_gcm_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 20|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(16);
+ if ($11) {
+ $0 = 12;
+ $87 = $0;
+ STACKTOP = sp;return ($87|0);
+ }
+ $12 = $3;
+ $13 = $5;
+ $14 = ($12>>>0)<($13>>>0);
+ if ($14) {
+ $0 = 200;
+ $87 = $0;
+ STACKTOP = sp;return ($87|0);
+ }
+ $15 = $1;
+ $16 = ((($15)) + 128|0);
+ $17 = ((($16)) + 68|0);
+ $18 = HEAP8[$17>>0]|0;
+ $19 = ($18&255) >>> 2;
+ $20 = $19 & 1;
+ $21 = $20&255;
+ $22 = ($21|0)!=(0);
+ if ($22) {
+ $0 = 139;
+ $87 = $0;
+ STACKTOP = sp;return ($87|0);
+ }
+ $23 = $1;
+ $24 = ((($23)) + 56|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = ($25&255) >>> 2;
+ $27 = $26 & 1;
+ $28 = $27&255;
+ $29 = ($28|0)!=(0);
+ if (!($29)) {
+ $30 = $1;
+ $31 = ((($30)) + 128|0);
+ $32 = ((($31)) + 68|0);
+ $33 = HEAP8[$32>>0]|0;
+ $34 = $33 & 1;
+ $35 = $34&255;
+ $36 = ($35|0)!=(0);
+ if (!($36)) {
+ $37 = $1;
+ $38 = ((($37)) + 56|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = ($39&255) >>> 1;
+ $41 = $40 & 1;
+ $42 = $41&255;
+ $43 = ($42|0)!=(0);
+ if (!($43)) {
+ $44 = $1;
+ (__gcry_cipher_gcm_setiv($44,76491,16)|0);
+ }
+ $45 = $1;
+ $46 = ((($45)) + 128|0);
+ $47 = ((($46)) + 68|0);
+ $48 = HEAP8[$47>>0]|0;
+ $49 = ($48&255) >>> 1;
+ $50 = $49 & 1;
+ $51 = $50&255;
+ $52 = ($51|0)!=(0);
+ if (!($52)) {
+ $53 = $1;
+ $54 = $1;
+ $55 = ((($54)) + 128|0);
+ _do_ghash_buf($53,$55,0,0,1);
+ $56 = $1;
+ $57 = ((($56)) + 128|0);
+ $58 = ((($57)) + 68|0);
+ $59 = HEAP8[$58>>0]|0;
+ $60 = $59 & -3;
+ $61 = $60 | 2;
+ HEAP8[$58>>0] = $61;
+ }
+ $62 = $1;
+ $63 = ((($62)) + 128|0);
+ $64 = ((($63)) + 44|0);
+ $65 = $5;
+ _gcm_bytecounter_add($64,$65);
+ $66 = $1;
+ $67 = ((($66)) + 128|0);
+ $68 = ((($67)) + 44|0);
+ $69 = (_gcm_check_datalen($68)|0);
+ $70 = ($69|0)!=(0);
+ $71 = $1;
+ if ($70) {
+ $77 = $1;
+ $78 = ((($77)) + 128|0);
+ $79 = $4;
+ $80 = $5;
+ _do_ghash_buf($71,$78,$79,$80,0);
+ $81 = $1;
+ $82 = $2;
+ $83 = $3;
+ $84 = $4;
+ $85 = $5;
+ $86 = (__gcry_cipher_ctr_encrypt($81,$82,$83,$84,$85)|0);
+ $0 = $86;
+ $87 = $0;
+ STACKTOP = sp;return ($87|0);
+ } else {
+ $72 = ((($71)) + 128|0);
+ $73 = ((($72)) + 68|0);
+ $74 = HEAP8[$73>>0]|0;
+ $75 = $74 & -5;
+ $76 = $75 | 4;
+ HEAP8[$73>>0] = $76;
+ $0 = 139;
+ $87 = $0;
+ STACKTOP = sp;return ($87|0);
+ }
+ }
+ }
+ $0 = 156;
+ $87 = $0;
+ STACKTOP = sp;return ($87|0);
+}
+function __gcry_cipher_gcm_setkey($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $0;
+ $2 = ((($1)) + 128|0);
+ $3 = ((($2)) + 80|0);
+ ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;
+ $4 = $0;
+ $5 = ((($4)) + 12|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 36|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $0;
+ $10 = ((($9)) + 496|0);
+ $11 = $0;
+ $12 = ((($11)) + 128|0);
+ $13 = ((($12)) + 80|0);
+ $14 = $0;
+ $15 = ((($14)) + 128|0);
+ $16 = ((($15)) + 80|0);
+ (FUNCTION_TABLE_iiii[$8 & 127]($10,$13,$16)|0);
+ $17 = $0;
+ _setupM($17);
+ STACKTOP = sp;return;
+}
+function _setupM($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $0;
+ $2 = ((($1)) + 128|0);
+ $3 = ((($2)) + 96|0);
+ HEAP32[$3>>2] = 78;
+ $4 = $0;
+ $5 = ((($4)) + 128|0);
+ $6 = ((($5)) + 80|0);
+ $7 = $0;
+ $8 = ((($7)) + 128|0);
+ $9 = ((($8)) + 100|0);
+ _do_fillM($6,$9);
+ STACKTOP = sp;return;
+}
+function _ghash_internal($c,$result,$buf,$nblocks) {
+ $c = $c|0;
+ $result = $result|0;
+ $buf = $buf|0;
+ $nblocks = $nblocks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $blocksize = 0, $burn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $result;
+ $2 = $buf;
+ $3 = $nblocks;
+ $blocksize = 16;
+ $burn = 0;
+ while(1) {
+ $4 = $3;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $1;
+ $7 = $2;
+ $8 = $0;
+ $9 = ((($8)) + 128|0);
+ $10 = ((($9)) + 100|0);
+ $11 = (_do_ghash($6,$7,$10)|0);
+ $burn = $11;
+ $12 = $2;
+ $13 = ((($12)) + 16|0);
+ $2 = $13;
+ $14 = $3;
+ $15 = (($14) + -1)|0;
+ $3 = $15;
+ }
+ $16 = $burn;
+ $17 = $burn;
+ $18 = ($17|0)!=(0);
+ $19 = $18 ? 20 : 0;
+ $20 = (($16) + ($19))|0;
+ STACKTOP = sp;return ($20|0);
+}
+function _do_ghash($result,$buf,$gcmM) {
+ $result = $result|0;
+ $buf = $buf|0;
+ $gcmM = $gcmM|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $M = 0, $T = 0, $V = 0, $i = 0, $m = 0, $tmp = 0, $v = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $V = sp + 64|0;
+ $tmp = sp + 32|0;
+ $T = sp + 4|0;
+ $0 = $result;
+ $1 = $buf;
+ $2 = $gcmM;
+ $3 = $0;
+ $4 = $1;
+ _buf_xor_1866($V,$3,$4,16);
+ $i = 15;
+ $5 = $i;
+ $6 = (($V) + ($5)|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7&255;
+ $v = $8;
+ $9 = $v;
+ $10 = $9 & 15;
+ $11 = $10<<2;
+ $12 = $2;
+ $13 = (($12) + ($11<<2)|0);
+ $M = $13;
+ $14 = $v;
+ $15 = $14 & 240;
+ $16 = $15 >>> 4;
+ $v = $16;
+ $17 = $v;
+ $18 = $17<<2;
+ $19 = $2;
+ $20 = (($19) + ($18<<2)|0);
+ $m = $20;
+ $21 = $i;
+ $22 = (($21) + -1)|0;
+ $i = $22;
+ $23 = (($V) + ($22)|0);
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24&255;
+ $v = $25;
+ $26 = $M;
+ $27 = HEAP32[$26>>2]|0;
+ $28 = $27 >>> 4;
+ $29 = $M;
+ $30 = ((($29)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $31 << 4;
+ $33 = $32 & 240;
+ $34 = (17850 + ($33<<1)|0);
+ $35 = HEAP16[$34>>1]|0;
+ $36 = $35&65535;
+ $37 = (_bitshift64Shl(($36|0),0,16)|0);
+ $38 = tempRet0;
+ $39 = $28 ^ $37;
+ $40 = $m;
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $39 ^ $41;
+ HEAP32[$tmp>>2] = $42;
+ $43 = $M;
+ $44 = ((($43)) + 4|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = $45 >>> 4;
+ $47 = $M;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $48 << 28;
+ $50 = $46 ^ $49;
+ $51 = $m;
+ $52 = ((($51)) + 4|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = $50 ^ $53;
+ $55 = ((($tmp)) + 4|0);
+ HEAP32[$55>>2] = $54;
+ $56 = $M;
+ $57 = ((($56)) + 8|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $58 >>> 4;
+ $60 = $M;
+ $61 = ((($60)) + 4|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $62 << 28;
+ $64 = $59 ^ $63;
+ $65 = $m;
+ $66 = ((($65)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = $64 ^ $67;
+ $69 = ((($tmp)) + 8|0);
+ HEAP32[$69>>2] = $68;
+ $70 = $M;
+ $71 = ((($70)) + 12|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $72 >>> 4;
+ $74 = $M;
+ $75 = ((($74)) + 8|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = $76 << 28;
+ $78 = $73 ^ $77;
+ $79 = $m;
+ $80 = ((($79)) + 12|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = $78 ^ $81;
+ $83 = ((($tmp)) + 12|0);
+ HEAP32[$83>>2] = $82;
+ while(1) {
+ $84 = $v;
+ $85 = $84 & 15;
+ $86 = $85<<2;
+ $87 = $2;
+ $88 = (($87) + ($86<<2)|0);
+ $M = $88;
+ $89 = $v;
+ $90 = $89 & 240;
+ $91 = $90 >>> 4;
+ $v = $91;
+ $92 = $v;
+ $93 = $92<<2;
+ $94 = $2;
+ $95 = (($94) + ($93<<2)|0);
+ $m = $95;
+ $96 = HEAP32[$tmp>>2]|0;
+ HEAP32[$T>>2] = $96;
+ $97 = ((($tmp)) + 4|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = ((($T)) + 4|0);
+ HEAP32[$99>>2] = $98;
+ $100 = ((($tmp)) + 8|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = ((($T)) + 8|0);
+ HEAP32[$102>>2] = $101;
+ $103 = HEAP32[$T>>2]|0;
+ $104 = $103 >>> 8;
+ $105 = ((($tmp)) + 12|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = $106 & 255;
+ $108 = (17850 + ($107<<1)|0);
+ $109 = HEAP16[$108>>1]|0;
+ $110 = $109&65535;
+ $111 = $110 << 16;
+ $112 = $104 ^ $111;
+ $113 = $m;
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $112 ^ $114;
+ HEAP32[$tmp>>2] = $115;
+ $116 = HEAP32[$T>>2]|0;
+ $117 = $116 << 24;
+ $118 = ((($tmp)) + 4|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = $119 >>> 8;
+ $121 = $117 ^ $120;
+ $122 = $m;
+ $123 = ((($122)) + 4|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = $121 ^ $124;
+ $126 = ((($tmp)) + 4|0);
+ HEAP32[$126>>2] = $125;
+ $127 = ((($T)) + 4|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = $128 << 24;
+ $130 = ((($tmp)) + 8|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = $131 >>> 8;
+ $133 = $129 ^ $132;
+ $134 = $m;
+ $135 = ((($134)) + 8|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $133 ^ $136;
+ $138 = ((($tmp)) + 8|0);
+ HEAP32[$138>>2] = $137;
+ $139 = ((($T)) + 8|0);
+ $140 = HEAP32[$139>>2]|0;
+ $141 = $140 << 24;
+ $142 = ((($tmp)) + 12|0);
+ $143 = HEAP32[$142>>2]|0;
+ $144 = $143 >>> 8;
+ $145 = $141 ^ $144;
+ $146 = $m;
+ $147 = ((($146)) + 12|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = $145 ^ $148;
+ $150 = ((($tmp)) + 12|0);
+ HEAP32[$150>>2] = $149;
+ $151 = $M;
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $152 >>> 4;
+ $154 = $M;
+ $155 = ((($154)) + 12|0);
+ $156 = HEAP32[$155>>2]|0;
+ $157 = $156 << 4;
+ $158 = $157 & 240;
+ $159 = (17850 + ($158<<1)|0);
+ $160 = HEAP16[$159>>1]|0;
+ $161 = $160&65535;
+ $162 = (_bitshift64Shl(($161|0),0,16)|0);
+ $163 = tempRet0;
+ $164 = $153 ^ $162;
+ $165 = HEAP32[$tmp>>2]|0;
+ $166 = $165 ^ $164;
+ HEAP32[$tmp>>2] = $166;
+ $167 = $M;
+ $168 = ((($167)) + 4|0);
+ $169 = HEAP32[$168>>2]|0;
+ $170 = $169 >>> 4;
+ $171 = $M;
+ $172 = HEAP32[$171>>2]|0;
+ $173 = $172 << 28;
+ $174 = $170 ^ $173;
+ $175 = ((($tmp)) + 4|0);
+ $176 = HEAP32[$175>>2]|0;
+ $177 = $176 ^ $174;
+ HEAP32[$175>>2] = $177;
+ $178 = $M;
+ $179 = ((($178)) + 8|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = $180 >>> 4;
+ $182 = $M;
+ $183 = ((($182)) + 4|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = $184 << 28;
+ $186 = $181 ^ $185;
+ $187 = ((($tmp)) + 8|0);
+ $188 = HEAP32[$187>>2]|0;
+ $189 = $188 ^ $186;
+ HEAP32[$187>>2] = $189;
+ $190 = $M;
+ $191 = ((($190)) + 12|0);
+ $192 = HEAP32[$191>>2]|0;
+ $193 = $192 >>> 4;
+ $194 = $M;
+ $195 = ((($194)) + 8|0);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = $196 << 28;
+ $198 = $193 ^ $197;
+ $199 = ((($tmp)) + 12|0);
+ $200 = HEAP32[$199>>2]|0;
+ $201 = $200 ^ $198;
+ HEAP32[$199>>2] = $201;
+ $202 = $i;
+ $203 = ($202|0)==(0);
+ if ($203) {
+ break;
+ }
+ $204 = $i;
+ $205 = (($204) + -1)|0;
+ $i = $205;
+ $206 = (($V) + ($205)|0);
+ $207 = HEAP8[$206>>0]|0;
+ $208 = $207&255;
+ $v = $208;
+ }
+ $209 = $0;
+ $210 = HEAP32[$tmp>>2]|0;
+ _buf_put_be32_1867($209,$210);
+ $211 = $0;
+ $212 = ((($211)) + 4|0);
+ $213 = ((($tmp)) + 4|0);
+ $214 = HEAP32[$213>>2]|0;
+ _buf_put_be32_1867($212,$214);
+ $215 = $0;
+ $216 = ((($215)) + 8|0);
+ $217 = ((($tmp)) + 8|0);
+ $218 = HEAP32[$217>>2]|0;
+ _buf_put_be32_1867($216,$218);
+ $219 = $0;
+ $220 = ((($219)) + 12|0);
+ $221 = ((($tmp)) + 12|0);
+ $222 = HEAP32[$221>>2]|0;
+ _buf_put_be32_1867($220,$222);
+ STACKTOP = sp;return 76;
+}
+function _buf_xor_1866($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _buf_put_be32_1867($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ HEAP8[$6>>0] = $5;
+ $7 = $1;
+ $8 = $7 >>> 16;
+ $9 = $8&255;
+ $10 = $out;
+ $11 = ((($10)) + 1|0);
+ HEAP8[$11>>0] = $9;
+ $12 = $1;
+ $13 = $12 >>> 8;
+ $14 = $13&255;
+ $15 = $out;
+ $16 = ((($15)) + 2|0);
+ HEAP8[$16>>0] = $14;
+ $17 = $1;
+ $18 = $17&255;
+ $19 = $out;
+ $20 = ((($19)) + 3|0);
+ HEAP8[$20>>0] = $18;
+ STACKTOP = sp;return;
+}
+function _do_fillM($h,$M) {
+ $h = $h|0;
+ $M = $M|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
+ var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
+ var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
+ var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
+ var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $j = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $h;
+ $1 = $M;
+ $2 = $1;
+ HEAP32[$2>>2] = 0;
+ $3 = $1;
+ $4 = ((($3)) + 4|0);
+ HEAP32[$4>>2] = 0;
+ $5 = $1;
+ $6 = ((($5)) + 8|0);
+ HEAP32[$6>>2] = 0;
+ $7 = $1;
+ $8 = ((($7)) + 12|0);
+ HEAP32[$8>>2] = 0;
+ $9 = $0;
+ $10 = (_buf_get_be32_1868($9)|0);
+ $11 = $1;
+ $12 = ((($11)) + 128|0);
+ HEAP32[$12>>2] = $10;
+ $13 = $0;
+ $14 = ((($13)) + 4|0);
+ $15 = (_buf_get_be32_1868($14)|0);
+ $16 = $1;
+ $17 = ((($16)) + 132|0);
+ HEAP32[$17>>2] = $15;
+ $18 = $0;
+ $19 = ((($18)) + 8|0);
+ $20 = (_buf_get_be32_1868($19)|0);
+ $21 = $1;
+ $22 = ((($21)) + 136|0);
+ HEAP32[$22>>2] = $20;
+ $23 = $0;
+ $24 = ((($23)) + 12|0);
+ $25 = (_buf_get_be32_1868($24)|0);
+ $26 = $1;
+ $27 = ((($26)) + 140|0);
+ HEAP32[$27>>2] = $25;
+ $i = 4;
+ while(1) {
+ $28 = $i;
+ $29 = ($28|0)>(0);
+ if (!($29)) {
+ break;
+ }
+ $30 = $i;
+ $31 = $30<<1;
+ $32 = $31<<2;
+ $33 = (($32) + 0)|0;
+ $34 = $1;
+ $35 = (($34) + ($33<<2)|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = $i;
+ $38 = $37<<2;
+ $39 = (($38) + 0)|0;
+ $40 = $1;
+ $41 = (($40) + ($39<<2)|0);
+ HEAP32[$41>>2] = $36;
+ $42 = $i;
+ $43 = $42<<1;
+ $44 = $43<<2;
+ $45 = (($44) + 1)|0;
+ $46 = $1;
+ $47 = (($46) + ($45<<2)|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $i;
+ $50 = $49<<2;
+ $51 = (($50) + 1)|0;
+ $52 = $1;
+ $53 = (($52) + ($51<<2)|0);
+ HEAP32[$53>>2] = $48;
+ $54 = $i;
+ $55 = $54<<1;
+ $56 = $55<<2;
+ $57 = (($56) + 2)|0;
+ $58 = $1;
+ $59 = (($58) + ($57<<2)|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $i;
+ $62 = $61<<2;
+ $63 = (($62) + 2)|0;
+ $64 = $1;
+ $65 = (($64) + ($63<<2)|0);
+ HEAP32[$65>>2] = $60;
+ $66 = $i;
+ $67 = $66<<1;
+ $68 = $67<<2;
+ $69 = (($68) + 3)|0;
+ $70 = $1;
+ $71 = (($70) + ($69<<2)|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = $i;
+ $74 = $73<<2;
+ $75 = (($74) + 3)|0;
+ $76 = $1;
+ $77 = (($76) + ($75<<2)|0);
+ HEAP32[$77>>2] = $72;
+ $78 = $1;
+ $79 = $i;
+ _bshift($78,$79);
+ $80 = $i;
+ $81 = (($80|0) / 2)&-1;
+ $i = $81;
+ }
+ $i = 2;
+ while(1) {
+ $82 = $i;
+ $83 = ($82|0)<(16);
+ if (!($83)) {
+ break;
+ }
+ $j = 1;
+ while(1) {
+ $84 = $j;
+ $85 = $i;
+ $86 = ($84|0)<($85|0);
+ $87 = $i;
+ if (!($86)) {
+ break;
+ }
+ $88 = $87<<2;
+ $89 = (($88) + 0)|0;
+ $90 = $1;
+ $91 = (($90) + ($89<<2)|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = $j;
+ $94 = $93<<2;
+ $95 = (($94) + 0)|0;
+ $96 = $1;
+ $97 = (($96) + ($95<<2)|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = $92 ^ $98;
+ $100 = $i;
+ $101 = $j;
+ $102 = (($100) + ($101))|0;
+ $103 = $102<<2;
+ $104 = (($103) + 0)|0;
+ $105 = $1;
+ $106 = (($105) + ($104<<2)|0);
+ HEAP32[$106>>2] = $99;
+ $107 = $i;
+ $108 = $107<<2;
+ $109 = (($108) + 1)|0;
+ $110 = $1;
+ $111 = (($110) + ($109<<2)|0);
+ $112 = HEAP32[$111>>2]|0;
+ $113 = $j;
+ $114 = $113<<2;
+ $115 = (($114) + 1)|0;
+ $116 = $1;
+ $117 = (($116) + ($115<<2)|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = $112 ^ $118;
+ $120 = $i;
+ $121 = $j;
+ $122 = (($120) + ($121))|0;
+ $123 = $122<<2;
+ $124 = (($123) + 1)|0;
+ $125 = $1;
+ $126 = (($125) + ($124<<2)|0);
+ HEAP32[$126>>2] = $119;
+ $127 = $i;
+ $128 = $127<<2;
+ $129 = (($128) + 2)|0;
+ $130 = $1;
+ $131 = (($130) + ($129<<2)|0);
+ $132 = HEAP32[$131>>2]|0;
+ $133 = $j;
+ $134 = $133<<2;
+ $135 = (($134) + 2)|0;
+ $136 = $1;
+ $137 = (($136) + ($135<<2)|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = $132 ^ $138;
+ $140 = $i;
+ $141 = $j;
+ $142 = (($140) + ($141))|0;
+ $143 = $142<<2;
+ $144 = (($143) + 2)|0;
+ $145 = $1;
+ $146 = (($145) + ($144<<2)|0);
+ HEAP32[$146>>2] = $139;
+ $147 = $i;
+ $148 = $147<<2;
+ $149 = (($148) + 3)|0;
+ $150 = $1;
+ $151 = (($150) + ($149<<2)|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = $j;
+ $154 = $153<<2;
+ $155 = (($154) + 3)|0;
+ $156 = $1;
+ $157 = (($156) + ($155<<2)|0);
+ $158 = HEAP32[$157>>2]|0;
+ $159 = $152 ^ $158;
+ $160 = $i;
+ $161 = $j;
+ $162 = (($160) + ($161))|0;
+ $163 = $162<<2;
+ $164 = (($163) + 3)|0;
+ $165 = $1;
+ $166 = (($165) + ($164<<2)|0);
+ HEAP32[$166>>2] = $159;
+ $167 = $j;
+ $168 = (($167) + 1)|0;
+ $j = $168;
+ }
+ $169 = $87<<1;
+ $i = $169;
+ }
+ STACKTOP = sp;return;
+}
+function _buf_get_be32_1868($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = $4 << 24;
+ $6 = $in;
+ $7 = ((($6)) + 1|0);
+ $8 = HEAP8[$7>>0]|0;
+ $9 = $8&255;
+ $10 = $9 << 16;
+ $11 = $5 | $10;
+ $12 = $in;
+ $13 = ((($12)) + 2|0);
+ $14 = HEAP8[$13>>0]|0;
+ $15 = $14&255;
+ $16 = $15 << 8;
+ $17 = $11 | $16;
+ $18 = $in;
+ $19 = ((($18)) + 3|0);
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $17 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _bshift($M,$i) {
+ $M = $M|0;
+ $i = $i|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $mask = 0;
+ var $t = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $t = sp + 8|0;
+ $0 = $M;
+ $1 = $i;
+ $2 = $1;
+ $3 = $2<<2;
+ $4 = (($3) + 0)|0;
+ $5 = $0;
+ $6 = (($5) + ($4<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ HEAP32[$t>>2] = $7;
+ $8 = $1;
+ $9 = $8<<2;
+ $10 = (($9) + 1)|0;
+ $11 = $0;
+ $12 = (($11) + ($10<<2)|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($t)) + 4|0);
+ HEAP32[$14>>2] = $13;
+ $15 = $1;
+ $16 = $15<<2;
+ $17 = (($16) + 2)|0;
+ $18 = $0;
+ $19 = (($18) + ($17<<2)|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ((($t)) + 8|0);
+ HEAP32[$21>>2] = $20;
+ $22 = $1;
+ $23 = $22<<2;
+ $24 = (($23) + 3)|0;
+ $25 = $0;
+ $26 = (($25) + ($24<<2)|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ((($t)) + 12|0);
+ HEAP32[$28>>2] = $27;
+ $29 = ((($t)) + 12|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $30 & 1;
+ $32 = ($31|0)!=(0);
+ $33 = $32 ? 225 : 0;
+ $mask = $33;
+ $34 = ((($t)) + 12|0);
+ $35 = HEAP32[$34>>2]|0;
+ $36 = $35 >>> 1;
+ $37 = ((($t)) + 8|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $38 << 31;
+ $40 = $36 ^ $39;
+ $41 = $1;
+ $42 = $41<<2;
+ $43 = (($42) + 3)|0;
+ $44 = $0;
+ $45 = (($44) + ($43<<2)|0);
+ HEAP32[$45>>2] = $40;
+ $46 = ((($t)) + 8|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $47 >>> 1;
+ $49 = ((($t)) + 4|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $50 << 31;
+ $52 = $48 ^ $51;
+ $53 = $1;
+ $54 = $53<<2;
+ $55 = (($54) + 2)|0;
+ $56 = $0;
+ $57 = (($56) + ($55<<2)|0);
+ HEAP32[$57>>2] = $52;
+ $58 = ((($t)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $59 >>> 1;
+ $61 = HEAP32[$t>>2]|0;
+ $62 = $61 << 31;
+ $63 = $60 ^ $62;
+ $64 = $1;
+ $65 = $64<<2;
+ $66 = (($65) + 1)|0;
+ $67 = $0;
+ $68 = (($67) + ($66<<2)|0);
+ HEAP32[$68>>2] = $63;
+ $69 = HEAP32[$t>>2]|0;
+ $70 = $69 >>> 1;
+ $71 = $mask;
+ $72 = $71 << 24;
+ $73 = $70 ^ $72;
+ $74 = $1;
+ $75 = $74<<2;
+ $76 = (($75) + 0)|0;
+ $77 = $0;
+ $78 = (($77) + ($76<<2)|0);
+ HEAP32[$78>>2] = $73;
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ocb_get_l($c,$l_tmp,$0,$1) {
+ $c = $c|0;
+ $l_tmp = $l_tmp|0;
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ntz = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $5 = sp;
+ $3 = $c;
+ $4 = $l_tmp;
+ $6 = $5;
+ $7 = $6;
+ HEAP32[$7>>2] = $0;
+ $8 = (($6) + 4)|0;
+ $9 = $8;
+ HEAP32[$9>>2] = $1;
+ $10 = $5;
+ $11 = $10;
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (($10) + 4)|0;
+ $14 = $13;
+ $15 = HEAP32[$14>>2]|0;
+ $16 = (__gcry_ctz64_1876($12,$15)|0);
+ $ntz = $16;
+ $17 = $ntz;
+ $18 = ($17|0)<(16);
+ if ($18) {
+ $19 = $ntz;
+ $20 = $3;
+ $21 = ((($20)) + 128|0);
+ $22 = ((($21)) + 32|0);
+ $23 = (($22) + ($19<<4)|0);
+ $2 = $23;
+ $36 = $2;
+ STACKTOP = sp;return ($36|0);
+ }
+ $24 = $4;
+ $25 = $3;
+ $26 = ((($25)) + 128|0);
+ $27 = ((($26)) + 32|0);
+ $28 = ((($27)) + 240|0);
+ _double_block_cpy($24,$28);
+ $29 = $ntz;
+ $30 = (($29) - 16)|0;
+ $ntz = $30;
+ while(1) {
+ $31 = $ntz;
+ $32 = ($31|0)!=(0);
+ $33 = $4;
+ if (!($32)) {
+ break;
+ }
+ _double_block($33);
+ $34 = $ntz;
+ $35 = (($34) + -1)|0;
+ $ntz = $35;
+ }
+ $2 = $33;
+ $36 = $2;
+ STACKTOP = sp;return ($36|0);
+}
+function __gcry_ctz64_1876($0,$1) {
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $3 = sp;
+ $4 = $3;
+ $5 = $4;
+ HEAP32[$5>>2] = $0;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $1;
+ $8 = $3;
+ $9 = $8;
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (($8) + 4)|0;
+ $12 = $11;
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($10|0)!=(0);
+ $15 = (0)!=(0);
+ $16 = $14 | $15;
+ $17 = $3;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ if ($16) {
+ $23 = (__gcry_ctz_1877($19)|0);
+ $2 = $23;
+ $26 = $2;
+ STACKTOP = sp;return ($26|0);
+ } else {
+ $24 = (__gcry_ctz_1877($22)|0);
+ $25 = (32 + ($24))|0;
+ $2 = $25;
+ $26 = $2;
+ STACKTOP = sp;return ($26|0);
+ }
+ return (0)|0;
+}
+function __gcry_ctz_1877($x) {
+ $x = $x|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $x;
+ $1 = $0;
+ $2 = ($1|0)!=(0);
+ $3 = $0;
+ $4 = (_llvm_cttz_i32(($3|0))|0);
+ $5 = $2 ? $4 : 32;
+ STACKTOP = sp;return ($5|0);
+}
+function _double_block_cpy($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $0;
+ $3 = $1;
+ $4 = ($2|0)!=($3|0);
+ if ($4) {
+ $5 = $0;
+ $6 = $1;
+ _buf_cpy_1878($5,$6,16);
+ }
+ $7 = $0;
+ _double_block($7);
+ STACKTOP = sp;return;
+}
+function _buf_cpy_1878($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function _double_block($b) {
+ $b = $b|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $l = 0, $l_0 = 0, $r = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $l_0 = sp + 16|0;
+ $l = sp + 8|0;
+ $r = sp;
+ $0 = $b;
+ $1 = $0;
+ $2 = (_buf_get_be64_1879($1)|0);
+ $3 = tempRet0;
+ $4 = $l;
+ $5 = $4;
+ HEAP32[$5>>2] = $2;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $3;
+ $8 = $0;
+ $9 = ((($8)) + 8|0);
+ $10 = (_buf_get_be64_1879($9)|0);
+ $11 = tempRet0;
+ $12 = $r;
+ $13 = $12;
+ HEAP32[$13>>2] = $10;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = $11;
+ $16 = $l;
+ $17 = $16;
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (($16) + 4)|0;
+ $20 = $19;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (_bitshift64Ashr(($18|0),($21|0),63)|0);
+ $23 = tempRet0;
+ $24 = $l_0;
+ $25 = $24;
+ HEAP32[$25>>2] = $22;
+ $26 = (($24) + 4)|0;
+ $27 = $26;
+ HEAP32[$27>>2] = $23;
+ $28 = $l;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($28) + 4)|0;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $l;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (_i64Add(($30|0),($33|0),($36|0),($39|0))|0);
+ $41 = tempRet0;
+ $42 = $r;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (($42) + 4)|0;
+ $46 = $45;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (_bitshift64Lshr(($44|0),($47|0),63)|0);
+ $49 = tempRet0;
+ $50 = $40 ^ $48;
+ $51 = $41 ^ $49;
+ $52 = $l;
+ $53 = $52;
+ HEAP32[$53>>2] = $50;
+ $54 = (($52) + 4)|0;
+ $55 = $54;
+ HEAP32[$55>>2] = $51;
+ $56 = $r;
+ $57 = $56;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($56) + 4)|0;
+ $60 = $59;
+ $61 = HEAP32[$60>>2]|0;
+ $62 = $r;
+ $63 = $62;
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($62) + 4)|0;
+ $66 = $65;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (_i64Add(($58|0),($61|0),($64|0),($67|0))|0);
+ $69 = tempRet0;
+ $70 = $l_0;
+ $71 = $70;
+ $72 = HEAP32[$71>>2]|0;
+ $73 = (($70) + 4)|0;
+ $74 = $73;
+ $75 = HEAP32[$74>>2]|0;
+ $76 = $72 & 135;
+ $77 = $68 ^ $76;
+ $78 = $r;
+ $79 = $78;
+ HEAP32[$79>>2] = $77;
+ $80 = (($78) + 4)|0;
+ $81 = $80;
+ HEAP32[$81>>2] = $69;
+ $82 = $0;
+ $83 = $l;
+ $84 = $83;
+ $85 = HEAP32[$84>>2]|0;
+ $86 = (($83) + 4)|0;
+ $87 = $86;
+ $88 = HEAP32[$87>>2]|0;
+ _buf_put_be64_1880($82,$85,$88);
+ $89 = $0;
+ $90 = ((($89)) + 8|0);
+ $91 = $r;
+ $92 = $91;
+ $93 = HEAP32[$92>>2]|0;
+ $94 = (($91) + 4)|0;
+ $95 = $94;
+ $96 = HEAP32[$95>>2]|0;
+ _buf_put_be64_1880($90,$93,$96);
+ STACKTOP = sp;return;
+}
+function _buf_get_be64_1879($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = (_bitshift64Shl(($4|0),0,56)|0);
+ $6 = tempRet0;
+ $7 = $in;
+ $8 = ((($7)) + 1|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = (_bitshift64Shl(($10|0),0,48)|0);
+ $12 = tempRet0;
+ $13 = $5 | $11;
+ $14 = $6 | $12;
+ $15 = $in;
+ $16 = ((($15)) + 2|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17&255;
+ $19 = (_bitshift64Shl(($18|0),0,40)|0);
+ $20 = tempRet0;
+ $21 = $13 | $19;
+ $22 = $14 | $20;
+ $23 = $in;
+ $24 = ((($23)) + 3|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25&255;
+ $27 = $22 | $26;
+ $28 = $in;
+ $29 = ((($28)) + 4|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ $32 = (_bitshift64Shl(($31|0),0,24)|0);
+ $33 = tempRet0;
+ $34 = $21 | $32;
+ $35 = $27 | $33;
+ $36 = $in;
+ $37 = ((($36)) + 5|0);
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $38&255;
+ $40 = (_bitshift64Shl(($39|0),0,16)|0);
+ $41 = tempRet0;
+ $42 = $34 | $40;
+ $43 = $35 | $41;
+ $44 = $in;
+ $45 = ((($44)) + 6|0);
+ $46 = HEAP8[$45>>0]|0;
+ $47 = $46&255;
+ $48 = (_bitshift64Shl(($47|0),0,8)|0);
+ $49 = tempRet0;
+ $50 = $42 | $48;
+ $51 = $43 | $49;
+ $52 = $in;
+ $53 = ((($52)) + 7|0);
+ $54 = HEAP8[$53>>0]|0;
+ $55 = $54&255;
+ $56 = $50 | $55;
+ tempRet0 = ($51);
+ STACKTOP = sp;return ($56|0);
+}
+function _buf_put_be64_1880($_buf,$0,$1) {
+ $_buf = $_buf|0;
+ $0 = $0|0;
+ $1 = $1|0;
+ var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $3 = sp;
+ $2 = $_buf;
+ $4 = $3;
+ $5 = $4;
+ HEAP32[$5>>2] = $0;
+ $6 = (($4) + 4)|0;
+ $7 = $6;
+ HEAP32[$7>>2] = $1;
+ $8 = $2;
+ $out = $8;
+ $9 = $3;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (($9) + 4)|0;
+ $13 = $12;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (_bitshift64Lshr(($11|0),($14|0),56)|0);
+ $16 = tempRet0;
+ $17 = $15&255;
+ $18 = $out;
+ HEAP8[$18>>0] = $17;
+ $19 = $3;
+ $20 = $19;
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (($19) + 4)|0;
+ $23 = $22;
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (_bitshift64Lshr(($21|0),($24|0),48)|0);
+ $26 = tempRet0;
+ $27 = $25&255;
+ $28 = $out;
+ $29 = ((($28)) + 1|0);
+ HEAP8[$29>>0] = $27;
+ $30 = $3;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($30) + 4)|0;
+ $34 = $33;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (_bitshift64Lshr(($32|0),($35|0),40)|0);
+ $37 = tempRet0;
+ $38 = $36&255;
+ $39 = $out;
+ $40 = ((($39)) + 2|0);
+ HEAP8[$40>>0] = $38;
+ $41 = $3;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (($41) + 4)|0;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $46&255;
+ $48 = $out;
+ $49 = ((($48)) + 3|0);
+ HEAP8[$49>>0] = $47;
+ $50 = $3;
+ $51 = $50;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($50) + 4)|0;
+ $54 = $53;
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (_bitshift64Lshr(($52|0),($55|0),24)|0);
+ $57 = tempRet0;
+ $58 = $56&255;
+ $59 = $out;
+ $60 = ((($59)) + 4|0);
+ HEAP8[$60>>0] = $58;
+ $61 = $3;
+ $62 = $61;
+ $63 = HEAP32[$62>>2]|0;
+ $64 = (($61) + 4)|0;
+ $65 = $64;
+ $66 = HEAP32[$65>>2]|0;
+ $67 = (_bitshift64Lshr(($63|0),($66|0),16)|0);
+ $68 = tempRet0;
+ $69 = $67&255;
+ $70 = $out;
+ $71 = ((($70)) + 5|0);
+ HEAP8[$71>>0] = $69;
+ $72 = $3;
+ $73 = $72;
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (($72) + 4)|0;
+ $76 = $75;
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (_bitshift64Lshr(($74|0),($77|0),8)|0);
+ $79 = tempRet0;
+ $80 = $78&255;
+ $81 = $out;
+ $82 = ((($81)) + 6|0);
+ HEAP8[$82>>0] = $80;
+ $83 = $3;
+ $84 = $83;
+ $85 = HEAP32[$84>>2]|0;
+ $86 = (($83) + 4)|0;
+ $87 = $86;
+ $88 = HEAP32[$87>>2]|0;
+ $89 = $85&255;
+ $90 = $out;
+ $91 = ((($90)) + 7|0);
+ HEAP8[$91>>0] = $89;
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ocb_set_nonce($c,$nonce,$noncelen) {
+ $c = $c|0;
+ $nonce = $nonce|0;
+ $noncelen = $noncelen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vlen2 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr_long = 0;
+ var $_vptr_long5 = 0, $_vset = 0, $_vset3 = 0, $_vset_long = 0, $_vset_long4 = 0, $bottom = 0, $burn = 0, $i = 0, $ktop = 0, $nburn = 0, $or$cond = 0, $or$cond3 = 0, $stretch = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ktop = sp + 104|0;
+ $stretch = sp + 80|0;
+ $_vset_long = sp + 8|0;
+ $_vset_long4 = sp;
+ $1 = $c;
+ $2 = $nonce;
+ $3 = $noncelen;
+ $burn = 0;
+ $4 = $1;
+ $5 = ((($4)) + 56|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6 & 1;
+ $8 = $7&255;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ $0 = 156;
+ $294 = $0;
+ STACKTOP = sp;return ($294|0);
+ }
+ $10 = $1;
+ $11 = ((($10)) + 128|0);
+ $12 = ((($11)) + 352|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $13&255;
+ switch ($14|0) {
+ case 16: case 12: case 8: {
+ break;
+ }
+ default: {
+ $0 = 59;
+ $294 = $0;
+ STACKTOP = sp;return ($294|0);
+ }
+ }
+ $15 = $1;
+ $16 = ((($15)) + 12|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ((($17)) + 20|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($19|0)!=(16);
+ if ($20) {
+ $0 = 12;
+ $294 = $0;
+ STACKTOP = sp;return ($294|0);
+ }
+ $21 = $2;
+ $22 = ($21|0)!=(0|0);
+ if (!($22)) {
+ $0 = 45;
+ $294 = $0;
+ STACKTOP = sp;return ($294|0);
+ }
+ $23 = $3;
+ $24 = ($23>>>0)>(15);
+ $25 = $3;
+ $26 = ($25>>>0)<(8);
+ $or$cond = $24 | $26;
+ $27 = $3;
+ $28 = ($27>>>0)>=(16);
+ $or$cond3 = $or$cond | $28;
+ if ($or$cond3) {
+ $0 = 139;
+ $294 = $0;
+ STACKTOP = sp;return ($294|0);
+ }
+ dest=$ktop; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $29 = $1;
+ $30 = ((($29)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ((($31)) + 36|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $1;
+ $35 = ((($34)) + 496|0);
+ $36 = $1;
+ $37 = ((($36)) + 128|0);
+ $38 = (FUNCTION_TABLE_iiii[$33 & 127]($35,$37,$ktop)|0);
+ $nburn = $38;
+ $39 = $nburn;
+ $40 = $burn;
+ $41 = ($39>>>0)>($40>>>0);
+ $42 = $nburn;
+ $43 = $burn;
+ $44 = $41 ? $42 : $43;
+ $burn = $44;
+ $45 = $1;
+ $46 = ((($45)) + 128|0);
+ $47 = ((($46)) + 16|0);
+ $48 = $1;
+ $49 = ((($48)) + 128|0);
+ _double_block_cpy($47,$49);
+ $50 = $1;
+ $51 = ((($50)) + 128|0);
+ $52 = ((($51)) + 32|0);
+ $53 = $1;
+ $54 = ((($53)) + 128|0);
+ $55 = ((($54)) + 16|0);
+ _double_block_cpy($52,$55);
+ $i = 1;
+ while(1) {
+ $56 = $i;
+ $57 = ($56|0)<(16);
+ if (!($57)) {
+ break;
+ }
+ $58 = $i;
+ $59 = $1;
+ $60 = ((($59)) + 128|0);
+ $61 = ((($60)) + 32|0);
+ $62 = (($61) + ($58<<4)|0);
+ $63 = $i;
+ $64 = (($63) - 1)|0;
+ $65 = $1;
+ $66 = ((($65)) + 128|0);
+ $67 = ((($66)) + 32|0);
+ $68 = (($67) + ($64<<4)|0);
+ _double_block_cpy($62,$68);
+ $69 = $i;
+ $70 = (($69) + 1)|0;
+ $i = $70;
+ }
+ $71 = $3;
+ $72 = (16 - ($71))|0;
+ _memset(($ktop|0),0,($72|0))|0;
+ $73 = $3;
+ $74 = (16 - ($73))|0;
+ $75 = (($ktop) + ($74)|0);
+ $76 = $2;
+ $77 = $3;
+ _buf_cpy_1878($75,$76,$77);
+ $78 = $1;
+ $79 = ((($78)) + 128|0);
+ $80 = ((($79)) + 352|0);
+ $81 = HEAP8[$80>>0]|0;
+ $82 = $81&255;
+ $83 = $82<<3;
+ $84 = (($83|0) % 128)&-1;
+ $85 = $84 << 1;
+ $86 = $85&255;
+ HEAP8[$ktop>>0] = $86;
+ $87 = $3;
+ $88 = (16 - ($87))|0;
+ $89 = (($88) - 1)|0;
+ $90 = (($ktop) + ($89)|0);
+ $91 = HEAP8[$90>>0]|0;
+ $92 = $91&255;
+ $93 = $92 | 1;
+ $94 = $93&255;
+ HEAP8[$90>>0] = $94;
+ $95 = ((($ktop)) + 15|0);
+ $96 = HEAP8[$95>>0]|0;
+ $97 = $96&255;
+ $98 = $97 & 63;
+ $bottom = $98;
+ $99 = ((($ktop)) + 15|0);
+ $100 = HEAP8[$99>>0]|0;
+ $101 = $100&255;
+ $102 = $101 & 192;
+ $103 = $102&255;
+ HEAP8[$99>>0] = $103;
+ $104 = $1;
+ $105 = ((($104)) + 12|0);
+ $106 = HEAP32[$105>>2]|0;
+ $107 = ((($106)) + 36|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = $1;
+ $110 = ((($109)) + 496|0);
+ $111 = (FUNCTION_TABLE_iiii[$108 & 127]($110,$ktop,$ktop)|0);
+ $nburn = $111;
+ $112 = $nburn;
+ $113 = $burn;
+ $114 = ($112>>>0)>($113>>>0);
+ $115 = $nburn;
+ $116 = $burn;
+ $117 = $114 ? $115 : $116;
+ $burn = $117;
+ _buf_cpy_1878($stretch,$ktop,16);
+ $118 = ((($stretch)) + 16|0);
+ $119 = ((($ktop)) + 1|0);
+ _buf_xor_1883($118,$ktop,$119,8);
+ $120 = $1;
+ $121 = ((($120)) + 64|0);
+ $122 = $bottom;
+ _bit_copy($121,$stretch,$122,16);
+ $123 = $1;
+ $124 = ((($123)) + 56|0);
+ $125 = HEAP8[$124>>0]|0;
+ $126 = $125 & -3;
+ $127 = $126 | 2;
+ HEAP8[$124>>0] = $127;
+ $128 = $1;
+ $129 = ((($128)) + 80|0);
+ ;HEAP32[$129>>2]=0|0;HEAP32[$129+4>>2]=0|0;HEAP32[$129+8>>2]=0|0;HEAP32[$129+12>>2]=0|0;
+ $130 = $1;
+ $131 = ((($130)) + 128|0);
+ $132 = ((($131)) + 304|0);
+ ;HEAP32[$132>>2]=0|0;HEAP32[$132+4>>2]=0|0;HEAP32[$132+8>>2]=0|0;HEAP32[$132+12>>2]=0|0;
+ $133 = $1;
+ $134 = ((($133)) + 128|0);
+ $135 = ((($134)) + 320|0);
+ ;HEAP32[$135>>2]=0|0;HEAP32[$135+4>>2]=0|0;HEAP32[$135+8>>2]=0|0;HEAP32[$135+12>>2]=0|0;
+ $136 = $1;
+ $137 = ((($136)) + 96|0);
+ ;HEAP32[$137>>2]=0|0;HEAP32[$137+4>>2]=0|0;HEAP32[$137+8>>2]=0|0;HEAP32[$137+12>>2]=0|0;
+ $138 = $1;
+ $139 = ((($138)) + 112|0);
+ HEAP32[$139>>2] = 0;
+ $140 = $1;
+ $141 = ((($140)) + 56|0);
+ $142 = HEAP8[$141>>0]|0;
+ $143 = $142 & -5;
+ HEAP8[$141>>0] = $143;
+ $144 = $1;
+ $145 = ((($144)) + 56|0);
+ $146 = HEAP8[$145>>0]|0;
+ $147 = $146 & -9;
+ HEAP8[$145>>0] = $147;
+ $148 = $1;
+ $149 = ((($148)) + 128|0);
+ $150 = ((($149)) + 336|0);
+ $151 = $150;
+ $152 = $151;
+ HEAP32[$152>>2] = 0;
+ $153 = (($151) + 4)|0;
+ $154 = $153;
+ HEAP32[$154>>2] = 0;
+ $155 = $1;
+ $156 = ((($155)) + 128|0);
+ $157 = ((($156)) + 344|0);
+ $158 = $157;
+ $159 = $158;
+ HEAP32[$159>>2] = 0;
+ $160 = (($158) + 4)|0;
+ $161 = $160;
+ HEAP32[$161>>2] = 0;
+ $162 = $1;
+ $163 = ((($162)) + 128|0);
+ $164 = ((($163)) + 353|0);
+ $165 = HEAP8[$164>>0]|0;
+ $166 = $165 & -2;
+ HEAP8[$164>>0] = $166;
+ $167 = $1;
+ $168 = ((($167)) + 128|0);
+ $169 = ((($168)) + 353|0);
+ $170 = HEAP8[$169>>0]|0;
+ $171 = $170 & -3;
+ HEAP8[$169>>0] = $171;
+ $_vptr = $ktop;
+ $_vlen = 16;
+ $_vset = 0;
+ $172 = $_vset;
+ $173 = $172&255;
+ $174 = $_vset_long;
+ $175 = $174;
+ HEAP32[$175>>2] = $173;
+ $176 = (($174) + 4)|0;
+ $177 = $176;
+ HEAP32[$177>>2] = 0;
+ while(1) {
+ $178 = $_vptr;
+ $179 = $178;
+ $180 = $179 & 7;
+ $181 = ($180|0)!=(0);
+ $182 = $_vlen;
+ $183 = ($182|0)!=(0);
+ $184 = $181 ? $183 : 0;
+ if (!($184)) {
+ break;
+ }
+ $185 = $_vset;
+ $186 = $_vptr;
+ HEAP8[$186>>0] = $185;
+ $187 = $_vptr;
+ $188 = ((($187)) + 1|0);
+ $_vptr = $188;
+ $189 = $_vlen;
+ $190 = (($189) + -1)|0;
+ $_vlen = $190;
+ }
+ $191 = $_vlen;
+ $192 = ($191>>>0)<(8);
+ if (!($192)) {
+ $193 = $_vset_long;
+ $194 = $193;
+ $195 = HEAP32[$194>>2]|0;
+ $196 = (($193) + 4)|0;
+ $197 = $196;
+ $198 = HEAP32[$197>>2]|0;
+ $199 = (___muldi3(($195|0),($198|0),16843009,16843009)|0);
+ $200 = tempRet0;
+ $201 = $_vset_long;
+ $202 = $201;
+ HEAP32[$202>>2] = $199;
+ $203 = (($201) + 4)|0;
+ $204 = $203;
+ HEAP32[$204>>2] = $200;
+ while(1) {
+ $205 = $_vptr;
+ $_vptr_long = $205;
+ $206 = $_vset_long;
+ $207 = $206;
+ $208 = HEAP32[$207>>2]|0;
+ $209 = (($206) + 4)|0;
+ $210 = $209;
+ $211 = HEAP32[$210>>2]|0;
+ $212 = $_vptr_long;
+ $213 = $212;
+ $214 = $213;
+ HEAP32[$214>>2] = $208;
+ $215 = (($213) + 4)|0;
+ $216 = $215;
+ HEAP32[$216>>2] = $211;
+ $217 = $_vlen;
+ $218 = (($217) - 8)|0;
+ $_vlen = $218;
+ $219 = $_vptr;
+ $220 = ((($219)) + 8|0);
+ $_vptr = $220;
+ $221 = $_vlen;
+ $222 = ($221>>>0)>=(8);
+ if (!($222)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $223 = $_vlen;
+ $224 = ($223|0)!=(0);
+ if (!($224)) {
+ break;
+ }
+ $225 = $_vset;
+ $226 = $_vptr;
+ HEAP8[$226>>0] = $225;
+ $227 = $_vptr;
+ $228 = ((($227)) + 1|0);
+ $_vptr = $228;
+ $229 = $_vlen;
+ $230 = (($229) + -1)|0;
+ $_vlen = $230;
+ }
+ $_vptr1 = $stretch;
+ $_vlen2 = 24;
+ $_vset3 = 0;
+ $231 = $_vset3;
+ $232 = $231&255;
+ $233 = $_vset_long4;
+ $234 = $233;
+ HEAP32[$234>>2] = $232;
+ $235 = (($233) + 4)|0;
+ $236 = $235;
+ HEAP32[$236>>2] = 0;
+ while(1) {
+ $237 = $_vptr1;
+ $238 = $237;
+ $239 = $238 & 7;
+ $240 = ($239|0)!=(0);
+ $241 = $_vlen2;
+ $242 = ($241|0)!=(0);
+ $243 = $240 ? $242 : 0;
+ if (!($243)) {
+ break;
+ }
+ $244 = $_vset3;
+ $245 = $_vptr1;
+ HEAP8[$245>>0] = $244;
+ $246 = $_vptr1;
+ $247 = ((($246)) + 1|0);
+ $_vptr1 = $247;
+ $248 = $_vlen2;
+ $249 = (($248) + -1)|0;
+ $_vlen2 = $249;
+ }
+ $250 = $_vlen2;
+ $251 = ($250>>>0)<(8);
+ if (!($251)) {
+ $252 = $_vset_long4;
+ $253 = $252;
+ $254 = HEAP32[$253>>2]|0;
+ $255 = (($252) + 4)|0;
+ $256 = $255;
+ $257 = HEAP32[$256>>2]|0;
+ $258 = (___muldi3(($254|0),($257|0),16843009,16843009)|0);
+ $259 = tempRet0;
+ $260 = $_vset_long4;
+ $261 = $260;
+ HEAP32[$261>>2] = $258;
+ $262 = (($260) + 4)|0;
+ $263 = $262;
+ HEAP32[$263>>2] = $259;
+ while(1) {
+ $264 = $_vptr1;
+ $_vptr_long5 = $264;
+ $265 = $_vset_long4;
+ $266 = $265;
+ $267 = HEAP32[$266>>2]|0;
+ $268 = (($265) + 4)|0;
+ $269 = $268;
+ $270 = HEAP32[$269>>2]|0;
+ $271 = $_vptr_long5;
+ $272 = $271;
+ $273 = $272;
+ HEAP32[$273>>2] = $267;
+ $274 = (($272) + 4)|0;
+ $275 = $274;
+ HEAP32[$275>>2] = $270;
+ $276 = $_vlen2;
+ $277 = (($276) - 8)|0;
+ $_vlen2 = $277;
+ $278 = $_vptr1;
+ $279 = ((($278)) + 8|0);
+ $_vptr1 = $279;
+ $280 = $_vlen2;
+ $281 = ($280>>>0)>=(8);
+ if (!($281)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $282 = $_vlen2;
+ $283 = ($282|0)!=(0);
+ if (!($283)) {
+ break;
+ }
+ $284 = $_vset3;
+ $285 = $_vptr1;
+ HEAP8[$285>>0] = $284;
+ $286 = $_vptr1;
+ $287 = ((($286)) + 1|0);
+ $_vptr1 = $287;
+ $288 = $_vlen2;
+ $289 = (($288) + -1)|0;
+ $_vlen2 = $289;
+ }
+ $290 = $burn;
+ $291 = ($290>>>0)>(0);
+ if ($291) {
+ $292 = $burn;
+ $293 = (($292) + 16)|0;
+ ___gcry_burn_stack($293);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $294 = $0;
+ STACKTOP = sp;return ($294|0);
+}
+function _buf_xor_1883($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _bit_copy($d,$s,$bitoff,$nbytes) {
+ $d = $d|0;
+ $s = $s|0;
+ $bitoff = $bitoff|0;
+ $nbytes = $nbytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $shift = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $bitoff;
+ $3 = $nbytes;
+ $4 = $2;
+ $5 = (($4>>>0) / 8)&-1;
+ $6 = $1;
+ $7 = (($6) + ($5)|0);
+ $1 = $7;
+ $8 = $2;
+ $9 = (($8>>>0) % 8)&-1;
+ $shift = $9;
+ $10 = $shift;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ while(1) {
+ $12 = $3;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ break;
+ }
+ $14 = $1;
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $shift;
+ $18 = $16 << $17;
+ $19 = $1;
+ $20 = ((($19)) + 1|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21&255;
+ $23 = $shift;
+ $24 = (8 - ($23))|0;
+ $25 = $22 >> $24;
+ $26 = $18 | $25;
+ $27 = $26&255;
+ $28 = $0;
+ HEAP8[$28>>0] = $27;
+ $29 = $3;
+ $30 = (($29) + -1)|0;
+ $3 = $30;
+ $31 = $0;
+ $32 = ((($31)) + 1|0);
+ $0 = $32;
+ $33 = $1;
+ $34 = ((($33)) + 1|0);
+ $1 = $34;
+ }
+ STACKTOP = sp;return;
+ } else {
+ while(1) {
+ $35 = $3;
+ $36 = ($35|0)!=(0);
+ if (!($36)) {
+ break;
+ }
+ $37 = $1;
+ $38 = HEAP8[$37>>0]|0;
+ $39 = $0;
+ HEAP8[$39>>0] = $38;
+ $40 = $3;
+ $41 = (($40) + -1)|0;
+ $3 = $41;
+ $42 = $0;
+ $43 = ((($42)) + 1|0);
+ $0 = $43;
+ $44 = $1;
+ $45 = ((($44)) + 1|0);
+ $1 = $45;
+ }
+ STACKTOP = sp;return;
+ }
+}
+function _buf_xor_1_1886($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ $21 = HEAP32[$19>>2]|0;
+ $22 = $21 ^ $18;
+ HEAP32[$19>>2] = $22;
+ $23 = $2;
+ $24 = (($23) - 4)|0;
+ $2 = $24;
+ }
+ $25 = $ldst;
+ $dst = $25;
+ $26 = $lsrc;
+ $src = $26;
+ }
+ while(1) {
+ $27 = $2;
+ $28 = ($27|0)!=(0);
+ if (!($28)) {
+ break;
+ }
+ $29 = $src;
+ $30 = ((($29)) + 1|0);
+ $src = $30;
+ $31 = HEAP8[$29>>0]|0;
+ $32 = $31&255;
+ $33 = $dst;
+ $34 = ((($33)) + 1|0);
+ $dst = $34;
+ $35 = HEAP8[$33>>0]|0;
+ $36 = $35&255;
+ $37 = $36 ^ $32;
+ $38 = $37&255;
+ HEAP8[$33>>0] = $38;
+ $39 = $2;
+ $40 = (($39) + -1)|0;
+ $2 = $40;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ocb_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $outbuf;
+ $2 = $outbuflen;
+ $3 = $inbuf;
+ $4 = $inbuflen;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = (_ocb_crypt($5,1,$6,$7,$8,$9)|0);
+ STACKTOP = sp;return ($10|0);
+}
+function _ocb_crypt($c,$encrypt,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $encrypt = $encrypt|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
+ var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
+ var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
+ var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $burn = 0, $crypt_fn = 0, $l_tmp = 0, $nblks = 0, $nburn = 0, $pad = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $l_tmp = sp + 64|0;
+ $pad = sp + 48|0;
+ $1 = $c;
+ $2 = $encrypt;
+ $3 = $outbuf;
+ $4 = $outbuflen;
+ $5 = $inbuf;
+ $6 = $inbuflen;
+ $burn = 0;
+ $7 = $6;
+ $8 = (($7>>>0) / 16)&-1;
+ $nblks = $8;
+ $9 = $1;
+ $10 = ((($9)) + 56|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = ($11&255) >>> 1;
+ $13 = $12 & 1;
+ $14 = $13&255;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = $1;
+ $17 = ((($16)) + 128|0);
+ $18 = ((($17)) + 353|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19 & 1;
+ $21 = $20&255;
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ $23 = $1;
+ $24 = ((($23)) + 12|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ((($25)) + 20|0);
+ $27 = HEAP32[$26>>2]|0;
+ $28 = ($27|0)!=(16);
+ if ($28) {
+ $0 = 12;
+ $252 = $0;
+ STACKTOP = sp;return ($252|0);
+ }
+ $29 = $4;
+ $30 = $6;
+ $31 = ($29>>>0)<($30>>>0);
+ if ($31) {
+ $0 = 200;
+ $252 = $0;
+ STACKTOP = sp;return ($252|0);
+ }
+ $32 = $1;
+ $33 = ((($32)) + 56|0);
+ $34 = HEAP8[$33>>0]|0;
+ $35 = ($34&255) >>> 3;
+ $36 = $35 & 1;
+ $37 = $36&255;
+ $38 = ($37|0)!=(0);
+ if (!($38)) {
+ $39 = $6;
+ $40 = (($39>>>0) % 16)&-1;
+ $41 = ($40|0)!=(0);
+ if ($41) {
+ $0 = 139;
+ $252 = $0;
+ STACKTOP = sp;return ($252|0);
+ }
+ }
+ $42 = $nblks;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ $44 = $1;
+ $45 = ((($44)) + 20|0);
+ $46 = ((($45)) + 20|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)!=(0|0);
+ if ($48) {
+ $49 = $1;
+ $50 = ((($49)) + 20|0);
+ $51 = ((($50)) + 20|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $1;
+ $54 = $3;
+ $55 = $5;
+ $56 = $nblks;
+ $57 = $2;
+ FUNCTION_TABLE_viiiii[$52 & 127]($53,$54,$55,$56,$57);
+ $58 = $nblks;
+ $59 = $58<<4;
+ $60 = $5;
+ $61 = (($60) + ($59)|0);
+ $5 = $61;
+ $62 = $nblks;
+ $63 = $62<<4;
+ $64 = $3;
+ $65 = (($64) + ($63)|0);
+ $3 = $65;
+ $66 = $nblks;
+ $67 = $66<<4;
+ $68 = $6;
+ $69 = (($68) - ($67))|0;
+ $6 = $69;
+ $70 = $nblks;
+ $71 = $70<<4;
+ $72 = $4;
+ $73 = (($72) - ($71))|0;
+ $4 = $73;
+ $nblks = 0;
+ }
+ }
+ $74 = $nblks;
+ $75 = ($74|0)!=(0);
+ if ($75) {
+ $76 = $2;
+ $77 = ($76|0)!=(0);
+ $78 = $1;
+ $79 = ((($78)) + 12|0);
+ $80 = HEAP32[$79>>2]|0;
+ if ($77) {
+ $81 = ((($80)) + 36|0);
+ $82 = HEAP32[$81>>2]|0;
+ $85 = $82;
+ } else {
+ $83 = ((($80)) + 40|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = $84;
+ }
+ $crypt_fn = $85;
+ $86 = $2;
+ $87 = ($86|0)!=(0);
+ if ($87) {
+ $88 = $1;
+ $89 = ((($88)) + 80|0);
+ $90 = $5;
+ $91 = $nblks;
+ _ocb_checksum($89,$90,$91);
+ }
+ while(1) {
+ $92 = $6;
+ $93 = ($92>>>0)>=(16);
+ if (!($93)) {
+ break;
+ }
+ $94 = $1;
+ $95 = ((($94)) + 128|0);
+ $96 = ((($95)) + 336|0);
+ $97 = $96;
+ $98 = $97;
+ $99 = HEAP32[$98>>2]|0;
+ $100 = (($97) + 4)|0;
+ $101 = $100;
+ $102 = HEAP32[$101>>2]|0;
+ $103 = (_i64Add(($99|0),($102|0),1,0)|0);
+ $104 = tempRet0;
+ $105 = $96;
+ $106 = $105;
+ HEAP32[$106>>2] = $103;
+ $107 = (($105) + 4)|0;
+ $108 = $107;
+ HEAP32[$108>>2] = $104;
+ $109 = $1;
+ $110 = ((($109)) + 64|0);
+ $111 = $1;
+ $112 = $1;
+ $113 = ((($112)) + 128|0);
+ $114 = ((($113)) + 336|0);
+ $115 = $114;
+ $116 = $115;
+ $117 = HEAP32[$116>>2]|0;
+ $118 = (($115) + 4)|0;
+ $119 = $118;
+ $120 = HEAP32[$119>>2]|0;
+ $121 = (__gcry_cipher_ocb_get_l($111,$l_tmp,$117,$120)|0);
+ _buf_xor_1_1886($110,$121,16);
+ $122 = $3;
+ $123 = $1;
+ $124 = ((($123)) + 64|0);
+ $125 = $5;
+ _buf_xor_1883($122,$124,$125,16);
+ $126 = $crypt_fn;
+ $127 = $1;
+ $128 = ((($127)) + 496|0);
+ $129 = $3;
+ $130 = $3;
+ $131 = (FUNCTION_TABLE_iiii[$126 & 127]($128,$129,$130)|0);
+ $nburn = $131;
+ $132 = $nburn;
+ $133 = $burn;
+ $134 = ($132>>>0)>($133>>>0);
+ $135 = $nburn;
+ $136 = $burn;
+ $137 = $134 ? $135 : $136;
+ $burn = $137;
+ $138 = $3;
+ $139 = $1;
+ $140 = ((($139)) + 64|0);
+ _buf_xor_1_1886($138,$140,16);
+ $141 = $5;
+ $142 = ((($141)) + 16|0);
+ $5 = $142;
+ $143 = $6;
+ $144 = (($143) - 16)|0;
+ $6 = $144;
+ $145 = $3;
+ $146 = ((($145)) + 16|0);
+ $3 = $146;
+ $4 = -16;
+ }
+ $147 = $2;
+ $148 = ($147|0)!=(0);
+ if (!($148)) {
+ $149 = $1;
+ $150 = ((($149)) + 80|0);
+ $151 = $3;
+ $152 = $nblks;
+ $153 = $152<<4;
+ $154 = (0 - ($153))|0;
+ $155 = (($151) + ($154)|0);
+ $156 = $nblks;
+ _ocb_checksum($150,$155,$156);
+ }
+ }
+ $157 = $6;
+ $158 = ($157|0)!=(0);
+ do {
+ if ($158) {
+ $159 = $1;
+ $160 = ((($159)) + 64|0);
+ $161 = $1;
+ $162 = ((($161)) + 128|0);
+ _buf_xor_1_1886($160,$162,16);
+ $163 = $1;
+ $164 = ((($163)) + 12|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = ((($165)) + 36|0);
+ $167 = HEAP32[$166>>2]|0;
+ $168 = $1;
+ $169 = ((($168)) + 496|0);
+ $170 = $1;
+ $171 = ((($170)) + 64|0);
+ $172 = (FUNCTION_TABLE_iiii[$167 & 127]($169,$pad,$171)|0);
+ $nburn = $172;
+ $173 = $nburn;
+ $174 = $burn;
+ $175 = ($173>>>0)>($174>>>0);
+ $176 = $nburn;
+ $177 = $burn;
+ $178 = $175 ? $176 : $177;
+ $burn = $178;
+ $179 = $2;
+ $180 = ($179|0)!=(0);
+ if ($180) {
+ $181 = $5;
+ $182 = $6;
+ _buf_cpy_1878($l_tmp,$181,$182);
+ $183 = $6;
+ $184 = (($l_tmp) + ($183)|0);
+ $185 = $6;
+ $186 = (16 - ($185))|0;
+ _memset(($184|0),0,($186|0))|0;
+ $187 = $6;
+ $188 = (($l_tmp) + ($187)|0);
+ HEAP8[$188>>0] = -128;
+ $189 = $1;
+ $190 = ((($189)) + 80|0);
+ _buf_xor_1_1886($190,$l_tmp,16);
+ $191 = $3;
+ $192 = $5;
+ $193 = $6;
+ _buf_xor_1883($191,$192,$pad,$193);
+ break;
+ } else {
+ _buf_cpy_1878($l_tmp,$pad,16);
+ $194 = $5;
+ $195 = $6;
+ _buf_cpy_1878($l_tmp,$194,$195);
+ _buf_xor_1_1886($l_tmp,$pad,16);
+ $196 = $6;
+ $197 = (($l_tmp) + ($196)|0);
+ HEAP8[$197>>0] = -128;
+ $198 = $3;
+ $199 = $6;
+ _buf_cpy_1878($198,$l_tmp,$199);
+ $200 = $1;
+ $201 = ((($200)) + 80|0);
+ _buf_xor_1_1886($201,$l_tmp,16);
+ break;
+ }
+ }
+ } while(0);
+ $202 = $1;
+ $203 = ((($202)) + 56|0);
+ $204 = HEAP8[$203>>0]|0;
+ $205 = ($204&255) >>> 3;
+ $206 = $205 & 1;
+ $207 = $206&255;
+ $208 = ($207|0)!=(0);
+ if ($208) {
+ $209 = $1;
+ $210 = ((($209)) + 128|0);
+ $211 = ((($210)) + 288|0);
+ $212 = $1;
+ $213 = ((($212)) + 80|0);
+ $214 = $1;
+ $215 = ((($214)) + 64|0);
+ _buf_xor_1883($211,$213,$215,16);
+ $216 = $1;
+ $217 = ((($216)) + 128|0);
+ $218 = ((($217)) + 288|0);
+ $219 = $1;
+ $220 = ((($219)) + 128|0);
+ $221 = ((($220)) + 16|0);
+ _buf_xor_1_1886($218,$221,16);
+ $222 = $1;
+ $223 = ((($222)) + 12|0);
+ $224 = HEAP32[$223>>2]|0;
+ $225 = ((($224)) + 36|0);
+ $226 = HEAP32[$225>>2]|0;
+ $227 = $1;
+ $228 = ((($227)) + 496|0);
+ $229 = $1;
+ $230 = ((($229)) + 128|0);
+ $231 = ((($230)) + 288|0);
+ $232 = $1;
+ $233 = ((($232)) + 128|0);
+ $234 = ((($233)) + 288|0);
+ $235 = (FUNCTION_TABLE_iiii[$226 & 127]($228,$231,$234)|0);
+ $nburn = $235;
+ $236 = $nburn;
+ $237 = $burn;
+ $238 = ($236>>>0)>($237>>>0);
+ $239 = $nburn;
+ $240 = $burn;
+ $241 = $238 ? $239 : $240;
+ $burn = $241;
+ $242 = $1;
+ $243 = ((($242)) + 128|0);
+ $244 = ((($243)) + 353|0);
+ $245 = HEAP8[$244>>0]|0;
+ $246 = $245 & -2;
+ $247 = $246 | 1;
+ HEAP8[$244>>0] = $247;
+ }
+ $248 = $burn;
+ $249 = ($248>>>0)>(0);
+ if ($249) {
+ $250 = $burn;
+ $251 = (($250) + 16)|0;
+ ___gcry_burn_stack($251);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $252 = $0;
+ STACKTOP = sp;return ($252|0);
+ }
+ }
+ $0 = 156;
+ $252 = $0;
+ STACKTOP = sp;return ($252|0);
+}
+function _ocb_checksum($chksum,$plainbuf,$nblks) {
+ $chksum = $chksum|0;
+ $plainbuf = $plainbuf|0;
+ $nblks = $nblks|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $chksum;
+ $1 = $plainbuf;
+ $2 = $nblks;
+ while(1) {
+ $3 = $2;
+ $4 = ($3>>>0)>(0);
+ if (!($4)) {
+ break;
+ }
+ $5 = $0;
+ $6 = $1;
+ _buf_xor_1_1886($5,$6,16);
+ $7 = $1;
+ $8 = ((($7)) + 16|0);
+ $1 = $8;
+ $9 = $2;
+ $10 = (($9) + -1)|0;
+ $2 = $10;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_ocb_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $outbuf;
+ $2 = $outbuflen;
+ $3 = $inbuf;
+ $4 = $inbuflen;
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ $8 = $3;
+ $9 = $4;
+ $10 = (_ocb_crypt($5,0,$6,$7,$8,$9)|0);
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_cipher_ofb_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $blocksize = 0, $burn = 0, $enc_fn = 0, $ivp = 0, $nburn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 36|0);
+ $10 = HEAP32[$9>>2]|0;
+ $enc_fn = $10;
+ $11 = $1;
+ $12 = ((($11)) + 12|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($13)) + 20|0);
+ $15 = HEAP32[$14>>2]|0;
+ $blocksize = $15;
+ $16 = $3;
+ $17 = $5;
+ $18 = ($16>>>0)<($17>>>0);
+ if ($18) {
+ $0 = 200;
+ $148 = $0;
+ STACKTOP = sp;return ($148|0);
+ }
+ $19 = $5;
+ $20 = $1;
+ $21 = ((($20)) + 112|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($19>>>0)<=($22>>>0);
+ if ($23) {
+ $24 = $1;
+ $25 = ((($24)) + 64|0);
+ $26 = $blocksize;
+ $27 = (($25) + ($26)|0);
+ $28 = $1;
+ $29 = ((($28)) + 112|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (0 - ($30))|0;
+ $32 = (($27) + ($31)|0);
+ $ivp = $32;
+ $33 = $2;
+ $34 = $ivp;
+ $35 = $4;
+ $36 = $5;
+ _buf_xor_1898($33,$34,$35,$36);
+ $37 = $5;
+ $38 = $1;
+ $39 = ((($38)) + 112|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (($40) - ($37))|0;
+ HEAP32[$39>>2] = $41;
+ $0 = 0;
+ $148 = $0;
+ STACKTOP = sp;return ($148|0);
+ }
+ $burn = 0;
+ $42 = $1;
+ $43 = ((($42)) + 112|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = ($44|0)!=(0);
+ if ($45) {
+ $46 = $1;
+ $47 = ((($46)) + 112|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = $5;
+ $50 = (($49) - ($48))|0;
+ $5 = $50;
+ $51 = $1;
+ $52 = ((($51)) + 64|0);
+ $53 = $blocksize;
+ $54 = (($52) + ($53)|0);
+ $55 = $1;
+ $56 = ((($55)) + 112|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = (0 - ($57))|0;
+ $59 = (($54) + ($58)|0);
+ $ivp = $59;
+ $60 = $2;
+ $61 = $ivp;
+ $62 = $4;
+ $63 = $1;
+ $64 = ((($63)) + 112|0);
+ $65 = HEAP32[$64>>2]|0;
+ _buf_xor_1898($60,$61,$62,$65);
+ $66 = $1;
+ $67 = ((($66)) + 112|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = $2;
+ $70 = (($69) + ($68)|0);
+ $2 = $70;
+ $71 = $1;
+ $72 = ((($71)) + 112|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = $4;
+ $75 = (($74) + ($73)|0);
+ $4 = $75;
+ $76 = $1;
+ $77 = ((($76)) + 112|0);
+ HEAP32[$77>>2] = 0;
+ }
+ while(1) {
+ $78 = $5;
+ $79 = $blocksize;
+ $80 = ($78>>>0)>=($79>>>0);
+ if (!($80)) {
+ break;
+ }
+ $81 = $enc_fn;
+ $82 = $1;
+ $83 = ((($82)) + 496|0);
+ $84 = $1;
+ $85 = ((($84)) + 64|0);
+ $86 = $1;
+ $87 = ((($86)) + 64|0);
+ $88 = (FUNCTION_TABLE_iiii[$81 & 127]($83,$85,$87)|0);
+ $nburn = $88;
+ $89 = $nburn;
+ $90 = $burn;
+ $91 = ($89>>>0)>($90>>>0);
+ $92 = $nburn;
+ $93 = $burn;
+ $94 = $91 ? $92 : $93;
+ $burn = $94;
+ $95 = $2;
+ $96 = $1;
+ $97 = ((($96)) + 64|0);
+ $98 = $4;
+ $99 = $blocksize;
+ _buf_xor_1898($95,$97,$98,$99);
+ $100 = $blocksize;
+ $101 = $2;
+ $102 = (($101) + ($100)|0);
+ $2 = $102;
+ $103 = $blocksize;
+ $104 = $4;
+ $105 = (($104) + ($103)|0);
+ $4 = $105;
+ $106 = $blocksize;
+ $107 = $5;
+ $108 = (($107) - ($106))|0;
+ $5 = $108;
+ }
+ $109 = $5;
+ $110 = ($109|0)!=(0);
+ if ($110) {
+ $111 = $enc_fn;
+ $112 = $1;
+ $113 = ((($112)) + 496|0);
+ $114 = $1;
+ $115 = ((($114)) + 64|0);
+ $116 = $1;
+ $117 = ((($116)) + 64|0);
+ $118 = (FUNCTION_TABLE_iiii[$111 & 127]($113,$115,$117)|0);
+ $nburn = $118;
+ $119 = $nburn;
+ $120 = $burn;
+ $121 = ($119>>>0)>($120>>>0);
+ $122 = $nburn;
+ $123 = $burn;
+ $124 = $121 ? $122 : $123;
+ $burn = $124;
+ $125 = $blocksize;
+ $126 = $1;
+ $127 = ((($126)) + 112|0);
+ HEAP32[$127>>2] = $125;
+ $128 = $5;
+ $129 = $1;
+ $130 = ((($129)) + 112|0);
+ $131 = HEAP32[$130>>2]|0;
+ $132 = (($131) - ($128))|0;
+ HEAP32[$130>>2] = $132;
+ $133 = $2;
+ $134 = $1;
+ $135 = ((($134)) + 64|0);
+ $136 = $4;
+ $137 = $5;
+ _buf_xor_1898($133,$135,$136,$137);
+ $138 = $5;
+ $139 = $2;
+ $140 = (($139) + ($138)|0);
+ $2 = $140;
+ $141 = $5;
+ $142 = $4;
+ $143 = (($142) + ($141)|0);
+ $4 = $143;
+ $5 = 0;
+ }
+ $144 = $burn;
+ $145 = ($144>>>0)>(0);
+ if ($145) {
+ $146 = $burn;
+ $147 = (($146) + 16)|0;
+ ___gcry_burn_stack($147);
+ ___gcry_burn_stack_dummy();
+ }
+ $0 = 0;
+ $148 = $0;
+ STACKTOP = sp;return ($148|0);
+}
+function _buf_xor_1898($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function _poly1305_set_zeroiv($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $zero = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $zero = sp + 8|0;
+ $0 = $c;
+ ;HEAP8[$zero>>0]=0|0;HEAP8[$zero+1>>0]=0|0;HEAP8[$zero+2>>0]=0|0;HEAP8[$zero+3>>0]=0|0;HEAP8[$zero+4>>0]=0|0;HEAP8[$zero+5>>0]=0|0;HEAP8[$zero+6>>0]=0|0;HEAP8[$zero+7>>0]=0|0;
+ $1 = $0;
+ $2 = (__gcry_cipher_poly1305_setiv($1,$zero,8)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_cipher_poly1305_setiv($c,$iv,$ivlen) {
+ $c = $c|0;
+ $iv = $iv|0;
+ $ivlen = $ivlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $err = 0, $or$cond = 0, $tmpbuf = 0, dest = 0, label = 0, sp = 0;
+ var stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmpbuf = sp + 48|0;
+ $_vset_long = sp;
+ $1 = $c;
+ $2 = $iv;
+ $3 = $ivlen;
+ $4 = $2;
+ $5 = ($4|0)==(0|0);
+ $6 = $3;
+ $7 = ($6|0)!=(12);
+ $or$cond = $5 & $7;
+ if ($or$cond) {
+ $0 = 45;
+ $128 = $0;
+ STACKTOP = sp;return ($128|0);
+ }
+ $8 = $1;
+ $9 = ((($8)) + 128|0);
+ $10 = ((($9)) + 20|0);
+ dest=$10; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $11 = $1;
+ $12 = ((($11)) + 128|0);
+ HEAP32[$12>>2] = 0;
+ $13 = $1;
+ $14 = ((($13)) + 128|0);
+ $15 = ((($14)) + 4|0);
+ HEAP32[$15>>2] = 0;
+ $16 = $1;
+ $17 = ((($16)) + 128|0);
+ $18 = ((($17)) + 8|0);
+ HEAP32[$18>>2] = 0;
+ $19 = $1;
+ $20 = ((($19)) + 128|0);
+ $21 = ((($20)) + 8|0);
+ $22 = ((($21)) + 4|0);
+ HEAP32[$22>>2] = 0;
+ $23 = $1;
+ $24 = ((($23)) + 128|0);
+ $25 = ((($24)) + 16|0);
+ $26 = HEAP8[$25>>0]|0;
+ $27 = $26 & -3;
+ HEAP8[$25>>0] = $27;
+ $28 = $1;
+ $29 = ((($28)) + 128|0);
+ $30 = ((($29)) + 16|0);
+ $31 = HEAP8[$30>>0]|0;
+ $32 = $31 & -2;
+ HEAP8[$30>>0] = $32;
+ $33 = $1;
+ $34 = ((($33)) + 56|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35 & -5;
+ HEAP8[$34>>0] = $36;
+ $37 = $1;
+ $38 = ((($37)) + 56|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $39 & -3;
+ HEAP8[$38>>0] = $40;
+ $41 = $1;
+ $42 = ((($41)) + 12|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ((($43)) + 60|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = $1;
+ $47 = ((($46)) + 496|0);
+ $48 = $2;
+ $49 = $3;
+ FUNCTION_TABLE_viii[$45 & 127]($47,$48,$49);
+ dest=$tmpbuf; stop=dest+64|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $50 = $1;
+ $51 = ((($50)) + 12|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = ((($52)) + 44|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = $1;
+ $56 = ((($55)) + 496|0);
+ FUNCTION_TABLE_viiii[$54 & 63]($56,$tmpbuf,$tmpbuf,64);
+ $57 = $1;
+ $58 = ((($57)) + 128|0);
+ $59 = ((($58)) + 20|0);
+ $60 = (__gcry_poly1305_init($59,$tmpbuf,32)|0);
+ $err = $60;
+ $_vptr = $tmpbuf;
+ $_vlen = 64;
+ $_vset = 0;
+ $61 = $_vset;
+ $62 = $61&255;
+ $63 = $_vset_long;
+ $64 = $63;
+ HEAP32[$64>>2] = $62;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = 0;
+ while(1) {
+ $67 = $_vptr;
+ $68 = $67;
+ $69 = $68 & 7;
+ $70 = ($69|0)!=(0);
+ $71 = $_vlen;
+ $72 = ($71|0)!=(0);
+ $73 = $70 ? $72 : 0;
+ if (!($73)) {
+ break;
+ }
+ $74 = $_vset;
+ $75 = $_vptr;
+ HEAP8[$75>>0] = $74;
+ $76 = $_vptr;
+ $77 = ((($76)) + 1|0);
+ $_vptr = $77;
+ $78 = $_vlen;
+ $79 = (($78) + -1)|0;
+ $_vlen = $79;
+ }
+ $80 = $_vlen;
+ $81 = ($80>>>0)<(8);
+ if (!($81)) {
+ $82 = $_vset_long;
+ $83 = $82;
+ $84 = HEAP32[$83>>2]|0;
+ $85 = (($82) + 4)|0;
+ $86 = $85;
+ $87 = HEAP32[$86>>2]|0;
+ $88 = (___muldi3(($84|0),($87|0),16843009,16843009)|0);
+ $89 = tempRet0;
+ $90 = $_vset_long;
+ $91 = $90;
+ HEAP32[$91>>2] = $88;
+ $92 = (($90) + 4)|0;
+ $93 = $92;
+ HEAP32[$93>>2] = $89;
+ while(1) {
+ $94 = $_vptr;
+ $_vptr_long = $94;
+ $95 = $_vset_long;
+ $96 = $95;
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (($95) + 4)|0;
+ $99 = $98;
+ $100 = HEAP32[$99>>2]|0;
+ $101 = $_vptr_long;
+ $102 = $101;
+ $103 = $102;
+ HEAP32[$103>>2] = $97;
+ $104 = (($102) + 4)|0;
+ $105 = $104;
+ HEAP32[$105>>2] = $100;
+ $106 = $_vlen;
+ $107 = (($106) - 8)|0;
+ $_vlen = $107;
+ $108 = $_vptr;
+ $109 = ((($108)) + 8|0);
+ $_vptr = $109;
+ $110 = $_vlen;
+ $111 = ($110>>>0)>=(8);
+ if (!($111)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $112 = $_vlen;
+ $113 = ($112|0)!=(0);
+ if (!($113)) {
+ break;
+ }
+ $114 = $_vset;
+ $115 = $_vptr;
+ HEAP8[$115>>0] = $114;
+ $116 = $_vptr;
+ $117 = ((($116)) + 1|0);
+ $_vptr = $117;
+ $118 = $_vlen;
+ $119 = (($118) + -1)|0;
+ $_vlen = $119;
+ }
+ $120 = $err;
+ $121 = ($120|0)!=(0);
+ if ($121) {
+ $122 = $err;
+ $0 = $122;
+ $128 = $0;
+ STACKTOP = sp;return ($128|0);
+ } else {
+ $123 = $1;
+ $124 = ((($123)) + 56|0);
+ $125 = HEAP8[$124>>0]|0;
+ $126 = $125 & -3;
+ $127 = $126 | 2;
+ HEAP8[$124>>0] = $127;
+ $0 = 0;
+ $128 = $0;
+ STACKTOP = sp;return ($128|0);
+ }
+ return (0)|0;
+}
+function _poly1305_bytecounter_add($ctr,$add) {
+ $ctr = $ctr|0;
+ $add = $add|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $overflow = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $ctr;
+ $2 = $add;
+ $overflow = 0;
+ $3 = $2;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($5) + ($3))|0;
+ HEAP32[$4>>2] = $6;
+ $7 = $1;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $2;
+ $10 = ($8>>>0)>=($9>>>0);
+ if ($10) {
+ $11 = $overflow;
+ $0 = $11;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ } else {
+ $12 = $1;
+ $13 = ((($12)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (($14) + 1)|0;
+ HEAP32[$13>>2] = $15;
+ $16 = $1;
+ $17 = ((($16)) + 4|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18>>>0)<(1);
+ $20 = $overflow;
+ $21 = ($20|0)!=(0);
+ $22 = $19 ? 1 : $21;
+ $23 = $22&1;
+ $0 = $23;
+ $24 = $0;
+ STACKTOP = sp;return ($24|0);
+ }
+ return (0)|0;
+}
+function __gcry_cipher_poly1305_encrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $3;
+ $7 = $5;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ $0 = 200;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ $9 = $1;
+ $10 = ((($9)) + 56|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = ($11&255) >>> 2;
+ $13 = $12 & 1;
+ $14 = $13&255;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $0 = 156;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ $16 = $1;
+ $17 = ((($16)) + 128|0);
+ $18 = ((($17)) + 16|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = ($19&255) >>> 1;
+ $21 = $20 & 1;
+ $22 = $21&255;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $0 = 139;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ $24 = $1;
+ $25 = ((($24)) + 56|0);
+ $26 = HEAP8[$25>>0]|0;
+ $27 = ($26&255) >>> 1;
+ $28 = $27 & 1;
+ $29 = $28&255;
+ $30 = ($29|0)!=(0);
+ if (!($30)) {
+ $31 = $1;
+ $32 = (_poly1305_set_zeroiv($31)|0);
+ $err = $32;
+ $33 = $err;
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ $35 = $err;
+ $0 = $35;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ }
+ $36 = $1;
+ $37 = ((($36)) + 128|0);
+ $38 = ((($37)) + 16|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $39 & 1;
+ $41 = $40&255;
+ $42 = ($41|0)!=(0);
+ if (!($42)) {
+ $43 = $1;
+ _poly1305_aad_finish($43);
+ }
+ $44 = $1;
+ $45 = ((($44)) + 128|0);
+ $46 = ((($45)) + 8|0);
+ $47 = $5;
+ $48 = (_poly1305_bytecounter_add($46,$47)|0);
+ $49 = ($48|0)!=(0);
+ $50 = $1;
+ if ($49) {
+ $51 = ((($50)) + 128|0);
+ $52 = ((($51)) + 16|0);
+ $53 = HEAP8[$52>>0]|0;
+ $54 = $53 & -3;
+ $55 = $54 | 2;
+ HEAP8[$52>>0] = $55;
+ $0 = 139;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ } else {
+ $56 = ((($50)) + 12|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ((($57)) + 44|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $1;
+ $61 = ((($60)) + 496|0);
+ $62 = $2;
+ $63 = $4;
+ $64 = $5;
+ FUNCTION_TABLE_viiii[$59 & 63]($61,$62,$63,$64);
+ $65 = $1;
+ $66 = ((($65)) + 128|0);
+ $67 = ((($66)) + 20|0);
+ $68 = $2;
+ $69 = $5;
+ __gcry_poly1305_update($67,$68,$69);
+ $0 = 0;
+ $70 = $0;
+ STACKTOP = sp;return ($70|0);
+ }
+ return (0)|0;
+}
+function _poly1305_aad_finish($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $0;
+ $2 = $0;
+ $3 = ((($2)) + 128|0);
+ _poly1305_do_padding($1,$3);
+ $4 = $0;
+ $5 = ((($4)) + 128|0);
+ $6 = ((($5)) + 16|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 & -2;
+ $9 = $8 | 1;
+ HEAP8[$6>>0] = $9;
+ $10 = $0;
+ $11 = ((($10)) + 128|0);
+ $12 = ((($11)) + 8|0);
+ HEAP32[$12>>2] = 0;
+ $13 = $0;
+ $14 = ((($13)) + 128|0);
+ $15 = ((($14)) + 8|0);
+ $16 = ((($15)) + 4|0);
+ HEAP32[$16>>2] = 0;
+ STACKTOP = sp;return;
+}
+function _poly1305_do_padding($c,$ctr) {
+ $c = $c|0;
+ $ctr = $ctr|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $padding_count = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $ctr;
+ $2 = $1;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (($3>>>0) % 16)&-1;
+ $5 = ($4>>>0)>(0);
+ if (!($5)) {
+ STACKTOP = sp;return;
+ }
+ $6 = $1;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($7>>>0) % 16)&-1;
+ $9 = (16 - ($8))|0;
+ $padding_count = $9;
+ $10 = $0;
+ $11 = ((($10)) + 128|0);
+ $12 = ((($11)) + 20|0);
+ $13 = $padding_count;
+ __gcry_poly1305_update($12,76507,$13);
+ STACKTOP = sp;return;
+}
+function __gcry_cipher_poly1305_decrypt($c,$outbuf,$outbuflen,$inbuf,$inbuflen) {
+ $c = $c|0;
+ $outbuf = $outbuf|0;
+ $outbuflen = $outbuflen|0;
+ $inbuf = $inbuf|0;
+ $inbuflen = $inbuflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $c;
+ $2 = $outbuf;
+ $3 = $outbuflen;
+ $4 = $inbuf;
+ $5 = $inbuflen;
+ $6 = $3;
+ $7 = $5;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ $0 = 200;
+ $69 = $0;
+ STACKTOP = sp;return ($69|0);
+ }
+ $9 = $1;
+ $10 = ((($9)) + 56|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = ($11&255) >>> 2;
+ $13 = $12 & 1;
+ $14 = $13&255;
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $0 = 156;
+ $69 = $0;
+ STACKTOP = sp;return ($69|0);
+ }
+ $16 = $1;
+ $17 = ((($16)) + 128|0);
+ $18 = ((($17)) + 16|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = ($19&255) >>> 1;
+ $21 = $20 & 1;
+ $22 = $21&255;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $0 = 139;
+ $69 = $0;
+ STACKTOP = sp;return ($69|0);
+ }
+ $24 = $1;
+ $25 = ((($24)) + 56|0);
+ $26 = HEAP8[$25>>0]|0;
+ $27 = ($26&255) >>> 1;
+ $28 = $27 & 1;
+ $29 = $28&255;
+ $30 = ($29|0)!=(0);
+ if (!($30)) {
+ $31 = $1;
+ $32 = (_poly1305_set_zeroiv($31)|0);
+ $err = $32;
+ $33 = $err;
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ $35 = $err;
+ $0 = $35;
+ $69 = $0;
+ STACKTOP = sp;return ($69|0);
+ }
+ }
+ $36 = $1;
+ $37 = ((($36)) + 128|0);
+ $38 = ((($37)) + 16|0);
+ $39 = HEAP8[$38>>0]|0;
+ $40 = $39 & 1;
+ $41 = $40&255;
+ $42 = ($41|0)!=(0);
+ if (!($42)) {
+ $43 = $1;
+ _poly1305_aad_finish($43);
+ }
+ $44 = $1;
+ $45 = ((($44)) + 128|0);
+ $46 = ((($45)) + 8|0);
+ $47 = $5;
+ $48 = (_poly1305_bytecounter_add($46,$47)|0);
+ $49 = ($48|0)!=(0);
+ $50 = $1;
+ $51 = ((($50)) + 128|0);
+ if ($49) {
+ $52 = ((($51)) + 16|0);
+ $53 = HEAP8[$52>>0]|0;
+ $54 = $53 & -3;
+ $55 = $54 | 2;
+ HEAP8[$52>>0] = $55;
+ $0 = 139;
+ $69 = $0;
+ STACKTOP = sp;return ($69|0);
+ } else {
+ $56 = ((($51)) + 20|0);
+ $57 = $4;
+ $58 = $5;
+ __gcry_poly1305_update($56,$57,$58);
+ $59 = $1;
+ $60 = ((($59)) + 12|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ((($61)) + 48|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $1;
+ $65 = ((($64)) + 496|0);
+ $66 = $2;
+ $67 = $4;
+ $68 = $5;
+ FUNCTION_TABLE_viiii[$63 & 63]($65,$66,$67,$68);
+ $0 = 0;
+ $69 = $0;
+ STACKTOP = sp;return ($69|0);
+ }
+ return (0)|0;
+}
+function __gcry_cipher_poly1305_setkey($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $c;
+ $1 = $0;
+ $2 = ((($1)) + 128|0);
+ HEAP32[$2>>2] = 0;
+ $3 = $0;
+ $4 = ((($3)) + 128|0);
+ $5 = ((($4)) + 4|0);
+ HEAP32[$5>>2] = 0;
+ $6 = $0;
+ $7 = ((($6)) + 128|0);
+ $8 = ((($7)) + 8|0);
+ HEAP32[$8>>2] = 0;
+ $9 = $0;
+ $10 = ((($9)) + 128|0);
+ $11 = ((($10)) + 8|0);
+ $12 = ((($11)) + 4|0);
+ HEAP32[$12>>2] = 0;
+ $13 = $0;
+ $14 = ((($13)) + 128|0);
+ $15 = ((($14)) + 16|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = $16 & -3;
+ HEAP8[$15>>0] = $17;
+ $18 = $0;
+ $19 = ((($18)) + 128|0);
+ $20 = ((($19)) + 16|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = $21 & -2;
+ HEAP8[$20>>0] = $22;
+ $23 = $0;
+ $24 = ((($23)) + 56|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25 & -5;
+ HEAP8[$24>>0] = $26;
+ $27 = $0;
+ $28 = ((($27)) + 56|0);
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29 & -3;
+ HEAP8[$28>>0] = $30;
+ STACKTOP = sp;return;
+}
+function __gcry_selftest_helper_cbc($cipher,$setkey_func,$encrypt_one,$bulk_cbc_dec,$nblocks,$blocksize,$context_size) {
+ $cipher = $cipher|0;
+ $setkey_func = $setkey_func|0;
+ $encrypt_one = $encrypt_one|0;
+ $bulk_cbc_dec = $bulk_cbc_dec|0;
+ $nblocks = $nblocks|0;
+ $blocksize = $blocksize|0;
+ $context_size = $context_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
+ var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
+ var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
+ var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ciphertext = 0, $ctx = 0, $ctx_aligned_size = 0, $i = 0, $iv = 0, $iv2 = 0, $mem = 0, $memsize = 0, $offs = 0, $plaintext = 0, $plaintext2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $cipher;
+ $2 = $setkey_func;
+ $3 = $encrypt_one;
+ $4 = $bulk_cbc_dec;
+ $5 = $nblocks;
+ $6 = $blocksize;
+ $7 = $context_size;
+ $8 = $7;
+ $9 = (($8) + 15)|0;
+ $ctx_aligned_size = $9;
+ $10 = $ctx_aligned_size;
+ $11 = $10 & 15;
+ $12 = $ctx_aligned_size;
+ $13 = (($12) - ($11))|0;
+ $ctx_aligned_size = $13;
+ $14 = $ctx_aligned_size;
+ $15 = $6;
+ $16 = $15<<1;
+ $17 = (($14) + ($16))|0;
+ $18 = $6;
+ $19 = $5;
+ $20 = Math_imul($18, $19)|0;
+ $21 = ($20*3)|0;
+ $22 = (($17) + ($21))|0;
+ $23 = (($22) + 16)|0;
+ $memsize = $23;
+ $24 = $memsize;
+ $25 = (__gcry_calloc(1,$24)|0);
+ $mem = $25;
+ $26 = $mem;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $0 = 46944;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ $28 = $mem;
+ $29 = $28;
+ $30 = $29 & 15;
+ $31 = (16 - ($30))|0;
+ $32 = $31 & 15;
+ $offs = $32;
+ $33 = $mem;
+ $34 = $offs;
+ $35 = (($33) + ($34)|0);
+ $ctx = $35;
+ $36 = $ctx;
+ $37 = $ctx_aligned_size;
+ $38 = (($36) + ($37)|0);
+ $iv = $38;
+ $39 = $iv;
+ $40 = $6;
+ $41 = (($39) + ($40)|0);
+ $iv2 = $41;
+ $42 = $iv2;
+ $43 = $6;
+ $44 = (($42) + ($43)|0);
+ $plaintext = $44;
+ $45 = $plaintext;
+ $46 = $5;
+ $47 = $6;
+ $48 = Math_imul($46, $47)|0;
+ $49 = (($45) + ($48)|0);
+ $plaintext2 = $49;
+ $50 = $plaintext2;
+ $51 = $5;
+ $52 = $6;
+ $53 = Math_imul($51, $52)|0;
+ $54 = (($50) + ($53)|0);
+ $ciphertext = $54;
+ $55 = $2;
+ $56 = $ctx;
+ $57 = (FUNCTION_TABLE_iiii[$55 & 127]($56,16,16)|0);
+ $58 = ($57|0)!=(0);
+ if ($58) {
+ $59 = $mem;
+ __gcry_free($59);
+ $0 = 46970;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ $60 = $iv;
+ $61 = $6;
+ _memset(($60|0),78,($61|0))|0;
+ $62 = $iv2;
+ $63 = $6;
+ _memset(($62|0),78,($63|0))|0;
+ $i = 0;
+ while(1) {
+ $64 = $i;
+ $65 = $6;
+ $66 = ($64|0)<($65|0);
+ if (!($66)) {
+ break;
+ }
+ $67 = $i;
+ $68 = $67&255;
+ $69 = $i;
+ $70 = $plaintext;
+ $71 = (($70) + ($69)|0);
+ HEAP8[$71>>0] = $68;
+ $72 = $i;
+ $73 = (($72) + 1)|0;
+ $i = $73;
+ }
+ $74 = $ciphertext;
+ $75 = $iv;
+ $76 = $plaintext;
+ $77 = $6;
+ _buf_xor_1918($74,$75,$76,$77);
+ $78 = $3;
+ $79 = $ctx;
+ $80 = $ciphertext;
+ $81 = $ciphertext;
+ (FUNCTION_TABLE_iiii[$78 & 127]($79,$80,$81)|0);
+ $82 = $iv;
+ $83 = $ciphertext;
+ $84 = $6;
+ _memcpy(($82|0),($83|0),($84|0))|0;
+ $85 = $4;
+ $86 = $ctx;
+ $87 = $iv2;
+ $88 = $plaintext2;
+ $89 = $ciphertext;
+ FUNCTION_TABLE_viiiii[$85 & 127]($86,$87,$88,$89,1);
+ $90 = $plaintext2;
+ $91 = $plaintext;
+ $92 = $6;
+ $93 = (_memcmp($90,$91,$92)|0);
+ $94 = ($93|0)!=(0);
+ if ($94) {
+ $95 = $mem;
+ __gcry_free($95);
+ $0 = 46984;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ $96 = $iv2;
+ $97 = $iv;
+ $98 = $6;
+ $99 = (_memcmp($96,$97,$98)|0);
+ $100 = ($99|0)!=(0);
+ if ($100) {
+ $101 = $mem;
+ __gcry_free($101);
+ $0 = 46984;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ $102 = $iv;
+ $103 = $6;
+ _memset(($102|0),95,($103|0))|0;
+ $104 = $iv2;
+ $105 = $6;
+ _memset(($104|0),95,($105|0))|0;
+ $i = 0;
+ while(1) {
+ $106 = $i;
+ $107 = $5;
+ $108 = $6;
+ $109 = Math_imul($107, $108)|0;
+ $110 = ($106|0)<($109|0);
+ if (!($110)) {
+ break;
+ }
+ $111 = $i;
+ $112 = $111&255;
+ $113 = $i;
+ $114 = $plaintext;
+ $115 = (($114) + ($113)|0);
+ HEAP8[$115>>0] = $112;
+ $116 = $i;
+ $117 = (($116) + 1)|0;
+ $i = $117;
+ }
+ $i = 0;
+ while(1) {
+ $118 = $i;
+ $119 = $5;
+ $120 = $6;
+ $121 = Math_imul($119, $120)|0;
+ $122 = ($118|0)<($121|0);
+ if (!($122)) {
+ break;
+ }
+ $123 = $i;
+ $124 = $ciphertext;
+ $125 = (($124) + ($123)|0);
+ $126 = $iv;
+ $127 = $i;
+ $128 = $plaintext;
+ $129 = (($128) + ($127)|0);
+ $130 = $6;
+ _buf_xor_1918($125,$126,$129,$130);
+ $131 = $3;
+ $132 = $ctx;
+ $133 = $i;
+ $134 = $ciphertext;
+ $135 = (($134) + ($133)|0);
+ $136 = $i;
+ $137 = $ciphertext;
+ $138 = (($137) + ($136)|0);
+ (FUNCTION_TABLE_iiii[$131 & 127]($132,$135,$138)|0);
+ $139 = $iv;
+ $140 = $i;
+ $141 = $ciphertext;
+ $142 = (($141) + ($140)|0);
+ $143 = $6;
+ _memcpy(($139|0),($142|0),($143|0))|0;
+ $144 = $6;
+ $145 = $i;
+ $146 = (($145) + ($144))|0;
+ $i = $146;
+ }
+ $147 = $4;
+ $148 = $ctx;
+ $149 = $iv2;
+ $150 = $plaintext2;
+ $151 = $ciphertext;
+ $152 = $5;
+ FUNCTION_TABLE_viiiii[$147 & 127]($148,$149,$150,$151,$152);
+ $153 = $plaintext2;
+ $154 = $plaintext;
+ $155 = $5;
+ $156 = $6;
+ $157 = Math_imul($155, $156)|0;
+ $158 = (_memcmp($153,$154,$157)|0);
+ $159 = ($158|0)!=(0);
+ if ($159) {
+ $160 = $mem;
+ __gcry_free($160);
+ $0 = 46984;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ $161 = $iv2;
+ $162 = $iv;
+ $163 = $6;
+ $164 = (_memcmp($161,$162,$163)|0);
+ $165 = ($164|0)!=(0);
+ $166 = $mem;
+ __gcry_free($166);
+ if ($165) {
+ $0 = 46984;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ } else {
+ $0 = 0;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ return (0)|0;
+}
+function _buf_xor_1918($_dst,$_src1,$_src2,$len) {
+ $_dst = $_dst|0;
+ $_src1 = $_src1|0;
+ $_src2 = $_src2|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc1 = 0, $lsrc2 = 0, $src1 = 0, $src2 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src1;
+ $2 = $_src2;
+ $3 = $len;
+ $4 = $0;
+ $dst = $4;
+ $5 = $1;
+ $src1 = $5;
+ $6 = $2;
+ $src2 = $6;
+ $longmask = 3;
+ $7 = $dst;
+ $8 = $7;
+ $9 = $src1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $src2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst;
+ $ldst = $17;
+ $18 = $src1;
+ $lsrc1 = $18;
+ $19 = $src2;
+ $lsrc2 = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc1;
+ $23 = ((($22)) + 4|0);
+ $lsrc1 = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $lsrc2;
+ $26 = ((($25)) + 4|0);
+ $lsrc2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $24 ^ $27;
+ $29 = $ldst;
+ $30 = ((($29)) + 4|0);
+ $ldst = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst;
+ $dst = $33;
+ $34 = $lsrc1;
+ $src1 = $34;
+ $35 = $lsrc2;
+ $src2 = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src1;
+ $39 = ((($38)) + 1|0);
+ $src1 = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $src2;
+ $43 = ((($42)) + 1|0);
+ $src2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $41 ^ $45;
+ $47 = $46&255;
+ $48 = $dst;
+ $49 = ((($48)) + 1|0);
+ $dst = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_selftest_helper_cfb($cipher,$setkey_func,$encrypt_one,$bulk_cfb_dec,$nblocks,$blocksize,$context_size) {
+ $cipher = $cipher|0;
+ $setkey_func = $setkey_func|0;
+ $encrypt_one = $encrypt_one|0;
+ $bulk_cfb_dec = $bulk_cfb_dec|0;
+ $nblocks = $nblocks|0;
+ $blocksize = $blocksize|0;
+ $context_size = $context_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ciphertext = 0, $ctx = 0;
+ var $ctx_aligned_size = 0, $i = 0, $iv = 0, $iv2 = 0, $mem = 0, $memsize = 0, $offs = 0, $plaintext = 0, $plaintext2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $cipher;
+ $2 = $setkey_func;
+ $3 = $encrypt_one;
+ $4 = $bulk_cfb_dec;
+ $5 = $nblocks;
+ $6 = $blocksize;
+ $7 = $context_size;
+ $8 = $7;
+ $9 = (($8) + 15)|0;
+ $ctx_aligned_size = $9;
+ $10 = $ctx_aligned_size;
+ $11 = $10 & 15;
+ $12 = $ctx_aligned_size;
+ $13 = (($12) - ($11))|0;
+ $ctx_aligned_size = $13;
+ $14 = $ctx_aligned_size;
+ $15 = $6;
+ $16 = $15<<1;
+ $17 = (($14) + ($16))|0;
+ $18 = $6;
+ $19 = $5;
+ $20 = Math_imul($18, $19)|0;
+ $21 = ($20*3)|0;
+ $22 = (($17) + ($21))|0;
+ $23 = (($22) + 16)|0;
+ $memsize = $23;
+ $24 = $memsize;
+ $25 = (__gcry_calloc(1,$24)|0);
+ $mem = $25;
+ $26 = $mem;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $0 = 46944;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ }
+ $28 = $mem;
+ $29 = $28;
+ $30 = $29 & 15;
+ $31 = (16 - ($30))|0;
+ $32 = $31 & 15;
+ $offs = $32;
+ $33 = $mem;
+ $34 = $offs;
+ $35 = (($33) + ($34)|0);
+ $ctx = $35;
+ $36 = $ctx;
+ $37 = $ctx_aligned_size;
+ $38 = (($36) + ($37)|0);
+ $iv = $38;
+ $39 = $iv;
+ $40 = $6;
+ $41 = (($39) + ($40)|0);
+ $iv2 = $41;
+ $42 = $iv2;
+ $43 = $6;
+ $44 = (($42) + ($43)|0);
+ $plaintext = $44;
+ $45 = $plaintext;
+ $46 = $5;
+ $47 = $6;
+ $48 = Math_imul($46, $47)|0;
+ $49 = (($45) + ($48)|0);
+ $plaintext2 = $49;
+ $50 = $plaintext2;
+ $51 = $5;
+ $52 = $6;
+ $53 = Math_imul($51, $52)|0;
+ $54 = (($50) + ($53)|0);
+ $ciphertext = $54;
+ $55 = $2;
+ $56 = $ctx;
+ $57 = (FUNCTION_TABLE_iiii[$55 & 127]($56,32,16)|0);
+ $58 = ($57|0)!=(0);
+ if ($58) {
+ $59 = $mem;
+ __gcry_free($59);
+ $0 = 46970;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ }
+ $60 = $iv;
+ $61 = $6;
+ _memset(($60|0),-45,($61|0))|0;
+ $62 = $iv2;
+ $63 = $6;
+ _memset(($62|0),-45,($63|0))|0;
+ $i = 0;
+ while(1) {
+ $64 = $i;
+ $65 = $6;
+ $66 = ($64|0)<($65|0);
+ if (!($66)) {
+ break;
+ }
+ $67 = $i;
+ $68 = $67&255;
+ $69 = $i;
+ $70 = $plaintext;
+ $71 = (($70) + ($69)|0);
+ HEAP8[$71>>0] = $68;
+ $72 = $i;
+ $73 = (($72) + 1)|0;
+ $i = $73;
+ }
+ $74 = $3;
+ $75 = $ctx;
+ $76 = $ciphertext;
+ $77 = $iv;
+ (FUNCTION_TABLE_iiii[$74 & 127]($75,$76,$77)|0);
+ $78 = $iv;
+ $79 = $ciphertext;
+ $80 = $plaintext;
+ $81 = $6;
+ _buf_xor_2dst_1922($78,$79,$80,$81);
+ $82 = $4;
+ $83 = $ctx;
+ $84 = $iv2;
+ $85 = $plaintext2;
+ $86 = $ciphertext;
+ FUNCTION_TABLE_viiiii[$82 & 127]($83,$84,$85,$86,1);
+ $87 = $plaintext2;
+ $88 = $plaintext;
+ $89 = $6;
+ $90 = (_memcmp($87,$88,$89)|0);
+ $91 = ($90|0)!=(0);
+ if ($91) {
+ $92 = $mem;
+ __gcry_free($92);
+ $0 = 47033;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ }
+ $93 = $iv2;
+ $94 = $iv;
+ $95 = $6;
+ $96 = (_memcmp($93,$94,$95)|0);
+ $97 = ($96|0)!=(0);
+ if ($97) {
+ $98 = $mem;
+ __gcry_free($98);
+ $0 = 47033;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ }
+ $99 = $iv;
+ $100 = $6;
+ _memset(($99|0),-26,($100|0))|0;
+ $101 = $iv2;
+ $102 = $6;
+ _memset(($101|0),-26,($102|0))|0;
+ $i = 0;
+ while(1) {
+ $103 = $i;
+ $104 = $5;
+ $105 = $6;
+ $106 = Math_imul($104, $105)|0;
+ $107 = ($103|0)<($106|0);
+ if (!($107)) {
+ break;
+ }
+ $108 = $i;
+ $109 = $108&255;
+ $110 = $i;
+ $111 = $plaintext;
+ $112 = (($111) + ($110)|0);
+ HEAP8[$112>>0] = $109;
+ $113 = $i;
+ $114 = (($113) + 1)|0;
+ $i = $114;
+ }
+ $i = 0;
+ while(1) {
+ $115 = $i;
+ $116 = $5;
+ $117 = $6;
+ $118 = Math_imul($116, $117)|0;
+ $119 = ($115|0)<($118|0);
+ if (!($119)) {
+ break;
+ }
+ $120 = $3;
+ $121 = $ctx;
+ $122 = $i;
+ $123 = $ciphertext;
+ $124 = (($123) + ($122)|0);
+ $125 = $iv;
+ (FUNCTION_TABLE_iiii[$120 & 127]($121,$124,$125)|0);
+ $126 = $iv;
+ $127 = $i;
+ $128 = $ciphertext;
+ $129 = (($128) + ($127)|0);
+ $130 = $i;
+ $131 = $plaintext;
+ $132 = (($131) + ($130)|0);
+ $133 = $6;
+ _buf_xor_2dst_1922($126,$129,$132,$133);
+ $134 = $6;
+ $135 = $i;
+ $136 = (($135) + ($134))|0;
+ $i = $136;
+ }
+ $137 = $4;
+ $138 = $ctx;
+ $139 = $iv2;
+ $140 = $plaintext2;
+ $141 = $ciphertext;
+ $142 = $5;
+ FUNCTION_TABLE_viiiii[$137 & 127]($138,$139,$140,$141,$142);
+ $143 = $plaintext2;
+ $144 = $plaintext;
+ $145 = $5;
+ $146 = $6;
+ $147 = Math_imul($145, $146)|0;
+ $148 = (_memcmp($143,$144,$147)|0);
+ $149 = ($148|0)!=(0);
+ if ($149) {
+ $150 = $mem;
+ __gcry_free($150);
+ $0 = 47033;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ }
+ $151 = $iv2;
+ $152 = $iv;
+ $153 = $6;
+ $154 = (_memcmp($151,$152,$153)|0);
+ $155 = ($154|0)!=(0);
+ $156 = $mem;
+ __gcry_free($156);
+ if ($155) {
+ $0 = 47033;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ } else {
+ $0 = 0;
+ $157 = $0;
+ STACKTOP = sp;return ($157|0);
+ }
+ return (0)|0;
+}
+function _buf_xor_2dst_1922($_dst1,$_dst2,$_src,$len) {
+ $_dst1 = $_dst1|0;
+ $_dst2 = $_dst2|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst1 = 0, $dst2 = 0, $ldst1 = 0, $ldst2 = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst1;
+ $1 = $_dst2;
+ $2 = $_src;
+ $3 = $len;
+ $4 = $0;
+ $dst1 = $4;
+ $5 = $1;
+ $dst2 = $5;
+ $6 = $2;
+ $src = $6;
+ $longmask = 3;
+ $7 = $src;
+ $8 = $7;
+ $9 = $dst1;
+ $10 = $9;
+ $11 = $8 | $10;
+ $12 = $dst2;
+ $13 = $12;
+ $14 = $11 | $13;
+ $15 = $14 & 3;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = $dst1;
+ $ldst1 = $17;
+ $18 = $dst2;
+ $ldst2 = $18;
+ $19 = $src;
+ $lsrc = $19;
+ while(1) {
+ $20 = $3;
+ $21 = ($20>>>0)>=(4);
+ if (!($21)) {
+ break;
+ }
+ $22 = $lsrc;
+ $23 = ((($22)) + 4|0);
+ $lsrc = $23;
+ $24 = HEAP32[$22>>2]|0;
+ $25 = $ldst2;
+ $26 = ((($25)) + 4|0);
+ $ldst2 = $26;
+ $27 = HEAP32[$25>>2]|0;
+ $28 = $27 ^ $24;
+ HEAP32[$25>>2] = $28;
+ $29 = $ldst1;
+ $30 = ((($29)) + 4|0);
+ $ldst1 = $30;
+ HEAP32[$29>>2] = $28;
+ $31 = $3;
+ $32 = (($31) - 4)|0;
+ $3 = $32;
+ }
+ $33 = $ldst1;
+ $dst1 = $33;
+ $34 = $ldst2;
+ $dst2 = $34;
+ $35 = $lsrc;
+ $src = $35;
+ }
+ while(1) {
+ $36 = $3;
+ $37 = ($36|0)!=(0);
+ if (!($37)) {
+ break;
+ }
+ $38 = $src;
+ $39 = ((($38)) + 1|0);
+ $src = $39;
+ $40 = HEAP8[$38>>0]|0;
+ $41 = $40&255;
+ $42 = $dst2;
+ $43 = ((($42)) + 1|0);
+ $dst2 = $43;
+ $44 = HEAP8[$42>>0]|0;
+ $45 = $44&255;
+ $46 = $45 ^ $41;
+ $47 = $46&255;
+ HEAP8[$42>>0] = $47;
+ $48 = $dst1;
+ $49 = ((($48)) + 1|0);
+ $dst1 = $49;
+ HEAP8[$48>>0] = $47;
+ $50 = $3;
+ $51 = (($50) + -1)|0;
+ $3 = $51;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_selftest_helper_ctr($cipher,$setkey_func,$encrypt_one,$bulk_ctr_enc,$nblocks,$blocksize,$context_size) {
+ $cipher = $cipher|0;
+ $setkey_func = $setkey_func|0;
+ $encrypt_one = $encrypt_one|0;
+ $bulk_ctr_enc = $bulk_ctr_enc|0;
+ $nblocks = $nblocks|0;
+ $blocksize = $blocksize|0;
+ $context_size = $context_size|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $ciphertext = 0, $ciphertext2 = 0, $ctx = 0, $ctx_aligned_size = 0, $diff = 0, $i = 0, $iv = 0, $iv2 = 0, $j = 0, $mem = 0, $memsize = 0, $offs = 0, $plaintext = 0, $plaintext2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $cipher;
+ $2 = $setkey_func;
+ $3 = $encrypt_one;
+ $4 = $bulk_ctr_enc;
+ $5 = $nblocks;
+ $6 = $blocksize;
+ $7 = $context_size;
+ $8 = $7;
+ $9 = (($8) + 15)|0;
+ $ctx_aligned_size = $9;
+ $10 = $ctx_aligned_size;
+ $11 = $10 & 15;
+ $12 = $ctx_aligned_size;
+ $13 = (($12) - ($11))|0;
+ $ctx_aligned_size = $13;
+ $14 = $ctx_aligned_size;
+ $15 = $6;
+ $16 = $15<<1;
+ $17 = (($14) + ($16))|0;
+ $18 = $6;
+ $19 = $5;
+ $20 = Math_imul($18, $19)|0;
+ $21 = $20<<2;
+ $22 = (($17) + ($21))|0;
+ $23 = (($22) + 16)|0;
+ $memsize = $23;
+ $24 = $memsize;
+ $25 = (__gcry_calloc(1,$24)|0);
+ $mem = $25;
+ $26 = $mem;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $0 = 46944;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ $28 = $mem;
+ $29 = $28;
+ $30 = $29 & 15;
+ $31 = (16 - ($30))|0;
+ $32 = $31 & 15;
+ $offs = $32;
+ $33 = $mem;
+ $34 = $offs;
+ $35 = (($33) + ($34)|0);
+ $ctx = $35;
+ $36 = $ctx;
+ $37 = $ctx_aligned_size;
+ $38 = (($36) + ($37)|0);
+ $iv = $38;
+ $39 = $iv;
+ $40 = $6;
+ $41 = (($39) + ($40)|0);
+ $iv2 = $41;
+ $42 = $iv2;
+ $43 = $6;
+ $44 = (($42) + ($43)|0);
+ $plaintext = $44;
+ $45 = $plaintext;
+ $46 = $5;
+ $47 = $6;
+ $48 = Math_imul($46, $47)|0;
+ $49 = (($45) + ($48)|0);
+ $plaintext2 = $49;
+ $50 = $plaintext2;
+ $51 = $5;
+ $52 = $6;
+ $53 = Math_imul($51, $52)|0;
+ $54 = (($50) + ($53)|0);
+ $ciphertext = $54;
+ $55 = $ciphertext;
+ $56 = $5;
+ $57 = $6;
+ $58 = Math_imul($56, $57)|0;
+ $59 = (($55) + ($58)|0);
+ $ciphertext2 = $59;
+ $60 = $2;
+ $61 = $ctx;
+ $62 = (FUNCTION_TABLE_iiii[$60 & 127]($61,48,16)|0);
+ $63 = ($62|0)!=(0);
+ if ($63) {
+ $64 = $mem;
+ __gcry_free($64);
+ $0 = 46970;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ $65 = $iv;
+ $66 = $6;
+ _memset(($65|0),-1,($66|0))|0;
+ $i = 0;
+ while(1) {
+ $67 = $i;
+ $68 = $6;
+ $69 = ($67|0)<($68|0);
+ if (!($69)) {
+ break;
+ }
+ $70 = $i;
+ $71 = $70&255;
+ $72 = $i;
+ $73 = $plaintext;
+ $74 = (($73) + ($72)|0);
+ HEAP8[$74>>0] = $71;
+ $75 = $i;
+ $76 = (($75) + 1)|0;
+ $i = $76;
+ }
+ $77 = $3;
+ $78 = $ctx;
+ $79 = $ciphertext;
+ $80 = $iv;
+ (FUNCTION_TABLE_iiii[$77 & 127]($78,$79,$80)|0);
+ $i = 0;
+ while(1) {
+ $81 = $i;
+ $82 = $6;
+ $83 = ($81|0)<($82|0);
+ if (!($83)) {
+ break;
+ }
+ $84 = $i;
+ $85 = $plaintext;
+ $86 = (($85) + ($84)|0);
+ $87 = HEAP8[$86>>0]|0;
+ $88 = $87&255;
+ $89 = $i;
+ $90 = $ciphertext;
+ $91 = (($90) + ($89)|0);
+ $92 = HEAP8[$91>>0]|0;
+ $93 = $92&255;
+ $94 = $93 ^ $88;
+ $95 = $94&255;
+ HEAP8[$91>>0] = $95;
+ $96 = $i;
+ $97 = (($96) + 1)|0;
+ $i = $97;
+ }
+ $98 = $6;
+ $i = $98;
+ while(1) {
+ $99 = $i;
+ $100 = ($99|0)>(0);
+ if (!($100)) {
+ break;
+ }
+ $101 = $i;
+ $102 = (($101) - 1)|0;
+ $103 = $iv;
+ $104 = (($103) + ($102)|0);
+ $105 = HEAP8[$104>>0]|0;
+ $106 = (($105) + 1)<<24>>24;
+ HEAP8[$104>>0] = $106;
+ $107 = $i;
+ $108 = (($107) - 1)|0;
+ $109 = $iv;
+ $110 = (($109) + ($108)|0);
+ $111 = HEAP8[$110>>0]|0;
+ $112 = ($111<<24>>24)!=(0);
+ if ($112) {
+ break;
+ }
+ $113 = $i;
+ $114 = (($113) + -1)|0;
+ $i = $114;
+ }
+ $115 = $iv2;
+ $116 = $6;
+ _memset(($115|0),-1,($116|0))|0;
+ $117 = $4;
+ $118 = $ctx;
+ $119 = $iv2;
+ $120 = $plaintext2;
+ $121 = $ciphertext;
+ FUNCTION_TABLE_viiiii[$117 & 127]($118,$119,$120,$121,1);
+ $122 = $plaintext2;
+ $123 = $plaintext;
+ $124 = $6;
+ $125 = (_memcmp($122,$123,$124)|0);
+ $126 = ($125|0)!=(0);
+ if ($126) {
+ $127 = $mem;
+ __gcry_free($127);
+ $0 = 47082;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ $128 = $iv2;
+ $129 = $iv;
+ $130 = $6;
+ $131 = (_memcmp($128,$129,$130)|0);
+ $132 = ($131|0)!=(0);
+ if ($132) {
+ $133 = $mem;
+ __gcry_free($133);
+ $0 = 47082;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ $134 = $iv;
+ $135 = $6;
+ $136 = (($135) - 4)|0;
+ _memset(($134|0),87,($136|0))|0;
+ $137 = $6;
+ $138 = (($137) - 1)|0;
+ $139 = $iv;
+ $140 = (($139) + ($138)|0);
+ HEAP8[$140>>0] = 1;
+ $141 = $6;
+ $142 = (($141) - 2)|0;
+ $143 = $iv;
+ $144 = (($143) + ($142)|0);
+ HEAP8[$144>>0] = 0;
+ $145 = $6;
+ $146 = (($145) - 3)|0;
+ $147 = $iv;
+ $148 = (($147) + ($146)|0);
+ HEAP8[$148>>0] = 0;
+ $149 = $6;
+ $150 = (($149) - 4)|0;
+ $151 = $iv;
+ $152 = (($151) + ($150)|0);
+ HEAP8[$152>>0] = 0;
+ $153 = $iv2;
+ $154 = $6;
+ $155 = (($154) - 4)|0;
+ _memset(($153|0),87,($155|0))|0;
+ $156 = $6;
+ $157 = (($156) - 1)|0;
+ $158 = $iv2;
+ $159 = (($158) + ($157)|0);
+ HEAP8[$159>>0] = 1;
+ $160 = $6;
+ $161 = (($160) - 2)|0;
+ $162 = $iv2;
+ $163 = (($162) + ($161)|0);
+ HEAP8[$163>>0] = 0;
+ $164 = $6;
+ $165 = (($164) - 3)|0;
+ $166 = $iv2;
+ $167 = (($166) + ($165)|0);
+ HEAP8[$167>>0] = 0;
+ $168 = $6;
+ $169 = (($168) - 4)|0;
+ $170 = $iv2;
+ $171 = (($170) + ($169)|0);
+ HEAP8[$171>>0] = 0;
+ $i = 0;
+ while(1) {
+ $172 = $i;
+ $173 = $6;
+ $174 = $5;
+ $175 = Math_imul($173, $174)|0;
+ $176 = ($172|0)<($175|0);
+ if (!($176)) {
+ break;
+ }
+ $177 = $i;
+ $178 = $177&255;
+ $179 = $i;
+ $180 = $plaintext;
+ $181 = (($180) + ($179)|0);
+ HEAP8[$181>>0] = $178;
+ $182 = $i;
+ $183 = $plaintext2;
+ $184 = (($183) + ($182)|0);
+ HEAP8[$184>>0] = $178;
+ $185 = $i;
+ $186 = (($185) + 1)|0;
+ $i = $186;
+ }
+ $i = 0;
+ while(1) {
+ $187 = $i;
+ $188 = $6;
+ $189 = $5;
+ $190 = Math_imul($188, $189)|0;
+ $191 = ($187|0)<($190|0);
+ if (!($191)) {
+ break;
+ }
+ $192 = $3;
+ $193 = $ctx;
+ $194 = $i;
+ $195 = $ciphertext;
+ $196 = (($195) + ($194)|0);
+ $197 = $iv;
+ (FUNCTION_TABLE_iiii[$192 & 127]($193,$196,$197)|0);
+ $j = 0;
+ while(1) {
+ $198 = $j;
+ $199 = $6;
+ $200 = ($198|0)<($199|0);
+ if (!($200)) {
+ break;
+ }
+ $201 = $i;
+ $202 = $j;
+ $203 = (($201) + ($202))|0;
+ $204 = $plaintext;
+ $205 = (($204) + ($203)|0);
+ $206 = HEAP8[$205>>0]|0;
+ $207 = $206&255;
+ $208 = $i;
+ $209 = $j;
+ $210 = (($208) + ($209))|0;
+ $211 = $ciphertext;
+ $212 = (($211) + ($210)|0);
+ $213 = HEAP8[$212>>0]|0;
+ $214 = $213&255;
+ $215 = $214 ^ $207;
+ $216 = $215&255;
+ HEAP8[$212>>0] = $216;
+ $217 = $j;
+ $218 = (($217) + 1)|0;
+ $j = $218;
+ }
+ $219 = $6;
+ $j = $219;
+ while(1) {
+ $220 = $j;
+ $221 = ($220|0)>(0);
+ if (!($221)) {
+ break;
+ }
+ $222 = $j;
+ $223 = (($222) - 1)|0;
+ $224 = $iv;
+ $225 = (($224) + ($223)|0);
+ $226 = HEAP8[$225>>0]|0;
+ $227 = (($226) + 1)<<24>>24;
+ HEAP8[$225>>0] = $227;
+ $228 = $j;
+ $229 = (($228) - 1)|0;
+ $230 = $iv;
+ $231 = (($230) + ($229)|0);
+ $232 = HEAP8[$231>>0]|0;
+ $233 = ($232<<24>>24)!=(0);
+ if ($233) {
+ break;
+ }
+ $234 = $j;
+ $235 = (($234) + -1)|0;
+ $j = $235;
+ }
+ $236 = $6;
+ $237 = $i;
+ $238 = (($237) + ($236))|0;
+ $i = $238;
+ }
+ $239 = $4;
+ $240 = $ctx;
+ $241 = $iv2;
+ $242 = $ciphertext2;
+ $243 = $plaintext2;
+ $244 = $5;
+ FUNCTION_TABLE_viiiii[$239 & 127]($240,$241,$242,$243,$244);
+ $245 = $ciphertext2;
+ $246 = $ciphertext;
+ $247 = $6;
+ $248 = $5;
+ $249 = Math_imul($247, $248)|0;
+ $250 = (_memcmp($245,$246,$249)|0);
+ $251 = ($250|0)!=(0);
+ if ($251) {
+ $252 = $mem;
+ __gcry_free($252);
+ $0 = 47082;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ $253 = $iv2;
+ $254 = $iv;
+ $255 = $6;
+ $256 = (_memcmp($253,$254,$255)|0);
+ $257 = ($256|0)!=(0);
+ if ($257) {
+ $258 = $mem;
+ __gcry_free($258);
+ $0 = 47082;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ $diff = 0;
+ while(1) {
+ $259 = $diff;
+ $260 = $5;
+ $261 = ($259|0)<($260|0);
+ if (!($261)) {
+ label = 56;
+ break;
+ }
+ $262 = $iv;
+ $263 = $6;
+ _memset(($262|0),-1,($263|0))|0;
+ $264 = $diff;
+ $265 = $6;
+ $266 = (($265) - 1)|0;
+ $267 = $iv;
+ $268 = (($267) + ($266)|0);
+ $269 = HEAP8[$268>>0]|0;
+ $270 = $269&255;
+ $271 = (($270) - ($264))|0;
+ $272 = $271&255;
+ HEAP8[$268>>0] = $272;
+ $273 = $iv;
+ $274 = ((($273)) + 1|0);
+ HEAP8[$274>>0] = 0;
+ $275 = $iv;
+ HEAP8[$275>>0] = 0;
+ $276 = $iv;
+ $277 = ((($276)) + 2|0);
+ HEAP8[$277>>0] = 7;
+ $i = 0;
+ while(1) {
+ $278 = $i;
+ $279 = $6;
+ $280 = $5;
+ $281 = Math_imul($279, $280)|0;
+ $282 = ($278|0)<($281|0);
+ if (!($282)) {
+ break;
+ }
+ $283 = $i;
+ $284 = $283&255;
+ $285 = $i;
+ $286 = $plaintext;
+ $287 = (($286) + ($285)|0);
+ HEAP8[$287>>0] = $284;
+ $288 = $i;
+ $289 = (($288) + 1)|0;
+ $i = $289;
+ }
+ $i = 0;
+ while(1) {
+ $290 = $i;
+ $291 = $6;
+ $292 = $5;
+ $293 = Math_imul($291, $292)|0;
+ $294 = ($290|0)<($293|0);
+ if (!($294)) {
+ break;
+ }
+ $295 = $3;
+ $296 = $ctx;
+ $297 = $i;
+ $298 = $ciphertext;
+ $299 = (($298) + ($297)|0);
+ $300 = $iv;
+ (FUNCTION_TABLE_iiii[$295 & 127]($296,$299,$300)|0);
+ $j = 0;
+ while(1) {
+ $301 = $j;
+ $302 = $6;
+ $303 = ($301|0)<($302|0);
+ if (!($303)) {
+ break;
+ }
+ $304 = $i;
+ $305 = $j;
+ $306 = (($304) + ($305))|0;
+ $307 = $plaintext;
+ $308 = (($307) + ($306)|0);
+ $309 = HEAP8[$308>>0]|0;
+ $310 = $309&255;
+ $311 = $i;
+ $312 = $j;
+ $313 = (($311) + ($312))|0;
+ $314 = $ciphertext;
+ $315 = (($314) + ($313)|0);
+ $316 = HEAP8[$315>>0]|0;
+ $317 = $316&255;
+ $318 = $317 ^ $310;
+ $319 = $318&255;
+ HEAP8[$315>>0] = $319;
+ $320 = $j;
+ $321 = (($320) + 1)|0;
+ $j = $321;
+ }
+ $322 = $6;
+ $j = $322;
+ while(1) {
+ $323 = $j;
+ $324 = ($323|0)>(0);
+ if (!($324)) {
+ break;
+ }
+ $325 = $j;
+ $326 = (($325) - 1)|0;
+ $327 = $iv;
+ $328 = (($327) + ($326)|0);
+ $329 = HEAP8[$328>>0]|0;
+ $330 = (($329) + 1)<<24>>24;
+ HEAP8[$328>>0] = $330;
+ $331 = $j;
+ $332 = (($331) - 1)|0;
+ $333 = $iv;
+ $334 = (($333) + ($332)|0);
+ $335 = HEAP8[$334>>0]|0;
+ $336 = ($335<<24>>24)!=(0);
+ if ($336) {
+ break;
+ }
+ $337 = $j;
+ $338 = (($337) + -1)|0;
+ $j = $338;
+ }
+ $339 = $6;
+ $340 = $i;
+ $341 = (($340) + ($339))|0;
+ $i = $341;
+ }
+ $342 = $iv2;
+ $343 = $6;
+ _memset(($342|0),-1,($343|0))|0;
+ $344 = $diff;
+ $345 = $6;
+ $346 = (($345) - 1)|0;
+ $347 = $iv2;
+ $348 = (($347) + ($346)|0);
+ $349 = HEAP8[$348>>0]|0;
+ $350 = $349&255;
+ $351 = (($350) - ($344))|0;
+ $352 = $351&255;
+ HEAP8[$348>>0] = $352;
+ $353 = $iv2;
+ $354 = ((($353)) + 1|0);
+ HEAP8[$354>>0] = 0;
+ $355 = $iv2;
+ HEAP8[$355>>0] = 0;
+ $356 = $iv2;
+ $357 = ((($356)) + 2|0);
+ HEAP8[$357>>0] = 7;
+ $358 = $4;
+ $359 = $ctx;
+ $360 = $iv2;
+ $361 = $plaintext2;
+ $362 = $ciphertext;
+ $363 = $5;
+ FUNCTION_TABLE_viiiii[$358 & 127]($359,$360,$361,$362,$363);
+ $364 = $plaintext2;
+ $365 = $plaintext;
+ $366 = $6;
+ $367 = $5;
+ $368 = Math_imul($366, $367)|0;
+ $369 = (_memcmp($364,$365,$368)|0);
+ $370 = ($369|0)!=(0);
+ if ($370) {
+ label = 52;
+ break;
+ }
+ $372 = $iv2;
+ $373 = $iv;
+ $374 = $6;
+ $375 = (_memcmp($372,$373,$374)|0);
+ $376 = ($375|0)!=(0);
+ if ($376) {
+ label = 54;
+ break;
+ }
+ $378 = $diff;
+ $379 = (($378) + 1)|0;
+ $diff = $379;
+ }
+ if ((label|0) == 52) {
+ $371 = $mem;
+ __gcry_free($371);
+ $0 = 47082;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ else if ((label|0) == 54) {
+ $377 = $mem;
+ __gcry_free($377);
+ $0 = 47082;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ else if ((label|0) == 56) {
+ $380 = $mem;
+ __gcry_free($380);
+ $0 = 0;
+ $381 = $0;
+ STACKTOP = sp;return ($381|0);
+ }
+ return (0)|0;
+}
+function _ecc_generate($genparms,$r_skey) {
+ $genparms = $genparms|0;
+ $r_skey = $r_skey|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
+ var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
+ var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
+ var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
+ var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $E = 0, $Gx = 0, $Gy = 0, $Qx = 0, $Qy = 0, $base = 0, $ctx = 0, $curve_flags = 0, $curve_info = 0;
+ var $curve_name = 0, $encpk = 0, $encpklen = 0, $flags = 0, $l1 = 0, $nbits = 0, $or$cond = 0, $public = 0, $rc = 0, $secret = 0, $sk = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer3 = 0, $vararg_buffer38 = 0, $vararg_buffer47 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0;
+ var $vararg_ptr2 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr23 = 0, $vararg_ptr24 = 0, $vararg_ptr25 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr28 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr33 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr41 = 0;
+ var $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr46 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 352|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer47 = sp + 160|0;
+ $vararg_buffer38 = sp + 128|0;
+ $vararg_buffer17 = sp + 48|0;
+ $vararg_buffer15 = sp + 40|0;
+ $vararg_buffer12 = sp + 32|0;
+ $vararg_buffer9 = sp + 24|0;
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer3 = sp + 8|0;
+ $vararg_buffer = sp;
+ $nbits = sp + 328|0;
+ $E = sp + 284|0;
+ $sk = sp + 224|0;
+ $Qx = sp + 212|0;
+ $Qy = sp + 208|0;
+ $curve_info = sp + 192|0;
+ $curve_flags = sp + 188|0;
+ $flags = sp + 172|0;
+ $encpk = sp + 168|0;
+ $encpklen = sp + 164|0;
+ $1 = $genparms;
+ $2 = $r_skey;
+ $Gx = 0;
+ $Gy = 0;
+ HEAP32[$Qx>>2] = 0;
+ HEAP32[$Qy>>2] = 0;
+ $curve_name = 0;
+ $ctx = 0;
+ HEAP32[$curve_info>>2] = 0;
+ HEAP32[$curve_flags>>2] = 0;
+ $base = 0;
+ $public = 0;
+ $secret = 0;
+ HEAP32[$flags>>2] = 0;
+ dest=$E; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ dest=$sk; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $3 = $1;
+ $4 = (__gcry_pk_util_get_nbits($3,$nbits)|0);
+ $rc = $4;
+ $5 = $rc;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $rc;
+ $0 = $7;
+ $250 = $0;
+ STACKTOP = sp;return ($250|0);
+ }
+ $8 = $1;
+ $9 = (__gcry_sexp_find_token($8,47184,0)|0);
+ $l1 = $9;
+ $10 = $l1;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $l1;
+ $13 = (__gcry_sexp_nth_string($12,1)|0);
+ $curve_name = $13;
+ $14 = $l1;
+ __gcry_sexp_release($14);
+ $15 = $curve_name;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $0 = 65;
+ $250 = $0;
+ STACKTOP = sp;return ($250|0);
+ }
+ }
+ $17 = $1;
+ $18 = (__gcry_sexp_find_token($17,47190,0)|0);
+ $l1 = $18;
+ $19 = $l1;
+ $20 = ($19|0)!=(0|0);
+ if ($20) {
+ $21 = $l1;
+ $22 = (__gcry_pk_util_parse_flaglist($21,$flags,0)|0);
+ $rc = $22;
+ $23 = $l1;
+ __gcry_sexp_release($23);
+ $24 = $rc;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ label = 8;
+ }
+ } else {
+ label = 8;
+ }
+ do {
+ if ((label|0) == 8) {
+ $26 = $1;
+ $27 = (__gcry_sexp_find_token($26,47196,0)|0);
+ $l1 = $27;
+ $28 = $l1;
+ $29 = ($28|0)!=(0|0);
+ if ($29) {
+ $30 = HEAP32[$flags>>2]|0;
+ $31 = $30 | 32;
+ HEAP32[$flags>>2] = $31;
+ $32 = $l1;
+ __gcry_sexp_release($32);
+ }
+ $33 = HEAP32[$nbits>>2]|0;
+ $34 = ($33|0)!=(0);
+ $35 = $curve_name;
+ $36 = ($35|0)!=(0|0);
+ $or$cond = $34 | $36;
+ if (!($or$cond)) {
+ $0 = 68;
+ $250 = $0;
+ STACKTOP = sp;return ($250|0);
+ }
+ $37 = HEAP32[$nbits>>2]|0;
+ $38 = $curve_name;
+ $39 = (__gcry_ecc_fill_in_curve($37,$38,$E,$nbits)|0);
+ $rc = $39;
+ $40 = $curve_name;
+ __gcry_free($40);
+ $curve_name = 0;
+ $41 = $rc;
+ $42 = ($41|0)!=(0);
+ if (!($42)) {
+ $43 = (__gcry_get_debug_flag(1)|0);
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ $45 = HEAP32[$E>>2]|0;
+ $46 = (__gcry_ecc_model2str($45)|0);
+ $47 = ((($E)) + 4|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (__gcry_ecc_dialect2str($48)|0);
+ HEAP32[$vararg_buffer>>2] = $46;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $49;
+ __gcry_log_debug(47210,$vararg_buffer);
+ $50 = ((($E)) + 40|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ($51|0)!=(0|0);
+ if ($52) {
+ $53 = ((($E)) + 40|0);
+ $54 = HEAP32[$53>>2]|0;
+ HEAP32[$vararg_buffer3>>2] = $54;
+ __gcry_log_debug(47235,$vararg_buffer3);
+ }
+ $55 = ((($E)) + 8|0);
+ $56 = HEAP32[$55>>2]|0;
+ __gcry_log_printmpi(47257,$56);
+ $57 = ((($E)) + 12|0);
+ $58 = HEAP32[$57>>2]|0;
+ __gcry_log_printmpi(47273,$58);
+ $59 = ((($E)) + 16|0);
+ $60 = HEAP32[$59>>2]|0;
+ __gcry_log_printmpi(47289,$60);
+ $61 = ((($E)) + 32|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_log_printmpi(47305,$62);
+ $63 = ((($E)) + 36|0);
+ $64 = HEAP32[$63>>2]|0;
+ __gcry_log_printmpi(47321,$64);
+ $65 = ((($E)) + 20|0);
+ __gcry_mpi_point_log(47337,$65,0);
+ }
+ $66 = HEAP32[$E>>2]|0;
+ $67 = ((($E)) + 4|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ((($E)) + 8|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ((($E)) + 12|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ((($E)) + 16|0);
+ $74 = HEAP32[$73>>2]|0;
+ $75 = (__gcry_mpi_ec_p_internal_new($66,$68,0,$70,$72,$74)|0);
+ $ctx = $75;
+ $76 = HEAP32[$flags>>2]|0;
+ $77 = $76 & 4096;
+ $78 = ($77|0)!=(0);
+ $79 = $ctx;
+ $80 = HEAP32[$flags>>2]|0;
+ if ($78) {
+ $81 = (__gcry_ecc_eddsa_genkey($sk,$E,$79,$80)|0);
+ $rc = $81;
+ } else {
+ $82 = HEAP32[$nbits>>2]|0;
+ $83 = (_nist_generate_key($sk,$E,$79,$80,$82,$Qx,$Qy)|0);
+ $rc = $83;
+ }
+ $84 = $rc;
+ $85 = ($84|0)!=(0);
+ if (!($85)) {
+ $86 = (__gcry_mpi_new(0)|0);
+ $Gx = $86;
+ $87 = (__gcry_mpi_new(0)|0);
+ $Gy = $87;
+ $88 = $Gx;
+ $89 = $Gy;
+ $90 = ((($sk)) + 20|0);
+ $91 = $ctx;
+ $92 = (__gcry_mpi_ec_get_affine($88,$89,$90,$91)|0);
+ $93 = ($92|0)!=(0);
+ if ($93) {
+ HEAP32[$vararg_buffer6>>2] = 47727;
+ __gcry_log_fatal(47351,$vararg_buffer6);
+ // unreachable;
+ }
+ $94 = $Gx;
+ $95 = $Gy;
+ $96 = ((($sk)) + 8|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (__gcry_ecc_ec2os($94,$95,$97)|0);
+ $base = $98;
+ $99 = ((($sk)) + 4|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = ($100|0)==(1);
+ do {
+ if ($101) {
+ $102 = HEAP32[$flags>>2]|0;
+ $103 = $102 & 2048;
+ $104 = ($103|0)!=(0);
+ if ($104) {
+ label = 28;
+ } else {
+ $105 = ((($sk)) + 44|0);
+ $106 = $ctx;
+ $107 = $Gx;
+ $108 = $Gy;
+ $109 = HEAP32[$flags>>2]|0;
+ $110 = $109 & 1024;
+ $111 = ($110|0)!=(0);
+ $112 = $111 ^ 1;
+ $113 = $112 ^ 1;
+ $114 = $113&1;
+ $115 = (__gcry_ecc_eddsa_encodepoint($105,$106,$107,$108,$114,$encpk,$encpklen)|0);
+ $rc = $115;
+ $116 = $rc;
+ $117 = ($116|0)!=(0);
+ if (!($117)) {
+ $119 = (__gcry_mpi_new(0)|0);
+ $public = $119;
+ $120 = $public;
+ $121 = HEAP32[$encpk>>2]|0;
+ $122 = HEAP32[$encpklen>>2]|0;
+ $123 = $122<<3;
+ (__gcry_mpi_set_opaque($120,$121,$123)|0);
+ HEAP32[$encpk>>2] = 0;
+ break;
+ }
+ $118 = $rc;
+ $0 = $118;
+ $250 = $0;
+ STACKTOP = sp;return ($250|0);
+ }
+ } else {
+ label = 28;
+ }
+ } while(0);
+ if ((label|0) == 28) {
+ $124 = HEAP32[$Qx>>2]|0;
+ $125 = ($124|0)!=(0|0);
+ if (!($125)) {
+ $126 = (__gcry_mpi_new(0)|0);
+ HEAP32[$Qx>>2] = $126;
+ $127 = (__gcry_mpi_new(0)|0);
+ HEAP32[$Qy>>2] = $127;
+ $128 = HEAP32[$Qx>>2]|0;
+ $129 = HEAP32[$Qy>>2]|0;
+ $130 = ((($sk)) + 44|0);
+ $131 = $ctx;
+ $132 = (__gcry_mpi_ec_get_affine($128,$129,$130,$131)|0);
+ $133 = ($132|0)!=(0);
+ if ($133) {
+ HEAP32[$vararg_buffer9>>2] = 47399;
+ __gcry_log_fatal(47351,$vararg_buffer9);
+ // unreachable;
+ }
+ }
+ $134 = HEAP32[$Qx>>2]|0;
+ $135 = HEAP32[$Qy>>2]|0;
+ $136 = ((($sk)) + 8|0);
+ $137 = HEAP32[$136>>2]|0;
+ $138 = (__gcry_ecc_ec2os($134,$135,$137)|0);
+ $public = $138;
+ }
+ $139 = ((($sk)) + 56|0);
+ $140 = HEAP32[$139>>2]|0;
+ $secret = $140;
+ $141 = ((($sk)) + 56|0);
+ HEAP32[$141>>2] = 0;
+ $142 = ((($E)) + 40|0);
+ $143 = HEAP32[$142>>2]|0;
+ $144 = ($143|0)!=(0|0);
+ if ($144) {
+ $145 = ((($E)) + 40|0);
+ $146 = HEAP32[$145>>2]|0;
+ HEAP32[$vararg_buffer12>>2] = $146;
+ $147 = (__gcry_sexp_build($curve_info,0,47729,$vararg_buffer12)|0);
+ $rc = $147;
+ $148 = $rc;
+ $149 = ($148|0)!=(0);
+ if ($149) {
+ break;
+ }
+ }
+ $150 = HEAP32[$flags>>2]|0;
+ $151 = $150 & 512;
+ $152 = ($151|0)!=(0);
+ if ($152) {
+ label = 36;
+ } else {
+ $153 = HEAP32[$flags>>2]|0;
+ $154 = $153 & 4096;
+ $155 = ($154|0)!=(0);
+ if ($155) {
+ label = 36;
+ }
+ }
+ if ((label|0) == 36) {
+ $156 = HEAP32[$flags>>2]|0;
+ $157 = $156 & 512;
+ $158 = ($157|0)!=(0);
+ if ($158) {
+ $159 = HEAP32[$flags>>2]|0;
+ $160 = $159 & 4096;
+ $161 = ($160|0)!=(0);
+ if ($161) {
+ $166 = 47768;
+ } else {
+ label = 38;
+ }
+ } else {
+ label = 38;
+ }
+ if ((label|0) == 38) {
+ $162 = HEAP32[$flags>>2]|0;
+ $163 = $162 & 512;
+ $164 = ($163|0)!=(0);
+ $165 = $164 ? 47740 : 47754;
+ $166 = $165;
+ }
+ $167 = (__gcry_sexp_build($curve_flags,0,$166,$vararg_buffer15)|0);
+ $rc = $167;
+ $168 = $rc;
+ $169 = ($168|0)!=(0);
+ if ($169) {
+ break;
+ }
+ }
+ $170 = HEAP32[$flags>>2]|0;
+ $171 = $170 & 512;
+ $172 = ($171|0)!=(0);
+ if ($172) {
+ $173 = ((($E)) + 40|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = ($174|0)!=(0|0);
+ if ($175) {
+ $176 = $2;
+ $177 = HEAP32[$curve_info>>2]|0;
+ $178 = HEAP32[$curve_flags>>2]|0;
+ $179 = ((($sk)) + 8|0);
+ $180 = HEAP32[$179>>2]|0;
+ $181 = ((($sk)) + 12|0);
+ $182 = HEAP32[$181>>2]|0;
+ $183 = ((($sk)) + 16|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = $base;
+ $186 = ((($sk)) + 32|0);
+ $187 = HEAP32[$186>>2]|0;
+ $188 = ((($sk)) + 36|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = $public;
+ $191 = HEAP32[$curve_info>>2]|0;
+ $192 = HEAP32[$curve_flags>>2]|0;
+ $193 = ((($sk)) + 8|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = ((($sk)) + 12|0);
+ $196 = HEAP32[$195>>2]|0;
+ $197 = ((($sk)) + 16|0);
+ $198 = HEAP32[$197>>2]|0;
+ $199 = $base;
+ $200 = ((($sk)) + 32|0);
+ $201 = HEAP32[$200>>2]|0;
+ $202 = ((($sk)) + 36|0);
+ $203 = HEAP32[$202>>2]|0;
+ $204 = $public;
+ $205 = $secret;
+ HEAP32[$vararg_buffer17>>2] = $177;
+ $vararg_ptr20 = ((($vararg_buffer17)) + 4|0);
+ HEAP32[$vararg_ptr20>>2] = $178;
+ $vararg_ptr21 = ((($vararg_buffer17)) + 8|0);
+ HEAP32[$vararg_ptr21>>2] = $180;
+ $vararg_ptr22 = ((($vararg_buffer17)) + 12|0);
+ HEAP32[$vararg_ptr22>>2] = $182;
+ $vararg_ptr23 = ((($vararg_buffer17)) + 16|0);
+ HEAP32[$vararg_ptr23>>2] = $184;
+ $vararg_ptr24 = ((($vararg_buffer17)) + 20|0);
+ HEAP32[$vararg_ptr24>>2] = $185;
+ $vararg_ptr25 = ((($vararg_buffer17)) + 24|0);
+ HEAP32[$vararg_ptr25>>2] = $187;
+ $vararg_ptr26 = ((($vararg_buffer17)) + 28|0);
+ HEAP32[$vararg_ptr26>>2] = $189;
+ $vararg_ptr27 = ((($vararg_buffer17)) + 32|0);
+ HEAP32[$vararg_ptr27>>2] = $190;
+ $vararg_ptr28 = ((($vararg_buffer17)) + 36|0);
+ HEAP32[$vararg_ptr28>>2] = $191;
+ $vararg_ptr29 = ((($vararg_buffer17)) + 40|0);
+ HEAP32[$vararg_ptr29>>2] = $192;
+ $vararg_ptr30 = ((($vararg_buffer17)) + 44|0);
+ HEAP32[$vararg_ptr30>>2] = $194;
+ $vararg_ptr31 = ((($vararg_buffer17)) + 48|0);
+ HEAP32[$vararg_ptr31>>2] = $196;
+ $vararg_ptr32 = ((($vararg_buffer17)) + 52|0);
+ HEAP32[$vararg_ptr32>>2] = $198;
+ $vararg_ptr33 = ((($vararg_buffer17)) + 56|0);
+ HEAP32[$vararg_ptr33>>2] = $199;
+ $vararg_ptr34 = ((($vararg_buffer17)) + 60|0);
+ HEAP32[$vararg_ptr34>>2] = $201;
+ $vararg_ptr35 = ((($vararg_buffer17)) + 64|0);
+ HEAP32[$vararg_ptr35>>2] = $203;
+ $vararg_ptr36 = ((($vararg_buffer17)) + 68|0);
+ HEAP32[$vararg_ptr36>>2] = $204;
+ $vararg_ptr37 = ((($vararg_buffer17)) + 72|0);
+ HEAP32[$vararg_ptr37>>2] = $205;
+ $206 = (__gcry_sexp_build($176,0,47788,$vararg_buffer17)|0);
+ $rc = $206;
+ } else {
+ label = 43;
+ }
+ } else {
+ label = 43;
+ }
+ if ((label|0) == 43) {
+ $207 = $2;
+ $208 = HEAP32[$curve_info>>2]|0;
+ $209 = HEAP32[$curve_flags>>2]|0;
+ $210 = $public;
+ $211 = HEAP32[$curve_info>>2]|0;
+ $212 = HEAP32[$curve_flags>>2]|0;
+ $213 = $public;
+ $214 = $secret;
+ HEAP32[$vararg_buffer38>>2] = $208;
+ $vararg_ptr41 = ((($vararg_buffer38)) + 4|0);
+ HEAP32[$vararg_ptr41>>2] = $209;
+ $vararg_ptr42 = ((($vararg_buffer38)) + 8|0);
+ HEAP32[$vararg_ptr42>>2] = $210;
+ $vararg_ptr43 = ((($vararg_buffer38)) + 12|0);
+ HEAP32[$vararg_ptr43>>2] = $211;
+ $vararg_ptr44 = ((($vararg_buffer38)) + 16|0);
+ HEAP32[$vararg_ptr44>>2] = $212;
+ $vararg_ptr45 = ((($vararg_buffer38)) + 20|0);
+ HEAP32[$vararg_ptr45>>2] = $213;
+ $vararg_ptr46 = ((($vararg_buffer38)) + 24|0);
+ HEAP32[$vararg_ptr46>>2] = $214;
+ $215 = (__gcry_sexp_build($207,0,47924,$vararg_buffer38)|0);
+ $rc = $215;
+ }
+ $216 = $rc;
+ $217 = ($216|0)!=(0);
+ if (!($217)) {
+ $218 = (__gcry_get_debug_flag(1)|0);
+ $219 = ($218|0)!=(0);
+ if ($219) {
+ $220 = ((($sk)) + 8|0);
+ $221 = HEAP32[$220>>2]|0;
+ __gcry_log_printmpi(48000,$221);
+ $222 = ((($sk)) + 12|0);
+ $223 = HEAP32[$222>>2]|0;
+ __gcry_log_printmpi(48016,$223);
+ $224 = ((($sk)) + 16|0);
+ $225 = HEAP32[$224>>2]|0;
+ __gcry_log_printmpi(48032,$225);
+ $226 = $base;
+ __gcry_log_printmpi(48048,$226);
+ $227 = ((($sk)) + 32|0);
+ $228 = HEAP32[$227>>2]|0;
+ __gcry_log_printmpi(48064,$228);
+ $229 = ((($sk)) + 36|0);
+ $230 = HEAP32[$229>>2]|0;
+ __gcry_log_printmpi(48080,$230);
+ $231 = $public;
+ __gcry_log_printmpi(48096,$231);
+ $232 = $secret;
+ __gcry_log_printmpi(48112,$232);
+ $233 = HEAP32[$flags>>2]|0;
+ $234 = $233 & 4096;
+ $235 = ($234|0)!=(0);
+ if ($235) {
+ __gcry_log_debug(48128,$vararg_buffer47);
+ }
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $236 = $secret;
+ __gcry_mpi_free($236);
+ $237 = $public;
+ __gcry_mpi_free($237);
+ $238 = $base;
+ __gcry_mpi_free($238);
+ __gcry_ecc_curve_free($sk);
+ $239 = ((($sk)) + 44|0);
+ __gcry_mpi_point_free_parts($239);
+ $240 = ((($sk)) + 56|0);
+ $241 = HEAP32[$240>>2]|0;
+ __gcry_mpi_free($241);
+ __gcry_ecc_curve_free($E);
+ $242 = $Gx;
+ __gcry_mpi_free($242);
+ $243 = $Gy;
+ __gcry_mpi_free($243);
+ $244 = HEAP32[$Qx>>2]|0;
+ __gcry_mpi_free($244);
+ $245 = HEAP32[$Qy>>2]|0;
+ __gcry_mpi_free($245);
+ $246 = $ctx;
+ __gcry_mpi_ec_free($246);
+ $247 = HEAP32[$curve_flags>>2]|0;
+ __gcry_sexp_release($247);
+ $248 = HEAP32[$curve_info>>2]|0;
+ __gcry_sexp_release($248);
+ $249 = $rc;
+ $0 = $249;
+ $250 = $0;
+ STACKTOP = sp;return ($250|0);
+}
+function _nist_generate_key($sk,$E,$ctx,$flags,$nbits,$r_x,$r_y) {
+ $sk = $sk|0;
+ $E = $E|0;
+ $ctx = $ctx|0;
+ $flags = $flags|0;
+ $nbits = $nbits|0;
+ $r_x = $r_x|0;
+ $r_y = $r_y|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Q = 0, $negative = 0, $pbits = 0, $random_level = 0, $rndbuf = 0, $vararg_buffer = 0;
+ var $vararg_buffer1 = 0, $vararg_buffer3 = 0, $x = 0, $y = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $Q = sp + 44|0;
+ $0 = $sk;
+ $1 = $E;
+ $2 = $ctx;
+ $3 = $flags;
+ $4 = $nbits;
+ $5 = $r_x;
+ $6 = $r_y;
+ $7 = $1;
+ $8 = ((($7)) + 8|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = (__gcry_mpi_get_nbits($9)|0);
+ $pbits = $10;
+ __gcry_mpi_point_init($Q);
+ $11 = $3;
+ $12 = $11 & 32;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ $random_level = 1;
+ } else {
+ $random_level = 2;
+ }
+ $14 = $2;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)==(1);
+ if ($17) {
+ $18 = (__gcry_mpi_snew(256)|0);
+ $19 = $0;
+ $20 = ((($19)) + 56|0);
+ HEAP32[$20>>2] = $18;
+ $21 = $random_level;
+ $22 = (__gcry_random_bytes_secure(32,$21)|0);
+ $rndbuf = $22;
+ $23 = $rndbuf;
+ $24 = HEAP8[$23>>0]|0;
+ $25 = $24 << 24 >> 24;
+ $26 = $25 & 127;
+ $27 = $26&255;
+ HEAP8[$23>>0] = $27;
+ $28 = $rndbuf;
+ $29 = HEAP8[$28>>0]|0;
+ $30 = $29 << 24 >> 24;
+ $31 = $30 | 64;
+ $32 = $31&255;
+ HEAP8[$28>>0] = $32;
+ $33 = $rndbuf;
+ $34 = ((($33)) + 31|0);
+ $35 = HEAP8[$34>>0]|0;
+ $36 = $35 << 24 >> 24;
+ $37 = $36 & 248;
+ $38 = $37&255;
+ HEAP8[$34>>0] = $38;
+ $39 = $0;
+ $40 = ((($39)) + 56|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $rndbuf;
+ __gcry_mpi_set_buffer($41,$42,32,0);
+ $43 = $rndbuf;
+ __gcry_free($43);
+ } else {
+ $44 = $1;
+ $45 = ((($44)) + 32|0);
+ $46 = HEAP32[$45>>2]|0;
+ $47 = $random_level;
+ $48 = (__gcry_dsa_gen_k($46,$47)|0);
+ $49 = $0;
+ $50 = ((($49)) + 56|0);
+ HEAP32[$50>>2] = $48;
+ }
+ $51 = $0;
+ $52 = ((($51)) + 56|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = $1;
+ $55 = ((($54)) + 20|0);
+ $56 = $2;
+ __gcry_mpi_ec_mul_point($Q,$53,$55,$56);
+ $57 = $1;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $0;
+ HEAP32[$59>>2] = $58;
+ $60 = $1;
+ $61 = ((($60)) + 4|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = $0;
+ $64 = ((($63)) + 4|0);
+ HEAP32[$64>>2] = $62;
+ $65 = $1;
+ $66 = ((($65)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (__gcry_mpi_copy($67)|0);
+ $69 = $0;
+ $70 = ((($69)) + 8|0);
+ HEAP32[$70>>2] = $68;
+ $71 = $1;
+ $72 = ((($71)) + 12|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (__gcry_mpi_copy($73)|0);
+ $75 = $0;
+ $76 = ((($75)) + 12|0);
+ HEAP32[$76>>2] = $74;
+ $77 = $1;
+ $78 = ((($77)) + 16|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = (__gcry_mpi_copy($79)|0);
+ $81 = $0;
+ $82 = ((($81)) + 16|0);
+ HEAP32[$82>>2] = $80;
+ $83 = $0;
+ $84 = ((($83)) + 20|0);
+ __gcry_mpi_point_init($84);
+ $85 = $0;
+ $86 = ((($85)) + 20|0);
+ $87 = $1;
+ $88 = ((($87)) + 20|0);
+ _point_set_1950($86,$88);
+ $89 = $1;
+ $90 = ((($89)) + 32|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = (__gcry_mpi_copy($91)|0);
+ $93 = $0;
+ $94 = ((($93)) + 32|0);
+ HEAP32[$94>>2] = $92;
+ $95 = $1;
+ $96 = ((($95)) + 36|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = (__gcry_mpi_copy($97)|0);
+ $99 = $0;
+ $100 = ((($99)) + 36|0);
+ HEAP32[$100>>2] = $98;
+ $101 = $0;
+ $102 = ((($101)) + 44|0);
+ __gcry_mpi_point_init($102);
+ $103 = $pbits;
+ $104 = (__gcry_mpi_new($103)|0);
+ $x = $104;
+ $105 = $pbits;
+ $106 = (__gcry_mpi_new($105)|0);
+ $y = $106;
+ $107 = $x;
+ $108 = $y;
+ $109 = $2;
+ $110 = (__gcry_mpi_ec_get_affine($107,$108,$Q,$109)|0);
+ $111 = ($110|0)!=(0);
+ if ($111) {
+ HEAP32[$vararg_buffer>>2] = 47399;
+ __gcry_log_fatal(47351,$vararg_buffer);
+ // unreachable;
+ }
+ $112 = $1;
+ $113 = ((($112)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ($114|0)==(1);
+ do {
+ if ($115) {
+ $116 = $0;
+ $117 = ((($116)) + 44|0);
+ _point_set_1950($117,$Q);
+ } else {
+ $118 = $pbits;
+ $119 = (__gcry_mpi_new($118)|0);
+ $negative = $119;
+ $120 = $1;
+ $121 = HEAP32[$120>>2]|0;
+ $122 = ($121|0)==(0);
+ $123 = $negative;
+ $124 = $1;
+ $125 = ((($124)) + 8|0);
+ $126 = HEAP32[$125>>2]|0;
+ if ($122) {
+ $127 = $y;
+ __gcry_mpi_sub($123,$126,$127);
+ } else {
+ $128 = $x;
+ __gcry_mpi_sub($123,$126,$128);
+ }
+ $129 = $negative;
+ $130 = $y;
+ $131 = (__gcry_mpi_cmp($129,$130)|0);
+ $132 = ($131|0)<(0);
+ if (!($132)) {
+ $156 = $negative;
+ __gcry_mpi_free($156);
+ $157 = $0;
+ $158 = ((($157)) + 44|0);
+ _point_set_1950($158,$Q);
+ $159 = (__gcry_get_debug_flag(1)|0);
+ $160 = ($159|0)!=(0);
+ if (!($160)) {
+ break;
+ }
+ __gcry_log_debug(47441,$vararg_buffer3);
+ break;
+ }
+ $133 = $1;
+ $134 = HEAP32[$133>>2]|0;
+ $135 = ($134|0)==(0);
+ if ($135) {
+ $136 = $y;
+ __gcry_mpi_free($136);
+ $137 = $negative;
+ $y = $137;
+ } else {
+ $138 = $x;
+ __gcry_mpi_free($138);
+ $139 = $negative;
+ $x = $139;
+ }
+ $140 = $0;
+ $141 = ((($140)) + 56|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = $1;
+ $144 = ((($143)) + 32|0);
+ $145 = HEAP32[$144>>2]|0;
+ $146 = $0;
+ $147 = ((($146)) + 56|0);
+ $148 = HEAP32[$147>>2]|0;
+ __gcry_mpi_sub($142,$145,$148);
+ $149 = $0;
+ $150 = ((($149)) + 44|0);
+ $151 = $x;
+ $152 = $y;
+ $153 = (__gcry_mpi_const(1)|0);
+ (__gcry_mpi_point_set($150,$151,$152,$153)|0);
+ $154 = (__gcry_get_debug_flag(1)|0);
+ $155 = ($154|0)!=(0);
+ if ($155) {
+ __gcry_log_debug(47401,$vararg_buffer1);
+ }
+ }
+ } while(0);
+ $161 = $x;
+ $162 = $5;
+ HEAP32[$162>>2] = $161;
+ $163 = $y;
+ $164 = $6;
+ HEAP32[$164>>2] = $163;
+ __gcry_mpi_point_free_parts($Q);
+ $165 = $3;
+ $166 = $165 & 16384;
+ $167 = ($166|0)!=(0);
+ if ($167) {
+ STACKTOP = sp;return 0;
+ }
+ $168 = $0;
+ $169 = HEAP32[$168>>2]|0;
+ $170 = ($169|0)!=(1);
+ $171 = $0;
+ $172 = $4;
+ $173 = (($172) - 64)|0;
+ if ($170) {
+ _test_keys_1955($171,$173);
+ STACKTOP = sp;return 0;
+ } else {
+ _test_ecdh_only_keys($171,$173);
+ STACKTOP = sp;return 0;
+ }
+ return (0)|0;
+}
+function _point_set_1950($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $d;
+ $1 = $s;
+ $2 = $0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ (__gcry_mpi_set($3,$5)|0);
+ $6 = $0;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $1;
+ $10 = ((($9)) + 4|0);
+ $11 = HEAP32[$10>>2]|0;
+ (__gcry_mpi_set($8,$11)|0);
+ $12 = $0;
+ $13 = ((($12)) + 8|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ (__gcry_mpi_set($14,$17)|0);
+ STACKTOP = sp;return;
+}
+function _test_keys_1955($sk,$nbits) {
+ $sk = $sk|0;
+ $nbits = $nbits|0;
+ var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $R_ = 0, $c = 0, $out = 0, $pk = 0, $r = 0, $s = 0, $test = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $$byval_copy = sp + 168|0;
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $pk = sp + 104|0;
+ $R_ = sp + 88|0;
+ $2 = sp + 28|0;
+ $0 = $sk;
+ $1 = $nbits;
+ $3 = $1;
+ $4 = (__gcry_mpi_new($3)|0);
+ $test = $4;
+ $5 = $1;
+ $6 = (__gcry_mpi_new($5)|0);
+ $c = $6;
+ $7 = $1;
+ $8 = (__gcry_mpi_new($7)|0);
+ $out = $8;
+ $9 = $1;
+ $10 = (__gcry_mpi_new($9)|0);
+ $r = $10;
+ $11 = $1;
+ $12 = (__gcry_mpi_new($11)|0);
+ $s = $12;
+ $13 = (__gcry_get_debug_flag(1)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ __gcry_log_debug(47494,$vararg_buffer);
+ }
+ __gcry_mpi_point_init($R_);
+ $15 = $0;
+ dest=$$byval_copy; src=$15; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ __gcry_ecc_curve_copy($2,$$byval_copy);
+ dest=$pk; src=$2; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $16 = ((($pk)) + 44|0);
+ __gcry_mpi_point_init($16);
+ $17 = ((($pk)) + 44|0);
+ $18 = $0;
+ $19 = ((($18)) + 44|0);
+ _point_set_1950($17,$19);
+ $20 = $test;
+ $21 = $1;
+ __gcry_mpi_randomize($20,$21,0);
+ $22 = $test;
+ $23 = $0;
+ $24 = $r;
+ $25 = $s;
+ $26 = (__gcry_ecc_ecdsa_sign($22,$23,$24,$25,0,0)|0);
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ __gcry_log_fatal(47508,$vararg_buffer1);
+ // unreachable;
+ }
+ $28 = $test;
+ $29 = $r;
+ $30 = $s;
+ $31 = (__gcry_ecc_ecdsa_verify($28,$pk,$29,$30)|0);
+ $32 = ($31|0)!=(0);
+ if ($32) {
+ __gcry_log_fatal(47538,$vararg_buffer3);
+ // unreachable;
+ }
+ $33 = (__gcry_get_debug_flag(1)|0);
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = ((($pk)) + 44|0);
+ __gcry_mpi_point_free_parts($35);
+ __gcry_ecc_curve_free($pk);
+ __gcry_mpi_point_free_parts($R_);
+ $36 = $s;
+ __gcry_mpi_free($36);
+ $37 = $r;
+ __gcry_mpi_free($37);
+ $38 = $out;
+ __gcry_mpi_free($38);
+ $39 = $c;
+ __gcry_mpi_free($39);
+ $40 = $test;
+ __gcry_mpi_free($40);
+ STACKTOP = sp;return;
+ }
+ __gcry_log_debug(47576,$vararg_buffer5);
+ $35 = ((($pk)) + 44|0);
+ __gcry_mpi_point_free_parts($35);
+ __gcry_ecc_curve_free($pk);
+ __gcry_mpi_point_free_parts($R_);
+ $36 = $s;
+ __gcry_mpi_free($36);
+ $37 = $r;
+ __gcry_mpi_free($37);
+ $38 = $out;
+ __gcry_mpi_free($38);
+ $39 = $c;
+ __gcry_mpi_free($39);
+ $40 = $test;
+ __gcry_mpi_free($40);
+ STACKTOP = sp;return;
+}
+function _test_ecdh_only_keys($sk,$nbits) {
+ $sk = $sk|0;
+ $nbits = $nbits|0;
+ var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $R_ = 0, $ec = 0, $pk = 0, $rndbuf = 0, $test = 0;
+ var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $x0 = 0, $x1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $$byval_copy = sp + 168|0;
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $pk = sp + 104|0;
+ $R_ = sp + 88|0;
+ $2 = sp + 32|0;
+ $0 = $sk;
+ $1 = $nbits;
+ $3 = (__gcry_get_debug_flag(1)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ __gcry_log_debug(47494,$vararg_buffer);
+ }
+ __gcry_mpi_point_init($R_);
+ $5 = $0;
+ dest=$$byval_copy; src=$5; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ __gcry_ecc_curve_copy($2,$$byval_copy);
+ dest=$pk; src=$2; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $6 = ((($pk)) + 44|0);
+ __gcry_mpi_point_init($6);
+ $7 = ((($pk)) + 44|0);
+ $8 = $0;
+ $9 = ((($8)) + 44|0);
+ _point_set_1950($7,$9);
+ $10 = $0;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)==(1);
+ if ($13) {
+ $14 = (__gcry_mpi_new(256)|0);
+ $test = $14;
+ $15 = (__gcry_random_bytes(32,0)|0);
+ $rndbuf = $15;
+ $16 = $rndbuf;
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17 << 24 >> 24;
+ $19 = $18 & 127;
+ $20 = $19&255;
+ HEAP8[$16>>0] = $20;
+ $21 = $rndbuf;
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22 << 24 >> 24;
+ $24 = $23 | 64;
+ $25 = $24&255;
+ HEAP8[$21>>0] = $25;
+ $26 = $rndbuf;
+ $27 = ((($26)) + 31|0);
+ $28 = HEAP8[$27>>0]|0;
+ $29 = $28 << 24 >> 24;
+ $30 = $29 & 248;
+ $31 = $30&255;
+ HEAP8[$27>>0] = $31;
+ $32 = $test;
+ $33 = $rndbuf;
+ __gcry_mpi_set_buffer($32,$33,32,0);
+ $34 = $rndbuf;
+ __gcry_free($34);
+ } else {
+ $35 = $1;
+ $36 = (__gcry_mpi_new($35)|0);
+ $test = $36;
+ $37 = $test;
+ $38 = $1;
+ __gcry_mpi_randomize($37,$38,0);
+ }
+ $39 = HEAP32[$pk>>2]|0;
+ $40 = ((($pk)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ((($pk)) + 8|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = ((($pk)) + 12|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($pk)) + 16|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = (__gcry_mpi_ec_p_internal_new($39,$41,0,$43,$45,$47)|0);
+ $ec = $48;
+ $49 = (__gcry_mpi_new(0)|0);
+ $x0 = $49;
+ $50 = (__gcry_mpi_new(0)|0);
+ $x1 = $50;
+ $51 = $test;
+ $52 = ((($pk)) + 44|0);
+ $53 = $ec;
+ __gcry_mpi_ec_mul_point($R_,$51,$52,$53);
+ $54 = $0;
+ $55 = ((($54)) + 4|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = ($56|0)!=(1);
+ if ($57) {
+ $58 = $ec;
+ $59 = ((($58)) + 36|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = $ec;
+ __gcry_mpi_ec_mul_point($R_,$60,$R_,$61);
+ }
+ $62 = $x0;
+ $63 = $ec;
+ $64 = (__gcry_mpi_ec_get_affine($62,0,$R_,$63)|0);
+ $65 = ($64|0)!=(0);
+ if ($65) {
+ __gcry_log_fatal(47611,$vararg_buffer1);
+ // unreachable;
+ }
+ $66 = $test;
+ $67 = ((($pk)) + 20|0);
+ $68 = $ec;
+ __gcry_mpi_ec_mul_point($R_,$66,$67,$68);
+ $69 = $0;
+ $70 = ((($69)) + 56|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = $ec;
+ __gcry_mpi_ec_mul_point($R_,$71,$R_,$72);
+ $73 = $0;
+ $74 = ((($73)) + 4|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)!=(1);
+ if ($76) {
+ $77 = $ec;
+ $78 = ((($77)) + 36|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $ec;
+ __gcry_mpi_ec_mul_point($R_,$79,$R_,$80);
+ }
+ $81 = $x1;
+ $82 = $ec;
+ $83 = (__gcry_mpi_ec_get_affine($81,0,$R_,$82)|0);
+ $84 = ($83|0)!=(0);
+ if ($84) {
+ __gcry_log_fatal(47659,$vararg_buffer3);
+ // unreachable;
+ }
+ $85 = $x0;
+ $86 = $x1;
+ $87 = (__gcry_mpi_cmp($85,$86)|0);
+ $88 = ($87|0)!=(0);
+ if ($88) {
+ __gcry_log_fatal(47708,$vararg_buffer5);
+ // unreachable;
+ } else {
+ $89 = $x0;
+ __gcry_mpi_free($89);
+ $90 = $x1;
+ __gcry_mpi_free($90);
+ $91 = $ec;
+ __gcry_mpi_ec_free($91);
+ $92 = ((($pk)) + 44|0);
+ __gcry_mpi_point_free_parts($92);
+ __gcry_ecc_curve_free($pk);
+ __gcry_mpi_point_free_parts($R_);
+ $93 = $test;
+ __gcry_mpi_free($93);
+ STACKTOP = sp;return;
+ }
+}
+function _ecc_check_secret_key($keyparms) {
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
+ var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
+ var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
+ var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $curvename = 0, $ec = 0, $flags = 0, $l1 = 0, $mpi_g = 0, $mpi_q = 0, $rc = 0, $sk = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer21 = 0;
+ var $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer21 = sp + 72|0;
+ $vararg_buffer18 = sp + 64|0;
+ $vararg_buffer14 = sp + 56|0;
+ $vararg_buffer9 = sp + 40|0;
+ $vararg_buffer = sp;
+ $flags = sp + 152|0;
+ $mpi_g = sp + 144|0;
+ $mpi_q = sp + 140|0;
+ $sk = sp + 80|0;
+ $1 = $keyparms;
+ $l1 = 0;
+ HEAP32[$flags>>2] = 0;
+ $curvename = 0;
+ HEAP32[$mpi_g>>2] = 0;
+ HEAP32[$mpi_q>>2] = 0;
+ $ec = 0;
+ dest=$sk; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $2 = $1;
+ $3 = (__gcry_sexp_find_token($2,47190,0)|0);
+ $l1 = $3;
+ $4 = $l1;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $l1;
+ $7 = (__gcry_pk_util_parse_flaglist($6,$flags,0)|0);
+ $rc = $7;
+ $8 = $rc;
+ $9 = ($8|0)!=(0);
+ if (!($9)) {
+ label = 3;
+ }
+ } else {
+ label = 3;
+ }
+ do {
+ if ((label|0) == 3) {
+ $10 = HEAP32[$flags>>2]|0;
+ $11 = $10 & 512;
+ $12 = ($11|0)!=(0);
+ $13 = $1;
+ if ($12) {
+ $14 = ((($sk)) + 8|0);
+ $15 = ((($sk)) + 12|0);
+ $16 = ((($sk)) + 16|0);
+ $17 = ((($sk)) + 32|0);
+ $18 = ((($sk)) + 36|0);
+ $19 = ((($sk)) + 56|0);
+ HEAP32[$vararg_buffer>>2] = $14;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $15;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $16;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $mpi_g;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $17;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $18;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $mpi_q;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $19;
+ $vararg_ptr8 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr8>>2] = 0;
+ $20 = (__gcry_sexp_extract_param($13,0,48163,$vararg_buffer)|0);
+ $rc = $20;
+ } else {
+ $21 = ((($sk)) + 56|0);
+ HEAP32[$vararg_buffer9>>2] = $mpi_q;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = $21;
+ $vararg_ptr13 = ((($vararg_buffer9)) + 8|0);
+ HEAP32[$vararg_ptr13>>2] = 0;
+ $22 = (__gcry_sexp_extract_param($13,0,48182,$vararg_buffer9)|0);
+ $rc = $22;
+ }
+ $23 = $rc;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ $25 = $l1;
+ __gcry_sexp_release($25);
+ $26 = $1;
+ $27 = (__gcry_sexp_find_token($26,47184,5)|0);
+ $l1 = $27;
+ $28 = $l1;
+ $29 = ($28|0)!=(0|0);
+ if ($29) {
+ $30 = $l1;
+ $31 = (__gcry_sexp_nth_string($30,1)|0);
+ $curvename = $31;
+ $32 = $curvename;
+ $33 = ($32|0)!=(0|0);
+ if ($33) {
+ $34 = $curvename;
+ $35 = ((($sk)) + 4|0);
+ $36 = ((($sk)) + 8|0);
+ $37 = ((($sk)) + 12|0);
+ $38 = ((($sk)) + 16|0);
+ $39 = ((($sk)) + 32|0);
+ $40 = ((($sk)) + 36|0);
+ $41 = (__gcry_ecc_update_curve_param($34,$sk,$35,$36,$37,$38,$mpi_g,$39,$40)|0);
+ $rc = $41;
+ $42 = $rc;
+ $43 = ($42|0)!=(0);
+ if ($43) {
+ $44 = $rc;
+ $0 = $44;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+ }
+ }
+ }
+ $45 = HEAP32[$mpi_g>>2]|0;
+ $46 = ($45|0)!=(0|0);
+ if ($46) {
+ $47 = ((($sk)) + 20|0);
+ __gcry_mpi_point_init($47);
+ $48 = ((($sk)) + 20|0);
+ $49 = HEAP32[$mpi_g>>2]|0;
+ $50 = (__gcry_ecc_os2ec($48,$49)|0);
+ $rc = $50;
+ $51 = $rc;
+ $52 = ($51|0)!=(0);
+ if ($52) {
+ break;
+ }
+ }
+ $53 = $curvename;
+ $54 = ($53|0)!=(0|0);
+ if (!($54)) {
+ $55 = HEAP32[$flags>>2]|0;
+ $56 = $55 & 4096;
+ $57 = ($56|0)!=(0);
+ $58 = $57 ? 2 : 0;
+ HEAP32[$sk>>2] = $58;
+ $59 = HEAP32[$flags>>2]|0;
+ $60 = $59 & 4096;
+ $61 = ($60|0)!=(0);
+ $62 = $61 ? 1 : 0;
+ $63 = ((($sk)) + 4|0);
+ HEAP32[$63>>2] = $62;
+ }
+ $64 = (__gcry_get_debug_flag(1)|0);
+ $65 = ($64|0)!=(0);
+ if ($65) {
+ $66 = HEAP32[$sk>>2]|0;
+ $67 = (__gcry_ecc_model2str($66)|0);
+ $68 = ((($sk)) + 4|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = (__gcry_ecc_dialect2str($69)|0);
+ HEAP32[$vararg_buffer14>>2] = $67;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = $70;
+ __gcry_log_debug(48188,$vararg_buffer14);
+ $71 = ((($sk)) + 40|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ($72|0)!=(0|0);
+ if ($73) {
+ $74 = ((($sk)) + 40|0);
+ $75 = HEAP32[$74>>2]|0;
+ HEAP32[$vararg_buffer18>>2] = $75;
+ __gcry_log_debug(48212,$vararg_buffer18);
+ }
+ $76 = ((($sk)) + 8|0);
+ $77 = HEAP32[$76>>2]|0;
+ __gcry_log_printmpi(48233,$77);
+ $78 = ((($sk)) + 12|0);
+ $79 = HEAP32[$78>>2]|0;
+ __gcry_log_printmpi(48249,$79);
+ $80 = ((($sk)) + 16|0);
+ $81 = HEAP32[$80>>2]|0;
+ __gcry_log_printmpi(48265,$81);
+ $82 = ((($sk)) + 20|0);
+ __gcry_mpi_point_log(48281,$82,0);
+ $83 = ((($sk)) + 32|0);
+ $84 = HEAP32[$83>>2]|0;
+ __gcry_log_printmpi(48295,$84);
+ $85 = ((($sk)) + 36|0);
+ $86 = HEAP32[$85>>2]|0;
+ __gcry_log_printmpi(48311,$86);
+ $87 = HEAP32[$mpi_q>>2]|0;
+ __gcry_log_printmpi(48327,$87);
+ $88 = (__gcry_fips_mode()|0);
+ $89 = ($88|0)!=(0);
+ if (!($89)) {
+ $90 = ((($sk)) + 56|0);
+ $91 = HEAP32[$90>>2]|0;
+ __gcry_log_printmpi(48343,$91);
+ }
+ }
+ $92 = ((($sk)) + 8|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ($93|0)!=(0|0);
+ if ($94) {
+ $95 = ((($sk)) + 12|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = ($96|0)!=(0|0);
+ if ($97) {
+ $98 = ((($sk)) + 16|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)!=(0|0);
+ if ($100) {
+ $101 = ((($sk)) + 20|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = ($102|0)!=(0|0);
+ if ($103) {
+ $104 = ((($sk)) + 32|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ($105|0)!=(0|0);
+ if ($106) {
+ $107 = ((($sk)) + 36|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ($108|0)!=(0|0);
+ if ($109) {
+ $110 = ((($sk)) + 56|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = ($111|0)!=(0|0);
+ if ($112) {
+ $113 = HEAP32[$sk>>2]|0;
+ $114 = ((($sk)) + 4|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = ((($sk)) + 8|0);
+ $117 = HEAP32[$116>>2]|0;
+ $118 = ((($sk)) + 12|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = ((($sk)) + 16|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = (__gcry_mpi_ec_p_internal_new($113,$115,0,$117,$119,$121)|0);
+ $ec = $122;
+ $123 = HEAP32[$mpi_q>>2]|0;
+ $124 = ($123|0)!=(0|0);
+ if (!($124)) {
+ $rc = 68;
+ break;
+ }
+ $125 = ((($sk)) + 44|0);
+ __gcry_mpi_point_init($125);
+ $126 = $ec;
+ $127 = ((($126)) + 4|0);
+ $128 = HEAP32[$127>>2]|0;
+ $129 = ($128|0)==(1);
+ if ($129) {
+ $130 = HEAP32[$mpi_q>>2]|0;
+ $131 = $ec;
+ $132 = ((($sk)) + 44|0);
+ $133 = (__gcry_ecc_eddsa_decodepoint($130,$131,$132,0,0)|0);
+ $rc = $133;
+ } else {
+ $134 = ((($sk)) + 44|0);
+ $135 = HEAP32[$mpi_q>>2]|0;
+ $136 = (__gcry_ecc_os2ec($134,$135)|0);
+ $rc = $136;
+ }
+ $137 = $rc;
+ $138 = ($137|0)!=(0);
+ if ($138) {
+ break;
+ }
+ $139 = $ec;
+ $140 = HEAP32[$flags>>2]|0;
+ $141 = (_check_secret_key_1991($sk,$139,$140)|0);
+ $142 = ($141|0)!=(0);
+ if (!($142)) {
+ break;
+ }
+ $rc = 7;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ $rc = 68;
+ }
+ }
+ } while(0);
+ $143 = $ec;
+ __gcry_mpi_ec_free($143);
+ $144 = ((($sk)) + 8|0);
+ $145 = HEAP32[$144>>2]|0;
+ __gcry_mpi_release($145);
+ $146 = ((($sk)) + 12|0);
+ $147 = HEAP32[$146>>2]|0;
+ __gcry_mpi_release($147);
+ $148 = ((($sk)) + 16|0);
+ $149 = HEAP32[$148>>2]|0;
+ __gcry_mpi_release($149);
+ $150 = HEAP32[$mpi_g>>2]|0;
+ __gcry_mpi_release($150);
+ $151 = ((($sk)) + 20|0);
+ __gcry_mpi_point_free_parts($151);
+ $152 = ((($sk)) + 32|0);
+ $153 = HEAP32[$152>>2]|0;
+ __gcry_mpi_release($153);
+ $154 = ((($sk)) + 36|0);
+ $155 = HEAP32[$154>>2]|0;
+ __gcry_mpi_release($155);
+ $156 = HEAP32[$mpi_q>>2]|0;
+ __gcry_mpi_release($156);
+ $157 = ((($sk)) + 44|0);
+ __gcry_mpi_point_free_parts($157);
+ $158 = ((($sk)) + 56|0);
+ $159 = HEAP32[$158>>2]|0;
+ __gcry_mpi_release($159);
+ $160 = $curvename;
+ __gcry_free($160);
+ $161 = $l1;
+ __gcry_sexp_release($161);
+ $162 = (__gcry_get_debug_flag(1)|0);
+ $163 = ($162|0)!=(0);
+ if ($163) {
+ $164 = $rc;
+ $165 = (_gpg_strerror($164)|0);
+ HEAP32[$vararg_buffer21>>2] = $165;
+ __gcry_log_debug(48646,$vararg_buffer21);
+ }
+ $166 = $rc;
+ $0 = $166;
+ $167 = $0;
+ STACKTOP = sp;return ($167|0);
+}
+function _check_secret_key_1991($sk,$ec,$flags) {
+ $sk = $sk|0;
+ $ec = $ec|0;
+ $flags = $flags|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
+ var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
+ var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Q = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
+ var $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $x1 = 0, $x2 = 0, $y1 = 0, $y2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer15 = sp + 64|0;
+ $vararg_buffer13 = sp + 56|0;
+ $vararg_buffer11 = sp + 48|0;
+ $vararg_buffer9 = sp + 40|0;
+ $vararg_buffer7 = sp + 32|0;
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $Q = sp + 84|0;
+ $0 = $sk;
+ $1 = $ec;
+ $2 = $flags;
+ $rc = 1;
+ $x2 = 0;
+ $y2 = 0;
+ __gcry_mpi_point_init($Q);
+ $3 = (__gcry_mpi_new(0)|0);
+ $x1 = $3;
+ $4 = $1;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(1);
+ if ($6) {
+ $y1 = 0;
+ } else {
+ $7 = (__gcry_mpi_new(0)|0);
+ $y1 = $7;
+ }
+ $8 = $0;
+ $9 = ((($8)) + 20|0);
+ $10 = $1;
+ $11 = (__gcry_mpi_ec_curve_point($9,$10)|0);
+ $12 = ($11|0)!=(0);
+ L5: do {
+ if ($12) {
+ $15 = $0;
+ $16 = ((($15)) + 20|0);
+ $17 = ((($16)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (__gcry_mpi_cmp_ui($18,0)|0);
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ $21 = (__gcry_get_debug_flag(1)|0);
+ $22 = ($21|0)!=(0);
+ if (!($22)) {
+ break;
+ }
+ __gcry_log_debug(48411,$vararg_buffer1);
+ break;
+ }
+ $23 = $0;
+ $24 = ((($23)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = ($25|0)!=(1);
+ if ($26) {
+ $27 = $0;
+ $28 = ((($27)) + 32|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = $0;
+ $31 = ((($30)) + 20|0);
+ $32 = $1;
+ __gcry_mpi_ec_mul_point($Q,$29,$31,$32);
+ $33 = ((($Q)) + 8|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (__gcry_mpi_cmp_ui($34,0)|0);
+ $36 = ($35|0)!=(0);
+ if ($36) {
+ $37 = (__gcry_get_debug_flag(1)|0);
+ $38 = ($37|0)!=(0);
+ if (!($38)) {
+ break;
+ }
+ __gcry_log_debug(48456,$vararg_buffer3);
+ break;
+ }
+ }
+ $39 = $0;
+ $40 = ((($39)) + 44|0);
+ $41 = ((($40)) + 8|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (__gcry_mpi_cmp_ui($42,0)|0);
+ $44 = ($43|0)!=(0);
+ if (!($44)) {
+ $45 = (__gcry_get_debug_flag(1)|0);
+ $46 = ($45|0)!=(0);
+ if (!($46)) {
+ break;
+ }
+ __gcry_log_debug(48503,$vararg_buffer5);
+ break;
+ }
+ $47 = $1;
+ $48 = $0;
+ $49 = ((($48)) + 20|0);
+ $50 = $0;
+ $51 = ((($50)) + 56|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (__gcry_ecc_compute_public($Q,$47,$49,$52)|0);
+ $54 = ($53|0)!=(0|0);
+ if (!($54)) {
+ $55 = (__gcry_get_debug_flag(1)|0);
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ break;
+ }
+ __gcry_log_debug(48549,$vararg_buffer7);
+ break;
+ }
+ $57 = $x1;
+ $58 = $y1;
+ $59 = $1;
+ $60 = (__gcry_mpi_ec_get_affine($57,$58,$Q,$59)|0);
+ $61 = ($60|0)!=(0);
+ if ($61) {
+ $62 = (__gcry_get_debug_flag(1)|0);
+ $63 = ($62|0)!=(0);
+ if (!($63)) {
+ break;
+ }
+ __gcry_log_debug(48503,$vararg_buffer9);
+ break;
+ }
+ $64 = $2;
+ $65 = $64 & 4096;
+ $66 = ($65|0)!=(0);
+ do {
+ if (!($66)) {
+ $67 = $0;
+ $68 = ((($67)) + 44|0);
+ $69 = ((($68)) + 8|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (__gcry_mpi_cmp_ui($70,1)|0);
+ $72 = ($71|0)!=(0);
+ if (!($72)) {
+ $73 = $x1;
+ $74 = $0;
+ $75 = ((($74)) + 44|0);
+ $76 = HEAP32[$75>>2]|0;
+ $77 = (__gcry_mpi_cmp($73,$76)|0);
+ $78 = ($77|0)!=(0);
+ if (!($78)) {
+ $79 = $y1;
+ $80 = ($79|0)!=(0|0);
+ if ($80) {
+ break;
+ }
+ $81 = $y1;
+ $82 = $0;
+ $83 = ((($82)) + 44|0);
+ $84 = ((($83)) + 4|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = (__gcry_mpi_cmp($81,$85)|0);
+ $87 = ($86|0)!=(0);
+ if (!($87)) {
+ break;
+ }
+ }
+ $88 = (__gcry_get_debug_flag(1)|0);
+ $89 = ($88|0)!=(0);
+ if (!($89)) {
+ break L5;
+ }
+ __gcry_log_debug(48586,$vararg_buffer11);
+ break L5;
+ }
+ $90 = (__gcry_mpi_new(0)|0);
+ $x2 = $90;
+ $91 = (__gcry_mpi_new(0)|0);
+ $y2 = $91;
+ $92 = $x2;
+ $93 = $y2;
+ $94 = $0;
+ $95 = ((($94)) + 44|0);
+ $96 = $1;
+ $97 = (__gcry_mpi_ec_get_affine($92,$93,$95,$96)|0);
+ $98 = ($97|0)!=(0);
+ if ($98) {
+ $99 = (__gcry_get_debug_flag(1)|0);
+ $100 = ($99|0)!=(0);
+ if (!($100)) {
+ break L5;
+ }
+ __gcry_log_debug(48503,$vararg_buffer13);
+ break L5;
+ }
+ $101 = $x1;
+ $102 = $x2;
+ $103 = (__gcry_mpi_cmp($101,$102)|0);
+ $104 = ($103|0)!=(0);
+ if (!($104)) {
+ $105 = $y1;
+ $106 = $y2;
+ $107 = (__gcry_mpi_cmp($105,$106)|0);
+ $108 = ($107|0)!=(0);
+ if (!($108)) {
+ break;
+ }
+ }
+ $109 = (__gcry_get_debug_flag(1)|0);
+ $110 = ($109|0)!=(0);
+ if (!($110)) {
+ break L5;
+ }
+ __gcry_log_debug(48586,$vararg_buffer15);
+ break L5;
+ }
+ } while(0);
+ $rc = 0;
+ } else {
+ $13 = (__gcry_get_debug_flag(1)|0);
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ __gcry_log_debug(48359,$vararg_buffer);
+ }
+ }
+ } while(0);
+ $111 = $x2;
+ __gcry_mpi_free($111);
+ $112 = $x1;
+ __gcry_mpi_free($112);
+ $113 = $y1;
+ __gcry_mpi_free($113);
+ $114 = $y2;
+ __gcry_mpi_free($114);
+ __gcry_mpi_point_free_parts($Q);
+ $115 = $rc;
+ STACKTOP = sp;return ($115|0);
+}
+function _ecc_encrypt_raw($r_ciph,$s_data,$keyparms) {
+ $r_ciph = $r_ciph|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R = 0, $ctx = 0, $curvename = 0, $data = 0, $ec = 0;
+ var $l1 = 0, $mpi_e = 0, $mpi_g = 0, $mpi_q = 0, $mpi_s = 0, $or$cond = 0, $pk = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer24 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr2 = 0, $vararg_ptr23 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $x = 0, $y = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer24 = sp + 72|0;
+ $vararg_buffer20 = sp + 64|0;
+ $vararg_buffer18 = sp + 56|0;
+ $vararg_buffer16 = sp + 48|0;
+ $vararg_buffer13 = sp + 40|0;
+ $vararg_buffer9 = sp + 32|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 192|0;
+ $mpi_g = sp + 176|0;
+ $mpi_q = sp + 172|0;
+ $data = sp + 160|0;
+ $pk = sp + 104|0;
+ $R = sp + 84|0;
+ $1 = $r_ciph;
+ $2 = $s_data;
+ $3 = $keyparms;
+ $l1 = 0;
+ $curvename = 0;
+ HEAP32[$mpi_g>>2] = 0;
+ HEAP32[$mpi_q>>2] = 0;
+ $mpi_s = 0;
+ $mpi_e = 0;
+ HEAP32[$data>>2] = 0;
+ $ec = 0;
+ dest=$pk; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $4 = $3;
+ $5 = (_ecc_get_nbits($4)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,0,$5);
+ $6 = $2;
+ $7 = (__gcry_pk_util_data_to_mpi($6,$data,$ctx)|0);
+ $rc = $7;
+ $8 = $rc;
+ $9 = ($8|0)!=(0);
+ do {
+ if (!($9)) {
+ $10 = (__gcry_get_debug_flag(1)|0);
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ $12 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(48669,$12);
+ }
+ $13 = HEAP32[$data>>2]|0;
+ $14 = ($13|0)!=(0|0);
+ if ($14) {
+ $15 = HEAP32[$data>>2]|0;
+ $16 = ((($15)) + 12|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = $17 & 4;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $rc = 79;
+ break;
+ }
+ }
+ $20 = $3;
+ $21 = ((($pk)) + 8|0);
+ $22 = ((($pk)) + 12|0);
+ $23 = ((($pk)) + 16|0);
+ $24 = ((($pk)) + 32|0);
+ $25 = ((($pk)) + 36|0);
+ HEAP32[$vararg_buffer>>2] = $21;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $22;
+ $vararg_ptr3 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr3>>2] = $23;
+ $vararg_ptr4 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr4>>2] = $mpi_g;
+ $vararg_ptr5 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr5>>2] = $24;
+ $vararg_ptr6 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr6>>2] = $25;
+ $vararg_ptr7 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr7>>2] = $mpi_q;
+ $vararg_ptr8 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr8>>2] = 0;
+ $26 = (__gcry_sexp_extract_param($20,0,48686,$vararg_buffer)|0);
+ $rc = $26;
+ $27 = $rc;
+ $28 = ($27|0)!=(0);
+ if (!($28)) {
+ $29 = HEAP32[$mpi_g>>2]|0;
+ $30 = ($29|0)!=(0|0);
+ if ($30) {
+ $31 = ((($pk)) + 20|0);
+ __gcry_mpi_point_init($31);
+ $32 = ((($pk)) + 20|0);
+ $33 = HEAP32[$mpi_g>>2]|0;
+ $34 = (__gcry_ecc_os2ec($32,$33)|0);
+ $rc = $34;
+ $35 = $rc;
+ $36 = ($35|0)!=(0);
+ if ($36) {
+ break;
+ }
+ }
+ $37 = $l1;
+ __gcry_sexp_release($37);
+ $38 = $3;
+ $39 = (__gcry_sexp_find_token($38,47184,5)|0);
+ $l1 = $39;
+ $40 = $l1;
+ $41 = ($40|0)!=(0|0);
+ if ($41) {
+ $42 = $l1;
+ $43 = (__gcry_sexp_nth_string($42,1)|0);
+ $curvename = $43;
+ $44 = $curvename;
+ $45 = ($44|0)!=(0|0);
+ if ($45) {
+ $46 = $curvename;
+ $47 = (__gcry_ecc_fill_in_curve(0,$46,$pk,0)|0);
+ $rc = $47;
+ $48 = $rc;
+ $49 = ($48|0)!=(0);
+ if ($49) {
+ $50 = $rc;
+ $0 = $50;
+ $174 = $0;
+ STACKTOP = sp;return ($174|0);
+ }
+ }
+ }
+ $51 = $curvename;
+ $52 = ($51|0)!=(0|0);
+ if (!($52)) {
+ HEAP32[$pk>>2] = 0;
+ $53 = ((($pk)) + 4|0);
+ HEAP32[$53>>2] = 0;
+ }
+ $54 = (__gcry_get_debug_flag(1)|0);
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ $56 = HEAP32[$pk>>2]|0;
+ $57 = (__gcry_ecc_model2str($56)|0);
+ $58 = ((($pk)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = (__gcry_ecc_dialect2str($59)|0);
+ HEAP32[$vararg_buffer9>>2] = $57;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = $60;
+ __gcry_log_debug(48702,$vararg_buffer9);
+ $61 = ((($pk)) + 40|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = ($62|0)!=(0|0);
+ if ($63) {
+ $64 = ((($pk)) + 40|0);
+ $65 = HEAP32[$64>>2]|0;
+ HEAP32[$vararg_buffer13>>2] = $65;
+ __gcry_log_debug(48727,$vararg_buffer13);
+ }
+ $66 = ((($pk)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ __gcry_log_printmpi(48749,$67);
+ $68 = ((($pk)) + 12|0);
+ $69 = HEAP32[$68>>2]|0;
+ __gcry_log_printmpi(48766,$69);
+ $70 = ((($pk)) + 16|0);
+ $71 = HEAP32[$70>>2]|0;
+ __gcry_log_printmpi(48783,$71);
+ $72 = ((($pk)) + 20|0);
+ __gcry_mpi_point_log(48800,$72,0);
+ $73 = ((($pk)) + 32|0);
+ $74 = HEAP32[$73>>2]|0;
+ __gcry_log_printmpi(48815,$74);
+ $75 = ((($pk)) + 36|0);
+ $76 = HEAP32[$75>>2]|0;
+ __gcry_log_printmpi(48832,$76);
+ $77 = HEAP32[$mpi_q>>2]|0;
+ __gcry_log_printmpi(48849,$77);
+ }
+ $78 = ((($pk)) + 8|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($79|0)!=(0|0);
+ if ($80) {
+ $81 = ((($pk)) + 12|0);
+ $82 = HEAP32[$81>>2]|0;
+ $83 = ($82|0)!=(0|0);
+ if ($83) {
+ $84 = ((($pk)) + 16|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = ($85|0)!=(0|0);
+ if ($86) {
+ $87 = ((($pk)) + 20|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = ($88|0)!=(0|0);
+ if ($89) {
+ $90 = ((($pk)) + 32|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ($91|0)!=(0|0);
+ if ($92) {
+ $93 = ((($pk)) + 36|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = ($94|0)!=(0|0);
+ $96 = HEAP32[$mpi_q>>2]|0;
+ $97 = ($96|0)!=(0|0);
+ $or$cond = $95 & $97;
+ if ($or$cond) {
+ $98 = HEAP32[$mpi_q>>2]|0;
+ $99 = ($98|0)!=(0|0);
+ if ($99) {
+ $100 = ((($pk)) + 44|0);
+ __gcry_mpi_point_init($100);
+ $101 = ((($pk)) + 44|0);
+ $102 = HEAP32[$mpi_q>>2]|0;
+ $103 = (__gcry_ecc_os2ec($101,$102)|0);
+ $rc = $103;
+ $104 = $rc;
+ $105 = ($104|0)!=(0);
+ if ($105) {
+ break;
+ }
+ }
+ $106 = HEAP32[$pk>>2]|0;
+ $107 = ((($pk)) + 4|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ((($pk)) + 8|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = ((($pk)) + 12|0);
+ $112 = HEAP32[$111>>2]|0;
+ $113 = ((($pk)) + 16|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = (__gcry_mpi_ec_p_internal_new($106,$108,0,$110,$112,$114)|0);
+ $ec = $115;
+ $116 = (__gcry_mpi_new(0)|0);
+ $x = $116;
+ $117 = (__gcry_mpi_new(0)|0);
+ $y = $117;
+ __gcry_mpi_point_init($R);
+ $118 = HEAP32[$data>>2]|0;
+ $119 = ((($pk)) + 44|0);
+ $120 = $ec;
+ __gcry_mpi_ec_mul_point($R,$118,$119,$120);
+ $121 = $x;
+ $122 = $y;
+ $123 = $ec;
+ $124 = (__gcry_mpi_ec_get_affine($121,$122,$R,$123)|0);
+ $125 = ($124|0)!=(0);
+ if ($125) {
+ __gcry_log_fatal(48866,$vararg_buffer16);
+ // unreachable;
+ }
+ $126 = $x;
+ $127 = $y;
+ $128 = ((($pk)) + 8|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = (__gcry_ecc_ec2os($126,$127,$129)|0);
+ $mpi_s = $130;
+ $131 = HEAP32[$data>>2]|0;
+ $132 = ((($pk)) + 20|0);
+ $133 = $ec;
+ __gcry_mpi_ec_mul_point($R,$131,$132,$133);
+ $134 = $x;
+ $135 = $y;
+ $136 = $ec;
+ $137 = (__gcry_mpi_ec_get_affine($134,$135,$R,$136)|0);
+ $138 = ($137|0)!=(0);
+ if ($138) {
+ __gcry_log_fatal(48914,$vararg_buffer18);
+ // unreachable;
+ } else {
+ $139 = $x;
+ $140 = $y;
+ $141 = ((($pk)) + 8|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = (__gcry_ecc_ec2os($139,$140,$142)|0);
+ $mpi_e = $143;
+ $144 = $x;
+ __gcry_mpi_free($144);
+ $145 = $y;
+ __gcry_mpi_free($145);
+ __gcry_mpi_point_free_parts($R);
+ $146 = $1;
+ $147 = $mpi_s;
+ $148 = $mpi_e;
+ HEAP32[$vararg_buffer20>>2] = $147;
+ $vararg_ptr23 = ((($vararg_buffer20)) + 4|0);
+ HEAP32[$vararg_ptr23>>2] = $148;
+ $149 = (__gcry_sexp_build($146,0,48961,$vararg_buffer20)|0);
+ $rc = $149;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ $rc = 68;
+ }
+ }
+ } while(0);
+ $150 = ((($pk)) + 8|0);
+ $151 = HEAP32[$150>>2]|0;
+ __gcry_mpi_release($151);
+ $152 = ((($pk)) + 12|0);
+ $153 = HEAP32[$152>>2]|0;
+ __gcry_mpi_release($153);
+ $154 = ((($pk)) + 16|0);
+ $155 = HEAP32[$154>>2]|0;
+ __gcry_mpi_release($155);
+ $156 = HEAP32[$mpi_g>>2]|0;
+ __gcry_mpi_release($156);
+ $157 = ((($pk)) + 20|0);
+ __gcry_mpi_point_free_parts($157);
+ $158 = ((($pk)) + 32|0);
+ $159 = HEAP32[$158>>2]|0;
+ __gcry_mpi_release($159);
+ $160 = ((($pk)) + 36|0);
+ $161 = HEAP32[$160>>2]|0;
+ __gcry_mpi_release($161);
+ $162 = HEAP32[$mpi_q>>2]|0;
+ __gcry_mpi_release($162);
+ $163 = ((($pk)) + 44|0);
+ __gcry_mpi_point_free_parts($163);
+ $164 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($164);
+ $165 = $mpi_s;
+ __gcry_mpi_release($165);
+ $166 = $mpi_e;
+ __gcry_mpi_release($166);
+ $167 = $curvename;
+ __gcry_free($167);
+ $168 = $ec;
+ __gcry_mpi_ec_free($168);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $169 = (__gcry_get_debug_flag(1)|0);
+ $170 = ($169|0)!=(0);
+ if ($170) {
+ $171 = $rc;
+ $172 = (_gpg_strerror($171)|0);
+ HEAP32[$vararg_buffer24>>2] = $172;
+ __gcry_log_debug(48987,$vararg_buffer24);
+ }
+ $173 = $rc;
+ $0 = $173;
+ $174 = $0;
+ STACKTOP = sp;return ($174|0);
+}
+function _ecc_get_nbits($parms) {
+ $parms = $parms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $curve = 0, $l1 = 0, $nbits = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nbits = sp + 4|0;
+ $1 = $parms;
+ HEAP32[$nbits>>2] = 0;
+ $2 = $1;
+ $3 = (__gcry_sexp_find_token($2,48667,1)|0);
+ $l1 = $3;
+ $4 = $l1;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $19 = $l1;
+ $20 = (__gcry_sexp_nth_mpi($19,1,5)|0);
+ $p = $20;
+ $21 = $l1;
+ __gcry_sexp_release($21);
+ $22 = $p;
+ $23 = ($22|0)!=(0|0);
+ if ($23) {
+ $24 = $p;
+ $25 = (__gcry_mpi_get_nbits($24)|0);
+ HEAP32[$nbits>>2] = $25;
+ $26 = $p;
+ __gcry_mpi_release($26);
+ }
+ } else {
+ $6 = $1;
+ $7 = (__gcry_sexp_find_token($6,47184,5)|0);
+ $l1 = $7;
+ $8 = $l1;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ $0 = 0;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ $10 = $l1;
+ $11 = (__gcry_sexp_nth_string($10,1)|0);
+ $curve = $11;
+ $12 = $l1;
+ __gcry_sexp_release($12);
+ $13 = $curve;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ $0 = 0;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+ }
+ $15 = $curve;
+ $16 = (__gcry_ecc_fill_in_curve(0,$15,0,$nbits)|0);
+ $17 = ($16|0)!=(0);
+ if ($17) {
+ HEAP32[$nbits>>2] = 0;
+ }
+ $18 = $curve;
+ __gcry_free($18);
+ }
+ $27 = HEAP32[$nbits>>2]|0;
+ $0 = $27;
+ $28 = $0;
+ STACKTOP = sp;return ($28|0);
+}
+function _ecc_decrypt_raw($r_plain,$s_data,$keyparms) {
+ $r_plain = $r_plain|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R = 0, $ctx = 0, $curvename = 0, $data_e = 0, $ec = 0;
+ var $kG = 0, $l1 = 0, $mpi_g = 0, $r = 0, $rc = 0, $sk = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0;
+ var $vararg_ptr8 = 0, $vararg_ptr9 = 0, $x = 0, $y = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer24 = sp + 72|0;
+ $vararg_buffer21 = sp + 64|0;
+ $vararg_buffer19 = sp + 56|0;
+ $vararg_buffer16 = sp + 48|0;
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 192|0;
+ $l1 = sp + 188|0;
+ $data_e = sp + 184|0;
+ $sk = sp + 124|0;
+ $mpi_g = sp + 120|0;
+ $kG = sp + 100|0;
+ $R = sp + 88|0;
+ $1 = $r_plain;
+ $2 = $s_data;
+ $3 = $keyparms;
+ HEAP32[$l1>>2] = 0;
+ HEAP32[$data_e>>2] = 0;
+ HEAP32[$mpi_g>>2] = 0;
+ $curvename = 0;
+ $ec = 0;
+ $r = 0;
+ dest=$sk; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ __gcry_mpi_point_init($kG);
+ __gcry_mpi_point_init($R);
+ $4 = $3;
+ $5 = (_ecc_get_nbits($4)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,1,$5);
+ $6 = $2;
+ $7 = (__gcry_pk_util_preparse_encval($6,12920,$l1,$ctx)|0);
+ $rc = $7;
+ $8 = $rc;
+ $9 = ($8|0)!=(0);
+ do {
+ if (!($9)) {
+ $10 = HEAP32[$l1>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $data_e;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $11 = (__gcry_sexp_extract_param($10,0,49009,$vararg_buffer)|0);
+ $rc = $11;
+ $12 = $rc;
+ $13 = ($12|0)!=(0);
+ if (!($13)) {
+ $14 = (__gcry_get_debug_flag(1)|0);
+ $15 = ($14|0)!=(0);
+ if ($15) {
+ $16 = HEAP32[$data_e>>2]|0;
+ __gcry_log_printmpi(49011,$16);
+ }
+ $17 = HEAP32[$data_e>>2]|0;
+ $18 = ($17|0)!=(0|0);
+ if ($18) {
+ $19 = HEAP32[$data_e>>2]|0;
+ $20 = ((($19)) + 12|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $21 & 4;
+ $23 = ($22|0)!=(0);
+ if ($23) {
+ $rc = 79;
+ break;
+ }
+ }
+ $24 = $3;
+ $25 = ((($sk)) + 8|0);
+ $26 = ((($sk)) + 12|0);
+ $27 = ((($sk)) + 16|0);
+ $28 = ((($sk)) + 32|0);
+ $29 = ((($sk)) + 36|0);
+ $30 = ((($sk)) + 56|0);
+ HEAP32[$vararg_buffer2>>2] = $25;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = $26;
+ $vararg_ptr6 = ((($vararg_buffer2)) + 8|0);
+ HEAP32[$vararg_ptr6>>2] = $27;
+ $vararg_ptr7 = ((($vararg_buffer2)) + 12|0);
+ HEAP32[$vararg_ptr7>>2] = $mpi_g;
+ $vararg_ptr8 = ((($vararg_buffer2)) + 16|0);
+ HEAP32[$vararg_ptr8>>2] = $28;
+ $vararg_ptr9 = ((($vararg_buffer2)) + 20|0);
+ HEAP32[$vararg_ptr9>>2] = $29;
+ $vararg_ptr10 = ((($vararg_buffer2)) + 24|0);
+ HEAP32[$vararg_ptr10>>2] = $30;
+ $vararg_ptr11 = ((($vararg_buffer2)) + 28|0);
+ HEAP32[$vararg_ptr11>>2] = 0;
+ $31 = (__gcry_sexp_extract_param($24,0,49028,$vararg_buffer2)|0);
+ $rc = $31;
+ $32 = $rc;
+ $33 = ($32|0)!=(0);
+ if (!($33)) {
+ $34 = HEAP32[$mpi_g>>2]|0;
+ $35 = ($34|0)!=(0|0);
+ if ($35) {
+ $36 = ((($sk)) + 20|0);
+ __gcry_mpi_point_init($36);
+ $37 = ((($sk)) + 20|0);
+ $38 = HEAP32[$mpi_g>>2]|0;
+ $39 = (__gcry_ecc_os2ec($37,$38)|0);
+ $rc = $39;
+ $40 = $rc;
+ $41 = ($40|0)!=(0);
+ if ($41) {
+ break;
+ }
+ }
+ $42 = HEAP32[$l1>>2]|0;
+ __gcry_sexp_release($42);
+ $43 = $3;
+ $44 = (__gcry_sexp_find_token($43,47184,5)|0);
+ HEAP32[$l1>>2] = $44;
+ $45 = HEAP32[$l1>>2]|0;
+ $46 = ($45|0)!=(0|0);
+ if ($46) {
+ $47 = HEAP32[$l1>>2]|0;
+ $48 = (__gcry_sexp_nth_string($47,1)|0);
+ $curvename = $48;
+ $49 = $curvename;
+ $50 = ($49|0)!=(0|0);
+ if ($50) {
+ $51 = $curvename;
+ $52 = (__gcry_ecc_fill_in_curve(0,$51,$sk,0)|0);
+ $rc = $52;
+ $53 = $rc;
+ $54 = ($53|0)!=(0);
+ if ($54) {
+ $55 = $rc;
+ $0 = $55;
+ $174 = $0;
+ STACKTOP = sp;return ($174|0);
+ }
+ }
+ }
+ $56 = $curvename;
+ $57 = ($56|0)!=(0|0);
+ if (!($57)) {
+ HEAP32[$sk>>2] = 0;
+ $58 = ((($sk)) + 4|0);
+ HEAP32[$58>>2] = 0;
+ }
+ $59 = (__gcry_get_debug_flag(1)|0);
+ $60 = ($59|0)!=(0);
+ if ($60) {
+ $61 = HEAP32[$sk>>2]|0;
+ $62 = (__gcry_ecc_model2str($61)|0);
+ $63 = ((($sk)) + 4|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (__gcry_ecc_dialect2str($64)|0);
+ HEAP32[$vararg_buffer12>>2] = $62;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = $65;
+ __gcry_log_debug(49044,$vararg_buffer12);
+ $66 = ((($sk)) + 40|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = ($67|0)!=(0|0);
+ if ($68) {
+ $69 = ((($sk)) + 40|0);
+ $70 = HEAP32[$69>>2]|0;
+ HEAP32[$vararg_buffer16>>2] = $70;
+ __gcry_log_debug(49069,$vararg_buffer16);
+ }
+ $71 = ((($sk)) + 8|0);
+ $72 = HEAP32[$71>>2]|0;
+ __gcry_log_printmpi(49091,$72);
+ $73 = ((($sk)) + 12|0);
+ $74 = HEAP32[$73>>2]|0;
+ __gcry_log_printmpi(49108,$74);
+ $75 = ((($sk)) + 16|0);
+ $76 = HEAP32[$75>>2]|0;
+ __gcry_log_printmpi(49125,$76);
+ $77 = ((($sk)) + 20|0);
+ __gcry_mpi_point_log(49142,$77,0);
+ $78 = ((($sk)) + 32|0);
+ $79 = HEAP32[$78>>2]|0;
+ __gcry_log_printmpi(49157,$79);
+ $80 = ((($sk)) + 36|0);
+ $81 = HEAP32[$80>>2]|0;
+ __gcry_log_printmpi(49174,$81);
+ $82 = (__gcry_fips_mode()|0);
+ $83 = ($82|0)!=(0);
+ if (!($83)) {
+ $84 = ((($sk)) + 56|0);
+ $85 = HEAP32[$84>>2]|0;
+ __gcry_log_printmpi(49191,$85);
+ }
+ }
+ $86 = ((($sk)) + 8|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = ($87|0)!=(0|0);
+ if ($88) {
+ $89 = ((($sk)) + 12|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = ($90|0)!=(0|0);
+ if ($91) {
+ $92 = ((($sk)) + 16|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ($93|0)!=(0|0);
+ if ($94) {
+ $95 = ((($sk)) + 20|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = ($96|0)!=(0|0);
+ if ($97) {
+ $98 = ((($sk)) + 32|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)!=(0|0);
+ if ($100) {
+ $101 = ((($sk)) + 36|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = ($102|0)!=(0|0);
+ if ($103) {
+ $104 = ((($sk)) + 56|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ($105|0)!=(0|0);
+ if ($106) {
+ $107 = HEAP32[$data_e>>2]|0;
+ $108 = (__gcry_ecc_os2ec($kG,$107)|0);
+ $rc = $108;
+ $109 = $rc;
+ $110 = ($109|0)!=(0);
+ if ($110) {
+ __gcry_mpi_point_free_parts($kG);
+ $111 = $rc;
+ $0 = $111;
+ $174 = $0;
+ STACKTOP = sp;return ($174|0);
+ }
+ $112 = HEAP32[$sk>>2]|0;
+ $113 = ((($sk)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ((($sk)) + 8|0);
+ $116 = HEAP32[$115>>2]|0;
+ $117 = ((($sk)) + 12|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = ((($sk)) + 16|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = (__gcry_mpi_ec_p_internal_new($112,$114,0,$116,$118,$120)|0);
+ $ec = $121;
+ $122 = ((($sk)) + 56|0);
+ $123 = HEAP32[$122>>2]|0;
+ $124 = $ec;
+ __gcry_mpi_ec_mul_point($R,$123,$kG,$124);
+ $125 = (__gcry_mpi_new(0)|0);
+ $x = $125;
+ $126 = (__gcry_mpi_new(0)|0);
+ $y = $126;
+ $127 = $x;
+ $128 = $y;
+ $129 = $ec;
+ $130 = (__gcry_mpi_ec_get_affine($127,$128,$R,$129)|0);
+ $131 = ($130|0)!=(0);
+ if ($131) {
+ __gcry_log_fatal(49208,$vararg_buffer19);
+ // unreachable;
+ }
+ $132 = $x;
+ $133 = $y;
+ $134 = ((($sk)) + 8|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = (__gcry_ecc_ec2os($132,$133,$135)|0);
+ $r = $136;
+ $137 = $r;
+ $138 = ($137|0)!=(0|0);
+ if ($138) {
+ $rc = 0;
+ } else {
+ $139 = (_gpg_err_code_from_syserror()|0);
+ $rc = $139;
+ }
+ $140 = $x;
+ __gcry_mpi_free($140);
+ $141 = $y;
+ __gcry_mpi_free($141);
+ $142 = (__gcry_get_debug_flag(1)|0);
+ $143 = ($142|0)!=(0);
+ if ($143) {
+ $144 = $r;
+ __gcry_log_printmpi(49248,$144);
+ }
+ $145 = $rc;
+ $146 = ($145|0)!=(0);
+ if ($146) {
+ break;
+ }
+ $147 = $1;
+ $148 = $r;
+ HEAP32[$vararg_buffer21>>2] = $148;
+ $149 = (__gcry_sexp_build($147,0,49265,$vararg_buffer21)|0);
+ $rc = $149;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ $rc = 68;
+ }
+ }
+ }
+ } while(0);
+ __gcry_mpi_point_free_parts($R);
+ __gcry_mpi_point_free_parts($kG);
+ $150 = $r;
+ __gcry_mpi_release($150);
+ $151 = ((($sk)) + 8|0);
+ $152 = HEAP32[$151>>2]|0;
+ __gcry_mpi_release($152);
+ $153 = ((($sk)) + 12|0);
+ $154 = HEAP32[$153>>2]|0;
+ __gcry_mpi_release($154);
+ $155 = ((($sk)) + 16|0);
+ $156 = HEAP32[$155>>2]|0;
+ __gcry_mpi_release($156);
+ $157 = HEAP32[$mpi_g>>2]|0;
+ __gcry_mpi_release($157);
+ $158 = ((($sk)) + 20|0);
+ __gcry_mpi_point_free_parts($158);
+ $159 = ((($sk)) + 32|0);
+ $160 = HEAP32[$159>>2]|0;
+ __gcry_mpi_release($160);
+ $161 = ((($sk)) + 36|0);
+ $162 = HEAP32[$161>>2]|0;
+ __gcry_mpi_release($162);
+ $163 = ((($sk)) + 56|0);
+ $164 = HEAP32[$163>>2]|0;
+ __gcry_mpi_release($164);
+ $165 = HEAP32[$data_e>>2]|0;
+ __gcry_mpi_release($165);
+ $166 = $curvename;
+ __gcry_free($166);
+ $167 = HEAP32[$l1>>2]|0;
+ __gcry_sexp_release($167);
+ $168 = $ec;
+ __gcry_mpi_ec_free($168);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $169 = (__gcry_get_debug_flag(1)|0);
+ $170 = ($169|0)!=(0);
+ if ($170) {
+ $171 = $rc;
+ $172 = (_gpg_strerror($171)|0);
+ HEAP32[$vararg_buffer24>>2] = $172;
+ __gcry_log_debug(49276,$vararg_buffer24);
+ }
+ $173 = $rc;
+ $0 = $173;
+ $174 = $0;
+ STACKTOP = sp;return ($174|0);
+}
+function _ecc_sign($r_sig,$s_data,$keyparms) {
+ $r_sig = $r_sig|0;
+ $s_data = $s_data|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $19 = 0, $2 = 0;
+ var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ctx = 0, $curvename = 0, $data = 0, $l1 = 0, $mpi_g = 0, $mpi_q = 0, $rc = 0, $sig_r = 0, $sig_s = 0, $sk = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer19 = 0;
+ var $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer34 = 0, $vararg_buffer9 = 0, $vararg_ptr1 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr2 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0, $vararg_ptr3 = 0, $vararg_ptr33 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0;
+ var dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer34 = sp + 104|0;
+ $vararg_buffer30 = sp + 96|0;
+ $vararg_buffer26 = sp + 88|0;
+ $vararg_buffer22 = sp + 80|0;
+ $vararg_buffer19 = sp + 72|0;
+ $vararg_buffer14 = sp + 56|0;
+ $vararg_buffer9 = sp + 40|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 200|0;
+ $data = sp + 192|0;
+ $mpi_g = sp + 180|0;
+ $mpi_q = sp + 176|0;
+ $sk = sp + 116|0;
+ $1 = $r_sig;
+ $2 = $s_data;
+ $3 = $keyparms;
+ HEAP32[$data>>2] = 0;
+ $l1 = 0;
+ $curvename = 0;
+ HEAP32[$mpi_g>>2] = 0;
+ HEAP32[$mpi_q>>2] = 0;
+ $sig_r = 0;
+ $sig_s = 0;
+ dest=$sk; stop=dest+60|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ __gcry_pk_util_init_encoding_ctx($ctx,2,0);
+ $4 = $2;
+ $5 = (__gcry_pk_util_data_to_mpi($4,$data,$ctx)|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ do {
+ if (!($7)) {
+ $8 = (__gcry_get_debug_flag(1)|0);
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ $10 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(49298,$10);
+ }
+ $11 = ((($ctx)) + 12|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = $12 & 512;
+ $14 = ($13|0)!=(0);
+ $15 = $3;
+ if ($14) {
+ $16 = ((($sk)) + 8|0);
+ $17 = ((($sk)) + 12|0);
+ $18 = ((($sk)) + 16|0);
+ $19 = ((($sk)) + 32|0);
+ $20 = ((($sk)) + 36|0);
+ $21 = ((($sk)) + 56|0);
+ HEAP32[$vararg_buffer>>2] = $16;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $17;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $18;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $mpi_g;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $19;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $20;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $mpi_q;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $21;
+ $vararg_ptr8 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr8>>2] = 0;
+ $22 = (__gcry_sexp_extract_param($15,0,48163,$vararg_buffer)|0);
+ $rc = $22;
+ } else {
+ $23 = ((($sk)) + 56|0);
+ HEAP32[$vararg_buffer9>>2] = $mpi_q;
+ $vararg_ptr12 = ((($vararg_buffer9)) + 4|0);
+ HEAP32[$vararg_ptr12>>2] = $23;
+ $vararg_ptr13 = ((($vararg_buffer9)) + 8|0);
+ HEAP32[$vararg_ptr13>>2] = 0;
+ $24 = (__gcry_sexp_extract_param($15,0,48182,$vararg_buffer9)|0);
+ $rc = $24;
+ }
+ $25 = $rc;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ $27 = HEAP32[$mpi_g>>2]|0;
+ $28 = ($27|0)!=(0|0);
+ if ($28) {
+ $29 = ((($sk)) + 20|0);
+ __gcry_mpi_point_init($29);
+ $30 = ((($sk)) + 20|0);
+ $31 = HEAP32[$mpi_g>>2]|0;
+ $32 = (__gcry_ecc_os2ec($30,$31)|0);
+ $rc = $32;
+ $33 = $rc;
+ $34 = ($33|0)!=(0);
+ if ($34) {
+ break;
+ }
+ }
+ $35 = $l1;
+ __gcry_sexp_release($35);
+ $36 = $3;
+ $37 = (__gcry_sexp_find_token($36,47184,5)|0);
+ $l1 = $37;
+ $38 = $l1;
+ $39 = ($38|0)!=(0|0);
+ if ($39) {
+ $40 = $l1;
+ $41 = (__gcry_sexp_nth_string($40,1)|0);
+ $curvename = $41;
+ $42 = $curvename;
+ $43 = ($42|0)!=(0|0);
+ if ($43) {
+ $44 = $curvename;
+ $45 = (__gcry_ecc_fill_in_curve(0,$44,$sk,0)|0);
+ $rc = $45;
+ $46 = $rc;
+ $47 = ($46|0)!=(0);
+ if ($47) {
+ $48 = $rc;
+ $0 = $48;
+ $186 = $0;
+ STACKTOP = sp;return ($186|0);
+ }
+ }
+ }
+ $49 = $curvename;
+ $50 = ($49|0)!=(0|0);
+ if (!($50)) {
+ $51 = ((($ctx)) + 12|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = $52 & 4096;
+ $54 = ($53|0)!=(0);
+ $55 = $54 ? 2 : 0;
+ HEAP32[$sk>>2] = $55;
+ $56 = ((($ctx)) + 12|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = $57 & 4096;
+ $59 = ($58|0)!=(0);
+ $60 = $59 ? 1 : 0;
+ $61 = ((($sk)) + 4|0);
+ HEAP32[$61>>2] = $60;
+ }
+ $62 = (__gcry_get_debug_flag(1)|0);
+ $63 = ($62|0)!=(0);
+ if ($63) {
+ $64 = HEAP32[$sk>>2]|0;
+ $65 = (__gcry_ecc_model2str($64)|0);
+ $66 = ((($sk)) + 4|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (__gcry_ecc_dialect2str($67)|0);
+ $69 = ((($ctx)) + 12|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $70 & 4096;
+ $72 = ($71|0)!=(0);
+ $73 = $72 ? 49314 : 76543;
+ HEAP32[$vararg_buffer14>>2] = $65;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = $68;
+ $vararg_ptr18 = ((($vararg_buffer14)) + 8|0);
+ HEAP32[$vararg_ptr18>>2] = $73;
+ __gcry_log_debug(49321,$vararg_buffer14);
+ $74 = ((($sk)) + 40|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($75|0)!=(0|0);
+ if ($76) {
+ $77 = ((($sk)) + 40|0);
+ $78 = HEAP32[$77>>2]|0;
+ HEAP32[$vararg_buffer19>>2] = $78;
+ __gcry_log_debug(49347,$vararg_buffer19);
+ }
+ $79 = ((($sk)) + 8|0);
+ $80 = HEAP32[$79>>2]|0;
+ __gcry_log_printmpi(49368,$80);
+ $81 = ((($sk)) + 12|0);
+ $82 = HEAP32[$81>>2]|0;
+ __gcry_log_printmpi(49384,$82);
+ $83 = ((($sk)) + 16|0);
+ $84 = HEAP32[$83>>2]|0;
+ __gcry_log_printmpi(49400,$84);
+ $85 = ((($sk)) + 20|0);
+ __gcry_mpi_point_log(49416,$85,0);
+ $86 = ((($sk)) + 32|0);
+ $87 = HEAP32[$86>>2]|0;
+ __gcry_log_printmpi(49430,$87);
+ $88 = ((($sk)) + 36|0);
+ $89 = HEAP32[$88>>2]|0;
+ __gcry_log_printmpi(49446,$89);
+ $90 = HEAP32[$mpi_q>>2]|0;
+ __gcry_log_printmpi(49462,$90);
+ $91 = (__gcry_fips_mode()|0);
+ $92 = ($91|0)!=(0);
+ if (!($92)) {
+ $93 = ((($sk)) + 56|0);
+ $94 = HEAP32[$93>>2]|0;
+ __gcry_log_printmpi(49478,$94);
+ }
+ }
+ $95 = ((($sk)) + 8|0);
+ $96 = HEAP32[$95>>2]|0;
+ $97 = ($96|0)!=(0|0);
+ if ($97) {
+ $98 = ((($sk)) + 12|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ($99|0)!=(0|0);
+ if ($100) {
+ $101 = ((($sk)) + 16|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = ($102|0)!=(0|0);
+ if ($103) {
+ $104 = ((($sk)) + 20|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = ($105|0)!=(0|0);
+ if ($106) {
+ $107 = ((($sk)) + 32|0);
+ $108 = HEAP32[$107>>2]|0;
+ $109 = ($108|0)!=(0|0);
+ if ($109) {
+ $110 = ((($sk)) + 36|0);
+ $111 = HEAP32[$110>>2]|0;
+ $112 = ($111|0)!=(0|0);
+ if ($112) {
+ $113 = ((($sk)) + 56|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ($114|0)!=(0|0);
+ if ($115) {
+ $116 = (__gcry_mpi_new(0)|0);
+ $sig_r = $116;
+ $117 = (__gcry_mpi_new(0)|0);
+ $sig_s = $117;
+ $118 = ((($ctx)) + 12|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = $119 & 4096;
+ $121 = ($120|0)!=(0);
+ if ($121) {
+ $122 = HEAP32[$data>>2]|0;
+ $123 = $sig_r;
+ $124 = $sig_s;
+ $125 = ((($ctx)) + 16|0);
+ $126 = HEAP32[$125>>2]|0;
+ $127 = HEAP32[$mpi_q>>2]|0;
+ $128 = (__gcry_ecc_eddsa_sign($122,$sk,$123,$124,$126,$127)|0);
+ $rc = $128;
+ $129 = $rc;
+ $130 = ($129|0)!=(0);
+ if ($130) {
+ break;
+ }
+ $131 = $1;
+ $132 = $sig_r;
+ $133 = $sig_s;
+ HEAP32[$vararg_buffer22>>2] = $132;
+ $vararg_ptr25 = ((($vararg_buffer22)) + 4|0);
+ HEAP32[$vararg_ptr25>>2] = $133;
+ $134 = (__gcry_sexp_build($131,0,49494,$vararg_buffer22)|0);
+ $rc = $134;
+ break;
+ }
+ $135 = ((($ctx)) + 12|0);
+ $136 = HEAP32[$135>>2]|0;
+ $137 = $136 & 8192;
+ $138 = ($137|0)!=(0);
+ $139 = HEAP32[$data>>2]|0;
+ $140 = $sig_r;
+ $141 = $sig_s;
+ if ($138) {
+ $142 = (__gcry_ecc_gost_sign($139,$sk,$140,$141)|0);
+ $rc = $142;
+ $143 = $rc;
+ $144 = ($143|0)!=(0);
+ if ($144) {
+ break;
+ }
+ $145 = $1;
+ $146 = $sig_r;
+ $147 = $sig_s;
+ HEAP32[$vararg_buffer26>>2] = $146;
+ $vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
+ HEAP32[$vararg_ptr29>>2] = $147;
+ $148 = (__gcry_sexp_build($145,0,49521,$vararg_buffer26)|0);
+ $rc = $148;
+ break;
+ } else {
+ $149 = ((($ctx)) + 12|0);
+ $150 = HEAP32[$149>>2]|0;
+ $151 = ((($ctx)) + 16|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = (__gcry_ecc_ecdsa_sign($139,$sk,$140,$141,$150,$152)|0);
+ $rc = $153;
+ $154 = $rc;
+ $155 = ($154|0)!=(0);
+ if ($155) {
+ break;
+ }
+ $156 = $1;
+ $157 = $sig_r;
+ $158 = $sig_s;
+ HEAP32[$vararg_buffer30>>2] = $157;
+ $vararg_ptr33 = ((($vararg_buffer30)) + 4|0);
+ HEAP32[$vararg_ptr33>>2] = $158;
+ $159 = (__gcry_sexp_build($156,0,49547,$vararg_buffer30)|0);
+ $rc = $159;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ $rc = 68;
+ }
+ }
+ } while(0);
+ $160 = ((($sk)) + 8|0);
+ $161 = HEAP32[$160>>2]|0;
+ __gcry_mpi_release($161);
+ $162 = ((($sk)) + 12|0);
+ $163 = HEAP32[$162>>2]|0;
+ __gcry_mpi_release($163);
+ $164 = ((($sk)) + 16|0);
+ $165 = HEAP32[$164>>2]|0;
+ __gcry_mpi_release($165);
+ $166 = HEAP32[$mpi_g>>2]|0;
+ __gcry_mpi_release($166);
+ $167 = ((($sk)) + 20|0);
+ __gcry_mpi_point_free_parts($167);
+ $168 = ((($sk)) + 32|0);
+ $169 = HEAP32[$168>>2]|0;
+ __gcry_mpi_release($169);
+ $170 = ((($sk)) + 36|0);
+ $171 = HEAP32[$170>>2]|0;
+ __gcry_mpi_release($171);
+ $172 = HEAP32[$mpi_q>>2]|0;
+ __gcry_mpi_release($172);
+ $173 = ((($sk)) + 44|0);
+ __gcry_mpi_point_free_parts($173);
+ $174 = ((($sk)) + 56|0);
+ $175 = HEAP32[$174>>2]|0;
+ __gcry_mpi_release($175);
+ $176 = $sig_r;
+ __gcry_mpi_release($176);
+ $177 = $sig_s;
+ __gcry_mpi_release($177);
+ $178 = $curvename;
+ __gcry_free($178);
+ $179 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($179);
+ $180 = $l1;
+ __gcry_sexp_release($180);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $181 = (__gcry_get_debug_flag(1)|0);
+ $182 = ($181|0)!=(0);
+ if ($182) {
+ $183 = $rc;
+ $184 = (_gpg_strerror($183)|0);
+ HEAP32[$vararg_buffer34>>2] = $184;
+ __gcry_log_debug(49574,$vararg_buffer34);
+ }
+ $185 = $rc;
+ $0 = $185;
+ $186 = $0;
+ STACKTOP = sp;return ($186|0);
+}
+function _ecc_verify($s_sig,$s_data,$s_keyparms) {
+ $s_sig = $s_sig|0;
+ $s_data = $s_data|0;
+ $s_keyparms = $s_keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $a = 0, $abits = 0, $abuf = 0, $ctx = 0, $curvename = 0, $data = 0, $ec = 0, $l1 = 0, $mpi_g = 0, $mpi_q = 0, $or$cond = 0, $pk = 0, $qbits = 0, $rc = 0, $sig_r = 0, $sig_s = 0, $sigflags = 0, $vararg_buffer = 0, $vararg_buffer14 = 0;
+ var $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer4 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer26 = sp + 80|0;
+ $vararg_buffer23 = sp + 72|0;
+ $vararg_buffer18 = sp + 56|0;
+ $vararg_buffer14 = sp + 48|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $ctx = sp + 200|0;
+ $l1 = sp + 192|0;
+ $mpi_g = sp + 184|0;
+ $mpi_q = sp + 180|0;
+ $sig_r = sp + 176|0;
+ $sig_s = sp + 172|0;
+ $data = sp + 168|0;
+ $pk = sp + 112|0;
+ $sigflags = sp + 104|0;
+ $abits = sp + 92|0;
+ $a = sp + 84|0;
+ $1 = $s_sig;
+ $2 = $s_data;
+ $3 = $s_keyparms;
+ HEAP32[$l1>>2] = 0;
+ $curvename = 0;
+ HEAP32[$mpi_g>>2] = 0;
+ HEAP32[$mpi_q>>2] = 0;
+ HEAP32[$sig_r>>2] = 0;
+ HEAP32[$sig_s>>2] = 0;
+ HEAP32[$data>>2] = 0;
+ dest=$pk; stop=dest+56|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $4 = $3;
+ $5 = (_ecc_get_nbits($4)|0);
+ __gcry_pk_util_init_encoding_ctx($ctx,3,$5);
+ $6 = $2;
+ $7 = (__gcry_pk_util_data_to_mpi($6,$data,$ctx)|0);
+ $rc = $7;
+ $8 = $rc;
+ $9 = ($8|0)!=(0);
+ L1: do {
+ if (!($9)) {
+ $10 = (__gcry_get_debug_flag(1)|0);
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ $12 = HEAP32[$data>>2]|0;
+ __gcry_log_printmpi(49595,$12);
+ }
+ $13 = $1;
+ $14 = (__gcry_pk_util_preparse_sigval($13,12920,$l1,$sigflags)|0);
+ $rc = $14;
+ $15 = $rc;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ $17 = HEAP32[$l1>>2]|0;
+ $18 = HEAP32[$sigflags>>2]|0;
+ $19 = $18 & 4096;
+ $20 = ($19|0)!=(0);
+ $21 = $20 ? 49611 : 47181;
+ HEAP32[$vararg_buffer>>2] = $sig_r;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $sig_s;
+ $vararg_ptr3 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr3>>2] = 0;
+ $22 = (__gcry_sexp_extract_param($17,0,$21,$vararg_buffer)|0);
+ $rc = $22;
+ $23 = $rc;
+ $24 = ($23|0)!=(0);
+ if (!($24)) {
+ $25 = (__gcry_get_debug_flag(1)|0);
+ $26 = ($25|0)!=(0);
+ if ($26) {
+ $27 = HEAP32[$sig_r>>2]|0;
+ __gcry_log_printmpi(49615,$27);
+ $28 = HEAP32[$sig_s>>2]|0;
+ __gcry_log_printmpi(49631,$28);
+ }
+ $29 = ((($ctx)) + 12|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $30 & 4096;
+ $32 = HEAP32[$sigflags>>2]|0;
+ $33 = $32 & 4096;
+ $34 = $31 ^ $33;
+ $35 = ($34|0)!=(0);
+ if ($35) {
+ $rc = 70;
+ break;
+ }
+ $36 = ((($ctx)) + 12|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = $37 & 512;
+ $39 = ($38|0)!=(0);
+ $40 = $3;
+ if ($39) {
+ $41 = ((($pk)) + 8|0);
+ $42 = ((($pk)) + 12|0);
+ $43 = ((($pk)) + 16|0);
+ $44 = ((($pk)) + 32|0);
+ $45 = ((($pk)) + 32|0);
+ HEAP32[$vararg_buffer4>>2] = $41;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = $42;
+ $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
+ HEAP32[$vararg_ptr8>>2] = $43;
+ $vararg_ptr9 = ((($vararg_buffer4)) + 12|0);
+ HEAP32[$vararg_ptr9>>2] = $mpi_g;
+ $vararg_ptr10 = ((($vararg_buffer4)) + 16|0);
+ HEAP32[$vararg_ptr10>>2] = $44;
+ $vararg_ptr11 = ((($vararg_buffer4)) + 20|0);
+ HEAP32[$vararg_ptr11>>2] = $45;
+ $vararg_ptr12 = ((($vararg_buffer4)) + 24|0);
+ HEAP32[$vararg_ptr12>>2] = $mpi_q;
+ $vararg_ptr13 = ((($vararg_buffer4)) + 28|0);
+ HEAP32[$vararg_ptr13>>2] = 0;
+ $46 = (__gcry_sexp_extract_param($40,0,49647,$vararg_buffer4)|0);
+ $rc = $46;
+ } else {
+ HEAP32[$vararg_buffer14>>2] = $mpi_q;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = 0;
+ $47 = (__gcry_sexp_extract_param($40,0,49663,$vararg_buffer14)|0);
+ $rc = $47;
+ }
+ $48 = $rc;
+ $49 = ($48|0)!=(0);
+ if (!($49)) {
+ $50 = HEAP32[$mpi_g>>2]|0;
+ $51 = ($50|0)!=(0|0);
+ if ($51) {
+ $52 = ((($pk)) + 20|0);
+ __gcry_mpi_point_init($52);
+ $53 = ((($pk)) + 20|0);
+ $54 = HEAP32[$mpi_g>>2]|0;
+ $55 = (__gcry_ecc_os2ec($53,$54)|0);
+ $rc = $55;
+ $56 = $rc;
+ $57 = ($56|0)!=(0);
+ if ($57) {
+ break;
+ }
+ }
+ $58 = HEAP32[$l1>>2]|0;
+ __gcry_sexp_release($58);
+ $59 = $3;
+ $60 = (__gcry_sexp_find_token($59,47184,5)|0);
+ HEAP32[$l1>>2] = $60;
+ $61 = HEAP32[$l1>>2]|0;
+ $62 = ($61|0)!=(0|0);
+ if ($62) {
+ $63 = HEAP32[$l1>>2]|0;
+ $64 = (__gcry_sexp_nth_string($63,1)|0);
+ $curvename = $64;
+ $65 = $curvename;
+ $66 = ($65|0)!=(0|0);
+ if ($66) {
+ $67 = $curvename;
+ $68 = (__gcry_ecc_fill_in_curve(0,$67,$pk,0)|0);
+ $rc = $68;
+ $69 = $rc;
+ $70 = ($69|0)!=(0);
+ if ($70) {
+ $71 = $rc;
+ $0 = $71;
+ $240 = $0;
+ STACKTOP = sp;return ($240|0);
+ }
+ }
+ }
+ $72 = $curvename;
+ $73 = ($72|0)!=(0|0);
+ if (!($73)) {
+ $74 = HEAP32[$sigflags>>2]|0;
+ $75 = $74 & 4096;
+ $76 = ($75|0)!=(0);
+ $77 = $76 ? 2 : 0;
+ HEAP32[$pk>>2] = $77;
+ $78 = HEAP32[$sigflags>>2]|0;
+ $79 = $78 & 4096;
+ $80 = ($79|0)!=(0);
+ $81 = $80 ? 1 : 0;
+ $82 = ((($pk)) + 4|0);
+ HEAP32[$82>>2] = $81;
+ }
+ $83 = (__gcry_get_debug_flag(1)|0);
+ $84 = ($83|0)!=(0);
+ if ($84) {
+ $85 = HEAP32[$pk>>2]|0;
+ $86 = (__gcry_ecc_model2str($85)|0);
+ $87 = ((($pk)) + 4|0);
+ $88 = HEAP32[$87>>2]|0;
+ $89 = (__gcry_ecc_dialect2str($88)|0);
+ $90 = HEAP32[$sigflags>>2]|0;
+ $91 = $90 & 4096;
+ $92 = ($91|0)!=(0);
+ $93 = $92 ? 49314 : 76543;
+ HEAP32[$vararg_buffer18>>2] = $86;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = $89;
+ $vararg_ptr22 = ((($vararg_buffer18)) + 8|0);
+ HEAP32[$vararg_ptr22>>2] = $93;
+ __gcry_log_debug(49666,$vararg_buffer18);
+ $94 = ((($pk)) + 40|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)!=(0|0);
+ if ($96) {
+ $97 = ((($pk)) + 40|0);
+ $98 = HEAP32[$97>>2]|0;
+ HEAP32[$vararg_buffer23>>2] = $98;
+ __gcry_log_debug(49692,$vararg_buffer23);
+ }
+ $99 = ((($pk)) + 8|0);
+ $100 = HEAP32[$99>>2]|0;
+ __gcry_log_printmpi(49713,$100);
+ $101 = ((($pk)) + 12|0);
+ $102 = HEAP32[$101>>2]|0;
+ __gcry_log_printmpi(49729,$102);
+ $103 = ((($pk)) + 16|0);
+ $104 = HEAP32[$103>>2]|0;
+ __gcry_log_printmpi(49745,$104);
+ $105 = ((($pk)) + 20|0);
+ __gcry_mpi_point_log(49761,$105,0);
+ $106 = ((($pk)) + 32|0);
+ $107 = HEAP32[$106>>2]|0;
+ __gcry_log_printmpi(49775,$107);
+ $108 = ((($pk)) + 36|0);
+ $109 = HEAP32[$108>>2]|0;
+ __gcry_log_printmpi(49791,$109);
+ $110 = HEAP32[$mpi_q>>2]|0;
+ __gcry_log_printmpi(49807,$110);
+ }
+ $111 = ((($pk)) + 8|0);
+ $112 = HEAP32[$111>>2]|0;
+ $113 = ($112|0)!=(0|0);
+ if ($113) {
+ $114 = ((($pk)) + 12|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = ($115|0)!=(0|0);
+ if ($116) {
+ $117 = ((($pk)) + 16|0);
+ $118 = HEAP32[$117>>2]|0;
+ $119 = ($118|0)!=(0|0);
+ if ($119) {
+ $120 = ((($pk)) + 20|0);
+ $121 = HEAP32[$120>>2]|0;
+ $122 = ($121|0)!=(0|0);
+ if ($122) {
+ $123 = ((($pk)) + 32|0);
+ $124 = HEAP32[$123>>2]|0;
+ $125 = ($124|0)!=(0|0);
+ if ($125) {
+ $126 = ((($pk)) + 36|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = ($127|0)!=(0|0);
+ $129 = HEAP32[$mpi_q>>2]|0;
+ $130 = ($129|0)!=(0|0);
+ $or$cond = $128 & $130;
+ if ($or$cond) {
+ $131 = HEAP32[$sigflags>>2]|0;
+ $132 = $131 & 4096;
+ $133 = ($132|0)!=(0);
+ if ($133) {
+ $134 = HEAP32[$data>>2]|0;
+ $135 = HEAP32[$sig_r>>2]|0;
+ $136 = HEAP32[$sig_s>>2]|0;
+ $137 = ((($ctx)) + 16|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = HEAP32[$mpi_q>>2]|0;
+ $140 = (__gcry_ecc_eddsa_verify($134,$pk,$135,$136,$138,$139)|0);
+ $rc = $140;
+ break;
+ }
+ $141 = HEAP32[$sigflags>>2]|0;
+ $142 = $141 & 8192;
+ $143 = ($142|0)!=(0);
+ $144 = ((($pk)) + 44|0);
+ __gcry_mpi_point_init($144);
+ if ($143) {
+ $145 = ((($pk)) + 44|0);
+ $146 = HEAP32[$mpi_q>>2]|0;
+ $147 = (__gcry_ecc_os2ec($145,$146)|0);
+ $rc = $147;
+ $148 = $rc;
+ $149 = ($148|0)!=(0);
+ if ($149) {
+ break;
+ }
+ $150 = HEAP32[$data>>2]|0;
+ $151 = HEAP32[$sig_r>>2]|0;
+ $152 = HEAP32[$sig_s>>2]|0;
+ $153 = (__gcry_ecc_gost_verify($150,$pk,$151,$152)|0);
+ $rc = $153;
+ break;
+ }
+ $154 = ((($pk)) + 4|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = ($155|0)==(1);
+ if ($156) {
+ $157 = HEAP32[$pk>>2]|0;
+ $158 = ((($pk)) + 4|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = ((($pk)) + 8|0);
+ $161 = HEAP32[$160>>2]|0;
+ $162 = ((($pk)) + 12|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = ((($pk)) + 16|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = (__gcry_mpi_ec_p_internal_new($157,$159,0,$161,$163,$165)|0);
+ $ec = $166;
+ $167 = HEAP32[$mpi_q>>2]|0;
+ $168 = $ec;
+ $169 = ((($pk)) + 44|0);
+ $170 = (__gcry_ecc_eddsa_decodepoint($167,$168,$169,0,0)|0);
+ $rc = $170;
+ $171 = $ec;
+ __gcry_mpi_ec_free($171);
+ } else {
+ $172 = ((($pk)) + 44|0);
+ $173 = HEAP32[$mpi_q>>2]|0;
+ $174 = (__gcry_ecc_os2ec($172,$173)|0);
+ $rc = $174;
+ }
+ $175 = $rc;
+ $176 = ($175|0)!=(0);
+ if ($176) {
+ break;
+ }
+ $177 = HEAP32[$data>>2]|0;
+ $178 = ($177|0)!=(0|0);
+ do {
+ if ($178) {
+ $179 = HEAP32[$data>>2]|0;
+ $180 = ((($179)) + 12|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = $181 & 4;
+ $183 = ($182|0)!=(0);
+ if (!($183)) {
+ break;
+ }
+ $184 = ((($pk)) + 32|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = (__gcry_mpi_get_nbits($185)|0);
+ $qbits = $186;
+ $187 = HEAP32[$data>>2]|0;
+ $188 = (__gcry_mpi_get_opaque($187,$abits)|0);
+ $abuf = $188;
+ $189 = $abuf;
+ $190 = HEAP32[$abits>>2]|0;
+ $191 = (($190) + 7)|0;
+ $192 = (($191>>>0) / 8)&-1;
+ $193 = (__gcry_mpi_scan($a,5,$189,$192,0)|0);
+ $rc = $193;
+ $194 = $rc;
+ $195 = ($194|0)!=(0);
+ if ($195) {
+ break L1;
+ }
+ $196 = HEAP32[$abits>>2]|0;
+ $197 = $qbits;
+ $198 = ($196>>>0)>($197>>>0);
+ if ($198) {
+ $199 = HEAP32[$a>>2]|0;
+ $200 = HEAP32[$a>>2]|0;
+ $201 = HEAP32[$abits>>2]|0;
+ $202 = $qbits;
+ $203 = (($201) - ($202))|0;
+ __gcry_mpi_rshift($199,$200,$203);
+ }
+ $204 = HEAP32[$a>>2]|0;
+ $205 = HEAP32[$sig_r>>2]|0;
+ $206 = HEAP32[$sig_s>>2]|0;
+ $207 = (__gcry_ecc_ecdsa_verify($204,$pk,$205,$206)|0);
+ $rc = $207;
+ $208 = HEAP32[$a>>2]|0;
+ __gcry_mpi_release($208);
+ break L1;
+ }
+ } while(0);
+ $209 = HEAP32[$data>>2]|0;
+ $210 = HEAP32[$sig_r>>2]|0;
+ $211 = HEAP32[$sig_s>>2]|0;
+ $212 = (__gcry_ecc_ecdsa_verify($209,$pk,$210,$211)|0);
+ $rc = $212;
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ $rc = 68;
+ }
+ }
+ }
+ }
+ } while(0);
+ $213 = ((($pk)) + 8|0);
+ $214 = HEAP32[$213>>2]|0;
+ __gcry_mpi_release($214);
+ $215 = ((($pk)) + 12|0);
+ $216 = HEAP32[$215>>2]|0;
+ __gcry_mpi_release($216);
+ $217 = ((($pk)) + 16|0);
+ $218 = HEAP32[$217>>2]|0;
+ __gcry_mpi_release($218);
+ $219 = HEAP32[$mpi_g>>2]|0;
+ __gcry_mpi_release($219);
+ $220 = ((($pk)) + 20|0);
+ __gcry_mpi_point_free_parts($220);
+ $221 = ((($pk)) + 32|0);
+ $222 = HEAP32[$221>>2]|0;
+ __gcry_mpi_release($222);
+ $223 = ((($pk)) + 36|0);
+ $224 = HEAP32[$223>>2]|0;
+ __gcry_mpi_release($224);
+ $225 = HEAP32[$mpi_q>>2]|0;
+ __gcry_mpi_release($225);
+ $226 = ((($pk)) + 44|0);
+ __gcry_mpi_point_free_parts($226);
+ $227 = HEAP32[$data>>2]|0;
+ __gcry_mpi_release($227);
+ $228 = HEAP32[$sig_r>>2]|0;
+ __gcry_mpi_release($228);
+ $229 = HEAP32[$sig_s>>2]|0;
+ __gcry_mpi_release($229);
+ $230 = $curvename;
+ __gcry_free($230);
+ $231 = HEAP32[$l1>>2]|0;
+ __gcry_sexp_release($231);
+ __gcry_pk_util_free_encoding_ctx($ctx);
+ $232 = (__gcry_get_debug_flag(1)|0);
+ $233 = ($232|0)!=(0);
+ if ($233) {
+ $234 = $rc;
+ $235 = ($234|0)!=(0);
+ if ($235) {
+ $236 = $rc;
+ $237 = (_gpg_strerror($236)|0);
+ $238 = $237;
+ } else {
+ $238 = 49823;
+ }
+ HEAP32[$vararg_buffer26>>2] = $238;
+ __gcry_log_debug(49828,$vararg_buffer26);
+ }
+ $239 = $rc;
+ $0 = $239;
+ $240 = $0;
+ STACKTOP = sp;return ($240|0);
+}
+function _run_selftests_2065($algo,$extended,$report) {
+ $algo = $algo|0;
+ $extended = $extended|0;
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $algo;
+ $2 = $extended;
+ $3 = $report;
+ $4 = $1;
+ $5 = ($4|0)!=(18);
+ if ($5) {
+ $0 = 4;
+ } else {
+ $6 = $3;
+ $7 = (_selftests_ecdsa($6)|0);
+ $0 = $7;
+ }
+ $8 = $0;
+ STACKTOP = sp;return ($8|0);
+}
+function _selftests_ecdsa($report) {
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $errtxt = 0, $what = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $report;
+ $what = 49849;
+ $errtxt = 0;
+ $2 = $errtxt;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ $0 = 0;
+ $9 = $0;
+ STACKTOP = sp;return ($9|0);
+ }
+ $4 = $1;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = $1;
+ $7 = $what;
+ $8 = $errtxt;
+ FUNCTION_TABLE_viiii[$6 & 63](49859,18,$7,$8);
+ }
+ $0 = 50;
+ $9 = $0;
+ STACKTOP = sp;return ($9|0);
+}
+function _compute_keygrip_2068($md,$keyparms) {
+ $md = $md|0;
+ $keyparms = $keyparms|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
+ var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
+ var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
+ var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $buf = 0, $curvename = 0, $dialect = 0, $flags = 0, $idx = 0, $l1 = 0, $model = 0, $n = 0, $raw = 0, $rawmpi = 0, $rawmpilen = 0;
+ var $rc = 0, $values = 0, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer26 = 0, $vararg_buffer30 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr25 = 0, $vararg_ptr29 = 0;
+ var $vararg_ptr3 = 0, $vararg_ptr33 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer30 = sp + 88|0;
+ $vararg_buffer26 = sp + 80|0;
+ $vararg_buffer22 = sp + 72|0;
+ $vararg_buffer18 = sp + 64|0;
+ $vararg_buffer8 = sp + 32|0;
+ $vararg_buffer = sp;
+ $values = sp + 132|0;
+ $flags = sp + 120|0;
+ $model = sp + 116|0;
+ $dialect = sp + 112|0;
+ $buf = sp + 176|0;
+ $n = sp + 104|0;
+ $rawmpilen = sp + 96|0;
+ $0 = $md;
+ $1 = $keyparms;
+ $curvename = 0;
+ HEAP32[$flags>>2] = 0;
+ HEAP32[$model>>2] = 0;
+ HEAP32[$dialect>>2] = 0;
+ $idx = 0;
+ while(1) {
+ $2 = $idx;
+ $3 = ($2|0)<(7);
+ if (!($3)) {
+ break;
+ }
+ $4 = $idx;
+ $5 = (($values) + ($4<<2)|0);
+ HEAP32[$5>>2] = 0;
+ $6 = $idx;
+ $7 = (($6) + 1)|0;
+ $idx = $7;
+ }
+ $8 = $1;
+ $9 = (__gcry_sexp_find_token($8,47190,0)|0);
+ $l1 = $9;
+ $10 = $l1;
+ $11 = ($10|0)!=(0|0);
+ if ($11) {
+ $12 = $l1;
+ $13 = (__gcry_pk_util_parse_flaglist($12,$flags,0)|0);
+ $rc = $13;
+ $14 = $rc;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ label = 6;
+ }
+ } else {
+ label = 6;
+ }
+ L7: do {
+ if ((label|0) == 6) {
+ $16 = HEAP32[$flags>>2]|0;
+ $17 = $16 & 512;
+ $18 = ($17|0)!=(0);
+ $19 = HEAP32[$flags>>2]|0;
+ $20 = $19 & 4096;
+ $21 = ($20|0)!=(0);
+ $22 = $1;
+ do {
+ if ($18) {
+ $23 = ((($values)) + 4|0);
+ $24 = ((($values)) + 8|0);
+ $25 = ((($values)) + 12|0);
+ $26 = ((($values)) + 16|0);
+ $27 = ((($values)) + 20|0);
+ $28 = ((($values)) + 24|0);
+ if ($21) {
+ HEAP32[$vararg_buffer>>2] = $values;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $23;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $24;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $25;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $26;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $27;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $28;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = 0;
+ $29 = (__gcry_sexp_extract_param($22,0,49866,$vararg_buffer)|0);
+ $rc = $29;
+ break;
+ } else {
+ HEAP32[$vararg_buffer8>>2] = $values;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = $23;
+ $vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
+ HEAP32[$vararg_ptr12>>2] = $24;
+ $vararg_ptr13 = ((($vararg_buffer8)) + 12|0);
+ HEAP32[$vararg_ptr13>>2] = $25;
+ $vararg_ptr14 = ((($vararg_buffer8)) + 16|0);
+ HEAP32[$vararg_ptr14>>2] = $26;
+ $vararg_ptr15 = ((($vararg_buffer8)) + 20|0);
+ HEAP32[$vararg_ptr15>>2] = $27;
+ $vararg_ptr16 = ((($vararg_buffer8)) + 24|0);
+ HEAP32[$vararg_ptr16>>2] = $28;
+ $vararg_ptr17 = ((($vararg_buffer8)) + 28|0);
+ HEAP32[$vararg_ptr17>>2] = 0;
+ $30 = (__gcry_sexp_extract_param($22,0,49881,$vararg_buffer8)|0);
+ $rc = $30;
+ break;
+ }
+ } else {
+ $31 = ((($values)) + 24|0);
+ if ($21) {
+ HEAP32[$vararg_buffer18>>2] = $31;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = 0;
+ $32 = (__gcry_sexp_extract_param($22,0,49663,$vararg_buffer18)|0);
+ $rc = $32;
+ break;
+ } else {
+ HEAP32[$vararg_buffer22>>2] = $31;
+ $vararg_ptr25 = ((($vararg_buffer22)) + 4|0);
+ HEAP32[$vararg_ptr25>>2] = 0;
+ $33 = (__gcry_sexp_extract_param($22,0,49895,$vararg_buffer22)|0);
+ $rc = $33;
+ break;
+ }
+ }
+ } while(0);
+ $34 = $rc;
+ $35 = ($34|0)!=(0);
+ if (!($35)) {
+ $36 = $l1;
+ __gcry_sexp_release($36);
+ $37 = $1;
+ $38 = (__gcry_sexp_find_token($37,47184,5)|0);
+ $l1 = $38;
+ $39 = $l1;
+ $40 = ($39|0)!=(0|0);
+ if ($40) {
+ $41 = $l1;
+ $42 = (__gcry_sexp_nth_string($41,1)|0);
+ $curvename = $42;
+ $43 = $curvename;
+ $44 = ($43|0)!=(0|0);
+ if ($44) {
+ $45 = $curvename;
+ $46 = ((($values)) + 4|0);
+ $47 = ((($values)) + 8|0);
+ $48 = ((($values)) + 12|0);
+ $49 = ((($values)) + 16|0);
+ $50 = ((($values)) + 20|0);
+ $51 = (__gcry_ecc_update_curve_param($45,$model,$dialect,$values,$46,$47,$48,$49,$50)|0);
+ $rc = $51;
+ $52 = $rc;
+ $53 = ($52|0)!=(0);
+ if ($53) {
+ break;
+ }
+ }
+ }
+ $54 = $curvename;
+ $55 = ($54|0)!=(0|0);
+ if (!($55)) {
+ $56 = HEAP32[$flags>>2]|0;
+ $57 = $56 & 4096;
+ $58 = ($57|0)!=(0);
+ $59 = $58 ? 2 : 0;
+ HEAP32[$model>>2] = $59;
+ $60 = HEAP32[$flags>>2]|0;
+ $61 = $60 & 4096;
+ $62 = ($61|0)!=(0);
+ $63 = $62 ? 1 : 0;
+ HEAP32[$dialect>>2] = $63;
+ }
+ $idx = 0;
+ while(1) {
+ $64 = $idx;
+ $65 = ($64|0)<(7);
+ if (!($65)) {
+ break;
+ }
+ $66 = $idx;
+ $67 = (($values) + ($66<<2)|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ($68|0)!=(0|0);
+ if (!($69)) {
+ label = 22;
+ break;
+ }
+ $70 = $idx;
+ $71 = (($values) + ($70<<2)|0);
+ $72 = HEAP32[$71>>2]|0;
+ __gcry_mpi_normalize($72);
+ $73 = $idx;
+ $74 = (($73) + 1)|0;
+ $idx = $74;
+ }
+ if ((label|0) == 22) {
+ $rc = 68;
+ break;
+ }
+ $75 = HEAP32[$flags>>2]|0;
+ $76 = $75 & 4096;
+ $77 = ($76|0)!=(0);
+ if ($77) {
+ $78 = HEAP32[$dialect>>2]|0;
+ $79 = ($78|0)==(1);
+ if ($79) {
+ $80 = ((($values)) + 24|0);
+ $81 = HEAP32[$80>>2]|0;
+ $82 = (__gcry_ecc_eddsa_ensure_compact($81,256)|0);
+ $rc = $82;
+ } else {
+ $rc = 69;
+ }
+ $83 = $rc;
+ $84 = ($83|0)!=(0);
+ if ($84) {
+ break;
+ }
+ }
+ $idx = 0;
+ L41: while(1) {
+ $85 = $idx;
+ $86 = ($85|0)<(7);
+ if (!($86)) {
+ break L7;
+ }
+ $87 = $idx;
+ $88 = ($87|0)==(5);
+ do {
+ if (!($88)) {
+ $89 = $idx;
+ $90 = (($values) + ($89<<2)|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ($91|0)!=(0|0);
+ if ($92) {
+ $93 = $idx;
+ $94 = (($values) + ($93<<2)|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ((($95)) + 12|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = $97 & 4;
+ $99 = ($98|0)!=(0);
+ if ($99) {
+ $100 = $idx;
+ $101 = (($values) + ($100<<2)|0);
+ $102 = HEAP32[$101>>2]|0;
+ $103 = (__gcry_mpi_get_opaque($102,$n)|0);
+ $raw = $103;
+ $104 = HEAP32[$n>>2]|0;
+ $105 = (($104) + 7)|0;
+ $106 = (($105>>>0) / 8)&-1;
+ HEAP32[$n>>2] = $106;
+ $107 = $idx;
+ $108 = (49897 + ($107)|0);
+ $109 = HEAP8[$108>>0]|0;
+ $110 = $109 << 24 >> 24;
+ $111 = HEAP32[$n>>2]|0;
+ HEAP32[$vararg_buffer26>>2] = $110;
+ $vararg_ptr29 = ((($vararg_buffer26)) + 4|0);
+ HEAP32[$vararg_ptr29>>2] = $111;
+ (_snprintf($buf,30,49904,$vararg_buffer26)|0);
+ $112 = $0;
+ $113 = (_strlen($buf)|0);
+ __gcry_md_write($112,$buf,$113);
+ $114 = $0;
+ $115 = $raw;
+ $116 = HEAP32[$n>>2]|0;
+ __gcry_md_write($114,$115,$116);
+ $117 = $0;
+ __gcry_md_write($117,49913,1);
+ break;
+ }
+ }
+ $118 = $idx;
+ $119 = (($values) + ($118<<2)|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = (__gcry_mpi_get_buffer($120,0,$rawmpilen,0)|0);
+ $rawmpi = $121;
+ $122 = $rawmpi;
+ $123 = ($122|0)!=(0|0);
+ if (!($123)) {
+ break L41;
+ }
+ $125 = $idx;
+ $126 = (49897 + ($125)|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = $127 << 24 >> 24;
+ $129 = HEAP32[$rawmpilen>>2]|0;
+ HEAP32[$vararg_buffer30>>2] = $128;
+ $vararg_ptr33 = ((($vararg_buffer30)) + 4|0);
+ HEAP32[$vararg_ptr33>>2] = $129;
+ (_snprintf($buf,30,49904,$vararg_buffer30)|0);
+ $130 = $0;
+ $131 = (_strlen($buf)|0);
+ __gcry_md_write($130,$buf,$131);
+ $132 = $0;
+ $133 = $rawmpi;
+ $134 = HEAP32[$rawmpilen>>2]|0;
+ __gcry_md_write($132,$133,$134);
+ $135 = $0;
+ __gcry_md_write($135,49913,1);
+ $136 = $rawmpi;
+ __gcry_free($136);
+ }
+ } while(0);
+ $137 = $idx;
+ $138 = (($137) + 1)|0;
+ $idx = $138;
+ }
+ $124 = (_gpg_err_code_from_syserror()|0);
+ $rc = $124;
+ }
+ }
+ } while(0);
+ $139 = $curvename;
+ __gcry_free($139);
+ $140 = $l1;
+ __gcry_sexp_release($140);
+ $idx = 0;
+ while(1) {
+ $141 = $idx;
+ $142 = ($141|0)<(7);
+ if (!($142)) {
+ break;
+ }
+ $143 = $idx;
+ $144 = (($values) + ($143<<2)|0);
+ $145 = HEAP32[$144>>2]|0;
+ __gcry_mpi_release($145);
+ $146 = $idx;
+ $147 = (($146) + 1)|0;
+ $idx = $147;
+ }
+ $148 = $rc;
+ STACKTOP = sp;return ($148|0);
+}
+function __gcry_hash_selftest_check_one($algo,$datamode,$data,$datalen,$expect,$expectlen) {
+ $algo = $algo|0;
+ $datamode = $datamode|0;
+ $data = $data|0;
+ $datalen = $datalen|0;
+ $expect = $expect|0;
+ $expectlen = $expectlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aaa = 0, $digest = 0, $err = 0;
+ var $hd = 0, $i = 0, $result = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $hd = sp + 8|0;
+ $aaa = sp + 48|0;
+ $1 = $algo;
+ $2 = $datamode;
+ $3 = $data;
+ $4 = $datalen;
+ $5 = $expect;
+ $6 = $expectlen;
+ $result = 0;
+ $err = 0;
+ $7 = $1;
+ $8 = (__gcry_md_get_algo_dlen($7)|0);
+ $9 = $6;
+ $10 = ($8|0)!=($9|0);
+ if ($10) {
+ $0 = 49915;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+ }
+ $11 = $1;
+ $12 = (__gcry_md_open($hd,$11,0)|0);
+ $err = $12;
+ $13 = $err;
+ $14 = ($13|0)!=(0);
+ if ($14) {
+ $0 = 49956;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+ }
+ $15 = $2;
+ L9: do {
+ switch ($15|0) {
+ case 0: {
+ $16 = HEAP32[$hd>>2]|0;
+ $17 = $3;
+ $18 = $4;
+ __gcry_md_write($16,$17,$18);
+ break;
+ }
+ case 1: {
+ _memset(($aaa|0),97,1000)|0;
+ $i = 0;
+ while(1) {
+ $19 = $i;
+ $20 = ($19|0)<(1000);
+ if (!($20)) {
+ break L9;
+ }
+ $21 = HEAP32[$hd>>2]|0;
+ __gcry_md_write($21,$aaa,1000);
+ $22 = $i;
+ $23 = (($22) + 1)|0;
+ $i = $23;
+ }
+ break;
+ }
+ default: {
+ $result = 49976;
+ }
+ }
+ } while(0);
+ $24 = $result;
+ $25 = ($24|0)!=(0|0);
+ if (!($25)) {
+ $26 = HEAP32[$hd>>2]|0;
+ $27 = $1;
+ $28 = (__gcry_md_read($26,$27)|0);
+ $digest = $28;
+ $29 = $digest;
+ $30 = $5;
+ $31 = $6;
+ $32 = (_memcmp($29,$30,$31)|0);
+ $33 = ($32|0)!=(0);
+ if ($33) {
+ $result = 49993;
+ }
+ }
+ $34 = HEAP32[$hd>>2]|0;
+ __gcry_md_close($34);
+ $35 = $result;
+ $0 = $35;
+ $36 = $0;
+ STACKTOP = sp;return ($36|0);
+}
+function __gcry_md_block_write($context,$inbuf_arg,$inlen) {
+ $context = $context|0;
+ $inbuf_arg = $inbuf_arg|0;
+ $inlen = $inlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $blocksize = 0;
+ var $hd = 0, $inblocks = 0, $inbuf = 0, $stack_burn = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $inbuf_arg;
+ $2 = $inlen;
+ $3 = $1;
+ $inbuf = $3;
+ $4 = $0;
+ $hd = $4;
+ $stack_burn = 0;
+ $5 = $hd;
+ $6 = ((($5)) + 148|0);
+ $7 = HEAP32[$6>>2]|0;
+ $blocksize = $7;
+ $8 = $blocksize;
+ $9 = (128)<($8>>>0);
+ if ($9) {
+ __gcry_bug(50009,112,50023);
+ // unreachable;
+ }
+ $10 = $hd;
+ $11 = ((($10)) + 152|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)!=(0|0);
+ if (!($13)) {
+ STACKTOP = sp;return;
+ }
+ $14 = $hd;
+ $15 = ((($14)) + 144|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $blocksize;
+ $18 = ($16|0)==($17|0);
+ if ($18) {
+ $19 = $hd;
+ $20 = ((($19)) + 152|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = $hd;
+ $23 = $hd;
+ $24 = (FUNCTION_TABLE_iiii[$21 & 127]($22,$23,1)|0);
+ $stack_burn = $24;
+ $25 = $stack_burn;
+ ___gcry_burn_stack($25);
+ ___gcry_burn_stack_dummy();
+ $stack_burn = 0;
+ $26 = $hd;
+ $27 = ((($26)) + 144|0);
+ HEAP32[$27>>2] = 0;
+ $28 = $hd;
+ $29 = ((($28)) + 128|0);
+ $30 = $29;
+ $31 = $30;
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($30) + 4)|0;
+ $34 = $33;
+ $35 = HEAP32[$34>>2]|0;
+ $36 = (_i64Add(($32|0),($35|0),1,0)|0);
+ $37 = tempRet0;
+ $38 = $29;
+ $39 = $38;
+ HEAP32[$39>>2] = $36;
+ $40 = (($38) + 4)|0;
+ $41 = $40;
+ HEAP32[$41>>2] = $37;
+ $42 = ($36|0)!=(0);
+ $43 = ($37|0)!=(0);
+ $44 = $42 | $43;
+ if (!($44)) {
+ $45 = $hd;
+ $46 = ((($45)) + 136|0);
+ $47 = $46;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = (($47) + 4)|0;
+ $51 = $50;
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (_i64Add(($49|0),($52|0),1,0)|0);
+ $54 = tempRet0;
+ $55 = $46;
+ $56 = $55;
+ HEAP32[$56>>2] = $53;
+ $57 = (($55) + 4)|0;
+ $58 = $57;
+ HEAP32[$58>>2] = $54;
+ }
+ }
+ $59 = $inbuf;
+ $60 = ($59|0)!=(0|0);
+ if (!($60)) {
+ STACKTOP = sp;return;
+ }
+ $61 = $hd;
+ $62 = ((($61)) + 144|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = ($63|0)!=(0);
+ if ($64) {
+ while(1) {
+ $65 = $2;
+ $66 = ($65|0)!=(0);
+ if (!($66)) {
+ break;
+ }
+ $67 = $hd;
+ $68 = ((($67)) + 144|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = $blocksize;
+ $71 = ($69>>>0)<($70>>>0);
+ if (!($71)) {
+ break;
+ }
+ $72 = $inbuf;
+ $73 = ((($72)) + 1|0);
+ $inbuf = $73;
+ $74 = HEAP8[$72>>0]|0;
+ $75 = $hd;
+ $76 = ((($75)) + 144|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = (($77) + 1)|0;
+ HEAP32[$76>>2] = $78;
+ $79 = $hd;
+ $80 = (($79) + ($77)|0);
+ HEAP8[$80>>0] = $74;
+ $81 = $2;
+ $82 = (($81) + -1)|0;
+ $2 = $82;
+ }
+ $83 = $hd;
+ __gcry_md_block_write($83,0,0);
+ $84 = $2;
+ $85 = ($84|0)!=(0);
+ if (!($85)) {
+ STACKTOP = sp;return;
+ }
+ }
+ $86 = $2;
+ $87 = $blocksize;
+ $88 = ($86>>>0)>=($87>>>0);
+ if ($88) {
+ $89 = $2;
+ $90 = $blocksize;
+ $91 = (($89>>>0) / ($90>>>0))&-1;
+ $inblocks = $91;
+ $92 = $hd;
+ $93 = ((($92)) + 152|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = $hd;
+ $96 = $inbuf;
+ $97 = $inblocks;
+ $98 = (FUNCTION_TABLE_iiii[$94 & 127]($95,$96,$97)|0);
+ $stack_burn = $98;
+ $99 = $hd;
+ $100 = ((($99)) + 144|0);
+ HEAP32[$100>>2] = 0;
+ $101 = $hd;
+ $102 = ((($101)) + 128|0);
+ $103 = $102;
+ $104 = $103;
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($103) + 4)|0;
+ $107 = $106;
+ $108 = HEAP32[$107>>2]|0;
+ $109 = $inblocks;
+ $110 = (_i64Add(($105|0),($108|0),($109|0),0)|0);
+ $111 = tempRet0;
+ $112 = $inblocks;
+ $113 = ($111>>>0)<(0);
+ $114 = ($110>>>0)<($112>>>0);
+ $115 = ($111|0)==(0);
+ $116 = $115 & $114;
+ $117 = $113 | $116;
+ $118 = $117&1;
+ $119 = ($118|0)<(0);
+ $120 = $119 << 31 >> 31;
+ $121 = $hd;
+ $122 = ((($121)) + 136|0);
+ $123 = $122;
+ $124 = $123;
+ $125 = HEAP32[$124>>2]|0;
+ $126 = (($123) + 4)|0;
+ $127 = $126;
+ $128 = HEAP32[$127>>2]|0;
+ $129 = (_i64Add(($125|0),($128|0),($118|0),($120|0))|0);
+ $130 = tempRet0;
+ $131 = $122;
+ $132 = $131;
+ HEAP32[$132>>2] = $129;
+ $133 = (($131) + 4)|0;
+ $134 = $133;
+ HEAP32[$134>>2] = $130;
+ $135 = $inblocks;
+ $136 = $hd;
+ $137 = ((($136)) + 128|0);
+ $138 = $137;
+ $139 = $138;
+ $140 = HEAP32[$139>>2]|0;
+ $141 = (($138) + 4)|0;
+ $142 = $141;
+ $143 = HEAP32[$142>>2]|0;
+ $144 = (_i64Add(($140|0),($143|0),($135|0),0)|0);
+ $145 = tempRet0;
+ $146 = $137;
+ $147 = $146;
+ HEAP32[$147>>2] = $144;
+ $148 = (($146) + 4)|0;
+ $149 = $148;
+ HEAP32[$149>>2] = $145;
+ $150 = $inblocks;
+ $151 = $blocksize;
+ $152 = Math_imul($150, $151)|0;
+ $153 = $2;
+ $154 = (($153) - ($152))|0;
+ $2 = $154;
+ $155 = $inblocks;
+ $156 = $blocksize;
+ $157 = Math_imul($155, $156)|0;
+ $158 = $inbuf;
+ $159 = (($158) + ($157)|0);
+ $inbuf = $159;
+ }
+ $160 = $stack_burn;
+ ___gcry_burn_stack($160);
+ ___gcry_burn_stack_dummy();
+ while(1) {
+ $161 = $2;
+ $162 = ($161|0)!=(0);
+ if (!($162)) {
+ label = 19;
+ break;
+ }
+ $163 = $hd;
+ $164 = ((($163)) + 144|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = $blocksize;
+ $167 = ($165>>>0)<($166>>>0);
+ if (!($167)) {
+ label = 19;
+ break;
+ }
+ $168 = $inbuf;
+ $169 = ((($168)) + 1|0);
+ $inbuf = $169;
+ $170 = HEAP8[$168>>0]|0;
+ $171 = $hd;
+ $172 = ((($171)) + 144|0);
+ $173 = HEAP32[$172>>2]|0;
+ $174 = (($173) + 1)|0;
+ HEAP32[$172>>2] = $174;
+ $175 = $hd;
+ $176 = (($175) + ($173)|0);
+ HEAP8[$176>>0] = $170;
+ $177 = $2;
+ $178 = (($177) + -1)|0;
+ $2 = $178;
+ }
+ if ((label|0) == 19) {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_poly1305_update($ctx,$m,$bytes) {
+ $ctx = $ctx|0;
+ $m = $m|0;
+ $bytes = $bytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $block_size = 0;
+ var $burn = 0, $state = 0, $want = 0, $want1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $m;
+ $2 = $bytes;
+ $3 = $0;
+ $4 = (_poly1305_get_state($3)|0);
+ $state = $4;
+ $burn = 0;
+ $5 = $0;
+ $6 = ((($5)) + 84|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = HEAP32[$7>>2]|0;
+ $block_size = $8;
+ $9 = $0;
+ $10 = ((($9)) + 88|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($11|0)!=(0);
+ do {
+ if ($12) {
+ $13 = $block_size;
+ $14 = $0;
+ $15 = ((($14)) + 88|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (($13) - ($16))|0;
+ $want = $17;
+ $18 = $want;
+ $19 = $2;
+ $20 = ($18>>>0)>($19>>>0);
+ if ($20) {
+ $21 = $2;
+ $want = $21;
+ }
+ $22 = $0;
+ $23 = ((($22)) + 68|0);
+ $24 = $0;
+ $25 = ((($24)) + 88|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($23) + ($26)|0);
+ $28 = $1;
+ $29 = $want;
+ _buf_cpy_2136($27,$28,$29);
+ $30 = $want;
+ $31 = $2;
+ $32 = (($31) - ($30))|0;
+ $2 = $32;
+ $33 = $want;
+ $34 = $1;
+ $35 = (($34) + ($33)|0);
+ $1 = $35;
+ $36 = $want;
+ $37 = $0;
+ $38 = ((($37)) + 88|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($39) + ($36))|0;
+ HEAP32[$38>>2] = $40;
+ $41 = $0;
+ $42 = ((($41)) + 88|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = $block_size;
+ $45 = ($43>>>0)<($44>>>0);
+ if ($45) {
+ STACKTOP = sp;return;
+ } else {
+ $46 = $0;
+ $47 = ((($46)) + 84|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ((($48)) + 8|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $state;
+ $52 = $0;
+ $53 = ((($52)) + 68|0);
+ $54 = $block_size;
+ $55 = (FUNCTION_TABLE_iiii[$50 & 127]($51,$53,$54)|0);
+ $burn = $55;
+ $56 = $0;
+ $57 = ((($56)) + 88|0);
+ HEAP32[$57>>2] = 0;
+ break;
+ }
+ }
+ } while(0);
+ $58 = $2;
+ $59 = $block_size;
+ $60 = ($58>>>0)>=($59>>>0);
+ if ($60) {
+ $61 = $2;
+ $62 = $block_size;
+ $63 = (($62) - 1)|0;
+ $64 = $63 ^ -1;
+ $65 = $61 & $64;
+ $want1 = $65;
+ $66 = $0;
+ $67 = ((($66)) + 84|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ((($68)) + 8|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = $state;
+ $72 = $1;
+ $73 = $want1;
+ $74 = (FUNCTION_TABLE_iiii[$70 & 127]($71,$72,$73)|0);
+ $burn = $74;
+ $75 = $want1;
+ $76 = $1;
+ $77 = (($76) + ($75)|0);
+ $1 = $77;
+ $78 = $want1;
+ $79 = $2;
+ $80 = (($79) - ($78))|0;
+ $2 = $80;
+ }
+ $81 = $2;
+ $82 = ($81|0)!=(0);
+ if ($82) {
+ $83 = $0;
+ $84 = ((($83)) + 68|0);
+ $85 = $0;
+ $86 = ((($85)) + 88|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = (($84) + ($87)|0);
+ $89 = $1;
+ $90 = $2;
+ _buf_cpy_2136($88,$89,$90);
+ $91 = $2;
+ $92 = $0;
+ $93 = ((($92)) + 88|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (($94) + ($91))|0;
+ HEAP32[$93>>2] = $95;
+ }
+ $96 = $burn;
+ $97 = ($96|0)!=(0);
+ if (!($97)) {
+ STACKTOP = sp;return;
+ }
+ $98 = $burn;
+ ___gcry_burn_stack($98);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _poly1305_get_state($ctx) {
+ $ctx = $ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $0;
+ $c = $1;
+ $2 = $c;
+ $3 = ((($2)) + 3|0);
+ $c = $3;
+ $4 = $c;
+ $5 = $4;
+ $6 = $5 & 3;
+ $7 = $c;
+ $8 = (0 - ($6))|0;
+ $9 = (($7) + ($8)|0);
+ $c = $9;
+ $10 = $c;
+ STACKTOP = sp;return ($10|0);
+}
+function _buf_cpy_2136($_dst,$_src,$len) {
+ $_dst = $_dst|0;
+ $_src = $_src|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dst = 0, $ldst = 0, $longmask = 0, $lsrc = 0, $src = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_dst;
+ $1 = $_src;
+ $2 = $len;
+ $3 = $0;
+ $dst = $3;
+ $4 = $1;
+ $src = $4;
+ $longmask = 3;
+ $5 = $dst;
+ $6 = $5;
+ $7 = $src;
+ $8 = $7;
+ $9 = $6 | $8;
+ $10 = $9 & 3;
+ $11 = ($10|0)!=(0);
+ if (!($11)) {
+ $12 = $dst;
+ $ldst = $12;
+ $13 = $src;
+ $lsrc = $13;
+ while(1) {
+ $14 = $2;
+ $15 = ($14>>>0)>=(4);
+ if (!($15)) {
+ break;
+ }
+ $16 = $lsrc;
+ $17 = ((($16)) + 4|0);
+ $lsrc = $17;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $ldst;
+ $20 = ((($19)) + 4|0);
+ $ldst = $20;
+ HEAP32[$19>>2] = $18;
+ $21 = $2;
+ $22 = (($21) - 4)|0;
+ $2 = $22;
+ }
+ $23 = $ldst;
+ $dst = $23;
+ $24 = $lsrc;
+ $src = $24;
+ }
+ while(1) {
+ $25 = $2;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ break;
+ }
+ $27 = $src;
+ $28 = ((($27)) + 1|0);
+ $src = $28;
+ $29 = HEAP8[$27>>0]|0;
+ $30 = $dst;
+ $31 = ((($30)) + 1|0);
+ $dst = $31;
+ HEAP8[$30>>0] = $29;
+ $32 = $2;
+ $33 = (($32) + -1)|0;
+ $2 = $33;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_poly1305_finish($ctx,$mac) {
+ $ctx = $ctx|0;
+ $mac = $mac|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $burn = 0, $state = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $mac;
+ $2 = $0;
+ $3 = (_poly1305_get_state($2)|0);
+ $state = $3;
+ $4 = $0;
+ $5 = ((($4)) + 84|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $state;
+ $10 = $0;
+ $11 = ((($10)) + 68|0);
+ $12 = $0;
+ $13 = ((($12)) + 88|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $1;
+ $16 = (FUNCTION_TABLE_iiiii[$8 & 127]($9,$11,$14,$15)|0);
+ $burn = $16;
+ $17 = $burn;
+ ___gcry_burn_stack($17);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function __gcry_poly1305_init($ctx,$key,$keylen) {
+ $ctx = $ctx|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, $_vlen = 0;
+ var $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $features = 0, $keytmp = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp + 8|0;
+ $keytmp = sp + 48|0;
+ $_vset_long = sp;
+ $1 = $ctx;
+ $2 = $key;
+ $3 = $keylen;
+ $4 = (__gcry_get_hw_features()|0);
+ $features = $4;
+ $5 = HEAP32[17725]|0;
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ HEAP32[17725] = 1;
+ $7 = (_selftest_2141()|0);
+ HEAP32[17726] = $7;
+ $8 = HEAP32[17726]|0;
+ $9 = ($8|0)!=(0|0);
+ if ($9) {
+ $10 = HEAP32[17726]|0;
+ HEAP32[$vararg_buffer>>2] = $10;
+ __gcry_log_error(50431,$vararg_buffer);
+ }
+ }
+ $11 = $3;
+ $12 = ($11|0)!=(32);
+ if ($12) {
+ $0 = 44;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ $13 = HEAP32[17726]|0;
+ $14 = ($13|0)!=(0|0);
+ if ($14) {
+ $0 = 50;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+ }
+ $15 = $1;
+ $16 = ((($15)) + 84|0);
+ HEAP32[$16>>2] = 12944;
+ $17 = $2;
+ _buf_cpy_2136($keytmp,$17,32);
+ $18 = $1;
+ _poly1305_init($18,$keytmp);
+ $_vptr = $keytmp;
+ $_vlen = 32;
+ $_vset = 0;
+ $19 = $_vset;
+ $20 = $19&255;
+ $21 = $_vset_long;
+ $22 = $21;
+ HEAP32[$22>>2] = $20;
+ $23 = (($21) + 4)|0;
+ $24 = $23;
+ HEAP32[$24>>2] = 0;
+ while(1) {
+ $25 = $_vptr;
+ $26 = $25;
+ $27 = $26 & 7;
+ $28 = ($27|0)!=(0);
+ $29 = $_vlen;
+ $30 = ($29|0)!=(0);
+ $31 = $28 ? $30 : 0;
+ if (!($31)) {
+ break;
+ }
+ $32 = $_vset;
+ $33 = $_vptr;
+ HEAP8[$33>>0] = $32;
+ $34 = $_vptr;
+ $35 = ((($34)) + 1|0);
+ $_vptr = $35;
+ $36 = $_vlen;
+ $37 = (($36) + -1)|0;
+ $_vlen = $37;
+ }
+ $38 = $_vlen;
+ $39 = ($38>>>0)<(8);
+ if (!($39)) {
+ $40 = $_vset_long;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (($40) + 4)|0;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (___muldi3(($42|0),($45|0),16843009,16843009)|0);
+ $47 = tempRet0;
+ $48 = $_vset_long;
+ $49 = $48;
+ HEAP32[$49>>2] = $46;
+ $50 = (($48) + 4)|0;
+ $51 = $50;
+ HEAP32[$51>>2] = $47;
+ while(1) {
+ $52 = $_vptr;
+ $_vptr_long = $52;
+ $53 = $_vset_long;
+ $54 = $53;
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (($53) + 4)|0;
+ $57 = $56;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $_vptr_long;
+ $60 = $59;
+ $61 = $60;
+ HEAP32[$61>>2] = $55;
+ $62 = (($60) + 4)|0;
+ $63 = $62;
+ HEAP32[$63>>2] = $58;
+ $64 = $_vlen;
+ $65 = (($64) - 8)|0;
+ $_vlen = $65;
+ $66 = $_vptr;
+ $67 = ((($66)) + 8|0);
+ $_vptr = $67;
+ $68 = $_vlen;
+ $69 = ($68>>>0)>=(8);
+ if (!($69)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $70 = $_vlen;
+ $71 = ($70|0)!=(0);
+ if (!($71)) {
+ break;
+ }
+ $72 = $_vset;
+ $73 = $_vptr;
+ HEAP8[$73>>0] = $72;
+ $74 = $_vptr;
+ $75 = ((($74)) + 1|0);
+ $_vptr = $75;
+ $76 = $_vlen;
+ $77 = (($76) + -1)|0;
+ $_vlen = $77;
+ }
+ $0 = 0;
+ $78 = $0;
+ STACKTOP = sp;return ($78|0);
+}
+function _selftest_2141() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $all_key = 0, $all_msg = 0, $ctx = 0, $i = 0, $j = 0, $mac = 0, $total_ctx = 0, dest = 0;
+ var label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp + 100|0;
+ $total_ctx = sp + 8|0;
+ $all_key = sp + 472|0;
+ $all_msg = sp + 216|0;
+ $mac = sp + 200|0;
+ dest=$ctx; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ dest=$total_ctx; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ dest=$mac; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ _poly1305_auth($mac,50044,131,50175);
+ $1 = (_memcmp(50207,$mac,16)|0);
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $0 = 50223;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ }
+ dest=$mac; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ (__gcry_poly1305_init($ctx,50175,32)|0);
+ __gcry_poly1305_update($ctx,50044,32);
+ __gcry_poly1305_update($ctx,(50076),64);
+ __gcry_poly1305_update($ctx,(50140),16);
+ __gcry_poly1305_update($ctx,(50156),8);
+ __gcry_poly1305_update($ctx,(50164),4);
+ __gcry_poly1305_update($ctx,(50168),2);
+ __gcry_poly1305_update($ctx,(50170),1);
+ __gcry_poly1305_update($ctx,(50171),1);
+ __gcry_poly1305_update($ctx,(50172),1);
+ __gcry_poly1305_update($ctx,(50173),1);
+ __gcry_poly1305_update($ctx,(50174),1);
+ __gcry_poly1305_finish($ctx,$mac);
+ $3 = (_memcmp(50207,$mac,16)|0);
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $0 = 50247;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ }
+ dest=$mac; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ _poly1305_auth($mac,50271,16,50287);
+ $5 = (_memcmp(50319,$mac,16)|0);
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $0 = 50335;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ }
+ (__gcry_poly1305_init($total_ctx,50359,32)|0);
+ $i = 0;
+ while(1) {
+ $7 = $i;
+ $8 = ($7>>>0)<(256);
+ if (!($8)) {
+ break;
+ }
+ $j = 0;
+ while(1) {
+ $9 = $j;
+ $10 = ($9>>>0)<(32);
+ if (!($10)) {
+ break;
+ }
+ $11 = $i;
+ $12 = $11&255;
+ $13 = $j;
+ $14 = (($all_key) + ($13)|0);
+ HEAP8[$14>>0] = $12;
+ $15 = $j;
+ $16 = (($15) + 1)|0;
+ $j = $16;
+ }
+ $j = 0;
+ while(1) {
+ $17 = $j;
+ $18 = $i;
+ $19 = ($17>>>0)<($18>>>0);
+ if (!($19)) {
+ break;
+ }
+ $20 = $i;
+ $21 = $20&255;
+ $22 = $j;
+ $23 = (($all_msg) + ($22)|0);
+ HEAP8[$23>>0] = $21;
+ $24 = $j;
+ $25 = (($24) + 1)|0;
+ $j = $25;
+ }
+ $26 = $i;
+ _poly1305_auth($mac,$all_msg,$26,$all_key);
+ __gcry_poly1305_update($total_ctx,$mac,16);
+ $27 = $i;
+ $28 = (($27) + 1)|0;
+ $i = $28;
+ }
+ __gcry_poly1305_finish($total_ctx,$mac);
+ $29 = (_memcmp(50391,$mac,16)|0);
+ $30 = ($29|0)!=(0);
+ if ($30) {
+ $0 = 50407;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ } else {
+ $0 = 0;
+ $31 = $0;
+ STACKTOP = sp;return ($31|0);
+ }
+ return (0)|0;
+}
+function _poly1305_auth($mac,$m,$bytes,$key) {
+ $mac = $mac|0;
+ $m = $m|0;
+ $bytes = $bytes|0;
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $ctx = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ctx = sp + 20|0;
+ $_vset_long = sp;
+ $0 = $mac;
+ $1 = $m;
+ $2 = $bytes;
+ $3 = $key;
+ dest=$ctx; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $4 = $3;
+ (__gcry_poly1305_init($ctx,$4,32)|0);
+ $5 = $1;
+ $6 = $2;
+ __gcry_poly1305_update($ctx,$5,$6);
+ $7 = $0;
+ __gcry_poly1305_finish($ctx,$7);
+ $_vptr = $ctx;
+ $_vlen = 92;
+ $_vset = 0;
+ $8 = $_vset;
+ $9 = $8&255;
+ $10 = $_vset_long;
+ $11 = $10;
+ HEAP32[$11>>2] = $9;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = 0;
+ while(1) {
+ $14 = $_vptr;
+ $15 = $14;
+ $16 = $15 & 7;
+ $17 = ($16|0)!=(0);
+ $18 = $_vlen;
+ $19 = ($18|0)!=(0);
+ $20 = $17 ? $19 : 0;
+ if (!($20)) {
+ break;
+ }
+ $21 = $_vset;
+ $22 = $_vptr;
+ HEAP8[$22>>0] = $21;
+ $23 = $_vptr;
+ $24 = ((($23)) + 1|0);
+ $_vptr = $24;
+ $25 = $_vlen;
+ $26 = (($25) + -1)|0;
+ $_vlen = $26;
+ }
+ $27 = $_vlen;
+ $28 = ($27>>>0)<(8);
+ if (!($28)) {
+ $29 = $_vset_long;
+ $30 = $29;
+ $31 = HEAP32[$30>>2]|0;
+ $32 = (($29) + 4)|0;
+ $33 = $32;
+ $34 = HEAP32[$33>>2]|0;
+ $35 = (___muldi3(($31|0),($34|0),16843009,16843009)|0);
+ $36 = tempRet0;
+ $37 = $_vset_long;
+ $38 = $37;
+ HEAP32[$38>>2] = $35;
+ $39 = (($37) + 4)|0;
+ $40 = $39;
+ HEAP32[$40>>2] = $36;
+ while(1) {
+ $41 = $_vptr;
+ $_vptr_long = $41;
+ $42 = $_vset_long;
+ $43 = $42;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = (($42) + 4)|0;
+ $46 = $45;
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $_vptr_long;
+ $49 = $48;
+ $50 = $49;
+ HEAP32[$50>>2] = $44;
+ $51 = (($49) + 4)|0;
+ $52 = $51;
+ HEAP32[$52>>2] = $47;
+ $53 = $_vlen;
+ $54 = (($53) - 8)|0;
+ $_vlen = $54;
+ $55 = $_vptr;
+ $56 = ((($55)) + 8|0);
+ $_vptr = $56;
+ $57 = $_vlen;
+ $58 = ($57>>>0)>=(8);
+ if (!($58)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $59 = $_vlen;
+ $60 = ($59|0)!=(0);
+ if (!($60)) {
+ break;
+ }
+ $61 = $_vset;
+ $62 = $_vptr;
+ HEAP8[$62>>0] = $61;
+ $63 = $_vptr;
+ $64 = ((($63)) + 1|0);
+ $_vptr = $64;
+ $65 = $_vlen;
+ $66 = (($65) + -1)|0;
+ $_vlen = $66;
+ }
+ STACKTOP = sp;return;
+}
+function _poly1305_init_ext_ref32($state,$key) {
+ $state = $state|0;
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $st = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $state;
+ $1 = $key;
+ $2 = $0;
+ $st = $2;
+ $3 = $1;
+ $4 = (_buf_get_le32_2147($3)|0);
+ $5 = $4 & 67108863;
+ $6 = $st;
+ HEAP32[$6>>2] = $5;
+ $7 = $1;
+ $8 = ((($7)) + 3|0);
+ $9 = (_buf_get_le32_2147($8)|0);
+ $10 = $9 >>> 2;
+ $11 = $10 & 67108611;
+ $12 = $st;
+ $13 = ((($12)) + 4|0);
+ HEAP32[$13>>2] = $11;
+ $14 = $1;
+ $15 = ((($14)) + 6|0);
+ $16 = (_buf_get_le32_2147($15)|0);
+ $17 = $16 >>> 4;
+ $18 = $17 & 67092735;
+ $19 = $st;
+ $20 = ((($19)) + 8|0);
+ HEAP32[$20>>2] = $18;
+ $21 = $1;
+ $22 = ((($21)) + 9|0);
+ $23 = (_buf_get_le32_2147($22)|0);
+ $24 = $23 >>> 6;
+ $25 = $24 & 66076671;
+ $26 = $st;
+ $27 = ((($26)) + 12|0);
+ HEAP32[$27>>2] = $25;
+ $28 = $1;
+ $29 = ((($28)) + 12|0);
+ $30 = (_buf_get_le32_2147($29)|0);
+ $31 = $30 >>> 8;
+ $32 = $31 & 1048575;
+ $33 = $st;
+ $34 = ((($33)) + 16|0);
+ HEAP32[$34>>2] = $32;
+ $35 = $st;
+ $36 = ((($35)) + 20|0);
+ HEAP32[$36>>2] = 0;
+ $37 = $st;
+ $38 = ((($37)) + 20|0);
+ $39 = ((($38)) + 4|0);
+ HEAP32[$39>>2] = 0;
+ $40 = $st;
+ $41 = ((($40)) + 20|0);
+ $42 = ((($41)) + 8|0);
+ HEAP32[$42>>2] = 0;
+ $43 = $st;
+ $44 = ((($43)) + 20|0);
+ $45 = ((($44)) + 12|0);
+ HEAP32[$45>>2] = 0;
+ $46 = $st;
+ $47 = ((($46)) + 20|0);
+ $48 = ((($47)) + 16|0);
+ HEAP32[$48>>2] = 0;
+ $49 = $1;
+ $50 = ((($49)) + 16|0);
+ $51 = (_buf_get_le32_2147($50)|0);
+ $52 = $st;
+ $53 = ((($52)) + 40|0);
+ HEAP32[$53>>2] = $51;
+ $54 = $1;
+ $55 = ((($54)) + 20|0);
+ $56 = (_buf_get_le32_2147($55)|0);
+ $57 = $st;
+ $58 = ((($57)) + 40|0);
+ $59 = ((($58)) + 4|0);
+ HEAP32[$59>>2] = $56;
+ $60 = $1;
+ $61 = ((($60)) + 24|0);
+ $62 = (_buf_get_le32_2147($61)|0);
+ $63 = $st;
+ $64 = ((($63)) + 40|0);
+ $65 = ((($64)) + 8|0);
+ HEAP32[$65>>2] = $62;
+ $66 = $1;
+ $67 = ((($66)) + 28|0);
+ $68 = (_buf_get_le32_2147($67)|0);
+ $69 = $st;
+ $70 = ((($69)) + 40|0);
+ $71 = ((($70)) + 12|0);
+ HEAP32[$71>>2] = $68;
+ $72 = $st;
+ $73 = ((($72)) + 56|0);
+ HEAP8[$73>>0] = 0;
+ STACKTOP = sp;return;
+}
+function _buf_get_le32_2147($_buf) {
+ $_buf = $_buf|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $0;
+ $in = $1;
+ $2 = $in;
+ $3 = ((($2)) + 3|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = $4&255;
+ $6 = $5 << 24;
+ $7 = $in;
+ $8 = ((($7)) + 2|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = $9&255;
+ $11 = $10 << 16;
+ $12 = $6 | $11;
+ $13 = $in;
+ $14 = ((($13)) + 1|0);
+ $15 = HEAP8[$14>>0]|0;
+ $16 = $15&255;
+ $17 = $16 << 8;
+ $18 = $12 | $17;
+ $19 = $in;
+ $20 = HEAP8[$19>>0]|0;
+ $21 = $20&255;
+ $22 = $18 | $21;
+ STACKTOP = sp;return ($22|0);
+}
+function _poly1305_blocks_ref32($state,$m,$bytes) {
+ $state = $state|0;
+ $m = $m|0;
+ $bytes = $bytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
+ var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
+ var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
+ var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
+ var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
+ var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
+ var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
+ var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
+ var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
+ var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $d0 = 0, $d1 = 0, $d2 = 0, $d3 = 0, $d4 = 0, $h0 = 0, $h1 = 0, $h2 = 0, $h3 = 0, $h4 = 0, $hibit = 0;
+ var $r0 = 0, $r1 = 0, $r2 = 0, $r3 = 0, $r4 = 0, $s1 = 0, $s2 = 0, $s3 = 0, $s4 = 0, $st = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $d0 = sp + 32|0;
+ $d1 = sp + 24|0;
+ $d2 = sp + 16|0;
+ $d3 = sp + 8|0;
+ $d4 = sp;
+ $0 = $state;
+ $1 = $m;
+ $2 = $bytes;
+ $3 = $0;
+ $st = $3;
+ $4 = $st;
+ $5 = ((($4)) + 56|0);
+ $6 = HEAP8[$5>>0]|0;
+ $7 = $6&255;
+ $8 = ($7|0)!=(0);
+ $9 = $8 ? 0 : 16777216;
+ $hibit = $9;
+ $10 = $st;
+ $11 = HEAP32[$10>>2]|0;
+ $r0 = $11;
+ $12 = $st;
+ $13 = ((($12)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $r1 = $14;
+ $15 = $st;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ $r2 = $17;
+ $18 = $st;
+ $19 = ((($18)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $r3 = $20;
+ $21 = $st;
+ $22 = ((($21)) + 16|0);
+ $23 = HEAP32[$22>>2]|0;
+ $r4 = $23;
+ $24 = $r1;
+ $25 = ($24*5)|0;
+ $s1 = $25;
+ $26 = $r2;
+ $27 = ($26*5)|0;
+ $s2 = $27;
+ $28 = $r3;
+ $29 = ($28*5)|0;
+ $s3 = $29;
+ $30 = $r4;
+ $31 = ($30*5)|0;
+ $s4 = $31;
+ $32 = $st;
+ $33 = ((($32)) + 20|0);
+ $34 = HEAP32[$33>>2]|0;
+ $h0 = $34;
+ $35 = $st;
+ $36 = ((($35)) + 20|0);
+ $37 = ((($36)) + 4|0);
+ $38 = HEAP32[$37>>2]|0;
+ $h1 = $38;
+ $39 = $st;
+ $40 = ((($39)) + 20|0);
+ $41 = ((($40)) + 8|0);
+ $42 = HEAP32[$41>>2]|0;
+ $h2 = $42;
+ $43 = $st;
+ $44 = ((($43)) + 20|0);
+ $45 = ((($44)) + 12|0);
+ $46 = HEAP32[$45>>2]|0;
+ $h3 = $46;
+ $47 = $st;
+ $48 = ((($47)) + 20|0);
+ $49 = ((($48)) + 16|0);
+ $50 = HEAP32[$49>>2]|0;
+ $h4 = $50;
+ while(1) {
+ $51 = $2;
+ $52 = ($51>>>0)>=(16);
+ if (!($52)) {
+ break;
+ }
+ $53 = $1;
+ $54 = (_buf_get_le32_2147($53)|0);
+ $55 = $54 & 67108863;
+ $56 = $h0;
+ $57 = (($56) + ($55))|0;
+ $h0 = $57;
+ $58 = $1;
+ $59 = ((($58)) + 3|0);
+ $60 = (_buf_get_le32_2147($59)|0);
+ $61 = $60 >>> 2;
+ $62 = $61 & 67108863;
+ $63 = $h1;
+ $64 = (($63) + ($62))|0;
+ $h1 = $64;
+ $65 = $1;
+ $66 = ((($65)) + 6|0);
+ $67 = (_buf_get_le32_2147($66)|0);
+ $68 = $67 >>> 4;
+ $69 = $68 & 67108863;
+ $70 = $h2;
+ $71 = (($70) + ($69))|0;
+ $h2 = $71;
+ $72 = $1;
+ $73 = ((($72)) + 9|0);
+ $74 = (_buf_get_le32_2147($73)|0);
+ $75 = $74 >>> 6;
+ $76 = $75 & 67108863;
+ $77 = $h3;
+ $78 = (($77) + ($76))|0;
+ $h3 = $78;
+ $79 = $1;
+ $80 = ((($79)) + 12|0);
+ $81 = (_buf_get_le32_2147($80)|0);
+ $82 = $81 >>> 8;
+ $83 = $hibit;
+ $84 = $82 | $83;
+ $85 = $h4;
+ $86 = (($85) + ($84))|0;
+ $h4 = $86;
+ $87 = $h0;
+ $88 = $r0;
+ $89 = (___muldi3(($87|0),0,($88|0),0)|0);
+ $90 = tempRet0;
+ $91 = $h1;
+ $92 = $s4;
+ $93 = (___muldi3(($91|0),0,($92|0),0)|0);
+ $94 = tempRet0;
+ $95 = (_i64Add(($89|0),($90|0),($93|0),($94|0))|0);
+ $96 = tempRet0;
+ $97 = $h2;
+ $98 = $s3;
+ $99 = (___muldi3(($97|0),0,($98|0),0)|0);
+ $100 = tempRet0;
+ $101 = (_i64Add(($95|0),($96|0),($99|0),($100|0))|0);
+ $102 = tempRet0;
+ $103 = $h3;
+ $104 = $s2;
+ $105 = (___muldi3(($103|0),0,($104|0),0)|0);
+ $106 = tempRet0;
+ $107 = (_i64Add(($101|0),($102|0),($105|0),($106|0))|0);
+ $108 = tempRet0;
+ $109 = $h4;
+ $110 = $s1;
+ $111 = (___muldi3(($109|0),0,($110|0),0)|0);
+ $112 = tempRet0;
+ $113 = (_i64Add(($107|0),($108|0),($111|0),($112|0))|0);
+ $114 = tempRet0;
+ $115 = $d0;
+ $116 = $115;
+ HEAP32[$116>>2] = $113;
+ $117 = (($115) + 4)|0;
+ $118 = $117;
+ HEAP32[$118>>2] = $114;
+ $119 = $h0;
+ $120 = $r1;
+ $121 = (___muldi3(($119|0),0,($120|0),0)|0);
+ $122 = tempRet0;
+ $123 = $h1;
+ $124 = $r0;
+ $125 = (___muldi3(($123|0),0,($124|0),0)|0);
+ $126 = tempRet0;
+ $127 = (_i64Add(($121|0),($122|0),($125|0),($126|0))|0);
+ $128 = tempRet0;
+ $129 = $h2;
+ $130 = $s4;
+ $131 = (___muldi3(($129|0),0,($130|0),0)|0);
+ $132 = tempRet0;
+ $133 = (_i64Add(($127|0),($128|0),($131|0),($132|0))|0);
+ $134 = tempRet0;
+ $135 = $h3;
+ $136 = $s3;
+ $137 = (___muldi3(($135|0),0,($136|0),0)|0);
+ $138 = tempRet0;
+ $139 = (_i64Add(($133|0),($134|0),($137|0),($138|0))|0);
+ $140 = tempRet0;
+ $141 = $h4;
+ $142 = $s2;
+ $143 = (___muldi3(($141|0),0,($142|0),0)|0);
+ $144 = tempRet0;
+ $145 = (_i64Add(($139|0),($140|0),($143|0),($144|0))|0);
+ $146 = tempRet0;
+ $147 = $d1;
+ $148 = $147;
+ HEAP32[$148>>2] = $145;
+ $149 = (($147) + 4)|0;
+ $150 = $149;
+ HEAP32[$150>>2] = $146;
+ $151 = $h0;
+ $152 = $r2;
+ $153 = (___muldi3(($151|0),0,($152|0),0)|0);
+ $154 = tempRet0;
+ $155 = $h1;
+ $156 = $r1;
+ $157 = (___muldi3(($155|0),0,($156|0),0)|0);
+ $158 = tempRet0;
+ $159 = (_i64Add(($153|0),($154|0),($157|0),($158|0))|0);
+ $160 = tempRet0;
+ $161 = $h2;
+ $162 = $r0;
+ $163 = (___muldi3(($161|0),0,($162|0),0)|0);
+ $164 = tempRet0;
+ $165 = (_i64Add(($159|0),($160|0),($163|0),($164|0))|0);
+ $166 = tempRet0;
+ $167 = $h3;
+ $168 = $s4;
+ $169 = (___muldi3(($167|0),0,($168|0),0)|0);
+ $170 = tempRet0;
+ $171 = (_i64Add(($165|0),($166|0),($169|0),($170|0))|0);
+ $172 = tempRet0;
+ $173 = $h4;
+ $174 = $s3;
+ $175 = (___muldi3(($173|0),0,($174|0),0)|0);
+ $176 = tempRet0;
+ $177 = (_i64Add(($171|0),($172|0),($175|0),($176|0))|0);
+ $178 = tempRet0;
+ $179 = $d2;
+ $180 = $179;
+ HEAP32[$180>>2] = $177;
+ $181 = (($179) + 4)|0;
+ $182 = $181;
+ HEAP32[$182>>2] = $178;
+ $183 = $h0;
+ $184 = $r3;
+ $185 = (___muldi3(($183|0),0,($184|0),0)|0);
+ $186 = tempRet0;
+ $187 = $h1;
+ $188 = $r2;
+ $189 = (___muldi3(($187|0),0,($188|0),0)|0);
+ $190 = tempRet0;
+ $191 = (_i64Add(($185|0),($186|0),($189|0),($190|0))|0);
+ $192 = tempRet0;
+ $193 = $h2;
+ $194 = $r1;
+ $195 = (___muldi3(($193|0),0,($194|0),0)|0);
+ $196 = tempRet0;
+ $197 = (_i64Add(($191|0),($192|0),($195|0),($196|0))|0);
+ $198 = tempRet0;
+ $199 = $h3;
+ $200 = $r0;
+ $201 = (___muldi3(($199|0),0,($200|0),0)|0);
+ $202 = tempRet0;
+ $203 = (_i64Add(($197|0),($198|0),($201|0),($202|0))|0);
+ $204 = tempRet0;
+ $205 = $h4;
+ $206 = $s4;
+ $207 = (___muldi3(($205|0),0,($206|0),0)|0);
+ $208 = tempRet0;
+ $209 = (_i64Add(($203|0),($204|0),($207|0),($208|0))|0);
+ $210 = tempRet0;
+ $211 = $d3;
+ $212 = $211;
+ HEAP32[$212>>2] = $209;
+ $213 = (($211) + 4)|0;
+ $214 = $213;
+ HEAP32[$214>>2] = $210;
+ $215 = $h0;
+ $216 = $r4;
+ $217 = (___muldi3(($215|0),0,($216|0),0)|0);
+ $218 = tempRet0;
+ $219 = $h1;
+ $220 = $r3;
+ $221 = (___muldi3(($219|0),0,($220|0),0)|0);
+ $222 = tempRet0;
+ $223 = (_i64Add(($217|0),($218|0),($221|0),($222|0))|0);
+ $224 = tempRet0;
+ $225 = $h2;
+ $226 = $r2;
+ $227 = (___muldi3(($225|0),0,($226|0),0)|0);
+ $228 = tempRet0;
+ $229 = (_i64Add(($223|0),($224|0),($227|0),($228|0))|0);
+ $230 = tempRet0;
+ $231 = $h3;
+ $232 = $r1;
+ $233 = (___muldi3(($231|0),0,($232|0),0)|0);
+ $234 = tempRet0;
+ $235 = (_i64Add(($229|0),($230|0),($233|0),($234|0))|0);
+ $236 = tempRet0;
+ $237 = $h4;
+ $238 = $r0;
+ $239 = (___muldi3(($237|0),0,($238|0),0)|0);
+ $240 = tempRet0;
+ $241 = (_i64Add(($235|0),($236|0),($239|0),($240|0))|0);
+ $242 = tempRet0;
+ $243 = $d4;
+ $244 = $243;
+ HEAP32[$244>>2] = $241;
+ $245 = (($243) + 4)|0;
+ $246 = $245;
+ HEAP32[$246>>2] = $242;
+ $247 = $d0;
+ $248 = $247;
+ $249 = HEAP32[$248>>2]|0;
+ $250 = (($247) + 4)|0;
+ $251 = $250;
+ $252 = HEAP32[$251>>2]|0;
+ $253 = (_bitshift64Lshr(($249|0),($252|0),26)|0);
+ $254 = tempRet0;
+ $c = $253;
+ $255 = $d0;
+ $256 = $255;
+ $257 = HEAP32[$256>>2]|0;
+ $258 = (($255) + 4)|0;
+ $259 = $258;
+ $260 = HEAP32[$259>>2]|0;
+ $261 = $257 & 67108863;
+ $h0 = $261;
+ $262 = $c;
+ $263 = $d1;
+ $264 = $263;
+ $265 = HEAP32[$264>>2]|0;
+ $266 = (($263) + 4)|0;
+ $267 = $266;
+ $268 = HEAP32[$267>>2]|0;
+ $269 = (_i64Add(($265|0),($268|0),($262|0),0)|0);
+ $270 = tempRet0;
+ $271 = $d1;
+ $272 = $271;
+ HEAP32[$272>>2] = $269;
+ $273 = (($271) + 4)|0;
+ $274 = $273;
+ HEAP32[$274>>2] = $270;
+ $275 = $d1;
+ $276 = $275;
+ $277 = HEAP32[$276>>2]|0;
+ $278 = (($275) + 4)|0;
+ $279 = $278;
+ $280 = HEAP32[$279>>2]|0;
+ $281 = (_bitshift64Lshr(($277|0),($280|0),26)|0);
+ $282 = tempRet0;
+ $c = $281;
+ $283 = $d1;
+ $284 = $283;
+ $285 = HEAP32[$284>>2]|0;
+ $286 = (($283) + 4)|0;
+ $287 = $286;
+ $288 = HEAP32[$287>>2]|0;
+ $289 = $285 & 67108863;
+ $h1 = $289;
+ $290 = $c;
+ $291 = $d2;
+ $292 = $291;
+ $293 = HEAP32[$292>>2]|0;
+ $294 = (($291) + 4)|0;
+ $295 = $294;
+ $296 = HEAP32[$295>>2]|0;
+ $297 = (_i64Add(($293|0),($296|0),($290|0),0)|0);
+ $298 = tempRet0;
+ $299 = $d2;
+ $300 = $299;
+ HEAP32[$300>>2] = $297;
+ $301 = (($299) + 4)|0;
+ $302 = $301;
+ HEAP32[$302>>2] = $298;
+ $303 = $d2;
+ $304 = $303;
+ $305 = HEAP32[$304>>2]|0;
+ $306 = (($303) + 4)|0;
+ $307 = $306;
+ $308 = HEAP32[$307>>2]|0;
+ $309 = (_bitshift64Lshr(($305|0),($308|0),26)|0);
+ $310 = tempRet0;
+ $c = $309;
+ $311 = $d2;
+ $312 = $311;
+ $313 = HEAP32[$312>>2]|0;
+ $314 = (($311) + 4)|0;
+ $315 = $314;
+ $316 = HEAP32[$315>>2]|0;
+ $317 = $313 & 67108863;
+ $h2 = $317;
+ $318 = $c;
+ $319 = $d3;
+ $320 = $319;
+ $321 = HEAP32[$320>>2]|0;
+ $322 = (($319) + 4)|0;
+ $323 = $322;
+ $324 = HEAP32[$323>>2]|0;
+ $325 = (_i64Add(($321|0),($324|0),($318|0),0)|0);
+ $326 = tempRet0;
+ $327 = $d3;
+ $328 = $327;
+ HEAP32[$328>>2] = $325;
+ $329 = (($327) + 4)|0;
+ $330 = $329;
+ HEAP32[$330>>2] = $326;
+ $331 = $d3;
+ $332 = $331;
+ $333 = HEAP32[$332>>2]|0;
+ $334 = (($331) + 4)|0;
+ $335 = $334;
+ $336 = HEAP32[$335>>2]|0;
+ $337 = (_bitshift64Lshr(($333|0),($336|0),26)|0);
+ $338 = tempRet0;
+ $c = $337;
+ $339 = $d3;
+ $340 = $339;
+ $341 = HEAP32[$340>>2]|0;
+ $342 = (($339) + 4)|0;
+ $343 = $342;
+ $344 = HEAP32[$343>>2]|0;
+ $345 = $341 & 67108863;
+ $h3 = $345;
+ $346 = $c;
+ $347 = $d4;
+ $348 = $347;
+ $349 = HEAP32[$348>>2]|0;
+ $350 = (($347) + 4)|0;
+ $351 = $350;
+ $352 = HEAP32[$351>>2]|0;
+ $353 = (_i64Add(($349|0),($352|0),($346|0),0)|0);
+ $354 = tempRet0;
+ $355 = $d4;
+ $356 = $355;
+ HEAP32[$356>>2] = $353;
+ $357 = (($355) + 4)|0;
+ $358 = $357;
+ HEAP32[$358>>2] = $354;
+ $359 = $d4;
+ $360 = $359;
+ $361 = HEAP32[$360>>2]|0;
+ $362 = (($359) + 4)|0;
+ $363 = $362;
+ $364 = HEAP32[$363>>2]|0;
+ $365 = (_bitshift64Lshr(($361|0),($364|0),26)|0);
+ $366 = tempRet0;
+ $c = $365;
+ $367 = $d4;
+ $368 = $367;
+ $369 = HEAP32[$368>>2]|0;
+ $370 = (($367) + 4)|0;
+ $371 = $370;
+ $372 = HEAP32[$371>>2]|0;
+ $373 = $369 & 67108863;
+ $h4 = $373;
+ $374 = $c;
+ $375 = ($374*5)|0;
+ $376 = $h0;
+ $377 = (($376) + ($375))|0;
+ $h0 = $377;
+ $378 = $h0;
+ $379 = $378 >>> 26;
+ $c = $379;
+ $380 = $h0;
+ $381 = $380 & 67108863;
+ $h0 = $381;
+ $382 = $c;
+ $383 = $h1;
+ $384 = (($383) + ($382))|0;
+ $h1 = $384;
+ $385 = $1;
+ $386 = ((($385)) + 16|0);
+ $1 = $386;
+ $387 = $2;
+ $388 = (($387) - 16)|0;
+ $2 = $388;
+ }
+ $389 = $h0;
+ $390 = $st;
+ $391 = ((($390)) + 20|0);
+ HEAP32[$391>>2] = $389;
+ $392 = $h1;
+ $393 = $st;
+ $394 = ((($393)) + 20|0);
+ $395 = ((($394)) + 4|0);
+ HEAP32[$395>>2] = $392;
+ $396 = $h2;
+ $397 = $st;
+ $398 = ((($397)) + 20|0);
+ $399 = ((($398)) + 8|0);
+ HEAP32[$399>>2] = $396;
+ $400 = $h3;
+ $401 = $st;
+ $402 = ((($401)) + 20|0);
+ $403 = ((($402)) + 12|0);
+ HEAP32[$403>>2] = $400;
+ $404 = $h4;
+ $405 = $st;
+ $406 = ((($405)) + 20|0);
+ $407 = ((($406)) + 16|0);
+ HEAP32[$407>>2] = $404;
+ STACKTOP = sp;return 124;
+}
+function _poly1305_finish_ext_ref32($state,$m,$remaining,$mac) {
+ $state = $state|0;
+ $m = $m|0;
+ $remaining = $remaining|0;
+ $mac = $mac|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
+ var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
+ var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $burn = 0, $c = 0, $f = 0, $final = 0, $g0 = 0, $g1 = 0, $g2 = 0, $g3 = 0;
+ var $g4 = 0, $h0 = 0, $h1 = 0, $h2 = 0, $h3 = 0, $h4 = 0, $i = 0, $mask = 0, $st = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $f = sp;
+ $final = sp + 88|0;
+ $0 = $state;
+ $1 = $m;
+ $2 = $remaining;
+ $3 = $mac;
+ $4 = $0;
+ $st = $4;
+ $burn = 0;
+ $5 = $2;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ dest=$final; stop=dest+16|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0));
+ $i = 0;
+ while(1) {
+ $7 = $i;
+ $8 = $2;
+ $9 = ($7>>>0)<($8>>>0);
+ if (!($9)) {
+ break;
+ }
+ $10 = $i;
+ $11 = $1;
+ $12 = (($11) + ($10)|0);
+ $13 = HEAP8[$12>>0]|0;
+ $14 = $i;
+ $15 = (($final) + ($14)|0);
+ HEAP8[$15>>0] = $13;
+ $16 = $i;
+ $17 = (($16) + 1)|0;
+ $i = $17;
+ }
+ $18 = $2;
+ $19 = (($final) + ($18)|0);
+ HEAP8[$19>>0] = 1;
+ $20 = $st;
+ $21 = ((($20)) + 56|0);
+ HEAP8[$21>>0] = 1;
+ $22 = $st;
+ $23 = (_poly1305_blocks_ref32($22,$final,16)|0);
+ $burn = $23;
+ }
+ $24 = $st;
+ $25 = ((($24)) + 20|0);
+ $26 = HEAP32[$25>>2]|0;
+ $h0 = $26;
+ $27 = $st;
+ $28 = ((($27)) + 20|0);
+ $29 = ((($28)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $h1 = $30;
+ $31 = $st;
+ $32 = ((($31)) + 20|0);
+ $33 = ((($32)) + 8|0);
+ $34 = HEAP32[$33>>2]|0;
+ $h2 = $34;
+ $35 = $st;
+ $36 = ((($35)) + 20|0);
+ $37 = ((($36)) + 12|0);
+ $38 = HEAP32[$37>>2]|0;
+ $h3 = $38;
+ $39 = $st;
+ $40 = ((($39)) + 20|0);
+ $41 = ((($40)) + 16|0);
+ $42 = HEAP32[$41>>2]|0;
+ $h4 = $42;
+ $43 = $h1;
+ $44 = $43 >>> 26;
+ $c = $44;
+ $45 = $h1;
+ $46 = $45 & 67108863;
+ $h1 = $46;
+ $47 = $c;
+ $48 = $h2;
+ $49 = (($48) + ($47))|0;
+ $h2 = $49;
+ $50 = $h2;
+ $51 = $50 >>> 26;
+ $c = $51;
+ $52 = $h2;
+ $53 = $52 & 67108863;
+ $h2 = $53;
+ $54 = $c;
+ $55 = $h3;
+ $56 = (($55) + ($54))|0;
+ $h3 = $56;
+ $57 = $h3;
+ $58 = $57 >>> 26;
+ $c = $58;
+ $59 = $h3;
+ $60 = $59 & 67108863;
+ $h3 = $60;
+ $61 = $c;
+ $62 = $h4;
+ $63 = (($62) + ($61))|0;
+ $h4 = $63;
+ $64 = $h4;
+ $65 = $64 >>> 26;
+ $c = $65;
+ $66 = $h4;
+ $67 = $66 & 67108863;
+ $h4 = $67;
+ $68 = $c;
+ $69 = ($68*5)|0;
+ $70 = $h0;
+ $71 = (($70) + ($69))|0;
+ $h0 = $71;
+ $72 = $h0;
+ $73 = $72 >>> 26;
+ $c = $73;
+ $74 = $h0;
+ $75 = $74 & 67108863;
+ $h0 = $75;
+ $76 = $c;
+ $77 = $h1;
+ $78 = (($77) + ($76))|0;
+ $h1 = $78;
+ $79 = $h0;
+ $80 = (($79) + 5)|0;
+ $g0 = $80;
+ $81 = $g0;
+ $82 = $81 >>> 26;
+ $c = $82;
+ $83 = $g0;
+ $84 = $83 & 67108863;
+ $g0 = $84;
+ $85 = $h1;
+ $86 = $c;
+ $87 = (($85) + ($86))|0;
+ $g1 = $87;
+ $88 = $g1;
+ $89 = $88 >>> 26;
+ $c = $89;
+ $90 = $g1;
+ $91 = $90 & 67108863;
+ $g1 = $91;
+ $92 = $h2;
+ $93 = $c;
+ $94 = (($92) + ($93))|0;
+ $g2 = $94;
+ $95 = $g2;
+ $96 = $95 >>> 26;
+ $c = $96;
+ $97 = $g2;
+ $98 = $97 & 67108863;
+ $g2 = $98;
+ $99 = $h3;
+ $100 = $c;
+ $101 = (($99) + ($100))|0;
+ $g3 = $101;
+ $102 = $g3;
+ $103 = $102 >>> 26;
+ $c = $103;
+ $104 = $g3;
+ $105 = $104 & 67108863;
+ $g3 = $105;
+ $106 = $h4;
+ $107 = $c;
+ $108 = (($106) + ($107))|0;
+ $109 = (($108) - 67108864)|0;
+ $g4 = $109;
+ $110 = $g4;
+ $111 = $110 >>> 31;
+ $112 = (($111) - 1)|0;
+ $mask = $112;
+ $113 = $mask;
+ $114 = $g0;
+ $115 = $114 & $113;
+ $g0 = $115;
+ $116 = $mask;
+ $117 = $g1;
+ $118 = $117 & $116;
+ $g1 = $118;
+ $119 = $mask;
+ $120 = $g2;
+ $121 = $120 & $119;
+ $g2 = $121;
+ $122 = $mask;
+ $123 = $g3;
+ $124 = $123 & $122;
+ $g3 = $124;
+ $125 = $mask;
+ $126 = $g4;
+ $127 = $126 & $125;
+ $g4 = $127;
+ $128 = $mask;
+ $129 = $128 ^ -1;
+ $mask = $129;
+ $130 = $h0;
+ $131 = $mask;
+ $132 = $130 & $131;
+ $133 = $g0;
+ $134 = $132 | $133;
+ $h0 = $134;
+ $135 = $h1;
+ $136 = $mask;
+ $137 = $135 & $136;
+ $138 = $g1;
+ $139 = $137 | $138;
+ $h1 = $139;
+ $140 = $h2;
+ $141 = $mask;
+ $142 = $140 & $141;
+ $143 = $g2;
+ $144 = $142 | $143;
+ $h2 = $144;
+ $145 = $h3;
+ $146 = $mask;
+ $147 = $145 & $146;
+ $148 = $g3;
+ $149 = $147 | $148;
+ $h3 = $149;
+ $150 = $h4;
+ $151 = $mask;
+ $152 = $150 & $151;
+ $153 = $g4;
+ $154 = $152 | $153;
+ $h4 = $154;
+ $155 = $h0;
+ $156 = $h1;
+ $157 = $156 << 26;
+ $158 = $155 | $157;
+ $h0 = $158;
+ $159 = $h1;
+ $160 = $159 >>> 6;
+ $161 = $h2;
+ $162 = $161 << 20;
+ $163 = $160 | $162;
+ $h1 = $163;
+ $164 = $h2;
+ $165 = $164 >>> 12;
+ $166 = $h3;
+ $167 = $166 << 14;
+ $168 = $165 | $167;
+ $h2 = $168;
+ $169 = $h3;
+ $170 = $169 >>> 18;
+ $171 = $h4;
+ $172 = $171 << 8;
+ $173 = $170 | $172;
+ $h3 = $173;
+ $174 = $h0;
+ $175 = $st;
+ $176 = ((($175)) + 40|0);
+ $177 = HEAP32[$176>>2]|0;
+ $178 = (_i64Add(($174|0),0,($177|0),0)|0);
+ $179 = tempRet0;
+ $180 = $f;
+ $181 = $180;
+ HEAP32[$181>>2] = $178;
+ $182 = (($180) + 4)|0;
+ $183 = $182;
+ HEAP32[$183>>2] = $179;
+ $184 = $f;
+ $185 = $184;
+ $186 = HEAP32[$185>>2]|0;
+ $187 = (($184) + 4)|0;
+ $188 = $187;
+ $189 = HEAP32[$188>>2]|0;
+ $h0 = $186;
+ $190 = $h1;
+ $191 = $st;
+ $192 = ((($191)) + 40|0);
+ $193 = ((($192)) + 4|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = (_i64Add(($190|0),0,($194|0),0)|0);
+ $196 = tempRet0;
+ $197 = $f;
+ $198 = $197;
+ $199 = HEAP32[$198>>2]|0;
+ $200 = (($197) + 4)|0;
+ $201 = $200;
+ $202 = HEAP32[$201>>2]|0;
+ $203 = (_i64Add(($195|0),($196|0),($202|0),0)|0);
+ $204 = tempRet0;
+ $205 = $f;
+ $206 = $205;
+ HEAP32[$206>>2] = $203;
+ $207 = (($205) + 4)|0;
+ $208 = $207;
+ HEAP32[$208>>2] = $204;
+ $209 = $f;
+ $210 = $209;
+ $211 = HEAP32[$210>>2]|0;
+ $212 = (($209) + 4)|0;
+ $213 = $212;
+ $214 = HEAP32[$213>>2]|0;
+ $h1 = $211;
+ $215 = $h2;
+ $216 = $st;
+ $217 = ((($216)) + 40|0);
+ $218 = ((($217)) + 8|0);
+ $219 = HEAP32[$218>>2]|0;
+ $220 = (_i64Add(($215|0),0,($219|0),0)|0);
+ $221 = tempRet0;
+ $222 = $f;
+ $223 = $222;
+ $224 = HEAP32[$223>>2]|0;
+ $225 = (($222) + 4)|0;
+ $226 = $225;
+ $227 = HEAP32[$226>>2]|0;
+ $228 = (_i64Add(($220|0),($221|0),($227|0),0)|0);
+ $229 = tempRet0;
+ $230 = $f;
+ $231 = $230;
+ HEAP32[$231>>2] = $228;
+ $232 = (($230) + 4)|0;
+ $233 = $232;
+ HEAP32[$233>>2] = $229;
+ $234 = $f;
+ $235 = $234;
+ $236 = HEAP32[$235>>2]|0;
+ $237 = (($234) + 4)|0;
+ $238 = $237;
+ $239 = HEAP32[$238>>2]|0;
+ $h2 = $236;
+ $240 = $h3;
+ $241 = $st;
+ $242 = ((($241)) + 40|0);
+ $243 = ((($242)) + 12|0);
+ $244 = HEAP32[$243>>2]|0;
+ $245 = (_i64Add(($240|0),0,($244|0),0)|0);
+ $246 = tempRet0;
+ $247 = $f;
+ $248 = $247;
+ $249 = HEAP32[$248>>2]|0;
+ $250 = (($247) + 4)|0;
+ $251 = $250;
+ $252 = HEAP32[$251>>2]|0;
+ $253 = (_i64Add(($245|0),($246|0),($252|0),0)|0);
+ $254 = tempRet0;
+ $255 = $f;
+ $256 = $255;
+ HEAP32[$256>>2] = $253;
+ $257 = (($255) + 4)|0;
+ $258 = $257;
+ HEAP32[$258>>2] = $254;
+ $259 = $f;
+ $260 = $259;
+ $261 = HEAP32[$260>>2]|0;
+ $262 = (($259) + 4)|0;
+ $263 = $262;
+ $264 = HEAP32[$263>>2]|0;
+ $h3 = $261;
+ $265 = $3;
+ $266 = $h0;
+ _buf_put_le32_2148($265,$266);
+ $267 = $3;
+ $268 = ((($267)) + 4|0);
+ $269 = $h1;
+ _buf_put_le32_2148($268,$269);
+ $270 = $3;
+ $271 = ((($270)) + 8|0);
+ $272 = $h2;
+ _buf_put_le32_2148($271,$272);
+ $273 = $3;
+ $274 = ((($273)) + 12|0);
+ $275 = $h3;
+ _buf_put_le32_2148($274,$275);
+ $276 = $st;
+ $277 = ((($276)) + 20|0);
+ HEAP32[$277>>2] = 0;
+ $278 = $st;
+ $279 = ((($278)) + 20|0);
+ $280 = ((($279)) + 4|0);
+ HEAP32[$280>>2] = 0;
+ $281 = $st;
+ $282 = ((($281)) + 20|0);
+ $283 = ((($282)) + 8|0);
+ HEAP32[$283>>2] = 0;
+ $284 = $st;
+ $285 = ((($284)) + 20|0);
+ $286 = ((($285)) + 12|0);
+ HEAP32[$286>>2] = 0;
+ $287 = $st;
+ $288 = ((($287)) + 20|0);
+ $289 = ((($288)) + 16|0);
+ HEAP32[$289>>2] = 0;
+ $290 = $st;
+ HEAP32[$290>>2] = 0;
+ $291 = $st;
+ $292 = ((($291)) + 4|0);
+ HEAP32[$292>>2] = 0;
+ $293 = $st;
+ $294 = ((($293)) + 8|0);
+ HEAP32[$294>>2] = 0;
+ $295 = $st;
+ $296 = ((($295)) + 12|0);
+ HEAP32[$296>>2] = 0;
+ $297 = $st;
+ $298 = ((($297)) + 16|0);
+ HEAP32[$298>>2] = 0;
+ $299 = $st;
+ $300 = ((($299)) + 40|0);
+ HEAP32[$300>>2] = 0;
+ $301 = $st;
+ $302 = ((($301)) + 40|0);
+ $303 = ((($302)) + 4|0);
+ HEAP32[$303>>2] = 0;
+ $304 = $st;
+ $305 = ((($304)) + 40|0);
+ $306 = ((($305)) + 8|0);
+ HEAP32[$306>>2] = 0;
+ $307 = $st;
+ $308 = ((($307)) + 40|0);
+ $309 = ((($308)) + 12|0);
+ HEAP32[$309>>2] = 0;
+ $310 = $burn;
+ $311 = (100 + ($310))|0;
+ STACKTOP = sp;return ($311|0);
+}
+function _buf_put_le32_2148($_buf,$val) {
+ $_buf = $_buf|0;
+ $val = $val|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $out = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $_buf;
+ $1 = $val;
+ $2 = $0;
+ $out = $2;
+ $3 = $1;
+ $4 = $3 >>> 24;
+ $5 = $4&255;
+ $6 = $out;
+ $7 = ((($6)) + 3|0);
+ HEAP8[$7>>0] = $5;
+ $8 = $1;
+ $9 = $8 >>> 16;
+ $10 = $9&255;
+ $11 = $out;
+ $12 = ((($11)) + 2|0);
+ HEAP8[$12>>0] = $10;
+ $13 = $1;
+ $14 = $13 >>> 8;
+ $15 = $14&255;
+ $16 = $out;
+ $17 = ((($16)) + 1|0);
+ HEAP8[$17>>0] = $15;
+ $18 = $1;
+ $19 = $18&255;
+ $20 = $out;
+ HEAP8[$20>>0] = $19;
+ STACKTOP = sp;return;
+}
+function _poly1305_init($ctx,$key) {
+ $ctx = $ctx|0;
+ $key = $key|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $state = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $ctx;
+ $1 = $key;
+ $2 = $0;
+ $3 = (_poly1305_get_state($2)|0);
+ $state = $3;
+ $4 = $0;
+ $5 = ((($4)) + 88|0);
+ HEAP32[$5>>2] = 0;
+ $6 = $0;
+ $7 = ((($6)) + 84|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = $state;
+ $12 = $1;
+ FUNCTION_TABLE_vii[$10 & 63]($11,$12);
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_initialize($full) {
+ $full = $full|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $full;
+ $1 = $0;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ _initialize();
+ } else {
+ _initialize_basics();
+ }
+ STACKTOP = sp;return;
+}
+function _initialize_basics() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17727]|0;
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ HEAP32[17727] = 1;
+ return;
+}
+function _initialize() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _initialize_basics();
+ _lock_pool_2151();
+ $0 = HEAP32[17729]|0;
+ $1 = ($0|0)!=(0|0);
+ if ($1) {
+ _unlock_pool();
+ return;
+ }
+ $2 = HEAP32[17730]|0;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ $4 = (__gcry_xcalloc_secure(1,664)|0);
+ $6 = $4;
+ } else {
+ $5 = (__gcry_xcalloc(1,664)|0);
+ $6 = $5;
+ }
+ HEAP32[17729] = $6;
+ $7 = HEAP32[17730]|0;
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = (__gcry_xcalloc_secure(1,664)|0);
+ $11 = $9;
+ } else {
+ $10 = (__gcry_xcalloc(1,664)|0);
+ $11 = $10;
+ }
+ HEAP32[17731] = $11;
+ $12 = (_getfnc_gather_random()|0);
+ HEAP32[17732] = $12;
+ $13 = HEAP32[17732]|0;
+ $14 = ($13|0)!=(0|0);
+ if (!($14)) {
+ HEAP32[17733] = 1;
+ HEAP32[17732] = 79;
+ }
+ $15 = (_getfnc_fast_random_poll()|0);
+ HEAP32[17750] = $15;
+ _unlock_pool();
+ return;
+}
+function _lock_pool_2151() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $err = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(12960)|0);
+ $err = $0;
+ $1 = $err;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $err;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(50462,$vararg_buffer);
+ // unreachable;
+ } else {
+ HEAP32[17728] = 1;
+ STACKTOP = sp;return;
+ }
+}
+function _getfnc_gather_random() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $fnc = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_access(52844,4)|0);
+ $1 = ($0|0)!=(0);
+ if (!($1)) {
+ $2 = (_access(52946,4)|0);
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ $fnc = 80;
+ $4 = $fnc;
+ STACKTOP = sp;return ($4|0);
+ }
+ }
+ $5 = (__gcry_gettext(50499)|0);
+ __gcry_log_fatal($5,$vararg_buffer);
+ // unreachable;
+ return (0)|0;
+}
+function _gather_faked($add,$origin,$length,$level) {
+ $add = $add|0;
+ $origin = $origin|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buffer = 0, $n = 0, $p = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $add;
+ $1 = $origin;
+ $2 = $length;
+ $3 = $level;
+ $4 = HEAP32[17734]|0;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ $6 = (__gcry_gettext(50537)|0);
+ __gcry_log_info($6,$vararg_buffer);
+ HEAP32[17734] = 1;
+ $7 = (_time((0|0))|0);
+ $8 = (_getpid()|0);
+ $9 = Math_imul($7, $8)|0;
+ _srand($9);
+ }
+ $10 = $2;
+ $11 = (__gcry_xmalloc($10)|0);
+ $buffer = $11;
+ $p = $11;
+ $12 = $2;
+ $n = $12;
+ while(1) {
+ $13 = $n;
+ $14 = (($13) + -1)|0;
+ $n = $14;
+ $15 = ($13|0)!=(0);
+ if (!($15)) {
+ break;
+ }
+ $16 = (_rand()|0);
+ $17 = (+($16|0));
+ $18 = 256.0 * $17;
+ $19 = $18 / 2147483648.0;
+ $20 = (~~(($19)));
+ $21 = (1 + ($20))|0;
+ $22 = (($21) - 1)|0;
+ $23 = $22&255;
+ $24 = $p;
+ $25 = ((($24)) + 1|0);
+ $p = $25;
+ HEAP8[$24>>0] = $23;
+ }
+ $26 = $buffer;
+ $27 = $2;
+ $28 = $1;
+ _add_randomness($26,$27,$28);
+ $29 = $buffer;
+ __gcry_free($29);
+ STACKTOP = sp;return 0;
+}
+function _add_randomness($buffer,$length,$origin) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $origin = $origin|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $count = 0, $or$cond = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $origin;
+ $3 = $0;
+ $p = $3;
+ $count = 0;
+ $4 = HEAP32[17728]|0;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ __gcry_assert_failed(50588,50603,1074,50619);
+ // unreachable;
+ }
+ $6 = $1;
+ $7 = HEAP32[(70972)>>2]|0;
+ $8 = (($7) + ($6))|0;
+ HEAP32[(70972)>>2] = $8;
+ $9 = HEAP32[(70976)>>2]|0;
+ $10 = (($9) + 1)|0;
+ HEAP32[(70976)>>2] = $10;
+ while(1) {
+ $11 = $1;
+ $12 = (($11) + -1)|0;
+ $1 = $12;
+ $13 = ($11|0)!=(0);
+ if (!($13)) {
+ break;
+ }
+ $14 = $p;
+ $15 = ((($14)) + 1|0);
+ $p = $15;
+ $16 = HEAP8[$14>>0]|0;
+ $17 = $16&255;
+ $18 = HEAP32[17745]|0;
+ $19 = (($18) + 1)|0;
+ HEAP32[17745] = $19;
+ $20 = HEAP32[17729]|0;
+ $21 = (($20) + ($18)|0);
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22&255;
+ $24 = $23 ^ $17;
+ $25 = $24&255;
+ HEAP8[$21>>0] = $25;
+ $26 = $count;
+ $27 = (($26) + 1)|0;
+ $count = $27;
+ $28 = HEAP32[17745]|0;
+ $29 = ($28>>>0)>=(600);
+ if (!($29)) {
+ continue;
+ }
+ $30 = $2;
+ $31 = ($30>>>0)<(3);
+ $32 = HEAP32[17746]|0;
+ $33 = ($32|0)!=(0);
+ $or$cond = $31 | $33;
+ if (!($or$cond)) {
+ $34 = $count;
+ $35 = HEAP32[17747]|0;
+ $36 = (($35) + ($34))|0;
+ HEAP32[17747] = $36;
+ $count = 0;
+ $37 = HEAP32[17747]|0;
+ $38 = ($37>>>0)>=(600);
+ if ($38) {
+ HEAP32[17746] = 1;
+ }
+ }
+ HEAP32[17745] = 0;
+ $39 = HEAP32[17729]|0;
+ _mix_pool($39);
+ $40 = HEAP32[17735]|0;
+ $41 = (($40) + 1)|0;
+ HEAP32[17735] = $41;
+ $42 = $1;
+ $43 = ($42|0)!=(0);
+ $44 = $43 ^ 1;
+ $45 = $44&1;
+ HEAP32[17749] = $45;
+ }
+ STACKTOP = sp;return;
+}
+function _mix_pool($pool) {
+ $pool = $pool|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $hashbuf = 0, $i = 0, $md = 0;
+ var $n = 0, $p = 0, $pend = 0, $pp = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $md = sp;
+ $0 = $pool;
+ $1 = $0;
+ $2 = ((($1)) + 600|0);
+ $hashbuf = $2;
+ $3 = HEAP32[17728]|0;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ __gcry_assert_failed(50588,50603,615,50634);
+ // unreachable;
+ }
+ __gcry_rmd160_init($md);
+ $5 = $0;
+ $6 = ((($5)) + 600|0);
+ $pend = $6;
+ $7 = $hashbuf;
+ $8 = $pend;
+ $9 = ((($8)) + -20|0);
+ dest=$7; src=$9; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $10 = $hashbuf;
+ $11 = ((($10)) + 20|0);
+ $12 = $0;
+ dest=$11; src=$12; stop=dest+44|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $13 = $hashbuf;
+ __gcry_rmd160_mixblock($md,$13);
+ $14 = $0;
+ $15 = $hashbuf;
+ dest=$14; src=$15; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $16 = HEAP32[17748]|0;
+ $17 = ($16|0)!=(0);
+ L4: do {
+ if ($17) {
+ $18 = $0;
+ $19 = HEAP32[17729]|0;
+ $20 = ($18|0)==($19|0);
+ if ($20) {
+ $i = 0;
+ while(1) {
+ $21 = $i;
+ $22 = ($21|0)<(20);
+ if (!($22)) {
+ break L4;
+ }
+ $23 = $i;
+ $24 = (76522 + ($23)|0);
+ $25 = HEAP8[$24>>0]|0;
+ $26 = $25&255;
+ $27 = $i;
+ $28 = $0;
+ $29 = (($28) + ($27)|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30&255;
+ $32 = $31 ^ $26;
+ $33 = $32&255;
+ HEAP8[$29>>0] = $33;
+ $34 = $i;
+ $35 = (($34) + 1)|0;
+ $i = $35;
+ }
+ }
+ }
+ } while(0);
+ $36 = $0;
+ $p = $36;
+ $n = 1;
+ while(1) {
+ $37 = $n;
+ $38 = ($37|0)<(30);
+ if (!($38)) {
+ break;
+ }
+ $39 = $hashbuf;
+ $40 = $p;
+ dest=$39; src=$40; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $41 = $p;
+ $42 = ((($41)) + 20|0);
+ $p = $42;
+ $43 = $p;
+ $44 = ((($43)) + 20|0);
+ $45 = ((($44)) + 64|0);
+ $46 = $pend;
+ $47 = ($45>>>0)<($46>>>0);
+ L14: do {
+ if ($47) {
+ $48 = $hashbuf;
+ $49 = ((($48)) + 20|0);
+ $50 = $p;
+ $51 = ((($50)) + 20|0);
+ dest=$49; src=$51; stop=dest+44|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ } else {
+ $52 = $p;
+ $53 = ((($52)) + 20|0);
+ $pp = $53;
+ $i = 20;
+ while(1) {
+ $54 = $i;
+ $55 = ($54|0)<(64);
+ if (!($55)) {
+ break L14;
+ }
+ $56 = $pp;
+ $57 = $pend;
+ $58 = ($56>>>0)>=($57>>>0);
+ if ($58) {
+ $59 = $0;
+ $pp = $59;
+ }
+ $60 = $pp;
+ $61 = ((($60)) + 1|0);
+ $pp = $61;
+ $62 = HEAP8[$60>>0]|0;
+ $63 = $i;
+ $64 = $hashbuf;
+ $65 = (($64) + ($63)|0);
+ HEAP8[$65>>0] = $62;
+ $66 = $i;
+ $67 = (($66) + 1)|0;
+ $i = $67;
+ }
+ }
+ } while(0);
+ $68 = $hashbuf;
+ __gcry_rmd160_mixblock($md,$68);
+ $69 = $p;
+ $70 = $hashbuf;
+ dest=$69; src=$70; stop=dest+20|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $71 = $n;
+ $72 = (($71) + 1)|0;
+ $n = $72;
+ }
+ $73 = $0;
+ $74 = HEAP32[17729]|0;
+ $75 = ($73|0)==($74|0);
+ if (!($75)) {
+ ___gcry_burn_stack(384);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+ }
+ $76 = $0;
+ __gcry_rmd160_hash_buffer(76522,$76,600);
+ HEAP32[17748] = 1;
+ ___gcry_burn_stack(384);
+ ___gcry_burn_stack_dummy();
+ STACKTOP = sp;return;
+}
+function _getfnc_fast_random_poll() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return (0|0);
+}
+function _unlock_pool() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $err = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[17728] = 0;
+ $0 = (_gpgrt_lock_unlock(12960)|0);
+ $err = $0;
+ $1 = $err;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $err;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(50643,$vararg_buffer);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_rngcsprng_close_fds() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _lock_pool_2151();
+ (__gcry_rndlinux_gather_random(0,0,0,0)|0);
+ HEAP32[17746] = 0;
+ _unlock_pool();
+ return;
+}
+function __gcry_rngcsprng_dump_stats() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0;
+ var $vararg_ptr5 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = HEAP32[17735]|0;
+ $1 = HEAP32[(70948)>>2]|0;
+ $2 = HEAP32[(70952)>>2]|0;
+ $3 = HEAP32[(70976)>>2]|0;
+ $4 = HEAP32[(70972)>>2]|0;
+ $5 = HEAP32[(70944)>>2]|0;
+ $6 = HEAP32[(70960)>>2]|0;
+ $7 = HEAP32[(70956)>>2]|0;
+ $8 = HEAP32[(70968)>>2]|0;
+ $9 = HEAP32[(70964)>>2]|0;
+ $10 = (__gcry_rndhw_failed_p()|0);
+ $11 = ($10|0)!=(0);
+ $12 = $11 ? 50680 : 76543;
+ HEAP32[$vararg_buffer>>2] = 600;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $1;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $2;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $3;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $4;
+ $vararg_ptr6 = ((($vararg_buffer)) + 24|0);
+ HEAP32[$vararg_ptr6>>2] = $5;
+ $vararg_ptr7 = ((($vararg_buffer)) + 28|0);
+ HEAP32[$vararg_ptr7>>2] = $6;
+ $vararg_ptr8 = ((($vararg_buffer)) + 32|0);
+ HEAP32[$vararg_ptr8>>2] = $7;
+ $vararg_ptr9 = ((($vararg_buffer)) + 36|0);
+ HEAP32[$vararg_ptr9>>2] = $8;
+ $vararg_ptr10 = ((($vararg_buffer)) + 40|0);
+ HEAP32[$vararg_ptr10>>2] = $9;
+ $vararg_ptr11 = ((($vararg_buffer)) + 44|0);
+ HEAP32[$vararg_ptr11>>2] = $12;
+ __gcry_log_info(50696,$vararg_buffer);
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_secure_alloc() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[17730] = 1;
+ return;
+}
+function __gcry_rngcsprng_enable_quick_gen() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAP32[17751] = 1;
+ return;
+}
+function __gcry_rngcsprng_set_daemon_socket($socketname) {
+ $socketname = $socketname|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $socketname;
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_use_daemon($onoff) {
+ $onoff = $onoff|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $onoff;
+ STACKTOP = sp;return 0;
+}
+function __gcry_rngcsprng_is_faked() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _initialize();
+ $0 = HEAP32[17733]|0;
+ $1 = ($0|0)!=(0);
+ $2 = HEAP32[17751]|0;
+ $3 = ($2|0)!=(0);
+ $4 = $1 ? 1 : $3;
+ $5 = $4&1;
+ return ($5|0);
+}
+function __gcry_rngcsprng_randomize($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $or$cond = 0, $p = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ _initialize();
+ $3 = HEAP32[17751]|0;
+ $4 = ($3|0)!=(0);
+ $5 = $2;
+ $6 = ($5>>>0)>(1);
+ $or$cond = $4 & $6;
+ if ($or$cond) {
+ $2 = 1;
+ }
+ $7 = $2;
+ $8 = $7 & 3;
+ $2 = $8;
+ _lock_pool_2151();
+ $9 = $2;
+ $10 = ($9>>>0)>=(2);
+ $11 = $1;
+ if ($10) {
+ $12 = HEAP32[(70964)>>2]|0;
+ $13 = (($12) + ($11))|0;
+ HEAP32[(70964)>>2] = $13;
+ $14 = HEAP32[(70968)>>2]|0;
+ $15 = (($14) + 1)|0;
+ HEAP32[(70968)>>2] = $15;
+ } else {
+ $16 = HEAP32[(70956)>>2]|0;
+ $17 = (($16) + ($11))|0;
+ HEAP32[(70956)>>2] = $17;
+ $18 = HEAP32[(70960)>>2]|0;
+ $19 = (($18) + 1)|0;
+ HEAP32[(70960)>>2] = $19;
+ }
+ $20 = $0;
+ $p = $20;
+ while(1) {
+ $21 = $1;
+ $22 = ($21>>>0)>(0);
+ if (!($22)) {
+ break;
+ }
+ $23 = $1;
+ $24 = ($23>>>0)>(600);
+ $25 = $1;
+ $26 = $24 ? 600 : $25;
+ $n = $26;
+ $27 = $p;
+ $28 = $n;
+ $29 = $2;
+ _read_pool($27,$28,$29);
+ $30 = $n;
+ $31 = $1;
+ $32 = (($31) - ($30))|0;
+ $1 = $32;
+ $33 = $n;
+ $34 = $p;
+ $35 = (($34) + ($33)|0);
+ $p = $35;
+ }
+ _unlock_pool();
+ STACKTOP = sp;return;
+}
+function _read_pool($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
+ var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
+ var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
+ var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $apid = 0, $dp = 0, $i = 0, $my_pid2 = 0, $needed = 0, $needed1 = 0, $or$cond = 0, $sp = 0, $vararg_buffer = 0, $x = 0, $x2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $x = sp + 20|0;
+ $apid = sp + 8|0;
+ $x2 = sp + 4|0;
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ $3 = HEAP32[17728]|0;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ __gcry_assert_failed(50588,50603,934,50820);
+ // unreachable;
+ }
+ while(1) {
+ $5 = (_getpid()|0);
+ $my_pid2 = $5;
+ $6 = HEAP32[3251]|0;
+ $7 = ($6|0)==(-1);
+ if ($7) {
+ $8 = $my_pid2;
+ HEAP32[3251] = $8;
+ }
+ $9 = HEAP32[3251]|0;
+ $10 = $my_pid2;
+ $11 = ($9|0)!=($10|0);
+ if ($11) {
+ $12 = $my_pid2;
+ HEAP32[3251] = $12;
+ $13 = HEAP32[3251]|0;
+ HEAP32[$x>>2] = $13;
+ _add_randomness($x,4,0);
+ HEAP32[17749] = 0;
+ }
+ $14 = HEAP32[17728]|0;
+ $15 = ($14|0)!=(0);
+ if (!($15)) {
+ label = 8;
+ break;
+ }
+ $16 = $1;
+ $17 = ($16>>>0)>(600);
+ if ($17) {
+ label = 10;
+ break;
+ }
+ $18 = HEAP32[17746]|0;
+ $19 = ($18|0)!=(0);
+ if (!($19)) {
+ $20 = (_read_seed_file()|0);
+ $21 = ($20|0)!=(0);
+ if ($21) {
+ HEAP32[17746] = 1;
+ }
+ }
+ $22 = $2;
+ $23 = ($22|0)!=(2);
+ $24 = HEAP32[17754]|0;
+ $25 = ($24|0)!=(0);
+ $or$cond = $23 | $25;
+ if (!($or$cond)) {
+ HEAP32[17755] = 0;
+ $26 = $1;
+ $27 = HEAP32[17755]|0;
+ $28 = (($26) - ($27))|0;
+ $needed = $28;
+ $29 = $needed;
+ $30 = ($29>>>0)<(16);
+ if ($30) {
+ $needed = 16;
+ } else {
+ $31 = $needed;
+ $32 = ($31>>>0)>(600);
+ if ($32) {
+ label = 18;
+ break;
+ }
+ }
+ $33 = $needed;
+ _read_random_source(4,$33,2);
+ $34 = $needed;
+ $35 = HEAP32[17755]|0;
+ $36 = (($35) + ($34))|0;
+ HEAP32[17755] = $36;
+ HEAP32[17754] = 1;
+ }
+ $37 = $2;
+ $38 = ($37|0)==(2);
+ if ($38) {
+ $39 = HEAP32[17755]|0;
+ $40 = $1;
+ $41 = ($39>>>0)<($40>>>0);
+ if ($41) {
+ $42 = HEAP32[17755]|0;
+ $43 = ($42|0)<(0);
+ if ($43) {
+ HEAP32[17755] = 0;
+ }
+ $44 = $1;
+ $45 = HEAP32[17755]|0;
+ $46 = (($44) - ($45))|0;
+ $needed1 = $46;
+ $47 = $needed1;
+ $48 = ($47>>>0)>(600);
+ if ($48) {
+ label = 25;
+ break;
+ }
+ $49 = $needed1;
+ _read_random_source(4,$49,2);
+ $50 = $needed1;
+ $51 = HEAP32[17755]|0;
+ $52 = (($51) + ($50))|0;
+ HEAP32[17755] = $52;
+ }
+ }
+ while(1) {
+ $53 = HEAP32[17746]|0;
+ $54 = ($53|0)!=(0);
+ $55 = $54 ^ 1;
+ if (!($55)) {
+ break;
+ }
+ _random_poll();
+ }
+ _do_fast_random_poll();
+ $56 = HEAP32[3251]|0;
+ HEAP32[$apid>>2] = $56;
+ _add_randomness($apid,4,0);
+ $57 = HEAP32[17749]|0;
+ $58 = ($57|0)!=(0);
+ if (!($58)) {
+ $59 = HEAP32[17729]|0;
+ _mix_pool($59);
+ $60 = HEAP32[17735]|0;
+ $61 = (($60) + 1)|0;
+ HEAP32[17735] = $61;
+ }
+ $i = 0;
+ $62 = HEAP32[17731]|0;
+ $dp = $62;
+ $63 = HEAP32[17729]|0;
+ $sp = $63;
+ while(1) {
+ $64 = $i;
+ $65 = ($64|0)<(150);
+ if (!($65)) {
+ break;
+ }
+ $66 = $sp;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (($67) + -1515870811)|0;
+ $69 = $dp;
+ HEAP32[$69>>2] = $68;
+ $70 = $i;
+ $71 = (($70) + 1)|0;
+ $i = $71;
+ $72 = $dp;
+ $73 = ((($72)) + 4|0);
+ $dp = $73;
+ $74 = $sp;
+ $75 = ((($74)) + 4|0);
+ $sp = $75;
+ }
+ $76 = HEAP32[17729]|0;
+ _mix_pool($76);
+ $77 = HEAP32[17735]|0;
+ $78 = (($77) + 1)|0;
+ HEAP32[17735] = $78;
+ $79 = HEAP32[17731]|0;
+ _mix_pool($79);
+ $80 = HEAP32[(70944)>>2]|0;
+ $81 = (($80) + 1)|0;
+ HEAP32[(70944)>>2] = $81;
+ while(1) {
+ $82 = $1;
+ $83 = (($82) + -1)|0;
+ $1 = $83;
+ $84 = ($82|0)!=(0);
+ if (!($84)) {
+ break;
+ }
+ $85 = HEAP32[17756]|0;
+ $86 = (($85) + 1)|0;
+ HEAP32[17756] = $86;
+ $87 = HEAP32[17731]|0;
+ $88 = (($87) + ($85)|0);
+ $89 = HEAP8[$88>>0]|0;
+ $90 = $0;
+ $91 = ((($90)) + 1|0);
+ $0 = $91;
+ HEAP8[$90>>0] = $89;
+ $92 = HEAP32[17756]|0;
+ $93 = ($92>>>0)>=(600);
+ if ($93) {
+ HEAP32[17756] = 0;
+ }
+ $94 = HEAP32[17755]|0;
+ $95 = (($94) + -1)|0;
+ HEAP32[17755] = $95;
+ }
+ $96 = HEAP32[17755]|0;
+ $97 = ($96|0)<(0);
+ if ($97) {
+ HEAP32[17755] = 0;
+ }
+ $98 = HEAP32[17731]|0;
+ _memset(($98|0),0,600)|0;
+ $99 = (_getpid()|0);
+ $100 = $my_pid2;
+ $101 = ($99|0)!=($100|0);
+ if (!($101)) {
+ label = 43;
+ break;
+ }
+ $102 = (_getpid()|0);
+ HEAP32[$x2>>2] = $102;
+ _add_randomness($x2,4,0);
+ HEAP32[17749] = 0;
+ $103 = HEAP32[$x2>>2]|0;
+ HEAP32[3251] = $103;
+ }
+ if ((label|0) == 8) {
+ __gcry_assert_failed(50588,50603,953,50820);
+ // unreachable;
+ }
+ else if ((label|0) == 10) {
+ __gcry_log_bug(50830,$vararg_buffer);
+ // unreachable;
+ }
+ else if ((label|0) == 18) {
+ __gcry_bug(50603,979,50820);
+ // unreachable;
+ }
+ else if ((label|0) == 25) {
+ __gcry_bug(50603,995,50820);
+ // unreachable;
+ }
+ else if ((label|0) == 43) {
+ STACKTOP = sp;return;
+ }
+}
+function _read_seed_file() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $buffer = 0, $fd = 0, $n = 0, $sb = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr18 = 0;
+ var $vararg_ptr3 = 0, $vararg_ptr7 = 0, $x = 0, $x1 = 0, $x2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 768|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer15 = sp + 48|0;
+ $vararg_buffer13 = sp + 40|0;
+ $vararg_buffer11 = sp + 32|0;
+ $vararg_buffer8 = sp + 24|0;
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $sb = sp + 72|0;
+ $buffer = sp + 160|0;
+ $x = sp + 64|0;
+ $x1 = sp + 60|0;
+ $x2 = sp + 56|0;
+ $1 = HEAP32[17728]|0;
+ $2 = ($1|0)!=(0);
+ if (!($2)) {
+ __gcry_assert_failed(50588,50603,743,50862);
+ // unreachable;
+ }
+ $3 = HEAP32[17752]|0;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $5 = HEAP32[17752]|0;
+ $6 = (_open($5,0,$vararg_buffer)|0);
+ $fd = $6;
+ $7 = $fd;
+ $8 = ($7|0)==(-1);
+ if ($8) {
+ $9 = (___errno_location()|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)==(2);
+ if ($11) {
+ HEAP32[17753] = 1;
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ }
+ $12 = $fd;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = (__gcry_gettext(50877)|0);
+ $15 = HEAP32[17752]|0;
+ $16 = (___errno_location()|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (_strerror($17)|0);
+ HEAP32[$vararg_buffer1>>2] = $15;
+ $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr3>>2] = $18;
+ __gcry_log_info($14,$vararg_buffer1);
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $19 = $fd;
+ $20 = HEAP32[17752]|0;
+ $21 = (_lock_seed_file($19,$20,0)|0);
+ $22 = ($21|0)!=(0);
+ $23 = $fd;
+ if ($22) {
+ (_close($23)|0);
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $24 = (_fstat($23,$sb)|0);
+ $25 = ($24|0)!=(0);
+ if ($25) {
+ $26 = (__gcry_gettext(50948)|0);
+ $27 = HEAP32[17752]|0;
+ $28 = (___errno_location()|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (_strerror($29)|0);
+ HEAP32[$vararg_buffer4>>2] = $27;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = $30;
+ __gcry_log_info($26,$vararg_buffer4);
+ $31 = $fd;
+ (_close($31)|0);
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $32 = ((($sb)) + 12|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $33 & 61440;
+ $35 = ($34|0)==(32768);
+ if (!($35)) {
+ $36 = (__gcry_gettext(50969)|0);
+ $37 = HEAP32[17752]|0;
+ HEAP32[$vararg_buffer8>>2] = $37;
+ __gcry_log_info($36,$vararg_buffer8);
+ $38 = $fd;
+ (_close($38)|0);
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $39 = ((($sb)) + 36|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ($40|0)!=(0);
+ if (!($41)) {
+ $42 = (__gcry_gettext(51007)|0);
+ __gcry_log_info($42,$vararg_buffer11);
+ $43 = $fd;
+ (_close($43)|0);
+ HEAP32[17753] = 1;
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ $44 = ((($sb)) + 36|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($45|0)!=(600);
+ if ($46) {
+ $47 = (__gcry_gettext(51040)|0);
+ __gcry_log_info($47,$vararg_buffer13);
+ $48 = $fd;
+ (_close($48)|0);
+ $0 = 0;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+ }
+ while(1) {
+ $49 = $fd;
+ $50 = (_read($49,$buffer,600)|0);
+ $n = $50;
+ $51 = $n;
+ $52 = ($51|0)==(-1);
+ if (!($52)) {
+ break;
+ }
+ $53 = (___errno_location()|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = ($54|0)==(4);
+ if (!($55)) {
+ break;
+ }
+ }
+ $56 = $n;
+ $57 = ($56|0)!=(600);
+ if ($57) {
+ $58 = (__gcry_gettext(51094)|0);
+ $59 = HEAP32[17752]|0;
+ $60 = (___errno_location()|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = (_strerror($61)|0);
+ HEAP32[$vararg_buffer15>>2] = $59;
+ $vararg_ptr18 = ((($vararg_buffer15)) + 4|0);
+ HEAP32[$vararg_ptr18>>2] = $62;
+ __gcry_log_fatal($58,$vararg_buffer15);
+ // unreachable;
+ }
+ $63 = $fd;
+ (_close($63)|0);
+ _add_randomness($buffer,600,0);
+ $64 = (_getpid()|0);
+ HEAP32[$x>>2] = $64;
+ _add_randomness($x,4,0);
+ $65 = (_time((0|0))|0);
+ HEAP32[$x1>>2] = $65;
+ _add_randomness($x1,4,0);
+ $66 = (_clock()|0);
+ HEAP32[$x2>>2] = $66;
+ _add_randomness($x2,4,0);
+ _read_random_source(0,16,0);
+ HEAP32[17753] = 1;
+ $0 = 1;
+ $67 = $0;
+ STACKTOP = sp;return ($67|0);
+}
+function _lock_seed_file($fd,$fname,$for_write) {
+ $fd = $fd|0;
+ $fname = $fname|0;
+ $for_write = $for_write|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $backoff = 0, $lck = 0, $tv = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0;
+ var $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $lck = sp + 32|0;
+ $tv = sp + 24|0;
+ $1 = $fd;
+ $2 = $fname;
+ $3 = $for_write;
+ $backoff = 0;
+ ;HEAP32[$lck>>2]=0|0;HEAP32[$lck+4>>2]=0|0;HEAP32[$lck+8>>2]=0|0;HEAP32[$lck+12>>2]=0|0;
+ $4 = $3;
+ $5 = ($4|0)!=(0);
+ $6 = $5 ? 1 : 0;
+ $7 = $6&65535;
+ HEAP16[$lck>>1] = $7;
+ $8 = ((($lck)) + 2|0);
+ HEAP16[$8>>1] = 0;
+ while(1) {
+ $9 = $1;
+ HEAP32[$vararg_buffer>>2] = $lck;
+ $10 = (_fcntl($9,13,$vararg_buffer)|0);
+ $11 = ($10|0)==(-1);
+ if (!($11)) {
+ label = 10;
+ break;
+ }
+ $12 = (___errno_location()|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(11);
+ if ($14) {
+ $15 = (___errno_location()|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ($16|0)!=(13);
+ if ($17) {
+ label = 5;
+ break;
+ }
+ }
+ $23 = $backoff;
+ $24 = ($23|0)>(2);
+ if ($24) {
+ $25 = (__gcry_gettext(50919)|0);
+ $26 = $2;
+ HEAP32[$vararg_buffer5>>2] = $26;
+ __gcry_log_info($25,$vararg_buffer5);
+ }
+ $27 = $backoff;
+ HEAP32[$tv>>2] = $27;
+ $28 = ((($tv)) + 4|0);
+ HEAP32[$28>>2] = 250000;
+ (_select(0,0,0,0,$tv)|0);
+ $29 = $backoff;
+ $30 = ($29|0)<(10);
+ if (!($30)) {
+ continue;
+ }
+ $31 = $backoff;
+ $32 = (($31) + 1)|0;
+ $backoff = $32;
+ }
+ if ((label|0) == 5) {
+ $18 = (__gcry_gettext(50898)|0);
+ $19 = $2;
+ $20 = (___errno_location()|0);
+ $21 = HEAP32[$20>>2]|0;
+ $22 = (_strerror($21)|0);
+ HEAP32[$vararg_buffer1>>2] = $19;
+ $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = $22;
+ __gcry_log_info($18,$vararg_buffer1);
+ $0 = -1;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ else if ((label|0) == 10) {
+ $0 = 0;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ }
+ return (0)|0;
+}
+function _read_random_source($orgin,$length,$level) {
+ $orgin = $orgin|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $orgin;
+ $1 = $length;
+ $2 = $level;
+ $3 = HEAP32[17732]|0;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ __gcry_log_fatal(51115,$vararg_buffer);
+ // unreachable;
+ }
+ $5 = HEAP32[17732]|0;
+ $6 = $0;
+ $7 = $1;
+ $8 = $2;
+ $9 = (FUNCTION_TABLE_iiiii[$5 & 127](81,$6,$7,$8)|0);
+ $10 = ($9|0)<(0);
+ if ($10) {
+ __gcry_log_fatal(51166,$vararg_buffer1);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function _random_poll() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[(70948)>>2]|0;
+ $1 = (($0) + 1)|0;
+ HEAP32[(70948)>>2] = $1;
+ _read_random_source(3,120,1);
+ return;
+}
+function _do_fast_random_poll() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $buf = 0, $tv = 0, $x = 0, $x1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tv = sp + 144|0;
+ $buf = sp + 8|0;
+ $x = sp + 4|0;
+ $x1 = sp;
+ $0 = HEAP32[17728]|0;
+ $1 = ($0|0)!=(0);
+ if (!($1)) {
+ __gcry_assert_failed(50588,50603,1180,51204);
+ // unreachable;
+ }
+ $2 = HEAP32[(70952)>>2]|0;
+ $3 = (($2) + 1)|0;
+ HEAP32[(70952)>>2] = $3;
+ $4 = HEAP32[17750]|0;
+ $5 = ($4|0)!=(0|0);
+ if ($5) {
+ $6 = HEAP32[17750]|0;
+ FUNCTION_TABLE_vii[$6 & 63](81,2);
+ }
+ $7 = (_gettimeofday(($tv|0),(0|0))|0);
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ __gcry_bug(50603,1198,51204);
+ // unreachable;
+ } else {
+ _add_randomness($tv,4,2);
+ $9 = ((($tv)) + 4|0);
+ _add_randomness($9,4,2);
+ (_getrusage(0,$buf)|0);
+ _add_randomness($buf,136,2);
+ _memset(($buf|0),0,136)|0;
+ $10 = (_time((0|0))|0);
+ HEAP32[$x>>2] = $10;
+ _add_randomness($x,4,2);
+ $11 = (_clock()|0);
+ HEAP32[$x1>>2] = $11;
+ _add_randomness($x1,4,2);
+ __gcry_rndhw_poll_fast(81,2);
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_rngcsprng_set_seed_file($name) {
+ $name = $name|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $name;
+ $1 = HEAP32[17752]|0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ __gcry_bug(50603,673,51224);
+ // unreachable;
+ } else {
+ $3 = $0;
+ $4 = (__gcry_xstrdup($3)|0);
+ HEAP32[17752] = $4;
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_rngcsprng_update_seed_file() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $dp = 0, $fd = 0, $i = 0, $or$cond = 0, $or$cond3 = 0, $sp = 0;
+ var $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer18 = sp + 40|0;
+ $vararg_buffer14 = sp + 32|0;
+ $vararg_buffer10 = sp + 24|0;
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer4 = sp + 8|0;
+ $vararg_buffer = sp;
+ _initialize_basics();
+ _lock_pool_2151();
+ $0 = HEAP32[17752]|0;
+ $1 = ($0|0)!=(0|0);
+ $2 = HEAP32[17729]|0;
+ $3 = ($2|0)!=(0|0);
+ $or$cond = $1 & $3;
+ $4 = HEAP32[17746]|0;
+ $5 = ($4|0)!=(0);
+ $or$cond3 = $or$cond & $5;
+ if (!($or$cond3)) {
+ _unlock_pool();
+ STACKTOP = sp;return;
+ }
+ $6 = HEAP32[17753]|0;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ _unlock_pool();
+ $8 = (__gcry_gettext(51254)|0);
+ __gcry_log_info($8,$vararg_buffer);
+ STACKTOP = sp;return;
+ }
+ $i = 0;
+ $9 = HEAP32[17731]|0;
+ $dp = $9;
+ $10 = HEAP32[17729]|0;
+ $sp = $10;
+ while(1) {
+ $11 = $i;
+ $12 = ($11|0)<(150);
+ if (!($12)) {
+ break;
+ }
+ $13 = $sp;
+ $14 = HEAP32[$13>>2]|0;
+ $15 = (($14) + -1515870811)|0;
+ $16 = $dp;
+ HEAP32[$16>>2] = $15;
+ $17 = $i;
+ $18 = (($17) + 1)|0;
+ $i = $18;
+ $19 = $dp;
+ $20 = ((($19)) + 4|0);
+ $dp = $20;
+ $21 = $sp;
+ $22 = ((($21)) + 4|0);
+ $sp = $22;
+ }
+ $23 = HEAP32[17729]|0;
+ _mix_pool($23);
+ $24 = HEAP32[17735]|0;
+ $25 = (($24) + 1)|0;
+ HEAP32[17735] = $25;
+ $26 = HEAP32[17731]|0;
+ _mix_pool($26);
+ $27 = HEAP32[(70944)>>2]|0;
+ $28 = (($27) + 1)|0;
+ HEAP32[(70944)>>2] = $28;
+ $29 = HEAP32[17752]|0;
+ HEAP32[$vararg_buffer4>>2] = 384;
+ $30 = (_open($29,65,$vararg_buffer4)|0);
+ $fd = $30;
+ $31 = $fd;
+ $32 = ($31|0)==(-1);
+ do {
+ if ($32) {
+ $33 = (__gcry_gettext(51290)|0);
+ $34 = HEAP32[17752]|0;
+ $35 = (___errno_location()|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (_strerror($36)|0);
+ HEAP32[$vararg_buffer6>>2] = $34;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = $37;
+ __gcry_log_info($33,$vararg_buffer6);
+ } else {
+ $38 = $fd;
+ $39 = HEAP32[17752]|0;
+ $40 = (_lock_seed_file($38,$39,1)|0);
+ $41 = ($40|0)!=(0);
+ $42 = $fd;
+ if ($41) {
+ (_close($42)|0);
+ break;
+ }
+ $43 = (_ftruncate($42,0)|0);
+ $44 = ($43|0)!=(0);
+ if ($44) {
+ $45 = (__gcry_gettext(51313)|0);
+ $46 = HEAP32[17752]|0;
+ $47 = (___errno_location()|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (_strerror($48)|0);
+ HEAP32[$vararg_buffer10>>2] = $46;
+ $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
+ HEAP32[$vararg_ptr13>>2] = $49;
+ __gcry_log_info($45,$vararg_buffer10);
+ $50 = $fd;
+ (_close($50)|0);
+ break;
+ }
+ while(1) {
+ $51 = $fd;
+ $52 = HEAP32[17731]|0;
+ $53 = (_write($51,$52,600)|0);
+ $i = $53;
+ $54 = $i;
+ $55 = ($54|0)==(-1);
+ if (!($55)) {
+ break;
+ }
+ $56 = (___errno_location()|0);
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($57|0)==(4);
+ if (!($58)) {
+ break;
+ }
+ }
+ $59 = $i;
+ $60 = ($59|0)!=(600);
+ if ($60) {
+ $61 = (__gcry_gettext(51313)|0);
+ $62 = HEAP32[17752]|0;
+ $63 = (___errno_location()|0);
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (_strerror($64)|0);
+ HEAP32[$vararg_buffer14>>2] = $62;
+ $vararg_ptr17 = ((($vararg_buffer14)) + 4|0);
+ HEAP32[$vararg_ptr17>>2] = $65;
+ __gcry_log_info($61,$vararg_buffer14);
+ }
+ $66 = $fd;
+ $67 = (_close($66)|0);
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ $69 = (__gcry_gettext(51335)|0);
+ $70 = HEAP32[17752]|0;
+ $71 = (___errno_location()|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = (_strerror($72)|0);
+ HEAP32[$vararg_buffer18>>2] = $70;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = $73;
+ __gcry_log_info($69,$vararg_buffer18);
+ }
+ }
+ } while(0);
+ _unlock_pool();
+ STACKTOP = sp;return;
+}
+function __gcry_rngcsprng_fast_poll() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ _initialize_basics();
+ _lock_pool_2151();
+ $0 = HEAP32[17729]|0;
+ $1 = ($0|0)!=(0|0);
+ if (!($1)) {
+ _unlock_pool();
+ return;
+ }
+ _do_fast_random_poll();
+ _unlock_pool();
+ return;
+}
+function __gcry_rngfips_initialize($full) {
+ $full = $full|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $full;
+ _basic_initialization();
+ $1 = $0;
+ $2 = ($1|0)!=(0);
+ if (!($2)) {
+ STACKTOP = sp;return;
+ }
+ _lock_rng();
+ $3 = HEAP32[17759]|0;
+ $4 = ($3|0)!=(0|0);
+ do {
+ if ($4) {
+ $12 = HEAP32[17760]|0;
+ $13 = ((($12)) + 52|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)!=(0|0);
+ if ($15) {
+ __gcry_assert_failed(51393,51421,767,51435);
+ // unreachable;
+ }
+ $16 = HEAP32[17761]|0;
+ $17 = ((($16)) + 52|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($18|0)!=(0|0);
+ if ($19) {
+ __gcry_assert_failed(51460,51421,768,51435);
+ // unreachable;
+ }
+ $20 = HEAP32[17762]|0;
+ $21 = ((($20)) + 52|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($22|0)!=(0|0);
+ if ($23) {
+ __gcry_assert_failed(51490,51421,769,51435);
+ // unreachable;
+ } else {
+ $24 = HEAP32[17760]|0;
+ _check_guards($24);
+ $25 = HEAP32[17761]|0;
+ _check_guards($25);
+ $26 = HEAP32[17762]|0;
+ _check_guards($26);
+ break;
+ }
+ } else {
+ $5 = (__gcry_xmalloc_secure(48)|0);
+ HEAP32[17759] = $5;
+ $6 = (__gcry_xcalloc(1,68)|0);
+ HEAP32[17760] = $6;
+ $7 = HEAP32[17760]|0;
+ _setup_guards($7);
+ $8 = (__gcry_xcalloc_secure(1,68)|0);
+ HEAP32[17761] = $8;
+ $9 = HEAP32[17761]|0;
+ _setup_guards($9);
+ $10 = (__gcry_xcalloc_secure(1,68)|0);
+ HEAP32[17762] = $10;
+ $11 = HEAP32[17762]|0;
+ _setup_guards($11);
+ }
+ } while(0);
+ _unlock_rng();
+ STACKTOP = sp;return;
+}
+function _basic_initialization() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17757]|0;
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ HEAP32[17757] = 1;
+ HEAP32[17758] = 0;
+ return;
+}
+function _lock_rng() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(13008)|0);
+ $rc = $0;
+ $1 = $rc;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $rc;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(51357,$vararg_buffer);
+ // unreachable;
+ } else {
+ HEAP32[17758] = 1;
+ STACKTOP = sp;return;
+ }
+}
+function _setup_guards($rng_ctx) {
+ $rng_ctx = $rng_ctx|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rng_ctx;
+ $1 = $0;
+ HEAP8[$1>>0] = 17;
+ $2 = $0;
+ $3 = ((($2)) + 16|0);
+ HEAP8[$3>>0] = 42;
+ $4 = $0;
+ $5 = ((($4)) + 33|0);
+ HEAP8[$5>>0] = -119;
+ $6 = $0;
+ $7 = ((($6)) + 50|0);
+ HEAP8[$7>>0] = -4;
+ STACKTOP = sp;return;
+}
+function _check_guards($rng_ctx) {
+ $rng_ctx = $rng_ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $rng_ctx;
+ $1 = $0;
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2&255;
+ $4 = ($3|0)!=(17);
+ if (!($4)) {
+ $5 = $0;
+ $6 = ((($5)) + 16|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7&255;
+ $9 = ($8|0)!=(42);
+ if (!($9)) {
+ $10 = $0;
+ $11 = ((($10)) + 33|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = $12&255;
+ $14 = ($13|0)!=(137);
+ if (!($14)) {
+ $15 = $0;
+ $16 = ((($15)) + 50|0);
+ $17 = HEAP8[$16>>0]|0;
+ $18 = $17&255;
+ $19 = ($18|0)!=(252);
+ if (!($19)) {
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ }
+ $20 = $0;
+ HEAP32[$vararg_buffer>>2] = $20;
+ __gcry_log_fatal(51523,$vararg_buffer);
+ // unreachable;
+}
+function _unlock_rng() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[17758] = 0;
+ $0 = (_gpgrt_lock_unlock(13008)|0);
+ $rc = $0;
+ $1 = $rc;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $rc;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(51569,$vararg_buffer);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_rngfips_close_fds() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _lock_rng();
+ (__gcry_rndlinux_gather_random(0,0,0,0)|0);
+ _unlock_rng();
+ return;
+}
+function __gcry_rngfips_dump_stats() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function __gcry_rngfips_is_faked() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function __gcry_rngfips_randomize($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ __gcry_rngfips_initialize(1);
+ _lock_rng();
+ $3 = $2;
+ $4 = ($3|0)==(2);
+ $5 = $0;
+ $6 = $1;
+ if ($4) {
+ $7 = HEAP32[17762]|0;
+ _get_random($5,$6,$7);
+ _unlock_rng();
+ STACKTOP = sp;return;
+ } else {
+ $8 = HEAP32[17761]|0;
+ _get_random($5,$6,$8);
+ _unlock_rng();
+ STACKTOP = sp;return;
+ }
+}
+function _get_random($buffer,$length,$rng_ctx) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $rng_ctx = $rng_ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $rng_ctx;
+ $3 = $0;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ __gcry_assert_failed(52720,51421,685,52743);
+ // unreachable;
+ }
+ $5 = $2;
+ $6 = ($5|0)!=(0|0);
+ if (!($6)) {
+ __gcry_assert_failed(51605,51421,686,52743);
+ // unreachable;
+ }
+ $7 = $2;
+ _check_guards($7);
+ $8 = $2;
+ $9 = ((($8)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ($10|0)!=(0|0);
+ do {
+ if (!($11)) {
+ $12 = $2;
+ $13 = HEAP32[17760]|0;
+ $14 = ($12|0)==($13|0);
+ if ($14) {
+ $15 = (_x931_generate_key(1)|0);
+ $16 = $2;
+ $17 = ((($16)) + 4|0);
+ HEAP32[$17>>2] = $15;
+ } else {
+ $18 = (_x931_generate_key(0)|0);
+ $19 = $2;
+ $20 = ((($19)) + 4|0);
+ HEAP32[$20>>2] = $18;
+ }
+ $21 = $2;
+ $22 = ((($21)) + 4|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ($23|0)!=(0|0);
+ if ($24) {
+ $25 = (_getpid()|0);
+ $26 = $2;
+ $27 = ((($26)) + 60|0);
+ HEAP32[$27>>2] = $25;
+ break;
+ } else {
+ __gcry_log_fatal(52138,$vararg_buffer);
+ // unreachable;
+ }
+ }
+ } while(0);
+ $28 = $2;
+ $29 = ((($28)) + 8|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = ($30 << 7)&255;
+ $32 = ($31<<24>>24) >> 7;
+ $33 = $32 << 24 >> 24;
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = $2;
+ _x931_reseed($35);
+ }
+ $36 = $2;
+ $37 = ((($36)) + 60|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = (_getpid()|0);
+ $40 = ($38|0)!=($39|0);
+ if (!($40)) {
+ $41 = $2;
+ $42 = ((($41)) + 64|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (_getpid()|0);
+ $45 = ($43|0)!=($44|0);
+ if (!($45)) {
+ $46 = $0;
+ $47 = $1;
+ $48 = $2;
+ $49 = (_x931_aes_driver($46,$47,$48)|0);
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ __gcry_log_fatal(52138,$vararg_buffer);
+ // unreachable;
+ } else {
+ $51 = $2;
+ _check_guards($51);
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ __gcry_fips_signal_error(51421,714,52743,0,51875);
+ __gcry_log_fatal(52138,$vararg_buffer);
+ // unreachable;
+}
+function _x931_generate_key($for_nonce) {
+ $for_nonce = $for_nonce|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $buffer = 0, $hd = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 16|0;
+ $vararg_buffer = sp + 8|0;
+ $hd = sp + 40|0;
+ $_vset_long = sp;
+ $1 = $for_nonce;
+ $2 = HEAP32[17758]|0;
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ __gcry_assert_failed(51613,51421,596,51632);
+ // unreachable;
+ }
+ $4 = (__gcry_cipher_open($hd,7,1,1)|0);
+ $rc = $4;
+ $5 = $rc;
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $rc;
+ $8 = (__gcry_strerror_2224($7)|0);
+ HEAP32[$vararg_buffer>>2] = $8;
+ __gcry_log_error(51650,$vararg_buffer);
+ $0 = 0;
+ $85 = $0;
+ STACKTOP = sp;return ($85|0);
+ }
+ $9 = $1;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = (__gcry_xmalloc(16)|0);
+ $buffer = $11;
+ $12 = $buffer;
+ $13 = HEAP32[17761]|0;
+ _get_random($12,16,$13);
+ } else {
+ $14 = (_get_entropy(16)|0);
+ $buffer = $14;
+ }
+ $15 = HEAP32[$hd>>2]|0;
+ $16 = $buffer;
+ $17 = (__gcry_cipher_setkey($15,$16,16)|0);
+ $rc = $17;
+ $18 = $buffer;
+ $_vptr = $18;
+ $_vlen = 16;
+ $_vset = 0;
+ $19 = $_vset;
+ $20 = $19&255;
+ $21 = $_vset_long;
+ $22 = $21;
+ HEAP32[$22>>2] = $20;
+ $23 = (($21) + 4)|0;
+ $24 = $23;
+ HEAP32[$24>>2] = 0;
+ while(1) {
+ $25 = $_vptr;
+ $26 = $25;
+ $27 = $26 & 7;
+ $28 = ($27|0)!=(0);
+ $29 = $_vlen;
+ $30 = ($29|0)!=(0);
+ $31 = $28 ? $30 : 0;
+ if (!($31)) {
+ break;
+ }
+ $32 = $_vset;
+ $33 = $_vptr;
+ HEAP8[$33>>0] = $32;
+ $34 = $_vptr;
+ $35 = ((($34)) + 1|0);
+ $_vptr = $35;
+ $36 = $_vlen;
+ $37 = (($36) + -1)|0;
+ $_vlen = $37;
+ }
+ $38 = $_vlen;
+ $39 = ($38>>>0)<(8);
+ if (!($39)) {
+ $40 = $_vset_long;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = (($40) + 4)|0;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (___muldi3(($42|0),($45|0),16843009,16843009)|0);
+ $47 = tempRet0;
+ $48 = $_vset_long;
+ $49 = $48;
+ HEAP32[$49>>2] = $46;
+ $50 = (($48) + 4)|0;
+ $51 = $50;
+ HEAP32[$51>>2] = $47;
+ while(1) {
+ $52 = $_vptr;
+ $_vptr_long = $52;
+ $53 = $_vset_long;
+ $54 = $53;
+ $55 = HEAP32[$54>>2]|0;
+ $56 = (($53) + 4)|0;
+ $57 = $56;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $_vptr_long;
+ $60 = $59;
+ $61 = $60;
+ HEAP32[$61>>2] = $55;
+ $62 = (($60) + 4)|0;
+ $63 = $62;
+ HEAP32[$63>>2] = $58;
+ $64 = $_vlen;
+ $65 = (($64) - 8)|0;
+ $_vlen = $65;
+ $66 = $_vptr;
+ $67 = ((($66)) + 8|0);
+ $_vptr = $67;
+ $68 = $_vlen;
+ $69 = ($68>>>0)>=(8);
+ if (!($69)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $70 = $_vlen;
+ $71 = ($70|0)!=(0);
+ if (!($71)) {
+ break;
+ }
+ $72 = $_vset;
+ $73 = $_vptr;
+ HEAP8[$73>>0] = $72;
+ $74 = $_vptr;
+ $75 = ((($74)) + 1|0);
+ $_vptr = $75;
+ $76 = $_vlen;
+ $77 = (($76) + -1)|0;
+ $_vlen = $77;
+ }
+ $78 = $buffer;
+ __gcry_free($78);
+ $79 = $rc;
+ $80 = ($79|0)!=(0);
+ if ($80) {
+ $81 = $rc;
+ $82 = (__gcry_strerror_2224($81)|0);
+ HEAP32[$vararg_buffer1>>2] = $82;
+ __gcry_log_error(51799,$vararg_buffer1);
+ $83 = HEAP32[$hd>>2]|0;
+ __gcry_cipher_close($83);
+ $0 = 0;
+ $85 = $0;
+ STACKTOP = sp;return ($85|0);
+ } else {
+ $84 = HEAP32[$hd>>2]|0;
+ $0 = $84;
+ $85 = $0;
+ STACKTOP = sp;return ($85|0);
+ }
+ return (0)|0;
+}
+function __gcry_strerror_2224($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (_gpg_strerror($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _get_entropy($nbytes) {
+ $nbytes = $nbytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $result = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $nbytes;
+ $1 = HEAP32[17763]|0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ __gcry_assert_failed(51693,51421,552,51717);
+ // unreachable;
+ }
+ $3 = $0;
+ $4 = (__gcry_xmalloc_secure($3)|0);
+ HEAP32[17763] = $4;
+ $5 = $0;
+ HEAP32[17764] = $5;
+ HEAP32[17765] = 0;
+ $6 = (__gcry_rndlinux_gather_random(82,0,16,2)|0);
+ $rc = $6;
+ $7 = $rc;
+ $8 = ($7|0)<(0);
+ if ($8) {
+ $12 = HEAP32[17763]|0;
+ __gcry_free($12);
+ HEAP32[17763] = 0;
+ __gcry_log_fatal(51771,$vararg_buffer);
+ // unreachable;
+ }
+ $9 = HEAP32[17765]|0;
+ $10 = HEAP32[17764]|0;
+ $11 = ($9|0)!=($10|0);
+ if ($11) {
+ $12 = HEAP32[17763]|0;
+ __gcry_free($12);
+ HEAP32[17763] = 0;
+ __gcry_log_fatal(51771,$vararg_buffer);
+ // unreachable;
+ } else {
+ $13 = HEAP32[17763]|0;
+ $result = $13;
+ HEAP32[17763] = 0;
+ $14 = $result;
+ STACKTOP = sp;return ($14|0);
+ }
+ return (0)|0;
+}
+function _entropy_collect_cb($buffer,$length,$origin) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $origin = $origin|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $origin;
+ $3 = $0;
+ $p = $3;
+ $4 = HEAP32[17758]|0;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ __gcry_assert_failed(51613,51421,531,51729);
+ // unreachable;
+ }
+ $6 = HEAP32[17763]|0;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ __gcry_assert_failed(51748,51421,532,51729);
+ // unreachable;
+ }
+ while(1) {
+ $8 = $1;
+ $9 = (($8) + -1)|0;
+ $1 = $9;
+ $10 = ($8|0)!=(0);
+ if (!($10)) {
+ label = 8;
+ break;
+ }
+ $11 = HEAP32[17765]|0;
+ $12 = HEAP32[17764]|0;
+ $13 = ($11>>>0)<($12>>>0);
+ if (!($13)) {
+ label = 8;
+ break;
+ }
+ $14 = $p;
+ $15 = ((($14)) + 1|0);
+ $p = $15;
+ $16 = HEAP8[$14>>0]|0;
+ $17 = $16&255;
+ $18 = HEAP32[17765]|0;
+ $19 = (($18) + 1)|0;
+ HEAP32[17765] = $19;
+ $20 = HEAP32[17763]|0;
+ $21 = (($20) + ($18)|0);
+ $22 = HEAP8[$21>>0]|0;
+ $23 = $22&255;
+ $24 = $23 ^ $17;
+ $25 = $24&255;
+ HEAP8[$21>>0] = $25;
+ }
+ if ((label|0) == 8) {
+ STACKTOP = sp;return;
+ }
+}
+function _x931_reseed($rng_ctx) {
+ $rng_ctx = $rng_ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $rng_ctx;
+ $1 = HEAP32[17758]|0;
+ $2 = ($1|0)!=(0);
+ if (!($2)) {
+ __gcry_assert_failed(51613,51421,658,51831);
+ // unreachable;
+ }
+ $3 = $0;
+ $4 = HEAP32[17760]|0;
+ $5 = ($3|0)==($4|0);
+ $6 = $0;
+ $7 = ((($6)) + 17|0);
+ if ($5) {
+ $8 = HEAP32[17761]|0;
+ _get_random($7,16,$8);
+ $9 = $0;
+ $10 = ((($9)) + 8|0);
+ $11 = HEAP8[$10>>0]|0;
+ $12 = $11 & -2;
+ $13 = $12 | 1;
+ HEAP8[$10>>0] = $13;
+ $14 = (_getpid()|0);
+ $15 = $0;
+ $16 = ((($15)) + 64|0);
+ HEAP32[$16>>2] = $14;
+ STACKTOP = sp;return;
+ } else {
+ _x931_generate_seed($7,16);
+ $17 = $0;
+ $18 = ((($17)) + 8|0);
+ $19 = HEAP8[$18>>0]|0;
+ $20 = $19 & -2;
+ $21 = $20 | 1;
+ HEAP8[$18>>0] = $21;
+ $22 = (_getpid()|0);
+ $23 = $0;
+ $24 = ((($23)) + 64|0);
+ HEAP32[$24>>2] = $22;
+ STACKTOP = sp;return;
+ }
+}
+function _x931_generate_seed($seed_buffer,$length) {
+ $seed_buffer = $seed_buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $buffer = 0, dest = 0, label = 0, sp = 0, src = 0;
+ var stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp;
+ $0 = $seed_buffer;
+ $1 = $length;
+ $2 = HEAP32[17758]|0;
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ __gcry_assert_failed(51613,51421,642,51843);
+ // unreachable;
+ }
+ $4 = $1;
+ $5 = ($4|0)==(16);
+ if (!($5)) {
+ __gcry_assert_failed(51862,51421,643,51843);
+ // unreachable;
+ }
+ $6 = (_get_entropy(16)|0);
+ $buffer = $6;
+ $7 = $0;
+ $8 = $buffer;
+ dest=$7; src=$8; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $9 = $buffer;
+ $_vptr = $9;
+ $_vlen = 16;
+ $_vset = 0;
+ $10 = $_vset;
+ $11 = $10&255;
+ $12 = $_vset_long;
+ $13 = $12;
+ HEAP32[$13>>2] = $11;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = 0;
+ while(1) {
+ $16 = $_vptr;
+ $17 = $16;
+ $18 = $17 & 7;
+ $19 = ($18|0)!=(0);
+ $20 = $_vlen;
+ $21 = ($20|0)!=(0);
+ $22 = $19 ? $21 : 0;
+ if (!($22)) {
+ break;
+ }
+ $23 = $_vset;
+ $24 = $_vptr;
+ HEAP8[$24>>0] = $23;
+ $25 = $_vptr;
+ $26 = ((($25)) + 1|0);
+ $_vptr = $26;
+ $27 = $_vlen;
+ $28 = (($27) + -1)|0;
+ $_vlen = $28;
+ }
+ $29 = $_vlen;
+ $30 = ($29>>>0)<(8);
+ if (!($30)) {
+ $31 = $_vset_long;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = (($31) + 4)|0;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (___muldi3(($33|0),($36|0),16843009,16843009)|0);
+ $38 = tempRet0;
+ $39 = $_vset_long;
+ $40 = $39;
+ HEAP32[$40>>2] = $37;
+ $41 = (($39) + 4)|0;
+ $42 = $41;
+ HEAP32[$42>>2] = $38;
+ while(1) {
+ $43 = $_vptr;
+ $_vptr_long = $43;
+ $44 = $_vset_long;
+ $45 = $44;
+ $46 = HEAP32[$45>>2]|0;
+ $47 = (($44) + 4)|0;
+ $48 = $47;
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $_vptr_long;
+ $51 = $50;
+ $52 = $51;
+ HEAP32[$52>>2] = $46;
+ $53 = (($51) + 4)|0;
+ $54 = $53;
+ HEAP32[$54>>2] = $49;
+ $55 = $_vlen;
+ $56 = (($55) - 8)|0;
+ $_vlen = $56;
+ $57 = $_vptr;
+ $58 = ((($57)) + 8|0);
+ $_vptr = $58;
+ $59 = $_vlen;
+ $60 = ($59>>>0)>=(8);
+ if (!($60)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $61 = $_vlen;
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ break;
+ }
+ $63 = $_vset;
+ $64 = $_vptr;
+ HEAP8[$64>>0] = $63;
+ $65 = $_vptr;
+ $66 = ((($65)) + 1|0);
+ $_vptr = $66;
+ $67 = $_vlen;
+ $68 = (($67) + -1)|0;
+ $_vlen = $68;
+ }
+ $69 = $buffer;
+ __gcry_free($69);
+ STACKTOP = sp;return;
+}
+function _x931_aes_driver($output,$length,$rng_ctx) {
+ $output = $output|0;
+ $length = $length|0;
+ $rng_ctx = $rng_ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $datetime_DT = 0, $intermediate_I = 0, $nbytes = 0, $result_buffer = 0, $temp_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $datetime_DT = sp + 56|0;
+ $_vset_long = sp;
+ $1 = $output;
+ $2 = $length;
+ $3 = $rng_ctx;
+ $4 = HEAP32[17758]|0;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ __gcry_assert_failed(51613,51421,444,51929);
+ // unreachable;
+ }
+ $6 = $3;
+ $7 = ((($6)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ __gcry_assert_failed(51945,51421,445,51929);
+ // unreachable;
+ }
+ $10 = $3;
+ $11 = ((($10)) + 8|0);
+ $12 = HEAP8[$11>>0]|0;
+ $13 = ($12 << 7)&255;
+ $14 = ($13<<24>>24) >> 7;
+ $15 = $14 << 24 >> 24;
+ $16 = ($15|0)!=(0);
+ if (!($16)) {
+ __gcry_assert_failed(51964,51421,446,51929);
+ // unreachable;
+ }
+ $17 = HEAP32[17759]|0;
+ $18 = ($17|0)!=(0|0);
+ if (!($18)) {
+ __gcry_assert_failed(51983,51421,448,51929);
+ // unreachable;
+ }
+ $19 = HEAP32[17759]|0;
+ $intermediate_I = $19;
+ $20 = HEAP32[17759]|0;
+ $21 = ((($20)) + 16|0);
+ $temp_buffer = $21;
+ $22 = HEAP32[17759]|0;
+ $23 = ((($22)) + 32|0);
+ $result_buffer = $23;
+ while(1) {
+ $24 = $2;
+ $25 = ($24|0)!=(0);
+ if (!($25)) {
+ label = 33;
+ break;
+ }
+ $26 = $3;
+ $27 = ((($26)) + 52|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = ($28|0)!=(0|0);
+ if (!($29)) {
+ $30 = $3;
+ $31 = ((($30)) + 12|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32>>>0)>(1000);
+ if ($33) {
+ $34 = $3;
+ _x931_reseed($34);
+ $35 = $3;
+ $36 = ((($35)) + 12|0);
+ HEAP32[$36>>2] = 0;
+ }
+ }
+ $37 = $2;
+ $38 = ($37>>>0)<(16);
+ $39 = $2;
+ $40 = $38 ? $39 : 16;
+ $nbytes = $40;
+ $41 = $3;
+ _x931_get_dt($datetime_DT,16,$41);
+ $42 = $result_buffer;
+ $43 = $3;
+ $44 = ((($43)) + 17|0);
+ $45 = $3;
+ $46 = ((($45)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $intermediate_I;
+ $49 = $temp_buffer;
+ _x931_aes($42,$datetime_DT,$44,$47,$48,$49);
+ $50 = $3;
+ $51 = ((($50)) + 12|0);
+ $52 = HEAP32[$51>>2]|0;
+ $53 = (($52) + 1)|0;
+ HEAP32[$51>>2] = $53;
+ $54 = $3;
+ $55 = ((($54)) + 51|0);
+ $56 = HEAP8[$55>>0]|0;
+ $57 = $56&255;
+ $58 = ($57|0)!=(0);
+ if ($58) {
+ $59 = $3;
+ $60 = ((($59)) + 52|0);
+ $61 = HEAP32[$60>>2]|0;
+ $62 = ($61|0)!=(0|0);
+ if ($62) {
+ $63 = $3;
+ $64 = HEAP32[17760]|0;
+ $65 = ($63|0)!=($64|0);
+ if ($65) {
+ $66 = $3;
+ $67 = HEAP32[17761]|0;
+ $68 = ($66|0)!=($67|0);
+ if ($68) {
+ $69 = $3;
+ $70 = HEAP32[17762]|0;
+ $71 = ($69|0)!=($70|0);
+ if (!($71)) {
+ label = 19;
+ }
+ } else {
+ label = 19;
+ }
+ } else {
+ label = 19;
+ }
+ } else {
+ label = 19;
+ }
+ } else {
+ label = 19;
+ }
+ if ((label|0) == 19) {
+ label = 0;
+ $72 = $3;
+ $73 = ((($72)) + 8|0);
+ $74 = HEAP8[$73>>0]|0;
+ $75 = ($74 << 6)&255;
+ $76 = ($75<<24>>24) >> 7;
+ $77 = $76 << 24 >> 24;
+ $78 = ($77|0)!=(0);
+ $79 = $3;
+ $80 = ((($79)) + 34|0);
+ $81 = $result_buffer;
+ if (!($78)) {
+ dest=$80; src=$81; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $82 = $3;
+ $83 = ((($82)) + 8|0);
+ $84 = HEAP8[$83>>0]|0;
+ $85 = $84 & -3;
+ $86 = $85 | 2;
+ HEAP8[$83>>0] = $86;
+ continue;
+ }
+ $87 = (_memcmp($80,$81,16)|0);
+ $88 = ($87|0)!=(0);
+ if (!($88)) {
+ label = 22;
+ break;
+ }
+ $89 = $3;
+ $90 = ((($89)) + 34|0);
+ $91 = $result_buffer;
+ dest=$90; src=$91; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ }
+ $92 = $1;
+ $93 = $result_buffer;
+ $94 = $nbytes;
+ _memcpy(($92|0),($93|0),($94|0))|0;
+ $95 = $result_buffer;
+ $_vptr = $95;
+ $_vlen = 16;
+ $_vset = 0;
+ $96 = $_vset;
+ $97 = $96&255;
+ $98 = $_vset_long;
+ $99 = $98;
+ HEAP32[$99>>2] = $97;
+ $100 = (($98) + 4)|0;
+ $101 = $100;
+ HEAP32[$101>>2] = 0;
+ while(1) {
+ $102 = $_vptr;
+ $103 = $102;
+ $104 = $103 & 7;
+ $105 = ($104|0)!=(0);
+ $106 = $_vlen;
+ $107 = ($106|0)!=(0);
+ $108 = $105 ? $107 : 0;
+ if (!($108)) {
+ break;
+ }
+ $109 = $_vset;
+ $110 = $_vptr;
+ HEAP8[$110>>0] = $109;
+ $111 = $_vptr;
+ $112 = ((($111)) + 1|0);
+ $_vptr = $112;
+ $113 = $_vlen;
+ $114 = (($113) + -1)|0;
+ $_vlen = $114;
+ }
+ $115 = $_vlen;
+ $116 = ($115>>>0)<(8);
+ if (!($116)) {
+ $117 = $_vset_long;
+ $118 = $117;
+ $119 = HEAP32[$118>>2]|0;
+ $120 = (($117) + 4)|0;
+ $121 = $120;
+ $122 = HEAP32[$121>>2]|0;
+ $123 = (___muldi3(($119|0),($122|0),16843009,16843009)|0);
+ $124 = tempRet0;
+ $125 = $_vset_long;
+ $126 = $125;
+ HEAP32[$126>>2] = $123;
+ $127 = (($125) + 4)|0;
+ $128 = $127;
+ HEAP32[$128>>2] = $124;
+ while(1) {
+ $129 = $_vptr;
+ $_vptr_long = $129;
+ $130 = $_vset_long;
+ $131 = $130;
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (($130) + 4)|0;
+ $134 = $133;
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $_vptr_long;
+ $137 = $136;
+ $138 = $137;
+ HEAP32[$138>>2] = $132;
+ $139 = (($137) + 4)|0;
+ $140 = $139;
+ HEAP32[$140>>2] = $135;
+ $141 = $_vlen;
+ $142 = (($141) - 8)|0;
+ $_vlen = $142;
+ $143 = $_vptr;
+ $144 = ((($143)) + 8|0);
+ $_vptr = $144;
+ $145 = $_vlen;
+ $146 = ($145>>>0)>=(8);
+ if (!($146)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $147 = $_vlen;
+ $148 = ($147|0)!=(0);
+ if (!($148)) {
+ break;
+ }
+ $149 = $_vset;
+ $150 = $_vptr;
+ HEAP8[$150>>0] = $149;
+ $151 = $_vptr;
+ $152 = ((($151)) + 1|0);
+ $_vptr = $152;
+ $153 = $_vlen;
+ $154 = (($153) + -1)|0;
+ $_vlen = $154;
+ }
+ $155 = $nbytes;
+ $156 = $1;
+ $157 = (($156) + ($155)|0);
+ $1 = $157;
+ $158 = $nbytes;
+ $159 = $2;
+ $160 = (($159) - ($158))|0;
+ $2 = $160;
+ }
+ if ((label|0) == 22) {
+ __gcry_fips_signal_error(51421,502,51929,0,52098);
+ $0 = -1;
+ $161 = $0;
+ STACKTOP = sp;return ($161|0);
+ }
+ else if ((label|0) == 33) {
+ $0 = 0;
+ $161 = $0;
+ STACKTOP = sp;return ($161|0);
+ }
+ return (0)|0;
+}
+function _x931_get_dt($buffer,$length,$rng_ctx) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $rng_ctx = $rng_ctx|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $tv = 0, $usec = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $tv = sp + 8|0;
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $rng_ctx;
+ $3 = $1;
+ $4 = ($3|0)==(16);
+ if (!($4)) {
+ __gcry_assert_failed(51862,51421,273,52013);
+ // unreachable;
+ }
+ $5 = HEAP32[17758]|0;
+ $6 = ($5|0)!=(0);
+ if (!($6)) {
+ __gcry_assert_failed(51613,51421,274,52013);
+ // unreachable;
+ }
+ $7 = $2;
+ $8 = ((($7)) + 52|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($9|0)!=(0|0);
+ if ($10) {
+ $11 = $2;
+ $12 = HEAP32[17760]|0;
+ $13 = ($11|0)!=($12|0);
+ if ($13) {
+ $14 = $2;
+ $15 = HEAP32[17761]|0;
+ $16 = ($14|0)!=($15|0);
+ if ($16) {
+ $17 = $2;
+ $18 = HEAP32[17762]|0;
+ $19 = ($17|0)!=($18|0);
+ if ($19) {
+ $20 = $0;
+ $21 = $2;
+ $22 = ((($21)) + 52|0);
+ $23 = HEAP32[$22>>2]|0;
+ dest=$20; src=$23; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $24 = $2;
+ $25 = ((($24)) + 56|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $26 >>> 24;
+ $28 = $27&255;
+ $29 = $0;
+ $30 = ((($29)) + 12|0);
+ HEAP8[$30>>0] = $28;
+ $31 = $2;
+ $32 = ((($31)) + 56|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $33 >>> 16;
+ $35 = $34&255;
+ $36 = $0;
+ $37 = ((($36)) + 13|0);
+ HEAP8[$37>>0] = $35;
+ $38 = $2;
+ $39 = ((($38)) + 56|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $40 >>> 8;
+ $42 = $41&255;
+ $43 = $0;
+ $44 = ((($43)) + 14|0);
+ HEAP8[$44>>0] = $42;
+ $45 = $2;
+ $46 = ((($45)) + 56|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $47&255;
+ $49 = $0;
+ $50 = ((($49)) + 15|0);
+ HEAP8[$50>>0] = $48;
+ $51 = $2;
+ $52 = ((($51)) + 56|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = (($53) + 1)|0;
+ HEAP32[$52>>2] = $54;
+ STACKTOP = sp;return;
+ }
+ }
+ }
+ }
+ $55 = HEAP32[17766]|0;
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ $57 = (_getpid()|0);
+ HEAP32[17767] = $57;
+ $58 = (_getppid()|0);
+ HEAP32[17768] = $58;
+ }
+ $59 = (_gettimeofday(($tv|0),(0|0))|0);
+ $60 = ($59|0)!=(0);
+ if ($60) {
+ $61 = (___errno_location()|0);
+ $62 = HEAP32[$61>>2]|0;
+ $63 = (_strerror($62)|0);
+ HEAP32[$vararg_buffer>>2] = $63;
+ __gcry_log_fatal(52025,$vararg_buffer);
+ // unreachable;
+ }
+ $64 = ((($tv)) + 4|0);
+ $65 = HEAP32[$64>>2]|0;
+ $usec = $65;
+ $66 = $usec;
+ $67 = $66 << 4;
+ $usec = $67;
+ $68 = HEAP32[$tv>>2]|0;
+ $69 = HEAP32[17766]|0;
+ $70 = ($68|0)==($69|0);
+ if ($70) {
+ $71 = $usec;
+ $72 = HEAP32[17769]|0;
+ $73 = ($71|0)==($72|0);
+ if ($73) {
+ $74 = HEAP16[35838]|0;
+ $75 = (($74) + 1)<<16>>16;
+ HEAP16[35838] = $75;
+ $76 = HEAP16[35838]|0;
+ $77 = $76&65535;
+ $78 = $77 & 4095;
+ $79 = $78&65535;
+ HEAP16[35838] = $79;
+ } else {
+ label = 17;
+ }
+ } else {
+ label = 17;
+ }
+ if ((label|0) == 17) {
+ HEAP16[35838] = 0;
+ $80 = HEAP32[$tv>>2]|0;
+ HEAP32[17766] = $80;
+ $81 = $usec;
+ HEAP32[17769] = $81;
+ }
+ $82 = HEAP32[$tv>>2]|0;
+ $83 = $82 >> 24;
+ $84 = $83 & 255;
+ $85 = $84&255;
+ $86 = $0;
+ HEAP8[$86>>0] = $85;
+ $87 = HEAP32[$tv>>2]|0;
+ $88 = $87 >> 16;
+ $89 = $88 & 255;
+ $90 = $89&255;
+ $91 = $0;
+ $92 = ((($91)) + 1|0);
+ HEAP8[$92>>0] = $90;
+ $93 = HEAP32[$tv>>2]|0;
+ $94 = $93 >> 8;
+ $95 = $94 & 255;
+ $96 = $95&255;
+ $97 = $0;
+ $98 = ((($97)) + 2|0);
+ HEAP8[$98>>0] = $96;
+ $99 = HEAP32[$tv>>2]|0;
+ $100 = $99 & 255;
+ $101 = $100&255;
+ $102 = $0;
+ $103 = ((($102)) + 3|0);
+ HEAP8[$103>>0] = $101;
+ $104 = $usec;
+ $105 = $104 >>> 16;
+ $106 = $105 & 255;
+ $107 = $106&255;
+ $108 = $0;
+ $109 = ((($108)) + 4|0);
+ HEAP8[$109>>0] = $107;
+ $110 = $usec;
+ $111 = $110 >>> 8;
+ $112 = $111 & 255;
+ $113 = $112&255;
+ $114 = $0;
+ $115 = ((($114)) + 5|0);
+ HEAP8[$115>>0] = $113;
+ $116 = $usec;
+ $117 = $116 & 240;
+ $118 = HEAP16[35838]|0;
+ $119 = $118&65535;
+ $120 = $119 >> 8;
+ $121 = $120 & 15;
+ $122 = $117 | $121;
+ $123 = $122&255;
+ $124 = $0;
+ $125 = ((($124)) + 6|0);
+ HEAP8[$125>>0] = $123;
+ $126 = HEAP16[35838]|0;
+ $127 = $126&65535;
+ $128 = $127 & 255;
+ $129 = $128&255;
+ $130 = $0;
+ $131 = ((($130)) + 7|0);
+ HEAP8[$131>>0] = $129;
+ $132 = HEAP32[17767]|0;
+ $133 = $132 >>> 24;
+ $134 = $133 & 255;
+ $135 = $134&255;
+ $136 = $0;
+ $137 = ((($136)) + 8|0);
+ HEAP8[$137>>0] = $135;
+ $138 = HEAP32[17767]|0;
+ $139 = $138 >>> 16;
+ $140 = $139 & 255;
+ $141 = $140&255;
+ $142 = $0;
+ $143 = ((($142)) + 9|0);
+ HEAP8[$143>>0] = $141;
+ $144 = HEAP32[17767]|0;
+ $145 = $144 >>> 8;
+ $146 = $145 & 255;
+ $147 = $146&255;
+ $148 = $0;
+ $149 = ((($148)) + 10|0);
+ HEAP8[$149>>0] = $147;
+ $150 = HEAP32[17767]|0;
+ $151 = $150 & 255;
+ $152 = $151&255;
+ $153 = $0;
+ $154 = ((($153)) + 11|0);
+ HEAP8[$154>>0] = $152;
+ $155 = HEAP32[17768]|0;
+ $156 = $155 >>> 24;
+ $157 = $156 & 255;
+ $158 = $157&255;
+ $159 = $0;
+ $160 = ((($159)) + 12|0);
+ HEAP8[$160>>0] = $158;
+ $161 = HEAP32[17768]|0;
+ $162 = $161 >>> 16;
+ $163 = $162 & 255;
+ $164 = $163&255;
+ $165 = $0;
+ $166 = ((($165)) + 13|0);
+ HEAP8[$166>>0] = $164;
+ $167 = HEAP32[17768]|0;
+ $168 = $167 >>> 8;
+ $169 = $168 & 255;
+ $170 = $169&255;
+ $171 = $0;
+ $172 = ((($171)) + 14|0);
+ HEAP8[$172>>0] = $170;
+ $173 = HEAP32[17768]|0;
+ $174 = $173 & 255;
+ $175 = $174&255;
+ $176 = $0;
+ $177 = ((($176)) + 15|0);
+ HEAP8[$177>>0] = $175;
+ $178 = HEAP32[17768]|0;
+ $179 = (($178) + 1)|0;
+ HEAP32[17768] = $179;
+ $180 = ($179|0)!=(0);
+ if ($180) {
+ STACKTOP = sp;return;
+ }
+ $181 = HEAP32[17767]|0;
+ $182 = (($181) + 1)|0;
+ HEAP32[17767] = $182;
+ STACKTOP = sp;return;
+}
+function _x931_aes($result_R,$datetime_DT,$seed_V,$key,$intermediate_I,$temp_xor) {
+ $result_R = $result_R|0;
+ $datetime_DT = $datetime_DT|0;
+ $seed_V = $seed_V|0;
+ $key = $key|0;
+ $intermediate_I = $intermediate_I|0;
+ $temp_xor = $temp_xor|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
+ var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
+ var $99 = 0, $_vlen = 0, $_vlen2 = 0, $_vptr = 0, $_vptr1 = 0, $_vptr_long = 0, $_vptr_long5 = 0, $_vset = 0, $_vset3 = 0, $_vset_long = 0, $_vset_long4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $_vset_long = sp + 8|0;
+ $_vset_long4 = sp;
+ $0 = $result_R;
+ $1 = $datetime_DT;
+ $2 = $seed_V;
+ $3 = $key;
+ $4 = $intermediate_I;
+ $5 = $temp_xor;
+ $6 = $3;
+ $7 = $4;
+ $8 = $1;
+ _encrypt_aes($6,$7,$8,16);
+ $9 = $5;
+ $10 = $4;
+ $11 = $2;
+ _xor_buffer($9,$10,$11,16);
+ $12 = $3;
+ $13 = $0;
+ $14 = $5;
+ _encrypt_aes($12,$13,$14,16);
+ $15 = $5;
+ $16 = $0;
+ $17 = $4;
+ _xor_buffer($15,$16,$17,16);
+ $18 = $3;
+ $19 = $2;
+ $20 = $5;
+ _encrypt_aes($18,$19,$20,16);
+ $21 = $4;
+ $_vptr = $21;
+ $_vlen = 16;
+ $_vset = 0;
+ $22 = $_vset;
+ $23 = $22&255;
+ $24 = $_vset_long;
+ $25 = $24;
+ HEAP32[$25>>2] = $23;
+ $26 = (($24) + 4)|0;
+ $27 = $26;
+ HEAP32[$27>>2] = 0;
+ while(1) {
+ $28 = $_vptr;
+ $29 = $28;
+ $30 = $29 & 7;
+ $31 = ($30|0)!=(0);
+ $32 = $_vlen;
+ $33 = ($32|0)!=(0);
+ $34 = $31 ? $33 : 0;
+ if (!($34)) {
+ break;
+ }
+ $35 = $_vset;
+ $36 = $_vptr;
+ HEAP8[$36>>0] = $35;
+ $37 = $_vptr;
+ $38 = ((($37)) + 1|0);
+ $_vptr = $38;
+ $39 = $_vlen;
+ $40 = (($39) + -1)|0;
+ $_vlen = $40;
+ }
+ $41 = $_vlen;
+ $42 = ($41>>>0)<(8);
+ if (!($42)) {
+ $43 = $_vset_long;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($43) + 4)|0;
+ $47 = $46;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (___muldi3(($45|0),($48|0),16843009,16843009)|0);
+ $50 = tempRet0;
+ $51 = $_vset_long;
+ $52 = $51;
+ HEAP32[$52>>2] = $49;
+ $53 = (($51) + 4)|0;
+ $54 = $53;
+ HEAP32[$54>>2] = $50;
+ while(1) {
+ $55 = $_vptr;
+ $_vptr_long = $55;
+ $56 = $_vset_long;
+ $57 = $56;
+ $58 = HEAP32[$57>>2]|0;
+ $59 = (($56) + 4)|0;
+ $60 = $59;
+ $61 = HEAP32[$60>>2]|0;
+ $62 = $_vptr_long;
+ $63 = $62;
+ $64 = $63;
+ HEAP32[$64>>2] = $58;
+ $65 = (($63) + 4)|0;
+ $66 = $65;
+ HEAP32[$66>>2] = $61;
+ $67 = $_vlen;
+ $68 = (($67) - 8)|0;
+ $_vlen = $68;
+ $69 = $_vptr;
+ $70 = ((($69)) + 8|0);
+ $_vptr = $70;
+ $71 = $_vlen;
+ $72 = ($71>>>0)>=(8);
+ if (!($72)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $73 = $_vlen;
+ $74 = ($73|0)!=(0);
+ if (!($74)) {
+ break;
+ }
+ $75 = $_vset;
+ $76 = $_vptr;
+ HEAP8[$76>>0] = $75;
+ $77 = $_vptr;
+ $78 = ((($77)) + 1|0);
+ $_vptr = $78;
+ $79 = $_vlen;
+ $80 = (($79) + -1)|0;
+ $_vlen = $80;
+ }
+ $81 = $5;
+ $_vptr1 = $81;
+ $_vlen2 = 16;
+ $_vset3 = 0;
+ $82 = $_vset3;
+ $83 = $82&255;
+ $84 = $_vset_long4;
+ $85 = $84;
+ HEAP32[$85>>2] = $83;
+ $86 = (($84) + 4)|0;
+ $87 = $86;
+ HEAP32[$87>>2] = 0;
+ while(1) {
+ $88 = $_vptr1;
+ $89 = $88;
+ $90 = $89 & 7;
+ $91 = ($90|0)!=(0);
+ $92 = $_vlen2;
+ $93 = ($92|0)!=(0);
+ $94 = $91 ? $93 : 0;
+ if (!($94)) {
+ break;
+ }
+ $95 = $_vset3;
+ $96 = $_vptr1;
+ HEAP8[$96>>0] = $95;
+ $97 = $_vptr1;
+ $98 = ((($97)) + 1|0);
+ $_vptr1 = $98;
+ $99 = $_vlen2;
+ $100 = (($99) + -1)|0;
+ $_vlen2 = $100;
+ }
+ $101 = $_vlen2;
+ $102 = ($101>>>0)<(8);
+ if (!($102)) {
+ $103 = $_vset_long4;
+ $104 = $103;
+ $105 = HEAP32[$104>>2]|0;
+ $106 = (($103) + 4)|0;
+ $107 = $106;
+ $108 = HEAP32[$107>>2]|0;
+ $109 = (___muldi3(($105|0),($108|0),16843009,16843009)|0);
+ $110 = tempRet0;
+ $111 = $_vset_long4;
+ $112 = $111;
+ HEAP32[$112>>2] = $109;
+ $113 = (($111) + 4)|0;
+ $114 = $113;
+ HEAP32[$114>>2] = $110;
+ while(1) {
+ $115 = $_vptr1;
+ $_vptr_long5 = $115;
+ $116 = $_vset_long4;
+ $117 = $116;
+ $118 = HEAP32[$117>>2]|0;
+ $119 = (($116) + 4)|0;
+ $120 = $119;
+ $121 = HEAP32[$120>>2]|0;
+ $122 = $_vptr_long5;
+ $123 = $122;
+ $124 = $123;
+ HEAP32[$124>>2] = $118;
+ $125 = (($123) + 4)|0;
+ $126 = $125;
+ HEAP32[$126>>2] = $121;
+ $127 = $_vlen2;
+ $128 = (($127) - 8)|0;
+ $_vlen2 = $128;
+ $129 = $_vptr1;
+ $130 = ((($129)) + 8|0);
+ $_vptr1 = $130;
+ $131 = $_vlen2;
+ $132 = ($131>>>0)>=(8);
+ if (!($132)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $133 = $_vlen2;
+ $134 = ($133|0)!=(0);
+ if (!($134)) {
+ break;
+ }
+ $135 = $_vset3;
+ $136 = $_vptr1;
+ HEAP8[$136>>0] = $135;
+ $137 = $_vptr1;
+ $138 = ((($137)) + 1|0);
+ $_vptr1 = $138;
+ $139 = $_vlen2;
+ $140 = (($139) + -1)|0;
+ $_vlen2 = $140;
+ }
+ STACKTOP = sp;return;
+}
+function _encrypt_aes($key,$output,$input,$length) {
+ $key = $key|0;
+ $output = $output|0;
+ $input = $input|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $key;
+ $1 = $output;
+ $2 = $input;
+ $3 = $length;
+ $4 = $3;
+ $5 = ($4|0)==(16);
+ if (!($5)) {
+ __gcry_assert_failed(51862,51421,386,52052);
+ // unreachable;
+ }
+ $6 = $0;
+ $7 = $1;
+ $8 = $3;
+ $9 = $2;
+ $10 = $3;
+ $11 = (__gcry_cipher_encrypt($6,$7,$8,$9,$10)|0);
+ $err = $11;
+ $12 = $err;
+ $13 = ($12|0)!=(0);
+ if ($13) {
+ $14 = $err;
+ $15 = (__gcry_strerror_2224($14)|0);
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(52064,$vararg_buffer);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function _xor_buffer($r,$a,$b,$length) {
+ $r = $r|0;
+ $a = $a|0;
+ $b = $b|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $r;
+ $1 = $a;
+ $2 = $b;
+ $3 = $length;
+ while(1) {
+ $4 = $3;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ break;
+ }
+ $6 = $1;
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7&255;
+ $9 = $2;
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10&255;
+ $12 = $8 ^ $11;
+ $13 = $12&255;
+ $14 = $0;
+ HEAP8[$14>>0] = $13;
+ $15 = $3;
+ $16 = (($15) + -1)|0;
+ $3 = $16;
+ $17 = $1;
+ $18 = ((($17)) + 1|0);
+ $1 = $18;
+ $19 = $2;
+ $20 = ((($19)) + 1|0);
+ $2 = $20;
+ $21 = $0;
+ $22 = ((($21)) + 1|0);
+ $0 = $22;
+ }
+ STACKTOP = sp;return;
+}
+function __gcry_rngfips_create_nonce($buffer,$length) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ __gcry_rngfips_initialize(1);
+ _lock_rng();
+ $2 = $0;
+ $3 = $1;
+ $4 = HEAP32[17760]|0;
+ _get_random($2,$3,$4);
+ _unlock_rng();
+ STACKTOP = sp;return;
+}
+function __gcry_rngfips_selftest($report) {
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $buffer = 0, $ec = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $buffer = sp + 8|0;
+ $0 = $report;
+ __gcry_randomize($buffer,8,1);
+ $1 = $0;
+ $2 = (_selftest_kat($1)|0);
+ $ec = $2;
+ $3 = $ec;
+ $4 = (_gpg_error_2250($3)|0);
+ STACKTOP = sp;return ($4|0);
+}
+function _selftest_kat($report) {
+ $report = $report|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
+ var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
+ var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
+ var $97 = 0, $98 = 0, $99 = 0, $errtxt = 0, $or$cond = 0, $rc = 0, $result = 0, $ridx = 0, $test_ctx = 0, $tvidx = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $result = sp + 24|0;
+ $0 = $report;
+ $errtxt = 0;
+ $1 = HEAP32[17759]|0;
+ $2 = ($1|0)!=(0|0);
+ if (!($2)) {
+ __gcry_assert_failed(51983,51421,912,52167);
+ // unreachable;
+ }
+ $3 = (__gcry_xcalloc(1,68)|0);
+ $test_ctx = $3;
+ $4 = $test_ctx;
+ _setup_guards($4);
+ _lock_rng();
+ $tvidx = 0;
+ L4: while(1) {
+ $5 = $tvidx;
+ $6 = ($5>>>0)<(3);
+ if (!($6)) {
+ break;
+ }
+ $7 = $test_ctx;
+ $8 = ((($7)) + 4|0);
+ $9 = (__gcry_cipher_open($8,7,1,1)|0);
+ $rc = $9;
+ $10 = $rc;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ label = 6;
+ break;
+ }
+ $12 = $test_ctx;
+ $13 = ((($12)) + 4|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = $tvidx;
+ $16 = (52218 + (($15*96)|0)|0);
+ $17 = (__gcry_cipher_setkey($14,$16,16)|0);
+ $rc = $17;
+ $18 = $rc;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ label = 8;
+ break;
+ }
+ $20 = (_getpid()|0);
+ $21 = $test_ctx;
+ $22 = ((($21)) + 60|0);
+ HEAP32[$22>>2] = $20;
+ $23 = $test_ctx;
+ $24 = ((($23)) + 17|0);
+ $25 = $tvidx;
+ $26 = (52218 + (($25*96)|0)|0);
+ $27 = ((($26)) + 32|0);
+ dest=$24; src=$27; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $28 = $test_ctx;
+ $29 = ((($28)) + 8|0);
+ $30 = HEAP8[$29>>0]|0;
+ $31 = $30 & -2;
+ $32 = $31 | 1;
+ HEAP8[$29>>0] = $32;
+ $33 = (_getpid()|0);
+ $34 = $test_ctx;
+ $35 = ((($34)) + 64|0);
+ HEAP32[$35>>2] = $33;
+ $36 = $tvidx;
+ $37 = (52218 + (($36*96)|0)|0);
+ $38 = ((($37)) + 16|0);
+ $39 = $test_ctx;
+ $40 = ((($39)) + 52|0);
+ HEAP32[$40>>2] = $38;
+ $41 = $tvidx;
+ $42 = (52218 + (($41*96)|0)|0);
+ $43 = ((($42)) + 16|0);
+ $44 = ((($43)) + 12|0);
+ $45 = HEAP8[$44>>0]|0;
+ $46 = $45&255;
+ $47 = $46 << 24;
+ $48 = $tvidx;
+ $49 = (52218 + (($48*96)|0)|0);
+ $50 = ((($49)) + 16|0);
+ $51 = ((($50)) + 13|0);
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52&255;
+ $54 = $53 << 16;
+ $55 = $47 | $54;
+ $56 = $tvidx;
+ $57 = (52218 + (($56*96)|0)|0);
+ $58 = ((($57)) + 16|0);
+ $59 = ((($58)) + 14|0);
+ $60 = HEAP8[$59>>0]|0;
+ $61 = $60&255;
+ $62 = $61 << 8;
+ $63 = $55 | $62;
+ $64 = $tvidx;
+ $65 = (52218 + (($64*96)|0)|0);
+ $66 = ((($65)) + 16|0);
+ $67 = ((($66)) + 15|0);
+ $68 = HEAP8[$67>>0]|0;
+ $69 = $68&255;
+ $70 = $63 | $69;
+ $71 = $test_ctx;
+ $72 = ((($71)) + 56|0);
+ HEAP32[$72>>2] = $70;
+ $ridx = 0;
+ while(1) {
+ $73 = $ridx;
+ $74 = ($73|0)<(3);
+ if (!($74)) {
+ break;
+ }
+ $75 = $test_ctx;
+ $76 = (_x931_aes_driver($result,16,$75)|0);
+ $77 = ($76|0)!=(0);
+ if ($77) {
+ label = 12;
+ break L4;
+ }
+ $78 = $ridx;
+ $79 = $tvidx;
+ $80 = (52218 + (($79*96)|0)|0);
+ $81 = ((($80)) + 48|0);
+ $82 = (($81) + ($78<<4)|0);
+ $83 = (_memcmp($result,$82,16)|0);
+ $84 = ($83|0)!=(0);
+ if ($84) {
+ label = 14;
+ break L4;
+ }
+ $85 = $ridx;
+ $86 = (($85) + 1)|0;
+ $ridx = $86;
+ }
+ $87 = $test_ctx;
+ $88 = ((($87)) + 60|0);
+ $89 = HEAP32[$88>>2]|0;
+ $90 = (_getpid()|0);
+ $91 = ($89|0)!=($90|0);
+ if ($91) {
+ label = 18;
+ break;
+ }
+ $92 = $test_ctx;
+ $93 = ((($92)) + 64|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (_getpid()|0);
+ $96 = ($94|0)!=($95|0);
+ if ($96) {
+ label = 18;
+ break;
+ }
+ $97 = $test_ctx;
+ $98 = ((($97)) + 4|0);
+ $99 = HEAP32[$98>>2]|0;
+ __gcry_cipher_close($99);
+ $100 = $test_ctx;
+ $101 = ((($100)) + 4|0);
+ HEAP32[$101>>2] = 0;
+ $102 = $test_ctx;
+ $103 = ((($102)) + 8|0);
+ $104 = HEAP8[$103>>0]|0;
+ $105 = $104 & -2;
+ HEAP8[$103>>0] = $105;
+ $106 = $test_ctx;
+ _check_guards($106);
+ $107 = $tvidx;
+ $108 = (($107) + 1)|0;
+ $tvidx = $108;
+ }
+ if ((label|0) == 6) {
+ $errtxt = 52180;
+ }
+ else if ((label|0) == 8) {
+ $errtxt = 52506;
+ }
+ else if ((label|0) == 12) {
+ $errtxt = 52532;
+ }
+ else if ((label|0) == 14) {
+ $errtxt = 52563;
+ }
+ else if ((label|0) == 18) {
+ $errtxt = 52601;
+ }
+ _unlock_rng();
+ $109 = $test_ctx;
+ $110 = ((($109)) + 4|0);
+ $111 = HEAP32[$110>>2]|0;
+ __gcry_cipher_close($111);
+ $112 = $test_ctx;
+ _check_guards($112);
+ $113 = $test_ctx;
+ __gcry_free($113);
+ $114 = $0;
+ $115 = ($114|0)!=(0|0);
+ $116 = $errtxt;
+ $117 = ($116|0)!=(0|0);
+ $or$cond = $115 & $117;
+ if (!($or$cond)) {
+ $120 = $errtxt;
+ $121 = ($120|0)!=(0|0);
+ $122 = $121 ? 50 : 0;
+ STACKTOP = sp;return ($122|0);
+ }
+ $118 = $0;
+ $119 = $errtxt;
+ FUNCTION_TABLE_viiii[$118 & 63](52623,0,52630,$119);
+ $120 = $errtxt;
+ $121 = ($120|0)!=(0|0);
+ $122 = $121 ? 50 : 0;
+ STACKTOP = sp;return ($122|0);
+}
+function _gpg_error_2250($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (_gpg_err_make_2251(1,$1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_make_2251($source,$code) {
+ $source = $source|0;
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $source;
+ $1 = $code;
+ $2 = $1;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $10 = 0;
+ STACKTOP = sp;return ($10|0);
+ }
+ $4 = $0;
+ $5 = $4 & 127;
+ $6 = $5 << 24;
+ $7 = $1;
+ $8 = $7 & 65535;
+ $9 = $6 | $8;
+ $10 = $9;
+ STACKTOP = sp;return ($10|0);
+}
+function __gcry_rngfips_init_external_test($r_context,$flags,$key,$keylen,$seed,$seedlen,$dt,$dtlen) {
+ $r_context = $r_context|0;
+ $flags = $flags|0;
+ $key = $key|0;
+ $keylen = $keylen|0;
+ $seed = $seed|0;
+ $seedlen = $seedlen|0;
+ $dt = $dt|0;
+ $dtlen = $dtlen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0;
+ var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
+ var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
+ var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
+ var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
+ var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0;
+ var $or$cond5$not = 0, $or$cond7 = 0, $or$cond7$not = 0, $or$cond9 = 0, $or$cond9$not = 0, $rc = 0, $test_ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $r_context;
+ $2 = $flags;
+ $3 = $key;
+ $4 = $keylen;
+ $5 = $seed;
+ $6 = $seedlen;
+ $7 = $dt;
+ $8 = $dtlen;
+ __gcry_rngfips_initialize(1);
+ $9 = $1;
+ $10 = ($9|0)!=(0|0);
+ $11 = $3;
+ $12 = ($11|0)!=(0|0);
+ $or$cond = $10 & $12;
+ $or$cond$not = $or$cond ^ 1;
+ $13 = $4;
+ $14 = ($13|0)!=(16);
+ $or$cond3 = $or$cond$not | $14;
+ $or$cond3$not = $or$cond3 ^ 1;
+ $15 = $5;
+ $16 = ($15|0)!=(0|0);
+ $or$cond5 = $or$cond3$not & $16;
+ $or$cond5$not = $or$cond5 ^ 1;
+ $17 = $6;
+ $18 = ($17|0)!=(16);
+ $or$cond7 = $or$cond5$not | $18;
+ $or$cond7$not = $or$cond7 ^ 1;
+ $19 = $7;
+ $20 = ($19|0)!=(0|0);
+ $or$cond9 = $or$cond7$not & $20;
+ $or$cond9$not = $or$cond9 ^ 1;
+ $21 = $8;
+ $22 = ($21|0)!=(16);
+ $or$cond11 = $or$cond9$not | $22;
+ if ($or$cond11) {
+ $0 = 45;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+ }
+ $23 = $8;
+ $24 = (68 + ($23))|0;
+ $25 = (__gcry_calloc(1,$24)|0);
+ $test_ctx = $25;
+ $26 = $test_ctx;
+ $27 = ($26|0)!=(0|0);
+ if (!($27)) {
+ $28 = (_gpg_err_code_from_syserror()|0);
+ $0 = $28;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+ }
+ $29 = $test_ctx;
+ _setup_guards($29);
+ $30 = $test_ctx;
+ $31 = ((($30)) + 4|0);
+ $32 = (__gcry_cipher_open($31,7,1,1)|0);
+ $rc = $32;
+ $33 = $rc;
+ $34 = ($33|0)!=(0);
+ if (!($34)) {
+ $35 = $test_ctx;
+ $36 = ((($35)) + 4|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = $3;
+ $39 = $4;
+ $40 = (__gcry_cipher_setkey($37,$38,$39)|0);
+ $rc = $40;
+ $41 = $rc;
+ $42 = ($41|0)!=(0);
+ if (!($42)) {
+ $43 = (_getpid()|0);
+ $44 = $test_ctx;
+ $45 = ((($44)) + 60|0);
+ HEAP32[$45>>2] = $43;
+ $46 = $test_ctx;
+ $47 = ((($46)) + 17|0);
+ $48 = $5;
+ $49 = $6;
+ _memcpy(($47|0),($48|0),($49|0))|0;
+ $50 = $test_ctx;
+ $51 = ((($50)) + 8|0);
+ $52 = HEAP8[$51>>0]|0;
+ $53 = $52 & -2;
+ $54 = $53 | 1;
+ HEAP8[$51>>0] = $54;
+ $55 = (_getpid()|0);
+ $56 = $test_ctx;
+ $57 = ((($56)) + 64|0);
+ HEAP32[$57>>2] = $55;
+ $58 = $test_ctx;
+ $59 = ((($58)) + 68|0);
+ $60 = $7;
+ $61 = $8;
+ _memcpy(($59|0),($60|0),($61|0))|0;
+ $62 = $test_ctx;
+ $63 = ((($62)) + 68|0);
+ $64 = $test_ctx;
+ $65 = ((($64)) + 52|0);
+ HEAP32[$65>>2] = $63;
+ $66 = $test_ctx;
+ $67 = ((($66)) + 52|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ((($68)) + 12|0);
+ $70 = HEAP8[$69>>0]|0;
+ $71 = $70&255;
+ $72 = $71 << 24;
+ $73 = $test_ctx;
+ $74 = ((($73)) + 52|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ((($75)) + 13|0);
+ $77 = HEAP8[$76>>0]|0;
+ $78 = $77&255;
+ $79 = $78 << 16;
+ $80 = $72 | $79;
+ $81 = $test_ctx;
+ $82 = ((($81)) + 52|0);
+ $83 = HEAP32[$82>>2]|0;
+ $84 = ((($83)) + 14|0);
+ $85 = HEAP8[$84>>0]|0;
+ $86 = $85&255;
+ $87 = $86 << 8;
+ $88 = $80 | $87;
+ $89 = $test_ctx;
+ $90 = ((($89)) + 52|0);
+ $91 = HEAP32[$90>>2]|0;
+ $92 = ((($91)) + 15|0);
+ $93 = HEAP8[$92>>0]|0;
+ $94 = $93&255;
+ $95 = $88 | $94;
+ $96 = $test_ctx;
+ $97 = ((($96)) + 56|0);
+ HEAP32[$97>>2] = $95;
+ $98 = $2;
+ $99 = $98 & 1;
+ $100 = ($99|0)!=(0);
+ if ($100) {
+ $101 = $test_ctx;
+ $102 = ((($101)) + 51|0);
+ HEAP8[$102>>0] = 1;
+ }
+ $103 = $test_ctx;
+ _check_guards($103);
+ $rc = 0;
+ }
+ }
+ $104 = $rc;
+ $105 = ($104|0)!=(0);
+ $106 = $test_ctx;
+ if ($105) {
+ $107 = ((($106)) + 4|0);
+ $108 = HEAP32[$107>>2]|0;
+ __gcry_cipher_close($108);
+ $109 = $test_ctx;
+ __gcry_free($109);
+ $110 = $1;
+ HEAP32[$110>>2] = 0;
+ } else {
+ $111 = $1;
+ HEAP32[$111>>2] = $106;
+ }
+ $112 = $rc;
+ $0 = $112;
+ $113 = $0;
+ STACKTOP = sp;return ($113|0);
+}
+function __gcry_rngfips_run_external_test($context,$buffer,$buflen) {
+ $context = $context|0;
+ $buffer = $buffer|0;
+ $buflen = $buflen|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond3 = 0, $test_ctx = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $context;
+ $2 = $buffer;
+ $3 = $buflen;
+ $4 = $1;
+ $test_ctx = $4;
+ $5 = $test_ctx;
+ $6 = ($5|0)!=(0|0);
+ $7 = $2;
+ $8 = ($7|0)!=(0|0);
+ $or$cond = $6 & $8;
+ $or$cond$not = $or$cond ^ 1;
+ $9 = $3;
+ $10 = ($9|0)!=(16);
+ $or$cond3 = $or$cond$not | $10;
+ if ($or$cond3) {
+ $0 = 45;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ } else {
+ _lock_rng();
+ $11 = $2;
+ $12 = $3;
+ $13 = $test_ctx;
+ _get_random($11,$12,$13);
+ _unlock_rng();
+ $0 = 0;
+ $14 = $0;
+ STACKTOP = sp;return ($14|0);
+ }
+ return (0)|0;
+}
+function __gcry_rngfips_deinit_external_test($context) {
+ $context = $context|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $test_ctx = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $context;
+ $1 = $0;
+ $test_ctx = $1;
+ $2 = $test_ctx;
+ $3 = ($2|0)!=(0|0);
+ if (!($3)) {
+ STACKTOP = sp;return;
+ }
+ $4 = $test_ctx;
+ $5 = ((($4)) + 4|0);
+ $6 = HEAP32[$5>>2]|0;
+ __gcry_cipher_close($6);
+ $7 = $test_ctx;
+ __gcry_free($7);
+ STACKTOP = sp;return;
+}
+function __gcry_rngsystem_initialize($full) {
+ $full = $full|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $full;
+ _basic_initialization_2260();
+ STACKTOP = sp;return;
+}
+function _basic_initialization_2260() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17770]|0;
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return;
+ }
+ HEAP32[17770] = 1;
+ HEAP32[17771] = 0;
+ return;
+}
+function __gcry_rngsystem_close_fds() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _lock_rng_2264();
+ (__gcry_rndlinux_gather_random(0,0,0,0)|0);
+ _unlock_rng_2266();
+ return;
+}
+function _lock_rng_2264() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (_gpgrt_lock_lock(13052)|0);
+ $rc = $0;
+ $1 = $rc;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $rc;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(52634,$vararg_buffer);
+ // unreachable;
+ } else {
+ HEAP32[17771] = 1;
+ STACKTOP = sp;return;
+ }
+}
+function _unlock_rng_2266() {
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[17771] = 0;
+ $0 = (_gpgrt_lock_unlock(13052)|0);
+ $rc = $0;
+ $1 = $rc;
+ $2 = ($1|0)!=(0);
+ if ($2) {
+ $3 = $rc;
+ $4 = (_gpg_strerror($3)|0);
+ HEAP32[$vararg_buffer>>2] = $4;
+ __gcry_log_fatal(52677,$vararg_buffer);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_rngsystem_randomize($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ __gcry_rngsystem_initialize(1);
+ $3 = $2;
+ $4 = ($3|0)!=(2);
+ if ($4) {
+ $2 = 1;
+ }
+ _lock_rng_2264();
+ $5 = $0;
+ $6 = $1;
+ $7 = $2;
+ _get_random_2270($5,$6,$7);
+ _unlock_rng_2266();
+ STACKTOP = sp;return;
+}
+function _get_random_2270($buffer,$length,$level) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $level;
+ $3 = $0;
+ $4 = ($3|0)!=(0|0);
+ if (!($4)) {
+ __gcry_assert_failed(52720,52727,144,52743);
+ // unreachable;
+ }
+ $5 = $0;
+ HEAP32[17772] = $5;
+ $6 = $1;
+ HEAP32[17773] = $6;
+ HEAP32[17774] = 0;
+ $7 = $1;
+ $8 = $2;
+ $9 = (__gcry_rndlinux_gather_random(83,0,$7,$8)|0);
+ $rc = $9;
+ $10 = $rc;
+ $11 = ($10|0)<(0);
+ if ($11) {
+ $15 = $rc;
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(52798,$vararg_buffer);
+ // unreachable;
+ }
+ $12 = HEAP32[17774]|0;
+ $13 = HEAP32[17773]|0;
+ $14 = ($12|0)!=($13|0);
+ if ($14) {
+ $15 = $rc;
+ HEAP32[$vararg_buffer>>2] = $15;
+ __gcry_log_fatal(52798,$vararg_buffer);
+ // unreachable;
+ } else {
+ STACKTOP = sp;return;
+ }
+}
+function _read_cb($buffer,$length,$origin) {
+ $buffer = $buffer|0;
+ $length = $length|0;
+ $origin = $origin|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $p = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $buffer;
+ $1 = $length;
+ $2 = $origin;
+ $3 = $0;
+ $p = $3;
+ $4 = HEAP32[17771]|0;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ __gcry_assert_failed(52754,52727,124,52775);
+ // unreachable;
+ }
+ $6 = HEAP32[17772]|0;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ __gcry_assert_failed(52783,52727,125,52775);
+ // unreachable;
+ }
+ while(1) {
+ $8 = $1;
+ $9 = (($8) + -1)|0;
+ $1 = $9;
+ $10 = ($8|0)!=(0);
+ if (!($10)) {
+ label = 8;
+ break;
+ }
+ $11 = HEAP32[17774]|0;
+ $12 = HEAP32[17773]|0;
+ $13 = ($11>>>0)<($12>>>0);
+ if (!($13)) {
+ label = 8;
+ break;
+ }
+ $14 = $p;
+ $15 = ((($14)) + 1|0);
+ $p = $15;
+ $16 = HEAP8[$14>>0]|0;
+ $17 = HEAP32[17774]|0;
+ $18 = (($17) + 1)|0;
+ HEAP32[17774] = $18;
+ $19 = HEAP32[17772]|0;
+ $20 = (($19) + ($17)|0);
+ HEAP8[$20>>0] = $16;
+ }
+ if ((label|0) == 8) {
+ STACKTOP = sp;return;
+ }
+}
+function __gcry_rndhw_failed_p() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17775]|0;
+ return ($0|0);
+}
+function __gcry_rndhw_poll_fast($add,$origin) {
+ $add = $add|0;
+ $origin = $origin|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $add;
+ $1 = $origin;
+ STACKTOP = sp;return;
+}
+function __gcry_rndhw_poll_slow($add,$origin) {
+ $add = $add|0;
+ $origin = $origin|0;
+ var $0 = 0, $1 = 0, $2 = 0, $nbytes = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $add;
+ $1 = $origin;
+ $nbytes = 0;
+ $2 = $nbytes;
+ STACKTOP = sp;return ($2|0);
+}
+function __gcry_rndlinux_gather_random($add,$origin,$length,$level) {
+ $add = $add|0;
+ $origin = $origin|0;
+ $length = $length|0;
+ $level = $level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $__b = 0, $__i = 0, $_vlen = 0, $_vptr = 0, $_vptr_long = 0, $_vset = 0, $_vset_long = 0, $any_need_entropy = 0;
+ var $buffer = 0, $delay = 0, $fd = 0, $last_so_far = 0, $n = 0, $n_hw = 0, $nbytes = 0, $rc = 0, $rfds = 0, $tv = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $want = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 1024|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer4 = sp + 24|0;
+ $vararg_buffer1 = sp + 16|0;
+ $vararg_buffer = sp + 8|0;
+ $buffer = sp + 248|0;
+ $rfds = sp + 64|0;
+ $tv = sp + 56|0;
+ $_vset_long = sp;
+ $1 = $add;
+ $2 = $origin;
+ $3 = $length;
+ $4 = $level;
+ $5 = $3;
+ $want = $5;
+ $last_so_far = 0;
+ $any_need_entropy = 0;
+ $6 = $1;
+ $7 = ($6|0)!=(0|0);
+ if (!($7)) {
+ $8 = HEAP32[3274]|0;
+ $9 = ($8|0)!=(-1);
+ if ($9) {
+ $10 = HEAP32[3274]|0;
+ (_close($10)|0);
+ HEAP32[3274] = -1;
+ }
+ $11 = HEAP32[3275]|0;
+ $12 = ($11|0)!=(-1);
+ if ($12) {
+ $13 = HEAP32[3275]|0;
+ (_close($13)|0);
+ HEAP32[3275] = -1;
+ }
+ $0 = 0;
+ $191 = $0;
+ STACKTOP = sp;return ($191|0);
+ }
+ $14 = $1;
+ $15 = $2;
+ $16 = (__gcry_rndhw_poll_slow($14,$15)|0);
+ $n_hw = $16;
+ $17 = $n_hw;
+ $18 = $3;
+ $19 = (($18>>>0) / 2)&-1;
+ $20 = ($17>>>0)>($19>>>0);
+ if ($20) {
+ $21 = $3;
+ $22 = (($21>>>0) / 2)&-1;
+ $n_hw = $22;
+ }
+ $23 = $3;
+ $24 = ($23>>>0)>(1);
+ if ($24) {
+ $25 = $n_hw;
+ $26 = $3;
+ $27 = (($26) - ($25))|0;
+ $3 = $27;
+ }
+ $28 = $4;
+ $29 = ($28|0)>=(2);
+ if ($29) {
+ $30 = HEAP32[3274]|0;
+ $31 = ($30|0)==(-1);
+ if ($31) {
+ $32 = HEAP8[76542]|0;
+ $33 = $32&255;
+ $34 = $33 & 1;
+ $35 = (_open_device(52844,$34)|0);
+ HEAP32[3274] = $35;
+ $36 = HEAP8[76542]|0;
+ $37 = $36&255;
+ $38 = $37 | 1;
+ $39 = $38&255;
+ HEAP8[76542] = $39;
+ }
+ $40 = HEAP32[3274]|0;
+ $fd = $40;
+ } else {
+ $41 = HEAP32[3275]|0;
+ $42 = ($41|0)==(-1);
+ if ($42) {
+ $43 = HEAP8[76542]|0;
+ $44 = $43&255;
+ $45 = $44 & 2;
+ $46 = (_open_device(52946,$45)|0);
+ HEAP32[3275] = $46;
+ $47 = HEAP8[76542]|0;
+ $48 = $47&255;
+ $49 = $48 | 2;
+ $50 = $49&255;
+ HEAP8[76542] = $50;
+ }
+ $51 = HEAP32[3275]|0;
+ $fd = $51;
+ }
+ $delay = 0;
+ while(1) {
+ $52 = $3;
+ $53 = ($52|0)!=(0);
+ if (!($53)) {
+ break;
+ }
+ $54 = $any_need_entropy;
+ $55 = ($54|0)!=(0);
+ if ($55) {
+ label = 22;
+ } else {
+ $56 = $last_so_far;
+ $57 = $want;
+ $58 = $3;
+ $59 = (($57) - ($58))|0;
+ $60 = ($56|0)!=($59|0);
+ if ($60) {
+ label = 22;
+ }
+ }
+ if ((label|0) == 22) {
+ label = 0;
+ $61 = $want;
+ $62 = $3;
+ $63 = (($61) - ($62))|0;
+ $last_so_far = $63;
+ $64 = $last_so_far;
+ $65 = $want;
+ __gcry_random_progress(52959,88,$64,$65);
+ $any_need_entropy = 1;
+ }
+ $66 = $fd;
+ $67 = ($66|0)<(1024);
+ if ($67) {
+ $__b = $rfds;
+ $__i = 32;
+ while(1) {
+ $68 = $__i;
+ $69 = ($68|0)!=(0);
+ if (!($69)) {
+ break;
+ }
+ $70 = $__b;
+ $71 = ((($70)) + 4|0);
+ $__b = $71;
+ HEAP32[$70>>2] = 0;
+ $72 = $__i;
+ $73 = (($72) + -1)|0;
+ $__i = $73;
+ }
+ $74 = $fd;
+ $75 = (($74>>>0) % 32)&-1;
+ $76 = 1 << $75;
+ $77 = $fd;
+ $78 = (($77>>>0) / 32)&-1;
+ $79 = (($rfds) + ($78<<2)|0);
+ $80 = HEAP32[$79>>2]|0;
+ $81 = $80 | $76;
+ HEAP32[$79>>2] = $81;
+ $82 = $delay;
+ HEAP32[$tv>>2] = $82;
+ $83 = $delay;
+ $84 = ($83|0)!=(0);
+ $85 = $84 ? 0 : 100000;
+ $86 = ((($tv)) + 4|0);
+ HEAP32[$86>>2] = $85;
+ $87 = $fd;
+ $88 = (($87) + 1)|0;
+ $89 = (_select($88,$rfds,0,0,$tv)|0);
+ $rc = $89;
+ $90 = ($89|0)!=(0);
+ if (!($90)) {
+ $any_need_entropy = 1;
+ $delay = 3;
+ continue;
+ }
+ $91 = $rc;
+ $92 = ($91|0)==(-1);
+ if ($92) {
+ $93 = (___errno_location()|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = (_strerror($94)|0);
+ HEAP32[$vararg_buffer>>2] = $95;
+ __gcry_log_error(52972,$vararg_buffer);
+ $96 = $delay;
+ $97 = ($96|0)!=(0);
+ if ($97) {
+ continue;
+ }
+ $delay = 1;
+ continue;
+ }
+ }
+ while(1) {
+ $98 = $3;
+ $99 = ($98>>>0)<(768);
+ $100 = $3;
+ $101 = $99 ? $100 : 768;
+ $nbytes = $101;
+ $102 = $fd;
+ $103 = $nbytes;
+ $104 = (_read($102,$buffer,$103)|0);
+ $n = $104;
+ $105 = $n;
+ $106 = ($105|0)>=(0);
+ if ($106) {
+ $107 = $n;
+ $108 = $nbytes;
+ $109 = ($107>>>0)>($108>>>0);
+ if ($109) {
+ $110 = $n;
+ HEAP32[$vararg_buffer1>>2] = $110;
+ __gcry_log_error(52992,$vararg_buffer1);
+ $111 = $nbytes;
+ $n = $111;
+ }
+ }
+ $112 = $n;
+ $113 = ($112|0)==(-1);
+ if (!($113)) {
+ break;
+ }
+ $114 = (___errno_location()|0);
+ $115 = HEAP32[$114>>2]|0;
+ $116 = ($115|0)==(4);
+ if (!($116)) {
+ break;
+ }
+ }
+ $117 = $n;
+ $118 = ($117|0)==(-1);
+ if ($118) {
+ label = 38;
+ break;
+ }
+ $122 = $1;
+ $123 = $n;
+ $124 = $2;
+ FUNCTION_TABLE_viii[$122 & 127]($buffer,$123,$124);
+ $125 = $n;
+ $126 = $3;
+ $127 = (($126) - ($125))|0;
+ $3 = $127;
+ }
+ if ((label|0) == 38) {
+ $119 = (___errno_location()|0);
+ $120 = HEAP32[$119>>2]|0;
+ $121 = (_strerror($120)|0);
+ HEAP32[$vararg_buffer4>>2] = $121;
+ __gcry_log_fatal(53030,$vararg_buffer4);
+ // unreachable;
+ }
+ $_vptr = $buffer;
+ $_vlen = 768;
+ $_vset = 0;
+ $128 = $_vset;
+ $129 = $128&255;
+ $130 = $_vset_long;
+ $131 = $130;
+ HEAP32[$131>>2] = $129;
+ $132 = (($130) + 4)|0;
+ $133 = $132;
+ HEAP32[$133>>2] = 0;
+ while(1) {
+ $134 = $_vptr;
+ $135 = $134;
+ $136 = $135 & 7;
+ $137 = ($136|0)!=(0);
+ $138 = $_vlen;
+ $139 = ($138|0)!=(0);
+ $140 = $137 ? $139 : 0;
+ if (!($140)) {
+ break;
+ }
+ $141 = $_vset;
+ $142 = $_vptr;
+ HEAP8[$142>>0] = $141;
+ $143 = $_vptr;
+ $144 = ((($143)) + 1|0);
+ $_vptr = $144;
+ $145 = $_vlen;
+ $146 = (($145) + -1)|0;
+ $_vlen = $146;
+ }
+ $147 = $_vlen;
+ $148 = ($147>>>0)<(8);
+ if (!($148)) {
+ $149 = $_vset_long;
+ $150 = $149;
+ $151 = HEAP32[$150>>2]|0;
+ $152 = (($149) + 4)|0;
+ $153 = $152;
+ $154 = HEAP32[$153>>2]|0;
+ $155 = (___muldi3(($151|0),($154|0),16843009,16843009)|0);
+ $156 = tempRet0;
+ $157 = $_vset_long;
+ $158 = $157;
+ HEAP32[$158>>2] = $155;
+ $159 = (($157) + 4)|0;
+ $160 = $159;
+ HEAP32[$160>>2] = $156;
+ while(1) {
+ $161 = $_vptr;
+ $_vptr_long = $161;
+ $162 = $_vset_long;
+ $163 = $162;
+ $164 = HEAP32[$163>>2]|0;
+ $165 = (($162) + 4)|0;
+ $166 = $165;
+ $167 = HEAP32[$166>>2]|0;
+ $168 = $_vptr_long;
+ $169 = $168;
+ $170 = $169;
+ HEAP32[$170>>2] = $164;
+ $171 = (($169) + 4)|0;
+ $172 = $171;
+ HEAP32[$172>>2] = $167;
+ $173 = $_vlen;
+ $174 = (($173) - 8)|0;
+ $_vlen = $174;
+ $175 = $_vptr;
+ $176 = ((($175)) + 8|0);
+ $_vptr = $176;
+ $177 = $_vlen;
+ $178 = ($177>>>0)>=(8);
+ if (!($178)) {
+ break;
+ }
+ }
+ }
+ while(1) {
+ $179 = $_vlen;
+ $180 = ($179|0)!=(0);
+ if (!($180)) {
+ break;
+ }
+ $181 = $_vset;
+ $182 = $_vptr;
+ HEAP8[$182>>0] = $181;
+ $183 = $_vptr;
+ $184 = ((($183)) + 1|0);
+ $_vptr = $184;
+ $185 = $_vlen;
+ $186 = (($185) + -1)|0;
+ $_vlen = $186;
+ }
+ $187 = $any_need_entropy;
+ $188 = ($187|0)!=(0);
+ if ($188) {
+ $189 = $want;
+ $190 = $want;
+ __gcry_random_progress(52959,88,$189,$190);
+ }
+ $0 = 0;
+ $191 = $0;
+ STACKTOP = sp;return ($191|0);
+}
+function _open_device($name,$retry) {
+ $name = $name|0;
+ $retry = $retry|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $fd = 0, $or$cond = 0, $tv = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $tv = sp + 24|0;
+ $0 = $name;
+ $1 = $retry;
+ $2 = $1;
+ $3 = ($2|0)!=(0);
+ if ($3) {
+ __gcry_random_progress(52856,88,1,0);
+ }
+ while(1) {
+ $4 = $0;
+ $5 = (_open($4,0,$vararg_buffer)|0);
+ $fd = $5;
+ $6 = $fd;
+ $7 = ($6|0)==(-1);
+ $8 = $1;
+ $9 = ($8|0)!=(0);
+ $or$cond = $7 & $9;
+ if (!($or$cond)) {
+ break;
+ }
+ HEAP32[$tv>>2] = 5;
+ $10 = ((($tv)) + 4|0);
+ HEAP32[$10>>2] = 0;
+ $11 = HEAP32[$tv>>2]|0;
+ __gcry_random_progress(52872,88,0,$11);
+ (_select(0,0,0,0,$tv)|0);
+ }
+ $12 = $fd;
+ $13 = ($12|0)==(-1);
+ if ($13) {
+ $14 = $0;
+ $15 = (___errno_location()|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (_strerror($16)|0);
+ HEAP32[$vararg_buffer2>>2] = $14;
+ $vararg_ptr4 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr4>>2] = $17;
+ __gcry_log_fatal(52888,$vararg_buffer2);
+ // unreachable;
+ }
+ $18 = $fd;
+ $19 = (_set_cloexec_flag($18)|0);
+ $20 = ($19|0)!=(0);
+ if (!($20)) {
+ $25 = $fd;
+ STACKTOP = sp;return ($25|0);
+ }
+ $21 = $fd;
+ $22 = (___errno_location()|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (_strerror($23)|0);
+ HEAP32[$vararg_buffer5>>2] = $21;
+ $vararg_ptr8 = ((($vararg_buffer5)) + 4|0);
+ HEAP32[$vararg_ptr8>>2] = $24;
+ __gcry_log_error(52907,$vararg_buffer5);
+ $25 = $fd;
+ STACKTOP = sp;return ($25|0);
+}
+function _set_cloexec_flag($fd) {
+ $fd = $fd|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $oldflags = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $1 = $fd;
+ $2 = $1;
+ HEAP32[$vararg_buffer>>2] = 0;
+ $3 = (_fcntl($2,1,$vararg_buffer)|0);
+ $oldflags = $3;
+ $4 = $oldflags;
+ $5 = ($4|0)<(0);
+ $6 = $oldflags;
+ if ($5) {
+ $0 = $6;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+ } else {
+ $7 = $6 | 1;
+ $oldflags = $7;
+ $8 = $1;
+ $9 = $oldflags;
+ HEAP32[$vararg_buffer1>>2] = $9;
+ $10 = (_fcntl($8,2,$vararg_buffer1)|0);
+ $0 = $10;
+ $11 = $0;
+ STACKTOP = sp;return ($11|0);
+ }
+ return (0)|0;
+}
+function __gcry_mpih_addmul_1($res_ptr,$s1_ptr,$s1_size,$s2_limb) {
+ $res_ptr = $res_ptr|0;
+ $s1_ptr = $s1_ptr|0;
+ $s1_size = $s1_size|0;
+ $s2_limb = $s2_limb|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $__u = 0, $__uh = 0, $__ul = 0, $__v = 0, $__vh = 0, $__vl = 0, $__x0 = 0, $__x1 = 0, $__x2 = 0;
+ var $__x3 = 0, $cy_limb = 0, $j = 0, $prod_high = 0, $prod_low = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res_ptr;
+ $1 = $s1_ptr;
+ $2 = $s1_size;
+ $3 = $s2_limb;
+ $4 = $2;
+ $5 = (0 - ($4))|0;
+ $j = $5;
+ $6 = $j;
+ $7 = $0;
+ $8 = (0 - ($6))|0;
+ $9 = (($7) + ($8<<2)|0);
+ $0 = $9;
+ $10 = $j;
+ $11 = $1;
+ $12 = (0 - ($10))|0;
+ $13 = (($11) + ($12<<2)|0);
+ $1 = $13;
+ $cy_limb = 0;
+ while(1) {
+ $14 = $j;
+ $15 = $1;
+ $16 = (($15) + ($14<<2)|0);
+ $17 = HEAP32[$16>>2]|0;
+ $__u = $17;
+ $18 = $3;
+ $__v = $18;
+ $19 = $__u;
+ $20 = $19 & 65535;
+ $__ul = $20;
+ $21 = $__u;
+ $22 = $21 >>> 16;
+ $__uh = $22;
+ $23 = $__v;
+ $24 = $23 & 65535;
+ $__vl = $24;
+ $25 = $__v;
+ $26 = $25 >>> 16;
+ $__vh = $26;
+ $27 = $__ul;
+ $28 = $__vl;
+ $29 = Math_imul($27, $28)|0;
+ $__x0 = $29;
+ $30 = $__ul;
+ $31 = $__vh;
+ $32 = Math_imul($30, $31)|0;
+ $__x1 = $32;
+ $33 = $__uh;
+ $34 = $__vl;
+ $35 = Math_imul($33, $34)|0;
+ $__x2 = $35;
+ $36 = $__uh;
+ $37 = $__vh;
+ $38 = Math_imul($36, $37)|0;
+ $__x3 = $38;
+ $39 = $__x0;
+ $40 = $39 >>> 16;
+ $41 = $__x1;
+ $42 = (($41) + ($40))|0;
+ $__x1 = $42;
+ $43 = $__x2;
+ $44 = $__x1;
+ $45 = (($44) + ($43))|0;
+ $__x1 = $45;
+ $46 = $__x1;
+ $47 = $__x2;
+ $48 = ($46>>>0)<($47>>>0);
+ if ($48) {
+ $49 = $__x3;
+ $50 = (($49) + 65536)|0;
+ $__x3 = $50;
+ }
+ $51 = $__x3;
+ $52 = $__x1;
+ $53 = $52 >>> 16;
+ $54 = (($51) + ($53))|0;
+ $prod_high = $54;
+ $55 = $__x1;
+ $56 = $55 & 65535;
+ $57 = $56 << 16;
+ $58 = $__x0;
+ $59 = $58 & 65535;
+ $60 = (($57) + ($59))|0;
+ $prod_low = $60;
+ $61 = $cy_limb;
+ $62 = $prod_low;
+ $63 = (($62) + ($61))|0;
+ $prod_low = $63;
+ $64 = $prod_low;
+ $65 = $cy_limb;
+ $66 = ($64>>>0)<($65>>>0);
+ $67 = $66 ? 1 : 0;
+ $68 = $prod_high;
+ $69 = (($67) + ($68))|0;
+ $cy_limb = $69;
+ $70 = $j;
+ $71 = $0;
+ $72 = (($71) + ($70<<2)|0);
+ $73 = HEAP32[$72>>2]|0;
+ $x = $73;
+ $74 = $x;
+ $75 = $prod_low;
+ $76 = (($74) + ($75))|0;
+ $prod_low = $76;
+ $77 = $prod_low;
+ $78 = $x;
+ $79 = ($77>>>0)<($78>>>0);
+ $80 = $79 ? 1 : 0;
+ $81 = $cy_limb;
+ $82 = (($81) + ($80))|0;
+ $cy_limb = $82;
+ $83 = $prod_low;
+ $84 = $j;
+ $85 = $0;
+ $86 = (($85) + ($84<<2)|0);
+ HEAP32[$86>>2] = $83;
+ $87 = $j;
+ $88 = (($87) + 1)|0;
+ $j = $88;
+ $89 = ($88|0)!=(0);
+ if (!($89)) {
+ break;
+ }
+ }
+ $90 = $cy_limb;
+ STACKTOP = sp;return ($90|0);
+}
+function __gcry_dsa_gen_k($q,$security_level) {
+ $q = $q|0;
+ $security_level = $security_level|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k = 0, $nbits = 0, $nbytes = 0, $or$cond = 0, $pp = 0;
+ var $rndbuf = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 16|0;
+ $vararg_buffer3 = sp + 8|0;
+ $vararg_buffer = sp;
+ $0 = $q;
+ $1 = $security_level;
+ $2 = $0;
+ $3 = ((($2)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (__gcry_mpi_alloc_secure($4)|0);
+ $k = $5;
+ $6 = $0;
+ $7 = (__gcry_mpi_get_nbits($6)|0);
+ $nbits = $7;
+ $8 = $nbits;
+ $9 = (($8) + 7)|0;
+ $10 = (($9>>>0) / 8)&-1;
+ $nbytes = $10;
+ $rndbuf = 0;
+ $11 = (__gcry_get_debug_flag(1)|0);
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $nbits;
+ $14 = $1;
+ HEAP32[$vararg_buffer>>2] = $13;
+ $vararg_ptr2 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr2>>2] = $14;
+ __gcry_log_debug(53063,$vararg_buffer);
+ }
+ while(1) {
+ $15 = $rndbuf;
+ $16 = ($15|0)==(0|0);
+ $17 = $nbits;
+ $18 = ($17>>>0)<(32);
+ $or$cond = $16 | $18;
+ if ($or$cond) {
+ $19 = $rndbuf;
+ __gcry_free($19);
+ $20 = $nbytes;
+ $21 = $1;
+ $22 = (__gcry_random_bytes_secure($20,$21)|0);
+ $rndbuf = $22;
+ } else {
+ $23 = $1;
+ $24 = (__gcry_random_bytes_secure(4,$23)|0);
+ $pp = $24;
+ $25 = $rndbuf;
+ $26 = $pp;
+ ;HEAP8[$25>>0]=HEAP8[$26>>0]|0;HEAP8[$25+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$25+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$25+3>>0]=HEAP8[$26+3>>0]|0;
+ $27 = $pp;
+ __gcry_free($27);
+ }
+ $28 = $k;
+ $29 = $rndbuf;
+ $30 = $nbytes;
+ __gcry_mpi_set_buffer($28,$29,$30,0);
+ $31 = $k;
+ $32 = $nbits;
+ $33 = (($32) - 1)|0;
+ $34 = (__gcry_mpi_test_bit($31,$33)|0);
+ $35 = ($34|0)!=(0);
+ $36 = $k;
+ $37 = $nbits;
+ $38 = (($37) - 1)|0;
+ __gcry_mpi_set_highbit($36,$38);
+ if (!($35)) {
+ $39 = $k;
+ $40 = $nbits;
+ $41 = (($40) - 1)|0;
+ __gcry_mpi_clear_bit($39,$41);
+ }
+ $42 = $k;
+ $43 = $0;
+ $44 = (__gcry_mpi_cmp($42,$43)|0);
+ $45 = ($44|0)<(0);
+ if (!($45)) {
+ $46 = (__gcry_get_debug_flag(1)|0);
+ $47 = ($46|0)!=(0);
+ if (!($47)) {
+ continue;
+ }
+ __gcry_log_debug(53110,$vararg_buffer3);
+ continue;
+ }
+ $48 = $k;
+ $49 = (__gcry_mpi_cmp_ui($48,0)|0);
+ $50 = ($49|0)>(0);
+ if ($50) {
+ break;
+ }
+ $51 = (__gcry_get_debug_flag(1)|0);
+ $52 = ($51|0)!=(0);
+ if (!($52)) {
+ continue;
+ }
+ __gcry_log_debug(53132,$vararg_buffer5);
+ }
+ $53 = $rndbuf;
+ __gcry_free($53);
+ $54 = $k;
+ STACKTOP = sp;return ($54|0);
+}
+function __gcry_dsa_gen_rfc6979_k($r_k,$dsa_q,$dsa_x,$h1,$hlen,$halgo,$extraloops) {
+ $r_k = $r_k|0;
+ $dsa_q = $dsa_q|0;
+ $dsa_x = $dsa_x|0;
+ $h1 = $h1|0;
+ $hlen = $hlen|0;
+ $halgo = $halgo|0;
+ $extraloops = $extraloops|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
+ var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
+ var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
+ var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
+ var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
+ var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
+ var $K = 0, $V = 0, $h1_buf = 0, $hd = 0, $i = 0, $k = 0, $or$cond = 0, $or$cond3 = 0, $qbits = 0, $rc = 0, $t = 0, $tbits = 0, $x_buf = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $x_buf = sp + 28|0;
+ $h1_buf = sp + 24|0;
+ $hd = sp + 20|0;
+ $k = sp + 12|0;
+ $1 = $r_k;
+ $2 = $dsa_q;
+ $3 = $dsa_x;
+ $4 = $h1;
+ $5 = $hlen;
+ $6 = $halgo;
+ $7 = $extraloops;
+ $V = 0;
+ $K = 0;
+ HEAP32[$x_buf>>2] = 0;
+ HEAP32[$h1_buf>>2] = 0;
+ HEAP32[$hd>>2] = 0;
+ $t = 0;
+ HEAP32[$k>>2] = 0;
+ $8 = $2;
+ $9 = (__gcry_mpi_get_nbits($8)|0);
+ $qbits = $9;
+ $10 = $qbits;
+ $11 = ($10|0)!=(0);
+ $12 = $4;
+ $13 = ($12|0)!=(0|0);
+ $or$cond = $11 & $13;
+ $14 = $5;
+ $15 = ($14|0)!=(0);
+ $or$cond3 = $or$cond & $15;
+ if (!($or$cond3)) {
+ $0 = 32816;
+ $259 = $0;
+ STACKTOP = sp;return ($259|0);
+ }
+ $16 = $6;
+ $17 = (__gcry_md_get_algo_dlen($16)|0);
+ $18 = $5;
+ $19 = ($17|0)!=($18|0);
+ if ($19) {
+ $0 = 5;
+ $259 = $0;
+ STACKTOP = sp;return ($259|0);
+ }
+ $20 = $5;
+ $21 = (__gcry_malloc($20)|0);
+ $V = $21;
+ $22 = $V;
+ $23 = ($22|0)!=(0|0);
+ L9: do {
+ if ($23) {
+ $i = 0;
+ while(1) {
+ $25 = $i;
+ $26 = $5;
+ $27 = ($25>>>0)<($26>>>0);
+ if (!($27)) {
+ break;
+ }
+ $28 = $i;
+ $29 = $V;
+ $30 = (($29) + ($28)|0);
+ HEAP8[$30>>0] = 1;
+ $31 = $i;
+ $32 = (($31) + 1)|0;
+ $i = $32;
+ }
+ $33 = $5;
+ $34 = (__gcry_calloc(1,$33)|0);
+ $K = $34;
+ $35 = $K;
+ $36 = ($35|0)!=(0|0);
+ if (!($36)) {
+ $37 = (_gpg_err_code_from_syserror()|0);
+ $rc = $37;
+ break;
+ }
+ $38 = $3;
+ $39 = $qbits;
+ $40 = (($39) + 7)|0;
+ $41 = (($40>>>0) / 8)&-1;
+ $42 = (_int2octets($x_buf,$38,$41)|0);
+ $rc = $42;
+ $43 = $rc;
+ $44 = ($43|0)!=(0);
+ if (!($44)) {
+ $45 = $4;
+ $46 = $5;
+ $47 = $46<<3;
+ $48 = $2;
+ $49 = $qbits;
+ $50 = (_bits2octets($h1_buf,$45,$47,$48,$49)|0);
+ $rc = $50;
+ $51 = $rc;
+ $52 = ($51|0)!=(0);
+ if (!($52)) {
+ $53 = $6;
+ $54 = (__gcry_md_open($hd,$53,3)|0);
+ $rc = $54;
+ $55 = $rc;
+ $56 = ($55|0)!=(0);
+ if (!($56)) {
+ $57 = HEAP32[$hd>>2]|0;
+ $58 = $K;
+ $59 = $5;
+ $60 = (__gcry_md_setkey($57,$58,$59)|0);
+ $rc = $60;
+ $61 = $rc;
+ $62 = ($61|0)!=(0);
+ if (!($62)) {
+ $63 = HEAP32[$hd>>2]|0;
+ $64 = $V;
+ $65 = $5;
+ __gcry_md_write($63,$64,$65);
+ $66 = HEAP32[$hd>>2]|0;
+ __gcry_md_write($66,76543,1);
+ $67 = HEAP32[$hd>>2]|0;
+ $68 = HEAP32[$x_buf>>2]|0;
+ $69 = $qbits;
+ $70 = (($69) + 7)|0;
+ $71 = (($70>>>0) / 8)&-1;
+ __gcry_md_write($67,$68,$71);
+ $72 = HEAP32[$hd>>2]|0;
+ $73 = HEAP32[$h1_buf>>2]|0;
+ $74 = $qbits;
+ $75 = (($74) + 7)|0;
+ $76 = (($75>>>0) / 8)&-1;
+ __gcry_md_write($72,$73,$76);
+ $77 = $K;
+ $78 = HEAP32[$hd>>2]|0;
+ $79 = (__gcry_md_read($78,0)|0);
+ $80 = $5;
+ _memcpy(($77|0),($79|0),($80|0))|0;
+ $81 = HEAP32[$hd>>2]|0;
+ $82 = $K;
+ $83 = $5;
+ $84 = (__gcry_md_setkey($81,$82,$83)|0);
+ $rc = $84;
+ $85 = $rc;
+ $86 = ($85|0)!=(0);
+ if (!($86)) {
+ $87 = HEAP32[$hd>>2]|0;
+ $88 = $V;
+ $89 = $5;
+ __gcry_md_write($87,$88,$89);
+ $90 = $V;
+ $91 = HEAP32[$hd>>2]|0;
+ $92 = (__gcry_md_read($91,0)|0);
+ $93 = $5;
+ _memcpy(($90|0),($92|0),($93|0))|0;
+ $94 = HEAP32[$hd>>2]|0;
+ $95 = $K;
+ $96 = $5;
+ $97 = (__gcry_md_setkey($94,$95,$96)|0);
+ $rc = $97;
+ $98 = $rc;
+ $99 = ($98|0)!=(0);
+ if (!($99)) {
+ $100 = HEAP32[$hd>>2]|0;
+ $101 = $V;
+ $102 = $5;
+ __gcry_md_write($100,$101,$102);
+ $103 = HEAP32[$hd>>2]|0;
+ __gcry_md_write($103,53152,1);
+ $104 = HEAP32[$hd>>2]|0;
+ $105 = HEAP32[$x_buf>>2]|0;
+ $106 = $qbits;
+ $107 = (($106) + 7)|0;
+ $108 = (($107>>>0) / 8)&-1;
+ __gcry_md_write($104,$105,$108);
+ $109 = HEAP32[$hd>>2]|0;
+ $110 = HEAP32[$h1_buf>>2]|0;
+ $111 = $qbits;
+ $112 = (($111) + 7)|0;
+ $113 = (($112>>>0) / 8)&-1;
+ __gcry_md_write($109,$110,$113);
+ $114 = $K;
+ $115 = HEAP32[$hd>>2]|0;
+ $116 = (__gcry_md_read($115,0)|0);
+ $117 = $5;
+ _memcpy(($114|0),($116|0),($117|0))|0;
+ $118 = HEAP32[$hd>>2]|0;
+ $119 = $K;
+ $120 = $5;
+ $121 = (__gcry_md_setkey($118,$119,$120)|0);
+ $rc = $121;
+ $122 = $rc;
+ $123 = ($122|0)!=(0);
+ if (!($123)) {
+ $124 = HEAP32[$hd>>2]|0;
+ $125 = $V;
+ $126 = $5;
+ __gcry_md_write($124,$125,$126);
+ $127 = $V;
+ $128 = HEAP32[$hd>>2]|0;
+ $129 = (__gcry_md_read($128,0)|0);
+ $130 = $5;
+ _memcpy(($127|0),($129|0),($130|0))|0;
+ $131 = $qbits;
+ $132 = (($131) + 7)|0;
+ $133 = (($132>>>0) / 8)&-1;
+ $134 = $5;
+ $135 = (($133) + ($134))|0;
+ $136 = (__gcry_malloc($135)|0);
+ $t = $136;
+ $137 = $t;
+ $138 = ($137|0)!=(0|0);
+ if (!($138)) {
+ $139 = (_gpg_err_code_from_syserror()|0);
+ $rc = $139;
+ break;
+ }
+ while(1) {
+ $tbits = 0;
+ while(1) {
+ $140 = $tbits;
+ $141 = $qbits;
+ $142 = ($140>>>0)<($141>>>0);
+ if (!($142)) {
+ break;
+ }
+ $143 = HEAP32[$hd>>2]|0;
+ $144 = $K;
+ $145 = $5;
+ $146 = (__gcry_md_setkey($143,$144,$145)|0);
+ $rc = $146;
+ $147 = $rc;
+ $148 = ($147|0)!=(0);
+ if ($148) {
+ break L9;
+ }
+ $149 = HEAP32[$hd>>2]|0;
+ $150 = $V;
+ $151 = $5;
+ __gcry_md_write($149,$150,$151);
+ $152 = $V;
+ $153 = HEAP32[$hd>>2]|0;
+ $154 = (__gcry_md_read($153,0)|0);
+ $155 = $5;
+ _memcpy(($152|0),($154|0),($155|0))|0;
+ $156 = $t;
+ $157 = $tbits;
+ $158 = (($157) + 7)|0;
+ $159 = (($158>>>0) / 8)&-1;
+ $160 = (($156) + ($159)|0);
+ $161 = $V;
+ $162 = $5;
+ _memcpy(($160|0),($161|0),($162|0))|0;
+ $163 = $5;
+ $164 = $163<<3;
+ $165 = $tbits;
+ $166 = (($165) + ($164))|0;
+ $tbits = $166;
+ }
+ $167 = HEAP32[$k>>2]|0;
+ __gcry_mpi_free($167);
+ HEAP32[$k>>2] = 0;
+ $168 = $t;
+ $169 = $tbits;
+ $170 = (($169) + 7)|0;
+ $171 = (($170>>>0) / 8)&-1;
+ $172 = (__gcry_mpi_scan($k,5,$168,$171,0)|0);
+ $rc = $172;
+ $173 = $rc;
+ $174 = ($173|0)!=(0);
+ if ($174) {
+ break L9;
+ }
+ $175 = $tbits;
+ $176 = $qbits;
+ $177 = ($175>>>0)>($176>>>0);
+ if ($177) {
+ $178 = HEAP32[$k>>2]|0;
+ $179 = HEAP32[$k>>2]|0;
+ $180 = $tbits;
+ $181 = $qbits;
+ $182 = (($180) - ($181))|0;
+ __gcry_mpi_rshift($178,$179,$182);
+ }
+ $183 = HEAP32[$k>>2]|0;
+ $184 = $2;
+ $185 = (__gcry_mpi_cmp($183,$184)|0);
+ $186 = ($185|0)<(0);
+ if ($186) {
+ $187 = HEAP32[$k>>2]|0;
+ $188 = (__gcry_mpi_cmp_ui($187,0)|0);
+ $189 = ($188|0)>(0);
+ if ($189) {
+ $217 = $7;
+ $218 = ($217|0)!=(0);
+ if (!($218)) {
+ break L9;
+ }
+ $219 = $7;
+ $220 = (($219) + -1)|0;
+ $7 = $220;
+ $221 = HEAP32[$hd>>2]|0;
+ $222 = $K;
+ $223 = $5;
+ $224 = (__gcry_md_setkey($221,$222,$223)|0);
+ $rc = $224;
+ $225 = $rc;
+ $226 = ($225|0)!=(0);
+ if ($226) {
+ break L9;
+ }
+ $227 = HEAP32[$hd>>2]|0;
+ $228 = $V;
+ $229 = $5;
+ __gcry_md_write($227,$228,$229);
+ $230 = HEAP32[$hd>>2]|0;
+ __gcry_md_write($230,76543,1);
+ $231 = $K;
+ $232 = HEAP32[$hd>>2]|0;
+ $233 = (__gcry_md_read($232,0)|0);
+ $234 = $5;
+ _memcpy(($231|0),($233|0),($234|0))|0;
+ $235 = HEAP32[$hd>>2]|0;
+ $236 = $K;
+ $237 = $5;
+ $238 = (__gcry_md_setkey($235,$236,$237)|0);
+ $rc = $238;
+ $239 = $rc;
+ $240 = ($239|0)!=(0);
+ if ($240) {
+ break L9;
+ }
+ $241 = HEAP32[$hd>>2]|0;
+ $242 = $V;
+ $243 = $5;
+ __gcry_md_write($241,$242,$243);
+ $244 = $V;
+ $245 = HEAP32[$hd>>2]|0;
+ $246 = (__gcry_md_read($245,0)|0);
+ $247 = $5;
+ _memcpy(($244|0),($246|0),($247|0))|0;
+ continue;
+ }
+ }
+ $190 = HEAP32[$hd>>2]|0;
+ $191 = $K;
+ $192 = $5;
+ $193 = (__gcry_md_setkey($190,$191,$192)|0);
+ $rc = $193;
+ $194 = $rc;
+ $195 = ($194|0)!=(0);
+ if ($195) {
+ break L9;
+ }
+ $196 = HEAP32[$hd>>2]|0;
+ $197 = $V;
+ $198 = $5;
+ __gcry_md_write($196,$197,$198);
+ $199 = HEAP32[$hd>>2]|0;
+ __gcry_md_write($199,76543,1);
+ $200 = $K;
+ $201 = HEAP32[$hd>>2]|0;
+ $202 = (__gcry_md_read($201,0)|0);
+ $203 = $5;
+ _memcpy(($200|0),($202|0),($203|0))|0;
+ $204 = HEAP32[$hd>>2]|0;
+ $205 = $K;
+ $206 = $5;
+ $207 = (__gcry_md_setkey($204,$205,$206)|0);
+ $rc = $207;
+ $208 = $rc;
+ $209 = ($208|0)!=(0);
+ if ($209) {
+ break L9;
+ }
+ $210 = HEAP32[$hd>>2]|0;
+ $211 = $V;
+ $212 = $5;
+ __gcry_md_write($210,$211,$212);
+ $213 = $V;
+ $214 = HEAP32[$hd>>2]|0;
+ $215 = (__gcry_md_read($214,0)|0);
+ $216 = $5;
+ _memcpy(($213|0),($215|0),($216|0))|0;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ $24 = (_gpg_err_code_from_syserror()|0);
+ $rc = $24;
+ }
+ } while(0);
+ $248 = $t;
+ __gcry_free($248);
+ $249 = HEAP32[$hd>>2]|0;
+ __gcry_md_close($249);
+ $250 = HEAP32[$h1_buf>>2]|0;
+ __gcry_free($250);
+ $251 = HEAP32[$x_buf>>2]|0;
+ __gcry_free($251);
+ $252 = $K;
+ __gcry_free($252);
+ $253 = $V;
+ __gcry_free($253);
+ $254 = $rc;
+ $255 = ($254|0)!=(0);
+ $256 = HEAP32[$k>>2]|0;
+ if ($255) {
+ __gcry_mpi_free($256);
+ } else {
+ $257 = $1;
+ HEAP32[$257>>2] = $256;
+ }
+ $258 = $rc;
+ $0 = $258;
+ $259 = $0;
+ STACKTOP = sp;return ($259|0);
+}
+function _int2octets($r_frame,$value,$nbytes) {
+ $r_frame = $r_frame|0;
+ $value = $value|0;
+ $nbytes = $nbytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $frame = 0, $n = 0;
+ var $nframe = 0, $noff = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $nframe = sp + 12|0;
+ $1 = $r_frame;
+ $2 = $value;
+ $3 = $nbytes;
+ $4 = $2;
+ $5 = (__gcry_mpi_print(5,0,0,$nframe,$4)|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $rc;
+ $0 = $8;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+ }
+ $9 = HEAP32[$nframe>>2]|0;
+ $10 = $3;
+ $11 = ($9>>>0)>($10>>>0);
+ if ($11) {
+ $0 = 67;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+ }
+ $12 = HEAP32[$nframe>>2]|0;
+ $13 = $3;
+ $14 = ($12>>>0)<($13>>>0);
+ if ($14) {
+ $15 = $3;
+ $16 = HEAP32[$nframe>>2]|0;
+ $17 = (($15) - ($16))|0;
+ $18 = $17;
+ } else {
+ $18 = 0;
+ }
+ $noff = $18;
+ $19 = HEAP32[$nframe>>2]|0;
+ $20 = $noff;
+ $21 = (($19) + ($20))|0;
+ $n = $21;
+ $22 = $2;
+ $23 = ($22|0)!=(0|0);
+ if ($23) {
+ $24 = $2;
+ $25 = ((($24)) + 12|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = $26 & 1;
+ $28 = ($27|0)!=(0);
+ if ($28) {
+ $29 = $n;
+ $30 = (__gcry_malloc_secure($29)|0);
+ $33 = $30;
+ } else {
+ label = 10;
+ }
+ } else {
+ label = 10;
+ }
+ if ((label|0) == 10) {
+ $31 = $n;
+ $32 = (__gcry_malloc($31)|0);
+ $33 = $32;
+ }
+ $frame = $33;
+ $34 = $frame;
+ $35 = ($34|0)!=(0|0);
+ if (!($35)) {
+ $36 = (_gpg_err_code_from_syserror()|0);
+ $0 = $36;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+ }
+ $37 = $noff;
+ $38 = ($37|0)!=(0);
+ if ($38) {
+ $39 = $frame;
+ $40 = $noff;
+ _memset(($39|0),0,($40|0))|0;
+ }
+ $41 = $noff;
+ $42 = HEAP32[$nframe>>2]|0;
+ $43 = (($42) + ($41))|0;
+ HEAP32[$nframe>>2] = $43;
+ $44 = $frame;
+ $45 = $noff;
+ $46 = (($44) + ($45)|0);
+ $47 = HEAP32[$nframe>>2]|0;
+ $48 = $noff;
+ $49 = (($47) - ($48))|0;
+ $50 = $2;
+ $51 = (__gcry_mpi_print(5,$46,$49,0,$50)|0);
+ $rc = $51;
+ $52 = $rc;
+ $53 = ($52|0)!=(0);
+ $54 = $frame;
+ if ($53) {
+ __gcry_free($54);
+ $55 = $rc;
+ $0 = $55;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+ } else {
+ $56 = $1;
+ HEAP32[$56>>2] = $54;
+ $0 = 0;
+ $57 = $0;
+ STACKTOP = sp;return ($57|0);
+ }
+ return (0)|0;
+}
+function _bits2octets($r_frame,$bits,$nbits,$q,$qbits) {
+ $r_frame = $r_frame|0;
+ $bits = $bits|0;
+ $nbits = $nbits|0;
+ $q = $q|0;
+ $qbits = $qbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, $z1 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $z1 = sp;
+ $1 = $r_frame;
+ $2 = $bits;
+ $3 = $nbits;
+ $4 = $q;
+ $5 = $qbits;
+ $6 = $2;
+ $7 = $3;
+ $8 = (($7) + 7)|0;
+ $9 = (($8>>>0) / 8)&-1;
+ $10 = (__gcry_mpi_scan($z1,5,$6,$9,0)|0);
+ $rc = $10;
+ $11 = $rc;
+ $12 = ($11|0)!=(0);
+ if ($12) {
+ $13 = $rc;
+ $0 = $13;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+ }
+ $14 = $3;
+ $15 = $5;
+ $16 = ($14>>>0)>($15>>>0);
+ if ($16) {
+ $17 = HEAP32[$z1>>2]|0;
+ $18 = HEAP32[$z1>>2]|0;
+ $19 = $3;
+ $20 = $5;
+ $21 = (($19) - ($20))|0;
+ __gcry_mpi_rshift($17,$18,$21);
+ }
+ $22 = HEAP32[$z1>>2]|0;
+ $23 = $4;
+ $24 = (__gcry_mpi_cmp($22,$23)|0);
+ $25 = ($24|0)>=(0);
+ if ($25) {
+ $26 = HEAP32[$z1>>2]|0;
+ $27 = HEAP32[$z1>>2]|0;
+ $28 = $4;
+ __gcry_mpi_sub($26,$27,$28);
+ }
+ $29 = $1;
+ $30 = HEAP32[$z1>>2]|0;
+ $31 = $5;
+ $32 = (($31) + 7)|0;
+ $33 = (($32>>>0) / 8)&-1;
+ $34 = (_int2octets($29,$30,$33)|0);
+ $rc = $34;
+ $35 = HEAP32[$z1>>2]|0;
+ __gcry_mpi_free($35);
+ $36 = $rc;
+ $0 = $36;
+ $37 = $0;
+ STACKTOP = sp;return ($37|0);
+}
+function __gcry_dsa_normalize_hash($input,$out,$qbits) {
+ $input = $input|0;
+ $out = $out|0;
+ $qbits = $qbits|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $abits = 0, $abuf = 0, $hash = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $abits = sp + 4|0;
+ $hash = sp;
+ $1 = $input;
+ $2 = $out;
+ $3 = $qbits;
+ $rc = 0;
+ $4 = $1;
+ $5 = ($4|0)!=(0|0);
+ do {
+ if ($5) {
+ $6 = $1;
+ $7 = ((($6)) + 12|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 4;
+ $10 = ($9|0)!=(0);
+ if ($10) {
+ $11 = $1;
+ $12 = (__gcry_mpi_get_opaque($11,$abits)|0);
+ $abuf = $12;
+ $13 = $abuf;
+ $14 = HEAP32[$abits>>2]|0;
+ $15 = (($14) + 7)|0;
+ $16 = (($15>>>0) / 8)&-1;
+ $17 = (__gcry_mpi_scan($hash,5,$13,$16,0)|0);
+ $rc = $17;
+ $18 = $rc;
+ $19 = ($18|0)!=(0);
+ if ($19) {
+ $20 = $rc;
+ $0 = $20;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+ } else {
+ $21 = HEAP32[$abits>>2]|0;
+ $22 = $3;
+ $23 = ($21>>>0)>($22>>>0);
+ if (!($23)) {
+ break;
+ }
+ $24 = HEAP32[$hash>>2]|0;
+ $25 = HEAP32[$hash>>2]|0;
+ $26 = HEAP32[$abits>>2]|0;
+ $27 = $3;
+ $28 = (($26) - ($27))|0;
+ __gcry_mpi_rshift($24,$25,$28);
+ break;
+ }
+ } else {
+ label = 7;
+ }
+ } else {
+ label = 7;
+ }
+ } while(0);
+ if ((label|0) == 7) {
+ $29 = $1;
+ HEAP32[$hash>>2] = $29;
+ }
+ $30 = HEAP32[$hash>>2]|0;
+ $31 = $2;
+ HEAP32[$31>>2] = $30;
+ $32 = $rc;
+ $0 = $32;
+ $33 = $0;
+ STACKTOP = sp;return ($33|0);
+}
+function __gcry_ecc_ecdsa_sign($input,$skey,$r,$s,$flags,$hashalgo) {
+ $input = $input|0;
+ $skey = $skey|0;
+ $r = $r|0;
+ $s = $s|0;
+ $flags = $flags|0;
+ $hashalgo = $hashalgo|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
+ var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
+ var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
+ var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
+ var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $I = 0;
+ var $abits = 0, $abuf = 0, $ctx = 0, $dr = 0, $extraloops = 0, $hash = 0, $k = 0, $k_1 = 0, $or$cond = 0, $qbits = 0, $rc = 0, $sum = 0, $vararg_buffer = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $k = sp + 52|0;
+ $I = sp + 24|0;
+ $hash = sp + 20|0;
+ $abits = sp + 12|0;
+ $1 = $input;
+ $2 = $skey;
+ $3 = $r;
+ $4 = $s;
+ $5 = $flags;
+ $6 = $hashalgo;
+ $rc = 0;
+ $extraloops = 0;
+ $7 = (__gcry_get_debug_flag(1)|0);
+ $8 = ($7|0)!=(0);
+ if ($8) {
+ $9 = $1;
+ __gcry_log_printmpi(53154,$9);
+ }
+ $10 = $2;
+ $11 = ((($10)) + 32|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = (__gcry_mpi_get_nbits($12)|0);
+ $qbits = $13;
+ $14 = $1;
+ $15 = $qbits;
+ $16 = (__gcry_dsa_normalize_hash($14,$hash,$15)|0);
+ $rc = $16;
+ $17 = $rc;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $19 = $rc;
+ $0 = $19;
+ $138 = $0;
+ STACKTOP = sp;return ($138|0);
+ }
+ HEAP32[$k>>2] = 0;
+ $20 = (__gcry_mpi_alloc(0)|0);
+ $dr = $20;
+ $21 = (__gcry_mpi_alloc(0)|0);
+ $sum = $21;
+ $22 = (__gcry_mpi_alloc(0)|0);
+ $k_1 = $22;
+ $23 = (__gcry_mpi_alloc(0)|0);
+ $x = $23;
+ __gcry_mpi_point_init($I);
+ $24 = $2;
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $2;
+ $27 = ((($26)) + 4|0);
+ $28 = HEAP32[$27>>2]|0;
+ $29 = $2;
+ $30 = ((($29)) + 8|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $2;
+ $33 = ((($32)) + 12|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $2;
+ $36 = ((($35)) + 16|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = (__gcry_mpi_ec_p_internal_new($25,$28,0,$31,$34,$37)|0);
+ $ctx = $38;
+ while(1) {
+ $39 = HEAP32[$k>>2]|0;
+ __gcry_mpi_free($39);
+ HEAP32[$k>>2] = 0;
+ $40 = $5;
+ $41 = $40 & 2;
+ $42 = ($41|0)!=(0);
+ $43 = $6;
+ $44 = ($43|0)!=(0);
+ $or$cond = $42 & $44;
+ if ($or$cond) {
+ $45 = $1;
+ $46 = ($45|0)!=(0|0);
+ if (!($46)) {
+ label = 9;
+ break;
+ }
+ $47 = $1;
+ $48 = ((($47)) + 12|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = $49 & 4;
+ $51 = ($50|0)!=(0);
+ if (!($51)) {
+ label = 9;
+ break;
+ }
+ $52 = $1;
+ $53 = (__gcry_mpi_get_opaque($52,$abits)|0);
+ $abuf = $53;
+ $54 = $2;
+ $55 = ((($54)) + 32|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = $2;
+ $58 = ((($57)) + 56|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $abuf;
+ $61 = HEAP32[$abits>>2]|0;
+ $62 = (($61) + 7)|0;
+ $63 = (($62>>>0) / 8)&-1;
+ $64 = $6;
+ $65 = $extraloops;
+ $66 = (__gcry_dsa_gen_rfc6979_k($k,$56,$59,$60,$63,$64,$65)|0);
+ $rc = $66;
+ $67 = $rc;
+ $68 = ($67|0)!=(0);
+ if ($68) {
+ break;
+ }
+ $69 = $extraloops;
+ $70 = (($69) + 1)|0;
+ $extraloops = $70;
+ } else {
+ $71 = $2;
+ $72 = ((($71)) + 32|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (__gcry_dsa_gen_k($73,1)|0);
+ HEAP32[$k>>2] = $74;
+ }
+ $75 = HEAP32[$k>>2]|0;
+ $76 = $2;
+ $77 = ((($76)) + 20|0);
+ $78 = $ctx;
+ __gcry_mpi_ec_mul_point($I,$75,$77,$78);
+ $79 = $x;
+ $80 = $ctx;
+ $81 = (__gcry_mpi_ec_get_affine($79,0,$I,$80)|0);
+ $82 = ($81|0)!=(0);
+ if ($82) {
+ label = 14;
+ break;
+ }
+ $85 = $3;
+ $86 = $x;
+ $87 = $2;
+ $88 = ((($87)) + 32|0);
+ $89 = HEAP32[$88>>2]|0;
+ __gcry_mpi_mod($85,$86,$89);
+ $90 = $3;
+ $91 = (__gcry_mpi_cmp_ui($90,0)|0);
+ $92 = ($91|0)!=(0);
+ $93 = $92 ^ 1;
+ if ($93) {
+ continue;
+ }
+ $94 = $dr;
+ $95 = $2;
+ $96 = ((($95)) + 56|0);
+ $97 = HEAP32[$96>>2]|0;
+ $98 = $3;
+ $99 = $2;
+ $100 = ((($99)) + 32|0);
+ $101 = HEAP32[$100>>2]|0;
+ __gcry_mpi_mulm($94,$97,$98,$101);
+ $102 = $sum;
+ $103 = HEAP32[$hash>>2]|0;
+ $104 = $dr;
+ $105 = $2;
+ $106 = ((($105)) + 32|0);
+ $107 = HEAP32[$106>>2]|0;
+ __gcry_mpi_addm($102,$103,$104,$107);
+ $108 = $k_1;
+ $109 = HEAP32[$k>>2]|0;
+ $110 = $2;
+ $111 = ((($110)) + 32|0);
+ $112 = HEAP32[$111>>2]|0;
+ (__gcry_mpi_invm($108,$109,$112)|0);
+ $113 = $4;
+ $114 = $k_1;
+ $115 = $sum;
+ $116 = $2;
+ $117 = ((($116)) + 32|0);
+ $118 = HEAP32[$117>>2]|0;
+ __gcry_mpi_mulm($113,$114,$115,$118);
+ $119 = $4;
+ $120 = (__gcry_mpi_cmp_ui($119,0)|0);
+ $121 = ($120|0)!=(0);
+ $122 = $121 ^ 1;
+ if (!($122)) {
+ label = 19;
+ break;
+ }
+ }
+ if ((label|0) == 9) {
+ $rc = 70;
+ }
+ else if ((label|0) == 14) {
+ $83 = (__gcry_get_debug_flag(1)|0);
+ $84 = ($83|0)!=(0);
+ if ($84) {
+ __gcry_log_debug(53231,$vararg_buffer);
+ }
+ $rc = 8;
+ }
+ else if ((label|0) == 19) {
+ $123 = (__gcry_get_debug_flag(1)|0);
+ $124 = ($123|0)!=(0);
+ if ($124) {
+ $125 = $3;
+ __gcry_log_printmpi(53172,$125);
+ $126 = $4;
+ __gcry_log_printmpi(53193,$126);
+ }
+ }
+ $127 = $ctx;
+ __gcry_mpi_ec_free($127);
+ __gcry_mpi_point_free_parts($I);
+ $128 = $x;
+ __gcry_mpi_free($128);
+ $129 = $k_1;
+ __gcry_mpi_free($129);
+ $130 = $sum;
+ __gcry_mpi_free($130);
+ $131 = $dr;
+ __gcry_mpi_free($131);
+ $132 = HEAP32[$k>>2]|0;
+ __gcry_mpi_free($132);
+ $133 = HEAP32[$hash>>2]|0;
+ $134 = $1;
+ $135 = ($133|0)!=($134|0);
+ if ($135) {
+ $136 = HEAP32[$hash>>2]|0;
+ __gcry_mpi_free($136);
+ }
+ $137 = $rc;
+ $0 = $137;
+ $138 = $0;
+ STACKTOP = sp;return ($138|0);
+}
+function __gcry_ecc_ecdsa_verify($input,$pkey,$r,$s) {
+ $input = $input|0;
+ $pkey = $pkey|0;
+ $r = $r|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $12 = 0;
+ var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Q = 0, $Q1 = 0, $Q2 = 0, $ctx = 0, $err = 0;
+ var $h = 0, $h1 = 0, $h2 = 0, $hash = 0, $nbits = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $hash = sp + 72|0;
+ $Q = sp + 44|0;
+ $Q1 = sp + 32|0;
+ $Q2 = sp + 20|0;
+ $1 = $input;
+ $2 = $pkey;
+ $3 = $r;
+ $4 = $s;
+ $err = 0;
+ $5 = $3;
+ $6 = (__gcry_mpi_cmp_ui($5,0)|0);
+ $7 = ($6|0)>(0);
+ if ($7) {
+ $8 = $3;
+ $9 = $2;
+ $10 = ((($9)) + 32|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (__gcry_mpi_cmp($8,$11)|0);
+ $13 = ($12|0)<(0);
+ if ($13) {
+ $14 = $4;
+ $15 = (__gcry_mpi_cmp_ui($14,0)|0);
+ $16 = ($15|0)>(0);
+ if ($16) {
+ $17 = $4;
+ $18 = $2;
+ $19 = ((($18)) + 32|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (__gcry_mpi_cmp($17,$20)|0);
+ $22 = ($21|0)<(0);
+ if ($22) {
+ $23 = $2;
+ $24 = ((($23)) + 32|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = (__gcry_mpi_get_nbits($25)|0);
+ $nbits = $26;
+ $27 = $1;
+ $28 = $nbits;
+ $29 = (__gcry_dsa_normalize_hash($27,$hash,$28)|0);
+ $err = $29;
+ $30 = $err;
+ $31 = ($30|0)!=(0);
+ if ($31) {
+ $32 = $err;
+ $0 = $32;
+ $114 = $0;
+ STACKTOP = sp;return ($114|0);
+ }
+ $33 = (__gcry_mpi_alloc(0)|0);
+ $h = $33;
+ $34 = (__gcry_mpi_alloc(0)|0);
+ $h1 = $34;
+ $35 = (__gcry_mpi_alloc(0)|0);
+ $h2 = $35;
+ $36 = (__gcry_mpi_alloc(0)|0);
+ $x = $36;
+ __gcry_mpi_point_init($Q);
+ __gcry_mpi_point_init($Q1);
+ __gcry_mpi_point_init($Q2);
+ $37 = $2;
+ $38 = HEAP32[$37>>2]|0;
+ $39 = $2;
+ $40 = ((($39)) + 4|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = $2;
+ $43 = ((($42)) + 8|0);
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $2;
+ $46 = ((($45)) + 12|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $2;
+ $49 = ((($48)) + 16|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = (__gcry_mpi_ec_p_internal_new($38,$41,0,$44,$47,$50)|0);
+ $ctx = $51;
+ $52 = $h;
+ $53 = $4;
+ $54 = $2;
+ $55 = ((($54)) + 32|0);
+ $56 = HEAP32[$55>>2]|0;
+ (__gcry_mpi_invm($52,$53,$56)|0);
+ $57 = $h1;
+ $58 = HEAP32[$hash>>2]|0;
+ $59 = $h;
+ $60 = $2;
+ $61 = ((($60)) + 32|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_mulm($57,$58,$59,$62);
+ $63 = $h1;
+ $64 = $2;
+ $65 = ((($64)) + 20|0);
+ $66 = $ctx;
+ __gcry_mpi_ec_mul_point($Q1,$63,$65,$66);
+ $67 = $h2;
+ $68 = $3;
+ $69 = $h;
+ $70 = $2;
+ $71 = ((($70)) + 32|0);
+ $72 = HEAP32[$71>>2]|0;
+ __gcry_mpi_mulm($67,$68,$69,$72);
+ $73 = $h2;
+ $74 = $2;
+ $75 = ((($74)) + 44|0);
+ $76 = $ctx;
+ __gcry_mpi_ec_mul_point($Q2,$73,$75,$76);
+ $77 = $ctx;
+ __gcry_mpi_ec_add_points($Q,$Q1,$Q2,$77);
+ $78 = ((($Q)) + 8|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = (__gcry_mpi_cmp_ui($79,0)|0);
+ $81 = ($80|0)!=(0);
+ do {
+ if ($81) {
+ $84 = $x;
+ $85 = $ctx;
+ $86 = (__gcry_mpi_ec_get_affine($84,0,$Q,$85)|0);
+ $87 = ($86|0)!=(0);
+ if ($87) {
+ $88 = (__gcry_get_debug_flag(1)|0);
+ $89 = ($88|0)!=(0);
+ if ($89) {
+ __gcry_log_debug(53337,$vararg_buffer1);
+ }
+ $err = 8;
+ break;
+ }
+ $90 = $x;
+ $91 = $x;
+ $92 = $2;
+ $93 = ((($92)) + 32|0);
+ $94 = HEAP32[$93>>2]|0;
+ __gcry_mpi_mod($90,$91,$94);
+ $95 = $x;
+ $96 = $3;
+ $97 = (__gcry_mpi_cmp($95,$96)|0);
+ $98 = ($97|0)!=(0);
+ if ($98) {
+ $99 = (__gcry_get_debug_flag(1)|0);
+ $100 = ($99|0)!=(0);
+ if ($100) {
+ $101 = $x;
+ __gcry_log_printmpi(53383,$101);
+ $102 = $3;
+ __gcry_log_printmpi(53390,$102);
+ $103 = $4;
+ __gcry_log_printmpi(53397,$103);
+ }
+ $err = 8;
+ }
+ } else {
+ $82 = (__gcry_get_debug_flag(1)|0);
+ $83 = ($82|0)!=(0);
+ if ($83) {
+ __gcry_log_debug(53315,$vararg_buffer);
+ }
+ $err = 8;
+ }
+ } while(0);
+ $104 = $ctx;
+ __gcry_mpi_ec_free($104);
+ __gcry_mpi_point_free_parts($Q2);
+ __gcry_mpi_point_free_parts($Q1);
+ __gcry_mpi_point_free_parts($Q);
+ $105 = $x;
+ __gcry_mpi_free($105);
+ $106 = $h2;
+ __gcry_mpi_free($106);
+ $107 = $h1;
+ __gcry_mpi_free($107);
+ $108 = $h;
+ __gcry_mpi_free($108);
+ $109 = HEAP32[$hash>>2]|0;
+ $110 = $1;
+ $111 = ($109|0)!=($110|0);
+ if ($111) {
+ $112 = HEAP32[$hash>>2]|0;
+ __gcry_mpi_free($112);
+ }
+ $113 = $err;
+ $0 = $113;
+ $114 = $0;
+ STACKTOP = sp;return ($114|0);
+ }
+ }
+ $0 = 8;
+ $114 = $0;
+ STACKTOP = sp;return ($114|0);
+ }
+ }
+ $0 = 8;
+ $114 = $0;
+ STACKTOP = sp;return ($114|0);
+}
+function __gcry_ecc_gost_sign($input,$skey,$r,$s) {
+ $input = $input|0;
+ $skey = $skey|0;
+ $r = $r|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0;
+ var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
+ var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
+ var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
+ var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
+ var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $I = 0, $abits = 0, $abuf = 0, $ctx = 0, $dr = 0, $e = 0, $hash = 0, $k = 0;
+ var $ke = 0, $qbits = 0, $rc = 0, $sum = 0, $vararg_buffer = 0, $x = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $I = sp + 24|0;
+ $hash = sp + 20|0;
+ $abits = sp + 12|0;
+ $1 = $input;
+ $2 = $skey;
+ $3 = $r;
+ $4 = $s;
+ $rc = 0;
+ $5 = (__gcry_get_debug_flag(1)|0);
+ $6 = ($5|0)!=(0);
+ if ($6) {
+ $7 = $1;
+ __gcry_log_printmpi(53214,$7);
+ }
+ $8 = $2;
+ $9 = ((($8)) + 32|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = (__gcry_mpi_get_nbits($10)|0);
+ $qbits = $11;
+ $12 = $1;
+ $13 = ($12|0)!=(0|0);
+ do {
+ if ($13) {
+ $14 = $1;
+ $15 = ((($14)) + 12|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = $16 & 4;
+ $18 = ($17|0)!=(0);
+ if ($18) {
+ $19 = $1;
+ $20 = (__gcry_mpi_get_opaque($19,$abits)|0);
+ $abuf = $20;
+ $21 = $abuf;
+ $22 = HEAP32[$abits>>2]|0;
+ $23 = (($22) + 7)|0;
+ $24 = (($23>>>0) / 8)&-1;
+ $25 = (__gcry_mpi_scan($hash,5,$21,$24,0)|0);
+ $rc = $25;
+ $26 = $rc;
+ $27 = ($26|0)!=(0);
+ if ($27) {
+ $28 = $rc;
+ $0 = $28;
+ $131 = $0;
+ STACKTOP = sp;return ($131|0);
+ } else {
+ $29 = HEAP32[$abits>>2]|0;
+ $30 = $qbits;
+ $31 = ($29>>>0)>($30>>>0);
+ if (!($31)) {
+ break;
+ }
+ $32 = HEAP32[$hash>>2]|0;
+ $33 = HEAP32[$hash>>2]|0;
+ $34 = HEAP32[$abits>>2]|0;
+ $35 = $qbits;
+ $36 = (($34) - ($35))|0;
+ __gcry_mpi_rshift($32,$33,$36);
+ break;
+ }
+ } else {
+ label = 9;
+ }
+ } else {
+ label = 9;
+ }
+ } while(0);
+ if ((label|0) == 9) {
+ $37 = $1;
+ HEAP32[$hash>>2] = $37;
+ }
+ $k = 0;
+ $38 = (__gcry_mpi_alloc(0)|0);
+ $dr = $38;
+ $39 = (__gcry_mpi_alloc(0)|0);
+ $sum = $39;
+ $40 = (__gcry_mpi_alloc(0)|0);
+ $ke = $40;
+ $41 = (__gcry_mpi_alloc(0)|0);
+ $e = $41;
+ $42 = (__gcry_mpi_alloc(0)|0);
+ $x = $42;
+ __gcry_mpi_point_init($I);
+ $43 = $2;
+ $44 = HEAP32[$43>>2]|0;
+ $45 = $2;
+ $46 = ((($45)) + 4|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = $2;
+ $49 = ((($48)) + 8|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = $2;
+ $52 = ((($51)) + 12|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = $2;
+ $55 = ((($54)) + 16|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = (__gcry_mpi_ec_p_internal_new($44,$47,0,$50,$53,$56)|0);
+ $ctx = $57;
+ $58 = $e;
+ $59 = $1;
+ $60 = $2;
+ $61 = ((($60)) + 32|0);
+ $62 = HEAP32[$61>>2]|0;
+ __gcry_mpi_mod($58,$59,$62);
+ $63 = $e;
+ $64 = (__gcry_mpi_cmp_ui($63,0)|0);
+ $65 = ($64|0)!=(0);
+ if (!($65)) {
+ $66 = $e;
+ (__gcry_mpi_set_ui($66,1)|0);
+ }
+ while(1) {
+ $67 = $k;
+ __gcry_mpi_free($67);
+ $68 = $2;
+ $69 = ((($68)) + 32|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (__gcry_dsa_gen_k($70,1)|0);
+ $k = $71;
+ $72 = $k;
+ $73 = $2;
+ $74 = ((($73)) + 20|0);
+ $75 = $ctx;
+ __gcry_mpi_ec_mul_point($I,$72,$74,$75);
+ $76 = $x;
+ $77 = $ctx;
+ $78 = (__gcry_mpi_ec_get_affine($76,0,$I,$77)|0);
+ $79 = ($78|0)!=(0);
+ if ($79) {
+ label = 13;
+ break;
+ }
+ $82 = $3;
+ $83 = $x;
+ $84 = $2;
+ $85 = ((($84)) + 32|0);
+ $86 = HEAP32[$85>>2]|0;
+ __gcry_mpi_mod($82,$83,$86);
+ $87 = $3;
+ $88 = (__gcry_mpi_cmp_ui($87,0)|0);
+ $89 = ($88|0)!=(0);
+ $90 = $89 ^ 1;
+ if ($90) {
+ continue;
+ }
+ $91 = $dr;
+ $92 = $2;
+ $93 = ((($92)) + 56|0);
+ $94 = HEAP32[$93>>2]|0;
+ $95 = $3;
+ $96 = $2;
+ $97 = ((($96)) + 32|0);
+ $98 = HEAP32[$97>>2]|0;
+ __gcry_mpi_mulm($91,$94,$95,$98);
+ $99 = $ke;
+ $100 = $k;
+ $101 = $e;
+ $102 = $2;
+ $103 = ((($102)) + 32|0);
+ $104 = HEAP32[$103>>2]|0;
+ __gcry_mpi_mulm($99,$100,$101,$104);
+ $105 = $4;
+ $106 = $ke;
+ $107 = $dr;
+ $108 = $2;
+ $109 = ((($108)) + 32|0);
+ $110 = HEAP32[$109>>2]|0;
+ __gcry_mpi_addm($105,$106,$107,$110);
+ $111 = $4;
+ $112 = (__gcry_mpi_cmp_ui($111,0)|0);
+ $113 = ($112|0)!=(0);
+ $114 = $113 ^ 1;
+ if (!($114)) {
+ label = 18;
+ break;
+ }
+ }
+ if ((label|0) == 13) {
+ $80 = (__gcry_get_debug_flag(1)|0);
+ $81 = ($80|0)!=(0);
+ if ($81) {
+ __gcry_log_debug(53231,$vararg_buffer);
+ }
+ $rc = 8;
+ }
+ else if ((label|0) == 18) {
+ $115 = (__gcry_get_debug_flag(1)|0);
+ $116 = ($115|0)!=(0);
+ if ($116) {
+ $117 = $3;
+ __gcry_log_printmpi(53275,$117);
+ $118 = $4;
+ __gcry_log_printmpi(53295,$118);
+ }
+ }
+ $119 = $ctx;
+ __gcry_mpi_ec_free($119);
+ __gcry_mpi_point_free_parts($I);
+ $120 = $x;
+ __gcry_mpi_free($120);
+ $121 = $e;
+ __gcry_mpi_free($121);
+ $122 = $ke;
+ __gcry_mpi_free($122);
+ $123 = $sum;
+ __gcry_mpi_free($123);
+ $124 = $dr;
+ __gcry_mpi_free($124);
+ $125 = $k;
+ __gcry_mpi_free($125);
+ $126 = HEAP32[$hash>>2]|0;
+ $127 = $1;
+ $128 = ($126|0)!=($127|0);
+ if ($128) {
+ $129 = HEAP32[$hash>>2]|0;
+ __gcry_mpi_free($129);
+ }
+ $130 = $rc;
+ $0 = $130;
+ $131 = $0;
+ STACKTOP = sp;return ($131|0);
+}
+function __gcry_ecc_gost_verify($input,$pkey,$r,$s) {
+ $input = $input|0;
+ $pkey = $pkey|0;
+ $r = $r|0;
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
+ var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
+ var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $Q = 0, $Q1 = 0, $Q2 = 0, $ctx = 0, $e = 0, $err = 0, $rv = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $x = 0, $z1 = 0, $z2 = 0, $zero = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer5 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer1 = sp + 8|0;
+ $vararg_buffer = sp;
+ $Q = sp + 56|0;
+ $Q1 = sp + 44|0;
+ $Q2 = sp + 32|0;
+ $1 = $input;
+ $2 = $pkey;
+ $3 = $r;
+ $4 = $s;
+ $err = 0;
+ $5 = $3;
+ $6 = (__gcry_mpi_cmp_ui($5,0)|0);
+ $7 = ($6|0)>(0);
+ if ($7) {
+ $8 = $3;
+ $9 = $2;
+ $10 = ((($9)) + 32|0);
+ $11 = HEAP32[$10>>2]|0;
+ $12 = (__gcry_mpi_cmp($8,$11)|0);
+ $13 = ($12|0)<(0);
+ if ($13) {
+ $14 = $4;
+ $15 = (__gcry_mpi_cmp_ui($14,0)|0);
+ $16 = ($15|0)>(0);
+ if ($16) {
+ $17 = $4;
+ $18 = $2;
+ $19 = ((($18)) + 32|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (__gcry_mpi_cmp($17,$20)|0);
+ $22 = ($21|0)<(0);
+ if ($22) {
+ $23 = (__gcry_mpi_alloc(0)|0);
+ $x = $23;
+ $24 = (__gcry_mpi_alloc(0)|0);
+ $e = $24;
+ $25 = (__gcry_mpi_alloc(0)|0);
+ $z1 = $25;
+ $26 = (__gcry_mpi_alloc(0)|0);
+ $z2 = $26;
+ $27 = (__gcry_mpi_alloc(0)|0);
+ $v = $27;
+ $28 = (__gcry_mpi_alloc(0)|0);
+ $rv = $28;
+ $29 = (__gcry_mpi_alloc(0)|0);
+ $zero = $29;
+ __gcry_mpi_point_init($Q);
+ __gcry_mpi_point_init($Q1);
+ __gcry_mpi_point_init($Q2);
+ $30 = $2;
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $2;
+ $33 = ((($32)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $2;
+ $36 = ((($35)) + 8|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = $2;
+ $39 = ((($38)) + 12|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = $2;
+ $42 = ((($41)) + 16|0);
+ $43 = HEAP32[$42>>2]|0;
+ $44 = (__gcry_mpi_ec_p_internal_new($31,$34,0,$37,$40,$43)|0);
+ $ctx = $44;
+ $45 = $e;
+ $46 = $1;
+ $47 = $2;
+ $48 = ((($47)) + 32|0);
+ $49 = HEAP32[$48>>2]|0;
+ __gcry_mpi_mod($45,$46,$49);
+ $50 = $e;
+ $51 = (__gcry_mpi_cmp_ui($50,0)|0);
+ $52 = ($51|0)!=(0);
+ if (!($52)) {
+ $53 = $e;
+ (__gcry_mpi_set_ui($53,1)|0);
+ }
+ $54 = $v;
+ $55 = $e;
+ $56 = $2;
+ $57 = ((($56)) + 32|0);
+ $58 = HEAP32[$57>>2]|0;
+ (__gcry_mpi_invm($54,$55,$58)|0);
+ $59 = $z1;
+ $60 = $4;
+ $61 = $v;
+ $62 = $2;
+ $63 = ((($62)) + 32|0);
+ $64 = HEAP32[$63>>2]|0;
+ __gcry_mpi_mulm($59,$60,$61,$64);
+ $65 = $rv;
+ $66 = $3;
+ $67 = $v;
+ $68 = $2;
+ $69 = ((($68)) + 32|0);
+ $70 = HEAP32[$69>>2]|0;
+ __gcry_mpi_mulm($65,$66,$67,$70);
+ $71 = $z2;
+ $72 = $zero;
+ $73 = $rv;
+ $74 = $2;
+ $75 = ((($74)) + 32|0);
+ $76 = HEAP32[$75>>2]|0;
+ __gcry_mpi_subm($71,$72,$73,$76);
+ $77 = $z1;
+ $78 = $2;
+ $79 = ((($78)) + 20|0);
+ $80 = $ctx;
+ __gcry_mpi_ec_mul_point($Q1,$77,$79,$80);
+ $81 = $z2;
+ $82 = $2;
+ $83 = ((($82)) + 44|0);
+ $84 = $ctx;
+ __gcry_mpi_ec_mul_point($Q2,$81,$83,$84);
+ $85 = $ctx;
+ __gcry_mpi_ec_add_points($Q,$Q1,$Q2,$85);
+ $86 = ((($Q)) + 8|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = (__gcry_mpi_cmp_ui($87,0)|0);
+ $89 = ($88|0)!=(0);
+ do {
+ if ($89) {
+ $92 = $x;
+ $93 = $ctx;
+ $94 = (__gcry_mpi_ec_get_affine($92,0,$Q,$93)|0);
+ $95 = ($94|0)!=(0);
+ if ($95) {
+ $96 = (__gcry_get_debug_flag(1)|0);
+ $97 = ($96|0)!=(0);
+ if ($97) {
+ __gcry_log_debug(53337,$vararg_buffer1);
+ }
+ $err = 8;
+ break;
+ }
+ $98 = $x;
+ $99 = $x;
+ $100 = $2;
+ $101 = ((($100)) + 32|0);
+ $102 = HEAP32[$101>>2]|0;
+ __gcry_mpi_mod($98,$99,$102);
+ $103 = $x;
+ $104 = $3;
+ $105 = (__gcry_mpi_cmp($103,$104)|0);
+ $106 = ($105|0)!=(0);
+ $107 = (__gcry_get_debug_flag(1)|0);
+ $108 = ($107|0)!=(0);
+ if (!($106)) {
+ if (!($108)) {
+ break;
+ }
+ __gcry_log_debug(53430,$vararg_buffer5);
+ break;
+ }
+ if ($108) {
+ $109 = $x;
+ __gcry_log_printmpi(53383,$109);
+ $110 = $3;
+ __gcry_log_printmpi(53390,$110);
+ $111 = $4;
+ __gcry_log_printmpi(53397,$111);
+ __gcry_log_debug(53404,$vararg_buffer3);
+ }
+ $err = 8;
+ } else {
+ $90 = (__gcry_get_debug_flag(1)|0);
+ $91 = ($90|0)!=(0);
+ if ($91) {
+ __gcry_log_debug(53315,$vararg_buffer);
+ }
+ $err = 8;
+ }
+ } while(0);
+ $112 = $ctx;
+ __gcry_mpi_ec_free($112);
+ __gcry_mpi_point_free_parts($Q2);
+ __gcry_mpi_point_free_parts($Q1);
+ __gcry_mpi_point_free_parts($Q);
+ $113 = $zero;
+ __gcry_mpi_free($113);
+ $114 = $rv;
+ __gcry_mpi_free($114);
+ $115 = $v;
+ __gcry_mpi_free($115);
+ $116 = $z2;
+ __gcry_mpi_free($116);
+ $117 = $z1;
+ __gcry_mpi_free($117);
+ $118 = $x;
+ __gcry_mpi_free($118);
+ $119 = $e;
+ __gcry_mpi_free($119);
+ $120 = $err;
+ $0 = $120;
+ $121 = $0;
+ STACKTOP = sp;return ($121|0);
+ }
+ }
+ $0 = 8;
+ $121 = $0;
+ STACKTOP = sp;return ($121|0);
+ }
+ }
+ $0 = 8;
+ $121 = $0;
+ STACKTOP = sp;return ($121|0);
+}
+function _gpg_err_init() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gpg_err_init()|0);
+ return ($0|0);
+}
+function _gpg_strerror($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (__gpg_strerror($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_code_from_errno($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (__gpg_err_code_from_errno($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_code_to_errno($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = (__gpg_err_code_to_errno($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpg_err_code_from_syserror() {
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (__gpg_err_code_from_syserror()|0);
+ return ($0|0);
+}
+function _gpg_err_set_errno($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ __gpg_err_set_errno($1);
+ STACKTOP = sp;return;
+}
+function _gpgrt_lock_init($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (__gpgrt_lock_init($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpgrt_lock_lock($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (__gpgrt_lock_lock($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpgrt_lock_unlock($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (__gpgrt_lock_unlock($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _gpgrt_lock_destroy($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (__gpgrt_lock_destroy($1)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function __gpgrt_lock_init($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $lock = $1;
+ $2 = $lock;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(0);
+ if ($4) {
+ $6 = $0;
+ $7 = (_get_lock_object($6)|0);
+ $lock = $7;
+ } else {
+ $5 = $lock;
+ HEAP32[$5>>2] = 1;
+ }
+ $8 = $lock;
+ $9 = ((($8)) + 4|0);
+ $10 = (_pthread_mutex_init(($9|0),(0|0))|0);
+ $rc = $10;
+ $11 = $rc;
+ $12 = ($11|0)!=(0);
+ if (!($12)) {
+ $15 = $rc;
+ STACKTOP = sp;return ($15|0);
+ }
+ $13 = $rc;
+ $14 = (_gpg_err_code_from_errno($13)|0);
+ $rc = $14;
+ $15 = $rc;
+ STACKTOP = sp;return ($15|0);
+}
+function _get_lock_object($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $lock = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $lock = $1;
+ $2 = $lock;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)!=(1);
+ if ($4) {
+ ___assert_fail((53452|0),(53472|0),114,(53485|0));
+ // unreachable;
+ } else {
+ $5 = $lock;
+ STACKTOP = sp;return ($5|0);
+ }
+ return (0)|0;
+}
+function __gpgrt_lock_lock($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (_get_lock_object($1)|0);
+ $lock = $2;
+ $3 = $lock;
+ $4 = ((($3)) + 4|0);
+ $5 = (_pthread_mutex_lock(($4|0))|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ $10 = $rc;
+ STACKTOP = sp;return ($10|0);
+ }
+ $8 = $rc;
+ $9 = (_gpg_err_code_from_errno($8)|0);
+ $rc = $9;
+ $10 = $rc;
+ STACKTOP = sp;return ($10|0);
+}
+function __gpgrt_lock_unlock($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $rc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (_get_lock_object($1)|0);
+ $lock = $2;
+ $3 = $lock;
+ $4 = ((($3)) + 4|0);
+ $5 = (_pthread_mutex_unlock(($4|0))|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ if (!($7)) {
+ $10 = $rc;
+ STACKTOP = sp;return ($10|0);
+ }
+ $8 = $rc;
+ $9 = (_gpg_err_code_from_errno($8)|0);
+ $rc = $9;
+ $10 = $rc;
+ STACKTOP = sp;return ($10|0);
+}
+function __gpgrt_lock_destroy($lockhd) {
+ $lockhd = $lockhd|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $lock = 0, $rc = 0, $tmp = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $tmp = sp;
+ $0 = $lockhd;
+ $1 = $0;
+ $2 = (_get_lock_object($1)|0);
+ $lock = $2;
+ $3 = $lock;
+ $4 = ((($3)) + 4|0);
+ $5 = (_pthread_mutex_destroy(($4|0))|0);
+ $rc = $5;
+ $6 = $rc;
+ $7 = ($6|0)!=(0);
+ if ($7) {
+ $8 = $rc;
+ $9 = (_gpg_err_code_from_errno($8)|0);
+ $rc = $9;
+ $11 = $rc;
+ STACKTOP = sp;return ($11|0);
+ } else {
+ dest=$tmp; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ HEAP32[$tmp>>2] = 1;
+ $10 = $0;
+ dest=$10; src=$tmp; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $11 = $rc;
+ STACKTOP = sp;return ($11|0);
+ }
+ return (0)|0;
+}
+function __gpg_err_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ _real_init();
+ return 0;
+}
+function _real_init() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (__gpgrt_es_init()|0);
+ return;
+}
+function __gpg_err_set_errno($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = (___errno_location()|0);
+ HEAP32[$2>>2] = $1;
+ STACKTOP = sp;return;
+}
+function __gpgrt_es_init() {
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17776]|0;
+ $1 = ($0|0)!=(0);
+ if ($1) {
+ return 0;
+ }
+ HEAP32[17776] = 1;
+ (_atexit((84|0))|0);
+ return 0;
+}
+function _do_deinit() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (__gpgrt_fflush(0)|0);
+ HEAP32[17778] = 0;
+ HEAP32[17779] = 0;
+ return;
+}
+function __gpgrt_fflush($stream) {
+ $stream = $stream|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $item = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $stream;
+ $1 = $0;
+ $2 = ($1|0)!=(0|0);
+ if ($2) {
+ $3 = $0;
+ _lock_stream($3);
+ $4 = $0;
+ $5 = (_do_fflush($4)|0);
+ $err = $5;
+ $6 = $0;
+ _unlock_stream($6);
+ $28 = $err;
+ $29 = ($28|0)!=(0);
+ $30 = $29 ? -1 : 0;
+ STACKTOP = sp;return ($30|0);
+ }
+ $err = 0;
+ _lock_list();
+ $7 = HEAP32[17777]|0;
+ $item = $7;
+ while(1) {
+ $8 = $item;
+ $9 = ($8|0)!=(0|0);
+ if (!($9)) {
+ break;
+ }
+ $10 = $item;
+ $11 = ((($10)) + 4|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($12|0)!=(0|0);
+ if ($13) {
+ $14 = $item;
+ $15 = ((($14)) + 4|0);
+ $16 = HEAP32[$15>>2]|0;
+ _lock_stream($16);
+ $17 = $item;
+ $18 = ((($17)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (_do_fflush($19)|0);
+ $21 = $err;
+ $22 = $21 | $20;
+ $err = $22;
+ $23 = $item;
+ $24 = ((($23)) + 4|0);
+ $25 = HEAP32[$24>>2]|0;
+ _unlock_stream($25);
+ }
+ $26 = $item;
+ $27 = HEAP32[$26>>2]|0;
+ $item = $27;
+ }
+ _unlock_list();
+ $28 = $err;
+ $29 = ($28|0)!=(0);
+ $30 = $29 ? -1 : 0;
+ STACKTOP = sp;return ($30|0);
+}
+function _lock_stream($stream) {
+ $stream = $stream|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $stream;
+ $1 = $0;
+ $2 = ((($1)) + 36|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 1140|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = ($5&255) >>> 5;
+ $7 = $6 & 1;
+ $8 = $7&255;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ STACKTOP = sp;return;
+ }
+ $10 = $0;
+ $11 = ((($10)) + 36|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($12)) + 1040|0);
+ (__gpgrt_lock_lock($13)|0);
+ STACKTOP = sp;return;
+}
+function _do_fflush($stream) {
+ $stream = $stream|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $err = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $stream;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = $2 >>> 16;
+ $4 = $3 & 1;
+ $5 = ($4|0)!=(0);
+ $6 = $0;
+ if ($5) {
+ $7 = (_es_flush($6)|0);
+ $err = $7;
+ $8 = $err;
+ STACKTOP = sp;return ($8|0);
+ } else {
+ _es_empty($6);
+ $err = 0;
+ $8 = $err;
+ STACKTOP = sp;return ($8|0);
+ }
+ return (0)|0;
+}
+function _es_flush($stream) {
+ $stream = $stream|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $bytes_written = 0, $data_flushed = 0, $err = 0, $func_write = 0, $ret = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $stream;
+ $1 = $0;
+ $2 = ((($1)) + 36|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 1108|0);
+ $5 = HEAP32[$4>>2]|0;
+ $func_write = $5;
+ $6 = $0;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = $7 >>> 16;
+ $9 = $8 & 1;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ ___assert_fail((53501|0),(53523|0),1654,(53533|0));
+ // unreachable;
+ }
+ $11 = $0;
+ $12 = ((($11)) + 16|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)!=(0);
+ do {
+ if ($14) {
+ $15 = $func_write;
+ $16 = ($15|0)!=(0|0);
+ if (!($16)) {
+ $err = 95;
+ break;
+ }
+ $data_flushed = 0;
+ $err = 0;
+ while(1) {
+ $17 = $0;
+ $18 = ((($17)) + 16|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = $data_flushed;
+ $21 = (($19) - ($20))|0;
+ $22 = ($21|0)>(0);
+ if (!($22)) {
+ break;
+ }
+ $23 = $err;
+ $24 = ($23|0)!=(0);
+ $25 = $24 ^ 1;
+ if (!($25)) {
+ break;
+ }
+ $26 = $func_write;
+ $27 = $0;
+ $28 = ((($27)) + 36|0);
+ $29 = HEAP32[$28>>2]|0;
+ $30 = ((($29)) + 1084|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = $0;
+ $33 = ((($32)) + 4|0);
+ $34 = HEAP32[$33>>2]|0;
+ $35 = $data_flushed;
+ $36 = (($34) + ($35)|0);
+ $37 = $0;
+ $38 = ((($37)) + 16|0);
+ $39 = HEAP32[$38>>2]|0;
+ $40 = $data_flushed;
+ $41 = (($39) - ($40))|0;
+ $42 = (FUNCTION_TABLE_iiii[$26 & 127]($31,$36,$41)|0);
+ $ret = $42;
+ $43 = $ret;
+ $44 = ($43|0)==(-1);
+ if ($44) {
+ $bytes_written = 0;
+ $err = -1;
+ } else {
+ $45 = $ret;
+ $bytes_written = $45;
+ }
+ $46 = $bytes_written;
+ $47 = $data_flushed;
+ $48 = (($47) + ($46))|0;
+ $data_flushed = $48;
+ $49 = $err;
+ $50 = ($49|0)!=(0);
+ if ($50) {
+ break;
+ }
+ }
+ $51 = $data_flushed;
+ $52 = $0;
+ $53 = ((($52)) + 20|0);
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($54) + ($51))|0;
+ HEAP32[$53>>2] = $55;
+ $56 = $0;
+ $57 = ((($56)) + 16|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = $data_flushed;
+ $60 = ($58|0)==($59|0);
+ if ($60) {
+ $61 = $0;
+ $62 = ((($61)) + 16|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = $0;
+ $65 = ((($64)) + 36|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = ((($66)) + 1100|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = (($68) + ($63))|0;
+ HEAP32[$67>>2] = $69;
+ $70 = $0;
+ $71 = ((($70)) + 16|0);
+ HEAP32[$71>>2] = 0;
+ $72 = $0;
+ $73 = ((($72)) + 20|0);
+ HEAP32[$73>>2] = 0;
+ $74 = $func_write;
+ $75 = $0;
+ $76 = ((($75)) + 36|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ((($77)) + 1084|0);
+ $79 = HEAP32[$78>>2]|0;
+ (FUNCTION_TABLE_iiii[$74 & 127]($79,0,0)|0);
+ }
+ } else {
+ $err = 0;
+ }
+ } while(0);
+ $80 = $err;
+ $81 = ($80|0)!=(0);
+ if (!($81)) {
+ $89 = $err;
+ STACKTOP = sp;return ($89|0);
+ }
+ $82 = $0;
+ $83 = ((($82)) + 36|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ((($84)) + 1136|0);
+ $86 = HEAP8[$85>>0]|0;
+ $87 = $86 & -2;
+ $88 = $87 | 1;
+ HEAP8[$85>>0] = $88;
+ $89 = $err;
+ STACKTOP = sp;return ($89|0);
+}
+function _es_empty($stream) {
+ $stream = $stream|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $stream;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = $2 >>> 16;
+ $4 = $3 & 1;
+ $5 = ($4|0)!=(0);
+ if ($5) {
+ ___assert_fail((53542|0),(53523|0),1722,(53565|0));
+ // unreachable;
+ } else {
+ $6 = $0;
+ $7 = ((($6)) + 12|0);
+ HEAP32[$7>>2] = 0;
+ $8 = $0;
+ $9 = ((($8)) + 16|0);
+ HEAP32[$9>>2] = 0;
+ $10 = $0;
+ $11 = ((($10)) + 32|0);
+ HEAP32[$11>>2] = 0;
+ STACKTOP = sp;return;
+ }
+}
+function _unlock_stream($stream) {
+ $stream = $stream|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $stream;
+ $1 = $0;
+ $2 = ((($1)) + 36|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ((($3)) + 1140|0);
+ $5 = HEAP8[$4>>0]|0;
+ $6 = ($5&255) >>> 5;
+ $7 = $6 & 1;
+ $8 = $7&255;
+ $9 = ($8|0)!=(0);
+ if ($9) {
+ STACKTOP = sp;return;
+ }
+ $10 = $0;
+ $11 = ((($10)) + 36|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ((($12)) + 1040|0);
+ (__gpgrt_lock_unlock($13)|0);
+ STACKTOP = sp;return;
+}
+function _lock_list() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (__gpgrt_lock_lock(13104)|0);
+ return;
+}
+function _unlock_list() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (__gpgrt_lock_unlock(13104)|0);
+ return;
+}
+function __gpg_strerror($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $code = 0;
+ var $no = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $err;
+ $2 = $1;
+ $3 = (_gpg_err_code_2552($2)|0);
+ $code = $3;
+ $4 = $code;
+ $5 = $4 & 32768;
+ $6 = ($5|0)!=(0);
+ do {
+ if ($6) {
+ $7 = $code;
+ $8 = (_gpg_err_code_to_errno($7)|0);
+ $no = $8;
+ $9 = $no;
+ $10 = ($9|0)!=(0);
+ if (!($10)) {
+ $code = 16382;
+ break;
+ }
+ $11 = $no;
+ $12 = (_strerror($11)|0);
+ $0 = $12;
+ $18 = $0;
+ STACKTOP = sp;return ($18|0);
+ }
+ } while(0);
+ $13 = $code;
+ $14 = (_msgidxof_2553($13)|0);
+ $15 = (13148 + ($14<<2)|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = (53574 + ($16)|0);
+ $0 = $17;
+ $18 = $0;
+ STACKTOP = sp;return ($18|0);
+}
+function _gpg_err_code_2552($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $err;
+ $1 = $0;
+ $2 = $1 & 65535;
+ STACKTOP = sp;return ($2|0);
+}
+function _msgidxof_2553($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
+ var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond19 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond25 = 0, $or$cond27 = 0, $or$cond29 = 0, $or$cond3 = 0, $or$cond31 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $code;
+ $1 = $0;
+ $2 = ($1|0)>=(0);
+ $3 = $0;
+ $4 = ($3|0)<=(213);
+ $or$cond = $2 & $4;
+ $5 = $0;
+ do {
+ if ($or$cond) {
+ $6 = (($5) - 0)|0;
+ $83 = $6;
+ } else {
+ $7 = ($5|0)>=(222);
+ $8 = $0;
+ $9 = ($8|0)<=(254);
+ $or$cond3 = $7 & $9;
+ $10 = $0;
+ if ($or$cond3) {
+ $11 = (($10) - 8)|0;
+ $83 = $11;
+ break;
+ }
+ $12 = ($10|0)>=(257);
+ $13 = $0;
+ $14 = ($13|0)<=(271);
+ $or$cond5 = $12 & $14;
+ $15 = $0;
+ if ($or$cond5) {
+ $16 = (($15) - 10)|0;
+ $83 = $16;
+ break;
+ }
+ $17 = ($15|0)>=(273);
+ $18 = $0;
+ $19 = ($18|0)<=(281);
+ $or$cond7 = $17 & $19;
+ $20 = $0;
+ if ($or$cond7) {
+ $21 = (($20) - 11)|0;
+ $83 = $21;
+ break;
+ }
+ $22 = ($20|0)>=(721);
+ $23 = $0;
+ $24 = ($23|0)<=(729);
+ $or$cond9 = $22 & $24;
+ $25 = $0;
+ if ($or$cond9) {
+ $26 = (($25) - 450)|0;
+ $83 = $26;
+ break;
+ }
+ $27 = ($25|0)>=(750);
+ $28 = $0;
+ $29 = ($28|0)<=(752);
+ $or$cond11 = $27 & $29;
+ $30 = $0;
+ if ($or$cond11) {
+ $31 = (($30) - 470)|0;
+ $83 = $31;
+ break;
+ }
+ $32 = ($30|0)>=(754);
+ $33 = $0;
+ $34 = ($33|0)<=(782);
+ $or$cond13 = $32 & $34;
+ $35 = $0;
+ if ($or$cond13) {
+ $36 = (($35) - 471)|0;
+ $83 = $36;
+ break;
+ }
+ $37 = ($35|0)>=(784);
+ $38 = $0;
+ $39 = ($38|0)<=(789);
+ $or$cond15 = $37 & $39;
+ $40 = $0;
+ if ($or$cond15) {
+ $41 = (($40) - 472)|0;
+ $83 = $41;
+ break;
+ }
+ $42 = ($40|0)>=(800);
+ $43 = $0;
+ $44 = ($43|0)<=(804);
+ $or$cond17 = $42 & $44;
+ $45 = $0;
+ if ($or$cond17) {
+ $46 = (($45) - 482)|0;
+ $83 = $46;
+ break;
+ }
+ $47 = ($45|0)>=(815);
+ $48 = $0;
+ $49 = ($48|0)<=(822);
+ $or$cond19 = $47 & $49;
+ $50 = $0;
+ if ($or$cond19) {
+ $51 = (($50) - 492)|0;
+ $83 = $51;
+ break;
+ }
+ $52 = ($50|0)>=(832);
+ $53 = $0;
+ $54 = ($53|0)<=(839);
+ $or$cond21 = $52 & $54;
+ $55 = $0;
+ if ($or$cond21) {
+ $56 = (($55) - 501)|0;
+ $83 = $56;
+ break;
+ }
+ $57 = ($55|0)>=(844);
+ $58 = $0;
+ $59 = ($58|0)<=(844);
+ $or$cond23 = $57 & $59;
+ $60 = $0;
+ if ($or$cond23) {
+ $61 = (($60) - 505)|0;
+ $83 = $61;
+ break;
+ }
+ $62 = ($60|0)>=(848);
+ $63 = $0;
+ $64 = ($63|0)<=(848);
+ $or$cond25 = $62 & $64;
+ $65 = $0;
+ if ($or$cond25) {
+ $66 = (($65) - 508)|0;
+ $83 = $66;
+ break;
+ }
+ $67 = ($65|0)>=(881);
+ $68 = $0;
+ $69 = ($68|0)<=(891);
+ $or$cond27 = $67 & $69;
+ $70 = $0;
+ if ($or$cond27) {
+ $71 = (($70) - 540)|0;
+ $83 = $71;
+ break;
+ }
+ $72 = ($70|0)>=(1024);
+ $73 = $0;
+ $74 = ($73|0)<=(1039);
+ $or$cond29 = $72 & $74;
+ $75 = $0;
+ if ($or$cond29) {
+ $76 = (($75) - 672)|0;
+ $83 = $76;
+ break;
+ } else {
+ $77 = ($75|0)>=(16381);
+ $78 = $0;
+ $79 = ($78|0)<=(16383);
+ $or$cond31 = $77 & $79;
+ $80 = $0;
+ $81 = (($80) - 16013)|0;
+ $82 = $or$cond31 ? $81 : 371;
+ $83 = $82;
+ break;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($83|0);
+}
+function __gpg_err_code_to_errno($code) {
+ $code = $code|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $code;
+ $2 = $1;
+ $3 = $2 & 32768;
+ $4 = ($3|0)!=(0);
+ do {
+ if ($4) {
+ $5 = $1;
+ $6 = $5 & -32769;
+ $1 = $6;
+ $7 = $1;
+ $8 = ($7>>>0)<(141);
+ if ($8) {
+ $9 = $1;
+ $10 = (14636 + ($9<<2)|0);
+ $11 = HEAP32[$10>>2]|0;
+ $0 = $11;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ } else {
+ $0 = 0;
+ }
+ } while(0);
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+}
+function __gpg_err_code_from_errno($err) {
+ $err = $err|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $idx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $err;
+ $2 = $1;
+ $3 = ($2|0)!=(0);
+ if (!($3)) {
+ $0 = 0;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ $4 = $1;
+ $5 = ($4|0)>=(1);
+ $6 = $1;
+ $7 = ($6|0)<=(11);
+ $or$cond = $5 & $7;
+ $8 = $1;
+ do {
+ if ($or$cond) {
+ $9 = (($8) - 1)|0;
+ $36 = $9;
+ } else {
+ $10 = ($8|0)>=(11);
+ $11 = $1;
+ $12 = ($11|0)<=(35);
+ $or$cond3 = $10 & $12;
+ $13 = $1;
+ if ($or$cond3) {
+ $14 = (($13) - 0)|0;
+ $36 = $14;
+ break;
+ }
+ $15 = ($13|0)>=(35);
+ $16 = $1;
+ $17 = ($16|0)<=(40);
+ $or$cond5 = $15 & $17;
+ $18 = $1;
+ if ($or$cond5) {
+ $19 = (($18) - -1)|0;
+ $36 = $19;
+ break;
+ }
+ $20 = ($18|0)>=(42);
+ $21 = $1;
+ $22 = ($21|0)<=(57);
+ $or$cond7 = $20 & $22;
+ $23 = $1;
+ if ($or$cond7) {
+ $24 = (($23) - 0)|0;
+ $36 = $24;
+ break;
+ }
+ $25 = ($23|0)>=(59);
+ $26 = $1;
+ $27 = ($26|0)<=(95);
+ $or$cond9 = $25 & $27;
+ $28 = $1;
+ if ($or$cond9) {
+ $29 = (($28) - 1)|0;
+ $36 = $29;
+ break;
+ } else {
+ $30 = ($28|0)>=(95);
+ $31 = $1;
+ $32 = ($31|0)<=(125);
+ $or$cond11 = $30 & $32;
+ $33 = $1;
+ $34 = (($33) - 0)|0;
+ $35 = $or$cond11 ? $34 : -1;
+ $36 = $35;
+ break;
+ }
+ }
+ } while(0);
+ $idx = $36;
+ $37 = $idx;
+ $38 = ($37|0)<(0);
+ if ($38) {
+ $0 = 16382;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ } else {
+ $39 = $idx;
+ $40 = (15200 + ($39<<2)|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = 32768 | $41;
+ $0 = $42;
+ $43 = $0;
+ STACKTOP = sp;return ($43|0);
+ }
+ return (0)|0;
+}
+function __gpg_err_code_from_syserror() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $err = 0, $idx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = (___errno_location()|0);
+ $2 = HEAP32[$1>>2]|0;
+ $err = $2;
+ $3 = $err;
+ $4 = ($3|0)!=(0);
+ if (!($4)) {
+ $0 = 16381;
+ $44 = $0;
+ STACKTOP = sp;return ($44|0);
+ }
+ $5 = $err;
+ $6 = ($5|0)>=(1);
+ $7 = $err;
+ $8 = ($7|0)<=(11);
+ $or$cond = $6 & $8;
+ $9 = $err;
+ do {
+ if ($or$cond) {
+ $10 = (($9) - 1)|0;
+ $37 = $10;
+ } else {
+ $11 = ($9|0)>=(11);
+ $12 = $err;
+ $13 = ($12|0)<=(35);
+ $or$cond3 = $11 & $13;
+ $14 = $err;
+ if ($or$cond3) {
+ $15 = (($14) - 0)|0;
+ $37 = $15;
+ break;
+ }
+ $16 = ($14|0)>=(35);
+ $17 = $err;
+ $18 = ($17|0)<=(40);
+ $or$cond5 = $16 & $18;
+ $19 = $err;
+ if ($or$cond5) {
+ $20 = (($19) - -1)|0;
+ $37 = $20;
+ break;
+ }
+ $21 = ($19|0)>=(42);
+ $22 = $err;
+ $23 = ($22|0)<=(57);
+ $or$cond7 = $21 & $23;
+ $24 = $err;
+ if ($or$cond7) {
+ $25 = (($24) - 0)|0;
+ $37 = $25;
+ break;
+ }
+ $26 = ($24|0)>=(59);
+ $27 = $err;
+ $28 = ($27|0)<=(95);
+ $or$cond9 = $26 & $28;
+ $29 = $err;
+ if ($or$cond9) {
+ $30 = (($29) - 1)|0;
+ $37 = $30;
+ break;
+ } else {
+ $31 = ($29|0)>=(95);
+ $32 = $err;
+ $33 = ($32|0)<=(125);
+ $or$cond11 = $31 & $33;
+ $34 = $err;
+ $35 = (($34) - 0)|0;
+ $36 = $or$cond11 ? $35 : -1;
+ $37 = $36;
+ break;
+ }
+ }
+ } while(0);
+ $idx = $37;
+ $38 = $idx;
+ $39 = ($38|0)<(0);
+ if ($39) {
+ $0 = 16382;
+ $44 = $0;
+ STACKTOP = sp;return ($44|0);
+ } else {
+ $40 = $idx;
+ $41 = (15200 + ($40<<2)|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = 32768 | $42;
+ $0 = $43;
+ $44 = $0;
+ STACKTOP = sp;return ($44|0);
+ }
+ return (0)|0;
+}
+function _TALER_amount_hton($res,$d) {
+ $res = $res|0;
+ $d = $d|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res;
+ $1 = $d;
+ $2 = $1;
+ $3 = $2;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (_GNUNET_htonll($5,$8)|0);
+ $10 = tempRet0;
+ $11 = $0;
+ $12 = $11;
+ $13 = $12;
+ HEAP8[$13>>0]=$9&255;HEAP8[$13+1>>0]=($9>>8)&255;HEAP8[$13+2>>0]=($9>>16)&255;HEAP8[$13+3>>0]=$9>>24;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP8[$15>>0]=$10&255;HEAP8[$15+1>>0]=($10>>8)&255;HEAP8[$15+2>>0]=($10>>16)&255;HEAP8[$15+3>>0]=$10>>24;
+ $16 = $1;
+ $17 = ((($16)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (_htonl($18)|0);
+ $20 = $0;
+ $21 = ((($20)) + 8|0);
+ HEAP8[$21>>0]=$19&255;HEAP8[$21+1>>0]=($19>>8)&255;HEAP8[$21+2>>0]=($19>>16)&255;HEAP8[$21+3>>0]=$19>>24;
+ $22 = $0;
+ $23 = ((($22)) + 12|0);
+ $24 = $1;
+ $25 = ((($24)) + 12|0);
+ dest=$23; src=$25; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function _TALER_amount_ntoh($res,$dn) {
+ $res = $res|0;
+ $dn = $dn|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $res;
+ $1 = $dn;
+ $2 = $1;
+ $3 = $2;
+ $4 = $3;
+ $5 = HEAPU8[$4>>0]|(HEAPU8[$4+1>>0]<<8)|(HEAPU8[$4+2>>0]<<16)|(HEAPU8[$4+3>>0]<<24);
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAPU8[$7>>0]|(HEAPU8[$7+1>>0]<<8)|(HEAPU8[$7+2>>0]<<16)|(HEAPU8[$7+3>>0]<<24);
+ $9 = (_GNUNET_ntohll($5,$8)|0);
+ $10 = tempRet0;
+ $11 = $0;
+ $12 = $11;
+ $13 = $12;
+ HEAP32[$13>>2] = $9;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = $10;
+ $16 = $1;
+ $17 = ((($16)) + 8|0);
+ $18 = HEAPU8[$17>>0]|(HEAPU8[$17+1>>0]<<8)|(HEAPU8[$17+2>>0]<<16)|(HEAPU8[$17+3>>0]<<24);
+ $19 = (_ntohl($18)|0);
+ $20 = $0;
+ $21 = ((($20)) + 8|0);
+ HEAP32[$21>>2] = $19;
+ $22 = $0;
+ $23 = ((($22)) + 12|0);
+ $24 = $1;
+ $25 = ((($24)) + 12|0);
+ dest=$23; src=$25; stop=dest+12|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ STACKTOP = sp;return;
+}
+function _TALER_amount_get_zero($cur,$denom) {
+ $cur = $cur|0;
+ $denom = $denom|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $slen = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $cur;
+ $2 = $denom;
+ $3 = $1;
+ $4 = (_strlen($3)|0);
+ $slen = $4;
+ $5 = $slen;
+ $6 = ($5>>>0)>=(12);
+ if ($6) {
+ $0 = -1;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ } else {
+ $7 = $2;
+ ;HEAP32[$7>>2]=0|0;HEAP32[$7+4>>2]=0|0;HEAP32[$7+8>>2]=0|0;HEAP32[$7+12>>2]=0|0;HEAP32[$7+16>>2]=0|0;HEAP32[$7+20>>2]=0|0;
+ $8 = $2;
+ $9 = ((($8)) + 12|0);
+ $10 = $1;
+ $11 = $slen;
+ _memcpy(($9|0),($10|0),($11|0))|0;
+ $0 = 1;
+ $12 = $0;
+ STACKTOP = sp;return ($12|0);
+ }
+ return (0)|0;
+}
+function _TALER_amount_cmp_currency($a1,$a2) {
+ $a1 = $a1|0;
+ $a2 = $a2|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $a1;
+ $2 = $a2;
+ $3 = $1;
+ $4 = (_test_valid($3)|0);
+ $5 = (0)==($4|0);
+ do {
+ if ($5) {
+ label = 3;
+ } else {
+ $6 = $2;
+ $7 = (_test_valid($6)|0);
+ $8 = (0)==($7|0);
+ if ($8) {
+ label = 3;
+ } else {
+ $9 = $1;
+ $10 = ((($9)) + 12|0);
+ $11 = $2;
+ $12 = ((($11)) + 12|0);
+ $13 = (_strcasecmp($10,$12)|0);
+ $14 = (0)==($13|0);
+ if ($14) {
+ $0 = 1;
+ break;
+ } else {
+ $0 = 0;
+ break;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 3) {
+ $0 = -1;
+ }
+ $15 = $0;
+ STACKTOP = sp;return ($15|0);
+}
+function _test_valid($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ $2 = ((($1)) + 12|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3 << 24 >> 24;
+ $5 = (0)!=($4|0);
+ $6 = $5&1;
+ STACKTOP = sp;return ($6|0);
+}
+function _TALER_amount_cmp($a1,$a2) {
+ $a1 = $a1|0;
+ $a2 = $a2|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0;
+ var $log_line = 0, $log_line1 = 0, $log_line2 = 0, $n1 = 0, $n2 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 64|0;
+ $vararg_buffer2 = sp + 56|0;
+ $vararg_buffer = sp + 48|0;
+ $n1 = sp + 24|0;
+ $n2 = sp;
+ $1 = $a1;
+ $2 = $a2;
+ $3 = $1;
+ $4 = $2;
+ $5 = (_TALER_amount_cmp_currency($3,$4)|0);
+ $6 = (1)==($5|0);
+ if (!($6)) {
+ $log_line = 325;
+ $7 = HEAP32[3926]|0;
+ $8 = ($7|0)==(-1);
+ if ($8) {
+ $9 = $log_line;
+ $10 = (_GNUNET_get_log_call_status(1,0,61589,61598,$9)|0);
+ HEAP32[3926] = $10;
+ }
+ $11 = (_GNUNET_get_log_skip()|0);
+ $12 = ($11|0)>(0);
+ if ($12) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $13 = HEAP32[3926]|0;
+ $14 = ($13|0)!=(0);
+ if (!($14)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 61589;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 325;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $15 = $1;
+ ;HEAP32[$n1>>2]=HEAP32[$15>>2]|0;HEAP32[$n1+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$n1+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$n1+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$n1+16>>2]=HEAP32[$15+16>>2]|0;HEAP32[$n1+20>>2]=HEAP32[$15+20>>2]|0;
+ $16 = $2;
+ ;HEAP32[$n2>>2]=HEAP32[$16>>2]|0;HEAP32[$n2+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$n2+8>>2]=HEAP32[$16+8>>2]|0;HEAP32[$n2+12>>2]=HEAP32[$16+12>>2]|0;HEAP32[$n2+16>>2]=HEAP32[$16+16>>2]|0;HEAP32[$n2+20>>2]=HEAP32[$16+20>>2]|0;
+ $17 = (_TALER_amount_normalize($n1)|0);
+ $18 = (-1)!=($17|0);
+ if (!($18)) {
+ $log_line1 = 329;
+ $19 = HEAP32[3927]|0;
+ $20 = ($19|0)==(-1);
+ if ($20) {
+ $21 = $log_line1;
+ $22 = (_GNUNET_get_log_call_status(1,0,61589,61598,$21)|0);
+ HEAP32[3927] = $22;
+ }
+ $23 = (_GNUNET_get_log_skip()|0);
+ $24 = ($23|0)>(0);
+ if ($24) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $25 = HEAP32[3927]|0;
+ $26 = ($25|0)!=(0);
+ if (!($26)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 61589;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 329;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $27 = (_TALER_amount_normalize($n2)|0);
+ $28 = (-1)!=($27|0);
+ if (!($28)) {
+ $log_line2 = 331;
+ $29 = HEAP32[3928]|0;
+ $30 = ($29|0)==(-1);
+ if ($30) {
+ $31 = $log_line2;
+ $32 = (_GNUNET_get_log_call_status(1,0,61589,61598,$31)|0);
+ HEAP32[3928] = $32;
+ }
+ $33 = (_GNUNET_get_log_skip()|0);
+ $34 = ($33|0)>(0);
+ if ($34) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $35 = HEAP32[3928]|0;
+ $36 = ($35|0)!=(0);
+ if (!($36)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 61589;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 331;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $37 = $n1;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (($37) + 4)|0;
+ $41 = $40;
+ $42 = HEAP32[$41>>2]|0;
+ $43 = $n2;
+ $44 = $43;
+ $45 = HEAP32[$44>>2]|0;
+ $46 = (($43) + 4)|0;
+ $47 = $46;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($39|0)==($45|0);
+ $50 = ($42|0)==($48|0);
+ $51 = $49 & $50;
+ if (!($51)) {
+ $62 = $n1;
+ $63 = $62;
+ $64 = HEAP32[$63>>2]|0;
+ $65 = (($62) + 4)|0;
+ $66 = $65;
+ $67 = HEAP32[$66>>2]|0;
+ $68 = $n2;
+ $69 = $68;
+ $70 = HEAP32[$69>>2]|0;
+ $71 = (($68) + 4)|0;
+ $72 = $71;
+ $73 = HEAP32[$72>>2]|0;
+ $74 = ($67>>>0)<($73>>>0);
+ $75 = ($64>>>0)<($70>>>0);
+ $76 = ($67|0)==($73|0);
+ $77 = $76 & $75;
+ $78 = $74 | $77;
+ if ($78) {
+ $0 = -1;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ } else {
+ $0 = 1;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ }
+ $52 = ((($n1)) + 8|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ((($n2)) + 8|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($53>>>0)<($55>>>0);
+ if ($56) {
+ $0 = -1;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ $57 = ((($n1)) + 8|0);
+ $58 = HEAP32[$57>>2]|0;
+ $59 = ((($n2)) + 8|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ($58>>>0)>($60>>>0);
+ if ($61) {
+ $0 = 1;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ } else {
+ $0 = 0;
+ $79 = $0;
+ STACKTOP = sp;return ($79|0);
+ }
+ return (0)|0;
+}
+function _TALER_amount_normalize($amount) {
+ $amount = $amount|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, $ret = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $1 = $amount;
+ $2 = $1;
+ $3 = (_test_valid($2)|0);
+ $4 = (1)!=($3|0);
+ if ($4) {
+ $0 = -1;
+ $39 = $0;
+ STACKTOP = sp;return ($39|0);
+ }
+ $ret = 0;
+ while(1) {
+ $5 = $1;
+ $6 = $5;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = (($6) + 4)|0;
+ $10 = $9;
+ $11 = HEAP32[$10>>2]|0;
+ $12 = ($8|0)!=(-1);
+ $13 = ($11|0)!=(-1);
+ $14 = $12 | $13;
+ if ($14) {
+ $15 = $1;
+ $16 = ((($15)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ($17>>>0)>=(1000000);
+ $40 = $18;
+ } else {
+ $40 = 0;
+ }
+ $19 = $1;
+ $20 = ((($19)) + 8|0);
+ $21 = HEAP32[$20>>2]|0;
+ if (!($40)) {
+ break;
+ }
+ $22 = (($21) - 1000000)|0;
+ HEAP32[$20>>2] = $22;
+ $23 = $1;
+ $24 = $23;
+ $25 = $24;
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (($24) + 4)|0;
+ $28 = $27;
+ $29 = HEAP32[$28>>2]|0;
+ $30 = (_i64Add(($26|0),($29|0),1,0)|0);
+ $31 = tempRet0;
+ $32 = $23;
+ $33 = $32;
+ HEAP32[$33>>2] = $30;
+ $34 = (($32) + 4)|0;
+ $35 = $34;
+ HEAP32[$35>>2] = $31;
+ $ret = 1;
+ }
+ $36 = ($21>>>0)>=(1000000);
+ if ($36) {
+ $37 = $1;
+ _invalidate($37);
+ $0 = -1;
+ $39 = $0;
+ STACKTOP = sp;return ($39|0);
+ } else {
+ $38 = $ret;
+ $0 = $38;
+ $39 = $0;
+ STACKTOP = sp;return ($39|0);
+ }
+ return (0)|0;
+}
+function _invalidate($a) {
+ $a = $a|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $0 = $a;
+ $1 = $0;
+ ;HEAP32[$1>>2]=0|0;HEAP32[$1+4>>2]=0|0;HEAP32[$1+8>>2]=0|0;HEAP32[$1+12>>2]=0|0;HEAP32[$1+16>>2]=0|0;HEAP32[$1+20>>2]=0|0;
+ STACKTOP = sp;return;
+}
+function _TALER_amount_subtract($diff,$a1,$a2) {
+ $diff = $diff|0;
+ $a1 = $a1|0;
+ $a2 = $a2|0;
+ var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
+ var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
+ var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
+ var $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $log_line = 0, $log_line1 = 0, $log_line2 = 0, $n1 = 0, $n2 = 0;
+ var $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 64|0;
+ $vararg_buffer2 = sp + 56|0;
+ $vararg_buffer = sp + 48|0;
+ $n1 = sp + 24|0;
+ $n2 = sp;
+ $1 = $diff;
+ $2 = $a1;
+ $3 = $a2;
+ $4 = $2;
+ $5 = $3;
+ $6 = (_TALER_amount_cmp_currency($4,$5)|0);
+ $7 = (1)!=($6|0);
+ if ($7) {
+ $8 = $1;
+ _invalidate($8);
+ $0 = -1;
+ $154 = $0;
+ STACKTOP = sp;return ($154|0);
+ }
+ $9 = $2;
+ ;HEAP32[$n1>>2]=HEAP32[$9>>2]|0;HEAP32[$n1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$n1+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$n1+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$n1+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$n1+20>>2]=HEAP32[$9+20>>2]|0;
+ $10 = $3;
+ ;HEAP32[$n2>>2]=HEAP32[$10>>2]|0;HEAP32[$n2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$n2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$n2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$n2+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$n2+20>>2]=HEAP32[$10+20>>2]|0;
+ $11 = (_TALER_amount_normalize($n1)|0);
+ $12 = (-1)==($11|0);
+ if (!($12)) {
+ $13 = (_TALER_amount_normalize($n2)|0);
+ $14 = (-1)==($13|0);
+ if (!($14)) {
+ $16 = ((($n1)) + 8|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ((($n2)) + 8|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($17>>>0)<($19>>>0);
+ do {
+ if ($20) {
+ $21 = $n1;
+ $22 = $21;
+ $23 = HEAP32[$22>>2]|0;
+ $24 = (($21) + 4)|0;
+ $25 = $24;
+ $26 = HEAP32[$25>>2]|0;
+ $27 = (0)==($23|0);
+ $28 = (0)==($26|0);
+ $29 = $27 & $28;
+ if (!($29)) {
+ $31 = ((($n1)) + 8|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($32) + 1000000)|0;
+ HEAP32[$31>>2] = $33;
+ $34 = $n1;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (_i64Add(($36|0),($39|0),-1,-1)|0);
+ $41 = tempRet0;
+ $42 = $n1;
+ $43 = $42;
+ HEAP32[$43>>2] = $40;
+ $44 = (($42) + 4)|0;
+ $45 = $44;
+ HEAP32[$45>>2] = $41;
+ break;
+ }
+ $30 = $1;
+ _invalidate($30);
+ $0 = -1;
+ $154 = $0;
+ STACKTOP = sp;return ($154|0);
+ }
+ } while(0);
+ $46 = $n1;
+ $47 = $46;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (($46) + 4)|0;
+ $50 = $49;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $n2;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($52) + 4)|0;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($51>>>0)<($57>>>0);
+ $59 = ($48>>>0)<($54>>>0);
+ $60 = ($51|0)==($57|0);
+ $61 = $60 & $59;
+ $62 = $58 | $61;
+ if ($62) {
+ $63 = $1;
+ _invalidate($63);
+ $0 = -1;
+ $154 = $0;
+ STACKTOP = sp;return ($154|0);
+ }
+ $64 = ((($n1)) + 12|0);
+ $65 = $1;
+ $66 = (_TALER_amount_get_zero($64,$65)|0);
+ $67 = (1)==($66|0);
+ if (!($67)) {
+ $log_line = 397;
+ $68 = HEAP32[3929]|0;
+ $69 = ($68|0)==(-1);
+ if ($69) {
+ $70 = $log_line;
+ $71 = (_GNUNET_get_log_call_status(1,0,61589,61643,$70)|0);
+ HEAP32[3929] = $71;
+ }
+ $72 = (_GNUNET_get_log_skip()|0);
+ $73 = ($72|0)>(0);
+ if ($73) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $74 = HEAP32[3929]|0;
+ $75 = ($74|0)!=(0);
+ if (!($75)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 61589;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 397;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $76 = ((($n1)) + 8|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ((($n2)) + 8|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($77>>>0)>=($79>>>0);
+ if (!($80)) {
+ $log_line1 = 398;
+ $81 = HEAP32[3930]|0;
+ $82 = ($81|0)==(-1);
+ if ($82) {
+ $83 = $log_line1;
+ $84 = (_GNUNET_get_log_call_status(1,0,61589,61643,$83)|0);
+ HEAP32[3930] = $84;
+ }
+ $85 = (_GNUNET_get_log_skip()|0);
+ $86 = ($85|0)>(0);
+ if ($86) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $87 = HEAP32[3930]|0;
+ $88 = ($87|0)!=(0);
+ if (!($88)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer2>>2] = 61589;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 398;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer2);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $89 = ((($n1)) + 8|0);
+ $90 = HEAP32[$89>>2]|0;
+ $91 = ((($n2)) + 8|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = (($90) - ($92))|0;
+ $94 = $1;
+ $95 = ((($94)) + 8|0);
+ HEAP32[$95>>2] = $93;
+ $96 = $n1;
+ $97 = $96;
+ $98 = HEAP32[$97>>2]|0;
+ $99 = (($96) + 4)|0;
+ $100 = $99;
+ $101 = HEAP32[$100>>2]|0;
+ $102 = $n2;
+ $103 = $102;
+ $104 = HEAP32[$103>>2]|0;
+ $105 = (($102) + 4)|0;
+ $106 = $105;
+ $107 = HEAP32[$106>>2]|0;
+ $108 = ($101>>>0)>($107>>>0);
+ $109 = ($98>>>0)>=($104>>>0);
+ $110 = ($101|0)==($107|0);
+ $111 = $110 & $109;
+ $112 = $108 | $111;
+ if ($112) {
+ $121 = $n1;
+ $122 = $121;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (($121) + 4)|0;
+ $125 = $124;
+ $126 = HEAP32[$125>>2]|0;
+ $127 = $n2;
+ $128 = $127;
+ $129 = HEAP32[$128>>2]|0;
+ $130 = (($127) + 4)|0;
+ $131 = $130;
+ $132 = HEAP32[$131>>2]|0;
+ $133 = (_i64Subtract(($123|0),($126|0),($129|0),($132|0))|0);
+ $134 = tempRet0;
+ $135 = $1;
+ $136 = $135;
+ $137 = $136;
+ HEAP32[$137>>2] = $133;
+ $138 = (($136) + 4)|0;
+ $139 = $138;
+ HEAP32[$139>>2] = $134;
+ $140 = $1;
+ $141 = ((($140)) + 8|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = (0)==($142|0);
+ if ($143) {
+ $144 = $1;
+ $145 = $144;
+ $146 = $145;
+ $147 = HEAP32[$146>>2]|0;
+ $148 = (($145) + 4)|0;
+ $149 = $148;
+ $150 = HEAP32[$149>>2]|0;
+ $151 = (0)==($147|0);
+ $152 = (0)==($150|0);
+ $153 = $151 & $152;
+ if ($153) {
+ $0 = 0;
+ $154 = $0;
+ STACKTOP = sp;return ($154|0);
+ }
+ }
+ $0 = 1;
+ $154 = $0;
+ STACKTOP = sp;return ($154|0);
+ }
+ $log_line2 = 400;
+ $113 = HEAP32[3931]|0;
+ $114 = ($113|0)==(-1);
+ if ($114) {
+ $115 = $log_line2;
+ $116 = (_GNUNET_get_log_call_status(1,0,61589,61643,$115)|0);
+ HEAP32[3931] = $116;
+ }
+ $117 = (_GNUNET_get_log_skip()|0);
+ $118 = ($117|0)>(0);
+ if ($118) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $119 = HEAP32[3931]|0;
+ $120 = ($119|0)!=(0);
+ if (!($120)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer6>>2] = 61589;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = 400;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer6);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+ $15 = $1;
+ _invalidate($15);
+ $0 = -1;
+ $154 = $0;
+ STACKTOP = sp;return ($154|0);
+}
+function _TALER_amount_add($sum,$a1,$a2) {
+ $sum = $sum|0;
+ $a1 = $a1|0;
+ $a2 = $a2|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
+ var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
+ var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $log_line = 0, $n1 = 0, $n2 = 0, $res = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp + 72|0;
+ $n1 = sp + 48|0;
+ $n2 = sp + 24|0;
+ $res = sp;
+ $1 = $sum;
+ $2 = $a1;
+ $3 = $a2;
+ $4 = $2;
+ $5 = $3;
+ $6 = (_TALER_amount_cmp_currency($4,$5)|0);
+ $7 = (1)!=($6|0);
+ if ($7) {
+ $8 = $1;
+ _invalidate($8);
+ $0 = -1;
+ $73 = $0;
+ STACKTOP = sp;return ($73|0);
+ }
+ $9 = $2;
+ ;HEAP32[$n1>>2]=HEAP32[$9>>2]|0;HEAP32[$n1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$n1+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$n1+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$n1+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$n1+20>>2]=HEAP32[$9+20>>2]|0;
+ $10 = $3;
+ ;HEAP32[$n2>>2]=HEAP32[$10>>2]|0;HEAP32[$n2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$n2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$n2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$n2+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$n2+20>>2]=HEAP32[$10+20>>2]|0;
+ $11 = (_TALER_amount_normalize($n1)|0);
+ $12 = (-1)==($11|0);
+ if (!($12)) {
+ $13 = (_TALER_amount_normalize($n2)|0);
+ $14 = (-1)==($13|0);
+ if (!($14)) {
+ $16 = $2;
+ $17 = ((($16)) + 12|0);
+ $18 = (_TALER_amount_get_zero($17,$res)|0);
+ $19 = (1)==($18|0);
+ if ($19) {
+ $28 = $n1;
+ $29 = $28;
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($28) + 4)|0;
+ $32 = $31;
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $n2;
+ $35 = $34;
+ $36 = HEAP32[$35>>2]|0;
+ $37 = (($34) + 4)|0;
+ $38 = $37;
+ $39 = HEAP32[$38>>2]|0;
+ $40 = (_i64Add(($30|0),($33|0),($36|0),($39|0))|0);
+ $41 = tempRet0;
+ $42 = $res;
+ $43 = $42;
+ HEAP32[$43>>2] = $40;
+ $44 = (($42) + 4)|0;
+ $45 = $44;
+ HEAP32[$45>>2] = $41;
+ $46 = $res;
+ $47 = $46;
+ $48 = HEAP32[$47>>2]|0;
+ $49 = (($46) + 4)|0;
+ $50 = $49;
+ $51 = HEAP32[$50>>2]|0;
+ $52 = $n1;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ $55 = (($52) + 4)|0;
+ $56 = $55;
+ $57 = HEAP32[$56>>2]|0;
+ $58 = ($51>>>0)<($57>>>0);
+ $59 = ($48>>>0)<($54>>>0);
+ $60 = ($51|0)==($57|0);
+ $61 = $60 & $59;
+ $62 = $58 | $61;
+ if ($62) {
+ $63 = $1;
+ _invalidate($63);
+ $0 = -1;
+ $73 = $0;
+ STACKTOP = sp;return ($73|0);
+ }
+ $64 = ((($n1)) + 8|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ((($n2)) + 8|0);
+ $67 = HEAP32[$66>>2]|0;
+ $68 = (($65) + ($67))|0;
+ $69 = ((($res)) + 8|0);
+ HEAP32[$69>>2] = $68;
+ $70 = (_TALER_amount_normalize($res)|0);
+ $71 = (-1)==($70|0);
+ $72 = $1;
+ if ($71) {
+ _invalidate($72);
+ $0 = -1;
+ $73 = $0;
+ STACKTOP = sp;return ($73|0);
+ } else {
+ ;HEAP32[$72>>2]=HEAP32[$res>>2]|0;HEAP32[$72+4>>2]=HEAP32[$res+4>>2]|0;HEAP32[$72+8>>2]=HEAP32[$res+8>>2]|0;HEAP32[$72+12>>2]=HEAP32[$res+12>>2]|0;HEAP32[$72+16>>2]=HEAP32[$res+16>>2]|0;HEAP32[$72+20>>2]=HEAP32[$res+20>>2]|0;
+ $0 = 1;
+ $73 = $0;
+ STACKTOP = sp;return ($73|0);
+ }
+ }
+ $log_line = 444;
+ $20 = HEAP32[3932]|0;
+ $21 = ($20|0)==(-1);
+ if ($21) {
+ $22 = $log_line;
+ $23 = (_GNUNET_get_log_call_status(1,0,61589,61665,$22)|0);
+ HEAP32[3932] = $23;
+ }
+ $24 = (_GNUNET_get_log_skip()|0);
+ $25 = ($24|0)>(0);
+ if ($25) {
+ _GNUNET_log_skip(-1,0);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ $26 = HEAP32[3932]|0;
+ $27 = ($26|0)!=(0);
+ if (!($27)) {
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ HEAP32[$vararg_buffer>>2] = 61589;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 444;
+ _GNUNET_log_nocheck(1,61615,$vararg_buffer);
+ _GNUNET_abort_();
+ // unreachable;
+ }
+ }
+ $15 = $1;
+ _invalidate($15);
+ $0 = -1;
+ $73 = $0;
+ STACKTOP = sp;return ($73|0);
+}
+function ___stdio_close($f) {
+ $f = $f|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = ((($f)) + 60|0);
+ $1 = HEAP32[$0>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $1;
+ $2 = (___syscall6(6,($vararg_buffer|0))|0);
+ $3 = (___syscall_ret($2)|0);
+ STACKTOP = sp;return ($3|0);
+}
+function ___syscall_ret($r) {
+ $r = $r|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($r>>>0)>(4294963200);
+ if ($0) {
+ $1 = (0 - ($r))|0;
+ $2 = (___errno_location()|0);
+ HEAP32[$2>>2] = $1;
+ $$0 = -1;
+ } else {
+ $$0 = $r;
+ }
+ return ($$0|0);
+}
+function ___errno_location() {
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[17780]|0;
+ $1 = ($0|0)==(0|0);
+ if ($1) {
+ $$0 = 71164;
+ } else {
+ $2 = (_pthread_self()|0);
+ $3 = ((($2)) + 64|0);
+ $4 = HEAP32[$3>>2]|0;
+ $$0 = $4;
+ }
+ return ($$0|0);
+}
+function ___stdout_write($f,$buf,$len) {
+ $f = $f|0;
+ $buf = $buf|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tio = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $tio = sp + 12|0;
+ $0 = ((($f)) + 36|0);
+ HEAP32[$0>>2] = 52;
+ $1 = HEAP32[$f>>2]|0;
+ $2 = $1 & 64;
+ $3 = ($2|0)==(0);
+ if ($3) {
+ $4 = ((($f)) + 60|0);
+ $5 = HEAP32[$4>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $5;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 21505;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $tio;
+ $6 = (___syscall54(54,($vararg_buffer|0))|0);
+ $7 = ($6|0)==(0);
+ if (!($7)) {
+ $8 = ((($f)) + 75|0);
+ HEAP8[$8>>0] = -1;
+ }
+ }
+ $9 = (___stdio_write($f,$buf,$len)|0);
+ STACKTOP = sp;return ($9|0);
+}
+function ___stdio_write($f,$buf,$len) {
+ $f = $f|0;
+ $buf = $buf|0;
+ $len = $len|0;
+ var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
+ var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
+ var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt$0 = 0, $cnt$1 = 0, $iov$0 = 0, $iov$0$lcssa11 = 0, $iov$1 = 0, $iovcnt$0 = 0, $iovcnt$0$lcssa12 = 0;
+ var $iovcnt$1 = 0, $iovs = 0, $rem$0 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $iovs = sp + 32|0;
+ $0 = ((($f)) + 28|0);
+ $1 = HEAP32[$0>>2]|0;
+ HEAP32[$iovs>>2] = $1;
+ $2 = ((($iovs)) + 4|0);
+ $3 = ((($f)) + 20|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($4) - ($1))|0;
+ HEAP32[$2>>2] = $5;
+ $6 = ((($iovs)) + 8|0);
+ HEAP32[$6>>2] = $buf;
+ $7 = ((($iovs)) + 12|0);
+ HEAP32[$7>>2] = $len;
+ $8 = (($5) + ($len))|0;
+ $9 = ((($f)) + 60|0);
+ $10 = ((($f)) + 44|0);
+ $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $8;
+ while(1) {
+ $11 = HEAP32[17780]|0;
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $16 = HEAP32[$9>>2]|0;
+ HEAP32[$vararg_buffer3>>2] = $16;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $iov$0;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = $iovcnt$0;
+ $17 = (___syscall146(146,($vararg_buffer3|0))|0);
+ $18 = (___syscall_ret($17)|0);
+ $cnt$0 = $18;
+ } else {
+ _pthread_cleanup_push((85|0),($f|0));
+ $13 = HEAP32[$9>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $13;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $iov$0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $iovcnt$0;
+ $14 = (___syscall146(146,($vararg_buffer|0))|0);
+ $15 = (___syscall_ret($14)|0);
+ _pthread_cleanup_pop(0);
+ $cnt$0 = $15;
+ }
+ $19 = ($rem$0|0)==($cnt$0|0);
+ if ($19) {
+ label = 6;
+ break;
+ }
+ $26 = ($cnt$0|0)<(0);
+ if ($26) {
+ $iov$0$lcssa11 = $iov$0;$iovcnt$0$lcssa12 = $iovcnt$0;
+ label = 8;
+ break;
+ }
+ $34 = (($rem$0) - ($cnt$0))|0;
+ $35 = ((($iov$0)) + 4|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($cnt$0>>>0)>($36>>>0);
+ if ($37) {
+ $38 = HEAP32[$10>>2]|0;
+ HEAP32[$0>>2] = $38;
+ HEAP32[$3>>2] = $38;
+ $39 = (($cnt$0) - ($36))|0;
+ $40 = ((($iov$0)) + 8|0);
+ $41 = (($iovcnt$0) + -1)|0;
+ $$phi$trans$insert = ((($iov$0)) + 12|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $49 = $$pre;$cnt$1 = $39;$iov$1 = $40;$iovcnt$1 = $41;
+ } else {
+ $42 = ($iovcnt$0|0)==(2);
+ if ($42) {
+ $43 = HEAP32[$0>>2]|0;
+ $44 = (($43) + ($cnt$0)|0);
+ HEAP32[$0>>2] = $44;
+ $49 = $36;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = 2;
+ } else {
+ $49 = $36;$cnt$1 = $cnt$0;$iov$1 = $iov$0;$iovcnt$1 = $iovcnt$0;
+ }
+ }
+ $45 = HEAP32[$iov$1>>2]|0;
+ $46 = (($45) + ($cnt$1)|0);
+ HEAP32[$iov$1>>2] = $46;
+ $47 = ((($iov$1)) + 4|0);
+ $48 = (($49) - ($cnt$1))|0;
+ HEAP32[$47>>2] = $48;
+ $iov$0 = $iov$1;$iovcnt$0 = $iovcnt$1;$rem$0 = $34;
+ }
+ if ((label|0) == 6) {
+ $20 = HEAP32[$10>>2]|0;
+ $21 = ((($f)) + 48|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = (($20) + ($22)|0);
+ $24 = ((($f)) + 16|0);
+ HEAP32[$24>>2] = $23;
+ $25 = $20;
+ HEAP32[$0>>2] = $25;
+ HEAP32[$3>>2] = $25;
+ $$0 = $len;
+ }
+ else if ((label|0) == 8) {
+ $27 = ((($f)) + 16|0);
+ HEAP32[$27>>2] = 0;
+ HEAP32[$0>>2] = 0;
+ HEAP32[$3>>2] = 0;
+ $28 = HEAP32[$f>>2]|0;
+ $29 = $28 | 32;
+ HEAP32[$f>>2] = $29;
+ $30 = ($iovcnt$0$lcssa12|0)==(2);
+ if ($30) {
+ $$0 = 0;
+ } else {
+ $31 = ((($iov$0$lcssa11)) + 4|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = (($len) - ($32))|0;
+ $$0 = $33;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _cleanup_92($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($p)) + 68|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ ___unlockfile($p);
+ }
+ return;
+}
+function ___unlockfile($f) {
+ $f = $f|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function ___stdio_seek($f,$off,$whence) {
+ $f = $f|0;
+ $off = $off|0;
+ $whence = $whence|0;
+ var $$pre = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $ret = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $ret = sp + 20|0;
+ $0 = ((($f)) + 60|0);
+ $1 = HEAP32[$0>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $1;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $off;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $ret;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $whence;
+ $2 = (___syscall140(140,($vararg_buffer|0))|0);
+ $3 = (___syscall_ret($2)|0);
+ $4 = ($3|0)<(0);
+ if ($4) {
+ HEAP32[$ret>>2] = -1;
+ $5 = -1;
+ } else {
+ $$pre = HEAP32[$ret>>2]|0;
+ $5 = $$pre;
+ }
+ STACKTOP = sp;return ($5|0);
+}
+function ___stdio_read($f,$buf,$len) {
+ $f = $f|0;
+ $buf = $buf|0;
+ $len = $len|0;
+ var $$0 = 0, $$cast = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $cnt$0 = 0, $iov = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $iov = sp + 32|0;
+ HEAP32[$iov>>2] = $buf;
+ $0 = ((($iov)) + 4|0);
+ $1 = ((($f)) + 48|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)!=(0);
+ $4 = $3&1;
+ $5 = (($len) - ($4))|0;
+ HEAP32[$0>>2] = $5;
+ $6 = ((($iov)) + 8|0);
+ $7 = ((($f)) + 44|0);
+ $8 = HEAP32[$7>>2]|0;
+ HEAP32[$6>>2] = $8;
+ $9 = ((($iov)) + 12|0);
+ HEAP32[$9>>2] = $2;
+ $10 = HEAP32[17780]|0;
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $16 = ((($f)) + 60|0);
+ $17 = HEAP32[$16>>2]|0;
+ HEAP32[$vararg_buffer3>>2] = $17;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = $iov;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = 2;
+ $18 = (___syscall145(145,($vararg_buffer3|0))|0);
+ $19 = (___syscall_ret($18)|0);
+ $cnt$0 = $19;
+ } else {
+ _pthread_cleanup_push((86|0),($f|0));
+ $12 = ((($f)) + 60|0);
+ $13 = HEAP32[$12>>2]|0;
+ HEAP32[$vararg_buffer>>2] = $13;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $iov;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 2;
+ $14 = (___syscall145(145,($vararg_buffer|0))|0);
+ $15 = (___syscall_ret($14)|0);
+ _pthread_cleanup_pop(0);
+ $cnt$0 = $15;
+ }
+ $20 = ($cnt$0|0)<(1);
+ if ($20) {
+ $21 = $cnt$0 & 48;
+ $22 = $21 ^ 16;
+ $23 = HEAP32[$f>>2]|0;
+ $24 = $23 | $22;
+ HEAP32[$f>>2] = $24;
+ $25 = ((($f)) + 8|0);
+ HEAP32[$25>>2] = 0;
+ $26 = ((($f)) + 4|0);
+ HEAP32[$26>>2] = 0;
+ $$0 = $cnt$0;
+ } else {
+ $27 = HEAP32[$0>>2]|0;
+ $28 = ($cnt$0>>>0)>($27>>>0);
+ if ($28) {
+ $29 = (($cnt$0) - ($27))|0;
+ $30 = HEAP32[$7>>2]|0;
+ $31 = ((($f)) + 4|0);
+ HEAP32[$31>>2] = $30;
+ $$cast = $30;
+ $32 = (($$cast) + ($29)|0);
+ $33 = ((($f)) + 8|0);
+ HEAP32[$33>>2] = $32;
+ $34 = HEAP32[$1>>2]|0;
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $$0 = $len;
+ } else {
+ $36 = ((($$cast)) + 1|0);
+ HEAP32[$31>>2] = $36;
+ $37 = HEAP8[$$cast>>0]|0;
+ $38 = (($len) + -1)|0;
+ $39 = (($buf) + ($38)|0);
+ HEAP8[$39>>0] = $37;
+ $$0 = $len;
+ }
+ } else {
+ $$0 = $cnt$0;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _cleanup_115($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($p)) + 68|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ ___unlockfile($p);
+ }
+ return;
+}
+function _iswblank($wc) {
+ $wc = $wc|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_isblank($wc)|0);
+ return ($0|0);
+}
+function _isblank($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($c|0)==(32);
+ $1 = ($c|0)==(9);
+ $2 = $0 | $1;
+ $3 = $2&1;
+ return ($3|0);
+}
+function _strcmp($l,$r) {
+ $l = $l|0;
+ $r = $r|0;
+ var $$014 = 0, $$05 = 0, $$lcssa = 0, $$lcssa2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP8[$l>>0]|0;
+ $1 = HEAP8[$r>>0]|0;
+ $2 = ($0<<24>>24)!=($1<<24>>24);
+ $3 = ($0<<24>>24)==(0);
+ $or$cond3 = $3 | $2;
+ if ($or$cond3) {
+ $$lcssa = $0;$$lcssa2 = $1;
+ } else {
+ $$014 = $l;$$05 = $r;
+ while(1) {
+ $4 = ((($$014)) + 1|0);
+ $5 = ((($$05)) + 1|0);
+ $6 = HEAP8[$4>>0]|0;
+ $7 = HEAP8[$5>>0]|0;
+ $8 = ($6<<24>>24)!=($7<<24>>24);
+ $9 = ($6<<24>>24)==(0);
+ $or$cond = $9 | $8;
+ if ($or$cond) {
+ $$lcssa = $6;$$lcssa2 = $7;
+ break;
+ } else {
+ $$014 = $4;$$05 = $5;
+ }
+ }
+ }
+ $10 = $$lcssa&255;
+ $11 = $$lcssa2&255;
+ $12 = (($10) - ($11))|0;
+ return ($12|0);
+}
+function _tolower($c) {
+ $c = $c|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_isupper($c)|0);
+ $1 = ($0|0)==(0);
+ $2 = $c | 32;
+ $$0 = $1 ? $c : $2;
+ return ($$0|0);
+}
+function _isupper($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($c) + -65)|0;
+ $1 = ($0>>>0)<(26);
+ $2 = $1&1;
+ return ($2|0);
+}
+function _towupper($wc) {
+ $wc = $wc|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (___towcase($wc,0)|0);
+ return ($0|0);
+}
+function ___towcase($wc,$lower) {
+ $wc = $wc|0;
+ $lower = $lower|0;
+ var $$2 = 0, $$lcssa = 0, $$lcssa53 = 0, $$neg20 = 0, $$neg20$lcssa = 0, $$neg22 = 0, $$neg23 = 0, $$not = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
+ var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
+ var $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$029 = 0, $i$128 = 0, $i$128$lcssa = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $lower << 1;
+ $1 = (($0) + -1)|0;
+ $2 = (($lower) + -1)|0;
+ $3 = (_iswalpha($wc)|0);
+ $4 = ($3|0)==(0);
+ $5 = (($wc) + -1536)|0;
+ $6 = ($5>>>0)<(2560);
+ $or$cond10 = $6 | $4;
+ $7 = (($wc) + -11776)|0;
+ $8 = ($7>>>0)<(30784);
+ $or$cond12 = $8 | $or$cond10;
+ $9 = (($wc) + -43008)|0;
+ $10 = ($9>>>0)<(22272);
+ $or$cond14 = $10 | $or$cond12;
+ L1: do {
+ if ($or$cond14) {
+ $$2 = $wc;
+ } else {
+ $11 = ($lower|0)!=(0);
+ $12 = (($wc) + -4256)|0;
+ $13 = ($12>>>0)<(46);
+ $or$cond16 = $11 & $13;
+ if ($or$cond16) {
+ $14 = ($wc|0)>(4293);
+ if ($14) {
+ switch ($wc|0) {
+ case 4295: case 4301: {
+ break;
+ }
+ default: {
+ $$2 = $wc;
+ break L1;
+ }
+ }
+ }
+ $15 = (($wc) + 7264)|0;
+ $$2 = $15;
+ break;
+ }
+ $$not = $11 ^ 1;
+ $16 = (($wc) + -11520)|0;
+ $17 = ($16>>>0)<(38);
+ $or$cond = $17 & $$not;
+ if ($or$cond) {
+ $18 = ($wc|0)>(11557);
+ if ($18) {
+ switch ($wc|0) {
+ case 11559: case 11565: {
+ break;
+ }
+ default: {
+ $$2 = $wc;
+ break L1;
+ }
+ }
+ }
+ $19 = (($wc) + -7264)|0;
+ $$2 = $19;
+ break;
+ } else {
+ $i$029 = 0;
+ }
+ while(1) {
+ $26 = (((18854 + ($i$029<<2)|0)) + 3|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = (18854 + ($i$029<<2)|0);
+ $29 = HEAP16[$28>>1]|0;
+ $30 = $29&65535;
+ $31 = (((18854 + ($i$029<<2)|0)) + 2|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32 << 24 >> 24;
+ $34 = $33 & $2;
+ $$neg20 = (($wc) - ($30))|0;
+ $35 = (($$neg20) - ($34))|0;
+ $36 = $27&255;
+ $37 = ($35>>>0)<($36>>>0);
+ $20 = (($i$029) + 1)|0;
+ if ($37) {
+ $$lcssa = $32;$$lcssa53 = $33;$$neg20$lcssa = $$neg20;
+ label = 13;
+ break;
+ }
+ $21 = ($20|0)==(61);
+ if ($21) {
+ break;
+ } else {
+ $i$029 = $20;
+ }
+ }
+ if ((label|0) == 13) {
+ $38 = ($$lcssa<<24>>24)==(1);
+ if ($38) {
+ $39 = (($lower) + ($wc))|0;
+ $40 = $$neg20$lcssa & 1;
+ $41 = (($39) - ($40))|0;
+ $$2 = $41;
+ break;
+ } else {
+ $42 = Math_imul($$lcssa53, $1)|0;
+ $43 = (($42) + ($wc))|0;
+ $$2 = $43;
+ break;
+ }
+ }
+ $22 = (1 - ($lower))|0;
+ $23 = (18362 + ($22<<1)|0);
+ $24 = HEAP16[$23>>1]|0;
+ $25 = ($24<<16>>16)==(0);
+ L23: do {
+ if (!($25)) {
+ $45 = $24;$i$128 = 0;
+ while(1) {
+ $44 = $45&65535;
+ $46 = ($44|0)==($wc|0);
+ if ($46) {
+ $i$128$lcssa = $i$128;
+ break;
+ }
+ $50 = (($i$128) + 1)|0;
+ $51 = ((18362 + ($50<<2)|0) + ($22<<1)|0);
+ $52 = HEAP16[$51>>1]|0;
+ $53 = ($52<<16>>16)==(0);
+ if ($53) {
+ break L23;
+ } else {
+ $45 = $52;$i$128 = $50;
+ }
+ }
+ $47 = ((18362 + ($i$128$lcssa<<2)|0) + ($lower<<1)|0);
+ $48 = HEAP16[$47>>1]|0;
+ $49 = $48&65535;
+ $$2 = $49;
+ break L1;
+ }
+ } while(0);
+ $$neg22 = ($lower*40)|0;
+ $$neg23 = (($wc) + -66600)|0;
+ $54 = (($$neg23) + ($$neg22))|0;
+ $55 = ($54>>>0)<(40);
+ if ($55) {
+ $56 = (($wc) + -40)|0;
+ $57 = ($lower*80)|0;
+ $58 = (($56) + ($57))|0;
+ $$2 = $58;
+ } else {
+ $$2 = $wc;
+ }
+ }
+ } while(0);
+ return ($$2|0);
+}
+function _iswalpha($wc) {
+ $wc = $wc|0;
+ var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($wc>>>0)<(131072);
+ if ($0) {
+ $1 = $wc >>> 8;
+ $2 = (61682 + ($1)|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = $4 << 5;
+ $6 = $wc >>> 3;
+ $7 = $6 & 31;
+ $8 = $5 | $7;
+ $9 = (61682 + ($8)|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10&255;
+ $12 = $wc & 7;
+ $13 = $11 >>> $12;
+ $14 = $13 & 1;
+ $$0 = $14;
+ } else {
+ $15 = ($wc>>>0)<(196606);
+ $$ = $15&1;
+ $$0 = $$;
+ }
+ return ($$0|0);
+}
+function _towlower($wc) {
+ $wc = $wc|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (___towcase($wc,1)|0);
+ return ($0|0);
+}
+function _islower($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($c) + -97)|0;
+ $1 = ($0>>>0)<(26);
+ $2 = $1&1;
+ return ($2|0);
+}
+function _strerror($e) {
+ $e = $e|0;
+ var $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$03 = 0, $i$03$lcssa = 0, $i$12 = 0, $s$0$lcssa = 0, $s$01 = 0, $s$1 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $i$03 = 0;
+ while(1) {
+ $1 = (64658 + ($i$03)|0);
+ $2 = HEAP8[$1>>0]|0;
+ $3 = $2&255;
+ $4 = ($3|0)==($e|0);
+ if ($4) {
+ $i$03$lcssa = $i$03;
+ label = 2;
+ break;
+ }
+ $5 = (($i$03) + 1)|0;
+ $6 = ($5|0)==(87);
+ if ($6) {
+ $i$12 = 87;$s$01 = 64746;
+ label = 5;
+ break;
+ } else {
+ $i$03 = $5;
+ }
+ }
+ if ((label|0) == 2) {
+ $0 = ($i$03$lcssa|0)==(0);
+ if ($0) {
+ $s$0$lcssa = 64746;
+ } else {
+ $i$12 = $i$03$lcssa;$s$01 = 64746;
+ label = 5;
+ }
+ }
+ if ((label|0) == 5) {
+ while(1) {
+ label = 0;
+ $s$1 = $s$01;
+ while(1) {
+ $7 = HEAP8[$s$1>>0]|0;
+ $8 = ($7<<24>>24)==(0);
+ $9 = ((($s$1)) + 1|0);
+ if ($8) {
+ $$lcssa = $9;
+ break;
+ } else {
+ $s$1 = $9;
+ }
+ }
+ $10 = (($i$12) + -1)|0;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ $s$0$lcssa = $$lcssa;
+ break;
+ } else {
+ $i$12 = $10;$s$01 = $$lcssa;
+ label = 5;
+ }
+ }
+ }
+ return ($s$0$lcssa|0);
+}
+function _iswspace($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($wc|0)==(0);
+ if ($0) {
+ $4 = 0;
+ } else {
+ $1 = (_wcschr(16172,$wc)|0);
+ $2 = ($1|0)!=(0|0);
+ $4 = $2;
+ }
+ $3 = $4&1;
+ return ($3|0);
+}
+function _wcschr($s,$c) {
+ $s = $s|0;
+ $c = $c|0;
+ var $$0 = 0, $$01 = 0, $$01$lcssa = 0, $$lcssa = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($c|0)==(0);
+ if ($0) {
+ $1 = (_wcslen($s)|0);
+ $2 = (($s) + ($1<<2)|0);
+ $$0 = $2;
+ } else {
+ $$01 = $s;
+ while(1) {
+ $3 = HEAP32[$$01>>2]|0;
+ $4 = ($3|0)==(0);
+ $5 = ($3|0)==($c|0);
+ $or$cond = $4 | $5;
+ $6 = ((($$01)) + 4|0);
+ if ($or$cond) {
+ $$01$lcssa = $$01;$$lcssa = $3;
+ break;
+ } else {
+ $$01 = $6;
+ }
+ }
+ $7 = ($$lcssa|0)!=(0);
+ $8 = $7 ? $$01$lcssa : 0;
+ $$0 = $8;
+ }
+ return ($$0|0);
+}
+function _wcslen($s) {
+ $s = $s|0;
+ var $$0 = 0, $$0$lcssa = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$0 = $s;
+ while(1) {
+ $0 = HEAP32[$$0>>2]|0;
+ $1 = ($0|0)==(0);
+ $2 = ((($$0)) + 4|0);
+ if ($1) {
+ $$0$lcssa = $$0;
+ break;
+ } else {
+ $$0 = $2;
+ }
+ }
+ $3 = $$0$lcssa;
+ $4 = $s;
+ $5 = (($3) - ($4))|0;
+ $6 = $5 >> 2;
+ return ($6|0);
+}
+function _isxdigit($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $isdigit = 0, $isdigittmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $isdigittmp = (($c) + -48)|0;
+ $isdigit = ($isdigittmp>>>0)<(10);
+ if ($isdigit) {
+ $4 = 1;
+ } else {
+ $0 = $c | 32;
+ $1 = (($0) + -97)|0;
+ $2 = ($1>>>0)<(6);
+ $4 = $2;
+ }
+ $3 = $4&1;
+ return ($3|0);
+}
+function _snprintf($s,$n,$fmt,$varargs) {
+ $s = $s|0;
+ $n = $n|0;
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $ap = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ap = sp;
+ HEAP32[$ap>>2] = $varargs;
+ $0 = (_vsnprintf($s,$n,$fmt,$ap)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _vsnprintf($s,$n,$fmt,$ap) {
+ $s = $s|0;
+ $n = $n|0;
+ $fmt = $fmt|0;
+ $ap = $ap|0;
+ var $$$02 = 0, $$0 = 0, $$01 = 0, $$02 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $b = 0, $f = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $b = sp + 112|0;
+ $f = sp;
+ dest=$f; src=16260; stop=dest+112|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
+ $0 = (($n) + -1)|0;
+ $1 = ($0>>>0)>(2147483646);
+ if ($1) {
+ $2 = ($n|0)==(0);
+ if ($2) {
+ $$01 = $b;$$02 = 1;
+ label = 4;
+ } else {
+ $3 = (___errno_location()|0);
+ HEAP32[$3>>2] = 75;
+ $$0 = -1;
+ }
+ } else {
+ $$01 = $s;$$02 = $n;
+ label = 4;
+ }
+ if ((label|0) == 4) {
+ $4 = $$01;
+ $5 = (-2 - ($4))|0;
+ $6 = ($$02>>>0)>($5>>>0);
+ $$$02 = $6 ? $5 : $$02;
+ $7 = ((($f)) + 48|0);
+ HEAP32[$7>>2] = $$$02;
+ $8 = ((($f)) + 20|0);
+ HEAP32[$8>>2] = $$01;
+ $9 = ((($f)) + 44|0);
+ HEAP32[$9>>2] = $$01;
+ $10 = (($$01) + ($$$02)|0);
+ $11 = ((($f)) + 16|0);
+ HEAP32[$11>>2] = $10;
+ $12 = ((($f)) + 28|0);
+ HEAP32[$12>>2] = $10;
+ $13 = (_vfprintf($f,$fmt,$ap)|0);
+ $14 = ($$$02|0)==(0);
+ if ($14) {
+ $$0 = $13;
+ } else {
+ $15 = HEAP32[$8>>2]|0;
+ $16 = HEAP32[$11>>2]|0;
+ $17 = ($15|0)==($16|0);
+ $18 = $17 << 31 >> 31;
+ $19 = (($15) + ($18)|0);
+ HEAP8[$19>>0] = 0;
+ $$0 = $13;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _sn_write($f,$s,$l) {
+ $f = $f|0;
+ $s = $s|0;
+ $l = $l|0;
+ var $$cast = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $l$ = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 16|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ((($f)) + 20|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = (($1) - ($3))|0;
+ $5 = ($4>>>0)>($l>>>0);
+ $l$ = $5 ? $l : $4;
+ $$cast = $3;
+ _memcpy(($$cast|0),($s|0),($l$|0))|0;
+ $6 = HEAP32[$2>>2]|0;
+ $7 = (($6) + ($l$)|0);
+ HEAP32[$2>>2] = $7;
+ return ($l|0);
+}
+function _vfprintf($f,$fmt,$ap) {
+ $f = $f|0;
+ $fmt = $fmt|0;
+ $ap = $ap|0;
+ var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
+ var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap2 = 0, $internal_buf = 0, $nl_arg = 0, $nl_type = 0;
+ var $ret$1 = 0, $ret$1$ = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ap2 = sp + 120|0;
+ $nl_type = sp + 80|0;
+ $nl_arg = sp;
+ $internal_buf = sp + 136|0;
+ dest=$nl_type; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $vacopy_currentptr = HEAP32[$ap>>2]|0;
+ HEAP32[$ap2>>2] = $vacopy_currentptr;
+ $0 = (_printf_core(0,$fmt,$ap2,$nl_arg,$nl_type)|0);
+ $1 = ($0|0)<(0);
+ if ($1) {
+ $$0 = -1;
+ } else {
+ $2 = ((($f)) + 76|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($3|0)>(-1);
+ if ($4) {
+ $5 = (___lockfile($f)|0);
+ $32 = $5;
+ } else {
+ $32 = 0;
+ }
+ $6 = HEAP32[$f>>2]|0;
+ $7 = $6 & 32;
+ $8 = ((($f)) + 74|0);
+ $9 = HEAP8[$8>>0]|0;
+ $10 = ($9<<24>>24)<(1);
+ if ($10) {
+ $11 = $6 & -33;
+ HEAP32[$f>>2] = $11;
+ }
+ $12 = ((($f)) + 48|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $16 = ((($f)) + 44|0);
+ $17 = HEAP32[$16>>2]|0;
+ HEAP32[$16>>2] = $internal_buf;
+ $18 = ((($f)) + 28|0);
+ HEAP32[$18>>2] = $internal_buf;
+ $19 = ((($f)) + 20|0);
+ HEAP32[$19>>2] = $internal_buf;
+ HEAP32[$12>>2] = 80;
+ $20 = ((($internal_buf)) + 80|0);
+ $21 = ((($f)) + 16|0);
+ HEAP32[$21>>2] = $20;
+ $22 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0);
+ $23 = ($17|0)==(0|0);
+ if ($23) {
+ $ret$1 = $22;
+ } else {
+ $24 = ((($f)) + 36|0);
+ $25 = HEAP32[$24>>2]|0;
+ (FUNCTION_TABLE_iiii[$25 & 127]($f,0,0)|0);
+ $26 = HEAP32[$19>>2]|0;
+ $27 = ($26|0)==(0|0);
+ $$ = $27 ? -1 : $22;
+ HEAP32[$16>>2] = $17;
+ HEAP32[$12>>2] = 0;
+ HEAP32[$21>>2] = 0;
+ HEAP32[$18>>2] = 0;
+ HEAP32[$19>>2] = 0;
+ $ret$1 = $$;
+ }
+ } else {
+ $15 = (_printf_core($f,$fmt,$ap2,$nl_arg,$nl_type)|0);
+ $ret$1 = $15;
+ }
+ $28 = HEAP32[$f>>2]|0;
+ $29 = $28 & 32;
+ $30 = ($29|0)==(0);
+ $ret$1$ = $30 ? $ret$1 : -1;
+ $31 = $28 | $7;
+ HEAP32[$f>>2] = $31;
+ $33 = ($32|0)==(0);
+ if (!($33)) {
+ ___unlockfile($f);
+ }
+ $$0 = $ret$1$;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _printf_core($f,$fmt,$ap,$nl_arg,$nl_type) {
+ $f = $f|0;
+ $fmt = $fmt|0;
+ $ap = $ap|0;
+ $nl_arg = $nl_arg|0;
+ $nl_type = $nl_type|0;
+ var $$ = 0, $$$i = 0, $$0 = 0, $$0$i = 0, $$0$lcssa$i = 0, $$012$i = 0, $$013$i = 0, $$03$i33 = 0, $$07$i = 0.0, $$1$i = 0.0, $$114$i = 0, $$2$i = 0.0, $$20$i = 0.0, $$210$$24$i = 0, $$210$$26$i = 0, $$210$i = 0, $$23$i = 0, $$25$i = 0, $$3$i = 0.0, $$311$i = 0;
+ var $$33$i = 0, $$36$i = 0.0, $$4$i = 0.0, $$412$lcssa$i = 0, $$41278$i = 0, $$43 = 0, $$5$lcssa$i = 0, $$589$i = 0, $$a$3$i = 0, $$a$3191$i = 0, $$a$3192$i = 0, $$fl$4 = 0, $$l10n$0 = 0, $$lcssa = 0, $$lcssa162$i = 0, $$lcssa295 = 0, $$lcssa300 = 0, $$lcssa301 = 0, $$lcssa302 = 0, $$lcssa303 = 0;
+ var $$lcssa304 = 0, $$lcssa306 = 0, $$lcssa316 = 0, $$lcssa319 = 0.0, $$lcssa321 = 0, $$neg55$i = 0, $$neg56$i = 0, $$p$$i = 0, $$p$5 = 0, $$p$i = 0, $$pn$i = 0, $$pr$i = 0, $$pr50$i = 0, $$pre = 0, $$pre$i = 0, $$pre$phi190$iZ2D = 0, $$pre170 = 0, $$pre171 = 0, $$pre185$i = 0, $$pre188$i = 0;
+ var $$pre189$i = 0, $$z$3$i = 0, $$z$4$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
+ var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
+ var $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0;
+ var $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0;
+ var $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0;
+ var $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
+ var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
+ var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
+ var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
+ var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
+ var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
+ var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0;
+ var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
+ var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
+ var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0.0, $363 = 0, $364 = 0, $365 = 0;
+ var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0;
+ var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0.0, $391 = 0.0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0;
+ var $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0.0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0.0, $413 = 0.0, $414 = 0.0, $415 = 0.0, $416 = 0, $417 = 0, $418 = 0, $419 = 0;
+ var $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0;
+ var $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0.0, $442 = 0.0, $443 = 0.0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0;
+ var $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0;
+ var $474 = 0.0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0.0, $483 = 0.0, $484 = 0.0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0;
+ var $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0;
+ var $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0;
+ var $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0;
+ var $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0;
+ var $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0;
+ var $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0.0, $594 = 0.0, $595 = 0, $596 = 0.0, $597 = 0, $598 = 0, $599 = 0, $6 = 0;
+ var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0;
+ var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0;
+ var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0;
+ var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0;
+ var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0;
+ var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0;
+ var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0;
+ var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0;
+ var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0;
+ var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0;
+ var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0;
+ var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
+ var $98 = 0, $99 = 0, $a$0 = 0, $a$1 = 0, $a$1$lcssa$i = 0, $a$1149$i = 0, $a$2 = 0, $a$2$ph$i = 0, $a$3$lcssa$i = 0, $a$3136$i = 0, $a$5$lcssa$i = 0, $a$5111$i = 0, $a$6$i = 0, $a$8$i = 0, $a$9$ph$i = 0, $arg = 0, $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0;
+ var $argpos$0 = 0, $big$i = 0, $buf = 0, $buf$i = 0, $carry$0142$i = 0, $carry3$0130$i = 0, $cnt$0 = 0, $cnt$1 = 0, $cnt$1$lcssa = 0, $d$0$i = 0, $d$0141$i = 0, $d$0143$i = 0, $d$1129$i = 0, $d$2$lcssa$i = 0, $d$2110$i = 0, $d$4$i = 0, $d$584$i = 0, $d$677$i = 0, $d$788$i = 0, $e$0125$i = 0;
+ var $e$1$i = 0, $e$2106$i = 0, $e$4$i = 0, $e$5$ph$i = 0, $e2$i = 0, $ebuf0$i = 0, $estr$0$i = 0, $estr$1$lcssa$i = 0, $estr$195$i = 0, $estr$2$i = 0, $exitcond$i = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0;
+ var $expanded8 = 0, $fl$0100 = 0, $fl$053 = 0, $fl$1 = 0, $fl$1$ = 0, $fl$3 = 0, $fl$4 = 0, $fl$6 = 0, $i$0$lcssa = 0, $i$0$lcssa178 = 0, $i$0105 = 0, $i$0124$i = 0, $i$03$i = 0, $i$03$i25 = 0, $i$1$lcssa$i = 0, $i$1116 = 0, $i$1118$i = 0, $i$2105$i = 0, $i$291 = 0, $i$291$lcssa = 0;
+ var $i$3101$i = 0, $i$389 = 0, $isdigit = 0, $isdigit$i = 0, $isdigit$i27 = 0, $isdigit10 = 0, $isdigit12 = 0, $isdigit2$i = 0, $isdigit2$i23 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp$i = 0, $isdigittmp$i26 = 0, $isdigittmp1$i = 0, $isdigittmp1$i22 = 0, $isdigittmp11 = 0, $isdigittmp4$i = 0, $isdigittmp4$i24 = 0, $isdigittmp9 = 0, $j$0$i = 0;
+ var $j$0117$i = 0, $j$0119$i = 0, $j$1102$i = 0, $j$2$i = 0, $l$0 = 0, $l$0$i = 0, $l$1$i = 0, $l$1104 = 0, $l$2 = 0, $l10n$0 = 0, $l10n$0$lcssa = 0, $l10n$0$phi = 0, $l10n$1 = 0, $l10n$2 = 0, $l10n$3 = 0, $mb = 0, $notlhs$i = 0, $notrhs$i = 0, $or$cond = 0, $or$cond$i = 0;
+ var $or$cond122 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond18$i = 0, $or$cond20 = 0, $or$cond22$i = 0, $or$cond3$not$i = 0, $or$cond31$i = 0, $or$cond6$i = 0, $p$0 = 0, $p$0$ = 0, $p$1 = 0, $p$2 = 0, $p$2$ = 0, $p$3 = 0, $p$4176 = 0, $p$5 = 0, $pl$0 = 0, $pl$0$i = 0, $pl$1 = 0;
+ var $pl$1$i = 0, $pl$2 = 0, $prefix$0 = 0, $prefix$0$$i = 0, $prefix$0$i = 0, $prefix$1 = 0, $prefix$2 = 0, $r$0$a$9$i = 0, $re$171$i = 0, $round$070$i = 0.0, $round6$1$i = 0.0, $s$0 = 0, $s$0$i = 0, $s$1 = 0, $s$1$i = 0, $s$1$i$lcssa = 0, $s$2$lcssa = 0, $s$292 = 0, $s$4 = 0, $s$6 = 0;
+ var $s$7 = 0, $s$7$lcssa298 = 0, $s1$0$i = 0, $s7$081$i = 0, $s7$1$i = 0, $s8$0$lcssa$i = 0, $s8$072$i = 0, $s9$0$i = 0, $s9$185$i = 0, $s9$2$i = 0, $scevgep182$i = 0, $scevgep182183$i = 0, $small$0$i = 0.0, $small$1$i = 0.0, $st$0 = 0, $st$0$lcssa299 = 0, $storemerge = 0, $storemerge13 = 0, $storemerge851 = 0, $storemerge899 = 0;
+ var $sum = 0, $t$0 = 0, $t$1 = 0, $w$$i = 0, $w$0 = 0, $w$1 = 0, $w$2 = 0, $w$32$i = 0, $wc = 0, $ws$0106 = 0, $ws$1117 = 0, $z$0$i = 0, $z$0$lcssa = 0, $z$093 = 0, $z$1 = 0, $z$1$lcssa$i = 0, $z$1148$i = 0, $z$2 = 0, $z$2$i = 0, $z$2$i$lcssa = 0;
+ var $z$3$lcssa$i = 0, $z$3135$i = 0, $z$4$i = 0, $z$7$$i = 0, $z$7$i = 0, $z$7$i$lcssa = 0, $z$7$ph$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 624|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $big$i = sp + 24|0;
+ $e2$i = sp + 16|0;
+ $buf$i = sp + 588|0;
+ $ebuf0$i = sp + 576|0;
+ $arg = sp;
+ $buf = sp + 536|0;
+ $wc = sp + 8|0;
+ $mb = sp + 528|0;
+ $0 = ($f|0)!=(0|0);
+ $1 = ((($buf)) + 40|0);
+ $2 = $1;
+ $3 = ((($buf)) + 39|0);
+ $4 = ((($wc)) + 4|0);
+ $5 = $buf$i;
+ $6 = (0 - ($5))|0;
+ $7 = ((($ebuf0$i)) + 12|0);
+ $8 = ((($ebuf0$i)) + 11|0);
+ $9 = $7;
+ $10 = (($9) - ($5))|0;
+ $11 = (-2 - ($5))|0;
+ $12 = (($9) + 2)|0;
+ $13 = ((($big$i)) + 288|0);
+ $14 = ((($buf$i)) + 9|0);
+ $15 = $14;
+ $16 = ((($buf$i)) + 8|0);
+ $cnt$0 = 0;$l$0 = 0;$l10n$0 = 0;$s$0 = $fmt;
+ L1: while(1) {
+ $17 = ($cnt$0|0)>(-1);
+ do {
+ if ($17) {
+ $18 = (2147483647 - ($cnt$0))|0;
+ $19 = ($l$0|0)>($18|0);
+ if ($19) {
+ $20 = (___errno_location()|0);
+ HEAP32[$20>>2] = 75;
+ $cnt$1 = -1;
+ break;
+ } else {
+ $21 = (($l$0) + ($cnt$0))|0;
+ $cnt$1 = $21;
+ break;
+ }
+ } else {
+ $cnt$1 = $cnt$0;
+ }
+ } while(0);
+ $22 = HEAP8[$s$0>>0]|0;
+ $23 = ($22<<24>>24)==(0);
+ if ($23) {
+ $cnt$1$lcssa = $cnt$1;$l10n$0$lcssa = $l10n$0;
+ label = 244;
+ break;
+ } else {
+ $24 = $22;$s$1 = $s$0;
+ }
+ L9: while(1) {
+ switch ($24<<24>>24) {
+ case 37: {
+ $s$292 = $s$1;$z$093 = $s$1;
+ label = 9;
+ break L9;
+ break;
+ }
+ case 0: {
+ $s$2$lcssa = $s$1;$z$0$lcssa = $s$1;
+ break L9;
+ break;
+ }
+ default: {
+ }
+ }
+ $25 = ((($s$1)) + 1|0);
+ $$pre = HEAP8[$25>>0]|0;
+ $24 = $$pre;$s$1 = $25;
+ }
+ L12: do {
+ if ((label|0) == 9) {
+ while(1) {
+ label = 0;
+ $26 = ((($s$292)) + 1|0);
+ $27 = HEAP8[$26>>0]|0;
+ $28 = ($27<<24>>24)==(37);
+ if (!($28)) {
+ $s$2$lcssa = $s$292;$z$0$lcssa = $z$093;
+ break L12;
+ }
+ $29 = ((($z$093)) + 1|0);
+ $30 = ((($s$292)) + 2|0);
+ $31 = HEAP8[$30>>0]|0;
+ $32 = ($31<<24>>24)==(37);
+ if ($32) {
+ $s$292 = $30;$z$093 = $29;
+ label = 9;
+ } else {
+ $s$2$lcssa = $30;$z$0$lcssa = $29;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $33 = $z$0$lcssa;
+ $34 = $s$0;
+ $35 = (($33) - ($34))|0;
+ if ($0) {
+ $36 = HEAP32[$f>>2]|0;
+ $37 = $36 & 32;
+ $38 = ($37|0)==(0);
+ if ($38) {
+ (___fwritex($s$0,$35,$f)|0);
+ }
+ }
+ $39 = ($z$0$lcssa|0)==($s$0|0);
+ if (!($39)) {
+ $l10n$0$phi = $l10n$0;$cnt$0 = $cnt$1;$l$0 = $35;$s$0 = $s$2$lcssa;$l10n$0 = $l10n$0$phi;
+ continue;
+ }
+ $40 = ((($s$2$lcssa)) + 1|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = $41 << 24 >> 24;
+ $isdigittmp = (($42) + -48)|0;
+ $isdigit = ($isdigittmp>>>0)<(10);
+ if ($isdigit) {
+ $43 = ((($s$2$lcssa)) + 2|0);
+ $44 = HEAP8[$43>>0]|0;
+ $45 = ($44<<24>>24)==(36);
+ $46 = ((($s$2$lcssa)) + 3|0);
+ $$43 = $45 ? $46 : $40;
+ $$l10n$0 = $45 ? 1 : $l10n$0;
+ $isdigittmp$ = $45 ? $isdigittmp : -1;
+ $$pre170 = HEAP8[$$43>>0]|0;
+ $48 = $$pre170;$argpos$0 = $isdigittmp$;$l10n$1 = $$l10n$0;$storemerge = $$43;
+ } else {
+ $48 = $41;$argpos$0 = -1;$l10n$1 = $l10n$0;$storemerge = $40;
+ }
+ $47 = $48 << 24 >> 24;
+ $49 = $47 & -32;
+ $50 = ($49|0)==(32);
+ L25: do {
+ if ($50) {
+ $52 = $47;$57 = $48;$fl$0100 = 0;$storemerge899 = $storemerge;
+ while(1) {
+ $51 = (($52) + -32)|0;
+ $53 = 1 << $51;
+ $54 = $53 & 75913;
+ $55 = ($54|0)==(0);
+ if ($55) {
+ $66 = $57;$fl$053 = $fl$0100;$storemerge851 = $storemerge899;
+ break L25;
+ }
+ $56 = $57 << 24 >> 24;
+ $58 = (($56) + -32)|0;
+ $59 = 1 << $58;
+ $60 = $59 | $fl$0100;
+ $61 = ((($storemerge899)) + 1|0);
+ $62 = HEAP8[$61>>0]|0;
+ $63 = $62 << 24 >> 24;
+ $64 = $63 & -32;
+ $65 = ($64|0)==(32);
+ if ($65) {
+ $52 = $63;$57 = $62;$fl$0100 = $60;$storemerge899 = $61;
+ } else {
+ $66 = $62;$fl$053 = $60;$storemerge851 = $61;
+ break;
+ }
+ }
+ } else {
+ $66 = $48;$fl$053 = 0;$storemerge851 = $storemerge;
+ }
+ } while(0);
+ $67 = ($66<<24>>24)==(42);
+ do {
+ if ($67) {
+ $68 = ((($storemerge851)) + 1|0);
+ $69 = HEAP8[$68>>0]|0;
+ $70 = $69 << 24 >> 24;
+ $isdigittmp11 = (($70) + -48)|0;
+ $isdigit12 = ($isdigittmp11>>>0)<(10);
+ if ($isdigit12) {
+ $71 = ((($storemerge851)) + 2|0);
+ $72 = HEAP8[$71>>0]|0;
+ $73 = ($72<<24>>24)==(36);
+ if ($73) {
+ $74 = (($nl_type) + ($isdigittmp11<<2)|0);
+ HEAP32[$74>>2] = 10;
+ $75 = HEAP8[$68>>0]|0;
+ $76 = $75 << 24 >> 24;
+ $77 = (($76) + -48)|0;
+ $78 = (($nl_arg) + ($77<<3)|0);
+ $79 = $78;
+ $80 = $79;
+ $81 = HEAP32[$80>>2]|0;
+ $82 = (($79) + 4)|0;
+ $83 = $82;
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ((($storemerge851)) + 3|0);
+ $l10n$2 = 1;$storemerge13 = $85;$w$0 = $81;
+ } else {
+ label = 24;
+ }
+ } else {
+ label = 24;
+ }
+ if ((label|0) == 24) {
+ label = 0;
+ $86 = ($l10n$1|0)==(0);
+ if (!($86)) {
+ $$0 = -1;
+ break L1;
+ }
+ if (!($0)) {
+ $fl$1 = $fl$053;$l10n$3 = 0;$s$4 = $68;$w$1 = 0;
+ break;
+ }
+ $arglist_current = HEAP32[$ap>>2]|0;
+ $87 = $arglist_current;
+ $88 = ((0) + 4|0);
+ $expanded4 = $88;
+ $expanded = (($expanded4) - 1)|0;
+ $89 = (($87) + ($expanded))|0;
+ $90 = ((0) + 4|0);
+ $expanded8 = $90;
+ $expanded7 = (($expanded8) - 1)|0;
+ $expanded6 = $expanded7 ^ -1;
+ $91 = $89 & $expanded6;
+ $92 = $91;
+ $93 = HEAP32[$92>>2]|0;
+ $arglist_next = ((($92)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next;
+ $l10n$2 = 0;$storemerge13 = $68;$w$0 = $93;
+ }
+ $94 = ($w$0|0)<(0);
+ if ($94) {
+ $95 = $fl$053 | 8192;
+ $96 = (0 - ($w$0))|0;
+ $fl$1 = $95;$l10n$3 = $l10n$2;$s$4 = $storemerge13;$w$1 = $96;
+ } else {
+ $fl$1 = $fl$053;$l10n$3 = $l10n$2;$s$4 = $storemerge13;$w$1 = $w$0;
+ }
+ } else {
+ $97 = $66 << 24 >> 24;
+ $isdigittmp1$i = (($97) + -48)|0;
+ $isdigit2$i = ($isdigittmp1$i>>>0)<(10);
+ if ($isdigit2$i) {
+ $101 = $storemerge851;$i$03$i = 0;$isdigittmp4$i = $isdigittmp1$i;
+ while(1) {
+ $98 = ($i$03$i*10)|0;
+ $99 = (($98) + ($isdigittmp4$i))|0;
+ $100 = ((($101)) + 1|0);
+ $102 = HEAP8[$100>>0]|0;
+ $103 = $102 << 24 >> 24;
+ $isdigittmp$i = (($103) + -48)|0;
+ $isdigit$i = ($isdigittmp$i>>>0)<(10);
+ if ($isdigit$i) {
+ $101 = $100;$i$03$i = $99;$isdigittmp4$i = $isdigittmp$i;
+ } else {
+ $$lcssa = $99;$$lcssa295 = $100;
+ break;
+ }
+ }
+ $104 = ($$lcssa|0)<(0);
+ if ($104) {
+ $$0 = -1;
+ break L1;
+ } else {
+ $fl$1 = $fl$053;$l10n$3 = $l10n$1;$s$4 = $$lcssa295;$w$1 = $$lcssa;
+ }
+ } else {
+ $fl$1 = $fl$053;$l10n$3 = $l10n$1;$s$4 = $storemerge851;$w$1 = 0;
+ }
+ }
+ } while(0);
+ $105 = HEAP8[$s$4>>0]|0;
+ $106 = ($105<<24>>24)==(46);
+ L46: do {
+ if ($106) {
+ $107 = ((($s$4)) + 1|0);
+ $108 = HEAP8[$107>>0]|0;
+ $109 = ($108<<24>>24)==(42);
+ if (!($109)) {
+ $136 = $108 << 24 >> 24;
+ $isdigittmp1$i22 = (($136) + -48)|0;
+ $isdigit2$i23 = ($isdigittmp1$i22>>>0)<(10);
+ if ($isdigit2$i23) {
+ $140 = $107;$i$03$i25 = 0;$isdigittmp4$i24 = $isdigittmp1$i22;
+ } else {
+ $p$0 = 0;$s$6 = $107;
+ break;
+ }
+ while(1) {
+ $137 = ($i$03$i25*10)|0;
+ $138 = (($137) + ($isdigittmp4$i24))|0;
+ $139 = ((($140)) + 1|0);
+ $141 = HEAP8[$139>>0]|0;
+ $142 = $141 << 24 >> 24;
+ $isdigittmp$i26 = (($142) + -48)|0;
+ $isdigit$i27 = ($isdigittmp$i26>>>0)<(10);
+ if ($isdigit$i27) {
+ $140 = $139;$i$03$i25 = $138;$isdigittmp4$i24 = $isdigittmp$i26;
+ } else {
+ $p$0 = $138;$s$6 = $139;
+ break L46;
+ }
+ }
+ }
+ $110 = ((($s$4)) + 2|0);
+ $111 = HEAP8[$110>>0]|0;
+ $112 = $111 << 24 >> 24;
+ $isdigittmp9 = (($112) + -48)|0;
+ $isdigit10 = ($isdigittmp9>>>0)<(10);
+ if ($isdigit10) {
+ $113 = ((($s$4)) + 3|0);
+ $114 = HEAP8[$113>>0]|0;
+ $115 = ($114<<24>>24)==(36);
+ if ($115) {
+ $116 = (($nl_type) + ($isdigittmp9<<2)|0);
+ HEAP32[$116>>2] = 10;
+ $117 = HEAP8[$110>>0]|0;
+ $118 = $117 << 24 >> 24;
+ $119 = (($118) + -48)|0;
+ $120 = (($nl_arg) + ($119<<3)|0);
+ $121 = $120;
+ $122 = $121;
+ $123 = HEAP32[$122>>2]|0;
+ $124 = (($121) + 4)|0;
+ $125 = $124;
+ $126 = HEAP32[$125>>2]|0;
+ $127 = ((($s$4)) + 4|0);
+ $p$0 = $123;$s$6 = $127;
+ break;
+ }
+ }
+ $128 = ($l10n$3|0)==(0);
+ if (!($128)) {
+ $$0 = -1;
+ break L1;
+ }
+ if ($0) {
+ $arglist_current2 = HEAP32[$ap>>2]|0;
+ $129 = $arglist_current2;
+ $130 = ((0) + 4|0);
+ $expanded11 = $130;
+ $expanded10 = (($expanded11) - 1)|0;
+ $131 = (($129) + ($expanded10))|0;
+ $132 = ((0) + 4|0);
+ $expanded15 = $132;
+ $expanded14 = (($expanded15) - 1)|0;
+ $expanded13 = $expanded14 ^ -1;
+ $133 = $131 & $expanded13;
+ $134 = $133;
+ $135 = HEAP32[$134>>2]|0;
+ $arglist_next3 = ((($134)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next3;
+ $p$0 = $135;$s$6 = $110;
+ } else {
+ $p$0 = 0;$s$6 = $110;
+ }
+ } else {
+ $p$0 = -1;$s$6 = $s$4;
+ }
+ } while(0);
+ $s$7 = $s$6;$st$0 = 0;
+ while(1) {
+ $143 = HEAP8[$s$7>>0]|0;
+ $144 = $143 << 24 >> 24;
+ $145 = (($144) + -65)|0;
+ $146 = ($145>>>0)>(57);
+ if ($146) {
+ $$0 = -1;
+ break L1;
+ }
+ $147 = ((($s$7)) + 1|0);
+ $148 = ((66550 + (($st$0*58)|0)|0) + ($145)|0);
+ $149 = HEAP8[$148>>0]|0;
+ $150 = $149&255;
+ $151 = (($150) + -1)|0;
+ $152 = ($151>>>0)<(8);
+ if ($152) {
+ $s$7 = $147;$st$0 = $150;
+ } else {
+ $$lcssa300 = $147;$$lcssa301 = $149;$$lcssa302 = $150;$s$7$lcssa298 = $s$7;$st$0$lcssa299 = $st$0;
+ break;
+ }
+ }
+ $153 = ($$lcssa301<<24>>24)==(0);
+ if ($153) {
+ $$0 = -1;
+ break;
+ }
+ $154 = ($$lcssa301<<24>>24)==(19);
+ $155 = ($argpos$0|0)>(-1);
+ do {
+ if ($154) {
+ if ($155) {
+ $$0 = -1;
+ break L1;
+ } else {
+ label = 52;
+ }
+ } else {
+ if ($155) {
+ $156 = (($nl_type) + ($argpos$0<<2)|0);
+ HEAP32[$156>>2] = $$lcssa302;
+ $157 = (($nl_arg) + ($argpos$0<<3)|0);
+ $158 = $157;
+ $159 = $158;
+ $160 = HEAP32[$159>>2]|0;
+ $161 = (($158) + 4)|0;
+ $162 = $161;
+ $163 = HEAP32[$162>>2]|0;
+ $164 = $arg;
+ $165 = $164;
+ HEAP32[$165>>2] = $160;
+ $166 = (($164) + 4)|0;
+ $167 = $166;
+ HEAP32[$167>>2] = $163;
+ label = 52;
+ break;
+ }
+ if (!($0)) {
+ $$0 = 0;
+ break L1;
+ }
+ _pop_arg_180($arg,$$lcssa302,$ap);
+ }
+ } while(0);
+ if ((label|0) == 52) {
+ label = 0;
+ if (!($0)) {
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue;
+ }
+ }
+ $168 = HEAP8[$s$7$lcssa298>>0]|0;
+ $169 = $168 << 24 >> 24;
+ $170 = ($st$0$lcssa299|0)!=(0);
+ $171 = $169 & 15;
+ $172 = ($171|0)==(3);
+ $or$cond15 = $170 & $172;
+ $173 = $169 & -33;
+ $t$0 = $or$cond15 ? $173 : $169;
+ $174 = $fl$1 & 8192;
+ $175 = ($174|0)==(0);
+ $176 = $fl$1 & -65537;
+ $fl$1$ = $175 ? $fl$1 : $176;
+ L75: do {
+ switch ($t$0|0) {
+ case 110: {
+ switch ($st$0$lcssa299|0) {
+ case 0: {
+ $183 = HEAP32[$arg>>2]|0;
+ HEAP32[$183>>2] = $cnt$1;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ case 1: {
+ $184 = HEAP32[$arg>>2]|0;
+ HEAP32[$184>>2] = $cnt$1;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ case 2: {
+ $185 = ($cnt$1|0)<(0);
+ $186 = $185 << 31 >> 31;
+ $187 = HEAP32[$arg>>2]|0;
+ $188 = $187;
+ $189 = $188;
+ HEAP32[$189>>2] = $cnt$1;
+ $190 = (($188) + 4)|0;
+ $191 = $190;
+ HEAP32[$191>>2] = $186;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ case 3: {
+ $192 = $cnt$1&65535;
+ $193 = HEAP32[$arg>>2]|0;
+ HEAP16[$193>>1] = $192;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ case 4: {
+ $194 = $cnt$1&255;
+ $195 = HEAP32[$arg>>2]|0;
+ HEAP8[$195>>0] = $194;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ case 6: {
+ $196 = HEAP32[$arg>>2]|0;
+ HEAP32[$196>>2] = $cnt$1;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ case 7: {
+ $197 = ($cnt$1|0)<(0);
+ $198 = $197 << 31 >> 31;
+ $199 = HEAP32[$arg>>2]|0;
+ $200 = $199;
+ $201 = $200;
+ HEAP32[$201>>2] = $cnt$1;
+ $202 = (($200) + 4)|0;
+ $203 = $202;
+ HEAP32[$203>>2] = $198;
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ default: {
+ $cnt$0 = $cnt$1;$l$0 = $35;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ }
+ }
+ break;
+ }
+ case 112: {
+ $204 = ($p$0>>>0)>(8);
+ $205 = $204 ? $p$0 : 8;
+ $206 = $fl$1$ | 8;
+ $fl$3 = $206;$p$1 = $205;$t$1 = 120;
+ label = 64;
+ break;
+ }
+ case 88: case 120: {
+ $fl$3 = $fl$1$;$p$1 = $p$0;$t$1 = $t$0;
+ label = 64;
+ break;
+ }
+ case 111: {
+ $244 = $arg;
+ $245 = $244;
+ $246 = HEAP32[$245>>2]|0;
+ $247 = (($244) + 4)|0;
+ $248 = $247;
+ $249 = HEAP32[$248>>2]|0;
+ $250 = ($246|0)==(0);
+ $251 = ($249|0)==(0);
+ $252 = $250 & $251;
+ if ($252) {
+ $$0$lcssa$i = $1;
+ } else {
+ $$03$i33 = $1;$254 = $246;$258 = $249;
+ while(1) {
+ $253 = $254 & 7;
+ $255 = $253 | 48;
+ $256 = $255&255;
+ $257 = ((($$03$i33)) + -1|0);
+ HEAP8[$257>>0] = $256;
+ $259 = (_bitshift64Lshr(($254|0),($258|0),3)|0);
+ $260 = tempRet0;
+ $261 = ($259|0)==(0);
+ $262 = ($260|0)==(0);
+ $263 = $261 & $262;
+ if ($263) {
+ $$0$lcssa$i = $257;
+ break;
+ } else {
+ $$03$i33 = $257;$254 = $259;$258 = $260;
+ }
+ }
+ }
+ $264 = $fl$1$ & 8;
+ $265 = ($264|0)==(0);
+ if ($265) {
+ $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = 0;$prefix$1 = 67030;
+ label = 77;
+ } else {
+ $266 = $$0$lcssa$i;
+ $267 = (($2) - ($266))|0;
+ $268 = ($p$0|0)>($267|0);
+ $269 = (($267) + 1)|0;
+ $p$0$ = $268 ? $p$0 : $269;
+ $a$0 = $$0$lcssa$i;$fl$4 = $fl$1$;$p$2 = $p$0$;$pl$1 = 0;$prefix$1 = 67030;
+ label = 77;
+ }
+ break;
+ }
+ case 105: case 100: {
+ $270 = $arg;
+ $271 = $270;
+ $272 = HEAP32[$271>>2]|0;
+ $273 = (($270) + 4)|0;
+ $274 = $273;
+ $275 = HEAP32[$274>>2]|0;
+ $276 = ($275|0)<(0);
+ if ($276) {
+ $277 = (_i64Subtract(0,0,($272|0),($275|0))|0);
+ $278 = tempRet0;
+ $279 = $arg;
+ $280 = $279;
+ HEAP32[$280>>2] = $277;
+ $281 = (($279) + 4)|0;
+ $282 = $281;
+ HEAP32[$282>>2] = $278;
+ $287 = $277;$288 = $278;$pl$0 = 1;$prefix$0 = 67030;
+ label = 76;
+ break L75;
+ }
+ $283 = $fl$1$ & 2048;
+ $284 = ($283|0)==(0);
+ if ($284) {
+ $285 = $fl$1$ & 1;
+ $286 = ($285|0)==(0);
+ $$ = $286 ? 67030 : (67032);
+ $287 = $272;$288 = $275;$pl$0 = $285;$prefix$0 = $$;
+ label = 76;
+ } else {
+ $287 = $272;$288 = $275;$pl$0 = 1;$prefix$0 = (67031);
+ label = 76;
+ }
+ break;
+ }
+ case 117: {
+ $177 = $arg;
+ $178 = $177;
+ $179 = HEAP32[$178>>2]|0;
+ $180 = (($177) + 4)|0;
+ $181 = $180;
+ $182 = HEAP32[$181>>2]|0;
+ $287 = $179;$288 = $182;$pl$0 = 0;$prefix$0 = 67030;
+ label = 76;
+ break;
+ }
+ case 99: {
+ $308 = $arg;
+ $309 = $308;
+ $310 = HEAP32[$309>>2]|0;
+ $311 = (($308) + 4)|0;
+ $312 = $311;
+ $313 = HEAP32[$312>>2]|0;
+ $314 = $310&255;
+ HEAP8[$3>>0] = $314;
+ $a$2 = $3;$fl$6 = $176;$p$5 = 1;$pl$2 = 0;$prefix$2 = 67030;$z$2 = $1;
+ break;
+ }
+ case 109: {
+ $315 = (___errno_location()|0);
+ $316 = HEAP32[$315>>2]|0;
+ $317 = (_strerror($316)|0);
+ $a$1 = $317;
+ label = 82;
+ break;
+ }
+ case 115: {
+ $318 = HEAP32[$arg>>2]|0;
+ $319 = ($318|0)!=(0|0);
+ $320 = $319 ? $318 : 67040;
+ $a$1 = $320;
+ label = 82;
+ break;
+ }
+ case 67: {
+ $327 = $arg;
+ $328 = $327;
+ $329 = HEAP32[$328>>2]|0;
+ $330 = (($327) + 4)|0;
+ $331 = $330;
+ $332 = HEAP32[$331>>2]|0;
+ HEAP32[$wc>>2] = $329;
+ HEAP32[$4>>2] = 0;
+ HEAP32[$arg>>2] = $wc;
+ $798 = $wc;$p$4176 = -1;
+ label = 86;
+ break;
+ }
+ case 83: {
+ $$pre171 = HEAP32[$arg>>2]|0;
+ $333 = ($p$0|0)==(0);
+ if ($333) {
+ _pad($f,32,$w$1,0,$fl$1$);
+ $i$0$lcssa178 = 0;
+ label = 97;
+ } else {
+ $798 = $$pre171;$p$4176 = $p$0;
+ label = 86;
+ }
+ break;
+ }
+ case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: {
+ $358 = +HEAPF64[$arg>>3];
+ HEAP32[$e2$i>>2] = 0;
+ HEAPF64[tempDoublePtr>>3] = $358;$359 = HEAP32[tempDoublePtr>>2]|0;
+ $360 = HEAP32[tempDoublePtr+4>>2]|0;
+ $361 = ($360|0)<(0);
+ if ($361) {
+ $362 = -$358;
+ $$07$i = $362;$pl$0$i = 1;$prefix$0$i = 67047;
+ } else {
+ $363 = $fl$1$ & 2048;
+ $364 = ($363|0)==(0);
+ if ($364) {
+ $365 = $fl$1$ & 1;
+ $366 = ($365|0)==(0);
+ $$$i = $366 ? (67048) : (67053);
+ $$07$i = $358;$pl$0$i = $365;$prefix$0$i = $$$i;
+ } else {
+ $$07$i = $358;$pl$0$i = 1;$prefix$0$i = (67050);
+ }
+ }
+ HEAPF64[tempDoublePtr>>3] = $$07$i;$367 = HEAP32[tempDoublePtr>>2]|0;
+ $368 = HEAP32[tempDoublePtr+4>>2]|0;
+ $369 = $368 & 2146435072;
+ $370 = ($369>>>0)<(2146435072);
+ $371 = (0)<(0);
+ $372 = ($369|0)==(2146435072);
+ $373 = $372 & $371;
+ $374 = $370 | $373;
+ do {
+ if ($374) {
+ $390 = (+_frexpl($$07$i,$e2$i));
+ $391 = $390 * 2.0;
+ $392 = $391 != 0.0;
+ if ($392) {
+ $393 = HEAP32[$e2$i>>2]|0;
+ $394 = (($393) + -1)|0;
+ HEAP32[$e2$i>>2] = $394;
+ }
+ $395 = $t$0 | 32;
+ $396 = ($395|0)==(97);
+ if ($396) {
+ $397 = $t$0 & 32;
+ $398 = ($397|0)==(0);
+ $399 = ((($prefix$0$i)) + 9|0);
+ $prefix$0$$i = $398 ? $prefix$0$i : $399;
+ $400 = $pl$0$i | 2;
+ $401 = ($p$0>>>0)>(11);
+ $402 = (12 - ($p$0))|0;
+ $403 = ($402|0)==(0);
+ $404 = $401 | $403;
+ do {
+ if ($404) {
+ $$1$i = $391;
+ } else {
+ $re$171$i = $402;$round$070$i = 8.0;
+ while(1) {
+ $405 = (($re$171$i) + -1)|0;
+ $406 = $round$070$i * 16.0;
+ $407 = ($405|0)==(0);
+ if ($407) {
+ $$lcssa319 = $406;
+ break;
+ } else {
+ $re$171$i = $405;$round$070$i = $406;
+ }
+ }
+ $408 = HEAP8[$prefix$0$$i>>0]|0;
+ $409 = ($408<<24>>24)==(45);
+ if ($409) {
+ $410 = -$391;
+ $411 = $410 - $$lcssa319;
+ $412 = $$lcssa319 + $411;
+ $413 = -$412;
+ $$1$i = $413;
+ break;
+ } else {
+ $414 = $391 + $$lcssa319;
+ $415 = $414 - $$lcssa319;
+ $$1$i = $415;
+ break;
+ }
+ }
+ } while(0);
+ $416 = HEAP32[$e2$i>>2]|0;
+ $417 = ($416|0)<(0);
+ $418 = (0 - ($416))|0;
+ $419 = $417 ? $418 : $416;
+ $420 = ($419|0)<(0);
+ $421 = $420 << 31 >> 31;
+ $422 = (_fmt_u($419,$421,$7)|0);
+ $423 = ($422|0)==($7|0);
+ if ($423) {
+ HEAP8[$8>>0] = 48;
+ $estr$0$i = $8;
+ } else {
+ $estr$0$i = $422;
+ }
+ $424 = $416 >> 31;
+ $425 = $424 & 2;
+ $426 = (($425) + 43)|0;
+ $427 = $426&255;
+ $428 = ((($estr$0$i)) + -1|0);
+ HEAP8[$428>>0] = $427;
+ $429 = (($t$0) + 15)|0;
+ $430 = $429&255;
+ $431 = ((($estr$0$i)) + -2|0);
+ HEAP8[$431>>0] = $430;
+ $notrhs$i = ($p$0|0)<(1);
+ $432 = $fl$1$ & 8;
+ $433 = ($432|0)==(0);
+ $$2$i = $$1$i;$s$0$i = $buf$i;
+ while(1) {
+ $434 = (~~(($$2$i)));
+ $435 = (67014 + ($434)|0);
+ $436 = HEAP8[$435>>0]|0;
+ $437 = $436&255;
+ $438 = $437 | $397;
+ $439 = $438&255;
+ $440 = ((($s$0$i)) + 1|0);
+ HEAP8[$s$0$i>>0] = $439;
+ $441 = (+($434|0));
+ $442 = $$2$i - $441;
+ $443 = $442 * 16.0;
+ $444 = $440;
+ $445 = (($444) - ($5))|0;
+ $446 = ($445|0)==(1);
+ do {
+ if ($446) {
+ $notlhs$i = $443 == 0.0;
+ $or$cond3$not$i = $notrhs$i & $notlhs$i;
+ $or$cond$i = $433 & $or$cond3$not$i;
+ if ($or$cond$i) {
+ $s$1$i = $440;
+ break;
+ }
+ $447 = ((($s$0$i)) + 2|0);
+ HEAP8[$440>>0] = 46;
+ $s$1$i = $447;
+ } else {
+ $s$1$i = $440;
+ }
+ } while(0);
+ $448 = $443 != 0.0;
+ if ($448) {
+ $$2$i = $443;$s$0$i = $s$1$i;
+ } else {
+ $s$1$i$lcssa = $s$1$i;
+ break;
+ }
+ }
+ $449 = ($p$0|0)!=(0);
+ $$pre188$i = $s$1$i$lcssa;
+ $450 = (($11) + ($$pre188$i))|0;
+ $451 = ($450|0)<($p$0|0);
+ $or$cond122 = $449 & $451;
+ $452 = $431;
+ $453 = (($12) + ($p$0))|0;
+ $454 = (($453) - ($452))|0;
+ $455 = (($10) - ($452))|0;
+ $456 = (($455) + ($$pre188$i))|0;
+ $l$0$i = $or$cond122 ? $454 : $456;
+ $457 = (($l$0$i) + ($400))|0;
+ _pad($f,32,$w$1,$457,$fl$1$);
+ $458 = HEAP32[$f>>2]|0;
+ $459 = $458 & 32;
+ $460 = ($459|0)==(0);
+ if ($460) {
+ (___fwritex($prefix$0$$i,$400,$f)|0);
+ }
+ $461 = $fl$1$ ^ 65536;
+ _pad($f,48,$w$1,$457,$461);
+ $462 = (($$pre188$i) - ($5))|0;
+ $463 = HEAP32[$f>>2]|0;
+ $464 = $463 & 32;
+ $465 = ($464|0)==(0);
+ if ($465) {
+ (___fwritex($buf$i,$462,$f)|0);
+ }
+ $466 = (($9) - ($452))|0;
+ $sum = (($462) + ($466))|0;
+ $467 = (($l$0$i) - ($sum))|0;
+ _pad($f,48,$467,0,0);
+ $468 = HEAP32[$f>>2]|0;
+ $469 = $468 & 32;
+ $470 = ($469|0)==(0);
+ if ($470) {
+ (___fwritex($431,$466,$f)|0);
+ }
+ $471 = $fl$1$ ^ 8192;
+ _pad($f,32,$w$1,$457,$471);
+ $472 = ($457|0)<($w$1|0);
+ $w$$i = $472 ? $w$1 : $457;
+ $$0$i = $w$$i;
+ break;
+ }
+ $473 = ($p$0|0)<(0);
+ $$p$i = $473 ? 6 : $p$0;
+ if ($392) {
+ $474 = $391 * 268435456.0;
+ $475 = HEAP32[$e2$i>>2]|0;
+ $476 = (($475) + -28)|0;
+ HEAP32[$e2$i>>2] = $476;
+ $$3$i = $474;$477 = $476;
+ } else {
+ $$pre185$i = HEAP32[$e2$i>>2]|0;
+ $$3$i = $391;$477 = $$pre185$i;
+ }
+ $478 = ($477|0)<(0);
+ $$33$i = $478 ? $big$i : $13;
+ $479 = $$33$i;
+ $$4$i = $$3$i;$z$0$i = $$33$i;
+ while(1) {
+ $480 = (~~(($$4$i))>>>0);
+ HEAP32[$z$0$i>>2] = $480;
+ $481 = ((($z$0$i)) + 4|0);
+ $482 = (+($480>>>0));
+ $483 = $$4$i - $482;
+ $484 = $483 * 1.0E+9;
+ $485 = $484 != 0.0;
+ if ($485) {
+ $$4$i = $484;$z$0$i = $481;
+ } else {
+ $$lcssa303 = $481;
+ break;
+ }
+ }
+ $$pr$i = HEAP32[$e2$i>>2]|0;
+ $486 = ($$pr$i|0)>(0);
+ if ($486) {
+ $487 = $$pr$i;$a$1149$i = $$33$i;$z$1148$i = $$lcssa303;
+ while(1) {
+ $488 = ($487|0)>(29);
+ $489 = $488 ? 29 : $487;
+ $d$0141$i = ((($z$1148$i)) + -4|0);
+ $490 = ($d$0141$i>>>0)<($a$1149$i>>>0);
+ do {
+ if ($490) {
+ $a$2$ph$i = $a$1149$i;
+ } else {
+ $carry$0142$i = 0;$d$0143$i = $d$0141$i;
+ while(1) {
+ $491 = HEAP32[$d$0143$i>>2]|0;
+ $492 = (_bitshift64Shl(($491|0),0,($489|0))|0);
+ $493 = tempRet0;
+ $494 = (_i64Add(($492|0),($493|0),($carry$0142$i|0),0)|0);
+ $495 = tempRet0;
+ $496 = (___uremdi3(($494|0),($495|0),1000000000,0)|0);
+ $497 = tempRet0;
+ HEAP32[$d$0143$i>>2] = $496;
+ $498 = (___udivdi3(($494|0),($495|0),1000000000,0)|0);
+ $499 = tempRet0;
+ $d$0$i = ((($d$0143$i)) + -4|0);
+ $500 = ($d$0$i>>>0)<($a$1149$i>>>0);
+ if ($500) {
+ $$lcssa304 = $498;
+ break;
+ } else {
+ $carry$0142$i = $498;$d$0143$i = $d$0$i;
+ }
+ }
+ $501 = ($$lcssa304|0)==(0);
+ if ($501) {
+ $a$2$ph$i = $a$1149$i;
+ break;
+ }
+ $502 = ((($a$1149$i)) + -4|0);
+ HEAP32[$502>>2] = $$lcssa304;
+ $a$2$ph$i = $502;
+ }
+ } while(0);
+ $z$2$i = $z$1148$i;
+ while(1) {
+ $503 = ($z$2$i>>>0)>($a$2$ph$i>>>0);
+ if (!($503)) {
+ $z$2$i$lcssa = $z$2$i;
+ break;
+ }
+ $504 = ((($z$2$i)) + -4|0);
+ $505 = HEAP32[$504>>2]|0;
+ $506 = ($505|0)==(0);
+ if ($506) {
+ $z$2$i = $504;
+ } else {
+ $z$2$i$lcssa = $z$2$i;
+ break;
+ }
+ }
+ $507 = HEAP32[$e2$i>>2]|0;
+ $508 = (($507) - ($489))|0;
+ HEAP32[$e2$i>>2] = $508;
+ $509 = ($508|0)>(0);
+ if ($509) {
+ $487 = $508;$a$1149$i = $a$2$ph$i;$z$1148$i = $z$2$i$lcssa;
+ } else {
+ $$pr50$i = $508;$a$1$lcssa$i = $a$2$ph$i;$z$1$lcssa$i = $z$2$i$lcssa;
+ break;
+ }
+ }
+ } else {
+ $$pr50$i = $$pr$i;$a$1$lcssa$i = $$33$i;$z$1$lcssa$i = $$lcssa303;
+ }
+ $510 = ($$pr50$i|0)<(0);
+ if ($510) {
+ $511 = (($$p$i) + 25)|0;
+ $512 = (($511|0) / 9)&-1;
+ $513 = (($512) + 1)|0;
+ $514 = ($395|0)==(102);
+ $516 = $$pr50$i;$a$3136$i = $a$1$lcssa$i;$z$3135$i = $z$1$lcssa$i;
+ while(1) {
+ $515 = (0 - ($516))|0;
+ $517 = ($515|0)>(9);
+ $518 = $517 ? 9 : $515;
+ $519 = ($a$3136$i>>>0)<($z$3135$i>>>0);
+ do {
+ if ($519) {
+ $523 = 1 << $518;
+ $524 = (($523) + -1)|0;
+ $525 = 1000000000 >>> $518;
+ $carry3$0130$i = 0;$d$1129$i = $a$3136$i;
+ while(1) {
+ $526 = HEAP32[$d$1129$i>>2]|0;
+ $527 = $526 & $524;
+ $528 = $526 >>> $518;
+ $529 = (($528) + ($carry3$0130$i))|0;
+ HEAP32[$d$1129$i>>2] = $529;
+ $530 = Math_imul($527, $525)|0;
+ $531 = ((($d$1129$i)) + 4|0);
+ $532 = ($531>>>0)<($z$3135$i>>>0);
+ if ($532) {
+ $carry3$0130$i = $530;$d$1129$i = $531;
+ } else {
+ $$lcssa306 = $530;
+ break;
+ }
+ }
+ $533 = HEAP32[$a$3136$i>>2]|0;
+ $534 = ($533|0)==(0);
+ $535 = ((($a$3136$i)) + 4|0);
+ $$a$3$i = $534 ? $535 : $a$3136$i;
+ $536 = ($$lcssa306|0)==(0);
+ if ($536) {
+ $$a$3192$i = $$a$3$i;$z$4$i = $z$3135$i;
+ break;
+ }
+ $537 = ((($z$3135$i)) + 4|0);
+ HEAP32[$z$3135$i>>2] = $$lcssa306;
+ $$a$3192$i = $$a$3$i;$z$4$i = $537;
+ } else {
+ $520 = HEAP32[$a$3136$i>>2]|0;
+ $521 = ($520|0)==(0);
+ $522 = ((($a$3136$i)) + 4|0);
+ $$a$3191$i = $521 ? $522 : $a$3136$i;
+ $$a$3192$i = $$a$3191$i;$z$4$i = $z$3135$i;
+ }
+ } while(0);
+ $538 = $514 ? $$33$i : $$a$3192$i;
+ $539 = $z$4$i;
+ $540 = $538;
+ $541 = (($539) - ($540))|0;
+ $542 = $541 >> 2;
+ $543 = ($542|0)>($513|0);
+ $544 = (($538) + ($513<<2)|0);
+ $$z$4$i = $543 ? $544 : $z$4$i;
+ $545 = HEAP32[$e2$i>>2]|0;
+ $546 = (($545) + ($518))|0;
+ HEAP32[$e2$i>>2] = $546;
+ $547 = ($546|0)<(0);
+ if ($547) {
+ $516 = $546;$a$3136$i = $$a$3192$i;$z$3135$i = $$z$4$i;
+ } else {
+ $a$3$lcssa$i = $$a$3192$i;$z$3$lcssa$i = $$z$4$i;
+ break;
+ }
+ }
+ } else {
+ $a$3$lcssa$i = $a$1$lcssa$i;$z$3$lcssa$i = $z$1$lcssa$i;
+ }
+ $548 = ($a$3$lcssa$i>>>0)<($z$3$lcssa$i>>>0);
+ do {
+ if ($548) {
+ $549 = $a$3$lcssa$i;
+ $550 = (($479) - ($549))|0;
+ $551 = $550 >> 2;
+ $552 = ($551*9)|0;
+ $553 = HEAP32[$a$3$lcssa$i>>2]|0;
+ $554 = ($553>>>0)<(10);
+ if ($554) {
+ $e$1$i = $552;
+ break;
+ } else {
+ $e$0125$i = $552;$i$0124$i = 10;
+ }
+ while(1) {
+ $555 = ($i$0124$i*10)|0;
+ $556 = (($e$0125$i) + 1)|0;
+ $557 = ($553>>>0)<($555>>>0);
+ if ($557) {
+ $e$1$i = $556;
+ break;
+ } else {
+ $e$0125$i = $556;$i$0124$i = $555;
+ }
+ }
+ } else {
+ $e$1$i = 0;
+ }
+ } while(0);
+ $558 = ($395|0)!=(102);
+ $559 = $558 ? $e$1$i : 0;
+ $560 = (($$p$i) - ($559))|0;
+ $561 = ($395|0)==(103);
+ $562 = ($$p$i|0)!=(0);
+ $563 = $562 & $561;
+ $$neg55$i = $563 << 31 >> 31;
+ $564 = (($560) + ($$neg55$i))|0;
+ $565 = $z$3$lcssa$i;
+ $566 = (($565) - ($479))|0;
+ $567 = $566 >> 2;
+ $568 = ($567*9)|0;
+ $569 = (($568) + -9)|0;
+ $570 = ($564|0)<($569|0);
+ if ($570) {
+ $571 = ((($$33$i)) + 4|0);
+ $572 = (($564) + 9216)|0;
+ $573 = (($572|0) / 9)&-1;
+ $574 = (($573) + -1024)|0;
+ $575 = (($571) + ($574<<2)|0);
+ $576 = (($572|0) % 9)&-1;
+ $j$0117$i = (($576) + 1)|0;
+ $577 = ($j$0117$i|0)<(9);
+ if ($577) {
+ $i$1118$i = 10;$j$0119$i = $j$0117$i;
+ while(1) {
+ $578 = ($i$1118$i*10)|0;
+ $j$0$i = (($j$0119$i) + 1)|0;
+ $exitcond$i = ($j$0$i|0)==(9);
+ if ($exitcond$i) {
+ $i$1$lcssa$i = $578;
+ break;
+ } else {
+ $i$1118$i = $578;$j$0119$i = $j$0$i;
+ }
+ }
+ } else {
+ $i$1$lcssa$i = 10;
+ }
+ $579 = HEAP32[$575>>2]|0;
+ $580 = (($579>>>0) % ($i$1$lcssa$i>>>0))&-1;
+ $581 = ($580|0)==(0);
+ $582 = ((($575)) + 4|0);
+ $583 = ($582|0)==($z$3$lcssa$i|0);
+ $or$cond18$i = $583 & $581;
+ do {
+ if ($or$cond18$i) {
+ $a$8$i = $a$3$lcssa$i;$d$4$i = $575;$e$4$i = $e$1$i;
+ } else {
+ $584 = (($579>>>0) / ($i$1$lcssa$i>>>0))&-1;
+ $585 = $584 & 1;
+ $586 = ($585|0)==(0);
+ $$20$i = $586 ? 9007199254740992.0 : 9007199254740994.0;
+ $587 = (($i$1$lcssa$i|0) / 2)&-1;
+ $588 = ($580>>>0)<($587>>>0);
+ if ($588) {
+ $small$0$i = 0.5;
+ } else {
+ $589 = ($580|0)==($587|0);
+ $or$cond22$i = $583 & $589;
+ $$36$i = $or$cond22$i ? 1.0 : 1.5;
+ $small$0$i = $$36$i;
+ }
+ $590 = ($pl$0$i|0)==(0);
+ do {
+ if ($590) {
+ $round6$1$i = $$20$i;$small$1$i = $small$0$i;
+ } else {
+ $591 = HEAP8[$prefix$0$i>>0]|0;
+ $592 = ($591<<24>>24)==(45);
+ if (!($592)) {
+ $round6$1$i = $$20$i;$small$1$i = $small$0$i;
+ break;
+ }
+ $593 = -$$20$i;
+ $594 = -$small$0$i;
+ $round6$1$i = $593;$small$1$i = $594;
+ }
+ } while(0);
+ $595 = (($579) - ($580))|0;
+ HEAP32[$575>>2] = $595;
+ $596 = $round6$1$i + $small$1$i;
+ $597 = $596 != $round6$1$i;
+ if (!($597)) {
+ $a$8$i = $a$3$lcssa$i;$d$4$i = $575;$e$4$i = $e$1$i;
+ break;
+ }
+ $598 = (($595) + ($i$1$lcssa$i))|0;
+ HEAP32[$575>>2] = $598;
+ $599 = ($598>>>0)>(999999999);
+ if ($599) {
+ $a$5111$i = $a$3$lcssa$i;$d$2110$i = $575;
+ while(1) {
+ $600 = ((($d$2110$i)) + -4|0);
+ HEAP32[$d$2110$i>>2] = 0;
+ $601 = ($600>>>0)<($a$5111$i>>>0);
+ if ($601) {
+ $602 = ((($a$5111$i)) + -4|0);
+ HEAP32[$602>>2] = 0;
+ $a$6$i = $602;
+ } else {
+ $a$6$i = $a$5111$i;
+ }
+ $603 = HEAP32[$600>>2]|0;
+ $604 = (($603) + 1)|0;
+ HEAP32[$600>>2] = $604;
+ $605 = ($604>>>0)>(999999999);
+ if ($605) {
+ $a$5111$i = $a$6$i;$d$2110$i = $600;
+ } else {
+ $a$5$lcssa$i = $a$6$i;$d$2$lcssa$i = $600;
+ break;
+ }
+ }
+ } else {
+ $a$5$lcssa$i = $a$3$lcssa$i;$d$2$lcssa$i = $575;
+ }
+ $606 = $a$5$lcssa$i;
+ $607 = (($479) - ($606))|0;
+ $608 = $607 >> 2;
+ $609 = ($608*9)|0;
+ $610 = HEAP32[$a$5$lcssa$i>>2]|0;
+ $611 = ($610>>>0)<(10);
+ if ($611) {
+ $a$8$i = $a$5$lcssa$i;$d$4$i = $d$2$lcssa$i;$e$4$i = $609;
+ break;
+ } else {
+ $e$2106$i = $609;$i$2105$i = 10;
+ }
+ while(1) {
+ $612 = ($i$2105$i*10)|0;
+ $613 = (($e$2106$i) + 1)|0;
+ $614 = ($610>>>0)<($612>>>0);
+ if ($614) {
+ $a$8$i = $a$5$lcssa$i;$d$4$i = $d$2$lcssa$i;$e$4$i = $613;
+ break;
+ } else {
+ $e$2106$i = $613;$i$2105$i = $612;
+ }
+ }
+ }
+ } while(0);
+ $615 = ((($d$4$i)) + 4|0);
+ $616 = ($z$3$lcssa$i>>>0)>($615>>>0);
+ $$z$3$i = $616 ? $615 : $z$3$lcssa$i;
+ $a$9$ph$i = $a$8$i;$e$5$ph$i = $e$4$i;$z$7$ph$i = $$z$3$i;
+ } else {
+ $a$9$ph$i = $a$3$lcssa$i;$e$5$ph$i = $e$1$i;$z$7$ph$i = $z$3$lcssa$i;
+ }
+ $617 = (0 - ($e$5$ph$i))|0;
+ $z$7$i = $z$7$ph$i;
+ while(1) {
+ $618 = ($z$7$i>>>0)>($a$9$ph$i>>>0);
+ if (!($618)) {
+ $$lcssa162$i = 0;$z$7$i$lcssa = $z$7$i;
+ break;
+ }
+ $619 = ((($z$7$i)) + -4|0);
+ $620 = HEAP32[$619>>2]|0;
+ $621 = ($620|0)==(0);
+ if ($621) {
+ $z$7$i = $619;
+ } else {
+ $$lcssa162$i = 1;$z$7$i$lcssa = $z$7$i;
+ break;
+ }
+ }
+ do {
+ if ($561) {
+ $622 = $562&1;
+ $623 = $622 ^ 1;
+ $$p$$i = (($623) + ($$p$i))|0;
+ $624 = ($$p$$i|0)>($e$5$ph$i|0);
+ $625 = ($e$5$ph$i|0)>(-5);
+ $or$cond6$i = $624 & $625;
+ if ($or$cond6$i) {
+ $626 = (($t$0) + -1)|0;
+ $$neg56$i = (($$p$$i) + -1)|0;
+ $627 = (($$neg56$i) - ($e$5$ph$i))|0;
+ $$013$i = $626;$$210$i = $627;
+ } else {
+ $628 = (($t$0) + -2)|0;
+ $629 = (($$p$$i) + -1)|0;
+ $$013$i = $628;$$210$i = $629;
+ }
+ $630 = $fl$1$ & 8;
+ $631 = ($630|0)==(0);
+ if (!($631)) {
+ $$114$i = $$013$i;$$311$i = $$210$i;$$pre$phi190$iZ2D = $630;
+ break;
+ }
+ do {
+ if ($$lcssa162$i) {
+ $632 = ((($z$7$i$lcssa)) + -4|0);
+ $633 = HEAP32[$632>>2]|0;
+ $634 = ($633|0)==(0);
+ if ($634) {
+ $j$2$i = 9;
+ break;
+ }
+ $635 = (($633>>>0) % 10)&-1;
+ $636 = ($635|0)==(0);
+ if ($636) {
+ $i$3101$i = 10;$j$1102$i = 0;
+ } else {
+ $j$2$i = 0;
+ break;
+ }
+ while(1) {
+ $637 = ($i$3101$i*10)|0;
+ $638 = (($j$1102$i) + 1)|0;
+ $639 = (($633>>>0) % ($637>>>0))&-1;
+ $640 = ($639|0)==(0);
+ if ($640) {
+ $i$3101$i = $637;$j$1102$i = $638;
+ } else {
+ $j$2$i = $638;
+ break;
+ }
+ }
+ } else {
+ $j$2$i = 9;
+ }
+ } while(0);
+ $641 = $$013$i | 32;
+ $642 = ($641|0)==(102);
+ $643 = $z$7$i$lcssa;
+ $644 = (($643) - ($479))|0;
+ $645 = $644 >> 2;
+ $646 = ($645*9)|0;
+ $647 = (($646) + -9)|0;
+ if ($642) {
+ $648 = (($647) - ($j$2$i))|0;
+ $649 = ($648|0)<(0);
+ $$23$i = $649 ? 0 : $648;
+ $650 = ($$210$i|0)<($$23$i|0);
+ $$210$$24$i = $650 ? $$210$i : $$23$i;
+ $$114$i = $$013$i;$$311$i = $$210$$24$i;$$pre$phi190$iZ2D = 0;
+ break;
+ } else {
+ $651 = (($647) + ($e$5$ph$i))|0;
+ $652 = (($651) - ($j$2$i))|0;
+ $653 = ($652|0)<(0);
+ $$25$i = $653 ? 0 : $652;
+ $654 = ($$210$i|0)<($$25$i|0);
+ $$210$$26$i = $654 ? $$210$i : $$25$i;
+ $$114$i = $$013$i;$$311$i = $$210$$26$i;$$pre$phi190$iZ2D = 0;
+ break;
+ }
+ } else {
+ $$pre189$i = $fl$1$ & 8;
+ $$114$i = $t$0;$$311$i = $$p$i;$$pre$phi190$iZ2D = $$pre189$i;
+ }
+ } while(0);
+ $655 = $$311$i | $$pre$phi190$iZ2D;
+ $656 = ($655|0)!=(0);
+ $657 = $656&1;
+ $658 = $$114$i | 32;
+ $659 = ($658|0)==(102);
+ if ($659) {
+ $660 = ($e$5$ph$i|0)>(0);
+ $661 = $660 ? $e$5$ph$i : 0;
+ $$pn$i = $661;$estr$2$i = 0;
+ } else {
+ $662 = ($e$5$ph$i|0)<(0);
+ $663 = $662 ? $617 : $e$5$ph$i;
+ $664 = ($663|0)<(0);
+ $665 = $664 << 31 >> 31;
+ $666 = (_fmt_u($663,$665,$7)|0);
+ $667 = $666;
+ $668 = (($9) - ($667))|0;
+ $669 = ($668|0)<(2);
+ if ($669) {
+ $estr$195$i = $666;
+ while(1) {
+ $670 = ((($estr$195$i)) + -1|0);
+ HEAP8[$670>>0] = 48;
+ $671 = $670;
+ $672 = (($9) - ($671))|0;
+ $673 = ($672|0)<(2);
+ if ($673) {
+ $estr$195$i = $670;
+ } else {
+ $estr$1$lcssa$i = $670;
+ break;
+ }
+ }
+ } else {
+ $estr$1$lcssa$i = $666;
+ }
+ $674 = $e$5$ph$i >> 31;
+ $675 = $674 & 2;
+ $676 = (($675) + 43)|0;
+ $677 = $676&255;
+ $678 = ((($estr$1$lcssa$i)) + -1|0);
+ HEAP8[$678>>0] = $677;
+ $679 = $$114$i&255;
+ $680 = ((($estr$1$lcssa$i)) + -2|0);
+ HEAP8[$680>>0] = $679;
+ $681 = $680;
+ $682 = (($9) - ($681))|0;
+ $$pn$i = $682;$estr$2$i = $680;
+ }
+ $683 = (($pl$0$i) + 1)|0;
+ $684 = (($683) + ($$311$i))|0;
+ $l$1$i = (($684) + ($657))|0;
+ $685 = (($l$1$i) + ($$pn$i))|0;
+ _pad($f,32,$w$1,$685,$fl$1$);
+ $686 = HEAP32[$f>>2]|0;
+ $687 = $686 & 32;
+ $688 = ($687|0)==(0);
+ if ($688) {
+ (___fwritex($prefix$0$i,$pl$0$i,$f)|0);
+ }
+ $689 = $fl$1$ ^ 65536;
+ _pad($f,48,$w$1,$685,$689);
+ do {
+ if ($659) {
+ $690 = ($a$9$ph$i>>>0)>($$33$i>>>0);
+ $r$0$a$9$i = $690 ? $$33$i : $a$9$ph$i;
+ $d$584$i = $r$0$a$9$i;
+ while(1) {
+ $691 = HEAP32[$d$584$i>>2]|0;
+ $692 = (_fmt_u($691,0,$14)|0);
+ $693 = ($d$584$i|0)==($r$0$a$9$i|0);
+ do {
+ if ($693) {
+ $699 = ($692|0)==($14|0);
+ if (!($699)) {
+ $s7$1$i = $692;
+ break;
+ }
+ HEAP8[$16>>0] = 48;
+ $s7$1$i = $16;
+ } else {
+ $694 = ($692>>>0)>($buf$i>>>0);
+ if (!($694)) {
+ $s7$1$i = $692;
+ break;
+ }
+ $695 = $692;
+ $696 = (($695) - ($5))|0;
+ _memset(($buf$i|0),48,($696|0))|0;
+ $s7$081$i = $692;
+ while(1) {
+ $697 = ((($s7$081$i)) + -1|0);
+ $698 = ($697>>>0)>($buf$i>>>0);
+ if ($698) {
+ $s7$081$i = $697;
+ } else {
+ $s7$1$i = $697;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $700 = HEAP32[$f>>2]|0;
+ $701 = $700 & 32;
+ $702 = ($701|0)==(0);
+ if ($702) {
+ $703 = $s7$1$i;
+ $704 = (($15) - ($703))|0;
+ (___fwritex($s7$1$i,$704,$f)|0);
+ }
+ $705 = ((($d$584$i)) + 4|0);
+ $706 = ($705>>>0)>($$33$i>>>0);
+ if ($706) {
+ $$lcssa316 = $705;
+ break;
+ } else {
+ $d$584$i = $705;
+ }
+ }
+ $707 = ($655|0)==(0);
+ do {
+ if (!($707)) {
+ $708 = HEAP32[$f>>2]|0;
+ $709 = $708 & 32;
+ $710 = ($709|0)==(0);
+ if (!($710)) {
+ break;
+ }
+ (___fwritex(67082,1,$f)|0);
+ }
+ } while(0);
+ $711 = ($$lcssa316>>>0)<($z$7$i$lcssa>>>0);
+ $712 = ($$311$i|0)>(0);
+ $713 = $712 & $711;
+ if ($713) {
+ $$41278$i = $$311$i;$d$677$i = $$lcssa316;
+ while(1) {
+ $714 = HEAP32[$d$677$i>>2]|0;
+ $715 = (_fmt_u($714,0,$14)|0);
+ $716 = ($715>>>0)>($buf$i>>>0);
+ if ($716) {
+ $717 = $715;
+ $718 = (($717) - ($5))|0;
+ _memset(($buf$i|0),48,($718|0))|0;
+ $s8$072$i = $715;
+ while(1) {
+ $719 = ((($s8$072$i)) + -1|0);
+ $720 = ($719>>>0)>($buf$i>>>0);
+ if ($720) {
+ $s8$072$i = $719;
+ } else {
+ $s8$0$lcssa$i = $719;
+ break;
+ }
+ }
+ } else {
+ $s8$0$lcssa$i = $715;
+ }
+ $721 = HEAP32[$f>>2]|0;
+ $722 = $721 & 32;
+ $723 = ($722|0)==(0);
+ if ($723) {
+ $724 = ($$41278$i|0)>(9);
+ $725 = $724 ? 9 : $$41278$i;
+ (___fwritex($s8$0$lcssa$i,$725,$f)|0);
+ }
+ $726 = ((($d$677$i)) + 4|0);
+ $727 = (($$41278$i) + -9)|0;
+ $728 = ($726>>>0)<($z$7$i$lcssa>>>0);
+ $729 = ($$41278$i|0)>(9);
+ $730 = $729 & $728;
+ if ($730) {
+ $$41278$i = $727;$d$677$i = $726;
+ } else {
+ $$412$lcssa$i = $727;
+ break;
+ }
+ }
+ } else {
+ $$412$lcssa$i = $$311$i;
+ }
+ $731 = (($$412$lcssa$i) + 9)|0;
+ _pad($f,48,$731,9,0);
+ } else {
+ $732 = ((($a$9$ph$i)) + 4|0);
+ $z$7$$i = $$lcssa162$i ? $z$7$i$lcssa : $732;
+ $733 = ($$311$i|0)>(-1);
+ if ($733) {
+ $734 = ($$pre$phi190$iZ2D|0)==(0);
+ $$589$i = $$311$i;$d$788$i = $a$9$ph$i;
+ while(1) {
+ $735 = HEAP32[$d$788$i>>2]|0;
+ $736 = (_fmt_u($735,0,$14)|0);
+ $737 = ($736|0)==($14|0);
+ if ($737) {
+ HEAP8[$16>>0] = 48;
+ $s9$0$i = $16;
+ } else {
+ $s9$0$i = $736;
+ }
+ $738 = ($d$788$i|0)==($a$9$ph$i|0);
+ do {
+ if ($738) {
+ $742 = ((($s9$0$i)) + 1|0);
+ $743 = HEAP32[$f>>2]|0;
+ $744 = $743 & 32;
+ $745 = ($744|0)==(0);
+ if ($745) {
+ (___fwritex($s9$0$i,1,$f)|0);
+ }
+ $746 = ($$589$i|0)<(1);
+ $or$cond31$i = $734 & $746;
+ if ($or$cond31$i) {
+ $s9$2$i = $742;
+ break;
+ }
+ $747 = HEAP32[$f>>2]|0;
+ $748 = $747 & 32;
+ $749 = ($748|0)==(0);
+ if (!($749)) {
+ $s9$2$i = $742;
+ break;
+ }
+ (___fwritex(67082,1,$f)|0);
+ $s9$2$i = $742;
+ } else {
+ $739 = ($s9$0$i>>>0)>($buf$i>>>0);
+ if (!($739)) {
+ $s9$2$i = $s9$0$i;
+ break;
+ }
+ $scevgep182$i = (($s9$0$i) + ($6)|0);
+ $scevgep182183$i = $scevgep182$i;
+ _memset(($buf$i|0),48,($scevgep182183$i|0))|0;
+ $s9$185$i = $s9$0$i;
+ while(1) {
+ $740 = ((($s9$185$i)) + -1|0);
+ $741 = ($740>>>0)>($buf$i>>>0);
+ if ($741) {
+ $s9$185$i = $740;
+ } else {
+ $s9$2$i = $740;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $750 = $s9$2$i;
+ $751 = (($15) - ($750))|0;
+ $752 = HEAP32[$f>>2]|0;
+ $753 = $752 & 32;
+ $754 = ($753|0)==(0);
+ if ($754) {
+ $755 = ($$589$i|0)>($751|0);
+ $756 = $755 ? $751 : $$589$i;
+ (___fwritex($s9$2$i,$756,$f)|0);
+ }
+ $757 = (($$589$i) - ($751))|0;
+ $758 = ((($d$788$i)) + 4|0);
+ $759 = ($758>>>0)<($z$7$$i>>>0);
+ $760 = ($757|0)>(-1);
+ $761 = $759 & $760;
+ if ($761) {
+ $$589$i = $757;$d$788$i = $758;
+ } else {
+ $$5$lcssa$i = $757;
+ break;
+ }
+ }
+ } else {
+ $$5$lcssa$i = $$311$i;
+ }
+ $762 = (($$5$lcssa$i) + 18)|0;
+ _pad($f,48,$762,18,0);
+ $763 = HEAP32[$f>>2]|0;
+ $764 = $763 & 32;
+ $765 = ($764|0)==(0);
+ if (!($765)) {
+ break;
+ }
+ $766 = $estr$2$i;
+ $767 = (($9) - ($766))|0;
+ (___fwritex($estr$2$i,$767,$f)|0);
+ }
+ } while(0);
+ $768 = $fl$1$ ^ 8192;
+ _pad($f,32,$w$1,$685,$768);
+ $769 = ($685|0)<($w$1|0);
+ $w$32$i = $769 ? $w$1 : $685;
+ $$0$i = $w$32$i;
+ } else {
+ $375 = $t$0 & 32;
+ $376 = ($375|0)!=(0);
+ $377 = $376 ? 67066 : 67070;
+ $378 = ($$07$i != $$07$i) | (0.0 != 0.0);
+ $379 = $376 ? 67074 : 67078;
+ $pl$1$i = $378 ? 0 : $pl$0$i;
+ $s1$0$i = $378 ? $379 : $377;
+ $380 = (($pl$1$i) + 3)|0;
+ _pad($f,32,$w$1,$380,$176);
+ $381 = HEAP32[$f>>2]|0;
+ $382 = $381 & 32;
+ $383 = ($382|0)==(0);
+ if ($383) {
+ (___fwritex($prefix$0$i,$pl$1$i,$f)|0);
+ $$pre$i = HEAP32[$f>>2]|0;
+ $385 = $$pre$i;
+ } else {
+ $385 = $381;
+ }
+ $384 = $385 & 32;
+ $386 = ($384|0)==(0);
+ if ($386) {
+ (___fwritex($s1$0$i,3,$f)|0);
+ }
+ $387 = $fl$1$ ^ 8192;
+ _pad($f,32,$w$1,$380,$387);
+ $388 = ($380|0)<($w$1|0);
+ $389 = $388 ? $w$1 : $380;
+ $$0$i = $389;
+ }
+ } while(0);
+ $cnt$0 = $cnt$1;$l$0 = $$0$i;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue L1;
+ break;
+ }
+ default: {
+ $a$2 = $s$0;$fl$6 = $fl$1$;$p$5 = $p$0;$pl$2 = 0;$prefix$2 = 67030;$z$2 = $1;
+ }
+ }
+ } while(0);
+ L311: do {
+ if ((label|0) == 64) {
+ label = 0;
+ $207 = $arg;
+ $208 = $207;
+ $209 = HEAP32[$208>>2]|0;
+ $210 = (($207) + 4)|0;
+ $211 = $210;
+ $212 = HEAP32[$211>>2]|0;
+ $213 = $t$1 & 32;
+ $214 = ($209|0)==(0);
+ $215 = ($212|0)==(0);
+ $216 = $214 & $215;
+ if ($216) {
+ $a$0 = $1;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 67030;
+ label = 77;
+ } else {
+ $$012$i = $1;$218 = $209;$225 = $212;
+ while(1) {
+ $217 = $218 & 15;
+ $219 = (67014 + ($217)|0);
+ $220 = HEAP8[$219>>0]|0;
+ $221 = $220&255;
+ $222 = $221 | $213;
+ $223 = $222&255;
+ $224 = ((($$012$i)) + -1|0);
+ HEAP8[$224>>0] = $223;
+ $226 = (_bitshift64Lshr(($218|0),($225|0),4)|0);
+ $227 = tempRet0;
+ $228 = ($226|0)==(0);
+ $229 = ($227|0)==(0);
+ $230 = $228 & $229;
+ if ($230) {
+ $$lcssa321 = $224;
+ break;
+ } else {
+ $$012$i = $224;$218 = $226;$225 = $227;
+ }
+ }
+ $231 = $arg;
+ $232 = $231;
+ $233 = HEAP32[$232>>2]|0;
+ $234 = (($231) + 4)|0;
+ $235 = $234;
+ $236 = HEAP32[$235>>2]|0;
+ $237 = ($233|0)==(0);
+ $238 = ($236|0)==(0);
+ $239 = $237 & $238;
+ $240 = $fl$3 & 8;
+ $241 = ($240|0)==(0);
+ $or$cond17 = $241 | $239;
+ if ($or$cond17) {
+ $a$0 = $$lcssa321;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 0;$prefix$1 = 67030;
+ label = 77;
+ } else {
+ $242 = $t$1 >> 4;
+ $243 = (67030 + ($242)|0);
+ $a$0 = $$lcssa321;$fl$4 = $fl$3;$p$2 = $p$1;$pl$1 = 2;$prefix$1 = $243;
+ label = 77;
+ }
+ }
+ }
+ else if ((label|0) == 76) {
+ label = 0;
+ $289 = (_fmt_u($287,$288,$1)|0);
+ $a$0 = $289;$fl$4 = $fl$1$;$p$2 = $p$0;$pl$1 = $pl$0;$prefix$1 = $prefix$0;
+ label = 77;
+ }
+ else if ((label|0) == 82) {
+ label = 0;
+ $321 = (_memchr($a$1,0,$p$0)|0);
+ $322 = ($321|0)==(0|0);
+ $323 = $321;
+ $324 = $a$1;
+ $325 = (($323) - ($324))|0;
+ $326 = (($a$1) + ($p$0)|0);
+ $z$1 = $322 ? $326 : $321;
+ $p$3 = $322 ? $p$0 : $325;
+ $a$2 = $a$1;$fl$6 = $176;$p$5 = $p$3;$pl$2 = 0;$prefix$2 = 67030;$z$2 = $z$1;
+ }
+ else if ((label|0) == 86) {
+ label = 0;
+ $i$0105 = 0;$l$1104 = 0;$ws$0106 = $798;
+ while(1) {
+ $334 = HEAP32[$ws$0106>>2]|0;
+ $335 = ($334|0)==(0);
+ if ($335) {
+ $i$0$lcssa = $i$0105;$l$2 = $l$1104;
+ break;
+ }
+ $336 = (_wctomb($mb,$334)|0);
+ $337 = ($336|0)<(0);
+ $338 = (($p$4176) - ($i$0105))|0;
+ $339 = ($336>>>0)>($338>>>0);
+ $or$cond20 = $337 | $339;
+ if ($or$cond20) {
+ $i$0$lcssa = $i$0105;$l$2 = $336;
+ break;
+ }
+ $340 = ((($ws$0106)) + 4|0);
+ $341 = (($336) + ($i$0105))|0;
+ $342 = ($p$4176>>>0)>($341>>>0);
+ if ($342) {
+ $i$0105 = $341;$l$1104 = $336;$ws$0106 = $340;
+ } else {
+ $i$0$lcssa = $341;$l$2 = $336;
+ break;
+ }
+ }
+ $343 = ($l$2|0)<(0);
+ if ($343) {
+ $$0 = -1;
+ break L1;
+ }
+ _pad($f,32,$w$1,$i$0$lcssa,$fl$1$);
+ $344 = ($i$0$lcssa|0)==(0);
+ if ($344) {
+ $i$0$lcssa178 = 0;
+ label = 97;
+ } else {
+ $i$1116 = 0;$ws$1117 = $798;
+ while(1) {
+ $345 = HEAP32[$ws$1117>>2]|0;
+ $346 = ($345|0)==(0);
+ if ($346) {
+ $i$0$lcssa178 = $i$0$lcssa;
+ label = 97;
+ break L311;
+ }
+ $347 = ((($ws$1117)) + 4|0);
+ $348 = (_wctomb($mb,$345)|0);
+ $349 = (($348) + ($i$1116))|0;
+ $350 = ($349|0)>($i$0$lcssa|0);
+ if ($350) {
+ $i$0$lcssa178 = $i$0$lcssa;
+ label = 97;
+ break L311;
+ }
+ $351 = HEAP32[$f>>2]|0;
+ $352 = $351 & 32;
+ $353 = ($352|0)==(0);
+ if ($353) {
+ (___fwritex($mb,$348,$f)|0);
+ }
+ $354 = ($349>>>0)<($i$0$lcssa>>>0);
+ if ($354) {
+ $i$1116 = $349;$ws$1117 = $347;
+ } else {
+ $i$0$lcssa178 = $i$0$lcssa;
+ label = 97;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 97) {
+ label = 0;
+ $355 = $fl$1$ ^ 8192;
+ _pad($f,32,$w$1,$i$0$lcssa178,$355);
+ $356 = ($w$1|0)>($i$0$lcssa178|0);
+ $357 = $356 ? $w$1 : $i$0$lcssa178;
+ $cnt$0 = $cnt$1;$l$0 = $357;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ continue;
+ }
+ if ((label|0) == 77) {
+ label = 0;
+ $290 = ($p$2|0)>(-1);
+ $291 = $fl$4 & -65537;
+ $$fl$4 = $290 ? $291 : $fl$4;
+ $292 = $arg;
+ $293 = $292;
+ $294 = HEAP32[$293>>2]|0;
+ $295 = (($292) + 4)|0;
+ $296 = $295;
+ $297 = HEAP32[$296>>2]|0;
+ $298 = ($294|0)!=(0);
+ $299 = ($297|0)!=(0);
+ $300 = $298 | $299;
+ $301 = ($p$2|0)!=(0);
+ $or$cond = $301 | $300;
+ if ($or$cond) {
+ $302 = $a$0;
+ $303 = (($2) - ($302))|0;
+ $304 = $300&1;
+ $305 = $304 ^ 1;
+ $306 = (($305) + ($303))|0;
+ $307 = ($p$2|0)>($306|0);
+ $p$2$ = $307 ? $p$2 : $306;
+ $a$2 = $a$0;$fl$6 = $$fl$4;$p$5 = $p$2$;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1;
+ } else {
+ $a$2 = $1;$fl$6 = $$fl$4;$p$5 = 0;$pl$2 = $pl$1;$prefix$2 = $prefix$1;$z$2 = $1;
+ }
+ }
+ $770 = $z$2;
+ $771 = $a$2;
+ $772 = (($770) - ($771))|0;
+ $773 = ($p$5|0)<($772|0);
+ $$p$5 = $773 ? $772 : $p$5;
+ $774 = (($pl$2) + ($$p$5))|0;
+ $775 = ($w$1|0)<($774|0);
+ $w$2 = $775 ? $774 : $w$1;
+ _pad($f,32,$w$2,$774,$fl$6);
+ $776 = HEAP32[$f>>2]|0;
+ $777 = $776 & 32;
+ $778 = ($777|0)==(0);
+ if ($778) {
+ (___fwritex($prefix$2,$pl$2,$f)|0);
+ }
+ $779 = $fl$6 ^ 65536;
+ _pad($f,48,$w$2,$774,$779);
+ _pad($f,48,$$p$5,$772,0);
+ $780 = HEAP32[$f>>2]|0;
+ $781 = $780 & 32;
+ $782 = ($781|0)==(0);
+ if ($782) {
+ (___fwritex($a$2,$772,$f)|0);
+ }
+ $783 = $fl$6 ^ 8192;
+ _pad($f,32,$w$2,$774,$783);
+ $cnt$0 = $cnt$1;$l$0 = $w$2;$l10n$0 = $l10n$3;$s$0 = $$lcssa300;
+ }
+ L345: do {
+ if ((label|0) == 244) {
+ $784 = ($f|0)==(0|0);
+ if ($784) {
+ $785 = ($l10n$0$lcssa|0)==(0);
+ if ($785) {
+ $$0 = 0;
+ } else {
+ $i$291 = 1;
+ while(1) {
+ $786 = (($nl_type) + ($i$291<<2)|0);
+ $787 = HEAP32[$786>>2]|0;
+ $788 = ($787|0)==(0);
+ if ($788) {
+ $i$291$lcssa = $i$291;
+ break;
+ }
+ $790 = (($nl_arg) + ($i$291<<3)|0);
+ _pop_arg_180($790,$787,$ap);
+ $791 = (($i$291) + 1)|0;
+ $792 = ($791|0)<(10);
+ if ($792) {
+ $i$291 = $791;
+ } else {
+ $$0 = 1;
+ break L345;
+ }
+ }
+ $789 = ($i$291$lcssa|0)<(10);
+ if ($789) {
+ $i$389 = $i$291$lcssa;
+ while(1) {
+ $795 = (($nl_type) + ($i$389<<2)|0);
+ $796 = HEAP32[$795>>2]|0;
+ $797 = ($796|0)==(0);
+ $793 = (($i$389) + 1)|0;
+ if (!($797)) {
+ $$0 = -1;
+ break L345;
+ }
+ $794 = ($793|0)<(10);
+ if ($794) {
+ $i$389 = $793;
+ } else {
+ $$0 = 1;
+ break;
+ }
+ }
+ } else {
+ $$0 = 1;
+ }
+ }
+ } else {
+ $$0 = $cnt$1$lcssa;
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function ___fwritex($s,$l,$f) {
+ $s = $s|0;
+ $l = $l|0;
+ $f = $f|0;
+ var $$0 = 0, $$01 = 0, $$02 = 0, $$pre = 0, $$pre6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$0 = 0, $i$0$lcssa12 = 0;
+ var $i$1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 16|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $4 = (___towrite($f)|0);
+ $5 = ($4|0)==(0);
+ if ($5) {
+ $$pre = HEAP32[$0>>2]|0;
+ $9 = $$pre;
+ label = 5;
+ } else {
+ $$0 = 0;
+ }
+ } else {
+ $3 = $1;
+ $9 = $3;
+ label = 5;
+ }
+ L5: do {
+ if ((label|0) == 5) {
+ $6 = ((($f)) + 20|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = (($9) - ($7))|0;
+ $10 = ($8>>>0)<($l>>>0);
+ $11 = $7;
+ if ($10) {
+ $12 = ((($f)) + 36|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (FUNCTION_TABLE_iiii[$13 & 127]($f,$s,$l)|0);
+ $$0 = $14;
+ break;
+ }
+ $15 = ((($f)) + 75|0);
+ $16 = HEAP8[$15>>0]|0;
+ $17 = ($16<<24>>24)>(-1);
+ L10: do {
+ if ($17) {
+ $i$0 = $l;
+ while(1) {
+ $18 = ($i$0|0)==(0);
+ if ($18) {
+ $$01 = $l;$$02 = $s;$29 = $11;$i$1 = 0;
+ break L10;
+ }
+ $19 = (($i$0) + -1)|0;
+ $20 = (($s) + ($19)|0);
+ $21 = HEAP8[$20>>0]|0;
+ $22 = ($21<<24>>24)==(10);
+ if ($22) {
+ $i$0$lcssa12 = $i$0;
+ break;
+ } else {
+ $i$0 = $19;
+ }
+ }
+ $23 = ((($f)) + 36|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = (FUNCTION_TABLE_iiii[$24 & 127]($f,$s,$i$0$lcssa12)|0);
+ $26 = ($25>>>0)<($i$0$lcssa12>>>0);
+ if ($26) {
+ $$0 = $i$0$lcssa12;
+ break L5;
+ }
+ $27 = (($s) + ($i$0$lcssa12)|0);
+ $28 = (($l) - ($i$0$lcssa12))|0;
+ $$pre6 = HEAP32[$6>>2]|0;
+ $$01 = $28;$$02 = $27;$29 = $$pre6;$i$1 = $i$0$lcssa12;
+ } else {
+ $$01 = $l;$$02 = $s;$29 = $11;$i$1 = 0;
+ }
+ } while(0);
+ _memcpy(($29|0),($$02|0),($$01|0))|0;
+ $30 = HEAP32[$6>>2]|0;
+ $31 = (($30) + ($$01)|0);
+ HEAP32[$6>>2] = $31;
+ $32 = (($i$1) + ($$01))|0;
+ $$0 = $32;
+ }
+ } while(0);
+ return ($$0|0);
+}
+function ___towrite($f) {
+ $f = $f|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 74|0);
+ $1 = HEAP8[$0>>0]|0;
+ $2 = $1 << 24 >> 24;
+ $3 = (($2) + 255)|0;
+ $4 = $3 | $2;
+ $5 = $4&255;
+ HEAP8[$0>>0] = $5;
+ $6 = HEAP32[$f>>2]|0;
+ $7 = $6 & 8;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $10 = ((($f)) + 8|0);
+ HEAP32[$10>>2] = 0;
+ $11 = ((($f)) + 4|0);
+ HEAP32[$11>>2] = 0;
+ $12 = ((($f)) + 44|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ((($f)) + 28|0);
+ HEAP32[$14>>2] = $13;
+ $15 = ((($f)) + 20|0);
+ HEAP32[$15>>2] = $13;
+ $16 = $13;
+ $17 = ((($f)) + 48|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = (($16) + ($18)|0);
+ $20 = ((($f)) + 16|0);
+ HEAP32[$20>>2] = $19;
+ $$0 = 0;
+ } else {
+ $9 = $6 | 32;
+ HEAP32[$f>>2] = $9;
+ $$0 = -1;
+ }
+ return ($$0|0);
+}
+function _pop_arg_180($arg,$type,$ap) {
+ $arg = $arg|0;
+ $type = $type|0;
+ $ap = $ap|0;
+ var $$mask = 0, $$mask1 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0;
+ var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
+ var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
+ var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
+ var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
+ var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
+ var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
+ var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
+ var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
+ var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($type>>>0)>(20);
+ L1: do {
+ if (!($0)) {
+ do {
+ switch ($type|0) {
+ case 9: {
+ $arglist_current = HEAP32[$ap>>2]|0;
+ $1 = $arglist_current;
+ $2 = ((0) + 4|0);
+ $expanded28 = $2;
+ $expanded = (($expanded28) - 1)|0;
+ $3 = (($1) + ($expanded))|0;
+ $4 = ((0) + 4|0);
+ $expanded32 = $4;
+ $expanded31 = (($expanded32) - 1)|0;
+ $expanded30 = $expanded31 ^ -1;
+ $5 = $3 & $expanded30;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $arglist_next = ((($6)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next;
+ HEAP32[$arg>>2] = $7;
+ break L1;
+ break;
+ }
+ case 10: {
+ $arglist_current2 = HEAP32[$ap>>2]|0;
+ $8 = $arglist_current2;
+ $9 = ((0) + 4|0);
+ $expanded35 = $9;
+ $expanded34 = (($expanded35) - 1)|0;
+ $10 = (($8) + ($expanded34))|0;
+ $11 = ((0) + 4|0);
+ $expanded39 = $11;
+ $expanded38 = (($expanded39) - 1)|0;
+ $expanded37 = $expanded38 ^ -1;
+ $12 = $10 & $expanded37;
+ $13 = $12;
+ $14 = HEAP32[$13>>2]|0;
+ $arglist_next3 = ((($13)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next3;
+ $15 = ($14|0)<(0);
+ $16 = $15 << 31 >> 31;
+ $17 = $arg;
+ $18 = $17;
+ HEAP32[$18>>2] = $14;
+ $19 = (($17) + 4)|0;
+ $20 = $19;
+ HEAP32[$20>>2] = $16;
+ break L1;
+ break;
+ }
+ case 11: {
+ $arglist_current5 = HEAP32[$ap>>2]|0;
+ $21 = $arglist_current5;
+ $22 = ((0) + 4|0);
+ $expanded42 = $22;
+ $expanded41 = (($expanded42) - 1)|0;
+ $23 = (($21) + ($expanded41))|0;
+ $24 = ((0) + 4|0);
+ $expanded46 = $24;
+ $expanded45 = (($expanded46) - 1)|0;
+ $expanded44 = $expanded45 ^ -1;
+ $25 = $23 & $expanded44;
+ $26 = $25;
+ $27 = HEAP32[$26>>2]|0;
+ $arglist_next6 = ((($26)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next6;
+ $28 = $arg;
+ $29 = $28;
+ HEAP32[$29>>2] = $27;
+ $30 = (($28) + 4)|0;
+ $31 = $30;
+ HEAP32[$31>>2] = 0;
+ break L1;
+ break;
+ }
+ case 12: {
+ $arglist_current8 = HEAP32[$ap>>2]|0;
+ $32 = $arglist_current8;
+ $33 = ((0) + 8|0);
+ $expanded49 = $33;
+ $expanded48 = (($expanded49) - 1)|0;
+ $34 = (($32) + ($expanded48))|0;
+ $35 = ((0) + 8|0);
+ $expanded53 = $35;
+ $expanded52 = (($expanded53) - 1)|0;
+ $expanded51 = $expanded52 ^ -1;
+ $36 = $34 & $expanded51;
+ $37 = $36;
+ $38 = $37;
+ $39 = $38;
+ $40 = HEAP32[$39>>2]|0;
+ $41 = (($38) + 4)|0;
+ $42 = $41;
+ $43 = HEAP32[$42>>2]|0;
+ $arglist_next9 = ((($37)) + 8|0);
+ HEAP32[$ap>>2] = $arglist_next9;
+ $44 = $arg;
+ $45 = $44;
+ HEAP32[$45>>2] = $40;
+ $46 = (($44) + 4)|0;
+ $47 = $46;
+ HEAP32[$47>>2] = $43;
+ break L1;
+ break;
+ }
+ case 13: {
+ $arglist_current11 = HEAP32[$ap>>2]|0;
+ $48 = $arglist_current11;
+ $49 = ((0) + 4|0);
+ $expanded56 = $49;
+ $expanded55 = (($expanded56) - 1)|0;
+ $50 = (($48) + ($expanded55))|0;
+ $51 = ((0) + 4|0);
+ $expanded60 = $51;
+ $expanded59 = (($expanded60) - 1)|0;
+ $expanded58 = $expanded59 ^ -1;
+ $52 = $50 & $expanded58;
+ $53 = $52;
+ $54 = HEAP32[$53>>2]|0;
+ $arglist_next12 = ((($53)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next12;
+ $55 = $54&65535;
+ $56 = $55 << 16 >> 16;
+ $57 = ($56|0)<(0);
+ $58 = $57 << 31 >> 31;
+ $59 = $arg;
+ $60 = $59;
+ HEAP32[$60>>2] = $56;
+ $61 = (($59) + 4)|0;
+ $62 = $61;
+ HEAP32[$62>>2] = $58;
+ break L1;
+ break;
+ }
+ case 14: {
+ $arglist_current14 = HEAP32[$ap>>2]|0;
+ $63 = $arglist_current14;
+ $64 = ((0) + 4|0);
+ $expanded63 = $64;
+ $expanded62 = (($expanded63) - 1)|0;
+ $65 = (($63) + ($expanded62))|0;
+ $66 = ((0) + 4|0);
+ $expanded67 = $66;
+ $expanded66 = (($expanded67) - 1)|0;
+ $expanded65 = $expanded66 ^ -1;
+ $67 = $65 & $expanded65;
+ $68 = $67;
+ $69 = HEAP32[$68>>2]|0;
+ $arglist_next15 = ((($68)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next15;
+ $$mask1 = $69 & 65535;
+ $70 = $arg;
+ $71 = $70;
+ HEAP32[$71>>2] = $$mask1;
+ $72 = (($70) + 4)|0;
+ $73 = $72;
+ HEAP32[$73>>2] = 0;
+ break L1;
+ break;
+ }
+ case 15: {
+ $arglist_current17 = HEAP32[$ap>>2]|0;
+ $74 = $arglist_current17;
+ $75 = ((0) + 4|0);
+ $expanded70 = $75;
+ $expanded69 = (($expanded70) - 1)|0;
+ $76 = (($74) + ($expanded69))|0;
+ $77 = ((0) + 4|0);
+ $expanded74 = $77;
+ $expanded73 = (($expanded74) - 1)|0;
+ $expanded72 = $expanded73 ^ -1;
+ $78 = $76 & $expanded72;
+ $79 = $78;
+ $80 = HEAP32[$79>>2]|0;
+ $arglist_next18 = ((($79)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next18;
+ $81 = $80&255;
+ $82 = $81 << 24 >> 24;
+ $83 = ($82|0)<(0);
+ $84 = $83 << 31 >> 31;
+ $85 = $arg;
+ $86 = $85;
+ HEAP32[$86>>2] = $82;
+ $87 = (($85) + 4)|0;
+ $88 = $87;
+ HEAP32[$88>>2] = $84;
+ break L1;
+ break;
+ }
+ case 16: {
+ $arglist_current20 = HEAP32[$ap>>2]|0;
+ $89 = $arglist_current20;
+ $90 = ((0) + 4|0);
+ $expanded77 = $90;
+ $expanded76 = (($expanded77) - 1)|0;
+ $91 = (($89) + ($expanded76))|0;
+ $92 = ((0) + 4|0);
+ $expanded81 = $92;
+ $expanded80 = (($expanded81) - 1)|0;
+ $expanded79 = $expanded80 ^ -1;
+ $93 = $91 & $expanded79;
+ $94 = $93;
+ $95 = HEAP32[$94>>2]|0;
+ $arglist_next21 = ((($94)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next21;
+ $$mask = $95 & 255;
+ $96 = $arg;
+ $97 = $96;
+ HEAP32[$97>>2] = $$mask;
+ $98 = (($96) + 4)|0;
+ $99 = $98;
+ HEAP32[$99>>2] = 0;
+ break L1;
+ break;
+ }
+ case 17: {
+ $arglist_current23 = HEAP32[$ap>>2]|0;
+ $100 = $arglist_current23;
+ $101 = ((0) + 8|0);
+ $expanded84 = $101;
+ $expanded83 = (($expanded84) - 1)|0;
+ $102 = (($100) + ($expanded83))|0;
+ $103 = ((0) + 8|0);
+ $expanded88 = $103;
+ $expanded87 = (($expanded88) - 1)|0;
+ $expanded86 = $expanded87 ^ -1;
+ $104 = $102 & $expanded86;
+ $105 = $104;
+ $106 = +HEAPF64[$105>>3];
+ $arglist_next24 = ((($105)) + 8|0);
+ HEAP32[$ap>>2] = $arglist_next24;
+ HEAPF64[$arg>>3] = $106;
+ break L1;
+ break;
+ }
+ case 18: {
+ $arglist_current26 = HEAP32[$ap>>2]|0;
+ $107 = $arglist_current26;
+ $108 = ((0) + 8|0);
+ $expanded91 = $108;
+ $expanded90 = (($expanded91) - 1)|0;
+ $109 = (($107) + ($expanded90))|0;
+ $110 = ((0) + 8|0);
+ $expanded95 = $110;
+ $expanded94 = (($expanded95) - 1)|0;
+ $expanded93 = $expanded94 ^ -1;
+ $111 = $109 & $expanded93;
+ $112 = $111;
+ $113 = +HEAPF64[$112>>3];
+ $arglist_next27 = ((($112)) + 8|0);
+ HEAP32[$ap>>2] = $arglist_next27;
+ HEAPF64[$arg>>3] = $113;
+ break L1;
+ break;
+ }
+ default: {
+ break L1;
+ }
+ }
+ } while(0);
+ }
+ } while(0);
+ return;
+}
+function _fmt_u($0,$1,$s) {
+ $0 = $0|0;
+ $1 = $1|0;
+ $s = $s|0;
+ var $$0$lcssa = 0, $$01$lcssa$off0 = 0, $$05 = 0, $$1$lcssa = 0, $$12 = 0, $$lcssa19 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $y$03 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($1>>>0)>(0);
+ $3 = ($0>>>0)>(4294967295);
+ $4 = ($1|0)==(0);
+ $5 = $4 & $3;
+ $6 = $2 | $5;
+ if ($6) {
+ $$05 = $s;$7 = $0;$8 = $1;
+ while(1) {
+ $9 = (___uremdi3(($7|0),($8|0),10,0)|0);
+ $10 = tempRet0;
+ $11 = $9 | 48;
+ $12 = $11&255;
+ $13 = ((($$05)) + -1|0);
+ HEAP8[$13>>0] = $12;
+ $14 = (___udivdi3(($7|0),($8|0),10,0)|0);
+ $15 = tempRet0;
+ $16 = ($8>>>0)>(9);
+ $17 = ($7>>>0)>(4294967295);
+ $18 = ($8|0)==(9);
+ $19 = $18 & $17;
+ $20 = $16 | $19;
+ if ($20) {
+ $$05 = $13;$7 = $14;$8 = $15;
+ } else {
+ $$lcssa19 = $13;$28 = $14;$29 = $15;
+ break;
+ }
+ }
+ $$0$lcssa = $$lcssa19;$$01$lcssa$off0 = $28;
+ } else {
+ $$0$lcssa = $s;$$01$lcssa$off0 = $0;
+ }
+ $21 = ($$01$lcssa$off0|0)==(0);
+ if ($21) {
+ $$1$lcssa = $$0$lcssa;
+ } else {
+ $$12 = $$0$lcssa;$y$03 = $$01$lcssa$off0;
+ while(1) {
+ $22 = (($y$03>>>0) % 10)&-1;
+ $23 = $22 | 48;
+ $24 = $23&255;
+ $25 = ((($$12)) + -1|0);
+ HEAP8[$25>>0] = $24;
+ $26 = (($y$03>>>0) / 10)&-1;
+ $27 = ($y$03>>>0)<(10);
+ if ($27) {
+ $$1$lcssa = $25;
+ break;
+ } else {
+ $$12 = $25;$y$03 = $26;
+ }
+ }
+ }
+ return ($$1$lcssa|0);
+}
+function _memchr($src,$c,$n) {
+ $src = $src|0;
+ $c = $c|0;
+ $n = $n|0;
+ var $$0$lcssa = 0, $$0$lcssa30 = 0, $$019 = 0, $$1$lcssa = 0, $$110 = 0, $$110$lcssa = 0, $$24 = 0, $$3 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, $s$0$lcssa = 0, $s$0$lcssa29 = 0, $s$020 = 0, $s$15 = 0, $s$2 = 0, $w$0$lcssa = 0, $w$011 = 0, $w$011$lcssa = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $c & 255;
+ $1 = $src;
+ $2 = $1 & 3;
+ $3 = ($2|0)!=(0);
+ $4 = ($n|0)!=(0);
+ $or$cond18 = $4 & $3;
+ L1: do {
+ if ($or$cond18) {
+ $5 = $c&255;
+ $$019 = $n;$s$020 = $src;
+ while(1) {
+ $6 = HEAP8[$s$020>>0]|0;
+ $7 = ($6<<24>>24)==($5<<24>>24);
+ if ($7) {
+ $$0$lcssa30 = $$019;$s$0$lcssa29 = $s$020;
+ label = 6;
+ break L1;
+ }
+ $8 = ((($s$020)) + 1|0);
+ $9 = (($$019) + -1)|0;
+ $10 = $8;
+ $11 = $10 & 3;
+ $12 = ($11|0)!=(0);
+ $13 = ($9|0)!=(0);
+ $or$cond = $13 & $12;
+ if ($or$cond) {
+ $$019 = $9;$s$020 = $8;
+ } else {
+ $$0$lcssa = $9;$$lcssa = $13;$s$0$lcssa = $8;
+ label = 5;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $n;$$lcssa = $4;$s$0$lcssa = $src;
+ label = 5;
+ }
+ } while(0);
+ if ((label|0) == 5) {
+ if ($$lcssa) {
+ $$0$lcssa30 = $$0$lcssa;$s$0$lcssa29 = $s$0$lcssa;
+ label = 6;
+ } else {
+ $$3 = 0;$s$2 = $s$0$lcssa;
+ }
+ }
+ L8: do {
+ if ((label|0) == 6) {
+ $14 = HEAP8[$s$0$lcssa29>>0]|0;
+ $15 = $c&255;
+ $16 = ($14<<24>>24)==($15<<24>>24);
+ if ($16) {
+ $$3 = $$0$lcssa30;$s$2 = $s$0$lcssa29;
+ } else {
+ $17 = Math_imul($0, 16843009)|0;
+ $18 = ($$0$lcssa30>>>0)>(3);
+ L11: do {
+ if ($18) {
+ $$110 = $$0$lcssa30;$w$011 = $s$0$lcssa29;
+ while(1) {
+ $19 = HEAP32[$w$011>>2]|0;
+ $20 = $19 ^ $17;
+ $21 = (($20) + -16843009)|0;
+ $22 = $20 & -2139062144;
+ $23 = $22 ^ -2139062144;
+ $24 = $23 & $21;
+ $25 = ($24|0)==(0);
+ if (!($25)) {
+ $$110$lcssa = $$110;$w$011$lcssa = $w$011;
+ break;
+ }
+ $26 = ((($w$011)) + 4|0);
+ $27 = (($$110) + -4)|0;
+ $28 = ($27>>>0)>(3);
+ if ($28) {
+ $$110 = $27;$w$011 = $26;
+ } else {
+ $$1$lcssa = $27;$w$0$lcssa = $26;
+ label = 11;
+ break L11;
+ }
+ }
+ $$24 = $$110$lcssa;$s$15 = $w$011$lcssa;
+ } else {
+ $$1$lcssa = $$0$lcssa30;$w$0$lcssa = $s$0$lcssa29;
+ label = 11;
+ }
+ } while(0);
+ if ((label|0) == 11) {
+ $29 = ($$1$lcssa|0)==(0);
+ if ($29) {
+ $$3 = 0;$s$2 = $w$0$lcssa;
+ break;
+ } else {
+ $$24 = $$1$lcssa;$s$15 = $w$0$lcssa;
+ }
+ }
+ while(1) {
+ $30 = HEAP8[$s$15>>0]|0;
+ $31 = ($30<<24>>24)==($15<<24>>24);
+ if ($31) {
+ $$3 = $$24;$s$2 = $s$15;
+ break L8;
+ }
+ $32 = ((($s$15)) + 1|0);
+ $33 = (($$24) + -1)|0;
+ $34 = ($33|0)==(0);
+ if ($34) {
+ $$3 = 0;$s$2 = $32;
+ break;
+ } else {
+ $$24 = $33;$s$15 = $32;
+ }
+ }
+ }
+ }
+ } while(0);
+ $35 = ($$3|0)!=(0);
+ $36 = $35 ? $s$2 : 0;
+ return ($36|0);
+}
+function _pad($f,$c,$w,$l,$fl) {
+ $f = $f|0;
+ $c = $c|0;
+ $w = $w|0;
+ $l = $l|0;
+ $fl = $fl|0;
+ var $$0$lcssa6 = 0, $$02 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $or$cond = 0, $pad = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $pad = sp;
+ $0 = $fl & 73728;
+ $1 = ($0|0)==(0);
+ $2 = ($w|0)>($l|0);
+ $or$cond = $2 & $1;
+ do {
+ if ($or$cond) {
+ $3 = (($w) - ($l))|0;
+ $4 = ($3>>>0)>(256);
+ $5 = $4 ? 256 : $3;
+ _memset(($pad|0),($c|0),($5|0))|0;
+ $6 = ($3>>>0)>(255);
+ $7 = HEAP32[$f>>2]|0;
+ $8 = $7 & 32;
+ $9 = ($8|0)==(0);
+ if ($6) {
+ $10 = (($w) - ($l))|0;
+ $$02 = $3;$17 = $7;$18 = $9;
+ while(1) {
+ if ($18) {
+ (___fwritex($pad,256,$f)|0);
+ $$pre = HEAP32[$f>>2]|0;
+ $14 = $$pre;
+ } else {
+ $14 = $17;
+ }
+ $11 = (($$02) + -256)|0;
+ $12 = ($11>>>0)>(255);
+ $13 = $14 & 32;
+ $15 = ($13|0)==(0);
+ if ($12) {
+ $$02 = $11;$17 = $14;$18 = $15;
+ } else {
+ break;
+ }
+ }
+ $16 = $10 & 255;
+ if ($15) {
+ $$0$lcssa6 = $16;
+ } else {
+ break;
+ }
+ } else {
+ if ($9) {
+ $$0$lcssa6 = $3;
+ } else {
+ break;
+ }
+ }
+ (___fwritex($pad,$$0$lcssa6,$f)|0);
+ }
+ } while(0);
+ STACKTOP = sp;return;
+}
+function _wctomb($s,$wc) {
+ $s = $s|0;
+ $wc = $wc|0;
+ var $$0 = 0, $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($s|0)==(0|0);
+ if ($0) {
+ $$0 = 0;
+ } else {
+ $1 = (_wcrtomb($s,$wc,0)|0);
+ $$0 = $1;
+ }
+ return ($$0|0);
+}
+function _wcrtomb($s,$wc,$st) {
+ $s = $s|0;
+ $wc = $wc|0;
+ $st = $st|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($s|0)==(0|0);
+ do {
+ if ($0) {
+ $$0 = 1;
+ } else {
+ $1 = ($wc>>>0)<(128);
+ if ($1) {
+ $2 = $wc&255;
+ HEAP8[$s>>0] = $2;
+ $$0 = 1;
+ break;
+ }
+ $3 = ($wc>>>0)<(2048);
+ if ($3) {
+ $4 = $wc >>> 6;
+ $5 = $4 | 192;
+ $6 = $5&255;
+ $7 = ((($s)) + 1|0);
+ HEAP8[$s>>0] = $6;
+ $8 = $wc & 63;
+ $9 = $8 | 128;
+ $10 = $9&255;
+ HEAP8[$7>>0] = $10;
+ $$0 = 2;
+ break;
+ }
+ $11 = ($wc>>>0)<(55296);
+ $12 = $wc & -8192;
+ $13 = ($12|0)==(57344);
+ $or$cond = $11 | $13;
+ if ($or$cond) {
+ $14 = $wc >>> 12;
+ $15 = $14 | 224;
+ $16 = $15&255;
+ $17 = ((($s)) + 1|0);
+ HEAP8[$s>>0] = $16;
+ $18 = $wc >>> 6;
+ $19 = $18 & 63;
+ $20 = $19 | 128;
+ $21 = $20&255;
+ $22 = ((($s)) + 2|0);
+ HEAP8[$17>>0] = $21;
+ $23 = $wc & 63;
+ $24 = $23 | 128;
+ $25 = $24&255;
+ HEAP8[$22>>0] = $25;
+ $$0 = 3;
+ break;
+ }
+ $26 = (($wc) + -65536)|0;
+ $27 = ($26>>>0)<(1048576);
+ if ($27) {
+ $28 = $wc >>> 18;
+ $29 = $28 | 240;
+ $30 = $29&255;
+ $31 = ((($s)) + 1|0);
+ HEAP8[$s>>0] = $30;
+ $32 = $wc >>> 12;
+ $33 = $32 & 63;
+ $34 = $33 | 128;
+ $35 = $34&255;
+ $36 = ((($s)) + 2|0);
+ HEAP8[$31>>0] = $35;
+ $37 = $wc >>> 6;
+ $38 = $37 & 63;
+ $39 = $38 | 128;
+ $40 = $39&255;
+ $41 = ((($s)) + 3|0);
+ HEAP8[$36>>0] = $40;
+ $42 = $wc & 63;
+ $43 = $42 | 128;
+ $44 = $43&255;
+ HEAP8[$41>>0] = $44;
+ $$0 = 4;
+ break;
+ } else {
+ $45 = (___errno_location()|0);
+ HEAP32[$45>>2] = 84;
+ $$0 = -1;
+ break;
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _frexpl($x,$e) {
+ $x = +$x;
+ $e = $e|0;
+ var $0 = 0.0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (+_frexp($x,$e));
+ return (+$0);
+}
+function _frexp($x,$e) {
+ $x = +$x;
+ $e = $e|0;
+ var $$0 = 0.0, $$01 = 0.0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $storemerge = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ HEAPF64[tempDoublePtr>>3] = $x;$0 = HEAP32[tempDoublePtr>>2]|0;
+ $1 = HEAP32[tempDoublePtr+4>>2]|0;
+ $2 = (_bitshift64Lshr(($0|0),($1|0),52)|0);
+ $3 = tempRet0;
+ $4 = $2 & 2047;
+ switch ($4|0) {
+ case 0: {
+ $5 = $x != 0.0;
+ if ($5) {
+ $6 = $x * 1.8446744073709552E+19;
+ $7 = (+_frexp($6,$e));
+ $8 = HEAP32[$e>>2]|0;
+ $9 = (($8) + -64)|0;
+ $$01 = $7;$storemerge = $9;
+ } else {
+ $$01 = $x;$storemerge = 0;
+ }
+ HEAP32[$e>>2] = $storemerge;
+ $$0 = $$01;
+ break;
+ }
+ case 2047: {
+ $$0 = $x;
+ break;
+ }
+ default: {
+ $10 = (($4) + -1022)|0;
+ HEAP32[$e>>2] = $10;
+ $11 = $1 & -2146435073;
+ $12 = $11 | 1071644672;
+ HEAP32[tempDoublePtr>>2] = $0;HEAP32[tempDoublePtr+4>>2] = $12;$13 = +HEAPF64[tempDoublePtr>>3];
+ $$0 = $13;
+ }
+ }
+ return (+$$0);
+}
+function ___lockfile($f) {
+ $f = $f|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return 0;
+}
+function _toupper($c) {
+ $c = $c|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_islower($c)|0);
+ $1 = ($0|0)==(0);
+ $2 = $c & 95;
+ $$0 = $1 ? $c : $2;
+ return ($$0|0);
+}
+function _strlen($s) {
+ $s = $s|0;
+ var $$0 = 0, $$01$lcssa = 0, $$014 = 0, $$1$lcssa = 0, $$lcssa20 = 0, $$pn = 0, $$pn15 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
+ var $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w$0 = 0, $w$0$lcssa = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $s;
+ $1 = $0 & 3;
+ $2 = ($1|0)==(0);
+ L1: do {
+ if ($2) {
+ $$01$lcssa = $s;
+ label = 4;
+ } else {
+ $$014 = $s;$21 = $0;
+ while(1) {
+ $3 = HEAP8[$$014>>0]|0;
+ $4 = ($3<<24>>24)==(0);
+ if ($4) {
+ $$pn = $21;
+ break L1;
+ }
+ $5 = ((($$014)) + 1|0);
+ $6 = $5;
+ $7 = $6 & 3;
+ $8 = ($7|0)==(0);
+ if ($8) {
+ $$01$lcssa = $5;
+ label = 4;
+ break;
+ } else {
+ $$014 = $5;$21 = $6;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 4) {
+ $w$0 = $$01$lcssa;
+ while(1) {
+ $9 = HEAP32[$w$0>>2]|0;
+ $10 = (($9) + -16843009)|0;
+ $11 = $9 & -2139062144;
+ $12 = $11 ^ -2139062144;
+ $13 = $12 & $10;
+ $14 = ($13|0)==(0);
+ $15 = ((($w$0)) + 4|0);
+ if ($14) {
+ $w$0 = $15;
+ } else {
+ $$lcssa20 = $9;$w$0$lcssa = $w$0;
+ break;
+ }
+ }
+ $16 = $$lcssa20&255;
+ $17 = ($16<<24>>24)==(0);
+ if ($17) {
+ $$1$lcssa = $w$0$lcssa;
+ } else {
+ $$pn15 = $w$0$lcssa;
+ while(1) {
+ $18 = ((($$pn15)) + 1|0);
+ $$pre = HEAP8[$18>>0]|0;
+ $19 = ($$pre<<24>>24)==(0);
+ if ($19) {
+ $$1$lcssa = $18;
+ break;
+ } else {
+ $$pn15 = $18;
+ }
+ }
+ }
+ $20 = $$1$lcssa;
+ $$pn = $20;
+ }
+ $$0 = (($$pn) - ($0))|0;
+ return ($$0|0);
+}
+function _iswlower($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_towupper($wc)|0);
+ $1 = ($0|0)!=($wc|0);
+ $2 = ($wc|0)==(223);
+ $3 = $2 | $1;
+ $4 = $3&1;
+ return ($4|0);
+}
+function _iswprint($wc) {
+ $wc = $wc|0;
+ var $$ = 0, $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($wc>>>0)<(255);
+ if ($0) {
+ $1 = (($wc) + 1)|0;
+ $2 = $1 & 127;
+ $3 = ($2>>>0)>(32);
+ $4 = $3&1;
+ $$0 = $4;
+ } else {
+ $5 = ($wc>>>0)<(8232);
+ $6 = (($wc) + -8234)|0;
+ $7 = ($6>>>0)<(47062);
+ $or$cond = $5 | $7;
+ $8 = (($wc) + -57344)|0;
+ $9 = ($8>>>0)<(8185);
+ $or$cond3 = $9 | $or$cond;
+ if ($or$cond3) {
+ $$0 = 1;
+ } else {
+ $10 = (($wc) + -65532)|0;
+ $11 = ($10>>>0)>(1048579);
+ $12 = $wc & 65534;
+ $13 = ($12|0)==(65534);
+ $or$cond5 = $11 | $13;
+ $14 = $or$cond5&1;
+ $$ = $14 ^ 1;
+ return ($$|0);
+ }
+ }
+ return ($$0|0);
+}
+function _iswctype($wc,$type) {
+ $wc = $wc|0;
+ $type = $type|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ do {
+ switch ($type|0) {
+ case 1: {
+ $0 = (_iswalnum($wc)|0);
+ $$0 = $0;
+ break;
+ }
+ case 2: {
+ $1 = (_iswalpha($wc)|0);
+ $$0 = $1;
+ break;
+ }
+ case 3: {
+ $2 = (_iswblank($wc)|0);
+ $$0 = $2;
+ break;
+ }
+ case 4: {
+ $3 = (_iswcntrl($wc)|0);
+ $$0 = $3;
+ break;
+ }
+ case 5: {
+ $4 = (_iswdigit($wc)|0);
+ $$0 = $4;
+ break;
+ }
+ case 6: {
+ $5 = (_iswgraph($wc)|0);
+ $$0 = $5;
+ break;
+ }
+ case 7: {
+ $6 = (_iswlower($wc)|0);
+ $$0 = $6;
+ break;
+ }
+ case 8: {
+ $7 = (_iswprint($wc)|0);
+ $$0 = $7;
+ break;
+ }
+ case 9: {
+ $8 = (_iswpunct($wc)|0);
+ $$0 = $8;
+ break;
+ }
+ case 10: {
+ $9 = (_iswspace($wc)|0);
+ $$0 = $9;
+ break;
+ }
+ case 11: {
+ $10 = (_iswupper($wc)|0);
+ $$0 = $10;
+ break;
+ }
+ case 12: {
+ $11 = (_iswxdigit($wc)|0);
+ $$0 = $11;
+ break;
+ }
+ default: {
+ $$0 = 0;
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _iswalnum($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_iswdigit($wc)|0);
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $2 = (_iswalpha($wc)|0);
+ $3 = ($2|0)!=(0);
+ $5 = $3;
+ } else {
+ $5 = 1;
+ }
+ $4 = $5&1;
+ return ($4|0);
+}
+function _iswdigit($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($wc) + -48)|0;
+ $1 = ($0>>>0)<(10);
+ $2 = $1&1;
+ return ($2|0);
+}
+function _iswcntrl($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($wc>>>0)<(32);
+ $1 = (($wc) + -127)|0;
+ $2 = ($1>>>0)<(33);
+ $or$cond = $0 | $2;
+ $3 = $wc & -2;
+ $4 = ($3|0)==(8232);
+ $or$cond3 = $4 | $or$cond;
+ if ($or$cond3) {
+ $8 = 1;
+ } else {
+ $5 = (($wc) + -65529)|0;
+ $6 = ($5>>>0)<(3);
+ $8 = $6;
+ }
+ $7 = $8&1;
+ return ($7|0);
+}
+function _iswgraph($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_iswspace($wc)|0);
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $2 = (_iswprint($wc)|0);
+ $3 = ($2|0)!=(0);
+ $5 = $3;
+ } else {
+ $5 = 0;
+ }
+ $4 = $5&1;
+ return ($4|0);
+}
+function _iswpunct($wc) {
+ $wc = $wc|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($wc>>>0)<(131072);
+ if ($0) {
+ $1 = $wc >>> 8;
+ $2 = (67084 + ($1)|0);
+ $3 = HEAP8[$2>>0]|0;
+ $4 = $3&255;
+ $5 = $4 << 5;
+ $6 = $wc >>> 3;
+ $7 = $6 & 31;
+ $8 = $5 | $7;
+ $9 = (67084 + ($8)|0);
+ $10 = HEAP8[$9>>0]|0;
+ $11 = $10&255;
+ $12 = $wc & 7;
+ $13 = $11 >>> $12;
+ $14 = $13 & 1;
+ $$0 = $14;
+ } else {
+ $$0 = 0;
+ }
+ return ($$0|0);
+}
+function _iswupper($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_towlower($wc)|0);
+ $1 = ($0|0)!=($wc|0);
+ $2 = $1&1;
+ return ($2|0);
+}
+function _iswxdigit($wc) {
+ $wc = $wc|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($wc) + -48)|0;
+ $1 = ($0>>>0)<(10);
+ if ($1) {
+ $6 = 1;
+ } else {
+ $2 = $wc | 32;
+ $3 = (($2) + -97)|0;
+ $4 = ($3>>>0)<(6);
+ $6 = $4;
+ }
+ $5 = $6&1;
+ return ($5|0);
+}
+function _strcasecmp($_l,$_r) {
+ $_l = $_l|0;
+ $_r = $_r|0;
+ var $$pre$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0;
+ var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$03 = 0, $l$03$lcssa20 = 0, $r$0$lcssa = 0, $r$04 = 0, $r$04$lcssa19 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP8[$_l>>0]|0;
+ $1 = ($0<<24>>24)==(0);
+ L1: do {
+ if ($1) {
+ $19 = 0;$r$0$lcssa = $_r;
+ } else {
+ $2 = $0&255;
+ $5 = $0;$7 = $2;$l$03 = $_l;$r$04 = $_r;
+ while(1) {
+ $3 = HEAP8[$r$04>>0]|0;
+ $4 = ($3<<24>>24)==(0);
+ if ($4) {
+ $19 = $5;$r$0$lcssa = $r$04;
+ break L1;
+ }
+ $6 = ($5<<24>>24)==($3<<24>>24);
+ if (!($6)) {
+ $8 = (_tolower($7)|0);
+ $9 = HEAP8[$r$04>>0]|0;
+ $10 = $9&255;
+ $11 = (_tolower($10)|0);
+ $12 = ($8|0)==($11|0);
+ if (!($12)) {
+ $l$03$lcssa20 = $l$03;$r$04$lcssa19 = $r$04;
+ break;
+ }
+ }
+ $13 = ((($l$03)) + 1|0);
+ $14 = ((($r$04)) + 1|0);
+ $15 = HEAP8[$13>>0]|0;
+ $16 = $15&255;
+ $17 = ($15<<24>>24)==(0);
+ if ($17) {
+ $19 = 0;$r$0$lcssa = $14;
+ break L1;
+ } else {
+ $5 = $15;$7 = $16;$l$03 = $13;$r$04 = $14;
+ }
+ }
+ $$pre$pre = HEAP8[$l$03$lcssa20>>0]|0;
+ $19 = $$pre$pre;$r$0$lcssa = $r$04$lcssa19;
+ }
+ } while(0);
+ $18 = $19&255;
+ $20 = (_tolower($18)|0);
+ $21 = HEAP8[$r$0$lcssa>>0]|0;
+ $22 = $21&255;
+ $23 = (_tolower($22)|0);
+ $24 = (($20) - ($23))|0;
+ return ($24|0);
+}
+function _strcpy($dest,$src) {
+ $dest = $dest|0;
+ $src = $src|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (___stpcpy($dest,$src)|0);
+ return ($dest|0);
+}
+function ___stpcpy($d,$s) {
+ $d = $d|0;
+ $s = $s|0;
+ var $$0$lcssa = 0, $$01$lcssa = 0, $$0115 = 0, $$016 = 0, $$03 = 0, $$1$ph = 0, $$12$ph = 0, $$128 = 0, $$19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
+ var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0;
+ var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $wd$0$lcssa = 0, $wd$010 = 0, $ws$0$lcssa = 0, $ws$011 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $s;
+ $1 = $d;
+ $2 = $0 ^ $1;
+ $3 = $2 & 3;
+ $4 = ($3|0)==(0);
+ L1: do {
+ if ($4) {
+ $5 = $0 & 3;
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $$0$lcssa = $s;$$01$lcssa = $d;
+ } else {
+ $$0115 = $d;$$016 = $s;
+ while(1) {
+ $7 = HEAP8[$$016>>0]|0;
+ HEAP8[$$0115>>0] = $7;
+ $8 = ($7<<24>>24)==(0);
+ if ($8) {
+ $$03 = $$0115;
+ break L1;
+ }
+ $9 = ((($$016)) + 1|0);
+ $10 = ((($$0115)) + 1|0);
+ $11 = $9;
+ $12 = $11 & 3;
+ $13 = ($12|0)==(0);
+ if ($13) {
+ $$0$lcssa = $9;$$01$lcssa = $10;
+ break;
+ } else {
+ $$0115 = $10;$$016 = $9;
+ }
+ }
+ }
+ $14 = HEAP32[$$0$lcssa>>2]|0;
+ $15 = (($14) + -16843009)|0;
+ $16 = $14 & -2139062144;
+ $17 = $16 ^ -2139062144;
+ $18 = $17 & $15;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $22 = $14;$wd$010 = $$01$lcssa;$ws$011 = $$0$lcssa;
+ while(1) {
+ $20 = ((($ws$011)) + 4|0);
+ $21 = ((($wd$010)) + 4|0);
+ HEAP32[$wd$010>>2] = $22;
+ $23 = HEAP32[$20>>2]|0;
+ $24 = (($23) + -16843009)|0;
+ $25 = $23 & -2139062144;
+ $26 = $25 ^ -2139062144;
+ $27 = $26 & $24;
+ $28 = ($27|0)==(0);
+ if ($28) {
+ $22 = $23;$wd$010 = $21;$ws$011 = $20;
+ } else {
+ $wd$0$lcssa = $21;$ws$0$lcssa = $20;
+ break;
+ }
+ }
+ } else {
+ $wd$0$lcssa = $$01$lcssa;$ws$0$lcssa = $$0$lcssa;
+ }
+ $$1$ph = $ws$0$lcssa;$$12$ph = $wd$0$lcssa;
+ label = 8;
+ } else {
+ $$1$ph = $s;$$12$ph = $d;
+ label = 8;
+ }
+ } while(0);
+ if ((label|0) == 8) {
+ $29 = HEAP8[$$1$ph>>0]|0;
+ HEAP8[$$12$ph>>0] = $29;
+ $30 = ($29<<24>>24)==(0);
+ if ($30) {
+ $$03 = $$12$ph;
+ } else {
+ $$128 = $$12$ph;$$19 = $$1$ph;
+ while(1) {
+ $31 = ((($$19)) + 1|0);
+ $32 = ((($$128)) + 1|0);
+ $33 = HEAP8[$31>>0]|0;
+ HEAP8[$32>>0] = $33;
+ $34 = ($33<<24>>24)==(0);
+ if ($34) {
+ $$03 = $32;
+ break;
+ } else {
+ $$128 = $32;$$19 = $31;
+ }
+ }
+ }
+ }
+ return ($$03|0);
+}
+function _isspace($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($c|0)==(32);
+ $1 = (($c) + -9)|0;
+ $2 = ($1>>>0)<(5);
+ $3 = $0 | $2;
+ $4 = $3&1;
+ return ($4|0);
+}
+function _strtoul($s,$p,$base) {
+ $s = $s|0;
+ $p = $p|0;
+ $base = $base|0;
+ var $0 = 0, $1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_strtox($s,$p,$base,-1,0)|0);
+ $1 = tempRet0;
+ return ($0|0);
+}
+function _strtox($s,$p,$base,$0,$1) {
+ $s = $s|0;
+ $p = $p|0;
+ $base = $base|0;
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $f = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $f = sp;
+ HEAP32[$f>>2] = 0;
+ $2 = ((($f)) + 4|0);
+ HEAP32[$2>>2] = $s;
+ $3 = ((($f)) + 44|0);
+ HEAP32[$3>>2] = $s;
+ $4 = ($s|0)<(0|0);
+ $5 = ((($s)) + 2147483647|0);
+ $$sink = $4 ? (-1) : $5;
+ $6 = ((($f)) + 8|0);
+ HEAP32[$6>>2] = $$sink;
+ $7 = ((($f)) + 76|0);
+ HEAP32[$7>>2] = -1;
+ ___shlim($f,0);
+ $8 = (___intscan($f,$base,1,$0,$1)|0);
+ $9 = tempRet0;
+ $10 = ($p|0)==(0|0);
+ if (!($10)) {
+ $11 = ((($f)) + 108|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = HEAP32[$2>>2]|0;
+ $14 = HEAP32[$6>>2]|0;
+ $15 = (($13) + ($12))|0;
+ $16 = (($15) - ($14))|0;
+ $17 = (($s) + ($16)|0);
+ HEAP32[$p>>2] = $17;
+ }
+ tempRet0 = ($9);
+ STACKTOP = sp;return ($8|0);
+}
+function ___shlim($f,$lim) {
+ $f = $f|0;
+ $lim = $lim|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 104|0);
+ HEAP32[$0>>2] = $lim;
+ $1 = ((($f)) + 8|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ((($f)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) - ($4))|0;
+ $6 = ((($f)) + 108|0);
+ HEAP32[$6>>2] = $5;
+ $7 = ($lim|0)!=(0);
+ $8 = ($5|0)>($lim|0);
+ $or$cond = $7 & $8;
+ if ($or$cond) {
+ $9 = $4;
+ $10 = (($9) + ($lim)|0);
+ $11 = ((($f)) + 100|0);
+ HEAP32[$11>>2] = $10;
+ } else {
+ $12 = ((($f)) + 100|0);
+ HEAP32[$12>>2] = $2;
+ }
+ return;
+}
+function ___intscan($f,$base,$pok,$0,$1) {
+ $f = $f|0;
+ $base = $base|0;
+ $pok = $pok|0;
+ $0 = $0|0;
+ $1 = $1|0;
+ var $$1 = 0, $$115 = 0, $$116 = 0, $$base14 = 0, $$lcssa = 0, $$lcssa108 = 0, $$lcssa109 = 0, $$lcssa110 = 0, $$lcssa111 = 0, $$lcssa112 = 0, $$lcssa113 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0;
+ var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0;
+ var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0;
+ var $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0;
+ var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0;
+ var $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0;
+ var $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0;
+ var $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0;
+ var $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0;
+ var $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0;
+ var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0;
+ var $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
+ var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
+ var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
+ var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c$0 = 0, $c$1 = 0, $c$117 = 0, $c$2$be = 0, $c$2$be$lcssa = 0, $c$2$lcssa = 0, $c$3$be = 0, $c$3$lcssa = 0, $c$359 = 0, $c$4$be = 0, $c$4$be$lcssa = 0, $c$4$lcssa = 0, $c$5$be = 0, $c$6$be = 0, $c$6$be$lcssa = 0;
+ var $c$6$lcssa = 0, $c$7$be = 0, $c$742 = 0, $c$8 = 0, $c$9$be = 0, $neg$0 = 0, $neg$0$ = 0, $neg$1 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond31 = 0, $or$cond5 = 0, $or$cond7 = 0, $x$070 = 0, $x$136 = 0, $x$254 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $2 = ($base>>>0)>(36);
+ L1: do {
+ if ($2) {
+ $5 = (___errno_location()|0);
+ HEAP32[$5>>2] = 22;
+ $286 = 0;$287 = 0;
+ } else {
+ $3 = ((($f)) + 4|0);
+ $4 = ((($f)) + 100|0);
+ while(1) {
+ $6 = HEAP32[$3>>2]|0;
+ $7 = HEAP32[$4>>2]|0;
+ $8 = ($6>>>0)<($7>>>0);
+ if ($8) {
+ $9 = ((($6)) + 1|0);
+ HEAP32[$3>>2] = $9;
+ $10 = HEAP8[$6>>0]|0;
+ $11 = $10&255;
+ $13 = $11;
+ } else {
+ $12 = (___shgetc($f)|0);
+ $13 = $12;
+ }
+ $14 = (_isspace($13)|0);
+ $15 = ($14|0)==(0);
+ if ($15) {
+ $$lcssa113 = $13;
+ break;
+ }
+ }
+ $16 = ($$lcssa113|0)==(45);
+ L11: do {
+ switch ($$lcssa113|0) {
+ case 43: case 45: {
+ $17 = $16 << 31 >> 31;
+ $18 = HEAP32[$3>>2]|0;
+ $19 = HEAP32[$4>>2]|0;
+ $20 = ($18>>>0)<($19>>>0);
+ if ($20) {
+ $21 = ((($18)) + 1|0);
+ HEAP32[$3>>2] = $21;
+ $22 = HEAP8[$18>>0]|0;
+ $23 = $22&255;
+ $c$0 = $23;$neg$0 = $17;
+ break L11;
+ } else {
+ $24 = (___shgetc($f)|0);
+ $c$0 = $24;$neg$0 = $17;
+ break L11;
+ }
+ break;
+ }
+ default: {
+ $c$0 = $$lcssa113;$neg$0 = 0;
+ }
+ }
+ } while(0);
+ $25 = ($base|0)==(0);
+ $26 = $base | 16;
+ $27 = ($26|0)==(16);
+ $28 = ($c$0|0)==(48);
+ $or$cond5 = $27 & $28;
+ do {
+ if ($or$cond5) {
+ $29 = HEAP32[$3>>2]|0;
+ $30 = HEAP32[$4>>2]|0;
+ $31 = ($29>>>0)<($30>>>0);
+ if ($31) {
+ $32 = ((($29)) + 1|0);
+ HEAP32[$3>>2] = $32;
+ $33 = HEAP8[$29>>0]|0;
+ $34 = $33&255;
+ $37 = $34;
+ } else {
+ $35 = (___shgetc($f)|0);
+ $37 = $35;
+ }
+ $36 = $37 | 32;
+ $38 = ($36|0)==(120);
+ if (!($38)) {
+ if ($25) {
+ $$116 = 8;$c$117 = $37;
+ label = 46;
+ break;
+ } else {
+ $$1 = $base;$c$1 = $37;
+ label = 32;
+ break;
+ }
+ }
+ $39 = HEAP32[$3>>2]|0;
+ $40 = HEAP32[$4>>2]|0;
+ $41 = ($39>>>0)<($40>>>0);
+ if ($41) {
+ $42 = ((($39)) + 1|0);
+ HEAP32[$3>>2] = $42;
+ $43 = HEAP8[$39>>0]|0;
+ $44 = $43&255;
+ $47 = $44;
+ } else {
+ $45 = (___shgetc($f)|0);
+ $47 = $45;
+ }
+ $46 = ((70253) + ($47)|0);
+ $48 = HEAP8[$46>>0]|0;
+ $49 = ($48&255)>(15);
+ if ($49) {
+ $50 = HEAP32[$4>>2]|0;
+ $51 = ($50|0)==(0|0);
+ if (!($51)) {
+ $52 = HEAP32[$3>>2]|0;
+ $53 = ((($52)) + -1|0);
+ HEAP32[$3>>2] = $53;
+ }
+ $54 = ($pok|0)==(0);
+ if ($54) {
+ ___shlim($f,0);
+ $286 = 0;$287 = 0;
+ break L1;
+ }
+ if ($51) {
+ $286 = 0;$287 = 0;
+ break L1;
+ }
+ $55 = HEAP32[$3>>2]|0;
+ $56 = ((($55)) + -1|0);
+ HEAP32[$3>>2] = $56;
+ $286 = 0;$287 = 0;
+ break L1;
+ } else {
+ $$116 = 16;$c$117 = $47;
+ label = 46;
+ }
+ } else {
+ $$base14 = $25 ? 10 : $base;
+ $57 = ((70253) + ($c$0)|0);
+ $58 = HEAP8[$57>>0]|0;
+ $59 = $58&255;
+ $60 = ($59>>>0)<($$base14>>>0);
+ if ($60) {
+ $$1 = $$base14;$c$1 = $c$0;
+ label = 32;
+ } else {
+ $61 = HEAP32[$4>>2]|0;
+ $62 = ($61|0)==(0|0);
+ if (!($62)) {
+ $63 = HEAP32[$3>>2]|0;
+ $64 = ((($63)) + -1|0);
+ HEAP32[$3>>2] = $64;
+ }
+ ___shlim($f,0);
+ $65 = (___errno_location()|0);
+ HEAP32[$65>>2] = 22;
+ $286 = 0;$287 = 0;
+ break L1;
+ }
+ }
+ } while(0);
+ if ((label|0) == 32) {
+ $66 = ($$1|0)==(10);
+ if ($66) {
+ $67 = (($c$1) + -48)|0;
+ $68 = ($67>>>0)<(10);
+ if ($68) {
+ $71 = $67;$x$070 = 0;
+ while(1) {
+ $69 = ($x$070*10)|0;
+ $70 = (($69) + ($71))|0;
+ $72 = HEAP32[$3>>2]|0;
+ $73 = HEAP32[$4>>2]|0;
+ $74 = ($72>>>0)<($73>>>0);
+ if ($74) {
+ $75 = ((($72)) + 1|0);
+ HEAP32[$3>>2] = $75;
+ $76 = HEAP8[$72>>0]|0;
+ $77 = $76&255;
+ $c$2$be = $77;
+ } else {
+ $78 = (___shgetc($f)|0);
+ $c$2$be = $78;
+ }
+ $79 = (($c$2$be) + -48)|0;
+ $80 = ($79>>>0)<(10);
+ $81 = ($70>>>0)<(429496729);
+ $82 = $80 & $81;
+ if ($82) {
+ $71 = $79;$x$070 = $70;
+ } else {
+ $$lcssa112 = $70;$c$2$be$lcssa = $c$2$be;
+ break;
+ }
+ }
+ $288 = $$lcssa112;$289 = 0;$c$2$lcssa = $c$2$be$lcssa;
+ } else {
+ $288 = 0;$289 = 0;$c$2$lcssa = $c$1;
+ }
+ $83 = (($c$2$lcssa) + -48)|0;
+ $84 = ($83>>>0)<(10);
+ if ($84) {
+ $85 = $288;$86 = $289;$89 = $83;$c$359 = $c$2$lcssa;
+ while(1) {
+ $87 = (___muldi3(($85|0),($86|0),10,0)|0);
+ $88 = tempRet0;
+ $90 = ($89|0)<(0);
+ $91 = $90 << 31 >> 31;
+ $92 = $89 ^ -1;
+ $93 = $91 ^ -1;
+ $94 = ($88>>>0)>($93>>>0);
+ $95 = ($87>>>0)>($92>>>0);
+ $96 = ($88|0)==($93|0);
+ $97 = $96 & $95;
+ $98 = $94 | $97;
+ if ($98) {
+ $$lcssa = $89;$290 = $85;$291 = $86;$c$3$lcssa = $c$359;
+ break;
+ }
+ $99 = (_i64Add(($87|0),($88|0),($89|0),($91|0))|0);
+ $100 = tempRet0;
+ $101 = HEAP32[$3>>2]|0;
+ $102 = HEAP32[$4>>2]|0;
+ $103 = ($101>>>0)<($102>>>0);
+ if ($103) {
+ $104 = ((($101)) + 1|0);
+ HEAP32[$3>>2] = $104;
+ $105 = HEAP8[$101>>0]|0;
+ $106 = $105&255;
+ $c$3$be = $106;
+ } else {
+ $107 = (___shgetc($f)|0);
+ $c$3$be = $107;
+ }
+ $108 = (($c$3$be) + -48)|0;
+ $109 = ($108>>>0)<(10);
+ $110 = ($100>>>0)<(429496729);
+ $111 = ($99>>>0)<(2576980378);
+ $112 = ($100|0)==(429496729);
+ $113 = $112 & $111;
+ $114 = $110 | $113;
+ $or$cond7 = $109 & $114;
+ if ($or$cond7) {
+ $85 = $99;$86 = $100;$89 = $108;$c$359 = $c$3$be;
+ } else {
+ $$lcssa = $108;$290 = $99;$291 = $100;$c$3$lcssa = $c$3$be;
+ break;
+ }
+ }
+ $115 = ($$lcssa>>>0)>(9);
+ if ($115) {
+ $259 = $291;$261 = $290;$neg$1 = $neg$0;
+ } else {
+ $$115 = 10;$292 = $290;$293 = $291;$c$8 = $c$3$lcssa;
+ label = 72;
+ }
+ } else {
+ $259 = $289;$261 = $288;$neg$1 = $neg$0;
+ }
+ } else {
+ $$116 = $$1;$c$117 = $c$1;
+ label = 46;
+ }
+ }
+ L63: do {
+ if ((label|0) == 46) {
+ $116 = (($$116) + -1)|0;
+ $117 = $116 & $$116;
+ $118 = ($117|0)==(0);
+ if ($118) {
+ $123 = ($$116*23)|0;
+ $124 = $123 >>> 5;
+ $125 = $124 & 7;
+ $126 = (70509 + ($125)|0);
+ $127 = HEAP8[$126>>0]|0;
+ $128 = $127 << 24 >> 24;
+ $129 = ((70253) + ($c$117)|0);
+ $130 = HEAP8[$129>>0]|0;
+ $131 = $130&255;
+ $132 = ($131>>>0)<($$116>>>0);
+ if ($132) {
+ $135 = $131;$x$136 = 0;
+ while(1) {
+ $133 = $x$136 << $128;
+ $134 = $135 | $133;
+ $136 = HEAP32[$3>>2]|0;
+ $137 = HEAP32[$4>>2]|0;
+ $138 = ($136>>>0)<($137>>>0);
+ if ($138) {
+ $139 = ((($136)) + 1|0);
+ HEAP32[$3>>2] = $139;
+ $140 = HEAP8[$136>>0]|0;
+ $141 = $140&255;
+ $c$4$be = $141;
+ } else {
+ $142 = (___shgetc($f)|0);
+ $c$4$be = $142;
+ }
+ $143 = ((70253) + ($c$4$be)|0);
+ $144 = HEAP8[$143>>0]|0;
+ $145 = $144&255;
+ $146 = ($145>>>0)<($$116>>>0);
+ $147 = ($134>>>0)<(134217728);
+ $148 = $147 & $146;
+ if ($148) {
+ $135 = $145;$x$136 = $134;
+ } else {
+ $$lcssa108 = $134;$$lcssa109 = $144;$c$4$be$lcssa = $c$4$be;
+ break;
+ }
+ }
+ $152 = $$lcssa109;$154 = 0;$156 = $$lcssa108;$c$4$lcssa = $c$4$be$lcssa;
+ } else {
+ $152 = $130;$154 = 0;$156 = 0;$c$4$lcssa = $c$117;
+ }
+ $149 = (_bitshift64Lshr(-1,-1,($128|0))|0);
+ $150 = tempRet0;
+ $151 = $152&255;
+ $153 = ($151>>>0)>=($$116>>>0);
+ $155 = ($154>>>0)>($150>>>0);
+ $157 = ($156>>>0)>($149>>>0);
+ $158 = ($154|0)==($150|0);
+ $159 = $158 & $157;
+ $160 = $155 | $159;
+ $or$cond31 = $153 | $160;
+ if ($or$cond31) {
+ $$115 = $$116;$292 = $156;$293 = $154;$c$8 = $c$4$lcssa;
+ label = 72;
+ break;
+ } else {
+ $161 = $156;$162 = $154;$166 = $152;
+ }
+ while(1) {
+ $163 = (_bitshift64Shl(($161|0),($162|0),($128|0))|0);
+ $164 = tempRet0;
+ $165 = $166&255;
+ $167 = $165 | $163;
+ $168 = HEAP32[$3>>2]|0;
+ $169 = HEAP32[$4>>2]|0;
+ $170 = ($168>>>0)<($169>>>0);
+ if ($170) {
+ $171 = ((($168)) + 1|0);
+ HEAP32[$3>>2] = $171;
+ $172 = HEAP8[$168>>0]|0;
+ $173 = $172&255;
+ $c$5$be = $173;
+ } else {
+ $174 = (___shgetc($f)|0);
+ $c$5$be = $174;
+ }
+ $175 = ((70253) + ($c$5$be)|0);
+ $176 = HEAP8[$175>>0]|0;
+ $177 = $176&255;
+ $178 = ($177>>>0)>=($$116>>>0);
+ $179 = ($164>>>0)>($150>>>0);
+ $180 = ($167>>>0)>($149>>>0);
+ $181 = ($164|0)==($150|0);
+ $182 = $181 & $180;
+ $183 = $179 | $182;
+ $or$cond = $178 | $183;
+ if ($or$cond) {
+ $$115 = $$116;$292 = $167;$293 = $164;$c$8 = $c$5$be;
+ label = 72;
+ break L63;
+ } else {
+ $161 = $167;$162 = $164;$166 = $176;
+ }
+ }
+ }
+ $119 = ((70253) + ($c$117)|0);
+ $120 = HEAP8[$119>>0]|0;
+ $121 = $120&255;
+ $122 = ($121>>>0)<($$116>>>0);
+ if ($122) {
+ $186 = $121;$x$254 = 0;
+ while(1) {
+ $184 = Math_imul($x$254, $$116)|0;
+ $185 = (($186) + ($184))|0;
+ $187 = HEAP32[$3>>2]|0;
+ $188 = HEAP32[$4>>2]|0;
+ $189 = ($187>>>0)<($188>>>0);
+ if ($189) {
+ $190 = ((($187)) + 1|0);
+ HEAP32[$3>>2] = $190;
+ $191 = HEAP8[$187>>0]|0;
+ $192 = $191&255;
+ $c$6$be = $192;
+ } else {
+ $193 = (___shgetc($f)|0);
+ $c$6$be = $193;
+ }
+ $194 = ((70253) + ($c$6$be)|0);
+ $195 = HEAP8[$194>>0]|0;
+ $196 = $195&255;
+ $197 = ($196>>>0)<($$116>>>0);
+ $198 = ($185>>>0)<(119304647);
+ $199 = $198 & $197;
+ if ($199) {
+ $186 = $196;$x$254 = $185;
+ } else {
+ $$lcssa110 = $185;$$lcssa111 = $195;$c$6$be$lcssa = $c$6$be;
+ break;
+ }
+ }
+ $201 = $$lcssa111;$294 = $$lcssa110;$295 = 0;$c$6$lcssa = $c$6$be$lcssa;
+ } else {
+ $201 = $120;$294 = 0;$295 = 0;$c$6$lcssa = $c$117;
+ }
+ $200 = $201&255;
+ $202 = ($200>>>0)<($$116>>>0);
+ if ($202) {
+ $203 = (___udivdi3(-1,-1,($$116|0),0)|0);
+ $204 = tempRet0;
+ $205 = $295;$207 = $294;$215 = $201;$c$742 = $c$6$lcssa;
+ while(1) {
+ $206 = ($205>>>0)>($204>>>0);
+ $208 = ($207>>>0)>($203>>>0);
+ $209 = ($205|0)==($204|0);
+ $210 = $209 & $208;
+ $211 = $206 | $210;
+ if ($211) {
+ $$115 = $$116;$292 = $207;$293 = $205;$c$8 = $c$742;
+ label = 72;
+ break L63;
+ }
+ $212 = (___muldi3(($207|0),($205|0),($$116|0),0)|0);
+ $213 = tempRet0;
+ $214 = $215&255;
+ $216 = $214 ^ -1;
+ $217 = ($213>>>0)>(4294967295);
+ $218 = ($212>>>0)>($216>>>0);
+ $219 = ($213|0)==(-1);
+ $220 = $219 & $218;
+ $221 = $217 | $220;
+ if ($221) {
+ $$115 = $$116;$292 = $207;$293 = $205;$c$8 = $c$742;
+ label = 72;
+ break L63;
+ }
+ $222 = (_i64Add(($214|0),0,($212|0),($213|0))|0);
+ $223 = tempRet0;
+ $224 = HEAP32[$3>>2]|0;
+ $225 = HEAP32[$4>>2]|0;
+ $226 = ($224>>>0)<($225>>>0);
+ if ($226) {
+ $227 = ((($224)) + 1|0);
+ HEAP32[$3>>2] = $227;
+ $228 = HEAP8[$224>>0]|0;
+ $229 = $228&255;
+ $c$7$be = $229;
+ } else {
+ $230 = (___shgetc($f)|0);
+ $c$7$be = $230;
+ }
+ $231 = ((70253) + ($c$7$be)|0);
+ $232 = HEAP8[$231>>0]|0;
+ $233 = $232&255;
+ $234 = ($233>>>0)<($$116>>>0);
+ if ($234) {
+ $205 = $223;$207 = $222;$215 = $232;$c$742 = $c$7$be;
+ } else {
+ $$115 = $$116;$292 = $222;$293 = $223;$c$8 = $c$7$be;
+ label = 72;
+ break;
+ }
+ }
+ } else {
+ $$115 = $$116;$292 = $294;$293 = $295;$c$8 = $c$6$lcssa;
+ label = 72;
+ }
+ }
+ } while(0);
+ if ((label|0) == 72) {
+ $235 = ((70253) + ($c$8)|0);
+ $236 = HEAP8[$235>>0]|0;
+ $237 = $236&255;
+ $238 = ($237>>>0)<($$115>>>0);
+ if ($238) {
+ while(1) {
+ $239 = HEAP32[$3>>2]|0;
+ $240 = HEAP32[$4>>2]|0;
+ $241 = ($239>>>0)<($240>>>0);
+ if ($241) {
+ $242 = ((($239)) + 1|0);
+ HEAP32[$3>>2] = $242;
+ $243 = HEAP8[$239>>0]|0;
+ $244 = $243&255;
+ $c$9$be = $244;
+ } else {
+ $245 = (___shgetc($f)|0);
+ $c$9$be = $245;
+ }
+ $246 = ((70253) + ($c$9$be)|0);
+ $247 = HEAP8[$246>>0]|0;
+ $248 = $247&255;
+ $249 = ($248>>>0)<($$115>>>0);
+ if (!($249)) {
+ break;
+ }
+ }
+ $250 = (___errno_location()|0);
+ HEAP32[$250>>2] = 34;
+ $251 = $0 & 1;
+ $252 = ($251|0)==(0);
+ $253 = (0)==(0);
+ $254 = $252 & $253;
+ $neg$0$ = $254 ? $neg$0 : 0;
+ $259 = $1;$261 = $0;$neg$1 = $neg$0$;
+ } else {
+ $259 = $293;$261 = $292;$neg$1 = $neg$0;
+ }
+ }
+ $255 = HEAP32[$4>>2]|0;
+ $256 = ($255|0)==(0|0);
+ if (!($256)) {
+ $257 = HEAP32[$3>>2]|0;
+ $258 = ((($257)) + -1|0);
+ HEAP32[$3>>2] = $258;
+ }
+ $260 = ($259>>>0)<($1>>>0);
+ $262 = ($261>>>0)<($0>>>0);
+ $263 = ($259|0)==($1|0);
+ $264 = $263 & $262;
+ $265 = $260 | $264;
+ if (!($265)) {
+ $266 = $0 & 1;
+ $267 = ($266|0)!=(0);
+ $268 = (0)!=(0);
+ $269 = $267 | $268;
+ $270 = ($neg$1|0)!=(0);
+ $or$cond12 = $269 | $270;
+ if (!($or$cond12)) {
+ $271 = (___errno_location()|0);
+ HEAP32[$271>>2] = 34;
+ $272 = (_i64Add(($0|0),($1|0),-1,-1)|0);
+ $273 = tempRet0;
+ $286 = $273;$287 = $272;
+ break;
+ }
+ $274 = ($259>>>0)>($1>>>0);
+ $275 = ($261>>>0)>($0>>>0);
+ $276 = ($259|0)==($1|0);
+ $277 = $276 & $275;
+ $278 = $274 | $277;
+ if ($278) {
+ $279 = (___errno_location()|0);
+ HEAP32[$279>>2] = 34;
+ $286 = $1;$287 = $0;
+ break;
+ }
+ }
+ $280 = ($neg$1|0)<(0);
+ $281 = $280 << 31 >> 31;
+ $282 = $261 ^ $neg$1;
+ $283 = $259 ^ $281;
+ $284 = (_i64Subtract(($282|0),($283|0),($neg$1|0),($281|0))|0);
+ $285 = tempRet0;
+ $286 = $285;$287 = $284;
+ }
+ } while(0);
+ tempRet0 = ($286);
+ return ($287|0);
+}
+function ___shgetc($f) {
+ $f = $f|0;
+ var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert3 = 0, $$pre = 0, $$pre4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 104|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0);
+ if ($2) {
+ label = 3;
+ } else {
+ $3 = ((($f)) + 108|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)<($1|0);
+ if ($5) {
+ label = 3;
+ } else {
+ label = 4;
+ }
+ }
+ if ((label|0) == 3) {
+ $6 = (___uflow($f)|0);
+ $7 = ($6|0)<(0);
+ if ($7) {
+ label = 4;
+ } else {
+ $9 = HEAP32[$0>>2]|0;
+ $10 = ($9|0)==(0);
+ $$phi$trans$insert = ((($f)) + 8|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ if ($10) {
+ $11 = $$pre;
+ $41 = $11;
+ label = 9;
+ } else {
+ $12 = ((($f)) + 4|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = $13;
+ $15 = (($$pre) - ($14))|0;
+ $16 = ((($f)) + 108|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($9) - ($17))|0;
+ $19 = ($15|0)<($18|0);
+ $20 = $$pre;
+ if ($19) {
+ $41 = $20;
+ label = 9;
+ } else {
+ $21 = (($18) + -1)|0;
+ $22 = (($13) + ($21)|0);
+ $23 = ((($f)) + 100|0);
+ HEAP32[$23>>2] = $22;
+ $25 = $20;
+ }
+ }
+ if ((label|0) == 9) {
+ $24 = ((($f)) + 100|0);
+ HEAP32[$24>>2] = $$pre;
+ $25 = $41;
+ }
+ $26 = ($25|0)==(0|0);
+ $$phi$trans$insert3 = ((($f)) + 4|0);
+ if ($26) {
+ $$pre4 = HEAP32[$$phi$trans$insert3>>2]|0;
+ $36 = $$pre4;
+ } else {
+ $27 = HEAP32[$$phi$trans$insert3>>2]|0;
+ $28 = $25;
+ $29 = ((($f)) + 108|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($28) + 1)|0;
+ $32 = (($31) - ($27))|0;
+ $33 = (($32) + ($30))|0;
+ HEAP32[$29>>2] = $33;
+ $34 = $27;
+ $36 = $34;
+ }
+ $35 = ((($36)) + -1|0);
+ $37 = HEAP8[$35>>0]|0;
+ $38 = $37&255;
+ $39 = ($38|0)==($6|0);
+ if ($39) {
+ $$0 = $6;
+ } else {
+ $40 = $6&255;
+ HEAP8[$35>>0] = $40;
+ $$0 = $6;
+ }
+ }
+ }
+ if ((label|0) == 4) {
+ $8 = ((($f)) + 100|0);
+ HEAP32[$8>>2] = 0;
+ $$0 = -1;
+ }
+ return ($$0|0);
+}
+function ___uflow($f) {
+ $f = $f|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $c = sp;
+ $0 = ((($f)) + 8|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0|0);
+ if ($2) {
+ $3 = (___toread($f)|0);
+ $4 = ($3|0)==(0);
+ if ($4) {
+ label = 3;
+ } else {
+ $$0 = -1;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $5 = ((($f)) + 32|0);
+ $6 = HEAP32[$5>>2]|0;
+ $7 = (FUNCTION_TABLE_iiii[$6 & 127]($f,$c,1)|0);
+ $8 = ($7|0)==(1);
+ if ($8) {
+ $9 = HEAP8[$c>>0]|0;
+ $10 = $9&255;
+ $$0 = $10;
+ } else {
+ $$0 = -1;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function ___toread($f) {
+ $f = $f|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 74|0);
+ $1 = HEAP8[$0>>0]|0;
+ $2 = $1 << 24 >> 24;
+ $3 = (($2) + 255)|0;
+ $4 = $3 | $2;
+ $5 = $4&255;
+ HEAP8[$0>>0] = $5;
+ $6 = ((($f)) + 20|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ((($f)) + 44|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = ($7>>>0)>($9>>>0);
+ if ($10) {
+ $11 = ((($f)) + 36|0);
+ $12 = HEAP32[$11>>2]|0;
+ (FUNCTION_TABLE_iiii[$12 & 127]($f,0,0)|0);
+ }
+ $13 = ((($f)) + 16|0);
+ HEAP32[$13>>2] = 0;
+ $14 = ((($f)) + 28|0);
+ HEAP32[$14>>2] = 0;
+ HEAP32[$6>>2] = 0;
+ $15 = HEAP32[$f>>2]|0;
+ $16 = $15 & 20;
+ $17 = ($16|0)==(0);
+ if ($17) {
+ $21 = HEAP32[$8>>2]|0;
+ $22 = ((($f)) + 8|0);
+ HEAP32[$22>>2] = $21;
+ $23 = ((($f)) + 4|0);
+ HEAP32[$23>>2] = $21;
+ $$0 = 0;
+ } else {
+ $18 = $15 & 4;
+ $19 = ($18|0)==(0);
+ if ($19) {
+ $$0 = -1;
+ } else {
+ $20 = $15 | 32;
+ HEAP32[$f>>2] = $20;
+ $$0 = -1;
+ }
+ }
+ return ($$0|0);
+}
+function _sprintf($s,$fmt,$varargs) {
+ $s = $s|0;
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $ap = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ap = sp;
+ HEAP32[$ap>>2] = $varargs;
+ $0 = (_vsprintf($s,$fmt,$ap)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _vsprintf($s,$fmt,$ap) {
+ $s = $s|0;
+ $fmt = $fmt|0;
+ $ap = $ap|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_vsnprintf($s,2147483647,$fmt,$ap)|0);
+ return ($0|0);
+}
+function _fprintf($f,$fmt,$varargs) {
+ $f = $f|0;
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $ap = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ap = sp;
+ HEAP32[$ap>>2] = $varargs;
+ $0 = (_vfprintf($f,$fmt,$ap)|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _fgets($s,$n,$f) {
+ $s = $s|0;
+ $n = $n|0;
+ $f = $f|0;
+ var $$0 = 0, $$047 = 0, $$05 = 0, $$lcssa13 = 0, $$old2 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
+ var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
+ var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $p$0 = 0;
+ var $p$1 = 0, $sext$mask = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 76|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)>(-1);
+ if ($2) {
+ $3 = (___lockfile($f)|0);
+ $12 = $3;
+ } else {
+ $12 = 0;
+ }
+ $4 = (($n) + -1)|0;
+ $5 = ($n|0)<(2);
+ if ($5) {
+ $6 = ((($f)) + 74|0);
+ $7 = HEAP8[$6>>0]|0;
+ $8 = $7 << 24 >> 24;
+ $9 = (($8) + 255)|0;
+ $10 = $9 | $8;
+ $11 = $10&255;
+ HEAP8[$6>>0] = $11;
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ ___unlockfile($f);
+ }
+ $14 = ($4|0)==(0);
+ if ($14) {
+ HEAP8[$s>>0] = 0;
+ $$0 = $s;
+ } else {
+ $$0 = 0;
+ }
+ } else {
+ $$old2 = ($4|0)==(0);
+ L11: do {
+ if ($$old2) {
+ $p$1 = $s;
+ label = 17;
+ } else {
+ $15 = ((($f)) + 4|0);
+ $16 = ((($f)) + 8|0);
+ $$05 = $4;$p$0 = $s;
+ while(1) {
+ $17 = HEAP32[$15>>2]|0;
+ $18 = HEAP32[$16>>2]|0;
+ $19 = $17;
+ $20 = (($18) - ($19))|0;
+ $21 = (_memchr($17,10,$20)|0);
+ $22 = ($21|0)==(0|0);
+ $23 = $21;
+ $24 = (1 - ($19))|0;
+ $25 = (($24) + ($23))|0;
+ $26 = $22 ? $20 : $25;
+ $27 = ($26>>>0)<($$05>>>0);
+ $28 = $27 ? $26 : $$05;
+ _memcpy(($p$0|0),($17|0),($28|0))|0;
+ $29 = HEAP32[$15>>2]|0;
+ $30 = (($29) + ($28)|0);
+ HEAP32[$15>>2] = $30;
+ $31 = (($p$0) + ($28)|0);
+ $32 = (($$05) - ($28))|0;
+ $or$cond = $22 & $27;
+ if (!($or$cond)) {
+ $p$1 = $31;
+ label = 17;
+ break L11;
+ }
+ $33 = HEAP32[$16>>2]|0;
+ $34 = ($30>>>0)<($33>>>0);
+ if ($34) {
+ $35 = ((($30)) + 1|0);
+ HEAP32[$15>>2] = $35;
+ $36 = HEAP8[$30>>0]|0;
+ $37 = $36&255;
+ $46 = $37;
+ } else {
+ $38 = (___uflow($f)|0);
+ $39 = ($38|0)<(0);
+ if ($39) {
+ $$lcssa13 = $31;
+ break;
+ } else {
+ $46 = $38;
+ }
+ }
+ $44 = (($32) + -1)|0;
+ $45 = $46&255;
+ $47 = ((($31)) + 1|0);
+ HEAP8[$31>>0] = $45;
+ $sext$mask = $46 & 255;
+ $48 = ($sext$mask|0)!=(10);
+ $49 = ($44|0)!=(0);
+ $or$cond3 = $49 & $48;
+ if ($or$cond3) {
+ $$05 = $44;$p$0 = $47;
+ } else {
+ $p$1 = $47;
+ label = 17;
+ break L11;
+ }
+ }
+ $40 = ($$lcssa13|0)==($s|0);
+ if ($40) {
+ $$047 = 0;
+ } else {
+ $41 = HEAP32[$f>>2]|0;
+ $42 = $41 & 16;
+ $43 = ($42|0)==(0);
+ if ($43) {
+ $$047 = 0;
+ } else {
+ $p$1 = $$lcssa13;
+ label = 17;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 17) {
+ $50 = ($s|0)==(0|0);
+ if ($50) {
+ $$047 = 0;
+ } else {
+ HEAP8[$p$1>>0] = 0;
+ $$047 = $s;
+ }
+ }
+ $51 = ($12|0)==(0);
+ if ($51) {
+ $$0 = $$047;
+ } else {
+ ___unlockfile($f);
+ $$0 = $$047;
+ }
+ }
+ return ($$0|0);
+}
+function _strncmp($_l,$_r,$n) {
+ $_l = $_l|0;
+ $_r = $_r|0;
+ $n = $n|0;
+ var $$03 = 0, $$08 = 0, $$08$in = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
+ var $l$06 = 0, $or$cond = 0, $or$cond4 = 0, $r$0$lcssa = 0, $r$07 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($n|0)==(0);
+ if ($0) {
+ $$03 = 0;
+ } else {
+ $1 = HEAP8[$_l>>0]|0;
+ $2 = ($1<<24>>24)==(0);
+ L3: do {
+ if ($2) {
+ $13 = 0;$r$0$lcssa = $_r;
+ } else {
+ $$08$in = $n;$6 = $1;$l$06 = $_l;$r$07 = $_r;
+ while(1) {
+ $$08 = (($$08$in) + -1)|0;
+ $3 = HEAP8[$r$07>>0]|0;
+ $4 = ($3<<24>>24)!=(0);
+ $5 = ($$08|0)!=(0);
+ $or$cond = $5 & $4;
+ $7 = ($6<<24>>24)==($3<<24>>24);
+ $or$cond4 = $7 & $or$cond;
+ if (!($or$cond4)) {
+ $13 = $6;$r$0$lcssa = $r$07;
+ break L3;
+ }
+ $8 = ((($l$06)) + 1|0);
+ $9 = ((($r$07)) + 1|0);
+ $10 = HEAP8[$8>>0]|0;
+ $11 = ($10<<24>>24)==(0);
+ if ($11) {
+ $13 = 0;$r$0$lcssa = $9;
+ break;
+ } else {
+ $$08$in = $$08;$6 = $10;$l$06 = $8;$r$07 = $9;
+ }
+ }
+ }
+ } while(0);
+ $12 = $13&255;
+ $14 = HEAP8[$r$0$lcssa>>0]|0;
+ $15 = $14&255;
+ $16 = (($12) - ($15))|0;
+ $$03 = $16;
+ }
+ return ($$03|0);
+}
+function _htonl($n) {
+ $n = $n|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_llvm_bswap_i32(($n|0))|0);
+ return ($0|0);
+}
+function _fcntl($fd,$cmd,$varargs) {
+ $fd = $fd|0;
+ $cmd = $cmd|0;
+ $varargs = $varargs|0;
+ var $$ = 0, $$0 = 0, $$2 = 0, $$off = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $ex = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer18 = 0, $vararg_buffer23 = 0, $vararg_buffer28 = 0, $vararg_buffer3 = 0, $vararg_buffer31 = 0, $vararg_buffer36 = 0;
+ var $vararg_buffer41 = 0, $vararg_buffer46 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr2 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr26 = 0, $vararg_ptr27 = 0, $vararg_ptr34 = 0, $vararg_ptr35 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr44 = 0, $vararg_ptr45 = 0, $vararg_ptr49 = 0;
+ var $vararg_ptr50 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer46 = sp + 152|0;
+ $vararg_buffer41 = sp + 136|0;
+ $vararg_buffer36 = sp + 120|0;
+ $vararg_buffer31 = sp + 104|0;
+ $vararg_buffer28 = sp + 96|0;
+ $vararg_buffer23 = sp + 80|0;
+ $vararg_buffer18 = sp + 64|0;
+ $vararg_buffer13 = sp + 48|0;
+ $vararg_buffer8 = sp + 32|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $ap = sp + 176|0;
+ $ex = sp + 168|0;
+ HEAP32[$ap>>2] = $varargs;
+ $arglist_current = HEAP32[$ap>>2]|0;
+ $0 = $arglist_current;
+ $1 = ((0) + 4|0);
+ $expanded2 = $1;
+ $expanded = (($expanded2) - 1)|0;
+ $2 = (($0) + ($expanded))|0;
+ $3 = ((0) + 4|0);
+ $expanded6 = $3;
+ $expanded5 = (($expanded6) - 1)|0;
+ $expanded4 = $expanded5 ^ -1;
+ $4 = $2 & $expanded4;
+ $5 = $4;
+ $6 = HEAP32[$5>>2]|0;
+ $arglist_next = ((($5)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next;
+ $7 = ($cmd|0)==(4);
+ $8 = $6 | 32768;
+ $$ = $7 ? $8 : $6;
+ L1: do {
+ switch ($cmd|0) {
+ case 14: {
+ $9 = $$;
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 14;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $9;
+ $10 = (___syscall221(221,($vararg_buffer|0))|0);
+ $11 = (___syscall_ret($10)|0);
+ $$2 = $11;
+ break;
+ }
+ case 9: {
+ HEAP32[$vararg_buffer3>>2] = $fd;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 16;
+ $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
+ HEAP32[$vararg_ptr7>>2] = $ex;
+ $12 = (___syscall221(221,($vararg_buffer3|0))|0);
+ switch ($12|0) {
+ case -22: {
+ $13 = $$;
+ HEAP32[$vararg_buffer8>>2] = $fd;
+ $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
+ HEAP32[$vararg_ptr11>>2] = 9;
+ $vararg_ptr12 = ((($vararg_buffer8)) + 8|0);
+ HEAP32[$vararg_ptr12>>2] = $13;
+ $14 = (___syscall221(221,($vararg_buffer8|0))|0);
+ $$0 = $14;
+ break;
+ }
+ case 0: {
+ $16 = HEAP32[$ex>>2]|0;
+ $17 = ($16|0)==(2);
+ $18 = ((($ex)) + 4|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (0 - ($19))|0;
+ $21 = $17 ? $20 : $19;
+ $$0 = $21;
+ break;
+ }
+ default: {
+ $15 = (___syscall_ret($12)|0);
+ $$0 = $15;
+ }
+ }
+ $$2 = $$0;
+ break;
+ }
+ case 1030: {
+ HEAP32[$vararg_buffer13>>2] = $fd;
+ $vararg_ptr16 = ((($vararg_buffer13)) + 4|0);
+ HEAP32[$vararg_ptr16>>2] = 1030;
+ $vararg_ptr17 = ((($vararg_buffer13)) + 8|0);
+ HEAP32[$vararg_ptr17>>2] = $$;
+ $22 = (___syscall221(221,($vararg_buffer13|0))|0);
+ $23 = ($22|0)==(-22);
+ if (!($23)) {
+ $24 = ($22|0)>(-1);
+ if ($24) {
+ HEAP32[$vararg_buffer18>>2] = $22;
+ $vararg_ptr21 = ((($vararg_buffer18)) + 4|0);
+ HEAP32[$vararg_ptr21>>2] = 2;
+ $vararg_ptr22 = ((($vararg_buffer18)) + 8|0);
+ HEAP32[$vararg_ptr22>>2] = 1;
+ (___syscall221(221,($vararg_buffer18|0))|0);
+ }
+ $25 = (___syscall_ret($22)|0);
+ $$2 = $25;
+ break L1;
+ }
+ HEAP32[$vararg_buffer23>>2] = $fd;
+ $vararg_ptr26 = ((($vararg_buffer23)) + 4|0);
+ HEAP32[$vararg_ptr26>>2] = 1030;
+ $vararg_ptr27 = ((($vararg_buffer23)) + 8|0);
+ HEAP32[$vararg_ptr27>>2] = 0;
+ $26 = (___syscall221(221,($vararg_buffer23|0))|0);
+ $27 = ($26|0)==(-22);
+ if ($27) {
+ HEAP32[$vararg_buffer31>>2] = $fd;
+ $vararg_ptr34 = ((($vararg_buffer31)) + 4|0);
+ HEAP32[$vararg_ptr34>>2] = 0;
+ $vararg_ptr35 = ((($vararg_buffer31)) + 8|0);
+ HEAP32[$vararg_ptr35>>2] = $$;
+ $30 = (___syscall221(221,($vararg_buffer31|0))|0);
+ $31 = ($30|0)>(-1);
+ if ($31) {
+ HEAP32[$vararg_buffer36>>2] = $30;
+ $vararg_ptr39 = ((($vararg_buffer36)) + 4|0);
+ HEAP32[$vararg_ptr39>>2] = 2;
+ $vararg_ptr40 = ((($vararg_buffer36)) + 8|0);
+ HEAP32[$vararg_ptr40>>2] = 1;
+ (___syscall221(221,($vararg_buffer36|0))|0);
+ }
+ $32 = (___syscall_ret($30)|0);
+ $$2 = $32;
+ break L1;
+ } else {
+ $28 = ($26|0)>(-1);
+ if ($28) {
+ HEAP32[$vararg_buffer28>>2] = $26;
+ (___syscall6(6,($vararg_buffer28|0))|0);
+ }
+ $29 = (___syscall_ret(-22)|0);
+ $$2 = $29;
+ break L1;
+ }
+ break;
+ }
+ default: {
+ $$off = (($cmd) + -12)|0;
+ $switch = ($$off>>>0)<(5);
+ if ($switch) {
+ $33 = $$;
+ HEAP32[$vararg_buffer41>>2] = $fd;
+ $vararg_ptr44 = ((($vararg_buffer41)) + 4|0);
+ HEAP32[$vararg_ptr44>>2] = $cmd;
+ $vararg_ptr45 = ((($vararg_buffer41)) + 8|0);
+ HEAP32[$vararg_ptr45>>2] = $33;
+ $34 = (___syscall221(221,($vararg_buffer41|0))|0);
+ $35 = (___syscall_ret($34)|0);
+ $$2 = $35;
+ break L1;
+ } else {
+ HEAP32[$vararg_buffer46>>2] = $fd;
+ $vararg_ptr49 = ((($vararg_buffer46)) + 4|0);
+ HEAP32[$vararg_ptr49>>2] = $cmd;
+ $vararg_ptr50 = ((($vararg_buffer46)) + 8|0);
+ HEAP32[$vararg_ptr50>>2] = $$;
+ $36 = (___syscall221(221,($vararg_buffer46|0))|0);
+ $37 = (___syscall_ret($36)|0);
+ $$2 = $37;
+ break L1;
+ }
+ }
+ }
+ } while(0);
+ STACKTOP = sp;return ($$2|0);
+}
+function _close($fd) {
+ $fd = $fd|0;
+ var $$ = 0, $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $0 = (___syscall6(6,($vararg_buffer|0))|0);
+ $1 = ($0|0)==(-4);
+ $$ = $1 ? -115 : $0;
+ $2 = (___syscall_ret($$)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function _memcmp($vl,$vr,$n) {
+ $vl = $vl|0;
+ $vr = $vr|0;
+ $n = $n|0;
+ var $$03 = 0, $$lcssa = 0, $$lcssa19 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $l$04 = 0, $r$05 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($n|0)==(0);
+ L1: do {
+ if ($0) {
+ $11 = 0;
+ } else {
+ $$03 = $n;$l$04 = $vl;$r$05 = $vr;
+ while(1) {
+ $1 = HEAP8[$l$04>>0]|0;
+ $2 = HEAP8[$r$05>>0]|0;
+ $3 = ($1<<24>>24)==($2<<24>>24);
+ if (!($3)) {
+ $$lcssa = $1;$$lcssa19 = $2;
+ break;
+ }
+ $4 = (($$03) + -1)|0;
+ $5 = ((($l$04)) + 1|0);
+ $6 = ((($r$05)) + 1|0);
+ $7 = ($4|0)==(0);
+ if ($7) {
+ $11 = 0;
+ break L1;
+ } else {
+ $$03 = $4;$l$04 = $5;$r$05 = $6;
+ }
+ }
+ $8 = $$lcssa&255;
+ $9 = $$lcssa19&255;
+ $10 = (($8) - ($9))|0;
+ $11 = $10;
+ }
+ } while(0);
+ return ($11|0);
+}
+function _ntohl($n) {
+ $n = $n|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_llvm_bswap_i32(($n|0))|0);
+ return ($0|0);
+}
+function _strncpy($d,$s,$n) {
+ $d = $d|0;
+ $s = $s|0;
+ $n = $n|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ (___stpncpy($d,$s,$n)|0);
+ return ($d|0);
+}
+function ___stpncpy($d,$s,$n) {
+ $d = $d|0;
+ $s = $s|0;
+ $n = $n|0;
+ var $$0$lcssa = 0, $$0$lcssa42 = 0, $$031 = 0, $$04$lcssa = 0, $$04$lcssa43 = 0, $$0430 = 0, $$06$lcssa = 0, $$06$lcssa44 = 0, $$0629 = 0, $$1$lcssa = 0, $$117 = 0, $$15$ph = 0, $$1511 = 0, $$17$ph = 0, $$1710 = 0, $$2$ph = 0, $$212 = 0, $$28 = 0, $$3 = 0, $$lcssa = 0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
+ var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond28 = 0, $wd$0$lcssa = 0;
+ var $wd$018 = 0, $ws$0$lcssa = 0, $ws$019 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $s;
+ $1 = $d;
+ $2 = $0 ^ $1;
+ $3 = $2 & 3;
+ $4 = ($3|0)==(0);
+ do {
+ if ($4) {
+ $5 = $0 & 3;
+ $6 = ($5|0)!=(0);
+ $7 = ($n|0)!=(0);
+ $or$cond28 = $7 & $6;
+ L3: do {
+ if ($or$cond28) {
+ $$031 = $n;$$0430 = $s;$$0629 = $d;
+ while(1) {
+ $8 = HEAP8[$$0430>>0]|0;
+ HEAP8[$$0629>>0] = $8;
+ $9 = ($8<<24>>24)==(0);
+ if ($9) {
+ $$0$lcssa42 = $$031;$$04$lcssa43 = $$0430;$$06$lcssa44 = $$0629;
+ break L3;
+ }
+ $10 = (($$031) + -1)|0;
+ $11 = ((($$0430)) + 1|0);
+ $12 = ((($$0629)) + 1|0);
+ $13 = $11;
+ $14 = $13 & 3;
+ $15 = ($14|0)!=(0);
+ $16 = ($10|0)!=(0);
+ $or$cond = $16 & $15;
+ if ($or$cond) {
+ $$031 = $10;$$0430 = $11;$$0629 = $12;
+ } else {
+ $$0$lcssa = $10;$$04$lcssa = $11;$$06$lcssa = $12;$$lcssa = $16;
+ label = 5;
+ break;
+ }
+ }
+ } else {
+ $$0$lcssa = $n;$$04$lcssa = $s;$$06$lcssa = $d;$$lcssa = $7;
+ label = 5;
+ }
+ } while(0);
+ if ((label|0) == 5) {
+ if ($$lcssa) {
+ $$0$lcssa42 = $$0$lcssa;$$04$lcssa43 = $$04$lcssa;$$06$lcssa44 = $$06$lcssa;
+ } else {
+ $$28 = $$06$lcssa;$$3 = 0;
+ break;
+ }
+ }
+ $17 = HEAP8[$$04$lcssa43>>0]|0;
+ $18 = ($17<<24>>24)==(0);
+ if ($18) {
+ $$28 = $$06$lcssa44;$$3 = $$0$lcssa42;
+ } else {
+ $19 = ($$0$lcssa42>>>0)>(3);
+ L11: do {
+ if ($19) {
+ $$117 = $$0$lcssa42;$wd$018 = $$06$lcssa44;$ws$019 = $$04$lcssa43;
+ while(1) {
+ $20 = HEAP32[$ws$019>>2]|0;
+ $21 = (($20) + -16843009)|0;
+ $22 = $20 & -2139062144;
+ $23 = $22 ^ -2139062144;
+ $24 = $23 & $21;
+ $25 = ($24|0)==(0);
+ if (!($25)) {
+ $$1$lcssa = $$117;$wd$0$lcssa = $wd$018;$ws$0$lcssa = $ws$019;
+ break L11;
+ }
+ HEAP32[$wd$018>>2] = $20;
+ $26 = (($$117) + -4)|0;
+ $27 = ((($ws$019)) + 4|0);
+ $28 = ((($wd$018)) + 4|0);
+ $29 = ($26>>>0)>(3);
+ if ($29) {
+ $$117 = $26;$wd$018 = $28;$ws$019 = $27;
+ } else {
+ $$1$lcssa = $26;$wd$0$lcssa = $28;$ws$0$lcssa = $27;
+ break;
+ }
+ }
+ } else {
+ $$1$lcssa = $$0$lcssa42;$wd$0$lcssa = $$06$lcssa44;$ws$0$lcssa = $$04$lcssa43;
+ }
+ } while(0);
+ $$15$ph = $ws$0$lcssa;$$17$ph = $wd$0$lcssa;$$2$ph = $$1$lcssa;
+ label = 11;
+ }
+ } else {
+ $$15$ph = $s;$$17$ph = $d;$$2$ph = $n;
+ label = 11;
+ }
+ } while(0);
+ L16: do {
+ if ((label|0) == 11) {
+ $30 = ($$2$ph|0)==(0);
+ if ($30) {
+ $$28 = $$17$ph;$$3 = 0;
+ } else {
+ $$1511 = $$15$ph;$$1710 = $$17$ph;$$212 = $$2$ph;
+ while(1) {
+ $31 = HEAP8[$$1511>>0]|0;
+ HEAP8[$$1710>>0] = $31;
+ $32 = ($31<<24>>24)==(0);
+ if ($32) {
+ $$28 = $$1710;$$3 = $$212;
+ break L16;
+ }
+ $33 = (($$212) + -1)|0;
+ $34 = ((($$1511)) + 1|0);
+ $35 = ((($$1710)) + 1|0);
+ $36 = ($33|0)==(0);
+ if ($36) {
+ $$28 = $35;$$3 = 0;
+ break;
+ } else {
+ $$1511 = $34;$$1710 = $35;$$212 = $33;
+ }
+ }
+ }
+ }
+ } while(0);
+ _memset(($$28|0),0,($$3|0))|0;
+ return ($$28|0);
+}
+function _fopen($filename,$mode) {
+ $filename = $filename|0;
+ $mode = $mode|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $0 = HEAP8[$mode>>0]|0;
+ $1 = $0 << 24 >> 24;
+ $memchr = (_memchr(70518,$1,4)|0);
+ $2 = ($memchr|0)==(0|0);
+ if ($2) {
+ $3 = (___errno_location()|0);
+ HEAP32[$3>>2] = 22;
+ $$0 = 0;
+ } else {
+ $4 = (___fmodeflags($mode)|0);
+ $5 = $4 | 32768;
+ HEAP32[$vararg_buffer>>2] = $filename;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $5;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 438;
+ $6 = (___syscall5(5,($vararg_buffer|0))|0);
+ $7 = (___syscall_ret($6)|0);
+ $8 = ($7|0)<(0);
+ if ($8) {
+ $$0 = 0;
+ } else {
+ $9 = (___fdopen($7,$mode)|0);
+ $10 = ($9|0)==(0|0);
+ if ($10) {
+ HEAP32[$vararg_buffer3>>2] = $7;
+ (___syscall6(6,($vararg_buffer3|0))|0);
+ $$0 = 0;
+ } else {
+ $$0 = $9;
+ }
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function ___fmodeflags($mode) {
+ $mode = $mode|0;
+ var $$ = 0, $$flags$4 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags$0 = 0, $flags$0$ = 0, $flags$2 = 0;
+ var $flags$2$ = 0, $flags$4 = 0, $not$ = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_strchr($mode,43)|0);
+ $1 = ($0|0)==(0|0);
+ $2 = HEAP8[$mode>>0]|0;
+ $not$ = ($2<<24>>24)!=(114);
+ $$ = $not$&1;
+ $flags$0 = $1 ? $$ : 2;
+ $3 = (_strchr($mode,120)|0);
+ $4 = ($3|0)==(0|0);
+ $5 = $flags$0 | 128;
+ $flags$0$ = $4 ? $flags$0 : $5;
+ $6 = (_strchr($mode,101)|0);
+ $7 = ($6|0)==(0|0);
+ $8 = $flags$0$ | 524288;
+ $flags$2 = $7 ? $flags$0$ : $8;
+ $9 = ($2<<24>>24)==(114);
+ $10 = $flags$2 | 64;
+ $flags$2$ = $9 ? $flags$2 : $10;
+ $11 = ($2<<24>>24)==(119);
+ $12 = $flags$2$ | 512;
+ $flags$4 = $11 ? $12 : $flags$2$;
+ $13 = ($2<<24>>24)==(97);
+ $14 = $flags$4 | 1024;
+ $$flags$4 = $13 ? $14 : $flags$4;
+ return ($$flags$4|0);
+}
+function _strchr($s,$c) {
+ $s = $s|0;
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (___strchrnul($s,$c)|0);
+ $1 = HEAP8[$0>>0]|0;
+ $2 = $c&255;
+ $3 = ($1<<24>>24)==($2<<24>>24);
+ $4 = $3 ? $0 : 0;
+ return ($4|0);
+}
+function ___strchrnul($s,$c) {
+ $s = $s|0;
+ $c = $c|0;
+ var $$0 = 0, $$02$lcssa = 0, $$0211 = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond5 = 0, $w$0$lcssa = 0, $w$08 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $c & 255;
+ $1 = ($0|0)==(0);
+ L1: do {
+ if ($1) {
+ $6 = (_strlen($s)|0);
+ $7 = (($s) + ($6)|0);
+ $$0 = $7;
+ } else {
+ $2 = $s;
+ $3 = $2 & 3;
+ $4 = ($3|0)==(0);
+ if ($4) {
+ $$02$lcssa = $s;
+ } else {
+ $5 = $c&255;
+ $$0211 = $s;
+ while(1) {
+ $8 = HEAP8[$$0211>>0]|0;
+ $9 = ($8<<24>>24)==(0);
+ $10 = ($8<<24>>24)==($5<<24>>24);
+ $or$cond = $9 | $10;
+ if ($or$cond) {
+ $$0 = $$0211;
+ break L1;
+ }
+ $11 = ((($$0211)) + 1|0);
+ $12 = $11;
+ $13 = $12 & 3;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ $$02$lcssa = $11;
+ break;
+ } else {
+ $$0211 = $11;
+ }
+ }
+ }
+ $15 = Math_imul($0, 16843009)|0;
+ $16 = HEAP32[$$02$lcssa>>2]|0;
+ $17 = (($16) + -16843009)|0;
+ $18 = $16 & -2139062144;
+ $19 = $18 ^ -2139062144;
+ $20 = $19 & $17;
+ $21 = ($20|0)==(0);
+ L10: do {
+ if ($21) {
+ $23 = $16;$w$08 = $$02$lcssa;
+ while(1) {
+ $22 = $23 ^ $15;
+ $24 = (($22) + -16843009)|0;
+ $25 = $22 & -2139062144;
+ $26 = $25 ^ -2139062144;
+ $27 = $26 & $24;
+ $28 = ($27|0)==(0);
+ if (!($28)) {
+ $w$0$lcssa = $w$08;
+ break L10;
+ }
+ $29 = ((($w$08)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = (($30) + -16843009)|0;
+ $32 = $30 & -2139062144;
+ $33 = $32 ^ -2139062144;
+ $34 = $33 & $31;
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $23 = $30;$w$08 = $29;
+ } else {
+ $w$0$lcssa = $29;
+ break;
+ }
+ }
+ } else {
+ $w$0$lcssa = $$02$lcssa;
+ }
+ } while(0);
+ $36 = $c&255;
+ $$1 = $w$0$lcssa;
+ while(1) {
+ $37 = HEAP8[$$1>>0]|0;
+ $38 = ($37<<24>>24)==(0);
+ $39 = ($37<<24>>24)==($36<<24>>24);
+ $or$cond5 = $38 | $39;
+ $40 = ((($$1)) + 1|0);
+ if ($or$cond5) {
+ $$0 = $$1;
+ break;
+ } else {
+ $$1 = $40;
+ }
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function ___fdopen($fd,$mode) {
+ $fd = $fd|0;
+ $mode = $mode|0;
+ var $$0 = 0, $$cast = 0, $$pre = 0, $$pre1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
+ var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $tio = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0;
+ var sp = 0, stop = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer12 = sp + 40|0;
+ $vararg_buffer7 = sp + 24|0;
+ $vararg_buffer3 = sp + 16|0;
+ $vararg_buffer = sp;
+ $tio = sp + 52|0;
+ $0 = HEAP8[$mode>>0]|0;
+ $1 = $0 << 24 >> 24;
+ $memchr = (_memchr(70518,$1,4)|0);
+ $2 = ($memchr|0)==(0|0);
+ if ($2) {
+ $3 = (___errno_location()|0);
+ HEAP32[$3>>2] = 22;
+ $$0 = 0;
+ } else {
+ $4 = (_malloc(1144)|0);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ $$0 = 0;
+ } else {
+ dest=$4; stop=dest+112|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
+ $6 = (_strchr($mode,43)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ $8 = ($0<<24>>24)==(114);
+ $9 = $8 ? 8 : 4;
+ HEAP32[$4>>2] = $9;
+ }
+ $10 = (_strchr($mode,101)|0);
+ $11 = ($10|0)==(0|0);
+ if ($11) {
+ $12 = $0;
+ } else {
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 2;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 1;
+ (___syscall221(221,($vararg_buffer|0))|0);
+ $$pre = HEAP8[$mode>>0]|0;
+ $12 = $$pre;
+ }
+ $13 = ($12<<24>>24)==(97);
+ if ($13) {
+ HEAP32[$vararg_buffer3>>2] = $fd;
+ $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
+ HEAP32[$vararg_ptr6>>2] = 3;
+ $14 = (___syscall221(221,($vararg_buffer3|0))|0);
+ $15 = $14 & 1024;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $17 = $14 | 1024;
+ HEAP32[$vararg_buffer7>>2] = $fd;
+ $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
+ HEAP32[$vararg_ptr10>>2] = 4;
+ $vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
+ HEAP32[$vararg_ptr11>>2] = $17;
+ (___syscall221(221,($vararg_buffer7|0))|0);
+ }
+ $18 = HEAP32[$4>>2]|0;
+ $19 = $18 | 128;
+ HEAP32[$4>>2] = $19;
+ $26 = $19;
+ } else {
+ $$pre1 = HEAP32[$4>>2]|0;
+ $26 = $$pre1;
+ }
+ $20 = ((($4)) + 60|0);
+ HEAP32[$20>>2] = $fd;
+ $21 = ((($4)) + 120|0);
+ $22 = ((($4)) + 44|0);
+ HEAP32[$22>>2] = $21;
+ $23 = ((($4)) + 48|0);
+ HEAP32[$23>>2] = 1024;
+ $24 = ((($4)) + 75|0);
+ HEAP8[$24>>0] = -1;
+ $25 = $26 & 8;
+ $27 = ($25|0)==(0);
+ if ($27) {
+ HEAP32[$vararg_buffer12>>2] = $fd;
+ $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
+ HEAP32[$vararg_ptr15>>2] = 21505;
+ $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
+ HEAP32[$vararg_ptr16>>2] = $tio;
+ $28 = (___syscall54(54,($vararg_buffer12|0))|0);
+ $29 = ($28|0)==(0);
+ if ($29) {
+ HEAP8[$24>>0] = 10;
+ }
+ }
+ $30 = ((($4)) + 32|0);
+ HEAP32[$30>>2] = 87;
+ $31 = ((($4)) + 36|0);
+ HEAP32[$31>>2] = 52;
+ $32 = ((($4)) + 40|0);
+ HEAP32[$32>>2] = 51;
+ $33 = ((($4)) + 12|0);
+ HEAP32[$33>>2] = 49;
+ $34 = HEAP32[(71124)>>2]|0;
+ $35 = ($34|0)==(0);
+ if ($35) {
+ $36 = ((($4)) + 76|0);
+ HEAP32[$36>>2] = -1;
+ }
+ ___lock(((71148)|0));
+ $37 = HEAP32[(71144)>>2]|0;
+ $38 = ((($4)) + 56|0);
+ HEAP32[$38>>2] = $37;
+ $39 = ($37|0)==(0);
+ if (!($39)) {
+ $$cast = $37;
+ $40 = ((($$cast)) + 52|0);
+ HEAP32[$40>>2] = $4;
+ }
+ HEAP32[(71144)>>2] = $4;
+ ___unlock(((71148)|0));
+ $$0 = $4;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _fclose($f) {
+ $f = $f|0;
+ var $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 76|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)>(-1);
+ if ($2) {
+ }
+ $3 = HEAP32[$f>>2]|0;
+ $4 = $3 & 1;
+ $5 = ($4|0)!=(0);
+ if (!($5)) {
+ ___lock(((71148)|0));
+ $6 = ((($f)) + 52|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)==(0|0);
+ $9 = $7;
+ $$pre = ((($f)) + 56|0);
+ if (!($8)) {
+ $10 = HEAP32[$$pre>>2]|0;
+ $11 = ((($7)) + 56|0);
+ HEAP32[$11>>2] = $10;
+ }
+ $12 = HEAP32[$$pre>>2]|0;
+ $13 = ($12|0)==(0|0);
+ $14 = $12;
+ if (!($13)) {
+ $15 = ((($12)) + 52|0);
+ HEAP32[$15>>2] = $9;
+ }
+ $16 = HEAP32[(71144)>>2]|0;
+ $17 = ($16|0)==($f|0);
+ if ($17) {
+ HEAP32[(71144)>>2] = $14;
+ }
+ ___unlock(((71148)|0));
+ }
+ $18 = (_fflush($f)|0);
+ $19 = ((($f)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = (FUNCTION_TABLE_ii[$20 & 63]($f)|0);
+ $22 = $21 | $18;
+ $23 = ((($f)) + 92|0);
+ $24 = HEAP32[$23>>2]|0;
+ $25 = ($24|0)==(0|0);
+ if (!($25)) {
+ _free($24);
+ }
+ if (!($5)) {
+ _free($f);
+ }
+ return ($22|0);
+}
+function _fflush($f) {
+ $f = $f|0;
+ var $$0 = 0, $$01 = 0, $$012 = 0, $$014 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
+ var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, $r$0$lcssa = 0, $r$03 = 0, $r$1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($f|0)==(0|0);
+ do {
+ if ($0) {
+ $7 = HEAP32[3962]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $27 = 0;
+ } else {
+ $9 = HEAP32[3962]|0;
+ $10 = (_fflush($9)|0);
+ $27 = $10;
+ }
+ ___lock(((71148)|0));
+ $$012 = HEAP32[(71144)>>2]|0;
+ $11 = ($$012|0)==(0|0);
+ if ($11) {
+ $r$0$lcssa = $27;
+ } else {
+ $$014 = $$012;$r$03 = $27;
+ while(1) {
+ $12 = ((($$014)) + 76|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = ($13|0)>(-1);
+ if ($14) {
+ $15 = (___lockfile($$014)|0);
+ $23 = $15;
+ } else {
+ $23 = 0;
+ }
+ $16 = ((($$014)) + 20|0);
+ $17 = HEAP32[$16>>2]|0;
+ $18 = ((($$014)) + 28|0);
+ $19 = HEAP32[$18>>2]|0;
+ $20 = ($17>>>0)>($19>>>0);
+ if ($20) {
+ $21 = (___fflush_unlocked($$014)|0);
+ $22 = $21 | $r$03;
+ $r$1 = $22;
+ } else {
+ $r$1 = $r$03;
+ }
+ $24 = ($23|0)==(0);
+ if (!($24)) {
+ ___unlockfile($$014);
+ }
+ $25 = ((($$014)) + 56|0);
+ $$01 = HEAP32[$25>>2]|0;
+ $26 = ($$01|0)==(0|0);
+ if ($26) {
+ $r$0$lcssa = $r$1;
+ break;
+ } else {
+ $$014 = $$01;$r$03 = $r$1;
+ }
+ }
+ }
+ ___unlock(((71148)|0));
+ $$0 = $r$0$lcssa;
+ } else {
+ $1 = ((($f)) + 76|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)>(-1);
+ if (!($3)) {
+ $4 = (___fflush_unlocked($f)|0);
+ $$0 = $4;
+ break;
+ }
+ $5 = (___lockfile($f)|0);
+ $phitmp = ($5|0)==(0);
+ $6 = (___fflush_unlocked($f)|0);
+ if ($phitmp) {
+ $$0 = $6;
+ } else {
+ ___unlockfile($f);
+ $$0 = $6;
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function ___fflush_unlocked($f) {
+ $f = $f|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
+ var $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 20|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ((($f)) + 28|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = ($1>>>0)>($3>>>0);
+ if ($4) {
+ $5 = ((($f)) + 36|0);
+ $6 = HEAP32[$5>>2]|0;
+ (FUNCTION_TABLE_iiii[$6 & 127]($f,0,0)|0);
+ $7 = HEAP32[$0>>2]|0;
+ $8 = ($7|0)==(0|0);
+ if ($8) {
+ $$0 = -1;
+ } else {
+ label = 3;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $9 = ((($f)) + 4|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = ((($f)) + 8|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($10>>>0)<($12>>>0);
+ if ($13) {
+ $14 = ((($f)) + 40|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $10;
+ $17 = $12;
+ $18 = (($16) - ($17))|0;
+ (FUNCTION_TABLE_iiii[$15 & 127]($f,$18,1)|0);
+ }
+ $19 = ((($f)) + 16|0);
+ HEAP32[$19>>2] = 0;
+ HEAP32[$2>>2] = 0;
+ HEAP32[$0>>2] = 0;
+ HEAP32[$11>>2] = 0;
+ HEAP32[$9>>2] = 0;
+ $$0 = 0;
+ }
+ return ($$0|0);
+}
+function _mbtowc($wc,$src,$n) {
+ $wc = $wc|0;
+ $src = $src|0;
+ $n = $n|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $dummy = 0, $dummy$wc = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $dummy = sp;
+ $0 = ($src|0)==(0|0);
+ L1: do {
+ if ($0) {
+ $$0 = 0;
+ } else {
+ $1 = ($n|0)==(0);
+ do {
+ if (!($1)) {
+ $2 = ($wc|0)==(0|0);
+ $dummy$wc = $2 ? $dummy : $wc;
+ $3 = HEAP8[$src>>0]|0;
+ $4 = $3&255;
+ $5 = ($3<<24>>24)>(-1);
+ if ($5) {
+ HEAP32[$dummy$wc>>2] = $4;
+ $6 = ($3<<24>>24)!=(0);
+ $7 = $6&1;
+ $$0 = $7;
+ break L1;
+ }
+ $8 = (($4) + -194)|0;
+ $9 = ($8>>>0)>(50);
+ if (!($9)) {
+ $10 = ((($src)) + 1|0);
+ $11 = (15968 + ($8<<2)|0);
+ $12 = HEAP32[$11>>2]|0;
+ $13 = ($n>>>0)<(4);
+ if ($13) {
+ $14 = ($n*6)|0;
+ $15 = (($14) + -6)|0;
+ $16 = -2147483648 >>> $15;
+ $17 = $12 & $16;
+ $18 = ($17|0)==(0);
+ if (!($18)) {
+ break;
+ }
+ }
+ $19 = HEAP8[$10>>0]|0;
+ $20 = $19&255;
+ $21 = $20 >>> 3;
+ $22 = (($21) + -16)|0;
+ $23 = $12 >> 26;
+ $24 = (($21) + ($23))|0;
+ $25 = $22 | $24;
+ $26 = ($25>>>0)>(7);
+ if (!($26)) {
+ $27 = $12 << 6;
+ $28 = (($20) + -128)|0;
+ $29 = $28 | $27;
+ $30 = ($29|0)<(0);
+ if (!($30)) {
+ HEAP32[$dummy$wc>>2] = $29;
+ $$0 = 2;
+ break L1;
+ }
+ $31 = ((($src)) + 2|0);
+ $32 = HEAP8[$31>>0]|0;
+ $33 = $32&255;
+ $34 = $33 & 192;
+ $35 = ($34|0)==(128);
+ if ($35) {
+ $36 = $29 << 6;
+ $37 = (($33) + -128)|0;
+ $38 = $37 | $36;
+ $39 = ($38|0)<(0);
+ if (!($39)) {
+ HEAP32[$dummy$wc>>2] = $38;
+ $$0 = 3;
+ break L1;
+ }
+ $40 = ((($src)) + 3|0);
+ $41 = HEAP8[$40>>0]|0;
+ $42 = $41&255;
+ $43 = $42 & 192;
+ $44 = ($43|0)==(128);
+ if ($44) {
+ $45 = $38 << 6;
+ $46 = (($42) + -128)|0;
+ $47 = $46 | $45;
+ HEAP32[$dummy$wc>>2] = $47;
+ $$0 = 4;
+ break L1;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $48 = (___errno_location()|0);
+ HEAP32[$48>>2] = 84;
+ $$0 = -1;
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function _fputs($s,$f) {
+ $s = $s|0;
+ $f = $f|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_strlen($s)|0);
+ $1 = (_fwrite($s,$0,1,$f)|0);
+ $2 = (($1) + -1)|0;
+ return ($2|0);
+}
+function _fwrite($src,$size,$nmemb,$f) {
+ $src = $src|0;
+ $size = $size|0;
+ $nmemb = $nmemb|0;
+ $f = $f|0;
+ var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = Math_imul($nmemb, $size)|0;
+ $1 = ((($f)) + 76|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)>(-1);
+ if ($3) {
+ $5 = (___lockfile($f)|0);
+ $phitmp = ($5|0)==(0);
+ $6 = (___fwritex($src,$0,$f)|0);
+ if ($phitmp) {
+ $7 = $6;
+ } else {
+ ___unlockfile($f);
+ $7 = $6;
+ }
+ } else {
+ $4 = (___fwritex($src,$0,$f)|0);
+ $7 = $4;
+ }
+ $8 = ($7|0)==($0|0);
+ if ($8) {
+ $10 = $nmemb;
+ } else {
+ $9 = (($7>>>0) / ($size>>>0))&-1;
+ $10 = $9;
+ }
+ return ($10|0);
+}
+function _getpid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (___syscall20(20,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _access($filename,$amode) {
+ $filename = $filename|0;
+ $amode = $amode|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $filename;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $amode;
+ $0 = (___syscall33(33,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function _printf($fmt,$varargs) {
+ $fmt = $fmt|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $ap = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $ap = sp;
+ HEAP32[$ap>>2] = $varargs;
+ $0 = HEAP32[3933]|0;
+ $1 = (_vfprintf($0,$fmt,$ap)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function _feof($f) {
+ $f = $f|0;
+ var $$lobit = 0, $$lobit1 = 0, $$lobit2 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $phitmp = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($f)) + 76|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)>(-1);
+ if ($2) {
+ $5 = (___lockfile($f)|0);
+ $phitmp = ($5|0)==(0);
+ $6 = HEAP32[$f>>2]|0;
+ $7 = $6 >>> 4;
+ $$lobit = $7 & 1;
+ if ($phitmp) {
+ $$lobit2 = $$lobit;
+ } else {
+ $$lobit2 = $$lobit;
+ }
+ } else {
+ $3 = HEAP32[$f>>2]|0;
+ $4 = $3 >>> 4;
+ $$lobit1 = $4 & 1;
+ $$lobit2 = $$lobit1;
+ }
+ return ($$lobit2|0);
+}
+function ___procfdname($buf,$fd) {
+ $buf = $buf|0;
+ $fd = $fd|0;
+ var $$01 = 0, $$lcssa = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$13 = 0, $i$22 = 0, $j$04 = 0, $scevgep = 0, dest = 0;
+ var label = 0, sp = 0, src = 0, stop = 0;
+ sp = STACKTOP;
+ dest=$buf; src=70522; stop=dest+15|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
+ $0 = ($fd|0)==(0);
+ if ($0) {
+ $scevgep = ((($buf)) + 14|0);
+ HEAP8[$scevgep>>0] = 48;
+ $1 = ((($buf)) + 15|0);
+ HEAP8[$1>>0] = 0;
+ } else {
+ $i$13 = 14;$j$04 = $fd;
+ while(1) {
+ $2 = (($j$04>>>0) / 10)&-1;
+ $3 = (($i$13) + 1)|0;
+ $4 = ($j$04>>>0)<(10);
+ if ($4) {
+ $$lcssa = $3;
+ break;
+ } else {
+ $i$13 = $3;$j$04 = $2;
+ }
+ }
+ $5 = (($buf) + ($$lcssa)|0);
+ HEAP8[$5>>0] = 0;
+ $$01 = $fd;$i$22 = $$lcssa;
+ while(1) {
+ $6 = (($$01>>>0) % 10)&-1;
+ $7 = $6 | 48;
+ $8 = $7&255;
+ $9 = (($i$22) + -1)|0;
+ $10 = (($buf) + ($9)|0);
+ HEAP8[$10>>0] = $8;
+ $11 = (($$01>>>0) / 10)&-1;
+ $12 = ($$01>>>0)<(10);
+ if ($12) {
+ break;
+ } else {
+ $$01 = $11;$i$22 = $9;
+ }
+ }
+ }
+ return;
+}
+function _fstat($fd,$st) {
+ $fd = $fd|0;
+ $st = $st|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $buf = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer6 = sp + 16|0;
+ $vararg_buffer2 = sp + 8|0;
+ $vararg_buffer = sp;
+ $buf = sp + 24|0;
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $st;
+ $0 = (___syscall197(197,($vararg_buffer|0))|0);
+ $1 = ($0|0)==(-9);
+ if ($1) {
+ HEAP32[$vararg_buffer2>>2] = $fd;
+ $vararg_ptr5 = ((($vararg_buffer2)) + 4|0);
+ HEAP32[$vararg_ptr5>>2] = 1;
+ $2 = (___syscall221(221,($vararg_buffer2|0))|0);
+ $3 = ($2|0)<(0);
+ if ($3) {
+ label = 3;
+ } else {
+ ___procfdname($buf,$fd);
+ HEAP32[$vararg_buffer6>>2] = $buf;
+ $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
+ HEAP32[$vararg_ptr9>>2] = $st;
+ $5 = (___syscall195(195,($vararg_buffer6|0))|0);
+ $6 = (___syscall_ret($5)|0);
+ $$0 = $6;
+ }
+ } else {
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $4 = (___syscall_ret($0)|0);
+ $$0 = $4;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _select($n,$rfds,$wfds,$efds,$tv) {
+ $n = $n|0;
+ $rfds = $rfds|0;
+ $wfds = $wfds|0;
+ $efds = $efds|0;
+ $tv = $tv|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $n;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $rfds;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $wfds;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $efds;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $tv;
+ $0 = (___syscall142(142,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function _write($fd,$buf,$count) {
+ $fd = $fd|0;
+ $buf = $buf|0;
+ $count = $count|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $buf;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $count;
+ $0 = (___syscall4(4,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function _read($fd,$buf,$count) {
+ $fd = $fd|0;
+ $buf = $buf|0;
+ $count = $count|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $buf;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $count;
+ $0 = (___syscall3(3,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function _open($filename,$flags,$varargs) {
+ $filename = $filename|0;
+ $flags = $flags|0;
+ $varargs = $varargs|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
+ var $vararg_ptr2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $ap = sp + 16|0;
+ HEAP32[$ap>>2] = $varargs;
+ $arglist_current = HEAP32[$ap>>2]|0;
+ $0 = $arglist_current;
+ $1 = ((0) + 4|0);
+ $expanded2 = $1;
+ $expanded = (($expanded2) - 1)|0;
+ $2 = (($0) + ($expanded))|0;
+ $3 = ((0) + 4|0);
+ $expanded6 = $3;
+ $expanded5 = (($expanded6) - 1)|0;
+ $expanded4 = $expanded5 ^ -1;
+ $4 = $2 & $expanded4;
+ $5 = $4;
+ $6 = HEAP32[$5>>2]|0;
+ $arglist_next = ((($5)) + 4|0);
+ HEAP32[$ap>>2] = $arglist_next;
+ $7 = $flags | 32768;
+ HEAP32[$vararg_buffer>>2] = $filename;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $7;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $6;
+ $8 = (___syscall5(5,($vararg_buffer|0))|0);
+ $9 = (___syscall_ret($8)|0);
+ STACKTOP = sp;return ($9|0);
+}
+function _unlink($path) {
+ $path = $path|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $path;
+ $0 = (___syscall10(10,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function ___setxid($nr,$id,$eid,$sid) {
+ $nr = $nr|0;
+ $id = $id|0;
+ $eid = $eid|0;
+ $sid = $sid|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $c = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $c = sp;
+ HEAP32[$c>>2] = $id;
+ $0 = ((($c)) + 4|0);
+ HEAP32[$0>>2] = $eid;
+ $1 = ((($c)) + 8|0);
+ HEAP32[$1>>2] = $sid;
+ $2 = ((($c)) + 12|0);
+ HEAP32[$2>>2] = $nr;
+ $3 = ((($c)) + 16|0);
+ HEAP32[$3>>2] = 0;
+ $4 = ((($c)) + 20|0);
+ HEAP32[$4>>2] = 0;
+ switch ($nr|0) {
+ case 208: case 203: case 213: {
+ HEAP32[$3>>2] = 1;
+ break;
+ }
+ default: {
+ }
+ }
+ ___synccall(88,$c);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ($5|0)==(0);
+ if ($6) {
+ $$0 = 0;
+ } else {
+ $7 = (___errno_location()|0);
+ HEAP32[$7>>2] = $5;
+ $$0 = -1;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _do_setxid($p) {
+ $p = $p|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $inf = 0, $old = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $inf = sp + 16|0;
+ $old = sp;
+ $0 = ((($p)) + 20|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0);
+ do {
+ if ($2) {
+ $3 = ((($p)) + 16|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $6 = HEAP32[$p>>2]|0;
+ $7 = ($6|0)>(-1);
+ if ($7) {
+ $8 = (_getuid()|0);
+ $9 = ($6|0)==($8|0);
+ if (!($9)) {
+ ;HEAP32[$inf>>2]=HEAP32[720>>2]|0;HEAP32[$inf+4>>2]=HEAP32[720+4>>2]|0;HEAP32[$inf+8>>2]=HEAP32[720+8>>2]|0;HEAP32[$inf+12>>2]=HEAP32[720+12>>2]|0;
+ (_getrlimit(6,$old)|0);
+ $10 = (___setrlimit(6,$inf)|0);
+ $11 = (0 - ($10))|0;
+ HEAP32[$0>>2] = $11;
+ $12 = ($10|0)==(0);
+ if ($12) {
+ label = 7;
+ } else {
+ $13 = HEAP32[(71136)>>2]|0;
+ $14 = ($13|0)==(0);
+ if ($14) {
+ label = 7;
+ }
+ }
+ if ((label|0) == 7) {
+ HEAP32[$0>>2] = 1;
+ (___setrlimit(6,$old)|0);
+ }
+ break;
+ }
+ }
+ }
+ HEAP32[$0>>2] = 1;
+ }
+ } while(0);
+ STACKTOP = sp;return;
+}
+function _getuid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (___syscall199(199,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _getrlimit($resource,$rlim) {
+ $resource = $resource|0;
+ $rlim = $rlim|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $k_rlim = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $k_rlim = sp + 24|0;
+ HEAP32[$vararg_buffer>>2] = 0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $resource;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = 0;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $rlim;
+ $0 = (___syscall340(340,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ $2 = ($1|0)==(0);
+ if ($2) {
+ $3 = $rlim;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($3) + 4)|0;
+ $7 = $6;
+ $8 = HEAP32[$7>>2]|0;
+ $9 = ($5|0)==(-1);
+ $10 = ($8|0)==(-1);
+ $11 = $9 & $10;
+ if ($11) {
+ $12 = $rlim;
+ $13 = $12;
+ HEAP32[$13>>2] = -1;
+ $14 = (($12) + 4)|0;
+ $15 = $14;
+ HEAP32[$15>>2] = -1;
+ }
+ $16 = ((($rlim)) + 8|0);
+ $17 = $16;
+ $18 = $17;
+ $19 = HEAP32[$18>>2]|0;
+ $20 = (($17) + 4)|0;
+ $21 = $20;
+ $22 = HEAP32[$21>>2]|0;
+ $23 = ($19|0)==(-1);
+ $24 = ($22|0)==(-1);
+ $25 = $23 & $24;
+ if ($25) {
+ $26 = $16;
+ $27 = $26;
+ HEAP32[$27>>2] = -1;
+ $28 = (($26) + 4)|0;
+ $29 = $28;
+ HEAP32[$29>>2] = -1;
+ $$0 = 0;
+ } else {
+ $$0 = 0;
+ }
+ } else {
+ $30 = (___errno_location()|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ($31|0)==(38);
+ if ($32) {
+ HEAP32[$vararg_buffer4>>2] = $resource;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = $k_rlim;
+ $33 = (___syscall191(191,($vararg_buffer4|0))|0);
+ $34 = (___syscall_ret($33)|0);
+ $35 = ($34|0)<(0);
+ if ($35) {
+ $$0 = -1;
+ } else {
+ $36 = HEAP32[$k_rlim>>2]|0;
+ $37 = ($36|0)==(-1);
+ $38 = $37 ? -1 : $36;
+ $39 = $37 ? -1 : 0;
+ $40 = $rlim;
+ $41 = $40;
+ HEAP32[$41>>2] = $38;
+ $42 = (($40) + 4)|0;
+ $43 = $42;
+ HEAP32[$43>>2] = $39;
+ $44 = ((($k_rlim)) + 4|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($45|0)==(-1);
+ $47 = $46 ? -1 : $45;
+ $48 = $46 ? -1 : 0;
+ $49 = ((($rlim)) + 8|0);
+ $50 = $49;
+ $51 = $50;
+ HEAP32[$51>>2] = $47;
+ $52 = (($50) + 4)|0;
+ $53 = $52;
+ HEAP32[$53>>2] = $48;
+ if ($37) {
+ $54 = $rlim;
+ $55 = $54;
+ HEAP32[$55>>2] = -1;
+ $56 = (($54) + 4)|0;
+ $57 = $56;
+ HEAP32[$57>>2] = -1;
+ }
+ if ($46) {
+ $58 = $49;
+ $59 = $58;
+ HEAP32[$59>>2] = -1;
+ $60 = (($58) + 4)|0;
+ $61 = $60;
+ HEAP32[$61>>2] = -1;
+ $$0 = 0;
+ } else {
+ $$0 = 0;
+ }
+ }
+ } else {
+ $$0 = $1;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function ___setrlimit($resource,$rlim) {
+ $resource = $resource|0;
+ $rlim = $rlim|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $k_rlim = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer4 = sp + 16|0;
+ $vararg_buffer = sp;
+ $k_rlim = sp + 24|0;
+ HEAP32[$vararg_buffer>>2] = 0;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $resource;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $rlim;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = 0;
+ $0 = (___syscall340(340,($vararg_buffer|0))|0);
+ $1 = ($0|0)==(-38);
+ if ($1) {
+ $2 = $rlim;
+ $3 = $2;
+ $4 = HEAP32[$3>>2]|0;
+ $5 = (($2) + 4)|0;
+ $6 = $5;
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7>>>0)<(0);
+ $9 = ($4>>>0)<(4294967295);
+ $10 = ($7|0)==(0);
+ $11 = $10 & $9;
+ $12 = $8 | $11;
+ $13 = $12 ? $4 : -1;
+ $12 ? $7 : 0;
+ HEAP32[$k_rlim>>2] = $13;
+ $14 = ((($rlim)) + 8|0);
+ $15 = $14;
+ $16 = $15;
+ $17 = HEAP32[$16>>2]|0;
+ $18 = (($15) + 4)|0;
+ $19 = $18;
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20>>>0)<(0);
+ $22 = ($17>>>0)<(4294967295);
+ $23 = ($20|0)==(0);
+ $24 = $23 & $22;
+ $25 = $21 | $24;
+ $26 = $25 ? $17 : -1;
+ $25 ? $20 : 0;
+ $27 = ((($k_rlim)) + 4|0);
+ HEAP32[$27>>2] = $26;
+ HEAP32[$vararg_buffer4>>2] = $resource;
+ $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
+ HEAP32[$vararg_ptr7>>2] = $k_rlim;
+ $28 = (___syscall75(75,($vararg_buffer4|0))|0);
+ $$0 = $28;
+ } else {
+ $$0 = $0;
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function ___synccall($func,$ctx) {
+ $func = $func|0;
+ $ctx = $ctx|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ FUNCTION_TABLE_vi[$func & 127]($ctx);
+ return;
+}
+function _geteuid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (___syscall201(201,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _setuid($uid) {
+ $uid = $uid|0;
+ var $0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (___setxid(213,$uid,0,0)|0);
+ return ($0|0);
+}
+function _ftruncate($fd,$length) {
+ $fd = $fd|0;
+ $length = $length|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = ($length|0)<(0);
+ $1 = $0 << 31 >> 31;
+ HEAP32[$vararg_buffer>>2] = $fd;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = 0;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $length;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $1;
+ $2 = (___syscall194(194,($vararg_buffer|0))|0);
+ $3 = (___syscall_ret($2)|0);
+ STACKTOP = sp;return ($3|0);
+}
+function _getppid() {
+ var $0 = 0, $vararg_buffer = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = (___syscall64(64,($vararg_buffer|0))|0);
+ STACKTOP = sp;return ($0|0);
+}
+function _dup2($old,$new) {
+ $old = $old|0;
+ $new = $new|0;
+ var $$lcssa = 0, $0 = 0, $1 = 0, $2 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ while(1) {
+ HEAP32[$vararg_buffer>>2] = $old;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $new;
+ $0 = (___syscall63(63,($vararg_buffer|0))|0);
+ $1 = ($0|0)==(-16);
+ if (!($1)) {
+ $$lcssa = $0;
+ break;
+ }
+ }
+ $2 = (___syscall_ret($$lcssa)|0);
+ STACKTOP = sp;return ($2|0);
+}
+function ___mmap($start,$len,$prot,$flags,$fd,$off) {
+ $start = $start|0;
+ $len = $len|0;
+ $prot = $prot|0;
+ $flags = $flags|0;
+ $fd = $fd|0;
+ $off = $off|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
+ var $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ $0 = ($off|0)<(0);
+ $1 = $0 << 31 >> 31;
+ $2 = $off & 4095;
+ $3 = $1 & -4096;
+ $4 = ($2|0)==(0);
+ $5 = ($3|0)==(0);
+ $6 = $4 & $5;
+ do {
+ if ($6) {
+ $8 = ($len>>>0)>(2147483646);
+ if ($8) {
+ $9 = (___errno_location()|0);
+ HEAP32[$9>>2] = 12;
+ $$0 = (-1);
+ break;
+ }
+ $10 = $flags & 16;
+ $11 = ($10|0)!=(0);
+ if ($11) {
+ _dummy1(-1);
+ }
+ $12 = $off >> 12;
+ HEAP32[$vararg_buffer>>2] = $start;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $len;
+ $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
+ HEAP32[$vararg_ptr2>>2] = $prot;
+ $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
+ HEAP32[$vararg_ptr3>>2] = $flags;
+ $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
+ HEAP32[$vararg_ptr4>>2] = $fd;
+ $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
+ HEAP32[$vararg_ptr5>>2] = $12;
+ $13 = (___syscall192(192,($vararg_buffer|0))|0);
+ $14 = (___syscall_ret($13)|0);
+ $15 = $14;
+ if ($11) {
+ _dummy0();
+ $$0 = $15;
+ } else {
+ $$0 = $15;
+ }
+ } else {
+ $7 = (___errno_location()|0);
+ HEAP32[$7>>2] = 22;
+ $$0 = (-1);
+ }
+ } while(0);
+ STACKTOP = sp;return ($$0|0);
+}
+function _dummy1($x) {
+ $x = $x|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function _dummy0() {
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ return;
+}
+function ___munmap($start,$len) {
+ $start = $start|0;
+ $len = $len|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ _dummy1(-1);
+ HEAP32[$vararg_buffer>>2] = $start;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $len;
+ $0 = (___syscall91(91,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ _dummy0();
+ STACKTOP = sp;return ($1|0);
+}
+function _srand($s) {
+ $s = $s|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($s) + -1)|0;
+ $1 = 70568;
+ $2 = $1;
+ HEAP32[$2>>2] = $0;
+ $3 = (($1) + 4)|0;
+ $4 = $3;
+ HEAP32[$4>>2] = 0;
+ return;
+}
+function _rand() {
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = 70568;
+ $1 = $0;
+ $2 = HEAP32[$1>>2]|0;
+ $3 = (($0) + 4)|0;
+ $4 = $3;
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0);
+ $7 = tempRet0;
+ $8 = (_i64Add(($6|0),($7|0),1,0)|0);
+ $9 = tempRet0;
+ $10 = 70568;
+ $11 = $10;
+ HEAP32[$11>>2] = $8;
+ $12 = (($10) + 4)|0;
+ $13 = $12;
+ HEAP32[$13>>2] = $9;
+ $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0);
+ $15 = tempRet0;
+ return ($14|0);
+}
+function _srandom($seed) {
+ $seed = $seed|0;
+ var label = 0, sp = 0;
+ sp = STACKTOP;
+ ___lock((71168|0));
+ ___srandom($seed);
+ ___unlock((71168|0));
+ return;
+}
+function ___srandom($seed) {
+ $seed = $seed|0;
+ var $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $k$01 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[4093]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $2 = HEAP32[4094]|0;
+ HEAP32[$2>>2] = $seed;
+ } else {
+ $3 = ($0|0)==(31);
+ $4 = ($0|0)==(7);
+ $5 = $3 | $4;
+ $6 = $5 ? 3 : 1;
+ HEAP32[4127] = $6;
+ HEAP32[17794] = 0;
+ $7 = ($0|0)>(0);
+ if ($7) {
+ $8 = HEAP32[4094]|0;
+ $10 = 0;$9 = $seed;$k$01 = 0;
+ while(1) {
+ $11 = (___muldi3(($9|0),($10|0),1284865837,1481765933)|0);
+ $12 = tempRet0;
+ $13 = (_i64Add(($11|0),($12|0),1,0)|0);
+ $14 = tempRet0;
+ $15 = (($8) + ($k$01<<2)|0);
+ HEAP32[$15>>2] = $14;
+ $16 = (($k$01) + 1)|0;
+ $17 = ($16|0)<($0|0);
+ if ($17) {
+ $10 = $14;$9 = $13;$k$01 = $16;
+ } else {
+ $19 = $8;
+ break;
+ }
+ }
+ } else {
+ $$pre = HEAP32[4094]|0;
+ $19 = $$pre;
+ }
+ $18 = HEAP32[$19>>2]|0;
+ $20 = $18 | 1;
+ HEAP32[$19>>2] = $20;
+ }
+ return;
+}
+function _random() {
+ var $$ = 0, $$1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
+ var $8 = 0, $9 = 0, $k$0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ ___lock((71168|0));
+ $0 = HEAP32[4093]|0;
+ $1 = ($0|0)==(0);
+ if ($1) {
+ $2 = HEAP32[4094]|0;
+ $3 = HEAP32[$2>>2]|0;
+ $4 = Math_imul($3, 1103515245)|0;
+ $5 = (($4) + 12345)|0;
+ $6 = $5 & 2147483647;
+ HEAP32[$2>>2] = $6;
+ $k$0 = $6;
+ } else {
+ $7 = HEAP32[17794]|0;
+ $8 = HEAP32[4094]|0;
+ $9 = (($8) + ($7<<2)|0);
+ $10 = HEAP32[$9>>2]|0;
+ $11 = HEAP32[4127]|0;
+ $12 = (($8) + ($11<<2)|0);
+ $13 = HEAP32[$12>>2]|0;
+ $14 = (($13) + ($10))|0;
+ HEAP32[$12>>2] = $14;
+ $15 = $14 >>> 1;
+ $16 = (($11) + 1)|0;
+ $17 = ($16|0)==($0|0);
+ $$ = $17 ? 0 : $16;
+ HEAP32[4127] = $$;
+ $18 = (($7) + 1)|0;
+ $19 = ($18|0)==($0|0);
+ $$1 = $19 ? 0 : $18;
+ HEAP32[17794] = $$1;
+ $k$0 = $15;
+ }
+ ___unlock((71168|0));
+ return ($k$0|0);
+}
+function _atoi($s) {
+ $s = $s|0;
+ var $$0 = 0, $$0$lcssa = 0, $$1$ph = 0, $$13 = 0, $$lcssa9 = 0, $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit2 = 0, $isdigittmp = 0, $isdigittmp1 = 0, $isdigittmp5 = 0, $n$0$lcssa = 0, $n$04 = 0, $neg$0 = 0, $neg$1$ph = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $$0 = $s;
+ while(1) {
+ $0 = HEAP8[$$0>>0]|0;
+ $1 = $0 << 24 >> 24;
+ $2 = (_isspace($1)|0);
+ $3 = ($2|0)==(0);
+ $4 = ((($$0)) + 1|0);
+ if ($3) {
+ $$0$lcssa = $$0;$$lcssa9 = $4;
+ break;
+ } else {
+ $$0 = $4;
+ }
+ }
+ $5 = HEAP8[$$0$lcssa>>0]|0;
+ $6 = $5 << 24 >> 24;
+ switch ($6|0) {
+ case 45: {
+ $neg$0 = 1;
+ label = 5;
+ break;
+ }
+ case 43: {
+ $neg$0 = 0;
+ label = 5;
+ break;
+ }
+ default: {
+ $$1$ph = $$0$lcssa;$8 = $5;$neg$1$ph = 0;
+ }
+ }
+ if ((label|0) == 5) {
+ $$pre = HEAP8[$$lcssa9>>0]|0;
+ $$1$ph = $$lcssa9;$8 = $$pre;$neg$1$ph = $neg$0;
+ }
+ $7 = $8 << 24 >> 24;
+ $isdigittmp1 = (($7) + -48)|0;
+ $isdigit2 = ($isdigittmp1>>>0)<(10);
+ if ($isdigit2) {
+ $$13 = $$1$ph;$isdigittmp5 = $isdigittmp1;$n$04 = 0;
+ while(1) {
+ $9 = ($n$04*10)|0;
+ $10 = ((($$13)) + 1|0);
+ $11 = (($9) - ($isdigittmp5))|0;
+ $12 = HEAP8[$10>>0]|0;
+ $13 = $12 << 24 >> 24;
+ $isdigittmp = (($13) + -48)|0;
+ $isdigit = ($isdigittmp>>>0)<(10);
+ if ($isdigit) {
+ $$13 = $10;$isdigittmp5 = $isdigittmp;$n$04 = $11;
+ } else {
+ $n$0$lcssa = $11;
+ break;
+ }
+ }
+ } else {
+ $n$0$lcssa = 0;
+ }
+ $14 = ($neg$1$ph|0)!=(0);
+ $15 = (0 - ($n$0$lcssa))|0;
+ $16 = $14 ? $n$0$lcssa : $15;
+ return ($16|0);
+}
+function _getrusage($who,$ru) {
+ $who = $who|0;
+ $ru = $ru|0;
+ var $0 = 0, $1 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $vararg_buffer = sp;
+ HEAP32[$vararg_buffer>>2] = $who;
+ $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
+ HEAP32[$vararg_ptr1>>2] = $ru;
+ $0 = (___syscall77(77,($vararg_buffer|0))|0);
+ $1 = (___syscall_ret($0)|0);
+ STACKTOP = sp;return ($1|0);
+}
+function _strrchr($s,$c) {
+ $s = $s|0;
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (_strlen($s)|0);
+ $1 = (($0) + 1)|0;
+ $2 = (___memrchr($s,$c,$1)|0);
+ return ($2|0);
+}
+function ___memrchr($m,$c,$n) {
+ $m = $m|0;
+ $c = $c|0;
+ $n = $n|0;
+ var $$0 = 0, $$01 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = $c&255;
+ $$01 = $n;
+ while(1) {
+ $1 = (($$01) + -1)|0;
+ $2 = ($$01|0)==(0);
+ if ($2) {
+ $$0 = 0;
+ break;
+ }
+ $3 = (($m) + ($1)|0);
+ $4 = HEAP8[$3>>0]|0;
+ $5 = ($4<<24>>24)==($0<<24>>24);
+ if ($5) {
+ $$0 = $3;
+ break;
+ } else {
+ $$01 = $1;
+ }
+ }
+ return ($$0|0);
+}
+function _isdigit($c) {
+ $c = $c|0;
+ var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($c) + -48)|0;
+ $1 = ($0>>>0)<(10);
+ $2 = $1&1;
+ return ($2|0);
+}
+function ___tre_mem_new_impl($provided,$provided_block) {
+ $provided = $provided|0;
+ $provided_block = $provided_block|0;
+ var $0 = 0, $1 = 0, $mem$0$in = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($provided|0)==(0);
+ if ($0) {
+ $1 = (_calloc(1,24)|0);
+ $mem$0$in = $1;
+ } else {
+ ;HEAP32[$provided_block>>2]=0|0;HEAP32[$provided_block+4>>2]=0|0;HEAP32[$provided_block+8>>2]=0|0;HEAP32[$provided_block+12>>2]=0|0;HEAP32[$provided_block+16>>2]=0|0;HEAP32[$provided_block+20>>2]=0|0;
+ $mem$0$in = $provided_block;
+ }
+ return ($mem$0$in|0);
+}
+function ___tre_mem_destroy($mem) {
+ $mem = $mem|0;
+ var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $l$01 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[$mem>>2]|0;
+ $1 = ($0|0)==(0|0);
+ if (!($1)) {
+ $l$01 = $0;
+ while(1) {
+ $2 = HEAP32[$l$01>>2]|0;
+ _free($2);
+ $3 = ((($l$01)) + 4|0);
+ $4 = HEAP32[$3>>2]|0;
+ _free($l$01);
+ $5 = ($4|0)==(0|0);
+ if ($5) {
+ break;
+ } else {
+ $l$01 = $4;
+ }
+ }
+ }
+ _free($mem);
+ return;
+}
+function ___tre_mem_alloc_impl($mem,$provided,$provided_block,$zero,$size) {
+ $mem = $mem|0;
+ $provided = $provided|0;
+ $provided_block = $provided_block|0;
+ $zero = $zero|0;
+ $size = $size|0;
+ var $$ = 0, $$3 = 0, $$4 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phiZ2D = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
+ var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($mem)) + 16|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ($1|0)==(0);
+ L1: do {
+ if ($2) {
+ $3 = ((($mem)) + 12|0);
+ $4 = HEAP32[$3>>2]|0;
+ $5 = ($4>>>0)<($size>>>0);
+ do {
+ if ($5) {
+ $7 = ($provided|0)==(0);
+ if (!($7)) {
+ $8 = ($provided_block|0)==(0|0);
+ if ($8) {
+ HEAP32[$0>>2] = 1;
+ $$3 = 0;
+ break L1;
+ } else {
+ $9 = ((($mem)) + 8|0);
+ HEAP32[$9>>2] = $provided_block;
+ HEAP32[$3>>2] = 1024;
+ $10 = $provided_block;
+ $$pre$phiZ2D = $9;$27 = $10;$33 = $provided_block;$35 = 1024;
+ break;
+ }
+ }
+ $11 = $size << 3;
+ $12 = ($11>>>0)>(1024);
+ $$ = $12 ? $11 : 1024;
+ $13 = (_malloc(8)|0);
+ $14 = ($13|0)==(0|0);
+ if ($14) {
+ HEAP32[$0>>2] = 1;
+ $$3 = 0;
+ break L1;
+ }
+ $15 = (_malloc($$)|0);
+ HEAP32[$13>>2] = $15;
+ $16 = ($15|0)==(0|0);
+ $17 = $15;
+ if ($16) {
+ _free($13);
+ HEAP32[$0>>2] = 1;
+ $$3 = 0;
+ break L1;
+ }
+ $18 = ((($13)) + 4|0);
+ HEAP32[$18>>2] = 0;
+ $19 = ((($mem)) + 4|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = ($20|0)==(0|0);
+ if (!($21)) {
+ $22 = ((($20)) + 4|0);
+ HEAP32[$22>>2] = $13;
+ }
+ $23 = HEAP32[$mem>>2]|0;
+ $24 = ($23|0)==(0|0);
+ if ($24) {
+ HEAP32[$mem>>2] = $13;
+ }
+ HEAP32[$19>>2] = $13;
+ $25 = ((($mem)) + 8|0);
+ HEAP32[$25>>2] = $17;
+ HEAP32[$3>>2] = $$;
+ $$pre$phiZ2D = $25;$27 = $17;$33 = $15;$35 = $$;
+ } else {
+ $$phi$trans$insert = ((($mem)) + 8|0);
+ $$pre = HEAP32[$$phi$trans$insert>>2]|0;
+ $6 = $$pre;
+ $$pre$phiZ2D = $$phi$trans$insert;$27 = $$pre;$33 = $6;$35 = $4;
+ }
+ } while(0);
+ $26 = (($27) + ($size))|0;
+ $28 = $26 & 3;
+ $29 = ($28|0)==(0);
+ $30 = (4 - ($28))|0;
+ $$4 = $29 ? 0 : $30;
+ $31 = (($$4) + ($size))|0;
+ $32 = (($33) + ($31)|0);
+ HEAP32[$$pre$phiZ2D>>2] = $32;
+ $34 = (($35) - ($31))|0;
+ HEAP32[$3>>2] = $34;
+ $36 = ($zero|0)==(0);
+ if ($36) {
+ $$3 = $33;
+ } else {
+ _memset(($33|0),0,($31|0))|0;
+ $$3 = $33;
+ }
+ } else {
+ $$3 = 0;
+ }
+ } while(0);
+ return ($$3|0);
+}
+function _regexec($preg,$string,$nmatch,$pmatch,$eflags) {
+ $preg = $preg|0;
+ $string = $string|0;
+ $nmatch = $nmatch|0;
+ $pmatch = $pmatch|0;
+ $eflags = $eflags|0;
+ var $$$i = 0, $$$i4 = 0, $$0 = 0, $$1$i = 0, $$15$i = 0, $$52$i = 0, $$554$i = 0, $$lcssa = 0, $$lcssa133 = 0, $$lcssa138 = 0, $$not$i = 0, $$not176$i = 0, $$old$i = 0, $$old$i15 = 0, $$old11$i = 0, $$old34$i = 0, $$old35$i = 0, $$old37$i = 0, $$old38$i = 0, $$old46$i = 0;
+ var $$old47$i = 0, $$old8$i = 0, $$pre$i = 0, $$pre$i16 = 0, $$pre$phi212$iZ2D = 0, $$pre$phi214$iZ2D = 0, $$pre174$i = 0, $$pre176$i = 0, $$pre177$i = 0, $$pre178$i = 0, $$pre182$i = 0, $$pre183$i = 0, $$pre184$i = 0, $$pre186$i = 0, $$pre201$i = 0, $$pre202$i = 0, $$pre204$i = 0, $$pre206$i = 0, $$pre207$i = 0, $$pre208$i = 0;
+ var $$pre210$i = 0, $$pre213$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
+ var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
+ var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
+ var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
+ var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
+ var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0;
+ var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0;
+ var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0;
+ var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0;
+ var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0;
+ var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0;
+ var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0;
+ var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0;
+ var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0;
+ var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0;
+ var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0;
+ var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0;
+ var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0;
+ var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0;
+ var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0;
+ var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0;
+ var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0;
+ var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0;
+ var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0;
+ var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0;
+ var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0;
+ var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0;
+ var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0;
+ var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0;
+ var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0;
+ var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0;
+ var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0;
+ var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0;
+ var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0;
+ var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0;
+ var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0;
+ var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
+ var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge$i = 0, $brmerge$i14 = 0, $brmerge159$i = 0, $brmerge162$i = 0, $brmerge163$i = 0, $brmerge169$i = 0, $brmerge172$i = 0;
+ var $brmerge173$i = 0, $brmerge177$i = 0, $eo$0 = 0, $eo$1 = 0, $eo$2 = 0, $eo$3 = 0, $eo$4 = 0, $exitcond = 0, $exitcond193$i = 0, $exitcond194$i = 0, $exitcond195$i = 0, $exitcond74 = 0, $exitcond75 = 0, $i$0105$i = 0, $i$0165$i = 0, $i$1163$i = 0, $i$399$i = 0, $i$4116$i = 0, $i$5125$i = 0, $i$6132$i = 0;
+ var $i$7130$i = 0, $i1$0110$i = 0, $i10$0130$i = 0, $i3$0157$i = 0, $i5$0134$i = 0, $match_eo$0$i = 0, $match_eo$0$i8 = 0, $match_eo$1$i = 0, $match_eo$1$ph$lcssa$i = 0, $match_eo$1$ph108$i = 0, $match_eo$1$ph109$mux$i = 0, $match_eo$10$i = 0, $match_eo$10$lobit$i = 0, $match_eo$2$i = 0, $match_eo$2$i21 = 0, $match_eo$3$i = 0, $match_eo$4$i = 0, $match_eo$4$i$lcssa149 = 0, $match_eo$4$i23 = 0, $match_eo$4$lobit$i = 0;
+ var $match_eo$5$lcssa$i = 0, $match_eo$5155$i = 0, $match_eo$6$lcssa$i = 0, $match_eo$6135$i = 0, $match_eo$7$i = 0, $match_eo$9$i = 0, $new_match$0$i = 0, $new_match$1$ph$lcssa$i = 0, $new_match$1$ph110$i = 0, $new_match$1$ph111$mux$i = 0, $new_match$10$i = 0, $new_match$2$i = 0, $new_match$3$i = 0, $new_match$4$i = 0, $new_match$5$i = 0, $new_match$6$lcssa$i = 0, $new_match$6156$i = 0, $new_match$7$lcssa$i = 0, $new_match$7138$i = 0, $new_match$8$i = 0;
+ var $next_c$i = 0, $next_c$i3 = 0, $next_state$0147$i = 0, $next_state$1$i = 0, $next_state$1$i$lcssa = 0, $next_tags$0117$i = 0, $next_tags$1$i = 0, $next_tags$1$i$lcssa = 0, $next_tags$10$i = 0, $next_tags$2127$i = 0, $next_tags$3$i = 0, $next_tags$4$i = 0, $next_tags$5142$i = 0, $next_tags$5142$i$lcssa = 0, $next_tags$5142$i$lcssa146 = 0, $next_tags$6$i = 0, $next_tags$6$i$lcssa = 0, $next_tags$7154$i = 0, $next_tags$8$i = 0, $nmatch$ = 0;
+ var $notlhs166$i = 0, $notlhs180$i = 0, $notrhs$i = 0, $notrhs$i26 = 0, $notrhs167$i = 0, $notrhs181$i = 0, $num_tags$0$i = 0, $or$cond = 0, $or$cond$not$i = 0, $or$cond$not$i12 = 0, $or$cond10$i = 0, $or$cond12$i = 0, $or$cond12$i17 = 0, $or$cond15$i = 0, $or$cond15$i18 = 0, $or$cond161$i = 0, $or$cond165$i = 0, $or$cond171$i = 0, $or$cond175$i = 0, $or$cond18$i = 0;
+ var $or$cond18$i20 = 0, $or$cond21$i = 0, $or$cond21$i25 = 0, $or$cond24$i = 0, $or$cond24$not$i = 0, $or$cond27$i = 0, $or$cond27$not$i = 0, $or$cond3$i = 0, $or$cond30$i = 0, $or$cond33$i = 0, $or$cond36$i = 0, $or$cond36$i28 = 0, $or$cond39$i = 0, $or$cond39$i29 = 0, $or$cond42$i = 0, $or$cond42$i30 = 0, $or$cond45$i = 0, $or$cond45$i32 = 0, $or$cond48$i = 0, $or$cond48$i22 = 0;
+ var $or$cond58$i = 0, $or$cond6$i = 0, $or$cond7$i = 0, $or$cond9$i = 0, $pmatch$0$i = 0, $pmatch$1$i = 0, $pos$0$i = 0, $pos$0$i10 = 0, $pos$2$i = 0, $pos$3$i = 0, $pos$5$i = 0, $pos_add_next$0$i = 0, $pos_add_next$0$i6 = 0, $pos_add_next$1$i = 0, $pos_add_next$1$i9 = 0, $pos_add_next$2$i = 0, $pos_add_next$2$i24 = 0, $pos_add_next$3$i = 0, $pos_add_next$5$i = 0, $pos_add_next$6$i = 0;
+ var $pos_add_next$7$i = 0, $pos_add_next$9$i = 0, $pos_start$0$i = 0, $prev_c$0$i = 0, $prev_c$2$i = 0, $reach$1$i = 0, $reach$2$i = 0, $reach_i$0119$i = 0, $reach_i$1153$i = 0, $reach_next$1$i = 0, $reach_next$2$i = 0, $reach_next_i$0$i = 0, $reach_next_i$1$ph$lcssa$i = 0, $reach_next_i$1$ph101$i = 0, $reach_next_i$2$i = 0, $reach_next_i$3$lcssa$i = 0, $reach_next_i$3121$i = 0, $reach_next_i$4$i = 0, $reach_next_i$5$lcssa$i = 0, $reach_next_i$5154$i = 0;
+ var $reach_next_i$6$lcssa$i = 0, $reach_next_i$6134$i = 0, $reach_next_i$7$i = 0, $ret$0$i = 0, $ret$7$i = 0, $smax$i = 0, $stack$0$i = 0, $stack$11$i = 0, $stack$11$i$lcssa = 0, $stack$1118$i = 0, $stack$12$i = 0, $stack$14$i = 0, $stack$3$i = 0, $stack$5$i = 0, $stack$5$i$lcssa = 0, $stack$6$i = 0, $stack$7143$i = 0, $stack$7143$i$lcssa = 0, $stack$7143$i$lcssa144 = 0, $stack$9$i = 0;
+ var $state$0116$i = 0, $state$1$i = 0, $state$1$i$lcssa = 0, $state$2$i = 0, $state$3$i = 0, $state$5$i = 0, $states_seen$0$ph$i = 0, $states_seen$1$i = 0, $status$0 = 0, $str_byte$0$i = 0, $str_byte$0$i11 = 0, $str_byte$1$i = 0, $str_byte$3$i = 0, $str_byte$4$i = 0, $str_byte$6$i = 0, $tag_i$097$i = 0, $tag_i$1128$i = 0, $tags$0 = 0, $tags$0$i = 0, $tags$1$i = 0;
+ var $tmp$0114$i = 0, $tmp$i = 0, $tmp$i31 = 0, $tmp51$i = 0, $tmp55$i = 0, $tmp9$0138$i54 = 0, $tmp_buf$0166$i = 0, $tmp_tags$1$i = 0, $tmp_tags$2$lcssa$i = 0, $tmp_tags$2157$i = 0, $tmp_tags$3$lcssa$i = 0, $tmp_tags$4$i = 0, $trans_i$0$ph112$i = 0, $trans_i$0120$i = 0, $trans_i$085$i = 0, $trans_i$085$i$lcssa135 = 0, $trans_i$085$i137 = 0, $trans_i$1144$i = 0, $trans_i$1144$i27 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abort();
+ $next_c$i3 = sp + 4|0;
+ $next_c$i = sp;
+ $0 = ((($preg)) + 4|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = ((($1)) + 56|0);
+ $3 = HEAP32[$2>>2]|0;
+ $4 = $3 & 8;
+ $5 = ($4|0)==(0);
+ $nmatch$ = $5 ? $nmatch : 0;
+ $6 = ((($1)) + 40|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)>(0);
+ $9 = ($nmatch$|0)!=(0);
+ $or$cond = $8 & $9;
+ if ($or$cond) {
+ $10 = $7 << 2;
+ $11 = (_malloc($10)|0);
+ $12 = ($11|0)==(0|0);
+ if ($12) {
+ $$0 = 12;
+ } else {
+ $tags$0 = $11;
+ label = 3;
+ }
+ } else {
+ $tags$0 = 0;
+ label = 3;
+ }
+ if ((label|0) == 3) {
+ $13 = ((($1)) + 60|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = ($14|0)==(0);
+ if ($15) {
+ HEAP32[$next_c$i3>>2] = 0;
+ $442 = $eflags & 1;
+ $443 = $eflags & 2;
+ $444 = HEAP32[$2>>2]|0;
+ $445 = $444 & 4;
+ $446 = ($tags$0|0)==(0|0);
+ if ($446) {
+ $num_tags$0$i = 0;
+ } else {
+ $447 = HEAP32[$6>>2]|0;
+ $num_tags$0$i = $447;
+ }
+ $448 = $num_tags$0$i << 2;
+ $449 = ((($1)) + 52|0);
+ $450 = HEAP32[$449>>2]|0;
+ $451 = $450 << 3;
+ $452 = (($451) + 8)|0;
+ $453 = Math_imul($448, $450)|0;
+ $454 = (($452) + ($453))|0;
+ $455 = $454 << 1;
+ $456 = (($448) + 12)|0;
+ $457 = (($456) + ($451))|0;
+ $458 = (($457) + ($455))|0;
+ $459 = (_malloc($458)|0);
+ $460 = ($459|0)==(0|0);
+ if ($460) {
+ $$1$i = 12;$eo$3 = 0;
+ } else {
+ _memset(($459|0),0,($458|0))|0;
+ $461 = (($459) + ($448)|0);
+ $462 = $461;
+ $463 = $462 & 3;
+ $464 = ($463|0)==(0);
+ $465 = (4 - ($463))|0;
+ $$$i4 = $464 ? 0 : $465;
+ $466 = (($461) + ($$$i4)|0);
+ $467 = (($466) + ($452)|0);
+ $468 = $467;
+ $469 = $468 & 3;
+ $470 = ($469|0)==(0);
+ $471 = (4 - ($469))|0;
+ $472 = $470 ? 0 : $471;
+ $473 = (($467) + ($472)|0);
+ $474 = (($473) + ($452)|0);
+ $475 = $474;
+ $476 = $475 & 3;
+ $477 = ($476|0)==(0);
+ $478 = (4 - ($476))|0;
+ $$52$i = $477 ? 0 : $478;
+ $479 = (($474) + ($$52$i)|0);
+ $480 = (($479) + ($451)|0);
+ $481 = $480;
+ $482 = $481 & 3;
+ $483 = ($450|0)>(0);
+ if ($483) {
+ $484 = ($482|0)==(0);
+ $485 = (4 - ($482))|0;
+ $486 = $484 ? 0 : $485;
+ $487 = (($480) + ($486)|0);
+ $i$0165$i = 0;$tmp_buf$0166$i = $487;
+ while(1) {
+ $488 = (((($473) + ($i$0165$i<<3)|0)) + 4|0);
+ HEAP32[$488>>2] = $tmp_buf$0166$i;
+ $489 = (($tmp_buf$0166$i) + ($448)|0);
+ $490 = (((($466) + ($i$0165$i<<3)|0)) + 4|0);
+ HEAP32[$490>>2] = $489;
+ $491 = (($489) + ($448)|0);
+ $492 = (($i$0165$i) + 1)|0;
+ $exitcond74 = ($492|0)==($450|0);
+ if ($exitcond74) {
+ $i$1163$i = 0;
+ break;
+ } else {
+ $i$0165$i = $492;$tmp_buf$0166$i = $491;
+ }
+ }
+ while(1) {
+ $493 = (($479) + ($i$1163$i<<3)|0);
+ HEAP32[$493>>2] = -1;
+ $494 = (($i$1163$i) + 1)|0;
+ $exitcond = ($494|0)==($450|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $i$1163$i = $494;
+ }
+ }
+ }
+ $495 = (_mbtowc($next_c$i3,$string,4)|0);
+ $496 = ($495|0)<(1);
+ if ($496) {
+ $497 = ($495|0)<(0);
+ if ($497) {
+ $eo$2 = 0;$ret$0$i = 1;
+ } else {
+ $pos_add_next$0$i6 = 1;
+ label = 201;
+ }
+ } else {
+ $pos_add_next$0$i6 = $495;
+ label = 201;
+ }
+ L21: do {
+ if ((label|0) == 201) {
+ $498 = (($string) + ($pos_add_next$0$i6)|0);
+ $499 = ((($1)) + 8|0);
+ $500 = ($445|0)!=(0);
+ $501 = ($num_tags$0$i|0)>(0);
+ $502 = ((($1)) + 12|0);
+ $503 = ((($1)) + 44|0);
+ $504 = ((($1)) + 32|0);
+ $505 = ((($1)) + 36|0);
+ $506 = ($num_tags$0$i|0)==(0);
+ $notlhs180$i = ($442|0)==(0);
+ $$not176$i = ($num_tags$0$i|0)<(1);
+ $match_eo$0$i8 = -1;$new_match$0$i = 0;$pos$0$i10 = 0;$pos_add_next$1$i9 = $pos_add_next$0$i6;$prev_c$0$i = 0;$reach$1$i = $473;$reach_next$1$i = $466;$reach_next_i$0$i = $466;$str_byte$0$i11 = $498;$tmp_tags$1$i = $459;
+ while(1) {
+ $507 = ($match_eo$0$i8|0)<(0);
+ if ($507) {
+ $508 = HEAP32[$499>>2]|0;
+ $509 = ((($508)) + 8|0);
+ $510 = HEAP32[$509>>2]|0;
+ $511 = ($510|0)==(0|0);
+ L27: do {
+ if ($511) {
+ $match_eo$1$ph$lcssa$i = $match_eo$0$i8;$new_match$1$ph$lcssa$i = $new_match$0$i;$reach_next_i$1$ph$lcssa$i = $reach_next_i$0$i;
+ } else {
+ $512 = ($pos$0$i10|0)!=(0);
+ $513 = ($prev_c$0$i|0)==(95);
+ $514 = ($pos$0$i10|0)==(0);
+ $515 = ($prev_c$0$i|0)==(10);
+ $or$cond3$i = $500 & $515;
+ $notrhs181$i = ($pos$0$i10|0)<(1);
+ $or$cond$not$i12 = $notlhs180$i & $notrhs181$i;
+ $829 = $509;$match_eo$1$ph108$i = $match_eo$0$i8;$new_match$1$ph110$i = $new_match$0$i;$reach_next_i$1$ph101$i = $reach_next_i$0$i;$trans_i$0$ph112$i = $508;
+ while(1) {
+ $830 = $829;$trans_i$085$i = $trans_i$0$ph112$i;
+ L31: while(1) {
+ $516 = ((($trans_i$085$i)) + 12|0);
+ $517 = HEAP32[$516>>2]|0;
+ $518 = (($479) + ($517<<3)|0);
+ $519 = HEAP32[$518>>2]|0;
+ $520 = ($519|0)<($pos$0$i10|0);
+ if (!($520)) {
+ $match_eo$3$i = $match_eo$1$ph108$i;$new_match$3$i = $new_match$1$ph110$i;$reach_next_i$2$i = $reach_next_i$1$ph101$i;$trans_i$085$i137 = $trans_i$085$i;
+ break;
+ }
+ $521 = ((($trans_i$085$i)) + 20|0);
+ $522 = HEAP32[$521>>2]|0;
+ $523 = ($522|0)==(0);
+ if ($523) {
+ $$lcssa133 = $830;$$lcssa138 = $516;$trans_i$085$i$lcssa135 = $trans_i$085$i;
+ label = 236;
+ break;
+ }
+ $524 = $522 & 1;
+ $525 = ($524|0)==(0);
+ $brmerge$i14 = $or$cond$not$i12 | $525;
+ $brmerge169$i = $or$cond3$i | $brmerge$i14;
+ L35: do {
+ if ($brmerge169$i) {
+ $526 = $522 & 2;
+ $527 = ($526|0)==(0);
+ if (!($527)) {
+ $528 = HEAP32[$next_c$i3>>2]|0;
+ $529 = $528 | $443;
+ $530 = ($529|0)==(0);
+ $531 = ($528|0)==(10);
+ $or$cond7$i = $500 & $531;
+ $or$cond171$i = $530 | $or$cond7$i;
+ if (!($or$cond171$i)) {
+ break;
+ }
+ }
+ $532 = $522 & 16;
+ $533 = ($532|0)==(0);
+ do {
+ if (!($533)) {
+ if ($513) {
+ break L35;
+ }
+ $534 = (_iswalnum($prev_c$0$i)|0);
+ $535 = ($534|0)==(0);
+ if (!($535)) {
+ break L35;
+ }
+ $536 = HEAP32[$next_c$i3>>2]|0;
+ $537 = ($536|0)==(95);
+ if ($537) {
+ break;
+ }
+ $538 = (_iswalnum($536)|0);
+ $539 = ($538|0)==(0);
+ if ($539) {
+ break L35;
+ }
+ }
+ } while(0);
+ $540 = HEAP32[$521>>2]|0;
+ $541 = $540 & 32;
+ $542 = ($541|0)==(0);
+ if ($542) {
+ $551 = $540;
+ } else {
+ if ($513) {
+ $$old$i15 = HEAP32[$next_c$i3>>2]|0;
+ $$old8$i = ($$old$i15|0)==(95);
+ if ($$old8$i) {
+ break;
+ } else {
+ $547 = $$old$i15;
+ }
+ } else {
+ $543 = (_iswalnum($prev_c$0$i)|0);
+ $544 = ($543|0)==(0);
+ $545 = HEAP32[$next_c$i3>>2]|0;
+ $546 = ($545|0)==(95);
+ $or$cond9$i = $544 | $546;
+ if ($or$cond9$i) {
+ break;
+ } else {
+ $547 = $545;
+ }
+ }
+ $548 = (_iswalnum($547)|0);
+ $549 = ($548|0)==(0);
+ if (!($549)) {
+ break;
+ }
+ $$pre$i16 = HEAP32[$521>>2]|0;
+ $551 = $$pre$i16;
+ }
+ $550 = $551 & 64;
+ $552 = ($550|0)!=(0);
+ $or$cond12$i17 = $512 & $552;
+ $553 = HEAP32[$next_c$i3>>2]|0;
+ $554 = ($553|0)!=(0);
+ $or$cond15$i18 = $554 & $or$cond12$i17;
+ do {
+ if ($or$cond15$i18) {
+ if ($513) {
+ $557 = $553;$561 = 1;
+ } else {
+ $555 = (_iswalnum($prev_c$0$i)|0);
+ $556 = ($555|0)!=(0);
+ $$pre201$i = HEAP32[$next_c$i3>>2]|0;
+ $557 = $$pre201$i;$561 = $556;
+ }
+ $558 = ($557|0)==(95);
+ if ($558) {
+ if ($561) {
+ break L35;
+ } else {
+ break;
+ }
+ } else {
+ $559 = (_iswalnum($557)|0);
+ $560 = ($559|0)!=(0);
+ $tmp51$i = $561 ^ $560;
+ if ($tmp51$i) {
+ break;
+ } else {
+ break L35;
+ }
+ }
+ }
+ } while(0);
+ $562 = HEAP32[$521>>2]|0;
+ $563 = $562 & 128;
+ $564 = ($563|0)==(0);
+ if ($564) {
+ $$lcssa133 = $830;$$lcssa138 = $516;$trans_i$085$i$lcssa135 = $trans_i$085$i;
+ label = 236;
+ break L31;
+ }
+ $565 = HEAP32[$next_c$i3>>2]|0;
+ $566 = ($565|0)==(0);
+ $or$cond18$i20 = $514 | $566;
+ if ($or$cond18$i20) {
+ break;
+ }
+ if ($513) {
+ $569 = $565;$574 = 1;
+ } else {
+ $567 = (_iswalnum($prev_c$0$i)|0);
+ $568 = ($567|0)!=(0);
+ $$pre202$i = HEAP32[$next_c$i3>>2]|0;
+ $569 = $$pre202$i;$574 = $568;
+ }
+ $570 = ($569|0)==(95);
+ if ($570) {
+ if ($574) {
+ $$lcssa133 = $830;$$lcssa138 = $516;$trans_i$085$i$lcssa135 = $trans_i$085$i;
+ label = 236;
+ break L31;
+ } else {
+ break;
+ }
+ } else {
+ $571 = (_iswalnum($569)|0);
+ $572 = ($571|0)!=(0);
+ $573 = $574 ^ $572;
+ if ($573) {
+ break;
+ } else {
+ $$lcssa133 = $830;$$lcssa138 = $516;$trans_i$085$i$lcssa135 = $trans_i$085$i;
+ label = 236;
+ break L31;
+ }
+ }
+ }
+ } while(0);
+ $575 = ((($trans_i$085$i)) + 32|0);
+ $576 = ((($trans_i$085$i)) + 40|0);
+ $577 = HEAP32[$576>>2]|0;
+ $578 = ($577|0)==(0|0);
+ if ($578) {
+ $match_eo$1$ph$lcssa$i = $match_eo$1$ph108$i;$new_match$1$ph$lcssa$i = $new_match$1$ph110$i;$reach_next_i$1$ph$lcssa$i = $reach_next_i$1$ph101$i;
+ break L27;
+ } else {
+ $830 = $576;$trans_i$085$i = $575;
+ }
+ }
+ if ((label|0) == 236) {
+ label = 0;
+ $579 = HEAP32[$$lcssa133>>2]|0;
+ HEAP32[$reach_next_i$1$ph101$i>>2] = $579;
+ if ($501) {
+ $580 = ((($reach_next_i$1$ph101$i)) + 4|0);
+ $581 = HEAP32[$580>>2]|0;
+ _memset(($581|0),-1,($448|0))|0;
+ }
+ $582 = ((($trans_i$085$i$lcssa135)) + 16|0);
+ $583 = HEAP32[$582>>2]|0;
+ $584 = ($583|0)==(0|0);
+ do {
+ if (!($584)) {
+ $585 = HEAP32[$583>>2]|0;
+ $586 = ($585|0)>(-1);
+ if (!($586)) {
+ break;
+ }
+ $587 = ((($reach_next_i$1$ph101$i)) + 4|0);
+ $588 = $585;$tag_i$097$i = $583;
+ while(1) {
+ $589 = ($588|0)<($num_tags$0$i|0);
+ if ($589) {
+ $590 = HEAP32[$587>>2]|0;
+ $591 = (($590) + ($588<<2)|0);
+ HEAP32[$591>>2] = $pos$0$i10;
+ }
+ $592 = ((($tag_i$097$i)) + 4|0);
+ $593 = HEAP32[$592>>2]|0;
+ $594 = ($593|0)>(-1);
+ if ($594) {
+ $588 = $593;$tag_i$097$i = $592;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $595 = HEAP32[$reach_next_i$1$ph101$i>>2]|0;
+ $596 = HEAP32[$502>>2]|0;
+ $$not$i = ($595|0)!=($596|0);
+ $brmerge177$i = $$not176$i | $$not$i;
+ if ($brmerge177$i) {
+ $new_match$1$ph111$mux$i = $$not$i ? $new_match$1$ph110$i : 1;
+ $match_eo$1$ph109$mux$i = $$not$i ? $match_eo$1$ph108$i : $pos$0$i10;
+ $$pre213$i = ((($reach_next_i$1$ph101$i)) + 4|0);
+ $$pre$phi214$iZ2D = $$pre213$i;$match_eo$2$i21 = $match_eo$1$ph109$mux$i;$new_match$2$i = $new_match$1$ph111$mux$i;
+ } else {
+ $597 = ((($reach_next_i$1$ph101$i)) + 4|0);
+ $598 = HEAP32[$597>>2]|0;
+ $i$399$i = 0;
+ while(1) {
+ $599 = (($598) + ($i$399$i<<2)|0);
+ $600 = HEAP32[$599>>2]|0;
+ $601 = (($tags$0) + ($i$399$i<<2)|0);
+ HEAP32[$601>>2] = $600;
+ $602 = (($i$399$i) + 1)|0;
+ $exitcond193$i = ($602|0)==($num_tags$0$i|0);
+ if ($exitcond193$i) {
+ $$pre$phi214$iZ2D = $597;$match_eo$2$i21 = $pos$0$i10;$new_match$2$i = 1;
+ break;
+ } else {
+ $i$399$i = $602;
+ }
+ }
+ }
+ $603 = HEAP32[$$lcssa138>>2]|0;
+ $604 = (($479) + ($603<<3)|0);
+ HEAP32[$604>>2] = $pos$0$i10;
+ $605 = (((($479) + ($603<<3)|0)) + 4|0);
+ HEAP32[$605>>2] = $$pre$phi214$iZ2D;
+ $606 = ((($reach_next_i$1$ph101$i)) + 8|0);
+ $match_eo$3$i = $match_eo$2$i21;$new_match$3$i = $new_match$2$i;$reach_next_i$2$i = $606;$trans_i$085$i137 = $trans_i$085$i$lcssa135;
+ }
+ $607 = ((($trans_i$085$i137)) + 32|0);
+ $608 = ((($trans_i$085$i137)) + 40|0);
+ $609 = HEAP32[$608>>2]|0;
+ $610 = ($609|0)==(0|0);
+ if ($610) {
+ $match_eo$1$ph$lcssa$i = $match_eo$3$i;$new_match$1$ph$lcssa$i = $new_match$3$i;$reach_next_i$1$ph$lcssa$i = $reach_next_i$2$i;
+ break;
+ } else {
+ $829 = $608;$match_eo$1$ph108$i = $match_eo$3$i;$new_match$1$ph110$i = $new_match$3$i;$reach_next_i$1$ph101$i = $reach_next_i$2$i;$trans_i$0$ph112$i = $607;
+ }
+ }
+ }
+ } while(0);
+ HEAP32[$reach_next_i$1$ph$lcssa$i>>2] = 0;
+ $$old46$i = HEAP32[$next_c$i3>>2]|0;
+ $$old47$i = ($$old46$i|0)==(0);
+ if ($$old47$i) {
+ $match_eo$10$i = $match_eo$1$ph$lcssa$i;
+ break;
+ } else {
+ $662 = $$old46$i;$match_eo$4$i23 = $match_eo$1$ph$lcssa$i;$new_match$4$i = $new_match$1$ph$lcssa$i;
+ }
+ } else {
+ if ($506) {
+ $match_eo$10$i = $match_eo$0$i8;
+ break;
+ }
+ $611 = ($reach_next_i$0$i|0)!=($reach_next$1$i|0);
+ $612 = HEAP32[$next_c$i3>>2]|0;
+ $613 = ($612|0)!=(0);
+ $or$cond48$i22 = $611 & $613;
+ if ($or$cond48$i22) {
+ $662 = $612;$match_eo$4$i23 = $match_eo$0$i8;$new_match$4$i = $new_match$0$i;
+ } else {
+ $match_eo$10$i = $match_eo$0$i8;
+ break;
+ }
+ }
+ $614 = (($pos$0$i10) + ($pos_add_next$1$i9))|0;
+ $615 = (_mbtowc($next_c$i3,$str_byte$0$i11,4)|0);
+ $616 = ($615|0)<(1);
+ if ($616) {
+ $617 = ($615|0)<(0);
+ if ($617) {
+ $eo$2 = 0;$ret$0$i = 1;
+ break L21;
+ } else {
+ $pos_add_next$2$i24 = 1;
+ }
+ } else {
+ $pos_add_next$2$i24 = $615;
+ }
+ $618 = (($str_byte$0$i11) + ($pos_add_next$2$i24)|0);
+ $619 = HEAP32[$503>>2]|0;
+ $620 = ($619|0)!=(0);
+ $621 = ($new_match$4$i|0)!=(0);
+ $or$cond21$i25 = $621 & $620;
+ if ($or$cond21$i25) {
+ $622 = HEAP32[$reach_next$1$i>>2]|0;
+ $623 = ($622|0)==(0|0);
+ if ($623) {
+ $reach_next_i$3$lcssa$i = $reach$1$i;
+ } else {
+ $624 = HEAP32[$505>>2]|0;
+ $625 = HEAP32[$624>>2]|0;
+ $626 = ($625|0)>(-1);
+ $reach_i$0119$i = $reach_next$1$i;$reach_next_i$3121$i = $reach$1$i;
+ while(1) {
+ $627 = ((($reach_i$0119$i)) + 4|0);
+ L106: do {
+ if ($626) {
+ $630 = $624;$632 = $625;$i$4116$i = 0;
+ while(1) {
+ $628 = $i$4116$i | 1;
+ $629 = (($630) + ($628<<2)|0);
+ $631 = HEAP32[$629>>2]|0;
+ $633 = ($632|0)<($num_tags$0$i|0);
+ if (!($633)) {
+ $reach_next_i$4$i = $reach_next_i$3121$i;
+ break L106;
+ }
+ $634 = HEAP32[$627>>2]|0;
+ $635 = (($634) + ($631<<2)|0);
+ $636 = HEAP32[$635>>2]|0;
+ $637 = (($tags$0) + ($631<<2)|0);
+ $638 = HEAP32[$637>>2]|0;
+ $639 = ($636|0)==($638|0);
+ if ($639) {
+ $640 = (($634) + ($632<<2)|0);
+ $641 = HEAP32[$640>>2]|0;
+ $642 = (($tags$0) + ($632<<2)|0);
+ $643 = HEAP32[$642>>2]|0;
+ $644 = ($641|0)<($643|0);
+ if ($644) {
+ $reach_next_i$4$i = $reach_next_i$3121$i;
+ break L106;
+ }
+ }
+ $645 = (($i$4116$i) + 2)|0;
+ $646 = HEAP32[$505>>2]|0;
+ $647 = (($646) + ($645<<2)|0);
+ $648 = HEAP32[$647>>2]|0;
+ $649 = ($648|0)>(-1);
+ if ($649) {
+ $630 = $646;$632 = $648;$i$4116$i = $645;
+ } else {
+ $$lcssa = $634;
+ break;
+ }
+ }
+ $650 = $$lcssa;
+ $$pre$phi212$iZ2D = $627;$654 = $650;
+ label = 265;
+ } else {
+ $$pre204$i = HEAP32[$627>>2]|0;
+ $$pre$phi212$iZ2D = $627;$654 = $$pre204$i;
+ label = 265;
+ }
+ } while(0);
+ if ((label|0) == 265) {
+ label = 0;
+ $651 = HEAP32[$reach_i$0119$i>>2]|0;
+ HEAP32[$reach_next_i$3121$i>>2] = $651;
+ $652 = ((($reach_next_i$3121$i)) + 4|0);
+ $653 = HEAP32[$652>>2]|0;
+ HEAP32[$652>>2] = $654;
+ HEAP32[$$pre$phi212$iZ2D>>2] = $653;
+ $655 = ((($reach_next_i$3121$i)) + 8|0);
+ $reach_next_i$4$i = $655;
+ }
+ $656 = ((($reach_i$0119$i)) + 8|0);
+ $657 = HEAP32[$656>>2]|0;
+ $658 = ($657|0)==(0|0);
+ if ($658) {
+ $reach_next_i$3$lcssa$i = $reach_next_i$4$i;
+ break;
+ } else {
+ $reach_i$0119$i = $656;$reach_next_i$3121$i = $reach_next_i$4$i;
+ }
+ }
+ }
+ HEAP32[$reach_next_i$3$lcssa$i>>2] = 0;
+ $new_match$5$i = 0;$reach$2$i = $reach$1$i;$reach_next$2$i = $reach_next$1$i;
+ } else {
+ $new_match$5$i = $new_match$4$i;$reach$2$i = $reach_next$1$i;$reach_next$2$i = $reach$1$i;
+ }
+ $659 = HEAP32[$reach$2$i>>2]|0;
+ $660 = ($659|0)==(0|0);
+ if ($660) {
+ $match_eo$5$lcssa$i = $match_eo$4$i23;$new_match$6$lcssa$i = $new_match$5$i;$reach_next_i$5$lcssa$i = $reach_next$2$i;$tmp_tags$2$lcssa$i = $tmp_tags$1$i;
+ } else {
+ $661 = ($614|0)!=(0);
+ $663 = ($662|0)==(95);
+ $664 = ($614|0)==(0);
+ $665 = ($662|0)==(10);
+ $or$cond27$i = $500 & $665;
+ $notrhs$i26 = ($614|0)<(1);
+ $or$cond24$not$i = $notlhs180$i & $notrhs$i26;
+ $667 = $659;$match_eo$5155$i = $match_eo$4$i23;$new_match$6156$i = $new_match$5$i;$reach_i$1153$i = $reach$2$i;$reach_next_i$5154$i = $reach_next$2$i;$tmp_tags$2157$i = $tmp_tags$1$i;
+ while(1) {
+ $666 = ((($667)) + 8|0);
+ $668 = HEAP32[$666>>2]|0;
+ $669 = ($668|0)==(0|0);
+ if ($669) {
+ $match_eo$6$lcssa$i = $match_eo$5155$i;$new_match$7$lcssa$i = $new_match$6156$i;$reach_next_i$6$lcssa$i = $reach_next_i$5154$i;$tmp_tags$3$lcssa$i = $tmp_tags$2157$i;
+ } else {
+ $670 = ((($reach_i$1153$i)) + 4|0);
+ $768 = $tmp_tags$2157$i;$787 = $666;$match_eo$6135$i = $match_eo$5155$i;$new_match$7138$i = $new_match$6156$i;$reach_next_i$6134$i = $reach_next_i$5154$i;$trans_i$1144$i27 = $667;
+ while(1) {
+ $671 = HEAP32[$trans_i$1144$i27>>2]|0;
+ $672 = ($671>>>0)>($662>>>0);
+ L128: do {
+ if ($672) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ } else {
+ $673 = ((($trans_i$1144$i27)) + 4|0);
+ $674 = HEAP32[$673>>2]|0;
+ $675 = ($674>>>0)<($662>>>0);
+ if ($675) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break;
+ }
+ $676 = ((($trans_i$1144$i27)) + 20|0);
+ $677 = HEAP32[$676>>2]|0;
+ $678 = ($677|0)==(0);
+ do {
+ if (!($678)) {
+ $679 = $677 & 1;
+ $680 = ($679|0)==(0);
+ $brmerge172$i = $or$cond24$not$i | $680;
+ $brmerge173$i = $or$cond27$i | $brmerge172$i;
+ if (!($brmerge173$i)) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ $681 = $677 & 2;
+ $682 = ($681|0)==(0);
+ if (!($682)) {
+ $683 = HEAP32[$next_c$i3>>2]|0;
+ $684 = $683 | $443;
+ $685 = ($684|0)==(0);
+ $686 = ($683|0)==(10);
+ $or$cond33$i = $500 & $686;
+ $or$cond175$i = $685 | $or$cond33$i;
+ if (!($or$cond175$i)) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ }
+ $687 = $677 & 16;
+ $688 = ($687|0)==(0);
+ do {
+ if (!($688)) {
+ if ($663) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ $689 = (_iswalnum($662)|0);
+ $690 = ($689|0)==(0);
+ if (!($690)) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ $691 = HEAP32[$next_c$i3>>2]|0;
+ $692 = ($691|0)==(95);
+ if ($692) {
+ break;
+ }
+ $693 = (_iswalnum($691)|0);
+ $694 = ($693|0)==(0);
+ if ($694) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ }
+ } while(0);
+ $695 = HEAP32[$676>>2]|0;
+ $696 = $695 & 32;
+ $697 = ($696|0)==(0);
+ if ($697) {
+ $706 = $695;
+ } else {
+ if ($663) {
+ $$old34$i = HEAP32[$next_c$i3>>2]|0;
+ $$old35$i = ($$old34$i|0)==(95);
+ if ($$old35$i) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ } else {
+ $702 = $$old34$i;
+ }
+ } else {
+ $698 = (_iswalnum($662)|0);
+ $699 = ($698|0)==(0);
+ $700 = HEAP32[$next_c$i3>>2]|0;
+ $701 = ($700|0)==(95);
+ $or$cond36$i28 = $699 | $701;
+ if ($or$cond36$i28) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ } else {
+ $702 = $700;
+ }
+ }
+ $703 = (_iswalnum($702)|0);
+ $704 = ($703|0)==(0);
+ if (!($704)) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ $$pre206$i = HEAP32[$676>>2]|0;
+ $706 = $$pre206$i;
+ }
+ $705 = $706 & 64;
+ $707 = ($705|0)!=(0);
+ $or$cond39$i29 = $661 & $707;
+ $708 = HEAP32[$next_c$i3>>2]|0;
+ $709 = ($708|0)!=(0);
+ $or$cond42$i30 = $709 & $or$cond39$i29;
+ do {
+ if ($or$cond42$i30) {
+ if ($663) {
+ $712 = $708;$716 = 1;
+ } else {
+ $710 = (_iswalnum($662)|0);
+ $711 = ($710|0)!=(0);
+ $$pre207$i = HEAP32[$next_c$i3>>2]|0;
+ $712 = $$pre207$i;$716 = $711;
+ }
+ $713 = ($712|0)==(95);
+ if ($713) {
+ if ($716) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ } else {
+ break;
+ }
+ } else {
+ $714 = (_iswalnum($712)|0);
+ $715 = ($714|0)!=(0);
+ $tmp$i31 = $716 ^ $715;
+ if ($tmp$i31) {
+ break;
+ } else {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ }
+ }
+ } while(0);
+ $717 = HEAP32[$676>>2]|0;
+ $718 = $717 & 128;
+ $719 = ($718|0)==(0);
+ do {
+ if (!($719)) {
+ $720 = HEAP32[$next_c$i3>>2]|0;
+ $721 = ($720|0)==(0);
+ $or$cond45$i32 = $664 | $721;
+ if ($or$cond45$i32) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ if ($663) {
+ $724 = $720;$729 = 1;
+ } else {
+ $722 = (_iswalnum($662)|0);
+ $723 = ($722|0)!=(0);
+ $$pre208$i = HEAP32[$next_c$i3>>2]|0;
+ $724 = $$pre208$i;$729 = $723;
+ }
+ $725 = ($724|0)==(95);
+ if ($725) {
+ if ($729) {
+ break;
+ } else {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ } else {
+ $726 = (_iswalnum($724)|0);
+ $727 = ($726|0)!=(0);
+ $728 = $729 ^ $727;
+ if ($728) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $730 = HEAP32[$676>>2]|0;
+ $731 = $730 & 4;
+ $732 = ($731|0)==(0);
+ do {
+ if ($732) {
+ $741 = $730;
+ } else {
+ $733 = HEAP32[$2>>2]|0;
+ $734 = $733 & 2;
+ $735 = ($734|0)==(0);
+ if (!($735)) {
+ $741 = $730;
+ break;
+ }
+ $736 = ((($trans_i$1144$i27)) + 24|0);
+ $737 = HEAP32[$736>>2]|0;
+ $738 = (_iswctype($662,$737)|0);
+ $739 = ($738|0)==(0);
+ if ($739) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ $$pre210$i = HEAP32[$676>>2]|0;
+ $741 = $$pre210$i;
+ }
+ } while(0);
+ $740 = $741 & 4;
+ $742 = ($740|0)==(0);
+ do {
+ if (!($742)) {
+ $743 = HEAP32[$2>>2]|0;
+ $744 = $743 & 2;
+ $745 = ($744|0)==(0);
+ if ($745) {
+ break;
+ }
+ $746 = (_towlower($662)|0);
+ $747 = ((($trans_i$1144$i27)) + 24|0);
+ $748 = HEAP32[$747>>2]|0;
+ $749 = (_iswctype($746,$748)|0);
+ $750 = ($749|0)==(0);
+ if (!($750)) {
+ break;
+ }
+ $751 = (_towupper($662)|0);
+ $752 = HEAP32[$747>>2]|0;
+ $753 = (_iswctype($751,$752)|0);
+ $754 = ($753|0)==(0);
+ if ($754) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ }
+ } while(0);
+ $755 = HEAP32[$676>>2]|0;
+ $756 = $755 & 8;
+ $757 = ($756|0)==(0);
+ if ($757) {
+ break;
+ }
+ $758 = ((($trans_i$1144$i27)) + 28|0);
+ $759 = HEAP32[$758>>2]|0;
+ $760 = HEAP32[$2>>2]|0;
+ $761 = $760 & 2;
+ $762 = (_tre_neg_char_classes_match($759,$662,$761)|0);
+ $763 = ($762|0)==(0);
+ if (!($763)) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break L128;
+ }
+ }
+ } while(0);
+ if ($501) {
+ $764 = HEAP32[$670>>2]|0;
+ $i$5125$i = 0;
+ while(1) {
+ $765 = (($764) + ($i$5125$i<<2)|0);
+ $766 = HEAP32[$765>>2]|0;
+ $767 = (($768) + ($i$5125$i<<2)|0);
+ HEAP32[$767>>2] = $766;
+ $769 = (($i$5125$i) + 1)|0;
+ $exitcond194$i = ($769|0)==($num_tags$0$i|0);
+ if ($exitcond194$i) {
+ break;
+ } else {
+ $i$5125$i = $769;
+ }
+ }
+ }
+ $770 = ((($trans_i$1144$i27)) + 16|0);
+ $771 = HEAP32[$770>>2]|0;
+ $772 = ($771|0)==(0|0);
+ do {
+ if (!($772)) {
+ $773 = HEAP32[$771>>2]|0;
+ $774 = ($773|0)>(-1);
+ if ($774) {
+ $775 = $773;$tag_i$1128$i = $771;
+ } else {
+ break;
+ }
+ while(1) {
+ $776 = ($775|0)<($num_tags$0$i|0);
+ if ($776) {
+ $777 = (($768) + ($775<<2)|0);
+ HEAP32[$777>>2] = $614;
+ }
+ $778 = ((($tag_i$1128$i)) + 4|0);
+ $779 = HEAP32[$778>>2]|0;
+ $780 = ($779|0)>(-1);
+ if ($780) {
+ $775 = $779;$tag_i$1128$i = $778;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $781 = ((($trans_i$1144$i27)) + 12|0);
+ $782 = HEAP32[$781>>2]|0;
+ $783 = (($479) + ($782<<3)|0);
+ $784 = HEAP32[$783>>2]|0;
+ $785 = ($784|0)<($614|0);
+ if (!($785)) {
+ $805 = HEAP32[$504>>2]|0;
+ $806 = (((($479) + ($782<<3)|0)) + 4|0);
+ $807 = HEAP32[$806>>2]|0;
+ $808 = HEAP32[$807>>2]|0;
+ $809 = (_tre_tag_order($num_tags$0$i,$805,$768,$808)|0);
+ $810 = ($809|0)==(0);
+ if ($810) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $768;
+ break;
+ }
+ HEAP32[$807>>2] = $768;
+ $811 = HEAP32[$787>>2]|0;
+ $812 = HEAP32[$502>>2]|0;
+ $813 = ($811|0)==($812|0);
+ if (!($813)) {
+ $match_eo$9$i = $match_eo$6135$i;$new_match$10$i = $new_match$7138$i;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $808;
+ break;
+ }
+ if ($501) {
+ $i$7130$i = 0;
+ } else {
+ $match_eo$9$i = $614;$new_match$10$i = 1;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $808;
+ break;
+ }
+ while(1) {
+ $814 = (($768) + ($i$7130$i<<2)|0);
+ $815 = HEAP32[$814>>2]|0;
+ $816 = (($tags$0) + ($i$7130$i<<2)|0);
+ HEAP32[$816>>2] = $815;
+ $817 = (($i$7130$i) + 1)|0;
+ $exitcond195$i = ($817|0)==($num_tags$0$i|0);
+ if ($exitcond195$i) {
+ $match_eo$9$i = $614;$new_match$10$i = 1;$reach_next_i$7$i = $reach_next_i$6134$i;$tmp_tags$4$i = $808;
+ break L128;
+ } else {
+ $i$7130$i = $817;
+ }
+ }
+ }
+ $786 = HEAP32[$787>>2]|0;
+ HEAP32[$reach_next_i$6134$i>>2] = $786;
+ $788 = ((($reach_next_i$6134$i)) + 4|0);
+ $789 = HEAP32[$788>>2]|0;
+ HEAP32[$788>>2] = $768;
+ HEAP32[$783>>2] = $614;
+ $790 = (((($479) + ($782<<3)|0)) + 4|0);
+ HEAP32[$790>>2] = $788;
+ $791 = $786;
+ $792 = HEAP32[$502>>2]|0;
+ $793 = ($791|0)==($792|0);
+ do {
+ if ($793) {
+ $794 = ($match_eo$6135$i|0)==(-1);
+ if ($794) {
+ if (!($501)) {
+ $match_eo$7$i = $614;$new_match$8$i = 1;
+ break;
+ }
+ } else {
+ if (!($501)) {
+ $match_eo$7$i = $match_eo$6135$i;$new_match$8$i = $new_match$7138$i;
+ break;
+ }
+ $795 = HEAP32[$768>>2]|0;
+ $796 = HEAP32[$tags$0>>2]|0;
+ $797 = ($795|0)>($796|0);
+ if ($797) {
+ $match_eo$7$i = $match_eo$6135$i;$new_match$8$i = $new_match$7138$i;
+ break;
+ }
+ }
+ $798 = HEAP32[$788>>2]|0;
+ $i$6132$i = 0;
+ while(1) {
+ $799 = (($798) + ($i$6132$i<<2)|0);
+ $800 = HEAP32[$799>>2]|0;
+ $801 = (($tags$0) + ($i$6132$i<<2)|0);
+ HEAP32[$801>>2] = $800;
+ $802 = (($i$6132$i) + 1)|0;
+ $803 = ($802|0)<($num_tags$0$i|0);
+ if ($803) {
+ $i$6132$i = $802;
+ } else {
+ $match_eo$7$i = $614;$new_match$8$i = 1;
+ break;
+ }
+ }
+ } else {
+ $match_eo$7$i = $match_eo$6135$i;$new_match$8$i = $new_match$7138$i;
+ }
+ } while(0);
+ $804 = ((($reach_next_i$6134$i)) + 8|0);
+ $match_eo$9$i = $match_eo$7$i;$new_match$10$i = $new_match$8$i;$reach_next_i$7$i = $804;$tmp_tags$4$i = $789;
+ }
+ } while(0);
+ $818 = ((($trans_i$1144$i27)) + 32|0);
+ $819 = ((($trans_i$1144$i27)) + 40|0);
+ $820 = HEAP32[$819>>2]|0;
+ $821 = ($820|0)==(0|0);
+ if ($821) {
+ $match_eo$6$lcssa$i = $match_eo$9$i;$new_match$7$lcssa$i = $new_match$10$i;$reach_next_i$6$lcssa$i = $reach_next_i$7$i;$tmp_tags$3$lcssa$i = $tmp_tags$4$i;
+ break;
+ } else {
+ $768 = $tmp_tags$4$i;$787 = $819;$match_eo$6135$i = $match_eo$9$i;$new_match$7138$i = $new_match$10$i;$reach_next_i$6134$i = $reach_next_i$7$i;$trans_i$1144$i27 = $818;
+ }
+ }
+ }
+ $822 = ((($reach_i$1153$i)) + 8|0);
+ $823 = HEAP32[$822>>2]|0;
+ $824 = ($823|0)==(0|0);
+ if ($824) {
+ $match_eo$5$lcssa$i = $match_eo$6$lcssa$i;$new_match$6$lcssa$i = $new_match$7$lcssa$i;$reach_next_i$5$lcssa$i = $reach_next_i$6$lcssa$i;$tmp_tags$2$lcssa$i = $tmp_tags$3$lcssa$i;
+ break;
+ } else {
+ $667 = $823;$match_eo$5155$i = $match_eo$6$lcssa$i;$new_match$6156$i = $new_match$7$lcssa$i;$reach_i$1153$i = $822;$reach_next_i$5154$i = $reach_next_i$6$lcssa$i;$tmp_tags$2157$i = $tmp_tags$3$lcssa$i;
+ }
+ }
+ }
+ HEAP32[$reach_next_i$5$lcssa$i>>2] = 0;
+ $match_eo$0$i8 = $match_eo$5$lcssa$i;$new_match$0$i = $new_match$6$lcssa$i;$pos$0$i10 = $614;$pos_add_next$1$i9 = $pos_add_next$2$i24;$prev_c$0$i = $662;$reach$1$i = $reach$2$i;$reach_next$1$i = $reach_next$2$i;$reach_next_i$0$i = $reach_next_i$5$lcssa$i;$str_byte$0$i11 = $618;$tmp_tags$1$i = $tmp_tags$2$lcssa$i;
+ }
+ $match_eo$10$lobit$i = $match_eo$10$i >>> 31;
+ $eo$2 = $match_eo$10$i;$ret$0$i = $match_eo$10$lobit$i;
+ }
+ } while(0);
+ _free($459);
+ $$1$i = $ret$0$i;$eo$3 = $eo$2;
+ }
+ $eo$4 = $eo$3;$status$0 = $$1$i;
+ } else {
+ HEAP32[$next_c$i>>2] = 0;
+ $16 = $eflags & 1;
+ $17 = $eflags & 2;
+ $18 = HEAP32[$2>>2]|0;
+ $19 = $18 & 4;
+ $20 = (___tre_mem_new_impl(0,0)|0);
+ $21 = ($20|0)==(0|0);
+ L219: do {
+ if ($21) {
+ $$15$i = 12;$eo$1 = 0;
+ } else {
+ $22 = (___tre_mem_alloc_impl($20,0,0,0,32)|0);
+ $23 = ($22|0)==(0|0);
+ if ($23) {
+ ___tre_mem_destroy($20);
+ $$15$i = 12;$eo$1 = 0;
+ break;
+ }
+ $24 = ((($22)) + 24|0);
+ HEAP32[$24>>2] = 0;
+ $25 = ((($22)) + 28|0);
+ HEAP32[$25>>2] = 0;
+ $26 = HEAP32[$6>>2]|0;
+ $27 = ($26|0)==(0);
+ if ($27) {
+ $tags$0$i = 0;
+ label = 9;
+ } else {
+ $28 = $26 << 2;
+ $29 = (_malloc($28)|0);
+ $30 = ($29|0)==(0|0);
+ if ($30) {
+ $eo$0 = 0;$pmatch$1$i = 0;$ret$7$i = 12;$states_seen$1$i = 0;$tags$1$i = $29;
+ } else {
+ $tags$0$i = $29;
+ label = 9;
+ }
+ }
+ L226: do {
+ if ((label|0) == 9) {
+ $31 = ((($1)) + 28|0);
+ $32 = HEAP32[$31>>2]|0;
+ $33 = ($32|0)==(0);
+ if ($33) {
+ $pmatch$0$i = 0;
+ } else {
+ $34 = $32 << 3;
+ $35 = (_malloc($34)|0);
+ $36 = ($35|0)==(0|0);
+ if ($36) {
+ $eo$0 = 0;$pmatch$1$i = $35;$ret$7$i = 12;$states_seen$1$i = 0;$tags$1$i = $tags$0$i;
+ break;
+ } else {
+ $pmatch$0$i = $35;
+ }
+ }
+ $37 = ((($1)) + 52|0);
+ $38 = HEAP32[$37>>2]|0;
+ $39 = ($38|0)==(0);
+ if ($39) {
+ $states_seen$0$ph$i = 0;
+ } else {
+ $40 = $38 << 2;
+ $41 = (_malloc($40)|0);
+ $42 = ($41|0)==(0|0);
+ if ($42) {
+ $eo$0 = 0;$pmatch$1$i = $pmatch$0$i;$ret$7$i = 12;$states_seen$1$i = $41;$tags$1$i = $tags$0$i;
+ break;
+ } else {
+ $states_seen$0$ph$i = $41;
+ }
+ }
+ $43 = ((($1)) + 8|0);
+ $44 = ((($1)) + 12|0);
+ $45 = ($tags$0|0)==(0|0);
+ $46 = ($tags$0|0)!=(0|0);
+ $47 = ((($1)) + 32|0);
+ $48 = ($19|0)!=(0);
+ $49 = ($tags$0$i|0)==(0|0);
+ $50 = ($pmatch$0$i|0)==(0|0);
+ $51 = ($states_seen$0$ph$i|0)==(0|0);
+ $notlhs166$i = ($16|0)==(0);
+ $52 = $26;$match_eo$0$i = -1;$pos_add_next$0$i = 1;$pos_start$0$i = -1;$stack$0$i = $22;$str_byte$0$i = $string;
+ L234: while(1) {
+ $53 = ($52|0)>(0);
+ if ($53) {
+ $828 = $52;$i$0105$i = 0;
+ while(1) {
+ $58 = (($tags$0$i) + ($i$0105$i<<2)|0);
+ HEAP32[$58>>2] = -1;
+ if ($45) {
+ $62 = $828;
+ } else {
+ $59 = (($tags$0) + ($i$0105$i<<2)|0);
+ HEAP32[$59>>2] = -1;
+ $$pre174$i = HEAP32[$6>>2]|0;
+ $62 = $$pre174$i;
+ }
+ $60 = (($i$0105$i) + 1)|0;
+ $61 = ($60|0)<($62|0);
+ if ($61) {
+ $828 = $62;$i$0105$i = $60;
+ } else {
+ break;
+ }
+ }
+ }
+ $54 = HEAP32[$37>>2]|0;
+ $55 = ($54|0)>(0);
+ if ($55) {
+ $56 = ($54|0)>(1);
+ $smax$i = $56 ? $54 : 1;
+ $57 = $smax$i << 2;
+ _memset(($states_seen$0$ph$i|0),0,($57|0))|0;
+ }
+ $63 = HEAP32[$next_c$i>>2]|0;
+ $64 = (($pos_add_next$0$i) + ($pos_start$0$i))|0;
+ $65 = (_mbtowc($next_c$i,$str_byte$0$i,4)|0);
+ $66 = ($65|0)<(1);
+ if ($66) {
+ $67 = ($65|0)<(0);
+ if ($67) {
+ $eo$0 = 0;$pmatch$1$i = $pmatch$0$i;$ret$7$i = 1;$states_seen$1$i = $states_seen$0$ph$i;$tags$1$i = $tags$0$i;
+ break L226;
+ } else {
+ $pos_add_next$1$i = 1;
+ }
+ } else {
+ $pos_add_next$1$i = $65;
+ }
+ $68 = (($str_byte$0$i) + ($pos_add_next$1$i)|0);
+ $69 = HEAP32[$next_c$i>>2]|0;
+ $70 = HEAP32[$43>>2]|0;
+ $71 = ((($70)) + 8|0);
+ $72 = HEAP32[$71>>2]|0;
+ $73 = ($72|0)==(0|0);
+ if ($73) {
+ $match_eo$2$i = $match_eo$0$i;$next_tags$8$i = 0;$pos$3$i = $64;$pos_add_next$7$i = $pos_add_next$1$i;$stack$12$i = $stack$0$i;$state$3$i = 0;$str_byte$4$i = $68;
+ label = 174;
+ } else {
+ $74 = ($64|0)!=(0);
+ $75 = ($63|0)==(95);
+ $76 = ($64|0)==(0);
+ $77 = ($63|0)==(10);
+ $or$cond6$i = $48 & $77;
+ $notrhs$i = ($64|0)<(1);
+ $or$cond$not$i = $notlhs166$i & $notrhs$i;
+ $134 = $71;$next_tags$0117$i = 0;$stack$1118$i = $stack$0$i;$state$0116$i = 0;$trans_i$0120$i = $70;
+ while(1) {
+ $78 = ((($trans_i$0120$i)) + 20|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($79|0)==(0);
+ L253: do {
+ if ($80) {
+ label = 52;
+ } else {
+ $81 = $79 & 1;
+ $82 = ($81|0)==(0);
+ $brmerge$i = $or$cond$not$i | $82;
+ $brmerge159$i = $or$cond6$i | $brmerge$i;
+ if (!($brmerge159$i)) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ $83 = $79 & 2;
+ $84 = ($83|0)==(0);
+ if (!($84)) {
+ $85 = HEAP32[$next_c$i>>2]|0;
+ $86 = $85 | $17;
+ $87 = ($86|0)==(0);
+ $88 = ($85|0)==(10);
+ $or$cond10$i = $48 & $88;
+ $or$cond161$i = $87 | $or$cond10$i;
+ if (!($or$cond161$i)) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ }
+ $89 = $79 & 16;
+ $90 = ($89|0)==(0);
+ do {
+ if (!($90)) {
+ if ($75) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break L253;
+ }
+ $91 = (_iswalnum($63)|0);
+ $92 = ($91|0)==(0);
+ if (!($92)) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break L253;
+ }
+ $93 = HEAP32[$next_c$i>>2]|0;
+ $94 = ($93|0)==(95);
+ if ($94) {
+ break;
+ }
+ $95 = (_iswalnum($93)|0);
+ $96 = ($95|0)==(0);
+ if ($96) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break L253;
+ }
+ }
+ } while(0);
+ $97 = HEAP32[$78>>2]|0;
+ $98 = $97 & 32;
+ $99 = ($98|0)==(0);
+ if ($99) {
+ $108 = $97;
+ } else {
+ if ($75) {
+ $$old$i = HEAP32[$next_c$i>>2]|0;
+ $$old11$i = ($$old$i|0)==(95);
+ if ($$old11$i) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ } else {
+ $104 = $$old$i;
+ }
+ } else {
+ $100 = (_iswalnum($63)|0);
+ $101 = ($100|0)==(0);
+ $102 = HEAP32[$next_c$i>>2]|0;
+ $103 = ($102|0)==(95);
+ $or$cond12$i = $101 | $103;
+ if ($or$cond12$i) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ } else {
+ $104 = $102;
+ }
+ }
+ $105 = (_iswalnum($104)|0);
+ $106 = ($105|0)==(0);
+ if (!($106)) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ $$pre176$i = HEAP32[$78>>2]|0;
+ $108 = $$pre176$i;
+ }
+ $107 = $108 & 64;
+ $109 = ($107|0)!=(0);
+ $or$cond15$i = $74 & $109;
+ $110 = HEAP32[$next_c$i>>2]|0;
+ $111 = ($110|0)!=(0);
+ $or$cond18$i = $111 & $or$cond15$i;
+ do {
+ if ($or$cond18$i) {
+ if ($75) {
+ $114 = $110;$118 = 1;
+ } else {
+ $112 = (_iswalnum($63)|0);
+ $113 = ($112|0)!=(0);
+ $$pre177$i = HEAP32[$next_c$i>>2]|0;
+ $114 = $$pre177$i;$118 = $113;
+ }
+ $115 = ($114|0)==(95);
+ if ($115) {
+ if ($118) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break L253;
+ } else {
+ break;
+ }
+ } else {
+ $116 = (_iswalnum($114)|0);
+ $117 = ($116|0)!=(0);
+ $tmp55$i = $118 ^ $117;
+ if ($tmp55$i) {
+ break;
+ } else {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break L253;
+ }
+ }
+ }
+ } while(0);
+ $119 = HEAP32[$78>>2]|0;
+ $120 = $119 & 128;
+ $121 = ($120|0)==(0);
+ if ($121) {
+ label = 52;
+ break;
+ }
+ $122 = HEAP32[$next_c$i>>2]|0;
+ $123 = ($122|0)==(0);
+ $or$cond21$i = $76 | $123;
+ if ($or$cond21$i) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ if ($75) {
+ $126 = $122;$131 = 1;
+ } else {
+ $124 = (_iswalnum($63)|0);
+ $125 = ($124|0)!=(0);
+ $$pre178$i = HEAP32[$next_c$i>>2]|0;
+ $126 = $$pre178$i;$131 = $125;
+ }
+ $127 = ($126|0)==(95);
+ if ($127) {
+ if ($131) {
+ label = 52;
+ break;
+ } else {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ } else {
+ $128 = (_iswalnum($126)|0);
+ $129 = ($128|0)!=(0);
+ $130 = $131 ^ $129;
+ if ($130) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$1118$i;$state$1$i = $state$0116$i;
+ break;
+ } else {
+ label = 52;
+ break;
+ }
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 52) {
+ label = 0;
+ $132 = ($state$0116$i|0)==(0|0);
+ if ($132) {
+ $133 = HEAP32[$134>>2]|0;
+ $135 = ((($trans_i$0120$i)) + 16|0);
+ $136 = HEAP32[$135>>2]|0;
+ $next_tags$1$i = $136;$stack$5$i = $stack$1118$i;$state$1$i = $133;
+ break;
+ }
+ $137 = ((($stack$1118$i)) + 28|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = ($138|0)==(0|0);
+ if ($139) {
+ $140 = (___tre_mem_alloc_impl($20,0,0,0,32)|0);
+ $141 = ($140|0)==(0|0);
+ if ($141) {
+ label = 56;
+ break L234;
+ }
+ $142 = ((($140)) + 24|0);
+ HEAP32[$142>>2] = $stack$1118$i;
+ $143 = ((($140)) + 28|0);
+ HEAP32[$143>>2] = 0;
+ $144 = HEAP32[$6>>2]|0;
+ $145 = $144 << 2;
+ $146 = (___tre_mem_alloc_impl($20,0,0,0,$145)|0);
+ $147 = ((($140)) + 20|0);
+ HEAP32[$147>>2] = $146;
+ $148 = ($146|0)==(0|0);
+ if ($148) {
+ label = 63;
+ break L234;
+ }
+ HEAP32[$137>>2] = $140;
+ $stack$3$i = $140;
+ } else {
+ $stack$3$i = $138;
+ }
+ HEAP32[$stack$3$i>>2] = $64;
+ $149 = ((($stack$3$i)) + 4|0);
+ HEAP32[$149>>2] = $68;
+ $150 = HEAP32[$134>>2]|0;
+ $151 = ((($stack$3$i)) + 8|0);
+ HEAP32[$151>>2] = $150;
+ $152 = ((($trans_i$0120$i)) + 12|0);
+ $153 = HEAP32[$152>>2]|0;
+ $154 = ((($stack$3$i)) + 12|0);
+ HEAP32[$154>>2] = $153;
+ $155 = HEAP32[$next_c$i>>2]|0;
+ $156 = ((($stack$3$i)) + 16|0);
+ HEAP32[$156>>2] = $155;
+ $157 = HEAP32[$6>>2]|0;
+ $158 = ($157|0)>(0);
+ if ($158) {
+ $159 = ((($stack$3$i)) + 20|0);
+ $160 = HEAP32[$159>>2]|0;
+ $i1$0110$i = 0;
+ while(1) {
+ $161 = (($tags$0$i) + ($i1$0110$i<<2)|0);
+ $162 = HEAP32[$161>>2]|0;
+ $163 = (($160) + ($i1$0110$i<<2)|0);
+ HEAP32[$163>>2] = $162;
+ $164 = (($i1$0110$i) + 1)|0;
+ $165 = HEAP32[$6>>2]|0;
+ $166 = ($164|0)<($165|0);
+ if ($166) {
+ $i1$0110$i = $164;
+ } else {
+ break;
+ }
+ }
+ }
+ $167 = ((($trans_i$0120$i)) + 16|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = ($168|0)==(0|0);
+ if ($169) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$3$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ $170 = HEAP32[$168>>2]|0;
+ $171 = ($170|0)>(-1);
+ if (!($171)) {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$3$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ $172 = ((($stack$3$i)) + 20|0);
+ $173 = HEAP32[$172>>2]|0;
+ $176 = $170;$tmp$0114$i = $168;
+ while(1) {
+ $174 = ((($tmp$0114$i)) + 4|0);
+ $175 = (($173) + ($176<<2)|0);
+ HEAP32[$175>>2] = $64;
+ $177 = HEAP32[$174>>2]|0;
+ $178 = ($177|0)>(-1);
+ if ($178) {
+ $176 = $177;$tmp$0114$i = $174;
+ } else {
+ $next_tags$1$i = $next_tags$0117$i;$stack$5$i = $stack$3$i;$state$1$i = $state$0116$i;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $179 = ((($trans_i$0120$i)) + 32|0);
+ $180 = ((($trans_i$0120$i)) + 40|0);
+ $181 = HEAP32[$180>>2]|0;
+ $182 = ($181|0)==(0|0);
+ if ($182) {
+ $next_tags$1$i$lcssa = $next_tags$1$i;$stack$5$i$lcssa = $stack$5$i;$state$1$i$lcssa = $state$1$i;
+ break;
+ } else {
+ $134 = $180;$next_tags$0117$i = $next_tags$1$i;$stack$1118$i = $stack$5$i;$state$0116$i = $state$1$i;$trans_i$0120$i = $179;
+ }
+ }
+ $183 = ($next_tags$1$i$lcssa|0)==(0|0);
+ if ($183) {
+ $next_tags$3$i = 0;
+ } else {
+ $184 = HEAP32[$next_tags$1$i$lcssa>>2]|0;
+ $185 = ($184|0)>(-1);
+ if ($185) {
+ $187 = $184;$next_tags$2127$i = $next_tags$1$i$lcssa;
+ while(1) {
+ $186 = (($tags$0$i) + ($187<<2)|0);
+ HEAP32[$186>>2] = $64;
+ $188 = ((($next_tags$2127$i)) + 4|0);
+ $189 = HEAP32[$188>>2]|0;
+ $190 = ($189|0)>(-1);
+ if ($190) {
+ $187 = $189;$next_tags$2127$i = $188;
+ } else {
+ $next_tags$3$i = $188;
+ break;
+ }
+ }
+ } else {
+ $next_tags$3$i = $next_tags$1$i$lcssa;
+ }
+ }
+ $191 = ($state$1$i$lcssa|0)==(0|0);
+ if ($191) {
+ $match_eo$2$i = $match_eo$0$i;$next_tags$8$i = $next_tags$3$i;$pos$3$i = $64;$pos_add_next$7$i = $pos_add_next$1$i;$stack$12$i = $stack$5$i$lcssa;$state$3$i = 0;$str_byte$4$i = $68;
+ label = 174;
+ } else {
+ $match_eo$1$i = $match_eo$0$i;$next_tags$4$i = $next_tags$3$i;$pos$0$i = $64;$pos_add_next$2$i = $pos_add_next$1$i;$stack$6$i = $stack$5$i$lcssa;$state$2$i = $state$1$i$lcssa;$str_byte$1$i = $68;
+ label = 82;
+ }
+ }
+ L316: while(1) {
+ L317: do {
+ if ((label|0) == 82) {
+ label = 0;
+ $192 = HEAP32[$44>>2]|0;
+ $193 = ($state$2$i|0)==($192|0);
+ if ($193) {
+ $194 = ($match_eo$1$i|0)<($pos$0$i|0);
+ if (!($194)) {
+ $195 = ($match_eo$1$i|0)==($pos$0$i|0);
+ $or$cond24$i = $46 & $195;
+ if (!($or$cond24$i)) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ $196 = HEAP32[$6>>2]|0;
+ $197 = HEAP32[$47>>2]|0;
+ $198 = (_tre_tag_order($196,$197,$tags$0$i,$tags$0)|0);
+ $199 = ($198|0)==(0);
+ if ($199) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $match_eo$1$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ }
+ if ($45) {
+ $match_eo$2$i = $pos$0$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ $200 = HEAP32[$6>>2]|0;
+ $201 = ($200|0)>(0);
+ if ($201) {
+ $i3$0157$i = 0;
+ } else {
+ $match_eo$2$i = $pos$0$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ while(1) {
+ $202 = (($tags$0$i) + ($i3$0157$i<<2)|0);
+ $203 = HEAP32[$202>>2]|0;
+ $204 = (($tags$0) + ($i3$0157$i<<2)|0);
+ HEAP32[$204>>2] = $203;
+ $205 = (($i3$0157$i) + 1)|0;
+ $206 = HEAP32[$6>>2]|0;
+ $207 = ($205|0)<($206|0);
+ if ($207) {
+ $i3$0157$i = $205;
+ } else {
+ $match_eo$2$i = $pos$0$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ }
+ }
+ $208 = ((($state$2$i)) + 8|0);
+ $209 = HEAP32[$208>>2]|0;
+ $210 = ($209|0)==(0|0);
+ do {
+ if ($210) {
+ label = 97;
+ } else {
+ $211 = ((($state$2$i)) + 20|0);
+ $212 = HEAP32[$211>>2]|0;
+ $213 = $212 & 256;
+ $214 = ($213|0)==(0);
+ if ($214) {
+ label = 97;
+ break;
+ }
+ $215 = ((($state$2$i)) + 24|0);
+ $216 = HEAP32[$215>>2]|0;
+ $217 = (($216) + 1)|0;
+ $218 = HEAP32[$2>>2]|0;
+ $219 = $218 & -9;
+ _tre_fill_pmatch($217,$pmatch$0$i,$219,$1,$tags$0$i,$pos$0$i);
+ $220 = (($pmatch$0$i) + ($216<<3)|0);
+ $221 = HEAP32[$220>>2]|0;
+ $222 = (((($pmatch$0$i) + ($216<<3)|0)) + 4|0);
+ $223 = HEAP32[$222>>2]|0;
+ $224 = (($223) - ($221))|0;
+ $225 = (($string) + ($221)|0);
+ $226 = ((($str_byte$1$i)) + -1|0);
+ $227 = (_strncmp($225,$226,$224)|0);
+ $228 = ($227|0)==(0);
+ if (!($228)) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ $229 = ($223|0)==($221|0);
+ $$$i = $229&1;
+ $230 = ((($state$2$i)) + 12|0);
+ $231 = HEAP32[$230>>2]|0;
+ $232 = (($states_seen$0$ph$i) + ($231<<2)|0);
+ if ($229) {
+ $233 = HEAP32[$232>>2]|0;
+ $234 = ($233|0)==(0);
+ if (!($234)) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ }
+ HEAP32[$232>>2] = $$$i;
+ $235 = (($224) + -1)|0;
+ $236 = (($str_byte$1$i) + ($235)|0);
+ $237 = HEAP32[$next_c$i>>2]|0;
+ $238 = (($pos$0$i) + ($pos_add_next$2$i))|0;
+ $239 = (($238) + ($235))|0;
+ $240 = (_mbtowc($next_c$i,$236,4)|0);
+ $241 = ($240|0)<(1);
+ if ($241) {
+ $242 = ($240|0)<(0);
+ if ($242) {
+ $$554$i = 2;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$4$i;$pos$5$i = $239;$pos_add_next$9$i = $240;$stack$14$i = $stack$6$i;$state$5$i = $state$2$i;$str_byte$6$i = $236;
+ break L317;
+ } else {
+ $pos_add_next$3$i = 1;
+ }
+ } else {
+ $pos_add_next$3$i = $240;
+ }
+ $243 = (($236) + ($pos_add_next$3$i)|0);
+ $pos$2$i = $239;$pos_add_next$6$i = $pos_add_next$3$i;$prev_c$2$i = $237;$str_byte$3$i = $243;
+ }
+ } while(0);
+ if ((label|0) == 97) {
+ label = 0;
+ $244 = HEAP32[$next_c$i>>2]|0;
+ $245 = ($244|0)==(0);
+ if ($245) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$0$i;$pos_add_next$7$i = $pos_add_next$2$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$1$i;
+ label = 174;
+ continue L316;
+ }
+ $246 = (($pos$0$i) + ($pos_add_next$2$i))|0;
+ $247 = (_mbtowc($next_c$i,$str_byte$1$i,4)|0);
+ $248 = ($247|0)<(1);
+ if ($248) {
+ $249 = ($247|0)<(0);
+ if ($249) {
+ $$554$i = 2;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$4$i;$pos$5$i = $246;$pos_add_next$9$i = $247;$stack$14$i = $stack$6$i;$state$5$i = $state$2$i;$str_byte$6$i = $str_byte$1$i;
+ break;
+ }
+ $250 = (($247) + 1)|0;
+ $pos_add_next$5$i = $250;
+ } else {
+ $pos_add_next$5$i = $247;
+ }
+ $251 = (($str_byte$1$i) + ($pos_add_next$5$i)|0);
+ $pos$2$i = $246;$pos_add_next$6$i = $pos_add_next$5$i;$prev_c$2$i = $244;$str_byte$3$i = $251;
+ }
+ $252 = HEAP32[$208>>2]|0;
+ $253 = ($252|0)==(0|0);
+ if ($253) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$4$i;$pos$3$i = $pos$2$i;$pos_add_next$7$i = $pos_add_next$6$i;$stack$12$i = $stack$6$i;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$3$i;
+ label = 174;
+ continue L316;
+ }
+ $254 = ($pos$2$i|0)!=(0);
+ $255 = ($prev_c$2$i|0)==(95);
+ $256 = ($pos$2$i|0)==(0);
+ $257 = ($prev_c$2$i|0)==(10);
+ $or$cond30$i = $48 & $257;
+ $notrhs167$i = ($pos$2$i|0)<(1);
+ $or$cond27$not$i = $notlhs166$i & $notrhs167$i;
+ $353 = $208;$next_state$0147$i = 0;$next_tags$5142$i = $next_tags$4$i;$stack$7143$i = $stack$6$i;$trans_i$1144$i = $state$2$i;
+ L359: while(1) {
+ $258 = HEAP32[$trans_i$1144$i>>2]|0;
+ $259 = ($258>>>0)>($prev_c$2$i>>>0);
+ L361: do {
+ if ($259) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ } else {
+ $260 = ((($trans_i$1144$i)) + 4|0);
+ $261 = HEAP32[$260>>2]|0;
+ $262 = ($261>>>0)<($prev_c$2$i>>>0);
+ if ($262) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break;
+ }
+ $263 = ((($trans_i$1144$i)) + 20|0);
+ $264 = HEAP32[$263>>2]|0;
+ $265 = ($264|0)==(0);
+ do {
+ if (!($265)) {
+ $266 = $264 & 1;
+ $267 = ($266|0)==(0);
+ $brmerge162$i = $or$cond27$not$i | $267;
+ $brmerge163$i = $or$cond30$i | $brmerge162$i;
+ if (!($brmerge163$i)) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ $268 = $264 & 2;
+ $269 = ($268|0)==(0);
+ if (!($269)) {
+ $270 = HEAP32[$next_c$i>>2]|0;
+ $271 = $270 | $17;
+ $272 = ($271|0)==(0);
+ $273 = ($270|0)==(10);
+ $or$cond36$i = $48 & $273;
+ $or$cond165$i = $272 | $or$cond36$i;
+ if (!($or$cond165$i)) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ }
+ $274 = $264 & 16;
+ $275 = ($274|0)==(0);
+ do {
+ if (!($275)) {
+ if ($255) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ $276 = (_iswalnum($prev_c$2$i)|0);
+ $277 = ($276|0)==(0);
+ if (!($277)) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ $278 = HEAP32[$next_c$i>>2]|0;
+ $279 = ($278|0)==(95);
+ if ($279) {
+ break;
+ }
+ $280 = (_iswalnum($278)|0);
+ $281 = ($280|0)==(0);
+ if ($281) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ }
+ } while(0);
+ $282 = HEAP32[$263>>2]|0;
+ $283 = $282 & 32;
+ $284 = ($283|0)==(0);
+ if ($284) {
+ $293 = $282;
+ } else {
+ if ($255) {
+ $$old37$i = HEAP32[$next_c$i>>2]|0;
+ $$old38$i = ($$old37$i|0)==(95);
+ if ($$old38$i) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ } else {
+ $289 = $$old37$i;
+ }
+ } else {
+ $285 = (_iswalnum($prev_c$2$i)|0);
+ $286 = ($285|0)==(0);
+ $287 = HEAP32[$next_c$i>>2]|0;
+ $288 = ($287|0)==(95);
+ $or$cond39$i = $286 | $288;
+ if ($or$cond39$i) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ } else {
+ $289 = $287;
+ }
+ }
+ $290 = (_iswalnum($289)|0);
+ $291 = ($290|0)==(0);
+ if (!($291)) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ $$pre182$i = HEAP32[$263>>2]|0;
+ $293 = $$pre182$i;
+ }
+ $292 = $293 & 64;
+ $294 = ($292|0)!=(0);
+ $or$cond42$i = $254 & $294;
+ $295 = HEAP32[$next_c$i>>2]|0;
+ $296 = ($295|0)!=(0);
+ $or$cond45$i = $296 & $or$cond42$i;
+ do {
+ if ($or$cond45$i) {
+ if ($255) {
+ $299 = $295;$303 = 1;
+ } else {
+ $297 = (_iswalnum($prev_c$2$i)|0);
+ $298 = ($297|0)!=(0);
+ $$pre183$i = HEAP32[$next_c$i>>2]|0;
+ $299 = $$pre183$i;$303 = $298;
+ }
+ $300 = ($299|0)==(95);
+ if ($300) {
+ if ($303) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ } else {
+ break;
+ }
+ } else {
+ $301 = (_iswalnum($299)|0);
+ $302 = ($301|0)!=(0);
+ $tmp$i = $303 ^ $302;
+ if ($tmp$i) {
+ break;
+ } else {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ }
+ }
+ } while(0);
+ $304 = HEAP32[$263>>2]|0;
+ $305 = $304 & 128;
+ $306 = ($305|0)==(0);
+ do {
+ if (!($306)) {
+ $307 = HEAP32[$next_c$i>>2]|0;
+ $308 = ($307|0)==(0);
+ $or$cond48$i = $256 | $308;
+ if ($or$cond48$i) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ if ($255) {
+ $311 = $307;$316 = 1;
+ } else {
+ $309 = (_iswalnum($prev_c$2$i)|0);
+ $310 = ($309|0)!=(0);
+ $$pre184$i = HEAP32[$next_c$i>>2]|0;
+ $311 = $$pre184$i;$316 = $310;
+ }
+ $312 = ($311|0)==(95);
+ if ($312) {
+ if ($316) {
+ break;
+ } else {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ } else {
+ $313 = (_iswalnum($311)|0);
+ $314 = ($313|0)!=(0);
+ $315 = $316 ^ $314;
+ if ($315) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ } else {
+ break;
+ }
+ }
+ }
+ } while(0);
+ $317 = HEAP32[$263>>2]|0;
+ $318 = $317 & 4;
+ $319 = ($318|0)==(0);
+ do {
+ if ($319) {
+ $328 = $317;
+ } else {
+ $320 = HEAP32[$2>>2]|0;
+ $321 = $320 & 2;
+ $322 = ($321|0)==(0);
+ if (!($322)) {
+ $328 = $317;
+ break;
+ }
+ $323 = ((($trans_i$1144$i)) + 24|0);
+ $324 = HEAP32[$323>>2]|0;
+ $325 = (_iswctype($prev_c$2$i,$324)|0);
+ $326 = ($325|0)==(0);
+ if ($326) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ $$pre186$i = HEAP32[$263>>2]|0;
+ $328 = $$pre186$i;
+ }
+ } while(0);
+ $327 = $328 & 4;
+ $329 = ($327|0)==(0);
+ do {
+ if (!($329)) {
+ $330 = HEAP32[$2>>2]|0;
+ $331 = $330 & 2;
+ $332 = ($331|0)==(0);
+ if ($332) {
+ break;
+ }
+ $333 = (_towlower($prev_c$2$i)|0);
+ $334 = ((($trans_i$1144$i)) + 24|0);
+ $335 = HEAP32[$334>>2]|0;
+ $336 = (_iswctype($333,$335)|0);
+ $337 = ($336|0)==(0);
+ if (!($337)) {
+ break;
+ }
+ $338 = (_towupper($prev_c$2$i)|0);
+ $339 = HEAP32[$334>>2]|0;
+ $340 = (_iswctype($338,$339)|0);
+ $341 = ($340|0)==(0);
+ if ($341) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ }
+ } while(0);
+ $342 = HEAP32[$263>>2]|0;
+ $343 = $342 & 8;
+ $344 = ($343|0)==(0);
+ if ($344) {
+ break;
+ }
+ $345 = ((($trans_i$1144$i)) + 28|0);
+ $346 = HEAP32[$345>>2]|0;
+ $347 = HEAP32[$2>>2]|0;
+ $348 = $347 & 2;
+ $349 = (_tre_neg_char_classes_match($346,$prev_c$2$i,$348)|0);
+ $350 = ($349|0)==(0);
+ if (!($350)) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$7143$i;
+ break L361;
+ }
+ }
+ } while(0);
+ $351 = ($next_state$0147$i|0)==(0|0);
+ if ($351) {
+ $352 = HEAP32[$353>>2]|0;
+ $354 = ((($trans_i$1144$i)) + 16|0);
+ $355 = HEAP32[$354>>2]|0;
+ $next_state$1$i = $352;$next_tags$6$i = $355;$stack$11$i = $stack$7143$i;
+ break;
+ }
+ $356 = ((($stack$7143$i)) + 28|0);
+ $357 = HEAP32[$356>>2]|0;
+ $358 = ($357|0)==(0|0);
+ if ($358) {
+ $359 = (___tre_mem_alloc_impl($20,0,0,0,32)|0);
+ $360 = ($359|0)==(0|0);
+ if ($360) {
+ $next_tags$5142$i$lcssa = $next_tags$5142$i;$stack$7143$i$lcssa = $stack$7143$i;
+ label = 148;
+ break L359;
+ }
+ $361 = ((($359)) + 24|0);
+ HEAP32[$361>>2] = $stack$7143$i;
+ $362 = ((($359)) + 28|0);
+ HEAP32[$362>>2] = 0;
+ $363 = HEAP32[$6>>2]|0;
+ $364 = $363 << 2;
+ $365 = (___tre_mem_alloc_impl($20,0,0,0,$364)|0);
+ $366 = ((($359)) + 20|0);
+ HEAP32[$366>>2] = $365;
+ $367 = ($365|0)==(0|0);
+ if ($367) {
+ $next_tags$5142$i$lcssa146 = $next_tags$5142$i;$stack$7143$i$lcssa144 = $stack$7143$i;
+ label = 155;
+ break L359;
+ }
+ HEAP32[$356>>2] = $359;
+ $stack$9$i = $359;
+ } else {
+ $stack$9$i = $357;
+ }
+ HEAP32[$stack$9$i>>2] = $pos$2$i;
+ $368 = ((($stack$9$i)) + 4|0);
+ HEAP32[$368>>2] = $str_byte$3$i;
+ $369 = HEAP32[$353>>2]|0;
+ $370 = ((($stack$9$i)) + 8|0);
+ HEAP32[$370>>2] = $369;
+ $371 = ((($trans_i$1144$i)) + 12|0);
+ $372 = HEAP32[$371>>2]|0;
+ $373 = ((($stack$9$i)) + 12|0);
+ HEAP32[$373>>2] = $372;
+ $374 = HEAP32[$next_c$i>>2]|0;
+ $375 = ((($stack$9$i)) + 16|0);
+ HEAP32[$375>>2] = $374;
+ $376 = HEAP32[$6>>2]|0;
+ $377 = ($376|0)>(0);
+ if ($377) {
+ $378 = ((($stack$9$i)) + 20|0);
+ $379 = HEAP32[$378>>2]|0;
+ $i5$0134$i = 0;
+ while(1) {
+ $380 = (($tags$0$i) + ($i5$0134$i<<2)|0);
+ $381 = HEAP32[$380>>2]|0;
+ $382 = (($379) + ($i5$0134$i<<2)|0);
+ HEAP32[$382>>2] = $381;
+ $383 = (($i5$0134$i) + 1)|0;
+ $384 = HEAP32[$6>>2]|0;
+ $385 = ($383|0)<($384|0);
+ if ($385) {
+ $i5$0134$i = $383;
+ } else {
+ break;
+ }
+ }
+ }
+ $386 = ((($trans_i$1144$i)) + 16|0);
+ $387 = HEAP32[$386>>2]|0;
+ $388 = ($387|0)==(0|0);
+ if ($388) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$9$i;
+ break;
+ }
+ $389 = HEAP32[$387>>2]|0;
+ $390 = ($389|0)>(-1);
+ if (!($390)) {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$9$i;
+ break;
+ }
+ $391 = ((($stack$9$i)) + 20|0);
+ $392 = HEAP32[$391>>2]|0;
+ $394 = $389;$tmp9$0138$i54 = $387;
+ while(1) {
+ $393 = (($392) + ($394<<2)|0);
+ HEAP32[$393>>2] = $pos$2$i;
+ $395 = ((($tmp9$0138$i54)) + 4|0);
+ $396 = HEAP32[$395>>2]|0;
+ $397 = ($396|0)>(-1);
+ if ($397) {
+ $394 = $396;$tmp9$0138$i54 = $395;
+ } else {
+ $next_state$1$i = $next_state$0147$i;$next_tags$6$i = $next_tags$5142$i;$stack$11$i = $stack$9$i;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $398 = ((($trans_i$1144$i)) + 32|0);
+ $399 = ((($trans_i$1144$i)) + 40|0);
+ $400 = HEAP32[$399>>2]|0;
+ $401 = ($400|0)==(0|0);
+ if ($401) {
+ $next_state$1$i$lcssa = $next_state$1$i;$next_tags$6$i$lcssa = $next_tags$6$i;$stack$11$i$lcssa = $stack$11$i;
+ label = 170;
+ break;
+ } else {
+ $353 = $399;$next_state$0147$i = $next_state$1$i;$next_tags$5142$i = $next_tags$6$i;$stack$7143$i = $stack$11$i;$trans_i$1144$i = $398;
+ }
+ }
+ if ((label|0) == 148) {
+ label = 0;
+ ___tre_mem_destroy($20);
+ if (!($49)) {
+ _free($tags$0$i);
+ }
+ if (!($50)) {
+ _free($pmatch$0$i);
+ }
+ if ($51) {
+ $$554$i = 1;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$5142$i$lcssa;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$7143$i$lcssa;$state$5$i = $state$2$i;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ _free($states_seen$0$ph$i);
+ $$554$i = 1;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$5142$i$lcssa;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$7143$i$lcssa;$state$5$i = $state$2$i;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ else if ((label|0) == 155) {
+ label = 0;
+ ___tre_mem_destroy($20);
+ if (!($49)) {
+ _free($tags$0$i);
+ }
+ if (!($50)) {
+ _free($pmatch$0$i);
+ }
+ if ($51) {
+ $$554$i = 1;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$5142$i$lcssa146;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$7143$i$lcssa144;$state$5$i = $state$2$i;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ _free($states_seen$0$ph$i);
+ $$554$i = 1;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$5142$i$lcssa146;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$7143$i$lcssa144;$state$5$i = $state$2$i;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ else if ((label|0) == 170) {
+ label = 0;
+ $402 = ($next_state$1$i$lcssa|0)==(0|0);
+ if ($402) {
+ $match_eo$2$i = $match_eo$1$i;$next_tags$8$i = $next_tags$6$i$lcssa;$pos$3$i = $pos$2$i;$pos_add_next$7$i = $pos_add_next$6$i;$stack$12$i = $stack$11$i$lcssa;$state$3$i = $state$2$i;$str_byte$4$i = $str_byte$3$i;
+ label = 174;
+ continue L316;
+ }
+ $403 = ($next_tags$6$i$lcssa|0)==(0|0);
+ if ($403) {
+ $$554$i = 0;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = 0;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$11$i$lcssa;$state$5$i = $next_state$1$i$lcssa;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ $404 = HEAP32[$next_tags$6$i$lcssa>>2]|0;
+ $405 = ($404|0)>(-1);
+ if ($405) {
+ $408 = $404;$next_tags$7154$i = $next_tags$6$i$lcssa;
+ } else {
+ $$554$i = 0;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $next_tags$6$i$lcssa;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$11$i$lcssa;$state$5$i = $next_state$1$i$lcssa;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ while(1) {
+ $406 = ((($next_tags$7154$i)) + 4|0);
+ $407 = (($tags$0$i) + ($408<<2)|0);
+ HEAP32[$407>>2] = $pos$2$i;
+ $409 = HEAP32[$406>>2]|0;
+ $410 = ($409|0)>(-1);
+ if ($410) {
+ $408 = $409;$next_tags$7154$i = $406;
+ } else {
+ $$554$i = 0;$match_eo$4$i = $match_eo$1$i;$next_tags$10$i = $406;$pos$5$i = $pos$2$i;$pos_add_next$9$i = $pos_add_next$6$i;$stack$14$i = $stack$11$i$lcssa;$state$5$i = $next_state$1$i$lcssa;$str_byte$6$i = $str_byte$3$i;
+ break;
+ }
+ }
+ }
+ }
+ else if ((label|0) == 174) {
+ label = 0;
+ $411 = ((($stack$12$i)) + 24|0);
+ $412 = HEAP32[$411>>2]|0;
+ $413 = ($412|0)==(0|0);
+ if ($413) {
+ $436 = ($match_eo$2$i|0)>(-1);
+ $437 = HEAP32[$next_c$i>>2]|0;
+ $438 = ($437|0)==(0);
+ $or$cond58$i = $436 | $438;
+ if ($or$cond58$i) {
+ $$554$i = 27;$match_eo$4$i = $match_eo$2$i;$next_tags$10$i = $next_tags$8$i;$pos$5$i = $pos$3$i;$pos_add_next$9$i = $pos_add_next$7$i;$stack$14$i = $stack$12$i;$state$5$i = $state$3$i;$str_byte$6$i = $str_byte$4$i;
+ break;
+ }
+ HEAP32[$next_c$i>>2] = $69;
+ $$554$i = 3;$match_eo$4$i = $match_eo$2$i;$next_tags$10$i = $next_tags$8$i;$pos$5$i = $pos$3$i;$pos_add_next$9$i = $pos_add_next$7$i;$stack$14$i = $stack$12$i;$state$5$i = $state$3$i;$str_byte$6$i = $68;
+ break;
+ }
+ $414 = ((($stack$12$i)) + 8|0);
+ $415 = HEAP32[$414>>2]|0;
+ $416 = ((($415)) + 20|0);
+ $417 = HEAP32[$416>>2]|0;
+ $418 = $417 & 256;
+ $419 = ($418|0)==(0);
+ if (!($419)) {
+ $420 = ((($stack$12$i)) + 12|0);
+ $421 = HEAP32[$420>>2]|0;
+ $422 = (($states_seen$0$ph$i) + ($421<<2)|0);
+ HEAP32[$422>>2] = 0;
+ }
+ $423 = HEAP32[$stack$12$i>>2]|0;
+ $424 = ((($stack$12$i)) + 4|0);
+ $425 = HEAP32[$424>>2]|0;
+ $426 = ((($stack$12$i)) + 16|0);
+ $427 = HEAP32[$426>>2]|0;
+ HEAP32[$next_c$i>>2] = $427;
+ $428 = HEAP32[$6>>2]|0;
+ $429 = ($428|0)>(0);
+ if (!($429)) {
+ $$554$i = 0;$match_eo$4$i = $match_eo$2$i;$next_tags$10$i = $next_tags$8$i;$pos$5$i = $423;$pos_add_next$9$i = $pos_add_next$7$i;$stack$14$i = $412;$state$5$i = $415;$str_byte$6$i = $425;
+ break;
+ }
+ $430 = ((($stack$12$i)) + 20|0);
+ $431 = HEAP32[$430>>2]|0;
+ $i10$0130$i = 0;
+ while(1) {
+ $432 = (($431) + ($i10$0130$i<<2)|0);
+ $433 = HEAP32[$432>>2]|0;
+ $434 = (($tags$0$i) + ($i10$0130$i<<2)|0);
+ HEAP32[$434>>2] = $433;
+ $435 = (($i10$0130$i) + 1)|0;
+ $exitcond75 = ($435|0)==($428|0);
+ if ($exitcond75) {
+ $$554$i = 0;$match_eo$4$i = $match_eo$2$i;$next_tags$10$i = $next_tags$8$i;$pos$5$i = $423;$pos_add_next$9$i = $pos_add_next$7$i;$stack$14$i = $412;$state$5$i = $415;$str_byte$6$i = $425;
+ break;
+ } else {
+ $i10$0130$i = $435;
+ }
+ }
+ }
+ } while(0);
+ switch ($$554$i|0) {
+ case 2: {
+ $eo$0 = 0;$pmatch$1$i = $pmatch$0$i;$ret$7$i = 1;$states_seen$1$i = $states_seen$0$ph$i;$tags$1$i = $tags$0$i;
+ break L226;
+ break;
+ }
+ case 27: {
+ $match_eo$4$i$lcssa149 = $match_eo$4$i;
+ label = 184;
+ break L234;
+ break;
+ }
+ case 0: {
+ $match_eo$1$i = $match_eo$4$i;$next_tags$4$i = $next_tags$10$i;$pos$0$i = $pos$5$i;$pos_add_next$2$i = $pos_add_next$9$i;$stack$6$i = $stack$14$i;$state$2$i = $state$5$i;$str_byte$1$i = $str_byte$6$i;
+ label = 82;
+ break;
+ }
+ case 3: {
+ break L316;
+ break;
+ }
+ default: {
+ $$15$i = 12;$eo$1 = 0;
+ break L219;
+ }
+ }
+ }
+ $$pre$i = HEAP32[$6>>2]|0;
+ $52 = $$pre$i;$match_eo$0$i = $match_eo$4$i;$pos_add_next$0$i = $pos_add_next$9$i;$pos_start$0$i = $64;$stack$0$i = $stack$14$i;$str_byte$0$i = $str_byte$6$i;
+ }
+ if ((label|0) == 56) {
+ ___tre_mem_destroy($20);
+ if (!($49)) {
+ _free($tags$0$i);
+ }
+ if (!($50)) {
+ _free($pmatch$0$i);
+ }
+ if ($51) {
+ $$15$i = 12;$eo$1 = 0;
+ break L219;
+ }
+ _free($states_seen$0$ph$i);
+ $$15$i = 12;$eo$1 = 0;
+ break L219;
+ }
+ else if ((label|0) == 63) {
+ ___tre_mem_destroy($20);
+ if (!($49)) {
+ _free($tags$0$i);
+ }
+ if (!($50)) {
+ _free($pmatch$0$i);
+ }
+ if ($51) {
+ $$15$i = 12;$eo$1 = 0;
+ break L219;
+ }
+ _free($states_seen$0$ph$i);
+ $$15$i = 12;$eo$1 = 0;
+ break L219;
+ }
+ else if ((label|0) == 184) {
+ $match_eo$4$lobit$i = $match_eo$4$i$lcssa149 >>> 31;
+ $eo$0 = $match_eo$4$i$lcssa149;$pmatch$1$i = $pmatch$0$i;$ret$7$i = $match_eo$4$lobit$i;$states_seen$1$i = $states_seen$0$ph$i;$tags$1$i = $tags$0$i;
+ break;
+ }
+ }
+ } while(0);
+ ___tre_mem_destroy($20);
+ $439 = ($tags$1$i|0)==(0|0);
+ if (!($439)) {
+ _free($tags$1$i);
+ }
+ $440 = ($pmatch$1$i|0)==(0|0);
+ if (!($440)) {
+ _free($pmatch$1$i);
+ }
+ $441 = ($states_seen$1$i|0)==(0|0);
+ if ($441) {
+ $$15$i = $ret$7$i;$eo$1 = $eo$0;
+ } else {
+ _free($states_seen$1$i);
+ $$15$i = $ret$7$i;$eo$1 = $eo$0;
+ }
+ }
+ } while(0);
+ $eo$4 = $eo$1;$status$0 = $$15$i;
+ }
+ $825 = ($status$0|0)==(0);
+ if ($825) {
+ $826 = HEAP32[$2>>2]|0;
+ _tre_fill_pmatch($nmatch$,$pmatch,$826,$1,$tags$0,$eo$4);
+ }
+ $827 = ($tags$0|0)==(0|0);
+ if ($827) {
+ $$0 = $status$0;
+ } else {
+ _free($tags$0);
+ $$0 = $status$0;
+ }
+ }
+ STACKTOP = sp;return ($$0|0);
+}
+function _tre_tag_order($num_tags,$tag_directions,$t1,$t2) {
+ $num_tags = $num_tags|0;
+ $tag_directions = $tag_directions|0;
+ $t1 = $t1|0;
+ $t2 = $t2|0;
+ var $$0 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i$01 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($num_tags|0)>(0);
+ L1: do {
+ if ($0) {
+ $i$01 = 0;
+ while(1) {
+ $1 = (($tag_directions) + ($i$01<<2)|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = ($2|0)==(0);
+ $4 = (($t1) + ($i$01<<2)|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = (($t2) + ($i$01<<2)|0);
+ $7 = HEAP32[$6>>2]|0;
+ if ($3) {
+ $8 = ($5|0)<($7|0);
+ if ($8) {
+ $$0 = 1;
+ break L1;
+ }
+ $9 = ($5|0)>($7|0);
+ if ($9) {
+ $$0 = 0;
+ break L1;
+ }
+ } else {
+ $10 = ($5|0)>($7|0);
+ if ($10) {
+ $$0 = 1;
+ break L1;
+ }
+ $11 = ($5|0)<($7|0);
+ if ($11) {
+ $$0 = 0;
+ break L1;
+ }
+ }
+ $12 = (($i$01) + 1)|0;
+ $13 = ($12|0)<($num_tags|0);
+ if ($13) {
+ $i$01 = $12;
+ } else {
+ $$0 = 0;
+ break;
+ }
+ }
+ } else {
+ $$0 = 0;
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _tre_fill_pmatch($nmatch,$pmatch,$cflags,$tnfa,$tags,$match_eo) {
+ $nmatch = $nmatch|0;
+ $pmatch = $pmatch|0;
+ $cflags = $cflags|0;
+ $tnfa = $tnfa|0;
+ $tags = $tags|0;
+ $match_eo = $match_eo|0;
+ var $$pre = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
+ var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
+ var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $i$014 = 0, $i$19 = 0, $i$2$ph = 0, $i$25 = 0, $j$06 = 0, $or$cond = 0, $or$cond22 = 0, $or$cond3 = 0, $or$cond313 = 0, $or$cond4 = 0, $or$cond48 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($match_eo|0)>(-1);
+ $1 = $cflags & 8;
+ $2 = ($1|0)==(0);
+ $or$cond = $2 & $0;
+ if ($or$cond) {
+ $4 = ((($tnfa)) + 16|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = ((($tnfa)) + 28|0);
+ $7 = HEAP32[$6>>2]|0;
+ $8 = ($7|0)!=(0);
+ $9 = ($nmatch|0)!=(0);
+ $or$cond313 = $9 & $8;
+ if ($or$cond313) {
+ $10 = ((($tnfa)) + 48|0);
+ $i$014 = 0;
+ while(1) {
+ $13 = (($5) + (($i$014*12)|0)|0);
+ $14 = HEAP32[$13>>2]|0;
+ $15 = HEAP32[$10>>2]|0;
+ $16 = ($14|0)==($15|0);
+ if ($16) {
+ $20 = $match_eo;
+ } else {
+ $17 = (($tags) + ($14<<2)|0);
+ $18 = HEAP32[$17>>2]|0;
+ $20 = $18;
+ }
+ $19 = (($pmatch) + ($i$014<<3)|0);
+ HEAP32[$19>>2] = $20;
+ $21 = (((($5) + (($i$014*12)|0)|0)) + 4|0);
+ $22 = HEAP32[$21>>2]|0;
+ $23 = HEAP32[$10>>2]|0;
+ $24 = ($22|0)==($23|0);
+ if ($24) {
+ $28 = $match_eo;
+ } else {
+ $25 = (($tags) + ($22<<2)|0);
+ $26 = HEAP32[$25>>2]|0;
+ $28 = $26;
+ }
+ $27 = (((($pmatch) + ($i$014<<3)|0)) + 4|0);
+ HEAP32[$27>>2] = $28;
+ $29 = ($20|0)==(-1);
+ $30 = ($28|0)==(-1);
+ $or$cond22 = $29 | $30;
+ if ($or$cond22) {
+ HEAP32[$27>>2] = -1;
+ HEAP32[$19>>2] = -1;
+ }
+ $31 = (($i$014) + 1)|0;
+ $32 = HEAP32[$6>>2]|0;
+ $33 = ($31>>>0)<($32>>>0);
+ $34 = ($31>>>0)<($nmatch>>>0);
+ $or$cond3 = $34 & $33;
+ if ($or$cond3) {
+ $i$014 = $31;
+ } else {
+ $11 = $32;
+ break;
+ }
+ }
+ } else {
+ $11 = $7;
+ }
+ $12 = ($11|0)!=(0);
+ $or$cond48 = $9 & $12;
+ if ($or$cond48) {
+ $i$19 = 0;
+ while(1) {
+ $35 = (((($pmatch) + ($i$19<<3)|0)) + 4|0);
+ $36 = (((($5) + (($i$19*12)|0)|0)) + 8|0);
+ $37 = HEAP32[$36>>2]|0;
+ $38 = ($37|0)==(0|0);
+ if (!($38)) {
+ $39 = HEAP32[$37>>2]|0;
+ $40 = ($39|0)>(-1);
+ if ($40) {
+ $41 = (($pmatch) + ($i$19<<3)|0);
+ $$pre = HEAP32[$41>>2]|0;
+ $43 = $39;$45 = $$pre;$j$06 = 0;
+ while(1) {
+ $42 = (($pmatch) + ($43<<3)|0);
+ $44 = HEAP32[$42>>2]|0;
+ $46 = ($45|0)<($44|0);
+ if ($46) {
+ label = 18;
+ } else {
+ $47 = HEAP32[$35>>2]|0;
+ $48 = (((($pmatch) + ($43<<3)|0)) + 4|0);
+ $49 = HEAP32[$48>>2]|0;
+ $50 = ($47|0)>($49|0);
+ if ($50) {
+ label = 18;
+ } else {
+ $61 = $45;
+ }
+ }
+ if ((label|0) == 18) {
+ label = 0;
+ HEAP32[$35>>2] = -1;
+ HEAP32[$41>>2] = -1;
+ $61 = -1;
+ }
+ $51 = (($j$06) + 1)|0;
+ $52 = (($37) + ($51<<2)|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($53|0)>(-1);
+ if ($54) {
+ $43 = $53;$45 = $61;$j$06 = $51;
+ } else {
+ break;
+ }
+ }
+ }
+ }
+ $55 = (($i$19) + 1)|0;
+ $56 = ($55>>>0)<($11>>>0);
+ $57 = ($55>>>0)<($nmatch>>>0);
+ $or$cond4 = $57 & $56;
+ if ($or$cond4) {
+ $i$19 = $55;
+ } else {
+ $i$2$ph = $55;
+ break;
+ }
+ }
+ } else {
+ $i$2$ph = 0;
+ }
+ } else {
+ $i$2$ph = 0;
+ }
+ $3 = ($i$2$ph>>>0)<($nmatch>>>0);
+ if ($3) {
+ $i$25 = $i$2$ph;
+ while(1) {
+ $58 = (($pmatch) + ($i$25<<3)|0);
+ HEAP32[$58>>2] = -1;
+ $59 = (((($pmatch) + ($i$25<<3)|0)) + 4|0);
+ HEAP32[$59>>2] = -1;
+ $60 = (($i$25) + 1)|0;
+ $exitcond = ($60|0)==($nmatch|0);
+ if ($exitcond) {
+ break;
+ } else {
+ $i$25 = $60;
+ }
+ }
+ }
+ return;
+}
+function _tre_neg_char_classes_match($classes,$wc,$icase) {
+ $classes = $classes|0;
+ $wc = $wc|0;
+ $icase = $icase|0;
+ var $$0 = 0, $$012 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
+ var sp = 0;
+ sp = STACKTOP;
+ $0 = HEAP32[$classes>>2]|0;
+ $1 = ($0|0)==(0);
+ L1: do {
+ if ($1) {
+ $$0 = 0;
+ } else {
+ $2 = ($icase|0)==(0);
+ $$012 = $classes;$3 = $0;
+ while(1) {
+ if ($2) {
+ $4 = (_iswctype($wc,$3)|0);
+ $5 = ($4|0)==(0);
+ if (!($5)) {
+ $$0 = 1;
+ break L1;
+ }
+ } else {
+ $6 = (_towupper($wc)|0);
+ $7 = HEAP32[$$012>>2]|0;
+ $8 = (_iswctype($6,$7)|0);
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $$0 = 1;
+ break L1;
+ }
+ $10 = (_towlower($wc)|0);
+ $11 = HEAP32[$$012>>2]|0;
+ $12 = (_iswctype($10,$11)|0);
+ $13 = ($12|0)==(0);
+ if (!($13)) {
+ $$0 = 1;
+ break L1;
+ }
+ }
+ $14 = ((($$012)) + 4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = ($15|0)==(0);
+ if ($16) {
+ $$0 = 0;
+ break;
+ } else {
+ $$012 = $14;$3 = $15;
+ }
+ }
+ }
+ } while(0);
+ return ($$0|0);
+}
+function _malloc($bytes) {
+ $bytes = $bytes|0;
+ var $$0 = 0, $$lcssa = 0, $$lcssa141 = 0, $$lcssa142 = 0, $$lcssa144 = 0, $$lcssa147 = 0, $$lcssa149 = 0, $$lcssa151 = 0, $$lcssa153 = 0, $$lcssa155 = 0, $$lcssa157 = 0, $$not$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i13 = 0, $$pre$i16$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i14Z2D = 0, $$pre$phi$i17$iZ2D = 0;
+ var $$pre$phi$iZ2D = 0, $$pre$phi10$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre71 = 0, $$pre9$i$i = 0, $$rsize$0$i = 0, $$rsize$4$i = 0, $$v$0$i = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0;
+ var $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0;
+ var $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0;
+ var $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0;
+ var $1062 = 0, $1063 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
+ var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
+ var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
+ var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
+ var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
+ var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0;
+ var $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0;
+ var $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0;
+ var $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0;
+ var $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0;
+ var $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
+ var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
+ var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
+ var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
+ var $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
+ var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0;
+ var $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0;
+ var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0;
+ var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0;
+ var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0;
+ var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0;
+ var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0;
+ var $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0;
+ var $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0;
+ var $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0;
+ var $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0;
+ var $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0;
+ var $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0;
+ var $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0;
+ var $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0;
+ var $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0;
+ var $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0;
+ var $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0;
+ var $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0;
+ var $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0;
+ var $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0;
+ var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0;
+ var $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0;
+ var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0;
+ var $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0;
+ var $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0;
+ var $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0;
+ var $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0;
+ var $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0;
+ var $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0;
+ var $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0;
+ var $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0;
+ var $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0;
+ var $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0;
+ var $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $F$0$i$i = 0, $F1$0$i = 0, $F4$0 = 0, $F4$0$i$i = 0, $F5$0$i = 0, $I1$0$i$i = 0, $I7$0$i = 0, $I7$0$i$i = 0;
+ var $K12$0$i = 0, $K2$0$i$i = 0, $K8$0$i$i = 0, $R$1$i = 0, $R$1$i$i = 0, $R$1$i$i$lcssa = 0, $R$1$i$lcssa = 0, $R$1$i9 = 0, $R$1$i9$lcssa = 0, $R$3$i = 0, $R$3$i$i = 0, $R$3$i11 = 0, $RP$1$i = 0, $RP$1$i$i = 0, $RP$1$i$i$lcssa = 0, $RP$1$i$lcssa = 0, $RP$1$i8 = 0, $RP$1$i8$lcssa = 0, $T$0$i = 0, $T$0$i$i = 0;
+ var $T$0$i$i$lcssa = 0, $T$0$i$i$lcssa140 = 0, $T$0$i$lcssa = 0, $T$0$i$lcssa156 = 0, $T$0$i18$i = 0, $T$0$i18$i$lcssa = 0, $T$0$i18$i$lcssa139 = 0, $br$2$ph$i = 0, $cond$i = 0, $cond$i$i = 0, $cond$i12 = 0, $exitcond$i$i = 0, $i$01$i$i = 0, $idx$0$i = 0, $nb$0 = 0, $not$$i$i = 0, $not$$i20$i = 0, $not$7$i = 0, $oldfirst$0$i$i = 0, $or$cond$i = 0;
+ var $or$cond$i17 = 0, $or$cond1$i = 0, $or$cond1$i16 = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond2$i = 0, $or$cond48$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond8$i = 0, $p$0$i$i = 0, $qsize$0$i$i = 0, $rsize$0$i = 0, $rsize$0$i$lcssa = 0, $rsize$0$i5 = 0, $rsize$1$i = 0, $rsize$3$i = 0, $rsize$4$lcssa$i = 0, $rsize$412$i = 0, $rst$0$i = 0;
+ var $rst$1$i = 0, $sizebits$0$$i = 0, $sizebits$0$i = 0, $sp$0$i$i = 0, $sp$0$i$i$i = 0, $sp$068$i = 0, $sp$068$i$lcssa = 0, $sp$167$i = 0, $sp$167$i$lcssa = 0, $ssize$0$i = 0, $ssize$2$ph$i = 0, $ssize$5$i = 0, $t$0$i = 0, $t$0$i4 = 0, $t$2$i = 0, $t$4$ph$i = 0, $t$4$v$4$i = 0, $t$411$i = 0, $tbase$746$i = 0, $tsize$745$i = 0;
+ var $v$0$i = 0, $v$0$i$lcssa = 0, $v$0$i6 = 0, $v$1$i = 0, $v$3$i = 0, $v$4$lcssa$i = 0, $v$413$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($bytes>>>0)<(245);
+ do {
+ if ($0) {
+ $1 = ($bytes>>>0)<(11);
+ $2 = (($bytes) + 11)|0;
+ $3 = $2 & -8;
+ $4 = $1 ? 16 : $3;
+ $5 = $4 >>> 3;
+ $6 = HEAP32[17795]|0;
+ $7 = $6 >>> $5;
+ $8 = $7 & 3;
+ $9 = ($8|0)==(0);
+ if (!($9)) {
+ $10 = $7 & 1;
+ $11 = $10 ^ 1;
+ $12 = (($11) + ($5))|0;
+ $13 = $12 << 1;
+ $14 = (71220 + ($13<<2)|0);
+ $15 = ((($14)) + 8|0);
+ $16 = HEAP32[$15>>2]|0;
+ $17 = ((($16)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ($14|0)==($18|0);
+ do {
+ if ($19) {
+ $20 = 1 << $12;
+ $21 = $20 ^ -1;
+ $22 = $6 & $21;
+ HEAP32[17795] = $22;
+ } else {
+ $23 = HEAP32[(71196)>>2]|0;
+ $24 = ($18>>>0)<($23>>>0);
+ if ($24) {
+ _abort();
+ // unreachable;
+ }
+ $25 = ((($18)) + 12|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = ($26|0)==($16|0);
+ if ($27) {
+ HEAP32[$25>>2] = $14;
+ HEAP32[$15>>2] = $18;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $28 = $12 << 3;
+ $29 = $28 | 3;
+ $30 = ((($16)) + 4|0);
+ HEAP32[$30>>2] = $29;
+ $31 = (($16) + ($28)|0);
+ $32 = ((($31)) + 4|0);
+ $33 = HEAP32[$32>>2]|0;
+ $34 = $33 | 1;
+ HEAP32[$32>>2] = $34;
+ $$0 = $17;
+ return ($$0|0);
+ }
+ $35 = HEAP32[(71188)>>2]|0;
+ $36 = ($4>>>0)>($35>>>0);
+ if ($36) {
+ $37 = ($7|0)==(0);
+ if (!($37)) {
+ $38 = $7 << $5;
+ $39 = 2 << $5;
+ $40 = (0 - ($39))|0;
+ $41 = $39 | $40;
+ $42 = $38 & $41;
+ $43 = (0 - ($42))|0;
+ $44 = $42 & $43;
+ $45 = (($44) + -1)|0;
+ $46 = $45 >>> 12;
+ $47 = $46 & 16;
+ $48 = $45 >>> $47;
+ $49 = $48 >>> 5;
+ $50 = $49 & 8;
+ $51 = $50 | $47;
+ $52 = $48 >>> $50;
+ $53 = $52 >>> 2;
+ $54 = $53 & 4;
+ $55 = $51 | $54;
+ $56 = $52 >>> $54;
+ $57 = $56 >>> 1;
+ $58 = $57 & 2;
+ $59 = $55 | $58;
+ $60 = $56 >>> $58;
+ $61 = $60 >>> 1;
+ $62 = $61 & 1;
+ $63 = $59 | $62;
+ $64 = $60 >>> $62;
+ $65 = (($63) + ($64))|0;
+ $66 = $65 << 1;
+ $67 = (71220 + ($66<<2)|0);
+ $68 = ((($67)) + 8|0);
+ $69 = HEAP32[$68>>2]|0;
+ $70 = ((($69)) + 8|0);
+ $71 = HEAP32[$70>>2]|0;
+ $72 = ($67|0)==($71|0);
+ do {
+ if ($72) {
+ $73 = 1 << $65;
+ $74 = $73 ^ -1;
+ $75 = $6 & $74;
+ HEAP32[17795] = $75;
+ $89 = $35;
+ } else {
+ $76 = HEAP32[(71196)>>2]|0;
+ $77 = ($71>>>0)<($76>>>0);
+ if ($77) {
+ _abort();
+ // unreachable;
+ }
+ $78 = ((($71)) + 12|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($79|0)==($69|0);
+ if ($80) {
+ HEAP32[$78>>2] = $67;
+ HEAP32[$68>>2] = $71;
+ $$pre = HEAP32[(71188)>>2]|0;
+ $89 = $$pre;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $81 = $65 << 3;
+ $82 = (($81) - ($4))|0;
+ $83 = $4 | 3;
+ $84 = ((($69)) + 4|0);
+ HEAP32[$84>>2] = $83;
+ $85 = (($69) + ($4)|0);
+ $86 = $82 | 1;
+ $87 = ((($85)) + 4|0);
+ HEAP32[$87>>2] = $86;
+ $88 = (($85) + ($82)|0);
+ HEAP32[$88>>2] = $82;
+ $90 = ($89|0)==(0);
+ if (!($90)) {
+ $91 = HEAP32[(71200)>>2]|0;
+ $92 = $89 >>> 3;
+ $93 = $92 << 1;
+ $94 = (71220 + ($93<<2)|0);
+ $95 = HEAP32[17795]|0;
+ $96 = 1 << $92;
+ $97 = $95 & $96;
+ $98 = ($97|0)==(0);
+ if ($98) {
+ $99 = $95 | $96;
+ HEAP32[17795] = $99;
+ $$pre71 = ((($94)) + 8|0);
+ $$pre$phiZ2D = $$pre71;$F4$0 = $94;
+ } else {
+ $100 = ((($94)) + 8|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = HEAP32[(71196)>>2]|0;
+ $103 = ($101>>>0)<($102>>>0);
+ if ($103) {
+ _abort();
+ // unreachable;
+ } else {
+ $$pre$phiZ2D = $100;$F4$0 = $101;
+ }
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $91;
+ $104 = ((($F4$0)) + 12|0);
+ HEAP32[$104>>2] = $91;
+ $105 = ((($91)) + 8|0);
+ HEAP32[$105>>2] = $F4$0;
+ $106 = ((($91)) + 12|0);
+ HEAP32[$106>>2] = $94;
+ }
+ HEAP32[(71188)>>2] = $82;
+ HEAP32[(71200)>>2] = $85;
+ $$0 = $70;
+ return ($$0|0);
+ }
+ $107 = HEAP32[(71184)>>2]|0;
+ $108 = ($107|0)==(0);
+ if ($108) {
+ $nb$0 = $4;
+ } else {
+ $109 = (0 - ($107))|0;
+ $110 = $107 & $109;
+ $111 = (($110) + -1)|0;
+ $112 = $111 >>> 12;
+ $113 = $112 & 16;
+ $114 = $111 >>> $113;
+ $115 = $114 >>> 5;
+ $116 = $115 & 8;
+ $117 = $116 | $113;
+ $118 = $114 >>> $116;
+ $119 = $118 >>> 2;
+ $120 = $119 & 4;
+ $121 = $117 | $120;
+ $122 = $118 >>> $120;
+ $123 = $122 >>> 1;
+ $124 = $123 & 2;
+ $125 = $121 | $124;
+ $126 = $122 >>> $124;
+ $127 = $126 >>> 1;
+ $128 = $127 & 1;
+ $129 = $125 | $128;
+ $130 = $126 >>> $128;
+ $131 = (($129) + ($130))|0;
+ $132 = (71484 + ($131<<2)|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = ((($133)) + 4|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $135 & -8;
+ $137 = (($136) - ($4))|0;
+ $rsize$0$i = $137;$t$0$i = $133;$v$0$i = $133;
+ while(1) {
+ $138 = ((($t$0$i)) + 16|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = ($139|0)==(0|0);
+ if ($140) {
+ $141 = ((($t$0$i)) + 20|0);
+ $142 = HEAP32[$141>>2]|0;
+ $143 = ($142|0)==(0|0);
+ if ($143) {
+ $rsize$0$i$lcssa = $rsize$0$i;$v$0$i$lcssa = $v$0$i;
+ break;
+ } else {
+ $145 = $142;
+ }
+ } else {
+ $145 = $139;
+ }
+ $144 = ((($145)) + 4|0);
+ $146 = HEAP32[$144>>2]|0;
+ $147 = $146 & -8;
+ $148 = (($147) - ($4))|0;
+ $149 = ($148>>>0)<($rsize$0$i>>>0);
+ $$rsize$0$i = $149 ? $148 : $rsize$0$i;
+ $$v$0$i = $149 ? $145 : $v$0$i;
+ $rsize$0$i = $$rsize$0$i;$t$0$i = $145;$v$0$i = $$v$0$i;
+ }
+ $150 = HEAP32[(71196)>>2]|0;
+ $151 = ($v$0$i$lcssa>>>0)<($150>>>0);
+ if ($151) {
+ _abort();
+ // unreachable;
+ }
+ $152 = (($v$0$i$lcssa) + ($4)|0);
+ $153 = ($v$0$i$lcssa>>>0)<($152>>>0);
+ if (!($153)) {
+ _abort();
+ // unreachable;
+ }
+ $154 = ((($v$0$i$lcssa)) + 24|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = ((($v$0$i$lcssa)) + 12|0);
+ $157 = HEAP32[$156>>2]|0;
+ $158 = ($157|0)==($v$0$i$lcssa|0);
+ do {
+ if ($158) {
+ $168 = ((($v$0$i$lcssa)) + 20|0);
+ $169 = HEAP32[$168>>2]|0;
+ $170 = ($169|0)==(0|0);
+ if ($170) {
+ $171 = ((($v$0$i$lcssa)) + 16|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = ($172|0)==(0|0);
+ if ($173) {
+ $R$3$i = 0;
+ break;
+ } else {
+ $R$1$i = $172;$RP$1$i = $171;
+ }
+ } else {
+ $R$1$i = $169;$RP$1$i = $168;
+ }
+ while(1) {
+ $174 = ((($R$1$i)) + 20|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = ($175|0)==(0|0);
+ if (!($176)) {
+ $R$1$i = $175;$RP$1$i = $174;
+ continue;
+ }
+ $177 = ((($R$1$i)) + 16|0);
+ $178 = HEAP32[$177>>2]|0;
+ $179 = ($178|0)==(0|0);
+ if ($179) {
+ $R$1$i$lcssa = $R$1$i;$RP$1$i$lcssa = $RP$1$i;
+ break;
+ } else {
+ $R$1$i = $178;$RP$1$i = $177;
+ }
+ }
+ $180 = ($RP$1$i$lcssa>>>0)<($150>>>0);
+ if ($180) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP$1$i$lcssa>>2] = 0;
+ $R$3$i = $R$1$i$lcssa;
+ break;
+ }
+ } else {
+ $159 = ((($v$0$i$lcssa)) + 8|0);
+ $160 = HEAP32[$159>>2]|0;
+ $161 = ($160>>>0)<($150>>>0);
+ if ($161) {
+ _abort();
+ // unreachable;
+ }
+ $162 = ((($160)) + 12|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = ($163|0)==($v$0$i$lcssa|0);
+ if (!($164)) {
+ _abort();
+ // unreachable;
+ }
+ $165 = ((($157)) + 8|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = ($166|0)==($v$0$i$lcssa|0);
+ if ($167) {
+ HEAP32[$162>>2] = $157;
+ HEAP32[$165>>2] = $160;
+ $R$3$i = $157;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $181 = ($155|0)==(0|0);
+ do {
+ if (!($181)) {
+ $182 = ((($v$0$i$lcssa)) + 28|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (71484 + ($183<<2)|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = ($v$0$i$lcssa|0)==($185|0);
+ if ($186) {
+ HEAP32[$184>>2] = $R$3$i;
+ $cond$i = ($R$3$i|0)==(0|0);
+ if ($cond$i) {
+ $187 = 1 << $183;
+ $188 = $187 ^ -1;
+ $189 = HEAP32[(71184)>>2]|0;
+ $190 = $189 & $188;
+ HEAP32[(71184)>>2] = $190;
+ break;
+ }
+ } else {
+ $191 = HEAP32[(71196)>>2]|0;
+ $192 = ($155>>>0)<($191>>>0);
+ if ($192) {
+ _abort();
+ // unreachable;
+ }
+ $193 = ((($155)) + 16|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = ($194|0)==($v$0$i$lcssa|0);
+ if ($195) {
+ HEAP32[$193>>2] = $R$3$i;
+ } else {
+ $196 = ((($155)) + 20|0);
+ HEAP32[$196>>2] = $R$3$i;
+ }
+ $197 = ($R$3$i|0)==(0|0);
+ if ($197) {
+ break;
+ }
+ }
+ $198 = HEAP32[(71196)>>2]|0;
+ $199 = ($R$3$i>>>0)<($198>>>0);
+ if ($199) {
+ _abort();
+ // unreachable;
+ }
+ $200 = ((($R$3$i)) + 24|0);
+ HEAP32[$200>>2] = $155;
+ $201 = ((($v$0$i$lcssa)) + 16|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = ($202|0)==(0|0);
+ do {
+ if (!($203)) {
+ $204 = ($202>>>0)<($198>>>0);
+ if ($204) {
+ _abort();
+ // unreachable;
+ } else {
+ $205 = ((($R$3$i)) + 16|0);
+ HEAP32[$205>>2] = $202;
+ $206 = ((($202)) + 24|0);
+ HEAP32[$206>>2] = $R$3$i;
+ break;
+ }
+ }
+ } while(0);
+ $207 = ((($v$0$i$lcssa)) + 20|0);
+ $208 = HEAP32[$207>>2]|0;
+ $209 = ($208|0)==(0|0);
+ if (!($209)) {
+ $210 = HEAP32[(71196)>>2]|0;
+ $211 = ($208>>>0)<($210>>>0);
+ if ($211) {
+ _abort();
+ // unreachable;
+ } else {
+ $212 = ((($R$3$i)) + 20|0);
+ HEAP32[$212>>2] = $208;
+ $213 = ((($208)) + 24|0);
+ HEAP32[$213>>2] = $R$3$i;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $214 = ($rsize$0$i$lcssa>>>0)<(16);
+ if ($214) {
+ $215 = (($rsize$0$i$lcssa) + ($4))|0;
+ $216 = $215 | 3;
+ $217 = ((($v$0$i$lcssa)) + 4|0);
+ HEAP32[$217>>2] = $216;
+ $218 = (($v$0$i$lcssa) + ($215)|0);
+ $219 = ((($218)) + 4|0);
+ $220 = HEAP32[$219>>2]|0;
+ $221 = $220 | 1;
+ HEAP32[$219>>2] = $221;
+ } else {
+ $222 = $4 | 3;
+ $223 = ((($v$0$i$lcssa)) + 4|0);
+ HEAP32[$223>>2] = $222;
+ $224 = $rsize$0$i$lcssa | 1;
+ $225 = ((($152)) + 4|0);
+ HEAP32[$225>>2] = $224;
+ $226 = (($152) + ($rsize$0$i$lcssa)|0);
+ HEAP32[$226>>2] = $rsize$0$i$lcssa;
+ $227 = HEAP32[(71188)>>2]|0;
+ $228 = ($227|0)==(0);
+ if (!($228)) {
+ $229 = HEAP32[(71200)>>2]|0;
+ $230 = $227 >>> 3;
+ $231 = $230 << 1;
+ $232 = (71220 + ($231<<2)|0);
+ $233 = HEAP32[17795]|0;
+ $234 = 1 << $230;
+ $235 = $233 & $234;
+ $236 = ($235|0)==(0);
+ if ($236) {
+ $237 = $233 | $234;
+ HEAP32[17795] = $237;
+ $$pre$i = ((($232)) + 8|0);
+ $$pre$phi$iZ2D = $$pre$i;$F1$0$i = $232;
+ } else {
+ $238 = ((($232)) + 8|0);
+ $239 = HEAP32[$238>>2]|0;
+ $240 = HEAP32[(71196)>>2]|0;
+ $241 = ($239>>>0)<($240>>>0);
+ if ($241) {
+ _abort();
+ // unreachable;
+ } else {
+ $$pre$phi$iZ2D = $238;$F1$0$i = $239;
+ }
+ }
+ HEAP32[$$pre$phi$iZ2D>>2] = $229;
+ $242 = ((($F1$0$i)) + 12|0);
+ HEAP32[$242>>2] = $229;
+ $243 = ((($229)) + 8|0);
+ HEAP32[$243>>2] = $F1$0$i;
+ $244 = ((($229)) + 12|0);
+ HEAP32[$244>>2] = $232;
+ }
+ HEAP32[(71188)>>2] = $rsize$0$i$lcssa;
+ HEAP32[(71200)>>2] = $152;
+ }
+ $245 = ((($v$0$i$lcssa)) + 8|0);
+ $$0 = $245;
+ return ($$0|0);
+ }
+ } else {
+ $nb$0 = $4;
+ }
+ } else {
+ $246 = ($bytes>>>0)>(4294967231);
+ if ($246) {
+ $nb$0 = -1;
+ } else {
+ $247 = (($bytes) + 11)|0;
+ $248 = $247 & -8;
+ $249 = HEAP32[(71184)>>2]|0;
+ $250 = ($249|0)==(0);
+ if ($250) {
+ $nb$0 = $248;
+ } else {
+ $251 = (0 - ($248))|0;
+ $252 = $247 >>> 8;
+ $253 = ($252|0)==(0);
+ if ($253) {
+ $idx$0$i = 0;
+ } else {
+ $254 = ($248>>>0)>(16777215);
+ if ($254) {
+ $idx$0$i = 31;
+ } else {
+ $255 = (($252) + 1048320)|0;
+ $256 = $255 >>> 16;
+ $257 = $256 & 8;
+ $258 = $252 << $257;
+ $259 = (($258) + 520192)|0;
+ $260 = $259 >>> 16;
+ $261 = $260 & 4;
+ $262 = $261 | $257;
+ $263 = $258 << $261;
+ $264 = (($263) + 245760)|0;
+ $265 = $264 >>> 16;
+ $266 = $265 & 2;
+ $267 = $262 | $266;
+ $268 = (14 - ($267))|0;
+ $269 = $263 << $266;
+ $270 = $269 >>> 15;
+ $271 = (($268) + ($270))|0;
+ $272 = $271 << 1;
+ $273 = (($271) + 7)|0;
+ $274 = $248 >>> $273;
+ $275 = $274 & 1;
+ $276 = $275 | $272;
+ $idx$0$i = $276;
+ }
+ }
+ $277 = (71484 + ($idx$0$i<<2)|0);
+ $278 = HEAP32[$277>>2]|0;
+ $279 = ($278|0)==(0|0);
+ L123: do {
+ if ($279) {
+ $rsize$3$i = $251;$t$2$i = 0;$v$3$i = 0;
+ label = 86;
+ } else {
+ $280 = ($idx$0$i|0)==(31);
+ $281 = $idx$0$i >>> 1;
+ $282 = (25 - ($281))|0;
+ $283 = $280 ? 0 : $282;
+ $284 = $248 << $283;
+ $rsize$0$i5 = $251;$rst$0$i = 0;$sizebits$0$i = $284;$t$0$i4 = $278;$v$0$i6 = 0;
+ while(1) {
+ $285 = ((($t$0$i4)) + 4|0);
+ $286 = HEAP32[$285>>2]|0;
+ $287 = $286 & -8;
+ $288 = (($287) - ($248))|0;
+ $289 = ($288>>>0)<($rsize$0$i5>>>0);
+ if ($289) {
+ $290 = ($287|0)==($248|0);
+ if ($290) {
+ $rsize$412$i = $288;$t$411$i = $t$0$i4;$v$413$i = $t$0$i4;
+ label = 90;
+ break L123;
+ } else {
+ $rsize$1$i = $288;$v$1$i = $t$0$i4;
+ }
+ } else {
+ $rsize$1$i = $rsize$0$i5;$v$1$i = $v$0$i6;
+ }
+ $291 = ((($t$0$i4)) + 20|0);
+ $292 = HEAP32[$291>>2]|0;
+ $293 = $sizebits$0$i >>> 31;
+ $294 = (((($t$0$i4)) + 16|0) + ($293<<2)|0);
+ $295 = HEAP32[$294>>2]|0;
+ $296 = ($292|0)==(0|0);
+ $297 = ($292|0)==($295|0);
+ $or$cond1$i = $296 | $297;
+ $rst$1$i = $or$cond1$i ? $rst$0$i : $292;
+ $298 = ($295|0)==(0|0);
+ $299 = $298&1;
+ $300 = $299 ^ 1;
+ $sizebits$0$$i = $sizebits$0$i << $300;
+ if ($298) {
+ $rsize$3$i = $rsize$1$i;$t$2$i = $rst$1$i;$v$3$i = $v$1$i;
+ label = 86;
+ break;
+ } else {
+ $rsize$0$i5 = $rsize$1$i;$rst$0$i = $rst$1$i;$sizebits$0$i = $sizebits$0$$i;$t$0$i4 = $295;$v$0$i6 = $v$1$i;
+ }
+ }
+ }
+ } while(0);
+ if ((label|0) == 86) {
+ $301 = ($t$2$i|0)==(0|0);
+ $302 = ($v$3$i|0)==(0|0);
+ $or$cond$i = $301 & $302;
+ if ($or$cond$i) {
+ $303 = 2 << $idx$0$i;
+ $304 = (0 - ($303))|0;
+ $305 = $303 | $304;
+ $306 = $249 & $305;
+ $307 = ($306|0)==(0);
+ if ($307) {
+ $nb$0 = $248;
+ break;
+ }
+ $308 = (0 - ($306))|0;
+ $309 = $306 & $308;
+ $310 = (($309) + -1)|0;
+ $311 = $310 >>> 12;
+ $312 = $311 & 16;
+ $313 = $310 >>> $312;
+ $314 = $313 >>> 5;
+ $315 = $314 & 8;
+ $316 = $315 | $312;
+ $317 = $313 >>> $315;
+ $318 = $317 >>> 2;
+ $319 = $318 & 4;
+ $320 = $316 | $319;
+ $321 = $317 >>> $319;
+ $322 = $321 >>> 1;
+ $323 = $322 & 2;
+ $324 = $320 | $323;
+ $325 = $321 >>> $323;
+ $326 = $325 >>> 1;
+ $327 = $326 & 1;
+ $328 = $324 | $327;
+ $329 = $325 >>> $327;
+ $330 = (($328) + ($329))|0;
+ $331 = (71484 + ($330<<2)|0);
+ $332 = HEAP32[$331>>2]|0;
+ $t$4$ph$i = $332;
+ } else {
+ $t$4$ph$i = $t$2$i;
+ }
+ $333 = ($t$4$ph$i|0)==(0|0);
+ if ($333) {
+ $rsize$4$lcssa$i = $rsize$3$i;$v$4$lcssa$i = $v$3$i;
+ } else {
+ $rsize$412$i = $rsize$3$i;$t$411$i = $t$4$ph$i;$v$413$i = $v$3$i;
+ label = 90;
+ }
+ }
+ if ((label|0) == 90) {
+ while(1) {
+ label = 0;
+ $334 = ((($t$411$i)) + 4|0);
+ $335 = HEAP32[$334>>2]|0;
+ $336 = $335 & -8;
+ $337 = (($336) - ($248))|0;
+ $338 = ($337>>>0)<($rsize$412$i>>>0);
+ $$rsize$4$i = $338 ? $337 : $rsize$412$i;
+ $t$4$v$4$i = $338 ? $t$411$i : $v$413$i;
+ $339 = ((($t$411$i)) + 16|0);
+ $340 = HEAP32[$339>>2]|0;
+ $341 = ($340|0)==(0|0);
+ if (!($341)) {
+ $rsize$412$i = $$rsize$4$i;$t$411$i = $340;$v$413$i = $t$4$v$4$i;
+ label = 90;
+ continue;
+ }
+ $342 = ((($t$411$i)) + 20|0);
+ $343 = HEAP32[$342>>2]|0;
+ $344 = ($343|0)==(0|0);
+ if ($344) {
+ $rsize$4$lcssa$i = $$rsize$4$i;$v$4$lcssa$i = $t$4$v$4$i;
+ break;
+ } else {
+ $rsize$412$i = $$rsize$4$i;$t$411$i = $343;$v$413$i = $t$4$v$4$i;
+ label = 90;
+ }
+ }
+ }
+ $345 = ($v$4$lcssa$i|0)==(0|0);
+ if ($345) {
+ $nb$0 = $248;
+ } else {
+ $346 = HEAP32[(71188)>>2]|0;
+ $347 = (($346) - ($248))|0;
+ $348 = ($rsize$4$lcssa$i>>>0)<($347>>>0);
+ if ($348) {
+ $349 = HEAP32[(71196)>>2]|0;
+ $350 = ($v$4$lcssa$i>>>0)<($349>>>0);
+ if ($350) {
+ _abort();
+ // unreachable;
+ }
+ $351 = (($v$4$lcssa$i) + ($248)|0);
+ $352 = ($v$4$lcssa$i>>>0)<($351>>>0);
+ if (!($352)) {
+ _abort();
+ // unreachable;
+ }
+ $353 = ((($v$4$lcssa$i)) + 24|0);
+ $354 = HEAP32[$353>>2]|0;
+ $355 = ((($v$4$lcssa$i)) + 12|0);
+ $356 = HEAP32[$355>>2]|0;
+ $357 = ($356|0)==($v$4$lcssa$i|0);
+ do {
+ if ($357) {
+ $367 = ((($v$4$lcssa$i)) + 20|0);
+ $368 = HEAP32[$367>>2]|0;
+ $369 = ($368|0)==(0|0);
+ if ($369) {
+ $370 = ((($v$4$lcssa$i)) + 16|0);
+ $371 = HEAP32[$370>>2]|0;
+ $372 = ($371|0)==(0|0);
+ if ($372) {
+ $R$3$i11 = 0;
+ break;
+ } else {
+ $R$1$i9 = $371;$RP$1$i8 = $370;
+ }
+ } else {
+ $R$1$i9 = $368;$RP$1$i8 = $367;
+ }
+ while(1) {
+ $373 = ((($R$1$i9)) + 20|0);
+ $374 = HEAP32[$373>>2]|0;
+ $375 = ($374|0)==(0|0);
+ if (!($375)) {
+ $R$1$i9 = $374;$RP$1$i8 = $373;
+ continue;
+ }
+ $376 = ((($R$1$i9)) + 16|0);
+ $377 = HEAP32[$376>>2]|0;
+ $378 = ($377|0)==(0|0);
+ if ($378) {
+ $R$1$i9$lcssa = $R$1$i9;$RP$1$i8$lcssa = $RP$1$i8;
+ break;
+ } else {
+ $R$1$i9 = $377;$RP$1$i8 = $376;
+ }
+ }
+ $379 = ($RP$1$i8$lcssa>>>0)<($349>>>0);
+ if ($379) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP$1$i8$lcssa>>2] = 0;
+ $R$3$i11 = $R$1$i9$lcssa;
+ break;
+ }
+ } else {
+ $358 = ((($v$4$lcssa$i)) + 8|0);
+ $359 = HEAP32[$358>>2]|0;
+ $360 = ($359>>>0)<($349>>>0);
+ if ($360) {
+ _abort();
+ // unreachable;
+ }
+ $361 = ((($359)) + 12|0);
+ $362 = HEAP32[$361>>2]|0;
+ $363 = ($362|0)==($v$4$lcssa$i|0);
+ if (!($363)) {
+ _abort();
+ // unreachable;
+ }
+ $364 = ((($356)) + 8|0);
+ $365 = HEAP32[$364>>2]|0;
+ $366 = ($365|0)==($v$4$lcssa$i|0);
+ if ($366) {
+ HEAP32[$361>>2] = $356;
+ HEAP32[$364>>2] = $359;
+ $R$3$i11 = $356;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $380 = ($354|0)==(0|0);
+ do {
+ if (!($380)) {
+ $381 = ((($v$4$lcssa$i)) + 28|0);
+ $382 = HEAP32[$381>>2]|0;
+ $383 = (71484 + ($382<<2)|0);
+ $384 = HEAP32[$383>>2]|0;
+ $385 = ($v$4$lcssa$i|0)==($384|0);
+ if ($385) {
+ HEAP32[$383>>2] = $R$3$i11;
+ $cond$i12 = ($R$3$i11|0)==(0|0);
+ if ($cond$i12) {
+ $386 = 1 << $382;
+ $387 = $386 ^ -1;
+ $388 = HEAP32[(71184)>>2]|0;
+ $389 = $388 & $387;
+ HEAP32[(71184)>>2] = $389;
+ break;
+ }
+ } else {
+ $390 = HEAP32[(71196)>>2]|0;
+ $391 = ($354>>>0)<($390>>>0);
+ if ($391) {
+ _abort();
+ // unreachable;
+ }
+ $392 = ((($354)) + 16|0);
+ $393 = HEAP32[$392>>2]|0;
+ $394 = ($393|0)==($v$4$lcssa$i|0);
+ if ($394) {
+ HEAP32[$392>>2] = $R$3$i11;
+ } else {
+ $395 = ((($354)) + 20|0);
+ HEAP32[$395>>2] = $R$3$i11;
+ }
+ $396 = ($R$3$i11|0)==(0|0);
+ if ($396) {
+ break;
+ }
+ }
+ $397 = HEAP32[(71196)>>2]|0;
+ $398 = ($R$3$i11>>>0)<($397>>>0);
+ if ($398) {
+ _abort();
+ // unreachable;
+ }
+ $399 = ((($R$3$i11)) + 24|0);
+ HEAP32[$399>>2] = $354;
+ $400 = ((($v$4$lcssa$i)) + 16|0);
+ $401 = HEAP32[$400>>2]|0;
+ $402 = ($401|0)==(0|0);
+ do {
+ if (!($402)) {
+ $403 = ($401>>>0)<($397>>>0);
+ if ($403) {
+ _abort();
+ // unreachable;
+ } else {
+ $404 = ((($R$3$i11)) + 16|0);
+ HEAP32[$404>>2] = $401;
+ $405 = ((($401)) + 24|0);
+ HEAP32[$405>>2] = $R$3$i11;
+ break;
+ }
+ }
+ } while(0);
+ $406 = ((($v$4$lcssa$i)) + 20|0);
+ $407 = HEAP32[$406>>2]|0;
+ $408 = ($407|0)==(0|0);
+ if (!($408)) {
+ $409 = HEAP32[(71196)>>2]|0;
+ $410 = ($407>>>0)<($409>>>0);
+ if ($410) {
+ _abort();
+ // unreachable;
+ } else {
+ $411 = ((($R$3$i11)) + 20|0);
+ HEAP32[$411>>2] = $407;
+ $412 = ((($407)) + 24|0);
+ HEAP32[$412>>2] = $R$3$i11;
+ break;
+ }
+ }
+ }
+ } while(0);
+ $413 = ($rsize$4$lcssa$i>>>0)<(16);
+ do {
+ if ($413) {
+ $414 = (($rsize$4$lcssa$i) + ($248))|0;
+ $415 = $414 | 3;
+ $416 = ((($v$4$lcssa$i)) + 4|0);
+ HEAP32[$416>>2] = $415;
+ $417 = (($v$4$lcssa$i) + ($414)|0);
+ $418 = ((($417)) + 4|0);
+ $419 = HEAP32[$418>>2]|0;
+ $420 = $419 | 1;
+ HEAP32[$418>>2] = $420;
+ } else {
+ $421 = $248 | 3;
+ $422 = ((($v$4$lcssa$i)) + 4|0);
+ HEAP32[$422>>2] = $421;
+ $423 = $rsize$4$lcssa$i | 1;
+ $424 = ((($351)) + 4|0);
+ HEAP32[$424>>2] = $423;
+ $425 = (($351) + ($rsize$4$lcssa$i)|0);
+ HEAP32[$425>>2] = $rsize$4$lcssa$i;
+ $426 = $rsize$4$lcssa$i >>> 3;
+ $427 = ($rsize$4$lcssa$i>>>0)<(256);
+ if ($427) {
+ $428 = $426 << 1;
+ $429 = (71220 + ($428<<2)|0);
+ $430 = HEAP32[17795]|0;
+ $431 = 1 << $426;
+ $432 = $430 & $431;
+ $433 = ($432|0)==(0);
+ if ($433) {
+ $434 = $430 | $431;
+ HEAP32[17795] = $434;
+ $$pre$i13 = ((($429)) + 8|0);
+ $$pre$phi$i14Z2D = $$pre$i13;$F5$0$i = $429;
+ } else {
+ $435 = ((($429)) + 8|0);
+ $436 = HEAP32[$435>>2]|0;
+ $437 = HEAP32[(71196)>>2]|0;
+ $438 = ($436>>>0)<($437>>>0);
+ if ($438) {
+ _abort();
+ // unreachable;
+ } else {
+ $$pre$phi$i14Z2D = $435;$F5$0$i = $436;
+ }
+ }
+ HEAP32[$$pre$phi$i14Z2D>>2] = $351;
+ $439 = ((($F5$0$i)) + 12|0);
+ HEAP32[$439>>2] = $351;
+ $440 = ((($351)) + 8|0);
+ HEAP32[$440>>2] = $F5$0$i;
+ $441 = ((($351)) + 12|0);
+ HEAP32[$441>>2] = $429;
+ break;
+ }
+ $442 = $rsize$4$lcssa$i >>> 8;
+ $443 = ($442|0)==(0);
+ if ($443) {
+ $I7$0$i = 0;
+ } else {
+ $444 = ($rsize$4$lcssa$i>>>0)>(16777215);
+ if ($444) {
+ $I7$0$i = 31;
+ } else {
+ $445 = (($442) + 1048320)|0;
+ $446 = $445 >>> 16;
+ $447 = $446 & 8;
+ $448 = $442 << $447;
+ $449 = (($448) + 520192)|0;
+ $450 = $449 >>> 16;
+ $451 = $450 & 4;
+ $452 = $451 | $447;
+ $453 = $448 << $451;
+ $454 = (($453) + 245760)|0;
+ $455 = $454 >>> 16;
+ $456 = $455 & 2;
+ $457 = $452 | $456;
+ $458 = (14 - ($457))|0;
+ $459 = $453 << $456;
+ $460 = $459 >>> 15;
+ $461 = (($458) + ($460))|0;
+ $462 = $461 << 1;
+ $463 = (($461) + 7)|0;
+ $464 = $rsize$4$lcssa$i >>> $463;
+ $465 = $464 & 1;
+ $466 = $465 | $462;
+ $I7$0$i = $466;
+ }
+ }
+ $467 = (71484 + ($I7$0$i<<2)|0);
+ $468 = ((($351)) + 28|0);
+ HEAP32[$468>>2] = $I7$0$i;
+ $469 = ((($351)) + 16|0);
+ $470 = ((($469)) + 4|0);
+ HEAP32[$470>>2] = 0;
+ HEAP32[$469>>2] = 0;
+ $471 = HEAP32[(71184)>>2]|0;
+ $472 = 1 << $I7$0$i;
+ $473 = $471 & $472;
+ $474 = ($473|0)==(0);
+ if ($474) {
+ $475 = $471 | $472;
+ HEAP32[(71184)>>2] = $475;
+ HEAP32[$467>>2] = $351;
+ $476 = ((($351)) + 24|0);
+ HEAP32[$476>>2] = $467;
+ $477 = ((($351)) + 12|0);
+ HEAP32[$477>>2] = $351;
+ $478 = ((($351)) + 8|0);
+ HEAP32[$478>>2] = $351;
+ break;
+ }
+ $479 = HEAP32[$467>>2]|0;
+ $480 = ($I7$0$i|0)==(31);
+ $481 = $I7$0$i >>> 1;
+ $482 = (25 - ($481))|0;
+ $483 = $480 ? 0 : $482;
+ $484 = $rsize$4$lcssa$i << $483;
+ $K12$0$i = $484;$T$0$i = $479;
+ while(1) {
+ $485 = ((($T$0$i)) + 4|0);
+ $486 = HEAP32[$485>>2]|0;
+ $487 = $486 & -8;
+ $488 = ($487|0)==($rsize$4$lcssa$i|0);
+ if ($488) {
+ $T$0$i$lcssa = $T$0$i;
+ label = 148;
+ break;
+ }
+ $489 = $K12$0$i >>> 31;
+ $490 = (((($T$0$i)) + 16|0) + ($489<<2)|0);
+ $491 = $K12$0$i << 1;
+ $492 = HEAP32[$490>>2]|0;
+ $493 = ($492|0)==(0|0);
+ if ($493) {
+ $$lcssa157 = $490;$T$0$i$lcssa156 = $T$0$i;
+ label = 145;
+ break;
+ } else {
+ $K12$0$i = $491;$T$0$i = $492;
+ }
+ }
+ if ((label|0) == 145) {
+ $494 = HEAP32[(71196)>>2]|0;
+ $495 = ($$lcssa157>>>0)<($494>>>0);
+ if ($495) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$$lcssa157>>2] = $351;
+ $496 = ((($351)) + 24|0);
+ HEAP32[$496>>2] = $T$0$i$lcssa156;
+ $497 = ((($351)) + 12|0);
+ HEAP32[$497>>2] = $351;
+ $498 = ((($351)) + 8|0);
+ HEAP32[$498>>2] = $351;
+ break;
+ }
+ }
+ else if ((label|0) == 148) {
+ $499 = ((($T$0$i$lcssa)) + 8|0);
+ $500 = HEAP32[$499>>2]|0;
+ $501 = HEAP32[(71196)>>2]|0;
+ $502 = ($500>>>0)>=($501>>>0);
+ $not$7$i = ($T$0$i$lcssa>>>0)>=($501>>>0);
+ $503 = $502 & $not$7$i;
+ if ($503) {
+ $504 = ((($500)) + 12|0);
+ HEAP32[$504>>2] = $351;
+ HEAP32[$499>>2] = $351;
+ $505 = ((($351)) + 8|0);
+ HEAP32[$505>>2] = $500;
+ $506 = ((($351)) + 12|0);
+ HEAP32[$506>>2] = $T$0$i$lcssa;
+ $507 = ((($351)) + 24|0);
+ HEAP32[$507>>2] = 0;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ }
+ } while(0);
+ $508 = ((($v$4$lcssa$i)) + 8|0);
+ $$0 = $508;
+ return ($$0|0);
+ } else {
+ $nb$0 = $248;
+ }
+ }
+ }
+ }
+ }
+ } while(0);
+ $509 = HEAP32[(71188)>>2]|0;
+ $510 = ($509>>>0)<($nb$0>>>0);
+ if (!($510)) {
+ $511 = (($509) - ($nb$0))|0;
+ $512 = HEAP32[(71200)>>2]|0;
+ $513 = ($511>>>0)>(15);
+ if ($513) {
+ $514 = (($512) + ($nb$0)|0);
+ HEAP32[(71200)>>2] = $514;
+ HEAP32[(71188)>>2] = $511;
+ $515 = $511 | 1;
+ $516 = ((($514)) + 4|0);
+ HEAP32[$516>>2] = $515;
+ $517 = (($514) + ($511)|0);
+ HEAP32[$517>>2] = $511;
+ $518 = $nb$0 | 3;
+ $519 = ((($512)) + 4|0);
+ HEAP32[$519>>2] = $518;
+ } else {
+ HEAP32[(71188)>>2] = 0;
+ HEAP32[(71200)>>2] = 0;
+ $520 = $509 | 3;
+ $521 = ((($512)) + 4|0);
+ HEAP32[$521>>2] = $520;
+ $522 = (($512) + ($509)|0);
+ $523 = ((($522)) + 4|0);
+ $524 = HEAP32[$523>>2]|0;
+ $525 = $524 | 1;
+ HEAP32[$523>>2] = $525;
+ }
+ $526 = ((($512)) + 8|0);
+ $$0 = $526;
+ return ($$0|0);
+ }
+ $527 = HEAP32[(71192)>>2]|0;
+ $528 = ($527>>>0)>($nb$0>>>0);
+ if ($528) {
+ $529 = (($527) - ($nb$0))|0;
+ HEAP32[(71192)>>2] = $529;
+ $530 = HEAP32[(71204)>>2]|0;
+ $531 = (($530) + ($nb$0)|0);
+ HEAP32[(71204)>>2] = $531;
+ $532 = $529 | 1;
+ $533 = ((($531)) + 4|0);
+ HEAP32[$533>>2] = $532;
+ $534 = $nb$0 | 3;
+ $535 = ((($530)) + 4|0);
+ HEAP32[$535>>2] = $534;
+ $536 = ((($530)) + 8|0);
+ $$0 = $536;
+ return ($$0|0);
+ }
+ $537 = HEAP32[17913]|0;
+ $538 = ($537|0)==(0);
+ do {
+ if ($538) {
+ $539 = (_sysconf(30)|0);
+ $540 = (($539) + -1)|0;
+ $541 = $540 & $539;
+ $542 = ($541|0)==(0);
+ if ($542) {
+ HEAP32[(71660)>>2] = $539;
+ HEAP32[(71656)>>2] = $539;
+ HEAP32[(71664)>>2] = -1;
+ HEAP32[(71668)>>2] = -1;
+ HEAP32[(71672)>>2] = 0;
+ HEAP32[(71624)>>2] = 0;
+ $543 = (_time((0|0))|0);
+ $544 = $543 & -16;
+ $545 = $544 ^ 1431655768;
+ HEAP32[17913] = $545;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $546 = (($nb$0) + 48)|0;
+ $547 = HEAP32[(71660)>>2]|0;
+ $548 = (($nb$0) + 47)|0;
+ $549 = (($547) + ($548))|0;
+ $550 = (0 - ($547))|0;
+ $551 = $549 & $550;
+ $552 = ($551>>>0)>($nb$0>>>0);
+ if (!($552)) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ $553 = HEAP32[(71620)>>2]|0;
+ $554 = ($553|0)==(0);
+ if (!($554)) {
+ $555 = HEAP32[(71612)>>2]|0;
+ $556 = (($555) + ($551))|0;
+ $557 = ($556>>>0)<=($555>>>0);
+ $558 = ($556>>>0)>($553>>>0);
+ $or$cond1$i16 = $557 | $558;
+ if ($or$cond1$i16) {
+ $$0 = 0;
+ return ($$0|0);
+ }
+ }
+ $559 = HEAP32[(71624)>>2]|0;
+ $560 = $559 & 4;
+ $561 = ($560|0)==(0);
+ L257: do {
+ if ($561) {
+ $562 = HEAP32[(71204)>>2]|0;
+ $563 = ($562|0)==(0|0);
+ L259: do {
+ if ($563) {
+ label = 173;
+ } else {
+ $sp$0$i$i = (71628);
+ while(1) {
+ $564 = HEAP32[$sp$0$i$i>>2]|0;
+ $565 = ($564>>>0)>($562>>>0);
+ if (!($565)) {
+ $566 = ((($sp$0$i$i)) + 4|0);
+ $567 = HEAP32[$566>>2]|0;
+ $568 = (($564) + ($567)|0);
+ $569 = ($568>>>0)>($562>>>0);
+ if ($569) {
+ $$lcssa153 = $sp$0$i$i;$$lcssa155 = $566;
+ break;
+ }
+ }
+ $570 = ((($sp$0$i$i)) + 8|0);
+ $571 = HEAP32[$570>>2]|0;
+ $572 = ($571|0)==(0|0);
+ if ($572) {
+ label = 173;
+ break L259;
+ } else {
+ $sp$0$i$i = $571;
+ }
+ }
+ $595 = HEAP32[(71192)>>2]|0;
+ $596 = (($549) - ($595))|0;
+ $597 = $596 & $550;
+ $598 = ($597>>>0)<(2147483647);
+ if ($598) {
+ $599 = (_sbrk(($597|0))|0);
+ $600 = HEAP32[$$lcssa153>>2]|0;
+ $601 = HEAP32[$$lcssa155>>2]|0;
+ $602 = (($600) + ($601)|0);
+ $603 = ($599|0)==($602|0);
+ if ($603) {
+ $604 = ($599|0)==((-1)|0);
+ if (!($604)) {
+ $tbase$746$i = $599;$tsize$745$i = $597;
+ label = 193;
+ break L257;
+ }
+ } else {
+ $br$2$ph$i = $599;$ssize$2$ph$i = $597;
+ label = 183;
+ }
+ }
+ }
+ } while(0);
+ do {
+ if ((label|0) == 173) {
+ $573 = (_sbrk(0)|0);
+ $574 = ($573|0)==((-1)|0);
+ if (!($574)) {
+ $575 = $573;
+ $576 = HEAP32[(71656)>>2]|0;
+ $577 = (($576) + -1)|0;
+ $578 = $577 & $575;
+ $579 = ($578|0)==(0);
+ if ($579) {
+ $ssize$0$i = $551;
+ } else {
+ $580 = (($577) + ($575))|0;
+ $581 = (0 - ($576))|0;
+ $582 = $580 & $581;
+ $583 = (($551) - ($575))|0;
+ $584 = (($583) + ($582))|0;
+ $ssize$0$i = $584;
+ }
+ $585 = HEAP32[(71612)>>2]|0;
+ $586 = (($585) + ($ssize$0$i))|0;
+ $587 = ($ssize$0$i>>>0)>($nb$0>>>0);
+ $588 = ($ssize$0$i>>>0)<(2147483647);
+ $or$cond$i17 = $587 & $588;
+ if ($or$cond$i17) {
+ $589 = HEAP32[(71620)>>2]|0;
+ $590 = ($589|0)==(0);
+ if (!($590)) {
+ $591 = ($586>>>0)<=($585>>>0);
+ $592 = ($586>>>0)>($589>>>0);
+ $or$cond2$i = $591 | $592;
+ if ($or$cond2$i) {
+ break;
+ }
+ }
+ $593 = (_sbrk(($ssize$0$i|0))|0);
+ $594 = ($593|0)==($573|0);
+ if ($594) {
+ $tbase$746$i = $573;$tsize$745$i = $ssize$0$i;
+ label = 193;
+ break L257;
+ } else {
+ $br$2$ph$i = $593;$ssize$2$ph$i = $ssize$0$i;
+ label = 183;
+ }
+ }
+ }
+ }
+ } while(0);
+ L279: do {
+ if ((label|0) == 183) {
+ $605 = (0 - ($ssize$2$ph$i))|0;
+ $606 = ($br$2$ph$i|0)!=((-1)|0);
+ $607 = ($ssize$2$ph$i>>>0)<(2147483647);
+ $or$cond7$i = $607 & $606;
+ $608 = ($546>>>0)>($ssize$2$ph$i>>>0);
+ $or$cond8$i = $608 & $or$cond7$i;
+ do {
+ if ($or$cond8$i) {
+ $609 = HEAP32[(71660)>>2]|0;
+ $610 = (($548) - ($ssize$2$ph$i))|0;
+ $611 = (($610) + ($609))|0;
+ $612 = (0 - ($609))|0;
+ $613 = $611 & $612;
+ $614 = ($613>>>0)<(2147483647);
+ if ($614) {
+ $615 = (_sbrk(($613|0))|0);
+ $616 = ($615|0)==((-1)|0);
+ if ($616) {
+ (_sbrk(($605|0))|0);
+ break L279;
+ } else {
+ $617 = (($613) + ($ssize$2$ph$i))|0;
+ $ssize$5$i = $617;
+ break;
+ }
+ } else {
+ $ssize$5$i = $ssize$2$ph$i;
+ }
+ } else {
+ $ssize$5$i = $ssize$2$ph$i;
+ }
+ } while(0);
+ $618 = ($br$2$ph$i|0)==((-1)|0);
+ if (!($618)) {
+ $tbase$746$i = $br$2$ph$i;$tsize$745$i = $ssize$5$i;
+ label = 193;
+ break L257;
+ }
+ }
+ } while(0);
+ $619 = HEAP32[(71624)>>2]|0;
+ $620 = $619 | 4;
+ HEAP32[(71624)>>2] = $620;
+ label = 190;
+ } else {
+ label = 190;
+ }
+ } while(0);
+ if ((label|0) == 190) {
+ $621 = ($551>>>0)<(2147483647);
+ if ($621) {
+ $622 = (_sbrk(($551|0))|0);
+ $623 = (_sbrk(0)|0);
+ $624 = ($622|0)!=((-1)|0);
+ $625 = ($623|0)!=((-1)|0);
+ $or$cond5$i = $624 & $625;
+ $626 = ($622>>>0)<($623>>>0);
+ $or$cond10$i = $626 & $or$cond5$i;
+ if ($or$cond10$i) {
+ $627 = $623;
+ $628 = $622;
+ $629 = (($627) - ($628))|0;
+ $630 = (($nb$0) + 40)|0;
+ $$not$i = ($629>>>0)>($630>>>0);
+ if ($$not$i) {
+ $tbase$746$i = $622;$tsize$745$i = $629;
+ label = 193;
+ }
+ }
+ }
+ }
+ if ((label|0) == 193) {
+ $631 = HEAP32[(71612)>>2]|0;
+ $632 = (($631) + ($tsize$745$i))|0;
+ HEAP32[(71612)>>2] = $632;
+ $633 = HEAP32[(71616)>>2]|0;
+ $634 = ($632>>>0)>($633>>>0);
+ if ($634) {
+ HEAP32[(71616)>>2] = $632;
+ }
+ $635 = HEAP32[(71204)>>2]|0;
+ $636 = ($635|0)==(0|0);
+ do {
+ if ($636) {
+ $637 = HEAP32[(71196)>>2]|0;
+ $638 = ($637|0)==(0|0);
+ $639 = ($tbase$746$i>>>0)<($637>>>0);
+ $or$cond11$i = $638 | $639;
+ if ($or$cond11$i) {
+ HEAP32[(71196)>>2] = $tbase$746$i;
+ }
+ HEAP32[(71628)>>2] = $tbase$746$i;
+ HEAP32[(71632)>>2] = $tsize$745$i;
+ HEAP32[(71640)>>2] = 0;
+ $640 = HEAP32[17913]|0;
+ HEAP32[(71216)>>2] = $640;
+ HEAP32[(71212)>>2] = -1;
+ $i$01$i$i = 0;
+ while(1) {
+ $641 = $i$01$i$i << 1;
+ $642 = (71220 + ($641<<2)|0);
+ $643 = ((($642)) + 12|0);
+ HEAP32[$643>>2] = $642;
+ $644 = ((($642)) + 8|0);
+ HEAP32[$644>>2] = $642;
+ $645 = (($i$01$i$i) + 1)|0;
+ $exitcond$i$i = ($645|0)==(32);
+ if ($exitcond$i$i) {
+ break;
+ } else {
+ $i$01$i$i = $645;
+ }
+ }
+ $646 = (($tsize$745$i) + -40)|0;
+ $647 = ((($tbase$746$i)) + 8|0);
+ $648 = $647;
+ $649 = $648 & 7;
+ $650 = ($649|0)==(0);
+ $651 = (0 - ($648))|0;
+ $652 = $651 & 7;
+ $653 = $650 ? 0 : $652;
+ $654 = (($tbase$746$i) + ($653)|0);
+ $655 = (($646) - ($653))|0;
+ HEAP32[(71204)>>2] = $654;
+ HEAP32[(71192)>>2] = $655;
+ $656 = $655 | 1;
+ $657 = ((($654)) + 4|0);
+ HEAP32[$657>>2] = $656;
+ $658 = (($654) + ($655)|0);
+ $659 = ((($658)) + 4|0);
+ HEAP32[$659>>2] = 40;
+ $660 = HEAP32[(71668)>>2]|0;
+ HEAP32[(71208)>>2] = $660;
+ } else {
+ $sp$068$i = (71628);
+ while(1) {
+ $661 = HEAP32[$sp$068$i>>2]|0;
+ $662 = ((($sp$068$i)) + 4|0);
+ $663 = HEAP32[$662>>2]|0;
+ $664 = (($661) + ($663)|0);
+ $665 = ($tbase$746$i|0)==($664|0);
+ if ($665) {
+ $$lcssa147 = $661;$$lcssa149 = $662;$$lcssa151 = $663;$sp$068$i$lcssa = $sp$068$i;
+ label = 203;
+ break;
+ }
+ $666 = ((($sp$068$i)) + 8|0);
+ $667 = HEAP32[$666>>2]|0;
+ $668 = ($667|0)==(0|0);
+ if ($668) {
+ break;
+ } else {
+ $sp$068$i = $667;
+ }
+ }
+ if ((label|0) == 203) {
+ $669 = ((($sp$068$i$lcssa)) + 12|0);
+ $670 = HEAP32[$669>>2]|0;
+ $671 = $670 & 8;
+ $672 = ($671|0)==(0);
+ if ($672) {
+ $673 = ($635>>>0)>=($$lcssa147>>>0);
+ $674 = ($635>>>0)<($tbase$746$i>>>0);
+ $or$cond48$i = $674 & $673;
+ if ($or$cond48$i) {
+ $675 = (($$lcssa151) + ($tsize$745$i))|0;
+ HEAP32[$$lcssa149>>2] = $675;
+ $676 = HEAP32[(71192)>>2]|0;
+ $677 = ((($635)) + 8|0);
+ $678 = $677;
+ $679 = $678 & 7;
+ $680 = ($679|0)==(0);
+ $681 = (0 - ($678))|0;
+ $682 = $681 & 7;
+ $683 = $680 ? 0 : $682;
+ $684 = (($635) + ($683)|0);
+ $685 = (($tsize$745$i) - ($683))|0;
+ $686 = (($685) + ($676))|0;
+ HEAP32[(71204)>>2] = $684;
+ HEAP32[(71192)>>2] = $686;
+ $687 = $686 | 1;
+ $688 = ((($684)) + 4|0);
+ HEAP32[$688>>2] = $687;
+ $689 = (($684) + ($686)|0);
+ $690 = ((($689)) + 4|0);
+ HEAP32[$690>>2] = 40;
+ $691 = HEAP32[(71668)>>2]|0;
+ HEAP32[(71208)>>2] = $691;
+ break;
+ }
+ }
+ }
+ $692 = HEAP32[(71196)>>2]|0;
+ $693 = ($tbase$746$i>>>0)<($692>>>0);
+ if ($693) {
+ HEAP32[(71196)>>2] = $tbase$746$i;
+ $757 = $tbase$746$i;
+ } else {
+ $757 = $692;
+ }
+ $694 = (($tbase$746$i) + ($tsize$745$i)|0);
+ $sp$167$i = (71628);
+ while(1) {
+ $695 = HEAP32[$sp$167$i>>2]|0;
+ $696 = ($695|0)==($694|0);
+ if ($696) {
+ $$lcssa144 = $sp$167$i;$sp$167$i$lcssa = $sp$167$i;
+ label = 211;
+ break;
+ }
+ $697 = ((($sp$167$i)) + 8|0);
+ $698 = HEAP32[$697>>2]|0;
+ $699 = ($698|0)==(0|0);
+ if ($699) {
+ $sp$0$i$i$i = (71628);
+ break;
+ } else {
+ $sp$167$i = $698;
+ }
+ }
+ if ((label|0) == 211) {
+ $700 = ((($sp$167$i$lcssa)) + 12|0);
+ $701 = HEAP32[$700>>2]|0;
+ $702 = $701 & 8;
+ $703 = ($702|0)==(0);
+ if ($703) {
+ HEAP32[$$lcssa144>>2] = $tbase$746$i;
+ $704 = ((($sp$167$i$lcssa)) + 4|0);
+ $705 = HEAP32[$704>>2]|0;
+ $706 = (($705) + ($tsize$745$i))|0;
+ HEAP32[$704>>2] = $706;
+ $707 = ((($tbase$746$i)) + 8|0);
+ $708 = $707;
+ $709 = $708 & 7;
+ $710 = ($709|0)==(0);
+ $711 = (0 - ($708))|0;
+ $712 = $711 & 7;
+ $713 = $710 ? 0 : $712;
+ $714 = (($tbase$746$i) + ($713)|0);
+ $715 = ((($694)) + 8|0);
+ $716 = $715;
+ $717 = $716 & 7;
+ $718 = ($717|0)==(0);
+ $719 = (0 - ($716))|0;
+ $720 = $719 & 7;
+ $721 = $718 ? 0 : $720;
+ $722 = (($694) + ($721)|0);
+ $723 = $722;
+ $724 = $714;
+ $725 = (($723) - ($724))|0;
+ $726 = (($714) + ($nb$0)|0);
+ $727 = (($725) - ($nb$0))|0;
+ $728 = $nb$0 | 3;
+ $729 = ((($714)) + 4|0);
+ HEAP32[$729>>2] = $728;
+ $730 = ($722|0)==($635|0);
+ do {
+ if ($730) {
+ $731 = HEAP32[(71192)>>2]|0;
+ $732 = (($731) + ($727))|0;
+ HEAP32[(71192)>>2] = $732;
+ HEAP32[(71204)>>2] = $726;
+ $733 = $732 | 1;
+ $734 = ((($726)) + 4|0);
+ HEAP32[$734>>2] = $733;
+ } else {
+ $735 = HEAP32[(71200)>>2]|0;
+ $736 = ($722|0)==($735|0);
+ if ($736) {
+ $737 = HEAP32[(71188)>>2]|0;
+ $738 = (($737) + ($727))|0;
+ HEAP32[(71188)>>2] = $738;
+ HEAP32[(71200)>>2] = $726;
+ $739 = $738 | 1;
+ $740 = ((($726)) + 4|0);
+ HEAP32[$740>>2] = $739;
+ $741 = (($726) + ($738)|0);
+ HEAP32[$741>>2] = $738;
+ break;
+ }
+ $742 = ((($722)) + 4|0);
+ $743 = HEAP32[$742>>2]|0;
+ $744 = $743 & 3;
+ $745 = ($744|0)==(1);
+ if ($745) {
+ $746 = $743 & -8;
+ $747 = $743 >>> 3;
+ $748 = ($743>>>0)<(256);
+ L331: do {
+ if ($748) {
+ $749 = ((($722)) + 8|0);
+ $750 = HEAP32[$749>>2]|0;
+ $751 = ((($722)) + 12|0);
+ $752 = HEAP32[$751>>2]|0;
+ $753 = $747 << 1;
+ $754 = (71220 + ($753<<2)|0);
+ $755 = ($750|0)==($754|0);
+ do {
+ if (!($755)) {
+ $756 = ($750>>>0)<($757>>>0);
+ if ($756) {
+ _abort();
+ // unreachable;
+ }
+ $758 = ((($750)) + 12|0);
+ $759 = HEAP32[$758>>2]|0;
+ $760 = ($759|0)==($722|0);
+ if ($760) {
+ break;
+ }
+ _abort();
+ // unreachable;
+ }
+ } while(0);
+ $761 = ($752|0)==($750|0);
+ if ($761) {
+ $762 = 1 << $747;
+ $763 = $762 ^ -1;
+ $764 = HEAP32[17795]|0;
+ $765 = $764 & $763;
+ HEAP32[17795] = $765;
+ break;
+ }
+ $766 = ($752|0)==($754|0);
+ do {
+ if ($766) {
+ $$pre9$i$i = ((($752)) + 8|0);
+ $$pre$phi10$i$iZ2D = $$pre9$i$i;
+ } else {
+ $767 = ($752>>>0)<($757>>>0);
+ if ($767) {
+ _abort();
+ // unreachable;
+ }
+ $768 = ((($752)) + 8|0);
+ $769 = HEAP32[$768>>2]|0;
+ $770 = ($769|0)==($722|0);
+ if ($770) {
+ $$pre$phi10$i$iZ2D = $768;
+ break;
+ }
+ _abort();
+ // unreachable;
+ }
+ } while(0);
+ $771 = ((($750)) + 12|0);
+ HEAP32[$771>>2] = $752;
+ HEAP32[$$pre$phi10$i$iZ2D>>2] = $750;
+ } else {
+ $772 = ((($722)) + 24|0);
+ $773 = HEAP32[$772>>2]|0;
+ $774 = ((($722)) + 12|0);
+ $775 = HEAP32[$774>>2]|0;
+ $776 = ($775|0)==($722|0);
+ do {
+ if ($776) {
+ $786 = ((($722)) + 16|0);
+ $787 = ((($786)) + 4|0);
+ $788 = HEAP32[$787>>2]|0;
+ $789 = ($788|0)==(0|0);
+ if ($789) {
+ $790 = HEAP32[$786>>2]|0;
+ $791 = ($790|0)==(0|0);
+ if ($791) {
+ $R$3$i$i = 0;
+ break;
+ } else {
+ $R$1$i$i = $790;$RP$1$i$i = $786;
+ }
+ } else {
+ $R$1$i$i = $788;$RP$1$i$i = $787;
+ }
+ while(1) {
+ $792 = ((($R$1$i$i)) + 20|0);
+ $793 = HEAP32[$792>>2]|0;
+ $794 = ($793|0)==(0|0);
+ if (!($794)) {
+ $R$1$i$i = $793;$RP$1$i$i = $792;
+ continue;
+ }
+ $795 = ((($R$1$i$i)) + 16|0);
+ $796 = HEAP32[$795>>2]|0;
+ $797 = ($796|0)==(0|0);
+ if ($797) {
+ $R$1$i$i$lcssa = $R$1$i$i;$RP$1$i$i$lcssa = $RP$1$i$i;
+ break;
+ } else {
+ $R$1$i$i = $796;$RP$1$i$i = $795;
+ }
+ }
+ $798 = ($RP$1$i$i$lcssa>>>0)<($757>>>0);
+ if ($798) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP$1$i$i$lcssa>>2] = 0;
+ $R$3$i$i = $R$1$i$i$lcssa;
+ break;
+ }
+ } else {
+ $777 = ((($722)) + 8|0);
+ $778 = HEAP32[$777>>2]|0;
+ $779 = ($778>>>0)<($757>>>0);
+ if ($779) {
+ _abort();
+ // unreachable;
+ }
+ $780 = ((($778)) + 12|0);
+ $781 = HEAP32[$780>>2]|0;
+ $782 = ($781|0)==($722|0);
+ if (!($782)) {
+ _abort();
+ // unreachable;
+ }
+ $783 = ((($775)) + 8|0);
+ $784 = HEAP32[$783>>2]|0;
+ $785 = ($784|0)==($722|0);
+ if ($785) {
+ HEAP32[$780>>2] = $775;
+ HEAP32[$783>>2] = $778;
+ $R$3$i$i = $775;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $799 = ($773|0)==(0|0);
+ if ($799) {
+ break;
+ }
+ $800 = ((($722)) + 28|0);
+ $801 = HEAP32[$800>>2]|0;
+ $802 = (71484 + ($801<<2)|0);
+ $803 = HEAP32[$802>>2]|0;
+ $804 = ($722|0)==($803|0);
+ do {
+ if ($804) {
+ HEAP32[$802>>2] = $R$3$i$i;
+ $cond$i$i = ($R$3$i$i|0)==(0|0);
+ if (!($cond$i$i)) {
+ break;
+ }
+ $805 = 1 << $801;
+ $806 = $805 ^ -1;
+ $807 = HEAP32[(71184)>>2]|0;
+ $808 = $807 & $806;
+ HEAP32[(71184)>>2] = $808;
+ break L331;
+ } else {
+ $809 = HEAP32[(71196)>>2]|0;
+ $810 = ($773>>>0)<($809>>>0);
+ if ($810) {
+ _abort();
+ // unreachable;
+ }
+ $811 = ((($773)) + 16|0);
+ $812 = HEAP32[$811>>2]|0;
+ $813 = ($812|0)==($722|0);
+ if ($813) {
+ HEAP32[$811>>2] = $R$3$i$i;
+ } else {
+ $814 = ((($773)) + 20|0);
+ HEAP32[$814>>2] = $R$3$i$i;
+ }
+ $815 = ($R$3$i$i|0)==(0|0);
+ if ($815) {
+ break L331;
+ }
+ }
+ } while(0);
+ $816 = HEAP32[(71196)>>2]|0;
+ $817 = ($R$3$i$i>>>0)<($816>>>0);
+ if ($817) {
+ _abort();
+ // unreachable;
+ }
+ $818 = ((($R$3$i$i)) + 24|0);
+ HEAP32[$818>>2] = $773;
+ $819 = ((($722)) + 16|0);
+ $820 = HEAP32[$819>>2]|0;
+ $821 = ($820|0)==(0|0);
+ do {
+ if (!($821)) {
+ $822 = ($820>>>0)<($816>>>0);
+ if ($822) {
+ _abort();
+ // unreachable;
+ } else {
+ $823 = ((($R$3$i$i)) + 16|0);
+ HEAP32[$823>>2] = $820;
+ $824 = ((($820)) + 24|0);
+ HEAP32[$824>>2] = $R$3$i$i;
+ break;
+ }
+ }
+ } while(0);
+ $825 = ((($819)) + 4|0);
+ $826 = HEAP32[$825>>2]|0;
+ $827 = ($826|0)==(0|0);
+ if ($827) {
+ break;
+ }
+ $828 = HEAP32[(71196)>>2]|0;
+ $829 = ($826>>>0)<($828>>>0);
+ if ($829) {
+ _abort();
+ // unreachable;
+ } else {
+ $830 = ((($R$3$i$i)) + 20|0);
+ HEAP32[$830>>2] = $826;
+ $831 = ((($826)) + 24|0);
+ HEAP32[$831>>2] = $R$3$i$i;
+ break;
+ }
+ }
+ } while(0);
+ $832 = (($722) + ($746)|0);
+ $833 = (($746) + ($727))|0;
+ $oldfirst$0$i$i = $832;$qsize$0$i$i = $833;
+ } else {
+ $oldfirst$0$i$i = $722;$qsize$0$i$i = $727;
+ }
+ $834 = ((($oldfirst$0$i$i)) + 4|0);
+ $835 = HEAP32[$834>>2]|0;
+ $836 = $835 & -2;
+ HEAP32[$834>>2] = $836;
+ $837 = $qsize$0$i$i | 1;
+ $838 = ((($726)) + 4|0);
+ HEAP32[$838>>2] = $837;
+ $839 = (($726) + ($qsize$0$i$i)|0);
+ HEAP32[$839>>2] = $qsize$0$i$i;
+ $840 = $qsize$0$i$i >>> 3;
+ $841 = ($qsize$0$i$i>>>0)<(256);
+ if ($841) {
+ $842 = $840 << 1;
+ $843 = (71220 + ($842<<2)|0);
+ $844 = HEAP32[17795]|0;
+ $845 = 1 << $840;
+ $846 = $844 & $845;
+ $847 = ($846|0)==(0);
+ do {
+ if ($847) {
+ $848 = $844 | $845;
+ HEAP32[17795] = $848;
+ $$pre$i16$i = ((($843)) + 8|0);
+ $$pre$phi$i17$iZ2D = $$pre$i16$i;$F4$0$i$i = $843;
+ } else {
+ $849 = ((($843)) + 8|0);
+ $850 = HEAP32[$849>>2]|0;
+ $851 = HEAP32[(71196)>>2]|0;
+ $852 = ($850>>>0)<($851>>>0);
+ if (!($852)) {
+ $$pre$phi$i17$iZ2D = $849;$F4$0$i$i = $850;
+ break;
+ }
+ _abort();
+ // unreachable;
+ }
+ } while(0);
+ HEAP32[$$pre$phi$i17$iZ2D>>2] = $726;
+ $853 = ((($F4$0$i$i)) + 12|0);
+ HEAP32[$853>>2] = $726;
+ $854 = ((($726)) + 8|0);
+ HEAP32[$854>>2] = $F4$0$i$i;
+ $855 = ((($726)) + 12|0);
+ HEAP32[$855>>2] = $843;
+ break;
+ }
+ $856 = $qsize$0$i$i >>> 8;
+ $857 = ($856|0)==(0);
+ do {
+ if ($857) {
+ $I7$0$i$i = 0;
+ } else {
+ $858 = ($qsize$0$i$i>>>0)>(16777215);
+ if ($858) {
+ $I7$0$i$i = 31;
+ break;
+ }
+ $859 = (($856) + 1048320)|0;
+ $860 = $859 >>> 16;
+ $861 = $860 & 8;
+ $862 = $856 << $861;
+ $863 = (($862) + 520192)|0;
+ $864 = $863 >>> 16;
+ $865 = $864 & 4;
+ $866 = $865 | $861;
+ $867 = $862 << $865;
+ $868 = (($867) + 245760)|0;
+ $869 = $868 >>> 16;
+ $870 = $869 & 2;
+ $871 = $866 | $870;
+ $872 = (14 - ($871))|0;
+ $873 = $867 << $870;
+ $874 = $873 >>> 15;
+ $875 = (($872) + ($874))|0;
+ $876 = $875 << 1;
+ $877 = (($875) + 7)|0;
+ $878 = $qsize$0$i$i >>> $877;
+ $879 = $878 & 1;
+ $880 = $879 | $876;
+ $I7$0$i$i = $880;
+ }
+ } while(0);
+ $881 = (71484 + ($I7$0$i$i<<2)|0);
+ $882 = ((($726)) + 28|0);
+ HEAP32[$882>>2] = $I7$0$i$i;
+ $883 = ((($726)) + 16|0);
+ $884 = ((($883)) + 4|0);
+ HEAP32[$884>>2] = 0;
+ HEAP32[$883>>2] = 0;
+ $885 = HEAP32[(71184)>>2]|0;
+ $886 = 1 << $I7$0$i$i;
+ $887 = $885 & $886;
+ $888 = ($887|0)==(0);
+ if ($888) {
+ $889 = $885 | $886;
+ HEAP32[(71184)>>2] = $889;
+ HEAP32[$881>>2] = $726;
+ $890 = ((($726)) + 24|0);
+ HEAP32[$890>>2] = $881;
+ $891 = ((($726)) + 12|0);
+ HEAP32[$891>>2] = $726;
+ $892 = ((($726)) + 8|0);
+ HEAP32[$892>>2] = $726;
+ break;
+ }
+ $893 = HEAP32[$881>>2]|0;
+ $894 = ($I7$0$i$i|0)==(31);
+ $895 = $I7$0$i$i >>> 1;
+ $896 = (25 - ($895))|0;
+ $897 = $894 ? 0 : $896;
+ $898 = $qsize$0$i$i << $897;
+ $K8$0$i$i = $898;$T$0$i18$i = $893;
+ while(1) {
+ $899 = ((($T$0$i18$i)) + 4|0);
+ $900 = HEAP32[$899>>2]|0;
+ $901 = $900 & -8;
+ $902 = ($901|0)==($qsize$0$i$i|0);
+ if ($902) {
+ $T$0$i18$i$lcssa = $T$0$i18$i;
+ label = 281;
+ break;
+ }
+ $903 = $K8$0$i$i >>> 31;
+ $904 = (((($T$0$i18$i)) + 16|0) + ($903<<2)|0);
+ $905 = $K8$0$i$i << 1;
+ $906 = HEAP32[$904>>2]|0;
+ $907 = ($906|0)==(0|0);
+ if ($907) {
+ $$lcssa = $904;$T$0$i18$i$lcssa139 = $T$0$i18$i;
+ label = 278;
+ break;
+ } else {
+ $K8$0$i$i = $905;$T$0$i18$i = $906;
+ }
+ }
+ if ((label|0) == 278) {
+ $908 = HEAP32[(71196)>>2]|0;
+ $909 = ($$lcssa>>>0)<($908>>>0);
+ if ($909) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$$lcssa>>2] = $726;
+ $910 = ((($726)) + 24|0);
+ HEAP32[$910>>2] = $T$0$i18$i$lcssa139;
+ $911 = ((($726)) + 12|0);
+ HEAP32[$911>>2] = $726;
+ $912 = ((($726)) + 8|0);
+ HEAP32[$912>>2] = $726;
+ break;
+ }
+ }
+ else if ((label|0) == 281) {
+ $913 = ((($T$0$i18$i$lcssa)) + 8|0);
+ $914 = HEAP32[$913>>2]|0;
+ $915 = HEAP32[(71196)>>2]|0;
+ $916 = ($914>>>0)>=($915>>>0);
+ $not$$i20$i = ($T$0$i18$i$lcssa>>>0)>=($915>>>0);
+ $917 = $916 & $not$$i20$i;
+ if ($917) {
+ $918 = ((($914)) + 12|0);
+ HEAP32[$918>>2] = $726;
+ HEAP32[$913>>2] = $726;
+ $919 = ((($726)) + 8|0);
+ HEAP32[$919>>2] = $914;
+ $920 = ((($726)) + 12|0);
+ HEAP32[$920>>2] = $T$0$i18$i$lcssa;
+ $921 = ((($726)) + 24|0);
+ HEAP32[$921>>2] = 0;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ }
+ } while(0);
+ $1052 = ((($714)) + 8|0);
+ $$0 = $1052;
+ return ($$0|0);
+ } else {
+ $sp$0$i$i$i = (71628);
+ }
+ }
+ while(1) {
+ $922 = HEAP32[$sp$0$i$i$i>>2]|0;
+ $923 = ($922>>>0)>($635>>>0);
+ if (!($923)) {
+ $924 = ((($sp$0$i$i$i)) + 4|0);
+ $925 = HEAP32[$924>>2]|0;
+ $926 = (($922) + ($925)|0);
+ $927 = ($926>>>0)>($635>>>0);
+ if ($927) {
+ $$lcssa142 = $926;
+ break;
+ }
+ }
+ $928 = ((($sp$0$i$i$i)) + 8|0);
+ $929 = HEAP32[$928>>2]|0;
+ $sp$0$i$i$i = $929;
+ }
+ $930 = ((($$lcssa142)) + -47|0);
+ $931 = ((($930)) + 8|0);
+ $932 = $931;
+ $933 = $932 & 7;
+ $934 = ($933|0)==(0);
+ $935 = (0 - ($932))|0;
+ $936 = $935 & 7;
+ $937 = $934 ? 0 : $936;
+ $938 = (($930) + ($937)|0);
+ $939 = ((($635)) + 16|0);
+ $940 = ($938>>>0)<($939>>>0);
+ $941 = $940 ? $635 : $938;
+ $942 = ((($941)) + 8|0);
+ $943 = ((($941)) + 24|0);
+ $944 = (($tsize$745$i) + -40)|0;
+ $945 = ((($tbase$746$i)) + 8|0);
+ $946 = $945;
+ $947 = $946 & 7;
+ $948 = ($947|0)==(0);
+ $949 = (0 - ($946))|0;
+ $950 = $949 & 7;
+ $951 = $948 ? 0 : $950;
+ $952 = (($tbase$746$i) + ($951)|0);
+ $953 = (($944) - ($951))|0;
+ HEAP32[(71204)>>2] = $952;
+ HEAP32[(71192)>>2] = $953;
+ $954 = $953 | 1;
+ $955 = ((($952)) + 4|0);
+ HEAP32[$955>>2] = $954;
+ $956 = (($952) + ($953)|0);
+ $957 = ((($956)) + 4|0);
+ HEAP32[$957>>2] = 40;
+ $958 = HEAP32[(71668)>>2]|0;
+ HEAP32[(71208)>>2] = $958;
+ $959 = ((($941)) + 4|0);
+ HEAP32[$959>>2] = 27;
+ ;HEAP32[$942>>2]=HEAP32[(71628)>>2]|0;HEAP32[$942+4>>2]=HEAP32[(71628)+4>>2]|0;HEAP32[$942+8>>2]=HEAP32[(71628)+8>>2]|0;HEAP32[$942+12>>2]=HEAP32[(71628)+12>>2]|0;
+ HEAP32[(71628)>>2] = $tbase$746$i;
+ HEAP32[(71632)>>2] = $tsize$745$i;
+ HEAP32[(71640)>>2] = 0;
+ HEAP32[(71636)>>2] = $942;
+ $p$0$i$i = $943;
+ while(1) {
+ $960 = ((($p$0$i$i)) + 4|0);
+ HEAP32[$960>>2] = 7;
+ $961 = ((($960)) + 4|0);
+ $962 = ($961>>>0)<($$lcssa142>>>0);
+ if ($962) {
+ $p$0$i$i = $960;
+ } else {
+ break;
+ }
+ }
+ $963 = ($941|0)==($635|0);
+ if (!($963)) {
+ $964 = $941;
+ $965 = $635;
+ $966 = (($964) - ($965))|0;
+ $967 = HEAP32[$959>>2]|0;
+ $968 = $967 & -2;
+ HEAP32[$959>>2] = $968;
+ $969 = $966 | 1;
+ $970 = ((($635)) + 4|0);
+ HEAP32[$970>>2] = $969;
+ HEAP32[$941>>2] = $966;
+ $971 = $966 >>> 3;
+ $972 = ($966>>>0)<(256);
+ if ($972) {
+ $973 = $971 << 1;
+ $974 = (71220 + ($973<<2)|0);
+ $975 = HEAP32[17795]|0;
+ $976 = 1 << $971;
+ $977 = $975 & $976;
+ $978 = ($977|0)==(0);
+ if ($978) {
+ $979 = $975 | $976;
+ HEAP32[17795] = $979;
+ $$pre$i$i = ((($974)) + 8|0);
+ $$pre$phi$i$iZ2D = $$pre$i$i;$F$0$i$i = $974;
+ } else {
+ $980 = ((($974)) + 8|0);
+ $981 = HEAP32[$980>>2]|0;
+ $982 = HEAP32[(71196)>>2]|0;
+ $983 = ($981>>>0)<($982>>>0);
+ if ($983) {
+ _abort();
+ // unreachable;
+ } else {
+ $$pre$phi$i$iZ2D = $980;$F$0$i$i = $981;
+ }
+ }
+ HEAP32[$$pre$phi$i$iZ2D>>2] = $635;
+ $984 = ((($F$0$i$i)) + 12|0);
+ HEAP32[$984>>2] = $635;
+ $985 = ((($635)) + 8|0);
+ HEAP32[$985>>2] = $F$0$i$i;
+ $986 = ((($635)) + 12|0);
+ HEAP32[$986>>2] = $974;
+ break;
+ }
+ $987 = $966 >>> 8;
+ $988 = ($987|0)==(0);
+ if ($988) {
+ $I1$0$i$i = 0;
+ } else {
+ $989 = ($966>>>0)>(16777215);
+ if ($989) {
+ $I1$0$i$i = 31;
+ } else {
+ $990 = (($987) + 1048320)|0;
+ $991 = $990 >>> 16;
+ $992 = $991 & 8;
+ $993 = $987 << $992;
+ $994 = (($993) + 520192)|0;
+ $995 = $994 >>> 16;
+ $996 = $995 & 4;
+ $997 = $996 | $992;
+ $998 = $993 << $996;
+ $999 = (($998) + 245760)|0;
+ $1000 = $999 >>> 16;
+ $1001 = $1000 & 2;
+ $1002 = $997 | $1001;
+ $1003 = (14 - ($1002))|0;
+ $1004 = $998 << $1001;
+ $1005 = $1004 >>> 15;
+ $1006 = (($1003) + ($1005))|0;
+ $1007 = $1006 << 1;
+ $1008 = (($1006) + 7)|0;
+ $1009 = $966 >>> $1008;
+ $1010 = $1009 & 1;
+ $1011 = $1010 | $1007;
+ $I1$0$i$i = $1011;
+ }
+ }
+ $1012 = (71484 + ($I1$0$i$i<<2)|0);
+ $1013 = ((($635)) + 28|0);
+ HEAP32[$1013>>2] = $I1$0$i$i;
+ $1014 = ((($635)) + 20|0);
+ HEAP32[$1014>>2] = 0;
+ HEAP32[$939>>2] = 0;
+ $1015 = HEAP32[(71184)>>2]|0;
+ $1016 = 1 << $I1$0$i$i;
+ $1017 = $1015 & $1016;
+ $1018 = ($1017|0)==(0);
+ if ($1018) {
+ $1019 = $1015 | $1016;
+ HEAP32[(71184)>>2] = $1019;
+ HEAP32[$1012>>2] = $635;
+ $1020 = ((($635)) + 24|0);
+ HEAP32[$1020>>2] = $1012;
+ $1021 = ((($635)) + 12|0);
+ HEAP32[$1021>>2] = $635;
+ $1022 = ((($635)) + 8|0);
+ HEAP32[$1022>>2] = $635;
+ break;
+ }
+ $1023 = HEAP32[$1012>>2]|0;
+ $1024 = ($I1$0$i$i|0)==(31);
+ $1025 = $I1$0$i$i >>> 1;
+ $1026 = (25 - ($1025))|0;
+ $1027 = $1024 ? 0 : $1026;
+ $1028 = $966 << $1027;
+ $K2$0$i$i = $1028;$T$0$i$i = $1023;
+ while(1) {
+ $1029 = ((($T$0$i$i)) + 4|0);
+ $1030 = HEAP32[$1029>>2]|0;
+ $1031 = $1030 & -8;
+ $1032 = ($1031|0)==($966|0);
+ if ($1032) {
+ $T$0$i$i$lcssa = $T$0$i$i;
+ label = 307;
+ break;
+ }
+ $1033 = $K2$0$i$i >>> 31;
+ $1034 = (((($T$0$i$i)) + 16|0) + ($1033<<2)|0);
+ $1035 = $K2$0$i$i << 1;
+ $1036 = HEAP32[$1034>>2]|0;
+ $1037 = ($1036|0)==(0|0);
+ if ($1037) {
+ $$lcssa141 = $1034;$T$0$i$i$lcssa140 = $T$0$i$i;
+ label = 304;
+ break;
+ } else {
+ $K2$0$i$i = $1035;$T$0$i$i = $1036;
+ }
+ }
+ if ((label|0) == 304) {
+ $1038 = HEAP32[(71196)>>2]|0;
+ $1039 = ($$lcssa141>>>0)<($1038>>>0);
+ if ($1039) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$$lcssa141>>2] = $635;
+ $1040 = ((($635)) + 24|0);
+ HEAP32[$1040>>2] = $T$0$i$i$lcssa140;
+ $1041 = ((($635)) + 12|0);
+ HEAP32[$1041>>2] = $635;
+ $1042 = ((($635)) + 8|0);
+ HEAP32[$1042>>2] = $635;
+ break;
+ }
+ }
+ else if ((label|0) == 307) {
+ $1043 = ((($T$0$i$i$lcssa)) + 8|0);
+ $1044 = HEAP32[$1043>>2]|0;
+ $1045 = HEAP32[(71196)>>2]|0;
+ $1046 = ($1044>>>0)>=($1045>>>0);
+ $not$$i$i = ($T$0$i$i$lcssa>>>0)>=($1045>>>0);
+ $1047 = $1046 & $not$$i$i;
+ if ($1047) {
+ $1048 = ((($1044)) + 12|0);
+ HEAP32[$1048>>2] = $635;
+ HEAP32[$1043>>2] = $635;
+ $1049 = ((($635)) + 8|0);
+ HEAP32[$1049>>2] = $1044;
+ $1050 = ((($635)) + 12|0);
+ HEAP32[$1050>>2] = $T$0$i$i$lcssa;
+ $1051 = ((($635)) + 24|0);
+ HEAP32[$1051>>2] = 0;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ }
+ }
+ } while(0);
+ $1053 = HEAP32[(71192)>>2]|0;
+ $1054 = ($1053>>>0)>($nb$0>>>0);
+ if ($1054) {
+ $1055 = (($1053) - ($nb$0))|0;
+ HEAP32[(71192)>>2] = $1055;
+ $1056 = HEAP32[(71204)>>2]|0;
+ $1057 = (($1056) + ($nb$0)|0);
+ HEAP32[(71204)>>2] = $1057;
+ $1058 = $1055 | 1;
+ $1059 = ((($1057)) + 4|0);
+ HEAP32[$1059>>2] = $1058;
+ $1060 = $nb$0 | 3;
+ $1061 = ((($1056)) + 4|0);
+ HEAP32[$1061>>2] = $1060;
+ $1062 = ((($1056)) + 8|0);
+ $$0 = $1062;
+ return ($$0|0);
+ }
+ }
+ $1063 = (___errno_location()|0);
+ HEAP32[$1063>>2] = 12;
+ $$0 = 0;
+ return ($$0|0);
+}
+function _free($mem) {
+ $mem = $mem|0;
+ var $$lcssa = 0, $$pre = 0, $$pre$phi41Z2D = 0, $$pre$phi43Z2D = 0, $$pre$phiZ2D = 0, $$pre40 = 0, $$pre42 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0;
+ var $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0;
+ var $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0;
+ var $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0;
+ var $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0;
+ var $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0;
+ var $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0;
+ var $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0;
+ var $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0;
+ var $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0;
+ var $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0;
+ var $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0;
+ var $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
+ var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
+ var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
+ var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
+ var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F18$0 = 0, $I20$0 = 0, $K21$0 = 0, $R$1 = 0, $R$1$lcssa = 0, $R$3 = 0, $R8$1 = 0, $R8$1$lcssa = 0, $R8$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $RP10$1 = 0, $RP10$1$lcssa = 0;
+ var $T$0 = 0, $T$0$lcssa = 0, $T$0$lcssa48 = 0, $cond20 = 0, $cond21 = 0, $not$ = 0, $p$1 = 0, $psize$1 = 0, $psize$2 = 0, $sp$0$i = 0, $sp$0$in$i = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($mem|0)==(0|0);
+ if ($0) {
+ return;
+ }
+ $1 = ((($mem)) + -8|0);
+ $2 = HEAP32[(71196)>>2]|0;
+ $3 = ($1>>>0)<($2>>>0);
+ if ($3) {
+ _abort();
+ // unreachable;
+ }
+ $4 = ((($mem)) + -4|0);
+ $5 = HEAP32[$4>>2]|0;
+ $6 = $5 & 3;
+ $7 = ($6|0)==(1);
+ if ($7) {
+ _abort();
+ // unreachable;
+ }
+ $8 = $5 & -8;
+ $9 = (($1) + ($8)|0);
+ $10 = $5 & 1;
+ $11 = ($10|0)==(0);
+ do {
+ if ($11) {
+ $12 = HEAP32[$1>>2]|0;
+ $13 = ($6|0)==(0);
+ if ($13) {
+ return;
+ }
+ $14 = (0 - ($12))|0;
+ $15 = (($1) + ($14)|0);
+ $16 = (($12) + ($8))|0;
+ $17 = ($15>>>0)<($2>>>0);
+ if ($17) {
+ _abort();
+ // unreachable;
+ }
+ $18 = HEAP32[(71200)>>2]|0;
+ $19 = ($15|0)==($18|0);
+ if ($19) {
+ $104 = ((($9)) + 4|0);
+ $105 = HEAP32[$104>>2]|0;
+ $106 = $105 & 3;
+ $107 = ($106|0)==(3);
+ if (!($107)) {
+ $p$1 = $15;$psize$1 = $16;
+ break;
+ }
+ HEAP32[(71188)>>2] = $16;
+ $108 = $105 & -2;
+ HEAP32[$104>>2] = $108;
+ $109 = $16 | 1;
+ $110 = ((($15)) + 4|0);
+ HEAP32[$110>>2] = $109;
+ $111 = (($15) + ($16)|0);
+ HEAP32[$111>>2] = $16;
+ return;
+ }
+ $20 = $12 >>> 3;
+ $21 = ($12>>>0)<(256);
+ if ($21) {
+ $22 = ((($15)) + 8|0);
+ $23 = HEAP32[$22>>2]|0;
+ $24 = ((($15)) + 12|0);
+ $25 = HEAP32[$24>>2]|0;
+ $26 = $20 << 1;
+ $27 = (71220 + ($26<<2)|0);
+ $28 = ($23|0)==($27|0);
+ if (!($28)) {
+ $29 = ($23>>>0)<($2>>>0);
+ if ($29) {
+ _abort();
+ // unreachable;
+ }
+ $30 = ((($23)) + 12|0);
+ $31 = HEAP32[$30>>2]|0;
+ $32 = ($31|0)==($15|0);
+ if (!($32)) {
+ _abort();
+ // unreachable;
+ }
+ }
+ $33 = ($25|0)==($23|0);
+ if ($33) {
+ $34 = 1 << $20;
+ $35 = $34 ^ -1;
+ $36 = HEAP32[17795]|0;
+ $37 = $36 & $35;
+ HEAP32[17795] = $37;
+ $p$1 = $15;$psize$1 = $16;
+ break;
+ }
+ $38 = ($25|0)==($27|0);
+ if ($38) {
+ $$pre42 = ((($25)) + 8|0);
+ $$pre$phi43Z2D = $$pre42;
+ } else {
+ $39 = ($25>>>0)<($2>>>0);
+ if ($39) {
+ _abort();
+ // unreachable;
+ }
+ $40 = ((($25)) + 8|0);
+ $41 = HEAP32[$40>>2]|0;
+ $42 = ($41|0)==($15|0);
+ if ($42) {
+ $$pre$phi43Z2D = $40;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ $43 = ((($23)) + 12|0);
+ HEAP32[$43>>2] = $25;
+ HEAP32[$$pre$phi43Z2D>>2] = $23;
+ $p$1 = $15;$psize$1 = $16;
+ break;
+ }
+ $44 = ((($15)) + 24|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ((($15)) + 12|0);
+ $47 = HEAP32[$46>>2]|0;
+ $48 = ($47|0)==($15|0);
+ do {
+ if ($48) {
+ $58 = ((($15)) + 16|0);
+ $59 = ((($58)) + 4|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ($60|0)==(0|0);
+ if ($61) {
+ $62 = HEAP32[$58>>2]|0;
+ $63 = ($62|0)==(0|0);
+ if ($63) {
+ $R$3 = 0;
+ break;
+ } else {
+ $R$1 = $62;$RP$1 = $58;
+ }
+ } else {
+ $R$1 = $60;$RP$1 = $59;
+ }
+ while(1) {
+ $64 = ((($R$1)) + 20|0);
+ $65 = HEAP32[$64>>2]|0;
+ $66 = ($65|0)==(0|0);
+ if (!($66)) {
+ $R$1 = $65;$RP$1 = $64;
+ continue;
+ }
+ $67 = ((($R$1)) + 16|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = ($68|0)==(0|0);
+ if ($69) {
+ $R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1;
+ break;
+ } else {
+ $R$1 = $68;$RP$1 = $67;
+ }
+ }
+ $70 = ($RP$1$lcssa>>>0)<($2>>>0);
+ if ($70) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP$1$lcssa>>2] = 0;
+ $R$3 = $R$1$lcssa;
+ break;
+ }
+ } else {
+ $49 = ((($15)) + 8|0);
+ $50 = HEAP32[$49>>2]|0;
+ $51 = ($50>>>0)<($2>>>0);
+ if ($51) {
+ _abort();
+ // unreachable;
+ }
+ $52 = ((($50)) + 12|0);
+ $53 = HEAP32[$52>>2]|0;
+ $54 = ($53|0)==($15|0);
+ if (!($54)) {
+ _abort();
+ // unreachable;
+ }
+ $55 = ((($47)) + 8|0);
+ $56 = HEAP32[$55>>2]|0;
+ $57 = ($56|0)==($15|0);
+ if ($57) {
+ HEAP32[$52>>2] = $47;
+ HEAP32[$55>>2] = $50;
+ $R$3 = $47;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $71 = ($45|0)==(0|0);
+ if ($71) {
+ $p$1 = $15;$psize$1 = $16;
+ } else {
+ $72 = ((($15)) + 28|0);
+ $73 = HEAP32[$72>>2]|0;
+ $74 = (71484 + ($73<<2)|0);
+ $75 = HEAP32[$74>>2]|0;
+ $76 = ($15|0)==($75|0);
+ if ($76) {
+ HEAP32[$74>>2] = $R$3;
+ $cond20 = ($R$3|0)==(0|0);
+ if ($cond20) {
+ $77 = 1 << $73;
+ $78 = $77 ^ -1;
+ $79 = HEAP32[(71184)>>2]|0;
+ $80 = $79 & $78;
+ HEAP32[(71184)>>2] = $80;
+ $p$1 = $15;$psize$1 = $16;
+ break;
+ }
+ } else {
+ $81 = HEAP32[(71196)>>2]|0;
+ $82 = ($45>>>0)<($81>>>0);
+ if ($82) {
+ _abort();
+ // unreachable;
+ }
+ $83 = ((($45)) + 16|0);
+ $84 = HEAP32[$83>>2]|0;
+ $85 = ($84|0)==($15|0);
+ if ($85) {
+ HEAP32[$83>>2] = $R$3;
+ } else {
+ $86 = ((($45)) + 20|0);
+ HEAP32[$86>>2] = $R$3;
+ }
+ $87 = ($R$3|0)==(0|0);
+ if ($87) {
+ $p$1 = $15;$psize$1 = $16;
+ break;
+ }
+ }
+ $88 = HEAP32[(71196)>>2]|0;
+ $89 = ($R$3>>>0)<($88>>>0);
+ if ($89) {
+ _abort();
+ // unreachable;
+ }
+ $90 = ((($R$3)) + 24|0);
+ HEAP32[$90>>2] = $45;
+ $91 = ((($15)) + 16|0);
+ $92 = HEAP32[$91>>2]|0;
+ $93 = ($92|0)==(0|0);
+ do {
+ if (!($93)) {
+ $94 = ($92>>>0)<($88>>>0);
+ if ($94) {
+ _abort();
+ // unreachable;
+ } else {
+ $95 = ((($R$3)) + 16|0);
+ HEAP32[$95>>2] = $92;
+ $96 = ((($92)) + 24|0);
+ HEAP32[$96>>2] = $R$3;
+ break;
+ }
+ }
+ } while(0);
+ $97 = ((($91)) + 4|0);
+ $98 = HEAP32[$97>>2]|0;
+ $99 = ($98|0)==(0|0);
+ if ($99) {
+ $p$1 = $15;$psize$1 = $16;
+ } else {
+ $100 = HEAP32[(71196)>>2]|0;
+ $101 = ($98>>>0)<($100>>>0);
+ if ($101) {
+ _abort();
+ // unreachable;
+ } else {
+ $102 = ((($R$3)) + 20|0);
+ HEAP32[$102>>2] = $98;
+ $103 = ((($98)) + 24|0);
+ HEAP32[$103>>2] = $R$3;
+ $p$1 = $15;$psize$1 = $16;
+ break;
+ }
+ }
+ }
+ } else {
+ $p$1 = $1;$psize$1 = $8;
+ }
+ } while(0);
+ $112 = ($p$1>>>0)<($9>>>0);
+ if (!($112)) {
+ _abort();
+ // unreachable;
+ }
+ $113 = ((($9)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = $114 & 1;
+ $116 = ($115|0)==(0);
+ if ($116) {
+ _abort();
+ // unreachable;
+ }
+ $117 = $114 & 2;
+ $118 = ($117|0)==(0);
+ if ($118) {
+ $119 = HEAP32[(71204)>>2]|0;
+ $120 = ($9|0)==($119|0);
+ if ($120) {
+ $121 = HEAP32[(71192)>>2]|0;
+ $122 = (($121) + ($psize$1))|0;
+ HEAP32[(71192)>>2] = $122;
+ HEAP32[(71204)>>2] = $p$1;
+ $123 = $122 | 1;
+ $124 = ((($p$1)) + 4|0);
+ HEAP32[$124>>2] = $123;
+ $125 = HEAP32[(71200)>>2]|0;
+ $126 = ($p$1|0)==($125|0);
+ if (!($126)) {
+ return;
+ }
+ HEAP32[(71200)>>2] = 0;
+ HEAP32[(71188)>>2] = 0;
+ return;
+ }
+ $127 = HEAP32[(71200)>>2]|0;
+ $128 = ($9|0)==($127|0);
+ if ($128) {
+ $129 = HEAP32[(71188)>>2]|0;
+ $130 = (($129) + ($psize$1))|0;
+ HEAP32[(71188)>>2] = $130;
+ HEAP32[(71200)>>2] = $p$1;
+ $131 = $130 | 1;
+ $132 = ((($p$1)) + 4|0);
+ HEAP32[$132>>2] = $131;
+ $133 = (($p$1) + ($130)|0);
+ HEAP32[$133>>2] = $130;
+ return;
+ }
+ $134 = $114 & -8;
+ $135 = (($134) + ($psize$1))|0;
+ $136 = $114 >>> 3;
+ $137 = ($114>>>0)<(256);
+ do {
+ if ($137) {
+ $138 = ((($9)) + 8|0);
+ $139 = HEAP32[$138>>2]|0;
+ $140 = ((($9)) + 12|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = $136 << 1;
+ $143 = (71220 + ($142<<2)|0);
+ $144 = ($139|0)==($143|0);
+ if (!($144)) {
+ $145 = HEAP32[(71196)>>2]|0;
+ $146 = ($139>>>0)<($145>>>0);
+ if ($146) {
+ _abort();
+ // unreachable;
+ }
+ $147 = ((($139)) + 12|0);
+ $148 = HEAP32[$147>>2]|0;
+ $149 = ($148|0)==($9|0);
+ if (!($149)) {
+ _abort();
+ // unreachable;
+ }
+ }
+ $150 = ($141|0)==($139|0);
+ if ($150) {
+ $151 = 1 << $136;
+ $152 = $151 ^ -1;
+ $153 = HEAP32[17795]|0;
+ $154 = $153 & $152;
+ HEAP32[17795] = $154;
+ break;
+ }
+ $155 = ($141|0)==($143|0);
+ if ($155) {
+ $$pre40 = ((($141)) + 8|0);
+ $$pre$phi41Z2D = $$pre40;
+ } else {
+ $156 = HEAP32[(71196)>>2]|0;
+ $157 = ($141>>>0)<($156>>>0);
+ if ($157) {
+ _abort();
+ // unreachable;
+ }
+ $158 = ((($141)) + 8|0);
+ $159 = HEAP32[$158>>2]|0;
+ $160 = ($159|0)==($9|0);
+ if ($160) {
+ $$pre$phi41Z2D = $158;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ $161 = ((($139)) + 12|0);
+ HEAP32[$161>>2] = $141;
+ HEAP32[$$pre$phi41Z2D>>2] = $139;
+ } else {
+ $162 = ((($9)) + 24|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = ((($9)) + 12|0);
+ $165 = HEAP32[$164>>2]|0;
+ $166 = ($165|0)==($9|0);
+ do {
+ if ($166) {
+ $177 = ((($9)) + 16|0);
+ $178 = ((($177)) + 4|0);
+ $179 = HEAP32[$178>>2]|0;
+ $180 = ($179|0)==(0|0);
+ if ($180) {
+ $181 = HEAP32[$177>>2]|0;
+ $182 = ($181|0)==(0|0);
+ if ($182) {
+ $R8$3 = 0;
+ break;
+ } else {
+ $R8$1 = $181;$RP10$1 = $177;
+ }
+ } else {
+ $R8$1 = $179;$RP10$1 = $178;
+ }
+ while(1) {
+ $183 = ((($R8$1)) + 20|0);
+ $184 = HEAP32[$183>>2]|0;
+ $185 = ($184|0)==(0|0);
+ if (!($185)) {
+ $R8$1 = $184;$RP10$1 = $183;
+ continue;
+ }
+ $186 = ((($R8$1)) + 16|0);
+ $187 = HEAP32[$186>>2]|0;
+ $188 = ($187|0)==(0|0);
+ if ($188) {
+ $R8$1$lcssa = $R8$1;$RP10$1$lcssa = $RP10$1;
+ break;
+ } else {
+ $R8$1 = $187;$RP10$1 = $186;
+ }
+ }
+ $189 = HEAP32[(71196)>>2]|0;
+ $190 = ($RP10$1$lcssa>>>0)<($189>>>0);
+ if ($190) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP10$1$lcssa>>2] = 0;
+ $R8$3 = $R8$1$lcssa;
+ break;
+ }
+ } else {
+ $167 = ((($9)) + 8|0);
+ $168 = HEAP32[$167>>2]|0;
+ $169 = HEAP32[(71196)>>2]|0;
+ $170 = ($168>>>0)<($169>>>0);
+ if ($170) {
+ _abort();
+ // unreachable;
+ }
+ $171 = ((($168)) + 12|0);
+ $172 = HEAP32[$171>>2]|0;
+ $173 = ($172|0)==($9|0);
+ if (!($173)) {
+ _abort();
+ // unreachable;
+ }
+ $174 = ((($165)) + 8|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = ($175|0)==($9|0);
+ if ($176) {
+ HEAP32[$171>>2] = $165;
+ HEAP32[$174>>2] = $168;
+ $R8$3 = $165;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $191 = ($163|0)==(0|0);
+ if (!($191)) {
+ $192 = ((($9)) + 28|0);
+ $193 = HEAP32[$192>>2]|0;
+ $194 = (71484 + ($193<<2)|0);
+ $195 = HEAP32[$194>>2]|0;
+ $196 = ($9|0)==($195|0);
+ if ($196) {
+ HEAP32[$194>>2] = $R8$3;
+ $cond21 = ($R8$3|0)==(0|0);
+ if ($cond21) {
+ $197 = 1 << $193;
+ $198 = $197 ^ -1;
+ $199 = HEAP32[(71184)>>2]|0;
+ $200 = $199 & $198;
+ HEAP32[(71184)>>2] = $200;
+ break;
+ }
+ } else {
+ $201 = HEAP32[(71196)>>2]|0;
+ $202 = ($163>>>0)<($201>>>0);
+ if ($202) {
+ _abort();
+ // unreachable;
+ }
+ $203 = ((($163)) + 16|0);
+ $204 = HEAP32[$203>>2]|0;
+ $205 = ($204|0)==($9|0);
+ if ($205) {
+ HEAP32[$203>>2] = $R8$3;
+ } else {
+ $206 = ((($163)) + 20|0);
+ HEAP32[$206>>2] = $R8$3;
+ }
+ $207 = ($R8$3|0)==(0|0);
+ if ($207) {
+ break;
+ }
+ }
+ $208 = HEAP32[(71196)>>2]|0;
+ $209 = ($R8$3>>>0)<($208>>>0);
+ if ($209) {
+ _abort();
+ // unreachable;
+ }
+ $210 = ((($R8$3)) + 24|0);
+ HEAP32[$210>>2] = $163;
+ $211 = ((($9)) + 16|0);
+ $212 = HEAP32[$211>>2]|0;
+ $213 = ($212|0)==(0|0);
+ do {
+ if (!($213)) {
+ $214 = ($212>>>0)<($208>>>0);
+ if ($214) {
+ _abort();
+ // unreachable;
+ } else {
+ $215 = ((($R8$3)) + 16|0);
+ HEAP32[$215>>2] = $212;
+ $216 = ((($212)) + 24|0);
+ HEAP32[$216>>2] = $R8$3;
+ break;
+ }
+ }
+ } while(0);
+ $217 = ((($211)) + 4|0);
+ $218 = HEAP32[$217>>2]|0;
+ $219 = ($218|0)==(0|0);
+ if (!($219)) {
+ $220 = HEAP32[(71196)>>2]|0;
+ $221 = ($218>>>0)<($220>>>0);
+ if ($221) {
+ _abort();
+ // unreachable;
+ } else {
+ $222 = ((($R8$3)) + 20|0);
+ HEAP32[$222>>2] = $218;
+ $223 = ((($218)) + 24|0);
+ HEAP32[$223>>2] = $R8$3;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ $224 = $135 | 1;
+ $225 = ((($p$1)) + 4|0);
+ HEAP32[$225>>2] = $224;
+ $226 = (($p$1) + ($135)|0);
+ HEAP32[$226>>2] = $135;
+ $227 = HEAP32[(71200)>>2]|0;
+ $228 = ($p$1|0)==($227|0);
+ if ($228) {
+ HEAP32[(71188)>>2] = $135;
+ return;
+ } else {
+ $psize$2 = $135;
+ }
+ } else {
+ $229 = $114 & -2;
+ HEAP32[$113>>2] = $229;
+ $230 = $psize$1 | 1;
+ $231 = ((($p$1)) + 4|0);
+ HEAP32[$231>>2] = $230;
+ $232 = (($p$1) + ($psize$1)|0);
+ HEAP32[$232>>2] = $psize$1;
+ $psize$2 = $psize$1;
+ }
+ $233 = $psize$2 >>> 3;
+ $234 = ($psize$2>>>0)<(256);
+ if ($234) {
+ $235 = $233 << 1;
+ $236 = (71220 + ($235<<2)|0);
+ $237 = HEAP32[17795]|0;
+ $238 = 1 << $233;
+ $239 = $237 & $238;
+ $240 = ($239|0)==(0);
+ if ($240) {
+ $241 = $237 | $238;
+ HEAP32[17795] = $241;
+ $$pre = ((($236)) + 8|0);
+ $$pre$phiZ2D = $$pre;$F18$0 = $236;
+ } else {
+ $242 = ((($236)) + 8|0);
+ $243 = HEAP32[$242>>2]|0;
+ $244 = HEAP32[(71196)>>2]|0;
+ $245 = ($243>>>0)<($244>>>0);
+ if ($245) {
+ _abort();
+ // unreachable;
+ } else {
+ $$pre$phiZ2D = $242;$F18$0 = $243;
+ }
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $p$1;
+ $246 = ((($F18$0)) + 12|0);
+ HEAP32[$246>>2] = $p$1;
+ $247 = ((($p$1)) + 8|0);
+ HEAP32[$247>>2] = $F18$0;
+ $248 = ((($p$1)) + 12|0);
+ HEAP32[$248>>2] = $236;
+ return;
+ }
+ $249 = $psize$2 >>> 8;
+ $250 = ($249|0)==(0);
+ if ($250) {
+ $I20$0 = 0;
+ } else {
+ $251 = ($psize$2>>>0)>(16777215);
+ if ($251) {
+ $I20$0 = 31;
+ } else {
+ $252 = (($249) + 1048320)|0;
+ $253 = $252 >>> 16;
+ $254 = $253 & 8;
+ $255 = $249 << $254;
+ $256 = (($255) + 520192)|0;
+ $257 = $256 >>> 16;
+ $258 = $257 & 4;
+ $259 = $258 | $254;
+ $260 = $255 << $258;
+ $261 = (($260) + 245760)|0;
+ $262 = $261 >>> 16;
+ $263 = $262 & 2;
+ $264 = $259 | $263;
+ $265 = (14 - ($264))|0;
+ $266 = $260 << $263;
+ $267 = $266 >>> 15;
+ $268 = (($265) + ($267))|0;
+ $269 = $268 << 1;
+ $270 = (($268) + 7)|0;
+ $271 = $psize$2 >>> $270;
+ $272 = $271 & 1;
+ $273 = $272 | $269;
+ $I20$0 = $273;
+ }
+ }
+ $274 = (71484 + ($I20$0<<2)|0);
+ $275 = ((($p$1)) + 28|0);
+ HEAP32[$275>>2] = $I20$0;
+ $276 = ((($p$1)) + 16|0);
+ $277 = ((($p$1)) + 20|0);
+ HEAP32[$277>>2] = 0;
+ HEAP32[$276>>2] = 0;
+ $278 = HEAP32[(71184)>>2]|0;
+ $279 = 1 << $I20$0;
+ $280 = $278 & $279;
+ $281 = ($280|0)==(0);
+ do {
+ if ($281) {
+ $282 = $278 | $279;
+ HEAP32[(71184)>>2] = $282;
+ HEAP32[$274>>2] = $p$1;
+ $283 = ((($p$1)) + 24|0);
+ HEAP32[$283>>2] = $274;
+ $284 = ((($p$1)) + 12|0);
+ HEAP32[$284>>2] = $p$1;
+ $285 = ((($p$1)) + 8|0);
+ HEAP32[$285>>2] = $p$1;
+ } else {
+ $286 = HEAP32[$274>>2]|0;
+ $287 = ($I20$0|0)==(31);
+ $288 = $I20$0 >>> 1;
+ $289 = (25 - ($288))|0;
+ $290 = $287 ? 0 : $289;
+ $291 = $psize$2 << $290;
+ $K21$0 = $291;$T$0 = $286;
+ while(1) {
+ $292 = ((($T$0)) + 4|0);
+ $293 = HEAP32[$292>>2]|0;
+ $294 = $293 & -8;
+ $295 = ($294|0)==($psize$2|0);
+ if ($295) {
+ $T$0$lcssa = $T$0;
+ label = 130;
+ break;
+ }
+ $296 = $K21$0 >>> 31;
+ $297 = (((($T$0)) + 16|0) + ($296<<2)|0);
+ $298 = $K21$0 << 1;
+ $299 = HEAP32[$297>>2]|0;
+ $300 = ($299|0)==(0|0);
+ if ($300) {
+ $$lcssa = $297;$T$0$lcssa48 = $T$0;
+ label = 127;
+ break;
+ } else {
+ $K21$0 = $298;$T$0 = $299;
+ }
+ }
+ if ((label|0) == 127) {
+ $301 = HEAP32[(71196)>>2]|0;
+ $302 = ($$lcssa>>>0)<($301>>>0);
+ if ($302) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$$lcssa>>2] = $p$1;
+ $303 = ((($p$1)) + 24|0);
+ HEAP32[$303>>2] = $T$0$lcssa48;
+ $304 = ((($p$1)) + 12|0);
+ HEAP32[$304>>2] = $p$1;
+ $305 = ((($p$1)) + 8|0);
+ HEAP32[$305>>2] = $p$1;
+ break;
+ }
+ }
+ else if ((label|0) == 130) {
+ $306 = ((($T$0$lcssa)) + 8|0);
+ $307 = HEAP32[$306>>2]|0;
+ $308 = HEAP32[(71196)>>2]|0;
+ $309 = ($307>>>0)>=($308>>>0);
+ $not$ = ($T$0$lcssa>>>0)>=($308>>>0);
+ $310 = $309 & $not$;
+ if ($310) {
+ $311 = ((($307)) + 12|0);
+ HEAP32[$311>>2] = $p$1;
+ HEAP32[$306>>2] = $p$1;
+ $312 = ((($p$1)) + 8|0);
+ HEAP32[$312>>2] = $307;
+ $313 = ((($p$1)) + 12|0);
+ HEAP32[$313>>2] = $T$0$lcssa;
+ $314 = ((($p$1)) + 24|0);
+ HEAP32[$314>>2] = 0;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ }
+ } while(0);
+ $315 = HEAP32[(71212)>>2]|0;
+ $316 = (($315) + -1)|0;
+ HEAP32[(71212)>>2] = $316;
+ $317 = ($316|0)==(0);
+ if ($317) {
+ $sp$0$in$i = (71636);
+ } else {
+ return;
+ }
+ while(1) {
+ $sp$0$i = HEAP32[$sp$0$in$i>>2]|0;
+ $318 = ($sp$0$i|0)==(0|0);
+ $319 = ((($sp$0$i)) + 8|0);
+ if ($318) {
+ break;
+ } else {
+ $sp$0$in$i = $319;
+ }
+ }
+ HEAP32[(71212)>>2] = -1;
+ return;
+}
+function _calloc($n_elements,$elem_size) {
+ $n_elements = $n_elements|0;
+ $elem_size = $elem_size|0;
+ var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $req$0 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($n_elements|0)==(0);
+ if ($0) {
+ $req$0 = 0;
+ } else {
+ $1 = Math_imul($elem_size, $n_elements)|0;
+ $2 = $elem_size | $n_elements;
+ $3 = ($2>>>0)>(65535);
+ if ($3) {
+ $4 = (($1>>>0) / ($n_elements>>>0))&-1;
+ $5 = ($4|0)==($elem_size|0);
+ $$ = $5 ? $1 : -1;
+ $req$0 = $$;
+ } else {
+ $req$0 = $1;
+ }
+ }
+ $6 = (_malloc($req$0)|0);
+ $7 = ($6|0)==(0|0);
+ if ($7) {
+ return ($6|0);
+ }
+ $8 = ((($6)) + -4|0);
+ $9 = HEAP32[$8>>2]|0;
+ $10 = $9 & 3;
+ $11 = ($10|0)==(0);
+ if ($11) {
+ return ($6|0);
+ }
+ _memset(($6|0),0,($req$0|0))|0;
+ return ($6|0);
+}
+function _realloc($oldmem,$bytes) {
+ $oldmem = $oldmem|0;
+ $bytes = $bytes|0;
+ var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
+ var $7 = 0, $8 = 0, $9 = 0, $mem$1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ($oldmem|0)==(0|0);
+ if ($0) {
+ $1 = (_malloc($bytes)|0);
+ $mem$1 = $1;
+ return ($mem$1|0);
+ }
+ $2 = ($bytes>>>0)>(4294967231);
+ if ($2) {
+ $3 = (___errno_location()|0);
+ HEAP32[$3>>2] = 12;
+ $mem$1 = 0;
+ return ($mem$1|0);
+ }
+ $4 = ($bytes>>>0)<(11);
+ $5 = (($bytes) + 11)|0;
+ $6 = $5 & -8;
+ $7 = $4 ? 16 : $6;
+ $8 = ((($oldmem)) + -8|0);
+ $9 = (_try_realloc_chunk($8,$7)|0);
+ $10 = ($9|0)==(0|0);
+ if (!($10)) {
+ $11 = ((($9)) + 8|0);
+ $mem$1 = $11;
+ return ($mem$1|0);
+ }
+ $12 = (_malloc($bytes)|0);
+ $13 = ($12|0)==(0|0);
+ if ($13) {
+ $mem$1 = 0;
+ return ($mem$1|0);
+ }
+ $14 = ((($oldmem)) + -4|0);
+ $15 = HEAP32[$14>>2]|0;
+ $16 = $15 & -8;
+ $17 = $15 & 3;
+ $18 = ($17|0)==(0);
+ $19 = $18 ? 8 : 4;
+ $20 = (($16) - ($19))|0;
+ $21 = ($20>>>0)<($bytes>>>0);
+ $22 = $21 ? $20 : $bytes;
+ _memcpy(($12|0),($oldmem|0),($22|0))|0;
+ _free($oldmem);
+ $mem$1 = $12;
+ return ($mem$1|0);
+}
+function _try_realloc_chunk($p,$nb) {
+ $p = $p|0;
+ $nb = $nb|0;
+ var $$pre = 0, $$pre$phiZ2D = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
+ var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
+ var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
+ var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
+ var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
+ var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
+ var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
+ var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
+ var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $R$1 = 0, $R$1$lcssa = 0;
+ var $R$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $cond = 0, $newp$2 = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = ((($p)) + 4|0);
+ $1 = HEAP32[$0>>2]|0;
+ $2 = $1 & -8;
+ $3 = (($p) + ($2)|0);
+ $4 = HEAP32[(71196)>>2]|0;
+ $5 = $1 & 3;
+ $notlhs = ($p>>>0)>=($4>>>0);
+ $notrhs = ($5|0)!=(1);
+ $or$cond$not = $notrhs & $notlhs;
+ $6 = ($p>>>0)<($3>>>0);
+ $or$cond3 = $or$cond$not & $6;
+ if (!($or$cond3)) {
+ _abort();
+ // unreachable;
+ }
+ $7 = ((($3)) + 4|0);
+ $8 = HEAP32[$7>>2]|0;
+ $9 = $8 & 1;
+ $10 = ($9|0)==(0);
+ if ($10) {
+ _abort();
+ // unreachable;
+ }
+ $11 = ($5|0)==(0);
+ if ($11) {
+ $12 = ($nb>>>0)<(256);
+ if ($12) {
+ $newp$2 = 0;
+ return ($newp$2|0);
+ }
+ $13 = (($nb) + 4)|0;
+ $14 = ($2>>>0)<($13>>>0);
+ if (!($14)) {
+ $15 = (($2) - ($nb))|0;
+ $16 = HEAP32[(71660)>>2]|0;
+ $17 = $16 << 1;
+ $18 = ($15>>>0)>($17>>>0);
+ if (!($18)) {
+ $newp$2 = $p;
+ return ($newp$2|0);
+ }
+ }
+ $newp$2 = 0;
+ return ($newp$2|0);
+ }
+ $19 = ($2>>>0)<($nb>>>0);
+ if (!($19)) {
+ $20 = (($2) - ($nb))|0;
+ $21 = ($20>>>0)>(15);
+ if (!($21)) {
+ $newp$2 = $p;
+ return ($newp$2|0);
+ }
+ $22 = (($p) + ($nb)|0);
+ $23 = $1 & 1;
+ $24 = $23 | $nb;
+ $25 = $24 | 2;
+ HEAP32[$0>>2] = $25;
+ $26 = ((($22)) + 4|0);
+ $27 = $20 | 3;
+ HEAP32[$26>>2] = $27;
+ $28 = (($22) + ($20)|0);
+ $29 = ((($28)) + 4|0);
+ $30 = HEAP32[$29>>2]|0;
+ $31 = $30 | 1;
+ HEAP32[$29>>2] = $31;
+ _dispose_chunk($22,$20);
+ $newp$2 = $p;
+ return ($newp$2|0);
+ }
+ $32 = HEAP32[(71204)>>2]|0;
+ $33 = ($3|0)==($32|0);
+ if ($33) {
+ $34 = HEAP32[(71192)>>2]|0;
+ $35 = (($34) + ($2))|0;
+ $36 = ($35>>>0)>($nb>>>0);
+ if (!($36)) {
+ $newp$2 = 0;
+ return ($newp$2|0);
+ }
+ $37 = (($35) - ($nb))|0;
+ $38 = (($p) + ($nb)|0);
+ $39 = $1 & 1;
+ $40 = $39 | $nb;
+ $41 = $40 | 2;
+ HEAP32[$0>>2] = $41;
+ $42 = ((($38)) + 4|0);
+ $43 = $37 | 1;
+ HEAP32[$42>>2] = $43;
+ HEAP32[(71204)>>2] = $38;
+ HEAP32[(71192)>>2] = $37;
+ $newp$2 = $p;
+ return ($newp$2|0);
+ }
+ $44 = HEAP32[(71200)>>2]|0;
+ $45 = ($3|0)==($44|0);
+ if ($45) {
+ $46 = HEAP32[(71188)>>2]|0;
+ $47 = (($46) + ($2))|0;
+ $48 = ($47>>>0)<($nb>>>0);
+ if ($48) {
+ $newp$2 = 0;
+ return ($newp$2|0);
+ }
+ $49 = (($47) - ($nb))|0;
+ $50 = ($49>>>0)>(15);
+ if ($50) {
+ $51 = (($p) + ($nb)|0);
+ $52 = (($51) + ($49)|0);
+ $53 = $1 & 1;
+ $54 = $53 | $nb;
+ $55 = $54 | 2;
+ HEAP32[$0>>2] = $55;
+ $56 = ((($51)) + 4|0);
+ $57 = $49 | 1;
+ HEAP32[$56>>2] = $57;
+ HEAP32[$52>>2] = $49;
+ $58 = ((($52)) + 4|0);
+ $59 = HEAP32[$58>>2]|0;
+ $60 = $59 & -2;
+ HEAP32[$58>>2] = $60;
+ $storemerge = $51;$storemerge1 = $49;
+ } else {
+ $61 = $1 & 1;
+ $62 = $61 | $47;
+ $63 = $62 | 2;
+ HEAP32[$0>>2] = $63;
+ $64 = (($p) + ($47)|0);
+ $65 = ((($64)) + 4|0);
+ $66 = HEAP32[$65>>2]|0;
+ $67 = $66 | 1;
+ HEAP32[$65>>2] = $67;
+ $storemerge = 0;$storemerge1 = 0;
+ }
+ HEAP32[(71188)>>2] = $storemerge1;
+ HEAP32[(71200)>>2] = $storemerge;
+ $newp$2 = $p;
+ return ($newp$2|0);
+ }
+ $68 = $8 & 2;
+ $69 = ($68|0)==(0);
+ if (!($69)) {
+ $newp$2 = 0;
+ return ($newp$2|0);
+ }
+ $70 = $8 & -8;
+ $71 = (($70) + ($2))|0;
+ $72 = ($71>>>0)<($nb>>>0);
+ if ($72) {
+ $newp$2 = 0;
+ return ($newp$2|0);
+ }
+ $73 = (($71) - ($nb))|0;
+ $74 = $8 >>> 3;
+ $75 = ($8>>>0)<(256);
+ do {
+ if ($75) {
+ $76 = ((($3)) + 8|0);
+ $77 = HEAP32[$76>>2]|0;
+ $78 = ((($3)) + 12|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = $74 << 1;
+ $81 = (71220 + ($80<<2)|0);
+ $82 = ($77|0)==($81|0);
+ if (!($82)) {
+ $83 = ($77>>>0)<($4>>>0);
+ if ($83) {
+ _abort();
+ // unreachable;
+ }
+ $84 = ((($77)) + 12|0);
+ $85 = HEAP32[$84>>2]|0;
+ $86 = ($85|0)==($3|0);
+ if (!($86)) {
+ _abort();
+ // unreachable;
+ }
+ }
+ $87 = ($79|0)==($77|0);
+ if ($87) {
+ $88 = 1 << $74;
+ $89 = $88 ^ -1;
+ $90 = HEAP32[17795]|0;
+ $91 = $90 & $89;
+ HEAP32[17795] = $91;
+ break;
+ }
+ $92 = ($79|0)==($81|0);
+ if ($92) {
+ $$pre = ((($79)) + 8|0);
+ $$pre$phiZ2D = $$pre;
+ } else {
+ $93 = ($79>>>0)<($4>>>0);
+ if ($93) {
+ _abort();
+ // unreachable;
+ }
+ $94 = ((($79)) + 8|0);
+ $95 = HEAP32[$94>>2]|0;
+ $96 = ($95|0)==($3|0);
+ if ($96) {
+ $$pre$phiZ2D = $94;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ $97 = ((($77)) + 12|0);
+ HEAP32[$97>>2] = $79;
+ HEAP32[$$pre$phiZ2D>>2] = $77;
+ } else {
+ $98 = ((($3)) + 24|0);
+ $99 = HEAP32[$98>>2]|0;
+ $100 = ((($3)) + 12|0);
+ $101 = HEAP32[$100>>2]|0;
+ $102 = ($101|0)==($3|0);
+ do {
+ if ($102) {
+ $112 = ((($3)) + 16|0);
+ $113 = ((($112)) + 4|0);
+ $114 = HEAP32[$113>>2]|0;
+ $115 = ($114|0)==(0|0);
+ if ($115) {
+ $116 = HEAP32[$112>>2]|0;
+ $117 = ($116|0)==(0|0);
+ if ($117) {
+ $R$3 = 0;
+ break;
+ } else {
+ $R$1 = $116;$RP$1 = $112;
+ }
+ } else {
+ $R$1 = $114;$RP$1 = $113;
+ }
+ while(1) {
+ $118 = ((($R$1)) + 20|0);
+ $119 = HEAP32[$118>>2]|0;
+ $120 = ($119|0)==(0|0);
+ if (!($120)) {
+ $R$1 = $119;$RP$1 = $118;
+ continue;
+ }
+ $121 = ((($R$1)) + 16|0);
+ $122 = HEAP32[$121>>2]|0;
+ $123 = ($122|0)==(0|0);
+ if ($123) {
+ $R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1;
+ break;
+ } else {
+ $R$1 = $122;$RP$1 = $121;
+ }
+ }
+ $124 = ($RP$1$lcssa>>>0)<($4>>>0);
+ if ($124) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP$1$lcssa>>2] = 0;
+ $R$3 = $R$1$lcssa;
+ break;
+ }
+ } else {
+ $103 = ((($3)) + 8|0);
+ $104 = HEAP32[$103>>2]|0;
+ $105 = ($104>>>0)<($4>>>0);
+ if ($105) {
+ _abort();
+ // unreachable;
+ }
+ $106 = ((($104)) + 12|0);
+ $107 = HEAP32[$106>>2]|0;
+ $108 = ($107|0)==($3|0);
+ if (!($108)) {
+ _abort();
+ // unreachable;
+ }
+ $109 = ((($101)) + 8|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = ($110|0)==($3|0);
+ if ($111) {
+ HEAP32[$106>>2] = $101;
+ HEAP32[$109>>2] = $104;
+ $R$3 = $101;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $125 = ($99|0)==(0|0);
+ if (!($125)) {
+ $126 = ((($3)) + 28|0);
+ $127 = HEAP32[$126>>2]|0;
+ $128 = (71484 + ($127<<2)|0);
+ $129 = HEAP32[$128>>2]|0;
+ $130 = ($3|0)==($129|0);
+ if ($130) {
+ HEAP32[$128>>2] = $R$3;
+ $cond = ($R$3|0)==(0|0);
+ if ($cond) {
+ $131 = 1 << $127;
+ $132 = $131 ^ -1;
+ $133 = HEAP32[(71184)>>2]|0;
+ $134 = $133 & $132;
+ HEAP32[(71184)>>2] = $134;
+ break;
+ }
+ } else {
+ $135 = HEAP32[(71196)>>2]|0;
+ $136 = ($99>>>0)<($135>>>0);
+ if ($136) {
+ _abort();
+ // unreachable;
+ }
+ $137 = ((($99)) + 16|0);
+ $138 = HEAP32[$137>>2]|0;
+ $139 = ($138|0)==($3|0);
+ if ($139) {
+ HEAP32[$137>>2] = $R$3;
+ } else {
+ $140 = ((($99)) + 20|0);
+ HEAP32[$140>>2] = $R$3;
+ }
+ $141 = ($R$3|0)==(0|0);
+ if ($141) {
+ break;
+ }
+ }
+ $142 = HEAP32[(71196)>>2]|0;
+ $143 = ($R$3>>>0)<($142>>>0);
+ if ($143) {
+ _abort();
+ // unreachable;
+ }
+ $144 = ((($R$3)) + 24|0);
+ HEAP32[$144>>2] = $99;
+ $145 = ((($3)) + 16|0);
+ $146 = HEAP32[$145>>2]|0;
+ $147 = ($146|0)==(0|0);
+ do {
+ if (!($147)) {
+ $148 = ($146>>>0)<($142>>>0);
+ if ($148) {
+ _abort();
+ // unreachable;
+ } else {
+ $149 = ((($R$3)) + 16|0);
+ HEAP32[$149>>2] = $146;
+ $150 = ((($146)) + 24|0);
+ HEAP32[$150>>2] = $R$3;
+ break;
+ }
+ }
+ } while(0);
+ $151 = ((($145)) + 4|0);
+ $152 = HEAP32[$151>>2]|0;
+ $153 = ($152|0)==(0|0);
+ if (!($153)) {
+ $154 = HEAP32[(71196)>>2]|0;
+ $155 = ($152>>>0)<($154>>>0);
+ if ($155) {
+ _abort();
+ // unreachable;
+ } else {
+ $156 = ((($R$3)) + 20|0);
+ HEAP32[$156>>2] = $152;
+ $157 = ((($152)) + 24|0);
+ HEAP32[$157>>2] = $R$3;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ $158 = ($73>>>0)<(16);
+ if ($158) {
+ $159 = $1 & 1;
+ $160 = $71 | $159;
+ $161 = $160 | 2;
+ HEAP32[$0>>2] = $161;
+ $162 = (($p) + ($71)|0);
+ $163 = ((($162)) + 4|0);
+ $164 = HEAP32[$163>>2]|0;
+ $165 = $164 | 1;
+ HEAP32[$163>>2] = $165;
+ $newp$2 = $p;
+ return ($newp$2|0);
+ } else {
+ $166 = (($p) + ($nb)|0);
+ $167 = $1 & 1;
+ $168 = $167 | $nb;
+ $169 = $168 | 2;
+ HEAP32[$0>>2] = $169;
+ $170 = ((($166)) + 4|0);
+ $171 = $73 | 3;
+ HEAP32[$170>>2] = $171;
+ $172 = (($166) + ($73)|0);
+ $173 = ((($172)) + 4|0);
+ $174 = HEAP32[$173>>2]|0;
+ $175 = $174 | 1;
+ HEAP32[$173>>2] = $175;
+ _dispose_chunk($166,$73);
+ $newp$2 = $p;
+ return ($newp$2|0);
+ }
+ return (0)|0;
+}
+function _dispose_chunk($p,$psize) {
+ $p = $p|0;
+ $psize = $psize|0;
+ var $$1 = 0, $$14 = 0, $$2 = 0, $$lcssa = 0, $$pre = 0, $$pre$phi22Z2D = 0, $$pre$phi24Z2D = 0, $$pre$phiZ2D = 0, $$pre21 = 0, $$pre23 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0;
+ var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0;
+ var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0;
+ var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0;
+ var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0;
+ var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0;
+ var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
+ var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
+ var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
+ var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
+ var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
+ var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
+ var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
+ var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
+ var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
+ var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $F17$0 = 0, $I20$0 = 0, $K21$0 = 0, $R$1 = 0, $R$1$lcssa = 0;
+ var $R$3 = 0, $R7$1 = 0, $R7$1$lcssa = 0, $R7$3 = 0, $RP$1 = 0, $RP$1$lcssa = 0, $RP9$1 = 0, $RP9$1$lcssa = 0, $T$0 = 0, $T$0$lcssa = 0, $T$0$lcssa30 = 0, $cond = 0, $cond16 = 0, $not$ = 0, label = 0, sp = 0;
+ sp = STACKTOP;
+ $0 = (($p) + ($psize)|0);
+ $1 = ((($p)) + 4|0);
+ $2 = HEAP32[$1>>2]|0;
+ $3 = $2 & 1;
+ $4 = ($3|0)==(0);
+ do {
+ if ($4) {
+ $5 = HEAP32[$p>>2]|0;
+ $6 = $2 & 3;
+ $7 = ($6|0)==(0);
+ if ($7) {
+ return;
+ }
+ $8 = (0 - ($5))|0;
+ $9 = (($p) + ($8)|0);
+ $10 = (($5) + ($psize))|0;
+ $11 = HEAP32[(71196)>>2]|0;
+ $12 = ($9>>>0)<($11>>>0);
+ if ($12) {
+ _abort();
+ // unreachable;
+ }
+ $13 = HEAP32[(71200)>>2]|0;
+ $14 = ($9|0)==($13|0);
+ if ($14) {
+ $99 = ((($0)) + 4|0);
+ $100 = HEAP32[$99>>2]|0;
+ $101 = $100 & 3;
+ $102 = ($101|0)==(3);
+ if (!($102)) {
+ $$1 = $9;$$14 = $10;
+ break;
+ }
+ HEAP32[(71188)>>2] = $10;
+ $103 = $100 & -2;
+ HEAP32[$99>>2] = $103;
+ $104 = $10 | 1;
+ $105 = ((($9)) + 4|0);
+ HEAP32[$105>>2] = $104;
+ $106 = (($9) + ($10)|0);
+ HEAP32[$106>>2] = $10;
+ return;
+ }
+ $15 = $5 >>> 3;
+ $16 = ($5>>>0)<(256);
+ if ($16) {
+ $17 = ((($9)) + 8|0);
+ $18 = HEAP32[$17>>2]|0;
+ $19 = ((($9)) + 12|0);
+ $20 = HEAP32[$19>>2]|0;
+ $21 = $15 << 1;
+ $22 = (71220 + ($21<<2)|0);
+ $23 = ($18|0)==($22|0);
+ if (!($23)) {
+ $24 = ($18>>>0)<($11>>>0);
+ if ($24) {
+ _abort();
+ // unreachable;
+ }
+ $25 = ((($18)) + 12|0);
+ $26 = HEAP32[$25>>2]|0;
+ $27 = ($26|0)==($9|0);
+ if (!($27)) {
+ _abort();
+ // unreachable;
+ }
+ }
+ $28 = ($20|0)==($18|0);
+ if ($28) {
+ $29 = 1 << $15;
+ $30 = $29 ^ -1;
+ $31 = HEAP32[17795]|0;
+ $32 = $31 & $30;
+ HEAP32[17795] = $32;
+ $$1 = $9;$$14 = $10;
+ break;
+ }
+ $33 = ($20|0)==($22|0);
+ if ($33) {
+ $$pre23 = ((($20)) + 8|0);
+ $$pre$phi24Z2D = $$pre23;
+ } else {
+ $34 = ($20>>>0)<($11>>>0);
+ if ($34) {
+ _abort();
+ // unreachable;
+ }
+ $35 = ((($20)) + 8|0);
+ $36 = HEAP32[$35>>2]|0;
+ $37 = ($36|0)==($9|0);
+ if ($37) {
+ $$pre$phi24Z2D = $35;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ $38 = ((($18)) + 12|0);
+ HEAP32[$38>>2] = $20;
+ HEAP32[$$pre$phi24Z2D>>2] = $18;
+ $$1 = $9;$$14 = $10;
+ break;
+ }
+ $39 = ((($9)) + 24|0);
+ $40 = HEAP32[$39>>2]|0;
+ $41 = ((($9)) + 12|0);
+ $42 = HEAP32[$41>>2]|0;
+ $43 = ($42|0)==($9|0);
+ do {
+ if ($43) {
+ $53 = ((($9)) + 16|0);
+ $54 = ((($53)) + 4|0);
+ $55 = HEAP32[$54>>2]|0;
+ $56 = ($55|0)==(0|0);
+ if ($56) {
+ $57 = HEAP32[$53>>2]|0;
+ $58 = ($57|0)==(0|0);
+ if ($58) {
+ $R$3 = 0;
+ break;
+ } else {
+ $R$1 = $57;$RP$1 = $53;
+ }
+ } else {
+ $R$1 = $55;$RP$1 = $54;
+ }
+ while(1) {
+ $59 = ((($R$1)) + 20|0);
+ $60 = HEAP32[$59>>2]|0;
+ $61 = ($60|0)==(0|0);
+ if (!($61)) {
+ $R$1 = $60;$RP$1 = $59;
+ continue;
+ }
+ $62 = ((($R$1)) + 16|0);
+ $63 = HEAP32[$62>>2]|0;
+ $64 = ($63|0)==(0|0);
+ if ($64) {
+ $R$1$lcssa = $R$1;$RP$1$lcssa = $RP$1;
+ break;
+ } else {
+ $R$1 = $63;$RP$1 = $62;
+ }
+ }
+ $65 = ($RP$1$lcssa>>>0)<($11>>>0);
+ if ($65) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP$1$lcssa>>2] = 0;
+ $R$3 = $R$1$lcssa;
+ break;
+ }
+ } else {
+ $44 = ((($9)) + 8|0);
+ $45 = HEAP32[$44>>2]|0;
+ $46 = ($45>>>0)<($11>>>0);
+ if ($46) {
+ _abort();
+ // unreachable;
+ }
+ $47 = ((($45)) + 12|0);
+ $48 = HEAP32[$47>>2]|0;
+ $49 = ($48|0)==($9|0);
+ if (!($49)) {
+ _abort();
+ // unreachable;
+ }
+ $50 = ((($42)) + 8|0);
+ $51 = HEAP32[$50>>2]|0;
+ $52 = ($51|0)==($9|0);
+ if ($52) {
+ HEAP32[$47>>2] = $42;
+ HEAP32[$50>>2] = $45;
+ $R$3 = $42;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $66 = ($40|0)==(0|0);
+ if ($66) {
+ $$1 = $9;$$14 = $10;
+ } else {
+ $67 = ((($9)) + 28|0);
+ $68 = HEAP32[$67>>2]|0;
+ $69 = (71484 + ($68<<2)|0);
+ $70 = HEAP32[$69>>2]|0;
+ $71 = ($9|0)==($70|0);
+ if ($71) {
+ HEAP32[$69>>2] = $R$3;
+ $cond = ($R$3|0)==(0|0);
+ if ($cond) {
+ $72 = 1 << $68;
+ $73 = $72 ^ -1;
+ $74 = HEAP32[(71184)>>2]|0;
+ $75 = $74 & $73;
+ HEAP32[(71184)>>2] = $75;
+ $$1 = $9;$$14 = $10;
+ break;
+ }
+ } else {
+ $76 = HEAP32[(71196)>>2]|0;
+ $77 = ($40>>>0)<($76>>>0);
+ if ($77) {
+ _abort();
+ // unreachable;
+ }
+ $78 = ((($40)) + 16|0);
+ $79 = HEAP32[$78>>2]|0;
+ $80 = ($79|0)==($9|0);
+ if ($80) {
+ HEAP32[$78>>2] = $R$3;
+ } else {
+ $81 = ((($40)) + 20|0);
+ HEAP32[$81>>2] = $R$3;
+ }
+ $82 = ($R$3|0)==(0|0);
+ if ($82) {
+ $$1 = $9;$$14 = $10;
+ break;
+ }
+ }
+ $83 = HEAP32[(71196)>>2]|0;
+ $84 = ($R$3>>>0)<($83>>>0);
+ if ($84) {
+ _abort();
+ // unreachable;
+ }
+ $85 = ((($R$3)) + 24|0);
+ HEAP32[$85>>2] = $40;
+ $86 = ((($9)) + 16|0);
+ $87 = HEAP32[$86>>2]|0;
+ $88 = ($87|0)==(0|0);
+ do {
+ if (!($88)) {
+ $89 = ($87>>>0)<($83>>>0);
+ if ($89) {
+ _abort();
+ // unreachable;
+ } else {
+ $90 = ((($R$3)) + 16|0);
+ HEAP32[$90>>2] = $87;
+ $91 = ((($87)) + 24|0);
+ HEAP32[$91>>2] = $R$3;
+ break;
+ }
+ }
+ } while(0);
+ $92 = ((($86)) + 4|0);
+ $93 = HEAP32[$92>>2]|0;
+ $94 = ($93|0)==(0|0);
+ if ($94) {
+ $$1 = $9;$$14 = $10;
+ } else {
+ $95 = HEAP32[(71196)>>2]|0;
+ $96 = ($93>>>0)<($95>>>0);
+ if ($96) {
+ _abort();
+ // unreachable;
+ } else {
+ $97 = ((($R$3)) + 20|0);
+ HEAP32[$97>>2] = $93;
+ $98 = ((($93)) + 24|0);
+ HEAP32[$98>>2] = $R$3;
+ $$1 = $9;$$14 = $10;
+ break;
+ }
+ }
+ }
+ } else {
+ $$1 = $p;$$14 = $psize;
+ }
+ } while(0);
+ $107 = HEAP32[(71196)>>2]|0;
+ $108 = ($0>>>0)<($107>>>0);
+ if ($108) {
+ _abort();
+ // unreachable;
+ }
+ $109 = ((($0)) + 4|0);
+ $110 = HEAP32[$109>>2]|0;
+ $111 = $110 & 2;
+ $112 = ($111|0)==(0);
+ if ($112) {
+ $113 = HEAP32[(71204)>>2]|0;
+ $114 = ($0|0)==($113|0);
+ if ($114) {
+ $115 = HEAP32[(71192)>>2]|0;
+ $116 = (($115) + ($$14))|0;
+ HEAP32[(71192)>>2] = $116;
+ HEAP32[(71204)>>2] = $$1;
+ $117 = $116 | 1;
+ $118 = ((($$1)) + 4|0);
+ HEAP32[$118>>2] = $117;
+ $119 = HEAP32[(71200)>>2]|0;
+ $120 = ($$1|0)==($119|0);
+ if (!($120)) {
+ return;
+ }
+ HEAP32[(71200)>>2] = 0;
+ HEAP32[(71188)>>2] = 0;
+ return;
+ }
+ $121 = HEAP32[(71200)>>2]|0;
+ $122 = ($0|0)==($121|0);
+ if ($122) {
+ $123 = HEAP32[(71188)>>2]|0;
+ $124 = (($123) + ($$14))|0;
+ HEAP32[(71188)>>2] = $124;
+ HEAP32[(71200)>>2] = $$1;
+ $125 = $124 | 1;
+ $126 = ((($$1)) + 4|0);
+ HEAP32[$126>>2] = $125;
+ $127 = (($$1) + ($124)|0);
+ HEAP32[$127>>2] = $124;
+ return;
+ }
+ $128 = $110 & -8;
+ $129 = (($128) + ($$14))|0;
+ $130 = $110 >>> 3;
+ $131 = ($110>>>0)<(256);
+ do {
+ if ($131) {
+ $132 = ((($0)) + 8|0);
+ $133 = HEAP32[$132>>2]|0;
+ $134 = ((($0)) + 12|0);
+ $135 = HEAP32[$134>>2]|0;
+ $136 = $130 << 1;
+ $137 = (71220 + ($136<<2)|0);
+ $138 = ($133|0)==($137|0);
+ if (!($138)) {
+ $139 = ($133>>>0)<($107>>>0);
+ if ($139) {
+ _abort();
+ // unreachable;
+ }
+ $140 = ((($133)) + 12|0);
+ $141 = HEAP32[$140>>2]|0;
+ $142 = ($141|0)==($0|0);
+ if (!($142)) {
+ _abort();
+ // unreachable;
+ }
+ }
+ $143 = ($135|0)==($133|0);
+ if ($143) {
+ $144 = 1 << $130;
+ $145 = $144 ^ -1;
+ $146 = HEAP32[17795]|0;
+ $147 = $146 & $145;
+ HEAP32[17795] = $147;
+ break;
+ }
+ $148 = ($135|0)==($137|0);
+ if ($148) {
+ $$pre21 = ((($135)) + 8|0);
+ $$pre$phi22Z2D = $$pre21;
+ } else {
+ $149 = ($135>>>0)<($107>>>0);
+ if ($149) {
+ _abort();
+ // unreachable;
+ }
+ $150 = ((($135)) + 8|0);
+ $151 = HEAP32[$150>>2]|0;
+ $152 = ($151|0)==($0|0);
+ if ($152) {
+ $$pre$phi22Z2D = $150;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ $153 = ((($133)) + 12|0);
+ HEAP32[$153>>2] = $135;
+ HEAP32[$$pre$phi22Z2D>>2] = $133;
+ } else {
+ $154 = ((($0)) + 24|0);
+ $155 = HEAP32[$154>>2]|0;
+ $156 = ((($0)) + 12|0);
+ $157 = HEAP32[$156>>2]|0;
+ $158 = ($157|0)==($0|0);
+ do {
+ if ($158) {
+ $168 = ((($0)) + 16|0);
+ $169 = ((($168)) + 4|0);
+ $170 = HEAP32[$169>>2]|0;
+ $171 = ($170|0)==(0|0);
+ if ($171) {
+ $172 = HEAP32[$168>>2]|0;
+ $173 = ($172|0)==(0|0);
+ if ($173) {
+ $R7$3 = 0;
+ break;
+ } else {
+ $R7$1 = $172;$RP9$1 = $168;
+ }
+ } else {
+ $R7$1 = $170;$RP9$1 = $169;
+ }
+ while(1) {
+ $174 = ((($R7$1)) + 20|0);
+ $175 = HEAP32[$174>>2]|0;
+ $176 = ($175|0)==(0|0);
+ if (!($176)) {
+ $R7$1 = $175;$RP9$1 = $174;
+ continue;
+ }
+ $177 = ((($R7$1)) + 16|0);
+ $178 = HEAP32[$177>>2]|0;
+ $179 = ($178|0)==(0|0);
+ if ($179) {
+ $R7$1$lcssa = $R7$1;$RP9$1$lcssa = $RP9$1;
+ break;
+ } else {
+ $R7$1 = $178;$RP9$1 = $177;
+ }
+ }
+ $180 = ($RP9$1$lcssa>>>0)<($107>>>0);
+ if ($180) {
+ _abort();
+ // unreachable;
+ } else {
+ HEAP32[$RP9$1$lcssa>>2] = 0;
+ $R7$3 = $R7$1$lcssa;
+ break;
+ }
+ } else {
+ $159 = ((($0)) + 8|0);
+ $160 = HEAP32[$159>>2]|0;
+ $161 = ($160>>>0)<($107>>>0);
+ if ($161) {
+ _abort();
+ // unreachable;
+ }
+ $162 = ((($160)) + 12|0);
+ $163 = HEAP32[$162>>2]|0;
+ $164 = ($163|0)==($0|0);
+ if (!($164)) {
+ _abort();
+ // unreachable;
+ }
+ $165 = ((($157)) + 8|0);
+ $166 = HEAP32[$165>>2]|0;
+ $167 = ($166|0)==($0|0);
+ if ($167) {
+ HEAP32[$162>>2] = $157;
+ HEAP32[$165>>2] = $160;
+ $R7$3 = $157;
+ break;
+ } else {
+ _abort();
+ // unreachable;
+ }
+ }
+ } while(0);
+ $181 = ($155|0)==(0|0);
+ if (!($181)) {
+ $182 = ((($0)) + 28|0);
+ $183 = HEAP32[$182>>2]|0;
+ $184 = (71484 + ($183<<2)|0);
+ $185 = HEAP32[$184>>2]|0;
+ $186 = ($0|0)==($185|0);
+ if ($186) {
+ HEAP32[$184>>2] = $R7$3;
+ $cond16 = ($R7$3|0)==(0|0);
+ if ($cond16) {
+ $187 = 1 << $183;
+ $188 = $187 ^ -1;
+ $189 = HEAP32[(71184)>>2]|0;
+ $190 = $189 & $188;
+ HEAP32[(71184)>>2] = $190;
+ break;
+ }
+ } else {
+ $191 = HEAP32[(71196)>>2]|0;
+ $192 = ($155>>>0)<($191>>>0);
+ if ($192) {
+ _abort();
+ // unreachable;
+ }
+ $193 = ((($155)) + 16|0);
+ $194 = HEAP32[$193>>2]|0;
+ $195 = ($194|0)==($0|0);
+ if ($195) {
+ HEAP32[$193>>2] = $R7$3;
+ } else {
+ $196 = ((($155)) + 20|0);
+ HEAP32[$196>>2] = $R7$3;
+ }
+ $197 = ($R7$3|0)==(0|0);
+ if ($197) {
+ break;
+ }
+ }
+ $198 = HEAP32[(71196)>>2]|0;
+ $199 = ($R7$3>>>0)<($198>>>0);
+ if ($199) {
+ _abort();
+ // unreachable;
+ }
+ $200 = ((($R7$3)) + 24|0);
+ HEAP32[$200>>2] = $155;
+ $201 = ((($0)) + 16|0);
+ $202 = HEAP32[$201>>2]|0;
+ $203 = ($202|0)==(0|0);
+ do {
+ if (!($203)) {
+ $204 = ($202>>>0)<($198>>>0);
+ if ($204) {
+ _abort();
+ // unreachable;
+ } else {
+ $205 = ((($R7$3)) + 16|0);
+ HEAP32[$205>>2] = $202;
+ $206 = ((($202)) + 24|0);
+ HEAP32[$206>>2] = $R7$3;
+ break;
+ }
+ }
+ } while(0);
+ $207 = ((($201)) + 4|0);
+ $208 = HEAP32[$207>>2]|0;
+ $209 = ($208|0)==(0|0);
+ if (!($209)) {
+ $210 = HEAP32[(71196)>>2]|0;
+ $211 = ($208>>>0)<($210>>>0);
+ if ($211) {
+ _abort();
+ // unreachable;
+ } else {
+ $212 = ((($R7$3)) + 20|0);
+ HEAP32[$212>>2] = $208;
+ $213 = ((($208)) + 24|0);
+ HEAP32[$213>>2] = $R7$3;
+ break;
+ }
+ }
+ }
+ }
+ } while(0);
+ $214 = $129 | 1;
+ $215 = ((($$1)) + 4|0);
+ HEAP32[$215>>2] = $214;
+ $216 = (($$1) + ($129)|0);
+ HEAP32[$216>>2] = $129;
+ $217 = HEAP32[(71200)>>2]|0;
+ $218 = ($$1|0)==($217|0);
+ if ($218) {
+ HEAP32[(71188)>>2] = $129;
+ return;
+ } else {
+ $$2 = $129;
+ }
+ } else {
+ $219 = $110 & -2;
+ HEAP32[$109>>2] = $219;
+ $220 = $$14 | 1;
+ $221 = ((($$1)) + 4|0);
+ HEAP32[$221>>2] = $220;
+ $222 = (($$1) + ($$14)|0);
+ HEAP32[$222>>2] = $$14;
+ $$2 = $$14;
+ }
+ $223 = $$2 >>> 3;
+ $224 = ($$2>>>0)<(256);
+ if ($224) {
+ $225 = $223 << 1;
+ $226 = (71220 + ($225<<2)|0);
+ $227 = HEAP32[17795]|0;
+ $228 = 1 << $223;
+ $229 = $227 & $228;
+ $230 = ($229|0)==(0);
+ if ($230) {
+ $231 = $227 | $228;
+ HEAP32[17795] = $231;
+ $$pre = ((($226)) + 8|0);
+ $$pre$phiZ2D = $$pre;$F17$0 = $226;
+ } else {
+ $232 = ((($226)) + 8|0);
+ $233 = HEAP32[$232>>2]|0;
+ $234 = HEAP32[(71196)>>2]|0;
+ $235 = ($233>>>0)<($234>>>0);
+ if ($235) {
+ _abort();
+ // unreachable;
+ } else {
+ $$pre$phiZ2D = $232;$F17$0 = $233;
+ }
+ }
+ HEAP32[$$pre$phiZ2D>>2] = $$1;
+ $236 = ((($F17$0)) + 12|0);
+ HEAP32[$236>>2] = $$1;
+ $237 = ((($$1)) + 8|0);
+ HEAP32[$237>>2] = $F17$0;
+ $238 = ((($$1)) + 12|0);
+ HEAP32[$238>>2] = $226;
+ return;
+ }
+ $239 = $$2 >>> 8;
+ $240 = ($239|0)==(0);
+ if ($240) {
+ $I20$0 = 0;
+ } else {
+ $241 = ($$2>>>0)>(16777215);
+ if ($241) {
+ $I20$0 = 31;
+ } else {
+ $242 = (($239) + 1048320)|0;
+ $243 = $242 >>> 16;
+ $244 = $243 & 8;
+ $245 = $239 << $244;
+ $246 = (($245) + 520192)|0;
+ $247 = $246 >>> 16;
+ $248 = $247 & 4;
+ $249 = $248 | $244;
+ $250 = $245 << $248;
+ $251 = (($250) + 245760)|0;
+ $252 = $251 >>> 16;
+ $253 = $252 & 2;
+ $254 = $249 | $253;
+ $255 = (14 - ($254))|0;
+ $256 = $250 << $253;
+ $257 = $256 >>> 15;
+ $258 = (($255) + ($257))|0;
+ $259 = $258 << 1;
+ $260 = (($258) + 7)|0;
+ $261 = $$2 >>> $260;
+ $262 = $261 & 1;
+ $263 = $262 | $259;
+ $I20$0 = $263;
+ }
+ }
+ $264 = (71484 + ($I20$0<<2)|0);
+ $265 = ((($$1)) + 28|0);
+ HEAP32[$265>>2] = $I20$0;
+ $266 = ((($$1)) + 16|0);
+ $267 = ((($$1)) + 20|0);
+ HEAP32[$267>>2] = 0;
+ HEAP32[$266>>2] = 0;
+ $268 = HEAP32[(71184)>>2]|0;
+ $269 = 1 << $I20$0;
+ $270 = $268 & $269;
+ $271 = ($270|0)==(0);
+ if ($271) {
+ $272 = $268 | $269;
+ HEAP32[(71184)>>2] = $272;
+ HEAP32[$264>>2] = $$1;
+ $273 = ((($$1)) + 24|0);
+ HEAP32[$273>>2] = $264;
+ $274 = ((($$1)) + 12|0);
+ HEAP32[$274>>2] = $$1;
+ $275 = ((($$1)) + 8|0);
+ HEAP32[$275>>2] = $$1;
+ return;
+ }
+ $276 = HEAP32[$264>>2]|0;
+ $277 = ($I20$0|0)==(31);
+ $278 = $I20$0 >>> 1;
+ $279 = (25 - ($278))|0;
+ $280 = $277 ? 0 : $279;
+ $281 = $$2 << $280;
+ $K21$0 = $281;$T$0 = $276;
+ while(1) {
+ $282 = ((($T$0)) + 4|0);
+ $283 = HEAP32[$282>>2]|0;
+ $284 = $283 & -8;
+ $285 = ($284|0)==($$2|0);
+ if ($285) {
+ $T$0$lcssa = $T$0;
+ label = 127;
+ break;
+ }
+ $286 = $K21$0 >>> 31;
+ $287 = (((($T$0)) + 16|0) + ($286<<2)|0);
+ $288 = $K21$0 << 1;
+ $289 = HEAP32[$287>>2]|0;
+ $290 = ($289|0)==(0|0);
+ if ($290) {
+ $$lcssa = $287;$T$0$lcssa30 = $T$0;
+ label = 124;
+ break;
+ } else {
+ $K21$0 = $288;$T$0 = $289;
+ }
+ }
+ if ((label|0) == 124) {
+ $291 = HEAP32[(71196)>>2]|0;
+ $292 = ($$lcssa>>>0)<($291>>>0);
+ if ($292) {
+ _abort();
+ // unreachable;
+ }
+ HEAP32[$$lcssa>>2] = $$1;
+ $293 = ((($$1)) + 24|0);
+ HEAP32[$293>>2] = $T$0$lcssa30;
+ $294 = ((($$1)) + 12|0);
+ HEAP32[$294>>2] = $$1;
+ $295 = ((($$1)) + 8|0);
+ HEAP32[$295>>2] = $$1;
+ return;
+ }
+ else if ((label|0) == 127) {
+ $296 = ((($T$0$lcssa)) + 8|0);
+ $297 = HEAP32[$296>>2]|0;
+ $298 = HEAP32[(71196)>>2]|0;
+ $299 = ($297>>>0)>=($298>>>0);
+ $not$ = ($T$0$lcssa>>>0)>=($298>>>0);
+ $300 = $299 & $not$;
+ if (!($300)) {
+ _abort();
+ // unreachable;
+ }
+ $301 = ((($297)) + 12|0);
+ HEAP32[$301>>2] = $$1;
+ HEAP32[$296>>2] = $$1;
+ $302 = ((($$1)) + 8|0);
+ HEAP32[$302>>2] = $297;
+ $303 = ((($$1)) + 12|0);
+ HEAP32[$303>>2] = $T$0$lcssa;
+ $304 = ((($$1)) + 24|0);
+ HEAP32[$304>>2] = 0;
+ return;
+ }
+}
+function runPostSets() {
+}
+function _i64Subtract(a, b, c, d) {
+ a = a|0; b = b|0; c = c|0; d = d|0;
+ var l = 0, h = 0;
+ l = (a - c)>>>0;
+ h = (b - d)>>>0;
+ h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
+ return ((tempRet0 = h,l|0)|0);
+}
+function _i64Add(a, b, c, d) {
+ /*
+ x = a + b*2^32
+ y = c + d*2^32
+ result = l + h*2^32
+ */
+ a = a|0; b = b|0; c = c|0; d = d|0;
+ var l = 0, h = 0;
+ l = (a + c)>>>0;
+ h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
+ return ((tempRet0 = h,l|0)|0);
+}
+function _bitshift64Ashr(low, high, bits) {
+ low = low|0; high = high|0; bits = bits|0;
+ var ander = 0;
+ if ((bits|0) < 32) {
+ ander = ((1 << bits) - 1)|0;
+ tempRet0 = high >> bits;
+ return (low >>> bits) | ((high&ander) << (32 - bits));
+ }
+ tempRet0 = (high|0) < 0 ? -1 : 0;
+ return (high >> (bits - 32))|0;
+}
+function _bitshift64Lshr(low, high, bits) {
+ low = low|0; high = high|0; bits = bits|0;
+ var ander = 0;
+ if ((bits|0) < 32) {
+ ander = ((1 << bits) - 1)|0;
+ tempRet0 = high >>> bits;
+ return (low >>> bits) | ((high&ander) << (32 - bits));
+ }
+ tempRet0 = 0;
+ return (high >>> (bits - 32))|0;
+}
+function _memcpy(dest, src, num) {
+ dest = dest|0; src = src|0; num = num|0;
+ var ret = 0;
+ if ((num|0) >= 4096) return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
+ ret = dest|0;
+ if ((dest&3) == (src&3)) {
+ while (dest & 3) {
+ if ((num|0) == 0) return ret|0;
+ HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
+ dest = (dest+1)|0;
+ src = (src+1)|0;
+ num = (num-1)|0;
+ }
+ while ((num|0) >= 4) {
+ HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
+ dest = (dest+4)|0;
+ src = (src+4)|0;
+ num = (num-4)|0;
+ }
+ }
+ while ((num|0) > 0) {
+ HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
+ dest = (dest+1)|0;
+ src = (src+1)|0;
+ num = (num-1)|0;
+ }
+ return ret|0;
+}
+function _memmove(dest, src, num) {
+ dest = dest|0; src = src|0; num = num|0;
+ var ret = 0;
+ if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
+ // Unlikely case: Copy backwards in a safe manner
+ ret = dest;
+ src = (src + num)|0;
+ dest = (dest + num)|0;
+ while ((num|0) > 0) {
+ dest = (dest - 1)|0;
+ src = (src - 1)|0;
+ num = (num - 1)|0;
+ HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
+ }
+ dest = ret;
+ } else {
+ _memcpy(dest, src, num) | 0;
+ }
+ return dest | 0;
+}
+function _memset(ptr, value, num) {
+ ptr = ptr|0; value = value|0; num = num|0;
+ var stop = 0, value4 = 0, stop4 = 0, unaligned = 0;
+ stop = (ptr + num)|0;
+ if ((num|0) >= 20) {
+ // This is unaligned, but quite large, so work hard to get to aligned settings
+ value = value & 0xff;
+ unaligned = ptr & 3;
+ value4 = value | (value << 8) | (value << 16) | (value << 24);
+ stop4 = stop & ~3;
+ if (unaligned) {
+ unaligned = (ptr + 4 - unaligned)|0;
+ while ((ptr|0) < (unaligned|0)) { // no need to check for stop, since we have large num
+ HEAP8[((ptr)>>0)]=value;
+ ptr = (ptr+1)|0;
+ }
+ }
+ while ((ptr|0) < (stop4|0)) {
+ HEAP32[((ptr)>>2)]=value4;
+ ptr = (ptr+4)|0;
+ }
+ }
+ while ((ptr|0) < (stop|0)) {
+ HEAP8[((ptr)>>0)]=value;
+ ptr = (ptr+1)|0;
+ }
+ return (ptr-num)|0;
+}
+function _llvm_cttz_i32(x) {
+ x = x|0;
+ var ret = 0;
+ ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0);
+ if ((ret|0) < 8) return ret|0;
+ ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0);
+ if ((ret|0) < 8) return (ret + 8)|0;
+ ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0);
+ if ((ret|0) < 8) return (ret + 16)|0;
+ return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0;
+}
+function _llvm_bswap_i32(x) {
+ x = x|0;
+ return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
+}
+function _bitshift64Shl(low, high, bits) {
+ low = low|0; high = high|0; bits = bits|0;
+ var ander = 0;
+ if ((bits|0) < 32) {
+ ander = ((1 << bits) - 1)|0;
+ tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
+ return low << bits;
+ }
+ tempRet0 = low << (bits - 32);
+ return 0;
+}
+// ======== compiled code from system/lib/compiler-rt , see readme therein
+function ___muldsi3($a, $b) {
+ $a = $a | 0;
+ $b = $b | 0;
+ var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
+ $1 = $a & 65535;
+ $2 = $b & 65535;
+ $3 = Math_imul($2, $1) | 0;
+ $6 = $a >>> 16;
+ $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
+ $11 = $b >>> 16;
+ $12 = Math_imul($11, $1) | 0;
+ return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
+}
+function ___divdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $7$0 = 0, $7$1 = 0, $8$0 = 0, $10$0 = 0;
+ $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
+ $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
+ $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
+ $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
+ $4$0 = _i64Subtract($1$0 ^ $a$0 | 0, $1$1 ^ $a$1 | 0, $1$0 | 0, $1$1 | 0) | 0;
+ $4$1 = tempRet0;
+ $6$0 = _i64Subtract($2$0 ^ $b$0 | 0, $2$1 ^ $b$1 | 0, $2$0 | 0, $2$1 | 0) | 0;
+ $7$0 = $2$0 ^ $1$0;
+ $7$1 = $2$1 ^ $1$1;
+ $8$0 = ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, 0) | 0;
+ $10$0 = _i64Subtract($8$0 ^ $7$0 | 0, tempRet0 ^ $7$1 | 0, $7$0 | 0, $7$1 | 0) | 0;
+ return $10$0 | 0;
+}
+function ___remdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $rem = 0, $1$0 = 0, $1$1 = 0, $2$0 = 0, $2$1 = 0, $4$0 = 0, $4$1 = 0, $6$0 = 0, $10$0 = 0, $10$1 = 0, __stackBase__ = 0;
+ __stackBase__ = STACKTOP;
+ STACKTOP = STACKTOP + 16 | 0;
+ $rem = __stackBase__ | 0;
+ $1$0 = $a$1 >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
+ $1$1 = (($a$1 | 0) < 0 ? -1 : 0) >> 31 | (($a$1 | 0) < 0 ? -1 : 0) << 1;
+ $2$0 = $b$1 >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
+ $2$1 = (($b$1 | 0) < 0 ? -1 : 0) >> 31 | (($b$1 | 0) < 0 ? -1 : 0) << 1;
+ $4$0 = _i64Subtract($1$0 ^ $a$0 | 0, $1$1 ^ $a$1 | 0, $1$0 | 0, $1$1 | 0) | 0;
+ $4$1 = tempRet0;
+ $6$0 = _i64Subtract($2$0 ^ $b$0 | 0, $2$1 ^ $b$1 | 0, $2$0 | 0, $2$1 | 0) | 0;
+ ___udivmoddi4($4$0, $4$1, $6$0, tempRet0, $rem) | 0;
+ $10$0 = _i64Subtract(HEAP32[$rem >> 2] ^ $1$0 | 0, HEAP32[$rem + 4 >> 2] ^ $1$1 | 0, $1$0 | 0, $1$1 | 0) | 0;
+ $10$1 = tempRet0;
+ STACKTOP = __stackBase__;
+ return (tempRet0 = $10$1, $10$0) | 0;
+}
+function ___muldi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
+ $x_sroa_0_0_extract_trunc = $a$0;
+ $y_sroa_0_0_extract_trunc = $b$0;
+ $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
+ $1$1 = tempRet0;
+ $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
+ return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
+}
+function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $1$0 = 0;
+ $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
+ return $1$0 | 0;
+}
+function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ var $rem = 0, __stackBase__ = 0;
+ __stackBase__ = STACKTOP;
+ STACKTOP = STACKTOP + 16 | 0;
+ $rem = __stackBase__ | 0;
+ ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
+ STACKTOP = __stackBase__;
+ return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
+}
+function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
+ $a$0 = $a$0 | 0;
+ $a$1 = $a$1 | 0;
+ $b$0 = $b$0 | 0;
+ $b$1 = $b$1 | 0;
+ $rem = $rem | 0;
+ var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
+ $n_sroa_0_0_extract_trunc = $a$0;
+ $n_sroa_1_4_extract_shift$0 = $a$1;
+ $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
+ $d_sroa_0_0_extract_trunc = $b$0;
+ $d_sroa_1_4_extract_shift$0 = $b$1;
+ $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
+ if (($n_sroa_1_4_extract_trunc | 0) == 0) {
+ $4 = ($rem | 0) != 0;
+ if (($d_sroa_1_4_extract_trunc | 0) == 0) {
+ if ($4) {
+ HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
+ HEAP32[$rem + 4 >> 2] = 0;
+ }
+ $_0$1 = 0;
+ $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ } else {
+ if (!$4) {
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ HEAP32[$rem >> 2] = $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $a$1 & 0;
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ }
+ $17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
+ do {
+ if (($d_sroa_0_0_extract_trunc | 0) == 0) {
+ if ($17) {
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
+ HEAP32[$rem + 4 >> 2] = 0;
+ }
+ $_0$1 = 0;
+ $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ if (($n_sroa_0_0_extract_trunc | 0) == 0) {
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = 0;
+ HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
+ }
+ $_0$1 = 0;
+ $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ $37 = $d_sroa_1_4_extract_trunc - 1 | 0;
+ if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = 0 | $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
+ }
+ $_0$1 = 0;
+ $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
+ $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
+ if ($51 >>> 0 <= 30) {
+ $57 = $51 + 1 | 0;
+ $58 = 31 - $51 | 0;
+ $sr_1_ph = $57;
+ $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
+ $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
+ $q_sroa_0_1_ph = 0;
+ $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
+ break;
+ }
+ if (($rem | 0) == 0) {
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ HEAP32[$rem >> 2] = 0 | $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ } else {
+ if (!$17) {
+ $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
+ $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
+ if ($119 >>> 0 <= 31) {
+ $125 = $119 + 1 | 0;
+ $126 = 31 - $119 | 0;
+ $130 = $119 - 31 >> 31;
+ $sr_1_ph = $125;
+ $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
+ $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
+ $q_sroa_0_1_ph = 0;
+ $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
+ break;
+ }
+ if (($rem | 0) == 0) {
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ HEAP32[$rem >> 2] = 0 | $a$0 & -1;
+ HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
+ $_0$1 = 0;
+ $_0$0 = 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ $66 = $d_sroa_0_0_extract_trunc - 1 | 0;
+ if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
+ $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
+ $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
+ $89 = 64 - $88 | 0;
+ $91 = 32 - $88 | 0;
+ $92 = $91 >> 31;
+ $95 = $88 - 32 | 0;
+ $105 = $95 >> 31;
+ $sr_1_ph = $88;
+ $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
+ $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
+ $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
+ $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
+ break;
+ }
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
+ HEAP32[$rem + 4 >> 2] = 0;
+ }
+ if (($d_sroa_0_0_extract_trunc | 0) == 1) {
+ $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
+ $_0$0 = 0 | $a$0 & -1;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ } else {
+ $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
+ $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
+ $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+ }
+ }
+ } while (0);
+ if (($sr_1_ph | 0) == 0) {
+ $q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
+ $q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
+ $r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
+ $r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
+ $carry_0_lcssa$1 = 0;
+ $carry_0_lcssa$0 = 0;
+ } else {
+ $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
+ $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
+ $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
+ $137$1 = tempRet0;
+ $q_sroa_1_1198 = $q_sroa_1_1_ph;
+ $q_sroa_0_1199 = $q_sroa_0_1_ph;
+ $r_sroa_1_1200 = $r_sroa_1_1_ph;
+ $r_sroa_0_1201 = $r_sroa_0_1_ph;
+ $sr_1202 = $sr_1_ph;
+ $carry_0203 = 0;
+ while (1) {
+ $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
+ $149 = $carry_0203 | $q_sroa_0_1199 << 1;
+ $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
+ $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
+ _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
+ $150$1 = tempRet0;
+ $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
+ $152 = $151$0 & 1;
+ $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
+ $r_sroa_0_0_extract_trunc = $154$0;
+ $r_sroa_1_4_extract_trunc = tempRet0;
+ $155 = $sr_1202 - 1 | 0;
+ if (($155 | 0) == 0) {
+ break;
+ } else {
+ $q_sroa_1_1198 = $147;
+ $q_sroa_0_1199 = $149;
+ $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
+ $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
+ $sr_1202 = $155;
+ $carry_0203 = $152;
+ }
+ }
+ $q_sroa_1_1_lcssa = $147;
+ $q_sroa_0_1_lcssa = $149;
+ $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
+ $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
+ $carry_0_lcssa$1 = 0;
+ $carry_0_lcssa$0 = $152;
+ }
+ $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
+ $q_sroa_0_0_insert_ext75$1 = 0;
+ $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
+ if (($rem | 0) != 0) {
+ HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
+ HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
+ }
+ $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
+ $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
+ return (tempRet0 = $_0$1, $_0$0) | 0;
+}
+// =======================================================================
+
+
+
+function dynCall_iiii(index,a1,a2,a3) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0;
+ return FUNCTION_TABLE_iiii[index&127](a1|0,a2|0,a3|0)|0;
+}
+
+function dynCall_viiiii(index,a1,a2,a3,a4,a5) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0;
+ FUNCTION_TABLE_viiiii[index&127](a1|0,a2|0,a3|0,a4|0,a5|0);
+}
+
+
+function dynCall_vi(index,a1) {
+ index = index|0;
+ a1=a1|0;
+ FUNCTION_TABLE_vi[index&127](a1|0);
+}
+
+
+function dynCall_vii(index,a1,a2) {
+ index = index|0;
+ a1=a1|0; a2=a2|0;
+ FUNCTION_TABLE_vii[index&63](a1|0,a2|0);
+}
+
+
+function dynCall_ii(index,a1) {
+ index = index|0;
+ a1=a1|0;
+ return FUNCTION_TABLE_ii[index&63](a1|0)|0;
+}
+
+
+function dynCall_viii(index,a1,a2,a3) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0;
+ FUNCTION_TABLE_viii[index&127](a1|0,a2|0,a3|0);
+}
+
+
+function dynCall_v(index) {
+ index = index|0;
+
+ FUNCTION_TABLE_v[index&127]();
+}
+
+
+function dynCall_iiiii(index,a1,a2,a3,a4) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
+ return FUNCTION_TABLE_iiiii[index&127](a1|0,a2|0,a3|0,a4|0)|0;
+}
+
+
+function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0;
+ FUNCTION_TABLE_viiiiii[index&63](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0);
+}
+
+
+function dynCall_iii(index,a1,a2) {
+ index = index|0;
+ a1=a1|0; a2=a2|0;
+ return FUNCTION_TABLE_iii[index&127](a1|0,a2|0)|0;
+}
+
+
+function dynCall_viiii(index,a1,a2,a3,a4) {
+ index = index|0;
+ a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
+ FUNCTION_TABLE_viiii[index&63](a1|0,a2|0,a3|0,a4|0);
+}
+
+function b0(p0,p1,p2) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(0);return 0;
+}
+function b1(p0,p1,p2,p3,p4) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(1);
+}
+function b2(p0) {
+ p0 = p0|0; nullFunc_vi(2);
+}
+function b3(p0,p1) {
+ p0 = p0|0;p1 = p1|0; nullFunc_vii(3);
+}
+function b4(p0) {
+ p0 = p0|0; nullFunc_ii(4);return 0;
+}
+function b5(p0,p1,p2) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(5);
+}
+function b6() {
+ ; nullFunc_v(6);
+}
+function b7(p0,p1,p2,p3) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_iiiii(7);return 0;
+}
+function b8(p0,p1,p2,p3,p4,p5) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(8);
+}
+function b9(p0,p1) {
+ p0 = p0|0;p1 = p1|0; nullFunc_iii(9);return 0;
+}
+function b10(p0,p1,p2,p3) {
+ p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(10);
+}
+
+// EMSCRIPTEN_END_FUNCS
+var FUNCTION_TABLE_iiii = [b0,_rijndael_setkey,_rijndael_encrypt,_rijndael_decrypt,_run_selftests_1176,b0,b0,b0,b0,b0,b0,_rsa_encrypt,_rsa_decrypt,_rsa_sign,_rsa_verify,b0,_run_selftests_1333,b0,b0,b0,b0,_run_selftests_1372,b0,b0,b0,_run_selftests_1395,b0,b0,b0
+,b0,_run_selftests_1425,b0,_twofish_setkey,_twofish_encrypt,_twofish_decrypt,b0,b0,_ecc_encrypt_raw,_ecc_decrypt_raw,_ecc_sign,_ecc_verify,b0,_run_selftests_2065,b0,__gcry_ecc_get_curve,b0,b0,_poly1305_blocks_ref32,b0,b0,___stdout_write,___stdio_seek,___stdio_write,_sn_write,__gcry_log_info_with_dummy_fp,_fprintf,b0,b0,b0
+,b0,b0,b0,b0,b0,b0,b0,b0,b0,_do_encrypt,_do_decrypt,b0,b0,_transform,b0,_transform_1369,_transform_1391,_transform_1420,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,___stdio_read,b0
+,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
+,b0,b0,b0,b0,b0,b0,b0,b0,b0];
+var FUNCTION_TABLE_viiiii = [b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
+,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,__gcry_aes_cfb_enc,__gcry_aes_cfb_dec
+,b1,__gcry_aes_cbc_dec,__gcry_aes_ctr_enc,__gcry_aes_ocb_crypt,b1,__gcry_twofish_cbc_dec,__gcry_twofish_cfb_dec,__gcry_twofish_ctr_enc,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
+,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
+,b1,b1,b1,b1,b1,b1,b1,b1,b1];
+var FUNCTION_TABLE_vi = [b2,b2,b2,b2,b2,b2,b2,_rmd160_final,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_sha1_final,b2,b2,b2,_sha256_final,b2,b2,b2,b2,_sha512_final
+,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
+,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_ec_deinit,b2,b2,b2,b2,b2,b2,b2,_cleanup_92,_cleanup_115,b2,_do_setxid
+,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
+,b2,b2,b2,b2,b2,b2,b2,b2,b2];
+var FUNCTION_TABLE_vii = [b3,b3,b3,b3,b3,_rmd160_init,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_sha1_init,b3,b3,b3,_sha224_init,b3,b3,b3,_sha256_init,_sha512_init,b3
+,b3,b3,_sha384_init,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_poly1305_init_ext_ref32,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
+,b3,b3,b3,b3,b3];
+var FUNCTION_TABLE_ii = [b4,b4,b4,b4,b4,b4,b4,b4,_rmd160_read,b4,_rsa_check_secret_key,b4,b4,b4,b4,_rsa_get_nbits,b4,b4,b4,b4,_sha1_read,b4,b4,b4,_sha256_read,b4,b4,b4,b4
+,_sha512_read,b4,b4,b4,b4,b4,b4,_ecc_check_secret_key,b4,b4,b4,b4,_ecc_get_nbits,b4,b4,b4,__gcry_ecc_get_param_sexp,b4,b4,b4,___stdio_close,b4,b4,b4,b4,b4,b4,b4,b4,b4
+,b4,b4,b4,b4,b4];
+var FUNCTION_TABLE_viii = [b5,b5,b5,b5,b5,b5,__gcry_md_block_write,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
+,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
+,b5,b5,b5,b5,__gcry_aes_ocb_auth,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_add_randomness,_entropy_collect_cb,_read_cb,b5,b5,b5,b5,b5
+,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
+,b5,b5,b5,b5,b5,b5,b5,b5,b5];
+var FUNCTION_TABLE_v = [b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
+,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
+,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_prefetch_enc,_prefetch_dec,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_do_deinit,b6,b6,b6,b6
+,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
+,b6,b6,b6,b6,b6,b6,b6,b6,b6];
+var FUNCTION_TABLE_iiiii = [b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_poly1305_finish_ext_ref32,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_ghash_internal,_gather_faked,__gcry_rndlinux_gather_random,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
+,b7,b7,b7,b7,b7,b7,b7,b7,b7];
+var FUNCTION_TABLE_viiiiii = [b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
+,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
+,__gcry_aes_cbc_enc,b8,b8,b8,b8];
+var FUNCTION_TABLE_iii = [b9,b9,b9,b9,b9,b9,b9,b9,b9,_rsa_generate,b9,b9,b9,b9,b9,b9,b9,_compute_keygrip,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,_ecc_generate,b9,b9,b9,b9,b9,b9,b9,_compute_keygrip_2068,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,b9,b9,_pss_verify_cmp,b9,b9,b9,b9,b9,_check_exponent,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
+,b9,b9,b9,b9,b9,b9,b9,b9,b9];
+var FUNCTION_TABLE_viiii = [b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
+,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_reporter,b10,b10
+,b10,b10,b10,b10,b10];
+
+ return { _WRALL_make_purpose: _WRALL_make_purpose, _GNUNET_CRYPTO_rsa_blinding_key_encode: _GNUNET_CRYPTO_rsa_blinding_key_encode, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Ashr: _bitshift64Ashr, _GNUNET_CRYPTO_eddsa_key_create: _GNUNET_CRYPTO_eddsa_key_create, _memcpy: _memcpy, _TALER_WR_GNUNET_free: _TALER_WR_GNUNET_free, _TALER_WRALL_amount_add: _TALER_WRALL_amount_add, _GNUNET_CRYPTO_rsa_private_key_decode: _GNUNET_CRYPTO_rsa_private_key_decode, _TALER_WR_multiply_amount: _TALER_WR_multiply_amount, _GNUNET_CRYPTO_rsa_blinding_key_decode: _GNUNET_CRYPTO_rsa_blinding_key_decode, _GNUNET_CRYPTO_ecc_ecdh: _GNUNET_CRYPTO_ecc_ecdh, _TALER_amount_hton: _TALER_amount_hton, _TALER_WR_verify_sign_key_enc: _TALER_WR_verify_sign_key_enc, _free: _free, _TALER_WRALL_sign_deposit_permission: _TALER_WRALL_sign_deposit_permission, _TALER_WR_verify_denoms: _TALER_WR_verify_denoms, _GNUNET_CRYPTO_rsa_blinding_key_create: _GNUNET_CRYPTO_rsa_blinding_key_create, _TALER_WR_verify_sign_key: _TALER_WR_verify_sign_key, _TALER_WRALL_rsa_public_key_hash: _TALER_WRALL_rsa_public_key_hash, _TALER_WRALL_gen_key_from_blob: _TALER_WRALL_gen_key_from_blob, _GNUNET_CRYPTO_rsa_private_key_get_public: _GNUNET_CRYPTO_rsa_private_key_get_public, _GNUNET_CRYPTO_eddsa_verify: _GNUNET_CRYPTO_eddsa_verify, _TALER_WRALL_rsa_public_key_decode_from_string: _TALER_WRALL_rsa_public_key_decode_from_string, _GNUNET_CRYPTO_symmetric_encrypt: _GNUNET_CRYPTO_symmetric_encrypt, _TALER_WR_get_fraction: _TALER_WR_get_fraction, _TALER_WR_verify_denoms_enc: _TALER_WR_verify_denoms_enc, _TALER_amount_cmp: _TALER_amount_cmp, _TALER_WRALL_ecdhe_public_key_from_private_key: _TALER_WRALL_ecdhe_public_key_from_private_key, _llvm_cttz_i32: _llvm_cttz_i32, _TALER_WRALL_eddsa_private_key_from_string: _TALER_WRALL_eddsa_private_key_from_string, _TALER_WRALL_gen_init_vector: _TALER_WRALL_gen_init_vector, _TALER_amount_ntoh: _TALER_amount_ntoh, _WR_verify_test: _WR_verify_test, _GNUNET_CRYPTO_rsa_public_key_free: _GNUNET_CRYPTO_rsa_public_key_free, _GNUNET_CRYPTO_hkdf: _GNUNET_CRYPTO_hkdf, _GNUNET_CRYPTO_eddsa_key_get_public: _GNUNET_CRYPTO_eddsa_key_get_public, _llvm_bswap_i32: _llvm_bswap_i32, _GNUNET_CRYPTO_rsa_private_key_create: _GNUNET_CRYPTO_rsa_private_key_create, _GNUNET_STRINGS_data_to_string_alloc: _GNUNET_STRINGS_data_to_string_alloc, _TALER_WRALL_sign_test: _TALER_WRALL_sign_test, _TALER_WR_verify_confirmation: _TALER_WR_verify_confirmation, _GNUNET_CRYPTO_rsa_public_key_decode: _GNUNET_CRYPTO_rsa_public_key_decode, _GNUNET_CRYPTO_rsa_blinding_key_free: _GNUNET_CRYPTO_rsa_blinding_key_free, _GNUNET_CRYPTO_rsa_signature_encode: _GNUNET_CRYPTO_rsa_signature_encode, _GNUNET_CRYPTO_rsa_verify: _GNUNET_CRYPTO_rsa_verify, _TALER_WR_eddsa_verify: _TALER_WR_eddsa_verify, _GNUNET_STRINGS_string_to_data: _GNUNET_STRINGS_string_to_data, _TALER_WRALL_gen_symmetric_key: _TALER_WRALL_gen_symmetric_key, _TALER_WRALL_ecc_ecdh: _TALER_WRALL_ecc_ecdh, _memset: _memset, _GNUNET_CRYPTO_rsa_unblind: _GNUNET_CRYPTO_rsa_unblind, _TALER_WR_get_currency: _TALER_WR_get_currency, _DEBUG_WR_get_purpose: _DEBUG_WR_get_purpose, _TALER_WRALL_get_amount: _TALER_WRALL_get_amount, _GNUNET_CRYPTO_rsa_private_key_encode: _GNUNET_CRYPTO_rsa_private_key_encode, _GNUNET_CRYPTO_symmetric_decrypt: _GNUNET_CRYPTO_symmetric_decrypt, _i64Subtract: _i64Subtract, _TALER_WR_get_value: _TALER_WR_get_value, _GNUNET_CRYPTO_rsa_signature_free: _GNUNET_CRYPTO_rsa_signature_free, _TALER_WRALL_eddsa_public_key_from_priv_string: _TALER_WRALL_eddsa_public_key_from_priv_string, _GNUNET_CRYPTO_rsa_blind: _GNUNET_CRYPTO_rsa_blind, _TALER_WR_verify_denom_enc: _TALER_WR_verify_denom_enc, _malloc: _malloc, _TALER_WR_hello_world: _TALER_WR_hello_world, _TALER_WRALL_make_withdraw_bundle: _TALER_WRALL_make_withdraw_bundle, _GNUNET_CRYPTO_rsa_signature_decode: _GNUNET_CRYPTO_rsa_signature_decode, _GNUNET_CRYPTO_rsa_sign: _GNUNET_CRYPTO_rsa_sign, _GNUNET_CRYPTO_ecdhe_key_create: _GNUNET_CRYPTO_ecdhe_key_create, _TALER_WRALL_get_encoding_from_rsa_signature: _TALER_WRALL_get_encoding_from_rsa_signature, _TALER_WRALL_hash: _TALER_WRALL_hash, _TALER_amount_normalize: _TALER_amount_normalize, _TALER_WRALL_sign_contract: _TALER_WRALL_sign_contract, _bitshift64Shl: _bitshift64Shl, _GNUNET_CRYPTO_rsa_private_key_free: _GNUNET_CRYPTO_rsa_private_key_free, _fflush: _fflush, _GNUNET_CRYPTO_hash_create_random: _GNUNET_CRYPTO_hash_create_random, _TALER_WRALL_eddsa_public_key_from_private: _TALER_WRALL_eddsa_public_key_from_private, _TALER_WR_multiply_amounts: _TALER_WR_multiply_amounts, _TALER_amount_add: _TALER_amount_add, _GNUNET_CRYPTO_ecdhe_key_get_public: _GNUNET_CRYPTO_ecdhe_key_get_public, _TALER_amount_subtract: _TALER_amount_subtract, _i64Add: _i64Add, _TALER_WRALL_purpose_create: _TALER_WRALL_purpose_create, _GNUNET_CRYPTO_eddsa_sign: _GNUNET_CRYPTO_eddsa_sign, _TALER_WR_verify_denom: _TALER_WR_verify_denom, _TALER_WRALL_get_current_time: _TALER_WRALL_get_current_time, ___errno_location: ___errno_location, _TALER_WR_get_fancy_time: _TALER_WR_get_fancy_time, _TALER_WRALL_make_eddsa_signature: _TALER_WRALL_make_eddsa_signature, _memmove: _memmove, _TALER_amount_get_zero: _TALER_amount_get_zero, _DEBUG_WR_dump_amount: _DEBUG_WR_dump_amount, _GNUNET_CRYPTO_rsa_public_key_encode: _GNUNET_CRYPTO_rsa_public_key_encode, _GNUNET_CRYPTO_hash: _GNUNET_CRYPTO_hash, _GNUNET_util_cl_init: _GNUNET_util_cl_init, _GNUNET_CRYPTO_random_init: _GNUNET_CRYPTO_random_init, _gpg_err_init: _gpg_err_init, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiii: dynCall_viiiii, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_v: dynCall_v, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_viiii: dynCall_viiii };
+})
// EMSCRIPTEN_END_ASM
-(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _WRALL_make_purpose=Module["_WRALL_make_purpose"]=asm["_WRALL_make_purpose"];var _GNUNET_CRYPTO_rsa_blinding_key_encode=Module["_GNUNET_CRYPTO_rsa_blinding_key_encode"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_encode"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _GNUNET_CRYPTO_eddsa_key_create=Module["_GNUNET_CRYPTO_eddsa_key_create"]=asm["_GNUNET_CRYPTO_eddsa_key_create"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _TALER_WR_GNUNET_free=Module["_TALER_WR_GNUNET_free"]=asm["_TALER_WR_GNUNET_free"];var _TALER_WRALL_amount_add=Module["_TALER_WRALL_amount_add"]=asm["_TALER_WRALL_amount_add"];var _GNUNET_CRYPTO_rsa_private_key_decode=Module["_GNUNET_CRYPTO_rsa_private_key_decode"]=asm["_GNUNET_CRYPTO_rsa_private_key_decode"];var _TALER_WR_multiply_amount=Module["_TALER_WR_multiply_amount"]=asm["_TALER_WR_multiply_amount"];var _GNUNET_CRYPTO_rsa_blinding_key_decode=Module["_GNUNET_CRYPTO_rsa_blinding_key_decode"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_decode"];var _TALER_WR_multiply_amounts=Module["_TALER_WR_multiply_amounts"]=asm["_TALER_WR_multiply_amounts"];var _TALER_amount_hton=Module["_TALER_amount_hton"]=asm["_TALER_amount_hton"];var _TALER_WRALL_eddsa_private_key_from_string=Module["_TALER_WRALL_eddsa_private_key_from_string"]=asm["_TALER_WRALL_eddsa_private_key_from_string"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _gpg_err_init=Module["_gpg_err_init"]=asm["_gpg_err_init"];var _free=Module["_free"]=asm["_free"];var _TALER_WRALL_sign_deposit_permission=Module["_TALER_WRALL_sign_deposit_permission"]=asm["_TALER_WRALL_sign_deposit_permission"];var _TALER_WR_verify_denoms=Module["_TALER_WR_verify_denoms"]=asm["_TALER_WR_verify_denoms"];var _GNUNET_CRYPTO_rsa_blinding_key_create=Module["_GNUNET_CRYPTO_rsa_blinding_key_create"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_create"];var _TALER_WR_verify_denom_enc=Module["_TALER_WR_verify_denom_enc"]=asm["_TALER_WR_verify_denom_enc"];var _TALER_WRALL_rsa_public_key_hash=Module["_TALER_WRALL_rsa_public_key_hash"]=asm["_TALER_WRALL_rsa_public_key_hash"];var _TALER_WRALL_gen_key_from_blob=Module["_TALER_WRALL_gen_key_from_blob"]=asm["_TALER_WRALL_gen_key_from_blob"];var _GNUNET_CRYPTO_rsa_private_key_get_public=Module["_GNUNET_CRYPTO_rsa_private_key_get_public"]=asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];var _GNUNET_CRYPTO_eddsa_verify=Module["_GNUNET_CRYPTO_eddsa_verify"]=asm["_GNUNET_CRYPTO_eddsa_verify"];var _TALER_WRALL_rsa_public_key_decode_from_string=Module["_TALER_WRALL_rsa_public_key_decode_from_string"]=asm["_TALER_WRALL_rsa_public_key_decode_from_string"];var _GNUNET_CRYPTO_symmetric_encrypt=Module["_GNUNET_CRYPTO_symmetric_encrypt"]=asm["_GNUNET_CRYPTO_symmetric_encrypt"];var _TALER_WR_get_fraction=Module["_TALER_WR_get_fraction"]=asm["_TALER_WR_get_fraction"];var _TALER_WR_verify_denoms_enc=Module["_TALER_WR_verify_denoms_enc"]=asm["_TALER_WR_verify_denoms_enc"];var _TALER_amount_cmp=Module["_TALER_amount_cmp"]=asm["_TALER_amount_cmp"];var _TALER_WRALL_ecdhe_public_key_from_private_key=Module["_TALER_WRALL_ecdhe_public_key_from_private_key"]=asm["_TALER_WRALL_ecdhe_public_key_from_private_key"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _TALER_WR_verify_sign_key_enc=Module["_TALER_WR_verify_sign_key_enc"]=asm["_TALER_WR_verify_sign_key_enc"];var _TALER_WRALL_gen_init_vector=Module["_TALER_WRALL_gen_init_vector"]=asm["_TALER_WRALL_gen_init_vector"];var _TALER_amount_ntoh=Module["_TALER_amount_ntoh"]=asm["_TALER_amount_ntoh"];var _WR_verify_test=Module["_WR_verify_test"]=asm["_WR_verify_test"];var _GNUNET_CRYPTO_rsa_public_key_free=Module["_GNUNET_CRYPTO_rsa_public_key_free"]=asm["_GNUNET_CRYPTO_rsa_public_key_free"];var _GNUNET_CRYPTO_hkdf=Module["_GNUNET_CRYPTO_hkdf"]=asm["_GNUNET_CRYPTO_hkdf"];var _GNUNET_CRYPTO_eddsa_key_get_public=Module["_GNUNET_CRYPTO_eddsa_key_get_public"]=asm["_GNUNET_CRYPTO_eddsa_key_get_public"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _TALER_WR_get_value=Module["_TALER_WR_get_value"]=asm["_TALER_WR_get_value"];var _GNUNET_STRINGS_data_to_string_alloc=Module["_GNUNET_STRINGS_data_to_string_alloc"]=asm["_GNUNET_STRINGS_data_to_string_alloc"];var _TALER_WRALL_sign_test=Module["_TALER_WRALL_sign_test"]=asm["_TALER_WRALL_sign_test"];var _TALER_WR_verify_confirmation=Module["_TALER_WR_verify_confirmation"]=asm["_TALER_WR_verify_confirmation"];var _GNUNET_CRYPTO_rsa_public_key_decode=Module["_GNUNET_CRYPTO_rsa_public_key_decode"]=asm["_GNUNET_CRYPTO_rsa_public_key_decode"];var _GNUNET_CRYPTO_rsa_blinding_key_free=Module["_GNUNET_CRYPTO_rsa_blinding_key_free"]=asm["_GNUNET_CRYPTO_rsa_blinding_key_free"];var _GNUNET_CRYPTO_rsa_signature_encode=Module["_GNUNET_CRYPTO_rsa_signature_encode"]=asm["_GNUNET_CRYPTO_rsa_signature_encode"];var _GNUNET_CRYPTO_rsa_verify=Module["_GNUNET_CRYPTO_rsa_verify"]=asm["_GNUNET_CRYPTO_rsa_verify"];var _TALER_WR_eddsa_verify=Module["_TALER_WR_eddsa_verify"]=asm["_TALER_WR_eddsa_verify"];var _GNUNET_STRINGS_string_to_data=Module["_GNUNET_STRINGS_string_to_data"]=asm["_GNUNET_STRINGS_string_to_data"];var _TALER_WRALL_gen_symmetric_key=Module["_TALER_WRALL_gen_symmetric_key"]=asm["_TALER_WRALL_gen_symmetric_key"];var _TALER_WRALL_ecc_ecdh=Module["_TALER_WRALL_ecc_ecdh"]=asm["_TALER_WRALL_ecc_ecdh"];var _TALER_WRALL_get_amount=Module["_TALER_WRALL_get_amount"]=asm["_TALER_WRALL_get_amount"];var _GNUNET_CRYPTO_rsa_unblind=Module["_GNUNET_CRYPTO_rsa_unblind"]=asm["_GNUNET_CRYPTO_rsa_unblind"];var _TALER_WR_get_currency=Module["_TALER_WR_get_currency"]=asm["_TALER_WR_get_currency"];var _DEBUG_WR_get_purpose=Module["_DEBUG_WR_get_purpose"]=asm["_DEBUG_WR_get_purpose"];var _memset=Module["_memset"]=asm["_memset"];var _GNUNET_CRYPTO_rsa_private_key_encode=Module["_GNUNET_CRYPTO_rsa_private_key_encode"]=asm["_GNUNET_CRYPTO_rsa_private_key_encode"];var _GNUNET_CRYPTO_symmetric_decrypt=Module["_GNUNET_CRYPTO_symmetric_decrypt"]=asm["_GNUNET_CRYPTO_symmetric_decrypt"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _GNUNET_CRYPTO_rsa_private_key_create=Module["_GNUNET_CRYPTO_rsa_private_key_create"]=asm["_GNUNET_CRYPTO_rsa_private_key_create"];var _GNUNET_CRYPTO_rsa_signature_free=Module["_GNUNET_CRYPTO_rsa_signature_free"]=asm["_GNUNET_CRYPTO_rsa_signature_free"];var _GNUNET_util_cl_init=Module["_GNUNET_util_cl_init"]=asm["_GNUNET_util_cl_init"];var _TALER_WRALL_eddsa_public_key_from_priv_string=Module["_TALER_WRALL_eddsa_public_key_from_priv_string"]=asm["_TALER_WRALL_eddsa_public_key_from_priv_string"];var _GNUNET_CRYPTO_rsa_blind=Module["_GNUNET_CRYPTO_rsa_blind"]=asm["_GNUNET_CRYPTO_rsa_blind"];var _TALER_WR_verify_sign_key=Module["_TALER_WR_verify_sign_key"]=asm["_TALER_WR_verify_sign_key"];var _malloc=Module["_malloc"]=asm["_malloc"];var _TALER_WR_hello_world=Module["_TALER_WR_hello_world"]=asm["_TALER_WR_hello_world"];var _TALER_WRALL_make_withdraw_bundle=Module["_TALER_WRALL_make_withdraw_bundle"]=asm["_TALER_WRALL_make_withdraw_bundle"];var _GNUNET_CRYPTO_rsa_signature_decode=Module["_GNUNET_CRYPTO_rsa_signature_decode"]=asm["_GNUNET_CRYPTO_rsa_signature_decode"];var _GNUNET_CRYPTO_rsa_sign=Module["_GNUNET_CRYPTO_rsa_sign"]=asm["_GNUNET_CRYPTO_rsa_sign"];var _GNUNET_CRYPTO_ecdhe_key_create=Module["_GNUNET_CRYPTO_ecdhe_key_create"]=asm["_GNUNET_CRYPTO_ecdhe_key_create"];var _TALER_WRALL_get_encoding_from_rsa_signature=Module["_TALER_WRALL_get_encoding_from_rsa_signature"]=asm["_TALER_WRALL_get_encoding_from_rsa_signature"];var _TALER_WRALL_hash=Module["_TALER_WRALL_hash"]=asm["_TALER_WRALL_hash"];var _TALER_amount_normalize=Module["_TALER_amount_normalize"]=asm["_TALER_amount_normalize"];var _TALER_WRALL_sign_contract=Module["_TALER_WRALL_sign_contract"]=asm["_TALER_WRALL_sign_contract"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _GNUNET_CRYPTO_rsa_private_key_free=Module["_GNUNET_CRYPTO_rsa_private_key_free"]=asm["_GNUNET_CRYPTO_rsa_private_key_free"];var _fflush=Module["_fflush"]=asm["_fflush"];var _GNUNET_CRYPTO_hash_create_random=Module["_GNUNET_CRYPTO_hash_create_random"]=asm["_GNUNET_CRYPTO_hash_create_random"];var _TALER_WRALL_eddsa_public_key_from_private=Module["_TALER_WRALL_eddsa_public_key_from_private"]=asm["_TALER_WRALL_eddsa_public_key_from_private"];var _GNUNET_CRYPTO_ecc_ecdh=Module["_GNUNET_CRYPTO_ecc_ecdh"]=asm["_GNUNET_CRYPTO_ecc_ecdh"];var _TALER_amount_add=Module["_TALER_amount_add"]=asm["_TALER_amount_add"];var _GNUNET_CRYPTO_ecdhe_key_get_public=Module["_GNUNET_CRYPTO_ecdhe_key_get_public"]=asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];var _TALER_amount_subtract=Module["_TALER_amount_subtract"]=asm["_TALER_amount_subtract"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _TALER_WRALL_purpose_create=Module["_TALER_WRALL_purpose_create"]=asm["_TALER_WRALL_purpose_create"];var _GNUNET_CRYPTO_eddsa_sign=Module["_GNUNET_CRYPTO_eddsa_sign"]=asm["_GNUNET_CRYPTO_eddsa_sign"];var _TALER_WR_verify_denom=Module["_TALER_WR_verify_denom"]=asm["_TALER_WR_verify_denom"];var _GNUNET_CRYPTO_hash=Module["_GNUNET_CRYPTO_hash"]=asm["_GNUNET_CRYPTO_hash"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var _TALER_WR_get_fancy_time=Module["_TALER_WR_get_fancy_time"]=asm["_TALER_WR_get_fancy_time"];var _TALER_WRALL_make_eddsa_signature=Module["_TALER_WRALL_make_eddsa_signature"]=asm["_TALER_WRALL_make_eddsa_signature"];var _memmove=Module["_memmove"]=asm["_memmove"];var _GNUNET_CRYPTO_random_init=Module["_GNUNET_CRYPTO_random_init"]=asm["_GNUNET_CRYPTO_random_init"];var _TALER_amount_get_zero=Module["_TALER_amount_get_zero"]=asm["_TALER_amount_get_zero"];var _DEBUG_WR_dump_amount=Module["_DEBUG_WR_dump_amount"]=asm["_DEBUG_WR_dump_amount"];var _GNUNET_CRYPTO_rsa_public_key_encode=Module["_GNUNET_CRYPTO_rsa_public_key_encode"]=asm["_GNUNET_CRYPTO_rsa_public_key_encode"];var _TALER_WRALL_get_current_time=Module["_TALER_WRALL_get_current_time"]=asm["_TALER_WRALL_get_current_time"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.establishStackSpace=asm["establishStackSpace"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run()
+(Module.asmGlobalArg, Module.asmLibraryArg, buffer);
+var real__WRALL_make_purpose = asm["_WRALL_make_purpose"]; asm["_WRALL_make_purpose"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__WRALL_make_purpose.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_blinding_key_encode = asm["_GNUNET_CRYPTO_rsa_blinding_key_encode"]; asm["_GNUNET_CRYPTO_rsa_blinding_key_encode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_blinding_key_encode.apply(null, arguments);
+};
+
+var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__bitshift64Lshr.apply(null, arguments);
+};
+
+var real__bitshift64Ashr = asm["_bitshift64Ashr"]; asm["_bitshift64Ashr"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__bitshift64Ashr.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_key_create = asm["_GNUNET_CRYPTO_eddsa_key_create"]; asm["_GNUNET_CRYPTO_eddsa_key_create"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_eddsa_key_create.apply(null, arguments);
+};
+
+var real__TALER_WR_GNUNET_free = asm["_TALER_WR_GNUNET_free"]; asm["_TALER_WR_GNUNET_free"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_GNUNET_free.apply(null, arguments);
+};
+
+var real__TALER_WRALL_amount_add = asm["_TALER_WRALL_amount_add"]; asm["_TALER_WRALL_amount_add"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_amount_add.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_decode = asm["_GNUNET_CRYPTO_rsa_private_key_decode"]; asm["_GNUNET_CRYPTO_rsa_private_key_decode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_private_key_decode.apply(null, arguments);
+};
+
+var real__TALER_WR_multiply_amount = asm["_TALER_WR_multiply_amount"]; asm["_TALER_WR_multiply_amount"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_multiply_amount.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_blinding_key_decode = asm["_GNUNET_CRYPTO_rsa_blinding_key_decode"]; asm["_GNUNET_CRYPTO_rsa_blinding_key_decode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_blinding_key_decode.apply(null, arguments);
+};
+
+var real__TALER_WR_multiply_amounts = asm["_TALER_WR_multiply_amounts"]; asm["_TALER_WR_multiply_amounts"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_multiply_amounts.apply(null, arguments);
+};
+
+var real__TALER_amount_hton = asm["_TALER_amount_hton"]; asm["_TALER_amount_hton"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_hton.apply(null, arguments);
+};
+
+var real__TALER_WRALL_eddsa_private_key_from_string = asm["_TALER_WRALL_eddsa_private_key_from_string"]; asm["_TALER_WRALL_eddsa_private_key_from_string"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_eddsa_private_key_from_string.apply(null, arguments);
+};
+
+var real__gpg_err_init = asm["_gpg_err_init"]; asm["_gpg_err_init"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__gpg_err_init.apply(null, arguments);
+};
+
+var real__free = asm["_free"]; asm["_free"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__free.apply(null, arguments);
+};
+
+var real__TALER_WRALL_sign_deposit_permission = asm["_TALER_WRALL_sign_deposit_permission"]; asm["_TALER_WRALL_sign_deposit_permission"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_sign_deposit_permission.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_denoms = asm["_TALER_WR_verify_denoms"]; asm["_TALER_WR_verify_denoms"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_denoms.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_blinding_key_create = asm["_GNUNET_CRYPTO_rsa_blinding_key_create"]; asm["_GNUNET_CRYPTO_rsa_blinding_key_create"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_blinding_key_create.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_denom_enc = asm["_TALER_WR_verify_denom_enc"]; asm["_TALER_WR_verify_denom_enc"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_denom_enc.apply(null, arguments);
+};
+
+var real__TALER_WRALL_rsa_public_key_hash = asm["_TALER_WRALL_rsa_public_key_hash"]; asm["_TALER_WRALL_rsa_public_key_hash"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_rsa_public_key_hash.apply(null, arguments);
+};
+
+var real__TALER_WRALL_gen_key_from_blob = asm["_TALER_WRALL_gen_key_from_blob"]; asm["_TALER_WRALL_gen_key_from_blob"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_gen_key_from_blob.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_get_public = asm["_GNUNET_CRYPTO_rsa_private_key_get_public"]; asm["_GNUNET_CRYPTO_rsa_private_key_get_public"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_private_key_get_public.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_verify = asm["_GNUNET_CRYPTO_eddsa_verify"]; asm["_GNUNET_CRYPTO_eddsa_verify"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_eddsa_verify.apply(null, arguments);
+};
+
+var real__TALER_WRALL_rsa_public_key_decode_from_string = asm["_TALER_WRALL_rsa_public_key_decode_from_string"]; asm["_TALER_WRALL_rsa_public_key_decode_from_string"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_rsa_public_key_decode_from_string.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_symmetric_encrypt = asm["_GNUNET_CRYPTO_symmetric_encrypt"]; asm["_GNUNET_CRYPTO_symmetric_encrypt"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_symmetric_encrypt.apply(null, arguments);
+};
+
+var real__TALER_WR_get_fraction = asm["_TALER_WR_get_fraction"]; asm["_TALER_WR_get_fraction"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_get_fraction.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_denoms_enc = asm["_TALER_WR_verify_denoms_enc"]; asm["_TALER_WR_verify_denoms_enc"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_denoms_enc.apply(null, arguments);
+};
+
+var real__TALER_amount_cmp = asm["_TALER_amount_cmp"]; asm["_TALER_amount_cmp"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_cmp.apply(null, arguments);
+};
+
+var real__TALER_WRALL_ecdhe_public_key_from_private_key = asm["_TALER_WRALL_ecdhe_public_key_from_private_key"]; asm["_TALER_WRALL_ecdhe_public_key_from_private_key"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_ecdhe_public_key_from_private_key.apply(null, arguments);
+};
+
+var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__llvm_cttz_i32.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_sign_key_enc = asm["_TALER_WR_verify_sign_key_enc"]; asm["_TALER_WR_verify_sign_key_enc"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_sign_key_enc.apply(null, arguments);
+};
+
+var real__TALER_WRALL_gen_init_vector = asm["_TALER_WRALL_gen_init_vector"]; asm["_TALER_WRALL_gen_init_vector"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_gen_init_vector.apply(null, arguments);
+};
+
+var real__TALER_amount_ntoh = asm["_TALER_amount_ntoh"]; asm["_TALER_amount_ntoh"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_ntoh.apply(null, arguments);
+};
+
+var real__WR_verify_test = asm["_WR_verify_test"]; asm["_WR_verify_test"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__WR_verify_test.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_public_key_free = asm["_GNUNET_CRYPTO_rsa_public_key_free"]; asm["_GNUNET_CRYPTO_rsa_public_key_free"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_public_key_free.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hkdf = asm["_GNUNET_CRYPTO_hkdf"]; asm["_GNUNET_CRYPTO_hkdf"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_hkdf.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_key_get_public = asm["_GNUNET_CRYPTO_eddsa_key_get_public"]; asm["_GNUNET_CRYPTO_eddsa_key_get_public"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_eddsa_key_get_public.apply(null, arguments);
+};
+
+var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__llvm_bswap_i32.apply(null, arguments);
+};
+
+var real__TALER_WR_get_value = asm["_TALER_WR_get_value"]; asm["_TALER_WR_get_value"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_get_value.apply(null, arguments);
+};
+
+var real__GNUNET_STRINGS_data_to_string_alloc = asm["_GNUNET_STRINGS_data_to_string_alloc"]; asm["_GNUNET_STRINGS_data_to_string_alloc"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_STRINGS_data_to_string_alloc.apply(null, arguments);
+};
+
+var real__TALER_WRALL_sign_test = asm["_TALER_WRALL_sign_test"]; asm["_TALER_WRALL_sign_test"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_sign_test.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_confirmation = asm["_TALER_WR_verify_confirmation"]; asm["_TALER_WR_verify_confirmation"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_confirmation.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_public_key_decode = asm["_GNUNET_CRYPTO_rsa_public_key_decode"]; asm["_GNUNET_CRYPTO_rsa_public_key_decode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_public_key_decode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_blinding_key_free = asm["_GNUNET_CRYPTO_rsa_blinding_key_free"]; asm["_GNUNET_CRYPTO_rsa_blinding_key_free"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_blinding_key_free.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_signature_encode = asm["_GNUNET_CRYPTO_rsa_signature_encode"]; asm["_GNUNET_CRYPTO_rsa_signature_encode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_signature_encode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_verify = asm["_GNUNET_CRYPTO_rsa_verify"]; asm["_GNUNET_CRYPTO_rsa_verify"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_verify.apply(null, arguments);
+};
+
+var real__TALER_WR_eddsa_verify = asm["_TALER_WR_eddsa_verify"]; asm["_TALER_WR_eddsa_verify"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_eddsa_verify.apply(null, arguments);
+};
+
+var real__GNUNET_STRINGS_string_to_data = asm["_GNUNET_STRINGS_string_to_data"]; asm["_GNUNET_STRINGS_string_to_data"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_STRINGS_string_to_data.apply(null, arguments);
+};
+
+var real__TALER_WRALL_gen_symmetric_key = asm["_TALER_WRALL_gen_symmetric_key"]; asm["_TALER_WRALL_gen_symmetric_key"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_gen_symmetric_key.apply(null, arguments);
+};
+
+var real__TALER_WRALL_ecc_ecdh = asm["_TALER_WRALL_ecc_ecdh"]; asm["_TALER_WRALL_ecc_ecdh"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_ecc_ecdh.apply(null, arguments);
+};
+
+var real__TALER_WRALL_get_amount = asm["_TALER_WRALL_get_amount"]; asm["_TALER_WRALL_get_amount"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_get_amount.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_unblind = asm["_GNUNET_CRYPTO_rsa_unblind"]; asm["_GNUNET_CRYPTO_rsa_unblind"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_unblind.apply(null, arguments);
+};
+
+var real__TALER_WR_get_currency = asm["_TALER_WR_get_currency"]; asm["_TALER_WR_get_currency"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_get_currency.apply(null, arguments);
+};
+
+var real__DEBUG_WR_get_purpose = asm["_DEBUG_WR_get_purpose"]; asm["_DEBUG_WR_get_purpose"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__DEBUG_WR_get_purpose.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_encode = asm["_GNUNET_CRYPTO_rsa_private_key_encode"]; asm["_GNUNET_CRYPTO_rsa_private_key_encode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_private_key_encode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_symmetric_decrypt = asm["_GNUNET_CRYPTO_symmetric_decrypt"]; asm["_GNUNET_CRYPTO_symmetric_decrypt"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_symmetric_decrypt.apply(null, arguments);
+};
+
+var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__i64Subtract.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_create = asm["_GNUNET_CRYPTO_rsa_private_key_create"]; asm["_GNUNET_CRYPTO_rsa_private_key_create"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_private_key_create.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_signature_free = asm["_GNUNET_CRYPTO_rsa_signature_free"]; asm["_GNUNET_CRYPTO_rsa_signature_free"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_signature_free.apply(null, arguments);
+};
+
+var real__GNUNET_util_cl_init = asm["_GNUNET_util_cl_init"]; asm["_GNUNET_util_cl_init"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_util_cl_init.apply(null, arguments);
+};
+
+var real__TALER_WRALL_eddsa_public_key_from_priv_string = asm["_TALER_WRALL_eddsa_public_key_from_priv_string"]; asm["_TALER_WRALL_eddsa_public_key_from_priv_string"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_eddsa_public_key_from_priv_string.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_blind = asm["_GNUNET_CRYPTO_rsa_blind"]; asm["_GNUNET_CRYPTO_rsa_blind"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_blind.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_sign_key = asm["_TALER_WR_verify_sign_key"]; asm["_TALER_WR_verify_sign_key"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_sign_key.apply(null, arguments);
+};
+
+var real__malloc = asm["_malloc"]; asm["_malloc"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__malloc.apply(null, arguments);
+};
+
+var real__TALER_WR_hello_world = asm["_TALER_WR_hello_world"]; asm["_TALER_WR_hello_world"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_hello_world.apply(null, arguments);
+};
+
+var real__TALER_WRALL_make_withdraw_bundle = asm["_TALER_WRALL_make_withdraw_bundle"]; asm["_TALER_WRALL_make_withdraw_bundle"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_make_withdraw_bundle.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_signature_decode = asm["_GNUNET_CRYPTO_rsa_signature_decode"]; asm["_GNUNET_CRYPTO_rsa_signature_decode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_signature_decode.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_sign = asm["_GNUNET_CRYPTO_rsa_sign"]; asm["_GNUNET_CRYPTO_rsa_sign"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_sign.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecdhe_key_create = asm["_GNUNET_CRYPTO_ecdhe_key_create"]; asm["_GNUNET_CRYPTO_ecdhe_key_create"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_ecdhe_key_create.apply(null, arguments);
+};
+
+var real__TALER_WRALL_get_encoding_from_rsa_signature = asm["_TALER_WRALL_get_encoding_from_rsa_signature"]; asm["_TALER_WRALL_get_encoding_from_rsa_signature"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_get_encoding_from_rsa_signature.apply(null, arguments);
+};
+
+var real__TALER_WRALL_hash = asm["_TALER_WRALL_hash"]; asm["_TALER_WRALL_hash"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_hash.apply(null, arguments);
+};
+
+var real__TALER_amount_normalize = asm["_TALER_amount_normalize"]; asm["_TALER_amount_normalize"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_normalize.apply(null, arguments);
+};
+
+var real__TALER_WRALL_sign_contract = asm["_TALER_WRALL_sign_contract"]; asm["_TALER_WRALL_sign_contract"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_sign_contract.apply(null, arguments);
+};
+
+var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__bitshift64Shl.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_private_key_free = asm["_GNUNET_CRYPTO_rsa_private_key_free"]; asm["_GNUNET_CRYPTO_rsa_private_key_free"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_private_key_free.apply(null, arguments);
+};
+
+var real__fflush = asm["_fflush"]; asm["_fflush"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__fflush.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash_create_random = asm["_GNUNET_CRYPTO_hash_create_random"]; asm["_GNUNET_CRYPTO_hash_create_random"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_hash_create_random.apply(null, arguments);
+};
+
+var real__TALER_WRALL_eddsa_public_key_from_private = asm["_TALER_WRALL_eddsa_public_key_from_private"]; asm["_TALER_WRALL_eddsa_public_key_from_private"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_eddsa_public_key_from_private.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecc_ecdh = asm["_GNUNET_CRYPTO_ecc_ecdh"]; asm["_GNUNET_CRYPTO_ecc_ecdh"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_ecc_ecdh.apply(null, arguments);
+};
+
+var real__TALER_amount_add = asm["_TALER_amount_add"]; asm["_TALER_amount_add"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_add.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_ecdhe_key_get_public = asm["_GNUNET_CRYPTO_ecdhe_key_get_public"]; asm["_GNUNET_CRYPTO_ecdhe_key_get_public"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_ecdhe_key_get_public.apply(null, arguments);
+};
+
+var real__TALER_amount_subtract = asm["_TALER_amount_subtract"]; asm["_TALER_amount_subtract"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_subtract.apply(null, arguments);
+};
+
+var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__i64Add.apply(null, arguments);
+};
+
+var real__TALER_WRALL_purpose_create = asm["_TALER_WRALL_purpose_create"]; asm["_TALER_WRALL_purpose_create"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_purpose_create.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_eddsa_sign = asm["_GNUNET_CRYPTO_eddsa_sign"]; asm["_GNUNET_CRYPTO_eddsa_sign"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_eddsa_sign.apply(null, arguments);
+};
+
+var real__TALER_WR_verify_denom = asm["_TALER_WR_verify_denom"]; asm["_TALER_WR_verify_denom"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_verify_denom.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_hash = asm["_GNUNET_CRYPTO_hash"]; asm["_GNUNET_CRYPTO_hash"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_hash.apply(null, arguments);
+};
+
+var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real____errno_location.apply(null, arguments);
+};
+
+var real__TALER_WR_get_fancy_time = asm["_TALER_WR_get_fancy_time"]; asm["_TALER_WR_get_fancy_time"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WR_get_fancy_time.apply(null, arguments);
+};
+
+var real__TALER_WRALL_make_eddsa_signature = asm["_TALER_WRALL_make_eddsa_signature"]; asm["_TALER_WRALL_make_eddsa_signature"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_make_eddsa_signature.apply(null, arguments);
+};
+
+var real__memmove = asm["_memmove"]; asm["_memmove"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__memmove.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_random_init = asm["_GNUNET_CRYPTO_random_init"]; asm["_GNUNET_CRYPTO_random_init"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_random_init.apply(null, arguments);
+};
+
+var real__TALER_amount_get_zero = asm["_TALER_amount_get_zero"]; asm["_TALER_amount_get_zero"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_amount_get_zero.apply(null, arguments);
+};
+
+var real__DEBUG_WR_dump_amount = asm["_DEBUG_WR_dump_amount"]; asm["_DEBUG_WR_dump_amount"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__DEBUG_WR_dump_amount.apply(null, arguments);
+};
+
+var real__GNUNET_CRYPTO_rsa_public_key_encode = asm["_GNUNET_CRYPTO_rsa_public_key_encode"]; asm["_GNUNET_CRYPTO_rsa_public_key_encode"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__GNUNET_CRYPTO_rsa_public_key_encode.apply(null, arguments);
+};
+
+var real__TALER_WRALL_get_current_time = asm["_TALER_WRALL_get_current_time"]; asm["_TALER_WRALL_get_current_time"] = function() {
+assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
+assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+return real__TALER_WRALL_get_current_time.apply(null, arguments);
+};
+var _WRALL_make_purpose = Module["_WRALL_make_purpose"] = asm["_WRALL_make_purpose"];
+var _GNUNET_CRYPTO_rsa_blinding_key_encode = Module["_GNUNET_CRYPTO_rsa_blinding_key_encode"] = asm["_GNUNET_CRYPTO_rsa_blinding_key_encode"];
+var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
+var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"];
+var _GNUNET_CRYPTO_eddsa_key_create = Module["_GNUNET_CRYPTO_eddsa_key_create"] = asm["_GNUNET_CRYPTO_eddsa_key_create"];
+var _memcpy = Module["_memcpy"] = asm["_memcpy"];
+var _TALER_WR_GNUNET_free = Module["_TALER_WR_GNUNET_free"] = asm["_TALER_WR_GNUNET_free"];
+var _TALER_WRALL_amount_add = Module["_TALER_WRALL_amount_add"] = asm["_TALER_WRALL_amount_add"];
+var _GNUNET_CRYPTO_rsa_private_key_decode = Module["_GNUNET_CRYPTO_rsa_private_key_decode"] = asm["_GNUNET_CRYPTO_rsa_private_key_decode"];
+var _TALER_WR_multiply_amount = Module["_TALER_WR_multiply_amount"] = asm["_TALER_WR_multiply_amount"];
+var _GNUNET_CRYPTO_rsa_blinding_key_decode = Module["_GNUNET_CRYPTO_rsa_blinding_key_decode"] = asm["_GNUNET_CRYPTO_rsa_blinding_key_decode"];
+var _TALER_WR_multiply_amounts = Module["_TALER_WR_multiply_amounts"] = asm["_TALER_WR_multiply_amounts"];
+var _TALER_amount_hton = Module["_TALER_amount_hton"] = asm["_TALER_amount_hton"];
+var _TALER_WRALL_eddsa_private_key_from_string = Module["_TALER_WRALL_eddsa_private_key_from_string"] = asm["_TALER_WRALL_eddsa_private_key_from_string"];
+var runPostSets = Module["runPostSets"] = asm["runPostSets"];
+var _gpg_err_init = Module["_gpg_err_init"] = asm["_gpg_err_init"];
+var _free = Module["_free"] = asm["_free"];
+var _TALER_WRALL_sign_deposit_permission = Module["_TALER_WRALL_sign_deposit_permission"] = asm["_TALER_WRALL_sign_deposit_permission"];
+var _TALER_WR_verify_denoms = Module["_TALER_WR_verify_denoms"] = asm["_TALER_WR_verify_denoms"];
+var _GNUNET_CRYPTO_rsa_blinding_key_create = Module["_GNUNET_CRYPTO_rsa_blinding_key_create"] = asm["_GNUNET_CRYPTO_rsa_blinding_key_create"];
+var _TALER_WR_verify_denom_enc = Module["_TALER_WR_verify_denom_enc"] = asm["_TALER_WR_verify_denom_enc"];
+var _TALER_WRALL_rsa_public_key_hash = Module["_TALER_WRALL_rsa_public_key_hash"] = asm["_TALER_WRALL_rsa_public_key_hash"];
+var _TALER_WRALL_gen_key_from_blob = Module["_TALER_WRALL_gen_key_from_blob"] = asm["_TALER_WRALL_gen_key_from_blob"];
+var _GNUNET_CRYPTO_rsa_private_key_get_public = Module["_GNUNET_CRYPTO_rsa_private_key_get_public"] = asm["_GNUNET_CRYPTO_rsa_private_key_get_public"];
+var _GNUNET_CRYPTO_eddsa_verify = Module["_GNUNET_CRYPTO_eddsa_verify"] = asm["_GNUNET_CRYPTO_eddsa_verify"];
+var _TALER_WRALL_rsa_public_key_decode_from_string = Module["_TALER_WRALL_rsa_public_key_decode_from_string"] = asm["_TALER_WRALL_rsa_public_key_decode_from_string"];
+var _GNUNET_CRYPTO_symmetric_encrypt = Module["_GNUNET_CRYPTO_symmetric_encrypt"] = asm["_GNUNET_CRYPTO_symmetric_encrypt"];
+var _TALER_WR_get_fraction = Module["_TALER_WR_get_fraction"] = asm["_TALER_WR_get_fraction"];
+var _TALER_WR_verify_denoms_enc = Module["_TALER_WR_verify_denoms_enc"] = asm["_TALER_WR_verify_denoms_enc"];
+var _TALER_amount_cmp = Module["_TALER_amount_cmp"] = asm["_TALER_amount_cmp"];
+var _TALER_WRALL_ecdhe_public_key_from_private_key = Module["_TALER_WRALL_ecdhe_public_key_from_private_key"] = asm["_TALER_WRALL_ecdhe_public_key_from_private_key"];
+var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"];
+var _TALER_WR_verify_sign_key_enc = Module["_TALER_WR_verify_sign_key_enc"] = asm["_TALER_WR_verify_sign_key_enc"];
+var _TALER_WRALL_gen_init_vector = Module["_TALER_WRALL_gen_init_vector"] = asm["_TALER_WRALL_gen_init_vector"];
+var _TALER_amount_ntoh = Module["_TALER_amount_ntoh"] = asm["_TALER_amount_ntoh"];
+var _WR_verify_test = Module["_WR_verify_test"] = asm["_WR_verify_test"];
+var _GNUNET_CRYPTO_rsa_public_key_free = Module["_GNUNET_CRYPTO_rsa_public_key_free"] = asm["_GNUNET_CRYPTO_rsa_public_key_free"];
+var _GNUNET_CRYPTO_hkdf = Module["_GNUNET_CRYPTO_hkdf"] = asm["_GNUNET_CRYPTO_hkdf"];
+var _GNUNET_CRYPTO_eddsa_key_get_public = Module["_GNUNET_CRYPTO_eddsa_key_get_public"] = asm["_GNUNET_CRYPTO_eddsa_key_get_public"];
+var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
+var _TALER_WR_get_value = Module["_TALER_WR_get_value"] = asm["_TALER_WR_get_value"];
+var _GNUNET_STRINGS_data_to_string_alloc = Module["_GNUNET_STRINGS_data_to_string_alloc"] = asm["_GNUNET_STRINGS_data_to_string_alloc"];
+var _TALER_WRALL_sign_test = Module["_TALER_WRALL_sign_test"] = asm["_TALER_WRALL_sign_test"];
+var _TALER_WR_verify_confirmation = Module["_TALER_WR_verify_confirmation"] = asm["_TALER_WR_verify_confirmation"];
+var _GNUNET_CRYPTO_rsa_public_key_decode = Module["_GNUNET_CRYPTO_rsa_public_key_decode"] = asm["_GNUNET_CRYPTO_rsa_public_key_decode"];
+var _GNUNET_CRYPTO_rsa_blinding_key_free = Module["_GNUNET_CRYPTO_rsa_blinding_key_free"] = asm["_GNUNET_CRYPTO_rsa_blinding_key_free"];
+var _GNUNET_CRYPTO_rsa_signature_encode = Module["_GNUNET_CRYPTO_rsa_signature_encode"] = asm["_GNUNET_CRYPTO_rsa_signature_encode"];
+var _GNUNET_CRYPTO_rsa_verify = Module["_GNUNET_CRYPTO_rsa_verify"] = asm["_GNUNET_CRYPTO_rsa_verify"];
+var _TALER_WR_eddsa_verify = Module["_TALER_WR_eddsa_verify"] = asm["_TALER_WR_eddsa_verify"];
+var _GNUNET_STRINGS_string_to_data = Module["_GNUNET_STRINGS_string_to_data"] = asm["_GNUNET_STRINGS_string_to_data"];
+var _TALER_WRALL_gen_symmetric_key = Module["_TALER_WRALL_gen_symmetric_key"] = asm["_TALER_WRALL_gen_symmetric_key"];
+var _TALER_WRALL_ecc_ecdh = Module["_TALER_WRALL_ecc_ecdh"] = asm["_TALER_WRALL_ecc_ecdh"];
+var _TALER_WRALL_get_amount = Module["_TALER_WRALL_get_amount"] = asm["_TALER_WRALL_get_amount"];
+var _GNUNET_CRYPTO_rsa_unblind = Module["_GNUNET_CRYPTO_rsa_unblind"] = asm["_GNUNET_CRYPTO_rsa_unblind"];
+var _TALER_WR_get_currency = Module["_TALER_WR_get_currency"] = asm["_TALER_WR_get_currency"];
+var _DEBUG_WR_get_purpose = Module["_DEBUG_WR_get_purpose"] = asm["_DEBUG_WR_get_purpose"];
+var _memset = Module["_memset"] = asm["_memset"];
+var _GNUNET_CRYPTO_rsa_private_key_encode = Module["_GNUNET_CRYPTO_rsa_private_key_encode"] = asm["_GNUNET_CRYPTO_rsa_private_key_encode"];
+var _GNUNET_CRYPTO_symmetric_decrypt = Module["_GNUNET_CRYPTO_symmetric_decrypt"] = asm["_GNUNET_CRYPTO_symmetric_decrypt"];
+var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
+var _GNUNET_CRYPTO_rsa_private_key_create = Module["_GNUNET_CRYPTO_rsa_private_key_create"] = asm["_GNUNET_CRYPTO_rsa_private_key_create"];
+var _GNUNET_CRYPTO_rsa_signature_free = Module["_GNUNET_CRYPTO_rsa_signature_free"] = asm["_GNUNET_CRYPTO_rsa_signature_free"];
+var _GNUNET_util_cl_init = Module["_GNUNET_util_cl_init"] = asm["_GNUNET_util_cl_init"];
+var _TALER_WRALL_eddsa_public_key_from_priv_string = Module["_TALER_WRALL_eddsa_public_key_from_priv_string"] = asm["_TALER_WRALL_eddsa_public_key_from_priv_string"];
+var _GNUNET_CRYPTO_rsa_blind = Module["_GNUNET_CRYPTO_rsa_blind"] = asm["_GNUNET_CRYPTO_rsa_blind"];
+var _TALER_WR_verify_sign_key = Module["_TALER_WR_verify_sign_key"] = asm["_TALER_WR_verify_sign_key"];
+var _malloc = Module["_malloc"] = asm["_malloc"];
+var _TALER_WR_hello_world = Module["_TALER_WR_hello_world"] = asm["_TALER_WR_hello_world"];
+var _TALER_WRALL_make_withdraw_bundle = Module["_TALER_WRALL_make_withdraw_bundle"] = asm["_TALER_WRALL_make_withdraw_bundle"];
+var _GNUNET_CRYPTO_rsa_signature_decode = Module["_GNUNET_CRYPTO_rsa_signature_decode"] = asm["_GNUNET_CRYPTO_rsa_signature_decode"];
+var _GNUNET_CRYPTO_rsa_sign = Module["_GNUNET_CRYPTO_rsa_sign"] = asm["_GNUNET_CRYPTO_rsa_sign"];
+var _GNUNET_CRYPTO_ecdhe_key_create = Module["_GNUNET_CRYPTO_ecdhe_key_create"] = asm["_GNUNET_CRYPTO_ecdhe_key_create"];
+var _TALER_WRALL_get_encoding_from_rsa_signature = Module["_TALER_WRALL_get_encoding_from_rsa_signature"] = asm["_TALER_WRALL_get_encoding_from_rsa_signature"];
+var _TALER_WRALL_hash = Module["_TALER_WRALL_hash"] = asm["_TALER_WRALL_hash"];
+var _TALER_amount_normalize = Module["_TALER_amount_normalize"] = asm["_TALER_amount_normalize"];
+var _TALER_WRALL_sign_contract = Module["_TALER_WRALL_sign_contract"] = asm["_TALER_WRALL_sign_contract"];
+var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
+var _GNUNET_CRYPTO_rsa_private_key_free = Module["_GNUNET_CRYPTO_rsa_private_key_free"] = asm["_GNUNET_CRYPTO_rsa_private_key_free"];
+var _fflush = Module["_fflush"] = asm["_fflush"];
+var _GNUNET_CRYPTO_hash_create_random = Module["_GNUNET_CRYPTO_hash_create_random"] = asm["_GNUNET_CRYPTO_hash_create_random"];
+var _TALER_WRALL_eddsa_public_key_from_private = Module["_TALER_WRALL_eddsa_public_key_from_private"] = asm["_TALER_WRALL_eddsa_public_key_from_private"];
+var _GNUNET_CRYPTO_ecc_ecdh = Module["_GNUNET_CRYPTO_ecc_ecdh"] = asm["_GNUNET_CRYPTO_ecc_ecdh"];
+var _TALER_amount_add = Module["_TALER_amount_add"] = asm["_TALER_amount_add"];
+var _GNUNET_CRYPTO_ecdhe_key_get_public = Module["_GNUNET_CRYPTO_ecdhe_key_get_public"] = asm["_GNUNET_CRYPTO_ecdhe_key_get_public"];
+var _TALER_amount_subtract = Module["_TALER_amount_subtract"] = asm["_TALER_amount_subtract"];
+var _i64Add = Module["_i64Add"] = asm["_i64Add"];
+var _TALER_WRALL_purpose_create = Module["_TALER_WRALL_purpose_create"] = asm["_TALER_WRALL_purpose_create"];
+var _GNUNET_CRYPTO_eddsa_sign = Module["_GNUNET_CRYPTO_eddsa_sign"] = asm["_GNUNET_CRYPTO_eddsa_sign"];
+var _TALER_WR_verify_denom = Module["_TALER_WR_verify_denom"] = asm["_TALER_WR_verify_denom"];
+var _GNUNET_CRYPTO_hash = Module["_GNUNET_CRYPTO_hash"] = asm["_GNUNET_CRYPTO_hash"];
+var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
+var _TALER_WR_get_fancy_time = Module["_TALER_WR_get_fancy_time"] = asm["_TALER_WR_get_fancy_time"];
+var _TALER_WRALL_make_eddsa_signature = Module["_TALER_WRALL_make_eddsa_signature"] = asm["_TALER_WRALL_make_eddsa_signature"];
+var _memmove = Module["_memmove"] = asm["_memmove"];
+var _GNUNET_CRYPTO_random_init = Module["_GNUNET_CRYPTO_random_init"] = asm["_GNUNET_CRYPTO_random_init"];
+var _TALER_amount_get_zero = Module["_TALER_amount_get_zero"] = asm["_TALER_amount_get_zero"];
+var _DEBUG_WR_dump_amount = Module["_DEBUG_WR_dump_amount"] = asm["_DEBUG_WR_dump_amount"];
+var _GNUNET_CRYPTO_rsa_public_key_encode = Module["_GNUNET_CRYPTO_rsa_public_key_encode"] = asm["_GNUNET_CRYPTO_rsa_public_key_encode"];
+var _TALER_WRALL_get_current_time = Module["_TALER_WRALL_get_current_time"] = asm["_TALER_WRALL_get_current_time"];
+var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
+var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
+var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
+var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
+var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
+var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
+var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
+var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
+var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
+var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
+var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
+;
+
+Runtime.stackAlloc = asm['stackAlloc'];
+Runtime.stackSave = asm['stackSave'];
+Runtime.stackRestore = asm['stackRestore'];
+Runtime.establishStackSpace = asm['establishStackSpace'];
+
+Runtime.setTempRet0 = asm['setTempRet0'];
+Runtime.getTempRet0 = asm['getTempRet0'];
+
+
+
+// === Auto-generated postamble setup entry stuff ===
+
+
+
+
+function ExitStatus(status) {
+ this.name = "ExitStatus";
+ this.message = "Program terminated with exit(" + status + ")";
+ this.status = status;
+};
+ExitStatus.prototype = new Error();
+ExitStatus.prototype.constructor = ExitStatus;
+
+var initialStackTop;
+var preloadStartTime = null;
+var calledMain = false;
+
+dependenciesFulfilled = function runCaller() {
+ // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
+ if (!Module['calledRun']) run();
+ if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
+}
+
+Module['callMain'] = Module.callMain = function callMain(args) {
+ assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
+ assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
+
+ args = args || [];
+
+ ensureInitRuntime();
+
+ var argc = args.length+1;
+ function pad() {
+ for (var i = 0; i < 4-1; i++) {
+ argv.push(0);
+ }
+ }
+ var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ];
+ pad();
+ for (var i = 0; i < argc-1; i = i + 1) {
+ argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
+ pad();
+ }
+ argv.push(0);
+ argv = allocate(argv, 'i32', ALLOC_NORMAL);
+
+
+ try {
+
+ var ret = Module['_main'](argc, argv, 0);
+
+
+ // if we're not running an evented main loop, it's time to exit
+ exit(ret, /* implicit = */ true);
+ }
+ catch(e) {
+ if (e instanceof ExitStatus) {
+ // exit() throws this once it's done to make sure execution
+ // has been stopped completely
+ return;
+ } else if (e == 'SimulateInfiniteLoop') {
+ // running an evented main loop, don't immediately exit
+ Module['noExitRuntime'] = true;
+ return;
+ } else {
+ if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
+ throw e;
+ }
+ } finally {
+ calledMain = true;
+ }
+}
+
+
+
+
+function run(args) {
+ args = args || Module['arguments'];
+
+ if (preloadStartTime === null) preloadStartTime = Date.now();
+
+ if (runDependencies > 0) {
+ Module.printErr('run() called, but dependencies remain, so not running');
+ return;
+ }
+
+ preRun();
+
+ if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
+ if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
+
+ function doRun() {
+ if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
+ Module['calledRun'] = true;
+
+ if (ABORT) return;
+
+ ensureInitRuntime();
+
+ preMain();
+
+ if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
+ Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms');
+ }
+
+ if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
+
+ if (Module['_main'] && shouldRunNow) Module['callMain'](args);
+
+ postRun();
+ }
+
+ if (Module['setStatus']) {
+ Module['setStatus']('Running...');
+ setTimeout(function() {
+ setTimeout(function() {
+ Module['setStatus']('');
+ }, 1);
+ doRun();
+ }, 1);
+ } else {
+ doRun();
+ }
+}
+Module['run'] = Module.run = run;
+
+function exit(status, implicit) {
+ if (implicit && Module['noExitRuntime']) {
+ Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)');
+ return;
+ }
+
+ if (Module['noExitRuntime']) {
+ Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)');
+ } else {
+
+ ABORT = true;
+ EXITSTATUS = status;
+ STACKTOP = initialStackTop;
+
+ exitRuntime();
+
+ if (Module['onExit']) Module['onExit'](status);
+ }
+
+ if (ENVIRONMENT_IS_NODE) {
+ // Work around a node.js bug where stdout buffer is not flushed at process exit:
+ // Instead of process.exit() directly, wait for stdout flush event.
+ // See https://github.com/joyent/node/issues/1669 and https://github.com/kripken/emscripten/issues/2582
+ // Workaround is based on https://github.com/RReverser/acorn/commit/50ab143cecc9ed71a2d66f78b4aec3bb2e9844f6
+ process['stdout']['once']('drain', function () {
+ process['exit'](status);
+ });
+ console.log(' '); // Make sure to print something to force the drain event to occur, in case the stdout buffer was empty.
+ // Work around another node bug where sometimes 'drain' is never fired - make another effort
+ // to emit the exit status, after a significant delay (if node hasn't fired drain by then, give up)
+ setTimeout(function() {
+ process['exit'](status);
+ }, 500);
+ } else
+ if (ENVIRONMENT_IS_SHELL && typeof quit === 'function') {
+ quit(status);
+ }
+ // if we reach here, we must throw an exception to halt the current execution
+ throw new ExitStatus(status);
+}
+Module['exit'] = Module.exit = exit;
+
+var abortDecorators = [];
+
+function abort(what) {
+ if (what !== undefined) {
+ Module.print(what);
+ Module.printErr(what);
+ what = JSON.stringify(what)
+ } else {
+ what = '';
+ }
+
+ ABORT = true;
+ EXITSTATUS = 1;
+
+ var extra = '';
+
+ var output = 'abort(' + what + ') at ' + stackTrace() + extra;
+ if (abortDecorators) {
+ abortDecorators.forEach(function(decorator) {
+ output = decorator(output, what);
+ });
+ }
+ throw output;
+}
+Module['abort'] = Module.abort = abort;
+
+// {{PRE_RUN_ADDITIONS}}
+
+if (Module['preInit']) {
+ if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
+ while (Module['preInit'].length > 0) {
+ Module['preInit'].pop()();
+ }
+}
+
+// shouldRunNow refers to calling main(), not run().
+var shouldRunNow = true;
+if (Module['noInitialRun']) {
+ shouldRunNow = false;
+}
+
+
+run();
+
+// {{POST_RUN_ADDITIONS}}
+
+
+
+
+
+// {{MODULE_ADDITIONS}}
diff --git a/extension/lib/wallet/emscriptif.ts b/extension/lib/wallet/emscriptif.ts
index 690800e2f..b03bc9bc7 100644
--- a/extension/lib/wallet/emscriptif.ts
+++ b/extension/lib/wallet/emscriptif.ts
@@ -381,6 +381,10 @@ export class Amount extends ArenaObject {
}
cmp(a: Amount) {
+ // If we don't check this, the c code aborts.
+ if (this.currency !== a.currency) {
+ throw Error(`incomparable currencies (${this.currency} and ${a.currency})`);
+ }
return emsc.amount_cmp(this.nativePtr, a.nativePtr);
}
diff --git a/extension/lib/wallet/wallet.ts b/extension/lib/wallet/wallet.ts
index 448714254..8e7f63b12 100644
--- a/extension/lib/wallet/wallet.ts
+++ b/extension/lib/wallet/wallet.ts
@@ -513,7 +513,7 @@ export class Wallet {
function storeMintCoin(mc) {
let mint: IMintInfo = mc[0];
- let coin = mc[1];
+ let coin: Coin = mc[1];
let cd = {
coin: coin,
denom: mint.denoms.find((e) => e.denom_pub === coin.denomPub)
@@ -521,6 +521,10 @@ export class Wallet {
if (!cd.denom) {
throw Error("denom not found (database inconsistent)");
}
+ if (cd.denom.value.currency !== paymentAmount.currency) {
+ console.warn("same pubkey for different currencies");
+ return;
+ }
let x = m[mint.baseUrl];
if (!x) {
m[mint.baseUrl] = [cd];
diff --git a/extension/lib/wallet/wxMessaging.ts b/extension/lib/wallet/wxMessaging.ts
index df79648ab..d497e5246 100644
--- a/extension/lib/wallet/wxMessaging.ts
+++ b/extension/lib/wallet/wxMessaging.ts
@@ -139,7 +139,8 @@ function dispatch(handlers, req, sendResponse) {
})
})
.catch((e) => {
- console.log("exception during wallet handler");
+ console.log(`exception during wallet handler for '${req.type}'`);
+ console.log("request", req);
console.error(e);
sendResponse({
error: "exception",
@@ -205,7 +206,8 @@ export function wxMain() {
try {
return dispatch(handlers, req, sendResponse)
} catch (e) {
- console.log("exception during wallet handler (dispatch)");
+ console.log(`exception during wallet handler (dispatch)`);
+ console.log("request", req);
console.error(e);
sendResponse({
error: "exception",
diff --git a/extension/manifest.json b/extension/manifest.json
index 2c74c0b48..c4c2de987 100644
--- a/extension/manifest.json
+++ b/extension/manifest.json
@@ -2,7 +2,7 @@
"description": "Privacy preserving and transparent payments",
"manifest_version": 2,
"name": "GNU Taler Wallet (git)",
- "version": "0.5.9",
+ "version": "0.5.10",
"applications": {
"gecko": {