From 6a98054daf7f4cb67624edf77998b9f79b62e1f0 Mon Sep 17 00:00:00 2001 From: Paul-Elliot Date: Mon, 21 Aug 2023 14:01:25 +0200 Subject: [PATCH] Span labels in function arguments (`?id:` and `id:`) Signed-off-by: Paul-Elliot --- src/document/generator.ml | 8 +++---- src/html_support_files/odoc.css | 9 +++++++ .../odoc_html_support_files.ml | 24 +++++++++---------- test/generators/html/Bugs.html | 4 ++-- test/generators/html/Bugs_pre_410.html | 4 ++-- test/generators/html/Ocamlary.html | 10 +++++--- test/generators/html/Type.html | 20 ++++++++++++---- test/generators/latex/Bugs.tex | 2 +- test/generators/latex/Bugs_pre_410.tex | 2 +- test/generators/latex/Ocamlary.tex | 4 ++-- test/generators/latex/Type.tex | 6 ++--- test/generators/man/Bugs.3o | 2 +- test/generators/man/Bugs_pre_410.3o | 2 +- test/generators/man/Ocamlary.3o | 4 ++-- test/generators/man/Type.3o | 6 ++--- 15 files changed, 66 insertions(+), 41 deletions(-) diff --git a/src/document/generator.ml b/src/document/generator.ml index 039f55aa23..d5a7e361ce 100644 --- a/src/document/generator.ml +++ b/src/document/generator.ml @@ -21,12 +21,12 @@ open Types module O = Codefmt open O.Infix +let tag tag t = O.span ~attr:tag t + let label t = match t with - | Odoc_model.Lang.TypeExpr.Label s -> O.txt s - | Optional s -> O.txt "?" ++ O.txt s - -let tag tag t = O.span ~attr:tag t + | Odoc_model.Lang.TypeExpr.Label s -> tag "label" (O.txt s) + | Optional s -> tag "optlabel" (O.txt "?" ++ O.txt s) let type_var tv = tag "type-var" (O.txt tv) diff --git a/src/html_support_files/odoc.css b/src/html_support_files/odoc.css index 5bc774c568..3ff51e0144 100644 --- a/src/html_support_files/odoc.css +++ b/src/html_support_files/odoc.css @@ -119,6 +119,7 @@ --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); @@ -158,6 +159,8 @@ --hljs-type: #ac885b; --hljs-meta: #82aaff; --hljs-variable: #cf6a4c; + + --spec-label-color: lightgreen; } @media (prefers-color-scheme: dark) { @@ -204,6 +207,8 @@ --hljs-type: #ac885b; --hljs-meta: #82aaff; --hljs-variable: #cf6a4c; + + --spec-label-color: lightgreen; } } @@ -525,6 +530,10 @@ p a > code, li a > code { padding: 0.35em 0.5em; } +.spec .label, .spec .optlabel { + color: var(--spec-label-color); +} + li:not(:last-child) > .def-doc { margin-bottom: 15px; } diff --git a/src/html_support_files/odoc_html_support_files.ml b/src/html_support_files/odoc_html_support_files.ml index fc403795a0..92114a0d42 100644 --- a/src/html_support_files/odoc_html_support_files.ml +++ b/src/html_support_files/odoc_html_support_files.ml @@ -72,6 +72,8 @@ module Internal = struct let d_27de5df961342e999f89e5b7bba88767 = "\152X\150\b\219\199\208\144\1321\179\2104\164m@\127C\199\204/X~\138\137SR\241*\210\019e;@S\130\017\n\003\"\"\240\183r\197\004\196+\028\192\186\000\128\146.>\250\004\217\197\199\\\017\198E\170\229?\014'\224\186_\004\205\216\206\003\178\182JO\179D\138zX\236\164\t&\187\249\149\197\146\2099\165\197\1322#\195Y\003\145\155\135m\237\131\014\176\145e\158I/\223C\204\149\217>\001L\232\202\186\030\014\178?\022=C\178\213\1894mt\215\204\165\206M\022\237\214*\139\252\031#\200\221\236\001\202\028\152Q\015\142s[\191\169A`\230V3Q\221\227\197]g\165\161\231\217\133\006\194\025c\251\022\230\204\014a\002N\0149h\248\006\162\2376S\169g\210R\"\135\234\222\214\135\211\164\1382I\230\222P4a{\137\231I\235\233\237\244F\007\237O\253\021R\003\133\1605\150\252\028a\149\180b\163\003\159\195\214(\190\031\214\t\007\246\183\188\1755\140\025\221\219\026[U\243=|\198\232T`P\199\224\149\028\135\177\246\245\007)\252\156\202\233\215\145X\216\149\216j\144C8\145`\162\tqv\213\188\209\167\203\143\152)\162\199\166y\165j\222dg\213\175s\250\225q\254\178SS\158V\138\238TL\027\188T}\189\231\206\216\021\161\226\235U\195_\1703o\170\179\192\141\025vr4n\232\214d\000\245k\221\165\145_+\186\019\142Q\214\1537\246,{\nJ\153\209\155\148W\014\154JM2?q\195\187\198T\202\199y\178\164\015'\029\2113E.q\236%z\027r\154\015\021\209\130\238\213\029\196\0243\150\152GU1\134\028\146N/\163D\1495\006s\129=8\015n\014\219zP\186Mn\011\142\182\242,\029\171Hdnd*-\185G\171\142\2158J\224\207R\207\247:aW4\212\145g\201x\153\143b\254k5L3\221\215p\165\238\253&e\247\208\153@n\226\179\227\156w^\017\173\232\148\238\213}\190|\203\198\165g\243\197g\0188\220\201\161\173a\202\228\224\195\169\238\\\128\014\221\220|\203W}\140\243l\233\030\002\007\247\245\221+\183(\171\198S\240\199X\173\130\206/\150[\023\025\141\128\027+\218(\001\029\237\205\131\184C=\229\238/\1590Y\129\203\213$\129\007A\001\004\215\178\240\218`\238*\195\142\b\020\031\1341\229<=\1416\127\173or&s\200$\150k\239M\000\148L\237^\218\200F\030\130k\249F\185\172\202{\150\137\001\156$6\195\197Bw&[\180\165\239\2085\234ue\1454b~\201\015\002?\169+T{\028 Z\002\220\197#\161?f)\127\229\216d\236\028\199\197\234\217\t\198\007\000\231D\149TQ\159Fc\131\011R\130 \186\165\018\159t3\237\238{O}2(QY\175\210,\217\208Zv\235+=Ey\229\190\030\197\221\232\146^]*u\203\157 iO\152\142\166\1471\222\211v\236\177\169\022cr\165s>\006\005\006\131v(\181\128\170.\173\170\170/\201\181\237\006\245\214\177\243\240jp\133[\020\022]\150LP\000\144\127%+<\170\193\196i\238\223\160\195 \246o\215\165\186%.?vPu\005\130\131\211\\\188[\230p\239N\239\218\218$\181\182R\018\199L\177K\137\160\141zQ\128\026\016pz\td\237\222:v\221]d\015t\194\183\144\190\004\2451\177\149f\023\214(\198\192JB\188\142\025\177js\211\236\162\171\022x\238\218\206n\132%\254n}\026\146\157!\245\250\0204\170J\195\233\030\141\186/7\235\157h\171\020\029\131G\219b\t\016~\133\192\254!\029\"#\251\2007\233\127\183J^\171\202C\167\242\181~Je\169\214\174p*\231\014\206\154\0160*H=\235~\173\222\244\157RCa:\2245 N\233\207\019\130\228p\031\223\165\135\223b=\216\188\027}\140`\145\2151\230\\\016\128\007$\b\165gj@|\218\022\167AO\206\199y\b\152\153^\n\238c\128\006\174\178C\001^d\187\156\151\194\230\017\r>\011\167c`\130\027\193\149;v\r\011\019Q-\003\b6\000b\224a\154\249\225{v!\165\251\252\217U\164\248\185\248\203\n:\030\028=\t\026F>\031\232 h\237\229\201\202KQ\007\031\200\020n~\203\006\169\021\012\157\030\255L\244.\024=`C\r\234\143\169;~\204<\0216\225^\238\245=P\027\245\156\213Y\197' \0078\014\152\155WZ\218\196g]\154\n\tf'\135\176\181R\214\169\026\007HJ\001%\208\194\210\026B\006_\225\207\020}\186\186\133\018\004US\028\014\138\139\t\166\197\172M\2491\229rx\031\170\134\027\225\028]\154\136\153x\209\231\220\220L\151\235N\014\159\150wK#W\169\231t\208r\200@[ \024ev\003>\236\206\211*\244pN2K\150t\132\206N\156g\144p8\236\148\016\021]\015[u\025l\200@\196\2339\167\198^\183\023\224W\019\215\196^\018\211\246\152\249\241\018\002\b\254\224\156wv\028l\024g\141&\198\194\128\nz\163\237\007\200H|\139o\231\202\156\b\197\208\203\190:\216\162\b\243#\175x\001\189\1807wipQ\163\191X{?K\230F\127M\229\188[\205\127\163\159W.\138\232\188I\143\171\230M~&\207y\011\t\160\169T5o\170\211\138\140h\243\211>Fe\162\244\143\t\200\146.\242(lC\189?\015TUJo\242T\232\255\240m\022\213\021\014\146\184\177\2249\233\1447G\200)[u\192tL\141\023\024\"o\184\225\173\210\210\181\209C\163\245\130X:6\229\186p\014\011?pv9(\150\234Y%\164\131t\021\001t\2371!*v=&\186\183\241\n\206\1316\188\023L5=1{NAd\202\018\215\199%\149\254{[\007yy\199:\145\246\r%6\006g\218t\188\208\206\152\226\159Q\138@O\146Of0@\210\255\193\215\021\143\131\255_\128r\134\227t>\253\249c\158|\242\019\000e`\193\183S\158\006\171\"\131\0240\163\021\250\179\185}\205\200\206S7\213\192T\132\133,\016\215F\145>_3\209\192u\240%\023K\208\2028OZ\024\248\015\188:\n\003d\161\247$F\228\020\185O\173\2184!\237^)\237P\178\174\138]e\222\184\219\144\220\211\nK\164\163J\127\016\180\015\150\182el]\239\189,\031\222\189i\175\237%8\214\176Z\203\245E\156\175\011\239O]\129\233*v4\r\137\170\249\250\206n\174\001\148\016\028'|o8\245\142b(\249\235w\203j\148\003D\2169\227\190\128\136\252q\251T\229=\140\234\1823\022\001\247\018.\025\025\005\185\244{\1956?\030r\163\003cd\189\151\020#9\246\138\130\217\217\159i\181s\142\nQ\173\192\202/\023\162\207\031\245\016\213\171\207\192\023_>\127\254\249\014^\242\2268M!\248P\004\145\030O\249\252}P\197Z\229T\153\166c\193\180\168\016-\004\134\005?\154t+\205<\196\011\000\197\142N\183\003\240\241\227\2252\156a\195\186C\137\031\219>\167\016\157\245\239\142\017\240\026p\199>\212\239`\250/\135\144\023\128_o3\153\252\152\031\183\170\254|\220}\150\204X\235 l\024 \224\0158\137o\223\158\004\166z8$]H\238W\r\134z\011\014\223\169z\196|^\176\211\230e\149\139o,E\176\1666\247\233B\162\018A<\018y\206\234\241\020m\144\026\016:8W\201\217\157\224t\152\1755x\024AH\140\248\130,`\184\147wQ$f2\180\023\192\218\t8\171m\194-)n\249\b\202E\207\231\2386\024\153<\127*s~\226'\139!\174\154$1=\025\222\1579\0150\024\210^4M,\211\2321O\138\144\210\161+\254\170M\194\000pb~C/\216'\011}\252x\206%$J?\234\245\017\149\189\212\1544\230\198\167\247SdG\220\t\131\192L\005w\000p\022\207\236R+\143\209\149{\159\143\129\203$\138\230G\237\127\212[TA\251\215\162\027\003\175\2459CX=\145\026\136\228\011C\190\2084\133\185\157is\145\176X@\023\167\253\175\n#\173\007a\133\210\230*a%\243\174\145\164F\242\026)j\228R#RF\1585r\171\145\178F\193b\206+\179H\160:\170\166\n\2193\163R\026B\221K\166v+\199\217\176z\247):>\186\"\135p\138\003\157}\224\157l*\214IKz\003B\134\238\006pP\165\031\017a\213nF\239@\r\006\155j\228Tr\188$\225:\149P\229\247\245\204t\165\161d\2265\005-\229Z\206\202,\224\191Fm\212\253\255uS\026:H.\180\b\248\172\163\202[\223Jp\218X\243\172\006\183Nm\187\023ik\197\bu\162b\202%\170a\243\170\"\231g\247\191ff\137\198\r\213\153\177l\026i\nR\tPt`p\204`\234\206\244\153\170\157|\240\167\t2\002\b\170\203\153g\028?T\235\179\226\015c\1270\141\139\248j\133\141\175\196\014\231?Sx\151\011\186\012R\027F\212@<\203:\162\161;\199\128\221\147\193\232\138\253C\162/\164?\166/\161\223\176Ge\253\198h\214\204\159\\1\240'\178X\152\198\211\221\233c\188EZM3\167kTP\1672b%\155\204s\031\129\220/\017\156\245\193\134E\234l*\240\201-7\020\004\028T\130@\139\011\224\211\206\011'!b-\022\182\138\198\147\b\163q'Q\164\202Nb\145H\183h*Bs\"\161\224\181l\185\186\159h\134\161\181\n\213(o-\155\135\002\213ZU\229\217\219W\141R\006\221\164H\149\162\\\141|Y\242Y\213\n\144\160\175*Ez(VS;\190/+F\168\192?\203\213|\017c\168\138\201\211\190'\198Hd\145$AL+\158\0210\182\146\204*\021j\171=D\177\"L:\159M\251u\011\245\213\207`5\180L2\205\173 \181\003\242\161\225\2521,\019Zl\165\221\201!\131\144U64%\211\159\213\216\236U\230\203P[\187X\149b%\212j\023:l\015\020/\014\150~\160\177\011\246Z\159\251\001\133P;\229\132\002[\020\218j\022\r\173\":/\233\021;\233\1803|\248\242\227\239\172s\206\187 @ C0\024\005)\017\236b\b\\R\234\138\217\182\217.\196\219\223\206}\231\226\"D\186\234\1542\215\025\253\244\155\188\214\161\255\022\174T\165\130U\181\229\146[<\208\209+\157\024\252\188}\253_g]t\149\234\006\155\001\006\134\130\254\210\194\130t\221BC\134\255\133\r\131d\026\028\014\0125\204\016+\012\183C\150w,\186\235a\178\158z\025a\148\209F\234-[\031\255xc\175\028\007\029\178\196\210p\193\153\011\031!\228\242#\165\255\151G\004\140\027\157t\180\164\179\181\152[\220\227\017\207H\226\021i\188\153Vmd\162\016\151\024\211Z/-?-\190\248\234\027\161XGL\228\205\193&\148UhN\148Vb\225\145\017\199_\130\\y\204\226\248v-l\196'\176\203N\142\t\226\238\180e\191\003\142IQ\139\028e\228\1490\1426\179\019f\188\168T\157\239U&F\157e\199ZR\196\015\234\031\215f\012\005\185\175>W\208\234$\206\217\138\202\170\234\154\218\186\250\134\198\166f*\174U[\236\176\221N#\252^\136oi]\222\214\222\209\217\181\162\187\167we_\255\192\224\208\240\200\170\213k\214\154\158\159\245\0276n\218\188e\171\251n\154A6:\230\182{n%\241\006\238\150\224h\001tF\1968\142O\144\191\203\170)Mm\172o\000\143\132e\185\144Wb\170oPQ,+\244\000}\135\253\225\192\157\026\139\016M'\214\253\168*\004\024\186\028M*\134A\128\136\016g\173aL\251\026\218\220\017\182\129byf\195B\1335\248\023\1876\220\244\153\026&i\248\243\209\133Z1\224\011\194\213/\201\138\024\027&\000\243\161d\243\184\130X\189" + let d_2a2424c3bea143cbb2f9c9a24d822c4e = "-target-background) !important;\n box-shadow: 0 0px 0 1px var(--target-shadow) !important;\n border-radius: 1px;\n}\n\n*:hover > a.anchor {\n visibility: visible;\n}\n\na.anchor:before {\n content: \"#\";\n}\n\na.anchor:hover {\n box-shadow: none;\n text-decoration: none;\n color: var(--anchor-hover);\n}\n\na.anchor {\n visibility: hidden;\n position: absolute;\n /* top: 0px; */\n /* margin-left: -3ex; */\n margin-left: -1.3em;\n font-weight: normal;\n font-style: normal;\n padding-right: 0.4em;\n padding-left: 0.4em;\n /* To remain selectable */\n color: var(--anchor-color);\n}\n\n.spec > a.anchor {\n margin-left: -2.3em;\n padding-right: 0.9em;\n}\n\n.xref-unresolved {\n color: #2C94BD;\n}\n.xref-unresolved:hover {\n box-shadow: 0 1px 0 0 var(--xref-shadow);\n}\n\n/* Source links float inside preformated text or headings. */\na.source_link {\n float: right;\n color: var(--source-color);\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-size: initial;\n}\n\n/* Section and document divisions.\n Until at least 4.03 many of the modules of the stdlib start at .h7,\n we restart the sequence there like h2 */\n\nh1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-weight: 400;\n padding-top: 0.1em;\n line-height: 1.2;\n overflow-wrap: break-word;\n}\n\nh1 {\n font-weight: 500;\n font-size: 2.441em;\n}\n\nh1 {\n font-weight: 500;\n font-size: 1.953em;\n box-shadow: 0 1px 0 0 var(--header-shadow);\n}\n\nh2 {\n font-size: 1.563em;\n}\n\nh3 {\n font-size: 1.25em;\n}\n\nsmall, .font_small {\n font-size: 0.8em;\n}\n\nh1 code, h1 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh2 code, h2 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh4 {\n font-size: 1.12em;\n}\n\n/* Comment delimiters, hidden but accessible to screen readers and \n selected for copy/pasting */\n\n/* Taken from bootstrap */\n/* See also https://stackoverflow.com/a/27769435/4220738 */\n.comment-delim {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Preformatted and code */\n\ntt, code, pre {\n font-family: \"Fira Mono\", courier;\n font-weight: 400;\n}\n\n.odoc pre {\n padding: 0.1em;\n border: 1px solid var(--pre-border-color);\n border-radius: 5px;\n overflow-x: auto;\n}\n\n.odoc p code,\n.odoc li code {\n background-color: var(--li-code-background);\n color: var(--li-code-color);\n border-radius: 3px;\n padding: 0 0.3ex;\n}\n\np a > code, li a > code {\n color: var(--link-color);\n}\n\n.odoc code {\n white-space: pre-wrap;\n}\n\n/* Code blocks (e.g. Examples) */\n\n.odoc pre code {\n font-size: 0.893rem;\n}\n\n/* Code lexemes */\n\n.keyword {\n font-weight: 500;\n}\n\n.arrow { white-space: nowrap }\n\n/* Module member specification */\n\n.spec {\n background-color: var(--spec-summary-background);\n border-radius: 3px;\n border-left: 4px solid var(--spec-summary-border-color);\n border-right: 5px solid transparent;\n padding: 0.35em 0.5em;\n}\n\n.spec .label, .spec .optlabel {\n color: var(--spec-label-color);\n}\n\nli:not(:last-child) > .def-doc {\n margin-bottom: 15px;\n}\n\n/* Spacing between items */\ndiv.odoc-spec,.odoc-include {\n margin-bottom: 2em;\n}\n\n.spec.type .variant p, .spec.type .record p {\n margin: 5px;\n}\n\n.spec.type .variant, .spec.type .record {\n margin-left: 2ch;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n}\n\n.spec.type .record > code, .spec.type .variant > code {\n min-width: 40%;\n}\n\n.spec.type > ol {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.spec.type .record > .def-doc, .spec.type .variant > .def-doc {\n min-width:50%;\n padding: 0.25em 0.5em;\n margin-left: 10%;\n border-radius: 3px;\n flex-grow:1;\n background: var(--main-background);\n box-shadow: 2px 2px 4px lightgrey;\n}\n\ndiv.def {\n margin-top: 0;\n text-indent: -2ex;\n padding-left: 2ex;\n}\n\ndiv.def-doc>*:first-child {\n margin-top: 0;\n}\n\n/* Collapsible inlined include and module */\n\n.odoc-include details {\n position: r" + let d_2a97d5e4df362b2779e0824fb8c2c024 = "c\130\143~[\007;\175\012Z\218\175=\t\023\248\182\251wT8}\177\229\219\2314\245\157\188\017n n\191\140\170\171FVH\150r\224\231\152jC\137\012\246\238\234\227\231\173\149\172g[\017\200[\159\183\174\227y\194U\242\177\t\141\230R\210\160\232\002Z\221\243\243\207\b\243\250\127\202\2491\251f\015h\204b\187\209\159\232\018\177\243\239\129\031\147\201\180s\247\218\166M\029M\029\"!\173\022\253OK&\017Ft~\131z\222\024\2529x\134\246?j\146l\158\180I6i\015\228\029\212%\147\132m\165\029\019\152w.\192\017\015\239O*s\223\028%\205&(\019]/\163\241\021L\015\211\171\213&\172+\150\196\218\206\195w\159\217>>\148\182;@Wc\166\241>E\168v\r v\182\005S\214V\138\139\219}!\016\001\b:\238Cz\2210\150C\" TX\214De\234\242\145\023\151A\132\000l|g\203\r\153\n\2334\181k\255\130\rQ\015\2223\170\158\181\145:Y\191%\252F\139v\247\212\2150\229\174\201\148\147\204\161\176\198\191\rt\214\141\156:]/7\151\025\243\214\199\243E\153\237rk\1711`t\024\028\020t\207\\hv%\138\219\024\219\253\186XuZ\2293t\212\171\229\2340\007\003\198\143\144\209\128\029<\232o.\186\031\182\142\248^\230\024\219\248C\162\001u\212\230\026\156\023\213\166)9O\b\214N!\131\017\026nech\226\145\230\156\002:\247\t\137&^V\175\012-\175\011\029\248\147\175;}+\175\182M\190\135\022\1691\\\136\215t\149\212\235\236\211\2472\221\148\239\231O7k\015\163\003\136\162G\163i\2201T/R\139\198\133#\028T\\\140\212\127\236\233\180\227\184\158\200FD\127h\186\215\029\173R\158\134\146\b\132.W\212\171\248\157\163\224\235\175\029\2074>\194N\191\169q(<\029\154F\193\216\184 /\128\173\185+R\027je\230\220\191jm\179SQxT@'~q\235\159\183\186\240\215\230\241,\130\202\164(\156c\252\004\161\194\0024\145)\026\029\029\011\183k\181\232\133i\183;<\208\187 \020\208\188jdZ\136\163T\141\172\136I\018\171/)\143\195r\253\1294\133}\143\210\228+\222\142\213j\0164\026<\238_\024\227\208\140\207\204!.\144<\151Q;\138\023\252\229\206\017\021\030\228{\139\139!Xvk\234]\147\141\216\137#\245\025\012kC\156\028\214\249\132\172\022Q`\206\n\235\200t\237\018n\019Y\240M}\190\018\003\130s\218\246c\190M\173v\189\030Z\186k\230\143\221\146YI\163\164%5\228*-\025\006\196\014\211\236\166\131m\029\196\135?\255Q\221m\b\192^]H\031\226\204\015\134\186\215\193\151\159C\027\223WZ\217\134dq3\132\205\011|\241\230\238\233\233\127\215\205\029#\134o\"\163\017\199\173\217\242\195D\179\128#\175F\021C\202\128&\158X\255@+\180\193K\206\129?Lt\001\151\244S,\006\169\017h2\255-g\015\238\178D\201\130a\225P\241\187\196\212\029\221\151/C\228\245\213\214.\005\203\016\211\141\163{\239E-\246\161\153\175\191>\t&\161\140\168\248+\127}\024\127\212\029\177L\02938/\173\254rwA\001\002\024\\\177\247\236\185l\138\201{\253/\226#?\191\029u\161}\251 \234z\004\131\220\020@]\b\234\0039{\128\1532\155\169\222%\151N\166j\197\142\199\187\242\132\159d\255\141/\150\182\230J\2058\007-T\203)\157\015\194\215o>j\139\135\185oN>n\136\018\199o\198\250!\137G\239\t\239\215\139\230\239\253\004\2309\176\141+/R\231\172\217\154\131\166\190\181\249\245\197\152\023\141\178\011\028\230\184)A\220,\002\019\243\224\213+\208l[}\025\\-[\216\168\203\147\238K\198\019\145\240\244\143\196\183'\022\183\235\227\2188\007\022\020\232}\197~\162\247\239\154\250x\rSF\011\227\244\242#_\b\011\253\021\171\n\235\240\127\127\246\186\137\151\156\007\183'\167\003B|\160\232\001\171h1\228+\"\207,\n\025\012pb\186$\017\014\160W\234\223\166R\146\016n=\205F{~\017\030sw\223\005\150\205\224\160\001\130\157\252\166c\232\204e4o.\248\161F\133\tg\154\030\174\127D\167\127\212\023PP\150\t\022l=\176\160]\219\166\138.]V'sKj\213\177\181\220\202\249\255\197\202\255\204\237\\\185\175E\023Uo^)\215\169\196\014A\227\233\223B\195\203\202\242\026\155\203JKZ\195\133\003{\025}\156\156m\199n\237\191r\025zCO\015`Z\158j\228\180\170\031\199\194\167\016\180\151b.\206M\2061\242\130|\1372\135\128\213o\214,.\157\179\149\182\255\002q\174\005r\026\161T\138\192\134\005\210\220\188\163#\240>\152\205\244c\240\190\181\165\128\029G8\206\018\188\164(6W\230+\225\250\245\000\249h?3\179\232Y\136\237\161\024\237%\002\203Z1\129\223iqX\007\bG\159\253\238\127}\223\254\194FF\234l`y7\250\191\016\022\019\216x\231\237G\192}M\027\1556A\018n\203\158g1Cs\201\188\239\136\175\1809T\201#\226\220V\135D\181\242\152\245G\245\021\128\006\208\185P\015\179Y\214p\228\r\014Y\240\196\181G\2197\167wv;+\023\159\147w\170\210\140\155\254\162\202\128\175T\160'.\012\186\143\180\003d6#t\232\016\014\157S&\031C\235,k\200n\250\178\181\215%;\227\163\225\b\030\222a6CL\208\141\177Q\012\005\233}\241w\028b\245\131\226\240\2389\025V\222\022\184\205\207\234j\161\185p\142\242\250\146\177f*T\028\148\031\152^b\251>\023\201\028\208\227\001\139\132\230N>\173\001\002~/\004\206\206=\146\203\218c\147b\201\215\202\177\0234\200f\203\156\178\169Xaf\168`8$\149\153M@4&\217X\242O\006\131\236p\209C\166\207!\177\251\140s\140\211\198k+\\\162\254\245\241\171\2296\196\n@\226PG\245{\242m\225\176\219\215\195\234\228@~/@]\196\029?\186;B\001\193\021gVOBs\195l\205\029\206\238\175`\230\165\208?\136\147\128\2418\192 \"\161\160\164Q\228\157X\144\191\244\185S+h\163\188\142\149q\161g\163\180)2\250\136\197\169\127\231y|\138E\142\209\227\144U'D\255\160\149\005eW\184\220@\138\168\224>\224\225\1456\191\252\140\222R\168\216\236\151\133\247Q!)\149\179\239NsCNga\233\007\237\247~\192\">O\238\158u\190\251\227a8\221\004\031\196w\r,\217_\229\177\200\016YtW\139\021\002\154\219\1713]A-s\1895\213PW\206\199 \187\131\158N\248+\rj\169 \011\146\012\163\244\166\027<\1330tY@\131Dd@\145\135\137* \230f\137TL$A\133\140M@h\185Z$\225@D\0228\162\134\197\213,Bo\137\152\131q\tj{W\024\169\192\201\130\t\215\157e\022-\031`\185W\137\134\002&o\001\019\184x\216A\233\173/\0183{;\203\249\148^b\017\006\172\215\189\165Er\030]\191\162\132\162\157\005\012\168\020\226\218\005\\\148r\218p\168\002d4go\"|Zd\144J\232\184%\206DR\186Z&\208\208\165\198\150\175k\020l\tQ\134D\006&K\024\005\232\200\017\179q\153?\145\1505\180w\014\014P\210\172WZ92\186\161@\192\207u\216d\151b9\179\183V\205\1618-<\235\245\161L\186\177\134oW\228\210\012.\131\134\147{\011\025dX\202\0041F\224\14426\022\202\199\142-(\"\018{g%\006f\242I\208\144(\161\138T \242\144\168\195\029\028\135XdBN\160\166\183\144IA\186\128Cp\138$\144N\000v\155U\178\128S\221\190L\132\002 4\221\203\229\021(\225\210M1\022\1330\172x_\143f7\169\179\169\192\137\129*\2155R>\147\138a\018b\030\147+\152\241h\245a\167]F\018\195\234\169\133\\<\030G\204BL\000\243\2322Q\022:]\012\000\001X\189P?~\024\127u\006\171\234W\n\011\251\002\000\000\022\171\247>\228\174\243\255\1339\129\219\208\247\000\000\n@\000x\"\025\169\197\1605\228r\001\015\158\168\185d.\002\127\001K\232\132\017\240WVX\011F\224/`5\230\004\205\020\150e?\138~\003~(\004\015\192\213`\000\019\164G\246`40\172\145\2188\177R\210\154\t\145\253-\171\208\002\203\2525C\176\003n\165\145\016\251a\142\000FK\177o\129\179h7\152_@\030\210GB\203\192b\244\202X\168\t$Q9HF\150\160\199@2\147\230\136f@\215<\177R\208\140\r\129tA\146\246\001\152\023u\187pM6=\176\163\147\224(\186\000V\254\162\248 \150\224A\194\196c\222\129\186A)\148\003M\220\255\031\246\011x@c\182\015A5\"\129:x\031\168\2030\168\251\161E7\165\015\219\130\239A\bf\253\127@|\t\194Ca,\023\004\233\200\007\189D\145\181\000Lzc\151\001%\028\004\0259\177\021>\015\134\209i0L\025\\\213.\131\188\024{\0183*U?F\000r\224} #\225\214D\222\206\224\030'\180\131\207l\192[P\b^F\031\193\021\028.\204^\183\159\234\004Z\140\006&Q76\170E\228J\164T#g)\\\012OS\189\1970\246\005\176\236?\188\026\253\005r\193\234\227`\200b0\023\144FE\000\128l\176y\246\019\202\006\029,%R\205\129\129\011U\234v\b\024\006I\029\026\134\208=4\012\019\246\2200\156\190\236a$\174<\233\196\2440\1984\210\154K\202d\155\127\193f\027\181\192\028\131\250\r\152 S\164\155\134j\022&\164\151+n\137\025\226e\189\202\228J\196`\150L\214\006\204\164d\190\236\198\2455\169\161\217o\181\t\251\135\200\025\153\172\166\002\162\007}\210\160>]&a\015c%\243\200\204\030\178\189;\178LT\198\172\134\237Q|\020\2344\141\2163\199\153H\131\000\251\200\228\001\231\2002\162g\127\210^>\1438\153\219Y\0153\147)d\189,ZP\152\234\245F}j\bd\134\153\160\190\030G\135lPX\183|D&c^\"\131:\"\176\011OUC\1962\194\186S|\b\021\189\002m\127! \163\133\024\145>\174\027\005\146\201D!\134\1329\189\208\207\254F\245|\194\190\n\178\180\163\255\175d1e\241\207\159\188\127\129\250\206\133\130\138&\011\029\003\019\011\027\007\023\015\159\128\144H\182\028\185\196\242HH\201((\169\168\021(TDCKG\175\152\129\145\137\0183\011+\155\018v\165\202\148\171P\169J\181\026\014\016\130\017\020\195\t\146\162\025\150\227\005Q\146\021U\211\r\211\178\029\127\200kVz\207\155a\138>\012omSr\203\180\183\189\031\185\163\179\171\187\167\183\209\215\031\225\146\203\174\185\238\138\171\005\147\231\142\012\154LN\147\219\213b-m\231.\223\218\025\239\"\2493\179fe\006\155\179\150\219H\141\003\189\019\025\"\172e\239\234\201\160\150A\020\027$5\012\246\027\155k\026\029\031\028\158=\130\197\006\0061\226\220\027\174\211Y\014\234n\128\167\018-\023!\220\146\186\000\191d\182\027\189\b\200.\204\179\"\154 ;\176\244\1338_K\203b\222G\157\237Ld\163\206\238\200\148&\146T\002\144\213\0078\198\028k\188\001\024\209bQ\137\135\189S:\030Zr\016\011E\193k\n\165x\166\161\166\020\230K\220R\238\t\166\253\187t\031\206\192K\249/$\249\198\148\172\218k8_]\250\245]\234\2143R\222m^\000\231b]\194\000\224\007>\006\128m\241\208\000\021\024|\014\193\157y\021\240\253X\190\249g\199Dn\131\029\192\139\156\215 d?\163\174\190\243\215<\176\243\006\001\000\250\1713\000 a\138\027!I\023\005z=\018\245GU\022\146\246\166R6\143z\205\150Xa\218\253f\2049\023\170\210\011\248B=W\239\212\251m_\142\178\203\179y>/\2294\247UJ*H\205\255\204\233\179\011\207\211(\224\243\231\127\171\222k{O\153\228\158J\2008R\253o\186\255?\190}\235\163\015\223\187xpW\127\207\240\255\154^\191{\234-J\158\251\238\186\227\150\155n\244\217\160\r\1701\220\169qU\\\237\017\176$\227f\255\213\171\014\014Ht\001\150\1640C\186\204\255\185m\248\\\226\181\188\211\255\230\250\254\011\163d\201\006\130J[;`\249\002\240\163\203\196\238~Y\186\015\153\240\226\167\136\149\207\132=\\\226\130\131\246N\014\148\214\004\181\004~\169\006\000\001\1917\025!\144\172\211\1400D\139\206\136\000\2531\178ukdJJ\b\239M\130\183J\147L\217O\152;G \215\b\179\012=\209\235\163\001\238:zC\221\226\129\174\137\031\248\219c\223\003\156qb\006I\146\164\011\tA\196\030\186A\150\224\193\016\026\135\004\tZ\164\237H&4\174\174B\015^\221 Z~\r\t\137\199\186\171\137\245V\019q\183\245\219V\198\171X\163\140\\\251\146wf\204x\159\146\241\226\144\138H\232\153\000\1947Z\"\014\217A\132\174\198`\138\184%\156\136-\249@&\235e\246;ICi\154w\159b\138\176\147\203\142\160\220\018\020u\148\180+* \241\137\241g\225B(]k\248\130!m\1731}p\132\130\005\233\145[D\202(\198ed\0005\136z\232A&3\249\2004C\220\140\210\186>Z3b\166\166\136\194J\204\185\1931\168\170*\209\225\185!\225Zwd\2044\172>\017\201\255\153q$\199\208D\180lZ\191\161\194\150\179\226\180\003\189w\022ee\019A\140\20622A\022'\003\128\199\024\225\177,3\002\130\229T\129\240|J\232\155\214h\179L1@\210x>\187\011T\218\242\158\213\240VW\004}u\220\019\027\003kS\252\181y\173A\1318\169 R\185\012\170\160\144TWD\221\163\142\134\134\222\208\012\168Fc:\201Cz\141\021\"\226E\181\234\127nx\180:\141\0150\200X\">(\019s\204[\023$\152\233]+\209\238\181\206(@\130\187\158\029-\145\140B\140\t\000\005\\\162\246\236\150\025G\2257\\\174\b]\133D\244\224\012\210+.Pi\143\134F\017=b\1392\205\"\233U\140\229\029\155\208\159\202=%o!G\001\146\140\219\180\203\219\231\186\210\163C2\184\020\t\136\203]Ql\027\017j\134\162p\234X\176\155$\184\192\194z\132v\004D|\145\147\2334\162\190\017\183`\200\136p\166\165\199\251\169\1706\004{\012w\021\235(`K\161\240$\210\140T6\227\215o\002\224\134T\132H\144;@)]n1\002\163\004\014\238X\138\205\160&\223\012yF\184\026\248\243\184\1891\016\141n\140\1401\218#\233\"\019jI\186l\229\214\201\225\019\151Q\134\004\136IF9\019\b\197\017\024)\b\130\148\004E*\194@j\130!\ra\162x\130#-a\141\177BloK\172.\239XAN\232#R\232\144kk(\1459\127\207\154\\bv\254=c$F\028\r\029\199\017j\167\231P\164\232\134u\152\196z\172\216\128\021\027\177b\019Vl\198\138-Xq\002V\156\136\021'a\141\218\129\002\172(%\2223\174\162\148\187R\142'eF\187\191\214s\128)\193\148\153\174\160\000\180\153\029iJ\152\145\164\158}\171\1724GN\254\204L\252Q\239m\133H\205\018#m\215\246\173\211Pu\153&\251\246\168\027\248$\245\232T\140\138\014z~\006\161\144#s\157\td'\224\174Q\245Mf\146;\017z>#i@\129V\246\016\129\159>A\025\211\145\223)2ft\139\016bW[?\019\t\022\2173\228\218 0D\138\237b\220\210Z+\001\246@!\238b\152\0252\018\180}\243u\198,\016\200(\031t\212\127\\\151\222\019W|\228pr\024\237\006\0201\227u\014\217A\228\167\211@\204\012\161\001\182\224I}\239\141=F\245:\169\172U\174+\157A\217j6\017\r\196!i<\205\145\161*{\164\227g\164<(}/d0\244\019\189\233A\161\236Q.-yU\0164\218\021i\194\140\018\178\217\204VA69\220\160G)K!IR\242\028!\195\131I\219\193 Z\004 .!V@\209$>\162\219\0029v\144\144\024\198(EH\138\153x\137'Hv\155\216\b\024\016\028\024\200\173\231\020\225\173L\131ST\216\028\133h\229;\151!\147\031m\2121w\218-\174[\248\017\204\232\233\130\163d\131{ \239\022,\239\189\146\253\226&\173\186\222\241\181\188\016\228\022\164\166w9\237\134\218r\022\133\203\147#I'\133\179\211Cn\169\141\142}\187eM\252\136\253`V\012\022\027\000\179#\1463\248\215\141\140\025\221\226\1361\167\163\025\005\131@\230\155j\177z(\144;\241j\195uMA\129\\fX'\134\144\216\0037\221g7\156\127\022\173\007\131>\128a\015,dFi_\025\166\157\140(\127\012\200\154XD\n;t\030\166\165\0184\241\169\143\011T\"\228\217\000\162[\188\145r\167\205\206Ka\195\"$\000Io0\253\138\020\131\153\127\168$\012d\181\192\017h\162\215R\172\020`\214I_r\198\185f\144\144\198\030\t\242\203\016\014\br\216\142\243I\004\005\138\203\016N\b\241\1699\022\224W8s\004\229\229\b\023\014\228\146\132@\164\"!5\tiH\228\150\031\014\146\014\142Q_\134\240@\144\199v\028&\019\020h.Cx!(\171L8\224\216\224\018\237\229\b\031\014\148\179\128\002_\142\160[9\194w\007\211\031&iw\244\148\2317\157\214\224|a[~\027\156;\194\142\248\137\250iG_\023\142\159\011\244\031\1618\030\134x\194\233\193\147N\143\186\248\003\251\208\018?\212\136\150\186 \180\204\005\161\229#@.+\188\194\153\139W:s\241*g.^-\020h\141\011Bk]\144\180N\148\228\225\245\206<\188\193\153\1357:\243\240&\161@\155]\016\218\226\130\162[m\1679\171\218\152\025L\245\132\194\199\130k\012:\149\174\182\214g\157\193;g\016\227\201\228Dm\147\012 P\255?\129\187\178\165\220\191\233\228\017\128x\002@1\014\238\206 \004\144m0\005\174\174<\130\001\001\229\194\175\024\190-\002.T\164.S\225\1301\148U\155\240,0\240\157f\187S\199\160\214'\155 \141\0119Gdwu\232\249b\169B\209\195\201\23128b\169\136\159/\230)\212\234\018\131B,\146*\213\198\236,\138\153i\145\216\180B\177]\194\023\241\021<\190E\234\144\154\246\131\186\004)\004?7\217\153\"\209g\168\131n\169<\142oL\160\184\193d\171\177(\228J\141\215(\196\148@\205K1\b\244\236\204\028\142\216\169\146H\141\025\146p*W\170\227Y\248\166\204LWr\014\157j1\200d\018\142T*1+H\145Z%\225\024\164R\173\158\135\139\228\201\218\184x]&\157\205gG\203\197\002\185B.W(8\012\014Z\197A\172\003\254\199F\254 t6\157\183\172[ (\230\0158#\147\018\147\018QT\211\171i\233\189\160\\\156\153Y\026\233M;+4\161e\017\134?\007\020\134\205?Cu\236_Oi\220\001U\005j\236\015\219U\217\252T\138\207\175\162T\142\169\015\232\200\019\129\226\031Z%\017\151\031\173\249:\019\222\181#b\201\029m\145\164 \020\218Kq\179\217*\002\132\149\195\214.K1\199\004\145\254\226D\170\242\251\165\n\031\143a^k\222\014h\216\152\003\029@*\026\027\b\253\165\194/\\kA\168\152I^s\012\203\149@(z\160\2090\181\031A\152\208V\132\b\134\nL\218S\027\250\152\212\001\132\152%\236]\015U\024\218)\253=\130\232qB\255!t\162\018\245\172\198\248\028\180D\209\131\132\157\179\233\242\b\148\204d\170\028B\146\162y\139w\234\135S\147\143M\174\148\230\174\190\253pc\247\229\164*\207\180fS\1590Md\233e\197YB\171pC\145i\012F\197\b+y\"\023\n*,\016B\195\014\158\005#\r\012ub\248\016a\183e\219\138\025=\176K\026\166\185Uwu\245\169\018~X\184\139]u\229\216\229\001\"\211\243\208\029\211a/+\185\179\144\170\206t0\006\243\213@.+\007M\1861B\028N0\029\131\164\243\b\0053_\225\238\133gT/\249\172@}0\152\240\250\003\001\245\179b%\169\144\2010I#\205\006\bS\159+\220LopZi\233Jg\243g\162@\031\140\217\158y\151\223\002\132\238q\132\209;\250\140\025\159\135\180)\141\tGD\226S\012\130kwW\149\134\235\169\209\203\n\180\006\132\158\246\170\023\152&\031\243A\249t\195Q\175\195\018\138e\015T,pW\r\017*g\029?\221\141\160\202\208\012U3/\"E\217\r\023\240\141\2108+\1786\213K\031\131\153\192\000\157,\011-\141<\212x\012bo\r\185`\237\015\018\208\031C\177\188\030\236b*c\156\160=uP\026\031\167\224\018\231\199&\183#~\135\169}\001\184w\202\004;\196*\235\173\195!\166\225Cs_Z\156$\140\029\014*g\017\214\021\176\\5\160\176\236\1893\150\212\021\004kqc\167\022~\216\000\193y\222\028'`\149\174)+\128\234\173\253\170\162h\212\228\214\196}\191\031a@\2219\127\229\220\205\166E\132b\160T\251\232\235\180(\211\186\\e\179\132yK,\149\149f\216\150\132\251y\198@\132\167\151\t\003\156L\128\194\216V\179\016\187`\030y\166\217Xe\128J\161\136\242/\182\176:\018\243n\232U\235\148\204\199\027~\236\n\194\002\155dy\228\207\128\187\178*\031\028Q\222\016B\180\139\191\174K\208^\184\022\195`ZGz\003\147IKW;J\201\001\205\188Y\174\209&\157$\na\235\250@\197\237\003\223\"\220n\147\153#W\006\246\148\193\2539\127\249?\149\175\153??\145\170\250\254\000\129\205\148\208\147\139\133S\211XgU\206I\227\195\019\189\232\1777$\245xl\168\254\207\200;\1685\235\216\136,\237\210\204)\022$B\232\182\185\012\159\182_\rd\017E\"\225\229 M\143\202\148\234\223\215\223v\127\242\175\029\141\247\208e\248^\200\228\024\169\178\235\139\197\246\007\165\173M(\252W\195{Aq\207\184\139+4\152^\137C\153;S\146\214T\219\198\242\251\236\133\224\204\025\225\150\2125\240\254O\127\251\196\140l\022Y\228#\171\213-\169^Jv1\157(\227A\147\202=\163\162)dM\255)=\233m\015\020\254\213\2534\151\006\1389\017\158Q~\t)\239\131\222\245\188\134\199\1914\t\202Iky\185\220j\197c\165\0166\2379\200 \152\178\138:\157\224M\007\173\012\178\182Lh\241\181E\236\022\181!B\031>Y\019\243{\185\145\196L\209\\\166\200\161T'\b\172M\024!\143iM&\168\135\201\222w:\160<\027\140\129\187\1520\240\178TO\131\154|\252!\166\176\249\140\129M\bq\224q\136\144\171\199l\\;%\223\247\208\001uwo]LE\148\2385\004u\003\134j\r\249\181\214\179\001\030\164\222\139\232\157\160\"\247g\027\150\005\218\181H\1362\172Y&wg\201'\204\240=\220|04rg\134\167\022\r\234G\238\234\147&5\182\211\248b)\183!F\244\255\174\211\177@(V\170\003\tB\176f'\2169\231\0157\197\208HXy'\004|\158\228\240g\006\243\141/s\156g\177\2264\\\216T\246\208H\177\206-g_\156\139\188\177&\225a\194!\190\221\208\184\254\254\202\255!P\007lz/\188\203\197\199\191\224\146\011\183\152\1403\160\248\015l\204\t\241\000:\222\141\241\227\170\133\147WT\\g\169v\170\002?\189%_\219\252\130\240F" @@ -112,8 +114,6 @@ module Internal = struct let d_3e8bb8a345d1aedd4d0c8bf5212844c2 = "\248\176\026\1991F!%\025\1717?\201\206A\228\225i#\184\148X\030\173\015\147\011>\253\167\208\1983\213\161\206Y\219\218i7\\\016\247\139\196\242\030\237.\245\017\218$\174}\205M\198T\218\139\246\130q\209H\025\027NtJ\187P_\218\145\170\169n]\196\026\215\015:\230\246\022\173\159\184\205W\001\139\015\169S\204z\185\0278\003\226\214\176\158\253Oom\0021\227h\024\214:\154\241!]\237\179\192\209r0\249\212J\242:\186IJ$7K~\1684\198\249T+i\200\142\200\184PGzD\170\145G\161\255oh\026o\r\200,1\241t\182[R\247\165e\138\\\131~_{ftNbv\1335\180\176\1734\135\"\154\179\163\185\179\006g1Gj\195h\190\232\017\228\166\225\178\150\137\131\232\164\155i\192\155\014\219\161!p\144\131\130\139\007\224]\145\252QH\162\229Q\132\157\007\143\162\004Y\241(\154\187\178G\177\200$?\138M+@\138\206:\2400e\222V\170\011\239\225C\153\152\229w\178lGu\134\202\194\252\021W\194,\151\183^\162u\023-\159Y\166x\153\138\r\229%\\\137BY\186)\147\169P>\147\254\178\153Uv/Q\140\017@\183\224\173xM2\212\200L`\030*e?\\\004\138\144 R\184@\015\254\170~\2462\178\149\185\146eQ\168\144-\210Q\153o\237\025&%J\141\132J\154\167\024W\21079^\217p\003O\140\132\001\205\150=\174TE\239T\161\n\141.\150+\214\141uDe\178 \204e+4\149S\002\151\232/\167\019\022m\004\204\175gU\007?\159\255&\205M\129BQ;\239\156A\1823\217a6\r\173,.\222r\149\173\209\005\023\185q\231\193\211%\151]q\149\023\029\239\b\248\240\149\195\2075\215\229\186i\142\157v\241\247Q\000=\131\142:\185\229\182I\208O\127S\012\144\168\198hc\140\146$\217@)>8,\181\020\228A\189\134\248(\128Z+\018\1305\155\213\159pm&%_\n\172`\137\226\021\252\148\245\131\178{8\158Cdq\140<\029\226\020E\152\197\198V\169\162\254\255\151I\183\135\162\206\209\133\191\190\232-\132:e\146\014,mE[\139\205\138\210\026,|N$\194\163J\147!\132\145\128p\005\181\217\253\237\181\135\184\000\155mY\136\242Hg\236Sg\191\003N\175\151vD\227\029\195I'\019,\\4-\182\184\218\205&\242Y\011\028\196p\1660O\166u\025q\215Y\251+0\170\168\163\1376\186\232cHy\1401\197\028K\172\177\197\030\007\021\158\201&\154f\170\233\198I\247FX\206\184\226NE<\169\1407U\169\142/\254\004\018LMj\019J8u\137\164>\2094\1641Mfx\226\158\153\"<\240\216\253\n\211\146\214\180\165=\029\137\1653]\137\231\207\219-.\0016\234\157\208\182aV\218F\211\199\229,@6\243\231u^\18398^R\144\233\155\148y)'\242\140\203+,\"&\240\229\165\183\255\173\138\229\207\0169\164\234\249\156\148\215\213\235\159W\174U^8\162\137\1720g^\183\233c\212F\141D\176\176\214\226\146\185?\r]\158Sk\024\184\136f\216\240ob\134M:\135J\148P'|L\158\220\004\012\000\001\148H\156\148@<\004\132y\12988a\144\019f\006\226@\130\015\187\003`\000\000@pB@\b\001\000\2405\002\t\001@@\136\031\163\162s\158\191\r14\230F\207)RI&\179>\014\135\194V\213p\n\178\151y'\149\022\149\172\186/\178`K\030T\180\1519\167\242k4\233-\128\245\187\237n\183\208\022\141\181\254fjcMH\002\160\225\128\163*U\2499\130l\144\163]\221\176*\133\214\135z4\030{w_\143\131\231\169\237y\146\1406bz\n\"\191\168q\242\237=\187\140\211\137\002\201\210\180\135;\204\029\r\151\241e&gb6\222\019\210\237\017O\230\150\029\130\007\227A\176\247\220\152\197\017\186\127\014\219'|n\204\248xm\030\249\141\149\181K\138<\r" - let d_3f5b432df048be5bbafe5b7ea5cd588c = "er-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-background: #252525;\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --main-background: #202020;\n --code-background: #333;\n --line-numbers-background: rgba(0, 0, 0, 0.125);\n --navbar-background: #202020;\n\n --meter-unvisited-color: #622;\n --meter-visited-color: #252;\n --meter-separator-color: black;\n\n --color: #bebebe;\n --dirname-color: #666;\n --underline-color: #444;\n --visited-color: #002800;\n --visited-number-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n --by-name-nav-link-color: var(--color);\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-before-color: #777;\n --toc-background: #252525;\n --toc-list-border: #ccc;\n --spec-summary-hover-background: #ebeff2;\n --spec-details-after-background: rgba(0, 4, 15, 0.05);\n --spec-details-after-shadow: rgba(204, 204, 204, 0.53);\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n }\n}\n\n/* Reset a few things. */\n\nhtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {\n padding: 0;\n border: 0;\n font: inherit;\n vertical-align: baseline;\n\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n*, *:before, *:after {\n box-sizing: border-box;\n}\n\nhtml {\n font-size: 15px;\n scroll-behavior: smooth;\n}\n\nbody {\n text-align: left;\n background: #FFFFFF;\n color: var(--color);\n background-color: var(--main-background);\n font-family: \"Noticia Text\", Georgia, serif;\n line-height: 1.5;\n}\n\nbody {\n margin-left: calc(10vw + 20ex);\n margin-right: 4ex;\n margin-top: 20px;\n margin-bottom: 50px;\n}\n\nbody.odoc {\n max-width: 100ex;\n}\n\nbody.odoc-src {\n margin-right: calc(10vw + 20ex);\n}\n\nheader {\n margin-bottom: 30px;\n}\n\nnav {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n}\n\n/* Basic markup elements */\n\nb, strong {\n font-weight: bold;\n}\n\ni {\n font-style: italic;\n}\n\nem, i em.odd{\n font-style: italic;\n}\n\nem.odd, i em {\n font-style: normal;\n}\n\nsup {\n vertical-align: super;\n}\n\nsub {\n vertical-align: sub;\n}\n\nsup, sub {\n font-size: 12px;\n line-height: 0;\n margin-left: 0.2ex;\n}\n\nul, ol {\n list-style-position: outside\n}\n\nul>li {\n margin-left: 22px;\n}\n\nol>li {\n margin-left: 27.2px;\n}\n\nli>*:first-child {\n margin-top: 0\n}\n\n/* Text alignements, this should be forbidden. */\n\n.left {\n text-align: left;\n}\n\n.right {\n text-align: right;\n}\n\n.center {\n text-align: center;\n}\n\n/* Links and anchors */\n\na {\n text-decoration: none;\n color: var(--link-color);\n}\n\n.odoc-src pre a {\n color: inherit;\n}\n\na:hover {\n box-shadow: 0 1px 0 0 var(--link-color);\n}\n\n/* Linked highlight */\n*:target {\n background-color: var(--target-background) !important;\n box-shadow: 0 0px 0 1px var(--target-shadow) !important;\n border-r" - let d_40e315d443ab444a385ccb1e4f871da7 = "\021\238a\224\233\225mRE\012\165\186z\179t\201\140(b\218\146\189NCHW\203@\2375V\139b\221\148\206\238\025\019V\027\172#Gm\233?n8\016\002M{N\031\023\232\198v\211_\196\141y\029\b\027\219o<\156\019C\000\005\004J\166I\205\rf\201\178M\012+fM\146\211j6\209\158\"\248\141\237ky\179\230\178\255\024\175\1525\015\158>\174?\213\023\003\001\003\201\233\234\018P~i\142\149Y\142\173\178\024\255'2I`,8c\003\137\250\174Y\0152Z\178^d\203+\183\127\025\026\214\197v\215\198\162\237\212h\171ejj\152\184\247|\021X\002\174\149\191\128\161T\194\t\136\240\147o\225\212B\025\020\2243\170r\000\031\025\000\181S`\187\248x\162 \r\229\t\241\150\194\018HJ}\000\145\234\011\129\215`\242\029\218\135a\174j\0259\183\002\152\000\232\223\015BF\193@\199'@\158$\218\139\216.[\133G\248D\209n\180Hkh\255\018%\005\012\133\157C\132\182\163\024\2330g\019Q\026\188\014\191C\023\194\\K1o\191\201D-\018&\021\\\028R2\234i\014\n\250\152\181c\241\164\214\171C\213\1765TmT;\145\221\176\215\135\130c\171\130-\007U!52\223(\135\18561\180\1904\t@\220\182\209u\238\020 \206\196\020|\249\157W\007*\163e\136;\190\236]r\212\2546\240\164\004\162\140\164bj+\t`|\147\130\137ZPP11\b\bQ\242\180uI-I\194H\208\018\197\163x\196\210\027z3\150\128A\207\212F\006\146s\1368\015e\195\242\242\024\212N\019\234\255\020u\166ao~|k\1733#\1938\1818hR\244\200\004\181I\132\0293[\"\199\182\175\185\224\156p\140\240\188\214\141\196\150( \240\129\196\164tR\128a\160\168\235(\184\021\004\140\133\228\127G\244+\\O\004\182\133\022Y\252P\028$\196\018\155\198\2328\027\207\239\232{X\180m\235\234|\012M| \019\202\021\241\158z%P\211\0198\127\217\177\186\187\221U\131\209\224\163\220]7\2358\015CCkP\211j\132\187\184(\184\144}\143\130s\202\153\128:\200\142\219\157kcw\147\145\0208\215\003\216\252\147@\182,\204Wn\244L\185jvk\203\150$\135\229\202\024\b`\182\143\212\174hJX\203F\197\025\252\160u\018\209\172\2215AtDO46\140\197t\129\0254\223\228\211\226\168k7\2409\162\1903Y\246\255\212\146\213\205\019\191\n\229\162\184\214\031\249G\159:\181N\018N,w\016eQ}\183\nD\140_%\233\221:\223\028\022\239(\174|_\237\140\202C+\2102\136\147-\254N\139eD=ZO\218EO\181\213o\224\166\150\183\241:`\130\139\134\150\149F\157\205\150\212I\135\127\011\225\176}9\020ID\000\229\247\163\148_\247\173/Y/\203\183sFg\235N\182[\132\159\156\019T\200\225\144\184\247\130n\223\129\196\214\153\210\217Iy\002\012C\017\029\237-i\214\193\168\241C\011\172\243e\241#\177\168\242\222F\157\175\191\132ZH\165U\212w{\145\139\221\002r\216\224$T\194\132\221K\003`\218\129\016\024~\209I\202\180\132\165\2139\224H\1363\194\252\018j7\235,\222\226\154gO\239\024\018\225\197\250tL\1284 \155\165%W\197j\006\177\019\r\243y<\135\1916\210\154Y~\140\148\012W\177\145\243\129\011\175cq\224<\t*!Q5\139\234\226O\192\015\n\145\241F\n\234 \224\205\r\227\025\007\183%n\165\210d\205\023Y\244\156F(Qi\224\243.\197\2458\143\247\188j\167w\222B\196\199\242\1684\164\243\001\234r\160G\237\153\134\244\204\186\145\238\132D@\019-\153@Z\207\166\029\245\173\204\218\229\228\171\235W\228\020Y\150^\249\226\182\180\206\182d%\178*\228\209\0176q\162\192\147\132Rt(S\t\133\153\218hJo\011\152IL<\137\156\247)\189\164f\210\214\171o9\234\225$\217\145=\209>\218+\213F\141\246\217\136\001\207\140\251sq\01263\205\192\151\147x\012\029Te\170\218h\151\"\177\176\019\015\019\027Q\1523\178\210\161\244!\231.\212\017\188s \003\181\022z\215Q[ (\193@\131\tUD\002c\240\251+NO\253*}\154\162%#\155\255\004!'\145\153\128i\153\232\016\165\231p\214\239\028\135\005jC\18322\011:\188\226,\130#&\202Kb\246Lm@2\129\128ef\026\1882\254\003\211\157\209\019\176A\197N\177\162O\203\161M\236\136\ti\151h\160V\201\204-\147\\\207?\\\236,\157\237\021\221X\221!\138\201\170\243\145_\130C\233\012v\219\238\170=N\133`\004'Z\155\023\212%\141\237\138z\170\213r\132\170\213ml\171\218\024\238\187H\012_]\t\166\022\030^X\017\212\176\195#\167\021\150\029\198\025\\fd*\217\150\149h\t\241\006O\016gpG\024!\137\017\152\165\0303\222\127P\001\229\157B\211oat{>\139\179i\029\233\b\133\027\249i8Z\231_**_W\148\215\\W\021\217l\242}B2\027\200\140h\173\241\026\005.\130P\145.\225\234{S\218&\140\229W/\159X\198&A\137\024\006&\142\150\002\228d\t\205\212\168\1831\1307\177\025h\194\001\180\028\005\226\020\151\173\235'\2169,B\174\191\181v\232\152\212\0065A\149\169[\220~X\199\131\148\153F\000q!dEP\149\030\249E\022\168\223\154\192\189k\151A\197V\209q\2358\180[\154\192\241su\222\223\156\18349P\134|f\021\167D5\232\186\138\023\252\236%\012^\144\030\152v\203\230\141\187\027\228\158\2255\214\007I\168\154\248\234M\217\231\145\155\131\186C\226\021\025i\021&s\011\224r\028\rA\019\002o\004\006SH\193\173h\194E\027\208\246m\229Y\197\203/&\158\005\167=q\222O\201?9\141\016\248'%\232L\161\214t\218\003w\149\1523\211.P\"\211i\183\198e\178C\244uXa\171\233\220\210\133\175\006a\251\129v\147\r\228\144\232!\252\b\186H\0254$\227\208-\004]E\192>\156j8\215\144\225\1854.\250\222\231\167\212LlFp?T+\191k\187\127\022\180@\185\1453J\005E\151cxr\022\155\172\004\220=lc\029-\250S\1921\154\155%LH\134z\205\134\183UQ\247\021\tw\196\031Q\193z\209L\t\211~DX\160\200\204\240\248\246\181h\024\199\020NB\206y\220z\213E\235B(CnE\025h\168M\138\192\133fq\bv\219\233\238\026\170\222Ly?\229(\158\022\029\135\215\026\224\149\200\133E=\210\129 \195L*\186\017\130\127\211v\209\0022\181\254\163\238\194\188\250v\219\027\201\144\006\129\004V\218]i\180\153D\024\223 `M\231^\0218\192\137w3[o{\141Rm\155d\149VQ)\"M\134\127.d\018\004cws\029b\237\140q\134\180\209UC\024m\152\2074_\184\206\175\031\137\164n\160\225\238\t\155r\018hS\225E\231z\250\165\182Jx\177\155\216\021>V\233N\140\238\226\221\155\022\195,C\239*\178\030\135M\186G\156j/ASHh\127f_[8\178\024\135\027\1290\2179j\031u\1369\202c\127\191]!\234\180\218\186\167-\212\143\255\149\250LwzQ]\166\221v\1498\200\228\022\206\211\249\028!\153g\220\234\170u%\223\240\201\129y\243\n_4\214A\007\205:\163\143S\197\227\173\n\005 *\209\189O\199\2301\1322V\159\176\005e\021Z\184\180\139\163\174\212zT|u\164\130\186\204~\254\208\165>\026\031Ze\208\023\188\252\145\212}O\171\r\237\000Ak\195\167T9i\242G|\172dKjh\248t\145L\196\007\164\238\029V\021\222\247h\r\132d#F\n\t\211\162Q\187\199$\181X\021\240[J\135/f\230\214)\146\135X6\178Wn\222\188\1386\152%\241\255\187U\243$v\1749@\251\168Q\139\235\030\179\185 \187\141\011\225\205~de><;]V\019\213\215\001r3S\243\145\168\127\196\132\158\191\241\224x&\207\015\223\160)\132\014\006\bcXK\023\247&\")\210#\181*\156\016*\181\194K\015:D\215\016\180fJ\136m\211Dl\2268\003T\001\202Y\140t\018\031\1758\210/\128\254`\005eE\150\173\198\252\127\176\235\239\198\181\134nESY\023\1851\166\2209\188\005\r1W\196\2176\219k\151\164E;\195Q\169Q\132\198u\031M\241r\195.w\021\161\201\238d\211}\221\015\161\243L\183\1487`\1466\220W\244B7\137\r\190\221\191\191\211\151\253\231\178.\180\170\252\217\238\167\182\130r\151\021\000\\\022T\233@0\164r\239\210\028\195\254\252~n\166\027\156}\245\t\149\150\246@\212{\245$p\209\2029o\185\244\194w\197y\225JY\234\1993\171\n\249\157\246\127\216\253\000\252\151\224\139^\004\169\250b\146n\236\171\142\240S*j\163\222\190\150n\169ts\228\229o\\\199\nFE\240\174\131\248U\149\016\241<\173?]=\223\130cR\247\149nF\239J\252\249\148\021\198zZ\168\211\214)\158\198d!\178R%\161)\196\130E\160\212\177\134u~\193]+g\144\000Ed\245\147\155DPp\201\171\203\176Q\142\134):\151\136!\190\172jX\134\174\002\1893n\015*\195\249\209\187s\1892\129\168\140\234?F\1423F\239X\231%I\143\201\167\231\168\023\213[\028\226\170Txn?@_\234\143I\242k\019|\179\t\192e\178\156\159\174\127\153g\128\005\206\129# \255\169\157*N\021\197&/e\130\255\003a\218\233a\181|\156\178c\018w|aG\193\179\170(\218\023\152D\230H\128\150`\018 \245\255z\163Q\235\160C\249\168\145\020\236\246\017\185\029\217\219z\186\133\187[\252^\186\179QR\012\1805.x\220\169\228\158W\149V\168\029\183s\134\000\1588\179\027\151X\218\015o\218\223\133\150*\235\024\197\213>W@\244\224\213\166u{\206\232\239D]\250\190\2343\253\195\018>+\140\000\222\001h\255}#\030\248'G\215\201\163\205\149\213\209\214\255ZZ\242q\r\255\bzU\239\002\002\130\212\194\209R\155(\195a\203\240\206\172\136M'_(2\219\236\138\179*\143\030U\208\237\134\212V\156\1738\205\175'QI+QucugP\221\027\134\192E>\224\166\192Y\144\184\212S\029\020\145ky\196r\201\183\158<\239I\016\1413\021\193\147\029\001%Y\183Y\200\246\225DG\136N\169A\133\003\215]\1706\184q\134\237Cd\216\128\221+% \2173\002Y&:C\127O\161\183T\246\182\174\224\213\150p\1830$\237p\006_\135p\024h$Ym\148\134\253\238\190*\175\207\143\r\245\241Su\239@\238\186\246\004\136)\146g#:\195\169j\215\235\134S\007\2055\012\027\019k1\182\198\184\230bw\141S\158x\215f\150\147}v\143m\160\220\226\221\227ax\248'Bd&y\163\028\227\152\134U\007\r\019\186H6\214\145\211d*1\003\247D\026Z\164\178\r\129E(I\138\158\185\003L{Ng;jI\145\006W\143\240\170A\228\191{\133a\177\202D\207g7\235\182\139\170e+/\1426ZC\028U\247\237XD[h\169\200\170\149x\131\255\0050\235\127\237\205Vx\151\203\213s\244\198\222d\216\179\151\022!\156\174\189\030\191\214>\222\223\218\244J\175\0224|Q1T\221\128\\\219\195\198\247\200\241\202^\235\230\176\178\174\157\239\151bFh\236\132\169T\201\rh\024j\155\221M?\246J1`\169z\190)\136\184\182\167\179\171\025D\161\022\210\170\177\130\187f{'R\150{i\149\212)\189{`\224m\015\190\155\015\237X?;H&V\025[\209\003)\217}5\212\251\016\011\162kN\022q\012\004\001xC\244\228E\160P\135\134\"h9\161_\178\005;W\130#\172\162\203C$PTs(X\024\151\223\014\184+\144\153q\226\211\165\219%M\195+\018\242\144\004d\012`\017D\178\130\155\027\137\\\140q;R\244t\003\194\177\208\205\247\133\143FRUKfjW\254\187\159\198D\156\144\016\1697bE=\195]\234]\227\130@\228z\029\130\021\243\217X\198\251\247.\r\014C\188k'\227\189\162#`\156\143\029\158\196)K\029v:\155\215\166G\023\183\138\206\187\231E\167\225\201&$3\222\225,`\179\174l\236\253S7<^'\146\004\"\139\227=\175v\216S$\001\164\1656\138\020R\136\186m\029\135IY\143_0\1480;r||this.consumeSpaces();var a,i=this.future(),o=0,s=0;do{if(a=this.popToken(),t.push(a),\"{\"===a.text)++o;else if(\"}\"===a.text){if(-1===--o)throw new n(\"Extra }\",a)}else if(\"EOF\"===a.text)throw new n(\"Unexpected end of input in a macro argument, expected '\"+(e&&r?e[s]:\"}\")+\"'\",a);if(e&&r)if((0===o||1===o&&\"{\"===e[s])&&a.text===e[s]){if(++s===e.length){t.splice(-s,s);break}}else s=0}while(0!==o||r);return\"{\"===i.text&&\"}\"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:i,end:a}},t.consumeArgs=function(e,t){if(t){if(t.length!==e+1)throw new n(\"The length of delimiters doesn't match the number of args!\");for(var r=t[0],a=0;athis.settings.maxExpand)throw new n(\"Too many expansions: infinite loop or need to increase maxExpand setting\");var i=a.tokens,o=this.consumeArgs(a.numArgs,a.delimiters);if(a.numArgs)for(var s=(i=i.slice()).length-1;s>=0;--s){var l=i[s];if(\"#\"===l.text){if(0===s)throw new n(\"Incomplete placeholder at end of macro body\",l);if(\"#\"===(l=i[--s]).text)i.splice(s+1,1);else{if(!/^[1-9]$/.test(l.text))throw new n(\"Not a valid argument number\",l);var h;(h=i).splice.apply(h,[s,2].concat(o[+l.text-1]))}}}return this.pushTokens(i),i},t.expandAfterFuture=function(){return this.expandOnce(),this.future()},t.expandNextToken=function(){for(;;){var e=this.expandOnce();if(e instan" @@ -156,13 +156,11 @@ module Internal = struct let d_5e57240b8ff6745d663ebd2060201199 = "0;d<2;d++){for(var f=!0,g=c+1;g a.anchor {\n margin-left: -2.3em;\n padding-right: 0.9em;\n}\n\n.xref-unresolved {\n color: #2C94BD;\n}\n.xref-unresolved:hover {\n box-shadow: 0 1px 0 0 var(--xref-shadow);\n}\n\n/* Source links float inside preformated text or headings. */\na.source_link {\n float: right;\n color: var(--source-color);\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-size: initial;\n}\n\n/* Section and document divisions.\n Until at least 4.03 many of the modules of the stdlib start at .h7,\n we restart the sequence there like h2 */\n\nh1, h2, h3, h4, h5, h6, .h7, .h8, .h9, .h10 {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n font-weight: 400;\n padding-top: 0.1em;\n line-height: 1.2;\n overflow-wrap: break-word;\n}\n\nh1 {\n font-weight: 500;\n font-size: 2.441em;\n}\n\nh1 {\n font-weight: 500;\n font-size: 1.953em;\n box-shadow: 0 1px 0 0 var(--header-shadow);\n}\n\nh2 {\n font-size: 1.563em;\n}\n\nh3 {\n font-size: 1.25em;\n}\n\nsmall, .font_small {\n font-size: 0.8em;\n}\n\nh1 code, h1 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh2 code, h2 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh3 code, h3 tt {\n font-size: inherit;\n font-weight: inherit;\n}\n\nh4 {\n font-size: 1.12em;\n}\n\n/* Comment delimiters, hidden but accessible to screen readers and \n selected for copy/pasting */\n\n/* Taken from bootstrap */\n/* See also https://stackoverflow.com/a/27769435/4220738 */\n.comment-delim {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Preformatted and code */\n\ntt, code, pre {\n font-family: \"Fira Mono\", courier;\n font-weight: 400;\n}\n\n.odoc pre {\n padding: 0.1em;\n border: 1px solid var(--pre-border-color);\n border-radius: 5px;\n overflow-x: auto;\n}\n\n.odoc p code,\n.odoc li code {\n background-color: var(--li-code-background);\n color: var(--li-code-color);\n border-radius: 3px;\n padding: 0 0.3ex;\n}\n\np a > code, li a > code {\n color: var(--link-color);\n}\n\n.odoc code {\n white-space: pre-wrap;\n}\n\n/* Code blocks (e.g. Examples) */\n\n.odoc pre code {\n font-size: 0.893rem;\n}\n\n/* Code lexemes */\n\n.keyword {\n font-weight: 500;\n}\n\n.arrow { white-space: nowrap }\n\n/* Module member specification */\n\n.spec {\n background-color: var(--spec-summary-background);\n border-radius: 3px;\n border-left: 4px solid var(--spec-summary-border-color);\n border-right: 5px solid transparent;\n padding: 0.35em 0.5em;\n}\n\nli:not(:last-child) > .def-doc {\n margin-bottom: 15px;\n}\n\n/* Spacing between items */\ndiv.odoc-spec,.odoc-include {\n margin-bottom: 2em;\n}\n\n.spec.type .variant p, .spec.type .record p {\n margin: 5px;\n}\n\n.spec.type .variant, .spec.type .record {\n margin-left: 2ch;\n list-style: none;\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n}\n\n.spec.type .record > code, .spec.type .variant > code {\n min-width: 40%;\n}\n\n.spec.type > ol {\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.spec.type .record > .def-doc, .spec.type .variant > .def-doc {\n min-width:50%;\n padding: 0.25em 0.5em;\n margin-left: 10%;\n border-radius: 3px;\n flex-grow:1;\n background: var(--main-background);\n box-shadow: 2px 2px 4px lightgrey;\n}\n\ndiv.def {\n margin-top: 0;\n text-indent: -2ex;\n padding-left: 2ex;\n}\n\ndiv.def-doc>*:first-child {\n margin-top: 0;\n}\n\n/* Collapsible inlined include and module */\n\n.odoc-include details {\n position: relative;\n}\n\n.odoc-include.shadowed-include {\n display: none;\n}\n\n.odoc-include details:after {\n z-index: -100;\n display: block;\n content: \" \";\n position: absolute;\n " - let d_5f9942b4d85184e45b9addfc25ca6fd4 = "xMaxYMin\"]}for(var k=0;k0&&(n.style.minWidth=V(a)),n};function Ut(e,t){if(!e||e.type!==t)throw new Error(\"Expected node of type \"+t+\", but got \"+(e?\"node of type \"+e.type:String(e)));return e}function Yt(e){var t=Xt(e);if(!t)throw new Error(\"Expected node of symbol group type, but got \"+(e?\"node of type \"+e.type:String(e)));return t}function Xt(e){return e&&(\"atom\"===e.type||re.hasOwnProperty(e.type))?e:null}var Wt=function(e,t){var r,n,a;e&&\"supsub\"===e.type?(r=(n=Ut(e.base,\"accent\")).base,e.base=r,a=function(e){if(e instanceof W)return e;throw new Error(\"Expected span but got \"+String(e)+\".\")}(wt(e,t)),e.base=n):r=(n=Ut(e,\"accent\")).base;var i=wt(r,t.havingCrampedStyle()),o=0;if(n.isShifty&&l.isCharacterBox(r)){var s=l.getBaseElem(r);o=ee(wt(s,t.havingCrampedStyle())).skew}var h,m=\"\\\\c\"===n.label,c=m?i.height+i.depth:Math.min(i.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Gt(n,t),h=Ke.makeVList({positionType:\"firstBaseline\",children:[{type:\"elem\",elem:i},{type:\"elem\",elem:h,wrapperClasses:[\"svg-align\"],wrapperStyle:o>0?{width:\"calc(100% - \"+V(2*o)+\")\",marginLeft:V(2*o)}:void 0}]},t);else{var u,p;\"\\\\vec\"===n.label?(u=Ke.staticSvg(\"vec\",t),p=Ke.svgData.vec[1]):((u=ee(u=Ke.makeOrd({mode:n.mode,text:n.label},t,\"textord\"))).italic=0,p=u.width,m&&(c+=u.depth)),h=Ke.makeSpan([\"accent-body\"],[u]);var d=\"\\\\textcircled\"===n.label;d&&(h.classes.push(\"accent-full\"),c=i.height);var f=o;d||(f-=p/2),h.style.left=V(f),\"\\\\textcircled\"===n.label&&(h.style.top=\".2em\"),h=Ke.makeVList({positionType:\"firstBaseline\",children:[{type:\"elem\",elem:i},{type:\"kern\",size:-c},{type:\"elem\",elem:h}]},t)}var g=Ke.makeSpan([\"mord\",\"accent\"],[h],t);return a?(a.children[0]=g,a.height=Math.max(g.height,a.height),a.classes[0]=\"mord\",a):g},_t=function(e,t){var r=e.isStretchy?Vt(e.label):new Tt.MathNode(\"mo\",[Bt(e.label,e.mode)]),n=new Tt.MathNode(\"mover\",[Rt(e.base,t),r]);return n.setAttribute(\"accent\",\"true\"),n},jt=new RegExp([\"\\\\acute\",\"\\\\grave\",\"\\\\ddot\",\"\\\\tilde\",\"\\\\bar\",\"\\\\breve\",\"\\\\check\",\"\\\\hat\",\"\\\\vec\",\"\\\\dot\",\"\\\\mathring\"].map((function(e){return\"\\\\\"+e})).join(\"|\"));ot({type:\"accent\",names:[\"\\\\acute\",\"\\\\grave\",\"\\\\ddot\",\"\\\\tilde\",\"\\\\bar\",\"\\\\breve\",\"\\\\check\",\"\\\\hat\",\"\\\\vec\",\"\\\\dot\",\"\\\\mathring\",\"\\\\widecheck\",\"\\\\widehat\",\"\\\\widetilde\",\"\\\\overrightarrow\",\"\\\\overleftarrow\",\"\\\\Overrightarrow\",\"\\\\overleftrightarrow\",\"\\\\overgroup\",\"\\\\overlinesegment\",\"\\\\overleftharpoon\",\"\\\\overrightharpoon\"],props:{numArgs:1},handler:function(e,t){var r=lt(t[0]),n=!jt.test(e.funcName),a=!n||\"\\\\widehat\"===e.funcName||\"\\\\widetilde\"===e.funcName||\"\\\\widecheck\"===e.funcName;return{type:\"accent\",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:a,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:\"accent\",names:[\"\\\\'\",\"\\\\`\",\"\\\\^\",\"\\\\~\",\"\\\\=\",\"\\\\u\",\"\\\\.\",'\\\\\"',\"\\\\c\",\"\\\\r\",\"\\\\H\",\"\\\\v\",\"\\\\textcircled\"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:[\"primitive\"]},handler:function(e,t){var r=t[0],n=e.parser.mode;return\"math\"===n&&(e.parser.settings.reportNonstrict(\"mathVsTextAccents\",\"LaTeX's accent \"+e.funcName+\" works only in text mode\"),n=\"text\"),{type:\"accent\",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Wt,mathmlBuilder:_t}),ot({type:\"accentUnder\",names:[\"\\\\underleftarrow\",\"\\\\underrightarrow\",\"\\\\underleftrightarrow\",\"\\\\undergroup\",\"\\\\underlinesegment\",\"\\\\utilde\"],props:{numArgs:1},handler:function(e,t){var r=e.parser,n=e.funcName,a=t[0];return{type:\"accentUnder\",mode:r.mode,label:n,base:a}},htmlBuilder:function(e,t){var r=wt(e.base,t),n=Gt(e,t),a=\"\\\\utilde\"===e.label?.12:0,i=Ke.makeVList({positionType:\"top\",positionData:r.height,children:[{type:\"elem\",elem:n,wrapperClasses:[\"svg-align\"]},{type:\"kern\",size:a},{type:\"elem\",elem:r}]},t);return Ke.makeSpan(" let d_5fcd7eba230acf47d54c1897a9a9c394 = ":t.slice(j-100,j+100),mode:n.mode,resultSoFar:v},_emitter:M};if(o)return{\nlanguage:e,value:Y(t),illegal:!1,relevance:0,errorRaised:n,_emitter:M,_top:N}\n;throw n}}function x(e,t){t=t||g.languages||Object.keys(i);const n=(e=>{\nconst t={value:Y(e),illegal:!1,relevance:0,_top:c,_emitter:new g.__emitter(g)}\n;return t._emitter.addText(e),t})(e),r=t.filter(O).filter(N).map((t=>E(t,e,!1)))\n;r.unshift(n);const s=r.sort(((e,t)=>{\nif(e.relevance!==t.relevance)return t.relevance-e.relevance\n;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1\n;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=s,l=o\n;return l.secondBest=a,l}function w(e){let t=null;const n=(e=>{\nlet t=e.className+\" \";t+=e.parentNode?e.parentNode.className:\"\"\n;const n=g.languageDetectRe.exec(t);if(n){const t=O(n[1])\n;return t||(W(a.replace(\"{}\",n[1])),\nW(\"Falling back to no-highlight mode for this block.\",e)),t?n[1]:\"no-highlight\"}\nreturn t.split(/\\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return\n;if(k(\"before:highlightElement\",{el:e,language:n\n}),e.children.length>0&&(g.ignoreUnescapedHTML||(console.warn(\"One of your code blocks includes unescaped HTML. This is a potentially serious security risk.\"),\nconsole.warn(\"https://github.com/highlightjs/highlight.js/wiki/security\"),\nconsole.warn(\"The element with unescaped HTML:\"),\nconsole.warn(e)),g.throwUnescapedHTML))throw new J(\"One of your code blocks includes unescaped HTML.\",e.innerHTML)\n;t=e;const i=t.textContent,s=n?m(i,{language:n,ignoreIllegals:!0}):x(i)\n;e.innerHTML=s.value,((e,t,n)=>{const i=t&&r[t]||n\n;e.classList.add(\"hljs\"),e.classList.add(\"language-\"+i)\n})(e,n,s.language),e.result={language:s.language,re:s.relevance,\nrelevance:s.relevance},s.secondBest&&(e.secondBest={\nlanguage:s.secondBest.language,relevance:s.secondBest.relevance\n}),k(\"after:highlightElement\",{el:e,result:s,text:i})}let y=!1;function _(){\n\"loading\"!==document.readyState?document.querySelectorAll(g.cssSelector).forEach(w):y=!0\n}function O(e){return e=(e||\"\").toLowerCase(),i[e]||i[r[e]]}\nfunction v(e,{languageName:t}){\"string\"==typeof e&&(e=[e]),e.forEach((e=>{\nr[e.toLowerCase()]=t}))}function N(e){const t=O(e)\n;return t&&!t.disableAutodetect}function k(e,t){const n=e;s.forEach((e=>{\ne[n]&&e[n](t)}))}\n\"undefined\"!=typeof window&&window.addEventListener&&window.addEventListener(\"DOMContentLoaded\",(()=>{\ny&&_()}),!1),Object.assign(t,{highlight:m,highlightAuto:x,highlightAll:_,\nhighlightElement:w,\nhighlightBlock:e=>(X(\"10.7.0\",\"highlightBlock will be removed entirely in v12.0\"),\nX(\"10.7.0\",\"Please use highlightElement now.\"),w(e)),configure:e=>{g=Q(g,e)},\ninitHighlighting:()=>{\n_(),X(\"10.6.0\",\"initHighlighting() deprecated. Use highlightAll() now.\")},\ninitHighlightingOnLoad:()=>{\n_(),X(\"10.6.0\",\"initHighlightingOnLoad() deprecated. Use highlightAll() now.\")\n},registerLanguage:(e,n)=>{let r=null;try{r=n(t)}catch(t){\nif(K(\"Language definition for '{}' could not be registered.\".replace(\"{}\",e)),\n!o)throw t;K(t),r=c}\nr.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&v(r.aliases,{\nlanguageName:e})},unregisterLanguage:e=>{delete i[e]\n;for(const t of Object.keys(r))r[t]===e&&delete r[t]},\nlistLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v,\nautoDetection:N,inherit:Q,addPlugin:e=>{(e=>{\ne[\"before:highlightBlock\"]&&!e[\"before:highlightElement\"]&&(e[\"before:highlightElement\"]=t=>{\ne[\"before:highlightBlock\"](Object.assign({block:t.el},t))\n}),e[\"after:highlightBlock\"]&&!e[\"after:highlightElement\"]&&(e[\"after:highlightElement\"]=t=>{\ne[\"after:highlightBlock\"](Object.assign({block:t.el},t))})})(e),s.push(e)}\n}),t.debugMode=()=>{o=!1},t.safeMode=()=>{o=!0\n},t.versionString=\"11.7.0\",t.regex={concat:p,lookahead:d,either:f,optional:h,\nanyNumberOfTimes:u};for(const t in A)\"object\"==typeof A[t]&&e.exports(A[t])\n;return Object.assign(t,A),t})({});return te}()\n;\"object\"==typeof exports&&\"undefined\"!=typeof module&&(module.exports=hljs);/*! `reasonml` grammar compiled for Highlight.js 11.7.0 */\n(()=>{var e=(()=>{\"use strict\";return e=>{\nconst n=\"~?[a-z$_][0-9a-zA-Z$_]*\",a=\"`?[A-Z$_][0-9a-zA-Z$_]*" - let d_61e011d9fe425bb5367c70944eba9fbd = "border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec-details-after-background, rgba(0, 4, 15, 0.05));\n box-shadow: 0 0px 0 1px var(--spec-details-after-shadow, rgba(204, 204, 204, 0.53));\n}\n\n.odoc-include summary {\n position: relative;\n margin-bottom: 1em;\n cursor: pointer;\n outline: none;\n}\n\n.odoc-include summary:hover {\n background-color: var(--spec-summary-hover-background);\n}\n\n/* FIXME: Does not work in Firefox. */\n.odoc-include summary::-webkit-details-marker {\n color: #888;\n transform: scaleX(-1);\n position: absolute;\n top: calc(50% - 5px);\n height: 11px;\n right: -29px;\n}\n\n/* Records and variants FIXME */\n\ndiv.def table {\n text-indent: 0em;\n padding: 0;\n margin-left: -2ex;\n}\n\ntd.def {\n padding-left: 2ex;\n}\n\ntd.def-doc *:first-child {\n margin-top: 0em;\n}\n\n/* Lists of @tags */\n\n.at-tags { list-style-type: none; margin-left: -3ex; }\n.at-tags li { padding-left: 3ex; text-indent: -3ex; }\n.at-tags .at-tag { text-transform: capitalize }\n\n/* Alert emoji */\n\n.alert::before, .deprecated::before {\n content: '\226\154\160\239\184\143 ';\n}\n\n/* Lists of modules */\n\n.modules { list-style-type: none; margin-left: -3ex; }\n.modules li { padding-left: 3ex; text-indent: -3ex; margin-top: 5px }\n.modules .synopsis { padding-left: 1ch; }\n\n/* Odig package index */\n\n.packages { list-style-type: none; margin-left: -3ex; }\n.packages li { padding-left: 3ex; text-indent: -3ex }\n.packages li a.anchor { padding-right: 0.5ch; padding-left: 3ch; }\n.packages .version { font-size: 10px; color: var(--by-name-version-color); }\n.packages .synopsis { padding-left: 1ch }\n\n.by-name nav a {\n text-transform: uppercase;\n font-size: 18px;\n margin-right: 1ex;\n color: var(--by-name-nav-link-color,);\n display: inline-block;\n}\n\n.by-tag nav a {\n margin-right: 1ex;\n color: var(--by-name-nav-link-color);\n display: inline-block;\n}\n\n.by-tag ol { list-style-type: none; }\n.by-tag ol.tags li { margin-left: 1ch; display: inline-block }\n.by-tag td:first-child { text-transform: uppercase; }\n\n/* Odig package page */\n\n.package nav {\n display: inline;\n font-size: 14px;\n font-weight: normal;\n}\n\n.package .version {\n font-size: 14px;\n}\n\n.package.info {\n margin: 0;\n}\n\n.package.info td:first-child {\n font-style: italic;\n padding-right: 2ex;\n}\n\n.package.info ul {\n list-style-type: none;\n display: inline;\n margin: 0;\n}\n\n.package.info li {\n display: inline-block;\n margin: 0;\n margin-right: 1ex;\n}\n\n#info-authors li, #info-maintainers li {\n display: block;\n}\n\n/* Sidebar and TOC */\n\n.odoc-toc:before {\n display: block;\n content: \"Contents\";\n text-transform: uppercase;\n font-size: 1em;\n margin: 1.414em 0 0.5em;\n font-weight: 500;\n color: var(--toc-before-color);\n line-height: 1.2;\n}\n\n.odoc-toc {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n max-width: 30ex;\n min-width: 26ex;\n width: 20%;\n background: var(--toc-background);\n overflow: auto;\n color: var(--toc-color);\n padding-left: 2ex;\n padding-right: 2ex;\n}\n\n.odoc-toc ul li a {\n font-family: \"Fira Sans\", sans-serif;\n font-size: 0.95em;\n color: var(--color);\n font-weight: 400;\n line-height: 1.6em;\n display: block;\n}\n\n.odoc-toc ul li a:hover {\n box-shadow: none;\n text-decoration: underline;\n}\n\n/* First level titles */\n\n.odoc-toc>ul>li>a {\n font-weight: 500;\n}\n\n.odoc-toc li ul {\n margin: 0px;\n}\n\n.odoc-toc ul {\n list-style-type: none;\n}\n\n.odoc-toc ul li {\n margin: 0;\n}\n.odoc-toc>ul>li {\n margin-bottom: 0.3em;\n}\n\n.odoc-toc ul li li {\n border-left: 1px solid var(--toc-list-border);\n margin-left: 5px;\n padding-left: 12px;\n}\n\n/* Tables */\n\n.odoc-table {\n margin: 1em;\n}\n\n.odoc-table td, .odoc-table th {\n padding-left: 0.5em;\n padding-right: 0.5em;\n border: 1px solid black;\n}\n\n.odoc-table th {\n font-weight: bold;\n}\n\n/* Mobile adjustements. */\n\n@media only screen and (max-width: 110ex) {\n body {\n margin: 2em;\n }\n .odoc-toc {\n position: static;\n width: auto;\n min-width: unset;\n max-width: unset;\n border: none;\n padding: 0.2em 1em;\n border-radius: 5px;\n margin-bottom: 2em;\n }\n}\n\n/* Print adjus" + let d_609f576f064dfa5ea1545119859f0158 = "or: #002800;\n --visited-number-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-background: #252525;\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n\n --spec-label-color: lightgreen;\n}\n\n@media (prefers-color-scheme: dark) {\n :root {\n --main-background: #202020;\n --code-background: #333;\n --line-numbers-background: rgba(0, 0, 0, 0.125);\n --navbar-background: #202020;\n\n --meter-unvisited-color: #622;\n --meter-visited-color: #252;\n --meter-separator-color: black;\n\n --color: #bebebe;\n --dirname-color: #666;\n --underline-color: #444;\n --visited-color: #002800;\n --visited-number-color: #252;\n --unvisited-color: #380000;\n --unvisited-number-color: #622;\n --somevisited-color: #303000;\n --highlight-color: #303e3f;\n --line-number-color: rgba(230, 230, 230, 0.3);\n --unvisited-margin-color: #622;\n --border: #333;\n --navbar-border: #333;\n --code-color: #ccc;\n --by-name-nav-link-color: var(--color);\n\n --li-code-background: #373737;\n --li-code-color: #999;\n --toc-color: #777;\n --toc-before-color: #777;\n --toc-background: #252525;\n --toc-list-border: #ccc;\n --spec-summary-hover-background: #ebeff2;\n --spec-details-after-background: rgba(0, 4, 15, 0.05);\n --spec-details-after-shadow: rgba(204, 204, 204, 0.53);\n\n --hljs-link: #999;\n --hljs-keyword: #cda869;\n --hljs-regexp: #f9ee98;\n --hljs-title: #dcdcaa;\n --hljs-type: #ac885b;\n --hljs-meta: #82aaff;\n --hljs-variable: #cf6a4c;\n\n --spec-label-color: lightgreen;\n }\n}\n\n/* Reset a few things. */\n\nhtml, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {\n padding: 0;\n border: 0;\n font: inherit;\n vertical-align: baseline;\n\n}\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\n*, *:before, *:after {\n box-sizing: border-box;\n}\n\nhtml {\n font-size: 15px;\n scroll-behavior: smooth;\n}\n\nbody {\n text-align: left;\n background: #FFFFFF;\n color: var(--color);\n background-color: var(--main-background);\n font-family: \"Noticia Text\", Georgia, serif;\n line-height: 1.5;\n}\n\nbody {\n margin-left: calc(10vw + 20ex);\n margin-right: 4ex;\n margin-top: 20px;\n margin-bottom: 50px;\n}\n\nbody.odoc {\n max-width: 100ex;\n}\n\nbody.odoc-src {\n margin-right: calc(10vw + 20ex);\n}\n\nheader {\n margin-bottom: 30px;\n}\n\nnav {\n font-family: \"Fira Sans\", Helvetica, Arial, sans-serif;\n}\n\n/* Basic markup elements */\n\nb, strong {\n font-weight: bold;\n}\n\ni {\n font-style: italic;\n}\n\nem, i em.odd{\n font-style: italic;\n}\n\nem.odd, i em {\n font-style: normal;\n}\n\nsup {\n vertical-align: super;\n}\n\nsub {\n vertical-align: sub;\n}\n\nsup, sub {\n font-size: 12px;\n line-height: 0;\n margin-left: 0.2ex;\n}\n\nul, ol {\n list-style-position: outside\n}\n\nul>li {\n margin-left: 22px;\n}\n\nol>li {\n margin-left: 27.2px;\n}\n\nli>*:first-child {\n margin-top: 0\n}\n\n/* Text alignements, this should be forbidden. */\n\n.left {\n text-align: left;\n}\n\n.right {\n text-align: right;\n}\n\n.center {\n text-align: center;\n}\n\n/* Links and anchors */\n\na {\n text-decoration: none;\n color: var(--link-color);\n}\n\n.odoc-src pre a {\n color: inherit;\n}\n\na:hover {\n box-shadow: 0 1px 0 0 var(--link-color);\n}\n\n/* Linked highlight */\n*:target {\n background-color: var(-" let d_62016f2316dffaac5eecc447ca24c81c = "Z\195\229\202C\147\172\201\012\133\016g\129\1363\134A\135z\186\216\000]!\192\004Fk\245\251\253\207\238\128\029\005\186a\196\181\221`\004\1644\\\184\031[ \136\195\144'\139\152w;+\213\0116X%\165t\000^\204\243FG2C \213\004\017\211\208\132\198\r\136\re\205\1838\031Az\225u\148s\250\194?<\151\132\225\209\218\196\203l=\015\006&K\002E_\228!:w\2361\214\027\188\134\201\231\158\002uhH\229\152\160\203\224i\015K\n\130WPh\\\127\018Jv\143\147\026\000+\1348h\207]S\200\143\221]\166\022\216\132\180\171\190@\194c\187\1296\170\164\169\131\174\232y\1423T[\000A,Jz\240\207\029\215\253\174\129R\189\149Tx\251\018\149P\b\rP\185\149;\203\245\238\183\235\218\166*\148\011\0219Y\226&`\165M\232)\148\024R\245A\0067)L\n\156\021F\167\236\157:\211\189Gb\153ot\224A\248\208\151\250\185\159\\w\222\130\017\129\1736m\131\232\240\180VD\024Q\253\004.C\nD\194\193\133\217\030\164\016\192\1536\015+$\207\253\209\140\028\000^\018\1483\165\183LO\182\168\201\016r\150\187n\174\\b\205{c\157\166\183\215\165\235\150\247\203\187\243\177\155\207\242\197\249\017\\l,\016}B\156\145\178u\202[\135h[\163b\132K\207;\189Fg\194\206\225|I\206\215u\014\240\250\226\b\131\216\181\030B\152\211\186\004\151\188~p]\021\203\167\195`V\244\173~d:b\158\169 \022\164\194\183T\t&\129\022\144\152\015x\155\025\136k\018c\142\232ox\149\0274b(\"\017\218\168\254\184\154\028\156\132\025\0118V\250\180+\233\143\205\206\246\159\171\031\007f\194\224\024\243A\"Q\018\180\0196Q(\219aY\247\165L\137\225\147\219\234\137\185S#\206\007>\247\026Sj\215o\218\006\0055-\000hM\247\215}\254\136\r\244\250\tM4r\234\189%\156\020h\172\\2\028\026\011\237\t\178c\211-\180\139@\026\191\019]\158\209\180\219\196\143\135\198\019k\242\025\005\235n\156\028\225s\167\155]\201\239\247\216\215\229\180\227\217@A\168\186\168\251-E\230l\204\237\224\237e\030\026\215\196.S0-F\027\152vkK\\{\128\030\254\020q@*\000^\1846{\1920\n\158\204\220m\200@B\220a\194\002\134\253\188\179\206\194\230\137\197U\145\254\190Wo9\193\172\006_ry\207\181\249\242G\135\206\243\129T\2425HPc/;&\210\208\197\151\"\146\195\249\188Iq\031\129\001\006\000\156p\138\145\165S\n(8_4\183\226K\001\211\230\209;\159\167t\132:t\024\249\130\244^\131%'e\146z\023ua9\173KA\229\143\197\235N\253|\239\254\"J\209\205\003\129\017\236\236\135}&r\031\148\176\129\199\136'\172\1608\014o\141\205\216{\138l1\247;J\189V\229\130Q\158\190A}\160\144$\\m`CP\189J\224\1495V\234\181iB\215k\141\132\232rR\229\178\156\172\243\173\173\127Y\n;\149\166\160\148\255\149j\211K\243\140\134!?j\015\rT\188f\226\254R\242\180\140\158\128\028\222\185\230\193\t\000q\255\241\233\205\229\012G8,\019j\184\169\193C\178)4MH_\014\184\208\165\166\026\241.\255u\217\246\138&\016\241\1918W\2176\0199\228\128\165\188\132\023\024\029V\127\132O\011\215\227\204\210\229\202\186\236:]\159\187\148\005\189\1863q[0Rn\017>w\215\242\192\217\167\241\196:\137\b\0056N\180i\136\155_\182\222\015U\031'y\202\215\221\0267X\1583\235\181\151F\141P\191\137\253T\250w\175k4\152\183$\164\157\002\153@;As+{W\218\190nl\182\020\221\002gX]\184\189^\230\188\169\184\129<(\219\004\218 \160\218\172\026\176\015\1296\019\023\007\001\241\144\251\204\144\"x\rw\184\182\003\248\227V\207Y\145\2394\226\218\204\252(\133L\004\r\159V\170\219\201\003\192@\000\005\188-\024>\020\024\031?\rz\232\245G<\004p\002j\233\220\160E\1432k}\203\007\183\211\030\230\234^\030\244\014 J\001\211\031^\2037\233(\182N\000\019\022\148\158\205\133\140\011\225\153\146\213E\218d\234l&\209\129\031\251\246f\218\243S\187\137t\1302\139\172k]c\139\237\236\015\022\233\180\150N\174q\149#N\159rhk\180d\209\248Y\134V'\001\005\145K\002\151\198Z\132N@v\252\2511zn\243\164L\028{V\0298;\206y*\138\233\253\244\174\240\005\028a\181o\\\018\198\177\015\221\214V\244+0\247\006.\218L]\000\156\018~\248\141\030\154\138\221\175\226s.<\236\128\145\183CS7\135\156\168\225\000\211\135\179\183\186\141GJ\181\193\243\1778\216\209\156\171Y|\186_\149p\182\243i\021n\028.\243\224\212\211,5\211\150^\163\137\246\151~\179q\216a\163\230\155\156\222\149\014N\183\238\232\129\230c&\016\"D&t\144\227O(A\225\144\000\021\236\018 8\015fB@jSR\026\249Gr\1976\023\159\b\170MH\t5\197J\164\137\241\215z\158\250&*\028\140M\231\\h\216Q\163\240\186\000\241w\187\134{\1441c\230\005\203\248V\243[\255\190/\211\133\134\203:\250\t\191.U\181|\\>Ts5\157\252\141W\231'\129\218\176\177P\192 \176\151\026\\\240\202\231\1552\185\183\183\025\026\245hR[\213\028\189\134\245\134\128\130\006U\181\233\210\012*\225\018\157TJ7\166]\241>Wn\232\r\189B\131n,\220\171_\171\218\216o>\144\2354\205\000\238H)\181:-\225\015\227\170\168>9wBP\219\146\222\\_O\214\159\178\136M\130\004\234Q\210pA\211\165g\211h\220\237\224\209\169\226\220Ry\210Fuq\211\161\163Nm\238@\024\212P\248\136\161W\133\223\226cc\227\164V\212\177\219\028\185\133<\1357p\201]>\174+\250>$\232\162\254\138\005\247MFi\247?\149\015\248-\251\255\207\183\222\129i\236\193'#\001\004wu\221\189E\239\146M\194\158\024\225\248\209\226 }7~\170\197\216;\018\128\127|\152\251;/\148\199C\240\130\158\229\027\156\188'\230\214\172z\027\160\229\026 \249\227\n&\161\211T\165H\"8N\202\133rC7\199m,+<\208\158\140l\142d\2030<\246\147\130\1435d\221\250JU\254c\011jmz\004g\190\022\250H\171X\153`5]\232*y9\192*V\174\155\187v]]V\163\128\164\129\206\001\028\136]E\248\171\249B\025\000\242\189\208#\251o\132\218I1\030c\157m\164MD\218D\219\223\189\004'\005\230vM\000 1Y\150\247\0147\188\183R\146v\175\180\133`\1891L\027\181\000\180Q\250\192\196&v\024\231\137\021\170_\178\233\21459\151J\164=\1977\206to\189%h\134{\221u\025e7cr-\214\188\025%++\179\142\022\002\170\166\170UU\021\193\000*\005\185\244\029X\173\028\149\172\169\012=7L\128\006\220gd\133O\229c%\186\227[l\222J\245\1514\144 \n\239\224\001\232a\171\031\205\161\221\184]\029\135\234.\139E\174I\177\168\153\242JiM\182Q\151\250\\>PX\197\195\177\226%\131g\027\n\178\186\138\128\004\195\170\172\134\161\151\128\162:\184\171r\215\".\222m\023\024\209\150\205\218\222\228\184\134\248:\199\196m\209\2249Q\031c\161\185\246\251F\237A\197\152\250\152\187\205\255\002UM\164\192\172\198\218\1485\158yd!\240B\217.\247\131\255\237\247P\149\243\220\228<~\242\198\253\197g\209\183\236]` \014\030\206\250\149\135\172\227\007\163\130$*\132\175i\127\251\243\153\1661\001x\160\195atKbq/\231\153M8\136d\159[c\156T\015d\166\207'\208D\203\174\127\252\189\003\017\168\001\162%\016\192\241\017\030\159$goJ\027\146\018Q\205\005\b\222\b\016\155\158\134\153\143\223\156R&\2363\233\t\241\174vF\190\160\018\228\159\012\021\1398\184\215E\028\149\1462'KJ^\185\020\251n7\166\004i\028\161\206\195\1919\228J\245\1814\131ZE\244\167\204\131\188+\190\004\238\025%\0306\014\160K\012L\203\171 \025\176q_\163\026\214\175+\176qF\241B\196R\016f\164-\220\"\186\139)rpw\2549\1446\144\158\252@8\023\242W'\180\235\220\b\150Mqu\165\184\152`\026/\199\024;\153s\186\206m\200\t\023\237@\231*\227\171\163l\174\167\227\201K\144\251v\031!\1915\151\027\210V\139@\027#\024ev\144\144\168\248iP\153\202}/\233\158\172\\e\172\246\204\229\240!\179\203\2005\144\162\196\229\185n\201/;\178\024\029\184\253\021\007\173\253\160n\238L^\127\150XY\237J\242\t^\167\166\202zLV\219\004\202K\135\182\174\168G\192\200\147\031m\154\011\026\200\136\246\019(\228\142;y\214\207\140\200T\011z&\199\024\139 \246\1770\215\198\018\193Mz\178\247]\206\235\203\156QM\210\014\012\001\200\149\014\127\242\r1PT\170\170f&wm+k\216q\177\168\142\202$\248\154\027\147\012l\193\137KlH\151t=9Kpq\243\2148\201b&\249\227S'\201\005\217[\230\183\212O\240vWc\233R\245\020X\149\133\226\221a\235\245\206\141C6Z\222t\132\027\135\0295\b\165\133\189\244g\237\237\2178\224\181?\180l\145\208J\153\136\165t\019\219K>b\222\134\178-\n\136#\028O\028\147}\168\255\2057\218\212<\0243\163vp?oA*\244\255\240ih/\242};\014\215\162\196\202o\191\251\146\187\159\127\014\192&\152\245\221Bc\178*2H\152\182V\r\001\179L\148\153<\024m\136\182\030\140\187\004\2155\002\177\140\"5u$8x\190\154\228D\129:\ndd\141\149\232\023\195kv\029\133L\198\014G\202\158\194H\238\172K\197%\145d(2'y}\202\193b\\\018\226\222\202\162w\215\199{\135\186\022bWw\127\014\239\223\156\235\181^\220 *QZ\189{\248\227\158\152S\148Z=Sz\017\127\160\022\147\253q;\166|[&\159O8y\014t\026\147,~\255\200\2369\005qL\227{\2221G\201{\031~\215\206\142%\249\194\195%\141\150\175\131(G\170\132o\176R7[-6\139\190\152\018YyH\227\145\204\240q\029\237\174\173\177\203\n\173\186\229i\223\244<\244\136\162\152\176\132{v\251\144\243^\023\151Z\248\011K\226x\172=\181\240\179`\006sj\227$\141\211\139\203\006j\233\227\163\182\014QS\197k\139h\\dd\016\144\133\150X\0064\b(\247\225S\179\226V\146\145\015\186\205G\151\127s\138\235\1737&^I8\226\156\128\140\224\024\011|\170s\177<\221\170\223\171n\011\\\237\147^t\244\130\199g\222\166W\237\236\2387\002wl\250\176\015\161\026\166kw\212\129l\188\019\174h\\\199\243\141\173\155\189\186\r?\232\1568\160c\\\144T\204\209\228`{*\006)?\208\005:v[\199;\018\003\233~\173\189{\227\175W:\255-\137\151\0146\206\180\212\169\134\138\219\13982dZ\nA8\128g\018\211]\165\147\226\"\031\025\t\132\023G\196\r\151\189i\181\248l\n\154:E\235\1453\242\195\160\214\2008\004\237\2279\137\000B\023\207\233\205\025T{u\007\007\196\238c\177\011\245s\255{`\154\231i\141\138\243\183K\163vft\203\016\139G04\127]\139\238zw\171\201\214\242\155X\204\190\145\241\177\211\213\137t\177T\180k\135\216y\239#\153\218G\004\139\024iX\173\193\150\224\254_\140\214w\173\1663\\U\191\252!\189P\188\r\166S.P\031a1,\022\233w\136\237Q\139k\203Z\148\191/\155\022\196T\016\b\027\227\214v-9%\167z\r7>\2337!F\239\196\1908v9<\162/\017\018\245H\142\002 \233UQ\147\198\190\198\160\029\159\153\t\241\187o.\027\157\243#_4o\016\022\201\136\236\020\249\020\248[R\213\139(\164\152\238y\155\174\028\165q\130\219\205\140\175t\240\0283\175&\245\006j:\132>\173\207x\245\007\200\012\135\142\190\t\150\169tLo[6*\198X\154\"\235\014L\r\023\007\215SC\\\246\185tm\011\194x\177c\182\206h\025V\220\161\129L\207qz\186U\243\242*\000\161St\133.v\194\175N\208:\162\003\217*j\232\023\209?wd1\128\164\180\180u>\155\132\026\156\167~A\239\240i1S\179\244\216\133\162\236\229+\241(W\206R\190\210(N\164\012]\154@\209@\1859\164\167\226\184\165u\1843=\tu4\206\183\189\149\152\173`}\022\177d\016a\147\160o\142\200\204\127q>\226\235\140\003\160\246e\202\140]\r'\190g\225\237\001\212#\223\182\222\030\t\002\218\195\003\205\206q\127\198\174\149\002p\215\r\130\228\020e\221\138\235\005\210\219\199\138\131\204\251M\226c&\137s\158)\219\001r\130\000h1d\128\2244\136\1363)\142\172m\231\221\137t\208nsQ4$\235\\\193\221q\157\207\246=\251\142\189\007\219\142\239l\0019\225C\b\144\027\228\005m\177\219A\190\020\249\t\199y|\236P\252\210\b\169\247\028\168\003\228\020So\178\255\239\143\129\\1\128\231\227\254\162\"W\140C\226\180\127\011*f\145\131\139~)\139\1291\027\235\231-\n\139\003\252\143\n\251\208.c\029\133\147\158?'\177\171&\007\211\237\202\212\029|\024\179\232h\206\202\029\166.D\187\239>\168\199\206p\245H\156\225lLS=K=t\167k\236U\223\171w4\215\218\141\017J\252\233J\136\006\148\249\136\159\192\000\243{;\1903\235\153\\\1289\231\174\184\245\023\b\244W\140]f&\160\1981\176\154R`\204mP\2026\180\144\198d\223H\167\b4\204\132\004m'\178\194T\172\196\184\003;h;:\190\156\026\003\189g\207dxJ]\241\207H\238\210I\252d\203\204\212p\172\2273\242\135\007\157\155)_ms\190\135O&:%E\005Ej\156o\181\175\237\230\244\217\134%\230\128Pc\168\149\199x\012\198\241\242\191E\182k^\193\024\027\252T\205\146\148\254\024X\\O\219=S\132:,P\255`\182W\015.\156_9\232b\168\224$\174\202f\153\235Yd5ni\014\153\183,\1789X\147|@\174Y\207\229#6\n>OD\242\177\025\007)\145\254\166\228\249\199\215\244\217\190\130\230\221QP\208\029N\232\165\1759\186f\209\238\233\137UG\199.w\141WT:$a\210\211\179\017s\167\142-\187t\185\179N\158\204(#N<\240\204^\193?U\031\140\025\199~\144\n\127Z\240\206\245\238\203\\\247\142\233M\177.8\225Y_\132;\002\219:\189+\198\133\199\028\143]~\236P\179y\203|\139M\030\192\238\146\200\254\145\128\241\230\138\193\133\031\152\251\237\018\232\185\182\024\2473SA\003R!\221\192\255!\175u\1865\235\135\172\251j\168\247\158Ua\171<\155\191\020\220\1551\239\255\170\239]h\234\247\246\182N\183\222L\245+u\249\005*\189DE\201\253U6a\192\027\226\157\154,C\r\174\138\169(\192\228u\r\158\153\2201z\177\127`dfg\231|\201\176^/\153\179`\190lX\171\151\012/ \162\1828\138Ti\151H\243\246C\244\208\214\233\243q\215;\005\n\182\198\246\167S\161\228\231\147\178\231\138\253\237L\235f\191/_U\160\014\137\205|6b\193\161P3\170\214_\192\021\218k\169\138E>\171P\161\018\022\242\020\020\018\228\138\002\254C\016V\229\247\146\202[\237\247\003\0251\254k\016\240\247*^m\173P\223\212;T\127\191\245\1483\207\154/\201\179:O\181A>\156j\255bj\238\023S\189[\229\144\215\243\229\255\169\254[\232\154\n\177\165\218\167\029\138\167\249\210*\252\228\212\220\215\163\175{\206\t?j\029Z\147\1896\187\231^\1959\025\182\1625\242\151=\131[U\219U\221\191\236\134A\138b\138>\246\006\222\n\002\167}\158W\180\191J\161\206,\1895z\226\1463\155e\246{t\182aO\167\030\2058\203\135j\227\n!\198\000\198[]\237s\252uQ \193\208\218\196\006%\131N\188EV\249`Q\169\144Y@k\174!\023<5L\149\190UB\200\021\012g\188\020\151\171\180xt\246jW\021\025S\229\203\220\027\015V\235\208\249\\\t!\253\165\132H!\153q\170p\199v\128\025\173'\127rWD\167\147\225p\200\206\238\141\130\178\031_\234p\164\242\162esz\027\214\150\185s%\182\224O\141\177\200-\243\133\129\1462\142\143\131\222-}\221+\025\\e\148\145\025jJ\t\154\2135oE\159E\212\223\1701W\023\2283\149\239\1652}\1608\160w\201X\235\030\208/sai|\221\210\144\130\200\167\252\187\253\015;\234!!\255\191\031\127\nFJV\234q\212`p|\200\194\232\243\171$\022~\220\022\1880Pr\190AF\213\191]\152\031\252np\250\207t\147=\254/\149\246\231\189^\161\227\242\018[\222@\163J/\175\205\0197\022h\248\141%\">M\003\191\011m\241I\149j\029&9\r\210\168@\019\217r\179\201\"\179\243%\138\226\000\243\212*\163A\152#K\199\210\228\198 \138\2195\178\170\223\196\239\175Wk\171\187\023\247\1921\001\245/\242\130\b\195\2030\157\192\196\227?~\162\134\163\nr\196\172\012b`*\214\186}uhu\167\173\179\136\193\208\251\bB?\227\229\r\r\144\249\146&\165\177\024&?EB\217\181\243X\028^Z\200s\229\208eD\211<\231\160\167\"\155\168\226\149\193K\199\184f%\022\139,\165\249\212\026>\025\242`\2347\162\138\197\229\218\131T\137\003P\150\181\b7\236e0k\216\012>\167\182r\253\245\187\175\2368\154Vk6\012\133B4\030\030#!\023w\135~l\140!\166^J\153\015\135\207C\162:\224\b\213c8?f\221xn]\183\198\026U\218i\169}n\162\178RR:\016\240\014\020r\030\028>\031\233\220\182t\255\234C\136$\199@\198`u\149\243\190Ub\184\029\250\1691v\254\237?0\011~@>|4\140\148,\149\155\241S\144\130z\139\201\2376\190\217dM\208D\191\132q\229\214\249\193.\242\133t\"k\185O\248\168\150%\218;\135\153\217\170\020\217@sv\161;\161$R\017\233&\230j\181\022\253PH\155\187\253\r2[B*\238\ti]\207e\224\132\137\191\241v\017\184n\007\028,\131\224~D/\163ku(\202x\175\223\232\131\019\176\158\021\131\131}+\155\154{\151\015\247\247\175n\018:\133\254\146RA\161H$\240\151\150\224@!\249\187/\248\189\142^u\211e\217\221\206,|\1599\175\207\201\254\027I\147\229\18093\241\221\167YB\127i{m}\209S\144p@\224\015\182{\234\003OA\170\020\152it\b\146\253\015\208F\215\211\179\134\134\169\210wr0\177\134\\H\254\159\173\029cs\135\029\227n\222\0198\190\168\152d\198\170\"\028\155\194,\b\029\129\022\129\241\150W\162]$XD\188US\142\246\016w\129ai}\213kJm\1327\141\177\191\149\000\229\159\026\t\020\169c\173\229u\1414\143\239+-gz\217\181\215?\220\166\199\146\206\231\250\153\176\179\t\143\250\183\147\184\020\198\148\006K~k\140\157\205Vy\203\252cs{\235\214\150\184\028\231\131,/;{\158\244m\183\164\2465\180.\249\162\185\174\216\236\200(\184\\c\198\155\141!\163y[J\023\\\238\150\201\254.P_Ae@\221~g\154S!U6YK\218lB\154JE5\149\229\165V\183782\236J\149e\196\026\156\227\208\230\201\163\205p2\171\251I\208&\197\252\245E\153.%#\137\235y\139\150\209x\012\139\147\192\209\022\227\244\n\028\233+2nj\255G\198\015\016\1683k\203K3\224\030<#N\001\t\165\21464U,\127\030eJ#{K\n\205\2406k[{c\236\156\195\177\150I\024\233\004\157}\029\167e\\\159\160j\176\2172B~\127(\177\004(?\230!\208\rz\139a \164\173\031>\149\2085wzt\186\005R#h\207o_\224N\168\227\220\208\142\134\228\163\156\027U\142\004*\233l\218\174\183C\181'kO\246l\127q\022\244g\031\216\190\007t\188\248\132\149\252\131?\250\188N\200u2\233\165\n\165\168\1661O7`\243H\197y\018\139DmPi\132\018V\230\205[\182\2109\162EW\\\185\204\160Z\155\215X!\148\245\182L\175o\145\236\235\t\216M\191\019\213_\177U\182\225\240f\161\185$\163\143o\211,\173\198+\136#a!~\149T\179 %R)t\2397'\212\195f}\197U\143)\224\026\191\136\151\231m`\234\ruL\174\155\219>\"\232\205\213\240\005Bk)\129+(\198\231\153\248R\220\231\222'\167\0288Z;\147\217\150\251G\142U\130\248\216K-\230H\132b\177L\204\192\175>\215\177\180\127\177\233\208d\213bt\166ya\246\178\238\232\202|\141\023\1923lFP\174\021VWs\229\176\230\135Sa\173\156RE\158P\175S\243\165l\030\228Y\250\255q\t\255\003]\014\139O\171\181\022\234tV\159Vk\241\233\188\172\191Q\210`\153\020\249\031\027&\253\209M]\179\204\170\145\186 G\207\221\149\147\191\222\003Rd\138\1724}\238\165\212\212c\153\185y\235\004\n\159D\157G%7\169Tt<\0200v\172\tC\177qtd\011\228\140a\187\0005;%\237\007d\238p\014\007\141eC\030\015\127#a\186\229\171\236\188#\220\161/\181\144\186\163\142h\171\206\198\1482\201\023\216V\129\2107\"jb#\222d\164\031\003C\254\021\031{\023)\221\196\165 Y\018\014\179\191*\130`\158\237\184\194g*\152\185l\187Dj\180y\180:_\145]\244GY\200\219\212\251\029\002\246G:\141\153\1275k\229\0153\n\024os\018\250\244\199\249\179\247\237@P\156\028\131\193\202\162\240\141)\191?\128\229\024i\018Y\001\rs-\233[W\135).\246\030\020:\019\211\223\1915\n\014\207V\161m\t\216p\153=[\253\237]\bK\206\200eyD2\189U\147\239\237\247\207\137O\149\172ie\000\180\002\134K'\bx\209R\187\155\18264\231P\239\200" + let d_716cf074e5806616f6d61aeb32dbe70e = "@charset \"UTF-8\";\n/* Copyright (c) 2016 The odoc contributors. All rights reserved.\n Distributed under the ISC license, see terms at the end of the file.\n %%NAME%% %%VERSION%% */\n\n/* Fonts */\n/* noticia-text-regular - latin */\n@font-face {\n font-family: 'Noticia Text';\n font-style: normal;\n font-weight: 400;\n src: url('fonts/noticia-text-v15-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* noticia-text-italic - latin */\n@font-face {\n font-family: 'Noticia Text';\n font-style: italic;\n font-weight: 400;\n src: url('fonts/noticia-text-v15-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* noticia-text-700 - latin */\n@font-face {\n font-family: 'Noticia Text';\n font-style: normal;\n font-weight: 700;\n src: url('fonts/noticia-text-v15-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-mono-regular - latin */\n@font-face {\n font-family: 'Fira Mono';\n font-style: normal;\n font-weight: 400;\n src: url('fonts/fira-mono-v14-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-mono-500 - latin */\n@font-face {\n font-family: 'Fira Mono';\n font-style: normal;\n font-weight: 500;\n src: url('fonts/fira-mono-v14-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-regular - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: normal;\n font-weight: 400;\n src: url('fonts/fira-sans-v17-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-italic - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: italic;\n font-weight: 400;\n src: url('fonts/fira-sans-v17-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-500 - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: normal;\n font-weight: 500;\n src: url('fonts/fira-sans-v17-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-500italic - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: italic;\n font-weight: 500;\n src: url('fonts/fira-sans-v17-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-700 - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: normal;\n font-weight: 700;\n src: url('fonts/fira-sans-v17-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n/* fira-sans-700italic - latin */\n@font-face {\n font-family: 'Fira Sans';\n font-style: italic;\n font-weight: 700;\n src: url('fonts/fira-sans-v17-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */\n}\n\n\n:root,\n.light:root {\n --main-background: #FFFFFF;\n\n --color: #333333;\n --link-color: #2C94BD;\n --source-color: grey;\n --anchor-hover: #555;\n --anchor-color: #d5d5d5;\n --xref-shadow: #cc6666;\n --header-shadow: #ddd;\n --by-name-version-color: #aaa;\n --by-name-nav-link-color: #222;\n --target-background: rgba(187, 239, 253, 0.3);\n --target-shadow: rgba(187, 239, 253, 0.8);\n --pre-border-color: #eee;\n --code-background: #f6f8fa;\n\n --li-code-background: #f6f8fa;\n --li-code-color: #0d2b3e;\n --toc-color: #1F2D3D;\n --toc-before-color: #777;\n --toc-background: #f6f8fa;\n --toc-list-border: #ccc;\n\n --spec-summary-border-color: #5c9cf5;\n --spec-label-color: green;\n --spec-summary-background: var(--code-background);\n --spec-summary-hover-background: #ebeff2;\n --spec-details-after-background: rgba(0, 4, 15, 0.05);\n --spec-details-after-shadow: rgba(204, 204, 204, 0.53);\n}\n\n.dark:root {\n --main-background: #202020;\n --code-background: #222;\n --line-numbers-background: rgba(0, 0, 0, 0.125);\n --navbar-background: #202020;\n\n --color: #bebebe;\n --dirname-color: #666;\n --underline-color: #444;\n --visited-col" + let d_725c52bce5d22dff34816d0cea74cf51 = "positionData:g,children:[{type:\"elem\",elem:e},{type:\"kern\",size:h.kern},{type:\"elem\",elem:h.elem,marginLeft:V(i)},{type:\"kern\",size:n.fontMetrics().bigOpSpacing5}]},n)}var v=[m];if(s&&0!==i&&!c){var b=Ke.makeSpan([\"mspace\"],[],n);b.style.marginRight=V(i),v.unshift(b)}return Ke.makeSpan([\"mop\",\"op-limits\"],v,n)},un=[\"\\\\smallint\"],pn=function(e,t){var r,n,a,i=!1;\"supsub\"===e.type?(r=e.sup,n=e.sub,a=Ut(e.base,\"op\"),i=!0):a=Ut(e,\"op\");var o,s=t.style,h=!1;if(s.size===x.DISPLAY.size&&a.symbol&&!l.contains(un,a.name)&&(h=!0),a.symbol){var m=h?\"Size2-Regular\":\"Size1-Regular\",c=\"\";if(\"\\\\oiint\"!==a.name&&\"\\\\oiiint\"!==a.name||(c=a.name.substr(1),a.name=\"oiint\"===c?\"\\\\iint\":\"\\\\iiint\"),o=Ke.makeSymbol(a.name,m,\"math\",t,[\"mop\",\"op-symbol\",h?\"large-op\":\"small-op\"]),c.length>0){var u=o.italic,p=Ke.staticSvg(c+\"Size\"+(h?\"2\":\"1\"),t);o=Ke.makeVList({positionType:\"individualShift\",children:[{type:\"elem\",elem:o,shift:0},{type:\"elem\",elem:p,shift:h?.08:0}]},t),a.name=\"\\\\\"+c,o.classes.unshift(\"mop\"),o.italic=u}}else if(a.body){var d=ft(a.body,t,!0);1===d.length&&d[0]instanceof Z?(o=d[0]).classes[0]=\"mop\":o=Ke.makeSpan([\"mop\"],d,t)}else{for(var f=[],g=1;g0){for(" let d_7302b0e4baf62f448250e8f2ceec4e57 = "wOF2\000\001\000\000\000\000]\212\000\017\000\000\000\000\240\192\000\000]p\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026t\027\129\159N\028\146J\006`\000\133,\b\1300\t\154\022\017\b\n\129\229(\129\198w\011\133\n\000\0016\002$\003\138\016\004 \005\131P\007\142O\012\129U\027\218\221\023\208\211v \207\2216`\232\240\228z\251\254\160@9\182\139\2206\000%+kx\030X\192\141\161\027tGB.\251)z\242\255\255i\201\137\012%\212A\210Z\157N\253\247C\2046\205rL\167zIp\202a\192\169D\173\024\168\172\154\189WWLl|\127G\135co-n\156L\r;\255\240.\236\251U\225\152\204\166\018\155\166\018\213\164\158\151\134\214\027\005!1Q\209[\016\140u\030p\205\254\192P\225'\\\161ox\160\166\237\247\1987\150!\161\134i\138\221P\163?\248K\222E\190\219\129;\190s@\177\162\162xG\135\241a\163\197-\138O\171[\006\203\197\255\249\192\021\r\243\007j=\151\202\138R[=gb@H\017\1453\b\018\213rs\188\232*\160\028\155S#Y9y\242%\168\214\194\158\185\015\001*@\148\169( \007\128\150\216\1368T\209,\017$\216\220\254\234+\218x\137X\195\184(N\255\249O=\237\171\212\011\251\170\003\252>]\1753\002\195\140d\b\148\000P4Nj\155gw\005\031X~Q\128?\168\145\146Nz\238\194x\254\001f\233\206\192p\170\154\191\142\153\214,\251/\131\182L\233\220\210\026S;\191\n\207\175\002\206\149\241E\005\132\2062\t\134gEL\129\239/\195\1991\2060,\247Iu\164J\145jC\164h\211\180\229\244?\000\187\193\235\231>\247M\221>}H\028\176\149\157JV\226\128\224\019%\249\012\0230\162-\128\127p21@\151\247\175\015oW\223\159\139\186.\161\171\026\026\168\167g\252\200\254\152]\247\231Z\209w\bF!\025\017\249\250g\138\192\254_\157\213\151B\182\227\216\002\019\138\156\196\225\225E-UG\220\213W63\139uu\239\160\194ij\174\200Z\223\219)\173\000\028\000EA\014\245z(\169\166M\026\223\024\150T\186/d\161\174\164\162LX\205(\0276\004\232\193!\217\190{\004mP:*\234\020\181\186j\228\176i\182\220}\000\b8`y\031\127\149\214\148N\247\004\249,2`\169\029\192\132\144\213{Wz\163\255\164\209\1503'\025\143\199\173OZ\219\248d$\141v\180r/(\233(0\208\r\165t\228\004@\163\028\030@:\128\tC\t4\r33\225\129z\255$m2\153x\243\243\tJ\182\b\143\154\172\156R\147\003)\240\169\156\201\178\212#\192\132\141\157\162*Z\153\005A\242\235u\253j*\169\234(\207L\005\001+32\203\178\n+\127\031\159\2139\246D\250\255\221\177\131\247\217\156\15395UQQ\017\017\017Q5\183\191wa\005\206\021\168\007\002\004Yoo\255[\150\17919\243yM(%-\001\130L\190gjN\221\128\221v\004.{\004\143\231\172\200)\188\145\000\166\000\180\134B\128=\012H\024\224\030\211\173\137\026\208\002\148w\131\181\149\192G\002\148?\012\142\202F\154\139\161`\204E\200\232?\0064\2080w<\174\174\132|\164\167hU`\168\141\168XI\242-@\"!oC\012\254\189\131@\153\249p\213\218\189\245\158\178\014\022J\002\004\026\020\137<\128\194\017&\190sN\232\178W\187VV\027\173\182T\1399\026L2N5\139\193J\2293J\151(\154^ \228r\159\129\172\031\003@v\2449\200\166\161\005\185>\184 W\135\\\215\028\131\204\213\2500\135\214a\165\217]\025[\252&q\176\213~\160t\247\137r\246V:F\155\\\176V\027q\1806\187\222f9[\158;Z\158\249\026\248 <-\192N~\004s\155\236Q\137R\229*T\246\189\240\001\244\213O\173\001\006\026\164\206`C\213\027f\164QF\195\004\205\150\t\011\152\197\020\1981\150\222t\165=-\165\241\144\154\214 \204n{\160\196t/\022N^\167\253<$\1428\024\024\144\021\019\007T\014\237\190\003T\166\151\031\b)<\244\212\223\0160\208\244.\208\244:\b\214\216\003\137c\164i\235\236\002kJ\172\159\176hK\171\176\145\213,\165\1339/k\152\147\230\184\2177\171\167e\014\158\165\219\184\252i\156\2333qFO\253F >(GK\167h:O\222d\146)d\192\134\241\003t\243\129W\163\158\140{\227\198\1844\206\140c\253\004\209\131c\247\2169\254\027[\151\174\031+\199\2265M\156F\166Q\207\152QUc\248(\155\162Q\234\157^\219\184\192)\142\176\159\206\145\219\251O7wm\151oH\228\197r!b\187~^\213\137\153\157\210:\162\150J\134\190|P\011\155\211\204&7\182\225\213\213oC\141\012b\r_>a_\022NC\020\195\239\228Wz\243i\252\155<\203\131\220\202\149\156\203\t}\188k\182\206\023\216\146\189(\219A\235.knI7n\204\234,MK\230`~\r\153\148q\213\165:\150\012Ni\242cL\250F\"\209\232_\030\024\159(#\141(\206\225\133\137Q6\129\177\232\135\221~\000yRnvwA\248\007\231\162\157\248\157\220l\025\249\159u\175\0234bd3\170\0124\245\015\148F\023D\147`\229h\189\200bDK,\239L\243f\147ov\243q\147w\186\213^\185\190\252Be\158\027n\243V\177K4\183\129\145\230Y>=\174\201\154\172+YrEk,\150'\207#\001\250\167\246\207\157TO\190\173\177\223\195:@nxe\030>\2104\132X'\225\149\021tE\243\202\200\023\237\187\243+\190\"\172\215\156{\248d\2161\223\241k\132\168\238\173F\030Qs\r\207\149k.\224\145\198\235U\021\187\186\240\244\245h\129\254S\219\016c\228a\226\003\142\142\213R\\F\190hcX0\134\151\182!\003\140[\173#\006riqiS\182\t\191$\245$\183\249\152\216-\216YWHD\143\142\177\007R\139\229\177\228 w\194\137)l\211\228\228\252\189\130Z\151\230\242;)\148/\191|K\185$\171Y\244\220\028L\147\1838\150\132]\228\155\254\182\007Zg\244\149\197\249\154%W,Z\243\206\186\226\213Lv\021\200\004y;\241u\139\018\006K\020\149\128\136\128 \029\232S\213\188g\248\194+\017\229\166D\015a\253Q\214&\182\\\205\195=Y?R2\2107\164\031\160\255\174\n\216i\146\202\231\246\135\220\016~U\226?\227\212d\b|\246X\014;\238\186<\011\175\011D\238\216\241\255UpO\188\244\007&\144F\2004H=d\012\164\n2\028\216\bl\128\228B\012\144TH<$\018\018\002\149\134\180\129\138\149\161\169R\1392\007\129e\242`\193\197=@\1363%G\217\025\214\135H\252!\206\242aR\166\211\181n3\225).\029\217\233\244+oA\214\202\003_\014\028\219\127\205D\004\016\012h\014\147\139\004\1882\015\029I\217i\233\173\193\217n\229AyY\254\150\224O\251[\141\255+\017t\190\000C\211\192np\214\1414^>\1529\230\195-\183\r\213\014m\196\206\186\192\221G\221d06:77\178{\243\152=\246\194\029t\227\142n\030s\2175\200m7\238\193fq=z!}\232y\218\165?\138\177\237\206Sx2D\002\185I\230\186q\243\199\199,\183\001\213F\219\208\226@\170|N\133\207\187\208t\127\244y\196\023\221h\211Ul\184e\254s9\191c\249\161B\249\173\164J\250\141D\165\147S\019\242]\162i=\138t\210\176&\192\016\2522\204\015\134j\233\193Q\144\200`\177r4-\237]\173(Q\246Y\200\236\157 \132\192$\177+\025\157y\134\227\241)\153H\215\162ro\225}\189\0014\218\201\148\182\195*\212\202\027dS\166B\199\170ba\174\162(\193d)\2023\251X\173\143/T\178:\017OSK\148\154\022\183\138\241m\232\228\217\147\225X\153\168\154\238\127>\156*\221\164\022\254\191A\166#Se \180\235\208i\151\221~M\197}\129\217\231\192\028\210\245\127\233\152\019N:\237\178+\174\186\230\186\027n\186\229\182\007z\244\234\243;\236\192\164\195\209\14500\1441\217Rp\228HAH\136OJM\193\1557\005_\190\\\249\241C\225/\136\146\142\014U\176`*!B\b\132\210\163\t\019\134.\\\028\161\004\025|d\202d+K\022/\249\n\016LL|\153\141\224\163R%\031U\170\240T\171f\175\198X\254\198\025\199\209x\2279\169S\199\217\004\0199\154d\018\023\147M1\012\155\214\012\030\142\153#3k\0284\014\219\236a\1533~\230\142\157\249\185\153\007\001[\128v\140Z\1990t\014fw8\174\131\028\220\144C\024\174\174\179\018\135\029\225\235\232\224\142\141\212\137\241t&\027\019R\128\221\2170\215i\188\221\024\177\155\227\237\214\136\221>\139\220q\159\175\007\211\148\196\0273\245\2144\222\030\231\207\173\218\152\014\186\022\181Jh\\&\r\b\012\019\1342t\147\148\177\149\180\140\205d\006K^\016\220\194\221\r{,\153\005\192\176]\254r\002\128'\000\132(\128A*\210QI\189\131\214\246\130\130\133\202\224\003\189\202m]\159\195\215<\151\0013}\t\212\b\018\129_#/\190\253\156\178\208\012rI\228\r7}\234o\251\147?' !I\204\204m\153S\000\250\248\004y|\138\162\011Mug\243\252\137\019=\250P%\192;\160]\136\225\255\161LN\015\193\211\2509\164eY\186\230\161\250\154e\025Kd\n\241v.\189Q\188%\171\216\222\234\207cu@\163\188r\196\170\233\024\250\189 \201\195\170\164\t\139.\209:\150\014\189Zh\221}J\135\211o\128|\231\029\201\246\148\007->\002 Z\134t\026\147Bn\206vtg\003\024]S02>\132\019;=\016\175\211'\016\131\181K\223m\b\000\170G\232\136\208\237\017I\130\026\202\182,\226=e(A\251\213\007\184\018\245\212\251\186\167}k\193\031j\177(#\197\005,l\030i\234\019ECA|\164\182t\130/\144\203\017\185\028\197\180q\154G\b\165*f+\220\205gK\247\184Of^\166\028\231#\031\244\128R?6\233!\170T\145\173\242\012\166\244\220T\158\159\210\011\019{\169ZQ\180(\rGI2\154\145\021\249\164D'\197Y\181Q\011>)\185zm\252\237\027\222\246\209&\210\163\234\243>\225\011\226[\199\199\012\127\255I\132\225\251x\005D\015\166\236\r\234\251\127\148di\133y\025\203\233\139\134\255g\151M\027\249\218\151\018\159K\203.\192o\221Jw\194\007\127\193\150\172\175\237nAP^\183\189\225\217\174d\182\183\183\168\146\1351\203w\218\199\253\230\194\159\243\228\172\144\159\128S\tJ\176H\135\212\139\161t~1\206-\215 \156A\0070\223\185(N8PiJ\235\180\221\239i\007w\207>\229\238\006\127rA~\203\128\173W\207\132:;\208\189\209K3\027(\157>#b\238\152\003\0227\2330\001\217t\007\235$\252#\023\161\015\2464\207\\]!\207\0171\153w\179\167u\t\144 \241\225\172fDf\186_\248M\223\245=\2237\219\1786~c\178\143\016na\t\181-\156\196\b\170:_ii$\127R\149J\142\233\224<\153PD\208d-\249TS\212\022{?\215\021Q5\163\166\213\180Z\195js|\001\167$\021\012C\203\191\174Q\177\229\222\136o\210x\190;\194\247F\250~&q\2496[\176\133~B\195\252l\184\223d\019ES\209u\186\019T\174\139\243\197\205\209G\206\163T\203\175?]t_3\132\2082_\222\026\139\024\031\136\132M0\240\017\175\176\216\231\150s\204\188\250\162l\214\209Gi\180o'n\178d\177\238\217\186P\243\188\163\251P\178\151\229\242\144\168]e\178\168Ygv\029\199?\252\203\191\253'L;1\236\003\015-\007F\185_*\149\138(c0\\\200#H\209\171\138\007+\003\138\168\127\026\185\208b\186\179\156\148\149Q\143\175E\165V,2uJnW\174!,\253\131W\205\253\203\127\240\128\128\231#\176w\168\150\241++\153\245\234&\137S\154\240,>Pid\253\145J\"\227\021\157\240\157\250t\240Q\175\207zO\252\152\177\185m[U\160\222k13s&\212T}v\133\169%\016\182G\191\144\219SOa\168\238]\254C\187<7\003\254\172\137l\178Y\219u\221\217\2288\187|wZ{\246fm\155\213\012\243 \141\180\156\185\225\209qyB\00025w\136V\211\142\014\012|\153\227\231\147\163\133\189M\030\162\183\134c\000t'\244\229o\200\195\205\196.?$\252\155[\195\127\157C\252_\211\245\220\223\158\142\172}y\185\237\255k\005\217\200\163<\140\178\179H\182\021\006\241\2319)E}h\164&\030\237\172\235tv\224d\222\232\192x\003\141\239\246\214\188b\228iD\029\019w\185\145\211_\202\031\022\201\190\152\238\1367n*w\031\245T\144Zz6\172\254\022\182\150IU\169\250K\1523}\227`;Nq\146\186S\023V\253\217\244\237\234\196\197\011\1787\249\141\219\237\203\156\146\158\014\178\022\246\000\002H\253\127\133\183\174\228\146\170RQ$\031\019N\021\006\154&\140\1634\140\162\189\020\209\019_3\200\141i_\017!\219\252_\134D\131,\229R\006\"(\200" @@ -196,6 +196,8 @@ module Internal = struct let d_7762c4a1493905d90f86ab1e0bd3ffb6 = "O>\223\240y\195g\241\148lD\166\248X\246\152N\230\215L\255\024n\127'\219 \167\226\029\236b\231\214\163_V\176\231\003\197\019{.\167-h\254A\027\198Tv\129,\246U,:\209\244\229q\221\152\026Q\150^]h.<\1455\250\143\252c\024{\251\237\199}\130\228\171\138R\027?j\245\221W\151\139l\140yg\246\179\222xwEk;3\194\183\149*\182\164\166\220\177\b\175\006\147\196M\163--\195\206\219\155k\003B[\0188\204\249\022\tG;\157`\175\179\237+Fg\137~R\012\183\180\140\138\155\147\130xu\209K\137\220VE\169\141fF[\219\171\171}\177\163\129\174`\252\254\011L\136\182\149*\186\159\221*\127h_\218\240,V\254\227\014\237\134#\012\201\151\180\240i\222\006\173\199\135\162\185x\141\202ey\167H\198\241\151\167\172HU\\\214\196\007y\162S\185J\189\218w@\029\201lq\181\139\194\140\139y\240\016\223\255\235\024\170\191\151\005n\177\n\197\003Q\179i\233\254\138\n\0111gHd6\153\031/Y\135\243\157~\184\194%\217o\196\175\222Ue-\030\157\182$1\174s\175\173\176\184\1320\012HX_6QR\\h\219\219\025\151\184\196?Rl\005\211\245\157K\174\157\195\001\197\t\133\161\145M\185\170\184\247^\221\253\166\138\171\201\146&\131\226\021\016<\188>\164\174r\246\187s$\165\191\t$\228\151\000\000K\007G\031\222\223\197\127\207\253\127\138\023G6\003\128\000\bc\230l\134\208\025o\011\181\154\028R\138[\nu9\254\006\011k\141u\244w\132\207\194\001\189\162&t@ap\018\158E\020\212)\195\n\232b\n\026\018\134\201D+\t\016\224\191\243\2339)D$\014C\159\178>\0203w\004\n\031\1419(\138\190\132\222\160\014vfm'\190mK\238\2026(\\\158\180/\139*<+-\229~(<\140E\240J\172.n\131\162\162\137N\165\180\194&\207\003\175\156\188c\235\018\128\021\129\176\149\129\016\018\144bDN\149eQ\004\165SQ\002X\1847JB\185'\163\020d\004\162(\015\028\129\2298\173\142\138\137y\024~/\011y\209\187\224\212\171\207\168\144.\243-\016\198\209\242\203B\1790\169\149b\217\018\152\167\205\028\151\185\006L\208C1m\215\"s\225\135\133\001\167\138]\207H\232!`\150'E\168\137\210\139.v\243\nL\179n\163j\152\180\164\182\155c\154.\139\205\172\025\180\216\160`h\022R\174\247\015\012\239#ds\174/\026#\191J\t\014\235\148l~\024`L\167\012Q\225\236\213 \140\005S\b\194\202\230\241&\016\142`A\176\217\147<\135\192\183\179\136Q\174,\234/\203\192\139x+\165\134\183\148Z7o\177\005\022\"Fx\153\162\127b\149U\165\221<7\023\129Ox7;#\128a\210\004\187\226#G0\007h\197\016l\004p\021M\230\212\243\234\222W\021\139\189\166\019[\232>9\128\128iD\230ax\151P\147\003\"\136\244\211'\003\018\144A\006\226 \023\025\231\162X\149Z\1566\2323\217\233\225d-\146\024\246\209\021\rc\132{\251\159q\188\134\132]}\229\242\t\030\231\168\161\215\243\138]\147l\017VBX'-\232\027\144\163V\006\248\235\167\028\225Bc\020\237 \217\183?G\131r\181\166}\002\132\188\147\029`\2092}0\246\215C\020\136@\206\170\140\205l\158\128\128\183\225\029$\145B\030\210\200G\0012p\b\133p\016\206b\020\138\224\b\138\145E\tJQ\134r\140\198\024T\160\018c1\014\2271\001\0191\t\1471\005S\249\131=]&\147\221\180\255p\174\201\194\132\187\130\129\185\255\193gQQ\252\208\234v\1907\020\234\029\030\236cX\241\215\250\203\188\227\011\190\182D\183Eu\201p\213b6\237W\237-\185z\190\238\212]\210\221\222i\210\205\186E\203\237\158k*\210\139u\187t\180u\153\186\023\186\139\180\226\238v\147I7\235\022=oG\005P\243\014O7\183\143#n\235\136\224\219\197\171_\198\129\239\024\007\208\177\129\133\175\190\015\000\1628\1956H\000\215C\026nlj\143\2166\182\203) \180s\239\021\192:\005\174c\226x&\143\221/X\tH\197g\249[4\148\176\230q`u\247\226\228#\212\214q\194J?\241\0024\184V\000\000" + let d_786810470f5a121e38f4adbaab2842b8 = "elative;\n}\n\n.odoc-include.shadowed-include {\n display: none;\n}\n\n.odoc-include details:after {\n z-index: -100;\n display: block;\n content: \" \";\n position: absolute;\n border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec-details-after-background, rgba(0, 4, 15, 0.05));\n box-shadow: 0 0px 0 1px var(--spec-details-after-shadow, rgba(204, 204, 204, 0.53));\n}\n\n.odoc-include summary {\n position: relative;\n margin-bottom: 1em;\n cursor: pointer;\n outline: none;\n}\n\n.odoc-include summary:hover {\n background-color: var(--spec-summary-hover-background);\n}\n\n/* FIXME: Does not work in Firefox. */\n.odoc-include summary::-webkit-details-marker {\n color: #888;\n transform: scaleX(-1);\n position: absolute;\n top: calc(50% - 5px);\n height: 11px;\n right: -29px;\n}\n\n/* Records and variants FIXME */\n\ndiv.def table {\n text-indent: 0em;\n padding: 0;\n margin-left: -2ex;\n}\n\ntd.def {\n padding-left: 2ex;\n}\n\ntd.def-doc *:first-child {\n margin-top: 0em;\n}\n\n/* Lists of @tags */\n\n.at-tags { list-style-type: none; margin-left: -3ex; }\n.at-tags li { padding-left: 3ex; text-indent: -3ex; }\n.at-tags .at-tag { text-transform: capitalize }\n\n/* Alert emoji */\n\n.alert::before, .deprecated::before {\n content: '\226\154\160\239\184\143 ';\n}\n\n/* Lists of modules */\n\n.modules { list-style-type: none; margin-left: -3ex; }\n.modules li { padding-left: 3ex; text-indent: -3ex; margin-top: 5px }\n.modules .synopsis { padding-left: 1ch; }\n\n/* Odig package index */\n\n.packages { list-style-type: none; margin-left: -3ex; }\n.packages li { padding-left: 3ex; text-indent: -3ex }\n.packages li a.anchor { padding-right: 0.5ch; padding-left: 3ch; }\n.packages .version { font-size: 10px; color: var(--by-name-version-color); }\n.packages .synopsis { padding-left: 1ch }\n\n.by-name nav a {\n text-transform: uppercase;\n font-size: 18px;\n margin-right: 1ex;\n color: var(--by-name-nav-link-color,);\n display: inline-block;\n}\n\n.by-tag nav a {\n margin-right: 1ex;\n color: var(--by-name-nav-link-color);\n display: inline-block;\n}\n\n.by-tag ol { list-style-type: none; }\n.by-tag ol.tags li { margin-left: 1ch; display: inline-block }\n.by-tag td:first-child { text-transform: uppercase; }\n\n/* Odig package page */\n\n.package nav {\n display: inline;\n font-size: 14px;\n font-weight: normal;\n}\n\n.package .version {\n font-size: 14px;\n}\n\n.package.info {\n margin: 0;\n}\n\n.package.info td:first-child {\n font-style: italic;\n padding-right: 2ex;\n}\n\n.package.info ul {\n list-style-type: none;\n display: inline;\n margin: 0;\n}\n\n.package.info li {\n display: inline-block;\n margin: 0;\n margin-right: 1ex;\n}\n\n#info-authors li, #info-maintainers li {\n display: block;\n}\n\n/* Sidebar and TOC */\n\n.odoc-toc:before {\n display: block;\n content: \"Contents\";\n text-transform: uppercase;\n font-size: 1em;\n margin: 1.414em 0 0.5em;\n font-weight: 500;\n color: var(--toc-before-color);\n line-height: 1.2;\n}\n\n.odoc-toc {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n max-width: 30ex;\n min-width: 26ex;\n width: 20%;\n background: var(--toc-background);\n overflow: auto;\n color: var(--toc-color);\n padding-left: 2ex;\n padding-right: 2ex;\n}\n\n.odoc-toc ul li a {\n font-family: \"Fira Sans\", sans-serif;\n font-size: 0.95em;\n color: var(--color);\n font-weight: 400;\n line-height: 1.6em;\n display: block;\n}\n\n.odoc-toc ul li a:hover {\n box-shadow: none;\n text-decoration: underline;\n}\n\n/* First level titles */\n\n.odoc-toc>ul>li>a {\n font-weight: 500;\n}\n\n.odoc-toc li ul {\n margin: 0px;\n}\n\n.odoc-toc ul {\n list-style-type: none;\n}\n\n.odoc-toc ul li {\n margin: 0;\n}\n.odoc-toc>ul>li {\n margin-bottom: 0.3em;\n}\n\n.odoc-toc ul li li {\n border-left: 1px solid var(--toc-list-border);\n margin-left: 5px;\n padding-left: 12px;\n}\n\n/* Tables */\n\n.odoc-table {\n margin: 1em;\n}\n\n.odoc-table td, .odoc-table th {\n padding-left: 0.5em;\n padding-right: 0.5em;\n border: 1px solid black;\n}\n\n.odoc-table th {\n font-weight: bold;\n}\n\n/* Mobile adjustements. */\n\n@media only screen and (max-width: 110ex) {\n body {\n margin: 2em;\n }\n .odoc-toc {\n position: static;\n " + let d_79c029f6f746a52f4a8bc8b6280c5c88 = "ment,t)])}}),ot({type:\"textord\",names:[\"\\\\@char\"],props:{numArgs:1,allowedInText:!0},handler:function(e,t){for(var r=e.parser,a=Ut(t[0],\"ordgroup\").body,i=\"\",o=0;o=1114111)throw new n(\"\\\\@char with invalid code point \"+i);return l<=65535?s=String.fromCharCode(l):(l-=65536,s=String.fromCharCode(55296+(l>>10),56320+(1023&l))),{type:\"textord\",mode:r.mode,text:s}}});var Qt=function(e,t){var r=ft(e.body,t.withColor(e.color),!1);return Ke.makeFragment(r)},er=function(e,t){var r=Nt(e.body,t.withColor(e.color)),n=new Tt.MathNode(\"mstyle\",r);return n.setAttribute(\"mathcolor\",e.color),n};ot({type:\"color\",names:[\"\\\\textcolor\"],props:{numArgs:2,allowedInText:!0,argTypes:[\"color\",\"original\"]},handler:function(e,t){var r=e.parser,n=Ut(t[0],\"color-token\").color,a=t[1];return{type:\"color\",mode:r.mode,color:n,body:ht(a)}},htmlBuilder:Qt,mathmlBuilder:er}),ot({type:\"color\",names:[\"\\\\color\"],props:{numArgs:1,allowedInText:!0,argTypes:[\"color\"]},handler:function(e,t){var r=e.parser,n=e.breakOnTokenText,a=Ut(t[0],\"color-token\").color;r.gullet.macros.set(\"\\\\current@color\",a);var i=r.parseExpression(!0,n);return{type:\"color\",mode:r.mode,color:a,body:i}},htmlBuilder:Qt,mathmlBuilder:er}),ot({type:\"cr\",names:[\"\\\\\\\\\"],props:{numArgs:0,numOptionalArgs:1,argTypes:[\"size\"],allowedInText:!0},handler:function(e,t,r){var n=e.parser,a=r[0],i=!n.settings.displayMode||!n.settings.useStrictBehavior(\"newLineInDisplayMode\",\"In LaTeX, \\\\\\\\ or \\\\newline does nothing in display mode\");return{type:\"cr\",mode:n.mode,newLine:i,size:a&&Ut(a,\"size\").value}},htmlBuilder:function(e,t){var r=Ke.makeSpan([\"mspace\"],[],t);return e.newLine&&(r.classes.push(\"newline\"),e.size&&(r.style.marginTop=V(F(e.size,t)))),r},mathmlBuilder:function(e,t){var r=new Tt.MathNode(\"mspace\");return e.newLine&&(r.setAttribute(\"linebreak\",\"newline\"),e.size&&r.setAttribute(\"height\",V(F(e.size,t)))),r}});var tr={\"\\\\global\":\"\\\\global\",\"\\\\long\":\"\\\\\\\\globallong\",\"\\\\\\\\globallong\":\"\\\\\\\\globallong\",\"\\\\def\":\"\\\\gdef\",\"\\\\gdef\":\"\\\\gdef\",\"\\\\edef\":\"\\\\xdef\",\"\\\\xdef\":\"\\\\xdef\",\"\\\\let\":\"\\\\\\\\globallet\",\"\\\\futurelet\":\"\\\\\\\\globalfuture\"},rr=function(e){var t=e.text;if(/^(?:[\\\\{}$&#^_]|EOF)$/.test(t))throw new n(\"Expected a control sequence\",e);return t},nr=function(e,t,r,n){var a=e.gullet.macros.get(r.text);null==a&&(r.noexpand=!0,a={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,a,n)};ot({type:\"internal\",names:[\"\\\\global\",\"\\\\long\",\"\\\\\\\\globallong\"],props:{numArgs:0,allowedInText:!0},handler:function(e){var t=e.parser,r=e.funcName;t.consumeSpaces();var a=t.fetch();if(tr[a.text])return\"\\\\global\"!==r&&\"\\\\\\\\globallong\"!==r||(a.text=tr[a.text]),Ut(t.parseFunction(),\"internal\");throw new n(\"Invalid token after macro prefix\",a)}}),ot({type:\"internal\",names:[\"\\\\def\",\"\\\\gdef\",\"\\\\edef\",\"\\\\xdef\"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,a=t.gullet.popToken(),i=a.text;if(/^(?:[\\\\{}$&#^_]|EOF)$/.test(i))throw new n(\"Expected a control sequence\",a);for(var o,s=0,l=[[]];\"{\"!==t.gullet.future().text;)if(\"#\"===(a=t.gullet.popToken()).text){if(\"{\"===t.gullet.future().text){o=t.gullet.future(),l[s].push(\"{\");break}if(a=t.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new n('Invalid argument number \"'+a.text+'\"');if(parseInt(a.text)!==s+1)throw new n('Argument number \"'+a.text+'\" out of order');s++,l.push([])}else{if(\"EOF\"===a.text)throw new n(\"Expected a macro definition\");l[s].push(a.text)}var h=t.gullet.consumeArg().tokens;return o&&h.unshift(o),\"\\\\edef\"!==r&&\"\\\\xdef\"!==r||(h=t.gullet.expandTokens(h)).reverse(),t.gullet.macros.set(i,{tokens:h,numArgs:s,delimiters:l},r===tr[r]),{type:\"internal\",mode:t.mode}}}),ot({type:\"internal\",names:[\"\\\\let\",\"\\\\\\\\globallet\"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler:function(e){var t=e.parser,r=e.funcName,n=rr(t.gullet.popToken());t.gullet.consumeSpaces();var a=function(e){var t=e.gullet.popToken();return\"=\"===t.text&&\" \"===(t=e.gullet.popToken()).text&" let d_7c6039a5e3afeddb9778822422cc7ab3 = "\228\017\146*Y\224\131DEW0\202\138\027\177K\204 \155\028l]\169{,n3\205\168\1664\1612\012lQ\201`i\130e\011\023\np\253\180\1985\154\216\015\131\135\b\024\141.\155Q\251\184\251\145\\\021#\168\204\244\198\141\253\139-\021_\021\180O\197\141\182\157\226\244\024l\018\236E\203IaV\030_\026\019Aw\196Qf5\223H\209\145\178<\\i\007\179\171=\193\186&\195Iyd\018\211n\tq\017\130?\131\tQ\219)\158\134p\023\164\170f\194[ke\135}\167/\166\t6\195x@U\186\192n\255\020t\005\180\240\226\164\235\192(\252\143\142#y \216\221\221\163\176\206q\007\185\190u(t\143\197\135\221\023 -)#\022gD\209\213\004\025/k\205fqW\171u\218\012\212\191\023\233\018\230\031o\006R]\181WU\136\n\187\202\230\208\165\" \136\209\218$\244Ay\136x\194e\156\218]\229\029!\0140f\164\157:s\017\184J\197i\181\027}T\194(\\6\n\005\140\024\018@i\176\025?\212\015\207\252\007\221qw\182\185\227@\241\221\153\214\019?\200\179\193<\162ki0\024\219\r\182\165E\"\216\028\173\171\021\229PWn\199\182\019\204\153\178\226\200\198\182\1759\164\027\188x\150\134v\143\251\169\250\130W\223\218\221$\169]0\128]}(\n\165\149~\213\165\203\1659g\199v\207%I\029(&\015](\178\191\151\014&\002\254\006(b\205\134\143k[l^\198\138C[\164\007\151\r)\171\207%\135{J\212\204V\0215X\203\137w\030V[\025\235\241!\236E\019\169Z\002\202G\225\244\155e\n-5\206\158\222\209\133\224S;f\171Yy\162\128A\229\238\141R\237\15881:Db\182\145C4\246\029\185\192\017\015\178U)\145kL.\1834\190\200\166\213T'\182\189\192\197+\021\014Xq\200\246\026y^T\252\212@|L\150\217~n\221\155\173\180\012\208\172\190\127\249\136\005\155\030\218\147\152\162\030\202\201|\027\1348i\210\225\020\197\t\197,>\224-%)\237\198\255\166\254\221*\239&\227\177\198\150^\199\168\209\014\162\127\156\003>\231]3:\220s?4\157\157x\233\189}\190\206\175\127\216:}|\021#/\143\219\185\248\234\167\b6\174\240\003W\254|\135\150u\222l\245\021\181\"\245\214{1\235\186\\\212\210\159\1510\003D\n\208\0075G\143N\215$V\165\220\022\169\158\2389i\154\000\155c\235\226\212\146Z\210\167kg5\007\144\149{\150Yq\143<|\177\180\134\230\144s\172C\155\166\019y\193\153\168/\030\211\17115,\173\159\1483\012pk\181K2\184w\236\217\1742W\249\223\183\193Dd\240\028vo\011\021\251\139n \133y<\170\163\t?\140\1347\198k\147\171\141\154\132\145\1777\185\146\027\210\161\210\027}\186\149H\t\134ic.Fq\214\158z\141\2131U\022\198\237\141\146\133\238\251$\011&U\146\150M\134\012\185\007\027A\181\180,\217\182iwq\195\184\217\2483\246\027\128\231\242\156\191\011,\192\186O\138\197\182(\135\221\181&g\207\171r\166\240GT\165A\024T\204\253a\158w\182\176\206cj\224\169\234~\000,e\179r\145\213\147q\210\001\239\239C\148\1874\221\175\210\158\178\019c\207E\206\239\205;\011f\145\200\003\143fv\185=\190\212[\241\147\015\159x\235\179\249/\218a\019\239\165\230W\t.\181\131\027v\231\245\237\187\210\019D\015\182\031\233/<\213\195\174\026\204\166r\185N8\209s\158\127,S\218\027x\238.v\231\218\141oM\142\235\193\221\130\187\215\219\221^\185.\030\203\219MO\023%\238>\249#\244b\163iI=\162\145\014\199{,f@\195\011\0312t\2174\172\168\220\186SW\152\207\216\239y\253O:?\224h\219\029\199lB\027\012%\152\141\235@S\194b\t\175~\029\140x\217!\027\214\159W\239\004q['\184\155\223\195F\019\139\193\130\212\005\141H\169\223\217#4\189:\212=L\220\023\007\165\222\004V\163\236\210=\214d[g9r*\128Z-ZY~Q\223\025'8\212=\128e\003k\202>\0281\192+\161\179\151\179\217A\140\156\148\022\004:\223Ix\003\190\205\007\r{\138\233\208\215\228U\135X\004\004B\020\021\1814\219\198%\012`\225\165\012g\162\199\1605\167\215\0262\231\172\144!3\194\179\174.h\141\252Nf&Ks\132@U\219\159\141\003\212\179\191 \136ipj\012\155\194L\225\137,N\137\223_\181\252S\149VE\214F+X\157>\143s\228m\149\221\253?H\005\0259\220\211\r\186\162\206\201\157*\157\164\012\172\137m\028\029\134\146%\132\222=\200\005\002\027\019\031_p\132\015\175\246C\243\245\243\007\157\163o=g[\188\151\251\242\223\195\215tw\186j]\191\190\164\162_\248\158\000\250\138\238\b\217\251p\203\166\152\231\170\"\004\000\174\bx:n\237\248\026\202\179\242\189b\247R\247\254\248\001\\X\002\212@|\011H*\129\165\187\140\181\229EW\213R\137*\213\216\023K,bW\184-s\015\203\157Y\165,\153\019\tP\bpI\135\2382\134=~\196\249\132q-\174\025\151\t\244\179\011\157\135\\\168\177\160\208\020ro\030\140\217\1471\143\155\255e~\190Pba%2rH,\004<\185\148I\240\1336a K\"\194\141\181\170\168\214!\191\235\187D\236c\191\245\217\136E\157\248.@\144E\139\176\178O,\214\184\248\2265\t,\018\176\130\204$x\017W\0024.\147\192\016BZjI\024\142\252\202TO\003\232\132\215V\005x\158p\238\027P\135\177\156\235RA\165r\243\179hpa\129L\136\135\176t#\185\0001X\192FZ\244\023v\145\169\028\003\129\024!\026\003\227\138P\131E\"D* \140{o\021\017\213\219AA\134\157\\\014D*\225bm\019\224G;\136p\223!\201\021\b\027\019\136\237\197\204\nMh\029JVO\r\175f\005\131%?\241\144\162\225:\192\188zA\172\"'\241\222\180\028\1942\244\167\154A\196-\017\253\162*\143$\131\r|\003\027\170\1370wxUH6%\021\163Z&\141]\136c\175\001(\1861\019\217h\002\243<\130\021|HV\136\161\015\183\240\225\154{\248\200\023UC\228\221\250\237\246l!e\212\186M6\177$\228u\130\230\1701l\151\181f(\018+\150\023o\163B5\204\205\012\133\025q\219\190\rY\210\184\197\026\148\134\192%\237[\b\131\218b\019@\168\138\245C\171\208V\180\214\162\214\217\149ew*\0165t\253\145\186\167\247\241gi\151 \186\170\024\165@\017\022a\185\231\182\210\215D\193vq\224\2024#c\131\163\020\133\182\131\027\195\214Z\2376\136\168\154\129\214D8\147u\188Ua`\020\1505>\130\\\006\165\016\014X43Ah9\129M\131\146U\030\2408\197\211fC\031\204h\152.\151q\172\233=\247\233O\248\150SY\246]!S\002b\225\213G\174V\127\195\178\248u\026\030\175\132\224B\137\024DLs\158cg\170Z\186\194\205\174\140\216rK#\022\165\246\199\000\165h{\219B\003\195\160\180\154\192n\217\130H9\165\001\169K\202\169X\162\1915\202\134\031\137r\217\176\b\018\211\214\218B<_.\005\028]h4\0208\201i\239}\206\243&\136\205\143\140\006\181\192\186ZK\030w\141\195n\135\221\143\1987%\175\169\246\"#\019x-y\140\186(\246\208\015D\n\1656\136DM,\135\199\134F\004P\2190%\026\185\244\170I\236\179sKvE\165\r7\"A\n\016\225\216C\161]g\175\209\229\005\218\180\169L\150\243\192m\159s\239\251\147>9?\0268\213fy\160\184j\246\145\183G\147\024m\243r\191*\196\031\004\b%\029\022\198=\180*\197\138\143|\165\005M\142\000\214r{r\182\250\221\198L3d\015J\186Q\179\1274\195\236\145;O\169\164\025B\186.\209\169y\146\182\217E\163\176n\2276\209+\131\029\t\173\128?\180\250=\239\163\006\139\188\255z\179\233i\153\003N\191n\211}z\251\2469\251\204\244\204\239\233\250\235ET\168\160\2371\219\231\201\218\225J\150\185\133O\150\185\127\237\242\131:\207\212U@\003\149\151\229V\193\127\167y\246\232\137\201g\029\r\219j\178,\155\252\207\187\170\251x\006O\169\1647\146=)d\165 \187\201a\176+\217w\141\223\233\197(\211\157\2201\215\242\209\n\231\248s\231}D\138\227\007\231\1919\028\246f2t\163\246\252\246\244\177\235\153\219\211\224{\238\222\179\247\031,\215\249fW\187\161\026\230\202T)\204SM\199T\214f\248?d\131\176y\253\030\137\028RxK\030\180\250g\015\239\221L\026\251\"o\246\232l\rM\"\205\220\222\155o\169\156\185\007\179\143[\131s\230\144\195xs\182\007|\253{\170&\232\202\147u\1467?Z\169\185\183\018P\204\"f\173\203\007P\203\180\193\1500\199\148\127\150\128r\2019m\t\0248\0110!\003\002b\229\028:\016@\240\172\149I\185av\242e\216B\218d\150\240\226m\216\196\2177U\138\016\194\182\141\253\195M\246\144@\005M\176\151\025\017\165\177\185\021\208\159\202x\231\137C\000\224\004\184Y\134\156r\190\001\021c\n\240\173>K\219\230\252I\1290\019ar\218w\221\137\206}\219iZ\231\004e\159\189\019\020\171>\151}\160,\148@;0\230\236!L\212\144 \000\021R\028'TVbb\158\138\169\206O\020!\003\168\231\221\182[\244\142\016\164\144 \136Ch\182\028d\002\148^\212\185.\165\180\239\180\237i+!f\186\181\250\194\020T\025\bBP\019\196\023\169\172\222B\137\017Q\129xwD\027O{#\226\012\017o\"(!\016\207\017\137\025E\b\026\135\128\148\017\233\022\165\178!\000Q\194\028\187p\173\189\031g\249Pv\146\005\222Q\152\016\207\227\173\230N\140\239nv6t2\019c!\145e\148NR\230\b\128@H\184m\219\022cR\146\1441(\0171\0172\005=\016!ZPW\151s\014\129\247=o5&\160\173\213\187p0\019`\bAK\178\248`\026>\201Rb6b\217[8\027A\218X\0040\241\166\202\022\002\211\180\196*\164*84Ff\192\150[\212o\027\194\251\166J|\215\015\229\222\230\188?\234\007\249\131=J\020S\164d!)\031\172\020I\155:w\241Z\\M\138]E\224!E5\019\138\200\b\239\152(\165\\\196\"P,/\169\143\190X\238D\223\202.\218\188\174\002\196(!\192\222S&\217[}7\141\238\198\164\177\029yj\170\243\162\200C\028@\196E-\012\0226\150]\205\144\178\238\165\168\199((\178\022\227\189\159\142\146\146\170\190\221[*\183b\207\011+\233\170\028U\215<\207\199S\251\160\250$\030\021\"Qi9\164\133\232t\163\252\208\218\250\n3-\229\142F|j6`B!8\145\018R\001\152FR_\202\177<\152k\000\202*\007\181\tH[\134Y\172\216BT*C\t\017\153xB\131U\171X\137Sb\171`\r\179\130\012P1\194\0291\180\018w\227S\177\155\235\150\253\016w\135S\127\172\235z}\155\147\187\191Z\203%\153\023\230\178\187XM\239V4kY\222\245(}\180\238^j}\025Fo\165\149\138\"\170\246K\011q\166\156\177\021\207\164\185\153Y\217\144\181\240\170z\195\168s]'J\169\164D\225\000\146\018\2185\015\247\220\187C\014\246t\241\002*[\1407\235D\165t-5]V\172Z\t^++\150\208Z\2339\023\1700onM\173\173\143\006P\138\148R\128\190\197Y\1417\194Y\234\195\228\209\237~>=\255\252u}\232\227\151/h\224\189\169\209\2004\252\165\182\002\222\174~\248\189\029\199:\251\168c\252XU~\213\217\006\023\243\226^\205\181\000D\153u\128\020\152\238\222k\245\2380\127\150\178\2051\188p}\239\"\000-gI\015\018kq\161\191\143\014\1991\160\003\004\143p\027\149\202\230\253\171.\145\214\206\218F~\174\173\014\175\177\143n.=\206\217\1432\165O\145\218\231\168ku\127\155\136\189Y\239-\210\218SL9\2059\137\016\223V{}~\127\255\251\223\211\135\185\254\181\011\007\1825\205y!\175\254\222g\2296\159\231\213_\230u?\239\243\152\199\250{\239\229\2238\199\146\234\189\173\180\156\199e\214c,\180\138G\195\164\179\2476\027\030\127k\221'\b^A\142\245\204\016\007\160\229\023V\159\t\233_\142\201\215u\192\004\014^\225qt*\155\215\127\253R\029\227\222\215\129o}\244\163\1414\215\225Mg\170\183\1742\154\231Sy\158G?\207\213~\156\204s\249\156#\201\021r\202\144\207\243df>\150M\138\165\144\243\237\238/\217\156\204\212Pq\132\174'\178\162\200\023\014c\205\192\131eQ\026\171\172D\129x\024\222\157\160\133l\134\129\141\140q\254\012\001\133\180J\200\186\027k\197\024S\217\001\182\014\185\141\227\003]\017Q\159\201\174\171k\168\170\238\217;i{\249\180\213\191#\212\198\"\000\212\138\001\155\020\232\1319\193\157\155\182\005\176Lb5q\193\145\t\165'\236Y\011O\239\nL]\003M\203\165B\174\181dE\017\002\178\015\189\167\170'<\242\224\015V\200\007j\209\144\167m{\241*]\208\191\020\158 \001\141\195\216h\210\026\216\0009\021*)\015\147\n\193\006\173\209\232\231^\014/\209\162\234\216(8\b\128+]\169iz+\r\2339\177\226GS\224(\177\022^p\254h\130\224\156H\\\175\239\t\193\186\030\174?\155\158\169+\210\255\208\138\006\175A\001U\002x\015\181\212y)\240\149\244}\143\024@\153\186\000\130\017\242z\215z\020\189\186>[\229\t\241\252|@Y\r\206iq\216\166Q\138)\133\207\138\127\130\128,\0166\191}\186\236\030\247\229<\223\188\203\023\138oel4E\171\025o-\233\028\222PC#M6Q\022\147&\159\172U\206\190\142j|\171\1316\0030)\165D\172\234\170n\219\193+\219\140\208x)\165FD-\027\255\026\224\177\2146\175/\2058R\170\t\025\171\210\014\194T\173\190X\211\164h\193@\163$\136K\170\173B\164T\191Sq\024\180Nh<\221Q\163CU\025k\185\028t\229\189\142M\163\245c>X\012\227\016y\015m\171\141\b\183\\k|J\028&uP\218\027\243L\230\220^\188\248\250\253\184H\249\230J\023:\155\130\196qj\199\217\189q\193\2446\222\226j\239\180\1285oi\242\211\252\165x\248\022JH\\\1635\214:\155q\199\029\0061\251\169\003\211\205\142dlx'+\027\243\212\027U\234\155\004\208u\161m\129\222G\161\"\193\250\251\020\251u\157 B\031\\\139a\242\206\209\188\191\251\"D\b\155\139s\251\210\0057[O\2104\161\017\145\204s,eJ\159\222.\229\201-\203d\222\229q\140Q\197\024jV\174JhK\151e\025\199ax\183\2487\175>|\252\251\255\229\197\206\255\233dyH%\027'\202\000k\250\148r\224\177\188.gz\147\207\231\251\189ly[\255\156\147\254\159\143\\\208\219\020bJ\177\237\218\142s\220\231\141" @@ -356,6 +358,8 @@ module Internal = struct let d_cdc6e947cdb2e0bb7fae7f338ffa12a0 = "u0327\",\"\\xfa\":\"u\\u0301\",\"\\xf9\":\"u\\u0300\",\"\\xfc\":\"u\\u0308\",\"\\u01d8\":\"u\\u0308\\u0301\",\"\\u01dc\":\"u\\u0308\\u0300\",\"\\u01d6\":\"u\\u0308\\u0304\",\"\\u01da\":\"u\\u0308\\u030c\",\"\\u0169\":\"u\\u0303\",\"\\u1e79\":\"u\\u0303\\u0301\",\"\\u016b\":\"u\\u0304\",\"\\u1e7b\":\"u\\u0304\\u0308\",\"\\u016d\":\"u\\u0306\",\"\\u01d4\":\"u\\u030c\",\"\\xfb\":\"u\\u0302\",\"\\u016f\":\"u\\u030a\",\"\\u0171\":\"u\\u030b\",\"\\u1e7d\":\"v\\u0303\",\"\\u1e83\":\"w\\u0301\",\"\\u1e81\":\"w\\u0300\",\"\\u1e85\":\"w\\u0308\",\"\\u0175\":\"w\\u0302\",\"\\u1e87\":\"w\\u0307\",\"\\u1e98\":\"w\\u030a\",\"\\u1e8d\":\"x\\u0308\",\"\\u1e8b\":\"x\\u0307\",\"\\xfd\":\"y\\u0301\",\"\\u1ef3\":\"y\\u0300\",\"\\xff\":\"y\\u0308\",\"\\u1ef9\":\"y\\u0303\",\"\\u0233\":\"y\\u0304\",\"\\u0177\":\"y\\u0302\",\"\\u1e8f\":\"y\\u0307\",\"\\u1e99\":\"y\\u030a\",\"\\u017a\":\"z\\u0301\",\"\\u017e\":\"z\\u030c\",\"\\u1e91\":\"z\\u0302\",\"\\u017c\":\"z\\u0307\",\"\\xc1\":\"A\\u0301\",\"\\xc0\":\"A\\u0300\",\"\\xc4\":\"A\\u0308\",\"\\u01de\":\"A\\u0308\\u0304\",\"\\xc3\":\"A\\u0303\",\"\\u0100\":\"A\\u0304\",\"\\u0102\":\"A\\u0306\",\"\\u1eae\":\"A\\u0306\\u0301\",\"\\u1eb0\":\"A\\u0306\\u0300\",\"\\u1eb4\":\"A\\u0306\\u0303\",\"\\u01cd\":\"A\\u030c\",\"\\xc2\":\"A\\u0302\",\"\\u1ea4\":\"A\\u0302\\u0301\",\"\\u1ea6\":\"A\\u0302\\u0300\",\"\\u1eaa\":\"A\\u0302\\u0303\",\"\\u0226\":\"A\\u0307\",\"\\u01e0\":\"A\\u0307\\u0304\",\"\\xc5\":\"A\\u030a\",\"\\u01fa\":\"A\\u030a\\u0301\",\"\\u1e02\":\"B\\u0307\",\"\\u0106\":\"C\\u0301\",\"\\u1e08\":\"C\\u0327\\u0301\",\"\\u010c\":\"C\\u030c\",\"\\u0108\":\"C\\u0302\",\"\\u010a\":\"C\\u0307\",\"\\xc7\":\"C\\u0327\",\"\\u010e\":\"D\\u030c\",\"\\u1e0a\":\"D\\u0307\",\"\\u1e10\":\"D\\u0327\",\"\\xc9\":\"E\\u0301\",\"\\xc8\":\"E\\u0300\",\"\\xcb\":\"E\\u0308\",\"\\u1ebc\":\"E\\u0303\",\"\\u0112\":\"E\\u0304\",\"\\u1e16\":\"E\\u0304\\u0301\",\"\\u1e14\":\"E\\u0304\\u0300\",\"\\u0114\":\"E\\u0306\",\"\\u1e1c\":\"E\\u0327\\u0306\",\"\\u011a\":\"E\\u030c\",\"\\xca\":\"E\\u0302\",\"\\u1ebe\":\"E\\u0302\\u0301\",\"\\u1ec0\":\"E\\u0302\\u0300\",\"\\u1ec4\":\"E\\u0302\\u0303\",\"\\u0116\":\"E\\u0307\",\"\\u0228\":\"E\\u0327\",\"\\u1e1e\":\"F\\u0307\",\"\\u01f4\":\"G\\u0301\",\"\\u1e20\":\"G\\u0304\",\"\\u011e\":\"G\\u0306\",\"\\u01e6\":\"G\\u030c\",\"\\u011c\":\"G\\u0302\",\"\\u0120\":\"G\\u0307\",\"\\u0122\":\"G\\u0327\",\"\\u1e26\":\"H\\u0308\",\"\\u021e\":\"H\\u030c\",\"\\u0124\":\"H\\u0302\",\"\\u1e22\":\"H\\u0307\",\"\\u1e28\":\"H\\u0327\",\"\\xcd\":\"I\\u0301\",\"\\xcc\":\"I\\u0300\",\"\\xcf\":\"I\\u0308\",\"\\u1e2e\":\"I\\u0308\\u0301\",\"\\u0128\":\"I\\u0303\",\"\\u012a\":\"I\\u0304\",\"\\u012c\":\"I\\u0306\",\"\\u01cf\":\"I\\u030c\",\"\\xce\":\"I\\u0302\",\"\\u0130\":\"I\\u0307\",\"\\u0134\":\"J\\u0302\",\"\\u1e30\":\"K\\u0301\",\"\\u01e8\":\"K\\u030c\",\"\\u0136\":\"K\\u0327\",\"\\u0139\":\"L\\u0301\",\"\\u013d\":\"L\\u030c\",\"\\u013b\":\"L\\u0327\",\"\\u1e3e\":\"M\\u0301\",\"\\u1e40\":\"M\\u0307\",\"\\u0143\":\"N\\u0301\",\"\\u01f8\":\"N\\u0300\",\"\\xd1\":\"N\\u0303\",\"\\u0147\":\"N\\u030c\",\"\\u1e44\":\"N\\u0307\",\"\\u0145\":\"N\\u0327\",\"\\xd3\":\"O\\u0301\",\"\\xd2\":\"O\\u0300\",\"\\xd6\":\"O\\u0308\",\"\\u022a\":\"O\\u0308\\u0304\",\"\\xd5\":\"O\\u0303\",\"\\u1e4c\":\"O\\u0303\\u0301\",\"\\u1e4e\":\"O\\u0303\\u0308\",\"\\u022c\":\"O\\u0303\\u0304\",\"\\u014c\":\"O\\u0304\",\"\\u1e52\":\"O\\u0304\\u0301\",\"\\u1e50\":\"O\\u0304\\u0300\",\"\\u014e\":\"O\\u0306\",\"\\u01d1\":\"O\\u030c\",\"\\xd4\":\"O\\u0302\",\"\\u1ed0\":\"O\\u0302\\u0301\",\"\\u1ed2\":\"O\\u0302\\u0300\",\"\\u1ed6\":\"O\\u0302\\u0303\",\"\\u022e\":\"O\\u0307\",\"\\u0230\":\"O\\u0307\\u0304\",\"\\u0150\":\"O\\u030b\",\"\\u1e54\":\"P\\u0301\",\"\\u1e56\":\"P\\u0307\",\"\\u0154\":\"R\\u0301\",\"\\u0158\":\"R\\u030c\",\"\\u1e58\":\"R\\u0307\",\"\\u0156\":\"R\\u0327\",\"\\u015a\":\"S\\u0301\",\"\\u1e64\":\"S\\u0301\\u0307\",\"\\u0160\":\"S\\u030c\",\"\\u1e66\":\"S\\u030c\\u0307\",\"\\u015c\":\"S\\u0302\",\"\\u1e60\":\"S\\u0307\",\"\\u015e\":\"S\\u0327\",\"\\u0164\":\"T\\u030c\",\"\\u1e6a\":\"T\\u0307\",\"\\u0162\":\"T\\u0327\",\"\\xda\":\"U\\u0301\",\"\\xd9\":\"U\\u0300\",\"\\xdc\":\"U\\u0308\",\"\\u01d7\":\"U\\u0308\\u0301\",\"\\u01db\":\"U\\u0308\\u0300\",\"\\u01d5\":\"U\\u0308\\u0304\",\"\\u01d9\":\"U\\u0308\\u030c\",\"\\u0168\":\"U\\u0303\",\"\\u1e78\":\"U\\u0303\\u0301\",\"\\u016a\":\"U\\u0304\",\"\\u1e7a\":\"U\\u0304\\u0308\",\"\\u016c\":\"U\\u0306\",\"\\u01d3\":\"U\\u030c\",\"\\xdb\":\"U\\u0302\",\"\\u016e\":\"U\\u030a\",\"\\u0170\":\"U\\u030b\",\"\\u1e7c\":\"V\\u0303\",\"\\u1e82\":\"W\\u0301\",\"\\u1e80\":\"W\\u0300\",\"\\u1e84\":\"W\\u0308\",\"\\u0174\":\"W\\u0302\",\"\\u1e86\":\"W\\u0307\",\"\\u1e8c\":\"X\\u0308\",\"\\u1e8a\":\"X\\u0307\",\"\\xdd\":\"Y\\u0301\",\"\\u1ef2\":\"Y\\u0300\",\"\\u0178\":\"Y\\u0308\",\"\\u1ef8\":\"Y\\u0303\",\"\\u0232\":\"Y\\u0304\",\"\\u0176\":\"Y\\u0302\",\"\\u1e8e\":\"Y\\u0307\",\"\\u0179\":\"Z\\u0301\",\"\\u017d\":\"Z\\u030c\",\"\\u1e90\":\"Z\\u0302\",\"\\u017b\":\"Z\\u0307\",\"\\u03ac\":\"\\u03b1\\u0301\",\"\\u1f70\":\"\\u03b1\\u0300\",\"\\u1fb1\":\"\\u03b1\\u0304\",\"\\u1fb0\":\"\\u03b1\\u0306\",\"\\u03ad\":\"\\u03b5\\u0301\",\"\\u1f72\":\"\\u03b5\\u0300\",\"\\u03ae\":\"\\u03b7\\u0301\",\"\\u1f74\":\"\\u03b7\\u0300\",\"\\u03af\":\"\\u03b9\\u0301\",\"\\u1f76\":\"\\u03b9\\u0300\",\"\\u03ca\":\"\\u03b9\\u0308\",\"\\u0390\":\"\\u03" + let d_ce81d6296bd12c1ef5331edf043a3c88 = " width: auto;\n min-width: unset;\n max-width: unset;\n border: none;\n padding: 0.2em 1em;\n border-radius: 5px;\n margin-bottom: 2em;\n }\n}\n\n/* Print adjustements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n visibility: hidden;\n }\n}\n\n/* Source code. */\n\n.source_container {\n display: flex;\n}\n\n.source_line_column {\n padding-right: 0.5em;\n text-align: right;\n background: #eee8d5;\n}\n\n.source_line {\n padding: 0 1em;\n}\n\n.source_code {\n flex-grow: 1;\n background: #fdf6e3;\n padding: 0 0.3em;\n color: #657b83;\n}\n\n/* Source directories */\n\n.odoc-directory::before {\n content: \"\240\159\147\129\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-file::before {\n content: \"\240\159\147\132\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-folder-list {\n list-style: none;\n}\n\n/* Syntax highlighting (based on github-gist) */\n\n.hljs {\n display: block;\n background: var(--code-background);\n padding: 0.5em;\n color: var(--color);\n overflow-x: auto;\n}\n\n.hljs-comment,\n.hljs-meta {\n color: #969896;\n}\n\n.hljs-string,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-strong,\n.hljs-emphasis,\n.hljs-quote {\n color: #df5000;\n}\n\n.hljs-keyword,\n.hljs-selector-tag {\n color: #a71d5d;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n color: #458;\n font-weight: 500;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-attribute {\n color: #0086b3;\n}\n\n.hljs-section,\n.hljs-name {\n color: #63a35c;\n}\n\n.hljs-tag {\n color: #333333;\n}\n\n.hljs-attr,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #795da3;\n}\n\n.hljs-addition {\n color: #55a532;\n background-color: #eaffea;\n}\n\n.hljs-deletion {\n color: #bd2c00;\n background-color: #ffecec;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG {\n color: #859900;;\n}\n\n.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 {\n color: #cb4b16;\n}\n\n.TRUE, .FALSE {\n color: #b58900;\n}\n\n.failwith, .INT, .SEMISEMI, .LIDENT {\n color: #2aa198;\n}\n\n.STRING, .CHAR, .UIDENT {\n color: #b58900;\n}\n\n.DOCSTRING {\n color: #268bd2;\n}\n\n.COMMENT {\n color: #93a1a1;\n}\n\n/*---------------------------------------------------------------------------\n Copyright (c) 2016 The odoc contributors\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted, provided that the above\n copyright notice and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n ---------------------------------------------------------------------------*/\n" + let d_d04b09d89ef0b9af8a297a3592a2e4b1 = "68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.5498" let d_d1d8d575696cbb5a4994efc9e2862948 = "\\u23ab\",m=\"\\u23a9\",h=\"\\u23aa\",c=\"Size4-Regular\");var u=ar(o,c,a),p=u.height+u.depth,d=ar(h,c,a),f=d.height+d.depth,g=ar(m,c,a),v=g.height+g.depth,b=0,y=1;if(null!==s){var w=ar(s,c,a);b=w.height+w.depth,y=2}var k=p+v+b,S=k+Math.max(0,Math.ceil((t-k)/(y*f)))*y*f,M=n.fontMetrics().axisHeight;r&&(M*=n.sizeMultiplier);var z=S/2-M,A=[];if(A.push(lr(m,c,a)),A.push(mr),null===s){var T=S-p-v+.016;A.push(hr(h,T,n))}else{var B=(S-p-v-b)/2+.016;A.push(hr(h,B,n)),A.push(mr),A.push(lr(s,c,a)),A.push(mr),A.push(hr(h,B,n))}A.push(mr),A.push(lr(o,c,a));var C=n.havingBaseStyle(x.TEXT),q=Ke.makeVList({positionType:\"bottom\",positionData:z,children:A},C);return ir(Ke.makeSpan([\"delimsizing\",\"mult\"],[q],C),x.TEXT,n,i)},dr=.08,fr=function(e,t,r,n,a){var i=function(e,t,r){t*=1e3;var n=\"\";switch(e){case\"sqrtMain\":n=function(e,t){return\"M95,\"+(622+e+t)+\"\\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\\nc69,-144,104.5,-217.7,106.5,-221\\nl\"+e/2.075+\" -\"+e+\"\\nc5.3,-9.3,12,-14,20,-14\\nH400000v\"+(40+e)+\"H845.2724\\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\\nM\"+(834+e)+\" \"+t+\"h400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize1\":n=function(e,t){return\"M263,\"+(601+e+t)+\"c0.7,0,18,39.7,52,119\\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\\nc340,-704.7,510.7,-1060.3,512,-1067\\nl\"+e/2.084+\" -\"+e+\"\\nc4.7,-7.3,11,-11,19,-11\\nH40000v\"+(40+e)+\"H1012.3\\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\\nM\"+(1001+e)+\" \"+t+\"h400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize2\":n=function(e,t){return\"M983 \"+(10+e+t)+\"\\nl\"+e/3.13+\" -\"+e+\"\\nc4,-6.7,10,-10,18,-10 H400000v\"+(40+e)+\"\\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\\nM\"+(1001+e)+\" \"+t+\"h400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize3\":n=function(e,t){return\"M424,\"+(2398+e+t)+\"\\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\\nl\"+e/4.223+\" -\"+e+\"c4,-6.7,10,-10,18,-10 H400000\\nv\"+(40+e)+\"H1014.6\\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\\nc-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2z M\"+(1001+e)+\" \"+t+\"\\nh400000v\"+(40+e)+\"h-400000z\"}(t,M);break;case\"sqrtSize4\":n=function(e,t){return\"M473,\"+(2713+e+t)+\"\\nc339.3,-1799.3,509.3,-2700,510,-2702 l\"+e/5.298+\" -\"+e+\"\\nc3.3,-7.3,9.3,-11,18,-11 H400000v\"+(40+e)+\"H1017.7\\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\\n606zM\"+(1001+e)+\" \"+t+\"h400000v\"+(40+e)+\"H1017.7z\"}(t,M);break;case\"sqrtTall\":n=function(e,t,r){return\"M702 \"+(e+t)+\"H400000\"+(40+e)+\"\\nH742v\"+(r-54-t-e)+\"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\\n219 661 l218 661zM702 \"+t+\"H4000" @@ -364,8 +368,6 @@ module Internal = struct let d_d4ad292e224daee7b097a1260d10244d = "\190}\227S`\254\200\221)\186\226\252\191_u\252\240\247a\139\235` \224:\208\012\170\172\202o\210\016\1887\219\012V\127\181\175\140\2362Q\153\225\157\191\244*\149}F\163\178\167WA5\031W\245@\\\213\167\188\129\025\249\159\186\0244\175p3\173\210\197\020\240+\152\244\202\205B\186\183\130\193o\253\246\209S\1546+\191*\187Z\149o\027s\237\130\023\019Q%\228\194\240@\018\232\1822\218\0241\015s\215D\203\234\227\000\028[B\020\\w\218\250U\000-\200W\031o\216\180s\159\228w\254\239G8\167[-x\166\145\201d\232\17382\217\130k\186\152,\134\001\142\133\\\236u\163P\154\146\146\n\020\202]\194\003\135\t{\178\005\171r-{Zv#\253\156\180\172\031\245\215\202\0147\220\169\1903\219\252\163\131\229\015=\b\0057E\171\151o\212\r?\149|\234\152_7=j\178I\170i<\027\167\250d\235\233M\127:X\134\129\133i\2406s\200\143\148\214\166\248j\215\187\227\216H\005\162\225\249S{\176\186nW]\187\137\205\240\202\208J\027=\011\192Yf\200\214\201\20207\216\203\2510\218\014w\164\213\193e\187W\244\006f\230\250\172\127\205\217zi\153\209H\181\225n\188\006\202\159\249\198\239*_Q~\241\191\246\245\025\137\176\175\225\240\175\017\136S \253\227\142\143\145\240\1349\225\172\181L?)\022+\197\227\025p\012\012<\0224\"{\127\132h\254\191\015\176\246\153Da\187\209p\020 P\201\021\239\220\022\2520'W<\234\201\007\204\135u:.\215\165D\162r\215LswnnwV\230\248\233\029\239r\151\019\127\147\134\192\144\200\029#\154)\149\016r\128e7\215\165\129_\255\020#\151\138\beE\147\244fz\201\2437-)\025\178\201\185`c^\252\243\226R1\135\130=\187\149\229\227\205\127\187\164[\1521\234\223\217\190\0078\208\147wZ\r\216\001\1928\203f\183\246\144\004Z\186\246Q/\214\244\173\003\176v\2075A{\211e~0\192\255\137'\158\024\012\236\028\228\138G\203\161\128\249\207W\2111u\249\183%+\245\158\208\221\201\2218o\175>\196\165\024\202A\132\\\154A\163n\rO\252\215\127\159\175\187\231\211&\1538\174\196\001\214\253\184\210&\157\156\169\175\210Rj\128\000\029\002z\003 \153\136W\027\135\211\140G\175\152\132^/\144\241*\028M@\183MD?\024\135~+\224\209\245\212\163\154\178\240\160)<\136\135\007\188\156\188.\007R\139\240\134\127n\166JG\016\242\234S\188\154,\130\207&b\150qX`<\250\183@\198LBL@\223\150\136s\224\139\025Z\161\141\016^\1671\204\021\204\231\242\236\"3yei>Z\150#V\164\185\160\204\203\180\1711\007\162+\223\162+\127\163+\023\176L\189\195\193\208\138\160\176P\022\150\237}\171\135L|c\159$gR\181<\216\173'\175\160,H\011\155\174\158\148l\182\223L\218--\218\178\220,(\211\150\214\242\234A\152\201\247\145T?\180\226b:\180:]\199C\190xyz'\007\160\030\228T\193R\156\228r\174\192B\220\155\r\\\164\139\2559\165U\192\149\182g\022\208\026\026\005J\\\188\244\026\219\239&:\174>\133\202\027\159A>\207\13556=\028\154\157\194\204\158\186\176\224\012\246\245l8\177\027\021\205\027\017\218M\169y3\177\007\210\0285\226.l\022\177\166JuX\154\138d\214\148i|]\173LQ\003TV\212M\208M\208#\024\227\159\1568\248\166A\011.\130\184?N\184\255\209\176\220\b\000\184\2365\028\203\000\208\022cvO\141|\b\142\224\157\255?\000\243\025\212\211\186\133h\159\183\164\200G\181:\241\185\252)\005\237\227%\000\221\189\132\252\\\237>r\148\159\179x<\240\240\130\234\226\191kA=\177\235(\214\251\154\179\018\2261\218\003\222rx%\017\249\178$L;\151\156m\153\159\160\158\012$\155\028\146\b\134\207\147\023YX\247\192@\152\128\225c9>j\000\2544~\243\027\228L'\206\005\144\135t\248\156\004yt\203Uy|\\\185~iT\226{Q\235}\014\213wf\208\204\233\163\140>\012\159'g\2430\233\181\181\t3\156\242\214\196\2495\161\0184\161\223\229\195\176P\255:H\026\n\213\214\001\238\024\156z\249\019[\212%>\254\245\140:V\214\007\138\132\165\239\208\211\rX\213\173M\189\186\190\195\182\178\162\211{\189w9m/k\143\213\140Y\154Ie'Y\221\138\187\165fD\219\012\186\213\132\149Q\254\210Z\229+'\rf\212r\174Qmu\231\222u\146^y\229N\239\217\148\140\250.:\255\166g\021\173\212\158\030%d\139i\140P\174W}\178\182\158\143\223\132\252\177\172\204K]\158\229,Ym\190\151Fr\028\208\235L\150\1664O\210&\025\202\235k\201^\239F\200\206\207\138C\015\240\185\149\206\139rQ\003\179\154|\204\0041\025\159\229u\155\172\214\132w\"\222'--?\191\162\226\248G?ga\219y\183=um/Q\181\141\016u\235\161\217\157\132\246#N\127\166\174\235X\149p\163\143\229M\0063\169\215_9\n\r\173\255f\212cXo#\247:\236{\141#\135\166\016P\183\186\209\206\017\133Q\151\135n\015\200X}\143\196\145\163\000\029\143\144\218a\195E\174\229C\2237\024\215U\152\b^c\001\190\196\029\247\129\227n\136\165\135\170 #\239:\188\245\225\2414\195\012\227\231\194\132C.)w\020\bE\029\017^\227\222\014\000\176\182\224\145\169\030\242\019\138H\030]\183\205 \177\236\178-x'\196\194\189\223kt\240s\199\211d#s\247\024x\200;\007\1795\194\211\208\014;D\160\006Xs\219\247\014I4\209\250\014\250P\015\016+\236\231f\224N\136l&\171\195\225(\219\198T\247\248v1\250\189\015\143X1\194\166&bG\1306\245P\001\176Fc\240\241\240T\168A\1860\031\250^+\006\208\208C\137+\156\163R\231!\022\030\240\0127'\0316\227?\246\218'eo\246i\251{\167\211*\162\"U\b\198L]\134\bf\238P\015\001b\131\187\179\128w^?\244\253\128\133\135y\143\011O\130\016\136\139:\236g3\245~\235\147cXGF|J*\170C@\002\203(\177(2\208\138D\136=\131H*\160\162\023w\162\021\005\249U\233\253a\201\248\137R\"\179\216\225nu\002\179v8 \231\t\172 \221\011\184\204\251.\250X\015\144W\248\"\207\245\216\171r\007\140O\194W-\005g\004\n\012w\157\207|8\227\168\014\129\140\2427\003D\237\016\145\0063\253\018k\190X\163\146\000H\172#\0310w[\226j \239\168o\018\195\225u\200\236|\\\223\140\198\192\\6\152D\r`S\027\140mu\237\019a~\r\160\192\014\153i\137d5&\187\233Mu\133\n\012\162\250\232\136W\rB4\140I\205P\244\197:\136\189\014Mi\152\002\017\215\160\206\005\177XO\030&\164\184\194\237\164\159\195\207\242,\254\128\137\247\205\002\205\235\232\020\214|\253\173\159T\2481eI\180\148\245\193\137Lq\n\166&\166\024/\130\024\bpi\192\163\004\177N\179E\012\182\203\189\127<\134\011?\156sO\000\237\236\206\127\000\127\r\015\006]\213\207%\162\180\217\190\2027\183IR)*)\155\161F\140\000j|[\136h\001^y\149\211\148y\234\023\1926\"\175\146\186\015\178\132r\bt\229B\018\247\177\228\238\154\185\007\004\226\019\178\246\193qG>\253\249\000w\199\203\204L\163\249\195\225b0bk\217\2494\250\235\151Y\194\150X\140NjW\247B\156\016h\227\227\227y \1931En\158\209d(\139\178Y@\203\214\000jf]\015\246\1539\142\214>2Q\165Q\031\211\166a\023JC\207\143V\031\128\233I\252*(T\024\191\246\235\169\139\245,\t\190\182\183\205:5$\204\022\211I\202\143\153\017~\152\179F\145\004\b\166\231\005\172\027U\199\234\213\030\192VX\194&\189\006x;(5\204\195\164z\213\157\195\214\007\134\150\194\186r\138\158\004\017\254\017\166=\003l\140\223\215\198)\170\231\179\000\181\238\017)\176g\162\198b\131\225aa\016J\026\241\193\007\167CQU\136.\149\2392\148\130\206\022 }\246\222Y\148\176\210\007-\n\189\187\135\170V\014\194\236\187\169\210y\200\213\145,\0069m\003&\024\159F\146\201\253\156\192;\141#\248n\221a\166:\210hC\153\147\003\145\1839\232\152d\223\161\221W\238\006\019T\252\209\160\185\129\225\204\158\146r\012P\237\238;a\208%\211:\162C,\246\137\1749\028\139W(L\n<`\206A2\135<\176\031^3\236\140\233~\227\163I\137\002]4\222`\194\022we\154\002\2007\226}\128\132\027\189\199\004[\161Q\011V\030\158\243\146\195\136\209\249\180\249iH\184%\181h8\021\136\016 \178B\232\232,U\024@\"\029=e\012\004\001p\245\"F\140\1400N\014\127\194\194\129 \195 Z/\004\020\213\136\020\226\164D\168\245&\151\211\213#\223\193If\001\171\199\203c\182T\162\132\194\203q\224H\152?\229A+\182\129\153\182\202E@X-\250\174\144\210\246\222\011\207t+\224\246i\167\231Q\2419\134\127\170\131\152T\018c\225\251\234\229\235\014\024\193\2507\205\225\255$k\250\020\031\016I\244\174\242\131KM\140\148.\135\194\138Tc\225_\135\158\200\224\131\213\154\000jxGy\250\140\158\219{*lLE\151z?\156F)\197\204`\004}:\151D*\171\158\251\016\225)\250\177\160\023\164\220\1887{\211su\020O\231\252\245\238\231\215/o\223\004\027\156wi\139o\2201-?\201\172\194t\\\167e\021\225\182(I\250\209\183V\210`\171P\142[i@\021\002\238\142\1602\182\233o\136@\023\017\151\235\203\131s\136\195\137\173\155\175$m\244C?\134w\004\152-\137\147\236kiF\001\208\159\145\201\249\019\211\029I\019^v\0293?f\004\186\014\190=\133\222a\208Qc\135MsIweF\030\007g.dD\176\246\016\169R\128\1706Uk\181\150\160\000@7y\238;a9\007\028\220R\145(\000\154\164I'\196o\146\188U\141\204\028l\210\190\134l\146\224\203W(-\214\171\166\214JpF3~\156\183\155!\200\136\166j\166\0203\173x[G\2277S\030s\234\143\193Ma\227\179\190\145&QQL\181D^\206K\151\244\220\\E\226\002B\204\029\210=\248\159\003J\145\237\193\17970\210,J\t\1664\"\026\"\030\004\206\157P+\128\205\128tmrTFFu\160\212c\182\247#W\236\026\218\021p\202\146\239\204Y\020\031\130}\198\007\156\147t\191\160\139\203\239l\176p\241Z\0226^\232\023\200UF\181\197S\n\181\246\150\002\170\176\215\212\190\134\156/\167\030\151jRZ\015\144\2159\1575}\207\001\172<\219Sr\213\143\244 \017\146+uuW\136\228M^\232\207\215/\243\221\015\142\134OS\242u\165\177\138I\027\016\212\162\neK\236!\b\237\135\167\253R\029A\196\245#B\249\018\182\208\146\128Z3\218\206Q\215\158\233\230\179\169o\147\140EE\020\177\182\193\163k\1317P\146\028N\206\158\011\148V\225\198\131\139T\152\225Gzm/#G\163!\184\135\196\170M3\242\028\173\198\b\195\215q\191D\215_b,\134*%fA\128\138&\132\234\140\138&Q\201\"\002Y\187\1725ih\003L\154\132\252:\191\129\rd\137X\190\212\177\015\137=\127\138\129\027\212\154\155\015\001^ds\192\212\150m\014~\230\136\153\0169\021\146\202\175-\018rU\027\227x#x\193\014\206`\255\249\242u\012\1998\230\028f\193\217\147\156A\141\"\134\n\n\156mP\169\t>\151Bq\132\228\194\255\190n2B\131\236xI\226$\031$\195\253\209$R\220\153\002\195\179\134\190\161@\016\029=\128O\018D=~\219\187w\152\155L\177\236\234\131)\025\167\136\178P\b}\250\168j\015L^\140\254\250\218h\201\t\134\018\163\003\227\253\003e\147]\178\193\251\142\163gN\134\197B\209\191\192\151\187\244\212\132\151\129u\183V\231;\167Z\213\1760\151\1731\221iv\142+\001\229\237\150\248 \025Xf\202\246@\153I2\162Wr\031\232H\160\148\158\250T\214\021Oab;\148\236\165\031\003\136\193\239\242^\236Msqr\202\163\223\132\215\129x\027,A\007\211\207J\140)C\168\016\200 ~#\028`\"7E\025\000\218]i\133g!$/7\172\007W\212b`\215c#\0244\212{\191\178\186D\139\011\166\136\237\175\176\194\019 \162\005\224;\167\016e\200\156\160)\249)\149\159\209=a\128F\225\217\202\129\179i\253\151\192\028vG5\243,I\180\022\141\178-l\016\003\rZ\190\227\017\169\237\215v\205\020\029\165\"BY\"\180\016d\128VU\197\236\021\179s\138(\233W\163\\T\225\017\131\031@\160\197\157\137a\177\003\006\212\242\158\127\204\198\128Rk\138\201n\230&xPm\194\203\175~\131\243\145\150\137\172\026\149\007^4\234\127G\147\t\0035\002-E<\216\130\133\211%\011\161o5\162\171\211lM\198\015\251g\193\0184lkhr\167\128\154{\2420\224S\158=~\189\\\140\226t\235\189#\230\005\154\\\228\001\024\238\228LR\181\021\188k\151e\025\005\188W\183\216q\184\242\131\182>l\142bb\019\"'\230\2381j\208BT\141\246\1316\163\180\197\2354\176\214\178X\203\2254\022\225\191]\000\177;\156\005\140\247\194\255\023\178Q\251W\191B{\240\155\211\134nn\222h\146M6f\150\156\197\184\202\255\174\138\n\014\155Q:Q\021I\130\249\1729\030\158?\135\195\200\185\216\157\248\205e\003C\175@V^t]#7\tr\198\255`P\231\t\157M\130\251\158\182'L\244\182\221h\186\190'\029*e\153\176z\173\133\150{d\015\153\182\239\014u0\178\234\187\148\156\014\t\153\141\025e5\022a\020D\197\216w\193R\208\168\245" - let d_d65a17438333f43514c4a4296a4bb221 = "tements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n visibility: hidden;\n }\n}\n\n/* Source code. */\n\n.source_container {\n display: flex;\n}\n\n.source_line_column {\n padding-right: 0.5em;\n text-align: right;\n background: #eee8d5;\n}\n\n.source_line {\n padding: 0 1em;\n}\n\n.source_code {\n flex-grow: 1;\n background: #fdf6e3;\n padding: 0 0.3em;\n color: #657b83;\n}\n\n/* Source directories */\n\n.odoc-directory::before {\n content: \"\240\159\147\129\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-file::before {\n content: \"\240\159\147\132\";\n margin: 0.3em;\n font-size: 1.3em;\n}\n\n.odoc-folder-list {\n list-style: none;\n}\n\n/* Syntax highlighting (based on github-gist) */\n\n.hljs {\n display: block;\n background: var(--code-background);\n padding: 0.5em;\n color: var(--color);\n overflow-x: auto;\n}\n\n.hljs-comment,\n.hljs-meta {\n color: #969896;\n}\n\n.hljs-string,\n.hljs-variable,\n.hljs-template-variable,\n.hljs-strong,\n.hljs-emphasis,\n.hljs-quote {\n color: #df5000;\n}\n\n.hljs-keyword,\n.hljs-selector-tag {\n color: #a71d5d;\n}\n\n.hljs-type,\n.hljs-class .hljs-title {\n color: #458;\n font-weight: 500;\n}\n\n.hljs-literal,\n.hljs-symbol,\n.hljs-bullet,\n.hljs-attribute {\n color: #0086b3;\n}\n\n.hljs-section,\n.hljs-name {\n color: #63a35c;\n}\n\n.hljs-tag {\n color: #333333;\n}\n\n.hljs-attr,\n.hljs-selector-id,\n.hljs-selector-class,\n.hljs-selector-attr,\n.hljs-selector-pseudo {\n color: #795da3;\n}\n\n.hljs-addition {\n color: #55a532;\n background-color: #eaffea;\n}\n\n.hljs-deletion {\n color: #bd2c00;\n background-color: #ffecec;\n}\n\n.hljs-link {\n text-decoration: underline;\n}\n\n.VAL, .TYPE, .LET, .REC, .IN, .OPEN, .NONREC, .MODULE, .METHOD, .LETOP, .INHERIT, .INCLUDE, .FUNCTOR, .EXTERNAL, .CONSTRAINT, .ASSERT, .AND, .END, .CLASS, .STRUCT, .SIG {\n color: #859900;;\n}\n\n.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 {\n color: #cb4b16;\n}\n\n.TRUE, .FALSE {\n color: #b58900;\n}\n\n.failwith, .INT, .SEMISEMI, .LIDENT {\n color: #2aa198;\n}\n\n.STRING, .CHAR, .UIDENT {\n color: #b58900;\n}\n\n.DOCSTRING {\n color: #268bd2;\n}\n\n.COMMENT {\n color: #93a1a1;\n}\n\n/*---------------------------------------------------------------------------\n Copyright (c) 2016 The odoc contributors\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted, provided that the above\n copyright notice and this permission notice appear in all copies.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n ---------------------------------------------------------------------------*/\n" - let d_d6a1be8caf2478248edb48ee82070d9e = "ary:\"node\",relevance:5}),{\nlabel:\"use_strict\",className:\"meta\",relevance:10,\nbegin:/^\\s*['\"]use (strict|asm)['\"]/\n},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,y,N,_,h,{match:/\\$\\d+/},E,R,{\nclassName:\"attr\",begin:b+l.lookahead(\":\"),relevance:0},M,{\nbegin:\"(\"+o.RE_STARTERS_RE+\"|\\\\b(case|return|throw)\\\\b)\\\\s*\",\nkeywords:\"return throw case\",relevance:0,contains:[h,o.REGEXP_MODE,{\nclassName:\"function\",begin:C,returnBegin:!0,end:\"\\\\s*=>\",contains:[{\nclassName:\"params\",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{\nclassName:null,begin:/\\(\\s*\\)/,skip:!0},{begin:/\\(/,end:/\\)/,excludeBegin:!0,\nexcludeEnd:!0,keywords:g,contains:p}]}]},{begin:/,/,relevance:0},{match:/\\s+/,\nrelevance:0},{variants:[{begin:\"<>\",end:\"\"},{\nmatch:/<[A-Za-z0-9\\\\._:-]+\\s*\\/>/},{begin:d.begin,\n\"on:begin\":d.isTrulyOpeningTag,end:d.end}],subLanguage:\"xml\",contains:[{\nbegin:d.begin,end:d.end,skip:!0,contains:[\"self\"]}]}]},O,{\nbeginKeywords:\"while if switch catch for\"},{\nbegin:\"\\\\b(?!function)\"+o.UNDERSCORE_IDENT_RE+\"\\\\([^()]*(\\\\([^()]*(\\\\([^()]*\\\\)[^()]*)*\\\\)[^()]*)*\\\\)\\\\s*\\\\{\",\nreturnBegin:!0,label:\"func.def\",contains:[S,o.inherit(o.TITLE_MODE,{begin:b,\nclassName:\"title.function\"})]},{match:/\\.\\.\\./,relevance:0},x,{match:\"\\\\$\"+b,\nrelevance:0},{match:[/\\bconstructor(?=\\s*\\()/],className:{1:\"title.function\"},\ncontains:[S]},k,{relevance:0,match:/\\b[A-Z][A-Z_0-9]+\\b/,\nclassName:\"variable.constant\"},w,T,{match:/\\$[(.]/}]}}})()\n;hljs.registerLanguage(\"javascript\",e)})();/*! `sql` grammar compiled for Highlight.js 11.7.0 */\n(()=>{var e=(()=>{\"use strict\";return e=>{\nconst 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\"" let d_d7b447b6bfc36721f581470728505547 = "3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},\"Size1-Regular\":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},\"Size2-Regular\":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},\"Size3-Regular\":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},\"Size4-Regular\":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.6666" @@ -446,8 +448,6 @@ module Internal = struct let d_fb24a47ef888e3c9faa8d7cb8f0b649c = "d|\142\190j\203>\182B\016v\1883{\240\173\178\157\167'SG\242\239\218\185\224\208\138'\226\211G\245\215\226\148\207W\236\222\190\217\187\022\028Y\021,:\230\1787D\149\171\199\022F\178N&\183u\031\173\222T\178\240\151\019G\004\146\228$\199\016\167\219\210o;|\218\0246\015O\156=%^\\1]\172*\167\252\148Cc\160>g\181\230\243E\n\207\159\155\031\006\r\216\245\230\152\225\031V\202\253U|$\219\166\147\016\181\006\153\012a\136\133\243\023-|\179\183|Y\167d\215\254\134m\134\202W\133.\1387\235Q^\204P\027\225\180\155\131;;\182\240\138\171bo \227\143\158\225\175\234\218H\004\155\"\145\135\196P\015\019\027\151\183\165\020/[\142a\204\133\191\248\175\161\143To\218\177s\156X\190\204\241\240\226\141\168\169)<\190\027Z\255\tl`\190\1629p\240\203/\209\138\149\b\155\245\215\188\202=\002\135\199\177[\176\160\242\175\212\154z\217\031\233\178\159\209\222\164\177\193px\144\2529\"Q_z\\\205\"\021\225H\144W\250UR\242[\165\188`$\172 Y\234\199/\169%\145\159I4\251wMk\240\233)\253\212\180\191\250\167i\185\188\164\019\166W\219\215l_\012\211\131\018\246:\014\127\238}\230)x{As\006D\018\173o\179\189u\238\222.Q\206ol\017\254\229\164gQ\238\240\131\210\253\252+\251\247\004\235^F-\000\176\0013\149\162\236uAk\212\163\025\241\255\"V\239Z\012\024\252\rN\024\137\170\232\239\"\022\128\027\247\182u!3x\002o\194\135\004\238\001q\240 \204\005FV\240/gZI\228\254\149\133Y*\226\127\240\020#\167 \163\027\029\tZ #\156\227GD=\174b?\154`fP\012\031f\196R\024\130Q?/\016\249\002<\140\150\213%=\139r\0310\188\216h\243 \128\144\015b\219\028\024\135\003\"8\158Nx\138\185\b\148N\204\197@\bw\206\197\161\216\227s\tH\011\240\2312\192\031p\238\147\217:W\128\205F\147\175\164\016\210CoC\129\017\163\230\027\023v\135\001\147H\148\016#\146\019\141\150\201*+GX\148T\168\223\132\129\026.h\144\001\253*\004\171\022\16428q6\\\247\211\029\210\225Q\021J\211\227\026\190\176G_\237\0312_\133\128\198U6\235\210 lA\191S\189\254pOS\006\245\024Wl\196\176II\141wM\191'c\163}B\178\144\142\246\195\186\220+\176*(\153q&\172\145\208\193\006T6U\147\135\154\173TS!\0281p\164\134c7\211\216\171\166\135\141\139\145\249\131\202\178dg\1739\230>\245\219\012\233\t\225\128\bi\159\199\198\208\223$\143\177D\187\22975\007\187\175\158\197\174\253\135\022\\\189\t\1473$\191f\130U5\r;\251\144\229\\&\169Z\143\161=TB\174\180V.4\178\189\239\ts\213@1[\205=0\158\"qj\144\152\016{\152@\031\166L\031\tC\2102\253.\1942\149\161\181\198\168\193\174\220\239\187\210\r,{\160&\1466z\187\239\189\159\212c\218\155pUM\2365\184O\146\025\211\227\183\213\167NQ\157\148\133[\164p\210\168W\246\183uB\168xRT\147\209\216(d\006\185\190\234\219\213(ViX\192@l\236\204\202\156\210\212_3\223w\192\003>H\229\201\231\213\169;\128\193\155\240\022\194\017\001\007\016\003\246\195i8\132\152\136\133\216\136\131\184\136\135\248H\128\132H\132\196H\130\164H\134\228H\129\148(\14255\028\166i\031-]\187\139vr&\195\131}\253\255\025\147\213\021\167\211A\195Xg\129Sh\023\141-\160\029\135\227\180\\S]\180\199\201t|\150\127jF\145\199\202\156\234\163i\199\2258\157\244{sC\197\019\226\169\226M\133\222&U\002\1297\198\227\159\006,JN\149{\225o)\197\188\235[\001\230{cZ\149[\133\188l1\211\177\232\000)@\001S\169\220\031U\253\180\255\0270!\166\031'\241:\170\161}h<;\247\t\024+I\002S\198\184B.kN\189\247E\151K\127\028\127/\0165\175\169\153\227/\005\131\245J\131G\242Z.\233\153C&@\151\030\011\1286\142\214\187\231\212!b\223\209\003a\016|-P\030: \007\"\232\219\241\0292Z:\145\214d-}Sm\157\018\189C\192\132\180\245\167\242\217\023h\201Y\0205\182\000i\213Z\129]@f\244P\002\022\206\166\220\2308\155\200\233]\1750\240w\019\195\226\016\184\174d\144\012f\238\243\016\028\139\202\179\217\207w}\243x\007-\144#\157t\154\162\140\149\214:v\030%\1285\160#\1762'4\186\025\148\254\242U\141x\007\194\167\167;\214\177\225\004nOK\248\023Y\217\237\141\179\240\192\0204*\235c\2478/c\025jI\210CrXu\167\249r\199g\184\226M\137a\153\246\022\019j\192\024\214^\230\029.p:\200\2437\250\200\149\178\205b\191\181\130\005\r\157\214\0291\196f\145j\003\129\0031\026\224\155\170\220\240\211\175d\139V\177\167?NQ\198\194\147\231\1878\210\252b\243\162\158_\248\208\194\237\143\131\210\206r\129\175d\160m\220\014\190>e\n\223hD\217\023H\128\162\014\167\179_\030\022[\193\174c\192\245FJ.UY\137F\144\178Hcaj;\197\133\196&*\153\024\197V^\020\195\209~\028\197\133\006;\132\019P+\001Dg\161nB\007\234\"\1325z\173\203{\251\136\154U\225\002b\151\241LW\175\178\176\160\137z\227f\2502\164\229\184f[\133\220\211\168A\029Fxf\230\135\\\197\252\002\222\019\204\227\211\235\1302\233*\234\156\136\195\164tf,\165Q\198\141B\140\r\028\021\173\242\187\224\221Qa\019\1978\195\208k\222\134Mx\178\020\004\193\219\208\152\225\202W~g\r\133\020-U\244\239\169\"\202\203\142l@n\245?\137\031\238c\171iO\217\202\000\133\166]hH\134T\182ZM\022N\164o\007\202\001\228\132\183\027D\141nL\164\218\222`\182\198\167u\0059u5\005\157\211\137\226lr\196D\164<\200\175\177-\246\171;\014@`$\181\237\011\209\017(\\\rR\228\020\139\129\021\222F>\129\005(\136\170\023\182\249S\216\029\235\216G\006\146%\178\150\246\135\235\252\014~\196m\164\187\155\130\237\141_\188y\195~\210\244\129\015\028\003j\223k%\186\191\191\217~\239{\143C\026>`\003\148D\023\017kC\129d\t\175\171\190\bC\229\207C\208F\246\220q\163\138\191aX\208\240Bo\019\167\230;\167\222\236\016'\219\235\221\141\128\176\193\187\231\238\193\203\189\167W\215\208\0111o\244\227\169\155\201\214\019\027\144\183\014\020n6\203X\1958n\229W\140\255\131\025\130\130\129\225\146\184\227\244Y\239\000N\188\252\144\193\190\162\133yd\163\208p]#u\187\223\205\149\159\247\011\197\247\160n\180M\254\"\154\127\017Y\026\221\160:\163P\201\134\168!\2437_\141\191\006\2040\154\030\207\158\001\198\198&F\001\214\133\252\205\225F\030\153\216]p\219x\174{\235\155\237f\243C\136\233\223h\234\233\188\142\221\130\178'\194\031\161\209\216\185\190\186\197S\23629\151u\195\194\1970\152+\215L\214\250\239X\183r7\176\017\238\227lpa\223L\128\196\214r\210\1903\246\130\156kl\003\\\201\140\176\230\234\252C\027\177)\162\180^\218\"\007\018\160" let d_fddb6a653fc258923b0bfb5ea1b30fb1 = "2\209\195le\169\224\235\167htX}0\160_\135\193<\192~\020QP:(\017A\228\187z\163O\005\210\007\240\177\207\242\029\242\212\138\194\236\204<\1391#\153\169\180\002\rl\0207\194\199e\242\255\159J\186\155\168ooR\179\213\138\146\028\129%\181\231\173\170\234\245\017W\220H\141w5\139`^p\216\200v\201x\175\249gc%\251H\018#\247\141ge$0\210\0262|\202\1624\205\214o1D\141\137O\231)\212\160\250G\209\171f\160{W=\205\1836$Jl\236\170\233\172\169V\207\026\150\156\203\180\143U/\154\171\154\217\187~}\251\144\243\181dx\150\186\218\194\238r\170\138\n9\145\183\217\168,\143\t\172o\153rS\162\218\192\149\153\180\214\180\176\225\001\213\240(22*\025\024\014\179\166iM2\174A\157hz\217\134E\165\150\192bPtt\209\200~\222\134\005zUQ\148\178\154;\193\031\229\174_\002\"\216\177F\186YO\209_J.\015\248\000 \003\137\247\bn\129k\001\151B\249w\162\163\151\nC\172\030\166-\012,\012\252w\015\138D\202\154\234\1840\227\200\154#\127XC \181\183c\226_\n\165\213wZB\160\001\154\2306\176\004\172\207\253\232\r\136\233\241\242\224\211*\1578\186l\251\131V\2255\185\242\147:\193\166\029\172\022\177\139\236\211\227T\\Dc\154\142]NK*\236\198h\r!\197\229\001\215\146\216\228:a\146\023e\031\131Q\023\159\1732\174\182e\209yQ).\195\217As?\2244\233\129\017\n<\025<\230\198\155\207\135\153\132\204\214F\228\1657\022q71\246Q\146\188\132\235Hv\196\181\242\128\208\226\006\026\214]\152\150t\249\152\137I\019\225\212\227\159\202\\\196\140\188\240\212\252\185\195<\181\1928j\145\204X\"\204\187\003pg%h\246\242\243`\254~\127\rR\189\015\217x\183\234\163\190\012\207\134\149\204b\207 ONk\186}\246\227d\031[\216\127E\030]\195\204\026Z4\141\145S2\152\228s\189\236;\014U\206\011Hw\139\207\172\158c\203\178\231\246t\236\219\211\017\252\155bF]\248\007t\196/\229\192\007u\168D\178M\159\029\192\205\138\213\220\003}\254\245.\238\242\190'\214rq4\207\135\198\249\174\236\186\209\187\184\155e\rO\t\231\182\158\220<\223\163b\0069\182\153\221J\139\1661\139\026Vex\246}\180{\233\254,\231\186\251k\238\255\206\244\240\243\186\167\185\240\227\137\128l\2536\137\004\173\251\224@\138\031B\255\160.\\1\227\255\154\214\181\219\026\152\165\224,<\198\159\238\159\154\170\1768E\"\136\224#\167\134\230w\243,b\011\015L\238\157\206?v\236\138V\221\243\135N\141\224\b\020\137^\228\238\002\231\247\198p\216\169=\171\221\220\127:0\171\007w\028\178'\b\227n\216\140\209\005\001v`@z\220\245\184\244\197\216x\150\027\215\007M/\139\0143\022\232\252\170E\"\228M\223\166\245\253\003\196C\023\214\136z`p\209\178\201{r\168\2250p\160\234c\226c8\232~\185S\196\153?!\"\145\212q1z\167L}3%\011\138DH\209L\222\245\250E\131\131\228\014\182\203Cb\160\127\253\166>\016-=\254\132\201X\171\030\028\\\244\218]\207\243\147C\254\136\135\254\153\247\195G\189\150\193\158\026\000\003\239\239\229\181\"!\210D\199\222\157#\249\145~\149\188^\223\188,\205\200\206\189\137\014i\b\183\"\239\222{\160\031\217\196\024_\202\026\029<\240\158\002E\162J\137\161\145\175\r4g\004|\204\2498# \200l\142\169\174\247\021\137 \245\171\253\235FYK\199Y\141\160o`T\245\196l\176\151\027\158\168FA\196\022\214K\006\186\147)\136\242-\015\029\232\007\207\217$\031v\132\015\229~\240h9\141\027\029h\t\158\133\025\003\"\024S\193\016&\243\170Da\136L\022\157\253\244\202\220]w;\178\191\142\150\201\1440Q\021Tp\185\000\006O1X\239R\218\163\211\173Q\131--\234\157l\214\014u\181\147\193\244X\157\165=\229\029\136|\1998\253\221\181\004\228r\233q6\243\184T(\004\221\210'\160e\128\143\023\004Ba\0110I\007?\0073[\192\t\147$?g4K\179\204\031l\236\157isX\157V\2320\219\016\236\022\134\b\228?\006\245\247\247\238}\185\215}z\134\181\183\127\022\241\248\164\181 {\003Q\157=C<\165z\225\250B\181\154\246\255$\129\227\213\141q\206\184cD^\"\134\234\231\232\221\252\149\143W+\012\241\202\245\238\130 S\"mGM\252\198\154\184\017aD\184p^bt;\159\199\241m\238\231\243\138i\137\t\255\186\186\175\247\1417\192<\242P\154\239\159\235@\228\176xj\160\031!R\137T\016Cp\185\136\231\144\000\137\212\173S\142\242\247\012\128\001\196gL\199\230W\241#\"\167\022\228\204\161H\215z\204GaVVK\237\017\175e\rd\186J\141\244\244\248W\0300#\221\187\218{\151w&\183\130\018\003\163q\199h\235l\135\181M\no\206\026=\145IP\177\r\024*(qF\231\229\214\0272\240\250\232\001\189\155\184/\139\253\143\143p+\195D\216\016l?\243\195\0112\232\131)\143N9r|0\019mHI:\203q\208c\233\161\251\170\024\029Q\\j\218\233d\191\132%\198\232\150\138\164i\011>5,t\154\238\207IO\018\254fc\205\154\205\182{\131:\239\136\1840\206\131?\234v!X\\\186,\175\217\166\1484\255\147\153\181\130J\026\002\178w6$p\170T\001\127\016$\159\240Q\170J\024\146\146\152\220\028\240\136\205K>\142,\027\161\011\001\236\183\249\183\253~\246{\202\019|\225vC<\021\176\001l\216\136\179\155\194\003\030\191\128\240Fqc]r\160`=6A\167I\203\0037\161Z\026\246\025\134\170%\161\227\b\023\220W\011]\213yA\1357\031\245\175\244\221Z\018\164\202x\144a\172\r+\217Q\157d\210\228\007\221\175d\031\182\153\173f<\193y\151R(PaN\171\168H\161\\:\011\211\171\235-\242\015\221\205\177/2=S\149\\O5+j??\012\198x\236\231\166?\217\136\160.r\177\157\160\22671\154\022$f\012m\210\155\217Z\0280'\193\177\004\023\"\158\146\248E\217\220\024\251\172\170\154\018\186M`cZ\t\209\201~\242\194\245\005\221.\170\140M\254\182}\249\195!\176\152\001\202E\191P\185|\230\172r\1634\202\142@_T\150sN\150\131\250B\004\244\234\007\024\216\004\142\244\006\145\210\231\0029&\023\028\203\158h\186`\243\202*F\026\143~S\004)\167\005\006\208\193\0237\238r\028\141\216\r6\255\216\196f,\005\238\238qgN\189\002a\1805\165\1431\214\024s\024\028\\\202`.\221\0126\197\173\161\227\0197\027\025b\210\bb\24781V>\239\209C^>\011s\154\192\238]\224\215<\022>\006v\237\006\166\026\238`\209\139sq&\211\167\166\230\252\249\230Fb\131\187\207\222R\019T\236,\134\b\148)I\230T\207\239]L'\n\203\234\135\157oJm\b\134\030>fN\241b\" \214\139\165bWYX~ \206>t\151\185\187\169\220\\%n\226\2237D\185s\221\221H\177\219\027m<\016\190\142\193\239\174\157\242\014D\236Kw4\252\165b`\015\158\175\240=|\232\007\255\212\165\233^\204EtT6&N5\215\252\219\"\016\182|\191%\242ruc\198\188\183\203\187\129\162)=\175\005\181\185e+\024=\172\224\209\229)\210_\254{\241\183\164L.\251\245\132\174\"^\194A\140\137\217\252\243Iqa\001C\135\025/U\018 \187oC\177\t\140\170\000\202B4\217)\251'P\138\241\198\212[c\006\205\185\150<\137\141\194\229\211y]XT\172x\143\015\146\148R\254\244\173\176rA\228\007\226\169\174\023\174/\186@\031G\018\019\158\191\019*}g\253wi\217\1513e\156\203\147q\201>0\247t9J\136\\\137*\171\002\202\253[\193\161Mw\029\157\216\015>\157f\153'\176\247zH\136\248\147\217f\1894\237fr\208\131\216\135\012$\188\168K\179\253J;\255\179\235&\142\194TmAp&\130\2023(\186\239p\015\022\199K\159\154uv\149\208-\171\156\002\131,\129ip\237Z\133\128M\136\170zp\023|\188\246\198\207\154z\002>\011J\219\150\157_\239$ncT\191$\1651=\r|\207\198o\022\228\129'1\149O\024\239X\140)\159\208,U\022t\152\253?\184\209V\202\011\171\253\194\t.~K\250\149\218\148\142P\242\027\157SU\164\161\148\178\131R\228_(XR6}!'!=\195H\231x5\155k,\025\207Z9k\127\025\174\130\138\202v{\192=\136_vh\161\150\175\023\184\146\192\241\142\154\150\025\186\199]\154\246cb\176\252\201\228\\bx\028\159\158\026\192\n_\178b\127$\137\028\162\004\138\136N\235\169\161L:}\0243\233?pM\202\174\205N/\228\205.\230\018wa\223i\234\\\201\193\154t\211\180\200\244\020\199AS\197\160\242\138kd\201t\1458\242#?\025q\253\234\219\163.o\175^o\227\030\254\248>IE\185}\132\201~~\144\145\150(\185#M\011\210\227\134\131\224l:\237\031\173\186\166\128\254\223\184,\137\1586\205[\227-\t\154\207\158\234Z\\\004\243\2414\016W{\004\236a\017\b8h\152\236\207\024Q\007:\2013\031s'\220\005?\216P\150\155\221\030,\184\253\185b7\031\215\214\1445|\160\233\199\196aVI\158\155p\179\252\219\223\229\155{\132t\r\1318\183\189\1823\189\179\182}\238\031\027n\206f\003\242\250:\225\245\219\189\011Jog\220.\030\177\192o\021!_\134\250l\141=\236\017\250o\190>~MK\250\151~\017\2512\197\218Q\170\208\151\254\012w\162\224\194\215\020\014U\145\127.\153\212P\142\182\145Ub\249\n*\235\207\218\205\\\184\137D\226~\250`\190\206\252zq\245\187\160\249\230\140\254bC\241\253D\021\176)%C\219\211fh\023\234\189\023j\021T.I\011\006J\135\200J\022\227xk -\254\026\243e\194\159\226\231\137S\236\201ua\230;\006\2519\176?\165-\165c\242!\207!P\201\175$\165C\222\011i$\151\170\208\134\213\251k\182\232\191jp\160\171L\016\027(\231\r1\255>?TZ\221\190w\015\152\228\191\155s\239\025a\167\b\240`%i\001\214\129D9\191zt7\216\251\132Q\003\1553i\151\190K\199M\179\128\219D\014\207f,\138k\158\240xX\197\255\130o\2373\212\161\213\1502\223\189\189\225\159Z\031\238\254Y\139\217'(L\130Aa\159\156\181x?\215\167\246\159\190\183\239\136\196\015\249\150:|\246L\171\014\184.\190\215I\n\131`\214?\241\177%^\135\227\188\224\153\163\023\014\151\175N\220\000\235\243\231r\198I\233\162\168\150\232)\176\2504mS8|TMT\242+e-\007\0009\255\127d\004\155\228\162u\015\135\251\202\255L\145\210\b\146\229$K\131\139\003\003\179?\011-\2145l\181l\179\146U\024m3\029O\024C\210\199\2107\144\225o*f\031l\b\205\143\239J\149\245LK\146\246\193=\025`\246\001\248\254Z\1961\155I\141\250\215@\2014.\162\179#-\178 n\232\155\190\220x2{\250j\203mV\189\211/%\n\142(\022\1801H\244\154k\182/\135D\nO\254\140,5$I\193\130\015\155\162\151k\187\001\188\189\235\153\201\1371\215\218>\249T\172W\022\144\213t\236\169k\212R$\1449q\186\228\127\148\237w7F/S\022C]T\251\188rX\201uV\236L\239\141\141Z\250\149\151\185\172\005!\2439\003mOx7\242\180\150\138O\016U\144\210\001a\238'0s\211\192'l\250~\190lu\"L\158\000O\170\192\232\147\217\158w\223\158\231\184c\025\142\134\027\171\152\188##E\239>+\238\170\tp\165.\141\180xq\153.\146\180\204\166\179\153\220\176}o<*\215ND\170\140\000\246\201\2377\174\031\238\132\157\163O\143\209\207a\232\162_*\214p\024\179>\233\251\153\130\157\1633w\130J\197\159E\178\2073\231\006m\140\214\205\\\016\nv\030\142\160\239o\140\238\020\238\172x\241Ql\255A\025\241\254\193\137\149=\127\023\024\001y\003\2138O\176:\234\023Y%\191\018x\181\203\219\169\128\203\217\017\243\195}\206\023\177m\1436\134\135&\200\\\158\246E\246E\162\141\232.&\151\164\249\180{\181\131j\140\181C\162\254\025\028'\1549.\145\130\227\194\224j\178\143g\220\206f\236\n\227\167\155iLW[\251\174,_\030\151G\203\211\021\020L\171Q|^\214\\\211\176N\165\169\24577n\022\242\153\237\222\140\148D\211\169\152Y\136\155q-\131\239\021\151\204| st@`Wc702`yw\217\0127\151\163!<[\181\130\202\186\014.#M\030\015#\004\027\184\195F\n\253&]0\233UR\021\241\251\012!\240l;\160\243\239\153\2369\193\227\209\243\018\018f\181\190fR\154\169\205\201Z*~\179\231\031\188\174.\145\145\226\181\004\028?(\194\173MgSV\245\175\"+\205\b|\213k\133k\213\190F\208\002m" @@ -499,7 +499,7 @@ module Internal = struct | "highlight.pack.js" | "/highlight.pack.js" -> Some [ d_6b9eea5bd2cdd91f629293ab3b8808d1; d_30baf6fb746860926fdd280eefc46735; d_7df05ceea77c14d78f1f1df8f98def4f; d_106b469c9254e3a72af1bc5085256cca; d_5fcd7eba230acf47d54c1897a9a9c394; d_df9507781455088adf4ca1bd7fc0a321; d_b223e3337242ba6cf0905995918760a5; d_d6a1be8caf2478248edb48ee82070d9e; d_98850966979dd224456f716b44220d69; d_9873a9ace25bcd721b8eeb6b8dad71cf; d_b23657c0bc089d459bc6099791f97c23; d_f9c0b1a6ea9c119cb0f7ead5c3dac542; d_80a0027403c5ad56c7da4589713b2348; d_fe8f6a1f53d067d447bae579dc60d6f0; ] | "katex.min.css" | "/katex.min.css" -> Some [ d_2d798108ddda42cb699f6ad4421e720e; d_b128d6f091a42be5d7a929703f09ac36; d_1476b6e94be68e530a90bd0723d69c88; d_e357f75b8a7d9a6031bbdc38adcf1422; d_ad152fcf832897f8629ca758460f3d22; d_7c9075f31df2a532c3135ae327c84a92; ] | "katex.min.js" | "/katex.min.js" -> Some [ d_0c2c3443b618aef3ac4519dd2b159bbe; d_a2070486fb8e9102cd1537ebd1216a96; d_48a6338945c47ceb84d335248c3d6873; d_ad48849637d7c8349cb3e6952d5c8699; d_32baa17e8a53bbd439c58b0d89bc0503; d_c7561e7d22eb89e10083cfba7680012c; d_d04b09d89ef0b9af8a297a3592a2e4b1; d_c0cf7351fa27f73a72840e453c4b15f3; d_fadfd470a088dde5c3755136ac4b6188; d_326148c9e075f26f4dd5ee3862f61cf6; d_a55141bd5690b03d71c9675038f73b3f; d_225bdd9918928e02697ef5570454bf56; d_bf8e1c09c2162b9bb4b6578a59cc8069; d_bb5a8ed07dc95fa6f9f51938da398a35; d_b93e718b1ddefad06d18d9736584ad78; d_e12a510e69c6b3e0210294eedc2c3be3; d_bf043adf1d8ba761903c6f3447bae9d3; d_80ae3e22d162129b593049c0dc7f2407; d_d7b447b6bfc36721f581470728505547; d_92e0c0a734f49413d685531ad3f0a03e; d_cabefc6c9607b95a33af32a8c8832767; d_a03f60fbbac88837b2763d52df2c0820; d_5795c26325c462426548bd12ff6ef7a1; d_c0939c104021af2b0d9b24c7102061f2; d_3a7455b94742964a6cc5e84e314a6cfb; d_dc2a908015f68e5bff245fff4e602604; d_96c4d8e2622ac6552ccf67643b20f09c; d_37935d98135b118d937e895f4bb55add; d_efe21915ced6043dcaa8ff576e7948c7; d_fe0aa5b4043d6894e289163dd38508b7; d_dc29762de1ae6c28b3b3cc202f52ac6f; d_2c5af911fa1596ad2eef3a7e342be949; d_01738333fc004372ab1ae8bc7d370677; d_0d6ec6387686b4173900d29c91f338ee; d_5f9942b4d85184e45b9addfc25ca6fd4; d_105a9e030400f28a404c6badd930fe01; d_79c029f6f746a52f4a8bc8b6280c5c88; d_3a50124eae7017a15bb92024b9f6c8ad; d_d1d8d575696cbb5a4994efc9e2862948; d_a6e92521674c97f4d1bd649490d8a987; d_8f38ae17980f4039d715823515fd56d0; d_a841840589a3efb0465e49e0d8f985b5; d_e33d592534625de6438003412e1d8813; d_5b12b53efc1e6da3a434634e81c2251b; d_c7270ab94b84005c36e6e864e6ea5b10; d_5e57240b8ff6745d663ebd2060201199; d_02c9bc01125e92ce389d2ac93e62d14b; d_0d4c13a0e6487657499a2f37795ab83b; d_8ff622534e1e1348711c11358657050b; d_a8b5fa32242a1d360076af4bdc9dafbe; d_725c52bce5d22dff34816d0cea74cf51; d_a6db9cb29ea27586d2138cf4f8710b12; d_31ee9944b6c75c4351486bc790988371; d_1005d4f63119125aeb03e8a2fa265969; d_9ff5a6ec97f55e01b81f13d9d3f0ff67; d_f361846717ba3e91093152df70d5aab3; d_e462cdcfecbc18ac1f1e447bf1ed3697; d_0d5bde992f9fa1c53103cd024ff5833b; d_1b66f4e8c1fbc1c74875f8da050cc1d0; d_bad0217136fdcd657898ee631bd512d1; d_428c2b0f069b4ffaef294dc85aef1e4b; d_cb988ca0480d611a7c52551adcc9ed48; d_cdc6e947cdb2e0bb7fae7f338ffa12a0; d_f56cd226d59f4d3190a095998f97ac56; d_f5d214c6b91ee7f61f5a433fcdd70682; d_f4caf2cb8610b6735641c064e6453b79; d_da739bd79e1901a19d34fbf2d1a16298; ] - | "odoc.css" | "/odoc.css" -> Some [ d_fb5c7ff51d7b33d70bd240daa8c37e65; d_3f5b432df048be5bbafe5b7ea5cd588c; d_5f54b610a068a278de228c45fdfc10b0; d_61e011d9fe425bb5367c70944eba9fbd; d_d65a17438333f43514c4a4296a4bb221; ] + | "odoc.css" | "/odoc.css" -> Some [ d_716cf074e5806616f6d61aeb32dbe70e; d_609f576f064dfa5ea1545119859f0158; d_2a2424c3bea143cbb2f9c9a24d822c4e; d_786810470f5a121e38f4adbaab2842b8; d_ce81d6296bd12c1ef5331edf043a3c88; ] | _ -> None let file_list = [ "fonts/KaTeX_AMS-Regular.woff2"; "fonts/KaTeX_Caligraphic-Bold.woff2"; "fonts/KaTeX_Caligraphic-Regular.woff2"; "fonts/KaTeX_Fraktur-Bold.woff2"; "fonts/KaTeX_Fraktur-Regular.woff2"; "fonts/KaTeX_Main-Bold.woff2"; "fonts/KaTeX_Main-BoldItalic.woff2"; "fonts/KaTeX_Main-Italic.woff2"; "fonts/KaTeX_Main-Regular.woff2"; "fonts/KaTeX_Math-BoldItalic.woff2"; "fonts/KaTeX_Math-Italic.woff2"; "fonts/KaTeX_SansSerif-Bold.woff2"; "fonts/KaTeX_SansSerif-Italic.woff2"; "fonts/KaTeX_SansSerif-Regular.woff2"; "fonts/KaTeX_Script-Regular.woff2"; "fonts/KaTeX_Size1-Regular.woff2"; "fonts/KaTeX_Size2-Regular.woff2"; "fonts/KaTeX_Size3-Regular.woff2"; "fonts/KaTeX_Size4-Regular.woff2"; "fonts/KaTeX_Typewriter-Regular.woff2"; "fonts/fira-mono-v14-latin-500.woff2"; "fonts/fira-mono-v14-latin-regular.woff2"; "fonts/fira-sans-v17-latin-500.woff2"; "fonts/fira-sans-v17-latin-500italic.woff2"; "fonts/fira-sans-v17-latin-700.woff2"; "fonts/fira-sans-v17-latin-700italic.woff2"; "fonts/fira-sans-v17-latin-italic.woff2"; "fonts/fira-sans-v17-latin-regular.woff2"; "fonts/noticia-text-v15-latin-700.woff2"; "fonts/noticia-text-v15-latin-italic.woff2"; "fonts/noticia-text-v15-latin-regular.woff2"; "highlight.pack.js"; "katex.min.css"; "katex.min.js"; "odoc.css"; ] @@ -547,7 +547,7 @@ let hash = function | "highlight.pack.js" | "/highlight.pack.js" -> Some "f7f17015c0de1023c93929e3725a9248" | "katex.min.css" | "/katex.min.css" -> Some "1a262c83aa48d3ba34dd01c2ec6087d8" | "katex.min.js" | "/katex.min.js" -> Some "0376fd70eef224e946e13788118db3d1" - | "odoc.css" | "/odoc.css" -> Some "a6dab28bb7b017043fe8c40db9398ccc" + | "odoc.css" | "/odoc.css" -> Some "d01d2032f17eb52def0a2e2c6437a89c" | _ -> None let size = function @@ -585,5 +585,5 @@ let size = function | "highlight.pack.js" | "/highlight.pack.js" -> Some 54535 | "katex.min.css" | "/katex.min.css" -> Some 20978 | "katex.min.js" | "/katex.min.js" -> Some 270376 - | "odoc.css" | "/odoc.css" -> Some 19519 + | "odoc.css" | "/odoc.css" -> Some 19689 | _ -> None diff --git a/test/generators/html/Bugs.html b/test/generators/html/Bugs.html index 735988e182..d556b78552 100644 --- a/test/generators/html/Bugs.html +++ b/test/generators/html/Bugs.html @@ -24,8 +24,8 @@

Module Bugs

val foo : - ?bar:'a - -> + ?bar: + 'a -> unit -> unit diff --git a/test/generators/html/Bugs_pre_410.html b/test/generators/html/Bugs_pre_410.html index 98990fc7f5..f19d16f3cf 100644 --- a/test/generators/html/Bugs_pre_410.html +++ b/test/generators/html/Bugs_pre_410.html @@ -26,8 +26,8 @@

Module Bugs_pre_410

val foo' : - ?bar:'a - -> + ?bar: + 'a -> unit -> unit diff --git a/test/generators/html/Ocamlary.html b/test/generators/html/Ocamlary.html index 63973e44c7..de6bda5626 100644 --- a/test/generators/html/Ocamlary.html +++ b/test/generators/html/Ocamlary.html @@ -388,7 +388,9 @@

val a_function : - x:int -> int + x:int + -> + int @@ -430,8 +432,10 @@

val fun_maybe : - ?yes:unit -> - unit -> int + ?yes:unit + -> + unit -> + int diff --git a/test/generators/html/Type.html b/test/generators/html/Type.html index 3b7870c640..4a371c23b3 100644 --- a/test/generators/html/Type.html +++ b/test/generators/html/Type.html @@ -68,7 +68,10 @@

Module Type

type labeled - = l:int -> int + = + l:int + -> + int
@@ -77,7 +80,10 @@

Module Type

type optional - = ?l:int -> int + = + ?l:int + -> + int
@@ -89,11 +95,17 @@

Module Type

type labeled_higher_order = - (l:int -> int) + ( + l:int + -> + int) -> - (?l:int -> int) + ( + ?l:int + -> + int) -> int diff --git a/test/generators/latex/Bugs.tex b/test/generators/latex/Bugs.tex index a4de712aea..97dcb9cf62 100644 --- a/test/generators/latex/Bugs.tex +++ b/test/generators/latex/Bugs.tex @@ -1,6 +1,6 @@ \section{Module \ocamlinlinecode{Bugs}}\label{module-Bugs}% \label{module-Bugs-type-opt}\ocamlcodefragment{\ocamltag{keyword}{type} 'a opt = \ocamltag{type-var}{'a} option}\\ -\label{module-Bugs-val-foo}\ocamlcodefragment{\ocamltag{keyword}{val} foo : ?bar:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Triggers an assertion failure when \href{https://github.com/ocaml/odoc/issues/101}{https://github.com/ocaml/odoc/issues/101}\footnote{\url{https://github.com/ocaml/odoc/issues/101}} is not fixed.\end{ocamlindent}% +\label{module-Bugs-val-foo}\ocamlcodefragment{\ocamltag{keyword}{val} foo : \ocamltag{optlabel}{?bar}:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Triggers an assertion failure when \href{https://github.com/ocaml/odoc/issues/101}{https://github.com/ocaml/odoc/issues/101}\footnote{\url{https://github.com/ocaml/odoc/issues/101}} is not fixed.\end{ocamlindent}% \medbreak diff --git a/test/generators/latex/Bugs_pre_410.tex b/test/generators/latex/Bugs_pre_410.tex index ed9d1a2697..4f9128ed75 100644 --- a/test/generators/latex/Bugs_pre_410.tex +++ b/test/generators/latex/Bugs_pre_410.tex @@ -1,6 +1,6 @@ \section{Module \ocamlinlinecode{Bugs\_\allowbreak{}pre\_\allowbreak{}410}}\label{module-Bugs_pre_410}% \label{module-Bugs_pre_410-type-opt'}\ocamlcodefragment{\ocamltag{keyword}{type} 'a opt' = int option}\\ -\label{module-Bugs_pre_410-val-foo'}\ocamlcodefragment{\ocamltag{keyword}{val} foo' : ?bar:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Similar to \ocamlinlinecode{Bugs}, but the printed type of \ocamlinlinecode{\textasciitilde{}bar} should be \ocamlinlinecode{int}, not \ocamlinlinecode{'a}. This probably requires fixing in the compiler. See \href{https://github.com/ocaml/odoc/pull/230\#issuecomment-433226807}{https://github.com/ocaml/odoc/pull/230\#issuecomment-433226807}\footnote{\url{https://github.com/ocaml/odoc/pull/230\#issuecomment-433226807}}.\end{ocamlindent}% +\label{module-Bugs_pre_410-val-foo'}\ocamlcodefragment{\ocamltag{keyword}{val} foo' : \ocamltag{optlabel}{?bar}:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Similar to \ocamlinlinecode{Bugs}, but the printed type of \ocamlinlinecode{\textasciitilde{}bar} should be \ocamlinlinecode{int}, not \ocamlinlinecode{'a}. This probably requires fixing in the compiler. See \href{https://github.com/ocaml/odoc/pull/230\#issuecomment-433226807}{https://github.com/ocaml/odoc/pull/230\#issuecomment-433226807}\footnote{\url{https://github.com/ocaml/odoc/pull/230\#issuecomment-433226807}}.\end{ocamlindent}% \medbreak diff --git a/test/generators/latex/Ocamlary.tex b/test/generators/latex/Ocamlary.tex index 206f08a04a..fd03953742 100644 --- a/test/generators/latex/Ocamlary.tex +++ b/test/generators/latex/Ocamlary.tex @@ -135,7 +135,7 @@ \subsubsection{Basic exception stuff\label{basic-exception-stuff}}% \subsubsection{Basic type and value stuff with advanced doc comments\label{basic-type-and-value-stuff-with-advanced-doc-comments}}% \label{module-Ocamlary-type-a_function}\ocamlcodefragment{\ocamltag{keyword}{type} ('a,\allowbreak{} 'b) a\_\allowbreak{}function = \ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} \ocamltag{type-var}{'b}}\begin{ocamlindent}\hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{\ocamlinlinecode{a\_\allowbreak{}function}}[p\pageref*{module-Ocamlary-type-a_function}]} is this type and \hyperref[module-Ocamlary-val-a_function]{\ocamlinlinecode{\ocamlinlinecode{a\_\allowbreak{}function}}[p\pageref*{module-Ocamlary-val-a_function}]} is the value below.\end{ocamlindent}% \medbreak -\label{module-Ocamlary-val-a_function}\ocamlcodefragment{\ocamltag{keyword}{val} a\_\allowbreak{}function : x:int \ocamltag{arrow}{$\rightarrow$} int}\begin{ocamlindent}This is \ocamlinlinecode{a\_\allowbreak{}function} with param and return type.\begin{description}\kern-\topsep +\label{module-Ocamlary-val-a_function}\ocamlcodefragment{\ocamltag{keyword}{val} a\_\allowbreak{}function : \ocamltag{label}{x}:int \ocamltag{arrow}{$\rightarrow$} int}\begin{ocamlindent}This is \ocamlinlinecode{a\_\allowbreak{}function} with param and return type.\begin{description}\kern-\topsep \makeatletter\advance\@topsepadd-\topsep\makeatother% topsep is hardcoded \item[{parameter x}]{the \ocamlinlinecode{x} coordinate}\end{description}% \begin{description}\kern-\topsep @@ -144,7 +144,7 @@ \subsubsection{Basic type and value stuff with advanced doc comments\label{basic \end{ocamlindent}% \medbreak \label{module-Ocamlary-val-fun_fun_fun}\ocamlcodefragment{\ocamltag{keyword}{val} fun\_\allowbreak{}fun\_\allowbreak{}fun : ((int,\allowbreak{} int) \hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{a\_\allowbreak{}function}},\allowbreak{} (unit,\allowbreak{} unit) \hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{a\_\allowbreak{}function}}) \hyperref[module-Ocamlary-type-a_function]{\ocamlinlinecode{a\_\allowbreak{}function}}}\\ -\label{module-Ocamlary-val-fun_maybe}\ocamlcodefragment{\ocamltag{keyword}{val} fun\_\allowbreak{}maybe : ?yes:unit \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Ocamlary-val-fun_maybe}\ocamlcodefragment{\ocamltag{keyword}{val} fun\_\allowbreak{}maybe : \ocamltag{optlabel}{?yes}:unit \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} int}\\ \label{module-Ocamlary-val-not_found}\ocamlcodefragment{\ocamltag{keyword}{val} not\_\allowbreak{}found : unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}\begin{description}\kern-\topsep \makeatletter\advance\@topsepadd-\topsep\makeatother% topsep is hardcoded \item[{raises \ocamlinlinecode{Not\_\allowbreak{}found}}]{That's all it does}\end{description}% diff --git a/test/generators/latex/Type.tex b/test/generators/latex/Type.tex index 2c2f357b43..bdb9ad74f1 100644 --- a/test/generators/latex/Type.tex +++ b/test/generators/latex/Type.tex @@ -6,9 +6,9 @@ \section{Module \ocamlinlinecode{Type}}\label{module-Type}% \label{module-Type-type-constructor}\ocamlcodefragment{\ocamltag{keyword}{type} 'a constructor = \ocamltag{type-var}{'a}}\\ \label{module-Type-type-arrow}\ocamlcodefragment{\ocamltag{keyword}{type} arrow = int \ocamltag{arrow}{$\rightarrow$} int}\\ \label{module-Type-type-higher_order}\ocamlcodefragment{\ocamltag{keyword}{type} higher\_\allowbreak{}order = (int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} int}\\ -\label{module-Type-type-labeled}\ocamlcodefragment{\ocamltag{keyword}{type} labeled = l:int \ocamltag{arrow}{$\rightarrow$} int}\\ -\label{module-Type-type-optional}\ocamlcodefragment{\ocamltag{keyword}{type} optional = ?l:int \ocamltag{arrow}{$\rightarrow$} int}\\ -\label{module-Type-type-labeled_higher_order}\ocamlcodefragment{\ocamltag{keyword}{type} labeled\_\allowbreak{}higher\_\allowbreak{}order = (l:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} (?l:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Type-type-labeled}\ocamlcodefragment{\ocamltag{keyword}{type} labeled = \ocamltag{label}{l}:int \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Type-type-optional}\ocamlcodefragment{\ocamltag{keyword}{type} optional = \ocamltag{optlabel}{?l}:int \ocamltag{arrow}{$\rightarrow$} int}\\ +\label{module-Type-type-labeled_higher_order}\ocamlcodefragment{\ocamltag{keyword}{type} labeled\_\allowbreak{}higher\_\allowbreak{}order = (\ocamltag{label}{l}:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} (\ocamltag{optlabel}{?l}:int \ocamltag{arrow}{$\rightarrow$} int) \ocamltag{arrow}{$\rightarrow$} int}\\ \label{module-Type-type-pair}\ocamlcodefragment{\ocamltag{keyword}{type} pair = int * int}\\ \label{module-Type-type-parens_dropped}\ocamlcodefragment{\ocamltag{keyword}{type} parens\_\allowbreak{}dropped = int * int}\\ \label{module-Type-type-triple}\ocamlcodefragment{\ocamltag{keyword}{type} triple = int * int * int}\\ diff --git a/test/generators/man/Bugs.3o b/test/generators/man/Bugs.3o index d2ab4c2662..18c7d5cd0c 100644 --- a/test/generators/man/Bugs.3o +++ b/test/generators/man/Bugs.3o @@ -13,7 +13,7 @@ Bugs .nf \f[CB]type\fR 'a opt = \f[CB]'a\fR option .sp -\f[CB]val\fR foo : ?bar:\f[CB]'a\fR \f[CB]\->\fR unit \f[CB]\->\fR unit +\f[CB]val\fR foo : \f[CB]?bar\fR:\f[CB]'a\fR \f[CB]\->\fR unit \f[CB]\->\fR unit .fi .br .ti +2 diff --git a/test/generators/man/Bugs_pre_410.3o b/test/generators/man/Bugs_pre_410.3o index 5178ac1437..8177c23714 100644 --- a/test/generators/man/Bugs_pre_410.3o +++ b/test/generators/man/Bugs_pre_410.3o @@ -13,7 +13,7 @@ Bugs_pre_410 .nf \f[CB]type\fR 'a opt' = int option .sp -\f[CB]val\fR foo' : ?bar:\f[CB]'a\fR \f[CB]\->\fR unit \f[CB]\->\fR unit +\f[CB]val\fR foo' : \f[CB]?bar\fR:\f[CB]'a\fR \f[CB]\->\fR unit \f[CB]\->\fR unit .fi .br .ti +2 diff --git a/test/generators/man/Ocamlary.3o b/test/generators/man/Ocamlary.3o index 21b2312a87..f2ab4c7dc3 100644 --- a/test/generators/man/Ocamlary.3o +++ b/test/generators/man/Ocamlary.3o @@ -367,7 +367,7 @@ Unary exception constructor over binary tuple \f[CI]a_function\fR is this type and \f[CI]a_function\fR is the value below\. .nf .sp -\f[CB]val\fR a_function : x:int \f[CB]\->\fR int +\f[CB]val\fR a_function : \f[CB]x\fR:int \f[CB]\->\fR int .fi .br .ti +2 @@ -382,7 +382,7 @@ This is a_function with param and return type\. .sp \f[CB]val\fR fun_fun_fun : ((int, int) a_function, (unit, unit) a_function) a_function .sp -\f[CB]val\fR fun_maybe : ?yes:unit \f[CB]\->\fR unit \f[CB]\->\fR int +\f[CB]val\fR fun_maybe : \f[CB]?yes\fR:unit \f[CB]\->\fR unit \f[CB]\->\fR int .sp \f[CB]val\fR not_found : unit \f[CB]\->\fR unit .fi diff --git a/test/generators/man/Type.3o b/test/generators/man/Type.3o index 4effb74d90..ebaf6117e2 100644 --- a/test/generators/man/Type.3o +++ b/test/generators/man/Type.3o @@ -28,11 +28,11 @@ Some documentation\. .sp \f[CB]type\fR higher_order = (int \f[CB]\->\fR int) \f[CB]\->\fR int .sp -\f[CB]type\fR labeled = l:int \f[CB]\->\fR int +\f[CB]type\fR labeled = \f[CB]l\fR:int \f[CB]\->\fR int .sp -\f[CB]type\fR optional = ?l:int \f[CB]\->\fR int +\f[CB]type\fR optional = \f[CB]?l\fR:int \f[CB]\->\fR int .sp -\f[CB]type\fR labeled_higher_order = (l:int \f[CB]\->\fR int) \f[CB]\->\fR (?l:int \f[CB]\->\fR int) \f[CB]\->\fR int +\f[CB]type\fR labeled_higher_order = (\f[CB]l\fR:int \f[CB]\->\fR int) \f[CB]\->\fR (\f[CB]?l\fR:int \f[CB]\->\fR int) \f[CB]\->\fR int .sp \f[CB]type\fR pair = int * int .sp