// Generated by js_of_ocaml 3.8.0 (function(g){"use strict";var dr="%Li",ds=" : flags Open_text and Open_binary are not compatible",d_="Invalid_argument",br=0.5,b_=1255,dJ=255,dK=0x800,W=0xffff,b9="jsError",V=0x8000,d9="%ni",dV=12520,b8=256,bu=-646333223,dH="unsupported bigarray kind",dI="End_of_file",dq="Unix.Unix_error",dG="Failure",dU="infinity",ai=0xff,a7=1000,dp="Stack_overflow",dT="Row out of bounds.",f="",cb="^",d8=122,L="0",dn=-97,aO=0x3f,dm="Not_found",b7=0xf,cg=0.66666666666666663,a9=128,dE=-48,dF=0xdc00,d6="Sys_blocked_io",d7="fd ",dD="Worker.onmessage is undefined",dS="Match_failure",r=248,dl="static/",dB="bigarray kind can't be represented by a Gg.Ba.scalar_type",u="camlinternalFormat.ml",dC="Division_by_zero",d5=">",ca=252,d4=1027,dA="Sys_error",aB=".",aN="+",dR=0xf0,d3=246,d1="Column out of bounds.",d2="%u",dz="%d",dk=1026,dQ="%li",aA="shapes/matrix/Matrix.ml",dy="buffer.ml",bs="int_of_string",d0="_bigarray",dP=-32,cf=127,a8=1024,af=" ",Q=0x80,ce="e",dj="Undefined_recursive_module",dw=120,dx=103,dZ=" : flags Open_rdonly and Open_wronly are not compatible",dY="([^/]*)",b6=512,aC="-",b$="nan",dv=0x7ff0,dO=0xe0,dX=" : file already exists",dN=0xdfff,ah=0xffffff,b5="compare: functional value",dM="Assert_failure",ag="/",du="0x",di="%i",dW="Out_of_memory",R=254,dL=1073741823,cd="index out of bounds",dt=100,bt=250,cc="_bigarr02";function je(b,a){throw[0,b,a]}function aS(b,a){if(b==0)return f;if(a.repeat)return a.repeat(b);var d=f,c=0;for(;;){if(b&1)d+=a;b>>=1;if(b==0)return d;a+=a;c++;if(c==9)a.slice(0,1)}}function bA(c,b,a){var d=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var e=f;for(;0cf)return false;return true}else return!/[^\x00-\x7f]/.test(a)}function cw(e){for(var k=f,c=f,h,g,i,a,b=0,j=e.length;bb6){c.substr(0,1);k+=c;c=f;k+=e.slice(b,d)}else c+=e.slice(b,d);if(d==j)break;b=d}a=1;if(++b=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b0x10ffff)a=3}}}}}if(a<4){b-=a;c+="\ufffd"}else if(a>W)c+=String.fromCharCode(0xd7c0+(a>>10),dF+(a&0x3FF));else c+=String.fromCharCode(a);if(c.length>a8){c.substr(0,1);k+=c;c=f}}return k+c}function aj(c,a,b){this.t=c;this.c=a;this.l=b}aj.prototype.toString=function(){switch(this.t){case 9:return this.c;default:aE(this);case 0:if(eC(this.c)){this.t=9;return this.c}this.t=8;case 8:return this.c}};aj.prototype.toUtf16=function(){var a=this.toString();if(this.t==9)return a;return cw(a)};aj.prototype.slice=function(){var a=this.t==4?this.c.slice():this.c;return new aj(this.t,a,this.l)};function ej(a){return new aj(0,a,a.length)}function a(a){return ej(a)}function ct(c,b){je(c,a(b))}var q=[0];function w(a){ct(q.Invalid_argument,a)}function aQ(){w(cd)}function ea(b,a){if(a<0||a>=b.length-1)aQ();return b[a+1]}function iw(e,f,d){var a=new Array(d+1);a[0]=0;for(var b=1,c=f+1;b<=d;b++,c++)a[b]=e[c];return a}function bv(b){if(g.Uint8Array)var c=new(g.Uint8Array)(b.l);else var c=new Array(b.l);var e=b.c,d=e.length,a=0;for(;a=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?bA(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else if(b.t==2&&f==b.c.length){b.c+=d.t==4?bA(d.c,e,c):e==0&&d.c.length==c?d.c:d.c.substr(e,c);b.t=b.c.length==b.l?0:2}else{if(b.t!=4)bv(b);var g=d.c,h=b.c;if(d.t==4)if(f<=e)for(var a=0;a=0;a--)h[f+a]=g[e+a];else{var i=Math.min(c,g.length-e);for(var a=0;a>>0>=b.l)eh();return p(b,a,c)}function a_(a,b){switch(a.t&6){default:if(b>=a.c.length)return 0;case 0:return a.c.charCodeAt(b);case 4:return a.c[b]}}function au(c,a){if(c.fun)return au(c.fun,a);if(typeof c!=="function")return c;var b=c.length|0;if(b===0)return c.apply(null,a);var e=a.length|0,d=b-e|0;if(d==0)return c.apply(null,a);else if(d<0)return au(c.apply(null,a.slice(0,b)),a.slice(b));else return function(){var e=arguments.length==0?1:arguments.length,d=new Array(a.length+e);for(var b=0;b>>0>=a.length-1)aQ();return a}function iD(a){if(isFinite(a)){if(Math.abs(a)>=2.2250738585072014e-308)return 0;if(a!=0)return 1;return 2}return isNaN(a)?4:3}function v(a){if(a<0)w("Bytes.create");return new aj(a?2:9,f,a)}function am(a){if((a.t&6)!=0)aE(a);return a.c}var jr=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function jq(a){if(jr)return Math.floor(Math.log2(a));var b=0;if(a==0)return-Infinity;if(a>=1)while(a>=2){a/=2;b++}else while(a<1){a*=2;b--}return b}function cl(c){var a=new(g.Float32Array)(1);a[0]=c;var b=new(g.Int32Array)(a.buffer);return b[0]|0}var eq=Math.pow(2,-24);function ey(a){throw a}function cu(){ey(q.Division_by_zero)}function d(b,c,a){this.lo=b&ah;this.mi=c&ah;this.hi=a&W}d.prototype.caml_custom="_j";d.prototype.copy=function(){return new d(this.lo,this.mi,this.hi)};d.prototype.ucompare=function(a){if(this.hi>a.hi)return 1;if(this.hia.mi)return 1;if(this.mia.lo)return 1;if(this.loc)return 1;if(ba.mi)return 1;if(this.mia.lo)return 1;if(this.lo>24),c=-this.hi+(b>>24);return new d(a,b,c)};d.prototype.add=function(a){var b=this.lo+a.lo,c=this.mi+a.mi+(b>>24),e=this.hi+a.hi+(c>>24);return new d(b,c,e)};d.prototype.sub=function(a){var b=this.lo-a.lo,c=this.mi-a.mi+(b>>24),e=this.hi-a.hi+(c>>24);return new d(b,c,e)};d.prototype.mul=function(a){var b=this.lo*a.lo,c=(b*eq|0)+this.mi*a.lo+this.lo*a.mi,e=(c*eq|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new d(b,c,e)};d.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};d.prototype.isNeg=function(){return this.hi<<16<0};d.prototype.and=function(a){return new d(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};d.prototype.or=function(a){return new d(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};d.prototype.xor=function(a){return new d(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};d.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new d(this.lo<>24-a,this.hi<>24-a);if(a<48)return new d(0,this.lo<>48-a);return new d(0,0,this.lo<>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new d(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new d(this.hi>>a-48,0,0)};d.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var c=this.hi<<16>>16;if(a<24)return new d(this.lo>>a|this.mi<<24-a,this.mi>>a|c<<24-a,this.hi<<16>>a>>>16);var b=this.hi<<16>>31;if(a<48)return new d(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&W);return new d(this.hi<<16>>a-32,b,b)};d.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&ah;this.lo=this.lo<<1&ah};d.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&ah;this.mi=(this.mi>>>1|this.hi<<23)&ah;this.hi=this.hi>>>1};d.prototype.udivmod=function(f){var c=0,b=this.copy(),a=f.copy(),e=new d(0,0,0);while(b.ucompare(a)>0){c++;a.lsl1()}while(c>=0){c--;e.lsl1();if(b.ucompare(a)>=0){e.lo++;b=b.sub(a)}a.lsr1()}return{quotient:e,modulus:b}};d.prototype.div=function(a){var b=this;if(a.isZero())cu();var d=b.hi^a.hi;if(b.hi&V)b=b.neg();if(a.hi&V)a=a.neg();var c=b.udivmod(a).quotient;if(d&V)c=c.neg();return c};d.prototype.mod=function(b){var a=this;if(b.isZero())cu();var d=a.hi;if(a.hi&V)a=a.neg();if(b.hi&V)b=b.neg();var c=a.udivmod(b).modulus;if(d&V)c=c.neg();return c};d.prototype.toInt=function(){return this.lo|this.mi<<24};d.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};d.prototype.toArray=function(){return[this.hi>>8,this.hi&ai,this.mi>>16,this.mi>>8&ai,this.mi&ai,this.lo>>16,this.lo>>8&ai,this.lo&ai]};d.prototype.lo32=function(){return this.lo|(this.mi&ai)<<24};d.prototype.hi32=function(){return this.mi>>>8&W|this.hi<<16};function by(b,c,a){return new d(b,c,a)}function bx(a){if(!isFinite(a)){if(isNaN(a))return by(1,0,dv);return a>0?by(0,0,dv):by(0,0,0xfff0)}var f=a==0&&1/a==-Infinity?V:a>=0?0:V;if(f)a=-a;var b=jq(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-dk)}else{a/=Math.pow(2,b-d4);if(a<16){a*=2;b-=1}if(b==0)a/=2}var d=Math.pow(2,24),c=a|0;a=(a-c)*d;var e=a|0;a=(a-e)*d;var g=a|0;c=c&b7|f|b<<4;return by(g,e,c)}function bc(a){return a.toArray()}function eg(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==cc)for(var a=0;a>4;if(c==2047)return(f|g|b&b7)==0?b&V?-Infinity:Infinity:NaN;var e=Math.pow(2,-24),a=(f*e+g)*e+(b&b7);if(c>0){a+=16;a*=Math.pow(2,c-d4)}else a*=Math.pow(2,-dk);if(b&V)a=-a;return a}function ch(b){var d=b.length,c=1;for(var a=0;a>>24&ai|(a&W)<<8,a>>>16&W)}function co(a){return a.hi32()}function cp(a){return a.lo32()}var iy=d0;function ar(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}ar.prototype.caml_custom=iy;ar.prototype.offset=function(b){var c=0;if(typeof b==="number")b=[b];if(!(b instanceof Array))w("bigarray.js: invalid offset");if(this.dims.length!=b.length)w("Bigarray.get/set: bad number of dimensions");if(this.layout==0)for(var a=0;a=this.dims[a])aQ();c=c*this.dims[a]+b[a]}else for(var a=this.dims.length-1;a>=0;a--){if(b[a]<1||b[a]>this.dims[a])aQ();c=c*this.dims[a]+(b[a]-1)}return c};ar.prototype.get=function(a){switch(this.kind){case 7:var d=this.data[a*2+0],b=this.data[a*2+1];return iN(d,b);case 10:case 11:var e=this.data[a*2+0],c=this.data[a*2+1];return[R,e,c];default:return this.data[a]}};ar.prototype.set=function(a,b){switch(this.kind){case 7:this.data[a*2+0]=cp(b);this.data[a*2+1]=co(b);break;case 10:case 11:this.data[a*2+0]=b[1];this.data[a*2+1]=b[2];break;default:this.data[a]=b;break}return 0};ar.prototype.fill=function(b){switch(this.kind){case 7:var c=cp(b),e=co(b);if(c==e)this.data.fill(c);else for(var a=0;ad)return 1;if(c!=d){if(!g)return NaN;if(c==c)return 1;if(d==d)return-1}}break;case 7:for(var a=0;ab.data[a+1])return 1;if(this.data[a]>>>0>>0)return-1;if(this.data[a]>>>0>b.data[a]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(var a=0;ab.data[a])return 1}break}return 0};function aP(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}aP.prototype=new ar();aP.prototype.offset=function(a){if(typeof a!=="number")if(a instanceof Array&&a.length==1)a=a[0];else w("Ml_Bigarray_c_1_1.offset");if(a<0||a>=this.dims[0])aQ();return a};aP.prototype.get=function(a){return this.data[a]};aP.prototype.set=function(a,b){this.data[a]=b;return 0};aP.prototype.fill=function(a){this.data.fill(a);return 0};function ec(c,d,a,b){var e=ee(c);if(ch(a)*e!=b.length)w("length doesn't match dims");if(d==0&&a.length==1&&e==1)return new aP(c,d,a,b);return new ar(c,d,a,b)}function Z(a){ct(q.Failure,a)}function ed(b,v,r){var i=b.read32s();if(i<0||i>16)Z("input_value: wrong number of bigarray dimensions");var p=b.read32s(),j=p&ai,o=p>>8&1,h=[];if(r==cc)for(var a=0;a>>32-15;a=et(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function iI(a,b){a=al(a,cp(b));a=al(a,co(b));return a}function ep(a,b){return iI(a,bx(b))}function ef(c){var b=ch(c.dims),d=0;switch(c.kind){case 2:case 3:case 12:if(b>b8)b=b8;var e=0,a=0;for(a=0;a+4<=c.data.length;a+=4){e=c.data[a+0]|c.data[a+1]<<8|c.data[a+2]<<16|c.data[a+3]<<24;d=al(d,e)}e=0;switch(b&3){case 3:e=c.data[a+2]<<16;case 2:e|=c.data[a+1]<<8;case 1:e|=c.data[a+0];d=al(d,e)}break;case 4:case 5:if(b>a9)b=a9;var e=0,a=0;for(a=0;a+2<=c.data.length;a+=2){e=c.data[a+0]|c.data[a+1]<<16;d=al(d,e)}if((b&1)!=0)d=al(d,c.data[a]);break;case 6:if(b>64)b=64;for(var a=0;a64)b=64;for(var a=0;a32)b=32;b*=2;for(var a=0;a64)b=64;for(var a=0;a32)b=32;for(var a=0;a0?b(c,f,e):b(f,c,e);if(e&&a!=a)return d;if(+a!=+a)return+a;if((a|0)!=0)return a|0}return d}function bz(a){return a instanceof aj}function cq(a){return bz(a)}function el(a){if(typeof a==="number")return a7;else if(bz(a))return ca;else if(cq(a))return 1252;else if(a instanceof Array&&a[0]===a[0]>>>0&&a[0]<=dJ){var b=a[0]|0;return b==R?0:b}else if(a instanceof String)return dV;else if(typeof a=="string")return dV;else if(a instanceof Number)return a7;else if(a&&a.caml_custom)return b_;else if(a&&a.compare)return 1256;else if(typeof a=="function")return 1247;else if(typeof a=="symbol")return 1251;return 1001}function iX(a,b){if(ab.c?1:0}function jt(a,b){return ei(a,b)}function a$(a,b,d){var e=[];for(;;){if(!(d&&a===b)){var f=el(a);if(f==bt){a=a[1];continue}var g=el(b);if(g==bt){b=b[1];continue}if(f!==g){if(f==a7){if(g==b_)return ek(a,b,-1,d);return-1}if(g==a7){if(f==b_)return ek(b,a,1,d);return 1}return fb)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case 1001:if(ab)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case 1251:if(a!==b){if(!d)return NaN;return 1}break;case 1252:var a=am(a),b=am(b);if(a!==b){if(ab)return 1}break;case 12520:var a=a.toString(),b=b.toString();if(a!==b){if(ab)return 1}break;case 246:case 254:default:if(a.length!=b.length)return a.length1)e.push(a,b,1);break}}if(e.length==0)return 0;var h=e.pop();b=e.pop();a=e.pop();if(h+10)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=f;a.t=2}else{a.c=aS(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)bv(a);for(b+=c;cb)return 1;if(a===a)return 1;if(b===b)return-1;return 0}function cs(d){d=am(d);var e=d.length;if(e>31)w("format_int: format too long");var a={justify:aN,signstyle:aC,filler:af,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:"f"};for(var c=0;c=0&&b<=9){a.width=a.width*10+b;c++}c--;break;case".":a.prec=0;c++;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.prec=a.prec*10+b;c++}c--;case"d":case"i":a.signedconv=true;case"u":a.base=10;break;case"x":a.base=16;break;case"X":a.base=16;a.uppercase=true;break;case"o":a.base=8;break;case"e":case"f":case"g":a.signedconv=true;a.conv=b;break;case"E":case"F":case"G":a.signedconv=true;a.uppercase=true;a.conv=b.toLowerCase();break}}return a}function ck(b,g){if(b.uppercase)g=g.toUpperCase();var e=g.length;if(b.signedconv&&(b.sign<0||b.signstyle!=aC))e++;if(b.alternate){if(b.base==8)e+=1;if(b.base==16)e+=2}var c=f;if(b.justify==aN&&b.filler==af)for(var d=e;d20){c-=20;a/=Math.pow(10,c);a+=new Array(c+1).join(L);if(b>0)a=a+aB+new Array(b+1).join(L);return a}else return a.toFixed(b)}}var a,e=cs(i),d=e.prec<0?6:e.prec;if(c<0||c==0&&1/c==-Infinity){e.sign=-1;c=-c}if(isNaN(c)){a=b$;e.filler=af}else if(!isFinite(c)){a="inf";e.filler=af}else switch(e.conv){case"e":var a=c.toExponential(d),b=a.length;if(a.charAt(b-3)==ce)a=a.slice(0,b-1)+L+a.slice(b-1);break;case"f":a=j(c,d);break;case"g":d=d?d:1;a=c.toExponential(d-1);var h=a.indexOf(ce),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var b=h-1;while(a.charAt(b)==L)b--;if(a.charAt(b)==aB)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==ce)a=a.slice(0,b-1)+L+a.slice(b-1);break}else{var f=d;if(g<0){f-=g+1;a=c.toFixed(f)}else while(a=c.toFixed(f),a.length>d+1)f--;if(f){var b=a.length-1;while(a.charAt(b)==L)b--;if(a.charAt(b)==aB)b--;a=a.slice(0,b+1)}}break}return ck(e,a)}function bw(e,c){if(am(e)==dz)return a(f+c);var b=cs(e);if(c<0)if(b.signedconv){b.sign=-1;c=-c}else c>>>=0;var d=c.toString(b.base);if(b.prec>=0){b.filler=af;var g=b.prec-d.length;if(g>0)d=aS(g,L)+d}return ck(b,d)}var ja=0;function H(){return ja++}function er(a){return a.toUtf16()}if(g.process&&g.process.cwd)var ba=g.process.cwd().replace(/\\/g,ag);else var ba="/static";if(ba.slice(-1)!==ag)ba+=ag;function i2(a){a=er(a);if(a.charCodeAt(0)!=47)a=ba+a;var d=a.split(ag),b=[];for(var c=0;c1)b.pop();break;case".":break;case"":if(b.length==0)b.push(f);break;default:b.push(d[c]);break}b.orig=a;return b}function iB(a){return new aj(4,a,a.length)}function jm(e){for(var g=f,b=g,a,i,c=0,h=e.length;cb6){b.substr(0,1);g+=b;b=f;g+=e.slice(c,d)}else b+=e.slice(c,d);if(d==h)break;c=d}if(a>6);b+=String.fromCharCode(Q|a&aO)}else if(a<0xd800||a>=dN)b+=String.fromCharCode(dO|a>>12,Q|a>>6&aO,Q|a&aO);else if(a>=0xdbff||c+1==h||(i=e.charCodeAt(c+1))dN)b+="\xef\xbf\xbd";else{c++;a=(a<<10)+i-0x35fdc00;b+=String.fromCharCode(dR|a>>18,Q|a>>12&aO,Q|a>>6&aO,Q|a&aO)}if(b.length>a8){b.substr(0,1);g+=b;b=f}}return g+b}function iC(a){var b=9;if(!eC(a))b=8,a=jm(a);return new aj(b,a,a.length)}function ao(a){return iC(a)}function n(a){ct(q.Sys_error,a)}function jc(a){a=am(a);n(a+": No such file or directory")}function iA(b,a){if(a>>>0>=b.l)eh();return a_(b,a)}function M(a){return a.l}function d$(){}function z(a){this.data=a}z.prototype=new d$();z.prototype.truncate=function(a){var b=this.data;this.data=v(a|0);as(b,0,this.data,0,a)};z.prototype.length=function(){return M(this.data)};z.prototype.write=function(b,d,g,a){var c=this.length();if(b+a>=c){var e=v(b+a),f=this.data;this.data=e;as(f,0,this.data,0,c)}at(d,g,this.data,b,a);return 0};z.prototype.read=function(c,a,d,b){var e=this.length();as(this.data,c,a,d,b);return 0};z.prototype.read_one=function(a){return iA(this.data,a)};z.prototype.close=function(){};z.prototype.constructor=z;function S(b,a){this.content={};this.root=b;this.lookupFun=a}S.prototype.nm=function(a){return this.root+a};S.prototype.lookup=function(b){if(!this.content[b]&&this.lookupFun){var c=this.lookupFun(a(this.root),a(b));if(c!==0)this.content[b]=new z(ak(c[1]))}};S.prototype.exists=function(a){if(a==f)return 1;var c=a+ag,d=new RegExp(cb+c);for(var b in this.content)if(b.match(d))return 1;this.lookup(a);return this.content[a]?1:0};S.prototype.readdir=function(c){var g=c==f?f:c+ag,h=new RegExp(cb+g+dY),d={},b=[];for(var e in this.content){var a=e.match(h);if(a&&!d[a[1]]){d[a[1]]=true;b.push(a[1])}}return b};S.prototype.is_dir=function(a){var d=a==f?f:a+ag,e=new RegExp(cb+d+dY),g=[];for(var c in this.content){var b=c.match(e);if(b)return 1}return 0};S.prototype.unlink=function(a){var b=this.content[a]?true:false;delete this.content[a];return b};S.prototype.open=function(a,b){if(b.rdonly&&b.wronly)n(this.nm(a)+dZ);if(b.text&&b.binary)n(this.nm(a)+ds);this.lookup(a);if(this.content[a]){if(this.is_dir(a))n(this.nm(a)+" : is a directory");if(b.create&&b.excl)n(this.nm(a)+dX);var c=this.content[a];if(b.truncate)c.truncate();return c}else if(b.create){this.content[a]=new z(v(0));return this.content[a]}else jc(this.nm(a))};S.prototype.register=function(b,a){if(this.content[b])n(this.nm(b)+dX);if(bz(a))this.content[b]=new z(a);if(cq(a))this.content[b]=new z(ak(a));else if(a instanceof Array)this.content[b]=new z(iB(a));else if(typeof a==="string")this.content[b]=new z(ej(a));else if(a.toString){var c=ak(ao(a.toString()));this.content[b]=new z(c)}else n(this.nm(b)+" : registering file with invalid content type")};S.prototype.constructor=S;function i(a){return M(a)}function U(b,a){return a_(b,a)}function iv(d){var c=i(d),b=new Array(c),a=0;for(;a=0)}function iJ(a,c,l){if(!isFinite(a)){if(isNaN(a))return ao(b$);return ao(a>0?dU:"-infinity")}var j=a==0&&1/a==-Infinity?1:a>=0?0:1;if(j)a=-a;var d=0;if(a==0);else if(a<1)while(a<1&&d>-1022){a*=2;d--}else while(a>=2){a/=2;d++}var k=d<0?f:aN,e=f;if(j)e=aC;else switch(l){case 43:e=aN;break;case 32:e=af;break;default:break}if(c>=0&&c<13){var h=Math.pow(2,c*4);a=Math.round(a*h)/h}var b=a.toString(16);if(c>=0){var i=b.indexOf(aB);if(i<0)b+=aB+aS(c,L);else{var g=i+1+c;if(b.length>24&ah,a>>31&W)}function iV(a){return a.toInt()}function iQ(a){return+a.isNeg()}function iT(a){return a.neg()}function iO(h,c){var a=cs(h);if(a.signedconv&&iQ(c)){a.sign=-1;c=iT(c)}var b=f,i=iU(a.base),g="0123456789abcdef";do{var e=c.udivmod(i);c=e.quotient;b=g.charAt(iV(e.modulus))+b}while(!iR(c));if(a.prec>=0){a.filler=af;var d=a.prec-b.length;if(d>0)b=aS(d,L)+b}return ck(a,b)}function jb(c){var a=0,e=i(c),b=10,d=1;if(e>0)switch(U(c,a)){case 45:a++;d=-1;break;case 43:a++;d=1;break}if(a+1=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=d8)return a-87;return-1}function iY(f){var h=jb(f),c=h[0],j=h[1],d=h[2],g=i(f),k=-1>>>0,e=c=d)Z(bs);var a=b;for(c++;c=d)break;a=d*a+b;if(a>k)Z(bs)}if(c!=g)Z(bs);a=j*a;if(d==10&&(a|0)!=a)Z(bs);return a|0}function iZ(d){return function(){var b=arguments.length;if(b>0){var c=new Array(b);for(var a=0;a>>32-b,c)}function g(c,b,d,e,h,f,g){return a(b&d|~b&e,c,b,h,f,g)}function h(d,b,e,c,h,f,g){return a(b&c|e&~c,d,b,h,f,g)}function i(c,b,d,e,h,f,g){return a(b^d^e,c,b,h,f,g)}function j(c,b,d,e,h,f,g){return a(d^(b|~e),c,b,h,f,g)}function k(f,n){var e=n;f[e>>2]|=Q<<8*(e&3);for(e=(e&~0x3)+8;(e&0x3F)<60;e+=4)f[(e>>2)-1]=0;f[(e>>2)-1]=n<<3;f[e>>2]=n>>29&0x1FFFFFFF;var k=[0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476];for(e=0;e>8*m&0xFF;return o}return function(h,g,f){var e=[];switch(h.t&6){default:aE(h);case 0:var d=h.c;for(var a=0;a>2]=d.charCodeAt(b)|d.charCodeAt(b+1)<<8|d.charCodeAt(b+2)<<16|d.charCodeAt(b+3)<<24}for(;a>2]|=d.charCodeAt(a+g)<<8*(a&3);break;case 4:var c=h.c;for(var a=0;a>2]=c[b]|c[b+1]<<8|c[b+2]<<16|c[b+3]<<24}for(;a>2]|=c[a+g]<<8*(a&3)}return jh(k(e,f))}}();function i4(c,b,a){return i3(ak(c),b,a)}var _=new Array();function cr(c){var a=_[c];if(!a.opened)n("Cannot flush a closed channel");if(!a.buffer||a.buffer==f)return 0;if(a.fd&&q.fds[a.fd]&&q.fds[a.fd].output){var b=q.fds[a.fd].output;switch(b.length){case 2:b(c,a.buffer);break;default:b(a.buffer)}}a.buffer=f;return 0}function eA(e,f){var b=_[e],d=a(f),c=i(d);b.file.write(b.offset,d,0,c);b.offset+=c;return 0}function jo(a){var a=cw(a),b=g;if(b.process&&b.process.stdout&&b.process.stdout.write)b.process.stderr.write(a);else{if(a.charCodeAt(a.length-1)==10)a=a.substr(0,a.length-1);var c=b.console;c&&c.error&&c.error(a)}}function jp(a){var a=cw(a),b=g;if(b.process&&b.process.stdout&&b.process.stdout.write)b.process.stdout.write(a);else{if(a.charCodeAt(a.length-1)==10)a=a.substr(0,a.length-1);var c=b.console;c&&c.log&&c.log(a)}}function bC(c,e,d,a){if(q.fds===undefined)q.fds=new Array();a=a?a:{};var b={};b.file=d;b.offset=a.append?d.length():0;b.flags=a;b.output=e;q.fds[c]=b;if(!q.fd_last_idx||c>q.fd_last_idx)q.fd_last_idx=c;return c}function ju(c,b,g){var a={};while(b){switch(b[1]){case 0:a.rdonly=1;break;case 1:a.wronly=1;break;case 2:a.append=1;break;case 3:a.create=1;break;case 4:a.truncate=1;break;case 5:a.excl=1;break;case 6:a.binary=1;break;case 7:a.text=1;break;case 8:a.nonblock=1;break}b=b[2]}if(a.rdonly&&a.wronly)n(am(c)+dZ);if(a.text&&a.binary)n(am(c)+ds);var d=eD(c),e=d.device.open(d.rest,a),f=q.fd_last_idx?q.fd_last_idx:0;return bC(f+1,eA,e,a)}bC(0,eA,new z(v(0)));bC(1,jp,new z(v(0)));bC(2,jo,new z(v(0)));function i5(c){var b=q.fds[c];if(b.flags.wronly)n(d7+c+" is writeonly");var a={file:b.file,offset:b.offset,fd:c,opened:true,out:false,refill:null};_[a.fd]=a;return a.fd}function es(c){var b=q.fds[c];if(b.flags.rdonly)n(d7+c+" is readonly");var a={file:b.file,offset:b.offset,fd:c,opened:true,out:true,buffer:f};_[a.fd]=a;return a.fd}function i6(){var b=0;for(var a=0;a<_.length;a++)if(_[a]&&_[a].opened&&_[a].out)b=[0,_[a].fd,b];return b}function F(a){return a}function i8(g,d,h,f){var b=_[g];if(!b.opened)n("Cannot output to a closed channel");var a;if(h==0&&M(d)==f)a=d;else{a=v(f);as(d,h,a,0,f)}var i=F(a),c=am(i),e=c.lastIndexOf("\n");if(e<0)b.buffer+=c;else{b.buffer+=c.substr(0,e+1);cr(g);b.buffer+=c.substr(e+1)}return 0}function i7(b,a,d,c){return i8(b,ak(a),d,c)}function i9(b,a){if(a==0)cu();return b%a}function bd(a,b){return+(a$(a,b,false)!=0)}function i$(a,b){a[0]=bt;a[1]=b;return 0}function ew(a){if(a instanceof Array&&a[0]==a[0]>>>0)return a[0];else if(bz(a))return ca;else if(cq(a))return ca;else if(a instanceof Function||typeof a=="function")return 247;else if(a&&a.caml_custom)return dJ;else return a7}function T(b,c,a){if(a&&g.toplevelReloc)b=g.toplevelReloc(a);q[b+1]=c;if(a)q[a]=c}var ev={};function jf(a,b){ev[am(a)]=b;return 0}function iz(a,b){if(a===b)return 1;a.t&6&&aE(a);b.t&6&&aE(b);return a.c==b.c?1:0}function eB(a,b){return iz(a,b)}function jg(){w(cd)}function x(b,a){if(a>>>0>=i(b))jg();return U(b,a)}function an(a,b){return 1-eB(a,b)}function ji(){return[0,a("js_of_ocaml")]}function jj(){return 0x7FFFFFFF/4|0}function jk(){return[0,a("Unix"),32,0]}function jd(){ey(q.Not_found)}function bB(c){var a=g,b=er(c);if(a.process&&a.process.env&&a.process.env[b]!=undefined)return ao(a.process.env[b]);if(g.jsoo_static_env&&g.jsoo_static_env[b])return ao(g.jsoo_static_env[b]);jd()}function jl(){var a=new Date().getTime(),b=a^0xffffffff*Math.random();return[0,b]}function cv(a){var b=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function A(b,a){return{joo_tramp:b,joo_args:a}}function ez(a){return a}function eu(a){return ev[a]}function $(a){if(a instanceof Array)return a;if(g.RangeError&&a instanceof g.RangeError&&a.message&&a.message.match(/maximum call stack/i))return ez(q.Stack_overflow);if(g.InternalError&&a instanceof g.InternalError&&a.message&&a.message.match(/too much recursion/i))return ez(q.Stack_overflow);if(a instanceof g.Error&&eu(b9))return[0,eu(b9),a];return[0,q.Failure,ao(String(a))]}function bD(){return 0}function js(){}function b(a,b){return a.length==1?a(b):au(a,[b])}function e(a,b,c){return a.length==2?a(b,c):au(a,[b,c])}function ae(a,b,c,d){return a.length==3?a(b,c,d):au(a,[b,c,d])}iG();var cz=[r,a(dA),-2],aa=[r,a(dG),-3],cx=[r,a(d_),-4],av=[r,a(dm),-7],j=[r,a(dM),-11],cN=[0,dx];T(11,[r,a(dj),-12],dj);T(10,j,dM);T(9,[r,a(d6),-10],d6);T(8,[r,a(dp),-9],dp);T(7,[r,a(dS),-8],dS);T(6,av,dm);T(5,[r,a(dC),-6],dC);T(4,[r,a(dI),-5],dI);T(3,cx,d_);T(2,aa,dG);T(1,cz,dA);T(0,[r,a(dW),-1],dW);var eK=a("output_substring"),eG=a("true"),eH=a("false"),eM=a("\\\\"),eN=a("\\'"),eO=a("\\b"),eP=a("\\t"),eQ=a("\\n"),eR=a("\\r"),eU=a("List.init"),eX=a("String.blit / Bytes.blit_string"),eW=a("Bytes.blit"),eV=a("String.sub / Bytes.sub"),e0=a("String.contains_from / Bytes.contains_from"),e4=a("Array.map2: arrays must have the same length"),e2=a("Array.init"),e7=a("Stdlib.Queue.Empty"),e9=a("CamlinternalLazy.Undefined"),ff=a("Buffer.add_substring/add_subbytes"),fe=a("Buffer.add: cannot grow buffer"),fd=[0,a(dy),93,2],fc=[0,a(dy),94,2],fb=a("Buffer.sub"),fo=a("%c"),fp=a("%s"),fq=a(di),fr=a(dQ),fs=a(d9),ft=a(dr),fu=a("%f"),fv=a("%B"),fw=a("%{"),fx=a("%}"),fy=a("%("),fz=a("%)"),fA=a("%a"),fB=a("%t"),fC=a("%?"),fD=a("%r"),fE=a("%_r"),fF=[0,a(u),850,23],fQ=[0,a(u),814,21],fI=[0,a(u),815,21],fR=[0,a(u),818,21],fJ=[0,a(u),819,21],fS=[0,a(u),822,19],fK=[0,a(u),823,19],fT=[0,a(u),826,22],fL=[0,a(u),827,22],fU=[0,a(u),831,30],fM=[0,a(u),832,30],fO=[0,a(u),836,26],fG=[0,a(u),837,26],fP=[0,a(u),846,28],fH=[0,a(u),847,28],fN=[0,a(u),851,23],gW=a(d2),gU=[0,a(u),1558,4],gV=a("Printf: bad conversion %["),gX=[0,a(u),1626,39],gY=[0,a(u),1649,31],gZ=[0,a(u),1650,31],g0=a("Printf: bad conversion %_"),g1=a("@{"),g2=a("@["),g6=[0,[11,a("invalid box description "),[3,0,0]],a("invalid box description %S")],g4=a(f),g5=[0,0,4],g7=a(f),g8=a("b"),g9=a("h"),g_=a("hov"),g$=a("hv"),ha=a("v"),gS=a(b$),gQ=a("neg_infinity"),gR=a(dU),gP=a(aB),gz=a("%+nd"),gA=a("% nd"),gC=a("%+ni"),gD=a("% ni"),gE=a("%nx"),gF=a("%#nx"),gG=a("%nX"),gH=a("%#nX"),gI=a("%no"),gJ=a("%#no"),gy=a("%nd"),gB=a(d9),gK=a("%nu"),gm=a("%+ld"),gn=a("% ld"),gp=a("%+li"),gq=a("% li"),gr=a("%lx"),gs=a("%#lx"),gt=a("%lX"),gu=a("%#lX"),gv=a("%lo"),gw=a("%#lo"),gl=a("%ld"),go=a(dQ),gx=a("%lu"),f$=a("%+Ld"),ga=a("% Ld"),gc=a("%+Li"),gd=a("% Li"),ge=a("%Lx"),gf=a("%#Lx"),gg=a("%LX"),gh=a("%#LX"),gi=a("%Lo"),gj=a("%#Lo"),f_=a("%Ld"),gb=a(dr),gk=a("%Lu"),fY=a("%+d"),fZ=a("% d"),f1=a("%+i"),f2=a("% i"),f3=a("%x"),f4=a("%#x"),f5=a("%X"),f6=a("%#X"),f7=a("%o"),f8=a("%#o"),fX=a(dz),f0=a(di),f9=a(d2),fg=a("@]"),fh=a("@}"),fi=a("@?"),fj=a("@\n"),fk=a("@."),fl=a("@@"),fm=a("@%"),fn=a("@"),fV=a("CamlinternalFormat.Type_mismatch"),hb=a("x"),is=a("OCAMLRUNPARAM"),iq=a("CAMLRUNPARAM"),hc=a(f),hC=[3,0,3],hD=a(aB),hx=a(d5),hy=a("<\/"),hz=a(f),ht=a(d5),hu=a("<"),hv=a(f),hr=a("\n"),hn=a(f),ho=a(f),hp=a(f),hq=a(f),hm=[0,a(f)],hi=a(f),hj=a(f),hk=a(f),hl=a(f),hh=[0,a(f),0,a(f)],hg=a(f),hf=a("Stdlib.Format.String_tag"),ip=a("TMPDIR"),io=a("TEMP"),hI=a("Cygwin"),hJ=a("Win32"),hL=a("Js_of_ocaml__Js.Error"),hM=a(b9),hP=a(dD),hO=a(dD),hQ=a(dq),hR=a(f),hS=a(f),hT=a(dq),hU=a("0.0.0.0"),hV=a("127.0.0.1"),im=a("::"),il=a("::1"),hW=[0,[11,a(dH),0],a(dH)],hX=[0,[11,a(dB),0],a(dB)],ia=[0,a(aA),422,10],h$=[0,a(aA),433,16],h_=[0,a(aA),409,4],h9=[0,a(aA),348,12],h8=[0,a(aA),339,12],h6=[0,a(aA),92,8],h7=a(d1),h4=[0,a(aA),80,8],h5=a(dT),h3=a(d1),h2=a(dT),hY=a("Matrix.NonSquare"),h0=a("Matrix.ImproperDimensions"),ih=a("NonElt"),ik=[0,0,0];function o(a){if(typeof a==="number")return 0;else switch(a[0]){case 0:return[0,o(a[1])];case 1:return[1,o(a[1])];case 2:return[2,o(a[1])];case 3:return[3,o(a[1])];case 4:return[4,o(a[1])];case 5:return[5,o(a[1])];case 6:return[6,o(a[1])];case 7:return[7,o(a[1])];case 8:var c=a[1];return[8,c,o(a[2])];case 9:var b=a[1];return[9,b,b,o(a[3])];case 10:return[10,o(a[1])];case 11:return[11,o(a[1])];case 12:return[12,o(a[1])];case 13:return[13,o(a[1])];default:return[14,o(a[1])]}}function D(a,b){if(typeof a==="number")return b;else switch(a[0]){case 0:return[0,D(a[1],b)];case 1:return[1,D(a[1],b)];case 2:return[2,D(a[1],b)];case 3:return[3,D(a[1],b)];case 4:return[4,D(a[1],b)];case 5:return[5,D(a[1],b)];case 6:return[6,D(a[1],b)];case 7:return[7,D(a[1],b)];case 8:var c=a[1];return[8,c,D(a[2],b)];case 9:var d=a[2],e=a[1];return[9,e,d,D(a[3],b)];case 10:return[10,D(a[1],b)];case 11:return[11,D(a[1],b)];case 12:return[12,D(a[1],b)];case 13:return[13,D(a[1],b)];default:return[14,D(a[1],b)]}}function m(a,b){if(typeof a==="number")return b;else switch(a[0]){case 0:return[0,m(a[1],b)];case 1:return[1,m(a[1],b)];case 2:var c=a[1];return[2,c,m(a[2],b)];case 3:var d=a[1];return[3,d,m(a[2],b)];case 4:var e=a[3],f=a[2],g=a[1];return[4,g,f,e,m(a[4],b)];case 5:var h=a[3],i=a[2],j=a[1];return[5,j,i,h,m(a[4],b)];case 6:var k=a[3],l=a[2],n=a[1];return[6,n,l,k,m(a[4],b)];case 7:var o=a[3],p=a[2],q=a[1];return[7,q,p,o,m(a[4],b)];case 8:var r=a[3],s=a[2],t=a[1];return[8,t,s,r,m(a[4],b)];case 9:var u=a[1];return[9,u,m(a[2],b)];case 10:return[10,m(a[1],b)];case 11:var v=a[1];return[11,v,m(a[2],b)];case 12:var w=a[1];return[12,w,m(a[2],b)];case 13:var x=a[2],y=a[1];return[13,y,x,m(a[3],b)];case 14:var z=a[2],A=a[1];return[14,A,z,m(a[3],b)];case 15:return[15,m(a[1],b)];case 16:return[16,m(a[1],b)];case 17:var B=a[1];return[17,B,m(a[2],b)];case 18:var C=a[1];return[18,C,m(a[2],b)];case 19:return[19,m(a[1],b)];case 20:var D=a[2],E=a[1];return[20,E,D,m(a[3],b)];case 21:var F=a[1];return[21,F,m(a[2],b)];case 22:return[22,m(a[1],b)];case 23:var G=a[1];return[23,G,m(a[2],b)];default:var H=a[2],I=a[1];return[24,I,H,m(a[3],b)]}}function cy(a){throw[0,aa,a]}function I(a){throw[0,cx,a]}H(0);function bE(b,a){return iH(b,a)?b:a}function bF(a){return 0<=a?a:-a|0}var eE=2147483647;function aw(d,c){var a=i(d),e=i(c),b=v(a+e|0);at(d,0,b,0,a);at(c,0,b,a,e);return F(b)}function eF(a){return a?eG:eH}i5(0);var eI=es(1),eJ=es(2),bG=[0,function(b){function a(b){var a=b;for(;;){if(a){var c=a[2],d=a[1];try{cr(d)}catch(a){a=$(a);if(a[1]!==cz)throw a;var e=a}var a=c;continue}return 0}}return a(i6(0))}];function cA(c){var a=[0,0],d=bG[1];bG[1]=function(e){if(1-a[1]){a[1]=1;b(c,0)}return b(d,0)};return 0}function eL(a){return b(bG[1],0)}var cB=jk(0)[1],cC=jj(0),aT=(4*cC|0)-1|0;H(0);var eS=ji(0);function bf(c){var b=0,a=c;for(;;){if(a){var b=b+1|0,a=a[2];continue}return b}}function bH(d){var a=d,b=0;for(;;){if(a){var c=[0,a[1],b],a=a[2],b=c;continue}return b}}function cD(a,d,c){if(d<=a)return 0;var e=b(c,a);return[0,e,cD(a+1|0,d,c)]}var eT=typeof eS==="number"?10000:50;function cE(f,d){var b=0,a=d;for(;;){if(a){var c=a[2];e(f,b,a[1]);var b=b+1|0,a=c;continue}return 0}}function ax(a,c){var b=v(a);iE(b,0,a,c);return b}function cF(c,b,a){if(0<=b&&0<=a&&!((M(c)-a|0)>>0))e=1}else if(65<=d)e=1}else{var f=0;if(32!==d)if(43<=d)switch(d-43|0){case 5:if(a<(c+2|0)&&1>>0){if(33<(o-61|0)>>>0)r=1}else if(2===o)r=1;if(!r){var k=k+1|0;continue}var e=ak(l),a=[0,0],w=M(e)-1|0,B=0;if(!(w<0)){var j=B;for(;;){var f=a_(e,j),g=0;if(32<=f){var m=f-34|0,s=0;if(58>>0){if(93<=m)s=1}else if(56<(m-1|0)>>>0){g=1;s=1}if(!s){var n=1;g=2}}else if(11<=f){if(13===f)g=1}else if(8<=f)g=1;switch(g){case 0:var n=4;break;case 1:var n=2;break}a[1]=a[1]+n|0;var E=j+1|0;if(w!==j){var j=E;continue}break}}if(a[1]===M(e)){var t=M(e),u=v(t);as(e,0,u,0,t);var y=u}else{var b=v(a[1]);a[1]=0;var x=M(e)-1|0,C=0;if(!(x<0)){var h=C;for(;;){var c=a_(e,h),d=0;if(35<=c)if(92===c)d=2;else if(cf<=c)d=1;else d=3;else if(32<=c)if(34<=c)d=2;else d=3;else if(14<=c)d=1;else switch(c){case 8:p(b,a[1],92);a[1]++;p(b,a[1],98);break;case 9:p(b,a[1],92);a[1]++;p(b,a[1],116);break;case 10:p(b,a[1],92);a[1]++;p(b,a[1],110);break;case 13:p(b,a[1],92);a[1]++;p(b,a[1],114);break;default:d=1}switch(d){case 1:p(b,a[1],92);a[1]++;p(b,a[1],48+(c/dt|0)|0);a[1]++;p(b,a[1],48+((c/10|0)%10|0)|0);a[1]++;p(b,a[1],48+(c%10|0)|0);break;case 2:p(b,a[1],92);a[1]++;p(b,a[1],c);break;case 3:p(b,a[1],c);break}a[1]++;var D=h+1|0;if(x!==h){var h=D;continue}break}}var y=b}var q=F(y)}var z=i(q),A=ax(z+2|0,34);at(q,0,A,1,z);return F(A)}}function cM(d,g){var h=bF(g),e=cN?cN[1]:70;switch(d[2]){case 0:var b=102;break;case 1:var b=101;break;case 2:var b=69;break;case 3:var b=dx;break;case 4:var b=71;break;case 5:var b=e;break;case 6:var b=104;break;case 7:var b=72;break;default:var b=70}var c=cJ(16);aJ(c,37);switch(d[1]){case 0:break;case 1:aJ(c,43);break;default:aJ(c,32)}if(8<=d[2])aJ(c,35);aJ(c,46);B(c,a(f+h));aJ(c,b);return cL(c)}function bj(n,a){if(13<=n){var g=[0,0],h=i(a)-1|0,o=0;if(!(h<0)){var c=o;for(;;){if(!(9<(U(a,c)+dE|0)>>>0))g[1]++;var r=c+1|0;if(h!==c){var c=r;continue}break}}var j=g[1],k=v(i(a)+((j-1|0)/3|0)|0),l=[0,0],d=function(a){aD(k,l[1],a);l[1]++;return 0},e=[0,((j-1|0)%3|0)+1|0],m=i(a)-1|0,p=0;if(!(m<0)){var b=p;for(;;){var f=U(a,b);if(9<(f+dE|0)>>>0)d(f);else{if(0===e[1]){d(95);e[1]=3}e[1]+=-1;d(f)}var q=b+1|0;if(m!==b){var b=q;continue}break}}return F(k)}return a}function gL(b,c){switch(b){case 1:var a=fY;break;case 2:var a=fZ;break;case 4:var a=f1;break;case 5:var a=f2;break;case 6:var a=f3;break;case 7:var a=f4;break;case 8:var a=f5;break;case 9:var a=f6;break;case 10:var a=f7;break;case 11:var a=f8;break;case 0:case 13:var a=fX;break;case 3:case 14:var a=f0;break;default:var a=f9}return bj(b,bw(a,c))}function gM(b,c){switch(b){case 1:var a=gm;break;case 2:var a=gn;break;case 4:var a=gp;break;case 5:var a=gq;break;case 6:var a=gr;break;case 7:var a=gs;break;case 8:var a=gt;break;case 9:var a=gu;break;case 10:var a=gv;break;case 11:var a=gw;break;case 0:case 13:var a=gl;break;case 3:case 14:var a=go;break;default:var a=gx}return bj(b,bw(a,c))}function gN(b,c){switch(b){case 1:var a=gz;break;case 2:var a=gA;break;case 4:var a=gC;break;case 5:var a=gD;break;case 6:var a=gE;break;case 7:var a=gF;break;case 8:var a=gG;break;case 9:var a=gH;break;case 10:var a=gI;break;case 11:var a=gJ;break;case 0:case 13:var a=gy;break;case 3:case 14:var a=gB;break;default:var a=gK}return bj(b,bw(a,c))}function gO(b,c){switch(b){case 1:var a=f$;break;case 2:var a=ga;break;case 4:var a=gc;break;case 5:var a=gd;break;case 6:var a=ge;break;case 7:var a=gf;break;case 8:var a=gg;break;case 9:var a=gh;break;case 10:var a=gi;break;case 11:var a=gj;break;case 0:case 13:var a=f_;break;case 3:case 14:var a=gb;break;default:var a=gk}return bj(b,iO(a,c))}function ac(d,j,b){function k(c){switch(d[1]){case 0:var a=45;break;case 1:var a=43;break;default:var a=32}return iJ(b,j,a)}function t(c){var a=iD(b);return 3===a?b<0.?gQ:gR:4<=a?gS:c}switch(d[2]){case 5:var f=eo(cM(d,j),b),e=0,z=i(f);for(;;){if(e===z)var s=0;else{var l=x(f,e)-46|0,m=0;if(23>>0){if(55===l)m=1}else if(21<(l-1|0)>>>0)m=1;if(!m){var e=e+1|0;continue}var s=1}var A=s?f:aw(f,gP);return t(A)}case 6:return k(0);case 7:var h=ak(k(0)),g=M(h);if(0===g)var r=h;else{var n=v(g),o=g-1|0,w=0;if(!(o<0)){var a=w;for(;;){var c=a_(h,a),u=0;if(97<=c&&!(d8>>0)return b;var b=b+1|0;continue}}function q(g,f){var b=f;for(;;){if(b===e)return b;var c=x(a,b),d=0;if(48<=c){if(!(58<=c))d=1}else if(45===c)d=1;if(d){var b=b+1|0;continue}return b}}var f=j(0),m=p(f,f),c=cH(a,f,m-f|0),d=j(m),k=q(d,d);if(d===k)var l=0;else try{var r=iY(cH(a,d,k-d|0)),l=r}catch(a){a=$(a);if(a[1]!==aa)throw a;var l=g(0)}if(j(k)!==e)g(0);var o=0;if(an(c,g7)&&an(c,g8))var n=an(c,g9)?an(c,g_)?an(c,g$)?an(c,ha)?g(0):1:2:3:0;else o=1;if(o)var n=4;return[0,l,n]}function cP(a){cO[1]=[0,a,cO[1]];return 0}try{var it=bB(is),cR=it}catch(a){a=$(a);if(a!==av)throw a;try{var ir=bB(iq),cQ=ir}catch(a){a=$(a);if(a!==av)throw a;var cQ=hc}var cR=cQ}var hd=e1(cR,82),bl=[d3,function(A){var p=jl(0),d=[0,P(55,0),0],l=0===p.length-1?[0,0]:p,m=l.length-1,b=0;for(;;){c(d[1],b)[1+b]=b;var z=b+1|0;if(54!==b){var b=z;continue}var j=[0,hb],n=54+bE(55,m)|0,u=0;if(!(n<0)){var e=u;for(;;){var g=e%55|0,o=i9(e,m),v=c(l,o)[1+o],k=aw(j[1],a(f+v));j[1]=i4(k,0,i(k));var h=j[1],q=x(h,3)<<24,r=x(h,2)<<16,s=x(h,1)<<8,t=((x(h,0)+s|0)+r|0)+q|0,w=(c(d[1],g)[1+g]^t)&dL;c(d[1],g)[1+g]=w;var y=e+1|0;if(n!==e){var e=y;continue}break}}d[2]=0;return d}}];function he(i,l){var m=i?i[1]:hd,b=16;for(;;){if(!(l<=b)&&!(cC<(b*2|0))){var b=b*2|0;continue}if(m){var j=ew(bl),a=bt===j?bl[1]:d3===j?fa(bl):bl;a[2]=(a[2]+1|0)%55|0;var d=a[2],e=c(a[1],d)[1+d],f=(a[2]+24|0)%55|0,g=(c(a[1],f)[1+f]+(e^(e>>>25|0)&31)|0)&dL,h=a[2];c(a[1],h)[1+h]=g;var k=g}else var k=0;return[0,0,P(b,0),k,b]}}var bT=[r,hf,H(0)],bm=0,cS=-1;function aY(a,b){a[13]=a[13]+b[3]|0;return cI(b,a[28])}var cT=1000000010;function bU(b,a){return ae(b[17],a,0,i(a))}function bn(a){return b(a[19],0)}function cU(a,c,b){a[9]=a[9]-c|0;bU(a,b);a[11]=0;return 0}function bo(c,a){var b=an(a,hg);return b?cU(c,i(a),a):b}function aL(a,c,f){var g=c[3],h=c[2];bo(a,c[1]);bn(a);a[11]=1;var d=(a[6]-f|0)+h|0,e=a[8],i=i0(e,d)?e:d;a[10]=i;a[9]=a[6]-a[10]|0;b(a[21],a[10]);return bo(a,g)}function cV(b,a){return aL(b,hh,a)}function aZ(a,c){var d=c[2],e=c[3];bo(a,c[1]);a[9]=a[9]-d|0;b(a[20],d);return bo(a,e)}function cW(a){for(;;){var s=a[28][2],O=s?[0,s[1]]:0;if(O){var q=O[1],r=q[1],c=q[2],ac=0<=r?1:0,aa=q[3],ab=a[13]-a[12]|0,P=ac||(a[9]<=ab?1:0);if(P){var g=a[28],n=g[2];if(n){if(n[2]){var Q=n[2];g[1]=g[1]-1|0;g[2]=Q}else bM(g);var m=0<=r?r:cT;if(typeof c==="number")switch(c){case 0:var y=aI(a[3]);if(y){var z=y[1][1],A=function(b,a){if(a){var c=a[1],d=a[2];return i1(b,c)?[0,b,a]:[0,c,A(b,d)]}return[0,b,0]};z[1]=A(a[6]-a[9]|0,z[1])}break;case 1:aH(a[2]);break;case 2:aH(a[3]);break;case 3:var B=aI(a[2]);if(B)cV(a,B[1][2]);else bn(a);break;case 4:if(a[10]!==(a[6]-a[9]|0)){var e=a[28],h=e[2];if(h){var t=h[1];if(h[2]){var R=h[2];e[1]=e[1]-1|0;e[2]=R;var j=[0,t]}else{bM(e);var j=[0,t]}}else var j=0;if(j){var x=j[1],T=x[1];a[12]=a[12]-x[3]|0;a[9]=a[9]+T|0}}break;default:var C=aH(a[5]);if(C)bU(a,b(a[25],C[1]))}else switch(c[0]){case 0:cU(a,m,c[1]);break;case 1:var d=c[2],k=c[1],D=d[1],U=d[2],E=aI(a[2]);if(E){var F=E[1],f=F[2];switch(F[1]){case 0:aZ(a,k);break;case 1:aL(a,d,f);break;case 2:aL(a,d,f);break;case 3:if(a[9]<(m+i(D)|0))aL(a,d,f);else aZ(a,k);break;case 4:if(a[11]||!(a[9]<(m+i(D)|0)||((a[6]-f|0)+U|0)>>0))cV(a,w)}else bn(a)}var _=a[9]-Z|0,$=1===M?1:a[9]>>0)return 0.;switch(a){case 0:return 1.;case 1:return 4.;default:return 1.}})}),k=b(aM[3],x),p=a-1|0,y=0;if(!(p<0)){var f=y;for(;;){if(0===f)var F=c(d,0)[1],i=aq(a3(6.,c(d,1)[2]),F);else if((f+1|0)===a)var s=a+1|0,I=c(d,a)[1+a],J=c(d,s)[1+s],i=aq(a3(6.,I),J);else var t=f+1|0,i=a3(6.,c(d,t)[1+t]);var G=i[2];ae(aM[10],k,[0,f+1|0,a+1|0],i[1]);ae(aM[10],k,[0,f+1|0,a+2|0],G);var H=f+1|0;if(p!==f){var f=H;continue}break}}var q=b(aM[12],k),z=e(aM[6],q,a+1|0)[2],r=a+1|0,A=e(aM[6],q,a+2|0)[2],l=P(a+2|0,c(d,r)[1+r]),B=1;if(!(a<1)){var g=B;for(;;){var D=[R,ea(z,g-1|0),ea(A,g-1|0)];c(l,g)[1+g]=D;var E=g+1|0;if(a!==g){var g=E;continue}break}}var C=c(d,0)[1];c(l,0)[1]=C;var j=[0,l]}else var j=[1,378784796];if(0===j[0]){var h=j[1],w=n?2:1,L=m?h.length-1-2|0:h.length-1-1|0;return[0,aF((L-w|0)+1|0,function(i){var a=i+w|0,b=a-1|0,e=c(h,b)[1+b],f=c(h,a)[1+a],g=a-1|0,j=c(d,g)[1+g],k=c(d,a)[1+a],l=az(e,f,0.33333333333333331);return[0,j,k,l,az(e,f,cg)]})]}return j}function a5(a,b){return[0,b,a[2],a[3],a[4],a[5]]}function ii(a){return a[1]}function dh(a){var b=a[3],c=a[2];return bp(a[1],[R,c*Math.cos(b),c*Math.sin(b)])}function ij(a){return a[5]}var ad=function(a){function f(b,a){return a}function h(c,b,a){return[0,a[1]+1|0,[0,[0,c,[0,b]],a[2]]]}function i(a,b){return[0,b[1]+1|0,[0,[0,a[1],[1,[0,a[2],a[3],a[4]]]],b[2]]]}function l(a){return a}function d(j,g){var d=ae(j[1],g,[0,f,h,i,l],ik),a=d[1],b=P(a,0),e=d[2];cE(function(f,e){var d=(a-f|0)-1|0;c(b,d)[1+d]=e;return 0},e);return b}function m(d,a,c){var f=[0,1,c],g=bL(function(f,b){var g=f[2],h=f[1]?e(a[1],b[1],g):g,c=b[2];if(0===c[0])return[0,0,ae(a[2],b[1],c[1],h)];var d=c[1];return[0,0,e(a[3],[0,b[1],d[1],d[2],d[3]],h)]},f,d)[2];return b(a[4],g)}function p(e,c){var d=0;return bL(function(f,i){var n=i[2];if(0===n[0]){var c=b(a[1],n[1]),d=b(a[1],i[1]);if(d[1]>>0){var t=function(e){var f=g(c(d,e)[1+e]);return b(a[1],f)},i=d.length-1;if(0<=i)if(eT>>0){var q=o(e,h);if(q){var f=q[1],n=h.length-1,d=0===n?[0]:iw(h,0,n);if(f