Skip to content

Instantly share code, notes, and snippets.

@AerialX
Created March 8, 2015 23:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AerialX/1041460cb9dd5876658c to your computer and use it in GitHub Desktop.
Save AerialX/1041460cb9dd5876658c to your computer and use it in GitHub Desktop.
rust emscripten test
<!doctype html>
<html lang="en-us">
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Emscripten-Generated Code</title>
<style>
body {
font-family: arial;
margin: 0;
padding: none;
}
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
div.emscripten { text-align: center; }
div.emscripten_border { border: 1px solid black; }
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */
canvas.emscripten { border: 0px none; }
#emscripten_logo {
display: inline-block;
margin: 0;
}
.spinner {
height: 30px;
width: 30px;
margin: 0;
margin-top: 20px;
margin-left: 20px;
display: inline-block;
vertical-align: top;
-webkit-animation: rotation .8s linear infinite;
-moz-animation: rotation .8s linear infinite;
-o-animation: rotation .8s linear infinite;
animation: rotation 0.8s linear infinite;
border-left: 5px solid rgb(235, 235, 235);
border-right: 5px solid rgb(235, 235, 235);
border-bottom: 5px solid rgb(235, 235, 235);
border-top: 5px solid rgb(120, 120, 120);
border-radius: 100%;
background-color: rgb(189, 215, 46);
}
@-webkit-keyframes rotation {
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes rotation {
from {-moz-transform: rotate(0deg);}
to {-moz-transform: rotate(360deg);}
}
@-o-keyframes rotation {
from {-o-transform: rotate(0deg);}
to {-o-transform: rotate(360deg);}
}
@keyframes rotation {
from {transform: rotate(0deg);}
to {transform: rotate(360deg);}
}
#status {
display: inline-block;
vertical-align: top;
margin-top: 30px;
margin-left: 20px;
font-weight: bold;
color: rgb(120, 120, 120);
}
#progress {
height: 20px;
width: 30px;
}
#controls {
display: inline-block;
float: right;
vertical-align: top;
margin-top: 30px;
margin-right: 20px;
}
#output {
width: 100%;
height: 200px;
margin: 0 auto;
margin-top: 10px;
display: block;
background-color: black;
color: white;
font-family: 'Lucida Console', Monaco, monospace;
outline: none;
}
</style>
</head>
<body>
<div class="spinner" id='spinner'></div>
<div class="emscripten" id="status">Downloading...</div>
<span id='controls'>
<span><input type="checkbox" id="resize">Resize canvas</span>
<span><input type="checkbox" id="pointerLock" checked>Lock/hide mouse pointer &nbsp;&nbsp;&nbsp;</span>
<span><input type="button" value="Fullscreen" onclick="Module.requestFullScreen(document.getElementById('pointerLock').checked,
document.getElementById('resize').checked)">
</span>
</span>
<div class="emscripten">
<progress value="0" max="100" id="progress" hidden=1></progress>
</div>
<div class="emscripten_border">
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()"></canvas>
</div>
<textarea id="output" rows="8"></textarea>
<script type='text/javascript'>
var statusElement = document.getElementById('status');
var progressElement = document.getElementById('progress');
var spinnerElement = document.getElementById('spinner');
var Module = {
preRun: [],
postRun: [],
print: (function() {
var element = document.getElementById('output');
if (element) element.value = ''; // clear browser cache
return function(text) {
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
// These replacements are necessary if you render to raw HTML
//text = text.replace(/&/g, "&amp;");
//text = text.replace(/</g, "&lt;");
//text = text.replace(/>/g, "&gt;");
//text = text.replace('\n', '<br>', 'g');
console.log(text);
if (element) {
element.value += text + "\n";
element.scrollTop = element.scrollHeight; // focus on bottom
}
};
})(),
printErr: function(text) {
if (arguments.length > 1) text = Array.prototype.slice.call(arguments).join(' ');
if (0) { // XXX disabled for safety typeof dump == 'function') {
dump(text + '\n'); // fast, straight to the real console
} else {
console.error(text);
}
},
canvas: (function() {
var canvas = document.getElementById('canvas');
// As a default initial behavior, pop up an alert when webgl context is lost. To make your
// application robust, you may want to override this behavior before shipping!
// See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
return canvas;
})(),
setStatus: function(text) {
if (!Module.setStatus.last) Module.setStatus.last = { time: Date.now(), text: '' };
if (text === Module.setStatus.text) return;
var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/);
var now = Date.now();
if (m && now - Date.now() < 30) return; // if this is a progress update, skip it if too soon
if (m) {
text = m[1];
progressElement.value = parseInt(m[2])*100;
progressElement.max = parseInt(m[4])*100;
progressElement.hidden = false;
spinnerElement.hidden = false;
} else {
progressElement.value = null;
progressElement.max = null;
progressElement.hidden = true;
if (!text) spinnerElement.style.display = 'none';
}
statusElement.innerHTML = text;
},
totalDependencies: 0,
monitorRunDependencies: function(left) {
this.totalDependencies = Math.max(this.totalDependencies, left);
Module.setStatus(left ? 'Preparing... (' + (this.totalDependencies-left) + '/' + this.totalDependencies + ')' : 'All downloads complete.');
}
};
Module.setStatus('Downloading...');
window.onerror = function(event) {
// TODO: do not warn on ok events like simulating an infinite loop or exitStatus
Module.setStatus('Exception thrown, see JavaScript console');
spinnerElement.style.display = 'none';
Module.setStatus = function(text) {
if (text) Module.printErr('[post-exception status] ' + text);
};
};
</script>
<script async type="text/javascript">
function e(a){throw a;}var g=void 0,j=!0,k=null,m=!1;function n(){return function(){}}var q;q||(q=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},s;for(s in q)q.hasOwnProperty(s)&&(aa[s]=q[s]);var u="object"===typeof process&&"function"===typeof require,ba="object"===typeof window,ca="function"===typeof importScripts,da=!ba&&!u&&!ca;
if(u){q.print||(q.print=function(a){process.stdout.write(a+"\n")});q.printErr||(q.printErr=function(a){process.stderr.write(a+"\n")});var ea=require("fs"),ga=require("path");q.read=function(a,b){var a=ga.normalize(a),c=ea.readFileSync(a);!c&&a!=ga.resolve(a)&&(a=path.join(__dirname,"..","src",a),c=ea.readFileSync(a));c&&!b&&(c=c.toString());return c};q.readBinary=function(a){return q.read(a,j)};q.load=function(a){ha(read(a))};q.thisProgram=1<process.argv.length?process.argv[1].replace(/\\/g,"/"):
"unknown-program";q.arguments=process.argv.slice(2);"undefined"!==typeof module&&(module.exports=q);process.on("uncaughtException",function(a){a instanceof ia||e(a)})}else da?(q.print||(q.print=print),"undefined"!=typeof printErr&&(q.printErr=printErr),q.read="undefined"!=typeof read?read:function(){e("no read() available (jsc?)")},q.readBinary=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");v("object"===typeof a);return a},"undefined"!=typeof scriptArgs?
q.arguments=scriptArgs:"undefined"!=typeof arguments&&(q.arguments=arguments),eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined")):ba||ca?(q.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,m);b.send(k);return b.responseText},"undefined"!=typeof arguments&&(q.arguments=arguments),"undefined"!==typeof console?(q.print||(q.print=function(a){console.log(a)}),q.printErr||(q.printErr=function(a){console.log(a)})):q.print||(q.print=n()),ca&&(q.load=
importScripts)):e("Unknown runtime environment. Where are we?");function ha(a){eval.call(k,a)}!q.load&&q.read&&(q.load=function(a){ha(q.read(a))});q.print||(q.print=n());q.printErr||(q.printErr=q.print);q.arguments||(q.arguments=[]);q.thisProgram||(q.thisProgram="./this.program");q.print=q.print;q.ca=q.printErr;q.preRun=[];q.postRun=[];for(s in aa)aa.hasOwnProperty(s)&&(q[s]=aa[s]);
var y={ie:function(a){ja=a},Fd:function(){return ja},Yb:function(){return w},Xb:function(a){w=a},vc:function(a){switch(a){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:return"*"===a[a.length-1]?y.ja:"i"===a[0]?(a=parseInt(a.substr(1)),v(0===a%8),a/8):0}},Dd:function(a){return Math.max(y.vc(a),y.ja)},bg:16,Ig:function(a,b,c){return!c&&("i64"==a||"double"==a)?8:!a?Math.min(b,8):Math.min(b||(a?y.Dd(a):0),
y.ja)},ka:function(a,b,c){return c&&c.length?(c.splice||(c=Array.prototype.slice.call(c)),c.splice(0,0,b),q["dynCall_"+a].apply(k,c)):q["dynCall_"+a].call(k,b)},gb:[],Zc:function(a){for(var b=0;b<y.gb.length;b++)if(!y.gb[b])return y.gb[b]=a,2*(1+b);e("Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.")},de:function(a){y.gb[(a-2)/2]=k},Jg:function(a,b){y.zb||(y.zb={});var c=y.zb[a];if(c)return c;for(var c=[],d=0;d<b;d++)c.push(String.fromCharCode(36)+d);
d=A(a);'"'===d[0]&&(d.indexOf('"',1)===d.length-1?d=d.substr(1,d.length-2):B("invalid EM_ASM input |"+d+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)"));try{var f=eval("(function(Module, FS) { return function("+c.join(",")+"){ "+d+" } })")(q,"undefined"!==typeof D?D:k)}catch(h){q.ca("error in executing inline EM_ASM code: "+h+" on: \n\n"+d+"\n\nwith args |"+c+"| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)"),e(h)}return y.zb[a]=
f},Ca:function(a){y.Ca.Wb||(y.Ca.Wb={});y.Ca.Wb[a]||(y.Ca.Wb[a]=1,q.ca(a))},Gb:{},Mg:function(a,b){v(b);y.Gb[b]||(y.Gb[b]={});var c=y.Gb[b];c[a]||(c[a]=function(){return y.ka(b,a,arguments)});return c[a]},Kg:function(){e("You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work")},rb:function(a){var b=w;w=w+a|0;w=w+15&-16;return b},Jc:function(a){var b=E;E=E+a|0;E=E+15&-16;return b},eb:function(a){var b=F;F=F+a|0;F=F+15&-16;F>=H&&
B("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+H+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.");return b},xb:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},bh:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},Tc:8,ja:4,cg:0};q.Runtime=y;y.addFunction=y.Zc;y.removeFunction=y.de;
var I=m,ka,la,ja;function v(a,b){a||B("Assertion failed: "+b)}function ma(a){var b=q["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}v(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var na,oa;
(function(){function a(a){a=a.toString().match(d).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}var b={stackSave:function(){y.Yb()},stackRestore:function(){y.Xb()},arrayToC:function(a){var b=y.rb(a.length);pa(a,b);return b},stringToC:function(a){var b=0;a!==k&&(a!==g&&0!==a)&&(b=y.rb((a.length<<2)+1),qa(a,b));return b}},c={string:b.stringToC,array:b.arrayToC};oa=function(a,b,d,f){var h=ma(a),r=[],a=0;if(f)for(var x=0;x<f.length;x++){var G=c[d[x]];G?(0===a&&(a=y.Yb()),r[x]=G(f[x])):r[x]=
f[x]}d=h.apply(k,r);"string"===b&&(d=A(d));0!==a&&y.Xb(a);return d};var d=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,f={},h;for(h in b)b.hasOwnProperty(h)&&(f[h]=a(b[h]));na=function(b,c,d){var d=d||[],h=ma(b),b=d.every(function(a){return"number"===a}),z="string"!==c;if(z&&b)return h;var r=d.map(function(a,b){return"$"+b}),c="(function("+r.join(",")+") {",x=d.length;if(!b)for(var c=c+("var stack = "+f.stackSave.body+";"),G=0;G<x;G++){var wa=r[G],fa=d[G];"number"!==fa&&
(fa=f[fa+"ToC"],c+="var "+fa.arguments+" = "+wa+";",c+=fa.body+";",c+=wa+"="+fa.returnValue+";")}d=a(function(){return h}).returnValue;c+="var ret = "+d+"("+r.join(",")+");";z||(d=a(function(){return A}).returnValue,c+="ret = "+d+"(ret);");b||(c+=f.stackRestore.body.replace("()","(stack)")+";");return eval(c+"return ret})")}})();q.cwrap=na;q.ccall=oa;
function ra(a,b,c){c=c||"i8";"*"===c.charAt(c.length-1)&&(c="i32");switch(c){case "i1":J[a>>0]=b;break;case "i8":J[a>>0]=b;break;case "i16":K[a>>1]=b;break;case "i32":L[a>>2]=b;break;case "i64":la=[b>>>0,(ka=b,1<=+sa(ka)?0<ka?(ta(+ua(ka/4294967296),4294967295)|0)>>>0:~~+va((ka-+(~~ka>>>0))/4294967296)>>>0:0)];L[a>>2]=la[0];L[a+4>>2]=la[1];break;case "float":xa[a>>2]=b;break;case "double":ya[a>>3]=b;break;default:B("invalid type for setValue: "+c)}}q.setValue=ra;
function za(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return J[a>>0];case "i8":return J[a>>0];case "i16":return K[a>>1];case "i32":return L[a>>2];case "i64":return L[a>>2];case "float":return xa[a>>2];case "double":return ya[a>>3];default:B("invalid type for setValue: "+b)}return k}q.getValue=za;var Aa=2,Ba=4;q.ALLOC_NORMAL=0;q.ALLOC_STACK=1;q.ALLOC_STATIC=Aa;q.ALLOC_DYNAMIC=3;q.ALLOC_NONE=Ba;
function M(a,b,c,d){var f,h;"number"===typeof a?(f=j,h=a):(f=m,h=a.length);var i="string"===typeof b?b:k,c=c==Ba?d:[Ca,y.rb,y.Jc,y.eb][c===g?Aa:c](Math.max(h,i?1:b.length));if(f){d=c;v(0==(c&3));for(a=c+(h&-4);d<a;d+=4)L[d>>2]=0;for(a=c+h;d<a;)J[d++>>0]=0;return c}if("i8"===i)return a.subarray||a.slice?N.set(a,c):N.set(new Uint8Array(a),c),c;for(var d=0,l,p;d<h;){var t=a[d];"function"===typeof t&&(t=y.Ng(t));f=i||b[d];0===f?d++:("i64"==f&&(f="i32"),ra(c+d,t,f),p!==f&&(l=y.vc(f),p=f),d+=l)}return c}
q.allocate=M;function A(a,b){if(0===b||!a)return"";for(var c=0,d,f=0;;){d=N[a+f>>0];c|=d;if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);d="";if(128>c){for(;0<b;)c=String.fromCharCode.apply(String,N.subarray(a,a+Math.min(b,1024))),d=d?d+c:c,a+=1024,b-=1024;return d}return q.UTF8ToString(a)}q.Pointer_stringify=A;q.AsciiToString=function(a){for(var b="";;){var c=J[a++>>0];if(!c)return b;b+=String.fromCharCode(c)}};q.stringToAscii=function(a,b){return Da(a,b,m)};
function Ea(a,b){for(var c,d,f,h,i,l,p="";;){c=a[b++];if(!c)return p;c&128?(d=a[b++]&63,192==(c&224)?p+=String.fromCharCode((c&31)<<6|d):(f=a[b++]&63,224==(c&240)?c=(c&15)<<12|d<<6|f:(h=a[b++]&63,240==(c&248)?c=(c&7)<<18|d<<12|f<<6|h:(i=a[b++]&63,248==(c&252)?c=(c&3)<<24|d<<18|f<<12|h<<6|i:(l=a[b++]&63,c=(c&1)<<30|d<<24|f<<18|h<<12|i<<6|l))),65536>c?p+=String.fromCharCode(c):(c-=65536,p+=String.fromCharCode(55296|c>>10,56320|c&1023)))):p+=String.fromCharCode(c)}}q.UTF8ArrayToString=Ea;
q.UTF8ToString=function(a){return Ea(N,a)};
function Fa(a,b,c,d){if(!(0<d))return 0;for(var f=c,d=c+d-1,h=0;h<a.length;++h){var i=a.charCodeAt(h);55296<=i&&57343>=i&&(i=65536+((i&1023)<<10)|a.charCodeAt(++h)&1023);if(127>=i){if(c>=d)break;b[c++]=i}else{if(2047>=i){if(c+1>=d)break;b[c++]=192|i>>6}else{if(65535>=i){if(c+2>=d)break;b[c++]=224|i>>12}else{if(2097151>=i){if(c+3>=d)break;b[c++]=240|i>>18}else{if(67108863>=i){if(c+4>=d)break;b[c++]=248|i>>24}else{if(c+5>=d)break;b[c++]=252|i>>30;b[c++]=128|i>>24&63}b[c++]=128|i>>18&63}b[c++]=128|i>>
12&63}b[c++]=128|i>>6&63}b[c++]=128|i&63}}b[c]=0;return c-f}q.stringToUTF8Array=Fa;q.stringToUTF8=function(a,b,c){return Fa(a,N,b,c)};function Ga(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}q.lengthBytesUTF8=Ga;q.UTF16ToString=function(a){for(var b=0,c="";;){var d=K[a+2*b>>1];if(0==d)return c;++b;c+=String.fromCharCode(d)}};
q.stringToUTF16=function(a,b,c){c===g&&(c=2147483647);if(2>c)return 0;for(var c=c-2,d=b,c=c<2*a.length?c/2:a.length,f=0;f<c;++f)K[b>>1]=a.charCodeAt(f),b+=2;K[b>>1]=0;return b-d};q.lengthBytesUTF16=function(a){return 2*a.length};q.UTF32ToString=function(a){for(var b=0,c="";;){var d=L[a+4*b>>2];if(0==d)return c;++b;65536<=d?(d-=65536,c+=String.fromCharCode(55296|d>>10,56320|d&1023)):c+=String.fromCharCode(d)}};
q.stringToUTF32=function(a,b,c){c===g&&(c=2147483647);if(4>c)return 0;for(var d=b,c=d+c-4,f=0;f<a.length;++f){var h=a.charCodeAt(f);if(55296<=h&&57343>=h)var i=a.charCodeAt(++f),h=65536+((h&1023)<<10)|i&1023;L[b>>2]=h;b+=4;if(b+4>c)break}L[b>>2]=0;return b-d};q.lengthBytesUTF32=function(a){for(var b=0,c=0;c<a.length;++c){var d=a.charCodeAt(c);55296<=d&&57343>=d&&++c;b+=4}return b};
function Ha(a){function b(c,d,f){var d=d||Infinity,h="",i=[],r;if("N"===a[l]){l++;"K"===a[l]&&l++;for(r=[];"E"!==a[l];)if("S"===a[l]){l++;var C=a.indexOf("_",l);r.push(t[a.substring(l,C)||0]||"?");l=C+1}else if("C"===a[l])r.push(r[r.length-1]),l+=2;else{var C=parseInt(a.substr(l)),R=C.toString().length;if(!C||!R){l--;break}var Bb=a.substr(l+R,C);r.push(Bb);t.push(Bb);l+=R+C}l++;r=r.join("::");d--;if(0===d)return c?[r]:r}else if(("K"===a[l]||z&&"L"===a[l])&&l++,C=parseInt(a.substr(l)))R=C.toString().length,
r=a.substr(l+R,C),l+=R+C;z=m;"I"===a[l]?(l++,C=b(j),R=b(j,1,j),h+=R[0]+" "+r+"<"+C.join(", ")+">"):h=r;a:for(;l<a.length&&0<d--;)if(r=a[l++],r in p)i.push(p[r]);else switch(r){case "P":i.push(b(j,1,j)[0]+"*");break;case "R":i.push(b(j,1,j)[0]+"&");break;case "L":l++;C=a.indexOf("E",l)-l;i.push(a.substr(l,C));l+=C+2;break;case "A":C=parseInt(a.substr(l));l+=C.toString().length;"_"!==a[l]&&e("?");l++;i.push(b(j,1,j)[0]+" ["+C+"]");break;case "E":break a;default:h+="?"+r;break a}!f&&(1===i.length&&"void"===
i[0])&&(i=[]);return c?(h&&i.push(h+"?"),i):h+("("+i.join(", ")+")")}var c=!!q.___cxa_demangle;if(c)try{var d=Ca(a.length);qa(a.substr(1),d);var f=Ca(4),h=q.___cxa_demangle(d,0,0,f);if(0===za(f,"i32")&&h)return A(h)}catch(i){}finally{d&&Ia(d),f&&Ia(f),h&&Ia(h)}var l=3,p={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:"..."},t=[],z=j,
d=a;try{if("Object._main"==a||"_main"==a)return"main()";"number"===typeof a&&(a=A(a));if("_"!==a[0]||"_"!==a[1]||"Z"!==a[2])return a;switch(a[3]){case "n":return"operator new()";case "d":return"operator delete()"}d=b()}catch(r){d+="?"}0<=d.indexOf("?")&&!c&&y.Ca("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return d}
function Ja(){var a;a:{a=Error();if(!a.stack){try{e(Error(0))}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}return a.replace(/__Z[\w\d_]+/g,function(a){var b=Ha(a);return a===b?a:a+" ["+b+"]"})}q.stackTrace=function(){return Ja()};for(var J,N,K,Ka,L,La,xa,ya,Ma=0,E=0,Na=0,w=0,Oa=0,Pa=0,F=0,Qa=q.TOTAL_STACK||5242880,H=q.TOTAL_MEMORY||16777216,O=65536;O<H||O<2*Qa;)O=16777216>O?2*O:O+16777216;
O!==H&&(q.ca("increasing TOTAL_MEMORY to "+O+" to be compliant with the asm.js spec (and given that TOTAL_STACK="+Qa+")"),H=O);v("undefined"!==typeof Int32Array&&"undefined"!==typeof Float64Array&&!!(new Int32Array(1)).subarray&&!!(new Int32Array(1)).set,"JS engine does not provide full typed array support");var P=new ArrayBuffer(H);J=new Int8Array(P);K=new Int16Array(P);L=new Int32Array(P);N=new Uint8Array(P);Ka=new Uint16Array(P);La=new Uint32Array(P);xa=new Float32Array(P);ya=new Float64Array(P);
L[0]=255;v(255===N[0]&&0===N[3],"Typed arrays 2 must be run on a little-endian system");q.HEAP=g;q.buffer=P;q.HEAP8=J;q.HEAP16=K;q.HEAP32=L;q.HEAPU8=N;q.HEAPU16=Ka;q.HEAPU32=La;q.HEAPF32=xa;q.HEAPF64=ya;function Ra(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var c=b.la;"number"===typeof c?b.Za===g?y.ka("v",c):y.ka("vi",c,[b.Za]):c(b.Za===g?k:b.Za)}}}var Sa=[],Ta=[],Ua=[],Va=[],Wa=[],Xa=m;function Ya(a){Sa.unshift(a)}q.addOnPreRun=q.ig=Ya;q.addOnInit=q.fg=function(a){Ta.unshift(a)};
q.addOnPreMain=q.hg=function(a){Ua.unshift(a)};q.addOnExit=q.eg=function(a){Va.unshift(a)};function Za(a){Wa.unshift(a)}q.addOnPostRun=q.gg=Za;function $a(a,b,c){c=Array(0<c?c:Ga(a)+1);a=Fa(a,c,0,c.length);b&&(c.length=a);return c}q.intArrayFromString=$a;q.intArrayToString=function(a){for(var b=[],c=0;c<a.length;c++){var d=a[c];255<d&&(d&=255);b.push(String.fromCharCode(d))}return b.join("")};function qa(a,b,c){a=$a(a,c);for(c=0;c<a.length;)J[b+c>>0]=a[c],c+=1}q.writeStringToMemory=qa;
function pa(a,b){for(var c=0;c<a.length;c++)J[b++>>0]=a[c]}q.writeArrayToMemory=pa;function Da(a,b,c){for(var d=0;d<a.length;++d)J[b++>>0]=a.charCodeAt(d);c||(J[b>>0]=0)}q.writeAsciiToMemory=Da;if(!Math.imul||-5!==Math.imul(4294967295,5))Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0};Math.Rg=Math.imul;Math.clz32||(Math.clz32=function(a){for(var a=a>>>0,b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.pg=Math.clz32;
var sa=Math.abs,va=Math.ceil,ua=Math.floor,ta=Math.min,Q=0,ab=k,bb=k;function cb(){Q++;q.monitorRunDependencies&&q.monitorRunDependencies(Q)}q.addRunDependency=cb;function db(){Q--;q.monitorRunDependencies&&q.monitorRunDependencies(Q);if(0==Q&&(ab!==k&&(clearInterval(ab),ab=k),bb)){var a=bb;bb=k;a()}}q.removeRunDependency=db;q.preloadedImages={};q.preloadedAudios={};var S=k,Ma=8,E=Ma+6672;Ta.push();
M([86,101,99,58,58,114,101,115,101,114,118,101,58,32,96,117,115,105,122,101,96,32,111,118,101,114,102,108,111,119,0,0,8,0,0,0,30,0,0,0,1,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,104,101,108,108,111,63,0,0,72,0,0,0,6,0,0,0,80,0,0,0,1,0,0,0,119,101,98,103,108,32,115,116,117,102,102,32,100,111,110,101,44,32,116,105,109,101,32,102,111,114,32,97,32,102,105,98,111,110,97,99,99,105,32,115,101,113,117,101,110,99,101,46,46,46,0,0,0,0,0,0,96,0,0,0,50,0,0,0,152,0,0,0,1,0,0,0,102,105,98,32,0,0,0,0,168,0,
0,0,4,0,0,0,176,0,0,0,1,0,0,0,84,101,115,116,32,111,117,116,32,114,117,115,116,99,45,115,101,114,105,97,108,105,122,101,32,106,117,115,116,32,116,111,32,115,101,101,32,105,102,32,100,101,112,101,110,100,101,110,99,105,101,115,32,119,111,114,107,46,46,46,0,0,0,0,192,0,0,0,60,0,0,0,0,1,0,0,1,0,0,0,16,1,0,0,0,0,0,0,16,1,0,0,1,0,0,0,1,0,0,0,12,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,115,111,109,101,95,115,116,114,105,110,103,0,0,0,0,0,56,1,0,0,11,0,0,0,115,111,109,101,95,105,110,116,80,1,0,0,8,0,0,0,72,
101,121,32,116,104,101,114,101,0,0,0,0,0,0,0,96,1,0,0,9,0,0,0,224,2,0,0,1,0,0,0,208,2,0,0,1,0,0,0,216,2,0,0,1,0,0,0,232,2,0,0,1,0,0,0,240,2,0,0,1,0,0,0,96,4,0,0,1,0,0,0,64,4,0,0,2,0,0,0,32,3,0,0,1,0,0,0,56,4,0,0,6,0,0,0,48,4,0,0,6,0,0,0,40,4,0,0,6,0,0,0,32,4,0,0,6,0,0,0,24,4,0,0,6,0,0,0,16,4,0,0,6,0,0,0,8,4,0,0,6,0,0,0,0,4,0,0,6,0,0,0,248,3,0,0,6,0,0,0,240,3,0,0,6,0,0,0,232,3,0,0,6,0,0,0,224,3,0,0,6,0,0,0,216,3,0,0,6,0,0,0,208,3,0,0,6,0,0,0,200,3,0,0,6,0,0,0,192,3,0,0,6,0,0,0,184,3,0,0,6,0,0,0,176,
3,0,0,6,0,0,0,168,3,0,0,6,0,0,0,160,3,0,0,2,0,0,0,152,3,0,0,2,0,0,0,144,3,0,0,6,0,0,0,136,3,0,0,2,0,0,0,128,3,0,0,2,0,0,0,120,3,0,0,2,0,0,0,112,3,0,0,6,0,0,0,104,3,0,0,6,0,0,0,96,3,0,0,6,0,0,0,88,3,0,0,6,0,0,0,80,3,0,0,6,0,0,0,72,3,0,0,6,0,0,0,64,3,0,0,6,0,0,0,56,3,0,0,2,0,0,0,48,3,0,0,2,0,0,0,40,3,0,0,6,0,0,0,16,3,0,0,1,0,0,0,8,3,0,0,1,0,0,0,0,3,0,0,1,0,0,0,248,2,0,0,1,0,0,0,248,2,0,0,0,0,0,0,58,0,0,0,0,0,0,0,123,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,125,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,
92,117,48,48,48,48,0,0,92,92,0,0,0,0,0,0,92,34,0,0,0,0,0,0,92,117,48,48,48,49,0,0,92,117,48,48,48,50,0,0,92,117,48,48,48,51,0,0,92,117,48,48,48,52,0,0,92,117,48,48,48,53,0,0,92,117,48,48,48,54,0,0,92,117,48,48,48,55,0,0,92,98,0,0,0,0,0,0,92,116,0,0,0,0,0,0,92,110,0,0,0,0,0,0,92,117,48,48,48,98,0,0,92,102,0,0,0,0,0,0,92,114,0,0,0,0,0,0,92,117,48,48,48,101,0,0,92,117,48,48,48,102,0,0,92,117,48,48,49,48,0,0,92,117,48,48,49,49,0,0,92,117,48,48,49,50,0,0,92,117,48,48,49,51,0,0,92,117,48,48,49,52,0,0,92,
117,48,48,49,53,0,0,92,117,48,48,49,54,0,0,92,117,48,48,49,55,0,0,92,117,48,48,49,56,0,0,92,117,48,48,49,57,0,0,92,117,48,48,49,97,0,0,92,117,48,48,49,98,0,0,92,117,48,48,49,99,0,0,92,117,48,48,49,100,0,0,92,117,48,48,49,101,0,0,92,117,48,48,49,102,0,0,92,117,48,48,55,102,0,0,80,4,0,0,9,0,0,0,24,3,0,0,1,0,0,0,70,109,116,69,114,114,111,114,40,0,0,0,0,0,0,0,104,4,0,0,13,0,0,0,66,97,100,72,97,115,104,109,97,112,75,101,121,0,0,0,200,8,0,0,1,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,1,0,0,0,216,15,0,0,9,0,0,0,160,15,0,0,1,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,4,0,0,0,1,0,0,0,96,15,0,0,19,0,0,0,144,9,0,0,29,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,13,0,0,0,14,0,0,0,0,0,0,0,40,15,0,0,32,0,0,0,11,0,0,0,0,0,0,0,16,15,0,0,19,0,0,0,17,0,0,0,0,0,0,0,248,14,0,0,17,0,0,0,17,0,0,0,0,0,0,0,224,14,0,
0,19,0,0,0,13,0,0,0,0,0,0,0,32,13,0,0,28,0,0,0,16,0,0,0,0,0,0,0,96,10,0,0,16,0,0,0,15,0,0,0,0,0,0,0,200,14,0,0,24,0,0,0,16,0,0,0,0,0,0,0,168,14,0,0,32,0,0,0,2,0,0,0,0,0,0,0,136,14,0,0,25,0,0,0,6,0,0,0,0,0,0,0,120,14,0,0,14,0,0,0,6,0,0,0,0,0,0,0,96,14,0,0,21,0,0,0,8,0,0,0,0,0,0,0,72,14,0,0,18,0,0,0,9,0,0,0,0,0,0,0,56,14,0,0,13,0,0,0,10,0,0,0,0,0,0,0,40,14,0,0,11,0,0,0,7,0,0,0,0,0,0,0,24,14,0,0,16,0,0,0,6,0,0,0,0,0,0,0,0,14,0,0,18,0,0,0,1,0,0,0,0,0,0,0,112,13,0,0,11,0,0,0,3,0,0,0,0,0,0,0,232,13,0,0,
17,0,0,0,128,13,0,0,2,0,0,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,0,0,64,13,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,36,0,0,0,4,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,17,0,0,0,18,0,0,0,4,0,0,0,19,0,0,0,20,0,0,0,3,0,0,0,4,0,0,0,21,0,0,0,22,0,0,0,200,12,0,0,1,0,0,
0,168,12,0,0,26,0,0,0,99,1,0,0,0,0,0,0,240,9,0,0,1,0,0,0,152,12,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,12,0,0,1,0,0,0,104,12,0,0,1,0,0,0,80,12,0,0,1,0,0,0,56,12,0,0,1,0,0,0,32,12,0,0,1,0,0,0,8,12,0,0,1,0,0,0,248,11,0,0,1,0,0,0,216,11,0,0,1,0,0,0,192,11,0,0,1,0,0,0,160,11,0,0,1,0,0,0,136,11,0,0,1,0,0,0,112,11,0,0,1,0,0,0,80,11,0,0,1,0,0,0,56,11,0,0,1,0,0,0,16,11,0,0,1,0,0,0,240,10,0,0,1,0,0,0,216,10,0,0,1,0,0,0,192,10,0,0,1,0,0,0,176,10,0,0,1,0,0,0,144,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,32,0,0,0,4,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,248,9,0,0,7,0,0,0,200,9,0,0,2,0,0,0,136,9,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,96,9,0,0,38,0,0,0,56,9,0,0,36,0,0,0,58,0,0,0,0,0,0,0,248,8,0,0,60,0,0,0,224,8,0,0,20,0,0,0,142,0,0,0,0,0,0,0,216,8,0,0,0,0,0,0,32,125,0,0,0,0,0,0,41,0,0,0,0,0,0,0,115,114,99,47,108,105,98,115,116,100,47,114,116,47,109,111,100,46,114,115,0,0,0,0,97,115,115,101,
114,116,105,111,110,32,102,97,105,108,101,100,58,32,115,105,103,110,97,108,40,108,105,98,99,58,58,83,73,71,80,73,80,69,44,32,108,105,98,99,58,58,83,73,71,95,73,71,78,41,32,33,61,32,45,49,0,0,0,0,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,99,111,109,109,111,110,47,116,104,114,101,97,100,95,105,110,102,111,46,114,115,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,99,46,98,111,114,114,111,119,40,41,46,105,115,95,110,111,110,101,40,41,0,0,60,109,97,105,110,62,0,
0,115,114,99,47,108,105,98,115,116,100,47,114,116,47,117,110,119,105,110,100,95,100,117,109,109,121,46,114,115,0,0,0,184,9,0,0,16,0,0,0,40,42,112,116,114,41,46,105,115,95,110,111,110,101,40,41,216,9,0,0,21,0,0,0,240,9,0,0,1,0,0,0,102,97,116,97,108,32,114,117,110,116,105,109,101,32,101,114,114,111,114,58,32,0,0,0,10,0,0,0,0,0,0,0,97,98,111,114,116,101,100,0,2,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,12,0,0,0,0,0,0,0,32,10,0,0,30,0,0,0,86,101,99,58,58,114,101,115,101,114,118,101,58,32,96,117,115,105,122,101,
96,32,111,118,101,114,102,108,111,119,0,0,115,114,99,47,108,105,98,115,116,100,47,115,121,115,47,117,110,105,120,47,111,115,46,114,115,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,58,0,0,0,0,0,0,0,44,32,100,101,115,99,58,32,44,32,100,101,116,97,105,108,58,32,0,0,0,0,0,0,160,10,0,0,11,0,0,0,216,8,0,0,1,0,0,0,83,104,111,114,116,87,114,105,116,101,40,0,0,0,0,0,184,10,0,0,8,0,0,0,84,105,109,101,100,79,117,116,200,10,0,0,12,0,0,0,73,110,118,97,108,105,100,73,110,112,117,116,
0,0,0,0,224,10,0,0,13,0,0,0,73,111,85,110,97,118,97,105,108,97,98,108,101,0,0,0,248,10,0,0,19,0,0,0,82,101,115,111,117,114,99,101,85,110,97,118,97,105,108,97,98,108,101,0,0,0,0,0,24,11,0,0,30,0,0,0,77,105,115,109,97,116,99,104,101,100,70,105,108,101,84,121,112,101,70,111,114,79,112,101,114,97,116,105,111,110,0,0,64,11,0,0,15,0,0,0,80,97,116,104,68,111,101,115,110,116,69,120,105,115,116,0,88,11,0,0,17,0,0,0,80,97,116,104,65,108,114,101,97,100,121,69,120,105,115,116,115,0,0,0,0,0,0,0,120,11,0,0,10,
0,0,0,66,114,111,107,101,110,80,105,112,101,0,0,0,0,0,0,144,11,0,0,12,0,0,0,78,111,116,67,111,110,110,101,99,116,101,100,0,0,0,0,168,11,0,0,17,0,0,0,67,111,110,110,101,99,116,105,111,110,65,98,111,114,116,101,100,0,0,0,0,0,0,0,200,11,0,0,15,0,0,0,67,111,110,110,101,99,116,105,111,110,82,101,115,101,116,0,224,11,0,0,17,0,0,0,67,111,110,110,101,99,116,105,111,110,82,101,102,117,115,101,100,0,0,0,0,0,0,0,0,12,0,0,6,0,0,0,67,108,111,115,101,100,0,0,16,12,0,0,16,0,0,0,67,111,110,110,101,99,116,105,111,
110,70,97,105,108,101,100,40,12,0,0,16,0,0,0,80,101,114,109,105,115,115,105,111,110,68,101,110,105,101,100,64,12,0,0,12,0,0,0,70,105,108,101,78,111,116,70,111,117,110,100,0,0,0,0,88,12,0,0,9,0,0,0,69,110,100,79,102,70,105,108,101,0,0,0,0,0,0,0,112,12,0,0,12,0,0,0,79,116,104,101,114,73,111,69,114,114,111,114,0,0,0,0,136,12,0,0,10,0,0,0,78,111,80,114,111,103,114,101,115,115,0,0,0,0,0,0,216,8,0,0,0,0,0,0,240,9,0,0,1,0,0,0,115,114,99,47,108,105,98,115,116,100,47,111,108,100,95,105,111,47,115,116,100,
105,111,46,114,115,0,0,0,0,0,0,208,12,0,0,27,0,0,0,102,97,105,108,101,100,32,112,114,105,110,116,105,110,103,32,116,111,32,115,116,100,111,117,116,58,32,0,0,0,0,0,2,0,0,0,32,0,0,0,4,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,115,32,110,111,116,32,97,32,84,84,89,0,0,0,0,96,13,0,0,16,0,0,0,120,10,0,0,8,0,0,0,128,10,0,0,10,0,0,0,208,8,0,0,2,0,0,0,73,111,69,114,114,111,114,32,123,32,107,105,110,100,
58,32,101,110,100,32,111,102,32,102,105,108,101,0,0,0,0,0,144,13,0,0,6,0,0,0,152,13,0,0,30,0,0,0,101,114,114,111,114,32,0,0,32,119,104,101,110,32,99,108,111,115,105,110,103,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,0,0,208,13,0,0,18,0,0,0,64,10,0,0,25,0,0,0,106,0,0,0,0,0,0,0,115,116,114,101,114,114,111,114,95,114,32,102,97,105,108,117,114,101,0,0,0,0,0,0,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,0,0,0,0,0,0,99,111,110,110,101,99,116,105,111,110,32,
114,101,102,117,115,101,100,0,0,0,0,0,0,99,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,98,114,111,107,101,110,32,112,105,112,101,0,0,0,0,0,110,111,116,32,99,111,110,110,101,99,116,101,100,0,0,0,99,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,0,0,0,0,0,97,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,0,0,97,100,100,114,101,115,115,32,105,110,32,117,115,101,0,0,110,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,0,0,0,0,0,0,105,108,108,101,103,97,108,32,111,112,101,114,97,116,105,111,110,32,111,110,32,97,32,100,105,114,101,99,116,111,114,121,102,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,111,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,0,0,0,0,111,112,101,114,97,116,105,111,110,32,97,98,111,114,116,101,100,0,0,0,0,0,0,0,112,97,116,104,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,0,0,0,0,114,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,109,97,105,110,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,2,0,0,0,110,111,116,32,121,101,116,32,105,109,112,108,101,109,101,110,116,101,100,0,0,0,0,0,152,15,0,0,8,0,0,0,136,15,0,0,1,0,0,0,144,15,0,0,7,0,0,0,112,97,110,105,99,58,32,0,66,111,120,60,65,110,121,62,168,15,0,0,43,0,0,0,116,104,114,101,97,100,32,112,97,110,105,99,107,101,100,32,119,104,105,108,101,32,112,97,110,105,99,107,105,110,103,46,32,97,98,
111,114,116,105,110,103,46,10,0,0,0,0,0,112,114,101,118,32,61,61,32,48,0,0,0,0,0,0,0,240,15,0,0,19,0,0,0,32,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,0,0,0,0,0,96,16,0,0,5,0,0,0,24,16,0,0,5,0,0,0,64,16,0,0,8,0,0,0,72,16,0,0,15,0,0,0,88,16,0,0,3,0,0,0,112,10,0,0,1,0,0,0,240,9,0,0,1,0,0,0,116,104,114,101,97,100,32,39,39,32,112,97,110,105,99,107,101,100,32,97,116,32,39,0,39,44,32,0,0,0,0,0,64,16,0,0,8,0,0,0,72,16,0,0,15,0,0,0,88,16,0,0,3,0,0,0,112,10,0,0,1,0,0,0,136,16,0,0,2,
0,0,0,10,10,0,0,0,0,0,0,176,16,0,0,17,0,0,0,200,16,0,0,25,0,0,0,145,2,0,0,0,0,0,0,232,16,0,0,1,0,0,0,99,97,112,97,99,105,116,121,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,115,114,99,47,108,105,98,99,111,108,108,101,99,116,105,111,110,115,47,118,101,99,46,114,115,0,0,0,0,0,0,0,240,16,0,0,0,0,0,0,88,20,0,0,35,0,0,0,64,20,0,0,19,0,0,0,140,1,0,0,0,0,0,0,128,20,0,0,27,0,0,0,64,20,0,0,19,0,0,0,201,1,0,0,0,0,0,0,184,20,0,0,1,0,0,0,192,20,0,0,2,0,0,0,208,20,0,0,21,0,0,0,74,1,0,0,0,0,0,0,240,20,0,0,
43,0,0,0,208,20,0,0,21,0,0,0,106,1,0,0,0,0,0,0,32,21,0,0,21,0,0,0,232,2,0,0,0,0,0,0,56,21,0,0,1,0,0,0,88,21,0,0,42,0,0,0,64,21,0,0,20,0,0,0,8,2,0,0,0,0,0,0,136,21,0,0,41,0,0,0,64,21,0,0,20,0,0,0,9,2,0,0,0,0,0,0,88,21,0,0,42,0,0,0,64,21,0,0,20,0,0,0,47,2,0,0,0,0,0,0,184,21,0,0,38,0,0,0,64,21,0,0,20,0,0,0,6,6,0,0,0,0,0,0,232,20,0,0,1,0,0,0,232,23,0,0,2,0,0,0,80,22,0,0,22,0,0,0,106,0,0,0,0,0,0,0,24,22,0,0,0,0,0,0,216,23,0,0,1,0,0,0,160,20,0,0,19,0,0,0,188,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,191,1,0,0,
0,0,0,0,160,20,0,0,19,0,0,0,192,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,195,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,196,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,197,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,200,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,201,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,202,1,0,0,0,0,0,0,160,20,0,0,19,0,0,0,203,1,0,0,0,0,0,0,144,23,0,0,2,0,0,0,128,23,0,0,1,0,0,0,96,23,0,0,2,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,224,22,0,0,30,0,0,0,104,22,0,0,22,0,0,0,96,5,0,0,0,0,0,0,0,23,0,0,4,0,0,0,104,22,0,0,22,0,0,0,97,5,0,0,0,0,0,0,176,22,0,0,44,
0,0,0,104,22,0,0,22,0,0,0,211,5,0,0,0,0,0,0,128,22,0,0,42,0,0,0,104,22,0,0,22,0,0,0,212,5,0,0,0,0,0,0,64,22,0,0,1,0,0,0,40,22,0,0,22,0,0,0,154,1,0,0,0,0,0,0,40,22,0,0,22,0,0,0,142,1,0,0,0,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,99,101,108,108,46,114,115,0,0,0,0,0,82,101,102,67,101,108,108,60,84,62,32,97,108,114,101,97,100,121,32,109,117,116,97,98,108,121,32,98,111,114,114,111,119,101,100,0,0,0,0,0,82,101,102,67,101,108,108,60,84,62,32,97,108,114,101,97,100,121,32,98,111,114,114,111,119,101,
100,0,0,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,99,104,97,114,46,114,115,0,0,0,0,0,32,22,0,0,4,0,0,0,24,22,0,0,5,0,0,0,224,21,0,0,1,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,111,112,116,105,111,110,46,114,115,0,0,0,24,22,0,0,0,0,0,0,99,97,108,108,101,100,32,96,79,112,116,105,111,110,58,58,117,110,119,114,97,112,40,41,96,32,111,110,32,97,32,96,78,111,110,101,96,32,118,97,108,117,101,0,0,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,114,101,115,117,108,116,46,114,115,0,0,0,232,21,
0,0,45,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,115,108,105,99,101,46,114,115,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,105,110,100,101,120,46,115,116,97,114,116,32,60,61,32,105,110,100,101,120,46,101,110,100,0,0,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,105,110,100,101,120,46,101,110,100,32,60,61,32,115,101,108,102,46,108,101,110,40,41,0,0,0,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,100,115,
116,46,108,101,110,40,41,32,62,61,32,108,101,110,95,115,114,99,0,0,41,0,0,0,0,0,0,0,99,97,108,108,101,100,32,96,82,101,115,117,108,116,58,58,117,110,119,114,97,112,40,41,96,32,111,110,32,97,110,32,96,69,114,114,96,32,118,97,108,117,101,58,32,0,0,0,83,111,109,101,40,0,0,0,78,111,110,101,0,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,109,111,100,46,114,115,0,0,72,22,0,0,5,0,0,0,69,114,114,111,114,0,0,0,115,114,99,47,108,105,98,99,111,114,101,47,102,109,116,47,110,117,109,46,114,115,
0,0,115,114,99,47,108,105,98,99,111,114,101,47,115,116,114,47,109,111,100,46,114,115,0,0,115,108,105,99,101,95,99,104,97,114,115,58,32,96,101,110,100,96,32,105,115,32,98,101,121,111,110,100,32,101,110,100,32,111,102,32,115,116,114,105,110,103,0,0,0,0,0,0,115,108,105,99,101,95,99,104,97,114,115,58,32,96,98,101,103,105,110,96,32,105,115,32,98,101,121,111,110,100,32,101,110,100,32,111,102,32,115,116,114,105,110,103,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,98,101,103,
105,110,32,60,61,32,101,110,100,0,0,32,23,0,0,6,0,0,0,40,23,0,0,8,0,0,0,48,23,0,0,5,0,0,0,56,23,0,0,34,0,0,0,105,110,100,101,120,32,0,0,32,97,110,100,47,111,114,32,32,105,110,32,96,0,0,0,96,32,100,111,32,110,111,116,32,108,105,101,32,111,110,32,99,104,97,114,97,99,116,101,114,32,98,111,117,110,100,97,114,121,0,0,0,0,0,0,112,23,0,0,12,0,0,0,224,21,0,0,1,0,0,0,73,110,118,97,108,105,100,66,121,116,101,40,0,0,0,0,136,23,0,0,8,0,0,0,84,111,111,83,104,111,114,116,160,23,0,0,32,0,0,0,192,23,0,0,18,0,0,0,
105,110,100,101,120,32,111,117,116,32,111,102,32,98,111,117,110,100,115,58,32,116,104,101,32,108,101,110,32,105,115,32,32,98,117,116,32,116,104,101,32,105,110,100,101,120,32,105,115,32,0,0,0,0,0,0,224,23,0,0,1,0,0,0,34,0,0,0,0,0,0,0,248,23,0,0,27,0,0,0,24,24,0,0,2,0,0,0,110,117,109,98,101,114,32,110,111,116,32,105,110,32,116,104,101,32,114,97,110,103,101,32,48,46,46,0,0,0,0,0,58,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",Ba,y.Tc);var eb=y.xb(M(12,"i8",Aa),8);v(0==eb%8);
var T={P:1,R:2,Qf:3,Pe:4,ia:5,ec:6,ne:7,mf:8,O:9,Ae:10,Ea:11,$f:11,Rc:12,sb:13,Ke:14,yf:15,ha:16,bc:17,Sc:18,Sa:19,Ua:20,ra:21,B:22,gf:23,Qc:24,dc:25,Xf:26,Le:27,uf:28,Wa:29,Nf:30,$e:31,Gf:32,He:33,Kf:34,qf:42,Ne:43,Be:44,Re:45,Se:46,Te:47,Ze:48,Yf:49,kf:50,Qe:51,Fe:35,nf:37,se:52,ve:53,ag:54,hf:55,we:56,xe:57,Ge:35,ye:59,wf:60,lf:61,Uf:62,vf:63,rf:64,sf:65,Mf:66,of:67,qe:68,Rf:69,Ce:70,Hf:71,bf:72,Ie:73,ue:74,Cf:76,te:77,Lf:78,Ue:79,Ve:80,Ye:81,Xe:82,We:83,xf:38,ub:39,cf:36,tb:40,Va:95,Ff:96,Ee:104,
jf:105,re:97,Jf:91,Af:88,tf:92,Of:108,ac:111,oe:98,De:103,ff:101,df:100,Vf:110,Me:112,cc:113,Oc:115,Mc:114,Nc:89,af:90,If:93,Pf:94,pe:99,ef:102,Pc:106,Ta:107,Wf:109,Zf:87,Je:122,Sf:116,Bf:95,pf:123,Oe:84,Df:75,ze:125,zf:131,Ef:130,Tf:86},fb={"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"},gb=0;function U(a){return L[gb>>2]=a}
function hb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function ib(a){var b="/"===a.charAt(0),c="/"===a.substr(-1),a=hb(a.split("/").filter(function(a){return!!a}),!b).join("/");!a&&!b&&(a=".");a&&c&&(a+="/");return(b?"/":"")+a}
function jb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1),a=b[0],b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function V(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function kb(){var a=Array.prototype.slice.call(arguments,0);return ib(a.join("/"))}function W(a,b){return ib(a+"/"+b)}
function lb(){for(var a="",b=m,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:D.Cb();"string"!==typeof b&&e(new TypeError("Arguments to path.resolve must be strings"));if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=hb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}
function mb(a,b){function c(a){for(var b=0;b<a.length&&""===a[b];b++);for(var c=a.length-1;0<=c&&""===a[c];c--);return b>c?[]:a.slice(b,c-b+1)}for(var a=lb(a).substr(1),b=lb(b).substr(1),d=c(a.split("/")),f=c(b.split("/")),h=Math.min(d.length,f.length),i=h,l=0;l<h;l++)if(d[l]!==f[l]){i=l;break}h=[];for(l=i;l<d.length;l++)h.push("..");h=h.concat(f.slice(i));return h.join("/")}var nb=[];function ob(a,b){nb[a]={input:[],K:[],ua:b};D.Tb(a,pb)}
var pb={open:function(a){var b=nb[a.g.qb];b||e(new D.e(T.Sa));a.M=b;a.seekable=m},close:function(a){a.M.ua.flush(a.M)},flush:function(a){a.M.ua.flush(a.M)},N:function(a,b,c,d){(!a.M||!a.M.ua.xc)&&e(new D.e(T.ec));for(var f=0,h=0;h<d;h++){var i;try{i=a.M.ua.xc(a.M)}catch(l){e(new D.e(T.ia))}i===g&&0===f&&e(new D.e(T.Ea));if(i===k||i===g)break;f++;b[c+h]=i}f&&(a.g.timestamp=Date.now());return f},write:function(a,b,c,d){(!a.M||!a.M.ua.Qb)&&e(new D.e(T.ec));for(var f=0;f<d;f++)try{a.M.ua.Qb(a.M,b[c+f])}catch(h){e(new D.e(T.ia))}d&&
(a.g.timestamp=Date.now());return f}},qb={xc:function(a){if(!a.input.length){var b=k;if(u){if(b=process.stdin.read(),!b){if(process.stdin._readableState&&process.stdin._readableState.ended)return k;return}}else"undefined"!=typeof window&&"function"==typeof window.prompt?(b=window.prompt("Input: "),b!==k&&(b+="\n")):"function"==typeof readline&&(b=readline(),b!==k&&(b+="\n"));if(!b)return k;a.input=$a(b,j)}return a.input.shift()},Qb:function(a,b){b===k||10===b?(q.print(Ea(a.K,0)),a.K=[]):0!=b&&a.K.push(b)},
flush:function(a){a.K&&0<a.K.length&&(q.print(Ea(a.K,0)),a.K=[])}},rb={Qb:function(a,b){b===k||10===b?(q.printErr(Ea(a.K,0)),a.K=[]):0!=b&&a.K.push(b)},flush:function(a){a.K&&0<a.K.length&&(q.printErr(Ea(a.K,0)),a.K=[])}},X={V:k,F:function(){return X.createNode(k,"/",16895,0)},createNode:function(a,b,c,d){(D.Kd(c)||D.Ld(c))&&e(new D.e(T.P));X.V||(X.V={dir:{g:{T:X.n.T,I:X.n.I,ta:X.n.ta,ba:X.n.ba,rename:X.n.rename,Ba:X.n.Ba,Qa:X.n.Qa,Pa:X.n.Pa,da:X.n.da},A:{$:X.p.$}},file:{g:{T:X.n.T,I:X.n.I},A:{$:X.p.$,
N:X.p.N,write:X.p.write,Ga:X.p.Ga,La:X.p.La}},link:{g:{T:X.n.T,I:X.n.I,va:X.n.va},A:{}},lc:{g:{T:X.n.T,I:X.n.I},A:D.gd}});c=D.createNode(a,b,c,d);D.J(c.mode)?(c.n=X.V.dir.g,c.p=X.V.dir.A,c.k={}):D.isFile(c.mode)?(c.n=X.V.file.g,c.p=X.V.file.A,c.q=0,c.k=k):D.Ja(c.mode)?(c.n=X.V.link.g,c.p=X.V.link.A):D.kb(c.mode)&&(c.n=X.V.lc.g,c.p=X.V.lc.A);c.timestamp=Date.now();a&&(a.k[b]=c);return c},Cd:function(a){if(a.k&&a.k.subarray){for(var b=[],c=0;c<a.q;++c)b.push(a.k[c]);return b}return a.k},Lg:function(a){return!a.k?
new Uint8Array:a.k.subarray?a.k.subarray(0,a.q):new Uint8Array(a.k)},sc:function(a,b){a.k&&(a.k.subarray&&b>a.k.length)&&(a.k=X.Cd(a),a.q=a.k.length);if(!a.k||a.k.subarray){var c=a.k?a.k.buffer.byteLength:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.k,a.k=new Uint8Array(b),0<a.q&&a.k.set(c.subarray(0,a.q),0))}else{!a.k&&0<b&&(a.k=[]);for(;a.k.length<b;)a.k.push(0)}},ee:function(a,b){if(a.q!=b)if(0==b)a.k=k,a.q=0;else{if(!a.k||a.k.subarray){var c=a.k;a.k=new Uint8Array(new ArrayBuffer(b));
c&&a.k.set(c.subarray(0,Math.min(b,a.q)))}else if(a.k||(a.k=[]),a.k.length>b)a.k.length=b;else for(;a.k.length<b;)a.k.push(0);a.q=b}},n:{T:function(a){var b={};b.ug=D.kb(a.mode)?a.id:1;b.Sg=a.id;b.mode=a.mode;b.ih=1;b.uid=0;b.Qg=0;b.qb=a.qb;b.size=D.J(a.mode)?4096:D.isFile(a.mode)?a.q:D.Ja(a.mode)?a.link.length:0;b.lg=new Date(a.timestamp);b.hh=new Date(a.timestamp);b.tg=new Date(a.timestamp);b.cd=4096;b.mg=Math.ceil(b.size/b.cd);return b},I:function(a,b){b.mode!==g&&(a.mode=b.mode);b.timestamp!==
g&&(a.timestamp=b.timestamp);b.size!==g&&X.ee(a,b.size)},ta:function(){e(D.Hb[T.R])},ba:function(a,b,c,d){return X.createNode(a,b,c,d)},rename:function(a,b,c){if(D.J(a.mode)){var d;try{d=D.aa(b,c)}catch(f){}if(d)for(var h in d.k)e(new D.e(T.ub))}delete a.parent.k[a.name];a.name=c;b.k[c]=a;a.parent=b},Ba:function(a,b){delete a.k[b]},Qa:function(a,b){var c=D.aa(a,b),d;for(d in c.k)e(new D.e(T.ub));delete a.k[b]},Pa:function(a){var b=[".",".."],c;for(c in a.k)a.k.hasOwnProperty(c)&&b.push(c);return b},
da:function(a,b,c){a=X.createNode(a,b,41471,0);a.link=c;return a},va:function(a){D.Ja(a.mode)||e(new D.e(T.B));return a.link}},p:{N:function(a,b,c,d,f){var h=a.g.k;if(f>=a.g.q)return 0;a=Math.min(a.g.q-f,d);v(0<=a);if(8<a&&h.subarray)b.set(h.subarray(f,f+a),c);else for(d=0;d<a;d++)b[c+d]=h[f+d];return a},write:function(a,b,c,d,f,h){if(!d)return 0;a=a.g;a.timestamp=Date.now();if(b.subarray&&(!a.k||a.k.subarray)){if(h)return a.k=b.subarray(c,c+d),a.q=d;if(0===a.q&&0===f)return a.k=new Uint8Array(b.subarray(c,
c+d)),a.q=d;if(f+d<=a.q)return a.k.set(b.subarray(c,c+d),f),d}X.sc(a,f+d);if(a.k.subarray&&b.subarray)a.k.set(b.subarray(c,c+d),f);else for(h=0;h<d;h++)a.k[f+h]=b[c+h];a.q=Math.max(a.q,f+d);return d},$:function(a,b,c){1===c?b+=a.position:2===c&&D.isFile(a.g.mode)&&(b+=a.g.q);0>b&&e(new D.e(T.B));return b},Ga:function(a,b,c){X.sc(a.g,b+c);a.g.q=Math.max(a.g.q,b+c)},La:function(a,b,c,d,f,h,i){D.isFile(a.g.mode)||e(new D.e(T.Sa));c=a.g.k;if(!(i&2)&&(c.buffer===b||c.buffer===b.buffer))a=m,d=c.byteOffset;
else{if(0<f||f+d<a.g.q)c=c.subarray?c.subarray(f,f+d):Array.prototype.slice.call(c,f,f+d);a=j;(d=Ca(d))||e(new D.e(T.Rc));b.set(c,d)}return{mh:d,jg:a}}}},sb=M(1,"i32*",Aa),tb=M(1,"i32*",Aa),ub=M(1,"i32*",Aa),D={root:k,Na:[],pc:[k],qa:[],Vd:1,U:k,oc:"/",jb:m,Ac:j,H:{},Lc:{Dc:{Vc:1,Wc:2}},e:k,Hb:{},Jb:function(a){a instanceof D.e||e(a+" : "+Ja());return U(a.fb)},u:function(a,b){a=lb(D.Cb(),a);b=b||{};if(!a)return{path:"",g:k};var c={Fb:j,Sb:0},d;for(d in c)b[d]===g&&(b[d]=c[d]);8<b.Sb&&e(new D.e(T.tb));
var c=hb(a.split("/").filter(function(a){return!!a}),m),f=D.root;d="/";for(var h=0;h<c.length;h++){var i=h===c.length-1;if(i&&b.parent)break;f=D.aa(f,c[h]);d=W(d,c[h]);if(D.ma(f)&&(!i||i&&b.Fb))f=f.Ma.root;if(!i||b.S)for(i=0;D.Ja(f.mode);)f=D.va(d),d=lb(jb(d),f),f=D.u(d,{Sb:b.Sb}).g,40<i++&&e(new D.e(T.tb))}return{path:d,g:f}},ea:function(a){for(var b;;){if(D.lb(a))return a=a.F.Rd,!b?a:"/"!==a[a.length-1]?a+"/"+b:a+b;b=b?a.name+"/"+b:a.name;a=a.parent}},Kb:function(a,b){for(var c=0,d=0;d<b.length;d++)c=
(c<<5)-c+b.charCodeAt(d)|0;return(a+c>>>0)%D.U.length},yc:function(a){var b=D.Kb(a.parent.id,a.name);a.oa=D.U[b];D.U[b]=a},zc:function(a){var b=D.Kb(a.parent.id,a.name);if(D.U[b]===a)D.U[b]=a.oa;else for(b=D.U[b];b;){if(b.oa===a){b.oa=a.oa;break}b=b.oa}},aa:function(a,b){var c=D.Pd(a);c&&e(new D.e(c,a));for(c=D.U[D.Kb(a.id,b)];c;c=c.oa){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return D.ta(a,b)},createNode:function(a,b,c,d){D.Xa||(D.Xa=function(a,b,c,d){a||(a=this);this.parent=a;this.F=a.F;
this.Ma=k;this.id=D.Vd++;this.name=b;this.mode=c;this.n={};this.p={};this.qb=d},D.Xa.prototype={},Object.defineProperties(D.Xa.prototype,{N:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},Md:{get:function(){return D.J(this.mode)}},Lb:{get:function(){return D.kb(this.mode)}}}));a=new D.Xa(a,b,c,d);D.yc(a);return a},Db:function(a){D.zc(a)},lb:function(a){return a===
a.parent},ma:function(a){return!!a.Ma},isFile:function(a){return 32768===(a&61440)},J:function(a){return 16384===(a&61440)},Ja:function(a){return 40960===(a&61440)},kb:function(a){return 8192===(a&61440)},Kd:function(a){return 24576===(a&61440)},Ld:function(a){return 4096===(a&61440)},Nd:function(a){return 49152===(a&49152)},zd:{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},Bc:function(a){var b=D.zd[a];"undefined"===
typeof b&&e(Error("Unknown file open mode: "+a));return b},Ad:function(a){var b=["r","w","rw"][a&2097155];a&512&&(b+="w");return b},pa:function(a,b){return D.Ac?0:-1!==b.indexOf("r")&&!(a.mode&292)||-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73)?T.sb:0},Pd:function(a){var b=D.pa(a,"x");return b?b:!a.n.ta?T.sb:0},Ob:function(a,b){try{return D.aa(a,b),T.bc}catch(c){}return D.pa(a,"wx")},mb:function(a,b,c){var d;try{d=D.aa(a,b)}catch(f){return f.fb}if(a=D.pa(a,"wx"))return a;if(c){if(!D.J(d.mode))return T.Ua;
if(D.lb(d)||D.ea(d)===D.Cb())return T.ha}else if(D.J(d.mode))return T.ra;return 0},Qd:function(a,b){return!a?T.R:D.Ja(a.mode)?T.tb:D.J(a.mode)&&(0!==(b&2097155)||b&512)?T.ra:D.pa(a,D.Ad(b))},Uc:4096,Wd:function(a,b){for(var b=b||D.Uc,c=a||0;c<=b;c++)if(!D.qa[c])return c;e(new D.e(T.Qc))},fa:function(a){return D.qa[a]},mc:function(a,b,c){D.Ya||(D.Ya=n(),D.Ya.prototype={},Object.defineProperties(D.Ya.prototype,{object:{get:function(){return this.g},set:function(a){this.g=a}},Vg:{get:function(){return 1!==
(this.D&2097155)}},Wg:{get:function(){return 0!==(this.D&2097155)}},Ug:{get:function(){return this.D&1024}}}));var d=new D.Ya,f;for(f in a)d[f]=a[f];a=d;b=D.Wd(b,c);a.C=b;return D.qa[b]=a},jd:function(a){D.qa[a]=k},Og:function(a){return D.qa[a-1]},Ib:function(a){return a?a.C+1:0},gd:{open:function(a){a.p=D.Bd(a.g.qb).p;a.p.open&&a.p.open(a)},$:function(){e(new D.e(T.Wa))}},Nb:function(a){return a>>8},eh:function(a){return a&255},na:function(a,b){return a<<8|b},Tb:function(a,b){D.pc[a]={p:b}},Bd:function(a){return D.pc[a]},
uc:function(a){for(var b=[],a=[a];a.length;){var c=a.pop();b.push(c);a.push.apply(a,c.Na)}return b},Kc:function(a,b){function c(a){if(a){if(!c.wd)return c.wd=j,b(a)}else++f>=d.length&&b(k)}"function"===typeof a&&(b=a,a=m);var d=D.uc(D.root.F),f=0;d.forEach(function(b){if(!b.type.Kc)return c(k);b.type.Kc(b,a,c)})},F:function(a,b,c){var d="/"===c,f=!c,h;d&&D.root&&e(new D.e(T.ha));!d&&!f&&(h=D.u(c,{Fb:m}),c=h.path,h=h.g,D.ma(h)&&e(new D.e(T.ha)),D.J(h.mode)||e(new D.e(T.Ua)));b={type:a,kh:b,Rd:c,Na:[]};
a=a.F(b);a.F=b;b.root=a;d?D.root=a:h&&(h.Ma=b,h.F&&h.F.Na.push(b));return a},sh:function(a){a=D.u(a,{Fb:m});D.ma(a.g)||e(new D.e(T.B));var a=a.g,b=a.Ma,c=D.uc(b);Object.keys(D.U).forEach(function(a){for(a=D.U[a];a;){var b=a.oa;-1!==c.indexOf(a.F)&&D.Db(a);a=b}});a.Ma=k;b=a.F.Na.indexOf(b);v(-1!==b);a.F.Na.splice(b,1)},ta:function(a,b){return a.n.ta(a,b)},ba:function(a,b,c){var d=D.u(a,{parent:j}).g,a=V(a);(!a||"."===a||".."===a)&&e(new D.e(T.B));var f=D.Ob(d,a);f&&e(new D.e(f));d.n.ba||e(new D.e(T.P));
return d.n.ba(d,a,b,c)},create:function(a,b){b=(b!==g?b:438)&4095;b|=32768;return D.ba(a,b,0)},ga:function(a,b){b=(b!==g?b:511)&1023;b|=16384;return D.ba(a,b,0)},ob:function(a,b,c){"undefined"===typeof c&&(c=b,b=438);return D.ba(a,b|8192,c)},da:function(a,b){lb(a)||e(new D.e(T.R));var c=D.u(b,{parent:j}).g;c||e(new D.e(T.R));var d=V(b),f=D.Ob(c,d);f&&e(new D.e(f));c.n.da||e(new D.e(T.P));return c.n.da(c,d,a)},rename:function(a,b){var c=jb(a),d=jb(b),f=V(a),h=V(b),i,l,p;try{i=D.u(a,{parent:j}),l=i.g,
i=D.u(b,{parent:j}),p=i.g}catch(t){e(new D.e(T.ha))}(!l||!p)&&e(new D.e(T.R));l.F!==p.F&&e(new D.e(T.Sc));i=D.aa(l,f);d=mb(a,d);"."!==d.charAt(0)&&e(new D.e(T.B));d=mb(b,c);"."!==d.charAt(0)&&e(new D.e(T.ub));var z;try{z=D.aa(p,h)}catch(r){}if(i!==z){c=D.J(i.mode);(f=D.mb(l,f,c))&&e(new D.e(f));(f=z?D.mb(p,h,c):D.Ob(p,h))&&e(new D.e(f));l.n.rename||e(new D.e(T.P));(D.ma(i)||z&&D.ma(z))&&e(new D.e(T.ha));p!==l&&(f=D.pa(l,"w"))&&e(new D.e(f));try{D.H.willMovePath&&D.H.willMovePath(a,b)}catch(x){console.log("FS.trackingDelegate['willMovePath']('"+
a+"', '"+b+"') threw an exception: "+x.message)}D.zc(i);try{l.n.rename(i,p,h)}catch(G){e(G)}finally{D.yc(i)}try{if(D.H.onMovePath)D.H.onMovePath(a,b)}catch(wa){console.log("FS.trackingDelegate['onMovePath']('"+a+"', '"+b+"') threw an exception: "+wa.message)}}},Qa:function(a){var b=D.u(a,{parent:j}).g,c=V(a),d=D.aa(b,c),f=D.mb(b,c,j);f&&e(new D.e(f));b.n.Qa||e(new D.e(T.P));D.ma(d)&&e(new D.e(T.ha));try{D.H.willDeletePath&&D.H.willDeletePath(a)}catch(h){console.log("FS.trackingDelegate['willDeletePath']('"+
a+"') threw an exception: "+h.message)}b.n.Qa(b,c);D.Db(d);try{if(D.H.onDeletePath)D.H.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},Pa:function(a){a=D.u(a,{S:j}).g;a.n.Pa||e(new D.e(T.Ua));return a.n.Pa(a)},Ba:function(a){var b=D.u(a,{parent:j}).g,c=V(a),d=D.aa(b,c),f=D.mb(b,c,m);f&&(f===T.ra&&(f=T.P),e(new D.e(f)));b.n.Ba||e(new D.e(T.P));D.ma(d)&&e(new D.e(T.ha));try{D.H.willDeletePath&&D.H.willDeletePath(a)}catch(h){console.log("FS.trackingDelegate['willDeletePath']('"+
a+"') threw an exception: "+h.message)}b.n.Ba(b,c);D.Db(d);try{if(D.H.onDeletePath)D.H.onDeletePath(a)}catch(i){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+i.message)}},va:function(a){(a=D.u(a).g)||e(new D.e(T.R));a.n.va||e(new D.e(T.B));return a.n.va(a)},Ic:function(a,b){var c=D.u(a,{S:!b}).g;c||e(new D.e(T.R));c.n.T||e(new D.e(T.P));return c.n.T(c)},ah:function(a){return D.Ic(a,j)},$a:function(a,b,c){a="string"===typeof a?D.u(a,{S:!c}).g:a;a.n.I||e(new D.e(T.P));
a.n.I(a,{mode:b&4095|a.mode&-4096,timestamp:Date.now()})},Yg:function(a,b){D.$a(a,b,j)},Cg:function(a,b){var c=D.fa(a);c||e(new D.e(T.O));D.$a(c.g,b)},kc:function(a,b,c,d){a="string"===typeof a?D.u(a,{S:!d}).g:a;a.n.I||e(new D.e(T.P));a.n.I(a,{timestamp:Date.now()})},Zg:function(a,b,c){D.kc(a,b,c,j)},Dg:function(a,b,c){(a=D.fa(a))||e(new D.e(T.O));D.kc(a.g,b,c)},truncate:function(a,b){0>b&&e(new D.e(T.B));var c;c="string"===typeof a?D.u(a,{S:j}).g:a;c.n.I||e(new D.e(T.P));D.J(c.mode)&&e(new D.e(T.ra));
D.isFile(c.mode)||e(new D.e(T.B));var d=D.pa(c,"w");d&&e(new D.e(d));c.n.I(c,{size:b,timestamp:Date.now()})},Hg:function(a,b){var c=D.fa(a);c||e(new D.e(T.O));0===(c.D&2097155)&&e(new D.e(T.B));D.truncate(c.g,b)},uh:function(a,b,c){a=D.u(a,{S:j}).g;a.n.I(a,{timestamp:Math.max(b,c)})},open:function(a,b,c,d,f){""===a&&e(new D.e(T.R));var b="string"===typeof b?D.Bc(b):b,c=b&64?("undefined"===typeof c?438:c)&4095|32768:0,h;if("object"===typeof a)h=a;else{a=ib(a);try{h=D.u(a,{S:!(b&131072)}).g}catch(i){}}var l=
m;b&64&&(h?b&128&&e(new D.e(T.bc)):(h=D.ba(a,c,0),l=j));h||e(new D.e(T.R));D.kb(h.mode)&&(b&=-513);l||(c=D.Qd(h,b))&&e(new D.e(c));b&512&&D.truncate(h,0);b&=-641;d=D.mc({g:h,path:D.ea(h),D:b,seekable:j,position:0,p:h.p,le:[],error:m},d,f);d.p.open&&d.p.open(d);q.logReadFiles&&!(b&1)&&(D.Rb||(D.Rb={}),a in D.Rb||(D.Rb[a]=1,q.printErr("read file: "+a)));try{D.H.onOpenFile&&(f=0,1!==(b&2097155)&&(f|=D.Lc.Dc.Vc),0!==(b&2097155)&&(f|=D.Lc.Dc.Wc),D.H.onOpenFile(a,f))}catch(p){console.log("FS.trackingDelegate['onOpenFile']('"+
a+"', flags) threw an exception: "+p.message)}return d},close:function(a){try{a.p.close&&a.p.close(a)}catch(b){e(b)}finally{D.jd(a.C)}},$:function(a,b,c){(!a.seekable||!a.p.$)&&e(new D.e(T.Wa));a.position=a.p.$(a,b,c);a.le=[];return a.position},N:function(a,b,c,d,f){(0>d||0>f)&&e(new D.e(T.B));1===(a.D&2097155)&&e(new D.e(T.O));D.J(a.g.mode)&&e(new D.e(T.ra));a.p.N||e(new D.e(T.B));var h=j;"undefined"===typeof f?(f=a.position,h=m):a.seekable||e(new D.e(T.Wa));b=a.p.N(a,b,c,d,f);h||(a.position+=b);
return b},write:function(a,b,c,d,f,h){(0>d||0>f)&&e(new D.e(T.B));0===(a.D&2097155)&&e(new D.e(T.O));D.J(a.g.mode)&&e(new D.e(T.ra));a.p.write||e(new D.e(T.B));a.D&1024&&D.$(a,0,2);var i=j;"undefined"===typeof f?(f=a.position,i=m):a.seekable||e(new D.e(T.Wa));b=a.p.write(a,b,c,d,f,h);i||(a.position+=b);try{if(a.path&&D.H.onWriteToFile)D.H.onWriteToFile(a.path)}catch(l){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+l.message)}return b},Ga:function(a,b,c){(0>b||
0>=c)&&e(new D.e(T.B));0===(a.D&2097155)&&e(new D.e(T.O));!D.isFile(a.g.mode)&&!D.J(node.mode)&&e(new D.e(T.Sa));a.p.Ga||e(new D.e(T.Va));a.p.Ga(a,b,c)},La:function(a,b,c,d,f,h,i){1===(a.D&2097155)&&e(new D.e(T.sb));a.p.La||e(new D.e(T.Sa));return a.p.La(a,b,c,d,f,h,i)},Ia:function(a,b,c){a.p.Ia||e(new D.e(T.dc));return a.p.Ia(a,b,c)},nh:function(a,b){b=b||{};b.D=b.D||"r";b.encoding=b.encoding||"binary";"utf8"!==b.encoding&&"binary"!==b.encoding&&e(Error('Invalid encoding type "'+b.encoding+'"'));
var c,d=D.open(a,b.D),f=D.Ic(a).size,h=new Uint8Array(f);D.N(d,h,0,f,0);"utf8"===b.encoding?c=Ea(h,0):"binary"===b.encoding&&(c=h);D.close(d);return c},yh:function(a,b,c){c=c||{};c.D=c.D||"w";c.encoding=c.encoding||"utf8";"utf8"!==c.encoding&&"binary"!==c.encoding&&e(Error('Invalid encoding type "'+c.encoding+'"'));a=D.open(a,c.D,c.mode);if("utf8"===c.encoding){var d=new Uint8Array(Ga(b)+1),b=Fa(b,d,0,d.length);D.write(a,d,0,b,0,c.ed)}else"binary"===c.encoding&&D.write(a,b,0,b.length,0,c.ed);D.close(a)},
Cb:function(){return D.oc},og:function(a){a=D.u(a,{S:j});D.J(a.g.mode)||e(new D.e(T.Ua));var b=D.pa(a.g,"x");b&&e(new D.e(b));D.oc=a.path},ld:function(){D.ga("/tmp");D.ga("/home");D.ga("/home/web_user")},kd:function(){D.ga("/dev");D.Tb(D.na(1,3),{N:function(){return 0},write:function(){return 0}});D.ob("/dev/null",D.na(1,3));ob(D.na(5,0),qb);ob(D.na(6,0),rb);D.ob("/dev/tty",D.na(5,0));D.ob("/dev/tty1",D.na(6,0));var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);
return b[0]}}else a=u?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};D.X("/dev","random",a);D.X("/dev","urandom",a);D.ga("/dev/shm");D.ga("/dev/shm/tmp")},td:function(){q.stdin?D.X("/dev","stdin",q.stdin):D.da("/dev/tty","/dev/stdin");q.stdout?D.X("/dev","stdout",k,q.stdout):D.da("/dev/tty","/dev/stdout");q.stderr?D.X("/dev","stderr",k,q.stderr):D.da("/dev/tty1","/dev/stderr");var a=D.open("/dev/stdin","r");L[sb>>2]=D.Ib(a);v(0===a.C,"invalid handle for stdin ("+
a.C+")");a=D.open("/dev/stdout","w");L[tb>>2]=D.Ib(a);v(1===a.C,"invalid handle for stdout ("+a.C+")");a=D.open("/dev/stderr","w");L[ub>>2]=D.Ib(a);v(2===a.C,"invalid handle for stderr ("+a.C+")")},qc:function(){D.e||(D.e=function(a,b){this.g=b;this.he=function(a){this.fb=a;for(var b in T)if(T[b]===a){this.code=b;break}};this.he(a);this.message=fb[a]},D.e.prototype=Error(),[T.R].forEach(function(a){D.Hb[a]=new D.e(a);D.Hb[a].stack="<generic error, no stack>"}))},ke:function(){D.qc();D.U=Array(4096);
D.F(X,{},"/");D.ld();D.kd()},Ha:function(a,b,c){v(!D.Ha.jb,"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)");D.Ha.jb=j;D.qc();q.stdin=a||q.stdin;q.stdout=b||q.stdout;q.stderr=c||q.stderr;D.td()},be:function(){D.Ha.jb=m;for(var a=0;a<D.qa.length;a++){var b=D.qa[a];b&&D.close(b)}},hb:function(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c},Xg:function(a,b){var c=kb.apply(k,a);
b&&"/"==c[0]&&(c=c.substr(1));return c},dg:function(a,b){return lb(b,a)},qh:function(a){return ib(a)},Fg:function(a,b){var c=D.yb(a,b);if(c.Eb)return c.object;U(c.error);return k},yb:function(a,b){try{var c=D.u(a,{S:!b}),a=c.path}catch(d){}var f={lb:m,Eb:m,error:0,name:k,path:k,object:k,Yd:m,$d:k,Zd:k};try{c=D.u(a,{parent:j}),f.Yd=j,f.$d=c.path,f.Zd=c.g,f.name=V(a),c=D.u(a,{S:!b}),f.Eb=j,f.path=c.path,f.object=c.g,f.name=c.g.name,f.lb="/"===c.path}catch(h){f.error=h.fb}return f},nd:function(a,b,c,
d){a=W("string"===typeof a?a:D.ea(a),b);return D.ga(a,D.hb(c,d))},qd:function(a,b){for(var a="string"===typeof a?a:D.ea(a),c=b.split("/").reverse();c.length;){var d=c.pop();if(d){var f=W(a,d);try{D.ga(f)}catch(h){}a=f}}return f},md:function(a,b,c,d,f){a=W("string"===typeof a?a:D.ea(a),b);return D.create(a,D.hb(d,f))},Bb:function(a,b,c,d,f,h){a=b?W("string"===typeof a?a:D.ea(a),b):a;d=D.hb(d,f);f=D.create(a,d);if(c){if("string"===typeof c){for(var a=Array(c.length),b=0,i=c.length;b<i;++b)a[b]=c.charCodeAt(b);
c=a}D.$a(f,d|146);a=D.open(f,"w");D.write(a,c,0,c.length,0,h);D.close(a);D.$a(f,d)}return f},X:function(a,b,c,d){a=W("string"===typeof a?a:D.ea(a),b);b=D.hb(!!c,!!d);D.X.Nb||(D.X.Nb=64);var f=D.na(D.X.Nb++,0);D.Tb(f,{open:function(a){a.seekable=m},close:function(){d&&(d.buffer&&d.buffer.length)&&d(10)},N:function(a,b,d,f){for(var t=0,z=0;z<f;z++){var r;try{r=c()}catch(x){e(new D.e(T.ia))}r===g&&0===t&&e(new D.e(T.Ea));if(r===k||r===g)break;t++;b[d+z]=r}t&&(a.g.timestamp=Date.now());return t},write:function(a,
b,c,f){for(var t=0;t<f;t++)try{d(b[c+t])}catch(z){e(new D.e(T.ia))}f&&(a.g.timestamp=Date.now());return t}});return D.ob(a,b,f)},pd:function(a,b,c){a=W("string"===typeof a?a:D.ea(a),b);return D.da(c,a)},tc:function(a){if(a.Lb||a.Md||a.link||a.k)return j;var b=j;"undefined"!==typeof XMLHttpRequest&&e(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."));
if(q.read)try{a.k=$a(q.read(a.url),j),a.q=a.k.length}catch(c){b=m}else e(Error("Cannot load without read() or XMLHttpRequest."));b||U(T.ia);return b},od:function(a,b,c,d,f){function h(){this.Mb=m;this.ab=[]}h.prototype.get=function(a){if(!(a>this.length-1||0>a)){var b=a%this.hd;return this.Gd(a/this.hd|0)[b]}};h.prototype.ge=function(a){this.Gd=a};h.prototype.hc=function(){var a=new XMLHttpRequest;a.open("HEAD",c,m);a.send(k);200<=a.status&&300>a.status||304===a.status||e(Error("Couldn't load "+c+
". Status: "+a.status));var b=Number(a.getResponseHeader("Content-length")),d,f=1048576;if(!((d=a.getResponseHeader("Accept-Ranges"))&&"bytes"===d))f=b;var h=this;h.ge(function(a){var d=a*f,i=(a+1)*f-1,i=Math.min(i,b-1);if("undefined"===typeof h.ab[a]){var l=h.ab;d>i&&e(Error("invalid range ("+d+", "+i+") or no bytes requested!"));i>b-1&&e(Error("only "+b+" bytes available! programmer error!"));var r=new XMLHttpRequest;r.open("GET",c,m);b!==f&&r.setRequestHeader("Range","bytes="+d+"-"+i);"undefined"!=
typeof Uint8Array&&(r.responseType="arraybuffer");r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined");r.send(k);200<=r.status&&300>r.status||304===r.status||e(Error("Couldn't load "+c+". Status: "+r.status));d=r.response!==g?new Uint8Array(r.response||[]):$a(r.responseText||"",j);l[a]=d}"undefined"===typeof h.ab[a]&&e(Error("doXHR failed!"));return h.ab[a]});this.Yc=b;this.Xc=f;this.Mb=j};if("undefined"!==typeof XMLHttpRequest){ca||e("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");
var i=new h;Object.defineProperty(i,"length",{get:function(){this.Mb||this.hc();return this.Yc}});Object.defineProperty(i,"chunkSize",{get:function(){this.Mb||this.hc();return this.Xc}});i={Lb:m,k:i}}else i={Lb:m,url:c};var l=D.md(a,b,i,d,f);i.k?l.k=i.k:i.url&&(l.k=k,l.url=i.url);Object.defineProperty(l,"usedBytes",{get:function(){return this.k.length}});var p={};Object.keys(l.p).forEach(function(a){var b=l.p[a];p[a]=function(){D.tc(l)||e(new D.e(T.ia));return b.apply(k,arguments)}});p.N=function(a,
b,c,d,f){D.tc(l)||e(new D.e(T.ia));a=a.g.k;if(f>=a.length)return 0;d=Math.min(a.length-f,d);v(0<=d);if(a.slice)for(var h=0;h<d;h++)b[c+h]=a[f+h];else for(h=0;h<d;h++)b[c+h]=a.get(f+h);return d};l.p=p;return l},rd:function(a,b,c,d,f,h,i,l,p){function t(){vb=document.pointerLockElement===x||document.mozPointerLockElement===x||document.webkitPointerLockElement===x||document.msPointerLockElement===x}function z(c){function r(c){l||D.Bb(a,b,c,d,f,p);h&&h();db()}var t=m;q.preloadPlugins.forEach(function(a){!t&&
a.canHandle(G)&&(a.handle(c,G,r,function(){i&&i();db()}),t=j)});t||r(c)}q.preloadPlugins||(q.preloadPlugins=[]);if(!wb){wb=j;try{new Blob,xb=j}catch(r){xb=m,console.log("warning: no blob constructor, cannot create blobs with mimetypes")}yb="undefined"!=typeof MozBlobBuilder?MozBlobBuilder:"undefined"!=typeof WebKitBlobBuilder?WebKitBlobBuilder:!xb?console.log("warning: no BlobBuilder"):k;zb="undefined"!=typeof window?window.URL?window.URL:window.webkitURL:g;!q.Cc&&"undefined"===typeof zb&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),
q.Cc=j);q.preloadPlugins.push({canHandle:function(a){return!q.Cc&&/\.(jpg|jpeg|png|bmp)$/i.test(a)},handle:function(a,b,c,d){var f=k;if(xb)try{f=new Blob([a],{type:Ab(b)}),f.size!==a.length&&(f=new Blob([(new Uint8Array(a)).buffer],{type:Ab(b)}))}catch(h){y.Ca("Blob constructor present but fails: "+h+"; falling back to blob builder")}f||(f=new yb,f.append((new Uint8Array(a)).buffer),f=f.getBlob());var i=zb.createObjectURL(f),l=new Image;l.onload=function(){v(l.complete,"Image "+b+" could not be decoded");
var d=document.createElement("canvas");d.width=l.width;d.height=l.height;d.getContext("2d").drawImage(l,0,0);q.preloadedImages[b]=d;zb.revokeObjectURL(i);c&&c(a)};l.onerror=function(){console.log("Image "+i+" could not be decoded");d&&d()};l.src=i}});q.preloadPlugins.push({canHandle:function(a){return!q.jh&&a.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(a,b,c,d){function f(d){i||(i=j,q.preloadedAudios[b]=d,c&&c(a))}function h(){i||(i=j,q.preloadedAudios[b]=new Audio,d&&d())}var i=m;if(xb){try{var l=
new Blob([a],{type:Ab(b)})}catch(r){return h()}var l=zb.createObjectURL(l),p=new Audio;p.addEventListener("canplaythrough",function(){f(p)},m);p.onerror=function(){if(!i){console.log("warning: browser could not fully decode audio "+b+", trying slower base64 approach");for(var c="",d=0,h=0,l=0;l<a.length;l++){d=d<<8|a[l];for(h+=8;6<=h;)var r=d>>h-6&63,h=h-6,c=c+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[r]}2==h?(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&
3)<<4],c+="=="):4==h&&(c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[(d&15)<<2],c+="=");p.src="data:audio/x-"+b.substr(-3)+";base64,"+c;f(p)}};p.src=l;q.noExitRuntime=j;setTimeout(function(){I||f(p)},1E4)}else return h()}});var x=q.canvas;x&&(x.Ub=x.requestPointerLock||x.mozRequestPointerLock||x.webkitRequestPointerLock||x.msRequestPointerLock||n(),x.rc=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||n(),x.rc=
x.rc.bind(document),document.addEventListener("pointerlockchange",t,m),document.addEventListener("mozpointerlockchange",t,m),document.addEventListener("webkitpointerlockchange",t,m),document.addEventListener("mspointerlockchange",t,m),q.elementPointerLock&&x.addEventListener("click",function(a){!vb&&x.Ub&&(x.Ub(),a.preventDefault())},m))}var G=b?lb(W(a,b)):a;cb();"string"==typeof c?Cb(c,function(a){z(a)},i):z(c)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||
window.msIndexedDB},Zb:function(){return"EM_FS_"+window.location.pathname},$b:20,Da:"FILE_DATA",ph:function(a,b,c){var b=b||n(),c=c||n(),d=D.indexedDB();try{var f=d.open(D.Zb(),D.$b)}catch(h){return c(h)}f.Xd=function(){console.log("creating db");f.result.createObjectStore(D.Da)};f.onsuccess=function(){var d=f.result.transaction([D.Da],"readwrite"),h=d.objectStore(D.Da),p=0,t=0,z=a.length;a.forEach(function(a){a=h.put(D.yb(a).object.k,a);a.onsuccess=function(){p++;p+t==z&&(0==t?b():c())};a.onerror=
function(){t++;p+t==z&&(0==t?b():c())}});d.onerror=c};f.onerror=c},$g:function(a,b,c){var b=b||n(),c=c||n(),d=D.indexedDB();try{var f=d.open(D.Zb(),D.$b)}catch(h){return c(h)}f.Xd=c;f.onsuccess=function(){var d=f.result;try{var h=d.transaction([D.Da],"readonly")}catch(p){c(p);return}var t=h.objectStore(D.Da),z=0,r=0,x=a.length;a.forEach(function(a){var d=t.get(a);d.onsuccess=function(){D.yb(a).Eb&&D.Ba(a);D.Bb(jb(a),V(a),d.result,j,j,j);z++;z+r==x&&(0==r?b():c())};d.onerror=function(){r++;z+r==x&&
(0==r?b():c())}});h.onerror=c};f.onerror=c}},Db=1,Y=[],Eb=k,Fb;q._memset=Gb;var Hb=[],Ib=[];function Jb(){return document.fullscreenEnabled||document.fh||document.mozFullScreenEnabled||document.xh||document.gh}
function Kb(a,b){if(0!=b.Hc||0!=b.jc){__registerRestoreOldStyle(a);var c=b.je?window.innerWidth:screen.width,d=b.je?window.innerHeight:screen.height,f=a.getBoundingClientRect(),h=f.right-f.left,f=f.bottom-f.top,i=a.width,l=a.height;3==b.Hc?(__setLetterbox(a,(d-f)/2,(c-h)/2),c=h,d=f):2==b.Hc&&(c*l<i*d?(h=l*c/i,__setLetterbox(a,(d-h)/2,0),d=h):(h=i*d/l,__setLetterbox(a,0,(c-h)/2),c=h));a.style.backgroundColor||(a.style.backgroundColor="black");document.body.style.backgroundColor||(document.body.style.backgroundColor=
"black");a.style.width=c+"px";a.style.height=d+"px";1==b.Eg&&(a.style.sa="optimizeSpeed",a.style.sa="-moz-crisp-edges",a.style.sa="-o-crisp-edges",a.style.sa="-webkit-optimize-contrast",a.style.sa="optimize-contrast",a.style.sa="crisp-edges",a.style.sa="pixelated");h=2==b.jc?window.devicePixelRatio:1;0!=b.jc&&(a.width=c*h,a.height=d*h,a.vb&&a.vb.Fa.viewport(0,0,a.width,a.height))}if(a.requestFullscreen)a.requestFullscreen();else if(a.Ud)a.Ud();else if(a.mozRequestFullScreen)a.mozRequestFullScreen();
else if(a.Sd)a.Sd();else if(a.webkitRequestFullscreen)a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);else return"undefined"===typeof Jb()?-1:-3;b.Ab&&y.ka("iiii",b.Ab,[37,0,b.fd]);return 0}var Lb={},Mb={};q._strlen=Nb;q._memcpy=Ob;q._llvm_bswap_i16=Pb;function Qb(a){Qb.dd||(F=F+4095&-4096,Qb.dd=j,v(y.eb),Qb.$c=y.eb,y.eb=function(){B("cannot dynamically allocate, sbrk now has control")});var b=F;0!=a&&Qb.$c(a);return b}q._llvm_bswap_i32=Rb;function Sb(){e("TODO")}
var Z={F:function(){q.websocket=q.websocket&&"object"===typeof q.websocket?q.websocket:{};q.websocket.wb={};q.websocket.on=function(a,b){"function"===typeof b&&(this.wb[a]=b);return this};q.websocket.Q=function(a,b){"function"===typeof this.wb[a]&&this.wb[a].call(this,b)};return D.createNode(k,"/",16895,0)},sd:function(a,b,c){c&&v(1==b==(6==c));a={yd:a,type:b,protocol:c,G:k,error:k,Oa:{},Pb:[],wa:[],za:Z.L};b=Z.pb();c=D.createNode(Z.root,b,49152,0);c.ya=a;b=D.mc({path:b,g:c,D:D.Bc("r+"),seekable:m,
p:Z.p});a.A=b;return a},Ed:function(a){a=D.fa(a);return!a||!D.Nd(a.g.mode)?k:a.g.ya},p:{Ec:function(a){a=a.g.ya;return a.za.Ec(a)},Ia:function(a,b,c){a=a.g.ya;return a.za.Ia(a,b,c)},N:function(a,b,c,d){a=a.g.ya;d=a.za.ce(a,d);if(!d)return 0;b.set(d.buffer,c);return d.buffer.length},write:function(a,b,c,d){a=a.g.ya;return a.za.fe(a,b,c,d)},close:function(a){a=a.g.ya;a.za.close(a)}},pb:function(){Z.pb.nc||(Z.pb.nc=0);return"socket["+Z.pb.nc++ +"]"},L:{bb:function(a,b,c){var d;"object"===typeof b&&(d=
b,c=b=k);if(d)d._socket?(b=d._socket.remoteAddress,c=d._socket.remotePort):((c=/ws[s]?:\/\/([^:]+):(\d+)/.exec(d.url))||e(Error("WebSocket URL must be in the format ws(s)://address:port")),b=c[1],c=parseInt(c[2],10));else try{var f=q.websocket&&"object"===typeof q.websocket,h="ws:#".replace("#","//");f&&"string"===typeof q.websocket.url&&(h=q.websocket.url);if("ws://"===h||"wss://"===h)var i=b.split("/"),h=h+i[0]+":"+c+"/"+i.slice(1).join("/");i="binary";f&&"string"===typeof q.websocket.subprotocol&&
(i=q.websocket.subprotocol);var i=i.replace(/^ +| +$/g,"").split(/ *, */),l=u?{protocol:i.toString()}:i;d=new (u?require("ws"):window.WebSocket)(h,l);d.binaryType="arraybuffer"}catch(p){e(new D.e(T.cc))}b={W:b,port:c,o:d,cb:[]};Z.L.fc(a,b);Z.L.Hd(a,b);2===a.type&&"undefined"!==typeof a.Aa&&b.cb.push(new Uint8Array([255,255,255,255,112,111,114,116,(a.Aa&65280)>>8,a.Aa&255]));return b},ib:function(a,b,c){return a.Oa[b+":"+c]},fc:function(a,b){a.Oa[b.W+":"+b.port]=b},Fc:function(a,b){delete a.Oa[b.W+
":"+b.port]},Hd:function(a,b){function c(){q.websocket.Q("open",a.A.C);try{for(var c=b.cb.shift();c;)b.o.send(c),c=b.cb.shift()}catch(d){b.o.close()}}function d(c){v("string"!==typeof c&&c.byteLength!==g);var c=new Uint8Array(c),d=f;f=m;d&&10===c.length&&255===c[0]&&255===c[1]&&255===c[2]&&255===c[3]&&112===c[4]&&111===c[5]&&114===c[6]&&116===c[7]?(c=c[8]<<8|c[9],Z.L.Fc(a,b),b.port=c,Z.L.fc(a,b)):(a.wa.push({W:b.W,port:b.port,data:c}),q.websocket.Q("message",a.A.C))}var f=j;u?(b.o.on("open",c),b.o.on("message",
function(a,b){b.binary&&d((new Uint8Array(a)).buffer)}),b.o.on("close",function(){q.websocket.Q("close",a.A.C)}),b.o.on("error",function(){a.error=T.ac;q.websocket.Q("error",[a.A.C,a.error,"ECONNREFUSED: Connection refused"])})):(b.o.onopen=c,b.o.onclose=function(){q.websocket.Q("close",a.A.C)},b.o.onmessage=function(a){d(a.data)},b.o.onerror=function(){a.error=T.ac;q.websocket.Q("error",[a.A.C,a.error,"ECONNREFUSED: Connection refused"])})},Ec:function(a){if(1===a.type&&a.G)return a.Pb.length?65:
0;var b=0,c=1===a.type?Z.L.ib(a,a.Y,a.Z):k;if(a.wa.length||!c||c&&c.o.readyState===c.o.Ra||c&&c.o.readyState===c.o.CLOSED)b|=65;if(!c||c&&c.o.readyState===c.o.OPEN)b|=4;if(c&&c.o.readyState===c.o.Ra||c&&c.o.readyState===c.o.CLOSED)b|=16;return b},Ia:function(a,b,c){switch(b){case 21531:return b=0,a.wa.length&&(b=a.wa[0].data.length),L[c>>2]=b,0;default:return T.B}},close:function(a){if(a.G){try{a.G.close()}catch(b){}a.G=k}for(var c=Object.keys(a.Oa),d=0;d<c.length;d++){var f=a.Oa[c[d]];try{f.o.close()}catch(h){}Z.L.Fc(a,
f)}return 0},bind:function(a,b,c){("undefined"!==typeof a.Vb||"undefined"!==typeof a.Aa)&&e(new D.e(T.B));a.Vb=b;a.Aa=c||Sb();if(2===a.type){a.G&&(a.G.close(),a.G=k);try{a.za.Od(a,0)}catch(d){d instanceof D.e||e(d),d.fb!==T.Va&&e(d)}}},rg:function(a,b,c){a.G&&e(new D.e(T.Va));if("undefined"!==typeof a.Y&&"undefined"!==typeof a.Z){var d=Z.L.ib(a,a.Y,a.Z);d&&(d.o.readyState===d.o.CONNECTING&&e(new D.e(T.Mc)),e(new D.e(T.Pc)))}b=Z.L.bb(a,b,c);a.Y=b.W;a.Z=b.port;e(new D.e(T.Oc))},Od:function(a){u||e(new D.e(T.Va));
a.G&&e(new D.e(T.B));var b=require("ws").Server;a.G=new b({host:a.Vb,port:a.Aa});q.websocket.Q("listen",a.A.C);a.G.on("connection",function(b){if(1===a.type){var d=Z.sd(a.yd,a.type,a.protocol),b=Z.L.bb(d,b);d.Y=b.W;d.Z=b.port;a.Pb.push(d);q.websocket.Q("connection",d.A.C)}else Z.L.bb(a,b),q.websocket.Q("connection",a.A.C)});a.G.on("closed",function(){q.websocket.Q("close",a.A.C);a.G=k});a.G.on("error",function(){a.error=T.cc;q.websocket.Q("error",[a.A.C,a.error,"EHOSTUNREACH: Host is unreachable"])})},
accept:function(a){a.G||e(new D.e(T.B));var b=a.Pb.shift();b.A.D=a.A.D;return b},Pg:function(a,b){var c,d;b?((a.Y===g||a.Z===g)&&e(new D.e(T.Ta)),c=a.Y,d=a.Z):(c=a.Vb||0,d=a.Aa||0);return{W:c,port:d}},fe:function(a,b,c,d,f,h){if(2===a.type){if(f===g||h===g)f=a.Y,h=a.Z;(f===g||h===g)&&e(new D.e(T.Nc))}else f=a.Y,h=a.Z;var i=Z.L.ib(a,f,h);1===a.type&&((!i||i.o.readyState===i.o.Ra||i.o.readyState===i.o.CLOSED)&&e(new D.e(T.Ta)),i.o.readyState===i.o.CONNECTING&&e(new D.e(T.Ea)));b=b instanceof Array||
b instanceof ArrayBuffer?b.slice(c,c+d):b.buffer.slice(b.byteOffset+c,b.byteOffset+c+d);if(2===a.type&&(!i||i.o.readyState!==i.o.OPEN)){if(!i||i.o.readyState===i.o.Ra||i.o.readyState===i.o.CLOSED)i=Z.L.bb(a,f,h);i.cb.push(b);return d}try{return i.o.send(b),d}catch(l){e(new D.e(T.B))}},ce:function(a,b){1===a.type&&a.G&&e(new D.e(T.Ta));var c=a.wa.shift();if(!c){if(1===a.type){var d=Z.L.ib(a,a.Y,a.Z);if(d){if(d.o.readyState===d.o.Ra||d.o.readyState===d.o.CLOSED)return k;e(new D.e(T.Ea))}e(new D.e(T.Ta))}e(new D.e(T.Ea))}var d=
c.data.byteLength||c.data.length,f=c.data.byteOffset||0,h=c.data.buffer||c.data,i=Math.min(b,d),l={buffer:new Uint8Array(h,f,i),W:c.W,port:c.port};1===a.type&&i<d&&(c.data=new Uint8Array(h,f+i,d-i),a.wa.unshift(c));return l}}};function Tb(a,b,c){a=D.fa(a);if(!a)return U(T.O),-1;try{return D.write(a,J,b,c)}catch(d){return D.Jb(d),-1}}function Ub(a,b){Vb=a;Wb=b;if(!Xb)return 1;0==a?(Yb=function(){setTimeout(Zb,b)},$b="timeout"):1==a&&(Yb=function(){ac(Zb)},$b="rAF");return 0}
function bc(a,b,c,d){q.noExitRuntime=j;v(!Xb,"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.");Xb=a;cc=d;var f=dc;Zb=function(){if(!I)if(0<ec.length){var b=Date.now(),c=ec.shift();c.la(c.Za);if(fc){var l=fc,p=0==l%1?l-1:Math.floor(l);fc=c.sg?p:(8*l+(p+0.5))/9}console.log('main loop blocker "'+c.name+'" took '+(Date.now()-b)+" ms");q.setStatus&&(b=q.statusMessage||
"Please wait...",c=fc,l=gc.Ag,c?c<l?q.setStatus(b+" ("+(l-c)+"/"+l+")"):q.setStatus(b):q.setStatus(""));setTimeout(Zb,0)}else if(!(f<dc))if(hc=hc+1|0,1==Vb&&1<Wb&&0!=hc%Wb)Yb();else{"timeout"===$b&&q.ud&&(q.ca("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!"),$b="");a:if(!I&&!(q.preMainLoop&&q.preMainLoop()===m)){try{"undefined"!==
typeof d?y.ka("vi",a,[d]):y.ka("v",a)}catch(t){if(t instanceof ia)break a;t&&("object"===typeof t&&t.stack)&&q.ca("exception thrown: "+[t,t.stack]);e(t)}q.postMainLoop&&q.postMainLoop()}f<dc||("object"===typeof SDL&&(SDL.gc&&SDL.gc.ae)&&SDL.gc.ae(),Yb())}};b&&0<b?Ub(0,1E3/b):Ub(1,1);Yb();c&&e("SimulateInfiniteLoop")}var Yb=k,$b="",dc=0,Xb=k,cc=0,Vb=0,Wb=0,hc=0,ec=[],gc={},Zb,fc,ic=m,vb=m,jc=m,kc=g,lc=g,mc=0;
function nc(a){var b=Date.now();if(0===mc)mc=b+1E3/60;else for(;b+2>=mc;)mc+=1E3/60;b=Math.max(mc-b,0);setTimeout(a,b)}function ac(a){"undefined"===typeof window?nc(a):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||nc),window.requestAnimationFrame(a))}
function Ab(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[a.substr(a.lastIndexOf(".")+1)]}
function Cb(a,b,c){function d(){c?c():e('Loading data file "'+a+'" failed.')}var f=new XMLHttpRequest;f.open("GET",a,j);f.responseType="arraybuffer";f.onload=function(){if(200==f.status||0==f.status&&f.response){var c=f.response;v(c,'Loading data file "'+a+'" failed (no arrayBuffer).');b(new Uint8Array(c));db()}else d()};f.onerror=d;f.send(k);cb()}var oc=[];function pc(){var a=q.canvas;oc.forEach(function(b){b(a.width,a.height)})}
function qc(a,b,c){b&&c?(a.me=b,a.Id=c):(b=a.me,c=a.Id);var d=b,f=c;q.forcedAspectRatio&&0<q.forcedAspectRatio&&(d/f<q.forcedAspectRatio?d=Math.round(f*q.forcedAspectRatio):f=Math.round(d/q.forcedAspectRatio));if((document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===
a.parentNode&&"undefined"!=typeof screen)var h=Math.min(screen.width/d,screen.height/f),d=Math.round(d*h),f=Math.round(f*h);lc?(a.width!=d&&(a.width=d),a.height!=f&&(a.height=f),"undefined"!=typeof a.style&&(a.style.removeProperty("width"),a.style.removeProperty("height"))):(a.width!=b&&(a.width=b),a.height!=c&&(a.height=c),"undefined"!=typeof a.style&&(d!=b||f!=c?(a.style.setProperty("width",d+"px","important"),a.style.setProperty("height",f+"px","important")):(a.style.removeProperty("width"),a.style.removeProperty("height"))))}
var wb,xb,yb,zb,rc;D.ke();Ta.unshift({la:function(){!q.noFSInit&&!D.Ha.jb&&D.Ha()}});Ua.push({la:function(){D.Ac=m}});Va.push({la:function(){D.be()}});q.FS_createFolder=D.nd;q.FS_createPath=D.qd;q.FS_createDataFile=D.Bb;q.FS_createPreloadedFile=D.rd;q.FS_createLazyFile=D.od;q.FS_createLink=D.pd;q.FS_createDevice=D.X;gb=y.Jc(4);L[gb>>2]=0;Ta.unshift({la:n()});Va.push({la:n()});u&&(require("fs"),process.platform.match(/^win/));for(var sc,Eb=new Float32Array(16),tc=0;16>tc;tc++)Eb.subarray(0,tc+1);
Ta.push({la:function(){Z.root=D.F(Z,{},k)}});
q.requestFullScreen=function(a,b,c){function d(){ic=m;var a=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===a?(f.ic=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||
n(),f.ic=f.ic.bind(document),kc&&f.Ub(),ic=j,lc&&("undefined"!=typeof SDL&&(a=La[SDL.screen+0*y.ja>>2],L[SDL.screen+0*y.ja>>2]=a|8388608),pc())):(a.parentNode.insertBefore(f,a),a.parentNode.removeChild(a),lc&&("undefined"!=typeof SDL&&(a=La[SDL.screen+0*y.ja>>2],L[SDL.screen+0*y.ja>>2]=a&-8388609),pc()));if(q.onFullScreen)q.onFullScreen(ic);qc(f)}kc=a;lc=b;rc=c;"undefined"===typeof kc&&(kc=j);"undefined"===typeof lc&&(lc=m);"undefined"===typeof rc&&(rc=k);var f=q.canvas;jc||(jc=j,document.addEventListener("fullscreenchange",
d,m),document.addEventListener("mozfullscreenchange",d,m),document.addEventListener("webkitfullscreenchange",d,m),document.addEventListener("MSFullscreenChange",d,m));var h=document.createElement("div");f.parentNode.insertBefore(h,f);h.appendChild(f);h.Gc=h.requestFullScreen||h.mozRequestFullScreen||h.msRequestFullscreen||(h.webkitRequestFullScreen?function(){h.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:k);c?h.Gc({wh:c}):h.Gc()};q.requestAnimationFrame=function(a){ac(a)};
q.setCanvasSize=function(a,b,c){qc(q.canvas,a,b);c||pc()};q.pauseMainLoop=function(){Yb=k;dc++};q.resumeMainLoop=function(){dc++;var a=Vb,b=Wb,c=Xb;Xb=k;bc(c,0,m,cc);Ub(a,b)};q.getUserMedia=function(){window.wc||(window.wc=navigator.getUserMedia||navigator.mozGetUserMedia);window.wc(g)};Na=w=y.xb(E);Oa=Na+Qa;Pa=F=y.xb(Oa);v(Pa<H,"TOTAL_MEMORY not big enough for stack");
q.ad={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity};
q.bd={abort:B,assert:v,invoke_i:function(a){try{return q.dynCall_i(a)}catch(b){"number"!==typeof b&&"longjmp"!==b&&e(b),$.setThrew(1,0)}},invoke_vi:function(a,b){try{q.dynCall_vi(a,b)}catch(c){"number"!==typeof c&&"longjmp"!==c&&e(c),$.setThrew(1,0)}},invoke_vii:function(a,b,c){try{q.dynCall_vii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&e(d),$.setThrew(1,0)}},invoke_ii:function(a,b){try{return q.dynCall_ii(a,b)}catch(c){"number"!==typeof c&&"longjmp"!==c&&e(c),$.setThrew(1,0)}},invoke_viii:function(a,
b,c,d){try{q.dynCall_viii(a,b,c,d)}catch(f){"number"!==typeof f&&"longjmp"!==f&&e(f),$.setThrew(1,0)}},invoke_viid:function(a,b,c,d){try{q.dynCall_viid(a,b,c,d)}catch(f){"number"!==typeof f&&"longjmp"!==f&&e(f),$.setThrew(1,0)}},invoke_iii:function(a,b,c){try{return q.dynCall_iii(a,b,c)}catch(d){"number"!==typeof d&&"longjmp"!==d&&e(d),$.setThrew(1,0)}},invoke_viiii:function(a,b,c,d,f){try{q.dynCall_viiii(a,b,c,d,f)}catch(h){"number"!==typeof h&&"longjmp"!==h&&e(h),$.setThrew(1,0)}},_send:function(a,
b,c){return!Z.Ed(a)?(U(T.O),-1):Tb(a,b,c)},___xpg_strerror_r:function(){q.printErr("missing function: __xpg_strerror_r");B(-1)},_emscripten_set_main_loop_timing:Ub,_llvm_bswap_i64:function(a,b){var c=Rb(b)>>>0,d=Rb(a)>>>0;return($.setTempRet0(d),c)|0},_fflush:n(),_emscripten_exit_fullscreen:function(){if("undefined"===typeof Jb())return-1;for(var a=0;a<Hb.length;++a)Hb[a].rh==Kb&&(Hb.splice(a,1),--a);if(document.exitFullscreen)document.exitFullscreen();else if(document.Td)document.Td();else if(document.mozCancelFullScreen)document.mozCancelFullScreen();
else if(document.webkitExitFullscreen)document.webkitExitFullscreen();else return-1;Mb.Ab&&y.ka("iiii",Mb.Ab,[37,0,Mb.fd]);return 0},_pwrite:function(a,b,c,d){a=D.fa(a);if(!a)return U(T.O),-1;try{return D.write(a,J,b,c,d)}catch(f){return D.Jb(f),-1}},_signal:function(){q.ca("Calling stub instead of signal()");return 0},___setErrNo:U,_glClearColor:function(a,b,c,d){sc.clearColor(a,b,c,d)},_sbrk:Qb,_glClear:function(a){sc.clear(a)},_emscripten_memcpy_big:function(a,b,c){N.set(N.subarray(b,b+c),a);return a},
_sysconf:function(a){switch(a){case 30:return 4096;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 79: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 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:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}U(T.B);return-1},_close:function(a){a=D.fa(a);if(!a)return U(T.O),-1;try{return D.close(a),0}catch(b){return D.Jb(b),-1}},_emscripten_webgl_destroy_context:function(a){Fb===Y[a]&&(Fb=0);if("object"===typeof Lb)for(var b=Y[a].canvas,c=0;c<Ib.length;++c)if(Ib[c].target==b&&(!eventType||g==Ib[c].xd)){var d=
c--,f=Ib[d];f.target.removeEventListener(f.xd,f.yg,f.th);Ib.splice(d,1)}Y[a]&&Y[a].Fa.canvas&&(Y[a].Fa.canvas.vb=g);Y[a]=k},_emscripten_webgl_init_context_attributes:function(a){L[a>>2]=1;L[a+4>>2]=1;L[a+8>>2]=0;L[a+12>>2]=1;L[a+16>>2]=1;L[a+20>>2]=0;L[a+24>>2]=0;L[a+28>>2]=0;L[a+32>>2]=1;L[a+36>>2]=0;L[a+40>>2]=1},_isatty:function(a){a=D.fa(a);return!a?(U(T.O),0):!a.M?(U(T.dc),0):1},_write:Tb,_emscripten_webgl_make_context_current:function(a){(a=Y[a])?(sc=q.ud=a.Fa,Fb=a,a=j):a=m;return a?0:-5},___errno_location:function(){return gb},
_mkport:Sb,_emscripten_webgl_create_context:function(a,b){var c={};c.alpha=!!L[b>>2];c.depth=!!L[b+4>>2];c.stencil=!!L[b+8>>2];c.antialias=!!L[b+12>>2];c.premultipliedAlpha=!!L[b+16>>2];c.preserveDrawingBuffer=!!L[b+20>>2];c.lh=!!L[b+24>>2];c.Bg=!!L[b+28>>2];c.Ka=L[b+32>>2];c.nb=L[b+36>>2];var d;a?(d=a)?("number"==typeof d&&(d=A(d)),d="#window"==d?window:"#document"==d?document:"#screen"==d?window.screen:"#canvas"==d?q.canvas:"string"==typeof d?document.getElementById(d):d):d=window:d=q.canvas;a:{var f=
function(a){i=a.statusMessage||i};"undefined"===typeof c.Ka&&"undefined"===typeof c.nb&&(c.Ka=1,c.nb=0);var h,i="?";try{d.addEventListener("webglcontextcreationerror",f,m);try{1==c.Ka&&0==c.nb?h=d.getContext("webgl",c)||d.getContext("experimental-webgl",c):2==c.Ka&&0==c.nb?h=d.getContext("webgl2",c)||d.getContext("experimental-webgl2",c):e("Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!")}finally{d.removeEventListener("webglcontextcreationerror",f,m)}h||e(":(")}catch(l){q.print("Could not create canvas: "+
[i,l,JSON.stringify(c)]);c=0;break a}if(h){d=h;h=Db++;for(f=Y.length;f<h;f++)Y[f]=k;f={handle:h,version:c.Ka,Fa:d};d.canvas&&(d.canvas.vb=f);Y[h]=f;if("undefined"===typeof c.enableExtensionsByDefault||c.xg)if((c=f)||(c=Fb),!c.Jd){c.Jd=j;var p=c.Fa;c.dh=p.getParameter(p.MAX_VERTEX_ATTRIBS);c.qg=p.getExtension("WEBGL_compressed_texture_s3tc")||p.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||p.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");c.kg=p.getExtension("EXT_texture_filter_anisotropic")||
p.getExtension("MOZ_EXT_texture_filter_anisotropic")||p.getExtension("WEBKIT_EXT_texture_filter_anisotropic");c.Gg=p.getExtension("OES_texture_float");c.Tg=p.getExtension("ANGLE_instanced_arrays");c.vh=p.getExtension("OES_vertex_array_object");if(2===c.version)c.vd=function(a,b){p.vg(a,b)};else{var t=p.getExtension("WEBGL_draw_buffers");t&&(c.vd=function(a,b){t.wg(a,b)})}var z="OES_texture_float OES_texture_half_float OES_standard_derivatives OES_vertex_array_object WEBGL_compressed_texture_s3tc WEBGL_depth_texture OES_element_index_uint EXT_texture_filter_anisotropic ANGLE_instanced_arrays OES_texture_float_linear OES_texture_half_float_linear WEBGL_compressed_texture_atc WEBGL_compressed_texture_pvrtc EXT_color_buffer_half_float WEBGL_color_buffer_float EXT_frag_depth EXT_sRGB WEBGL_draw_buffers WEBGL_shared_resources EXT_shader_texture_lod".split(" ");
p.getSupportedExtensions().forEach(function(a){a=a.replace("MOZ_","").replace("WEBKIT_","");-1!=z.indexOf(a)&&p.getExtension(a)})}c=h}else c=0}return c},_emscripten_set_main_loop:bc,_abort:function(){q.abort()},_time:function(a){var b=Date.now()/1E3|0;a&&(L[a>>2]=b);return b},_llvm_trap:function(){B("trap!")},STACKTOP:w,STACK_MAX:Oa,tempDoublePtr:eb,ABORT:I};// EMSCRIPTEN_START_ASM
var $=(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=0;var n=0;var o=0;var p=0;var q=global.NaN,r=global.Infinity;var s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0;var B=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=global.Math.floor;var M=global.Math.abs;var N=global.Math.sqrt;var O=global.Math.pow;var P=global.Math.cos;var Q=global.Math.sin;var R=global.Math.tan;var S=global.Math.acos;var T=global.Math.asin;var U=global.Math.atan;var V=global.Math.atan2;var W=global.Math.exp;var X=global.Math.log;var Y=global.Math.ceil;var Z=global.Math.imul;var _=global.Math.min;var $=global.Math.clz32;var aa=env.abort;var ba=env.assert;var ca=env.invoke_i;var da=env.invoke_vi;var ea=env.invoke_vii;var fa=env.invoke_ii;var ga=env.invoke_viii;var ha=env.invoke_viid;var ia=env.invoke_iii;var ja=env.invoke_viiii;var ka=env._send;var la=env.___xpg_strerror_r;var ma=env._emscripten_set_main_loop_timing;var na=env._llvm_bswap_i64;var oa=env._fflush;var pa=env._emscripten_exit_fullscreen;var qa=env._pwrite;var ra=env._signal;var sa=env.___setErrNo;var ta=env._glClearColor;var ua=env._sbrk;var va=env._glClear;var wa=env._emscripten_memcpy_big;var xa=env._sysconf;var ya=env._close;var za=env._emscripten_webgl_destroy_context;var Aa=env._emscripten_webgl_init_context_attributes;var Ba=env._isatty;var Ca=env._write;var Da=env._emscripten_webgl_make_context_current;var Ea=env.___errno_location;var Fa=env._mkport;var Ga=env._emscripten_webgl_create_context;var Ha=env._emscripten_set_main_loop;var Ia=env._abort;var Ja=env._time;var Ka=env._llvm_trap;var La=0.0;
// EMSCRIPTEN_START_FUNCS
function Ua(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Va(){return i|0}function Wa(a){a=a|0;i=a}function Xa(a,b){a=a|0;b=b|0;if(!m){m=a;n=b}}function Ya(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 Za(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 _a(a){a=a|0;B=a}function $a(){return B|0}function ab(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=a;c[f>>2]=g;c[f+4>>2]=48;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function bb(a){a=a|0;return}function cb(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;a=c[a>>2]|0;g=b;f=c[g+4>>2]|0;b=e;c[b>>2]=c[g>>2];c[b+4>>2]=f;db(a,e)|0;i=d;return 0}function db(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;o=i;i=i+48|0;h=o+16|0;j=o+8|0;k=o;n=d;f=c[n>>2]|0;n=c[n+4>>2]|0;e=b+8|0;l=b+4|0;g=c[e>>2]|0;m=c[l>>2]|0;do if((g-m|0)>>>0<n>>>0){p=m+n|0;s=40;r=c[s+4>>2]|0;d=1<<(0-($(p+-1|0)|0)&31);q=k;c[q>>2]=c[s>>2];c[q+4>>2]=r;if(d>>>0<p>>>0){p=4560;q=c[p>>2]|0;p=c[p+4>>2]|0;c[j+4>>2]=17;c[j>>2]=k;k=h;c[k>>2]=q;c[k+4>>2]=p;k=h+8|0;c[k>>2]=0;c[k+4>>2]=0;c[h+16>>2]=j;c[h+20>>2]=1;Kc(h,4400)}if(g>>>0<d>>>0){g=fb(c[b>>2]|0,g,d)|0;if(!g)Ic();else{c[b>>2]=g;c[e>>2]=d;break}}}while(0);if(!n){i=o;return 0}g=c[b>>2]|0;d=m;e=0;while(1){a[g+d>>0]=a[f+e>>0]|0;e=e+1|0;if((e|0)==(n|0))break;else d=d+1|0}c[l>>2]=m+n;i=o;return 0}function eb(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;g=a;f=c[g+4>>2]|0;a=e;c[a>>2]=c[g>>2];c[a+4>>2]=f;a=Yc(b,e)|0;i=d;return a|0}function fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;if(!b)a=dd(c)|0;else a=fd(a,c)|0;i=d;return a|0}function gb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=c[a>>2];c[f>>2]=g;c[f+4>>2]=48;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function hb(d,e){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;N=i;i=i+256|0;L=N+208|0;I=N+160|0;G=N+136|0;H=N+112|0;J=N+104|0;A=N+96|0;B=N+88|0;K=N+72|0;D=N+48|0;E=N+40|0;F=N+24|0;l=N+8|0;p=N+252|0;M=N;c[p>>2]=1;q=p;p=p>>>0>-20001>>>0?-1:q+2e4|0;f=p>>>0<2097152;p=p+-2097152|0;z=2160;j=c[z+4>>2]|0;h=A;c[h>>2]=c[z>>2];c[h+4>>2]=j;c[H>>2]=1;h=H+4|0;c[h>>2]=0;j=H+8|0;c[j>>2]=0;z=4264;y=c[z>>2]|0;z=c[z+4>>2]|0;c[J+4>>2]=18;c[J>>2]=A;c[L>>2]=H;c[I>>2]=L;c[I+4>>2]=1272;o=G;c[o>>2]=y;c[o+4>>2]=z;o=G+8|0;c[o>>2]=0;c[o+4>>2]=0;c[G+16>>2]=J;c[G+20>>2]=1;Xc(I,G)|0;h=c[h>>2]|0;o=c[j>>2]|0;do if(!h)if(!o)g=0;else{ed(c[H>>2]|0);c[j>>2]=0;g=0}else if((o|0)!=(h|0)){o=fd(c[H>>2]|0,h)|0;if(!o)Ic();else{c[H>>2]=o;c[j>>2]=h;g=h;break}}else g=h;while(0);o=c[H>>2]|0;if(!((g|0)==0|(o|0)==0))ed(o);if((c[542]|0)!=1){Na[c[2168+24>>2]&15](L);c[542]=1;c[543]=c[L+0>>2];c[544]=c[L+4>>2];c[545]=c[L+8>>2];c[546]=c[L+12>>2];c[547]=c[L+16>>2]}o=c[547]|0;if((o|0)==-1)Jc(4336);u=(c[543]|0)==1;c[547]=o;if(u){s=2200;t=c[s+4>>2]|0;u=L;c[u>>2]=c[s>>2];c[u+4>>2]=t;yb(L,2208)}if(o)Jc(4360);t=f?0:p;c[543]=1;u=2176;c[u>>2]=t;c[u+4>>2]=q;c[546]=0;c[547]=0;if((ra(13,1)|0)==-1){s=2224;t=c[s+4>>2]|0;u=L;c[u>>2]=c[s>>2];c[u+4>>2]=t;yb(L,2232)}a:do if((d|0)>0){h=dd(d*12|0)|0;if(!h)Ic();u=h;p=l+4|0;r=l+8|0;g=d;s=0;while(1){if((s|0)>=(d|0)){f=33;break}t=s+1|0;f=c[e+(s<<2)>>2]|0;o=jd(f|0)|0;if((o|0)==-1){f=27;break}else if(!o){j=1;o=0}else{j=dd(o)|0;if(!j){f=29;break}else q=0;do{a[j+q>>0]=a[f+q>>0]|0;q=q+1|0}while((q|0)!=(o|0))}c[l>>2]=j;c[p>>2]=o;c[r>>2]=o;g=g+-1|0;s=h+(s*12|0)|0;c[s+0>>2]=c[l+0>>2];c[s+4>>2]=c[l+4>>2];c[s+8>>2]=c[l+8>>2];if(!g){n=t;m=u;k=d;f=31;break a}else s=t}if((f|0)==27)Jc(4488);else if((f|0)==29)Ic();else if((f|0)==33){c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;n=s;m=u;k=d;break}}else{n=0;m=1;k=0;f=31}while(0);if((f|0)==31){c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0}b:do if((n|0)==(k|0))if((n|0)<(d|0)){l=k;g=k;while(1){j=c[e+(n<<2)>>2]|0;n=n+1|0;h=jd(j|0)|0;if((h|0)==-1){f=37;break}else if(!h){h=0;o=1}else{o=dd(h)|0;if(!o){f=39;break}else k=0;do{a[o+k>>0]=a[j+k>>0]|0;k=k+1|0}while((k|0)!=(h|0))}if((l|0)==(g|0)){k=l*12|0;j=k>>>0>24?l*24|0:48;if(k>>>0>j>>>0){f=44;break}k=Ab(m,k,j)|0;if(!k){f=46;break}j=k;m=k;k=l>>>0>2?l<<1:4}else{j=m;k=g}c[j+(l*12|0)>>2]=o;c[j+(l*12|0)+4>>2]=h;c[j+(l*12|0)+8>>2]=h;l=l+1|0;if((n|0)>=(d|0)){x=l;w=m;v=k;break b}else g=k}if((f|0)==37)Jc(4488);else if((f|0)==39)Ic();else if((f|0)==44)Jc(4240);else if((f|0)==46)Ic()}else{x=k;w=m;v=k}else{x=n;w=m;v=k}while(0);l=b[576]|0;if((l&255)<<24>>24==1)l=(l&65535)>>>8&255;else{l=Ma[c[1152+4>>2]&1]()|0;b[576]=(l&255)<<8&65535|1}h=l<<24>>24!=0;g=a[2080]|0;if(c[522]|0){d=1248;u=c[d>>2]|0;d=c[d+4>>2]|0;c[I+4>>2]=18;c[I>>2]=2480;e=L;c[e>>2]=u;c[e+4>>2]=d;e=L+8|0;c[e>>2]=0;c[e+4>>2]=0;c[L+16>>2]=I;c[L+20>>2]=1;ub(L)}f=dd(12)|0;if(!f)Ic();l=w;Eb(f,l,x);m=c[522]|0;if(m){if(c[m+8>>2]|0){k=c[m>>2]|0;e=c[m+4>>2]|0;n=k+(e*12|0)|0;if(e){j=k;do{if(c[j+8>>2]|0)ed(c[j>>2]|0);j=j+12|0}while((j|0)!=(n|0))}ed(k)}ed(m)}c[522]=f;if(g<<24>>24==1){if(!h){k=b[576]|0;if((k&255)<<24>>24==1)k=(k&65535)>>>8&255;else{k=Ma[c[1152+4>>2]&1]()|0;b[576]=(k&255)<<8&65535|1}if(k<<24>>24)a[2080]=1}}else if(!h){k=b[576]|0;if((k&255)<<24>>24==1)k=(k&65535)>>>8&255;else{k=Ma[c[1152+4>>2]&1]()|0;b[576]=(k&255)<<8&65535|1}if(k<<24>>24)a[2080]=1}if(v){j=l+(x*12|0)|0;k=w;if(x)do{if(c[l+8>>2]|0)ed(c[l>>2]|0);l=l+12|0}while((l|0)!=(j|0));ed(k)}l=b[576]|0;if((l&255)<<24>>24==1)l=(l&65535)>>>8&255;else{l=Ma[c[1152+4>>2]&1]()|0;b[576]=(l&255)<<8&65535|1}u=l<<24>>24!=0&1;a[1153]=0;j=88;k=c[j+4>>2]|0;l=I;c[l>>2]=c[j>>2];c[l+4>>2]=k;l=I+8|0;c[l>>2]=0;c[l+4>>2]=0;c[I+16>>2]=L;c[I+20>>2]=0;rb(I);Aa(I|0);l=L+0|0;k=I+0|0;j=l+44|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(j|0));o=Ga(0,L|0)|0;Da(o|0)|0;ta(1.0,0.0,0.0,1.0);va(16384);pa()|0;za(o|0)|0;o=160;g=c[o+4>>2]|0;l=I;c[l>>2]=c[o>>2];c[l+4>>2]=g;l=I+8|0;c[l>>2]=0;c[l+4>>2]=0;c[I+16>>2]=L;c[I+20>>2]=0;rb(I);l=1;g=0;o=1;h=20;m=1;k=0;while(1){h=h+-1|0;j=o+l|0;if((g|0)==(k|0)){l=g<<2;k=l>>>0>8?g<<3:16;if(l>>>0>k>>>0){f=86;break}l=ib(m,l,k)|0;if(!l){f=88;break}n=l;q=l;k=g>>>0>2?g<<1:4}else{n=m;q=m}c[n+(g<<2)>>2]=o;g=g+1|0;if(!h){f=91;break}else{l=o;o=j;m=q}}if((f|0)==86)Jc(4240);else if((f|0)==88)Ic();else if((f|0)==91){n=q;o=n+(g<<2)|0;if(g){j=184;l=c[j>>2]|0;j=c[j+4>>2]|0;h=H+4|0;g=G+8|0;m=G+20|0;f=G+16|0;do{c[I>>2]=c[n>>2];n=n+4|0;c[h>>2]=19;c[H>>2]=I;x=G;c[x>>2]=l;c[x+4>>2]=j;x=g;c[x>>2]=0;c[x+4>>2]=0;c[f>>2]=H;c[m>>2]=1;rb(G)}while((n|0)!=(o|0))}if(k)ed(q);t=264;r=c[t+4>>2]|0;q=I;c[q>>2]=c[t>>2];c[q+4>>2]=r;q=I+8|0;c[q>>2]=0;c[q+4>>2]=0;c[I+16>>2]=L;c[I+20>>2]=0;rb(I);q=280;r=c[q>>2]|0;q=c[q+4>>2]|0;t=368;j=c[t+4>>2]|0;h=A;c[h>>2]=c[t>>2];c[h+4>>2]=j;c[H>>2]=1;h=H+4|0;c[h>>2]=0;j=H+8|0;c[j>>2]=0;t=J+4|0;c[t>>2]=17;c[J>>2]=A;c[L>>2]=H;c[I>>2]=L;c[I+4>>2]=48;k=G;c[k>>2]=y;c[k+4>>2]=z;k=G+8|0;c[k>>2]=0;c[k+4>>2]=0;c[G+16>>2]=J;c[G+20>>2]=1;Xc(I,G)|0;k=c[h>>2]|0;l=c[j>>2]|0;do if(k){if((l|0)==(k|0)){C=k;break}l=fd(c[H>>2]|0,k)|0;if(!l)Ic();else{c[H>>2]=l;c[j>>2]=k;C=k;break}}else{if(!l){C=0;break}ed(c[H>>2]|0);c[j>>2]=0;C=0}while(0);g=c[H>>2]|0;k=c[h>>2]|0;c[K>>2]=1;j=K+4|0;c[j>>2]=0;f=K+8|0;c[f>>2]=0;o=K;y=376;x=c[y>>2]|0;y=c[y+4>>2]|0;c[I>>2]=K;c[G>>2]=I;c[G+4>>2]=48;z=H;c[z>>2]=x;c[z+4>>2]=y;z=H+8|0;c[z>>2]=0;c[z+4>>2]=0;c[H+16>>2]=L;c[H+20>>2]=0;do if(!((Xc(G,H)|0)<<24>>24)){z=328;y=c[z>>2]|0;z=c[z+4>>2]|0;l=L;c[l>>2]=o;c[l+4>>2]=288;l=I;c[l>>2]=y;c[l+4>>2]=z;l=lb(L,I)|0;if((l&255)<<24>>24){h=(l&65535)>>>8&255;break}m=400;n=c[m>>2]|0;m=c[m+4>>2]|0;c[I>>2]=K;c[G>>2]=I;c[G+4>>2]=48;z=H;c[z>>2]=n;c[z+4>>2]=m;z=H+8|0;c[z>>2]=0;c[z+4>>2]=0;c[H+16>>2]=L;c[H+20>>2]=0;if((Xc(G,H)|0)<<24>>24){h=0;break}c[L>>2]=o;c[L+4>>2]=288;l=I;c[l>>2]=g;c[l+4>>2]=k;l=lb(L,I)|0;if(l&255){h=(l&65535)>>>8&255;break}k=344;l=c[k>>2]|0;k=c[k+4>>2]|0;y=392;x=c[y>>2]|0;y=c[y+4>>2]|0;c[I>>2]=K;c[G>>2]=I;c[G+4>>2]=48;z=H;c[z>>2]=x;c[z+4>>2]=y;z=H+8|0;c[z>>2]=0;c[z+4>>2]=0;c[H+16>>2]=L;c[H+20>>2]=0;if((Xc(G,H)|0)<<24>>24){h=0;break}z=L;c[z>>2]=o;c[z+4>>2]=288;z=I;c[z>>2]=l;c[z+4>>2]=k;l=lb(L,I)|0;if((l&255)<<24>>24){h=(l&65535)>>>8&255;break}c[I>>2]=K;c[G>>2]=I;c[G+4>>2]=48;z=H;c[z>>2]=n;c[z+4>>2]=m;z=H+8|0;c[z>>2]=0;c[z+4>>2]=0;c[H+16>>2]=L;c[H+20>>2]=0;if((Xc(G,H)|0)<<24>>24){h=0;break}c[H>>2]=61441;y=408;x=c[y>>2]|0;y=c[y+4>>2]|0;c[A+4>>2]=20;c[A>>2]=H;c[L>>2]=K;c[I>>2]=L;c[I+4>>2]=48;z=G;c[z>>2]=x;c[z+4>>2]=y;z=G+8|0;c[z>>2]=0;c[z+4>>2]=0;c[G+16>>2]=A;c[G+20>>2]=1;if(!((Xc(I,G)|0)<<24>>24)){b[J>>1]=0;l=J}else{a[B+1>>0]=0;a[B>>0]=1;l=B}l=b[l>>1]|0;if(l&255){h=(l&65535)>>>8&255;break}y=384;x=c[y>>2]|0;y=c[y+4>>2]|0;c[I>>2]=K;c[G>>2]=I;c[G+4>>2]=48;z=H;c[z>>2]=x;c[z+4>>2]=y;z=H+8|0;c[z>>2]=0;c[z+4>>2]=0;c[H+16>>2]=L;c[H+20>>2]=0;if((Xc(G,H)|0)<<24>>24){h=0;break}z=c[j>>2]|0;y=c[f>>2]|0;c[F>>2]=c[K>>2];c[F+4>>2]=z;z=F+8|0;c[z>>2]=y;c[E+4>>2]=22;c[E>>2]=F;y=D;c[y>>2]=r;c[y+4>>2]=q;y=D+8|0;c[y>>2]=0;c[y+4>>2]=0;c[D+16>>2]=E;c[D+20>>2]=1;rb(D);if(c[z>>2]|0)ed(c[F>>2]|0);if(C)ed(g);if((a[1152]|0)!=1)b[576]=((Ma[c[1152+4>>2]&1]()|0)&255)<<8&65535|1;a[1153]=u;f=M;c[f>>2]=0;c[f+4>>2]=0;f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}j=f<<24>>24!=0;k=a[2080]|0;l=c[522]|0;c[522]=0;if(!l){c[L+0>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0}else{h=l+4|0;Eb(L,c[l>>2]|0,c[h>>2]|0);if(c[l+8>>2]|0){f=c[l>>2]|0;z=c[h>>2]|0;g=f+(z*12|0)|0;if(z){h=f;do{if(c[h+8>>2]|0)ed(c[h>>2]|0);h=h+12|0}while((h|0)!=(g|0))}ed(f)}ed(l)}do if(k<<24>>24==1){if(j)break;f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}if(!(f<<24>>24))break;a[2080]=1}else{if(j)break;f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}if(!(f<<24>>24))break;a[2080]=1}while(0);h=c[L>>2]|0;do if(h){if(!(c[L+8>>2]|0))break;z=c[L+4>>2]|0;g=h+(z*12|0)|0;if(z){f=h;do{if(c[f+8>>2]|0)ed(c[f>>2]|0);f=f+12|0}while((f|0)!=(g|0))}ed(h)}while(0);if(!(c[M>>2]|0)){z=c[518]|0;i=N;return z|0}else{Na[c[c[M+4>>2]>>2]&15](M);z=101;i=N;return z|0}}else h=0;while(0);if(!(c[f>>2]|0)){a[L>>0]=h;y=4456;w=y;w=c[w>>2]|0;y=y+4|0;y=c[y>>2]|0;c[t>>2]=21;c[J>>2]=L;z=I;x=z;c[x>>2]=w;z=z+4|0;c[z>>2]=y;z=I+8|0;y=z;c[y>>2]=0;z=z+4|0;c[z>>2]=0;z=I+16|0;c[z>>2]=J;z=I+20|0;c[z>>2]=1;Kc(I,4440)}ed(c[K>>2]|0);a[L>>0]=h;y=4456;w=y;w=c[w>>2]|0;y=y+4|0;y=c[y>>2]|0;c[t>>2]=21;c[J>>2]=L;z=I;x=z;c[x>>2]=w;z=z+4|0;c[z>>2]=y;z=I+8|0;y=z;c[y>>2]=0;z=z+4|0;c[z>>2]=0;z=I+16|0;c[z>>2]=J;z=I+20|0;c[z>>2]=1;Kc(I,4440)}return 0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;if(!b)a=dd(c)|0;else a=fd(a,c)|0;i=d;return a|0}function jb(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;g=c[a+4>>2]|0;f=e;c[f>>2]=c[a>>2];c[f+4>>2]=g;a=Yc(b,e)|0;i=d;return a|0}function kb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+64|0;e=h+48|0;g=h+24|0;f=h;if(!(a[b>>0]|0)){j=424;k=c[j>>2]|0;j=c[j+4>>2]|0;c[f+4>>2]=23;c[f>>2]=b+1;l=d+28|0;d=c[l+4>>2]|0;b=e;c[b>>2]=c[l>>2];c[b+4>>2]=d;b=g;c[b>>2]=k;c[b+4>>2]=j;b=g+8|0;c[b>>2]=0;c[b+4>>2]=0;c[g+16>>2]=f;c[g+20>>2]=1;b=Xc(e,g)|0;i=h;return b|0}else{j=416;k=c[j>>2]|0;j=c[j+4>>2]|0;l=d+28|0;d=c[l+4>>2]|0;b=g;c[b>>2]=c[l>>2];c[b+4>>2]=d;b=f;c[b>>2]=k;c[b+4>>2]=j;b=f+8|0;c[b>>2]=0;c[b+4>>2]=0;c[f+16>>2]=e;c[f+20>>2]=0;b=Xc(g,f)|0;i=h;return b|0}return 0}function lb(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;u=i;i=i+16|0;t=u;s=c[b>>2]|0;p=(c[b+4>>2]|0)+12|0;m=c[p>>2]|0;o=432;q=c[o>>2]|0;o=c[o+4>>2]|0;l=t;c[l>>2]=q;c[l+4>>2]=o;if((Sa[m&63](s,t)|0)<<24>>24){m=1;i=u;return m|0}n=d;m=c[n>>2]|0;n=c[n+4>>2]|0;k=m;h=k+n|0;d=m;l=0;a:while(1){g=l;b:while(1){b=d;if((b|0)==(h|0)){r=52;break a}d=b+1|0;j=g+1|0;switch(a[b>>0]|0){case 12:{r=13;break b}case 13:{r=14;break b}case 14:{r=15;break b}case 15:{r=16;break b}case 16:{r=17;break b}case 17:{r=18;break b}case 25:{r=26;break b}case 26:{r=27;break b}case 27:{r=28;break b}case 28:{r=29;break b}case 29:{r=30;break b}case 30:{r=31;break b}case 31:{r=32;break b}case 127:{r=33;break b}case 34:{r=34;break b}case 92:{r=35;break b}case 0:{r=36;break b}case 1:{r=37;break b}case 2:{r=38;break b}case 3:{r=39;break b}case 4:{r=40;break b}case 5:{b=656;break b}case 18:{r=19;break b}case 19:{r=20;break b}case 20:{r=21;break b}case 21:{r=22;break b}case 22:{r=23;break b}case 23:{r=24;break b}case 24:{r=25;break b}case 7:{r=8;break b}case 8:{r=9;break b}case 9:{r=10;break b}case 10:{r=11;break b}case 11:{r=12;break b}case 6:{r=7;break b}default:g=j}}switch(r|0){case 7:{r=0;b=648;break}case 8:{r=0;b=640;break}case 9:{r=0;b=632;break}case 10:{r=0;b=624;break}case 11:{r=0;b=616;break}case 12:{r=0;b=608;break}case 13:{r=0;b=600;break}case 14:{r=0;b=592;break}case 15:{r=0;b=584;break}case 16:{r=0;b=576;break}case 17:{r=0;b=568;break}case 18:{r=0;b=560;break}case 19:{r=0;b=552;break}case 20:{r=0;b=544;break}case 21:{r=0;b=536;break}case 22:{r=0;b=528;break}case 23:{r=0;b=520;break}case 24:{r=0;b=512;break}case 25:{r=0;b=504;break}case 26:{r=0;b=496;break}case 27:{r=0;b=488;break}case 28:{r=0;b=480;break}case 29:{r=0;b=472;break}case 30:{r=0;b=464;break}case 31:{r=0;b=456;break}case 32:{r=0;b=448;break}case 33:{r=0;b=440;break}case 34:{r=0;b=696;break}case 35:{r=0;b=704;break}case 36:{r=0;b=712;break}case 37:{r=0;b=688;break}case 38:{r=0;b=680;break}case 39:{r=0;b=672;break}case 40:{r=0;b=664;break}}e=b;b=c[e>>2]|0;e=c[e+4>>2]|0;if(g>>>0>l>>>0){f=c[p>>2]|0;if(g>>>0<l>>>0){r=49;break}if((n|0)!=(l|0)){if(n>>>0<=l>>>0){r=49;break}v=a[k+l>>0]|0;if(!(v<<24>>24>-1|(v&255)>191)){r=49;break}}if((n|0)!=(g|0)){if(n>>>0<=g>>>0){r=49;break}v=a[k+g>>0]|0;if(!(v<<24>>24>-1|(v&255)>191)){r=49;break}}v=t;c[v>>2]=k+l;c[v+4>>2]=g-l;if((Sa[f&63](s,t)|0)<<24>>24){b=1;r=4;break}}l=c[p>>2]|0;g=t;c[g>>2]=b;c[g+4>>2]=e;if(!((Sa[l&63](s,t)|0)<<24>>24))l=j;else{b=1;r=4;break}}if((r|0)==4){i=u;return b|0}else if((r|0)==49){k=t;c[k>>2]=m;c[k+4>>2]=n;Sc(t,l,g)}else if((r|0)==52){if((n|0)!=(l|0)){b=c[p>>2]|0;if(n>>>0<=l>>>0){j=t;h=j;c[h>>2]=m;j=j+4|0;c[j>>2]=n;Sc(t,l,n)}d=k+l|0;k=a[d>>0]|0;if(!(k<<24>>24>-1|(k&255)>191)){k=t;j=k;c[j>>2]=m;m=k+4|0;c[m>>2]=n;Sc(t,l,n)}m=t;c[m>>2]=d;c[m+4>>2]=n-l;if((Sa[b&63](s,t)|0)<<24>>24){m=1;i=u;return m|0}}m=c[p>>2]|0;l=t;c[l>>2]=q;c[l+4>>2]=o;m=(Sa[m&63](s,t)|0)<<24>>24!=0&1;i=u;return m|0}return 0}function mb(d,e){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;m=i;i=i+64|0;n=m+40|0;k=m+32|0;l=m+24|0;do if((c[291]|0)>=0){f=c[291]|0;c[291]=f+1;if((f|0)<0){c[291]=-2147483648;break}f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}f=f<<24>>24!=0;g=a[1160]|0;if((c[291]|0)>0){h=c[294]|0;c[294]=h+1;if(h>>>0<=15){j=1184+(h<<2)|0;h=c[j>>2]|0;c[j>>2]=23;if(h){j=1248;o=c[j>>2]|0;j=c[j+4>>2]|0;c[k+4>>2]=18;c[k>>2]=1256;h=n;c[h>>2]=o;c[h+4>>2]=j;h=n+8|0;c[h>>2]=0;c[h+4>>2]=0;c[n+16>>2]=k;c[n+20>>2]=1;ub(n)}}else c[294]=16;j=c[291]|0;c[291]=-2147483648;c[292]=j}if(g<<24>>24==1){if(!f){f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}if(f<<24>>24)a[1160]=1}}else if(!f){f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}if(f<<24>>24)a[1160]=1}c[292]=(c[292]|0)+-1}while(0);h=c[294]|0;h=1184+((h>>>0<16?h:16)<<2)|0;if((h|0)!=1184){g=e+8|0;f=1184;do{j=c[f>>2]|0;f=f+4|0;if(j){q=e;r=c[q>>2]|0;q=c[q+4>>2]|0;o=c[g>>2]|0;t=d;s=c[t+4>>2]|0;p=k;c[p>>2]=c[t>>2];c[p+4>>2]=s;p=l;c[p>>2]=r;c[p+4>>2]=q;Qa[j&31](k,l,o)}}while((f|0)!=(h|0))}f=b[576]|0;if((f&255)<<24>>24==1)f=(f&65535)>>>8&255;else{f=Ma[c[1152+4>>2]&1]()|0;b[576]=(f&255)<<8&65535|1}if(!(f<<24>>24)){a[1153]=1;k=d;l=c[k+4>>2]|0;m=n;c[m>>2]=c[k>>2];c[m+4>>2]=l;m=d;c[m>>2]=0;c[m+4>>2]=0;xb(n)}else{k=1264;l=c[k+4>>2]|0;d=m;c[d>>2]=c[k>>2];c[d+4>>2]=l;d=m+8|0;c[d>>2]=0;c[d+4>>2]=0;c[m+16>>2]=n;c[m+20>>2]=0;tb(m);Ka()}}function nb(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;k=i;i=i+64|0;g=k+56|0;j=k+48|0;d=k+24|0;h=k+8|0;c[h>>2]=1;e=h+4|0;c[e>>2]=0;f=h+8|0;c[f>>2]=0;l=1144;m=c[l>>2]|0;l=c[l+4>>2]|0;c[k+4>>2]=24;c[k>>2]=a;c[g>>2]=h;c[j>>2]=g;c[j+4>>2]=1272;a=d;c[a>>2]=m;c[a+4>>2]=l;a=d+8|0;c[a>>2]=0;c[a+4>>2]=0;c[d+16>>2]=k;c[d+20>>2]=1;Xc(j,d)|0;d=c[h>>2]|0;e=c[e>>2]|0;f=c[f>>2]|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;a=dd(12)|0;if(!a)Ic();else{c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=f;c[g>>2]=a;c[g+4>>2]=1296;mb(g,b)}}function ob(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;e=1312;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;yb(a,1320)}function pb(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+64|0;f=d+48|0;e=d+24|0;g=d;h=1664;j=c[h>>2]|0;h=c[h+4>>2]|0;c[g+4>>2]=25;c[g>>2]=a;c[g+12>>2]=26;c[g+8>>2]=a+8;c[g+20>>2]=27;c[g+16>>2]=a+16;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=g;c[e+20>>2]=3;a=Xc(f,e)|0;i=d;return a|0}function qb(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;o=i;i=i+16|0;n=o;g=d;d=c[g>>2]|0;g=c[g+4>>2]|0;e=b+4|0;l=n+4|0;h=n+8|0;m=n+4|0;k=n+8|0;a:do if((g|0)!=0?(f=d,(d|0)!=0):0){j=c[e>>2]|0;if(!(c[b>>2]|0)){while(1){while(1){e=Ca(j|0,f|0,g|0)|0;if((e|0)!=-1)break;if((c[(Ea()|0)>>2]|0)!=4){e=-1;break}}d=((e|0)<0)<<31>>31;if(!e){if(!d)break a}else if((e|0)==-1?(d|0)==-1:0)break;if((g|0)==(e|0))break a;else{g=g-e|0;f=f+e|0}}e=c[(Ea()|0)>>2]|0;do switch(e|0){case 99:{d=1520|0;f=6;g=0;break}case 98:{d=1504|0;f=6;g=0;break}case 2:{d=1488|0;f=2;g=0;break}case 21:{d=1472|0;f=16;g=0;break}case 38:{d=1456|0;f=15;g=0;break}case 22:{d=1440|0;f=16;g=0;break}case 25:{d=1424|0;f=13;g=0;break}case 110:{d=1408|0;f=17;g=0;break}case 125:{d=1392|0;f=17;g=0;break}case 17:{d=1376|0;f=11;g=0;break}case 11:{d=1360|0;f=14;g=0;break}case -1:{d=1616|0;f=1;g=0;break}case 111:{d=1600|0;f=6;g=0;break}case 104:{d=1584|0;f=7;g=0;break}case 32:{d=1568|0;f=10;g=0;break}case 107:{d=1552|0;f=9;g=0;break}case 103:{d=1536|0;f=8;g=0;break}case 13:case 1:{d=1632|0;f=3;g=0;break}default:{d=1344|0;f=0;g=0}}while(0);j=c[d>>2]|0;d=c[d+4>>2]|0;Cb(n,e);h=c[h>>2]|0;b=f;f=c[n>>2]|0;e=c[l>>2]|0}else{while(1){while(1){d=Ca(j|0,f|0,g|0)|0;if((d|0)!=-1)break;if((c[(Ea()|0)>>2]|0)!=4){d=-1;break}}e=((d|0)<0)<<31>>31;if(!d){if(!e)break a}else if((d|0)==-1?(e|0)==-1:0)break;if((g|0)==(d|0))break a;else{g=g-d|0;f=f+d|0}}e=c[(Ea()|0)>>2]|0;do switch(e|0){case -1:{d=1616|0;f=1;g=0;break}case 111:{d=1600|0;f=6;g=0;break}case 104:{d=1584|0;f=7;g=0;break}case 32:{d=1568|0;f=10;g=0;break}case 107:{d=1552|0;f=9;g=0;break}case 103:{d=1536|0;f=8;g=0;break}case 99:{d=1520|0;f=6;g=0;break}case 98:{d=1504|0;f=6;g=0;break}case 2:{d=1488|0;f=2;g=0;break}case 21:{d=1472|0;f=16;g=0;break}case 38:{d=1456|0;f=15;g=0;break}case 22:{d=1440|0;f=16;g=0;break}case 13:case 1:{d=1632|0;f=3;g=0;break}case 25:{d=1424|0;f=13;g=0;break}case 110:{d=1408|0;f=17;g=0;break}case 125:{d=1392|0;f=17;g=0;break}case 17:{d=1376|0;f=11;g=0;break}case 11:{d=1360|0;f=14;g=0;break}default:{d=1344|0;f=0;g=0}}while(0);j=c[d>>2]|0;d=c[d+4>>2]|0;Cb(n,e);h=c[k>>2]|0;b=f;f=c[n>>2]|0;e=c[m>>2]|0}if(j){m=a;c[m>>2]=b;c[m+4>>2]=g;c[a+8>>2]=j;c[a+12>>2]=d;c[a+16>>2]=f;c[a+20>>2]=e;c[a+24>>2]=h;i=o;return}}while(0);c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;i=o;return}function rb(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;n=i;i=i+96|0;l=n+64|0;g=n+48|0;k=n+40|0;j=n+8|0;m=n;if((c[418]|0)!=1){Na[c[1672+16>>2]&15](l);c[g+0>>2]=c[l+0>>2];c[g+4>>2]=c[l+4>>2];c[g+8>>2]=c[l+8>>2];c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if((c[418]|0)==1?(c[419]|0)!=0:0)Na[c[c[1672+8>>2]>>2]&15](1676|0);c[418]=1;c[419]=c[g+0>>2];c[420]=c[g+4>>2];c[421]=c[g+8>>2]}if(c[421]|0)Jc(4360);d=1676|0;e=c[d>>2]|0;d=c[d+4>>2]|0;f=1676|0;c[f>>2]=0;c[f+4>>2]=0;f=j;c[f>>2]=e;c[f+4>>2]=d;c[421]=0;if(!e){e=dd(36)|0;if(!e)Ic();d=(Ba(1)|0)==0;f=dd(1024)|0;if(!f)Ic();c[e+4>>2]=d&1;o=e+8|0;c[o>>2]=d?1:1;c[o+4>>2]=d?256:257;c[e>>2]=1;c[e+16>>2]=f;c[e+20>>2]=1024;c[e+24>>2]=1024;c[e+28>>2]=0;a[e+32>>0]=1;c[k>>2]=e;c[k+4>>2]=1720;if(!(c[j>>2]|0))d=1720;else{Na[c[c[j+4>>2]>>2]&15](j);e=c[k>>2]|0;d=c[k+4>>2]|0}}else{f=k;c[f>>2]=e;c[f+4>>2]=d;f=j;c[f>>2]=0;c[f+4>>2]=0}d=c[d+24>>2]|0;f=1888;o=c[f>>2]|0;f=c[f+4>>2]|0;c[g+4>>2]=24;c[g>>2]=b;b=l;c[b>>2]=o;c[b+4>>2]=f;b=l+8|0;c[b>>2]=0;c[b+4>>2]=0;c[l+16>>2]=g;c[l+20>>2]=1;Qa[d&31](j,e,l);d=k;e=c[d>>2]|0;d=c[d+4>>2]|0;b=m;c[b>>2]=e;c[b+4>>2]=d;b=k;c[b>>2]=0;c[b+4>>2]=0;if((c[418]|0)!=1){Na[c[1672+16>>2]&15](l);c[g+0>>2]=c[l+0>>2];c[g+4>>2]=c[l+4>>2];c[g+8>>2]=c[l+8>>2];c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;if((c[418]|0)==1?(c[419]|0)!=0:0)Na[c[c[1672+8>>2]>>2]&15](1676|0);c[418]=1;c[419]=c[g+0>>2];c[420]=c[g+4>>2];c[421]=c[g+8>>2];d=m;e=c[d>>2]|0;d=c[d+4>>2]|0}b=m;c[b>>2]=0;c[b+4>>2]=0;if(c[421]|0)Jc(4360);c[421]=-1;if(c[419]|0)Na[c[c[1672+8>>2]>>2]&15](1676|0);b=1676|0;c[b>>2]=e;c[b+4>>2]=d;c[421]=0;d=j+8|0;if(c[d>>2]|0){f=1856;e=c[f>>2]|0;f=c[f+4>>2]|0;c[g+4>>2]=28;c[g>>2]=j;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l+8|0;c[b>>2]=0;c[b+4>>2]=0;c[l+16>>2]=g;c[l+20>>2]=1;nb(l,1864)}if((((c[m>>2]|0)!=0?(Na[c[c[m+4>>2]>>2]&15](m),(c[d>>2]|0)!=0):0)?(h=c[j+16>>2]|0,(h|0)!=0):0)?(c[j+24>>2]|0)!=0:0)ed(h);if(!(c[k>>2]|0)){i=n;return}Na[c[c[k+4>>2]>>2]&15](k);i=n;return}function sb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+64|0;d=g+48|0;f=g+24|0;e=g;do switch(c[a>>2]|0){case 0:{h=1920;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 2:{h=1936;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 4:{h=1952;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 12:{h=2016;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 13:{h=2024;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 14:{h=2032;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 15:{h=2040;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 16:{h=2048;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 17:{h=2056;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 18:{h=2064;j=c[h>>2]|0;h=c[h+4>>2]|0;c[e+4>>2]=29;c[e>>2]=a+4;k=b+28|0;b=c[k+4>>2]|0;a=d;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=f;c[a>>2]=j;c[a+4>>2]=h;a=f+8|0;c[a>>2]=0;c[a+4>>2]=0;c[f+16>>2]=e;c[f+20>>2]=1;a=Xc(d,f)|0;i=g;return a|0}case 6:{h=1968;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 7:{h=1976;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 8:{h=1984;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 1:{h=1928;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 9:{h=1992;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 10:{h=2e3;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 11:{h=2008;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 3:{h=1944;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}case 5:{h=1960;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}default:{h=1912;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=f;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=d;c[e+20>>2]=0;a=Xc(f,e)|0;i=g;return a|0}}while(0);return 0}function tb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+80|0;d=e+40|0;f=e+32|0;b=e+8|0;g=e;c[g>>2]=2;c[d>>2]=g;g=d+4|0;c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[f>>2]=d;c[f+4>>2]=2096;c[b+0>>2]=c[a+0>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];c[b+16>>2]=c[a+16>>2];c[b+20>>2]=c[a+20>>2];b=(Xc(f,b)|0)<<24>>24==0;a=c[d+12>>2]|0;if(!b){b=c[d+20>>2]|0;if((c[d+28>>2]|0)==0|((a|0)==0|(b|0)==0)){i=e;return}ed(b);i=e;return}if(!a){i=e;return}a=c[d+20>>2]|0;if(!a){i=e;return}if(!(c[d+28>>2]|0)){i=e;return}ed(a);i=e;return}function ub(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+608|0;e=h+72|0;d=h+48|0;f=h+24|0;b=h+88|0;g=h+8|0;id(b|0,0,512)|0;c[g>>2]=b;c[g+4>>2]=512;b=g+8|0;c[b>>2]=0;j=1144;k=c[j>>2]|0;j=c[j+4>>2]|0;c[h+4>>2]=24;c[h>>2]=a;c[e>>2]=g;c[d>>2]=e;c[d+4>>2]=2120;a=f;c[a>>2]=k;c[a+4>>2]=j;a=f+8|0;c[a>>2]=0;c[a+4>>2]=0;c[f+16>>2]=h;c[f+20>>2]=1;Xc(d,f)|0;a=c[b>>2]|0;b=c[g>>2]|0;if((c[g+4>>2]|0)>>>0<a>>>0)Jc(4488);g=d;c[g>>2]=b;c[g+4>>2]=a;Rc(e,d);if(!(c[e>>2]|0))a=e+4|0;else a=2144;g=a;a=c[g>>2]|0;g=c[g+4>>2]|0;j=g>>>0<1|(g|0)==1&a>>>0<0;h=2144;g=j?c[h+4>>2]|0:g;b=e;c[b>>2]=j?c[h>>2]|0:a;c[b+4>>2]=g;b=2152;g=c[b>>2]|0;b=c[b+4>>2]|0;c[f+4>>2]=18;c[f>>2]=e;a=d;c[a>>2]=g;c[a+4>>2]=b;a=d+8|0;c[a>>2]=0;c[a+4>>2]=0;c[d+16>>2]=f;c[d+20>>2]=1;tb(d);Ka()}function vb(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,t=0,u=0;t=i;i=i+160|0;r=t+120|0;p=t+96|0;q=t+64|0;l=t+152|0;m=t+56|0;k=t+48|0;n=t+40|0;s=t+32|0;j=t;c[l>>2]=e;e=a;g=c[e>>2]|0;a=g;e=(c[e+4>>2]|0)+12|0;u=Pa[c[e>>2]&3](a)|0;f=(g|0)==0;if(f|((u|0)!=2026980809|(B|0)!=2049436277)){e=Pa[c[e>>2]&3](a)|0;a=3960;if(f|((e|0)!=-1594598322|(B|0)!=1736150032)){e=c[a>>2]|0;a=c[a+4>>2]|0}else{a=g;e=c[a>>2]|0;a=c[a+4>>2]|0}}else{a=g;e=c[a>>2]|0;a=c[a+4>>2]|0}g=m;c[g>>2]=e;c[g+4>>2]=a;c[k>>2]=2;c[n>>2]=3912;c[n+4>>2]=4;if((c[424]|0)!=1){Na[c[1696+16>>2]&15](r);c[p+0>>2]=c[r+0>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;if((c[424]|0)==1?(c[425]|0)!=0:0)Na[c[c[1696+8>>2]>>2]&15](1700|0);c[424]=1;c[425]=c[p+0>>2];c[426]=c[p+4>>2];c[427]=c[p+8>>2]}if(c[427]|0)Jc(4360);e=1700|0;a=c[e>>2]|0;e=c[e+4>>2]|0;g=1700|0;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=a;c[g+4>>2]=e;c[427]=0;do if(!a){a=4112;h=c[a>>2]|0;a=c[a+4>>2]|0;c[j+4>>2]=18;c[j>>2]=n;c[j+12>>2]=18;c[j+8>>2]=m;c[j+20>>2]=18;c[j+16>>2]=d;c[j+28>>2]=30;c[j+24>>2]=l;c[r>>2]=k;m=r+4|0;c[m+0>>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[m+24>>2]=0;c[p>>2]=r;c[p+4>>2]=2096;m=q;c[m>>2]=h;c[m+4>>2]=a;m=q+8|0;c[m>>2]=0;c[m+4>>2]=0;c[q+16>>2]=j;c[q+20>>2]=4;m=(Xc(p,q)|0)<<24>>24==0;a=c[r+12>>2]|0;if(!m){e=c[r+20>>2]|0;if((a|0)==0|(e|0)==0|(c[r+28>>2]|0)==0)break;ed(e);break}if(((a|0)!=0?(o=c[r+20>>2]|0,(o|0)!=0):0)?(c[r+28>>2]|0)!=0:0)ed(o)}else{k=c[e+24>>2]|0;j=4104;g=c[j>>2]|0;j=c[j+4>>2]|0;c[q+4>>2]=18;c[q>>2]=n;c[q+12>>2]=18;c[q+8>>2]=m;c[q+20>>2]=18;c[q+16>>2]=d;c[q+28>>2]=30;c[q+24>>2]=l;m=p;c[m>>2]=g;c[m+4>>2]=j;m=p+8|0;c[m>>2]=0;c[m+4>>2]=0;c[p+16>>2]=q;c[p+20>>2]=4;Qa[k&31](r,a,p);if(((c[r+8>>2]|0)!=0?(h=c[r+16>>2]|0,(h|0)!=0):0)?(c[r+24>>2]|0)!=0:0)ed(h);e=s;a=c[e>>2]|0;e=c[e+4>>2]|0;m=q;c[m>>2]=a;c[m+4>>2]=e;m=s;c[m>>2]=0;c[m+4>>2]=0;if((c[424]|0)!=1){Na[c[1696+16>>2]&15](r);c[p+0>>2]=c[r+0>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;if((c[424]|0)==1?(c[425]|0)!=0:0)Na[c[c[1696+8>>2]>>2]&15](1700|0);c[424]=1;c[425]=c[p+0>>2];c[426]=c[p+4>>2];c[427]=c[p+8>>2];e=q;a=c[e>>2]|0;e=c[e+4>>2]|0}m=q;c[m>>2]=0;c[m+4>>2]=0;if(c[427]|0)Jc(4360);c[427]=-1;if(c[425]|0){Na[c[c[1696+8>>2]>>2]&15](1700|0);m=(c[q>>2]|0)==0;l=1700|0;c[l>>2]=a;c[l+4>>2]=e;c[427]=0;if(!m)Na[c[c[q+4>>2]>>2]&15](q)}else{m=1700|0;c[m>>2]=a;c[m+4>>2]=e;c[427]=0}if(c[s>>2]|0)Na[c[c[s+4>>2]>>2]&15](s);m=s;c[m>>2]=0;c[m+4>>2]=0}while(0);if((b[576]&255)<<24>>24!=1)b[576]=((Ma[c[1152+4>>2]&1]()|0)&255)<<8&65535|1;if(!(c[s>>2]|0)){i=t;return}Na[c[c[s+4>>2]>>2]&15](s);i=t;return}function wb(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;g=a;f=c[g+4>>2]|0;a=e;c[a>>2]=c[g>>2];c[a+4>>2]=f;a=Yc(b,e)|0;i=d;return a|0}function xb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+48|0;f=e+32|0;d=e+8|0;g=a;b=c[g>>2]|0;g=Pa[c[(c[g+4>>2]|0)+12>>2]&3](b)|0;if((b|0)==0|((g|0)!=2026980809|(B|0)!=2049436277)){g=a;a=c[g>>2]|0;g=Pa[c[(c[g+4>>2]|0)+12>>2]&3](a)|0;b=3960;if((a|0)==0|((g|0)!=-1594598322|(B|0)!=1736150032)){a=c[b>>2]|0;b=c[b+4>>2]|0}else{b=a;a=c[b>>2]|0;b=c[b+4>>2]|0}}else{a=c[b>>2]|0;b=c[b+4>>2]|0}g=f;c[g>>2]=a;c[g+4>>2]=b;b=3968;g=c[b>>2]|0;b=c[b+4>>2]|0;c[e+4>>2]=18;c[e>>2]=f;a=d;c[a>>2]=g;c[a+4>>2]=b;a=d+8|0;c[a>>2]=0;c[a+4>>2]=0;c[d+16>>2]=e;c[d+20>>2]=1;ub(d)}function yb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=a;a=c[d>>2]|0;d=c[d+4>>2]|0;e=dd(8)|0;if(!e)Ic();else{g=e;c[g>>2]=a;c[g+4>>2]=d;c[f>>2]=e;c[f+4>>2]=3920;mb(f,b)}}function zb(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;g=a;f=c[g+4>>2]|0;a=e;c[a>>2]=c[g>>2];c[a+4>>2]=f;a=Mc(e,b)|0;i=d;return a|0}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;if(!b)a=dd(c)|0;else a=fd(a,c)|0;i=d;return a|0}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;if(!b)a=dd(c)|0;else a=fd(a,c)|0;i=d;return a|0}function Cb(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;p=i;i=i+224|0;n=p+88|0;j=p+64|0;m=p+40|0;o=p+24|0;k=p+16|0;h=p+96|0;f=p+8|0;l=p;e=h+0|0;g=e+128|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(g|0));if((la(d|0,h|0,128)|0)<0){e=3512;d=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=d;yb(f,3520)}f=jd(h|0)|0;if((f|0)==-1)Jc(4488);g=n;c[g>>2]=h;c[g+4>>2]=f;Rc(m,n);f=m+4|0;if(c[m>>2]|0){h=f;d=c[h+4>>2]|0;g=n;c[g>>2]=c[h>>2];c[g+4>>2]=d;g=4456;d=c[g>>2]|0;g=c[g+4>>2]|0;c[k+4>>2]=31;c[k>>2]=n;h=j;c[h>>2]=d;c[h+4>>2]=g;h=j+8|0;c[h>>2]=0;c[h+4>>2]=0;c[j+16>>2]=k;c[j+20>>2]=1;Kc(j,4440)}h=f;d=c[h+4>>2]|0;f=l;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[o>>2]=1;f=o+4|0;c[f>>2]=0;d=o+8|0;c[d>>2]=0;h=4264;g=c[h>>2]|0;h=c[h+4>>2]|0;c[k+4>>2]=18;c[k>>2]=l;c[n>>2]=o;c[j>>2]=n;c[j+4>>2]=1272;e=m;c[e>>2]=g;c[e+4>>2]=h;e=m+8|0;c[e>>2]=0;c[e+4>>2]=0;c[m+16>>2]=k;c[m+20>>2]=1;Xc(j,m)|0;f=c[f>>2]|0;e=c[d>>2]|0;if(!f){if(!e){c[b+0>>2]=c[o+0>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];i=p;return}ed(c[o>>2]|0);c[d>>2]=0;c[b+0>>2]=c[o+0>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];i=p;return}if((e|0)==(f|0)){c[b+0>>2]=c[o+0>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];i=p;return}e=fd(c[o>>2]|0,f)|0;if(!e)Ic();c[o>>2]=e;c[d>>2]=f;c[b+0>>2]=c[o+0>>2];c[b+4>>2]=c[o+4>>2];c[b+8>>2]=c[o+8>>2];i=p;return}function Db(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+64|0;d=g+48|0;e=g+24|0;f=g;if(!(c[a>>2]|0)){h=4384;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=e;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=f;c[a>>2]=j;c[a+4>>2]=h;a=f+8|0;c[a>>2]=0;c[a+4>>2]=0;c[f+16>>2]=d;c[f+20>>2]=0;a=Xc(e,f)|0;i=g;return a|0}else{h=4392;j=c[h>>2]|0;h=c[h+4>>2]|0;c[f+4>>2]=32;c[f>>2]=a;k=b+28|0;b=c[k+4>>2]|0;a=d;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=f;c[e+20>>2]=1;a=Xc(d,e)|0;i=g;return a|0}return 0}function Eb(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;o=i;a:do if(!e){l=1;n=0}else{k=dd(e*12|0)|0;if(!k)Ic();m=0;while(1){h=c[d+(m*12|0)>>2]|0;f=c[d+(m*12|0)+4>>2]|0;if(!f){g=1;f=0}else{g=dd(f)|0;if(!g)break;else j=0;do{a[g+j>>0]=a[h+j>>0]|0;j=j+1|0}while((j|0)!=(f|0))}c[k+(m*12|0)>>2]=g;c[k+(m*12|0)+4>>2]=f;c[k+(m*12|0)+8>>2]=f;m=m+1|0;if((m|0)==(e|0)){l=k;n=e;break a}}Ic()}while(0);c[b>>2]=l;c[b+4>>2]=n;c[b+8>>2]=n;i=o;return}function Fb(){return 0}function Gb(a){a=a|0;c[a+0>>2]=c[474];c[a+4>>2]=c[475];c[a+8>>2]=c[476];c[a+12>>2]=c[477];c[a+16>>2]=0;return}function Hb(a){a=a|0;return}function Ib(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;d=c[a>>2]|0;f=b;e=c[f>>2]|0;f=c[f+4>>2]|0;g=d+8|0;b=c[g>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(d>>>0<b>>>0)Jc(4512);else{d=d-b|0;d=f>>>0<d>>>0?f:d;kd(a+b|0,e|0,d|0)|0;c[g>>2]=d+b;i=h;return 0}return 0}function Jb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=c[a>>2];c[f>>2]=g;c[f+4>>2]=2120;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function Kb(a,b){a=a|0;b=b|0;var d=0;d=i;Ca(c[c[a>>2]>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=d;return 0}function Lb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=a;c[f>>2]=g;c[f+4>>2]=2560;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function Mb(a,b){a=a|0;b=b|0;var d=0;d=i;Ca(c[c[c[a>>2]>>2]>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=d;return 0}function Nb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=c[a>>2];c[f>>2]=g;c[f+4>>2]=2560;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function Ob(a){a=a|0;var b=0;b=i;a=c[a>>2]|0;if(a)ed(a);i=b;return}function Pb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;j=k+8|0;h=k;d=c[b>>2]|0;if(!d){i=k;return}if(a[d+32>>0]|0){e=d+16|0;if((c[d>>2]|0)==1?(f=d+28|0,g=c[f>>2]|0,(g|0)!=0):0){if((c[d+20>>2]|0)>>>0<g>>>0)Jc(4488);b=h;c[b>>2]=c[d+16>>2];c[b+4>>2]=g;qb(j,d+4|0,h);c[f>>2]=0;b=c[j+16>>2]|0;if(!((c[j+8>>2]|0)==0|(b|0)==0|(c[j+24>>2]|0)==0))ed(b)}zc(d);if(c[d+24>>2]|0)ed(c[e>>2]|0)}ed(d);i=k;return}function Qb(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;r=i;i=i+176|0;n=r+136|0;l=r+104|0;m=r+96|0;o=r+64|0;p=r+32|0;f=r;k=e;j=c[k>>2]|0;k=c[k+4>>2]|0;g=j;e=g+k|0;a:do if(k){h=e;e=e-j|0;while(1){h=h+-1|0;if((a[h>>0]|0)==10)break;if((h|0)==(g|0)){q=5;break a}else e=e+-1|0}if(k>>>0<e>>>0)Jc(4488);h=m;c[h>>2]=j;c[h+4>>2]=e;yc(l,d,m);if(c[l+8>>2]|0){c[o+0>>2]=c[l+0>>2];c[o+4>>2]=c[l+4>>2];c[o+8>>2]=c[l+8>>2];c[o+12>>2]=c[l+12>>2];c[o+16>>2]=c[l+16>>2];c[o+20>>2]=c[l+20>>2];c[o+24>>2]=c[l+24>>2];f=o;break}xc(l,d);if(c[l+8>>2]|0){c[p+0>>2]=c[l+0>>2];c[p+4>>2]=c[l+4>>2];c[p+8>>2]=c[l+8>>2];c[p+12>>2]=c[l+12>>2];c[p+16>>2]=c[l+16>>2];c[p+20>>2]=c[l+20>>2];c[p+24>>2]=c[l+24>>2];f=p;break}j=m;c[j>>2]=g+e;c[j+4>>2]=k-e;yc(l,d,m);if(!(c[l+8>>2]|0)){c[n+0>>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;f=n;break}else{c[f+0>>2]=c[l+0>>2];c[f+4>>2]=c[l+4>>2];c[f+8>>2]=c[l+8>>2];c[f+12>>2]=c[l+12>>2];c[f+16>>2]=c[l+16>>2];c[f+20>>2]=c[l+20>>2];c[f+24>>2]=c[l+24>>2];break}}else q=5;while(0);if((q|0)==5){f=l;c[f>>2]=j;c[f+4>>2]=k;yc(n,d,l);f=n};c[b+0>>2]=c[f+0>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];c[b+16>>2]=c[f+16>>2];c[b+20>>2]=c[f+20>>2];c[b+24>>2]=c[f+24>>2];i=r;return}function Rb(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;h=d;g=c[h+4>>2]|0;d=f;c[d>>2]=c[h>>2];c[d+4>>2]=g;Qb(a,b,f);i=e;return}function Sb(a,b){a=a|0;b=b|0;var c=0;c=i;xc(a,b);i=c;return}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+64|0;e=f+32|0;h=f+24|0;g=f;c[e>>2]=b;b=e+4|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[h>>2]=e;c[h+4>>2]=3312;c[g+0>>2]=c[d+0>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];if((Xc(h,g)|0)<<24>>24){c[a+0>>2]=c[b+0>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;i=f;return};c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;if(!(c[e+12>>2]|0)){i=f;return}b=c[e+20>>2]|0;if(!b){i=f;return}if(!(c[e+28>>2]|0)){i=f;return}ed(b);i=f;return}function Ub(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;h=d;g=c[h+4>>2]|0;d=f;c[d>>2]=c[h>>2];c[d+4>>2]=g;Qb(a,b,f);i=e;return}function Vb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+48|0;f=g+32|0;e=g;j=d;h=c[j+4>>2]|0;d=f;c[d>>2]=c[j>>2];c[d+4>>2]=h;Qb(e,b,f);if(!(c[e+8>>2]|0)){h=1880;e=c[h+4>>2]|0;d=f;c[d>>2]=c[h>>2];c[d+4>>2]=e;Qb(a,b,f);i=g;return}else{c[a+0>>2]=c[e+0>>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];c[a+24>>2]=c[e+24>>2];c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;i=g;return}}function Wb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+8|0;h=j;c[f>>2]=0;g=f;do if(e>>>0>=128){if(e>>>0<2048){a[f>>0]=e>>>6&31|-64;a[f+1>>0]=e&63|-128;e=0;f=2;break}if(e>>>0<65536){a[f>>0]=e>>>12&15|-32;a[f+1>>0]=e>>>6&63|-128;a[f+2>>0]=e&63|-128;e=0;f=3;break}else{a[f>>0]=e>>>18&7|-16;a[f+1>>0]=e>>>12&63|-128;a[f+2>>0]=e>>>6&63|-128;a[f+3>>0]=e&63|-128;e=0;f=4;break}}else{a[f>>0]=e;e=0;f=1}while(0);k=h;c[k>>2]=e|g;c[k+4>>2]=f;Qb(b,d,h);i=j;return}function Xb(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;f=i;i=i+80|0;e=f+40|0;h=f+32|0;g=f+8|0;m=f+72|0;j=f;c[m>>2]=d;k=1144;l=c[k>>2]|0;k=c[k+4>>2]|0;c[j+4>>2]=20;c[j>>2]=m;c[e>>2]=b;b=e+4|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[h>>2]=e;c[h+4>>2]=3312;d=g;c[d>>2]=l;c[d+4>>2]=k;d=g+8|0;c[d>>2]=0;c[d+4>>2]=0;c[g+16>>2]=j;c[g+20>>2]=1;if((Xc(h,g)|0)<<24>>24){c[a+0>>2]=c[b+0>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;i=f;return};c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;if(!(c[e+12>>2]|0)){i=f;return}b=c[e+20>>2]|0;if(!b){i=f;return}if(!(c[e+28>>2]|0)){i=f;return}ed(b);i=f;return}function Yb(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;f=i;i=i+80|0;e=f+40|0;h=f+32|0;g=f+8|0;m=f+72|0;j=f;c[m>>2]=d;k=1144;l=c[k>>2]|0;k=c[k+4>>2]|0;c[j+4>>2]=30;c[j>>2]=m;c[e>>2]=b;b=e+4|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[h>>2]=e;c[h+4>>2]=3312;d=g;c[d>>2]=l;c[d+4>>2]=k;d=g+8|0;c[d>>2]=0;c[d+4>>2]=0;c[g+16>>2]=j;c[g+20>>2]=1;if((Xc(h,g)|0)<<24>>24){c[a+0>>2]=c[b+0>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;i=f;return};c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;if(!(c[e+12>>2]|0)){i=f;return}b=c[e+20>>2]|0;if(!b){i=f;return}if(!(c[e+28>>2]|0)){i=f;return}ed(b);i=f;return}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=d;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=d;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function $b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=md(d|0)|0;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=md(d|0)|0;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;e=na(d|0,e|0)|0;d=h;c[d>>2]=e;c[d+4>>2]=B;c[g>>2]=h;c[g+4>>2]=8;Qb(a,b,g);i=f;return}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=md(d|0)|0;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function dc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=f+8|0;b[h>>1]=ld(e|0)|0;c[g>>2]=h;c[g+4>>2]=2;Qb(a,d,g);i=f;return}function ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;e=na(d|0,e|0)|0;d=h;c[d>>2]=e;c[d+4>>2]=B;c[g>>2]=h;c[g+4>>2]=8;Qb(a,b,g);i=f;return}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=md(d|0)|0;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function gc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=f+8|0;b[h>>1]=ld(e|0)|0;c[g>>2]=h;c[g+4>>2]=2;Qb(a,d,g);i=f;return}function hc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,l=0;e=i;i=i+16|0;f=e+8|0;g=e;h[k>>3]=d;l=na(c[k>>2]|0,c[k+4>>2]|0)|0;j=g;c[j>>2]=l;c[j+4>>2]=B;c[f>>2]=g;c[f+4>>2]=8;Qb(a,b,f);i=e;return}function ic(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;e=i;i=i+16|0;f=e;h=e+8|0;c[h>>2]=md((g[k>>2]=d,c[k>>2]|0)|0)|0;c[f>>2]=h;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function jc(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=h;c[j>>2]=d;c[j+4>>2]=e;c[g>>2]=h;c[g+4>>2]=8;Qb(a,b,g);i=f;return}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=d;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function lc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=f+8|0;b[h>>1]=e;c[g>>2]=h;c[g+4>>2]=2;Qb(a,d,g);i=f;return}function mc(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=h;c[j>>2]=d;c[j+4>>2]=e;c[g>>2]=h;c[g+4>>2]=8;Qb(a,b,g);i=f;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+8|0;c[g>>2]=d;c[f>>2]=g;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function oc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=f+8|0;b[h>>1]=e;c[g>>2]=h;c[g+4>>2]=2;Qb(a,d,g);i=f;return}function pc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;h[g>>3]=d;c[f>>2]=g;c[f+4>>2]=8;Qb(a,b,f);i=e;return}function qc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,h=0;e=i;i=i+16|0;f=e;h=e+8|0;g[h>>2]=d;c[f>>2]=h;c[f+4>>2]=4;Qb(a,b,f);i=e;return}function rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+8|0;g=f;a[h>>0]=e;c[g>>2]=h;c[g+4>>2]=1;Qb(b,d,g);i=f;return}function sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+8|0;g=f;a[h>>0]=e;c[g>>2]=h;c[g+4>>2]=1;Qb(b,d,g);i=f;return}function tc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+64|0;d=g+32|0;f=g;h=c[a>>2]|0;k=b;j=c[k+4>>2]|0;b=f;c[b>>2]=c[k>>2];c[b+4>>2]=j;Qb(d,h,f);if(!(c[d+8>>2]|0)){b=0;i=g;return b|0};c[f+0>>2]=c[d+0>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[f+16>>2]=c[d+16>>2];c[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;b=a+4|0;if(((c[a+12>>2]|0)!=0?(e=c[a+20>>2]|0,(e|0)!=0):0)?(c[a+28>>2]|0)!=0:0)ed(e);c[b+0>>2]=c[f+0>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];c[b+16>>2]=c[f+16>>2];c[b+20>>2]=c[f+20>>2];c[b+24>>2]=c[f+24>>2];c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;b=1;i=g;return b|0}function uc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=a;c[f>>2]=g;c[f+4>>2]=3336;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function vc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+64|0;e=h+32|0;g=h;d=c[a>>2]|0;k=b;j=c[k+4>>2]|0;a=c[d>>2]|0;b=g;c[b>>2]=c[k>>2];c[b+4>>2]=j;Qb(e,a,g);if(!(c[e+8>>2]|0)){a=0;i=h;return a|0};c[g+0>>2]=c[e+0>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a=d+4|0;if(((c[d+12>>2]|0)!=0?(f=c[d+20>>2]|0,(f|0)!=0):0)?(c[d+28>>2]|0)!=0:0)ed(f);c[a+0>>2]=c[g+0>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];c[a+16>>2]=c[g+16>>2];c[a+20>>2]=c[g+20>>2];c[a+24>>2]=c[g+24>>2];c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;a=1;i=h;return a|0}function wc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=c[a>>2];c[f>>2]=g;c[f+4>>2]=3336;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function xc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+64|0;h=j+8|0;f=j;g=j+40|0;e=b+28|0;d=c[e>>2]|0;if(!d){c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;if((c[b>>2]|0)!=1)Jc(4416)}else{if((c[b>>2]|0)!=1)Jc(4416);if((c[b+20>>2]|0)>>>0<d>>>0)Jc(4488);k=f;c[k>>2]=c[b+16>>2];c[k+4>>2]=d;qb(h,b+4|0,f);c[e>>2]=0;b=h;e=c[b>>2]|0;b=c[b+4>>2]|0;d=c[h+8>>2]|0;f=h+12|0;c[g+0>>2]=c[f+0>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if(d){f=a;c[f>>2]=e;c[f+4>>2]=b;c[a+8>>2]=d;d=a+12|0;c[d+0>>2]=c[g+0>>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[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=j;return}};c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;i=j;return}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,q=0;q=i;i=i+48|0;p=q+8|0;e=q;o=b+28|0;n=d;m=c[n>>2]|0;n=c[n+4>>2]|0;d=c[o>>2]|0;l=c[b+20>>2]|0;if((n+d|0)>>>0>l>>>0)if(d){if((c[b>>2]|0)!=1)Jc(4416);if(l>>>0<d>>>0)Jc(4488);j=e;c[j>>2]=c[b+16>>2];c[j+4>>2]=d;qb(p,b+4|0,e);c[o>>2]=0;j=p;k=c[j+4>>2]|0;h=c[p+8>>2]|0;e=c[p+12>>2]|0;d=c[p+16>>2]|0;f=c[p+20>>2]|0;g=c[p+24>>2]|0;if(h){n=a;c[n>>2]=c[j>>2];c[n+4>>2]=k;c[a+8>>2]=h;c[a+12>>2]=e;c[a+16>>2]=d;c[a+20>>2]=f;c[a+24>>2]=g;i=q;return}else d=0}else d=0;if(n>>>0>l>>>0){if((c[b>>2]|0)!=1)Jc(4416);l=p;c[l>>2]=m;c[l+4>>2]=n;qb(a,b+4|0,p);i=q;return}if(l>>>0<d>>>0)Jc(4512);if((l-d|0)>>>0<n>>>0)Jc(4536);kd((c[b+16>>2]|0)+d|0,m|0,n|0)|0;c[o>>2]=d+n;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;i=q;return}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+64|0;h=j+40|0;e=j+16|0;f=j;if((c[b>>2]|0)!=1){i=j;return}g=b+8|0;d=(a[g+5>>0]|0)==0;if((c[b+4>>2]|0)==1){if(d){i=j;return}if(!(a[b+12>>0]|0)){i=j;return}b=c[g>>2]|0;if((b|0)<=2){i=j;return}b=ya(b|0)|0;c[h>>2]=b;if(!b){i=j;return}d=1640;k=c[d>>2]|0;d=c[d+4>>2]|0;c[f+4>>2]=33;c[f>>2]=h;c[f+12>>2]=33;c[f+8>>2]=g;b=e;c[b>>2]=k;c[b+4>>2]=d;b=e+8|0;c[b>>2]=0;c[b+4>>2]=0;c[e+16>>2]=f;c[e+20>>2]=2;rb(e);i=j;return}else{if(d){i=j;return}if(!(a[b+12>>0]|0)){i=j;return}b=c[g>>2]|0;if((b|0)<=2){i=j;return}b=ya(b|0)|0;c[e>>2]=b;if(!b){i=j;return}d=1640;k=c[d>>2]|0;d=c[d+4>>2]|0;c[f+4>>2]=33;c[f>>2]=e;c[f+12>>2]=33;c[f+8>>2]=g;b=h;c[b>>2]=k;c[b+4>>2]=d;b=h+8|0;c[b>>2]=0;c[b+4>>2]=0;c[h+16>>2]=f;c[h+20>>2]=2;rb(h);i=j;return}}function Ac(a){a=a|0;var b=0;b=a;c[b>>2]=0;c[b+4>>2]=0;c[a+8>>2]=0;return}function Bc(a){a=a|0;var b=0;b=a;c[b>>2]=0;c[b+4>>2]=0;c[a+8>>2]=0;return}function Cc(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;g=c[a+4>>2]|0;f=e;c[f>>2]=c[a>>2];c[f+4>>2]=g;a=Mc(e,b)|0;i=d;return a|0}function Dc(a){a=a|0;a=i;B=2049436277;i=a;return 2026980809}function Ec(a){a=a|0;var b=0;b=i;a=c[a>>2]|0;if(!a){i=b;return}if(c[a+8>>2]|0)ed(c[a>>2]|0);ed(a);i=b;return}function Fc(a){a=a|0;a=i;B=1736150032;i=a;return -1594598322}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;h=o+16|0;j=o+8|0;k=o;l=c[b>>2]|0;m=d;e=c[m>>2]|0;m=c[m+4>>2]|0;b=l+8|0;n=l+4|0;f=c[b>>2]|0;g=c[n>>2]|0;do if((f-g|0)>>>0<m>>>0){d=g+m|0;r=2584;q=c[r+4>>2]|0;g=1<<(0-($(d+-1|0)|0)&31);p=k;c[p>>2]=c[r>>2];c[p+4>>2]=q;if(g>>>0<d>>>0){d=4560;p=c[d>>2]|0;d=c[d+4>>2]|0;c[j+4>>2]=18;c[j>>2]=k;k=h;c[k>>2]=p;c[k+4>>2]=d;k=h+8|0;c[k>>2]=0;c[k+4>>2]=0;c[h+16>>2]=j;c[h+20>>2]=1;Kc(h,4400)}if(f>>>0<g>>>0){d=Bb(c[l>>2]|0,f,g)|0;if(!d)Ic();else{c[l>>2]=d;c[b>>2]=g;break}}}while(0);if(!m){i=o;return 0}g=c[n>>2]|0;f=c[l>>2]|0;d=g;b=0;while(1){a[f+d>>0]=a[e+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else d=d+1|0}c[n>>2]=g+m;i=o;return 0}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;f=d+24|0;e=d;c[g>>2]=c[a>>2];c[f>>2]=g;c[f+4>>2]=1272;c[e+0>>2]=c[b+0>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];a=Xc(f,e)|0;i=d;return a|0}function Ic(){Ka()}function Jc(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+64|0;h=b+48|0;d=b+24|0;e=b+16|0;j=a;g=c[j+4>>2]|0;f=h;c[f>>2]=c[j>>2];c[f+4>>2]=g;f=a+8|0;g=c[f>>2]|0;f=c[f+4>>2]|0;a=c[a+16>>2]|0;j=4560;k=c[j>>2]|0;j=c[j+4>>2]|0;c[e+4>>2]=34;c[e>>2]=h;h=d;c[h>>2]=k;c[h+4>>2]=j;h=d+8|0;c[h>>2]=0;c[h+4>>2]=0;c[d+16>>2]=e;c[d+20>>2]=1;e=b;c[e>>2]=g;c[e+4>>2]=f;c[b+8>>2]=a;Kc(d,b)}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;e=d+16|0;f=b;g=c[f>>2]|0;f=c[f+4>>2]|0;b=c[b+8>>2]|0;c[e+0>>2]=c[a+0>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[e+16>>2]=c[a+16>>2];c[e+20>>2]=c[a+20>>2];a=d;c[a>>2]=g;c[a+4>>2]=f;c[d+8>>2]=b;nb(e,d)}function Lc(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;p=i;i=i+128|0;n=p+40|0;h=p+16|0;k=p+112|0;j=p;l=p+48|0;b=c[b>>2]|0;e=l+0|0;f=e+64|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0));e=b;g=l+64|0;b=64;while(1){if((g|0)==(l|0)){m=b;break}g=g+-1|0;f=((e>>>0)%10|0)&255;if((f&255)>=10){o=4;break}a[g>>0]=f|48;b=b+-1|0;if(e>>>0<10){m=b;break}else e=(e>>>0)/10|0}if((o|0)==4){a[n>>0]=f;g=4568;f=c[g>>2]|0;g=c[g+4>>2]|0;a[k>>0]=9;c[j+4>>2]=35;c[j>>2]=k;c[j+12>>2]=35;c[j+8>>2]=n;k=h;c[k>>2]=f;c[k+4>>2]=g;k=h+8|0;c[k>>2]=0;c[k+4>>2]=0;c[h+16>>2]=j;c[h+20>>2]=2;Kc(h,4576)}if(m>>>0>64)Jc(4464);else{g=4592;j=c[g+4>>2]|0;k=n;c[k>>2]=c[g>>2];c[k+4>>2]=j;k=h;c[k>>2]=l+m;c[k+4>>2]=64-m;m=Uc(d,1,n,h)|0;i=p;return m|0}return 0}function Mc(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;A=i;i=i+48|0;v=A+40|0;w=A+32|0;x=A+8|0;y=A+40|0;s=A;u=4600;t=c[u>>2]|0;u=c[u+4>>2]|0;r=d+28|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=w;c[p>>2]=q;c[p+4>>2]=r;p=x;c[p>>2]=t;c[p+4>>2]=u;p=x+8|0;c[p>>2]=0;c[p+4>>2]=0;c[x+16>>2]=v;c[x+20>>2]=0;if((Xc(w,x)|0)<<24>>24){y=1;i=A;return y|0}n=b;d=c[n>>2]|0;n=d+(c[n+4>>2]|0)|0;o=s+4|0;l=x+8|0;m=x+20|0;p=x+16|0;e=0;f=0;g=0;h=0;b=0;a:while(1){b:do if(h){c:do if((f|0)==2)break b;else if((f|0)==1){b=0;h=g;e=0;f=2;g=0}else if(!f){h=92;f=1}else switch(b|0){case 4:{b=5;h=125;e=0;break c}case 2:{e=0;while(1){b=e+1|0;if(!(g>>>(b<<2))){b=3;h=123;break}else e=b}break}case 3:{h=g>>>(e<<2)&15;j=(e|0)==0;b=j?4:3;h=h>>>0<10?h|48:h+87|0;e=j?0:e+-1|0;break c}case 1:{b=2;h=117;e=0;break c}case 0:{b=1;h=92;e=0;break c}default:break b}while(0);c[y>>2]=h;j=4560;k=c[j>>2]|0;j=c[j+4>>2]|0;c[o>>2]=36;c[s>>2]=y;h=w;c[h>>2]=q;c[h+4>>2]=r;h=x;c[h>>2]=k;c[h+4>>2]=j;h=l;c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=s;c[m>>2]=1;if(!((Xc(w,x)|0)<<24>>24)){h=1;continue a}else{d=1;z=3;break a}}while(0);b=d;if((b|0)==(n|0))break;e=b+1|0;d=e;j=a[b>>0]|0;if(j<<24>>24<0){k=j&31;if((e|0)==(n|0)){g=n;b=0}else{g=b+2|0;d=g;b=a[e>>0]&63}h=b&255;b=h|k<<6;if((j&255)>223){if((g|0)==(n|0)){f=n;b=0}else{f=g+1|0;d=f;b=a[g>>0]&63}h=b&255|h<<6;b=h|k<<12;if((j&255)>239){if((f|0)==(n|0))b=0;else{d=f+1|0;b=a[f>>0]&63}b=h<<6|k<<18&1835008|b&255}}}else b=j&255;switch(b|0){case 13:{e=0;f=0;g=114;h=1;b=0;continue a}case 9:{e=0;f=0;g=116;h=1;b=0;continue a}case 10:{e=0;f=0;g=110;h=1;b=0;continue a}case 92:{e=0;f=0;g=b;h=1;b=0;continue a}case 39:{e=0;f=0;g=b;h=1;b=0;continue a}case 34:{e=0;f=0;g=b;h=1;b=0;continue a}default:{e=0;f=(b+-32|0)>>>0<95?1:3;g=b;h=1;b=0;continue a}}}if((z|0)==3){i=A;return d|0}y=w;c[y>>2]=q;c[y+4>>2]=r;y=x;c[y>>2]=t;c[y+4>>2]=u;y=x+8|0;c[y>>2]=0;c[y+4>>2]=0;c[x+16>>2]=v;c[x+20>>2]=0;y=Xc(w,x)|0;i=A;return y|0}function Nc(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;l=i;do if(d>>>0<128){g=e;h=c[g>>2]|0;g=c[g+4>>2]|0;f=h;if(g>>>0>0|(g|0)==0&h>>>0>4294967295){if(!(c[e+4>>2]|0))Oc(4608,0,0);a[f>>0]=d;f=b;c[f>>2]=1;c[f+4>>2]=1;i=l;return}else{j=f;h=8}}else{if(d>>>0<2048){j=e;g=c[j+4>>2]|0;j=c[j>>2]|0;h=8;break}k=e;f=c[k+4>>2]|0;k=c[k>>2]|0;if(d>>>0<65536){if(f>>>0<=2)break;f=e+4|0;if(!(c[f>>2]|0))Oc(4656,0,0);a[k>>0]=d>>>12&15|-32;g=c[f>>2]|0;if(g>>>0<2)Oc(4672,1,g);f=c[e>>2]|0;a[f+1>>0]=d>>>6&63|-128;if(g>>>0<3)Oc(4688,2,g);a[f+2>>0]=d&63|-128;f=b;c[f>>2]=1;c[f+4>>2]=3;i=l;return}if(f>>>0>3){g=e+4|0;if(!(c[g>>2]|0))Oc(4704,0,0);a[k>>0]=d>>>18&7|-16;g=c[g>>2]|0;if(g>>>0<2)Oc(4720,1,g);f=c[e>>2]|0;a[f+1>>0]=d>>>12&63|-128;if(g>>>0<3)Oc(4736,2,g);a[f+2>>0]=d>>>6&63|-128;if(g>>>0<4)Oc(4752,3,g);a[f+3>>0]=d&63|-128;f=b;c[f>>2]=1;c[f+4>>2]=4;i=l;return}}while(0);if((h|0)==8?g>>>0>1:0){f=e+4|0;if(!(c[f>>2]|0))Oc(4624,0,0);a[j>>0]=d>>>6&31|-64;f=c[f>>2]|0;if(f>>>0<2)Oc(4640,1,f);a[(c[e>>2]|0)+1>>0]=d&63|-128;f=b;c[f>>2]=1;c[f+4>>2]=2;i=l;return}f=b;c[f>>2]=0;c[f+4>>2]=0;i=l;return}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+48|0;h=f+44|0;j=f+40|0;e=f+16|0;c[h>>2]=b;c[j>>2]=d;d=4768;g=c[d>>2]|0;d=c[d+4>>2]|0;c[f+4>>2]=30;c[f>>2]=j;c[f+12>>2]=30;c[f+8>>2]=h;b=e;c[b>>2]=g;c[b+4>>2]=d;b=e+8|0;c[b>>2]=0;c[b+4>>2]=0;c[e+16>>2]=f;c[e+20>>2]=2;Kc(e,a)}function Pc(a,b){a=a|0;b=b|0;var c=0;c=i;a=Lc(a,b)|0;i=c;return a|0}function Qc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+64|0;d=g+48|0;e=g+24|0;f=g;if(!(c[a>>2]|0)){h=4784;j=c[h>>2]|0;h=c[h+4>>2]|0;c[f+4>>2]=29;c[f>>2]=a+4;k=b+28|0;b=c[k+4>>2]|0;a=d;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=e;c[a>>2]=j;c[a+4>>2]=h;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=f;c[e+20>>2]=1;a=Xc(d,e)|0;i=g;return a|0}else{h=4776;j=c[h>>2]|0;h=c[h+4>>2]|0;k=b+28|0;b=c[k+4>>2]|0;a=e;c[a>>2]=c[k>>2];c[a+4>>2]=b;a=f;c[a>>2]=j;c[a+4>>2]=h;a=f+8|0;c[a>>2]=0;c[a+4>>2]=0;c[f+16>>2]=d;c[f+20>>2]=0;a=Xc(e,f)|0;i=g;return a|0}return 0}function Rc(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;q=i;m=e;o=c[m>>2]|0;m=c[m+4>>2]|0;e=o;n=e+m|0;a:do if(m){b:while(1){f=e+1|0;if(!e)break a;l=a[e>>0]|0;do if(l<<24>>24<0){if((f|0)==(n|0)){f=1;e=0;break b}j=e+2|0;g=d[4792+(l&255)>>0]|0;k=a[f>>0]|0;if((g|0)==4){if((j|0)==(n|0)){f=1;e=0;break b}g=e+3|0;if((g|0)==(n|0)){f=1;e=0;break b}h=e+4|0;f=a[j>>0]&-64;g=a[g>>0]&-64;if(l<<24>>24==-16)if((k+112<<24>>24&255)<48&f<<24>>24==-128&g<<24>>24==-128){e=h;break}else{p=23;break b}if((l+15<<24>>24&255)<3)if(k<<24>>24<0&(k&255)<192&f<<24>>24==-128&g<<24>>24==-128){e=h;break}else{p=23;break b}if(l<<24>>24!=-12){p=23;break b}if(k<<24>>24<0&(k&255)<144&f<<24>>24==-128&g<<24>>24==-128){e=h;break}else{p=23;break b}}else if((g|0)==2)if((k&-64)<<24>>24==-128){e=j;break}else{p=13;break b}else if((g|0)==3){if((j|0)==(n|0)){f=1;e=0;break b}g=e+3|0;f=a[j>>0]&-64;if(l<<24>>24==-32)if((k&-32)<<24>>24==-96&f<<24>>24==-128){e=g;break}else{p=14;break b}if((l+31<<24>>24&255)<12){if(k<<24>>24<0&(k&255)<192&f<<24>>24==-128){e=g;break}}else if(l<<24>>24==-19)if(k<<24>>24<0&(k&255)<160&f<<24>>24==-128){e=g;break}else{p=14;break b}if((l&-2)<<24>>24!=-18){p=14;break b}if(k<<24>>24<0&(k&255)<192&f<<24>>24==-128){e=g;break}else{p=14;break b}}else{p=6;break b}}else e=f;while(0);if((e|0)==(n|0))break a}if((p|0)==6){f=0;e=e-o|0}else if((p|0)==13){f=0;e=e-o|0}else if((p|0)==14){f=0;e=e-o|0}else if((p|0)==23){f=0;e=e-o|0}o=b+4|0;c[o>>2]=f;c[o+4>>2]=e;c[b>>2]=1;i=q;return}while(0);n=b+4|0;c[n>>2]=o;c[n+4>>2]=m;c[b>>2]=0;i=q;return}function Sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+64|0;g=f+52|0;h=f+48|0;e=f+24|0;c[g>>2]=b;c[h>>2]=d;if(b>>>0>d>>>0)Jc(5048);else{b=5072;d=c[b>>2]|0;b=c[b+4>>2]|0;c[f+4>>2]=30;c[f>>2]=g;c[f+12>>2]=30;c[f+8>>2]=h;c[f+20>>2]=34;c[f+16>>2]=a;a=e;c[a>>2]=d;c[a+4>>2]=b;a=e+8|0;c[a>>2]=0;c[a+4>>2]=0;c[e+16>>2]=f;c[e+20>>2]=3;Kc(e,5080)}}function Tc(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;p=i;i=i+128|0;o=p+40|0;j=p+16|0;l=p+112|0;k=p;m=p+48|0;f=c[b>>2]|0;b=m+0|0;e=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));h=(f|0)>-1;e=m+64|0;a:do if(h){b=e;e=64;while(1){if((b|0)==(m|0)){n=e;break a}b=b+-1|0;g=(f|0)%10|0;q=g>>>0<256;g=q?g&255:0;if(!q){e=4;break}if((g&255)>=10){e=6;break}a[b>>0]=g+48<<24>>24;e=e+-1|0;if((f+9|0)>>>0<19){n=e;break a}else f=(f|0)/10|0}if((e|0)==4)Jc(4416);else if((e|0)==6){a[o>>0]=g;g=4568;f=c[g>>2]|0;g=c[g+4>>2]|0;a[l>>0]=9;c[k+4>>2]=35;c[k>>2]=l;c[k+12>>2]=35;c[k+8>>2]=o;l=j;c[l>>2]=f;c[l+4>>2]=g;l=j+8|0;c[l>>2]=0;c[l+4>>2]=0;c[j+16>>2]=k;c[j+20>>2]=2;Kc(j,4576)}}else{b=64;while(1){if((e|0)==(m|0)){n=b;break a}e=e+-1|0;g=0-((f|0)%10|0)|0;q=g>>>0<256;g=q?g&255:0;if(!q){e=10;break}if((g&255)>=10){e=12;break}a[e>>0]=g+48<<24>>24;b=b+-1|0;if((f+9|0)>>>0<19){n=b;break a}else f=(f|0)/10|0}if((e|0)==10)Jc(4416);else if((e|0)==12){a[o>>0]=g;g=4568;f=c[g>>2]|0;g=c[g+4>>2]|0;a[l>>0]=9;c[k+4>>2]=35;c[k>>2]=l;c[k+12>>2]=35;c[k+8>>2]=o;l=j;c[l>>2]=f;c[l+4>>2]=g;l=j+8|0;c[l>>2]=0;c[l+4>>2]=0;c[j+16>>2]=k;c[j+20>>2]=2;Kc(j,4576)}}while(0);if(n>>>0>64)Jc(4464);else{g=4592;k=c[g+4>>2]|0;l=o;c[l>>2]=c[g>>2];c[l+4>>2]=k;l=j;c[l>>2]=m+n;c[l+4>>2]=64-n;m=Uc(d,h,o,j)|0;i=p;return m|0}return 0}function Uc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+64|0;H=I+48|0;g=I+60|0;x=I+40|0;j=I+56|0;u=I+32|0;q=I+24|0;p=I+16|0;o=I+8|0;v=I;G=f;F=c[G>>2]|0;G=c[G+4>>2]|0;n=c[b>>2]|0;if(d){k=n&1;w=k;A=(k|0)==0?0:43;k=k+G|0}else{w=1;A=45;k=G+1|0}if(!(n&4))y=0;else{m=e;y=c[m+4>>2]|0;m=c[m>>2]|0;h=m+y|0;if(!y)m=0;else{f=0;do{d=m+1|0;l=a[m>>0]|0;if(!((d|0)==(h|0)|l<<24>>24>-1)){d=m+2|0;if((d|0)==(h|0)|(l&255)<224)m=d;else{y=m+3|0;m=(y|0)==(h|0)|(l&255)<240?y:m+4|0}}else m=d;f=f+1|0}while((m|0)!=(h|0));m=f}y=1;k=m+k|0}if(!(c[b+12>>2]|0)){if((w|0)==1){c[g>>2]=0;c[H>>2]=g;c[H+4>>2]=4;Nc(o,A,H);if((c[o>>2]|0)==1){h=c[o+4>>2]|0;if(h>>>0>4)Jc(4488);else r=h}else r=0;h=b+28|0;A=c[h>>2]|0;z=c[(c[b+32>>2]|0)+12>>2]|0;x=H;c[x>>2]=g;c[x+4>>2]=r;if((Sa[z&63](A,H)|0)<<24>>24){A=1;i=I;return A|0}}else h=b+28|0;if(y<<24>>24){A=c[h>>2]|0;g=b+32|0;z=c[(c[g>>2]|0)+12>>2]|0;w=e;x=c[w+4>>2]|0;y=H;c[y>>2]=c[w>>2];c[y+4>>2]=x;if((Sa[z&63](A,H)|0)<<24>>24){A=1;i=I;return A|0}}else g=b+32|0;A=c[h>>2]|0;z=c[(c[g>>2]|0)+12>>2]|0;y=H;c[y>>2]=F;c[y+4>>2]=G;A=Sa[z&63](A,H)|0;i=I;return A|0}m=c[b+16>>2]|0;if(m>>>0<=k>>>0){if((w|0)==1){c[g>>2]=0;c[H>>2]=g;c[H+4>>2]=4;Nc(p,A,H);if((c[p>>2]|0)==1){h=c[p+4>>2]|0;if(h>>>0>4)Jc(4488);else s=h}else s=0;h=b+28|0;A=c[h>>2]|0;z=c[(c[b+32>>2]|0)+12>>2]|0;x=H;c[x>>2]=g;c[x+4>>2]=s;if((Sa[z&63](A,H)|0)<<24>>24){A=1;i=I;return A|0}}else h=b+28|0;if(y<<24>>24){A=c[h>>2]|0;g=b+32|0;z=c[(c[g>>2]|0)+12>>2]|0;w=e;x=c[w+4>>2]|0;y=H;c[y>>2]=c[w>>2];c[y+4>>2]=x;if((Sa[z&63](A,H)|0)<<24>>24){A=1;i=I;return A|0}}else g=b+32|0;A=c[h>>2]|0;z=c[(c[g>>2]|0)+12>>2]|0;y=H;c[y>>2]=F;c[y+4>>2]=G;A=Sa[z&63](A,H)|0;i=I;return A|0}if(!(n&8)){f=m-k|0;d=a[b+8>>0]|0;d=d<<24>>24==3?1:d;if(!(d<<24>>24)){k=0;m=f}else if(d<<24>>24==3|d<<24>>24==1){k=f;m=0}else{k=f>>>1;m=(f+1|0)>>>1}c[j>>2]=0;v=c[b+4>>2]|0;c[H>>2]=j;c[H+4>>2]=4;Nc(u,v,H);if((c[u>>2]|0)==1){f=c[u+4>>2]|0;if(f>>>0>4)Jc(4488);else B=f}else B=0;l=c[b+28>>2]|0;d=(c[b+32>>2]|0)+12|0;f=0;while(1){if(f>>>0>=k>>>0)break;v=c[d>>2]|0;u=H;c[u>>2]=j;c[u+4>>2]=B;if(!((Sa[v&63](l,H)|0)<<24>>24))f=f+1|0;else{D=1;E=60;break}}if((E|0)==60){i=I;return D|0}if((w|0)==1){c[g>>2]=0;c[H>>2]=g;c[H+4>>2]=4;Nc(x,A,H);if((c[x>>2]|0)==1){h=c[x+4>>2]|0;if(h>>>0>4)Jc(4488);else z=h}else z=0;A=c[d>>2]|0;x=H;c[x>>2]=g;c[x+4>>2]=z;if((Sa[A&63](l,H)|0)<<24>>24){A=1;i=I;return A|0}}if(y<<24>>24!=0?(A=c[d>>2]|0,x=e,y=c[x+4>>2]|0,z=H,c[z>>2]=c[x>>2],c[z+4>>2]=y,(Sa[A&63](l,H)|0)<<24>>24!=0):0){A=1;i=I;return A|0}A=c[d>>2]|0;z=H;c[z>>2]=F;c[z+4>>2]=G;if((Sa[A&63](l,H)|0)<<24>>24){A=1;i=I;return A|0}g=0;while(1){if(g>>>0>=m>>>0){D=0;E=60;break}A=c[d>>2]|0;z=H;c[z>>2]=j;c[z+4>>2]=B;if(!((Sa[A&63](l,H)|0)<<24>>24))g=g+1|0;else{D=1;E=60;break}}if((E|0)==60){i=I;return D|0}}else{l=b+4|0;c[l>>2]=48;if((w|0)==1){c[g>>2]=0;f=g;c[H>>2]=f;c[H+4>>2]=4;Nc(q,A,H);if((c[q>>2]|0)==1){d=c[q+4>>2]|0;if(d>>>0>4)Jc(4488);else t=d}else t=0;A=c[b+28>>2]|0;z=c[(c[b+32>>2]|0)+12>>2]|0;x=H;c[x>>2]=f;c[x+4>>2]=t;if((Sa[z&63](A,H)|0)<<24>>24){A=1;i=I;return A|0}}if(y<<24>>24!=0?(A=c[b+28>>2]|0,z=c[(c[b+32>>2]|0)+12>>2]|0,w=e,x=c[w+4>>2]|0,y=H,c[y>>2]=c[w>>2],c[y+4>>2]=x,(Sa[z&63](A,H)|0)<<24>>24!=0):0){A=1;i=I;return A|0}j=m-k|0;h=a[b+8>>0]|0;h=h<<24>>24==3?1:h;if(!(h<<24>>24))f=0;else if(h<<24>>24==3|h<<24>>24==1){f=j;j=0}else{f=j>>>1;j=(j+1|0)>>>1}c[g>>2]=0;A=c[l>>2]|0;d=g;c[H>>2]=d;c[H+4>>2]=4;Nc(v,A,H);if((c[v>>2]|0)==1){h=c[v+4>>2]|0;if(h>>>0>4)Jc(4488);else C=h}else C=0;l=c[b+28>>2]|0;k=(c[b+32>>2]|0)+12|0;h=0;while(1){if(h>>>0>=f>>>0)break;A=c[k>>2]|0;z=H;c[z>>2]=d;c[z+4>>2]=C;if(!((Sa[A&63](l,H)|0)<<24>>24))h=h+1|0;else{D=1;E=60;break}}if((E|0)==60){i=I;return D|0}A=c[k>>2]|0;z=H;c[z>>2]=F;c[z+4>>2]=G;if((Sa[A&63](l,H)|0)<<24>>24){A=1;i=I;return A|0}g=0;while(1){if(g>>>0>=j>>>0){D=0;E=60;break}A=c[k>>2]|0;z=H;c[z>>2]=d;c[z+4>>2]=C;if(!((Sa[A&63](l,H)|0)<<24>>24))g=g+1|0;else{D=1;E=60;break}}if((E|0)==60){i=I;return D|0}}return 0}function Vc(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+24|0;a=d;f=5144;g=c[f>>2]|0;f=c[f+4>>2]|0;j=b+28|0;h=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=h;b=a;c[b>>2]=g;c[b+4>>2]=f;b=a+8|0;c[b>>2]=0;c[b+4>>2]=0;c[a+16>>2]=d+32;c[a+20>>2]=0;a=Xc(e,a)|0;i=d;return a|0}function Wc(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;f=d+24|0;e=d;h=b+28|0;g=c[h+4>>2]|0;b=f;c[b>>2]=c[h>>2];c[b+4>>2]=g;c[e+0>>2]=c[a+0>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];c[e+16>>2]=c[a+16>>2];c[e+20>>2]=c[a+20>>2];a=Xc(f,e)|0;i=d;return a|0}function Xc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+64|0;G=I+8|0;F=I;c[G>>2]=0;z=G+12|0;A=G+20|0;E=G+28|0;c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;h=b;q=c[h+4>>2]|0;p=E;c[p>>2]=c[h>>2];c[p+4>>2]=q;p=G+8|0;a[p>>0]=3;q=G+4|0;c[q>>2]=32;h=d+16|0;g=c[h>>2]|0;h=c[h+4>>2]|0;C=G+44|0;c[C>>2]=g;c[C+4>>2]=h;C=g;r=G+36|0;c[r>>2]=C;s=G+40|0;h=C+(h<<3)|0;c[s>>2]=h;C=d;f=c[C>>2]|0;C=f+(c[C+4>>2]<<3)|0;b=d+8|0;a:do if(!(c[b>>2]|0)){b=G+32|0;while(1){e=g;if((e|0)==(h|0)){D=f;H=40;break a}if((f|0)==(C|0))break a;d=f;f=f+8|0;if(!g){D=f;H=40;break a}y=c[E>>2]|0;x=c[(c[b>>2]|0)+12>>2]|0;u=d;v=c[u+4>>2]|0;w=F;c[w>>2]=c[u>>2];c[w+4>>2]=v;if((Sa[x&63](y,F)|0)<<24>>24){B=1;H=9;break}if((Sa[c[e+4>>2]&63](c[e>>2]|0,G)|0)<<24>>24){B=1;H=9;break}else g=e+8|0}if((H|0)==9){i=I;return B|0}}else{k=b;j=c[k>>2]|0;k=j+((c[k+4>>2]|0)*36|0)|0;l=G+32|0;m=G+48|0;n=G+44|0;while(1){e=j;if((e|0)==(k|0)){D=f;H=40;break a}b=j;j=e+36|0;if((f|0)==(C|0))break a;g=f;f=f+8|0;if(!b){D=f;H=40;break a}d=c[E>>2]|0;b=c[(c[l>>2]|0)+12>>2]|0;J=g;h=c[J+4>>2]|0;g=F;c[g>>2]=c[J>>2];c[g+4>>2]=h;if((Sa[b&63](d,F)|0)<<24>>24){B=1;H=9;break}c[q>>2]=c[e+8>>2];a[p>>0]=a[e+12>>0]|0;c[G>>2]=c[e+16>>2];b=c[e+28>>2]|0;t=c[e+32>>2]|0;if((b|0)==1){v=c[m>>2]|0;if(v>>>0<=t>>>0){H=22;break}b=c[n>>2]|0;if((c[b+(t<<3)+4>>2]|0)==37){d=0;b=c[c[b+(t<<3)>>2]>>2]|0;g=1}else{d=0;b=0;g=0}}else if(!b){d=0;b=t;g=1}else if(((b|0)!=3?(u=c[r>>2]|0,(u|0)!=(c[s>>2]|0)):0)?(c[r>>2]=u+8,(c[u+4>>2]|0)==37):0){d=0;b=c[c[u>>2]>>2]|0;g=1}else{d=0;b=0;g=0}o=z;c[o>>2]=g;c[o+4>>2]=b|d;b=c[e+20>>2]|0;o=c[e+24>>2]|0;if((b|0)==3){h=0;b=0;g=0}else if(!b){h=0;b=o;g=1}else if((b|0)==1){w=c[m>>2]|0;if(w>>>0<=o>>>0){H=31;break}b=c[n>>2]|0;if((c[b+(o<<3)+4>>2]|0)==37){h=0;b=c[c[b+(o<<3)>>2]>>2]|0;g=1}else{h=0;b=0;g=0}}else{b=c[r>>2]|0;if((b|0)!=(c[s>>2]|0)?(c[r>>2]=b+8,(c[b+4>>2]|0)==37):0){h=0;b=c[c[b>>2]>>2]|0;g=1}else{h=0;b=0;g=0}}d=A;c[d>>2]=g;c[d+4>>2]=b|h;if(!(c[e>>2]|0)){b=c[r>>2]|0;if((b|0)==(c[s>>2]|0)){H=36;break}c[r>>2]=b+8;g=b;b=b+4|0}else{x=c[e+4>>2]|0;y=c[m>>2]|0;if(x>>>0>=y>>>0){H=38;break}b=c[n>>2]|0;g=b+(x<<3)|0;b=b+(x<<3)+4|0}if((Sa[c[b>>2]&63](c[g>>2]|0,G)|0)<<24>>24){B=1;H=9;break}}if((H|0)==9){i=I;return B|0}else if((H|0)==22)Oc(5152,t,v);else if((H|0)==31)Oc(5152,o,w);else if((H|0)==36)Jc(4416);else if((H|0)==38)Oc(5168,x,y)}while(0);if(((H|0)==40?!((D|0)==(C|0)|(D|0)==0):0)?(y=c[E>>2]|0,x=c[(c[G+32>>2]|0)+12>>2]|0,u=D,v=c[u+4>>2]|0,w=F,c[w>>2]=c[u>>2],c[w+4>>2]=v,(Sa[x&63](y,F)|0)<<24>>24!=0):0){y=1;i=I;return y|0}y=0;i=I;return y|0}function Yc(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;B=i;i=i+32|0;z=B+8|0;h=B+16|0;u=B;l=c[b+12>>2]|0;e=(c[b+20>>2]|0)==1;if((l|0)==1)if(e)y=7;else{w=d;v=c[w+4>>2]|0;w=c[w>>2]|0}else if(e)y=7;else{y=c[b+28>>2]|0;x=c[(c[b+32>>2]|0)+12>>2]|0;b=d;v=c[b+4>>2]|0;w=z;c[w>>2]=c[b>>2];c[w+4>>2]=v;y=Sa[x&63](y,z)|0;i=B;return y|0}do if((y|0)==7){e=c[b+24>>2]|0;s=d;m=c[s>>2]|0;s=c[s+4>>2]|0;t=m;p=t+s|0;d=(s|0)==0;if(d)j=0;else{f=t;j=0;while(1){g=f+1|0;k=a[f>>0]|0;if(!((g|0)==(p|0)|k<<24>>24>-1)){g=f+2|0;if(!((g|0)==(p|0)|(k&255)<224)){g=f+3|0;g=(g|0)==(p|0)|(k&255)<240?g:f+4|0}}j=j+1|0;if((g|0)==(p|0))break;else f=g}}if(j>>>0<e>>>0){if(l){v=s;w=m;break}y=c[b+28>>2]|0;x=c[(c[b+32>>2]|0)+12>>2]|0;w=z;c[w>>2]=m;c[w+4>>2]=s;y=Sa[x&63](y,z)|0;i=B;return y|0}o=e>>>0<j>>>0?e:j;q=c[b+28>>2]|0;r=c[(c[b+32>>2]|0)+12>>2]|0;a:do if(d){j=0;l=0;k=0;g=0;d=0}else{l=0;e=t;j=0;n=m;k=0;g=0;while(1){f=e+1|0;m=a[e>>0]|0;if(m<<24>>24<0){d=(f|0)==(p|0);e=e+2|0;f=d?f:e;e=d?p:e;if((m&255)>223){C=(e|0)==(p|0);d=e+1|0;f=C?f:d;e=C?e:d;d=C?p:d;if((m&255)>239){m=(d|0)==(p|0);d=d+1|0;e=m?e:d;f=m?f:d}}}else e=f;d=(g|0)==0;j=d?l:j;k=d?1:k;if((g|0)==(o|0)){g=o;d=1;break a}g=g+1|0;if((f|0)==(p|0)){l=0;d=0;break}else{l=l-n+e|0;e=f;n=f}}}while(0);f=(g|0)==0&(k|0)!=1;e=f?s:j;k=f?1:k;f=(d|0)!=1;g=(g|0)==(o|0);j=g&f?s:l;if((k|0)==1){if((d|0)==0&(g&f^1))Jc(5120);y=z;c[y>>2]=t+e;c[y+4>>2]=j-e;y=Sa[r&63](q,z)|0;i=B;return y|0}else if(!k)Jc(5096);else Jc(5120)}while(0);m=c[b+16>>2]|0;f=w;l=f+v|0;k=(v|0)==0;if(k)g=0;else{e=f;g=0;do{j=e+1|0;d=a[e>>0]|0;if(!((j|0)==(l|0)|d<<24>>24>-1)){j=e+2|0;if((j|0)==(l|0)|(d&255)<224)e=j;else{t=e+3|0;e=(t|0)==(l|0)|(d&255)<240?t:e+4|0}}else e=j;g=g+1|0}while((e|0)!=(l|0))}if(g>>>0>=m>>>0){y=c[b+28>>2]|0;x=c[(c[b+32>>2]|0)+12>>2]|0;b=z;c[b>>2]=w;c[b+4>>2]=v;y=Sa[x&63](y,z)|0;i=B;return y|0}if(k)d=0;else{d=0;do{g=f+1|0;e=a[f>>0]|0;if(!((g|0)==(l|0)|e<<24>>24>-1)){g=f+2|0;if((g|0)==(l|0)|(e&255)<224)f=g;else{t=f+3|0;f=(t|0)==(l|0)|(e&255)<240?t:f+4|0}}else f=g;d=d+1|0}while((f|0)!=(l|0))}e=m-d|0;d=a[b+8>>0]|0;d=d<<24>>24==3?0:d;if(!(d<<24>>24))j=0;else if(d<<24>>24==3|d<<24>>24==1){j=e;e=0}else{j=e>>>1;e=(e+1|0)>>>1}c[h>>2]=0;t=c[b+4>>2]|0;c[z>>2]=h;c[z+4>>2]=4;Nc(u,t,z);if((c[u>>2]|0)==1){d=c[u+4>>2]|0;if(d>>>0>4)Jc(4488);else A=d}else A=0;g=c[b+28>>2]|0;f=(c[b+32>>2]|0)+12|0;d=0;while(1){if(d>>>0>=j>>>0)break;b=c[f>>2]|0;u=z;c[u>>2]=h;c[u+4>>2]=A;if(!((Sa[b&63](g,z)|0)<<24>>24))d=d+1|0;else{x=1;y=4;break}}if((y|0)==4){i=B;return x|0}y=c[f>>2]|0;x=z;c[x>>2]=w;c[x+4>>2]=v;if((Sa[y&63](g,z)|0)<<24>>24){y=1;i=B;return y|0}d=0;while(1){if(d>>>0>=e>>>0){x=0;y=4;break}y=c[f>>2]|0;x=z;c[x>>2]=h;c[x+4>>2]=A;if(!((Sa[y&63](g,z)|0)<<24>>24))d=d+1|0;else{x=1;y=4;break}}if((y|0)==4){i=B;return x|0}return 0}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;f=h+8|0;e=h+16|0;d=h;c[e>>2]=0;a=c[a>>2]|0;c[f>>2]=e;c[f+4>>2]=4;Nc(d,a,f);if((c[d>>2]|0)==1){a=c[d+4>>2]|0;if(a>>>0>4)Jc(4488);else g=a}else g=0;a=f;c[a>>2]=e;c[a+4>>2]=g;a=Yc(b,f)|0;i=h;return a|0}function _c(a,b){a=a|0;b=b|0;var c=0;c=i;a=Lc(a,b)|0;i=c;return a|0}function $c(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+80|0;j=k+16|0;g=k+8|0;h=k;f=a[b>>0]|0;b=j+0|0;e=b+64|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));e=j+64|0;b=64;while(1){if((e|0)==(j|0))break;e=e+-1|0;a[e>>0]=(f&255)%10|0|48;b=b+-1|0;if((f&255)<10)break;else f=(f&255)/10|0}if(b>>>0>64)Jc(4464);else{l=4592;f=c[l+4>>2]|0;e=g;c[e>>2]=c[l>>2];c[e+4>>2]=f;e=h;c[e>>2]=j+b;c[e+4>>2]=64-b;b=Uc(d,1,g,h)|0;i=k;return b|0}return 0}function ad(a,b){a=a|0;b=b|0;var c=0;c=i;a=Tc(a,b)|0;i=c;return a|0}function bd(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;g=a;f=c[g+4>>2]|0;a=e;c[a>>2]=c[g>>2];c[a+4>>2]=f;a=Yc(b,e)|0;i=d;return a|0}function cd(a,b){a=a|0;b=b|0;var c=0;c=i;a=Lc(a,b)|0;i=c;return a|0}function dd(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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;do if(a>>>0<245){if(a>>>0<11)p=16;else p=a+11&-8;a=p>>>3;l=c[1544]|0;k=l>>>a;if(k&3){e=(k&1^1)+a|0;f=e<<1;b=6216+(f<<2)|0;f=6216+(f+2<<2)|0;g=c[f>>2]|0;h=g+8|0;j=c[h>>2]|0;do if((b|0)!=(j|0)){if(j>>>0<(c[1548]|0)>>>0)Ia();d=j+12|0;if((c[d>>2]|0)==(g|0)){c[d>>2]=b;c[f>>2]=j;break}else Ia()}else c[1544]=l&~(1<<e);while(0);x=e<<3;c[g+4>>2]=x|3;x=g+(x|4)|0;c[x>>2]=c[x>>2]|1;x=h;i=L;return x|0}j=c[1546]|0;if(p>>>0>j>>>0){if(k){f=2<<a;f=k<<a&(f|0-f);f=(f&0-f)+-1|0;a=f>>>12&16;f=f>>>a;e=f>>>5&8;f=f>>>e;d=f>>>2&4;f=f>>>d;g=f>>>1&2;f=f>>>g;h=f>>>1&1;h=(e|a|d|g|h)+(f>>>h)|0;f=h<<1;g=6216+(f<<2)|0;f=6216+(f+2<<2)|0;d=c[f>>2]|0;a=d+8|0;e=c[a>>2]|0;do if((g|0)!=(e|0)){if(e>>>0<(c[1548]|0)>>>0)Ia();j=e+12|0;if((c[j>>2]|0)==(d|0)){c[j>>2]=g;c[f>>2]=e;m=c[1546]|0;break}else Ia()}else{c[1544]=l&~(1<<h);m=j}while(0);x=h<<3;b=x-p|0;c[d+4>>2]=p|3;k=d+p|0;c[d+(p|4)>>2]=b|1;c[d+x>>2]=b;if(m){e=c[1549]|0;g=m>>>3;j=g<<1;f=6216+(j<<2)|0;h=c[1544]|0;g=1<<g;if(h&g){h=6216+(j+2<<2)|0;j=c[h>>2]|0;if(j>>>0<(c[1548]|0)>>>0)Ia();else{n=h;o=j}}else{c[1544]=h|g;n=6216+(j+2<<2)|0;o=f}c[n>>2]=e;c[o+12>>2]=e;c[e+8>>2]=o;c[e+12>>2]=f}c[1546]=b;c[1549]=k;x=a;i=L;return x|0}k=c[1545]|0;if(k){l=(k&0-k)+-1|0;w=l>>>12&16;l=l>>>w;v=l>>>5&8;l=l>>>v;x=l>>>2&4;l=l>>>x;j=l>>>1&2;l=l>>>j;m=l>>>1&1;m=c[6480+((v|w|x|j|m)+(l>>>m)<<2)>>2]|0;l=(c[m+4>>2]&-8)-p|0;j=m;while(1){d=c[j+16>>2]|0;if(!d){d=c[j+20>>2]|0;if(!d)break}j=(c[d+4>>2]&-8)-p|0;x=j>>>0<l>>>0;l=x?j:l;j=d;m=x?d:m}k=c[1548]|0;if(m>>>0<k>>>0)Ia();b=m+p|0;if(m>>>0>=b>>>0)Ia();a=c[m+24>>2]|0;g=c[m+12>>2]|0;do if((g|0)==(m|0)){h=m+20|0;j=c[h>>2]|0;if(!j){h=m+16|0;j=c[h>>2]|0;if(!j){e=0;break}}while(1){g=j+20|0;f=c[g>>2]|0;if(f){j=f;h=g;continue}g=j+16|0;f=c[g>>2]|0;if(!f)break;else{j=f;h=g}}if(h>>>0<k>>>0)Ia();else{c[h>>2]=0;e=j;break}}else{f=c[m+8>>2]|0;if(f>>>0<k>>>0)Ia();j=f+12|0;if((c[j>>2]|0)!=(m|0))Ia();h=g+8|0;if((c[h>>2]|0)==(m|0)){c[j>>2]=g;c[h>>2]=f;e=g;break}else Ia()}while(0);do if(a){j=c[m+28>>2]|0;h=6480+(j<<2)|0;if((m|0)==(c[h>>2]|0)){c[h>>2]=e;if(!e){c[1545]=c[1545]&~(1<<j);break}}else{if(a>>>0<(c[1548]|0)>>>0)Ia();j=a+16|0;if((c[j>>2]|0)==(m|0))c[j>>2]=e;else c[a+20>>2]=e;if(!e)break}h=c[1548]|0;if(e>>>0<h>>>0)Ia();c[e+24>>2]=a;j=c[m+16>>2]|0;do if(j)if(j>>>0<h>>>0)Ia();else{c[e+16>>2]=j;c[j+24>>2]=e;break}while(0);j=c[m+20>>2]|0;if(j)if(j>>>0<(c[1548]|0)>>>0)Ia();else{c[e+20>>2]=j;c[j+24>>2]=e;break}}while(0);if(l>>>0<16){x=l+p|0;c[m+4>>2]=x|3;x=m+(x+4)|0;c[x>>2]=c[x>>2]|1}else{c[m+4>>2]=p|3;c[m+(p|4)>>2]=l|1;c[m+(l+p)>>2]=l;d=c[1546]|0;if(d){e=c[1549]|0;g=d>>>3;j=g<<1;f=6216+(j<<2)|0;h=c[1544]|0;g=1<<g;if(h&g){j=6216+(j+2<<2)|0;h=c[j>>2]|0;if(h>>>0<(c[1548]|0)>>>0)Ia();else{r=j;q=h}}else{c[1544]=h|g;r=6216+(j+2<<2)|0;q=f}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=f}c[1546]=l;c[1549]=b}x=m+8|0;i=L;return x|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;m=c[1545]|0;if(m){j=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)l=31;else{q=(a+1048320|0)>>>16&8;r=a<<q;o=(r+520192|0)>>>16&4;r=r<<o;l=(r+245760|0)>>>16&2;l=14-(o|q|l)+(r<<l>>>15)|0;l=p>>>(l+7|0)&1|l<<1}else l=0;h=c[6480+(l<<2)>>2]|0;a:do if(!h){a=0;k=0}else{if((l|0)==31)k=0;else k=25-(l>>>1)|0;f=j;a=0;e=p<<k;k=0;while(1){g=c[h+4>>2]&-8;j=g-p|0;if(j>>>0<f>>>0)if((g|0)==(p|0)){a=h;k=h;break a}else k=h;else j=f;r=c[h+20>>2]|0;h=c[h+(e>>>31<<2)+16>>2]|0;a=(r|0)==0|(r|0)==(h|0)?a:r;if(!h)break;else{f=j;e=e<<1}}}while(0);if((a|0)==0&(k|0)==0){a=2<<l;a=(a|0-a)&m;if(!a)break;r=(a&0-a)+-1|0;n=r>>>12&16;r=r>>>n;m=r>>>5&8;r=r>>>m;o=r>>>2&4;r=r>>>o;q=r>>>1&2;r=r>>>q;a=r>>>1&1;a=c[6480+((m|n|o|q|a)+(r>>>a)<<2)>>2]|0}if(!a){n=j;m=k}else while(1){r=(c[a+4>>2]&-8)-p|0;h=r>>>0<j>>>0;j=h?r:j;k=h?a:k;h=c[a+16>>2]|0;if(h){a=h;continue}a=c[a+20>>2]|0;if(!a){n=j;m=k;break}}if((m|0)!=0?n>>>0<((c[1546]|0)-p|0)>>>0:0){k=c[1548]|0;if(m>>>0<k>>>0)Ia();o=m+p|0;if(m>>>0>=o>>>0)Ia();a=c[m+24>>2]|0;g=c[m+12>>2]|0;do if((g|0)==(m|0)){h=m+20|0;j=c[h>>2]|0;if(!j){h=m+16|0;j=c[h>>2]|0;if(!j){b=0;break}}while(1){g=j+20|0;f=c[g>>2]|0;if(f){j=f;h=g;continue}g=j+16|0;f=c[g>>2]|0;if(!f)break;else{j=f;h=g}}if(h>>>0<k>>>0)Ia();else{c[h>>2]=0;b=j;break}}else{f=c[m+8>>2]|0;if(f>>>0<k>>>0)Ia();j=f+12|0;if((c[j>>2]|0)!=(m|0))Ia();h=g+8|0;if((c[h>>2]|0)==(m|0)){c[j>>2]=g;c[h>>2]=f;b=g;break}else Ia()}while(0);do if(a){j=c[m+28>>2]|0;h=6480+(j<<2)|0;if((m|0)==(c[h>>2]|0)){c[h>>2]=b;if(!b){c[1545]=c[1545]&~(1<<j);break}}else{if(a>>>0<(c[1548]|0)>>>0)Ia();j=a+16|0;if((c[j>>2]|0)==(m|0))c[j>>2]=b;else c[a+20>>2]=b;if(!b)break}h=c[1548]|0;if(b>>>0<h>>>0)Ia();c[b+24>>2]=a;j=c[m+16>>2]|0;do if(j)if(j>>>0<h>>>0)Ia();else{c[b+16>>2]=j;c[j+24>>2]=b;break}while(0);j=c[m+20>>2]|0;if(j)if(j>>>0<(c[1548]|0)>>>0)Ia();else{c[b+20>>2]=j;c[j+24>>2]=b;break}}while(0);b:do if(n>>>0>=16){c[m+4>>2]=p|3;c[m+(p|4)>>2]=n|1;c[m+(n+p)>>2]=n;j=n>>>3;if(n>>>0<256){h=j<<1;f=6216+(h<<2)|0;g=c[1544]|0;j=1<<j;do if(!(g&j)){c[1544]=g|j;d=6216+(h+2<<2)|0;t=f}else{j=6216+(h+2<<2)|0;h=c[j>>2]|0;if(h>>>0>=(c[1548]|0)>>>0){d=j;t=h;break}Ia()}while(0);c[d>>2]=o;c[t+12>>2]=o;c[m+(p+8)>>2]=t;c[m+(p+12)>>2]=f;break}d=n>>>8;if(d)if(n>>>0>16777215)f=31;else{w=(d+1048320|0)>>>16&8;x=d<<w;u=(x+520192|0)>>>16&4;x=x<<u;f=(x+245760|0)>>>16&2;f=14-(u|w|f)+(x<<f>>>15)|0;f=n>>>(f+7|0)&1|f<<1}else f=0;j=6480+(f<<2)|0;c[m+(p+28)>>2]=f;c[m+(p+20)>>2]=0;c[m+(p+16)>>2]=0;h=c[1545]|0;g=1<<f;if(!(h&g)){c[1545]=h|g;c[j>>2]=o;c[m+(p+24)>>2]=j;c[m+(p+12)>>2]=o;c[m+(p+8)>>2]=o;break}j=c[j>>2]|0;if((f|0)==31)d=0;else d=25-(f>>>1)|0;c:do if((c[j+4>>2]&-8|0)!=(n|0)){f=n<<d;while(1){g=j+(f>>>31<<2)+16|0;h=c[g>>2]|0;if(!h)break;if((c[h+4>>2]&-8|0)==(n|0)){v=h;break c}else{f=f<<1;j=h}}if(g>>>0<(c[1548]|0)>>>0)Ia();else{c[g>>2]=o;c[m+(p+24)>>2]=j;c[m+(p+12)>>2]=o;c[m+(p+8)>>2]=o;break b}}else v=j;while(0);d=v+8|0;b=c[d>>2]|0;x=c[1548]|0;if(v>>>0>=x>>>0&b>>>0>=x>>>0){c[b+12>>2]=o;c[d>>2]=o;c[m+(p+8)>>2]=b;c[m+(p+12)>>2]=v;c[m+(p+24)>>2]=0;break}else Ia()}else{x=n+p|0;c[m+4>>2]=x|3;x=m+(x+4)|0;c[x>>2]=c[x>>2]|1}while(0);x=m+8|0;i=L;return x|0}}}else p=-1;while(0);k=c[1546]|0;if(k>>>0>=p>>>0){b=k-p|0;d=c[1549]|0;if(b>>>0>15){c[1549]=d+p;c[1546]=b;c[d+(p+4)>>2]=b|1;c[d+k>>2]=b;c[d+4>>2]=p|3}else{c[1546]=0;c[1549]=0;c[d+4>>2]=k|3;x=d+(k+4)|0;c[x>>2]=c[x>>2]|1}x=d+8|0;i=L;return x|0}k=c[1547]|0;if(k>>>0>p>>>0){w=k-p|0;c[1547]=w;x=c[1550]|0;c[1550]=x+p;c[x+(p+4)>>2]=w|1;c[x+4>>2]=p|3;x=x+8|0;i=L;return x|0}do if(!(c[1662]|0)){k=xa(30)|0;if(!(k+-1&k)){c[1664]=k;c[1663]=k;c[1665]=-1;c[1666]=-1;c[1667]=0;c[1655]=0;c[1662]=(Ja(0)|0)&-16^1431655768;break}else Ia()}while(0);l=p+48|0;g=c[1664]|0;f=p+47|0;h=g+f|0;g=0-g|0;m=h&g;if(m>>>0<=p>>>0){x=0;i=L;return x|0}a=c[1654]|0;if((a|0)!=0?(t=c[1652]|0,v=t+m|0,v>>>0<=t>>>0|v>>>0>a>>>0):0){x=0;i=L;return x|0}d:do if(!(c[1655]&4)){j=c[1550]|0;e:do if(j){a=6624|0;while(1){k=c[a>>2]|0;if(k>>>0<=j>>>0?(s=a+4|0,(k+(c[s>>2]|0)|0)>>>0>j>>>0):0)break;a=c[a+8>>2]|0;if(!a){A=181;break e}}if(a){k=h-(c[1547]|0)&g;if(k>>>0<2147483647){j=ua(k|0)|0;if((j|0)==((c[a>>2]|0)+(c[s>>2]|0)|0))A=190;else A=191}else k=0}else A=181}else A=181;while(0);do if((A|0)==181){j=ua(0)|0;if((j|0)!=(-1|0)){a=j;k=c[1663]|0;h=k+-1|0;if(!(h&a))k=m;else k=m-a+(h+a&0-k)|0;a=c[1652]|0;h=a+k|0;if(k>>>0>p>>>0&k>>>0<2147483647){v=c[1654]|0;if((v|0)!=0?h>>>0<=a>>>0|h>>>0>v>>>0:0){k=0;break}h=ua(k|0)|0;if((h|0)==(j|0))A=190;else{j=h;A=191}}else k=0}else k=0}while(0);f:do if((A|0)==190){if((j|0)!=(-1|0)){w=j;s=k;A=201;break d}}else if((A|0)==191){h=0-k|0;do if((j|0)!=(-1|0)&k>>>0<2147483647&l>>>0>k>>>0?(u=c[1664]|0,u=f-k+u&0-u,u>>>0<2147483647):0)if((ua(u|0)|0)==(-1|0)){ua(h|0)|0;k=0;break f}else{k=u+k|0;break}while(0);if((j|0)==(-1|0))k=0;else{w=j;s=k;A=201;break d}}while(0);c[1655]=c[1655]|4;A=198}else{k=0;A=198}while(0);if((((A|0)==198?m>>>0<2147483647:0)?(w=ua(m|0)|0,x=ua(0)|0,(w|0)!=(-1|0)&(x|0)!=(-1|0)&w>>>0<x>>>0):0)?(y=x-w|0,z=y>>>0>(p+40|0)>>>0,z):0){s=z?y:k;A=201}if((A|0)==201){j=(c[1652]|0)+s|0;c[1652]=j;if(j>>>0>(c[1653]|0)>>>0)c[1653]=j;o=c[1550]|0;g:do if(o){f=6624|0;while(1){k=c[f>>2]|0;j=f+4|0;h=c[j>>2]|0;if((w|0)==(k+h|0)){A=213;break}g=c[f+8>>2]|0;if(!g)break;else f=g}if(((A|0)==213?(c[f+12>>2]&8|0)==0:0)?o>>>0>=k>>>0&o>>>0<w>>>0:0){c[j>>2]=h+s;b=(c[1547]|0)+s|0;d=o+8|0;if(!(d&7))d=0;else d=0-d&7;x=b-d|0;c[1550]=o+d;c[1547]=x;c[o+(d+4)>>2]=x|1;c[o+(b+4)>>2]=40;c[1551]=c[1666];break}k=c[1548]|0;if(w>>>0<k>>>0){c[1548]=w;k=w}j=w+s|0;g=6624|0;while(1){if((c[g>>2]|0)==(j|0)){A=223;break}h=c[g+8>>2]|0;if(!h)break;else g=h}if((A|0)==223?(c[g+12>>2]&8|0)==0:0){c[g>>2]=w;j=g+4|0;c[j>>2]=(c[j>>2]|0)+s;j=w+8|0;if(!(j&7))r=0;else r=0-j&7;j=w+(s+8)|0;if(!(j&7))b=0;else b=0-j&7;j=w+(b+s)|0;n=r+p|0;q=w+n|0;l=j-(w+r)-p|0;c[w+(r+4)>>2]=p|3;h:do if((j|0)!=(o|0)){if((j|0)==(c[1549]|0)){x=(c[1546]|0)+l|0;c[1546]=x;c[1549]=q;c[w+(n+4)>>2]=x|1;c[w+(x+n)>>2]=x;break}d=s+4|0;h=c[w+(b+d)>>2]|0;if((h&3|0)==1){m=h&-8;e=h>>>3;i:do if(h>>>0>=256){a=c[w+((b|24)+s)>>2]|0;g=c[w+(s+12+b)>>2]|0;do if((g|0)==(j|0)){g=b|16;f=w+(g+d)|0;h=c[f>>2]|0;if(!h){g=w+(g+s)|0;h=c[g>>2]|0;if(!h){H=0;break}}else g=f;while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0<k>>>0)Ia();else{c[g>>2]=0;H=h;break}}else{f=c[w+((b|8)+s)>>2]|0;if(f>>>0<k>>>0)Ia();k=f+12|0;if((c[k>>2]|0)!=(j|0))Ia();h=g+8|0;if((c[h>>2]|0)==(j|0)){c[k>>2]=g;c[h>>2]=f;H=g;break}else Ia()}while(0);if(!a)break;k=c[w+(s+28+b)>>2]|0;h=6480+(k<<2)|0;do if((j|0)!=(c[h>>2]|0)){if(a>>>0<(c[1548]|0)>>>0)Ia();k=a+16|0;if((c[k>>2]|0)==(j|0))c[k>>2]=H;else c[a+20>>2]=H;if(!H)break i}else{c[h>>2]=H;if(H)break;c[1545]=c[1545]&~(1<<k);break i}while(0);h=c[1548]|0;if(H>>>0<h>>>0)Ia();c[H+24>>2]=a;k=b|16;j=c[w+(k+s)>>2]|0;do if(j)if(j>>>0<h>>>0)Ia();else{c[H+16>>2]=j;c[j+24>>2]=H;break}while(0);j=c[w+(k+d)>>2]|0;if(!j)break;if(j>>>0<(c[1548]|0)>>>0)Ia();else{c[H+20>>2]=j;c[j+24>>2]=H;break}}else{g=c[w+((b|8)+s)>>2]|0;f=c[w+(s+12+b)>>2]|0;h=6216+(e<<1<<2)|0;do if((g|0)!=(h|0)){if(g>>>0<k>>>0)Ia();if((c[g+12>>2]|0)==(j|0))break;Ia()}while(0);if((f|0)==(g|0)){c[1544]=c[1544]&~(1<<e);break}do if((f|0)==(h|0))D=f+8|0;else{if(f>>>0<k>>>0)Ia();k=f+8|0;if((c[k>>2]|0)==(j|0)){D=k;break}Ia()}while(0);c[g+12>>2]=f;c[D>>2]=g}while(0);j=w+((m|b)+s)|0;k=m+l|0}else k=l;j=j+4|0;c[j>>2]=c[j>>2]&-2;c[w+(n+4)>>2]=k|1;c[w+(k+n)>>2]=k;j=k>>>3;if(k>>>0<256){h=j<<1;f=6216+(h<<2)|0;g=c[1544]|0;j=1<<j;do if(!(g&j)){c[1544]=g|j;I=6216+(h+2<<2)|0;J=f}else{j=6216+(h+2<<2)|0;h=c[j>>2]|0;if(h>>>0>=(c[1548]|0)>>>0){I=j;J=h;break}Ia()}while(0);c[I>>2]=q;c[J+12>>2]=q;c[w+(n+8)>>2]=J;c[w+(n+12)>>2]=f;break}d=k>>>8;do if(!d)f=0;else{if(k>>>0>16777215){f=31;break}v=(d+1048320|0)>>>16&8;x=d<<v;u=(x+520192|0)>>>16&4;x=x<<u;f=(x+245760|0)>>>16&2;f=14-(u|v|f)+(x<<f>>>15)|0;f=k>>>(f+7|0)&1|f<<1}while(0);j=6480+(f<<2)|0;c[w+(n+28)>>2]=f;c[w+(n+20)>>2]=0;c[w+(n+16)>>2]=0;h=c[1545]|0;g=1<<f;if(!(h&g)){c[1545]=h|g;c[j>>2]=q;c[w+(n+24)>>2]=j;c[w+(n+12)>>2]=q;c[w+(n+8)>>2]=q;break}h=c[j>>2]|0;if((f|0)==31)j=0;else j=25-(f>>>1)|0;j:do if((c[h+4>>2]&-8|0)!=(k|0)){f=k<<j;while(1){g=h+(f>>>31<<2)+16|0;j=c[g>>2]|0;if(!j)break;if((c[j+4>>2]&-8|0)==(k|0)){K=j;break j}else{f=f<<1;h=j}}if(g>>>0<(c[1548]|0)>>>0)Ia();else{c[g>>2]=q;c[w+(n+24)>>2]=h;c[w+(n+12)>>2]=q;c[w+(n+8)>>2]=q;break h}}else K=h;while(0);d=K+8|0;b=c[d>>2]|0;x=c[1548]|0;if(K>>>0>=x>>>0&b>>>0>=x>>>0){c[b+12>>2]=q;c[d>>2]=q;c[w+(n+8)>>2]=b;c[w+(n+12)>>2]=K;c[w+(n+24)>>2]=0;break}else Ia()}else{x=(c[1547]|0)+l|0;c[1547]=x;c[1550]=q;c[w+(n+4)>>2]=x|1}while(0);x=w+(r|8)|0;i=L;return x|0}j=6624|0;while(1){h=c[j>>2]|0;if(h>>>0<=o>>>0?(B=c[j+4>>2]|0,C=h+B|0,C>>>0>o>>>0):0)break;j=c[j+8>>2]|0}j=h+(B+-39)|0;if(!(j&7))j=0;else j=0-j&7;g=h+(B+-47+j)|0;g=g>>>0<(o+16|0)>>>0?o:g;h=g+8|0;j=w+8|0;if(!(j&7))j=0;else j=0-j&7;x=s+-40-j|0;c[1550]=w+j;c[1547]=x;c[w+(j+4)>>2]=x|1;c[w+(s+-36)>>2]=40;c[1551]=c[1666];c[g+4>>2]=27;c[h+0>>2]=c[1656];c[h+4>>2]=c[1657];c[h+8>>2]=c[1658];c[h+12>>2]=c[1659];c[1656]=w;c[1657]=s;c[1659]=0;c[1658]=h;j=g+28|0;c[j>>2]=7;if((g+32|0)>>>0<C>>>0)do{x=j;j=j+4|0;c[j>>2]=7}while((x+8|0)>>>0<C>>>0);if((g|0)!=(o|0)){k=g-o|0;j=o+(k+4)|0;c[j>>2]=c[j>>2]&-2;c[o+4>>2]=k|1;c[o+k>>2]=k;j=k>>>3;if(k>>>0<256){h=j<<1;f=6216+(h<<2)|0;g=c[1544]|0;j=1<<j;do if(!(g&j)){c[1544]=g|j;E=6216+(h+2<<2)|0;F=f}else{d=6216+(h+2<<2)|0;b=c[d>>2]|0;if(b>>>0>=(c[1548]|0)>>>0){E=d;F=b;break}Ia()}while(0);c[E>>2]=o;c[F+12>>2]=o;c[o+8>>2]=F;c[o+12>>2]=f;break}d=k>>>8;if(d)if(k>>>0>16777215)j=31;else{w=(d+1048320|0)>>>16&8;x=d<<w;v=(x+520192|0)>>>16&4;x=x<<v;j=(x+245760|0)>>>16&2;j=14-(v|w|j)+(x<<j>>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=6480+(j<<2)|0;c[o+28>>2]=j;c[o+20>>2]=0;c[o+16>>2]=0;b=c[1545]|0;e=1<<j;if(!(b&e)){c[1545]=b|e;c[d>>2]=o;c[o+24>>2]=d;c[o+12>>2]=o;c[o+8>>2]=o;break}e=c[d>>2]|0;if((j|0)==31)d=0;else d=25-(j>>>1)|0;k:do if((c[e+4>>2]&-8|0)!=(k|0)){j=k<<d;while(1){b=e+(j>>>31<<2)+16|0;d=c[b>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(k|0)){G=d;break k}else{j=j<<1;e=d}}if(b>>>0<(c[1548]|0)>>>0)Ia();else{c[b>>2]=o;c[o+24>>2]=e;c[o+12>>2]=o;c[o+8>>2]=o;break g}}else G=e;while(0);d=G+8|0;b=c[d>>2]|0;x=c[1548]|0;if(G>>>0>=x>>>0&b>>>0>=x>>>0){c[b+12>>2]=o;c[d>>2]=o;c[o+8>>2]=b;c[o+12>>2]=G;c[o+24>>2]=0;break}else Ia()}}else{x=c[1548]|0;if((x|0)==0|w>>>0<x>>>0)c[1548]=w;c[1656]=w;c[1657]=s;c[1659]=0;c[1553]=c[1662];c[1552]=-1;d=0;do{x=d<<1;v=6216+(x<<2)|0;c[6216+(x+3<<2)>>2]=v;c[6216+(x+2<<2)>>2]=v;d=d+1|0}while((d|0)!=32);d=w+8|0;if(!(d&7))d=0;else d=0-d&7;x=s+-40-d|0;c[1550]=w+d;c[1547]=x;c[w+(d+4)>>2]=x|1;c[w+(s+-36)>>2]=40;c[1551]=c[1666]}while(0);b=c[1547]|0;if(b>>>0>p>>>0){w=b-p|0;c[1547]=w;x=c[1550]|0;c[1550]=x+p;c[x+(p+4)>>2]=w|1;c[x+4>>2]=p|3;x=x+8|0;i=L;return x|0}}c[(Ea()|0)>>2]=12;x=0;i=L;return x|0}function ed(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,w=0;w=i;if(!a){i=w;return}g=a+-8|0;h=c[1548]|0;if(g>>>0<h>>>0)Ia();f=c[a+-4>>2]|0;e=f&3;if((e|0)==1)Ia();p=f&-8;r=a+(p+-8)|0;do if(!(f&1)){g=c[g>>2]|0;if(!e){i=w;return}j=-8-g|0;m=a+j|0;n=g+p|0;if(m>>>0<h>>>0)Ia();if((m|0)==(c[1549]|0)){g=a+(p+-4)|0;f=c[g>>2]|0;if((f&3|0)!=3){v=m;l=n;break}c[1546]=n;c[g>>2]=f&-2;c[a+(j+4)>>2]=n|1;c[r>>2]=n;i=w;return}d=g>>>3;if(g>>>0<256){e=c[a+(j+8)>>2]|0;f=c[a+(j+12)>>2]|0;g=6216+(d<<1<<2)|0;if((e|0)!=(g|0)){if(e>>>0<h>>>0)Ia();if((c[e+12>>2]|0)!=(m|0))Ia()}if((f|0)==(e|0)){c[1544]=c[1544]&~(1<<d);v=m;l=n;break}if((f|0)!=(g|0)){if(f>>>0<h>>>0)Ia();g=f+8|0;if((c[g>>2]|0)==(m|0))b=g;else Ia()}else b=f+8|0;c[e+12>>2]=f;c[b>>2]=e;v=m;l=n;break}b=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(m|0)){f=a+(j+20)|0;g=c[f>>2]|0;if(!g){f=a+(j+16)|0;g=c[f>>2]|0;if(!g){k=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<h>>>0)Ia();else{c[f>>2]=0;k=g;break}}else{d=c[a+(j+8)>>2]|0;if(d>>>0<h>>>0)Ia();g=d+12|0;if((c[g>>2]|0)!=(m|0))Ia();f=e+8|0;if((c[f>>2]|0)==(m|0)){c[g>>2]=e;c[f>>2]=d;k=e;break}else Ia()}while(0);if(b){g=c[a+(j+28)>>2]|0;f=6480+(g<<2)|0;if((m|0)==(c[f>>2]|0)){c[f>>2]=k;if(!k){c[1545]=c[1545]&~(1<<g);v=m;l=n;break}}else{if(b>>>0<(c[1548]|0)>>>0)Ia();g=b+16|0;if((c[g>>2]|0)==(m|0))c[g>>2]=k;else c[b+20>>2]=k;if(!k){v=m;l=n;break}}f=c[1548]|0;if(k>>>0<f>>>0)Ia();c[k+24>>2]=b;g=c[a+(j+16)>>2]|0;do if(g)if(g>>>0<f>>>0)Ia();else{c[k+16>>2]=g;c[g+24>>2]=k;break}while(0);g=c[a+(j+20)>>2]|0;if(g)if(g>>>0<(c[1548]|0)>>>0)Ia();else{c[k+20>>2]=g;c[g+24>>2]=k;v=m;l=n;break}else{v=m;l=n}}else{v=m;l=n}}else{v=g;l=p}while(0);if(v>>>0>=r>>>0)Ia();g=a+(p+-4)|0;f=c[g>>2]|0;if(!(f&1))Ia();if(!(f&2)){if((r|0)==(c[1550]|0)){m=(c[1547]|0)+l|0;c[1547]=m;c[1550]=v;c[v+4>>2]=m|1;if((v|0)!=(c[1549]|0)){i=w;return}c[1549]=0;c[1546]=0;i=w;return}if((r|0)==(c[1549]|0)){m=(c[1546]|0)+l|0;c[1546]=m;c[1549]=v;c[v+4>>2]=m|1;c[v+m>>2]=m;i=w;return}h=(f&-8)+l|0;b=f>>>3;do if(f>>>0>=256){b=c[a+(p+16)>>2]|0;g=c[a+(p|4)>>2]|0;do if((g|0)==(r|0)){f=a+(p+12)|0;g=c[f>>2]|0;if(!g){f=a+(p+8)|0;g=c[f>>2]|0;if(!g){q=0;break}}while(1){e=g+20|0;d=c[e>>2]|0;if(d){g=d;f=e;continue}e=g+16|0;d=c[e>>2]|0;if(!d)break;else{g=d;f=e}}if(f>>>0<(c[1548]|0)>>>0)Ia();else{c[f>>2]=0;q=g;break}}else{f=c[a+p>>2]|0;if(f>>>0<(c[1548]|0)>>>0)Ia();e=f+12|0;if((c[e>>2]|0)!=(r|0))Ia();d=g+8|0;if((c[d>>2]|0)==(r|0)){c[e>>2]=g;c[d>>2]=f;q=g;break}else Ia()}while(0);if(b){g=c[a+(p+20)>>2]|0;f=6480+(g<<2)|0;if((r|0)==(c[f>>2]|0)){c[f>>2]=q;if(!q){c[1545]=c[1545]&~(1<<g);break}}else{if(b>>>0<(c[1548]|0)>>>0)Ia();g=b+16|0;if((c[g>>2]|0)==(r|0))c[g>>2]=q;else c[b+20>>2]=q;if(!q)break}g=c[1548]|0;if(q>>>0<g>>>0)Ia();c[q+24>>2]=b;f=c[a+(p+8)>>2]|0;do if(f)if(f>>>0<g>>>0)Ia();else{c[q+16>>2]=f;c[f+24>>2]=q;break}while(0);d=c[a+(p+12)>>2]|0;if(d)if(d>>>0<(c[1548]|0)>>>0)Ia();else{c[q+20>>2]=d;c[d+24>>2]=q;break}}}else{d=c[a+p>>2]|0;e=c[a+(p|4)>>2]|0;g=6216+(b<<1<<2)|0;if((d|0)!=(g|0)){if(d>>>0<(c[1548]|0)>>>0)Ia();if((c[d+12>>2]|0)!=(r|0))Ia()}if((e|0)==(d|0)){c[1544]=c[1544]&~(1<<b);break}if((e|0)!=(g|0)){if(e>>>0<(c[1548]|0)>>>0)Ia();f=e+8|0;if((c[f>>2]|0)==(r|0))o=f;else Ia()}else o=e+8|0;c[d+12>>2]=e;c[o>>2]=d}while(0);c[v+4>>2]=h|1;c[v+h>>2]=h;if((v|0)==(c[1549]|0)){c[1546]=h;i=w;return}else g=h}else{c[g>>2]=f&-2;c[v+4>>2]=l|1;c[v+l>>2]=l;g=l}f=g>>>3;if(g>>>0<256){e=f<<1;g=6216+(e<<2)|0;b=c[1544]|0;d=1<<f;if(b&d){d=6216+(e+2<<2)|0;b=c[d>>2]|0;if(b>>>0<(c[1548]|0)>>>0)Ia();else{s=d;t=b}}else{c[1544]=b|d;s=6216+(e+2<<2)|0;t=g}c[s>>2]=v;c[t+12>>2]=v;c[v+8>>2]=t;c[v+12>>2]=g;i=w;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{l=(b+1048320|0)>>>16&8;m=b<<l;k=(m+520192|0)>>>16&4;m=m<<k;f=(m+245760|0)>>>16&2;f=14-(k|l|f)+(m<<f>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;d=6480+(f<<2)|0;c[v+28>>2]=f;c[v+20>>2]=0;c[v+16>>2]=0;b=c[1545]|0;e=1<<f;a:do if(b&e){e=c[d>>2]|0;if((f|0)==31)d=0;else d=25-(f>>>1)|0;b:do if((c[e+4>>2]&-8|0)!=(g|0)){f=g<<d;while(1){b=e+(f>>>31<<2)+16|0;d=c[b>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){u=d;break b}else{f=f<<1;e=d}}if(b>>>0<(c[1548]|0)>>>0)Ia();else{c[b>>2]=v;c[v+24>>2]=e;c[v+12>>2]=v;c[v+8>>2]=v;break a}}else u=e;while(0);b=u+8|0;d=c[b>>2]|0;m=c[1548]|0;if(u>>>0>=m>>>0&d>>>0>=m>>>0){c[d+12>>2]=v;c[b>>2]=v;c[v+8>>2]=d;c[v+12>>2]=u;c[v+24>>2]=0;break}else Ia()}else{c[1545]=b|e;c[d>>2]=v;c[v+24>>2]=d;c[v+12>>2]=v;c[v+8>>2]=v}while(0);m=(c[1552]|0)+-1|0;c[1552]=m;if(!m)b=6632|0;else{i=w;return}while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[1552]=-1;i=w;return}function fd(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;r=i;if(!a){m=dd(b)|0;i=r;return m|0}if(b>>>0>4294967231){c[(Ea()|0)>>2]=12;m=0;i=r;return m|0}if(b>>>0<11)o=16;else o=b+11&-8;q=a+-4|0;p=c[q>>2]|0;k=p&-8;f=k+-8|0;m=a+f|0;j=c[1548]|0;g=p&3;if(!((g|0)!=1&(a+-8|0)>>>0>=j>>>0&(f|0)>-8))Ia();d=k|4;f=a+(d+-8)|0;e=c[f>>2]|0;if(!(e&1))Ia();do if(!g){if(!(o>>>0<256|k>>>0<(o|4)>>>0)?(k-o|0)>>>0<=c[1664]<<1>>>0:0){m=a;i=r;return m|0}}else{if(k>>>0>=o>>>0){e=k-o|0;if(e>>>0<=15){m=a;i=r;return m|0}c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=e|3;c[f>>2]=c[f>>2]|1;gd(a+(o+-8)|0,e);m=a;i=r;return m|0}if((m|0)==(c[1550]|0)){e=(c[1547]|0)+k|0;if(e>>>0<=o>>>0)break;m=e-o|0;c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=m|1;c[1550]=a+(o+-8);c[1547]=m;m=a;i=r;return m|0}if((m|0)==(c[1549]|0)){e=(c[1546]|0)+k|0;if(e>>>0<o>>>0)break;d=e-o|0;if(d>>>0>15){c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=d|1;c[a+(e+-8)>>2]=d;e=a+(e+-4)|0;c[e>>2]=c[e>>2]&-2;e=a+(o+-8)|0}else{c[q>>2]=p&1|e|2;e=a+(e+-4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[1546]=d;c[1549]=e;m=a;i=r;return m|0}if((e&2|0)==0?(n=(e&-8)+k|0,n>>>0>=o>>>0):0){b=n-o|0;f=e>>>3;do if(e>>>0>=256){h=c[a+(k+16)>>2]|0;f=c[a+d>>2]|0;do if((f|0)==(m|0)){d=a+(k+12)|0;e=c[d>>2]|0;if(!e){d=a+(k+8)|0;e=c[d>>2]|0;if(!e){l=0;break}}while(1){g=e+20|0;f=c[g>>2]|0;if(f){e=f;d=g;continue}g=e+16|0;f=c[g>>2]|0;if(!f)break;else{e=f;d=g}}if(d>>>0<j>>>0)Ia();else{c[d>>2]=0;l=e;break}}else{g=c[a+k>>2]|0;if(g>>>0<j>>>0)Ia();e=g+12|0;if((c[e>>2]|0)!=(m|0))Ia();d=f+8|0;if((c[d>>2]|0)==(m|0)){c[e>>2]=f;c[d>>2]=g;l=f;break}else Ia()}while(0);if(h){e=c[a+(k+20)>>2]|0;d=6480+(e<<2)|0;if((m|0)==(c[d>>2]|0)){c[d>>2]=l;if(!l){c[1545]=c[1545]&~(1<<e);break}}else{if(h>>>0<(c[1548]|0)>>>0)Ia();e=h+16|0;if((c[e>>2]|0)==(m|0))c[e>>2]=l;else c[h+20>>2]=l;if(!l)break}d=c[1548]|0;if(l>>>0<d>>>0)Ia();c[l+24>>2]=h;e=c[a+(k+8)>>2]|0;do if(e)if(e>>>0<d>>>0)Ia();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);e=c[a+(k+12)>>2]|0;if(e)if(e>>>0<(c[1548]|0)>>>0)Ia();else{c[l+20>>2]=e;c[e+24>>2]=l;break}}}else{g=c[a+k>>2]|0;d=c[a+d>>2]|0;e=6216+(f<<1<<2)|0;if((g|0)!=(e|0)){if(g>>>0<j>>>0)Ia();if((c[g+12>>2]|0)!=(m|0))Ia()}if((d|0)==(g|0)){c[1544]=c[1544]&~(1<<f);break}if((d|0)!=(e|0)){if(d>>>0<j>>>0)Ia();e=d+8|0;if((c[e>>2]|0)==(m|0))h=e;else Ia()}else h=d+8|0;c[g+12>>2]=d;c[h>>2]=g}while(0);if(b>>>0<16){c[q>>2]=p&1|n|2;m=a+((n|4)+-8)|0;c[m>>2]=c[m>>2]|1;m=a;i=r;return m|0}else{c[q>>2]=p&1|o|2;c[a+((o|4)+-8)>>2]=b|3;m=a+((n|4)+-8)|0;c[m>>2]=c[m>>2]|1;gd(a+(o+-8)|0,b);m=a;i=r;return m|0}}}while(0);d=dd(b)|0;if(!d){m=0;i=r;return m|0}m=c[q>>2]|0;m=(m&-8)-((m&3|0)==0?8:4)|0;kd(d|0,a|0,(m>>>0<b>>>0?m:b)|0)|0;ed(a);m=d;i=r;return m|0}function gd(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;v=i;r=a+b|0;h=c[a+4>>2]|0;do if(!(h&1)){k=c[a>>2]|0;if(!(h&3)){i=v;return}o=a+(0-k)|0;n=k+b|0;j=c[1548]|0;if(o>>>0<j>>>0)Ia();if((o|0)==(c[1549]|0)){g=a+(b+4)|0;h=c[g>>2]|0;if((h&3|0)!=3){u=o;m=n;break}c[1546]=n;c[g>>2]=h&-2;c[a+(4-k)>>2]=n|1;c[r>>2]=n;i=v;return}e=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;g=c[a+(12-k)>>2]|0;h=6216+(e<<1<<2)|0;if((f|0)!=(h|0)){if(f>>>0<j>>>0)Ia();if((c[f+12>>2]|0)!=(o|0))Ia()}if((g|0)==(f|0)){c[1544]=c[1544]&~(1<<e);u=o;m=n;break}if((g|0)!=(h|0)){if(g>>>0<j>>>0)Ia();h=g+8|0;if((c[h>>2]|0)==(o|0))d=h;else Ia()}else d=g+8|0;c[f+12>>2]=g;c[d>>2]=f;u=o;m=n;break}d=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(o|0)){g=16-k|0;f=a+(g+4)|0;h=c[f>>2]|0;if(!h){g=a+g|0;h=c[g>>2]|0;if(!h){l=0;break}}else g=f;while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0<j>>>0)Ia();else{c[g>>2]=0;l=h;break}}else{e=c[a+(8-k)>>2]|0;if(e>>>0<j>>>0)Ia();h=e+12|0;if((c[h>>2]|0)!=(o|0))Ia();g=f+8|0;if((c[g>>2]|0)==(o|0)){c[h>>2]=f;c[g>>2]=e;l=f;break}else Ia()}while(0);if(d){h=c[a+(28-k)>>2]|0;g=6480+(h<<2)|0;if((o|0)==(c[g>>2]|0)){c[g>>2]=l;if(!l){c[1545]=c[1545]&~(1<<h);u=o;m=n;break}}else{if(d>>>0<(c[1548]|0)>>>0)Ia();h=d+16|0;if((c[h>>2]|0)==(o|0))c[h>>2]=l;else c[d+20>>2]=l;if(!l){u=o;m=n;break}}f=c[1548]|0;if(l>>>0<f>>>0)Ia();c[l+24>>2]=d;h=16-k|0;g=c[a+h>>2]|0;do if(g)if(g>>>0<f>>>0)Ia();else{c[l+16>>2]=g;c[g+24>>2]=l;break}while(0);h=c[a+(h+4)>>2]|0;if(h)if(h>>>0<(c[1548]|0)>>>0)Ia();else{c[l+20>>2]=h;c[h+24>>2]=l;u=o;m=n;break}else{u=o;m=n}}else{u=o;m=n}}else{u=a;m=b}while(0);j=c[1548]|0;if(r>>>0<j>>>0)Ia();h=a+(b+4)|0;g=c[h>>2]|0;if(!(g&2)){if((r|0)==(c[1550]|0)){n=(c[1547]|0)+m|0;c[1547]=n;c[1550]=u;c[u+4>>2]=n|1;if((u|0)!=(c[1549]|0)){i=v;return}c[1549]=0;c[1546]=0;i=v;return}if((r|0)==(c[1549]|0)){n=(c[1546]|0)+m|0;c[1546]=n;c[1549]=u;c[u+4>>2]=n|1;c[u+n>>2]=n;i=v;return}k=(g&-8)+m|0;d=g>>>3;do if(g>>>0>=256){d=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(r|0)){g=a+(b+20)|0;h=c[g>>2]|0;if(!h){g=a+(b+16)|0;h=c[g>>2]|0;if(!h){q=0;break}}while(1){f=h+20|0;e=c[f>>2]|0;if(e){h=e;g=f;continue}f=h+16|0;e=c[f>>2]|0;if(!e)break;else{h=e;g=f}}if(g>>>0<j>>>0)Ia();else{c[g>>2]=0;q=h;break}}else{e=c[a+(b+8)>>2]|0;if(e>>>0<j>>>0)Ia();h=e+12|0;if((c[h>>2]|0)!=(r|0))Ia();g=f+8|0;if((c[g>>2]|0)==(r|0)){c[h>>2]=f;c[g>>2]=e;q=f;break}else Ia()}while(0);if(d){h=c[a+(b+28)>>2]|0;g=6480+(h<<2)|0;if((r|0)==(c[g>>2]|0)){c[g>>2]=q;if(!q){c[1545]=c[1545]&~(1<<h);break}}else{if(d>>>0<(c[1548]|0)>>>0)Ia();g=d+16|0;if((c[g>>2]|0)==(r|0))c[g>>2]=q;else c[d+20>>2]=q;if(!q)break}f=c[1548]|0;if(q>>>0<f>>>0)Ia();c[q+24>>2]=d;g=c[a+(b+16)>>2]|0;do if(g)if(g>>>0<f>>>0)Ia();else{c[q+16>>2]=g;c[g+24>>2]=q;break}while(0);f=c[a+(b+20)>>2]|0;if(f)if(f>>>0<(c[1548]|0)>>>0)Ia();else{c[q+20>>2]=f;c[f+24>>2]=q;break}}}else{e=c[a+(b+8)>>2]|0;f=c[a+(b+12)>>2]|0;h=6216+(d<<1<<2)|0;if((e|0)!=(h|0)){if(e>>>0<j>>>0)Ia();if((c[e+12>>2]|0)!=(r|0))Ia()}if((f|0)==(e|0)){c[1544]=c[1544]&~(1<<d);break}if((f|0)!=(h|0)){if(f>>>0<j>>>0)Ia();g=f+8|0;if((c[g>>2]|0)==(r|0))p=g;else Ia()}else p=f+8|0;c[e+12>>2]=f;c[p>>2]=e}while(0);c[u+4>>2]=k|1;c[u+k>>2]=k;if((u|0)==(c[1549]|0)){c[1546]=k;i=v;return}else h=k}else{c[h>>2]=g&-2;c[u+4>>2]=m|1;c[u+m>>2]=m;h=m}g=h>>>3;if(h>>>0<256){e=g<<1;h=6216+(e<<2)|0;d=c[1544]|0;f=1<<g;if(d&f){f=6216+(e+2<<2)|0;e=c[f>>2]|0;if(e>>>0<(c[1548]|0)>>>0)Ia();else{s=f;t=e}}else{c[1544]=d|f;s=6216+(e+2<<2)|0;t=h}c[s>>2]=u;c[t+12>>2]=u;c[u+8>>2]=t;c[u+12>>2]=h;i=v;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{m=(d+1048320|0)>>>16&8;n=d<<m;l=(n+520192|0)>>>16&4;n=n<<l;g=(n+245760|0)>>>16&2;g=14-(l|m|g)+(n<<g>>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;f=6480+(g<<2)|0;c[u+28>>2]=g;c[u+20>>2]=0;c[u+16>>2]=0;e=c[1545]|0;d=1<<g;if(!(e&d)){c[1545]=e|d;c[f>>2]=u;c[u+24>>2]=f;c[u+12>>2]=u;c[u+8>>2]=u;i=v;return}f=c[f>>2]|0;if((g|0)==31)d=0;else d=25-(g>>>1)|0;a:do if((c[f+4>>2]&-8|0)!=(h|0)){g=h<<d;d=f;while(1){e=d+(g>>>31<<2)+16|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0))break a;else{g=g<<1;d=f}}if(e>>>0<(c[1548]|0)>>>0)Ia();c[e>>2]=u;c[u+24>>2]=d;c[u+12>>2]=u;c[u+8>>2]=u;i=v;return}while(0);d=f+8|0;e=c[d>>2]|0;n=c[1548]|0;if(!(f>>>0>=n>>>0&e>>>0>=n>>>0))Ia();c[e+12>>2]=u;c[d>>2]=u;c[u+8>>2]=e;c[u+12>>2]=f;c[u+24>>2]=0;i=v;return}function hd(){}function id(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;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function jd(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return wa(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 ld(a){a=a|0;return (a&255)<<8|a>>8&255|0}function md(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function nd(a){a=a|0;return Ma[a&1]()|0}function od(a,b){a=a|0;b=b|0;Na[a&15](b|0)}function pd(a,b,c){a=a|0;b=b|0;c=c|0;Oa[a&1](b|0,c|0)}function qd(a,b){a=a|0;b=b|0;return Pa[a&3](b|0)|0}function rd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qa[a&31](b|0,c|0,d|0)}function sd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Ra[a&7](b|0,c|0,+d)}function td(a,b,c){a=a|0;b=b|0;c=c|0;return Sa[a&63](b|0,c|0)|0}function ud(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ta[a&7](b|0,c|0,d|0,e|0)}function vd(){aa(0);return 0}function wd(a){a=a|0;aa(1)}function xd(a,b){a=a|0;b=b|0;aa(2)}function yd(a){a=a|0;aa(3);return 0}function zd(a,b,c){a=a|0;b=b|0;c=c|0;aa(4)}function Ad(a,b,c){a=a|0;b=b|0;c=+c;aa(5)}function Bd(a,b){a=a|0;b=b|0;aa(6);return 0}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(7)}
// EMSCRIPTEN_END_FUNCS
var Ma=[vd,Fb];var Na=[wd,bb,Hb,Ec,Bc,Ac,Pb,Gb,Ob,wd,wd,wd,wd,wd,wd,wd];var Oa=[xd,Sb];var Pa=[yd,Fc,Dc,yd];var Qa=[zd,Qb,Rb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,cc,dc,fc,gc,kc,lc,nc,oc,rc,sc,vb,zd,zd,zd,zd,zd,zd,zd,zd];var Ra=[Ad,hc,ic,pc,qc,Ad,Ad,Ad];var Sa=[Bd,cb,gb,db,ab,Gc,Hc,Kb,Lb,Ib,Jb,Mb,Nb,tc,uc,vc,wc,eb,wb,Lc,Tc,kb,jb,Vc,Wc,sb,zb,Db,pb,Pc,_c,Qc,Cc,ad,bd,$c,Zc,cd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd,Bd];var Ta=[Cd,bc,ec,jc,mc,Cd,Cd,Cd];return{_llvm_bswap_i16:ld,_strlen:jd,_free:ed,_main:hb,_realloc:fd,_memset:id,_malloc:dd,_memcpy:kd,_llvm_bswap_i32:md,runPostSets:hd,stackAlloc:Ua,stackSave:Va,stackRestore:Wa,setThrew:Xa,setTempRet0:_a,getTempRet0:$a,dynCall_i:nd,dynCall_vi:od,dynCall_vii:pd,dynCall_ii:qd,dynCall_viii:rd,dynCall_viid:sd,dynCall_iii:td,dynCall_viiii:ud}})
// EMSCRIPTEN_END_ASM
(q.ad,q.bd,P),Pb=q._llvm_bswap_i16=$._llvm_bswap_i16,Nb=q._strlen=$._strlen,Ia=q._free=$._free;q._main=$._main;q._realloc=$._realloc;var Gb=q._memset=$._memset,Ca=q._malloc=$._malloc,Ob=q._memcpy=$._memcpy,Rb=q._llvm_bswap_i32=$._llvm_bswap_i32;q.runPostSets=$.runPostSets;q.dynCall_i=$.dynCall_i;q.dynCall_vi=$.dynCall_vi;q.dynCall_vii=$.dynCall_vii;q.dynCall_ii=$.dynCall_ii;q.dynCall_viii=$.dynCall_viii;q.dynCall_viid=$.dynCall_viid;q.dynCall_iii=$.dynCall_iii;
q.dynCall_viiii=$.dynCall_viiii;y.rb=$.stackAlloc;y.Yb=$.stackSave;y.Xb=$.stackRestore;y.ie=$.setTempRet0;y.Fd=$.getTempRet0;if(S)if("function"===typeof q.locateFile?S=q.locateFile(S):q.memoryInitializerPrefixURL&&(S=q.memoryInitializerPrefixURL+S),u||da){var uc=q.readBinary(S);N.set(uc,Ma)}else cb(),Cb(S,function(a){N.set(a,Ma);db()},function(){e("could not load memory initializer "+S)});function ia(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}
ia.prototype=Error();var vc,xc=k,bb=function yc(){q.calledRun||zc();q.calledRun||(bb=yc)};
q.callMain=q.ng=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}v(0==Q,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");v(0==Sa.length,"cannot call main when preRun functions remain to be called");a=a||[];Xa||(Xa=j,Ra(Ta));var c=a.length+1,d=[M($a(q.thisProgram),"i8",0)];b();for(var f=0;f<c-1;f+=1)d.push(M($a(a[f]),"i8",0)),b();d.push(0);d=M(d,"i32",0);vc=w;try{var h=q._main(c,d,0);Ac(h)}catch(i){i instanceof ia||("SimulateInfiniteLoop"==i?q.noExitRuntime=j:(i&&("object"===
typeof i&&i.stack)&&q.ca("exception thrown: "+[i,i.stack]),e(i)))}finally{}};
function zc(a){function b(){if(!q.calledRun&&(q.calledRun=j,!I)){Xa||(Xa=j,Ra(Ta));Ra(Ua);ba&&xc!==k&&q.ca("pre-main prep time: "+(Date.now()-xc)+" ms");if(q.onRuntimeInitialized)q.onRuntimeInitialized();q._main&&Bc&&q.callMain(a);if(q.postRun)for("function"==typeof q.postRun&&(q.postRun=[q.postRun]);q.postRun.length;)Za(q.postRun.shift());Ra(Wa)}}a=a||q.arguments;xc===k&&(xc=Date.now());if(!(0<Q)){if(q.preRun)for("function"==typeof q.preRun&&(q.preRun=[q.preRun]);q.preRun.length;)Ya(q.preRun.shift());
Ra(Sa);!(0<Q)&&!q.calledRun&&(q.setStatus?(q.setStatus("Running..."),setTimeout(function(){setTimeout(function(){q.setStatus("")},1);b()},1)):b())}}q.run=q.oh=zc;function Ac(a){q.noExitRuntime||(I=j,w=vc,Ra(Va),u?(process.stdout.once("drain",function(){process.exit(a)}),console.log(" "),setTimeout(function(){process.exit(a)},500)):da&&"function"===typeof quit&&quit(a),e(new ia(a)))}q.exit=q.zg=Ac;var Cc=[];
function B(a){a!==g?(q.print(a),q.ca(a),a=JSON.stringify(a)):a="";I=j;var b="abort("+a+") at "+Ja()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";Cc.forEach(function(c){b=c(b,a)});e(b)}q.abort=q.abort=B;if(q.preInit)for("function"==typeof q.preInit&&(q.preInit=[q.preInit]);0<q.preInit.length;)q.preInit.pop()();var Bc=j;q.noInitialRun&&(Bc=m);zc();
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment