From 28000e888a731da048bc76584d43bcefbfa21890 Mon Sep 17 00:00:00 2001 From: Wiktor Kuchta Date: Thu, 3 Aug 2023 15:05:11 +0200 Subject: [PATCH 1/2] Use documentedSrc instead of code in polyvariants For consistency with variants. In the HTML backend, this merges two elements into one. --- src/document/generator.ml | 14 ++++---- .../odoc_html_support_files.ml | 18 +++++------ test/generators/html/Ocamlary.html | 32 ++++++++----------- .../html/Recent-module-type-PolyS.html | 8 ++--- test/generators/html/Recent.html | 11 ++++--- test/generators/html/Type.html | 26 +++++++-------- test/generators/latex/Ocamlary.tex | 22 ++++++------- test/generators/latex/Recent.tex | 12 +++---- test/generators/latex/Type.tex | 16 +++++----- 9 files changed, 78 insertions(+), 81 deletions(-) diff --git a/src/document/generator.ml b/src/document/generator.ml index 039f55aa23..6712c6acca 100644 --- a/src/document/generator.ml +++ b/src/document/generator.ml @@ -667,12 +667,12 @@ module Make (Syntax : SYNTAX) = struct let kind_approx, cstr, doc = match item with | Odoc_model.Lang.TypeExpr.Polymorphic_variant.Type te -> - ("unknown", O.code (type_expr te), None) + ("unknown", O.documentedSrc (type_expr te), None) | Constructor { constant; name; arguments; doc; _ } -> ( let cstr = "`" ^ name in ( "constructor", (match arguments with - | [] -> O.code (O.txt cstr) + | [] -> O.documentedSrc (O.txt cstr) | _ -> (* Multiple arguments in a polymorphic variant constructor correspond to a conjunction of types, not a product: [`Lbl int&float]. @@ -694,7 +694,7 @@ module Make (Syntax : SYNTAX) = struct let params = if constant then O.txt "& " ++ params else params in - O.code + O.documentedSrc (O.txt cstr ++ if Syntax.Type.Variant.parenthesize_params then params @@ -706,16 +706,16 @@ module Make (Syntax : SYNTAX) = struct let url = Url.Anchor.polymorphic_variant ~type_ident item in let attrs = [ "def"; Url.Anchor.string_of_kind url.kind ] in let anchor = Some url in - let code = O.code (O.txt "| ") @ cstr in + let code = O.documentedSrc (O.txt "| ") @ cstr in let doc = match doc with None -> [] | Some doc -> doc in - DocumentedSrc.Documented { attrs; anchor; code; doc; markers } + DocumentedSrc.Nested { attrs; anchor; code; doc; markers } with Failure s -> Printf.eprintf "ERROR: %s\n%!" s; - let code = O.code (O.txt "| ") @ cstr in + let code = O.documentedSrc (O.txt "| ") @ cstr in let attrs = [ "def"; kind_approx ] in let doc = [] in let anchor = None in - DocumentedSrc.Documented { attrs; anchor; code; doc; markers } + DocumentedSrc.Nested { attrs; anchor; code; doc; markers } in let variants = List.map row t.elements in let intro, ending = diff --git a/src/html_support_files/odoc_html_support_files.ml b/src/html_support_files/odoc_html_support_files.ml index fc403795a0..bea9ec7d35 100644 --- a/src/html_support_files/odoc_html_support_files.ml +++ b/src/html_support_files/odoc_html_support_files.ml @@ -126,6 +126,8 @@ module Internal = struct let d_4a0d6b1f3fe23870dc64a5c9998fab74 = "wOF2\000\001\000\000\000\000?\020\000\017\000\000\000\000\134\224\000\000>\178\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\028\027\030\028\136$\006`\000\132|\b\129\018\t\151\023\017\b\n\129\201h\129\172t\011\132\026\000\0016\002$\003\135B\004 \005\131T\007\137\028\012\129 \027*u\005\227\152%\224<\000\129\146\245\0192\138`\227\000\146\024\188\027E\176q\128`\191\029\221\252\127=n\012\017\236\136V\181\014%$\184\218T\228\158\166U(Wg\163{\147a:=eRp1\147J^\223\209\2050\133\133\228d\197\175\140\135\219wT\007\025\238^\197\219\016\196\021\023\132\127`{b\209\027R\240Ew\255\224A\173@\130\006%\186\244\193\195\239\004\165\168OFR\248\156\191\220\248\232\b\141}\146\011U,[\247\236\127&$\225\016\158\194\135\168\192\168\168q\022\148@HT\242_\b\159\212\237\146\029\149\193\145n!\232\169J\228\014\192\220\028\130\003F\245\"a\209l\205\130U\177J6bT\140L\005\251\162\024\137\141\145`\005f\222G\164\149\015\255+U}\239\253\191\187\000I\145\162U\154{\191\177\164\168\204\144^\151\170\225\192p\131\145V\024\235\152\243\197\247SB\004\141\177f\015\151\012\161\019E\155y\018Mb\157\140GR\164v\154\254\031<\212^\219\219\250kK\178I\255\185\163\021\133\208\027\154\187u\224\016\150A6\165\025\020H\135D!T\243\159t\234\251\167\147-\019\004\248\146\179\212T\186 +>;\132\176g,\224\180u\0243v\157\218\006\247\223\007\248\1919\255\243^\0250\177$#H\182c;y\196gF\003\152\161v\213.\187\236~\247?\031\234\210S\203\167t\011\179?\192,\217\133u\r\001?C${-lc\136\245\249\159\181\026\"\030\228\135\015\222\221k\214X\198V%A\1471l\214\228p\164r;\189\244:\000!\142e.\212<\000\202\031)S)\006B\185\253\159\174\223\223I6\200\189\025^EoEIQA\143\143DX\194{\001\1949\193e\13429\180n\203\195\190\152U\201\006\241|\207W\249{S\205\246\191]\174\004R\014\132\194\012\229\172\211\197\216\175\194\217\2449\151v\229\162s\251\241\255_\252\221\191X`\177K\222-\022:\029\024\164#A\209\002\b\158D\018\180\006\1297\179\1608\030E\135\016%9\209\174HP\129\162\018%9\166Xt\030W\149K\183eJ\157{\023U\239\162\247\024\250\246\139\213y\243\023\148m\1916c6\029\026\014-El^\185\028\rY\196\146|\239O\200\131\140\229\230i\150\001s\171\237_/\219l6Hjt\168\006\011{a\137\183g\246\134\211{\127\179\255C\023\186\166\215K\144\208\000\145\153\136B{\191\158\\\004\001k\128\017;\019U\014\185\234\1730ijA\026\182\r\155?\157YA\020:S`#`\197\202\155\133\130\231u\238\188\228\229\014\241\166\177\207\156N\011X5\227-\222-\243\231\164+\225\238\185\165\150\186\133\209\173T`u\006\028\243\166$%\219\\\170L\022\233\163:\014B r\138\203\178\019\004\150}Y6\002\178`.\203\138_&\244eY\240\017\131\186,\197K\020\242\178\004\015\017\136Kb\220\132\193\1836\b\023\025\175,\243\247U\002{\146z\127K\167\210\031\163\240 \232%\030\211\142o(]N\148AR\196\"\252'\191\145\159=\"\252u\153s\251\132_.\001\128\216e$\131Ld,\179\202,2\0056,Y\201\137\011w\150\003_\201wI\241\219\193\183\019\127\145g,?}g\141DHa\154\1381E\241\202\012\194G\169M\187\014\157\186t\235\209\171O?\132\023\165\"_\208Z\131\134\012\0271j\204\184\t\147(\170bD\214,\194@v\245\133\154eAT\020\174\138\201\243\003\130\180*\208u\238\023\020F\215\207\1536`H\155~ \005\233U\005\195\003&A\212\196\245\166Y\137\023K*4r\137[\175\162\023\238\189p\204]\130\151\147\031u\204\175~\243;\128rU\143\127\157\143\187\232\015\127\250K\024>\021*U\169V\163V\157z\r\026\029v\196=?\2489: \172pB\004\132\247c;.\196DV6!\134@5\133\139\240:d\201\203L\201\246\160$\152\011\167`\136\221\197\220\b[\253\137\190\211<\159\1702\239\162\178\b\203\212\222\194\203\141/`6\200S\222\r\128\171\188\174{0\"\004\144\014\155tS\031\194S\160\149\179\030m\022\2428/\238?\211\185\225\007\128\251\148F\191\001\240\012 \189\153\006,6\161X\185'\028\nG\148w\031\217CH\017\196\197\209\195\215\239\1274\208\1503\185Zn\151\187#\\\200=Q)jE\131pD\191(\200g\203/\247\138\245\191\251\174A\176\161\228\031\243\0207|\157<\186<\155g\213\214\149\187\162\\T\175\177\239\011\165\127\000p\r\000-\001\134\149LSK\149\027\000\171\143\193\234\193\247\196+\255za\1925\223\185\234e\000\254\253b\187\025\191}\239\185\221\254\216\166\2209K4k\181\133\029\011V\156\216p\224\194KD\178\020\169`\192 \160\018e#\192\194!\193\251\017\017\023\011\027\135\016U\136\156\132\148\146\140\130\138\150Y\001#\019/'\0237\189R\149\202\148\171V\225KU\218\181h\213\166G\157^d5.\187\228\182;na\198\147ANrW\029\144^\000}\184#\231x\172~Q\150X\189\028\165\127:\"\2250\193O\188\021\128V`\217\240\203\020\020\001\171\186`\136\134\014\016_\028B`\249\163Fg\021\0267m\157\252\170\006\179\221\161\005\011\199\021.\011)\129M@s>\003A[\021\131\020\196A=\006ST%\188\155\193\157\143Y#\133u\161R\152\252\164%K\2257\b\011\227Z\1947\130\208+n\234\2214\020\182\029\174\138\198\166V\199\002\169U\180b\209{\014\213\201\127i\n\0206lO\b\169\b\139R7\234\2544\176\198\024\001\242\140a`A\215\140\137a(*\016\184\237\170\004S\143k\152R! \149\144\210\128\014bp\197\146%U\131y\164h\195\198''\015\198A\1921\233\202\129\167\201\159\167\247\135^h5mpgB\219q\225&\141f3N\249S\218\011\225\022\211\029\209\163M\133\160~\157\129\005\007\005\244 f\152\000\215\227\192\142\234\1988\014\030L7\248AEf\230Gt\229\128\227\136\021Y}\223\026pm>9\146\165\178`\004\186\160^\201p\163Py\248ca\154\020y<\200\128\219\182\238\247\242\144\170\177rP\021\207\205\016U\240#\132\173nKb\249Q&\018\025 \137\220\028\160j\138\162\196\165\169\179H\216(j)X\154WR\015\137\169\192X\017'\178\142\024q\021l\"\227\232\193\001\"OO*#!uX\130\024\222\251\018\138\144\012\202\016:\2248\246\242pR\215V\247\001g\152\131x\170\164\026\154\214\129\159\228\205\147O\205\167\188\165\167z\221\019zhj\153\0202\200\153\011\167U@B\207\232\137{\004\232P!\225\025\151\178\204V!\186\130\216\016P)\019\012{\017!|6x3\237\191\156\0319\229J\254\024\173\197\004\002\177\b\209M\174AT\151\016\131H\191\194\197\026\203%\014\193\012z2`\2155\003Y\248e\178\170\138aM5B\002\217\026\154C\\KGX\015]q\145Qiz\195\138\133Dl^qR\247rM\018\154)\251\250e\225\200*\227\227\248\221\171wz\225\163\017z\189qG\230#\244y^\136\020.\187\243\189\135wc\226\181\216EF.=\248l\183\006\144\136\2490\014\190\199\133\031;\199A\030\168\169o<\214\179\011\1430T\228|\148\202\208\t\249\014\185\212\195\220\140\004\159\145\135\140\167\022\250\170~\217\144$q[\2396\242\168\151P\176\002\163\132z\\\248#\024\r\137\205\250\141\209\0250\201\1911\1610\166\164\134\001;\251C\157p\227\231\2552I\153\253\220\177\024\241aPQ\200T\253\005\162\183@\227\162\210=]\241E|\224\234Z\1894\216\163\143\234\184\192\250\004\226\190M\197(\248\207\141\023\171F\"\221<\027\254\158\218\017\004\132\181pN\196\018\169\176\1996p\186\142\196\159\005\147\146\179gfRuV\250\239\130\244\031\140\196a\030\224\182\128?\2279\202\t6\225\250\243\208\176\164\218\184\232=\231\153\028\146\0188z\200F\004\1743=\200\234c\206\184\245]\202i\t.\165>\199(\248\161^LaB\137\212\020\132\127\178\227\232\205q#\209\189\030\193:\225\179\204g\028\150\183G\005L\175\030\191\237 fC\218\173UL\247Ae(\236~\1747\250\183&9\174\150\180|Q\248\225L\131\175\r\194\186\225\214);\197\181\017\140\014u\020Ed`Ai\174X'\247F\164j.\152\134\158v\238\136i\154\"`\130\183i\171\241\151\222\248j\229/&$\129[\222I/\167'\187,j!\239\161\026\167\146\154ro\219\200{}\246\014&\175\244\235zH[\184\160\158A\196p\244OZ2TL}\1499\144\140\217\024\002g\136\177\189.9\174YRG\199\217'\177\000\128\004:&A\031\2507\157\023\248\242\248\023)\156]\004C\201\031\232\217:\200\156y\127:\225,\029w\221\141\242|\024Q\027#\255#`\162F\220e1\1901]\175\131\174}O\185&\007=\253\255\235\140\150W,\222\211f\2187\022\201\229?\150w\2327\130\169\141\254D\166\2370\\\134kJ\r-[\184\231w\211S\177n\n\180\030\232\252a\168G\211\215\194\180\228W\253\173\t\2017\025i\219>n\140Gv\192b2C=\168j%\017z\134\0003\177\202\006\179g\248\141\233\173h\2517\143w\178\237\191\231\232\223B\174Al\221q 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 > ol {\n margin-top: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.spec.type > ol > li {\n margin-left: 2ch;\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n}\n\n.spec.type > ol > li code {\n min-width: 40%;\n}\n\n.spec.type > ol > li p {\n margin: 5px;\n}\n\n.spec.type .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 border-radius: 0 1ex 1ex 0;\n right: -20px;\n top: 1px;\n bottom: 1px;\n width: 15px;\n background: var(--spec" + let d_4fa7f17c040a9903c4b04eb8e7690333 = "\163\229\170\031G\220\173\179p4\\[(\206\234u\192\031\177(\198\234\137\195\005\163\016f\175}\2184\0051vo\023B0\242S\172\251\246\138\156\215kPwo\150f\173j\182\183#\023\012Z\234\221[\165Y\205^)V\030\190\001\138]\201i\148\170\209\153\229\137\023|\227c\219\167\"\234g\247L\233e\029H \186\142\188\145Um{afFXf\138\194\247\216\255\167?%&\212\004\212\226\190iS\163\017\254\217bF\226\029\199\n\177S@\214\178\133\240\143\132U\015t\019\181a\005\191\127\198\214V\158\217\161\201_5P\147\1600(\173\020\185\027\133\200\175\133\225\221t\223+ut\249\202\n\184\184}\224\187&e\133\154\211\r\206l\159~\246\031G\205\213\216\220\192B\185\129\163z\250\127\193\247\024<\158%uK\005f\004u>\154\172H\194pW\007\019\239W\141\004<\245\163Z\025_\199\192c\216b\215\251\203\030\175\203u\213J\155\198\192~V\230z\138=UF\137\168u\\\019q\174\227\156\169\174\146+k\2482:\025\245\229\1715\bW\149\154+\172\237\021{\188\230\004j\224\184\133\179h\225\\\200\026P\169?\001j\r\173C\018w\188\167%\144\139\149=\\\012}\026\011)\155\167\240D\242\020\133\236\137\197\192\190\004,\241TV\226\004\157\2454K\206\173]zi\223u>x\029\248!(\177/\149\183\131w2\133\183\130ghH|\016\186\165\235\1405cW\198\217\159JFUgd\031O\191\140\217\144\200;\143^\181\006\179\178\246\194i\007\2378M\145\157Y\209t\029\148U\243$\184\191\254rY\146\243X\253Mt\029\151\230\200Z#\222\243\171g\221\203r\226q\169\215\239\240\180\215:\197\139\211M\r\2046\137\190\168\133\207\254\170\132M\213c\254y\026\022\170F\151\163c\239\251q\\\137\007K\150\019\"\183\170v\129\1602\018\234\243(\215W\163\233P\007\200'\207\249K\249\229\021f\185c\160m\167P}j\165 \184Tf.\200\139\214b\188YQQE\170\172:\217\201\199\229l(Q\191\204\189Jb\178K`\183\217\144\031_C;\154B\021\188\197\153\230N^CN<\244\204\130\024\011~\167\028\129\239\232\252\007\189J\238\\&\210\023\182rY\005%u\167\208r\165\177\178\139\165\023O\186\217\167\241E/\252\204\015\219E\225\198\158\181\141F\241\158\137h\1577\154\234XmI\020\155\133M`gW%\236$QR\223qG-\159\214\127\186\030\202\175\153\025L\187\179\189\206\1949\216\209\2362\190\132^\189Y\1973\23053\217o\023\195C\143\138\150?b\228mx\199$\219R\221\174\1860Y\231\151\213\210y~\133\1383\214\2364\018^\159\028\133\214\208^\175\166\200\132\229)\196\028]\250\159\014\179F#\019T\2409\241\212\182?\248\"V\147\182Z_\155F9\234\219\005Z\237\243\"ey:\r\254\237\221\017\239\141ZE\243S\245Q_\196&\253\161\201! B\251\139X\226\1384y\189tD\174\214\244\195[\154\024\141\169vyc\141T[\128\235xB\168LQ1\219-\160\022K0\213\210Q\235\179\203I\028\223j\234\232\251\170:\174\252>t\253\248\186Az#\252:+RNP\177\020t`t\237\029\r\134\224\172l\243\219$\011\235\235\1558mRuq=\203'\225\208\245\152\175\222\132\245\190\136\150*\197\185E\236\225y\154\031\n\176o\005s\165\131x\244|\253\167\011\150\164\192\231=|\166\251\031\136\0302\175\135pB-O\t\149@\149\252\189\249\1767\132\250z\t\251\233\145\193U'7\169\249\018\173OW\\\251\245\201\140\255\029Y\173 \147)H\021\2517\178n\161\254\211\189b\221\221Y\201\254\140\180O -\015\184B\153H\152\133rz\231\193\002\224\003\180D)\202-b\143\204\211\253P\128\020-i\134^\002\225\155\219\187F*\201t\208+\163x\236\188\0302\181\210\189\194\193\166S_n\253\215\205*\155~I%\189\217\003F\179\134\222\180\209]N\196\006\201 \001\221\252\210Q\141\242\tX\253\247\127G\021A\190\1512\173*\\\216U\004\187\t?\2462\214\149~\185E\220\213\211h\231\239\025\175k\136\198{\234\139;6?^\223`\233\228nKr\177,X5o\187\139%\197\217\127\127\151\224\019\216\249\011\237Y3l\172\158\022$\127`\029\193/\1945\1960\167\247\235\187p\240)\189\212X\208@\165\188\177\222#\141\024\197\198\130h\025\249\137\025mZ!\231\197\178\155\213\1872W\251*Q\159{x\190\026M\172\135g\145[\226\r\241\158F\187`\207H]\132\239\160,\025\028q\137\007K\145\019~lr\nKs6\148p\132.\160\242\133[\029w\186\131\229\026n\238l\000{\171\0062#\212\150;\173\142\198\176\139wh\1609\196\153-yv\143X \019\234\139\162f\006\024\251\031\244*!j\250k*\213\205ws\014\0145G\152\179\197\207.\136S\134./\136\177\153\015\141\b\156\227^\136\225\132\187%wn4\149\229\027pd\187\167\189\214-Y\156ih\136\135\1855\215\230\193k\194r\193\141\166K\244\197-|\246_0\239N\2281\242\174\203\2242Qy\158\006\245\171!\255\nXQ{\212, o\024B[\149*\231\003Y6\028\165\205\006\225\240\163\200\028\149I\204d:\154\232fu'\149c\182}n\197\239\205\131\172\158\251~T\158L+\1602\141ue\026o\168\233\242\205M\170\0312\026&\227m\149A\139\148\232\016\205\173\203\134n\156{\178\255\025\018\157\234\011\011\r\232\0316\242\235\023\138\b\148b\216\155o\254\157\137\241X\243\225\248\248\226\156\163yfP\155\252\221T\187\194!\255N\237x\227\156\021\192^\r\005m\196\227#?\153\160h\189\201\164\207\198\162~\209\131Z\172\136\248\004\b2~-\162%\234\169\003\203\213\018\b\138\189v\158V\003]#UA\168\028G\153}^\015\153\\i\214\007\252mh\2007\144\235>\2001\204\158\185=r\026\003\186\004\185\n\154\236\159\188\134\129,\172\\X\191\176+c\161w\193\144\014\217\245\247\168\220\019\178\251]\247\207\\\145u\254~\130~\210\127R'Z\145\252\220\183\233\171Z\141@3\245\019\174\019r\016u\250\192\233\131\178\023 \160b \169\t\214\179\027\212\150J\186\004\238\214GxVpx\254\170\030\211\169\236/\026S\155\138\254\159Us_(\196\180\231L\176C\141l\210\162Z\131\156F5E\216P\245O\249(\130S\027.!\188\197\158Af\143\213\006\020\163\227\025\174 tK\1981\150B\028?&W]\195jZ\206j}\192\019\254\203\207t\142\250\209G\193\136;\148\019\030\2223(\200~\131\213\134\182\128\156\193\213)\249v\143\006\146\149J\166$l\143\227\138W\243r2\138\153\170\028h\213`%\136\208\195$R@\208\153UEk\248{/\149z\229\127\189\245\151\221\025\2187S`\230!\145\1595e\246m\203\236\187?\185/\232u\026\132\177f\153\214SS\229x\186^:N\029\177J\166fQ\136>\153\146\1375\131\251\246\131\007\190\212>\025E\163Y7\131\156\172\194\248.\028\190\190\002\134u\165Wn\007E\191\155\247\239X\157Jr\205\135Y\233M\2434\159\254\203\011\1477\240\031\213\0154\143\215\183Nm\018\192U\174k\030\171\207\239\202\020\244.9!\237\162!W\226\127B\031\147v\210lg\015\249\014\237\214%\205{X\029?\2078\131\023\252\020\154\149\201\"\215Nm\024\011\131\147\156G\156\207\232\2161:1Zf\"\162'P\232\011L\151\149\029\231\234\\\163\023\162^\173@\239\181\228\238\208\169%\028a\243\1606`hbg\249M\007N\227\216J\005\031\247\001\157\143h\198\242\r\004D\r\006\171,\161(+\171bDEgn\178\184\220\144\189u7tk!(\239\215k\195\244\135k;K\247O\230\238\175\248\156\241#t\211\167\250rO\176R\"\026\024u\133\r\017\182\196o\005\233%J\151\196e\202]\187\177\145\222\252\216\226\210\019\201A\183\132;\209W]\221\209<\212\213\235xeaL\131\231\172\210\171\163\241\156>\168[)\176\018\"\140f)\241cX\241\198\153\154R~\146\166\236\167C\160F\133n\154Z\154.\004\015\019e\147k\196\234\240\136\192\173\175/\227\216\217[U\182gx0\138`\nq\002\134O@\192\193\170g\193\245\019C\r\130W'\2316\133\162c\195Q\193kS\243\154\248]\162\225\226K\022\225sp\170x]\209E\187\240\005\152}m\207\b\184\231Jf\207\001\254\194n\023\167\233\231\153\025\245\216r:\149jg\178hu\027\183N6\021'9\143x2\163c\231\208\214\245\\\015\t\219\131\197\202Q\024\183%\210\182\2215\176\028\192\211u\020\169\165\198\146\187\211T.\019\202\155\199U\129\242\024G\225/\207p\n\140*\129\181^\129h.\019\n\228\004\248\199\165\006\141T\227i\172\154\238\204J\182\140\171\161\182\249VU\144\145\247\215\179\195>ol\170\192\159\156\204;Ya\002\027#\001\163\241\255\210%I@\2342\229n\184\213\184\130i\222\139h\255={\014\192\141\171\170\169P\tG&*\026\215-\189\144\020\244\2029S}>_K\203p|\192\246\206\222\137M\158YE%\143\206s\133\161>\170\166\004\143i/\235V\016>\132s\217\201a\b\190\130\195\156\196i+\130\211,>\028qe\175\186\152\022\014\135\023\233W\006u\017*\2197\139\212\225oSk\209*2\157\021l\147:\170;\\F\190\208\165D\142~\193!*\177\193\237\143\222\163\224P\004\228o\129\162\012\029\253\240\198[\141\006\135{\183\180\250\210r\233\218\250\027\015\2373\188$-\195%\155k\017\158g,ez*\193\205W\240\134\214:\170%?\163j5\"zH\230\144\011\190q\193\207\234]6\019e\157W\175\208\021\173F\202@\213\255>\160\186K\1994\184\226l\002nL\141+\129Z\248\135\005\135c$N\144G0\029\244Hs\207\234\2294\"E\173\021\0258\167\242<\216\212\248\206\171^\131\197\134\129\216\161y*\141\140\171+\247;\242\207\234x\020\194D\209v\"\129\196P\184\208\1720M\165\226\173\241qj\135\231\220/\193\231[\242K\136\249H\018\229>U\199\247v\212\156HwQ\210\226[R\029\183RM\011\233U\232\161\015\180\b\191'\221\223cv\030\000\026\252h\234i\014\139a\173$\011|t\181\134\251*\025\181\015G\196\023\190g\129\127\145\127\014^t\131\195\162\217\157e,\163\222n0\241G\027L\026\225&\154b\016\134J\186:\203\023\251\2027\184\156\031 \197\175k!\197\169\214\230\198\195\169\166\231kkq\215\153gR]\024\193C\024\018\247\158\027-2\216\165tK\000\141\228 \251\140h\142\210\204\161 \157\143\251F\175\229\129\127\209^j\017A\176\132d\185W\030$2S\255\007\005z9\223[r\214b\144N\156~lw\001\168\175\019\236\165\183Z\246\021Q\223a\211i&\023\137\165z\017\131\190\163\000\023`s\138%\00460=\161\195\215\163\248\222\155\149]r\251M\020\155\186\022\233\n\191n\205\152\167\191\000\220\1460JZ\004||-\163\253p\146\017J\184\147\012\184\1477\155\239\012\199-\180\001\235`\141\165\189n:\143\215\223#Z5k\019avTB\204\186D\003\236\029\217\000\003\204\027\001X\223\184\165\198\239!\160\030\161\t\235\137\176?\222S(X$\130V\141'\178-a\255\234k4x\002\0288\229\208Ce>\245\172}\214\163\188\240\184+q\003\177\132\254\031a\233\136ui(\147\194\2546\159\174\231z\149\249\136W\142\216\174\180S\174h\024w\248\160<\rnv\228\"\161\2100v\150\187\172U1\239\2402*Y\212\232\168!\181d$\203Mv\237\142\215\214\206\253I\011\165\223\176\236M\203&\183\130\129U\214\031\253\163\017\149i79\187'\191\140\178\186\252j\023<\247\181b\137L\236\177F\162\027\231^\155\182\127\128\243w\207\215\171\023\222\n9d,\172\178\226\232\nmW\001\200~rv_\030\133\188&\235\2338<\247\213\018\201\191\030k\164ac\165c/4w\019?\151\r\180\223K\031\135\231:F\198\016\128\128-\224\254\239\178\250q\172{*\246\211|P\158\022\203\127<\196j\228\028WW\134\n@\185Z\204\250\145\139\132\200p\150\155\226;\199C\240\185y\201\244&I(+\184>8\221r\226:\021\140,\188\182&-\175\001\147V\212\224W(s\138\242/\"A\178\249\240\172a,\174\186\220\167\143\162\014\161*\132%X\239\218\147\148,T\193\r\206Cs3\203c\161'b\224\1745)\161\139\248\220C\220\148\248\139k\192\150,\127\238\199\241y\015r\026\006Cy\007|\184\029xC\131\136\160e6!'mC\162G\237\151\170\154\000\160\237\153\204\193\200)\219\160\248Q,\225m\168\214\232\195\225\220\207\133\210\157\004C\147\b\016r\127\224\216\131\208\028\191O\139\199iJ\219\245\157\206\171\1740\128\017?pt9<\145\207\175-\197)\241\177\195\214\001\128\192\172\191Y}\159\128\251`\159\233\171]\165\127OA\001\216~\133G\146l\254Q\198s\017\247y\243\1420\0048FZxW\024z\253\029\143l\225\185A\143\000\241\135;\153\188\207\138=\1796\217\190e-F\142;%\189\166\215\200\207L\005\233zx~fl\224\184M\152\191nJ.\145\212\012Sr\246\156\142\156\1994PS\135KA\157\169k4\130\179w\182A\183\026\210T\175\151\215\223\250\011tu\172A\1656\149\027\165R\177\201\168V\027\203W\203e\171\141\133.\183\154\196R\217\003L*\181\225\207\249\211\173\005lV\001\149V\192b\023\208\234\143\0148}Zk\211@sf\206\178\142\156\221\159e2~\2458\228r/\235\007\"\226xg%\194\238\149Y\155\219k\210\178\231\182\231\204\249\179\228R\171M\206\214\149\177\208%\137\215\252\007\1656\145\247\007\132\253\131T\205\1390\2195\233\155\002\141\149\148Qq\208\b&\198\198\215%\183\185\225610\218\006\183\203J[\142\24677\155E\242\170C\163\232\r\1277\228\132)\200\238\1672:\188\179\169L~\1562\205\166\200\b\166W\2474\134\135%\225\176\226kW\137)\205\149^}9\205\182\004\212F\218\014\189\021\017H\181\141\166j\199\210\146,\184s~22\248\238\135\189T[pDy\208\149\1270\127\239\139\006\251\\]\021\157v\181\r\182e\230\212v\228,t\166\171\173\021n\145\220\199\145\211\168\2407\231\006\194\236UJ*\201\237\021+\128\217K:\236\151W C\161v8v\154\203T\152\146\207\228\185\204>G\1858[\249\011\194\254Q\138\230%\184\237\250\n\205:\190\210J\002U\\4\128I\173k\135\000\221\021\b\1558" let d_4fff47472c2ce7d1d0360d2345161ba6 = "7\217o\133\154d\153\202\187q\218QB\027\029\185\t\143ds\142)F\003\223H\170ma4f\024\0126D\140\149En\006\007\138\180sm\1751\027A\178\178\218\221\2360\173\218\178a\030\130\252\166\004z\148(\146\021\236[\134\138\229\025\220bR\030=I\242PXL\143\226\178\004\175\158\181\180\128V\193\216R)\240\1737 \224\221\025pr\022(\173\214Bo\216\155R\019\200z\004\000\236\160\182\222\239&PP\141\007F\221^\200Q\186cW\128\027wT\153\156\225#\003\130_O\236\248\206\207\186*I\172\244\145\b\213\144\2161\b\199\239\"\246\253\203\234\139\189\239\251\222\178\226q\141'\174\236X\152\133\208\142\153uj\197Aha\161X\242nfa\181\031?\181VQ[\1593T\215\023f\198\244\",\200\248\233\211\224\139l\025&\202J\020a[.\014\029mZ\248Y\139\225l\194P\128\1939 \005\022x\017wg\168\171\007\000\218\128\014 \201o\217!c\178\182l\160\024\026\003\168\244\228\1825\200m\161\174\168\178\232\234\133M\245\243<\178\003\004\137\133`\170{*\252Y\128\162\218:;J\167\238JKd\158\162\158\193<\199\240\002\221K\132W\173\227\181\183\164w\b9\210G\179U\031\251\132\230S_\2081U\232\0140|\143\233\007,?\194\253\164md\227\196\141\023_\023\137\133\237\016\134?\192\254\196\240\151\024\149\215\028\141=\2045\252\169\016\162\029\141\159*\192\017\240s\132\011M\145#\214J\188\207\220,U\017\017/\244\162\021N\015\0143\199\246?\248\192\193=\147?\141I\132\163\154}7\128\153\2204\188\1759\244\183\014\210\235\174|\166\180\243(W\141m\030Q-\143\136\149\014\165\210\177\183\182<\242\168\221\030\223\250\1969\231]p.\151B\030\141l\173\216\253\138\tCR\003|+%\198\127\177\230\194\180\180\211\030\223RiI]\162l\006\127\182\137B\142\227\191h\175H\1483\128a\003\193<\246\141$u\141\255\203\213@7\219\1853U\234\161a\158xH\014Z\135\180\195\196h\171\0306R\140\022\170\201iT0\216t\215\020\163F\1694\169Y\1433\215\230r\174\024\247\244#\222\220\014w\205\146[y~\237@\233\254\023\165\bU\132\150{\242|\005\225$\002\159GKFU6#\158\218\238\156{\166\251\210\152\136\179\026\254\130\164\141\022[\158\245\130x\138\234\016r\"I\242\233\141E\136\0257\139\t\146\246\220 c3\215SSm\1673\160\016X\016\180\022\188M\030\1404gb\235\243\026x\171\182\158\026\028\176V\219\147z(e\021g\204\003\204\140\209\183\209b6\154\002K\168\162\025F\141K\1520Vv\\\151\136\029K< \203\019.\183\174\199\177\178\177I^\171Om\198L\152\228\166\023\212\131W\217\176\181c\230r\155\163\188\132|)$w\148Y\255\150\005E\157\254\187{.F3\"\159)\235\r\\=\167\131\231\"\171_\222x\173>\146\187\004z\132\235S\161eS\0200H\134\021\184KsO\190B\029\220j\247\1333\177\026\203\148\152\188\144#\195a\018nC\129\027\2450j\199w-\143\207\200U\131\200\020 \001\011\226$E$l/\193\177\187\148\n\132\252\161L\189\1278}\024\241\208)\141\245\170\185\128\022\145nJ\193\184w\188b_,is\131Lf\139\151\245\128~\150\023\0270\223\020z\160\1620\172 \173\206\255\212\027\001h\130\250H\158Z\171\219a\145\237\128=2\137>\131\253\226\030Jg\027\r\154\241p\t\177\1739@\147\228\023}\218\151\228\1620\231\1405\213\235\208=\132E\180\237w\195\178\153Qv\249.5\217S\206]F\217@`l\210\168|!\018ECFs\172\028\027\145\248\164\205P&\186\150GI\163}\226n\016\003\218CO[\159[\192\148\130.\217rR\154\154P\162$\182\136\182zY\004\217\2168dq\b6\227)8\006\175\128\200*\2499E\225\206w\148\242\134\213\nL\222\204^\244I\178\\\245\217\1662\158.1\031\250\020\2397=\176Nl\213\007\235-d\bN\003\028iI7\029l\231\194\2061\018E0f\\\210\166Xx]\198\201\177\191\137j\178d6;H\140\167(F$w \240\0303\194\194\130'\1440\182\017\006\161\016\216x\237sI\251\2425\021H\000\211\203^#\225\204\245Sa\157\204\023\163\142\224rX\202(\254W\131\029\028@\018i\200\004\178Z\\\133\\\179\007\017P\175Ac?@U\163\170\2294_\209\031\194\"\025\164\138I\220\192\1916B@5\144$5\024\t\212Aj\233r%\005eP\221\128\2459`\159b\r\223\188\232E\191A\027 \203\240\027\127\130q\180\012\248i\174\217\143Rt/p\b7\211?\207\007P\142b[+\230.}6Nrx\030\161T\203\164\000\135\247\200~ka7\239\231;`ys\220\207\166\183j\207\234)\235\245\129\182\142\026`\0114I\195f\248\217\027\156\134\231\200O~\176M@@\168\218\18422\164\231\223\172\141\197\135\224\133;\151\210\026\181\251\144\021\014\237\153FS0\224\170\235w\159j\136\133\002\199\242#P\151\140-\0191\224CMD\183\214\155G\136\253Y\193sd\234\189m=z\189b>U\184Pp0\237\187bI?AX\201\217\2385\158K\244\196\"uK\170\031Z\\q^j\158[\\1\159Z\177\132\14512\030?\2064\187\138J\004\011\154\244\1476\229\191\232uQ\192t^\140d\163\232\132\231Z\244\204X+\241\164\183-\197A\239y\184\227\255*\177\129\225\006\202\199\130\171n&\247\189\244\154\153\189r\133O-\131y@\225\012\236\001\028\169-j\015\005\135\140\n_\170\199f2\218>g\138\018\185C\185\253\146\006\130\2553\149\167&2\181u\236\198\179\203,l\146n^\225\170\234\154X;r\237\233\203\179\186y\201Q\209\017[:t\229\201\203\147\220\188`+k\027[8p\233\241\2033\023\252\137g\173\150\145\153}\023\030\133;\1830\166\162\166\161=\2312\028\174\127\188\148\161\160a`\215\153\251\2150\161\011\230\226\206\220q\234.p\224W\179\190PO\234\196\173\231\230\225\233\188\202z,\246\252\129ZPU\131\133~$}CW]\133\005\204\253\159My;\197\188>\210\190\213Z\146\135\137.\207\022Tb\1740\014\184\204\177\209\145V\224\148\162_\239\\\165G_\238\223\011\159\020\189\011+\031\157\232\139+\014\187\012\024\168\016\128\195\144\145\016\017P:f\026\232\151\024FMA\154U\028\210\137\193\194\2170\230\203\243\025\185\015\022\240\143:\179\165\213T\153/\153\011\211\023\158\208\149gv\017@\249\167b\130p\1411\022)\141\204\234\023b\129\133\022Yl\137\165\150\2337`\249\223w\253\177T\169\159*\253\r0\208 \131A\184p\014T\146d(\176\194J\171\172\182\198Z\235\172\183\193\198\191\003\1875\1692\189\244\214G_\229*\026%\217\1341&h\205\015g\195\236\254\245\240\154clh\145\128\176\242V\003\136\131\213\b\169\213\233-\n\0213\139[\216\031\132\202p\016\143\210`/\230\\\r\213K\227\138\001\191\213+\000w#h\012\160'\180d/G\248\019R\191T\133V\133P\181\018\017\236\250\159}\202x\165]\133\171\016\0188$\157\194(\bA\166\208\149\1762\225}\186W\014%\201\150d\153I2\018F\171;\019I^*\190\207\2232\166\153n\134\153f\153m\142\185\230\153\239\164\215\222x\235\157\247>d\t\"\"\018\"#\n\162\"\0262@td\136\024\200Z.\024\178\241\166\130G\135\226\169\176\012\127rA )\162\"&\194J@\150\178.\254`\198\235\209k\130\137&\153\172\207\020S\ry\234\153\231\210N&\195\240$\019xqn:\140_\202k\155\131!\154f>\240Z\169M\243\218\007v\b\136\001\172\234,+L\200Ne{ID\158\005\217\170(!\176\194FLl\176\242\000B\";m\186\232\242\201\245;P\229\241&O\027\207\1362T\250\207\252\231\202B7\208\161\028=\136B8G\016\194\016\014\024B\233\225\183\157G\003'\160}\171t;\127\208\004\134F\020\204\195\22031G=(xg\232p\157F\025\r\193\197\2356\018.\217!\0068Ud#\002Y\196\230ZXF+-\131\216\189Vj\203\144\186&\250\233\138\218\144z>#G\133\145\170\004m\015\226N\146\016\138\200/PPnM\218\254\198-?\155 N6\146\248\001\165\005\t\255/\180\209\192\017\160\029\023]pT\029\004#\025\254\191w>\222\198\000\242NH\229\129\030\005(\2372\b\232[\185\128=\219\017\190\127\203'\148\185\128\249\002\016a\012\t\249\234\244\127\225^\147\178/\199r+w\138p\002N\197oD\199\199\152hO\225:na\026sXG\019\031\240\181\243 \137\239\235\186\173\245\203\235\147\203\255\207\023\180\194#\"\1834b\019\1797\211\149\1287\192)\151?Ykj\203v\199\190-\238?\128-\128\138\007\248\255\172'=\161\238\134\003\254o\244\159\031\255\002\240\217o\128\207\030\221\249\240\236\199\141\031K?\250\173\241\245G\163\031~\178\127/z\n\002\230\002;=\001y\204~\142d\030X\197=\167y.[\021\007\0281\228\185\191Y\206Q\188\225\206\218s]3\236\184\189\142\249A\199\236\226\176$g\029\006&S\028f(\254\223|\225\178a\203\142\003w\002B\"b\018\222|\248\146S:c\151\179\025\193\137\248\160\018*L\132(\241\018$J\146!\139V\142\\\005*T\209\169VK\175I\179\022\173:\156\138\005\167\253r\216AO\189\244\204\171Xj\162\183\166\140q\195o;\194\209Ws~\154hK\164\252I\t\187#c\147\177n\218n\155\029\014\235I\nN\208H*\157\165\192\227\011\212U\213\132\028\145\145\190\129\216\208\127\198R\235X'%\163\224\161F\016\127\001\212\002\005\011\017.N\180\024\177\210%K\145*R\190\018\133\138\148)\246\213\139\026\213\169\215\160M\165vn\202\227i\1686:s\213\021w\221s\199\193\175\014\144\157\175\023@\136\188\181\243\243\224P\176e\205\024\024\004r\233\029}\175W\242j\211G?JS\016\175]\203\003;\255`?\223\161|{\229\184\185\226\232=\012\145^;R\139\255\2130B\221\211\174\017!r\226B\1555\b\024lA\002\182\139aA\n\244\193\247?\242\244\170\030E\157\173^\1392;!3\127\252\218\137\138I\239\192g\1357\238\204=\245\166\150vGv\223=\178O_\236sD\154M1I\137\153\208\225\253(\012\145\030b\003t\030t\179M0uSJ!\141\007\127\230\012\137KW\137\1421\200\187^\144\001-\144[\236\131\130\135\142B-\165Z#\226I\138\130\028**\232gQY\184\137\236\136\145A\158\187T\138\212G\246\"#.\145\202m" @@ -146,6 +148,8 @@ module Internal = struct let d_5795c26325c462426548bd12ff6ef7a1 = "ses=o||[],this.style=s||{},this.maxFontSize=0;var l=function(e){for(var t=0;t=a[0]&&e<=a[1])return r.name}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+\"_fallback\"),/[\\xee\\xef\\xed\\xec]/.test(this.text)&&(this.text=$[this.text])}var t=e.prototype;return t.hasClass=function(e){return l.contains(this.classes,e)},t.toNode=function(){var e=document.createTextNode(this.text),t=null;for(var r in this.italic>0&&((t=document.createElement(\"span\")).style.marginRight=V(this.italic)),this.classes.length>0&&((t=t||document.createElement(\"span\")).className=G(this.classes)),this.style)this.style.hasOwnProperty(r)&&((t=t||document.createElement(\"span\")).style[r]=this.style[r]);return t?(t.appendChild(e),t):e},t.toMarkup=function(){var e=!1,t=\"0&&(r+=\"margin-right:\"+this.italic+\"em;\"),this.style)this.style.hasOwnProperty(n)&&(r+=l.hyphenate(n)+\":\"+this.style[n]+\";\");r&&(e=!0,t+=' style=\"'+l.escape(r)+'\"');var a=l.escape(this.text);return e?(t+=\">\",t+=a,t+=\"\"):a},e}(),K=function(){function e(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(var r=0;r\";for(var r=0;r\"},e}(),J=function(){function e(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");return this.alternate?e.setAttribute(\"d\",this.alternate):e.setAttribute(\"d\",z[this.pathName]),e},t.toMarkup=function(){return this.alternate?\"\":\"\"},e}(),Q=function(){function e(e){this.attributes=void 0,this.attributes=e||{}}var t=e.prototype;return t.toNode=function(){var e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"line\");for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e},t.toMarkup=function(){var e=\"\"},e}();function ee(e){if(e instanceof Z)return e;throw new Error(\"Expected symbolNode but got \"+String(e)+\".\")}var te={bin:1,close:1,inner:1,open:1,punct:1,rel:1},re={\"accent-token\":1,mathord:1,\"op-token\":1,spacing:1,textord:1},ne={math:{},text:{}},ae=ne;function ie(e,t,r,n,a,i){ne[e][a]={font:t,group:r,replace:n},i&&n&&(ne[e][n]=ne[e][a])}var oe=\"math\",se=\"text\",le=\"main\",he=\"ams\",me=\"accent-token\",ce=\"bin\",ue=\"close\",pe=\"inner\",de=\"mathord\",fe=\"op-token\",ge=\"open\",ve=\"punct\",be=\"rel\",ye=\"spacing\",xe=\"textord\";ie(oe,le,be,\"\\u2261\",\"\\\\equiv\",!0),ie(oe,le,be,\"\\u227a\",\"\\\\prec\",!0),ie(oe,le,be,\"\\u227b\",\"\\\\succ\",!0),ie(oe,le,be,\"\\u223c\",\"\\\\sim\",!0),ie(oe,le,be,\"\\u22a5\",\"\\\\perp\"),ie(oe,le,be,\"\\u2aaf\",\"\\\\preceq\",!0),ie(oe,le,be,\"\\u2ab0\",\"\\\\succeq\",!0),ie(oe,le,be,\"\\u2243\",\"\\\\simeq\",!0),ie(oe,le,be,\"\\u2223\",\"\\\\mid\",!0),ie(oe,le,be,\"\\u226a\",\"\\\\ll\",!0),ie(oe,le,be,\"\\u226b\",\"\\\\gg\",!0),ie(oe,le,be,\"\\u224d\",\"\\\\asymp\",!0),ie(oe,le,be,\"\\u2225\",\"\\\\parallel\"),ie(oe,le,be,\"\\u22c8\",\"\\\\bowtie\",!0),ie(oe,le,be,\"\\u2323\",\"\\\\smile\",!0),ie(oe,le,be,\"\\u2291\",\"\\\\sqsubseteq\",!0),ie(oe,le,be,\"\\u2292\",\"\\\\sqsupseteq\",!0),ie(oe,le,be,\"\\u2250\",\"\\\\doteq\",!0),ie(oe,le,be,\"\\u2322\",\"\\\\frown\",!0),ie(oe,le,be,\"\\u220b\",\"\\\\ni\",!0),ie(oe,le,be,\"\\u221d\",\"\\\\propto\",!0),i" + let d_5839f826ef253129037318088870a966 = "-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 adjustements. */\n\n@media print {\n body {\n color: black;\n background: white;\n }\n body nav:first-child {\n " + let d_5a57de1807881e957f628df17acfbf9e = "wOF2\000\001\000\000\000\000?\156\000\017\000\000\000\000\137(\000\000?8\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\028\027\030\028\136$\006`\000\132|\b\129\018\t\151\023\017\b\n\129\206\024\129\176W\011\132\026\000\0016\002$\003\135B\004 \005\131l\007\137\028\012\129 \027%w5\202\238\011*\208\029\000\251\145z\149\151Q\148\169\217\2031\026\025\193\198\001\004\005\191A\228\255\255z\220\024\003\n\180\239~8\176\029\n\005\174Jq\202)sUDW\021\218E\021\234\172\020.\163qocq\153\030\220h\014[7\026\193V\158\243\240\209K\213\200\165\206\236\141\155\141\245\226\021+8\170w\233K}\003[.\229\204\248\r\147\181U`e\202\248\141O\216\162\145\140\026\030\181\249D\024\225\031\255#\002'l,u`lq\170\232\157\188\240\136\135\154+\179<\239\012l\027\249\147\156\188\196\127\191\223\247\246\218g\000A\253\175\001C\172&\n\216\001\160\002\148\177\137LE\017\n\025E~*\138\249\221\159\207+\223\0154\179\130K\158\b.\169[\169\005\220&3\192\187\173\199\133\1629&SA\016\004\001\217\202\018\129\199\222\138\019T\020Qq\163;\211\150\182\151\221lh\253\159\173\155u\141u\183\235\234vuuf\221\028\241\015\254\158;\247G\170X\236G\129\217/\186IfB\146\181\170\152\028\165\255~t\243\255O\130\148B\133\004H)x\147P\163fO\243Dl\2516\172\127Y\2226\221\235\235\131\212\247q>;\201KU\212\022@\168b\152\216\134\127tn\135C\253\006ZE\000\219\2173\219\167\021\165Eh\134\188\019c#v\1781\214\162\194\139\194\183\162\190\162\166\171\134\141\219\215;\179\238~of${\225\156\005\014\000\027\014\012Uv\230\000].E!E\135\127\174\205\255\207Y\185\\B\235\170\213\155\203\151[\227v\016\nEO\030\024\015P\176\\\213\133$#\162\144QV\252\238\241\007\139\169\229\156X\177\b\022P\200\220e\253;\166\166\248X\154\170v\219\248\168\173\172\027\134H\021\157\253\159\2327\2542{\153\180 \153\144]\2149\151&\247c\190;{\030s\133%\226\019\231T\238\171\203\175Jn\213\239\223b\207\006v\207|\232z2fB,\248\181`\026\127o\170\217\254\247\023\144@H>\003\023\169s\212\197<=.\211\206M\157\219\221\255\255b\255\254\005\184\192\130\228-\023\164D\130\148D\130\148\134\004h\018\"t7\011\128\186\001\195\221\2402ON\233b\144]\129\132\002\020\"\229\144c\021s\025RQ\186(]\186\173c\154\222E[y\204\195\231M\247\224\223m80\235\n&\253\187 \t\195H\131\\&\156\141!\230P\017m\210\175!\000\199\204\134\235\127R=\235i)!\178\004\222\023}\r\245\255\210\1547G\004EDV\250\007\244\203W\155\197I\1745L\016r\253~\167\156H\1281\176\163\130!<\133|\242'\148\187\187\017\154P\162\206=_g\003% \254\166\192\021\176\030\253m\"`{\245\250\253XW\b\148\"\017s\214\249Z\012l\221\239\151\191\235W\206\171m\193\200l\169\015\030$\158\214\170\147\142,\211\146\211*],\158\193\150z\233>,\005H\248\237\212\012y\b\005\167\166\201\129\195\157\154\"\011\006{j\146\012\021\249\167&HS\13495N\138\018\244\2011b\138\242F6\136\136\150W\209\230\239\131\130p\189\220\214\026\245\233\254\207(<\t\162P'\187\229J}0*GJ\147\018q\236\"\208\127\210\031\210O\207\012K\143[\173a\208\183'\003\018\140\132$\144p\t\147(\137\148\b\160e\204\209\028\017q\154%Sc\175x~\016xm\215O\134\155e\230\180\217\238<\140(M\249\024})\158\024\165\015\141\015_~\252\005\b\020$X\136P\1364\130\145r\245v\b\023!R\148h1b\197\137G\200\202G\180ES\148h\151~\2163\210\022\175\222\1531\186\188\192 i,\177\158W\203\139b\237g\181\t\024\196G(\200\005\205s\203\007\195\196C\144\135\1667IQ\221\002\207\184\023\228$\186O\220\011Kn\029\179U\170\151\027\175Q\235\145\199\190#0,\233\241/s\157\183-zbI\020\025\207<\247\194K\175\188\246\134+7\238\170T\251\237\027\015\209\001E/\007\199\224\232jL\145\183\152H\134\006`\b\197\134\226\022\028\135\162\186y\134\250\241ru2\210>\203\015\217\157/\134[a8H\212\220\204\152\207_\168,BV\222)\166.\203z$\168g\237n \151,s\230\026\204\132@5\218?\156M}\b\014\002\245Y\243\156E&\005\189)\185\215\181\023{\179\224\189\199@\174\003z\025P\147\245\006\176\216\128\189\163\231\196@\193\216\186\225W\2371\024\177T%\179\1933\2369b\196Z\231\235R\253\168_[\"\204\028\006\129\201\195`1\004\012\031#\211\189\169\155\169\167\159\191A/@_\030\155\253\159\164\2350N\023\029\223\254\024\177\148=z\022\003\195\160\206\151\247\153\210\253.\176\007D'\128zG\193Y0\017\140\219Z\000\180\255\005\216\127\183M\181\173oS\182\217\183Y\252\253\252\247\224\223\003\127\222\253iA\159D\001G\128\\\234.P^\242L\228\197\2471\210\142\154l\133r}\241\192O\138\"CO\153\255\247\192\017M\230\149\200P\236\175\207}\225\132q\0041)2\228\228\128\130\129\203\131\134\129\133\131GEC\199\192\196\194\197\195'P\230\156T\149\230\149\146\192\025\148T4t\204,\172l*T\242\170V\163^\139V!m:\132\245\234\211/b\200\025\163\206\250\225}\199}r\199\199>\245\131\025\188)O\\\246\149K~\r\224/=f%Y\208\238gi\254I\240T\171i\158\188\021`\144(\028\026KD\154\146\012\153\178\228B@BIS\128\132\160\016\025\209}EJ\177q\148\016*\214\014 &!'%\163\160f\162g`\228\225\224\228\162U\167\145\143_@\131{\154\244\232\212\165\219\128\160A\020\205.\186\224\134\155\174\027\244+\025\201I\172f\212$\232\234H\030P\149\221\180\2135K\023r\241\031\132\229\1684\149\145\021}\223\0004\136\216\234\207S\170A\248\022:\005\158\253\131\206\2223\154\231\207\129\219\021G\151\184@\254\022\1365\253\183\\\161\157\202\196XK\248Ex\"\237\b\2004zG\004\022q\225\136\129\025\248\2315\245\240y\028y\251I7\237\222~\tV\172\201?\193\143\175\131\165R\003\030\247\251\143\023E\185w\166\025GA5-#\240R,y\209\159\001X \255N\014\178\245\024\019E\174\176\247\241\030\237+GU5D\166*\132/\159\223owG\r\232@]\211\0124\248:\208\016OS\188\177V\137\162\163\014\177b1+F\229\145\199\212\147O\155Z\220\157\212J\155\177\137\252\236\219\217\178\149eSR\015oB|m\210[\r\162\249V\245.,a\220b\186\149\177\174\0016x8\002\006\007\153\188\209:\004\004\233I\196\213\130\245\247\182i\148\219i\000f\014t8\253\167\187\207[\135\225\168\168L\137\216\142[\17906\2500\237\252\129\133\0275\011\225\143\216rZ\145Ifs\2125\162\203\020\253\211\234VQ\224+\231\156\196\186\223\132g\239\206qc\183\228\157\144\162@\247\156\015\188\251\030E\148<\187\166.\165\177\250\210\186@;\135h*\160\166\183(\240eSW\159\127Cqki\1650\156\138\024\014\132\021Mo\003\149-\014l\147\018/RYc\169\194\029\022\1285i\137Hx0\"\143\174\181=,\021\248\188\247\129]\241\232\232\188\223\222\180\133Z\244\136D\233\183;Y\134-\019\159\255*\1805\229\255\135\230\138:\250(\224\029:\006(hE\012c\212\195\026\n\177\142\250\216@\0176Q\140\027(\193\022Jqs\224\024\168\136\030,M\208O\154\162\255\003:\195\018\199\205J\200!\131\130\012\168\196\024\r\176\1348\214\145\192\006\146\216D\021n\160!\182\208\b7yM\168F\017\205\006G\186\017\141\004\140\166B8\250\138:\226bs\228\185m^\218\247\201\002\192\128\186HI:\150\142l\236<\182\177z\153\203\n\170\142\166\\\148\197\240A\023\174\169\139\230\n\155\210\012]k\224\182\197\250\006y\r9\169q\136L}\233\156\020\176_\240\252\206i\239\203qY\251\224\192q\011\212\024,\182\tO\228\171\200q\135\234B\237\184g\142\017\229\148\130\220\003\nv\251\219\168\166C\224\177\221\243$\255\030\228I'\132\137\233\024\247E\252\184\247(X?p<\130\192\168\235E\153*\179\201\195y\158\011P\231# \228\212\132JJ\138\186x>\007\252\171\197\231\1707\225'\222\175\022\230\157\014\171\145\250^\176\207\"2\231\143I\255\185Z\157\141I\196\158\136u\247\0210\227L\1681\205Dq\227\201\012\017{\161\162\165\236$\144m\233A\250tl\132\022{b5\168\158k\140\152\132\144.9\017\209o54\233\162l\014\245\224\147\161f\2484\178~\206\165\141\235\031\186\227\003&s\179\017P\176\165>NHw;i\137\207\242\158\136:R_\226^\014uA\1974\023\190\134\n\181X\019\211\2063@\003\244\184\169\254\184'_\127YU\149\140a\181n\132\004\178\184\255\160x\1717\017\191@\023u2\\\153\246\003\b\146\224V\177\127\027PkU\230\222?L,|x\174\215\019(\254\210\\\183\254\232\136G\019;\250\241\017O\150\139}\029.\215\148\143\195 \234\1728\007\155Ob\012\005-\b;\0045$z,\176\227\233Q\177>W\182\015\198\223\136!\254\136\003\164\135\185i-\199\198\214x\179U+\19738\194\b\224\231\205Vf\213\019\205ix\017\t\154\1675BK\228k\025\223\182\188 /{^\029\021@n\156\187\193_\163\244\131\129\222l\tX'\168\208g\158\144\178\222\030\005d\156o\156A\239\142F\128v\002\202\192 \211\015\192\194\0176\023\200\177C\b\185~\000\030\142\240\t$8 \132B?\128\bG\196\004\000N\b\161\212\015 \195\0179\129\002\023\132P\233\007P\225\136\154@\138\027B\168\245\003\232pV\245 \001Z\012\2018\197\146F\144h\178\180\005\129B\179I\249\209\226\161h\245Pc\027@\161\221dwtx\024:=\012]\030\134\238\133\028=\030\142^\015G\159\135\015\251\161\244\203\138(\190\249\196\253=\220\156z=\134\175\231_U\222\233\014B\215y\146\196\024$y\tX\133\023\135_\029\202\021\248\022\254Qy6t7\136\005\01269n@\238#,\159\029u\201\240\139\246\002Jm\238RZI\198\207\168P\015}/\180P\211}\245\188\150\133\198\180\169\171\145\215\002(AL4\021\207u\201Y\004\247\179p\211\236p\239M\194\171XI\202U\232\001}\210\163\154\173\012\227BIe]\190\208\0260['*+&\243\158\150\255y\209GG1\170V\193T\235\167\202z/\246(\210\144\214]\237e\170\170Q\\\229\171AB\245\206\244\236\165\178\007\251\145%\250\249C#\1670\241\240\199ub\173\b\233x\238C/22_D !\007{~\022\004\022\028\201\001b.\131\171\202G\164\t\179\189\2175\022r|\235\"%\002\180\188\1829:\157R\162\020\198Z\179;>\208\173\227oS\231\143\220\1690v\147\234\154\176R\234\018N\244(\1686\130\146l\"!\023L\160h\226\r-T\169N\244R\159\017\155\164,\198\237\148e\192R\150\137oY\169\230\019nR\144h\028om\177\141}b\131\153X\130h\014bS\180\128\178P\219l\141\204\218\018G34;ZX\138\176\177\t\154\003,\245\026u\224u\161\003\222\247\160k\028\248e\186>\006Z\130\188T\249\185.\\\197\207BT\245-\2085iN_\202'\174\2485G\219\147%\236V\255=\014\025\232\241\148\255\248\2304\207\1997\177T\018u\158\255NM`\128D&l\136 M6\157\164\154\137\193\155\249\179\224\1534\185%\147+\187\248\239\144\r\187\224\201\147+\137#m\019\187{\148\206\208\240>\146\234N<\231\178\1913\186\196\206\228_\202c\140\222\206?\189\195[J\030\137\139>\178\218?A\151\195\177K\017O2\196Cku\186\247#\222B\203N\172\023\216R\006\246\196\171\161\174\188\021IV\187/\146\141\205\230\168\169d\012\023\231\226\149\234\161\203E\031D%p\130q\180o\155\151\151\237\152kS\020\156\180T\182\172&M\205\140PX\019\180\209\133j\131\143\191_uT?F\222*\nL\162\174w\228\130\179\194\234T\152\253OR\002\0049\024\141\131\000\016{{1\\\141\181X\199k\210Y\145\194T\196\n\212\135\209\200\160\018\219\207\141\157r\151\235\213\219\001\214J\254\186X\022\024`\198~X\206\000\150\250\127\015\237E\254d\128\149\027\012Qh\134\251\133\028\171\181\2242oAJ\181\238\222\163\021\134\154UF\007\252\215\172[%\137\"\171\002},\155\218[\203\194\023\215\165Y\197\\\203\003\020v4}u\207\149o9\160_WpP+1\222G\148Z\027\011_\139\181\152\178\135\141\015\159d\147\002\233Y\247;\233\no`\195\169\006\021^\190\184\231\132\224\222\222\173\025FF@f$\011+\235oCr\215\014\225\150=F\026DL-\0032\204q\163\238\234J\238\137\011\243e,I\1476n6\237\1613\127e\138\138~\014\020\018N\208\141\137\028#j\173\208\031[\160!\167\239d\153\218\157\232|\237\166\173\177+$\243\1273\222\150\2296h\223\240\142d|ul\140]r9\183\127\135qne\167\251\b\227\128\177\234\024\227p\144e\151\192\1385\171\017\141\031C\197\146\\/W\216\163\163\149A\14121\154\211&2\152\213`\147\204sv\201\249\000g\162/Q(\228.H^\159\n.\143\165#\213\012\233\144\219\180\165]\127q\141\133\004\162\2234\246\255\233" let d_5ac125a6dc7db8f92084f5643fe8572a = "\004 ,\133\230\012T\149\018\164)40F~\206\185rJ\227\030\243\169\244a\019\027\251\155=6`6\247\227f\134\215\150\030@\252@\018\019w\150q5\244I\128\204+'\199M\176\028\212{\151\016j5\212xc\014)c)O\007,a\241X\152\187\159\212\167\012m\186\208\181\rk\177lk\230\150v\215R\242\218z\185\211\238\182M\243\252\151\179i\020\250\212\220]~\149\023\001j\238\163\160\236:\210\130 U)\022e\024\223\190\017\239\161\129\251\136\027\023\005j\027\130\161`I\"\196TW\245\176\018 u\153\246\014\177\137\186\030\201\1377X\169B\029\127u\193\200C\210\211\230\2084s>LPX+\176e\134\147\183\234l`\195C\166^\005{\002\169*\015Y\178\023\185\244\167-@\031z\130y\175S\n}\228\011:\170\011#8:\233\r\218;Q\136\155\248f\146\250\135@Ig\185\191\129\020,\017M\n\216\195\012\131J\152\024\196]\ti\rv\195\166\022\201\r9\255\172\194,\005\221}\140\134\188L\171\172\130\157\182A\212\182PA^%\007\003\004\161e\221\b\026\rY>\129\233[_j*\233\149\162\181\208\238w'+\182:Sg\1878Z\161\254\0255n\168\219\141\223\177\bp\005o}\220X\239Z\189\127_u\247\232gQ\216\250\238}\141:\250\023\183E\229\233\017\215\130\005\029#\172H\188\221\143\233\160\179;\158k\198\002,uI\bZK\006iN\128\186\029r#\189\212\189Jb\237\217+\235\141\240\1879\131\147Z\128\\\024\200U\131p[\183\166\228\178\246\017\197X\239b:\190(\249B\211\030J\181\203\229\224~cw\246\029\012\237i{K\022\148\209n\030l\029\012%\132i\154\209\207\176\232\179\027*\184\228n\222(\240\216E\131{DW\022\184zCY\147\030\1559~h\132Qs\172\017\232\184\137x\158\014\247\200(++\193\012\249\r\179C\244\163O\129\149{ZN\179\174\249:y\142\136\015}_OS\235\2086\\u\174\132y\137\001\134\143H\136d\190\154\162\132\241\226\197v\014\185T\228\227\164w'\241\028u\162\144&mU\194\1604JG\254u#N\164\140\140S\024\216}9\188\188\1367\170\012\226b)\201\002\157V\128\251-\181\r\137w\205Q^\137*\\\230\134P\183\189\213\228\153^+1e\022\204\196\242\026G\194\199\014\005\131\177\0020]\n\157u\174)\132R\136\137Hu\233P\217\137n[\016n#gs\169\016\209<\179KGg\134\161\001\210\218A#{\174\001X1\216\191(x\244\247\182\193@\022\137\023\028\246%\146q\189\195`=\225\216P\242\2360&t\192Kq\2213\r\144l\031\224\012<\162\002O\213\196\160RN\0186\152Q\023xJ\216\216\161`0\246F(O\249\242!\2024;\003\153\16523!\t\020\133\253\206?\154;\199e\023\006\209\195\156)2\219\177\232\189\246\135\2319\160\220\136\007\006\020?&Jh\178xW \167\t\214\194\164V\142\183-\254L\177\214\238d\r\147jQ\1511J\165\201l4\172\178\030\243\189v\239w\1956\131\218\161:\135\136/:&u$\153\006~\160\1591\232\026\137=\218\247\153\224\217\1942\027\253\1954X\162\007\243\006B\183\022\186\221S\213\021!\220P\019\202\"'\212\136\0192D[\153\237\241.F\196.e\202\026\134\0208\203v\136\241\022\014\001\171C\184\162\211\152\017\159x\"\1871\207\189\143T2\027\144H\129\1595\n\187a\255\195w'\182w\255)\022r\001Q!\018)\155t\141J\141\"\156\243\017\193\023v&\190O\229\222\163\"\191\171n\160\210\131\136\219\0312\193Ts\158\180I\240\144\242Q\245Q!\222\133\001\225\163h\025\195\028\170b\139R?]\179\1818TE\"\004%8YQ\172\226\215\243\242\191b\191Z\212\147J\184\185\155\133\012\134\216\186\217\221\189t\189\161.\022\r\244\186V&~\002z\011k!m\178,RI\134\228\026m\150kxQc\139\145\015K&]\160\222\243E\240\"4M\208q\152;\028%\024\233\014\168\004v\241g\153\219\170\217\236~\142\007\223\179\245r^\212\1974K7\189\146C\131\193lj\131\129\141?\196\158F\2141VG50\174\027>m\007\023\132\199z?\166\253\1584\028\170\186\tT/M\165]*\023\144\030\017M`Mf\012/\163*\147\210\130+`\212\018!X;$\156\221J@\245\222v53\000\183i\216\162\204\178\216\023w\177b[u\209\139\232\006-\186O\210\150\137\156\215\222\17477YX{\002ie\212\000\022Hf\169\1796\172\149\198VT\227p\138\128\183 \020\193\181R_n\135;l\012*6\133\211<\225Pb\021\236\020\153\222\202\b\219)\214\156,E!W\254\022\230\216,\011\025t./\0288\148M\227\157\150\177\146\202V\015L|\185\236#\028\205\214S\2198}\133\179\149F\rH\164+\218\186\241\027Hm\130D7BT\025\142\135kVC\206\150x(dPy0`U)\160\233z\tTI^<\217*\240\1996 v;\133\233\141\024\012\251\158\1846\206b\209)?\239!\174\224G\022~\226\253\015\"\016\002\180C\031\143\172K[rDF\248;\131\183\175\128\248twl\000@|~\235\208\231}\0041\241j\031\002\200 \012 \192\158\182N\172.\203\251\254\237%\177\194\239\204/\166\189<@9\218\239\011\152\229\235\176N\141\183@\129me.\222]\022\253\006\012\1388\224\145y;*\n\203\222\168\198+{;4\020\b\177^\136\192%\129\186\004\n\131~P\232+\133B\161\153\012\002\131\190Q(\177\248ng\005\157.\229y^&f\2453\233\165\236\148\145^\017iU\186PFj\192\012/\174\150\192*\187q\215o\150\200\231\129:\251\237u\182\1541 \243\153u\223sapC\233\1311C/'[MQ\007\016\253\179\179g\127,\rb\017O\192\177\130\196\022\172\250aT\198A\235>\134h\229\222\222\185U\174{;\242a\227\001g\153Q\168\239\231\156\216\233J\210/g_\022\0223\248\161\204\193\152\177\131\239\163\231\175\206\136\2337\176j\135\244\157\011\000\000\000" @@ -154,16 +158,14 @@ module Internal = struct let d_5c59776002d57c2e9744a82da2dbbf81 = "\139\145[h,L\163\0023\204t4\184.f\255\158\023\145\n\145\153K\237\250\025\138m#\192\241\"D\143\0128\004\170\240`G\237\204[#V\031\219\152\225#\211V\198G\156-\021\003\020\t\1368\238\180\225\189\011\169S\023z\003\239\132\190\185b\b02K\006\254\241P\165Q\177Z\206\128\244\128\020\012\001)\020a\247\204g^wzw\174\180\145\031R\220l=\246\187\167\235\128\177\133O=\019d\132\250\185\020\170eH\n\199\208\021T\0075\151\221\006\250\025$;\001\153\029,\027P#\191\142\166O\163\239\240\213\202\172\239Y52\128z\005\239R\149\142c\250\240vr\216+\031+N\153\129N\210\145\1448?\144\024\183\215u\138\165\140\154g\158\161:\244\180\234h\1482w\b$\197\239x\185\0123\220\\z '\189\145\159*\238\239h\197\012\025iQ1\215\028\001\005GA\2011Pq\028\1808\015\212\156\000\r'A\155S\160\195\233yk\016\2363)\242\2213/\168-\251\014\018\225\201\190.\224(f\252U\222p,\207\248?Bw\177\1966\174\227\224\244\232\210G\024 \012\017F\bc\132%\132e\132\021\132U\228\208&\208\248\170l]\024\024\231h\229\202\183\246\228,\145\147m\210U\155\192!y\145\174\2300\217\0060\134#\227\018\215$+\230/\197\012\002`*\174\198';n_\179\023\183\189\127\170 \149\029t\242\019I\236\002\175\166,\239yw%\178\158\222\017\137\143\128|\155\020\197/\000\243\222\201Z\222\1411\192\195d\031h0\030u\136\184\146?\142*\030\160\190\209T<\020\215H\186\222\153\204#d\026v\247P\239\017b\020\026\201\237\244\233\177pG\132\159\152\236\154\169n8\140h{\245q\232|\012\162`\132\000\183\143X\18005\139y\154(\208\164\227\177jN5\160\238N#o\"\233\b\248@\226\200\188x\236\127\210\231\213\206\168\142\180Z\168K\166\243\021\145F\rB2\ny@\198$\011\t\141\204\029\163P\134\153\1441\206n\018}-\027\203B2\203\217\236tE\001\200\147\140\226\154\017*\142H-\224\129v5\1281)e\233\178`\137\176gQr\nF\200\147V\138\141\196i\129\164\203\172\225$}\169?\141\133\140N\208KeH\154\181\199\1423\006\149\1404\002\234\0259\176\254\236w\012HD9\019w\251\026\141X\211\164\235\189\128\158\029\002\194\026\253\182gxb\193\030}[t\022Sz\215\159;b\007\136;\022~\003r\194\246\217X;\015\195j$\005\1538\162?2'\234\209h\157'1*\028U/<\251\1379\026\252b\243\188\027\237\231K%\143\189\215e/\151<\229\169\255\220Pl7\166c\241N\228\1729\t\224\138\129\130\158|\"^\028\0194\200uk\029\167\\-\179\234\216m\015E\177\254\149\024S\023i\130\210\212\200F\214\140%I\208\2344\193\181y8.\176\144\1757\132\231\160\021.jC\129\195\027j\030\228\250\128x\150\174\244\156\251\215\154\220L\222*3\200E\128\007Q\186\237\147\143^\131\217\234P\244\130\026\1634*\208\210\223Q\250q\128\179{v\023\188\179\028\132\003cG\024\197n\016\028\163\184\014\152xF\241\027\132\192xa\136\159\000j\"\178J\220$$VI'\000\201\172\1467\t\133uP\014\139n\170\148\221$u\131\208\024\165u\192\1623J\223 \012F?FC\179S\154\253\140\020,V\191\"\005\155\213\239H\193a=w\"\227\204{\209_\194\006JO\193\141\1557\rk\212\1945\026\209\223\149;\221^\170+j@\128\241\197r\235\005\136\133\172`\208\177\208{\155\242\025\222\251\011\254J\181\214\151\001u:\0250\198\249s0\177\180\161p\155M\254\150\207Z\206h\180\149\r\025\200\179\003\192\143b\204K\b\205H\162\213\194I\136bp`\254P\019\177Y?eb\166QIWs\242\229u\n\148\029\143\011\017\b\244\222p\217\029Z\217\219\135\181s\242\241\179\177^\004G\133\130\166E\n7\221(D\017\195\012\027\145\208\212\190=\164*\255%o\024K6\197\007\1842\239m<\216\167\167q\244s\173Q/\017\185N\138\149CI\219\006qY1oDc\218\025|\251\2539L5\214{\143:\218\238a\231\023\189\239\244H\157<\244\133a\201\239\167\000+\171&;xv\244\217\b\135\151\162\028\154_b\243\027\156NZ\222\026_\127\2426\015}*\142 4l\238\129Rw\236\165\2493\031\018\186\150\229:\226'a\228\022Q\027|\221\023m\171\132\022\138\161\136\150\191\1754\142\248^i\216\2522\206\219\156\198e<\140G\187V\232\201[\180$\244\198\133b\029\161\172\223\230\173?\199\221\173@4\133 N?U\194\221\172\252\134\165\000\249\014\217\020\212\239\252\164\023\205\253\136r\1473\185d\156\252\248\181^\144FN\164\\\212+\r\224\186[\158X\157\197\223D\176\209t\132\169\233\153\138\015\030\222\226\199\249\181\007r/=c>\236\194\001\143\254'/\138'\019\029\206\230g\174\193U\134\149k5\220\202Y\213l\143\233\158:\228\1386\025\1541\218\b7o\151\229l\168h\188\209\\\230Kv\n\199\176\140A\230\207[{\n\203H\227p\193;\129\128\208\195X\005\220MBJ\240;\178s\164\146e\219\194\210\\K\182\191\253#\241\r}MH\1612i\007\248\180D\227\208Q\209\020\186t\175\135\135\019\131\157\207\215c0\237\004\228\226\210%/\251\167\161\173\253T\241\028w\233\205x%\132\212\024\237\182\241\t%\186\146\239dv\"\211\1799:\0152x\200v\025\ns\187\159Sp\164\1965\017\2225y\176\172\226m\127\142\137Y\024\230p\201-\021\252\217\219\186\2238z\175/\182\147\149\190tv537\224\011|\128I^'\241*\219\129\030\024\128\169\195\136\137E5\018\145\244\007\207\192\004^\018\246\198\249\154j\147\167\247\195\025\160l{\201\027\014\230\226\b\015\197%\2181\186\248\147\014n\\\1548Y3!\248Xl&\127\249s\235\253dHe\132H\1537\150\014\205y1y*\191\166\181\238\239\177\169\026\155\167e\002\129\142\t7{!\159\223T\031-\016C\012%\133x\221\217\143\175\253\179\149\163\b\245_j\015\138c\170\164\156[\243E\\\233/\025c\178\213;M\129\214dw\237wW\147\212,US\024\153\189jL\167\162D30\147+\205b\178q\153X-\002\001KI2\238\219W\011F\238\244\216\153A\224>\027\217\027P\1806\181%\231(aH\241\189$\012\180\128\127K\144KX\228\224\129\173\147\135H\245\169\233\133\198O\004\136\1760\185[>\215\017\006kExK\169\142Jk\190\143P\242.#\159\187\tr\017\236\141F\196+^\2134f\127\005\153\026\211-YN\161\015ii\007\030\235^\016\022\003\tE#\158\192JG\128\026?\173( \168\004\148o\000\016\161\011]\029\254\129\143|d$R0\003rX<\167fS\b\217U\146i\221\196\206\253N\214\027fVO\176\200\228\252\206Do\226\022difI{\022\191~\022\163\147&\198\153 \014_\239U#%\225\007\006\163\1338\145vYb\168\188\241\216\191:\146\227<\0295\174e\026\252\131\001\194j\015\134G\134f\2056J\217n\213B\253K\028sY\022\155\239H1\163\151\168\223\245\131i\145|\011\245'\n\176Lrc\179\\P#g\236M\255|\161\003\254h\155\202\029\138\240\240\t\132\21892\140\162v\200\144\0183\237a!\160HG\127\175\230\230\127\236\186$\168\151\136\175\129L\244a\239\001` h|\221\254FY,\224\188^\201fW\180\145\205\030\160\012m\0281}4\216B\015\140R!\134\bs>\167\236\241\225\184A\031V\176\207\158\158\131\241N\0185'\207ho?\244\233\193\129T\245\245\203\000nvn_}\192\242\169\208D\199\028M\175\220+\211k\137\1461Q\243\2518\170\150\234\245\030\0141\206^\026\218\214\179\219I\222\140\244\241\183F\225\146a)\220\250(vh\240)]\139a\135F\182%\222x/r\2498\2439\012H\244X\173\019\155\030\207\001\004\144l\026\191x\173\187\196W\1378\218\132\025\213\025B\\\241\165\012\242\2555\006\b\186aL\215\180J\184\194\227\146\166\182\232\191Sd*\137a\183+un~\199\166N\253\019'\t4\182\246\143\180\140\148\\\253\139\232\021G\231\218=\131\250P\231\252(8\251_\173\127\248\0128\150\028F\177\225\170\230\217&\155\1819\175Z\029\132/m\182\134\1553\2303gfue&\218\243\002\029A)\212\004d\175\026p\158\nI$e\147\143\147~\146\0205\020PD\207@B\214_\003\175.\141jp\163\227FH&\168\188\246l\nM\205\214\229nQ3\146\152\200\128\2346deT\1906>\133'\220$C\027\149\176\147\205\006\030q\241\234\230w\214R7\143e\218}\203A?\">\246S\216l\175\246-\231\226\019J\244\239\209\220\186\216\176Z\168O\233y\240\004\158\177\169l]\247`\030\133\183\166\251L\015\187\175{d\212\183\012\246x\232\247|l#\197H\168\246F\215~\148Y\200\133^\160\186\234A\196\253\219\007\014\144\161\145}\219\176\154\157\130\019\198\196\199\166\215\202\250\175W\192\241L\201\252\223\138\023\252T\192\029{\249:\187\253&.\184\179\140o\255;n\234\139&\215\208=H{\168\220\178\240\n\196n\2059\223\127\184\252\007\158\185\255Q\014!St\204,0++K\011\206bfe\028*\219\127'\254\209\218\248n\242\208\173\228\240\138\237n-\137\026\250:l\135\237\127\204\219\191\005\156|\156\025\132\019\151\254\b\221&\226_\148\233\132w\171]zSl\135o\227\213\197S\208\227b\173\193w\249\171\151\173\220\1994\134\012\167v?4\016\197B\rS\226\127\223(\218\177T\129:'3\190!7\006\250G\215\249\007M\132\191\004b#\170\145*\243m\180\235\231:\218L\007\199\237.V\026\198C\170\197\229.K\023\189@\012\171,y\248\025\130\142\204=HK\171\232\206\220\242\226\190\148\131J\138\187t\146\221\2017&\206\189\241\234\158\201W\022\2311\161\007RO8\1825\196h\180a\004\164\231No\139ct\025q\243\237\230\205mZ|n\1945qC*\250\"\153a\250wi\030\250\244bvxf\145j]\028\2030\253|\229z\232\022\156px\169\030\255\141Jk\000\138\136\150\218\248\200&K\159]r\247d}F\2407[\139|hz\207\153\019m\142\185\237v\143\244\"\251\023\246\200\226H\222/y\163\139\184\155\201E;u\209\221\154\150\250\214 \012Yy\252\194\031T\237h\206\153\219\236\170\015\188\229}{\127l}(%\222L\170\2432\163\155\022a\169\159\015g\195W\237\242\163\007\031\r\142>^.E\250S\170\192%\tNr~\237W\029_-\224\205\135\239SViW\245\216!\189\139\207>\166\186\211\214I\021\189\208\211Kcv\205\193\2466\237\1931g\160\002@[\214\170\157\027/h\174\177\015\140\173\216l\177\245\143\143IW\011I\216\166?\212\153t\213\144\159P\189\017\b>\174\"\232\231:s\140\002\239@\247\213\021\227\019\247\196\139K=\179c\251\1679\185f\208\252m\216S\018\251p\219\2319y\n\239\139\205\020\231:\187z\174\173U37\236t\210\135\146\153&x\185vu\247\233\208\169\213\245\n#w\174\197:\160\153]\137\175\208Z\0067,\028LN65wL\181\247[\191\031Y\188\164\172T\0114\253\219\213\255\168is\210\137\230\214\238\169\206\135\160\247b\143\180i\148\017\181H/" - 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_5e57240b8ff6745d663ebd2060201199 = "0;d<2;d++){for(var f=!0,g=c+1;g0&&(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_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\227w\166-\224*(~.\027q=\147\206\170\160\174S\021\028,\004\012`\218\132\199\151\024\229\028\166\179\220\2404\13309\127\021^\007\153\005\205L\172\004\244\171\250\181(A\162=Q\150\244\210\011]P\132#kq\253W1\229\007;-Q=(I\160\207\015n\191\n\152\0296>g\2462\238\022\184\187\250N\001\165\002\217\184\219\145\0060/\019\130\230\127]>\197\144S4'\003\222\155J\191um<\151\181\200\005Q\174\205\143\030\183E\167\207r\231\nF\211n\\\005\005!\246\018\137\021\241N\215\187\011\230\141\"V\229\1637\193\213E,\246\162\219\224\150\148k\159\239\011\205\190z\199\003s\135\232\148\246\180\128,\135\003\240\002\197\181g\159\172y\140\031\226\204\195;\196\219\004\213assxVf\194\216\155\017\173\158\247o$\251g\243W\139\255\214\255B\148\139\246\027cN\131\139\227yJ\210\212\153\\`{\016\142\133\151>\204\179W\207X\027\147h7\189\030L\146sxJ6\202\200\205\175\219;\204\166\142\174\026\253\199\023{\023;A\178]\229\140\226\244\001\179\133\031n\207\169\207\149\2327\199\249\180\190\1934n`\157\201\191m\168.\219\221\236.\238kS\\\190\214\187`\241\172G\192\197\219<\133\213Ve5S,\213\243jg\242\207\017?\202i\230\130\028MDG\"\167\184\222\129\173\219-\186]i\249t&\223\147\194\238\158\183\134\255j\234\239\\\206\179\025#\224\162O\211\2197\191\150;2\227\025\231\207\203\004t\238\159\240\"\2112\253I{\195\148\249?\184\018\163>\191:\165\1502\182\242\212\225\006\193\172S\022.=h!\224\195\180x1>\221\247\193\160\255\233\131\240\171\016\171\139\241}\184\002\207>Q\146k\149\218\224\228\192\204\128\237\241\241\127z\235\007\240#R\241\221\249x2\023'\241\003\024BS\019\205x\185g\180\220#\202\202\246hAi\177\189\130\190[\022\1670=\199%\\\127\020\1583\177\003\248\201\222\250\249\248]\177\244\200\0161\169\238\192~\130?f\1596\127\221\229\1308\176\156&\161\137\251\251\212W\231N\134\231\154\193}\135\222c\175\237\r \204\131\248\159\190\189\255\219Nh\232$\129\134R\202A\162\145\195:\222\029\143f\191`\127\2318Dr\189=\138Z\209E\012,j0b\016\252\241\251Z\226\127\155\193'\162\223\140\204\140\193Oa\2449s\005\171\161\197\148\154\167\142R\199\217\244\n\228c\030\022R\001\t,\003fz\011D\2070\149\128DW\142\224\138d\r\029M\166\240\213\0039\243s\0260\138\194B\144-j\182\251.\128\000\004\000\132\191\174\r\242\217\169\222\222\031\252\2428 \130\155\244\012p\255*\245\1791\144\203\158\195\2248.\017\224\030\254\220\213\025S\245\143\145\024\195j\209jC\140\029\248\208\159\196\193\230\241\211\229\0119\164\144Q\240\204[\249\159\232*q\160\217?9#rl\011\216\198\197N\177\216\187\153o\209J\184\134zc\018\238\247\224\002\201j%\214\202'\167+\198u\242E$\173h%9}|\176\249g\177\023u\000\150\255\220\155F=\1381J6,\151h3\216\003`P\235\167\198\141\229\0202\194d\140\205y\181cx\151\147\245\011\192\150\155\195\174\219T\219\200\\;\139\172\"\219\210L\149m\210\177q\029\223\210\rZ\011\140\241\214m\138$\169\200M^XOw\156m>\231\158B\229j\223\161\169\147\178\017\1953\2013\003(j\209\160\030\130 \216\171k\181P\151ymW\180\003g^\186\007\030)\239\236\147\241\\\238O}\195f\254\185=PDyyX(\153f\011l\127#z\147K\129:./\157\nE\193\2321\025\199\242\159I\158\165\188JN\136\"\005\182!@2o\241_\149TJ\148\143\128\236\n\217HA}o\\o}\193'\241\019\153^\165p\175\177\191+m,\213\200\027\183\149\179%\002\132\1816\208\214D\167n\165\200\239\128\252c\025wp\206{%\139\188\0199^6>U\176\023\000\176\250\155\230\186\254\197\141u5\205sE\017\236\150\025+G\135\255k\012x\212\158\168\218\249\17224\029\229uk\231\224\244\217G\242\"\234\2312\252X\014\131\213\182tI=\231.\132\224\184\197\130\019X\181\014Ng`:\134@wS$&\186\219H\2374\201/\238\191\200\195\027+\201\254!V#\150\171\199r1V\251\240\146&N\173,\172\182\1373\0124\002?\022yS\199\1347\006qp\238\\Mmm\141r\173a\160\166\134\208\180\166L\240\248O9\171k\028\\$\215<\192\238\002\154\151\227\011\029\198\217\179\178\173\199\2135k\150\219\173\226Q\215Q\131\235'\148\235s\019i\163\171:;?\186\165\\\251\030{\218\254\189\211\012\186\145;\1742Hw\198\193\137\250\005f\207\185E`/\202.h\205\0308;\161\220\197}/kg\182\020Qs\200\2202G\206W\148\188r\005t\152\134,P\170\014\168\140\190q\160\218\181%Vo\225l\029\151\250\225S\217\211\015\129\219\029L\226\140e\023[\187\215o\001O7\140\217\"\190\233*\209\b\238EJV\251\141\232M\\c\187\2114\197\127\000\nv\156\017\234!\b\218\232\213\251\194\029\224\151o\2314\024\238\223\167bb\168\181\128\161a\142\237\203/5\022\139\2244\174\127w\198\213U\213\212T\209\249\128\161\015\207\029\171\229\174\020\1428\015\209h\1873\".Bg#\233\016\147C\127i\176\207\2336\148%T\030AW\215\001\183K\252`w\131\186\213(R\241N\015\163<\129\002\016\135\t\129d\220\184\012.\189\002\151\\\198\007fr\224\000\190\163\250j\2479pz\220\157\201\024\012\b(\224}\224\r@\004\128\177;\1477U>y|\169sW\r\030\12893o\254\196~\183\169e\212\027h\025\132\151\\\006C\017\136NG\188n\251\136K\001\127\167L\163\159\023\156?]=\211\187\227\243R\224\157\251\025\199\198\1425\236\146\2362\212\214\030q\133\t8?\188\250\015\139\146\202\227\\\246q\229\248qk\162\193\135\127\028\203\184\234\024\255\145{\220\186n,\248\243EV\224\186`\239XP\182u\029\198\229\161\135\223\201\135\183\128\188)\216M\148\1851\206\2301\207\173\223I\215O\165ug\183\142\202\174\217\200Dob\204#\243\206p\184\243\206\028\001\230&l\003\147\179yT\225\221r\214\157\242Q\133g\183\018$\029J_\212\208\020Z\028\030k\181I\151\1327\133\026\022\165C\224\229\140\182p\136=\161'GcK\204\243i\152l\130\205Q\002Ey&\222\025\001\150\198p\228\016\179g\014\141\230+\238\254\173^\160br\187K3\200\238\b\240\242o\192\133A\190V\018/\163\1791\026\204\239\171\202\234\2302U\130\210\132\132\178YJzS\012\232\132\025\211%q\251_\140\179\170\178\2351\004\134`\022\r\130i03_\147\224\213\184\157=\192tN\192\029\249\250\r\155\166\137n]O\n\169F\195\007\161\019A\031\228m\128r\027 \253\206\2193\1841\169\153``\1985W\186C\225\180\179_\250|$2\0303\191\251z\132\139\158\b\157\012)\141<\163\225\029\219\251\193\233\150\235\220\213Pn\003\156\219\000>c\134Tq\232\250\196k\221\198\185\162\185\246\165O\237\1613&\230D\200\253o \024\243\158M\152\025<>-v\215\029|\1370,O\156\171\233\218\189uB\216\143\169\241\239\149\240\214\214\027\189\182Z\222tVt\129\200\173j[\185\174o\237\158\219/\214\146}\177IC=\017\187N\b\166\217c\211\014\139\235f\173\171\208\184#\nD\191\236$\218\231\250jx\253\020\184w\163\197\218\235Lvi\235\1964\154\017\203\019\229\217\232\204\221\006\187a7\139n\021\229\229aF\154|\190\205\206\194\133\220\176rx\140:\151\227\b\141\243\218\002y\134\217\163{Y\236=\134\217\129\188R_Y\130\ru\208\193\253\027i\193\204>2*\166\192\242\173\158\147\154\231\181,Aa\152\2171nj\175\199e*\203\172o(\162\177\247e\150\153<\174\222qS\153\0290\140\022\232\199\\y$m&w\250b\157\133\029\227V3\134\017\181\224\2298\198\234B\223*WU\229\135\179\204{'\015Z\248\236\161\196>k\222\231~)SO\003\157\215hWQzC[\202L\184\235\225\193\173_\145_\189\183\183\247\183TY\234\196\231;7\158\1869_0\255\0265wQ\237\169\255\134oZ\181\188\251S\181`\220\173\213+p\188\252\1636\200\2022\187\019\147\204\159h\249\197\145\132;\163\233\129Hl \b\019\014\188\149\171\1924\210&\147|XPr\213\143\199=\n\196\144M2\189\140\147;\222\185j7\192M\004\145,\1591G_cM\174\204\243YLz{|\014\131\182_\n \239\005{\162y\222\212T\147\211\182\141.\145a\194u7\151\252\201\229\134@\2394\200|\248@\141Y\250\186\207\195\156\179\195\235\213Vl\000\1855H(\158 w\188\158\018\214\018\219\172E\160y_\254\205\163\187o\192\183\138\194\198\030q\003h\207nht4\156\t\028\213pcPI\190\250\214\233L\217q\185\222\000L\214\226\200\205CJh\199%\171\rO\206\134l\129o'3Ta\246\250\254K#\029*zs\203\221h\172\160~N\173\160\249&\031\135m\226\194z\b\137\166A\"P.uO\011\174\135{\196\153)X\243G\249\139\138\231\012\003\201,\143~\255>k\202\140\142jP \016I0\138\167\015~\220k\149\179\b\195\2344\141?\167[?\186\018\181\213\146\185\218\021\001Zz\158?\176|\145\128-4\140p$\178\163S\207B\211\255}\140\233)\140\211]6\n\239\138\002\131s\018\184-\216\201\r\226\224\153\228\217\217y\023y\241\212\202\197\022T\128\201\\\165\253\230\003;\1855\203\014B\208\153\154U\019\007\1279\223M\142K\019\177\193K\239\150\167\194c/\198\222\011\176\172\229\191\242\031\006\023D\223\021\000\b\026\005\178^\241\185#\143\167To\207\227\017@\028\012\220\233\162\155\179\143\139!\229\228\229\142&\195\229\129\180\155\240\191\216\130~\176T\218\219\221.\206\157\021(\167G \140\031\130\1652x(^(\017\146<\178\024/.\194\139#tU*\155\027\133b\145\240E\"\132\219j\164\165@\192\181\240\2286\b\229\n\181B\222\226\015\004=\028\020c\0069x\016\216\131\000\231\004\153\224x\161X\192\238\141\252\170rK?\137}\168\029|\019\138\181\212D5\223_\200\011\183\141\255J\244oK\233S\1895i\188\150\200^\182@\\Dy\191@|o\249\005!\2130\159E\143@\230\025\140\012\138\192\204\215\194\142U\131\007a\005\157(@FQ\179\145z\251}\230\011\248\192\219G\225U\240-`y\203\129\154\224\239y\t\248\249\241\227\"\156\005\195\198\248\227\1772>\224\181\021!#c\207\137\186\209\021\005\2172D>de\181l\250\155\179\189\165Q\153\226\251v\031\239\143w&\252\248_\026N\1642\r#\027u\001\149\000!L,\149]\247O\201Q!\202\140W\231e\248\204\011\132\134\186r\201\002\222\164\144\215\197\157b\1784\133\247\253\1835\153j\004\"\183\212N\250af\225\031\155\138\128\163\199\148:\170\029P%Ta\234\196h\144\148E&^o\142\215y\237x\154\130M\255m,F\141\140\t\198R\\\215\200X\188YFc\1667XO\153Z\025-\224\199%\230\240,d\025\143\001\136\193J\160\219q\"\nS\188\138\r7\231\135\235\205\004\226\193\155\227>8n\2301\143\179Q\150\148W,\185\193\128\179\1444b\140c\204@u\245[\139U\209oX\006c3[7\168kh\186\029\230m\146\201gm7';]8h HY\161\144\228\254_U_\153\196\rK\025[\172.\231hxpy>\007Z7l\165LS\191\197\025\223w!\029\014\242)\000LUe\156\184\152\193XB\200S\152v\205Y\248\231\211\219:\001\1598;hp2\230\182\233\144+\217&\006\165|t\019\209c)O\161/)zIx" @@ -364,8 +366,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" @@ -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_fb5c7ff51d7b33d70bd240daa8c37e65; d_3f5b432df048be5bbafe5b7ea5cd588c; d_4e623d843d11b340a332970722228ac6; d_5839f826ef253129037318088870a966; d_5d25c41009f2e5015b1905fcbee48de9; ] | _ -> 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 "213a0c043e47e099ab5b07495068ad84" | _ -> 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 19409 | _ -> None diff --git a/test/generators/html/Ocamlary.html b/test/generators/html/Ocamlary.html index 63973e44c7..3b8c952098 100644 --- a/test/generators/html/Ocamlary.html +++ b/test/generators/html/Ocamlary.html @@ -1060,12 +1060,13 @@

  1. - | `TagA + | `TagA
  2. - | - `ConstrB of int + | + `ConstrB of int +
] @@ -1287,13 +1288,13 @@

  1. - | - poly_variant + | + poly_variant
  2. - | `TagC + | `TagC
] @@ -1312,8 +1313,7 @@

  1. - | - + | `TagA of 'a @@ -1334,8 +1334,7 @@

  2. - | - + | `TagA of 'a @@ -1344,8 +1343,7 @@

  3. - | - + | `ConstrB of 'b @@ -1465,12 +1463,11 @@

    1. - | `A + | `A
    2. - | - + | `B of [ `B1 | `B2 ] @@ -1478,12 +1475,11 @@

    3. - | `C + | `C
    4. - | - + | `D of [ `D1 of [ `D1a ] ] diff --git a/test/generators/html/Recent-module-type-PolyS.html b/test/generators/html/Recent-module-type-PolyS.html index 684636598f..f68497dd87 100644 --- a/test/generators/html/Recent-module-type-PolyS.html +++ b/test/generators/html/Recent-module-type-PolyS.html @@ -23,12 +23,12 @@

      Module type Recent.PolyS

      1. - | - `A + + | `A
      2. - | - `B + + | `B
      ] diff --git a/test/generators/html/Recent.html b/test/generators/html/Recent.html index 3458023d01..48bc4726a6 100644 --- a/test/generators/html/Recent.html +++ b/test/generators/html/Recent.html @@ -151,23 +151,24 @@

      Module Recent

      1. - | `A + | `A
      2. - | - `B of int + | + `B of int +
      3. - | `C + | `C
        (*

        foo

        *)
      4. - | `D + | `D
        (*

        bar

        *)
        diff --git a/test/generators/html/Type.html b/test/generators/html/Type.html index 3b7870c640..4a64eaeca6 100644 --- a/test/generators/html/Type.html +++ b/test/generators/html/Type.html @@ -387,22 +387,23 @@

        Module Type

        1. - | `A + | `A
        2. - | - `B of int + | + `B of int +
        3. - | - `C of int * unit + | + `C of int * unit
        4. - | `D + | `D
        ] @@ -419,8 +420,8 @@

        Module Type

        class="def type anchored"> - | - + + | polymorphic_variant @@ -428,7 +429,7 @@

        Module Type

      5. - | `E + | `E
      ] @@ -444,8 +445,7 @@

      Module Type

    5. - | - + | `A of [ `B | `C ] @@ -465,8 +465,8 @@

      Module Type

    6. - | - + + | polymorphic_variant diff --git a/test/generators/latex/Ocamlary.tex b/test/generators/latex/Ocamlary.tex index 206f08a04a..989790edaa 100644 --- a/test/generators/latex/Ocamlary.tex +++ b/test/generators/latex/Ocamlary.tex @@ -438,8 +438,8 @@ \subsubsection{Advanced Type Stuff\label{advanced-type-stuff}}% \begin{ocamlindent}This comment is for \ocamlinlinecode{variant}.This comment is also for \ocamlinlinecode{variant}.\end{ocamlindent}% \medbreak \label{module-Ocamlary-type-poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`TagA}\label{module-Ocamlary-type-poly_variant.TagA}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`ConstrB \ocamltag{keyword}{of} int}\label{module-Ocamlary-type-poly_variant.ConstrB}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `TagA}\label{module-Ocamlary-type-poly_variant.TagA}\\ +\ocamlcodefragment{| `ConstrB \ocamltag{keyword}{of} int}\label{module-Ocamlary-type-poly_variant.ConstrB}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\begin{ocamlindent}This comment is for \ocamlinlinecode{poly\_\allowbreak{}variant}.Wow! It was a polymorphic variant!\end{ocamlindent}% @@ -482,20 +482,20 @@ \subsubsection{Advanced Type Stuff\label{advanced-type-stuff}}% \ocamlcodefragment{\}}\begin{ocamlindent}This comment is for \ocamlinlinecode{record\_\allowbreak{}alias}.\end{ocamlindent}% \medbreak \label{module-Ocamlary-type-poly_variant_union}\ocamlcodefragment{\ocamltag{keyword}{type} poly\_\allowbreak{}variant\_\allowbreak{}union = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{\hyperref[module-Ocamlary-type-poly_variant]{\ocamlinlinecode{poly\_\allowbreak{}variant}}}\label{module-Ocamlary-type-poly_variant_union.poly_variant}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`TagC}\label{module-Ocamlary-type-poly_variant_union.TagC}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| \hyperref[module-Ocamlary-type-poly_variant]{\ocamlinlinecode{poly\_\allowbreak{}variant}}}\label{module-Ocamlary-type-poly_variant_union.poly_variant}\\ +\ocamlcodefragment{| `TagC}\label{module-Ocamlary-type-poly_variant_union.TagC}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\begin{ocamlindent}This comment is for \ocamlinlinecode{poly\_\allowbreak{}variant\_\allowbreak{}union}.\end{ocamlindent}% \medbreak \label{module-Ocamlary-type-poly_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} 'a poly\_\allowbreak{}poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-poly_poly_variant.TagA}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-poly_poly_variant.TagA}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Ocamlary-type-bin_poly_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} ('a,\allowbreak{} 'b) bin\_\allowbreak{}poly\_\allowbreak{}poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-bin_poly_poly_variant.TagA}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`ConstrB \ocamltag{keyword}{of} \ocamltag{type-var}{'b}}\label{module-Ocamlary-type-bin_poly_poly_variant.ConstrB}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `TagA \ocamltag{keyword}{of} \ocamltag{type-var}{'a}}\label{module-Ocamlary-type-bin_poly_poly_variant.TagA}\\ +\ocamlcodefragment{| `ConstrB \ocamltag{keyword}{of} \ocamltag{type-var}{'b}}\label{module-Ocamlary-type-bin_poly_poly_variant.ConstrB}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ @@ -507,10 +507,10 @@ \subsubsection{Advanced Type Stuff\label{advanced-type-stuff}}% \label{module-Ocamlary-type-closed_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} 'a closed\_\allowbreak{}poly\_\allowbreak{}variant = [< `One | `Two ] \ocamltag{keyword}{as} 'a}\\ \label{module-Ocamlary-type-clopen_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} 'a clopen\_\allowbreak{}poly\_\allowbreak{}variant = [< `One | `Two of int | `Three Two Three ] \ocamltag{keyword}{as} 'a}\\ \label{module-Ocamlary-type-nested_poly_variant}\ocamlcodefragment{\ocamltag{keyword}{type} nested\_\allowbreak{}poly\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Ocamlary-type-nested_poly_variant.A}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`B \ocamltag{keyword}{of} [ `B1 | `B2 ]}\label{module-Ocamlary-type-nested_poly_variant.B}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`C}\label{module-Ocamlary-type-nested_poly_variant.C}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`D \ocamltag{keyword}{of} [ `D1 of [ `D1a ] ]}\label{module-Ocamlary-type-nested_poly_variant.D}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A}\label{module-Ocamlary-type-nested_poly_variant.A}\\ +\ocamlcodefragment{| `B \ocamltag{keyword}{of} [ `B1 | `B2 ]}\label{module-Ocamlary-type-nested_poly_variant.B}\\ +\ocamlcodefragment{| `C}\label{module-Ocamlary-type-nested_poly_variant.C}\\ +\ocamlcodefragment{| `D \ocamltag{keyword}{of} [ `D1 of [ `D1a ] ]}\label{module-Ocamlary-type-nested_poly_variant.D}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ diff --git a/test/generators/latex/Recent.tex b/test/generators/latex/Recent.tex index 352f6e5cf8..ef659b96d9 100644 --- a/test/generators/latex/Recent.tex +++ b/test/generators/latex/Recent.tex @@ -34,10 +34,10 @@ \subsubsection{Signature\label{signature}}% \begin{ocamlindent}\end{ocamlindent}% \end{ocamlindent}% \label{module-Recent-type-polymorphic_variant}\ocamlcodefragment{\ocamltag{keyword}{type} polymorphic\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{0.500\textwidth}p{0.500\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Recent-type-polymorphic_variant.A}& \\ -\ocamlinlinecode{| }\ocamlinlinecode{`B \ocamltag{keyword}{of} int}\label{module-Recent-type-polymorphic_variant.B}& \\ -\ocamlinlinecode{| }\ocamlinlinecode{`C}\label{module-Recent-type-polymorphic_variant.C}& foo\\ -\ocamlinlinecode{| }\ocamlinlinecode{`D}\label{module-Recent-type-polymorphic_variant.D}& bar\\ +\begin{ocamltabular}{p{0.500\textwidth}p{0.500\textwidth}}\ocamlcodefragment{| `A}\label{module-Recent-type-polymorphic_variant.A}& \\ +\ocamlcodefragment{| `B \ocamltag{keyword}{of} int}\label{module-Recent-type-polymorphic_variant.B}& \\ +\ocamlcodefragment{| `C}\label{module-Recent-type-polymorphic_variant.C}& foo\\ +\ocamlcodefragment{| `D}\label{module-Recent-type-polymorphic_variant.D}& bar\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ @@ -67,8 +67,8 @@ \subsubsection{Signature\label{signature}}% \end{ocamlindent}% \ocamlcodefragment{\ocamltag{keyword}{end}}\\ \label{module-Recent-module-type-PolyS}\ocamlcodefragment{\ocamltag{keyword}{module} \ocamltag{keyword}{type} \hyperref[module-Recent-module-type-PolyS]{\ocamlinlinecode{PolyS}}}\ocamlcodefragment{ = \ocamltag{keyword}{sig}}\begin{ocamlindent}\label{module-Recent-module-type-PolyS-type-t}\ocamlcodefragment{\ocamltag{keyword}{type} t = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Recent-module-type-PolyS-type-t.A}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`B}\label{module-Recent-module-type-PolyS-type-t.B}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A}\label{module-Recent-module-type-PolyS-type-t.A}\\ +\ocamlcodefragment{| `B}\label{module-Recent-module-type-PolyS-type-t.B}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ diff --git a/test/generators/latex/Type.tex b/test/generators/latex/Type.tex index 2c2f357b43..b50130beb7 100644 --- a/test/generators/latex/Type.tex +++ b/test/generators/latex/Type.tex @@ -68,26 +68,26 @@ \section{Module \ocamlinlinecode{Type}}\label{module-Type}% \\ \ocamlcodefragment{\}}\\ \label{module-Type-type-polymorphic_variant}\ocamlcodefragment{\ocamltag{keyword}{type} polymorphic\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A}\label{module-Type-type-polymorphic_variant.A}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`B \ocamltag{keyword}{of} int}\label{module-Type-type-polymorphic_variant.B}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`C \ocamltag{keyword}{of} int * unit}\label{module-Type-type-polymorphic_variant.C}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`D}\label{module-Type-type-polymorphic_variant.D}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A}\label{module-Type-type-polymorphic_variant.A}\\ +\ocamlcodefragment{| `B \ocamltag{keyword}{of} int}\label{module-Type-type-polymorphic_variant.B}\\ +\ocamlcodefragment{| `C \ocamltag{keyword}{of} int * unit}\label{module-Type-type-polymorphic_variant.C}\\ +\ocamlcodefragment{| `D}\label{module-Type-type-polymorphic_variant.D}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Type-type-polymorphic_variant_extension}\ocamlcodefragment{\ocamltag{keyword}{type} polymorphic\_\allowbreak{}variant\_\allowbreak{}extension = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{\hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-polymorphic_variant_extension.polymorphic_variant}\\ -\ocamlinlinecode{| }\ocamlinlinecode{`E}\label{module-Type-type-polymorphic_variant_extension.E}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| \hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-polymorphic_variant_extension.polymorphic_variant}\\ +\ocamlcodefragment{| `E}\label{module-Type-type-polymorphic_variant_extension.E}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Type-type-nested_polymorphic_variant}\ocamlcodefragment{\ocamltag{keyword}{type} nested\_\allowbreak{}polymorphic\_\allowbreak{}variant = [ }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{`A \ocamltag{keyword}{of} [ `B | `C ]}\label{module-Type-type-nested_polymorphic_variant.A}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| `A \ocamltag{keyword}{of} [ `B | `C ]}\label{module-Type-type-nested_polymorphic_variant.A}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ \label{module-Type-type-private_extenion}\ocamlcodefragment{\ocamltag{keyword}{type} private\_\allowbreak{}extenion = \ocamltag{keyword}{private} [> }\\ -\begin{ocamltabular}{p{1.000\textwidth}}\ocamlinlinecode{| }\ocamlinlinecode{\hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-private_extenion.polymorphic_variant}\\ +\begin{ocamltabular}{p{1.000\textwidth}}\ocamlcodefragment{| \hyperref[module-Type-type-polymorphic_variant]{\ocamlinlinecode{polymorphic\_\allowbreak{}variant}}}\label{module-Type-type-private_extenion.polymorphic_variant}\\ \end{ocamltabular}% \\ \ocamlcodefragment{ ]}\\ From 29fed5a9cf7f9e2c222a9d9a572849949a37abe3 Mon Sep 17 00:00:00 2001 From: Wiktor Kuchta Date: Thu, 3 Aug 2023 15:44:48 +0200 Subject: [PATCH 2/2] css: Fix numbered polyvariant & extension constrs The previous rules were applicable only to records and ordinary variants. --- src/html_support_files/odoc.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/html_support_files/odoc.css b/src/html_support_files/odoc.css index 5bc774c568..a8190c65a0 100644 --- a/src/html_support_files/odoc.css +++ b/src/html_support_files/odoc.css @@ -534,11 +534,11 @@ div.odoc-spec,.odoc-include { margin-bottom: 2em; } -.spec.type .variant p, .spec.type .record p { +.spec.type > ol > li p { margin: 5px; } -.spec.type .variant, .spec.type .record { +.spec.type > ol > li { margin-left: 2ch; list-style: none; display: flex; @@ -546,7 +546,7 @@ div.odoc-spec,.odoc-include { row-gap: 4px; } -.spec.type .record > code, .spec.type .variant > code { +.spec.type > ol > li code { min-width: 40%; } @@ -555,7 +555,7 @@ div.odoc-spec,.odoc-include { margin-bottom: 0; } -.spec.type .record > .def-doc, .spec.type .variant > .def-doc { +.spec.type .def-doc { min-width:50%; padding: 0.25em 0.5em; margin-left: 10%;