From c2eaf08daa2bf375c62e1aa4f157a6b4ce77410f Mon Sep 17 00:00:00 2001 From: Denis Merigoux Date: Fri, 2 Apr 2021 17:57:44 +0200 Subject: [PATCH] Fixed missing stub in JS output --- CONTRIBUTING.md | 5 +- Makefile | 5 +- catala.opam | 4 +- dune-project | 4 +- french_law_js/french_law.js | 2381 ++++++++++++++++++----------------- src/catala/surface/ast.mli | 91 +- 6 files changed, 1261 insertions(+), 1229 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 23fed0ab..5b660adb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -45,7 +45,6 @@ Please look at the code of other examples to see how to format things properly. While formatting the text, don't forget regularly to try and parse your example using for instance - ``` make -C examples/foo foo.tex ``` @@ -92,13 +91,13 @@ You can look at the [online OCaml documentation](https://catala-lang.org/ocaml_docs/) for the different modules' interfaces as well as high-level architecture documentation. -Please note that the `ocamlformat` version the this project use is `0.17.0`. +Please note that the `ocamlformat` version the this project use is `0.18.0`. Using another version may cause spurious diffs to appear in your pull requests. ## Internationalization The Catala language should be adapted to any legislative text that follows a -general-to-specifics statutes order. Therefore, there exists multiple versions +general-to-specifics statutes order. Therefore, there exists multiple versions of the Catala surface syntax, adapted to the language of the legislative text. Currently, Catala supports English and French legislative text via the diff --git a/Makefile b/Makefile index e810a5fc..9f5674b9 100644 --- a/Makefile +++ b/Makefile @@ -10,12 +10,13 @@ K := $(foreach exec,$(EXECUTABLES),\ $(if $(shell which $(exec)),some string,$(warning [WARNING] No "$(exec)" executable found. \ Please install this executable for everything to work smoothly))) +# The Zarith dependency is fixed because of https://github.com/janestreet/zarith_stubs_js/pull/8 dependencies-ocaml: opam install \ ocamlformat ANSITerminal sedlex menhir menhirLib dune cmdliner obelisk \ - re obelisk unionfind bindlib zarith zarith_stubs_js ocamlgraph \ + re obelisk unionfind bindlib zarith.1.11 zarith_stubs_js.v0.14.0 ocamlgraph \ js_of_ocaml-compiler js_of_ocaml js_of_ocaml-ppx calendar camomile \ - visitors benchmark ocamlformat + visitors benchmark init-submodules: git submodule update --init diff --git a/catala.opam b/catala.opam index 74e081c9..ce9ccc5c 100644 --- a/catala.opam +++ b/catala.opam @@ -21,8 +21,8 @@ depends: [ "bindlib" {>= "5.0.1"} "cmdliner" {>= "1.0.4"} "re" {>= "1.9.0"} - "zarith" {>= "1.10"} - "zarith_stubs_js" {>= "0.14.0"} + "zarith" {= "1.11"} + "zarith_stubs_js" {= "0.14.0"} "dune" {>= "2.2"} "ocamlgraph" {>= "1.8.8"} "calendar" {>= "2.04"} diff --git a/dune-project b/dune-project index 3dcfa6dc..ce998844 100644 --- a/dune-project +++ b/dune-project @@ -29,8 +29,8 @@ (bindlib (>= 5.0.1)) (cmdliner (>= 1.0.4)) (re (>= 1.9.0)) - (zarith (>= 1.10)) - (zarith_stubs_js (>= 0.14.0)) + (zarith (= 1.11)) + (zarith_stubs_js (= 0.14.0)) (dune (>= 2.2)) (ocamlgraph (>= 1.8.8)) (calendar (>= 2.04)) diff --git a/french_law_js/french_law.js b/french_law_js/french_law.js index c8627cbf..00686696 100644 --- a/french_law_js/french_law.js +++ b/french_law_js/french_law.js @@ -1,6 +1,6 @@ -// Generated by js_of_ocaml 3.8.0 +// Generated by js_of_ocaml 3.9.1 (function(n){"use strict";var -cd=1582,gd="src/time_Zone.ml",gP=1e14,gw="Invalid_argument",gx=" is too large for shifting.",gv="0.08",cW="Map.bal",d5=1255,ed="<",bx=255,gO=0x800,gu="577500",b8=2019,d4="jsError",aF=0x8000,gt="%ni",cc=146097,g5=43200.,bA=256,ea="ml_z_overflow",gN=0.012,C=86400.,gc="End_of_file",aH=2020,gb="Failure",am=0xff,gs=-45,el=-12,g4="559500",ek=122,gr="582700",g3=992015837,q="0",ec=0xf,ej="0.5",ce=128,cS=-48,ga=0xdc00,gq="Sys_blocked_io",g2="fd ",d$="0.0588",w=248,P="camlinternalFormat.ml",gM="Division_by_zero",c6=">",bC=153,g1=1027,f$="Sys_error",gL="x",d_=246,aT=60.,gp="%u",gK="%d",go=3268,f_=32082,bd=1900,gJ="buffer.ml",g0="_bigarray",aG="2",d9=127,b9=1024,ai="1",c5="e",cR=120,d3=103,gn=" : flags Open_rdonly and Open_wronly are not compatible",c1=127686388,f9="16",gI=102,gZ="([^/]*)",d2=512,X="-",f8=0x7ff0,bb=803994948,gm=" : file already exists",gH=101,aX=0xffffff,f7="0x",gY=-43,c4=86400,gX="Out_of_memory",bl=1e7,gW="inf",cb=254,ei="index out of bounds",at=100,eh="_bigarr02",f6="%Li",gG=" : flags Open_text and Open_binary are not compatible",ca="3",gV=0xffffffff,gF="169.",gl=2147483647,bc=0.5,aJ=0xffff,c3=417088404,f5="str.ml",gk=12520,gU=400,gj=-46,ac=3600,cQ="_z",gD="Unix.Unix_error",gE="computeAllocationsFamiliales",gC="0.55",gT="infinity",ar=1000,i="",gB="Stack_overflow",d8="^",ba=3600.,gi=86400000,by=0x3f,gA="Not_found",eg=124,b$=1461,gh="Match_failure",f3=32044,f4=", ",c0="1.",f2="static/",aW=2021,ef=252,aY=".",aV="+",gz=2440588,gS=0xf0,f1="src/date.ml",bB="12.",gg="%li",gy=1026,c2=365,cZ="Invalid integer: ",cY=2440587.5,ee=-32,aS=" ",as=0x80,aI=1023,f0="Undefined_recursive_module",cV=2299161,d7="nan",gR=969837588,cX="src/calendar_builder.ml",gf=0xe0,ge=0xdfff,aU="/",eb="compare: functional value",gQ="Assert_failure",fZ="0.16",cU=2400000.5,b_="0.",fY="%i",d6=1073741823,bz=529348384,cT=250;function +cd=1582,gc="src/time_Zone.ml",gQ=1e14,gw="Invalid_argument",gx=" is too large for shifting.",gv="0.08",cW="Map.bal",d7=1255,ed="<",by=255,gP=0x800,gu="577500",b8=2019,d6="jsError",aF=0x8000,gt="%ni",cc=146097,g5=43200.,bB=256,ea="ml_z_overflow",gO=0.012,C=86400.,gb="End_of_file",aH=2020,ga="Failure",am=0xff,gs=-45,ej=-12,g4="559500",gr="582700",g3=992015837,q="0",ec=0xf,ei="0.5",ce=128,cS=-48,f$=0xdc00,gq="Sys_blocked_io",g2="fd ",d$="0.0588",x=248,P="camlinternalFormat.ml",gN="Division_by_zero",c8=">",bD=153,g1=1027,f_="Sys_error",gM="x",gp=246,aT=60.,go="%u",gL="%d",gn=3268,f9=32082,bd=1900,gK="buffer.ml",aG="2",b9=127,b_=1024,ai="1",c7="e",cR=120,d5=103,gm=" : flags Open_rdonly and Open_wronly are not compatible",c2=127686388,f8="16",gJ=102,g0="([^/]*)",d4=512,X="-",f7=0x7ff0,bb=803994948,gl=" : file already exists",gI=101,aX=0xffffff,f6="0x",gZ=-43,c6=86400,gY="Out_of_memory",bl=1e7,gX="inf",c1=254,eh="index out of bounds",at=100,c5="_bigarr02",f5="%Li",gH=" : flags Open_text and Open_binary are not compatible",cb="3",gW=0xffffffff,gG="169.",gk=2147483647,bc=0.5,aJ=0xffff,c4=417088404,f4="str.ml",gj=12520,gV=400,gi=-46,ac=3600,cQ="_z",gE="Unix.Unix_error",gF="computeAllocationsFamiliales",gD="0.55",gU="infinity",ar=1000,i="",gC="Stack_overflow",d_="^",ba=3600.,gh=86400000,bz=0x3f,gB=-97,gA="Not_found",eg=124,ca=1461,gg="Match_failure",f2=32044,f3=", ",c0="1.",f1="static/",aW=2021,ef=252,aY=".",aV="+",gz=2440588,gT=0xf0,f0="src/date.ml",bC="12.",gf="%li",gy=1026,c3=365,cZ="Invalid integer: ",cY=2440587.5,ee=-32,aS=" ",as=0x80,aI=1023,fZ="Undefined_recursive_module",cV=2299161,d9="nan",gS=969837588,cX="src/calendar_builder.ml",ge=0xe0,gd=0xdfff,aU="/",eb="compare: functional value",gR="Assert_failure",fY="0.16",cU=2400000.5,b$="0.",fX="%i",d8=1073741823,bA=529348384,cT=250;function sr(d,b,e,c,f){if(c<=b)for(var a=1;a<=f;a++)e[c+a]=d[b+a];else for(var @@ -9,17 +9,17 @@ su(e,f,d){var a=new Array(d+1);a[0]=0;for(var b=1,c=f+1;b<=d;b++,c++)a[b]=e[c];return a}function -dc(c,b,a){var +de(c,b,a){var d=String.fromCharCode;if(b==0&&a<=4096&&a==c.length)return d.apply(null,c);var -e=i;for(;0=b.l||b.t==2&&c>=b.c.length)){b.c=d.t==4?dc(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?dc(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)c7(b);var +bf(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?de(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?de(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)c9(b);var g=d.c,h=b.c;if(d.t==4)if(f<=e)for(var a=0;a>=1;if(b==0)return d;a+=a;c++;if(c==9)a.slice(0,1)}}function -bi(a){if(a.t==2)a.c+=bI(a.l-a.c.length,"\0");else -a.c=dc(a.c,0,a.c.length);a.t=0}function +bi(a){if(a.t==2)a.c+=bJ(a.l-a.c.length,"\0");else +a.c=de(a.c,0,a.c.length);a.t=0}function hd(a,b){if(a===b)return 1;a.t&6&&bi(a);b.t&6&&bi(b);return a.c==b.c?1:0}function -tc(b,a){throw[0,b,a]}function -hw(a){if(a.length<24){for(var -b=0;bd9)return false;return true}else +tb(b,a){throw[0,b,a]}function +hx(a){if(a.length<24){for(var +b=0;bb9)return false;return true}else return!/[^\x00-\x7f]/.test(a)}function -eC(e){for(var +eA(e){for(var k=i,c=i,g,f,h,a,b=0,j=e.length;bd2){c.substr(0,1);k+=c;c=i;k+=e.slice(b,d)}else -c+=e.slice(b,d);if(d==j)break;b=d}a=1;if(++b=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b0x10ffff)a=3}}}}}if(a<4){b-=a;c+="\ufffd"}else -if(a>aJ)c+=String.fromCharCode(0xd7c0+(a>>10),ga+(a&0x3FF));else -c+=String.fromCharCode(a);if(c.length>b9){c.substr(0,1);k+=c;c=i}}return k+c}function +d=b+1;dd4){c.substr(0,1);k+=c;c=i;k+=e.slice(b,d)}else +c+=e.slice(b,d);if(d==j)break;b=d}a=1;if(++b=0xd7ff&&a<0xe000)a=2}else{a=3;if(++b0x10ffff)a=3}}}}}if(a<4){b-=a;c+="\ufffd"}else +if(a>aJ)c+=String.fromCharCode(0xd7c0+(a>>10),f$+(a&0x3FF));else +c+=String.fromCharCode(a);if(c.length>b_){c.substr(0,1);k+=c;c=i}}return k+c}function aZ(c,a,b){this.t=c;this.c=a;this.l=b}aZ.prototype.toString=function(){switch(this.t){case 9:return this.c;default:bi(this);case -0:if(hw(this.c)){this.t=9;return this.c}this.t=8;case +0:if(hx(this.c)){this.t=9;return this.c}this.t=8;case 8:return this.c}};aZ.prototype.toUtf16=function(){var -a=this.toString();if(this.t==9)return a;return eC(a)};aZ.prototype.slice=function(){var +a=this.toString();if(this.t==9)return a;return eA(a)};aZ.prototype.slice=function(){var a=this.t==4?this.c.slice():this.c;return new aZ(this.t,a,this.l)};function he(a){return new aZ(0,a,a.length)}function a(a){return he(a)}function -ez(c,b){tc(c,a(b))}var +ex(c,b){tb(c,a(b))}var H=[0];function -I(a){ez(H.Invalid_argument,a)}function -hb(){I(ei)}function +I(a){ex(H.Invalid_argument,a)}function +hb(){I(eh)}function cg(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 bh(b,a){if(a>>>0>=b.l)hb();return cg(b,a)}function -F(a,c,b){b&=am;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}c7(a)}a.c[c]=b;return 0}function +F(a,c,b){b&=am;if(a.t!=4){if(c==a.c.length){a.c+=String.fromCharCode(b);if(c+1==a.l)a.t=0;return 0}c9(a)}a.c[c]=b;return 0}function av(b,a,c){if(a>>>0>=b.l)hb();return F(b,a,c)}function a1(c,a){if(c.fun)return a1(c.fun,a);if(typeof c!=="function")return c;var @@ -73,20 +73,20 @@ e=arguments.length==0?1:arguments.length,d=new Array(a.length+e);for(var b=0;b>>0>=a.length-1)cf();return a}function sz(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 az(a){if((a.t&6)!=0)bi(a);return a.c}var -tt=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function -tr(a){if(tt)return Math.floor(Math.log2(a));var +ts=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function +tq(a){if(ts)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 -er(c){var +ep(c){var a=new(n.Float32Array)(1);a[0]=c;var b=new(n.Int32Array)(a.buffer);return b[0]|0}var -hm=Math.pow(2,-24);function -db(a){throw a}function -bG(){db(H.Division_by_zero)}function +hn=Math.pow(2,-24);function +dd(a){throw a}function +bH(){dd(H.Division_by_zero)}function j(b,c,a){this.lo=b&aX;this.mi=c&aX;this.hi=a&aJ}j.prototype.caml_custom="_j";j.prototype.copy=function(){return new j(this.lo,this.mi,this.hi)};j.prototype.ucompare=function(a){if(this.hi>a.hi)return 1;if(this.hia.mi)return 1;if(this.mia.lo)return 1;if(this.loc)return 1;if(ba.mi)return 1;if(this.mia.lo)return 1;if(this.lo>24),d=this.hi+a.hi+(c>>24);return new j(b,c,d)};j.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 j(b,c,d)};j.prototype.mul=function(a){var -b=this.lo*a.lo,c=(b*hm|0)+this.mi*a.lo+this.lo*a.mi,d=(c*hm|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new +b=this.lo*a.lo,c=(b*hn|0)+this.mi*a.lo+this.lo*a.mi,d=(c*hn|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new j(b,c,d)};j.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};j.prototype.isNeg=function(){return this.hi<<16<0};j.prototype.and=function(a){return new j(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};j.prototype.or=function(a){return new j(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};j.prototype.xor=function(a){return new @@ -114,22 +114,22 @@ j(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&aJ);return new j(this.hi<<16>>a-32,b,b)};j.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&aX;this.lo=this.lo<<1&aX};j.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&aX;this.mi=(this.mi>>>1|this.hi<<23)&aX;this.hi=this.hi>>>1};j.prototype.udivmod=function(e){var c=0,b=this.copy(),a=e.copy(),d=new j(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}};j.prototype.div=function(a){var -b=this;if(a.isZero())bG();var +b=this;if(a.isZero())bH();var d=b.hi^a.hi;if(b.hi&aF)b=b.neg();if(a.hi&aF)a=a.neg();var c=b.udivmod(a).quotient;if(d&aF)c=c.neg();return c};j.prototype.mod=function(b){var -a=this;if(b.isZero())bG();var +a=this;if(b.isZero())bH();var d=a.hi;if(a.hi&aF)a=a.neg();if(b.hi&aF)b=b.neg();var c=a.udivmod(b).modulus;if(d&aF)c=c.neg();return c};j.prototype.toInt=function(){return this.lo|this.mi<<24};j.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};j.prototype.toArray=function(){return[this.hi>>8,this.hi&am,this.mi>>16,this.mi>>8&am,this.mi&am,this.lo>>16,this.lo>>8&am,this.lo&am]};j.prototype.lo32=function(){return this.lo|(this.mi&am)<<24};j.prototype.hi32=function(){return this.mi>>>8&aJ|this.hi<<16};function ci(b,c,a){return new j(b,c,a)}function -c9(a){if(!isFinite(a)){if(isNaN(a))return ci(1,0,f8);return a>0?ci(0,0,f8):ci(0,0,0xfff0)}var +c$(a){if(!isFinite(a)){if(isNaN(a))return ci(1,0,f7);return a>0?ci(0,0,f7):ci(0,0,0xfff0)}var f=a==0&&1/a==-Infinity?aF:a>=0?0:aF;if(f)a=-a;var -b=tr(a)+aI;if(b<=0){b=0;a/=Math.pow(2,-gy)}else{a/=Math.pow(2,b-g1);if(a<16){a*=2;b-=1}if(b==0)a/=2}var +b=tq(a)+aI;if(b<=0){b=0;a/=Math.pow(2,-gy)}else{a/=Math.pow(2,b-g1);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&ec|f|b<<4;return ci(g,e,c)}function ck(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==eh)for(var +ha(c,b,g){c.write(32,b.dims.length);c.write(32,b.kind|b.layout<<8);if(b.caml_custom==c5)for(var a=0;a>4;if(c==2047)return(f|g|b&ec)==0?b&aF?-Infinity:Infinity:NaN;var e=Math.pow(2,-24),a=(f*e+g)*e+(b&ec);if(c>0){a+=16;a*=Math.pow(2,c-g1)}else a*=Math.pow(2,-gy);if(b&aF)a=-a;return a}function -em(b){var +ek(b){var d=b.length,c=1;for(var a=0;a>>24&am|(a&aJ)<<8,a>>>16&aJ)}function -eu(a){return a.hi32()}function -ev(a){return a.lo32()}var -sw=g0;function +es(a){return a.hi32()}function +et(a){return a.lo32()}var +sw=c5;function be(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}be.prototype.caml_custom=sw;be.prototype.offset=function(b){var c=0;if(typeof b==="number")b=[b];if(!(b @@ -212,15 +212,15 @@ a=0;a=this.dims[a])cf();c=c*this.dims[a]+ for(var a=this.dims.length-1;a>=0;a--){if(b[a]<1||b[a]>this.dims[a])cf();c=c*this.dims[a]+(b[a]-1)}return c};be.prototype.get=function(a){switch(this.kind){case 7:var -d=this.data[a*2+0],b=this.data[a*2+1];return hl(d,b);case +d=this.data[a*2+0],b=this.data[a*2+1];return hm(d,b);case 10:case 11:var -e=this.data[a*2+0],c=this.data[a*2+1];return[cb,e,c];default:return this.data[a]}};be.prototype.set=function(a,b){switch(this.kind){case -7:this.data[a*2+0]=ev(b);this.data[a*2+1]=eu(b);break;case +e=this.data[a*2+0],c=this.data[a*2+1];return[c1,e,c];default:return this.data[a]}};be.prototype.set=function(a,b){switch(this.kind){case +7:this.data[a*2+0]=et(b);this.data[a*2+1]=es(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};be.prototype.fill=function(b){switch(this.kind){case 7:var -c=ev(b),e=eu(b);if(c==e)this.data.fill(c);else +c=et(b),e=es(b);if(c==e)this.data.fill(c);else for(var a=0;ab.data[a])return 1}break}return 0};function -bD(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}bD.prototype=new -be();bD.prototype.offset=function(a){if(typeof +bE(c,d,b,a){this.kind=c;this.layout=d;this.dims=b;this.data=a}bE.prototype=new +be();bE.prototype.offset=function(a){if(typeof a!=="number")if(a instanceof Array&&a.length==1)a=a[0];else -I("Ml_Bigarray_c_1_1.offset");if(a<0||a>=this.dims[0])cf();return a};bD.prototype.get=function(a){return this.data[a]};bD.prototype.set=function(a,b){this.data[a]=b;return 0};bD.prototype.fill=function(a){this.data.fill(a);return 0};function +I("Ml_Bigarray_c_1_1.offset");if(a<0||a>=this.dims[0])cf();return a};bE.prototype.get=function(a){return this.data[a]};bE.prototype.set=function(a,b){this.data[a]=b;return 0};bE.prototype.fill=function(a){this.data.fill(a);return 0};function g8(c,d,a,b){var -e=g_(c);if(em(a)*e!=b.length)I("length doesn't match dims");if(d==0&&a.length==1&&e==1)return new -bD(c,d,a,b);return new +e=g_(c);if(ek(a)*e!=b.length)I("length doesn't match dims");if(d==0&&a.length==1&&e==1)return new +bE(c,d,a,b);return new be(c,d,a,b)}function -bm(a){ez(H.Failure,a)}function +bm(a){ex(H.Failure,a)}function g9(b,v,r){var i=b.read32s();if(i<0||i>16)bm("input_value: wrong number of bigarray dimensions");var -p=b.read32s(),j=p&am,o=p>>8&1,h=[];if(r==eh)for(var +p=b.read32s(),j=p&am,o=p>>8&1,h=[];if(r==c5)for(var a=0;a>>32-15;a=aN(a,0x1b873593);b^=a;b=b<<13|b>>>32-13;return(b+(b<<2)|0)+(0xe6546b64|0)|0}function -sH(a,b){a=T(a,ev(b));a=T(a,eu(b));return a}function -ep(a,b){return sH(a,c9(b))}function +sG(a,b){a=T(a,et(b));a=T(a,es(b));return a}function +en(a,b){return sG(a,c$(b))}function g$(c){var -b=em(c.dims),d=0;switch(c.kind){case +b=ek(c.dims),d=0;switch(c.kind){case 2:case 3:case -12:if(b>bA)b=bA;var +12:if(b>bB)b=bB;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=T(d,e)}e=0;switch(b&3){case 3:e=c.data[a+2]<<16;case 2:e|=c.data[a+1]<<8;case @@ -334,64 +334,64 @@ a=0;a64)b=64;for(var -a=0;a32)b=32;for(var -a=0;a0?b(c,f,e):b(f,c,e);if(e&&a!=a)return d;if(+a!=+a)return+a;if((a|0)!=0)return a|0}return d}function cl(a){return a instanceof aZ}function -c$(a){return cl(a)}function +db(a){return cl(a)}function hh(a){if(typeof a==="number")return ar;else if(cl(a))return ef;else -if(c$(a))return 1252;else +if(db(a))return 1252;else if(a instanceof -Array&&a[0]===a[0]>>>0&&a[0]<=bx){var -b=a[0]|0;return b==cb?0:b}else +Array&&a[0]===a[0]>>>0&&a[0]<=by){var +b=a[0]|0;return b==c1?0:b}else if(a instanceof -String)return gk;else +String)return gj;else if(typeof -a=="string")return gk;else +a=="string")return gj;else if(a instanceof Number)return ar;else -if(a&&a.caml_custom)return d5;else +if(a&&a.caml_custom)return d7;else if(a&&a.compare)return 1256;else if(typeof a=="function")return 1247;else if(typeof a=="symbol")return 1251;return 1001}function -c_(a,b){if(ab.c?1:0}function -eA(a,b){return hc(a,b)}function -bE(a,b,d){var +ey(a,b){return hc(a,b)}function +bF(a,b,d){var e=[];for(;;){if(!(d&&a===b)){var f=hh(a);if(f==cT){a=a[1];continue}var -g=hh(b);if(g==cT){b=b[1];continue}if(f!==g){if(f==ar){if(g==d5)return hg(a,b,-1,d);return-1}if(g==ar){if(f==d5)return hg(b,a,1,d);return 1}return fb)return 1}break;ca 246:case 254:default:if(a.length!=b.length)return a.length1)e.push(a,b,1);break}}if(e.length==0)return 0;var h=e.pop();b=e.pop();a=e.pop();if(h+10)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=i;a.t=2}else{a.c=bI(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)c7(a);for(b+=c;c0)if(c==0&&(b>=a.l||a.t==2&&b>=a.c.length))if(d==0){a.c=i;a.t=2}else{a.c=bJ(b,String.fromCharCode(d));a.t=b==a.l?0:2}else{if(a.t!=4)c9(a);for(b+=c;c31)I("format_int: format too long");var a={justify:aV,signstyle:X,filler:aS,alternate:false,base:0,signedconv:false,width:0,uppercase:false,sign:1,prec:-1,conv:"f"};for(var c=0;c=0&&b<=9){a.width=a.width*10+b;c++}c--;break;case".":a.prec=0;c++;while(b=d.charCodeAt(c)-48,b>=0&&b<=9){a.prec=a.prec*10+b;c++}c--;case"d":case"i":a.signedconv=true;case"u":a.base=10;break;case"x":a.base=16;break;case"X":a.base=16;a.uppercase=true;break;case"o":a.base=8;break;case"e":case"f":case"g":a.signedconv=true;a.conv=b;break;case"E":case"F":case"G":a.signedconv=true;a.uppercase=true;a.conv=b.toLowerCase();break}}return a}function -eo(b,f){if(b.uppercase)f=f.toUpperCase();var +em(b,f){if(b.uppercase)f=f.toUpperCase();var e=f.length;if(b.signedconv&&(b.sign<0||b.signstyle!=X))e++;if(b.alternate){if(b.base==8)e+=1;if(b.base==16)e+=2}var c=i;if(b.justify==aV&&b.filler==aS)for(var d=e;d20){c-=20;a/=Math.pow(10,c);a+=new Array(c+1).join(q);if(b>0)a=a+aY+new Array(b+1).join(q);return a}else return a.toFixed(b)}}var -a,e=ey(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=d7;e.filler=aS}else -if(!isFinite(c)){a=gW;e.filler=aS}else +a,e=ew(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=d9;e.filler=aS}else +if(!isFinite(c)){a=gX;e.filler=aS}else switch(e.conv){case"e":var -a=c.toExponential(d),b=a.length;if(a.charAt(b-3)==c5)a=a.slice(0,b-1)+q+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(c5),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var -b=h-1;while(a.charAt(b)==q)b--;if(a.charAt(b)==aY)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==c5)a=a.slice(0,b-1)+q+a.slice(b-1);break}else{var +a=c.toExponential(d),b=a.length;if(a.charAt(b-3)==c7)a=a.slice(0,b-1)+q+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(c7),g=+a.slice(h+1);if(g<-4||c>=1e21||c.toFixed(0).length>d){var +b=h-1;while(a.charAt(b)==q)b--;if(a.charAt(b)==aY)b--;a=a.slice(0,b+1)+a.slice(h);b=a.length;if(a.charAt(b-3)==c7)a=a.slice(0,b-1)+q+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)==q)b--;if(a.charAt(b)==aY)b--;a=a.slice(0,b+1)}}break}return eo(e,a)}function -c8(e,c){if(az(e)==gK)return a(i+c);var -b=ey(e);if(c<0)if(b.signedconv){b.sign=-1;c=-c}else +b=a.length-1;while(a.charAt(b)==q)b--;if(a.charAt(b)==aY)b--;a=a.slice(0,b+1)}}break}return em(e,a)}function +c_(e,c){if(az(e)==gL)return a(i+c);var +b=ew(e);if(c<0)if(b.signedconv){b.sign=-1;c=-c}else c>>>=0;var d=c.toString(b.base);if(b.prec>=0){b.filler=aS;var -f=b.prec-d.length;if(f>0)d=bI(f,q)+d}return eo(b,d)}var -ht=0;function -Q(){return ht++}function -ho(a){return a.toUtf16()}if(n.process&&n.process.cwd)var +f=b.prec-d.length;if(f>0)d=bJ(f,q)+d}return em(b,d)}var +hu=0;function +Q(){return hu++}function +hp(a){return a.toUtf16()}if(n.process&&n.process.cwd)var ch=n.process.cwd().replace(/\\/g,aU);else var ch="/static";if(ch.slice(-1)!==aU)ch+=aU;function -s2(a){a=ho(a);if(a.charCodeAt(0)!=47)a=ch+a;var +s1(a){a=hp(a);if(a.charCodeAt(0)!=47)a=ch+a;var d=a.split(aU),b=[];for(var c=0;c1)b.pop();break;case".":break;case"":if(b.length==0)b.push(i);break;default:b.push(d[c]);break}b.orig=a;return b}function sx(a){return new aZ(4,a,a.length)}function -tl(e){for(var +tk(e){for(var f=i,b=f,a,h,c=0,g=e.length;cd2){b.substr(0,1);f+=b;b=i;f+=e.slice(c,d)}else -b+=e.slice(c,d);if(d==g)break;c=d}if(a>6);b+=String.fromCharCode(as|a&by)}else -if(a<0xd800||a>=ge)b+=String.fromCharCode(gf|a>>12,as|a>>6&by,as|a&by);else -if(a>=0xdbff||c+1==g||(h=e.charCodeAt(c+1))ge)b+="\xef\xbf\xbd";else{c++;a=(a<<10)+h-0x35fdc00;b+=String.fromCharCode(gS|a>>18,as|a>>12&by,as|a>>6&by,as|a&by)}if(b.length>b9){b.substr(0,1);f+=b;b=i}}return f+b}function +d=c+1;dd4){b.substr(0,1);f+=b;b=i;f+=e.slice(c,d)}else +b+=e.slice(c,d);if(d==g)break;c=d}if(a>6);b+=String.fromCharCode(as|a&bz)}else +if(a<0xd800||a>=gd)b+=String.fromCharCode(ge|a>>12,as|a>>6&bz,as|a&bz);else +if(a>=0xdbff||c+1==g||(h=e.charCodeAt(c+1))gd)b+="\xef\xbf\xbd";else{c++;a=(a<<10)+h-0x35fdc00;b+=String.fromCharCode(gT|a>>18,as|a>>12&bz,as|a>>6&bz,as|a&bz)}if(b.length>b_){b.substr(0,1);f+=b;b=i}}return f+b}function sy(a){var -b=9;if(!hw(a))b=8,a=tl(a);return new +b=9;if(!hx(a))b=8,a=tk(a);return new aZ(b,a,a.length)}function aA(a){return sy(a)}function -D(a){ez(H.Sys_error,a)}function -ta(a){a=az(a);D(a+": No such file or directory")}function +D(a){ex(H.Sys_error,a)}function +s$(a){a=az(a);D(a+": No such file or directory")}function an(a){return a.l}function g6(){}function S(a){this.data=a}S.prototype=new @@ -489,29 +489,29 @@ au(b,a){this.content={};this.root=b;this.lookupFun=a}au.prototype.nm=function(a) c=this.lookupFun(a(this.root),a(b));if(c!==0)this.content[b]=new S(a0(c[1]))}};au.prototype.exists=function(a){if(a==i)return 1;var c=a+aU,d=new -RegExp(d8+c);for(var +RegExp(d_+c);for(var b in this.content)if(b.match(d))return 1;this.lookup(a);return this.content[a]?1:0};au.prototype.readdir=function(c){var f=c==i?i:c+aU,g=new -RegExp(d8+f+gZ),d={},b=[];for(var +RegExp(d_+f+g0),d={},b=[];for(var e in this.content){var a=e.match(g);if(a&&!d[a[1]]){d[a[1]]=true;b.push(a[1])}}return b};au.prototype.is_dir=function(a){var d=a==i?i:a+aU,e=new -RegExp(d8+d+gZ),f=[];for(var +RegExp(d_+d+g0),f=[];for(var c in this.content){var b=c.match(e);if(b)return 1}return 0};au.prototype.unlink=function(a){var b=this.content[a]?true:false;delete -this.content[a];return b};au.prototype.open=function(a,b){if(b.rdonly&&b.wronly)D(this.nm(a)+gn);if(b.text&&b.binary)D(this.nm(a)+gG);this.lookup(a);if(this.content[a]){if(this.is_dir(a))D(this.nm(a)+" : is a directory");if(b.create&&b.excl)D(this.nm(a)+gm);var +this.content[a];return b};au.prototype.open=function(a,b){if(b.rdonly&&b.wronly)D(this.nm(a)+gm);if(b.text&&b.binary)D(this.nm(a)+gH);this.lookup(a);if(this.content[a]){if(this.is_dir(a))D(this.nm(a)+" : is a directory");if(b.create&&b.excl)D(this.nm(a)+gl);var c=this.content[a];if(b.truncate)c.truncate();return c}else if(b.create){this.content[a]=new S(G(0));return this.content[a]}else -ta(this.nm(a))};au.prototype.register=function(b,a){if(this.content[b])D(this.nm(b)+gm);if(cl(a))this.content[b]=new -S(a);if(c$(a))this.content[b]=new +s$(this.nm(a))};au.prototype.register=function(b,a){if(this.content[b])D(this.nm(b)+gl);if(cl(a))this.content[b]=new +S(a);if(db(a))this.content[b]=new S(a0(a));else if(a instanceof @@ -525,11 +525,11 @@ c=a0(aA(a.toString()));this.content[b]=new S(c)}else D(this.nm(b)+" : registering file with invalid content type")};au.prototype.constructor=au;function s(a){return an(a)}function -bJ(b,a){return cg(b,a)}function +bK(b,a){return cg(b,a)}function st(d){var c=s(d),b=new -Array(c),a=0;for(;a=0)}function -eq(d,b){var +hl(a,b){return+(bF(a,b,false)>=0)}function +eo(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=T(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=T(d,c)}d^=e;return d}function -sI(a,b){return eq(a,az(b))}function -sF(d,b){var +sH(a,b){return eo(a,az(b))}function +sE(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=T(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=T(d,c)}d^=e;return d}function -sE(a,b){switch(b.t&6){default:bi(b);case -0:a=eq(a,b.c);break;case -2:a=sF(a,b.c)}return a}function -sG(a){a^=a>>>16;a=aN(a,0x85ebca6b|0);a^=a>>>13;a=aN(a,0xc2b2ae35|0);a^=a>>>16;return a}function -sD(j,l,n,m){var -f,g,h,d,c,b,a,e,i;d=l;if(d<0||d>bA)d=bA;c=j;b=n;f=[m];g=0;h=1;while(g0){a=f[g++];if(a&&a.caml_custom){if(bF[a.caml_custom]&&bF[a.caml_custom].hash){var -k=bF[a.caml_custom].hash(a);b=T(b,k);c--}}else +sD(a,b){switch(b.t&6){default:bi(b);case +0:a=eo(a,b.c);break;case +2:a=sE(a,b.c)}return a}function +sF(a){a^=a>>>16;a=aN(a,0x85ebca6b|0);a^=a>>>13;a=aN(a,0xc2b2ae35|0);a^=a>>>16;return a}function +sC(j,l,n,m){var +f,g,h,d,c,b,a,e,i;d=l;if(d<0||d>bB)d=bB;c=j;b=n;f=[m];g=0;h=1;while(g0){a=f[g++];if(a&&a.caml_custom){if(bG[a.caml_custom]&&bG[a.caml_custom].hash){var +k=bG[a.caml_custom].hash(a);b=T(b,k);c--}}else if(a instanceof Array&&a[0]===(a[0]|0))switch(a[0]){case 248:b=T(b,a[2]);c--;break;case 250:f[--g]=a[1];break;default:var o=a.length-1<<10|a[0];b=T(b,o);for(e=1,i=a.length;e=d)break;f[h++]=a[e]}break}else -if(cl(a)){b=sE(b,a);c--}else -if(c$(a)){b=sI(b,a);c--}else +if(cl(a)){b=sD(b,a);c--}else +if(db(a)){b=sH(b,a);c--}else if(typeof -a==="string"){b=eq(b,a);c--}else +a==="string"){b=eo(b,a);c--}else if(a===(a|0)){b=T(b,a+a+1);c--}else -if(a===+a){b=ep(b,a);c--}}b=sG(b);return b&0x3FFFFFFF}function -sJ(a,c,l){if(!isFinite(a)){if(isNaN(a))return aA(d7);return aA(a>0?gT:"-infinity")}var +if(a===+a){b=en(b,a);c--}}b=sF(b);return b&0x3FFFFFFF}function +sI(a,c,l){if(!isFinite(a)){if(isNaN(a))return aA(d9);return aA(a>0?gU:"-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 @@ -613,47 +613,47 @@ switch(l){case 32:e=aS;break;default:break}if(c>=0&&c<13){var g=Math.pow(2,c*4);a=Math.round(a*g)/g}var b=a.toString(16);if(c>=0){var -h=b.indexOf(aY);if(h<0)b+=aY+bI(c,q);else{var -f=h+1+c;if(b.length>24&aX,a>>31&aJ)}function -sU(a){return a.toInt()}function -sO(a){return+a.isNeg()}function -sR(a){return a.neg()}function -sM(g,c){var -a=ey(g);if(a.signedconv&&sO(c)){a.sign=-1;c=sR(c)}var -b=i,h=sS(a.base),f="0123456789abcdef";do{var -e=c.udivmod(h);c=e.quotient;b=f.charAt(sU(e.modulus))+b}while(!sP(c));if(a.prec>=0){a.filler=aS;var -d=a.prec-b.length;if(d>0)b=bI(d,q)+b}return eo(a,b)}function -sT(a,b){return a.or(b)}function -hn(a){return a.toFloat()}function -sW(){return typeof +sT(a){return a.toInt()}function +sN(a){return+a.isNeg()}function +sQ(a){return a.neg()}function +sL(g,c){var +a=ew(g);if(a.signedconv&&sN(c)){a.sign=-1;c=sQ(c)}var +b=i,h=sR(a.base),f="0123456789abcdef";do{var +e=c.udivmod(h);c=e.quotient;b=f.charAt(sT(e.modulus))+b}while(!sO(c));if(a.prec>=0){a.filler=aS;var +d=a.prec-b.length;if(d>0)b=bJ(d,q)+b}return em(a,b)}function +sS(a,b){return a.or(b)}function +ho(a){return a.toFloat()}function +sV(){return typeof module!=="undefined"&&module&&module.exports?module.exports:n}function -sX(c){var +sW(c){var d=c.length,b=new Array(d+1);b[0]=0;for(var a=0;a0){var c=new Array(b);for(var a=0;aaI){a-=aI;b*=Math.pow(2,aI);if(a>aI){a-=aI;b*=Math.pow(2,aI)}}if(a<-aI){a+=aI;b*=Math.pow(2,-aI)}b*=Math.pow(2,a);return b}function -s1(a,b){return+(bE(a,b,false)<=0)}function -ew(a,b){return+(bE(a,b,false)<0)}function +sZ(b,a){a|=0;if(a>aI){a-=aI;b*=Math.pow(2,aI);if(a>aI){a-=aI;b*=Math.pow(2,aI)}}if(a<-aI){a+=aI;b*=Math.pow(2,-aI)}b*=Math.pow(2,a);return b}function +s0(a,b){return+(bF(a,b,false)<=0)}function +eu(a,b){return+(bF(a,b,false)<0)}function a2(a,d){if(a<0)cf();var a=a+1|0,b=new Array(a);b[0]=0;for(var c=1;c>>32-b,c)}function g(c,b,d,e,h,f,g){return a(b&d|~b&e,c,b,h,f,g)}function @@ -676,26 +676,26 @@ b=a+g;e[a>>2]=d.charCodeAt(b)|d.charCodeAt(b+1)<<8|d.charCodeAt(b+2)<<16|d.charC 4:var c=h.c;for(var a=0;a>2]=c[b]|c[b+1]<<8|c[b+2]<<16|c[b+3]<<24}for(;a>2]|=c[a+g]<<8*(a&3)}return tg(k(e,f))}}();function -s4(c,b,a){return s3(a0(c),b,a)}var +b=a+g;e[a>>2]=c[b]|c[b+1]<<8|c[b+2]<<16|c[b+3]<<24}for(;a>2]|=c[a+g]<<8*(a&3)}return tf(k(e,f))}}();function +s3(c,b,a){return s2(a0(c),b,a)}var aM=new Array();function -ex(c){var +ev(c){var a=aM[c];if(!a.opened)D("Cannot flush a closed channel");if(!a.buffer||a.buffer==i)return 0;if(a.fd&&H.fds[a.fd]&&H.fds[a.fd].output){var b=H.fds[a.fd].output;switch(b.length){case 2:b(c,a.buffer);break;default:b(a.buffer)}}a.buffer=i;return 0}function -hv(e,f){var +hw(e,f){var b=aM[e],d=a(f),c=s(d);b.file.write(b.offset,d,0,c);b.offset+=c;return 0}function -tp(a){var -a=eC(a),b=n;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 +to(a){var +a=eA(a),b=n;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 -tq(a){var -a=eC(a),b=n;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 +tp(a){var +a=eA(a),b=n;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 -de(c,e,d,a){if(H.fds===undefined)H.fds=new +dg(c,e,d,a){if(H.fds===undefined)H.fds=new Array();a=a?a:{};var b={};b.file=d;b.offset=a.append?d.length():0;b.flags=a;b.output=e;H.fds[c]=b;if(!H.fd_last_idx||c>H.fd_last_idx)H.fd_last_idx=c;return c}function -tG(c,b,g){var +tF(c,b,g){var a={};while(b){switch(b[1]){case 0:a.rdonly=1;break;case 1:a.wronly=1;break;case @@ -705,78 +705,78 @@ a={};while(b){switch(b[1]){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)D(az(c)+gn);if(a.text&&a.binary)D(az(c)+gG);var -d=hB(c),e=d.device.open(d.rest,a),f=H.fd_last_idx?H.fd_last_idx:0;return de(f+1,hv,e,a)}de(0,hv,new -S(G(0)));de(1,tq,new -S(G(0)));de(2,tp,new +8:a.nonblock=1;break}b=b[2]}if(a.rdonly&&a.wronly)D(az(c)+gm);if(a.text&&a.binary)D(az(c)+gH);var +d=hC(c),e=d.device.open(d.rest,a),f=H.fd_last_idx?H.fd_last_idx:0;return dg(f+1,hw,e,a)}dg(0,hw,new +S(G(0)));dg(1,tp,new +S(G(0)));dg(2,to,new S(G(0)));function -s5(c){var +s4(c){var b=H.fds[c];if(b.flags.wronly)D(g2+c+" is writeonly");var a={file:b.file,offset:b.offset,fd:c,opened:true,out:false,refill:null};aM[a.fd]=a;return a.fd}function -hp(c){var +hq(c){var b=H.fds[c];if(b.flags.rdonly)D(g2+c+" is readonly");var a={file:b.file,offset:b.offset,fd:c,opened:true,out:true,buffer:i};aM[a.fd]=a;return a.fd}function -s6(){var +s5(){var b=0;for(var a=0;a>>0)return a[0];else if(cl(a))return ef;else -if(c$(a))return ef;else +if(db(a))return ef;else if(a instanceof Function||typeof a=="function")return 247;else -if(a&&a.caml_custom)return bx;else +if(a&&a.caml_custom)return by;else return ar}function aw(b,c,a){if(a&&n.toplevelReloc)b=n.toplevelReloc(a);H[b+1]=c;if(a)H[a]=c}var -hq={};function -td(a,b){hq[az(a)]=b;return 0}function -te(a){a[2]=ht++;return a}function -eB(a,b){return hd(a,b)}function -tf(){I(ei)}function -m(b,a){if(a>>>0>=s(b))tf();return bJ(b,a)}function -J(a,b){return 1-eB(a,b)}function -th(){return[0,a("js_of_ocaml")]}function -ti(){return 0x7FFFFFFF/4|0}function -tj(){return[0,a("Unix"),32,0]}function -tb(){db(H.Not_found)}function -dd(c){var -a=n,b=ho(c);if(a.process&&a.process.env&&a.process.env[b]!=undefined)return aA(a.process.env[b]);if(n.jsoo_static_env&&n.jsoo_static_env[b])return aA(n.jsoo_static_env[b]);tb()}function -tk(){var +hr={};function +tc(a,b){hr[az(a)]=b;return 0}function +td(a){a[2]=hu++;return a}function +ez(a,b){return hd(a,b)}function +te(){I(eh)}function +m(b,a){if(a>>>0>=s(b))te();return bK(b,a)}function +J(a,b){return 1-ez(a,b)}function +tg(){return[0,a("js_of_ocaml")]}function +th(){return 0x7FFFFFFF/4|0}function +ti(){return[0,a("Unix"),32,0]}function +ta(){dd(H.Not_found)}function +df(c){var +a=n,b=hp(c);if(a.process&&a.process.env&&a.process.env[b]!=undefined)return aA(a.process.env[b]);if(n.jsoo_static_env&&n.jsoo_static_env[b])return aA(n.jsoo_static_env[b]);ta()}function +tj(){var a=new -Date().getTime(),b=a^gV*Math.random();return[0,b]}function +Date().getTime(),b=a^gW*Math.random();return[0,b]}function cm(a){var b=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function N(b,a){return{joo_tramp:b,joo_args:a}}function -hu(a){return a}function -da(a){return hq[a]}function +hv(a){return a}function +dc(a){return hr[a]}function e(a){if(a instanceof Array)return a;if(n.RangeError&&a instanceof -n.RangeError&&a.message&&a.message.match(/maximum call stack/i))return hu(H.Stack_overflow);if(n.InternalError&&a +n.RangeError&&a.message&&a.message.match(/maximum call stack/i))return hv(H.Stack_overflow);if(n.InternalError&&a instanceof -n.InternalError&&a.message&&a.message.match(/too much recursion/i))return hu(H.Stack_overflow);if(a +n.InternalError&&a.message&&a.message.match(/too much recursion/i))return hv(H.Stack_overflow);if(a instanceof -n.Error&&da(d4))return[0,da(d4),a];return[0,H.Failure,aA(String(a))]}var +n.Error&&dc(d6))return[0,dc(d6),a];return[0,H.Failure,aA(String(a))]}var h=function(B){"use strict";var f=bl,ac=7,v=9007199254740992,J=s(v),O="0123456789abcdefghijklmnopqrstuvwxyz",g=n.BigInt,H=typeof g==="function";function @@ -787,7 +787,7 @@ a(b,a){this.value=b;this.sign=a;this.isSmall=false;this.caml_custom=cQ}a.prototy b(a){this.value=a;this.sign=a<0;this.isSmall=true;this.caml_custom=cQ}b.prototype=Object.create(d.prototype);function c(a){this.value=a;this.caml_custom=cQ}c.prototype=Object.create(d.prototype);function r(a){return-v0)a.push(0);return a.concat(c)}function E(b,c){var a=Math.max(b.length,c.length);if(a<=30)return N(b,c);a=Math.ceil(a/2);var f=b.slice(a),d=b.slice(0,a),i=c.slice(a),h=c.slice(0,a),e=E(d,h),g=E(f,i),k=E(w(d,f),w(h,i)),j=w(w(e,Z(z(z(k,e),g),a)),Z(g,2*a));t(j);return j}function -am(a,b){return-(gN*a)-gN*b+0.000015*a*b>0}a.prototype.multiply=function(j){var +am(a,b){return-(gO*a)-gO*b+0.000015*a*b>0}a.prototype.multiply=function(j){var h=e(j),c=this.value,b=h.value,i=this.sign!==h.sign,g;if(h.isSmall){if(b===0)return d[0];if(b===1)return this;if(b===-1)return this.negate();g=Math.abs(b);if(g=0;a--){b=b.add(e[a].times(c));c=c.times(f)}return g?b.negate():b}function -ak(b,a){a=a||O;if(b2)throw new -Error(cZ+h.join(c5));if(h.length===2){var +Error(cZ+h.join(c7));if(h.length===2){var e=h[1];if(e[0]===aV)e=e.slice(1);e=+e;if(e!==u(e)||!r(e))throw new Error(cZ+e+" is not a valid exponent.");var f=h[0],i=f.indexOf(aY);if(i>=0){e-=f.length-i-1;f=f.slice(0,i)+f.slice(i+1)}if(e<0)throw new @@ -1045,71 +1045,71 @@ c};d.randBetween=aj;d.fromArray=function(b,a,c){return W(b.map(e),e(a||10),c)};r ax(a){var b=a.toJSNumber()|0;if(a.equals(h(b)))return b;return a}function K(a,b){return ax(h(a).add(h(b)))}function -bK(a,b){return h(a).compare(h(b))}function -hx(b,a){a=h(a);if(a.equals(h(0)))bG();return ax(h(b).divide(h(a)))}function -tB(b,a){a=h(a);if(a.equals(h(0)))bG();return ax(h(b).mod(a))}function -tu(a,b){return[0,hx(a,b),tB(a,b)]}function -hy(a,b){return hx(a,b)}function -tv(a,b){return h(a).equals(h(b))}function -tx(a,b){return ax(h.gcd(h(a),h(b)).abs())}function -tm(c,e,g){e=h(e);var +bL(a,b){return h(a).compare(h(b))}function +hy(b,a){a=h(a);if(a.equals(h(0)))bH();return ax(h(b).divide(h(a)))}function +tA(b,a){a=h(a);if(a.equals(h(0)))bH();return ax(h(b).mod(a))}function +tt(a,b){return[0,hy(a,b),tA(a,b)]}function +hz(a,b){return hy(a,b)}function +tu(a,b){return h(a).equals(h(b))}function +tw(a,b){return ax(h.gcd(h(a),h(b)).abs())}function +tl(c,e,g){e=h(e);var a=e.toArray(Math.pow(2,32));c.write(8,a.isNegative?1:0);var f=a.value.length,d=f*4;c.write(32,d);for(var b=f-1;b>=0;b--){c.write(8,a.value[b]>>>0&am);c.write(8,a.value[b]>>>8&am);c.write(8,a.value[b]>>>16&am);c.write(8,a.value[b]>>>24&am)}g[0]=4*(1+((d+3)/4|0));g[1]=8*(1+((d+7)/8|0))}function -tn(b,g){var +tm(b,g){var e;switch(b.read8u()){case 1:e=true;break;case 0:e=false;break;default:bm("input_value: z (malformed input)")}var f=b.read32u(),c=h(0);for(var d=0;d>>0);c=a.shiftLeft(d*32).add(c)}if(e)c=c.negate();g[0]=f+4;return ax(c)}function -ty(d){var +tx(d){var b=h(d).toArray(Math.pow(2,32)),a=0;for(var c=0;c=48&&a<=57)return a-48;if(a>=97&&a<=gI)return a-97+10;if(a>=65&&a<=70)return a-65+10}var +j(a){if(a>=48&&a<=57)return a-48;if(a>=97&&a<=gJ)return a-97+10;if(a>=65&&a<=70)return a-65+10}var e=0;if(a[e]==X)e++;for(;e=c)I("Z.of_substring_base: invalid digit")}return ax(h(a,c))}function -bp(d,a,b,c){a=az(a);if(b!=0||c!=a.length){if(a.length-b=0?1:0}function -hA(a){a=h(a);if(!tw(a))db(da(ea));var -b=h(gV),d=a.and(b).toJSNumber(),c=a.shiftRight(32).and(b).toJSNumber(),e=hl(d,c);return e}function -df(){return new +bp(d,a,b,c){a=az(a);if(b!=0||c!=a.length){if(a.length-b=0?1:0}function +hB(a){a=h(a);if(!tv(a))dd(dc(ea));var +b=h(gW),d=a.and(b).toJSNumber(),c=a.shiftRight(32).and(b).toJSNumber(),e=hm(d,c);return e}function +dh(){return new Date().getTime()/ar}function -bN(e){var +bO(e){var a=new Date(e*ar),b=a.getTime(),d=new -Date(Date.UTC(a.getUTCFullYear(),0,1)).getTime(),c=Math.floor((b-d)/gi);return[0,a.getUTCSeconds(),a.getUTCMinutes(),a.getUTCHours(),a.getUTCDate(),a.getUTCMonth(),a.getUTCFullYear()-bd,a.getUTCDay(),c,false|0]}function -dg(){return 0}function -tF(h){var +Date(Date.UTC(a.getUTCFullYear(),0,1)).getTime(),c=Math.floor((b-d)/gh);return[0,a.getUTCSeconds(),a.getUTCMinutes(),a.getUTCHours(),a.getUTCDate(),a.getUTCMonth(),a.getUTCFullYear()-bd,a.getUTCDay(),c,false|0]}function +di(){return 0}function +tE(h){var a=new Date(h*ar),b=a.getTime(),e=new -Date(a.getFullYear(),0,1).getTime(),c=Math.floor((b-e)/gi),d=new +Date(a.getFullYear(),0,1).getTime(),c=Math.floor((b-e)/gh),d=new Date(a.getFullYear(),0,1),f=new Date(a.getFullYear(),6,1),g=Math.max(d.getTimezoneOffset(),f.getTimezoneOffset());return[0,a.getSeconds(),a.getMinutes(),a.getHours(),a.getDate(),a.getMonth(),a.getFullYear()-bd,a.getDay(),c,a.getTimezoneOffset()>>0){if(!(25<(b+b9|0)>>>0))c=1}else +if(23!==b)c=1;return c?a+32|0:a}var +eH=ti(0)[1],eI=th(0),bP=(4*eI|0)-1|0;Q(0);var +hU=tg(0);function +dk(d){var a=d,b=0;for(;;){if(a){var c=[0,a[1],b],a=a[2],b=c;continue}return b}}typeof -hT==="number";function +hU==="number";function aB(a,c){var b=G(a);sA(b,0,a,c);return b}function -eL(a){var +eJ(a){var b=an(a),c=G(b);bf(a,0,c,0,b);return c}function -cs(a){return Z(eL(a))}function -eM(c,b,a){if(0<=b&&0<=a&&!((an(c)-a|0)>>0))e=1}else +bv(k,b){var +c=cr(k),a=s(b),d=m(b,0),e=0;if(58<=d){if(71<=d){if(!(5<(d+gB|0)>>>0))e=1}else if(65<=d)e=1}else{var -f=0;if(32!==d)if(43<=d)switch(d+gY|0){case +f=0;if(32!==d)if(43<=d)switch(d+gZ|0){case 5:if(a<(c+2|0)&&1>>0){if(33<(n-61|0)>>>0)p=1}else +n=bK(k,j)+ee|0,p=0;if(59>>0){if(33<(n-61|0)>>>0)p=1}else if(2===n)p=1;if(!p){var j=j+1|0;continue}var e=a0(k),a=[0,0],r=an(e)-1|0,x=0;if(!(r<0)){var @@ -1955,12 +1954,12 @@ m=4;break;case m=2;break}a[1]=a[1]+m|0;var A=i+1|0;if(r!==i){var i=A;continue}break}}if(a[1]===an(e))var -u=eL(e);else{var +u=eJ(e);else{var b=G(a[1]);a[1]=0;var t=an(e)-1|0,y=0;if(!(t<0)){var h=y;for(;;){var c=cg(e,h),d=0;if(35<=c)if(92===c)d=2;else -if(d9<=c)d=1;else +if(b9<=c)d=1;else d=3;else if(32<=c)if(34<=c)d=2;else d=3;else @@ -1978,172 +1977,178 @@ h=z;continue}break}}var u=b}var o=Z(u)}var v=s(o),w=aB(v+2|0,34);bg(o,0,w,1,v);return Z(w)}}function +eX(d,f){var +g=cr(f),e=eY?eY[1]:70;switch(d[2]){case +0:var +b=gJ;break;case +1:var +b=gI;break;case +2:var +b=69;break;case +3:var +b=d5;break;case +4:var +b=71;break;case +5:var +b=e;break;case +6:var +b=104;break;case +7:var +b=72;break;default:var +b=70}var +c=eU(16);bu(c,37);switch(d[1]){case +0:break;case +1:bu(c,43);break;default:bu(c,32)}if(8<=d[2])bu(c,35);bu(c,46);U(c,a(i+g));bu(c,b);return eW(c)}function cw(m,a){if(13<=m){var g=[0,0],h=s(a)-1|0,n=0;if(!(h<0)){var -c=n;for(;;){if(!(9<(bJ(a,c)+cS|0)>>>0))g[1]++;var +c=n;for(;;){if(!(9<(bK(a,c)+cS|0)>>>0))g[1]++;var q=c+1|0;if(h!==c){var c=q;continue}break}}var i=g[1],j=G(s(a)+((i-1|0)/3|0)|0),k=[0,0],d=function(a){av(j,k[1],a);k[1]++;return 0},e=[0,((i-1|0)%3|0)+1|0],l=s(a)-1|0,o=0;if(!(l<0)){var b=o;for(;;){var -f=bJ(a,b);if(9<(f+cS|0)>>>0)d(f);else{if(0===e[1]){d(95);e[1]=3}e[1]+=-1;d(f)}var +f=bK(a,b);if(9<(f+cS|0)>>>0)d(f);else{if(0===e[1]){d(95);e[1]=3}e[1]+=-1;d(f)}var p=b+1|0;if(l!==b){var b=p;continue}break}}return Z(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 cw(b,c8(a,c))}function jQ(b,c){switch(b){case 1:var -a=jq;break;case +a=i3;break;case 2:var -a=jr;break;case +a=i4;break;case 4:var -a=jt;break;case +a=i6;break;case 5:var -a=ju;break;case +a=i7;break;case 6:var -a=jv;break;case +a=i8;break;case 7:var -a=jw;break;case +a=i9;break;case 8:var -a=jx;break;case +a=i_;break;case 9:var -a=jy;break;case +a=i$;break;case 10:var -a=jz;break;case +a=ja;break;case 11:var -a=jA;break;case +a=jb;break;case 0:case 13:var -a=jp;break;case +a=i2;break;case 3:case 14:var -a=js;break;default:var -a=jB}return cw(b,c8(a,c))}function +a=i5;break;default:var +a=jc}return cw(b,c_(a,c))}function jR(b,c){switch(b){case 1:var -a=jD;break;case +a=jr;break;case 2:var -a=jE;break;case +a=js;break;case 4:var -a=jG;break;case +a=ju;break;case 5:var -a=jH;break;case +a=jv;break;case 6:var -a=jI;break;case +a=jw;break;case 7:var -a=jJ;break;case +a=jx;break;case 8:var -a=jK;break;case +a=jy;break;case 9:var -a=jL;break;case +a=jz;break;case 10:var -a=jM;break;case +a=jA;break;case 11:var -a=jN;break;case +a=jB;break;case 0:case 13:var -a=jC;break;case +a=jq;break;case 3:case 14:var -a=jF;break;default:var -a=jO}return cw(b,c8(a,c))}function +a=jt;break;default:var +a=jC}return cw(b,c_(a,c))}function jS(b,c){switch(b){case 1:var -a=jd;break;case +a=jE;break;case 2:var -a=je;break;case +a=jF;break;case 4:var -a=jg;break;case +a=jH;break;case 5:var -a=jh;break;case +a=jI;break;case 6:var -a=ji;break;case +a=jJ;break;case 7:var -a=jj;break;case +a=jK;break;case 8:var -a=jk;break;case +a=jL;break;case 9:var -a=jl;break;case +a=jM;break;case 10:var -a=jm;break;case +a=jN;break;case 11:var -a=jn;break;case +a=jO;break;case 0:case 13:var -a=jc;break;case +a=jD;break;case 3:case 14:var -a=jf;break;default:var -a=jo}return cw(b,sM(a,c))}function -aP(d,v,h){if(6<=d[2]){switch(d[1]){case -0:var -n=45;break;case +a=jG;break;default:var +a=jP}return cw(b,c_(a,c))}function +jT(b,c){switch(b){case 1:var -n=43;break;default:var -n=32}var -w=sJ(h,v,n);if(7<=d[2]){var -l=a0(w),k=an(l);if(0===k)var -u=l;else{var -q=G(k),r=k-1|0,A=0;if(!(r<0)){var -e=A;for(;;){var -g=cg(l,e),z=0;if(97<=g&&!(ek>>0){if(55===o)p=1}else -if(21<(o-1|0)>>>0)p=1;if(!p){var -j=j+1|0;continue}var -y=1}return y?f:a4(f,jW)}}return f}function +a=jj;break;case +7:var +a=jk;break;case +8:var +a=jl;break;case +9:var +a=jm;break;case +10:var +a=jn;break;case +11:var +a=jo;break;case +0:case +13:var +a=jd;break;case +3:case +14:var +a=jg;break;default:var +a=jp}return cw(b,sL(a,c))}function +aP(c,i,b){function +j(d){switch(c[1]){case +0:var +a=45;break;case +1:var +a=43;break;default:var +a=32}return sI(b,i,a)}function +r(c){var +a=sz(b);return 3===a?b<0.?jV:jW:4<=a?jX:c}switch(c[2]){case +5:var +e=hk(eX(c,i),b),d=0,w=s(e);for(;;){if(d===w)var +q=0;else{var +k=m(e,d)+gi|0,l=0;if(23>>0){if(55===k)l=1}else +if(21<(k-1|0)>>>0)l=1;if(!l){var +d=d+1|0;continue}var +q=1}var +x=q?e:a4(e,jU);return r(x)}case +6:return j(0);case +7:var +h=a0(j(0)),f=an(h);if(0===f)var +p=h;else{var +n=G(f),o=f-1|0,t=0;if(!(o<0)){var +a=t;for(;;){var +g=cg(h,a),u=25<(g+gB|0)>>>0?g:g+ee|0;F(n,a,u);var +v=a+1|0;if(o!==a){var +a=v;continue}break}}var +p=n}return Z(p);case +8:return r(j(0));default:return hk(eX(c,i),b)}}function b7(e,H,D,C){var b=H,a=D,d=C;for(;;)if(typeof d==="number")return c(b,a);else @@ -2153,22 +2158,22 @@ I=d[1];return function(c){return u(b,[5,a,c],I)};case 1:var J=d[1];return function(c){var e=0;if(40<=c)if(92===c)var -d=hN;else -if(d9<=c)e=1;else +d=hO;else +if(b9<=c)e=1;else e=2;else if(32<=c)if(39<=c)var -d=hO;else +d=hP;else e=2;else if(14<=c)e=1;else switch(c){case 8:var -d=hP;break;case -9:var d=hQ;break;case -10:var +9:var d=hR;break;case +10:var +d=hS;break;case 13:var -d=hS;break;default:e=1}switch(e){case +d=hT;break;default:e=1}switch(e){case 1:var f=G(4);F(f,0,92);F(f,1,48+(c/at|0)|0);F(f,2,48+((c/10|0)%10|0)|0);F(f,3,48+(c%10|0)|0);var d=Z(f);break;case @@ -2177,24 +2182,24 @@ g=G(1);F(g,0,c);var d=Z(g);break}var h=s(d),i=aB(h+2|0,39);bg(d,0,i,1,h);return u(b,[4,a,Z(i)],J)};case 2:var -K=d[2],L=d[1];return dq(b,a,K,L,function(a){return a});case -3:return dq(b,a,d[2],d[1],i0);case -4:return cx(b,a,d[4],d[2],d[3],jP,d[1]);case -5:return cx(b,a,d[4],d[2],d[3],jQ,d[1]);case -6:return cx(b,a,d[4],d[2],d[3],jR,d[1]);case -7:return cx(b,a,d[4],d[2],d[3],jS,d[1]);case +K=d[2],L=d[1];return ds(b,a,K,L,function(a){return a});case +3:return ds(b,a,d[2],d[1],i1);case +4:return cx(b,a,d[4],d[2],d[3],jQ,d[1]);case +5:return cx(b,a,d[4],d[2],d[3],jR,d[1]);case +6:return cx(b,a,d[4],d[2],d[3],jS,d[1]);case +7:return cx(b,a,d[4],d[2],d[3],jT,d[1]);case 8:var i=d[4],j=d[3],k=d[2],h=d[1];if(typeof k==="number"){if(typeof -j==="number")return 0===j?function(c){return u(b,[4,a,aP(h,dn(h),c)],i)}:function(d,c){return u(b,[4,a,aP(h,d,c)],i)};var +j==="number")return j?function(d,c){return u(b,[4,a,aP(h,d,c)],i)}:function(c){return u(b,[4,a,aP(h,dq(h),c)],i)};var af=j[1];return function(c){return u(b,[4,a,aP(h,af,c)],i)}}else{if(0===k[0]){var n=k[2],o=k[1];if(typeof -j==="number")return 0===j?function(c){return u(b,[4,a,ae(o,n,aP(h,dn(h),c))],i)}:function(d,c){return u(b,[4,a,ae(o,n,aP(h,d,c))],i)};var +j==="number")return j?function(d,c){return u(b,[4,a,ae(o,n,aP(h,d,c))],i)}:function(c){return u(b,[4,a,ae(o,n,aP(h,dq(h),c))],i)};var ag=j[1];return function(c){return u(b,[4,a,ae(o,n,aP(h,ag,c))],i)}}var p=k[1];if(typeof -j==="number")return 0===j?function(d,c){return u(b,[4,a,ae(p,d,aP(h,dn(h),c))],i)}:function(e,d,c){return u(b,[4,a,ae(p,e,aP(h,d,c))],i)};var +j==="number")return j?function(e,d,c){return u(b,[4,a,ae(p,e,aP(h,d,c))],i)}:function(d,c){return u(b,[4,a,ae(p,d,aP(h,dq(h),c))],i)};var ah=j[1];return function(d,c){return u(b,[4,a,ae(p,d,aP(h,ah,c))],i)}}case -9:return dq(b,a,d[2],d[1],hE);case +9:return ds(b,a,d[2],d[1],hF);case 10:var a=[7,a],d=d[1];continue;case 11:var @@ -2202,8 +2207,8 @@ a=[2,a,d[1]],d=d[2];continue;case 12:var a=[3,a,d[1]],d=d[2];continue;case 13:var -O=d[3],P=d[2],q=eW(16);dp(q,P);var -A=eY(q);return function(c){return u(b,[4,a,A],O)};case +O=d[3],P=d[2],q=eU(16);dr(q,P);var +A=eW(q);return function(c){return u(b,[4,a,A],O)};case 14:var Q=d[3],S=d[2];return function(d){var e=d[1],c=y(e,E(M(S)));if(typeof @@ -2218,35 +2223,35 @@ a=[0,a,d[1]],d=d[2];continue;case m=d[1];if(0===m[0]){var V=d[2],W=m[1][1],X=0,b=function(b,c,d){return function(a){return u(c,[1,b,[0,a]],d)}}(a,b,V),a=X,d=W;continue}var Y=d[2],_=m[1][1],$=0,b=function(b,c,d){return function(a){return u(c,[1,b,[1,a]],d)}}(a,b,Y),a=$,d=_;continue;case -19:throw[0,t,jY];case +19:throw[0,t,jZ];case 20:var -aa=d[3],ab=[8,a,jZ];return function(a){return u(b,ab,aa)};case +aa=d[3],ab=[8,a,j0];return function(a){return u(b,ab,aa)};case 21:var -ac=d[2];return function(c){return u(b,[4,a,c8(j0,c)],ac)};case +ac=d[2];return function(c){return u(b,[4,a,c_(j1,c)],ac)};case 22:var ad=d[1];return function(c){return u(b,[5,a,c],ad)};case 23:var g=d[2],l=d[1];if(typeof l==="number")switch(l){case -0:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -1:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -2:throw[0,t,j1];default:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g])}else +0:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +1:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +2:throw[0,t,j2];default:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g])}else switch(l[0]){case -0:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -1:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -2:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -3:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -4:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -5:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -6:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -7:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case -8:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);case +0:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +1:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +2:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +3:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +4:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +5:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +6:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +7:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case +8:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);case 9:var -z=l[2];return e<50?dZ(e+1|0,b,a,z,g):N(dZ,[0,b,a,z,g]);case -10:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g]);default:return e<50?x(e+1|0,b,a,g):N(x,[0,b,a,g])}default:var -r=d[3],v=d[1],w=c(d[2],0);return e<50?dY(e+1|0,b,a,r,v,w):N(dY,[0,b,a,r,v,w])}}function -dZ(e,d,c,a,b){if(typeof -a==="number")return e<50?x(e+1|0,d,c,b):N(x,[0,d,c,b]);else +z=l[2];return e<50?d1(e+1|0,b,a,z,g):N(d1,[0,b,a,z,g]);case +10:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g]);default:return e<50?w(e+1|0,b,a,g):N(w,[0,b,a,g])}default:var +r=d[3],v=d[1],x=c(d[2],0);return e<50?d0(e+1|0,b,a,r,v,x):N(d0,[0,b,a,r,v,x])}}function +d1(e,d,c,a,b){if(typeof +a==="number")return e<50?w(e+1|0,d,c,b):N(w,[0,d,c,b]);else switch(a[0]){case 0:var f=a[1];return function(a){return ak(d,c,f,b)};case @@ -2274,29 +2279,29 @@ r=a[1];return function(e,a){return ak(d,c,r,b)};case s=a[1];return function(a){return ak(d,c,s,b)};case 12:var u=a[1];return function(a){return ak(d,c,u,b)};case -13:throw[0,t,j2];default:throw[0,t,j3]}}function -x(d,b,e,a){var -c=[8,e,j4];return d<50?b7(d+1|0,b,c,a):N(b7,[0,b,c,a])}function -dY(h,b,f,a,e,d){if(e){var -i=e[1];return function(e){return jX(b,f,a,i,c(d,e))}}var +13:throw[0,t,j3];default:throw[0,t,j4]}}function +w(d,b,e,a){var +c=[8,e,j5];return d<50?b7(d+1|0,b,c,a):N(b7,[0,b,c,a])}function +d0(h,b,f,a,e,d){if(e){var +i=e[1];return function(e){return jY(b,f,a,i,c(d,e))}}var g=[4,f,d];return h<50?b7(h+1|0,b,g,a):N(b7,[0,b,g,a])}function u(a,b,c){return cm(b7(0,a,b,c))}function -ak(a,b,c,d){return cm(dZ(0,a,b,c,d))}function -jX(a,b,c,d,e){return cm(dY(0,a,b,c,d,e))}function -dq(f,e,d,a,b){if(typeof +ak(a,b,c,d){return cm(d1(0,a,b,c,d))}function +jY(a,b,c,d,e){return cm(d0(0,a,b,c,d,e))}function +ds(f,e,d,a,b){if(typeof a==="number")return function(a){return u(f,[4,e,c(b,a)],d)};else{if(0===a[0]){var g=a[2],h=a[1];return function(a){return u(f,[4,e,ae(h,g,c(b,a))],d)}}var i=a[1];return function(g,a){return u(f,[4,e,ae(i,g,c(b,a))],d)}}}function cx(g,e,d,h,c,b,a){if(typeof h==="number"){if(typeof -c==="number")return 0===c?function(c){return u(g,[4,e,f(b,a,c)],d)}:function(h,c){return u(g,[4,e,bu(h,f(b,a,c))],d)};var -l=c[1];return function(c){return u(g,[4,e,bu(l,f(b,a,c))],d)}}else{if(0===h[0]){var +c==="number")return c?function(h,c){return u(g,[4,e,bv(h,f(b,a,c))],d)}:function(c){return u(g,[4,e,f(b,a,c)],d)};var +l=c[1];return function(c){return u(g,[4,e,bv(l,f(b,a,c))],d)}}else{if(0===h[0]){var i=h[2],j=h[1];if(typeof -c==="number")return 0===c?function(c){return u(g,[4,e,ae(j,i,f(b,a,c))],d)}:function(h,c){return u(g,[4,e,ae(j,i,bu(h,f(b,a,c)))],d)};var -m=c[1];return function(c){return u(g,[4,e,ae(j,i,bu(m,f(b,a,c)))],d)}}var +c==="number")return c?function(h,c){return u(g,[4,e,ae(j,i,bv(h,f(b,a,c)))],d)}:function(c){return u(g,[4,e,ae(j,i,f(b,a,c))],d)};var +m=c[1];return function(c){return u(g,[4,e,ae(j,i,bv(m,f(b,a,c)))],d)}}var k=h[1];if(typeof -c==="number")return 0===c?function(h,c){return u(g,[4,e,ae(k,h,f(b,a,c))],d)}:function(i,h,c){return u(g,[4,e,ae(k,i,bu(h,f(b,a,c)))],d)};var -n=c[1];return function(h,c){return u(g,[4,e,ae(k,h,bu(n,f(b,a,c)))],d)}}}function +c==="number")return c?function(i,h,c){return u(g,[4,e,ae(k,i,bv(h,f(b,a,c)))],d)}:function(h,c){return u(g,[4,e,ae(k,h,f(b,a,c))],d)};var +n=c[1];return function(h,c){return u(g,[4,e,ae(k,h,bv(n,f(b,a,c)))],d)}}}function a5(b,h){var a=h;for(;;)if(typeof a==="number")return 0;else @@ -2305,388 +2310,390 @@ switch(a[0]){case e=a[2],i=a[1];if(typeof e==="number")switch(e){case 0:var -d=ij;break;case -1:var d=ik;break;case -2:var +1:var d=il;break;case -3:var +2:var d=im;break;case -4:var +3:var d=io;break;case +4:var +d=ip;break;case 5:var -d=ip;break;default:var -d=iq}else +d=iq;break;default:var +d=ir}else switch(e[0]){case 0:var d=e[1];break;case 1:var d=e[1];break;default:var -d=a4(ir,eP(1,e[1]))}a5(b,i);return bR(b,d);case +d=a4(is,eN(1,e[1]))}a5(b,i);return bS(b,d);case 1:var f=a[2],g=a[1];if(0===f[0]){var -j=f[1];a5(b,g);bR(b,j5);var +j=f[1];a5(b,g);bS(b,j6);var a=j;continue}var -k=f[1];a5(b,g);bR(b,j6);var +k=f[1];a5(b,g);bS(b,j7);var a=k;continue;case 6:var -n=a[2];a5(b,a[1]);return bR(b,c(n,0));case +n=a[2];a5(b,a[1]);return bS(b,c(n,0));case 7:var a=a[1];continue;case 8:var o=a[2];a5(b,a[1]);return L(o);case 2:case 4:var -l=a[2];a5(b,a[1]);return bR(b,l);default:var -m=a[2];a5(b,a[1]);return eV(b,m)}}function -e0(b){var +l=a[2];a5(b,a[1]);return bS(b,l);default:var +m=a[2];a5(b,a[1]);return eT(b,m)}}function +eZ(b){var a=b[1];return u(function(b){var -a=dl(64);a5(a,b);return eU(a)},0,a)}var -e1=[0,0];function -dr(a){e1[1]=[0,a,e1[1]];return 0}function -aC(a){return sD(10,at,0,a)}try{var -sp=dd(so),e3=sp}catch(a){a=e(a);if(a!==W)throw a;try{var -sn=dd(sm),e2=sn}catch(a){a=e(a);if(a!==W)throw a;var -e2=j8}var -e3=e2}var -j9=hZ(e3,82),cy=[d_,function(z){var -o=tk(0),c=[0,a2(55,0),0],j=0===o.length-1?[0,0]:o,k=j.length-1,b=0;for(;;){Y(c[1],b)[1+b]=b;var +a=dn(64);a5(a,b);return eS(a)},0,a)}var +e0=[0,0];function +dt(a){e0[1]=[0,a,e0[1]];return 0}try{var +sq=df(sp),e2=sq}catch(a){a=e(a);if(a!==W)throw a;try{var +so=df(sn),e1=so}catch(a){a=e(a);if(a!==W)throw a;var +e1=j9}var +e2=e1}var +j_=h0(e2,82),cy=[gp,function(z){var +o=tj(0),c=[0,a2(55,0),0],j=0===o.length-1?[0,0]:o,k=j.length-1,b=0;for(;;){Y(c[1],b)[1+b]=b;var y=b+1|0;if(54!==b){var b=y;continue}var -g=[0,j7],l=54+cq(55,k)|0,u=0;if(!(l<0)){var +g=[0,j8],l=54+cq(55,k)|0,u=0;if(!(l<0)){var d=u;for(;;){var -e=d%55|0,n=s9(d,k),v=Y(j,n)[1+n],h=a4(g[1],a(i+v));g[1]=s4(h,0,s(h));var -f=g[1],p=m(f,3)<<24,q=m(f,2)<<16,r=m(f,1)<<8,t=((m(f,0)+r|0)+q|0)+p|0,w=(Y(c[1],e)[1+e]^t)&d6;Y(c[1],e)[1+e]=w;var +e=d%55|0,n=s8(d,k),v=Y(j,n)[1+n],h=a4(g[1],a(i+v));g[1]=s3(h,0,s(h));var +f=g[1],p=m(f,3)<<24,q=m(f,2)<<16,r=m(f,1)<<8,t=((m(f,0)+r|0)+q|0)+p|0,w=(Y(c[1],e)[1+e]^t)&d8;Y(c[1],e)[1+e]=w;var x=d+1|0;if(l!==d){var d=x;continue}break}}c[2]=0;return c}}];function -j_(h,k){var -l=h?h[1]:j9,b=16;for(;;){if(!(k<=b)&&!(eK<(b*2|0))){var +j$(h,k){var +l=h?h[1]:j_,b=16;for(;;){if(!(k<=b)&&!(eI<(b*2|0))){var b=b*2|0;continue}if(l){var -i=hs(cy),a=cT===i?cy[1]:d_===i?id(cy):cy;a[2]=(a[2]+1|0)%55|0;var -c=a[2],d=Y(a[1],c)[1+c],e=(a[2]+24|0)%55|0,f=(Y(a[1],e)[1+e]+(d^(d>>>25|0)&31)|0)&d6,g=a[2];Y(a[1],g)[1+g]=f;var +i=ht(cy),a=cT===i?cy[1]:gp===i?ie(cy):cy;a[2]=(a[2]+1|0)%55|0;var +c=a[2],d=Y(a[1],c)[1+c],e=(a[2]+24|0)%55|0,f=(Y(a[1],e)[1+e]+(d^(d>>>25|0)&31)|0)&d8,g=a[2];Y(a[1],g)[1+g]=f;var j=f}else var -j=0;return[0,0,a2(b,0),j,b]}}var -e6=[w,j$,Q(0)],e4=0,e5=-1;function -cz(a,b){a[13]=a[13]+b[3]|0;return eT(b,a[28])}var -e7=1000000010;function -ds(b,a){return A(b[17],a,0,s(a))}function -dt(a){return c(a[19],0)}function -e8(a,c,b){a[9]=a[9]-c|0;ds(a,b);a[11]=0;return 0}function +j=0;return[0,0,a2(b,0),j,b]}}function +aC(a){return sC(10,at,0,a)}var +e5=[x,ka,Q(0)],e3=0,e4=-1;function +cz(a,b){a[13]=a[13]+b[3]|0;return eR(b,a[28])}var +e6=1000000010;function +du(b,a){return A(b[17],a,0,s(a))}function +dv(a){return c(a[19],0)}function +e7(a,c,b){a[9]=a[9]-c|0;du(a,b);a[11]=0;return 0}function cA(c,a){var -b=J(a,ka);return b?e8(c,s(a),a):b}function -bv(a,b,f){var -g=b[3],h=b[2];cA(a,b[1]);dt(a);a[11]=1;var -d=(a[6]-f|0)+h|0,e=a[8],i=s1(e,d)?e:d;a[10]=i;a[9]=a[6]-a[10]|0;c(a[21],a[10]);return cA(a,g)}function -e9(b,a){return bv(b,kb,a)}function +b=J(a,kb);return b?e7(c,s(a),a):b}function +bw(a,b,f){var +g=b[3],h=b[2];cA(a,b[1]);dv(a);a[11]=1;var +d=(a[6]-f|0)+h|0,e=a[8],i=s0(e,d)?e:d;a[10]=i;a[9]=a[6]-a[10]|0;c(a[21],a[10]);return cA(a,g)}function +e8(b,a){return bw(b,kc,a)}function bU(a,b){var d=b[2],e=b[3];cA(a,b[1]);a[9]=a[9]-d|0;c(a[20],d);return cA(a,e)}function -e_(a){for(;;){var -q=a[28][2],Q=q?[0,q[1]]:0;if(Q){var -o=Q[1],p=o[1],b=o[2],ac=0<=p?1:0,aa=o[3],ab=a[13]-a[12]|0,R=ac||(a[9]<=ab?1:0);if(R){var -g=a[28],r=g[2];if(r){var -t=r[2];if(t){g[1]=g[1]-1|0;g[2]=t}else -dk(g);var -j=0<=p?p:e7;if(typeof +e9(a){for(;;){var +r=a[28][2],O=r?[0,r[1]]:0;if(O){var +p=O[1],q=p[1],b=p[2],ac=0<=q?1:0,aa=p[3],ab=a[13]-a[12]|0,P=ac||(a[9]<=ab?1:0);if(P){var +g=a[28],m=g[2];if(m){if(m[2]){var +Q=m[2];g[1]=g[1]-1|0;g[2]=Q}else +dm(g);var +l=0<=q?q:e6;if(typeof b==="number")switch(b){case 0:var -A=bt(a[3]);if(A){var -B=A[1][1],C=function(b,a){if(a){var -c=a[1],d=a[2];return ew(b,c)?[0,b,a]:[0,c,C(b,d)]}return[0,b,0]};B[1]=C(a[6]-a[9]|0,B[1])}break;case +y=bt(a[3]);if(y){var +z=y[1][1],A=function(b,a){if(a){var +c=a[1],d=a[2];return eu(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:bs(a[2]);break;case 2:bs(a[3]);break;case 3:var -D=bt(a[2]);if(D)e9(a,D[1][2]);else -dt(a);break;case +B=bt(a[2]);if(B)e8(a,B[1][2]);else +dv(a);break;case 4:if(a[10]!==(a[6]-a[9]|0)){var -e=a[28],k=e[2];if(k)var -u=k[1],v=k[2],l=v?(e[1]=e[1]-1|0,e[2]=v,[0,u]):(dk(e),[0,u]);else +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 +i=[0,t]}else{dm(e);var +i=[0,t]}}else var -l=0;if(l){var -z=l[1],T=z[1];a[12]=a[12]-z[3]|0;a[9]=a[9]+T|0}}break;default:var -E=bs(a[5]);if(E)ds(a,c(a[25],E[1]))}else +i=0;if(i){var +x=i[1],T=x[1];a[12]=a[12]-x[3]|0;a[9]=a[9]+T|0}}break;default:var +C=bs(a[5]);if(C)du(a,c(a[25],C[1]))}else switch(b[0]){case -0:e8(a,j,b[1]);break;case +0:e7(a,l,b[1]);break;case 1:var -d=b[2],h=b[1],F=d[1],U=d[2],G=bt(a[2]);if(G){var -H=G[1],f=H[2];switch(H[1]){case -0:bU(a,h);break;case -1:bv(a,d,f);break;case -2:bv(a,d,f);break;case -3:if(a[9]<(j+s(F)|0))bv(a,d,f);else -bU(a,h);break;case -4:if(a[11]||!(a[9]<(j+s(F)|0)||((a[6]-f|0)+U|0)>>0))e9(a,y)}else -dt(a)}var -_=a[9]-Z|0,$=1===O?1:a[9]>>0))e8(a,w)}else +dv(a)}var +_=a[9]-Z|0,$=1===M?1:a[9]>>3|0,bq(bh(b,a>>>3|0)|1<<(a&7)))}function cD(b){var -a=dy(0);bV(a,b);return a}function +a=dA(0);bV(a,b);return a}function cE(c){var -b=G(32),a=0;for(;;){av(b,a,bq(bh(c,a)^bx));var +b=G(32),a=0;for(;;){av(b,a,bq(bh(c,a)^by));var d=a+1|0;if(31!==a){var a=d;continue}return b}}function -dz(d,c){var +dB(d,c){var b=G(32),a=0;for(;;){var e=bh(c,a);av(b,a,bq(bh(d,a)|e));var f=a+1|0;if(31!==a){var a=f;continue}return b}}function -lY(c,b){try{var +lZ(c,b){try{var a=0;for(;;){var -f=bh(b,a);if(0!==(bh(c,a)&f))throw eF;var +f=bh(b,a);if(0!==(bh(c,a)&f))throw eD;var g=a+1|0;if(31!==a){var a=g;continue}var -d=1;return d}}catch(a){a=e(a);if(a===eF)return 0;throw a}}function -fk(f,e){var +d=1;return d}}catch(a){a=e(a);if(a===eD)return 0;throw a}}function +fj(f,e){var a=0;for(;;){var d=bh(e,a);if(0!==d){var b=0;for(;;){if(0!==(d&1<>>0){if(!(25<(b+b9|0)>>>0))d=1}else +if(23!==b)d=1;var +e=d?a+ee|0:a;return bV(c,e)},b);var +d=c}else var -d=f;var -i=h?cE(d):d;return cs(i)}throw[0,t,mb]}var -fo=G(bA),b6=0;for(;;){av(fo,b6,eI(bq(b6)));var -sh=b6+1|0;if(bx!==b6){var -b6=sh;continue}cs(fo);var -cH=cu([0,eA]),fp=function(a){var -b=eU(a[1]);a[1][2]=0;var +d=b;var +h=f?cE(d):d;return cs(h)}throw[0,t,mc]}var +fn=G(bB),b6=0;for(;;){av(fn,b6,eG(bq(b6)));var +si=b6+1|0;if(by!==b6){var +b6=si;continue}cs(fn);var +cH=cu([0,ey]),fo=function(a){var +b=eS(a[1]);a[1][2]=0;var c=s(b);if(0===c)return 0;if(1===c){var -d=a[2];a[2]=[0,[0,m(b,0)],d];return 0}a[2]=[0,[1,b],a[2]];return 0},mf=cE(cD(10)),dE=k,dF=hf,ml=function(b){var +d=a[2];a[2]=[0,[0,m(b,0)],d];return 0}a[2]=[0,[1,b],a[2]];return 0},mg=cE(cD(10)),dG=k,dH=hf,mm=function(b){var g=s(b),D=[0,1];function G(f){var -d=dy(0),a=f;for(;;){if(g<=a)a3(mj);if(93===m(b,a)&&f>>0)if(9<=s)var j=[0,[9,k+cS|0],f+1|0];else l=1;else -if(0===s){var +if(s)l=2;else{var I=D[1];D[1]++;var v=E(f+1|0),p=v[2],A=0,J=v[1];if((p+1|0)>>0)){if(0===r){var -c=[5,c],d=d+1|0;continue}var -c=[6,c],d=d+1|0;continue}if(21===r){var +r=m(b,d)-42|0;if(!(1>>0)){if(r){var +c=[6,c],d=d+1|0;continue}var +c=[5,c],d=d+1|0;continue}if(21===r){var c=[7,c],d=d+1|0;continue}}var B=0;if(typeof -c!=="number"&&0===c[0]){eV(h[1],c[1]);B=1}if(!B){fp(h);h[2]=[0,c,h[2]]}var -a=d;continue a}}}fp(h);return[0,[3,di(h[2])],a]}}function +c!=="number"&&0===c[0]){eT(h[1],c[1]);B=1}if(!B){fo(h);h[2]=[0,c,h[2]]}var +a=d;continue a}}}fo(h);return[0,[3,dk(h[2])],a]}}function E(f){var d=F(f),c=d[1],a=d[2];for(;;){if((a+2|0)<=g&&92===m(b,a)&&eg===m(b,a+1|0)){var e=F(a+2|0),c=[4,c,e[1]],a=e[2];continue}return[0,c,a]}}var -H=E(0),Q=H[1],I=H[2]===g?Q:a3(mk),h=[0,a2(32,0)],c=[0,0],n=[0,cH[1]],o=[0,0],j=[0,1],p=[0,0],u=0;function +H=E(0),Q=H[1],I=H[2]===g?Q:a3(ml),h=[0,a2(32,0)],c=[0,0],n=[0,cH[1]],o=[0,0],j=[0,1],p=[0,0],u=0;function a(f,e){if(h[1].length-1<=c[1]){var a=[0,h[1].length-1];for(;;){if(a[1]<=c[1]){a[1]=a[1]*2|0;continue}var -b=a2(a[1],0);eS(h[1],0,b,0,h[1].length-1);h[1]=b;break}}var -g=fn(f,e),d=c[1];Y(h[1],d)[1+d]=g;c[1]++;return 0}function +b=a2(a[1],0);eQ(h[1],0,b,0,h[1].length-1);h[1]=b;break}}var +g=fm(f,e),d=c[1];Y(h[1],d)[1+d]=g;c[1]++;return 0}function k(d){var b=c[1];a(cF,0);return b}function l(a,c,b){var -d=fn(c,dB(b,a));Y(h[1],a)[1+a]=d;return 0}function +d=fm(c,dD(b,a));Y(h[1],a)[1+a]=d;return 0}function i(b){try{var -a=f(cH[27],b,n[1]);return a}catch(a){a=e(a);if(a===W){var +a=f(cH[28],b,n[1]);return a}catch(a){a=e(a);if(a===W){var c=o[1];n[1]=A(cH[4],b,c,n[1]);o[1]++;return c}throw a}}function -w(b){if(dC(b)){var -a=p[1];if(64<=a)a3(mc);p[1]++;return a}return-1}function -q(b,a){return lY(b,a)}function +w(b){if(dE(b)){var +a=p[1];if(64<=a)a3(md);p[1]++;return a}return-1}function +q(b,a){return lZ(b,a)}function d(b){if(typeof b==="number")switch(b){case -0:return a(l1,0);case -1:return a(l2,0);default:return a(l3,0)}else +0:return a(l2,0);case +1:return a(l3,0);default:return a(l4,0)}else switch(b[0]){case 0:return a(cF,b[1]);case 1:var f=b[1],o=s(f);if(0===o)return 0;if(1===o)return a(cF,m(f,0));try{var -p=eR(f,0);d([1,lW(f,p)]);a(cF,0);var -x=d([1,lX(f,p+1|0)]);return x}catch(b){b=e(b);if(b===W)return a(lZ,i(f));throw b}case +p=eP(f,0);d([1,lX(f,p)]);a(cF,0);var +x=d([1,lY(f,p+1|0)]);return x}catch(b){b=e(b);if(b===W)return a(l0,i(f));throw b}case 2:var -q=b[1],y=b[2]?cE(q):q;return a(l0,i(cs(y)));case +q=b[1],y=b[2]?cE(q):q;return a(l1,i(cs(y)));case 3:return K(b[1]);case 4:var z=b[2],A=b[1],B=k(0);d(A);var C=k(0),D=c[1];d(z);var -E=c[1];l(B,cG,D);return l(C,dA,E);case +E=c[1];l(B,cG,D);return l(C,dC,E);case 5:var -r=b[1],g=w(r),t=k(0);if(0<=g)a(fl,g);d(r);if(0<=g)a(fm,g);a(dA,dB(t,c[1]));return l(t,cG,c[1]);case +r=b[1],g=w(r),t=k(0);if(0<=g)a(fk,g);d(r);if(0<=g)a(fl,g);a(dC,dD(t,c[1]));return l(t,cG,c[1]);case 6:var -u=b[1],h=w(u),F=c[1];d(u);if(0<=h)a(fm,h);var -G=k(0);if(0<=h)a(fl,h);a(dA,dB(F,c[1]));return l(G,cG,c[1]);case +u=b[1],h=w(u),F=c[1];d(u);if(0<=h)a(fl,h);var +G=k(0);if(0<=h)a(fk,h);a(dC,dD(F,c[1]));return l(G,cG,c[1]);case 7:var H=b[1],I=k(0);d(H);return l(I,cG,c[1]);case 8:var -n=b[1],J=b[2];a(l4,n);d(J);a(l5,n);j[1]=cq(j[1],n+1|0);return 0;default:var -v=b[1];a(l6,v);j[1]=cq(j[1],v+1|0);return 0}}function +n=b[1],J=b[2];a(l5,n);d(J);a(l6,n);j[1]=cq(j[1],n+1|0);return 0;default:var +v=b[1];a(l7,v);j[1]=cq(j[1],v+1|0);return 0}}function K(o){var b=o;for(;;){if(b){var c=b[1];if(typeof @@ -2890,7 +2892,7 @@ e==="number")l=1;else switch(e[0]){case 0:case 2:var -h=b[2],r=bW(h);if(q(a6(e),r)){a(l9,i(dD(u,e)));var +h=b[2],r=bW(h);if(q(a6(e),r)){a(l_,i(dF(u,e)));var b=h;continue}break;default:l=1}break;case 6:var f=c[1],m=0;if(typeof @@ -2898,7 +2900,7 @@ f==="number")m=1;else switch(f[0]){case 0:case 2:var -j=b[2],s=bW(j);if(q(a6(f),s)){a(l_,i(dD(u,f)));var +j=b[2],s=bW(j);if(q(a6(f),s)){a(l$,i(dF(u,f)));var b=j;continue}break;default:m=1}break;case 7:var g=c[1],n=0;if(typeof @@ -2906,89 +2908,88 @@ g==="number")n=1;else switch(g[0]){case 0:case 2:var -k=b[2],t=bW(k);if(q(a6(g),t)){a(l8,i(dD(u,g)));var +k=b[2],t=bW(k);if(q(a6(g),t)){a(l9,i(dF(u,g)));var b=k;continue}break;default:n=1}break}var p=b[2];d(c);var -b=p;continue}return 0}}d(I);a(l7,0);var +b=p;continue}return 0}}d(I);a(l8,0);var x=a6(I);if(hd(x,aQ))var y=-1;else{var -v=aB(bA,0);fk(function(a){return av(v,a,1)},x);var +v=aB(bB,0);fj(function(a){return av(v,a,1)},x);var y=i(cs(v))}var -z=a2(o[1],md),M=n[1];function +z=a2(o[1],me),M=n[1];function N(b,a){Y(z,a)[1+a]=b;return 0}f(cH[12],N,M);var r=c[1],B=h[1],J=0,O=p[1],P=j[1];if(0<=r&&!((B.length-1-r|0)<0)){var C=su(B,0,r);J=1}if(!J)var -C=L(h0);return[0,C,z,me,P,O,y]},cI=function(b,a){return Math.abs(b-a)<0.001?1:0},dG=function(b,a){return cI(b,a)?0:b>>0))switch(b){case +e=k(i),g=e[2],h=e[1],d=0;if(bA<=c){if(bb===c)d=1}else +if(c2<=c)d=1;return d?l(h,f(a[29],g,c)):l(f(b[42],h,c),g)}return[0,b,a,m,v,o,w,x,y,n,i,h,D,E,F,G,H,I,J,z,B,K,L,M,cI,dI,aC,R,S,T,U,V,O,N,Q,P,u,d,j,[0,e,ac,ad,q,af,ae,aC,p,W,X,Y,Z,_,$,aa,ab,ah,ai,ag,aj,ak,al,am],s,ao,ap,an,aq,function(i,c){var +e=k(i),g=e[2],h=e[1],d=0;if(bA<=c){if(bb===c)d=1}else +if(c2<=c)d=1;return d?l(h,f(a[30],g,c)):l(f(b[43],h,c),g)}]},fL=function(a){return fK(aE,a)}(m2),oI=fL[1],oJ=fL[2];(function(a){return fJ(oI,a)}(oJ));var +oK=function(a){return fK(aE,a)}(fw)[1];(function(a){return fJ(oK,a)}(fw));mm(oL);var +oN=[x,oM,Q(0)];ty(0);dx(oO,oN);var +ab=aj(0),b4=aj(1),oP=aj(-1),fM=function(a){return bp(0,a,0,s(a))},oQ=function(b,a){return bp(b,a,0,s(a))},b5=function(a,b){if(a!==ab&&b!==b4){var +c=tw(a,b);if(c===b4)return[0,a,b];var +d=hz(b,c);return[0,hz(a,c),d]}return[0,a,b4]},fN=function(b,a){var +c=bM(a);return 0===c?[0,aj(bM(b)),ab]:0>>0))switch(b){case 0:return 2;case -1:break;default:return 1}return 3}return a[1]===ab?0:4},oR=function(a){return[0,co(a[1]),a[2]]},dS=function(b,a){if(b[2]!==ab&&a[2]!==ab)return b5(bj(b[1],a[1]),bj(b[2],a[2]));return[0,aj(aN(bL(b[1]),bL(a[1]))),ab]},dT=function(a){switch(a){case +1:break;default:return 1}return 3}return a[1]===ab?0:4},oS=function(a){return[0,co(a[1]),a[2]]},dU=function(b,a){if(b[2]!==ab&&a[2]!==ab)return b5(bj(b[1],a[1]),bj(b[2],a[2]));return[0,aj(aN(bM(b[1]),bM(a[1]))),ab]},dV=function(a){switch(a){case 0:return 2;case 1:return 8;case -2:return 10;default:return 16}},dU=function(f,e,d,b){var +2:return 10;default:return 16}},dW=function(f,e,d,b){var a=e;for(;;){if(d<=a)return 0;if(c(b,m(f,a)))return[0,a];var -a=a+1|0;continue}},oT=function(a){if(J(a,oU)){if(J(a,oV)){if(!J(a,oW))return fR;if(J(a,oX)){if(J(a,oY))try{var -l=eR(a,47),aa=bp(0,a,l+1|0,(s(a)-l|0)-1|0),ab=fO(bp(0,a,0,l),aa);return ab}catch(l){l=e(l);if(l===W){var +a=a+1|0;continue}},oU=function(a){if(J(a,oV)){if(J(a,oW)){if(!J(a,oX))return fQ;if(J(a,oY)){if(J(a,oZ))try{var +l=eP(a,47),aa=bp(0,a,l+1|0,(s(a)-l|0)-1|0),ab=fN(bp(0,a,0,l),aa);return ab}catch(l){l=e(l);if(l===W){var j=s(a),A=0;if(j<1)var v=[0,0,A];else{var -R=m(a,0)+gY|0,U=0;if(!(2>>0)){var +R=m(a,0)+gZ|0,U=0;if(!(2>>0)){var V=0;switch(R){case 0:var T=[0,0,1];break;case @@ -3315,41 +3316,41 @@ r=[0,0,c+2|0]}}else u=1;if(u)var r=[0,2,c];var w=r}var -d=w[2],b=w[1],X=2===b?function(a){if(69!==a&&gH!==a)return 0;return 1}:3<=b?function(a){if(80!==a&&112!==a)return 0;return 1}:function(a){return 0},B=dU(a,d,j,X);if(B)var -C=B[1],D=C+1|0,E=tE(bp(10,a,D,j-D|0)),f=C;else +d=w[2],b=w[1],X=2===b?function(a){if(69!==a&&gI!==a)return 0;return 1}:3<=b?function(a){if(80!==a&&112!==a)return 0;return 1}:function(a){return 0},B=dW(a,d,j,X);if(B)var +C=B[1],D=C+1|0,f=C,E=tD(bp(10,a,D,j-D|0));else var -E=0,f=j;if(2<=b){var -F=dU(a,d,f,function(a){return 46===a?1:0});if(F){var +f=j,E=0;if(2<=b){var +F=dW(a,d,f,function(a){return 46===a?1:0});if(F){var x=F[1];if(2===b)var -G=1;else{if(!(3<=b))throw[0,t,o0];var +G=1;else{if(!(3<=b))throw[0,t,o1];var G=4}var I=x+1|0,K=f-1|0,H=0;if(K base_typ -> typ method visit_Binop : - 'monomorphic. 'env -> binop Pos.marked -> expression Pos.marked -> expression Pos.marked -> - expression + 'monomorphic. + 'env -> binop Pos.marked -> expression Pos.marked -> expression Pos.marked -> expression method visit_Boolean : 'monomorphic. 'env -> primitive_typ @@ -305,8 +305,13 @@ class virtual ['self] program_map : method visit_Collection : 'monomorphic. 'env -> base_typ_data Pos.marked -> base_typ_data method visit_CollectionOp : - 'monomorphic. 'env -> collection_op Pos.marked -> ident Pos.marked -> expression Pos.marked -> - expression Pos.marked -> expression + 'monomorphic. + 'env -> + collection_op Pos.marked -> + ident Pos.marked -> + expression Pos.marked -> + expression Pos.marked -> + expression method visit_Condition : 'monomorphic. 'env -> base_typ @@ -333,16 +338,24 @@ class virtual ['self] program_map : method visit_Div : 'monomorphic. 'env -> op_kind -> binop method visit_Dotted : - 'monomorphic. 'env -> expression Pos.marked -> constructor Pos.marked option -> - ident Pos.marked -> expression + 'monomorphic. + 'env -> + expression Pos.marked -> + constructor Pos.marked option -> + ident Pos.marked -> + expression method visit_Duration : 'monomorphic. 'env -> primitive_typ method visit_EnumDecl : 'monomorphic. 'env -> enum_decl -> code_item method visit_EnumInject : - 'monomorphic. 'env -> constructor Pos.marked option -> constructor Pos.marked -> - expression Pos.marked option -> expression + 'monomorphic. + 'env -> + constructor Pos.marked option -> + constructor Pos.marked -> + expression Pos.marked option -> + expression method visit_Eq : 'monomorphic. 'env -> binop @@ -375,8 +388,8 @@ class virtual ['self] program_map : method visit_Ident : 'monomorphic. 'env -> ident -> expression method visit_IfThenElse : - 'monomorphic. 'env -> expression Pos.marked -> expression Pos.marked -> - expression Pos.marked -> expression + 'monomorphic. + 'env -> expression Pos.marked -> expression Pos.marked -> expression Pos.marked -> expression method visit_Increasing : 'monomorphic. 'env -> variation_typ @@ -475,8 +488,11 @@ class virtual ['self] program_map : method visit_StructDecl : 'monomorphic. 'env -> struct_decl -> code_item method visit_StructLit : - 'monomorphic. 'env -> constructor Pos.marked -> - (ident Pos.marked * expression Pos.marked) list -> expression + 'monomorphic. + 'env -> + constructor Pos.marked -> + (ident Pos.marked * expression Pos.marked) list -> + expression method visit_Sub : 'monomorphic. 'env -> op_kind -> binop @@ -490,8 +506,12 @@ class virtual ['self] program_map : method visit_Unop : 'monomorphic. 'env -> unop Pos.marked -> expression Pos.marked -> expression method visit_VariesWith : - 'monomorphic. 'env -> qident Pos.marked -> expression Pos.marked -> - variation_typ Pos.marked option -> meta_assertion + 'monomorphic. + 'env -> + qident Pos.marked -> + expression Pos.marked -> + variation_typ Pos.marked option -> + meta_assertion method visit_Year : 'monomorphic. 'env -> literal_unit @@ -553,7 +573,8 @@ class virtual ['self] program_map : method visit_match_case : 'monomorphic. 'env -> match_case -> match_case method visit_match_case_pattern : - 'monomorphic. 'env -> + 'monomorphic. + 'env -> (constructor Pos.marked option * constructor Pos.marked) list * ident Pos.marked option -> (constructor Pos.marked option * constructor Pos.marked) list * ident Pos.marked option @@ -630,8 +651,8 @@ class virtual ['self] program_iter : method visit_Base : 'monomorphic. 'env -> base_typ -> unit method visit_Binop : - 'monomorphic. 'env -> binop Pos.marked -> expression Pos.marked -> expression Pos.marked -> - unit + 'monomorphic. + 'env -> binop Pos.marked -> expression Pos.marked -> expression Pos.marked -> unit method visit_Boolean : 'monomorphic. 'env -> unit @@ -646,8 +667,13 @@ class virtual ['self] program_iter : method visit_Collection : 'monomorphic. 'env -> base_typ_data Pos.marked -> unit method visit_CollectionOp : - 'monomorphic. 'env -> collection_op Pos.marked -> ident Pos.marked -> expression Pos.marked -> - expression Pos.marked -> unit + 'monomorphic. + 'env -> + collection_op Pos.marked -> + ident Pos.marked -> + expression Pos.marked -> + expression Pos.marked -> + unit method visit_Condition : 'monomorphic. 'env -> unit @@ -672,16 +698,20 @@ class virtual ['self] program_iter : method visit_Div : 'monomorphic. 'env -> op_kind -> unit method visit_Dotted : - 'monomorphic. 'env -> expression Pos.marked -> constructor Pos.marked option -> - ident Pos.marked -> unit + 'monomorphic. + 'env -> expression Pos.marked -> constructor Pos.marked option -> ident Pos.marked -> unit method visit_Duration : 'monomorphic. 'env -> unit method visit_EnumDecl : 'monomorphic. 'env -> enum_decl -> unit method visit_EnumInject : - 'monomorphic. 'env -> constructor Pos.marked option -> constructor Pos.marked -> - expression Pos.marked option -> unit + 'monomorphic. + 'env -> + constructor Pos.marked option -> + constructor Pos.marked -> + expression Pos.marked option -> + unit method visit_Eq : 'monomorphic. 'env -> unit @@ -713,8 +743,8 @@ class virtual ['self] program_iter : method visit_Ident : 'monomorphic. 'env -> ident -> unit method visit_IfThenElse : - 'monomorphic. 'env -> expression Pos.marked -> expression Pos.marked -> - expression Pos.marked -> unit + 'monomorphic. + 'env -> expression Pos.marked -> expression Pos.marked -> expression Pos.marked -> unit method visit_Increasing : 'monomorphic. 'env -> unit @@ -810,8 +840,8 @@ class virtual ['self] program_iter : method visit_StructDecl : 'monomorphic. 'env -> struct_decl -> unit method visit_StructLit : - 'monomorphic. 'env -> constructor Pos.marked -> - (ident Pos.marked * expression Pos.marked) list -> unit + 'monomorphic. + 'env -> constructor Pos.marked -> (ident Pos.marked * expression Pos.marked) list -> unit method visit_Sub : 'monomorphic. 'env -> op_kind -> unit @@ -825,8 +855,8 @@ class virtual ['self] program_iter : method visit_Unop : 'monomorphic. 'env -> unop Pos.marked -> expression Pos.marked -> unit method visit_VariesWith : - 'monomorphic. 'env -> qident Pos.marked -> expression Pos.marked -> - variation_typ Pos.marked option -> unit + 'monomorphic. + 'env -> qident Pos.marked -> expression Pos.marked -> variation_typ Pos.marked option -> unit method visit_Year : 'monomorphic. 'env -> unit @@ -887,7 +917,8 @@ class virtual ['self] program_iter : method visit_match_case : 'monomorphic. 'env -> match_case -> unit method visit_match_case_pattern : - 'monomorphic. 'env -> + 'monomorphic. + 'env -> (constructor Pos.marked option * constructor Pos.marked) list * ident Pos.marked option -> unit