aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Dailly <sebastien@chimrod.com>2021-01-03 20:10:08 +0100
committerSébastien Dailly <sebastien@chimrod.com>2021-01-04 10:50:59 +0100
commit0c09a00a0b298cbd3bbd0082cc1026e22db9b1c5 (patch)
tree90a346ea34bffbd882a727c5dfd25f6c2ab54841
parent536bb26052fa4ada16d9d09a6cc140a4d3293af8 (diff)
New article, and blog application
-rwxr-xr-xcontent/Informatique/2021-01-03-calligraphie.rst106
-rwxr-xr-xcontent/pages/script.it/script.js3286
-rwxr-xr-xcontent/pages/script.it/script.rst26
-rwxr-xr-xcontent/pages/script.it/worker.js2351
-rwxr-xr-xpelicanconf.py17
-rwxr-xr-xplugins/render_math/Readme.md167
-rwxr-xr-xplugins/render_math/__init__.py1
-rwxr-xr-xplugins/render_math/math.py367
-rwxr-xr-xplugins/render_math/mathjax_script_template61
-rwxr-xr-xplugins/render_math/pelican_mathjax_markdown_extension.py158
-rwxr-xr-xplugins/render_math/requirements.txt1
-rwxr-xr-xplugins/render_math/test_data/article.ipynb42
-rwxr-xr-xplugins/render_math/test_data/article.nbdata5
-rwxr-xr-xplugins/render_math/test_data/article_with_math_formulas.rst20
-rwxr-xr-xplugins/render_math/test_render_math.py56
15 files changed, 6655 insertions, 9 deletions
diff --git a/content/Informatique/2021-01-03-calligraphie.rst b/content/Informatique/2021-01-03-calligraphie.rst
new file mode 100755
index 0000000..3fd6e30
--- /dev/null
+++ b/content/Informatique/2021-01-03-calligraphie.rst
@@ -0,0 +1,106 @@
+.. -*- mode: rst -*-
+.. -*- coding: utf-8 -*-
+
+================================
+De la calligraphie en javascript
+================================
+
+:date: 2021-01-03
+:tags: javascript
+:summary: |summary|
+
+.. default-role:: literal
+
+.. |summary| replace::
+
+ Un petit bilan après avoir réalisé une application de calligraphie sur le
+ blog :)
+
+À la suite de mon article précédent, j'ai essayé d'aller un peu plus loin dans
+ce qu'il était possible de faire en javascript. La page pour construire les
+graphes montrait déjà qu'il était possible de charger du javascript dans la
+page, et modifier directement le contenu du blog à partir du code exécuté.
+
+En suivant toujours la même démarche (code en OCaml, compilé en javascript),
+j'ai mis en place une *ardoise* dans laquelle je souhaitais retrouver sur PC le
+rendu que l'on peut avoir avec une plume dans la main : `l'ardoise calligraphique`_.
+
+.. _l'ardoise calligraphique: {filename}/pages/script.it/script.rst#ardoise-calligraphique
+
+Ce que j'ai appris
+==================
+
+Les courbes de beziers ! Je ne pensais pas qu'il y aurait autant à faire avec !
+Pour ceux que cela intéresse, la page `A Primer on Bézier Curves`_ est une
+référence avec tout ce qu'il faut pour mettre en place ses propres librairies.
+
+.. _A Primer on Bézier Curves: https://pomax.github.io/bezierinfo/
+
+Afin d'avoir un tracé souple de la courbe, j'ai suivi un document de l'UCLA_
+qui explique comment construire les courbes de beziers en suivant une série de
+points, ce qui m'a fait faire un détour par les produits matriciels pour
+résoudre ce genre d'équations :
+
+.. _ucla: https://www.math.ucla.edu/~baker/149.1.02w/handouts/dd_splines.pdf
+
+.. math::
+
+ \begin{bmatrix}4 && 1 && 0 && 0 \\\\ 1 && 4 && 1 && 0 \\\\0 && 1 && 4 && 1 \\\\0 && 0 && 1 && 4 \end{bmatrix}
+ \begin{bmatrix} B_1 \\\\ B_2 \\\\ B_3 \\\\ B_4 \end{bmatrix}
+ =
+ \begin{bmatrix} (6 S_1 - S_0) \\\\ 6S_2 \\\\ 6 S_3 \\\\ (6S_4 - S_5) \end{bmatrix}
+
+A priori, il n'existe pas de librairie pour faire de la réduction de matrice en
+javascript, mais l'avantage d'utiliser OCaml est d'avoir sous la main `quelques
+librairies`_ permettant de faire le boulot directement.
+
+.. _quelques librairies: https://github.com/kandluis/ocaml-matrix
+
+Ensuite, travailler le DOM. Vu que le site est statique, j'ai choisi de
+modifier la page directement à partir du code javascript. En ajoutant un
+élément, en retirant ceux dont je n'avais nécessité, cela permet de changer
+l'apparence directement pour se construire son application. Cela m'a permis de
+me plonger dans la librairie `brr`_ qui permet d'interagir avec la page via
+des évènements fonctionnels.
+
+.. _brr: https://erratique.ch/software/brr
+
+Enfin, les webWorkers_, qui sont des threads pouvant être lancés dans le code
+javascript. Dans l'application, je les utilise pour *lisser* la courbe une fois
+que celle-ci a été construite une première fois.
+
+.. _webworkers: https://developer.mozilla.org/fr/docs/Web/API/Web_Workers_API/Utilisation_des_web_workers
+
+Ce qu'il faudrait continuer
+===========================
+
+Il me manque tout un cadre mathématique pour aller plus loin, j'aurai par
+exemple besoin de déterminer l'extrémité_ exacte de la courbe afin de traiter
+ces cas de manière précise, et j'ai besoin de comprendre le code avant de m'y
+mettre…
+
+.. _extrémité: https://pomax.github.io/bezierinfo/#extremities
+
+Par conséquent, l'export SVG est un peu biaisé, on retrouve bien ce qui est
+affiché sur l'écran, mais cela donne quelque chose qui n'est pas vraiment
+éditable comme je l'aurai souhaité.
+
+Il faudrait aussi aller plus loin dans les mouvements de plumes, permettre des
+rotations locales, juste sur un segment et non pas sur la totalité du tracé,
+enfin des petits ajustements pour qu'il y ait vraiment une plus-value.
+
+D'autres pistes
+===============
+
+Cela m'a aussi donné d'autres pistes pour continuer avec javascript et le blog.
+En utilisant l'API `Web Storage`_, on peut également stocker des données comme
+si l'on travaillait sur un fichier, les données étant stockées dans l'espace du
+navigateur. En combinant cela avec le côté statique du site, je pense à une
+page de prise de note, qui dont le code serait uniquement exécuté dans le
+navigateur, sans avoir besoin de serveur comme support.
+
+.. _web storage: https://developer.mozilla.org/fr/docs/Web/API/Web_Storage_API
+
+Le blog offrant un espace dans lequel je peux mettre en ligne mes applications,
+cela me donne envie de continuer et m'en servir comme petit terrain
+d'exipérimentation…
diff --git a/content/pages/script.it/script.js b/content/pages/script.it/script.js
new file mode 100755
index 0000000..337c80c
--- /dev/null
+++ b/content/pages/script.it/script.js
@@ -0,0 +1,3286 @@
+// Generated by js_of_ocaml 3.8.0
+(function(h){"use strict";var
+fV="%Li",gC=" : flags Open_text and Open_binary are not compatible",gj="#81a1c1",gv="Invalid_argument",gJ=",",dE=0.5,dw=1255,f_=255,gI=0x800,ao=0xffff,f9="range",dv="jsError",an=0x8000,gu="%ni",fU="input",gi=12520,bO=256,g3=-646333223,f8=180.,f6="unsupported bigarray kind",f7="End_of_file",gB="Unix.Unix_error",f5="Failure",gS="infinity",aA=0xff,bK=1000,gh="Row out of bounds.",f="",gA="Stack_overflow",dA="^",g2=122,gt=224465929,gH=-577755674,dz="fill",gs="height",T="0",bl=0x3f,gz=-97,gy="Not_found",dF=0xf,dM=0.66666666666666663,bP=128,f3=-48,f4=0xdc00,gq="Sys_blocked_io",gr="p",g1="fd ",bN=781515427,gg="Match_failure",v=248,g0=0.017453292519943295,gp=3954798,fT="static/",f2="bigarray kind can't be represented by a Gg.Ba.scalar_type",A="camlinternalFormat.ml",gG="Division_by_zero",dH="src/note.ml",gZ=">",dG=252,gY=1027,dy=848053268,gx=1000.,dt="stroke",f1="Sys_error",aY=".",bk="+",gR=0xf0,gQ=0.3,dC=246,gn="Column out of bounds.",go="%u",gP="width",gF="%d",gf="%li",gw=1026,aW="shapes/matrix/Matrix.ml",gO="max",gE="buffer.ml",cg="int_of_string",gX="_bigarray",ge=-641915856,dB=127,bM=1024,gN=-32,ac=" ",ad=0x80,gW="1",dL="e",fS="Undefined_recursive_module",fZ=120,f0=103,gl=-611587032,gm=" : flags Open_rdonly and Open_wronly are not compatible",dK="d",gV="([^/]*)",du=512,aX="-",dx="nan",fY=0x7ff0,gM="100%",gd="#2e3440",gL="value",gc=0xe0,gk=" : file already exists",gD="min",cj="#eceff4",gb=906998707,cf="Set.bal",ga=0xdfff,bL=-280577236,az=0xffffff,ay="/",dD="compare: functional value",gK="Assert_failure",fX="0x",fR="%i",fW=527250507,gU="Out_of_memory",f$=1073741823,I=254,gT="fas",dJ="index out of bounds",ci=100,ch=250,dI="_bigarr02";function
+ht(b,a){throw[0,b,a]}var
+u=[0];function
+nt(b,c){function
+f(a){ht(u.Undefined_recursive_module,b)}function
+e(b,c,a){if(typeof
+b==="number")switch(b){case
+0:c[a]={fun:f};break;case
+1:c[a]=[dC,f];break;default:c[a]=[]}else
+switch(b[0]){case
+0:c[a]=[0];for(var
+d=1;d<b[1].length;d++)e(b[1][d],c[a],d);break;default:c[a]=b[1]}}var
+a=[];e(c,a,0);return a[0]}function
+hx(c,a){if(typeof
+a==="function"){c.fun=a;return 0}if(a.fun){c.fun=a.fun;return 0}var
+b=a.length;while(b--)c[b]=a[b];return 0}function
+g5(b,c,d){if(typeof
+b==="number")switch(b){case
+0:case
+1:case
+2:default:hx(c,d)}else
+switch(b[0]){case
+0:for(var
+a=1;a<b[1].length;a++)g5(b[1][a],c[a],d[a]);break}return 0}function
+bq(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
+cr(c,b,a){var
+d=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var
+e=f;for(;0<a;b+=bM,a-=bM)e+=d.apply(null,c.slice(b,b+Math.min(a,bM)));return e}function
+aO(a){if(a.t==2)a.c+=bq(a.l-a.c.length,"\0");else
+a.c=cr(a.c,0,a.c.length);a.t=0}function
+hy(a){if(a.length<24){for(var
+b=0;b<a.length;b++)if(a.charCodeAt(b)>dB)return false;return true}else
+return!/[^\x00-\x7f]/.test(a)}function
+d1(e){for(var
+k=f,c=f,h,g,i,a,b=0,j=e.length;b<j;b++){g=e.charCodeAt(b);if(g<ad){for(var
+d=b+1;d<j&&(g=e.charCodeAt(d))<ad;d++);if(d-b>du){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<j&&((i=e.charCodeAt(b))&-64)==bP){h=i+(g<<6);if(g<gc){a=h-0x3080;if(a<ad)a=1}else{a=2;if(++b<j&&((i=e.charCodeAt(b))&-64)==bP){h=i+(h<<6);if(g<gR){a=h-0xe2080;if(a<gI||a>=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b<j&&((i=e.charCodeAt(b))&-64)==bP&&g<0xf5){a=i-0x3c82080+(h<<6);if(a<0x10000||a>0x10ffff)a=3}}}}}if(a<4){b-=a;c+="\ufffd"}else
+if(a>ao)c+=String.fromCharCode(0xd7c0+(a>>10),f4+(a&0x3FF));else
+c+=String.fromCharCode(a);if(c.length>bM){c.substr(0,1);k+=c;c=f}}return k+c}function
+aB(c,a,b){this.t=c;this.c=a;this.l=b}aB.prototype.toString=function(){switch(this.t){case
+9:return this.c;default:aO(this);case
+0:if(hy(this.c)){this.t=9;return this.c}this.t=8;case
+8:return this.c}};aB.prototype.toUtf16=function(){var
+a=this.toString();if(this.t==9)return a;return d1(a)};aB.prototype.slice=function(){var
+a=this.t==4?this.c.slice():this.c;return new
+aB(this.t,a,this.l)};function
+hd(a){return new
+aB(0,a,a.length)}function
+b(a){return hd(a)}function
+dZ(c,a){ht(c,b(a))}function
+C(a){dZ(u.Invalid_argument,a)}function
+bn(){C(dJ)}function
+g6(b,a){if(a<0||a>=b.length-1)bn();return b[a+1]}function
+ck(b){if(h.Uint8Array)var
+c=new(h.Uint8Array)(b.l);else
+var
+c=new
+Array(b.l);var
+e=b.c,d=e.length,a=0;for(;a<d;a++)c[a]=e.charCodeAt(a);for(d=b.l;a<d;a++)c[a]=0;b.c=c;b.t=4;return c}function
+aL(d,e,b,f,c){if(c==0)return 0;if(f==0&&(c>=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?cr(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?cr(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)ck(b);var
+g=d.c,h=b.c;if(d.t==4)if(f<=e)for(var
+a=0;a<c;a++)h[f+a]=g[e+a];else
+for(var
+a=c-1;a>=0;a--)h[f+a]=g[e+a];else{var
+i=Math.min(c,g.length-e);for(var
+a=0;a<i;a++)h[f+a]=g.charCodeAt(e+a);for(;a<c;a++)h[f+a]=0}}return 0}function
+aC(a){return a}function
+aM(a,b,c,d,e){aL(aC(a),b,c,d,e);return 0}function
+hb(){C(dJ)}function
+w(a,c,b){b&=aA;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}ck(a)}a.c[c]=b;return 0}function
+aZ(b,a,c){if(a>>>0>=b.l)hb();return w(b,a,c)}function
+bQ(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
+aN(c,a){if(c.fun)return aN(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 aN(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<a.length;b++)d[b]=a[b];for(var
+b=0;b<arguments.length;b++)d[a.length+b]=arguments[b];return aN(c,d)}}function
+e(a,b){if(b>>>0>=a.length-1)bn();return a}function
+nC(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
+B(a){if(a<0)C("Bytes.create");return new
+aB(a?2:9,f,a)}function
+as(a){if((a.t&6)!=0)aO(a);return a.c}var
+ot=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function
+os(a){if(ot)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
+dS(c){var
+a=new(h.Float32Array)(1);a[0]=c;var
+b=new(h.Int32Array)(a.buffer);return b[0]|0}var
+hj=Math.pow(2,-24);function
+hs(a){throw a}function
+d0(){hs(u.Division_by_zero)}function
+g(b,c,a){this.lo=b&az;this.mi=c&az;this.hi=a&ao}g.prototype.caml_custom="_j";g.prototype.copy=function(){return new
+g(this.lo,this.mi,this.hi)};g.prototype.ucompare=function(a){if(this.hi>a.hi)return 1;if(this.hi<a.hi)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};g.prototype.compare=function(a){var
+b=this.hi<<16,c=a.hi<<16;if(b>c)return 1;if(b<c)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};g.prototype.neg=function(){var
+a=-this.lo,b=-this.mi+(a>>24),c=-this.hi+(b>>24);return new
+g(a,b,c)};g.prototype.add=function(a){var
+b=this.lo+a.lo,c=this.mi+a.mi+(b>>24),d=this.hi+a.hi+(c>>24);return new
+g(b,c,d)};g.prototype.sub=function(a){var
+b=this.lo-a.lo,c=this.mi-a.mi+(b>>24),d=this.hi-a.hi+(c>>24);return new
+g(b,c,d)};g.prototype.mul=function(a){var
+b=this.lo*a.lo,c=(b*hj|0)+this.mi*a.lo+this.lo*a.mi,d=(c*hj|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new
+g(b,c,d)};g.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};g.prototype.isNeg=function(){return this.hi<<16<0};g.prototype.and=function(a){return new
+g(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};g.prototype.or=function(a){return new
+g(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};g.prototype.xor=function(a){return new
+g(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};g.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new
+g(this.lo<<a,this.mi<<a|this.lo>>24-a,this.hi<<a|this.mi>>24-a);if(a<48)return new
+g(0,this.lo<<a-24,this.mi<<a-24|this.lo>>48-a);return new
+g(0,0,this.lo<<a-48)};g.prototype.shift_right_unsigned=function(a){a=a&63;if(a==0)return this;if(a<24)return new
+g(this.lo>>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new
+g(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new
+g(this.hi>>a-48,0,0)};g.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var
+c=this.hi<<16>>16;if(a<24)return new
+g(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
+g(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&ao);return new
+g(this.hi<<16>>a-32,b,b)};g.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&az;this.lo=this.lo<<1&az};g.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&az;this.mi=(this.mi>>>1|this.hi<<23)&az;this.hi=this.hi>>>1};g.prototype.udivmod=function(e){var
+c=0,b=this.copy(),a=e.copy(),d=new
+g(0,0,0);while(b.ucompare(a)>0){c++;a.lsl1()}while(c>=0){c--;d.lsl1();if(b.ucompare(a)>=0){d.lo++;b=b.sub(a)}a.lsr1()}return{quotient:d,modulus:b}};g.prototype.div=function(a){var
+b=this;if(a.isZero())d0();var
+d=b.hi^a.hi;if(b.hi&an)b=b.neg();if(a.hi&an)a=a.neg();var
+c=b.udivmod(a).quotient;if(d&an)c=c.neg();return c};g.prototype.mod=function(b){var
+a=this;if(b.isZero())d0();var
+d=a.hi;if(a.hi&an)a=a.neg();if(b.hi&an)b=b.neg();var
+c=a.udivmod(b).modulus;if(d&an)c=c.neg();return c};g.prototype.toInt=function(){return this.lo|this.mi<<24};g.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};g.prototype.toArray=function(){return[this.hi>>8,this.hi&aA,this.mi>>16,this.mi>>8&aA,this.mi&aA,this.lo>>16,this.lo>>8&aA,this.lo&aA]};g.prototype.lo32=function(){return this.lo|(this.mi&aA)<<24};g.prototype.hi32=function(){return this.mi>>>8&ao|this.hi<<16};function
+cn(b,c,a){return new
+g(b,c,a)}function
+cm(a){if(!isFinite(a)){if(isNaN(a))return cn(1,0,fY);return a>0?cn(0,0,fY):cn(0,0,0xfff0)}var
+f=a==0&&1/a==-Infinity?an:a>=0?0:an;if(f)a=-a;var
+b=os(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-gw)}else{a/=Math.pow(2,b-gY);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&dF|f|b<<4;return cn(g,e,c)}function
+bV(a){return a.toArray()}function
+ha(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==dI)for(var
+a=0;a<b.dims.length;a++)if(b.dims[a]<ao)c.write(16,b.dims[a]);else{c.write(16,ao);c.write(32,0);c.write(32,b.dims[a])}else
+for(var
+a=0;a<b.dims.length;a++)c.write(32,b.dims[a]);switch(b.kind){case
+2:case
+3:case
+12:for(var
+a=0;a<b.data.length;a++)c.write(8,b.data[a]);break;case
+4:case
+5:for(var
+a=0;a<b.data.length;a++)c.write(16,b.data[a]);break;case
+6:for(var
+a=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case
+8:case
+9:c.write(8,0);for(var
+a=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case
+7:for(var
+a=0;a<b.data.length/2;a++){var
+e=bV(b.get(a));for(var
+d=0;d<8;d++)c.write(8,e[d])}break;case
+1:for(var
+a=0;a<b.data.length;a++){var
+e=bV(cm(b.get(a)));for(var
+d=0;d<8;d++)c.write(8,e[d])}break;case
+0:for(var
+a=0;a<b.data.length;a++){var
+e=dS(b.get(a));c.write(32,e)}break;case
+10:for(var
+a=0;a<b.data.length/2;a++){var
+d=b.get(a);c.write(32,dS(d[1]));c.write(32,dS(d[2]))}break;case
+11:for(var
+a=0;a<b.data.length/2;a++){var
+f=b.get(a),e=bV(cm(f[1]));for(var
+d=0;d<8;d++)c.write(8,e[d]);var
+e=bV(cm(f[2]));for(var
+d=0;d<8;d++)c.write(8,e[d])}break}g[0]=(4+b.dims.length)*4;g[1]=(4+b.dims.length)*8}function
+g_(a){switch(a){case
+7:case
+10:case
+11:return 2;default:return 1}}function
+nw(c,e){var
+b=h,a;switch(c){case
+0:a=b.Float32Array;break;case
+1:a=b.Float64Array;break;case
+2:a=b.Int8Array;break;case
+3:a=b.Uint8Array;break;case
+4:a=b.Int16Array;break;case
+5:a=b.Uint16Array;break;case
+6:a=b.Int32Array;break;case
+7:a=b.Int32Array;break;case
+8:a=b.Int32Array;break;case
+9:a=b.Int32Array;break;case
+10:a=b.Float32Array;break;case
+11:a=b.Float64Array;break;case
+12:a=b.Uint8Array;break}if(!a)C("Bigarray.create: unsupported kind");var
+d=new
+a(e*g_(c));return d}function
+dT(c){var
+a=new(h.Int32Array)(1);a[0]=c;var
+b=new(h.Float32Array)(a.buffer);return b[0]}function
+bU(a){return new
+g(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function
+dU(d){var
+f=d.lo,g=d.mi,b=d.hi,c=(b&0x7fff)>>4;if(c==2047)return(f|g|b&dF)==0?b&an?-Infinity:Infinity:NaN;var
+e=Math.pow(2,-24),a=(f*e+g)*e+(b&dF);if(c>0){a+=16;a*=Math.pow(2,c-gY)}else
+a*=Math.pow(2,-gw);if(b&an)a=-a;return a}function
+dN(b){var
+d=b.length,c=1;for(var
+a=0;a<d;a++){if(b[a]<0)C("Bigarray.create: negative dimension");c=c*b[a]}return c}function
+nQ(b,a){return new
+g(b&az,b>>>24&aA|(a&ao)<<8,a>>>16&ao)}function
+dV(a){return a.hi32()}function
+dW(a){return a.lo32()}var
+nx=gX;function
+aK(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}aK.prototype.caml_custom=nx;aK.prototype.offset=function(b){var
+c=0;if(typeof
+b==="number")b=[b];if(!(b
+instanceof
+Array))C("bigarray.js: invalid offset");if(this.dims.length!=b.length)C("Bigarray.get/set: bad number of dimensions");if(this.layout==0)for(var
+a=0;a<this.dims.length;a++){if(b[a]<0||b[a]>=this.dims[a])bn();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])bn();c=c*this.dims[a]+(b[a]-1)}return c};aK.prototype.get=function(a){switch(this.kind){case
+7:var
+d=this.data[a*2+0],b=this.data[a*2+1];return nQ(d,b);case
+10:case
+11:var
+e=this.data[a*2+0],c=this.data[a*2+1];return[I,e,c];default:return this.data[a]}};aK.prototype.set=function(a,b){switch(this.kind){case
+7:this.data[a*2+0]=dW(b);this.data[a*2+1]=dV(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};aK.prototype.fill=function(b){switch(this.kind){case
+7:var
+c=dW(b),e=dV(b);if(c==e)this.data.fill(c);else
+for(var
+a=0;a<this.data.length;a++)this.data[a]=a%2==0?c:e;break;case
+10:case
+11:var
+d=b[1],f=b[2];if(d==f)this.data.fill(d);else
+for(var
+a=0;a<this.data.length;a++)this.data[a]=a%2==0?d:f;break;default:this.data.fill(b);break}};aK.prototype.compare=function(b,g){if(this.layout!=b.layout||this.kind!=b.kind){var
+e=this.kind|this.layout<<8,f=b.kind|b.layout<<8;return f-e}if(this.dims.length!=b.dims.length)return b.dims.length-this.dims.length;for(var
+a=0;a<this.dims.length;a++)if(this.dims[a]!=b.dims[a])return this.dims[a]<b.dims[a]?-1:1;switch(this.kind){case
+0:case
+1:case
+10:case
+11:var
+c,d;for(var
+a=0;a<this.data.length;a++){c=this.data[a];d=b.data[a];if(c<d)return-1;if(c>d)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;a<this.data.length;a+=2){if(this.data[a+1]<b.data[a+1])return-1;if(this.data[a+1]>b.data[a+1])return 1;if(this.data[a]>>>0<b.data[a]>>>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;a<this.data.length;a++){if(this.data[a]<b.data[a])return-1;if(this.data[a]>b.data[a])return 1}break}return 0};function
+bm(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}bm.prototype=new
+aK();bm.prototype.offset=function(a){if(typeof
+a!=="number")if(a
+instanceof
+Array&&a.length==1)a=a[0];else
+C("Ml_Bigarray_c_1_1.offset");if(a<0||a>=this.dims[0])bn();return a};bm.prototype.get=function(a){return this.data[a]};bm.prototype.set=function(a,b){this.data[a]=b;return 0};bm.prototype.fill=function(a){this.data.fill(a);return 0};function
+g8(c,d,a,b){var
+e=g_(c);if(dN(a)*e!=b.length)C("length doesn't match dims");if(d==0&&a.length==1&&e==1)return new
+bm(c,d,a,b);return new
+aK(c,d,a,b)}function
+ar(a){dZ(u.Failure,a)}function
+g9(b,v,r){var
+i=b.read32s();if(i<0||i>16)ar("input_value: wrong number of bigarray dimensions");var
+p=b.read32s(),j=p&aA,o=p>>8&1,h=[];if(r==dI)for(var
+a=0;a<i;a++){var
+n=b.read16u();if(n==ao){var
+t=b.read32u(),u=b.read32u();if(t!=0)ar("input_value: bigarray dimension overflow in 32bit");n=u}h.push(n)}else
+for(var
+a=0;a<i;a++)h.push(b.read32u());var
+d=dN(h),f=nw(j,d),g=g8(j,o,h,f);switch(j){case
+2:for(var
+a=0;a<d;a++)f[a]=b.read8s();break;case
+3:case
+12:for(var
+a=0;a<d;a++)f[a]=b.read8u();break;case
+4:for(var
+a=0;a<d;a++)f[a]=b.read16s();break;case
+5:for(var
+a=0;a<d;a++)f[a]=b.read16u();break;case
+6:for(var
+a=0;a<d;a++)f[a]=b.read32s();break;case
+8:case
+9:var
+s=b.read8u();if(s)ar("input_value: cannot read bigarray with 64-bit OCaml ints");for(var
+a=0;a<d;a++)f[a]=b.read32s();break;case
+7:var
+e=new
+Array(8);for(var
+a=0;a<d;a++){for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+q=bU(e);g.set(a,q)}break;case
+1:var
+e=new
+Array(8);for(var
+a=0;a<d;a++){for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+k=dU(bU(e));g.set(a,k)}break;case
+0:for(var
+a=0;a<d;a++){var
+k=dT(b.read32s());g.set(a,k)}break;case
+10:for(var
+a=0;a<d;a++){var
+m=dT(b.read32s()),l=dT(b.read32s());g.set(a,[I,m,l])}break;case
+11:var
+e=new
+Array(8);for(var
+a=0;a<d;a++){for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+m=dU(bU(e));for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+l=dU(bU(e));g.set(a,[I,m,l])}break}v[0]=(4+i)*4;return g8(j,o,h,f)}function
+g7(a,b,c){return a.compare(b,c)}function
+cq(a,b){return Math.imul(a,b)}function
+K(b,a){a=cq(a,0xcc9e2d51|0);a=a<<15|a>>>32-15;a=cq(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function
+nK(a,b){a=K(a,dW(b));a=K(a,dV(b));return a}function
+dQ(a,b){return nK(a,cm(b))}function
+g$(c){var
+b=dN(c.dims),d=0;switch(c.kind){case
+2:case
+3:case
+12:if(b>bO)b=bO;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=K(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=K(d,e)}break;case
+4:case
+5:if(b>bP)b=bP;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=K(d,e)}if((b&1)!=0)d=K(d,c.data[a]);break;case
+6:if(b>64)b=64;for(var
+a=0;a<b;a++)d=K(d,c.data[a]);break;case
+8:case
+9:if(b>64)b=64;for(var
+a=0;a<b;a++)d=K(d,c.data[a]);break;case
+7:if(b>32)b=32;b*=2;for(var
+a=0;a<b;a++)d=K(d,c.data[a]);break;case
+10:b*=2;case
+0:if(b>64)b=64;for(var
+a=0;a<b;a++)d=dQ(d,c.data[a]);break;case
+11:b*=2;case
+1:if(b>32)b=32;for(var
+a=0;a<b;a++)d=dQ(d,c.data[a]);break}return d}function
+nO(a,b){b[0]=4;return a.read32s()}function
+ob(a,b){switch(a.read8u()){case
+1:b[0]=4;return a.read32s();case
+2:ar("input_value: native integer value too large");default:ar("input_value: ill-formed native integer")}}function
+nZ(c,d){var
+b=new
+Array(8);for(var
+a=0;a<8;a++)b[a]=c.read8u();d[0]=8;return bU(b)}function
+nV(e,d,b){var
+c=bV(d);for(var
+a=0;a<8;a++)e.write(8,c[a]);b[0]=8;b[1]=8}function
+nP(a,b,c){return a.compare(b)}function
+nS(a){return a.lo32()^a.hi32()}var
+bT={"_j":{deserialize:nZ,serialize:nV,fixed_length:8,compare:nP,hash:nS},"_i":{deserialize:nO,fixed_length:4},"_n":{deserialize:ob,fixed_length:4},"_bigarray":{deserialize:function(a,b){return g9(a,b,gX)},serialize:ha,compare:g7,hash:g$},"_bigarr02":{deserialize:function(a,b){return g9(a,b,dI)},serialize:ha,compare:g7,hash:g$}};function
+dO(a){return bT[a.caml_custom]&&bT[a.caml_custom].compare}function
+he(f,c,d,e){var
+b=dO(c);if(b){var
+a=d>0?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
+bW(a){return a
+instanceof
+aB}function
+co(a){return bW(a)}function
+hf(a){if(typeof
+a==="number")return bK;else
+if(bW(a))return dG;else
+if(co(a))return 1252;else
+if(a
+instanceof
+Array&&a[0]===a[0]>>>0&&a[0]<=f_){var
+b=a[0]|0;return b==I?0:b}else
+if(a
+instanceof
+String)return gi;else
+if(typeof
+a=="string")return gi;else
+if(a
+instanceof
+Number)return bK;else
+if(a&&a.caml_custom)return dw;else
+if(a&&a.compare)return 1256;else
+if(typeof
+a=="function")return 1247;else
+if(typeof
+a=="symbol")return 1251;return 1001}function
+hk(a,b){if(a<b)return-1;if(a==b)return 0;return 1}function
+hc(a,b){a.t&6&&aO(a);b.t&6&&aO(b);return a.c<b.c?-1:a.c>b.c?1:0}function
+ov(a,b){return hc(a,b)}function
+bR(a,b,d){var
+e=[];for(;;){if(!(d&&a===b)){var
+f=hf(a);if(f==ch){a=a[1];continue}var
+g=hf(b);if(g==ch){b=b[1];continue}if(f!==g){if(f==bK){if(g==dw)return he(a,b,-1,d);return-1}if(g==bK){if(f==dw)return he(b,a,1,d);return 1}return f<g?-1:1}switch(f){case
+247:C(dD);break;case
+248:var
+c=hk(a[2],b[2]);if(c!=0)return c|0;break;case
+249:C(dD);break;case
+250:C("equal: got Forward_tag, should not happen");break;case
+251:C("equal: abstract value");break;case
+252:if(a!==b){var
+c=hc(a,b);if(c!=0)return c|0}break;case
+253:C("equal: got Double_tag, should not happen");break;case
+254:C("equal: got Double_array_tag, should not happen");break;case
+255:C("equal: got Custom_tag, should not happen");break;case
+1247:C(dD);break;case
+1255:var
+i=dO(a);if(i!=dO(b))return a.caml_custom<b.caml_custom?-1:1;if(!i)C("compare: abstract value");var
+c=i(a,b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case
+1256:var
+c=a.compare(b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case
+1000:a=+a;b=+b;if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case
+1001:if(a<b)return-1;if(a>b)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=as(a),b=as(b);if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case
+12520:var
+a=a.toString(),b=b.toString();if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case
+246:case
+254:default:if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)e.push(a,b,1);break}}if(e.length==0)return 0;var
+h=e.pop();b=e.pop();a=e.pop();if(h+1<a.length)e.push(a,b,h+1);a=a[h];b=b[h]}}function
+aD(a,b){return+(bR(a,b,false)==0)}function
+nD(a,c,b,d){if(b>0)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=bq(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)ck(a);for(b+=c;c<b;c++)a.c[c]=d}return 0}function
+nE(a,b){if(a===b)return 0;if(a<b)return-1;if(a>b)return 1;if(a===a)return 1;if(b===b)return-1;return 0}function
+dY(d){d=as(d);var
+e=d.length;if(e>31)C("format_int: format too long");var
+a={justify:bk,signstyle:aX,filler:ac,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:"f"};for(var
+c=0;c<e;c++){var
+b=d.charAt(c);switch(b){case"-":a.justify=aX;break;case"+":case" ":a.signstyle=b;break;case"0":a.filler=T;break;case"#":a.alternate=true;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a.width=0;while(b=d.charCodeAt(c)-48,b>=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
+dP(a,g){if(a.uppercase)g=g.toUpperCase();var
+e=g.length;if(a.signedconv&&(a.sign<0||a.signstyle!=aX))e++;if(a.alternate){if(a.base==8)e+=1;if(a.base==16)e+=2}var
+c=f;if(a.justify==bk&&a.filler==ac)for(var
+d=e;d<a.width;d++)c+=ac;if(a.signedconv)if(a.sign<0)c+=aX;else
+if(a.signstyle!=aX)c+=a.signstyle;if(a.alternate&&a.base==8)c+=T;if(a.alternate&&a.base==16)c+=fX;if(a.justify==bk&&a.filler==T)for(var
+d=e;d<a.width;d++)c+=T;c+=g;if(a.justify==aX)for(var
+d=e;d<a.width;d++)c+=ac;return b(c)}function
+hh(i,c){function
+j(a,b){if(Math.abs(a)<1.0)return a.toFixed(b);else{var
+c=parseInt(a.toString().split(bk)[1]);if(c>20){c-=20;a/=Math.pow(10,c);a+=new
+Array(c+1).join(T);if(b>0)a=a+aY+new
+Array(b+1).join(T);return a}else
+return a.toFixed(b)}}var
+a,e=dY(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=dx;e.filler=ac}else
+if(!isFinite(c)){a="inf";e.filler=ac}else
+switch(e.conv){case"e":var
+a=c.toExponential(d),b=a.length;if(a.charAt(b-3)==dL)a=a.slice(0,b-1)+T+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(dL),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var
+b=h-1;while(a.charAt(b)==T)b--;if(a.charAt(b)==aY)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==dL)a=a.slice(0,b-1)+T+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)==T)b--;if(a.charAt(b)==aY)b--;a=a.slice(0,b+1)}}break}return dP(e,a)}function
+cl(e,c){if(as(e)==gF)return b(f+c);var
+a=dY(e);if(c<0)if(a.signedconv){a.sign=-1;c=-c}else
+c>>>=0;var
+d=c.toString(a.base);if(a.prec>=0){a.filler=ac;var
+g=a.prec-d.length;if(g>0)d=bq(g,T)+d}return dP(a,d)}var
+od=0;function
+J(){return od++}function
+cp(a){return a.toUtf16()}if(h.process&&h.process.cwd)var
+bS=h.process.cwd().replace(/\\/g,ay);else
+var
+bS="/static";if(bS.slice(-1)!==ay)bS+=ay;function
+n5(a){a=cp(a);if(a.charCodeAt(0)!=47)a=bS+a;var
+d=a.split(ay),b=[];for(var
+c=0;c<d.length;c++)switch(d[c]){case"..":if(b.length>1)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
+nA(a){return new
+aB(4,a,a.length)}function
+oo(e){for(var
+g=f,b=g,a,i,c=0,h=e.length;c<h;c++){a=e.charCodeAt(c);if(a<ad){for(var
+d=c+1;d<h&&(a=e.charCodeAt(d))<ad;d++);if(d-c>du){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<gI){b+=String.fromCharCode(0xc0|a>>6);b+=String.fromCharCode(ad|a&bl)}else
+if(a<0xd800||a>=ga)b+=String.fromCharCode(gc|a>>12,ad|a>>6&bl,ad|a&bl);else
+if(a>=0xdbff||c+1==h||(i=e.charCodeAt(c+1))<f4||i>ga)b+="\xef\xbf\xbd";else{c++;a=(a<<10)+i-0x35fdc00;b+=String.fromCharCode(gR|a>>18,ad|a>>12&bl,ad|a>>6&bl,ad|a&bl)}if(b.length>bM){b.substr(0,1);g+=b;b=f}}return g+b}function
+nB(a){var
+b=9;if(!hy(a))b=8,a=oo(a);return new
+aB(b,a,a.length)}function
+a0(a){return nB(a)}function
+s(a){dZ(u.Sys_error,a)}function
+of(a){a=as(a);s(a+": No such file or directory")}function
+nz(b,a){if(a>>>0>=b.l)hb();return bQ(b,a)}function
+Y(a){return a.l}function
+g4(){}function
+F(a){this.data=a}F.prototype=new
+g4();F.prototype.truncate=function(a){var
+b=this.data;this.data=B(a|0);aL(b,0,this.data,0,a)};F.prototype.length=function(){return Y(this.data)};F.prototype.write=function(b,d,g,a){var
+c=this.length();if(b+a>=c){var
+e=B(b+a),f=this.data;this.data=e;aL(f,0,this.data,0,c)}aM(d,g,this.data,b,a);return 0};F.prototype.read=function(c,a,d,b){var
+e=this.length();aL(this.data,c,a,d,b);return 0};F.prototype.read_one=function(a){return nz(this.data,a)};F.prototype.close=function(){};F.prototype.constructor=F;function
+ae(b,a){this.content={};this.root=b;this.lookupFun=a}ae.prototype.nm=function(a){return this.root+a};ae.prototype.lookup=function(a){if(!this.content[a]&&this.lookupFun){var
+c=this.lookupFun(b(this.root),b(a));if(c!==0)this.content[a]=new
+F(aC(c[1]))}};ae.prototype.exists=function(a){if(a==f)return 1;var
+c=a+ay,d=new
+RegExp(dA+c);for(var
+b
+in
+this.content)if(b.match(d))return 1;this.lookup(a);return this.content[a]?1:0};ae.prototype.readdir=function(c){var
+g=c==f?f:c+ay,h=new
+RegExp(dA+g+gV),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};ae.prototype.is_dir=function(a){var
+d=a==f?f:a+ay,e=new
+RegExp(dA+d+gV),g=[];for(var
+c
+in
+this.content){var
+b=c.match(e);if(b)return 1}return 0};ae.prototype.unlink=function(a){var
+b=this.content[a]?true:false;delete
+this.content[a];return b};ae.prototype.open=function(a,b){if(b.rdonly&&b.wronly)s(this.nm(a)+gm);if(b.text&&b.binary)s(this.nm(a)+gC);this.lookup(a);if(this.content[a]){if(this.is_dir(a))s(this.nm(a)+" : is a directory");if(b.create&&b.excl)s(this.nm(a)+gk);var
+c=this.content[a];if(b.truncate)c.truncate();return c}else
+if(b.create){this.content[a]=new
+F(B(0));return this.content[a]}else
+of(this.nm(a))};ae.prototype.register=function(b,a){if(this.content[b])s(this.nm(b)+gk);if(bW(a))this.content[b]=new
+F(a);if(co(a))this.content[b]=new
+F(aC(a));else
+if(a
+instanceof
+Array)this.content[b]=new
+F(nA(a));else
+if(typeof
+a==="string")this.content[b]=new
+F(hd(a));else
+if(a.toString){var
+c=aC(a0(a.toString()));this.content[b]=new
+F(c)}else
+s(this.nm(b)+" : registering file with invalid content type")};ae.prototype.constructor=ae;function
+l(a){return Y(a)}function
+aj(b,a){return bQ(b,a)}function
+nv(d){var
+c=l(d),b=new
+Array(c),a=0;for(;a<c;a++)b[a]=aj(d,a);return b}function
+nu(a){if(a.t!=4)ck(a);return a.c}function
+aq(a){this.fs=require("fs");this.fd=a}aq.prototype=new
+g4();aq.prototype.truncate=function(a){try{this.fs.ftruncateSync(this.fd,a|0)}catch(a){s(a.toString())}};aq.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(a){s(a.toString())}};aq.prototype.write=function(f,b,c,e){var
+a=nv(b);if(!(a
+instanceof
+h.Uint8Array))a=new(h.Uint8Array)(a);var
+d=h.Buffer.from(a);try{this.fs.writeSync(this.fd,d,c,e,f)}catch(a){s(a.toString())}return 0};aq.prototype.read=function(g,d,c,f){var
+a=nu(d);if(!(a
+instanceof
+h.Uint8Array))a=new(h.Uint8Array)(a);var
+e=h.Buffer.from(a);try{this.fs.readSync(this.fd,e,c,f,g)}catch(a){s(a.toString())}for(var
+b=0;b<f;b++)aZ(d,c+b,e[c+b]);return 0};aq.prototype.read_one=function(c){var
+b=new(h.Uint8Array)(1),a=h.Buffer.from(b);try{this.fs.readSync(this.fd,a,0,1,c)}catch(a){s(a.toString())}return a[0]};aq.prototype.close=function(){try{this.fs.closeSync(this.fd)}catch(a){s(a.toString())}};aq.prototype.constructor=aq;function
+ap(a){this.fs=require("fs");this.root=a}ap.prototype.nm=function(a){return this.root+a};ap.prototype.exists=function(a){try{return this.fs.existsSync(this.nm(a))?1:0}catch(a){s(a.toString())}};ap.prototype.readdir=function(a){try{return this.fs.readdirSync(this.nm(a))}catch(a){s(a.toString())}};ap.prototype.is_dir=function(a){try{return this.fs.statSync(this.nm(a)).isDirectory()?1:0}catch(a){s(a.toString())}};ap.prototype.unlink=function(a){try{var
+b=this.fs.existsSync(this.nm(a))?1:0;this.fs.unlinkSync(this.nm(a))}catch(a){s(a.toString())}return b};ap.prototype.open=function(f,c){var
+a=require("constants"),b=0;for(var
+e
+in
+c)switch(e){case"rdonly":b|=a.O_RDONLY;break;case"wronly":b|=a.O_WRONLY;break;case"append":b|=a.O_WRONLY|a.O_APPEND;break;case"create":b|=a.O_CREAT;break;case"truncate":b|=a.O_TRUNC;break;case"excl":b|=a.O_EXCL;break;case"binary":b|=a.O_BINARY;break;case"text":b|=a.O_TEXT;break;case"nonblock":b|=a.O_NONBLOCK;break}try{var
+d=this.fs.openSync(this.nm(f),b);return new
+aq(d)}catch(a){s(a.toString())}};ap.prototype.rename=function(b,a){try{this.fs.renameSync(this.nm(b),this.nm(a))}catch(a){s(a.toString())}};ap.prototype.constructor=ap;var
+bp=bS.match(/[^\/]*\//)[0];function
+op(){return typeof
+h.process!=="undefined"&&typeof
+h.process.versions!=="undefined"&&typeof
+h.process.versions.node!=="undefined"&&h.process.platform!=="browser"}var
+bY=[];if(op())bY.push({path:bp,device:new
+ap(bp)});else
+bY.push({path:bp,device:new
+ae(bp)});bY.push({path:bp+fT,device:new
+ae(bp+fT)});function
+hz(b){var
+f=n5(b),b=f.join(ay),e=b+ay,c;for(var
+d=0;d<bY.length;d++){var
+a=bY[d];if(e.search(a.path)==0&&(!c||c.path.length<a.path.length))c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}return c}function
+hg(c,a){var
+c=typeof
+c=="string"?b(c):c,a=typeof
+a=="string"?b(a):a,d=hz(c);if(!d.device.register)ar("cannot register file");d.device.register(d.rest,a);return 0}function
+nF(){var
+b=h.caml_fs_tmp;if(b)for(var
+a=0;a<b.length;a++)hg(b[a].name,b[a].content);h.caml_create_file=hg;h.caml_fs_tmp=[];return 0}function
+nG(a,b){return+(bR(a,b,false)>=0)}function
+dR(d,b){var
+e=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b.charCodeAt(a)|b.charCodeAt(a+1)<<8|b.charCodeAt(a+2)<<16|b.charCodeAt(a+3)<<24;d=K(d,c)}c=0;switch(e&3){case
+3:c=b.charCodeAt(a+2)<<16;case
+2:c|=b.charCodeAt(a+1)<<8;case
+1:c|=b.charCodeAt(a);d=K(d,c)}d^=e;return d}function
+nL(a,b){return dR(a,as(b))}function
+nI(d,b){var
+e=b.length,a,c;for(a=0;a+4<=e;a+=4){c=b[a]|b[a+1]<<8|b[a+2]<<16|b[a+3]<<24;d=K(d,c)}c=0;switch(e&3){case
+3:c=b[a+2]<<16;case
+2:c|=b[a+1]<<8;case
+1:c|=b[a];d=K(d,c)}d^=e;return d}function
+nH(a,b){switch(b.t&6){default:aO(b);case
+0:a=dR(a,b.c);break;case
+2:a=nI(a,b.c)}return a}function
+nJ(a){a^=a>>>16;a=cq(a,0x85ebca6b|0);a^=a>>>13;a=cq(a,0xc2b2ae35|0);a^=a>>>16;return a}function
+hi(j,l,n,m){var
+f,g,h,d,c,b,a,e,i;d=l;if(d<0||d>bO)d=bO;c=j;b=n;f=[m];g=0;h=1;while(g<h&&c>0){a=f[g++];if(a&&a.caml_custom){if(bT[a.caml_custom]&&bT[a.caml_custom].hash){var
+k=bT[a.caml_custom].hash(a);b=K(b,k);c--}}else
+if(a
+instanceof
+Array&&a[0]===(a[0]|0))switch(a[0]){case
+248:b=K(b,a[2]);c--;break;case
+250:f[--g]=a[1];break;default:var
+o=a.length-1<<10|a[0];b=K(b,o);for(e=1,i=a.length;e<i;e++){if(h>=d)break;f[h++]=a[e]}break}else
+if(bW(a)){b=nH(b,a);c--}else
+if(co(a)){b=nL(b,a);c--}else
+if(typeof
+a==="string"){b=dR(b,a);c--}else
+if(a===(a|0)){b=K(b,a+a+1);c--}else
+if(a===+a){b=dQ(b,a);c--}}b=nJ(b);return b&0x3FFFFFFF}function
+nM(a,c,l){if(!isFinite(a)){if(isNaN(a))return a0(dx);return a0(a>0?gS:"-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:bk,e=f;if(j)e=aX;else
+switch(l){case
+43:e=bk;break;case
+32:e=ac;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(aY);if(i<0)b+=aY+bq(c,T);else{var
+g=i+1+c;if(b.length<g)b+=bq(g-b.length,T);else
+b=b.substr(0,g)}}return a0(e+fX+b+gr+k+d.toString(10))}function
+nN(a,b){var
+a=Math.abs(a),b=Math.abs(b),c=Math.max(a,b),d=Math.min(a,b)/(c?c:1);return c*Math.sqrt(1+d*d)}function
+nU(a){return+a.isZero()}function
+nX(a){return new
+g(a&az,a>>24&az,a>>31&ao)}function
+nY(a){return a.toInt()}function
+nT(a){return+a.isNeg()}function
+nW(a){return a.neg()}function
+nR(h,c){var
+a=dY(h);if(a.signedconv&&nT(c)){a.sign=-1;c=nW(c)}var
+b=f,i=nX(a.base),g="0123456789abcdef";do{var
+e=c.udivmod(i);c=e.quotient;b=g.charAt(nY(e.modulus))+b}while(!nU(c));if(a.prec>=0){a.filler=ac;var
+d=a.prec-b.length;if(d>0)b=bq(d,T)+b}return dP(a,b)}function
+oe(c){var
+a=0,e=l(c),b=10,d=1;if(e>0)switch(aj(c,a)){case
+45:a++;d=-1;break;case
+43:a++;d=1;break}if(a+1<e&&aj(c,a)==48)switch(aj(c,a+1)){case
+120:case
+88:b=16;a+=2;break;case
+111:case
+79:b=8;a+=2;break;case
+98:case
+66:b=2;a+=2;break;case
+117:case
+85:a+=2;break}return[a,d,b]}function
+hr(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=g2)return a-87;return-1}function
+n0(f){var
+h=oe(f),c=h[0],i=h[1],d=h[2],g=l(f),j=-1>>>0,e=c<g?aj(f,c):0,b=hr(e);if(b<0||b>=d)ar(cg);var
+a=b;for(c++;c<g;c++){e=aj(f,c);if(e==95)continue;b=hr(e);if(b<0||b>=d)break;a=d*a+b;if(a>j)ar(cg)}if(c!=g)ar(cg);a=i*a;if(d==10&&(a|0)!=a)ar(cg);return a|0}function
+n1(a){return a.slice(1)}function
+hl(a,c,b){return a[cp(c)].apply(a,n1(b))}function
+n2(c){var
+d=c.length,b=new
+Array(d+1);b[0]=0;for(var
+a=0;a<d;a++)b[a+1]=c[a];return b}function
+n3(a,b){return+(bR(a,b,false)<=0)}function
+n4(a,b){return+(bR(a,b,false)<0)}function
+hm(a){var
+b=[];for(;a!==0;a=a[2])b.push(a[1]);return b}function
+af(a,d){if(a<0)bn();var
+a=a+1|0,b=new
+Array(a);b[0]=0;for(var
+c=1;c<a;c++)b[c]=d;return b}function
+oj(a){return b(cr(a,0,a.length))}var
+n6=function(){function
+l(a,b){return a+b|0}function
+a(d,a,c,f,b,e){a=l(l(a,d),l(f,e));return l(a<<b|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]|=ad<<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<f.length;e+=16){var
+a=k[0],b=k[1],c=k[2],d=k[3];a=g(a,b,c,d,f[e+0],7,0xD76AA478);d=g(d,a,b,c,f[e+1],12,0xE8C7B756);c=g(c,d,a,b,f[e+2],17,0x242070DB);b=g(b,c,d,a,f[e+3],22,0xC1BDCEEE);a=g(a,b,c,d,f[e+4],7,0xF57C0FAF);d=g(d,a,b,c,f[e+5],12,0x4787C62A);c=g(c,d,a,b,f[e+6],17,0xA8304613);b=g(b,c,d,a,f[e+7],22,0xFD469501);a=g(a,b,c,d,f[e+8],7,0x698098D8);d=g(d,a,b,c,f[e+9],12,0x8B44F7AF);c=g(c,d,a,b,f[e+10],17,0xFFFF5BB1);b=g(b,c,d,a,f[e+11],22,0x895CD7BE);a=g(a,b,c,d,f[e+12],7,0x6B901122);d=g(d,a,b,c,f[e+13],12,0xFD987193);c=g(c,d,a,b,f[e+14],17,0xA679438E);b=g(b,c,d,a,f[e+15],22,0x49B40821);a=h(a,b,c,d,f[e+1],5,0xF61E2562);d=h(d,a,b,c,f[e+6],9,0xC040B340);c=h(c,d,a,b,f[e+11],14,0x265E5A51);b=h(b,c,d,a,f[e+0],20,0xE9B6C7AA);a=h(a,b,c,d,f[e+5],5,0xD62F105D);d=h(d,a,b,c,f[e+10],9,0x02441453);c=h(c,d,a,b,f[e+15],14,0xD8A1E681);b=h(b,c,d,a,f[e+4],20,0xE7D3FBC8);a=h(a,b,c,d,f[e+9],5,0x21E1CDE6);d=h(d,a,b,c,f[e+14],9,0xC33707D6);c=h(c,d,a,b,f[e+3],14,0xF4D50D87);b=h(b,c,d,a,f[e+8],20,0x455A14ED);a=h(a,b,c,d,f[e+13],5,0xA9E3E905);d=h(d,a,b,c,f[e+2],9,0xFCEFA3F8);c=h(c,d,a,b,f[e+7],14,0x676F02D9);b=h(b,c,d,a,f[e+12],20,0x8D2A4C8A);a=i(a,b,c,d,f[e+5],4,0xFFFA3942);d=i(d,a,b,c,f[e+8],11,0x8771F681);c=i(c,d,a,b,f[e+11],16,0x6D9D6122);b=i(b,c,d,a,f[e+14],23,0xFDE5380C);a=i(a,b,c,d,f[e+1],4,0xA4BEEA44);d=i(d,a,b,c,f[e+4],11,0x4BDECFA9);c=i(c,d,a,b,f[e+7],16,0xF6BB4B60);b=i(b,c,d,a,f[e+10],23,0xBEBFBC70);a=i(a,b,c,d,f[e+13],4,0x289B7EC6);d=i(d,a,b,c,f[e+0],11,0xEAA127FA);c=i(c,d,a,b,f[e+3],16,0xD4EF3085);b=i(b,c,d,a,f[e+6],23,0x04881D05);a=i(a,b,c,d,f[e+9],4,0xD9D4D039);d=i(d,a,b,c,f[e+12],11,0xE6DB99E5);c=i(c,d,a,b,f[e+15],16,0x1FA27CF8);b=i(b,c,d,a,f[e+2],23,0xC4AC5665);a=j(a,b,c,d,f[e+0],6,0xF4292244);d=j(d,a,b,c,f[e+7],10,0x432AFF97);c=j(c,d,a,b,f[e+14],15,0xAB9423A7);b=j(b,c,d,a,f[e+5],21,0xFC93A039);a=j(a,b,c,d,f[e+12],6,0x655B59C3);d=j(d,a,b,c,f[e+3],10,0x8F0CCC92);c=j(c,d,a,b,f[e+10],15,0xFFEFF47D);b=j(b,c,d,a,f[e+1],21,0x85845DD1);a=j(a,b,c,d,f[e+8],6,0x6FA87E4F);d=j(d,a,b,c,f[e+15],10,0xFE2CE6E0);c=j(c,d,a,b,f[e+6],15,0xA3014314);b=j(b,c,d,a,f[e+13],21,0x4E0811A1);a=j(a,b,c,d,f[e+4],6,0xF7537E82);d=j(d,a,b,c,f[e+11],10,0xBD3AF235);c=j(c,d,a,b,f[e+2],15,0x2AD7D2BB);b=j(b,c,d,a,f[e+9],21,0xEB86D391);k[0]=l(a,k[0]);k[1]=l(b,k[1]);k[2]=l(c,k[2]);k[3]=l(d,k[3])}var
+o=new
+Array(16);for(var
+e=0;e<4;e++)for(var
+m=0;m<4;m++)o[e*4+m]=k[e]>>8*m&0xFF;return o}return function(h,g,f){var
+e=[];switch(h.t&6){default:aO(h);case
+0:var
+d=h.c;for(var
+a=0;a<f;a+=4){var
+b=a+g;e[a>>2]=d.charCodeAt(b)|d.charCodeAt(b+1)<<8|d.charCodeAt(b+2)<<16|d.charCodeAt(b+3)<<24}for(;a<f;a++)e[a>>2]|=d.charCodeAt(a+g)<<8*(a&3);break;case
+4:var
+c=h.c;for(var
+a=0;a<f;a+=4){var
+b=a+g;e[a>>2]=c[b]|c[b+1]<<8|c[b+2]<<16|c[b+3]<<24}for(;a<f;a++)e[a>>2]|=c[a+g]<<8*(a&3)}return oj(k(e,f))}}();function
+n7(c,b,a){return n6(aC(c),b,a)}var
+at=new
+Array();function
+dX(c){var
+a=at[c];if(!a.opened)s("Cannot flush a closed channel");if(!a.buffer||a.buffer==f)return 0;if(a.fd&&u.fds[a.fd]&&u.fds[a.fd].output){var
+b=u.fds[a.fd].output;switch(b.length){case
+2:b(c,a.buffer);break;default:b(a.buffer)}}a.buffer=f;return 0}function
+hv(e,f){var
+a=at[e],d=b(f),c=l(d);a.file.write(a.offset,d,0,c);a.offset+=c;return 0}function
+oq(a){var
+a=d1(a),b=h;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
+or(a){var
+a=d1(a),b=h;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
+ct(c,e,d,a){if(u.fds===undefined)u.fds=new
+Array();a=a?a:{};var
+b={};b.file=d;b.offset=a.append?d.length():0;b.flags=a;b.output=e;u.fds[c]=b;if(!u.fd_last_idx||c>u.fd_last_idx)u.fd_last_idx=c;return c}function
+ow(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)s(as(c)+gm);if(a.text&&a.binary)s(as(c)+gC);var
+d=hz(c),e=d.device.open(d.rest,a),f=u.fd_last_idx?u.fd_last_idx:0;return ct(f+1,hv,e,a)}ct(0,hv,new
+F(B(0)));ct(1,or,new
+F(B(0)));ct(2,oq,new
+F(B(0)));function
+n8(c){var
+b=u.fds[c];if(b.flags.wronly)s(g1+c+" is writeonly");var
+a={file:b.file,offset:b.offset,fd:c,opened:true,out:false,refill:null};at[a.fd]=a;return a.fd}function
+hn(c){var
+b=u.fds[c];if(b.flags.rdonly)s(g1+c+" is readonly");var
+a={file:b.file,offset:b.offset,fd:c,opened:true,out:true,buffer:f};at[a.fd]=a;return a.fd}function
+n9(){var
+b=0;for(var
+a=0;a<at.length;a++)if(at[a]&&at[a].opened&&at[a].out)b=[0,at[a].fd,b];return b}function
+O(a){return a}function
+n$(g,d,h,f){var
+b=at[g];if(!b.opened)s("Cannot output to a closed channel");var
+a;if(h==0&&Y(d)==f)a=d;else{a=B(f);aL(d,h,a,0,f)}var
+i=O(a),c=as(i),e=c.lastIndexOf("\n");if(e<0)b.buffer+=c;else{b.buffer+=c.substr(0,e+1);dX(g);b.buffer+=c.substr(e+1)}return 0}function
+n_(b,a,d,c){return n$(b,aC(a),d,c)}function
+oa(b,a){if(a==0)d0();return b%a}function
+bo(a,b){return+(bR(a,b,false)!=0)}function
+oc(a,b){a[0]=ch;a[1]=b;return 0}function
+hq(a){if(a
+instanceof
+Array&&a[0]==a[0]>>>0)return a[0];else
+if(bW(a))return dG;else
+if(co(a))return dG;else
+if(a
+instanceof
+Function||typeof
+a=="function")return 247;else
+if(a&&a.caml_custom)return f_;else
+return bK}function
+ag(b,c,a){if(a&&h.toplevelReloc)b=h.toplevelReloc(a);u[b+1]=c;if(a)u[a]=c}var
+hp={};function
+oh(a,b){hp[as(a)]=b;return 0}function
+ny(a,b){if(a===b)return 1;a.t&6&&aO(a);b.t&6&&aO(b);return a.c==b.c?1:0}function
+hw(a,b){return ny(a,b)}function
+oi(){C(dJ)}function
+D(b,a){if(a>>>0>=l(b))oi();return aj(b,a)}function
+aE(a,b){return 1-hw(a,b)}function
+ok(){return[0,b("js_of_ocaml")]}function
+ol(){return 0x7FFFFFFF/4|0}function
+om(){return[0,b("Unix"),32,0]}function
+og(){hs(u.Not_found)}function
+cs(c){var
+a=h,b=cp(c);if(a.process&&a.process.env&&a.process.env[b]!=undefined)return a0(a.process.env[b]);if(h.jsoo_static_env&&h.jsoo_static_env[b])return a0(h.jsoo_static_env[b]);og()}function
+on(){var
+a=new
+Date().getTime(),b=a^0xffffffff*Math.random();return[0,b]}function
+bX(a){var
+b=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function
+y(b,a){return{joo_tramp:b,joo_args:a}}function
+hu(a){return a}function
+ho(a){return hp[a]}function
+Z(a){if(a
+instanceof
+Array)return a;if(h.RangeError&&a
+instanceof
+h.RangeError&&a.message&&a.message.match(/maximum call stack/i))return hu(u.Stack_overflow);if(h.InternalError&&a
+instanceof
+h.InternalError&&a.message&&a.message.match(/too much recursion/i))return hu(u.Stack_overflow);if(a
+instanceof
+h.Error&&ho(dv))return[0,ho(dv),a];return[0,u.Failure,a0(String(a))]}function
+cu(){return 0}function
+ou(){}function
+a(a,b){return a.length==1?a(b):aN(a,[b])}function
+c(a,b,c){return a.length==2?a(b,c):aN(a,[b,c])}function
+o(a,b,c,d){return a.length==3?a(b,c,d):aN(a,[b,c,d])}function
+am(a,b,c,d,e){return a.length==4?a(b,c,d,e):aN(a,[b,c,d,e])}function
+aJ(a,b,c,d,e,f){return a.length==5?a(b,c,d,e,f):aN(a,[b,c,d,e,f])}nF();var
+d3=[v,b(f1),-2],au=[v,b(f5),-3],d2=[v,b(gv),-4],P=[v,b(gy),-7],m=[v,b(gK),-11],eh=[0,f0],dn=b("No element with id '%s' found"),fN=[0,0];ag(11,[v,b(fS),-12],fS);ag(10,m,gK);ag(9,[v,b(gq),-10],gq);ag(8,[v,b(gA),-9],gA);ag(7,[v,b(gg),-8],gg);ag(6,P,gy);ag(5,[v,b(gG),-6],gG);ag(4,[v,b(f7),-5],f7);ag(3,d2,gv);ag(2,au,f5);ag(1,d3,f1);ag(0,[v,b(gU),-1],gU);var
+hG=b("output_substring"),hC=b("true"),hD=b("false"),hI=b("\\\\"),hJ=b("\\'"),hK=b("\\b"),hL=b("\\t"),hM=b("\\n"),hN=b("\\r"),hR=b("String.blit / Bytes.blit_string"),hQ=b("Bytes.blit"),hP=b("String.sub / Bytes.sub"),hU=b("String.contains_from / Bytes.contains_from"),hW=b("Array.init"),h4=b("Set.remove_min_elt"),h5=[0,0,0,0],h6=[0,0,0],h7=[0,b("set.ml"),547,18],h0=b(cf),h1=b(cf),h2=b(cf),h3=b(cf),h9=b("Stdlib.Queue.Empty"),h$=b("CamlinternalLazy.Undefined"),ii=b("Buffer.add_substring/add_subbytes"),ih=b("Buffer.add: cannot grow buffer"),ig=[0,b(gE),93,2],ie=[0,b(gE),94,2],id=b("Buffer.sub"),is=b("%c"),it=b("%s"),iu=b(fR),iv=b(gf),iw=b(gu),ix=b(fV),iy=b("%f"),iz=b("%B"),iA=b("%{"),iB=b("%}"),iC=b("%("),iD=b("%)"),iE=b("%a"),iF=b("%t"),iG=b("%?"),iH=b("%r"),iI=b("%_r"),iJ=[0,b(A),850,23],iU=[0,b(A),814,21],iM=[0,b(A),815,21],iV=[0,b(A),818,21],iN=[0,b(A),819,21],iW=[0,b(A),822,19],iO=[0,b(A),823,19],iX=[0,b(A),826,22],iP=[0,b(A),827,22],iY=[0,b(A),831,30],iQ=[0,b(A),832,30],iS=[0,b(A),836,26],iK=[0,b(A),837,26],iT=[0,b(A),846,28],iL=[0,b(A),847,28],iR=[0,b(A),851,23],j0=b(go),jY=[0,b(A),1558,4],jZ=b("Printf: bad conversion %["),j1=[0,b(A),1626,39],j2=[0,b(A),1649,31],j3=[0,b(A),1650,31],j4=b("Printf: bad conversion %_"),j5=b("@{"),j6=b("@["),j_=[0,[11,b("invalid box description "),[3,0,0]],b("invalid box description %S")],j8=b(f),j9=[0,0,4],j$=b(f),ka=b("b"),kb=b("h"),kc=b("hov"),kd=b("hv"),ke=b("v"),jW=b(dx),jU=b("neg_infinity"),jV=b(gS),jT=b(aY),jD=b("%+nd"),jE=b("% nd"),jG=b("%+ni"),jH=b("% ni"),jI=b("%nx"),jJ=b("%#nx"),jK=b("%nX"),jL=b("%#nX"),jM=b("%no"),jN=b("%#no"),jC=b("%nd"),jF=b(gu),jO=b("%nu"),jq=b("%+ld"),jr=b("% ld"),jt=b("%+li"),ju=b("% li"),jv=b("%lx"),jw=b("%#lx"),jx=b("%lX"),jy=b("%#lX"),jz=b("%lo"),jA=b("%#lo"),jp=b("%ld"),js=b(gf),jB=b("%lu"),jd=b("%+Ld"),je=b("% Ld"),jg=b("%+Li"),jh=b("% Li"),ji=b("%Lx"),jj=b("%#Lx"),jk=b("%LX"),jl=b("%#LX"),jm=b("%Lo"),jn=b("%#Lo"),jc=b("%Ld"),jf=b(fV),jo=b("%Lu"),i2=b("%+d"),i3=b("% d"),i5=b("%+i"),i6=b("% i"),i7=b("%x"),i8=b("%#x"),i9=b("%X"),i_=b("%#X"),i$=b("%o"),ja=b("%#o"),i1=b(gF),i4=b(fR),jb=b(go),ij=b("@]"),ik=b("@}"),il=b("@?"),im=b("@\n"),io=b("@."),ip=b("@@"),iq=b("@%"),ir=b("@"),iZ=b("CamlinternalFormat.Type_mismatch"),kf=b("x"),nr=b("OCAMLRUNPARAM"),np=b("CAMLRUNPARAM"),kg=b(f),kI=[3,0,3],kJ=b(aY),kD=b(gZ),kE=b("<\/"),kF=b(f),kz=b(gZ),kA=b("<"),kB=b(f),kx=b("\n"),kr=b(f),ks=b(f),kt=b(f),ku=b(f),kq=[0,b(f)],km=b(f),kn=b(f),ko=b(f),kp=b(f),kl=[0,b(f),0,b(f)],kk=b(f),kj=b("Stdlib.Format.String_tag"),no=b("TMPDIR"),nn=b("TEMP"),kO=b("Cygwin"),kP=b("Win32"),kT=b(dv),kS=b("Jv.Error"),ls=b("warn"),lr=b("error"),lq=b("log"),k$=b("append"),kU=b("capture"),kV=b("once"),kW=b("passive"),md=[0,[18,[1,[0,0,b(f)]],[12,123,[15,[12,125,[17,0,0]]]]],b("@[{%a}@]")],ma=b("TOOD"),lH=b("step already executed"),lA=[0,[0,0,0,0,0,0,0,0,0,0,0]],lB=[0,b(dH),19,6],lC=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],lD=[0,b(dH),99,6],lE=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0]],lF=[0,b(dH),232,6],lQ=b("Note.Src.Step"),lS=[0,[0,0,0,0,0,0,0,0,0,0,0]],me=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],mj=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0]],mp=b("brr_add"),mo=b("brr_rem"),mr=[0,0.,0.],mu=b(gB),mv=b(f),mw=b(f),mx=b(gB),my=b("0.0.0.0"),mz=b("127.0.0.1"),nm=b("::"),nl=b("::1"),mA=[0,[11,b(f6),0],b(f6)],mB=[0,[11,b(f2),0],b(f2)],mR=[0,b(aW),422,10],mQ=[0,b(aW),433,16],mP=[0,b(aW),409,4],mO=[0,b(aW),348,12],mN=[0,b(aW),339,12],mL=[0,b(aW),92,8],mM=b(gn),mJ=[0,b(aW),80,8],mK=b(gh),mI=b(gn),mH=b(gh),mD=b("Matrix.NonSquare"),mF=b("Matrix.ImproperDimensions"),mX=b("NonElt"),m1=[0,0.,0.],m2=[0,0,0],m4=[0,0,0],nh=[0,bL,bN],ni=[0,bL,dy],nj=[0,bL,-806423680],ng=[0,bL,bN],nb=b("\xc2\xb0"),nc=b("Angle : "),na=b("Width : "),m_=b("Delete "),m$=b("Download"),nd=b("Ductus"),ne=b("Fill"),nf=b("Rendering : ");function
+t(a){if(typeof
+a==="number")return 0;else
+switch(a[0]){case
+0:return[0,t(a[1])];case
+1:return[1,t(a[1])];case
+2:return[2,t(a[1])];case
+3:return[3,t(a[1])];case
+4:return[4,t(a[1])];case
+5:return[5,t(a[1])];case
+6:return[6,t(a[1])];case
+7:return[7,t(a[1])];case
+8:var
+c=a[1];return[8,c,t(a[2])];case
+9:var
+b=a[1];return[9,b,b,t(a[3])];case
+10:return[10,t(a[1])];case
+11:return[11,t(a[1])];case
+12:return[12,t(a[1])];case
+13:return[13,t(a[1])];default:return[14,t(a[1])]}}function
+L(a,b){if(typeof
+a==="number")return b;else
+switch(a[0]){case
+0:return[0,L(a[1],b)];case
+1:return[1,L(a[1],b)];case
+2:return[2,L(a[1],b)];case
+3:return[3,L(a[1],b)];case
+4:return[4,L(a[1],b)];case
+5:return[5,L(a[1],b)];case
+6:return[6,L(a[1],b)];case
+7:return[7,L(a[1],b)];case
+8:var
+c=a[1];return[8,c,L(a[2],b)];case
+9:var
+d=a[2],e=a[1];return[9,e,d,L(a[3],b)];case
+10:return[10,L(a[1],b)];case
+11:return[11,L(a[1],b)];case
+12:return[12,L(a[1],b)];case
+13:return[13,L(a[1],b)];default:return[14,L(a[1],b)]}}function
+q(a,b){if(typeof
+a==="number")return b;else
+switch(a[0]){case
+0:return[0,q(a[1],b)];case
+1:return[1,q(a[1],b)];case
+2:var
+c=a[1];return[2,c,q(a[2],b)];case
+3:var
+d=a[1];return[3,d,q(a[2],b)];case
+4:var
+e=a[3],f=a[2],g=a[1];return[4,g,f,e,q(a[4],b)];case
+5:var
+h=a[3],i=a[2],j=a[1];return[5,j,i,h,q(a[4],b)];case
+6:var
+k=a[3],l=a[2],m=a[1];return[6,m,l,k,q(a[4],b)];case
+7:var
+n=a[3],o=a[2],p=a[1];return[7,p,o,n,q(a[4],b)];case
+8:var
+r=a[3],s=a[2],t=a[1];return[8,t,s,r,q(a[4],b)];case
+9:var
+u=a[1];return[9,u,q(a[2],b)];case
+10:return[10,q(a[1],b)];case
+11:var
+v=a[1];return[11,v,q(a[2],b)];case
+12:var
+w=a[1];return[12,w,q(a[2],b)];case
+13:var
+x=a[2],y=a[1];return[13,y,x,q(a[3],b)];case
+14:var
+z=a[2],A=a[1];return[14,A,z,q(a[3],b)];case
+15:return[15,q(a[1],b)];case
+16:return[16,q(a[1],b)];case
+17:var
+B=a[1];return[17,B,q(a[2],b)];case
+18:var
+C=a[1];return[18,C,q(a[2],b)];case
+19:return[19,q(a[1],b)];case
+20:var
+D=a[2],E=a[1];return[20,E,D,q(a[3],b)];case
+21:var
+F=a[1];return[21,F,q(a[2],b)];case
+22:return[22,q(a[1],b)];case
+23:var
+G=a[1];return[23,G,q(a[2],b)];default:var
+H=a[2],I=a[1];return[24,I,H,q(a[3],b)]}}function
+cv(a){throw[0,au,a]}function
+M(a){throw[0,d2,a]}J(0);function
+d4(b,a){return nG(b,a)?b:a}function
+cw(a){return 0<=a?a:-a|0}var
+hA=2147483647;function
+aP(d,c){var
+a=l(d),e=l(c),b=B(a+e|0);aM(d,0,b,0,a);aM(c,0,b,a,e);return O(b)}function
+hB(a){return a?hC:hD}n8(0);var
+hE=hn(1),hF=hn(2),cx=[0,function(b){function
+a(b){var
+a=b;for(;;){if(a){var
+c=a[2],d=a[1];try{dX(d)}catch(a){a=Z(a);if(a[1]!==d3)throw a;var
+e=a}var
+a=c;continue}return 0}}return a(n9(0))}];function
+d5(c){var
+b=[0,0],d=cx[1];cx[1]=function(e){if(1-b[1]){b[1]=1;a(c,0)}return a(d,0)};return 0}function
+hH(b){return a(cx[1],0)}var
+d6=om(0)[1],d7=ol(0),br=(4*d7|0)-1|0;J(0);var
+hO=ok(0);function
+a1(c){var
+b=0,a=c;for(;;){if(a){var
+b=b+1|0,a=a[2];continue}return b}}function
+aQ(d,c){var
+a=d,b=c;for(;;){if(a){var
+e=[0,a[1],b],a=a[2],b=e;continue}return b}}function
+d8(a){return aQ(a,0)}typeof
+hO==="number";function
+a2(c,b){if(b){var
+d=b[2],e=a(c,b[1]);return[0,e,a2(c,d)]}return 0}function
+_(d,c){var
+b=c;for(;;){if(b){var
+e=b[2];a(d,b[1]);var
+b=e;continue}return 0}}function
+cy(f,e){var
+b=0,a=e;for(;;){if(a){var
+d=a[2];c(f,b,a[1]);var
+b=b+1|0,a=d;continue}return 0}}function
+aF(f,e,d){var
+b=e,a=d;for(;;){if(a){var
+g=a[2],b=c(f,b,a[1]),a=g;continue}return b}}function
+d9(e,d){var
+b=d;for(;;){if(b){var
+c=b[1],f=b[2];if(a(e,c))return c;var
+b=f;continue}throw P}}function
+aR(a,c){var
+b=B(a);nD(b,0,a,c);return b}function
+d_(c,b,a){if(0<=b&&0<=a&&!((Y(c)-a|0)<b)){var
+d=B(a);aL(c,b,d,0,a);return d}return M(hP)}function
+cz(c,b,a){return O(d_(c,b,a))}function
+d$(e,c,d,b,a){if(0<=a&&0<=c&&!((Y(e)-a|0)<c)&&0<=b&&!((Y(d)-a|0)<b))return aL(e,c,d,b,a);return M(hQ)}function
+av(e,c,d,b,a){if(0<=a&&0<=c&&!((l(e)-a|0)<c)&&0<=b&&!((Y(d)-a|0)<b))return aM(e,c,d,b,a);return M(hR)}function
+bZ(b,a){return O(aR(b,a))}function
+ea(c,b,a){return O(d_(aC(c),b,a))}function
+hS(e,d,c,b){var
+a=c;for(;;){if(d<=a)throw P;if(aj(e,a)===b)return a;var
+a=a+1|0;continue}}function
+hT(b,a,d){var
+c=l(b);if(0<=a&&!(c<a))try{hS(b,c,a,d);var
+e=1;return e}catch(a){a=Z(a);if(a===P)return 0;throw a}return M(hU)}function
+hV(b,a){return hT(b,0,a)}function
+cA(c,d){if(0===c)return[0];if(0<=c){var
+e=af(c,a(d,0)),f=c-1|0,g=1;if(!(f<1)){var
+b=g;for(;;){e[1+b]=a(d,b);var
+h=b+1|0;if(f!==b){var
+b=h;continue}break}}return e}return M(hW)}function
+hX(b,f,e){var
+c=af(b,[0]),d=b-1|0,g=0;if(!(d<0)){var
+a=g;for(;;){c[1+a]=af(f,e);var
+h=a+1|0;if(d!==a){var
+a=h;continue}break}}return c}function
+cB(e,c){var
+d=c.length-1-1|0,f=0;if(!(d<0)){var
+b=f;for(;;){a(e,c[1+b]);var
+g=b+1|0;if(d!==b){var
+b=g;continue}break}}return 0}function
+a3(e,c){var
+d=c.length-1;if(0===d)return[0];var
+f=af(d,a(e,c[1])),g=d-1|0,h=1;if(!(g<1)){var
+b=h;for(;;){f[1+b]=a(e,c[1+b]);var
+i=b+1|0;if(g!==b){var
+b=i;continue}break}}return f}function
+eb(e,b){var
+d=b.length-1-1|0,f=0;if(!(d<0)){var
+a=f;for(;;){c(e,a,b[1+a]);var
+g=a+1|0;if(d!==a){var
+a=g;continue}break}}return 0}function
+b0(a){if(a){var
+d=0,c=a,g=a[2],h=a[1];for(;;){if(c){var
+d=d+1|0,c=c[2];continue}var
+f=af(d,h),e=1,b=g;for(;;){if(b){var
+i=b[2];f[1+e]=b[1];var
+e=e+1|0,b=i;continue}return f}}}return[0]}function
+cC(g,f,d){var
+b=[0,f],e=d.length-1-1|0,h=0;if(!(e<0)){var
+a=h;for(;;){b[1]=c(g,b[1],d[1+a]);var
+i=a+1|0;if(e!==a){var
+a=i;continue}break}}return b[1]}J(0);J(0);var
+hY=0.,hZ=1.;function
+h8(e){function
+q(a){return a?a[4]:0}function
+f(b,e,a){var
+c=b?b[4]:0,d=a?a[4]:0,f=d<=c?c+1|0:d+1|0;return[0,b,e,a,f]}function
+g(b,e,a){var
+g=b?b[4]:0,h=a?a[4]:0;if((h+2|0)<g){if(b){var
+c=b[3],k=b[2],i=b[1],m=q(c);if(m<=q(i))return f(i,k,f(c,e,a));if(c){var
+n=c[2],o=c[1],p=f(c[3],e,a);return f(f(i,k,o),n,p)}return M(h0)}return M(h1)}if((g+2|0)<h){if(a){var
+j=a[3],l=a[2],d=a[1],r=q(d);if(r<=q(j))return f(f(b,e,d),l,j);if(d){var
+s=d[2],t=d[1],u=f(d[3],l,j);return f(f(b,e,t),s,u)}return M(h2)}return M(h3)}var
+v=h<=g?g+1|0:h+1|0;return[0,b,e,a,v]}function
+b(d,a){if(a){var
+f=a[3],h=a[2],i=a[1],j=c(e[1],d,h);if(0===j)return a;if(0<=j){var
+k=b(d,f);return f===k?a:g(i,h,k)}var
+l=b(d,i);return i===l?a:g(l,h,f)}return[0,0,d,0,1]}function
+h(a){return[0,0,a,0,1]}function
+B(b,a){if(a){var
+c=a[3],d=a[2];return g(B(b,a[1]),d,c)}return h(b)}function
+C(b,a){if(a){var
+c=a[2],d=a[1];return g(d,c,C(b,a[3]))}return h(b)}function
+d(b,c,a){if(b){if(a){var
+e=a[4],h=b[4],i=a[3],j=a[2],k=a[1],l=b[3],m=b[2],n=b[1];return(e+2|0)<h?g(n,m,d(l,c,a)):(h+2|0)<e?g(d(b,c,k),j,i):f(b,c,a)}return C(c,b)}return B(c,a)}function
+l(c){var
+a=c;for(;;){if(a){var
+b=a[1];if(b){var
+a=b;continue}return a[2]}throw P}}function
+D(c){var
+a=c;for(;;){if(a){var
+b=a[1];if(b){var
+a=b;continue}return[0,a[2]]}return 0}}function
+E(b){var
+a=b;for(;;){if(a){if(a[3]){var
+a=a[3];continue}return a[2]}throw P}}function
+O(b){var
+a=b;for(;;){if(a){if(a[3]){var
+a=a[3];continue}return[0,a[2]]}return 0}}function
+s(a){if(a){var
+b=a[1];if(b){var
+c=a[3],d=a[2];return g(s(b),d,c)}return a[3]}return M(h4)}function
+n(b,a){if(b){if(a){var
+c=s(a);return d(b,l(a),c)}return b}return a}function
+i(b,a){if(a){var
+f=a[3],g=a[2],h=a[1],l=c(e[1],b,g);if(0===l)return[0,h,1,f];if(0<=l){var
+j=i(b,f),m=j[3],n=j[2];return[0,d(h,g,j[1]),n,m]}var
+k=i(b,h),o=k[2],p=k[1];return[0,p,o,d(k[3],g,f)]}return h5}var
+t=0;function
+Q(a){return a?0:1}function
+R(g,f){var
+a=f;for(;;){if(a){var
+h=a[3],i=a[1],b=c(e[1],g,a[2]),d=0===b?1:0;if(d)return d;var
+j=0<=b?h:i,a=j;continue}return 0}}function
+u(f,b){if(b){var
+a=b[3],h=b[2],d=b[1],i=c(e[1],f,h);if(0===i){if(d){if(a){var
+m=s(a);return g(d,l(a),m)}return d}return a}if(0<=i){var
+j=u(f,a);return a===j?b:g(d,h,j)}var
+k=u(f,d);return d===k?b:g(k,h,a)}return 0}function
+j(c,a){if(c){if(a){var
+g=a[4],e=a[2],h=c[4],f=c[2],m=a[3],n=a[1],o=c[3],p=c[1];if(g<=h){if(1===g)return b(e,c);var
+k=i(f,a),q=k[1],r=j(o,k[3]);return d(j(p,q),f,r)}if(1===h)return b(f,a);var
+l=i(e,c),s=l[1],t=j(l[3],m);return d(j(s,n),e,t)}return c}return a}function
+o(a,c){if(a){if(c){var
+e=a[3],f=a[2],g=a[1],b=i(f,c),h=b[1];if(b[2]){var
+j=o(e,b[3]);return d(o(g,h),f,j)}var
+k=o(e,b[3]);return n(o(g,h),k)}return 0}return 0}function
+v(f,b){if(b){var
+j=b[3],g=b[2],k=b[1],l=c(e[1],f,g);if(0===l)return 0;if(0<=l){var
+h=v(f,j);if(h){var
+m=h[2];return[0,d(k,g,h[1]),m]}return 0}var
+i=v(f,k);if(i){var
+n=i[2],o=i[1];return[0,o,function(b){return d(a(n,0),g,j)}]}return 0}return[0,0,function(a){return 0}]}function
+F(g,f){var
+b=g,c=f;for(;;){if(b&&c){var
+h=b[3],i=b[2],j=b[1];if(b===c)return 0;var
+d=v(i,c);if(d){var
+k=d[2],e=F(j,d[1]);if(e){var
+b=h,c=a(k,0);continue}return e}return 0}return 1}}function
+p(a,c){if(a){if(c){var
+e=a[3],f=a[2],g=a[1],b=i(f,c),h=b[1];if(b[2]){var
+j=p(e,b[3]);return n(p(g,h),j)}var
+k=p(e,b[3]);return d(p(g,h),f,k)}return a}return 0}function
+k(d,c){var
+a=d,b=c;for(;;){if(a){var
+e=[0,a[2],a[3],b],a=a[1],b=e;continue}return b}}function
+G(m,l){var
+n=k(l,0),b=k(m,0),a=n;for(;;){if(b){if(a){var
+f=a[3],g=a[2],h=b[3],i=b[2],d=c(e[1],b[1],a[1]);if(0===d){var
+j=k(g,f),b=k(i,h),a=j;continue}return d}return 1}return a?-1:0}}function
+S(b,a){return 0===G(b,a)?1:0}function
+r(o,n){var
+a=o,b=n;for(;;){if(a){if(b){var
+h=b[3],i=b[1],d=a[3],f=a[2],g=a[1],j=c(e[1],f,b[2]);if(0===j){var
+k=r(g,i);if(k){var
+a=d,b=h;continue}return k}if(0<=j){var
+l=r([0,0,f,d,0],h);if(l){var
+a=g;continue}return l}var
+m=r([0,g,f,0,0],i);if(m){var
+a=d;continue}return m}return 0}return 1}}function
+H(c,d){var
+b=d;for(;;){if(b){var
+e=b[3],f=b[2];H(c,b[1]);a(c,f);var
+b=e;continue}return 0}}function
+I(d,f,e){var
+a=f,b=e;for(;;){if(a){var
+g=a[3],h=a[2],i=c(d,h,I(d,a[1],b)),a=g,b=i;continue}return b}}function
+J(c,g){var
+b=g;for(;;){if(b){var
+h=b[3],i=b[1],d=a(c,b[2]);if(d){var
+e=J(c,i);if(e){var
+b=h;continue}var
+f=e}else
+var
+f=d;return f}return 1}}function
+K(c,g){var
+b=g;for(;;){if(b){var
+h=b[3],i=b[1],d=a(c,b[2]);if(d)var
+e=d;else{var
+f=K(c,i);if(!f){var
+b=h;continue}var
+e=f}return e}return 0}}function
+w(c,b){if(b){var
+g=b[3],h=b[2],i=b[1],e=w(c,i),j=a(c,h),f=w(c,g);if(j){if(i===e&&g===f)return b;return d(e,h,f)}return n(e,f)}return 0}function
+x(c,b){if(b){var
+e=b[2],l=b[3],f=x(c,b[1]),g=f[2],h=f[1],m=a(c,e),i=x(c,l),j=i[2],k=i[1];if(m){var
+o=n(g,j);return[0,d(h,e,k),o]}var
+p=d(g,e,j);return[0,n(h,k),p]}return h6}function
+y(a){if(a){var
+b=a[1],c=y(a[3]);return(y(b)+1|0)+c|0}return 0}function
+L(d,c){var
+b=d,a=c;for(;;){if(a){var
+e=a[2],f=a[1],b=[0,e,L(b,a[3])],a=f;continue}return b}}function
+T(a){return L(0,a)}function
+U(g,f){var
+a=f;for(;;){if(a){var
+b=a[2],h=a[3],i=a[1],d=c(e[1],g,b);if(0===d)return b;var
+j=0<=d?h:i,a=j;continue}throw P}}function
+V(f,j){var
+c=j;for(;;){if(c){var
+g=c[2],k=c[3],l=c[1];if(a(f,g)){var
+d=g,b=l;for(;;){if(b){var
+e=b[2],h=b[3],i=b[1];if(a(f,e)){var
+d=e,b=i;continue}var
+b=h;continue}return d}}var
+c=k;continue}throw P}}function
+W(f,j){var
+c=j;for(;;){if(c){var
+g=c[2],k=c[3],l=c[1];if(a(f,g)){var
+d=g,b=l;for(;;){if(b){var
+e=b[2],h=b[3],i=b[1];if(a(f,e)){var
+d=e,b=i;continue}var
+b=h;continue}return[0,d]}}var
+c=k;continue}return 0}}function
+X(f,j){var
+c=j;for(;;){if(c){var
+g=c[2],k=c[3],l=c[1];if(a(f,g)){var
+d=g,b=k;for(;;){if(b){var
+e=b[2],h=b[3],i=b[1];if(a(f,e)){var
+d=e,b=h;continue}var
+b=i;continue}return d}}var
+c=l;continue}throw P}}function
+Y(f,j){var
+c=j;for(;;){if(c){var
+g=c[2],k=c[3],l=c[1];if(a(f,g)){var
+d=g,b=k;for(;;){if(b){var
+e=b[2],h=b[3],i=b[1];if(a(f,e)){var
+d=e,b=h;continue}var
+b=i;continue}return[0,d]}}var
+c=l;continue}return 0}}function
+Z(g,f){var
+a=f;for(;;){if(a){var
+b=a[2],h=a[3],i=a[1],d=c(e[1],g,b);if(0===d)return[0,b];var
+j=0<=d?h:i,a=j;continue}return 0}}function
+z(k,f){if(f){var
+m=f[3],n=f[2],o=f[1],g=z(k,o),h=a(k,n),i=z(k,m);if(o===g&&n===h&&m===i)return f;var
+p=0;if(0!==g){var
+s=E(g);if(0<=c(e[1],s,h))p=1}if(!p){var
+q=0;if(0!==i){var
+r=l(i);if(0<=c(e[1],h,r))q=1}if(!q)return d(g,h,i)}return j(g,b(h,i))}return 0}function
+_(a){if(a){var
+k=a[2],g=a[1];if(k){var
+l=k[2],i=k[1];if(l){var
+o=l[2],p=l[1];if(o){var
+q=o[2],s=o[1];if(q){if(q[2]){var
+d=e[1],x=function(j,g){if(2===j){if(g){var
+m=g[2];if(m){var
+o=m[1],k=g[1],J=m[2],y=c(d,k,o),K=0===y?[0,k,0]:0<y?[0,k,[0,o,0]]:[0,o,[0,k,0]];return[0,K,J]}}}else
+if(3===j&&g){var
+p=g[2];if(p){var
+q=p[2];if(q){var
+b=q[1],a=p[1],e=g[1],N=q[2],D=c(d,e,a);if(0===D)var
+E=c(d,a,b),O=0===E?[0,a,0]:0<E?[0,a,[0,b,0]]:[0,b,[0,a,0]],r=O;else
+if(0<D){var
+F=c(d,a,b);if(0===F)var
+s=[0,e,[0,a,0]];else
+if(0<F)var
+s=[0,e,[0,a,[0,b,0]]];else
+var
+G=c(d,e,b),P=0===G?[0,e,[0,a,0]]:0<G?[0,e,[0,b,[0,a,0]]]:[0,b,[0,e,[0,a,0]]],s=P;var
+r=s}else{var
+H=c(d,e,b);if(0===H)var
+t=[0,a,[0,e,0]];else
+if(0<H)var
+t=[0,a,[0,e,[0,b,0]]];else
+var
+I=c(d,a,b),Q=0===I?[0,a,[0,e,0]]:0<I?[0,a,[0,b,[0,e,0]]]:[0,b,[0,a,[0,e,0]]],t=Q;var
+r=t}return[0,r,N]}}}var
+z=j>>1,A=n(z,g),L=A[1],B=n(j-z|0,A[2]),i=L,h=B[1],f=0,M=B[2];for(;;){if(i){if(h){var
+u=h[2],v=h[1],w=i[2],l=i[1],x=c(d,l,v);if(0===x){var
+i=w,h=u,f=[0,l,f];continue}if(0<=x){var
+h=u,f=[0,v,f];continue}var
+i=w,f=[0,l,f];continue}var
+C=aQ(i,f)}else
+var
+C=aQ(h,f);return[0,C,M]}},n=function(j,g){if(2===j){if(g){var
+m=g[2];if(m){var
+n=m[1],k=g[1],J=m[2],y=c(d,k,n),K=0===y?[0,k,0]:0<=y?[0,n,[0,k,0]]:[0,k,[0,n,0]];return[0,K,J]}}}else
+if(3===j&&g){var
+o=g[2];if(o){var
+p=o[2];if(p){var
+b=p[1],a=o[1],e=g[1],N=p[2],D=c(d,e,a);if(0===D)var
+E=c(d,a,b),O=0===E?[0,a,0]:0<=E?[0,b,[0,a,0]]:[0,a,[0,b,0]],q=O;else
+if(0<=D){var
+F=c(d,e,b);if(0===F)var
+r=[0,a,[0,e,0]];else
+if(0<=F)var
+G=c(d,a,b),P=0===G?[0,a,[0,e,0]]:0<=G?[0,b,[0,a,[0,e,0]]]:[0,a,[0,b,[0,e,0]]],r=P;else
+var
+r=[0,a,[0,e,[0,b,0]]];var
+q=r}else{var
+H=c(d,a,b);if(0===H)var
+s=[0,e,[0,a,0]];else
+if(0<=H)var
+I=c(d,e,b),Q=0===I?[0,e,[0,a,0]]:0<=I?[0,b,[0,e,[0,a,0]]]:[0,e,[0,b,[0,a,0]]],s=Q;else
+var
+s=[0,e,[0,a,[0,b,0]]];var
+q=s}return[0,q,N]}}}var
+z=j>>1,A=x(z,g),L=A[1],B=x(j-z|0,A[2]),i=L,h=B[1],f=0,M=B[2];for(;;){if(i){if(h){var
+t=h[2],u=h[1],v=i[2],l=i[1],w=c(d,l,u);if(0===w){var
+i=v,h=t,f=[0,l,f];continue}if(0<w){var
+i=v,f=[0,l,f];continue}var
+h=t,f=[0,u,f];continue}var
+C=aQ(i,f)}else
+var
+C=aQ(h,f);return[0,C,M]}},r=a1(a),u=2<=r?n(r,a)[1]:a,j=function(b,a){if(!(3<b>>>0))switch(b){case
+0:return[0,0,a];case
+1:if(a)return[0,[0,0,a[1],0,1],a[2]];break;case
+2:if(a){var
+d=a[2];if(d)return[0,[0,[0,0,a[1],0,1],d[1],0,2],d[2]]}break;default:if(a){var
+e=a[2];if(e){var
+g=e[2];if(g)return[0,[0,[0,0,a[1],0,1],e[1],[0,0,g[1],0,1],2],g[2]]}}}var
+h=b/2|0,i=j(h,a),c=i[2],l=i[1];if(c){var
+n=c[1],k=j((b-h|0)-1|0,c[2]),o=k[2];return[0,f(l,n,k[1]),o]}throw[0,m,h7]};return j(a1(u),u)[1]}var
+v=q[1];return b(v,b(s,b(p,b(i,h(g)))))}return b(s,b(p,b(i,h(g))))}return b(p,b(i,h(g)))}return b(i,h(g))}return h(g)}return t}function
+N(h,g){var
+c=g,e=h;for(;;){var
+d=a(e,0);if(d){var
+f=d[2],c=b(d[1],c),e=f;continue}return c}}function
+$(a){return N(a,t)}function
+A(a,d){if(a){var
+b=a[1],c=k(a[2],a[3]);return[0,b,function(a){return A(c,a)}]}return 0}function
+aa(a){var
+b=k(a,0);return function(a){return A(b,a)}}return[0,t,Q,R,b,h,u,j,o,F,p,G,S,r,H,z,I,J,K,w,x,y,T,l,D,E,O,l,D,i,U,Z,V,W,X,Y,_,function(j,i){var
+a=i,b=0;for(;;){if(a){var
+d=a[3],f=a[2],k=a[1],g=c(e[1],f,j);if(0!==g){if(0<=g){var
+a=k,b=[0,f,d,b];continue}var
+a=d;continue}var
+h=[0,f,d,b]}else
+var
+h=b;return function(a){return A(h,a)}}},aa,N,$]}J(0);function
+bs(a){return[0,0,0]}function
+bt(a){a[1]=0;a[2]=0;return 0}function
+aS(b,a){a[1]=[0,b,a[1]];a[2]=a[2]+1|0;return 0}function
+a4(a){var
+b=a[1];if(b){var
+c=b[1];a[1]=b[2];a[2]=a[2]-1|0;return[0,c]}return 0}function
+a5(b){var
+a=b[1];return a?[0,a[1]]:0}var
+h_=[v,h9,J(0)];function
+cD(a){a[1]=0;a[2]=0;a[3]=0;return 0}function
+ec(d,a){var
+b=[0,d,0],c=a[3];return c?(a[1]=a[1]+1|0,c[2]=b,a[3]=b,0):(a[1]=1,a[2]=b,a[3]=b,0)}var
+ia=[v,h$,J(0)];function
+ib(a){throw ia}function
+ic(b){var
+d=b[1];b[1]=ib;try{var
+c=a(d,0);oc(b,c);return c}catch(a){a=Z(a);b[1]=function(b){throw a};throw a}}function
+cE(a){var
+b=1<=a?a:1,c=br<b?br:b,d=B(c);return[0,d,0,c,d]}function
+cF(a){return cz(a[1],0,a[2])}function
+cG(a,c){var
+d=a[2],b=[0,a[3]];for(;;){if(b[1]<(d+c|0)){b[1]=2*b[1]|0;continue}if(br<b[1])if((d+c|0)<=br)b[1]=br;else
+cv(ih);var
+e=B(b[1]);d$(a[1],0,e,0,a[2]);a[1]=e;a[3]=b[1];if((a[2]+c|0)<=a[3]){if((d+c|0)<=a[3])return 0;throw[0,m,ie]}throw[0,m,ig]}}function
+bu(a,c){var
+b=l(c),d=a[2]+b|0;if(a[3]<d)cG(a,b);aM(c,0,a[1],a[2],b);a[2]=d;return 0}function
+cH(a){return 5===a[2]?12:-6}function
+ed(a){return[0,0,B(a)]}function
+ee(a,g){var
+b=Y(a[2]),c=a[1]+g|0,d=b<c?1:0;if(d){var
+e=B(d4(b*2|0,c));d$(a[2],0,e,0,b);a[2]=e;var
+f=0}else
+var
+f=d;return f}function
+a6(a,b){ee(a,1);aZ(a[2],a[1],b);a[1]=a[1]+1|0;return 0}function
+G(a,c){var
+b=l(c);ee(a,b);av(c,0,a[2],a[1],b);a[1]=a[1]+b|0;return 0}function
+ef(a){return cz(a[2],0,a[1])}function
+cI(b,c){var
+a=c;for(;;)if(typeof
+a==="number")return 0;else
+switch(a[0]){case
+0:var
+d=a[1];G(b,is);var
+a=d;continue;case
+1:var
+e=a[1];G(b,it);var
+a=e;continue;case
+2:var
+f=a[1];G(b,iu);var
+a=f;continue;case
+3:var
+g=a[1];G(b,iv);var
+a=g;continue;case
+4:var
+h=a[1];G(b,iw);var
+a=h;continue;case
+5:var
+i=a[1];G(b,ix);var
+a=i;continue;case
+6:var
+j=a[1];G(b,iy);var
+a=j;continue;case
+7:var
+k=a[1];G(b,iz);var
+a=k;continue;case
+8:var
+l=a[2],m=a[1];G(b,iA);cI(b,m);G(b,iB);var
+a=l;continue;case
+9:var
+n=a[3],o=a[1];G(b,iC);cI(b,o);G(b,iD);var
+a=n;continue;case
+10:var
+p=a[1];G(b,iE);var
+a=p;continue;case
+11:var
+q=a[1];G(b,iF);var
+a=q;continue;case
+12:var
+r=a[1];G(b,iG);var
+a=r;continue;case
+13:var
+s=a[1];G(b,iH);var
+a=s;continue;default:var
+t=a[1];G(b,iI);var
+a=t;continue}}function
+x(a){if(typeof
+a==="number")return 0;else
+switch(a[0]){case
+0:return[0,x(a[1])];case
+1:return[1,x(a[1])];case
+2:return[2,x(a[1])];case
+3:return[3,x(a[1])];case
+4:return[4,x(a[1])];case
+5:return[5,x(a[1])];case
+6:return[6,x(a[1])];case
+7:return[7,x(a[1])];case
+8:var
+b=a[1];return[8,b,x(a[2])];case
+9:var
+c=a[2],d=a[1];return[9,c,d,x(a[3])];case
+10:return[10,x(a[1])];case
+11:return[11,x(a[1])];case
+12:return[12,x(a[1])];case
+13:return[13,x(a[1])];default:return[14,x(a[1])]}}function
+H(b){if(typeof
+b==="number"){var
+s=function(a){return 0},t=function(a){return 0},u=function(a){return 0};return[0,function(a){return 0},u,t,s]}else
+switch(b[0]){case
+0:var
+c=H(b[1]),v=c[4],w=c[3],y=c[2],A=c[1],B=function(b){a(y,0);return 0};return[0,function(b){a(A,0);return 0},B,w,v];case
+1:var
+d=H(b[1]),C=d[4],D=d[3],E=d[2],F=d[1],G=function(b){a(E,0);return 0};return[0,function(b){a(F,0);return 0},G,D,C];case
+2:var
+e=H(b[1]),I=e[4],J=e[3],K=e[2],L=e[1],M=function(b){a(K,0);return 0};return[0,function(b){a(L,0);return 0},M,J,I];case
+3:var
+f=H(b[1]),N=f[4],O=f[3],P=f[2],Q=f[1],R=function(b){a(P,0);return 0};return[0,function(b){a(Q,0);return 0},R,O,N];case
+4:var
+g=H(b[1]),S=g[4],T=g[3],U=g[2],V=g[1],W=function(b){a(U,0);return 0};return[0,function(b){a(V,0);return 0},W,T,S];case
+5:var
+h=H(b[1]),X=h[4],Y=h[3],Z=h[2],_=h[1],$=function(b){a(Z,0);return 0};return[0,function(b){a(_,0);return 0},$,Y,X];case
+6:var
+i=H(b[1]),aa=i[4],ab=i[3],ac=i[2],ad=i[1],ae=function(b){a(ac,0);return 0};return[0,function(b){a(ad,0);return 0},ae,ab,aa];case
+7:var
+j=H(b[1]),af=j[4],ag=j[3],ah=j[2],ai=j[1],aj=function(b){a(ah,0);return 0};return[0,function(b){a(ai,0);return 0},aj,ag,af];case
+8:var
+k=H(b[2]),ak=k[4],al=k[3],am=k[2],an=k[1],ao=function(b){a(am,0);return 0};return[0,function(b){a(an,0);return 0},ao,al,ak];case
+9:var
+ap=b[2],aq=b[1],l=H(b[3]),ar=l[4],as=l[3],at=l[2],au=l[1],m=H(z(x(aq),ap)),av=m[4],aw=m[3],ax=m[2],ay=m[1],az=function(b){a(av,0);a(ar,0);return 0},aA=function(b){a(as,0);a(aw,0);return 0},aB=function(b){a(ax,0);a(at,0);return 0};return[0,function(b){a(au,0);a(ay,0);return 0},aB,aA,az];case
+10:var
+n=H(b[1]),aC=n[4],aD=n[3],aE=n[2],aF=n[1],aG=function(b){a(aE,0);return 0};return[0,function(b){a(aF,0);return 0},aG,aD,aC];case
+11:var
+o=H(b[1]),aH=o[4],aI=o[3],aJ=o[2],aK=o[1],aL=function(b){a(aJ,0);return 0};return[0,function(b){a(aK,0);return 0},aL,aI,aH];case
+12:var
+p=H(b[1]),aM=p[4],aN=p[3],aO=p[2],aP=p[1],aQ=function(b){a(aO,0);return 0};return[0,function(b){a(aP,0);return 0},aQ,aN,aM];case
+13:var
+q=H(b[1]),aR=q[4],aS=q[3],aT=q[2],aU=q[1],aV=function(b){a(aR,0);return 0},aW=function(b){a(aS,0);return 0},aX=function(b){a(aT,0);return 0};return[0,function(b){a(aU,0);return 0},aX,aW,aV];default:var
+r=H(b[1]),aY=r[4],aZ=r[3],a0=r[2],a1=r[1],a2=function(b){a(aY,0);return 0},a3=function(b){a(aZ,0);return 0},a4=function(b){a(a0,0);return 0};return[0,function(b){a(a1,0);return 0},a4,a3,a2]}}function
+z(d,c){var
+b=0;if(typeof
+d==="number")if(typeof
+c==="number")return 0;else
+switch(c[0]){case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;case
+8:b=5;break;case
+9:b=6;break;default:throw[0,m,iJ]}else
+switch(d[0]){case
+0:var
+e=0,u=d[1];if(typeof
+c!=="number")switch(c[0]){case
+0:return[0,z(u,c[1])];case
+8:b=5;e=1;break;case
+9:b=6;e=1;break;case
+10:e=1;break;case
+11:b=1;e=1;break;case
+12:b=2;e=1;break;case
+13:b=3;e=1;break;case
+14:b=4;e=1;break}if(!e)b=7;break;case
+1:var
+f=0,v=d[1];if(typeof
+c!=="number")switch(c[0]){case
+1:return[1,z(v,c[1])];case
+8:b=5;f=1;break;case
+9:b=6;f=1;break;case
+10:f=1;break;case
+11:b=1;f=1;break;case
+12:b=2;f=1;break;case
+13:b=3;f=1;break;case
+14:b=4;f=1;break}if(!f)b=7;break;case
+2:var
+g=0,w=d[1];if(typeof
+c==="number")g=1;else
+switch(c[0]){case
+2:return[2,z(w,c[1])];case
+8:b=5;break;case
+9:b=6;break;case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:g=1}if(g)b=7;break;case
+3:var
+h=0,y=d[1];if(typeof
+c==="number")h=1;else
+switch(c[0]){case
+3:return[3,z(y,c[1])];case
+8:b=5;break;case
+9:b=6;break;case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:h=1}if(h)b=7;break;case
+4:var
+i=0,A=d[1];if(typeof
+c==="number")i=1;else
+switch(c[0]){case
+4:return[4,z(A,c[1])];case
+8:b=5;break;case
+9:b=6;break;case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:i=1}if(i)b=7;break;case
+5:var
+j=0,B=d[1];if(typeof
+c==="number")j=1;else
+switch(c[0]){case
+5:return[5,z(B,c[1])];case
+8:b=5;break;case
+9:b=6;break;case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:j=1}if(j)b=7;break;case
+6:var
+k=0,C=d[1];if(typeof
+c==="number")k=1;else
+switch(c[0]){case
+6:return[6,z(C,c[1])];case
+8:b=5;break;case
+9:b=6;break;case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:k=1}if(k)b=7;break;case
+7:var
+l=0,D=d[1];if(typeof
+c==="number")l=1;else
+switch(c[0]){case
+7:return[7,z(D,c[1])];case
+8:b=5;break;case
+9:b=6;break;case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:l=1}if(l)b=7;break;case
+8:var
+n=0,E=d[2],F=d[1];if(typeof
+c==="number")n=1;else
+switch(c[0]){case
+8:var
+G=c[1],I=z(E,c[2]);return[8,z(F,G),I];case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:n=1}if(n)throw[0,m,iS];break;case
+9:var
+o=0,J=d[3],K=d[2],L=d[1];if(typeof
+c==="number")o=1;else
+switch(c[0]){case
+8:b=5;break;case
+9:var
+M=c[3],N=c[2],O=c[1],t=H(z(x(K),O)),P=t[4];a(t[2],0);a(P,0);return[9,L,N,z(J,M)];case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:b=4;break;default:o=1}if(o)throw[0,m,iT];break;case
+10:var
+Q=d[1];if(typeof
+c!=="number"&&10===c[0])return[10,z(Q,c[1])];throw[0,m,iU];case
+11:var
+p=0,R=d[1];if(typeof
+c==="number")p=1;else
+switch(c[0]){case
+10:break;case
+11:return[11,z(R,c[1])];default:p=1}if(p)throw[0,m,iV];break;case
+12:var
+q=0,S=d[1];if(typeof
+c==="number")q=1;else
+switch(c[0]){case
+10:break;case
+11:b=1;break;case
+12:return[12,z(S,c[1])];default:q=1}if(q)throw[0,m,iW];break;case
+13:var
+r=0,T=d[1];if(typeof
+c==="number")r=1;else
+switch(c[0]){case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:return[13,z(T,c[1])];default:r=1}if(r)throw[0,m,iX];break;default:var
+s=0,U=d[1];if(typeof
+c==="number")s=1;else
+switch(c[0]){case
+10:break;case
+11:b=1;break;case
+12:b=2;break;case
+13:b=3;break;case
+14:return[14,z(U,c[1])];default:s=1}if(s)throw[0,m,iY]}switch(b){case
+0:throw[0,m,iM];case
+1:throw[0,m,iN];case
+2:throw[0,m,iO];case
+3:throw[0,m,iP];case
+4:throw[0,m,iQ];case
+5:throw[0,m,iK];case
+6:throw[0,m,iL];default:throw[0,m,iR]}}var
+E=[v,iZ,J(0)];function
+b1(b,a){if(typeof
+b==="number")return[0,0,a];else{if(0===b[0])return[0,[0,b[1],b[2]],a];if(typeof
+a!=="number"&&2===a[0])return[0,[1,b[1]],a[1]];throw E}}function
+bv(e,b,d){var
+a=b1(e,d);if(typeof
+b==="number"){if(b){var
+c=a[2];if(typeof
+c!=="number"&&2===c[0])return[0,a[1],1,c[1]];throw E}return[0,a[1],0,a[2]]}return[0,a[1],[0,b[1]],a[2]]}function
+Q(c,d,b){if(typeof
+c==="number")return[0,0,p(d,b)];else
+switch(c[0]){case
+0:if(typeof
+b!=="number"&&0===b[0]){var
+g=Q(c[1],d,b[1]);return[0,[0,g[1]],g[2]]}break;case
+1:if(typeof
+b!=="number"&&1===b[0]){var
+h=Q(c[1],d,b[1]);return[0,[1,h[1]],h[2]]}break;case
+2:if(typeof
+b!=="number"&&2===b[0]){var
+i=Q(c[1],d,b[1]);return[0,[2,i[1]],i[2]]}break;case
+3:if(typeof
+b!=="number"&&3===b[0]){var
+j=Q(c[1],d,b[1]);return[0,[3,j[1]],j[2]]}break;case
+4:if(typeof
+b!=="number"&&4===b[0]){var
+k=Q(c[1],d,b[1]);return[0,[4,k[1]],k[2]]}break;case
+5:if(typeof
+b!=="number"&&5===b[0]){var
+l=Q(c[1],d,b[1]);return[0,[5,l[1]],l[2]]}break;case
+6:if(typeof
+b!=="number"&&6===b[0]){var
+m=Q(c[1],d,b[1]);return[0,[6,m[1]],m[2]]}break;case
+7:if(typeof
+b!=="number"&&7===b[0]){var
+n=Q(c[1],d,b[1]);return[0,[7,n[1]],n[2]]}break;case
+8:if(typeof
+b!=="number"&&8===b[0]){var
+o=b[1],A=b[2],B=c[2];if(bo([0,c[1]],[0,o]))throw E;var
+q=Q(B,d,A);return[0,[8,o,q[1]],q[2]]}break;case
+9:if(typeof
+b!=="number"&&9===b[0]){var
+e=b[2],f=b[1],C=b[3],D=c[3],F=c[2],G=c[1],I=[0,t(f)];if(bo([0,t(G)],I))throw E;var
+J=[0,t(e)];if(bo([0,t(F)],J))throw E;var
+r=H(z(x(f),e)),K=r[4];a(r[2],0);a(K,0);var
+s=Q(t(D),d,C),L=s[2];return[0,[9,f,e,x(s[1])],L]}break;case
+10:if(typeof
+b!=="number"&&10===b[0]){var
+u=Q(c[1],d,b[1]);return[0,[10,u[1]],u[2]]}break;case
+11:if(typeof
+b!=="number"&&11===b[0]){var
+v=Q(c[1],d,b[1]);return[0,[11,v[1]],v[2]]}break;case
+13:if(typeof
+b!=="number"&&13===b[0]){var
+w=Q(c[1],d,b[1]);return[0,[13,w[1]],w[2]]}break;case
+14:if(typeof
+b!=="number"&&14===b[0]){var
+y=Q(c[1],d,b[1]);return[0,[14,y[1]],y[2]]}break}throw E}function
+p(b,a){if(typeof
+b==="number")return[0,0,a];else
+switch(b[0]){case
+0:if(typeof
+a!=="number"&&0===a[0]){var
+u=p(b[1],a[1]);return[0,[0,u[1]],u[2]]}break;case
+1:if(typeof
+a!=="number"&&0===a[0]){var
+v=p(b[1],a[1]);return[0,[1,v[1]],v[2]]}break;case
+2:var
+af=b[2],w=b1(b[1],a),e=w[2],ag=w[1];if(typeof
+e!=="number"&&1===e[0]){var
+x=p(af,e[1]);return[0,[2,ag,x[1]],x[2]]}throw E;case
+3:var
+ah=b[2],y=b1(b[1],a),f=y[2],ai=y[1];if(typeof
+f!=="number"&&1===f[0]){var
+z=p(ah,f[1]);return[0,[3,ai,z[1]],z[2]]}throw E;case
+4:var
+aj=b[4],ak=b[1],g=bv(b[2],b[3],a),h=g[3],al=g[1];if(typeof
+h!=="number"&&2===h[0]){var
+am=g[2],A=p(aj,h[1]);return[0,[4,ak,al,am,A[1]],A[2]]}throw E;case
+5:var
+an=b[4],ao=b[1],i=bv(b[2],b[3],a),j=i[3],ap=i[1];if(typeof
+j!=="number"&&3===j[0]){var
+aq=i[2],B=p(an,j[1]);return[0,[5,ao,ap,aq,B[1]],B[2]]}throw E;case
+6:var
+ar=b[4],as=b[1],k=bv(b[2],b[3],a),l=k[3],at=k[1];if(typeof
+l!=="number"&&4===l[0]){var
+au=k[2],C=p(ar,l[1]);return[0,[6,as,at,au,C[1]],C[2]]}throw E;case
+7:var
+av=b[4],aw=b[1],m=bv(b[2],b[3],a),n=m[3],ax=m[1];if(typeof
+n!=="number"&&5===n[0]){var
+ay=m[2],D=p(av,n[1]);return[0,[7,aw,ax,ay,D[1]],D[2]]}throw E;case
+8:var
+az=b[4],aA=b[1],o=bv(b[2],b[3],a),q=o[3],aB=o[1];if(typeof
+q!=="number"&&6===q[0]){var
+aC=o[2],F=p(az,q[1]);return[0,[8,aA,aB,aC,F[1]],F[2]]}throw E;case
+9:var
+aD=b[2],G=b1(b[1],a),r=G[2],aE=G[1];if(typeof
+r!=="number"&&7===r[0]){var
+H=p(aD,r[1]);return[0,[9,aE,H[1]],H[2]]}throw E;case
+10:var
+I=p(b[1],a);return[0,[10,I[1]],I[2]];case
+11:var
+aF=b[1],J=p(b[2],a);return[0,[11,aF,J[1]],J[2]];case
+12:var
+aG=b[1],K=p(b[2],a);return[0,[12,aG,K[1]],K[2]];case
+13:if(typeof
+a!=="number"&&8===a[0]){var
+L=a[1],aH=a[2],aI=b[3],aJ=b[1];if(bo([0,b[2]],[0,L]))throw E;var
+M=p(aI,aH);return[0,[13,aJ,L,M[1]],M[2]]}break;case
+14:if(typeof
+a!=="number"&&9===a[0]){var
+N=a[1],aK=a[3],aL=b[3],aM=b[2],aN=b[1],aO=[0,t(N)];if(bo([0,t(aM)],aO))throw E;var
+O=p(aL,t(aK));return[0,[14,aN,N,O[1]],O[2]]}break;case
+15:if(typeof
+a!=="number"&&10===a[0]){var
+P=p(b[1],a[1]);return[0,[15,P[1]],P[2]]}break;case
+16:if(typeof
+a!=="number"&&11===a[0]){var
+R=p(b[1],a[1]);return[0,[16,R[1]],R[2]]}break;case
+17:var
+aP=b[1],S=p(b[2],a);return[0,[17,aP,S[1]],S[2]];case
+18:var
+T=b[2],s=b[1];if(0===s[0]){var
+Y=s[1],aT=Y[2],Z=p(Y[1],a),aU=Z[1],_=p(T,Z[2]);return[0,[18,[0,[0,aU,aT]],_[1]],_[2]]}var
+$=s[1],aV=$[2],aa=p($[1],a),aW=aa[1],ab=p(T,aa[2]);return[0,[18,[1,[0,aW,aV]],ab[1]],ab[2]];case
+19:if(typeof
+a!=="number"&&13===a[0]){var
+V=p(b[1],a[1]);return[0,[19,V[1]],V[2]]}break;case
+20:if(typeof
+a!=="number"&&1===a[0]){var
+aQ=b[2],aR=b[1],W=p(b[3],a[1]);return[0,[20,aR,aQ,W[1]],W[2]]}break;case
+21:if(typeof
+a!=="number"&&2===a[0]){var
+aS=b[1],X=p(b[2],a[1]);return[0,[21,aS,X[1]],X[2]]}break;case
+23:var
+d=b[2],c=b[1];if(typeof
+c==="number")switch(c){case
+0:return U(c,d,a);case
+1:return U(c,d,a);case
+2:if(typeof
+a!=="number"&&14===a[0]){var
+ac=p(d,a[1]);return[0,[23,2,ac[1]],ac[2]]}throw E;default:return U(c,d,a)}else
+switch(c[0]){case
+0:return U(c,d,a);case
+1:return U(c,d,a);case
+2:return U(c,d,a);case
+3:return U(c,d,a);case
+4:return U(c,d,a);case
+5:return U(c,d,a);case
+6:return U(c,d,a);case
+7:return U(c,d,a);case
+8:return U([8,c[1],c[2]],d,a);case
+9:var
+aX=c[1],ad=Q(c[2],d,a),ae=ad[2];return[0,[23,[9,aX,ad[1]],ae[1]],ae[2]];case
+10:return U(c,d,a);default:return U(c,d,a)}}throw E}function
+U(d,c,b){var
+a=p(c,b);return[0,[23,d,a[1]],a[2]]}function
+V(k,g,a){var
+b=l(a),h=0<=g?k:0,d=cw(g);if(d<=b)return a;var
+m=2===h?48:32,c=aR(d,m);switch(h){case
+0:av(a,0,c,0,b);break;case
+1:av(a,0,c,d-b|0,b);break;default:var
+e=0;if(0<b){var
+i=0;if(43!==D(a,0)&&45!==D(a,0)&&32!==D(a,0)){e=1;i=1}if(!i){aZ(c,0,D(a,0));av(a,1,c,(d-b|0)+1|0,b-1|0)}}else
+e=1;if(e){var
+f=0;if(1<b&&48===D(a,0)){var
+j=0;if(fZ!==D(a,1)&&88!==D(a,1)){f=1;j=1}if(!j){aZ(c,1,D(a,1));av(a,2,c,(d-b|0)+2|0,b-2|0)}}else
+f=1;if(f)av(a,0,c,d-b|0,b)}}return O(c)}function
+a7(k,b){var
+c=cw(k),a=l(b),d=D(b,0),e=0;if(58<=d){if(71<=d){if(!(5<(d+gz|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<a){var
+j=0;if(fZ===D(b,1)||88===D(b,1))j=1;if(j){var
+h=aR(c+2|0,48);aZ(h,1,D(b,1));av(b,2,h,(c-a|0)+4|0,a-2|0);return O(h)}}e=1;f=1;break;case
+0:case
+2:break;case
+1:case
+3:case
+4:f=1;break;default:e=1;f=1}else
+f=1;if(!f&&a<(c+1|0)){var
+g=aR(c+1|0,48);aZ(g,0,d);av(b,1,g,(c-a|0)+2|0,a-1|0);return O(g)}}if(e&&a<c){var
+i=aR(c,48);av(b,0,i,c-a|0,a);return O(i)}return b}function
+i0(k){var
+j=0,F=l(k);for(;;){if(F<=j)var
+p=k;else{var
+o=aj(k,j)+gN|0,q=0;if(59<o>>>0){if(33<(o-61|0)>>>0)q=1}else
+if(2===o)q=1;if(!q){var
+j=j+1|0;continue}var
+e=aC(k),a=[0,0],u=Y(e)-1|0,A=0;if(!(u<0)){var
+i=A;for(;;){var
+f=bQ(e,i),g=0;if(32<=f){var
+m=f-34|0,r=0;if(58<m>>>0){if(93<=m)r=1}else
+if(56<(m-1|0)>>>0){g=1;r=1}if(!r){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=i+1|0;if(u!==i){var
+i=E;continue}break}}if(a[1]===Y(e)){var
+s=Y(e),t=B(s);aL(e,0,t,0,s);var
+x=t}else{var
+b=B(a[1]);a[1]=0;var
+v=Y(e)-1|0,C=0;if(!(v<0)){var
+h=C;for(;;){var
+c=bQ(e,h),d=0;if(35<=c)if(92===c)d=2;else
+if(dB<=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:w(b,a[1],92);a[1]++;w(b,a[1],98);break;case
+9:w(b,a[1],92);a[1]++;w(b,a[1],116);break;case
+10:w(b,a[1],92);a[1]++;w(b,a[1],110);break;case
+13:w(b,a[1],92);a[1]++;w(b,a[1],114);break;default:d=1}switch(d){case
+1:w(b,a[1],92);a[1]++;w(b,a[1],48+(c/ci|0)|0);a[1]++;w(b,a[1],48+((c/10|0)%10|0)|0);a[1]++;w(b,a[1],48+(c%10|0)|0);break;case
+2:w(b,a[1],92);a[1]++;w(b,a[1],c);break;case
+3:w(b,a[1],c);break}a[1]++;var
+D=h+1|0;if(v!==h){var
+h=D;continue}break}}var
+x=b}var
+p=O(x)}var
+y=l(p),z=aR(y+2|0,34);aM(p,0,z,1,y);return O(z)}}function
+eg(d,g){var
+h=cw(g),e=eh?eh[1]:70;switch(d[2]){case
+0:var
+a=102;break;case
+1:var
+a=101;break;case
+2:var
+a=69;break;case
+3:var
+a=f0;break;case
+4:var
+a=71;break;case
+5:var
+a=e;break;case
+6:var
+a=104;break;case
+7:var
+a=72;break;default:var
+a=70}var
+c=ed(16);a6(c,37);switch(d[1]){case
+0:break;case
+1:a6(c,43);break;default:a6(c,32)}if(8<=d[2])a6(c,35);a6(c,46);G(c,b(f+h));a6(c,a);return ef(c)}function
+b2(n,a){if(13<=n){var
+g=[0,0],h=l(a)-1|0,o=0;if(!(h<0)){var
+c=o;for(;;){if(!(9<(aj(a,c)+f3|0)>>>0))g[1]++;var
+r=c+1|0;if(h!==c){var
+c=r;continue}break}}var
+i=g[1],j=B(l(a)+((i-1|0)/3|0)|0),k=[0,0],d=function(a){aZ(j,k[1],a);k[1]++;return 0},e=[0,((i-1|0)%3|0)+1|0],m=l(a)-1|0,p=0;if(!(m<0)){var
+b=p;for(;;){var
+f=aj(a,b);if(9<(f+f3|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 O(j)}return a}function
+jP(b,c){switch(b){case
+1:var
+a=i2;break;case
+2:var
+a=i3;break;case
+4:var
+a=i5;break;case
+5:var
+a=i6;break;case
+6:var
+a=i7;break;case
+7:var
+a=i8;break;case
+8:var
+a=i9;break;case
+9:var
+a=i_;break;case
+10:var
+a=i$;break;case
+11:var
+a=ja;break;case
+0:case
+13:var
+a=i1;break;case
+3:case
+14:var
+a=i4;break;default:var
+a=jb}return b2(b,cl(a,c))}function
+jQ(b,c){switch(b){case
+1:var
+a=jq;break;case
+2:var
+a=jr;break;case
+4:var
+a=jt;break;case
+5:var
+a=ju;break;case
+6:var
+a=jv;break;case
+7:var
+a=jw;break;case
+8:var
+a=jx;break;case
+9:var
+a=jy;break;case
+10:var
+a=jz;break;case
+11:var
+a=jA;break;case
+0:case
+13:var
+a=jp;break;case
+3:case
+14:var
+a=js;break;default:var
+a=jB}return b2(b,cl(a,c))}function
+jR(b,c){switch(b){case
+1:var
+a=jD;break;case
+2:var
+a=jE;break;case
+4:var
+a=jG;break;case
+5:var
+a=jH;break;case
+6:var
+a=jI;break;case
+7:var
+a=jJ;break;case
+8:var
+a=jK;break;case
+9:var
+a=jL;break;case
+10:var
+a=jM;break;case
+11:var
+a=jN;break;case
+0:case
+13:var
+a=jC;break;case
+3:case
+14:var
+a=jF;break;default:var
+a=jO}return b2(b,cl(a,c))}function
+jS(b,c){switch(b){case
+1:var
+a=jd;break;case
+2:var
+a=je;break;case
+4:var
+a=jg;break;case
+5:var
+a=jh;break;case
+6:var
+a=ji;break;case
+7:var
+a=jj;break;case
+8:var
+a=jk;break;case
+9:var
+a=jl;break;case
+10:var
+a=jm;break;case
+11:var
+a=jn;break;case
+0:case
+13:var
+a=jc;break;case
+3:case
+14:var
+a=jf;break;default:var
+a=jo}return b2(b,nR(a,c))}function
+aw(d,i,b){function
+j(c){switch(d[1]){case
+0:var
+a=45;break;case
+1:var
+a=43;break;default:var
+a=32}return nM(b,i,a)}function
+s(c){var
+a=nC(b);return 3===a?b<0.?jU:jV:4<=a?jW:c}switch(d[2]){case
+5:var
+f=hh(eg(d,i),b),e=0,x=l(f);for(;;){if(e===x)var
+r=0;else{var
+k=D(f,e)-46|0,m=0;if(23<k>>>0){if(55===k)m=1}else
+if(21<(k-1|0)>>>0)m=1;if(!m){var
+e=e+1|0;continue}var
+r=1}var
+y=r?f:aP(f,jT);return s(y)}case
+6:return j(0);case
+7:var
+h=aC(j(0)),g=Y(h);if(0===g)var
+q=h;else{var
+n=B(g),o=g-1|0,u=0;if(!(o<0)){var
+a=u;for(;;){var
+c=bQ(h,a),t=0;if(97<=c&&!(g2<c)){var
+p=c+gN|0;t=1}if(!t)var
+p=c;w(n,a,p);var
+v=a+1|0;if(o!==a){var
+a=v;continue}break}}var
+q=n}return O(q);case
+8:return s(j(0));default:return hh(eg(d,i),b)}}function
+bJ(f,K,J,I){var
+d=K,b=J,e=I;for(;;)if(typeof
+e==="number")return a(d,b);else
+switch(e[0]){case
+0:var
+L=e[1];return function(a){return j(d,[5,b,a],L)};case
+1:var
+M=e[1];return function(a){var
+e=0;if(40<=a)if(92===a)var
+c=hI;else
+if(dB<=a)e=1;else
+e=2;else
+if(32<=a)if(39<=a)var
+c=hJ;else
+e=2;else
+if(14<=a)e=1;else
+switch(a){case
+8:var
+c=hK;break;case
+9:var
+c=hL;break;case
+10:var
+c=hM;break;case
+13:var
+c=hN;break;default:e=1}switch(e){case
+1:var
+f=B(4);w(f,0,92);w(f,1,48+(a/ci|0)|0);w(f,2,48+((a/10|0)%10|0)|0);w(f,3,48+(a%10|0)|0);var
+c=O(f);break;case
+2:var
+g=B(1);w(g,0,a);var
+c=O(g);break}var
+h=l(c),i=aR(h+2|0,39);aM(c,0,i,1,h);return j(d,[4,b,O(i)],M)};case
+2:var
+N=e[2],P=e[1];return cJ(d,b,N,P,function(a){return a});case
+3:return cJ(d,b,e[2],e[1],i0);case
+4:return b3(d,b,e[4],e[2],e[3],jP,e[1]);case
+5:return b3(d,b,e[4],e[2],e[3],jQ,e[1]);case
+6:return b3(d,b,e[4],e[2],e[3],jR,e[1]);case
+7:return b3(d,b,e[4],e[2],e[3],jS,e[1]);case
+8:var
+i=e[4],k=e[3],o=e[2],h=e[1];if(typeof
+o==="number"){if(typeof
+k==="number")return k?function(c,a){return j(d,[4,b,aw(h,c,a)],i)}:function(a){return j(d,[4,b,aw(h,cH(h),a)],i)};var
+af=k[1];return function(a){return j(d,[4,b,aw(h,af,a)],i)}}else{if(0===o[0]){var
+u=o[2],v=o[1];if(typeof
+k==="number")return k?function(c,a){return j(d,[4,b,V(v,u,aw(h,c,a))],i)}:function(a){return j(d,[4,b,V(v,u,aw(h,cH(h),a))],i)};var
+ag=k[1];return function(a){return j(d,[4,b,V(v,u,aw(h,ag,a))],i)}}var
+z=o[1];if(typeof
+k==="number")return k?function(e,c,a){return j(d,[4,b,V(z,e,aw(h,c,a))],i)}:function(c,a){return j(d,[4,b,V(z,c,aw(h,cH(h),a))],i)};var
+ah=k[1];return function(c,a){return j(d,[4,b,V(z,c,aw(h,ah,a))],i)}}case
+9:return cJ(d,b,e[2],e[1],hB);case
+10:var
+b=[7,b],e=e[1];continue;case
+11:var
+b=[2,b,e[1]],e=e[2];continue;case
+12:var
+b=[3,b,e[1]],e=e[2];continue;case
+13:var
+Q=e[3],R=e[2],A=ed(16);cI(A,R);var
+H=ef(A);return function(a){return j(d,[4,b,H],Q)};case
+14:var
+S=e[3],T=e[2];return function(c){var
+e=c[1],a=p(e,t(x(T)));if(typeof
+a[2]==="number")return j(d,b,q(a[1],S));throw E};case
+15:var
+U=e[1];return function(e,a){return j(d,[6,b,function(b){return c(e,b,a)}],U)};case
+16:var
+W=e[1];return function(a){return j(d,[6,b,a],W)};case
+17:var
+b=[0,b,e[1]],e=e[2];continue;case
+18:var
+s=e[1];if(0===s[0]){var
+X=e[2],Y=s[1][1],Z=0,d=function(b,c,d){return function(a){return j(c,[1,b,[0,a]],d)}}(b,d,X),b=Z,e=Y;continue}var
+_=e[2],$=s[1][1],aa=0,d=function(b,c,d){return function(a){return j(c,[1,b,[1,a]],d)}}(b,d,_),b=aa,e=$;continue;case
+19:throw[0,m,jY];case
+20:var
+ab=e[3],ac=[8,b,jZ];return function(a){return j(d,ac,ab)};case
+21:var
+ad=e[2];return function(a){return j(d,[4,b,cl(j0,a)],ad)};case
+22:var
+ae=e[1];return function(a){return j(d,[5,b,a],ae)};case
+23:var
+g=e[2],r=e[1];if(typeof
+r==="number")switch(r){case
+0:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+1:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+2:throw[0,m,j1];default:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g])}else
+switch(r[0]){case
+0:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+1:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+2:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+3:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+4:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+5:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+6:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+7:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+8:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);case
+9:var
+G=r[2];return f<50?dq(f+1|0,d,b,G,g):y(dq,[0,d,b,G,g]);case
+10:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g]);default:return f<50?n(f+1|0,d,b,g):y(n,[0,d,b,g])}default:var
+C=e[3],D=e[1],F=a(e[2],0);return f<50?dp(f+1|0,d,b,C,D,F):y(dp,[0,d,b,C,D,F])}}function
+dq(e,d,c,a,b){if(typeof
+a==="number")return e<50?n(e+1|0,d,c,b):y(n,[0,d,c,b]);else
+switch(a[0]){case
+0:var
+f=a[1];return function(a){return $(d,c,f,b)};case
+1:var
+g=a[1];return function(a){return $(d,c,g,b)};case
+2:var
+h=a[1];return function(a){return $(d,c,h,b)};case
+3:var
+i=a[1];return function(a){return $(d,c,i,b)};case
+4:var
+j=a[1];return function(a){return $(d,c,j,b)};case
+5:var
+k=a[1];return function(a){return $(d,c,k,b)};case
+6:var
+l=a[1];return function(a){return $(d,c,l,b)};case
+7:var
+o=a[1];return function(a){return $(d,c,o,b)};case
+8:var
+p=a[2];return function(a){return $(d,c,p,b)};case
+9:var
+q=a[3],r=a[2],s=z(x(a[1]),r);return function(a){return $(d,c,L(s,q),b)};case
+10:var
+t=a[1];return function(e,a){return $(d,c,t,b)};case
+11:var
+u=a[1];return function(a){return $(d,c,u,b)};case
+12:var
+v=a[1];return function(a){return $(d,c,v,b)};case
+13:throw[0,m,j2];default:throw[0,m,j3]}}function
+n(d,b,e,a){var
+c=[8,e,j4];return d<50?bJ(d+1|0,b,c,a):y(bJ,[0,b,c,a])}function
+dp(h,c,f,b,e,d){if(e){var
+i=e[1];return function(e){return jX(c,f,b,i,a(d,e))}}var
+g=[4,f,d];return h<50?bJ(h+1|0,c,g,b):y(bJ,[0,c,g,b])}function
+j(a,b,c){return bX(bJ(0,a,b,c))}function
+$(a,b,c,d){return bX(dq(0,a,b,c,d))}function
+jX(a,b,c,d,e){return bX(dp(0,a,b,c,d,e))}function
+cJ(f,e,d,b,c){if(typeof
+b==="number")return function(b){return j(f,[4,e,a(c,b)],d)};else{if(0===b[0]){var
+g=b[2],h=b[1];return function(b){return j(f,[4,e,V(h,g,a(c,b))],d)}}var
+i=b[1];return function(g,b){return j(f,[4,e,V(i,g,a(c,b))],d)}}}function
+b3(g,f,e,h,d,b,a){if(typeof
+h==="number"){if(typeof
+d==="number")return d?function(h,d){return j(g,[4,f,a7(h,c(b,a,d))],e)}:function(d){return j(g,[4,f,c(b,a,d)],e)};var
+m=d[1];return function(d){return j(g,[4,f,a7(m,c(b,a,d))],e)}}else{if(0===h[0]){var
+i=h[2],k=h[1];if(typeof
+d==="number")return d?function(h,d){return j(g,[4,f,V(k,i,a7(h,c(b,a,d)))],e)}:function(d){return j(g,[4,f,V(k,i,c(b,a,d))],e)};var
+n=d[1];return function(d){return j(g,[4,f,V(k,i,a7(n,c(b,a,d)))],e)}}var
+l=h[1];if(typeof
+d==="number")return d?function(i,h,d){return j(g,[4,f,V(l,i,a7(h,c(b,a,d)))],e)}:function(h,d){return j(g,[4,f,V(l,h,c(b,a,d))],e)};var
+o=d[1];return function(h,d){return j(g,[4,f,V(l,h,a7(o,c(b,a,d)))],e)}}}function
+aG(c,i){var
+b=i;for(;;)if(typeof
+b==="number")return 0;else
+switch(b[0]){case
+0:var
+e=b[2],j=b[1];if(typeof
+e==="number")switch(e){case
+0:var
+d=ij;break;case
+1:var
+d=ik;break;case
+2:var
+d=il;break;case
+3:var
+d=im;break;case
+4:var
+d=io;break;case
+5:var
+d=ip;break;default:var
+d=iq}else
+switch(e[0]){case
+0:var
+d=e[1];break;case
+1:var
+d=e[1];break;default:var
+d=aP(ir,bZ(1,e[1]))}aG(c,j);return bu(c,d);case
+1:var
+g=b[2],h=b[1];if(0===g[0]){var
+k=g[1];aG(c,h);bu(c,j5);var
+b=k;continue}var
+l=g[1];aG(c,h);bu(c,j6);var
+b=l;continue;case
+6:var
+o=b[2];aG(c,b[1]);return bu(c,a(o,0));case
+7:var
+b=b[1];continue;case
+8:var
+p=b[2];aG(c,b[1]);return M(p);case
+2:case
+4:var
+m=b[2];aG(c,b[1]);return bu(c,m);default:var
+n=b[2];aG(c,b[1]);var
+f=c[2];if(c[3]<=f)cG(c,1);w(c[1],f,n);c[2]=f+1|0;return 0}}function
+j7(b){if(hw(b,j8))return j9;var
+e=l(b);function
+g(e){var
+d=j_[1],c=cE(bO);return a(j(function(a){aG(c,a);return cv(cF(c))},0,d),b)}function
+h(d){var
+a=d;for(;;){if(a===e)return a;var
+c=D(b,a);if(9!==c&&32!==c)return a;var
+a=a+1|0;continue}}function
+p(d,c){var
+a=c;for(;;){if(a===e)return a;if(25<(D(b,a)+gz|0)>>>0)return a;var
+a=a+1|0;continue}}function
+q(g,f){var
+a=f;for(;;){if(a===e)return a;var
+c=D(b,a),d=0;if(48<=c){if(!(58<=c))d=1}else
+if(45===c)d=1;if(d){var
+a=a+1|0;continue}return a}}var
+f=h(0),m=p(f,f),c=ea(b,f,m-f|0),d=h(m),i=q(d,d);if(d===i)var
+k=0;else
+try{var
+r=n0(ea(b,d,i-d|0)),k=r}catch(a){a=Z(a);if(a[1]!==au)throw a;var
+k=g(0)}if(h(i)!==e)g(0);var
+o=0;if(aE(c,j$)&&aE(c,ka))var
+n=aE(c,kb)?aE(c,kc)?aE(c,kd)?aE(c,ke)?g(0):1:2:3:0;else
+o=1;if(o)var
+n=4;return[0,k,n]}J(0);try{var
+ns=cs(nr),ej=ns}catch(a){a=Z(a);if(a!==P)throw a;try{var
+nq=cs(np),ei=nq}catch(a){a=Z(a);if(a!==P)throw a;var
+ei=kg}var
+ej=ei}var
+kh=hV(ej,82),b4=[dC,function(z){var
+p=on(0),c=[0,af(55,0),0],k=0===p.length-1?[0,0]:p,m=k.length-1,a=0;for(;;){e(c[1],a)[1+a]=a;var
+y=a+1|0;if(54!==a){var
+a=y;continue}var
+i=[0,kf],n=54+d4(55,m)|0,u=0;if(!(n<0)){var
+d=u;for(;;){var
+g=d%55|0,o=oa(d,m),v=e(k,o)[1+o],j=aP(i[1],b(f+v));i[1]=n7(j,0,l(j));var
+h=i[1],q=D(h,3)<<24,r=D(h,2)<<16,s=D(h,1)<<8,t=((D(h,0)+s|0)+r|0)+q|0,w=(e(c[1],g)[1+g]^t)&f$;e(c[1],g)[1+g]=w;var
+x=d+1|0;if(n!==d){var
+d=x;continue}break}}c[2]=0;return c}}];function
+ki(i,l){var
+m=i?i[1]:kh,b=16;for(;;){if(!(l<=b)&&!(d7<(b*2|0))){var
+b=b*2|0;continue}if(m){var
+j=hq(b4),a=ch===j?b4[1]:dC===j?ic(b4):b4;a[2]=(a[2]+1|0)%55|0;var
+c=a[2],d=e(a[1],c)[1+c],f=(a[2]+24|0)%55|0,g=(e(a[1],f)[1+f]+(d^(d>>>25|0)&31)|0)&f$,h=a[2];e(a[1],h)[1+h]=g;var
+k=g}else
+var
+k=0;return[0,0,af(b,0),k,b]}}var
+cK=[v,kj,J(0)],b5=0,ek=-1;function
+bw(a,b){a[13]=a[13]+b[3]|0;return ec(b,a[28])}var
+el=1000000010;function
+cL(b,a){return o(b[17],a,0,l(a))}function
+b6(b){return a(b[19],0)}function
+em(a,c,b){a[9]=a[9]-c|0;cL(a,b);a[11]=0;return 0}function
+b7(c,a){var
+b=aE(a,kk);return b?em(c,l(a),a):b}function
+a8(b,c,f){var
+g=c[3],h=c[2];b7(b,c[1]);b6(b);b[11]=1;var
+d=(b[6]-f|0)+h|0,e=b[8],i=n3(e,d)?e:d;b[10]=i;b[9]=b[6]-b[10]|0;a(b[21],b[10]);return b7(b,g)}function
+en(b,a){return a8(b,kl,a)}function
+bx(b,c){var
+d=c[2],e=c[3];b7(b,c[1]);b[9]=b[9]-d|0;a(b[20],d);return b7(b,e)}function
+eo(b){for(;;){var
+s=b[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=b[13]-b[12]|0,P=ac||(b[9]<=ab?1:0);if(P){var
+g=b[28],n=g[2];if(n){if(n[2]){var
+Q=n[2];g[1]=g[1]-1|0;g[2]=Q}else
+cD(g);var
+m=0<=r?r:el;if(typeof
+c==="number")switch(c){case
+0:var
+y=a5(b[3]);if(y){var
+z=y[1][1],A=function(b,a){if(a){var
+c=a[1],d=a[2];return n4(b,c)?[0,b,a]:[0,c,A(b,d)]}return[0,b,0]};z[1]=A(b[6]-b[9]|0,z[1])}break;case
+1:a4(b[2]);break;case
+2:a4(b[3]);break;case
+3:var
+B=a5(b[2]);if(B)en(b,B[1][2]);else
+b6(b);break;case
+4:if(b[10]!==(b[6]-b[9]|0)){var
+e=b[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
+i=[0,t]}else{cD(e);var
+i=[0,t]}}else
+var
+i=0;if(i){var
+x=i[1],T=x[1];b[12]=b[12]-x[3]|0;b[9]=b[9]+T|0}}break;default:var
+C=a4(b[5]);if(C)cL(b,a(b[25],C[1]))}else
+switch(c[0]){case
+0:em(b,m,c[1]);break;case
+1:var
+d=c[2],j=c[1],D=d[1],U=d[2],E=a5(b[2]);if(E){var
+F=E[1],f=F[2];switch(F[1]){case
+0:bx(b,j);break;case
+1:a8(b,d,f);break;case
+2:a8(b,d,f);break;case
+3:if(b[9]<(m+l(D)|0))a8(b,d,f);else
+bx(b,j);break;case
+4:if(b[11]||!(b[9]<(m+l(D)|0)||((b[6]-f|0)+U|0)<b[10]))bx(b,j);else
+a8(b,d,f);break;default:bx(b,j)}}break;case
+2:var
+o=b[6]-b[9]|0,V=c[2],W=c[1],G=a5(b[3]);if(G){var
+H=G[1][1],I=H[1];if(I){var
+k=H[1],X=I[1];for(;;){if(k){var
+J=k[1],Y=k[2];if(!(o<=J)){var
+k=Y;continue}var
+K=J}else
+var
+K=X;var
+p=K;break}}else
+var
+p=o;var
+L=p-o|0;if(0<=L)bx(b,[0,kn,L+W|0,km]);else
+a8(b,[0,kp,p+V|0,ko],b[6])}break;case
+3:var
+M=c[2],Z=c[1];if(b[8]<(b[6]-b[9]|0)){var
+u=a5(b[2]);if(u){var
+v=u[1],w=v[2],S=v[1];if(b[9]<w&&!(3<(S-1|0)>>>0))en(b,w)}else
+b6(b)}var
+_=b[9]-Z|0,$=1===M?1:b[9]<m?M:5;aS([0,$,_],b[2]);break;case
+4:aS(c[1],b[3]);break;default:var
+N=c[1];cL(b,a(b[24],N));aS(N,b[5])}b[12]=aa+b[12]|0;continue}throw h_}return P}return 0}}function
+ep(a,b){bw(a,b);return eo(a)}function
+eq(c,a,b){return ep(c,[0,a,[0,b],a])}function
+cM(a){bt(a);return aS([0,-1,[0,ek,kq,0]],a)}function
+cN(a,c){var
+d=a5(a[1]);if(d){var
+e=d[1],b=e[2],f=b[1];if(e[1]<a[12])return cM(a[1]);var
+g=b[2];if(typeof
+g!=="number")switch(g[0]){case
+3:var
+h=1-c;return h?(b[1]=a[13]+f|0,a4(a[1]),0):h;case
+1:case
+2:return c?(b[1]=a[13]+f|0,a4(a[1]),0):c}return 0}return 0}function
+er(a,c,b){bw(a,b);if(c)cN(a,1);return aS([0,a[13],b],a[1])}function
+es(a,e,d){a[14]=a[14]+1|0;if(a[14]<a[15])return er(a,0,[0,-a[13]|0,[3,e,d],0]);var
+b=a[14]===a[15]?1:0;if(b){var
+c=a[16];return eq(a,l(c),c)}return b}function
+et(a,d){var
+b=1<a[14]?1:0;if(b){if(a[14]<a[15]){bw(a,[0,b5,1,0]);cN(a,1);cN(a,0)}a[14]=a[14]-1|0;var
+c=0}else
+var
+c=b;return c}function
+eu(b,f){if(b[23])bw(b,[0,b5,5,0]);var
+c=b[22];if(c){var
+d=a4(b[4]);if(d)return a(b[27],d[1]);var
+e=0}else
+var
+e=c;return e}function
+cO(a,d){var
+b=a[4];function
+c(b){return eu(a,0)}_(c,b[1]);for(;;){if(1<a[14]){et(a,0);continue}a[13]=el;eo(a);if(d)b6(a);a[12]=1;a[13]=1;cD(a[28]);cM(a[1]);bt(a[2]);bt(a[3]);bt(a[4]);bt(a[5]);a[10]=0;a[14]=0;a[9]=a[6];return es(a,0,3)}}function
+cP(a,d,c){var
+b=a[14]<a[15]?1:0;return b?eq(a,d,c):b}function
+ev(c,b,a){return cP(c,b,a)}function
+ew(b,a){return ev(b,l(a),a)}function
+ex(c,a){return ew(c,b(f+a))}function
+by(b,a){return ev(b,1,bZ(1,a))}function
+bz(b,c){cO(b,0);return a(b[18],0)}function
+cQ(a,h,g){var
+b=[0,ku,h,kt],c=a[14]<a[15]?1:0,i=[0,ks,g,kr],d=b[3],e=b[2],f=b[1];return c?er(a,1,[0,-a[13]|0,[1,b,i],(l(f)+e|0)+l(d)|0]):c}function
+kv(a,b){return cQ(a,1,0)}function
+kw(a,b){return cQ(a,0,0)}var
+ey=bZ(80,32);function
+ez(b,d){var
+a=d;for(;;){var
+c=0<a?1:0;if(c){if(80<a){o(b[17],ey,0,80);var
+a=a-80|0;continue}return o(b[17],ey,0,a)}return c}}function
+ky(a){return a[1]===cK?aP(kA,aP(a[2],kz)):kB}function
+kC(a){return a[1]===cK?aP(kE,aP(a[2],kD)):kF}function
+kG(a){return 0}function
+kH(a){return 0}function
+eA(i,h){function
+j(a){return 0}function
+k(a){return 0}var
+c=[0,0,0,0],d=[0,ek,kI,0];function
+l(a){return 0}ec(d,c);var
+b=bs(0);cM(b);aS([0,1,d],b);var
+e=bs(0),f=bs(0),g=bs(0),a=[0,b,bs(0),g,f,e,78,10,68,78,0,1,1,1,1,hA,kJ,i,h,l,k,j,0,0,ky,kC,kG,kH,c];a[19]=function(b){return o(a[17],kx,0,1)};a[20]=function(b){return ez(a,b)};a[21]=function(b){return ez(a,b)};return a}function
+eB(c){function
+a(a){return dX(c)}return eA(function(d,a,b){if(0<=a&&0<=b&&!((l(d)-b|0)<a))return n_(c,d,a,b);return M(hG)},a)}function
+cR(a){function
+b(a){return 0}return eA(function(g,c,b){var
+d=c<0?1:0;if(d)var
+e=d;else
+var
+h=b<0?1:0,e=h||((l(g)-b|0)<c?1:0);if(e)M(ii);var
+f=a[2]+b|0;if(a[3]<f)cG(a,b);aM(g,c,a[1],a[2],b);a[2]=f;return 0},b)}var
+kK=du;function
+eC(a){return cE(kK)}var
+kL=eC(0),kM=eB(hE),kN=eB(hF);cR(kL);function
+eD(g,f){var
+a=cE(16),d=cR(a);c(g,d,f);bz(d,0);var
+e=a[2];if(2<=e){var
+b=e-2|0,h=1;if(0<=b&&!((a[2]-b|0)<1))return cz(a[1],h,b);return M(id)}return cF(a)}function
+W(b,c){var
+d=0;if(typeof
+c==="number")return 0;else
+switch(c[0]){case
+0:var
+e=c[2];W(b,c[1]);if(typeof
+e==="number")switch(e){case
+0:return et(b,0);case
+1:return eu(b,0);case
+2:return bz(b,0);case
+3:var
+r=b[14]<b[15]?1:0;return r?ep(b,[0,b5,3,0]):r;case
+4:cO(b,1);return a(b[18],0);case
+5:return by(b,64);default:return by(b,37)}else
+switch(e[0]){case
+0:return cQ(b,e[2],e[3]);case
+1:return 0;default:var
+I=e[1];by(b,64);return by(b,I)}case
+1:var
+j=c[2],s=c[1];if(0===j[0]){var
+J=j[1];W(b,s);var
+k=[0,cK,eD(W,J)];if(b[22]){aS(k,b[4]);a(b[26],k)}var
+q=b[23];return q?bw(b,[0,b5,[5,k],0]):q}var
+K=j[1];W(b,s);var
+t=j7(eD(W,K));return es(b,t[1],t[2]);case
+2:var
+f=c[1],E=0;if(typeof
+f!=="number"&&0===f[0]){var
+l=f[2],O=0;if(typeof
+l!=="number"&&1===l[0]){var
+y=c[2],x=l[2],w=f[1];E=1;O=1}}if(!E){var
+v=c[2],u=f;d=2}break;case
+3:var
+g=c[1],F=0;if(typeof
+g!=="number"&&0===g[0]){var
+m=g[2],P=0;if(typeof
+m!=="number"&&1===m[0]){var
+D=c[2],C=m[2],B=g[1];d=1;F=1;P=1}}if(!F){var
+A=c[2],z=g;d=3}break;case
+4:var
+h=c[1],G=0;if(typeof
+h!=="number"&&0===h[0]){var
+n=h[2],Q=0;if(typeof
+n!=="number"&&1===n[0]){var
+y=c[2],x=n[2],w=h[1];G=1;Q=1}}if(!G){var
+v=c[2],u=h;d=2}break;case
+5:var
+i=c[1],p=0;if(typeof
+i==="number"||!(0===i[0]))p=1;else{var
+o=i[2],H=0;if(typeof
+o!=="number"&&1===o[0]){var
+D=c[2],C=o[2],B=i[1];d=1;H=1}if(!H)p=1}if(p){var
+A=c[2],z=i;d=3}break;case
+6:var
+L=c[2];W(b,c[1]);return a(L,b);case
+7:W(b,c[1]);return bz(b,0);default:var
+N=c[2];W(b,c[1]);return M(N)}switch(d){case
+0:W(b,w);return cP(b,x,y);case
+1:W(b,B);return cP(b,C,bZ(1,D));case
+2:W(b,u);return ew(b,v);default:W(b,z);return by(b,A)}}function
+eE(d){var
+c=d[1],a=eC(0),b=cR(a);return j(function(d){W(b,d);cO(b,0);var
+c=cF(a);a[2]=0;a[1]=a[4];a[3]=Y(a[1]);return c},0,c)}d5(function(a){bz(kM,0);return bz(kN,0)});function
+eF(b,a){var
+c=hq(a)===v?a:a[1];return oh(b,c)}var
+cT=g5,cS=nt;try{cs(no)}catch(a){a=Z(a);if(a!==P)throw a}try{cs(nn)}catch(a){a=Z(a);if(a!==P)throw a}if(aE(d6,kO))aE(d6,kP);var
+bA=f,kQ=globalThis;function
+cU(b,a){return b?hm(a).join(b[1]):a?a[1].concat(hm(a[2])):bA}var
+eG=kQ.Number;function
+eH(a){return eG.parseFloat(a)}function
+aa(b,a){return b?a.toFixed(b[1]):a.toString()}var
+b8=undefined,kR=null;function
+cV(a){return a===kR?1:0}function
+bB(a){return a===b8?1:0}function
+b9(a){var
+b=cV(a);return b?b:bB(a)}var
+R=globalThis,eI=true;function
+cW(c,b,a){return a?c[b]=!!a[1]:0}function
+cX(c,d){var
+b=new(R.Error)(d);if(c)b.name=c[1];return a(function(a){throw a},b)}var
+eJ=[v,kS,J(0)];(function(a){return eF(kT,[0,eJ,{}])}(0));function
+eK(d,c,b,e){var
+a={};cW(a,kU,d);cW(a,kV,c);cW(a,kW,b);return a}function
+bC(a,d,c,b){var
+e=a?a[1]:{};b.addEventListener(d,c,e);return 0}var
+eL="mouseup",kX="change",kY="click",kZ="fullscreenchange",k0=fU,k1="mousedown",k2="mouseenter",k3="mouseleave",k4="mousemove",k5="unload",k6=R.decodeURI,k7=R.URL;function
+eM(a){return k6(a.hostname)}var
+eN="class",k8="href",k9="type",k_=gL;function
+b_(a){return[0,eN,a]}function
+eO(a){return[0,k9,a]}function
+b$(a){return[0,k_,a]}var
+ak=R.document;function
+eP(c){var
+b=[0,0],d=c.length-1|0;if(!(d<0)){var
+a=d;for(;;){b[1]=[0,c[a],b[1]];var
+e=a-1|0;if(0!==a){var
+a=e;continue}break}}return b[1]}function
+eQ(b,a){b.appendChild(a);return 0}function
+bD(c,b,e,d){var
+f=c?c[1]:ak,g=b?b[1]:0,a=f.createElement(e);_(function(d){var
+b=d[2],c=d[1];return aD(c,eN)?0===b.length?0:(a.classList.add(b),0):(a.setAttribute(c,b),0)},g);_(function(b){return eQ(a,b)},d);return a}function
+eR(a,b){var
+c=a?a[1]:ak;return c.createTextNode(b)}function
+aH(a,b){var
+c=a?a[1]:ak;return c.createTextNode(cp(b))}function
+eS(a){return a.nodeName.toLowerCase()}function
+ca(b,a){return aD(b,eS(a))}function
+eT(b,a){var
+c=b?b[1]:0;return c?eP(a.children):eP(a.childNodes)}function
+eU(a,b){for(;;){if(cV(a.firstChild))return _(function(b){return eQ(a,b)},b);a.removeChild(a.firstChild);continue}}function
+la(a){return bB(a)?0:a}function
+lb(a){return bB(a)?bA:a}function
+cb(a){return[0,a,la,function(a){return a}]}function
+eV(a){return[0,a,lb,function(a){return a}]}var
+lc=cb(gs),cY=eV(gL),ld=cb(gP);function
+a9(b,c){return a(b[2],c[b[1]])}function
+eW(b,d,c){var
+e=a(b[3],d);c[b[1]]=e;return 0}var
+eX=gP,le=gs;function
+cZ(a,e,d,c){var
+f=a?a[1]:0,g=f?"important":bA,b=c.style;return b9(b)?0:(b.setProperty(e,d,g),0)}var
+lf="a",lg="aside",lh="button",li="canvas",lj="div",lk="hr",ll="i",lm=fU,ln="option",lo=gr,lp="select";function
+aT(d,c,b,a){return bD(c,b,d,a)}function
+eY(c,b,a,d){return bD(b,a,c,0)}function
+eZ(a,b,c){return aT(lh,a,b,c)}function
+c0(a,b,c){return aT(lj,a,b,c)}function
+e0(a,b,c){return eY(lk,a,b,c)}function
+e1(a,b,c){return aT(ll,a,b,c)}function
+e2(a,b,c){return aT(ln,a,b,c)}function
+c1(c,b,a){hl(c,b,a);return 0}var
+c2=R.console;function
+c3(d){var
+c=new(R.Array)(0),b=0,a=d;for(;;){if(a){var
+e=a[2];c[b]=a[1];var
+b=b+1|0,a=e;continue}return n2(c)}}function
+e3(a){return new
+k7(a.location)}var
+e4=R.window,lt=R.performance;function
+e5(a){R.clearTimeout(a);return 0}var
+lu="message",lv="nonzero",lw=R.Path2D;function
+lx(a){return new
+lw()}function
+c4(a,c,b){var
+d=a?a[1]:lv;c.fill(b,d);return 0}function
+c5(b,a){b.stroke(a);return 0}var
+ly=R.Worker;function
+lz(a,b){var
+c=a?a[1]:b8;return new
+ly(b,c)}var
+i=c(cS,lB,lA),d=c(cS,lD,lC),a_=c(cS,lF,lE),k=h8([0,i[1]]);function
+e6(a){return[0,a,k[1],0]}function
+aI(a){return e6(k[1])}var
+r=aI(0),cc=aI(0);function
+e7(a,b){a[1]=c(k[4],b,a[1]);return 0}function
+e8(a,b){a[2]=c(k[4],b,a[2]);return 0}function
+c6(a,b){a[3]=[0,b,a[3]];return 0}function
+lG(a){return M(lH)}function
+ds(f,b){var
+e=e6(b);cc[1]=b;function
+g(f){var
+b=a(i[3],f[1]);c(d[15],cc,b);return c(d[7],b,e)}c(k[14],g,b);return f<50?dr(f+1|0,e):y(dr,[0,e])}function
+dr(e,b){function
+g(c){var
+d=a(i[5],c);return _(a(a_[9],b),d)}c(k[14],g,b[1]);c(k[14],i[8],b[1]);var
+f=b[3];_(function(b){return a(b,0)},f);b[3]=0;c6(b,lG);if(a(k[2],b[2]))return 0;var
+d=b[2];return e<50?ds(e+1|0,d):y(ds,[0,d])}function
+e9(a){return bX(ds(0,a))}function
+a$(a){return bX(dr(0,a))}function
+lI(a){return a[1][1]}function
+lJ(a){return a[2]}function
+lK(a){return a[4]}function
+lL(b,a){return hk(b[1][1],a[1][1])}function
+lM(a){return a[1][3]}function
+lN(c,b){var
+a=b[1];a[3]=[0,c,a[3]];return 0}function
+lO(g,f){var
+c=f[1],b=0,a=c[3];for(;;){if(a){var
+d=a[1],h=a[2];if(d!==g){var
+b=[0,d,b],a=a[2];continue}var
+e=aQ(h,b)}else
+var
+e=b;c[3]=e;return 0}}function
+lP(a){return c(d[7],a[1][2],r)}var
+e_=[v,lQ,J(0)],e$=[0,0];function
+lR(b,e){if(b!==r)return b;function
+f(e){var
+b=a(d[6],e[1][2]),c=b!==r?1:0;if(c)throw[0,e_,b];return c}try{c(k[14],f,e);return r}catch(a){a=Z(a);if(a[1]===e_)return a[2];throw a}}o(cT,lS,i,[0,lL,lI,lJ,lK,lM,lN,lO,lP,lR,function(g,f){function
+h(b,a){return 0}var
+e=aJ(d[1],g,r,k[1],f,h),b=[];e$[1]++;hx(b,[0,e$[1],e,0,[0,b]]);var
+i=a(k[5],b[4]);c(d[10],e,i);c(d[11],e,0);return b}]);function
+lT(a,e,d,c,b){var
+f=a?a[1]:aD;return[0,f,e,d,1,c,1,b]}function
+lU(a,b){var
+c=a?a[1]:aD;function
+d(b,a){return 0}return[0,c,r,k[1],0,b,0,d]}function
+lV(a){return a[1]}function
+lW(b,a){b[1]=a;return 0}function
+lX(b,a){return[0,b,a[2],a[3],a[4],a[5],a[6],a[7]]}function
+lY(a){return a[2]}function
+lZ(b,a){b[2]=a;return 0}function
+l0(a){return a[4]}function
+l1(b,a){b[4]=a;return 0}function
+l2(a){return a[3]}function
+l3(a,b){a[4]=1;a[3]=b;return 0}function
+l4(a){return a[5]}function
+l5(a){return a[6]}function
+c7(a,b){return c(a[1],b,a[5])?0:(a[6]=1,a[5]=b,0)}function
+c8(d,b){var
+e=d!==r?1:0,f=e?b[2]!==d?1:0:e;if(f){b[2]=d;b[4]=0;b[6]=0;var
+g=c(k[8],b[3],d[1]);return a(k[2],g)?0:c(b[7],d,b)}return f}function
+l6(b,a){b[7]=a;return 0}function
+l7(d,a,b){a[6]=0;return c(a[1],b,a[5])?0:(a[2]=d,a[6]=1,a[5]=b,1)}function
+l8(a){c8(c(i[9],r,a[3]),a);return a[5]}function
+c9(a){a[6]=0;a[5]=0;return 0}function
+l9(c,a,b){return b?(a[6]=1,a[5]=b,c6(c,function(b){return c9(a)})):0}function
+l_(a,f,c,e){var
+b=c?1:0,d=[0,aD,a,f,1,c,b,e],g=b?bo(a,r):b;if(g)c6(a,function(a){return c9(d)});return d}function
+l$(b,a){return cv(ma)}function
+mb(n,m,l){var
+e=c(i[10],n,m),f=[0,e],g=a(i[3],e),h=a(l,g),b=h[1],o=h[2],p=b[7];function
+q(a,e){c(p,a,e);var
+d=b[6];return d?e8(a,f):d}function
+s(c,a){return c===cc?c7(a,b[5]):0}b[7]=q;g[7]=s;var
+t=a(d[8],b),j=c(i[9],r,t);c8(j,b);if(j===r)e9(a(k[5],f));return o}function
+mc(l,b){var
+h=c(i[10],[0,b[1]],l),j=[0,h],e=a(i[3],h);function
+f(f,h){if(f===cc)return c7(h,b[5]);c(d[15],f,b);if(a(d[9],b)){var
+i=a(d[8],b);c(d[10],e,i)}var
+g=a(d[13],b);return g?e8(f,j):g}e[7]=f;var
+g=c(i[9],r,b[3]);f(g,b);f(g,e);if(g===r)e9(a(k[5],j));return e}o(cT,me,d,[0,lT,lU,lV,lW,lX,lY,lZ,l2,l0,l3,l1,l4,l5,c7,c8,l6,l7,l8,l_,c9,l9,l$,mb,mc,function(f,e){var
+g=a(k[22],e[3]),h=a2(function(b){return a(i[2],b)},g),l=[0,kv];function
+m(c,g){var
+b=l,a=g;for(;;){var
+d=b?b[1]:kw;if(a){var
+e=a[1];if(a[2]){var
+f=a[2];ex(c,e);d(c,0);var
+b=[0,d],a=f;continue}return ex(c,e)}return 0}}var
+b=md[1],d=0;return c(j(function(a){W(f,a);return 0},d,b),m,h)}]);function
+mf(a){return[0,0,function(b){return a}]}function
+mg(b){return[0,[0,[0,b],0],function(c){return a(d[12],b)}]}function
+fa(c,b){var
+d=b[2],e=b[1],f=c[2],g=c[1];function
+h(c){var
+b=a(d,0);return a(a(f,0),b)}return[0,aQ(g,e),h]}function
+fb(b){function
+f(e,b){var
+f=a(d[8],b[1]);return c(k[7],e,f)}var
+e=aF(f,k[1],b[3]),g=c(k[10],b[2],e),h=c(k[10],e,b[2]),j=a(i[7],b);c(k[14],j,g);var
+l=a(i[6],b);c(k[14],l,h);b[2]=e;return 0}function
+fc(e,b){var
+j=e!==r?1:0,k=j?e!==b[1]?1:0:j;if(k){b[1]=e;var
+h=0,g=0,f=b[3];for(;;){if(f){var
+i=f[1][1],l=f[2];c(d[15],e,i);var
+m=g||a(d[13],i),n=h||a(d[9],i),h=n,g=m,f=l;continue}if(h)fb(b);return g?a(b[4],0):g}}return k}function
+fd(b){fc(c(i[9],r,b[2]),b);return a(b[4],0)}function
+fe(c,b){var
+d=b[2],e=b[1],f=c?c[1]:1,a=[0,r,k[1],e,d];fb(a);if(f)fd(a);return a}function
+mh(e,b,c){return fe(e,[0,[0,[0,b],0],function(e){return a(c,a(d[12],b))}])}function
+ff(b){var
+d=b[2],e=a(i[7],b);return c(k[14],e,d)}var
+cd=[0,0];function
+fg(a){cd[1]=[0,a,cd[1]];return 0}function
+mi(a){return a?fg(a[1]):0}o(cT,mj,a_,[0,mf,mg,fa,fa,fe,mh,fd,ff,fc,fg,mi,function(a){_(ff,cd[1]);cd[1]=0;return 0}]);function
+ah(f){var
+e=c(i[10],0,0);function
+b(g,h){if(g)var
+f=0,b=g[1];else
+var
+f=1,b=aI(0);var
+j=a(i[3],e);c(d[7],j,b);var
+k=a(i[3],e);o(d[21],b,k,[0,h]);e7(b,a(i[4],e));return f?a$(b):f}return[0,a(i[3],e),b]}c(d[2],0,0);function
+ab(e,b){function
+f(c,b){return b?[0,a(c,b[1])]:0}function
+h(h,g){c(d[15],h,b);if(a(d[9],b)){var
+i=a(d[8],b);c(d[10],g,i)}var
+j=f(e,a(d[12],b));return o(d[21],h,g,j)}var
+j=a(d[8],b),g=c(i[9],r,j);c(d[15],g,b);var
+k=f(e,a(d[12],b)),l=a(d[8],b);return am(d[19],g,l,k,h)}function
+c_(b){function
+e(e,b){var
+f=a(d[8],b);return c(k[7],e,f)}function
+j(b,c){return b?b:a(d[9],c)}function
+l(g,f){_(a(d[15],g),b);if(aF(j,0,b)){var
+l=aF(e,k[1],b);c(d[10],f,l)}try{var
+i=0,m=d9(function(b){return 0!==a(d[12],b)?1:0},b);i=1}catch(a){a=Z(a);if(a!==P)throw a;var
+h=0}if(i)var
+h=a(d[12],m);return o(d[21],g,f,h)}var
+f=aF(function(e,b){var
+f=a(d[8],b);return c(i[9],e,f)},r,b);_(a(d[15],f),b);try{var
+h=0,n=d9(function(b){return 0!==a(d[12],b)?1:0},b);h=1}catch(a){a=Z(a);if(a!==P)throw a;var
+g=0}if(h)var
+g=a(d[12],n);var
+m=aF(e,k[1],b);return am(d[19],f,m,g,l)}var
+fh=a_[6];function
+ba(f,b){var
+e=c(i[10],f,b);function
+g(f,g){if(f)var
+c=0,b=f[1];else
+var
+c=1,b=aI(0);var
+h=a(i[3],e);if(o(d[17],b,h,g))e7(b,a(i[4],e));return c?a$(b):c}return[0,a(i[3],e),g]}var
+bE=d[12],c$=d[2],mk=d[18];function
+fi(h,g,b){function
+j(g,e){c(d[15],g,b);if(a(d[9],b)){var
+h=a(d[8],b);c(d[10],e,h)}var
+f=a(d[12],b);return f?c(d[14],e,f[1]):0}var
+k=a(d[8],b),e=c(i[9],r,k);c(d[15],e,b);var
+f=a(d[12],b),l=f?f[1]:g,m=a(d[8],b);return aJ(d[1],h,e,m,l,j)}function
+bF(b){function
+f(f,e){c(d[15],f,b);if(a(d[9],b)){var
+h=a(d[8],b);c(d[10],e,h)}var
+g=a(d[13],b);if(g){var
+i=[0,a(d[12],b)];return o(d[21],f,e,i)}return g}var
+g=a(d[8],b),e=c(i[9],r,g);c(d[15],e,b);var
+h=a(d[8],b);return am(d[19],e,h,0,f)}function
+fj(g,e,b){function
+h(h,f){c(d[15],h,b);if(a(d[9],b)){var
+i=a(d[8],b);c(d[10],f,i)}var
+g=a(d[13],b);if(g){var
+j=a(e,a(d[12],b));return c(d[14],f,j)}return g}var
+j=a(d[8],b),f=c(i[9],r,j);c(d[15],f,b);var
+k=a(e,a(d[12],b)),l=a(d[8],b);return aJ(d[1],g,f,l,k,h)}c(c$,0,0);c(c$,0,1);c(c$,0,0);var
+fk=a_[10],ml=a_[8];function
+fl(c,b,a){var
+d=c?c[1]:1,e=b?b[1]:1;if(!e)a.preventDefault();return d?0:(a.stopPropagation(),0)}function
+da(e,m,l,k,j,i){var
+b=e?e[1]:0,f=b?[0,eK([0,b],0,0,0)]:0,d=ah(0),g=d[2],h=d[1];bC(f,k,function(b){fl(m,l,b);return c(g,0,a(j,b))},i);return h}function
+mm(a){return 0}function
+bb(e,j,i,d,c,h){var
+f=e?e[1]:0,b=f?[0,eK([0,f],0,0,0)]:0;function
+g(b){fl(j,i,b);return a(h,b)}bC(b,c,g,d);return function(e){var
+a=b?b[1]:{};d.removeEventListener(c,g,a);return 0}}function
+fm(b,c){var
+a=c.brr_rem,d=bB(a)?[0,b,0]:[0,b,a];return c.brr_rem=d}function
+fn(d,c){if(1===c.nodeType){var
+f=function(b){var
+c=b[d];_(function(b){return a(b,0)},c);return b[d]=0},e=c.querySelectorAll("*"),g=e.length-1|0,h=0;if(!(g<0)){var
+b=h;for(;;){f(e.item(b));var
+i=b+1|0;if(g!==b){var
+b=i;continue}break}}return f(c)}return 0}function
+mn(d,t){function
+e(a){return a.getRootNode()===ak?1:0}var
+f=d.length-1|0,n=0;if(!(f<0)){var
+a=n;for(;;){var
+g=d[a],h=g.addedNodes,i=h.length-1|0,o=0;if(!(i<0)){var
+c=o;for(;;){var
+m=h.item(c);if(e(m))fn(mp,m);var
+s=c+1|0;if(i!==c){var
+c=s;continue}break}}var
+j=g.removedNodes,k=j.length-1|0,p=0;if(!(k<0)){var
+b=p;for(;;){var
+l=j.item(b);if(1-e(l))fn(mo,l);var
+r=b+1|0;if(k!==b){var
+b=r;continue}break}}var
+q=a+1|0;if(f!==a){var
+a=q;continue}break}}return 0}var
+mq=new(R.MutationObserver)(mn);mq.observe(ak.documentElement,{"childList":eI,"subtree":eI});function
+fo(b,c){var
+d=o(fh,0,c,function(a){return eU(b,a)});return fm(function(b){return a(ml,d)},b)}function
+fp(a){return c1(c2,ls,c3([0,"unexpected e.which",0]))}function
+ce(h,a,g){var
+b=a[1],l=b.getBoundingClientRect().x,e=g.clientX-l,m=b.getBoundingClientRect().y,f=g.clientY-m;if(a[2])var
+n=e/b.getBoundingClientRect().width,d=[0,n,1.-f/b.getBoundingClientRect().height];else
+var
+d=[0,e,f];var
+i=d[2],j=d[1],k=c(a[3],j,i),o=c(a[3],j-a[4][1],i-a[4][2]);c(a[9],[0,h],o);c(a[7],[0,h],k);a[4]=d;return k}function
+fq(e,b,d){var
+a=aI(0);ce(a,b,d);c(b[11],[0,a],e);return a$(a)}function
+fr(a,e){var
+b=aI(0),i=ce(b,a,e),f=e.button;if(2<f>>>0){fp(0);var
+h=a[17],g=a[13]}else{switch(f){case
+0:var
+d=[0,a[13],a[17]];break;case
+1:var
+d=[0,a[19],a[23]];break;default:var
+d=[0,a[25],a[29]]}var
+h=d[2],g=d[1]}c(g,[0,b],0);c(h,[0,b],i);return a$(b)}function
+fs(c){var
+a=ak.fullscreenElement,b=b9(a)?0:[0,a];return b?1:0}var
+ms=ba(0,fs(0))[2];bC(0,kZ,function(a){return c(ms,0,fs(0))},ak);var
+mt=ah(0)[2];bC(0,k5,function(a){return c(mt,0,0)},ak);function
+db(a){return lt.now()/gx}db(0);function
+ft(a){return db(0)}function
+fu(a){return db(0)-a}d5(function(a){return ou(a)});eF(mx,[0,[v,mu,J(0)],0,mw,mv]);cu(my);cu(mz);try{cu(nm)}catch(a){a=Z(a);if(a[1]!==au)throw a}try{cu(nl)}catch(a){a=Z(a);if(a[1]!==au)throw a}ki(0,7);eE(mA);eE(mB);var
+mC=[I,0.,0.];function
+dc(a){return[I,a[1],a[2]]}function
+ai(a){return[0,a[1],a[2]]}function
+fv(b,a){return[I,b[1]+a[1],b[2]+a[2]]}function
+ax(b,a){return[I,b[1]-a[1],b[2]-a[2]]}function
+bG(b,a){return[I,b*a[1],b*a[2]]}function
+bc(a){return nN(a[1],a[2])}function
+aU(a,c,b){return[I,a[1]+b*(c[1]-a[1]),a[2]+b*(c[2]-a[2])]}function
+fw(b,a){return bG(1./a,b)}function
+fx(b,a){if(b[1]<a[1])var
+d=a[1]-b[1],c=b[1];else
+var
+d=b[1]-a[1],c=a[1];if(b[2]<a[2])var
+f=a[2]-b[2],e=b[2];else
+var
+f=b[2]-a[2],e=a[2];return[0,[I,c,e],[I,d,f]]}function
+fy(d,b){if(d){var
+c=d[2],a=d[1],i=a[1]+c[1],j=a[2]+c[2],k=a[2];if(b[1]<a[1])var
+f=i-b[1],e=b[1];else
+if(i<b[1])var
+f=b[1]-a[1],e=a[1];else
+var
+f=c[1],e=a[1];if(b[2]<k)var
+h=j-b[2],g=b[2];else
+if(j<b[2])var
+h=b[2]-a[2],g=a[2];else
+var
+h=c[2],g=a[2];if(e==a[1]&&g==a[2]&&f==c[1]&&h==c[2])return d;return[0,[I,e,g],[I,f,h]]}return[0,b,mC]}function
+fz(a,c){if(c){var
+e=c[2],b=c[1],f=b[1]<=a[1]?1:0;if(f){var
+g=a[1]<=b[1]+e[1]?1:0;if(g)var
+h=b[2]<=a[2]?1:0,d=h?a[2]<=b[2]+e[2]?1:0:h;else
+var
+d=g}else
+var
+d=f;return d}return 0}var
+mE=[v,mD,J(0)],N=[v,mF,J(0)];function
+mG(b){function
+d(c,a){if(0<c&&0<a)try{var
+d=[0,[0,c,a],hX(c,a,b[2])];return d}catch(a){throw N}throw N}function
+f(b,a){var
+c=b[1],f=b[2],g=c[2];if(a<=c[1]){var
+d=a-1|0,h=e(f,d)[1+d];return[0,g,a3(function(a){return a},h)]}throw[0,au,mH]}function
+p(f,d){var
+g=f[1],c=g[1],k=f[2];if(d<=g[2]){var
+h=af(c,b[2]),i=c-1|0,l=0;if(!(i<0)){var
+a=l;for(;;){var
+j=d-1|0,m=e(e(k,a)[1+a],j)[1+j];e(h,a)[1+a]=m;var
+n=a+1|0;if(i!==a){var
+a=n;continue}break}}return[0,c,h]}throw[0,au,mI]}function
+g(d,c,b){var
+f=d[1],g=f[2],j=d[2];if(c<=f[1]){if(b.length-1===g){var
+h=g-1|0,k=0;if(!(h<0)){var
+a=k;for(;;){var
+i=c-1|0,l=e(b,a)[1+a];e(e(j,i)[1+i],a)[1+a]=l;var
+n=a+1|0;if(h!==a){var
+a=n;continue}break}}return 0}throw[0,m,mJ]}throw[0,au,mK]}function
+h(d,c,b){var
+f=d[1],g=f[1],j=d[2];if(c<=f[2]){if(b.length-1===g){var
+h=g-1|0,k=0;if(!(h<0)){var
+a=k;for(;;){var
+i=c-1|0,l=e(b,a)[1+a];e(e(j,a)[1+a],i)[1+i]=l;var
+n=a+1|0;if(h!==a){var
+a=n;continue}break}}return 0}throw[0,m,mL]}throw[0,au,mM]}function
+q(b,a){var
+c=a[2],d=a[1],f=b[1],i=b[2],j=f[2];if(d<=f[1]&&c<=j){var
+g=c-1|0,h=d-1|0;return e(e(i,h)[1+h],g)[1+g]}throw N}function
+l(b,a,i){var
+c=a[2],d=a[1],f=b[1],j=b[2],k=f[2];if(d<=f[1]&&c<=k){var
+g=c-1|0,h=d-1|0;e(e(j,h)[1+h],g)[1+g]=i;return 0}throw N}function
+i(b,a){var
+c=a[2],d=a[1];return[0,d,a3(function(a){return a3(b,a)},c)]}function
+n(b,a){var
+c=a[2];return cB(function(a){return cB(b,a)},c)}function
+r(b,a){var
+c=a[2];return eb(function(c,a){return eb(function(d,a){return o(b,c,d,a)},a)},c)}function
+u(k,j,f){var
+g=f[1],d=[0,j],h=g[1]-1|0,l=f[2],m=g[2],n=0;if(!(h<0)){var
+a=n;for(;;){var
+i=m-1|0,o=0;if(!(i<0)){var
+b=o;for(;;){var
+q=e(e(l,a)[1+a],b)[1+b];d[1]=c(k,d[1],q);var
+r=b+1|0;if(i!==b){var
+b=r;continue}break}}var
+p=a+1|0;if(h!==a){var
+a=p;continue}break}}return d[1]}function
+v(c,b){var
+d=b[2];return d8(cC(function(d,b){return[0,a(c,b),d]},0,d))}function
+w(b){var
+a=b[1];return[0,a[1],a[2]]}function
+A(d,c){return i(a(b[7],c),d)}function
+B(a){function
+c(a,b){if(a1(b)===a)return a;throw N}var
+d=a1(a);if(a){var
+e=a[2],b=a1(a[1]);if(aF(c,b,e)===b)return[0,[0,d,b],a3(b0,b0(a))];throw N}throw N}function
+C(a){var
+c=a.length-1;if(0===a.length-1)throw N;var
+b=e(a,0)[1].length-1;cB(function(a){if(a.length-1===b)return 0;throw N},a);return[0,[0,c,b],a]}function
+D(i,h){var
+g=i[1],p=h[2],q=i[2];if(aD(g,h[1])){var
+j=g[2],k=g[1],l=d(k,j),m=l[2],n=k-1|0,r=l[1],s=0;if(!(n<0)){var
+a=s;for(;;){var
+o=j-1|0,t=0;if(!(o<0)){var
+f=t;for(;;){var
+v=e(e(p,a)[1+a],f)[1+f],w=e(e(q,a)[1+a],f)[1+f],x=c(b[5],w,v);e(e(m,a)[1+a],f)[1+f]=x;var
+y=f+1|0;if(o!==f){var
+f=y;continue}break}}var
+u=a+1|0;if(n!==a){var
+a=u;continue}break}}return[0,r,m]}throw N}function
+z(n,m){var
+o=n[1],q=o[1],r=m[1],s=r[2];if(o[2]===r[1]){var
+t=d(q,s),u=t[2],v=q-1|0,C=t[1],D=0;if(!(v<0)){var
+a=D;for(;;){var
+w=s-1|0,E=0;if(!(w<0)){var
+g=E;a:for(;;){var
+x=p(m,g+1|0)[2],y=f(n,a+1|0)[2],l=y.length-1;if(l!==x.length-1)throw N;var
+h=l,i=b[2];for(;;){if(0!==h){var
+j=h-1|0,k=h-1|0,z=e(x,j)[1+j],A=e(y,k)[1+k],B=c(b[7],A,z),h=h-1|0,i=c(b[5],B,i);continue}e(e(u,a)[1+a],g)[1+g]=i;var
+G=g+1|0;if(w!==g){var
+g=G;continue a}break}break}}var
+F=a+1|0;if(v!==a){var
+a=F;continue}break}}return[0,C,u]}throw N}function
+t(e,a,f,d){switch(c(b[4],e,a)){case
+0:return[0,a,d];case
+1:return[0,a,d];default:return[0,e,f]}}function
+x(d,c,e){var
+h=f(d,c)[2];return g(d,c,a3(a(b[7],e),h))}function
+s(a,c,b){var
+d=f(a,c),h=d[2],i=d[1],e=f(a,b),j=e[2];if(i===e[1]){g(a,c,j);g(a,b,h);return 0}throw[0,m,mN]}function
+y(d,i,p,o){var
+j=f(d,i),h=j[2],k=j[1],l=f(d,p),q=l[2];if(k===l[1]){var
+n=k-1|0,r=0;if(!(n<0)){var
+a=r;for(;;){var
+s=e(q,a)[1+a],t=c(b[7],o,s),u=e(h,a)[1+a];h[1+a]=c(b[6],u,t);var
+v=a+1|0;if(n!==a){var
+a=v;continue}break}}return g(d,i,h)}throw[0,m,mO]}function
+j(z){var
+A=z[1],B=A[2],C=A[1],N=z[2],D=d(C,B),r=D[2],E=D[1],F=C-1|0,O=0;if(!(F<0)){var
+i=O;for(;;){var
+G=B-1|0,P=0;if(!(G<0)){var
+j=P;for(;;){var
+R=e(e(N,i)[1+i],j)[1+j];e(e(r,i)[1+i],j)[1+j]=R;var
+S=j+1|0;if(G!==j){var
+j=S;continue}break}}var
+Q=i+1|0;if(F!==i){var
+i=Q;continue}break}}var
+h=[0,E,r],g=1,f=1;b:for(;;){var
+o=h[1][1];if(f===(o+1|0))return[0,E,r];var
+n=p(h,f)[2],m=0,l=b[2],a=g-1|0;for(;;){if(a===n.length-1){var
+w=aD(l,b[2])?0:[0,m+1|0];if(w){s(h,w[1],g);var
+K=q(h,[0,g,f]);x(h,g,c(b[8],b[3],K));var
+L=1;if(!(o<1)){var
+k=L;for(;;){if(k!==g)y(h,k,g,q(h,[0,k,f]));var
+M=k+1|0;if(o!==k){var
+k=M;continue}break}}var
+g=g+1|0,f=f+1|0;continue b}var
+f=f+1|0;continue b}var
+H=b[2],I=e(n,a)[1+a];switch(c(b[4],I,H)){case
+0:var
+a=a+1|0;continue;case
+1:var
+J=e(n,a)[1+a],u=t(c(b[6],b[2],J),l,a,m),m=u[2],l=u[1],a=a+1|0;continue;default:var
+v=t(e(n,a)[1+a],l,a,m),m=v[2],l=v[1],a=a+1|0;continue}}}}function
+E(f){var
+g=f[1],h=g[1],i=f[2];if(h===g[2]){var
+d=b[2],a=h-1|0;for(;;){if(-1<a){var
+j=e(e(i,a)[1+a],a)[1+a],d=c(b[5],j,d),a=a-1|0;continue}return d}}throw N}function
+F(g){var
+h=g[1],c=h[2],f=h[1],n=g[2],i=d(c,f),j=i[2],k=f-1|0,o=i[1],p=0;if(!(k<0)){var
+a=p;for(;;){var
+l=c-1|0,q=0;if(!(l<0)){var
+b=q;for(;;){var
+s=e(e(n,a)[1+a],b)[1+b];e(e(j,b)[1+b],a)[1+a]=s;var
+t=b+1|0;if(l!==b){var
+b=t;continue}break}}var
+r=a+1|0;if(k!==a){var
+a=r;continue}break}}if(aD(o,[0,c,f]))return[0,[0,c,f],j];throw[0,m,mP]}function
+G(i){var
+k=i[1],a=k[1];if(a===k[2]){var
+g=d(a,2*a|0),s=1;if(!(a<1)){var
+c=s;for(;;){var
+o=p(i,c),q=af(a,b[2]),x=o[2];if(o[1]!==a)throw[0,m,mR];var
+r=c-1|0,y=b[3];e(q,r)[1+r]=y;h(g,c,x);h(g,a+c|0,q);var
+z=c+1|0;if(a!==c){var
+c=z;continue}break}}var
+t=j(g),l=d(a,a),u=1;if(!(a<1)){var
+f=u;for(;;){var
+n=p(t,a+f|0),v=n[2];if(n[1]!==a)throw[0,m,mQ];h(l,f,v);var
+w=f+1|0;if(a!==f){var
+f=w;continue}break}}return l}throw mE}function
+k(G){var
+H=G[1],I=H[2],j=H[1],$=G[2];if(j===I){var
+w=[0,[0,j,I],$],E=w[1],F=E[2],l=E[1],X=w[2];if(l===F){var
+u=[0,0],A=d(l,l),B=A[2],C=l-1|0,R=A[1],S=0;if(!(C<0)){var
+k=S;for(;;){var
+T=b[3];e(e(B,k)[1+k],k)[1+k]=T;var
+U=k+1|0;if(C!==k){var
+k=U;continue}break}}var
+t=[0,R,B],Y=1;if(!(l<1)){var
+i=Y;b:for(;;){var
+v=p([0,[0,l,F],X],i)[2],o=i-1|0,h=i;for(;;){if(h!==v.length-1){var
+V=e(v,o)[1+o],W=e(v,h)[1+h];if(2<=c(b[4],W,V)){var
+o=h,h=h+1|0;continue}var
+h=h+1|0;continue}var
+D=o+1|0;if(D!==i){u[1]=u[1]+1|0;s(t,D,i)}var
+_=i+1|0;if(l!==i){var
+i=_;continue b}break}break}}var
+Z=u[1],J=d(j,j),K=d(j,j),q=K[2],r=J[2],L=z(t,w)[2],M=j-1|0,aa=0;if(!(M<0)){var
+a=aa;for(;;){var
+ab=b[3];e(e(q,a)[1+a],a)[1+a]=ab;var
+ac=0;if(!(a<0)){var
+f=ac;for(;;){var
+y=[0,b[2]],Q=f-1|0,ap=0;if(!(Q<0)){var
+n=ap;for(;;){var
+au=e(e(q,f)[1+f],n)[1+n],av=e(e(r,n)[1+n],a)[1+a],aw=c(b[7],av,au);y[1]=c(b[5],y[1],aw);var
+ax=n+1|0;if(Q!==n){var
+n=ax;continue}break}}var
+aq=y[1],ar=e(e(L,f)[1+f],a)[1+a],as=c(b[6],ar,aq);e(e(r,f)[1+f],a)[1+a]=as;var
+at=f+1|0;if(a!==f){var
+f=at;continue}break}}var
+O=j-1|0;if(!(O<a)){var
+g=a;for(;;){var
+x=[0,b[2]],P=a-1|0,ae=0;if(!(P<0)){var
+m=ae;for(;;){var
+al=e(e(q,g)[1+g],m)[1+m],am=e(e(r,m)[1+m],a)[1+a],an=c(b[7],am,al);x[1]=c(b[5],x[1],an);var
+ao=m+1|0;if(P!==m){var
+m=ao;continue}break}}var
+af=x[1],ag=e(e(L,g)[1+g],a)[1+a],ah=c(b[6],ag,af),ai=e(e(r,a)[1+a],a)[1+a],aj=c(b[8],ah,ai);e(e(q,g)[1+g],a)[1+a]=aj;var
+ak=g+1|0;if(O!==g){var
+g=ak;continue}break}}var
+ad=a+1|0;if(M!==a){var
+a=ad;continue}break}}return[0,[0,K,J,t],Z]}throw N}throw N}return[0,d,B,C,w,f,p,g,h,q,l,A,j,G,F,E,D,z,i,k,function(a){try{var
+d=a[1],g=d[1];if(g===d[2]){var
+f=function(k,j,i){var
+f=k,a=j,d=i;for(;;){var
+h=f[2],l=f[1];if(a<g){var
+m=e(e(h,a)[1+a],a)[1+a],f=[0,l,h],a=a+1|0,d=c(b[7],m,d);continue}return d}},h=k(a),i=h[1],j=i[2],l=i[1],p=h[2],q=l[2],r=l[1],m=f([0,j[1],j[2]],0,b[3]),n=f([0,r,q],0,b[3]);if(0===(p%2|0))var
+o=c(b[7],n,m);else
+var
+s=c(b[7],n,m),o=c(b[6],b[2],s);return o}throw N}catch(a){return b[2]}},n,r,u,v,x,s,y]}J(0);function
+fA(m,b){var
+c=b[4],d=b[3],e=b[2],f=b[1];function
+a(b,a){return aU(b,a,m)}var
+g=a(f,d),h=a(d,c),i=a(c,e),j=a(g,h),k=a(h,i),l=a(j,k);return[0,[0,f,l,g,j],[0,l,e,k,i]]}function
+mS(c,b){var
+a=nE(c,b);return 0===a?0:0<a?2:1}function
+mT(b,a){return b/a}function
+mU(b,a){return b*a}function
+mV(b,a){return b+a}function
+mW(b,a){return b-a}var
+bd=mG([0,[v,mX,J(0)],hY,hZ,mS,mV,mW,mU,mT]);function
+fB(n,m,v){var
+p=n?[0,n[1],v]:v;if(m){var
+M=m[1],w=af(1+a1(p)|0,M);cy(function(a,b){e(w,a)[1+a]=b;return 0},p);var
+d=w}else
+var
+d=b0(p);var
+b=d.length-1-2|0;if(1<b){var
+y=cA(b,function(c){return cA(b+2|0,function(b){var
+a=(b-c|0)+1|0;if(2<a>>>0)return 0.;switch(a){case
+0:return 1.;case
+1:return 4.;default:return 1.}})}),k=a(bd[3],y),q=b-1|0,z=0;if(!(q<0)){var
+f=z;for(;;){if(0===f)var
+G=e(d,0)[1],i=ax(bG(6.,e(d,1)[2]),G);else
+if((f+1|0)===b)var
+t=b+1|0,K=e(d,b)[1+b],L=e(d,t)[1+t],i=ax(bG(6.,K),L);else
+var
+u=f+1|0,i=bG(6.,e(d,u)[1+u]);var
+H=i[2];o(bd[10],k,[0,f+1|0,b+1|0],i[1]);o(bd[10],k,[0,f+1|0,b+2|0],H);var
+J=f+1|0;if(q!==f){var
+f=J;continue}break}}var
+r=a(bd[12],k),A=c(bd[6],r,b+1|0)[2],s=b+1|0,B=c(bd[6],r,b+2|0)[2],l=af(b+2|0,e(d,s)[1+s]),C=1;if(!(b<1)){var
+g=C;for(;;){var
+E=[I,g6(A,g-1|0),g6(B,g-1|0)];e(l,g)[1+g]=E;var
+F=g+1|0;if(b!==g){var
+g=F;continue}break}}var
+D=e(d,0)[1];e(l,0)[1]=D;var
+j=[0,l]}else
+var
+j=[1,378784796];if(0===j[0]){var
+h=j[1],x=n?2:1,N=m?h.length-1-2|0:h.length-1-1|0;return[0,cA((N-x|0)+1|0,function(i){var
+a=i+x|0,b=a-1|0,c=e(h,b)[1+b],f=e(h,a)[1+a],g=a-1|0,j=e(d,g)[1+g],k=e(d,a)[1+a],l=aU(c,f,0.33333333333333331);return[0,j,k,l,aU(c,f,dM)]})]}return j}function
+fC(a,b){var
+d=a[1],e=a[2];a[3]=ft(0);e5(d);a[1]=R.setInterval(function(b){return c(e,0,fu(a[3]))},b*gx|0);return 0}function
+fD(a){return fu(a[3])}var
+mY=cb("offsetWidth"),mZ=cb("offsetHeight"),m0=eV("outerHTML");function
+fE(b){var
+a=eY(lm,0,[0,b],0),c=eH(a9(cY,a));return[0,a,fi(0,c,da(0,0,0,k0,function(b){return eH(a9(cY,a))},a))]}function
+fF(a){var
+b=eT(0,a);return _(function(a){if(!ca("nav",a)&&!ca("ul",a))return fF(a);a.remove(a);return 0},b)}var
+be=gd,fG=[0,dc(m1),0.,0.,0.];function
+dd(e,d,c,b,a){return[0,[I,b,a],d,(f8-e)*g0,c]}function
+aV(a,b){return[0,b,a[2],a[3],a[4]]}function
+fH(a){return a[1]}function
+S(a){var
+b=a[3],c=a[2];return fv(a[1],[I,c*Math.cos(b),c*Math.sin(b)])}function
+m3(b){function
+d(f,k){var
+c=k[2],d=k[1],v=c?[0,a(b[2],c[1][2])]:0;if(d){var
+g=d[2];if(g){var
+h=g[2];if(h){var
+n=h[2];if(n){var
+o=n[1],i=h[1],p=g[1],q=d[1],r=a(b[2],f),s=a(b[2],q),t=a(b[2],p),u=a(b[2],i),j=fB(v,0,[0,a(b[2],o),[0,u,[0,t,[0,s,[0,r,0]]]]]);if(0===j[0]){var
+l=j[1];if(0<l.length-1){var
+m=e(l,0)[1];return[0,[0,f,[0,q,[0,p,[0,i,0]]]],[0,[0,i,o,m[4],m[3]],c]]}return[0,[0,f,d],c]}return[0,[0,f,d],c]}}}}return[0,[0,f,d],c]}function
+f(b,a){var
+c=a[1],e=a[2];return c?[0,[0,b,c[2]],e]:d(b,a)}function
+g(c){var
+a=c[1];if(a){var
+b=a[2];if(b)return[0,[0,a[1],b[1]]]}return 0}function
+h(b){var
+a=b[1];return a?[0,a[1]]:0}return[0,m2,d,f,h,g,function(w,d,g){var
+i=w[2],h=w[1];if(h){var
+f=h[1],j=h[2];if(j){var
+k=j[2],l=j[1];if(k){if(k[2]){var
+I=a2(b[2],h),J=i?[0,a(b[2],i[1][2])]:0,y=fB(0,J,I);if(0===y[0]){var
+m=[0,g],x=[0,f],H=y[1];cy(function(b,a){var
+c=0<b?1:0;if(c){var
+f=b-1|0,g=e(H,f)[1+f];m[1]=aJ(d[3],x[1],g[3],g[4],a,m[1]);x[1]=a;var
+h=0}else
+var
+h=c;return h},h);var
+z=m[1]}else
+var
+z=g;var
+A=z}else
+var
+L=k[1],M=c(d[1],f,g),n=a(b[2],L),p=a(b[2],l),q=a(b[2],f),r=ax(q,p),s=ax(n,p),t=bc(r),u=bc(s),E=fw(s,u),v=ax(p,bG(Math.sqrt(t*u)/2.,fv(fw(r,t),E))),F=aU(n,v,dM),G=aU(q,v,dM),N=c(b[3],f,q),O=c(b[3],l,n),A=aJ(d[3],N,G,F,O,M);var
+B=A}else
+var
+P=c(d[1],f,g),B=o(d[2],f,l,P);var
+C=B}else
+var
+C=c(d[1],f,g);var
+D=C}else
+var
+D=g;var
+K=aF(function(b,a){return aJ(d[3],a[1],a[3],a[4],a[2],b)},D,i);return a(d[4],K)}]}function
+m5(d){function
+b(a){return a[1]}function
+g(a){return a[2]}function
+h(b,a){return a}function
+i(c,b,a){return[0,a[1]+1|0,[0,[0,c,b],a[2]]]}function
+j(e,d,c,b,a){return[0,a[1]+1|0,[0,[1,[0,e,b,d,c]],a[2]]]}var
+f=[0,0];function
+k(a){return a}function
+l(l,g){f[1]++;var
+c=o(l[1],g,[0,h,i,j,k],m4),a=c[1],b=af(a,0),d=c[2];cy(function(f,d){var
+c=(a-f|0)-1|0;e(b,c)[1+c]=d;return 0},d);return[0,f[1],b]}function
+m(e,b,d){var
+f=e[2],g=[0,1,d],h=cC(function(f,a){var
+d=f[2],g=f[1];if(typeof
+a==="number")return[0,1,d];else{if(0===a[0]){var
+h=a[1],i=a[2],j=g?c(b[1],h,d):d;return[0,0,o(b[2],h,i,j)]}var
+e=a[1],k=g?c(b[1],e[1],d):d;return[0,0,aJ(b[3],e[1],e[3],e[4],e[2],k)]}},g,f)[2];return a(b[4],h)}function
+n(g,b){var
+c=b[2],e=0;return cC(function(c,h){if(typeof
+h==="number")return 0;else{if(0===h[0]){var
+x=h[1],y=a(d[2],h[2]);return fz(g,fx(a(d[2],x),y))?c:c}var
+b=h[1],u=a(d[2],b[2]),v=fx(a(d[2],b[1]),u),w=fy(v,b[3]);if(fz(g,fy(w,b[4]))){var
+z=b[4],A=b[3],B=a(d[2],b[2]),e=[0,a(d[2],b[1]),B,A,z];for(;;){var
+n=fA(dE,e),o=n[1],i=e[1],j=e[2],f=o[2],p=n[2],q=aU(i,f,dE),r=aU(f,j,dE),m=function(b,a){return Math.abs(a-b)<=0.001?1:0},l=m(i[1],j[1]),s=l?m(i[2],j[2]):l;if(s){var
+k=bc(ax(g,f));return c?c[1][2]<k?c:[0,[0,f,k]]:[0,[0,f,k]]}var
+t=bc(ax(g,r));if(bc(ax(g,q))<t){var
+e=o;continue}var
+e=p;continue}}return c}},e,c)}function
+p(b,c){var
+d=b[2],e=b[1];return[0,e,a3(function(b){if(typeof
+b==="number")return 0;else{if(0===b[0]){var
+e=b[1],f=a(c,b[2]);return[0,a(c,e),f]}var
+d=b[1],g=d[4],h=d[3],i=a(c,d[2]);return[1,[0,a(c,d[1]),i,h,g]]}},d)]}return[0,b,l,m,n,p,g,function(b,a){return[0,b[1],a]}]}var
+al=m3([0,fG,fH,aV]),X=m5([0,fG,fH,aV]);function
+fI(b){function
+d(d){var
+c=a(b[1],0);return[0,b[5],c,0]}function
+e(d,e){var
+f=e[1],g=c(b[2],d[1],e[2]),h=S(d),i=a(b[3],h),j=[0,d];return[0,function(b){return a(f,a(i,b))},g,j]}function
+f(l,d,e){var
+f=e[2],g=e[1],h=S(d),i=a(b[3],h),j=[0,d],k=c(b[3],d[1],f);return[0,function(b){return a(g,a(i,b))},k,j]}function
+g(i,h,g,c,d){var
+e=aV(c,h),f=aV(c,g),j=am(b[4],e[1],f[1],c[1],d[2]),k=[0,c];return[0,function(k){var
+c=S(i),g=S(e),h=S(f),j=am(b[4],h,g,c,k);return a(d[1],j)},j,k]}function
+h(d){var
+e=d[3],f=d[2],h=d[1];if(e)var
+i=S(e[1]),g=c(b[3],i,f);else
+var
+g=f;var
+j=0,k=a(h,g);return[0,function(a){return a},k,j]}return[0,d,e,f,g,h,function(b){return a(b[1],b[2])}]}function
+de(c,b,a){return bD(c,b,"path",a)}function
+df(a){return bA}function
+dg(c,b){var
+a=ai(c),d=a[1],e=[0,aa(0,a[2]),0];return cU([0,ac],[0,b,[0,"M",[0,aa(0,d),e]]])}function
+dh(c,b){var
+a=ai(c),d=a[1],e=[0,aa(0,a[2]),0];return cU([0,ac],[0,b,[0,"L",[0,aa(0,d),e]]])}function
+di(g,f,e,d){var
+a=ai(g),h=a[2],i=a[1],b=ai(f),j=b[2],k=b[1],c=ai(e),l=c[1],m=[0,aa(0,c[2]),0],n=[0,gJ,[0,aa(0,l),m]],o=[0,aa(0,j),n],p=[0,gJ,[0,aa(0,k),o]],q=[0,aa(0,h),p];return cU([0,ac],[0,d,[0,"C",[0,aa(0,i),q]]])}function
+dj(a){return a.concat(" Z")}function
+m6(c,a){var
+b=ai(c);a.moveTo(b[1],b[2]);return a}function
+m7(c,a){var
+b=ai(c);a.lineTo(b[1],b[2]);return a}function
+m8(g,f,e,a){var
+b=ai(g),h=b[2],i=b[1],c=ai(f),j=c[2],k=c[1],d=ai(e);a.bezierCurveTo(i,h,k,j,d[1],d[2]);return a}var
+dk=[0,lx,m6,m7,m8,function(a){a.closePath();return a}];function
+fJ(b){function
+d(c){return[0,a(b[1],0),c]}function
+e(d,a){var
+e=a[2];return[0,c(b[2],d[1],a[1]),e]}function
+f(f,e,d){var
+g=c(b[2],e[1],d[1]),h=S(e),i=c(b[3],h,g),j=S(f),k=c(b[3],j,i),l=c(b[3],f[1],k),m=c(b[3],e[1],l),n=a(b[5],m),o=a(d[2],n);return[0,o,d[2]]}function
+g(f,j,i,d,e){var
+g=aV(d,j),h=aV(d,i),k=c(b[2],d[1],e[1]),l=S(d),m=c(b[3],l,k),n=S(f),o=S(g),p=S(h),q=am(b[4],p,o,n,m),r=c(b[3],f[1],q),s=am(b[4],g[1],h[1],d[1],r),t=a(b[5],s),u=a(e[2],t);return[0,u,e[2]]}function
+h(a){return a}return[0,d,e,f,g,h,function(a){return a[1]}]}function
+fK(b){function
+d(c){return[0,a(b[1],0)]}function
+e(a,d){var
+e=c(b[2],a[1],d[1]),f=S(a);return[0,c(b[3],f,e)]}function
+f(g,a,d){var
+e=c(b[2],a[1],d[1]),f=S(a);return[0,c(b[3],f,e)]}function
+g(f,k,j,e,i){var
+a=[0,i[1]],g=(f[4]-e[4])*100./3.|0,l=[0,f[1],e[1],k,j],m=0;if(!(g<0)){var
+d=m;for(;;){var
+h=aV(e,fA(0.1*d,l)[1][2]);a[1]=c(b[2],h[1],a[1]);var
+n=a[1],o=S(h);a[1]=c(b[3],o,n);var
+p=d+1|0;if(g!==d){var
+d=p;continue}break}}return[0,a[1]]}function
+h(a){return a}return[0,d,e,f,g,h,function(a){return a[1]}]}var
+bf=fJ(dk),bg=fK(dk),bh=fI(dk),bH=fJ([0,df,dg,dh,di,dj]),bi=fK([0,df,dg,dh,di,dj]),bj=fI([0,df,dg,dh,di,dj]);function
+fL(d,c,b,e){if(bN===e){var
+f=function(a){c4(0,b,a);return a},g=a(bf[1],f),h=o(d[1],c,[0,bf[2],bf[3],bf[4],bf[5]],g);return c5(b,a(bf[6],h))}if(dy<=e){var
+i=function(a){c4(0,b,a);return a},j=a(bg[1],i),k=o(d[1],c,[0,bg[2],bg[3],bg[4],bg[5]],j);return c5(b,a(bg[6],k))}function
+l(a){c4(0,b,a);return a}var
+m=a(bh[1],l),n=o(d[1],c,[0,bh[2],bh[3],bh[4],bh[5]],m);return c5(b,a(bh[6],n))}function
+dl(e,d,h,b){var
+f=dd(e[5],e[4],h,d[1],d[2]),g=a(al[4],b);if(g){var
+i=g[1][1];return bc(ax(i,dc(d)))<5.?b:c(al[2],f,b)}return c(al[2],f,b)}var
+m9=20.;function
+dm(b,a){var
+g=dc(b),d=[0,m9,0];return aF(function(d,b){var
+a=d[1],h=d[2],e=c(X[4],g,b);if(e){var
+f=e[1],i=f[1];if(f[2]<a)return[0,a,[0,[0,i,b]]]}return[0,a,h]},d,a)[2]}function
+fM(e,b,d){var
+f=b[2],g=a2(function(b){return e===a(X[1],b)?c(X[5],b,d):b},f);return[0,b[1],g,b[3],b[4],b[5],b[6]]}var
+bI=[0,1,0,al[1],10.,30.,bN];function
+fO(a){return da(0,0,0,kY,mm,a)}function
+fP(a){return eR(0,aa(0,a))}function
+fQ(d,l,k,c){var
+j=d.height,i=d.width,b=d.getContext("2d",b8);b.fillStyle=gd;b.fillRect(0.,0.,i,j);b.strokeStyle=cj;b.fillStyle=cj;var
+e=a(bE,l),f=c[1],h=0;if(typeof
+f==="number"&&!f&&e){var
+n=e[1],o=fD(k),g=dl(c,n,o,c[3]);h=1}if(!h)var
+g=c[3];fL([0,al[6]],g,b,c[6]);var
+m=c[2];_(function(d){var
+e=c[1];if(typeof
+e!=="number"){var
+f=e[1];if(f===a(X[1],d)){b.fillStyle=gj;b.strokeStyle=gj}else{b.strokeStyle=cj;b.fillStyle=cj}}return fL([0,X[3]],d,b,c[6])},m);return 0}function
+nk(b){try{var
+a=[0,lz(0,"worker.js")];return a}catch(a){a=Z(a);if(a[1]===eJ)return[1,a[2]];throw a}}R.drawer={"run":function(e){var
+ac=ah(0),n=ac[1],bX=ac[2],q=[0,-1,bX,ft(0)],C=ak.body,bY=1-b9(C)?C:cX(0,"Document body is null. Try to defer your script execution."),v=eT(0,bY);for(;;){if(v){var
+B=v[1],az=v[2];if(!ca(lg,B)){var
+v=az;continue}var
+z=[0,B]}else
+var
+z=0;if(z){var
+at=z[1];fF(at);var
+b7=[0,aH(0,m_),0],cb=[0,b_("fa-times-circle"),0],af=eZ(0,0,[0,e1(0,[0,[0,b_(gT),cb]],0),b7]),cc=fO(af),cd=[0,aH(0,m$),0],cf=[0,b_("fa-download"),0],ag=eZ(0,0,[0,e1(0,[0,[0,b_(gT),cf]],0),cd]),cg=fO(ag),ch=[0,[0,gD,gW],[0,[0,gO,"50"],[0,b$(aa(0,bI[4])),0]]],aj=fE([0,eO(f9),ch]),an=aj[2],cj=aj[1],ao=c0(0,0,0);fo(ao,fj(0,function(a){var
+b=[0,fP(a),0];return[0,aH(0,na),b]},an));var
+ck=[0,[0,gD,T],[0,[0,gO,"90"],[0,b$(aa(0,bI[5])),0]]],ap=fE([0,eO(f9),ck]),aq=ap[2],cl=ap[1],ar=c0(0,0,0);fo(ar,fj(0,function(a){var
+b=[0,aH(0,nb),0],c=[0,fP(a),b];return[0,aH(0,nc),c]},aq));var
+cm=[0,aH(0,nd),0],cn=[0,e2(0,[0,[0,b$("2"),0]],cm),0],co=[0,aH(0,ne),0],ay=aT(lp,0,0,[0,e2(0,[0,[0,b$(gW),0]],co),cn]),as=c0(0,0,[0,aH(0,nf),[0,ay,0]]),cp=da(0,0,0,kX,function(d){var
+a=eG.parseInt(a9(cY,ay)),b=aD(a,a)?[0,a]:0;if(b){var
+c=b[1]-1|0;if(!(2<c>>>0))switch(c){case
+0:return nh;case
+1:return ni;default:return nj}}return ng},as),cq=[0,af,[0,ag,[0,as,[0,e0(0,0,0),[0,ao,[0,cj,[0,ar,[0,cl,0]]]]]]]];hl(at,k$,b0([0,e0(0,0,0),cq]));var
+h=[0,an,aq,cg,cc,cp]}else
+var
+h=cX(0,"No sidebar");var
+cr=h[4],cs=ab(function(a){return fW},cr),ct=h[3],cu=ab(function(a){return-116259436},ct),cv=bF(h[2]),cw=ab(function(a){return[0,gb,a]},cv),cx=bF(h[1]),cy=ab(function(a){return[0,gH,a]},cx);if(b9(e)){var
+cz=[0,e,0],cA=cV(dn)?"null":bB(dn)?"undefined":dn.toString();return c1(c2,lr,c3([0,cA,cz]))}var
+A=nk(0);if(0===A[0]){var
+au=A[1],av=ah(0),aw=av[1],cB=av[2];if(hi(10,ci,0,eM(e3(e4)))===gt)bC(0,lu,function(a){return c(cB,0,a.data)},au);cZ(0,eX,gM,e);cZ(0,le,gM,e);eW(ld,a9(mY,e),e);eW(lc,a9(mZ,e),e);cZ(0,eX,f,e);var
+ad=ca(li,e)?e:cX(0,"Expected canvas element but found: ".concat(eS(e))),bZ=function(b,a){return[0,b,a]},s=0,t=0,u=0,a7=fN?fN[1]:1,M=ba(0,[0,0.,0.]),a8=M[2],bc=M[1],N=ah(0),bd=N[2],bf=N[1],O=ba(0,0),bg=O[2],bh=O[1],P=ba(0,0),bk=P[2],bl=P[1],Q=ah(0),bm=Q[2],bn=Q[1],S=ah(0),bo=S[2],bp=S[1],U=ba(0,0),bq=U[2],br=U[1],V=ah(0),bs=V[2],bt=V[1],W=ah(0),bu=W[2],bv=W[1],Y=ba(0,0),bw=Y[2],bx=Y[1],Z=ah(0),by=Z[2],bz=Z[1],$=ah(0),b=[0,e,a7,bZ,mr,0,bc,a8,bf,bd,bh,bg,bl,bk,bn,bm,bp,bo,br,bq,bt,bs,bv,bu,bx,bw,bz,by,$[1],$[2]],bG=0,bJ=[0,bb(u,t,s,ak,eL,function(d){if(!a(bE,b[10])){var
+c=0;if(!a(bE,b[12])&&!a(bE,b[18])&&!a(bE,b[24]))c=1;if(!c)return fr(b,d)}return 0}),bG],bK=0,bM=function(a){return fq(bK,b,a)},bO=[0,bb(u,t,s,b[1],k3,bM),bJ],bP=1,bQ=function(a){return fq(bP,b,a)},bR=[0,bb(u,t,s,b[1],k2,bQ),bO],bS=function(c){var
+a=aI(0);ce(a,b,c);return a$(a)},bT=[0,bb(u,t,s,b[1],k4,bS),bR],bU=function(a){return fr(b,a)},bV=[0,bb(u,t,s,b[1],eL,bU),bT],bW=function(h){var
+a=aI(0),i=ce(a,b,h),e=h.button;if(2<e>>>0){fp(0);var
+g=b[15],f=b[13]}else{switch(e){case
+0:var
+d=[0,b[13],b[15]];break;case
+1:var
+d=[0,b[19],b[21]];break;default:var
+d=[0,b[25],b[27]]}var
+g=d[2],f=d[1]}c(f,[0,a],1);c(g,[0,a],i);return a$(a)};b[5]=[0,bb(u,t,s,b[1],k1,bW),bV];fm(function(d){var
+c=b[5];return _(function(b){return a(b,0)},c)},e);var
+b1=b[14],b2=ab(function(a){return[0,gl,a]},b1),b3=b[16],b4=ab(function(a){return[0,gp,a]},b3),j=b[6],l=b[12],ae=function(b,a){return b?[0,a]:0},b5=0,aX=function(e,b){c(d[15],e,l);c(d[15],e,j);var
+g=a(d[9],l),h=g||a(d[9],j);if(h){var
+i=a(d[8],j),m=a(d[8],l),n=c(k[7],m,i);c(d[10],b,n)}var
+o=a(d[13],l),f=o||a(d[13],j);if(f){var
+p=a(d[12],j),q=ae(a(d[12],l),p);return c(d[14],b,q)}return f},aY=a(d[8],l),aZ=c(i[9],r,aY),a0=a(d[8],j),y=c(i[9],aZ,a0);c(d[15],y,l);c(d[15],y,j);var
+a1=a(d[8],j),a3=a(d[8],l),a4=c(k[7],a3,a1),a5=a(d[12],j),a6=ae(a(d[12],l),a5),g=aJ(d[1],b5,y,a4,a6,aX),b6=c_([0,b2,[0,b4,0]]),ax=function(a,b){return a?[0,[0,ge,[0,b,a[1]]]]:0},aO=function(b,e){c(d[15],b,n);c(d[15],b,g);var
+h=a(d[9],n),i=h||a(d[9],g);if(i){var
+j=a(d[8],n),l=a(d[8],g),m=c(k[7],l,j);c(d[10],e,m)}var
+f=a(d[12],n);if(f){var
+p=f[1],q=[0,ax(a(d[12],g),p)];return o(d[21],b,e,q)}return 0},aP=a(d[8],g),aQ=c(i[9],r,aP),aR=a(d[8],n),x=c(i[9],aQ,aR);c(d[15],x,n);c(d[15],x,g);var
+aS=a(d[8],n),aU=a(d[8],g),aV=c(k[7],aU,aS),J=a(d[12],n);if(J)var
+aW=J[1],K=[0,ax(a(d[12],g),aW)];else
+var
+K=0;var
+m=am(d[19],x,aV,K,aO),I=function(a){return a},E=function(c,b){return b?a(c,b[1]):0},aB=function(e,b){c(d[15],e,m);if(a(d[9],m)){var
+f=a(d[8],m);c(d[10],b,f)}var
+g=E(I,a(d[12],m));return o(d[21],e,b,g)},aC=a(d[8],m),F=c(i[9],r,aC);c(d[15],F,m);var
+aE=E(I,a(d[12],m)),aF=a(d[8],m),aG=am(d[19],F,aF,aE,aB),cC=c_([0,aw,[0,b6,[0,aG,[0,cw,[0,cy,[0,cs,[0,cu,[0,h[5],0]]]]]]]]),p=ab(function(e,b){var
+d=b[1];if(typeof
+e==="number"){if(!(fW<=e)){if(hi(10,ci,0,eM(e3(e4)))===gt){var
+E=b[2],F=a9(m0,bD(0,[0,[0,[0,"xmlns","http://www.w3.org/2000/svg"],[0,[0,"xmlns:xlink","http://www.w3.org/1999/xlink"],0]]],"svg",a2(function(d){var
+f=b[6],e=X[3];if(bN===f){var
+c=[0,0],g=function(a){var
+b=de(0,[0,[0,[0,dK,a],0]],0);c[1]=[0,b,c[1]];return bA},h=a(bH[1],g);o(e,d,[0,bH[2],bH[3],bH[4],bH[5]],h);return bD(0,[0,[0,[0,dz,be],[0,[0,dt,be],0]]],"g",c[1])}if(dy<=f){var
+i=function(a){return 0},j=a(bi[1],i),k=o(e,d,[0,bi[2],bi[3],bi[4],bi[5]],j);return de(0,[0,[0,[0,dz,be],[0,[0,dt,be],[0,[0,dK,a(bi[6],k)],0]]]],0)}function
+l(a){return 0}var
+m=a(bj[1],l),n=o(e,d,[0,bj[2],bj[3],bj[4],bj[5]],m);return de(0,[0,[0,[0,dz,be],[0,[0,dt,be],[0,[0,dK,a(bj[6],n)],0]]]],0)},E)));aT(lf,0,[0,[0,[0,k8,"data:image/svg+xml;base64,".concat(R.btoa(F))],[0,[0,"download","out.svg"],0]]],0).click()}return b}if(typeof
+d!=="number"){var
+i=0,g=b[2],D=d[1];for(;;){if(g){var
+m=g[2],n=g[1];if(a(X[1],n)!==D){var
+i=[0,n,i],g=m;continue}var
+g=m;continue}var
+C=d8(i);return[0,1,C,b[3],b[4],b[5],b[6]]}}if(d)return b}else{var
+f=e[1];if(gH<=f){if(!(gp<=f)){if(bL<=f)return[0,b[1],b[2],b[3],b[4],b[5],e[2]];var
+l=e[2];if(typeof
+d==="number")return[0,b[1],b[2],b[3],l,b[5],b[6]];var
+M=d[1],N=[0,b[1],b[2],b[3],l,b[5],b[6]];return fM(M,N,function(a){return[0,a[1],l,a[3],a[4]]})}if(gb<=f){var
+j=e[2];if(typeof
+d==="number")return[0,b[1],b[2],b[3],b[4],j,b[6]];var
+G=d[1],H=[0,b[1],b[2],b[3],b[4],j,b[6]];return fM(G,H,function(a){return[0,a[1],a[2],(f8-j)*g0,a[4]]})}if(typeof
+d==="number"&&!d){var
+p=e[2],I=fD(q);e5(q[1]);if(a(al[5],b[3])){var
+J=dl(b,p,I,b[3]),k=c(X[2],[0,al[6]],J),K=a(X[1],k);au.postMessage([0,g3,[0,K,a(X[6],k)]],b8);return[0,1,[0,k,b[2]],al[1],b[4],b[5],b[6]]}var
+r=al[1],s=dm(p,b[2]);if(s){var
+L=a(X[1],s[1][2]);return[0,[0,L],b[2],r,b[4],b[5],b[6]]}return[0,1,b[2],r,b[4],b[5],b[6]]}}else{if(!(ge<=f)){if(g3<=f){var
+B=e[2],U=B[2],V=B[1],W=b[2],Y=a2(function(b){return V===a(X[1],b)?c(X[7],b,U):b},W);return[0,b[1],Y,b[3],b[4],b[5],b[6]]}c1(c2,lq,c3([0,e[2],0]));return b}if(gl<=f){var
+h=e[2],O=h[2],P=h[1];if(typeof
+d!=="number"){var
+z=dm(h,b[2]);if(z){var
+S=a(X[1],z[1][2]);fC(q,gQ);return[0,[0,S],b[2],b[3],b[4],b[5],b[6]]}return[0,1,b[2],b[3],b[4],b[5],b[6]]}if(d){fC(q,gQ);var
+t=b[4],u=b[5],w=dm(h,b[2]),v=0.;if(w)var
+x=ai(w[1][1]),y=dd(u,t,v,x[1],x[2]);else
+var
+y=dd(u,t,v,P,O);var
+Q=c(al[2],y,b[3]);return[0,0,b[2],Q,b[4],b[5],b[6]]}}else
+if(typeof
+d==="number"&&!d){var
+A=e[2],T=dl(b,A[2],A[1],b[3]);return[0,b[1],b[2],T,b[4],b[5],b[6]]}}}return b},cC),w=[0,bI],cD=0,G=function(b){return b?(w[1]=a(b[1],w[1]),[0,w[1]]):0},aK=function(e,b){c(d[15],e,p);if(a(d[9],p)){var
+f=a(d[8],p);c(d[10],b,f)}var
+g=G(a(d[12],p));return o(d[21],e,b,g)},aL=a(d[8],p),H=c(i[9],r,aL);c(d[15],H,p);var
+aM=G(a(d[12],p)),aN=a(d[8],p),L=fi(cD,bI,am(d[19],H,aN,aM,aK)),cE=[0,h[4],0],cF=[0,ab(function(a){return 0},aw),cE],cG=h[5],cH=[0,ab(function(a){return 0},cG),cF],cI=bF(h[1]),cJ=[0,ab(function(a){return 0},cI),cH],cK=bF(h[2]),cL=[0,ab(function(a){return 0},cK),cJ],cM=bF(g),cN=c_([0,ab(function(a){return 0},cM),cL]),cO=0,aA=function(b){return b?fQ(ad,g,q,a(mk,L)):0},D=o(a_[6],cO,cN,aA);if([0,D])a(fk,D);fQ(ad,g,q,bI);a(fk,o(fh,0,L,function(a){return 0}));return 0}return eU(e,[0,aT(lo,0,0,[0,eR(0,A[1].message),0]),0])}}};hH(0);return}(function(){return this}()));
diff --git a/content/pages/script.it/script.rst b/content/pages/script.it/script.rst
new file mode 100755
index 0000000..39617e1
--- /dev/null
+++ b/content/pages/script.it/script.rst
@@ -0,0 +1,26 @@
+.. -*- mode: rst -*-
+.. -*- coding: utf-8 -*-
+
+Ardoise calligraphique
+======================
+
+:status: hidden
+:save_as: pages/script.it/index.html
+:url: pages/script.it
+
+.. raw:: html
+
+ <noscript>Sorry, you need to enable JavaScript to see this page.</noscript>
+ <script id="drawer_js" type="text/javascript" defer="defer" src="{static}script.js"></script>
+ <script>
+ var script = document.getElementById('drawer_js');
+ script.addEventListener('load', function() {
+ var app = document.getElementById('slate');
+ drawer.run(app);
+ });
+ </script>
+ <section class="todoapp" id="app">
+ <canvas id="slate" class="drawing-zone" width="800" height="800">
+ </section>
+
+Cliquez dans l'ardoise pour commencer à dessiner !
diff --git a/content/pages/script.it/worker.js b/content/pages/script.it/worker.js
new file mode 100755
index 0000000..32d6514
--- /dev/null
+++ b/content/pages/script.it/worker.js
@@ -0,0 +1,2351 @@
+// Generated by js_of_ocaml 3.8.0
+(function(f){"use strict";var
+db="%Li",dc=" : flags Open_text and Open_binary are not compatible",dW="Invalid_argument",bV=1255,du=255,dv=0x800,V=0xffff,bU="jsError",U=0x8000,dV="%ni",dG=12520,bT=256,dU=-646333223,ds="unsupported bigarray kind",dt="End_of_file",da="Unix.Unix_error",dr="Failure",dF="infinity",af=0xff,a0=1000,c$="Stack_overflow",dE="Row out of bounds.",e="",bY="^",dT=122,L="0",c_=-97,aJ=0x3f,c9="Not_found",bS=0xf,a2=128,dp=-48,dq=0xdc00,dR="Sys_blocked_io",dS="fd ",dn="Worker.onmessage is undefined",dD="Match_failure",p=248,c8="static/",dl="bigarray kind can't be represented by a Gg.Ba.scalar_type",u="camlinternalFormat.ml",dm="Division_by_zero",dQ=">",bX=252,dP=1027,dk="Sys_error",ay=".",aI="+",dC=0xf0,dO=246,dM="Column out of bounds.",dN="%u",dj="%d",c7=1026,dB="%li",ax="shapes/matrix/Matrix.ml",di="buffer.ml",bg="int_of_string",dL="_bigarray",dA=-32,b2=127,a1=1024,ac=" ",P=0x80,b1="e",c6="Undefined_recursive_module",dg=120,dh=103,dK=" : flags Open_rdonly and Open_wronly are not compatible",dJ="([^/]*)",bR=512,az="-",bW="nan",df=0x7ff0,dz=0xe0,dI=" : file already exists",dy=0xdfff,ae=0xffffff,bQ="compare: functional value",dx="Assert_failure",ad="/",de="0x",c5="%i",dH="Out_of_memory",an=254,dw=1073741823,b0="index out of bounds",dd=100,bh=250,bZ="_bigarr02";function
+iY(b,a){throw[0,b,a]}function
+aN(b,a){if(b==0)return e;if(a.repeat)return a.repeat(b);var
+d=e,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
+bn(c,b,a){var
+d=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var
+f=e;for(;0<a;b+=a1,a-=a1)f+=d.apply(null,c.slice(b,b+Math.min(a,a1)));return f}function
+aB(a){if(a.t==2)a.c+=aN(a.l-a.c.length,"\0");else
+a.c=bn(a.c,0,a.c.length);a.t=0}function
+eo(a){if(a.length<24){for(var
+b=0;b<a.length;b++)if(a.charCodeAt(b)>b2)return false;return true}else
+return!/[^\x00-\x7f]/.test(a)}function
+cg(f){for(var
+k=e,c=e,h,g,i,a,b=0,j=f.length;b<j;b++){g=f.charCodeAt(b);if(g<P){for(var
+d=b+1;d<j&&(g=f.charCodeAt(d))<P;d++);if(d-b>bR){c.substr(0,1);k+=c;c=e;k+=f.slice(b,d)}else
+c+=f.slice(b,d);if(d==j)break;b=d}a=1;if(++b<j&&((i=f.charCodeAt(b))&-64)==a2){h=i+(g<<6);if(g<dz){a=h-0x3080;if(a<P)a=1}else{a=2;if(++b<j&&((i=f.charCodeAt(b))&-64)==a2){h=i+(h<<6);if(g<dC){a=h-0xe2080;if(a<dv||a>=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b<j&&((i=f.charCodeAt(b))&-64)==a2&&g<0xf5){a=i-0x3c82080+(h<<6);if(a<0x10000||a>0x10ffff)a=3}}}}}if(a<4){b-=a;c+="\ufffd"}else
+if(a>V)c+=String.fromCharCode(0xd7c0+(a>>10),dq+(a&0x3FF));else
+c+=String.fromCharCode(a);if(c.length>a1){c.substr(0,1);k+=c;c=e}}return k+c}function
+ag(c,a,b){this.t=c;this.c=a;this.l=b}ag.prototype.toString=function(){switch(this.t){case
+9:return this.c;default:aB(this);case
+0:if(eo(this.c)){this.t=9;return this.c}this.t=8;case
+8:return this.c}};ag.prototype.toUtf16=function(){var
+a=this.toString();if(this.t==9)return a;return cg(a)};ag.prototype.slice=function(){var
+a=this.t==4?this.c.slice():this.c;return new
+ag(this.t,a,this.l)};function
+d7(a){return new
+ag(0,a,a.length)}function
+a(a){return d7(a)}function
+cd(c,b){iY(c,a(b))}var
+r=[0];function
+w(a){cd(r.Invalid_argument,a)}function
+aL(){w(b0)}function
+dY(b,a){if(a<0||a>=b.length-1)aL();return b[a+1]}function
+bi(b){if(f.Uint8Array)var
+c=new(f.Uint8Array)(b.l);else
+var
+c=new
+Array(b.l);var
+e=b.c,d=e.length,a=0;for(;a<d;a++)c[a]=e.charCodeAt(a);for(d=b.l;a<d;a++)c[a]=0;b.c=c;b.t=4;return c}function
+ap(d,e,b,f,c){if(c==0)return 0;if(f==0&&(c>=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?bn(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?bn(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)bi(b);var
+g=d.c,h=b.c;if(d.t==4)if(f<=e)for(var
+a=0;a<c;a++)h[f+a]=g[e+a];else
+for(var
+a=c-1;a>=0;a--)h[f+a]=g[e+a];else{var
+i=Math.min(c,g.length-e);for(var
+a=0;a<i;a++)h[f+a]=g.charCodeAt(e+a);for(;a<c;a++)h[f+a]=0}}return 0}function
+ah(a){return a}function
+aq(a,b,c,d,e){ap(ah(a),b,c,d,e);return 0}function
+d5(){w(b0)}function
+q(a,c,b){b&=af;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}bi(a)}a.c[c]=b;return 0}function
+aA(b,a,c){if(a>>>0>=b.l)d5();return q(b,a,c)}function
+a3(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
+ar(c,a){if(c.fun)return ar(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 ar(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<a.length;b++)d[b]=a[b];for(var
+b=0;b<arguments.length;b++)d[a.length+b]=arguments[b];return ar(c,d)}}function
+b(a,b){if(b>>>0>=a.length-1)aL();return a}function
+il(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
+ag(a?2:9,e,a)}function
+aj(a){if((a.t&6)!=0)aB(a);return a.c}var
+i$=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function
+i_(a){if(i$)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
+b7(c){var
+a=new(f.Float32Array)(1);a[0]=c;var
+b=new(f.Int32Array)(a.buffer);return b[0]|0}var
+ec=Math.pow(2,-24);function
+ek(a){throw a}function
+ce(){ek(r.Division_by_zero)}function
+d(b,c,a){this.lo=b&ae;this.mi=c&ae;this.hi=a&V}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.hi<a.hi)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};d.prototype.compare=function(a){var
+b=this.hi<<16,c=a.hi<<16;if(b>c)return 1;if(b<c)return-1;if(this.mi>a.mi)return 1;if(this.mi<a.mi)return-1;if(this.lo>a.lo)return 1;if(this.lo<a.lo)return-1;return 0};d.prototype.neg=function(){var
+a=-this.lo,b=-this.mi+(a>>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*ec|0)+this.mi*a.lo+this.lo*a.mi,e=(c*ec|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<<a,this.mi<<a|this.lo>>24-a,this.hi<<a|this.mi>>24-a);if(a<48)return new
+d(0,this.lo<<a-24,this.mi<<a-24|this.lo>>48-a);return new
+d(0,0,this.lo<<a-48)};d.prototype.shift_right_unsigned=function(a){a=a&63;if(a==0)return this;if(a<24)return new
+d(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&V);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)&ae;this.lo=this.lo<<1&ae};d.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&ae;this.mi=(this.mi>>>1|this.hi<<23)&ae;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())ce();var
+d=b.hi^a.hi;if(b.hi&U)b=b.neg();if(a.hi&U)a=a.neg();var
+c=b.udivmod(a).quotient;if(d&U)c=c.neg();return c};d.prototype.mod=function(b){var
+a=this;if(b.isZero())ce();var
+d=a.hi;if(a.hi&U)a=a.neg();if(b.hi&U)b=b.neg();var
+c=a.udivmod(b).modulus;if(d&U)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&af,this.mi>>16,this.mi>>8&af,this.mi&af,this.lo>>16,this.lo>>8&af,this.lo&af]};d.prototype.lo32=function(){return this.lo|(this.mi&af)<<24};d.prototype.hi32=function(){return this.mi>>>8&V|this.hi<<16};function
+bl(b,c,a){return new
+d(b,c,a)}function
+bk(a){if(!isFinite(a)){if(isNaN(a))return bl(1,0,df);return a>0?bl(0,0,df):bl(0,0,0xfff0)}var
+f=a==0&&1/a==-Infinity?U:a>=0?0:U;if(f)a=-a;var
+b=i_(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-c7)}else{a/=Math.pow(2,b-dP);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&bS|f|b<<4;return bl(g,e,c)}function
+a7(a){return a.toArray()}function
+d4(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==bZ)for(var
+a=0;a<b.dims.length;a++)if(b.dims[a]<V)c.write(16,b.dims[a]);else{c.write(16,V);c.write(32,0);c.write(32,b.dims[a])}else
+for(var
+a=0;a<b.dims.length;a++)c.write(32,b.dims[a]);switch(b.kind){case
+2:case
+3:case
+12:for(var
+a=0;a<b.data.length;a++)c.write(8,b.data[a]);break;case
+4:case
+5:for(var
+a=0;a<b.data.length;a++)c.write(16,b.data[a]);break;case
+6:for(var
+a=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case
+8:case
+9:c.write(8,0);for(var
+a=0;a<b.data.length;a++)c.write(32,b.data[a]);break;case
+7:for(var
+a=0;a<b.data.length/2;a++){var
+e=a7(b.get(a));for(var
+d=0;d<8;d++)c.write(8,e[d])}break;case
+1:for(var
+a=0;a<b.data.length;a++){var
+e=a7(bk(b.get(a)));for(var
+d=0;d<8;d++)c.write(8,e[d])}break;case
+0:for(var
+a=0;a<b.data.length;a++){var
+e=b7(b.get(a));c.write(32,e)}break;case
+10:for(var
+a=0;a<b.data.length/2;a++){var
+d=b.get(a);c.write(32,b7(d[1]));c.write(32,b7(d[2]))}break;case
+11:for(var
+a=0;a<b.data.length/2;a++){var
+f=b.get(a),e=a7(bk(f[1]));for(var
+d=0;d<8;d++)c.write(8,e[d]);var
+e=a7(bk(f[2]));for(var
+d=0;d<8;d++)c.write(8,e[d])}break}g[0]=(4+b.dims.length)*4;g[1]=(4+b.dims.length)*8}function
+d2(a){switch(a){case
+7:case
+10:case
+11:return 2;default:return 1}}function
+ie(c,e){var
+b=f,a;switch(c){case
+0:a=b.Float32Array;break;case
+1:a=b.Float64Array;break;case
+2:a=b.Int8Array;break;case
+3:a=b.Uint8Array;break;case
+4:a=b.Int16Array;break;case
+5:a=b.Uint16Array;break;case
+6:a=b.Int32Array;break;case
+7:a=b.Int32Array;break;case
+8:a=b.Int32Array;break;case
+9:a=b.Int32Array;break;case
+10:a=b.Float32Array;break;case
+11:a=b.Float64Array;break;case
+12:a=b.Uint8Array;break}if(!a)w("Bigarray.create: unsupported kind");var
+d=new
+a(e*d2(c));return d}function
+b8(c){var
+a=new(f.Int32Array)(1);a[0]=c;var
+b=new(f.Float32Array)(a.buffer);return b[0]}function
+a6(a){return new
+d(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function
+b9(d){var
+f=d.lo,g=d.mi,b=d.hi,c=(b&0x7fff)>>4;if(c==2047)return(f|g|b&bS)==0?b&U?-Infinity:Infinity:NaN;var
+e=Math.pow(2,-24),a=(f*e+g)*e+(b&bS);if(c>0){a+=16;a*=Math.pow(2,c-dP)}else
+a*=Math.pow(2,-c7);if(b&U)a=-a;return a}function
+b3(b){var
+d=b.length,c=1;for(var
+a=0;a<d;a++){if(b[a]<0)w("Bigarray.create: negative dimension");c=c*b[a]}return c}function
+iv(b,a){return new
+d(b&ae,b>>>24&af|(a&V)<<8,a>>>16&V)}function
+b_(a){return a.hi32()}function
+b$(a){return a.lo32()}var
+ig=dL;function
+ao(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}ao.prototype.caml_custom=ig;ao.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.length;a++){if(b[a]<0||b[a]>=this.dims[a])aL();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])aL();c=c*this.dims[a]+(b[a]-1)}return c};ao.prototype.get=function(a){switch(this.kind){case
+7:var
+d=this.data[a*2+0],b=this.data[a*2+1];return iv(d,b);case
+10:case
+11:var
+e=this.data[a*2+0],c=this.data[a*2+1];return[an,e,c];default:return this.data[a]}};ao.prototype.set=function(a,b){switch(this.kind){case
+7:this.data[a*2+0]=b$(b);this.data[a*2+1]=b_(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};ao.prototype.fill=function(b){switch(this.kind){case
+7:var
+c=b$(b),e=b_(b);if(c==e)this.data.fill(c);else
+for(var
+a=0;a<this.data.length;a++)this.data[a]=a%2==0?c:e;break;case
+10:case
+11:var
+d=b[1],f=b[2];if(d==f)this.data.fill(d);else
+for(var
+a=0;a<this.data.length;a++)this.data[a]=a%2==0?d:f;break;default:this.data.fill(b);break}};ao.prototype.compare=function(b,g){if(this.layout!=b.layout||this.kind!=b.kind){var
+e=this.kind|this.layout<<8,f=b.kind|b.layout<<8;return f-e}if(this.dims.length!=b.dims.length)return b.dims.length-this.dims.length;for(var
+a=0;a<this.dims.length;a++)if(this.dims[a]!=b.dims[a])return this.dims[a]<b.dims[a]?-1:1;switch(this.kind){case
+0:case
+1:case
+10:case
+11:var
+c,d;for(var
+a=0;a<this.data.length;a++){c=this.data[a];d=b.data[a];if(c<d)return-1;if(c>d)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;a<this.data.length;a+=2){if(this.data[a+1]<b.data[a+1])return-1;if(this.data[a+1]>b.data[a+1])return 1;if(this.data[a]>>>0<b.data[a]>>>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;a<this.data.length;a++){if(this.data[a]<b.data[a])return-1;if(this.data[a]>b.data[a])return 1}break}return 0};function
+aK(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}aK.prototype=new
+ao();aK.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])aL();return a};aK.prototype.get=function(a){return this.data[a]};aK.prototype.set=function(a,b){this.data[a]=b;return 0};aK.prototype.fill=function(a){this.data.fill(a);return 0};function
+d0(c,d,a,b){var
+e=d2(c);if(b3(a)*e!=b.length)w("length doesn't match dims");if(d==0&&a.length==1&&e==1)return new
+aK(c,d,a,b);return new
+ao(c,d,a,b)}function
+Y(a){cd(r.Failure,a)}function
+d1(b,v,r){var
+i=b.read32s();if(i<0||i>16)Y("input_value: wrong number of bigarray dimensions");var
+p=b.read32s(),j=p&af,o=p>>8&1,h=[];if(r==bZ)for(var
+a=0;a<i;a++){var
+n=b.read16u();if(n==V){var
+t=b.read32u(),u=b.read32u();if(t!=0)Y("input_value: bigarray dimension overflow in 32bit");n=u}h.push(n)}else
+for(var
+a=0;a<i;a++)h.push(b.read32u());var
+d=b3(h),f=ie(j,d),g=d0(j,o,h,f);switch(j){case
+2:for(var
+a=0;a<d;a++)f[a]=b.read8s();break;case
+3:case
+12:for(var
+a=0;a<d;a++)f[a]=b.read8u();break;case
+4:for(var
+a=0;a<d;a++)f[a]=b.read16s();break;case
+5:for(var
+a=0;a<d;a++)f[a]=b.read16u();break;case
+6:for(var
+a=0;a<d;a++)f[a]=b.read32s();break;case
+8:case
+9:var
+s=b.read8u();if(s)Y("input_value: cannot read bigarray with 64-bit OCaml ints");for(var
+a=0;a<d;a++)f[a]=b.read32s();break;case
+7:var
+e=new
+Array(8);for(var
+a=0;a<d;a++){for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+q=a6(e);g.set(a,q)}break;case
+1:var
+e=new
+Array(8);for(var
+a=0;a<d;a++){for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+k=b9(a6(e));g.set(a,k)}break;case
+0:for(var
+a=0;a<d;a++){var
+k=b8(b.read32s());g.set(a,k)}break;case
+10:for(var
+a=0;a<d;a++){var
+m=b8(b.read32s()),l=b8(b.read32s());g.set(a,[an,m,l])}break;case
+11:var
+e=new
+Array(8);for(var
+a=0;a<d;a++){for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+m=b9(a6(e));for(var
+c=0;c<8;c++)e[c]=b.read8u();var
+l=b9(a6(e));g.set(a,[an,m,l])}break}v[0]=(4+i)*4;return d0(j,o,h,f)}function
+dZ(a,b,c){return a.compare(b,c)}function
+ef(a,b){return Math.imul(a,b)}function
+ai(b,a){a=ef(a,0xcc9e2d51|0);a=a<<15|a>>>32-15;a=ef(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function
+ir(a,b){a=ai(a,b$(b));a=ai(a,b_(b));return a}function
+eb(a,b){return ir(a,bk(b))}function
+d3(c){var
+b=b3(c.dims),d=0;switch(c.kind){case
+2:case
+3:case
+12:if(b>bT)b=bT;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=ai(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=ai(d,e)}break;case
+4:case
+5:if(b>a2)b=a2;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=ai(d,e)}if((b&1)!=0)d=ai(d,c.data[a]);break;case
+6:if(b>64)b=64;for(var
+a=0;a<b;a++)d=ai(d,c.data[a]);break;case
+8:case
+9:if(b>64)b=64;for(var
+a=0;a<b;a++)d=ai(d,c.data[a]);break;case
+7:if(b>32)b=32;b*=2;for(var
+a=0;a<b;a++)d=ai(d,c.data[a]);break;case
+10:b*=2;case
+0:if(b>64)b=64;for(var
+a=0;a<b;a++)d=eb(d,c.data[a]);break;case
+11:b*=2;case
+1:if(b>32)b=32;for(var
+a=0;a<b;a++)d=eb(d,c.data[a]);break}return d}function
+it(a,b){b[0]=4;return a.read32s()}function
+iS(a,b){switch(a.read8u()){case
+1:b[0]=4;return a.read32s();case
+2:Y("input_value: native integer value too large");default:Y("input_value: ill-formed native integer")}}function
+iE(c,d){var
+b=new
+Array(8);for(var
+a=0;a<8;a++)b[a]=c.read8u();d[0]=8;return a6(b)}function
+iA(e,d,b){var
+c=a7(d);for(var
+a=0;a<8;a++)e.write(8,c[a]);b[0]=8;b[1]=8}function
+iu(a,b,c){return a.compare(b)}function
+ix(a){return a.lo32()^a.hi32()}var
+d$={"_j":{deserialize:iE,serialize:iA,fixed_length:8,compare:iu,hash:ix},"_i":{deserialize:it,fixed_length:4},"_n":{deserialize:iS,fixed_length:4},"_bigarray":{deserialize:function(a,b){return d1(a,b,dL)},serialize:d4,compare:dZ,hash:d3},"_bigarr02":{deserialize:function(a,b){return d1(a,b,bZ)},serialize:d4,compare:dZ,hash:d3}};function
+b4(a){return d$[a.caml_custom]&&d$[a.caml_custom].compare}function
+d8(f,c,d,e){var
+b=b4(c);if(b){var
+a=d>0?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
+bm(a){return a
+instanceof
+ag}function
+ca(a){return bm(a)}function
+d9(a){if(typeof
+a==="number")return a0;else
+if(bm(a))return bX;else
+if(ca(a))return 1252;else
+if(a
+instanceof
+Array&&a[0]===a[0]>>>0&&a[0]<=du){var
+b=a[0]|0;return b==an?0:b}else
+if(a
+instanceof
+String)return dG;else
+if(typeof
+a=="string")return dG;else
+if(a
+instanceof
+Number)return a0;else
+if(a&&a.caml_custom)return bV;else
+if(a&&a.compare)return 1256;else
+if(typeof
+a=="function")return 1247;else
+if(typeof
+a=="symbol")return 1251;return 1001}function
+iF(a,b){if(a<b)return-1;if(a==b)return 0;return 1}function
+d6(a,b){a.t&6&&aB(a);b.t&6&&aB(b);return a.c<b.c?-1:a.c>b.c?1:0}function
+jb(a,b){return d6(a,b)}function
+a4(a,b,d){var
+e=[];for(;;){if(!(d&&a===b)){var
+f=d9(a);if(f==bh){a=a[1];continue}var
+g=d9(b);if(g==bh){b=b[1];continue}if(f!==g){if(f==a0){if(g==bV)return d8(a,b,-1,d);return-1}if(g==a0){if(f==bV)return d8(b,a,1,d);return 1}return f<g?-1:1}switch(f){case
+247:w(bQ);break;case
+248:var
+c=iF(a[2],b[2]);if(c!=0)return c|0;break;case
+249:w(bQ);break;case
+250:w("equal: got Forward_tag, should not happen");break;case
+251:w("equal: abstract value");break;case
+252:if(a!==b){var
+c=d6(a,b);if(c!=0)return c|0}break;case
+253:w("equal: got Double_tag, should not happen");break;case
+254:w("equal: got Double_array_tag, should not happen");break;case
+255:w("equal: got Custom_tag, should not happen");break;case
+1247:w(bQ);break;case
+1255:var
+i=b4(a);if(i!=b4(b))return a.caml_custom<b.caml_custom?-1:1;if(!i)w("compare: abstract value");var
+c=i(a,b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case
+1256:var
+c=a.compare(b,d);if(c!=c)return d?-1:c;if(c!==(c|0))return-1;if(c!=0)return c|0;break;case
+1000:a=+a;b=+b;if(a<b)return-1;if(a>b)return 1;if(a!=b){if(!d)return NaN;if(a==a)return 1;if(b==b)return-1}break;case
+1001:if(a<b)return-1;if(a>b)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=aj(a),b=aj(b);if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case
+12520:var
+a=a.toString(),b=b.toString();if(a!==b){if(a<b)return-1;if(a>b)return 1}break;case
+246:case
+254:default:if(a.length!=b.length)return a.length<b.length?-1:1;if(a.length>1)e.push(a,b,1);break}}if(e.length==0)return 0;var
+h=e.pop();b=e.pop();a=e.pop();if(h+1<a.length)e.push(a,b,h+1);a=a[h];b=b[h]}}function
+b5(a,b){return+(a4(a,b,false)==0)}function
+im(a,c,b,d){if(b>0)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=aN(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)bi(a);for(b+=c;c<b;c++)a.c[c]=d}return 0}function
+io(a,b){if(a===b)return 0;if(a<b)return-1;if(a>b)return 1;if(a===a)return 1;if(b===b)return-1;return 0}function
+cc(d){d=aj(d);var
+e=d.length;if(e>31)w("format_int: format too long");var
+a={justify:aI,signstyle:az,filler:ac,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:"f"};for(var
+c=0;c<e;c++){var
+b=d.charAt(c);switch(b){case"-":a.justify=az;break;case"+":case" ":a.signstyle=b;break;case"0":a.filler=L;break;case"#":a.alternate=true;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":a.width=0;while(b=d.charCodeAt(c)-48,b>=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
+b6(b,g){if(b.uppercase)g=g.toUpperCase();var
+f=g.length;if(b.signedconv&&(b.sign<0||b.signstyle!=az))f++;if(b.alternate){if(b.base==8)f+=1;if(b.base==16)f+=2}var
+c=e;if(b.justify==aI&&b.filler==ac)for(var
+d=f;d<b.width;d++)c+=ac;if(b.signedconv)if(b.sign<0)c+=az;else
+if(b.signstyle!=az)c+=b.signstyle;if(b.alternate&&b.base==8)c+=L;if(b.alternate&&b.base==16)c+=de;if(b.justify==aI&&b.filler==L)for(var
+d=f;d<b.width;d++)c+=L;c+=g;if(b.justify==az)for(var
+d=f;d<b.width;d++)c+=ac;return a(c)}function
+ea(i,c){function
+j(a,b){if(Math.abs(a)<1.0)return a.toFixed(b);else{var
+c=parseInt(a.toString().split(aI)[1]);if(c>20){c-=20;a/=Math.pow(10,c);a+=new
+Array(c+1).join(L);if(b>0)a=a+ay+new
+Array(b+1).join(L);return a}else
+return a.toFixed(b)}}var
+a,e=cc(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=bW;e.filler=ac}else
+if(!isFinite(c)){a="inf";e.filler=ac}else
+switch(e.conv){case"e":var
+a=c.toExponential(d),b=a.length;if(a.charAt(b-3)==b1)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(b1),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)==ay)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==b1)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)==ay)b--;a=a.slice(0,b+1)}}break}return b6(e,a)}function
+bj(f,c){if(aj(f)==dj)return a(e+c);var
+b=cc(f);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=ac;var
+g=b.prec-d.length;if(g>0)d=aN(g,L)+d}return b6(b,d)}var
+iU=0;function
+H(){return iU++}function
+ed(a){return a.toUtf16()}if(f.process&&f.process.cwd)var
+a5=f.process.cwd().replace(/\\/g,ad);else
+var
+a5="/static";if(a5.slice(-1)!==ad)a5+=ad;function
+iK(a){a=ed(a);if(a.charCodeAt(0)!=47)a=a5+a;var
+d=a.split(ad),b=[];for(var
+c=0;c<d.length;c++)switch(d[c]){case"..":if(b.length>1)b.pop();break;case".":break;case"":if(b.length==0)b.push(e);break;default:b.push(d[c]);break}b.orig=a;return b}function
+ij(a){return new
+ag(4,a,a.length)}function
+i6(f){for(var
+g=e,b=g,a,i,c=0,h=f.length;c<h;c++){a=f.charCodeAt(c);if(a<P){for(var
+d=c+1;d<h&&(a=f.charCodeAt(d))<P;d++);if(d-c>bR){b.substr(0,1);g+=b;b=e;g+=f.slice(c,d)}else
+b+=f.slice(c,d);if(d==h)break;c=d}if(a<dv){b+=String.fromCharCode(0xc0|a>>6);b+=String.fromCharCode(P|a&aJ)}else
+if(a<0xd800||a>=dy)b+=String.fromCharCode(dz|a>>12,P|a>>6&aJ,P|a&aJ);else
+if(a>=0xdbff||c+1==h||(i=f.charCodeAt(c+1))<dq||i>dy)b+="\xef\xbf\xbd";else{c++;a=(a<<10)+i-0x35fdc00;b+=String.fromCharCode(dC|a>>18,P|a>>12&aJ,P|a>>6&aJ,P|a&aJ)}if(b.length>a1){b.substr(0,1);g+=b;b=e}}return g+b}function
+ik(a){var
+b=9;if(!eo(a))b=8,a=i6(a);return new
+ag(b,a,a.length)}function
+al(a){return ik(a)}function
+n(a){cd(r.Sys_error,a)}function
+iW(a){a=aj(a);n(a+": No such file or directory")}function
+ii(b,a){if(a>>>0>=b.l)d5();return a3(b,a)}function
+M(a){return a.l}function
+dX(){}function
+z(a){this.data=a}z.prototype=new
+dX();z.prototype.truncate=function(a){var
+b=this.data;this.data=v(a|0);ap(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;ap(f,0,this.data,0,c)}aq(d,g,this.data,b,a);return 0};z.prototype.read=function(c,a,d,b){var
+e=this.length();ap(this.data,c,a,d,b);return 0};z.prototype.read_one=function(a){return ii(this.data,a)};z.prototype.close=function(){};z.prototype.constructor=z;function
+Q(b,a){this.content={};this.root=b;this.lookupFun=a}Q.prototype.nm=function(a){return this.root+a};Q.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(ah(c[1]))}};Q.prototype.exists=function(a){if(a==e)return 1;var
+c=a+ad,d=new
+RegExp(bY+c);for(var
+b
+in
+this.content)if(b.match(d))return 1;this.lookup(a);return this.content[a]?1:0};Q.prototype.readdir=function(c){var
+g=c==e?e:c+ad,h=new
+RegExp(bY+g+dJ),d={},b=[];for(var
+f
+in
+this.content){var
+a=f.match(h);if(a&&!d[a[1]]){d[a[1]]=true;b.push(a[1])}}return b};Q.prototype.is_dir=function(a){var
+d=a==e?e:a+ad,f=new
+RegExp(bY+d+dJ),g=[];for(var
+c
+in
+this.content){var
+b=c.match(f);if(b)return 1}return 0};Q.prototype.unlink=function(a){var
+b=this.content[a]?true:false;delete
+this.content[a];return b};Q.prototype.open=function(a,b){if(b.rdonly&&b.wronly)n(this.nm(a)+dK);if(b.text&&b.binary)n(this.nm(a)+dc);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)+dI);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
+iW(this.nm(a))};Q.prototype.register=function(b,a){if(this.content[b])n(this.nm(b)+dI);if(bm(a))this.content[b]=new
+z(a);if(ca(a))this.content[b]=new
+z(ah(a));else
+if(a
+instanceof
+Array)this.content[b]=new
+z(ij(a));else
+if(typeof
+a==="string")this.content[b]=new
+z(d7(a));else
+if(a.toString){var
+c=ah(al(a.toString()));this.content[b]=new
+z(c)}else
+n(this.nm(b)+" : registering file with invalid content type")};Q.prototype.constructor=Q;function
+i(a){return M(a)}function
+T(b,a){return a3(b,a)}function
+id(d){var
+c=i(d),b=new
+Array(c),a=0;for(;a<c;a++)b[a]=T(d,a);return b}function
+ic(a){if(a.t!=4)bi(a);return a.c}function
+X(a){this.fs=require("fs");this.fd=a}X.prototype=new
+dX();X.prototype.truncate=function(a){try{this.fs.ftruncateSync(this.fd,a|0)}catch(a){n(a.toString())}};X.prototype.length=function(){try{return this.fs.fstatSync(this.fd).size}catch(a){n(a.toString())}};X.prototype.write=function(g,b,c,e){var
+a=id(b);if(!(a
+instanceof
+f.Uint8Array))a=new(f.Uint8Array)(a);var
+d=f.Buffer.from(a);try{this.fs.writeSync(this.fd,d,c,e,g)}catch(a){n(a.toString())}return 0};X.prototype.read=function(h,d,c,g){var
+a=ic(d);if(!(a
+instanceof
+f.Uint8Array))a=new(f.Uint8Array)(a);var
+e=f.Buffer.from(a);try{this.fs.readSync(this.fd,e,c,g,h)}catch(a){n(a.toString())}for(var
+b=0;b<g;b++)aA(d,c+b,e[c+b]);return 0};X.prototype.read_one=function(c){var
+b=new(f.Uint8Array)(1),a=f.Buffer.from(b);try{this.fs.readSync(this.fd,a,0,1,c)}catch(a){n(a.toString())}return a[0]};X.prototype.close=function(){try{this.fs.closeSync(this.fd)}catch(a){n(a.toString())}};X.prototype.constructor=X;function
+W(a){this.fs=require("fs");this.root=a}W.prototype.nm=function(a){return this.root+a};W.prototype.exists=function(a){try{return this.fs.existsSync(this.nm(a))?1:0}catch(a){n(a.toString())}};W.prototype.readdir=function(a){try{return this.fs.readdirSync(this.nm(a))}catch(a){n(a.toString())}};W.prototype.is_dir=function(a){try{return this.fs.statSync(this.nm(a)).isDirectory()?1:0}catch(a){n(a.toString())}};W.prototype.unlink=function(a){try{var
+b=this.fs.existsSync(this.nm(a))?1:0;this.fs.unlinkSync(this.nm(a))}catch(a){n(a.toString())}return b};W.prototype.open=function(f,c){var
+a=require("constants"),b=0;for(var
+e
+in
+c)switch(e){case"rdonly":b|=a.O_RDONLY;break;case"wronly":b|=a.O_WRONLY;break;case"append":b|=a.O_WRONLY|a.O_APPEND;break;case"create":b|=a.O_CREAT;break;case"truncate":b|=a.O_TRUNC;break;case"excl":b|=a.O_EXCL;break;case"binary":b|=a.O_BINARY;break;case"text":b|=a.O_TEXT;break;case"nonblock":b|=a.O_NONBLOCK;break}try{var
+d=this.fs.openSync(this.nm(f),b);return new
+X(d)}catch(a){n(a.toString())}};W.prototype.rename=function(b,a){try{this.fs.renameSync(this.nm(b),this.nm(a))}catch(a){n(a.toString())}};W.prototype.constructor=W;var
+aM=a5.match(/[^\/]*\//)[0];function
+i7(){return typeof
+f.process!=="undefined"&&typeof
+f.process.versions!=="undefined"&&typeof
+f.process.versions.node!=="undefined"&&f.process.platform!=="browser"}var
+a9=[];if(i7())a9.push({path:aM,device:new
+W(aM)});else
+a9.push({path:aM,device:new
+Q(aM)});a9.push({path:aM+c8,device:new
+Q(aM+c8)});function
+ep(b){var
+f=iK(b),b=f.join(ad),e=b+ad,c;for(var
+d=0;d<a9.length;d++){var
+a=a9[d];if(e.search(a.path)==0&&(!c||c.path.length<a.path.length))c={path:a.path,device:a.device,rest:b.substring(a.path.length,b.length)}}return c}function
+d_(c,b){var
+c=typeof
+c=="string"?a(c):c,b=typeof
+b=="string"?a(b):b,d=ep(c);if(!d.device.register)Y("cannot register file");d.device.register(d.rest,b);return 0}function
+ip(){var
+b=f.caml_fs_tmp;if(b)for(var
+a=0;a<b.length;a++)d_(b[a].name,b[a].content);f.caml_create_file=d_;f.caml_fs_tmp=[];return 0}function
+iq(a,b){return+(a4(a,b,false)>=0)}function
+is(a,c,l){if(!isFinite(a)){if(isNaN(a))return al(bW);return al(a>0?dF:"-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?e:aI,f=e;if(j)f=az;else
+switch(l){case
+43:f=aI;break;case
+32:f=ac;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(ay);if(i<0)b+=ay+aN(c,L);else{var
+g=i+1+c;if(b.length<g)b+=aN(g-b.length,L);else
+b=b.substr(0,g)}}return al(f+de+b+"p"+k+d.toString(10))}function
+iz(a){return+a.isZero()}function
+iC(a){return new
+d(a&ae,a>>24&ae,a>>31&V)}function
+iD(a){return a.toInt()}function
+iy(a){return+a.isNeg()}function
+iB(a){return a.neg()}function
+iw(h,c){var
+a=cc(h);if(a.signedconv&&iy(c)){a.sign=-1;c=iB(c)}var
+b=e,i=iC(a.base),g="0123456789abcdef";do{var
+f=c.udivmod(i);c=f.quotient;b=g.charAt(iD(f.modulus))+b}while(!iz(c));if(a.prec>=0){a.filler=ac;var
+d=a.prec-b.length;if(d>0)b=aN(d,L)+b}return b6(a,b)}function
+iV(c){var
+a=0,e=i(c),b=10,d=1;if(e>0)switch(T(c,a)){case
+45:a++;d=-1;break;case
+43:a++;d=1;break}if(a+1<e&&T(c,a)==48)switch(T(c,a+1)){case
+120:case
+88:b=16;a+=2;break;case
+111:case
+79:b=8;a+=2;break;case
+98:case
+66:b=2;a+=2;break;case
+117:case
+85:a+=2;break}return[a,d,b]}function
+ej(a){if(a>=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=dT)return a-87;return-1}function
+iG(f){var
+h=iV(f),c=h[0],j=h[1],d=h[2],g=i(f),k=-1>>>0,e=c<g?T(f,c):0,b=ej(e);if(b<0||b>=d)Y(bg);var
+a=b;for(c++;c<g;c++){e=T(f,c);if(e==95)continue;b=ej(e);if(b<0||b>=d)break;a=d*a+b;if(a>k)Y(bg)}if(c!=g)Y(bg);a=j*a;if(d==10&&(a|0)!=a)Y(bg);return a|0}function
+iH(d){return function(){var
+b=arguments.length;if(b>0){var
+c=new
+Array(b);for(var
+a=0;a<b;a++)c[a]=arguments[a];return ar(d,c)}else
+return ar(d,[undefined])}}function
+iI(a,b){return+(a4(a,b,false)<=0)}function
+iJ(a,b){return+(a4(a,b,false)<0)}function
+S(a,d){if(a<0)aL();var
+a=a+1|0,b=new
+Array(a);b[0]=0;for(var
+c=1;c<a;c++)b[c]=d;return b}function
+i1(b){return a(bn(b,0,b.length))}var
+iL=function(){function
+l(a,b){return a+b|0}function
+a(d,a,c,f,b,e){a=l(l(a,d),l(f,e));return l(a<<b|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]|=P<<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<f.length;e+=16){var
+a=k[0],b=k[1],c=k[2],d=k[3];a=g(a,b,c,d,f[e+0],7,0xD76AA478);d=g(d,a,b,c,f[e+1],12,0xE8C7B756);c=g(c,d,a,b,f[e+2],17,0x242070DB);b=g(b,c,d,a,f[e+3],22,0xC1BDCEEE);a=g(a,b,c,d,f[e+4],7,0xF57C0FAF);d=g(d,a,b,c,f[e+5],12,0x4787C62A);c=g(c,d,a,b,f[e+6],17,0xA8304613);b=g(b,c,d,a,f[e+7],22,0xFD469501);a=g(a,b,c,d,f[e+8],7,0x698098D8);d=g(d,a,b,c,f[e+9],12,0x8B44F7AF);c=g(c,d,a,b,f[e+10],17,0xFFFF5BB1);b=g(b,c,d,a,f[e+11],22,0x895CD7BE);a=g(a,b,c,d,f[e+12],7,0x6B901122);d=g(d,a,b,c,f[e+13],12,0xFD987193);c=g(c,d,a,b,f[e+14],17,0xA679438E);b=g(b,c,d,a,f[e+15],22,0x49B40821);a=h(a,b,c,d,f[e+1],5,0xF61E2562);d=h(d,a,b,c,f[e+6],9,0xC040B340);c=h(c,d,a,b,f[e+11],14,0x265E5A51);b=h(b,c,d,a,f[e+0],20,0xE9B6C7AA);a=h(a,b,c,d,f[e+5],5,0xD62F105D);d=h(d,a,b,c,f[e+10],9,0x02441453);c=h(c,d,a,b,f[e+15],14,0xD8A1E681);b=h(b,c,d,a,f[e+4],20,0xE7D3FBC8);a=h(a,b,c,d,f[e+9],5,0x21E1CDE6);d=h(d,a,b,c,f[e+14],9,0xC33707D6);c=h(c,d,a,b,f[e+3],14,0xF4D50D87);b=h(b,c,d,a,f[e+8],20,0x455A14ED);a=h(a,b,c,d,f[e+13],5,0xA9E3E905);d=h(d,a,b,c,f[e+2],9,0xFCEFA3F8);c=h(c,d,a,b,f[e+7],14,0x676F02D9);b=h(b,c,d,a,f[e+12],20,0x8D2A4C8A);a=i(a,b,c,d,f[e+5],4,0xFFFA3942);d=i(d,a,b,c,f[e+8],11,0x8771F681);c=i(c,d,a,b,f[e+11],16,0x6D9D6122);b=i(b,c,d,a,f[e+14],23,0xFDE5380C);a=i(a,b,c,d,f[e+1],4,0xA4BEEA44);d=i(d,a,b,c,f[e+4],11,0x4BDECFA9);c=i(c,d,a,b,f[e+7],16,0xF6BB4B60);b=i(b,c,d,a,f[e+10],23,0xBEBFBC70);a=i(a,b,c,d,f[e+13],4,0x289B7EC6);d=i(d,a,b,c,f[e+0],11,0xEAA127FA);c=i(c,d,a,b,f[e+3],16,0xD4EF3085);b=i(b,c,d,a,f[e+6],23,0x04881D05);a=i(a,b,c,d,f[e+9],4,0xD9D4D039);d=i(d,a,b,c,f[e+12],11,0xE6DB99E5);c=i(c,d,a,b,f[e+15],16,0x1FA27CF8);b=i(b,c,d,a,f[e+2],23,0xC4AC5665);a=j(a,b,c,d,f[e+0],6,0xF4292244);d=j(d,a,b,c,f[e+7],10,0x432AFF97);c=j(c,d,a,b,f[e+14],15,0xAB9423A7);b=j(b,c,d,a,f[e+5],21,0xFC93A039);a=j(a,b,c,d,f[e+12],6,0x655B59C3);d=j(d,a,b,c,f[e+3],10,0x8F0CCC92);c=j(c,d,a,b,f[e+10],15,0xFFEFF47D);b=j(b,c,d,a,f[e+1],21,0x85845DD1);a=j(a,b,c,d,f[e+8],6,0x6FA87E4F);d=j(d,a,b,c,f[e+15],10,0xFE2CE6E0);c=j(c,d,a,b,f[e+6],15,0xA3014314);b=j(b,c,d,a,f[e+13],21,0x4E0811A1);a=j(a,b,c,d,f[e+4],6,0xF7537E82);d=j(d,a,b,c,f[e+11],10,0xBD3AF235);c=j(c,d,a,b,f[e+2],15,0x2AD7D2BB);b=j(b,c,d,a,f[e+9],21,0xEB86D391);k[0]=l(a,k[0]);k[1]=l(b,k[1]);k[2]=l(c,k[2]);k[3]=l(d,k[3])}var
+o=new
+Array(16);for(var
+e=0;e<4;e++)for(var
+m=0;m<4;m++)o[e*4+m]=k[e]>>8*m&0xFF;return o}return function(h,g,f){var
+e=[];switch(h.t&6){default:aB(h);case
+0:var
+d=h.c;for(var
+a=0;a<f;a+=4){var
+b=a+g;e[a>>2]=d.charCodeAt(b)|d.charCodeAt(b+1)<<8|d.charCodeAt(b+2)<<16|d.charCodeAt(b+3)<<24}for(;a<f;a++)e[a>>2]|=d.charCodeAt(a+g)<<8*(a&3);break;case
+4:var
+c=h.c;for(var
+a=0;a<f;a+=4){var
+b=a+g;e[a>>2]=c[b]|c[b+1]<<8|c[b+2]<<16|c[b+3]<<24}for(;a<f;a++)e[a>>2]|=c[a+g]<<8*(a&3)}return i1(k(e,f))}}();function
+iM(c,b,a){return iL(ah(c),b,a)}var
+Z=new
+Array();function
+cb(c){var
+a=Z[c];if(!a.opened)n("Cannot flush a closed channel");if(!a.buffer||a.buffer==e)return 0;if(a.fd&&r.fds[a.fd]&&r.fds[a.fd].output){var
+b=r.fds[a.fd].output;switch(b.length){case
+2:b(c,a.buffer);break;default:b(a.buffer)}}a.buffer=e;return 0}function
+em(e,f){var
+b=Z[e],d=a(f),c=i(d);b.file.write(b.offset,d,0,c);b.offset+=c;return 0}function
+i8(a){var
+a=cg(a),b=f;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
+i9(a){var
+a=cg(a),b=f;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
+bp(c,e,d,a){if(r.fds===undefined)r.fds=new
+Array();a=a?a:{};var
+b={};b.file=d;b.offset=a.append?d.length():0;b.flags=a;b.output=e;r.fds[c]=b;if(!r.fd_last_idx||c>r.fd_last_idx)r.fd_last_idx=c;return c}function
+jc(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(aj(c)+dK);if(a.text&&a.binary)n(aj(c)+dc);var
+d=ep(c),e=d.device.open(d.rest,a),f=r.fd_last_idx?r.fd_last_idx:0;return bp(f+1,em,e,a)}bp(0,em,new
+z(v(0)));bp(1,i9,new
+z(v(0)));bp(2,i8,new
+z(v(0)));function
+iN(c){var
+b=r.fds[c];if(b.flags.wronly)n(dS+c+" is writeonly");var
+a={file:b.file,offset:b.offset,fd:c,opened:true,out:false,refill:null};Z[a.fd]=a;return a.fd}function
+ee(c){var
+b=r.fds[c];if(b.flags.rdonly)n(dS+c+" is readonly");var
+a={file:b.file,offset:b.offset,fd:c,opened:true,out:true,buffer:e};Z[a.fd]=a;return a.fd}function
+iO(){var
+b=0;for(var
+a=0;a<Z.length;a++)if(Z[a]&&Z[a].opened&&Z[a].out)b=[0,Z[a].fd,b];return b}function
+F(a){return a}function
+iQ(g,d,h,f){var
+b=Z[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);ap(d,h,a,0,f)}var
+i=F(a),c=aj(i),e=c.lastIndexOf("\n");if(e<0)b.buffer+=c;else{b.buffer+=c.substr(0,e+1);cb(g);b.buffer+=c.substr(e+1)}return 0}function
+iP(b,a,d,c){return iQ(b,ah(a),d,c)}function
+iR(b,a){if(a==0)ce();return b%a}function
+a8(a,b){return+(a4(a,b,false)!=0)}function
+iT(a,b){a[0]=bh;a[1]=b;return 0}function
+ei(a){if(a
+instanceof
+Array&&a[0]==a[0]>>>0)return a[0];else
+if(bm(a))return bX;else
+if(ca(a))return bX;else
+if(a
+instanceof
+Function||typeof
+a=="function")return 247;else
+if(a&&a.caml_custom)return du;else
+return a0}function
+R(b,c,a){if(a&&f.toplevelReloc)b=f.toplevelReloc(a);r[b+1]=c;if(a)r[a]=c}var
+eh={};function
+iZ(a,b){eh[aj(a)]=b;return 0}function
+ih(a,b){if(a===b)return 1;a.t&6&&aB(a);b.t&6&&aB(b);return a.c==b.c?1:0}function
+en(a,b){return ih(a,b)}function
+i0(){w(b0)}function
+x(b,a){if(a>>>0>=i(b))i0();return T(b,a)}function
+ak(a,b){return 1-en(a,b)}function
+i2(){return[0,a("js_of_ocaml")]}function
+i3(){return 0x7FFFFFFF/4|0}function
+i4(){return[0,a("Unix"),32,0]}function
+iX(){ek(r.Not_found)}function
+bo(c){var
+a=f,b=ed(c);if(a.process&&a.process.env&&a.process.env[b]!=undefined)return al(a.process.env[b]);if(f.jsoo_static_env&&f.jsoo_static_env[b])return al(f.jsoo_static_env[b]);iX()}function
+i5(){var
+a=new
+Date().getTime(),b=a^0xffffffff*Math.random();return[0,b]}function
+cf(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
+el(a){return a}function
+eg(a){return eh[a]}function
+_(a){if(a
+instanceof
+Array)return a;if(f.RangeError&&a
+instanceof
+f.RangeError&&a.message&&a.message.match(/maximum call stack/i))return el(r.Stack_overflow);if(f.InternalError&&a
+instanceof
+f.InternalError&&a.message&&a.message.match(/too much recursion/i))return el(r.Stack_overflow);if(a
+instanceof
+f.Error&&eg(bU))return[0,eg(bU),a];return[0,r.Failure,al(String(a))]}function
+bq(){return 0}function
+ja(){}function
+c(a,b){return a.length==1?a(b):ar(a,[b])}function
+g(a,b,c){return a.length==2?a(b,c):ar(a,[b,c])}function
+aw(a,b,c,d){return a.length==3?a(b,c,d):ar(a,[b,c,d])}ip();var
+cj=[p,a(dk),-2],$=[p,a(dr),-3],ch=[p,a(dW),-4],as=[p,a(c9),-7],j=[p,a(dx),-11],cz=[0,dh];R(11,[p,a(c6),-12],c6);R(10,j,dx);R(9,[p,a(dR),-10],dR);R(8,[p,a(c$),-9],c$);R(7,[p,a(dD),-8],dD);R(6,as,c9);R(5,[p,a(dm),-6],dm);R(4,[p,a(dt),-5],dt);R(3,ch,dW);R(2,$,dr);R(1,cj,dk);R(0,[p,a(dH),-1],dH);var
+ew=a("output_substring"),es=a("true"),et=a("false"),ey=a("\\\\"),ez=a("\\'"),eA=a("\\b"),eB=a("\\t"),eC=a("\\n"),eD=a("\\r"),eG=a("List.init"),eJ=a("String.blit / Bytes.blit_string"),eI=a("Bytes.blit"),eH=a("String.sub / Bytes.sub"),eM=a("String.contains_from / Bytes.contains_from"),eQ=a("Array.map2: arrays must have the same length"),eO=a("Array.init"),eT=a("Stdlib.Queue.Empty"),eV=a("CamlinternalLazy.Undefined"),e3=a("Buffer.add_substring/add_subbytes"),e2=a("Buffer.add: cannot grow buffer"),e1=[0,a(di),93,2],e0=[0,a(di),94,2],eZ=a("Buffer.sub"),fa=a("%c"),fb=a("%s"),fc=a(c5),fd=a(dB),fe=a(dV),ff=a(db),fg=a("%f"),fh=a("%B"),fi=a("%{"),fj=a("%}"),fk=a("%("),fl=a("%)"),fm=a("%a"),fn=a("%t"),fo=a("%?"),fp=a("%r"),fq=a("%_r"),fr=[0,a(u),850,23],fC=[0,a(u),814,21],fu=[0,a(u),815,21],fD=[0,a(u),818,21],fv=[0,a(u),819,21],fE=[0,a(u),822,19],fw=[0,a(u),823,19],fF=[0,a(u),826,22],fx=[0,a(u),827,22],fG=[0,a(u),831,30],fy=[0,a(u),832,30],fA=[0,a(u),836,26],fs=[0,a(u),837,26],fB=[0,a(u),846,28],ft=[0,a(u),847,28],fz=[0,a(u),851,23],gI=a(dN),gG=[0,a(u),1558,4],gH=a("Printf: bad conversion %["),gJ=[0,a(u),1626,39],gK=[0,a(u),1649,31],gL=[0,a(u),1650,31],gM=a("Printf: bad conversion %_"),gN=a("@{"),gO=a("@["),gS=[0,[11,a("invalid box description "),[3,0,0]],a("invalid box description %S")],gQ=a(e),gR=[0,0,4],gT=a(e),gU=a("b"),gV=a("h"),gW=a("hov"),gX=a("hv"),gY=a("v"),gE=a(bW),gC=a("neg_infinity"),gD=a(dF),gB=a(ay),gl=a("%+nd"),gm=a("% nd"),go=a("%+ni"),gp=a("% ni"),gq=a("%nx"),gr=a("%#nx"),gs=a("%nX"),gt=a("%#nX"),gu=a("%no"),gv=a("%#no"),gk=a("%nd"),gn=a(dV),gw=a("%nu"),f_=a("%+ld"),f$=a("% ld"),gb=a("%+li"),gc=a("% li"),gd=a("%lx"),ge=a("%#lx"),gf=a("%lX"),gg=a("%#lX"),gh=a("%lo"),gi=a("%#lo"),f9=a("%ld"),ga=a(dB),gj=a("%lu"),fX=a("%+Ld"),fY=a("% Ld"),f0=a("%+Li"),f1=a("% Li"),f2=a("%Lx"),f3=a("%#Lx"),f4=a("%LX"),f5=a("%#LX"),f6=a("%Lo"),f7=a("%#Lo"),fW=a("%Ld"),fZ=a(db),f8=a("%Lu"),fK=a("%+d"),fL=a("% d"),fN=a("%+i"),fO=a("% i"),fP=a("%x"),fQ=a("%#x"),fR=a("%X"),fS=a("%#X"),fT=a("%o"),fU=a("%#o"),fJ=a(dj),fM=a(c5),fV=a(dN),e4=a("@]"),e5=a("@}"),e6=a("@?"),e7=a("@\n"),e8=a("@."),e9=a("@@"),e_=a("@%"),e$=a("@"),fH=a("CamlinternalFormat.Type_mismatch"),gZ=a("x"),ia=a("OCAMLRUNPARAM"),h_=a("CAMLRUNPARAM"),g0=a(e),ho=[3,0,3],hp=a(ay),hj=a(dQ),hk=a("<\/"),hl=a(e),hf=a(dQ),hg=a("<"),hh=a(e),hd=a("\n"),g$=a(e),ha=a(e),hb=a(e),hc=a(e),g_=[0,a(e)],g6=a(e),g7=a(e),g8=a(e),g9=a(e),g5=[0,a(e),0,a(e)],g4=a(e),g3=a("Stdlib.Format.String_tag"),h9=a("TMPDIR"),h8=a("TEMP"),hu=a("Cygwin"),hv=a("Win32"),hx=a("Js_of_ocaml__Js.Error"),hy=a(bU),hB=a(dn),hA=a(dn),hC=a(da),hD=a(e),hE=a(e),hF=a(da),hG=a("0.0.0.0"),hH=a("127.0.0.1"),h7=a("::"),h6=a("::1"),hI=[0,[11,a(ds),0],a(ds)],hJ=[0,[11,a(dl),0],a(dl)],hY=[0,a(ax),422,10],hX=[0,a(ax),433,16],hW=[0,a(ax),409,4],hV=[0,a(ax),348,12],hU=[0,a(ax),339,12],hS=[0,a(ax),92,8],hT=a(dM),hQ=[0,a(ax),80,8],hR=a(dE),hP=a(dM),hO=a(dE),hK=a("Matrix.NonSquare"),hM=a("Matrix.ImproperDimensions"),h4=a("NonElt"),h5=a("Dune__exe__Worker.Empty_Element");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
+ci(a){throw[0,$,a]}function
+I(a){throw[0,ch,a]}H(0);function
+ck(b,a){return iq(b,a)?b:a}function
+br(a){return 0<=a?a:-a|0}var
+eq=2147483647;function
+at(d,c){var
+a=i(d),e=i(c),b=v(a+e|0);aq(d,0,b,0,a);aq(c,0,b,a,e);return F(b)}function
+er(a){return a?es:et}iN(0);var
+eu=ee(1),ev=ee(2),bs=[0,function(b){function
+a(b){var
+a=b;for(;;){if(a){var
+c=a[2],d=a[1];try{cb(d)}catch(a){a=_(a);if(a[1]!==cj)throw a;var
+e=a}var
+a=c;continue}return 0}}return a(iO(0))}];function
+cl(b){var
+a=[0,0],d=bs[1];bs[1]=function(e){if(1-a[1]){a[1]=1;c(b,0)}return c(d,0)};return 0}function
+ex(a){return c(bs[1],0)}var
+cm=i4(0)[1],cn=i3(0),aO=(4*cn|0)-1|0;H(0);var
+eE=i2(0);function
+bt(c){var
+b=0,a=c;for(;;){if(a){var
+b=b+1|0,a=a[2];continue}return b}}function
+co(d){var
+a=d,b=0;for(;;){if(a){var
+c=[0,a[1],b],a=a[2],b=c;continue}return b}}function
+cp(a,d,b){if(d<=a)return 0;var
+e=c(b,a);return[0,e,cp(a+1|0,d,b)]}var
+eF=typeof
+eE==="number"?10000:50;function
+au(a,c){var
+b=v(a);im(b,0,a,c);return b}function
+cq(c,b,a){if(0<=b&&0<=a&&!((M(c)-a|0)<b)){var
+d=v(a);ap(c,b,d,0,a);return d}return I(eH)}function
+bu(c,b,a){return F(cq(c,b,a))}function
+cr(e,c,d,b,a){if(0<=a&&0<=c&&!((M(e)-a|0)<c)&&0<=b&&!((M(d)-a|0)<b))return ap(e,c,d,b,a);return I(eI)}function
+aa(e,c,d,b,a){if(0<=a&&0<=c&&!((i(e)-a|0)<c)&&0<=b&&!((M(d)-a|0)<b))return aq(e,c,d,b,a);return I(eJ)}function
+a_(b,a){return F(au(b,a))}function
+cs(c,b,a){return F(cq(ah(c),b,a))}function
+eK(e,d,c,b){var
+a=c;for(;;){if(d<=a)throw as;if(T(e,a)===b)return a;var
+a=a+1|0;continue}}function
+eL(b,a,d){var
+c=i(b);if(0<=a&&!(c<a))try{eK(b,c,a,d);var
+e=1;return e}catch(a){a=_(a);if(a===as)return 0;throw a}return I(eM)}function
+eN(b,a){return eL(b,0,a)}function
+bv(b,d){if(0===b)return[0];if(0<=b){var
+e=S(b,c(d,0)),f=b-1|0,g=1;if(!(f<1)){var
+a=g;for(;;){e[1+a]=c(d,a);var
+h=a+1|0;if(f!==a){var
+a=h;continue}break}}return e}return I(eO)}function
+eP(b,f,e){var
+c=S(b,[0]),d=b-1|0,g=0;if(!(d<0)){var
+a=g;for(;;){c[1+a]=S(f,e);var
+h=a+1|0;if(d!==a){var
+a=h;continue}break}}return c}function
+bw(e,b){var
+d=b.length-1-1|0,f=0;if(!(d<0)){var
+a=f;for(;;){c(e,b[1+a]);var
+g=a+1|0;if(d!==a){var
+a=g;continue}break}}return 0}function
+aP(e,b){var
+d=b.length-1;if(0===d)return[0];var
+f=S(d,c(e,b[1])),g=d-1|0,h=1;if(!(g<1)){var
+a=h;for(;;){f[1+a]=c(e,b[1+a]);var
+i=a+1|0;if(g!==a){var
+a=i;continue}break}}return f}function
+ct(d,b){var
+c=b.length-1-1|0,e=0;if(!(c<0)){var
+a=e;for(;;){g(d,a,b[1+a]);var
+f=a+1|0;if(c!==a){var
+a=f;continue}break}}return 0}function
+bx(a){if(a){var
+d=0,c=a,g=a[2],h=a[1];for(;;){if(c){var
+d=d+1|0,c=c[2];continue}var
+f=S(d,h),e=1,b=g;for(;;){if(b){var
+i=b[2];f[1+e]=b[1];var
+e=e+1|0,b=i;continue}return f}}}return[0]}H(0);H(0);H(0);var
+eR=0.,eS=1.;function
+aQ(a){return[0,0,0]}function
+aR(a){a[1]=0;a[2]=0;return 0}function
+av(b,a){a[1]=[0,b,a[1]];a[2]=a[2]+1|0;return 0}function
+aC(a){var
+b=a[1];if(b){var
+c=b[1];a[1]=b[2];a[2]=a[2]-1|0;return[0,c]}return 0}function
+aD(b){var
+a=b[1];return a?[0,a[1]]:0}var
+eU=[p,eT,H(0)];function
+by(a){a[1]=0;a[2]=0;a[3]=0;return 0}function
+cu(d,a){var
+b=[0,d,0],c=a[3];return c?(a[1]=a[1]+1|0,c[2]=b,a[3]=b,0):(a[1]=1,a[2]=b,a[3]=b,0)}var
+eW=[p,eV,H(0)];function
+eX(a){throw eW}function
+eY(a){var
+d=a[1];a[1]=eX;try{var
+b=c(d,0);iT(a,b);return b}catch(b){b=_(b);a[1]=function(a){throw b};throw b}}function
+bz(a){var
+b=1<=a?a:1,c=aO<b?aO:b,d=v(c);return[0,d,0,c,d]}function
+bA(a){return bu(a[1],0,a[2])}function
+bB(a,c){var
+d=a[2],b=[0,a[3]];for(;;){if(b[1]<(d+c|0)){b[1]=2*b[1]|0;continue}if(aO<b[1])if((d+c|0)<=aO)b[1]=aO;else
+ci(e2);var
+e=v(b[1]);cr(a[1],0,e,0,a[2]);a[1]=e;a[3]=b[1];if((a[2]+c|0)<=a[3]){if((d+c|0)<=a[3])return 0;throw[0,j,e0]}throw[0,j,e1]}}function
+aS(a,c){var
+b=i(c),d=a[2]+b|0;if(a[3]<d)bB(a,b);aq(c,0,a[1],a[2],b);a[2]=d;return 0}function
+bC(a){return 5===a[2]?12:-6}function
+cv(a){return[0,0,v(a)]}function
+cw(a,g){var
+b=M(a[2]),c=a[1]+g|0,d=b<c?1:0;if(d){var
+e=v(ck(b*2|0,c));cr(a[2],0,e,0,b);a[2]=e;var
+f=0}else
+var
+f=d;return f}function
+aE(a,b){cw(a,1);aA(a[2],a[1],b);a[1]=a[1]+1|0;return 0}function
+B(a,c){var
+b=i(c);cw(a,b);aa(c,0,a[2],a[1],b);a[1]=a[1]+b|0;return 0}function
+cx(a){return bu(a[2],0,a[1])}function
+bD(b,c){var
+a=c;for(;;)if(typeof
+a==="number")return 0;else
+switch(a[0]){case
+0:var
+d=a[1];B(b,fa);var
+a=d;continue;case
+1:var
+e=a[1];B(b,fb);var
+a=e;continue;case
+2:var
+f=a[1];B(b,fc);var
+a=f;continue;case
+3:var
+g=a[1];B(b,fd);var
+a=g;continue;case
+4:var
+h=a[1];B(b,fe);var
+a=h;continue;case
+5:var
+i=a[1];B(b,ff);var
+a=i;continue;case
+6:var
+j=a[1];B(b,fg);var
+a=j;continue;case
+7:var
+k=a[1];B(b,fh);var
+a=k;continue;case
+8:var
+l=a[2],m=a[1];B(b,fi);bD(b,m);B(b,fj);var
+a=l;continue;case
+9:var
+n=a[3],o=a[1];B(b,fk);bD(b,o);B(b,fl);var
+a=n;continue;case
+10:var
+p=a[1];B(b,fm);var
+a=p;continue;case
+11:var
+q=a[1];B(b,fn);var
+a=q;continue;case
+12:var
+r=a[1];B(b,fo);var
+a=r;continue;case
+13:var
+s=a[1];B(b,fp);var
+a=s;continue;default:var
+t=a[1];B(b,fq);var
+a=t;continue}}function
+s(a){if(typeof
+a==="number")return 0;else
+switch(a[0]){case
+0:return[0,s(a[1])];case
+1:return[1,s(a[1])];case
+2:return[2,s(a[1])];case
+3:return[3,s(a[1])];case
+4:return[4,s(a[1])];case
+5:return[5,s(a[1])];case
+6:return[6,s(a[1])];case
+7:return[7,s(a[1])];case
+8:var
+b=a[1];return[8,b,s(a[2])];case
+9:var
+c=a[2],d=a[1];return[9,c,d,s(a[3])];case
+10:return[10,s(a[1])];case
+11:return[11,s(a[1])];case
+12:return[12,s(a[1])];case
+13:return[13,s(a[1])];default:return[14,s(a[1])]}}function
+C(a){if(typeof
+a==="number"){var
+u=function(a){return 0},v=function(a){return 0},w=function(a){return 0};return[0,function(a){return 0},w,v,u]}else
+switch(a[0]){case
+0:var
+b=C(a[1]),x=b[4],y=b[3],z=b[2],A=b[1],B=function(a){c(z,0);return 0};return[0,function(a){c(A,0);return 0},B,y,x];case
+1:var
+d=C(a[1]),D=d[4],E=d[3],F=d[2],G=d[1],H=function(a){c(F,0);return 0};return[0,function(a){c(G,0);return 0},H,E,D];case
+2:var
+e=C(a[1]),I=e[4],J=e[3],K=e[2],L=e[1],M=function(a){c(K,0);return 0};return[0,function(a){c(L,0);return 0},M,J,I];case
+3:var
+f=C(a[1]),N=f[4],O=f[3],P=f[2],Q=f[1],R=function(a){c(P,0);return 0};return[0,function(a){c(Q,0);return 0},R,O,N];case
+4:var
+g=C(a[1]),S=g[4],T=g[3],U=g[2],V=g[1],W=function(a){c(U,0);return 0};return[0,function(a){c(V,0);return 0},W,T,S];case
+5:var
+h=C(a[1]),X=h[4],Y=h[3],Z=h[2],_=h[1],$=function(a){c(Z,0);return 0};return[0,function(a){c(_,0);return 0},$,Y,X];case
+6:var
+i=C(a[1]),aa=i[4],ab=i[3],ac=i[2],ad=i[1],ae=function(a){c(ac,0);return 0};return[0,function(a){c(ad,0);return 0},ae,ab,aa];case
+7:var
+j=C(a[1]),af=j[4],ag=j[3],ah=j[2],ai=j[1],aj=function(a){c(ah,0);return 0};return[0,function(a){c(ai,0);return 0},aj,ag,af];case
+8:var
+k=C(a[2]),ak=k[4],al=k[3],am=k[2],an=k[1],ao=function(a){c(am,0);return 0};return[0,function(a){c(an,0);return 0},ao,al,ak];case
+9:var
+ap=a[2],aq=a[1],l=C(a[3]),ar=l[4],as=l[3],at=l[2],au=l[1],m=C(t(s(aq),ap)),av=m[4],aw=m[3],ax=m[2],ay=m[1],az=function(a){c(av,0);c(ar,0);return 0},aA=function(a){c(as,0);c(aw,0);return 0},aB=function(a){c(ax,0);c(at,0);return 0};return[0,function(a){c(au,0);c(ay,0);return 0},aB,aA,az];case
+10:var
+n=C(a[1]),aC=n[4],aD=n[3],aE=n[2],aF=n[1],aG=function(a){c(aE,0);return 0};return[0,function(a){c(aF,0);return 0},aG,aD,aC];case
+11:var
+o=C(a[1]),aH=o[4],aI=o[3],aJ=o[2],aK=o[1],aL=function(a){c(aJ,0);return 0};return[0,function(a){c(aK,0);return 0},aL,aI,aH];case
+12:var
+p=C(a[1]),aM=p[4],aN=p[3],aO=p[2],aP=p[1],aQ=function(a){c(aO,0);return 0};return[0,function(a){c(aP,0);return 0},aQ,aN,aM];case
+13:var
+q=C(a[1]),aR=q[4],aS=q[3],aT=q[2],aU=q[1],aV=function(a){c(aR,0);return 0},aW=function(a){c(aS,0);return 0},aX=function(a){c(aT,0);return 0};return[0,function(a){c(aU,0);return 0},aX,aW,aV];default:var
+r=C(a[1]),aY=r[4],aZ=r[3],a0=r[2],a1=r[1],a2=function(a){c(aY,0);return 0},a3=function(a){c(aZ,0);return 0},a4=function(a){c(a0,0);return 0};return[0,function(a){c(a1,0);return 0},a4,a3,a2]}}function
+t(d,b){var
+a=0;if(typeof
+d==="number")if(typeof
+b==="number")return 0;else
+switch(b[0]){case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;case
+8:a=5;break;case
+9:a=6;break;default:throw[0,j,fr]}else
+switch(d[0]){case
+0:var
+e=0,w=d[1];if(typeof
+b!=="number")switch(b[0]){case
+0:return[0,t(w,b[1])];case
+8:a=5;e=1;break;case
+9:a=6;e=1;break;case
+10:e=1;break;case
+11:a=1;e=1;break;case
+12:a=2;e=1;break;case
+13:a=3;e=1;break;case
+14:a=4;e=1;break}if(!e)a=7;break;case
+1:var
+f=0,x=d[1];if(typeof
+b!=="number")switch(b[0]){case
+1:return[1,t(x,b[1])];case
+8:a=5;f=1;break;case
+9:a=6;f=1;break;case
+10:f=1;break;case
+11:a=1;f=1;break;case
+12:a=2;f=1;break;case
+13:a=3;f=1;break;case
+14:a=4;f=1;break}if(!f)a=7;break;case
+2:var
+g=0,y=d[1];if(typeof
+b==="number")g=1;else
+switch(b[0]){case
+2:return[2,t(y,b[1])];case
+8:a=5;break;case
+9:a=6;break;case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:g=1}if(g)a=7;break;case
+3:var
+h=0,z=d[1];if(typeof
+b==="number")h=1;else
+switch(b[0]){case
+3:return[3,t(z,b[1])];case
+8:a=5;break;case
+9:a=6;break;case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:h=1}if(h)a=7;break;case
+4:var
+i=0,A=d[1];if(typeof
+b==="number")i=1;else
+switch(b[0]){case
+4:return[4,t(A,b[1])];case
+8:a=5;break;case
+9:a=6;break;case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:i=1}if(i)a=7;break;case
+5:var
+k=0,B=d[1];if(typeof
+b==="number")k=1;else
+switch(b[0]){case
+5:return[5,t(B,b[1])];case
+8:a=5;break;case
+9:a=6;break;case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:k=1}if(k)a=7;break;case
+6:var
+l=0,D=d[1];if(typeof
+b==="number")l=1;else
+switch(b[0]){case
+6:return[6,t(D,b[1])];case
+8:a=5;break;case
+9:a=6;break;case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:l=1}if(l)a=7;break;case
+7:var
+m=0,E=d[1];if(typeof
+b==="number")m=1;else
+switch(b[0]){case
+7:return[7,t(E,b[1])];case
+8:a=5;break;case
+9:a=6;break;case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:m=1}if(m)a=7;break;case
+8:var
+n=0,F=d[2],G=d[1];if(typeof
+b==="number")n=1;else
+switch(b[0]){case
+8:var
+H=b[1],I=t(F,b[2]);return[8,t(G,H),I];case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:n=1}if(n)throw[0,j,fA];break;case
+9:var
+o=0,J=d[3],K=d[2],L=d[1];if(typeof
+b==="number")o=1;else
+switch(b[0]){case
+8:a=5;break;case
+9:var
+M=b[3],N=b[2],O=b[1],v=C(t(s(K),O)),P=v[4];c(v[2],0);c(P,0);return[9,L,N,t(J,M)];case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:a=4;break;default:o=1}if(o)throw[0,j,fB];break;case
+10:var
+Q=d[1];if(typeof
+b!=="number"&&10===b[0])return[10,t(Q,b[1])];throw[0,j,fC];case
+11:var
+p=0,R=d[1];if(typeof
+b==="number")p=1;else
+switch(b[0]){case
+10:break;case
+11:return[11,t(R,b[1])];default:p=1}if(p)throw[0,j,fD];break;case
+12:var
+q=0,S=d[1];if(typeof
+b==="number")q=1;else
+switch(b[0]){case
+10:break;case
+11:a=1;break;case
+12:return[12,t(S,b[1])];default:q=1}if(q)throw[0,j,fE];break;case
+13:var
+r=0,T=d[1];if(typeof
+b==="number")r=1;else
+switch(b[0]){case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:return[13,t(T,b[1])];default:r=1}if(r)throw[0,j,fF];break;default:var
+u=0,U=d[1];if(typeof
+b==="number")u=1;else
+switch(b[0]){case
+10:break;case
+11:a=1;break;case
+12:a=2;break;case
+13:a=3;break;case
+14:return[14,t(U,b[1])];default:u=1}if(u)throw[0,j,fG]}switch(a){case
+0:throw[0,j,fu];case
+1:throw[0,j,fv];case
+2:throw[0,j,fw];case
+3:throw[0,j,fx];case
+4:throw[0,j,fy];case
+5:throw[0,j,fs];case
+6:throw[0,j,ft];default:throw[0,j,fz]}}var
+y=[p,fH,H(0)];function
+a$(b,a){if(typeof
+b==="number")return[0,0,a];else{if(0===b[0])return[0,[0,b[1],b[2]],a];if(typeof
+a!=="number"&&2===a[0])return[0,[1,b[1]],a[1]];throw y}}function
+aT(e,b,d){var
+a=a$(e,d);if(typeof
+b==="number"){if(b){var
+c=a[2];if(typeof
+c!=="number"&&2===c[0])return[0,a[1],1,c[1]];throw y}return[0,a[1],0,a[2]]}return[0,a[1],[0,b[1]],a[2]]}function
+G(b,d,a){if(typeof
+b==="number")return[0,0,l(d,a)];else
+switch(b[0]){case
+0:if(typeof
+a!=="number"&&0===a[0]){var
+g=G(b[1],d,a[1]);return[0,[0,g[1]],g[2]]}break;case
+1:if(typeof
+a!=="number"&&1===a[0]){var
+h=G(b[1],d,a[1]);return[0,[1,h[1]],h[2]]}break;case
+2:if(typeof
+a!=="number"&&2===a[0]){var
+i=G(b[1],d,a[1]);return[0,[2,i[1]],i[2]]}break;case
+3:if(typeof
+a!=="number"&&3===a[0]){var
+j=G(b[1],d,a[1]);return[0,[3,j[1]],j[2]]}break;case
+4:if(typeof
+a!=="number"&&4===a[0]){var
+k=G(b[1],d,a[1]);return[0,[4,k[1]],k[2]]}break;case
+5:if(typeof
+a!=="number"&&5===a[0]){var
+m=G(b[1],d,a[1]);return[0,[5,m[1]],m[2]]}break;case
+6:if(typeof
+a!=="number"&&6===a[0]){var
+n=G(b[1],d,a[1]);return[0,[6,n[1]],n[2]]}break;case
+7:if(typeof
+a!=="number"&&7===a[0]){var
+p=G(b[1],d,a[1]);return[0,[7,p[1]],p[2]]}break;case
+8:if(typeof
+a!=="number"&&8===a[0]){var
+q=a[1],B=a[2],D=b[2];if(a8([0,b[1]],[0,q]))throw y;var
+r=G(D,d,B);return[0,[8,q,r[1]],r[2]]}break;case
+9:if(typeof
+a!=="number"&&9===a[0]){var
+e=a[2],f=a[1],E=a[3],F=b[3],H=b[2],I=b[1],J=[0,o(f)];if(a8([0,o(I)],J))throw y;var
+K=[0,o(e)];if(a8([0,o(H)],K))throw y;var
+u=C(t(s(f),e)),L=u[4];c(u[2],0);c(L,0);var
+v=G(o(F),d,E),M=v[2];return[0,[9,f,e,s(v[1])],M]}break;case
+10:if(typeof
+a!=="number"&&10===a[0]){var
+w=G(b[1],d,a[1]);return[0,[10,w[1]],w[2]]}break;case
+11:if(typeof
+a!=="number"&&11===a[0]){var
+x=G(b[1],d,a[1]);return[0,[11,x[1]],x[2]]}break;case
+13:if(typeof
+a!=="number"&&13===a[0]){var
+z=G(b[1],d,a[1]);return[0,[13,z[1]],z[2]]}break;case
+14:if(typeof
+a!=="number"&&14===a[0]){var
+A=G(b[1],d,a[1]);return[0,[14,A[1]],A[2]]}break}throw y}function
+l(b,a){if(typeof
+b==="number")return[0,0,a];else
+switch(b[0]){case
+0:if(typeof
+a!=="number"&&0===a[0]){var
+u=l(b[1],a[1]);return[0,[0,u[1]],u[2]]}break;case
+1:if(typeof
+a!=="number"&&0===a[0]){var
+v=l(b[1],a[1]);return[0,[1,v[1]],v[2]]}break;case
+2:var
+af=b[2],w=a$(b[1],a),e=w[2],ag=w[1];if(typeof
+e!=="number"&&1===e[0]){var
+x=l(af,e[1]);return[0,[2,ag,x[1]],x[2]]}throw y;case
+3:var
+ah=b[2],z=a$(b[1],a),f=z[2],ai=z[1];if(typeof
+f!=="number"&&1===f[0]){var
+A=l(ah,f[1]);return[0,[3,ai,A[1]],A[2]]}throw y;case
+4:var
+aj=b[4],ak=b[1],g=aT(b[2],b[3],a),h=g[3],al=g[1];if(typeof
+h!=="number"&&2===h[0]){var
+am=g[2],B=l(aj,h[1]);return[0,[4,ak,al,am,B[1]],B[2]]}throw y;case
+5:var
+an=b[4],ao=b[1],i=aT(b[2],b[3],a),j=i[3],ap=i[1];if(typeof
+j!=="number"&&3===j[0]){var
+aq=i[2],C=l(an,j[1]);return[0,[5,ao,ap,aq,C[1]],C[2]]}throw y;case
+6:var
+ar=b[4],as=b[1],k=aT(b[2],b[3],a),m=k[3],at=k[1];if(typeof
+m!=="number"&&4===m[0]){var
+au=k[2],D=l(ar,m[1]);return[0,[6,as,at,au,D[1]],D[2]]}throw y;case
+7:var
+av=b[4],aw=b[1],n=aT(b[2],b[3],a),p=n[3],ax=n[1];if(typeof
+p!=="number"&&5===p[0]){var
+ay=n[2],E=l(av,p[1]);return[0,[7,aw,ax,ay,E[1]],E[2]]}throw y;case
+8:var
+az=b[4],aA=b[1],q=aT(b[2],b[3],a),r=q[3],aB=q[1];if(typeof
+r!=="number"&&6===r[0]){var
+aC=q[2],F=l(az,r[1]);return[0,[8,aA,aB,aC,F[1]],F[2]]}throw y;case
+9:var
+aD=b[2],H=a$(b[1],a),s=H[2],aE=H[1];if(typeof
+s!=="number"&&7===s[0]){var
+I=l(aD,s[1]);return[0,[9,aE,I[1]],I[2]]}throw y;case
+10:var
+K=l(b[1],a);return[0,[10,K[1]],K[2]];case
+11:var
+aF=b[1],L=l(b[2],a);return[0,[11,aF,L[1]],L[2]];case
+12:var
+aG=b[1],M=l(b[2],a);return[0,[12,aG,M[1]],M[2]];case
+13:if(typeof
+a!=="number"&&8===a[0]){var
+N=a[1],aH=a[2],aI=b[3],aJ=b[1];if(a8([0,b[2]],[0,N]))throw y;var
+O=l(aI,aH);return[0,[13,aJ,N,O[1]],O[2]]}break;case
+14:if(typeof
+a!=="number"&&9===a[0]){var
+P=a[1],aK=a[3],aL=b[3],aM=b[2],aN=b[1],aO=[0,o(P)];if(a8([0,o(aM)],aO))throw y;var
+Q=l(aL,o(aK));return[0,[14,aN,P,Q[1]],Q[2]]}break;case
+15:if(typeof
+a!=="number"&&10===a[0]){var
+R=l(b[1],a[1]);return[0,[15,R[1]],R[2]]}break;case
+16:if(typeof
+a!=="number"&&11===a[0]){var
+S=l(b[1],a[1]);return[0,[16,S[1]],S[2]]}break;case
+17:var
+aP=b[1],T=l(b[2],a);return[0,[17,aP,T[1]],T[2]];case
+18:var
+U=b[2],t=b[1];if(0===t[0]){var
+Y=t[1],aU=Y[2],Z=l(Y[1],a),aV=Z[1],_=l(U,Z[2]);return[0,[18,[0,[0,aV,aU]],_[1]],_[2]]}var
+$=t[1],aW=$[2],aa=l($[1],a),aX=aa[1],ab=l(U,aa[2]);return[0,[18,[1,[0,aX,aW]],ab[1]],ab[2]];case
+19:if(typeof
+a!=="number"&&13===a[0]){var
+V=l(b[1],a[1]);return[0,[19,V[1]],V[2]]}break;case
+20:if(typeof
+a!=="number"&&1===a[0]){var
+aQ=b[2],aR=b[1],W=l(b[3],a[1]);return[0,[20,aR,aQ,W[1]],W[2]]}break;case
+21:if(typeof
+a!=="number"&&2===a[0]){var
+aS=b[1],X=l(b[2],a[1]);return[0,[21,aS,X[1]],X[2]]}break;case
+23:var
+d=b[2],c=b[1];if(typeof
+c==="number")switch(c){case
+0:return J(c,d,a);case
+1:return J(c,d,a);case
+2:if(typeof
+a!=="number"&&14===a[0]){var
+ac=l(d,a[1]);return[0,[23,2,ac[1]],ac[2]]}throw y;default:return J(c,d,a)}else
+switch(c[0]){case
+0:return J(c,d,a);case
+1:return J(c,d,a);case
+2:return J(c,d,a);case
+3:return J(c,d,a);case
+4:return J(c,d,a);case
+5:return J(c,d,a);case
+6:return J(c,d,a);case
+7:return J(c,d,a);case
+8:return J([8,c[1],c[2]],d,a);case
+9:var
+aY=c[1],ad=G(c[2],d,a),ae=ad[2];return[0,[23,[9,aY,ad[1]],ae[1]],ae[2]];case
+10:return J(c,d,a);default:return J(c,d,a)}}throw y}function
+J(d,c,b){var
+a=l(c,b);return[0,[23,d,a[1]],a[2]]}function
+K(l,g,a){var
+b=i(a),h=0<=g?l:0,d=br(g);if(d<=b)return a;var
+m=2===h?48:32,c=au(d,m);switch(h){case
+0:aa(a,0,c,0,b);break;case
+1:aa(a,0,c,d-b|0,b);break;default:var
+e=0;if(0<b){var
+j=0;if(43!==x(a,0)&&45!==x(a,0)&&32!==x(a,0)){e=1;j=1}if(!j){aA(c,0,x(a,0));aa(a,1,c,(d-b|0)+1|0,b-1|0)}}else
+e=1;if(e){var
+f=0;if(1<b&&48===x(a,0)){var
+k=0;if(dg!==x(a,1)&&88!==x(a,1)){f=1;k=1}if(!k){aA(c,1,x(a,1));aa(a,2,c,(d-b|0)+2|0,b-2|0)}}else
+f=1;if(f)aa(a,0,c,d-b|0,b)}}return F(c)}function
+aF(l,b){var
+c=br(l),a=i(b),d=x(b,0),e=0;if(58<=d){if(71<=d){if(!(5<(d+c_|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<a){var
+k=0;if(dg===x(b,1)||88===x(b,1))k=1;if(k){var
+h=au(c+2|0,48);aA(h,1,x(b,1));aa(b,2,h,(c-a|0)+4|0,a-2|0);return F(h)}}e=1;f=1;break;case
+0:case
+2:break;case
+1:case
+3:case
+4:f=1;break;default:e=1;f=1}else
+f=1;if(!f&&a<(c+1|0)){var
+g=au(c+1|0,48);aA(g,0,d);aa(b,1,g,(c-a|0)+2|0,a-1|0);return F(g)}}if(e&&a<c){var
+j=au(c,48);aa(b,0,j,c-a|0,a);return F(j)}return b}function
+fI(l){var
+k=0,G=i(l);for(;;){if(G<=k)var
+p=l;else{var
+o=T(l,k)+dA|0,r=0;if(59<o>>>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=ah(l),a=[0,0],w=M(e)-1|0,B=0;if(!(w<0)){var
+j=B;for(;;){var
+f=a3(e,j),g=0;if(32<=f){var
+m=f-34|0,s=0;if(58<m>>>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);ap(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=a3(e,h),d=0;if(35<=c)if(92===c)d=2;else
+if(b2<=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:q(b,a[1],92);a[1]++;q(b,a[1],98);break;case
+9:q(b,a[1],92);a[1]++;q(b,a[1],116);break;case
+10:q(b,a[1],92);a[1]++;q(b,a[1],110);break;case
+13:q(b,a[1],92);a[1]++;q(b,a[1],114);break;default:d=1}switch(d){case
+1:q(b,a[1],92);a[1]++;q(b,a[1],48+(c/dd|0)|0);a[1]++;q(b,a[1],48+((c/10|0)%10|0)|0);a[1]++;q(b,a[1],48+(c%10|0)|0);break;case
+2:q(b,a[1],92);a[1]++;q(b,a[1],c);break;case
+3:q(b,a[1],c);break}a[1]++;var
+D=h+1|0;if(x!==h){var
+h=D;continue}break}}var
+y=b}var
+p=F(y)}var
+z=i(p),A=au(z+2|0,34);aq(p,0,A,1,z);return F(A)}}function
+cy(d,g){var
+h=br(g),f=cz?cz[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=dh;break;case
+4:var
+b=71;break;case
+5:var
+b=f;break;case
+6:var
+b=104;break;case
+7:var
+b=72;break;default:var
+b=70}var
+c=cv(16);aE(c,37);switch(d[1]){case
+0:break;case
+1:aE(c,43);break;default:aE(c,32)}if(8<=d[2])aE(c,35);aE(c,46);B(c,a(e+h));aE(c,b);return cx(c)}function
+ba(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<(T(a,c)+dp|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){aA(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=T(a,b);if(9<(f+dp|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
+gx(b,c){switch(b){case
+1:var
+a=fK;break;case
+2:var
+a=fL;break;case
+4:var
+a=fN;break;case
+5:var
+a=fO;break;case
+6:var
+a=fP;break;case
+7:var
+a=fQ;break;case
+8:var
+a=fR;break;case
+9:var
+a=fS;break;case
+10:var
+a=fT;break;case
+11:var
+a=fU;break;case
+0:case
+13:var
+a=fJ;break;case
+3:case
+14:var
+a=fM;break;default:var
+a=fV}return ba(b,bj(a,c))}function
+gy(b,c){switch(b){case
+1:var
+a=f_;break;case
+2:var
+a=f$;break;case
+4:var
+a=gb;break;case
+5:var
+a=gc;break;case
+6:var
+a=gd;break;case
+7:var
+a=ge;break;case
+8:var
+a=gf;break;case
+9:var
+a=gg;break;case
+10:var
+a=gh;break;case
+11:var
+a=gi;break;case
+0:case
+13:var
+a=f9;break;case
+3:case
+14:var
+a=ga;break;default:var
+a=gj}return ba(b,bj(a,c))}function
+gz(b,c){switch(b){case
+1:var
+a=gl;break;case
+2:var
+a=gm;break;case
+4:var
+a=go;break;case
+5:var
+a=gp;break;case
+6:var
+a=gq;break;case
+7:var
+a=gr;break;case
+8:var
+a=gs;break;case
+9:var
+a=gt;break;case
+10:var
+a=gu;break;case
+11:var
+a=gv;break;case
+0:case
+13:var
+a=gk;break;case
+3:case
+14:var
+a=gn;break;default:var
+a=gw}return ba(b,bj(a,c))}function
+gA(b,c){switch(b){case
+1:var
+a=fX;break;case
+2:var
+a=fY;break;case
+4:var
+a=f0;break;case
+5:var
+a=f1;break;case
+6:var
+a=f2;break;case
+7:var
+a=f3;break;case
+8:var
+a=f4;break;case
+9:var
+a=f5;break;case
+10:var
+a=f6;break;case
+11:var
+a=f7;break;case
+0:case
+13:var
+a=fW;break;case
+3:case
+14:var
+a=fZ;break;default:var
+a=f8}return ba(b,iw(a,c))}function
+ab(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 is(b,j,a)}function
+t(c){var
+a=il(b);return 3===a?b<0.?gC:gD:4<=a?gE:c}switch(d[2]){case
+5:var
+f=ea(cy(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<l>>>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:at(f,gB);return t(A)}case
+6:return k(0);case
+7:var
+h=ah(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=a3(h,a),u=0;if(97<=c&&!(dT<c)){var
+p=c+dA|0;u=1}if(!u)var
+p=c;q(n,a,p);var
+y=a+1|0;if(o!==a){var
+a=y;continue}break}}var
+r=n}return F(r);case
+8:return t(k(0));default:return ea(cy(d,j),b)}}function
+aZ(e,M,L,J){var
+b=M,a=L,d=J;for(;;)if(typeof
+d==="number")return c(b,a);else
+switch(d[0]){case
+0:var
+N=d[1];return function(c){return h(b,[5,a,c],N)};case
+1:var
+O=d[1];return function(c){var
+e=0;if(40<=c)if(92===c)var
+d=ey;else
+if(b2<=c)e=1;else
+e=2;else
+if(32<=c)if(39<=c)var
+d=ez;else
+e=2;else
+if(14<=c)e=1;else
+switch(c){case
+8:var
+d=eA;break;case
+9:var
+d=eB;break;case
+10:var
+d=eC;break;case
+13:var
+d=eD;break;default:e=1}switch(e){case
+1:var
+f=v(4);q(f,0,92);q(f,1,48+(c/dd|0)|0);q(f,2,48+((c/10|0)%10|0)|0);q(f,3,48+(c%10|0)|0);var
+d=F(f);break;case
+2:var
+g=v(1);q(g,0,c);var
+d=F(g);break}var
+j=i(d),k=au(j+2|0,39);aq(d,0,k,1,j);return h(b,[4,a,F(k)],O)};case
+2:var
+P=d[2],Q=d[1];return bE(b,a,P,Q,function(a){return a});case
+3:return bE(b,a,d[2],d[1],fI);case
+4:return bb(b,a,d[4],d[2],d[3],gx,d[1]);case
+5:return bb(b,a,d[4],d[2],d[3],gy,d[1]);case
+6:return bb(b,a,d[4],d[2],d[3],gz,d[1]);case
+7:return bb(b,a,d[4],d[2],d[3],gA,d[1]);case
+8:var
+p=d[4],r=d[3],t=d[2],n=d[1];if(typeof
+t==="number"){if(typeof
+r==="number")return r?function(d,c){return h(b,[4,a,ab(n,d,c)],p)}:function(c){return h(b,[4,a,ab(n,bC(n),c)],p)};var
+ag=r[1];return function(c){return h(b,[4,a,ab(n,ag,c)],p)}}else{if(0===t[0]){var
+x=t[2],z=t[1];if(typeof
+r==="number")return r?function(d,c){return h(b,[4,a,K(z,x,ab(n,d,c))],p)}:function(c){return h(b,[4,a,K(z,x,ab(n,bC(n),c))],p)};var
+ah=r[1];return function(c){return h(b,[4,a,K(z,x,ab(n,ah,c))],p)}}var
+B=t[1];if(typeof
+r==="number")return r?function(e,d,c){return h(b,[4,a,K(B,e,ab(n,d,c))],p)}:function(d,c){return h(b,[4,a,K(B,d,ab(n,bC(n),c))],p)};var
+ai=r[1];return function(d,c){return h(b,[4,a,K(B,d,ab(n,ai,c))],p)}}case
+9:return bE(b,a,d[2],d[1],er);case
+10:var
+a=[7,a],d=d[1];continue;case
+11:var
+a=[2,a,d[1]],d=d[2];continue;case
+12:var
+a=[3,a,d[1]],d=d[2];continue;case
+13:var
+R=d[3],S=d[2],C=cv(16);bD(C,S);var
+I=cx(C);return function(c){return h(b,[4,a,I],R)};case
+14:var
+T=d[3],U=d[2];return function(d){var
+e=d[1],c=l(e,o(s(U)));if(typeof
+c[2]==="number")return h(b,a,m(c[1],T));throw y};case
+15:var
+V=d[1];return function(d,c){return h(b,[6,a,function(a){return g(d,a,c)}],V)};case
+16:var
+W=d[1];return function(c){return h(b,[6,a,c],W)};case
+17:var
+a=[0,a,d[1]],d=d[2];continue;case
+18:var
+w=d[1];if(0===w[0]){var
+X=d[2],Y=w[1][1],Z=0,b=function(b,c,d){return function(a){return h(c,[1,b,[0,a]],d)}}(a,b,X),a=Z,d=Y;continue}var
+_=d[2],$=w[1][1],aa=0,b=function(b,c,d){return function(a){return h(c,[1,b,[1,a]],d)}}(a,b,_),a=aa,d=$;continue;case
+19:throw[0,j,gG];case
+20:var
+ac=d[3],ad=[8,a,gH];return function(a){return h(b,ad,ac)};case
+21:var
+ae=d[2];return function(c){return h(b,[4,a,bj(gI,c)],ae)};case
+22:var
+af=d[1];return function(c){return h(b,[5,a,c],af)};case
+23:var
+f=d[2],u=d[1];if(typeof
+u==="number")switch(u){case
+0:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+1:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+2:throw[0,j,gJ];default:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f])}else
+switch(u[0]){case
+0:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+1:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+2:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+3:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+4:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+5:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+6:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+7:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+8:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);case
+9:var
+H=u[2];return e<50?bP(e+1|0,b,a,H,f):A(bP,[0,b,a,H,f]);case
+10:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f]);default:return e<50?k(e+1|0,b,a,f):A(k,[0,b,a,f])}default:var
+D=d[3],E=d[1],G=c(d[2],0);return e<50?bO(e+1|0,b,a,D,E,G):A(bO,[0,b,a,D,E,G])}}function
+bP(e,d,c,a,b){if(typeof
+a==="number")return e<50?k(e+1|0,d,c,b):A(k,[0,d,c,b]);else
+switch(a[0]){case
+0:var
+f=a[1];return function(a){return N(d,c,f,b)};case
+1:var
+g=a[1];return function(a){return N(d,c,g,b)};case
+2:var
+h=a[1];return function(a){return N(d,c,h,b)};case
+3:var
+i=a[1];return function(a){return N(d,c,i,b)};case
+4:var
+l=a[1];return function(a){return N(d,c,l,b)};case
+5:var
+m=a[1];return function(a){return N(d,c,m,b)};case
+6:var
+n=a[1];return function(a){return N(d,c,n,b)};case
+7:var
+o=a[1];return function(a){return N(d,c,o,b)};case
+8:var
+p=a[2];return function(a){return N(d,c,p,b)};case
+9:var
+q=a[3],r=a[2],u=t(s(a[1]),r);return function(a){return N(d,c,D(u,q),b)};case
+10:var
+v=a[1];return function(e,a){return N(d,c,v,b)};case
+11:var
+w=a[1];return function(a){return N(d,c,w,b)};case
+12:var
+x=a[1];return function(a){return N(d,c,x,b)};case
+13:throw[0,j,gK];default:throw[0,j,gL]}}function
+k(d,b,e,a){var
+c=[8,e,gM];return d<50?aZ(d+1|0,b,c,a):A(aZ,[0,b,c,a])}function
+bO(h,b,f,a,e,d){if(e){var
+i=e[1];return function(e){return gF(b,f,a,i,c(d,e))}}var
+g=[4,f,d];return h<50?aZ(h+1|0,b,g,a):A(aZ,[0,b,g,a])}function
+h(a,b,c){return cf(aZ(0,a,b,c))}function
+N(a,b,c,d){return cf(bP(0,a,b,c,d))}function
+gF(a,b,c,d,e){return cf(bO(0,a,b,c,d,e))}function
+bE(f,e,d,a,b){if(typeof
+a==="number")return function(a){return h(f,[4,e,c(b,a)],d)};else{if(0===a[0]){var
+g=a[2],i=a[1];return function(a){return h(f,[4,e,K(i,g,c(b,a))],d)}}var
+j=a[1];return function(g,a){return h(f,[4,e,K(j,g,c(b,a))],d)}}}function
+bb(f,e,d,i,c,b,a){if(typeof
+i==="number"){if(typeof
+c==="number")return c?function(i,c){return h(f,[4,e,aF(i,g(b,a,c))],d)}:function(c){return h(f,[4,e,g(b,a,c)],d)};var
+m=c[1];return function(c){return h(f,[4,e,aF(m,g(b,a,c))],d)}}else{if(0===i[0]){var
+j=i[2],k=i[1];if(typeof
+c==="number")return c?function(i,c){return h(f,[4,e,K(k,j,aF(i,g(b,a,c)))],d)}:function(c){return h(f,[4,e,K(k,j,g(b,a,c))],d)};var
+n=c[1];return function(c){return h(f,[4,e,K(k,j,aF(n,g(b,a,c)))],d)}}var
+l=i[1];if(typeof
+c==="number")return c?function(j,i,c){return h(f,[4,e,K(l,j,aF(i,g(b,a,c)))],d)}:function(i,c){return h(f,[4,e,K(l,i,g(b,a,c))],d)};var
+o=c[1];return function(i,c){return h(f,[4,e,K(l,i,aF(o,g(b,a,c)))],d)}}}function
+am(b,i){var
+a=i;for(;;)if(typeof
+a==="number")return 0;else
+switch(a[0]){case
+0:var
+e=a[2],j=a[1];if(typeof
+e==="number")switch(e){case
+0:var
+d=e4;break;case
+1:var
+d=e5;break;case
+2:var
+d=e6;break;case
+3:var
+d=e7;break;case
+4:var
+d=e8;break;case
+5:var
+d=e9;break;default:var
+d=e_}else
+switch(e[0]){case
+0:var
+d=e[1];break;case
+1:var
+d=e[1];break;default:var
+d=at(e$,a_(1,e[1]))}am(b,j);return aS(b,d);case
+1:var
+g=a[2],h=a[1];if(0===g[0]){var
+k=g[1];am(b,h);aS(b,gN);var
+a=k;continue}var
+l=g[1];am(b,h);aS(b,gO);var
+a=l;continue;case
+6:var
+o=a[2];am(b,a[1]);return aS(b,c(o,0));case
+7:var
+a=a[1];continue;case
+8:var
+p=a[2];am(b,a[1]);return I(p);case
+2:case
+4:var
+m=a[2];am(b,a[1]);return aS(b,m);default:var
+n=a[2];am(b,a[1]);var
+f=b[2];if(b[3]<=f)bB(b,1);q(b[1],f,n);b[2]=f+1|0;return 0}}var
+cA=[0,0];function
+gP(a){if(en(a,gQ))return gR;var
+e=i(a);function
+g(e){var
+d=gS[1],b=bz(bT);return c(h(function(a){am(b,a);return ci(bA(b))},0,d),a)}function
+j(d){var
+b=d;for(;;){if(b===e)return b;var
+c=x(a,b);if(9!==c&&32!==c)return b;var
+b=b+1|0;continue}}function
+p(d,c){var
+b=c;for(;;){if(b===e)return b;if(25<(x(a,b)+c_|0)>>>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),b=cs(a,f,m-f|0),d=j(m),k=q(d,d);if(d===k)var
+l=0;else
+try{var
+r=iG(cs(a,d,k-d|0)),l=r}catch(a){a=_(a);if(a[1]!==$)throw a;var
+l=g(0)}if(j(k)!==e)g(0);var
+o=0;if(ak(b,gT)&&ak(b,gU))var
+n=ak(b,gV)?ak(b,gW)?ak(b,gX)?ak(b,gY)?g(0):1:2:3:0;else
+o=1;if(o)var
+n=4;return[0,l,n]}function
+cB(a){cA[1]=[0,a,cA[1]];return 0}try{var
+ib=bo(ia),cD=ib}catch(a){a=_(a);if(a!==as)throw a;try{var
+h$=bo(h_),cC=h$}catch(a){a=_(a);if(a!==as)throw a;var
+cC=g0}var
+cD=cC}var
+g1=eN(cD,82),bc=[dO,function(A){var
+p=i5(0),d=[0,S(55,0),0],l=0===p.length-1?[0,0]:p,m=l.length-1,c=0;for(;;){b(d[1],c)[1+c]=c;var
+z=c+1|0;if(54!==c){var
+c=z;continue}var
+j=[0,gZ],n=54+ck(55,m)|0,u=0;if(!(n<0)){var
+f=u;for(;;){var
+g=f%55|0,o=iR(f,m),v=b(l,o)[1+o],k=at(j[1],a(e+v));j[1]=iM(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=(b(d[1],g)[1+g]^t)&dw;b(d[1],g)[1+g]=w;var
+y=f+1|0;if(n!==f){var
+f=y;continue}break}}d[2]=0;return d}}];function
+g2(i,l){var
+m=i?i[1]:g1,c=16;for(;;){if(!(l<=c)&&!(cn<(c*2|0))){var
+c=c*2|0;continue}if(m){var
+j=ei(bc),a=bh===j?bc[1]:dO===j?eY(bc):bc;a[2]=(a[2]+1|0)%55|0;var
+d=a[2],e=b(a[1],d)[1+d],f=(a[2]+24|0)%55|0,g=(b(a[1],f)[1+f]+(e^(e>>>25|0)&31)|0)&dw,h=a[2];b(a[1],h)[1+h]=g;var
+k=g}else
+var
+k=0;return[0,0,S(c,0),k,c]}}var
+bF=[p,g3,H(0)],bd=0,cE=-1;function
+aU(a,b){a[13]=a[13]+b[3]|0;return cu(b,a[28])}var
+cF=1000000010;function
+bG(b,a){return aw(b[17],a,0,i(a))}function
+be(a){return c(a[19],0)}function
+cG(a,c,b){a[9]=a[9]-c|0;bG(a,b);a[11]=0;return 0}function
+bf(c,a){var
+b=ak(a,g4);return b?cG(c,i(a),a):b}function
+aG(a,b,f){var
+g=b[3],h=b[2];bf(a,b[1]);be(a);a[11]=1;var
+d=(a[6]-f|0)+h|0,e=a[8],i=iI(e,d)?e:d;a[10]=i;a[9]=a[6]-a[10]|0;c(a[21],a[10]);return bf(a,g)}function
+cH(b,a){return aG(b,g5,a)}function
+aV(a,b){var
+d=b[2],e=b[3];bf(a,b[1]);a[9]=a[9]-d|0;c(a[20],d);return bf(a,e)}function
+cI(a){for(;;){var
+s=a[28][2],O=s?[0,s[1]]:0;if(O){var
+q=O[1],r=q[1],b=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
+by(g);var
+m=0<=r?r:cF;if(typeof
+b==="number")switch(b){case
+0:var
+y=aD(a[3]);if(y){var
+z=y[1][1],A=function(b,a){if(a){var
+c=a[1],d=a[2];return iJ(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:aC(a[2]);break;case
+2:aC(a[3]);break;case
+3:var
+B=aD(a[2]);if(B)cH(a,B[1][2]);else
+be(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{by(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=aC(a[5]);if(C)bG(a,c(a[25],C[1]))}else
+switch(b[0]){case
+0:cG(a,m,b[1]);break;case
+1:var
+d=b[2],k=b[1],D=d[1],U=d[2],E=aD(a[2]);if(E){var
+F=E[1],f=F[2];switch(F[1]){case
+0:aV(a,k);break;case
+1:aG(a,d,f);break;case
+2:aG(a,d,f);break;case
+3:if(a[9]<(m+i(D)|0))aG(a,d,f);else
+aV(a,k);break;case
+4:if(a[11]||!(a[9]<(m+i(D)|0)||((a[6]-f|0)+U|0)<a[10]))aV(a,k);else
+aG(a,d,f);break;default:aV(a,k)}}break;case
+2:var
+o=a[6]-a[9]|0,V=b[2],W=b[1],G=aD(a[3]);if(G){var
+H=G[1][1],I=H[1];if(I){var
+l=H[1],X=I[1];for(;;){if(l){var
+J=l[1],Y=l[2];if(!(o<=J)){var
+l=Y;continue}var
+K=J}else
+var
+K=X;var
+p=K;break}}else
+var
+p=o;var
+L=p-o|0;if(0<=L)aV(a,[0,g7,L+W|0,g6]);else
+aG(a,[0,g9,p+V|0,g8],a[6])}break;case
+3:var
+M=b[2],Z=b[1];if(a[8]<(a[6]-a[9]|0)){var
+u=aD(a[2]);if(u){var
+v=u[1],w=v[2],S=v[1];if(a[9]<w&&!(3<(S-1|0)>>>0))cH(a,w)}else
+be(a)}var
+_=a[9]-Z|0,$=1===M?1:a[9]<m?M:5;av([0,$,_],a[2]);break;case
+4:av(b[1],a[3]);break;default:var
+N=b[1];bG(a,c(a[24],N));av(N,a[5])}a[12]=aa+a[12]|0;continue}throw eU}return P}return 0}}function
+cJ(a,b){aU(a,b);return cI(a)}function
+cK(c,a,b){return cJ(c,[0,a,[0,b],a])}function
+bH(a){aR(a);return av([0,-1,[0,cE,g_,0]],a)}function
+bI(a,c){var
+d=aD(a[1]);if(d){var
+e=d[1],b=e[2],f=b[1];if(e[1]<a[12])return bH(a[1]);var
+g=b[2];if(typeof
+g!=="number")switch(g[0]){case
+3:var
+h=1-c;return h?(b[1]=a[13]+f|0,aC(a[1]),0):h;case
+1:case
+2:return c?(b[1]=a[13]+f|0,aC(a[1]),0):c}return 0}return 0}function
+cL(a,c,b){aU(a,b);if(c)bI(a,1);return av([0,a[13],b],a[1])}function
+cM(a,e,d){a[14]=a[14]+1|0;if(a[14]<a[15])return cL(a,0,[0,-a[13]|0,[3,e,d],0]);var
+b=a[14]===a[15]?1:0;if(b){var
+c=a[16];return cK(a,i(c),c)}return b}function
+cN(a,d){var
+b=1<a[14]?1:0;if(b){if(a[14]<a[15]){aU(a,[0,bd,1,0]);bI(a,1);bI(a,0)}a[14]=a[14]-1|0;var
+c=0}else
+var
+c=b;return c}function
+cO(a,f){if(a[23])aU(a,[0,bd,5,0]);var
+b=a[22];if(b){var
+d=aC(a[4]);if(d)return c(a[27],d[1]);var
+e=0}else
+var
+e=b;return e}function
+bJ(a,d){var
+b=a[4][1];for(;;){if(b){var
+c=b[2];cO(a,0);var
+b=c;continue}for(;;){if(1<a[14]){cN(a,0);continue}a[13]=cF;cI(a);if(d)be(a);a[12]=1;a[13]=1;by(a[28]);bH(a[1]);aR(a[2]);aR(a[3]);aR(a[4]);aR(a[5]);a[10]=0;a[14]=0;a[9]=a[6];return cM(a,0,3)}}}function
+bK(a,d,c){var
+b=a[14]<a[15]?1:0;return b?cK(a,d,c):b}function
+cP(c,b,a){return bK(c,b,a)}function
+aW(b,a){return cP(b,1,a_(1,a))}function
+aX(a,b){bJ(a,0);return c(a[18],0)}var
+cQ=a_(80,32);function
+cR(b,d){var
+a=d;for(;;){var
+c=0<a?1:0;if(c){if(80<a){aw(b[17],cQ,0,80);var
+a=a-80|0;continue}return aw(b[17],cQ,0,a)}return c}}function
+he(a){return a[1]===bF?at(hg,at(a[2],hf)):hh}function
+hi(a){return a[1]===bF?at(hk,at(a[2],hj)):hl}function
+hm(a){return 0}function
+hn(a){return 0}function
+cS(i,h){function
+j(a){return 0}function
+k(a){return 0}var
+c=[0,0,0,0],d=[0,cE,ho,0];function
+l(a){return 0}cu(d,c);var
+b=aQ(0);bH(b);av([0,1,d],b);var
+e=aQ(0),f=aQ(0),g=aQ(0),a=[0,b,aQ(0),g,f,e,78,10,68,78,0,1,1,1,1,eq,hp,i,h,l,k,j,0,0,he,hi,hm,hn,c];a[19]=function(b){return aw(a[17],hd,0,1)};a[20]=function(b){return cR(a,b)};a[21]=function(b){return cR(a,b)};return a}function
+cT(c){function
+a(a){return cb(c)}return cS(function(d,a,b){if(0<=a&&0<=b&&!((i(d)-b|0)<a))return iP(c,d,a,b);return I(ew)},a)}function
+bL(a){function
+b(a){return 0}return cS(function(g,c,b){var
+d=c<0?1:0;if(d)var
+e=d;else
+var
+h=b<0?1:0,e=h||((i(g)-b|0)<c?1:0);if(e)I(e3);var
+f=a[2]+b|0;if(a[3]<f)bB(a,b);aq(g,c,a[1],a[2],b);a[2]=f;return 0},b)}var
+hq=bR;function
+cU(a){return bz(hq)}var
+hr=cU(0),hs=cT(eu),ht=cT(ev);bL(hr);function
+cV(f,e){var
+a=bz(16),c=bL(a);g(f,c,e);aX(c,0);var
+d=a[2];if(2<=d){var
+b=d-2|0,h=1;if(0<=b&&!((a[2]-b|0)<1))return bu(a[1],h,b);return I(eZ)}return bA(a)}function
+O(a,b){var
+d=0;if(typeof
+b==="number")return 0;else
+switch(b[0]){case
+0:var
+e=b[2];O(a,b[1]);if(typeof
+e==="number")switch(e){case
+0:return cN(a,0);case
+1:return cO(a,0);case
+2:return aX(a,0);case
+3:var
+u=a[14]<a[15]?1:0;return u?cJ(a,[0,bd,3,0]):u;case
+4:bJ(a,1);return c(a[18],0);case
+5:return aW(a,64);default:return aW(a,37)}else
+switch(e[0]){case
+0:var
+k=[0,hc,e[2],hb],v=a[14]<a[15]?1:0,Q=[0,ha,e[3],g$],M=k[3],N=k[2],P=k[1];return v?cL(a,1,[0,-a[13]|0,[1,k,Q],(i(P)+N|0)+i(M)|0]):v;case
+1:return 0;default:var
+R=e[1];aW(a,64);return aW(a,R)}case
+1:var
+l=b[2],w=b[1];if(0===l[0]){var
+S=l[1];O(a,w);var
+m=[0,bF,cV(O,S)];if(a[22]){av(m,a[4]);c(a[26],m)}var
+t=a[23];return t?aU(a,[0,bd,[5,m],0]):t}var
+T=l[1];O(a,w);var
+x=gP(cV(O,T));return cM(a,x[1],x[2]);case
+2:var
+f=b[1],H=0;if(typeof
+f!=="number"&&0===f[0]){var
+o=f[2],W=0;if(typeof
+o!=="number"&&1===o[0]){var
+B=b[2],A=o[2],z=f[1];H=1;W=1}}if(!H){var
+n=b[2],y=f;d=2}break;case
+3:var
+g=b[1],J=0;if(typeof
+g!=="number"&&0===g[0]){var
+p=g[2],X=0;if(typeof
+p!=="number"&&1===p[0]){var
+G=b[2],F=p[2],E=g[1];d=1;J=1;X=1}}if(!J){var
+D=b[2],C=g;d=3}break;case
+4:var
+h=b[1],K=0;if(typeof
+h!=="number"&&0===h[0]){var
+q=h[2],Y=0;if(typeof
+q!=="number"&&1===q[0]){var
+B=b[2],A=q[2],z=h[1];K=1;Y=1}}if(!K){var
+n=b[2],y=h;d=2}break;case
+5:var
+j=b[1],s=0;if(typeof
+j==="number"||!(0===j[0]))s=1;else{var
+r=j[2],L=0;if(typeof
+r!=="number"&&1===r[0]){var
+G=b[2],F=r[2],E=j[1];d=1;L=1}if(!L)s=1}if(s){var
+D=b[2],C=j;d=3}break;case
+6:var
+U=b[2];O(a,b[1]);return c(U,a);case
+7:O(a,b[1]);return aX(a,0);default:var
+V=b[2];O(a,b[1]);return I(V)}switch(d){case
+0:O(a,z);return bK(a,A,B);case
+1:O(a,E);return bK(a,F,a_(1,G));case
+2:O(a,y);return cP(a,i(n),n);default:O(a,C);return aW(a,D)}}function
+cW(d){var
+c=d[1],a=cU(0),b=bL(a);return h(function(d){O(b,d);bJ(b,0);var
+c=bA(a);a[2]=0;a[1]=a[4];a[3]=M(a[1]);return c},0,c)}cl(function(a){aX(hs,0);return aX(ht,0)});function
+cX(b,a){var
+c=ei(a)===p?a:a[1];return iZ(b,c)}try{bo(h9)}catch(a){a=_(a);if(a!==as)throw a}try{bo(h8)}catch(a){a=_(a);if(a!==as)throw a}if(ak(cm,hu))ak(cm,hv);var
+aY=f,cY=undefined,hw=aY.Array,cZ=[p,hx,H(0)];cX(hy,[0,cZ,{}]);(function(a){throw a});cB(function(a){return a[1]===cZ?[0,al(a[2].toString())]:0});cB(function(a){return a
+instanceof
+hw?0:[0,al(a.toString())]});function
+hz(a){if(aY.onmessage===cY)I(hA);return aY.onmessage=iH(function(b){return c(a,b.data)})}function
+c0(a){if(aY.postMessage===cY)I(hB);return aY.postMessage(a)}cl(function(a){return ja(a)});cX(hF,[0,[p,hC,H(0)],0,hE,hD]);bq(hG);bq(hH);try{bq(h7)}catch(a){a=_(a);if(a[1]!==$)throw a}try{bq(h6)}catch(a){a=_(a);if(a[1]!==$)throw a}g2(0,7);cW(hI);cW(hJ);function
+c1(b,a){return[an,b[1]-a[1],b[2]-a[2]]}function
+bM(b,a){return[an,b*a[1],b*a[2]]}function
+c2(a,c,b){return[an,a[1]+b*(c[1]-a[1]),a[2]+b*(c[2]-a[2])]}var
+hL=[p,hK,H(0)],E=[p,hM,H(0)];function
+hN(a){function
+d(c,b){if(0<c&&0<b)try{var
+d=[0,[0,c,b],eP(c,b,a[2])];return d}catch(a){throw E}throw E}function
+e(c,a){var
+d=c[1],f=c[2],g=d[2];if(a<=d[1]){var
+e=a-1|0,h=b(f,e)[1+e];return[0,g,aP(function(a){return a},h)]}throw[0,$,hO]}function
+o(f,e){var
+g=f[1],d=g[1],k=f[2];if(e<=g[2]){var
+h=S(d,a[2]),i=d-1|0,l=0;if(!(i<0)){var
+c=l;for(;;){var
+j=e-1|0,m=b(b(k,c)[1+c],j)[1+j];b(h,c)[1+c]=m;var
+n=c+1|0;if(i!==c){var
+c=n;continue}break}}return[0,d,h]}throw[0,$,hP]}function
+f(e,d,c){var
+f=e[1],g=f[2],k=e[2];if(d<=f[1]){if(c.length-1===g){var
+h=g-1|0,l=0;if(!(h<0)){var
+a=l;for(;;){var
+i=d-1|0,m=b(c,a)[1+a];b(b(k,i)[1+i],a)[1+a]=m;var
+n=a+1|0;if(h!==a){var
+a=n;continue}break}}return 0}throw[0,j,hQ]}throw[0,$,hR]}function
+h(e,d,c){var
+f=e[1],g=f[1],k=e[2];if(d<=f[2]){if(c.length-1===g){var
+h=g-1|0,l=0;if(!(h<0)){var
+a=l;for(;;){var
+i=d-1|0,m=b(c,a)[1+a];b(b(k,a)[1+a],i)[1+i]=m;var
+n=a+1|0;if(h!==a){var
+a=n;continue}break}}return 0}throw[0,j,hS]}throw[0,$,hT]}function
+p(c,a){var
+d=a[2],e=a[1],f=c[1],i=c[2],j=f[2];if(e<=f[1]&&d<=j){var
+g=d-1|0,h=e-1|0;return b(b(i,h)[1+h],g)[1+g]}throw E}function
+m(c,a,i){var
+d=a[2],e=a[1],f=c[1],j=c[2],k=f[2];if(e<=f[1]&&d<=k){var
+g=d-1|0,h=e-1|0;b(b(j,h)[1+h],g)[1+g]=i;return 0}throw E}function
+i(b,a){var
+c=a[2],d=a[1];return[0,d,aP(function(a){return aP(b,a)},c)]}function
+n(b,a){var
+c=a[2];return bw(function(a){return bw(b,a)},c)}function
+q(b,a){var
+c=a[2];return ct(function(c,a){return ct(function(d,a){return aw(b,c,d,a)},a)},c)}function
+r(k,j,e){var
+f=e[1],d=[0,j],h=f[1]-1|0,l=e[2],m=f[2],n=0;if(!(h<0)){var
+a=n;for(;;){var
+i=m-1|0,o=0;if(!(i<0)){var
+c=o;for(;;){var
+q=b(b(l,a)[1+a],c)[1+c];d[1]=g(k,d[1],q);var
+r=c+1|0;if(i!==c){var
+c=r;continue}break}}var
+p=a+1|0;if(h!==a){var
+a=p;continue}break}}return d[1]}function
+u(j,i){var
+e=i[2],b=[0,0],d=e.length-1-1|0,f=0;if(!(d<0)){var
+a=f;for(;;){var
+g=b[1];b[1]=[0,c(j,e[1+a]),g];var
+h=a+1|0;if(d!==a){var
+a=h;continue}break}}return co(b[1])}function
+v(b){var
+a=b[1];return[0,a[1],a[2]]}function
+w(d,b){return i(c(a[7],b),d)}function
+A(a){var
+e=bt(a);if(a){var
+f=a[2],c=bt(a[1]),b=f;for(;;){if(b){var
+d=b[2];if(bt(b[1])===c){var
+b=d;continue}throw E}if(c===c)return[0,[0,e,c],aP(bx,bx(a))];throw E}}throw E}function
+B(a){var
+d=a.length-1;if(0===a.length-1)throw E;var
+c=b(a,0)[1].length-1;bw(function(a){if(a.length-1===c)return 0;throw E},a);return[0,[0,d,c],a]}function
+C(i,h){var
+f=i[1],p=h[2],q=i[2];if(b5(f,h[1])){var
+j=f[2],k=f[1],l=d(k,j),m=l[2],n=k-1|0,r=l[1],s=0;if(!(n<0)){var
+c=s;for(;;){var
+o=j-1|0,t=0;if(!(o<0)){var
+e=t;for(;;){var
+v=b(b(p,c)[1+c],e)[1+e],w=b(b(q,c)[1+c],e)[1+e],x=g(a[5],w,v);b(b(m,c)[1+c],e)[1+e]=x;var
+y=e+1|0;if(o!==e){var
+e=y;continue}break}}var
+u=c+1|0;if(n!==c){var
+c=u;continue}break}}return[0,r,m]}throw E}function
+z(n,m){var
+p=n[1],q=p[1],r=m[1],s=r[2];if(p[2]===r[1]){var
+t=d(q,s),u=t[2],v=q-1|0,C=t[1],D=0;if(!(v<0)){var
+c=D;for(;;){var
+w=s-1|0,F=0;if(!(w<0)){var
+f=F;a:for(;;){var
+x=o(m,f+1|0)[2],y=e(n,c+1|0)[2],l=y.length-1;if(l!==x.length-1)throw E;var
+h=l,i=a[2];for(;;){if(0!==h){var
+j=h-1|0,k=h-1|0,z=b(x,j)[1+j],A=b(y,k)[1+k],B=g(a[7],A,z),h=h-1|0,i=g(a[5],B,i);continue}b(b(u,c)[1+c],f)[1+f]=i;var
+H=f+1|0;if(w!==f){var
+f=H;continue a}break}break}}var
+G=c+1|0;if(v!==c){var
+c=G;continue}break}}return[0,C,u]}throw E}function
+t(d,b,e,c){switch(g(a[4],d,b)){case
+0:return[0,b,c];case
+1:return[0,b,c];default:return[0,d,e]}}function
+x(d,b,g){var
+h=e(d,b)[2];return f(d,b,aP(c(a[7],g),h))}function
+s(a,c,b){var
+d=e(a,c),h=d[2],i=d[1],g=e(a,b),k=g[2];if(i===g[1]){f(a,c,k);f(a,b,h);return 0}throw[0,j,hU]}function
+y(d,i,p,o){var
+k=e(d,i),h=k[2],l=k[1],m=e(d,p),q=m[2];if(l===m[1]){var
+n=l-1|0,r=0;if(!(n<0)){var
+c=r;for(;;){var
+s=b(q,c)[1+c],t=g(a[7],o,s),u=b(h,c)[1+c];h[1+c]=g(a[6],u,t);var
+v=c+1|0;if(n!==c){var
+c=v;continue}break}}return f(d,i,h)}throw[0,j,hV]}function
+k(z){var
+A=z[1],B=A[2],C=A[1],N=z[2],D=d(C,B),r=D[2],E=D[1],F=C-1|0,O=0;if(!(F<0)){var
+i=O;for(;;){var
+G=B-1|0,P=0;if(!(G<0)){var
+j=P;for(;;){var
+R=b(b(N,i)[1+i],j)[1+j];b(b(r,i)[1+i],j)[1+j]=R;var
+S=j+1|0;if(G!==j){var
+j=S;continue}break}}var
+Q=i+1|0;if(F!==i){var
+i=Q;continue}break}}var
+h=[0,E,r],f=1,e=1;b:for(;;){var
+q=h[1][1];if(e===(q+1|0))return[0,E,r];var
+n=o(h,e)[2],m=0,l=a[2],c=f-1|0;for(;;){if(c===n.length-1){var
+w=b5(l,a[2])?0:[0,m+1|0];if(w){s(h,w[1],f);var
+K=p(h,[0,f,e]);x(h,f,g(a[8],a[3],K));var
+L=1;if(!(q<1)){var
+k=L;for(;;){if(k!==f)y(h,k,f,p(h,[0,k,e]));var
+M=k+1|0;if(q!==k){var
+k=M;continue}break}}var
+f=f+1|0,e=e+1|0;continue b}var
+e=e+1|0;continue b}var
+H=a[2],I=b(n,c)[1+c];switch(g(a[4],I,H)){case
+0:var
+c=c+1|0;continue;case
+1:var
+J=b(n,c)[1+c],u=t(g(a[6],a[2],J),l,c,m),m=u[2],l=u[1],c=c+1|0;continue;default:var
+v=t(b(n,c)[1+c],l,c,m),m=v[2],l=v[1],c=c+1|0;continue}}}}function
+D(e){var
+f=e[1],h=f[1],i=e[2];if(h===f[2]){var
+d=a[2],c=h-1|0;for(;;){if(-1<c){var
+j=b(b(i,c)[1+c],c)[1+c],d=g(a[5],j,d),c=c-1|0;continue}return d}}throw E}function
+F(g){var
+h=g[1],e=h[2],f=h[1],n=g[2],i=d(e,f),k=i[2],l=f-1|0,o=i[1],p=0;if(!(l<0)){var
+a=p;for(;;){var
+m=e-1|0,q=0;if(!(m<0)){var
+c=q;for(;;){var
+s=b(b(n,a)[1+a],c)[1+c];b(b(k,c)[1+c],a)[1+a]=s;var
+t=c+1|0;if(m!==c){var
+c=t;continue}break}}var
+r=a+1|0;if(l!==a){var
+a=r;continue}break}}if(b5(o,[0,e,f]))return[0,[0,e,f],k];throw[0,j,hW]}function
+G(i){var
+l=i[1],c=l[1];if(c===l[2]){var
+g=d(c,2*c|0),s=1;if(!(c<1)){var
+e=s;for(;;){var
+p=o(i,e),q=S(c,a[2]),x=p[2];if(p[1]!==c)throw[0,j,hY];var
+r=e-1|0,y=a[3];b(q,r)[1+r]=y;h(g,e,x);h(g,c+e|0,q);var
+z=e+1|0;if(c!==e){var
+e=z;continue}break}}var
+t=k(g),m=d(c,c),u=1;if(!(c<1)){var
+f=u;for(;;){var
+n=o(t,c+f|0),v=n[2];if(n[1]!==c)throw[0,j,hX];h(m,f,v);var
+w=f+1|0;if(c!==f){var
+f=w;continue}break}}return m}throw hL}function
+l(H){var
+I=H[1],J=I[2],j=I[1],$=H[2];if(j===J){var
+w=[0,[0,j,J],$],F=w[1],G=F[2],l=F[1],X=w[2];if(l===G){var
+u=[0,0],A=d(l,l),B=A[2],C=l-1|0,R=A[1],S=0;if(!(C<0)){var
+k=S;for(;;){var
+T=a[3];b(b(B,k)[1+k],k)[1+k]=T;var
+U=k+1|0;if(C!==k){var
+k=U;continue}break}}var
+t=[0,R,B],Y=1;if(!(l<1)){var
+i=Y;b:for(;;){var
+v=o([0,[0,l,G],X],i)[2],p=i-1|0,h=i;for(;;){if(h!==v.length-1){var
+V=b(v,p)[1+p],W=b(v,h)[1+h];if(2<=g(a[4],W,V)){var
+p=h,h=h+1|0;continue}var
+h=h+1|0;continue}var
+D=p+1|0;if(D!==i){u[1]=u[1]+1|0;s(t,D,i)}var
+_=i+1|0;if(l!==i){var
+i=_;continue b}break}break}}var
+Z=u[1],K=d(j,j),L=d(j,j),q=L[2],r=K[2],M=z(t,w)[2],N=j-1|0,aa=0;if(!(N<0)){var
+c=aa;for(;;){var
+ab=a[3];b(b(q,c)[1+c],c)[1+c]=ab;var
+ac=0;if(!(c<0)){var
+e=ac;for(;;){var
+y=[0,a[2]],Q=e-1|0,ap=0;if(!(Q<0)){var
+n=ap;for(;;){var
+au=b(b(q,e)[1+e],n)[1+n],av=b(b(r,n)[1+n],c)[1+c],aw=g(a[7],av,au);y[1]=g(a[5],y[1],aw);var
+ax=n+1|0;if(Q!==n){var
+n=ax;continue}break}}var
+aq=y[1],ar=b(b(M,e)[1+e],c)[1+c],as=g(a[6],ar,aq);b(b(r,e)[1+e],c)[1+c]=as;var
+at=e+1|0;if(c!==e){var
+e=at;continue}break}}var
+O=j-1|0;if(!(O<c)){var
+f=c;for(;;){var
+x=[0,a[2]],P=c-1|0,ae=0;if(!(P<0)){var
+m=ae;for(;;){var
+al=b(b(q,f)[1+f],m)[1+m],am=b(b(r,m)[1+m],c)[1+c],an=g(a[7],am,al);x[1]=g(a[5],x[1],an);var
+ao=m+1|0;if(P!==m){var
+m=ao;continue}break}}var
+af=x[1],ag=b(b(M,f)[1+f],c)[1+c],ah=g(a[6],ag,af),ai=b(b(r,c)[1+c],c)[1+c],aj=g(a[8],ah,ai);b(b(q,f)[1+f],c)[1+c]=aj;var
+ak=f+1|0;if(O!==f){var
+f=ak;continue}break}}var
+ad=c+1|0;if(N!==c){var
+c=ad;continue}break}}return[0,[0,L,K,t],Z]}throw E}throw E}return[0,d,A,B,v,e,o,f,h,p,m,w,k,G,F,D,C,z,i,l,function(c){try{var
+d=c[1],f=d[1];if(f===d[2]){var
+e=function(k,j,i){var
+e=k,c=j,d=i;for(;;){var
+h=e[2],l=e[1];if(c<f){var
+m=b(b(h,c)[1+c],c)[1+c],e=[0,l,h],c=c+1|0,d=g(a[7],m,d);continue}return d}},h=l(c),i=h[1],j=i[2],k=i[1],p=h[2],q=k[2],r=k[1],m=e([0,j[1],j[2]],0,a[3]),n=e([0,r,q],0,a[3]);if(0===(p%2|0))var
+o=g(a[7],n,m);else
+var
+s=g(a[7],n,m),o=g(a[6],a[2],s);return o}throw E}catch(b){return a[2]}},n,q,r,u,x,s,y]}function
+hZ(c,b){var
+a=io(c,b);return 0===a?0:0<a?2:1}function
+h0(b,a){return b/a}function
+h1(b,a){return b*a}function
+h2(b,a){return b+a}function
+h3(b,a){return b-a}var
+aH=hN([0,[p,h4,H(0)],eR,eS,hZ,h2,h3,h1,h0]);function
+c3(a,b){return[0,b,a[2],a[3],a[4]]}var
+bN=[p,h5,H(0)];function
+c4(b,a){if(typeof
+a==="number")throw bN;else
+if(0===a[0])var
+d=a[2],c=a[1];else
+var
+e=a[1],d=e[2],c=e[1];var
+f=c3(c,b[1]),g=c3(d,b[2]);return[1,[0,f,g,b[3],b[4]]]}hz(function(n){if(typeof
+n!=="number"&&dU===n[1]){var
+F=n[2],i=F[2],Z=F[1],G=function(c){var
+a=b(i,c)[1+c];if(typeof
+a==="number")throw bN;else
+return 0===a[0]?a[2][1]:a[1][2][1]},o=i.length-1;if(0<=o)if(eF<o){var
+r=0,j=0;for(;;){if(!(o<=j)){var
+r=[0,G(j),r],j=j+1|0;continue}var
+u=co(r);break}}else
+var
+u=cp(0,o,G);else
+var
+u=I(eG);var
+p=b(i,0)[1];if(typeof
+p==="number")throw bN;else
+var
+_=0===p[0]?p[1][1]:p[1][1][1];var
+d=bx([0,_,u]),a=d.length-1-2|0;if(1<a){var
+K=bv(a,function(b){return bv(a+2|0,function(c){var
+a=(c-b|0)+1|0;if(2<a>>>0)return 0.;switch(a){case
+0:return 1.;case
+1:return 4.;default:return 1.}})}),s=c(aH[3],K),A=a-1|0,L=0;if(!(A<0)){var
+e=L;for(;;){if(0===e)var
+T=b(d,0)[1],l=c1(bM(6.,b(d,1)[2]),T);else
+if((e+1|0)===a)var
+D=a+1|0,W=b(d,a)[1+a],X=b(d,D)[1+D],l=c1(bM(6.,W),X);else
+var
+E=e+1|0,l=bM(6.,b(d,E)[1+E]);var
+U=l[2];aw(aH[10],s,[0,e+1|0,a+1|0],l[1]);aw(aH[10],s,[0,e+1|0,a+2|0],U);var
+V=e+1|0;if(A!==e){var
+e=V;continue}break}}var
+B=c(aH[12],s),M=g(aH[6],B,a+1|0)[2],C=a+1|0,N=g(aH[6],B,a+2|0)[2],t=S(a+2|0,b(d,C)[1+C]),O=1;if(!(a<1)){var
+f=O;for(;;){var
+Q=[an,dY(M,f-1|0),dY(N,f-1|0)];b(t,f)[1+f]=Q;var
+R=f+1|0;if(a!==f){var
+f=R;continue}break}}var
+P=b(d,0)[1];b(t,0)[1]=P;var
+m=[0,t]}else
+var
+m=[1,378784796];if(0===m[0])var
+q=m[1],Y=q.length-1-1|0,v=[0,bv((Y-1|0)+1|0,function(h){var
+a=h+1|0,c=a-1|0,e=b(q,c)[1+c],f=b(q,a)[1+a],g=a-1|0,i=b(d,g)[1+g],j=b(d,a)[1+a],k=c2(e,f,0.33333333333333331);return[0,i,j,k,c2(e,f,0.66666666666666663)]})];else
+var
+v=m;if(0===v[0]){var
+w=v[1],k=w.length-1;if(k!==i.length-1)var
+x=I(eQ);else
+if(0===k)var
+x=[0];else{var
+y=S(k,c4(w[1],i[1])),z=k-1|0,H=1;if(!(z<1)){var
+h=H;for(;;){y[1+h]=c4(w[1+h],i[1+h]);var
+J=h+1|0;if(z!==h){var
+h=J;continue}break}}var
+x=y}return c0([0,dU,[0,Z,x]])}return 0}return c0([0,-912009552,n])});ex(0);return}(function(){return this}()));
diff --git a/pelicanconf.py b/pelicanconf.py
index e81d9ea..a572382 100755
--- a/pelicanconf.py
+++ b/pelicanconf.py
@@ -53,20 +53,18 @@ TYPOGRIFY = False
TEMPLATE_PAGES = {'../extras/404.html': '404.html'}
STATIC_PATHS = \
- ( 'images/profile.png'
+ ( 'images'
, '../extras/robots.txt'
, '../extras/htaccess'
, '../extras/custom.css'
+ , 'pages/script.it'
)
EXTRA_PATH_METADATA = \
- { '../extras/robots.txt': \
- {'path': 'robots.txt'}
- , '../extras/htaccess': \
- {'path': '.htaccess'}
- , '../extras/custom.css': \
- {'path': 'custom.css'}}
-
+ { '../extras/robots.txt': {'path': 'robots.txt'}
+ , '../extras/htaccess': {'path': '.htaccess'}
+ , '../extras/custom.css': {'path': 'custom.css'}
+ }
PLUGIN_PATHS = ['plugins']
@@ -74,7 +72,8 @@ PLUGIN_PATHS = ['plugins']
PLUGINS = \
( 'related_posts'
, 'typogrify'
- , 'i18n_subsites' )
+ , 'i18n_subsites'
+ , 'render_math' )
RELATED_POSTS_IGNORE_TAGS = ["Libre"]
diff --git a/plugins/render_math/Readme.md b/plugins/render_math/Readme.md
new file mode 100755
index 0000000..7d541aa
--- /dev/null
+++ b/plugins/render_math/Readme.md
@@ -0,0 +1,167 @@
+Math Render Plugin For Pelican
+==============================
+
+**NOTE: [This plugin has been moved to its own repository](https://github.com/pelican-plugins/render-math). Please file any issues/PRs there. Once all plugins have been migrated to the [new Pelican Plugins organization](https://github.com/pelican-plugins), this monolithic repository will be archived.**
+
+This plugin gives pelican the ability to render mathematics. It accomplishes
+this by using the [MathJax](http://www.mathjax.org/) javascript engine.
+
+The plugin also ensures that Typogrify and recognized math "play" nicely together, by
+ensuring [Typogrify](https://github.com/mintchaos/typogrify) does not alter math content.
+
+Both Markdown and reStructuredText is supported.
+
+Requirements
+------------
+
+ * Pelican version *3.6* or above is required.
+ * Typogrify version *2.0.7* or higher is needed for Typogrify to play
+ "nicely" with this plugin. If this version is not available, Typogrify
+ will be disabled for the entire site.
+ * BeautifulSoup4 is required to correct summaries. If BeautifulSoup4 is
+ not installed, summary processing will be ignored, even if specified
+ in user settings.
+
+Installation
+------------
+To enable, ensure that `render_math` plugin is accessible.
+Then add the following to settings.py:
+
+ PLUGINS = ["render_math"]
+
+Your site is now capable of rendering math math using the mathjax JavaScript
+engine. No alterations to the template is needed, just use and enjoy!
+
+However, if you wish, you can set the `auto_insert` setting to `False` which
+will disable the mathjax script from being automatically inserted into the
+content. You would only want to do this if you had control over the template
+and wanted to insert the script manually.
+
+### Typogrify
+In the past, using [Typgogrify](https://github.com/mintchaos/typogrify) would
+alter the math contents resulting in math that could not be rendered by MathJax.
+The only option was to ensure that Typogrify was disabled in the settings.
+
+The problem has been rectified in this plugin, but it requires at a minimum
+[Typogrify version 2.0.7](https://pypi.python.org/pypi/typogrify) (or higher).
+If this version is not present, the plugin will disable Typogrify for the entire
+site.
+
+### BeautifulSoup4
+Pelican creates summaries by truncating the contents to a specified user length.
+The truncation process is oblivious to any math and can therefore destroy
+the math output in the summary.
+
+To restore math, [BeautifulSoup4](https://pypi.python.org/pypi/beautifulsoup4/4.4.0)
+is used. If it is not installed, no summary processing will happen.
+
+Usage
+-----
+### Templates
+No alteration is needed to a template for this plugin to work. Just install
+the plugin and start writing your Math.
+
+### Settings
+Certain MathJax rendering options can be set. These options
+are in a dictionary variable called `MATH_JAX` in the pelican
+settings file.
+
+The dictionary can be set with the following keys:
+
+ * `align`: [string] controls how displayed math will be aligned. Can be set to either
+`'left'`, `'right'` or `'center'`. **Default Value**: `'center'`.
+ * `auto_insert`: [boolean] will insert the mathjax script into content that it is
+detected to have math in it. Setting it to false is not recommended.
+**Default Value**: `True`
+ * `indent`: [string] if `align` not set to `'center'`, then this controls the indent
+level. **Default Value**: `'0em'`.
+ * `show_menu`: [boolean] controls whether the mathjax contextual menu is shown.
+**Default Value**: `True`
+ * `process_escapes`: [boolean] controls whether mathjax processes escape sequences.
+**Default Value**: `True`
+ * `mathjax_font`: [string] will force mathjax to use the chosen font. Current choices
+for the font is `sanserif`, `typewriter` or `fraktur`. If this is not set, it will
+use the default font settings. **Default Value**: `default`
+ * `latex_preview`: [string] controls the preview message users are shown while mathjax is
+rendering LaTex. If set to `'Tex'`, then the TeX code is used as the preview
+(which will be visible until it is processed by MathJax). **Default Value**: `'Tex'`
+ * `color`: [string] controls the color of the mathjax rendered font. **Default Value**: `'inherit'`
+ * `linebreak_automatic`: [boolean] If set, Mathjax will try to *intelligently* break up displayed math
+(Note: It will not work for inline math). This is very useful for a responsive site. It
+is turned off by default due to it potentially being CPU expensive. **Default Value**: `False`
+ * `tex_extensions`: [list] a list of [latex extensions](http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-extensions)
+accepted by mathjax. **Default Value**: `[]` (empty list)
+ * `responsive`: [boolean] tries to make displayed math render responsively. It does by determining if the width
+is less than `responsive_break` (see below) and if so, sets `align` to `left`, `indent` to `0em` and `linebreak_automatic` to `True`.
+**Default Value**: `False` (defaults to `False` for backward compatibility)
+ * `responsive_break`: [integer] a number (in pixels) representing the width breakpoint that is used
+when setting `responsive_align` to `True`. **Default Value**: 768
+ * `process_summary`: [boolean] ensures math will render in summaries and fixes math in that were cut off.
+Requires [BeautifulSoup4](http://www.crummy.com/software/BeautifulSoup/bs4/doc/) be installed. **Default Value**: `True`
+ * `message_style`: [string] This value controls the verbosity of the messages in the lower left-hand corner. Set it to `None` to eliminate all messages.
+**Default Value**: normal
+
+#### Settings Examples
+Make math render in blue and displaymath align to the left:
+
+ MATH_JAX = {'color':'blue','align':left}
+
+Use the [color](http://docs.mathjax.org/en/latest/tex.html#color) and
+[mhchem](http://docs.mathjax.org/en/latest/tex.html#mhchem) extensions:
+
+ MATH_JAX = {'tex_extensions': ['color.js','mhchem.js']}
+
+#### Resulting HTML
+Inlined math is wrapped in `span` tags, while displayed math is wrapped in `div` tags.
+These tags will have a class attribute that is set to `math` which
+can be used by template designers to alter the display of the math.
+
+Markdown
+--------
+This plugin implements a custom extension for markdown resulting in math
+being a "first class citizen" for Pelican.
+
+### Inlined Math
+Math between `$`..`$`, for example, `$`x^2`$`, will be rendered inline
+with respect to the current html block. Note: To use inline math, there
+must *not* be any whitespace before the ending `$`. So for example:
+
+ * **Relevant inline math**: `$e=mc^2$`
+ * **Will not render as inline math**: `$40 vs $50`
+
+### Displayed Math
+Math between `$$`..`$$` will be rendered "block style", for example, `$$`x^2`$$`, will be rendered centered in a
+new paragraph.
+
+#### Other Latex Display Math commands
+The other LaTeX commands which usually invoke display math mode from text mode
+are supported,
+and are automatically treated like `$$`-style displayed math
+in that they are rendered "block" style on their own lines.
+For example, `\begin{equation}` x^2 `\end{equation}`,
+will be rendered in its own block with a right justified equation number
+at the top of the block. This equation number can be referenced in the document.
+To do this, use a `label` inside of the equation format and then refer to that label
+using `ref`. For example: `\begin{equation}` `\label{eq}` X^2 `\end{equation}`.
+Now refer to that equation number by `$`\ref{eq}`$`.
+
+reStructuredText
+----------------
+If there is math detected in reStructuredText document, the plugin will automatically
+set the [math_output](http://docutils.sourceforge.net/docs/user/config.html#math-output) configuration setting to `MathJax`.
+
+### Inlined Math
+Inlined math needs to use the [math role](http://docutils.sourceforge.net/docs/ref/rst/roles.html#math):
+
+```
+The area of a circle is :math:`A_\text{c} = (\pi/4) d^2`.
+```
+
+### Displayed Math
+Displayed math uses the [math block](http://docutils.sourceforge.net/docs/ref/rst/directives.html#math):
+
+```
+.. math::
+
+ α_t(i) = P(O_1, O_2, … O_t, q_t = S_i λ)
+```
diff --git a/plugins/render_math/__init__.py b/plugins/render_math/__init__.py
new file mode 100755
index 0000000..2ac15dd
--- /dev/null
+++ b/plugins/render_math/__init__.py
@@ -0,0 +1 @@
+from .math import *
diff --git a/plugins/render_math/math.py b/plugins/render_math/math.py
new file mode 100755
index 0000000..165d59e
--- /dev/null
+++ b/plugins/render_math/math.py
@@ -0,0 +1,367 @@
+# -*- coding: utf-8 -*-
+"""
+Math Render Plugin for Pelican
+==============================
+This plugin allows your site to render Math. It uses
+the MathJax JavaScript engine.
+
+For markdown, the plugin works by creating a Markdown
+extension which is used during the markdown compilation
+stage. Math therefore gets treated like a "first class
+citizen" in Pelican
+
+For reStructuredText, the plugin instructs the rst engine
+to output Mathjax for all math.
+
+The mathjax script is by default automatically inserted
+into the HTML.
+
+Typogrify Compatibility
+-----------------------
+This plugin now plays nicely with Typogrify, but it
+requires Typogrify version 2.07 or above.
+
+User Settings
+-------------
+Users are also able to pass a dictionary of settings
+in the settings file which will control how the MathJax
+library renders things. This could be very useful for
+template builders that want to adjust the look and feel of
+the math. See README for more details.
+"""
+
+import os
+import sys
+
+from pelican import signals, generators
+
+try:
+ from bs4 import BeautifulSoup
+except ImportError as e:
+ BeautifulSoup = None
+
+try:
+ from . pelican_mathjax_markdown_extension import PelicanMathJaxExtension
+except ImportError as e:
+ PelicanMathJaxExtension = None
+
+try:
+ string_type = basestring
+except NameError:
+ string_type = str
+
+
+def process_settings(pelicanobj):
+ """Sets user specified MathJax settings (see README for more details)"""
+
+ mathjax_settings = {}
+
+ # NOTE TO FUTURE DEVELOPERS: Look at the README and what is happening in
+ # this function if any additional changes to the mathjax settings need to
+ # be incorporated. Also, please inline comment what the variables
+ # will be used for
+
+ # Default settings
+ mathjax_settings['auto_insert'] = True # if set to true, it will insert mathjax script automatically into content without needing to alter the template.
+ mathjax_settings['align'] = 'center' # controls alignment of of displayed equations (values can be: left, right, center)
+ mathjax_settings['indent'] = '0em' # if above is not set to 'center', then this setting acts as an indent
+ mathjax_settings['show_menu'] = 'true' # controls whether to attach mathjax contextual menu
+ mathjax_settings['process_escapes'] = 'true' # controls whether escapes are processed
+ mathjax_settings['latex_preview'] = 'TeX' # controls what user sees while waiting for LaTex to render
+ mathjax_settings['color'] = 'inherit' # controls color math is rendered in
+ mathjax_settings['linebreak_automatic'] = 'false' # Set to false by default for performance reasons (see http://docs.mathjax.org/en/latest/output.html#automatic-line-breaking)
+ mathjax_settings['tex_extensions'] = '' # latex extensions that can be embedded inside mathjax (see http://docs.mathjax.org/en/latest/tex.html#tex-and-latex-extensions)
+ mathjax_settings['responsive'] = 'false' # Tries to make displayed math responsive
+ mathjax_settings['responsive_break'] = '768' # The break point at which it math is responsively aligned (in pixels)
+ mathjax_settings['mathjax_font'] = 'default' # forces mathjax to use the specified font.
+ mathjax_settings['process_summary'] = BeautifulSoup is not None # will fix up summaries if math is cut off. Requires beautiful soup
+ mathjax_settings['message_style'] = 'normal' # This value controls the verbosity of the messages in the lower left-hand corner. Set it to "none" to eliminate all messages
+ mathjax_settings['font_list'] = ['STIX', 'TeX'] # Include in order of preference among TeX, STIX-Web, Asana-Math, Neo-Euler, Gyre-Pagella, Gyre-Termes and Latin-Modern
+ mathjax_settings['equation_numbering'] = 'none' # AMS, auto, none
+
+ # Source for MathJax
+ mathjax_settings['source'] = "'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/latest.js?config=TeX-AMS-MML_HTMLorMML'"
+
+ # Get the user specified settings
+ try:
+ settings = pelicanobj.settings['MATH_JAX']
+ except:
+ settings = None
+
+ # If no settings have been specified, then return the defaults
+ if not isinstance(settings, dict):
+ return mathjax_settings
+
+ # The following mathjax settings can be set via the settings dictionary
+ for key, value in ((key, settings[key]) for key in settings):
+ # Iterate over dictionary in a way that is compatible with both version 2
+ # and 3 of python
+
+ if key == 'align':
+ typeVal = isinstance(value, string_type)
+
+ if not typeVal:
+ continue
+
+ if value == 'left' or value == 'right' or value == 'center':
+ mathjax_settings[key] = value
+ else:
+ mathjax_settings[key] = 'center'
+
+ if key == 'indent':
+ mathjax_settings[key] = value
+
+ if key == 'source':
+ mathjax_settings[key] = value
+
+ if key == 'show_menu' and isinstance(value, bool):
+ mathjax_settings[key] = 'true' if value else 'false'
+
+ if key == 'message_style':
+ mathjax_settings[key] = value if value is not None else 'none'
+
+ if key == 'auto_insert' and isinstance(value, bool):
+ mathjax_settings[key] = value
+
+ if key == 'process_escapes' and isinstance(value, bool):
+ mathjax_settings[key] = 'true' if value else 'false'
+
+ if key == 'latex_preview':
+ typeVal = isinstance(value, string_type)
+
+ if not typeVal:
+ continue
+
+ mathjax_settings[key] = value
+
+ if key == 'color':
+ typeVal = isinstance(value, string_type)
+
+ if not typeVal:
+ continue
+
+ mathjax_settings[key] = value
+
+ if key == 'linebreak_automatic' and isinstance(value, bool):
+ mathjax_settings[key] = 'true' if value else 'false'
+
+ if key == 'process_summary' and isinstance(value, bool):
+ if value and BeautifulSoup is None:
+ print("BeautifulSoup4 is needed for summaries to be processed by render_math\nPlease install it")
+ value = False
+
+ mathjax_settings[key] = value
+
+ if key == 'responsive' and isinstance(value, bool):
+ mathjax_settings[key] = 'true' if value else 'false'
+
+ if key == 'responsive_break' and isinstance(value, int):
+ mathjax_settings[key] = str(value)
+
+ if key == 'tex_extensions' and isinstance(value, list):
+ # filter string values, then add '' to them
+ value = filter(lambda string: isinstance(string, string_type), value)
+ value = map(lambda string: "'%s'" % string, value)
+ mathjax_settings[key] = ',' + ','.join(value)
+
+ if key == 'mathjax_font':
+ typeVal = isinstance(value, string_type)
+
+ if not typeVal:
+ continue
+
+ value = value.lower()
+
+ if value == 'sanserif':
+ value = 'SansSerif'
+ elif value == 'fraktur':
+ value = 'Fraktur'
+ elif value == 'typewriter':
+ value = 'Typewriter'
+ else:
+ value = 'default'
+
+ mathjax_settings[key] = value
+
+ if key == 'font_list' and isinstance(value, list):
+ # make an array string from the list
+ value = filter(lambda string: isinstance(string, string_type), value)
+ value = map(lambda string: ",'%s'" % string, value)
+ mathjax_settings[key] = ''.join(value)[1:]
+
+ if key == 'equation_numbering':
+ mathjax_settings[key] = value if value is not None else 'none'
+
+ return mathjax_settings
+
+def process_summary(article):
+ """Ensures summaries are not cut off. Also inserts
+ mathjax script so that math will be rendered"""
+
+ summary = article.summary
+ summary_parsed = BeautifulSoup(summary, 'html.parser')
+ math = summary_parsed.find_all(class_='math')
+
+ if len(math) > 0:
+ last_math_text = math[-1].get_text()
+ if len(last_math_text) > 3 and last_math_text[-3:] == '...':
+ content_parsed = BeautifulSoup(article._content, 'html.parser')
+ full_text = content_parsed.find_all(class_='math')[len(math)-1].get_text()
+ math[-1].string = "%s ..." % full_text
+ summary = summary_parsed.decode()
+
+ # clear memoization cache
+ import functools
+ if isinstance(article.get_summary, functools.partial):
+ memoize_instance = article.get_summary.func.__self__
+ memoize_instance.cache.clear()
+
+ article._summary = "%s<script type='text/javascript'>%s</script>" % (summary, process_summary.mathjax_script)
+
+def configure_typogrify(pelicanobj, mathjax_settings):
+ """Instructs Typogrify to ignore math tags - which allows Typogrify
+ to play nicely with math related content"""
+
+ # If Typogrify is not being used, then just exit
+ if not pelicanobj.settings.get('TYPOGRIFY', False):
+ return
+
+ try:
+ import typogrify
+ from distutils.version import LooseVersion
+
+ if LooseVersion(typogrify.__version__) < LooseVersion('2.0.7'):
+ raise TypeError('Incorrect version of Typogrify')
+
+ from typogrify.filters import typogrify
+
+ # At this point, we are happy to use Typogrify, meaning
+ # it is installed and it is a recent enough version
+ # that can be used to ignore all math
+ # Instantiate markdown extension and append it to the current extensions
+ pelicanobj.settings['TYPOGRIFY_IGNORE_TAGS'].extend(['.math', 'script']) # ignore math class and script
+
+ except (ImportError, TypeError) as e:
+ pelicanobj.settings['TYPOGRIFY'] = False # disable Typogrify
+
+ if isinstance(e, ImportError):
+ print("\nTypogrify is not installed, so it is being ignored.\nIf you want to use it, please install via: pip install typogrify\n")
+
+ if isinstance(e, TypeError):
+ print("\nA more recent version of Typogrify is needed for the render_math module.\nPlease upgrade Typogrify to the latest version (anything equal or above version 2.0.7 is okay).\nTypogrify will be turned off due to this reason.\n")
+
+def process_mathjax_script(mathjax_settings):
+ """Load the mathjax script template from file, and render with the settings"""
+
+ # Read the mathjax javascript template from file
+ with open (os.path.dirname(os.path.realpath(__file__))
+ + '/mathjax_script_template', 'r') as mathjax_script_template:
+ mathjax_template = mathjax_script_template.read()
+
+ return mathjax_template.format(**mathjax_settings)
+
+def mathjax_for_markdown(pelicanobj, mathjax_script, mathjax_settings):
+ """Instantiates a customized markdown extension for handling mathjax
+ related content"""
+
+ # Create the configuration for the markdown template
+ config = {}
+ config['mathjax_script'] = mathjax_script
+ config['math_tag_class'] = 'math'
+ config['auto_insert'] = mathjax_settings['auto_insert']
+
+ # Instantiate markdown extension and append it to the current extensions
+ try:
+ if isinstance(pelicanobj.settings.get('MD_EXTENSIONS'), list): # pelican 3.6.3 and earlier
+ pelicanobj.settings['MD_EXTENSIONS'].append(PelicanMathJaxExtension(config))
+ else:
+ pelicanobj.settings['MARKDOWN'].setdefault('extensions', []).append(PelicanMathJaxExtension(config))
+ except:
+ sys.excepthook(*sys.exc_info())
+ sys.stderr.write("\nError - the pelican mathjax markdown extension failed to configure. MathJax is non-functional.\n")
+ sys.stderr.flush()
+
+def mathjax_for_rst(pelicanobj, mathjax_script, mathjax_settings):
+ """Setup math for RST"""
+ docutils_settings = pelicanobj.settings.get('DOCUTILS_SETTINGS', {})
+ docutils_settings.setdefault('math_output', 'MathJax %s' % mathjax_settings['source'])
+ pelicanobj.settings['DOCUTILS_SETTINGS'] = docutils_settings
+ rst_add_mathjax.mathjax_script = mathjax_script
+
+def pelican_init(pelicanobj):
+ """
+ Loads the mathjax script according to the settings.
+ Instantiate the Python markdown extension, passing in the mathjax
+ script as config parameter.
+ """
+
+ # Process settings, and set global var
+ mathjax_settings = process_settings(pelicanobj)
+
+ # Generate mathjax script
+ mathjax_script = process_mathjax_script(mathjax_settings)
+
+ # Configure Typogrify
+ configure_typogrify(pelicanobj, mathjax_settings)
+
+ # Configure Mathjax For Markdown
+ if PelicanMathJaxExtension:
+ mathjax_for_markdown(pelicanobj, mathjax_script, mathjax_settings)
+
+ # Configure Mathjax For RST
+ mathjax_for_rst(pelicanobj, mathjax_script, mathjax_settings)
+
+ # Set process_summary's mathjax_script variable
+ process_summary.mathjax_script = None
+ if mathjax_settings['process_summary']:
+ process_summary.mathjax_script = mathjax_script
+
+def rst_add_mathjax(content):
+ """Adds mathjax script for reStructuredText"""
+
+ # .rst is the only valid extension for reStructuredText files
+ _, ext = os.path.splitext(os.path.basename(content.source_path))
+ if ext != '.rst':
+ return
+
+ # If math class is present in text, add the javascript
+ # note that RST hardwires mathjax to be class "math"
+ if 'class="math"' in content._content:
+ content._content += "<script type='text/javascript'>%s</script>" % rst_add_mathjax.mathjax_script
+
+def process_rst_and_summaries(content_generators):
+ """
+ Ensure mathjax script is applied to RST and summaries are
+ corrected if specified in user settings.
+
+ Handles content attached to ArticleGenerator and PageGenerator objects,
+ since the plugin doesn't know how to handle other Generator types.
+
+ For reStructuredText content, examine both articles and pages.
+ If article or page is reStructuredText and there is math present,
+ append the mathjax script.
+
+ Also process summaries if present (only applies to articles)
+ and user wants summaries processed (via user settings)
+ """
+
+ for generator in content_generators:
+ if isinstance(generator, generators.ArticlesGenerator):
+ for article in (
+ generator.articles +
+ generator.translations +
+ generator.drafts):
+ rst_add_mathjax(article)
+ #optionally fix truncated formulae in summaries.
+ if process_summary.mathjax_script is not None:
+ process_summary(article)
+ elif isinstance(generator, generators.PagesGenerator):
+ for page in generator.pages:
+ rst_add_mathjax(page)
+ for page in generator.hidden_pages:
+ rst_add_mathjax(page)
+
+def register():
+ """Plugin registration"""
+ signals.initialized.connect(pelican_init)
+ signals.all_generators_finalized.connect(process_rst_and_summaries)
diff --git a/plugins/render_math/mathjax_script_template b/plugins/render_math/mathjax_script_template
new file mode 100755
index 0000000..db8aeba
--- /dev/null
+++ b/plugins/render_math/mathjax_script_template
@@ -0,0 +1,61 @@
+if (!document.getElementById('mathjaxscript_pelican_#%@#$@#')) {{
+ var align = "{align}",
+ indent = "{indent}",
+ linebreak = "{linebreak_automatic}";
+
+ if ({responsive}) {{
+ align = (screen.width < {responsive_break}) ? "left" : align;
+ indent = (screen.width < {responsive_break}) ? "0em" : indent;
+ linebreak = (screen.width < {responsive_break}) ? 'true' : linebreak;
+ }}
+
+ var mathjaxscript = document.createElement('script');
+ mathjaxscript.id = 'mathjaxscript_pelican_#%@#$@#';
+ mathjaxscript.type = 'text/javascript';
+ mathjaxscript.src = {source};
+
+ var configscript = document.createElement('script');
+ configscript.type = 'text/x-mathjax-config';
+ configscript[(window.opera ? "innerHTML" : "text")] =
+ "MathJax.Hub.Config({{" +
+ " config: ['MMLorHTML.js']," +
+ " TeX: {{ extensions: ['AMSmath.js','AMSsymbols.js','noErrors.js','noUndefined.js'{tex_extensions}], equationNumbers: {{ autoNumber: '{equation_numbering}' }} }}," +
+ " jax: ['input/TeX','input/MathML','output/HTML-CSS']," +
+ " extensions: ['tex2jax.js','mml2jax.js','MathMenu.js','MathZoom.js']," +
+ " displayAlign: '"+ align +"'," +
+ " displayIndent: '"+ indent +"'," +
+ " showMathMenu: {show_menu}," +
+ " messageStyle: '{message_style}'," +
+ " tex2jax: {{ " +
+ " inlineMath: [ ['\\\\(','\\\\)'] ], " +
+ " displayMath: [ ['$$','$$'] ]," +
+ " processEscapes: {process_escapes}," +
+ " preview: '{latex_preview}'," +
+ " }}, " +
+ " 'HTML-CSS': {{ " +
+ " availableFonts: {font_list}," +
+ " preferredFont: 'STIX'," +
+ " styles: {{ '.MathJax_Display, .MathJax .mo, .MathJax .mi, .MathJax .mn': {{color: '{color} ! important'}} }}," +
+ " linebreaks: {{ automatic: "+ linebreak +", width: '90% container' }}," +
+ " }}, " +
+ "}}); " +
+ "if ('{mathjax_font}' !== 'default') {{" +
+ "MathJax.Hub.Register.StartupHook('HTML-CSS Jax Ready',function () {{" +
+ "var VARIANT = MathJax.OutputJax['HTML-CSS'].FONTDATA.VARIANT;" +
+ "VARIANT['normal'].fonts.unshift('MathJax_{mathjax_font}');" +
+ "VARIANT['bold'].fonts.unshift('MathJax_{mathjax_font}-bold');" +
+ "VARIANT['italic'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
+ "VARIANT['-tex-mathit'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
+ "}});" +
+ "MathJax.Hub.Register.StartupHook('SVG Jax Ready',function () {{" +
+ "var VARIANT = MathJax.OutputJax.SVG.FONTDATA.VARIANT;" +
+ "VARIANT['normal'].fonts.unshift('MathJax_{mathjax_font}');" +
+ "VARIANT['bold'].fonts.unshift('MathJax_{mathjax_font}-bold');" +
+ "VARIANT['italic'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
+ "VARIANT['-tex-mathit'].fonts.unshift('MathJax_{mathjax_font}-italic');" +
+ "}});" +
+ "}}";
+
+ (document.body || document.getElementsByTagName('head')[0]).appendChild(configscript);
+ (document.body || document.getElementsByTagName('head')[0]).appendChild(mathjaxscript);
+}}
diff --git a/plugins/render_math/pelican_mathjax_markdown_extension.py b/plugins/render_math/pelican_mathjax_markdown_extension.py
new file mode 100755
index 0000000..e739363
--- /dev/null
+++ b/plugins/render_math/pelican_mathjax_markdown_extension.py
@@ -0,0 +1,158 @@
+# -*- coding: utf-8 -*-
+"""
+Pelican Mathjax Markdown Extension
+==================================
+An extension for the Python Markdown module that enables
+the Pelican python blog to process mathjax. This extension
+gives Pelican the ability to use Mathjax as a "first class
+citizen" of the blog
+"""
+
+import markdown
+
+from markdown.util import etree
+from markdown.util import AtomicString
+
+class PelicanMathJaxPattern(markdown.inlinepatterns.Pattern):
+ """Inline markdown processing that matches mathjax"""
+
+ def __init__(self, pelican_mathjax_extension, tag, pattern):
+ super(PelicanMathJaxPattern,self).__init__(pattern)
+ self.math_tag_class = pelican_mathjax_extension.getConfig('math_tag_class')
+ self.pelican_mathjax_extension = pelican_mathjax_extension
+ self.tag = tag
+
+ def handleMatch(self, m):
+ node = markdown.util.etree.Element(self.tag)
+ node.set('class', self.math_tag_class)
+
+ prefix = '\\(' if m.group('prefix') == '$' else m.group('prefix')
+ suffix = '\\)' if m.group('suffix') == '$' else m.group('suffix')
+ node.text = markdown.util.AtomicString(prefix + m.group('math') + suffix)
+
+ # If mathjax was successfully matched, then JavaScript needs to be added
+ # for rendering. The boolean below indicates this
+ self.pelican_mathjax_extension.mathjax_needed = True
+ return node
+
+class PelicanMathJaxCorrectDisplayMath(markdown.treeprocessors.Treeprocessor):
+ """Corrects invalid html that results from a <div> being put inside
+ a <p> for displayed math"""
+
+ def __init__(self, pelican_mathjax_extension):
+ self.pelican_mathjax_extension = pelican_mathjax_extension
+
+ def correct_html(self, root, children, div_math, insert_idx, text):
+ """Separates out <div class="math"> from the parent tag <p>. Anything
+ in between is put into its own parent tag of <p>"""
+
+ current_idx = 0
+
+ for idx in div_math:
+ el = markdown.util.etree.Element('p')
+ el.text = text
+ el.extend(children[current_idx:idx])
+
+ # Test to ensure that empty <p> is not inserted
+ if len(el) != 0 or (el.text and not el.text.isspace()):
+ root.insert(insert_idx, el)
+ insert_idx += 1
+
+ text = children[idx].tail
+ children[idx].tail = None
+ root.insert(insert_idx, children[idx])
+ insert_idx += 1
+ current_idx = idx+1
+
+ el = markdown.util.etree.Element('p')
+ el.text = text
+ el.extend(children[current_idx:])
+
+ if len(el) != 0 or (el.text and not el.text.isspace()):
+ root.insert(insert_idx, el)
+
+ def run(self, root):
+ """Searches for <div class="math"> that are children in <p> tags and corrects
+ the invalid HTML that results"""
+
+ math_tag_class = self.pelican_mathjax_extension.getConfig('math_tag_class')
+
+ for parent in root:
+ div_math = []
+ children = list(parent)
+
+ for div in parent.findall('div'):
+ if div.get('class') == math_tag_class:
+ div_math.append(children.index(div))
+
+ # Do not process further if no displayed math has been found
+ if not div_math:
+ continue
+
+ insert_idx = list(root).index(parent)
+ self.correct_html(root, children, div_math, insert_idx, parent.text)
+ root.remove(parent) # Parent must be removed last for correct insertion index
+
+ return root
+
+class PelicanMathJaxAddJavaScript(markdown.treeprocessors.Treeprocessor):
+ """Tree Processor for adding Mathjax JavaScript to the blog"""
+
+ def __init__(self, pelican_mathjax_extension):
+ self.pelican_mathjax_extension = pelican_mathjax_extension
+
+ def run(self, root):
+ # If no mathjax was present, then exit
+ if (not self.pelican_mathjax_extension.mathjax_needed):
+ return root
+
+ # Add the mathjax script to the html document
+ mathjax_script = etree.Element('script')
+ mathjax_script.set('type','text/javascript')
+ mathjax_script.text = AtomicString(self.pelican_mathjax_extension.getConfig('mathjax_script'))
+ root.append(mathjax_script)
+
+ # Reset the boolean switch to false so that script is only added
+ # to other pages if needed
+ self.pelican_mathjax_extension.mathjax_needed = False
+ return root
+
+class PelicanMathJaxExtension(markdown.Extension):
+ """A markdown extension enabling mathjax processing in Markdown for Pelican"""
+ def __init__(self, config):
+
+ try:
+ # Needed for markdown versions >= 2.5
+ self.config['mathjax_script'] = ['', 'Mathjax JavaScript script']
+ self.config['math_tag_class'] = ['math', 'The class of the tag in which mathematics is wrapped']
+ self.config['auto_insert'] = [True, 'Determines if mathjax script is automatically inserted into content']
+ super(PelicanMathJaxExtension,self).__init__(**config)
+ except AttributeError:
+ # Markdown versions < 2.5
+ config['mathjax_script'] = [config['mathjax_script'], 'Mathjax JavaScript script']
+ config['math_tag_class'] = [config['math_tag_class'], 'The class of the tag in which mathematic is wrapped']
+ config['auto_insert'] = [config['auto_insert'], 'Determines if mathjax script is automatically inserted into content']
+ super(PelicanMathJaxExtension,self).__init__(config)
+
+ # Used as a flag to determine if javascript
+ # needs to be injected into a document
+ self.mathjax_needed = False
+
+ def extendMarkdown(self, md):
+ # Regex to detect mathjax
+ mathjax_inline_regex = r'(?P<prefix>\$)(?P<math>.+?)(?P<suffix>(?<!\s)\2)'
+ mathjax_display_regex = r'(?P<prefix>\$\$|\\begin\{(.+?)\})(?P<math>.+?)(?P<suffix>\2|\\end\{\3\})'
+
+ # Process mathjax before escapes are processed since escape processing will
+ # intefer with mathjax. The order in which the displayed and inlined math
+ # is registered below matters: we should have higher priority than 'escape' which has 180
+ md.inlinePatterns.register(PelicanMathJaxPattern(self, 'div', mathjax_display_regex), 'mathjax_displayed', 186)
+ md.inlinePatterns.register(PelicanMathJaxPattern(self, 'span', mathjax_inline_regex), 'mathjax_inlined', 185)
+
+ # Correct the invalid HTML that results from teh displayed math (<div> tag within a <p> tag)
+ md.treeprocessors.register(PelicanMathJaxCorrectDisplayMath(self), 'mathjax_correctdisplayedmath', 15)
+
+ # If necessary, add the JavaScript Mathjax library to the document. This must
+ # be last in the ordered dict (hence it is given the position '_end')
+ if self.getConfig('auto_insert'):
+ md.treeprocessors.register(PelicanMathJaxAddJavaScript(self), 'mathjax_addjavascript', 0)
diff --git a/plugins/render_math/requirements.txt b/plugins/render_math/requirements.txt
new file mode 100755
index 0000000..be64ec9
--- /dev/null
+++ b/plugins/render_math/requirements.txt
@@ -0,0 +1 @@
+typogrify
diff --git a/plugins/render_math/test_data/article.ipynb b/plugins/render_math/test_data/article.ipynb
new file mode 100755
index 0000000..890f8be
--- /dev/null
+++ b/plugins/render_math/test_data/article.ipynb
@@ -0,0 +1,42 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "source": [
+ "The formula is:\n",
+ "\n",
+ "\\begin{align*}A =\n",
+ "LL^{T}\n",
+ "\\end{align*}\n"
+ ],
+ "metadata": {}
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "name": "python3",
+ "language": "python",
+ "display_name": "Python 3"
+ },
+ "language_info": {
+ "name": "python",
+ "version": "3.7.3",
+ "mimetype": "text/x-python",
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "pygments_lexer": "ipython3",
+ "nbconvert_exporter": "python",
+ "file_extension": ".py"
+ },
+ "kernel_info": {
+ "name": "python3"
+ },
+ "nteract": {
+ "version": "0.14.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+} \ No newline at end of file
diff --git a/plugins/render_math/test_data/article.nbdata b/plugins/render_math/test_data/article.nbdata
new file mode 100755
index 0000000..bf13538
--- /dev/null
+++ b/plugins/render_math/test_data/article.nbdata
@@ -0,0 +1,5 @@
+Title: An article from a Jupyter notebook
+Date: 2019-03-05 12:14
+Category: Mathematics
+Tags: Linear Algebra, Python, Numpy, Scipy
+Summary: This is a advance part of Linear Algebra with Python \ No newline at end of file
diff --git a/plugins/render_math/test_data/article_with_math_formulas.rst b/plugins/render_math/test_data/article_with_math_formulas.rst
new file mode 100755
index 0000000..87dcc45
--- /dev/null
+++ b/plugins/render_math/test_data/article_with_math_formulas.rst
@@ -0,0 +1,20 @@
+Math formulas
+#############
+
+:date: 2019-09-10
+:yeah: oh yeah !
+:summary: :math:`A_\text{c} = (\pi/4) d^2`
+
+The area of a circle is :math:`A_\text{c} = (\pi/4) d^2`.
+
+.. math::
+
+ α_t(i) = P(O_1, O_2, … O_t, q_t = S_i λ)
+
+ A =
+ \begin{bmatrix}
+ a_{11} & a_{12} & a_{13} \
+ a_{21} & a_{22} & a_{23} \
+ a_{31} & a_{32} & a_{33}
+ \end{bmatrix}
+ \ No newline at end of file
diff --git a/plugins/render_math/test_render_math.py b/plugins/render_math/test_render_math.py
new file mode 100755
index 0000000..b71f4e7
--- /dev/null
+++ b/plugins/render_math/test_render_math.py
@@ -0,0 +1,56 @@
+# -*- coding: utf-8 -*-
+from os.path import dirname, join
+from tempfile import TemporaryDirectory
+
+from pelican import Pelican
+from pelican.generators import ArticlesGenerator
+from pelican.settings import configure_settings
+from pelican.tests.support import get_settings, unittest
+from pelican.writers import Writer
+
+from .math import pelican_init, process_rst_and_summaries
+
+
+CUR_DIR = dirname(__file__)
+
+
+class RenderMathTest(unittest.TestCase):
+ def test_ok_on_shared_test_data(self):
+ settings = get_settings(filenames={})
+ settings['PATH'] = join(CUR_DIR, '..', 'test_data')
+ pelican_init(PelicanMock(settings))
+ with TemporaryDirectory() as tmpdirname:
+ generator = _build_article_generator(settings, tmpdirname)
+ process_rst_and_summaries([generator])
+ def test_ok_on_custom_data(self):
+ settings = get_settings(filenames={})
+ settings['PATH'] = join(CUR_DIR, 'test_data')
+ settings['PLUGINS'] = ['pelican-ipynb.markup'] # to also parse .ipynb files
+ configure_settings(settings)
+ pelican_mock = PelicanMock(settings)
+ pelican_init(pelican_mock)
+ Pelican.init_plugins(pelican_mock)
+ with TemporaryDirectory() as tmpdirname:
+ generator = _build_article_generator(settings, tmpdirname)
+ process_rst_and_summaries([generator])
+ for article in generator.articles:
+ if article.source_path.endswith('.rst'):
+ self.assertIn('mathjaxscript_pelican', article.content)
+ generator.generate_output(Writer(tmpdirname, settings=settings))
+
+
+def _build_article_generator(settings, output_path):
+ context = settings.copy()
+ context['generated_content'] = dict()
+ context['static_links'] = set()
+ article_generator = ArticlesGenerator(
+ context=context, settings=settings,
+ path=settings['PATH'], theme=settings['THEME'], output_path=output_path)
+ article_generator.generate_context()
+ return article_generator
+
+class PelicanMock:
+ 'A dummy class exposing the only attributes needed'
+ def __init__(self, settings):
+ self.plugins = []
+ self.settings = settings