diff --git a/doc/backoff/Backoff/index.html b/doc/backoff/Backoff/index.html index d007c9b..b692908 100644 --- a/doc/backoff/Backoff/index.html +++ b/doc/backoff/Backoff/index.html @@ -1,2 +1,4 @@ -Backoff (backoff.Backoff)

Module Backoff

Randomized exponential backoff mechanism.

type t

Type of backoff values.

val max_wait_log : int

Logarithm of the maximum allowed value for wait.

val create : ?lower_wait_log:int -> ?upper_wait_log:int -> unit -> t

create creates a backoff value. upper_wait_log, lower_wait_log override the logarithmic upper and lower bound on the number of spins executed by once.

val default : t

default is equivalent to create ().

val once : t -> t

once b executes one random wait and returns a new backoff with logarithm of the current maximum value incremented unless it is already at upper_wait_log of b.

Note that this uses the default Stdlib Random per-domain generator.

val reset : t -> t

reset b returns a backoff equivalent to b except with current value set to the lower_wait_log of b.

val get_wait_log : t -> int

get_wait_log b returns logarithm of the maximum value of wait for next once.

\ No newline at end of file +Backoff (backoff.Backoff)

Module Backoff

Randomized exponential backoff mechanism.

type t

Type of backoff values.

val max_wait_log : int

Logarithm of the maximum allowed value for wait.

val create : ?lower_wait_log:int -> ?upper_wait_log:int -> unit -> t

create creates a backoff value. upper_wait_log, lower_wait_log override the logarithmic upper and lower bound on the number of spins executed by once.

val default : t

default is equivalent to create ().

val once : t -> t

once b executes one random wait and returns a new backoff with logarithm of the current maximum value incremented unless it is already at upper_wait_log of b.

Note that this uses the default Stdlib Random per-domain generator.

val reset : t -> t

reset b returns a backoff equivalent to b except with current value set to the lower_wait_log of b.

val get_wait_log : t -> int

get_wait_log b returns logarithm of the maximum value of wait for next once.

diff --git a/doc/backoff/db.js b/doc/backoff/db.js new file mode 100644 index 0000000..29d32f4 --- /dev/null +++ b/doc/backoff/db.js @@ -0,0 +1 @@ +function sherlodoc_db () { return "eF5rmbpsHwOD0HsGBqY+BgaeRQwM3Js2LOBiYGBkLErMS8nPzaxKTakoyM9LzSvJTMxJSkzOzk9LS03OSMzLLM6tLEgtS8wpTS3WK8lPTyzKLMnITazIzC3NzckvT03JL0rMLAEKxJcD6fic/PSi1MSS1IKC1CK4SFlqUVFmSmpmcn5pXkppblJqUUFmXnFqcmlJakplMlh9WmJpTklhaSbQIqAb8lMgAsmpJaVFecXlQCuLioDiQLW5QCo1JSe1uBioL6UyvwSoO7O4OLW4JCUnMykxE+iF1KLEkvyi/Lzk1OJUoBEFJUUgRgncORUl6akI3gUHB0YmgQkTPug7QbytB7V8goqClUIJpxo0NGDS+pl5KakVehkluTnKQNfqwlQv1ITpL3FgqOH0t0nJLLOzKbCzSQb6xg6qykYfzFPILFZIhftWoSRfAaIKEhYKGppQdXo2+kAD9EEmLVBgYZzAwcCQz3Ah18GDRWDChwuMDNPdHFmEHYCMW86OQB/owFwA8vsETZDzFXTtgH5QJuAHsPoFLKIsogx1oFShh+p4kLRCEsztqRXgmCtWACYXBUjyUQAFpgKQqVAEiTGFRIW81HIFqLUKoAhUyIElHoX8NIWSjFSF5FJwpCpAU5MCOJEpZObBY1mhNA8U0QpAs4EBlpgDjnGFxBJoaJWiJDKY84CGQ6RhDoYEYoGdHzCtAO0Fai/JABpXCkwzYGdAo0YhGJyCoJqDwP6CmQm0RxfIBaYuhXRY+kKKG0gcPHUBxYEuLA7AiQ45ElQIRAJEAws3Qz3nStTwB8sgIgARxrDwxZaWkOILlAcgcQALckhQg0wFqgcFAkQPKEMTHaIQr8s6XGBw9wb53ATmc+TCYIIaMAAy80o4tQn4HkXTQi1IZOgBdTowMjRzOsECxAc9EcEST2IOuDSC+iwtvwicJpFdqulwIc8B5FCkjMqpiMdZJcCCT7dkItABbZyaMAeEAAVBdsOCHloyItljCEoM31CDBLnAmaANSxPEhAuKzgUsdiyijAwdnK2oCQRZEWY6wch4qBkOKAjOvqAwy0utAOau4oLEPKSsDzXPRh8sjuxVG5BXm1xBXtWDeRVShk3gtAL60h41QVkBPQzytz1qzoUJl+ZlQrOKKoFAgdqxgEVhAYvigoXa0NQCMsCBxZeRYSPnS9QAgmiABQyEh5yBwCGhh69c0cGfRaBVHDh44eGdmawANgtcMoI1KiSBqkBgyQlWmAeuC0ERUAyqEGEla4pCUiUJkeDtcMHJoZQlHFQ7qDNcCHfxAgZM1Ad1aNg5WOEOTEdgWWMNCylIkQdqCQAdAm8LwIMoF9YcQLY7dMIEluALIQ4+LJwTDgDTwmQnJ6DlaSzuoISx28WRJdThQpaj24QLLGEs3iyOLLosShMmXMhxcGSxcrhQC5QHKmQIc3BhKZyw4AJDuIMTSwlUXh9kwg1HR5YUEKMLbG4lSyqIsw8omgHU5wqsBzOB+hgZLgI15ABF3BzcWHKBBjD4O7uySDlccAbyQSa7OLgAtZewOADlXB2dWCqBtDuoymQxc7iQ6OTIwuxwocjFZcIGlgaWbGBIAk3IAVoS6HChwsGVpQ1oQqWzMwsn0AYvD0eWUocLoQ5+LPOBPg5z9WLxABoz9QJDKVBDLFBFnrMjSxzImY1AR8U7XAh3iGBZMeHChQhnL5ZAoNJ5FxiCHV1Y1oE8HOrkxLIRKGYLVL7R1ZFlAUjffGAoLAQ6gZHhMdDImUAja4HeWAr26EoXUDisYJkLFK1zdGZZDTKlCmjROpDOBiCj2uFCHNAkEwegp72Bao+yzAG6kyEbHAKnWJrABne4OLGEgXScAfp9jwMwTJxZ9oItOA8UOODA4gpk7geadtDhgqdDEcs1UNoyZwA6GBhVN0F2hgFD8Q7Q5RksySwCFwKADrwPFA4ESteAzdkKdPpFhwtBQOPAFl0BuukyiNHr4cTS5HAhFhiuV0EG1To5s9wAOk2XRYdF+4IX0JkHWG6zTGU5xrLcgcXuAkM00Oh7EzZcYIjxcAbGz0OWayxrQeZcAwbzE2AoZADpjQ7AJOMKlH0G9O4msP27gI5/DVJ3H+iQhyDGAqCNb8FyC51BJn1gecpyHCTxGhilp0CMpUA9XxwueDu4s3wFhVm1izPLD6DTfFl8LvgAFdWDFD0E2vcRxPgKVH3FgSXqQpRDOCuj0IQDrIysQOFOZyeWOQ4Xoh28WPZMmMDKyHmBwckRFGkfWO44XHB3iGVllAGFpjbDhSQHZ5ZlwPhIBpo0CWTkBFcnlr0gxjkHR1ZGAYcLVcDAmQj0ZKWDM8gKkOPXeQClRB0gsf7I4UKJgw8rozjQ/FUXSoFBVQQ0rwwYC3OBcTP7QjDQ80scLngAY2EpUEsuUMs7IJ0FFH7vwNILzLixwMAFtSQnO7iwMlqDbZgCjNobIFfsdARapQ1i9QCTJDiszoKEdB0u5INs1QMqLwDa2Qm0s9DVhWUL0M5NF+odXVkZdUBRGw1ytT4oM8V4AEOAldEIGBxA6x1BvtN2YHnD8prlKTCPRrIyhkIKL5YyoB3zQNpcwE6ZD1IJLkvWuwNZHg4sVy/4OwDN9wSXNlddgII+DiyRFwJcwMmNkeELyIGqINZ2ZyDLH8Q64ARkBYCDzAUUTYGsjG6sjBqsjLIg8xiKQKYoADOBQyorYya0FI1y8GZlzAF6KJJF64IbyEXRwDCex/Logh8wHb0Cu24eyK5EB6CLnFgZk4BqJS4wOAPj9CnI0oMgyTQHFoMLDPkg+42B9qe6ARkmDsDSwtEhkZWxdsKDCwwhoJBsABaQq1jOA7WtcYSG9AJg4msAMe6BdAMNmggs5YFxVAS02tkZaGEp0MI/QPnrIPkKhwvFDkBPVQJlS5xcWP4AJX+xxAClFwOzdj8on4A0N4DdvRpY6twGCmVCwyXJwWvCBlbGmayMKayMMcCiipHhBMjHXWDVJ0Fx0AtyyQMQq9mBZQmQfQoUaP0OLE0XGMpBAR3jAMz8SayMS0Hhp8wAKsuB0bQCbEIDKHyUQXkUSKuATJoGMt4dXBTdBBkKzDAM/g7urIxzQekmwAmo1Quk7g0o1itArNMgSxY5ANM4MLgWg2P/MCiElzlcSAPZFAhSdBQkssKBpYdlJ8v1Cykg73UA6x+HeFbGfdB4ZWTodwO6IhqkvNsRyPJ0uJANCrlIUGYNv1ADCiYjUJotAWlvBDqsAOTYbcDYz7rAUAhybStQMMIZKLgLmrbBpjAyLAKZsw+o0AnIWQWKI0mQ8HGQQYccWBklLqSDUtV1oB8zHD1ZGW+B8kQ5K2PxBYY0V6CaqUBzvUAqToHKwwsM3u5Aj5U7APMYULEaUGwu0LRLINdcBIfrZVByugKy4pUnkLUGWPI7+LEyXgOGTjxIFaigZmQ4AnIysOhJAIVgogOLOYsZy0Fgkg5iZbwHjOtyULA/BKu8AAq+J0CHxl+IAel/ChbdDNL3Alhig2zLdbhQ7QiUygIVZUA6H+iqsyxnWCwv+IAi5h3QQGB0gPz1kZXxAih4wIXAN2BytLnAEOkEZP8Esu0v+IJiFpy+n4Dc9wno9QpQOAEL4nqQJ/6DinwXJzdWJiZQxEwFKlzmBAxRUA3rAIrw30Cbz7OcBJbW3qxMnBMesDKKABMnK6MgsOBkZWxiZeS/kAKyegbQEakgj71zYHl/wcFxAac+ZKgA1LfAYIFakLDOAYy+4OBQDXQDkzq0EnQH1g+swKBJB5cmTPqsTNKsTEA7n4MKWlA5x8TJyvgVGODuLixsDsCQdmfhBzqWBdjicGJhB7Y33FxYuB2ArvNkEQEakwZsDPA7XEgF5lpgiZ8ELEcFHS4ku7iwCIHadW4swkAPOLs7AfuYLIzAMsoV5BRZoD43YB0OTF+ewAID2NJxcXNikXZgYbrg6OnEIuPg4HgB5FcWHaDjs0A67ECOt2YA1kuuYMfnOwDrQFYmYPhaA41zuBADag2xMgErlgx3Z5Czo4AKIc6OBpatQGdnujmDnJ0D9A7I2XnAcgXo7FxgDQV0dparM8jZ2cBCC+hsUIMO5OxwD9DwBNDZkcBSEaQpCtgKEHcApk5HFgmHCxHujiAfxAJrJ6APQr0cQT6QcXB0WsASAnS3D8hBRtDyJBBY7bI6gMt5oOOAqQfkJH+gsRxAN7KCKzqg4/zcHFl4QKHg7enIwusATJROLHzA9Mbl4AQArz92tg=="; } diff --git a/doc/backoff/index.html b/doc/backoff/index.html index ef0392d..bf78e28 100644 --- a/doc/backoff/index.html +++ b/doc/backoff/index.html @@ -1,2 +1,4 @@ -index (backoff.index)

backoff index

Library backoff

The entry point of this library is the module: Backoff.

\ No newline at end of file +index (backoff.index)

backoff index

Library backoff

The entry point of this library is the module: Backoff.

diff --git a/doc/odoc.support/fonts/fira-mono-v14-latin-500.woff2 b/doc/odoc.support/fonts/fira-mono-v14-latin-500.woff2 new file mode 100644 index 0000000..9d07a63 Binary files /dev/null and b/doc/odoc.support/fonts/fira-mono-v14-latin-500.woff2 differ diff --git a/doc/odoc.support/fonts/fira-mono-v14-latin-regular.woff2 b/doc/odoc.support/fonts/fira-mono-v14-latin-regular.woff2 new file mode 100644 index 0000000..edc71a8 Binary files /dev/null and b/doc/odoc.support/fonts/fira-mono-v14-latin-regular.woff2 differ diff --git a/doc/odoc.support/fonts/fira-sans-v17-latin-500.woff2 b/doc/odoc.support/fonts/fira-sans-v17-latin-500.woff2 new file mode 100644 index 0000000..24bb8f4 Binary files /dev/null and b/doc/odoc.support/fonts/fira-sans-v17-latin-500.woff2 differ diff --git a/doc/odoc.support/fonts/fira-sans-v17-latin-500italic.woff2 b/doc/odoc.support/fonts/fira-sans-v17-latin-500italic.woff2 new file mode 100644 index 0000000..1a8b72d Binary files /dev/null and b/doc/odoc.support/fonts/fira-sans-v17-latin-500italic.woff2 differ diff --git a/doc/odoc.support/fonts/fira-sans-v17-latin-700.woff2 b/doc/odoc.support/fonts/fira-sans-v17-latin-700.woff2 new file mode 100644 index 0000000..40b8a1c Binary files /dev/null and b/doc/odoc.support/fonts/fira-sans-v17-latin-700.woff2 differ diff --git a/doc/odoc.support/fonts/fira-sans-v17-latin-700italic.woff2 b/doc/odoc.support/fonts/fira-sans-v17-latin-700italic.woff2 new file mode 100644 index 0000000..bdf8f5f Binary files /dev/null and b/doc/odoc.support/fonts/fira-sans-v17-latin-700italic.woff2 differ diff --git a/doc/odoc.support/fonts/fira-sans-v17-latin-italic.woff2 b/doc/odoc.support/fonts/fira-sans-v17-latin-italic.woff2 new file mode 100644 index 0000000..b9619dd Binary files /dev/null and b/doc/odoc.support/fonts/fira-sans-v17-latin-italic.woff2 differ diff --git a/doc/odoc.support/fonts/fira-sans-v17-latin-regular.woff2 b/doc/odoc.support/fonts/fira-sans-v17-latin-regular.woff2 new file mode 100644 index 0000000..d31eba8 Binary files /dev/null and b/doc/odoc.support/fonts/fira-sans-v17-latin-regular.woff2 differ diff --git a/doc/odoc.support/fonts/noticia-text-v15-latin-700.woff2 b/doc/odoc.support/fonts/noticia-text-v15-latin-700.woff2 new file mode 100644 index 0000000..536fbe1 Binary files /dev/null and b/doc/odoc.support/fonts/noticia-text-v15-latin-700.woff2 differ diff --git a/doc/odoc.support/fonts/noticia-text-v15-latin-italic.woff2 b/doc/odoc.support/fonts/noticia-text-v15-latin-italic.woff2 new file mode 100644 index 0000000..9b83b07 Binary files /dev/null and b/doc/odoc.support/fonts/noticia-text-v15-latin-italic.woff2 differ diff --git a/doc/odoc.support/fonts/noticia-text-v15-latin-regular.woff2 b/doc/odoc.support/fonts/noticia-text-v15-latin-regular.woff2 new file mode 100644 index 0000000..efff29f Binary files /dev/null and b/doc/odoc.support/fonts/noticia-text-v15-latin-regular.woff2 differ diff --git a/doc/odoc.support/highlight.pack.js b/doc/odoc.support/highlight.pack.js index a373159..7d1bcd0 100644 --- a/doc/odoc.support/highlight.pack.js +++ b/doc/odoc.support/highlight.pack.js @@ -302,7 +302,238 @@ e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),s.push(e)} },t.versionString="11.7.0",t.regex={concat:p,lookahead:d,either:f,optional:h, anyNumberOfTimes:u};for(const t in A)"object"==typeof A[t]&&e.exports(A[t]) ;return Object.assign(t,A),t})({});return te}() -;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `xml` grammar compiled for Highlight.js 11.7.0 */ +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `reasonml` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n="~?[a-z$_][0-9a-zA-Z$_]*",a="`?[A-Z$_][0-9a-zA-Z$_]*",s="("+["||","++","**","+.","*","/","*.","/.","..."].map((e=>e.split("").map((e=>"\\"+e)).join(""))).join("|")+"|\\|>|&&|==|===)",i="\\s+"+s+"\\s+",r={ +keyword:"and as asr assert begin class constraint do done downto else end exception external for fun function functor if in include inherit initializer land lazy let lor lsl lsr lxor match method mod module mutable new nonrec object of open or private rec sig struct then to try type val virtual when while with", +built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ", +literal:"true false" +},l="\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",t={ +className:"number",relevance:0,variants:[{begin:l},{begin:"\\(-"+l+"\\)"}]},c={ +className:"operator",relevance:0,begin:s},o=[{className:"identifier", +relevance:0,begin:n},c,t],g=[e.QUOTE_STRING_MODE,c,{className:"module", +begin:"\\b"+a,returnBegin:!0,relevance:0,end:".",contains:[{ +className:"identifier",begin:a,relevance:0}]}],b=[{className:"module", +begin:"\\b"+a,returnBegin:!0,end:".",relevance:0,contains:[{ +className:"identifier",begin:a,relevance:0}]}],m={className:"function", +relevance:0,keywords:r,variants:[{begin:"\\s(\\(\\.?.*?\\)|"+n+")\\s*=>", +end:"\\s*=>",returnBegin:!0,relevance:0,contains:[{className:"params", +variants:[{begin:n},{ +begin:"~?[a-z$_][0-9a-zA-Z$_]*(\\s*:\\s*[a-z$_][0-9a-z$_]*(\\(\\s*('?[a-z$_][0-9a-z$_]*\\s*(,'?[a-z$_][0-9a-z$_]*\\s*)*)?\\))?){0,2}" +},{begin:/\(\s*\)/}]}]},{begin:"\\s\\(\\.?[^;\\|]*\\)\\s*=>",end:"\\s=>", +returnBegin:!0,relevance:0,contains:[{className:"params",relevance:0,variants:[{ +begin:n,end:"(,|\\n|\\))",relevance:0,contains:[c,{className:"typing",begin:":", +end:"(,|\\n)",returnBegin:!0,relevance:0,contains:b}]}]}]},{ +begin:"\\(\\.\\s"+n+"\\)\\s*=>"}]};g.push(m);const d={className:"constructor", +begin:a+"\\(",end:"\\)",illegal:"\\n",keywords:r, +contains:[e.QUOTE_STRING_MODE,c,{className:"params",begin:"\\b"+n}]},u={ +className:"pattern-match",begin:"\\|",returnBegin:!0,keywords:r,end:"=>", +relevance:0,contains:[d,c,{relevance:0,className:"constructor",begin:a}]},v={ +className:"module-access",keywords:r,returnBegin:!0,variants:[{ +begin:"\\b("+a+"\\.)+"+n},{begin:"\\b("+a+"\\.)+\\(",end:"\\)",returnBegin:!0, +contains:[m,{begin:"\\(",end:"\\)",relevance:0,skip:!0}].concat(g)},{ +begin:"\\b("+a+"\\.)+\\{",end:/\}/}],contains:g};return b.push(v),{ +name:"ReasonML",aliases:["re"],keywords:r,illegal:"(:-|:=|\\$\\{|\\+=)", +contains:[e.COMMENT("/\\*","\\*/",{illegal:"^(#,\\/\\/)"}),{ +className:"character",begin:"'(\\\\[^']+|[^'])'",illegal:"\\n",relevance:0 +},e.QUOTE_STRING_MODE,{className:"literal",begin:"\\(\\)",relevance:0},{ +className:"literal",begin:"\\[\\|",end:"\\|\\]",relevance:0,contains:o},{ +className:"literal",begin:"\\[",end:"\\]",relevance:0,contains:o},d,{ +className:"operator",begin:i,illegal:"--\x3e",relevance:0 +},t,e.C_LINE_COMMENT_MODE,u,m,{className:"module-def", +begin:"\\bmodule\\s+"+n+"\\s+"+a+"\\s+=\\s+\\{",end:/\}/,returnBegin:!0, +keywords:r,relevance:0,contains:[{className:"module",relevance:0,begin:a},{ +begin:/\{/,end:/\}/,relevance:0,skip:!0}].concat(g)},v]}}})() +;hljs.registerLanguage("reasonml",e)})();/*! `javascript` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],a=["true","false","null","undefined","NaN","Infinity"],t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","module","global"],i=[].concat(r,t,s) +;return o=>{const l=o.regex,b=e,d={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,t=e.input[a] +;if("<"===t||","===t)return void n.ignoreMatch();let s +;">"===t&&(((e,{after:n})=>{const a="",M={ +match:[/const|var|let/,/\s+/,b,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(C)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[S]} +;return{name:"Javascript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{ +PARAMS_CONTAINS:p,CLASS_REFERENCE:R},illegal:/#(?![$_A-z])/, +contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,y,N,_,h,{match:/\$\d+/},E,R,{ +className:"attr",begin:b+l.lookahead(":"),relevance:0},M,{ +begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[h,o.REGEXP_MODE,{ +className:"function",begin:C,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0, +excludeEnd:!0,keywords:g,contains:p}]}]},{begin:/,/,relevance:0},{match:/\s+/, +relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:d.begin, +"on:begin":d.isTrulyOpeningTag,end:d.end}],subLanguage:"xml",contains:[{ +begin:d.begin,end:d.end,skip:!0,contains:["self"]}]}]},O,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[S,o.inherit(o.TITLE_MODE,{begin:b, +className:"title.function"})]},{match:/\.\.\./,relevance:0},x,{match:"\\$"+b, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[S]},k,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},w,T,{match:/\$[(.]/}]}}})() +;hljs.registerLanguage("javascript",e)})();/*! `sql` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const r=e.regex,t=e.COMMENT("--","$"),n=["true","false","unknown"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],i=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],s=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],o=i,c=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!i.includes(e))),l={ +begin:r.concat(/\b/,r.either(...o),/\s*\(/),relevance:0,keywords:{built_in:o}} +;return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:r,when:t}={})=>{const n=t +;return r=r||[],e.map((e=>e.match(/\|\d+$/)||r.includes(e)?e:n(e)?e+"|0":e)) +})(c,{when:e=>e.length<3}),literal:n,type:a, +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{begin:r.either(...s),relevance:0,keywords:{$pattern:/[\w\.]+/, +keyword:c.concat(s),literal:n,type:a}},{className:"type", +begin:r.either("double precision","large object","with timezone","without timezone") +},l,{className:"variable",begin:/@[a-z0-9]+/},{className:"string",variants:[{ +begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{ +begin:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{className:"operator", +begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}})() +;hljs.registerLanguage("sql",e)})();/*! `bash` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/, +end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{ +className:"variable",variants:[{ +begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},c={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(c);const o={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},r=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),l={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","for","while","in","do","done","case","esac","function"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[r,e.SHEBANG(),l,o,e.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},c,{ +className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},t]}}})() +;hljs.registerLanguage("bash",e)})();/*! `shell` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();/*! `plaintext` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var t=(()=>{"use strict";return t=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0})})() +;hljs.registerLanguage("plaintext",t)})();/*! `graphql` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"GraphQL", +aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:a.concat(/[_A-Za-z][_0-9A-Za-z]*/,a.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}}})();hljs.registerLanguage("graphql",e) +})();/*! `ocaml` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>({name:"OCaml",aliases:["ml"], +keywords:{$pattern:"[a-z_]\\w*!?", +keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value", +built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref", +literal:"true false"},illegal:/\/\/|>>/,contains:[{className:"literal", +begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},e.COMMENT("\\(\\*","\\*\\)",{ +contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{ +className:"type",begin:"`[A-Z][\\w']*"},{className:"type", +begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0 +},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0 +}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number", +begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)", +relevance:0},{begin:/->/}]})})();hljs.registerLanguage("ocaml",e)})();/*! `json` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=["true","false","null"],n={ +scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",keywords:{ +literal:a},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/, +relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,n,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}}})();hljs.registerLanguage("json",e)})();/*! `python` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={ +$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i, +built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], +literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], +type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] +},t={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/, +end:/\}/,keywords:s,illegal:/#/},l={begin:/\{\{/,relevance:0},b={ +className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{ +begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, +contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{ +begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, +contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, +end:/"""/,contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([uU]|[rR])'/,end:/'/, +relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ +begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, +end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, +contains:[e.BACKSLASH_ESCAPE,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,l,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] +},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,d="\\b|"+i.join("|"),g={ +className:"number",relevance:0,variants:[{ +begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${d})`},{begin:`(${c})[jJ]?`},{ +begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{ +begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})` +},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${o})[jJ](?=${d})` +}]},p={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:s, +contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ +className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, +end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s, +contains:["self",t,g,b,e.HASH_COMMENT_MODE]}]};return r.contains=[b,g,t],{ +name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s, +illegal:/(<\/|->|\?)|=>/,contains:[t,g,{begin:/\bself\b/},{beginKeywords:"if", +relevance:0},b,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{ +1:"keyword",3:"title.function"},contains:[m]},{variants:[{ +match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}], +scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ +className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,m,b]}]}}})() +;hljs.registerLanguage("python",e)})();/*! `xml` grammar compiled for Highlight.js 11.7.0 */ (()=>{var e=(()=>{"use strict";return e=>{ const a=e.regex,n=a.concat(/[\p{L}_]/u,a.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s={ className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/, @@ -360,102 +591,44 @@ contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}}})() -;hljs.registerLanguage("markdown",e)})();/*! `plaintext` grammar compiled for Highlight.js 11.7.0 */ -(()=>{var t=(()=>{"use strict";return t=>({name:"Plain text", -aliases:["text","txt"],disableAutodetect:!0})})() -;hljs.registerLanguage("plaintext",t)})();/*! `ocaml` grammar compiled for Highlight.js 11.7.0 */ -(()=>{var e=(()=>{"use strict";return e=>({name:"OCaml",aliases:["ml"], -keywords:{$pattern:"[a-z_]\\w*!?", -keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value", -built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref", -literal:"true false"},illegal:/\/\/|>>/,contains:[{className:"literal", -begin:"\\[(\\|\\|)?\\]|\\(\\)",relevance:0},e.COMMENT("\\(\\*","\\*\\)",{ -contains:["self"]}),{className:"symbol",begin:"'[A-Za-z_](?!')[\\w']*"},{ -className:"type",begin:"`[A-Z][\\w']*"},{className:"type", -begin:"\\b[A-Z][\\w']*",relevance:0},{begin:"[a-z_]\\w*'[\\w']*",relevance:0 -},e.inherit(e.APOS_STRING_MODE,{className:"string",relevance:0 -}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"number", -begin:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)", -relevance:0},{begin:/->/}]})})();hljs.registerLanguage("ocaml",e)})();/*! `python` grammar compiled for Highlight.js 11.7.0 */ -(()=>{var e=(()=>{"use strict";return e=>{ -const n=e.regex,a=/[\p{XID_Start}_]\p{XID_Continue}*/u,i=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],s={ -$pattern:/[A-Za-z]\w+|__\w+__/,keyword:i, -built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"], -literal:["__debug__","Ellipsis","False","None","NotImplemented","True"], -type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"] -},t={className:"meta",begin:/^(>>>|\.\.\.) /},r={className:"subst",begin:/\{/, -end:/\}/,keywords:s,illegal:/#/},l={begin:/\{\{/,relevance:0},b={ -className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{ -begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/, -contains:[e.BACKSLASH_ESCAPE,t],relevance:10},{ -begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/, -contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/, -end:/"""/,contains:[e.BACKSLASH_ESCAPE,t,l,r]},{begin:/([uU]|[rR])'/,end:/'/, -relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{ -begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/, -end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/, -contains:[e.BACKSLASH_ESCAPE,l,r]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/, -contains:[e.BACKSLASH_ESCAPE,l,r]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE] -},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,d="\\b|"+i.join("|"),g={ -className:"number",relevance:0,variants:[{ -begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${d})`},{begin:`(${c})[jJ]?`},{ -begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{ -begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})` -},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${o})[jJ](?=${d})` -}]},p={className:"comment",begin:n.lookahead(/# type:/),end:/$/,keywords:s, -contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={ -className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/, -end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s, -contains:["self",t,g,b,e.HASH_COMMENT_MODE]}]};return r.contains=[b,g,t],{ -name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:s, -illegal:/(<\/|->|\?)|=>/,contains:[t,g,{begin:/\bself\b/},{beginKeywords:"if", -relevance:0},b,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,a],scope:{ -1:"keyword",3:"title.function"},contains:[m]},{variants:[{ -match:[/\bclass/,/\s+/,a,/\s*/,/\(\s*/,a,/\s*\)/]},{match:[/\bclass/,/\s+/,a]}], -scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{ -className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[g,m,b]}]}}})() -;hljs.registerLanguage("python",e)})();/*! `reasonml` grammar compiled for Highlight.js 11.7.0 */ -(()=>{var e=(()=>{"use strict";return e=>{ -const n="~?[a-z$_][0-9a-zA-Z$_]*",a="`?[A-Z$_][0-9a-zA-Z$_]*",s="("+["||","++","**","+.","*","/","*.","/.","..."].map((e=>e.split("").map((e=>"\\"+e)).join(""))).join("|")+"|\\|>|&&|==|===)",i="\\s+"+s+"\\s+",r={ -keyword:"and as asr assert begin class constraint do done downto else end exception external for fun function functor if in include inherit initializer land lazy let lor lsl lsr lxor match method mod module mutable new nonrec object of open or private rec sig struct then to try type val virtual when while with", -built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ", -literal:"true false" -},l="\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",t={ -className:"number",relevance:0,variants:[{begin:l},{begin:"\\(-"+l+"\\)"}]},c={ -className:"operator",relevance:0,begin:s},o=[{className:"identifier", -relevance:0,begin:n},c,t],g=[e.QUOTE_STRING_MODE,c,{className:"module", -begin:"\\b"+a,returnBegin:!0,relevance:0,end:".",contains:[{ -className:"identifier",begin:a,relevance:0}]}],b=[{className:"module", -begin:"\\b"+a,returnBegin:!0,end:".",relevance:0,contains:[{ -className:"identifier",begin:a,relevance:0}]}],m={className:"function", -relevance:0,keywords:r,variants:[{begin:"\\s(\\(\\.?.*?\\)|"+n+")\\s*=>", -end:"\\s*=>",returnBegin:!0,relevance:0,contains:[{className:"params", -variants:[{begin:n},{ -begin:"~?[a-z$_][0-9a-zA-Z$_]*(\\s*:\\s*[a-z$_][0-9a-z$_]*(\\(\\s*('?[a-z$_][0-9a-z$_]*\\s*(,'?[a-z$_][0-9a-z$_]*\\s*)*)?\\))?){0,2}" -},{begin:/\(\s*\)/}]}]},{begin:"\\s\\(\\.?[^;\\|]*\\)\\s*=>",end:"\\s=>", -returnBegin:!0,relevance:0,contains:[{className:"params",relevance:0,variants:[{ -begin:n,end:"(,|\\n|\\))",relevance:0,contains:[c,{className:"typing",begin:":", -end:"(,|\\n)",returnBegin:!0,relevance:0,contains:b}]}]}]},{ -begin:"\\(\\.\\s"+n+"\\)\\s*=>"}]};g.push(m);const d={className:"constructor", -begin:a+"\\(",end:"\\)",illegal:"\\n",keywords:r, -contains:[e.QUOTE_STRING_MODE,c,{className:"params",begin:"\\b"+n}]},u={ -className:"pattern-match",begin:"\\|",returnBegin:!0,keywords:r,end:"=>", -relevance:0,contains:[d,c,{relevance:0,className:"constructor",begin:a}]},v={ -className:"module-access",keywords:r,returnBegin:!0,variants:[{ -begin:"\\b("+a+"\\.)+"+n},{begin:"\\b("+a+"\\.)+\\(",end:"\\)",returnBegin:!0, -contains:[m,{begin:"\\(",end:"\\)",relevance:0,skip:!0}].concat(g)},{ -begin:"\\b("+a+"\\.)+\\{",end:/\}/}],contains:g};return b.push(v),{ -name:"ReasonML",aliases:["re"],keywords:r,illegal:"(:-|:=|\\$\\{|\\+=)", -contains:[e.COMMENT("/\\*","\\*/",{illegal:"^(#,\\/\\/)"}),{ -className:"character",begin:"'(\\\\[^']+|[^'])'",illegal:"\\n",relevance:0 -},e.QUOTE_STRING_MODE,{className:"literal",begin:"\\(\\)",relevance:0},{ -className:"literal",begin:"\\[\\|",end:"\\|\\]",relevance:0,contains:o},{ -className:"literal",begin:"\\[",end:"\\]",relevance:0,contains:o},d,{ -className:"operator",begin:i,illegal:"--\x3e",relevance:0 -},t,e.C_LINE_COMMENT_MODE,u,m,{className:"module-def", -begin:"\\bmodule\\s+"+n+"\\s+"+a+"\\s+=\\s+\\{",end:/\}/,returnBegin:!0, -keywords:r,relevance:0,contains:[{className:"module",relevance:0,begin:a},{ -begin:/\{/,end:/\}/,relevance:0,skip:!0}].concat(g)},v]}}})() -;hljs.registerLanguage("reasonml",e)})(); \ No newline at end of file +;hljs.registerLanguage("markdown",e)})();/*! `c` grammar compiled for Highlight.js 11.7.0 */ +(()=>{var e=(()=>{"use strict";return e=>{const n=e.regex,t=e.COMMENT("//","$",{ +contains:[{begin:/\\\n/}] +}),s="[a-zA-Z_]\\w*::",a="(decltype\\(auto\\)|"+n.optional(s)+"[a-zA-Z_]\\w*"+n.optional("<[^<>]+>")+")",r={ +className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{ +match:/\batomic_[a-z]{3,6}\b/}]},i={className:"string",variants:[{ +begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{ +begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)", +end:"'",illegal:"."},e.END_SAME_AS_BEGIN({ +begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},l={ +className:"number",variants:[{begin:"\\b(0b[01']+)"},{ +begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)" +},{ +begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)" +}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{ +keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include" +},contains:[{begin:/\\\n/,relevance:0},e.inherit(i,{className:"string"}),{ +className:"string",begin:/<.*?>/},t,e.C_BLOCK_COMMENT_MODE]},c={ +className:"title",begin:n.optional(s)+e.IDENT_RE,relevance:0 +},d=n.optional(s)+e.IDENT_RE+"\\s*\\(",u={ +keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"], +type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"], +literal:"true false NULL", +built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr" +},g=[o,r,t,e.C_BLOCK_COMMENT_MODE,l,i],m={variants:[{begin:/=/,end:/;/},{ +begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}], +keywords:u,contains:g.concat([{begin:/\(/,end:/\)/,keywords:u, +contains:g.concat(["self"]),relevance:0}]),relevance:0},p={ +begin:"("+a+"[\\*&\\s]+)+"+d,returnBegin:!0,end:/[{;=]/,excludeEnd:!0, +keywords:u,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:"decltype\\(auto\\)", +keywords:u,relevance:0},{begin:d,returnBegin:!0,contains:[e.inherit(c,{ +className:"title.function"})],relevance:0},{relevance:0,match:/,/},{ +className:"params",begin:/\(/,end:/\)/,keywords:u,relevance:0, +contains:[t,e.C_BLOCK_COMMENT_MODE,i,l,r,{begin:/\(/,end:/\)/,keywords:u, +relevance:0,contains:["self",t,e.C_BLOCK_COMMENT_MODE,i,l,r]}] +},r,t,e.C_BLOCK_COMMENT_MODE,o]};return{name:"C",aliases:["h"],keywords:u, +disableAutodetect:!0,illegal:"=]/,contains:[{ +beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:o, +strings:i,keywords:u}}}})();hljs.registerLanguage("c",e)})(); diff --git a/doc/odoc.support/odoc.css b/doc/odoc.support/odoc.css index 8b0ed5a..c23517b 100644 --- a/doc/odoc.support/odoc.css +++ b/doc/odoc.support/odoc.css @@ -1,19 +1,108 @@ @charset "UTF-8"; /* Copyright (c) 2016 The odoc contributors. All rights reserved. Distributed under the ISC license, see terms at the end of the file. - odoc 2.2.0 */ + odoc 2.4.1 */ /* Fonts */ -@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400,500'); -@import url('https://fonts.googleapis.com/css?family=Noticia+Text:400,400i,700'); -@import url('https://fonts.googleapis.com/css?family=Fira+Sans:400,400i,500,500i,600,600i,700,700i'); +/* noticia-text-regular - latin */ +@font-face { + font-family: 'Noticia Text'; + font-style: normal; + font-weight: 400; + src: url('fonts/noticia-text-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* noticia-text-italic - latin */ +@font-face { + font-family: 'Noticia Text'; + font-style: italic; + font-weight: 400; + src: url('fonts/noticia-text-v15-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* noticia-text-700 - latin */ +@font-face { + font-family: 'Noticia Text'; + font-style: normal; + font-weight: 700; + src: url('fonts/noticia-text-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-mono-regular - latin */ +@font-face { + font-family: 'Fira Mono'; + font-style: normal; + font-weight: 400; + src: url('fonts/fira-mono-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-mono-500 - latin */ +@font-face { + font-family: 'Fira Mono'; + font-style: normal; + font-weight: 500; + src: url('fonts/fira-mono-v14-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-sans-regular - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 400; + src: url('fonts/fira-sans-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-sans-italic - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: italic; + font-weight: 400; + src: url('fonts/fira-sans-v17-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-sans-500 - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 500; + src: url('fonts/fira-sans-v17-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-sans-500italic - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: italic; + font-weight: 500; + src: url('fonts/fira-sans-v17-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-sans-700 - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: normal; + font-weight: 700; + src: url('fonts/fira-sans-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + +/* fira-sans-700italic - latin */ +@font-face { + font-family: 'Fira Sans'; + font-style: italic; + font-weight: 700; + src: url('fonts/fira-sans-v17-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ +} + :root, .light:root { - --main-background: #FFFFFF; + + scroll-padding-top: calc(var(--search-bar-height) + var(--search-padding-top) + 1em); + + --main-background: #FFFFFF; --color: #333333; --link-color: #2C94BD; + --source-color: grey; --anchor-hover: #555; --anchor-color: #d5d5d5; --xref-shadow: #cc6666; @@ -30,13 +119,21 @@ --toc-color: #1F2D3D; --toc-before-color: #777; --toc-background: #f6f8fa; + --toc-background-emph: #ecf0f5; --toc-list-border: #ccc; --spec-summary-border-color: #5c9cf5; + --spec-label-color: green; --spec-summary-background: var(--code-background); --spec-summary-hover-background: #ebeff2; --spec-details-after-background: rgba(0, 4, 15, 0.05); --spec-details-after-shadow: rgba(204, 204, 204, 0.53); + + --search-results-border: #bbb; + --search-results-shadow: #bbb; + + --search-snake: #82aaff; + } .dark:root { @@ -64,6 +161,7 @@ --li-code-color: #999; --toc-color: #777; --toc-background: #252525; + --toc-background-emph: #2a2a2a; --hljs-link: #999; --hljs-keyword: #cda869; @@ -72,6 +170,12 @@ --hljs-type: #ac885b; --hljs-meta: #82aaff; --hljs-variable: #cf6a4c; + + --spec-label-color: lightgreen; + + --search-results-border: #505050; + --search-results-shadow: #404040; + } @media (prefers-color-scheme: dark) { @@ -106,6 +210,7 @@ --toc-color: #777; --toc-before-color: #777; --toc-background: #252525; + --toc-background-emph: #2a2a2a; --toc-list-border: #ccc; --spec-summary-hover-background: #ebeff2; --spec-details-after-background: rgba(0, 4, 15, 0.05); @@ -118,6 +223,12 @@ --hljs-type: #ac885b; --hljs-meta: #82aaff; --hljs-variable: #cf6a4c; + + --spec-label-color: lightgreen; + + --search-results-border: #505050; + --search-results-shadow: #404040; + } } @@ -142,6 +253,7 @@ table { html { font-size: 15px; + scroll-behavior: smooth; } body { @@ -149,24 +261,55 @@ body { background: #FFFFFF; color: var(--color); background-color: var(--main-background); + font-family: "Noticia Text", Georgia, serif; + line-height: 1.5; } body { - max-width: 100ex; - margin-left: calc(10vw + 20ex); - margin-right: 4ex; - margin-top: 20px; - margin-bottom: 50px; - font-family: "Noticia Text", Georgia, serif; - line-height: 1.5; + margin-left: auto; + margin-right: auto; + padding: 0 4ex; +} + +body.odoc { + max-width: 132ex; + display: grid; + grid-template-columns: min-content 1fr; + column-gap: 4ex; + row-gap: 2ex; +} + +body.odoc-src { + margin-right: calc(10vw + 20ex); +} + +.odoc-content { + grid-row: 4; + grid-column: 2; +} + +.odoc-preamble > *:first-child { + /* This make the first thing in the preamble align with the sidebar */ + padding-top: 0; + margin-top: 0; } header { margin-bottom: 30px; } +header.odoc-preamble { + grid-column: 2; + grid-row: 3; +} + nav { - font-family: "Fira Sans", Helvetica, Arial, sans-serif; + font-family: "Fira Sans", sans-serif; +} + +nav.odoc-nav { + grid-column: 2; + grid-row: 2; } /* Basic markup elements */ @@ -238,6 +381,10 @@ a { color: var(--link-color); } +.odoc-src pre a { + color: inherit; +} + a:hover { box-shadow: 0 1px 0 0 var(--link-color); } @@ -289,18 +436,30 @@ a.anchor { box-shadow: 0 1px 0 0 var(--xref-shadow); } +/* Source links float inside preformated text or headings. */ +a.source_link { + float: right; + color: var(--source-color); + font-family: "Fira Sans", sans-serif; + font-size: initial; +} + /* Section and document divisions. Until at least 4.03 many of the modules of the stdlib start at .h7, we restart the sequence there like h2 */ h1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 { - font-family: "Fira Sans", Helvetica, Arial, sans-serif; + font-family: "Fira Sans", sans-serif; font-weight: 400; padding-top: 0.1em; line-height: 1.2; overflow-wrap: break-word; } +.odoc-preamble h1 { + margin-top: 10px; +} + h1 { font-weight: 500; font-size: 2.441em; @@ -348,7 +507,7 @@ h4 { font-size: 1.12em; } -/* Comment delimiters, hidden but accessible to screen readers and +/* Comment delimiters, hidden but accessible to screen readers and selected for copy/pasting */ /* Taken from bootstrap */ @@ -368,36 +527,36 @@ h4 { /* Preformatted and code */ tt, code, pre { - font-family: "Fira Mono", courier; + font-family: "Fira Mono", monospace; font-weight: 400; } -pre { +.odoc pre { padding: 0.1em; border: 1px solid var(--pre-border-color); border-radius: 5px; overflow-x: auto; } -p code, -li code { +.odoc p code, +.odoc li code { background-color: var(--li-code-background); color: var(--li-code-color); border-radius: 3px; padding: 0 0.3ex; } -p a > code { +p a > code, li a > code { color: var(--link-color); } -code { +.odoc code { white-space: pre-wrap; } /* Code blocks (e.g. Examples) */ -pre code { +.odoc pre code { font-size: 0.893rem; } @@ -419,6 +578,10 @@ pre code { padding: 0.35em 0.5em; } +.spec .label, .spec .optlabel { + color: var(--spec-label-color); +} + li:not(:last-child) > .def-doc { margin-bottom: 15px; } @@ -434,10 +597,10 @@ div.odoc-spec,.odoc-include { .spec.type .variant, .spec.type .record { margin-left: 2ch; +} + +.spec.type li.variant, .spec.type li.record { list-style: none; - display: flex; - flex-wrap: wrap; - row-gap: 4px; } .spec.type .record > code, .spec.type .variant > code { @@ -454,9 +617,8 @@ div.odoc-spec,.odoc-include { padding: 0.25em 0.5em; margin-left: 10%; border-radius: 3px; - flex-grow:1; background: var(--main-background); - box-shadow: 2px 2px 4px lightgrey; + box-shadow: 1px 1px 2px lightgrey; } div.def { @@ -536,6 +698,12 @@ td.def-doc *:first-child { .at-tags li { padding-left: 3ex; text-indent: -3ex; } .at-tags .at-tag { text-transform: capitalize } +/* Alert emoji */ + +.alert::before, .deprecated::before { + content: '⚠️ '; +} + /* Lists of modules */ .modules { list-style-type: none; margin-left: -3ex; } @@ -618,19 +786,32 @@ td.def-doc *:first-child { line-height: 1.2; } +/* When a search bar is present, we need the sticky sidebar to be a bit lower, + so `top` is higher */ + +.odoc-search + * + .odoc-toc { + --toc-top: calc(var(--search-bar-height) + var(--search-padding-top) + 20px); + max-height: calc(100vh - 2 * var(--toc-top)); + top: var(--toc-top) +} + .odoc-toc { - position: fixed; - top: 0px; - bottom: 0px; - left: 0px; - max-width: 30ex; - min-width: 26ex; - width: 20%; + --toc-top: 20px; + width: 28ex; background: var(--toc-background); overflow: auto; color: var(--toc-color); padding-left: 2ex; padding-right: 2ex; + grid-row-start: 3; + grid-row-end: 5; + grid-column: 1; + height: fit-content; + border: solid 1px var(--border); + border-radius: 5px; + position:sticky; + max-height: calc(100vh - 2 * var(--toc-top)); + top: var(--toc-top) } .odoc-toc ul li a { @@ -638,15 +819,287 @@ td.def-doc *:first-child { font-size: 0.95em; color: var(--color); font-weight: 400; - line-height: 1.6em; + line-height: 1.2em; display: block; } -.odoc-toc ul li a:hover { +.odoc-sidebar ul li a:hover { box-shadow: none; text-decoration: underline; } +:root { + --search-bar-height: 25px; + --search-padding-top: 1rem; +} + +.odoc-search { + position: sticky; + top: 0; + background: var(--main-background); + /* This amounts to fit-content when the search is not active, but when you + have the search results displayed, you do not want the height of the search + container to change. */ + height: calc(var(--search-bar-height) + var(--search-padding-top)); + width: 100%; + padding-top: var(--search-padding-top); + z-index: 1; + grid-row: 1; + grid-column-start: 1; + grid-column-end: 3; +} + + +.odoc-search .search-inner { + width: 100%; + position: relative; + left: 0; + display: grid; + /* The second column is for the search snake, which has 0 width */ + grid-template-columns: 1fr 0fr; + grid-row-gap: 1rem; + /* The second row is for the search results. It has a width, but only */ + grid-template-rows: min-content 0px; + background: transparent; +} + +.odoc-search .search-bar { + position: relative; + z-index: 2; + font-size: 1em; + transition: font-size 0.3s; + box-shadow: 0px 0px 0.2rem 0.3em var(--main-background); + height: var(--search-bar-height); +} + +.odoc-search:focus-within .search-bar { + font-size: 1.1em; +} + +.odoc-search:not(:focus-within) .search-result { + display: none; +} + +.odoc-search .search-result:empty { + display: none; +} + +.odoc-search .search-result { + grid-row: 2; + background: var(--toc-background); + position: absolute; + left: 0; + right: 0; + border: solid; + border-color: var(--search-results-border); + border-width: 1px; + border-radius: 6px; + box-shadow: 0 3px 10px 2px var(--search-results-shadow), 0 0 3px 4px var(--main-background), 0px -1rem 0px 0px var(--main-background); + /* Works better on smallish screens with this */ + max-height: calc(min(40rem, 50vh)); + overflow-y: auto; +} + +.search-bar { + /* inputs are of fixed size by default, even if you display:block them */ + width: 100%; +} + + +.odoc-search .search-no-result { + color: var(--color); + border-bottom: var(--search-results-border) solid 1px; + background-color: inherit; + outline: 0; + padding: 10px; + padding-right: 0.5rem; +} + +.search-bar-container { + display: flex; + align-items: stretch; + border-bottom: 1rem solid var(--main-background); +} + +.search-snake { + grid-row: 1; + grid-column: 2; + display: flex; + align-items: center; + width: 0; + z-index: 2; + position: relative; + left: 0; + margin-top: 4px; + margin-bottom: 4px; + /* Otherwise the search snake flickers for very fast searches. */ + transition: opacity 0.2s; + opacity: 0; +} + +.search-snake.search-busy { + opacity: 1; +} + +.search-snake:before { + content: " "; + display: block; + aspect-ratio: 1 / 1; + height: 100%; + margin-right: 4px; + border-radius: 50%; + border: 3px solid #aaa; + border-color: var(--search-snake) transparent var(--search-snake) transparent; + animation: search-snake 1.2s linear infinite; + position: absolute; + right: 0; +} + +@keyframes search-snake { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +:root { + --kind-font-size-factor: 0.8; +} + +.odoc-search .search-entry { + color: var(--color); + display: grid; + /* Possible kinds are the following : + "doc" "type" "mod" "exn" "class" "meth" "cons" "sig" "cons" "field" "val" + and "ext". + As the longest is 5 characters (and the font monospace), we give 5 + character size to the column. However the font used for kind is a little + smaller, so we adjust by this factor. + */ + grid-template-columns: [kinds] calc(var(--kind-font-size-factor) * 5ch) [titles] 1fr; + column-gap: 0.5rem; + border-bottom: var(--search-results-border) solid 1px; + background-color: inherit; + outline: 0; + padding: 0.4rem 0.4rem 0.7rem 0.7rem; +} +.odoc-search .search-entry p { + margin: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.odoc-search .search-entry:focus-visible { + box-shadow: none; + background-color: var(--target-background); +} + +.odoc-search .search-entry:hover { + box-shadow: none; + background-color: var(--toc-background-emph); +} + +.odoc-search .search-entry .entry-kind { + grid-row: 1/2; + grid-column: 1/2; + line-height: 1.4rem; + font-size: calc(var(--kind-font-size-factor) * 1em); + font-weight: bold; + text-align: right; + position: relative; + bottom: 0; +} + +.odoc-search .search-entry pre { + border: none; + margin: 0; +} + +.odoc-search .search-entry pre code { + font-size: 1em; + background-color: var(--li-code-background); + color: var(--li-code-color); + border-radius: 3px; + padding: 0 0.3ex; +} + +.odoc-search .search-entry .entry-title { + width: 100%; + display: block; + grid-column: 2/2; + grid-row: 1/2; + align-self: end; + line-height: 1.4rem; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.odoc-search .entry-name { + font-weight: bold; +} + +.odoc-search .prefix-name { + font-weight: bold; +} + +.odoc-search .search-entry .prefix-name { + opacity: 0.7; +} + +.odoc-search .entry-rhs { + white-space: nowrap; +} + +.odoc-search .search-entry .entry-content { + flex-grow: 1; + flex-shrink: 1; + min-width: 0; +} + +.odoc-search .search-entry .entry-comment { + max-height: 1.5em; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + font-size: 0.95em; + grid-row: 2/2; + grid-column: 2/2; +} + +.odoc-search .search-entry .entry-comment ul { + white-space: nowrap; + display: inline; +} + +.odoc-search .search-entry .entry-comment li { + display: inline; + white-space: nowrap; +} + +.odoc-search .search-entry .entry-comment ul>li::before { + content: '•'; +} + +.odoc-search .search-entry .entry-comment div { + display: inline; + white-space: nowrap; +} + +.odoc-search .search-entry .entry-comment p { + display: inline; + white-space: nowrap; +} + +.odoc-search .search-entry .entry-comment code { + display: inline; + white-space: nowrap; +} + /* First level titles */ .odoc-toc>ul>li>a { @@ -655,6 +1108,7 @@ td.def-doc *:first-child { .odoc-toc li ul { margin: 0px; + padding-top: 0.25em; } .odoc-toc ul { @@ -662,8 +1116,9 @@ td.def-doc *:first-child { } .odoc-toc ul li { - margin: 0; + padding: 0.25em 0; } + .odoc-toc>ul>li { margin-bottom: 0.3em; } @@ -674,12 +1129,35 @@ td.def-doc *:first-child { padding-left: 12px; } +/* Tables */ + +.odoc-table { + margin: 1em; +} + +.odoc-table td, +.odoc-table th { + padding-left: 0.5em; + padding-right: 0.5em; + border: 1px solid black; +} + +.odoc-table th { + font-weight: bold; +} + /* Mobile adjustements. */ -@media only screen and (max-width: 95ex) { - body.odoc { +@media only screen and (max-width: 110ex) { + body { margin: 2em; + padding: 0; + } + + body.odoc { + display: block; } + .odoc-toc { position: static; width: auto; @@ -699,11 +1177,53 @@ td.def-doc *:first-child { color: black; background: white; } + body nav:first-child { visibility: hidden; } } +/* Source code. */ + +.source_container { + display: flex; +} + +.source_line_column { + padding-right: 0.5em; + text-align: right; + background: #eee8d5; +} + +.source_line { + padding: 0 1em; +} + +.source_code { + flex-grow: 1; + background: #fdf6e3; + padding: 0 0.3em; + color: #657b83; +} + +/* Source directories */ + +.odoc-directory::before { + content: "📁"; + margin: 0.3em; + font-size: 1.3em; +} + +.odoc-file::before { + content: "📄"; + margin: 0.3em; + font-size: 1.3em; +} + +.odoc-folder-list { + list-style: none; +} + /* Syntax highlighting (based on github-gist) */ .hljs { @@ -777,6 +1297,85 @@ td.def-doc *:first-child { text-decoration: underline; } +.VAL, +.TYPE, +.LET, +.REC, +.IN, +.OPEN, +.NONREC, +.MODULE, +.METHOD, +.LETOP, +.INHERIT, +.INCLUDE, +.FUNCTOR, +.EXTERNAL, +.CONSTRAINT, +.ASSERT, +.AND, +.END, +.CLASS, +.STRUCT, +.SIG { + color: #859900; + ; +} + +.WITH, +.WHILE, +.WHEN, +.VIRTUAL, +.TRY, +.TO, +.THEN, +.PRIVATE, +.OF, +.NEW, +.MUTABLE, +.MATCH, +.LAZY, +.IF, +.FUNCTION, +.FUN, +.FOR, +.EXCEPTION, +.ELSE, +.TO, +.DOWNTO, +.DO, +.DONE, +.BEGIN, +.AS { + color: #cb4b16; +} + +.TRUE, +.FALSE { + color: #b58900; +} + +.failwith, +.INT, +.SEMISEMI, +.LIDENT { + color: #2aa198; +} + +.STRING, +.CHAR, +.UIDENT { + color: #b58900; +} + +.DOCSTRING { + color: #268bd2; +} + +.COMMENT { + color: #93a1a1; +} + /*--------------------------------------------------------------------------- Copyright (c) 2016 The odoc contributors @@ -791,4 +1390,4 @@ td.def-doc *:first-child { WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - ---------------------------------------------------------------------------*/ + ---------------------------------------------------------------------------*/ \ No newline at end of file diff --git a/doc/odoc.support/odoc_search.js b/doc/odoc.support/odoc_search.js new file mode 100644 index 0000000..0dc659d --- /dev/null +++ b/doc/odoc.support/odoc_search.js @@ -0,0 +1,66 @@ +/* The browsers interpretation of the CORS origin policy prevents to run + webworkers from javascript files fetched from the file:// protocol. This hack + is to workaround this restriction. */ +function createWebWorker() { + var searchs = search_urls.map((search_url) => { + let parts = document.location.href.split("/"); + parts[parts.length - 1] = search_url; + return '"' + parts.join("/") + '"'; + }); + blobContents = ["importScripts(" + searchs.join(",") + ");"]; + var blob = new Blob(blobContents, { type: "application/javascript" }); + var blobUrl = URL.createObjectURL(blob); + + var worker = new Worker(blobUrl); + URL.revokeObjectURL(blobUrl); + + return worker; +} + +var worker; +var waiting = 0; + +function wait() { + waiting = waiting + 1; + document.querySelector(".search-snake").classList.add("search-busy"); +} + +function stop_waiting() { + if (waiting > 0) waiting = waiting - 1; + else waiting = 0; + if (waiting == 0) { + document.querySelector(".search-snake").classList.remove("search-busy"); + } +} + +document.querySelector(".search-bar").addEventListener("focus", (ev) => { + if (typeof worker == "undefined") { + worker = createWebWorker(); + worker.onmessage = (e) => { + stop_waiting(); + let results = e.data; + let search_results = document.querySelector(".search-result"); + search_results.innerHTML = ""; + let f = (entry) => { + let search_result = document.createElement("a"); + search_result.classList.add("search-entry"); + search_result.href = base_url + entry.url; + search_result.innerHTML = entry.html; + search_results.appendChild(search_result); + }; + results.forEach(f); + let search_request = document.querySelector(".search-bar").value; + if (results.length == 0 && search_request != "") { + let no_result = document.createElement("div"); + no_result.classList.add("search-no-result"); + no_result.innerText = "No result..."; + search_results.appendChild(no_result); + } + }; + } +}); + +document.querySelector(".search-bar").addEventListener("input", (ev) => { + wait(); + worker.postMessage(ev.target.value); +}); diff --git a/doc/sherlodoc.js b/doc/sherlodoc.js new file mode 100644 index 0000000..3a091c3 --- /dev/null +++ b/doc/sherlodoc.js @@ -0,0 +1,1962 @@ +// Generated by js_of_ocaml +//# buildInfo:effects=false, kind=exe, use-js-string=true, version=5.6.0 +(function(a){typeof +globalThis!=="object"&&(this?b():(a.defineProperty(a.prototype,"_T_",{configurable:true,get:b}),_T_));function +b(){var +b=this||self;b.globalThis=b;delete +a.prototype._T_}}(Object));(function(k){"use strict";var +ef="Sys_error",w=0x80,aS=" ",ee="union all",eq="ENOTEMPTY",cn="compare: functional value",eC="EEXIST",ck=1255,ew="entry-name",cm="mkdir",ae=1000,b_=" : flags Open_text and Open_binary are not compatible",eJ="console",aV="int_of_string",ca="fs",cl=5795659,ev="/static/",b9=": Not a directory",ce="ENOENT",ep="Stack_overflow",U=0xff,eB="Undefined_recursive_module",eu="Assert_failure",D=0x8000,ed=0x800,em=0x7ff0,d6=" : is a directory",ea=0xdfff,ec="Division_by_zero",d5=".",el="End_of_file",cd=10000,aT="query/priority_queue.ml",et="OCAMLRUNPARAM",d$=": closedir failed",af=0x3f,eI="Out_of_memory",cj="db/string_automata.ml",d_="Not_found",cc=" : file already exists",cq="Failure",ay=128,bm=": No such file or directory",bn="Unix.Unix_error",ek="^",cb=255,eH="length",cg="ENOTDIR",az=256,b8="index out of bounds",M="/",eo=0xFF,b7=252,d9="Invalid_argument",ad=254,bj="Set.bal",d4=": file descriptor already closed",b6="EBADF",L=0xffffff,d3="Marshal.from_bytes",es=1027,aU=1024,ej="Pervasives.do_at_exit",bl=0x7F,d2=12520,ei=65536,co=" : flags Open_rdonly and Open_wronly are not compatible",ci=0x3F,cf=0xf,d8=512,eF="Match_failure",eG="closedir",d7=1026,er="inter all",eA="class",d1=250,ez=">",e="",b$="rmdir",eb="([^/]+)",cp="fut",ch="jsError",aR='"',eh="fd ",E=0xffff,d0=0xdc00,ex="cons",ey="Sys_blocked_io",o=248,eE="@",en="span",eD=0xe0,N=24029,eg=0xf0,bk="_bigarr02";function +hE(a,b,c,d,e){if(d<=b)for(var +f=1;f<=e;f++)c[d+f]=a[b+f];else +for(var +f=e;f>=1;f--)c[d+f]=a[b+f];return 0}function +hF(a,b,c){if(a[1]===b){a[1]=c;return 1}return 0}function +hG(a,b){var +c=a[1];a[1]+=b;return c}function +cs(a){return a[1]}function +fm(a){var +b=k.process;if(b&&b.env&&b.env[a]!=undefined)return b.env[a];if(k.jsoo_static_env&&k.jsoo_static_env[a])return k.jsoo_static_env[a]}var +cH=0;(function(){var +c=fm(et);if(c!==undefined){var +b=c.split(",");for(var +a=0;aa.hi)return 1;if(this.hia.mi)return 1;if(this.mia.lo)return 1;if(this.loc)return 1;if(ba.mi)return 1;if(this.mia.lo)return 1;if(this.lo>24),c=-this.hi+(b>>24);return new +d(a,b,c)};d.prototype.add=function(a){var +b=this.lo+a.lo,c=this.mi+a.mi+(b>>24),e=this.hi+a.hi+(c>>24);return new +d(b,c,e)};d.prototype.sub=function(a){var +b=this.lo-a.lo,c=this.mi-a.mi+(b>>24),e=this.hi-a.hi+(c>>24);return new +d(b,c,e)};d.prototype.mul=function(a){var +b=this.lo*a.lo,c=(b*e5|0)+this.mi*a.lo+this.lo*a.mi,e=(c*e5|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new +d(b,c,e)};d.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0};d.prototype.isNeg=function(){return this.hi<<16<0};d.prototype.and=function(a){return new +d(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)};d.prototype.or=function(a){return new +d(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)};d.prototype.xor=function(a){return new +d(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)};d.prototype.shift_left=function(a){a=a&63;if(a==0)return this;if(a<24)return new +d(this.lo<>24-a,this.hi<>24-a);if(a<48)return new +d(0,this.lo<>48-a);return new +d(0,0,this.lo<>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a);if(a<48)return new +d(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0);return new +d(this.hi>>a-48,0,0)};d.prototype.shift_right=function(a){a=a&63;if(a==0)return this;var +c=this.hi<<16>>16;if(a<24)return new +d(this.lo>>a|this.mi<<24-a,this.mi>>a|c<<24-a,this.hi<<16>>a>>>16);var +b=this.hi<<16>>31;if(a<48)return new +d(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,b&E);return new +d(this.hi<<16>>a-32,b,b)};d.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23;this.mi=(this.mi<<1|this.lo>>23)&L;this.lo=this.lo<<1&L};d.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&L;this.mi=(this.mi>>>1|this.hi<<23)&L;this.hi=this.hi>>>1};d.prototype.udivmod=function(a){var +e=0,c=this.copy(),b=a.copy(),f=new +d(0,0,0);while(c.ucompare(b)>0){e++;b.lsl1()}while(e>=0){e--;f.lsl1();if(c.ucompare(b)>=0){f.lo++;c=c.sub(b)}b.lsr1()}return{quotient:f,modulus:c}};d.prototype.div=function(a){var +b=this;if(a.isZero())fe();var +d=b.hi^a.hi;if(b.hi&D)b=b.neg();if(a.hi&D)a=a.neg();var +c=b.udivmod(a).quotient;if(d&D)c=c.neg();return c};d.prototype.mod=function(a){var +b=this;if(a.isZero())fe();var +d=b.hi;if(b.hi&D)b=b.neg();if(a.hi&D)a=a.neg();var +c=b.udivmod(a).modulus;if(d&D)c=c.neg();return c};d.prototype.toInt=function(){return this.lo|this.mi<<24};d.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo};d.prototype.toArray=function(){return[this.hi>>8,this.hi&U,this.mi>>16,this.mi>>8&U,this.mi&U,this.lo>>16,this.lo>>8&U,this.lo&U]};d.prototype.lo32=function(){return this.lo|(this.mi&U)<<24};d.prototype.hi32=function(){return this.mi>>>8&E|this.hi<<16};function +h5(a,b){return new +d(a&L,a>>>24&U|(b&E)<<8,b>>>16&E)}function +cD(a){return a.hi32()}function +cE(a){return a.lo32()}function +aX(){p(b8)}var +hI=bk;function +ag(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}ag.prototype.caml_custom=hI;ag.prototype.offset=function(a){var +c=0;if(typeof +a==="number")a=[a];if(!(a +instanceof +Array))p("bigarray.js: invalid offset");if(this.dims.length!=a.length)p("Bigarray.get/set: bad number of dimensions");if(this.layout==0)for(var +b=0;b=this.dims[b])aX();c=c*this.dims[b]+a[b]}else +for(var +b=this.dims.length-1;b>=0;b--){if(a[b]<1||a[b]>this.dims[b])aX();c=c*this.dims[b]+(a[b]-1)}return c};ag.prototype.get=function(a){switch(this.kind){case +7:var +d=this.data[a*2+0],b=this.data[a*2+1];return h5(d,b);case +10:case +11:var +e=this.data[a*2+0],c=this.data[a*2+1];return[ad,e,c];default:return this.data[a]}};ag.prototype.set=function(a,b){switch(this.kind){case +7:this.data[a*2+0]=cE(b);this.data[a*2+1]=cD(b);break;case +10:case +11:this.data[a*2+0]=b[1];this.data[a*2+1]=b[2];break;default:this.data[a]=b;break}return 0};ag.prototype.fill=function(a){switch(this.kind){case +7:var +c=cE(a),e=cD(a);if(c==e)this.data.fill(c);else +for(var +b=0;be)return 1;if(d!=e){if(!b)return NaN;if(d==d)return 1;if(e==e)return-1}}break;case +7:for(var +c=0;ca.data[c+1])return 1;if(this.data[c]>>>0>>0)return-1;if(this.data[c]>>>0>a.data[c]>>>0)return 1}break;case +2:case +3:case +4:case +5:case +6:case +8:case +9:case +12:for(var +c=0;ca.data[c])return 1}break}return 0};function +aA(a,b,c,d){this.kind=a;this.layout=b;this.dims=c;this.data=d}aA.prototype=new +ag();aA.prototype.offset=function(a){if(typeof +a!=="number")if(a +instanceof +Array&&a.length==1)a=a[0];else +p("Ml_Bigarray_c_1_1.offset");if(a<0||a>=this.dims[0])aX();return a};aA.prototype.get=function(a){return this.data[a]};aA.prototype.set=function(a,b){this.data[a]=b;return 0};aA.prototype.fill=function(a){this.data.fill(a);return 0};function +ct(a,b,c,d){var +e=eP(a);if(bp(c)*e!=d.length)p("length doesn't match dims");if(b==0&&c.length==1&&e==1)return new +aA(a,b,c,d);return new +ag(a,b,c,d)}function +e8(a){return a.slice(1)}function +hH(a,b,c){var +d=e8(c),e=eN(a,bp(d));return ct(a,b,d,e)}function +aY(a,b,c){a.set(a.offset(b),c);return 0}function +a4(a,b,c){var +d=String.fromCharCode;if(b==0&&c<=4096&&c==a.length)return d.apply(null,a);var +f=e;for(;0=c.l||c.t==2&&e>=c.c.length)){c.c=a.t==4?a4(a.c,b,e):b==0&&a.c.length==e?a.c:a.c.substr(b,e);c.t=c.c.length==c.l?0:2}else if(c.t==2&&d==c.c.length){c.c+=a.t==4?a4(a.c,b,e):b==0&&a.c.length==e?a.c:a.c.substr(b,e);c.t=c.c.length==c.l?0:2}else{if(c.t!=4)bs(c);var +g=a.c,h=c.c;if(a.t==4)if(d<=b)for(var +f=0;f=0;f--)h[d+f]=g[b+f];else{var +i=Math.min(e,g.length-b);for(var +f=0;f>=1;if(a==0)return d;b+=b;c++;if(c==9)b.slice(0,1)}}function +aZ(a){if(a.t==2)a.c+=fg(a.l-a.c.length,"\0");else +a.c=a4(a.c,0,a.c.length);a.t=0}function +cK(a){if(a.length<24){for(var +b=0;b127)return false;return true}else +return!/[^\x00-\x7f]/.test(a)}function +fk(a){for(var +k=e,d=e,h,g,i,b,c=0,j=a.length;cd8){d.substr(0,1);k+=d;d=e;k+=a.slice(c,f)}else +d+=a.slice(c,f);if(f==j)break;c=f}b=1;if(++c=0xd7ff&&b<0xe000)b=2}else{b=3;if(++c0x10ffff)b=3}}}}}if(b<4){c-=b;d+="\ufffd"}else if(b>E)d+=String.fromCharCode(0xd7c0+(b>>10),d0+(b&0x3FF));else +d+=String.fromCharCode(b);if(d.length>aU){d.substr(0,1);k+=d;d=e}}return k+d}function +V(a,b,c){this.t=a;this.c=b;this.l=c}V.prototype.toString=function(){switch(this.t){case +9:return this.c;default:aZ(this);case +0:if(cK(this.c)){this.t=9;return this.c}this.t=8;case +8:return this.c}};V.prototype.toUtf16=function(){var +a=this.toString();if(this.t==9)return a;return fk(a)};V.prototype.slice=function(){var +a=this.t==4?this.c.slice():this.c;return new +V(this.t,a,this.l)};function +eS(a){return new +V(0,a,a.length)}function +X(a){return a}function +G(a){return eS(X(a))}function +ah(a,b,c,d,e){W(G(a),b,c,d,e);return 0}function +ao(a){return new +d(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function +eU(a,b){switch(a.t&6){default:if(b>=a.c.length)return 0;case +0:return a.c.charCodeAt(b);case +4:return a.c[b]}}function +cu(){p(b8)}function +hM(a,b){if(b>>>0>=a.l-7)cu();var +d=new +Array(8);for(var +c=0;c<8;c++)d[7-c]=eU(a,b+c);return ao(d)}function +cw(a,b,c){c&=U;if(a.t!=4){if(b==a.c.length){a.c+=String.fromCharCode(c);if(b+1==a.l)a.t=0;return 0}bs(a)}a.c[b]=c;return 0}function +eT(a,b,c){if(b>>>0>=a.l)cu();return cw(a,b,c)}function +aE(a){return a.toArray()}function +hN(a,b,c){if(b>>>0>=a.l-7)cu();var +e=aE(c);for(var +d=0;d<8;d++)cw(a,b+7-d,e[d]);return 0}function +aB(d,c){var +f=d.l>=0?d.l:d.l=d.length,e=c.length,b=f-e;if(b==0)return d.apply(null,c);else if(b<0){var +a=d.apply(null,c.slice(0,f));if(typeof +a!=="function")return a;return aB(a,c.slice(f))}else{switch(b){case +1:{var +a=function(a){var +f=new +Array(e+1);for(var +b=0;b>>0>=a.length-1)aX();return a}function +e7(a){return a==245?1:0}var +iH=Math.log2&&Math.log2(1.1235582092889474E+307)==1020;function +iG(a){if(iH)return Math.floor(Math.log2(a));var +b=0;if(a==0)return-Infinity;if(a>=1)while(a>=2){a/=2;b++}else +while(a<1){a*=2;b--}return b}function +cB(a){var +b=new +Float32Array(1);b[0]=a;var +c=new +Int32Array(b.buffer);return c[0]|0}function +y(a,b,c){return new +d(a,b,c)}function +bt(a){if(!isFinite(a)){if(isNaN(a))return y(1,0,em);return a>0?y(0,0,em):y(0,0,0xfff0)}var +f=a==0&&1/a==-Infinity?D:a>=0?0:D;if(f)a=-a;var +b=iG(a)+1023;if(b<=0){b=0;a/=Math.pow(2,-d7)}else{a/=Math.pow(2,b-es);if(a<16){a*=2;b-=1}if(b==0)a/=2}var +d=Math.pow(2,24),c=a|0;a=(a-c)*d;var +e=a|0;a=(a-e)*d;var +g=a|0;c=c&cf|f|b<<4;return y(g,e,c)}function +eR(a,b,c){a.write(32,b.dims.length);a.write(32,b.kind|b.layout<<8);if(b.caml_custom==bk)for(var +d=0;d>4;if(d==2047)return(f|g|c&cf)==0?c&D?-Infinity:Infinity:NaN;var +e=Math.pow(2,-24),b=(f*e+g)*e+(c&cf);if(d>0){b+=16;b*=Math.pow(2,d-es)}else +b*=Math.pow(2,-d7);if(c&D)b=-b;return b}function +m(a){if(!q.Failure)q.Failure=[o,z(cq),-3];cG(q.Failure,a)}function +eO(a,b,c){var +k=a.read32s();if(k<0||k>16)m("input_value: wrong number of bigarray dimensions");var +s=a.read32s(),l=s&U,r=s>>8&1,j=[];if(c==bk)for(var +d=0;d>>32-15;b=by(b,0x1b873593);a^=b;a=a<<13|a>>>32-13;return(a+(a<<2)|0)+(0xe6546b64|0)|0}function +hZ(a,b){a=r(a,cE(b));a=r(a,cD(b));return a}function +cz(a,b){return hZ(a,bt(b))}function +eQ(a){var +c=bp(a.dims),d=0;switch(a.kind){case +2:case +3:case +12:if(c>az)c=az;var +e=0,b=0;for(b=0;b+4<=a.data.length;b+=4){e=a.data[b+0]|a.data[b+1]<<8|a.data[b+2]<<16|a.data[b+3]<<24;d=r(d,e)}e=0;switch(c&3){case +3:e=a.data[b+2]<<16;case +2:e|=a.data[b+1]<<8;case +1:e|=a.data[b+0];d=r(d,e)}break;case +4:case +5:if(c>ay)c=ay;var +e=0,b=0;for(b=0;b+2<=a.data.length;b+=2){e=a.data[b+0]|a.data[b+1]<<16;d=r(d,e)}if((c&1)!=0)d=r(d,a.data[b]);break;case +6:if(c>64)c=64;for(var +b=0;b64)c=64;for(var +b=0;b32)c=32;c*=2;for(var +b=0;b64)c=64;for(var +b=0;b32)c=32;for(var +b=0;b0?f(b,a,d):f(a,b,d);if(d&&e!=e)return c;if(+e!=+e)return+e;if((e|0)!=0)return e|0}return c}function +bx(a){return typeof +a==="string"&&!/[^\x00-\xff]/.test(a)}function +bw(a){return a +instanceof +V}function +eW(a){if(typeof +a==="number")return ae;else if(bw(a))return b7;else if(bx(a))return 1252;else if(a +instanceof +Array&&a[0]===a[0]>>>0&&a[0]<=cb){var +b=a[0]|0;return b==ad?0:b}else if(a +instanceof +String)return d2;else if(typeof +a=="string")return d2;else if(a +instanceof +Number)return ae;else if(a&&a.caml_custom)return ck;else if(a&&a.compare)return 1256;else if(typeof +a=="function")return 1247;else if(typeof +a=="symbol")return 1251;return 1001}function +a1(a,b){if(ab?1:0}function +hL(a,b){a.t&6&&aZ(a);b.t&6&&aZ(b);return a.cb.c?1:0}function +br(a,b,c){var +f=[];for(;;){if(!(c&&a===b)){var +e=eW(a);if(e==d1){a=a[1];continue}var +g=eW(b);if(g==d1){b=b[1];continue}if(e!==g){if(e==ae){if(g==ck)return eV(a,b,-1,c);return-1}if(g==ae){if(e==ck)return eV(b,a,1,c);return 1}return eb)return 1;if(a!=b){if(!c)return NaN;if(a==a)return 1;if(b==b)return-1}break;case +1001:if(ab)return 1;if(a!=b){if(!c)return NaN;if(a==a)return 1;if(b==b)return-1}break;case +1251:if(a!==b){if(!c)return NaN;return 1}break;case +1252:var +a=X(a),b=X(b);if(a!==b){if(ab)return 1}break;case +12520:var +a=a.toString(),b=b.toString();if(a!==b){if(ab)return 1}break;case +246:case +254:default:if(e7(e)){p("compare: continuation value");break}if(a.length!=b.length)return a.length1)f.push(a,b,1);break}}if(f.length==0)return 0;var +h=f.pop();b=f.pop();a=f.pop();if(h+10)if(b==0&&(c>=a.l||a.t==2&&c>=a.c.length))if(d==0){a.c=e;a.t=2}else{a.c=fg(c,String.fromCharCode(d));a.t=c==a.l?0:2}else{if(a.t!=4)bs(a);for(c+=b;b1)b.pop();break;case".":break;case"":break;default:b.push(d[c]);break}b.unshift(e[0]);b.orig=a;return b}function +iF(a){for(var +g=e,c=g,b,i,d=0,h=a.length;dd8){c.substr(0,1);g+=c;c=e;g+=a.slice(d,f)}else +c+=a.slice(d,f);if(f==h)break;d=f}if(b>6);c+=String.fromCharCode(w|b&af)}else if(b<0xd800||b>=ea)c+=String.fromCharCode(eD|b>>12,w|b>>6&af,w|b&af);else if(b>=0xdbff||d+1==h||(i=a.charCodeAt(d+1))ea)c+="\xef\xbf\xbd";else{d++;b=(b<<10)+i-0x35fdc00;c+=String.fromCharCode(eg|b>>18,w|b>>12&af,w|b>>6&af,w|b&af)}if(c.length>aU){c.substr(0,1);g+=c;c=e}}return g+c}function +O(a){return cK(a)?z(a):z(iF(a))}var +iJ=["E2BIG","EACCES","EAGAIN",b6,"EBUSY","ECHILD","EDEADLK","EDOM",eC,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",ce,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",cg,eq,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function +$(a,b,c,d){var +f=iJ.indexOf(a);if(f<0){if(d==null)d=-9999;f=[0,d]}var +g=[f,O(b||e),O(c||e)];return g}var +e$={};function +ai(a){return e$[a]}function +_(a,b){throw l([0,a].concat(b))}function +cv(a){if(!(a +instanceof +Uint8Array))a=new +Uint8Array(a);return new +V(4,a,a.length)}function +j(a){cG(q.Sys_error,a)}function +fd(a){j(a+bm)}function +a5(a){if(a.t!=4)bs(a);return a.c}function +Y(a){return a.l}function +eK(){}function +t(a){this.data=a}t.prototype=new +eK();t.prototype.constructor=t;t.prototype.truncate=function(a){var +b=this.data;this.data=u(a|0);W(b,0,this.data,0,a)};t.prototype.length=function(){return Y(this.data)};t.prototype.write=function(a,b,c,d){var +e=this.length();if(a+d>=e){var +f=u(a+d),g=this.data;this.data=f;W(g,0,this.data,0,e)}W(cv(b),c,this.data,a,d);return 0};t.prototype.read=function(a,b,c,d){var +e=this.length();if(a+d>=e)d=e-a;if(d){var +f=u(d|0);W(this.data,a,f,0,d);b.set(a5(f),c)}return d};function +an(a,b,c){this.file=b;this.name=a;this.flags=c}an.prototype.err_closed=function(){j(this.name+d4)};an.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()};an.prototype.write=function(a,b,c,d){if(this.file)return this.file.write(a,b,c,d);this.err_closed()};an.prototype.read=function(a,b,c,d){if(this.file)return this.file.read(a,b,c,d);this.err_closed()};an.prototype.close=function(){this.file=undefined};function +a(a,b){this.content={};this.root=a;this.lookupFun=b}a.prototype.nm=function(a){return this.root+a};a.prototype.create_dir_if_needed=function(a){var +d=a.split(M),c=e;for(var +b=0;b>>16;a=by(a,0x85ebca6b|0);a^=a>>>13;a=by(a,0xc2b2ae35|0);a^=a>>>16;return a}function +hV(a,b,c,d){var +j,k,l,h,g,f,e,i,m;h=b;if(h<0||h>az)h=az;g=a;f=c;j=[d];k=0;l=1;while(k0){e=j[k++];if(e&&e.caml_custom){if(aC[e.caml_custom]&&aC[e.caml_custom].hash){var +n=aC[e.caml_custom].hash(e);f=r(f,n);g--}}else if(e +instanceof +Array&&e[0]===(e[0]|0))switch(e[0]){case +248:f=r(f,e[2]);g--;break;case +250:j[--k]=e[1];break;default:if(e7(e[0]))break;var +o=e.length-1<<10|e[0];f=r(f,o);for(i=1,m=e.length;i=h)break;j[l++]=e[i]}break}else if(bw(e)){f=hW(f,e);g--}else if(bx(e)){f=h0(f,e);g--}else if(typeof +e==="string"){f=cA(f,e);g--}else if(e===(e|0)){f=r(f,e+e+1);g--}else if(typeof +e==="number"){f=cz(f,e);g--}}f=hY(f);return f&0x3FFFFFFF}function +eL(a,b){this.s=X(a);this.i=b}eL.prototype={read8u:function(){return this.s.charCodeAt(this.i++)},read8s:function(){return this.s.charCodeAt(this.i++)<<24>>24},read16u:function(){var +b=this.s,a=this.i;this.i=a+2;return b.charCodeAt(a)<<8|b.charCodeAt(a+1)},read16s:function(){var +b=this.s,a=this.i;this.i=a+2;return b.charCodeAt(a)<<24>>16|b.charCodeAt(a+1)},read32u:function(){var +b=this.s,a=this.i;this.i=a+4;return(b.charCodeAt(a)<<24|b.charCodeAt(a+1)<<16|b.charCodeAt(a+2)<<8|b.charCodeAt(a+3))>>>0},read32s:function(){var +b=this.s,a=this.i;this.i=a+4;return b.charCodeAt(a)<<24|b.charCodeAt(a+1)<<16|b.charCodeAt(a+2)<<8|b.charCodeAt(a+3)},readstr:function(a){var +b=this.i;this.i=b+a;return z(this.s.substring(b,b+a))},readuint8array:function(a){var +c=new +Uint8Array(a),e=this.s,d=this.i;for(var +b=0;b>24},read16u:function(){var +b=this.s,a=this.i;this.i=a+2;return b[a]<<8|b[a+1]},read16s:function(){var +b=this.s,a=this.i;this.i=a+2;return b[a]<<24>>16|b[a+1]},read32u:function(){var +b=this.s,a=this.i;this.i=a+4;return(b[a]<<24|b[a+1]<<16|b[a+2]<<8|b[a+3])>>>0},read32s:function(){var +b=this.s,a=this.i;this.i=a+4;return b[a]<<24|b[a+1]<<16|b[a+2]<<8|b[a+3]},readstr:function(a){var +b=this.i;this.i=b+a;return cJ(this.s.subarray(b,b+a))},readuint8array:function(a){var +b=this.i;this.i=b+a;return this.s.subarray(b,b+a)}};function +aD(a){return bu(ao(a))}function +h2(d,b){function +f(a){var +b=d.read8u(),c=b&bl;while((b&w)!=0){b=d.read8u();var +e=c<<7;if(c!=e>>7)a[0]=true;c=e|b&bl}return c}var +x=d.read32u();switch(x){case +0x8495A6BE:var +v=20,o=0,h=d.read32u(),r=h,p=d.read32u(),s=d.read32u(),t=d.read32u();break;case +0x8495A6BD:var +v=d.read8u()&ci,o=1,a=[false],h=f(a),r=f(a),p=f(a),s=f(a),t=f(a);if(a[0])m("caml_input_value_from_reader: object too large to be read back on this platform");break;case +0x8495A6BF:m("caml_input_value_from_reader: object too large to be read back on a 32-bit platform");break;default:m("caml_input_value_from_reader: bad object");break}var +n=[],c=p>0?[]:null,i=0;function +l(a){var +k=a.read8u();if(k>=0x40)if(k>=w){var +r=k&0xF,l=k>>4&0x7,b=[r];if(l==0)return b;if(c)c[i++]=b;n.push(b,l);return b}else +return k&ci;else if(k>=0x20){var +f=k&0x1F,b=a.readstr(f);if(c)c[i++]=b;return b}else +switch(k){case +0x00:return a.read8s();case +0x01:return a.read16s();case +0x02:return a.read32s();case +0x03:m("input_value: integer too large");break;case +0x04:var +j=a.read8u();if(o==0)j=i-j;return c[j];case +0x05:var +j=a.read16u();if(o==0)j=i-j;return c[j];case +0x06:var +j=a.read32u();if(o==0)j=i-j;return c[j];case +0x08:var +t=a.read32u(),r=t&eo,l=t>>10,b=[r];if(l==0)return b;if(c)c[i++]=b;n.push(b,l);return b;case +0x13:m("input_value: data block too large");break;case +0x09:var +f=a.read8u(),b=a.readstr(f);if(c)c[i++]=b;return b;case +0x0A:var +f=a.read32u(),b=a.readstr(f);if(c)c[i++]=b;return b;case +0x0C:var +g=new +Array(8);for(var +d=0;d<8;d++)g[7-d]=a.read8u();var +b=aD(g);if(c)c[i++]=b;return b;case +0x0B:var +g=new +Array(8);for(var +d=0;d<8;d++)g[d]=a.read8u();var +b=aD(g);if(c)c[i++]=b;return b;case +0x0E:var +f=a.read8u(),b=new +Array(f+1);b[0]=ad;var +g=new +Array(8);if(c)c[i++]=b;for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[7-h]=a.read8u();b[d]=aD(g)}return b;case +0x0D:var +f=a.read8u(),b=new +Array(f+1);b[0]=ad;var +g=new +Array(8);if(c)c[i++]=b;for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[h]=a.read8u();b[d]=aD(g)}return b;case +0x07:var +f=a.read32u(),b=new +Array(f+1);b[0]=ad;if(c)c[i++]=b;var +g=new +Array(8);for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[7-h]=a.read8u();b[d]=aD(g)}return b;case +0x0F:var +f=a.read32u(),b=new +Array(f+1);b[0]=ad;var +g=new +Array(8);for(var +d=1;d<=f;d++){for(var +h=0;h<8;h++)g[h]=a.read8u();b[d]=aD(g)}return b;case +0x10:case +0x11:m("input_value: code pointer");break;case +0x12:case +0x18:case +0x19:var +s,u=e;while((s=a.read8u())!=0)u+=String.fromCharCode(s);var +q=aC[u],p;if(!q)m("input_value: unknown custom block identifier");switch(k){case +0x12:break;case +0x19:if(!q.fixed_length)m("input_value: expected a fixed-size custom block");p=q.fixed_length;break;case +0x18:p=a.read32u();a.read32s();a.read32s();break}var +v=a.i,l=[0],b=q.deserialize(a,l);if(p!=undefined)if(p!=l[0])m("input_value: incorrect length of serialized custom block");if(c)c[i++]=b;return b;default:m("input_value: ill-formed message")}}if(o)if(eX)var +u=d.readuint8array(h),g=new +Uint8Array(r),g=eX(u,g),d=new +cr(g,0);else +m("input_value: compressed object, cannot decompress");var +g=l(d);while(n.length>0){var +q=n.pop(),j=n.pop(),k=j.length;if(k>24&L,a>>31&E)}function +e6(a,b){return a.or(b)}function +h$(a){return a.toInt()}function +id(a,b){switch(b.length){case +1:return new +a;case +2:return new +a(b[1]);case +3:return new +a(b[1],b[2]);case +4:return new +a(b[1],b[2],b[3]);case +5:return new +a(b[1],b[2],b[3],b[4]);case +6:return new +a(b[1],b[2],b[3],b[4],b[5]);case +7:return new +a(b[1],b[2],b[3],b[4],b[5],b[6]);case +8:return new +a(b[1],b[2],b[3],b[4],b[5],b[6],b[7])}function +c(){return a.apply(this,e8(b))}c.prototype=a.prototype;return new +c}var +bq=aB;function +aF(a,b){return function(){var +f=arguments.length,d=new +Array(a),e=Math.min(arguments.length,a);for(var +c=0;c>16;return c}function +ig(a,b,c){var +p=2,q=3,t=5,e=6,i=7,h=8,k=9,o=1,n=2,s=3,u=4,r=5;if(!a.lex_default){a.lex_base=a2(a[o]);a.lex_backtrk=a2(a[n]);a.lex_check=a2(a[r]);a.lex_trans=a2(a[u]);a.lex_default=a2(a[s])}var +f,d=b,l=a5(c[p]);if(d>=0){c[i]=c[t]=c[e];c[h]=-1}else +d=-d-1;for(;;){var +g=a.lex_base[d];if(g<0)return-g-1;var +j=a.lex_backtrk[d];if(j>=0){c[i]=c[e];c[h]=j}if(c[e]>=c[q])if(c[k]==0)return-d-1;else +f=az;else{f=l[c[e]];c[e]++}if(a.lex_check[g+f]==d)d=a.lex_trans[g+f];else +d=a.lex_default[d];if(d<0){c[e]=c[i];if(c[h]==-1)m("lexing: empty token");else +return c[h]}else if(f==az)c[k]=0}}function +fa(a){return z(a)}function +e2(a,b){return a.add(b)}function +e3(a,b){return a.mul(b)}function +h8(a){return a.neg()}function +cF(a,b){return a.ucompare(b)<0}function +iw(a){var +b=0,e=f(a),c=10,d=1;if(e>0)switch(P(a,b)){case +45:b++;d=-1;break;case +43:b++;d=1;break}if(b+1=48&&a<=57)return a-48;if(a>=65&&a<=90)return a-55;if(a>=97&&a<=122)return a-87;return-1}function +e4(a){var +i=iw(a),h=i[0],k=i[1],e=i[2],j=bv(e),l=new +d(L,0xfffffff,E).udivmod(j).quotient,g=P(a,h),b=fb(g);if(b<0||b>=e)m(aV);var +c=bv(b);for(;;){h++;g=P(a,h);if(g==95)continue;b=fb(g);if(b<0||b>=e)break;if(cF(l,c))m(aV);b=bv(b);c=e2(e3(j,c),b);if(cF(c,b))m(aV)}if(h!=f(a))m(aV);if(e==10&&cF(new +d(0,0,D),c))m(aV);if(k<0)c=h8(c);return c}function +hJ(a,b){return a.get(a.offset(b))}function +ib(a,b){return a.xor(b)}function +h_(a,b){return a.shift_right_unsigned(b)}function +h9(a,b){return a.shift_left(b)}function +a3(a){function +o(a,b){return h9(a,b)}function +h(a,b){return h_(a,b)}function +s(a,b){return e6(a,b)}function +f(a,b){return ib(a,b)}function +k(a,b){return e2(a,b)}function +i(a,b){return e3(a,b)}function +m(a,b){return s(o(a,b),h(a,64-b))}function +g(a,b){return hJ(a,b)}function +j(a,b,c){return aY(a,b,c)}var +q=e4(fa("0xd1342543de82ef95")),l=e4(fa("0xdaba0b6eb09322e3")),b,d,c,e=a,r=g(e,0),n=g(e,1),p=g(e,2),t=g(e,3);b=k(n,p);b=i(f(b,h(b,32)),l);b=i(f(b,h(b,32)),l);b=f(b,h(b,32));j(e,1,k(i(n,q),r));var +d=p,c=t;c=f(c,d);d=m(d,24);d=f(f(d,c),o(c,16));c=m(c,37);j(e,2,d);j(e,3,c);return b}function +H(a,b){if(a<0)aX();var +a=a+1|0,c=new +Array(a);c[0]=0;for(var +d=1;d>7)a[0]=true;d=e|b&bl}return d}switch(c.read32u()){case +0x8495A6BE:var +e=20,d=c.read32u();break;case +0x8495A6BD:var +e=c.read8u()&ci,f=[false],d=g(f);if(f[0])m("Marshal.data_size: object too large to be read back on this platform");break;case +0x8495A6BF:default:m("Marshal.data_size: bad object");break}return e-ij+d}function +hC(){var +a=new +ArrayBuffer(64),b=new +Uint32Array(a),c=new +Uint8Array(a);return{len:0,w:new +Uint32Array([0x67452301,0xEFCDAB89,0x98BADCFE,0x10325476]),b32:b,b8:c}}var +bo=function(){function +k(a,b){return a+b|0}function +l(a,b,c,d,e,f){b=k(k(b,a),k(d,f));return k(b<>>32-e,c)}function +g(a,b,c,d,e,f,g){return l(b&c|~b&d,a,b,e,f,g)}function +h(a,b,c,d,e,f,g){return l(b&d|c&~d,a,b,e,f,g)}function +i(a,b,c,d,e,f,g){return l(b^c^d,a,b,e,f,g)}function +j(a,b,c,d,e,f,g){return l(c^(b|~d),a,b,e,f,g)}return function(a,b){var +c=a[0],d=a[1],e=a[2],f=a[3];c=g(c,d,e,f,b[0],7,0xD76AA478);f=g(f,c,d,e,b[1],12,0xE8C7B756);e=g(e,f,c,d,b[2],17,0x242070DB);d=g(d,e,f,c,b[3],22,0xC1BDCEEE);c=g(c,d,e,f,b[4],7,0xF57C0FAF);f=g(f,c,d,e,b[5],12,0x4787C62A);e=g(e,f,c,d,b[6],17,0xA8304613);d=g(d,e,f,c,b[7],22,0xFD469501);c=g(c,d,e,f,b[8],7,0x698098D8);f=g(f,c,d,e,b[9],12,0x8B44F7AF);e=g(e,f,c,d,b[10],17,0xFFFF5BB1);d=g(d,e,f,c,b[11],22,0x895CD7BE);c=g(c,d,e,f,b[12],7,0x6B901122);f=g(f,c,d,e,b[13],12,0xFD987193);e=g(e,f,c,d,b[14],17,0xA679438E);d=g(d,e,f,c,b[15],22,0x49B40821);c=h(c,d,e,f,b[1],5,0xF61E2562);f=h(f,c,d,e,b[6],9,0xC040B340);e=h(e,f,c,d,b[11],14,0x265E5A51);d=h(d,e,f,c,b[0],20,0xE9B6C7AA);c=h(c,d,e,f,b[5],5,0xD62F105D);f=h(f,c,d,e,b[10],9,0x02441453);e=h(e,f,c,d,b[15],14,0xD8A1E681);d=h(d,e,f,c,b[4],20,0xE7D3FBC8);c=h(c,d,e,f,b[9],5,0x21E1CDE6);f=h(f,c,d,e,b[14],9,0xC33707D6);e=h(e,f,c,d,b[3],14,0xF4D50D87);d=h(d,e,f,c,b[8],20,0x455A14ED);c=h(c,d,e,f,b[13],5,0xA9E3E905);f=h(f,c,d,e,b[2],9,0xFCEFA3F8);e=h(e,f,c,d,b[7],14,0x676F02D9);d=h(d,e,f,c,b[12],20,0x8D2A4C8A);c=i(c,d,e,f,b[5],4,0xFFFA3942);f=i(f,c,d,e,b[8],11,0x8771F681);e=i(e,f,c,d,b[11],16,0x6D9D6122);d=i(d,e,f,c,b[14],23,0xFDE5380C);c=i(c,d,e,f,b[1],4,0xA4BEEA44);f=i(f,c,d,e,b[4],11,0x4BDECFA9);e=i(e,f,c,d,b[7],16,0xF6BB4B60);d=i(d,e,f,c,b[10],23,0xBEBFBC70);c=i(c,d,e,f,b[13],4,0x289B7EC6);f=i(f,c,d,e,b[0],11,0xEAA127FA);e=i(e,f,c,d,b[3],16,0xD4EF3085);d=i(d,e,f,c,b[6],23,0x04881D05);c=i(c,d,e,f,b[9],4,0xD9D4D039);f=i(f,c,d,e,b[12],11,0xE6DB99E5);e=i(e,f,c,d,b[15],16,0x1FA27CF8);d=i(d,e,f,c,b[2],23,0xC4AC5665);c=j(c,d,e,f,b[0],6,0xF4292244);f=j(f,c,d,e,b[7],10,0x432AFF97);e=j(e,f,c,d,b[14],15,0xAB9423A7);d=j(d,e,f,c,b[5],21,0xFC93A039);c=j(c,d,e,f,b[12],6,0x655B59C3);f=j(f,c,d,e,b[3],10,0x8F0CCC92);e=j(e,f,c,d,b[10],15,0xFFEFF47D);d=j(d,e,f,c,b[1],21,0x85845DD1);c=j(c,d,e,f,b[8],6,0x6FA87E4F);f=j(f,c,d,e,b[15],10,0xFE2CE6E0);e=j(e,f,c,d,b[6],15,0xA3014314);d=j(d,e,f,c,b[13],21,0x4E0811A1);c=j(c,d,e,f,b[4],6,0xF7537E82);f=j(f,c,d,e,b[11],10,0xBD3AF235);e=j(e,f,c,d,b[2],15,0x2AD7D2BB);d=j(d,e,f,c,b[9],21,0xEB86D391);a[0]=k(c,a[0]);a[1]=k(d,a[1]);a[2]=k(e,a[2]);a[3]=k(f,a[3])}}();function +hD(a,b,c){var +e=a.len&af,d=0;a.len+=c;if(e){var +f=64-e;if(c=64){a.b8.set(b.subarray(d,d+64),0);bo(a.w,a.b32);c-=64;d+=64}if(c)a.b8.set(b.subarray(d,d+c),0)}function +hB(a){var +c=a.len⁡a.b8[c]=w;c++;if(c>56){for(var +b=c;b<64;b++)a.b8[b]=0;bo(a.w,a.b32);for(var +b=0;b<56;b++)a.b8[b]=0}else +for(var +b=c;b<56;b++)a.b8[b]=0;a.b32[14]=a.len<<3;a.b32[15]=a.len>>29&0x1FFFFFFF;bo(a.w,a.b32);var +e=new +Uint8Array(16);for(var +d=0;d<4;d++)for(var +b=0;b<4;b++)e[d*4+b]=a.w[d]>>8*b&eo;return e}function +ik(a,b,c){var +d=hC(),e=a5(a);hD(d,e.subarray(b,b+c),c);return cJ(hB(d))}function +il(a,b,c){return ik(G(a),b,c)}var +Z=new +Array();function +aH(a){var +b=Z[a];if(!b.opened)j("Cannot flush a closed channel");if(!b.buffer||b.buffer_curr==0)return 0;if(b.output)b.output(a4(b.buffer,0,b.buffer_curr));else +b.file.write(b.offset,b.buffer,0,b.buffer_curr);b.offset+=b.buffer_curr;b.buffer_curr=0;return 0}function +iD(a,b){if(b.name)try{var +d=require(ca),c=d.openSync(b.name,"rs");return new +F(c,b)}catch(f){}return new +F(a,b)}var +bB=new +Array(3);function +aW(a,b){t.call(this,u(0));this.log=function(a){return 0};if(a==1&&typeof +console.log=="function")this.log=console.log;else if(a==2&&typeof +console.error=="function")this.log=console.error;else if(typeof +console.log=="function")this.log=console.log;this.flags=b}aW.prototype.length=function(){return 0};aW.prototype.write=function(a,b,c,d){if(this.log){if(d>0&&c>=0&&c+d<=b.length&&b[c+d-1]==10)d--;var +e=u(d);W(cv(b),c,e,0,d);this.log(e.toUtf16());return 0}j(this.fd+d4)};aW.prototype.read=function(a,b,c,d){j(this.fd+": file descriptor is write only")};aW.prototype.close=function(){this.log=undefined};function +bC(a,b){if(b==undefined)b=bB.length;bB[b]=a;return b|0}function +iL(a,b,c){var +d={};while(b){switch(b[1]){case +0:d.rdonly=1;break;case +1:d.wronly=1;break;case +2:d.append=1;break;case +3:d.create=1;break;case +4:d.truncate=1;break;case +5:d.excl=1;break;case +6:d.binary=1;break;case +7:d.text=1;break;case +8:d.nonblock=1;break}b=b[2]}if(d.rdonly&&d.wronly)j(X(a)+co);if(d.text&&d.binary)j(X(a)+b_);var +e=fn(a),f=e.device.open(e.rest,d);return bC(f,undefined)}(function(){function +a(a,b){return a6()?iD(a,b):new +aW(a,b)}bC(a(0,{rdonly:1,altname:"/dev/stdin",isCharacterDevice:true}),0);bC(a(1,{buffered:2,wronly:1,isCharacterDevice:true}),1);bC(a(2,{buffered:2,wronly:1,isCharacterDevice:true}),2)}());function +io(a){var +b=bB[a];if(b.flags.wronly)j(eh+a+" is writeonly");var +d=null,c={file:b,offset:b.flags.append?b.length():0,fd:a,opened:true,out:false,buffer_curr:0,buffer_max:0,buffer:new +Uint8Array(ei),refill:d};Z[c.fd]=c;return c.fd}function +e9(a){var +b=bB[a];if(b.flags.rdonly)j(eh+a+" is readonly");var +d=b.flags.buffered!==undefined?b.flags.buffered:1,c={file:b,offset:b.flags.append?b.length():0,fd:a,opened:true,out:true,buffer_curr:0,buffer:new +Uint8Array(ei),buffered:d};Z[c.fd]=c;return c.fd}function +ip(){var +b=0;for(var +a=0;ae.buffer.length){var +g=new +Uint8Array(e.buffer_curr+b.length);g.set(e.buffer);e.buffer=g}switch(e.buffered){case +0:e.buffer.set(b,e.buffer_curr);e.buffer_curr+=b.length;aH(a);break;case +1:e.buffer.set(b,e.buffer_curr);e.buffer_curr+=b.length;if(e.buffer_curr>=e.buffer.length)aH(a);break;case +2:var +f=b.lastIndexOf(10);if(f<0){e.buffer.set(b,e.buffer_curr);e.buffer_curr+=b.length;if(e.buffer_curr>=e.buffer.length)aH(a)}else{e.buffer.set(b.subarray(0,f+1),e.buffer_curr);e.buffer_curr+=f+1;aH(a);e.buffer.set(b.subarray(f+1),e.buffer_curr);e.buffer_curr+=b.length-f-1}break}return 0}function +iq(a,b,c,d){var +b=a5(b);return is(a,b,c,d)}function +e_(a,b,c,d){return iq(a,G(b),c,d)}function +ir(a,b){var +c=z(String.fromCharCode(b));e_(a,c,0,1);return 0}function +bz(a,b){return+(br(a,b,false)!=0)}function +iu(a){if(a +instanceof +Array&&a[0]==a[0]>>>0)return a[0];else if(bw(a))return b7;else if(bx(a))return b7;else if(a +instanceof +Function||typeof +a=="function")return 247;else if(a&&a.caml_custom)return cb;else +return ae}function +hK(a){var +b;while(a)if(aG(a[1][1])=="SYJS"){b=a[1][2];break}else +a=a[2];var +d={};if(b)for(var +c=1;c=0)a=e;else +m("caml_register_global: cannot locate "+d)}}q[a+1]=b;if(c)q[c]=b}function +ff(a,b){e$[X(a)]=b;return 0}function +fh(a,b){if(a===b)return 1;return 0}function +iA(){p(b8)}function +v(a,b){if(b>>>0>=f(a))iA();return P(a,b)}function +iB(a,b){return 1-fh(a,b)}function +iC(){return 0x7FFFFFFF/4|0}function +ix(){fc(q.Not_found)}function +fi(a){var +b=fm(aG(a));if(b===undefined)ix();return O(b)}function +iE(){if(k.crypto)if(k.crypto.getRandomValues){var +a=k.crypto.getRandomValues(new +Int32Array(4));return[0,a[0],a[1],a[2],a[3]]}else if(k.crypto.randomBytes){var +a=new +Int32Array(k.crypto.randomBytes(16).buffer);return[0,a[0],a[1],a[2],a[3]]}var +b=new +Date().getTime(),c=b^0xffffffff*Math.random();return[0,c]}function +aI(a){var +b=1;while(a&&a.joo_tramp){a=a.joo_tramp.apply(null,a.joo_args);b++}return a}function +i(a,b){return{joo_tramp:a,joo_args:b}}function +ak(a){{if(a +instanceof +Array)return a;var +b;if(k.RangeError&&a +instanceof +k.RangeError&&a.message&&a.message.match(/maximum call stack/i))b=q.Stack_overflow;else if(k.InternalError&&a +instanceof +k.InternalError&&a.message&&a.message.match(/too much recursion/i))b=q.Stack_overflow;else if(a +instanceof +k.Error&&ai(ch))b=[0,ai(ch),a];else +b=[0,q.Failure,O(String(a))];if(a +instanceof +k.Error)b.js_error=a;return b}}function +ic(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function +hT(a){var +b=e;if(a[0]==0){b+=a[1][1];if(a.length==3&&a[2][0]==0&&ic(a[1]))var +f=a[2],g=1;else +var +g=2,f=a;b+="(";for(var +d=g;dg)b+=", ";var +c=f[d];if(typeof +c=="number")b+=c.toString();else if(c +instanceof +V)b+=aR+c.toString()+aR;else if(typeof +c=="string")b+=aR+c.toString()+aR;else +b+="_"}b+=")"}else if(a[0]==o)b+=a[1];return b}function +e0(a){if(a +instanceof +Array&&(a[0]==0||a[0]==o)){var +c=ai("Printexc.handle_uncaught_exception");if(c)bq(c,[a,false]);else{var +d=hT(a),b=ai(ej);if(b)bq(b,[0]);console.error("Fatal error: exception "+d);if(a.js_error)throw a.js_error}}else +throw a}function +iz(){var +c=k.process;if(c&&c.on)c.on("uncaughtException",function(a,b){e0(a);c.exit(2)});else if(k.addEventListener)k.addEventListener("error",function(a){if(a.error)e0(a.error)})}iz();function +h(a,b){return(a.l>=0?a.l:a.l=a.length)==1?a(b):aB(a,[b])}function +n(a,b,c){return(a.l>=0?a.l:a.l=a.length)==2?a(b,c):aB(a,[b,c])}function +hA(a,b,c,d){return(a.l>=0?a.l:a.l=a.length)==3?a(b,c,d):aB(a,[b,c,d])}var +iK=undefined;hU();var +cO=[o,ef,-2],cN=[o,cq,-3],cM=[o,d9,-4],B=[o,d_,-7],A=[o,eu,-11],c2=[0,e,1,0,0],dt=eE,dG=[0,1,0],bf=[0,0,0],dR="<",dS=">",dT="@",dU=""",dV="&",dW="'";C(11,[o,eB,-12],eB);C(10,A,eu);C(9,[o,ey,-10],ey);C(8,[o,ep,-9],ep);C(7,[o,eF,-8],eF);C(6,B,d_);C(5,[o,ec,-6],ec);C(4,[o,el,-5],el);C(3,cM,d9);C(2,cN,cq);C(1,cO,ef);C(0,[o,eI,-1],eI);var +fq="result is Error _",fr="hd",fu="String.blit / Bytes.blit_string",ft="Bytes.blit",fs="String.sub / Bytes.sub",fx="String.contains_from / Bytes.contains_from",fw=e,fv="String.concat",fy=d3,fz=d3,fC=[0,"array.ml",348,4],fA="Array.blit",fB="Stdlib.Array.Bottom",fD=[0,e,0,0,-1],fI="Set.remove_min_elt",fE=bj,fF=bj,fG=bj,fH=bj,fL="Buffer.add_substring/add_subbytes",fK="Buffer.add: cannot grow buffer",fV=y(14371852,15349651,22696),fW=y(12230193,11438743,35013),fX=y(1424933,15549263,2083),fY=y(9492471,4696708,43520),fO=y(1,0,0),fP=y(0,0,0),fS=y(1,0,0),fQ=y(0,0,0),fR=y(2,0,0),f2="Hashtbl: unsupported hash table format",fZ=e,f4="Jsoo_runtime.Error.Exn",gh=aS,gk=[0,cj,87,2],gj=[0,cj,83,2],gi=[0,cj,29,13],gn=[0,"query/type_parser.ml",285,4],gl="Query__Type_parser.MenhirBasics.Error",gt=[0,"\0\0\xf6\xffT\0\xc0\0\xf9\xff\x14\x01\xfb\xff\xfc\xff\xfd\xff\0\0\xff\xff\xfe\xff","\xff\xff\xff\xff\b\0\x07\0\xff\xff\x05\0\xff\xff\xff\xff\xff\xff\x01\0\xff\xff\xff\xff","\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0","\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\b\0\x07\0\x04\0\0\0\x06\0\t\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x0b\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x05\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\0\0\0\0\0\0\0\0\x03\0\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\x02\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0","\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\t\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\x02\0\xff\xff\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\xff\xff\xff\xff\xff\xff\xff\xff\x03\0\xff\xff\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x05\0\xff\xff\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\x05\0\xff\xff\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff",e,e,e,e,e,e],gv=[0,0,0,0],gu=[0,46,[0,40,[0,41,0]]],gw=e,gx=[0,ae],gD=[0,aT,121,10],gB=[0,aT,94,6],gC=[0,aT,95,6],gA=[0,aT,81,13],gz=[0,aT,33,14],gF=[0,1],gG=er,gH=er,gI=ee,gJ=ee,gK=[0,"query/succ.ml",129,9],gQ=[0,[0,ez],0],gR=[0,"<\/"],gS=[0,ez],gT=[0,"<"],gO=[0,aS],gP=[2,0],gL=[0,[0,aR],0],gM=aS,gN=[0,'class="'],gU="code",gV=en,gW=en,gX=[0,"entry-kind",0],gY=aS,gZ=[0,ew,0],g0=d5,g1=[0,"prefix-name",0],g2=[0,ew,0],g3=[0,"entry-rhs",0],g4=[0,"entry-comment",0],g5=[0,"entry-title",0],g6="doc",g7="type",g8="mod",g9="exn",g_=eA,g$=eA,ha="meth",hb=ex,hc="sig",hd=ex,he="field",hf="val",hg="ext",hw=d5,hs="DecompressionStream",hp="error in string_of_stream",hn="ReadableStream",hh="\n",hi=aS,hj="Error : ",hk=e;function +ap(a){throw l([0,cN,a],1)}function +s(a){throw l([0,cM,a],1)}function +bD(a,b){return ie(a,b)?a:b}function +a7(a,b){var +c=f(a),e=f(b),d=u(c+e|0);ah(a,0,d,0,c);ah(b,0,d,c,e);return aj(d)}function +bE(a,b){if(!a)return b;var +f=a[2],g=a[1];if(!f)return[0,g,b];var +h=f[2],l=f[1];if(!h)return[0,g,[0,l,b]];var +m=[0,h[1],N],d=m,c=1,e=h[2];for(;;){if(e){var +i=e[2],j=e[1];if(i){var +k=i[2],n=i[1];if(k){var +o=[0,k[1],N],p=k[2];d[1+c]=[0,j,[0,n,o]];var +d=o,c=1,e=p;continue}d[1+c]=[0,j,[0,n,b]]}else +d[1+c]=[0,j,b]}else +d[1+c]=b;return[0,g,[0,l,m]]}}io(0);var +a8=e9(1);e9(2);function +fo(a){var +b=ip(0);for(;;){if(!b)return 0;var +d=b[2],e=b[1];try{aH(e)}catch(f){var +c=ak(f);if(c[1]!==cO)throw l(c,0)}var +b=d}}function +cP(a,b){e_(a,b,0,f(b));return}var +fp=[0,fo],cQ=[0,function(a){return}];function +cR(a){h(cQ[1],0);return h(cs(fp),0)}ff(ej,cR);var +bF=iC(0),aK=(4*bF|0)-1|0;function +cS(d,b,c){var +a=h(b,0);if(!a)return 0;var +e=a[2],f=a[1];function +g(a){return cS(d,e,a)}return[0,h(d,f),g]}function +cT(d,b,c){var +e=b;for(;;){var +a=h(e,0);if(!a)return 0;var +f=a[2],g=a[1];if(h(d,g))return[0,g,function(a){return cT(d,f,a)}];var +e=f}}function +bG(a){return 25>>0?a:a+32|0}function +aq(a){var +c=0,b=a;for(;;){if(!b)return c;var +c=c+1|0,b=b[2]}}function +cU(a){return a?a[1]:ap(fr)}function +I(a,b){var +c=a,d=b;for(;;){if(!c)return d;var +e=[0,c[1],d],c=c[2],d=e}}function +aL(a){return I(a,0)}function +J(a,b){if(!b)return 0;var +f=b[2],i=b[1];if(!f)return[0,h(a,i),0];var +m=f[2],n=f[1],o=h(a,i),j=[0,h(a,n),N],e=j,d=1,c=m;for(;;){if(c){var +g=c[2],k=c[1];if(g){var +p=g[2],q=g[1],r=h(a,k),l=[0,h(a,q),N];e[1+d]=[0,r,l];var +e=l,d=1,c=p;continue}e[1+d]=[0,h(a,k),0]}else +e[1+d]=0;return[0,o,j]}}function +a9(a,b){var +m=0;if(!b)return 0;var +g=b[2],i=b[1];if(!g)return[0,n(a,m,i),0];var +o=g[2],p=g[1],q=n(a,m,i),j=[0,n(a,1,p),N],f=j,e=1,c=2,d=o;for(;;){if(d){var +h=d[2],k=d[1];if(h){var +r=h[2],s=h[1],t=n(a,c,k),l=[0,n(a,c+1|0,s),N];f[1+e]=[0,t,l];var +f=l,e=1,c=c+2|0,d=r;continue}f[1+e]=[0,n(a,c,k),0]}else +f[1+e]=0;return[0,q,j]}}function +cV(a,b){var +c=b;for(;;){if(!c)return 0;var +d=c[2];h(a,c[1]);var +c=d}}function +ar(a,b,c){var +e=b,d=c;for(;;){if(!d)return e;var +f=d[2],e=n(a,e,d[1]),d=f}}function +bH(a,b){var +d=b;for(;;){if(!d)return 0;var +g=d[2],i=d[1];if(h(a,i)){var +j=[0,i,N],f=j,e=1,c=g;for(;;){if(!c){f[1+e]=0;return j}var +k=c[2],l=c[1];if(h(a,l)){var +m=[0,l,N];f[1+e]=m;var +f=m,e=1,c=k}else +var +c=k}}else +var +d=g}}function +a_(c,b){function +j(a,b){if(2===a){if(b){var +j=b[2];if(j){var +k=j[1],l=b[1],y=j[2],z=0>1,t=r(s,b),A=t[1],u=r(a-s|0,t[2]),i=A,h=u[1],g=0,B=u[2];for(;;){if(i){if(h){var +p=h[1],q=i[1],w=h[2],x=i[2];if(0>1,t=j(s,b),A=t[1],u=j(a-s|0,t[2]),i=A,h=u[1],g=0,B=u[2];for(;;){if(i){if(h){var +q=h[1],r=i[1],w=h[2],x=i[2];if(0=b){var +d=u(c);W(a,b,d,0,c);return d}return s(fs)}function +cY(a,b,c){return aj(cX(a,b,c))}function +cZ(a,b,c,d,e){if(0<=e&&0<=b&&(f(a)-e|0)>=b&&0<=d&&(Y(c)-e|0)>=d){ah(a,b,c,d,e);return}return s(fu)}function +bI(a,b){var +c=u(a);hS(c,0,a,b);return aj(c)}function +a$(a,b,c){return aj(cX(G(a),b,c))}function +ba(a,b){if(!b)return fw;var +j=f(a);a:{b:{var +e=0,d=b,q=0;for(;;){if(!d)break;var +k=d[1];if(!d[2])break b;var +l=(f(k)+j|0)+e|0,n=d[2],o=e<=l?l:s(fv),e=o,d=n}var +m=e;break a}var +m=f(k)+e|0}var +i=u(m),h=q,g=b;for(;;){if(g){var +c=g[1];if(g[2]){var +p=g[2];ah(c,0,i,h,f(c));ah(a,0,i,h+f(c)|0,j);var +h=(h+f(c)|0)+j|0,g=p;continue}ah(c,0,i,h,f(c))}return aj(i)}}function +bJ(a,b){var +d=f(a),h=0;if(d<0)return s(fx);try{var +c=h;for(;;){if(d<=c)throw l(B,1);if(P(a,c)===b){var +g=1;return g}var +c=c+1|0}}catch(f){var +e=ak(f);if(e===B)return 0;throw l(e,0)}}function +c0(a){var +d=G(a),c=Y(d);if(0===c)var +g=d;else{var +e=u(c),f=c-1|0,h=0;if(f>=0){var +b=h;for(;;){cw(e,b,bG(eU(d,b)));var +i=b+1|0;if(f===b)break;var +b=i}}var +g=e}return aj(g)}function +bK(a,b){var +d=[0,0],e=[0,f(b)],g=f(b)-1|0;if(g>=0){var +c=g;for(;;){if(P(b,c)===a){var +i=d[1];d[1]=[0,a$(b,c+1|0,(e[1]-c|0)-1|0),i];e[1]=c}var +j=c-1|0;if(0===c)break;var +c=j}}var +h=d[1];return[0,a$(b,0,e[1]),h]}function +bb(a,b){return hM(G(a),b)}function +c1(a,b){var +d=b.length-1;if(0===d)return[0];var +e=H(d,h(a,b[1])),f=d-1|0,g=1;if(f>=1){var +c=g;for(;;){e[1+c]=h(a,b[1+c]);var +i=c+1|0;if(f===c)break;var +c=i}}return e}var +bL=[o,fB,cy(0)];function +c3(a,b,c){return cY(a[2],b,c-b|0)}function +c8(a){var +b=1<=a?a:1,c=aK=(f+b|0))break;c[1]=2*c[1]|0}if(aK=0&&(Y(e)-d|0)>=0){W(g,0,e,0,d);break a}s(ft)}a[1]=[0,e,c[1]];return}function +bN(a,b){var +c=f(b),d=a[2],e=a[1],g=d+c|0,h=e[1];if(e[2]=0&&(f.length-1-b|0)>=0){hE(d,0,f,0,b);break a}s(fA)}eZ(f);var +i=f}var +j=g(i,c)[1+c];if(j!==bO)return j;var +k=h(l,0);g(i,c)[1+c]=k;return k}var +fN=bP(0,function(a,b){return 0});cQ[1]=function(a){return h(da(fN),0)};function +db(a){var +b=aj(a);return il(b,0,f(b))}function +dc(a){return hH(7,0,[0,4])}function +dd(a,b,c,d,e){aY(a,0,e6(b,fO));aY(a,1,c);var +f=bz(d,fP)?d:fS;aY(a,2,f);var +g=bz(e,fQ)?e:fR;aY(a,3,g);return}function +de(a,b,c,d){var +e=dc(0);dd(e,a,b,c,d);return e}function +fT(a){var +j=iE(0),i=dc(0),d=j.length-1,c=u((d*8|0)+1|0),e=d-1|0,k=0;if(e>=0){var +b=k;for(;;){hN(c,b*8|0,bv(g(j,b)[1+b]));var +o=b+1|0;if(e===b)break;var +b=o}}eT(c,d*8|0,1);var +f=db(c);eT(c,d*8|0,2);var +h=db(c),l=bb(h,8),m=bb(h,0),n=bb(f,8);dd(i,bb(f,0),n,m,l);return i}function +fU(a){var +b=a3(a),c=a3(a),d=a3(a);return de(b,c,d,a3(a))}bP([0,fU],function(a){return de(fY,fX,fW,fV)});try{var +hy=fi(et),di=hy}catch(f){var +df=ak(f);if(df!==B)throw l(df,0);try{var +hx=fi("CAMLRUNPARAM"),dh=hx}catch(f){var +dg=ak(f);if(dg!==B)throw l(dg,0);var +dh=fZ}var +di=dh}var +f0=[0,bJ(di,82)],f1=bP(0,fT);function +bQ(a,b){return 4<=a.length-1?hV(10,100,a[3],b)&(a[2].length-1-1|0):s(f2)}var +dj=[o,f4,cy(0)],bR=[0,dj,[0]],f3=iu(bR)===o?bR:bR[1];ff(ch,f3);(function(a){throw a});var +f5=k;function +dk(a,b){var +c=a?a[1]:10;return b.toString(c)}f5["Number"];var +b=k,f6=null,f7=undefined,f9=b["Promise"];function +bS(a){return f9.resolve(a)}function +bT(a){return{fut:bS(a)}}function +dl(a,b){function +c(a){return h(b,a)[cp]}return{fut:a[cp].then(aF(1,c))}}function +dm(c,b){return dl(b,function(a){return bT(h(c,a))})}function +dn(a,b){return dm(b,a)}b["Event"];var +f_=b["ArrayBuffer"],f$=b["DataView"];b["Blob"];b["File"];b["JSON"];b["encodeURI"];b["decodeURI"];b["encodeURIComponent"];b["decodeURIComponent"];b["URL"];b["URLSearchParams"];var +bX=b["document"],f8=bX===f6?1:0,gg=f8||(bX===f7?1:0);if(!gg)bX["documentElement"];b[eJ];b[eJ];b["navigator"];b["performance"];b["window"];b["isSecureContext"];function +dr(a){return a?a[2]?[2,a]:a[1]:0}function +aM(a){return a?0:1}function +ds(a){var +b=0;return ar(function(a,b){return I(b,a)},b,a)}function +aN(f,b,c,d){if(typeof +d==="number")return 0===d?f?[0,[0,c,[0,dt,b]],0]:[0,[0,c,b],0]:0;switch(d[0]){case +0:var +h=d[1],i=aN(f,b,c,d[2]);return I(aN(f,b,aM(c),h),i);case +1:var +a=d[2],g=[0,c0(d[1]),b];return a?ds(a9(function(a,b){return aN(f,[0,e+a,g],c,b)},a)):[0,[0,c,g],0];case +2:var +j=d[1];return ds(J(function(a){return aN(f,b,c,a)},j));default:return[0,[0,c,[0,dt,b]],0]}}bI(0,95);function +du(a,b){var +c=a1(f(a),f(b));return 0===c?cI(a,b):c}function +aa(a,b){if(a===b)return 0;var +g=a1(a[5],b[5]);if(0!==g)return g;var +d=du(a[1],b[1]);if(0!==d)return d;var +c=cI(a[7][1],b[7][1]);if(0!==c)return c;var +e=x(a[4],b[4]);if(0!==e)return e;var +f=du(a[6],b[6]);return 0===f?cI(a[3],b[3]):f}function +be(a,b){var +r=a[1],c=a[2],i=0;for(;;){var +q=c[1];a:b:{var +e=i,k=q,s=q+c[2]|0;for(;;){if(f(b)<=e)break b;if(s<=k)break b;var +t=v(r,k);if(v(b,e)!==t)break;var +e=e+1|0,k=k+1|0}break a}var +h=e-i|0;if((i+h|0)===f(b))var +j=[0,[0,c[1]+h|0,c[2]-h|0,c[3],c[4],c[5]]];else if(h===c[2]){var +m=i+h|0;if(f(b)<=m)var +j=[0,c];else{var +p=c[5];a:{var +u=v(b,m);if(p){var +o=p[1];b:{var +d=0;for(;;){if(o.length-1<=d)break b;var +n=g(o,d)[1+d];if(u===v(r,n[1]-1|0))break;var +d=d+1|0}var +l=[0,n];break a}var +l=0}else +var +l=0}if(l){var +c=l[1],i=m+1|0;continue}var +j=0}}else +var +j=0;return j?[0,[0,a[1],j[1]]]:0}}function +bY(i,b,c,d){function +a(a){var +h=b[2];if(1<=h[2]){var +q=32===v(b[1],h[1])?1:0,k=i+q|0;if(1=0){var +g=o;for(;;){var +e=n[1+g];if(0>e[2])throw l([0,A,gk],1);bY(i,[0,b[1],[0,e[1]-1|0,e[2]+1|0,e[3],e[4],e[5]]],c,d);var +p=g+1|0;if(j===g)break;var +g=p}}return 0}if(0===i)return a(0);if(1===i&&fh(c,eE)){var +e=be(b,c);return e?h(d,e[1]):0}a(0);var +f=be(b,c);return f?h(d,f[1]):0}function +c7(a,b,c){var +d=b,e=c;for(;;){if(!d)return e;var +f=d[4],g=d[3],h=d[2],i=hA(a,h,g,c7(a,d[1],e)),d=f,e=i}}var +gm=[o,gl,cy(0)];function +ab(a){throw l(gm,1)}function +au(a){throw l([0,A,gn],1)}function +Q(a,b,c,d,e,f){var +j=h(d,c),g=[1,e,0];return a<50?aw(a+1|0,b,c,d,g,f,j):i(aw,[0,b,c,d,g,f,j])}function +aw(a,b,c,d,e,f,g){var +h=[0,e,0];return a<50?bg(a+1|0,b,c,d,h,f,g):i(bg,[0,b,c,d,h,f,g])}function +bg(a,b,c,d,e,f,g){if(typeof +g==="number")switch(g){case +1:case +6:break;default:var +p=dr(e);return a<50?ax(a+1|0,b,c,d,p,f,g):i(ax,[0,b,c,d,p,f,g])}else if(0===g[0]){var +m=[0,[0,b,f,e],g[1]],j=h(d,c);if(typeof +j==="number")switch(j){case +1:case +6:break;default:var +q=0;return a<50?bh(a+1|0,m,c,d,q,j):i(bh,[0,m,c,d,q,j])}else if(0===j[0]){a:{var +t=m,s=j[1],r=2;for(;;){var +u=[0,t,r,s],k=h(d,c);if(typeof +k==="number")break;if(0!==k[0])break a;var +t=u,s=k[1],r=3}switch(k){case +1:case +6:break;default:var +l=u,v=0;for(;;){var +w=l[2],n=l[1],o=[0,l[3],v];if(2===w)return a<50?bh(a+1|0,n,c,d,o,k):i(bh,[0,n,c,d,o,k]);if(3!==w)return au(0);var +l=n,v=o}}}return ab(0)}return ab(0)}return ab(0)}function +bh(a,b,c,d,e,f){var +g=b[1],j=g[2],k=g[1],l=[1,b[2],g[3]],h=ar(function(a,b){return[1,b,[0,a,0]]},l,e);return a<50?ax(a+1|0,k,c,d,h,j,f):i(ax,[0,k,c,d,h,j,f])}function +ax(a,b,c,d,e,f,g){if(typeof +g==="number")switch(g){case +0:var +k=[0,b,f,e],o=h(d,c),l=5;if(typeof +o==="number")switch(o){case +1:return a<50?am(a+1|0,k,c,d,l):i(am,[0,k,c,d,l]);case +6:return a<50?S(a+1|0,k,c,d,l):i(S,[0,k,c,d,l]);default:return a<50?T(a+1|0,k,c,d,l,o):i(T,[0,k,c,d,l,o])}if(0===o[0]){var +p=o[1];return a<50?Q(a+1|0,k,c,d,p,l):i(Q,[0,k,c,d,p,l])}var +q=o[1];return a<50?R(a+1|0,k,c,d,q,l):i(R,[0,k,c,d,q,l]);case +1:case +6:break;default:var +j=b,n=[0,e,0],m=f;for(;;)switch(m){case +0:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);case +1:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);case +4:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);case +5:var +r=j[2],s=[0,j[3],n],j=j[1],n=s,m=r;break;case +6:return a<50?ac(a+1|0,j,c,d,n,m,g):i(ac,[0,j,c,d,n,m,g]);default:return au(0)}}return au(0)}function +R(a,b,c,d,e,f){var +g=h(d,c),j=[3,e];return a<50?aw(a+1|0,b,c,d,j,f,g):i(aw,[0,b,c,d,j,f,g])}function +am(a,b,c,d,e){var +l=b,k=e;for(;;){var +f=[0,l,k],j=h(d,c),g=1;if(typeof +j!=="number"){if(0===j[0]){var +m=j[1];return a<50?Q(a+1|0,f,c,d,m,g):i(Q,[0,f,c,d,m,g])}var +n=j[1];return a<50?R(a+1|0,f,c,d,n,g):i(R,[0,f,c,d,n,g])}switch(j){case +1:var +l=f,k=g;break;case +3:return ab(0);case +6:return a<50?S(a+1|0,f,c,d,g):i(S,[0,f,c,d,g]);default:return a<50?T(a+1|0,f,c,d,g,j):i(T,[0,f,c,d,g,j])}}}function +S(a,b,c,d,e){var +f=h(d,c),g=0;return a<50?aw(a+1|0,b,c,d,g,e,f):i(aw,[0,b,c,d,g,e,f])}function +T(a,b,c,d,e,f){var +g=0;return a<50?ax(a+1|0,b,c,d,g,e,f):i(ax,[0,b,c,d,g,e,f])}function +ac(a,b,c,d,e,f,g){var +p=dr(e);if(typeof +g==="number")switch(g){case +5:var +j=[0,b,f,p],m=h(d,c),k=4;if(typeof +m==="number")switch(m){case +1:return a<50?am(a+1|0,j,c,d,k):i(am,[0,j,c,d,k]);case +6:return a<50?S(a+1|0,j,c,d,k):i(S,[0,j,c,d,k]);default:return a<50?T(a+1|0,j,c,d,k,m):i(T,[0,j,c,d,k,m])}if(0===m[0]){var +q=m[1];return a<50?Q(a+1|0,j,c,d,q,k):i(Q,[0,j,c,d,q,k])}var +r=m[1];return a<50?R(a+1|0,j,c,d,r,k):i(R,[0,j,c,d,r,k]);case +0:case +1:case +6:break;default:var +l=b,n=p,o=f;for(;;)switch(o){case +0:if(typeof +g==="number"&&3===g)return n;return ab(0);case +1:return a<50?bi(a+1|0,l,c,d,n,o,g):i(bi,[0,l,c,d,n,o,g]);case +4:var +s=l[2],t=[0,l[3],n],l=l[1],n=t,o=s;break;case +6:return a<50?bi(a+1|0,l,c,d,n,o,g):i(bi,[0,l,c,d,n,o,g]);default:return au(0)}}return au(0)}function +bi(a,b,c,d,e,f,g){if(typeof +g==="number"){var +p=g-2|0;if(2>=p>>>0)switch(p){case +0:var +m=b,n=[0,e,0],o=f;for(;;){if(1===o){var +s=h(d,c),t=m[2],u=m[1];return a<50?bg(a+1|0,u,c,d,n,t,s):i(bg,[0,u,c,d,n,t,s])}if(6>o)return au(0);var +v=m[2],w=[0,m[3],n],m=m[1],n=w,o=v}break;case +1:break;default:var +j=[0,b,f,e],l=h(d,c),k=6;if(typeof +l==="number")switch(l){case +1:return a<50?am(a+1|0,j,c,d,k):i(am,[0,j,c,d,k]);case +3:return ab(0);case +6:return a<50?S(a+1|0,j,c,d,k):i(S,[0,j,c,d,k]);default:return a<50?T(a+1|0,j,c,d,k,l):i(T,[0,j,c,d,k,l])}if(0===l[0]){var +q=l[1];return a<50?Q(a+1|0,j,c,d,q,k):i(Q,[0,j,c,d,q,k])}var +r=l[1];return a<50?R(a+1|0,j,c,d,r,k):i(R,[0,j,c,d,r,k])}}return ab(0)}function +go(a,b,c,d,e){return aI(Q(0,a,b,c,d,e))}function +gp(a,b,c,d,e){return aI(R(0,a,b,c,d,e))}function +gq(a,b,c,d){return aI(am(0,a,b,c,d))}function +gr(a,b,c,d){return aI(S(0,a,b,c,d))}function +gs(a,b,c,d,e){return aI(T(0,a,b,c,d,e))}function +av(a){for(;;){var +e=0;for(;;){var +b=ig(gt,e,a),d=0<=b?1:0,f=d?a[12]!==fD?1:0:d;if(f){a[11]=a[12];var +c=a[12];a[12]=[0,c[1],c[2],c[3],a[4]+a[6]|0]}if(9>=b>>>0)break;h(a[1],a);var +e=b}switch(b){case +0:break;case +1:return 5;case +2:return 1;case +3:return 2;case +4:return 4;case +5:return 6;case +6:return 0;case +7:return[1,c3(a,a[5]+1|0,a[6])];case +8:return[0,c3(a,a[5],a[6])];default:return 3}}}function +dv(a,b){if(0>b)return 0;if(f(a)>b){var +c=gu,h=v(a,b);for(;;){if(c){var +g=c[2],d=0===x(c[1],h)?1:0;if(!d){var +c=g;continue}var +e=d}else +var +e=0;if(e)break;return 95===v(a,b)?3:10}}return 1}function +dw(a,e,c){var +o=a?a[1]:0,h=0,i=0;for(;;){if(f(c)<(h+f(e)|0)){var +p=0;return ar(function(a,b){var +d=b[1],h=b[2],i=dv(c,d-1|0),j=dv(c,d+f(e)|0)/3|0,k=o<=d?0:10,g=((h+i|0)+j|0)+k|0;if(a&&a[1][2]=g){var +u=g<=f?f+1|0:g+1|0;return[0,a,b,c,u]}if(!c)return s(fH);var +i=c[3],k=c[2],e=c[1],p=bc(e);if(p<=bc(i))return K(K(a,b,e),k,i);if(!e)return s(fG);var +q=e[2],r=e[1],t=K(e[3],k,i);return K(K(a,b,r),q,t)}function +bd(a,b){if(!b)return[0,0,a,0,1];var +c=b[3],d=b[2],e=b[1],f=aa(a,d);if(0===f)return b;if(0<=f){var +g=bd(a,c);return c===g?b:as(e,d,g)}var +h=bd(a,e);return e===h?b:as(h,d,c)}function +c4(a){if(!a)return s(fI);var +b=a[1];if(!b)return a[3];var +c=a[3],d=a[2];return as(c4(b),d,c)}var +fJ=0;function +bM(a,b){if(!b)return 0;var +c=b[3],f=b[2],d=b[1],h=aa(a,f);if(0!==h){if(0<=h){var +i=bM(a,c);return c===i?b:as(d,f,i)}var +j=bM(a,d);return d===j?b:as(j,f,c)}if(!d)return c;if(!c)return d;var +e=c,k=c4(c);for(;;){if(!e)throw l(B,1);var +g=e[1];if(!g)return as(d,e[2],k);var +e=g}}function +c5(a,b){var +c=a,d=b;for(;;){if(!c)return d;var +e=[0,c[2],c[3],d],c=c[1],d=e}}function +c6(a,b){if(!a)return 0;var +c=a[1],d=c5(a[2],a[3]);return[0,c,function(a){return c6(d,a)}]}var +gy=[0,0,fJ];function +dD(a,b){var +am=b[1],an=a[1],P=ar(function(a,b){var +c=a[3],d=a[2],e=a[1],g=dw([0,e],b,am);if(!g)return[0,e,d,(c+f(b)|0)+50|0];var +h=g[1];return[0,h[1]+f(b)|0,d+h[2]|0,c]},gv,an),X=a[2],F=b[4];a:{var +ah=P[2]+P[3]|0;if(typeof +F!=="number"&&1!==F[0]){var +G=[0,F[1]];break a}var +G=0}if(X){var +W=X[1];if(G){var +V=dy(G[1]);a:{if(W&&V){var +n=J(function(e){return J(function(a){var +l=aq(e),d=1+l|0,i=H(d,[0]),c=d-1|0,m=1+aq(a)|0,f=0;if(c>=0){var +b=f;for(;;){i[1+b]=H(m,-1);var +k=b+1|0;if(c===b)break;var +b=k}}function +h(a,b,c,d,e,f){var +h=g(g(i,c)[1+c],d)[1+d];if(0<=h)return h;var +k=j(a,b,c,d,e,f);g(g(i,c)[1+c],d)[1+d]=k;return k}function +j(a,b,c,d,e,f){if(!e)return f?0:0;var +g=e[1];a:{b:{c:{d:{e:{if(typeof +g==="number")switch(g){case +0:if(!e[2]){if(!f)break c;var +s=f[1];if(typeof +s==="number"&&2>s&&!f[2]&&a===b)return 0}break;case +1:if(!e[2]&&a===b)return 0;break;case +2:if(!f)break e;var +t=f[1];if(typeof +t==="number"&&2===t){var +E=f[2],F=e[2],G=aM(b);return h(aM(a),G,c+1|0,d+1|0,F,E)}break}if(f){var +u=f[2],v=e[2];if(hQ(g,f[1])&&a===b)return h(a,b,c+1|0,d+1|0,v,u);if(typeof +g==="number"){if(2===g)break e}else +f:switch(g[0]){case +0:var +i=f[1],y=e[2],z=g[1];if(typeof +i==="number")switch(i){case +2:break f;case +3:break d}else if(0===i[0]){var +q=f[2],A=i[1];if(a!==b)break a;var +r=dw(0,z,A);if(!r)return 10+h(a,b,c,d+1|0,e,q)|0;var +B=r[1][2];return(B/3|0)+h(a,b,c+1|0,d+1|0,y,q)|0}break a;case +1:var +j=f[1],C=e[2];if(typeof +j==="number")switch(j){case +2:break f;case +3:break d}else if(1===j[0])return 1+h(a,b,c+1|0,d+1|0,C,f[2])|0;break b;default:var +k=f[1],D=e[2];if(typeof +k==="number")switch(k){case +2:break f;case +3:break d}else if(2===k[0])return 1+h(a,b,c+1|0,d+1|0,D,f[2])|0;break a}var +l=f[1];if(typeof +l==="number"&&2===l){var +w=f[2];return 1+h(a,aM(b),c,d+1|0,e,w)|0}}}var +m=e[1];if(typeof +m!=="number")break c;if(2===m){var +x=e[2];return 1+h(aM(a),b,c+1|0,d,x,f)|0}}if(f){var +n=f[1];if(typeof +n==="number"&&3<=n)return h(a,b,c,d+1|0,e,f[2])}var +o=e[1];if(typeof +o==="number"&&3===o)return h(a,b,c+1|0,d,e[2],f)}if(!f)return cd}if(typeof +e[1]!=="number")return 1+h(a,b,c+1|0,d,e[2],f)|0}var +p=f[1];if(typeof +p==="number")return cd;switch(p[0]){case +0:return 10+h(a,b,c,d+1|0,e,f[2])|0;case +1:return 1+h(a,b,c,d+1|0,e,f[2])|0;default:return h(a,b,c,d+1|0,e,f[2])}}return j(0,0,0,0,e,a)},V)},W);if(!n){var +I=0;break a}var +s=H(aq(cU(n)),0);if(n){var +w=0,v=n,Y=n[2],Z=n[1];for(;;){if(!v)break;var +w=w+1|0,v=v[2]}var +K=H(w,Z),y=1,p=Y;for(;;){if(!p)break;var +_=p[2];K[1+y]=p[1];var +y=y+1|0,p=_}var +Q=K}else +var +Q=[0];var +d=c1(function(a){return a_(x,a9(function(a,b){return[0,b,a]},a))},Q),L=function(a,b){var +c=((b+b|0)+b|0)+1|0,e=[0,c];if((c+2|0)x(g(d,c)[1+c],n))return c+1|0}if(c=0){var +k=N;for(;;){var +E=g(d,k)[1+k];try{var +j=k;for(;;){var +o=L(r,j);if(0>=x(g(d,o)[1+o],E))break;var +$=g(d,o)[1+o];g(d,j)[1+j]=$;var +j=o}g(d,j)[1+j]=E}catch(f){var +z=ak(f);if(z[1]!==bL)throw l(z,0);var +M=z[2];g(d,M)[1+M]=E}var +ag=k-1|0;if(0===k)break;var +k=ag}}var +O=r-1|0;if(O>=2){var +i=O;for(;;){var +D=g(d,i)[1+i];d[1+i]=g(d,0)[1];var +ad=0;try{var +q=ad;for(;;){var +B=L(i,q),aa=g(d,B)[1+B];g(d,q)[1+q]=aa;var +q=B}}catch(f){var +C=ak(f);if(C[1]!==bL)throw l(C,0);b:{c:{var +e=C[2];for(;;){var +h=(e-1|0)/3|0;if(e===h)throw l([0,A,fC],1);if(0<=x(g(d,h)[1+h],D))break;var +ab=g(d,h)[1+h];g(d,e)[1+e]=ab;if(0>=h)break c;var +e=h}g(d,e)[1+e]=D;break b}g(d,0)[1]=D}var +af=i-1|0;if(2===i)break;var +i=af}}}if(1=0){var +c=R;for(;;){var +U=c+1|0,ai=cU(g(d,c)[1+c])[1],aj=g(t,U)[1+U]+ai|0;g(t,c)[1+c]=aj;var +al=c-1|0;if(0===c)break;var +c=al}}var +m=[0,ae],S=[0,0],T=function(a,b,c){S[1]++;if(cd=a){m[1]=bD(b+(ae*(d.length-1-c|0)|0)|0,m[1]);return 1}if(d.length-1<=c){m[1]=bD(b+(5*a|0)|0,m[1]);return 1}var +j=m[1];if(j<=(b+g(t,c)[1+c]|0))return 1;var +f=g(d,c)[1+c];for(;;){if(!f)return 1;var +h=f[1],e=h[2],k=f[2],l=h[1];if(g(s,e)[1+e])var +i=1;else{g(s,e)[1+e]=1;var +n=T(a-1|0,b+l|0,c+1|0);s[1+e]=0;var +i=n}if(!i)return 0;var +f=k}};T(s.length-1,0,0);var +I=m[1];break a}var +I=0}var +u=[0,I]}else +var +u=gx}else +var +u=0;var +ao=u?u[1]:0;return[0,b[1],b[2],b[3],b[4],b[5]+(5*(ah+ao|0)|0)|0,b[6],b[7]]}function +dE(a){if(typeof +a==="number")return 0;switch(a[0]){case +0:return a[2].length-1-a[1]|0;case +1:return a[2][2][3];default:var +b=a[2],c=0;return ar(function(a,b){return a+dE(b)|0},c,b)}}function +aP(a){if(typeof +a==="number")return 0;if(0!==a[0])return[0,a[1]];var +b=a[1];return[0,g(a[2],b)[1+b]]}function +bZ(a){var +b=a[2][4];if(typeof +b==="number")throw l([0,A,gi],1);return[1,g(b[1],0)[1],a]}function +dF(c,b){var +a=aP(c);if(!a)return b;var +h=a[1];function +d(a){var +b=a;for(;;){if(!b)return[0,c,0];var +e=b[2],f=b[1],g=aP(f);if(g)return 0k)break;var +C=[0,B[1+k],n],k=k-1|0,n=C}var +H=dF(s,n),m=bH(function(a){return bz(0,a)},H),y=m?m[2]?[2,w,m]:m[1]:0}var +a=y;break;default:if(h(d,a[1]))return a;var +J=a[2],z=function(a,b){if(!b)return 0;var +e=b[2],c=b[1],f=b0(d,c);if(c!==f)return dF(f,z(a+1|0,e));if(0=0){var +h=S;for(;;){var +b=g(r,h)[1+h];for(;;){if(!b)break;var +w=b[1],Q=b[2],R=b[3],q=t?b:[0,w,Q,0],e=bQ(c,w),y=g(p,e)[1+e];if(y)y[3]=q;else +g(s,e)[1+e]=q;g(p,e)[1+e]=q;var +b=R}var +V=h+1|0;if(z===h)break;var +h=V}}if(t){var +A=v-1|0,T=0;if(A>=0){var +f=T;for(;;){var +D=g(p,f)[1+f];if(D)D[3]=0;var +U=f+1|0;if(A===f)break;var +f=U}}var +C=0}else +var +C=t;return C}var +K=J}else +var +K=u;return K},s);var +h=c[2];function +i(a,b,c){var +d=a,e=b;for(;;){if(e){var +f=e[1],j=e[2],k=e[3];return[0,[0,f,j],function(a){return i(d,k,a)}]}if(d===h.length-1)return 0;var +l=g(h,d)[1+d],d=d+1|0,e=l}}var +k=0,m=0;function +n(a){return i(m,k,a)}function +o(a){var +b=a[1];return[0,b[2],a[2],b[1]]}function +p(a){return cS(o,n,a)}function +q(a){return 0=0){var +at=gd;for(;;){var +bV=b5.charCodeAt(at);if(cb=g>>>0)switch(g){case +0:return a<50?e(a+1|0,dR,b,d):i(e,[0,dR,b,d]);case +2:return a<50?e(a+1|0,dS,b,d):i(e,[0,dS,b,d]);case +4:return a<50?e(a+1|0,dT,b,d):i(e,[0,dT,b,d])}}else if(34<=f)switch(f-34|0){case +0:return a<50?e(a+1|0,dU,b,d):i(e,[0,dU,b,d]);case +4:return a<50?e(a+1|0,dV,b,d):i(e,[0,dV,b,d]);case +5:return a<50?e(a+1|0,dW,b,d):i(e,[0,dW,b,d])}var +d=d+1|0}},e=function(a,b,c,d){k(c,d);bN(g,b);var +e=d+1|0;return a<50?j(a+1|0,e,e):i(j,[0,e,e])};return function(a,b){return aI(j(0,a,b))}(0,0);default:return cV(b,a[1])}}return b}(N)(af));A[t]={html:aG(c9(N)),url:aG(ar)};var +t=t+1|0,p=_}});function +a(a){return a}c[cp].then(aF(1,a));return 0});cR(0);return}(globalThis));