diff --git a/compiler/tests-full/dune b/compiler/tests-full/dune index b609f1bd16..bcff802d65 100644 --- a/compiler/tests-full/dune +++ b/compiler/tests-full/dune @@ -2,8 +2,8 @@ (targets stdlib.cma.js) (enabled_if (and - (>= %{ocaml_version} "5.3") - (< %{ocaml_version} "5.4"))) + (>= %{ocaml_version} "5.4") + (< %{ocaml_version} "5.5"))) (action (run %{bin:js_of_ocaml} @@ -19,8 +19,8 @@ (targets stdlib.cma.output.js) (enabled_if (and - (>= %{ocaml_version} "5.3") - (< %{ocaml_version} "5.4"))) + (>= %{ocaml_version} "5.4") + (< %{ocaml_version} "5.5"))) (action (with-stdout-to %{targets} @@ -30,8 +30,8 @@ (alias runtest) (enabled_if (and - (>= %{ocaml_version} "5.3") - (< %{ocaml_version} "5.4"))) + (>= %{ocaml_version} "5.4") + (< %{ocaml_version} "5.5"))) (action (diff stdlib.cma.expected.js stdlib.cma.output.js))) @@ -43,8 +43,8 @@ (targets shapes.cma.js) (enabled_if (and - (>= %{ocaml_version} "5.3") - (< %{ocaml_version} "5.4"))) + (>= %{ocaml_version} "5.4") + (< %{ocaml_version} "5.5"))) (action (run %{bin:js_of_ocaml} @@ -60,8 +60,8 @@ (targets shapes.cma.output.js) (enabled_if (and - (>= %{ocaml_version} "5.3") - (< %{ocaml_version} "5.4"))) + (>= %{ocaml_version} "5.4") + (< %{ocaml_version} "5.5"))) (action (with-stdout-to %{targets} @@ -71,8 +71,8 @@ (alias runtest) (enabled_if (and - (>= %{ocaml_version} "5.3") - (< %{ocaml_version} "5.4"))) + (>= %{ocaml_version} "5.4") + (< %{ocaml_version} "5.5"))) (action (diff shapes.cma.expected.js shapes.cma.output.js))) diff --git a/compiler/tests-full/stdlib.cma.expected.js b/compiler/tests-full/stdlib.cma.expected.js index 43fbad854a..709ec4a843 100644 --- a/compiler/tests-full/stdlib.cma.expected.js +++ b/compiler/tests-full/stdlib.cma.expected.js @@ -1,10 +1,15 @@ //# unitInfo: Provides: CamlinternalFormatBasics -//# shape: CamlinternalFormatBasics:[F(2),F(1),F(2)] +//# shape: CamlinternalFormatBasics:[F(2),F(1),F(2),F(2)] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime; + function caml_call2(f, a0, a1){ + return (f.l >= 0 ? f.l : f.l = f.length) === 2 + ? f(a0, a1) + : runtime.caml_call_gen(f, [a0, a1]); + } function erase_rel(param){ /*<>*/ if(typeof param === "number") /*<>*/ return 0; @@ -339,9 +344,201 @@ concat_fmt(rest$23, fmt2)] /*<>*/ ; } /*<>*/ } + function string_concat_map(f, param){ + /*<>*/ if(typeof param === "number") + /*<>*/ return 0; + /*<>*/ switch(param[0]){ + case 0: + var rest = param[1]; + /*<>*/ return [0, + string_concat_map(f, rest)] /*<>*/ ; + case 1: + var rest$0 = /*<>*/ param[1]; + /*<>*/ return [1, + string_concat_map(f, rest$0)] /*<>*/ ; + case 2: + var + rest$1 = /*<>*/ param[2], + pad = param[1]; + /*<>*/ return [2, + pad, + string_concat_map(f, rest$1)] /*<>*/ ; + case 3: + var + rest$2 = /*<>*/ param[2], + pad$0 = param[1]; + /*<>*/ return [3, + pad$0, + string_concat_map(f, rest$2)] /*<>*/ ; + case 4: + var + rest$3 = /*<>*/ param[4], + prec = param[3], + pad$1 = param[2], + iconv = param[1]; + /*<>*/ return [4, + iconv, + pad$1, + prec, + string_concat_map(f, rest$3)] /*<>*/ ; + case 5: + var + rest$4 = /*<>*/ param[4], + prec$0 = param[3], + pad$2 = param[2], + iconv$0 = param[1]; + /*<>*/ return [5, + iconv$0, + pad$2, + prec$0, + string_concat_map(f, rest$4)] /*<>*/ ; + case 6: + var + rest$5 = /*<>*/ param[4], + prec$1 = param[3], + pad$3 = param[2], + iconv$1 = param[1]; + /*<>*/ return [6, + iconv$1, + pad$3, + prec$1, + string_concat_map(f, rest$5)] /*<>*/ ; + case 7: + var + rest$6 = /*<>*/ param[4], + prec$2 = param[3], + pad$4 = param[2], + iconv$2 = param[1]; + /*<>*/ return [7, + iconv$2, + pad$4, + prec$2, + string_concat_map(f, rest$6)] /*<>*/ ; + case 8: + var + rest$7 = /*<>*/ param[4], + prec$3 = param[3], + pad$5 = param[2], + fconv = param[1]; + /*<>*/ return [8, + fconv, + pad$5, + prec$3, + string_concat_map(f, rest$7)] /*<>*/ ; + case 9: + var + rest$8 = /*<>*/ param[2], + pad$6 = param[1]; + /*<>*/ return [9, + pad$6, + string_concat_map(f, rest$8)] /*<>*/ ; + case 10: + var rest$9 = /*<>*/ param[1]; + /*<>*/ return [10, + string_concat_map(f, rest$9)] /*<>*/ ; + case 11: + var + rest$10 = /*<>*/ param[2], + str = param[1], + _a_ = + /*<>*/ string_concat_map + (f, rest$10); + /*<>*/ return caml_call2 + (f[1], [0, -976970511, str], _a_) /*<>*/ ; + case 12: + var + rest$11 = /*<>*/ param[2], + chr = param[1], + _b_ = + /*<>*/ string_concat_map + (f, rest$11); + /*<>*/ return caml_call2 + (f[1], [0, 748194550, chr], _b_) /*<>*/ ; + case 13: + var + rest$12 = /*<>*/ param[3], + fmtty = param[2], + pad$7 = param[1]; + /*<>*/ return [13, + pad$7, + fmtty, + string_concat_map(f, rest$12)] /*<>*/ ; + case 14: + var + rest$13 = /*<>*/ param[3], + fmtty$0 = param[2], + pad$8 = param[1]; + /*<>*/ return [14, + pad$8, + fmtty$0, + string_concat_map(f, rest$13)] /*<>*/ ; + case 15: + var rest$14 = /*<>*/ param[1]; + /*<>*/ return [15, + string_concat_map(f, rest$14)] /*<>*/ ; + case 16: + var rest$15 = /*<>*/ param[1]; + /*<>*/ return [16, + string_concat_map(f, rest$15)] /*<>*/ ; + case 17: + var + rest$16 = /*<>*/ param[2], + fmting_lit = param[1]; + /*<>*/ return [17, + fmting_lit, + string_concat_map(f, rest$16)] /*<>*/ ; + case 18: + var + rest$17 = /*<>*/ param[2], + fmting_gen = param[1]; + /*<>*/ return [18, + fmting_gen, + string_concat_map(f, rest$17)] /*<>*/ ; + case 19: + var rest$18 = /*<>*/ param[1]; + /*<>*/ return [19, + string_concat_map(f, rest$18)] /*<>*/ ; + case 20: + var + rest$19 = /*<>*/ param[3], + char_set = param[2], + width_opt = param[1]; + /*<>*/ return [20, + width_opt, + char_set, + string_concat_map(f, rest$19)] /*<>*/ ; + case 21: + var + rest$20 = /*<>*/ param[2], + counter = param[1]; + /*<>*/ return [21, + counter, + string_concat_map(f, rest$20)] /*<>*/ ; + case 22: + var rest$21 = /*<>*/ param[1]; + /*<>*/ return [22, + string_concat_map(f, rest$21)] /*<>*/ ; + case 23: + var + rest$22 = /*<>*/ param[2], + ign = param[1]; + /*<>*/ return [23, + ign, + string_concat_map(f, rest$22)] /*<>*/ ; + default: + var + rest$23 = /*<>*/ param[3], + fc = param[2], + arity = param[1]; + /*<>*/ return [24, + arity, + fc, + string_concat_map(f, rest$23)] /*<>*/ ; + } + /*<>*/ } var CamlinternalFormatBasics = - /*<>*/ [0, concat_fmtty, erase_rel, concat_fmt]; + /*<>*/ [0, concat_fmtty, erase_rel, concat_fmt, string_concat_map]; runtime.caml_register_global (0, CamlinternalFormatBasics, "CamlinternalFormatBasics"); return; @@ -358,8 +555,7 @@ runtime = globalThis.jsoo_runtime, cst_false$0 = "false", cst_true$0 = "true", - caml_atomic_cas = runtime.caml_atomic_cas, - caml_atomic_load = runtime.caml_atomic_load, + caml_atomic_cas_field = runtime.caml_atomic_cas_field, caml_create_bytes = runtime.caml_create_bytes, caml_float_of_string = runtime.caml_float_of_string, caml_int_of_string = runtime.caml_int_of_string, @@ -823,20 +1019,21 @@ /*<>*/ for(;;){ var f_yet_to_run = [0, 1], - old_exit = /*<>*/ caml_atomic_load(exit_function); + old_exit = /*<>*/ exit_function[1]; let f_yet_to_run$0 = /*<>*/ f_yet_to_run, old_exit$0 = old_exit; var new_exit = function(param){ - /*<>*/ if(caml_atomic_cas(f_yet_to_run$0, 1, 0)) + /*<>*/ if + (caml_atomic_cas_field(f_yet_to_run$0, 0, 1, 0)) /*<>*/ caml_call1(f, 0); /*<>*/ return caml_call1(old_exit$0, 0) /*<>*/ ; }, success = - /*<>*/ caml_atomic_cas - (exit_function, old_exit, new_exit), + /*<>*/ caml_atomic_cas_field + (exit_function, 0, old_exit, new_exit), _f_ = /*<>*/ 1 - success; if(! _f_) return _f_; } @@ -849,8 +1046,7 @@ /*<>*/ }]; function do_at_exit(param){ /*<>*/ caml_call1(do_domain_local_at_exit[1], 0); - /*<>*/ return caml_call1 - (caml_atomic_load(exit_function), 0) /*<>*/ ; + /*<>*/ return caml_call1(exit_function[1], 0) /*<>*/ ; } function exit(retcode){ /*<>*/ do_at_exit(0); @@ -977,7 +1173,8 @@ (globalThis)); //# unitInfo: Provides: Stdlib__Either -//# shape: Stdlib__Either:[F(1)*,F(1)*,F(1)*,F(1)*,F(1)*,F(1)*,F(2),F(2),F(3),F(3),F(3),F(3),F(4),F(4)] +//# unitInfo: Requires: Stdlib +//# shape: Stdlib__Either:[F(1)*,F(1)*,F(1)*,F(1)*,F(1),F(1),F(1)*,F(1)*,F(2),F(2),F(3),F(3),F(1)*,F(3),F(3),F(4),F(4)] (function (globalThis){ "use strict"; @@ -992,6 +1189,11 @@ ? f(a0, a1) : runtime.caml_call_gen(f, [a0, a1]); } + var + global_data = runtime.caml_get_global_data(), + Stdlib = global_data.Stdlib, + cst_Either_t_is_Right = "Either.t is Right _", + cst_Either_t_is_Left = "Either.t is Left _"; function left(v){ /*<>*/ return [0, v]; /*<>*/ } @@ -1004,72 +1206,94 @@ function is_right(param){ /*<>*/ return 0 === param[0] ? 0 : 1 /*<>*/ ; } + function get_left(param){ + /*<>*/ if(0 !== param[0]) + /*<>*/ return Stdlib[1].call + (null, cst_Either_t_is_Right) /*<>*/ ; + var v = /*<>*/ param[1]; + /*<>*/ return v; + /*<>*/ } + function get_right(param){ + /*<>*/ if(0 === param[0]) + /*<>*/ return Stdlib[1].call + (null, cst_Either_t_is_Left) /*<>*/ ; + var v = /*<>*/ param[1]; + /*<>*/ return v; + /*<>*/ } function find_left(param){ - /*<>*/ if(0 !== param[0]) - /*<>*/ return 0; - var v = /*<>*/ param[1]; - /*<>*/ return [0, v]; - /*<>*/ } + /*<>*/ if(0 !== param[0]) + /*<>*/ return 0; + var v = /*<>*/ param[1]; + /*<>*/ return [0, v]; + /*<>*/ } function find_right(param){ - /*<>*/ if(0 === param[0]) - /*<>*/ return 0; - var v = /*<>*/ param[1]; - /*<>*/ return [0, v]; - /*<>*/ } + /*<>*/ if(0 === param[0]) + /*<>*/ return 0; + var v = /*<>*/ param[1]; + /*<>*/ return [0, v]; + /*<>*/ } function map_left(f, e){ - /*<>*/ if(0 !== e[0]) /*<>*/ return e; - var v = /*<>*/ e[1]; - /*<>*/ return [0, caml_call1(f, v)] /*<>*/ ; - /*<>*/ } + /*<>*/ if(0 !== e[0]) /*<>*/ return e; + var v = /*<>*/ e[1]; + /*<>*/ return [0, caml_call1(f, v)] /*<>*/ ; + /*<>*/ } function map_right(f, e){ - /*<>*/ if(0 === e[0]) /*<>*/ return e; - var v = /*<>*/ e[1]; - /*<>*/ return [1, caml_call1(f, v)] /*<>*/ ; + /*<>*/ if(0 === e[0]) /*<>*/ return e; + var v = /*<>*/ e[1]; + /*<>*/ return [1, caml_call1(f, v)] /*<>*/ ; } function map(left, right, param){ - /*<>*/ if(0 === param[0]){ + /*<>*/ if(0 === param[0]){ var v = param[1]; - /*<>*/ return [0, caml_call1(left, v)] /*<>*/ ; + /*<>*/ return [0, caml_call1(left, v)] /*<>*/ ; } - var v$0 = /*<>*/ param[1]; - /*<>*/ return [1, caml_call1(right, v$0)] /*<>*/ ; + var v$0 = /*<>*/ param[1]; + /*<>*/ return [1, caml_call1(right, v$0)] /*<>*/ ; } function fold(left, right, param){ - /*<>*/ if(0 === param[0]){ + /*<>*/ if(0 === param[0]){ var v = param[1]; - /*<>*/ return caml_call1(left, v) /*<>*/ ; + /*<>*/ return caml_call1(left, v) /*<>*/ ; } - var v$0 = /*<>*/ param[1]; - /*<>*/ return caml_call1(right, v$0) /*<>*/ ; + var v$0 = /*<>*/ param[1]; + /*<>*/ return caml_call1(right, v$0) /*<>*/ ; } + function retract(param){ + /*<>*/ if(0 === param[0]){ + var v = param[1]; + /*<>*/ return v; + } + var v$0 = /*<>*/ param[1]; + /*<>*/ return v$0; + /*<>*/ } function equal(left, right, e1, e2){ - /*<>*/ if(0 === e1[0]){ + /*<>*/ if(0 === e1[0]){ var v1 = e1[1]; if(0 === e2[0]){ var v2 = e2[1]; - /*<>*/ return caml_call2(left, v1, v2) /*<>*/ ; + /*<>*/ return caml_call2(left, v1, v2) /*<>*/ ; } } else{ - var v1$0 = /*<>*/ e1[1]; + var v1$0 = /*<>*/ e1[1]; if(0 !== e2[0]){ var v2$0 = e2[1]; - /*<>*/ return caml_call2(right, v1$0, v2$0) /*<>*/ ; + /*<>*/ return caml_call2(right, v1$0, v2$0) /*<>*/ ; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function compare(left, right, e1, e2){ - /*<>*/ if(0 === e1[0]){ + /*<>*/ if(0 === e1[0]){ var v1 = e1[1]; - if(0 !== e2[0]) /*<>*/ return -1; - var v2 = /*<>*/ e2[1]; - /*<>*/ return caml_call2(left, v1, v2) /*<>*/ ; + if(0 !== e2[0]) /*<>*/ return -1; + var v2 = /*<>*/ e2[1]; + /*<>*/ return caml_call2(left, v1, v2) /*<>*/ ; } - var v1$0 = /*<>*/ e1[1]; - if(0 === e2[0]) /*<>*/ return 1; - var v2$0 = /*<>*/ e2[1]; - /*<>*/ return caml_call2(right, v1$0, v2$0) /*<>*/ ; + var v1$0 = /*<>*/ e1[1]; + if(0 === e2[0]) /*<>*/ return 1; + var v2$0 = /*<>*/ e2[1]; + /*<>*/ return caml_call2(right, v1$0, v2$0) /*<>*/ ; } var Stdlib_Either = @@ -1078,34 +1302,36 @@ right, is_left, is_right, + get_left, + get_right, find_left, find_right, map_left, map_right, map, fold, + retract, fold, fold, equal, compare]; - runtime.caml_register_global(0, Stdlib_Either, "Stdlib__Either"); + runtime.caml_register_global(3, Stdlib_Either, "Stdlib__Either"); return; } (globalThis)); //# unitInfo: Provides: Stdlib__Sys //# unitInfo: Requires: Stdlib -//# shape: Stdlib__Sys:[N,F(1),N,N,[N],N,N,N,N,N,N,N,N,N,F(2)*,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,F(1)*,N,N,N,F(1),F(1),[F(2)*]] +//# shape: Stdlib__Sys:[N,F(1),N,N,N,[N],N,N,N,N,N,N,N,N,N,F(2)*,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,F(1),F(1),F(1),N,F(1)*,N,N,N,F(1),F(1),[F(2)*]] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime, - caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, - caml_wrap_exception = runtime.caml_wrap_exception, global_data = runtime.caml_get_global_data(), - ocaml_version = "5.3.0", - ocaml_release = [0, 5, 3, 0, 0], + cst = ")", + ocaml_version = "5.4.0", + ocaml_release = [0, 5, 4, 0, 0], Stdlib = global_data.Stdlib, executable_name = /*<>*/ runtime.caml_sys_executable_name(0), @@ -1116,37 +1342,149 @@ cygwin = runtime.caml_sys_const_ostype_cygwin(0), max_array_length = runtime.caml_sys_const_max_wosize(0), max_floatarray_length = max_array_length / 2 | 0, - max_string_length = (4 * max_array_length | 0) - 1 | 0; - function getenv_opt(s){ - /*<>*/ try{ - var _a_ = /*<>*/ [0, runtime.caml_sys_getenv(s)]; - return _a_; - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0); - if(exn === Stdlib[8]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); - } - /*<>*/ } - var interactive = /*<>*/ [0, 0]; - function set_signal(sig_num, sig_beh){ /*<>*/ return 0;} + max_string_length = (4 * max_array_length | 0) - 1 | 0, + io_buffer_size = + /*<>*/ runtime.caml_sys_io_buffer_size(0), + interactive = /*<>*/ [0, 0]; + function set_signal(sig_num, sig_beh){ /*<>*/ return 0;} + var + cst_SIGABRT = /*<>*/ "SIGABRT", + cst_SIGALRM = "SIGALRM", + cst_SIGFPE = "SIGFPE", + cst_SIGHUP = "SIGHUP", + cst_SIGILL = "SIGILL", + cst_SIGINT = "SIGINT", + cst_SIGKILL = "SIGKILL", + cst_SIGPIPE = "SIGPIPE", + cst_SIGQUIT = "SIGQUIT", + cst_SIGSEGV = "SIGSEGV", + cst_SIGTERM = "SIGTERM", + cst_SIGUSR1 = "SIGUSR1", + cst_SIGUSR2 = "SIGUSR2", + cst_SIGCHLD = "SIGCHLD", + cst_SIGCONT = "SIGCONT", + cst_SIGSTOP = "SIGSTOP", + cst_SIGTSTP = "SIGTSTP", + cst_SIGTTIN = "SIGTTIN", + cst_SIGTTOU = "SIGTTOU", + cst_SIGVTALRM = "SIGVTALRM", + cst_SIGPROF = "SIGPROF", + cst_SIGBUS = "SIGBUS", + cst_SIGPOLL = "SIGPOLL", + cst_SIGSYS = "SIGSYS", + cst_SIGTRAP = "SIGTRAP", + cst_SIGURG = "SIGURG", + cst_SIGXCPU = "SIGXCPU", + cst_SIGXFSZ = "SIGXFSZ", + cst_SIGIO = "SIGIO", + cst_SIGWINCH = "SIGWINCH", + cst_Sys_signal_to_string = "Sys.signal_to_string", + cst_SIG = "SIG(", + cst_Sys_signal_of_int = "Sys.signal_of_int", + cst_Sys_signal_to_int = "Sys.signal_to_int"; + function signal_to_string(s){ + /*<>*/ if(s === -1) + /*<>*/ return cst_SIGABRT; + /*<>*/ if(s === -2) + /*<>*/ return cst_SIGALRM; + /*<>*/ if(s === -3) + /*<>*/ return cst_SIGFPE; + /*<>*/ if(s === -4) + /*<>*/ return cst_SIGHUP; + /*<>*/ if(s === -5) + /*<>*/ return cst_SIGILL; + /*<>*/ if(s === -6) + /*<>*/ return cst_SIGINT; + /*<>*/ if(s === -7) + /*<>*/ return cst_SIGKILL; + /*<>*/ if(s === -8) + /*<>*/ return cst_SIGPIPE; + /*<>*/ if(s === -9) + /*<>*/ return cst_SIGQUIT; + /*<>*/ if(s === -10) + /*<>*/ return cst_SIGSEGV; + /*<>*/ if(s === -11) + /*<>*/ return cst_SIGTERM; + /*<>*/ if(s === -12) + /*<>*/ return cst_SIGUSR1; + /*<>*/ if(s === -13) + /*<>*/ return cst_SIGUSR2; + /*<>*/ if(s === -14) + /*<>*/ return cst_SIGCHLD; + /*<>*/ if(s === -15) + /*<>*/ return cst_SIGCONT; + /*<>*/ if(s === -16) + /*<>*/ return cst_SIGSTOP; + /*<>*/ if(s === -17) + /*<>*/ return cst_SIGTSTP; + /*<>*/ if(s === -18) + /*<>*/ return cst_SIGTTIN; + /*<>*/ if(s === -19) + /*<>*/ return cst_SIGTTOU; + /*<>*/ if(s === -20) + /*<>*/ return cst_SIGVTALRM; + /*<>*/ if(s === -21) + /*<>*/ return cst_SIGPROF; + /*<>*/ if(s === -22) + /*<>*/ return cst_SIGBUS; + /*<>*/ if(s === -23) + /*<>*/ return cst_SIGPOLL; + /*<>*/ if(s === -24) + /*<>*/ return cst_SIGSYS; + /*<>*/ if(s === -25) + /*<>*/ return cst_SIGTRAP; + /*<>*/ if(s === -26) + /*<>*/ return cst_SIGURG; + /*<>*/ if(s === -27) + /*<>*/ return cst_SIGXCPU; + /*<>*/ if(s === -28) + /*<>*/ return cst_SIGXFSZ; + /*<>*/ if(s === -29) + /*<>*/ return cst_SIGIO; + /*<>*/ if(s === -30) + /*<>*/ return cst_SIGWINCH; + /*<>*/ if(s < -30) + /*<>*/ return Stdlib[1].call + (null, cst_Sys_signal_to_string) /*<>*/ ; + var + _a_ = /*<>*/ Stdlib[33].call(null, s), + _b_ = Stdlib[28].call(null, _a_, cst); + /*<>*/ return Stdlib[28].call(null, cst_SIG, _b_); + } + function signal_of_int(i){ + /*<>*/ return 0 <= i + ? /*<>*/ runtime.caml_sys_rev_convert_signal_number + (i) + : /*<>*/ Stdlib + [1].call + (null, cst_Sys_signal_of_int) /*<>*/ ; + } + function signal_to_int(i){ + /*<>*/ return i < -30 + ? /*<>*/ Stdlib + [1].call + (null, cst_Sys_signal_to_int) + : /*<>*/ runtime.caml_sys_convert_signal_number + (i) /*<>*/ ; + } var Break = - /*<>*/ [248, + /*<>*/ [248, "Stdlib.Sys.Break", runtime.caml_fresh_oo_id(0)]; function catch_break(on){ - /*<>*/ return on ? 0 : 0 /*<>*/ ; + /*<>*/ return on ? 0 : 0 /*<>*/ ; } function Make(Immediate, Non_immediate){ - /*<>*/ return [0, 1]; + /*<>*/ return [0, 1]; } var - Immediate64 = /*<>*/ [0, Make], + Immediate64 = /*<>*/ [0, Make], Stdlib_Sys = [0, executable_name, - getenv_opt, + runtime.caml_sys_getenv_opt, + io_buffer_size, interactive, os_type, backend_type, @@ -1188,6 +1526,11 @@ -26, -27, -28, + -29, + -30, + signal_to_string, + signal_of_int, + signal_to_int, Break, catch_break, ocaml_version, @@ -1196,7 +1539,7 @@ runtime.caml_ml_enable_runtime_warnings, runtime.caml_ml_runtime_warnings_enabled, Immediate64]; - runtime.caml_register_global(4, Stdlib_Sys, "Stdlib__Sys"); + runtime.caml_register_global(39, Stdlib_Sys, "Stdlib__Sys"); return; /*<>*/ } (globalThis)); @@ -1257,7 +1600,7 @@ function id(slot){ /*<>*/ return slot[2];} var Extension_constructor = /*<>*/ [0, of_val, name, id], - max_ephe_length = Stdlib_Sys[13] - 2 | 0, + max_ephe_length = Stdlib_Sys[14] - 2 | 0, cst_Obj_Ephemeron_create = "Obj.Ephemeron.create", cst_Obj_Ephemeron_get_key = "Obj.Ephemeron.get_key", cst_Obj_Ephemeron_get_key_copy = "Obj.Ephemeron.get_key_copy", @@ -1376,7 +1719,7 @@ //# unitInfo: Provides: Stdlib__Type //# unitInfo: Requires: Stdlib__Obj -//# shape: Stdlib__Type:[[F(1)*,F(1),F(2)*]] +//# shape: Stdlib__Type:[[F(1)*,F(1)*,F(2)*]] (function (globalThis){ "use strict"; @@ -1391,8 +1734,7 @@ return [0, Id]; /*<>*/ } function uid(A){ - var _a_ = /*<>*/ Stdlib_Obj[22][1].call(null, A[1]); - /*<>*/ return Stdlib_Obj[22][3].call(null, _a_); + /*<>*/ return Stdlib_Obj[22][3].call(null, A[1]) /*<>*/ ; } function provably_equal(A, B){ /*<>*/ return A[1] === B[1] ? _a_ : 0 /*<>*/ ; @@ -1404,38 +1746,66 @@ (globalThis)); //# unitInfo: Provides: Stdlib__Atomic -//# shape: Stdlib__Atomic:[F(1)*,F(1),F(1),F(2),F(2),F(3),F(2),F(1),F(1)] +//# shape: Stdlib__Atomic:[F(1)*,F(1),F(1)*,F(2),F(2),F(3),F(2),F(1),F(1),[F(2),F(1),F(1)]] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime, - caml_atomic_exchange = runtime.caml_atomic_exchange, - caml_atomic_fetch_add = runtime.caml_atomic_fetch_add; - function set(r, x){ - /*<>*/ caml_atomic_exchange(r, x); + caml_atomic_exchange_field = runtime.caml_atomic_exchange_field, + caml_atomic_fetch_add_field = runtime.caml_atomic_fetch_add_field; + function set(t, v){ + /*<>*/ caml_atomic_exchange_field(t[1], t[2], v); + return 0; + /*<>*/ } + function incr(t){ + /*<>*/ caml_atomic_fetch_add_field(t[1], t[2], 1); return 0; - /*<>*/ } - function incr(r){ - /*<>*/ caml_atomic_fetch_add(r, 1); + /*<>*/ } + function decr(t){ + /*<>*/ caml_atomic_fetch_add_field(t[1], t[2], -1); return 0; - /*<>*/ } - function decr(r){ - /*<>*/ caml_atomic_fetch_add(r, -1); + /*<>*/ } + var Loc = /*<>*/ [0, set, incr, decr]; + function make(v){ + /*<>*/ return [0, v]; + /*<>*/ } + function get(t){ + /*<>*/ return t[1]; + /*<>*/ } + function set$0(t, v){ + /*<>*/ caml_atomic_exchange_field(t, 0, v); return 0; - /*<>*/ } + /*<>*/ } + function exchange(t, v){ + /*<>*/ return caml_atomic_exchange_field(t, 0, v) /*<>*/ ; + } + function compare_and_set(t, old, new$){ + /*<>*/ return runtime.caml_atomic_cas_field + (t, 0, old, new$) /*<>*/ ; + } + function fetch_and_add(t, incr){ + /*<>*/ return caml_atomic_fetch_add_field(t, 0, incr) /*<>*/ ; + } + function incr$0(t){ + /*<>*/ return incr([0, t, 0]) /*<>*/ ; + } + function decr$0(t){ + /*<>*/ return decr([0, t, 0]) /*<>*/ ; + } var Stdlib_Atomic = /*<>*/ [0, - function(_a_){return [0, _a_];}, + make, runtime.caml_atomic_make_contended, - runtime.caml_atomic_load, - set, - caml_atomic_exchange, - runtime.caml_atomic_cas, - caml_atomic_fetch_add, - incr, - decr]; + get, + set$0, + exchange, + compare_and_set, + fetch_and_add, + incr$0, + decr$0, + Loc]; runtime.caml_register_global(0, Stdlib_Atomic, "Stdlib__Atomic"); return; } @@ -1443,7 +1813,7 @@ //# unitInfo: Provides: CamlinternalLazy //# unitInfo: Requires: Stdlib, Stdlib__Obj -//# shape: CamlinternalLazy:[N,F(1),F(2)] +//# shape: CamlinternalLazy:[N,F(1),F(2),F(1)] (function (globalThis){ "use strict"; @@ -1451,6 +1821,7 @@ runtime = globalThis.jsoo_runtime, caml_lazy_update_to_forward = runtime.caml_lazy_update_to_forward, caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, + caml_obj_tag = runtime.caml_obj_tag, caml_wrap_exception = runtime.caml_wrap_exception; function caml_call1(f, a0){ return (f.l >= 0 ? f.l : f.l = f.length) === 1 @@ -1500,7 +1871,7 @@ /*<>*/ return force_gen_lazy_block(0, blk) /*<>*/ ; } function force_gen(only_val, lzv){ - var t = /*<>*/ runtime.caml_obj_tag(lzv); + var t = /*<>*/ caml_obj_tag(lzv); /*<>*/ if(t === Stdlib_Obj[12]) /*<>*/ return lzv[1]; /*<>*/ if(t === Stdlib_Obj[6]) @@ -1511,8 +1882,17 @@ : /*<>*/ force_gen_lazy_block (only_val, lzv) /*<>*/ ; } + function indirect(lzv){ + var t = /*<>*/ caml_obj_tag(lzv); + /*<>*/ if + (t !== Stdlib_Obj[8] && t !== Stdlib_Obj[6]) + /*<>*/ return lzv; + /*<>*/ return [246, + function(_a_){ /*<>*/ return force_lazy_block(lzv);}] /*<>*/ ; + /*<>*/ } var - CamlinternalLazy = /*<>*/ [0, Undefined, force_lazy_block, force_gen]; + CamlinternalLazy = + /*<>*/ [0, Undefined, force_lazy_block, force_gen, indirect]; runtime.caml_register_global(2, CamlinternalLazy, "CamlinternalLazy"); return; } @@ -1611,7 +1991,7 @@ //# unitInfo: Provides: Stdlib__Seq //# unitInfo: Requires: CamlinternalLazy, Stdlib, Stdlib__Atomic, Stdlib__Lazy -//# shape: Stdlib__Seq:[F(1),F(1),F(1),F(2),F(3),F(2),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(4),F(3),F(3),F(3),F(3),F(1)*,F(2)*,F(3)*,F(2),F(3),F(2)*,F(2),F(2),F(2)*->F(1)*,F(3),F(2)*->F(1),F(3),F(3),F(3)*->F(1)*,F(2),F(2),F(3),F(3),F(3),F(1)->F(1),N,F(1)*->F(1),F(2),F(3),F(2),F(3),F(3),F(3),F(4),F(3),F(4),F(2)*,F(3)*->F(1),F(1)*,F(1)*,F(2)*,F(2)*,F(1)*->F(1),F(1)*->F(1),F(2)*] +//# shape: Stdlib__Seq:[F(1),F(1),F(1),F(2),F(3),F(2),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(4),F(3),F(3),F(3),F(3),F(1)*,F(2)*,F(3)*,F(2)*,F(2),F(3),F(2)*,F(2),F(2),F(2)*->F(1)*,F(3),F(2)*->F(1),F(3),F(3),F(3),F(3)*->F(1)*,F(2),F(2),F(3),F(3),F(3),F(1)->F(1),N,F(1)*->F(1),F(2),F(3),F(2),F(3),F(3),F(3),F(4),F(3),F(4),F(2)*,F(3)*->F(1),F(1)*,F(1)*,F(2)*,F(2)*,F(1)*->F(1),F(1)*->F(1),F(2)*] (function (globalThis){ "use strict"; @@ -1652,817 +2032,842 @@ function cons(x, next, param){ /*<>*/ return [0, x, next]; /*<>*/ } + function singleton(x, param){ + /*<>*/ return [0, x, empty]; + /*<>*/ } function append(seq1, seq2, param){ - var match = /*<>*/ caml_call1(seq1, 0); - /*<>*/ if(! match) - /*<>*/ return caml_call1(seq2, 0) /*<>*/ ; - var next = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, + var match = /*<>*/ caml_call1(seq1, 0); + /*<>*/ if(! match) + /*<>*/ return caml_call1(seq2, 0) /*<>*/ ; + var next = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, x, function(_p_){ - /*<>*/ return append(next, seq2, _p_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return append(next, seq2, _p_); + }] /*<>*/ ; + /*<>*/ } function map(f, seq, param){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var next = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var next = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, caml_call1(f, x), - function(_p_){ /*<>*/ return map(f, next, _p_);}] /*<>*/ ; - /*<>*/ } + function(_p_){ /*<>*/ return map(f, next, _p_);}] /*<>*/ ; + /*<>*/ } function filter_map(f, seq$0, param){ - var seq = /*<>*/ seq$0; + var seq = /*<>*/ seq$0; for(;;){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - next = /*<>*/ match[2], + next = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(f, x); - /*<>*/ if(match$0) break; + match$0 = /*<>*/ caml_call1(f, x); + /*<>*/ if(match$0) break; seq = next; } - var y = /*<>*/ match$0[1]; - /*<>*/ return [0, + var y = /*<>*/ match$0[1]; + /*<>*/ return [0, y, function(_p_){ - /*<>*/ return filter_map(f, next, _p_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return filter_map(f, next, _p_); + }] /*<>*/ ; + /*<>*/ } function filter(f, seq$0, param){ - var seq = /*<>*/ seq$0; + var seq = /*<>*/ seq$0; + for(;;){ + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var next = /*<>*/ match[2], x = match[1]; + /*<>*/ if(caml_call1(f, x)) break; + /*<>*/ seq = next; + } + /*<>*/ return [0, + x, + function(_p_){ /*<>*/ return filter(f, next, _p_);}] /*<>*/ ; + /*<>*/ } + function filteri_aux(f, i$1, seq$0, param){ + var i = /*<>*/ i$1, seq = seq$0; for(;;){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var next = /*<>*/ match[2], x = match[1]; - /*<>*/ if(caml_call1(f, x)) break; - /*<>*/ seq = next; + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var + next = /*<>*/ match[2], + x = match[1], + i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(caml_call2(f, i, x)) break; + /*<>*/ i = i$0; + seq = next; } - /*<>*/ return [0, + /*<>*/ return [0, x, - function(_p_){ /*<>*/ return filter(f, next, _p_);}] /*<>*/ ; - /*<>*/ } + function(_p_){ + /*<>*/ return filteri_aux(f, i$0, next, _p_); + }] /*<>*/ ; + /*<>*/ } + function filteri(f, seq, param){ + /*<>*/ return filteri_aux(f, 0, seq, 0) /*<>*/ ; + } function concat(seq, param){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var next = /*<>*/ match[2], x = match[1]; - /*<>*/ return append + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var next = /*<>*/ match[2], x = match[1]; + /*<>*/ return append (x, - function(_p_){ /*<>*/ return concat(next, _p_);}, - 0) /*<>*/ ; + function(_p_){ /*<>*/ return concat(next, _p_);}, + 0) /*<>*/ ; } function flat_map(f, seq, param){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var next = /*<>*/ match[2], x = match[1]; - /*<>*/ return /*<>*/ append - ( /*<>*/ caml_call1(f, x), + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var next = /*<>*/ match[2], x = match[1]; + /*<>*/ return /*<>*/ append + ( /*<>*/ caml_call1(f, x), function(_p_){ - /*<>*/ return flat_map(f, next, _p_); + /*<>*/ return flat_map(f, next, _p_); }, - 0) /*<>*/ ; + 0) /*<>*/ ; } function fold_left(f, acc$1, seq$0){ - var acc = /*<>*/ acc$1, seq = seq$0; + var acc = /*<>*/ acc$1, seq = seq$0; for(;;){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return acc; + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return acc; var - next = /*<>*/ match[2], + next = /*<>*/ match[2], x = match[1], - acc$0 = /*<>*/ caml_call2(f, acc, x); - /*<>*/ acc = acc$0; + acc$0 = /*<>*/ caml_call2(f, acc, x); + /*<>*/ acc = acc$0; seq = next; } - /*<>*/ } + /*<>*/ } function iter(f, seq$0){ - var seq = /*<>*/ seq$0; + var seq = /*<>*/ seq$0; for(;;){ - var match = /*<>*/ caml_call1(seq, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var next = /*<>*/ match[2], x = match[1]; - /*<>*/ caml_call1(f, x); - /*<>*/ seq = next; + var match = /*<>*/ caml_call1(seq, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var next = /*<>*/ match[2], x = match[1]; + /*<>*/ caml_call1(f, x); + /*<>*/ seq = next; } - /*<>*/ } + /*<>*/ } function unfold(f, u, param){ - var match = /*<>*/ caml_call1(f, u); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(f, u); + /*<>*/ if(! match) /*<>*/ return 0; var - match$0 = /*<>*/ match[1], + match$0 = /*<>*/ match[1], u$0 = match$0[2], x = match$0[1]; - /*<>*/ return [0, + /*<>*/ return [0, x, - function(_p_){ /*<>*/ return unfold(f, u$0, _p_);}] /*<>*/ ; - /*<>*/ } + function(_p_){ /*<>*/ return unfold(f, u$0, _p_);}] /*<>*/ ; + /*<>*/ } function is_empty(xs){ - /*<>*/ return caml_call1(xs, 0) ? 0 : 1 /*<>*/ ; + /*<>*/ return caml_call1(xs, 0) ? 0 : 1 /*<>*/ ; } function uncons(xs){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, [0, x, xs$0]]; - /*<>*/ } + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, [0, x, xs$0]]; + /*<>*/ } function length(xs$1){ - var accu = /*<>*/ 0, xs = xs$1; + var accu = /*<>*/ 0, xs = xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return accu; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return accu; var - xs$0 = /*<>*/ match[2], - accu$0 = /*<>*/ accu + 1 | 0; + xs$0 = /*<>*/ match[2], + accu$0 = /*<>*/ accu + 1 | 0; accu = accu$0; xs = xs$0; } - /*<>*/ } + /*<>*/ } function iteri(f, xs$1){ - var i = /*<>*/ 0, xs = xs$1; + var i = /*<>*/ 0, xs = xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ caml_call2(f, i, x); - var i$0 = /*<>*/ i + 1 | 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ caml_call2(f, i, x); + var i$0 = /*<>*/ i + 1 | 0; i = i$0; xs = xs$0; } - /*<>*/ } + /*<>*/ } function fold_lefti(f, accu$1, xs$1){ - var accu = /*<>*/ accu$1, i = 0, xs = xs$1; + var accu = /*<>*/ accu$1, i = 0, xs = xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return accu; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return accu; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - accu$0 = /*<>*/ caml_call3(f, accu, i, x), - i$0 = /*<>*/ i + 1 | 0; + accu$0 = /*<>*/ caml_call3(f, accu, i, x), + i$0 = /*<>*/ i + 1 | 0; accu = accu$0; i = i$0; xs = xs$0; } - /*<>*/ } + /*<>*/ } function for_all(p, xs$1){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 1; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 1; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - _p_ = /*<>*/ caml_call1(p, x); - /*<>*/ if(! _p_) return _p_; + _p_ = /*<>*/ caml_call1(p, x); + /*<>*/ if(! _p_) return _p_; xs = xs$0; } - /*<>*/ } + /*<>*/ } function exists(p, xs$1){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - _p_ = /*<>*/ caml_call1(p, x); - /*<>*/ if(_p_) return _p_; + _p_ = /*<>*/ caml_call1(p, x); + /*<>*/ if(_p_) return _p_; xs = xs$0; } - /*<>*/ } + /*<>*/ } function find(p, xs$1){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ if(caml_call1(p, x)) - /*<>*/ return [0, x]; - /*<>*/ xs = xs$0; - } - /*<>*/ } + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return [0, x]; + /*<>*/ xs = xs$0; + } + /*<>*/ } function find_index(p, xs){ - var i = /*<>*/ 0, xs$0 = xs; + var i = /*<>*/ 0, xs$0 = xs; for(;;){ - var match = /*<>*/ caml_call1(xs$0, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$1 = /*<>*/ match[2], x = match[1]; - /*<>*/ if(caml_call1(p, x)) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i + 1 | 0; + var match = /*<>*/ caml_call1(xs$0, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$1 = /*<>*/ match[2], x = match[1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; xs$0 = xs$1; } - /*<>*/ } + /*<>*/ } function find_map(f, xs$1){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - result = /*<>*/ caml_call1(f, x); - /*<>*/ if(result) /*<>*/ return result; - /*<>*/ xs = xs$0; + result = /*<>*/ caml_call1(f, x); + /*<>*/ if(result) /*<>*/ return result; + /*<>*/ xs = xs$0; } - /*<>*/ } + /*<>*/ } function find_mapi(f, xs){ - var i = /*<>*/ 0, xs$0 = xs; + var i = /*<>*/ 0, xs$0 = xs; for(;;){ - var match = /*<>*/ caml_call1(xs$0, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs$0, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$1 = /*<>*/ match[2], + xs$1 = /*<>*/ match[2], x = match[1], - result = /*<>*/ caml_call2(f, i, x); - /*<>*/ if(result) /*<>*/ return result; - var i$0 = /*<>*/ i + 1 | 0; + result = /*<>*/ caml_call2(f, i, x); + /*<>*/ if(result) /*<>*/ return result; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; xs$0 = xs$1; } - /*<>*/ } + /*<>*/ } function iter2(f, xs$1, ys$1){ - var xs = /*<>*/ xs$1, ys = ys$1; + var xs = /*<>*/ xs$1, ys = ys$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match$0) /*<>*/ return 0; - var ys$0 = /*<>*/ match$0[2], y = match$0[1]; - /*<>*/ caml_call2(f, x, y); - /*<>*/ xs = xs$0; + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match$0) /*<>*/ return 0; + var ys$0 = /*<>*/ match$0[2], y = match$0[1]; + /*<>*/ caml_call2(f, x, y); + /*<>*/ xs = xs$0; ys = ys$0; } - /*<>*/ } + /*<>*/ } function fold_left2(f, accu$1, xs$1, ys$1){ - var accu = /*<>*/ accu$1, xs = xs$1, ys = ys$1; + var accu = /*<>*/ accu$1, xs = xs$1, ys = ys$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return accu; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return accu; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match$0) /*<>*/ return accu; + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match$0) /*<>*/ return accu; var - ys$0 = /*<>*/ match$0[2], + ys$0 = /*<>*/ match$0[2], y = match$0[1], - accu$0 = /*<>*/ caml_call3(f, accu, x, y); - /*<>*/ accu = accu$0; + accu$0 = /*<>*/ caml_call3(f, accu, x, y); + /*<>*/ accu = accu$0; xs = xs$0; ys = ys$0; } - /*<>*/ } + /*<>*/ } function for_all2(f, xs$1, ys$1){ - var xs = /*<>*/ xs$1, ys = ys$1; + var xs = /*<>*/ xs$1, ys = ys$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 1; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 1; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match$0) /*<>*/ return 1; + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match$0) /*<>*/ return 1; var - ys$0 = /*<>*/ match$0[2], + ys$0 = /*<>*/ match$0[2], y = match$0[1], - _p_ = /*<>*/ caml_call2(f, x, y); - /*<>*/ if(! _p_) return _p_; + _p_ = /*<>*/ caml_call2(f, x, y); + /*<>*/ if(! _p_) return _p_; xs = xs$0; ys = ys$0; } - /*<>*/ } + /*<>*/ } function exists2(f, xs$1, ys$1){ - var xs = /*<>*/ xs$1, ys = ys$1; + var xs = /*<>*/ xs$1, ys = ys$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match$0) /*<>*/ return 0; + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match$0) /*<>*/ return 0; var - ys$0 = /*<>*/ match$0[2], + ys$0 = /*<>*/ match$0[2], y = match$0[1], - _p_ = /*<>*/ caml_call2(f, x, y); - /*<>*/ if(_p_) return _p_; + _p_ = /*<>*/ caml_call2(f, x, y); + /*<>*/ if(_p_) return _p_; xs = xs$0; ys = ys$0; } - /*<>*/ } + /*<>*/ } function equal(eq, xs$1, ys$1){ - var xs = /*<>*/ xs$1, ys = ys$1; + var xs = /*<>*/ xs$1, ys = ys$1; for(;;){ var - match = /*<>*/ caml_call1(xs, 0), - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(match){ + match = /*<>*/ caml_call1(xs, 0), + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(match){ if(match$0){ var ys$0 = match$0[2], y = match$0[1], xs$0 = match[2], x = match[1], - _p_ = /*<>*/ caml_call2(eq, x, y); - /*<>*/ if(! _p_) return _p_; + _p_ = /*<>*/ caml_call2(eq, x, y); + /*<>*/ if(! _p_) return _p_; xs = xs$0; ys = ys$0; continue; } } - else if(! match$0) /*<>*/ return 1; - /*<>*/ return 0; + else if(! match$0) /*<>*/ return 1; + /*<>*/ return 0; } - /*<>*/ } + /*<>*/ } function compare(cmp, xs$1, ys$1){ - var xs = /*<>*/ xs$1, ys = ys$1; + var xs = /*<>*/ xs$1, ys = ys$1; for(;;){ var - match = /*<>*/ caml_call1(xs, 0), - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match) - return match$0 ? -1 : 0 /*<>*/ ; - var xs$0 = /*<>*/ match[2], x = match[1]; - if(! match$0) /*<>*/ return 1; + match = /*<>*/ caml_call1(xs, 0), + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match) + return match$0 ? -1 : 0 /*<>*/ ; + var xs$0 = /*<>*/ match[2], x = match[1]; + if(! match$0) /*<>*/ return 1; var - ys$0 = /*<>*/ match$0[2], + ys$0 = /*<>*/ match$0[2], y = match$0[1], - c = /*<>*/ caml_call2(cmp, x, y); - /*<>*/ if(0 !== c) /*<>*/ return c; - /*<>*/ xs = xs$0; + c = /*<>*/ caml_call2(cmp, x, y); + /*<>*/ if(0 !== c) /*<>*/ return c; + /*<>*/ xs = xs$0; ys = ys$0; } - /*<>*/ } + /*<>*/ } function init_aux(f, i, j, param){ - /*<>*/ if(i >= j) /*<>*/ return 0; - var _o_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + /*<>*/ if(i >= j) /*<>*/ return 0; + var _o_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, caml_call1(f, i), function(_p_){ - /*<>*/ return init_aux(f, _o_, j, _p_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return init_aux(f, _o_, j, _p_); + }] /*<>*/ ; + /*<>*/ } function init(n, f){ - /*<>*/ if(0 > n) - /*<>*/ return Stdlib[1].call(null, cst_Seq_init) /*<>*/ ; - var _n_ = /*<>*/ 0; + /*<>*/ if(0 > n) + /*<>*/ return Stdlib[1].call(null, cst_Seq_init) /*<>*/ ; + var _n_ = /*<>*/ 0; return function(_o_){ - /*<>*/ return init_aux(f, _n_, n, _o_);} /*<>*/ ; - /*<>*/ } + /*<>*/ return init_aux(f, _n_, n, _o_);} /*<>*/ ; + /*<>*/ } function repeat(x, param){ - /*<>*/ return [0, + /*<>*/ return [0, x, - function(_n_){ /*<>*/ return repeat(x, _n_);}] /*<>*/ ; - /*<>*/ } + function(_n_){ /*<>*/ return repeat(x, _n_);}] /*<>*/ ; + /*<>*/ } function forever(f, param){ - /*<>*/ return [0, + /*<>*/ return [0, caml_call1(f, 0), - function(_n_){ /*<>*/ return forever(f, _n_);}] /*<>*/ ; - /*<>*/ } + function(_n_){ /*<>*/ return forever(f, _n_);}] /*<>*/ ; + /*<>*/ } function cycle_nonempty(xs, param){ - /*<>*/ return append + /*<>*/ return append (xs, function(_n_){ - /*<>*/ return cycle_nonempty(xs, _n_); + /*<>*/ return cycle_nonempty(xs, _n_); }, - 0) /*<>*/ ; + 0) /*<>*/ ; } function cycle(xs, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - function _m_(_n_){ /*<>*/ return cycle_nonempty(xs, _n_);} - /*<>*/ return [0, + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + function _m_(_n_){ /*<>*/ return cycle_nonempty(xs, _n_);} + /*<>*/ return [0, x, function(_n_){ - /*<>*/ return append(xs$0, _m_, _n_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return append(xs$0, _m_, _n_); + }] /*<>*/ ; + /*<>*/ } function iterate1(f, x, param){ - var y = /*<>*/ caml_call1(f, x); - /*<>*/ return [0, + var y = /*<>*/ caml_call1(f, x); + /*<>*/ return [0, y, - function(_m_){ /*<>*/ return iterate1(f, y, _m_);}] /*<>*/ ; - /*<>*/ } + function(_m_){ /*<>*/ return iterate1(f, y, _m_);}] /*<>*/ ; + /*<>*/ } function iterate(f, x){ - function next(_m_){ /*<>*/ return iterate1(f, x, _m_);} - /*<>*/ return function(param){ - /*<>*/ return [0, x, next];} /*<>*/ ; + function next(_m_){ /*<>*/ return iterate1(f, x, _m_);} + /*<>*/ return function(param){ + /*<>*/ return [0, x, next];} /*<>*/ ; } function mapi_aux(f, i, xs, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - _l_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + _l_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, caml_call2(f, i, x), function(_m_){ - /*<>*/ return mapi_aux(f, _l_, xs$0, _m_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return mapi_aux(f, _l_, xs$0, _m_); + }] /*<>*/ ; + /*<>*/ } function mapi(f, xs){ - var _k_ = /*<>*/ 0; + var _k_ = /*<>*/ 0; return function(_l_){ - /*<>*/ return mapi_aux(f, _k_, xs, _l_);} /*<>*/ ; - /*<>*/ } + /*<>*/ return mapi_aux(f, _k_, xs, _l_);} /*<>*/ ; + /*<>*/ } function tail_scan(f, s, xs, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - s$0 = /*<>*/ caml_call2(f, s, x); - /*<>*/ return [0, + s$0 = /*<>*/ caml_call2(f, s, x); + /*<>*/ return [0, s$0, function(_k_){ - /*<>*/ return tail_scan(f, s$0, xs$0, _k_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return tail_scan(f, s$0, xs$0, _k_); + }] /*<>*/ ; + /*<>*/ } function scan(f, s, xs){ - function next(_k_){ /*<>*/ return tail_scan(f, s, xs, _k_);} - /*<>*/ return function(param){ - /*<>*/ return [0, s, next];} /*<>*/ ; + function next(_k_){ /*<>*/ return tail_scan(f, s, xs, _k_);} + /*<>*/ return function(param){ + /*<>*/ return [0, s, next];} /*<>*/ ; } function take_aux(n, xs){ - /*<>*/ return 0 === n + /*<>*/ return 0 === n ? empty : function (param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) - /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, x, take_aux(n - 1 | 0, xs$0)] /*<>*/ ; - /*<>*/ }; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) + /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, x, take_aux(n - 1 | 0, xs$0)] /*<>*/ ; + /*<>*/ }; } function take(n, xs){ - /*<>*/ if(n < 0) - /*<>*/ Stdlib[1].call(null, cst_Seq_take); - /*<>*/ return take_aux(n, xs) /*<>*/ ; + /*<>*/ if(n < 0) + /*<>*/ Stdlib[1].call(null, cst_Seq_take); + /*<>*/ return take_aux(n, xs) /*<>*/ ; } function drop(n, xs){ - /*<>*/ return 0 <= n + /*<>*/ return 0 <= n ? 0 === n ? xs : function (param){ - var n$0 = /*<>*/ n, xs$0 = xs; + var n$0 = /*<>*/ n, xs$0 = xs; for(;;){ - var match = /*<>*/ caml_call1(xs$0, 0); - /*<>*/ if(! match) - /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs$0, 0); + /*<>*/ if(! match) + /*<>*/ return 0; var - xs$1 = /*<>*/ match[2], - n$1 = /*<>*/ n$0 - 1 | 0; - /*<>*/ if(0 === n$1) - /*<>*/ return caml_call1(xs$1, 0) /*<>*/ ; - /*<>*/ n$0 = n$1; + xs$1 = /*<>*/ match[2], + n$1 = /*<>*/ n$0 - 1 | 0; + /*<>*/ if(0 === n$1) + /*<>*/ return caml_call1(xs$1, 0) /*<>*/ ; + /*<>*/ n$0 = n$1; xs$0 = xs$1; } - /*<>*/ } - : /*<>*/ Stdlib[1].call(null, cst_Seq_drop) /*<>*/ ; + /*<>*/ } + : /*<>*/ Stdlib[1].call(null, cst_Seq_drop) /*<>*/ ; } function take_while(p, xs, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return caml_call1(p, x) + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return caml_call1(p, x) ? [0, x, function(_k_){ - /*<>*/ return take_while(p, xs$0, _k_); + /*<>*/ return take_while(p, xs$0, _k_); }] - : 0 /*<>*/ ; + : 0 /*<>*/ ; } function drop_while(p, xs$1, param){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var node = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! node) /*<>*/ return 0; - var xs$0 = /*<>*/ node[2], x = node[1]; - /*<>*/ if(! caml_call1(p, x)) - /*<>*/ return node; - /*<>*/ xs = xs$0; - } - /*<>*/ } + var node = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! node) /*<>*/ return 0; + var xs$0 = /*<>*/ node[2], x = node[1]; + /*<>*/ if(! caml_call1(p, x)) + /*<>*/ return node; + /*<>*/ xs = xs$0; + } + /*<>*/ } function group(eq, xs, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - _h_ = /*<>*/ caml_call1(eq, x); + _h_ = /*<>*/ caml_call1(eq, x); function _i_(_k_){ - /*<>*/ return drop_while(_h_, xs$0, _k_); + /*<>*/ return drop_while(_h_, xs$0, _k_); } - var _j_ = /*<>*/ caml_call1(eq, x); + var _j_ = /*<>*/ caml_call1(eq, x); function next(_k_){ - /*<>*/ return take_while(_j_, xs$0, _k_); + /*<>*/ return take_while(_j_, xs$0, _k_); } - /*<>*/ return [0, + /*<>*/ return [0, function(param){ /*<>*/ return [0, x, next];}, - function(_j_){ /*<>*/ return group(eq, _i_, _j_);}] /*<>*/ ; - /*<>*/ } + function(_j_){ /*<>*/ return group(eq, _i_, _j_);}] /*<>*/ ; + /*<>*/ } var Forced_twice = /*<>*/ [248, "Stdlib.Seq.Forced_twice", runtime.caml_fresh_oo_id(0)], to_lazy = Stdlib_Lazy[6], - _b_ = [0, "seq.ml", 616, 4]; + _b_ = [0, "seq.ml", 629, 4]; function failure(param){ - /*<>*/ throw caml_maybe_attach_backtrace(Forced_twice, 1); - /*<>*/ } + /*<>*/ throw caml_maybe_attach_backtrace(Forced_twice, 1); + /*<>*/ } function memoize(xs){ function s$0(param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, x, memoize(xs$0)] /*<>*/ ; - /*<>*/ } - var s = /*<>*/ to_lazy(s$0); - /*<>*/ return function(param){ - var _h_ = /*<>*/ runtime.caml_obj_tag(s); + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, x, memoize(xs$0)] /*<>*/ ; + /*<>*/ } + var s = /*<>*/ to_lazy(s$0); + /*<>*/ return function(param){ + var _h_ = /*<>*/ runtime.caml_obj_tag(s); if(250 === _h_) return s[1]; if(246 !== _h_ && 244 !== _h_) return s; - return CamlinternalLazy[2].call(null, s) /*<>*/ ;} /*<>*/ ; - /*<>*/ } + return CamlinternalLazy[2].call(null, s) /*<>*/ ;} /*<>*/ ; + /*<>*/ } function once(xs){ function f(param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, x, once(xs$0)] /*<>*/ ; - /*<>*/ } - var action = /*<>*/ Stdlib_Atomic[1].call(null, f); - /*<>*/ return function(param){ - var - f = /*<>*/ Stdlib_Atomic[5].call(null, action, failure); - /*<>*/ return caml_call1(f, 0) /*<>*/ ;} /*<>*/ ; - /*<>*/ } + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, x, once(xs$0)] /*<>*/ ; + /*<>*/ } + var action = /*<>*/ Stdlib_Atomic[1].call(null, f); + /*<>*/ return function(param){ + var + f = /*<>*/ Stdlib_Atomic[5].call(null, action, failure); + /*<>*/ return caml_call1(f, 0) /*<>*/ ;} /*<>*/ ; + /*<>*/ } function zip(xs, ys, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match$0) /*<>*/ return 0; - var ys$0 = /*<>*/ match$0[2], y = match$0[1]; - /*<>*/ return [0, + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match$0) /*<>*/ return 0; + var ys$0 = /*<>*/ match$0[2], y = match$0[1]; + /*<>*/ return [0, [0, x, y], - function(_h_){ /*<>*/ return zip(xs$0, ys$0, _h_);}] /*<>*/ ; - /*<>*/ } + function(_h_){ /*<>*/ return zip(xs$0, ys$0, _h_);}] /*<>*/ ; + /*<>*/ } function map2(f, xs, ys, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match$0) /*<>*/ return 0; - var ys$0 = /*<>*/ match$0[2], y = match$0[1]; - /*<>*/ return [0, + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match$0) /*<>*/ return 0; + var ys$0 = /*<>*/ match$0[2], y = match$0[1]; + /*<>*/ return [0, caml_call2(f, x, y), function(_h_){ - /*<>*/ return map2(f, xs$0, ys$0, _h_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return map2(f, xs$0, ys$0, _h_); + }] /*<>*/ ; + /*<>*/ } function interleave(xs, ys, param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) - /*<>*/ return caml_call1(ys, 0) /*<>*/ ; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return [0, + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) + /*<>*/ return caml_call1(ys, 0) /*<>*/ ; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return [0, x, function(_h_){ - /*<>*/ return interleave(ys, xs$0, _h_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return interleave(ys, xs$0, _h_); + }] /*<>*/ ; + /*<>*/ } function sorted_merge1(cmp, x, xs, y, ys){ - /*<>*/ return 0 < caml_call2(cmp, x, y) + /*<>*/ return 0 < caml_call2(cmp, x, y) ? [0, y, function(param){ - var match = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(! match) - /*<>*/ return [0, x, xs]; - var ys$0 = /*<>*/ match[2], y = match[1]; - /*<>*/ return sorted_merge1(cmp, x, xs, y, ys$0); + var match = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(! match) + /*<>*/ return [0, x, xs]; + var ys$0 = /*<>*/ match[2], y = match[1]; + /*<>*/ return sorted_merge1(cmp, x, xs, y, ys$0); }] : [0, x, function(param){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) - /*<>*/ return [0, y, ys]; - var xs$0 = /*<>*/ match[2], x = match[1]; - /*<>*/ return sorted_merge1(cmp, x, xs$0, y, ys); - }] /*<>*/ ; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) + /*<>*/ return [0, y, ys]; + var xs$0 = /*<>*/ match[2], x = match[1]; + /*<>*/ return sorted_merge1(cmp, x, xs$0, y, ys); + }] /*<>*/ ; } function sorted_merge(cmp, xs, ys, param){ var - match = /*<>*/ caml_call1(xs, 0), - match$0 = /*<>*/ caml_call1(ys, 0); - /*<>*/ if(match){ + match = /*<>*/ caml_call1(xs, 0), + match$0 = /*<>*/ caml_call1(ys, 0); + /*<>*/ if(match){ if(match$0){ var ys$0 = match$0[2], y = match$0[1], xs$0 = match[2], x = match[1]; - /*<>*/ return sorted_merge1(cmp, x, xs$0, y, ys$0) /*<>*/ ; + /*<>*/ return sorted_merge1(cmp, x, xs$0, y, ys$0) /*<>*/ ; } - var c = /*<>*/ match; + var c = /*<>*/ match; } else{ - if(! match$0) /*<>*/ return 0; - var c = /*<>*/ match$0; + if(! match$0) /*<>*/ return 0; + var c = /*<>*/ match$0; } - /*<>*/ return c; - /*<>*/ } + /*<>*/ return c; + /*<>*/ } function map_fst(xys, param){ - var match = /*<>*/ caml_call1(xys, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xys$0 = /*<>*/ match[2], x = match[1][1]; - /*<>*/ return [0, + var match = /*<>*/ caml_call1(xys, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xys$0 = /*<>*/ match[2], x = match[1][1]; + /*<>*/ return [0, x, - function(_h_){ /*<>*/ return map_fst(xys$0, _h_);}] /*<>*/ ; - /*<>*/ } + function(_h_){ /*<>*/ return map_fst(xys$0, _h_);}] /*<>*/ ; + /*<>*/ } function map_snd(xys, param){ - var match = /*<>*/ caml_call1(xys, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xys$0 = /*<>*/ match[2], y = match[1][2]; - /*<>*/ return [0, + var match = /*<>*/ caml_call1(xys, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xys$0 = /*<>*/ match[2], y = match[1][2]; + /*<>*/ return [0, y, - function(_h_){ /*<>*/ return map_snd(xys$0, _h_);}] /*<>*/ ; - /*<>*/ } + function(_h_){ /*<>*/ return map_snd(xys$0, _h_);}] /*<>*/ ; + /*<>*/ } function unzip(xys){ - /*<>*/ return [0, - function(_h_){ /*<>*/ return map_fst(xys, _h_);}, - function(_h_){ /*<>*/ return map_snd(xys, _h_);}] /*<>*/ ; - /*<>*/ } + /*<>*/ return [0, + function(_h_){ /*<>*/ return map_fst(xys, _h_);}, + function(_h_){ /*<>*/ return map_snd(xys, _h_);}] /*<>*/ ; + /*<>*/ } function filter_map_find_left_map(f, xs$1, param){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(f, x); - /*<>*/ if(0 === match$0[0]) break; + match$0 = /*<>*/ caml_call1(f, x); + /*<>*/ if(0 === match$0[0]) break; xs = xs$0; } - var y = /*<>*/ match$0[1]; - /*<>*/ return [0, + var y = /*<>*/ match$0[1]; + /*<>*/ return [0, y, function(_h_){ - /*<>*/ return filter_map_find_left_map + /*<>*/ return filter_map_find_left_map (f, xs$0, _h_); - }] /*<>*/ ; - /*<>*/ } + }] /*<>*/ ; + /*<>*/ } function filter_map_find_right_map(f, xs$1, param){ - var xs = /*<>*/ xs$1; + var xs = /*<>*/ xs$1; for(;;){ - var match = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(! match) /*<>*/ return 0; + var match = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(! match) /*<>*/ return 0; var - xs$0 = /*<>*/ match[2], + xs$0 = /*<>*/ match[2], x = match[1], - match$0 = /*<>*/ caml_call1(f, x); - /*<>*/ if(0 !== match$0[0]) break; + match$0 = /*<>*/ caml_call1(f, x); + /*<>*/ if(0 !== match$0[0]) break; xs = xs$0; } - var z = /*<>*/ match$0[1]; - /*<>*/ return [0, + var z = /*<>*/ match$0[1]; + /*<>*/ return [0, z, function(_h_){ - /*<>*/ return filter_map_find_right_map + /*<>*/ return filter_map_find_right_map (f, xs$0, _h_); - }] /*<>*/ ; - /*<>*/ } + }] /*<>*/ ; + /*<>*/ } function partition_map(f, xs){ - /*<>*/ return [0, + /*<>*/ return [0, function(_h_){ - /*<>*/ return filter_map_find_left_map(f, xs, _h_); + /*<>*/ return filter_map_find_left_map(f, xs, _h_); }, function(_h_){ - /*<>*/ return filter_map_find_right_map + /*<>*/ return filter_map_find_right_map (f, xs, _h_); - }] /*<>*/ ; - /*<>*/ } + }] /*<>*/ ; + /*<>*/ } function partition(p, xs){ function _g_(x){ - /*<>*/ return 1 - caml_call1(p, x) /*<>*/ ; + /*<>*/ return 1 - caml_call1(p, x) /*<>*/ ; } - /*<>*/ return [0, - function(_h_){ /*<>*/ return filter(p, xs, _h_);}, - function(_h_){ /*<>*/ return filter(_g_, xs, _h_);}] /*<>*/ ; - /*<>*/ } + /*<>*/ return [0, + function(_h_){ /*<>*/ return filter(p, xs, _h_);}, + function(_h_){ /*<>*/ return filter(_g_, xs, _h_);}] /*<>*/ ; + /*<>*/ } function peel(xss){ - /*<>*/ return unzip + /*<>*/ return unzip (function(_g_){ - /*<>*/ return filter_map(uncons, xss, _g_); - }) /*<>*/ ; + /*<>*/ return filter_map(uncons, xss, _g_); + }) /*<>*/ ; } function transpose(xss, param){ var - match = /*<>*/ peel(xss), - tails = /*<>*/ match[2], + match = /*<>*/ peel(xss), + tails = /*<>*/ match[2], heads = match[1]; - /*<>*/ if(! is_empty(heads)) - /*<>*/ return [0, + /*<>*/ if(! is_empty(heads)) + /*<>*/ return [0, heads, function(_g_){ - /*<>*/ return transpose(tails, _g_); - }] /*<>*/ ; - /*<>*/ if(is_empty(tails)) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ return transpose(tails, _g_); + }] /*<>*/ ; + /*<>*/ if(is_empty(tails)) /*<>*/ return 0; + /*<>*/ throw caml_maybe_attach_backtrace ([0, Assert_failure, _b_], 1); - /*<>*/ } + /*<>*/ } function _a_(remainders, xss, param){ - var match = /*<>*/ caml_call1(xss, 0); - /*<>*/ if(! match) - /*<>*/ return transpose(remainders, 0) /*<>*/ ; + var match = /*<>*/ caml_call1(xss, 0); + /*<>*/ if(! match) + /*<>*/ return transpose(remainders, 0) /*<>*/ ; var - xss$0 = /*<>*/ match[2], + xss$0 = /*<>*/ match[2], xs = match[1], - match$0 = /*<>*/ caml_call1(xs, 0); - /*<>*/ if(match$0){ + match$0 = /*<>*/ caml_call1(xs, 0); + /*<>*/ if(match$0){ var xs$0 = match$0[2], x = match$0[1], - match$1 = /*<>*/ peel(remainders), - tails = /*<>*/ match$1[2], + match$1 = /*<>*/ peel(remainders), + tails = /*<>*/ match$1[2], heads = match$1[1], _f_ = - /*<>*/ function(param){ + /*<>*/ function(param){ /*<>*/ return [0, xs$0, tails]; }; - /*<>*/ return [0, + /*<>*/ return [0, function(param){ /*<>*/ return [0, x, heads];}, function(_g_){ - /*<>*/ return _a_(_f_, xss$0, _g_); - }] /*<>*/ ; + /*<>*/ return _a_(_f_, xss$0, _g_); + }] /*<>*/ ; } var - match$2 = /*<>*/ peel(remainders), - tails$0 = /*<>*/ match$2[2], + match$2 = /*<>*/ peel(remainders), + tails$0 = /*<>*/ match$2[2], heads$0 = match$2[1]; - /*<>*/ return [0, + /*<>*/ return [0, heads$0, function(_f_){ - /*<>*/ return _a_(tails$0, xss$0, _f_); - }] /*<>*/ ; - /*<>*/ } + /*<>*/ return _a_(tails$0, xss$0, _f_); + }] /*<>*/ ; + /*<>*/ } function map_product(f, xs, ys){ function _d_(x){ function _e_(y){ - /*<>*/ return caml_call2(f, x, y) /*<>*/ ; + /*<>*/ return caml_call2(f, x, y) /*<>*/ ; } - /*<>*/ return function(_f_){ - /*<>*/ return map(_e_, ys, _f_);} /*<>*/ ; - /*<>*/ } - function xss(_e_){ /*<>*/ return map(_d_, xs, _e_);} - function _c_(_d_){ /*<>*/ return _a_(empty, xss, _d_);} - /*<>*/ return function(_d_){return concat(_c_, _d_);}; + /*<>*/ return function(_f_){ + /*<>*/ return map(_e_, ys, _f_);} /*<>*/ ; + /*<>*/ } + function xss(_e_){ /*<>*/ return map(_d_, xs, _e_);} + function _c_(_d_){ /*<>*/ return _a_(empty, xss, _d_);} + /*<>*/ return function(_d_){return concat(_c_, _d_);}; } function product(xs, ys){ - /*<>*/ return map_product + /*<>*/ return map_product (function(x, y){ - /*<>*/ return [0, x, y]; - /*<>*/ }, + /*<>*/ return [0, x, y]; + /*<>*/ }, xs, - ys) /*<>*/ ; + ys) /*<>*/ ; } function of_dispenser(it){ function c(param){ - var match = /*<>*/ caml_call1(it, 0); - /*<>*/ if(! match) /*<>*/ return 0; - var x = /*<>*/ match[1]; - /*<>*/ return [0, x, c]; - /*<>*/ } - /*<>*/ return c; - /*<>*/ } + var match = /*<>*/ caml_call1(it, 0); + /*<>*/ if(! match) /*<>*/ return 0; + var x = /*<>*/ match[1]; + /*<>*/ return [0, x, c]; + /*<>*/ } + /*<>*/ return c; + /*<>*/ } function to_dispenser(xs){ - var s = /*<>*/ [0, xs]; - /*<>*/ return function(param){ - var match = /*<>*/ caml_call1(s[1], 0); - /*<>*/ if(! match) /*<>*/ return 0; - var xs = /*<>*/ match[2], x = match[1]; - /*<>*/ s[1] = xs; - /*<>*/ return [0, x]; /*<>*/ } /*<>*/ ; - /*<>*/ } + var s = /*<>*/ [0, xs]; + /*<>*/ return function(param){ + var match = /*<>*/ caml_call1(s[1], 0); + /*<>*/ if(! match) /*<>*/ return 0; + var xs = /*<>*/ match[2], x = match[1]; + /*<>*/ s[1] = xs; + /*<>*/ return [0, x]; /*<>*/ } /*<>*/ ; + /*<>*/ } function ints(i, param){ - var _b_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + var _b_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, i, - function(_c_){ /*<>*/ return ints(_b_, _c_);}] /*<>*/ ; - /*<>*/ } + function(_c_){ /*<>*/ return ints(_b_, _c_);}] /*<>*/ ; + /*<>*/ } var Stdlib_Seq = /*<>*/ [0, @@ -2488,6 +2893,7 @@ empty, return$, cons, + singleton, init, unfold, repeat, @@ -2497,6 +2903,7 @@ map, mapi, filter, + filteri, filter_map, scan, take, @@ -2659,9 +3066,103 @@ } (globalThis)); +//# unitInfo: Provides: Stdlib__Pair +//# shape: Stdlib__Pair:[F(2)*,F(1)*,F(1)*,F(1)*,F(2),F(3),F(3),F(2),F(2),F(4),F(4)] +(function + (globalThis){ + "use strict"; + var runtime = globalThis.jsoo_runtime; + function caml_call1(f, a0){ + return (f.l >= 0 ? f.l : f.l = f.length) === 1 + ? f(a0) + : runtime.caml_call_gen(f, [a0]); + } + function caml_call2(f, a0, a1){ + return (f.l >= 0 ? f.l : f.l = f.length) === 2 + ? f(a0, a1) + : runtime.caml_call_gen(f, [a0, a1]); + } + function make(a, b){ + /*<>*/ return [0, a, b]; + /*<>*/ } + function fst(param){ + var a = /*<>*/ param[1]; + /*<>*/ return a; + /*<>*/ } + function snd(param){ + var b = /*<>*/ param[2]; + /*<>*/ return b; + /*<>*/ } + function swap(param){ + var b = /*<>*/ param[2], a = param[1]; + /*<>*/ return [0, b, a]; + /*<>*/ } + function fold(f, param){ + var b = /*<>*/ param[2], a = param[1]; + /*<>*/ return caml_call2(f, a, b) /*<>*/ ; + } + function map(f, g, param){ + var + b = /*<>*/ param[2], + a = param[1], + _b_ = /*<>*/ caml_call1(g, b); + /*<>*/ return [0, caml_call1(f, a), _b_] /*<>*/ ; + /*<>*/ } + function iter(f, g, param){ + var b = /*<>*/ param[2], a = param[1]; + /*<>*/ caml_call1(f, a); + /*<>*/ return caml_call1(g, b) /*<>*/ ; + } + function map_fst(f, param){ + var b = /*<>*/ param[2], a = param[1]; + /*<>*/ return [0, caml_call1(f, a), b] /*<>*/ ; + /*<>*/ } + function map_snd(g, param){ + var b = /*<>*/ param[2], a = param[1]; + /*<>*/ return [0, a, caml_call1(g, b)] /*<>*/ ; + /*<>*/ } + function equal(eqa, eqb, _b_, param){ + var + b = /*<>*/ param[2], + a = param[1], + b$0 = _b_[2], + a$0 = _b_[1], + _a_ = /*<>*/ caml_call2(eqa, a$0, a); + /*<>*/ return _a_ ? caml_call2(eqb, b$0, b) : _a_ /*<>*/ ; + } + function compare(cmpa, cmpb, _a_, param){ + var + b = /*<>*/ param[2], + a = param[1], + b$0 = _a_[2], + a$0 = _a_[1], + c = /*<>*/ caml_call2(cmpa, a$0, a); + /*<>*/ return 0 === c + ? /*<>*/ caml_call2(cmpb, b$0, b) + : c /*<>*/ ; + } + var + Stdlib_Pair = + /*<>*/ [0, + make, + fst, + snd, + swap, + fold, + map, + iter, + map_fst, + map_snd, + equal, + compare]; + runtime.caml_register_global(0, Stdlib_Pair, "Stdlib__Pair"); + return; + } + (globalThis)); + //# unitInfo: Provides: Stdlib__Result //# unitInfo: Requires: Stdlib, Stdlib__Seq -//# shape: Stdlib__Result:[F(1)*,F(1)*,F(2)*,F(1),F(1),F(2),F(1)*,F(2),F(2),F(3),F(2),F(2),F(1)*,F(1)*,F(4),F(4),F(1)*,F(1)*,F(1)*->F(1)*] +//# shape: Stdlib__Result:[F(1)*,F(1)*,F(2)*,F(1),F(1),F(1),F(1),F(2),F(1)*,F(2),F(2)*,F(2),F(3),F(1)*,F(2),F(2),F(1)*,F(1)*,F(4),F(4),F(1)*,F(1)*,F(1)*->F(1)*,[F(2),F(2)*,F(2),F(2)*]] (function (globalThis){ "use strict"; @@ -2700,121 +3201,166 @@ var v = /*<>*/ param[1]; /*<>*/ return v; /*<>*/ } + function get_ok$0(param){ + /*<>*/ if(0 === param[0]){ + var v = param[1]; + /*<>*/ return v; + } + var e = /*<>*/ param[1]; + /*<>*/ return Stdlib[1].call(null, e) /*<>*/ ; + } function get_error(param){ - /*<>*/ if(0 === param[0]) - /*<>*/ return Stdlib[1].call(null, cst_result_is_Ok) /*<>*/ ; - var e = /*<>*/ param[1]; - /*<>*/ return e; - /*<>*/ } + /*<>*/ if(0 === param[0]) + /*<>*/ return Stdlib[1].call(null, cst_result_is_Ok) /*<>*/ ; + var e = /*<>*/ param[1]; + /*<>*/ return e; + /*<>*/ } + function error_to_failure(param){ + /*<>*/ if(0 === param[0]){ + var v = param[1]; + /*<>*/ return v; + } + var e = /*<>*/ param[1]; + /*<>*/ return Stdlib[2].call(null, e) /*<>*/ ; + } function bind(r, f){ - /*<>*/ if(0 !== r[0]) /*<>*/ return r; - var v = /*<>*/ r[1]; - /*<>*/ return caml_call1(f, v) /*<>*/ ; + /*<>*/ if(0 !== r[0]) /*<>*/ return r; + var v = /*<>*/ r[1]; + /*<>*/ return caml_call1(f, v) /*<>*/ ; } function join(e){ - /*<>*/ if(0 !== e[0]) /*<>*/ return e; - var r = /*<>*/ e[1]; - /*<>*/ return r; - /*<>*/ } + /*<>*/ if(0 !== e[0]) /*<>*/ return e; + var r = /*<>*/ e[1]; + /*<>*/ return r; + /*<>*/ } function map(f, e){ - /*<>*/ if(0 !== e[0]) /*<>*/ return e; - var v = /*<>*/ e[1]; - /*<>*/ return [0, caml_call1(f, v)] /*<>*/ ; - /*<>*/ } + /*<>*/ if(0 !== e[0]) /*<>*/ return e; + var v = /*<>*/ e[1]; + /*<>*/ return [0, caml_call1(f, v)] /*<>*/ ; + /*<>*/ } + function product(r0, r1){ + /*<>*/ if(0 === r0[0]){ + var v0 = r0[1]; + if(0 === r1[0]){ + var v1 = r1[1]; + /*<>*/ return [0, [0, v0, v1]]; + } + var r = /*<>*/ r1; + } + else + var r = r0; + /*<>*/ return r; + /*<>*/ } function map_error(f, v){ - /*<>*/ if(0 === v[0]) /*<>*/ return v; - var e = /*<>*/ v[1]; - /*<>*/ return [1, caml_call1(f, e)] /*<>*/ ; - /*<>*/ } + /*<>*/ if(0 === v[0]) /*<>*/ return v; + var e = /*<>*/ v[1]; + /*<>*/ return [1, caml_call1(f, e)] /*<>*/ ; + /*<>*/ } function fold(ok, error, param){ - /*<>*/ if(0 === param[0]){ + /*<>*/ if(0 === param[0]){ var v = param[1]; - /*<>*/ return caml_call1(ok, v) /*<>*/ ; + /*<>*/ return caml_call1(ok, v) /*<>*/ ; } - var e = /*<>*/ param[1]; - /*<>*/ return caml_call1(error, e) /*<>*/ ; + var e = /*<>*/ param[1]; + /*<>*/ return caml_call1(error, e) /*<>*/ ; } + function retract(param){ + /*<>*/ if(0 === param[0]){ + var v = param[1]; + /*<>*/ return v; + } + var v$0 = /*<>*/ param[1]; + /*<>*/ return v$0; + /*<>*/ } function iter(f, param){ - /*<>*/ if(0 !== param[0]) - /*<>*/ return 0; - var v = /*<>*/ param[1]; - /*<>*/ return caml_call1(f, v) /*<>*/ ; + /*<>*/ if(0 !== param[0]) + /*<>*/ return 0; + var v = /*<>*/ param[1]; + /*<>*/ return caml_call1(f, v) /*<>*/ ; } function iter_error(f, param){ - /*<>*/ if(0 === param[0]) - /*<>*/ return 0; - var e = /*<>*/ param[1]; - /*<>*/ return caml_call1(f, e) /*<>*/ ; + /*<>*/ if(0 === param[0]) + /*<>*/ return 0; + var e = /*<>*/ param[1]; + /*<>*/ return caml_call1(f, e) /*<>*/ ; } function is_ok(param){ - /*<>*/ return 0 === param[0] ? 1 : 0 /*<>*/ ; + /*<>*/ return 0 === param[0] ? 1 : 0 /*<>*/ ; } function is_error(param){ - /*<>*/ return 0 === param[0] ? 0 : 1 /*<>*/ ; + /*<>*/ return 0 === param[0] ? 0 : 1 /*<>*/ ; } function equal(ok, error, r0, r1){ - /*<>*/ if(0 === r0[0]){ + /*<>*/ if(0 === r0[0]){ var v0 = r0[1]; if(0 === r1[0]){ var v1 = r1[1]; - /*<>*/ return caml_call2(ok, v0, v1) /*<>*/ ; + /*<>*/ return caml_call2(ok, v0, v1) /*<>*/ ; } } else{ - var e0 = /*<>*/ r0[1]; + var e0 = /*<>*/ r0[1]; if(0 !== r1[0]){ var e1 = r1[1]; - /*<>*/ return caml_call2(error, e0, e1) /*<>*/ ; + /*<>*/ return caml_call2(error, e0, e1) /*<>*/ ; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function compare(ok, error, r0, r1){ - /*<>*/ if(0 === r0[0]){ + /*<>*/ if(0 === r0[0]){ var v0 = r0[1]; - if(0 !== r1[0]) /*<>*/ return -1; - var v1 = /*<>*/ r1[1]; - /*<>*/ return caml_call2(ok, v0, v1) /*<>*/ ; + if(0 !== r1[0]) /*<>*/ return -1; + var v1 = /*<>*/ r1[1]; + /*<>*/ return caml_call2(ok, v0, v1) /*<>*/ ; } - var e0 = /*<>*/ r0[1]; - if(0 === r1[0]) /*<>*/ return 1; - var e1 = /*<>*/ r1[1]; - /*<>*/ return caml_call2(error, e0, e1) /*<>*/ ; + var e0 = /*<>*/ r0[1]; + if(0 === r1[0]) /*<>*/ return 1; + var e1 = /*<>*/ r1[1]; + /*<>*/ return caml_call2(error, e0, e1) /*<>*/ ; } function to_option(param){ - /*<>*/ if(0 !== param[0]) - /*<>*/ return 0; - var v = /*<>*/ param[1]; - /*<>*/ return [0, v]; - /*<>*/ } + /*<>*/ if(0 !== param[0]) + /*<>*/ return 0; + var v = /*<>*/ param[1]; + /*<>*/ return [0, v]; + /*<>*/ } function to_list(param){ - /*<>*/ if(0 !== param[0]) - /*<>*/ return 0; - var v = /*<>*/ param[1]; - /*<>*/ return [0, v, 0]; - /*<>*/ } + /*<>*/ if(0 !== param[0]) + /*<>*/ return 0; + var v = /*<>*/ param[1]; + /*<>*/ return [0, v, 0]; + /*<>*/ } function to_seq(param){ - /*<>*/ if(0 !== param[0]) - /*<>*/ return Stdlib_Seq[20]; + /*<>*/ if(0 !== param[0]) + /*<>*/ return Stdlib_Seq[20]; var - v = /*<>*/ param[1], - _a_ = /*<>*/ Stdlib_Seq[21]; + v = /*<>*/ param[1], + _a_ = /*<>*/ Stdlib_Seq[21]; return function(_b_){ - /*<>*/ return _a_(v, _b_);} /*<>*/ ; - /*<>*/ } + /*<>*/ return _a_(v, _b_);} /*<>*/ ; + /*<>*/ } + function let$(r, f){ + /*<>*/ return map(f, r) /*<>*/ ; + } var + Syntax = /*<>*/ [0, bind, product, let$, product], Stdlib_Result = - /*<>*/ [0, + [0, ok, error, value, get_ok, + get_ok$0, get_error, + error_to_failure, bind, join, map, + product, map_error, fold, + retract, iter, iter_error, is_ok, @@ -2823,39 +3369,43 @@ compare, to_option, to_list, - to_seq]; + to_seq, + Syntax]; runtime.caml_register_global(4, Stdlib_Result, "Stdlib__Result"); return; } (globalThis)); //# unitInfo: Provides: Stdlib__Bool -//# shape: Stdlib__Bool:[F(1)*,F(2)*,F(2)*,F(1)*,F(1)*,F(1)*,F(2)*,F(1)*] +//# shape: Stdlib__Bool:[F(1)*,F(2)*,F(2)*,F(2)*,F(2)*,F(2)*,F(1)*,F(1)*,F(1)*,F(2)*,F(1)*] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime, caml_hash = runtime.caml_hash; - function equal(_b_, _a_){return _b_ === _a_ ? 1 : 0;} + function equal(_e_, _d_){return _e_ === _d_ ? 1 : 0;} var compare = runtime.caml_int_compare, cst_true = "true", cst_false = "false"; function to_float(param){ - /*<>*/ return param ? 1. : 0. /*<>*/ ; + /*<>*/ return param ? 1. : 0. /*<>*/ ; } function to_string(param){ - /*<>*/ return param ? cst_true : cst_false /*<>*/ ; + /*<>*/ return param ? cst_true : cst_false /*<>*/ ; } function seeded_hash(seed, x){ - /*<>*/ return caml_hash(10, 100, seed, x) /*<>*/ ; + /*<>*/ return caml_hash(10, 100, seed, x) /*<>*/ ; } function hash(x){ - /*<>*/ return caml_hash(10, 100, 0, x) /*<>*/ ; + /*<>*/ return caml_hash(10, 100, 0, x) /*<>*/ ; } var Stdlib_Bool = /*<>*/ [0, - function(_a_){return 1 - _a_;}, + function(_d_){return 1 - _d_;}, + function(_d_, _c_){return _d_ & _c_;}, + function(_c_, _b_){return _c_ | _b_;}, + function(_b_, _a_){return _b_ ^ _a_;}, equal, compare, function(_a_){return _a_;}, @@ -2870,7 +3420,7 @@ //# unitInfo: Provides: Stdlib__Char //# unitInfo: Requires: Stdlib -//# shape: Stdlib__Char:[F(1),F(1),F(1)*,F(1)*,F(2)*,F(2)*,F(2)*,F(1)*] +//# shape: Stdlib__Char:[F(1),F(1),F(2)*,F(2)*,N,F(1)*,F(1)*,F(2)*,F(1)*] (function (globalThis){ "use strict"; @@ -2948,25 +3498,160 @@ function hash(x){ /*<>*/ return caml_hash(10, 100, 0, x) /*<>*/ ; } + var + cst_not_a_decimal_digit = /*<>*/ ": not a decimal digit", + cst_not_a_hexadecimal_digit = ": not a hexadecimal digit"; + function is_valid(param){ + /*<>*/ return 128 <= param ? 0 : 1 /*<>*/ ; + } + function is_upper(param){ + /*<>*/ return 25 < param - 65 >>> 0 ? 0 : 1 /*<>*/ ; + } + function is_lower(param){ + /*<>*/ return 25 < param - 97 >>> 0 ? 0 : 1 /*<>*/ ; + } + function is_letter(param){ + a: + { + /*<>*/ if(91 <= param){ + if(25 < param - 97 >>> 0) break a; + } + else if(65 > param) break a; + /*<>*/ return 1; + } + /*<>*/ return 0; + /*<>*/ } + function is_alphanum(param){ + var _c_ = /*<>*/ param - 48 | 0; + a: + { + if(42 < _c_ >>> 0){ + if(25 < _c_ - 49 >>> 0) break a; + } + else if(6 >= _c_ - 10 >>> 0) break a; + /*<>*/ return 1; + } + /*<>*/ return 0; + /*<>*/ } + function is_white(param){ + a: + { + /*<>*/ if(14 <= param){ + if(32 !== param) break a; + } + else if(9 > param) break a; + /*<>*/ return 1; + } + /*<>*/ return 0; + /*<>*/ } + function is_blank(param){ + /*<>*/ if(9 !== param && 32 !== param) + /*<>*/ return 0; + /*<>*/ return 1; + /*<>*/ } + function is_graphic(param){ + /*<>*/ return 93 < param - 33 >>> 0 ? 0 : 1 /*<>*/ ; + } + function is_print(param){ + /*<>*/ return 94 < param - 32 >>> 0 ? 0 : 1 /*<>*/ ; + } + function is_control(param){ + /*<>*/ if(127 !== param && 32 <= param) + /*<>*/ return 0; + /*<>*/ return 1; + /*<>*/ } + function is_digit(param){ + /*<>*/ return 9 < param - 48 >>> 0 ? 0 : 1 /*<>*/ ; + } + function digit_to_int(c){ + /*<>*/ if(9 >= c - 48 >>> 0) + /*<>*/ return c - 48 | 0; + var + _b_ = /*<>*/ escaped(c), + _c_ = + /*<>*/ Stdlib[28].call + (null, _b_, cst_not_a_decimal_digit); + /*<>*/ return Stdlib[1].call(null, _c_); + } + function digit_of_int(n){ + /*<>*/ return 48 + Stdlib[18].call(null, n % 10 | 0) | 0 /*<>*/ ; + /*<>*/ } + function is_hex_digit(param){ + var _b_ = /*<>*/ param - 48 | 0; + a: + { + if(22 < _b_ >>> 0){ + if(5 < _b_ - 49 >>> 0) break a; + } + else if(6 >= _b_ - 10 >>> 0) break a; + /*<>*/ return 1; + } + /*<>*/ return 0; + /*<>*/ } + function hex_digit_to_int(c){ + /*<>*/ if(65 <= c){ + if(97 <= c){ + if(103 > c) /*<>*/ return (10 + c | 0) - 97 | 0; + } + else if(71 > c) /*<>*/ return (10 + c | 0) - 65 | 0; + } + else if(9 >= c - 48 >>> 0) /*<>*/ return c - 48 | 0; + var + _a_ = /*<>*/ escaped(c), + _b_ = + /*<>*/ Stdlib[28].call + (null, _a_, cst_not_a_hexadecimal_digit); + /*<>*/ return Stdlib[1].call(null, _b_); + } + function lower_hex_digit_of_int(n){ + var d = /*<>*/ Stdlib[18].call(null, n % 16 | 0); + /*<>*/ return 10 <= d ? 87 + d | 0 : 48 + d | 0 /*<>*/ ; + } + function upper_hex_digit_of_int(n){ + var d = /*<>*/ Stdlib[18].call(null, n % 16 | 0); + /*<>*/ return 10 <= d ? 55 + d | 0 : 48 + d | 0 /*<>*/ ; + } var Stdlib_Char = /*<>*/ [0, chr, escaped, - lowercase_ascii, - uppercase_ascii, compare, equal, + [0, + 0, + 127, + is_valid, + is_upper, + is_lower, + is_letter, + is_alphanum, + is_white, + is_blank, + is_graphic, + is_print, + is_control, + is_digit, + digit_to_int, + digit_of_int, + is_hex_digit, + hex_digit_to_int, + lower_hex_digit_of_int, + upper_hex_digit_of_int, + uppercase_ascii, + lowercase_ascii], + lowercase_ascii, + uppercase_ascii, seeded_hash, hash]; - runtime.caml_register_global(8, Stdlib_Char, "Stdlib__Char"); + runtime.caml_register_global(10, Stdlib_Char, "Stdlib__Char"); return; } (globalThis)); //# unitInfo: Provides: Stdlib__Uchar //# unitInfo: Requires: Stdlib -//# shape: Stdlib__Uchar:[N,N,N,N,F(1),F(1),F(1)*,F(1),F(1)*,F(1)*,F(1)*,F(1)*,F(1),F(1)*,F(2)*,F(2)*,F(2)*,F(1)*,F(1)*,F(1)*,F(1)*,F(2)*,F(1)*,F(1),F(1)] +//# shape: Stdlib__Uchar:[N,N,N,N,F(1),F(1),F(1)*,F(1),F(1)*,F(1)*,F(1)*,F(1)*,F(1),F(1)*,F(2)*,F(2)*,F(2)*,F(1)*,F(1)*,F(1)*,F(1)*,F(2)*,F(1)*,F(1)*,N,F(1),F(1)] (function (globalThis){ "use strict"; @@ -3039,12 +3724,7 @@ } function unsafe_to_char(_e_){ /*<>*/ return _e_;} function equal(_e_, _d_){return _e_ === _d_ ? 1 : 0;} - var - compare = runtime.caml_int_compare, - _a_ = [0, cst_uchar_ml, 89, 7], - _b_ = [0, cst_uchar_ml, 84, 18], - _c_ = [0, cst_uchar_ml, 95, 7], - _d_ = [0, cst_uchar_ml, 92, 18]; + var compare = runtime.caml_int_compare; function seeded_hash(seed, x){ /*<>*/ return caml_hash(10, 100, seed, x) /*<>*/ ; } @@ -3066,28 +3746,38 @@ function utf_decode_invalid(n){ /*<>*/ return n << 24 | 65533; /*<>*/ } + function utf_8_decode_length_of_byte(param){ + /*<>*/ return 194 <= param + ? 240 <= param ? 245 <= param ? 0 : 4 : 224 <= param ? 3 : 2 + : 128 <= param ? 0 : 1 /*<>*/ ; + } + var + _a_ = /*<>*/ [0, cst_uchar_ml, 99, 7], + _b_ = [0, cst_uchar_ml, 94, 18], + _c_ = [0, cst_uchar_ml, 105, 7], + _d_ = [0, cst_uchar_ml, 102, 18]; function utf_8_byte_length(u){ - /*<>*/ if(0 > u) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ if(0 > u) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Assert_failure, _b_], 1); - /*<>*/ if(127 >= u) /*<>*/ return 1; - /*<>*/ if(2047 >= u) /*<>*/ return 2; - /*<>*/ if(65535 >= u) /*<>*/ return 3; - /*<>*/ if(1114111 < u) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ if(127 >= u) /*<>*/ return 1; + /*<>*/ if(2047 >= u) /*<>*/ return 2; + /*<>*/ if(65535 >= u) /*<>*/ return 3; + /*<>*/ if(1114111 < u) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Assert_failure, _a_], 1); - /*<>*/ return 4; - /*<>*/ } + /*<>*/ return 4; + /*<>*/ } function utf_16_byte_length(u){ - /*<>*/ if(0 > u) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ if(0 > u) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Assert_failure, _d_], 1); - /*<>*/ if(65535 >= u) /*<>*/ return 2; - /*<>*/ if(1114111 < u) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ if(65535 >= u) /*<>*/ return 2; + /*<>*/ if(1114111 < u) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Assert_failure, _c_], 1); - /*<>*/ return 4; - /*<>*/ } + /*<>*/ return 4; + /*<>*/ } var Stdlib_Uchar = /*<>*/ [0, @@ -3114,6 +3804,8 @@ utf_decode_length, utf_decode, utf_decode_invalid, + utf_8_decode_length_of_byte, + 4, utf_8_byte_length, utf_16_byte_length]; runtime.caml_register_global(13, Stdlib_Uchar, "Stdlib__Uchar"); @@ -3123,7 +3815,7 @@ //# unitInfo: Provides: Stdlib__List //# unitInfo: Requires: Stdlib -//# shape: Stdlib__List:[F(1),F(2),F(2),F(1)*,F(2)*,F(1),F(1),F(2),F(2),F(1),F(2),F(2),F(2),F(1),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(3),F(4),F(4),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*->F(1),F(2),F(1)*->F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(3),F(1)*->F(1)*,F(1)] +//# shape: Stdlib__List:[F(1),F(2),F(2),F(1)*,F(2)*,F(1)*,F(1),F(1),F(2),F(2),F(1),F(2),F(2),F(2),F(1),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(3),F(4),F(4),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*->F(1),F(2),F(1)*->F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(3),F(1)*->F(1)*,F(1)] (function (globalThis){ "use strict"; @@ -3170,46 +3862,49 @@ function cons(a, l){ /*<>*/ return [0, a, l]; /*<>*/ } + function singleton(a){ + /*<>*/ return [0, a, 0]; + /*<>*/ } function hd(param){ - /*<>*/ if(! param) - /*<>*/ return Stdlib[2].call(null, cst_hd) /*<>*/ ; - var a = /*<>*/ param[1]; - /*<>*/ return a; - /*<>*/ } + /*<>*/ if(! param) + /*<>*/ return Stdlib[2].call(null, cst_hd) /*<>*/ ; + var a = /*<>*/ param[1]; + /*<>*/ return a; + /*<>*/ } function tl(param){ - /*<>*/ if(! param) - /*<>*/ return Stdlib[2].call(null, cst_tl) /*<>*/ ; - var l = /*<>*/ param[2]; - /*<>*/ return l; - /*<>*/ } + /*<>*/ if(! param) + /*<>*/ return Stdlib[2].call(null, cst_tl) /*<>*/ ; + var l = /*<>*/ param[2]; + /*<>*/ return l; + /*<>*/ } function nth(l, n){ - /*<>*/ if(0 > n) - /*<>*/ return Stdlib[1].call(null, cst_List_nth) /*<>*/ ; - var l$0 = /*<>*/ l, n$0 = n; + /*<>*/ if(0 > n) + /*<>*/ return Stdlib[1].call(null, cst_List_nth) /*<>*/ ; + var l$0 = /*<>*/ l, n$0 = n; for(;;){ - /*<>*/ if(! l$0) - /*<>*/ return Stdlib[2].call(null, cst_nth) /*<>*/ ; - var l$1 = /*<>*/ l$0[2], a = l$0[1]; - /*<>*/ if(0 === n$0) /*<>*/ return a; - var n$1 = /*<>*/ n$0 - 1 | 0; + /*<>*/ if(! l$0) + /*<>*/ return Stdlib[2].call(null, cst_nth) /*<>*/ ; + var l$1 = /*<>*/ l$0[2], a = l$0[1]; + /*<>*/ if(0 === n$0) /*<>*/ return a; + var n$1 = /*<>*/ n$0 - 1 | 0; l$0 = l$1; n$0 = n$1; } - /*<>*/ } + /*<>*/ } function nth_opt(l, n){ - /*<>*/ if(0 > n) - /*<>*/ return Stdlib[1].call(null, cst_List_nth$0) /*<>*/ ; - var l$0 = /*<>*/ l, n$0 = n; + /*<>*/ if(0 > n) + /*<>*/ return Stdlib[1].call(null, cst_List_nth$0) /*<>*/ ; + var l$0 = /*<>*/ l, n$0 = n; for(;;){ - /*<>*/ if(! l$0) /*<>*/ return 0; - var l$1 = /*<>*/ l$0[2], a = l$0[1]; - /*<>*/ if(0 === n$0) - /*<>*/ return [0, a]; - var n$1 = /*<>*/ n$0 - 1 | 0; + /*<>*/ if(! l$0) /*<>*/ return 0; + var l$1 = /*<>*/ l$0[2], a = l$0[1]; + /*<>*/ if(0 === n$0) + /*<>*/ return [0, a]; + var n$1 = /*<>*/ n$0 - 1 | 0; l$0 = l$1; n$0 = n$1; } - /*<>*/ } + /*<>*/ } var append = /*<>*/ Stdlib[37], cst_List_init = "List.init", @@ -3221,48 +3916,46 @@ cst_List_fold_right2 = "List.fold_right2", cst_List_for_all2 = "List.for_all2", cst_List_exists2 = "List.exists2", - cst_List_take = "List.take", - cst_List_drop = "List.drop", _a_ = [0, 0, 0], cst_List_combine = "List.combine"; function rev_append(l1$1, l2$1){ - var l1 = /*<>*/ l1$1, l2 = l2$1; + var l1 = /*<>*/ l1$1, l2 = l2$1; for(;;){ - if(! l1) /*<>*/ return l2; + if(! l1) /*<>*/ return l2; var - l1$0 = /*<>*/ l1[2], + l1$0 = /*<>*/ l1[2], a = l1[1], - l2$0 = /*<>*/ [0, a, l2]; + l2$0 = /*<>*/ [0, a, l2]; l1 = l1$0; l2 = l2$0; } - /*<>*/ } + /*<>*/ } function rev(l){ - /*<>*/ return rev_append(l, 0) /*<>*/ ; + /*<>*/ return rev_append(l, 0) /*<>*/ ; } function init(len, f){ - /*<>*/ if(0 > len) - /*<>*/ return Stdlib[1].call(null, cst_List_init) /*<>*/ ; - var last = /*<>*/ len - 1 | 0, i$1 = 0; - /*<>*/ if(last < 0) /*<>*/ return 0; - /*<>*/ if(0 === last) - /*<>*/ return [0, caml_call1(f, i$1), 0] /*<>*/ ; - var - r1 = /*<>*/ caml_call1(f, i$1), - r2 = /*<>*/ caml_call1(f, 1), - block = /*<>*/ [0, r2, 24029], - dst = /*<>*/ block, + /*<>*/ if(0 > len) + /*<>*/ return Stdlib[1].call(null, cst_List_init) /*<>*/ ; + var last = /*<>*/ len - 1 | 0, i$1 = 0; + /*<>*/ if(last < 0) /*<>*/ return 0; + /*<>*/ if(0 === last) + /*<>*/ return [0, caml_call1(f, i$1), 0] /*<>*/ ; + var + r1 = /*<>*/ caml_call1(f, i$1), + r2 = /*<>*/ caml_call1(f, 1), + block = /*<>*/ [0, r2, 24029], + dst = /*<>*/ block, offset = 1, i = 2; for(;;){ - /*<>*/ if(last < i) - /*<>*/ dst[offset + 1] = 0; + /*<>*/ if(last < i) + /*<>*/ dst[offset + 1] = 0; else{ - /*<>*/ if(i !== last){ + /*<>*/ if(i !== last){ var - r1$0 = /*<>*/ caml_call1(f, i), - r2$0 = /*<>*/ caml_call1(f, i + 1 | 0), - dst$0 = /*<>*/ [0, r2$0, 24029]; + r1$0 = /*<>*/ caml_call1(f, i), + r2$0 = /*<>*/ caml_call1(f, i + 1 | 0), + dst$0 = /*<>*/ [0, r2$0, 24029]; dst[offset + 1] = [0, r1$0, dst$0]; var i$0 = i + 2 | 0; dst = dst$0; @@ -3270,87 +3963,87 @@ i = i$0; continue; } - /*<>*/ dst[offset + 1] = [0, caml_call1(f, i), 0]; + /*<>*/ dst[offset + 1] = [0, caml_call1(f, i), 0]; } - /*<>*/ return [0, r1, block]; + /*<>*/ return [0, r1, block]; } - /*<>*/ } + /*<>*/ } function flatten(param){ - /*<>*/ if(! param) /*<>*/ return 0; + /*<>*/ if(! param) /*<>*/ return 0; var - r = /*<>*/ param[2], + r = /*<>*/ param[2], l = param[1], - _f_ = /*<>*/ flatten(r); - /*<>*/ return Stdlib[37].call(null, l, _f_); + _f_ = /*<>*/ flatten(r); + /*<>*/ return Stdlib[37].call(null, l, _f_); } function map(f, param){ - /*<>*/ if(! param) /*<>*/ return 0; - var match = /*<>*/ param[2], a1 = param[1]; + /*<>*/ if(! param) /*<>*/ return 0; + var match = /*<>*/ param[2], a1 = param[1]; if(! match){ - var r1$0 = /*<>*/ caml_call1(f, a1); - /*<>*/ return [0, r1$0, 0]; + var r1$0 = /*<>*/ caml_call1(f, a1); + /*<>*/ return [0, r1$0, 0]; } var - l = /*<>*/ match[2], + l = /*<>*/ match[2], a2 = match[1], - r1 = /*<>*/ caml_call1(f, a1), - r2 = /*<>*/ caml_call1(f, a2), - block = /*<>*/ [0, r2, 24029], - dst = /*<>*/ block, + r1 = /*<>*/ caml_call1(f, a1), + r2 = /*<>*/ caml_call1(f, a2), + block = /*<>*/ [0, r2, 24029], + dst = /*<>*/ block, offset = 1, param$0 = l; for(;;){ - /*<>*/ if(param$0){ + /*<>*/ if(param$0){ var match$0 = param$0[2], a1$0 = param$0[1]; if(match$0){ var l$0 = match$0[2], a2$0 = match$0[1], - r1$1 = /*<>*/ caml_call1(f, a1$0), - r2$0 = /*<>*/ caml_call1(f, a2$0), - dst$0 = /*<>*/ [0, r2$0, 24029]; + r1$1 = /*<>*/ caml_call1(f, a1$0), + r2$0 = /*<>*/ caml_call1(f, a2$0), + dst$0 = /*<>*/ [0, r2$0, 24029]; dst[offset + 1] = [0, r1$1, dst$0]; dst = dst$0; offset = 1; param$0 = l$0; continue; } - var r1$2 = /*<>*/ caml_call1(f, a1$0); - /*<>*/ dst[offset + 1] = [0, r1$2, 0]; + var r1$2 = /*<>*/ caml_call1(f, a1$0); + /*<>*/ dst[offset + 1] = [0, r1$2, 0]; } else - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return [0, r1, block]; + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return [0, r1, block]; } } function mapi(f, l$1){ - var i$1 = /*<>*/ 0; - /*<>*/ if(! l$1) /*<>*/ return 0; - var match = /*<>*/ l$1[2], a1 = l$1[1]; + var i$1 = /*<>*/ 0; + /*<>*/ if(! l$1) /*<>*/ return 0; + var match = /*<>*/ l$1[2], a1 = l$1[1]; if(! match){ - var r1$0 = /*<>*/ caml_call2(f, i$1, a1); - /*<>*/ return [0, r1$0, 0]; + var r1$0 = /*<>*/ caml_call2(f, i$1, a1); + /*<>*/ return [0, r1$0, 0]; } var - l = /*<>*/ match[2], + l = /*<>*/ match[2], a2 = match[1], - r1 = /*<>*/ caml_call2(f, i$1, a1), - r2 = /*<>*/ caml_call2(f, 1, a2), - block = /*<>*/ [0, r2, 24029], - dst = /*<>*/ block, + r1 = /*<>*/ caml_call2(f, i$1, a1), + r2 = /*<>*/ caml_call2(f, 1, a2), + block = /*<>*/ [0, r2, 24029], + dst = /*<>*/ block, offset = 1, i = 2, param = l; for(;;){ - /*<>*/ if(param){ + /*<>*/ if(param){ var match$0 = param[2], a1$0 = param[1]; if(match$0){ var l$0 = match$0[2], a2$0 = match$0[1], - r1$1 = /*<>*/ caml_call2(f, i, a1$0), - r2$0 = /*<>*/ caml_call2(f, i + 1 | 0, a2$0), - dst$0 = /*<>*/ [0, r2$0, 24029]; + r1$1 = /*<>*/ caml_call2(f, i, a1$0), + r2$0 = /*<>*/ caml_call2(f, i + 1 | 0, a2$0), + dst$0 = /*<>*/ [0, r2$0, 24029]; dst[offset + 1] = [0, r1$1, dst$0]; var i$0 = i + 2 | 0; dst = dst$0; @@ -3359,66 +4052,66 @@ param = l$0; continue; } - var r1$2 = /*<>*/ caml_call2(f, i, a1$0); - /*<>*/ dst[offset + 1] = [0, r1$2, 0]; + var r1$2 = /*<>*/ caml_call2(f, i, a1$0); + /*<>*/ dst[offset + 1] = [0, r1$2, 0]; } else - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return [0, r1, block]; + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return [0, r1, block]; } - /*<>*/ } + /*<>*/ } function rev_map(f, l){ - var accu = /*<>*/ 0, param = l; + var accu = /*<>*/ 0, param = l; for(;;){ - /*<>*/ if(! param) /*<>*/ return accu; + /*<>*/ if(! param) /*<>*/ return accu; var - l$0 = /*<>*/ param[2], + l$0 = /*<>*/ param[2], a = param[1], - accu$0 = /*<>*/ [0, caml_call1(f, a), accu]; - /*<>*/ accu = accu$0; + accu$0 = /*<>*/ [0, caml_call1(f, a), accu]; + /*<>*/ accu = accu$0; param = l$0; } - /*<>*/ } + /*<>*/ } function iter(f, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], a = param[1]; - /*<>*/ caml_call1(f, a); - /*<>*/ param = l; + if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], a = param[1]; + /*<>*/ caml_call1(f, a); + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function iteri(f, l$0){ - var i = /*<>*/ 0, param = l$0; + var i = /*<>*/ 0, param = l$0; for(;;){ - /*<>*/ if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], a = param[1]; - /*<>*/ caml_call2(f, i, a); - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], a = param[1]; + /*<>*/ caml_call2(f, i, a); + var i$0 = /*<>*/ i + 1 | 0; i = i$0; param = l; } - /*<>*/ } + /*<>*/ } function fold_left(f, accu$1, l$1){ - var accu = /*<>*/ accu$1, l = l$1; + var accu = /*<>*/ accu$1, l = l$1; for(;;){ - if(! l) /*<>*/ return accu; + if(! l) /*<>*/ return accu; var - l$0 = /*<>*/ l[2], + l$0 = /*<>*/ l[2], a = l[1], - accu$0 = /*<>*/ caml_call2(f, accu, a); - /*<>*/ accu = accu$0; + accu$0 = /*<>*/ caml_call2(f, accu, a); + /*<>*/ accu = accu$0; l = l$0; } - /*<>*/ } + /*<>*/ } function fold_right(f, l, accu){ - /*<>*/ if(! l) /*<>*/ return accu; - var l$0 = /*<>*/ l[2], a = l[1]; - /*<>*/ return /*<>*/ caml_call2 - (f, a, /*<>*/ fold_right(f, l$0, accu)) /*<>*/ ; + /*<>*/ if(! l) /*<>*/ return accu; + var l$0 = /*<>*/ l[2], a = l[1]; + /*<>*/ return /*<>*/ caml_call2 + (f, a, /*<>*/ fold_right(f, l$0, accu)) /*<>*/ ; } function map2(f, l1, l2){ - /*<>*/ if(l1){ + /*<>*/ if(l1){ var _e_ = l1[2], a1 = l1[1]; if(_e_){ if(l2){ @@ -3430,17 +4123,17 @@ b1 = l2[1], l1$0 = _e_[2], a2 = _e_[1], - r1 = /*<>*/ caml_call2(f, a1, b1), - r2 = /*<>*/ caml_call2(f, a2, b2), - block = /*<>*/ [0, r2, 24029], - dst = /*<>*/ block, + r1 = /*<>*/ caml_call2(f, a1, b1), + r2 = /*<>*/ caml_call2(f, a2, b2), + block = /*<>*/ [0, r2, 24029], + dst = /*<>*/ block, offset = 1, l1$1 = l1$0, l2$1 = l2$0; for(;;){ a: { - /*<>*/ if(l1$1){ + /*<>*/ if(l1$1){ var _f_ = l1$1[2], a1$0 = l1$1[1]; if(_f_){ if(l2$1){ @@ -3452,9 +4145,9 @@ b1$1 = l2$1[1], l1$2 = _f_[2], a2$0 = _f_[1], - r1$1 = /*<>*/ caml_call2(f, a1$0, b1$1), - r2$0 = /*<>*/ caml_call2(f, a2$0, b2$0), - dst$0 = /*<>*/ [0, r2$0, 24029]; + r1$1 = /*<>*/ caml_call2(f, a1$0, b1$1), + r2$0 = /*<>*/ caml_call2(f, a2$0, b2$0), + dst$0 = /*<>*/ [0, r2$0, 24029]; dst[offset + 1] = [0, r1$1, dst$0]; dst = dst$0; offset = 1; @@ -3466,73 +4159,73 @@ } else if(l2$1 && ! l2$1[2]){ var - b1$2 = /*<>*/ l2$1[1], - r1$2 = /*<>*/ caml_call2(f, a1$0, b1$2); - /*<>*/ dst[offset + 1] = [0, r1$2, 0]; + b1$2 = /*<>*/ l2$1[1], + r1$2 = /*<>*/ caml_call2(f, a1$0, b1$2); + /*<>*/ dst[offset + 1] = [0, r1$2, 0]; break a; } } else if(! l2$1){ - /*<>*/ dst[offset + 1] = 0; + /*<>*/ dst[offset + 1] = 0; break a; } - /*<>*/ dst[offset + 1] = + /*<>*/ dst[offset + 1] = Stdlib[1].call(null, cst_List_map2$0); } - /*<>*/ return [0, r1, block]; + /*<>*/ return [0, r1, block]; } } } } else if(l2 && ! l2[2]){ var - b1$0 = /*<>*/ l2[1], - r1$0 = /*<>*/ caml_call2(f, a1, b1$0); - /*<>*/ return [0, r1$0, 0]; + b1$0 = /*<>*/ l2[1], + r1$0 = /*<>*/ caml_call2(f, a1, b1$0); + /*<>*/ return [0, r1$0, 0]; } } - else if(! l2) /*<>*/ return 0; - /*<>*/ return Stdlib[1].call(null, cst_List_map2) /*<>*/ ; + else if(! l2) /*<>*/ return 0; + /*<>*/ return Stdlib[1].call(null, cst_List_map2) /*<>*/ ; } function rev_map2(f, l1, l2){ - var accu = /*<>*/ 0, l1$0 = l1, l2$0 = l2; + var accu = /*<>*/ 0, l1$0 = l1, l2$0 = l2; for(;;){ - /*<>*/ if(l1$0){ + /*<>*/ if(l1$0){ if(l2$0){ var l2$1 = l2$0[2], a2 = l2$0[1], l1$1 = l1$0[2], a1 = l1$0[1], - accu$0 = /*<>*/ [0, caml_call2(f, a1, a2), accu]; - /*<>*/ accu = accu$0; + accu$0 = /*<>*/ [0, caml_call2(f, a1, a2), accu]; + /*<>*/ accu = accu$0; l1$0 = l1$1; l2$0 = l2$1; continue; } } - else if(! l2$0) /*<>*/ return accu; - /*<>*/ return Stdlib[1].call(null, cst_List_rev_map2) /*<>*/ ; + else if(! l2$0) /*<>*/ return accu; + /*<>*/ return Stdlib[1].call(null, cst_List_rev_map2) /*<>*/ ; } } function iter2(f, l1$1, l2$1){ - var l1 = /*<>*/ l1$1, l2 = l2$1; + var l1 = /*<>*/ l1$1, l2 = l2$1; for(;;){ if(l1){ if(l2){ var l2$0 = l2[2], a2 = l2[1], l1$0 = l1[2], a1 = l1[1]; - /*<>*/ caml_call2(f, a1, a2); - /*<>*/ l1 = l1$0; + /*<>*/ caml_call2(f, a1, a2); + /*<>*/ l1 = l1$0; l2 = l2$0; continue; } } - else if(! l2) /*<>*/ return 0; - /*<>*/ return Stdlib[1].call(null, cst_List_iter2) /*<>*/ ; + else if(! l2) /*<>*/ return 0; + /*<>*/ return Stdlib[1].call(null, cst_List_iter2) /*<>*/ ; } } function fold_left2(f, accu$1, l1$1, l2$1){ - var accu = /*<>*/ accu$1, l1 = l1$1, l2 = l2$1; + var accu = /*<>*/ accu$1, l1 = l1$1, l2 = l2$1; for(;;){ if(l1){ if(l2){ @@ -3541,57 +4234,57 @@ a2 = l2[1], l1$0 = l1[2], a1 = l1[1], - accu$0 = /*<>*/ caml_call3(f, accu, a1, a2); - /*<>*/ accu = accu$0; + accu$0 = /*<>*/ caml_call3(f, accu, a1, a2); + /*<>*/ accu = accu$0; l1 = l1$0; l2 = l2$0; continue; } } - else if(! l2) /*<>*/ return accu; - /*<>*/ return Stdlib[1].call(null, cst_List_fold_left2) /*<>*/ ; + else if(! l2) /*<>*/ return accu; + /*<>*/ return Stdlib[1].call(null, cst_List_fold_left2) /*<>*/ ; } } function fold_right2(f, l1, l2, accu){ - /*<>*/ if(l1){ + /*<>*/ if(l1){ if(l2){ var l2$0 = l2[2], a2 = l2[1], l1$0 = l1[2], a1 = l1[1]; - /*<>*/ return /*<>*/ caml_call3 + /*<>*/ return /*<>*/ caml_call3 (f, a1, a2, - /*<>*/ fold_right2(f, l1$0, l2$0, accu)) /*<>*/ ; + /*<>*/ fold_right2(f, l1$0, l2$0, accu)) /*<>*/ ; } } - else if(! l2) /*<>*/ return accu; - /*<>*/ return Stdlib[1].call(null, cst_List_fold_right2) /*<>*/ ; + else if(! l2) /*<>*/ return accu; + /*<>*/ return Stdlib[1].call(null, cst_List_fold_right2) /*<>*/ ; } function for_all(p, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 1; + if(! param) /*<>*/ return 1; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], a = param[1], - _e_ = /*<>*/ caml_call1(p, a); - /*<>*/ if(! _e_) return _e_; + _e_ = /*<>*/ caml_call1(p, a); + /*<>*/ if(! _e_) return _e_; param = l; } - /*<>*/ } + /*<>*/ } function exists(p, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], a = param[1], - _e_ = /*<>*/ caml_call1(p, a); - /*<>*/ if(_e_) return _e_; + _e_ = /*<>*/ caml_call1(p, a); + /*<>*/ if(_e_) return _e_; param = l; } - /*<>*/ } + /*<>*/ } function for_all2(p, l1$1, l2$1){ - var l1 = /*<>*/ l1$1, l2 = l2$1; + var l1 = /*<>*/ l1$1, l2 = l2$1; for(;;){ if(l1){ if(l2){ @@ -3600,19 +4293,19 @@ a2 = l2[1], l1$0 = l1[2], a1 = l1[1], - _e_ = /*<>*/ caml_call2(p, a1, a2); - /*<>*/ if(! _e_) return _e_; + _e_ = /*<>*/ caml_call2(p, a1, a2); + /*<>*/ if(! _e_) return _e_; l1 = l1$0; l2 = l2$0; continue; } } - else if(! l2) /*<>*/ return 1; - /*<>*/ return Stdlib[1].call(null, cst_List_for_all2) /*<>*/ ; + else if(! l2) /*<>*/ return 1; + /*<>*/ return Stdlib[1].call(null, cst_List_for_all2) /*<>*/ ; } } function exists2(p, l1$1, l2$1){ - var l1 = /*<>*/ l1$1, l2 = l2$1; + var l1 = /*<>*/ l1$1, l2 = l2$1; for(;;){ if(l1){ if(l2){ @@ -3621,372 +4314,371 @@ a2 = l2[1], l1$0 = l1[2], a1 = l1[1], - _e_ = /*<>*/ caml_call2(p, a1, a2); - /*<>*/ if(_e_) return _e_; + _e_ = /*<>*/ caml_call2(p, a1, a2); + /*<>*/ if(_e_) return _e_; l1 = l1$0; l2 = l2$0; continue; } } - else if(! l2) /*<>*/ return 0; - /*<>*/ return Stdlib[1].call(null, cst_List_exists2) /*<>*/ ; + else if(! l2) /*<>*/ return 0; + /*<>*/ return Stdlib[1].call(null, cst_List_exists2) /*<>*/ ; } } function mem(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], a = param[1], - _e_ = /*<>*/ 0 === caml_compare(a, x) ? 1 : 0; - /*<>*/ if(_e_) return _e_; + _e_ = /*<>*/ 0 === caml_compare(a, x) ? 1 : 0; + /*<>*/ if(_e_) return _e_; param = l; } - /*<>*/ } + /*<>*/ } function memq(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], a = param[1], - _e_ = /*<>*/ a === x ? 1 : 0; + _e_ = /*<>*/ a === x ? 1 : 0; if(_e_) return _e_; param = l; } - /*<>*/ } + /*<>*/ } function assoc(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ if(! param) - /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); + /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); var - l = /*<>*/ param[2], + l = /*<>*/ param[2], match = param[1], b = match[2], a = match[1]; - /*<>*/ if(0 === caml_compare(a, x)) - /*<>*/ return b; - /*<>*/ param = l; + /*<>*/ if(0 === caml_compare(a, x)) + /*<>*/ return b; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function assoc_opt(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], match = param[1], b = match[2], a = match[1]; - /*<>*/ if(0 === caml_compare(a, x)) - /*<>*/ return [0, b]; - /*<>*/ param = l; + /*<>*/ if(0 === caml_compare(a, x)) + /*<>*/ return [0, b]; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function assq(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ if(! param) - /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); + /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); var - l = /*<>*/ param[2], + l = /*<>*/ param[2], match = param[1], b = match[2], a = match[1]; - /*<>*/ if(a === x) /*<>*/ return b; - /*<>*/ param = l; + /*<>*/ if(a === x) /*<>*/ return b; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function assq_opt(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], match = param[1], b = match[2], a = match[1]; - /*<>*/ if(a === x) - /*<>*/ return [0, b]; - /*<>*/ param = l; + /*<>*/ if(a === x) + /*<>*/ return [0, b]; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function mem_assoc(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], a = param[1][1], - _e_ = /*<>*/ 0 === caml_compare(a, x) ? 1 : 0; - /*<>*/ if(_e_) return _e_; + _e_ = /*<>*/ 0 === caml_compare(a, x) ? 1 : 0; + /*<>*/ if(_e_) return _e_; param = l; } - /*<>*/ } + /*<>*/ } function mem_assq(x, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], a = param[1][1], - _e_ = /*<>*/ a === x ? 1 : 0; + _e_ = /*<>*/ a === x ? 1 : 0; if(_e_) return _e_; param = l; } - /*<>*/ } + /*<>*/ } function remove_assoc(x, param){ - /*<>*/ if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], pair = param[1], a = pair[1]; - /*<>*/ return 0 === caml_compare(a, x) + /*<>*/ if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], pair = param[1], a = pair[1]; + /*<>*/ return 0 === caml_compare(a, x) ? l - : [0, pair, /*<>*/ remove_assoc(x, l)] /*<>*/ ; + : [0, pair, /*<>*/ remove_assoc(x, l)] /*<>*/ ; } function remove_assq(x, param){ - /*<>*/ if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], pair = param[1], a = pair[1]; - /*<>*/ return a === x + /*<>*/ if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], pair = param[1], a = pair[1]; + /*<>*/ return a === x ? l - : [0, pair, /*<>*/ remove_assq(x, l)] /*<>*/ ; + : [0, pair, /*<>*/ remove_assq(x, l)] /*<>*/ ; } function find(p, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ if(! param) - /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); - var l = /*<>*/ param[2], x = param[1]; - /*<>*/ if(caml_call1(p, x)) - /*<>*/ return x; - /*<>*/ param = l; + /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); + var l = /*<>*/ param[2], x = param[1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return x; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function find_opt(p, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], x = param[1]; - /*<>*/ if(caml_call1(p, x)) - /*<>*/ return [0, x]; - /*<>*/ param = l; + if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], x = param[1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return [0, x]; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function find_index(p){ - var i = /*<>*/ 0; + var i = /*<>*/ 0; return function(param$0){ var i$0 = /*<>*/ i, param = param$0; for(;;){ - /*<>*/ if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], a = param[1]; - /*<>*/ if(caml_call1(p, a)) - /*<>*/ return [0, i$0]; - var i$1 = /*<>*/ i$0 + 1 | 0; + /*<>*/ if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], a = param[1]; + /*<>*/ if(caml_call1(p, a)) + /*<>*/ return [0, i$0]; + var i$1 = /*<>*/ i$0 + 1 | 0; i$0 = i$1; param = l; - }} /*<>*/ ; - /*<>*/ } + }} /*<>*/ ; + /*<>*/ } function find_map(f, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], x = param[1], - result = /*<>*/ caml_call1(f, x); - /*<>*/ if(result) /*<>*/ return result; - /*<>*/ param = l; + result = /*<>*/ caml_call1(f, x); + /*<>*/ if(result) /*<>*/ return result; + /*<>*/ param = l; } - /*<>*/ } + /*<>*/ } function find_mapi(f){ - var i = /*<>*/ 0; + var i = /*<>*/ 0; return function(param$0){ var i$0 = /*<>*/ i, param = param$0; for(;;){ - /*<>*/ if(! param) /*<>*/ return 0; + /*<>*/ if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], x = param[1], - result = /*<>*/ caml_call2(f, i$0, x); - /*<>*/ if(result) - /*<>*/ return result; - var i$1 = /*<>*/ i$0 + 1 | 0; + result = /*<>*/ caml_call2(f, i$0, x); + /*<>*/ if(result) + /*<>*/ return result; + var i$1 = /*<>*/ i$0 + 1 | 0; i$0 = i$1; param = l; - }} /*<>*/ ; - /*<>*/ } + }} /*<>*/ ; + /*<>*/ } function find_all(p, param$1){ - var param = /*<>*/ param$1; + var param = /*<>*/ param$1; for(;;){ - if(! param) /*<>*/ return 0; - var l = /*<>*/ param[2], x = param[1]; - /*<>*/ if(caml_call1(p, x)) break; - /*<>*/ param = l; + if(! param) /*<>*/ return 0; + var l = /*<>*/ param[2], x = param[1]; + /*<>*/ if(caml_call1(p, x)) break; + /*<>*/ param = l; } var - block = /*<>*/ [0, x, 24029], - dst = /*<>*/ block, + block = /*<>*/ [0, x, 24029], + dst = /*<>*/ block, offset = 1, param$0 = l; for(;;){ - /*<>*/ if(! param$0){ - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return block; + /*<>*/ if(! param$0){ + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return block; } - var l$0 = /*<>*/ param$0[2], x$0 = param$0[1]; - /*<>*/ if(caml_call1(p, x$0)){ - var dst$0 = /*<>*/ [0, x$0, 24029]; + var l$0 = /*<>*/ param$0[2], x$0 = param$0[1]; + /*<>*/ if(caml_call1(p, x$0)){ + var dst$0 = /*<>*/ [0, x$0, 24029]; dst[offset + 1] = dst$0; dst = dst$0; offset = 1; param$0 = l$0; } else - /*<>*/ param$0 = l$0; + /*<>*/ param$0 = l$0; } - /*<>*/ } + /*<>*/ } function filteri(p, l$1){ - var i = /*<>*/ 0, param = l$1; + var i = /*<>*/ 0, param = l$1; for(;;){ - /*<>*/ if(! param) /*<>*/ return 0; + /*<>*/ if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], x = param[1], - i$0 = /*<>*/ i + 1 | 0; - /*<>*/ if(caml_call2(p, i, x)) break; - /*<>*/ i = i$0; + i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(caml_call2(p, i, x)) break; + /*<>*/ i = i$0; param = l; } var - block = /*<>*/ [0, x, 24029], - dst = /*<>*/ block, + block = /*<>*/ [0, x, 24029], + dst = /*<>*/ block, offset = 1, i$1 = i$0, param$0 = l; for(;;){ - /*<>*/ if(! param$0){ - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return block; + /*<>*/ if(! param$0){ + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return block; } var - l$0 = /*<>*/ param$0[2], + l$0 = /*<>*/ param$0[2], x$0 = param$0[1], - i$2 = /*<>*/ i$1 + 1 | 0; - /*<>*/ if(caml_call2(p, i$1, x$0)){ - var dst$0 = /*<>*/ [0, x$0, 24029]; + i$2 = /*<>*/ i$1 + 1 | 0; + /*<>*/ if(caml_call2(p, i$1, x$0)){ + var dst$0 = /*<>*/ [0, x$0, 24029]; dst[offset + 1] = dst$0; dst = dst$0; offset = 1; i$1 = i$2; param$0 = l$0; } - else{ /*<>*/ i$1 = i$2; param$0 = l$0;} + else{ /*<>*/ i$1 = i$2; param$0 = l$0;} } - /*<>*/ } + /*<>*/ } function filter_map(f, param$1){ - var param = /*<>*/ param$1; + var param = /*<>*/ param$1; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - l = /*<>*/ param[2], + l = /*<>*/ param[2], x = param[1], - match = /*<>*/ caml_call1(f, x); - /*<>*/ if(match) break; + match = /*<>*/ caml_call1(f, x); + /*<>*/ if(match) break; param = l; } var - v = /*<>*/ match[1], - block = /*<>*/ [0, v, 24029], - dst = /*<>*/ block, + v = /*<>*/ match[1], + block = /*<>*/ [0, v, 24029], + dst = /*<>*/ block, offset = 1, param$0 = l; for(;;){ - /*<>*/ if(! param$0){ - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return block; + /*<>*/ if(! param$0){ + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return block; } var - l$0 = /*<>*/ param$0[2], + l$0 = /*<>*/ param$0[2], x$0 = param$0[1], - match$0 = /*<>*/ caml_call1(f, x$0); - /*<>*/ if(match$0){ - var v$0 = match$0[1], dst$0 = /*<>*/ [0, v$0, 24029]; + match$0 = /*<>*/ caml_call1(f, x$0); + /*<>*/ if(match$0){ + var v$0 = match$0[1], dst$0 = /*<>*/ [0, v$0, 24029]; dst[offset + 1] = dst$0; dst = dst$0; offset = 1; param$0 = l$0; } else - /*<>*/ param$0 = l$0; + /*<>*/ param$0 = l$0; } - /*<>*/ } + /*<>*/ } function concat_map(f, param$0){ - var param = /*<>*/ param$0; + var param = /*<>*/ param$0; for(;;){ - if(! param) /*<>*/ return 0; + if(! param) /*<>*/ return 0; var - xs = /*<>*/ param[2], + xs = /*<>*/ param[2], x = param[1], - ys = /*<>*/ caml_call1(f, x); - /*<>*/ if(ys) break; + ys = /*<>*/ caml_call1(f, x); + /*<>*/ if(ys) break; param = xs; } var - ys$1 = /*<>*/ ys[2], + ys$1 = /*<>*/ ys[2], y = ys[1], - block = /*<>*/ [0, y, 24029], - xs$1 = /*<>*/ xs, + block = /*<>*/ [0, y, 24029], + xs$1 = /*<>*/ xs, ys$4 = ys$1, offset$0 = 1, dst$1 = block; for(;;){ - var dst = /*<>*/ dst$1, offset = offset$0, ys$2 = ys$4; + var dst = /*<>*/ dst$1, offset = offset$0, ys$2 = ys$4; for(;;){ if(! ys$2){ - /*<>*/ if(xs$1){ + /*<>*/ if(xs$1){ var xs$0 = xs$1[2], x$0 = xs$1[1], - ys$0 = /*<>*/ caml_call1(f, x$0); - /*<>*/ xs$1 = xs$0; + ys$0 = /*<>*/ caml_call1(f, x$0); + /*<>*/ xs$1 = xs$0; ys$4 = ys$0; offset$0 = offset; dst$1 = dst; break; } - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return block; + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return block; } var - ys$3 = /*<>*/ ys$2[2], + ys$3 = /*<>*/ ys$2[2], y$0 = ys$2[1], - dst$0 = /*<>*/ [0, y$0, 24029]; + dst$0 = /*<>*/ [0, y$0, 24029]; dst[offset + 1] = dst$0; dst = dst$0; offset = 1; ys$2 = ys$3; } } - /*<>*/ } + /*<>*/ } function take(n, l){ - /*<>*/ if(n < 0) - /*<>*/ Stdlib[1].call(null, cst_List_take); - /*<>*/ if(0 !== n && l){ + /*<>*/ if(0 >= n) /*<>*/ return 0; + /*<>*/ if(0 !== n && l){ var l$0 = l[2], x = l[1], - block = /*<>*/ [0, x, 24029], + block = /*<>*/ [0, x, 24029], n$0 = n - 1 | 0, - dst = /*<>*/ block, + dst = /*<>*/ block, offset = 1, n$1 = n$0, l$1 = l$0; for(;;){ - /*<>*/ if(0 !== n$1 && l$1){ + /*<>*/ if(0 !== n$1 && l$1){ var l$2 = l$1[2], x$0 = l$1[1], - dst$0 = /*<>*/ [0, x$0, 24029]; + dst$0 = /*<>*/ [0, x$0, 24029]; dst[offset + 1] = dst$0; var n$2 = n$1 - 1 | 0; dst = dst$0; @@ -3995,29 +4687,28 @@ l$1 = l$2; continue; } - /*<>*/ dst[offset + 1] = 0; - /*<>*/ return block; + /*<>*/ dst[offset + 1] = 0; + /*<>*/ return block; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function drop(n, rest){ - /*<>*/ if(n < 0) - /*<>*/ Stdlib[1].call(null, cst_List_drop); - var i = /*<>*/ 0, rest$0 = rest; + /*<>*/ if(0 >= n) /*<>*/ return rest; + var i = /*<>*/ 0, rest$0 = rest; for(;;){ - /*<>*/ if(rest$0){ + /*<>*/ if(rest$0){ var rest$1 = rest$0[2]; - /*<>*/ if(i < n){ - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i < n){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; rest$0 = rest$1; continue; } } - /*<>*/ return rest$0; + /*<>*/ return rest$0; } - /*<>*/ } + /*<>*/ } function take_while(p, rest){ /*<>*/ if(rest){ var rest$0 = rest[2], x = rest[1]; @@ -4351,11 +5042,11 @@ c$1 = /*<>*/ caml_call2(cmp, x1$0, x2$0); /*<>*/ if(0 === c$1) var - c$2 = /*<>*/ caml_call2(cmp, x2$0, x3), + c$2 = /*<>*/ caml_call2(cmp, x1$0, x3), s$0 = /*<>*/ 0 === c$2 - ? [0, x2$0, 0] - : 0 <= c$2 ? [0, x3, [0, x2$0, 0]] : [0, x2$0, [0, x3, 0]]; + ? [0, x1$0, 0] + : 0 <= c$2 ? [0, x3, [0, x1$0, 0]] : [0, x1$0, [0, x3, 0]]; else if(0 <= c$1){ var c$3 = /*<>*/ caml_call2(cmp, x1$0, x3); /*<>*/ if(0 === c$3) @@ -4471,11 +5162,11 @@ c$1 = /*<>*/ caml_call2(cmp, x1$0, x2$0); /*<>*/ if(0 === c$1) var - c$2 = /*<>*/ caml_call2(cmp, x2$0, x3), + c$2 = /*<>*/ caml_call2(cmp, x1$0, x3), s$0 = /*<>*/ 0 === c$2 - ? [0, x2$0, 0] - : 0 < c$2 ? [0, x2$0, [0, x3, 0]] : [0, x3, [0, x2$0, 0]]; + ? [0, x1$0, 0] + : 0 < c$2 ? [0, x1$0, [0, x3, 0]] : [0, x3, [0, x1$0, 0]]; else if(0 < c$1){ var c$3 = /*<>*/ caml_call2(cmp, x2$0, x3); /*<>*/ if(0 === c$3) @@ -4685,6 +5376,7 @@ compare_length_with, is_empty, cons, + singleton, hd, tl, nth, @@ -4749,7 +5441,7 @@ merge, to_seq, of_seq]; - runtime.caml_register_global(19, Stdlib_List, "Stdlib__List"); + runtime.caml_register_global(17, Stdlib_List, "Stdlib__List"); return; } (globalThis)); @@ -4803,36 +5495,18 @@ } (globalThis)); -//# unitInfo: Provides: Stdlib__Bytes -//# unitInfo: Requires: Stdlib, Stdlib__Char, Stdlib__Int, Stdlib__Seq, Stdlib__Sys, Stdlib__Uchar -//# shape: Stdlib__Bytes:[F(2),F(2),N,F(1),F(1),F(1),F(3),F(3),F(3),F(4),F(5),F(5),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(1),F(1),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(2),F(3),F(3),F(1),F(1),F(1),F(1),F(2)*,F(2)*,F(2),F(2),F(1),F(1)*,F(2),F(1)*->F(1),F(1)*->F(1),F(1),F(2),F(3),F(1),F(2),F(3),F(1),F(2),F(3),F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(1)] +//# unitInfo: Provides: Stdlib__Array +//# unitInfo: Requires: Stdlib, Stdlib__Seq +//# shape: Stdlib__Array:[F(2),F(3),F(3),F(2)*,F(1)*,F(3),F(1)*,F(4),F(5),F(1),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(1)*->F(1)*,F(1)*->F(1)*,F(1),[]] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime, - cst_bytes_ml = "bytes.ml", - cst_index_out_of_bounds$3 = "index out of bounds", - caml_blit_bytes = runtime.caml_blit_bytes, - caml_bswap16 = runtime.caml_bswap16, - caml_bytes_get = runtime.caml_bytes_get, - caml_bytes_get16 = runtime.caml_bytes_get16, - caml_bytes_get32 = runtime.caml_bytes_get32, - caml_bytes_get64 = runtime.caml_bytes_get64, - caml_bytes_of_string = runtime.caml_bytes_of_string, - caml_bytes_set = runtime.caml_bytes_set, - caml_bytes_set16 = runtime.caml_bytes_set16, - caml_bytes_set32 = runtime.caml_bytes_set32, - caml_bytes_set64 = runtime.caml_bytes_set64, - caml_bytes_unsafe_get = runtime.caml_bytes_unsafe_get, - caml_bytes_unsafe_set = runtime.caml_bytes_unsafe_set, - caml_create_bytes = runtime.caml_create_bytes, - caml_fill_bytes = runtime.caml_fill_bytes, - caml_int32_bswap = runtime.caml_int32_bswap, - caml_int64_bswap = runtime.caml_int64_bswap, + caml_array_make = runtime.caml_array_make, + caml_array_sub = runtime.caml_array_sub, + caml_check_bound = runtime.caml_check_bound, caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, - caml_ml_bytes_length = runtime.caml_ml_bytes_length, - caml_string_of_bytes = runtime.caml_string_of_bytes, caml_wrap_exception = runtime.caml_wrap_exception; function caml_call1(f, a0){ return (f.l >= 0 ? f.l : f.l = f.length) === 1 @@ -4845,1565 +5519,1548 @@ : runtime.caml_call_gen(f, [a0, a1]); } var - dummy = 0, global_data = runtime.caml_get_global_data(), + cst = "]", + Stdlib_Seq = global_data.Stdlib__Seq, Stdlib = global_data.Stdlib, - Stdlib_Uchar = global_data.Stdlib__Uchar, Assert_failure = global_data.Assert_failure, - Stdlib_Sys = global_data.Stdlib__Sys, - Stdlib_Int = global_data.Stdlib__Int, - Stdlib_Seq = global_data.Stdlib__Seq, - Stdlib_Char = global_data.Stdlib__Char; - function make(n, c){ - var s = /*<>*/ caml_create_bytes(n); - /*<>*/ caml_fill_bytes(s, 0, n, c); - /*<>*/ return s; - /*<>*/ } - function init(n, f){ - var - s = /*<>*/ caml_create_bytes(n), - _Q_ = /*<>*/ n - 1 | 0, - _R_ = 0; - if(_Q_ >= 0){ - var i = _R_; - for(;;){ - /*<>*/ /*<>*/ caml_bytes_unsafe_set - (s, i, /*<>*/ caml_call1(f, i)); - var _S_ = /*<>*/ i + 1 | 0; - if(_Q_ === i) break; - i = _S_; + Floatarray = [0], + cst_Array_init = "Array.init", + cst_Array_make_matrix = "Array.make_matrix", + cst_Array_init_matrix = "Array.init_matrix", + cst_Array_sub = "Array.sub", + cst_Array_fill = "Array.fill", + cst_Array_blit = "Array.blit", + cst_Array_iter2_arrays_must_ha = + "Array.iter2: arrays must have the same length", + cst_Array_map2_arrays_must_hav = + "Array.map2: arrays must have the same length", + cst_Array_for_all2 = "Array.for_all2", + cst_Array_exists2 = "Array.exists2", + cst_Array_combine = "Array.combine"; + function init(l, f){ + /*<>*/ if(0 === l) /*<>*/ return [0]; + /*<>*/ if(0 > l) + /*<>*/ return Stdlib[1].call(null, cst_Array_init) /*<>*/ ; + var + res = + /*<>*/ /*<>*/ caml_array_make + (l, /*<>*/ caml_call1(f, 0)), + _ap_ = /*<>*/ l - 1 | 0, + _aq_ = 1; + if(_ap_ >= 1){ + var i = _aq_; + for(;;){ + /*<>*/ res[i + 1] = caml_call1(f, i); + var _ar_ = /*<>*/ i + 1 | 0; + if(_ap_ === i) break; + i = _ar_; } } - /*<>*/ return s; - /*<>*/ } - var - empty = /*<>*/ caml_create_bytes(0), - cst_String_sub_Bytes_sub = - /*<>*/ "String.sub / Bytes.sub", - cst_Bytes_extend = "Bytes.extend", - cst_String_fill_Bytes_fill = "String.fill / Bytes.fill", - cst_Bytes_blit = "Bytes.blit", - cst_String_blit_Bytes_blit_str = "String.blit / Bytes.blit_string", - cst_Bytes_concat = "Bytes.concat", - cst_String_index_from_Bytes_in = "String.index_from / Bytes.index_from", - cst_String_index_from_opt_Byte = - "String.index_from_opt / Bytes.index_from_opt", - cst_String_rindex_from_Bytes_r = "String.rindex_from / Bytes.rindex_from", - cst_String_rindex_from_opt_Byt = - "String.rindex_from_opt / Bytes.rindex_from_opt", - cst_String_contains_from_Bytes = - "String.contains_from / Bytes.contains_from", - cst_String_rcontains_from_Byte = - "String.rcontains_from / Bytes.rcontains_from"; - function copy(s){ - var - len = /*<>*/ caml_ml_bytes_length(s), - r = /*<>*/ caml_create_bytes(len); - /*<>*/ caml_blit_bytes(s, 0, r, 0, len); - /*<>*/ return r; - /*<>*/ } - function to_string(b){ - /*<>*/ return /*<>*/ caml_string_of_bytes - ( /*<>*/ copy(b)) /*<>*/ ; - } - function of_string(s){ - /*<>*/ return copy(caml_bytes_of_string(s)) /*<>*/ ; - } - function sub(s, ofs, len){ - /*<>*/ if - (0 <= ofs && 0 <= len && (caml_ml_bytes_length(s) - len | 0) >= ofs){ - var r = /*<>*/ caml_create_bytes(len); - /*<>*/ caml_blit_bytes(s, ofs, r, 0, len); - /*<>*/ return r; + /*<>*/ return res; + /*<>*/ } + function make_matrix(sx, sy, init){ + /*<>*/ if(sy < 0) + /*<>*/ Stdlib[1].call(null, cst_Array_make_matrix); + var res = /*<>*/ caml_array_make(sx, [0]); + /*<>*/ if(0 < sy){ + var _an_ = /*<>*/ sx - 1 | 0, _ao_ = 0; + if(_an_ >= 0){ + var x = _ao_; + for(;;){ + /*<>*/ res[x + 1] = caml_array_make(sy, init); + var _ap_ = /*<>*/ x + 1 | 0; + if(_an_ === x) break; + x = _ap_; + } + } } - /*<>*/ return Stdlib[1].call - (null, cst_String_sub_Bytes_sub) /*<>*/ ; + /*<>*/ return res; + /*<>*/ } + function init_matrix(sx, sy, f){ + /*<>*/ if(sy < 0) + /*<>*/ Stdlib[1].call(null, cst_Array_init_matrix); + var res = /*<>*/ caml_array_make(sx, [0]); + /*<>*/ if(0 < sy){ + var _ai_ = /*<>*/ sx - 1 | 0, _ak_ = 0; + if(_ai_ >= 0){ + var x = _ak_; + for(;;){ + var + row = + /*<>*/ /*<>*/ caml_array_make + (sy, /*<>*/ caml_call2(f, x, 0)), + _aj_ = /*<>*/ sy - 1 | 0, + _al_ = 1; + if(_aj_ >= 1){ + var y = _al_; + for(;;){ + /*<>*/ row[y + 1] = caml_call2(f, x, y); + var _an_ = /*<>*/ y + 1 | 0; + if(_aj_ === y) break; + y = _an_; + } + } + /*<>*/ res[x + 1] = row; + var _am_ = x + 1 | 0; + if(_ai_ === x) break; + x = _am_; + } + } + } + /*<>*/ return res; + /*<>*/ } + function copy(a){ + var l = /*<>*/ a.length - 1; + /*<>*/ return 0 === l + ? [0] + : /*<>*/ caml_array_sub(a, 0, l) /*<>*/ ; } - function sub_string(b, ofs, len){ - /*<>*/ return /*<>*/ caml_string_of_bytes - ( /*<>*/ sub(b, ofs, len)) /*<>*/ ; + function append(a1, a2){ + var l1 = /*<>*/ a1.length - 1; + /*<>*/ return 0 === l1 + ? /*<>*/ copy(a2) + : 0 + === a2.length - 1 + ? /*<>*/ caml_array_sub(a1, 0, l1) + : /*<>*/ runtime.caml_array_append(a1, a2) /*<>*/ ; } - function symbol(a, b){ - var - c = /*<>*/ a + b | 0, - _Q_ = /*<>*/ b < 0 ? 1 : 0, - match = c < 0 ? 1 : 0; - a: - { - if(a < 0){if(! _Q_ || match) break a;} else if(_Q_ || ! match) break a; - /*<>*/ return Stdlib[1].call(null, cst_Bytes_extend) /*<>*/ ; - } - /*<>*/ return c; - /*<>*/ } - function extend(s, left, right){ - var - len = - /*<>*/ /*<>*/ symbol - (symbol( /*<>*/ caml_ml_bytes_length(s), left), right), - r = /*<>*/ caml_create_bytes(len); - /*<>*/ if(0 <= left) - var dstoff = /*<>*/ left, srcoff = 0; - else - var dstoff = /*<>*/ 0, srcoff = - left | 0; - var - cpylen = - /*<>*/ /*<>*/ Stdlib_Int[10].call - (null, - /*<>*/ caml_ml_bytes_length(s) - srcoff | 0, - len - dstoff | 0); - /*<>*/ if(0 < cpylen) - /*<>*/ caml_blit_bytes(s, srcoff, r, dstoff, cpylen); - /*<>*/ return r; - /*<>*/ } - function fill(s, ofs, len, c){ - /*<>*/ if - (0 <= ofs && 0 <= len && (caml_ml_bytes_length(s) - len | 0) >= ofs) - /*<>*/ return caml_fill_bytes(s, ofs, len, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_fill_Bytes_fill) /*<>*/ ; + function sub(a, ofs, len){ + /*<>*/ if + (0 <= ofs && 0 <= len && (a.length - 1 - len | 0) >= ofs) + /*<>*/ return caml_array_sub(a, ofs, len) /*<>*/ ; + /*<>*/ return Stdlib[1].call(null, cst_Array_sub) /*<>*/ ; } - function blit(s1, ofs1, s2, ofs2, len){ - /*<>*/ if - (0 <= len - && - 0 <= ofs1 - && - (caml_ml_bytes_length(s1) - len | 0) >= ofs1 - && 0 <= ofs2 && (caml_ml_bytes_length(s2) - len | 0) >= ofs2) - /*<>*/ return caml_blit_bytes(s1, ofs1, s2, ofs2, len) /*<>*/ ; - /*<>*/ return Stdlib[1].call(null, cst_Bytes_blit) /*<>*/ ; + function fill(a, ofs, len, v){ + /*<>*/ if + (0 <= ofs && 0 <= len && (a.length - 1 - len | 0) >= ofs) + /*<>*/ return runtime.caml_array_fill(a, ofs, len, v) /*<>*/ ; + /*<>*/ return Stdlib[1].call(null, cst_Array_fill) /*<>*/ ; } - function blit_string(s1, ofs1, s2, ofs2, len){ - /*<>*/ if + function blit(a1, ofs1, a2, ofs2, len){ + /*<>*/ if (0 <= len && 0 <= ofs1 && - (runtime.caml_ml_string_length(s1) - len | 0) >= ofs1 - && 0 <= ofs2 && (caml_ml_bytes_length(s2) - len | 0) >= ofs2) - /*<>*/ return runtime.caml_blit_string - (s1, ofs1, s2, ofs2, len) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_blit_Bytes_blit_str) /*<>*/ ; + (a1.length - 1 - len | 0) >= ofs1 + && 0 <= ofs2 && (a2.length - 1 - len | 0) >= ofs2) + /*<>*/ return runtime.caml_array_blit + (a1, ofs1, a2, ofs2, len) /*<>*/ ; + /*<>*/ return Stdlib[1].call(null, cst_Array_blit) /*<>*/ ; } function iter(f, a){ - var - _O_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0, - _P_ = 0; - if(_O_ >= 0){ - var i = _P_; + var _ag_ = /*<>*/ a.length - 2 | 0, _ah_ = 0; + if(_ag_ >= 0){ + var i = _ah_; for(;;){ - /*<>*/ caml_call1(f, caml_bytes_unsafe_get(a, i)); - var _Q_ = /*<>*/ i + 1 | 0; - if(_O_ === i) break; - i = _Q_; + /*<>*/ caml_call1(f, a[i + 1]); + var _ai_ = /*<>*/ i + 1 | 0; + if(_ag_ === i) break; + i = _ai_; } } - /*<>*/ return 0; - /*<>*/ } - function iteri(f, a){ + /*<>*/ return 0; + /*<>*/ } + function iter2(f, a, b){ + /*<>*/ if(a.length - 1 !== b.length - 1) + /*<>*/ return Stdlib[1].call + (null, cst_Array_iter2_arrays_must_ha) /*<>*/ ; + var _ae_ = /*<>*/ a.length - 2 | 0, _af_ = 0; + if(_ae_ >= 0){ + var i = _af_; + for(;;){ + /*<>*/ caml_call2(f, a[i + 1], b[i + 1]); + var _ag_ = /*<>*/ i + 1 | 0; + if(_ae_ === i) break; + i = _ag_; + } + } + /*<>*/ return 0; + /*<>*/ } + function map(f, a){ + var l = /*<>*/ a.length - 1; + /*<>*/ if(0 === l) /*<>*/ return [0]; var - _M_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0, - _N_ = 0; - if(_M_ >= 0){ - var i = _N_; + r = + /*<>*/ /*<>*/ caml_array_make + (l, /*<>*/ caml_call1(f, a[1])), + _ac_ = /*<>*/ l - 1 | 0, + _ad_ = 1; + if(_ac_ >= 1){ + var i = _ad_; for(;;){ - /*<>*/ caml_call2(f, i, caml_bytes_unsafe_get(a, i)); - var _O_ = /*<>*/ i + 1 | 0; - if(_M_ === i) break; - i = _O_; + /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); + var _ae_ = /*<>*/ i + 1 | 0; + if(_ac_ === i) break; + i = _ae_; } } - /*<>*/ return 0; - /*<>*/ } - function concat(sep, l){ - /*<>*/ if(! l) /*<>*/ return empty; - var seplen = /*<>*/ caml_ml_bytes_length(sep); - a: - { - var acc = /*<>*/ 0, param = l, pos$1 = 0; + /*<>*/ return r; + /*<>*/ } + function map_inplace(f, a){ + var _aa_ = /*<>*/ a.length - 2 | 0, _ab_ = 0; + if(_aa_ >= 0){ + var i = _ab_; for(;;){ - /*<>*/ if(! param){var _M_ = acc; break a;} - var hd = param[1]; - if(! param[2]) break; - var - tl = param[2], - x = - /*<>*/ (caml_ml_bytes_length(hd) + seplen | 0) - + acc - | 0; - /*<>*/ if(acc <= x){ - acc = x; - param = tl; - } - else{ - /*<>*/ acc = Stdlib[1].call(null, cst_Bytes_concat); - param = tl; - } + /*<>*/ a[i + 1] = caml_call1(f, a[i + 1]); + var _ac_ = /*<>*/ i + 1 | 0; + if(_aa_ === i) break; + i = _ac_; + } + } + /*<>*/ return 0; + /*<>*/ } + function mapi_inplace(f, a){ + var ___ = /*<>*/ a.length - 2 | 0, _$_ = 0; + if(___ >= 0){ + var i = _$_; + for(;;){ + /*<>*/ a[i + 1] = caml_call2(f, i, a[i + 1]); + var _aa_ = /*<>*/ i + 1 | 0; + if(___ === i) break; + i = _aa_; } - var _M_ = /*<>*/ caml_ml_bytes_length(hd) + acc | 0; } + /*<>*/ return 0; + /*<>*/ } + function map2(f, a, b){ var - dst = /*<>*/ caml_create_bytes(_M_), - pos = /*<>*/ pos$1, - param$0 = l; - for(;;){ - /*<>*/ if(! param$0) - /*<>*/ return dst; - var hd$0 = /*<>*/ param$0[1]; - if(! param$0[2]){ - /*<>*/ caml_blit_bytes - (hd$0, 0, dst, pos, caml_ml_bytes_length(hd$0)); - /*<>*/ return dst; + la = /*<>*/ a.length - 1, + lb = /*<>*/ b.length - 1; + /*<>*/ if(la !== lb) + /*<>*/ return Stdlib[1].call + (null, cst_Array_map2_arrays_must_hav) /*<>*/ ; + /*<>*/ if(0 === la) /*<>*/ return [0]; + var + r = + /*<>*/ /*<>*/ caml_array_make + (la, /*<>*/ caml_call2(f, a[1], b[1])), + _Y_ = /*<>*/ la - 1 | 0, + _Z_ = 1; + if(_Y_ >= 1){ + var i = _Z_; + for(;;){ + /*<>*/ r[i + 1] = caml_call2(f, a[i + 1], b[i + 1]); + var ___ = /*<>*/ i + 1 | 0; + if(_Y_ === i) break; + i = ___; } - var tl$0 = /*<>*/ param$0[2]; - /*<>*/ caml_blit_bytes - (hd$0, 0, dst, pos, caml_ml_bytes_length(hd$0)); - /*<>*/ /*<>*/ caml_blit_bytes - (sep, - 0, - dst, - pos + /*<>*/ caml_ml_bytes_length(hd$0) | 0, - seplen); - var - pos$0 = - /*<>*/ (pos + caml_ml_bytes_length(hd$0) | 0) - + seplen - | 0; - pos = pos$0; - param$0 = tl$0; } - /*<>*/ } - function cat(s1, s2){ + /*<>*/ return r; + /*<>*/ } + function iteri(f, a){ + var _W_ = /*<>*/ a.length - 2 | 0, _X_ = 0; + if(_W_ >= 0){ + var i = _X_; + for(;;){ + /*<>*/ caml_call2(f, i, a[i + 1]); + var _Y_ = /*<>*/ i + 1 | 0; + if(_W_ === i) break; + i = _Y_; + } + } + /*<>*/ return 0; + /*<>*/ } + function mapi(f, a){ + var l = /*<>*/ a.length - 1; + /*<>*/ if(0 === l) /*<>*/ return [0]; var - l1 = /*<>*/ caml_ml_bytes_length(s1), - l2 = /*<>*/ caml_ml_bytes_length(s2), - r = /*<>*/ caml_create_bytes(l1 + l2 | 0); - /*<>*/ caml_blit_bytes(s1, 0, r, 0, l1); - /*<>*/ caml_blit_bytes(s2, 0, r, l1, l2); - /*<>*/ return r; - /*<>*/ } - function is_space(param){ - var _M_ = /*<>*/ param - 9 | 0; - a: - { - if(4 < _M_ >>> 0){if(23 !== _M_) break a;} else if(2 === _M_) break a; - /*<>*/ return 1; + r = + /*<>*/ /*<>*/ caml_array_make + (l, /*<>*/ caml_call2(f, 0, a[1])), + _U_ = /*<>*/ l - 1 | 0, + _V_ = 1; + if(_U_ >= 1){ + var i = _V_; + for(;;){ + /*<>*/ r[i + 1] = caml_call2(f, i, a[i + 1]); + var _W_ = /*<>*/ i + 1 | 0; + if(_U_ === i) break; + i = _W_; + } } - /*<>*/ return 0; - /*<>*/ } - function trim(s){ + /*<>*/ return r; + /*<>*/ } + function to_list(a){ + var i$1 = /*<>*/ a.length - 2 | 0, i = i$1, res = 0; + for(;;){ + /*<>*/ if(0 > i) /*<>*/ return res; + var res$0 = /*<>*/ [0, a[i + 1], res], i$0 = i - 1 | 0; + i = i$0; + res = res$0; + } + /*<>*/ } + function list_length(accu$1, param$0){ + var accu = /*<>*/ accu$1, param = param$0; + for(;;){ + if(! param) /*<>*/ return accu; + var + t = /*<>*/ param[2], + accu$0 = /*<>*/ accu + 1 | 0; + accu = accu$0; + param = t; + } + /*<>*/ } + function of_list(l){ + /*<>*/ if(! l) /*<>*/ return [0]; var - len = /*<>*/ caml_ml_bytes_length(s), - i = /*<>*/ 0; + tl = /*<>*/ l[2], + hd = l[1], + a = + /*<>*/ /*<>*/ caml_array_make + ( /*<>*/ list_length(0, l), hd), + i = /*<>*/ 1, + param = tl; for(;;){ - if(i >= len) break; - if - (! - /*<>*/ is_space - ( /*<>*/ caml_bytes_unsafe_get(s, i))) - break; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(! param) /*<>*/ return a; + var tl$0 = /*<>*/ param[2], hd$0 = param[1]; + /*<>*/ a[i + 1] = hd$0; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; + param = tl$0; } - var j = /*<>*/ len - 1 | 0; + /*<>*/ } + function equal(eq, a, b){ + /*<>*/ if(a.length - 1 !== b.length - 1) + /*<>*/ return 0; + var + len = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ if - (i <= j - && - /*<>*/ is_space - ( /*<>*/ caml_bytes_unsafe_get(s, j))){ - var j$0 = /*<>*/ j - 1 | 0; - j = j$0; + (i < len && /*<>*/ caml_call2(eq, a[i + 1], b[i + 1])){var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue;} + /*<>*/ return i === len ? 1 : 0; + } + /*<>*/ } + function compare(cmp, a, b){ + var + len_a = /*<>*/ a.length - 1, + len_b = b.length - 1, + diff = /*<>*/ len_a - len_b | 0; + /*<>*/ if(0 !== diff) + /*<>*/ return 0 <= diff ? 1 : -1 /*<>*/ ; + var c = /*<>*/ 0, i = 0; + for(;;){ + if(i < len_a && 0 === c){ + var i$0 = /*<>*/ i + 1 | 0; + c = /*<>*/ caml_call2(cmp, a[i + 1], b[i + 1]); + /*<>*/ i = i$0; continue; } - /*<>*/ return i <= j - ? /*<>*/ sub(s, i, (j - i | 0) + 1 | 0) - : empty /*<>*/ ; + /*<>*/ return c; } - } - function unsafe_escape(s){ - var - _E_ = /*<>*/ 0, - _F_ = /*<>*/ caml_ml_bytes_length(s) - 1 | 0, - _I_ = 0; - if(_F_ < 0) - var n$0 = _E_; + /*<>*/ } + function fold_left(f, x, a){ + var _R_ = /*<>*/ a.length - 2 | 0, _T_ = 0; + if(_R_ < 0) + var r$0 = x; else{ - var n = _E_, i$0 = _I_; + var r = x, i = _T_; for(;;){ - var match = /*<>*/ caml_bytes_unsafe_get(s, i$0); - a: - { - b: - { - c: - { - if(32 <= match){ - var _C_ = match - 34 | 0; - if(58 < _C_ >>> 0){ - if(93 <= _C_) break c; - } - else if(56 < _C_ - 1 >>> 0) break b; - var _D_ = /*<>*/ 1; - break a; - } - /*<>*/ if(11 <= match){ - if(13 === match) break b; - } - else if(8 <= match) break b; - } - var _D_ = /*<>*/ 4; - break a; - } - var _D_ = /*<>*/ 2; - } - var _H_ = /*<>*/ n + _D_ | 0, _M_ = i$0 + 1 | 0; - if(_F_ === i$0){var n$0 = _H_; break;} - n = _H_; - i$0 = _M_; + var + _S_ = /*<>*/ caml_call2(f, r, a[i + 1]), + _U_ = /*<>*/ i + 1 | 0; + if(_R_ === i){var r$0 = _S_; break;} + r = _S_; + i = _U_; } } - /*<>*/ if(n$0 === caml_ml_bytes_length(s)) - /*<>*/ return s; + /*<>*/ return r$0; + /*<>*/ } + function fold_left_map(f, acc, input_array){ + var len = /*<>*/ input_array.length - 1; + /*<>*/ if(0 === len) + /*<>*/ return [0, acc, [0]]; var - s$0 = /*<>*/ caml_create_bytes(n$0), - _G_ = /*<>*/ caml_ml_bytes_length(s) - 1 | 0, - _J_ = 0, - _K_ = 0; - if(_G_ >= 0){ - var n$1 = _J_, i = _K_; - for(;;){ - var c = /*<>*/ caml_bytes_unsafe_get(s, i); - a: - { - b: - { - c: - { - if(35 <= c){ - if(92 !== c){if(127 <= c) break b; break c;} - } - else{ - if(32 > c){ - if(14 <= c) break b; - switch(c){ - case 8: - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); - var n$2 = /*<>*/ n$1 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set(s$0, n$2, 98); - var n$10 = n$2; - break a; - case 9: - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); - var n$3 = /*<>*/ n$1 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set(s$0, n$3, 116); - var n$10 = n$3; - break a; - case 10: - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); - var n$4 = /*<>*/ n$1 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set(s$0, n$4, 110); - var n$10 = n$4; - break a; - case 13: - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); - var n$5 = /*<>*/ n$1 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set(s$0, n$5, 114); - var n$10 = n$5; - break a; - default: break b; - } - } - /*<>*/ if(34 > c) break c; - } - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); - var n$9 = /*<>*/ n$1 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set(s$0, n$9, c); - var n$10 = n$9; - break a; - } - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, c); - var n$10 = n$1; - break a; - } - /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); - var n$6 = /*<>*/ n$1 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set - (s$0, n$6, 48 + (c / 100 | 0) | 0); - var n$7 = /*<>*/ n$6 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set - (s$0, n$7, 48 + ((c / 10 | 0) % 10 | 0) | 0); - var n$8 = /*<>*/ n$7 + 1 | 0; - /*<>*/ caml_bytes_unsafe_set - (s$0, n$8, 48 + (c % 10 | 0) | 0); - var n$10 = n$8; - } - var n$11 = /*<>*/ n$10 + 1 | 0, _L_ = i + 1 | 0; - if(_G_ === i) break; - n$1 = n$11; - i = _L_; - } - } - /*<>*/ return s$0; - /*<>*/ } - function escaped(b){ - var b$0 = /*<>*/ copy(b); - /*<>*/ return unsafe_escape(b$0) /*<>*/ ; - } - function map(f, s){ - var l = /*<>*/ caml_ml_bytes_length(s); - /*<>*/ if(0 === l) /*<>*/ return s; - var - r = /*<>*/ caml_create_bytes(l), - _A_ = /*<>*/ l - 1 | 0, - _B_ = 0; - if(_A_ >= 0){ - var i = _B_; - for(;;){ - /*<>*/ /*<>*/ caml_bytes_unsafe_set - (r, - i, - /*<>*/ caml_call1 - (f, /*<>*/ caml_bytes_unsafe_get(s, i))); - var _C_ = /*<>*/ i + 1 | 0; - if(_A_ === i) break; - i = _C_; - } - } - /*<>*/ return r; - /*<>*/ } - function mapi(f, s){ - var l = /*<>*/ caml_ml_bytes_length(s); - /*<>*/ if(0 === l) /*<>*/ return s; - var - r = /*<>*/ caml_create_bytes(l), - _y_ = /*<>*/ l - 1 | 0, - _z_ = 0; - if(_y_ >= 0){ - var i = _z_; - for(;;){ - /*<>*/ /*<>*/ caml_bytes_unsafe_set - (r, - i, - /*<>*/ caml_call2 - (f, i, /*<>*/ caml_bytes_unsafe_get(s, i))); - var _A_ = /*<>*/ i + 1 | 0; - if(_y_ === i) break; - i = _A_; - } - } - /*<>*/ return r; - /*<>*/ } - function fold_left(f, x, a){ - var - _v_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0, - _x_ = 0; - if(_v_ < 0) - var r$0 = x; - else{ - var r = x, i = _x_; + match = /*<>*/ caml_call2(f, acc, input_array[1]), + elt = /*<>*/ match[2], + acc$0 = match[1], + output_array = /*<>*/ caml_array_make(len, elt), + _P_ = /*<>*/ len - 1 | 0, + _Q_ = 1; + if(_P_ < 1) + var acc$3 = acc$0; + else{ + var acc$2 = acc$0, i = _Q_; for(;;){ var - _w_ = - /*<>*/ /*<>*/ caml_call2 - (f, r, /*<>*/ caml_bytes_unsafe_get(a, i)), - _y_ = /*<>*/ i + 1 | 0; - if(_v_ === i){var r$0 = _w_; break;} - r = _w_; - i = _y_; + match$0 = + /*<>*/ caml_call2(f, acc$2, input_array[i + 1]), + elt$0 = /*<>*/ match$0[2], + acc$1 = match$0[1]; + /*<>*/ output_array[i + 1] = elt$0; + var _R_ = /*<>*/ i + 1 | 0; + if(_P_ === i){var acc$3 = acc$1; break;} + acc$2 = acc$1; + i = _R_; } } - /*<>*/ return r$0; - /*<>*/ } + /*<>*/ return [0, acc$3, output_array]; + /*<>*/ } function fold_right(f, a, x){ - var _t_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0; - if(_t_ < 0) + var _N_ = /*<>*/ a.length - 2 | 0; + if(_N_ < 0) var r$0 = x; else{ - var r = x, i = _t_; + var r = x, i = _N_; for(;;){ var - _u_ = - /*<>*/ /*<>*/ caml_call2 - (f, /*<>*/ caml_bytes_unsafe_get(a, i), r), - _v_ = /*<>*/ i - 1 | 0; - if(0 === i){var r$0 = _u_; break;} - r = _u_; - i = _v_; + _O_ = /*<>*/ caml_call2(f, a[i + 1], r), + _P_ = /*<>*/ i - 1 | 0; + if(0 === i){var r$0 = _O_; break;} + r = _O_; + i = _P_; } } - /*<>*/ return r$0; - /*<>*/ } - function exists(p, s){ + /*<>*/ return r$0; + /*<>*/ } + function exists(p, a){ var - n = /*<>*/ caml_ml_bytes_length(s), - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if - ( /*<>*/ caml_call1 - (p, /*<>*/ caml_bytes_unsafe_get(s, i))) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(caml_call1(p, a[i + 1])) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function for_all(p, s){ + /*<>*/ } + function for_all(p, a){ var - n = /*<>*/ caml_ml_bytes_length(s), - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 1; - /*<>*/ if - (! - /*<>*/ caml_call1 - (p, /*<>*/ caml_bytes_unsafe_get(s, i))) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 1; + /*<>*/ if(! caml_call1(p, a[i + 1])) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function uppercase_ascii(s){ - /*<>*/ return map(Stdlib_Char[4], s) /*<>*/ ; - } - function lowercase_ascii(s){ - /*<>*/ return map(Stdlib_Char[3], s) /*<>*/ ; - } - function apply1(f, s){ - /*<>*/ if(0 === caml_ml_bytes_length(s)) - /*<>*/ return s; - var r = /*<>*/ copy(s); - /*<>*/ /*<>*/ caml_bytes_unsafe_set - (r, - 0, - /*<>*/ caml_call1 - (f, /*<>*/ caml_bytes_unsafe_get(s, 0))); - /*<>*/ return r; - /*<>*/ } - function capitalize_ascii(s){ - /*<>*/ return apply1(Stdlib_Char[4], s) /*<>*/ ; - } - function uncapitalize_ascii(s){ - /*<>*/ return apply1(Stdlib_Char[3], s) /*<>*/ ; - } - function starts_with(prefix, s){ + /*<>*/ } + function for_all2(p, l1, l2){ + var n1 = /*<>*/ l1.length - 1, n2 = l2.length - 1; + /*<>*/ if(n1 !== n2) + /*<>*/ return Stdlib[1].call(null, cst_Array_for_all2) /*<>*/ ; + var i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n1) /*<>*/ return 1; + /*<>*/ if(! caml_call2(p, l1[i + 1], l2[i + 1])) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function exists2(p, l1, l2){ + var n1 = /*<>*/ l1.length - 1, n2 = l2.length - 1; + /*<>*/ if(n1 !== n2) + /*<>*/ return Stdlib[1].call(null, cst_Array_exists2) /*<>*/ ; + var i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n1) /*<>*/ return 0; + /*<>*/ if(caml_call2(p, l1[i + 1], l2[i + 1])) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function mem(x, a){ var - len_s = /*<>*/ caml_ml_bytes_length(s), - len_pre = caml_ml_bytes_length(prefix), - _t_ = /*<>*/ len_pre <= len_s ? 1 : 0; - if(! _t_) return _t_; - var i = 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === len_pre) - /*<>*/ return 1; - /*<>*/ if - (caml_bytes_unsafe_get(s, i) !== caml_bytes_unsafe_get(prefix, i)) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(0 === runtime.caml_compare(a[i + 1], x)) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function ends_with(suffix, s){ + /*<>*/ } + function memq(x, a){ var - len_s = /*<>*/ caml_ml_bytes_length(s), - len_suf = caml_ml_bytes_length(suffix), - diff = /*<>*/ len_s - len_suf | 0, - _t_ = /*<>*/ 0 <= diff ? 1 : 0; - if(! _t_) return _t_; - var i = 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === len_suf) - /*<>*/ return 1; - /*<>*/ if - (caml_bytes_unsafe_get(s, diff + i | 0) - !== caml_bytes_unsafe_get(suffix, i)) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(x === a[i + 1]) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function index_rec(s, lim, i$1, c){ - var i = /*<>*/ i$1; + /*<>*/ } + function find_opt(p, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - if(lim <= i) - /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); - /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) - /*<>*/ return i; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + var x = /*<>*/ a[i + 1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return [0, x]; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function index(s, c){ - /*<>*/ return index_rec - (s, caml_ml_bytes_length(s), 0, c) /*<>*/ ; - } - function index_rec_opt(s, lim, i$1, c){ - var i = /*<>*/ i$1; + /*<>*/ } + function find_index(p, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - if(lim <= i) /*<>*/ return 0; - /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(caml_call1(p, a[i + 1])) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function index_opt(s, c){ - /*<>*/ return index_rec_opt - (s, caml_ml_bytes_length(s), 0, c) /*<>*/ ; - } - function index_from(s, i, c){ - var l = /*<>*/ caml_ml_bytes_length(s); - /*<>*/ if(0 <= i && l >= i) - /*<>*/ return index_rec(s, l, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_index_from_Bytes_in) /*<>*/ ; - } - function index_from_opt(s, i, c){ - var l = /*<>*/ caml_ml_bytes_length(s); - /*<>*/ if(0 <= i && l >= i) - /*<>*/ return index_rec_opt(s, l, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_index_from_opt_Byte) /*<>*/ ; - } - function rindex_rec(s, i$1, c){ - var i = /*<>*/ i$1; + /*<>*/ } + function find_map(f, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - if(0 > i) - /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); - /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) - /*<>*/ return i; - var i$0 = /*<>*/ i - 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + var r = /*<>*/ caml_call1(f, a[i + 1]); + /*<>*/ if(r) /*<>*/ return r; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function rindex(s, c){ - /*<>*/ return rindex_rec - (s, caml_ml_bytes_length(s) - 1 | 0, c) /*<>*/ ; - } - function rindex_from(s, i, c){ - /*<>*/ if(-1 <= i && caml_ml_bytes_length(s) > i) - /*<>*/ return rindex_rec(s, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_rindex_from_Bytes_r) /*<>*/ ; - } - function rindex_rec_opt(s, i$1, c){ - var i = /*<>*/ i$1; + /*<>*/ } + function find_mapi(f, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - if(0 > i) /*<>*/ return 0; - /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i - 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + var r = /*<>*/ caml_call2(f, i, a[i + 1]); + /*<>*/ if(r) /*<>*/ return r; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function rindex_opt(s, c){ - /*<>*/ return rindex_rec_opt - (s, caml_ml_bytes_length(s) - 1 | 0, c) /*<>*/ ; - } - function rindex_from_opt(s, i, c){ - /*<>*/ if(-1 <= i && caml_ml_bytes_length(s) > i) - /*<>*/ return rindex_rec_opt(s, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_rindex_from_opt_Byt) /*<>*/ ; - } - function contains_from(s, i, c){ - var l = /*<>*/ caml_ml_bytes_length(s); - /*<>*/ if(0 <= i && l >= i) - try{ - /*<>*/ index_rec(s, l, i, c); - var _t_ = /*<>*/ 1; - return _t_; + /*<>*/ } + function split(x){ + /*<>*/ if(runtime.caml_equal(x, [0])) + /*<>*/ return [0, [0], [0]]; + var + match = /*<>*/ x[1], + b0 = match[2], + a0 = match[1], + n = /*<>*/ x.length - 1, + a = /*<>*/ caml_array_make(n, a0), + b = /*<>*/ caml_array_make(n, b0), + _L_ = /*<>*/ n - 1 | 0, + _M_ = 1; + if(_L_ >= 1){ + var i = _M_; + for(;;){ + var + match$0 = /*<>*/ x[i + 1], + bi = match$0[2], + ai = match$0[1]; + /*<>*/ a[i + 1] = ai; + /*<>*/ b[i + 1] = bi; + var _N_ = /*<>*/ i + 1 | 0; + if(_L_ === i) break; + i = _N_; } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0); - if(exn === Stdlib[8]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + } + /*<>*/ return [0, a, b]; + /*<>*/ } + function combine(a, b){ + var + na = /*<>*/ a.length - 1, + nb = /*<>*/ b.length - 1; + /*<>*/ if(na !== nb) + /*<>*/ Stdlib[1].call(null, cst_Array_combine); + /*<>*/ if(0 === na) /*<>*/ return [0]; + var + x = /*<>*/ caml_array_make(na, [0, a[1], b[1]]), + _J_ = /*<>*/ na - 1 | 0, + _K_ = 1; + if(_J_ >= 1){ + var i = _K_; + for(;;){ + /*<>*/ x[i + 1] = [0, a[i + 1], b[i + 1]]; + var _L_ = i + 1 | 0; + if(_J_ === i) break; + i = _L_; } - /*<>*/ return Stdlib[1].call - (null, cst_String_contains_from_Bytes) /*<>*/ ; - } - function contains(s, c){ - /*<>*/ return contains_from(s, 0, c) /*<>*/ ; - } - function rcontains_from(s, i, c){ - /*<>*/ if(0 <= i && caml_ml_bytes_length(s) > i) - try{ - /*<>*/ rindex_rec(s, i, c); - var _t_ = /*<>*/ 1; - return _t_; + } + /*<>*/ return x; + /*<>*/ } + var + Bottom = + /*<>*/ [248, "Stdlib.Array.Bottom", runtime.caml_fresh_oo_id(0)], + _a_ = [0, "array.ml", 386, 4], + cst_out_of_expected_range_0 = ", out of expected range [0; ", + cst_returned = "' returned ", + cst_Array_shuffle_rand = "Array.shuffle: 'rand "; + function sort(cmp, a){ + function maxson(l, i){ + var i31 = /*<>*/ ((i + i | 0) + i | 0) + 1 | 0; + /*<>*/ if((i31 + 2 | 0) < l){ + var + _E_ = /*<>*/ i31 + 1 | 0, + _H_ = /*<>*/ caml_check_bound(a, _E_)[_E_ + 1], + x = + /*<>*/ /*<>*/ caml_call2 + (cmp, + /*<>*/ caml_check_bound(a, i31)[i31 + 1], + _H_) + < 0 + ? i31 + 1 | 0 + : i31, + _F_ = /*<>*/ i31 + 2 | 0, + _I_ = /*<>*/ caml_check_bound(a, _F_)[_F_ + 1], + x$0 = + /*<>*/ /*<>*/ caml_call2 + (cmp, /*<>*/ caml_check_bound(a, x)[x + 1], _I_) + < 0 + ? i31 + 2 | 0 + : x; + /*<>*/ return x$0; } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0); - if(exn === Stdlib[8]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + /*<>*/ if((i31 + 1 | 0) < l){ + var + _G_ = i31 + 1 | 0, + _J_ = /*<>*/ caml_check_bound(a, _G_)[_G_ + 1]; + /*<>*/ if + (0 + > + /*<>*/ caml_call2 + (cmp, + /*<>*/ caml_check_bound(a, i31)[i31 + 1], + _J_)) + /*<>*/ return i31 + 1 | 0; } - /*<>*/ return Stdlib[1].call - (null, cst_String_rcontains_from_Byte) /*<>*/ ; - } - var - compare = /*<>*/ runtime.caml_bytes_compare, - cst_Bytes_of_seq_cannot_grow_b = "Bytes.of_seq: cannot grow bytes"; - function split_on_char(sep, s){ + /*<>*/ if(i31 < l) /*<>*/ return i31; + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Bottom, i], 1); + /*<>*/ } var - _q_ = /*<>*/ 0, - _r_ = /*<>*/ caml_ml_bytes_length(s), - _s_ = /*<>*/ caml_ml_bytes_length(s) - 1 | 0; - if(_s_ < 0) - var j$1 = _r_, r$1 = _q_; - else{ - var j = _r_, r = _q_, i = _s_; + l = /*<>*/ a.length - 1, + _w_ = /*<>*/ ((l + 1 | 0) / 3 | 0) - 1 | 0; + if(_w_ >= 0){ + var i$6 = _w_; for(;;){ - /*<>*/ if(caml_bytes_unsafe_get(s, i) === sep) + var e$1 = /*<>*/ caml_check_bound(a, i$6)[i$6 + 1]; + /*<>*/ try{ + var i = i$6; + for(;;){ + var j = /*<>*/ maxson(l, i); + /*<>*/ if + (0 + >= + /*<>*/ caml_call2 + (cmp, /*<>*/ caml_check_bound(a, j)[j + 1], e$1)){ + /*<>*/ caml_check_bound(a, i)[i + 1] = e$1; + break; + } + var _A_ = /*<>*/ caml_check_bound(a, j)[j + 1]; + /*<>*/ caml_check_bound(a, i)[i + 1] = _A_; + /*<>*/ i = j; + } + } + catch(exn$0){ + var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; + if(tag !== Bottom) throw caml_maybe_attach_backtrace(exn, 0); + var i$0 = exn[2]; + /*<>*/ caml_check_bound(a, i$0)[i$0 + 1] = e$1; + } + var _E_ = /*<>*/ i$6 - 1 | 0; + if(0 === i$6) break; + i$6 = _E_; + } + } + var _x_ = /*<>*/ l - 1 | 0; + if(_x_ >= 2){ + var i$4 = _x_; + a: + for(;;){ + var e$0 = /*<>*/ caml_check_bound(a, i$4)[i$4 + 1]; + /*<>*/ a[i$4 + 1] = caml_check_bound(a, 0)[1]; + var i$5 = /*<>*/ 0; + try{ + var i$1 = i$5; + for(;;){ + var + j$0 = /*<>*/ maxson(i$4, i$1), + _B_ = /*<>*/ caml_check_bound(a, j$0)[j$0 + 1]; + /*<>*/ caml_check_bound(a, i$1)[i$1 + 1] = _B_; + /*<>*/ i$1 = j$0; + } + } + catch(exn){ + var exn$0 = /*<>*/ caml_wrap_exception(exn), tag$0 = exn$0[1]; + if(tag$0 !== Bottom) throw caml_maybe_attach_backtrace(exn$0, 0); + var i$2 = exn$0[2], i$3 = /*<>*/ i$2; + for(;;){ + var father = /*<>*/ (i$3 - 1 | 0) / 3 | 0; + /*<>*/ if(i$3 === father) + throw caml_maybe_attach_backtrace([0, Assert_failure, _a_], 1); + /*<>*/ if + (0 + <= + /*<>*/ caml_call2 + (cmp, + /*<>*/ caml_check_bound(a, father)[father + 1], + e$0)) + /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = e$0; + else{ + var + _C_ = + /*<>*/ caml_check_bound(a, father)[father + 1]; + /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = _C_; + /*<>*/ if(0 < father){i$3 = father; continue;} + /*<>*/ caml_check_bound(a, 0)[1] = e$0; + } + var _D_ = /*<>*/ i$4 - 1 | 0; + if(2 === i$4) break a; + i$4 = _D_; + break; + } + } + } + } + var _y_ = /*<>*/ 1 < l ? 1 : 0; + if(_y_){ + var e = /*<>*/ caml_check_bound(a, 1)[2]; + /*<>*/ a[2] = caml_check_bound(a, 0)[1]; + /*<>*/ a[1] = e; + var _z_ = /*<>*/ 0; + } + else + var _z_ = /*<>*/ _y_; + return _z_; + /*<>*/ } + function stable_sort(cmp, a){ + function merge(src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs){ + var + src1r = /*<>*/ src1ofs + src1len | 0, + src2r = src2ofs + src2len | 0, + s2$1 = + /*<>*/ caml_check_bound(src2, src2ofs)[src2ofs + 1], + s1$1 = + /*<>*/ caml_check_bound(a, src1ofs)[src1ofs + 1], + i1 = /*<>*/ src1ofs, + s1 = s1$1, + i2 = src2ofs, + s2 = s2$1, + d = dstofs; + for(;;) + /*<>*/ if(0 < caml_call2(cmp, s1, s2)){ + /*<>*/ caml_check_bound(dst, d)[d + 1] = s2; + var i2$0 = /*<>*/ i2 + 1 | 0; + /*<>*/ if(i2$0 >= src2r) + /*<>*/ return blit + (a, i1, dst, d + 1 | 0, src1r - i1 | 0) /*<>*/ ; var - j$0 = /*<>*/ i, - r$0 = - [0, - /*<>*/ sub(s, i + 1 | 0, (j - i | 0) - 1 | 0), - r]; - else - var j$0 = /*<>*/ j, r$0 = r; - var _t_ = i - 1 | 0; - if(0 === i){var j$1 = j$0, r$1 = r$0; break;} - j = j$0; - r = r$0; - i = _t_; + d$0 = /*<>*/ d + 1 | 0, + s2$0 = /*<>*/ caml_check_bound(src2, i2$0)[i2$0 + 1]; + /*<>*/ i2 = i2$0; + s2 = s2$0; + d = d$0; + } + else{ + /*<>*/ caml_check_bound(dst, d)[d + 1] = s1; + var i1$0 = /*<>*/ i1 + 1 | 0; + /*<>*/ if(i1$0 >= src1r) + /*<>*/ return blit + (src2, i2, dst, d + 1 | 0, src2r - i2 | 0) /*<>*/ ; + var + d$1 = /*<>*/ d + 1 | 0, + s1$0 = /*<>*/ caml_check_bound(a, i1$0)[i1$0 + 1]; + /*<>*/ i1 = i1$0; + s1 = s1$0; + d = d$1; + } + /*<>*/ } + function isortto(srcofs, dst, dstofs, len){ + var _q_ = /*<>*/ len - 1 | 0, _u_ = 0; + if(_q_ >= 0){ + var i = _u_; + a: + for(;;){ + var + _r_ = /*<>*/ srcofs + i | 0, + e = /*<>*/ caml_check_bound(a, _r_)[_r_ + 1], + j = /*<>*/ (dstofs + i | 0) - 1 | 0; + for(;;){ + if + (dstofs <= j + && + 0 + < + /*<>*/ caml_call2 + (cmp, + /*<>*/ caml_check_bound(dst, j)[j + 1], + e)){ + var + _s_ = /*<>*/ j + 1 | 0, + _v_ = /*<>*/ caml_check_bound(dst, j)[j + 1]; + /*<>*/ caml_check_bound(dst, _s_)[_s_ + 1] = _v_; + var j$0 = /*<>*/ j - 1 | 0; + j = j$0; + continue; + } + var _t_ = /*<>*/ j + 1 | 0; + caml_check_bound(dst, _t_)[_t_ + 1] = e; + var _w_ = /*<>*/ i + 1 | 0; + if(_q_ === i) break a; + i = _w_; + break; + } + } + } + /*<>*/ return 0; + /*<>*/ } + function sortto(srcofs, dst, dstofs, len){ + /*<>*/ if(len <= 5) + /*<>*/ return isortto(srcofs, dst, dstofs, len) /*<>*/ ; + var + l1 = /*<>*/ len / 2 | 0, + l2 = /*<>*/ len - l1 | 0; + /*<>*/ sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); + /*<>*/ sortto(srcofs, a, srcofs + l2 | 0, l1); + /*<>*/ return merge + (srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs) /*<>*/ ; + } + var l = /*<>*/ a.length - 1; + /*<>*/ if(l <= 5) + /*<>*/ return isortto(0, a, 0, l) /*<>*/ ; + var + l1 = /*<>*/ l / 2 | 0, + l2 = /*<>*/ l - l1 | 0, + t = + /*<>*/ /*<>*/ caml_array_make + (l2, /*<>*/ caml_check_bound(a, 0)[1]); + /*<>*/ sortto(l1, t, 0, l2); + /*<>*/ sortto(0, a, l2, l1); + /*<>*/ return merge(l2, l1, t, 0, l2, a, 0) /*<>*/ ; + } + function shuffle(rand, a){ + var _e_ = /*<>*/ a.length - 2 | 0; + if(_e_ >= 1){ + var i = _e_; + for(;;){ + var + j = /*<>*/ caml_call1(rand, i + 1 | 0), + _f_ = /*<>*/ 0 <= j ? 1 : 0, + _p_ = _f_ ? j <= i ? 1 : 0 : _f_; + if(1 - _p_){ + var + int = /*<>*/ Stdlib[33], + _g_ = /*<>*/ int(i), + _h_ = Stdlib[28].call(null, _g_, cst), + _i_ = + /*<>*/ Stdlib[28].call + (null, cst_out_of_expected_range_0, _h_), + _j_ = /*<>*/ int(j), + _k_ = Stdlib[28].call(null, _j_, _i_), + _l_ = /*<>*/ Stdlib[28].call(null, cst_returned, _k_), + _m_ = /*<>*/ int(i + 1 | 0), + _n_ = Stdlib[28].call(null, _m_, _l_), + _o_ = + /*<>*/ Stdlib[28].call + (null, cst_Array_shuffle_rand, _n_); + /*<>*/ Stdlib[1].call(null, _o_); + } + var v = /*<>*/ a[i + 1]; + /*<>*/ a[i + 1] = a[j + 1]; + /*<>*/ a[j + 1] = v; + var _q_ = /*<>*/ i - 1 | 0; + if(1 === i) break; + i = _q_; } } - /*<>*/ return [0, sub(s, 0, j$1), r$1] /*<>*/ ; - /*<>*/ } - function to_seq(s){ + /*<>*/ return 0; + /*<>*/ } + function to_seq(a){ function aux(i, param){ - /*<>*/ if(i === caml_ml_bytes_length(s)) - /*<>*/ return 0; + /*<>*/ if(i >= a.length - 1) + /*<>*/ return 0; var - x = /*<>*/ caml_bytes_get(s, i), - _p_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + x = /*<>*/ a[i + 1], + _d_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, x, - function(_q_){ /*<>*/ return aux(_p_, _q_);}] /*<>*/ ; - /*<>*/ } - var _o_ = /*<>*/ 0; - return function(_p_){ - /*<>*/ return aux(_o_, _p_);} /*<>*/ ; - /*<>*/ } - function to_seqi(s){ + function(_e_){ /*<>*/ return aux(_d_, _e_);}] /*<>*/ ; + /*<>*/ } + var _c_ = /*<>*/ 0; + return function(_d_){ + /*<>*/ return aux(_c_, _d_);} /*<>*/ ; + /*<>*/ } + function to_seqi(a){ function aux(i, param){ - /*<>*/ if(i === caml_ml_bytes_length(s)) - /*<>*/ return 0; + /*<>*/ if(i >= a.length - 1) + /*<>*/ return 0; var - x = /*<>*/ caml_bytes_get(s, i), - _n_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + x = /*<>*/ a[i + 1], + _b_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, [0, i, x], - function(_o_){ /*<>*/ return aux(_n_, _o_);}] /*<>*/ ; - /*<>*/ } - var _m_ = /*<>*/ 0; - return function(_n_){ - /*<>*/ return aux(_m_, _n_);} /*<>*/ ; - /*<>*/ } - function of_seq(i){ + function(_c_){ /*<>*/ return aux(_b_, _c_);}] /*<>*/ ; + /*<>*/ } + var _a_ = /*<>*/ 0; + return function(_b_){ + /*<>*/ return aux(_a_, _b_);} /*<>*/ ; + /*<>*/ } + function of_seq(i$2){ var - n = /*<>*/ [0, 0], - buf = /*<>*/ [0, make(256, 0)]; - /*<>*/ Stdlib_Seq[4].call - (null, - function(c){ - /*<>*/ if(n[1] === caml_ml_bytes_length(buf[1])){ - var - new_len = - /*<>*/ /*<>*/ Stdlib_Int[10].call - (null, - 2 * /*<>*/ caml_ml_bytes_length(buf[1]) | 0, - Stdlib_Sys[12]); - /*<>*/ if(caml_ml_bytes_length(buf[1]) === new_len) - /*<>*/ Stdlib[2].call - (null, cst_Bytes_of_seq_cannot_grow_b); - var new_buf = /*<>*/ make(new_len, 0); - /*<>*/ blit(buf[1], 0, new_buf, 0, n[1]); - /*<>*/ buf[1] = new_buf; - } - /*<>*/ caml_bytes_set(buf[1], n[1], c); - /*<>*/ n[1]++; - return 0; - /*<>*/ }, - i); - /*<>*/ return sub(buf[1], 0, n[1]) /*<>*/ ; - } - function unsafe_get_uint16_le(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bswap16 - ( /*<>*/ caml_bytes_get16(b, i)) - : /*<>*/ caml_bytes_get16(b, i) /*<>*/ ; - } - function unsafe_get_uint16_be(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_get16(b, i) - : /*<>*/ caml_bswap16 - ( /*<>*/ caml_bytes_get16(b, i)) /*<>*/ ; - } - function get_int8(b, i){ + l = + /*<>*/ Stdlib_Seq[5].call + (null, + function(acc, x){ + /*<>*/ return [0, x, acc]; + /*<>*/ }, + 0, + i$2); + /*<>*/ if(! l) /*<>*/ return [0]; var - _l_ = /*<>*/ Stdlib_Sys[10] - 8 | 0, - _m_ = Stdlib_Sys[10] - 8 | 0; - return caml_bytes_get(b, i) << _m_ >> _l_ /*<>*/ ; - /*<>*/ } - function get_uint16_le(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bswap16 - ( /*<>*/ caml_bytes_get16(b, i)) - : /*<>*/ caml_bytes_get16(b, i) /*<>*/ ; - } - function get_uint16_be(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_get16(b, i) - : /*<>*/ caml_bswap16 - ( /*<>*/ caml_bytes_get16(b, i)) /*<>*/ ; + tl = /*<>*/ l[2], + hd = l[1], + len = /*<>*/ list_length(0, l), + a = /*<>*/ caml_array_make(len, hd), + i$1 = /*<>*/ len - 2 | 0, + i = i$1, + param = tl; + for(;;){ + /*<>*/ if(! param) /*<>*/ return a; + var tl$0 = /*<>*/ param[2], hd$0 = param[1]; + /*<>*/ a[i + 1] = hd$0; + var i$0 = /*<>*/ i - 1 | 0; + i = i$0; + param = tl$0; + } + /*<>*/ } + var + Stdlib_Array = + /*<>*/ [0, + init, + make_matrix, + init_matrix, + append, + runtime.caml_array_concat, + sub, + copy, + fill, + blit, + to_list, + of_list, + equal, + compare, + iter, + iteri, + map, + map_inplace, + mapi, + mapi_inplace, + fold_left, + fold_left_map, + fold_right, + iter2, + map2, + for_all, + exists, + for_all2, + exists2, + mem, + memq, + find_opt, + find_index, + find_map, + find_mapi, + split, + combine, + sort, + stable_sort, + stable_sort, + shuffle, + to_seq, + to_seqi, + of_seq, + Floatarray]; + runtime.caml_register_global(20, Stdlib_Array, "Stdlib__Array"); + return; + } + (globalThis)); + +//# unitInfo: Provides: Stdlib__Iarray +//# unitInfo: Requires: Stdlib, Stdlib__Array +//# shape: Stdlib__Iarray:[F(2),F(2)*,F(1)*,F(3),F(1),F(1),F(1)*,F(1)*,F(3),F(3),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(1)*->F(1)*,F(1)*->F(1)*,F(1)] +(function + (globalThis){ + "use strict"; + var + runtime = globalThis.jsoo_runtime, + caml_array_make = runtime.caml_array_make; + function caml_call1(f, a0){ + return (f.l >= 0 ? f.l : f.l = f.length) === 1 + ? f(a0) + : runtime.caml_call_gen(f, [a0]); } - function get_int16_ne(b, i){ - var - _k_ = /*<>*/ Stdlib_Sys[10] - 16 | 0, - _l_ = Stdlib_Sys[10] - 16 | 0; - return caml_bytes_get16(b, i) << _l_ >> _k_ /*<>*/ ; - /*<>*/ } - function get_int16_le(b, i){ - var - _j_ = /*<>*/ Stdlib_Sys[10] - 16 | 0, - _k_ = Stdlib_Sys[10] - 16 | 0; - return get_uint16_le(b, i) << _k_ >> _j_ /*<>*/ ; - /*<>*/ } - function get_int16_be(b, i){ - var - _i_ = /*<>*/ Stdlib_Sys[10] - 16 | 0, - _j_ = Stdlib_Sys[10] - 16 | 0; - return get_uint16_be(b, i) << _j_ >> _i_ /*<>*/ ; - /*<>*/ } - function get_int32_le(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_int32_bswap - ( /*<>*/ caml_bytes_get32(b, i)) - : /*<>*/ caml_bytes_get32(b, i) /*<>*/ ; + function caml_call2(f, a0, a1){ + return (f.l >= 0 ? f.l : f.l = f.length) === 2 + ? f(a0, a1) + : runtime.caml_call_gen(f, [a0, a1]); } - function get_int32_be(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_get32(b, i) - : /*<>*/ caml_int32_bswap - ( /*<>*/ caml_bytes_get32(b, i)) /*<>*/ ; + var + global_data = runtime.caml_get_global_data(), + Stdlib_Array = global_data.Stdlib__Array, + Stdlib = global_data.Stdlib, + cst_Iarray_sub = "Iarray.sub", + cst_Iarray_iter2_arrays_must_h = + "Iarray.iter2: arrays must have the same length", + cst_Iarray_map2_arrays_must_ha = + "Iarray.map2: arrays must have the same length", + cst_Iarray_for_all2 = "Iarray.for_all2", + cst_Iarray_exists2 = "Iarray.exists2", + cst_Iarray_combine = "Iarray.combine"; + function init(l, f){ + /*<>*/ return Stdlib_Array[1].call(null, l, f) /*<>*/ ; } - function get_int64_le(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_int64_bswap - ( /*<>*/ caml_bytes_get64(b, i)) - : /*<>*/ caml_bytes_get64(b, i) /*<>*/ ; + function append(a1, a2){ + /*<>*/ return 0 === a1.length - 1 + ? a2 + : 0 + === a2.length - 1 + ? a1 + : /*<>*/ runtime.caml_array_append(a1, a2) /*<>*/ ; } - function get_int64_be(b, i){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_get64(b, i) - : /*<>*/ caml_int64_bswap - ( /*<>*/ caml_bytes_get64(b, i)) /*<>*/ ; + function sub(a, pos, len){ + /*<>*/ if + (0 <= pos && 0 <= len && (a.length - 1 - len | 0) >= pos) + /*<>*/ return runtime.caml_array_sub(a, pos, len) /*<>*/ ; + /*<>*/ return Stdlib[1].call(null, cst_Iarray_sub) /*<>*/ ; } - function unsafe_set_uint16_le(b, i, x){ - /*<>*/ if(Stdlib_Sys[11]){ - /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)); - /*<>*/ return; + function iter(f, a){ + var _z_ = /*<>*/ a.length - 2 | 0, _A_ = 0; + if(_z_ >= 0){ + var i = _A_; + for(;;){ + /*<>*/ caml_call1(f, a[i + 1]); + var _B_ = /*<>*/ i + 1 | 0; + if(_z_ === i) break; + i = _B_; + } } - /*<>*/ caml_bytes_set16(b, i, x); - /*<>*/ } - function unsafe_set_uint16_be(b, i, x){ - /*<>*/ if(Stdlib_Sys[11]){ - /*<>*/ caml_bytes_set16(b, i, x); - /*<>*/ return; + /*<>*/ return 0; + /*<>*/ } + function iter2(f, a, b){ + /*<>*/ if(a.length - 1 !== b.length - 1) + /*<>*/ return Stdlib[1].call + (null, cst_Iarray_iter2_arrays_must_h) /*<>*/ ; + var _x_ = /*<>*/ a.length - 2 | 0, _y_ = 0; + if(_x_ >= 0){ + var i = _y_; + for(;;){ + /*<>*/ caml_call2(f, a[i + 1], b[i + 1]); + var _z_ = /*<>*/ i + 1 | 0; + if(_x_ === i) break; + i = _z_; + } } - /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)); - /*<>*/ } - function set_int16_le(b, i, x){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)) - : /*<>*/ caml_bytes_set16(b, i, x) /*<>*/ ; - } - function set_int16_be(b, i, x){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_set16(b, i, x) - : /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)) /*<>*/ ; + /*<>*/ return 0; + /*<>*/ } + function map(f, a){ + var l = /*<>*/ a.length - 1; + /*<>*/ if(0 === l) + var r = /*<>*/ [0]; + else{ + var + r$0 = + /*<>*/ /*<>*/ caml_array_make + (l, /*<>*/ caml_call1(f, a[1])), + _v_ = /*<>*/ l - 1 | 0, + _w_ = 1; + if(_v_ < 1) + var r = r$0; + else{ + var i = _w_; + for(;;){ + /*<>*/ r$0[i + 1] = caml_call1(f, a[i + 1]); + var _x_ = /*<>*/ i + 1 | 0; + if(_v_ === i){var r = r$0; break;} + i = _x_; + } + } + } + /*<>*/ return r; + /*<>*/ } + function map2(f, a, b){ + var + la = /*<>*/ a.length - 1, + lb = /*<>*/ b.length - 1; + /*<>*/ if(la !== lb) + /*<>*/ return Stdlib[1].call + (null, cst_Iarray_map2_arrays_must_ha) /*<>*/ ; + /*<>*/ if(0 === la) + var r = /*<>*/ [0]; + else{ + var + r$0 = + /*<>*/ /*<>*/ caml_array_make + (la, /*<>*/ caml_call2(f, a[1], b[1])), + _t_ = /*<>*/ la - 1 | 0, + _u_ = 1; + if(_t_ < 1) + var r = r$0; + else{ + var i = _u_; + for(;;){ + /*<>*/ r$0[i + 1] = + caml_call2(f, a[i + 1], b[i + 1]); + var _v_ = /*<>*/ i + 1 | 0; + if(_t_ === i){var r = r$0; break;} + i = _v_; + } + } + } + /*<>*/ return r; + /*<>*/ } + function iteri(f, a){ + var _r_ = /*<>*/ a.length - 2 | 0, _s_ = 0; + if(_r_ >= 0){ + var i = _s_; + for(;;){ + /*<>*/ caml_call2(f, i, a[i + 1]); + var _t_ = /*<>*/ i + 1 | 0; + if(_r_ === i) break; + i = _t_; + } + } + /*<>*/ return 0; + /*<>*/ } + function mapi(f, a){ + var l = /*<>*/ a.length - 1; + /*<>*/ if(0 === l) + var r = /*<>*/ [0]; + else{ + var + r$0 = + /*<>*/ /*<>*/ caml_array_make + (l, /*<>*/ caml_call2(f, 0, a[1])), + _p_ = /*<>*/ l - 1 | 0, + _q_ = 1; + if(_p_ < 1) + var r = r$0; + else{ + var i = _q_; + for(;;){ + /*<>*/ r$0[i + 1] = caml_call2(f, i, a[i + 1]); + var _r_ = /*<>*/ i + 1 | 0; + if(_p_ === i){var r = r$0; break;} + i = _r_; + } + } + } + /*<>*/ return r; + /*<>*/ } + function to_list(a){ + var i$1 = /*<>*/ a.length - 2 | 0, i = i$1, res = 0; + for(;;){ + /*<>*/ if(0 > i) /*<>*/ return res; + var + res$0 = /*<>*/ [0, a[i + 1], res], + i$0 = i - 1 | 0; + i = i$0; + res = res$0; + } + /*<>*/ } + function of_list(l){ + /*<>*/ return Stdlib_Array[11].call(null, l) /*<>*/ ; } - function set_int32_le(b, i, x){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_set32 - (b, i, /*<>*/ caml_int32_bswap(x)) - : /*<>*/ caml_bytes_set32(b, i, x) /*<>*/ ; + function to_array(ia){ + /*<>*/ return Stdlib_Array[7].call(null, ia) /*<>*/ ; } - function set_int32_be(b, i, x){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_set32(b, i, x) - : /*<>*/ caml_bytes_set32 - (b, i, /*<>*/ caml_int32_bswap(x)) /*<>*/ ; + function of_array(ma){ + /*<>*/ return Stdlib_Array[7].call(null, ma) /*<>*/ ; } - function set_int64_le(b, i, x){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_set64 - (b, i, /*<>*/ caml_int64_bswap(x)) - : /*<>*/ caml_bytes_set64(b, i, x) /*<>*/ ; - } - function set_int64_be(b, i, x){ - /*<>*/ return Stdlib_Sys[11] - ? /*<>*/ caml_bytes_set64(b, i, x) - : /*<>*/ caml_bytes_set64 - (b, i, /*<>*/ caml_int64_bswap(x)) /*<>*/ ; - } - var - set_uint8 = /*<>*/ caml_bytes_set, - set_uint16_ne = caml_bytes_set16, - dec_invalid = Stdlib_Uchar[23], - _a_ = [0, cst_bytes_ml, 679, 9], - _b_ = [0, cst_bytes_ml, 654, 20], - cst_index_out_of_bounds = cst_index_out_of_bounds$3, - cst_index_out_of_bounds$0 = cst_index_out_of_bounds$3, - _c_ = [0, cst_bytes_ml, 777, 9], - _d_ = [0, cst_bytes_ml, 766, 20], - cst_index_out_of_bounds$1 = cst_index_out_of_bounds$3, - cst_index_out_of_bounds$2 = cst_index_out_of_bounds$3, - _e_ = [0, cst_bytes_ml, 831, 9], - _f_ = [0, cst_bytes_ml, 820, 20]; - function dec_ret(n, u){ - var _i_ = /*<>*/ Stdlib_Uchar[9].call(null, u); - /*<>*/ return Stdlib_Uchar[22].call(null, n, _i_); - } - function not_in_x80_to_xBF(b){ - /*<>*/ return 2 !== (b >>> 6 | 0) ? 1 : 0; - /*<>*/ } - function not_in_xA0_to_xBF(b){ - /*<>*/ return 5 !== (b >>> 5 | 0) ? 1 : 0; - /*<>*/ } - function not_in_x80_to_x9F(b){ - /*<>*/ return 4 !== (b >>> 5 | 0) ? 1 : 0; - /*<>*/ } - function not_in_x90_to_xBF(b){ - var - _h_ = /*<>*/ b < 144 ? 1 : 0, - _i_ = _h_ || (191 < b ? 1 : 0); - return _i_; - /*<>*/ } - function not_in_x80_to_x8F(b){ - /*<>*/ return 8 !== (b >>> 4 | 0) ? 1 : 0; - /*<>*/ } - function utf_8_uchar_3(b0, b1, b2){ - /*<>*/ return (b0 & 15) << 12 | (b1 & 63) << 6 | b2 & 63; - /*<>*/ } - function utf_8_uchar_4(b0, b1, b2, b3){ - /*<>*/ return (b0 & 7) << 18 | (b1 & 63) << 12 - | (b2 & 63) << 6 - | b3 & 63; - /*<>*/ } - function get_utf_8_uchar(b, i){ - var - b0 = /*<>*/ caml_bytes_get(b, i), - max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; - a: - { - /*<>*/ if(224 <= b0){ - if(237 <= b0){ - if(245 <= b0) break a; - switch(b0 - 237 | 0){ - case 0: - var i$0 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$0) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1$4 = /*<>*/ caml_bytes_unsafe_get(b, i$0); - /*<>*/ if(not_in_x80_to_x9F(b1$4)) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var i$1 = /*<>*/ i$0 + 1 | 0; - /*<>*/ if(max < i$1) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var b2$3 = /*<>*/ caml_bytes_unsafe_get(b, i$1); - /*<>*/ return not_in_x80_to_xBF(b2$3) - ? /*<>*/ dec_invalid(2) - : /*<>*/ dec_ret - (3, /*<>*/ utf_8_uchar_3(b0, b1$4, b2$3)) /*<>*/ ; - case 3: - var i$4 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$4) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1$2 = /*<>*/ caml_bytes_unsafe_get(b, i$4); - /*<>*/ if(not_in_x90_to_xBF(b1$2)) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var i$5 = /*<>*/ i$4 + 1 | 0; - /*<>*/ if(max < i$5) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var b2$1 = /*<>*/ caml_bytes_unsafe_get(b, i$5); - /*<>*/ if(not_in_x80_to_xBF(b2$1)) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var i$6 = /*<>*/ i$5 + 1 | 0; - /*<>*/ if(max < i$6) - /*<>*/ return dec_invalid(3) /*<>*/ ; - var b3$1 = /*<>*/ caml_bytes_unsafe_get(b, i$6); - /*<>*/ return not_in_x80_to_xBF(b3$1) - ? /*<>*/ dec_invalid(3) - : /*<>*/ dec_ret - (4, - /*<>*/ utf_8_uchar_4(b0, b1$2, b2$1, b3$1)) /*<>*/ ; - case 7: - var i$10 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$10) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1$0 = /*<>*/ caml_bytes_unsafe_get(b, i$10); - /*<>*/ if(not_in_x80_to_x8F(b1$0)) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var i$11 = /*<>*/ i$10 + 1 | 0; - /*<>*/ if(max < i$11) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var b2 = /*<>*/ caml_bytes_unsafe_get(b, i$11); - /*<>*/ if(not_in_x80_to_xBF(b2)) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var i$12 = /*<>*/ i$11 + 1 | 0; - /*<>*/ if(max < i$12) - /*<>*/ return dec_invalid(3) /*<>*/ ; - var b3 = /*<>*/ caml_bytes_unsafe_get(b, i$12); - /*<>*/ return not_in_x80_to_xBF(b3) - ? /*<>*/ dec_invalid(3) - : /*<>*/ dec_ret - (4, - /*<>*/ utf_8_uchar_4(b0, b1$0, b2, b3)) /*<>*/ ; - case 1: - case 2: break; - default: - var i$7 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$7) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1$1 = /*<>*/ caml_bytes_unsafe_get(b, i$7); - /*<>*/ if(not_in_x80_to_xBF(b1$1)) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var i$8 = /*<>*/ i$7 + 1 | 0; - /*<>*/ if(max < i$8) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var b2$0 = /*<>*/ caml_bytes_unsafe_get(b, i$8); - /*<>*/ if(not_in_x80_to_xBF(b2$0)) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var i$9 = /*<>*/ i$8 + 1 | 0; - /*<>*/ if(max < i$9) - /*<>*/ return dec_invalid(3) /*<>*/ ; - var b3$0 = /*<>*/ caml_bytes_unsafe_get(b, i$9); - /*<>*/ return not_in_x80_to_xBF(b3$0) - ? /*<>*/ dec_invalid(3) - : /*<>*/ dec_ret - (4, - /*<>*/ utf_8_uchar_4(b0, b1$1, b2$0, b3$0)) /*<>*/ ; - } - } - else if(225 > b0){ - var i$13 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$13) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1$5 = /*<>*/ caml_bytes_unsafe_get(b, i$13); - /*<>*/ if(not_in_xA0_to_xBF(b1$5)) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var i$14 = /*<>*/ i$13 + 1 | 0; - /*<>*/ if(max < i$14) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var b2$4 = /*<>*/ caml_bytes_unsafe_get(b, i$14); - /*<>*/ return not_in_x80_to_xBF(b2$4) - ? /*<>*/ dec_invalid(2) - : /*<>*/ dec_ret - (3, /*<>*/ utf_8_uchar_3(b0, b1$5, b2$4)) /*<>*/ ; + function fold_left(f, x, a){ + var _m_ = /*<>*/ a.length - 2 | 0, _o_ = 0; + if(_m_ < 0) + var r$0 = x; + else{ + var r = x, i = _o_; + for(;;){ + var + _n_ = /*<>*/ caml_call2(f, r, a[i + 1]), + _p_ = /*<>*/ i + 1 | 0; + if(_m_ === i){var r$0 = _n_; break;} + r = _n_; + i = _p_; + } + } + /*<>*/ return r$0; + /*<>*/ } + function fold_left_map(f, acc, input_array){ + var len = /*<>*/ input_array.length - 1; + /*<>*/ if(0 === len) + var output_array = /*<>*/ [0], acc$0 = acc; + else{ + var + match = /*<>*/ caml_call2(f, acc, input_array[1]), + elt = /*<>*/ match[2], + acc$1 = match[1], + output_array$0 = /*<>*/ caml_array_make(len, elt), + _k_ = /*<>*/ len - 1 | 0, + _l_ = 1; + if(_k_ < 1) + var output_array = output_array$0, acc$0 = acc$1; + else{ + var acc$3 = acc$1, i = _l_; + for(;;){ + var + match$0 = + /*<>*/ caml_call2(f, acc$3, input_array[i + 1]), + elt$0 = /*<>*/ match$0[2], + acc$2 = match$0[1]; + /*<>*/ output_array$0[i + 1] = elt$0; + var _m_ = /*<>*/ i + 1 | 0; + if(_k_ === i){var output_array = output_array$0, acc$0 = acc$2; break;} + acc$3 = acc$2; + i = _m_; } - var i$2 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$2) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1$3 = /*<>*/ caml_bytes_unsafe_get(b, i$2); - /*<>*/ if(not_in_x80_to_xBF(b1$3)) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var i$3 = /*<>*/ i$2 + 1 | 0; - /*<>*/ if(max < i$3) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var b2$2 = /*<>*/ caml_bytes_unsafe_get(b, i$3); - /*<>*/ return not_in_x80_to_xBF(b2$2) - ? /*<>*/ dec_invalid(2) - : /*<>*/ dec_ret - (3, /*<>*/ utf_8_uchar_3(b0, b1$3, b2$2)) /*<>*/ ; } - /*<>*/ if(128 > b0) - /*<>*/ return dec_ret(1, b0) /*<>*/ ; - /*<>*/ if(194 <= b0){ - var i$15 = /*<>*/ i + 1 | 0; - /*<>*/ if(max < i$15) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var b1 = /*<>*/ caml_bytes_unsafe_get(b, i$15); - /*<>*/ return not_in_x80_to_xBF(b1) - ? /*<>*/ dec_invalid(1) - : /*<>*/ dec_ret(2, (b0 & 31) << 6 | b1 & 63) /*<>*/ ; + } + /*<>*/ return [0, acc$0, output_array]; + /*<>*/ } + function fold_right(f, a, x){ + var _i_ = /*<>*/ a.length - 2 | 0; + if(_i_ < 0) + var r$0 = x; + else{ + var r = x, i = _i_; + for(;;){ + var + _j_ = /*<>*/ caml_call2(f, a[i + 1], r), + _k_ = /*<>*/ i - 1 | 0; + if(0 === i){var r$0 = _j_; break;} + r = _j_; + i = _k_; } } - /*<>*/ return dec_invalid(1) /*<>*/ ; - } - function set_utf_8_uchar(b, i, u){ - function set(_h_, _g_, _f_){ - /*<>*/ caml_bytes_unsafe_set(_h_, _g_, _f_); + /*<>*/ return r$0; + /*<>*/ } + function exists(p, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(caml_call1(p, a[i + 1])) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; } + /*<>*/ } + function for_all(p, a){ var - max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, - u$0 = /*<>*/ Stdlib_Uchar[10].call(null, u); - /*<>*/ if(0 > u$0) - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _b_], 1); - /*<>*/ if(127 >= u$0){ - /*<>*/ caml_bytes_set(b, i, u$0); - /*<>*/ return 1; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 1; + /*<>*/ if(! caml_call1(p, a[i + 1])) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; } - /*<>*/ if(2047 >= u$0){ - var last$1 = /*<>*/ i + 1 | 0; - /*<>*/ return max < last$1 - ? 0 - : ( /*<>*/ caml_bytes_set - (b, i, 192 | u$0 >>> 6 | 0), - /*<>*/ set(b, last$1, 128 | u$0 & 63), - 2) /*<>*/ ; + /*<>*/ } + function for_all2(p, l1, l2){ + var n1 = /*<>*/ l1.length - 1, n2 = l2.length - 1; + /*<>*/ if(n1 !== n2) + /*<>*/ return Stdlib[1].call + (null, cst_Iarray_for_all2) /*<>*/ ; + var i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n1) /*<>*/ return 1; + /*<>*/ if(! caml_call2(p, l1[i + 1], l2[i + 1])) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; } - /*<>*/ if(65535 >= u$0){ - var last$0 = /*<>*/ i + 2 | 0; - /*<>*/ return max < last$0 - ? 0 - : ( /*<>*/ caml_bytes_set - (b, i, 224 | u$0 >>> 12 | 0), - /*<>*/ set - (b, i + 1 | 0, 128 | (u$0 >>> 6 | 0) & 63), - /*<>*/ set(b, last$0, 128 | u$0 & 63), - 3) /*<>*/ ; + /*<>*/ } + function exists2(p, l1, l2){ + var n1 = /*<>*/ l1.length - 1, n2 = l2.length - 1; + /*<>*/ if(n1 !== n2) + /*<>*/ return Stdlib[1].call(null, cst_Iarray_exists2) /*<>*/ ; + var i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n1) /*<>*/ return 0; + /*<>*/ if(caml_call2(p, l1[i + 1], l2[i + 1])) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; } - /*<>*/ if(1114111 < u$0) - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _a_], 1); - var last = /*<>*/ i + 3 | 0; - /*<>*/ return max < last - ? 0 - : ( /*<>*/ caml_bytes_set - (b, i, 240 | u$0 >>> 18 | 0), - /*<>*/ set - (b, i + 1 | 0, 128 | (u$0 >>> 12 | 0) & 63), - /*<>*/ set - (b, i + 2 | 0, 128 | (u$0 >>> 6 | 0) & 63), - /*<>*/ set(b, last, 128 | u$0 & 63), - 4) /*<>*/ ; + /*<>*/ } + function equal(eq, a1, a2){ + var + _i_ = /*<>*/ a1.length - 1 === a2.length - 1 ? 1 : 0; + return _i_ ? for_all2(eq, a1, a2) : _i_ /*<>*/ ; } - function is_valid_utf_8(b){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, i = 0; + function compare(cmp, a1, a2){ + /*<>*/ if(a1.length - 1 !== a2.length - 1) + /*<>*/ return a1.length - 1 - (a2.length - 1) | 0; + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(max < i) /*<>*/ return 1; - var match = /*<>*/ caml_bytes_unsafe_get(b, i); - a: - { - /*<>*/ if(224 <= match){ - if(237 <= match){ - if(245 <= match) break a; - switch(match - 237 | 0){ - case 0: - var last = /*<>*/ i + 2 | 0; - /*<>*/ if - (max >= last - && - ! - /*<>*/ not_in_x80_to_x9F - ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last))){ - var i$0 = /*<>*/ last + 1 | 0; - i = i$0; - continue; - } - /*<>*/ return 0; - case 3: - var last$1 = /*<>*/ i + 3 | 0; - /*<>*/ if - (max >= last$1 - && - ! - /*<>*/ not_in_x90_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 2 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last$1))){ - var i$2 = /*<>*/ last$1 + 1 | 0; - i = i$2; - continue; - } - /*<>*/ return 0; - case 7: - var last$3 = /*<>*/ i + 3 | 0; - /*<>*/ if - (max >= last$3 - && - ! - /*<>*/ not_in_x80_to_x8F - ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 2 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last$3))){ - var i$4 = /*<>*/ last$3 + 1 | 0; - i = i$4; - continue; - } - /*<>*/ return 0; - case 1: - case 2: break; - default: - var last$2 = /*<>*/ i + 3 | 0; - /*<>*/ if - (max >= last$2 - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 2 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last$2))){ - var i$3 = /*<>*/ last$2 + 1 | 0; - i = i$3; - continue; - } - /*<>*/ return 0; - } - } - else if(225 > match){ - var last$4 = /*<>*/ i + 2 | 0; - /*<>*/ if - (max >= last$4 - && - ! - /*<>*/ not_in_xA0_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last$4))){ - var i$5 = /*<>*/ last$4 + 1 | 0; - i = i$5; - continue; - } - /*<>*/ return 0; - } - var last$0 = /*<>*/ i + 2 | 0; - /*<>*/ if - (max >= last$0 - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last$0))){ - var i$1 = /*<>*/ last$0 + 1 | 0; - i = i$1; - continue; - } - /*<>*/ return 0; - } - /*<>*/ if(128 > match){ - var i$7 = /*<>*/ i + 1 | 0; - i = i$7; - continue; - } - /*<>*/ if(194 <= match){ - var last$5 = /*<>*/ i + 1 | 0; - /*<>*/ if - (max >= last$5 - && - ! - /*<>*/ not_in_x80_to_xBF - ( /*<>*/ caml_bytes_unsafe_get(b, last$5))){ - var i$6 = /*<>*/ last$5 + 1 | 0; - i = i$6; - continue; - } - /*<>*/ return 0; - } + /*<>*/ if(i === a1.length - 1) + /*<>*/ return 0; + var c = /*<>*/ caml_call2(cmp, a1[i + 1], a2[i + 1]); + /*<>*/ if(0 !== c) /*<>*/ return c; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function mem(x, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(0 === runtime.caml_compare(a[i + 1], x)) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function memq(x, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(x === a[i + 1]) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function find_opt(p, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + var x = /*<>*/ a[i + 1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return [0, x]; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function find_index(p, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(caml_call1(p, a[i + 1])) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function find_map(f, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + var r = /*<>*/ caml_call1(f, a[i + 1]); + /*<>*/ if(r) /*<>*/ return r; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function find_mapi(f, a){ + var + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + var r = /*<>*/ caml_call2(f, i, a[i + 1]); + /*<>*/ if(r) /*<>*/ return r; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function split(x){ + /*<>*/ if(equal(runtime.caml_equal, x, [0])) + /*<>*/ return [0, [0], [0]]; + var + match = /*<>*/ x[1], + b0 = match[2], + a0 = match[1], + n = /*<>*/ x.length - 1, + a = /*<>*/ caml_array_make(n, a0), + b = /*<>*/ caml_array_make(n, b0), + _g_ = /*<>*/ n - 1 | 0, + _h_ = 1; + if(_g_ >= 1){ + var i = _h_; + for(;;){ + var + match$0 = /*<>*/ x[i + 1], + bi = match$0[2], + ai = match$0[1]; + /*<>*/ a[i + 1] = ai; + /*<>*/ b[i + 1] = bi; + var _i_ = /*<>*/ i + 1 | 0; + if(_g_ === i) break; + i = _i_; } - /*<>*/ return 0; } - /*<>*/ } - function get_utf_16be_uchar(b, i){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; - /*<>*/ if(0 <= i && max >= i){ - /*<>*/ if(i === max) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var hi = /*<>*/ unsafe_get_uint16_be(b, i); - /*<>*/ if(55296 <= hi && 57343 >= hi){ - /*<>*/ if(56319 < hi) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var last = /*<>*/ i + 3 | 0; - /*<>*/ if(max < last) - /*<>*/ return dec_invalid((max - i | 0) + 1 | 0) /*<>*/ ; - var lo = /*<>*/ unsafe_get_uint16_be(b, i + 2 | 0); - /*<>*/ if(56320 <= lo && 57343 >= lo){ - var - u = - /*<>*/ ((hi & 1023) << 10 | lo & 1023) + 65536 | 0; - /*<>*/ return dec_ret(4, u) /*<>*/ ; + /*<>*/ return [0, a, b]; + /*<>*/ } + function combine(a, b){ + var + na = /*<>*/ a.length - 1, + nb = /*<>*/ b.length - 1; + /*<>*/ if(na !== nb) + /*<>*/ Stdlib[1].call(null, cst_Iarray_combine); + /*<>*/ if(0 === na) + var r = /*<>*/ [0]; + else{ + var + x = /*<>*/ caml_array_make(na, [0, a[1], b[1]]), + _e_ = /*<>*/ na - 1 | 0, + _f_ = 1; + if(_e_ < 1) + var r = x; + else{ + var i = _f_; + for(;;){ + /*<>*/ x[i + 1] = [0, a[i + 1], b[i + 1]]; + var _g_ = i + 1 | 0; + if(_e_ === i){var r = x; break;} + i = _g_; } - /*<>*/ return dec_invalid(2) /*<>*/ ; } - /*<>*/ return dec_ret(2, hi) /*<>*/ ; } - /*<>*/ return Stdlib[1].call - (null, cst_index_out_of_bounds) /*<>*/ ; + /*<>*/ return r; + /*<>*/ } + function lift_sort(sorter, cmp, iarr){ + var arr = /*<>*/ to_array(iarr); + /*<>*/ caml_call2(sorter, cmp, arr); + /*<>*/ return arr; + /*<>*/ } + function sort(cmp, iarr){ + /*<>*/ return lift_sort(Stdlib_Array[37], cmp, iarr) /*<>*/ ; } - function set_utf_16be_uchar(b, i, u){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; - /*<>*/ if(0 <= i && max >= i){ - var u$0 = /*<>*/ Stdlib_Uchar[10].call(null, u); - /*<>*/ if(0 > u$0) - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _d_], 1); - /*<>*/ if(65535 >= u$0){ - var last$0 = /*<>*/ i + 1 | 0; - /*<>*/ return max < last$0 - ? 0 - : ( /*<>*/ unsafe_set_uint16_be(b, i, u$0), 2) /*<>*/ ; - } - /*<>*/ if(1114111 < u$0) - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _c_], 1); - var last = /*<>*/ i + 3 | 0; - /*<>*/ if(max < last) /*<>*/ return 0; + function stable_sort(cmp, iarr){ + /*<>*/ return lift_sort(Stdlib_Array[38], cmp, iarr) /*<>*/ ; + } + function fast_sort(cmp, iarr){ + /*<>*/ return lift_sort(Stdlib_Array[39], cmp, iarr) /*<>*/ ; + } + function to_seq(a){ + function aux(i, param){ + /*<>*/ if(i >= a.length - 1) + /*<>*/ return 0; var - u$1 = /*<>*/ u$0 - 65536 | 0, - hi = /*<>*/ 55296 | u$1 >>> 10 | 0, - lo = /*<>*/ 56320 | u$1 & 1023; - /*<>*/ unsafe_set_uint16_be(b, i, hi); - /*<>*/ unsafe_set_uint16_be(b, i + 2 | 0, lo); - /*<>*/ return 4; - } - /*<>*/ return Stdlib[1].call - (null, cst_index_out_of_bounds$0) /*<>*/ ; - } - function is_valid_utf_16be(b){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, i = 0; - for(;;){ - /*<>*/ if(max < i) /*<>*/ return 1; - /*<>*/ if(i === max) /*<>*/ return 0; - var u = /*<>*/ unsafe_get_uint16_be(b, i); - /*<>*/ if(55296 <= u && 57343 >= u){ - /*<>*/ if(56319 < u) - /*<>*/ return 0; - var last = /*<>*/ i + 3 | 0; - /*<>*/ if(max < last) - /*<>*/ return 0; - var u$0 = /*<>*/ unsafe_get_uint16_be(b, i + 2 | 0); - /*<>*/ if(56320 <= u$0 && 57343 >= u$0){ - var i$1 = /*<>*/ i + 4 | 0; - i = i$1; - continue; - } - /*<>*/ return 0; - } - var i$0 = /*<>*/ i + 2 | 0; - i = i$0; - } - /*<>*/ } - function get_utf_16le_uchar(b, i){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; - /*<>*/ if(0 <= i && max >= i){ - /*<>*/ if(i === max) - /*<>*/ return dec_invalid(1) /*<>*/ ; - var hi = /*<>*/ unsafe_get_uint16_le(b, i); - /*<>*/ if(55296 <= hi && 57343 >= hi){ - /*<>*/ if(56319 < hi) - /*<>*/ return dec_invalid(2) /*<>*/ ; - var last = /*<>*/ i + 3 | 0; - /*<>*/ if(max < last) - /*<>*/ return dec_invalid((max - i | 0) + 1 | 0) /*<>*/ ; - var lo = /*<>*/ unsafe_get_uint16_le(b, i + 2 | 0); - /*<>*/ if(56320 <= lo && 57343 >= lo){ - var - u = - /*<>*/ ((hi & 1023) << 10 | lo & 1023) + 65536 | 0; - /*<>*/ return dec_ret(4, u) /*<>*/ ; - } - /*<>*/ return dec_invalid(2) /*<>*/ ; - } - /*<>*/ return dec_ret(2, hi) /*<>*/ ; - } - /*<>*/ return Stdlib[1].call - (null, cst_index_out_of_bounds$1) /*<>*/ ; - } - function set_utf_16le_uchar(b, i, u){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; - /*<>*/ if(0 <= i && max >= i){ - var u$0 = /*<>*/ Stdlib_Uchar[10].call(null, u); - /*<>*/ if(0 > u$0) - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _f_], 1); - /*<>*/ if(65535 >= u$0){ - var last$0 = /*<>*/ i + 1 | 0; - /*<>*/ return max < last$0 - ? 0 - : ( /*<>*/ unsafe_set_uint16_le(b, i, u$0), 2) /*<>*/ ; - } - /*<>*/ if(1114111 < u$0) - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _e_], 1); - var last = /*<>*/ i + 3 | 0; - /*<>*/ if(max < last) /*<>*/ return 0; + x = /*<>*/ a[i + 1], + _d_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, + x, + function(_e_){ /*<>*/ return aux(_d_, _e_);}] /*<>*/ ; + /*<>*/ } + var _c_ = /*<>*/ 0; + return function(_d_){ + /*<>*/ return aux(_c_, _d_);} /*<>*/ ; + /*<>*/ } + function to_seqi(a){ + function aux(i, param){ + /*<>*/ if(i >= a.length - 1) + /*<>*/ return 0; var - u$1 = /*<>*/ u$0 - 65536 | 0, - hi = /*<>*/ 55296 | u$1 >>> 10 | 0, - lo = /*<>*/ 56320 | u$1 & 1023; - /*<>*/ unsafe_set_uint16_le(b, i, hi); - /*<>*/ unsafe_set_uint16_le(b, i + 2 | 0, lo); - /*<>*/ return 4; - } - /*<>*/ return Stdlib[1].call - (null, cst_index_out_of_bounds$2) /*<>*/ ; + x = /*<>*/ a[i + 1], + _b_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, + [0, i, x], + function(_c_){ /*<>*/ return aux(_b_, _c_);}] /*<>*/ ; + /*<>*/ } + var _a_ = /*<>*/ 0; + return function(_b_){ + /*<>*/ return aux(_a_, _b_);} /*<>*/ ; + /*<>*/ } + function of_seq(i){ + /*<>*/ return Stdlib_Array[43].call(null, i) /*<>*/ ; } - function is_valid_utf_16le(b){ - var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, i = 0; - for(;;){ - /*<>*/ if(max < i) /*<>*/ return 1; - /*<>*/ if(i === max) /*<>*/ return 0; - var u = /*<>*/ unsafe_get_uint16_le(b, i); - /*<>*/ if(55296 <= u && 57343 >= u){ - /*<>*/ if(56319 < u) - /*<>*/ return 0; - var last = /*<>*/ i + 3 | 0; - /*<>*/ if(max < last) - /*<>*/ return 0; - var u$0 = /*<>*/ unsafe_get_uint16_le(b, i + 2 | 0); - /*<>*/ if(56320 <= u$0 && 57343 >= u$0){ - var i$1 = /*<>*/ i + 4 | 0; - i = i$1; - continue; - } - /*<>*/ return 0; - } - var i$0 = /*<>*/ i + 2 | 0; - i = i$0; - } - /*<>*/ } var - Stdlib_Bytes = - /*<>*/ [0, - make, + Stdlib_Iarray = + /*<>*/ [0, init, - empty, - copy, - of_string, - to_string, + append, + runtime.caml_array_concat, sub, - sub_string, - extend, - fill, - blit, - blit_string, - concat, - cat, + to_list, + of_list, + to_array, + of_array, + equal, + compare, iter, iteri, map, mapi, fold_left, + fold_left_map, fold_right, + iter2, + map2, for_all, exists, - trim, - escaped, - index, - index_opt, - rindex, - rindex_opt, - index_from, - index_from_opt, - rindex_from, - rindex_from_opt, - contains, - contains_from, - rcontains_from, - uppercase_ascii, - lowercase_ascii, - capitalize_ascii, - uncapitalize_ascii, - compare, - runtime.caml_bytes_equal, - starts_with, - ends_with, - caml_string_of_bytes, - caml_bytes_of_string, - split_on_char, + for_all2, + exists2, + mem, + memq, + find_opt, + find_index, + find_map, + find_mapi, + split, + combine, + sort, + stable_sort, + fast_sort, to_seq, to_seqi, - of_seq, - get_utf_8_uchar, - set_utf_8_uchar, - is_valid_utf_8, - get_utf_16be_uchar, - set_utf_16be_uchar, - is_valid_utf_16be, - get_utf_16le_uchar, - set_utf_16le_uchar, - is_valid_utf_16le, - caml_bytes_get, - get_int8, - caml_bytes_get16, - get_uint16_be, - get_uint16_le, - get_int16_ne, - get_int16_be, - get_int16_le, - caml_bytes_get32, - get_int32_be, - get_int32_le, - caml_bytes_get64, - get_int64_be, - get_int64_le, - set_uint8, - caml_bytes_set, - set_uint16_ne, - set_int16_be, - set_int16_le, - caml_bytes_set16, - set_int16_be, - set_int16_le, - caml_bytes_set32, - set_int32_be, - set_int32_le, - caml_bytes_set64, - set_int64_be, - set_int64_le, - unsafe_escape]; - runtime.caml_register_global(30, Stdlib_Bytes, "Stdlib__Bytes"); + of_seq]; + runtime.caml_register_global(8, Stdlib_Iarray, "Stdlib__Iarray"); return; - /*<>*/ } + } (globalThis)); -//# unitInfo: Provides: Stdlib__String -//# unitInfo: Requires: Stdlib, Stdlib__Bytes -//# shape: Stdlib__String:[F(2),F(2),N,F(1),F(1),F(5),F(2),F(2)*,F(2)*,F(2)*,F(2),F(2),F(3),F(3),F(2),F(3),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(1),F(1),F(1),F(1),F(1),F(1),F(2),F(2),F(3),F(3),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*,F(1)*,F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(2)] +//# unitInfo: Provides: Stdlib__Bytes +//# unitInfo: Requires: Stdlib, Stdlib__Char, Stdlib__Int, Stdlib__Seq, Stdlib__Sys, Stdlib__Uchar +//# shape: Stdlib__Bytes:[F(2),F(2),N,F(1),F(1),F(1),F(3),F(3),F(3),F(4),F(5),F(5),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(1),F(1),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(2),F(3),F(3),F(1),F(1),F(1),F(1),F(2)*,F(2)*,F(2),F(2),F(1),F(1)*,F(2),F(1)*->F(1),F(1)*->F(1),F(1),F(2),F(3),F(1),F(2),F(3),F(1),F(2),F(3),F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(3),F(1)] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime, - cst$0 = "", - caml_blit_string = runtime.caml_blit_string, + cst_bytes_ml = "bytes.ml", + cst_index_out_of_bounds$3 = "index out of bounds", + caml_blit_bytes = runtime.caml_blit_bytes, + caml_bswap16 = runtime.caml_bswap16, + caml_bytes_get = runtime.caml_bytes_get, + caml_bytes_get16 = runtime.caml_bytes_get16, + caml_bytes_get32 = runtime.caml_bytes_get32, + caml_bytes_get64 = runtime.caml_bytes_get64, + caml_bytes_of_string = runtime.caml_bytes_of_string, + caml_bytes_set = runtime.caml_bytes_set, + caml_bytes_set16 = runtime.caml_bytes_set16, + caml_bytes_set32 = runtime.caml_bytes_set32, + caml_bytes_set64 = runtime.caml_bytes_set64, + caml_bytes_unsafe_get = runtime.caml_bytes_unsafe_get, + caml_bytes_unsafe_set = runtime.caml_bytes_unsafe_set, + caml_create_bytes = runtime.caml_create_bytes, + caml_fill_bytes = runtime.caml_fill_bytes, + caml_int32_bswap = runtime.caml_int32_bswap, + caml_int64_bswap = runtime.caml_int64_bswap, caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, - caml_ml_string_length = runtime.caml_ml_string_length, - caml_string_equal = runtime.caml_string_equal, - caml_string_hash = runtime.caml_string_hash, - caml_string_unsafe_get = runtime.caml_string_unsafe_get, + caml_ml_bytes_length = runtime.caml_ml_bytes_length, + caml_string_of_bytes = runtime.caml_string_of_bytes, caml_wrap_exception = runtime.caml_wrap_exception; function caml_call1(f, a0){ return (f.l >= 0 ? f.l : f.l = f.length) === 1 @@ -6416,91 +7073,46 @@ : runtime.caml_call_gen(f, [a0, a1]); } var + dummy = 0, global_data = runtime.caml_get_global_data(), - cst = cst$0, - empty = cst$0, Stdlib = global_data.Stdlib, - Stdlib_Bytes = global_data.Stdlib__Bytes, - bts = Stdlib_Bytes[44], - bos = Stdlib_Bytes[45]; + Stdlib_Uchar = global_data.Stdlib__Uchar, + Assert_failure = global_data.Assert_failure, + Stdlib_Sys = global_data.Stdlib__Sys, + Stdlib_Int = global_data.Stdlib__Int, + Stdlib_Seq = global_data.Stdlib__Seq, + Stdlib_Char = global_data.Stdlib__Char; function make(n, c){ - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[1].call(null, n, c)) /*<>*/ ; - } + var s = /*<>*/ caml_create_bytes(n); + /*<>*/ caml_fill_bytes(s, 0, n, c); + /*<>*/ return s; + /*<>*/ } function init(n, f){ - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[2].call(null, n, f)) /*<>*/ ; - } - var of_bytes = /*<>*/ Stdlib_Bytes[6], to_bytes = Stdlib_Bytes[5]; - function sub(s, ofs, len){ - var _h_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[7].call(null, _h_, ofs, len)) /*<>*/ ; - } - var - blit = /*<>*/ Stdlib_Bytes[12], - cst_String_concat = "String.concat"; - function concat(sep, l){ - /*<>*/ if(! l) /*<>*/ return cst; - var seplen = /*<>*/ caml_ml_string_length(sep); - a: - { - var acc = /*<>*/ 0, param = l, pos$1 = 0; - for(;;){ - /*<>*/ if(! param){var _h_ = acc; break a;} - var hd = param[1]; - if(! param[2]) break; - var - tl = param[2], - x = - /*<>*/ (caml_ml_string_length(hd) + seplen | 0) - + acc - | 0; - /*<>*/ if(acc <= x){ - acc = x; - param = tl; - } - else{ - /*<>*/ acc = Stdlib[1].call(null, cst_String_concat); - param = tl; - } - } - var _h_ = /*<>*/ caml_ml_string_length(hd) + acc | 0; - } var - dst = /*<>*/ runtime.caml_create_bytes(_h_), - pos = /*<>*/ pos$1, - param$0 = l; - for(;;){ - /*<>*/ if(param$0){ - var hd$0 = param$0[1]; - if(param$0[2]){ - var tl$0 = param$0[2]; - /*<>*/ caml_blit_string - (hd$0, 0, dst, pos, caml_ml_string_length(hd$0)); - /*<>*/ /*<>*/ caml_blit_string - (sep, - 0, - dst, - pos + /*<>*/ caml_ml_string_length(hd$0) | 0, - seplen); - var - pos$0 = - /*<>*/ (pos + caml_ml_string_length(hd$0) | 0) - + seplen - | 0; - pos = pos$0; - param$0 = tl$0; - continue; - } - /*<>*/ caml_blit_string - (hd$0, 0, dst, pos, caml_ml_string_length(hd$0)); + s = /*<>*/ caml_create_bytes(n), + _Q_ = /*<>*/ n - 1 | 0, + _R_ = 0; + if(_Q_ >= 0){ + var i = _R_; + for(;;){ + /*<>*/ /*<>*/ caml_bytes_unsafe_set + (s, i, /*<>*/ caml_call1(f, i)); + var _S_ = /*<>*/ i + 1 | 0; + if(_Q_ === i) break; + i = _S_; } - /*<>*/ return bts(dst); } - } + /*<>*/ return s; + /*<>*/ } var - cat = /*<>*/ Stdlib[28], + empty = /*<>*/ caml_create_bytes(0), + cst_String_sub_Bytes_sub = + /*<>*/ "String.sub / Bytes.sub", + cst_Bytes_extend = "Bytes.extend", + cst_String_fill_Bytes_fill = "String.fill / Bytes.fill", + cst_Bytes_blit = "Bytes.blit", + cst_String_blit_Bytes_blit_str = "String.blit / Bytes.blit_string", + cst_Bytes_concat = "Bytes.concat", cst_String_index_from_Bytes_in = "String.index_from / Bytes.index_from", cst_String_index_from_opt_Byte = "String.index_from_opt / Bytes.index_from_opt", @@ -6511,1501 +7123,2390 @@ "String.contains_from / Bytes.contains_from", cst_String_rcontains_from_Byte = "String.rcontains_from / Bytes.rcontains_from"; - function iter(f, s){ - var - _f_ = /*<>*/ caml_ml_string_length(s) - 1 | 0, - _g_ = 0; - if(_f_ >= 0){ - var i = _g_; - for(;;){ - /*<>*/ caml_call1(f, caml_string_unsafe_get(s, i)); - var _h_ = /*<>*/ i + 1 | 0; - if(_f_ === i) break; - i = _h_; - } - } - /*<>*/ return 0; - /*<>*/ } - function iteri(f, s){ + function copy(s){ var - _d_ = /*<>*/ caml_ml_string_length(s) - 1 | 0, - _e_ = 0; - if(_d_ >= 0){ - var i = _e_; - for(;;){ - /*<>*/ caml_call2(f, i, caml_string_unsafe_get(s, i)); - var _f_ = /*<>*/ i + 1 | 0; - if(_d_ === i) break; - i = _f_; - } - } - /*<>*/ return 0; - /*<>*/ } - function map(f, s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[17].call(null, f, _d_)) /*<>*/ ; - } - function mapi(f, s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[18].call(null, f, _d_)) /*<>*/ ; - } - function fold_right(f, x, a){ - var _d_ = /*<>*/ bos(x); - /*<>*/ return Stdlib_Bytes[20].call(null, f, _d_, a) /*<>*/ ; + len = /*<>*/ caml_ml_bytes_length(s), + r = /*<>*/ caml_create_bytes(len); + /*<>*/ caml_blit_bytes(s, 0, r, 0, len); + /*<>*/ return r; + /*<>*/ } + function to_string(b){ + /*<>*/ return /*<>*/ caml_string_of_bytes + ( /*<>*/ copy(b)) /*<>*/ ; } - function fold_left(f, a, x){ - var _d_ = /*<>*/ bos(x); - /*<>*/ return Stdlib_Bytes[19].call(null, f, a, _d_); + function of_string(s){ + /*<>*/ return copy(caml_bytes_of_string(s)) /*<>*/ ; } - function exists(f, s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[22].call(null, f, _d_); + function sub(s, ofs, len){ + /*<>*/ if + (0 <= ofs && 0 <= len && (caml_ml_bytes_length(s) - len | 0) >= ofs){ + var r = /*<>*/ caml_create_bytes(len); + /*<>*/ caml_blit_bytes(s, ofs, r, 0, len); + /*<>*/ return r; + } + /*<>*/ return Stdlib[1].call + (null, cst_String_sub_Bytes_sub) /*<>*/ ; } - function for_all(f, s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[21].call(null, f, _d_); + function sub_string(b, ofs, len){ + /*<>*/ return /*<>*/ caml_string_of_bytes + ( /*<>*/ sub(b, ofs, len)) /*<>*/ ; } - function is_space(param){ - var _d_ = /*<>*/ param - 9 | 0; + function symbol(a, b){ + var + c = /*<>*/ a + b | 0, + _Q_ = /*<>*/ b < 0 ? 1 : 0, + match = c < 0 ? 1 : 0; a: { - if(4 < _d_ >>> 0){if(23 !== _d_) break a;} else if(2 === _d_) break a; - /*<>*/ return 1; + if(a < 0){if(! _Q_ || match) break a;} else if(_Q_ || ! match) break a; + /*<>*/ return Stdlib[1].call(null, cst_Bytes_extend) /*<>*/ ; } - /*<>*/ return 0; - /*<>*/ } - function trim(s){ - /*<>*/ if(s === cst$0) - /*<>*/ return s; - /*<>*/ if - (! - /*<>*/ is_space - ( /*<>*/ caml_string_unsafe_get(s, 0)) - && - ! - /*<>*/ is_space - ( /*<>*/ caml_string_unsafe_get - (s, caml_ml_string_length(s) - 1 | 0))) - /*<>*/ return s; - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[23].call(null, _d_)) /*<>*/ ; - } - function escaped(s){ + /*<>*/ return c; + /*<>*/ } + function extend(s, left, right){ var - b = /*<>*/ bos(s), - b$0 = /*<>*/ Stdlib_Bytes[87].call(null, b); - /*<>*/ return b === b$0 - ? s - : /*<>*/ bts(b$0) /*<>*/ ; - } - function index_rec(s, lim, i$1, c){ - var i = /*<>*/ i$1; - for(;;){ - if(lim <= i) - /*<>*/ throw caml_maybe_attach_backtrace - (Stdlib[8], 1); - /*<>*/ if(caml_string_unsafe_get(s, i) === c) - /*<>*/ return i; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - } - /*<>*/ } - function index(s, c){ - /*<>*/ return index_rec - (s, caml_ml_string_length(s), 0, c) /*<>*/ ; - } - function index_rec_opt(s, lim, i$1, c){ - var i = /*<>*/ i$1; - for(;;){ - if(lim <= i) /*<>*/ return 0; - /*<>*/ if(caml_string_unsafe_get(s, i) === c) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - } - /*<>*/ } - function index_opt(s, c){ - /*<>*/ return index_rec_opt - (s, caml_ml_string_length(s), 0, c) /*<>*/ ; + len = + /*<>*/ /*<>*/ symbol + (symbol( /*<>*/ caml_ml_bytes_length(s), left), right), + r = /*<>*/ caml_create_bytes(len); + /*<>*/ if(0 <= left) + var dstoff = /*<>*/ left, srcoff = 0; + else + var dstoff = /*<>*/ 0, srcoff = - left | 0; + var + cpylen = + /*<>*/ /*<>*/ Stdlib_Int[10].call + (null, + /*<>*/ caml_ml_bytes_length(s) - srcoff | 0, + len - dstoff | 0); + /*<>*/ if(0 < cpylen) + /*<>*/ caml_blit_bytes(s, srcoff, r, dstoff, cpylen); + /*<>*/ return r; + /*<>*/ } + function fill(s, ofs, len, c){ + /*<>*/ if + (0 <= ofs && 0 <= len && (caml_ml_bytes_length(s) - len | 0) >= ofs) + /*<>*/ return caml_fill_bytes(s, ofs, len, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_fill_Bytes_fill) /*<>*/ ; } - function index_from(s, i, c){ - var l = /*<>*/ caml_ml_string_length(s); - /*<>*/ if(0 <= i && l >= i) - /*<>*/ return index_rec(s, l, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_index_from_Bytes_in) /*<>*/ ; + function blit(s1, ofs1, s2, ofs2, len){ + /*<>*/ if + (0 <= len + && + 0 <= ofs1 + && + (caml_ml_bytes_length(s1) - len | 0) >= ofs1 + && 0 <= ofs2 && (caml_ml_bytes_length(s2) - len | 0) >= ofs2) + /*<>*/ return caml_blit_bytes(s1, ofs1, s2, ofs2, len) /*<>*/ ; + /*<>*/ return Stdlib[1].call(null, cst_Bytes_blit) /*<>*/ ; } - function index_from_opt(s, i, c){ - var l = /*<>*/ caml_ml_string_length(s); - /*<>*/ if(0 <= i && l >= i) - /*<>*/ return index_rec_opt(s, l, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_index_from_opt_Byte) /*<>*/ ; + function blit_string(s1, ofs1, s2, ofs2, len){ + /*<>*/ if + (0 <= len + && + 0 <= ofs1 + && + (runtime.caml_ml_string_length(s1) - len | 0) >= ofs1 + && 0 <= ofs2 && (caml_ml_bytes_length(s2) - len | 0) >= ofs2) + /*<>*/ return runtime.caml_blit_string + (s1, ofs1, s2, ofs2, len) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_blit_Bytes_blit_str) /*<>*/ ; } - function rindex_rec(s, i$1, c){ - var i = /*<>*/ i$1; - for(;;){ - if(0 > i) - /*<>*/ throw caml_maybe_attach_backtrace - (Stdlib[8], 1); - /*<>*/ if(caml_string_unsafe_get(s, i) === c) - /*<>*/ return i; - var i$0 = /*<>*/ i - 1 | 0; - i = i$0; + function iter(f, a){ + var + _O_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0, + _P_ = 0; + if(_O_ >= 0){ + var i = _P_; + for(;;){ + /*<>*/ caml_call1(f, caml_bytes_unsafe_get(a, i)); + var _Q_ = /*<>*/ i + 1 | 0; + if(_O_ === i) break; + i = _Q_; + } } - /*<>*/ } - function rindex(s, c){ - /*<>*/ return rindex_rec - (s, caml_ml_string_length(s) - 1 | 0, c) /*<>*/ ; - } - function rindex_from(s, i, c){ - /*<>*/ if(-1 <= i && caml_ml_string_length(s) > i) - /*<>*/ return rindex_rec(s, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_rindex_from_Bytes_r) /*<>*/ ; - } - function rindex_rec_opt(s, i$1, c){ - var i = /*<>*/ i$1; - for(;;){ - if(0 > i) /*<>*/ return 0; - /*<>*/ if(caml_string_unsafe_get(s, i) === c) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i - 1 | 0; - i = i$0; + /*<>*/ return 0; + /*<>*/ } + function iteri(f, a){ + var + _M_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0, + _N_ = 0; + if(_M_ >= 0){ + var i = _N_; + for(;;){ + /*<>*/ caml_call2(f, i, caml_bytes_unsafe_get(a, i)); + var _O_ = /*<>*/ i + 1 | 0; + if(_M_ === i) break; + i = _O_; + } } - /*<>*/ } - function rindex_opt(s, c){ - /*<>*/ return rindex_rec_opt - (s, caml_ml_string_length(s) - 1 | 0, c) /*<>*/ ; - } - function rindex_from_opt(s, i, c){ - /*<>*/ if(-1 <= i && caml_ml_string_length(s) > i) - /*<>*/ return rindex_rec_opt(s, i, c) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_String_rindex_from_opt_Byt) /*<>*/ ; - } - function contains_from(s, i, c){ - var l = /*<>*/ caml_ml_string_length(s); - /*<>*/ if(0 <= i && l >= i) - try{ - /*<>*/ index_rec(s, l, i, c); - var _d_ = /*<>*/ 1; - return _d_; - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0); - if(exn === Stdlib[8]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); - } - /*<>*/ return Stdlib[1].call - (null, cst_String_contains_from_Bytes) /*<>*/ ; - } - function contains(s, c){ - /*<>*/ return contains_from(s, 0, c) /*<>*/ ; - } - function rcontains_from(s, i, c){ - /*<>*/ if(0 <= i && caml_ml_string_length(s) > i) - try{ - /*<>*/ rindex_rec(s, i, c); - var _d_ = /*<>*/ 1; - return _d_; - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0); - if(exn === Stdlib[8]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + /*<>*/ return 0; + /*<>*/ } + function concat(sep, l){ + /*<>*/ if(! l) /*<>*/ return empty; + var seplen = /*<>*/ caml_ml_bytes_length(sep); + a: + { + var acc = /*<>*/ 0, param = l, pos$1 = 0; + for(;;){ + /*<>*/ if(! param){var _M_ = acc; break a;} + var hd = param[1]; + if(! param[2]) break; + var + tl = param[2], + x = + /*<>*/ (caml_ml_bytes_length(hd) + seplen | 0) + + acc + | 0; + /*<>*/ if(acc <= x){ + acc = x; + param = tl; + } + else{ + /*<>*/ acc = Stdlib[1].call(null, cst_Bytes_concat); + param = tl; + } } - /*<>*/ return Stdlib[1].call - (null, cst_String_rcontains_from_Byte) /*<>*/ ; - } - function uppercase_ascii(s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[36].call(null, _d_)) /*<>*/ ; - } - function lowercase_ascii(s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[37].call(null, _d_)) /*<>*/ ; - } - function capitalize_ascii(s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[38].call(null, _d_)) /*<>*/ ; - } - function uncapitalize_ascii(s){ - var _d_ = /*<>*/ bos(s); - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[39].call(null, _d_)) /*<>*/ ; - } - function starts_with(prefix, s){ + var _M_ = /*<>*/ caml_ml_bytes_length(hd) + acc | 0; + } var - len_s = /*<>*/ caml_ml_string_length(s), - len_pre = caml_ml_string_length(prefix), - _d_ = /*<>*/ len_pre <= len_s ? 1 : 0; - if(! _d_) return _d_; - var i = 0; + dst = /*<>*/ caml_create_bytes(_M_), + pos = /*<>*/ pos$1, + param$0 = l; for(;;){ - /*<>*/ if(i === len_pre) - /*<>*/ return 1; - /*<>*/ if - (caml_string_unsafe_get(s, i) !== caml_string_unsafe_get(prefix, i)) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; + /*<>*/ if(! param$0) + /*<>*/ return dst; + var hd$0 = /*<>*/ param$0[1]; + if(! param$0[2]){ + /*<>*/ caml_blit_bytes + (hd$0, 0, dst, pos, caml_ml_bytes_length(hd$0)); + /*<>*/ return dst; + } + var tl$0 = /*<>*/ param$0[2]; + /*<>*/ caml_blit_bytes + (hd$0, 0, dst, pos, caml_ml_bytes_length(hd$0)); + /*<>*/ /*<>*/ caml_blit_bytes + (sep, + 0, + dst, + pos + /*<>*/ caml_ml_bytes_length(hd$0) | 0, + seplen); + var + pos$0 = + /*<>*/ (pos + caml_ml_bytes_length(hd$0) | 0) + + seplen + | 0; + pos = pos$0; + param$0 = tl$0; } - /*<>*/ } - function ends_with(suffix, s){ + /*<>*/ } + function cat(s1, s2){ var - len_s = /*<>*/ caml_ml_string_length(s), - len_suf = caml_ml_string_length(suffix), - diff = /*<>*/ len_s - len_suf | 0, - _d_ = /*<>*/ 0 <= diff ? 1 : 0; - if(! _d_) return _d_; - var i = 0; + l1 = /*<>*/ caml_ml_bytes_length(s1), + l2 = /*<>*/ caml_ml_bytes_length(s2), + r = /*<>*/ caml_create_bytes(l1 + l2 | 0); + /*<>*/ caml_blit_bytes(s1, 0, r, 0, l1); + /*<>*/ caml_blit_bytes(s2, 0, r, l1, l2); + /*<>*/ return r; + /*<>*/ } + function is_space(param){ + var _M_ = /*<>*/ param - 9 | 0; + a: + { + if(4 < _M_ >>> 0){if(23 !== _M_) break a;} else if(2 === _M_) break a; + /*<>*/ return 1; + } + /*<>*/ return 0; + /*<>*/ } + function trim(s){ + var + len = /*<>*/ caml_ml_bytes_length(s), + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === len_suf) - /*<>*/ return 1; - /*<>*/ if - (caml_string_unsafe_get(s, diff + i | 0) - !== caml_string_unsafe_get(suffix, i)) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; + if(i >= len) break; + if + (! + /*<>*/ is_space + ( /*<>*/ caml_bytes_unsafe_get(s, i))) + break; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function hash(x){ - /*<>*/ return caml_string_hash(0, x) /*<>*/ ; + var j = /*<>*/ len - 1 | 0; + for(;;){ + if + (i <= j + && + /*<>*/ is_space + ( /*<>*/ caml_bytes_unsafe_get(s, j))){ + var j$0 = /*<>*/ j - 1 | 0; + j = j$0; + continue; + } + /*<>*/ return i <= j + ? /*<>*/ sub(s, i, (j - i | 0) + 1 | 0) + : empty /*<>*/ ; + } } - function split_on_char(sep, s){ + function unsafe_escape(s){ var - _a_ = /*<>*/ 0, - _b_ = /*<>*/ caml_ml_string_length(s), - _c_ = /*<>*/ caml_ml_string_length(s) - 1 | 0; - if(_c_ < 0) - var j$1 = _b_, r$1 = _a_; + _E_ = /*<>*/ 0, + _F_ = /*<>*/ caml_ml_bytes_length(s) - 1 | 0, + _I_ = 0; + if(_F_ < 0) + var n$0 = _E_; else{ - var j = _b_, r = _a_, i = _c_; + var n = _E_, i$0 = _I_; for(;;){ - /*<>*/ if(caml_string_unsafe_get(s, i) === sep) - var - j$0 = /*<>*/ i, - r$0 = - [0, - /*<>*/ sub(s, i + 1 | 0, (j - i | 0) - 1 | 0), - r]; - else - var j$0 = /*<>*/ j, r$0 = r; - var _d_ = i - 1 | 0; - if(0 === i){var j$1 = j$0, r$1 = r$0; break;} - j = j$0; - r = r$0; - i = _d_; + var match = /*<>*/ caml_bytes_unsafe_get(s, i$0); + a: + { + b: + { + c: + { + if(32 <= match){ + var _C_ = match - 34 | 0; + if(58 < _C_ >>> 0){ + if(93 <= _C_) break c; + } + else if(56 < _C_ - 1 >>> 0) break b; + var _D_ = /*<>*/ 1; + break a; + } + /*<>*/ if(11 <= match){ + if(13 === match) break b; + } + else if(8 <= match) break b; + } + var _D_ = /*<>*/ 4; + break a; + } + var _D_ = /*<>*/ 2; + } + var _H_ = /*<>*/ n + _D_ | 0, _M_ = i$0 + 1 | 0; + if(_F_ === i$0){var n$0 = _H_; break;} + n = _H_; + i$0 = _M_; } } - /*<>*/ return [0, sub(s, 0, j$1), r$1] /*<>*/ ; - /*<>*/ } - var compare = /*<>*/ runtime.caml_string_compare; - function to_seq(s){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[47].call(null, _a_) /*<>*/ ; - } - function to_seqi(s){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[48].call(null, _a_) /*<>*/ ; - } - function of_seq(g){ - /*<>*/ return /*<>*/ bts - ( /*<>*/ Stdlib_Bytes[49].call(null, g)) /*<>*/ ; - } - function get_utf_8_uchar(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[50].call(null, _a_, i) /*<>*/ ; - } - function is_valid_utf_8(s){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[52].call(null, _a_); - } - function get_utf_16be_uchar(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[53].call(null, _a_, i) /*<>*/ ; - } - function is_valid_utf_16be(s){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[55].call(null, _a_); - } - function get_utf_16le_uchar(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[56].call(null, _a_, i) /*<>*/ ; - } - function is_valid_utf_16le(s){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[58].call(null, _a_); - } - function get_int8(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[60].call(null, _a_, i) /*<>*/ ; - } - function get_uint16_le(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[63].call(null, _a_, i) /*<>*/ ; - } - function get_uint16_be(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[62].call(null, _a_, i) /*<>*/ ; - } - function get_int16_ne(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[64].call(null, _a_, i) /*<>*/ ; - } - function get_int16_le(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[66].call(null, _a_, i) /*<>*/ ; - } - function get_int16_be(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[65].call(null, _a_, i) /*<>*/ ; - } - function get_int32_le(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[69].call(null, _a_, i) /*<>*/ ; - } - function get_int32_be(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[68].call(null, _a_, i) /*<>*/ ; - } - function get_int64_le(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[72].call(null, _a_, i) /*<>*/ ; - } - function get_int64_be(s, i){ - var _a_ = /*<>*/ bos(s); - /*<>*/ return Stdlib_Bytes[71].call(null, _a_, i) /*<>*/ ; - } - var - Stdlib_String = - /*<>*/ [0, - make, - init, - empty, - of_bytes, - to_bytes, - blit, - concat, - cat, - caml_string_equal, - compare, - starts_with, - ends_with, - contains_from, - rcontains_from, - contains, - sub, - split_on_char, - map, - mapi, - fold_left, - fold_right, - for_all, - exists, - trim, - escaped, - uppercase_ascii, - lowercase_ascii, - capitalize_ascii, - uncapitalize_ascii, - iter, - iteri, - index_from, - index_from_opt, - rindex_from, - rindex_from_opt, - index, - index_opt, - rindex, - rindex_opt, - to_seq, - to_seqi, - of_seq, - get_utf_8_uchar, - is_valid_utf_8, - get_utf_16be_uchar, - is_valid_utf_16be, - get_utf_16le_uchar, - is_valid_utf_16le, - runtime.caml_string_get, - get_int8, - runtime.caml_string_get16, - get_uint16_be, - get_uint16_le, - get_int16_ne, - get_int16_be, - get_int16_le, - runtime.caml_string_get32, - hash, - caml_string_hash, - get_int32_be, - get_int32_le, - runtime.caml_string_get64, - get_int64_be, - get_int64_le]; - runtime.caml_register_global(12, Stdlib_String, "Stdlib__String"); - return; - } - (globalThis)); - -//# unitInfo: Provides: Stdlib__Unit -//# shape: Stdlib__Unit:[F(2)*,F(2)*,F(1)*] -(function - (globalThis){ - "use strict"; - var runtime = globalThis.jsoo_runtime, cst = "()"; - function equal(_a_, param){ - /*<>*/ return 1; - /*<>*/ } - function compare(_a_, param){ - /*<>*/ return 0; - /*<>*/ } - function to_string(param){ - /*<>*/ return cst; - /*<>*/ } - var Stdlib_Unit = /*<>*/ [0, equal, compare, to_string]; - runtime.caml_register_global(1, Stdlib_Unit, "Stdlib__Unit"); - return; - } - (globalThis)); - -//# unitInfo: Provides: Stdlib__Marshal -//# unitInfo: Requires: Stdlib, Stdlib__Bytes -//# shape: Stdlib__Marshal:[F(3),F(5),F(1),F(2),F(2),N,F(2),F(2)] -(function - (globalThis){ - "use strict"; + /*<>*/ if(n$0 === caml_ml_bytes_length(s)) + /*<>*/ return s; + var + s$0 = /*<>*/ caml_create_bytes(n$0), + _G_ = /*<>*/ caml_ml_bytes_length(s) - 1 | 0, + _J_ = 0, + _K_ = 0; + if(_G_ >= 0){ + var n$1 = _J_, i = _K_; + for(;;){ + var c = /*<>*/ caml_bytes_unsafe_get(s, i); + a: + { + b: + { + c: + { + if(35 <= c){ + if(92 !== c){if(127 <= c) break b; break c;} + } + else{ + if(32 > c){ + if(14 <= c) break b; + switch(c){ + case 8: + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); + var n$2 = /*<>*/ n$1 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set(s$0, n$2, 98); + var n$10 = n$2; + break a; + case 9: + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); + var n$3 = /*<>*/ n$1 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set(s$0, n$3, 116); + var n$10 = n$3; + break a; + case 10: + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); + var n$4 = /*<>*/ n$1 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set(s$0, n$4, 110); + var n$10 = n$4; + break a; + case 13: + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); + var n$5 = /*<>*/ n$1 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set(s$0, n$5, 114); + var n$10 = n$5; + break a; + default: break b; + } + } + /*<>*/ if(34 > c) break c; + } + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); + var n$9 = /*<>*/ n$1 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set(s$0, n$9, c); + var n$10 = n$9; + break a; + } + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, c); + var n$10 = n$1; + break a; + } + /*<>*/ caml_bytes_unsafe_set(s$0, n$1, 92); + var n$6 = /*<>*/ n$1 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set + (s$0, n$6, 48 + (c / 100 | 0) | 0); + var n$7 = /*<>*/ n$6 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set + (s$0, n$7, 48 + ((c / 10 | 0) % 10 | 0) | 0); + var n$8 = /*<>*/ n$7 + 1 | 0; + /*<>*/ caml_bytes_unsafe_set + (s$0, n$8, 48 + (c % 10 | 0) | 0); + var n$10 = n$8; + } + var n$11 = /*<>*/ n$10 + 1 | 0, _L_ = i + 1 | 0; + if(_G_ === i) break; + n$1 = n$11; + i = _L_; + } + } + /*<>*/ return s$0; + /*<>*/ } + function escaped(b){ + var b$0 = /*<>*/ copy(b); + /*<>*/ return unsafe_escape(b$0) /*<>*/ ; + } + function map(f, s){ + var l = /*<>*/ caml_ml_bytes_length(s); + /*<>*/ if(0 === l) /*<>*/ return s; + var + r = /*<>*/ caml_create_bytes(l), + _A_ = /*<>*/ l - 1 | 0, + _B_ = 0; + if(_A_ >= 0){ + var i = _B_; + for(;;){ + /*<>*/ /*<>*/ caml_bytes_unsafe_set + (r, + i, + /*<>*/ caml_call1 + (f, /*<>*/ caml_bytes_unsafe_get(s, i))); + var _C_ = /*<>*/ i + 1 | 0; + if(_A_ === i) break; + i = _C_; + } + } + /*<>*/ return r; + /*<>*/ } + function mapi(f, s){ + var l = /*<>*/ caml_ml_bytes_length(s); + /*<>*/ if(0 === l) /*<>*/ return s; + var + r = /*<>*/ caml_create_bytes(l), + _y_ = /*<>*/ l - 1 | 0, + _z_ = 0; + if(_y_ >= 0){ + var i = _z_; + for(;;){ + /*<>*/ /*<>*/ caml_bytes_unsafe_set + (r, + i, + /*<>*/ caml_call2 + (f, i, /*<>*/ caml_bytes_unsafe_get(s, i))); + var _A_ = /*<>*/ i + 1 | 0; + if(_y_ === i) break; + i = _A_; + } + } + /*<>*/ return r; + /*<>*/ } + function fold_left(f, x, a){ + var + _v_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0, + _x_ = 0; + if(_v_ < 0) + var r$0 = x; + else{ + var r = x, i = _x_; + for(;;){ + var + _w_ = + /*<>*/ /*<>*/ caml_call2 + (f, r, /*<>*/ caml_bytes_unsafe_get(a, i)), + _y_ = /*<>*/ i + 1 | 0; + if(_v_ === i){var r$0 = _w_; break;} + r = _w_; + i = _y_; + } + } + /*<>*/ return r$0; + /*<>*/ } + function fold_right(f, a, x){ + var _t_ = /*<>*/ caml_ml_bytes_length(a) - 1 | 0; + if(_t_ < 0) + var r$0 = x; + else{ + var r = x, i = _t_; + for(;;){ + var + _u_ = + /*<>*/ /*<>*/ caml_call2 + (f, /*<>*/ caml_bytes_unsafe_get(a, i), r), + _v_ = /*<>*/ i - 1 | 0; + if(0 === i){var r$0 = _u_; break;} + r = _u_; + i = _v_; + } + } + /*<>*/ return r$0; + /*<>*/ } + function exists(p, s){ + var + n = /*<>*/ caml_ml_bytes_length(s), + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if + ( /*<>*/ caml_call1 + (p, /*<>*/ caml_bytes_unsafe_get(s, i))) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function for_all(p, s){ + var + n = /*<>*/ caml_ml_bytes_length(s), + i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === n) /*<>*/ return 1; + /*<>*/ if + (! + /*<>*/ caml_call1 + (p, /*<>*/ caml_bytes_unsafe_get(s, i))) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function uppercase_ascii(s){ + /*<>*/ return map(Stdlib_Char[7], s) /*<>*/ ; + } + function lowercase_ascii(s){ + /*<>*/ return map(Stdlib_Char[6], s) /*<>*/ ; + } + function apply1(f, s){ + /*<>*/ if(0 === caml_ml_bytes_length(s)) + /*<>*/ return s; + var r = /*<>*/ copy(s); + /*<>*/ /*<>*/ caml_bytes_unsafe_set + (r, + 0, + /*<>*/ caml_call1 + (f, /*<>*/ caml_bytes_unsafe_get(s, 0))); + /*<>*/ return r; + /*<>*/ } + function capitalize_ascii(s){ + /*<>*/ return apply1(Stdlib_Char[7], s) /*<>*/ ; + } + function uncapitalize_ascii(s){ + /*<>*/ return apply1(Stdlib_Char[6], s) /*<>*/ ; + } + function starts_with(prefix, s){ + var + len_s = /*<>*/ caml_ml_bytes_length(s), + len_pre = caml_ml_bytes_length(prefix), + _t_ = /*<>*/ len_pre <= len_s ? 1 : 0; + if(! _t_) return _t_; + var i = 0; + for(;;){ + /*<>*/ if(i === len_pre) + /*<>*/ return 1; + /*<>*/ if + (caml_bytes_unsafe_get(s, i) !== caml_bytes_unsafe_get(prefix, i)) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function ends_with(suffix, s){ + var + len_s = /*<>*/ caml_ml_bytes_length(s), + len_suf = caml_ml_bytes_length(suffix), + diff = /*<>*/ len_s - len_suf | 0, + _t_ = /*<>*/ 0 <= diff ? 1 : 0; + if(! _t_) return _t_; + var i = 0; + for(;;){ + /*<>*/ if(i === len_suf) + /*<>*/ return 1; + /*<>*/ if + (caml_bytes_unsafe_get(s, diff + i | 0) + !== caml_bytes_unsafe_get(suffix, i)) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function index_rec(s, lim, i$1, c){ + var i = /*<>*/ i$1; + for(;;){ + if(lim <= i) + /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); + /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) + /*<>*/ return i; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function index(s, c){ + /*<>*/ return index_rec + (s, caml_ml_bytes_length(s), 0, c) /*<>*/ ; + } + function index_rec_opt(s, lim, i$1, c){ + var i = /*<>*/ i$1; + for(;;){ + if(lim <= i) /*<>*/ return 0; + /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + /*<>*/ } + function index_opt(s, c){ + /*<>*/ return index_rec_opt + (s, caml_ml_bytes_length(s), 0, c) /*<>*/ ; + } + function index_from(s, i, c){ + var l = /*<>*/ caml_ml_bytes_length(s); + /*<>*/ if(0 <= i && l >= i) + /*<>*/ return index_rec(s, l, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_index_from_Bytes_in) /*<>*/ ; + } + function index_from_opt(s, i, c){ + var l = /*<>*/ caml_ml_bytes_length(s); + /*<>*/ if(0 <= i && l >= i) + /*<>*/ return index_rec_opt(s, l, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_index_from_opt_Byte) /*<>*/ ; + } + function rindex_rec(s, i$1, c){ + var i = /*<>*/ i$1; + for(;;){ + if(0 > i) + /*<>*/ throw caml_maybe_attach_backtrace(Stdlib[8], 1); + /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) + /*<>*/ return i; + var i$0 = /*<>*/ i - 1 | 0; + i = i$0; + } + /*<>*/ } + function rindex(s, c){ + /*<>*/ return rindex_rec + (s, caml_ml_bytes_length(s) - 1 | 0, c) /*<>*/ ; + } + function rindex_from(s, i, c){ + /*<>*/ if(-1 <= i && caml_ml_bytes_length(s) > i) + /*<>*/ return rindex_rec(s, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_rindex_from_Bytes_r) /*<>*/ ; + } + function rindex_rec_opt(s, i$1, c){ + var i = /*<>*/ i$1; + for(;;){ + if(0 > i) /*<>*/ return 0; + /*<>*/ if(caml_bytes_unsafe_get(s, i) === c) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i - 1 | 0; + i = i$0; + } + /*<>*/ } + function rindex_opt(s, c){ + /*<>*/ return rindex_rec_opt + (s, caml_ml_bytes_length(s) - 1 | 0, c) /*<>*/ ; + } + function rindex_from_opt(s, i, c){ + /*<>*/ if(-1 <= i && caml_ml_bytes_length(s) > i) + /*<>*/ return rindex_rec_opt(s, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_rindex_from_opt_Byt) /*<>*/ ; + } + function contains_from(s, i, c){ + var l = /*<>*/ caml_ml_bytes_length(s); + /*<>*/ if(0 <= i && l >= i) + try{ + /*<>*/ index_rec(s, l, i, c); + var _t_ = /*<>*/ 1; + return _t_; + } + catch(exn$0){ + var exn = /*<>*/ caml_wrap_exception(exn$0); + if(exn === Stdlib[8]) /*<>*/ return 0; + /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + } + /*<>*/ return Stdlib[1].call + (null, cst_String_contains_from_Bytes) /*<>*/ ; + } + function contains(s, c){ + /*<>*/ return contains_from(s, 0, c) /*<>*/ ; + } + function rcontains_from(s, i, c){ + /*<>*/ if(0 <= i && caml_ml_bytes_length(s) > i) + try{ + /*<>*/ rindex_rec(s, i, c); + var _t_ = /*<>*/ 1; + return _t_; + } + catch(exn$0){ + var exn = /*<>*/ caml_wrap_exception(exn$0); + if(exn === Stdlib[8]) /*<>*/ return 0; + /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + } + /*<>*/ return Stdlib[1].call + (null, cst_String_rcontains_from_Byte) /*<>*/ ; + } var - runtime = globalThis.jsoo_runtime, - cst_Marshal_from_bytes$1 = "Marshal.from_bytes", - caml_marshal_data_size = runtime.caml_marshal_data_size, - caml_ml_bytes_length = runtime.caml_ml_bytes_length, - global_data = runtime.caml_get_global_data(), - Stdlib_Bytes = global_data.Stdlib__Bytes, - Stdlib = global_data.Stdlib, - cst_Marshal_to_buffer_substrin = - "Marshal.to_buffer: substring out of bounds"; - function to_buffer(buff, ofs, len, v, flags){ - /*<>*/ if - (0 <= ofs && 0 <= len && (caml_ml_bytes_length(buff) - len | 0) >= ofs) - /*<>*/ return runtime.caml_output_value_to_buffer - (buff, ofs, len, v, flags) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_Marshal_to_buffer_substrin) /*<>*/ ; + compare = /*<>*/ runtime.caml_bytes_compare, + cst_Bytes_of_seq_cannot_grow_b = "Bytes.of_seq: cannot grow bytes"; + function split_on_char(sep, s){ + var + _q_ = /*<>*/ 0, + _r_ = /*<>*/ caml_ml_bytes_length(s), + _s_ = /*<>*/ caml_ml_bytes_length(s) - 1 | 0; + if(_s_ < 0) + var j$1 = _r_, r$1 = _q_; + else{ + var j = _r_, r = _q_, i = _s_; + for(;;){ + /*<>*/ if(caml_bytes_unsafe_get(s, i) === sep) + var + j$0 = /*<>*/ i, + r$0 = + [0, + /*<>*/ sub(s, i + 1 | 0, (j - i | 0) - 1 | 0), + r]; + else + var j$0 = /*<>*/ j, r$0 = r; + var _t_ = i - 1 | 0; + if(0 === i){var j$1 = j$0, r$1 = r$0; break;} + j = j$0; + r = r$0; + i = _t_; + } + } + /*<>*/ return [0, sub(s, 0, j$1), r$1] /*<>*/ ; + /*<>*/ } + function to_seq(s){ + function aux(i, param){ + /*<>*/ if(i === caml_ml_bytes_length(s)) + /*<>*/ return 0; + var + x = /*<>*/ caml_bytes_get(s, i), + _p_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, + x, + function(_q_){ /*<>*/ return aux(_p_, _q_);}] /*<>*/ ; + /*<>*/ } + var _o_ = /*<>*/ 0; + return function(_p_){ + /*<>*/ return aux(_o_, _p_);} /*<>*/ ; + /*<>*/ } + function to_seqi(s){ + function aux(i, param){ + /*<>*/ if(i === caml_ml_bytes_length(s)) + /*<>*/ return 0; + var + x = /*<>*/ caml_bytes_get(s, i), + _n_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, + [0, i, x], + function(_o_){ /*<>*/ return aux(_n_, _o_);}] /*<>*/ ; + /*<>*/ } + var _m_ = /*<>*/ 0; + return function(_n_){ + /*<>*/ return aux(_m_, _n_);} /*<>*/ ; + /*<>*/ } + function of_seq(i){ + var + n = /*<>*/ [0, 0], + buf = /*<>*/ [0, make(256, 0)]; + /*<>*/ Stdlib_Seq[4].call + (null, + function(c){ + /*<>*/ if(n[1] === caml_ml_bytes_length(buf[1])){ + var + new_len = + /*<>*/ /*<>*/ Stdlib_Int[10].call + (null, + 2 * /*<>*/ caml_ml_bytes_length(buf[1]) | 0, + Stdlib_Sys[13]); + /*<>*/ if(caml_ml_bytes_length(buf[1]) === new_len) + /*<>*/ Stdlib[2].call + (null, cst_Bytes_of_seq_cannot_grow_b); + var new_buf = /*<>*/ make(new_len, 0); + /*<>*/ blit(buf[1], 0, new_buf, 0, n[1]); + /*<>*/ buf[1] = new_buf; + } + /*<>*/ caml_bytes_set(buf[1], n[1], c); + /*<>*/ n[1]++; + return 0; + /*<>*/ }, + i); + /*<>*/ return sub(buf[1], 0, n[1]) /*<>*/ ; } - var - cst_Marshal_data_size = /*<>*/ "Marshal.data_size", - cst_Marshal_from_bytes = cst_Marshal_from_bytes$1, - cst_Marshal_from_bytes$0 = cst_Marshal_from_bytes$1; - function data_size(buff, ofs){ - /*<>*/ if - (0 <= ofs && (caml_ml_bytes_length(buff) - 16 | 0) >= ofs) - /*<>*/ return caml_marshal_data_size(buff, ofs) /*<>*/ ; - /*<>*/ return Stdlib[1].call - (null, cst_Marshal_data_size) /*<>*/ ; + function unsafe_get_uint16_le(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bswap16 + ( /*<>*/ caml_bytes_get16(b, i)) + : /*<>*/ caml_bytes_get16(b, i) /*<>*/ ; } - function total_size(buff, ofs){ - /*<>*/ return 16 + data_size(buff, ofs) | 0 /*<>*/ ; + function unsafe_get_uint16_be(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_get16(b, i) + : /*<>*/ caml_bswap16 + ( /*<>*/ caml_bytes_get16(b, i)) /*<>*/ ; } - function from_bytes(buff, ofs){ - /*<>*/ if - (0 <= ofs && (caml_ml_bytes_length(buff) - 16 | 0) >= ofs){ - var len = /*<>*/ caml_marshal_data_size(buff, ofs); - /*<>*/ return (caml_ml_bytes_length(buff) - - (16 + len | 0) - | 0) - < ofs - ? /*<>*/ Stdlib - [1].call - (null, cst_Marshal_from_bytes$0) - : /*<>*/ runtime.caml_input_value_from_bytes - (buff, ofs) /*<>*/ ; + function get_int8(b, i){ + var + _l_ = /*<>*/ Stdlib_Sys[11] - 8 | 0, + _m_ = Stdlib_Sys[11] - 8 | 0; + return caml_bytes_get(b, i) << _m_ >> _l_ /*<>*/ ; + /*<>*/ } + function get_uint16_le(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bswap16 + ( /*<>*/ caml_bytes_get16(b, i)) + : /*<>*/ caml_bytes_get16(b, i) /*<>*/ ; + } + function get_uint16_be(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_get16(b, i) + : /*<>*/ caml_bswap16 + ( /*<>*/ caml_bytes_get16(b, i)) /*<>*/ ; + } + function get_int16_ne(b, i){ + var + _k_ = /*<>*/ Stdlib_Sys[11] - 16 | 0, + _l_ = Stdlib_Sys[11] - 16 | 0; + return caml_bytes_get16(b, i) << _l_ >> _k_ /*<>*/ ; + /*<>*/ } + function get_int16_le(b, i){ + var + _j_ = /*<>*/ Stdlib_Sys[11] - 16 | 0, + _k_ = Stdlib_Sys[11] - 16 | 0; + return get_uint16_le(b, i) << _k_ >> _j_ /*<>*/ ; + /*<>*/ } + function get_int16_be(b, i){ + var + _i_ = /*<>*/ Stdlib_Sys[11] - 16 | 0, + _j_ = Stdlib_Sys[11] - 16 | 0; + return get_uint16_be(b, i) << _j_ >> _i_ /*<>*/ ; + /*<>*/ } + function get_int32_le(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_int32_bswap + ( /*<>*/ caml_bytes_get32(b, i)) + : /*<>*/ caml_bytes_get32(b, i) /*<>*/ ; + } + function get_int32_be(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_get32(b, i) + : /*<>*/ caml_int32_bswap + ( /*<>*/ caml_bytes_get32(b, i)) /*<>*/ ; + } + function get_int64_le(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_int64_bswap + ( /*<>*/ caml_bytes_get64(b, i)) + : /*<>*/ caml_bytes_get64(b, i) /*<>*/ ; + } + function get_int64_be(b, i){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_get64(b, i) + : /*<>*/ caml_int64_bswap + ( /*<>*/ caml_bytes_get64(b, i)) /*<>*/ ; + } + function unsafe_set_uint16_le(b, i, x){ + /*<>*/ if(Stdlib_Sys[12]){ + /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)); + /*<>*/ return; + } + /*<>*/ caml_bytes_set16(b, i, x); + /*<>*/ } + function unsafe_set_uint16_be(b, i, x){ + /*<>*/ if(Stdlib_Sys[12]){ + /*<>*/ caml_bytes_set16(b, i, x); + /*<>*/ return; + } + /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)); + /*<>*/ } + function set_int16_le(b, i, x){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)) + : /*<>*/ caml_bytes_set16(b, i, x) /*<>*/ ; + } + function set_int16_be(b, i, x){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_set16(b, i, x) + : /*<>*/ caml_bytes_set16(b, i, caml_bswap16(x)) /*<>*/ ; + } + function set_int32_le(b, i, x){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_set32 + (b, i, /*<>*/ caml_int32_bswap(x)) + : /*<>*/ caml_bytes_set32(b, i, x) /*<>*/ ; + } + function set_int32_be(b, i, x){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_set32(b, i, x) + : /*<>*/ caml_bytes_set32 + (b, i, /*<>*/ caml_int32_bswap(x)) /*<>*/ ; + } + function set_int64_le(b, i, x){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_set64 + (b, i, /*<>*/ caml_int64_bswap(x)) + : /*<>*/ caml_bytes_set64(b, i, x) /*<>*/ ; + } + function set_int64_be(b, i, x){ + /*<>*/ return Stdlib_Sys[12] + ? /*<>*/ caml_bytes_set64(b, i, x) + : /*<>*/ caml_bytes_set64 + (b, i, /*<>*/ caml_int64_bswap(x)) /*<>*/ ; + } + var + set_uint8 = /*<>*/ caml_bytes_set, + set_uint16_ne = caml_bytes_set16, + dec_invalid = Stdlib_Uchar[23], + _a_ = [0, cst_bytes_ml, 679, 9], + _b_ = [0, cst_bytes_ml, 654, 20], + cst_index_out_of_bounds = cst_index_out_of_bounds$3, + cst_index_out_of_bounds$0 = cst_index_out_of_bounds$3, + _c_ = [0, cst_bytes_ml, 777, 9], + _d_ = [0, cst_bytes_ml, 766, 20], + cst_index_out_of_bounds$1 = cst_index_out_of_bounds$3, + cst_index_out_of_bounds$2 = cst_index_out_of_bounds$3, + _e_ = [0, cst_bytes_ml, 831, 9], + _f_ = [0, cst_bytes_ml, 820, 20]; + function dec_ret(n, u){ + var _i_ = /*<>*/ Stdlib_Uchar[9].call(null, u); + /*<>*/ return Stdlib_Uchar[22].call(null, n, _i_); + } + function not_in_x80_to_xBF(b){ + /*<>*/ return 2 !== (b >>> 6 | 0) ? 1 : 0; + /*<>*/ } + function not_in_xA0_to_xBF(b){ + /*<>*/ return 5 !== (b >>> 5 | 0) ? 1 : 0; + /*<>*/ } + function not_in_x80_to_x9F(b){ + /*<>*/ return 4 !== (b >>> 5 | 0) ? 1 : 0; + /*<>*/ } + function not_in_x90_to_xBF(b){ + var + _h_ = /*<>*/ b < 144 ? 1 : 0, + _i_ = _h_ || (191 < b ? 1 : 0); + return _i_; + /*<>*/ } + function not_in_x80_to_x8F(b){ + /*<>*/ return 8 !== (b >>> 4 | 0) ? 1 : 0; + /*<>*/ } + function utf_8_uchar_3(b0, b1, b2){ + /*<>*/ return (b0 & 15) << 12 | (b1 & 63) << 6 | b2 & 63; + /*<>*/ } + function utf_8_uchar_4(b0, b1, b2, b3){ + /*<>*/ return (b0 & 7) << 18 | (b1 & 63) << 12 + | (b2 & 63) << 6 + | b3 & 63; + /*<>*/ } + function get_utf_8_uchar(b, i){ + var + b0 = /*<>*/ caml_bytes_get(b, i), + max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; + a: + { + /*<>*/ if(224 <= b0){ + if(237 <= b0){ + if(245 <= b0) break a; + switch(b0 - 237 | 0){ + case 0: + var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$0) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1$4 = /*<>*/ caml_bytes_unsafe_get(b, i$0); + /*<>*/ if(not_in_x80_to_x9F(b1$4)) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var i$1 = /*<>*/ i$0 + 1 | 0; + /*<>*/ if(max < i$1) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var b2$3 = /*<>*/ caml_bytes_unsafe_get(b, i$1); + /*<>*/ return not_in_x80_to_xBF(b2$3) + ? /*<>*/ dec_invalid(2) + : /*<>*/ dec_ret + (3, /*<>*/ utf_8_uchar_3(b0, b1$4, b2$3)) /*<>*/ ; + case 3: + var i$4 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$4) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1$2 = /*<>*/ caml_bytes_unsafe_get(b, i$4); + /*<>*/ if(not_in_x90_to_xBF(b1$2)) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var i$5 = /*<>*/ i$4 + 1 | 0; + /*<>*/ if(max < i$5) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var b2$1 = /*<>*/ caml_bytes_unsafe_get(b, i$5); + /*<>*/ if(not_in_x80_to_xBF(b2$1)) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var i$6 = /*<>*/ i$5 + 1 | 0; + /*<>*/ if(max < i$6) + /*<>*/ return dec_invalid(3) /*<>*/ ; + var b3$1 = /*<>*/ caml_bytes_unsafe_get(b, i$6); + /*<>*/ return not_in_x80_to_xBF(b3$1) + ? /*<>*/ dec_invalid(3) + : /*<>*/ dec_ret + (4, + /*<>*/ utf_8_uchar_4(b0, b1$2, b2$1, b3$1)) /*<>*/ ; + case 7: + var i$10 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$10) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1$0 = /*<>*/ caml_bytes_unsafe_get(b, i$10); + /*<>*/ if(not_in_x80_to_x8F(b1$0)) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var i$11 = /*<>*/ i$10 + 1 | 0; + /*<>*/ if(max < i$11) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var b2 = /*<>*/ caml_bytes_unsafe_get(b, i$11); + /*<>*/ if(not_in_x80_to_xBF(b2)) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var i$12 = /*<>*/ i$11 + 1 | 0; + /*<>*/ if(max < i$12) + /*<>*/ return dec_invalid(3) /*<>*/ ; + var b3 = /*<>*/ caml_bytes_unsafe_get(b, i$12); + /*<>*/ return not_in_x80_to_xBF(b3) + ? /*<>*/ dec_invalid(3) + : /*<>*/ dec_ret + (4, + /*<>*/ utf_8_uchar_4(b0, b1$0, b2, b3)) /*<>*/ ; + case 1: + case 2: break; + default: + var i$7 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$7) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1$1 = /*<>*/ caml_bytes_unsafe_get(b, i$7); + /*<>*/ if(not_in_x80_to_xBF(b1$1)) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var i$8 = /*<>*/ i$7 + 1 | 0; + /*<>*/ if(max < i$8) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var b2$0 = /*<>*/ caml_bytes_unsafe_get(b, i$8); + /*<>*/ if(not_in_x80_to_xBF(b2$0)) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var i$9 = /*<>*/ i$8 + 1 | 0; + /*<>*/ if(max < i$9) + /*<>*/ return dec_invalid(3) /*<>*/ ; + var b3$0 = /*<>*/ caml_bytes_unsafe_get(b, i$9); + /*<>*/ return not_in_x80_to_xBF(b3$0) + ? /*<>*/ dec_invalid(3) + : /*<>*/ dec_ret + (4, + /*<>*/ utf_8_uchar_4(b0, b1$1, b2$0, b3$0)) /*<>*/ ; + } + } + else if(225 > b0){ + var i$13 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$13) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1$5 = /*<>*/ caml_bytes_unsafe_get(b, i$13); + /*<>*/ if(not_in_xA0_to_xBF(b1$5)) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var i$14 = /*<>*/ i$13 + 1 | 0; + /*<>*/ if(max < i$14) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var b2$4 = /*<>*/ caml_bytes_unsafe_get(b, i$14); + /*<>*/ return not_in_x80_to_xBF(b2$4) + ? /*<>*/ dec_invalid(2) + : /*<>*/ dec_ret + (3, /*<>*/ utf_8_uchar_3(b0, b1$5, b2$4)) /*<>*/ ; + } + var i$2 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$2) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1$3 = /*<>*/ caml_bytes_unsafe_get(b, i$2); + /*<>*/ if(not_in_x80_to_xBF(b1$3)) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var i$3 = /*<>*/ i$2 + 1 | 0; + /*<>*/ if(max < i$3) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var b2$2 = /*<>*/ caml_bytes_unsafe_get(b, i$3); + /*<>*/ return not_in_x80_to_xBF(b2$2) + ? /*<>*/ dec_invalid(2) + : /*<>*/ dec_ret + (3, /*<>*/ utf_8_uchar_3(b0, b1$3, b2$2)) /*<>*/ ; + } + /*<>*/ if(128 > b0) + /*<>*/ return dec_ret(1, b0) /*<>*/ ; + /*<>*/ if(194 <= b0){ + var i$15 = /*<>*/ i + 1 | 0; + /*<>*/ if(max < i$15) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var b1 = /*<>*/ caml_bytes_unsafe_get(b, i$15); + /*<>*/ return not_in_x80_to_xBF(b1) + ? /*<>*/ dec_invalid(1) + : /*<>*/ dec_ret(2, (b0 & 31) << 6 | b1 & 63) /*<>*/ ; + } } - /*<>*/ return Stdlib[1].call - (null, cst_Marshal_from_bytes) /*<>*/ ; - } - function from_string(buff, ofs){ - /*<>*/ return /*<>*/ from_bytes - ( /*<>*/ Stdlib_Bytes[45].call(null, buff), ofs) /*<>*/ ; - } - var - Stdlib_Marshal = - /*<>*/ [0, - runtime.caml_output_value, - to_buffer, - runtime.caml_input_value, - from_bytes, - from_string, - 16, - data_size, - total_size]; - runtime.caml_register_global(6, Stdlib_Marshal, "Stdlib__Marshal"); - return; - } - (globalThis)); - -//# unitInfo: Provides: Stdlib__Array -//# unitInfo: Requires: Stdlib, Stdlib__Seq, Stdlib__String -//# shape: Stdlib__Array:[F(2),F(3),F(3),F(2)*,F(1)*,F(3),F(1)*,F(4),F(5),F(1),F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(1)*->F(1)*,F(1)*->F(1)*,F(1),[]] -(function - (globalThis){ - "use strict"; - var - runtime = globalThis.jsoo_runtime, - caml_array_make = runtime.caml_array_make, - caml_array_sub = runtime.caml_array_sub, - caml_check_bound = runtime.caml_check_bound, - caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, - caml_wrap_exception = runtime.caml_wrap_exception; - function caml_call1(f, a0){ - return (f.l >= 0 ? f.l : f.l = f.length) === 1 - ? f(a0) - : runtime.caml_call_gen(f, [a0]); - } - function caml_call2(f, a0, a1){ - return (f.l >= 0 ? f.l : f.l = f.length) === 2 - ? f(a0, a1) - : runtime.caml_call_gen(f, [a0, a1]); + /*<>*/ return dec_invalid(1) /*<>*/ ; } - var - global_data = runtime.caml_get_global_data(), - cst = "", - Stdlib_Seq = global_data.Stdlib__Seq, - Stdlib = global_data.Stdlib, - Stdlib_String = global_data.Stdlib__String, - Assert_failure = global_data.Assert_failure, - Floatarray = [0], - cst_Array_init = "Array.init", - cst_Array_make_matrix = "Array.make_matrix", - cst_Array_init_matrix = "Array.init_matrix", - cst_Array_sub = "Array.sub", - cst_Array_fill = "Array.fill", - cst_Array_blit = "Array.blit", - cst_Array_iter2_arrays_must_ha = - "Array.iter2: arrays must have the same length", - cst_Array_map2_arrays_must_hav = - "Array.map2: arrays must have the same length", - cst_Array_for_all2 = "Array.for_all2", - cst_Array_exists2 = "Array.exists2", - cst_Array_combine = "Array.combine"; - function init(l, f){ - /*<>*/ if(0 === l) /*<>*/ return [0]; - /*<>*/ if(0 > l) - /*<>*/ return Stdlib[1].call(null, cst_Array_init) /*<>*/ ; + function set_utf_8_uchar(b, i, u){ + function set(_h_, _g_, _f_){ + /*<>*/ caml_bytes_unsafe_set(_h_, _g_, _f_); + } var - res = - /*<>*/ /*<>*/ caml_array_make - (l, /*<>*/ caml_call1(f, 0)), - _al_ = /*<>*/ l - 1 | 0, - _am_ = 1; - if(_al_ >= 1){ - var i = _am_; - for(;;){ - /*<>*/ res[i + 1] = caml_call1(f, i); - var _an_ = /*<>*/ i + 1 | 0; - if(_al_ === i) break; - i = _an_; - } + max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, + u$0 = /*<>*/ Stdlib_Uchar[10].call(null, u); + /*<>*/ if(0 > u$0) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Assert_failure, _b_], 1); + /*<>*/ if(127 >= u$0){ + /*<>*/ caml_bytes_set(b, i, u$0); + /*<>*/ return 1; } - /*<>*/ return res; - /*<>*/ } - function make_matrix(sx, sy, init){ - /*<>*/ if(sy < 0) - /*<>*/ Stdlib[1].call(null, cst_Array_make_matrix); - var res = /*<>*/ caml_array_make(sx, [0]); - /*<>*/ if(0 < sy){ - var _aj_ = /*<>*/ sx - 1 | 0, _ak_ = 0; - if(_aj_ >= 0){ - var x = _ak_; - for(;;){ - /*<>*/ res[x + 1] = caml_array_make(sy, init); - var _al_ = /*<>*/ x + 1 | 0; - if(_aj_ === x) break; - x = _al_; + /*<>*/ if(2047 >= u$0){ + var last$1 = /*<>*/ i + 1 | 0; + /*<>*/ return max < last$1 + ? 0 + : ( /*<>*/ caml_bytes_set + (b, i, 192 | u$0 >>> 6 | 0), + /*<>*/ set(b, last$1, 128 | u$0 & 63), + 2) /*<>*/ ; + } + /*<>*/ if(65535 >= u$0){ + var last$0 = /*<>*/ i + 2 | 0; + /*<>*/ return max < last$0 + ? 0 + : ( /*<>*/ caml_bytes_set + (b, i, 224 | u$0 >>> 12 | 0), + /*<>*/ set + (b, i + 1 | 0, 128 | (u$0 >>> 6 | 0) & 63), + /*<>*/ set(b, last$0, 128 | u$0 & 63), + 3) /*<>*/ ; + } + /*<>*/ if(1114111 < u$0) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Assert_failure, _a_], 1); + var last = /*<>*/ i + 3 | 0; + /*<>*/ return max < last + ? 0 + : ( /*<>*/ caml_bytes_set + (b, i, 240 | u$0 >>> 18 | 0), + /*<>*/ set + (b, i + 1 | 0, 128 | (u$0 >>> 12 | 0) & 63), + /*<>*/ set + (b, i + 2 | 0, 128 | (u$0 >>> 6 | 0) & 63), + /*<>*/ set(b, last, 128 | u$0 & 63), + 4) /*<>*/ ; + } + function is_valid_utf_8(b){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, i = 0; + for(;;){ + /*<>*/ if(max < i) /*<>*/ return 1; + var match = /*<>*/ caml_bytes_unsafe_get(b, i); + a: + { + /*<>*/ if(224 <= match){ + if(237 <= match){ + if(245 <= match) break a; + switch(match - 237 | 0){ + case 0: + var last = /*<>*/ i + 2 | 0; + /*<>*/ if + (max >= last + && + ! + /*<>*/ not_in_x80_to_x9F + ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last))){ + var i$0 = /*<>*/ last + 1 | 0; + i = i$0; + continue; + } + /*<>*/ return 0; + case 3: + var last$1 = /*<>*/ i + 3 | 0; + /*<>*/ if + (max >= last$1 + && + ! + /*<>*/ not_in_x90_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 2 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last$1))){ + var i$2 = /*<>*/ last$1 + 1 | 0; + i = i$2; + continue; + } + /*<>*/ return 0; + case 7: + var last$3 = /*<>*/ i + 3 | 0; + /*<>*/ if + (max >= last$3 + && + ! + /*<>*/ not_in_x80_to_x8F + ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 2 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last$3))){ + var i$4 = /*<>*/ last$3 + 1 | 0; + i = i$4; + continue; + } + /*<>*/ return 0; + case 1: + case 2: break; + default: + var last$2 = /*<>*/ i + 3 | 0; + /*<>*/ if + (max >= last$2 + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 2 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last$2))){ + var i$3 = /*<>*/ last$2 + 1 | 0; + i = i$3; + continue; + } + /*<>*/ return 0; + } + } + else if(225 > match){ + var last$4 = /*<>*/ i + 2 | 0; + /*<>*/ if + (max >= last$4 + && + ! + /*<>*/ not_in_xA0_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last$4))){ + var i$5 = /*<>*/ last$4 + 1 | 0; + i = i$5; + continue; + } + /*<>*/ return 0; + } + var last$0 = /*<>*/ i + 2 | 0; + /*<>*/ if + (max >= last$0 + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, i + 1 | 0)) + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last$0))){ + var i$1 = /*<>*/ last$0 + 1 | 0; + i = i$1; + continue; + } + /*<>*/ return 0; + } + /*<>*/ if(128 > match){ + var i$7 = /*<>*/ i + 1 | 0; + i = i$7; + continue; + } + /*<>*/ if(194 <= match){ + var last$5 = /*<>*/ i + 1 | 0; + /*<>*/ if + (max >= last$5 + && + ! + /*<>*/ not_in_x80_to_xBF + ( /*<>*/ caml_bytes_unsafe_get(b, last$5))){ + var i$6 = /*<>*/ last$5 + 1 | 0; + i = i$6; + continue; + } + /*<>*/ return 0; } } + /*<>*/ return 0; } - /*<>*/ return res; - /*<>*/ } - function init_matrix(sx, sy, f){ - /*<>*/ if(sy < 0) - /*<>*/ Stdlib[1].call(null, cst_Array_init_matrix); - var res = /*<>*/ caml_array_make(sx, [0]); - /*<>*/ if(0 < sy){ - var _ae_ = /*<>*/ sx - 1 | 0, _ag_ = 0; - if(_ae_ >= 0){ - var x = _ag_; - for(;;){ + /*<>*/ } + function get_utf_16be_uchar(b, i){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; + /*<>*/ if(0 <= i && max >= i){ + /*<>*/ if(i === max) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var hi = /*<>*/ unsafe_get_uint16_be(b, i); + /*<>*/ if(55296 <= hi && 57343 >= hi){ + /*<>*/ if(56319 < hi) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var last = /*<>*/ i + 3 | 0; + /*<>*/ if(max < last) + /*<>*/ return dec_invalid((max - i | 0) + 1 | 0) /*<>*/ ; + var lo = /*<>*/ unsafe_get_uint16_be(b, i + 2 | 0); + /*<>*/ if(56320 <= lo && 57343 >= lo){ var - row = - /*<>*/ /*<>*/ caml_array_make - (sy, /*<>*/ caml_call2(f, x, 0)), - _af_ = /*<>*/ sy - 1 | 0, - _ah_ = 1; - if(_af_ >= 1){ - var y = _ah_; - for(;;){ - /*<>*/ row[y + 1] = caml_call2(f, x, y); - var _aj_ = /*<>*/ y + 1 | 0; - if(_af_ === y) break; - y = _aj_; - } - } - /*<>*/ res[x + 1] = row; - var _ai_ = x + 1 | 0; - if(_ae_ === x) break; - x = _ai_; + u = + /*<>*/ ((hi & 1023) << 10 | lo & 1023) + 65536 | 0; + /*<>*/ return dec_ret(4, u) /*<>*/ ; } + /*<>*/ return dec_invalid(2) /*<>*/ ; } + /*<>*/ return dec_ret(2, hi) /*<>*/ ; } - /*<>*/ return res; - /*<>*/ } - function copy(a){ - var l = /*<>*/ a.length - 1; - /*<>*/ return 0 === l - ? [0] - : /*<>*/ caml_array_sub(a, 0, l) /*<>*/ ; - } - function append(a1, a2){ - var l1 = /*<>*/ a1.length - 1; - /*<>*/ return 0 === l1 - ? /*<>*/ copy(a2) - : 0 - === a2.length - 1 - ? /*<>*/ caml_array_sub(a1, 0, l1) - : /*<>*/ runtime.caml_array_append(a1, a2) /*<>*/ ; - } - function sub(a, ofs, len){ - /*<>*/ if - (0 <= ofs && 0 <= len && (a.length - 1 - len | 0) >= ofs) - /*<>*/ return caml_array_sub(a, ofs, len) /*<>*/ ; - /*<>*/ return Stdlib[1].call(null, cst_Array_sub) /*<>*/ ; - } - function fill(a, ofs, len, v){ - /*<>*/ if - (0 <= ofs && 0 <= len && (a.length - 1 - len | 0) >= ofs) - /*<>*/ return runtime.caml_array_fill(a, ofs, len, v) /*<>*/ ; - /*<>*/ return Stdlib[1].call(null, cst_Array_fill) /*<>*/ ; - } - function blit(a1, ofs1, a2, ofs2, len){ - /*<>*/ if - (0 <= len - && - 0 <= ofs1 - && - (a1.length - 1 - len | 0) >= ofs1 - && 0 <= ofs2 && (a2.length - 1 - len | 0) >= ofs2) - /*<>*/ return runtime.caml_array_blit - (a1, ofs1, a2, ofs2, len) /*<>*/ ; - /*<>*/ return Stdlib[1].call(null, cst_Array_blit) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_index_out_of_bounds) /*<>*/ ; } - function iter(f, a){ - var _ac_ = /*<>*/ a.length - 2 | 0, _ad_ = 0; - if(_ac_ >= 0){ - var i = _ad_; - for(;;){ - /*<>*/ caml_call1(f, a[i + 1]); - var _ae_ = /*<>*/ i + 1 | 0; - if(_ac_ === i) break; - i = _ae_; - } - } - /*<>*/ return 0; - /*<>*/ } - function iter2(f, a, b){ - /*<>*/ if(a.length - 1 !== b.length - 1) - /*<>*/ return Stdlib[1].call - (null, cst_Array_iter2_arrays_must_ha) /*<>*/ ; - var _aa_ = /*<>*/ a.length - 2 | 0, _ab_ = 0; - if(_aa_ >= 0){ - var i = _ab_; - for(;;){ - /*<>*/ caml_call2(f, a[i + 1], b[i + 1]); - var _ac_ = /*<>*/ i + 1 | 0; - if(_aa_ === i) break; - i = _ac_; - } - } - /*<>*/ return 0; - /*<>*/ } - function map(f, a){ - var l = /*<>*/ a.length - 1; - /*<>*/ if(0 === l) /*<>*/ return [0]; - var - r = - /*<>*/ /*<>*/ caml_array_make - (l, /*<>*/ caml_call1(f, a[1])), - ___ = /*<>*/ l - 1 | 0, - _$_ = 1; - if(___ >= 1){ - var i = _$_; - for(;;){ - /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); - var _aa_ = /*<>*/ i + 1 | 0; - if(___ === i) break; - i = _aa_; + function set_utf_16be_uchar(b, i, u){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; + /*<>*/ if(0 <= i && max >= i){ + var u$0 = /*<>*/ Stdlib_Uchar[10].call(null, u); + /*<>*/ if(0 > u$0) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Assert_failure, _d_], 1); + /*<>*/ if(65535 >= u$0){ + var last$0 = /*<>*/ i + 1 | 0; + /*<>*/ return max < last$0 + ? 0 + : ( /*<>*/ unsafe_set_uint16_be(b, i, u$0), 2) /*<>*/ ; } + /*<>*/ if(1114111 < u$0) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Assert_failure, _c_], 1); + var last = /*<>*/ i + 3 | 0; + /*<>*/ if(max < last) /*<>*/ return 0; + var + u$1 = /*<>*/ u$0 - 65536 | 0, + hi = /*<>*/ 55296 | u$1 >>> 10 | 0, + lo = /*<>*/ 56320 | u$1 & 1023; + /*<>*/ unsafe_set_uint16_be(b, i, hi); + /*<>*/ unsafe_set_uint16_be(b, i + 2 | 0, lo); + /*<>*/ return 4; } - /*<>*/ return r; - /*<>*/ } - function map_inplace(f, a){ - var _Y_ = /*<>*/ a.length - 2 | 0, _Z_ = 0; - if(_Y_ >= 0){ - var i = _Z_; - for(;;){ - /*<>*/ a[i + 1] = caml_call1(f, a[i + 1]); - var ___ = /*<>*/ i + 1 | 0; - if(_Y_ === i) break; - i = ___; + /*<>*/ return Stdlib[1].call + (null, cst_index_out_of_bounds$0) /*<>*/ ; + } + function is_valid_utf_16be(b){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, i = 0; + for(;;){ + /*<>*/ if(max < i) /*<>*/ return 1; + /*<>*/ if(i === max) /*<>*/ return 0; + var u = /*<>*/ unsafe_get_uint16_be(b, i); + /*<>*/ if(55296 <= u && 57343 >= u){ + /*<>*/ if(56319 < u) + /*<>*/ return 0; + var last = /*<>*/ i + 3 | 0; + /*<>*/ if(max < last) + /*<>*/ return 0; + var u$0 = /*<>*/ unsafe_get_uint16_be(b, i + 2 | 0); + /*<>*/ if(56320 <= u$0 && 57343 >= u$0){ + var i$1 = /*<>*/ i + 4 | 0; + i = i$1; + continue; + } + /*<>*/ return 0; } + var i$0 = /*<>*/ i + 2 | 0; + i = i$0; } - /*<>*/ return 0; - /*<>*/ } - function mapi_inplace(f, a){ - var _W_ = /*<>*/ a.length - 2 | 0, _X_ = 0; - if(_W_ >= 0){ - var i = _X_; - for(;;){ - /*<>*/ a[i + 1] = caml_call2(f, i, a[i + 1]); - var _Y_ = /*<>*/ i + 1 | 0; - if(_W_ === i) break; - i = _Y_; + /*<>*/ } + function get_utf_16le_uchar(b, i){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; + /*<>*/ if(0 <= i && max >= i){ + /*<>*/ if(i === max) + /*<>*/ return dec_invalid(1) /*<>*/ ; + var hi = /*<>*/ unsafe_get_uint16_le(b, i); + /*<>*/ if(55296 <= hi && 57343 >= hi){ + /*<>*/ if(56319 < hi) + /*<>*/ return dec_invalid(2) /*<>*/ ; + var last = /*<>*/ i + 3 | 0; + /*<>*/ if(max < last) + /*<>*/ return dec_invalid((max - i | 0) + 1 | 0) /*<>*/ ; + var lo = /*<>*/ unsafe_get_uint16_le(b, i + 2 | 0); + /*<>*/ if(56320 <= lo && 57343 >= lo){ + var + u = + /*<>*/ ((hi & 1023) << 10 | lo & 1023) + 65536 | 0; + /*<>*/ return dec_ret(4, u) /*<>*/ ; + } + /*<>*/ return dec_invalid(2) /*<>*/ ; } + /*<>*/ return dec_ret(2, hi) /*<>*/ ; } - /*<>*/ return 0; - /*<>*/ } - function map2(f, a, b){ - var - la = /*<>*/ a.length - 1, - lb = /*<>*/ b.length - 1; - /*<>*/ if(la !== lb) - /*<>*/ return Stdlib[1].call - (null, cst_Array_map2_arrays_must_hav) /*<>*/ ; - /*<>*/ if(0 === la) /*<>*/ return [0]; - var - r = - /*<>*/ /*<>*/ caml_array_make - (la, /*<>*/ caml_call2(f, a[1], b[1])), - _U_ = /*<>*/ la - 1 | 0, - _V_ = 1; - if(_U_ >= 1){ - var i = _V_; - for(;;){ - /*<>*/ r[i + 1] = caml_call2(f, a[i + 1], b[i + 1]); - var _W_ = /*<>*/ i + 1 | 0; - if(_U_ === i) break; - i = _W_; + /*<>*/ return Stdlib[1].call + (null, cst_index_out_of_bounds$1) /*<>*/ ; + } + function set_utf_16le_uchar(b, i, u){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0; + /*<>*/ if(0 <= i && max >= i){ + var u$0 = /*<>*/ Stdlib_Uchar[10].call(null, u); + /*<>*/ if(0 > u$0) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Assert_failure, _f_], 1); + /*<>*/ if(65535 >= u$0){ + var last$0 = /*<>*/ i + 1 | 0; + /*<>*/ return max < last$0 + ? 0 + : ( /*<>*/ unsafe_set_uint16_le(b, i, u$0), 2) /*<>*/ ; } + /*<>*/ if(1114111 < u$0) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Assert_failure, _e_], 1); + var last = /*<>*/ i + 3 | 0; + /*<>*/ if(max < last) /*<>*/ return 0; + var + u$1 = /*<>*/ u$0 - 65536 | 0, + hi = /*<>*/ 55296 | u$1 >>> 10 | 0, + lo = /*<>*/ 56320 | u$1 & 1023; + /*<>*/ unsafe_set_uint16_le(b, i, hi); + /*<>*/ unsafe_set_uint16_le(b, i + 2 | 0, lo); + /*<>*/ return 4; } - /*<>*/ return r; - /*<>*/ } - function iteri(f, a){ - var _S_ = /*<>*/ a.length - 2 | 0, _T_ = 0; - if(_S_ >= 0){ - var i = _T_; - for(;;){ - /*<>*/ caml_call2(f, i, a[i + 1]); - var _U_ = /*<>*/ i + 1 | 0; - if(_S_ === i) break; - i = _U_; + /*<>*/ return Stdlib[1].call + (null, cst_index_out_of_bounds$2) /*<>*/ ; + } + function is_valid_utf_16le(b){ + var max = /*<>*/ caml_ml_bytes_length(b) - 1 | 0, i = 0; + for(;;){ + /*<>*/ if(max < i) /*<>*/ return 1; + /*<>*/ if(i === max) /*<>*/ return 0; + var u = /*<>*/ unsafe_get_uint16_le(b, i); + /*<>*/ if(55296 <= u && 57343 >= u){ + /*<>*/ if(56319 < u) + /*<>*/ return 0; + var last = /*<>*/ i + 3 | 0; + /*<>*/ if(max < last) + /*<>*/ return 0; + var u$0 = /*<>*/ unsafe_get_uint16_le(b, i + 2 | 0); + /*<>*/ if(56320 <= u$0 && 57343 >= u$0){ + var i$1 = /*<>*/ i + 4 | 0; + i = i$1; + continue; + } + /*<>*/ return 0; } + var i$0 = /*<>*/ i + 2 | 0; + i = i$0; + } + /*<>*/ } + var + Stdlib_Bytes = + /*<>*/ [0, + make, + init, + empty, + copy, + of_string, + to_string, + sub, + sub_string, + extend, + fill, + blit, + blit_string, + concat, + cat, + iter, + iteri, + map, + mapi, + fold_left, + fold_right, + for_all, + exists, + trim, + escaped, + index, + index_opt, + rindex, + rindex_opt, + index_from, + index_from_opt, + rindex_from, + rindex_from_opt, + contains, + contains_from, + rcontains_from, + uppercase_ascii, + lowercase_ascii, + capitalize_ascii, + uncapitalize_ascii, + compare, + runtime.caml_bytes_equal, + starts_with, + ends_with, + caml_string_of_bytes, + caml_bytes_of_string, + split_on_char, + to_seq, + to_seqi, + of_seq, + get_utf_8_uchar, + set_utf_8_uchar, + is_valid_utf_8, + get_utf_16be_uchar, + set_utf_16be_uchar, + is_valid_utf_16be, + get_utf_16le_uchar, + set_utf_16le_uchar, + is_valid_utf_16le, + caml_bytes_get, + get_int8, + caml_bytes_get16, + get_uint16_be, + get_uint16_le, + get_int16_ne, + get_int16_be, + get_int16_le, + caml_bytes_get32, + get_int32_be, + get_int32_le, + caml_bytes_get64, + get_int64_be, + get_int64_le, + set_uint8, + caml_bytes_set, + set_uint16_ne, + set_int16_be, + set_int16_le, + caml_bytes_set16, + set_int16_be, + set_int16_le, + caml_bytes_set32, + set_int32_be, + set_int32_le, + caml_bytes_set64, + set_int64_be, + set_int64_le, + unsafe_escape]; + runtime.caml_register_global(30, Stdlib_Bytes, "Stdlib__Bytes"); + return; + /*<>*/ } + (globalThis)); + +//# unitInfo: Provides: Stdlib__String +//# unitInfo: Requires: Stdlib, Stdlib__Array, Stdlib__Bytes, Stdlib__Int, Stdlib__List, Stdlib__Uchar +//# shape: Stdlib__String:[F(2),F(2),N,F(1),F(1),F(5),F(2),F(2)*,F(2)*,F(2)*,F(2),F(2),F(3),F(3),F(2),F(3),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(1),F(1),F(1),F(1),F(1),F(1),F(2),F(2),F(3),F(3),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*,F(1)*,F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(2)] +(function + (globalThis){ + "use strict"; + var + runtime = globalThis.jsoo_runtime, + cst$0 = "", + caml_array_make = runtime.caml_array_make, + caml_blit_string = runtime.caml_blit_string, + caml_check_bound = runtime.caml_check_bound, + caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, + caml_ml_string_length = runtime.caml_ml_string_length, + caml_string_equal = runtime.caml_string_equal, + caml_string_hash = runtime.caml_string_hash, + caml_string_unsafe_get = runtime.caml_string_unsafe_get, + caml_wrap_exception = runtime.caml_wrap_exception; + function caml_call1(f, a0){ + return (f.l >= 0 ? f.l : f.l = f.length) === 1 + ? f(a0) + : runtime.caml_call_gen(f, [a0]); + } + function caml_call2(f, a0, a1){ + return (f.l >= 0 ? f.l : f.l = f.length) === 2 + ? f(a0, a1) + : runtime.caml_call_gen(f, [a0, a1]); + } + var + global_data = runtime.caml_get_global_data(), + cst = cst$0, + empty = cst$0, + Stdlib = global_data.Stdlib, + Stdlib_List = global_data.Stdlib__List, + Stdlib_Int = global_data.Stdlib__Int, + Stdlib_Uchar = global_data.Stdlib__Uchar, + Stdlib_Array = global_data.Stdlib__Array, + Stdlib_Bytes = global_data.Stdlib__Bytes, + bts = Stdlib_Bytes[44], + bos = Stdlib_Bytes[45]; + function make(n, c){ + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[1].call(null, n, c)) /*<>*/ ; + } + function init(n, f){ + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[2].call(null, n, f)) /*<>*/ ; + } + var of_bytes = /*<>*/ Stdlib_Bytes[6], to_bytes = Stdlib_Bytes[5]; + function sub(s, ofs, len){ + /*<>*/ if(0 === ofs && caml_ml_string_length(s) === len) + /*<>*/ return s; + var _E_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[7].call(null, _E_, ofs, len)) /*<>*/ ; + } + var + blit = /*<>*/ Stdlib_Bytes[12], + cst_String_concat = "String.concat"; + function concat(sep, l){ + /*<>*/ if(! l) /*<>*/ return cst; + /*<>*/ if(! l[2]){ + var s = l[1]; + /*<>*/ return s; } - /*<>*/ return 0; - /*<>*/ } - function mapi(f, a){ - var l = /*<>*/ a.length - 1; - /*<>*/ if(0 === l) /*<>*/ return [0]; - var - r = - /*<>*/ /*<>*/ caml_array_make - (l, /*<>*/ caml_call2(f, 0, a[1])), - _Q_ = /*<>*/ l - 1 | 0, - _R_ = 1; - if(_Q_ >= 1){ - var i = _R_; + var seplen = /*<>*/ caml_ml_string_length(sep); + a: + { + var acc = /*<>*/ 0, param = l, pos$1 = 0; for(;;){ - /*<>*/ r[i + 1] = caml_call2(f, i, a[i + 1]); - var _S_ = /*<>*/ i + 1 | 0; - if(_Q_ === i) break; - i = _S_; + /*<>*/ if(! param){var _E_ = acc; break a;} + var hd = param[1]; + if(! param[2]) break; + var + tl = param[2], + x = + /*<>*/ (caml_ml_string_length(hd) + seplen | 0) + + acc + | 0; + /*<>*/ if(acc <= x){ + acc = x; + param = tl; + } + else{ + /*<>*/ acc = Stdlib[1].call(null, cst_String_concat); + param = tl; + } } + var _E_ = /*<>*/ caml_ml_string_length(hd) + acc | 0; } - /*<>*/ return r; - /*<>*/ } - function to_list(a){ - var i$1 = /*<>*/ a.length - 2 | 0, i = i$1, res = 0; - for(;;){ - /*<>*/ if(0 > i) /*<>*/ return res; - var res$0 = /*<>*/ [0, a[i + 1], res], i$0 = i - 1 | 0; - i = i$0; - res = res$0; - } - /*<>*/ } - function list_length(accu$1, param$0){ - var accu = /*<>*/ accu$1, param = param$0; - for(;;){ - if(! param) /*<>*/ return accu; - var - t = /*<>*/ param[2], - accu$0 = /*<>*/ accu + 1 | 0; - accu = accu$0; - param = t; - } - /*<>*/ } - function of_list(l){ - /*<>*/ if(! l) /*<>*/ return [0]; var - tl = /*<>*/ l[2], - hd = l[1], - a = - /*<>*/ /*<>*/ caml_array_make - ( /*<>*/ list_length(0, l), hd), - i = /*<>*/ 1, - param = tl; + dst = /*<>*/ runtime.caml_create_bytes(_E_), + pos = /*<>*/ pos$1, + param$0 = l; for(;;){ - /*<>*/ if(! param) /*<>*/ return a; - var tl$0 = /*<>*/ param[2], hd$0 = param[1]; - /*<>*/ a[i + 1] = hd$0; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - param = tl$0; - } - /*<>*/ } - function fold_left(f, x, a){ - var _N_ = /*<>*/ a.length - 2 | 0, _P_ = 0; - if(_N_ < 0) - var r$0 = x; - else{ - var r = x, i = _P_; - for(;;){ - var - _O_ = /*<>*/ caml_call2(f, r, a[i + 1]), - _Q_ = /*<>*/ i + 1 | 0; - if(_N_ === i){var r$0 = _O_; break;} - r = _O_; - i = _Q_; + /*<>*/ if(param$0){ + var hd$0 = param$0[1]; + if(param$0[2]){ + var tl$0 = param$0[2]; + /*<>*/ caml_blit_string + (hd$0, 0, dst, pos, caml_ml_string_length(hd$0)); + /*<>*/ /*<>*/ caml_blit_string + (sep, + 0, + dst, + pos + /*<>*/ caml_ml_string_length(hd$0) | 0, + seplen); + var + pos$0 = + /*<>*/ (pos + caml_ml_string_length(hd$0) | 0) + + seplen + | 0; + pos = pos$0; + param$0 = tl$0; + continue; + } + /*<>*/ caml_blit_string + (hd$0, 0, dst, pos, caml_ml_string_length(hd$0)); } + /*<>*/ return bts(dst); } - /*<>*/ return r$0; - /*<>*/ } - function fold_left_map(f, acc, input_array){ - var len = /*<>*/ input_array.length - 1; - /*<>*/ if(0 === len) - /*<>*/ return [0, acc, [0]]; + } + var + cat = /*<>*/ Stdlib[28], + cst_String_index_from_Bytes_in = "String.index_from / Bytes.index_from", + cst_String_index_from_opt_Byte = + "String.index_from_opt / Bytes.index_from_opt", + cst_String_rindex_from_Bytes_r = "String.rindex_from / Bytes.rindex_from", + cst_String_rindex_from_opt_Byt = + "String.rindex_from_opt / Bytes.rindex_from_opt", + cst_String_contains_from_Bytes = + "String.contains_from / Bytes.contains_from", + cst_String_rcontains_from_Byte = + "String.rcontains_from / Bytes.rcontains_from"; + function iter(f, s){ var - match = /*<>*/ caml_call2(f, acc, input_array[1]), - elt = /*<>*/ match[2], - acc$0 = match[1], - output_array = /*<>*/ caml_array_make(len, elt), - _L_ = /*<>*/ len - 1 | 0, - _M_ = 1; - if(_L_ < 1) - var acc$3 = acc$0; - else{ - var acc$2 = acc$0, i = _M_; + _C_ = /*<>*/ caml_ml_string_length(s) - 1 | 0, + _D_ = 0; + if(_C_ >= 0){ + var i = _D_; for(;;){ - var - match$0 = - /*<>*/ caml_call2(f, acc$2, input_array[i + 1]), - elt$0 = /*<>*/ match$0[2], - acc$1 = match$0[1]; - /*<>*/ output_array[i + 1] = elt$0; - var _N_ = /*<>*/ i + 1 | 0; - if(_L_ === i){var acc$3 = acc$1; break;} - acc$2 = acc$1; - i = _N_; + /*<>*/ caml_call1(f, caml_string_unsafe_get(s, i)); + var _E_ = /*<>*/ i + 1 | 0; + if(_C_ === i) break; + i = _E_; } } - /*<>*/ return [0, acc$3, output_array]; - /*<>*/ } - function fold_right(f, a, x){ - var _J_ = /*<>*/ a.length - 2 | 0; - if(_J_ < 0) - var r$0 = x; - else{ - var r = x, i = _J_; + /*<>*/ return 0; + /*<>*/ } + function iteri(f, s){ + var + _A_ = /*<>*/ caml_ml_string_length(s) - 1 | 0, + _B_ = 0; + if(_A_ >= 0){ + var i = _B_; for(;;){ - var - _K_ = /*<>*/ caml_call2(f, a[i + 1], r), - _L_ = /*<>*/ i - 1 | 0; - if(0 === i){var r$0 = _K_; break;} - r = _K_; - i = _L_; + /*<>*/ caml_call2(f, i, caml_string_unsafe_get(s, i)); + var _C_ = /*<>*/ i + 1 | 0; + if(_A_ === i) break; + i = _C_; } } - /*<>*/ return r$0; - /*<>*/ } - function exists(p, a){ - var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; - for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(caml_call1(p, a[i + 1])) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - } - /*<>*/ } - function for_all(p, a){ - var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; - for(;;){ - /*<>*/ if(i === n) /*<>*/ return 1; - /*<>*/ if(! caml_call1(p, a[i + 1])) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - } - /*<>*/ } - function for_all2(p, l1, l2){ - var n1 = /*<>*/ l1.length - 1, n2 = l2.length - 1; - /*<>*/ if(n1 !== n2) - /*<>*/ return Stdlib[1].call(null, cst_Array_for_all2) /*<>*/ ; - var i = /*<>*/ 0; - for(;;){ - /*<>*/ if(i === n1) /*<>*/ return 1; - /*<>*/ if(! caml_call2(p, l1[i + 1], l2[i + 1])) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - } - /*<>*/ } - function exists2(p, l1, l2){ - var n1 = /*<>*/ l1.length - 1, n2 = l2.length - 1; - /*<>*/ if(n1 !== n2) - /*<>*/ return Stdlib[1].call(null, cst_Array_exists2) /*<>*/ ; - var i = /*<>*/ 0; - for(;;){ - /*<>*/ if(i === n1) /*<>*/ return 0; - /*<>*/ if(caml_call2(p, l1[i + 1], l2[i + 1])) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; + /*<>*/ return 0; + /*<>*/ } + function map(f, s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[17].call(null, f, _A_)) /*<>*/ ; + } + function mapi(f, s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[18].call(null, f, _A_)) /*<>*/ ; + } + function fold_right(f, x, a){ + var _A_ = /*<>*/ bos(x); + /*<>*/ return Stdlib_Bytes[20].call(null, f, _A_, a) /*<>*/ ; + } + function fold_left(f, a, x){ + var _A_ = /*<>*/ bos(x); + /*<>*/ return Stdlib_Bytes[19].call(null, f, a, _A_); + } + function exists(f, s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[22].call(null, f, _A_); + } + function for_all(f, s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[21].call(null, f, _A_); + } + function is_space(param){ + var _A_ = /*<>*/ param - 9 | 0; + a: + { + if(4 < _A_ >>> 0){if(23 !== _A_) break a;} else if(2 === _A_) break a; + /*<>*/ return 1; } - /*<>*/ } - function mem(x, a){ + /*<>*/ return 0; + /*<>*/ } + function trim(s){ + /*<>*/ if(s === cst$0) + /*<>*/ return s; + /*<>*/ if + (! + /*<>*/ is_space + ( /*<>*/ caml_string_unsafe_get(s, 0)) + && + ! + /*<>*/ is_space + ( /*<>*/ caml_string_unsafe_get + (s, caml_ml_string_length(s) - 1 | 0))) + /*<>*/ return s; + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[23].call(null, _A_)) /*<>*/ ; + } + function escaped(s){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + b = /*<>*/ bos(s), + b$0 = /*<>*/ Stdlib_Bytes[87].call(null, b); + /*<>*/ return b === b$0 + ? s + : /*<>*/ bts(b$0) /*<>*/ ; + } + function index_rec(s, lim, i$1, c){ + var i = /*<>*/ i$1; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(0 === runtime.caml_compare(a[i + 1], x)) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; + if(lim <= i) + /*<>*/ throw caml_maybe_attach_backtrace + (Stdlib[8], 1); + /*<>*/ if(caml_string_unsafe_get(s, i) === c) + /*<>*/ return i; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function memq(x, a){ - var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + /*<>*/ } + function index(s, c){ + /*<>*/ return index_rec + (s, caml_ml_string_length(s), 0, c) /*<>*/ ; + } + function index_rec_opt(s, lim, i$1, c){ + var i = /*<>*/ i$1; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(x === a[i + 1]) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; + if(lim <= i) /*<>*/ return 0; + /*<>*/ if(caml_string_unsafe_get(s, i) === c) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function find_opt(p, a){ - var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + /*<>*/ } + function index_opt(s, c){ + /*<>*/ return index_rec_opt + (s, caml_ml_string_length(s), 0, c) /*<>*/ ; + } + function index_from(s, i, c){ + var l = /*<>*/ caml_ml_string_length(s); + /*<>*/ if(0 <= i && l >= i) + /*<>*/ return index_rec(s, l, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_index_from_Bytes_in) /*<>*/ ; + } + function index_from_opt(s, i, c){ + var l = /*<>*/ caml_ml_string_length(s); + /*<>*/ if(0 <= i && l >= i) + /*<>*/ return index_rec_opt(s, l, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_index_from_opt_Byte) /*<>*/ ; + } + function rindex_rec(s, i$1, c){ + var i = /*<>*/ i$1; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - var x = /*<>*/ a[i + 1]; - /*<>*/ if(caml_call1(p, x)) - /*<>*/ return [0, x]; - var i$0 = /*<>*/ i + 1 | 0; + if(0 > i) + /*<>*/ throw caml_maybe_attach_backtrace + (Stdlib[8], 1); + /*<>*/ if(caml_string_unsafe_get(s, i) === c) + /*<>*/ return i; + var i$0 = /*<>*/ i - 1 | 0; i = i$0; } - /*<>*/ } - function find_index(p, a){ - var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + /*<>*/ } + function rindex(s, c){ + /*<>*/ return rindex_rec + (s, caml_ml_string_length(s) - 1 | 0, c) /*<>*/ ; + } + function rindex_from(s, i, c){ + /*<>*/ if(-1 <= i && caml_ml_string_length(s) > i) + /*<>*/ return rindex_rec(s, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_rindex_from_Bytes_r) /*<>*/ ; + } + function rindex_rec_opt(s, i$1, c){ + var i = /*<>*/ i$1; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(caml_call1(p, a[i + 1])) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i + 1 | 0; + if(0 > i) /*<>*/ return 0; + /*<>*/ if(caml_string_unsafe_get(s, i) === c) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i - 1 | 0; i = i$0; } - /*<>*/ } - function find_map(f, a){ + /*<>*/ } + function rindex_opt(s, c){ + /*<>*/ return rindex_rec_opt + (s, caml_ml_string_length(s) - 1 | 0, c) /*<>*/ ; + } + function rindex_from_opt(s, i, c){ + /*<>*/ if(-1 <= i && caml_ml_string_length(s) > i) + /*<>*/ return rindex_rec_opt(s, i, c) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_String_rindex_from_opt_Byt) /*<>*/ ; + } + function contains_from(s, i, c){ + var l = /*<>*/ caml_ml_string_length(s); + /*<>*/ if(0 <= i && l >= i) + try{ + /*<>*/ index_rec(s, l, i, c); + var _A_ = /*<>*/ 1; + return _A_; + } + catch(exn$0){ + var exn = /*<>*/ caml_wrap_exception(exn$0); + if(exn === Stdlib[8]) /*<>*/ return 0; + /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + } + /*<>*/ return Stdlib[1].call + (null, cst_String_contains_from_Bytes) /*<>*/ ; + } + function contains(s, c){ + /*<>*/ return contains_from(s, 0, c) /*<>*/ ; + } + function rcontains_from(s, i, c){ + /*<>*/ if(0 <= i && caml_ml_string_length(s) > i) + try{ + /*<>*/ rindex_rec(s, i, c); + var _A_ = /*<>*/ 1; + return _A_; + } + catch(exn$0){ + var exn = /*<>*/ caml_wrap_exception(exn$0); + if(exn === Stdlib[8]) /*<>*/ return 0; + /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); + } + /*<>*/ return Stdlib[1].call + (null, cst_String_rcontains_from_Byte) /*<>*/ ; + } + function uppercase_ascii(s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[36].call(null, _A_)) /*<>*/ ; + } + function lowercase_ascii(s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[37].call(null, _A_)) /*<>*/ ; + } + function capitalize_ascii(s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[38].call(null, _A_)) /*<>*/ ; + } + function uncapitalize_ascii(s){ + var _A_ = /*<>*/ bos(s); + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[39].call(null, _A_)) /*<>*/ ; + } + function starts_with(prefix, s){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + len_s = /*<>*/ caml_ml_string_length(s), + len_pre = caml_ml_string_length(prefix), + _A_ = /*<>*/ len_pre <= len_s ? 1 : 0; + if(! _A_) return _A_; + var i = 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - var r = /*<>*/ caml_call1(f, a[i + 1]); - /*<>*/ if(r) /*<>*/ return r; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === len_pre) + /*<>*/ return 1; + /*<>*/ if + (caml_string_unsafe_get(s, i) !== caml_string_unsafe_get(prefix, i)) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function find_mapi(f, a){ + /*<>*/ } + function ends_with(suffix, s){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + len_s = /*<>*/ caml_ml_string_length(s), + len_suf = caml_ml_string_length(suffix), + diff = /*<>*/ len_s - len_suf | 0, + _A_ = /*<>*/ 0 <= diff ? 1 : 0; + if(! _A_) return _A_; + var i = 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - var r = /*<>*/ caml_call2(f, i, a[i + 1]); - /*<>*/ if(r) /*<>*/ return r; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === len_suf) + /*<>*/ return 1; + /*<>*/ if + (caml_string_unsafe_get(s, diff + i | 0) + !== caml_string_unsafe_get(suffix, i)) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } - function split(x){ - /*<>*/ if(runtime.caml_equal(x, [0])) - /*<>*/ return [0, [0], [0]]; + /*<>*/ } + function hash(x){ + /*<>*/ return caml_string_hash(0, x) /*<>*/ ; + } + function split_on_char(sep, s){ var - match = /*<>*/ x[1], - b0 = match[2], - a0 = match[1], - n = /*<>*/ x.length - 1, - a = /*<>*/ caml_array_make(n, a0), - b = /*<>*/ caml_array_make(n, b0), - _H_ = /*<>*/ n - 1 | 0, - _I_ = 1; - if(_H_ >= 1){ - var i = _I_; + _x_ = /*<>*/ 0, + _y_ = /*<>*/ caml_ml_string_length(s), + _z_ = /*<>*/ caml_ml_string_length(s) - 1 | 0; + if(_z_ < 0) + var j$1 = _y_, r$1 = _x_; + else{ + var j = _y_, r = _x_, i = _z_; for(;;){ - var - match$0 = /*<>*/ x[i + 1], - bi = match$0[2], - ai = match$0[1]; - /*<>*/ a[i + 1] = ai; - /*<>*/ b[i + 1] = bi; - var _J_ = /*<>*/ i + 1 | 0; - if(_H_ === i) break; - i = _J_; + /*<>*/ if(caml_string_unsafe_get(s, i) === sep) + var + j$0 = /*<>*/ i, + r$0 = + [0, + /*<>*/ sub(s, i + 1 | 0, (j - i | 0) - 1 | 0), + r]; + else + var j$0 = /*<>*/ j, r$0 = r; + var _A_ = i - 1 | 0; + if(0 === i){var j$1 = j$0, r$1 = r$0; break;} + j = j$0; + r = r$0; + i = _A_; } } - /*<>*/ return [0, a, b]; - /*<>*/ } - function combine(a, b){ + /*<>*/ return [0, sub(s, 0, j$1), r$1] /*<>*/ ; + /*<>*/ } + var compare = /*<>*/ runtime.caml_string_compare; + function to_seq(s){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[47].call(null, _x_) /*<>*/ ; + } + function to_seqi(s){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[48].call(null, _x_) /*<>*/ ; + } + function of_seq(g){ + /*<>*/ return /*<>*/ bts + ( /*<>*/ Stdlib_Bytes[49].call(null, g)) /*<>*/ ; + } + function get_utf_8_uchar(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[50].call(null, _x_, i) /*<>*/ ; + } + function is_valid_utf_8(s){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[52].call(null, _x_); + } + function get_utf_16be_uchar(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[53].call(null, _x_, i) /*<>*/ ; + } + function is_valid_utf_16be(s){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[55].call(null, _x_); + } + function get_utf_16le_uchar(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[56].call(null, _x_, i) /*<>*/ ; + } + function is_valid_utf_16le(s){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[58].call(null, _x_); + } + function get_int8(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[60].call(null, _x_, i) /*<>*/ ; + } + function get_uint16_le(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[63].call(null, _x_, i) /*<>*/ ; + } + function get_uint16_be(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[62].call(null, _x_, i) /*<>*/ ; + } + function get_int16_ne(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[64].call(null, _x_, i) /*<>*/ ; + } + function get_int16_le(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[66].call(null, _x_, i) /*<>*/ ; + } + function get_int16_be(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[65].call(null, _x_, i) /*<>*/ ; + } + function get_int32_le(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[69].call(null, _x_, i) /*<>*/ ; + } + function get_int32_be(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[68].call(null, _x_, i) /*<>*/ ; + } + function get_int64_le(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[72].call(null, _x_, i) /*<>*/ ; + } + function get_int64_be(s, i){ + var _x_ = /*<>*/ bos(s); + /*<>*/ return Stdlib_Bytes[71].call(null, _x_, i) /*<>*/ ; + } + function uchar_array_of_utf_8_string(s){ var - na = /*<>*/ a.length - 1, - nb = /*<>*/ b.length - 1; - /*<>*/ if(na !== nb) - /*<>*/ Stdlib[1].call(null, cst_Array_combine); - /*<>*/ if(0 === na) /*<>*/ return [0]; - var - x = /*<>*/ caml_array_make(na, [0, a[1], b[1]]), - _F_ = /*<>*/ na - 1 | 0, - _G_ = 1; - if(_F_ >= 1){ - var i = _G_; - for(;;){ - /*<>*/ x[i + 1] = [0, a[i + 1], b[i + 1]]; - var _H_ = i + 1 | 0; - if(_F_ === i) break; - i = _H_; - } - } - /*<>*/ return x; - /*<>*/ } - var - Bottom = - /*<>*/ [248, "Stdlib.Array.Bottom", runtime.caml_fresh_oo_id(0)], - _a_ = [0, "array.ml", 369, 4], - _b_ = [0, "]", 0], - cst_out_of_expected_range_0 = ", out of expected range [0; ", - cst_returned = "' returned ", - cst_Array_shuffle_rand = "Array.shuffle: 'rand "; - function sort(cmp, a){ - function maxson(l, i){ - var i31 = /*<>*/ ((i + i | 0) + i | 0) + 1 | 0; - /*<>*/ if((i31 + 2 | 0) < l){ + slen = /*<>*/ caml_ml_string_length(s), + uchars = /*<>*/ caml_array_make(slen, Stdlib_Uchar[2]), + i = /*<>*/ 0, + k = 0; + for(;;){ + if(i >= slen) /*<>*/ return [0, uchars, k]; + var + dec = /*<>*/ get_utf_8_uchar(s, i), + _w_ = /*<>*/ i + Stdlib_Uchar[21].call(null, dec) | 0, + _x_ = /*<>*/ Stdlib_Uchar[20].call(null, dec); + /*<>*/ caml_check_bound(uchars, k)[k + 1] = _x_; + var k$0 = /*<>*/ k + 1 | 0; + i = _w_; + k = k$0; + } + /*<>*/ } + function edit_distance(opt, s, param, s1){ + var + limit = /*<>*/ opt ? opt[1] : Stdlib_Int[5], + len0 = param[2], + s0 = param[1]; + /*<>*/ if(1 >= limit) + /*<>*/ return s === s1 ? 0 : limit; + var + match = /*<>*/ uchar_array_of_utf_8_string(s1), + len1 = /*<>*/ match[2], + s0$0 = match[1], + _o_ = /*<>*/ Stdlib_Int[11].call(null, len0, len1), + limit$0 = /*<>*/ Stdlib_Int[10].call(null, _o_, limit); + /*<>*/ if + (limit$0 <= Stdlib_Int[4].call(null, len1 - len0 | 0)) + /*<>*/ return limit$0; + /*<>*/ if(len1 < len0) + var s1$0 = s0$0, s0$1 = s0; + else + var s1$0 = s0, s0$1 = s0$0; + /*<>*/ if(len1 < len0) + var len1$0 = len1, len0$0 = len0; + else + var len1$0 = len0, len0$0 = len1; + var + ignore = /*<>*/ limit$0 + 1 | 0, + row_minus2$0 = + /*<>*/ caml_array_make(len1$0 + 1 | 0, ignore), + row_minus1$1 = + /*<>*/ Stdlib_Array[1].call + (null, + len1$0 + 1 | 0, + function(x){ + /*<>*/ return x; + /*<>*/ }), + row = /*<>*/ caml_array_make(len1$0 + 1 | 0, ignore), + row_minus2 = /*<>*/ row_minus2$0, + row_minus1$0 = row_minus1$1, + row_minus1 = row, + i = 1; + for(;;){ + /*<>*/ if(len0$0 < i) var - _A_ = /*<>*/ i31 + 1 | 0, - _D_ = /*<>*/ caml_check_bound(a, _A_)[_A_ + 1], - x = - /*<>*/ /*<>*/ caml_call2 - (cmp, - /*<>*/ caml_check_bound(a, i31)[i31 + 1], - _D_) - < 0 - ? i31 + 1 | 0 - : i31, - _B_ = /*<>*/ i31 + 2 | 0, - _E_ = /*<>*/ caml_check_bound(a, _B_)[_B_ + 1], - x$0 = - /*<>*/ /*<>*/ caml_call2 - (cmp, /*<>*/ caml_check_bound(a, x)[x + 1], _E_) - < 0 - ? i31 + 2 | 0 - : x; - /*<>*/ return x$0; - } - /*<>*/ if((i31 + 1 | 0) < l){ + _b_ = /*<>*/ row_minus1$0.length - 2 | 0, + d = + /*<>*/ /*<>*/ caml_check_bound + (row_minus1$0, _b_) + [_b_ + 1]; + else{ var - _C_ = i31 + 1 | 0, - _F_ = /*<>*/ caml_check_bound(a, _C_)[_C_ + 1]; - /*<>*/ if - (0 - > - /*<>*/ caml_call2 - (cmp, - /*<>*/ caml_check_bound(a, i31)[i31 + 1], - _F_)) - /*<>*/ return i31 + 1 | 0; - } - /*<>*/ if(i31 < l) /*<>*/ return i31; - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Bottom, i], 1); - /*<>*/ } - var - l = /*<>*/ a.length - 1, - _s_ = /*<>*/ ((l + 1 | 0) / 3 | 0) - 1 | 0; - if(_s_ >= 0){ - var i$6 = _s_; - for(;;){ - var e$1 = /*<>*/ caml_check_bound(a, i$6)[i$6 + 1]; - /*<>*/ try{ - var i = i$6; - for(;;){ - var j = /*<>*/ maxson(l, i); - /*<>*/ if - (0 - >= - /*<>*/ caml_call2 - (cmp, /*<>*/ caml_check_bound(a, j)[j + 1], e$1)){ - /*<>*/ caml_check_bound(a, i)[i + 1] = e$1; - break; - } - var _w_ = /*<>*/ caml_check_bound(a, j)[j + 1]; - /*<>*/ caml_check_bound(a, i)[i + 1] = _w_; - /*<>*/ i = j; - } - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; - if(tag !== Bottom) throw caml_maybe_attach_backtrace(exn, 0); - var i$0 = exn[2]; - /*<>*/ caml_check_bound(a, i$0)[i$0 + 1] = e$1; - } - var _A_ = /*<>*/ i$6 - 1 | 0; - if(0 === i$6) break; - i$6 = _A_; - } - } - var _t_ = /*<>*/ l - 1 | 0; - if(_t_ >= 2){ - var i$4 = _t_; - a: - for(;;){ - var e$0 = /*<>*/ caml_check_bound(a, i$4)[i$4 + 1]; - /*<>*/ a[i$4 + 1] = caml_check_bound(a, 0)[1]; - var i$5 = /*<>*/ 0; - try{ - var i$1 = i$5; - for(;;){ - var - j$0 = /*<>*/ maxson(i$4, i$1), - _x_ = /*<>*/ caml_check_bound(a, j$0)[j$0 + 1]; - /*<>*/ caml_check_bound(a, i$1)[i$1 + 1] = _x_; - /*<>*/ i$1 = j$0; - } - } - catch(exn){ - var exn$0 = /*<>*/ caml_wrap_exception(exn), tag$0 = exn$0[1]; - if(tag$0 !== Bottom) throw caml_maybe_attach_backtrace(exn$0, 0); - var i$2 = exn$0[2], i$3 = /*<>*/ i$2; - for(;;){ - var father = /*<>*/ (i$3 - 1 | 0) / 3 | 0; - /*<>*/ if(i$3 === father) - throw caml_maybe_attach_backtrace([0, Assert_failure, _a_], 1); - /*<>*/ if - (0 - <= - /*<>*/ caml_call2 - (cmp, - /*<>*/ caml_check_bound(a, father)[father + 1], - e$0)) - /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = e$0; - else{ - var - _y_ = - /*<>*/ caml_check_bound(a, father)[father + 1]; - /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = _y_; - /*<>*/ if(0 < father){i$3 = father; continue;} - /*<>*/ caml_check_bound(a, 0)[1] = e$0; - } - var _z_ = /*<>*/ i$4 - 1 | 0; - if(2 === i$4) break a; - i$4 = _z_; - break; - } - } - } - } - var _u_ = /*<>*/ 1 < l ? 1 : 0; - if(_u_){ - var e = /*<>*/ caml_check_bound(a, 1)[2]; - /*<>*/ a[2] = caml_check_bound(a, 0)[1]; - /*<>*/ a[1] = e; - var _v_ = /*<>*/ 0; - } - else - var _v_ = /*<>*/ _u_; - return _v_; - /*<>*/ } - function stable_sort(cmp, a){ - function merge(src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs){ - var - src1r = /*<>*/ src1ofs + src1len | 0, - src2r = src2ofs + src2len | 0, - s2$1 = - /*<>*/ caml_check_bound(src2, src2ofs)[src2ofs + 1], - s1$1 = - /*<>*/ caml_check_bound(a, src1ofs)[src1ofs + 1], - i1 = /*<>*/ src1ofs, - s1 = s1$1, - i2 = src2ofs, - s2 = s2$1, - d = dstofs; - for(;;) - /*<>*/ if(0 < caml_call2(cmp, s1, s2)){ - /*<>*/ caml_check_bound(dst, d)[d + 1] = s2; - var i2$0 = /*<>*/ i2 + 1 | 0; - /*<>*/ if(i2$0 >= src2r) - /*<>*/ return blit - (a, i1, dst, d + 1 | 0, src1r - i1 | 0) /*<>*/ ; - var - d$0 = /*<>*/ d + 1 | 0, - s2$0 = /*<>*/ caml_check_bound(src2, i2$0)[i2$0 + 1]; - /*<>*/ i2 = i2$0; - s2 = s2$0; - d = d$0; - } + len1$1 = /*<>*/ row_minus1.length - 2 | 0, + row_min = Stdlib_Int[5]; + /*<>*/ caml_check_bound(row_minus1, 0)[1] = i; + var + jmax = + /*<>*/ Stdlib_Int[10].call + (null, len1$1, (i + limit$0 | 0) - 1 | 0), + jmax$0 = /*<>*/ 0 <= jmax ? jmax : len1$1, + _c_ = + /*<>*/ Stdlib_Int[11].call + (null, 1, i - limit$0 | 0); + /*<>*/ if(jmax$0 < _c_) + var row_min$1 = row_min; else{ - /*<>*/ caml_check_bound(dst, d)[d + 1] = s1; - var i1$0 = /*<>*/ i1 + 1 | 0; - /*<>*/ if(i1$0 >= src1r) - /*<>*/ return blit - (src2, i2, dst, d + 1 | 0, src2r - i2 | 0) /*<>*/ ; - var - d$1 = /*<>*/ d + 1 | 0, - s1$0 = /*<>*/ caml_check_bound(a, i1$0)[i1$0 + 1]; - /*<>*/ i1 = i1$0; - s1 = s1$0; - d = d$1; - } - /*<>*/ } - function isortto(srcofs, dst, dstofs, len){ - var _m_ = /*<>*/ len - 1 | 0, _q_ = 0; - if(_m_ >= 0){ - var i = _q_; - a: - for(;;){ - var - _n_ = /*<>*/ srcofs + i | 0, - e = /*<>*/ caml_check_bound(a, _n_)[_n_ + 1], - j = /*<>*/ (dstofs + i | 0) - 1 | 0; + var row_min$0 = row_min, j = _c_; for(;;){ - if - (dstofs <= j - && - 0 - < - /*<>*/ caml_call2 - (cmp, - /*<>*/ caml_check_bound(dst, j)[j + 1], - e)){ + var + _d_ = /*<>*/ j - 1 | 0, + _e_ = /*<>*/ i - 1 | 0, + _p_ = /*<>*/ caml_check_bound(s1$0, _d_)[_d_ + 1], + _q_ = /*<>*/ caml_check_bound(s0$1, _e_)[_e_ + 1], + cost = + /*<>*/ Stdlib_Uchar[15].call(null, _q_, _p_) + ? 0 + : 1, + _f_ = /*<>*/ j - 1 | 0, + c = + /*<>*/ caml_check_bound(row_minus1, _f_) + [_f_ + 1] + + 1 + | 0, + b = + /*<>*/ caml_check_bound(row_minus1$0, j)[j + 1] + + 1 + | 0, + _g_ = /*<>*/ j - 1 | 0, + a = + /*<>*/ caml_check_bound(row_minus1$0, _g_) + [_g_ + 1] + + cost + | 0, + _n_ = /*<>*/ Stdlib_Int[10].call(null, b, c), + min = /*<>*/ Stdlib_Int[10].call(null, a, _n_); + /*<>*/ if(1 < i && 1 < j){ var - _o_ = /*<>*/ j + 1 | 0, - _r_ = /*<>*/ caml_check_bound(dst, j)[j + 1]; - /*<>*/ caml_check_bound(dst, _o_)[_o_ + 1] = _r_; - var j$0 = /*<>*/ j - 1 | 0; - j = j$0; - continue; + _h_ = j - 2 | 0, + _i_ = /*<>*/ i - 1 | 0, + _r_ = /*<>*/ caml_check_bound(s1$0, _h_)[_h_ + 1], + _s_ = /*<>*/ caml_check_bound(s0$1, _i_)[_i_ + 1]; + /*<>*/ if(Stdlib_Uchar[15].call(null, _s_, _r_)){ + var + _j_ = /*<>*/ j - 1 | 0, + _k_ = /*<>*/ i - 2 | 0, + _t_ = + /*<>*/ caml_check_bound(s1$0, _j_)[_j_ + 1], + _u_ = + /*<>*/ caml_check_bound(s0$1, _k_)[_k_ + 1]; + /*<>*/ if(Stdlib_Uchar[15].call(null, _u_, _t_)) + var + _l_ = /*<>*/ j - 2 | 0, + _v_ = + /*<>*/ caml_check_bound(row_minus2, _l_) + [_l_ + 1] + + cost + | 0, + min$0 = + /*<>*/ /*<>*/ Stdlib_Int + [10].call + (null, min, _v_); + else + var min$0 = /*<>*/ min; + } + else + var min$0 = /*<>*/ min; } - var _p_ = /*<>*/ j + 1 | 0; - caml_check_bound(dst, _p_)[_p_ + 1] = e; - var _s_ = /*<>*/ i + 1 | 0; - if(_m_ === i) break a; - i = _s_; - break; + else + var min$0 = /*<>*/ min; + /*<>*/ caml_check_bound(row_minus1, j)[j + 1] = min$0; + var + _m_ = + /*<>*/ Stdlib_Int[10].call + (null, row_min$0, min$0), + _w_ = /*<>*/ j + 1 | 0; + if(jmax$0 === j){var row_min$1 = _m_; break;} + row_min$0 = _m_; + j = _w_; } } - } - /*<>*/ return 0; - /*<>*/ } - function sortto(srcofs, dst, dstofs, len){ - /*<>*/ if(len <= 5) - /*<>*/ return isortto(srcofs, dst, dstofs, len) /*<>*/ ; - var - l1 = /*<>*/ len / 2 | 0, - l2 = /*<>*/ len - l1 | 0; - /*<>*/ sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - /*<>*/ sortto(srcofs, a, srcofs + l2 | 0, l1); - /*<>*/ return merge - (srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs) /*<>*/ ; - } - var l = /*<>*/ a.length - 1; - /*<>*/ if(l <= 5) - /*<>*/ return isortto(0, a, 0, l) /*<>*/ ; - var - l1 = /*<>*/ l / 2 | 0, - l2 = /*<>*/ l - l1 | 0, - t = - /*<>*/ /*<>*/ caml_array_make - (l2, /*<>*/ caml_check_bound(a, 0)[1]); - /*<>*/ sortto(l1, t, 0, l2); - /*<>*/ sortto(0, a, l2, l1); - /*<>*/ return merge(l2, l1, t, 0, l2, a, 0) /*<>*/ ; - } - function shuffle(rand, a){ - var _f_ = /*<>*/ a.length - 2 | 0; - if(_f_ >= 1){ - var i = _f_; - for(;;){ - var - j = /*<>*/ caml_call1(rand, i + 1 | 0), - _g_ = /*<>*/ 0 <= j ? 1 : 0, - _l_ = _g_ ? j <= i ? 1 : 0 : _g_; - if(1 - _l_){ - var - int = /*<>*/ Stdlib[33], - _h_ = - /*<>*/ [0, - cst_out_of_expected_range_0, - [0, int(i), _b_]], - _i_ = /*<>*/ [0, cst_returned, [0, int(j), _h_]], - _j_ = - /*<>*/ [0, - cst_Array_shuffle_rand, - [0, int(i + 1 | 0), _i_]], - _k_ = /*<>*/ Stdlib_String[7].call(null, cst, _j_); - /*<>*/ Stdlib[1].call(null, _k_); - } - var v = /*<>*/ a[i + 1]; - /*<>*/ a[i + 1] = a[j + 1]; - /*<>*/ a[j + 1] = v; - var _m_ = /*<>*/ i - 1 | 0; - if(1 === i) break; - i = _m_; - } - } - /*<>*/ return 0; - /*<>*/ } - function to_seq(a){ - function aux(i, param){ - /*<>*/ if(i >= a.length - 1) - /*<>*/ return 0; - var - x = /*<>*/ a[i + 1], - _e_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, - x, - function(_f_){ /*<>*/ return aux(_e_, _f_);}] /*<>*/ ; - /*<>*/ } - var _d_ = /*<>*/ 0; - return function(_e_){ - /*<>*/ return aux(_d_, _e_);} /*<>*/ ; - /*<>*/ } - function to_seqi(a){ - function aux(i, param){ - /*<>*/ if(i >= a.length - 1) - /*<>*/ return 0; - var - x = /*<>*/ a[i + 1], - _c_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, - [0, i, x], - function(_d_){ /*<>*/ return aux(_c_, _d_);}] /*<>*/ ; - /*<>*/ } - var _b_ = /*<>*/ 0; - return function(_c_){ - /*<>*/ return aux(_b_, _c_);} /*<>*/ ; - /*<>*/ } - function of_seq(i$2){ - var - l = - /*<>*/ Stdlib_Seq[5].call - (null, - function(acc, x){ - /*<>*/ return [0, x, acc]; - /*<>*/ }, - 0, - i$2); - /*<>*/ if(! l) /*<>*/ return [0]; + /*<>*/ if(limit$0 > row_min$1){ + var i$0 = /*<>*/ i + 1 | 0, _a_ = _a_; + _a_ = row_minus1; + row_minus1 = row_minus2; + row_minus2 = row_minus1$0; + row_minus1$0 = _a_; + i = i$0; + continue; + } + var d = /*<>*/ limit$0; + } + /*<>*/ return limit$0 < d ? limit$0 : d; + } + } + function edit_distance$0(limit, s0, s1){ + var us0 = /*<>*/ uchar_array_of_utf_8_string(s0); + /*<>*/ return edit_distance(limit, s0, us0, s1) /*<>*/ ; + } + function default_max_dist(s){ var - tl = /*<>*/ l[2], - hd = l[1], - len = /*<>*/ list_length(0, l), - a = /*<>*/ caml_array_make(len, hd), - i$1 = /*<>*/ len - 2 | 0, - i = i$1, - param = tl; + slen = /*<>*/ caml_ml_string_length(s), + ulen = /*<>*/ 0, + i = 0; for(;;){ - /*<>*/ if(! param) /*<>*/ return a; - var tl$0 = /*<>*/ param[2], hd$0 = param[1]; - /*<>*/ a[i + 1] = hd$0; - var i$0 = /*<>*/ i - 1 | 0; - i = i$0; - param = tl$0; - } - /*<>*/ } + if(i >= slen){ + /*<>*/ if(3 <= ulen){ + if(5 > ulen) /*<>*/ return 1; + } + else if(0 <= ulen) /*<>*/ return 0; + /*<>*/ return 2; + } + var + dec_len = + /*<>*/ /*<>*/ Stdlib_Uchar[24].call + (null, /*<>*/ caml_string_unsafe_get(s, i)), + _a_ = /*<>*/ 0 === dec_len ? 1 : dec_len, + ulen$0 = /*<>*/ ulen + 1 | 0; + ulen = ulen$0; + i = i + _a_ | 0; + } + /*<>*/ } + function spellcheck(opt, iter_dict, s){ + var + max_dist = /*<>*/ opt ? opt[1] : default_max_dist, + min = /*<>*/ [0, caml_call1(max_dist, s)], + acc = /*<>*/ [0, 0], + us = /*<>*/ uchar_array_of_utf_8_string(s); + /*<>*/ caml_call1 + (iter_dict, + function(word){ + var + d = + /*<>*/ edit_distance + ([0, min[1] + 1 | 0], s, us, word); + /*<>*/ return d === min[1] + ? (acc[1] = [0, word, acc[1]], 0) + : d < min[1] ? (min[1] = d, acc[1] = [0, word, 0], 0) : 0; + }); + /*<>*/ return Stdlib_List[11].call(null, acc[1]) /*<>*/ ; + } var - Stdlib_Array = + Stdlib_String = /*<>*/ [0, + make, init, - make_matrix, - init_matrix, - append, - runtime.caml_array_concat, - sub, - copy, - fill, + empty, + of_bytes, + to_bytes, blit, - to_list, - of_list, - iter, - iteri, + concat, + cat, + caml_string_equal, + compare, + starts_with, + ends_with, + contains_from, + rcontains_from, + contains, + sub, + split_on_char, map, - map_inplace, mapi, - mapi_inplace, fold_left, - fold_left_map, fold_right, - iter2, - map2, for_all, exists, - for_all2, - exists2, - mem, - memq, - find_opt, - find_index, - find_map, - find_mapi, - split, - combine, - sort, - stable_sort, - stable_sort, - shuffle, + trim, + escaped, + uppercase_ascii, + lowercase_ascii, + capitalize_ascii, + uncapitalize_ascii, + iter, + iteri, + index_from, + index_from_opt, + rindex_from, + rindex_from_opt, + index, + index_opt, + rindex, + rindex_opt, to_seq, to_seqi, of_seq, - Floatarray]; - runtime.caml_register_global(22, Stdlib_Array, "Stdlib__Array"); + get_utf_8_uchar, + is_valid_utf_8, + get_utf_16be_uchar, + is_valid_utf_16be, + get_utf_16le_uchar, + is_valid_utf_16le, + edit_distance$0, + spellcheck, + runtime.caml_string_get, + get_int8, + runtime.caml_string_get16, + get_uint16_be, + get_uint16_le, + get_int16_ne, + get_int16_be, + get_int16_le, + runtime.caml_string_get32, + hash, + caml_string_hash, + get_int32_be, + get_int32_le, + runtime.caml_string_get64, + get_int64_be, + get_int64_le]; + runtime.caml_register_global(16, Stdlib_String, "Stdlib__String"); + return; + } + (globalThis)); + +//# unitInfo: Provides: Stdlib__Unit +//# shape: Stdlib__Unit:[F(2)*,F(2)*,F(1)*] +(function + (globalThis){ + "use strict"; + var runtime = globalThis.jsoo_runtime, cst = "()"; + function equal(_a_, param){ + /*<>*/ return 1; + /*<>*/ } + function compare(_a_, param){ + /*<>*/ return 0; + /*<>*/ } + function to_string(param){ + /*<>*/ return cst; + /*<>*/ } + var Stdlib_Unit = /*<>*/ [0, equal, compare, to_string]; + runtime.caml_register_global(1, Stdlib_Unit, "Stdlib__Unit"); + return; + } + (globalThis)); + +//# unitInfo: Provides: Stdlib__Marshal +//# unitInfo: Requires: Stdlib, Stdlib__Bytes +//# shape: Stdlib__Marshal:[F(3),F(5),F(1),F(2),F(2),N,F(2),F(2)] +(function + (globalThis){ + "use strict"; + var + runtime = globalThis.jsoo_runtime, + cst_Marshal_from_bytes$1 = "Marshal.from_bytes", + caml_marshal_data_size = runtime.caml_marshal_data_size, + caml_ml_bytes_length = runtime.caml_ml_bytes_length, + global_data = runtime.caml_get_global_data(), + Stdlib_Bytes = global_data.Stdlib__Bytes, + Stdlib = global_data.Stdlib, + cst_Marshal_to_buffer_substrin = + "Marshal.to_buffer: substring out of bounds"; + function to_buffer(buff, ofs, len, v, flags){ + /*<>*/ if + (0 <= ofs && 0 <= len && (caml_ml_bytes_length(buff) - len | 0) >= ofs) + /*<>*/ return runtime.caml_output_value_to_buffer + (buff, ofs, len, v, flags) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_Marshal_to_buffer_substrin) /*<>*/ ; + } + var + cst_Marshal_data_size = /*<>*/ "Marshal.data_size", + cst_Marshal_from_bytes = cst_Marshal_from_bytes$1, + cst_Marshal_from_bytes$0 = cst_Marshal_from_bytes$1; + function data_size(buff, ofs){ + /*<>*/ if + (0 <= ofs && (caml_ml_bytes_length(buff) - 16 | 0) >= ofs) + /*<>*/ return caml_marshal_data_size(buff, ofs) /*<>*/ ; + /*<>*/ return Stdlib[1].call + (null, cst_Marshal_data_size) /*<>*/ ; + } + function total_size(buff, ofs){ + /*<>*/ return 16 + data_size(buff, ofs) | 0 /*<>*/ ; + } + function from_bytes(buff, ofs){ + /*<>*/ if + (0 <= ofs && (caml_ml_bytes_length(buff) - 16 | 0) >= ofs){ + var len = /*<>*/ caml_marshal_data_size(buff, ofs); + /*<>*/ return (caml_ml_bytes_length(buff) + - (16 + len | 0) + | 0) + < ofs + ? /*<>*/ Stdlib + [1].call + (null, cst_Marshal_from_bytes$0) + : /*<>*/ runtime.caml_input_value_from_bytes + (buff, ofs) /*<>*/ ; + } + /*<>*/ return Stdlib[1].call + (null, cst_Marshal_from_bytes) /*<>*/ ; + } + function from_string(buff, ofs){ + /*<>*/ return /*<>*/ from_bytes + ( /*<>*/ Stdlib_Bytes[45].call(null, buff), ofs) /*<>*/ ; + } + var + Stdlib_Marshal = + /*<>*/ [0, + runtime.caml_output_value, + to_buffer, + runtime.caml_input_value, + from_bytes, + from_string, + 16, + data_size, + total_size]; + runtime.caml_register_global(6, Stdlib_Marshal, "Stdlib__Marshal"); return; } (globalThis)); @@ -8019,11 +9520,10 @@ var runtime = globalThis.jsoo_runtime, cst_Float_array_blit$1 = "Float.array.blit", - cst_float_ml = "float.ml", caml_array_make = runtime.caml_array_make, caml_check_bound = runtime.caml_check_bound, caml_float_compare = runtime.caml_float_compare, - caml_floatarray_blit = runtime.caml_floatarray_blit, + caml_floatarray_concat = runtime.caml_floatarray_concat, caml_floatarray_create = runtime.caml_floatarray_create, caml_floatarray_make = runtime.caml_floatarray_make, caml_floatarray_sub = runtime.caml_floatarray_sub, @@ -8068,8 +9568,8 @@ to_string = Stdlib[35]; function is_integer(x){ var - _ao_ = /*<>*/ x === runtime.caml_trunc_float(x) ? 1 : 0; - /*<>*/ return _ao_ ? is_finite(x) : _ao_ /*<>*/ ; + _an_ = /*<>*/ x === runtime.caml_trunc_float(x) ? 1 : 0; + /*<>*/ return _an_ ? is_finite(x) : _an_ /*<>*/ ; } function succ(x){ /*<>*/ return caml_nextafter_float(x, infinity) /*<>*/ ; @@ -8166,27 +9666,25 @@ /*<>*/ return caml_hash(10, 100, 0, x) /*<>*/ ; } function check(a, ofs, len, msg){ - var _am_ = /*<>*/ ofs < 0 ? 1 : 0; - if(_am_) - var _al_ = _am_; + var _al_ = /*<>*/ ofs < 0 ? 1 : 0; + if(_al_) + var _ak_ = _al_; else{ - var _an_ = len < 0 ? 1 : 0; - if(_an_) - var _al_ = _an_; + var _am_ = len < 0 ? 1 : 0; + if(_am_) + var _ak_ = _am_; else var - _ao_ = (ofs + len | 0) < 0 ? 1 : 0, - _al_ = _ao_ || (a.length - 1 < (ofs + len | 0) ? 1 : 0); + _an_ = (ofs + len | 0) < 0 ? 1 : 0, + _ak_ = _an_ || (a.length - 1 < (ofs + len | 0) ? 1 : 0); } - return _al_ ? /*<>*/ Stdlib[1].call(null, msg) : _al_ /*<>*/ ; + return _ak_ ? /*<>*/ Stdlib[1].call(null, msg) : _ak_ /*<>*/ ; } var - empty = /*<>*/ caml_floatarray_create(0), - cst_Float_Array_init = /*<>*/ "Float.Array.init", + empty = /*<>*/ caml_floatarray_create(0), + cst_Float_Array_init = /*<>*/ "Float.Array.init", cst_Float_Array_make_matrix = "Float.Array.make_matrix", cst_Float_Array_init_matrix = "Float.Array.init_matrix", - cst_Float_Array_concat = "Float.Array.concat", - _a_ = [0, cst_float_ml, 250, 14], cst_Float_Array_sub = "Float.Array.sub", cst_Float_Array_fill = "Float.Array.fill", cst_Float_array_blit = cst_Float_array_blit$1, @@ -8196,785 +9694,776 @@ cst_Float_Array_map2_arrays_mu = "Float.Array.map2: arrays must have the same length"; function init(l, f){ - /*<>*/ if(0 > l) - /*<>*/ return Stdlib[1].call - (null, cst_Float_Array_init) /*<>*/ ; - var - res = /*<>*/ caml_floatarray_create(l), - _aj_ = /*<>*/ l - 1 | 0, - _ak_ = 0; - if(_aj_ >= 0){ - var i = _ak_; + /*<>*/ if(0 > l) + /*<>*/ return Stdlib[1].call + (null, cst_Float_Array_init) /*<>*/ ; + var + res = /*<>*/ caml_floatarray_create(l), + _ai_ = /*<>*/ l - 1 | 0, + _aj_ = 0; + if(_ai_ >= 0){ + var i = _aj_; for(;;){ - /*<>*/ res[i + 1] = caml_call1(f, i); - var _al_ = /*<>*/ i + 1 | 0; - if(_aj_ === i) break; - i = _al_; + /*<>*/ res[i + 1] = caml_call1(f, i); + var _ak_ = /*<>*/ i + 1 | 0; + if(_ai_ === i) break; + i = _ak_; } } - /*<>*/ return res; - /*<>*/ } + /*<>*/ return res; + /*<>*/ } function make_matrix(sx, sy, v){ - /*<>*/ if(sy < 0) - /*<>*/ Stdlib[1].call + /*<>*/ if(sy < 0) + /*<>*/ Stdlib[1].call (null, cst_Float_Array_make_matrix); var res = - /*<>*/ /*<>*/ caml_array_make - (sx, /*<>*/ caml_floatarray_create(0)); - /*<>*/ if(0 < sy){ - var _ah_ = /*<>*/ sx - 1 | 0, _ai_ = 0; - if(_ah_ >= 0){ - var x = _ai_; + /*<>*/ /*<>*/ caml_array_make + (sx, /*<>*/ caml_floatarray_create(0)); + /*<>*/ if(0 < sy){ + var _ag_ = /*<>*/ sx - 1 | 0, _ah_ = 0; + if(_ag_ >= 0){ + var x = _ah_; for(;;){ - /*<>*/ res[x + 1] = caml_floatarray_make(sy, v); - var _aj_ = /*<>*/ x + 1 | 0; - if(_ah_ === x) break; - x = _aj_; + /*<>*/ res[x + 1] = caml_floatarray_make(sy, v); + var _ai_ = /*<>*/ x + 1 | 0; + if(_ag_ === x) break; + x = _ai_; } } } - /*<>*/ return res; - /*<>*/ } + /*<>*/ return res; + /*<>*/ } function init_matrix(sx, sy, f){ - /*<>*/ if(sy < 0) - /*<>*/ Stdlib[1].call + /*<>*/ if(sy < 0) + /*<>*/ Stdlib[1].call (null, cst_Float_Array_init_matrix); var res = - /*<>*/ /*<>*/ caml_array_make - (sx, /*<>*/ caml_floatarray_create(0)); - /*<>*/ if(0 < sy){ - var _ac_ = /*<>*/ sx - 1 | 0, _ae_ = 0; - if(_ac_ >= 0){ - var x = _ae_; + /*<>*/ /*<>*/ caml_array_make + (sx, /*<>*/ caml_floatarray_create(0)); + /*<>*/ if(0 < sy){ + var _ab_ = /*<>*/ sx - 1 | 0, _ad_ = 0; + if(_ab_ >= 0){ + var x = _ad_; for(;;){ var - row = /*<>*/ caml_floatarray_create(sy), - _ad_ = /*<>*/ sy - 1 | 0, - _af_ = 0; - if(_ad_ >= 0){ - var y = _af_; + row = /*<>*/ caml_floatarray_create(sy), + _ac_ = /*<>*/ sy - 1 | 0, + _ae_ = 0; + if(_ac_ >= 0){ + var y = _ae_; for(;;){ - /*<>*/ row[y + 1] = caml_call2(f, x, y); - var _ah_ = /*<>*/ y + 1 | 0; - if(_ad_ === y) break; - y = _ah_; + /*<>*/ row[y + 1] = caml_call2(f, x, y); + var _ag_ = /*<>*/ y + 1 | 0; + if(_ac_ === y) break; + y = _ag_; } } - /*<>*/ res[x + 1] = row; - var _ag_ = /*<>*/ x + 1 | 0; - if(_ac_ === x) break; - x = _ag_; + /*<>*/ res[x + 1] = row; + var _af_ = x + 1 | 0; + if(_ab_ === x) break; + x = _af_; } } } - /*<>*/ return res; - /*<>*/ } - function concat(l){ - var acc = /*<>*/ 0, param = l; - for(;;){ - /*<>*/ if(! param) break; - var - tl = param[2], - hd = param[1], - x = /*<>*/ hd.length - 1 + acc | 0; - /*<>*/ if(acc <= x){ - acc = x; - param = tl; - } - else{ - /*<>*/ acc = - Stdlib[1].call(null, cst_Float_Array_concat); - param = tl; - } - } - var - result = /*<>*/ caml_floatarray_create(acc), - l$0 = /*<>*/ l, - i = 0; - for(;;){ - /*<>*/ if(! l$0){ - /*<>*/ if(i === acc) - /*<>*/ return result; - /*<>*/ throw caml_maybe_attach_backtrace - ([0, Assert_failure, _a_], 1); - } - var - tl$0 = /*<>*/ l$0[2], - hd$0 = l$0[1], - hlen = /*<>*/ hd$0.length - 1; - /*<>*/ caml_floatarray_blit(hd$0, 0, result, i, hlen); - var i$0 = /*<>*/ i + hlen | 0; - l$0 = tl$0; - i = i$0; - } - /*<>*/ } + /*<>*/ return res; + /*<>*/ } function sub(a, ofs, len){ - /*<>*/ check(a, ofs, len, cst_Float_Array_sub); - /*<>*/ return caml_floatarray_sub(a, ofs, len) /*<>*/ ; + /*<>*/ check(a, ofs, len, cst_Float_Array_sub); + /*<>*/ return caml_floatarray_sub(a, ofs, len) /*<>*/ ; } function copy(a){ - var l = /*<>*/ a.length - 1; - /*<>*/ return 0 === l + var l = /*<>*/ a.length - 1; + /*<>*/ return 0 === l ? empty - : /*<>*/ caml_floatarray_sub(a, 0, l) /*<>*/ ; + : /*<>*/ caml_floatarray_sub(a, 0, l) /*<>*/ ; } function append(a1, a2){ - var l1 = /*<>*/ a1.length - 1; - /*<>*/ return 0 === l1 - ? /*<>*/ copy(a2) + var l1 = /*<>*/ a1.length - 1; + /*<>*/ return 0 === l1 + ? /*<>*/ copy(a2) : 0 === a2.length - 1 - ? /*<>*/ caml_floatarray_sub(a1, 0, l1) - : /*<>*/ runtime.caml_floatarray_append(a1, a2) /*<>*/ ; + ? /*<>*/ caml_floatarray_sub(a1, 0, l1) + : /*<>*/ runtime.caml_floatarray_append(a1, a2) /*<>*/ ; } function fill(a, ofs, len, v){ - /*<>*/ check(a, ofs, len, cst_Float_Array_fill); - /*<>*/ return runtime.caml_floatarray_fill - (a, ofs, len, v) /*<>*/ ; + /*<>*/ check(a, ofs, len, cst_Float_Array_fill); + /*<>*/ return runtime.caml_floatarray_fill + (a, ofs, len, v) /*<>*/ ; } function blit(src, sofs, dst, dofs, len){ - /*<>*/ check(src, sofs, len, cst_Float_array_blit); - /*<>*/ check(dst, dofs, len, cst_Float_array_blit$0); - /*<>*/ return caml_floatarray_blit - (src, sofs, dst, dofs, len) /*<>*/ ; + /*<>*/ check(src, sofs, len, cst_Float_array_blit); + /*<>*/ check(dst, dofs, len, cst_Float_array_blit$0); + /*<>*/ return runtime.caml_floatarray_blit + (src, sofs, dst, dofs, len) /*<>*/ ; } function to_list(a){ - /*<>*/ return Stdlib_List[11].call + /*<>*/ return Stdlib_List[12].call (null, a.length - 1, - function(_ac_){ /*<>*/ return a[_ac_ + 1];}) /*<>*/ ; + function(_ab_){ /*<>*/ return a[_ab_ + 1];}) /*<>*/ ; } function of_list(l){ var result = - /*<>*/ /*<>*/ caml_floatarray_create - ( /*<>*/ Stdlib_List[1].call(null, l)), - i = /*<>*/ 0, + /*<>*/ /*<>*/ caml_floatarray_create + ( /*<>*/ Stdlib_List[1].call(null, l)), + i = /*<>*/ 0, l$0 = l; for(;;){ - /*<>*/ if(! l$0) /*<>*/ return result; - var t = /*<>*/ l$0[2], h = l$0[1]; - /*<>*/ result[i + 1] = h; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(! l$0) /*<>*/ return result; + var t = /*<>*/ l$0[2], h = l$0[1]; + /*<>*/ result[i + 1] = h; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; l$0 = t; } - /*<>*/ } + /*<>*/ } + function equal$0(eq, a, b){ + /*<>*/ if(a.length - 1 !== b.length - 1) + /*<>*/ return 0; + var + len = /*<>*/ a.length - 1, + i = /*<>*/ 0; + for(;;){ + if + (i < len && /*<>*/ caml_call2(eq, a[i + 1], b[i + 1])){var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue;} + /*<>*/ return i === len ? 1 : 0; + } + /*<>*/ } + function compare(cmp, a, b){ + var + len_a = /*<>*/ a.length - 1, + len_b = b.length - 1, + diff = /*<>*/ len_a - len_b | 0; + /*<>*/ if(0 !== diff) + /*<>*/ return 0 <= diff ? 1 : -1 /*<>*/ ; + var c = /*<>*/ 0, i = 0; + for(;;){ + if(i < len_a && 0 === c){ + var i$0 = /*<>*/ i + 1 | 0; + c = /*<>*/ caml_call2(cmp, a[i + 1], b[i + 1]); + /*<>*/ i = i$0; + continue; + } + /*<>*/ return c; + } + /*<>*/ } function iter(f, a){ - var _aa_ = /*<>*/ a.length - 2 | 0, _ab_ = 0; - if(_aa_ >= 0){ - var i = _ab_; + var _$_ = /*<>*/ a.length - 2 | 0, _aa_ = 0; + if(_$_ >= 0){ + var i = _aa_; for(;;){ - /*<>*/ caml_call1(f, a[i + 1]); - var _ac_ = /*<>*/ i + 1 | 0; - if(_aa_ === i) break; - i = _ac_; + /*<>*/ caml_call1(f, a[i + 1]); + var _ab_ = /*<>*/ i + 1 | 0; + if(_$_ === i) break; + i = _ab_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function iter2(f, a, b){ - /*<>*/ if(a.length - 1 !== b.length - 1) - /*<>*/ return Stdlib[1].call - (null, cst_Float_Array_iter2_arrays_m) /*<>*/ ; - var ___ = /*<>*/ a.length - 2 | 0, _$_ = 0; - if(___ >= 0){ - var i = _$_; + /*<>*/ if(a.length - 1 !== b.length - 1) + /*<>*/ return Stdlib[1].call + (null, cst_Float_Array_iter2_arrays_m) /*<>*/ ; + var _Z_ = /*<>*/ a.length - 2 | 0, ___ = 0; + if(_Z_ >= 0){ + var i = ___; for(;;){ - /*<>*/ caml_call2(f, a[i + 1], b[i + 1]); - var _aa_ = /*<>*/ i + 1 | 0; - if(___ === i) break; - i = _aa_; + /*<>*/ caml_call2(f, a[i + 1], b[i + 1]); + var _$_ = /*<>*/ i + 1 | 0; + if(_Z_ === i) break; + i = _$_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function map(f, a){ var - l = /*<>*/ a.length - 1, - r = /*<>*/ caml_floatarray_create(l), - _Y_ = /*<>*/ l - 1 | 0, - _Z_ = 0; - if(_Y_ >= 0){ - var i = _Z_; + l = /*<>*/ a.length - 1, + r = /*<>*/ caml_floatarray_create(l), + _X_ = /*<>*/ l - 1 | 0, + _Y_ = 0; + if(_X_ >= 0){ + var i = _Y_; for(;;){ - /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); - var ___ = /*<>*/ i + 1 | 0; - if(_Y_ === i) break; - i = ___; + /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); + var _Z_ = /*<>*/ i + 1 | 0; + if(_X_ === i) break; + i = _Z_; } } - /*<>*/ return r; - /*<>*/ } + /*<>*/ return r; + /*<>*/ } function map_inplace(f, a){ - var _W_ = /*<>*/ a.length - 2 | 0, _X_ = 0; - if(_W_ >= 0){ - var i = _X_; + var _V_ = /*<>*/ a.length - 2 | 0, _W_ = 0; + if(_V_ >= 0){ + var i = _W_; for(;;){ - /*<>*/ a[i + 1] = caml_call1(f, a[i + 1]); - var _Y_ = /*<>*/ i + 1 | 0; - if(_W_ === i) break; - i = _Y_; + /*<>*/ a[i + 1] = caml_call1(f, a[i + 1]); + var _X_ = /*<>*/ i + 1 | 0; + if(_V_ === i) break; + i = _X_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function map2(f, a, b){ var - la = /*<>*/ a.length - 1, - lb = /*<>*/ b.length - 1; - /*<>*/ if(la !== lb) - /*<>*/ return Stdlib[1].call - (null, cst_Float_Array_map2_arrays_mu) /*<>*/ ; - var - r = /*<>*/ caml_floatarray_create(la), - _U_ = /*<>*/ la - 1 | 0, - _V_ = 0; - if(_U_ >= 0){ - var i = _V_; + la = /*<>*/ a.length - 1, + lb = /*<>*/ b.length - 1; + /*<>*/ if(la !== lb) + /*<>*/ return Stdlib[1].call + (null, cst_Float_Array_map2_arrays_mu) /*<>*/ ; + var + r = /*<>*/ caml_floatarray_create(la), + _T_ = /*<>*/ la - 1 | 0, + _U_ = 0; + if(_T_ >= 0){ + var i = _U_; for(;;){ - /*<>*/ r[i + 1] = caml_call2(f, a[i + 1], b[i + 1]); - var _W_ = /*<>*/ i + 1 | 0; - if(_U_ === i) break; - i = _W_; + /*<>*/ r[i + 1] = caml_call2(f, a[i + 1], b[i + 1]); + var _V_ = /*<>*/ i + 1 | 0; + if(_T_ === i) break; + i = _V_; } } - /*<>*/ return r; - /*<>*/ } + /*<>*/ return r; + /*<>*/ } function iteri(f, a){ - var _S_ = /*<>*/ a.length - 2 | 0, _T_ = 0; - if(_S_ >= 0){ - var i = _T_; + var _R_ = /*<>*/ a.length - 2 | 0, _S_ = 0; + if(_R_ >= 0){ + var i = _S_; for(;;){ - /*<>*/ caml_call2(f, i, a[i + 1]); - var _U_ = /*<>*/ i + 1 | 0; - if(_S_ === i) break; - i = _U_; + /*<>*/ caml_call2(f, i, a[i + 1]); + var _T_ = /*<>*/ i + 1 | 0; + if(_R_ === i) break; + i = _T_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function mapi(f, a){ var - l = /*<>*/ a.length - 1, - r = /*<>*/ caml_floatarray_create(l), - _Q_ = /*<>*/ l - 1 | 0, - _R_ = 0; - if(_Q_ >= 0){ - var i = _R_; + l = /*<>*/ a.length - 1, + r = /*<>*/ caml_floatarray_create(l), + _P_ = /*<>*/ l - 1 | 0, + _Q_ = 0; + if(_P_ >= 0){ + var i = _Q_; for(;;){ - /*<>*/ r[i + 1] = caml_call2(f, i, a[i + 1]); - var _S_ = /*<>*/ i + 1 | 0; - if(_Q_ === i) break; - i = _S_; + /*<>*/ r[i + 1] = caml_call2(f, i, a[i + 1]); + var _R_ = /*<>*/ i + 1 | 0; + if(_P_ === i) break; + i = _R_; } } - /*<>*/ return r; - /*<>*/ } + /*<>*/ return r; + /*<>*/ } function mapi_inplace(f, a){ - var _O_ = /*<>*/ a.length - 2 | 0, _P_ = 0; - if(_O_ >= 0){ - var i = _P_; + var _N_ = /*<>*/ a.length - 2 | 0, _O_ = 0; + if(_N_ >= 0){ + var i = _O_; for(;;){ - /*<>*/ a[i + 1] = caml_call2(f, i, a[i + 1]); - var _Q_ = /*<>*/ i + 1 | 0; - if(_O_ === i) break; - i = _Q_; + /*<>*/ a[i + 1] = caml_call2(f, i, a[i + 1]); + var _P_ = /*<>*/ i + 1 | 0; + if(_N_ === i) break; + i = _P_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function fold_left(f, x, a){ - var _L_ = /*<>*/ a.length - 2 | 0, _N_ = 0; - if(_L_ < 0) + var _K_ = /*<>*/ a.length - 2 | 0, _M_ = 0; + if(_K_ < 0) var r$0 = x; else{ - var r = x, i = _N_; + var r = x, i = _M_; for(;;){ var - _M_ = /*<>*/ caml_call2(f, r, a[i + 1]), - _O_ = /*<>*/ i + 1 | 0; - if(_L_ === i){var r$0 = _M_; break;} - r = _M_; - i = _O_; + _L_ = /*<>*/ caml_call2(f, r, a[i + 1]), + _N_ = /*<>*/ i + 1 | 0; + if(_K_ === i){var r$0 = _L_; break;} + r = _L_; + i = _N_; } } - /*<>*/ return r$0; - /*<>*/ } + /*<>*/ return r$0; + /*<>*/ } function fold_right(f, a, x){ - var _J_ = /*<>*/ a.length - 2 | 0; - if(_J_ < 0) + var _I_ = /*<>*/ a.length - 2 | 0; + if(_I_ < 0) var r$0 = x; else{ - var r = x, i = _J_; + var r = x, i = _I_; for(;;){ var - _K_ = /*<>*/ caml_call2(f, a[i + 1], r), - _L_ = /*<>*/ i - 1 | 0; - if(0 === i){var r$0 = _K_; break;} - r = _K_; - i = _L_; + _J_ = /*<>*/ caml_call2(f, a[i + 1], r), + _K_ = /*<>*/ i - 1 | 0; + if(0 === i){var r$0 = _J_; break;} + r = _J_; + i = _K_; } } - /*<>*/ return r$0; - /*<>*/ } + /*<>*/ return r$0; + /*<>*/ } function exists(p, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(caml_call1(p, a[i + 1])) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(caml_call1(p, a[i + 1])) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function for_all(p, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 1; - /*<>*/ if(! caml_call1(p, a[i + 1])) - /*<>*/ return 0; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 1; + /*<>*/ if(! caml_call1(p, a[i + 1])) + /*<>*/ return 0; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function mem(x, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(0 === caml_float_compare(a[i + 1], x)) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(0 === caml_float_compare(a[i + 1], x)) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function mem_ieee(x, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(x === a[i + 1]) - /*<>*/ return 1; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(x === a[i + 1]) + /*<>*/ return 1; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function find_opt(p, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - var x = /*<>*/ a[i + 1]; - /*<>*/ if(caml_call1(p, x)) - /*<>*/ return [0, x]; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + var x = /*<>*/ a[i + 1]; + /*<>*/ if(caml_call1(p, x)) + /*<>*/ return [0, x]; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function find_index(p, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - /*<>*/ if(caml_call1(p, a[i + 1])) - /*<>*/ return [0, i]; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + /*<>*/ if(caml_call1(p, a[i + 1])) + /*<>*/ return [0, i]; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function find_map(f, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - var r = /*<>*/ caml_call1(f, a[i + 1]); - /*<>*/ if(r) /*<>*/ return r; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + var r = /*<>*/ caml_call1(f, a[i + 1]); + /*<>*/ if(r) /*<>*/ return r; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } function find_mapi(f, a){ var - n = /*<>*/ a.length - 1, - i = /*<>*/ 0; + n = /*<>*/ a.length - 1, + i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === n) /*<>*/ return 0; - var r = /*<>*/ caml_call2(f, i, a[i + 1]); - /*<>*/ if(r) /*<>*/ return r; - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(i === n) /*<>*/ return 0; + var r = /*<>*/ caml_call2(f, i, a[i + 1]); + /*<>*/ if(r) /*<>*/ return r; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; } - /*<>*/ } + /*<>*/ } var Bottom = - /*<>*/ [248, + /*<>*/ [248, "Stdlib.Float.Array.Bottom", runtime.caml_fresh_oo_id(0)], - _b_ = [0, cst_float_ml, 483, 6]; + _a_ = [0, "float.ml", 482, 6]; function sort(cmp, a){ function maxson(l, i){ - var i31 = /*<>*/ ((i + i | 0) + i | 0) + 1 | 0; - /*<>*/ if((i31 + 2 | 0) < l){ + var i31 = /*<>*/ ((i + i | 0) + i | 0) + 1 | 0; + /*<>*/ if((i31 + 2 | 0) < l){ var - _E_ = /*<>*/ i31 + 1 | 0, - _H_ = /*<>*/ caml_check_bound(a, _E_)[_E_ + 1], + _D_ = /*<>*/ i31 + 1 | 0, + _G_ = /*<>*/ caml_check_bound(a, _D_)[_D_ + 1], x = - /*<>*/ /*<>*/ caml_call2 + /*<>*/ /*<>*/ caml_call2 (cmp, - /*<>*/ caml_check_bound(a, i31)[i31 + 1], - _H_) + /*<>*/ caml_check_bound(a, i31)[i31 + 1], + _G_) < 0 ? i31 + 1 | 0 : i31, - _F_ = /*<>*/ i31 + 2 | 0, - _I_ = /*<>*/ caml_check_bound(a, _F_)[_F_ + 1], + _E_ = /*<>*/ i31 + 2 | 0, + _H_ = /*<>*/ caml_check_bound(a, _E_)[_E_ + 1], x$0 = - /*<>*/ /*<>*/ caml_call2 - (cmp, /*<>*/ caml_check_bound(a, x)[x + 1], _I_) + /*<>*/ /*<>*/ caml_call2 + (cmp, /*<>*/ caml_check_bound(a, x)[x + 1], _H_) < 0 ? i31 + 2 | 0 : x; - /*<>*/ return x$0; + /*<>*/ return x$0; } - /*<>*/ if((i31 + 1 | 0) < l){ + /*<>*/ if((i31 + 1 | 0) < l){ var - _G_ = i31 + 1 | 0, - _J_ = /*<>*/ caml_check_bound(a, _G_)[_G_ + 1]; - /*<>*/ if + _F_ = i31 + 1 | 0, + _I_ = /*<>*/ caml_check_bound(a, _F_)[_F_ + 1]; + /*<>*/ if (0 > - /*<>*/ caml_call2 + /*<>*/ caml_call2 (cmp, - /*<>*/ caml_check_bound(a, i31)[i31 + 1], - _J_)) - /*<>*/ return i31 + 1 | 0; + /*<>*/ caml_check_bound(a, i31)[i31 + 1], + _I_)) + /*<>*/ return i31 + 1 | 0; } - /*<>*/ if(i31 < l) /*<>*/ return i31; - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ if(i31 < l) /*<>*/ return i31; + /*<>*/ throw caml_maybe_attach_backtrace ([0, Bottom, i], 1); - /*<>*/ } + /*<>*/ } var - l = /*<>*/ a.length - 1, - _w_ = /*<>*/ ((l + 1 | 0) / 3 | 0) - 1 | 0; - if(_w_ >= 0){ - var i$6 = _w_; + l = /*<>*/ a.length - 1, + _v_ = /*<>*/ ((l + 1 | 0) / 3 | 0) - 1 | 0; + if(_v_ >= 0){ + var i$6 = _v_; for(;;){ - var e$1 = /*<>*/ caml_check_bound(a, i$6)[i$6 + 1]; - /*<>*/ try{ + var e$1 = /*<>*/ caml_check_bound(a, i$6)[i$6 + 1]; + /*<>*/ try{ var i = i$6; for(;;){ - var j = /*<>*/ maxson(l, i); - /*<>*/ if + var j = /*<>*/ maxson(l, i); + /*<>*/ if (0 >= - /*<>*/ caml_call2 - (cmp, /*<>*/ caml_check_bound(a, j)[j + 1], e$1)){ - /*<>*/ caml_check_bound(a, i)[i + 1] = e$1; + /*<>*/ caml_call2 + (cmp, /*<>*/ caml_check_bound(a, j)[j + 1], e$1)){ + /*<>*/ caml_check_bound(a, i)[i + 1] = e$1; break; } - var _A_ = /*<>*/ caml_check_bound(a, j)[j + 1]; - /*<>*/ caml_check_bound(a, i)[i + 1] = _A_; - /*<>*/ i = j; + var _z_ = /*<>*/ caml_check_bound(a, j)[j + 1]; + /*<>*/ caml_check_bound(a, i)[i + 1] = _z_; + /*<>*/ i = j; } } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; if(tag !== Bottom) throw caml_maybe_attach_backtrace(exn, 0); var i$0 = exn[2]; - /*<>*/ caml_check_bound(a, i$0)[i$0 + 1] = e$1; + /*<>*/ caml_check_bound(a, i$0)[i$0 + 1] = e$1; } - var _E_ = /*<>*/ i$6 - 1 | 0; + var _D_ = /*<>*/ i$6 - 1 | 0; if(0 === i$6) break; - i$6 = _E_; + i$6 = _D_; } } - var _x_ = /*<>*/ l - 1 | 0; - if(_x_ >= 2){ - var i$4 = _x_; + var _w_ = /*<>*/ l - 1 | 0; + if(_w_ >= 2){ + var i$4 = _w_; a: for(;;){ - var e$0 = /*<>*/ caml_check_bound(a, i$4)[i$4 + 1]; - /*<>*/ a[i$4 + 1] = caml_check_bound(a, 0)[1]; - var i$5 = /*<>*/ 0; + var e$0 = /*<>*/ caml_check_bound(a, i$4)[i$4 + 1]; + /*<>*/ a[i$4 + 1] = caml_check_bound(a, 0)[1]; + var i$5 = /*<>*/ 0; try{ var i$1 = i$5; for(;;){ var - j$0 = /*<>*/ maxson(i$4, i$1), - _B_ = /*<>*/ caml_check_bound(a, j$0)[j$0 + 1]; - /*<>*/ caml_check_bound(a, i$1)[i$1 + 1] = _B_; - /*<>*/ i$1 = j$0; + j$0 = /*<>*/ maxson(i$4, i$1), + _A_ = /*<>*/ caml_check_bound(a, j$0)[j$0 + 1]; + /*<>*/ caml_check_bound(a, i$1)[i$1 + 1] = _A_; + /*<>*/ i$1 = j$0; } } catch(exn){ var exn$0 = /*<>*/ caml_wrap_exception(exn), tag$0 = exn$0[1]; if(tag$0 !== Bottom) throw caml_maybe_attach_backtrace(exn$0, 0); - var i$2 = exn$0[2], i$3 = /*<>*/ i$2; + var i$2 = exn$0[2], i$3 = /*<>*/ i$2; for(;;){ - var father = /*<>*/ (i$3 - 1 | 0) / 3 | 0; - /*<>*/ if(i$3 === father) - throw caml_maybe_attach_backtrace([0, Assert_failure, _b_], 1); - /*<>*/ if + var father = /*<>*/ (i$3 - 1 | 0) / 3 | 0; + /*<>*/ if(i$3 === father) + throw caml_maybe_attach_backtrace([0, Assert_failure, _a_], 1); + /*<>*/ if (0 <= - /*<>*/ caml_call2 + /*<>*/ caml_call2 (cmp, - /*<>*/ caml_check_bound(a, father)[father + 1], + /*<>*/ caml_check_bound(a, father)[father + 1], e$0)) - /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = e$0; + /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = e$0; else{ var - _C_ = - /*<>*/ caml_check_bound(a, father)[father + 1]; - /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = _C_; - /*<>*/ if(0 < father){i$3 = father; continue;} - /*<>*/ caml_check_bound(a, 0)[1] = e$0; + _B_ = + /*<>*/ caml_check_bound(a, father)[father + 1]; + /*<>*/ caml_check_bound(a, i$3)[i$3 + 1] = _B_; + /*<>*/ if(0 < father){i$3 = father; continue;} + /*<>*/ caml_check_bound(a, 0)[1] = e$0; } - var _D_ = /*<>*/ i$4 - 1 | 0; + var _C_ = /*<>*/ i$4 - 1 | 0; if(2 === i$4) break a; - i$4 = _D_; + i$4 = _C_; break; } } } } - var _y_ = /*<>*/ 1 < l ? 1 : 0; - if(_y_){ - var e = /*<>*/ caml_check_bound(a, 1)[2]; - /*<>*/ a[2] = caml_check_bound(a, 0)[1]; - /*<>*/ a[1] = e; - var _z_ = /*<>*/ 0; + var _x_ = /*<>*/ 1 < l ? 1 : 0; + if(_x_){ + var e = /*<>*/ caml_check_bound(a, 1)[2]; + /*<>*/ a[2] = caml_check_bound(a, 0)[1]; + /*<>*/ a[1] = e; + var _y_ = /*<>*/ 0; } else - var _z_ = /*<>*/ _y_; - return _z_; - /*<>*/ } + var _y_ = /*<>*/ _x_; + return _y_; + /*<>*/ } function stable_sort(cmp, a){ function merge(src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs){ var - src1r = /*<>*/ src1ofs + src1len | 0, + src1r = /*<>*/ src1ofs + src1len | 0, src2r = src2ofs + src2len | 0, s2$1 = - /*<>*/ caml_check_bound(src2, src2ofs)[src2ofs + 1], + /*<>*/ caml_check_bound(src2, src2ofs)[src2ofs + 1], s1$1 = - /*<>*/ caml_check_bound(a, src1ofs)[src1ofs + 1], - i1 = /*<>*/ src1ofs, + /*<>*/ caml_check_bound(a, src1ofs)[src1ofs + 1], + i1 = /*<>*/ src1ofs, s1 = s1$1, i2 = src2ofs, s2 = s2$1, d = dstofs; for(;;) - /*<>*/ if(0 < caml_call2(cmp, s1, s2)){ - /*<>*/ caml_check_bound(dst, d)[d + 1] = s2; - var i2$0 = /*<>*/ i2 + 1 | 0; - /*<>*/ if(i2$0 >= src2r) - /*<>*/ return blit - (a, i1, dst, d + 1 | 0, src1r - i1 | 0) /*<>*/ ; + /*<>*/ if(0 < caml_call2(cmp, s1, s2)){ + /*<>*/ caml_check_bound(dst, d)[d + 1] = s2; + var i2$0 = /*<>*/ i2 + 1 | 0; + /*<>*/ if(i2$0 >= src2r) + /*<>*/ return blit + (a, i1, dst, d + 1 | 0, src1r - i1 | 0) /*<>*/ ; var - d$0 = /*<>*/ d + 1 | 0, - s2$0 = /*<>*/ caml_check_bound(src2, i2$0)[i2$0 + 1]; - /*<>*/ i2 = i2$0; + d$0 = /*<>*/ d + 1 | 0, + s2$0 = /*<>*/ caml_check_bound(src2, i2$0)[i2$0 + 1]; + /*<>*/ i2 = i2$0; s2 = s2$0; d = d$0; } else{ - /*<>*/ caml_check_bound(dst, d)[d + 1] = s1; - var i1$0 = /*<>*/ i1 + 1 | 0; - /*<>*/ if(i1$0 >= src1r) - /*<>*/ return blit - (src2, i2, dst, d + 1 | 0, src2r - i2 | 0) /*<>*/ ; + /*<>*/ caml_check_bound(dst, d)[d + 1] = s1; + var i1$0 = /*<>*/ i1 + 1 | 0; + /*<>*/ if(i1$0 >= src1r) + /*<>*/ return blit + (src2, i2, dst, d + 1 | 0, src2r - i2 | 0) /*<>*/ ; var - d$1 = /*<>*/ d + 1 | 0, - s1$0 = /*<>*/ caml_check_bound(a, i1$0)[i1$0 + 1]; - /*<>*/ i1 = i1$0; + d$1 = /*<>*/ d + 1 | 0, + s1$0 = /*<>*/ caml_check_bound(a, i1$0)[i1$0 + 1]; + /*<>*/ i1 = i1$0; s1 = s1$0; d = d$1; } - /*<>*/ } + /*<>*/ } function isortto(srcofs, dst, dstofs, len){ - var _q_ = /*<>*/ len - 1 | 0, _u_ = 0; - if(_q_ >= 0){ - var i = _u_; + var _p_ = /*<>*/ len - 1 | 0, _t_ = 0; + if(_p_ >= 0){ + var i = _t_; a: for(;;){ var - _r_ = /*<>*/ srcofs + i | 0, - e = /*<>*/ caml_check_bound(a, _r_)[_r_ + 1], - j = /*<>*/ (dstofs + i | 0) - 1 | 0; + _q_ = /*<>*/ srcofs + i | 0, + e = /*<>*/ caml_check_bound(a, _q_)[_q_ + 1], + j = /*<>*/ (dstofs + i | 0) - 1 | 0; for(;;){ if (dstofs <= j && 0 < - /*<>*/ caml_call2 + /*<>*/ caml_call2 (cmp, - /*<>*/ caml_check_bound(dst, j)[j + 1], + /*<>*/ caml_check_bound(dst, j)[j + 1], e)){ var - _s_ = /*<>*/ j + 1 | 0, - _v_ = /*<>*/ caml_check_bound(dst, j)[j + 1]; - /*<>*/ caml_check_bound(dst, _s_)[_s_ + 1] = _v_; - var j$0 = /*<>*/ j - 1 | 0; + _r_ = /*<>*/ j + 1 | 0, + _u_ = /*<>*/ caml_check_bound(dst, j)[j + 1]; + /*<>*/ caml_check_bound(dst, _r_)[_r_ + 1] = _u_; + var j$0 = /*<>*/ j - 1 | 0; j = j$0; continue; } - var _t_ = /*<>*/ j + 1 | 0; - caml_check_bound(dst, _t_)[_t_ + 1] = e; - var _w_ = /*<>*/ i + 1 | 0; - if(_q_ === i) break a; - i = _w_; + var _s_ = /*<>*/ j + 1 | 0; + caml_check_bound(dst, _s_)[_s_ + 1] = e; + var _v_ = /*<>*/ i + 1 | 0; + if(_p_ === i) break a; + i = _v_; break; } } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function sortto(srcofs, dst, dstofs, len){ - /*<>*/ if(len <= 5) - /*<>*/ return isortto(srcofs, dst, dstofs, len) /*<>*/ ; - var - l1 = /*<>*/ len / 2 | 0, - l2 = /*<>*/ len - l1 | 0; - /*<>*/ sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); - /*<>*/ sortto(srcofs, a, srcofs + l2 | 0, l1); - /*<>*/ return merge - (srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs) /*<>*/ ; - } - var l = /*<>*/ a.length - 1; - /*<>*/ if(l <= 5) - /*<>*/ return isortto(0, a, 0, l) /*<>*/ ; - var - l1 = /*<>*/ l / 2 | 0, - l2 = /*<>*/ l - l1 | 0, - t = /*<>*/ caml_floatarray_create(l2); - /*<>*/ sortto(l1, t, 0, l2); - /*<>*/ sortto(0, a, l2, l1); - /*<>*/ return merge(l2, l1, t, 0, l2, a, 0) /*<>*/ ; + /*<>*/ if(len <= 5) + /*<>*/ return isortto(srcofs, dst, dstofs, len) /*<>*/ ; + var + l1 = /*<>*/ len / 2 | 0, + l2 = /*<>*/ len - l1 | 0; + /*<>*/ sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); + /*<>*/ sortto(srcofs, a, srcofs + l2 | 0, l1); + /*<>*/ return merge + (srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs) /*<>*/ ; + } + var l = /*<>*/ a.length - 1; + /*<>*/ if(l <= 5) + /*<>*/ return isortto(0, a, 0, l) /*<>*/ ; + var + l1 = /*<>*/ l / 2 | 0, + l2 = /*<>*/ l - l1 | 0, + t = /*<>*/ caml_floatarray_create(l2); + /*<>*/ sortto(l1, t, 0, l2); + /*<>*/ sortto(0, a, l2, l1); + /*<>*/ return merge(l2, l1, t, 0, l2, a, 0) /*<>*/ ; } function shuffle(rand, a){ - var _p_ = /*<>*/ a.length - 2 | 0; - if(_p_ >= 1){ - var i = _p_; + var _o_ = /*<>*/ a.length - 2 | 0; + if(_o_ >= 1){ + var i = _o_; for(;;){ var - j = /*<>*/ caml_call1(rand, i + 1 | 0), - v = /*<>*/ a[i + 1]; - /*<>*/ a[i + 1] = caml_check_bound(a, j)[j + 1]; - /*<>*/ a[j + 1] = v; - var _q_ = /*<>*/ i - 1 | 0; + j = /*<>*/ caml_call1(rand, i + 1 | 0), + v = /*<>*/ a[i + 1]; + /*<>*/ a[i + 1] = caml_check_bound(a, j)[j + 1]; + /*<>*/ a[j + 1] = v; + var _p_ = /*<>*/ i - 1 | 0; if(1 === i) break; - i = _q_; + i = _p_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function to_seq(a){ function aux(i, param){ - /*<>*/ if(i >= a.length - 1) - /*<>*/ return 0; + /*<>*/ if(i >= a.length - 1) + /*<>*/ return 0; var - x = /*<>*/ a[i + 1], - _o_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + x = /*<>*/ a[i + 1], + _n_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, x, - function(_p_){ /*<>*/ return aux(_o_, _p_);}] /*<>*/ ; - /*<>*/ } - var _n_ = /*<>*/ 0; - return function(_o_){ - /*<>*/ return aux(_n_, _o_);} /*<>*/ ; - /*<>*/ } + function(_o_){ /*<>*/ return aux(_n_, _o_);}] /*<>*/ ; + /*<>*/ } + var _m_ = /*<>*/ 0; + return function(_n_){ + /*<>*/ return aux(_m_, _n_);} /*<>*/ ; + /*<>*/ } function to_seqi(a){ function aux(i, param){ - /*<>*/ if(i >= a.length - 1) - /*<>*/ return 0; + /*<>*/ if(i >= a.length - 1) + /*<>*/ return 0; var - x = /*<>*/ a[i + 1], - _m_ = /*<>*/ i + 1 | 0; - /*<>*/ return [0, + x = /*<>*/ a[i + 1], + _l_ = /*<>*/ i + 1 | 0; + /*<>*/ return [0, [0, i, x], - function(_n_){ /*<>*/ return aux(_m_, _n_);}] /*<>*/ ; - /*<>*/ } - var _l_ = /*<>*/ 0; - return function(_m_){ - /*<>*/ return aux(_l_, _m_);} /*<>*/ ; - /*<>*/ } + function(_m_){ /*<>*/ return aux(_l_, _m_);}] /*<>*/ ; + /*<>*/ } + var _k_ = /*<>*/ 0; + return function(_l_){ + /*<>*/ return aux(_k_, _l_);} /*<>*/ ; + /*<>*/ } function of_seq(i$2){ var l = - /*<>*/ Stdlib_Seq[5].call + /*<>*/ Stdlib_Seq[5].call (null, function(acc, x){ - /*<>*/ return [0, x, acc]; - /*<>*/ }, + /*<>*/ return [0, x, acc]; + /*<>*/ }, 0, i$2), - len = /*<>*/ Stdlib_List[1].call(null, l), - a = /*<>*/ caml_floatarray_create(len), - i$1 = /*<>*/ len - 1 | 0, + len = /*<>*/ Stdlib_List[1].call(null, l), + a = /*<>*/ caml_floatarray_create(len), + i$1 = /*<>*/ len - 1 | 0, i = i$1, param = l; for(;;){ - /*<>*/ if(! param) /*<>*/ return a; - var tl = /*<>*/ param[2], hd = param[1]; - /*<>*/ a[i + 1] = hd; - var i$0 = /*<>*/ i - 1 | 0; + /*<>*/ if(! param) /*<>*/ return a; + var tl = /*<>*/ param[2], hd = param[1]; + /*<>*/ a[i + 1] = hd; + var i$0 = /*<>*/ i - 1 | 0; i = i$0; param = tl; } - /*<>*/ } + /*<>*/ } function map_to_array(f, a){ - var l = /*<>*/ a.length - 1; - /*<>*/ if(0 === l) /*<>*/ return [0]; + var l = /*<>*/ a.length - 1; + /*<>*/ if(0 === l) /*<>*/ return [0]; var r = - /*<>*/ /*<>*/ caml_array_make - (l, /*<>*/ caml_call1(f, a[1])), - _j_ = /*<>*/ l - 1 | 0, - _k_ = 1; - if(_j_ >= 1){ - var i = _k_; + /*<>*/ /*<>*/ caml_array_make + (l, /*<>*/ caml_call1(f, a[1])), + _i_ = /*<>*/ l - 1 | 0, + _j_ = 1; + if(_i_ >= 1){ + var i = _j_; for(;;){ - /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); - var _l_ = /*<>*/ i + 1 | 0; - if(_j_ === i) break; - i = _l_; + /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); + var _k_ = /*<>*/ i + 1 | 0; + if(_i_ === i) break; + i = _k_; } } - /*<>*/ return r; - /*<>*/ } + /*<>*/ return r; + /*<>*/ } function map_from_array(f, a){ var - l = /*<>*/ a.length - 1, - r = /*<>*/ caml_floatarray_create(l), - _h_ = /*<>*/ l - 1 | 0, - _i_ = 0; - if(_h_ >= 0){ - var i = _i_; + l = /*<>*/ a.length - 1, + r = /*<>*/ caml_floatarray_create(l), + _g_ = /*<>*/ l - 1 | 0, + _h_ = 0; + if(_g_ >= 0){ + var i = _h_; for(;;){ - /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); - var _j_ = /*<>*/ i + 1 | 0; - if(_h_ === i) break; - i = _j_; + /*<>*/ r[i + 1] = caml_call1(f, a[i + 1]); + var _i_ = /*<>*/ i + 1 | 0; + if(_g_ === i) break; + i = _i_; } } - /*<>*/ return r; - /*<>*/ } + /*<>*/ return r; + /*<>*/ } var Stdlib_Float = - /*<>*/ [0, + /*<>*/ [0, 0., 1., -1., @@ -9006,10 +10495,10 @@ seeded_hash, hash, [0, - function(_h_){ /*<>*/ return _h_.length - 1;}, - function(_h_, _g_){return caml_check_bound(_h_, _g_)[_g_ + 1];}, - function(_g_, _e_, _f_){ - caml_check_bound(_g_, _e_)[_e_ + 1] = _f_; + function(_g_){ /*<>*/ return _g_.length - 1;}, + function(_g_, _f_){return caml_check_bound(_g_, _f_)[_f_ + 1];}, + function(_f_, _d_, _e_){ + caml_check_bound(_f_, _d_)[_d_ + 1] = _e_; return 0; }, caml_floatarray_make, @@ -9018,13 +10507,15 @@ make_matrix, init_matrix, append, - concat, + caml_floatarray_concat, sub, copy, fill, blit, to_list, of_list, + equal$0, + compare, iter, iteri, map, @@ -9053,10 +10544,10 @@ map_to_array, map_from_array], [0, - function(_e_){return _e_.length - 1;}, - function(_e_, _d_){return caml_check_bound(_e_, _d_)[_d_ + 1];}, - function(_d_, _b_, _c_){ - caml_check_bound(_d_, _b_)[_b_ + 1] = _c_; + function(_d_){return _d_.length - 1;}, + function(_d_, _c_){return caml_check_bound(_d_, _c_)[_c_ + 1];}, + function(_c_, _a_, _b_){ + caml_check_bound(_c_, _a_)[_a_ + 1] = _b_; return 0; }, caml_floatarray_make, @@ -9065,13 +10556,15 @@ make_matrix, init_matrix, append, - concat, + caml_floatarray_concat, sub, copy, fill, blit, to_list, of_list, + equal$0, + compare, iter, iteri, map, @@ -9099,8 +10592,8 @@ of_seq, map_to_array, map_from_array]]; - /*<>*/ runtime.caml_register_global - (25, Stdlib_Float, "Stdlib__Float"); + /*<>*/ runtime.caml_register_global + (23, Stdlib_Float, "Stdlib__Float"); return; /*<>*/ } (globalThis)); @@ -9134,7 +10627,7 @@ } function lognot(n){ /*<>*/ return n ^ -1;} var - match = /*<>*/ Stdlib_Sys[9], + match = /*<>*/ Stdlib_Sys[10], _a_ = [0, "int32.ml", 69, 6], minus_one = -1, min_int = -2147483648, @@ -9417,7 +10910,7 @@ /*<>*/ return caml_greaterequal(n, 0) ? n : - n | 0 /*<>*/ ; } var - size = /*<>*/ Stdlib_Sys[9], + size = /*<>*/ Stdlib_Sys[10], min_int = /*<>*/ 1 << (size - 1 | 0), max_int = /*<>*/ min_int - 1 | 0; function lognot(n){ /*<>*/ return n ^ -1;} @@ -9603,7 +11096,7 @@ 2 * /*<>*/ caml_ml_bytes_length(lexbuf[2]) | 0, - Stdlib_Sys[12]); + Stdlib_Sys[13]); /*<>*/ if (newlen < ((lexbuf[3] - lexbuf[5] | 0) + n | 0)) /*<>*/ Stdlib[2].call @@ -10041,6 +11534,24 @@ /*<>*/ } (globalThis)); +//# unitInfo: Provides: Stdlib__Repr +//# unitInfo: Requires: Stdlib +//# shape: Stdlib__Repr:[F(2),F(2)] +(function + (globalThis){ + "use strict"; + var + runtime = globalThis.jsoo_runtime, + global_data = runtime.caml_get_global_data(), + Stdlib = global_data.Stdlib, + min = Stdlib[16], + max = Stdlib[17], + Stdlib_Repr = [0, min, max]; + runtime.caml_register_global(1, Stdlib_Repr, "Stdlib__Repr"); + return; + } + (globalThis)); + //# unitInfo: Provides: Stdlib__Set //# unitInfo: Requires: Stdlib, Stdlib__List, Stdlib__Seq //# shape: Stdlib__Set:[F(1)*] @@ -10885,7 +12396,7 @@ (x1, /*<>*/ singleton(x0)))) /*<>*/ ; /*<>*/ if(match$2[2]){ var - l$0 = /*<>*/ Stdlib_List[66].call(null, Ord[1], l), + l$0 = /*<>*/ Stdlib_List[67].call(null, Ord[1], l), sub = /*<>*/ function(n, l){ /*<>*/ if(3 >= n >>> 0) @@ -11987,7 +13498,7 @@ /*<>*/ return bindings_aux(0, s) /*<>*/ ; } function of_list(bs){ - /*<>*/ return Stdlib_List[26].call + /*<>*/ return Stdlib_List[27].call (null, function(m, param){ var v = /*<>*/ param[2], k = param[1]; @@ -12212,13 +13723,13 @@ /*<>*/ return s[2]; /*<>*/ } function iter(f, s){ - /*<>*/ return Stdlib_List[18].call(null, f, s[1]) /*<>*/ ; + /*<>*/ return Stdlib_List[19].call(null, f, s[1]) /*<>*/ ; } function fold(f, acc, s){ - /*<>*/ return Stdlib_List[26].call(null, f, acc, s[1]) /*<>*/ ; + /*<>*/ return Stdlib_List[27].call(null, f, acc, s[1]) /*<>*/ ; } function to_seq(s){ - /*<>*/ return Stdlib_List[68].call(null, s[1]) /*<>*/ ; + /*<>*/ return Stdlib_List[69].call(null, s[1]) /*<>*/ ; } function add_seq(q, i){ /*<>*/ return Stdlib_Seq[4].call @@ -12519,7 +14030,7 @@ function create(n){ var n$0 = /*<>*/ 1 <= n ? n : 1, - n$1 = /*<>*/ Stdlib_Sys[12] < n$0 ? Stdlib_Sys[12] : n$0, + n$1 = /*<>*/ Stdlib_Sys[13] < n$0 ? Stdlib_Sys[13] : n$0, s = /*<>*/ caml_create_bytes(n$1); /*<>*/ return [0, [0, s, n$1], 0, s]; /*<>*/ } @@ -12585,12 +14096,12 @@ } var new_len$0 = - /*<>*/ Stdlib_Sys[12] < new_len + /*<>*/ Stdlib_Sys[13] < new_len ? (old_pos + more | 0) - <= Stdlib_Sys[12] - ? Stdlib_Sys[12] + <= Stdlib_Sys[13] + ? Stdlib_Sys[13] : ( /*<>*/ Stdlib [2].call (null, cst_Buffer_add_cannot_grow_buf), @@ -12737,7 +14248,7 @@ function add_channel(b, ic, to_read$1){ var _e_ = /*<>*/ to_read$1 < 0 ? 1 : 0, - _f_ = _e_ || (Stdlib_Sys[12] < to_read$1 ? 1 : 0); + _f_ = _e_ || (Stdlib_Sys[13] < to_read$1 ? 1 : 0); if(_f_) /*<>*/ Stdlib[1].call(null, cst_Buffer_add_channel); /*<>*/ if(b[1][2] < (b[2] + to_read$1 | 0)) @@ -13024,7 +14535,7 @@ function add_int16_le(b, x){ var _a_ = - /*<>*/ Stdlib_Sys[11] + /*<>*/ Stdlib_Sys[12] ? /*<>*/ caml_bswap16(x) : x; /*<>*/ return add_int16_ne(b, _a_) /*<>*/ ; @@ -13032,7 +14543,7 @@ function add_int16_be(b, x){ var x$0 = - /*<>*/ Stdlib_Sys[11] + /*<>*/ Stdlib_Sys[12] ? x : /*<>*/ caml_bswap16(x); /*<>*/ return add_int16_ne(b, x$0) /*<>*/ ; @@ -13040,7 +14551,7 @@ function add_int32_le(b, x){ var _a_ = - /*<>*/ Stdlib_Sys[11] + /*<>*/ Stdlib_Sys[12] ? /*<>*/ caml_int32_bswap(x) : x; /*<>*/ return add_int32_ne(b, _a_) /*<>*/ ; @@ -13048,7 +14559,7 @@ function add_int32_be(b, x){ var x$0 = - /*<>*/ Stdlib_Sys[11] + /*<>*/ Stdlib_Sys[12] ? x : /*<>*/ caml_int32_bswap(x); /*<>*/ return add_int32_ne(b, x$0) /*<>*/ ; @@ -13056,7 +14567,7 @@ function add_int64_le(b, x){ var _a_ = - /*<>*/ Stdlib_Sys[11] + /*<>*/ Stdlib_Sys[12] ? /*<>*/ caml_int64_bswap(x) : x; /*<>*/ return add_int64_ne(b, _a_) /*<>*/ ; @@ -13064,7 +14575,7 @@ function add_int64_be(b, x){ var x$0 = - /*<>*/ Stdlib_Sys[11] + /*<>*/ Stdlib_Sys[12] ? x : /*<>*/ caml_int64_bswap(x); /*<>*/ return add_int64_ne(b, x$0) /*<>*/ ; @@ -13394,7 +14905,7 @@ ([0, Assert_failure, _a_], 1); /*<>*/ } function set_initial_keys(l){ - /*<>*/ return Stdlib_List[18].call + /*<>*/ return Stdlib_List[19].call (null, function(param){ var v = /*<>*/ param[2], k = param[1]; @@ -13468,7 +14979,7 @@ var _a_ = /*<>*/ Stdlib_Atomic[3].call(null, parent_keys), pk = - /*<>*/ Stdlib_List[20].call + /*<>*/ Stdlib_List[21].call (null, function(param){ var split = /*<>*/ param[2], k = param[1]; @@ -20197,8 +21708,8 @@ new_acc = /*<>*/ (acc * 10 | 0) + (c - 48 | 0) | 0; - /*<>*/ if(Stdlib_Sys[12] < new_acc){ - var _aa_ = /*<>*/ Stdlib_Sys[12]; + /*<>*/ if(Stdlib_Sys[13] < new_acc){ + var _aa_ = /*<>*/ Stdlib_Sys[13]; return caml_call3(failwith_message(_S_), str, new_acc, _aa_) /*<>*/ ; } var str_ind$0 = /*<>*/ str_ind + 1 | 0; @@ -20753,17 +22264,17 @@ var t = /*<>*/ l[2], h = l[1], - _N_ = /*<>*/ Stdlib[28].call(null, prefix, h), - _O_ = - /*<>*/ Stdlib_List[26].call + _M_ = /*<>*/ Stdlib[28].call(null, prefix, h), + _N_ = + /*<>*/ Stdlib_List[27].call (null, function(x, y){ - var _O_ = /*<>*/ Stdlib[28].call(null, sep, y); - /*<>*/ return Stdlib[28].call(null, x, _O_); + var _N_ = /*<>*/ Stdlib[28].call(null, sep, y); + /*<>*/ return Stdlib[28].call(null, x, _N_); }, - _N_, + _M_, t); - /*<>*/ return Stdlib[28].call(null, _O_, suffix) /*<>*/ ; + /*<>*/ return Stdlib[28].call(null, _N_, suffix) /*<>*/ ; } function help_action(param){ /*<>*/ throw caml_maybe_attach_backtrace([0, Stop, _c_], 1); @@ -20771,7 +22282,7 @@ function add_help(speclist){ /*<>*/ try{ /*<>*/ assoc3(cst_help$2, speclist); - var _N_ = /*<>*/ 0, add1 = _N_; + var _M_ = /*<>*/ 0, add1 = _M_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); @@ -20784,7 +22295,7 @@ } /*<>*/ try{ /*<>*/ assoc3(cst_help$1, speclist); - var _M_ = /*<>*/ 0, add2 = _M_; + var _L_ = /*<>*/ 0, add2 = _L_; } catch(exn){ var exn$0 = /*<>*/ caml_wrap_exception(exn); @@ -20795,33 +22306,33 @@ [0, cst_help$0, [0, help_action], cst_Display_this_list_of_optio$0], 0]; } - var _L_ = /*<>*/ Stdlib[37].call(null, add1, add2); - /*<>*/ return Stdlib[37].call(null, speclist, _L_); + var _K_ = /*<>*/ Stdlib[37].call(null, add1, add2); + /*<>*/ return Stdlib[37].call(null, speclist, _K_); } function usage_b(buf, speclist, errmsg){ /*<>*/ caml_call1 (Stdlib_Printf[5].call(null, buf, _d_), errmsg); - var _K_ = /*<>*/ add_help(speclist); - /*<>*/ return Stdlib_List[18].call + var _J_ = /*<>*/ add_help(speclist); + /*<>*/ return Stdlib_List[19].call (null, function(param){ var doc = /*<>*/ param[3], spec = param[2], key = param[1], - _K_ = + _J_ = /*<>*/ 0 < caml_ml_string_length(doc) ? 1 : 0; - if(! _K_) return _K_; + if(! _J_) return _J_; /*<>*/ if(11 !== spec[0]) /*<>*/ return caml_call2 (Stdlib_Printf[5].call(null, buf, _a_), key, doc); var l = /*<>*/ spec[1], - _L_ = /*<>*/ make_symlist(cst$1, cst$0, cst, l); + _K_ = /*<>*/ make_symlist(cst$1, cst$0, cst, l); /*<>*/ return caml_call3 - (Stdlib_Printf[5].call(null, buf, _b_), key, _L_, doc); + (Stdlib_Printf[5].call(null, buf, _b_), key, _K_, doc); }, - _K_) /*<>*/ ; + _J_) /*<>*/ ; } function usage_string(speclist, errmsg){ var b = /*<>*/ Stdlib_Buffer[1].call(null, 200); @@ -20829,9 +22340,9 @@ /*<>*/ return Stdlib_Buffer[2].call(null, b) /*<>*/ ; } function usage(speclist, errmsg){ - var _K_ = /*<>*/ usage_string(speclist, errmsg); + var _J_ = /*<>*/ usage_string(speclist, errmsg); /*<>*/ return caml_call1 - (Stdlib_Printf[3].call(null, _e_), _K_); + (Stdlib_Printf[3].call(null, _e_), _J_); } var current = /*<>*/ [0, 0], @@ -20874,85 +22385,63 @@ _p_ = [0, [2, 0, 0], cst_s], _q_ = [0, [2, 0, 0], cst_s], dummy = 0; - function int_of_string_opt(x){ - /*<>*/ try{ - var _K_ = /*<>*/ [0, runtime.caml_int_of_string(x)]; - return _K_; - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; - if(tag === Stdlib[7]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); - } - /*<>*/ } - function float_of_string_opt(x){ - /*<>*/ try{ - var _K_ = /*<>*/ [0, runtime.caml_float_of_string(x)]; - return _K_; - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; - if(tag === Stdlib[7]) /*<>*/ return 0; - /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); - } - /*<>*/ } function parse_and_expand_argv_dynamic_ (allow_expand, current, argv, speclist, anonfun, errmsg){ - var initpos = /*<>*/ current[1]; + var initpos = /*<>*/ current[1]; function convert_error(error){ var - b = /*<>*/ Stdlib_Buffer[1].call(null, 200), + b = /*<>*/ Stdlib_Buffer[1].call(null, 200), progname = - /*<>*/ initpos < argv[1].length - 1 - ? /*<>*/ caml_check_bound + /*<>*/ initpos < argv[1].length - 1 + ? /*<>*/ caml_check_bound (argv[1], initpos) [initpos + 1] : cst$2; - /*<>*/ switch(error[0]){ + /*<>*/ switch(error[0]){ case 0: var s = error[1]; if(s !== cst_help$4 && s !== cst_help$3) - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Printf[5].call(null, b, _f_), progname, s); break; case 1: var - expected = /*<>*/ error[3], + expected = /*<>*/ error[3], arg = error[2], opt = error[1]; - /*<>*/ caml_call4 + /*<>*/ caml_call4 (Stdlib_Printf[5].call(null, b, _i_), progname, arg, opt, expected); break; case 2: - var s$0 = /*<>*/ error[1]; - /*<>*/ caml_call2 + var s$0 = /*<>*/ error[1]; + /*<>*/ caml_call2 (Stdlib_Printf[5].call(null, b, _j_), progname, s$0); break; default: - var s$1 = /*<>*/ error[1]; - /*<>*/ caml_call2 + var s$1 = /*<>*/ error[1]; + /*<>*/ caml_call2 (Stdlib_Printf[5].call(null, b, _k_), progname, s$1); } - /*<>*/ usage_b(b, speclist[1], errmsg); - /*<>*/ if + /*<>*/ usage_b(b, speclist[1], errmsg); + /*<>*/ if (! caml_equal(error, _g_) - && ! /*<>*/ caml_equal(error, _h_)) - /*<>*/ return [0, Bad, Stdlib_Buffer[2].call(null, b)] /*<>*/ ; - /*<>*/ return [0, Help, Stdlib_Buffer[2].call(null, b)] /*<>*/ ; - /*<>*/ } - /*<>*/ current[1]++; - /*<>*/ for(;;){ + && ! /*<>*/ caml_equal(error, _h_)) + /*<>*/ return [0, Bad, Stdlib_Buffer[2].call(null, b)] /*<>*/ ; + /*<>*/ return [0, Help, Stdlib_Buffer[2].call(null, b)] /*<>*/ ; + /*<>*/ } + /*<>*/ current[1]++; + /*<>*/ for(;;){ if(current[1] >= argv[1].length - 1) return 0; try{ var _E_ = current[1], - s = /*<>*/ caml_check_bound(argv[1], _E_)[_E_ + 1]; - /*<>*/ if(Stdlib_String[11].call(null, cst$3, s)){ - /*<>*/ try{ + s = /*<>*/ caml_check_bound(argv[1], _E_)[_E_ + 1]; + /*<>*/ if(Stdlib_String[11].call(null, cst$3, s)){ + /*<>*/ try{ var - follow$1 = /*<>*/ 0, - _G_ = /*<>*/ assoc3(s, speclist[1]), + follow$1 = /*<>*/ 0, + _G_ = /*<>*/ assoc3(s, speclist[1]), follow$0 = follow$1, action = _G_; } @@ -20967,7 +22456,7 @@ /*<>*/ Stdlib_String[16].call (null, s, i + 1 | 0, len - (i + 1 | 0) | 0), keyword = /*<>*/ Stdlib_String[16].call(null, s, 0, i), - follow = /*<>*/ [0, arg], + follow = /*<>*/ [0, arg], _F_ = assoc3(keyword, speclist[1]), follow$0 = follow, action = _F_; @@ -20975,279 +22464,269 @@ catch(exn){ var exn$1 = /*<>*/ caml_wrap_exception(exn); if(exn$1 === Stdlib[8]) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [0, s]], 1); /*<>*/ throw caml_maybe_attach_backtrace(exn$1, 0); } } - let s$0 = /*<>*/ s, follow$2 = follow$0; + let s$0 = /*<>*/ s, follow$2 = follow$0; var no_arg = - /*<>*/ function(param){ - /*<>*/ if(! follow$2) - /*<>*/ return; - var arg = /*<>*/ follow$2[1]; - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ function(param){ + /*<>*/ if(! follow$2) + /*<>*/ return; + var arg = /*<>*/ follow$2[1]; + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [1, s$0, arg, cst_no_argument]], 1); - /*<>*/ }, + /*<>*/ }, get_arg = - /*<>*/ function(param){ - /*<>*/ if(follow$2){ + /*<>*/ function(param){ + /*<>*/ if(follow$2){ var arg = follow$2[1]; - /*<>*/ return arg; + /*<>*/ return arg; } - /*<>*/ if + /*<>*/ if ((current[1] + 1 | 0) >= argv[1].length - 1) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [2, s$0]], 1); - var _K_ = /*<>*/ current[1] + 1 | 0; - return caml_check_bound(argv[1], _K_)[_K_ + 1] /*<>*/ ; - /*<>*/ }, + var _J_ = /*<>*/ current[1] + 1 | 0; + return caml_check_bound(argv[1], _J_)[_J_ + 1] /*<>*/ ; + /*<>*/ }, consume_arg = - /*<>*/ function(param){ - /*<>*/ return follow$2 ? 0 : (current[1]++, 0) /*<>*/ ; + /*<>*/ function(param){ + /*<>*/ return follow$2 ? 0 : (current[1]++, 0) /*<>*/ ; }, treat_action = - /*<>*/ function(param){ - /*<>*/ switch(param[0]){ + /*<>*/ function(param){ + /*<>*/ switch(param[0]){ case 0: var f = param[1]; - /*<>*/ no_arg$0(0); - /*<>*/ return caml_call1(f, 0) /*<>*/ ; + /*<>*/ no_arg$0(0); + /*<>*/ return caml_call1(f, 0) /*<>*/ ; case 1: var - f$0 = /*<>*/ param[1], - arg = /*<>*/ get_arg$0(0); - /*<>*/ try{ - var - _I_ = /*<>*/ [0, Stdlib[32].call(null, arg)], - match = _I_; - } - catch(exn$0){ - var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; - if(tag !== Stdlib[6]) - throw caml_maybe_attach_backtrace(exn, 0); - var match = /*<>*/ 0; - } - /*<>*/ if(! match) - /*<>*/ throw caml_maybe_attach_backtrace + f$0 = /*<>*/ param[1], + arg = /*<>*/ get_arg$0(0), + match = /*<>*/ Stdlib[31].call(null, arg); + /*<>*/ if(! match) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [1, s$0, arg, cst_a_boolean]], 1); - var s = /*<>*/ match[1]; - /*<>*/ caml_call1(f$0, s); - /*<>*/ return consume_arg$0(0) /*<>*/ ; + var s = /*<>*/ match[1]; + /*<>*/ caml_call1(f$0, s); + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 2: - var r = /*<>*/ param[1]; - /*<>*/ no_arg$0(0); - /*<>*/ r[1] = 1; + var r = /*<>*/ param[1]; + /*<>*/ no_arg$0(0); + /*<>*/ r[1] = 1; return 0; case 3: - var r$0 = /*<>*/ param[1]; - /*<>*/ no_arg$0(0); - /*<>*/ r$0[1] = 0; + var r$0 = /*<>*/ param[1]; + /*<>*/ no_arg$0(0); + /*<>*/ r$0[1] = 0; return 0; case 4: var - f$1 = /*<>*/ param[1], - arg$0 = /*<>*/ get_arg$0(0); - /*<>*/ caml_call1(f$1, arg$0); - /*<>*/ return consume_arg$0(0) /*<>*/ ; + f$1 = /*<>*/ param[1], + arg$0 = /*<>*/ get_arg$0(0); + /*<>*/ caml_call1(f$1, arg$0); + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 5: - var r$1 = /*<>*/ param[1]; - /*<>*/ r$1[1] = get_arg$0(0); - /*<>*/ return consume_arg$0(0) /*<>*/ ; + var r$1 = /*<>*/ param[1]; + /*<>*/ r$1[1] = get_arg$0(0); + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 6: var - f$2 = /*<>*/ param[1], - arg$1 = /*<>*/ get_arg$0(0), - match$0 = /*<>*/ int_of_string_opt(arg$1); - /*<>*/ if(! match$0) - /*<>*/ throw caml_maybe_attach_backtrace + f$2 = /*<>*/ param[1], + arg$1 = /*<>*/ get_arg$0(0), + match$0 = /*<>*/ Stdlib[34].call(null, arg$1); + /*<>*/ if(! match$0) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [1, s$0, arg$1, cst_an_integer]], 1); - var x = /*<>*/ match$0[1]; - /*<>*/ caml_call1(f$2, x); - /*<>*/ return consume_arg$0(0) /*<>*/ ; + var x = /*<>*/ match$0[1]; + /*<>*/ caml_call1(f$2, x); + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 7: var - r$2 = /*<>*/ param[1], - arg$2 = /*<>*/ get_arg$0(0), - match$1 = /*<>*/ int_of_string_opt(arg$2); - /*<>*/ if(! match$1) - /*<>*/ throw caml_maybe_attach_backtrace + r$2 = /*<>*/ param[1], + arg$2 = /*<>*/ get_arg$0(0), + match$1 = /*<>*/ Stdlib[34].call(null, arg$2); + /*<>*/ if(! match$1) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [1, s$0, arg$2, cst_an_integer$0]], 1); - var x$0 = /*<>*/ match$1[1]; - /*<>*/ r$2[1] = x$0; - /*<>*/ return consume_arg$0(0) /*<>*/ ; + var x$0 = /*<>*/ match$1[1]; + /*<>*/ r$2[1] = x$0; + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 8: var - f$3 = /*<>*/ param[1], - arg$3 = /*<>*/ get_arg$0(0), - match$2 = /*<>*/ float_of_string_opt(arg$3); - /*<>*/ if(! match$2) - /*<>*/ throw caml_maybe_attach_backtrace + f$3 = /*<>*/ param[1], + arg$3 = /*<>*/ get_arg$0(0), + match$2 = /*<>*/ Stdlib[36].call(null, arg$3); + /*<>*/ if(! match$2) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [1, s$0, arg$3, cst_a_float]], 1); - var x$1 = /*<>*/ match$2[1]; - /*<>*/ caml_call1(f$3, x$1); - /*<>*/ return consume_arg$0(0) /*<>*/ ; + var x$1 = /*<>*/ match$2[1]; + /*<>*/ caml_call1(f$3, x$1); + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 9: var - r$3 = /*<>*/ param[1], - arg$4 = /*<>*/ get_arg$0(0), - match$3 = /*<>*/ float_of_string_opt(arg$4); - /*<>*/ if(! match$3) - /*<>*/ throw caml_maybe_attach_backtrace + r$3 = /*<>*/ param[1], + arg$4 = /*<>*/ get_arg$0(0), + match$3 = /*<>*/ Stdlib[36].call(null, arg$4); + /*<>*/ if(! match$3) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, [1, s$0, arg$4, cst_a_float$0]], 1); - var x$2 = /*<>*/ match$3[1]; - /*<>*/ r$3[1] = x$2; - /*<>*/ return consume_arg$0(0) /*<>*/ ; + var x$2 = /*<>*/ match$3[1]; + /*<>*/ r$3[1] = x$2; + /*<>*/ return consume_arg$0(0) /*<>*/ ; case 10: - var specs = /*<>*/ param[1]; - /*<>*/ no_arg$0(0); - /*<>*/ return Stdlib_List[18].call - (null, treat_action$0, specs) /*<>*/ ; + var specs = /*<>*/ param[1]; + /*<>*/ no_arg$0(0); + /*<>*/ return Stdlib_List[19].call + (null, treat_action$0, specs) /*<>*/ ; case 11: var - f$4 = /*<>*/ param[2], + f$4 = /*<>*/ param[2], symb = param[1], - arg$5 = /*<>*/ get_arg$0(0); - /*<>*/ if - (Stdlib_List[37].call(null, arg$5, symb)){ - /*<>*/ caml_call1(f$4, arg$5); - /*<>*/ return consume_arg$0(0) /*<>*/ ; + arg$5 = /*<>*/ get_arg$0(0); + /*<>*/ if + (Stdlib_List[38].call(null, arg$5, symb)){ + /*<>*/ caml_call1(f$4, arg$5); + /*<>*/ return consume_arg$0(0) /*<>*/ ; } var - _J_ = - /*<>*/ make_symlist + _I_ = + /*<>*/ make_symlist (cst$6, cst$5, cst$4, symb); - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stop, - [1, s$0, arg$5, Stdlib[28].call(null, cst_one_of, _J_)]], + [1, s$0, arg$5, Stdlib[28].call(null, cst_one_of, _I_)]], 1); case 12: - var f$5 = /*<>*/ param[1]; - /*<>*/ no_arg$0(0); - /*<>*/ for(;;){ + var f$5 = /*<>*/ param[1]; + /*<>*/ no_arg$0(0); + /*<>*/ for(;;){ if(current[1] >= (argv[1].length - 2 | 0)) return 0; - var _G_ = /*<>*/ current[1] + 1 | 0; - /*<>*/ /*<>*/ caml_call1 + var _G_ = /*<>*/ current[1] + 1 | 0; + /*<>*/ /*<>*/ caml_call1 (f$5, - /*<>*/ caml_check_bound(argv[1], _G_) + /*<>*/ caml_check_bound(argv[1], _G_) [_G_ + 1]); - /*<>*/ consume_arg$0(0); + /*<>*/ consume_arg$0(0); } break; case 13: - var f$6 = /*<>*/ param[1]; - /*<>*/ no_arg$0(0); - var acc = /*<>*/ 0; + var f$6 = /*<>*/ param[1]; + /*<>*/ no_arg$0(0); + var acc = /*<>*/ 0; for(;;){ if(current[1] >= (argv[1].length - 2 | 0)) - /*<>*/ return /*<>*/ caml_call1 + /*<>*/ return /*<>*/ caml_call1 (f$6, - /*<>*/ Stdlib_List[10].call(null, acc)) /*<>*/ ; + /*<>*/ Stdlib_List[11].call(null, acc)) /*<>*/ ; var - _H_ = /*<>*/ current[1] + 1 | 0, - _K_ = - /*<>*/ [0, + _H_ = /*<>*/ current[1] + 1 | 0, + _J_ = + /*<>*/ [0, caml_check_bound(argv[1], _H_)[_H_ + 1], acc]; - /*<>*/ consume_arg$0(0); - /*<>*/ acc = _K_; + /*<>*/ consume_arg$0(0); + /*<>*/ acc = _J_; } break; default: - var f$7 = /*<>*/ param[1]; - /*<>*/ if(1 - allow_expand) - /*<>*/ throw caml_maybe_attach_backtrace + var f$7 = /*<>*/ param[1]; + /*<>*/ if(1 - allow_expand) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stdlib[6], cst_Arg_Expand_is_is_only_allo], 1); var - arg$6 = /*<>*/ get_arg$0(0), - newarg = /*<>*/ caml_call1(f$7, arg$6); - /*<>*/ consume_arg$0(0); + arg$6 = /*<>*/ get_arg$0(0), + newarg = /*<>*/ caml_call1(f$7, arg$6); + /*<>*/ consume_arg$0(0); var before = - /*<>*/ Stdlib_Array[6].call + /*<>*/ Stdlib_Array[6].call (null, argv[1], 0, current[1] + 1 | 0), after = - /*<>*/ Stdlib_Array[6].call + /*<>*/ Stdlib_Array[6].call (null, argv[1], current[1] + 1 | 0, (argv[1].length - 1 - current[1] | 0) - 1 | 0); - /*<>*/ argv[1] = + /*<>*/ argv[1] = Stdlib_Array[5].call (null, [0, before, [0, newarg, [0, after, 0]]]); - /*<>*/ return 0; + /*<>*/ return 0; } - /*<>*/ }; + /*<>*/ }; let no_arg$0 = no_arg, get_arg$0 = get_arg, consume_arg$0 = consume_arg, treat_action$0 = treat_action; - /*<>*/ treat_action(action); + /*<>*/ treat_action(action); } else - /*<>*/ caml_call1(anonfun, s); + /*<>*/ caml_call1(anonfun, s); } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; if(tag === Bad){ var m = exn[2]; - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace (convert_error([3, m]), 1); } var tag$0 = /*<>*/ exn[1]; if(tag$0 !== Stop) throw caml_maybe_attach_backtrace(exn, 0); var e = exn[2]; - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace (convert_error(e), 1); } - /*<>*/ current[1]++; + /*<>*/ current[1]++; } - } + /*<>*/ } function parse_and_expand_argv_dynamic (current, argv, speclist, anonfun, errmsg){ - /*<>*/ return parse_and_expand_argv_dynamic_ - (1, current, argv, speclist, anonfun, errmsg) /*<>*/ ; + /*<>*/ return parse_and_expand_argv_dynamic_ + (1, current, argv, speclist, anonfun, errmsg) /*<>*/ ; } function parse_argv_dynamic(opt, argv, speclist, anonfun, errmsg){ - var current$0 = /*<>*/ opt ? opt[1] : current; - /*<>*/ return parse_and_expand_argv_dynamic_ - (0, current$0, [0, argv], speclist, anonfun, errmsg) /*<>*/ ; + var current$0 = /*<>*/ opt ? opt[1] : current; + /*<>*/ return parse_and_expand_argv_dynamic_ + (0, current$0, [0, argv], speclist, anonfun, errmsg) /*<>*/ ; } function parse_argv(opt, argv, speclist, anonfun, errmsg){ - var current$0 = /*<>*/ opt ? opt[1] : current; - /*<>*/ return parse_argv_dynamic - ([0, current$0], argv, [0, speclist], anonfun, errmsg) /*<>*/ ; + var current$0 = /*<>*/ opt ? opt[1] : current; + /*<>*/ return parse_argv_dynamic + ([0, current$0], argv, [0, speclist], anonfun, errmsg) /*<>*/ ; } function parse(l, f, msg){ - /*<>*/ try{ + /*<>*/ try{ var - _E_ = /*<>*/ parse_argv(0, caml_sys_argv(0), l, f, msg); + _E_ = /*<>*/ parse_argv(0, caml_sys_argv(0), l, f, msg); return _E_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; if(tag === Bad){ var msg$0 = exn[2]; - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Printf[3].call(null, _l_), msg$0); - /*<>*/ return Stdlib[99].call(null, 2) /*<>*/ ; + /*<>*/ return Stdlib[99].call(null, 2) /*<>*/ ; } var tag$0 = /*<>*/ exn[1]; if(tag$0 !== Help) throw caml_maybe_attach_backtrace(exn, 0); var msg$1 = exn[2]; - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Printf[2].call(null, _m_), msg$1); - /*<>*/ return Stdlib[99].call(null, 0) /*<>*/ ; + /*<>*/ return Stdlib[99].call(null, 0) /*<>*/ ; } } function parse_dynamic(l, f, msg){ - /*<>*/ try{ + /*<>*/ try{ var _E_ = - /*<>*/ parse_argv_dynamic + /*<>*/ parse_argv_dynamic (0, caml_sys_argv(0), l, f, msg); return _E_; } @@ -21255,26 +22734,26 @@ var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; if(tag === Bad){ var msg$0 = exn[2]; - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Printf[3].call(null, _n_), msg$0); - /*<>*/ return Stdlib[99].call(null, 2) /*<>*/ ; + /*<>*/ return Stdlib[99].call(null, 2) /*<>*/ ; } var tag$0 = /*<>*/ exn[1]; if(tag$0 !== Help) throw caml_maybe_attach_backtrace(exn, 0); var msg$1 = exn[2]; - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Printf[2].call(null, _o_), msg$1); - /*<>*/ return Stdlib[99].call(null, 0) /*<>*/ ; + /*<>*/ return Stdlib[99].call(null, 0) /*<>*/ ; } } function parse_expand(l, f, msg){ - /*<>*/ try{ + /*<>*/ try{ var argv = [0, caml_sys_argv(0)], - spec = /*<>*/ [0, l], - current$0 = /*<>*/ [0, current[1]], + spec = /*<>*/ [0, l], + current$0 = /*<>*/ [0, current[1]], _E_ = - /*<>*/ parse_and_expand_argv_dynamic + /*<>*/ parse_and_expand_argv_dynamic (current$0, argv, spec, f, msg); return _E_; } @@ -21282,211 +22761,211 @@ var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; if(tag === Bad){ var msg$0 = exn[2]; - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Printf[3].call(null, _p_), msg$0); - /*<>*/ return Stdlib[99].call(null, 2) /*<>*/ ; + /*<>*/ return Stdlib[99].call(null, 2) /*<>*/ ; } var tag$0 = /*<>*/ exn[1]; if(tag$0 !== Help) throw caml_maybe_attach_backtrace(exn, 0); var msg$1 = exn[2]; - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Printf[2].call(null, _q_), msg$1); - /*<>*/ return Stdlib[99].call(null, 0) /*<>*/ ; + /*<>*/ return Stdlib[99].call(null, 0) /*<>*/ ; } } function second_word(s){ - var len = /*<>*/ caml_ml_string_length(s); + var len = /*<>*/ caml_ml_string_length(s); function loop(n$1){ - var n = /*<>*/ n$1; + var n = /*<>*/ n$1; for(;;){ - if(len <= n) /*<>*/ return len; - /*<>*/ if(32 !== caml_string_get(s, n)) - /*<>*/ return n; - var n$0 = /*<>*/ n + 1 | 0; + if(len <= n) /*<>*/ return len; + /*<>*/ if(32 !== caml_string_get(s, n)) + /*<>*/ return n; + var n$0 = /*<>*/ n + 1 | 0; n = n$0; } - /*<>*/ } - /*<>*/ try{ - var n$0 = /*<>*/ Stdlib_String[36].call(null, s, 9); + /*<>*/ } + /*<>*/ try{ + var n$0 = /*<>*/ Stdlib_String[36].call(null, s, 9); } catch(exn$1){ var exn = /*<>*/ caml_wrap_exception(exn$1); if(exn !== Stdlib[8]) throw caml_maybe_attach_backtrace(exn, 0); - try{var n = /*<>*/ Stdlib_String[36].call(null, s, 32);} + try{var n = /*<>*/ Stdlib_String[36].call(null, s, 32);} catch(exn){ var exn$0 = /*<>*/ caml_wrap_exception(exn); - if(exn$0 === Stdlib[8]) /*<>*/ return len; + if(exn$0 === Stdlib[8]) /*<>*/ return len; /*<>*/ throw caml_maybe_attach_backtrace(exn$0, 0); } - /*<>*/ return loop(n + 1 | 0) /*<>*/ ; + /*<>*/ return loop(n + 1 | 0) /*<>*/ ; } - /*<>*/ return loop(n$0 + 1 | 0) /*<>*/ ; + /*<>*/ return loop(n$0 + 1 | 0) /*<>*/ ; } function max_arg_len(cur, param){ var - doc = /*<>*/ param[3], + doc = /*<>*/ param[3], spec = param[2], kwd = param[1]; - /*<>*/ if(11 === spec[0]) - /*<>*/ return Stdlib_Int[11].call - (null, cur, caml_ml_string_length(kwd)) /*<>*/ ; + /*<>*/ if(11 === spec[0]) + /*<>*/ return Stdlib_Int[11].call + (null, cur, caml_ml_string_length(kwd)) /*<>*/ ; var _E_ = - /*<>*/ caml_ml_string_length(kwd) - + /*<>*/ second_word(doc) + /*<>*/ caml_ml_string_length(kwd) + + /*<>*/ second_word(doc) | 0; - /*<>*/ return Stdlib_Int[11].call(null, cur, _E_) /*<>*/ ; + /*<>*/ return Stdlib_Int[11].call(null, cur, _E_) /*<>*/ ; } function replace_leading_tab(s){ - var seen = /*<>*/ [0, 0]; - /*<>*/ return Stdlib_String[18].call + var seen = /*<>*/ [0, 0]; + /*<>*/ return Stdlib_String[18].call (null, function(c){ - /*<>*/ if(9 === c && ! seen[1]){ - /*<>*/ seen[1] = 1; - /*<>*/ return 32; + /*<>*/ if(9 === c && ! seen[1]){ + /*<>*/ seen[1] = 1; + /*<>*/ return 32; } - /*<>*/ return c; - /*<>*/ }, - s) /*<>*/ ; + /*<>*/ return c; + /*<>*/ }, + s) /*<>*/ ; } function align(opt, speclist){ var - limit = /*<>*/ opt ? opt[1] : Stdlib[19], - completed = /*<>*/ add_help(speclist), + limit = /*<>*/ opt ? opt[1] : Stdlib[19], + completed = /*<>*/ add_help(speclist), len = - /*<>*/ Stdlib_List[26].call + /*<>*/ Stdlib_List[27].call (null, max_arg_len, 0, completed), - len$0 = /*<>*/ Stdlib_Int[10].call(null, len, limit); - /*<>*/ return Stdlib_List[20].call + len$0 = /*<>*/ Stdlib_Int[10].call(null, len, limit); + /*<>*/ return Stdlib_List[21].call (null, function(ksd){ - var kwd = /*<>*/ ksd[1], spec = ksd[2]; - if(ksd[3] === cst$8) /*<>*/ return ksd; - /*<>*/ if(11 === spec[0]){ + var kwd = /*<>*/ ksd[1], spec = ksd[2]; + if(ksd[3] === cst$8) /*<>*/ return ksd; + /*<>*/ if(11 === spec[0]){ var msg$0 = ksd[3], - cutcol$0 = /*<>*/ second_word(msg$0), + cutcol$0 = /*<>*/ second_word(msg$0), _C_ = - /*<>*/ Stdlib_Int[11].call + /*<>*/ Stdlib_Int[11].call (null, 0, len$0 - cutcol$0 | 0) + 3 | 0, spaces$0 = - /*<>*/ Stdlib_String[1].call(null, _C_, 32), - _D_ = /*<>*/ replace_leading_tab(msg$0), + /*<>*/ Stdlib_String[1].call(null, _C_, 32), + _D_ = /*<>*/ replace_leading_tab(msg$0), _E_ = - /*<>*/ Stdlib[28].call(null, spaces$0, _D_); - /*<>*/ return [0, + /*<>*/ Stdlib[28].call(null, spaces$0, _D_); + /*<>*/ return [0, kwd, spec, - Stdlib[28].call(null, cst$7, _E_)] /*<>*/ ; + Stdlib[28].call(null, cst$7, _E_)] /*<>*/ ; } var - msg = /*<>*/ ksd[3], + msg = /*<>*/ ksd[3], spec$0 = ksd[2], - cutcol = /*<>*/ second_word(msg), - kwd_len = /*<>*/ caml_ml_string_length(kwd), - diff = /*<>*/ (len$0 - kwd_len | 0) - cutcol | 0; - /*<>*/ if(0 >= diff) - /*<>*/ return [0, + cutcol = /*<>*/ second_word(msg), + kwd_len = /*<>*/ caml_ml_string_length(kwd), + diff = /*<>*/ (len$0 - kwd_len | 0) - cutcol | 0; + /*<>*/ if(0 >= diff) + /*<>*/ return [0, kwd, spec$0, - replace_leading_tab(msg)] /*<>*/ ; + replace_leading_tab(msg)] /*<>*/ ; var spaces = - /*<>*/ Stdlib_String[1].call(null, diff, 32), - _A_ = /*<>*/ replace_leading_tab(msg), + /*<>*/ Stdlib_String[1].call(null, diff, 32), + _A_ = /*<>*/ replace_leading_tab(msg), prefix = - /*<>*/ Stdlib_String[16].call + /*<>*/ Stdlib_String[16].call (null, _A_, 0, cutcol), suffix = - /*<>*/ /*<>*/ Stdlib_String + /*<>*/ /*<>*/ Stdlib_String [16].call (null, msg, cutcol, - /*<>*/ caml_ml_string_length(msg) - cutcol + /*<>*/ caml_ml_string_length(msg) - cutcol | 0), _B_ = - /*<>*/ Stdlib[28].call(null, spaces, suffix); - /*<>*/ return [0, + /*<>*/ Stdlib[28].call(null, spaces, suffix); + /*<>*/ return [0, kwd, spec$0, - Stdlib[28].call(null, prefix, _B_)] /*<>*/ ; + Stdlib[28].call(null, prefix, _B_)] /*<>*/ ; }, - completed) /*<>*/ ; + completed) /*<>*/ ; } function read_aux(trim, sep, file){ var - ic = /*<>*/ Stdlib[80].call(null, file), - buf = /*<>*/ Stdlib_Buffer[1].call(null, 200), - words = /*<>*/ [0, 0]; + ic = /*<>*/ Stdlib[80].call(null, file), + buf = /*<>*/ Stdlib_Buffer[1].call(null, 200), + words = /*<>*/ [0, 0]; function stash(param){ - var word = /*<>*/ Stdlib_Buffer[2].call(null, buf); - /*<>*/ if(trim) + var word = /*<>*/ Stdlib_Buffer[2].call(null, buf); + /*<>*/ if(trim) var - len = /*<>*/ caml_ml_string_length(word), + len = /*<>*/ caml_ml_string_length(word), word$0 = - /*<>*/ 0 < len + /*<>*/ 0 < len ? 13 - === /*<>*/ caml_string_get(word, len - 1 | 0) - ? /*<>*/ Stdlib_String + === /*<>*/ caml_string_get(word, len - 1 | 0) + ? /*<>*/ Stdlib_String [16].call (null, word, 0, len - 1 | 0) : word : word; else - var word$0 = /*<>*/ word; - /*<>*/ words[1] = [0, word$0, words[1]]; - /*<>*/ return Stdlib_Buffer[8].call(null, buf) /*<>*/ ; + var word$0 = /*<>*/ word; + /*<>*/ words[1] = [0, word$0, words[1]]; + /*<>*/ return Stdlib_Buffer[8].call(null, buf) /*<>*/ ; } - /*<>*/ try{ + /*<>*/ try{ for(;;){ - var c = /*<>*/ Stdlib[82].call(null, ic); - /*<>*/ if(c === sep) - /*<>*/ stash(0); + var c = /*<>*/ Stdlib[82].call(null, ic); + /*<>*/ if(c === sep) + /*<>*/ stash(0); else - /*<>*/ Stdlib_Buffer[12].call(null, buf, c); + /*<>*/ Stdlib_Buffer[12].call(null, buf, c); } } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); if(exn !== Stdlib[12]) throw caml_maybe_attach_backtrace(exn, 0); - /*<>*/ if(0 < Stdlib_Buffer[7].call(null, buf)) - /*<>*/ stash(0); - /*<>*/ Stdlib[93].call(null, ic); - var _A_ = /*<>*/ Stdlib_List[10].call(null, words[1]); - /*<>*/ return Stdlib_Array[11].call(null, _A_); + /*<>*/ if(0 < Stdlib_Buffer[7].call(null, buf)) + /*<>*/ stash(0); + /*<>*/ Stdlib[93].call(null, ic); + var _A_ = /*<>*/ Stdlib_List[11].call(null, words[1]); + /*<>*/ return Stdlib_Array[11].call(null, _A_); } } - var _r_ = /*<>*/ 10, _s_ = 1; + var _r_ = /*<>*/ 10, _s_ = 1; function read_arg(_A_){return read_aux(_s_, _r_, _A_);} var - _t_ = /*<>*/ 0, + _t_ = /*<>*/ 0, _u_ = 0, _v_ = [0, [2, 0, [0, 0]], "%s%c"]; function read_arg0(_A_){ - /*<>*/ return read_aux(_u_, _t_, _A_); + /*<>*/ return read_aux(_u_, _t_, _A_); } function write_aux(sep, file, args){ - var oc = /*<>*/ Stdlib[61].call(null, file); - /*<>*/ Stdlib_Array[12].call + var oc = /*<>*/ Stdlib[61].call(null, file); + /*<>*/ Stdlib_Array[14].call (null, function(s){ - /*<>*/ return caml_call2 - (Stdlib_Printf[1].call(null, oc, _v_), s, sep) /*<>*/ ; + /*<>*/ return caml_call2 + (Stdlib_Printf[1].call(null, oc, _v_), s, sep) /*<>*/ ; }, args); - /*<>*/ return Stdlib[76].call(null, oc) /*<>*/ ; + /*<>*/ return Stdlib[76].call(null, oc) /*<>*/ ; } - var _w_ = /*<>*/ 10; + var _w_ = /*<>*/ 10; function write_arg(_z_, _A_){return write_aux(_w_, _z_, _A_);} - var _x_ = /*<>*/ 0; + var _x_ = /*<>*/ 0; function write_arg0(_y_, _z_){return write_aux(_x_, _y_, _z_);} var Stdlib_Arg = - /*<>*/ [0, + /*<>*/ [0, parse, parse_dynamic, parse_argv, @@ -22327,7 +23806,11 @@ _u_ = [0, [11, "heap_chunks: ", [4, 0, 0, 0, [12, 10, 0]]], - "heap_chunks: %d\n"]; + "heap_chunks: %d\n"], + cst_Normal = "Normal", + cst_Marshal = "Marshal", + cst_Custom = "Custom", + cst_Map_file = "Map_file"; function eventlog_pause(param){ /*<>*/ return 0; /*<>*/ } @@ -22390,7 +23873,7 @@ ma = /*<>*/ match[3], pro = match[2], mi = match[1]; - /*<>*/ return (mi + ma - pro) * (Stdlib_Sys[9] / 8 | 0); + /*<>*/ return (mi + ma - pro) * (Stdlib_Sys[10] / 8 | 0); } function delete_alarm(a){ /*<>*/ return Stdlib_Atomic[4].call(null, a, 0) /*<>*/ ; @@ -22404,18 +23887,29 @@ }); /*<>*/ return alarm; /*<>*/ } + function string_of_allocation_source(param){ + /*<>*/ switch(param){ + case 0: + /*<>*/ return cst_Normal; + case 1: + /*<>*/ return cst_Marshal; + case 2: + /*<>*/ return cst_Custom; + default: /*<>*/ return cst_Map_file; + } + /*<>*/ } var null_tracker = /*<>*/ [0, - function(param){ /*<>*/ return 0; /*<>*/ }, - function(param){ /*<>*/ return 0; /*<>*/ }, - function(param){ /*<>*/ return 0; /*<>*/ }, - function(param){ /*<>*/ return 0; /*<>*/ }, - function(param){ /*<>*/ return 0; /*<>*/ }]; + function(param){ /*<>*/ return 0; /*<>*/ }, + function(param){ /*<>*/ return 0; /*<>*/ }, + function(param){ /*<>*/ return 0; /*<>*/ }, + function(param){ /*<>*/ return 0; /*<>*/ }, + function(param){ /*<>*/ return 0; /*<>*/ }]; function start(sampling_rate, opt, tracker){ - var callstack_size = /*<>*/ opt ? opt[1] : Stdlib[19]; - /*<>*/ return runtime.caml_memprof_start - (sampling_rate, callstack_size, tracker) /*<>*/ ; + var callstack_size = /*<>*/ opt ? opt[1] : Stdlib[19]; + /*<>*/ return runtime.caml_memprof_start + (sampling_rate, callstack_size, tracker) /*<>*/ ; } var Stdlib_Gc = @@ -22430,11 +23924,12 @@ eventlog_pause, eventlog_resume, [0, + string_of_allocation_source, null_tracker, start, runtime.caml_memprof_stop, runtime.caml_memprof_discard]]; - runtime.caml_register_global(27, Stdlib_Gc, "Stdlib__Gc"); + runtime.caml_register_global(31, Stdlib_Gc, "Stdlib__Gc"); return; } (globalThis)); @@ -22637,11 +24132,11 @@ } var new_len = - /*<>*/ new_len$0 <= Stdlib_Sys[12] + /*<>*/ new_len$0 <= Stdlib_Sys[13] ? new_len$0 : ofs - < Stdlib_Sys[12] - ? Stdlib_Sys[12] + < Stdlib_Sys[13] + ? Stdlib_Sys[13] : /*<>*/ Stdlib [2].call (null, cst_In_channel_input_all_chann), @@ -22651,7 +24146,7 @@ /*<>*/ return new_buf; /*<>*/ } function input_all(ic){ - var chunk_size = /*<>*/ 65536; + var chunk_size = /*<>*/ Stdlib_Sys[3]; /*<>*/ try{ var _b_ = /*<>*/ Stdlib[91].call(null, ic), @@ -22669,9 +24164,9 @@ ? initial_size : chunk_size, initial_size$1 = - /*<>*/ initial_size$0 <= Stdlib_Sys[12] + /*<>*/ initial_size$0 <= Stdlib_Sys[13] ? initial_size$0 - : Stdlib_Sys[12], + : Stdlib_Sys[13], buf = /*<>*/ caml_create_bytes(initial_size$1), nread = /*<>*/ read_upto(ic, buf, 0, initial_size$1); @@ -22687,7 +24182,9 @@ /*<>*/ return Stdlib_Bytes[44].call(null, buf) /*<>*/ ; /*<>*/ throw caml_maybe_attach_backtrace(exn$0, 0); } - var buf$2 = /*<>*/ ensure(buf, nread, 65537); + var + buf$2 = + /*<>*/ ensure(buf, nread, chunk_size + 1 | 0); /*<>*/ runtime.caml_bytes_set(buf$2, nread, c); var ofs$1 = /*<>*/ nread + 1 | 0, @@ -23261,7 +24758,7 @@ /*<>*/ return 4; case 8: case 9: - return Stdlib_Sys[9] / 8 | 0; + return Stdlib_Sys[10] / 8 | 0; case 1: case 7: case 10: @@ -23365,7 +24862,7 @@ var _U_ = /*<>*/ dims(arr), _V_ = - /*<>*/ Stdlib_Array[18].call + /*<>*/ Stdlib_Array[20].call (null, caml_mul, 1, _U_); /*<>*/ return /*<>*/ caml_mul ( /*<>*/ kind_size_in_bytes @@ -23944,14 +25441,14 @@ var _u_ = /*<>*/ Stdlib[28].call - (null, cst_Random_State_of_binary_str, Stdlib_Sys[46]); + (null, cst_Random_State_of_binary_str, Stdlib_Sys[52]); /*<>*/ Stdlib[2].call(null, _u_); } var - i1 = /*<>*/ Stdlib_String[64].call(null, buf, 5), - i2 = /*<>*/ Stdlib_String[64].call(null, buf, 13), - i3 = /*<>*/ Stdlib_String[64].call(null, buf, 21), - i4 = /*<>*/ Stdlib_String[64].call(null, buf, 29); + i1 = /*<>*/ Stdlib_String[66].call(null, buf, 5), + i2 = /*<>*/ Stdlib_String[66].call(null, buf, 13), + i3 = /*<>*/ Stdlib_String[66].call(null, buf, 21), + i4 = /*<>*/ Stdlib_String[66].call(null, buf, 29); /*<>*/ return mk(i1, i2, i3, i4) /*<>*/ ; } function copy(src){ @@ -23983,12 +25480,12 @@ /*<>*/ caml_bytes_set(b, n * 8 | 0, 2); var d2 = /*<>*/ Stdlib_Digest[4].call(null, b), - _o_ = /*<>*/ Stdlib_String[64].call(null, d2, 8), - _p_ = /*<>*/ Stdlib_String[64].call(null, d2, 0), - _q_ = /*<>*/ Stdlib_String[64].call(null, d1, 8); + _o_ = /*<>*/ Stdlib_String[66].call(null, d2, 8), + _p_ = /*<>*/ Stdlib_String[66].call(null, d2, 0), + _q_ = /*<>*/ Stdlib_String[66].call(null, d1, 8); /*<>*/ return /*<>*/ set (s, - /*<>*/ Stdlib_String[64].call(null, d1, 0), + /*<>*/ Stdlib_String[66].call(null, d1, 0), _q_, _p_, _o_) /*<>*/ ; @@ -24048,7 +25545,7 @@ /*<>*/ return min + int_aux(s, span, mask) | 0 /*<>*/ ; /*<>*/ for(;;){ var - drop = /*<>*/ Stdlib_Sys[10] - nbits | 0, + drop = /*<>*/ Stdlib_Sys[11] - nbits | 0, r = /*<>*/ /*<>*/ caml_int64_to_int32 ( /*<>*/ caml_lxm_next(s)) @@ -24068,7 +25565,7 @@ /*<>*/ return int_in_range_aux (s, min, max, max_int32, 32) /*<>*/ ; /*<>*/ return int_in_range_aux - (s, min, max, Stdlib[19], Stdlib_Sys[10]) /*<>*/ ; + (s, min, max, Stdlib[19], Stdlib_Sys[11]) /*<>*/ ; } function bits32(s){ /*<>*/ return /*<>*/ caml_int64_to_int32 @@ -24402,7 +25899,7 @@ //# unitInfo: Provides: Stdlib__Hashtbl //# unitInfo: Requires: Stdlib, Stdlib__Array, Stdlib__Atomic, Stdlib__Domain, Stdlib__Int, Stdlib__Random, Stdlib__Seq, Stdlib__String, Stdlib__Sys -//# shape: Stdlib__Hashtbl:[F(2),F(1),F(1),F(1),F(3),F(2),F(2),F(2),F(2),F(2),F(3),F(2),F(2),F(3),F(1)*,F(1),F(1),F(2),F(1),F(1)*->F(1),F(1)*->F(1),F(1)*->F(1),F(2),F(2),F(1),F(1)*,F(1)*,F(1)*,F(2)*,F(3)*,F(4)*] +//# shape: Stdlib__Hashtbl:[F(2),F(1),F(1),F(1),F(3),F(2),F(2),F(2),F(2),F(2),F(3),F(2),F(2),F(3),F(1)*,F(1),F(1)*,F(2),F(1),F(1)*->F(1),F(1)*->F(1),F(1)*->F(1),F(2),F(2),F(1),F(1)*,F(1)*,F(1)*,F(2)*,F(3)*,F(4)*] (function (globalThis){ "use strict"; @@ -24497,7 +25994,7 @@ var x = /*<>*/ x$1; for(;;){ if(n <= x) /*<>*/ return x; - /*<>*/ if(Stdlib_Sys[13] < (x * 2 | 0)) + /*<>*/ if(Stdlib_Sys[14] < (x * 2 | 0)) /*<>*/ return x; var x$0 = /*<>*/ x * 2 | 0; x = x$0; @@ -24570,7 +26067,7 @@ var _H_ = /*<>*/ h[4], _I_ = h[3], - _J_ = Stdlib_Array[14].call(null, copy_bucketlist, h[2]); + _J_ = Stdlib_Array[16].call(null, copy_bucketlist, h[2]); /*<>*/ return [0, h[1], _J_, _I_, _H_]; /*<>*/ } function length(h){ @@ -24642,7 +26139,7 @@ odata = /*<>*/ h[2], osize = /*<>*/ odata.length - 1, nsize = /*<>*/ osize * 2 | 0, - _B_ = /*<>*/ nsize < Stdlib_Sys[13] ? 1 : 0; + _B_ = /*<>*/ nsize < Stdlib_Sys[14] ? 1 : 0; if(! _B_) return _B_; var ndata = /*<>*/ caml_array_make(nsize, 0), @@ -24819,7 +26316,7 @@ function stats(h){ var mbl = - /*<>*/ Stdlib_Array[18].call + /*<>*/ Stdlib_Array[20].call (null, function(m, b){ var _r_ = /*<>*/ bucket_length(0, b); @@ -24828,7 +26325,7 @@ 0, h[2]), histo = /*<>*/ caml_array_make(mbl + 1 | 0, 0); - /*<>*/ Stdlib_Array[12].call + /*<>*/ Stdlib_Array[14].call (null, function(b){ var l = /*<>*/ bucket_length(0, b); @@ -24871,14 +26368,14 @@ function to_seq_keys(m){ var _m_ = /*<>*/ to_seq(m); function _n_(_p_){ /*<>*/ return _p_[1];} - var _o_ = /*<>*/ Stdlib_Seq[29]; + var _o_ = /*<>*/ Stdlib_Seq[30]; return function(_p_){ /*<>*/ return _o_(_n_, _m_, _p_);} /*<>*/ ; } function to_seq_values(m){ var _j_ = /*<>*/ to_seq(m); function _k_(_m_){ /*<>*/ return _m_[2];} - var _l_ = /*<>*/ Stdlib_Seq[29]; + var _l_ = /*<>*/ Stdlib_Seq[30]; return function(_m_){ /*<>*/ return _l_(_k_, _j_, _m_);} /*<>*/ ; } @@ -25529,7 +27026,7 @@ (globalThis)); //# unitInfo: Provides: Stdlib__Weak -//# unitInfo: Requires: Stdlib, Stdlib__Array, Stdlib__Int, Stdlib__Obj, Stdlib__Sys +//# unitInfo: Requires: Stdlib, Stdlib__Array, Stdlib__Int, Stdlib__Obj, Stdlib__Option, Stdlib__Sys //# shape: Stdlib__Weak:[F(1),F(1)*,F(3),F(2),F(2),F(2),F(4),F(5),F(1)] (function (globalThis){ @@ -25566,6 +27063,7 @@ Stdlib_Sys = global_data.Stdlib__Sys, Stdlib_Int = global_data.Stdlib__Int, Stdlib_Array = global_data.Stdlib__Array, + Stdlib_Option = global_data.Stdlib__Option, Stdlib_Obj = global_data.Stdlib__Obj, cst_Weak_create = "Weak.create", cst_Weak_set = "Weak.set", @@ -25659,7 +27157,7 @@ var sz$0 = /*<>*/ 7 <= sz ? sz : 7, sz$1 = - /*<>*/ Stdlib_Sys[13] < sz$0 ? Stdlib_Sys[13] : sz$0; + /*<>*/ Stdlib_Sys[14] < sz$0 ? Stdlib_Sys[14] : sz$0; /*<>*/ return [0, caml_array_make(sz$1, emptybucket), /*<>*/ caml_array_make(sz$1, [0]), @@ -25685,7 +27183,7 @@ /*<>*/ } function fold(f, t, init){ var i = /*<>*/ 0; - /*<>*/ return Stdlib_Array[20].call + /*<>*/ return Stdlib_Array[22].call (null, function(b, accu$1){ var i$0 = /*<>*/ i, accu = accu$1; @@ -25710,7 +27208,7 @@ } function iter(f, t){ var i = /*<>*/ 0; - /*<>*/ return Stdlib_Array[12].call + /*<>*/ return Stdlib_Array[14].call (null, function(b){ var i$0 = /*<>*/ i; @@ -25732,7 +27230,7 @@ } function iter_weak(f, t){ var i = /*<>*/ 0; - /*<>*/ return Stdlib_Array[13].call + /*<>*/ return Stdlib_Array[15].call (null, function(j, b){ var i$0 = /*<>*/ i; @@ -25768,7 +27266,7 @@ /*<>*/ } function count(t){ var _s_ = /*<>*/ 0; - /*<>*/ return Stdlib_Array[20].call + /*<>*/ return Stdlib_Array[22].call (null, function(_t_, _u_){ /*<>*/ return count_bucket(_s_, _t_, _u_); @@ -25776,12 +27274,117 @@ t[1], 0) /*<>*/ ; } - function resize(t){ + function add_aux(t, setter, d, h, index){ + var + bucket$0 = + /*<>*/ caml_check_bound(t[1], index)[index + 1], + hashes = + /*<>*/ caml_check_bound(t[2], index)[index + 1], + sz = /*<>*/ length(bucket$0), + i$3 = /*<>*/ 0; + for(;;){ + if(i$3 >= sz) break; + /*<>*/ if(! check(bucket$0, i$3)) break; + var i$4 = /*<>*/ i$3 + 1 | 0; + i$3 = i$4; + } + /*<>*/ if(i$3 < sz){ + /*<>*/ caml_call3(setter, bucket$0, i$3, d); + /*<>*/ caml_check_bound(hashes, i$3)[i$3 + 1] = h; + /*<>*/ return 0; + } + var + newsz = + /*<>*/ Stdlib_Int[10].call + (null, ((3 * sz | 0) / 2 | 0) + 3 | 0, Stdlib_Sys[14] - 2 | 0); + /*<>*/ if(newsz <= sz) + /*<>*/ Stdlib[2].call + (null, cst_Weak_Make_hash_bucket_cann); + var + newbucket$0 = /*<>*/ create(newsz), + newhashes = /*<>*/ caml_array_make(newsz, 0); + /*<>*/ blit(bucket$0, 0, newbucket$0, 0, sz); + /*<>*/ Stdlib_Array[9].call + (null, hashes, 0, newhashes, 0, sz); + /*<>*/ caml_call3(setter, newbucket$0, sz, d); + /*<>*/ caml_check_bound(newhashes, sz)[sz + 1] = h; + /*<>*/ caml_check_bound(t[1], index)[index + 1] = newbucket$0; + /*<>*/ caml_check_bound(t[2], index)[index + 1] = newhashes; + var + _m_ = /*<>*/ sz <= t[3] ? 1 : 0, + _r_ = _m_ ? t[3] < newsz ? 1 : 0 : _m_; + if(_r_){ + /*<>*/ t[4] = t[4] + 1 | 0; + var i$2 = /*<>*/ 0; + for(;;){ + var + _f_ = /*<>*/ t[5], + bucket = /*<>*/ caml_check_bound(t[1], _f_)[_f_ + 1], + _g_ = /*<>*/ t[5], + hbucket = /*<>*/ caml_check_bound(t[2], _g_)[_g_ + 1], + len = /*<>*/ length(bucket), + prev_len = + /*<>*/ (((len - 3 | 0) * 2 | 0) + 2 | 0) / 3 | 0, + live = /*<>*/ count_bucket(0, bucket, 0); + /*<>*/ if(live <= prev_len){ + var + j$2 = /*<>*/ length(bucket) - 1 | 0, + i = /*<>*/ 0, + j = j$2; + for(;;){ + /*<>*/ if(prev_len > j) break; + /*<>*/ if(check(bucket, i)){ + var i$0 = /*<>*/ i + 1 | 0; + i = i$0; + } + else if( /*<>*/ check(bucket, j)){ + /*<>*/ blit(bucket, j, bucket, i, 1); + var + _o_ = /*<>*/ caml_check_bound(hbucket, j)[j + 1]; + /*<>*/ caml_check_bound(hbucket, i)[i + 1] = _o_; + var j$0 = /*<>*/ j - 1 | 0, i$1 = i + 1 | 0; + i = i$1; + j = j$0; + } + else{var j$1 = /*<>*/ j - 1 | 0; j = j$1;} + } + /*<>*/ if(0 === prev_len){ + var _h_ = /*<>*/ t[5]; + /*<>*/ caml_check_bound(t[1], _h_)[_h_ + 1] = emptybucket; + var _i_ = /*<>*/ t[5]; + /*<>*/ caml_check_bound(t[2], _i_)[_i_ + 1] = [0]; + } + else{ + var newbucket = /*<>*/ create(prev_len); + /*<>*/ blit(bucket, 0, newbucket, 0, prev_len); + var _k_ = /*<>*/ t[5]; + /*<>*/ caml_check_bound(t[1], _k_)[_k_ + 1] = newbucket; + var + _q_ = + /*<>*/ Stdlib_Array[6].call + (null, hbucket, 0, prev_len), + _l_ = /*<>*/ t[5]; + /*<>*/ caml_check_bound(t[2], _l_)[_l_ + 1] = _q_; + } + var + _j_ = /*<>*/ t[3] < len ? 1 : 0, + _p_ = _j_ ? prev_len <= t[3] ? 1 : 0 : _j_; + if(_p_) /*<>*/ t[4] = t[4] - 1 | 0; + } + /*<>*/ t[5] = caml_mod(t[5] + 1 | 0, t[1].length - 1); + var _s_ = /*<>*/ i$2 + 1 | 0; + if(2 === i$2) break; + i$2 = _s_; + } + } + var + _n_ = /*<>*/ ((t[1].length - 1) / 2 | 0) < t[4] ? 1 : 0; + if(! _n_) return _n_; var oldlen = /*<>*/ t[1].length - 1, newlen = /*<>*/ Stdlib_Int[10].call - (null, ((3 * oldlen | 0) / 2 | 0) + 3 | 0, Stdlib_Sys[13]); + (null, ((3 * oldlen | 0) / 2 | 0) + 3 | 0, Stdlib_Sys[14]); /*<>*/ if(oldlen < newlen){ var newt = /*<>*/ create$0(newlen), @@ -25809,253 +27412,157 @@ /*<>*/ t[3] = Stdlib[19]; /*<>*/ t[4] = 0; return 0; - /*<>*/ } - function add_aux(t, setter, d, h, index){ - var - bucket = - /*<>*/ caml_check_bound(t[1], index)[index + 1], - hashes = - /*<>*/ caml_check_bound(t[2], index)[index + 1], - sz = /*<>*/ length(bucket); - function loop(i$5){ - var i$2 = /*<>*/ i$5; - for(;;){ - if(sz <= i$2) break; - /*<>*/ if(! check(bucket, i$2)){ - /*<>*/ caml_call3(setter, bucket, i$2, d); - /*<>*/ caml_check_bound(hashes, i$2)[i$2 + 1] = h; - /*<>*/ return 0; - } - var i$4 = /*<>*/ i$2 + 1 | 0; - i$2 = i$4; - } - var - newsz = - /*<>*/ Stdlib_Int[10].call - (null, ((3 * sz | 0) / 2 | 0) + 3 | 0, Stdlib_Sys[13] - 2 | 0); - /*<>*/ if(newsz <= sz) - /*<>*/ Stdlib[2].call - (null, cst_Weak_Make_hash_bucket_cann); - var - newbucket$0 = /*<>*/ create(newsz), - newhashes = /*<>*/ caml_array_make(newsz, 0); - /*<>*/ blit(bucket, 0, newbucket$0, 0, sz); - /*<>*/ Stdlib_Array[9].call - (null, hashes, 0, newhashes, 0, sz); - /*<>*/ caml_call3(setter, newbucket$0, sz, d); - /*<>*/ caml_check_bound(newhashes, sz)[sz + 1] = h; - /*<>*/ caml_check_bound(t[1], index)[index + 1] = newbucket$0; - /*<>*/ caml_check_bound(t[2], index)[index + 1] = newhashes; - var - _m_ = /*<>*/ sz <= t[3] ? 1 : 0, - _r_ = _m_ ? t[3] < newsz ? 1 : 0 : _m_; - if(_r_){ - /*<>*/ t[4] = t[4] + 1 | 0; - var i$3 = /*<>*/ 0; - for(;;){ - var - _f_ = /*<>*/ t[5], - bucket$0 = - /*<>*/ caml_check_bound(t[1], _f_)[_f_ + 1], - _g_ = /*<>*/ t[5], - hbucket = - /*<>*/ caml_check_bound(t[2], _g_)[_g_ + 1], - len = /*<>*/ length(bucket$0), - prev_len = - /*<>*/ (((len - 3 | 0) * 2 | 0) + 2 | 0) / 3 | 0, - live = /*<>*/ count_bucket(0, bucket$0, 0); - /*<>*/ if(live <= prev_len){ - var - j$2 = /*<>*/ length(bucket$0) - 1 | 0, - i = /*<>*/ 0, - j = j$2; - for(;;){ - /*<>*/ if(prev_len > j) break; - /*<>*/ if(check(bucket$0, i)){ - var i$0 = /*<>*/ i + 1 | 0; - i = i$0; - } - else if( /*<>*/ check(bucket$0, j)){ - /*<>*/ blit(bucket$0, j, bucket$0, i, 1); - var - _o_ = /*<>*/ caml_check_bound(hbucket, j)[j + 1]; - /*<>*/ caml_check_bound(hbucket, i)[i + 1] = _o_; - var j$0 = /*<>*/ j - 1 | 0, i$1 = i + 1 | 0; - i = i$1; - j = j$0; - } - else{var j$1 = /*<>*/ j - 1 | 0; j = j$1;} - } - /*<>*/ if(0 === prev_len){ - var _h_ = /*<>*/ t[5]; - /*<>*/ caml_check_bound(t[1], _h_)[_h_ + 1] = emptybucket; - var _i_ = /*<>*/ t[5]; - /*<>*/ caml_check_bound(t[2], _i_)[_i_ + 1] = [0]; - } - else{ - var newbucket = /*<>*/ create(prev_len); - /*<>*/ blit(bucket$0, 0, newbucket, 0, prev_len); - var _k_ = /*<>*/ t[5]; - /*<>*/ caml_check_bound(t[1], _k_)[_k_ + 1] = newbucket; - var - _q_ = - /*<>*/ Stdlib_Array[6].call - (null, hbucket, 0, prev_len), - _l_ = /*<>*/ t[5]; - /*<>*/ caml_check_bound(t[2], _l_)[_l_ + 1] = _q_; - } - var - _j_ = /*<>*/ t[3] < len ? 1 : 0, - _p_ = _j_ ? prev_len <= t[3] ? 1 : 0 : _j_; - if(_p_) /*<>*/ t[4] = t[4] - 1 | 0; - } - /*<>*/ t[5] = caml_mod(t[5] + 1 | 0, t[1].length - 1); - var _s_ = /*<>*/ i$3 + 1 | 0; - if(2 === i$3) break; - i$3 = _s_; - } - } - var - _n_ = /*<>*/ ((t[1].length - 1) / 2 | 0) < t[4] ? 1 : 0; - return _n_ ? /*<>*/ resize(t) : _n_ /*<>*/ ; - } - /*<>*/ return loop(0) /*<>*/ ; - } + /*<>*/ } function add(t, d){ - var h = /*<>*/ caml_call1(H[2], d); - /*<>*/ return /*<>*/ add_aux - (t, set, [0, d], h, /*<>*/ get_index(t, h)) /*<>*/ ; + var h = /*<>*/ caml_call1(H[2], d); + /*<>*/ return /*<>*/ add_aux + (t, set, [0, d], h, /*<>*/ get_index(t, h)) /*<>*/ ; } - function find_aux(t, d, found, notfound){ + function find_aux(t, d, k_found, k_notfound){ var - h = /*<>*/ caml_call1(H[2], d), - index = /*<>*/ get_index(t, h), + h = /*<>*/ caml_call1(H[2], d), + index = /*<>*/ get_index(t, h), bucket = - /*<>*/ caml_check_bound(t[1], index)[index + 1], + /*<>*/ caml_check_bound(t[1], index)[index + 1], hashes = - /*<>*/ caml_check_bound(t[2], index)[index + 1], - sz = /*<>*/ length(bucket), - i = /*<>*/ 0; + /*<>*/ caml_check_bound(t[2], index)[index + 1], + sz = /*<>*/ length(bucket), + i = /*<>*/ 0, + found = 0; for(;;){ - /*<>*/ if(sz <= i) - /*<>*/ return caml_call2(notfound, h, index) /*<>*/ ; - /*<>*/ if(h === caml_check_bound(hashes, i)[i + 1]){ - var opt = /*<>*/ get(bucket, i); - /*<>*/ if(opt){ - var v = opt[1]; - /*<>*/ if(caml_call2(H[1], v, d)) - /*<>*/ return caml_call4(found, bucket, i, opt, v) /*<>*/ ; + if + (i < sz && /*<>*/ Stdlib_Option[10].call(null, found)){ + /*<>*/ if(h !== caml_check_bound(hashes, i)[i + 1]){ + var i$2 = /*<>*/ i + 1 | 0; + i = i$2; + continue; + } + var opt = /*<>*/ get(bucket, i); + /*<>*/ if(! opt){ + var i$1 = /*<>*/ i + 1 | 0; + i = i$1; + continue; + } + var v = /*<>*/ opt[1]; + /*<>*/ if(caml_call2(H[1], v, d)){ + /*<>*/ found = opt; + continue; } - var i$0 = /*<>*/ i + 1 | 0; + var i$0 = /*<>*/ i + 1 | 0; i = i$0; + continue; } - else{var i$1 = /*<>*/ i + 1 | 0; i = i$1;} + /*<>*/ if(! found) + /*<>*/ return caml_call2(k_notfound, h, index) /*<>*/ ; + var v$0 = /*<>*/ found[1]; + /*<>*/ return caml_call4 + (k_found, bucket, i, found, v$0) /*<>*/ ; } - /*<>*/ } + } function find_opt(t, d){ - /*<>*/ return find_aux + /*<>*/ return find_aux (t, d, function(b, i, o, v){ - /*<>*/ return o; - /*<>*/ }, + /*<>*/ return o; + /*<>*/ }, function(h, i){ - /*<>*/ return 0; - /*<>*/ }) /*<>*/ ; + /*<>*/ return 0; + /*<>*/ }) /*<>*/ ; } function merge(t, d){ - /*<>*/ return find_aux + /*<>*/ return find_aux (t, d, function(b, i, o, v){ - /*<>*/ return v; - /*<>*/ }, + /*<>*/ return v; + /*<>*/ }, function(h, i){ - /*<>*/ add_aux(t, set, [0, d], h, i); - /*<>*/ return d; - /*<>*/ }) /*<>*/ ; + /*<>*/ add_aux(t, set, [0, d], h, i); + /*<>*/ return d; + /*<>*/ }) /*<>*/ ; } function find(t, d){ - /*<>*/ return find_aux + /*<>*/ return find_aux (t, d, function(b, i, o, v){ - /*<>*/ return v; - /*<>*/ }, + /*<>*/ return v; + /*<>*/ }, function(h, i){ - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace (Stdlib[8], 1); - /*<>*/ }) /*<>*/ ; + /*<>*/ }) /*<>*/ ; } function remove(t, d){ - /*<>*/ return find_aux + /*<>*/ return find_aux (t, d, function(b, i, o, v){ - /*<>*/ return set(b, i, 0) /*<>*/ ; + /*<>*/ return set(b, i, 0) /*<>*/ ; }, function(h, i){ - /*<>*/ return 0; - /*<>*/ }) /*<>*/ ; + /*<>*/ return 0; + /*<>*/ }) /*<>*/ ; } function mem(t, d){ - /*<>*/ return find_aux + /*<>*/ return find_aux (t, d, function(b, i, o, v){ - /*<>*/ return 1; - /*<>*/ }, + /*<>*/ return 1; + /*<>*/ }, function(h, i){ - /*<>*/ return 0; - /*<>*/ }) /*<>*/ ; + /*<>*/ return 0; + /*<>*/ }) /*<>*/ ; } function find_all(t, d){ var - h = /*<>*/ caml_call1(H[2], d), - index = /*<>*/ get_index(t, h), + h = /*<>*/ caml_call1(H[2], d), + index = /*<>*/ get_index(t, h), bucket = - /*<>*/ caml_check_bound(t[1], index)[index + 1], + /*<>*/ caml_check_bound(t[1], index)[index + 1], hashes = - /*<>*/ caml_check_bound(t[2], index)[index + 1], - sz = /*<>*/ length(bucket), - i = /*<>*/ 0, + /*<>*/ caml_check_bound(t[2], index)[index + 1], + sz = /*<>*/ length(bucket), + i = /*<>*/ 0, accu = 0; for(;;){ - /*<>*/ if(sz <= i) /*<>*/ return accu; - /*<>*/ if(h === caml_check_bound(hashes, i)[i + 1]){ - var match = /*<>*/ get(bucket, i); - /*<>*/ if(match){ + /*<>*/ if(sz <= i) /*<>*/ return accu; + /*<>*/ if(h === caml_check_bound(hashes, i)[i + 1]){ + var match = /*<>*/ get(bucket, i); + /*<>*/ if(match){ var v = match[1]; - /*<>*/ if(caml_call2(H[1], v, d)){ - var accu$0 = /*<>*/ [0, v, accu], i$0 = i + 1 | 0; + /*<>*/ if(caml_call2(H[1], v, d)){ + var accu$0 = /*<>*/ [0, v, accu], i$0 = i + 1 | 0; i = i$0; accu = accu$0; continue; } } - var i$1 = /*<>*/ i + 1 | 0; + var i$1 = /*<>*/ i + 1 | 0; i = i$1; } - else{var i$2 = /*<>*/ i + 1 | 0; i = i$2;} + else{var i$2 = /*<>*/ i + 1 | 0; i = i$2;} } - /*<>*/ } + /*<>*/ } function stats(t){ var - len = /*<>*/ t[1].length - 1, - lens = /*<>*/ Stdlib_Array[14].call(null, length, t[1]); - /*<>*/ Stdlib_Array[35].call + len = /*<>*/ t[1].length - 1, + lens = /*<>*/ Stdlib_Array[16].call(null, length, t[1]); + /*<>*/ Stdlib_Array[37].call (null, runtime.caml_int_compare, lens); var totlen = - /*<>*/ Stdlib_Array[18].call + /*<>*/ Stdlib_Array[20].call (null, function(_f_, _e_){ /*<>*/ return _f_ + _e_ | 0;}, 0, lens), - _a_ = /*<>*/ len - 1 | 0, - _b_ = /*<>*/ len / 2 | 0, - _c_ = /*<>*/ caml_check_bound(lens, _a_)[_a_ + 1], - _d_ = /*<>*/ caml_check_bound(lens, _b_)[_b_ + 1], - _e_ = /*<>*/ caml_check_bound(lens, 0)[1]; - /*<>*/ return [0, len, count(t), totlen, _e_, _d_, _c_] /*<>*/ ; - /*<>*/ } + _a_ = /*<>*/ len - 1 | 0, + _b_ = /*<>*/ len / 2 | 0, + _c_ = /*<>*/ caml_check_bound(lens, _a_)[_a_ + 1], + _d_ = /*<>*/ caml_check_bound(lens, _b_)[_b_ + 1], + _e_ = /*<>*/ caml_check_bound(lens, 0)[1]; + /*<>*/ return [0, len, count(t), totlen, _e_, _d_, _c_] /*<>*/ ; + /*<>*/ } /*<>*/ return [0, create$0, clear, @@ -26083,23 +27590,24 @@ fill, blit, Make]; - runtime.caml_register_global(13, Stdlib_Weak, "Stdlib__Weak"); + runtime.caml_register_global(14, Stdlib_Weak, "Stdlib__Weak"); return; } (globalThis)); //# unitInfo: Provides: Stdlib__Format -//# unitInfo: Requires: CamlinternalFormat, Stdlib, Stdlib__Array, Stdlib__Buffer, Stdlib__Bytes, Stdlib__Domain, Stdlib__Int, Stdlib__List, Stdlib__Queue, Stdlib__Seq, Stdlib__Stack, Stdlib__String -//# shape: Stdlib__Format:[F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(4),F(3),F(2),F(1),F(3),F(2),F(5),F(4),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2)*,F(2),F(1),F(2),F(1),F(3),F(2),F(3),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),N,F(2),F(1),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(1)*,F(3),F(2),F(3),F(2),F(2),F(1),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(2)*,F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(3),F(2),F(2),F(1),F(2)*,F(1),N,F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2)*,F(1),F(2)*,F(1),F(2),F(1),F(3),F(2),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(1),F(1),N,F(1),N,F(1),F(1),N,F(1),N,F(1),F(1),F(2),F(2),F(1),F(1)*,F(1),F(1),F(1),F(2),F(1),F(5),F(4),F(4),F(4),F(2),F(4),F(4),F(4),F(1)*->F(1),F(1),F(1),F(1),F(1),F(1),F(2),F(3),F(2),F(3),F(2),F(2)] +//# unitInfo: Requires: CamlinternalFormat, CamlinternalFormatBasics, Stdlib, Stdlib__Array, Stdlib__Buffer, Stdlib__Bytes, Stdlib__Domain, Stdlib__Int, Stdlib__List, Stdlib__Queue, Stdlib__Seq, Stdlib__Stack, Stdlib__String, Stdlib__Uchar +//# shape: Stdlib__Format:[F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(4),F(3),F(2),F(1),F(3),F(2),F(5),F(4),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2)*,F(2),F(1),F(2),F(1),F(3),F(2),F(3),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),N,F(2),F(1),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(1)*,F(3),F(2),F(3),F(2),F(2),F(1),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(2)*,F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(3),F(2),F(2),F(1),F(2)*,F(1),N,F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2)*,F(1),F(2)*,F(1),F(2),F(1),F(3),F(2),F(2)*,F(1),F(2),F(1),F(2)*,F(1),F(3),F(3)*,F(2),F(1),F(2)*,F(1),F(1),F(1),N,F(1),N,F(1),F(1),N,F(1),N,F(1),F(1),F(2),F(2),F(1),F(1)*,F(1),F(1),F(1),F(2),F(1),F(5),F(4),F(4),F(4),F(2),F(1),F(4),F(4),F(4),F(1)*->F(1),F(1),F(1),F(1),F(1),F(1),F(2),F(3),F(2),F(3),F(2),F(2)] (function (globalThis){ "use strict"; var runtime = globalThis.jsoo_runtime, - cst$16 = "", - cst$15 = ">", + cst$18 = "", + cst$19 = ">", caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, - caml_ml_string_length = runtime.caml_ml_string_length; + caml_ml_string_length = runtime.caml_ml_string_length, + caml_string_get = runtime.caml_string_get; function caml_call1(f, a0){ return (f.l >= 0 ? f.l : f.l = f.length) === 1 ? f(a0) @@ -26118,33 +27626,38 @@ var dummy = 0, global_data = runtime.caml_get_global_data(), + cst$16 = cst$18, + cst$17 = cst$18, + cst$15 = cst$18, cst$14 = ".", - cst$11 = cst$15, + cst$11 = cst$19, cst$12 = "<\/", - cst$13 = cst$16, - cst$8 = cst$15, + cst$13 = cst$18, + cst$8 = cst$19, cst$9 = "<", - cst$10 = cst$16, + cst$10 = cst$18, cst$7 = "\n", - cst$3 = cst$16, - cst$4 = cst$16, - cst$5 = cst$16, - cst$6 = cst$16, - cst = cst$16, - cst$0 = cst$16, - cst$1 = cst$16, - cst$2 = cst$16, - _a_ = [0, cst$16, 0, cst$16], + cst$3 = cst$18, + cst$4 = cst$18, + cst$5 = cst$18, + cst$6 = cst$18, + cst = cst$18, + cst$0 = cst$18, + cst$1 = cst$18, + cst$2 = cst$18, + _a_ = [0, cst$18, 0, cst$18], Stdlib_Queue = global_data.Stdlib__Queue, - CamlinternalFormat = global_data.CamlinternalFormat, Stdlib = global_data.Stdlib, + CamlinternalFormat = global_data.CamlinternalFormat, Stdlib_String = global_data.Stdlib__String, Stdlib_Domain = global_data.Stdlib__Domain, Stdlib_Buffer = global_data.Stdlib__Buffer, + CamlinternalFormatBasics = global_data.CamlinternalFormatBasics, Stdlib_Seq = global_data.Stdlib__Seq, Stdlib_Array = global_data.Stdlib__Array, Stdlib_List = global_data.Stdlib__List, Stdlib_Stack = global_data.Stdlib__Stack, + Stdlib_Uchar = global_data.Stdlib__Uchar, Stdlib_Int = global_data.Stdlib__Int, Stdlib_Bytes = global_data.Stdlib__Bytes; function id(x){ /*<>*/ return x; /*<>*/ } @@ -26154,816 +27667,846 @@ String_tag = [248, "Stdlib.Format.String_tag", runtime.caml_fresh_oo_id(0)]; function pp_enqueue(state, token){ - /*<>*/ state[13] = state[13] + token[3] | 0; - /*<>*/ return Stdlib_Queue[3].call - (null, token, state[28]) /*<>*/ ; + /*<>*/ state[13] = state[13] + token[3] | 0; + /*<>*/ return Stdlib_Queue[3].call + (null, token, state[29]) /*<>*/ ; } var pp_infinity = /*<>*/ 1000000010, - _b_ = [0, cst$16], + cst_Format_Unsynchronized_acce = + "Format: Unsynchronized access to formatter", + _b_ = [0, cst$18], _c_ = [1, "margin <= max_indent"], _d_ = [1, "margin >= pp_infinity"], _e_ = [0, 0], _f_ = [1, "max_indent < 2"], cst_Format_pp_set_geometry = "Format.pp_set_geometry: "; function pp_output_string(state, s){ - /*<>*/ return caml_call3 - (state[17], s, 0, caml_ml_string_length(s)) /*<>*/ ; + /*<>*/ return caml_call3 + (state[17], s, 0, caml_ml_string_length(s)) /*<>*/ ; + } + function pp_string_width(state, s){ + /*<>*/ return caml_call3 + (state[18], s, 0, caml_ml_string_length(s)) /*<>*/ ; } function pp_output_newline(state){ - /*<>*/ return caml_call1(state[19], 0) /*<>*/ ; + /*<>*/ return caml_call1(state[20], 0) /*<>*/ ; } function format_pp_text(state, size, text){ - /*<>*/ state[9] = state[9] - size | 0; - /*<>*/ pp_output_string(state, text); - /*<>*/ state[11] = 0; - /*<>*/ } + /*<>*/ state[9] = state[9] - size | 0; + /*<>*/ pp_output_string(state, text); + /*<>*/ state[11] = 0; + /*<>*/ } function format_string(state, s){ - var _ah_ = /*<>*/ s !== cst$16 ? 1 : 0; - /*<>*/ return _ah_ - ? /*<>*/ format_pp_text - (state, caml_ml_string_length(s), s) - : _ah_ /*<>*/ ; + var _ak_ = /*<>*/ s !== cst$18 ? 1 : 0; + /*<>*/ return _ak_ + ? /*<>*/ format_pp_text + (state, /*<>*/ pp_string_width(state, s), s) + : _ak_ /*<>*/ ; } function break_new_line(state, param, width){ var - after = /*<>*/ param[3], + after = /*<>*/ param[3], offset = param[2], before = param[1]; - /*<>*/ format_string(state, before); - /*<>*/ pp_output_newline(state); - /*<>*/ state[11] = 1; + /*<>*/ format_string(state, before); + /*<>*/ pp_output_newline(state); + /*<>*/ state[11] = 1; var - indent = /*<>*/ (state[6] - width | 0) + offset | 0, + indent = /*<>*/ (state[6] - width | 0) + offset | 0, real_indent = - /*<>*/ Stdlib_Int[10].call(null, state[8], indent); - /*<>*/ state[10] = real_indent; - /*<>*/ state[9] = state[6] - state[10] | 0; - var n = /*<>*/ state[10]; - /*<>*/ caml_call1(state[21], n); - /*<>*/ return format_string(state, after) /*<>*/ ; + /*<>*/ Stdlib_Int[10].call(null, state[8], indent); + /*<>*/ state[10] = real_indent; + /*<>*/ state[9] = state[6] - state[10] | 0; + var n = /*<>*/ state[10]; + /*<>*/ caml_call1(state[22], n); + /*<>*/ return format_string(state, after) /*<>*/ ; } function break_same_line(state, param){ var - after = /*<>*/ param[3], + after = /*<>*/ param[3], width = param[2], before = param[1]; - /*<>*/ format_string(state, before); - /*<>*/ state[9] = state[9] - width | 0; - /*<>*/ caml_call1(state[20], width); - /*<>*/ return format_string(state, after) /*<>*/ ; + /*<>*/ format_string(state, before); + /*<>*/ state[9] = state[9] - width | 0; + /*<>*/ caml_call1(state[21], width); + /*<>*/ return format_string(state, after) /*<>*/ ; } function format_pp_token(state, size$0, param){ - /*<>*/ if(typeof param === "number") + /*<>*/ if(typeof param === "number") switch(param){ case 0: var match$3 = - /*<>*/ Stdlib_Stack[8].call(null, state[3]); - /*<>*/ if(! match$3) - /*<>*/ return; + /*<>*/ Stdlib_Stack[8].call(null, state[3]); + /*<>*/ if(! match$3) + /*<>*/ return; var - tabs = /*<>*/ match$3[1][1], + tabs = /*<>*/ match$3[1][1], add_tab = - /*<>*/ function(n, ls){ - /*<>*/ if(! ls) - /*<>*/ return [0, n, 0]; - var l = /*<>*/ ls[2], x = ls[1]; - /*<>*/ return runtime.caml_lessthan(n, x) + /*<>*/ function(n, ls){ + /*<>*/ if(! ls) + /*<>*/ return [0, n, 0]; + var l = /*<>*/ ls[2], x = ls[1]; + /*<>*/ return runtime.caml_lessthan(n, x) ? [0, n, ls] - : [0, x, /*<>*/ add_tab(n, l)] /*<>*/ ; + : [0, x, /*<>*/ add_tab(n, l)] /*<>*/ ; }; - /*<>*/ tabs[1] = + /*<>*/ tabs[1] = add_tab(state[6] - state[9] | 0, tabs[1]); - /*<>*/ return; + /*<>*/ return; case 1: - /*<>*/ Stdlib_Stack[5].call(null, state[2]); - /*<>*/ return; + /*<>*/ Stdlib_Stack[5].call(null, state[2]); + /*<>*/ return; case 2: - /*<>*/ Stdlib_Stack[5].call(null, state[3]); - /*<>*/ return; + /*<>*/ Stdlib_Stack[5].call(null, state[3]); + /*<>*/ return; case 3: var match$4 = - /*<>*/ Stdlib_Stack[8].call(null, state[2]); - /*<>*/ if(! match$4) - /*<>*/ return pp_output_newline(state) /*<>*/ ; - var width$0 = /*<>*/ match$4[1][2]; - /*<>*/ return break_new_line(state, _a_, width$0) /*<>*/ ; + /*<>*/ Stdlib_Stack[8].call(null, state[2]); + /*<>*/ if(! match$4) + /*<>*/ return pp_output_newline(state) /*<>*/ ; + var width$0 = /*<>*/ match$4[1][2]; + /*<>*/ return break_new_line(state, _a_, width$0) /*<>*/ ; case 4: var - _ah_ = - /*<>*/ state[10] !== (state[6] - state[9] | 0) + _ai_ = + /*<>*/ state[10] !== (state[6] - state[9] | 0) ? 1 : 0; - if(! _ah_) return _ah_; + if(! _ai_) return _ai_; var match$1 = - /*<>*/ Stdlib_Queue[6].call(null, state[28]); - /*<>*/ if(! match$1) - /*<>*/ return; + /*<>*/ Stdlib_Queue[6].call(null, state[29]); + /*<>*/ if(! match$1) + /*<>*/ return; var - match$2 = /*<>*/ match$1[1], + match$2 = /*<>*/ match$1[1], size = match$2[1], length = match$2[3]; - /*<>*/ state[12] = state[12] - length | 0; - /*<>*/ state[9] = state[9] + size | 0; + /*<>*/ state[12] = state[12] - length | 0; + /*<>*/ state[9] = state[9] + size | 0; return; default: var match$5 = - /*<>*/ Stdlib_Stack[5].call(null, state[5]); - /*<>*/ if(! match$5) - /*<>*/ return; + /*<>*/ Stdlib_Stack[5].call(null, state[5]); + /*<>*/ if(! match$5) + /*<>*/ return; var - tag_name = /*<>*/ match$5[1], - marker = /*<>*/ caml_call1(state[25], tag_name); - /*<>*/ return pp_output_string(state, marker) /*<>*/ ; + tag_name = /*<>*/ match$5[1], + marker = /*<>*/ caml_call1(state[26], tag_name); + /*<>*/ return pp_output_string(state, marker) /*<>*/ ; } - /*<>*/ switch(param[0]){ + /*<>*/ switch(param[0]){ case 0: var s = param[1]; - /*<>*/ return format_pp_text(state, size$0, s) /*<>*/ ; + /*<>*/ return format_pp_text(state, size$0, s) /*<>*/ ; case 1: var - len = /*<>*/ param[3], + len = /*<>*/ param[3], pos = param[2], source = param[1]; - /*<>*/ state[9] = state[9] - size$0 | 0; - /*<>*/ caml_call3(state[17], source, pos, len); - /*<>*/ state[11] = 0; + /*<>*/ state[9] = state[9] - size$0 | 0; + /*<>*/ caml_call3(state[17], source, pos, len); + /*<>*/ state[11] = 0; return; case 2: var - breaks = /*<>*/ param[2], + breaks = /*<>*/ param[2], fits = param[1], - off = /*<>*/ breaks[2], + off = /*<>*/ breaks[2], before = breaks[1], match$6 = - /*<>*/ Stdlib_Stack[8].call(null, state[2]); - /*<>*/ if(! match$6) - /*<>*/ return; + /*<>*/ Stdlib_Stack[8].call(null, state[2]); + /*<>*/ if(! match$6) + /*<>*/ return; var - match$7 = /*<>*/ match$6[1], + match$7 = /*<>*/ match$6[1], width$1 = match$7[2], box_type$0 = match$7[1]; - /*<>*/ switch(box_type$0){ + /*<>*/ switch(box_type$0){ case 3: - /*<>*/ return state[9] - < (size$0 + caml_ml_string_length(before) | 0) - ? /*<>*/ break_new_line + var _aj_ = /*<>*/ state[9]; + return _aj_ < (size$0 + pp_string_width(state, before) | 0) + ? /*<>*/ break_new_line (state, breaks, width$1) - : /*<>*/ break_same_line(state, fits) /*<>*/ ; + : /*<>*/ break_same_line(state, fits) /*<>*/ ; case 4: - /*<>*/ return state[11] - ? /*<>*/ break_same_line(state, fits) - : state - [9] - < - (size$0 - + /*<>*/ caml_ml_string_length(before) - | 0) - ? /*<>*/ break_new_line + /*<>*/ if(state[11]) + /*<>*/ return break_same_line(state, fits) /*<>*/ ; + var _ak_ = /*<>*/ state[9]; + return _ak_ < (size$0 + pp_string_width(state, before) | 0) + ? /*<>*/ break_new_line + (state, breaks, width$1) + : ((state + [6] + - width$1 + | 0) + + off + | 0) + < state[10] + ? /*<>*/ break_new_line (state, breaks, width$1) - : ((state - [6] - - width$1 - | 0) - + off - | 0) - < state[10] - ? /*<>*/ break_new_line - (state, breaks, width$1) - : /*<>*/ break_same_line(state, fits) /*<>*/ ; + : /*<>*/ break_same_line(state, fits) /*<>*/ ; case 0: case 5: - /*<>*/ return break_same_line(state, fits) /*<>*/ ; + /*<>*/ return break_same_line(state, fits) /*<>*/ ; default: - /*<>*/ return break_new_line - (state, breaks, width$1) /*<>*/ ; + /*<>*/ return break_new_line + (state, breaks, width$1) /*<>*/ ; } case 3: var - off$0 = /*<>*/ param[2], + off$0 = /*<>*/ param[2], n = param[1], - insertion_point = /*<>*/ state[6] - state[9] | 0, + insertion_point = /*<>*/ state[6] - state[9] | 0, match$8 = - /*<>*/ Stdlib_Stack[8].call(null, state[3]); - /*<>*/ if(! match$8) - /*<>*/ return; + /*<>*/ Stdlib_Stack[8].call(null, state[3]); + /*<>*/ if(! match$8) + /*<>*/ return; var - tabs$0 = /*<>*/ match$8[1][1], - match$9 = /*<>*/ tabs$0[1]; + tabs$0 = /*<>*/ match$8[1][1], + match$9 = /*<>*/ tabs$0[1]; if(match$9){ - var first = match$9[1], param$0 = /*<>*/ tabs$0[1]; + var first = match$9[1], param$0 = /*<>*/ tabs$0[1]; for(;;){ - /*<>*/ if(! param$0){var tab = first; break;} + /*<>*/ if(! param$0){var tab = first; break;} var tail = param$0[2], head = param$0[1]; - /*<>*/ if(insertion_point <= head){var tab = head; break;} + /*<>*/ if(insertion_point <= head){var tab = head; break;} param$0 = tail; } } else - var tab = /*<>*/ insertion_point; - var offset = /*<>*/ tab - insertion_point | 0; - /*<>*/ return 0 <= offset - ? /*<>*/ break_same_line + var tab = /*<>*/ insertion_point; + var offset = /*<>*/ tab - insertion_point | 0; + /*<>*/ return 0 <= offset + ? /*<>*/ break_same_line (state, [0, cst$0, offset + n | 0, cst]) - : /*<>*/ break_new_line - (state, [0, cst$2, tab + off$0 | 0, cst$1], state[6]) /*<>*/ ; + : /*<>*/ break_new_line + (state, [0, cst$2, tab + off$0 | 0, cst$1], state[6]) /*<>*/ ; case 4: var - ty = /*<>*/ param[2], + ty = /*<>*/ param[2], off$1 = param[1], - insertion_point$0 = /*<>*/ state[6] - state[9] | 0; - /*<>*/ if(state[8] < insertion_point$0){ + insertion_point$0 = /*<>*/ state[6] - state[9] | 0; + /*<>*/ if(state[8] < insertion_point$0){ var - match = /*<>*/ Stdlib_Stack[8].call(null, state[2]); - /*<>*/ if(match){ + match = /*<>*/ Stdlib_Stack[8].call(null, state[2]); + /*<>*/ if(match){ var match$0 = match[1], width = match$0[2], box_type = match$0[1]; - /*<>*/ if + /*<>*/ if (state[9] < width && 3 >= box_type - 1 >>> 0) - /*<>*/ break_new_line(state, _a_, width); + /*<>*/ break_new_line(state, _a_, width); } else - /*<>*/ pp_output_newline(state); + /*<>*/ pp_output_newline(state); } var - width$2 = /*<>*/ state[9] - off$1 | 0, + width$2 = /*<>*/ state[9] - off$1 | 0, box_type$1 = - /*<>*/ 1 === ty ? 1 : state[9] < size$0 ? ty : 5; - /*<>*/ return Stdlib_Stack[3].call - (null, [0, box_type$1, width$2], state[2]) /*<>*/ ; + /*<>*/ 1 === ty ? 1 : state[9] < size$0 ? ty : 5; + /*<>*/ return Stdlib_Stack[3].call + (null, [0, box_type$1, width$2], state[2]) /*<>*/ ; case 5: - var tbox = /*<>*/ param[1]; - /*<>*/ return Stdlib_Stack[3].call - (null, tbox, state[3]) /*<>*/ ; + var tbox = /*<>*/ param[1]; + /*<>*/ return Stdlib_Stack[3].call + (null, tbox, state[3]) /*<>*/ ; default: var - tag_name$0 = /*<>*/ param[1], - marker$0 = /*<>*/ caml_call1(state[24], tag_name$0); - /*<>*/ pp_output_string(state, marker$0); - /*<>*/ return Stdlib_Stack[3].call - (null, tag_name$0, state[5]) /*<>*/ ; + tag_name$0 = /*<>*/ param[1], + marker$0 = /*<>*/ caml_call1(state[25], tag_name$0); + /*<>*/ pp_output_string(state, marker$0); + /*<>*/ return Stdlib_Stack[3].call + (null, tag_name$0, state[5]) /*<>*/ ; } } function advance_left(state){ - /*<>*/ for(;;){ + /*<>*/ for(;;){ var - match = /*<>*/ Stdlib_Queue[9].call(null, state[28]); - /*<>*/ if(! match) /*<>*/ return 0; + match = /*<>*/ Stdlib_Queue[9].call(null, state[29]); + /*<>*/ if(! match) /*<>*/ return 0; var - match$0 = /*<>*/ match[1], + match$0 = /*<>*/ match[1], size = match$0[1], length = match$0[3], token = match$0[2], - pending_count = /*<>*/ state[13] - state[12] | 0, - _ah_ = /*<>*/ 0 <= size ? 1 : 0, - _ag_ = - /*<>*/ _ah_ || (state[9] <= pending_count ? 1 : 0); - if(! _ag_) return _ag_; - /*<>*/ Stdlib_Queue[5].call(null, state[28]); - var size$0 = /*<>*/ 0 <= size ? size : pp_infinity; - /*<>*/ format_pp_token(state, size$0, token); - /*<>*/ state[12] = length + state[12] | 0; - } - /*<>*/ } + pending_count = /*<>*/ state[13] - state[12] | 0, + _ai_ = /*<>*/ 0 <= size ? 1 : 0, + _ah_ = + /*<>*/ _ai_ || (state[9] <= pending_count ? 1 : 0); + if(! _ah_) return _ah_; + /*<>*/ if(! Stdlib_Queue[6].call(null, state[29])) + /*<>*/ return Stdlib[1].call + (null, cst_Format_Unsynchronized_acce) /*<>*/ ; + var size$0 = /*<>*/ 0 <= size ? size : pp_infinity; + /*<>*/ format_pp_token(state, size$0, token); + /*<>*/ state[12] = length + state[12] | 0; + } + /*<>*/ } function enqueue_advance(state, tok){ - /*<>*/ pp_enqueue(state, tok); - /*<>*/ return advance_left(state) /*<>*/ ; + /*<>*/ pp_enqueue(state, tok); + /*<>*/ return advance_left(state) /*<>*/ ; } function enqueue_string_as(state, size, s){ - /*<>*/ return enqueue_advance - (state, [0, size, [0, s], size]) /*<>*/ ; + /*<>*/ return enqueue_advance + (state, [0, size, [0, s], size]) /*<>*/ ; } function initialize_scan_stack(stack){ - /*<>*/ Stdlib_Stack[9].call(null, stack); - var queue_elem = /*<>*/ [0, unknown, _b_, 0]; - /*<>*/ return Stdlib_Stack[3].call - (null, [0, -1, queue_elem], stack) /*<>*/ ; + /*<>*/ Stdlib_Stack[9].call(null, stack); + var queue_elem = /*<>*/ [0, unknown, _b_, 0]; + /*<>*/ return Stdlib_Stack[3].call + (null, [0, -1, queue_elem], stack) /*<>*/ ; } function set_size(state, ty){ - var match = /*<>*/ Stdlib_Stack[8].call(null, state[1]); - /*<>*/ if(! match) /*<>*/ return; + var match = /*<>*/ Stdlib_Stack[8].call(null, state[1]); + /*<>*/ if(! match) /*<>*/ return; var - match$0 = /*<>*/ match[1], + match$0 = /*<>*/ match[1], queue_elem = match$0[2], left_total = match$0[1], - size = /*<>*/ queue_elem[1]; - /*<>*/ if(left_total < state[12]) - /*<>*/ return initialize_scan_stack(state[1]) /*<>*/ ; - var match$1 = /*<>*/ queue_elem[2]; + size = /*<>*/ queue_elem[1]; + /*<>*/ if(left_total < state[12]) + /*<>*/ return initialize_scan_stack(state[1]) /*<>*/ ; + var match$1 = /*<>*/ queue_elem[2]; if(typeof match$1 !== "number") switch(match$1[0]){ case 4: - /*<>*/ if(1 - ty){ - var x$0 = /*<>*/ state[13] + size | 0; - /*<>*/ queue_elem[1] = x$0; - /*<>*/ Stdlib_Stack[5].call(null, state[1]); + /*<>*/ if(1 - ty){ + var x$0 = /*<>*/ state[13] + size | 0; + /*<>*/ queue_elem[1] = x$0; + /*<>*/ Stdlib_Stack[5].call(null, state[1]); } - /*<>*/ return; + /*<>*/ return; case 2: case 3: - /*<>*/ if(ty){ - var x = /*<>*/ state[13] + size | 0; - /*<>*/ queue_elem[1] = x; - /*<>*/ Stdlib_Stack[5].call(null, state[1]); + /*<>*/ if(ty){ + var x = /*<>*/ state[13] + size | 0; + /*<>*/ queue_elem[1] = x; + /*<>*/ Stdlib_Stack[5].call(null, state[1]); } - /*<>*/ return; + /*<>*/ return; } - /*<>*/ } + /*<>*/ } function scan_push(state, b, token){ - /*<>*/ pp_enqueue(state, token); - /*<>*/ if(b) - /*<>*/ set_size(state, 1); - var elem = /*<>*/ [0, state[13], token]; - /*<>*/ return Stdlib_Stack[3].call(null, elem, state[1]) /*<>*/ ; + /*<>*/ pp_enqueue(state, token); + /*<>*/ if(b) + /*<>*/ set_size(state, 1); + var elem = /*<>*/ [0, state[13], token]; + /*<>*/ return Stdlib_Stack[3].call(null, elem, state[1]) /*<>*/ ; } function pp_open_box_gen(state, indent, br_ty){ - /*<>*/ state[14] = state[14] + 1 | 0; - /*<>*/ if(state[14] < state[15]){ + /*<>*/ state[14] = state[14] + 1 | 0; + /*<>*/ if(state[14] < state[15]){ var - size = /*<>*/ - state[13] | 0, - elem = /*<>*/ [0, size, [4, indent, br_ty], 0]; - /*<>*/ return scan_push(state, 0, elem) /*<>*/ ; + size$0 = /*<>*/ - state[13] | 0, + elem = /*<>*/ [0, size$0, [4, indent, br_ty], 0]; + /*<>*/ return scan_push(state, 0, elem) /*<>*/ ; } - var _ag_ = /*<>*/ state[14] === state[15] ? 1 : 0; - if(! _ag_) return _ag_; + var _ah_ = /*<>*/ state[14] === state[15] ? 1 : 0; + if(! _ah_) return _ah_; var - s = /*<>*/ state[16], - x = /*<>*/ caml_ml_string_length(s); - /*<>*/ return enqueue_string_as(state, x, s) /*<>*/ ; + s = /*<>*/ state[16], + size = /*<>*/ pp_string_width(state, s); + /*<>*/ return enqueue_string_as(state, size, s) /*<>*/ ; } function pp_close_box(state, param){ - var _af_ = /*<>*/ 1 < state[14] ? 1 : 0; - if(_af_){ - /*<>*/ if(state[14] < state[15]){ - /*<>*/ pp_enqueue(state, [0, zero, 1, 0]); - /*<>*/ set_size(state, 1); - /*<>*/ set_size(state, 0); + var _ag_ = /*<>*/ 1 < state[14] ? 1 : 0; + if(_ag_){ + /*<>*/ if(state[14] < state[15]){ + /*<>*/ pp_enqueue(state, [0, zero, 1, 0]); + /*<>*/ set_size(state, 1); + /*<>*/ set_size(state, 0); } - /*<>*/ state[14] = state[14] - 1 | 0; - var _ag_ = 0; + /*<>*/ state[14] = state[14] - 1 | 0; + var _ah_ = 0; } else - var _ag_ = /*<>*/ _af_; - return _ag_; - /*<>*/ } + var _ah_ = /*<>*/ _ag_; + return _ah_; + /*<>*/ } function pp_open_stag(state, tag_name){ - /*<>*/ if(state[22]){ - /*<>*/ Stdlib_Stack[3].call(null, tag_name, state[4]); - /*<>*/ caml_call1(state[26], tag_name); + /*<>*/ if(state[23]){ + /*<>*/ Stdlib_Stack[3].call(null, tag_name, state[4]); + /*<>*/ caml_call1(state[27], tag_name); } - var _af_ = /*<>*/ state[23]; - if(! _af_) return _af_; - var token = /*<>*/ [6, tag_name]; - /*<>*/ return pp_enqueue(state, [0, zero, token, 0]) /*<>*/ ; + var _ag_ = /*<>*/ state[24]; + if(! _ag_) return _ag_; + var token = /*<>*/ [6, tag_name]; + /*<>*/ return pp_enqueue(state, [0, zero, token, 0]) /*<>*/ ; } function pp_close_stag(state, param){ - /*<>*/ if(state[23]) - /*<>*/ pp_enqueue(state, [0, zero, 5, 0]); - var _ae_ = /*<>*/ state[22]; - if(_ae_){ + /*<>*/ if(state[24]) + /*<>*/ pp_enqueue(state, [0, zero, 5, 0]); + var _af_ = /*<>*/ state[23]; + if(_af_){ var - match = /*<>*/ Stdlib_Stack[5].call(null, state[4]); - /*<>*/ if(match){ + match = /*<>*/ Stdlib_Stack[5].call(null, state[4]); + /*<>*/ if(match){ var tag_name = match[1]; - /*<>*/ return caml_call1(state[27], tag_name) /*<>*/ ; + /*<>*/ return caml_call1(state[28], tag_name) /*<>*/ ; } - var _af_ = /*<>*/ 0; + var _ag_ = /*<>*/ 0; } else - var _af_ = /*<>*/ _ae_; - return _af_; - /*<>*/ } + var _ag_ = /*<>*/ _af_; + return _ag_; + /*<>*/ } function pp_set_print_tags(state, b){ - /*<>*/ state[22] = b; + /*<>*/ state[23] = b; return 0; - /*<>*/ } + /*<>*/ } function pp_set_mark_tags(state, b){ - /*<>*/ state[23] = b; + /*<>*/ state[24] = b; return 0; - /*<>*/ } + /*<>*/ } function pp_get_print_tags(state, param){ - /*<>*/ return state[22]; - /*<>*/ } + /*<>*/ return state[23]; + /*<>*/ } function pp_get_mark_tags(state, param){ - /*<>*/ return state[23]; - /*<>*/ } + /*<>*/ return state[24]; + /*<>*/ } function pp_set_tags(state, b){ - /*<>*/ pp_set_print_tags(state, b); - /*<>*/ return pp_set_mark_tags(state, b) /*<>*/ ; + /*<>*/ pp_set_print_tags(state, b); + /*<>*/ return pp_set_mark_tags(state, b) /*<>*/ ; } function pp_get_formatter_stag_function(state, param){ - /*<>*/ return [0, - state[24], + /*<>*/ return [0, state[25], state[26], - state[27]]; - /*<>*/ } + state[27], + state[28]]; + /*<>*/ } function pp_set_formatter_stag_function(state, param){ var - pct = /*<>*/ param[4], + pct = /*<>*/ param[4], pot = param[3], mct = param[2], mot = param[1]; - /*<>*/ state[24] = mot; - /*<>*/ state[25] = mct; - /*<>*/ state[26] = pot; - /*<>*/ state[27] = pct; + /*<>*/ state[25] = mot; + /*<>*/ state[26] = mct; + /*<>*/ state[27] = pot; + /*<>*/ state[28] = pct; return 0; - /*<>*/ } + /*<>*/ } function pp_rinit(state){ - /*<>*/ state[12] = 1; - /*<>*/ state[13] = 1; - /*<>*/ Stdlib_Queue[12].call(null, state[28]); - /*<>*/ initialize_scan_stack(state[1]); - /*<>*/ Stdlib_Stack[9].call(null, state[2]); - /*<>*/ Stdlib_Stack[9].call(null, state[3]); - /*<>*/ Stdlib_Stack[9].call(null, state[4]); - /*<>*/ Stdlib_Stack[9].call(null, state[5]); - /*<>*/ state[10] = 0; - /*<>*/ state[14] = 0; - /*<>*/ state[9] = state[6]; - /*<>*/ return pp_open_box_gen(state, 0, 3) /*<>*/ ; + /*<>*/ state[12] = 1; + /*<>*/ state[13] = 1; + /*<>*/ Stdlib_Queue[12].call(null, state[29]); + /*<>*/ initialize_scan_stack(state[1]); + /*<>*/ Stdlib_Stack[9].call(null, state[2]); + /*<>*/ Stdlib_Stack[9].call(null, state[3]); + /*<>*/ Stdlib_Stack[9].call(null, state[4]); + /*<>*/ Stdlib_Stack[9].call(null, state[5]); + /*<>*/ state[10] = 0; + /*<>*/ state[14] = 0; + /*<>*/ state[9] = state[6]; + /*<>*/ return pp_open_box_gen(state, 0, 3) /*<>*/ ; } function pp_flush_queue(state, end_with_newline){ - /*<>*/ Stdlib_Stack[13].call + /*<>*/ Stdlib_Stack[13].call (null, function(param){ - /*<>*/ return pp_close_stag(state, 0) /*<>*/ ; + /*<>*/ return pp_close_stag(state, 0) /*<>*/ ; }, state[4]); - /*<>*/ for(;;){ + /*<>*/ for(;;){ if(1 >= state[14]){ - /*<>*/ state[13] = pp_infinity; - /*<>*/ advance_left(state); - /*<>*/ if(end_with_newline) - /*<>*/ pp_output_newline(state); - /*<>*/ return pp_rinit(state) /*<>*/ ; + /*<>*/ state[13] = pp_infinity; + /*<>*/ advance_left(state); + /*<>*/ if(end_with_newline) + /*<>*/ pp_output_newline(state); + /*<>*/ return pp_rinit(state) /*<>*/ ; } - /*<>*/ pp_close_box(state, 0); + /*<>*/ pp_close_box(state, 0); } - /*<>*/ } + /*<>*/ } function pp_print_as_size(state, size, s){ - var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; - return _ae_ - ? /*<>*/ enqueue_string_as(state, size, s) - : _ae_ /*<>*/ ; + var _af_ = /*<>*/ state[14] < state[15] ? 1 : 0; + return _af_ + ? /*<>*/ enqueue_string_as(state, size, s) + : _af_ /*<>*/ ; } function pp_print_as(state, isize, s){ - /*<>*/ return pp_print_as_size(state, isize, s) /*<>*/ ; + /*<>*/ return pp_print_as_size(state, isize, s) /*<>*/ ; } function pp_print_string(state, s){ - var isize = /*<>*/ caml_ml_string_length(s); - /*<>*/ return pp_print_as_size(state, isize, s) /*<>*/ ; + var isize = /*<>*/ pp_string_width(state, s); + /*<>*/ return pp_print_as_size(state, isize, s) /*<>*/ ; } function pp_print_substring_as(pos, len, state, size, source){ - var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; - if(! _ae_) return _ae_; - var token = /*<>*/ [1, source, pos, len]; - /*<>*/ return enqueue_advance - (state, [0, size, token, size]) /*<>*/ ; + var _af_ = /*<>*/ state[14] < state[15] ? 1 : 0; + if(! _af_) return _af_; + var token = /*<>*/ [1, source, pos, len]; + /*<>*/ return enqueue_advance + (state, [0, size, token, size]) /*<>*/ ; } function pp_print_substring(pos, len, state, s){ - /*<>*/ return pp_print_substring_as - (pos, len, state, len, s) /*<>*/ ; + var width = /*<>*/ caml_call3(state[18], s, pos, len); + /*<>*/ return pp_print_substring_as + (pos, len, state, width, s) /*<>*/ ; } function pp_print_bytes(state, s){ var - s$0 = /*<>*/ Stdlib_Bytes[6].call(null, s), - isize = /*<>*/ runtime.caml_ml_bytes_length(s); - /*<>*/ return pp_print_as_size(state, isize, s$0) /*<>*/ ; + s$0 = /*<>*/ Stdlib_Bytes[6].call(null, s), + isize = /*<>*/ runtime.caml_ml_bytes_length(s); + /*<>*/ return pp_print_as_size(state, isize, s$0) /*<>*/ ; } function pp_print_int(state, i){ - /*<>*/ return /*<>*/ pp_print_string - (state, /*<>*/ Stdlib_Int[12].call(null, i)) /*<>*/ ; + /*<>*/ return /*<>*/ pp_print_string + (state, /*<>*/ Stdlib_Int[12].call(null, i)) /*<>*/ ; } function pp_print_float(state, f){ - /*<>*/ return /*<>*/ pp_print_string - (state, /*<>*/ Stdlib[35].call(null, f)) /*<>*/ ; + /*<>*/ return /*<>*/ pp_print_string + (state, /*<>*/ Stdlib[35].call(null, f)) /*<>*/ ; } function pp_print_bool(state, b){ - /*<>*/ return /*<>*/ pp_print_string - (state, /*<>*/ Stdlib[30].call(null, b)) /*<>*/ ; + /*<>*/ return /*<>*/ pp_print_string + (state, /*<>*/ Stdlib[30].call(null, b)) /*<>*/ ; } function pp_print_char(state, c){ - var s = /*<>*/ Stdlib_String[1].call(null, 1, c); - /*<>*/ return pp_print_as_size(state, 1, s) /*<>*/ ; + var s = /*<>*/ Stdlib_String[1].call(null, 1, c); + /*<>*/ return pp_print_as_size(state, 1, s) /*<>*/ ; } - function pp_print_nothing(state, param){ /*<>*/ return 0; - /*<>*/ } + function pp_print_nothing(state, param){ /*<>*/ return 0; + /*<>*/ } function pp_open_hbox(state, param){ - /*<>*/ return pp_open_box_gen(state, 0, 0) /*<>*/ ; + /*<>*/ return pp_open_box_gen(state, 0, 0) /*<>*/ ; } function pp_open_vbox(state, indent){ - /*<>*/ return pp_open_box_gen(state, indent, 1) /*<>*/ ; + /*<>*/ return pp_open_box_gen(state, indent, 1) /*<>*/ ; } function pp_open_hvbox(state, indent){ - /*<>*/ return pp_open_box_gen(state, indent, 2) /*<>*/ ; + /*<>*/ return pp_open_box_gen(state, indent, 2) /*<>*/ ; } function pp_open_hovbox(state, indent){ - /*<>*/ return pp_open_box_gen(state, indent, 3) /*<>*/ ; + /*<>*/ return pp_open_box_gen(state, indent, 3) /*<>*/ ; } function pp_open_box(state, indent){ - /*<>*/ return pp_open_box_gen(state, indent, 4) /*<>*/ ; + /*<>*/ return pp_open_box_gen(state, indent, 4) /*<>*/ ; } function pp_print_newline(state, param){ - /*<>*/ pp_flush_queue(state, 1); - /*<>*/ return caml_call1(state[18], 0) /*<>*/ ; + /*<>*/ pp_flush_queue(state, 1); + /*<>*/ return caml_call1(state[19], 0) /*<>*/ ; } function pp_print_flush(state, param){ - /*<>*/ pp_flush_queue(state, 0); - /*<>*/ return caml_call1(state[18], 0) /*<>*/ ; + /*<>*/ pp_flush_queue(state, 0); + /*<>*/ return caml_call1(state[19], 0) /*<>*/ ; } function pp_force_newline(state, param){ - var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; - return _ae_ - ? /*<>*/ enqueue_advance(state, [0, zero, 3, 0]) - : _ae_ /*<>*/ ; + var _af_ = /*<>*/ state[14] < state[15] ? 1 : 0; + return _af_ + ? /*<>*/ enqueue_advance(state, [0, zero, 3, 0]) + : _af_ /*<>*/ ; } function pp_print_if_newline(state, param){ - var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; - return _ae_ - ? /*<>*/ enqueue_advance(state, [0, zero, 4, 0]) - : _ae_ /*<>*/ ; + var _af_ = /*<>*/ state[14] < state[15] ? 1 : 0; + return _af_ + ? /*<>*/ enqueue_advance(state, [0, zero, 4, 0]) + : _af_ /*<>*/ ; } function pp_print_custom_break(state, fits, breaks){ var - after = /*<>*/ fits[3], + after = /*<>*/ fits[3], width = fits[2], before = fits[1], - _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; + _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; if(! _ae_) return _ae_; var - size = /*<>*/ - state[13] | 0, - token = /*<>*/ [2, fits, breaks], + size = /*<>*/ - state[13] | 0, + token = /*<>*/ [2, fits, breaks], + _af_ = /*<>*/ pp_string_width(state, after), length = - /*<>*/ (caml_ml_string_length(before) + width | 0) - + caml_ml_string_length(after) + /*<>*/ (pp_string_width(state, before) + width | 0) + + _af_ | 0, - elem = /*<>*/ [0, size, token, length]; - /*<>*/ return scan_push(state, 1, elem) /*<>*/ ; + elem = /*<>*/ [0, size, token, length]; + /*<>*/ return scan_push(state, 1, elem) /*<>*/ ; } function pp_print_break(state, width, offset){ - /*<>*/ return pp_print_custom_break - (state, [0, cst$6, width, cst$5], [0, cst$4, offset, cst$3]) /*<>*/ ; + /*<>*/ return pp_print_custom_break + (state, [0, cst$6, width, cst$5], [0, cst$4, offset, cst$3]) /*<>*/ ; } function pp_print_space(state, param){ - /*<>*/ return pp_print_break(state, 1, 0) /*<>*/ ; + /*<>*/ return pp_print_break(state, 1, 0) /*<>*/ ; } function pp_print_cut(state, param){ - /*<>*/ return pp_print_break(state, 0, 0) /*<>*/ ; + /*<>*/ return pp_print_break(state, 0, 0) /*<>*/ ; } function pp_open_tbox(state, param){ - /*<>*/ state[14] = state[14] + 1 | 0; - var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; + /*<>*/ state[14] = state[14] + 1 | 0; + var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; if(! _ae_) return _ae_; - var elem = /*<>*/ [0, zero, [5, [0, [0, 0]]], 0]; - /*<>*/ return enqueue_advance(state, elem) /*<>*/ ; + var elem = /*<>*/ [0, zero, [5, [0, [0, 0]]], 0]; + /*<>*/ return enqueue_advance(state, elem) /*<>*/ ; } function pp_close_tbox(state, param){ - var _ad_ = /*<>*/ 1 < state[14] ? 1 : 0; + var _ad_ = /*<>*/ 1 < state[14] ? 1 : 0; if(_ad_){ - var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; + var _ae_ = /*<>*/ state[14] < state[15] ? 1 : 0; if(_ae_){ - var elem = /*<>*/ [0, zero, 2, 0]; - /*<>*/ enqueue_advance(state, elem); - /*<>*/ state[14] = state[14] - 1 | 0; + var elem = /*<>*/ [0, zero, 2, 0]; + /*<>*/ enqueue_advance(state, elem); + /*<>*/ state[14] = state[14] - 1 | 0; var _ac_ = 0; } else - var _ac_ = /*<>*/ _ae_; + var _ac_ = /*<>*/ _ae_; } else - var _ac_ = /*<>*/ _ad_; + var _ac_ = /*<>*/ _ad_; return _ac_; - /*<>*/ } + /*<>*/ } function pp_print_tbreak(state, width, offset){ - var _ac_ = /*<>*/ state[14] < state[15] ? 1 : 0; + var _ac_ = /*<>*/ state[14] < state[15] ? 1 : 0; if(! _ac_) return _ac_; var - size = /*<>*/ - state[13] | 0, - elem = /*<>*/ [0, size, [3, width, offset], width]; - /*<>*/ return scan_push(state, 1, elem) /*<>*/ ; + size = /*<>*/ - state[13] | 0, + elem = /*<>*/ [0, size, [3, width, offset], width]; + /*<>*/ return scan_push(state, 1, elem) /*<>*/ ; } function pp_print_tab(state, param){ - /*<>*/ return pp_print_tbreak(state, 0, 0) /*<>*/ ; + /*<>*/ return pp_print_tbreak(state, 0, 0) /*<>*/ ; } function pp_set_tab(state, param){ - var _ac_ = /*<>*/ state[14] < state[15] ? 1 : 0; + var _ac_ = /*<>*/ state[14] < state[15] ? 1 : 0; if(! _ac_) return _ac_; - var elem = /*<>*/ [0, zero, 0, 0]; - /*<>*/ return enqueue_advance(state, elem) /*<>*/ ; + var elem = /*<>*/ [0, zero, 0, 0]; + /*<>*/ return enqueue_advance(state, elem) /*<>*/ ; } function pp_set_max_boxes(state, n){ var - _ab_ = /*<>*/ 1 < n ? 1 : 0, + _ab_ = /*<>*/ 1 < n ? 1 : 0, _ac_ = _ab_ ? (state[15] = n, 0) : _ab_; return _ac_; - /*<>*/ } + /*<>*/ } function pp_get_max_boxes(state, param){ - /*<>*/ return state[15]; - /*<>*/ } + /*<>*/ return state[15]; + /*<>*/ } function pp_over_max_boxes(state, param){ - /*<>*/ return state[14] === state[15] ? 1 : 0; - /*<>*/ } + /*<>*/ return state[14] === state[15] ? 1 : 0; + /*<>*/ } function pp_set_ellipsis_text(state, s){ - /*<>*/ state[16] = s; + /*<>*/ state[16] = s; return 0; - /*<>*/ } + /*<>*/ } function pp_get_ellipsis_text(state, param){ - /*<>*/ return state[16]; - /*<>*/ } + /*<>*/ return state[16]; + /*<>*/ } function pp_limit(n){ - /*<>*/ return n < 1000000010 ? n : 1000000009 /*<>*/ ; + /*<>*/ return n < 1000000010 ? n : 1000000009 /*<>*/ ; } function pp_set_max_indent(state, n$0){ - var _ab_ = /*<>*/ 1 < n$0 ? 1 : 0; + var _ab_ = /*<>*/ 1 < n$0 ? 1 : 0; if(! _ab_) return _ab_; var - n$1 = /*<>*/ state[6] - n$0 | 0, - _aa_ = /*<>*/ 1 <= n$1 ? 1 : 0; + n$1 = /*<>*/ state[6] - n$0 | 0, + _aa_ = /*<>*/ 1 <= n$1 ? 1 : 0; if(! _aa_) return _aa_; - var n = /*<>*/ pp_limit(n$1); - /*<>*/ state[7] = n; - /*<>*/ state[8] = state[6] - state[7] | 0; - /*<>*/ return pp_rinit(state) /*<>*/ ; + var n = /*<>*/ pp_limit(n$1); + /*<>*/ state[7] = n; + /*<>*/ state[8] = state[6] - state[7] | 0; + /*<>*/ return pp_rinit(state) /*<>*/ ; } function pp_get_max_indent(state, param){ - /*<>*/ return state[8]; - /*<>*/ } + /*<>*/ return state[8]; + /*<>*/ } function pp_set_margin(state, n){ - var _$_ = /*<>*/ 1 <= n ? 1 : 0; + var _$_ = /*<>*/ 1 <= n ? 1 : 0; if(! _$_) return _$_; - var n$0 = /*<>*/ pp_limit(n); - /*<>*/ state[6] = n$0; - /*<>*/ if(state[8] <= state[6]) - var new_max_indent = /*<>*/ state[8]; + var n$0 = /*<>*/ pp_limit(n); + /*<>*/ state[6] = n$0; + /*<>*/ if(state[8] <= state[6]) + var new_max_indent = /*<>*/ state[8]; else var _aa_ = - /*<>*/ Stdlib_Int[11].call + /*<>*/ Stdlib_Int[11].call (null, state[6] - state[7] | 0, state[6] / 2 | 0), new_max_indent = - /*<>*/ /*<>*/ Stdlib_Int[11].call + /*<>*/ /*<>*/ Stdlib_Int[11].call (null, _aa_, 1); - /*<>*/ return pp_set_max_indent(state, new_max_indent) /*<>*/ ; + /*<>*/ return pp_set_max_indent(state, new_max_indent) /*<>*/ ; } function validate_geometry(param){ - var margin = /*<>*/ param[2], max_indent = param[1]; - /*<>*/ return 2 <= max_indent + var margin = /*<>*/ param[2], max_indent = param[1]; + /*<>*/ return 2 <= max_indent ? margin <= max_indent ? _c_ : 1000000010 <= margin ? _d_ : _e_ - : _f_ /*<>*/ ; + : _f_ /*<>*/ ; } function check_geometry(geometry){ - /*<>*/ return 0 === validate_geometry(geometry)[0] + /*<>*/ return 0 === validate_geometry(geometry)[0] ? 1 - : 0 /*<>*/ ; + : 0 /*<>*/ ; } function pp_get_margin(state, param){ - /*<>*/ return state[6]; - /*<>*/ } + /*<>*/ return state[6]; + /*<>*/ } function pp_set_full_geometry(state, param){ - var margin = /*<>*/ param[2], max_indent = param[1]; - /*<>*/ pp_set_margin(state, margin); - /*<>*/ pp_set_max_indent(state, max_indent); - /*<>*/ return 0; - /*<>*/ } + var margin = /*<>*/ param[2], max_indent = param[1]; + /*<>*/ pp_set_margin(state, margin); + /*<>*/ pp_set_max_indent(state, max_indent); + /*<>*/ return 0; + /*<>*/ } function pp_set_geometry(state, max_indent, margin){ var - geometry = /*<>*/ [0, max_indent, margin], - match = /*<>*/ validate_geometry(geometry); - /*<>*/ if(0 === match[0]) - /*<>*/ return pp_set_full_geometry(state, geometry) /*<>*/ ; + geometry = /*<>*/ [0, max_indent, margin], + match = /*<>*/ validate_geometry(geometry); + /*<>*/ if(0 === match[0]) + /*<>*/ return pp_set_full_geometry(state, geometry) /*<>*/ ; var - msg = /*<>*/ match[1], + msg = /*<>*/ match[1], _$_ = - /*<>*/ Stdlib[28].call + /*<>*/ Stdlib[28].call (null, cst_Format_pp_set_geometry, msg); - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ throw caml_maybe_attach_backtrace ([0, Stdlib[6], _$_], 1); - /*<>*/ } + /*<>*/ } function pp_safe_set_geometry(state, max_indent, margin){ - var geometry = /*<>*/ [0, max_indent, margin]; - /*<>*/ return 0 === validate_geometry(geometry)[0] - ? /*<>*/ pp_set_full_geometry(state, geometry) - : 0 /*<>*/ ; + var geometry = /*<>*/ [0, max_indent, margin]; + /*<>*/ return 0 === validate_geometry(geometry)[0] + ? /*<>*/ pp_set_full_geometry(state, geometry) + : 0 /*<>*/ ; } function pp_get_geometry(state, param){ - /*<>*/ return [0, state[8], state[6]]; - /*<>*/ } + /*<>*/ return [0, state[8], state[6]]; + /*<>*/ } function pp_update_geometry(state, update){ - var geometry = /*<>*/ pp_get_geometry(state, 0); - /*<>*/ return /*<>*/ pp_set_full_geometry - (state, /*<>*/ caml_call1(update, geometry)) /*<>*/ ; + var geometry = /*<>*/ pp_get_geometry(state, 0); + /*<>*/ return /*<>*/ pp_set_full_geometry + (state, /*<>*/ caml_call1(update, geometry)) /*<>*/ ; } function pp_set_formatter_out_functions(state, param){ var - j = /*<>*/ param[5], - i = param[4], - h = param[3], - g = param[2], + j = /*<>*/ param[6], + i = param[5], + h = param[4], + g = param[3], + f2 = param[2], f = param[1]; - /*<>*/ state[17] = f; - /*<>*/ state[18] = g; - /*<>*/ state[19] = h; - /*<>*/ state[20] = i; - /*<>*/ state[21] = j; + /*<>*/ state[17] = f; + /*<>*/ state[18] = f2; + /*<>*/ state[19] = g; + /*<>*/ state[20] = h; + /*<>*/ state[21] = i; + /*<>*/ state[22] = j; return 0; - /*<>*/ } + /*<>*/ } function pp_get_formatter_out_functions(state, param){ - /*<>*/ return [0, + /*<>*/ return [0, state[17], state[18], state[19], state[20], - state[21]]; - /*<>*/ } + state[21], + state[22]]; + /*<>*/ } function pp_set_formatter_output_functi(state, f, g){ - /*<>*/ state[17] = f; - /*<>*/ state[18] = g; + /*<>*/ state[17] = f; + /*<>*/ state[19] = g; return 0; - /*<>*/ } + /*<>*/ } function pp_get_formatter_output_functi(state, param){ - /*<>*/ return [0, state[17], state[18]]; - /*<>*/ } + /*<>*/ return [0, state[17], state[19]]; + /*<>*/ } function display_newline(state, param){ - /*<>*/ return caml_call3(state[17], cst$7, 0, 1) /*<>*/ ; + /*<>*/ return caml_call3(state[17], cst$7, 0, 1) /*<>*/ ; } var - blank_line = /*<>*/ Stdlib_String[1].call(null, 80, 32), - _g_ = /*<>*/ [4, 0, 3]; + blank_line = /*<>*/ Stdlib_String[1].call(null, 80, 32), + _g_ = /*<>*/ [4, 0, 3]; function display_blanks(state, n$1){ - var n = /*<>*/ n$1; + var n = /*<>*/ n$1; for(;;){ var _$_ = 0 < n ? 1 : 0; if(! _$_) return _$_; - /*<>*/ if(80 >= n) - /*<>*/ return caml_call3(state[17], blank_line, 0, n) /*<>*/ ; - /*<>*/ caml_call3(state[17], blank_line, 0, 80); - var n$0 = /*<>*/ n - 80 | 0; + /*<>*/ if(80 >= n) + /*<>*/ return caml_call3(state[17], blank_line, 0, n) /*<>*/ ; + /*<>*/ caml_call3(state[17], blank_line, 0, 80); + var n$0 = /*<>*/ n - 80 | 0; n = n$0; } - /*<>*/ } + /*<>*/ } function pp_set_formatter_out_channel(state, oc){ - var _Y_ = /*<>*/ Stdlib[69]; - /*<>*/ state[17] = + var _Y_ = /*<>*/ Stdlib[69]; + /*<>*/ state[17] = function(_Z_, ___, _$_){ - /*<>*/ return _Y_(oc, _Z_, ___, _$_); + /*<>*/ return _Y_(oc, _Z_, ___, _$_); }; - /*<>*/ state[18] = + /*<>*/ state[19] = function(param){ - /*<>*/ return Stdlib[63].call(null, oc) /*<>*/ ; + /*<>*/ return Stdlib[63].call(null, oc) /*<>*/ ; }; - /*<>*/ state[19] = + /*<>*/ state[20] = function(_Y_){ - /*<>*/ return display_newline(state, _Y_); + /*<>*/ return display_newline(state, _Y_); }; - /*<>*/ state[20] = + /*<>*/ state[21] = function(_Y_){ - /*<>*/ return display_blanks(state, _Y_); + /*<>*/ return display_blanks(state, _Y_); }; - /*<>*/ state[21] = + /*<>*/ state[22] = function(_Y_){ - /*<>*/ return display_blanks(state, _Y_); + /*<>*/ return display_blanks(state, _Y_); }; - /*<>*/ return 0; + /*<>*/ return 0; } function default_pp_mark_open_tag(param){ - var tag = /*<>*/ param[1]; - if(tag !== String_tag) /*<>*/ return cst$10; + var tag = /*<>*/ param[1]; + if(tag !== String_tag) /*<>*/ return cst$10; var - s = /*<>*/ param[2], - _Y_ = /*<>*/ Stdlib[28].call(null, s, cst$8); - /*<>*/ return Stdlib[28].call(null, cst$9, _Y_) /*<>*/ ; + s = /*<>*/ param[2], + _Y_ = /*<>*/ Stdlib[28].call(null, s, cst$8); + /*<>*/ return Stdlib[28].call(null, cst$9, _Y_) /*<>*/ ; } function default_pp_mark_close_tag(param){ - var tag = /*<>*/ param[1]; - if(tag !== String_tag) /*<>*/ return cst$13; + var tag = /*<>*/ param[1]; + if(tag !== String_tag) /*<>*/ return cst$13; var - s = /*<>*/ param[2], - _Y_ = /*<>*/ Stdlib[28].call(null, s, cst$11); - /*<>*/ return Stdlib[28].call(null, cst$12, _Y_) /*<>*/ ; + s = /*<>*/ param[2], + _Y_ = /*<>*/ Stdlib[28].call(null, s, cst$11); + /*<>*/ return Stdlib[28].call(null, cst$12, _Y_) /*<>*/ ; } function default_pp_print_open_tag(_Y_){ /*<>*/ return 0;} function default_pp_print_close_tag(_Y_){return 0;} + function utf_8_scalar_width(s, current, len){ + var + stop = /*<>*/ current + len | 0, + count = 0, + current$0 = current; + for(;;){ + /*<>*/ if(stop <= current$0) + /*<>*/ return count; + var + decode = + /*<>*/ Stdlib_String[43].call(null, s, current$0), + advance = /*<>*/ Stdlib_Uchar[21].call(null, decode), + current$1 = /*<>*/ current$0 + advance | 0, + count$0 = count + 1 | 0; + count = count$0; + current$0 = current$1; + } + /*<>*/ } + function ascii_width(_Y_, param, len){ + /*<>*/ return len; + /*<>*/ } function pp_make_formatter(f, g, h, i, j){ var - pp_queue = /*<>*/ Stdlib_Queue[2].call(null, 0), - sys_tok = /*<>*/ [0, unknown, _g_, 0]; - /*<>*/ Stdlib_Queue[3].call(null, sys_tok, pp_queue); - var scan_stack = /*<>*/ Stdlib_Stack[2].call(null, 0); - /*<>*/ initialize_scan_stack(scan_stack); - /*<>*/ Stdlib_Stack[3].call + pp_queue = /*<>*/ Stdlib_Queue[2].call(null, 0), + sys_tok = /*<>*/ [0, unknown, _g_, 0]; + /*<>*/ Stdlib_Queue[3].call(null, sys_tok, pp_queue); + var scan_stack = /*<>*/ Stdlib_Stack[2].call(null, 0); + /*<>*/ initialize_scan_stack(scan_stack); + /*<>*/ Stdlib_Stack[3].call (null, [0, 1, sys_tok], scan_stack); var - pp_margin = /*<>*/ 78, - _V_ = /*<>*/ Stdlib[19], + pp_margin = /*<>*/ 78, + _V_ = /*<>*/ Stdlib[19], _W_ = Stdlib_Stack[2].call(null, 0), - _X_ = /*<>*/ Stdlib_Stack[2].call(null, 0), - _Y_ = /*<>*/ Stdlib_Stack[2].call(null, 0); - /*<>*/ return [0, + _X_ = /*<>*/ Stdlib_Stack[2].call(null, 0), + _Y_ = /*<>*/ Stdlib_Stack[2].call(null, 0); + /*<>*/ return [0, scan_stack, Stdlib_Stack[2].call(null, 0), _Y_, @@ -26981,6 +28524,7 @@ _V_, cst$14, f, + utf_8_scalar_width, g, h, i, @@ -26991,819 +28535,991 @@ default_pp_mark_close_tag, default_pp_print_open_tag, default_pp_print_close_tag, - pp_queue] /*<>*/ ; + pp_queue] /*<>*/ ; } function formatter_of_out_functions(out_funs){ - /*<>*/ return pp_make_formatter - (out_funs[1], out_funs[2], out_funs[3], out_funs[4], out_funs[5]) /*<>*/ ; + /*<>*/ return pp_make_formatter + (out_funs[1], out_funs[3], out_funs[4], out_funs[5], out_funs[6]) /*<>*/ ; } function make_formatter(output, flush){ var ppf = - /*<>*/ pp_make_formatter + /*<>*/ pp_make_formatter (output, flush, function(_V_){ /*<>*/ return 0;}, function(_V_){return 0;}, function(_V_){return 0;}); - /*<>*/ ppf[19] = + /*<>*/ ppf[20] = function(_V_){ - /*<>*/ return display_newline(ppf, _V_); + /*<>*/ return display_newline(ppf, _V_); }; - /*<>*/ ppf[20] = + /*<>*/ ppf[21] = function(_V_){ - /*<>*/ return display_blanks(ppf, _V_); + /*<>*/ return display_blanks(ppf, _V_); }; - /*<>*/ ppf[21] = + /*<>*/ ppf[22] = function(_V_){ - /*<>*/ return display_blanks(ppf, _V_); + /*<>*/ return display_blanks(ppf, _V_); }; - /*<>*/ return ppf; - /*<>*/ } + /*<>*/ return ppf; + /*<>*/ } function formatter_of_out_channel(oc){ - var _S_ = /*<>*/ Stdlib[69]; - /*<>*/ return make_formatter + var _S_ = /*<>*/ Stdlib[69]; + /*<>*/ return make_formatter (function(_T_, _U_, _V_){ - /*<>*/ return _S_(oc, _T_, _U_, _V_); + /*<>*/ return _S_(oc, _T_, _U_, _V_); }, function(param){ - /*<>*/ return Stdlib[63].call(null, oc) /*<>*/ ; - }) /*<>*/ ; + /*<>*/ return Stdlib[63].call(null, oc) /*<>*/ ; + }) /*<>*/ ; } function formatter_of_buffer(b){ - var _P_ = /*<>*/ Stdlib_Buffer[18]; - /*<>*/ return make_formatter + var _P_ = /*<>*/ Stdlib_Buffer[18]; + /*<>*/ return make_formatter (function(_Q_, _R_, _S_){ - /*<>*/ return _P_(b, _Q_, _R_, _S_); + /*<>*/ return _P_(b, _Q_, _R_, _S_); }, - function(_P_){ /*<>*/ return 0;}) /*<>*/ ; + function(_P_){ /*<>*/ return 0;}) /*<>*/ ; } - var pp_buffer_size = /*<>*/ 512; + var pp_buffer_size = /*<>*/ 512; function pp_make_buffer(param){ - /*<>*/ return Stdlib_Buffer[1].call - (null, pp_buffer_size) /*<>*/ ; + /*<>*/ return Stdlib_Buffer[1].call + (null, pp_buffer_size) /*<>*/ ; } var - stdbuf = /*<>*/ pp_make_buffer(0), + stdbuf = /*<>*/ pp_make_buffer(0), std_formatter = - /*<>*/ formatter_of_out_channel(Stdlib[39]), + /*<>*/ formatter_of_out_channel(Stdlib[39]), err_formatter = - /*<>*/ formatter_of_out_channel(Stdlib[40]), - str_formatter = /*<>*/ formatter_of_buffer(stdbuf), + /*<>*/ formatter_of_out_channel(Stdlib[40]), + str_formatter = /*<>*/ formatter_of_buffer(stdbuf), stdbuf_key = - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][1], 0, pp_make_buffer); - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][3], stdbuf_key, stdbuf); var str_formatter_key = - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][1], 0, function(param){ - /*<>*/ return /*<>*/ formatter_of_buffer - ( /*<>*/ caml_call1 - (Stdlib_Domain[11][2], stdbuf_key)) /*<>*/ ; + /*<>*/ return /*<>*/ formatter_of_buffer + ( /*<>*/ caml_call1 + (Stdlib_Domain[11][2], stdbuf_key)) /*<>*/ ; }); - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][3], str_formatter_key, str_formatter); function buffered_out_string(key, str, ofs, len){ var - _P_ = /*<>*/ caml_call1(Stdlib_Domain[11][2], key); - /*<>*/ return Stdlib_Buffer[18].call - (null, _P_, str, ofs, len) /*<>*/ ; + _P_ = /*<>*/ caml_call1(Stdlib_Domain[11][2], key); + /*<>*/ return Stdlib_Buffer[18].call + (null, _P_, str, ofs, len) /*<>*/ ; } function buffered_out_flush(oc, key, param){ var - buf = /*<>*/ caml_call1(Stdlib_Domain[11][2], key), - len = /*<>*/ Stdlib_Buffer[7].call(null, buf), - str = /*<>*/ Stdlib_Buffer[2].call(null, buf); - /*<>*/ Stdlib[69].call(null, oc, str, 0, len); - /*<>*/ Stdlib[63].call(null, oc); - /*<>*/ return Stdlib_Buffer[8].call(null, buf) /*<>*/ ; + buf = /*<>*/ caml_call1(Stdlib_Domain[11][2], key), + len = /*<>*/ Stdlib_Buffer[7].call(null, buf), + str = /*<>*/ Stdlib_Buffer[2].call(null, buf); + /*<>*/ Stdlib[69].call(null, oc, str, 0, len); + /*<>*/ Stdlib[63].call(null, oc); + /*<>*/ return Stdlib_Buffer[8].call(null, buf) /*<>*/ ; } var std_buf_key = - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][1], 0, function(param){ - /*<>*/ return Stdlib_Buffer[1].call - (null, pp_buffer_size) /*<>*/ ; + /*<>*/ return Stdlib_Buffer[1].call + (null, pp_buffer_size) /*<>*/ ; }), err_buf_key = - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][1], 0, function(param){ - /*<>*/ return Stdlib_Buffer[1].call - (null, pp_buffer_size) /*<>*/ ; + /*<>*/ return Stdlib_Buffer[1].call + (null, pp_buffer_size) /*<>*/ ; }), std_formatter_key = - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][1], 0, function(param){ var - _M_ = /*<>*/ Stdlib[39], + _M_ = /*<>*/ Stdlib[39], ppf = - /*<>*/ pp_make_formatter + /*<>*/ pp_make_formatter (function(_N_, _O_, _P_){ - /*<>*/ return buffered_out_string + /*<>*/ return buffered_out_string (std_buf_key, _N_, _O_, _P_); }, function(_N_){ - /*<>*/ return buffered_out_flush + /*<>*/ return buffered_out_flush (_M_, std_buf_key, _N_); }, function(_M_){ /*<>*/ return 0;}, function(_M_){return 0;}, function(_M_){return 0;}); - /*<>*/ ppf[19] = + /*<>*/ ppf[20] = function(_M_){ - /*<>*/ return display_newline(ppf, _M_); + /*<>*/ return display_newline(ppf, _M_); }; - /*<>*/ ppf[20] = + /*<>*/ ppf[21] = function(_M_){ - /*<>*/ return display_blanks(ppf, _M_); + /*<>*/ return display_blanks(ppf, _M_); }; - /*<>*/ ppf[21] = + /*<>*/ ppf[22] = function(_M_){ - /*<>*/ return display_blanks(ppf, _M_); + /*<>*/ return display_blanks(ppf, _M_); }; - /*<>*/ Stdlib_Domain[6].call + /*<>*/ Stdlib_Domain[6].call (null, function(_M_){ - /*<>*/ return pp_print_flush(ppf, _M_); + /*<>*/ return pp_print_flush(ppf, _M_); }); - /*<>*/ return ppf; - /*<>*/ }); - /*<>*/ caml_call2 + /*<>*/ return ppf; + /*<>*/ }); + /*<>*/ caml_call2 (Stdlib_Domain[11][3], std_formatter_key, std_formatter); var err_formatter_key = - /*<>*/ caml_call2 + /*<>*/ caml_call2 (Stdlib_Domain[11][1], 0, function(param){ var - _J_ = /*<>*/ Stdlib[40], + _J_ = /*<>*/ Stdlib[40], ppf = - /*<>*/ pp_make_formatter + /*<>*/ pp_make_formatter (function(_K_, _L_, _M_){ - /*<>*/ return buffered_out_string + /*<>*/ return buffered_out_string (err_buf_key, _K_, _L_, _M_); }, function(_K_){ - /*<>*/ return buffered_out_flush + /*<>*/ return buffered_out_flush (_J_, err_buf_key, _K_); }, function(_J_){ /*<>*/ return 0;}, function(_J_){return 0;}, function(_J_){return 0;}); - /*<>*/ ppf[19] = + /*<>*/ ppf[20] = function(_J_){ - /*<>*/ return display_newline(ppf, _J_); + /*<>*/ return display_newline(ppf, _J_); }; - /*<>*/ ppf[20] = + /*<>*/ ppf[21] = function(_J_){ - /*<>*/ return display_blanks(ppf, _J_); + /*<>*/ return display_blanks(ppf, _J_); }; - /*<>*/ ppf[21] = + /*<>*/ ppf[22] = function(_J_){ - /*<>*/ return display_blanks(ppf, _J_); + /*<>*/ return display_blanks(ppf, _J_); }; - /*<>*/ Stdlib_Domain[6].call + /*<>*/ Stdlib_Domain[6].call (null, function(_J_){ - /*<>*/ return pp_print_flush(ppf, _J_); + /*<>*/ return pp_print_flush(ppf, _J_); }); - /*<>*/ return ppf; - /*<>*/ }); - /*<>*/ caml_call2 + /*<>*/ return ppf; + /*<>*/ }); + /*<>*/ caml_call2 (Stdlib_Domain[11][3], err_formatter_key, err_formatter); function get_std_formatter(param){ - /*<>*/ return caml_call1 - (Stdlib_Domain[11][2], std_formatter_key) /*<>*/ ; + /*<>*/ return caml_call1 + (Stdlib_Domain[11][2], std_formatter_key) /*<>*/ ; } function get_err_formatter(param){ - /*<>*/ return caml_call1 - (Stdlib_Domain[11][2], err_formatter_key) /*<>*/ ; + /*<>*/ return caml_call1 + (Stdlib_Domain[11][2], err_formatter_key) /*<>*/ ; } function get_str_formatter(param){ - /*<>*/ return caml_call1 - (Stdlib_Domain[11][2], str_formatter_key) /*<>*/ ; + /*<>*/ return caml_call1 + (Stdlib_Domain[11][2], str_formatter_key) /*<>*/ ; } function get_stdbuf(param){ - /*<>*/ return caml_call1 - (Stdlib_Domain[11][2], stdbuf_key) /*<>*/ ; + /*<>*/ return caml_call1 + (Stdlib_Domain[11][2], stdbuf_key) /*<>*/ ; } function flush_buffer_formatter(buf, ppf){ - /*<>*/ pp_flush_queue(ppf, 0); - var s = /*<>*/ Stdlib_Buffer[2].call(null, buf); - /*<>*/ Stdlib_Buffer[9].call(null, buf); - /*<>*/ return s; - /*<>*/ } + /*<>*/ pp_flush_queue(ppf, 0); + var s = /*<>*/ Stdlib_Buffer[2].call(null, buf); + /*<>*/ Stdlib_Buffer[9].call(null, buf); + /*<>*/ return s; + /*<>*/ } function flush_str_formatter(param){ var stdbuf = - /*<>*/ caml_call1(Stdlib_Domain[11][2], stdbuf_key), + /*<>*/ caml_call1(Stdlib_Domain[11][2], stdbuf_key), str_formatter = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], str_formatter_key); - /*<>*/ return flush_buffer_formatter - (stdbuf, str_formatter) /*<>*/ ; + /*<>*/ return flush_buffer_formatter + (stdbuf, str_formatter) /*<>*/ ; } function make_synchronized_formatter(output, flush){ - /*<>*/ return caml_call2 + /*<>*/ return caml_call2 (Stdlib_Domain[11][1], 0, function(param){ var buf = - /*<>*/ Stdlib_Buffer[1].call + /*<>*/ Stdlib_Buffer[1].call (null, pp_buffer_size), - _G_ = /*<>*/ Stdlib_Buffer[18]; + _G_ = /*<>*/ Stdlib_Buffer[18]; function output$0(_H_, _I_, _J_){ - /*<>*/ return _G_(buf, _H_, _I_, _J_); + /*<>*/ return _G_(buf, _H_, _I_, _J_); } function flush$0(param){ var _G_ = - /*<>*/ Stdlib_Buffer[7].call(null, buf); - /*<>*/ /*<>*/ caml_call3 + /*<>*/ Stdlib_Buffer[7].call(null, buf); + /*<>*/ /*<>*/ caml_call3 (output, - /*<>*/ Stdlib_Buffer[2].call(null, buf), + /*<>*/ Stdlib_Buffer[2].call(null, buf), 0, _G_); - /*<>*/ Stdlib_Buffer[8].call(null, buf); - /*<>*/ return caml_call1(flush, 0) /*<>*/ ; + /*<>*/ Stdlib_Buffer[8].call(null, buf); + /*<>*/ return caml_call1(flush, 0) /*<>*/ ; } - /*<>*/ return make_formatter - (output$0, flush$0) /*<>*/ ; - }) /*<>*/ ; + /*<>*/ return make_formatter + (output$0, flush$0) /*<>*/ ; + }) /*<>*/ ; } function synchronized_formatter_of_out_(oc){ - var _D_ = /*<>*/ Stdlib[69]; - /*<>*/ return make_synchronized_formatter + var _D_ = /*<>*/ Stdlib[69]; + /*<>*/ return make_synchronized_formatter (function(_E_, _F_, _G_){ - /*<>*/ return _D_(oc, _E_, _F_, _G_); + /*<>*/ return _D_(oc, _E_, _F_, _G_); }, function(param){ - /*<>*/ return Stdlib[63].call(null, oc) /*<>*/ ; - }) /*<>*/ ; + /*<>*/ return Stdlib[63].call(null, oc) /*<>*/ ; + }) /*<>*/ ; } - function make_symbolic_output_buffer(param){ /*<>*/ return [0, 0]; - /*<>*/ } + function make_symbolic_output_buffer(param){ /*<>*/ return [0, 0]; + /*<>*/ } function clear_symbolic_output_buffer(sob){ - /*<>*/ sob[1] = 0; + /*<>*/ sob[1] = 0; return 0; - /*<>*/ } + /*<>*/ } function get_symbolic_output_buffer(sob){ - /*<>*/ return Stdlib_List[10].call(null, sob[1]) /*<>*/ ; + /*<>*/ return Stdlib_List[11].call(null, sob[1]) /*<>*/ ; } function flush_symbolic_output_buffer(sob){ - var items = /*<>*/ get_symbolic_output_buffer(sob); - /*<>*/ clear_symbolic_output_buffer(sob); - /*<>*/ return items; - /*<>*/ } + var items = /*<>*/ get_symbolic_output_buffer(sob); + /*<>*/ clear_symbolic_output_buffer(sob); + /*<>*/ return items; + /*<>*/ } function add_symbolic_output_item(sob, item){ - /*<>*/ sob[1] = [0, item, sob[1]]; + /*<>*/ sob[1] = [0, item, sob[1]]; return 0; - /*<>*/ } + /*<>*/ } function formatter_of_symbolic_output_b(sob){ function f(s, i, n){ - /*<>*/ return /*<>*/ add_symbolic_output_item + /*<>*/ return /*<>*/ add_symbolic_output_item (sob, [0, - /*<>*/ Stdlib_String[16].call - (null, s, i, n)]) /*<>*/ ; + /*<>*/ Stdlib_String[16].call + (null, s, i, n)]) /*<>*/ ; } function g(param){ - /*<>*/ return add_symbolic_output_item(sob, 0); + /*<>*/ return add_symbolic_output_item(sob, 0); } function h(param){ - /*<>*/ return add_symbolic_output_item(sob, 1); + /*<>*/ return add_symbolic_output_item(sob, 1); } function i(n){ - /*<>*/ return add_symbolic_output_item(sob, [1, n]); + /*<>*/ return add_symbolic_output_item(sob, [1, n]); } function j(n){ - /*<>*/ return add_symbolic_output_item(sob, [2, n]); + /*<>*/ return add_symbolic_output_item(sob, [2, n]); } - /*<>*/ return pp_make_formatter(f, g, h, i, j) /*<>*/ ; + /*<>*/ return pp_make_formatter(f, g, h, i, j) /*<>*/ ; } function open_hbox(v){ - /*<>*/ return /*<>*/ pp_open_hbox - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_hbox + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function open_vbox(v){ - /*<>*/ return /*<>*/ pp_open_vbox - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_vbox + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function open_hvbox(v){ - /*<>*/ return /*<>*/ pp_open_hvbox - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_hvbox + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function open_hovbox(v){ - /*<>*/ return /*<>*/ pp_open_hovbox - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_hovbox + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function open_box(v){ - /*<>*/ return /*<>*/ pp_open_box - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_box + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function close_box(v){ - /*<>*/ return /*<>*/ pp_close_box - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_close_box + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function open_stag(v){ - /*<>*/ return /*<>*/ pp_open_stag - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_stag + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function close_stag(v){ - /*<>*/ return /*<>*/ pp_close_stag - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_close_stag + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_as(isize, w){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return pp_print_as_size(state, isize, w) /*<>*/ ; + /*<>*/ return pp_print_as_size(state, isize, w) /*<>*/ ; } function print_string(v){ - /*<>*/ return /*<>*/ pp_print_string - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_string + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_substring(pos, len, v){ - var - state = - /*<>*/ caml_call1 - (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return pp_print_substring_as - (pos, len, state, len, v) /*<>*/ ; + /*<>*/ return /*<>*/ pp_print_substring + (pos, + len, + /*<>*/ caml_call1 + (Stdlib_Domain[11][2], std_formatter_key), + v) /*<>*/ ; } function print_substring_as(pos, len, as_len, v){ - /*<>*/ return /*<>*/ pp_print_substring_as + /*<>*/ return /*<>*/ pp_print_substring_as (pos, len, - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), as_len, - v) /*<>*/ ; + v) /*<>*/ ; } function print_bytes(v){ - /*<>*/ return /*<>*/ pp_print_bytes - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_bytes + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_int(v){ - /*<>*/ return /*<>*/ pp_print_int - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_int + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_float(v){ - /*<>*/ return /*<>*/ pp_print_float - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_float + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_char(v){ - /*<>*/ return /*<>*/ pp_print_char - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_char + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_bool(v){ - /*<>*/ return /*<>*/ pp_print_bool - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_bool + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_break(v, w){ - /*<>*/ return /*<>*/ pp_print_break - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_break + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), v, - w) /*<>*/ ; + w) /*<>*/ ; } function print_cut(v){ - /*<>*/ return /*<>*/ pp_print_cut - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_cut + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_space(v){ - /*<>*/ return /*<>*/ pp_print_space - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_space + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function force_newline(v){ - /*<>*/ return /*<>*/ pp_force_newline - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_force_newline + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_flush(v){ - /*<>*/ return /*<>*/ pp_print_flush - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_flush + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_newline(v){ - /*<>*/ return /*<>*/ pp_print_newline - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_newline + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_if_newline(v){ - /*<>*/ return /*<>*/ pp_print_if_newline - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_if_newline + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function open_tbox(v){ - /*<>*/ return /*<>*/ pp_open_tbox - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_open_tbox + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function close_tbox(v){ - /*<>*/ return /*<>*/ pp_close_tbox - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_close_tbox + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_tbreak(v, w){ - /*<>*/ return /*<>*/ pp_print_tbreak - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_tbreak + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), v, - w) /*<>*/ ; + w) /*<>*/ ; } function set_tab(v){ - /*<>*/ return /*<>*/ pp_set_tab - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_tab + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function print_tab(v){ - /*<>*/ return /*<>*/ pp_print_tab - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_tab + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_margin(v){ - /*<>*/ return /*<>*/ pp_set_margin - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_margin + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_margin(v){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return state[6]; - /*<>*/ } + /*<>*/ return state[6]; + /*<>*/ } function set_max_indent(v){ - /*<>*/ return /*<>*/ pp_set_max_indent - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_max_indent + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_max_indent(v){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return state[8]; - /*<>*/ } + /*<>*/ return state[8]; + /*<>*/ } function set_geometry(max_indent, margin){ - /*<>*/ return /*<>*/ pp_set_geometry - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_geometry + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), max_indent, - margin) /*<>*/ ; + margin) /*<>*/ ; } function safe_set_geometry(max_indent, margin){ - /*<>*/ return /*<>*/ pp_safe_set_geometry - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_safe_set_geometry + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), max_indent, - margin) /*<>*/ ; + margin) /*<>*/ ; } function get_geometry(v){ - /*<>*/ return /*<>*/ pp_get_geometry - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_get_geometry + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function update_geometry(v){ - /*<>*/ return /*<>*/ pp_update_geometry - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_update_geometry + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_max_boxes(v){ - /*<>*/ return /*<>*/ pp_set_max_boxes - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_max_boxes + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_max_boxes(v){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return state[15]; - /*<>*/ } + /*<>*/ return state[15]; + /*<>*/ } function over_max_boxes(v){ - /*<>*/ return /*<>*/ pp_over_max_boxes - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_over_max_boxes + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_ellipsis_text(v){ - /*<>*/ return /*<>*/ pp_set_ellipsis_text - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_ellipsis_text + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_ellipsis_text(v){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return state[16]; - /*<>*/ } + /*<>*/ return state[16]; + /*<>*/ } function set_formatter_out_channel(v){ - /*<>*/ return /*<>*/ pp_set_formatter_out_channel - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_formatter_out_channel + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_formatter_out_functions(v){ - /*<>*/ return /*<>*/ pp_set_formatter_out_functions - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_formatter_out_functions + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_formatter_out_functions(v){ - /*<>*/ return /*<>*/ pp_get_formatter_out_functions - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_get_formatter_out_functions + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_formatter_output_functions(v, w){ - /*<>*/ return /*<>*/ pp_set_formatter_output_functi - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_formatter_output_functi + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), v, - w) /*<>*/ ; + w) /*<>*/ ; } function get_formatter_output_functions(v){ - /*<>*/ return /*<>*/ pp_get_formatter_output_functi - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_get_formatter_output_functi + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_formatter_stag_functions(v){ - /*<>*/ return /*<>*/ pp_set_formatter_stag_function - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_formatter_stag_function + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_formatter_stag_functions(v){ - /*<>*/ return /*<>*/ pp_get_formatter_stag_function - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_get_formatter_stag_function + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function set_print_tags(v){ - /*<>*/ return /*<>*/ pp_set_print_tags - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_print_tags + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_print_tags(v){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return state[22]; - /*<>*/ } + /*<>*/ return state[23]; + /*<>*/ } function set_mark_tags(v){ - /*<>*/ return /*<>*/ pp_set_mark_tags - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_mark_tags + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function get_mark_tags(v){ var state = - /*<>*/ caml_call1 + /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key); - /*<>*/ return state[23]; - /*<>*/ } + /*<>*/ return state[24]; + /*<>*/ } function set_tags(v){ - /*<>*/ return /*<>*/ pp_set_tags - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_set_tags + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - v) /*<>*/ ; + v) /*<>*/ ; } function pp_print_iter(opt, iter, pp_v, ppf, v){ var - pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut, - is_first = /*<>*/ [0, 1]; + pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut, + is_first = /*<>*/ [0, 1]; function pp_v$0(v){ - /*<>*/ if(is_first[1]) - /*<>*/ is_first[1] = 0; + /*<>*/ if(is_first[1]) + /*<>*/ is_first[1] = 0; else - /*<>*/ caml_call2(pp_sep, ppf, 0); - /*<>*/ return caml_call2(pp_v, ppf, v) /*<>*/ ; + /*<>*/ caml_call2(pp_sep, ppf, 0); + /*<>*/ return caml_call2(pp_v, ppf, v) /*<>*/ ; } - /*<>*/ return caml_call2(iter, pp_v$0, v) /*<>*/ ; + /*<>*/ return caml_call2(iter, pp_v$0, v) /*<>*/ ; } function pp_print_list(opt, pp_v, ppf, v){ - var pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut; - /*<>*/ return pp_print_iter - ([0, pp_sep], Stdlib_List[18], pp_v, ppf, v) /*<>*/ ; + var pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut; + /*<>*/ return pp_print_iter + ([0, pp_sep], Stdlib_List[19], pp_v, ppf, v) /*<>*/ ; } function pp_print_array(opt, pp_v, ppf, v){ - var pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut; - /*<>*/ return pp_print_iter - ([0, pp_sep], Stdlib_Array[12], pp_v, ppf, v) /*<>*/ ; + var pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut; + /*<>*/ return pp_print_iter + ([0, pp_sep], Stdlib_Array[14], pp_v, ppf, v) /*<>*/ ; } function pp_print_seq(opt, pp_v, ppf, seq){ - var pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut; - /*<>*/ return pp_print_iter - ([0, pp_sep], Stdlib_Seq[4], pp_v, ppf, seq) /*<>*/ ; + var pp_sep = /*<>*/ opt ? opt[1] : pp_print_cut; + /*<>*/ return pp_print_iter + ([0, pp_sep], Stdlib_Seq[4], pp_v, ppf, seq) /*<>*/ ; } - function pp_print_text(state, s){ + function pp_print_text(ppf, s){ var - len = /*<>*/ caml_ml_string_length(s), - left = /*<>*/ [0, 0], - right = /*<>*/ [0, 0]; + len = /*<>*/ caml_ml_string_length(s), + left = /*<>*/ [0, 0], + right = /*<>*/ [0, 0]; function flush(param){ - var - len = /*<>*/ right[1] - left[1] | 0, - pos = left[1]; - /*<>*/ pp_print_substring_as(pos, len, state, len, s); - /*<>*/ right[1]++; - /*<>*/ left[1] = right[1]; + /*<>*/ pp_print_substring + (left[1], right[1] - left[1] | 0, ppf, s); + /*<>*/ right[1]++; + /*<>*/ left[1] = right[1]; return 0; - /*<>*/ } - /*<>*/ for(;;){ + /*<>*/ } + /*<>*/ for(;;){ if(right[1] === len){ - var _D_ = /*<>*/ left[1] !== len ? 1 : 0; - return _D_ ? /*<>*/ flush(0) : _D_ /*<>*/ ; + var _D_ = /*<>*/ left[1] !== len ? 1 : 0; + return _D_ ? /*<>*/ flush(0) : _D_ /*<>*/ ; } - var - match = /*<>*/ runtime.caml_string_get(s, right[1]); - /*<>*/ if(10 === match){ - /*<>*/ flush(0); - /*<>*/ pp_force_newline(state, 0); + var match = /*<>*/ caml_string_get(s, right[1]); + /*<>*/ if(10 === match){ + /*<>*/ flush(0); + /*<>*/ pp_force_newline(ppf, 0); } else if(32 === match){ - /*<>*/ flush(0); - /*<>*/ pp_print_space(state, 0); + /*<>*/ flush(0); + /*<>*/ pp_print_space(ppf, 0); } else - /*<>*/ right[1]++; + /*<>*/ right[1]++; } - /*<>*/ } + /*<>*/ } + function format_text(fmt6){ + var fmt = /*<>*/ fmt6[1]; + function skip_and_count_whites(spaces$1, newlines$1, len, s, pos$2){ + var + spaces = /*<>*/ spaces$1, + newlines = newlines$1, + pos = pos$2; + for(;;){ + if(len <= pos) + /*<>*/ return [0, pos, spaces, newlines]; + var match = /*<>*/ caml_string_get(s, pos); + /*<>*/ if(10 === match){ + var + pos$0 = /*<>*/ 1 + pos | 0, + newlines$0 = 1 + newlines | 0; + newlines = newlines$0; + pos = pos$0; + } + else{ + /*<>*/ if(32 !== match) + /*<>*/ return [0, pos, spaces, newlines]; + var + pos$1 = /*<>*/ 1 + pos | 0, + spaces$0 = 1 + spaces | 0; + spaces = spaces$0; + pos = pos$1; + } + } + /*<>*/ } + function concat(s, fmt){ + var variant = /*<>*/ s[1]; + if(748194550 <= variant){ + var c = s[2]; + if(10 !== c && 32 !== c) /*<>*/ return [12, c, fmt]; + /*<>*/ return [17, [0, cst$15, 1, 0], fmt]; + } + var + s$0 = /*<>*/ s[2], + pos$1 = /*<>*/ 0, + len = caml_ml_string_length(s$0); + /*<>*/ if(len <= 0) + /*<>*/ return fmt; + var + space = + /*<>*/ Stdlib_String[33].call + (null, s$0, pos$1, 32), + newline = + /*<>*/ Stdlib_String[33].call + (null, s$0, pos$1, 10); + /*<>*/ if(space) + if(newline) + var + y = newline[1], + x = space[1], + first = + /*<>*/ [0, + /*<>*/ Stdlib[16].call(null, x, y)]; + else + var first = /*<>*/ space; + else + var first = newline; + /*<>*/ if(! first) + /*<>*/ return [11, + Stdlib_String[16].call(null, s$0, pos$1, len - 0 | 0), + fmt] /*<>*/ ; + var + sep = /*<>*/ first[1], + before = + /*<>*/ Stdlib_String[16].call + (null, s$0, pos$1, sep - 0 | 0), + match = + /*<>*/ skip_and_count_whites(0, 0, len, s$0, sep), + newlines = /*<>*/ match[3], + spaces = match[2], + pos = match[1]; + /*<>*/ if(1 < newlines >>> 0) + var break$ = /*<>*/ 3, repeat = newlines; + else + var + break$0 = + /*<>*/ [0, + cst$16, + Stdlib[17].call(null, spaces, 1), + 0], + break$ = /*<>*/ break$0, + repeat = 1; + var + block = [11, before, 24029], + pos$2 = /*<>*/ pos, + break$3 = break$, + repeat$3 = repeat, + offset$0 = 1, + dst$2 = block; + for(;;){ + var + dst$0 = /*<>*/ dst$2, + offset = offset$0, + repeat$1 = repeat$3; + for(;;){ + if(0 === repeat$1) break; + var dst$1 = /*<>*/ [17, break$3, 24029]; + dst$0[offset + 1] = dst$1; + var repeat$2 = repeat$1 - 1 | 0; + dst$0 = dst$1; + offset = 1; + repeat$1 = repeat$2; + } + /*<>*/ if(len <= pos$2) + /*<>*/ dst$0[offset + 1] = fmt; + else{ + var + space$0 = + /*<>*/ Stdlib_String[33].call + (null, s$0, pos$2, 32), + newline$0 = + /*<>*/ Stdlib_String[33].call + (null, s$0, pos$2, 10); + /*<>*/ if(space$0) + if(newline$0) + var + y$0 = newline$0[1], + x$0 = space$0[1], + first$0 = + /*<>*/ [0, + /*<>*/ Stdlib[16].call(null, x$0, y$0)]; + else + var first$0 = /*<>*/ space$0; + else + var first$0 = newline$0; + /*<>*/ if(first$0){ + var + sep$0 = first$0[1], + before$0 = + /*<>*/ Stdlib_String[16].call + (null, s$0, pos$2, sep$0 - pos$2 | 0), + match$0 = + /*<>*/ skip_and_count_whites + (0, 0, len, s$0, sep$0), + newlines$0 = /*<>*/ match$0[3], + spaces$0 = match$0[2], + pos$0 = match$0[1]; + /*<>*/ if(1 < newlines$0 >>> 0) + var break$1 = /*<>*/ 3, repeat$0 = newlines$0; + else + var + break$2 = + /*<>*/ [0, + cst$17, + Stdlib[17].call(null, spaces$0, 1), + 0], + break$1 = /*<>*/ break$2, + repeat$0 = 1; + var dst = [11, before$0, 24029]; + dst$0[offset + 1] = dst; + pos$2 = pos$0; + break$3 = break$1; + repeat$3 = repeat$0; + offset$0 = 1; + dst$2 = dst; + continue; + } + /*<>*/ dst$0[offset + 1] = + [11, Stdlib_String[16].call(null, s$0, pos$2, len - pos$2 | 0), fmt]; + } + /*<>*/ return block; + } + /*<>*/ } + var + fmt$0 = + /*<>*/ CamlinternalFormatBasics[4].call + (null, [0, concat], fmt); + /*<>*/ return [0, + fmt$0, + CamlinternalFormat[19].call(null, fmt$0)] /*<>*/ ; + /*<>*/ } function pp_print_option(opt, pp_v, ppf, param){ var none = - /*<>*/ opt + /*<>*/ opt ? opt[1] : function (_D_, param){ - /*<>*/ return 0; - /*<>*/ }; - /*<>*/ if(! param) - /*<>*/ return caml_call2(none, ppf, 0) /*<>*/ ; - var v = /*<>*/ param[1]; - /*<>*/ return caml_call2(pp_v, ppf, v) /*<>*/ ; + /*<>*/ return 0; + /*<>*/ }; + /*<>*/ if(! param) + /*<>*/ return caml_call2(none, ppf, 0) /*<>*/ ; + var v = /*<>*/ param[1]; + /*<>*/ return caml_call2(pp_v, ppf, v) /*<>*/ ; } function pp_print_result(ok, error, ppf, param){ - /*<>*/ if(0 === param[0]){ + /*<>*/ if(0 === param[0]){ var v = param[1]; - /*<>*/ return caml_call2(ok, ppf, v) /*<>*/ ; + /*<>*/ return caml_call2(ok, ppf, v) /*<>*/ ; } - var e = /*<>*/ param[1]; - /*<>*/ return caml_call2(error, ppf, e) /*<>*/ ; + var e = /*<>*/ param[1]; + /*<>*/ return caml_call2(error, ppf, e) /*<>*/ ; } function pp_print_either(left, right, ppf, param){ - /*<>*/ if(0 === param[0]){ + /*<>*/ if(0 === param[0]){ var l = param[1]; - /*<>*/ return caml_call2(left, ppf, l) /*<>*/ ; + /*<>*/ return caml_call2(left, ppf, l) /*<>*/ ; } - var r = /*<>*/ param[1]; - /*<>*/ return caml_call2(right, ppf, r) /*<>*/ ; + var r = /*<>*/ param[1]; + /*<>*/ return caml_call2(right, ppf, r) /*<>*/ ; } function compute_tag(output, tag_acc){ var - buf = /*<>*/ Stdlib_Buffer[1].call(null, 16), - ppf = /*<>*/ formatter_of_buffer(buf); - /*<>*/ caml_call2(output, ppf, tag_acc); - /*<>*/ pp_print_flush(ppf, 0); - var len = /*<>*/ Stdlib_Buffer[7].call(null, buf); - /*<>*/ return 2 <= len - ? /*<>*/ Stdlib_Buffer + buf = /*<>*/ Stdlib_Buffer[1].call(null, 16), + ppf = /*<>*/ formatter_of_buffer(buf); + /*<>*/ caml_call2(output, ppf, tag_acc); + /*<>*/ pp_print_flush(ppf, 0); + var len = /*<>*/ Stdlib_Buffer[7].call(null, buf); + /*<>*/ return 2 <= len + ? /*<>*/ Stdlib_Buffer [4].call (null, buf, 1, len - 2 | 0) - : /*<>*/ Stdlib_Buffer[2].call(null, buf) /*<>*/ ; + : /*<>*/ Stdlib_Buffer[2].call(null, buf) /*<>*/ ; } function output_formatting_lit(ppf, fmting_lit){ - /*<>*/ if(typeof fmting_lit === "number") + /*<>*/ if(typeof fmting_lit === "number") switch(fmting_lit){ case 0: - /*<>*/ return pp_close_box(ppf, 0) /*<>*/ ; + /*<>*/ return pp_close_box(ppf, 0) /*<>*/ ; case 1: - /*<>*/ return pp_close_stag(ppf, 0) /*<>*/ ; + /*<>*/ return pp_close_stag(ppf, 0) /*<>*/ ; case 2: - /*<>*/ return pp_print_flush(ppf, 0) /*<>*/ ; + /*<>*/ return pp_print_flush(ppf, 0) /*<>*/ ; case 3: - /*<>*/ return pp_force_newline(ppf, 0) /*<>*/ ; + /*<>*/ return pp_force_newline(ppf, 0) /*<>*/ ; case 4: - /*<>*/ return pp_print_newline(ppf, 0) /*<>*/ ; + /*<>*/ return pp_print_newline(ppf, 0) /*<>*/ ; case 5: - /*<>*/ return pp_print_char(ppf, 64) /*<>*/ ; + /*<>*/ return pp_print_char(ppf, 64) /*<>*/ ; default: - /*<>*/ return pp_print_char(ppf, 37) /*<>*/ ; + /*<>*/ return pp_print_char(ppf, 37) /*<>*/ ; } - /*<>*/ switch(fmting_lit[0]){ + /*<>*/ switch(fmting_lit[0]){ case 0: var offset = fmting_lit[3], width = fmting_lit[2]; - /*<>*/ return pp_print_break(ppf, width, offset) /*<>*/ ; + /*<>*/ return pp_print_break(ppf, width, offset) /*<>*/ ; case 1: - /*<>*/ return 0; + /*<>*/ return 0; default: - var c = /*<>*/ fmting_lit[1]; - /*<>*/ pp_print_char(ppf, 64); - /*<>*/ return pp_print_char(ppf, c) /*<>*/ ; + var c = /*<>*/ fmting_lit[1]; + /*<>*/ pp_print_char(ppf, 64); + /*<>*/ return pp_print_char(ppf, c) /*<>*/ ; } } function output_acc(ppf, acc){ - /*<>*/ if(typeof acc === "number") - /*<>*/ return 0; + /*<>*/ if(typeof acc === "number") + /*<>*/ return 0; a: { b: { c: { - /*<>*/ switch(acc[0]){ + /*<>*/ switch(acc[0]){ case 0: var f = acc[2], p = acc[1]; - /*<>*/ output_acc(ppf, p); - /*<>*/ return output_formatting_lit(ppf, f) /*<>*/ ; + /*<>*/ output_acc(ppf, p); + /*<>*/ return output_formatting_lit(ppf, f) /*<>*/ ; case 1: - var match = /*<>*/ acc[2], p$0 = acc[1]; + var match = /*<>*/ acc[2], p$0 = acc[1]; if(0 === match[0]){ var acc$0 = match[1]; - /*<>*/ output_acc(ppf, p$0); - /*<>*/ return /*<>*/ pp_open_stag + /*<>*/ output_acc(ppf, p$0); + /*<>*/ return /*<>*/ pp_open_stag (ppf, [0, String_tag, - /*<>*/ compute_tag(output_acc, acc$0)]) /*<>*/ ; + /*<>*/ compute_tag(output_acc, acc$0)]) /*<>*/ ; } - var acc$1 = /*<>*/ match[1]; - /*<>*/ output_acc(ppf, p$0); + var acc$1 = /*<>*/ match[1]; + /*<>*/ output_acc(ppf, p$0); var - _D_ = /*<>*/ compute_tag(output_acc, acc$1), + _D_ = /*<>*/ compute_tag(output_acc, acc$1), match$0 = - /*<>*/ CamlinternalFormat[20].call(null, _D_), - bty = /*<>*/ match$0[2], + /*<>*/ CamlinternalFormat[20].call(null, _D_), + bty = /*<>*/ match$0[2], indent = match$0[1]; - /*<>*/ return pp_open_box_gen(ppf, indent, bty) /*<>*/ ; + /*<>*/ return pp_open_box_gen(ppf, indent, bty) /*<>*/ ; case 2: - var _v_ = /*<>*/ acc[1]; + var _v_ = /*<>*/ acc[1]; if(typeof _v_ !== "number" && 0 === _v_[0]){ var _z_ = _v_[2]; if(typeof _z_ !== "number" && 1 === _z_[0]){ @@ -27848,68 +29564,68 @@ break; case 6: var f$0 = acc[2], p$5 = acc[1]; - /*<>*/ output_acc(ppf, p$5); - /*<>*/ return caml_call1(f$0, ppf) /*<>*/ ; + /*<>*/ output_acc(ppf, p$5); + /*<>*/ return caml_call1(f$0, ppf) /*<>*/ ; case 7: - var p$6 = /*<>*/ acc[1]; - /*<>*/ output_acc(ppf, p$6); - /*<>*/ return pp_print_flush(ppf, 0) /*<>*/ ; + var p$6 = /*<>*/ acc[1]; + /*<>*/ output_acc(ppf, p$6); + /*<>*/ return pp_print_flush(ppf, 0) /*<>*/ ; default: - var msg = /*<>*/ acc[2], p$7 = acc[1]; - /*<>*/ output_acc(ppf, p$7); - /*<>*/ return Stdlib[1].call(null, msg) /*<>*/ ; + var msg = /*<>*/ acc[2], p$7 = acc[1]; + /*<>*/ output_acc(ppf, p$7); + /*<>*/ return Stdlib[1].call(null, msg) /*<>*/ ; } - /*<>*/ output_acc(ppf, p$3); - /*<>*/ return pp_print_char(ppf, c) /*<>*/ ; + /*<>*/ output_acc(ppf, p$3); + /*<>*/ return pp_print_char(ppf, c) /*<>*/ ; } - /*<>*/ output_acc(ppf, p$4); - /*<>*/ return /*<>*/ pp_print_as_size + /*<>*/ output_acc(ppf, p$4); + /*<>*/ return /*<>*/ pp_print_as_size (ppf, size$0, - /*<>*/ Stdlib_String[1].call(null, 1, c$0)) /*<>*/ ; + /*<>*/ Stdlib_String[1].call(null, 1, c$0)) /*<>*/ ; } - /*<>*/ output_acc(ppf, p$1); - /*<>*/ return pp_print_string(ppf, s) /*<>*/ ; + /*<>*/ output_acc(ppf, p$1); + /*<>*/ return pp_print_string(ppf, s) /*<>*/ ; } - /*<>*/ output_acc(ppf, p$2); - /*<>*/ return pp_print_as_size(ppf, size, s$0) /*<>*/ ; + /*<>*/ output_acc(ppf, p$2); + /*<>*/ return pp_print_as_size(ppf, size, s$0) /*<>*/ ; } function strput_acc(ppf, acc){ - /*<>*/ if(typeof acc === "number") - /*<>*/ return 0; + /*<>*/ if(typeof acc === "number") + /*<>*/ return 0; a: { b: { c: { - /*<>*/ switch(acc[0]){ + /*<>*/ switch(acc[0]){ case 0: var f = acc[2], p = acc[1]; - /*<>*/ strput_acc(ppf, p); - /*<>*/ return output_formatting_lit(ppf, f) /*<>*/ ; + /*<>*/ strput_acc(ppf, p); + /*<>*/ return output_formatting_lit(ppf, f) /*<>*/ ; case 1: - var match = /*<>*/ acc[2], p$0 = acc[1]; + var match = /*<>*/ acc[2], p$0 = acc[1]; if(0 === match[0]){ var acc$0 = match[1]; - /*<>*/ strput_acc(ppf, p$0); - /*<>*/ return /*<>*/ pp_open_stag + /*<>*/ strput_acc(ppf, p$0); + /*<>*/ return /*<>*/ pp_open_stag (ppf, [0, String_tag, - /*<>*/ compute_tag(strput_acc, acc$0)]) /*<>*/ ; + /*<>*/ compute_tag(strput_acc, acc$0)]) /*<>*/ ; } - var acc$1 = /*<>*/ match[1]; - /*<>*/ strput_acc(ppf, p$0); + var acc$1 = /*<>*/ match[1]; + /*<>*/ strput_acc(ppf, p$0); var - _v_ = /*<>*/ compute_tag(strput_acc, acc$1), + _v_ = /*<>*/ compute_tag(strput_acc, acc$1), match$0 = - /*<>*/ CamlinternalFormat[20].call(null, _v_), - bty = /*<>*/ match$0[2], + /*<>*/ CamlinternalFormat[20].call(null, _v_), + bty = /*<>*/ match$0[2], indent = match$0[1]; - /*<>*/ return pp_open_box_gen(ppf, indent, bty) /*<>*/ ; + /*<>*/ return pp_open_box_gen(ppf, indent, bty) /*<>*/ ; case 2: - var _n_ = /*<>*/ acc[1]; + var _n_ = /*<>*/ acc[1]; if(typeof _n_ !== "number" && 0 === _n_[0]){ var _r_ = _n_[2]; if(typeof _r_ !== "number" && 1 === _r_[0]){ @@ -27958,201 +29674,203 @@ var match$1 = p$5[2]; if(typeof match$1 !== "number" && 1 === match$1[0]){ var f$1 = acc[2], size$1 = match$1[2], p$6 = p$5[1]; - /*<>*/ strput_acc(ppf, p$6); - /*<>*/ return /*<>*/ pp_print_as_size - (ppf, size$1, /*<>*/ caml_call1(f$1, 0)) /*<>*/ ; + /*<>*/ strput_acc(ppf, p$6); + /*<>*/ return /*<>*/ pp_print_as_size + (ppf, size$1, /*<>*/ caml_call1(f$1, 0)) /*<>*/ ; } } - var f$0 = /*<>*/ acc[2]; - /*<>*/ strput_acc(ppf, p$5); - /*<>*/ return /*<>*/ pp_print_string - (ppf, /*<>*/ caml_call1(f$0, 0)) /*<>*/ ; + var f$0 = /*<>*/ acc[2]; + /*<>*/ strput_acc(ppf, p$5); + /*<>*/ return /*<>*/ pp_print_string + (ppf, /*<>*/ caml_call1(f$0, 0)) /*<>*/ ; case 7: - var p$7 = /*<>*/ acc[1]; - /*<>*/ strput_acc(ppf, p$7); - /*<>*/ return pp_print_flush(ppf, 0) /*<>*/ ; + var p$7 = /*<>*/ acc[1]; + /*<>*/ strput_acc(ppf, p$7); + /*<>*/ return pp_print_flush(ppf, 0) /*<>*/ ; default: - var msg = /*<>*/ acc[2], p$8 = acc[1]; - /*<>*/ strput_acc(ppf, p$8); - /*<>*/ return Stdlib[1].call(null, msg) /*<>*/ ; + var msg = /*<>*/ acc[2], p$8 = acc[1]; + /*<>*/ strput_acc(ppf, p$8); + /*<>*/ return Stdlib[1].call(null, msg) /*<>*/ ; } - /*<>*/ strput_acc(ppf, p$3); - /*<>*/ return pp_print_char(ppf, c) /*<>*/ ; + /*<>*/ strput_acc(ppf, p$3); + /*<>*/ return pp_print_char(ppf, c) /*<>*/ ; } - /*<>*/ strput_acc(ppf, p$4); - /*<>*/ return /*<>*/ pp_print_as_size + /*<>*/ strput_acc(ppf, p$4); + /*<>*/ return /*<>*/ pp_print_as_size (ppf, size$0, - /*<>*/ Stdlib_String[1].call(null, 1, c$0)) /*<>*/ ; + /*<>*/ Stdlib_String[1].call(null, 1, c$0)) /*<>*/ ; } - /*<>*/ strput_acc(ppf, p$1); - /*<>*/ return pp_print_string(ppf, s) /*<>*/ ; + /*<>*/ strput_acc(ppf, p$1); + /*<>*/ return pp_print_string(ppf, s) /*<>*/ ; } - /*<>*/ strput_acc(ppf, p$2); - /*<>*/ return pp_print_as_size(ppf, size, s$0) /*<>*/ ; + /*<>*/ strput_acc(ppf, p$2); + /*<>*/ return pp_print_as_size(ppf, size, s$0) /*<>*/ ; } function kfprintf(k, ppf, param){ - var fmt = /*<>*/ param[1]; - /*<>*/ return CamlinternalFormat[7].call + var fmt = /*<>*/ param[1]; + /*<>*/ return CamlinternalFormat[7].call (null, function(acc){ - /*<>*/ output_acc(ppf, acc); - /*<>*/ return caml_call1(k, ppf) /*<>*/ ; + /*<>*/ output_acc(ppf, acc); + /*<>*/ return caml_call1(k, ppf) /*<>*/ ; }, 0, - fmt) /*<>*/ ; + fmt) /*<>*/ ; } function ikfprintf(k, ppf, param){ - var fmt = /*<>*/ param[1]; - /*<>*/ return CamlinternalFormat[8].call - (null, k, ppf, fmt) /*<>*/ ; + var fmt = /*<>*/ param[1]; + /*<>*/ return CamlinternalFormat[8].call + (null, k, ppf, fmt) /*<>*/ ; } function ifprintf(ppf, param){ - var fmt = /*<>*/ param[1]; - /*<>*/ return CamlinternalFormat[8].call - (null, function(_n_){ /*<>*/ return 0;}, 0, fmt) /*<>*/ ; + var fmt = /*<>*/ param[1]; + /*<>*/ return CamlinternalFormat[8].call + (null, function(_n_){ /*<>*/ return 0;}, 0, fmt) /*<>*/ ; } function fprintf(ppf){ function _m_(_n_){ /*<>*/ return 0;} - /*<>*/ return function(_n_){ - /*<>*/ return kfprintf(_m_, ppf, _n_);} /*<>*/ ; - /*<>*/ } + /*<>*/ return function(_n_){ + /*<>*/ return kfprintf(_m_, ppf, _n_);} /*<>*/ ; + /*<>*/ } function printf(param){ - var fmt = /*<>*/ param[1]; - /*<>*/ return CamlinternalFormat[7].call + var fmt = /*<>*/ param[1]; + /*<>*/ return CamlinternalFormat[7].call (null, function(acc){ - /*<>*/ return /*<>*/ output_acc - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ output_acc + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), - acc) /*<>*/ ; + acc) /*<>*/ ; }, 0, - fmt) /*<>*/ ; + fmt) /*<>*/ ; } function eprintf(param){ - var fmt = /*<>*/ param[1]; - /*<>*/ return CamlinternalFormat[7].call + var fmt = /*<>*/ param[1]; + /*<>*/ return CamlinternalFormat[7].call (null, function(acc){ - /*<>*/ return /*<>*/ output_acc - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ output_acc + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], err_formatter_key), - acc) /*<>*/ ; + acc) /*<>*/ ; }, 0, - fmt) /*<>*/ ; + fmt) /*<>*/ ; } function kdprintf(k, param){ - var fmt = /*<>*/ param[1]; - /*<>*/ return CamlinternalFormat[7].call + var fmt = /*<>*/ param[1]; + /*<>*/ return CamlinternalFormat[7].call (null, function(acc){ - /*<>*/ return caml_call1 + /*<>*/ return caml_call1 (k, function(ppf){ - /*<>*/ return output_acc(ppf, acc) /*<>*/ ; - }) /*<>*/ ; + /*<>*/ return output_acc(ppf, acc) /*<>*/ ; + }) /*<>*/ ; }, 0, - fmt) /*<>*/ ; + fmt) /*<>*/ ; } function dprintf(fmt){ - /*<>*/ return kdprintf + /*<>*/ return kdprintf (function(i){ - /*<>*/ return i; - /*<>*/ }, - fmt) /*<>*/ ; + /*<>*/ return i; + /*<>*/ }, + fmt) /*<>*/ ; } function ksprintf(k, param){ var - fmt = /*<>*/ param[1], - b = /*<>*/ pp_make_buffer(0), - ppf = /*<>*/ formatter_of_buffer(b); + fmt = /*<>*/ param[1], + b = /*<>*/ pp_make_buffer(0), + ppf = /*<>*/ formatter_of_buffer(b); function k$0(acc){ - /*<>*/ strput_acc(ppf, acc); - /*<>*/ return /*<>*/ caml_call1 - (k, /*<>*/ flush_buffer_formatter(b, ppf)) /*<>*/ ; + /*<>*/ strput_acc(ppf, acc); + /*<>*/ return /*<>*/ caml_call1 + (k, /*<>*/ flush_buffer_formatter(b, ppf)) /*<>*/ ; } - /*<>*/ return CamlinternalFormat[7].call - (null, k$0, 0, fmt) /*<>*/ ; + /*<>*/ return CamlinternalFormat[7].call + (null, k$0, 0, fmt) /*<>*/ ; } function sprintf(fmt){ - /*<>*/ return ksprintf(id, fmt) /*<>*/ ; + /*<>*/ return ksprintf(id, fmt) /*<>*/ ; } function kasprintf(k, param){ var - fmt = /*<>*/ param[1], - b = /*<>*/ pp_make_buffer(0), - ppf = /*<>*/ formatter_of_buffer(b); + fmt = /*<>*/ param[1], + b = /*<>*/ pp_make_buffer(0), + ppf = /*<>*/ formatter_of_buffer(b); function k$0(acc){ - /*<>*/ output_acc(ppf, acc); - /*<>*/ return /*<>*/ caml_call1 - (k, /*<>*/ flush_buffer_formatter(b, ppf)) /*<>*/ ; + /*<>*/ output_acc(ppf, acc); + /*<>*/ return /*<>*/ caml_call1 + (k, /*<>*/ flush_buffer_formatter(b, ppf)) /*<>*/ ; } - /*<>*/ return CamlinternalFormat[7].call - (null, k$0, 0, fmt) /*<>*/ ; + /*<>*/ return CamlinternalFormat[7].call + (null, k$0, 0, fmt) /*<>*/ ; } function asprintf(fmt){ - /*<>*/ return kasprintf(id, fmt) /*<>*/ ; + /*<>*/ return kasprintf(id, fmt) /*<>*/ ; } function flush_standard_formatters(param){ - /*<>*/ /*<>*/ pp_print_flush - ( /*<>*/ caml_call1 + /*<>*/ /*<>*/ pp_print_flush + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], std_formatter_key), 0); - /*<>*/ return /*<>*/ pp_print_flush - ( /*<>*/ caml_call1 + /*<>*/ return /*<>*/ pp_print_flush + ( /*<>*/ caml_call1 (Stdlib_Domain[11][2], err_formatter_key), - 0) /*<>*/ ; + 0) /*<>*/ ; } - /*<>*/ Stdlib[100].call(null, flush_standard_formatters); - /*<>*/ Stdlib_Domain[5].call + /*<>*/ Stdlib[100].call(null, flush_standard_formatters); + /*<>*/ Stdlib_Domain[5].call (null, function(param){ - /*<>*/ flush_standard_formatters(0); + /*<>*/ flush_standard_formatters(0); var fs = - /*<>*/ pp_get_formatter_out_functions + /*<>*/ pp_get_formatter_out_functions (std_formatter, 0), - _g_ = /*<>*/ Stdlib[39]; - /*<>*/ pp_set_formatter_out_functions + _g_ = /*<>*/ Stdlib[39]; + /*<>*/ pp_set_formatter_out_functions (std_formatter, [0, function(_k_, _l_, _m_){ - /*<>*/ return buffered_out_string + /*<>*/ return buffered_out_string (std_buf_key, _k_, _l_, _m_); }, + fs[2], function(_k_){ - /*<>*/ return buffered_out_flush + /*<>*/ return buffered_out_flush (_g_, std_buf_key, _k_); }, - fs[3], fs[4], - fs[5]]); + fs[5], + fs[6]]); var fs$0 = - /*<>*/ pp_get_formatter_out_functions + /*<>*/ pp_get_formatter_out_functions (err_formatter, 0), - _h_ = /*<>*/ Stdlib[40]; - /*<>*/ return pp_set_formatter_out_functions + _h_ = /*<>*/ Stdlib[40]; + /*<>*/ return pp_set_formatter_out_functions (err_formatter, [0, function(_i_, _j_, _k_){ - /*<>*/ return buffered_out_string + /*<>*/ return buffered_out_string (err_buf_key, _i_, _j_, _k_); }, + fs$0[2], function(_i_){ - /*<>*/ return buffered_out_flush + /*<>*/ return buffered_out_flush (_h_, err_buf_key, _i_); }, - fs$0[3], fs$0[4], - fs$0[5]]) /*<>*/ ; + fs$0[5], + fs$0[6]]) /*<>*/ ; }); var Stdlib_Format = - /*<>*/ [0, + /*<>*/ [0, pp_open_box, open_box, pp_close_box, @@ -28262,6 +29980,8 @@ set_formatter_out_functions, pp_get_formatter_out_functions, get_formatter_out_functions, + utf_8_scalar_width, + ascii_width, pp_set_formatter_stag_function, set_formatter_stag_functions, pp_get_formatter_stag_function, @@ -28292,6 +30012,7 @@ pp_print_array, pp_print_seq, pp_print_text, + format_text, pp_print_option, pp_print_result, pp_print_either, @@ -28307,7 +30028,7 @@ ikfprintf, ksprintf, kasprintf]; - runtime.caml_register_global(38, Stdlib_Format, "Stdlib__Format"); + runtime.caml_register_global(44, Stdlib_Format, "Stdlib__Format"); return; /*<>*/ } (globalThis)); @@ -30504,7 +32225,7 @@ (globalThis)); //# unitInfo: Provides: CamlinternalOO -//# unitInfo: Requires: Stdlib, Stdlib__Array, Stdlib__List, Stdlib__Map, Stdlib__Obj, Stdlib__Sys +//# unitInfo: Requires: Stdlib, Stdlib__Array, Stdlib__Atomic, Stdlib__List, Stdlib__Map, Stdlib__Obj, Stdlib__Sys //# shape: CamlinternalOO:[F(1),F(1),F(2),F(3),F(2),F(2),F(2),F(2),F(2),F(3),F(2),F(4),F(1),F(2),N,F(1),F(1),F(6),F(2),F(3),F(1)*,F(1),F(1),F(2),F(2),F(3),F(2),F(2),N,F(1)*] (function (globalThis){ @@ -30539,6 +32260,7 @@ var global_data = runtime.caml_get_global_data(), Assert_failure = global_data.Assert_failure, + Stdlib_Atomic = global_data.Stdlib__Atomic, Stdlib_Sys = global_data.Stdlib__Sys, Stdlib_Obj = global_data.Stdlib__Obj, Stdlib = global_data.Stdlib, @@ -30552,25 +32274,25 @@ var params = /*<>*/ [0, 1, 1, 1, 3, 16]; function public_method_label(s){ var - _C_ = /*<>*/ 0, - _D_ = + _D_ = /*<>*/ 0, + _E_ = /*<>*/ runtime.caml_ml_string_length(s) - 1 | 0, - _F_ = 0; - if(_D_ < 0) - var accu$1 = _C_; + _G_ = 0; + if(_E_ < 0) + var accu$1 = _D_; else{ - var accu$0 = _C_, i = _F_; + var accu$0 = _D_, i = _G_; for(;;){ var - _E_ = + _F_ = /*<>*/ (223 * accu$0 | 0) + runtime.caml_string_get(s, i) | 0, - _G_ = /*<>*/ i + 1 | 0; - if(_D_ === i){var accu$1 = _E_; break;} - accu$0 = _E_; - i = _G_; + _H_ = /*<>*/ i + 1 | 0; + if(_E_ === i){var accu$1 = _F_; break;} + accu$0 = _F_; + i = _H_; } } var @@ -30589,7 +32311,8 @@ compare$1 = runtime.caml_int_compare, Labs = Stdlib_Map[1].call(null, [0, compare$1]), dummy_table = [0, 0, [0, 0], Meths[1], Labs[1], 0, 0, Vars[1], 0], - table_count = [0, 0], + table_count = + /*<>*/ Stdlib_Atomic[1].call(null, 0), dummy_met = /*<>*/ caml_obj_block(0, 0), initial_object_size = /*<>*/ 2; function fit_size(n){ @@ -30601,38 +32324,38 @@ : n /*<>*/ ; } function new_table(pub_labels){ - /*<>*/ table_count[1]++; + /*<>*/ Stdlib_Atomic[8].call(null, table_count); var - len = /*<>*/ pub_labels.length - 1, + len = /*<>*/ pub_labels.length - 1, methods = /*<>*/ caml_array_make ((len * 2 | 0) + 2 | 0, dummy_met); /*<>*/ caml_check_bound(methods, 0)[1] = len; var - _y_ = /*<>*/ Stdlib_Sys[9], - _z_ = + _z_ = /*<>*/ Stdlib_Sys[10], + _A_ = ( /*<>*/ runtime.caml_mul - ( /*<>*/ fit_size(len), _y_) + ( /*<>*/ fit_size(len), _z_) / 8 | 0) - 1 | 0; - /*<>*/ caml_check_bound(methods, 1)[2] = _z_; - var _w_ = /*<>*/ len - 1 | 0, _A_ = 0; - if(_w_ >= 0){ - var i = _A_; + /*<>*/ caml_check_bound(methods, 1)[2] = _A_; + var _x_ = /*<>*/ len - 1 | 0, _B_ = 0; + if(_x_ >= 0){ + var i = _B_; for(;;){ var - _x_ = /*<>*/ (i * 2 | 0) + 3 | 0, - _B_ = + _y_ = /*<>*/ (i * 2 | 0) + 3 | 0, + _C_ = /*<>*/ caml_check_bound(pub_labels, i) [i + 1]; - /*<>*/ caml_check_bound(methods, _x_) - [_x_ + 1] - = _B_; - var _C_ = /*<>*/ i + 1 | 0; - if(_w_ === i) break; - i = _C_; + /*<>*/ caml_check_bound(methods, _y_) + [_y_ + 1] + = _C_; + var _D_ = /*<>*/ i + 1 | 0; + if(_x_ === i) break; + i = _D_; } } /*<>*/ return [0, @@ -30648,24 +32371,27 @@ function resize(array, new_size){ var old_size = /*<>*/ array[2].length - 1, - _v_ = /*<>*/ old_size < new_size ? 1 : 0; - if(_v_){ + _w_ = /*<>*/ old_size < new_size ? 1 : 0; + if(_w_){ var new_buck = /*<>*/ caml_array_make(new_size, dummy_met); /*<>*/ Stdlib_Array[9].call (null, array[2], 0, new_buck, 0, old_size); /*<>*/ array[2] = new_buck; - var _w_ = 0; + var _x_ = 0; } else - var _w_ = /*<>*/ _v_; - return _w_; + var _x_ = /*<>*/ _w_; + return _x_; /*<>*/ } var - method_count = /*<>*/ [0, 0], - inst_var_count = [0, 0], - _a_ = [0, cst_camlinternalOO_ml, 279, 50], + method_count = + /*<>*/ Stdlib_Atomic[1].call(null, 0), + inst_var_count = + /*<>*/ Stdlib_Atomic[1].call(null, 0), + _a_ = + /*<>*/ [0, cst_camlinternalOO_ml, 279, 50], _b_ = [0, cst_camlinternalOO_ml, 407, 13], _c_ = [0, cst_camlinternalOO_ml, 410, 13], _d_ = [0, cst_camlinternalOO_ml, 413, 13], @@ -30680,9 +32406,9 @@ function get_method_label(table, name){ /*<>*/ try{ var - _v_ = + _w_ = /*<>*/ caml_call2(Meths[17], name, table[3]); - return _v_; + return _w_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); @@ -30696,16 +32422,16 @@ } /*<>*/ } function get_method_labels(table, names){ - /*<>*/ return Stdlib_Array[14].call + /*<>*/ return Stdlib_Array[16].call (null, - function(_v_){ + function(_w_){ /*<>*/ return get_method_label - (table, _v_); + (table, _w_); }, names) /*<>*/ ; } function set_method(table, label, element){ - /*<>*/ method_count[1]++; + /*<>*/ Stdlib_Atomic[8].call(null, method_count); /*<>*/ return caml_call2 (Labs[17], label, table[4]) ? ( /*<>*/ resize @@ -30720,10 +32446,10 @@ function get_method(table, label){ /*<>*/ try{ var - _v_ = - /*<>*/ Stdlib_List[53].call + _w_ = + /*<>*/ Stdlib_List[54].call (null, label, table[6]); - return _v_; + return _w_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); @@ -30747,19 +32473,19 @@ virt_meths$0 = /*<>*/ to_list(virt_meths), concr_meths$0 = /*<>*/ to_list(concr_meths), virt_meth_labs = - /*<>*/ Stdlib_List[20].call + /*<>*/ Stdlib_List[21].call (null, - function(_v_){ + function(_w_){ /*<>*/ return get_method_label - (table, _v_); + (table, _w_); }, virt_meths$0), concr_meth_labs = - /*<>*/ Stdlib_List[20].call + /*<>*/ Stdlib_List[21].call (null, - function(_v_){ + function(_w_){ /*<>*/ return get_method_label - (table, _v_); + (table, _w_); }, concr_meths$0); /*<>*/ table[5] = @@ -30770,7 +32496,7 @@ caml_call3 (Vars[24], function(lab, info, tvars){ - /*<>*/ return Stdlib_List[37].call + /*<>*/ return Stdlib_List[38].call (null, lab, vars$0) ? /*<>*/ caml_call3 (Vars[2], lab, info, tvars) @@ -30781,31 +32507,31 @@ var by_name = /*<>*/ [0, Meths[1]], by_label = /*<>*/ [0, Labs[1]]; - /*<>*/ Stdlib_List[28].call + /*<>*/ Stdlib_List[29].call (null, function(met, label){ /*<>*/ by_name[1] = caml_call3(Meths[2], met, label, by_name[1]); - var _u_ = /*<>*/ by_label[1]; + var _v_ = /*<>*/ by_label[1]; try{ var - _v_ = + _w_ = /*<>*/ caml_call2 (Labs[17], label, table[4]), - _t_ = _v_; + _u_ = _w_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); if(exn !== Stdlib[8]) throw caml_maybe_attach_backtrace(exn, 0); - var _t_ = /*<>*/ 1; + var _u_ = /*<>*/ 1; } /*<>*/ by_label[1] = - caml_call3(Labs[2], label, _t_, _u_); + caml_call3(Labs[2], label, _u_, _v_); /*<>*/ return 0; }, concr_meths$0, concr_meth_labs); - /*<>*/ Stdlib_List[28].call + /*<>*/ Stdlib_List[29].call (null, function(met, label){ /*<>*/ by_name[1] = @@ -30819,11 +32545,11 @@ /*<>*/ table[3] = by_name[1]; /*<>*/ table[4] = by_label[1]; /*<>*/ table[6] = - Stdlib_List[27].call + Stdlib_List[28].call (null, function(met, hm){ var lab = /*<>*/ met[1]; - /*<>*/ return Stdlib_List[37].call + /*<>*/ return Stdlib_List[38].call (null, lab, virt_meth_labs) ? hm : [0, met, hm] /*<>*/ ; @@ -30835,7 +32561,7 @@ function widen(table){ var match = - /*<>*/ Stdlib_List[6].call(null, table[5]), + /*<>*/ Stdlib_List[7].call(null, table[5]), vars = /*<>*/ match[6], virt_meths = match[5], saved_vars = match[4], @@ -30843,27 +32569,27 @@ by_label = match[2], by_name = match[1]; /*<>*/ table[5] = - Stdlib_List[7].call(null, table[5]); + Stdlib_List[8].call(null, table[5]); /*<>*/ table[7] = - Stdlib_List[26].call + Stdlib_List[27].call (null, function(s, v){ var - _t_ = + _u_ = /*<>*/ caml_call2(Vars[17], v, table[7]); /*<>*/ return caml_call3 - (Vars[2], v, _t_, s) /*<>*/ ; + (Vars[2], v, _u_, s) /*<>*/ ; }, saved_vars, vars); /*<>*/ table[3] = by_name; /*<>*/ table[4] = by_label; /*<>*/ table[6] = - Stdlib_List[27].call + Stdlib_List[28].call (null, function(met, hm){ var lab = /*<>*/ met[1]; - /*<>*/ return Stdlib_List[37].call + /*<>*/ return Stdlib_List[38].call (null, lab, virt_meths) ? hm : [0, met, hm] /*<>*/ ; @@ -30875,9 +32601,9 @@ function new_variable(table, name){ /*<>*/ try{ var - _t_ = + _u_ = /*<>*/ caml_call2(Vars[17], name, table[7]); - return _t_; + return _u_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); @@ -30903,37 +32629,37 @@ res = /*<>*/ caml_array_make (nmeths + nvals | 0, 0), - _l_ = /*<>*/ nmeths - 1 | 0, - _o_ = 0; - if(_l_ >= 0){ - var i$0 = _o_; + _m_ = /*<>*/ nmeths - 1 | 0, + _p_ = 0; + if(_m_ >= 0){ + var i$0 = _p_; for(;;){ var - _s_ = + _t_ = /*<>*/ /*<>*/ get_method_label (table, /*<>*/ caml_check_bound(meths$0, i$0) [i$0 + 1]); - /*<>*/ caml_check_bound(res, i$0)[i$0 + 1] = _s_; - var _t_ = /*<>*/ i$0 + 1 | 0; - if(_l_ === i$0) break; - i$0 = _t_; + /*<>*/ caml_check_bound(res, i$0)[i$0 + 1] = _t_; + var _u_ = /*<>*/ i$0 + 1 | 0; + if(_m_ === i$0) break; + i$0 = _u_; } } - var _m_ = /*<>*/ nvals - 1 | 0, _p_ = 0; - if(_m_ >= 0){ - var i = _p_; + var _n_ = /*<>*/ nvals - 1 | 0, _q_ = 0; + if(_n_ >= 0){ + var i = _q_; for(;;){ var - _n_ = /*<>*/ i + nmeths | 0, - _q_ = + _o_ = /*<>*/ i + nmeths | 0, + _r_ = /*<>*/ /*<>*/ new_variable (table, /*<>*/ caml_check_bound(vals, i)[i + 1]); - /*<>*/ caml_check_bound(res, _n_)[_n_ + 1] = _q_; - var _r_ = /*<>*/ i + 1 | 0; - if(_m_ === i) break; - i = _r_; + /*<>*/ caml_check_bound(res, _o_)[_o_ + 1] = _r_; + var _s_ = /*<>*/ i + 1 | 0; + if(_n_ === i) break; + i = _s_; } } /*<>*/ return res; @@ -30941,9 +32667,9 @@ function get_variable(table, name){ /*<>*/ try{ var - _l_ = + _m_ = /*<>*/ caml_call2(Vars[17], name, table[7]); - return _l_; + return _m_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); @@ -30954,11 +32680,11 @@ } /*<>*/ } function get_variables(table, names){ - /*<>*/ return Stdlib_Array[14].call + /*<>*/ return Stdlib_Array[16].call (null, - function(_l_){ + function(_m_){ /*<>*/ return get_variable - (table, _l_); + (table, _m_); }, names) /*<>*/ ; } @@ -30971,10 +32697,10 @@ /*<>*/ return new_table([0]) /*<>*/ ; var tags = - /*<>*/ Stdlib_Array[14].call + /*<>*/ Stdlib_Array[16].call (null, public_method_label, public_methods), table = /*<>*/ new_table(tags); - /*<>*/ Stdlib_Array[13].call + /*<>*/ Stdlib_Array[15].call (null, function(i, met){ var lab = /*<>*/ (i * 2 | 0) + 2 | 0; @@ -30988,11 +32714,11 @@ /*<>*/ return table; /*<>*/ } function init_class(table){ - /*<>*/ inst_var_count[1] = - (inst_var_count[1] + table[1] | 0) - 1 | 0; + /*<>*/ Stdlib_Atomic[7].call + (null, inst_var_count, table[1] - 1 | 0); /*<>*/ table[8] = - Stdlib_List[10].call(null, table[8]); - var _l_ = /*<>*/ Stdlib_Sys[9]; + Stdlib_List[11].call(null, table[8]); + var _m_ = /*<>*/ Stdlib_Sys[10]; return /*<>*/ resize (table, 3 @@ -31003,7 +32729,7 @@ [2] * 16 | 0, - _l_) + _m_) | 0) /*<>*/ ; } function inherits(cla, vals, virt_meths, concr_meths, param, top){ @@ -31017,31 +32743,31 @@ : /*<>*/ caml_call1(super$, cla); /*<>*/ widen(cla); var - _i_ = /*<>*/ to_array(concr_meths), - _j_ = + _j_ = /*<>*/ to_array(concr_meths), + _k_ = /*<>*/ [0, - Stdlib_Array[14].call + Stdlib_Array[16].call (null, function(nm){ /*<>*/ return /*<>*/ get_method (cla, /*<>*/ get_method_label(cla, nm)) /*<>*/ ; }, - _i_), + _j_), 0], - _k_ = /*<>*/ to_array(vals), - _l_ = + _l_ = /*<>*/ to_array(vals), + _m_ = /*<>*/ [0, [0, init], [0, - Stdlib_Array[14].call + Stdlib_Array[16].call (null, - function(_l_){ - /*<>*/ return get_variable(cla, _l_); + function(_m_){ + /*<>*/ return get_variable(cla, _m_); }, - _k_), - _j_]]; - /*<>*/ return Stdlib_Array[5].call(null, _l_) /*<>*/ ; + _l_), + _k_]]; + /*<>*/ return Stdlib_Array[5].call(null, _m_) /*<>*/ ; } function make_class(pub_meths, class_init){ var @@ -31101,8 +32827,8 @@ function run_initializers(obj, table){ var inits = /*<>*/ table[8], - _i_ = /*<>*/ 0 !== inits ? 1 : 0; - return _i_ ? /*<>*/ iter_f(obj, inits) : _i_ /*<>*/ ; + _j_ = /*<>*/ 0 !== inits ? 1 : 0; + return _j_ ? /*<>*/ iter_f(obj, inits) : _j_ /*<>*/ ; } function run_initializers_opt(obj_0, obj, table){ /*<>*/ if(obj_0) @@ -31128,22 +32854,22 @@ function build_path(n, keys, tables){ var res = /*<>*/ [0, 0, 0, 0], - _h_ = /*<>*/ 0; + _i_ = /*<>*/ 0; if(n < 0) var r$0 = res; else{ - var r = res, i = _h_; + var r = res, i = _i_; for(;;){ var - _g_ = + _h_ = /*<>*/ [0, caml_check_bound(keys, i)[i + 1], r, 0], - _i_ = /*<>*/ i + 1 | 0; - if(n === i){var r$0 = _g_; break;} - r = _g_; - i = _i_; + _j_ = /*<>*/ i + 1 | 0; + if(n === i){var r$0 = _h_; break;} + r = _h_; + i = _j_; } } /*<>*/ if(! tables) @@ -31204,7 +32930,7 @@ var n$0 = n; else var - _g_ = /*<>*/ Stdlib_Sys[9], + _h_ = /*<>*/ Stdlib_Sys[10], n$0 = (2 + @@ -31212,7 +32938,7 @@ ( /*<>*/ caml_check_bound(table[2], 1)[2] * 16 | 0, - _g_) + _h_) | 0) < n ? n @@ -31224,9 +32950,9 @@ function method_impl(table, i, arr){ function next(param){ /*<>*/ i[1]++; - var _g_ = /*<>*/ i[1]; - /*<>*/ return caml_check_bound(arr, _g_) - [_g_ + 1] /*<>*/ ; + var _h_ = /*<>*/ i[1]; + /*<>*/ return caml_check_bound(arr, _h_) + [_h_ + 1] /*<>*/ ; } var clo = /*<>*/ next(0); /*<>*/ if(typeof clo === "number") @@ -31376,10 +33102,10 @@ m$1 = /*<>*/ next(0); /*<>*/ return function(obj){ var - _g_ = + _h_ = /*<>*/ caml_call1(obj[1][m$1 + 1], obj); /*<>*/ return caml_call2 - (obj[1][n$15 + 1], obj, _g_);} /*<>*/ ; + (obj[1][n$15 + 1], obj, _h_);} /*<>*/ ; case 20: var m$2 = /*<>*/ next(0), @@ -31394,8 +33120,8 @@ n$16 = /*<>*/ next(0); /*<>*/ new_cache(table); /*<>*/ return function(obj){ - var _g_ = /*<>*/ obj[n$16 + 1]; - return caml_call1(caml_get_public_method(_g_, m$3), _g_) /*<>*/ ;} /*<>*/ ; + var _h_ = /*<>*/ obj[n$16 + 1]; + return caml_call1(caml_get_public_method(_h_, m$3), _h_) /*<>*/ ;} /*<>*/ ; case 22: var m$4 = /*<>*/ next(0), @@ -31403,8 +33129,8 @@ n$17 = /*<>*/ next(0); /*<>*/ new_cache(table); /*<>*/ return function(obj){ - var _g_ = /*<>*/ obj[e$4 + 1][n$17 + 1]; - return caml_call1(caml_get_public_method(_g_, m$4), _g_) /*<>*/ ;} /*<>*/ ; + var _h_ = /*<>*/ obj[e$4 + 1][n$17 + 1]; + return caml_call1(caml_get_public_method(_h_, m$4), _h_) /*<>*/ ;} /*<>*/ ; default: var m$5 = /*<>*/ next(0), @@ -31412,11 +33138,11 @@ /*<>*/ new_cache(table); /*<>*/ return function(obj){ var - _g_ = + _h_ = /*<>*/ caml_call1 (obj[1][n$18 + 1], obj); /*<>*/ return caml_call1 - (caml_get_public_method(_g_, m$5), _g_) /*<>*/ ;} /*<>*/ ; + (caml_get_public_method(_h_, m$5), _h_) /*<>*/ ;} /*<>*/ ; } /*<>*/ return clo; /*<>*/ } @@ -31427,24 +33153,31 @@ /*<>*/ for(;;){ if(i[1] >= len) return 0; var - _g_ = /*<>*/ i[1], + _h_ = /*<>*/ i[1], label = - /*<>*/ caml_check_bound(methods, _g_) - [_g_ + 1], + /*<>*/ caml_check_bound(methods, _h_) + [_h_ + 1], clo = /*<>*/ method_impl(table, i, methods); /*<>*/ set_method(table, label, clo); /*<>*/ i[1]++; } /*<>*/ } function stats(param){ - /*<>*/ return [0, - table_count[1], - method_count[1], - inst_var_count[1]]; - /*<>*/ } + var + _g_ = + /*<>*/ Stdlib_Atomic[3].call + (null, inst_var_count), + _h_ = + /*<>*/ Stdlib_Atomic[3].call + (null, method_count); + /*<>*/ return [0, + Stdlib_Atomic[3].call(null, table_count), + _h_, + _g_] /*<>*/ ; + /*<>*/ } var CamlinternalOO = - /*<>*/ [0, + /*<>*/ [0, public_method_label, new_method, new_variable, @@ -31475,7 +33208,7 @@ lookup_tables, params, stats]; - runtime.caml_register_global(17, CamlinternalOO, "CamlinternalOO"); + runtime.caml_register_global(18, CamlinternalOO, "CamlinternalOO"); return; /*<>*/ } (globalThis)); @@ -31557,9 +33290,11 @@ var init = /*<>*/ fn; break; case 1: - var l = /*<>*/ []; + var + l = + /*<>*/ runtime.caml_alloc_dummy_lazy(0); let l$0 = l, i$0 = i; - runtime.caml_update_dummy + runtime.caml_update_dummy_lazy (l, [246, function(param){ @@ -31674,7 +33409,7 @@ //# unitInfo: Provides: Stdlib__Dynarray //# unitInfo: Requires: CamlinternalOO, Stdlib, Stdlib__Array, Stdlib__Obj, Stdlib__Printf, Stdlib__Seq, Stdlib__Sys -//# shape: Stdlib__Dynarray:[F(1)*,F(2),F(2),F(2),F(3),F(1)*,F(1)*,F(1),F(1),F(1),F(2),F(2),F(2),F(2),F(2),F(3),F(5),F(1),F(1),F(1),F(2),F(1),F(2),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(1),F(1),F(1),F(1),F(1),F(1),F(1)*,F(1),F(1)*,F(1)*,F(2),F(2),F(1),F(2),F(1)] +//# shape: Stdlib__Dynarray:[F(1)*,F(2),F(2),F(2),F(3),F(1)*,F(1)*,F(1),F(1),F(1),F(2),F(2),F(2),F(2),F(2),F(3),F(5),F(1),F(1),F(1),F(2),F(1),F(2),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(1),F(1),F(1),F(1),F(1),F(1),F(1)*,F(1),F(1)*,F(1)*,F(2),F(2),F(1),F(2),F(1),F(2)] (function (globalThis){ "use strict"; @@ -31690,6 +33425,8 @@ cst_dynarray_ml = "dynarray.ml", cst_ensure_capacity$0 = "ensure_capacity", cst_equal$1 = "equal", + cst_exists2$2 = "exists2", + cst_for_all2$2 = "for_all2", caml_array_make = runtime.caml_array_make, caml_check_bound = runtime.caml_check_bound, caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, @@ -31726,41 +33463,46 @@ Stdlib_Obj = global_data.Stdlib__Obj, CamlinternalOO = global_data.CamlinternalOO, _a_ = [0, 0]; - function copy(a, dummy){ - var _ai_ = /*<>*/ Stdlib_Obj[17]; - if(caml_obj_tag(a) !== _ai_) - /*<>*/ return Stdlib_Array[7].call(null, a) /*<>*/ ; - var - n = /*<>*/ a.length - 1, - arr = /*<>*/ caml_array_make(n, dummy), - _ah_ = /*<>*/ n - 1 | 0, - _aj_ = 0; - if(_ah_ >= 0){ - var i = _aj_; + function copy_from_array(a, dummy){ + var _ao_ = /*<>*/ Stdlib_Obj[17]; + if(caml_obj_tag(a) !== _ao_) + /*<>*/ return Stdlib_Array[7].call(null, a) /*<>*/ ; + var + n = /*<>*/ a.length - 1, + arr = /*<>*/ caml_array_make(n, dummy), + _an_ = /*<>*/ n - 1 | 0, + _ap_ = 0; + if(_an_ >= 0){ + var i = _ap_; for(;;){ - var v = /*<>*/ a[i + 1]; - /*<>*/ arr[i + 1] = v; - var _ak_ = /*<>*/ i + 1 | 0; - if(_ah_ === i) break; - i = _ak_; + var v = /*<>*/ a[i + 1]; + /*<>*/ arr[i + 1] = v; + var _aq_ = /*<>*/ i + 1 | 0; + if(_an_ === i) break; + i = _aq_; } } - /*<>*/ return arr; - /*<>*/ } + /*<>*/ return arr; + /*<>*/ } + var + Dummy_found = + /*<>*/ [248, + "Stdlib.Dynarray.Dummy.Array.Dummy_found", + runtime.caml_fresh_oo_id(0)]; function prefix(arr, n){ - /*<>*/ return Stdlib_Array[6].call(null, arr, 0, n) /*<>*/ ; + /*<>*/ return Stdlib_Array[6].call(null, arr, 0, n) /*<>*/ ; } function extend(arr, length, dummy, new_capacity){ var new_arr = - /*<>*/ caml_array_make(new_capacity, dummy); - /*<>*/ Stdlib_Array[9].call + /*<>*/ caml_array_make(new_capacity, dummy); + /*<>*/ Stdlib_Array[9].call (null, arr, 0, new_arr, 0, length); - /*<>*/ return new_arr; - /*<>*/ } + /*<>*/ return new_arr; + /*<>*/ } var - r = /*<>*/ [0, 0], - cst_to_seq_rev = /*<>*/ "to_seq_rev", + r = /*<>*/ [0, 0], + cst_to_seq_rev = /*<>*/ "to_seq_rev", cst_to_seq = "to_seq", cst_to_list = "to_list", cst_to_array = "to_array", @@ -31776,6 +33518,12 @@ cst_mem = "mem", cst_filter_map = "filter_map", cst_filter = "filter", + cst_for_all2 = cst_for_all2$2, + cst_for_all2$0 = cst_for_all2$2, + cst_for_all2$1 = cst_for_all2$2, + cst_exists2 = cst_exists2$2, + cst_exists2$0 = cst_exists2$2, + cst_exists2$1 = cst_exists2$2, cst_for_all = "for_all", cst_exists = "exists", cst_fold_right = "fold_right", @@ -31786,11 +33534,11 @@ cst_iter = "iter", cst_append$0 = cst_append$1, cst_append = cst_append$1, - _r_ = + _s_ = [0, [11, "Dynarray.blit: invalid blit length (", [4, 0, 0, 0, [12, 41, 0]]], "Dynarray.blit: invalid blit length (%d)"], - _s_ = + _t_ = [0, [11, "Dynarray.blit: invalid source region (", @@ -31806,7 +33554,7 @@ 0, [11, ") in source dynarray of length ", [4, 0, 0, 0, 0]]]]]], "Dynarray.blit: invalid source region (%d..%d) in source dynarray of length %d"], - _t_ = + _u_ = [0, [11, "Dynarray.blit: invalid target region (", @@ -31826,13 +33574,23 @@ cst_blit$0 = cst_blit$1, cst_set_capacity = "set_capacity", cst_ensure_capacity = cst_ensure_capacity$0, - _q_ = [0, cst_dynarray_ml, 606, 4], - _p_ = [0, cst_dynarray_ml, 611, 4], - _o_ = [0, cst_dynarray_ml, 612, 4], + _r_ = [0, cst_dynarray_ml, 639, 4], + _q_ = [0, cst_dynarray_ml, 644, 4], + _p_ = [0, cst_dynarray_ml, 645, 4], cst_truncate = "truncate", cst_set = "set", cst_init = "init", cst_make = "make", + _o_ = + [0, + [11, + cst_Dynarray, + [2, + 0, + [11, + ": array length mismatch: ", + [4, 0, 0, 0, [11, " <> ", [4, 0, 0, 0, 0]]]]]], + "Dynarray.%s: array length mismatch: %d <> %d"], _n_ = [0, [11, cst_Dynarray, [2, 0, [11, ": empty array", 0]]], @@ -31915,8 +33673,8 @@ cst_index, [4, 0, 0, 0, [11, " out of bounds (0..", [4, 0, 0, 0, [12, 41, 0]]]]]]], "Dynarray.%s: index %d out of bounds (0..%d)"], - _d_ = [0, cst_dynarray_ml, 289, 13], - _e_ = [0, cst_dynarray_ml, 299, 8], + _d_ = [0, cst_dynarray_ml, 317, 13], + _e_ = [0, cst_dynarray_ml, 327, 8], cst_x = "x"; if(! _a_[1]){ var @@ -31924,1000 +33682,1154 @@ _c_ = CamlinternalOO[3].call(null, _b_, cst_x); CamlinternalOO[17].call(null, _b_); _a_[1] = - function(_ah_){ - var _ag_ = /*<>*/ CamlinternalOO[24].call(null, 0, _b_); - _ag_[_c_ + 1] = _ah_[2]; - return _ag_; + function(_an_){ + var _am_ = /*<>*/ CamlinternalOO[24].call(null, 0, _b_); + _am_[_c_ + 1] = _an_[2]; + return _am_; }; } - var dummy = /*<>*/ caml_call1(_a_[1], [0, 0, r]); - /*<>*/ r[1] = [0, dummy]; + var dummy = /*<>*/ caml_call1(_a_[1], [0, 0, r]); + /*<>*/ r[1] = [0, dummy]; function index_out_of_bounds(f, i, length){ - /*<>*/ return 0 === length - ? /*<>*/ caml_call2 + /*<>*/ return 0 === length + ? /*<>*/ caml_call2 (Stdlib_Printf[10].call(null, Stdlib[1], _f_), f, i) - : /*<>*/ caml_call3 + : /*<>*/ caml_call3 (Stdlib_Printf[10].call(null, Stdlib[1], _g_), f, i, - length - 1 | 0) /*<>*/ ; + length - 1 | 0) /*<>*/ ; } function negative_length_requested(f, n){ - /*<>*/ return caml_call2 - (Stdlib_Printf[10].call(null, Stdlib[1], _h_), f, n) /*<>*/ ; + /*<>*/ return caml_call2 + (Stdlib_Printf[10].call(null, Stdlib[1], _h_), f, n) /*<>*/ ; } function negative_capacity_requested(f, n){ - /*<>*/ return caml_call2 - (Stdlib_Printf[10].call(null, Stdlib[1], _i_), f, n) /*<>*/ ; + /*<>*/ return caml_call2 + (Stdlib_Printf[10].call(null, Stdlib[1], _i_), f, n) /*<>*/ ; } function missing_element(i, length){ - /*<>*/ return caml_call3 + /*<>*/ return caml_call3 (Stdlib_Printf[10].call(null, Stdlib[1], _k_), invalid_state_description, i, - length) /*<>*/ ; + length) /*<>*/ ; + } + function different_lengths(f, length1, length2){ + /*<>*/ return caml_call3 + (Stdlib_Printf[10].call(null, Stdlib[1], _o_), + f, + length1, + length2) /*<>*/ ; } function check_same_length(f, param, expected){ var - length_a = /*<>*/ param[1], - _ag_ = /*<>*/ expected !== length_a ? 1 : 0; - return _ag_ - ? /*<>*/ caml_call3 + length_a = /*<>*/ param[1], + _am_ = /*<>*/ expected !== length_a ? 1 : 0; + return _am_ + ? /*<>*/ caml_call3 (Stdlib_Printf[10].call(null, Stdlib[1], _m_), f, expected, length_a) - : _ag_ /*<>*/ ; + : _am_ /*<>*/ ; } function check_valid_length(length, arr){ var - capacity = /*<>*/ arr.length - 1, - _ag_ = /*<>*/ capacity < length ? 1 : 0; - return _ag_ - ? /*<>*/ caml_call3 + capacity = /*<>*/ arr.length - 1, + _am_ = /*<>*/ capacity < length ? 1 : 0; + return _am_ + ? /*<>*/ caml_call3 (Stdlib_Printf[10].call(null, Stdlib[1], _l_), invalid_state_description, length, capacity) - : _ag_ /*<>*/ ; + : _am_ /*<>*/ ; } function unsafe_get(arr, dummy, i, length){ - var v = /*<>*/ arr[i + 1]; - /*<>*/ return v === dummy - ? /*<>*/ missing_element(i, length) - : v /*<>*/ ; + var v = /*<>*/ arr[i + 1]; + /*<>*/ return v === dummy + ? /*<>*/ missing_element(i, length) + : v /*<>*/ ; } function create(param){ - /*<>*/ return [0, 0, [0], dummy]; - /*<>*/ } + /*<>*/ return [0, 0, [0], dummy]; + /*<>*/ } function make(n, x){ - /*<>*/ if(n < 0) - /*<>*/ negative_length_requested(cst_make, n); - var _ag_ = /*<>*/ Stdlib_Obj[16]; - if(caml_obj_tag(x) !== _ag_) + /*<>*/ if(n < 0) + /*<>*/ negative_length_requested(cst_make, n); + var _am_ = /*<>*/ Stdlib_Obj[16]; + if(caml_obj_tag(x) !== _am_) var arr$0 = - /*<>*/ /*<>*/ caml_array_make + /*<>*/ /*<>*/ caml_array_make (n, x); else{ - var arr = /*<>*/ caml_array_make(n, dummy); - /*<>*/ Stdlib_Array[8].call(null, arr, 0, n, x); - var arr$0 = /*<>*/ arr; + var arr = /*<>*/ caml_array_make(n, dummy); + /*<>*/ Stdlib_Array[8].call(null, arr, 0, n, x); + var arr$0 = /*<>*/ arr; } - /*<>*/ return [0, n, arr$0, dummy]; - /*<>*/ } + /*<>*/ return [0, n, arr$0, dummy]; + /*<>*/ } function init(n, f){ - /*<>*/ if(n < 0) - /*<>*/ negative_length_requested(cst_init, n); - var - arr = /*<>*/ caml_array_make(n, dummy), - _ae_ = /*<>*/ n - 1 | 0, - _af_ = 0; - if(_ae_ >= 0){ - var i = _af_; + /*<>*/ if(n < 0) + /*<>*/ negative_length_requested(cst_init, n); + var + arr = /*<>*/ caml_array_make(n, dummy), + _ak_ = /*<>*/ n - 1 | 0, + _al_ = 0; + if(_ak_ >= 0){ + var i = _al_; for(;;){ - var v = /*<>*/ caml_call1(f, i); - /*<>*/ arr[i + 1] = v; - var _ag_ = /*<>*/ i + 1 | 0; - if(_ae_ === i) break; - i = _ag_; + var v = /*<>*/ caml_call1(f, i); + /*<>*/ arr[i + 1] = v; + var _am_ = /*<>*/ i + 1 | 0; + if(_ak_ === i) break; + i = _am_; } } - /*<>*/ return [0, n, arr, dummy]; - /*<>*/ } + /*<>*/ return [0, n, arr, dummy]; + /*<>*/ } function get(param, i){ var - v = /*<>*/ caml_check_bound(param[2], i)[i + 1], - dummy = /*<>*/ param[3]; - /*<>*/ if(v !== dummy) - /*<>*/ return v; - var length = /*<>*/ param[1]; - /*<>*/ return i < length - ? /*<>*/ missing_element(i, length) - : /*<>*/ index_out_of_bounds(f, i, length) /*<>*/ ; + v = /*<>*/ caml_check_bound(param[2], i)[i + 1], + dummy = /*<>*/ param[3]; + /*<>*/ if(v !== dummy) + /*<>*/ return v; + var length = /*<>*/ param[1]; + /*<>*/ return i < length + ? /*<>*/ missing_element(i, length) + : /*<>*/ index_out_of_bounds(f, i, length) /*<>*/ ; } function set(param, i, x){ - var length = /*<>*/ param[1], arr = param[2]; - /*<>*/ return length <= i - ? /*<>*/ index_out_of_bounds + var length = /*<>*/ param[1], arr = param[2]; + /*<>*/ return length <= i + ? /*<>*/ index_out_of_bounds (cst_set, i, length) - : ( /*<>*/ caml_check_bound + : ( /*<>*/ caml_check_bound (arr, i) [i + 1] = x, - 0) /*<>*/ ; + 0) /*<>*/ ; } function length(param){ - /*<>*/ return param[1]; - /*<>*/ } + /*<>*/ return param[1]; + /*<>*/ } function is_empty(param){ - /*<>*/ return 0 === param[1] ? 1 : 0; - /*<>*/ } - function copy$0(param){ + /*<>*/ return 0 === param[1] ? 1 : 0; + /*<>*/ } + function copy(param){ var - length = /*<>*/ param[1], + length = /*<>*/ param[1], arr = param[2], dummy = param[3]; - /*<>*/ check_valid_length(length, arr); - var arr$0 = /*<>*/ prefix(arr, length); - /*<>*/ return [0, length, arr$0, dummy]; - /*<>*/ } + /*<>*/ check_valid_length(length, arr); + var arr$0 = /*<>*/ prefix(arr, length); + /*<>*/ return [0, length, arr$0, dummy]; + /*<>*/ } function get_last(a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - /*<>*/ if(0 === length) - /*<>*/ caml_call1 + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + /*<>*/ if(0 === length) + /*<>*/ caml_call1 (Stdlib_Printf[10].call(null, Stdlib[1], _n_), f$0); - /*<>*/ return unsafe_get - (arr, dummy, length - 1 | 0, length) /*<>*/ ; + /*<>*/ return unsafe_get + (arr, dummy, length - 1 | 0, length) /*<>*/ ; } function find_last(param){ var - length = /*<>*/ param[1], + length = /*<>*/ param[1], arr = param[2], dummy = param[3]; - /*<>*/ check_valid_length(length, arr); - /*<>*/ return 0 === length + /*<>*/ check_valid_length(length, arr); + /*<>*/ return 0 === length ? 0 : [0, - /*<>*/ unsafe_get - (arr, dummy, length - 1 | 0, length)] /*<>*/ ; + /*<>*/ unsafe_get + (arr, dummy, length - 1 | 0, length)] /*<>*/ ; } function pop_last(param){ var - length = /*<>*/ param[1], + length = /*<>*/ param[1], arr = param[2], dummy = param[3]; - /*<>*/ check_valid_length(length, arr); - /*<>*/ if(0 === length) - /*<>*/ throw caml_maybe_attach_backtrace + /*<>*/ check_valid_length(length, arr); + /*<>*/ if(0 === length) + /*<>*/ throw caml_maybe_attach_backtrace (Stdlib[8], 1); var - last = /*<>*/ length - 1 | 0, - v = /*<>*/ unsafe_get(arr, dummy, last, length); - /*<>*/ arr[last + 1] = dummy; - /*<>*/ param[1] = last; - /*<>*/ return v; - /*<>*/ } + last = /*<>*/ length - 1 | 0, + v = /*<>*/ unsafe_get(arr, dummy, last, length); + /*<>*/ arr[last + 1] = dummy; + /*<>*/ param[1] = last; + /*<>*/ return v; + /*<>*/ } function pop_last_opt(a){ - /*<>*/ try{ - var x = /*<>*/ pop_last(a); + /*<>*/ try{ + var x = /*<>*/ pop_last(a); } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); - if(exn === Stdlib[8]) /*<>*/ return 0; + if(exn === Stdlib[8]) /*<>*/ return 0; /*<>*/ throw caml_maybe_attach_backtrace(exn, 0); } - /*<>*/ return [0, x]; - /*<>*/ } + /*<>*/ return [0, x]; + /*<>*/ } function remove_last(a){ var - last = /*<>*/ a[1] - 1 | 0, - _ad_ = /*<>*/ 0 <= last ? 1 : 0; - if(_ad_){ - /*<>*/ a[1] = last; - var dummy = /*<>*/ a[3]; + last = /*<>*/ a[1] - 1 | 0, + _aj_ = /*<>*/ 0 <= last ? 1 : 0; + if(_aj_){ + /*<>*/ a[1] = last; + var dummy = /*<>*/ a[3]; caml_check_bound(a[2], last)[last + 1] = dummy; - var _ae_ = /*<>*/ 0; + var _ak_ = /*<>*/ 0; } else - var _ae_ = /*<>*/ _ad_; - return _ae_; - /*<>*/ } + var _ak_ = /*<>*/ _aj_; + return _ak_; + /*<>*/ } function truncate(a, n){ - /*<>*/ if(n < 0) - /*<>*/ negative_length_requested(cst_truncate, n); - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ return length <= n + /*<>*/ if(n < 0) + /*<>*/ negative_length_requested(cst_truncate, n); + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ return length <= n ? 0 : (a [1] = n, - /*<>*/ Stdlib_Array[8].call - (null, arr, n, length - n | 0, dummy)) /*<>*/ ; + /*<>*/ Stdlib_Array[8].call + (null, arr, n, length - n | 0, dummy)) /*<>*/ ; } function clear(a){ - /*<>*/ return truncate(a, 0) /*<>*/ ; + /*<>*/ return truncate(a, 0) /*<>*/ ; } function capacity(param){ - /*<>*/ return param[2].length - 1; - /*<>*/ } + /*<>*/ return param[2].length - 1; + /*<>*/ } function ensure_capacity(a, capacity_request){ var - arr = /*<>*/ a[2], - cur_capacity = /*<>*/ arr.length - 1; - /*<>*/ if(0 > capacity_request) - /*<>*/ return negative_capacity_requested - (cst_ensure_capacity, capacity_request) /*<>*/ ; - /*<>*/ if(capacity_request <= cur_capacity) - /*<>*/ return 0; - /*<>*/ if(Stdlib_Sys[13] < capacity_request){ - var _aa_ = /*<>*/ Stdlib_Sys[13]; + arr = /*<>*/ a[2], + cur_capacity = /*<>*/ arr.length - 1; + /*<>*/ if(0 > capacity_request) + /*<>*/ return negative_capacity_requested + (cst_ensure_capacity, capacity_request) /*<>*/ ; + /*<>*/ if(capacity_request <= cur_capacity) + /*<>*/ return 0; + /*<>*/ if(Stdlib_Sys[14] < capacity_request){ + var _ag_ = /*<>*/ Stdlib_Sys[14]; caml_call3 (Stdlib_Printf[10].call(null, Stdlib[1], _j_), f$1, capacity_request, - _aa_); + _ag_); } var n = - /*<>*/ 512 < cur_capacity + /*<>*/ 512 < cur_capacity ? cur_capacity + (cur_capacity / 2 | 0) | 0 : cur_capacity * 2 | 0, - _ab_ = /*<>*/ Stdlib_Sys[13], - _ac_ = Stdlib[17].call(null, 8, n), - _ad_ = /*<>*/ Stdlib[16].call(null, _ac_, _ab_), + _ah_ = /*<>*/ Stdlib_Sys[14], + _ai_ = Stdlib[17].call(null, 8, n), + _aj_ = /*<>*/ Stdlib[16].call(null, _ai_, _ah_), new_capacity = - /*<>*/ Stdlib[17].call - (null, _ad_, capacity_request); - /*<>*/ if(0 >= new_capacity) - throw caml_maybe_attach_backtrace([0, Assert_failure, _q_], 1); + /*<>*/ Stdlib[17].call + (null, _aj_, capacity_request); + /*<>*/ if(0 >= new_capacity) + throw caml_maybe_attach_backtrace([0, Assert_failure, _r_], 1); var new_arr = - /*<>*/ extend(arr, a[1], a[3], new_capacity); - /*<>*/ a[2] = new_arr; - /*<>*/ if(0 > capacity_request) - throw caml_maybe_attach_backtrace([0, Assert_failure, _p_], 1); - /*<>*/ if(capacity_request <= new_arr.length - 1) + /*<>*/ extend(arr, a[1], a[3], new_capacity); + /*<>*/ a[2] = new_arr; + /*<>*/ if(0 > capacity_request) + throw caml_maybe_attach_backtrace([0, Assert_failure, _q_], 1); + /*<>*/ if(capacity_request <= new_arr.length - 1) return 0; - throw caml_maybe_attach_backtrace([0, Assert_failure, _o_], 1); - /*<>*/ } + throw caml_maybe_attach_backtrace([0, Assert_failure, _p_], 1); + /*<>*/ } function ensure_extra_capacity(a, extra_capacity_request){ - /*<>*/ return ensure_capacity - (a, a[1] + extra_capacity_request | 0) /*<>*/ ; + /*<>*/ return ensure_capacity + (a, a[1] + extra_capacity_request | 0) /*<>*/ ; } function fit_capacity(param){ - /*<>*/ return param[2].length - 1 === param[1] + /*<>*/ return param[2].length - 1 === param[1] ? 0 : (param [2] - = /*<>*/ prefix(param[2], param[1]), - 0) /*<>*/ ; + = /*<>*/ prefix(param[2], param[1]), + 0) /*<>*/ ; } function set_capacity(a, n){ - /*<>*/ if(n < 0) - /*<>*/ negative_capacity_requested + /*<>*/ if(n < 0) + /*<>*/ negative_capacity_requested (cst_set_capacity, n); var - arr = /*<>*/ a[2], - cur_capacity = /*<>*/ arr.length - 1; - /*<>*/ if(n < cur_capacity){ - /*<>*/ a[1] = Stdlib[16].call(null, a[1], n); - /*<>*/ a[2] = prefix(arr, n); - /*<>*/ return 0; - } - var - _$_ = /*<>*/ cur_capacity < n ? 1 : 0, - _aa_ = - _$_ - ? (a[2] = /*<>*/ extend(arr, a[1], a[3], n), 0) - : _$_; - /*<>*/ return _aa_; - /*<>*/ } + arr = /*<>*/ a[2], + cur_capacity = /*<>*/ arr.length - 1; + /*<>*/ if(n < cur_capacity){ + /*<>*/ a[1] = Stdlib[16].call(null, a[1], n); + /*<>*/ a[2] = prefix(arr, n); + /*<>*/ return 0; + } + var + _af_ = /*<>*/ cur_capacity < n ? 1 : 0, + _ag_ = + _af_ + ? (a[2] = /*<>*/ extend(arr, a[1], a[3], n), 0) + : _af_; + /*<>*/ return _ag_; + /*<>*/ } function reset(param){ - /*<>*/ param[1] = 0; - /*<>*/ param[2] = [0]; + /*<>*/ param[1] = 0; + /*<>*/ param[2] = [0]; return 0; - /*<>*/ } + /*<>*/ } function add_last_if_room(param, v){ - var length = /*<>*/ param[1], arr = param[2]; - /*<>*/ return arr.length - 1 <= length + var length = /*<>*/ param[1], arr = param[2]; + /*<>*/ return arr.length - 1 <= length ? 0 - : (param[1] = length + 1 | 0, arr[length + 1] = v, 1) /*<>*/ ; + : (param[1] = length + 1 | 0, arr[length + 1] = v, 1) /*<>*/ ; } function add_last(a, x){ - /*<>*/ if(add_last_if_room(a, x)) - /*<>*/ return 0; - /*<>*/ for(;;){ - /*<>*/ ensure_extra_capacity(a, 1); - var _$_ = /*<>*/ 1 - add_last_if_room(a, x); - /*<>*/ if(! _$_) return _$_; - } - /*<>*/ } + /*<>*/ if(add_last_if_room(a, x)) + /*<>*/ return 0; + /*<>*/ for(;;){ + /*<>*/ ensure_extra_capacity(a, 1); + var _af_ = /*<>*/ 1 - add_last_if_room(a, x); + /*<>*/ if(! _af_) return _af_; + } + /*<>*/ } function append_list(a, li$0){ - var li = /*<>*/ li$0; + var li = /*<>*/ li$0; for(;;){ - if(! li) /*<>*/ return 0; - var xs = /*<>*/ li[2], x = li[1]; - /*<>*/ add_last(a, x); - /*<>*/ li = xs; + if(! li) /*<>*/ return 0; + var xs = /*<>*/ li[2], x = li[1]; + /*<>*/ add_last(a, x); + /*<>*/ li = xs; } - /*<>*/ } + /*<>*/ } function append_iter(a, iter, b){ - /*<>*/ return caml_call2 + /*<>*/ return caml_call2 (iter, function(x){ - /*<>*/ return add_last(a, x) /*<>*/ ; + /*<>*/ return add_last(a, x) /*<>*/ ; }, - b) /*<>*/ ; + b) /*<>*/ ; } function append_seq(a, seq){ - /*<>*/ return Stdlib_Seq[4].call + /*<>*/ return Stdlib_Seq[4].call (null, function(x){ - /*<>*/ return add_last(a, x) /*<>*/ ; + /*<>*/ return add_last(a, x) /*<>*/ ; }, - seq) /*<>*/ ; + seq) /*<>*/ ; } function blit_assume_room (src, src_pos, src_length, dst, dst_pos, dst_length, blit_length){ var - src_arr = /*<>*/ src[2], - dst_arr = /*<>*/ dst[2]; - /*<>*/ check_same_length(cst_blit, src, src_length); - /*<>*/ check_same_length(cst_blit$0, dst, dst_length); - /*<>*/ if(dst_length < (dst_pos + blit_length | 0)) - /*<>*/ dst[1] = dst_pos + blit_length | 0; - var dst_dummy = /*<>*/ dst[3], src_dummy = src[3]; - /*<>*/ if(src_dummy === dst_dummy) - /*<>*/ return Stdlib_Array[9].call - (null, src_arr, src_pos, dst_arr, dst_pos, blit_length) /*<>*/ ; - var _T_ = /*<>*/ blit_length < 0 ? 1 : 0; - if(_T_) - var _S_ = _T_; + src_arr = /*<>*/ src[2], + dst_arr = /*<>*/ dst[2]; + /*<>*/ check_same_length(cst_blit, src, src_length); + /*<>*/ check_same_length(cst_blit$0, dst, dst_length); + /*<>*/ if(dst_length < (dst_pos + blit_length | 0)) + /*<>*/ dst[1] = dst_pos + blit_length | 0; + var dst_dummy = /*<>*/ dst[3], src_dummy = src[3]; + /*<>*/ if(src_dummy === dst_dummy) + /*<>*/ return Stdlib_Array[9].call + (null, src_arr, src_pos, dst_arr, dst_pos, blit_length) /*<>*/ ; + var _Z_ = /*<>*/ blit_length < 0 ? 1 : 0; + if(_Z_) + var _Y_ = _Z_; else{ - var _V_ = src_pos < 0 ? 1 : 0; - if(_V_) - var _S_ = _V_; + var _$_ = src_pos < 0 ? 1 : 0; + if(_$_) + var _Y_ = _$_; else{ - var _W_ = (src_pos + blit_length | 0) < 0 ? 1 : 0; - if(_W_) - var _S_ = _W_; + var _aa_ = (src_pos + blit_length | 0) < 0 ? 1 : 0; + if(_aa_) + var _Y_ = _aa_; else{ - var _X_ = src_arr.length - 1 < (src_pos + blit_length | 0) ? 1 : 0; - if(_X_) - var _S_ = _X_; + var _ab_ = src_arr.length - 1 < (src_pos + blit_length | 0) ? 1 : 0; + if(_ab_) + var _Y_ = _ab_; else{ - var _Y_ = dst_pos < 0 ? 1 : 0; - if(_Y_) - var _S_ = _Y_; + var _ac_ = dst_pos < 0 ? 1 : 0; + if(_ac_) + var _Y_ = _ac_; else var - _$_ = (dst_pos + blit_length | 0) < 0 ? 1 : 0, - _S_ = - _$_ || (dst_arr.length - 1 < (dst_pos + blit_length | 0) ? 1 : 0); + _af_ = (dst_pos + blit_length | 0) < 0 ? 1 : 0, + _Y_ = + _af_ || (dst_arr.length - 1 < (dst_pos + blit_length | 0) ? 1 : 0); } } } } - if(_S_) - /*<>*/ throw caml_maybe_attach_backtrace + if(_Y_) + /*<>*/ throw caml_maybe_attach_backtrace ([0, Assert_failure, _d_], 1); - /*<>*/ if(src_arr === dst_arr) + /*<>*/ if(src_arr === dst_arr) throw caml_maybe_attach_backtrace([0, Assert_failure, _e_], 1); - var _U_ = /*<>*/ blit_length - 1 | 0, _Z_ = 0; - if(_U_ >= 0){ - var i = _Z_; + var ___ = /*<>*/ blit_length - 1 | 0, _ad_ = 0; + if(___ >= 0){ + var i = _ad_; for(;;){ - /*<>*/ dst_arr[(dst_pos + i | 0) + 1] = src_arr[(src_pos + i | 0) + 1]; - var ___ = /*<>*/ i + 1 | 0; - if(_U_ === i) break; - i = ___; + /*<>*/ dst_arr[(dst_pos + i | 0) + 1] = src_arr[(src_pos + i | 0) + 1]; + var _ae_ = /*<>*/ i + 1 | 0; + if(___ === i) break; + i = _ae_; } } - /*<>*/ return 0; - /*<>*/ } + /*<>*/ return 0; + /*<>*/ } function blit(src, src_pos, dst, dst_pos, len){ - var src_length = /*<>*/ src[1], dst_length = dst[1]; - /*<>*/ if(len < 0) - /*<>*/ caml_call1 - (Stdlib_Printf[10].call(null, Stdlib[1], _r_), len); - var - _P_ = /*<>*/ src_pos < 0 ? 1 : 0, - _Q_ = _P_ || (src_length < (src_pos + len | 0) ? 1 : 0); - if(_Q_) - /*<>*/ caml_call3 - (Stdlib_Printf[10].call(null, Stdlib[1], _s_), + var src_length = /*<>*/ src[1], dst_length = dst[1]; + /*<>*/ if(len < 0) + /*<>*/ caml_call1 + (Stdlib_Printf[10].call(null, Stdlib[1], _s_), len); + var + _V_ = /*<>*/ src_pos < 0 ? 1 : 0, + _W_ = _V_ || (src_length < (src_pos + len | 0) ? 1 : 0); + if(_W_) + /*<>*/ caml_call3 + (Stdlib_Printf[10].call(null, Stdlib[1], _t_), src_pos, src_pos + len | 0, src_length); var - _R_ = /*<>*/ dst_pos < 0 ? 1 : 0, - _S_ = _R_ || (dst_length < dst_pos ? 1 : 0); - if(_S_) - /*<>*/ caml_call3 - (Stdlib_Printf[10].call(null, Stdlib[1], _t_), + _X_ = /*<>*/ dst_pos < 0 ? 1 : 0, + _Y_ = _X_ || (dst_length < dst_pos ? 1 : 0); + if(_Y_) + /*<>*/ caml_call3 + (Stdlib_Printf[10].call(null, Stdlib[1], _u_), dst_pos, dst_pos + len | 0, dst_length); - /*<>*/ ensure_capacity(dst, dst_pos + len | 0); - /*<>*/ return blit_assume_room - (src, src_pos, src_length, dst, dst_pos, dst_length, len) /*<>*/ ; + /*<>*/ ensure_capacity(dst, dst_pos + len | 0); + /*<>*/ return blit_assume_room + (src, src_pos, src_length, dst, dst_pos, dst_length, len) /*<>*/ ; } function append_array_if_room(param, src){ var - length_a = /*<>*/ param[1], + length_a = /*<>*/ param[1], arr = param[2], - length_b = /*<>*/ src.length - 1; - /*<>*/ if(arr.length - 1 < (length_a + length_b | 0)) - /*<>*/ return 0; - /*<>*/ param[1] = length_a + length_b | 0; - var _N_ = /*<>*/ Stdlib_Obj[17], src_pos = 0; - if(caml_obj_tag(src) !== _N_) - /*<>*/ Stdlib_Array[9].call + length_b = /*<>*/ src.length - 1; + /*<>*/ if(arr.length - 1 < (length_a + length_b | 0)) + /*<>*/ return 0; + /*<>*/ param[1] = length_a + length_b | 0; + var _T_ = /*<>*/ Stdlib_Obj[17], src_pos = 0; + if(caml_obj_tag(src) !== _T_) + /*<>*/ Stdlib_Array[9].call (null, src, src_pos, arr, length_a, length_b); else{ - var _K_ = /*<>*/ length_b - 1 | 0, _O_ = 0; - if(_K_ >= 0){ - var i = _O_; + var _Q_ = /*<>*/ length_b - 1 | 0, _U_ = 0; + if(_Q_ >= 0){ + var i = _U_; for(;;){ var - _L_ = /*<>*/ i | 0, - v = /*<>*/ caml_check_bound(src, _L_)[_L_ + 1], - _M_ = /*<>*/ length_a + i | 0; - /*<>*/ caml_check_bound(arr, _M_)[_M_ + 1] = v; - var _P_ = /*<>*/ i + 1 | 0; - if(_K_ === i) break; - i = _P_; + _R_ = /*<>*/ i | 0, + v = /*<>*/ caml_check_bound(src, _R_)[_R_ + 1], + _S_ = /*<>*/ length_a + i | 0; + /*<>*/ caml_check_bound(arr, _S_)[_S_ + 1] = v; + var _V_ = /*<>*/ i + 1 | 0; + if(_Q_ === i) break; + i = _V_; } } } - /*<>*/ return 1; - /*<>*/ } + /*<>*/ return 1; + /*<>*/ } function append_array(a, b){ - /*<>*/ if(append_array_if_room(a, b)) - /*<>*/ return 0; - /*<>*/ for(;;){ - /*<>*/ ensure_extra_capacity(a, b.length - 1); - var _K_ = /*<>*/ 1 - append_array_if_room(a, b); - /*<>*/ if(! _K_) return _K_; - } - /*<>*/ } + /*<>*/ if(append_array_if_room(a, b)) + /*<>*/ return 0; + /*<>*/ for(;;){ + /*<>*/ ensure_extra_capacity(a, b.length - 1); + var _Q_ = /*<>*/ 1 - append_array_if_room(a, b); + /*<>*/ if(! _Q_) return _Q_; + } + /*<>*/ } function append_if_room(param, b, length_b){ - var length_a = /*<>*/ param[1], arr_a = param[2]; - /*<>*/ return arr_a.length - 1 + var length_a = /*<>*/ param[1], arr_a = param[2]; + /*<>*/ return arr_a.length - 1 < (length_a + length_b | 0) ? 0 - : ( /*<>*/ blit_assume_room + : ( /*<>*/ blit_assume_room (b, 0, length_b, param, length_a, length_a, length_b), - /*<>*/ check_same_length + /*<>*/ check_same_length (cst_append, b, length_b), - 1) /*<>*/ ; + 1) /*<>*/ ; } function append(a, b){ - var length_b = /*<>*/ b[1]; - /*<>*/ if(append_if_room(a, b, length_b)) - /*<>*/ return 0; - /*<>*/ for(;;){ - /*<>*/ ensure_extra_capacity(a, length_b); - /*<>*/ check_same_length(cst_append$0, b, length_b); - var _K_ = /*<>*/ 1 - append_if_room(a, b, length_b); - /*<>*/ if(! _K_) return _K_; - } - /*<>*/ } + var length_b = /*<>*/ b[1]; + /*<>*/ if(append_if_room(a, b, length_b)) + /*<>*/ return 0; + /*<>*/ for(;;){ + /*<>*/ ensure_extra_capacity(a, length_b); + /*<>*/ check_same_length(cst_append$0, b, length_b); + var _Q_ = /*<>*/ 1 - append_if_room(a, b, length_b); + /*<>*/ if(! _Q_) return _Q_; + } + /*<>*/ } function iter(f, k, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var _I_ = /*<>*/ length - 1 | 0, _J_ = 0; - if(_I_ >= 0){ - var i = _J_; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var _O_ = /*<>*/ length - 1 | 0, _P_ = 0; + if(_O_ >= 0){ + var i = _P_; for(;;){ - /*<>*/ /*<>*/ caml_call1 - (k, /*<>*/ unsafe_get(arr, dummy, i, length)); - var _K_ = /*<>*/ i + 1 | 0; - if(_I_ === i) break; - i = _K_; + /*<>*/ /*<>*/ caml_call1 + (k, /*<>*/ unsafe_get(arr, dummy, i, length)); + var _Q_ = /*<>*/ i + 1 | 0; + if(_O_ === i) break; + i = _Q_; } } - /*<>*/ return check_same_length(f, a, length) /*<>*/ ; + /*<>*/ return check_same_length(f, a, length) /*<>*/ ; } function iter$0(k, a){ - /*<>*/ return iter(cst_iter, k, a) /*<>*/ ; + /*<>*/ return iter(cst_iter, k, a) /*<>*/ ; } function iteri(k, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var _G_ = /*<>*/ length - 1 | 0, _H_ = 0; - if(_G_ >= 0){ - var i = _H_; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var _M_ = /*<>*/ length - 1 | 0, _N_ = 0; + if(_M_ >= 0){ + var i = _N_; for(;;){ - /*<>*/ /*<>*/ caml_call2 - (k, i, /*<>*/ unsafe_get(arr, dummy, i, length)); - var _I_ = /*<>*/ i + 1 | 0; - if(_G_ === i) break; - i = _I_; + /*<>*/ /*<>*/ caml_call2 + (k, i, /*<>*/ unsafe_get(arr, dummy, i, length)); + var _O_ = /*<>*/ i + 1 | 0; + if(_M_ === i) break; + i = _O_; } } - /*<>*/ return check_same_length(cst_iteri, a, length) /*<>*/ ; + /*<>*/ return check_same_length(cst_iteri, a, length) /*<>*/ ; } function map(f, a){ - var length = /*<>*/ a[1], arr_in = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr_in); - var - arr_out = /*<>*/ caml_array_make(length, dummy), - _E_ = /*<>*/ length - 1 | 0, - _F_ = 0; - if(_E_ >= 0){ - var i = _F_; + var length = /*<>*/ a[1], arr_in = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr_in); + var + arr_out = /*<>*/ caml_array_make(length, dummy), + _K_ = /*<>*/ length - 1 | 0, + _L_ = 0; + if(_K_ >= 0){ + var i = _L_; for(;;){ var v = - /*<>*/ /*<>*/ caml_call1 + /*<>*/ /*<>*/ caml_call1 (f, - /*<>*/ unsafe_get(arr_in, dummy, i, length)); - /*<>*/ arr_out[i + 1] = v; - var _G_ = /*<>*/ i + 1 | 0; - if(_E_ === i) break; - i = _G_; + /*<>*/ unsafe_get(arr_in, dummy, i, length)); + /*<>*/ arr_out[i + 1] = v; + var _M_ = /*<>*/ i + 1 | 0; + if(_K_ === i) break; + i = _M_; } } - var res = /*<>*/ [0, length, arr_out, dummy]; - /*<>*/ check_same_length(cst_map, a, length); - /*<>*/ return res; - /*<>*/ } + var res = /*<>*/ [0, length, arr_out, dummy]; + /*<>*/ check_same_length(cst_map, a, length); + /*<>*/ return res; + /*<>*/ } function mapi(f, a){ - var length = /*<>*/ a[1], arr_in = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr_in); + var length = /*<>*/ a[1], arr_in = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr_in); var - arr_out = /*<>*/ caml_array_make(length, dummy), - _C_ = /*<>*/ length - 1 | 0, - _D_ = 0; - if(_C_ >= 0){ - var i = _D_; + arr_out = /*<>*/ caml_array_make(length, dummy), + _I_ = /*<>*/ length - 1 | 0, + _J_ = 0; + if(_I_ >= 0){ + var i = _J_; for(;;){ var v = - /*<>*/ /*<>*/ caml_call2 + /*<>*/ /*<>*/ caml_call2 (f, i, - /*<>*/ unsafe_get(arr_in, dummy, i, length)); - /*<>*/ arr_out[i + 1] = v; - var _E_ = /*<>*/ i + 1 | 0; - if(_C_ === i) break; - i = _E_; + /*<>*/ unsafe_get(arr_in, dummy, i, length)); + /*<>*/ arr_out[i + 1] = v; + var _K_ = /*<>*/ i + 1 | 0; + if(_I_ === i) break; + i = _K_; } } - var res = /*<>*/ [0, length, arr_out, dummy]; - /*<>*/ check_same_length(cst_mapi, a, length); - /*<>*/ return res; - /*<>*/ } + var res = /*<>*/ [0, length, arr_out, dummy]; + /*<>*/ check_same_length(cst_mapi, a, length); + /*<>*/ return res; + /*<>*/ } function fold_left(f, acc, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var _z_ = /*<>*/ length - 1 | 0, _B_ = 0; - if(_z_ < 0) + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var _F_ = /*<>*/ length - 1 | 0, _H_ = 0; + if(_F_ < 0) var r$0 = acc; else{ - var r = acc, i = _B_; + var r = acc, i = _H_; for(;;){ var - v = /*<>*/ unsafe_get(arr, dummy, i, length), - _A_ = /*<>*/ caml_call2(f, r, v), - _C_ = /*<>*/ i + 1 | 0; - if(_z_ === i){var r$0 = _A_; break;} - r = _A_; - i = _C_; + v = /*<>*/ unsafe_get(arr, dummy, i, length), + _G_ = /*<>*/ caml_call2(f, r, v), + _I_ = /*<>*/ i + 1 | 0; + if(_F_ === i){var r$0 = _G_; break;} + r = _G_; + i = _I_; } } - /*<>*/ check_same_length(cst_fold_left, a, length); - /*<>*/ return r$0; - /*<>*/ } + /*<>*/ check_same_length(cst_fold_left, a, length); + /*<>*/ return r$0; + /*<>*/ } function fold_right(f, a, acc){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var _x_ = /*<>*/ length - 1 | 0; - if(_x_ < 0) + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var _D_ = /*<>*/ length - 1 | 0; + if(_D_ < 0) var r$0 = acc; else{ - var r = acc, i = _x_; + var r = acc, i = _D_; for(;;){ var - v = /*<>*/ unsafe_get(arr, dummy, i, length), - _y_ = /*<>*/ caml_call2(f, v, r), - _z_ = /*<>*/ i - 1 | 0; - if(0 === i){var r$0 = _y_; break;} - r = _y_; - i = _z_; + v = /*<>*/ unsafe_get(arr, dummy, i, length), + _E_ = /*<>*/ caml_call2(f, v, r), + _F_ = /*<>*/ i - 1 | 0; + if(0 === i){var r$0 = _E_; break;} + r = _E_; + i = _F_; } } - /*<>*/ check_same_length(cst_fold_right, a, length); - /*<>*/ return r$0; - /*<>*/ } + /*<>*/ check_same_length(cst_fold_right, a, length); + /*<>*/ return r$0; + /*<>*/ } function exists(p, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ var - _x_ = - /*<>*/ /*<>*/ caml_call1 - (p, /*<>*/ unsafe_get(arr, dummy, i, length)); - /*<>*/ if(! _x_){ + _D_ = + /*<>*/ /*<>*/ caml_call1 + (p, /*<>*/ unsafe_get(arr, dummy, i, length)); + /*<>*/ if(! _D_){ var i$0 = i + 1 | 0; i = i$0; continue; } - var res = _x_; + var res = _D_; } - /*<>*/ check_same_length(cst_exists, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_exists, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function for_all(p, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 1; + /*<>*/ if(i === length) + var res = /*<>*/ 1; else{ var - _x_ = - /*<>*/ /*<>*/ caml_call1 - (p, /*<>*/ unsafe_get(arr, dummy, i, length)); - /*<>*/ if(_x_){ + _D_ = + /*<>*/ /*<>*/ caml_call1 + (p, /*<>*/ unsafe_get(arr, dummy, i, length)); + /*<>*/ if(_D_){ + var i$0 = i + 1 | 0; + i = i$0; + continue; + } + var res = _D_; + } + /*<>*/ check_same_length(cst_for_all, a, length); + /*<>*/ return res; + } + /*<>*/ } + function exists2(p, a1, a2){ + var + length1 = /*<>*/ a1[1], + arr1 = a1[2], + dummy1 = a1[3], + length2 = /*<>*/ a2[1], + arr2 = a2[2], + dummy2 = a2[3]; + /*<>*/ check_valid_length(length1, arr1); + /*<>*/ check_valid_length(length2, arr2); + /*<>*/ if(length1 !== length2) + /*<>*/ different_lengths + (cst_exists2, length1, length2); + var i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === length1) + var res = /*<>*/ 0; + else{ + var + _D_ = /*<>*/ unsafe_get(arr2, dummy2, i, length1), + _C_ = + /*<>*/ /*<>*/ caml_call2 + (p, + /*<>*/ unsafe_get(arr1, dummy1, i, length1), + _D_); + /*<>*/ if(! _C_){ + var i$0 = i + 1 | 0; + i = i$0; + continue; + } + var res = _C_; + } + /*<>*/ check_same_length(cst_exists2$0, a1, length1); + /*<>*/ check_same_length(cst_exists2$1, a2, length2); + /*<>*/ return res; + } + /*<>*/ } + function for_all2(p, a1, a2){ + var + length1 = /*<>*/ a1[1], + arr1 = a1[2], + dummy1 = a1[3], + length2 = /*<>*/ a2[1], + arr2 = a2[2], + dummy2 = a2[3]; + /*<>*/ check_valid_length(length1, arr1); + /*<>*/ check_valid_length(length2, arr2); + /*<>*/ if(length1 !== length2) + /*<>*/ different_lengths + (cst_for_all2, length1, length2); + var i = /*<>*/ 0; + for(;;){ + /*<>*/ if(i === length1) + var res = /*<>*/ 1; + else{ + var + _C_ = /*<>*/ unsafe_get(arr2, dummy2, i, length1), + _B_ = + /*<>*/ /*<>*/ caml_call2 + (p, + /*<>*/ unsafe_get(arr1, dummy1, i, length1), + _C_); + /*<>*/ if(_B_){ var i$0 = i + 1 | 0; i = i$0; continue; } - var res = _x_; + var res = _B_; } - /*<>*/ check_same_length(cst_for_all, a, length); - /*<>*/ return res; + /*<>*/ check_same_length + (cst_for_all2$0, a1, length1); + /*<>*/ check_same_length + (cst_for_all2$1, a2, length2); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function filter(f, a){ - var b = /*<>*/ create(0); - /*<>*/ iter + var b = /*<>*/ create(0); + /*<>*/ iter (cst_filter, function(x){ - var _x_ = /*<>*/ caml_call1(f, x); - /*<>*/ return _x_ - ? /*<>*/ add_last(b, x) - : _x_ /*<>*/ ; + var _B_ = /*<>*/ caml_call1(f, x); + /*<>*/ return _B_ + ? /*<>*/ add_last(b, x) + : _B_ /*<>*/ ; }, a); - /*<>*/ return b; - /*<>*/ } + /*<>*/ return b; + /*<>*/ } function filter_map(f, a){ - var b = /*<>*/ create(0); - /*<>*/ iter + var b = /*<>*/ create(0); + /*<>*/ iter (cst_filter_map, function(x){ - var match = /*<>*/ caml_call1(f, x); - /*<>*/ if(! match) - /*<>*/ return 0; - var y = /*<>*/ match[1]; - /*<>*/ return add_last(b, y) /*<>*/ ; + var match = /*<>*/ caml_call1(f, x); + /*<>*/ if(! match) + /*<>*/ return 0; + var y = /*<>*/ match[1]; + /*<>*/ return add_last(b, y) /*<>*/ ; }, a); - /*<>*/ return b; - /*<>*/ } + /*<>*/ return b; + /*<>*/ } function mem(x, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ - /*<>*/ if + /*<>*/ if (0 !== - /*<>*/ runtime.caml_compare - ( /*<>*/ unsafe_get(arr, dummy, i, length), x)){ - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ runtime.caml_compare + ( /*<>*/ unsafe_get(arr, dummy, i, length), x)){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var res = /*<>*/ 1; + var res = /*<>*/ 1; } - /*<>*/ check_same_length(cst_mem, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_mem, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function memq(x, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ - /*<>*/ if(unsafe_get(arr, dummy, i, length) !== x){ - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ if(unsafe_get(arr, dummy, i, length) !== x){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var res = /*<>*/ 1; + var res = /*<>*/ 1; } - /*<>*/ check_same_length(cst_memq, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_memq, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function find_opt(p, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ - var x = /*<>*/ unsafe_get(arr, dummy, i, length); - /*<>*/ if(! caml_call1(p, x)){ - var i$0 = /*<>*/ i + 1 | 0; + var x = /*<>*/ unsafe_get(arr, dummy, i, length); + /*<>*/ if(! caml_call1(p, x)){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var res = /*<>*/ [0, x]; + var res = /*<>*/ [0, x]; } - /*<>*/ check_same_length(cst_find_opt, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_find_opt, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function find_index(p, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ - var x = /*<>*/ unsafe_get(arr, dummy, i, length); - /*<>*/ if(! caml_call1(p, x)){ - var i$0 = /*<>*/ i + 1 | 0; + var x = /*<>*/ unsafe_get(arr, dummy, i, length); + /*<>*/ if(! caml_call1(p, x)){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var res = /*<>*/ [0, i]; + var res = /*<>*/ [0, i]; } - /*<>*/ check_same_length(cst_find_index, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_find_index, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function find_map(p, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ var r = - /*<>*/ /*<>*/ caml_call1 - (p, /*<>*/ unsafe_get(arr, dummy, i, length)); - /*<>*/ if(! r){ - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ /*<>*/ caml_call1 + (p, /*<>*/ unsafe_get(arr, dummy, i, length)); + /*<>*/ if(! r){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var res = /*<>*/ r; + var res = /*<>*/ r; } - /*<>*/ check_same_length(cst_find_map, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_find_map, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function find_mapi(p, a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); - var i = /*<>*/ 0; + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var res = /*<>*/ 0; + /*<>*/ if(i === length) + var res = /*<>*/ 0; else{ var r = - /*<>*/ /*<>*/ caml_call2 + /*<>*/ /*<>*/ caml_call2 (p, i, - /*<>*/ unsafe_get(arr, dummy, i, length)); - /*<>*/ if(! r){ - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ unsafe_get(arr, dummy, i, length)); + /*<>*/ if(! r){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var res = /*<>*/ r; + var res = /*<>*/ r; } - /*<>*/ check_same_length(cst_find_mapi, a, length); - /*<>*/ return res; + /*<>*/ check_same_length(cst_find_mapi, a, length); + /*<>*/ return res; } - /*<>*/ } + /*<>*/ } function equal(eq, a1, a2){ var - length = /*<>*/ a1[1], + length = /*<>*/ a1[1], arr1 = a1[2], dum1 = a1[3], - len2 = /*<>*/ a2[1], + len2 = /*<>*/ a2[1], arr2 = a2[2], dum2 = a2[3]; - /*<>*/ if(length !== len2) - /*<>*/ return 0; - /*<>*/ check_valid_length(length, arr1); - /*<>*/ check_valid_length(length, arr2); - var i = /*<>*/ 0; + /*<>*/ if(length !== len2) + /*<>*/ return 0; + /*<>*/ check_valid_length(length, arr1); + /*<>*/ check_valid_length(length, arr2); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var r = /*<>*/ 1; + /*<>*/ if(i === length) + var r = /*<>*/ 1; else{ var - _x_ = /*<>*/ unsafe_get(arr2, dum2, i, length), - _w_ = - /*<>*/ /*<>*/ caml_call2 + _B_ = /*<>*/ unsafe_get(arr2, dum2, i, length), + _A_ = + /*<>*/ /*<>*/ caml_call2 (eq, - /*<>*/ unsafe_get(arr1, dum1, i, length), - _x_); - /*<>*/ if(_w_){ + /*<>*/ unsafe_get(arr1, dum1, i, length), + _B_); + /*<>*/ if(_A_){ var i$0 = i + 1 | 0; i = i$0; continue; } - var r = _w_; + var r = _A_; } - /*<>*/ check_same_length(cst_equal, a1, length); - /*<>*/ check_same_length(cst_equal$0, a2, length); - /*<>*/ return r; + /*<>*/ check_same_length(cst_equal, a1, length); + /*<>*/ check_same_length(cst_equal$0, a2, length); + /*<>*/ return r; } - /*<>*/ } + /*<>*/ } function compare(cmp, a1, a2){ var - length = /*<>*/ a1[1], + length = /*<>*/ a1[1], arr1 = a1[2], dum1 = a1[3], - len2 = /*<>*/ a2[1], + len2 = /*<>*/ a2[1], arr2 = a2[2], dum2 = a2[3]; - /*<>*/ if(length !== len2) - /*<>*/ return length - len2 | 0; - /*<>*/ check_valid_length(length, arr1); - /*<>*/ check_valid_length(length, arr2); - var i = /*<>*/ 0; + /*<>*/ if(length !== len2) + /*<>*/ return length - len2 | 0; + /*<>*/ check_valid_length(length, arr1); + /*<>*/ check_valid_length(length, arr2); + var i = /*<>*/ 0; for(;;){ - /*<>*/ if(i === length) - var r = /*<>*/ 0; + /*<>*/ if(i === length) + var r = /*<>*/ 0; else{ var - _w_ = /*<>*/ unsafe_get(arr2, dum2, i, length), + _A_ = /*<>*/ unsafe_get(arr2, dum2, i, length), c = - /*<>*/ /*<>*/ caml_call2 + /*<>*/ /*<>*/ caml_call2 (cmp, - /*<>*/ unsafe_get(arr1, dum1, i, length), - _w_); - /*<>*/ if(0 === c){ - var i$0 = /*<>*/ i + 1 | 0; + /*<>*/ unsafe_get(arr1, dum1, i, length), + _A_); + /*<>*/ if(0 === c){ + var i$0 = /*<>*/ i + 1 | 0; i = i$0; continue; } - var r = /*<>*/ c; + var r = /*<>*/ c; } - /*<>*/ check_same_length(cst_compare, a1, length); - /*<>*/ check_same_length(cst_compare$0, a2, length); - /*<>*/ return r; + /*<>*/ check_same_length(cst_compare, a1, length); + /*<>*/ check_same_length(cst_compare$0, a2, length); + /*<>*/ return r; } - /*<>*/ } + /*<>*/ } function of_array(a){ var - length = /*<>*/ a.length - 1, - arr = /*<>*/ copy(a, dummy); - /*<>*/ return [0, length, arr, dummy]; - /*<>*/ } + length = /*<>*/ a.length - 1, + arr = /*<>*/ copy_from_array(a, dummy); + /*<>*/ return [0, length, arr, dummy]; + /*<>*/ } function to_array(a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); var res = - /*<>*/ Stdlib_Array[1].call + /*<>*/ Stdlib_Array[1].call (null, length, function(i){ - /*<>*/ return unsafe_get(arr, dummy, i, length) /*<>*/ ; + /*<>*/ return unsafe_get(arr, dummy, i, length) /*<>*/ ; }); - /*<>*/ check_same_length(cst_to_array, a, length); - /*<>*/ return res; - /*<>*/ } + /*<>*/ check_same_length(cst_to_array, a, length); + /*<>*/ return res; + /*<>*/ } function of_list(li){ var - a = /*<>*/ Stdlib_Array[11].call(null, li), - length = /*<>*/ a.length - 1, - _w_ = /*<>*/ Stdlib_Obj[17], + a = /*<>*/ Stdlib_Array[11].call(null, li), + length = /*<>*/ a.length - 1, + _A_ = /*<>*/ Stdlib_Obj[17], arr = - caml_obj_tag(a) !== _w_ + caml_obj_tag(a) !== _A_ ? a - : /*<>*/ copy(a, dummy); - /*<>*/ return [0, length, arr, dummy]; - /*<>*/ } + : /*<>*/ copy_from_array(a, dummy); + /*<>*/ return [0, length, arr, dummy]; + /*<>*/ } function to_list(a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); var - _t_ = /*<>*/ 0, - _u_ = /*<>*/ length - 1 | 0; - if(_u_ < 0) - var l$0 = _t_; + _x_ = /*<>*/ 0, + _y_ = /*<>*/ length - 1 | 0; + if(_y_ < 0) + var l$0 = _x_; else{ - var l = _t_, i = _u_; + var l = _x_, i = _y_; for(;;){ var - _v_ = - /*<>*/ [0, unsafe_get(arr, dummy, i, length), l], - _w_ = /*<>*/ i - 1 | 0; - if(0 === i){var l$0 = _v_; break;} - l = _v_; - i = _w_; + _z_ = + /*<>*/ [0, unsafe_get(arr, dummy, i, length), l], + _A_ = /*<>*/ i - 1 | 0; + if(0 === i){var l$0 = _z_; break;} + l = _z_; + i = _A_; } } - /*<>*/ check_same_length(cst_to_list, a, length); - /*<>*/ return l$0; - /*<>*/ } + /*<>*/ check_same_length(cst_to_list, a, length); + /*<>*/ return l$0; + /*<>*/ } function of_seq(seq){ - var init = /*<>*/ create(0); - /*<>*/ append_seq(init, seq); - /*<>*/ return init; - /*<>*/ } + var init = /*<>*/ create(0); + /*<>*/ append_seq(init, seq); + /*<>*/ return init; + /*<>*/ } function to_seq(a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); function aux(i){ - /*<>*/ return function(param){ - /*<>*/ check_same_length(cst_to_seq, a, length); - /*<>*/ if(length <= i) - /*<>*/ return 0; - var v = /*<>*/ unsafe_get(arr, dummy, i, length); - /*<>*/ return [0, v, aux(i + 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; - /*<>*/ } - /*<>*/ return aux(0) /*<>*/ ; + /*<>*/ return function(param){ + /*<>*/ check_same_length(cst_to_seq, a, length); + /*<>*/ if(length <= i) + /*<>*/ return 0; + var v = /*<>*/ unsafe_get(arr, dummy, i, length); + /*<>*/ return [0, v, aux(i + 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; + /*<>*/ } + /*<>*/ return aux(0) /*<>*/ ; } function to_seq_reentrant(a){ function aux(i){ - /*<>*/ return function(param){ - /*<>*/ if(a[1] <= i) - /*<>*/ return 0; - var v = /*<>*/ get(a, i); - /*<>*/ return [0, v, aux(i + 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; - /*<>*/ } - /*<>*/ return aux(0) /*<>*/ ; + /*<>*/ return function(param){ + /*<>*/ if(a[1] <= i) + /*<>*/ return 0; + var v = /*<>*/ get(a, i); + /*<>*/ return [0, v, aux(i + 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; + /*<>*/ } + /*<>*/ return aux(0) /*<>*/ ; } function to_seq_rev(a){ - var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; - /*<>*/ check_valid_length(length, arr); + var length = /*<>*/ a[1], arr = a[2], dummy = a[3]; + /*<>*/ check_valid_length(length, arr); function aux(i){ - /*<>*/ return function(param){ - /*<>*/ check_same_length(cst_to_seq_rev, a, length); - /*<>*/ if(0 > i) - /*<>*/ return 0; - var v = /*<>*/ unsafe_get(arr, dummy, i, length); - /*<>*/ return [0, v, aux(i - 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; - /*<>*/ } - /*<>*/ return aux(length - 1 | 0) /*<>*/ ; + /*<>*/ return function(param){ + /*<>*/ check_same_length(cst_to_seq_rev, a, length); + /*<>*/ if(0 > i) + /*<>*/ return 0; + var v = /*<>*/ unsafe_get(arr, dummy, i, length); + /*<>*/ return [0, v, aux(i - 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; + /*<>*/ } + /*<>*/ return aux(length - 1 | 0) /*<>*/ ; } function to_seq_rev_reentrant(a){ function aux(i){ - /*<>*/ return function(param){ - /*<>*/ if(0 > i) - /*<>*/ return 0; - /*<>*/ if(a[1] <= i) - /*<>*/ return aux(a[1] - 1 | 0)(0) /*<>*/ ; - var v = /*<>*/ get(a, i); - /*<>*/ return [0, v, aux(i - 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; - /*<>*/ } - /*<>*/ return aux(a[1] - 1 | 0) /*<>*/ ; - } + /*<>*/ return function(param){ + /*<>*/ if(0 > i) + /*<>*/ return 0; + /*<>*/ if(a[1] <= i) + /*<>*/ return aux(a[1] - 1 | 0)(0) /*<>*/ ; + var v = /*<>*/ get(a, i); + /*<>*/ return [0, v, aux(i - 1 | 0)] /*<>*/ ; /*<>*/ } /*<>*/ ; + /*<>*/ } + /*<>*/ return aux(a[1] - 1 | 0) /*<>*/ ; + } + function unsafe_to_iarray(capacity, f){ + var a$0 = /*<>*/ create(0); + /*<>*/ set_capacity(a$0, capacity); + /*<>*/ caml_call1(f, a$0); + var + length = /*<>*/ a$0[1], + arr$0 = a$0[2], + dummy = a$0[3]; + /*<>*/ reset(a$0); + var capacity$0 = /*<>*/ arr$0.length - 1; + /*<>*/ check_valid_length(length, arr$0); + var + values = + /*<>*/ length === capacity$0 + ? arr$0 + : /*<>*/ prefix(arr$0, length); + /*<>*/ try{ + /*<>*/ if(0 === values.length - 1) + var arr = values; + else{ + var _v_ = /*<>*/ Stdlib_Obj[16]; + if + ( /*<>*/ caml_obj_tag + ( /*<>*/ caml_check_bound(values, 0)[1]) + !== _v_) + var arr = /*<>*/ values; + else{ + var + n = /*<>*/ values.length - 1, + a = + /*<>*/ /*<>*/ caml_array_make + (n, /*<>*/ caml_check_bound(values, 0)[1]), + _u_ = /*<>*/ n - 1 | 0, + _w_ = 1; + if(_u_ < 1) + var arr = a; + else{ + var i = _w_; + for(;;){ + var v = /*<>*/ values[i + 1]; + /*<>*/ a[i + 1] = v; + var _x_ = /*<>*/ i + 1 | 0; + if(_u_ === i){var arr = a; break;} + i = _x_; + } + } + } + } + /*<>*/ Stdlib_Array[15].call + (null, + function(i, v){ + var _x_ = /*<>*/ v === dummy ? 1 : 0; + /*<>*/ if(_x_) + /*<>*/ throw caml_maybe_attach_backtrace + ([0, Dummy_found, i], 1); + /*<>*/ return _x_; + /*<>*/ }, + arr); + var values$0 = arr; + } + catch(exn$0){ + var exn = /*<>*/ caml_wrap_exception(exn$0), tag = exn[1]; + if(tag !== Dummy_found) throw caml_maybe_attach_backtrace(exn, 0); + var + i$0 = exn[2], + values$0 = + /*<>*/ /*<>*/ missing_element + (i$0, length); + } + /*<>*/ return values$0; + /*<>*/ } var Stdlib_Dynarray = - /*<>*/ [0, + /*<>*/ [0, create, make, init, @@ -32927,7 +34839,7 @@ is_empty, get_last, find_last, - copy$0, + copy, add_last, append_array, append_list, @@ -32950,6 +34862,8 @@ filter_map, exists, for_all, + exists2, + for_all2, mem, memq, find_opt, @@ -32972,12 +34886,346 @@ ensure_extra_capacity, fit_capacity, set_capacity, - reset]; - runtime.caml_register_global(64, Stdlib_Dynarray, "Stdlib__Dynarray"); + reset, + unsafe_to_iarray]; + runtime.caml_register_global(72, Stdlib_Dynarray, "Stdlib__Dynarray"); return; /*<>*/ } (globalThis)); +//# unitInfo: Provides: Stdlib__Pqueue +//# unitInfo: Requires: Stdlib, Stdlib__Dynarray +//# shape: Stdlib__Pqueue:[F(1)*,F(1)*,F(1)*,F(1)*] +(function + (globalThis){ + "use strict"; + var runtime = globalThis.jsoo_runtime; + function caml_call2(f, a0, a1){ + return (f.l >= 0 ? f.l : f.l = f.length) === 2 + ? f(a0, a1) + : runtime.caml_call_gen(f, [a0, a1]); + } + var + dummy = 0, + global_data = runtime.caml_get_global_data(), + Stdlib_Dynarray = global_data.Stdlib__Dynarray, + Stdlib = global_data.Stdlib, + cst_empty_priority_queue = "empty priority queue"; + function MakeMinPoly(E){ + var + create = Stdlib_Dynarray[1], + length = Stdlib_Dynarray[6], + is_empty = Stdlib_Dynarray[7], + clear = Stdlib_Dynarray[22]; + function left_child(i){ + /*<>*/ return (2 * i | 0) + 1 | 0; + /*<>*/ } + function right_child(i){ + /*<>*/ return (2 * i | 0) + 2 | 0; + /*<>*/ } + function parent_node(i){ + /*<>*/ return (i - 1 | 0) / 2 | 0; + /*<>*/ } + function sift_up(h, i$0, x){ + var i = /*<>*/ i$0; + for(;;){ + if(0 === i) + /*<>*/ return Stdlib_Dynarray[5].call(null, h, 0, x) /*<>*/ ; + var + p = /*<>*/ parent_node(i), + y = /*<>*/ Stdlib_Dynarray[4].call(null, h, p); + /*<>*/ if(0 <= caml_call2(E[1], x, y)) + /*<>*/ return Stdlib_Dynarray[5].call(null, h, i, x) /*<>*/ ; + /*<>*/ Stdlib_Dynarray[5].call(null, h, i, y); + /*<>*/ i = p; + } + /*<>*/ } + function add(h, x){ + var i = /*<>*/ Stdlib_Dynarray[6].call(null, h); + /*<>*/ Stdlib_Dynarray[11].call(null, h, x); + var _g_ = /*<>*/ 0 < i ? 1 : 0; + return _g_ ? /*<>*/ sift_up(h, i, x) : _g_ /*<>*/ ; + } + function add_iter(h, iter, x){ + /*<>*/ return caml_call2 + (iter, + function(_g_){ /*<>*/ return add(h, _g_);}, + x) /*<>*/ ; + } + function min_elt(h){ + /*<>*/ return Stdlib_Dynarray[7].call(null, h) + ? 0 + : [0, + /*<>*/ Stdlib_Dynarray[4].call(null, h, 0)] /*<>*/ ; + } + function get_min_elt(h){ + /*<>*/ if(Stdlib_Dynarray[7].call(null, h)) + /*<>*/ Stdlib[1].call(null, cst_empty_priority_queue); + /*<>*/ return Stdlib_Dynarray[4].call(null, h, 0) /*<>*/ ; + } + function lt(h, i, j){ + var + _f_ = /*<>*/ Stdlib_Dynarray[4].call(null, h, j), + _g_ = /*<>*/ Stdlib_Dynarray[4].call(null, h, i); + /*<>*/ return caml_call2(E[1], _g_, _f_) < 0 ? 1 : 0 /*<>*/ ; + /*<>*/ } + function sift_down(h, len, i$0, x){ + var i = /*<>*/ i$0; + for(;;){ + var left = left_child(i); + /*<>*/ if(len <= left) + /*<>*/ return Stdlib_Dynarray[5].call(null, h, i, x) /*<>*/ ; + var + right = /*<>*/ right_child(i), + smallest = + /*<>*/ len <= right + ? left + : /*<>*/ lt(h, left, right) ? left : right, + y = + /*<>*/ Stdlib_Dynarray[4].call(null, h, smallest); + /*<>*/ if(0 <= caml_call2(E[1], y, x)) + /*<>*/ return Stdlib_Dynarray[5].call(null, h, i, x) /*<>*/ ; + /*<>*/ Stdlib_Dynarray[5].call(null, h, i, y); + /*<>*/ i = smallest; + } + /*<>*/ } + function pop_min(h){ + var n = /*<>*/ Stdlib_Dynarray[6].call(null, h); + /*<>*/ if(0 === n) /*<>*/ return 0; + var x = /*<>*/ Stdlib_Dynarray[19].call(null, h); + /*<>*/ if(1 === n) + /*<>*/ return [0, x]; + var r = /*<>*/ Stdlib_Dynarray[4].call(null, h, 0); + /*<>*/ sift_down(h, n - 1 | 0, 0, x); + /*<>*/ return [0, r]; + /*<>*/ } + function remove_min(h){ + var + n = /*<>*/ Stdlib_Dynarray[6].call(null, h), + _d_ = /*<>*/ 0 < n ? 1 : 0; + if(_d_){ + var + x = /*<>*/ Stdlib_Dynarray[19].call(null, h), + _e_ = /*<>*/ 1 < n ? 1 : 0; + if(_e_) + /*<>*/ return sift_down(h, n - 1 | 0, 0, x) /*<>*/ ; + var _f_ = /*<>*/ _e_; + } + else + var _f_ = /*<>*/ _d_; + return _f_; + /*<>*/ } + var copy = /*<>*/ Stdlib_Dynarray[10]; + function heapify(h){ + var + n = /*<>*/ Stdlib_Dynarray[6].call(null, h), + _c_ = /*<>*/ (n / 2 | 0) - 1 | 0; + if(_c_ >= 0){ + var i = _c_; + for(;;){ + /*<>*/ /*<>*/ sift_down + (h, + n, + i, + /*<>*/ Stdlib_Dynarray[4].call(null, h, i)); + var _d_ = /*<>*/ i - 1 | 0; + if(0 === i) break; + i = _d_; + } + } + /*<>*/ return h; + /*<>*/ } + function of_array(a){ + /*<>*/ return /*<>*/ heapify + ( /*<>*/ Stdlib_Dynarray[43].call(null, a)) /*<>*/ ; + } + function of_list(l){ + /*<>*/ return /*<>*/ heapify + ( /*<>*/ Stdlib_Dynarray[45].call(null, l)) /*<>*/ ; + } + function of_iter(iter, x){ + var + a = /*<>*/ Stdlib_Dynarray[1].call(null, 0), + _b_ = /*<>*/ Stdlib_Dynarray[11]; + /*<>*/ caml_call2 + (iter, function(_c_){ /*<>*/ return _b_(a, _c_);}, x); + /*<>*/ return heapify(a) /*<>*/ ; + } + var + iter_unordered = /*<>*/ Stdlib_Dynarray[23], + fold_unordered = Stdlib_Dynarray[27]; + return [0, + create, + length, + is_empty, + clear, + , + , + , + , + add, + add_iter, + min_elt, + get_min_elt, + , + , + pop_min, + remove_min, + copy, + , + of_array, + of_list, + of_iter, + iter_unordered, + fold_unordered]; + } + function MakeMaxPoly(E){ + function compare(x, y){ + /*<>*/ return caml_call2(E[1], y, x) /*<>*/ ; + } + var + include = /*<>*/ MakeMinPoly([0, compare]), + create = include[1], + length = include[2], + is_empty = include[3], + clear = include[4], + add = include[9], + add_iter = include[10], + min_elt = include[11], + get_min_elt = include[12], + pop_min = include[15], + remove_min = include[16], + copy = include[17], + of_array = include[19], + of_list = include[20], + of_iter = include[21], + iter_unordered = include[22], + fold_unordered = include[23]; + return [0, + create, + length, + is_empty, + add, + add_iter, + min_elt, + get_min_elt, + pop_min, + remove_min, + clear, + copy, + of_array, + of_list, + of_iter, + iter_unordered, + fold_unordered]; + } + var + Stdlib_Pqueue = + [0, + function(E){ + var + compare = E[1], + include = MakeMinPoly([0, compare]), + create = include[1], + length = include[2], + is_empty = include[3], + clear = include[4], + add = include[9], + add_iter = include[10], + min_elt = include[11], + get_min_elt = include[12], + pop_min = include[15], + remove_min = include[16], + copy = include[17], + of_array = include[19], + of_list = include[20], + of_iter = include[21], + iter_unordered = include[22], + fold_unordered = include[23]; + return [0, + create, + length, + is_empty, + add, + add_iter, + min_elt, + get_min_elt, + pop_min, + remove_min, + clear, + copy, + of_array, + of_list, + of_iter, + iter_unordered, + fold_unordered]; + }, + function(E){ + function compare(x, y){ + /*<>*/ return caml_call2(E[1], y, x) /*<>*/ ; + } + var + include = /*<>*/ MakeMinPoly([0, compare]), + create = include[1], + length = include[2], + is_empty = include[3], + clear = include[4], + add = include[9], + add_iter = include[10], + min_elt = include[11], + get_min_elt = include[12], + pop_min = include[15], + remove_min = include[16], + copy = include[17], + of_array = include[19], + of_list = include[20], + of_iter = include[21], + iter_unordered = include[22], + fold_unordered = include[23]; + return [0, + create, + length, + is_empty, + add, + add_iter, + min_elt, + get_min_elt, + pop_min, + remove_min, + clear, + copy, + of_array, + of_list, + of_iter, + iter_unordered, + fold_unordered]; + }, + function(_b_){ + var _a_ = MakeMinPoly(_b_); + return [0, + _a_[1], + _a_[2], + _a_[3], + _a_[9], + _a_[10], + _a_[11], + _a_[12], + _a_[15], + _a_[16], + _a_[4], + _a_[17], + _a_[19], + _a_[20], + _a_[21], + _a_[22], + _a_[23]]; + }, + MakeMaxPoly]; + runtime.caml_register_global(3, Stdlib_Pqueue, "Stdlib__Pqueue"); + return; + } + (globalThis)); + //# unitInfo: Provides: Stdlib__Ephemeron //# unitInfo: Requires: CamlinternalLazy, Stdlib, Stdlib__Array, Stdlib__Hashtbl, Stdlib__Int, Stdlib__List, Stdlib__Obj, Stdlib__Random, Stdlib__Seq, Stdlib__Sys //# shape: Stdlib__Ephemeron:[N,N,N] @@ -33033,7 +35281,7 @@ x = /*<>*/ 16; for(;;){ /*<>*/ if(initial_size <= x) break; - /*<>*/ if(Stdlib_Sys[13] < (x * 2 | 0)) break; + /*<>*/ if(Stdlib_Sys[14] < (x * 2 | 0)) break; var x$0 = /*<>*/ x * 2 | 0; x = x$0; } @@ -33137,7 +35385,7 @@ nsize = /*<>*/ osize * 2 | 0; /*<>*/ clean(h); var - _w_ = /*<>*/ nsize < Stdlib_Sys[13] ? 1 : 0, + _w_ = /*<>*/ nsize < Stdlib_Sys[14] ? 1 : 0, _x_ = _w_ ? (osize >>> 1 | 0) <= h[1] ? 1 : 0 : _w_; if(_x_){ var ndata = /*<>*/ caml_array_make(nsize, 0); @@ -33406,7 +35654,7 @@ function stats(h){ var mbl = - /*<>*/ Stdlib_Array[18].call + /*<>*/ Stdlib_Array[20].call (null, function(m, b){ var _v_ = /*<>*/ bucket_length(0, b); @@ -33416,7 +35664,7 @@ 0, h[2]), histo = /*<>*/ caml_array_make(mbl + 1 | 0, 0); - /*<>*/ Stdlib_Array[12].call + /*<>*/ Stdlib_Array[14].call (null, function(b){ var l = /*<>*/ bucket_length(0, b); @@ -33451,7 +35699,7 @@ var size = /*<>*/ [0, 0], mbl = - /*<>*/ Stdlib_Array[18].call + /*<>*/ Stdlib_Array[20].call (null, function(m, b){ var _v_ = /*<>*/ bucket_length_alive(0, b); @@ -33461,7 +35709,7 @@ 0, h[2]), histo = /*<>*/ caml_array_make(mbl + 1 | 0, 0); - /*<>*/ Stdlib_Array[12].call + /*<>*/ Stdlib_Array[14].call (null, function(b){ var l = /*<>*/ bucket_length_alive(0, b); @@ -33660,7 +35908,7 @@ /*<>*/ return 0; var h = /*<>*/ l[1], t = l[2]; /*<>*/ if(test_key(k, h)){ - /*<>*/ b[1] = Stdlib_List[13].call(null, acc, t); + /*<>*/ b[1] = Stdlib_List[14].call(null, acc, t); /*<>*/ return 0; } var @@ -33673,7 +35921,7 @@ function find(b, k){ var match = - /*<>*/ Stdlib_List[40].call + /*<>*/ Stdlib_List[41].call (null, function(_v_){ /*<>*/ return test_key(k, _v_);}, b[1]); @@ -33878,7 +36126,7 @@ /*<>*/ return 0; var h = /*<>*/ l[1], t = l[2]; /*<>*/ if(test_keys(k1, k2, h)){ - /*<>*/ b[1] = Stdlib_List[13].call(null, acc, t); + /*<>*/ b[1] = Stdlib_List[14].call(null, acc, t); /*<>*/ return 0; } var @@ -33891,7 +36139,7 @@ function find$0(b, k1, k2){ var match = - /*<>*/ Stdlib_List[40].call + /*<>*/ Stdlib_List[41].call (null, function(_v_){ /*<>*/ return test_keys(k1, k2, _v_); @@ -34187,7 +36435,7 @@ /*<>*/ return 0; var h = /*<>*/ l[1], t = l[2]; /*<>*/ if(test_keys$0(k, h)){ - /*<>*/ b[1] = Stdlib_List[13].call(null, acc, t); + /*<>*/ b[1] = Stdlib_List[14].call(null, acc, t); /*<>*/ return 0; } var @@ -34200,7 +36448,7 @@ function find$1(b, k){ var match = - /*<>*/ Stdlib_List[40].call + /*<>*/ Stdlib_List[41].call (null, function(_c_){ /*<>*/ return test_keys$0(k, _c_); @@ -34252,24 +36500,23 @@ "use strict"; var runtime = globalThis.jsoo_runtime, - cst$19 = "", - cst$23 = " ", + cst$18 = "", + cst$22 = " ", cst_2$1 = " 2>", cst_2_1$1 = " 2>&1", - cst$22 = " <", - cst$21 = " >", - cst$20 = '"', - cst$24 = ".", - cst$25 = "..", - cst$28 = "../", - cst$27 = "./", - cst$26 = "/", + cst$21 = " <", + cst$20 = " >", + cst$19 = '"', + cst$23 = ".", + cst$24 = "..", + cst$27 = "../", + cst$26 = "./", + cst$25 = "/", cst_dev_null = "/dev/null", caml_equal = runtime.caml_equal, caml_maybe_attach_backtrace = runtime.caml_maybe_attach_backtrace, caml_ml_string_length = runtime.caml_ml_string_length, caml_string_get = runtime.caml_string_get, - caml_sys_getenv = runtime.caml_sys_getenv, caml_trampoline = runtime.caml_trampoline, caml_trampoline_return = runtime.caml_trampoline_return, caml_wrap_exception = runtime.caml_wrap_exception; @@ -34290,39 +36537,38 @@ } var global_data = runtime.caml_get_global_data(), - cst$18 = cst$19, - cst$17 = cst$19, - cst$16 = cst$19, + cst$17 = cst$18, + cst$16 = cst$18, + cst$15 = cst$18, + cst$7 = cst$20, + cst$14 = cst$18, cst$8 = cst$21, - cst$15 = cst$19, + cst$13 = cst$18, cst$9 = cst$22, - cst$14 = cst$19, - cst$10 = cst$23, - cst$11 = cst$23, - cst$12 = cst$20, - cst$13 = cst$19, - cst$6 = cst$20, - cst$7 = cst$19, - cst$4 = cst$19, - cst = cst$21, - cst$3 = cst$19, - cst$0 = cst$22, - cst$2 = cst$19, - cst$1 = cst$23, + cst$10 = cst$22, + cst$11 = cst$19, + cst$12 = cst$18, + cst$5 = cst$19, + cst$6 = cst$18, + cst$4 = cst$18, + cst = cst$20, + cst$3 = cst$18, + cst$0 = cst$21, + cst$2 = cst$18, + cst$1 = cst$22, null$ = cst_dev_null, - current_dir_name = cst$24, - parent_dir_name = cst$25, - dir_sep = cst$26, + current_dir_name = cst$23, + parent_dir_name = cst$24, + dir_sep = cst$25, quotequote = "'\\''", null$0 = "NUL", - current_dir_name$0 = cst$24, - parent_dir_name$0 = cst$25, + current_dir_name$0 = cst$23, + parent_dir_name$0 = cst$24, dir_sep$0 = "\\", - cst$5 = cst$24, null$1 = cst_dev_null, - current_dir_name$1 = cst$24, - parent_dir_name$1 = cst$25, - dir_sep$1 = cst$26, + current_dir_name$1 = cst$23, + parent_dir_name$1 = cst$24, + dir_sep$1 = cst$25, Stdlib = global_data.Stdlib, Stdlib_Domain = global_data.Stdlib__Domain, Stdlib_Random = global_data.Stdlib__Random, @@ -34332,7 +36578,7 @@ Stdlib_Buffer = global_data.Stdlib__Buffer, Stdlib_Sys = global_data.Stdlib__Sys; function generic_basename(is_dir_sep, current_dir_name, name){ - /*<>*/ if(name === cst$19) + /*<>*/ if(name === cst$18) /*<>*/ return current_dir_name; var n$3 = /*<>*/ caml_ml_string_length(name) - 1 | 0, @@ -34358,7 +36604,7 @@ } /*<>*/ } function generic_dirname(is_dir_sep, current_dir_name, name){ - /*<>*/ if(name === cst$19) + /*<>*/ if(name === cst$18) /*<>*/ return current_dir_name; var n$5 = /*<>*/ caml_ml_string_length(name) - 1 | 0, @@ -34400,40 +36646,40 @@ /*<>*/ } function is_relative(n){ var - _ac_ = /*<>*/ caml_ml_string_length(n) < 1 ? 1 : 0, - _ad_ = - _ac_ + _ab_ = /*<>*/ caml_ml_string_length(n) < 1 ? 1 : 0, + _ac_ = + _ab_ || (47 !== /*<>*/ caml_string_get(n, 0) ? 1 : 0); - /*<>*/ return _ad_; + /*<>*/ return _ac_; /*<>*/ } function is_implicit(n){ - var _$_ = /*<>*/ is_relative(n); - /*<>*/ if(_$_){ + var ___ = /*<>*/ is_relative(n); + /*<>*/ if(___){ var - _ab_ = caml_ml_string_length(n) < 2 ? 1 : 0, - _aa_ = - _ab_ + _aa_ = caml_ml_string_length(n) < 2 ? 1 : 0, + _$_ = + _aa_ || ( /*<>*/ Stdlib_String[16].call(null, n, 0, 2) - !== cst$27 + !== cst$26 ? 1 : 0); - /*<>*/ if(_aa_) + /*<>*/ if(_$_) var - _ac_ = caml_ml_string_length(n) < 3 ? 1 : 0, - ___ = - _ac_ + _ab_ = caml_ml_string_length(n) < 3 ? 1 : 0, + _Z_ = + _ab_ || ( /*<>*/ Stdlib_String[16].call(null, n, 0, 3) - !== cst$28 + !== cst$27 ? 1 : 0); else - var ___ = /*<>*/ _aa_; + var _Z_ = /*<>*/ _$_; } else - var ___ = _$_; - return ___; + var _Z_ = ___; + return _Z_; /*<>*/ } function check_suffix(name, suff){ /*<>*/ return Stdlib_String[12].call(null, suff, name) /*<>*/ ; @@ -34461,18 +36707,18 @@ _c_ = [0, [2, 0, [4, 6, [0, 2, 6], 0, [2, 0, 0]]], "%s%06x%s"], cst_Filename_chop_extension = "Filename.chop_extension", cst_Filename_chop_suffix = "Filename.chop_suffix", - _b_ = [0, cst$20, 0], + _b_ = [0, cst$19, 0], cst_2_1$0 = cst_2_1$1, cst_2$0 = cst_2$1, cst_Filename_quote_command_bad = "Filename.quote_command: bad file name ", - _a_ = [0, cst$20, 0], + _a_ = [0, cst$19, 0], cst_2_1 = cst_2_1$1, cst_2 = cst_2$1, cst_tmp = "/tmp"; try{ var - _g_ = /*<>*/ caml_sys_getenv("TMPDIR"), - temp_dir_name = _g_; + _f_ = /*<>*/ runtime.caml_sys_getenv("TMPDIR"), + temp_dir_name = _f_; } catch(exn$0){ var exn = /*<>*/ caml_wrap_exception(exn$0); @@ -34484,19 +36730,19 @@ l = /*<>*/ caml_ml_string_length(s), b = /*<>*/ Stdlib_Buffer[1].call(null, l + 20 | 0); /*<>*/ Stdlib_Buffer[12].call(null, b, 39); - var _X_ = /*<>*/ l - 1 | 0, _Y_ = 0; - if(_X_ >= 0){ - var i = _Y_; + var _W_ = /*<>*/ l - 1 | 0, _X_ = 0; + if(_W_ >= 0){ + var i = _X_; for(;;){ /*<>*/ if(39 === caml_string_get(s, i)) /*<>*/ Stdlib_Buffer[16].call(null, b, quotequote); else{ - var ___ = /*<>*/ caml_string_get(s, i); - /*<>*/ Stdlib_Buffer[12].call(null, b, ___); + var _Z_ = /*<>*/ caml_string_get(s, i); + /*<>*/ Stdlib_Buffer[12].call(null, b, _Z_); } - var _Z_ = /*<>*/ i + 1 | 0; - if(_X_ === i) break; - i = _Z_; + var _Y_ = /*<>*/ i + 1 | 0; + if(_W_ === i) break; + i = _Y_; } } /*<>*/ Stdlib_Buffer[12].call(null, b, 39); @@ -34506,50 +36752,50 @@ /*<>*/ if(stderr){ var f = stderr[1]; /*<>*/ if(caml_equal(stderr, stdout)) - var _O_ = /*<>*/ cst_2_1; + var _N_ = /*<>*/ cst_2_1; else var - _X_ = /*<>*/ quote(f), - _O_ = + _W_ = /*<>*/ quote(f), + _N_ = /*<>*/ /*<>*/ Stdlib[28].call - (null, cst_2, _X_); + (null, cst_2, _W_); } else - var _O_ = /*<>*/ cst$4; + var _N_ = /*<>*/ cst$4; if(stdout) var f$0 = stdout[1], - _R_ = /*<>*/ quote(f$0), - _P_ = + _Q_ = /*<>*/ quote(f$0), + _O_ = /*<>*/ /*<>*/ Stdlib[28].call - (null, cst, _R_); + (null, cst, _Q_); else - var _P_ = /*<>*/ cst$3; - var _S_ = /*<>*/ Stdlib[28].call(null, _P_, _O_); + var _O_ = /*<>*/ cst$3; + var _R_ = /*<>*/ Stdlib[28].call(null, _O_, _N_); /*<>*/ if(stdin) var f$1 = stdin[1], - _T_ = /*<>*/ quote(f$1), - _Q_ = + _S_ = /*<>*/ quote(f$1), + _P_ = /*<>*/ /*<>*/ Stdlib[28].call - (null, cst$0, _T_); + (null, cst$0, _S_); else - var _Q_ = /*<>*/ cst$2; + var _P_ = /*<>*/ cst$2; var - _U_ = /*<>*/ Stdlib[28].call(null, _Q_, _S_), - _V_ = - /*<>*/ Stdlib_List[20].call + _T_ = /*<>*/ Stdlib[28].call(null, _P_, _R_), + _U_ = + /*<>*/ Stdlib_List[21].call (null, quote, [0, cmd, args]), - _W_ = /*<>*/ Stdlib_String[7].call(null, cst$1, _V_); - /*<>*/ return Stdlib[28].call(null, _W_, _U_) /*<>*/ ; + _V_ = /*<>*/ Stdlib_String[7].call(null, cst$1, _U_); + /*<>*/ return Stdlib[28].call(null, _V_, _T_) /*<>*/ ; } - function basename(_O_){ + function basename(_N_){ /*<>*/ return generic_basename - (is_dir_sep, current_dir_name, _O_); + (is_dir_sep, current_dir_name, _N_); } - function dirname(_O_){ + function dirname(_N_){ /*<>*/ return generic_dirname - (is_dir_sep, current_dir_name, _O_); + (is_dir_sep, current_dir_name, _N_); } var Unix = @@ -34571,101 +36817,101 @@ function is_dir_sep$0(s, i){ var c = /*<>*/ caml_string_get(s, i), - _M_ = /*<>*/ 47 === c ? 1 : 0; - if(_M_) - var _N_ = _M_; + _L_ = /*<>*/ 47 === c ? 1 : 0; + if(_L_) + var _M_ = _L_; else - var _O_ = 92 === c ? 1 : 0, _N_ = _O_ || (58 === c ? 1 : 0); - return _N_; + var _N_ = 92 === c ? 1 : 0, _M_ = _N_ || (58 === c ? 1 : 0); + return _M_; /*<>*/ } function is_relative$0(n){ var - _K_ = /*<>*/ caml_ml_string_length(n) < 1 ? 1 : 0, - _I_ = - _K_ + _J_ = /*<>*/ caml_ml_string_length(n) < 1 ? 1 : 0, + _H_ = + _J_ || (47 !== /*<>*/ caml_string_get(n, 0) ? 1 : 0); - /*<>*/ if(_I_){ + /*<>*/ if(_H_){ var - _L_ = caml_ml_string_length(n) < 1 ? 1 : 0, - _J_ = - _L_ + _K_ = caml_ml_string_length(n) < 1 ? 1 : 0, + _I_ = + _K_ || (92 !== /*<>*/ caml_string_get(n, 0) ? 1 : 0); - /*<>*/ if(_J_) + /*<>*/ if(_I_) var - _M_ = caml_ml_string_length(n) < 2 ? 1 : 0, - _H_ = - _M_ + _L_ = caml_ml_string_length(n) < 2 ? 1 : 0, + _G_ = + _L_ || (58 !== /*<>*/ caml_string_get(n, 1) ? 1 : 0); else - var _H_ = /*<>*/ _J_; + var _G_ = /*<>*/ _I_; } else - var _H_ = _I_; - return _H_; + var _G_ = _H_; + return _G_; /*<>*/ } function is_implicit$0(n){ - var _A_ = /*<>*/ is_relative$0(n); - /*<>*/ if(_A_){ + var _z_ = /*<>*/ is_relative$0(n); + /*<>*/ if(_z_){ var - _E_ = caml_ml_string_length(n) < 2 ? 1 : 0, - _B_ = - _E_ + _D_ = caml_ml_string_length(n) < 2 ? 1 : 0, + _A_ = + _D_ || ( /*<>*/ Stdlib_String[16].call(null, n, 0, 2) - !== cst$27 + !== cst$26 ? 1 : 0); - /*<>*/ if(_B_){ + /*<>*/ if(_A_){ var - _F_ = caml_ml_string_length(n) < 2 ? 1 : 0, - _C_ = - _F_ + _E_ = caml_ml_string_length(n) < 2 ? 1 : 0, + _B_ = + _E_ || ( /*<>*/ Stdlib_String[16].call(null, n, 0, 2) !== ".\\" ? 1 : 0); - /*<>*/ if(_C_){ + /*<>*/ if(_B_){ var - _G_ = caml_ml_string_length(n) < 3 ? 1 : 0, - _D_ = - _G_ + _F_ = caml_ml_string_length(n) < 3 ? 1 : 0, + _C_ = + _F_ || ( /*<>*/ Stdlib_String[16].call(null, n, 0, 3) - !== cst$28 + !== cst$27 ? 1 : 0); - /*<>*/ if(_D_) + /*<>*/ if(_C_) var - _H_ = caml_ml_string_length(n) < 3 ? 1 : 0, - _z_ = - _H_ + _G_ = caml_ml_string_length(n) < 3 ? 1 : 0, + _y_ = + _G_ || ( /*<>*/ Stdlib_String[16].call(null, n, 0, 3) !== "..\\" ? 1 : 0); else - var _z_ = /*<>*/ _D_; + var _y_ = /*<>*/ _C_; } else - var _z_ = _C_; + var _y_ = _B_; } else - var _z_ = _B_; + var _y_ = _A_; } else - var _z_ = _A_; - return _z_; + var _y_ = _z_; + return _y_; /*<>*/ } function check_suffix$0(name, suff){ var - _x_ = + _w_ = /*<>*/ caml_ml_string_length(suff) <= caml_ml_string_length(name) ? 1 : 0; - if(_x_) + if(_w_) var s = /*<>*/ Stdlib_String[16].call @@ -34675,17 +36921,17 @@ - caml_ml_string_length(suff) | 0, caml_ml_string_length(suff)), - _z_ = /*<>*/ Stdlib_String[27].call(null, suff), - _y_ = + _y_ = /*<>*/ Stdlib_String[27].call(null, suff), + _x_ = /*<>*/ /*<>*/ Stdlib_String [27].call (null, s) - === _z_ + === _y_ ? 1 : 0; else - var _y_ = /*<>*/ _x_; - return _y_; + var _x_ = /*<>*/ _w_; + return _x_; /*<>*/ } function chop_suffix_opt$0(suffix, filename){ var @@ -34697,23 +36943,16 @@ r = /*<>*/ Stdlib_String[16].call (null, filename, len_f - len_s | 0, len_s), - _x_ = /*<>*/ Stdlib_String[27].call(null, suffix); - /*<>*/ return Stdlib_String[27].call(null, r) === _x_ + _w_ = /*<>*/ Stdlib_String[27].call(null, suffix); + /*<>*/ return Stdlib_String[27].call(null, r) === _w_ ? [0, /*<>*/ Stdlib_String[16].call (null, filename, 0, len_f - len_s | 0)] : 0 /*<>*/ ; } - /*<>*/ try{ - var - _f_ = /*<>*/ caml_sys_getenv("TEMP"), - temp_dir_name$0 = _f_; - } - catch(exn){ - var exn$0 = /*<>*/ caml_wrap_exception(exn); - if(exn$0 !== Stdlib[8]) throw caml_maybe_attach_backtrace(exn$0, 0); - var temp_dir_name$0 = cst$5; - } + var + temp_dir_name$0 = + /*<>*/ runtime.caml_sys_temp_dir_name(0); function quote$0(s){ var l = /*<>*/ caml_ml_string_length(s), @@ -34726,18 +36965,18 @@ /*<>*/ return Stdlib_Buffer[12].call(null, b, 34) /*<>*/ ; var c = /*<>*/ caml_string_get(s, i); /*<>*/ if(34 === c){ - var _w_ = /*<>*/ 0; + var _v_ = /*<>*/ 0; if(counter >= 50) - return caml_trampoline_return(loop_bs, [0, _w_, i]) /*<>*/ ; + return caml_trampoline_return(loop_bs, [0, _v_, i]) /*<>*/ ; var counter$1 = /*<>*/ counter + 1 | 0; - return loop_bs(counter$1, _w_, i) /*<>*/ ; + return loop_bs(counter$1, _v_, i) /*<>*/ ; } /*<>*/ if(92 === c){ - var _x_ = /*<>*/ 0; + var _w_ = /*<>*/ 0; if(counter >= 50) - return caml_trampoline_return(loop_bs, [0, _x_, i]) /*<>*/ ; + return caml_trampoline_return(loop_bs, [0, _w_, i]) /*<>*/ ; var counter$0 = /*<>*/ counter + 1 | 0; - return loop_bs(counter$0, _x_, i) /*<>*/ ; + return loop_bs(counter$0, _w_, i) /*<>*/ ; } /*<>*/ Stdlib_Buffer[12].call(null, b, c); var i$0 = /*<>*/ i + 1 | 0; @@ -34759,11 +36998,11 @@ /*<>*/ if(34 === match){ /*<>*/ add_bs((2 * n | 0) + 1 | 0); /*<>*/ Stdlib_Buffer[12].call(null, b, 34); - var _w_ = /*<>*/ i + 1 | 0; + var _v_ = /*<>*/ i + 1 | 0; if(counter >= 50) - return caml_trampoline_return(loop$0, [0, _w_]) /*<>*/ ; + return caml_trampoline_return(loop$0, [0, _v_]) /*<>*/ ; var counter$1 = /*<>*/ counter + 1 | 0; - return loop$0(counter$1, _w_) /*<>*/ ; + return loop$0(counter$1, _v_) /*<>*/ ; } /*<>*/ if(92 !== match){ /*<>*/ add_bs(n); @@ -34778,14 +37017,14 @@ } /*<>*/ } function add_bs(n){ - var _v_ = /*<>*/ 1; + var _u_ = /*<>*/ 1; if(n >= 1){ - var j = _v_; + var j = _u_; for(;;){ /*<>*/ Stdlib_Buffer[12].call(null, b, 92); - var _w_ = /*<>*/ j + 1 | 0; + var _v_ = /*<>*/ j + 1 | 0; if(n === j) break; - j = _w_; + j = _v_; } } /*<>*/ } @@ -34817,52 +37056,52 @@ /*<>*/ return Stdlib_String[15].call(null, f$0, 32) ? /*<>*/ Stdlib_String [7].call - (null, cst$7, [0, cst$6, [0, f$0, _a_]]) + (null, cst$6, [0, cst$5, [0, f$0, _a_]]) : f$0 /*<>*/ ; var - _v_ = + _u_ = /*<>*/ Stdlib[28].call (null, cst_Filename_quote_command_bad, f$0); - /*<>*/ return Stdlib[2].call(null, _v_) /*<>*/ ; + /*<>*/ return Stdlib[2].call(null, _u_) /*<>*/ ; } function quote_command$0(cmd, stdin, stdout, stderr, args){ /*<>*/ if(stderr){ var f = stderr[1]; /*<>*/ if(caml_equal(stderr, stdout)) - var _l_ = /*<>*/ cst_2_1$0; + var _k_ = /*<>*/ cst_2_1$0; else var - _v_ = /*<>*/ quote_cmd_filename(f), - _l_ = + _u_ = /*<>*/ quote_cmd_filename(f), + _k_ = /*<>*/ /*<>*/ Stdlib[28].call - (null, cst_2$0, _v_); + (null, cst_2$0, _u_); } else - var _l_ = /*<>*/ cst$16; - var _o_ = [0, _l_, _b_]; + var _k_ = /*<>*/ cst$15; + var _n_ = [0, _k_, _b_]; if(stdout) var f$0 = stdout[1], - _p_ = /*<>*/ quote_cmd_filename(f$0), - _m_ = + _o_ = /*<>*/ quote_cmd_filename(f$0), + _l_ = /*<>*/ /*<>*/ Stdlib[28].call - (null, cst$8, _p_); + (null, cst$7, _o_); else - var _m_ = /*<>*/ cst$15; - var _q_ = [0, _m_, _o_]; + var _l_ = /*<>*/ cst$14; + var _p_ = [0, _l_, _n_]; if(stdin) var f$1 = stdin[1], - _r_ = /*<>*/ quote_cmd_filename(f$1), - _n_ = + _q_ = /*<>*/ quote_cmd_filename(f$1), + _m_ = /*<>*/ /*<>*/ Stdlib[28].call - (null, cst$9, _r_); + (null, cst$8, _q_); else - var _n_ = /*<>*/ cst$14; + var _m_ = /*<>*/ cst$13; var - _s_ = - /*<>*/ Stdlib_List[20].call(null, quote$0, args), - s = /*<>*/ Stdlib_String[7].call(null, cst$10, _s_), + _r_ = + /*<>*/ Stdlib_List[21].call(null, quote$0, args), + s = /*<>*/ Stdlib_String[7].call(null, cst$9, _r_), b = /*<>*/ /*<>*/ Stdlib_Buffer[1].call (null, /*<>*/ caml_ml_string_length(s) + 20 | 0); @@ -34872,11 +37111,11 @@ a: { /*<>*/ if(62 <= c){ - var _v_ = c - 63 | 0; - if(60 < _v_ >>> 0){ - if(62 <= _v_) break a; + var _u_ = c - 63 | 0; + if(60 < _u_ >>> 0){ + if(62 <= _u_) break a; } - else if(31 !== _v_) break a; + else if(31 !== _u_) break a; } else if(42 <= c){ @@ -34894,21 +37133,21 @@ }, s); var - _t_ = + _s_ = /*<>*/ [0, - cst$11, - [0, Stdlib_Buffer[2].call(null, b), [0, _n_, _q_]]], - _u_ = + cst$10, + [0, Stdlib_Buffer[2].call(null, b), [0, _m_, _p_]]], + _t_ = /*<>*/ [0, - cst$12, - [0, quote_cmd_filename(cmd), _t_]]; + cst$11, + [0, quote_cmd_filename(cmd), _s_]]; /*<>*/ return Stdlib_String[7].call - (null, cst$13, _u_) /*<>*/ ; + (null, cst$12, _t_) /*<>*/ ; } function drive_and_path(s){ var - _j_ = /*<>*/ 2 <= caml_ml_string_length(s) ? 1 : 0; - if(_j_){ + _i_ = /*<>*/ 2 <= caml_ml_string_length(s) ? 1 : 0; + if(_i_){ var param = /*<>*/ caml_string_get(s, 0); a: { @@ -34918,23 +37157,23 @@ if(25 < param - 97 >>> 0) break b; } else if(65 > param) break b; - var _i_ = /*<>*/ 1; + var _h_ = /*<>*/ 1; break a; } - var _i_ = /*<>*/ 0; + var _h_ = /*<>*/ 0; } var - _k_ = - /*<>*/ _i_ + _j_ = + /*<>*/ _h_ ? 58 === /*<>*/ caml_string_get(s, 1) ? 1 : 0 - : _i_; + : _h_; } else - var _k_ = /*<>*/ _j_; - /*<>*/ if(! _k_) - /*<>*/ return [0, cst$17, s]; + var _j_ = /*<>*/ _i_; + /*<>*/ if(! _j_) + /*<>*/ return [0, cst$16, s]; var - _l_ = + _k_ = /*<>*/ /*<>*/ Stdlib_String [16].call (null, @@ -34943,7 +37182,7 @@ /*<>*/ caml_ml_string_length(s) - 2 | 0); /*<>*/ return [0, Stdlib_String[16].call(null, s, 0, 2), - _l_] /*<>*/ ; + _k_] /*<>*/ ; /*<>*/ } function dirname$0(s){ var @@ -34962,7 +37201,7 @@ } var Win32 = - /*<>*/ [0, + /*<>*/ [0, null$0, current_dir_name$0, parent_dir_name$0, @@ -34977,13 +37216,13 @@ quote_command$0, basename$0, dirname$0]; - function basename$1(_i_){ + function basename$1(_h_){ /*<>*/ return generic_basename - (is_dir_sep$0, current_dir_name$1, _i_); + (is_dir_sep$0, current_dir_name$1, _h_); } - function dirname$1(_i_){ + function dirname$1(_h_){ /*<>*/ return generic_dirname - (is_dir_sep$0, current_dir_name$1, _i_); + (is_dir_sep$0, current_dir_name$1, _h_); } var Cygwin = @@ -35002,7 +37241,7 @@ quote_command, basename$1, dirname$1], - match = Stdlib_Sys[4], + match = Stdlib_Sys[5], Sysdeps = match !== "Cygwin" ? match !== "Win32" ? Unix : Win32 : Cygwin, null$2 = Sysdeps[1], current_dir_name$2 = Sysdeps[2], @@ -35024,9 +37263,9 @@ (0 !== l && ! /*<>*/ is_dir_sep$1(dirname, l - 1 | 0)){ var - _i_ = + _h_ = /*<>*/ Stdlib[28].call(null, dir_sep$2, filename); - /*<>*/ return Stdlib[28].call(null, dirname, _i_); + /*<>*/ return Stdlib[28].call(null, dirname, _h_); } /*<>*/ return Stdlib[28].call(null, dirname, filename) /*<>*/ ; } @@ -35072,7 +37311,7 @@ function extension(name){ var l = /*<>*/ extension_len(name); /*<>*/ return 0 === l - ? cst$18 + ? cst$17 : /*<>*/ Stdlib_String [16].call (null, name, caml_ml_string_length(name) - l | 0, l) /*<>*/ ; @@ -35116,7 +37355,7 @@ current_temp_dir_name = /*<>*/ caml_call2 (Stdlib_Domain[11][1], - [0, function(_i_){ /*<>*/ return _i_;}], + [0, function(_h_){ /*<>*/ return _h_;}], function(param){ /*<>*/ return temp_dir_name$1; /*<>*/ }); @@ -35155,10 +37394,10 @@ } } /*<>*/ } - function open_temp_file(_h_, _g_, opt, prefix, suffix){ + function open_temp_file(_g_, _f_, opt, prefix, suffix){ var - mode = /*<>*/ _h_ ? _h_[1] : _e_, - perms = _g_ ? _g_[1] : 384, + mode = /*<>*/ _g_ ? _g_[1] : _e_, + perms = _f_ ? _f_[1] : 384, temp_dir = opt ? opt[1] @@ -35171,11 +37410,11 @@ /*<>*/ temp_file_name(temp_dir, prefix, suffix); /*<>*/ try{ var - _i_ = + _h_ = /*<>*/ [0, name, Stdlib[62].call(null, [0, 1, [0, 3, [0, 5, mode]]], perms, name)]; - return _i_; + return _h_; } catch(e$0){ var e = /*<>*/ caml_wrap_exception(e$0), tag = e[1]; @@ -35187,11 +37426,11 @@ } } /*<>*/ } - function temp_dir(_g_, opt, prefix, suffix){ + function temp_dir(_f_, opt, prefix, suffix){ var temp_dir = - /*<>*/ _g_ - ? _g_[1] + /*<>*/ _f_ + ? _f_[1] : /*<>*/ caml_call1 (Stdlib_Domain[11][2], current_temp_dir_name), perms = /*<>*/ opt ? opt[1] : 448, @@ -35239,7 +37478,7 @@ set_temp_dir_name, quote$1, quote_command$1]; - runtime.caml_register_global(66, Stdlib_Filename, "Stdlib__Filename"); + runtime.caml_register_global(64, Stdlib_Filename, "Stdlib__Filename"); return; /*<>*/ } (globalThis)); @@ -35385,7 +37624,7 @@ //# unitInfo: Provides: Stdlib__ArrayLabels //# unitInfo: Requires: Stdlib__Array -//# shape: Stdlib__ArrayLabels:[F(2),F(3),F(3),F(2)*,F(1)*,F(3),F(1)*,F(4),F(5),F(1),F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(1)*->F(1)*,F(1)*->F(1)*,F(1),[]] +//# shape: Stdlib__ArrayLabels:[F(2),F(3),F(3),F(2)*,F(1)*,F(3),F(1)*,F(4),F(5),F(1),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(1)*->F(1)*,F(1)*->F(1)*,F(1),[]] (function (globalThis){ "use strict"; @@ -35404,37 +37643,39 @@ blit = Stdlib_Array[9], to_list = Stdlib_Array[10], of_list = Stdlib_Array[11], - iter = Stdlib_Array[12], - iteri = Stdlib_Array[13], - map = Stdlib_Array[14], - map_inplace = Stdlib_Array[15], - mapi = Stdlib_Array[16], - mapi_inplace = Stdlib_Array[17], - fold_left = Stdlib_Array[18], - fold_left_map = Stdlib_Array[19], - fold_right = Stdlib_Array[20], - iter2 = Stdlib_Array[21], - map2 = Stdlib_Array[22], - for_all = Stdlib_Array[23], - exists = Stdlib_Array[24], - for_all2 = Stdlib_Array[25], - exists2 = Stdlib_Array[26], - mem = Stdlib_Array[27], - memq = Stdlib_Array[28], - find_opt = Stdlib_Array[29], - find_index = Stdlib_Array[30], - find_map = Stdlib_Array[31], - find_mapi = Stdlib_Array[32], - split = Stdlib_Array[33], - combine = Stdlib_Array[34], - sort = Stdlib_Array[35], - stable_sort = Stdlib_Array[36], - fast_sort = Stdlib_Array[37], - shuffle = Stdlib_Array[38], - to_seq = Stdlib_Array[39], - to_seqi = Stdlib_Array[40], - of_seq = Stdlib_Array[41], - Floatarray = Stdlib_Array[42], + equal = Stdlib_Array[12], + compare = Stdlib_Array[13], + iter = Stdlib_Array[14], + iteri = Stdlib_Array[15], + map = Stdlib_Array[16], + map_inplace = Stdlib_Array[17], + mapi = Stdlib_Array[18], + mapi_inplace = Stdlib_Array[19], + fold_left = Stdlib_Array[20], + fold_left_map = Stdlib_Array[21], + fold_right = Stdlib_Array[22], + iter2 = Stdlib_Array[23], + map2 = Stdlib_Array[24], + for_all = Stdlib_Array[25], + exists = Stdlib_Array[26], + for_all2 = Stdlib_Array[27], + exists2 = Stdlib_Array[28], + mem = Stdlib_Array[29], + memq = Stdlib_Array[30], + find_opt = Stdlib_Array[31], + find_index = Stdlib_Array[32], + find_map = Stdlib_Array[33], + find_mapi = Stdlib_Array[34], + split = Stdlib_Array[35], + combine = Stdlib_Array[36], + sort = Stdlib_Array[37], + stable_sort = Stdlib_Array[38], + fast_sort = Stdlib_Array[39], + shuffle = Stdlib_Array[40], + to_seq = Stdlib_Array[41], + to_seqi = Stdlib_Array[42], + of_seq = Stdlib_Array[43], + Floatarray = Stdlib_Array[44], Stdlib_ArrayLabels = [0, init, @@ -35448,6 +37689,8 @@ blit, to_list, of_list, + equal, + compare, iter, iteri, map, @@ -35486,7 +37729,7 @@ //# unitInfo: Provides: Stdlib__ListLabels //# unitInfo: Requires: Stdlib__List -//# shape: Stdlib__ListLabels:[F(1),F(2),F(2),F(1)*,F(2)*,F(1),F(1),F(2),F(2),F(1),F(2),F(2),F(2),F(1),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(3),F(4),F(4),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*->F(1),F(2),F(1)*->F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(3),F(1)*->F(1)*,F(1)] +//# shape: Stdlib__ListLabels:[F(1),F(2),F(2),F(1)*,F(2)*,F(1)*,F(1),F(1),F(2),F(2),F(1),F(2),F(2),F(2),F(1),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(3),F(3),F(3),F(3),F(3),F(3),F(4),F(4),F(2),F(2),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*->F(1),F(2),F(1)*->F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(3),F(1)*->F(1)*,F(1)] (function (globalThis){ "use strict"; @@ -35499,70 +37742,71 @@ compare_length_with = Stdlib_List[3], is_empty = Stdlib_List[4], cons = Stdlib_List[5], - hd = Stdlib_List[6], - tl = Stdlib_List[7], - nth = Stdlib_List[8], - nth_opt = Stdlib_List[9], - rev = Stdlib_List[10], - init = Stdlib_List[11], - append = Stdlib_List[12], - rev_append = Stdlib_List[13], - concat = Stdlib_List[14], - flatten = Stdlib_List[15], - equal = Stdlib_List[16], - compare = Stdlib_List[17], - iter = Stdlib_List[18], - iteri = Stdlib_List[19], - map = Stdlib_List[20], - mapi = Stdlib_List[21], - rev_map = Stdlib_List[22], - filter_map = Stdlib_List[23], - concat_map = Stdlib_List[24], - fold_left_map = Stdlib_List[25], - fold_left = Stdlib_List[26], - fold_right = Stdlib_List[27], - iter2 = Stdlib_List[28], - map2 = Stdlib_List[29], - rev_map2 = Stdlib_List[30], - fold_left2 = Stdlib_List[31], - fold_right2 = Stdlib_List[32], - for_all = Stdlib_List[33], - exists = Stdlib_List[34], - for_all2 = Stdlib_List[35], - exists2 = Stdlib_List[36], - mem = Stdlib_List[37], - memq = Stdlib_List[38], - find = Stdlib_List[39], - find_opt = Stdlib_List[40], - find_index = Stdlib_List[41], - find_map = Stdlib_List[42], - find_mapi = Stdlib_List[43], - filter = Stdlib_List[44], - find_all = Stdlib_List[45], - filteri = Stdlib_List[46], - take = Stdlib_List[47], - drop = Stdlib_List[48], - take_while = Stdlib_List[49], - drop_while = Stdlib_List[50], - partition = Stdlib_List[51], - partition_map = Stdlib_List[52], - assoc = Stdlib_List[53], - assoc_opt = Stdlib_List[54], - assq = Stdlib_List[55], - assq_opt = Stdlib_List[56], - mem_assoc = Stdlib_List[57], - mem_assq = Stdlib_List[58], - remove_assoc = Stdlib_List[59], - remove_assq = Stdlib_List[60], - split = Stdlib_List[61], - combine = Stdlib_List[62], - sort = Stdlib_List[63], - stable_sort = Stdlib_List[64], - fast_sort = Stdlib_List[65], - sort_uniq = Stdlib_List[66], - merge = Stdlib_List[67], - to_seq = Stdlib_List[68], - of_seq = Stdlib_List[69], + singleton = Stdlib_List[6], + hd = Stdlib_List[7], + tl = Stdlib_List[8], + nth = Stdlib_List[9], + nth_opt = Stdlib_List[10], + rev = Stdlib_List[11], + init = Stdlib_List[12], + append = Stdlib_List[13], + rev_append = Stdlib_List[14], + concat = Stdlib_List[15], + flatten = Stdlib_List[16], + equal = Stdlib_List[17], + compare = Stdlib_List[18], + iter = Stdlib_List[19], + iteri = Stdlib_List[20], + map = Stdlib_List[21], + mapi = Stdlib_List[22], + rev_map = Stdlib_List[23], + filter_map = Stdlib_List[24], + concat_map = Stdlib_List[25], + fold_left_map = Stdlib_List[26], + fold_left = Stdlib_List[27], + fold_right = Stdlib_List[28], + iter2 = Stdlib_List[29], + map2 = Stdlib_List[30], + rev_map2 = Stdlib_List[31], + fold_left2 = Stdlib_List[32], + fold_right2 = Stdlib_List[33], + for_all = Stdlib_List[34], + exists = Stdlib_List[35], + for_all2 = Stdlib_List[36], + exists2 = Stdlib_List[37], + mem = Stdlib_List[38], + memq = Stdlib_List[39], + find = Stdlib_List[40], + find_opt = Stdlib_List[41], + find_index = Stdlib_List[42], + find_map = Stdlib_List[43], + find_mapi = Stdlib_List[44], + filter = Stdlib_List[45], + find_all = Stdlib_List[46], + filteri = Stdlib_List[47], + take = Stdlib_List[48], + drop = Stdlib_List[49], + take_while = Stdlib_List[50], + drop_while = Stdlib_List[51], + partition = Stdlib_List[52], + partition_map = Stdlib_List[53], + assoc = Stdlib_List[54], + assoc_opt = Stdlib_List[55], + assq = Stdlib_List[56], + assq_opt = Stdlib_List[57], + mem_assoc = Stdlib_List[58], + mem_assq = Stdlib_List[59], + remove_assoc = Stdlib_List[60], + remove_assq = Stdlib_List[61], + split = Stdlib_List[62], + combine = Stdlib_List[63], + sort = Stdlib_List[64], + stable_sort = Stdlib_List[65], + fast_sort = Stdlib_List[66], + sort_uniq = Stdlib_List[67], + merge = Stdlib_List[68], + to_seq = Stdlib_List[69], + of_seq = Stdlib_List[70], Stdlib_ListLabels = [0, length, @@ -35570,6 +37814,7 @@ compare_length_with, is_empty, cons, + singleton, hd, tl, nth, @@ -35832,7 +38077,7 @@ //# unitInfo: Provides: Stdlib__StringLabels //# unitInfo: Requires: Stdlib__String -//# shape: Stdlib__StringLabels:[F(2),F(2),N,F(1),F(1),F(5),F(2),F(2)*,F(2)*,F(2)*,F(2),F(2),F(3),F(3),F(2),F(3),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(1),F(1),F(1),F(1),F(1),F(1),F(2),F(2),F(3),F(3),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*,F(1)*,F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(2)] +//# shape: Stdlib__StringLabels:[F(2),F(2),N,F(1),F(1),F(5),F(2),F(2)*,F(2)*,F(2)*,F(2),F(2),F(3),F(3),F(2),F(3),F(2),F(2),F(2),F(3),F(3),F(2),F(2),F(1),F(1),F(1),F(1),F(1),F(1),F(2),F(2),F(3),F(3),F(3),F(3),F(2),F(2),F(2),F(2),F(1)*,F(1)*,F(1),F(2),F(1),F(2),F(1),F(2),F(1),F(3),F(3),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(2),F(1),F(2),F(2),F(2),F(2),F(2),F(2)] (function (globalThis){ "use strict"; @@ -35888,22 +38133,24 @@ is_valid_utf_16be = Stdlib_String[46], get_utf_16le_uchar = Stdlib_String[47], is_valid_utf_16le = Stdlib_String[48], - get_uint8 = Stdlib_String[49], - get_int8 = Stdlib_String[50], - get_uint16_ne = Stdlib_String[51], - get_uint16_be = Stdlib_String[52], - get_uint16_le = Stdlib_String[53], - get_int16_ne = Stdlib_String[54], - get_int16_be = Stdlib_String[55], - get_int16_le = Stdlib_String[56], - get_int32_ne = Stdlib_String[57], - hash = Stdlib_String[58], - seeded_hash = Stdlib_String[59], - get_int32_be = Stdlib_String[60], - get_int32_le = Stdlib_String[61], - get_int64_ne = Stdlib_String[62], - get_int64_be = Stdlib_String[63], - get_int64_le = Stdlib_String[64], + edit_distance = Stdlib_String[49], + spellcheck = Stdlib_String[50], + get_uint8 = Stdlib_String[51], + get_int8 = Stdlib_String[52], + get_uint16_ne = Stdlib_String[53], + get_uint16_be = Stdlib_String[54], + get_uint16_le = Stdlib_String[55], + get_int16_ne = Stdlib_String[56], + get_int16_be = Stdlib_String[57], + get_int16_le = Stdlib_String[58], + get_int32_ne = Stdlib_String[59], + hash = Stdlib_String[60], + seeded_hash = Stdlib_String[61], + get_int32_be = Stdlib_String[62], + get_int32_le = Stdlib_String[63], + get_int64_ne = Stdlib_String[64], + get_int64_be = Stdlib_String[65], + get_int64_le = Stdlib_String[66], Stdlib_StringLabels = [0, make, @@ -35954,6 +38201,8 @@ is_valid_utf_16be, get_utf_16le_uchar, is_valid_utf_16le, + edit_distance, + spellcheck, get_uint8, get_int8, get_uint16_ne, @@ -35978,7 +38227,7 @@ //# unitInfo: Provides: Stdlib__MoreLabels //# unitInfo: Requires: Stdlib__Hashtbl, Stdlib__Map, Stdlib__Set -//# shape: Stdlib__MoreLabels:[[F(2),F(1),F(1),F(1),F(3),F(2),F(2),F(2),F(2),F(2),F(3),F(2),F(2),F(3),F(1)*,F(1),F(1),F(2),F(1),F(1)*->F(1),F(1)*->F(1),F(1)*->F(1),F(2),F(2),F(1),F(1)*,F(1)*,F(1)*,F(2)*,F(3)*,F(4)*],[F(1)*],[F(1)*]] +//# shape: Stdlib__MoreLabels:[[F(2),F(1),F(1),F(1),F(3),F(2),F(2),F(2),F(2),F(2),F(3),F(2),F(2),F(3),F(1)*,F(1),F(1)*,F(2),F(1),F(1)*->F(1),F(1)*->F(1),F(1)*->F(1),F(2),F(2),F(1),F(1)*,F(1)*,F(1)*,F(2)*,F(3)*,F(4)*],[F(1)*],[F(1)*]] (function (globalThis){ "use strict"; diff --git a/ppx/ppx_js/tests/dune b/ppx/ppx_js/tests/dune index 166ff64ad9..adf8377cee 100644 --- a/ppx/ppx_js/tests/dune +++ b/ppx/ppx_js/tests/dune @@ -8,8 +8,8 @@ (targets ppx.mlt.corrected) (enabled_if (and - (>= %{ocaml_version} 5.3) - (< %{ocaml_version} 5.4))) + (>= %{ocaml_version} 5.4) + (< %{ocaml_version} 5.5))) (action (run %{exe:main.bc} %{dep:ppx.mlt}))) @@ -17,8 +17,8 @@ (targets gen.mlt.corrected) (enabled_if (and - (>= %{ocaml_version} 5.3) - (< %{ocaml_version} 5.4))) + (>= %{ocaml_version} 5.4) + (< %{ocaml_version} 5.5))) (action (run %{exe:main.bc} %{dep:gen.mlt}))) @@ -27,8 +27,8 @@ (package js_of_ocaml-ppx) (enabled_if (and - (>= %{ocaml_version} 5.3) - (< %{ocaml_version} 5.4))) + (>= %{ocaml_version} 5.4) + (< %{ocaml_version} 5.5))) (action (diff ppx.mlt ppx.mlt.corrected))) @@ -37,7 +37,7 @@ (package js_of_ocaml-ppx) (enabled_if (and - (>= %{ocaml_version} 5.3) - (< %{ocaml_version} 5.4))) + (>= %{ocaml_version} 5.4) + (< %{ocaml_version} 5.5))) (action (diff gen.mlt gen.mlt.corrected)))