Caml1999T037 X:BC(Odoc_astР(Asttypes(Asttypes4ocamldoc/odoc_ast.mlQ`eQ`m@@ 3@@@@#intA;@@A@@@@@&_none_@@A@A@$charB;@@A@@@@@@A@&stringQ;@@A@@@@@ @@@%bytesC;@@A@@@@@@@@%floatD;@@A@@@@@@@@$boolE;@@%falsec@@!@$trued@@'@@@A@@@@@(@A@$unitF;@@"()e@@2@@@A@@@@@3@A@ #exnG;@@@A@@@@@7@@@#effH;@@O@A@A@@@@@@@@@@,continuationI;@@Q@@P@B A@nY@@@@@@O@@@%arrayJ;@@R@AA@@@@@@Y@@@ $listK;@@S@A"[]f@@f@"::g@@@T@@s@ @@A@Y@@@@@v@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@A@@@@@@@@%int32N;@@A@@@@@@@@%int64O;@@A@@@@@@@@&lazy_tP;@@X@AA@Y@@@@@@@@ 5extension_constructorR;@@A@@@@@@@@*floatarrayS;@@A@@@@@@@@&iarrayT;@@Y@AA@Y@@@@@@@@ *atomic_locU;@@Z@AA@@@@@@@@@ .Assert_failure`#@@@@@J@@@@@@@@[@@A۠=ocaml.warn_on_literal_patternߐ@@0Division_by_zero]#@@@A堰  @+End_of_file\#$@@@A@'FailureY#,@'@@A@0Invalid_argumentX#5@0@@A$#@-Match_failureV#>@@=@9@;@@a@@A54@)Not_foundZ#O@@@A=<@-Out_of_memoryW#W@@@A E#D#@.Stack_overflow^#_@@@A(M+L+@.Sys_blocked_io_#g@@@A0U3T3@)Sys_error[#o@j@@A9^<]<@:Undefined_recursive_modulea#x@@w@s@u@@h@@AJoMnM@:Continuation_already_takenb#@@@ARwUvU@&Stdlib@@@@A3@@@Q``@)ocaml.doca # Analysis of implementation files. P77P7_@@@@@@@@3@@@Р%Types%TypesRnsRnx@@ 3@'@@@@A3@)@@Rnn@@ @3@-@@Р)Typedtree)TypedtreeSy~Sy@@ 3@@@@@A3@@@Syy@@ @3@@@A+)typedtreeAUU@@;@@@A@')structure@@@@//module_coercion@@@@@@@@@UU@@@@DA@@AВ@г)TypedtreeUU@UU@@@&3@?5;@@@A=@@@@@@@@#@@@ @@@@@г,)TypedtreeUU@3U U@@@;@@@H&@@7@@76@3        @^@@Р.Odoc_parameter.Odoc_parameter3W4W@@ 322222222@qga@@@@A344444444@@@HA!C@@@@@9j:j@@LIA"CT@@@@@GkHk@@ZJA!X@@@@@UlVl@@hKA!E*@@@@@cmdm@@vLA!P8@@@@@qnrn@@MA@@A@@@@@ufUY@@@@EA@#tt|gdl}gdm@m@гv&stringgdqw@@}3@;@@@A@@@@@@@@@@|@@@@~@#zzhxhx@s@г|&stringhx}@@~@@@@@#||ii@u@г~&stringi@@$@@@@@#~~jj@w@г&stringj@@4@@@@@#kk@y@г&stringk@@D@@@@@#ll@{@г&stringl@@T@@@@@#mm@}@г&stringm@@d@@@@@#nn@@г&stringn@@t@@@@@@A@@@@3@@@A+#tabDpp@@;@@1A'Hashtbl!t@@@_3structure_item_desc@@@@@@@@@@p  pD@@@@2NA@@Aг*p;+pB@.pC@@г#ele7p8p@@'344444444@Z@:9;@@@AA@@@@@@@@'@@@$@@@@г0)TypedtreeOpPp%@7Sp&Tp9@@@?@@@LXp9@@;@@;:@3UUUUUUUU@ @@A+*tab_valuesEdqENeqEX@@;@@A'Hashtbl!t$Name!t@@@ O@'pattern@@@ P@*expression@@@ Q@@ R@@@ U@@@@qEIqE@@@@OA@@Aг(*qEqE@-qE@@г/+Odoc_moduleqE\qEg@7qEhqEl@@;qEmqEn@ @@E3@|W;@@@A_@@@ |@@@@@5@@@2@@@@В@гJ)TypedtreeqEpqEy@QqEzqE@@@Y!@@@гT)TypedtreeqEqE@[qEqE@@@c3@@@p4@@@5qE[^@@`@@`_@3@7@@@ఠ0iter_val_patternss@ PA@@@)Typedtree,pattern_desc %value@@@ F@ @@@ F@ @@ t+Odoc_module$Name!t@@@ F@ @@@ F@ @@ F@ 3""""""""@s@@@@Ġ)Typedtree6t7t@(Tpat_any;t;v?@@:@@@ @@BvACvB@@<@@@ @@@qHvC@@G@@@@H@@@ภ$SomePvHQvL@;@A@AA@A&@@డ$Name*from_identbvNcvR@ fvSgv]@@@%Ident!t@@@ B@@ AZ@@@ @@@ ?@6ocamldoc/odoc_name.mliG  G  @@)Odoc_nameO@@@@@@@ @@ k@@@ @@ 3@=@@@@@@ఐ렐$namev^vb@ @@0@@@ I@"I@"@@vMvc@@@@U@@@Ġ)Typedtreewdlwdu@*Tpat_tuplewdvwd@@;*Tpat_tuple@@@@@@@$listK@&optionL@@@@@@@@@@@@@@@@@@@@ACALAAY  Z  @@@n@@wdwd@@)@&#@@@ @@@ @@@@ @@@ @@ @@@ J@@@T@@K@@@ภ$None wd wd@@@@T@@xx@@Z@@@ภ$Nonex@@@@b@@A%params@@@@@#F@*W@A@@@@ఠ-add_to_hashes-z.z@@TA@@@&Stdlib'Hashtbl!tL@@@,IF@,$H3structure_item_desc@@@*lF@,"@@@,>F@*Y@@*Z@!C@@@=F@=m@g'pattern@@@=F@=@p*expression@@@=F@=@@=F@=k@@@=F@*_@@*`@6F@*e@@*f$unitF@@@,F@*g@@*hF@*a@@*bF@*[@@*\F@*X3@d@@@@@࣠@%tableAzz@UA@@e3@tzrJr@@@@@  @@,table_valuesAzz@VA@@X3@!|@@@@@@@@"ttAzz@WA@@A3@l@@@@@@@@ఐ"tt{{ @R@@@@S3@@@@Ġ)Typedtree|  |  @+Tstr_module|  |  $@@;+Tstr_module@@@j@.module_binding@@@X@AF@N@ACkCmCkC@@@@ఠ"mb|  %|  '@XA@@@@@*n3@4@@@@@(@@@@@@@డ&Option$iter} + 5} + ;@ } + <} + @@@@@!a@+"@@+@@@+@@+@@+@&optionL@@@+@@+@@@+@@+@@+@*option.mli| o o| o @@.Stdlib__OptionL@-(@@@@@@@,]K@+@@,&@@@,@@+@@+@%@@@+@@+@@@+@@+@@+3YYYYYYYY@d]@^@_@@@@࣠@"idAo} + Fp} + H@cA@@(3nnnnnnnn@@@@@@@డ'Hashtbl#add~ L X~ L _@ ~ L `~ L c@@@V!a@!b@@@@@@@@@@ @@$unitF@@@@@@@@@@+hashtbl.mliu;;u;c@@/Stdlib__HashtblE@.)@@@|uo@@@,&@@,%@{@@,#@x@@,!@@@, @@,@@,@@,3@h_}@V@W@@@@ఐ=%table~ L d~ L i@"@@@@ภ!M~ L k~ L l@;@@@@A@@H@A@@Ԡడ/$Name*from_ident~ L n~ L r@ ~ L s~ L }@@@@@@@@,P@@,O@@@,N@@,M@@@ఐ"id ~ L ~ ~ L @J@@M@@ ~ L m ~ L @@@@@,[S@@ ~ L j ~ L @@N@,JX@@ఐm"tt '~ L  (~ L @X@@e@@@@@@@,bN@,5k@ 1} + A 2~ L @@@@@,@@@,@@,L@,gL@,d@@ఐJ"mb J~ L  K~ L @@@`@@@,n@,k@%mb_id V~ L  W~ L @3%mb_idk@@@u!t@@@l@@@k@@@3'mb_name#loc@@@o@@@n@@@m@@A@A2E8E=3E8EX@@u @3&mb_uid&!t@@@p@@B@A=EYE^>EYEl@@ @3+mb_presence1/module_presence@@@q@@C)@AIEmErJEmE@@ @3'mb_expr=+module_expr@@@r@@D4@ATEEUEE@@ @3-mb_attributesH*attributes@@@s@@E?@A_EE`EE@@@3&mb_locS(Location!t@@@t@@FM@AmEEnEE@@@@AqDDrDE @@ @tg@@z@@@,L@,oL@,lh@@p@@ET@Ġ)Typedtree      @.Tstr_recmodule      @@;.Tstr_recmodule@@@@Z@@@Y@AG@N@ACCCC@@@@ఠ$mods      @ YA@@ @@@*s@@@*r3        @*@@@@@, @@@@@@@డ$List$iter @   @  @  @   @  @@@@!a@.@@/$unitF@@@/@@/@@/@$listK@@@/@@/@@@/@@/@@/@(list.mli@@,Stdlib__ListU@0+@@@@W@@@2kK@1@@1)@@@1@@1@@1@&@@@1@@1#@@@1@@1@@13 R R R R R R R R@kd@e@f@@@@࣠@"mbA hA   iA  @ {dA@@(3 g g g g g g g g@@@@@@@డ&Option$iter |B   }B  @  B   B  @@f@@@@ @@@2UM@1@@1g@@@1@@1@@1@f@@@1@@1@@@1@@1@@13        @I@^@7@8@@@@࣠@"idA B   B  @ eA@@(3        @@@@@@@డ 9'Hashtbl#add C   C  "@  C  # C  &@@A@@@F@2F@2@@@2@@2@ @@2@ @@2=@@@2@@2@@2@@23        @F=[@4@5@@@@ఐ\%table C  ' C  ,@A@@@@ภ!M C  . C  /@డI$Name*from_ident C  1 C  5@  C  6 C  @@@@@@@@@2H@@2G@@@2F@@2E;@@ఐ|"id )C  A *C  C@E@@H@@ -C  0 .C  D@@@@@2SN@@ 3C  - 4C  E@@P@2BS@@ภ)Typedtree BD F Z CD F c@+Tstr_module GD F d HD F o@@aఐ"mb RD F p SD F r@@@q@@ VD F Y WD F s@@P@2]v@@@@3@@@2`P@2-|@ aB   bE t @@@@@2 A@@@2 @@2 N@2eN@2b@@ఐ"mb zE t  {E t @۰@@9@%mb_id E t  E t @+ @@V@@@2 N@2lN@2i@@ @@o@@@2mN@2@ A   F  @@@Y@@1}@@@1@@1L@2rL@2o4@@ఐ$mods G   G  @S@@p@@@1L@2wL@2u^@@ @@4J@Ġ)Typedtree H   H  @,Tstr_modtype H   H  @@;,Tstr_modtype@7module_type_declaration@@@[@AH@N@ACCCC@@@@ఠ#mtd H   H  @ ZA@@@@@*v3        @@@@@@%@@g@@g@@@డ i'Hashtbl#add I   I  @  I   I  @@q@@@ǠF@2F@2~@@@2@@2@ @@2@ @@2}m@@@2|@@2{@@2z@@2y3        @B<5@6@7@@@@ఐ%table !I   "I  @q@@@@ภ"MT -I   .I  @; O@ AA@H@A @@ డ {$Name*from_ident ?I   @I  @  CI   DI  @@ݰ@@@@@@2@@22@@@2@@2=@@ఐ#mtd ]I   ^I  @I@@@@@2@2Q@&mtd_id iI   jI  @3&mtd_id@@@!t@@@@@@ 3(mtd_name #loc@@@@@@@@A @A;lQQ<lQQ@@~M@3'mtd_uid!t@@@@@B@AFmQQGmQQ@@N@3(mtd_type'ɠ+module_type@@@@@@@@C(@AVnQQWnQQ@@O@3.mtd_attributes7@@@@@D1@A_oQQ`oQR@@P@3'mtd_loc@!t@@@@@E=@AkpRRlpRR@@Q@@AokQwQ|pkQwQ@@L@_R@@R@@@2M@2M@2@@ I   I  @@@@@2@@ I   I  @@L@2@@ఐ"tt I   I  @ @@[@@@@Z@Ġ)Typedtree J   J  %@+Tstr_typext J  & J  1@@;+Tstr_typext@.type_extension@@@V@AD@N@AC$C&C$CE@@@@ఠ"te J  2 J  4@ [A@@@@@*y3        @8@@@@@%@@@@@@@ఐ"te K > N K > P@@@@@+@@@2@23        @O# @@@2tyext_constructors 'K > Q (K > c@32tyext_constructors8@@@m.5extension_constructor@@@@@@@@C3*tyext_path$Path!t@@@@@@ @A````@@>@3)tyext_txt#loc)Longident!t@@@@@@@@A@A````@@R@3,tyext_params2@a)core_type@@@@@(variance@@@@+injectivity@@@@@@@@@@@@BE@A5``6`a"@@x@X3-tyext_privateX,private_flag@@@@@DP@A@ aWa[A aWaw@@@3)tyext_locc!t@@@@@E\@AL axa|M axa@@@30tyext_attributeso@@@@@Fe@AU aaV aa@@@@AY a#a'Z a#aV@@@~@@xw@@@2@@@2@Ġ"[] L i u L i w@; ( 5 2@@U@@@@AA@A @@ +@@ @@@@@2@@@23        @@@@ @@@@2@@@2@@@ ภ%false L i  L i @;  @@@M@@@@B@@A @@ @ @@@@@2@ L i { @@c@Ġ":: M   M  @; Z8@ XB@AA@A @@ Rఠ#ext M   M  @ fA@@@@@2@@M  M  @@ j@@@2@@@2@@@ @@@@@2@@@2@@@@@2@@@2@@@డ 'Hashtbl#add)M  *M  @ -M  .M  @@@@@F@2F@2@@@2@@2@ @@2@ @@2@@@2@@2@@2@@23DDDDDDDD@)UN@O@P@@@@ఐ%tableVM  WM  @@@"@@ภ!XbM  cM  @; @ AE@H@A @@ డ $Name*from_identtM  uM  @ xM  yM  @@@@@@@@3@@3 g@@@3@@3=@@ఐ#extM  M  @I@@e@@@3+@3)Q@&ext_idM  M  @3&ext_idp@@@ %!t@@@@@@ 3(ext_name  %#loc "@@@@@@@@A @A pb|b qb|b@@ @3(ext_type5extension_constructor@@@@@B@A |bb }bb@@ @3(ext_kind( :extension_constructor_kind@@@@@C$@A bb bb@@ @3'ext_loc3(!t@@@@@D0@A bb bc@@ @3.ext_attributes??@@@@@E9@A cc  cc&@@ @@A bgbk bgb{@@ @[N@@@@@3'O@3,O@3*@@M  M  @@ @@@3%@@M  M  @@N@3@@ఐO"tt M   M  @:@@@@@@@@@AJ  8N  @@I@Ġ)TypedtreeO  O  @.Tstr_exception!O  "O  @@;.Tstr_exception;@ #.type_exception@@@W@AE@N@A CFCH CFCj@@@ (@ఠ#ext8O  9O  @K\A@@@@@*|3::::::::@l@@@@@%@@@@@@@డ 'Hashtbl#addNP  OP  @ RP  SP  @@˰@@@!F@:F@:@@@:@@:@ @@:@ @@:@@@:@@:@@:@@:3iiiiiiii@<5@6@7@@@@ఐ栐%table{P  |P  %@˰@@G@@ภ!EP  'P  (@; /@ -AF@H@A )@@ &డ $Name*from_identP  *P  .@ P  /P  9@@ 7@@@ 7@@@:@@: @@@:@@:=@@ఐ#extP  :P  =@K@@@@@:@:S@1tyexn_constructorP  >P  O@31tyexn_constructor@@@@@@@@@ 3)tyexn_loc %!t@@@@@A @A bb bb@@ @30tyexn_attributes  )attribute@@@@@@@@B@A bb  bbA@@ @@A aa ab@@ @8+@@@@@:@:@&ext_idP  PP  V@\D@@ @@@:M@:M@:@@P  )P  W@@ @@@:@@ P  & P  X@@L@:@@ఐ_"ttQ Y eQ Y g@J@@@@@@@Ġ)Typedtree)R h p*R h y@)Tstr_type.R h z/R h @@;)Tstr_typeH@ (rec_flag@@@S y :0type_declaration@@@U@@@T@BC@N@A BB BC#@@@ @@ఠ"rfPR h QR h @c]A@@ @@@*3RRRRRRRR@@@@ఠ4ident_type_decl_list_R h `R h @r^A@@)(@@@*@@@*@@@BkR h @@@@@@@డ$List$iteryS  zS  @ }S  ~S  @@m@@@@M@@@;OK@:@@:n@@@:@@:@@:@k@@@:@@:h@@@:@@:@@:3@SL@M@NE>@?@@@@@@࣠@"tduAT  T  @jA@@*3@@@@@@@డ8'Hashtbl#addU  U  @ U  U  @@@@@@  F@; F@;@@@;@@;@ @@;@ @@;<@@@;@@;@@;@@:3@H=]@4@5@@@@ఐ [%tableU  U  @ @@@ @@ภ!TU  U  @; @ AB@H@A @@ ӠడJ$Name*from_identU  U  @ U  U  @@ @@@ @@@;2@@;1 @@@;0@@;/=@@ఐ"td,U  -U  @I@@L@&typ_id3U  4U  @3&typ_id@@@s !t@@@^@@@+ 3(typ_name  #loc @@@`@@@_@@A @A \&\* \&\?@@ H@3*typ_params @@@@c@@ (variance@@@e@ +injectivity@@@f@@d@@b@@@a@@B1@A )\@\D *\@\|@@ l@3(typ_type@ o0type_declaration@@@g@@C=@A 5\}\ 6\}\@@ x@3/typ_constraintsL  @&@@@j@+@@@k@!t@@@l@@i@@@h@@D\@A T\\ U\\@@ @3(typ_kindk )type_kind@@@m@@Eg@A _\\ `\\@@ @3+typ_privatev $,private_flag@@@n@@Fr@A j\] k\]@@ @3,typ_manifest W@@@p@@@o@@G@A x]] y]]>@@ @3'typ_loc!t@@@q@@H@A ]?]C ]?]W@@ @3.typ_attributes0@@@r@@I@A ]X]\ ]X]w@@ @@A \\ \\%@@ @@@ t@@@;?O@;CO@;A@@U  U  @@ @@@;=@@U  U  @@ N@;, @@ภ)TypedtreeV  V  '@)Tstr_typeV  (V  1@@Ҡఐ"rf V  3 V  5@n@@@@@;MN@;QN@;P2@ภ-V  8V  ;A,ఐy"td %V  :@A @@D@ภwAt@ A@K@;Y@@@;ZN@;aR@@6V  7@@@@@;NN@;XZ@@>V  ?V  =@@ N@;L_@@@@%@@@;cN@;e@IT  JV  >@@@@@:3@@@:@@:L@;hL@;e@@ఐ4ident_type_decl_list`W ? KaW ? _@°@@=@@@:L@;mL@;k@@ @@ @Ġ)TypedtreexX ` hyX ` q@*Tstr_class}X ` r~X ` |@@;*Tstr_class @  @ 1class_declaration@@@_@ Ѡ @@@a@@@`@@^@@@]@AJ@N@A UDD VDD=@@@ @ఠ)info_listX ` }X ` @_A@@)@(@@@*@&%@@@*@@@*@@*@@@*3@ @@@@@J@@ B@@ B@@@డD$List$iterY  Y  @ Y  Y  @@ð@@@@@\@@@<K@;@\[@@@;@@@;K@;@@;K@;t@@;x@@@;w@@;v@@;u@Ҡ @@@;s@@;r@@@;q@@;p@@;o3@ 1aZ@[@\@@@@࣠@ xA@ఠ"civZ  Z  @,kA@@83@@@@@ఠ!sw&Z  'Z  @9lA@@> @@+Z  ,Z  @@@L@G@@;@@ @@డ'Hashtbl#addB[  C[  @ F[  G[  @@ @@@  F@; F@;@@@;@@;@ @@;@ @@; @@@;@@;@@;@@;3]]]]]]]]@aP@J@KD{@>@?@@@@ఐ ܠ%tableq[  r[  @ @@ =@@ภ!C}[  ~[  @;O @MAC@H@AI@@Fడ$Name*from_ident[  [  @ [  [  @@ -@@@ -@@@;@@;@@@;@@;?@@ఐ"ci[  [  @J@@N@+ci_id_class[  [  @3+ci_id_class+class_infos!a@ S@@@B!t@@@@@C/3'ci_virtB,virtual_flag@@@@@@@APh%h)Ph%h?@@@3)ci_params @y@@@@@^(variance@@@@e+injectivity@@@@@@@@@@@@A,@AQh@hDQh@h{@@@3*ci_id_nameBq#locn@@@@@@@@B<@ARh|hRh|h@@@R30ci_id_class_typeR!t@@@@@DH@AThhThh@@ @3,ci_id_object^!t@@@@@ET@AUhhUhh@@@3'ci_exprje@@FZ@AVhhVhh@@@3'ci_declp 1class_declaration@@@@@Gf@AWiiWii%@@)@3,ci_type_decl|,6class_type_declaration@@@@@Hr@AXi&i*Xi&iV@@5@3&ci_loc !t@@@@@I~@AYiWi[YiWin@@A@3-ci_attributes @@@@@J@AZioisZioi@@J@@A Shh Shh@@N@@@ @@@;O@;O@;@@`[  a[  @@F@@@;@@f[  g[  @@ %N@;@@ภ)Typedtreeu\ v\ @*Tstr_classz\ {\ $@@ภ\ &\ ,A@ఐx"ci\ (@-@@1@@ఐv!s\ *\ +@8@@=@@@@@@@@;@@@;N@;N@< K@ภ/A@0A@@@@;N@<X@@\ %8@@;@@@;N@;`@@\ \ -@@ {N@;e@@@@ @@@<#N@;k@Z  \ .@@@@@; @@@;@@;L@<(L@<%@@ఐ=)info_list]/;]/D@@@  @@@;L@<0L@<+@@" @@ o@Ġ)Typedtree^EM^EV@/Tstr_class_type^EW^Ef@@;/Tstr_class_type @G@!t@@@d@#loc@@@f@@@e@ 6class_type_declaration@@@g@@c@@@b@AK@N@AD>D@D>D@@@&@ఠ)info_list6^Eg7^Ep@I`A@@2@1@@@*@.,@@@*@@@*@+@@@*@@*@@@*3NNNNNNNN@ @@@@@X@@ @@ @@@డ$List$iterb_t~c_t@ f_tg_t@@ V@@@@@j@@@ q@@@<=@@<<@@<;@ n)@@@<9@@<8 k@@@<7@@<6@@<53@ oh@i@j@@@@࣠@"cizA@ఠ"idy``@mA@@D3@@@@@@``@@D@@@``@@= @@``@@@X@S@H@@@B@@ y@@@@@@@࣠@V~Aঠ&vb_patzg{g@3&vb_patp@@@{@@@v@@@ 3'vb_expr @@@w@@A@ABFF"CFF6@@@3+vb_rec_kind/Value_rec_types6recursive_binding_kind@@@x@@B@APF7F;QF7Fo@@@3-vb_attributes  @@@y@@C@AYFpFtZFpF@@@3&vb_loc) !t@@@z@@D)@AeFFfFF@@@@AiF F jF F@@@ఠ#pat{gg@oA@@T@@@=3@\@@@'vb_exprgg@Fఠ#exp|gg@pA@@a@@@="@@@gg@@N@=@@@@ఐ0iter_val_patternhh@`@@@@@@=.@@@=-@@=,@@@=+@@@=*@@=)3@KD@E@F6/@0@1@@@@ఐU#pathh@@@@@@==@)Typedtreehh@(pat_desc!h"h@@3(pat_desc",pattern_data!a@d@@@@@@ 3'pat_loc !t@@@@@A @Arr @@4\@3)pat_extra~@C)pat_extra@@@@!t@@@@@@@@@@@@@@B*@As s G@@U]@3(pat_type:X)type_expr@@@@@C6@AtHLtHf@@a_@3'pat_envF#Env!t@@@@@DD@A,ugk-ugz@@oc@3.pat_attributesT@@@@@EM@A5v{6v{@@xd@@A9q:q@@|[@vd@@@@@=;@@@=:O@=GO@=E@@p@@|y@@@=8@@@=7@Ġ$Noneii@I@@@@@@@=P@@@=O3@@@@ @@@@=R@@@=Q@@@ภ"()i i@;`j@@@N@@@@A@@A@@c@ @@@@@=`@Ġ$Somejj#@ఠ!n}j$j%@qA@@@@@=Y@@@@@̠@@@=[@@@=Z@@Ӡ@@@=]@@@=\@@@డr'Hashtbl#addj)j0@ j1j4@@z@@@Р@@@=o@@=n@@@=l@@@=jr@@@=i@@=h@@=g@@=f3@E>@?@@@@@@ఐ},table_values&j5'jA@e@@@@ఐY!n3jB4jC@@@@@@ఐ#patDjEEjH@D@@.@@ఐ#expPjIQjL@O@@:@@TjDUjM@@F@=?@@\@@@@@@AZh@@;@@@=@_g`kN[@@@@@=I@@@=@@=L@=L@=@@ఐM,pat_exp_listvl\hwl\t@@@S-@@@=L@=L@=@@? @@@Ġ)Typedtreemu}mu@.Tstr_primitivemumu@@;.Tstr_primitive@1value_description@@@R@AB@N@AWBBXBB@@@@ఠ"vdmumu@bA@@@@@*@@@$@@2@@2@@@డ4'Hashtbl#addnn@ nn@@<@@@F@=F@=@@@=@@=@ @@=@ @@=8@@@=@@=@@=@@=3@ ;4@5@6@@@@ఐW%tablenn@<@@@@ภ!Pnn@;@AG@H@A@@డF$Name*from_ident n n@ nn@@@@@@@@=@@=@@@=@@==@@ఐ~"vd(n)n@I@@@@@=@=Q@&val_id4n5n@3&val_id@@@]!t@@@T@@@ 3(val_name #loc@@@V@@@U@@A @A[B[F[B[[@@I@3(val_desc @@@W@@B@A[\[`[\[t@@R@3'val_val%U1value_description@@@X@@C"@A[u[y[u[@@^@3(val_prim1@@@Z@@@Y@@D1@A*[[+[[@@m@3'val_loc@!t@@@[@@E=@A6[[7[[@@y@3.val_attributesL@@@\@@FF@A?[[@[[@@@@AC[-[1D[-[A@@@h[@@&@@@=M@=M@=@@nn@@~@@@=@@nn@@]L@=@@ఐ"ttnn@ݰ@@/@@@@.@Ġ)Typedtreeoo@)Tstr_openoo@@;)Tstr_open@0open_declaration@@@\@AI@N@ACCCD@@@@@oo@@@@@*@@@@@Z@@Z@@@ภ%oo@$@@@`@Ġ)Typedtreepp@,Tstr_includepp@@;,Tstr_include @3include_declaration@@@h@AL@N@ADDDD@@@@@pp@@@@@*8@@@@@9@@9@@@ภWp#p%@V@@@A@Ġ)Typedtree q&.!q&7@)Tstr_eval%q&8&q&A@@;)Tstr_eval?@@@@M@@@N@B@@N@ABqBuBqB@@@.@@:q&B;q&C@@@@@*l@@@@@@*q@@@% @@r@@r@@@ภJq&GKq&I@@@@z@Ġ)TypedtreeYrJRZrJ[@.Tstr_attribute^rJ\_rJj@@;.Tstr_attributex@ @@@i@AM@N@A DD!DD@@@c@@orJkprJl@@ @@@*@@@@@@@@@@ภzrJp@@@@@@@A}{@@3yyyyyyyy@@@@A@OF@Q@A@@@@ఠ&tables)tt|tt@uA@@@p.structure_item@@@RH@RR@@@RfF@Q@@Q@tm@@@RG@Ql@@@RG@Q@@@RF@Rڠ@@@@RG@R!@d@@@R@`@@@R@@RG@R"@@@RF@R@@RF@Q@@QF@Q3@O@@@@@࣠@)typedtree+Atttt@vA@@R3@attxx*=@@@@@  @@@ఠ!t,uu@wA@@ɠUP@@@R H@Q3@*r@!@"@@@డ'Hashtbl&createuu@ uu@@&random&optionL$boolE@@@@@@@@@#intA@@@@@!a@!b@@@@@@@@@A ! !B c @@A@72@@/-*@@@Q@@@Q@@Q@'@@@Q@@Q'@@@Q@@Q@@Q^@Fภ$None?@?@JG@@@R@@@R@@Ro@@M}u~u@@M@@@RI@RI@R@@p @@@A@u @@@ఠ(t_values-vv@xA@@`٠@@@RI@RFI@REO@@@ @@UP@A@v @@ డt$List$iterww@ ww@@@@@@r@@RV@@@RU@@RT@@RS@|@@@RQ@@RP@@@RO@@RN@@RM3@@@@@@@࣠@#str.A.w/w@AyA@@3--------@@@@@@@ఐ-add_to_hashes>w?w@f@@@ @@@R@@@Rw@@@R@@R~@;@@@Rz@@@@R|@@@@R}@@R{@@@Ry@@Rx@ @@Rv@@@Ru@@Rt@@Rs@@Rr3jjjjjjjj@SJ@A@B@@@@ఐ!t|w}w@ް@@FҠ@@@R@@ఐ(t_valuesww@q@@XѠ@@@R'@@ఐw#strww@3@@6@(str_descww@3(str_desc@@@Ld@@@I@@@ 3'str_loc  !t@@@J@@A @AtB$B(uB$B=@@@3'str_envV!t@@@K@@B@AB>BBB>BQ@@@@ABBBB#@@@/'@@K@RK@Rf@@,@@@@@RK@Rl@ww@@@I@@Rj@@@Ri@@RhI@RI@R@@ఐ)typedtreeww(@@@^@@@@@@@RH@Rd@@ఐ !tx*1 x*2@j@@^@@ఐ(t_valuesx*4x*<@@@W@@x*0*@@@p@_@@R@!1@@@22@@@3@@ @=4A@F@R;@A@8@87@N@ఠ-search_module/1z?G2z?T@DzA@@@@@@SF@R@@@SF@R@@@SF@R@@R@J@@@SF@R@@R@@@SF@R@@RF@R@@RF@R3WWWWWWWW@@@@@@࣠@%table1Ajz?Ukz?Z@}{A@@33iiiiiiii@Brz?Cs}@@@@@  @@$name2A~z?[z?_@|A@@03}}}}}}}}@!J@@@@@@@@డ 'Hashtbl$find{bn{bu@ {bv{bz@@@i!a@!b@@@@@@@@@ @@@@@  @@F@"@@@z@@@R@@R@@@R@@R@@R3@DPv@G@H@@@@ఐk%table{b{{b@P@@@@ภ!M{b{b@ఐm$name{b{b@#@@&@@{b{b@@J@S+@@[@@,@Ġ)Typedtree||@+Tstr_module||@@ఠ"mb3 | |@}A@@!@@@SN@@@||@@Q@@Q@@@ఐ"mb| |@@@@@6@@@S@S3########@d" @@@'mb_expr.|/|@@@ @@7}8}@@t@@t@@@ ภj@}@h@@@h@@@S#@F}@@@@@AH{bh@@3DDDDDDDD@@@@A@F@S@A@@@򠰡@ఠ2search_module_type4YZ@l~A@@@,%@@@SF@S$@@@SF@S@@@SF@S@@S@d@@@SF@S@@S@@@SF@S@@SF@S@@SF@S3@)YR@S@T@@@࣠@%table6A@A@@33@B]v@@@@@  @@$name7A@@A@@03@!J@@@@@@@@డ3'Hashtbl$find@ @@(@@@e`@@@S@@S@k@@Se@@S@@S3@*6\@-@.@@@@ఐQ%table!@6@@@@ภ"MT#%@ఐS$name&*@#@@&@@"+@@J@S+@@A@@,@Ġ)Typedtree 1: 1C@,Tstr_modtype 1D 1P@@Iఠ#mtd8 1Q 1T@ -AA@@Q@@@SN@@@ "19 #1U@@Q@@Q@@@ఐ#mtd +1Y ,1\@@@@@3 * * * * * * * *@]@@@@ 7]e 8]f@@f@@f@@@ ภj @]q@h@@@h@@@Sr@ F]j@@t@@@A H @@3 D D D D D D D D@v@@@A@F@T&@A@@@ʠ@ఠ0search_extension9 Yx Zx@ lBA@@@,%@@@TXF@T:$@@@T\F@T8@@@TMF@T(@@T)@,@@@TZF@T.@@T/@@@TaF@T0@@T1F@T*@@T+F@T'3        @1*@+@,@@@࣠@%table;A x x@ CA@@33        @B x| @@@@@  @@$name!Y!Z-@!lFA@@@,%@@@TF@T۠$@@@TF@T@@@TF@T@@T@@@@TF@T@@TZ@@@UF@T@@TF@T@@TF@T3!!!!!!!!@1*@+@,@@@࣠@%table@A!.!3@!GA@@33!!!!!!!!@B!!@@@@@  @@$nameAA!4!8@!HA@@03!!!!!!!!@!J@@@@@@@@డ 3'Hashtbl$find!;G!;N@ !;O!;S@@(@@@e`@@@T@@T@k@@Te@@T@@T3!!!!!!!!@*6\@-@.@@@@ఐQ%table!;T!;Y@6@@@@ภ!E!;[!;\@eఐS$name!;]!;a@#@@&@@!;Z!;b@@J@T+@@A@@,@Ġ)Typedtree" hq" hz@.Tstr_exception"h{"h@@ఠ#extB"h"h@"-IA@@@@@TN@@@""hp"#h@@Q@@Q@@@ఐ#ext"+h",h@@@@@3"*"*"*"*"*"*"*"*@]@@@@"7"8@@f@@f@@@ ภj"@@h@@@h@@@Ur@"F@@t@@@A"H;A@@3"D"D"D"D"D"D"D"D@v@@@A@F@Uh@A@@@ʠ@ఠ7search_type_declarationC"Y"Z@"lJA@@@,%@@@UF@U|$@@@UF@Uz@@@UF@Uj@@Uk@V@@@UF@Up@@UqC@@@UF@Ur@@UsF@Ul@@UmF@Ui3""""""""@1*@+@,@@@࣠@%tableEA""@"KA@@33""""""""@B""9R@@@@@  @@$nameFA""@"LA@@03""""""""@!J@@@@@@@@డ!3'Hashtbl$find""@ ""@@(@@@e`@@@U~@@U}@k@@U{e@@Uy@@Ux3""""""""@*6\@-@.@@@@ఐQ%table""@6@@@@ภ!T""@ఐS$name""@#@@&@@""@@J@U+@@A@@,@Ġ)Typedtree#  #  @)Tstr_type# # '@@@# )# *@@@@@UH@Ġ3#! -#" 0A2ఠ"tdG #* /@#<MA @@@@@U]@Ġ A}@@ A@"@@@U@@@Uk@@@#? ,@@@@@U@@@Ut@@@#H #I 2@@w@@w@@@ఐ'"td#Q 6#R 8@'@(@)@@3#P#P#P#P#P#P#P#P@1@@@@#]9A#^9B@@@@@@@ ภ#f9M@@@@@@@U@#l9F@@@@@A#n@@3#j#j#j#j#j#j#j#j@@@@A@F@V@A@@@𠰡@ఠ0search_class_expH#T\#Tl@#NA@@@RK@@@VF@V-J@@@VF@V+@@@V@F@V@@V@ |@@@VF@V!@@V"@*class_expr@@@VF@V@$listK%Types)type_expr@@@V@@@VF@V@@VF@V#@@V$F@V@@VF@V3########@Brk@l@m@@@࣠@%tableJA#Tm#Tr@#OA@@N3########@]#TX#@@@@@  @@$nameKA#Ts#Tw@#PA@@K3########@!e@@@@@@@@డ"t'Hashtbl$find#z$z@ $z$z@@i@@@Ҡ{@@@V/@@V.@@@V,@@V*@@V)3$$$$$$$$@*6w@-@.@@@@ఐQ%table$!z$"z@6@@@@ภ!C$-z$.z@ఐS$name$7z$8z@#@@&@@$;z$<z@@F@VF@VKJ@VL.@@D@@/@Ġ)Typedtree$O$P@*Tstr_class$T$U@@נĠo$]$^An@ఠ"ciL$j$k@$}QA@@@@@Vd]@@@$u$v@@@@@Vf@@@Vej@@"$@@@@@@Vgr@Ġְ .A@@/A@#@ @@@Vq@@@@Vs@@@Vr@@Vp@@@Vo@@@$E@@ @@@@Vv@@@@Vx@@@Vw@@Vu@@@Vt@@@$$@@&@@&@@@@ఠ"ceM$$@$RA@@@@@VK@V{3$$$$$$$$@kd@e@f@@@ఐq"ci$$@ @@S@@V}@'ci_expr$$@ư @@K@V@A@$@@@ఠ)type_declN$!$*@% SA@@@@@VK@V3$$$$$$$$@2B;@<@=@@@ఐ7search_type_declaration% -% D@G@@@ڠ@@@V@@@V@@@V@@V@!@@@V@@V@@@V@@V@@V(@@ఐb%table%2E%3J@G@@5@@ఐ[$name%?K%@O@+@@B@@7@@FC@A@%D@@@ఐ"ce%PSa%QSc@P@@3%N%N%N%N%N%N%N%N@Tb[@\@]@@@@ఐl)type_decl%cSe%dSn@@@*@@@V@V@(typ_type%oSo%pSw@@@0type_declaration@@@V@V&@%Types%Sx%S}@+type_params%S~%S@@3+type_params@@@ ֠@@@ @@@ @@@; 3*type_arity #intA@@@ @@A @A0typing/types.mli$OwO{$OwO@@@3)type_kind.type_decl_kind@@@ @@B@A %OO %OO@@@3,type_private%(Asttypes,private_flag@@@ @@C#@A&OO&OO@@@3-type_manifest3&optionL@@@ @@@ @@D3@A*'OO+'OO@@ @3-type_varianceC(Variance!t@@@ @@@ @@EE@A<(OO=(OP@@@31type_separabilityU(',Separability!t@@@ @@@ @@FW@AN*PXP\O*PXP@@-@3/type_is_newtypeg$boolE@@@ @@Gc@AZ+PP[+PP@@9@34type_expansion_scopesf@@@ @@Hm@Ad,PPe,PP@@C@3(type_loc}(Location!t@@@ @@I{@Ar-PPs-PP@@Q@3/type_attributes)Parsetree*attributes@@@ @@J@A.PP.PQ@@_@3.type_immediate.Type_immediacy!t@@@ @@K@A/QQ/QQ(@@m@34type_unboxed_default@@@@ @@L@A0Q)Q-0Q)QH@@w@3(type_uid#Uid!t@@@ @@M@A2QQ2QQ@@@@A#OVOZ#OVOv@@@@@@@&KS`&LS@@@@@@V@@@T@Ġ)Not_found&\&]@;)Not_found#exnG@@@ @@@+ A@A&_none_@@A@@-I@@@@@%y@@@Vp@@@@ఐ"ce&{&|@{@@L@V@@ภѰ&&@@@@РF@V@@@V@@&&@@@@@&&@@I@@@@@&&@@ @@ @@@ ภа&@@@@@@@V@&@@@@@A&z@@ 3&&&&&&&&@@@@A@.F@W4@A@@@@ఠ=search_class_type_declarationO&&@&TA@@@@@@WfF@WH@@@WjF@WF@@@W[F@W6@@W7@#@@@WhF@W<@@W=@@@WF@W>@@W?F@W8@@W9F@W53&&&&&&&&@&qj@k@l@@@࣠@%tableQA&&@' UA@@33&&&&&&&&@B''@@@@@  @@$nameRA'  ' $@'VA@@03' ' ' ' ' ' ' ' @!J@@@@@@@@డ%'Hashtbl$find'$'3'%':@ '(';')'?@@@@@e`@@@WJ@@WI@k@@WGe@@WE@@WD3'4'4'4'4'4'4'4'4@*6\@-@.@@@@ఐQ%table'F'@'G'E@6@@@@ภ"CT'R'G'S'I@ఐS$name'\'J']'N@#@@&@@'`'F'a'O@@J@Wg+@@A@@,@Ġ)Typedtree'qU^'rUg@/Tstr_class_type'vUh'wUw@@tĠ'Uy'UA@@'Uz'U{@@z@@@WT@@@'U|'U}@@{y@@@W@@@Wa@@ఠ+cltype_declS'U~'U@'WA@@@@@Wp@@+'U@@@%@@ @@Wz@Ġ9A@@:A@'@@@@W@@@@W@@@W@@@@W@@W@@@W@@@'UxU@@͠@@@@W@ɠ@@@W@@@W@@@@W@@W@@@W@@@'U]'U@@@@@@@ఐV+cltype_decl'U'U@U@V@W@@3''''''''@`@@@@((@@2@@2@@@ ภ7(  @5@@@5@@@W@(@@/@@@A('-@@13((((((((@@@@ A@UF@X@A@@@1@ఠ,search_valueT(&('@(9XA@@@ @@X@@XF@X@@@X*F@X@@X@F@X @@X  @@XF@X@@X F@X3(@(@(@(@(@(@(@(@@\@@@@@࣠@%tableVA(S(T@(fYA@@'3(R(R(R(R(R(R(R(R@6([(\@@@@@  @@$nameWA(g(h@(zZA@@(3(f(f(f(f(f(f(f(f@!>@@@@@@@@డ&'Hashtbl$find(}(~@ ((@@ @@@!PWU@@@X@@X@]@@XZ@@X@@X3((((((((@(4R@+@,@@@@ఐO%table((@4@@r@@ఐH$name(Q@R@@k@@2S@@w@]TA@F@X6[@A@X@XW@n@ఠ0search_primitiveX(( @([A@@@!!@@@XhF@XJ!@@@XlF@XH@@@X]F@X8@@X9@%u@@@XjF@X>@@X?*@@@XvF@X@@@XAF@X:@@X;F@X73((((((((@@@@@@࣠@%tableZA( (@) \A@@33((((((((@B()|@@@@@  @@$name[A) ) @)]A@@03) ) ) ) ) ) ) ) @!J@@@@@@@@డ''Hashtbl$find)#$)$+@ )',)(0@@ @@@!e`@@@XL@@XK@k@@XIe@@XG@@XF3)3)3)3)3)3)3)3)3@*6\@-@.@@@@ఐQ%table)E1)F6@6@@@@ภ!P)Q8)R9@YఐS$name)[:)\>@#@@&@@)_7)`?@@J@Xi+@@A@@,@Ġ.Tstr_primitive)nEM)oE[@ڠఠ"vd\)wE\)xE^@)^A@@@@@XnF@@@@@G@@G@@@ఐ"vd)Eb)Ed@@@@@@@@Xu@Xs3))))))))@\" @@@'val_val)Ee)El@@@@1value_description@@@Xw@Xt@%Types)Em)Er@(val_type)Es)E{@@3(val_type@@@ f@@@ a@@@ 3(val_kind *value_kind@@@ b@@A@A%@@&@@@@@3'val_loc!t@@@ c@@B@A1@@2@@@@@3.val_attributes *attributes@@@ d@@C @A=@@>@A@@@3'val_uid,!t@@@ e@@D+@AHA A$IA A3@@'@@AL@@M@@@@+@c>@@ Z@@)|)|@@"@@"@@@ ภ&)|@$@@@$@@@X{@*|@@@@@A*@@!3********@@@@A@EF@X@A@ @  @!@ఠ:get_nth_inherit_class_expr]**@*(_A@@@%/class_structure@@@ZF@X@@X@#intA@@@YyF@X@@X@@@ZF@X@@XF@X@@XF@X3*4*4*4*4*4*4*4*4@Qz@{@|@@@࣠@#cls_A*G*H@*Z`A@@,3*F*F*F*F*F*F*F*F@;*O*P@@@@@  @@!n`A*[*\@*naA@@33*Z*Z*Z*Z*Z*Z*Z*Z@!C@@@@@@@@Aఠ$itera*n*o@*bA@@@JI@X@@X@à%~+class_field@@@Y I@Y@@@YI@X@@X@@@YRI@X@@X@@X3********@/;d@2@3@@@࣠@#cptbA**@*cA@@)3********@7@2@@X@3@@X&@@XJ@X@@XJ@X@=@>@@@@@@Ġ**@@@@@?3********@(G@@ @@@@@డ)>%raise**@@m@@@@@!a@@@&%raiseAA @@@*stdlib.mli^BB^Bg@@#@@@@@@@@Y2@@Y1aM@Y0@@Y//@@ภ)Not_found**@@@@*@@@Y9M@Y=@@@5@@sA@Ġ+R+T@ঠ'cf_desc+ +#@3'cf_desc@@@&0class_field_desc@@@@@@ 3&cf_loc !o!t@@@@@A @A%::%::@@&@3-cf_attributes!@@@@@B@A%::%:;@@&&@@A%::%::@@&*@Ġ)Typedtree+;&+</@+Tcf_inherit+@0+A;@@;+Tcf_inherit1@@@#@%-override_flag@@@ @@@ $%@@@ @@@ $@%@@@@%!t@@@@@@@@ $@%@@@@&!t@@@@@@@@@E@@F@A&A;;&B;<@@@&@@+=+>@@I@@@Y3++++++++@@@@ఠ%clexpc+@+E@+dA@@@@@Y@@+G+H@@VU@@@Y@@@Y@@+J+K@@X@W@@@Y@V@@@Y@@Y@@@Y0@@+M+N@@W@V@@@Y"@U@@@Y#@@Y!@@@Y E@@@+O@@@@@Y$J@@@++Q@@bM@YO@ఠ!qd+U+V@+eA@@+SrI@Y@@@Y%_@@@ @@z`@@@డ*x!=,Zk,Zl@@!a@@@@@@$boolE@@@@@@@&%equalBA@@@@@@yAy@@$Q@@@@F@YzF@YC@@YD@@@YB@@@YA@@Y@@@Y?3,(,(,(,(,(,(,(,(@u@@JC@D@E@@@@ఐ䠐!n,<Zi,=Zj@@@@@ఐ#cpt,IZm,JZp@@@@@@@, @@@YQM@YN&@ఐ%clexp,ZZv,[Z{@,@@0@ఐ$iter,gZ,hZ@Ȱ@@@@@YW@@@YV@@YU@@YTE@@డ*!+,~Z,Z@@W@@@@@@^@@@@@b@@@@@@@'%addintBA@@@@0++0+,@@%^n@ @@@t@@@Yi@@Yh@@@@Yg@@Yf@@@Ye@@Yd@@Yc@@ఐ!#cpt,Z<@=@@E@@AC,Z@@;@@@YwN@Y|N@Y{@@,Z,Z@@N@Yu@@ఐ!q,Z,Z@@@aI@Y}@@x@@W@,Zf@@Y@Ġ,,@@,,@@oI@Y'3,,,,,,,,@7@@@ఠ!qe,,@- fA@@,a@@@Y)@@@@@@@@ఐ$iter- - @l@@@@@Y@@@Y@@Y@@Y3--------@]#@@@@@@ఐ#cpt-#-$@i@@@@ఐ7!q-0-1@@@I@Y@@+@@ @@A&f-8@@@ A@@@@Zq@@@Zp@@Zo@@ZnI@Zj@@@-E@@ఐ᠐$iter-O-P@@@@@@Zy@@@@Zx@@@Zw@@Zv @@@Zu@@Zt@@Zs3-_-_-_-_-_-_-_-_@@@@@@-l-m@@BI@Z @@ఐ8#cls-|-}@@@`@)Typedtree--@+cstr_fields-;@<@3+cstr_fieldsm@@@&Р@@@@@@@@A3)cstr_self&1@@@@@@@A(W::(X::$@@(@3)cstr_type'/class_signature@@@@@B@A(c:G:J(d:G:k@@(@3*cstr_meths#'%Meths!t(9!t@@@@@@@@C'@A(x:l:o(y:l:@@(@@A(|:%:((}:%:F@@(@My@@ N@@@Z@@@ZI@ZI@Zp@@@@q@@@I@A@F@Z@A@@@@ఠ5search_attribute_typeg-- @-gA@@@@@@]2F@Z@@Z@(@@@[F@Z@@Z')type_expr@@@]+F@Z@@ZF@Z@@ZF@Z3........@@@@@@࣠@#clsiA. . @.(hA@@*3........@9..@@@@@  @@$namejA.).*@.<iA@@33.(.(.(.(.(.(.(.(@!A@@@@@@@@Aఠ$iterk.<#.='@.OjA@@@ @@@ZI@Z@@@ZI@Z@@ZP@@@[(I@Z@@Z3.O.O.O.O.O.O.O.O@(4]@+@,@@@@Ġ .a3=.b3?@ @@@@ 3._._._._._._._._@.@)@@Z@@ZJ@Z@.@/@@@@@డ,%raise.vCO.wCT@@@@@@@Z@@Z3L@Z@@Z@@ภ)Not_found.CU.C^@/@@@@@@ZL@Z/@@@@E0@Ġ ._._@ ঠ'cf_desc._k._r@Ġ)Typedtree._u._~@'Tcf_val._._@@;'Tcf_valu@)2#loc)/@@@@@@)=,mutable_flag@@@)L!t@@@)0class_field_kind@@@$boolE@@@@EA@F@A);@);>;m@@@*@@/'_/(_@@@@@Z<@ఠ#expm/3_/4_@/FlA@@'@@@ZJ@@@-/;_@@i@@@ZO@@/B_/C_@@k@@@ZW@@@/H_@@5@@@Z\@@@/M_i/N_@@L@Za@@/T_/U_@@.I@Z@@@Zk@@@@@l@@డ-fh/e/f@e@@@rK@[@@[@@@[c@@@Z@@Z@@Z3/p/p/p/p/p/p/p/p@|u@v@wJC@D@E@@@@డ,$Name*from_ident//@ //@@)(@@@)(@@@[@@[*}@@@[@@['@@ఐ%ident//@0@@)?@@@[ M@["M@[!;@@' @@<@@ఐ$name//@g@@I@@5@@r@@@[%L@[ O@ఐ#exp//@V@@(^@@@[)@['`@)Typedtree//@(exp_type//@@3(exp_type(q@@@ @@@ @@C3(exp_desc */expression_desc@@@@@@@A*  * '@@*w@3'exp_loc&L!t@@@@@A@A*(,*(@@@*x@3)exp_extra )D@+ )exp_extra@@@@&g!t@@@@&z@@@ @@@@@@@B5@A*AE*A{@@+y@A3'exp_envA!t@@@ @@DA@A**@@+'{@3.exp_attributesM&@@@ @@EJ@A**@@+0|@@A*|*|@@+4z@q]@@@Ġ"W0E V0F X@"Vঠ'cf_desc0P 0Q @CĠ)Typedtree0Z 0[ (@'Tcf_val0_ )0` 0@@@0e 20f 3@@@@@Z@@@Z30i0i0i0i0i0i0i0i@ @@@@0r 50s 6@@@@@Z @ఠ%identn0~ 80 =@0mA@@@@@Z@Ġ,Tcfk_virtual0 ?0 K@;,Tcfk_virtual~@#,@@@@A@@B@A+M; ;"+N; ;=@@@+@ఠ#typo0 L0 O@0nA@@#?@@@Z9@@@@@@@@Z=@@0 Q0 R@@@@@ZE@@@Z0 S@@@@@ZJ@@@0 0 U@@rI@ZO@@0 Y0 Z@@0& @@@ZX@@@@@Y@@డ/IѠӰ0[0[@а@@@+@@@[LK@[/@@[0@ @@[.@@@[-@@[,@@[+300000000@le@f@gKD@E@F@@@@డ.4$Name*from_ident0[j0[n@ 0[o0[y@@*@@@*@@@[A@@[@+@@@[?@@[>'@@ఐ%ident1[z1[@0@@*@@@[NM@[PM@[O;@@' @@F<@@ఐ$name1)[1*[@հ@@2I@@5@@@@@[SL@[:O@ఐ#typ1;1<@V@@#@@@[W@[U`@)Typedtree1I1J@)ctyp_type1N1O@@3)ctyp_type#@@@ +N)type_expr@@@ A@A3)ctyp_desc ,[.core_type_desc@@@A@@@A,UU,UU@@,_b@3(ctyp_env!t@@@ @@B@A,(VFVJ,)VFV[@@,kd@3(ctyp_loc#'!t@@@ @@C @A,4VqVu,5VqV@@,we@3/ctyp_attributes/'@@@ @@D)@A,=VV,>VV@@,f@@A,AUU,BUV @@,c@S?@@?@Ġ#11@#@11@@SI@Z311111111@:@@@ఠ!qp11@1oA@@1@@@Z@@@@@k@@@ఐ|$iter11@T@@@{@@[Zp@@[Y311111111@\@@@@@@ఐ&!q11@ @@I@[`@@@@@@A*q1*@@@ @@@@@]@@]I@]x@@@1@@ఐ$iter11@@@@$4o@@@]#@@@]"@@]!@@@] @@]Z@@ఐ#cls22@װ@@i@)Typedtree2 2@+cstr_fields2@@@@$_@@@].@@@]-I@]3I@]0@@:@@ @E@@!@A@:F@]8 @A@ @ @@ఠ8search_method_expressionr21 22#@2DpA@@@@@@^F@]:@@];@,@@@]F@]@@@]A*@@@^F@]B@@]CF@]<@@]=F@]932L2L2L2L2L2L2L2L@Krk@l@m@@@࣠@#clstA2_$2`'@2rqA@@(32^2^2^2^2^2^2^2^@72g2h'K@@@@@  @@$nameuA2s(2t,@2rA@@132r2r2r2r2r2r2r2r@!?@@@@@@@@Aఠ$iterv2/=2/A@2sA@@@$֠@@@]VI@]P@@@]OI@]G@@]L+'@@@]I@]I@@]K322222222@(4[@+@,@@@@Ġ$2MW2MY@$@@@@ 322222222@.@)@@]H@@]JJ@]F@.@/@@@@@డ18%raise2]i2]n@@@@@@@]u@@]t3L@]s@@]r@@ภ)Not_found2]o2]x@ y@@@ @@@]|L@]/@@@@E0@Ġ$2y2y@$ঠ'cf_desc2y2y@Ġ)Typedtree2y2y@*Tcf_method2y3y@@;*Tcf_method@-|#loc@@@@@@-,private_flag@@@B@@@@CB@F@A-<<-<<@@@.@ఠ%labelw3$y3%y@37tA@@#@@@]^@@@]]33*3*3*3*3*3*3*3*@@@@@33y34y@@&@@@]_ @Ġ-Tcfk_concrete3?y3@y@1@3Dy3Ey@@0@@@]d@ఠ#expx3Py3Qy@3cuA@@+@@@]e(@@@3Xy@@@@@]f-@@@c3]y@@J@@@]g2@@@3by3cy@@L@]T7@@3iy3jy@@2ϠI@]R@@@]hA@@@@@B@@డ1{}3zy3{y@z@@@;K@]@@]@@@]x@@@]@@]@@]333333333@mf@g@hB;@<@=@@@@ఐw%label3y3y@@@Y@@@]@#txt3y3y@3#txt(Asttypes#loc!a@@@@@@@3#loc(Location!t@@@@@A @A4parsing/asttypes.mlizz@@g@@Ayy@@f@1%@@L@]D@@ఐh$name3y3y@:@@Q@@A@@@@@]L@]W@ఐ#exp33@\@@Ra@Ġ&33@&@33@@fI@]j333333333@M@@@ఠ!qy44@4vA@@3k@@@]l@@@@@~@@@ఐ$iter4 4 @g@@@@@]@@]344444444@o@@@@@@ఐ&!q4) 4* @ @@I@]@@@@@@A-z41/D@@@ @@@@@^@@^I@^@@@4:/5@@ఐ$iter4D'-4E'1@@@@& @@@^@@@^@@^,@@@^@@^Z@@ఐ#cls4a'24b'5@@@)i@)Typedtree4j'64k'?@+cstr_fields4o'@@ @ @@& @@@^@@@^I@^I@^@@:@@0@E@@1@!A@KF@^@A@@@2@11A@00~A@0)0#A@/,@-d@1@d @> @@@B@D@  @  V@ } @  f@ @R@zs@t@u@@344444444@X}@@4eLN4LQ@+344444444@1@@@3$4 This module is used to search for structure items by name in a Typedtree.structure. One function creates two hash tables, which can then be used to search for elements. Class elements do not use tables. 4`ZZ4c/1@@@@@@@4d22@@@ఠ7analyze_toplevel_alerts|44@4xA@@@&optionL*Odoc_types$info@@@_@@@_F@^@@^@'5)Parsetree.structure_item@@@_@@@_F@^@@^%#$info@@@_@@@_F@^@@^F@^@@^F@^355555555@2(2@22 A@1 1A@00A@0 -@-<@@@@@@[@8@k @  =@ p @ #@M@@@35@@@@@@}2H@@@࣠@$info~A5F5G@5YyA@@t35E5E5E5E5E5E5E5E@C5N5Ox@@@@@  @@#astA5Z5[@5mzA@@q35Y5Y5Y5Y5Y5Y5Y5Y@!@@@@@@@@Aఠ2extract_attributes5m5n@5{A@@@'@@@^I@^@@@^I@^@@^4)attribute@@@^I@^@@@^I@^@@^355555555@0<@3@4@@@@Ġ'5,5.@'ঠ)Parsetree55@)pstr_desc55@@3)pstr_desc@@@93structure_item_desc@@@9@@@ 3(pstr_loc (Location!t@@@9@@A @A5parsing/parsetree.mli@@h@@A@@g@Ġ)Parsetree5 5@.Pstr_attribute55!@@;.Pstr_attribute+@@@9@\@@@9@AM@O@A#;OQ$;On@@@v@ఠ$attr5"5&@6|A@@o@@@^355555555@m@@@^@@^J@^@@@@@@@.@@O@@@^ @@A66+@@L@^@ఠ"tl6/61@6%}A@@5z@@@^!@@@@@"@@@ภ(26 5B6!5D@(1ఐ8$attr6*5=6+5A@7@8@9@@36)6)6)6)6)6)6)6)@7C#@@@@@ఐϠ2extract_attributes6<5E6=5W@C@@@@@_@@_@@ఐ;"tl6M5X6N5Z@@@I@_$@@@@%@@*@@&@Ġ(o6][c6^[e@(n@6b[a6c[b@@I@^m@@6i[f6j[g@@5Ϡ @@@^v@@@@@w@Ġ(6u[j6v[l@(@@@@@@@@@@@ภ(Ȱ6~[p6[r@(@@@@@A/g6@@@@@@@@_q @@_pI@_n366666666@@@@@@6@@డ(Odoc_sig.analyze_alerts(Odoc_sig6xz6x@ 6x6x@@@Ѡ@@@_@@@_@@_@)Parsetree*attributes@@@_@@_@@@_@@@_~@@_}@@_|@5ocamldoc/odoc_sig.mlipq@@(Odoc_sigV@-(@@@@@@_@@@_@@_@%@@@_@@_ߠ@@@_@@@_@@_@@_@@ఐ$info6x6x@@@@@ఐ2extract_attributes6x6x@@@@)I@@@_@@@_@@_6n@@@_@@@_@@_@@ఐĠ#ast7x7x@@@1%@@7x@@n@@@_J@_,@@@@)-@@@*@A@XF@_@A56 C Like {!Odoc_sig.analyze_toplevel_alerts} but acts on a structure. 77SS78S@@@@@@@@@2(Analyser F7D7E@7WA@Т%My_irG7P7Q@Р.Info_retriever(Odoc_sig7]7^@ 7a7b@@37`7`7`7`7`7`7`7`@^@@@@ @@Б#SigH7v7w @7A@гР(Analyser(Odoc_sig7 7@ 77@@@#Arg@.Info_retriever$file&Stdlib#ref&stringQ@@@`@@@`@y &y ;@@W@@)file_name#ref@@@`@@@`@|io|i@@X@@2get_string_of_file@#intA@@@`@@`@ @@@`@@`5@@@`@@`@@`@||@@Y@@,prepare_file@F@@@`@@`@N@@@`@@`$unitF@@@`@@`@@`@;#)<#T@@:Z@@(preamble@e@@@`@@`@m@@@`@@`@@!a@`@@`(Location!t@@@`@@`@@`@$listK@@@`@@`@m@@@`@hf$info@@@`@@@`@@`@@`@@`@@`@@`@.@@[@@5get_comments_in_class@@@@`@@`@@@@`@@`@$info@@@`~@@@`}@F*Odoc_class-class_element@@@`@@@`@@`|@@`{@@`z@ou@@\@@6get_comments_in_module@@@@`y@@`x@@@@`w@@`v@Ǡ$info@@@`s@@@`r@}+Odoc_module.module_element@@@`u@@@`t@@`q@@`p@@`o@!'R@@]@@;name_comment_from_type_decl@@@@`n@@`m@@@@`l@@`k@"0type_declaration@@@`j@@`i@@@@`c@@H@@@`f@$info@@@`h@@@`g@@`e@@@`d@@`b@@`a@@``@@`_@=> @@<^@@2manifest_structure@(Odoc_env#env@@@`^@@`]@@{@@@`Z@OM$info@@@`\@@@`[@@`Y@@@`X@@`W@%Types)type_expr@@@`V@@`U)Odoc_type-type_manifest@@@`T@@`S@@`R@@`Q@U@@_@@-get_type_kind@G#env@@@`P@@`O@/@@@@`L@$info@@@`N@@@`M@@`K@@@`J@@`I@E.type_decl_kind@@@`H@@`GC)type_kind@@@`F@@`E@@`D@@`C@   h @@`@@-get_cstr_args@#env@@@`B@@`A@@@@`@@@`?@)Typedtree5constructor_arguments@@@`>@@`=p0constructor_args@@@`<@@`;@@`:@@`9@!s!y!!@@d@@+merge_infos@$info@@@`8@@@`7@@`6@$info@@@`5@@@`4@@`3$info@@@`2@@@`1@@`0@@`/@$"2"8%""@@#e@@8analyse_module_type_kind&erased)Odoc_name#Map!tР'Removed@+Constrained`/with_constraint@@@`.@@@`-@@@`,A@@@`+@@@`*@@@`)@@`(@#env@@@`'@@`&@1!t@@@`%@@`$@+module_type@@@`#@@`"@ +module_type@@@`!@@` 0module_type_kind@@@`@@`@@`@@`@@`@@`@##$$/@@f@@7analyse_class_type_kind@L#env@@@`@@`@h!t@@@`@@`@@@@`@@`@*class_type@@@`@@`@H*class_type@@@`@@` /class_type_kind@@@`@@`@@` @@` @@` @@` @$$%%?@@g@@1analyse_signature@@@@` @@`@@@@`@@`@)signature@@@`@@`@{)signature@@@`@@`(t_module@@@`@@`@@_@@_@@_@&&&'#@@h@@@3::::::::@_z@s@x:~A}@@@Р%My_ir: :%@@+all_special@6@@@_@@_@>@@@_@@_@@@@_@à$info@@@_@@@_@@_@@_@@_@:Rei;S{@@9N@@9blank_line_outside_simple@d@@@_@@_@l@@@_@@_$boolE@@@_@@_@@_@YVZW9@@XO@@2just_after_special@@@@_@@_@@@@_@@_@l@@@_堠@ge$info@@@_@@@_@@_@@_@@_@]ae^~@@P@@-first_special@@@@_@@_@@@@_@@_@@@@_۠@$info@@@_@@@_@@_@@_@@_@de@@Q@@,get_comments@@$text@@@_@@_!a@_@@_@@_@@@@_@@_@@@@_@@_@Ϡ$info@@@_@@@_̠@)@@@_@@_@@_@@_@@_@kCGlZ@@R@@@@@8;&@'&#"@@@b'@@@b&@@@2@@@b%@@@b$@@@@@@@b#@@b"@@@@b!@@b @@@b@@b@@b@@ @ @ @@@b@@b@@@@b@@b@@@b@@b@@b@@@@@@@b@@b@@@@b@@b@@@@b@@@b@@b@@b@@@@b @@b @@@@b @@@@b @@@b @@b@@b@@b@@b@@b@@@@@@@b@@b@@@@b@@b@@@@a@@@a@@@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@ؠ@@@a@@@a@ՠ@@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@@@@a@@a@@@@a⠠@Ơ@@@@a堠@Ġ@@@a@@@a@@a@@@a@@a@@a@@a@@a@@@@@@@a@@a@@@@@a٠@@@@a@@@a@@a@@@a@@a@@@@a@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@@aˠ@@@@a@@@a@@a@@@a@@a@@@@a@@a@@@a@@a@@a@@a@@@@@@@a@@a@@@@a@@a@@@@a@@a@@@a@@a@@a@@a@@@@@@@a@@@a@@a@@@@a@@@a@@a@@@a@@@a@@a@@a@@|@{zxwtsРr@qpon@@@a@@@a@@@aA@@@a@@@a@@@a@@a@ml@@@a@@a@kj@@@a@@a@ih@@@a@@a@gf@@@a@@aed@@@a@@a@@a@@a@@a@@a@c@`@_@^]@@@a@@a@\[@@@a@@a@Z@@@a@@a@YX@@@a@@a@WV@@@a@@aUT@@@a@@a@@a@@a@@a@@a@S@P@O@N@@@a@@a@M@@@a@@a@LK@@@a@@a@JI@@@a@@aHG@@@a@@a@@a~@@a}@@a|@F@C@@B@@>H@I@E@ఠ$file>>@>%A@@zwv@@@b@@@bJ@b(3>>>>>>>>@_@dc@ZY@PO@=<@*)@@@@sr@DC@@@@@ba@@@>@@@డ$file#Sig>M>N@ >Q>R@@=@@@b*@@@b)@@ @@E=@A<>2 R This variable is used to load a file as a string and retrieve characters from it.>j(,>k(@@@@@@@>m@@@O@ఠ)file_name>z>{@>A@@ʠ@@@b@@@bJ@b3>>>>>>>>@i|u@v@w@@@డ)file_name#Sig>>@ >>@@@@@b,@@@b+@@ @@&@A=>{ The name of the analysed file. >>@@@@@@@>@@@0@ఠ2get_string_of_file>  >  @>A@@@@@@b@@b@@@@b@@b@@@b@@b@@bJ@b3>>>>>>>>@Sf_@`@a@@@డp2get_string_of_file#Sig>  >  @ >  > !@@@'@@@b3@@b2@$@@@b1@@b0#@@@b/@@b.@@b-@"@@@9(@A=w>א This function takes two indexes (start and end) and returns the string corresponding to the indexes in the file global variable. The function prepare_file must have been called to fill the file global variable.??  @@@@@@@?  &@@'@:@ఠ,prepare_file?!n!v? !n!@?2A@@@=@@@b@@b@<@@@b@@b;@@@b@@b@@bJ@b3?1?1?1?1?1?1?1?1@]yr@s@t@@@డ,prepare_file#Sig?D!n!?E!n!@ ?H!n!?I!n!@@@d@@@b:@@b9@c@@@b8@@b7b@@@b6@@b5@@b4@_@\@@9(@A=?3 Z This function loads the given file in the file global variable and sets file_name.?k! !?l!Q!m@@@@@@@?n!n!r&@@'@:@ఠ5get_comments_in_class?{!!?|!!@?A@@@-@@@b@@b@,@@@b@@b@+*)@@@b@@@b@('$@@@b@@@b@@b@@b@@bJ@b3????????@p@@@@@డ;5get_comments_in_class#Sig?!!?!!@ ?!!?!" @@@g@@@bW@@bV@f@@@bU@@bT@e:@@@bQ@@@bP@a9@@@bS@@@bR@@bO@@bN@@bM@[@X+&@@]9@A>S? 3 The function used to get the comments in a class. ?!!?!!@@@@@@@?!!7@@8@K@ఠ6get_comments_in_module?"M"U?"M"k@@A@@@v@@@c@@c@u@@@b@@b@tsr@@@b@@@b@qpm@@@b@@@b@@b@@b@@bJ@b3@ @ @ @ @ @ @ @ @@@@@@డ6get_comments_in_module#Sig@3"M"n@4"M"q@ @7"M"r@8"M"@@@@@@bb@@ba@@@@b`@@b_@:@@@b\@@@b[@9@@@b^@@@b]@@bZ@@bY@@bX@@+&@@]9@A>@3 4 The function used to get the comments in a module. @k""@l""L@@@@@@@@n"M"Q7@@8@K@ఠ:tt_param_info_from_pattern@{#j#r@|#j#@@A@@@(Odoc_env#env@@@gqJ@c@@c@@;@@@dJ@d@@d&optionL*Odoc_types$text@@@d@@@dJ@dA@dJ@c @@c @:Ѡ;@@@iJ@i@@@iJ@c@@c.Odoc_parameter*param_info@@@i~J@c@@cJ@c @@c J@c@@cJ@c3@@@@@@@@@@@@@@࣠@#envA@#j#@#j#@@A@@Z3@@@@@@@@@i@#j#n@()@@@@@  @@&f_descA@#j#@#j#@AA@@^3@@@@@@@@@!q@@@@@@@@#patAA#j#A#j#@AA@@L3@@@@@@@@@r@@@@@@@@Aఠ,iter_patternA##A##@A&A@@@;4<@@@e@@@eN@c@@ca@@@e N@c@@c3A$A$A$A$A$A$A$A$@&2t@)@*@@@࣠@#patAA7##A8##@AJA@@ 3A6A6A6A6A6A6A6A6@.@)@@c @@cO@c@.@/@@@@ @@ఐ#patAQ##AR##@9@@@@:3APAPAPAPAPAPAPAP@'@@@(pat_descA[##A\##@)9 @@<^GR@e@F@eN@c%N@c"@Ġ)TypedtreeAu##Av##@(Tpat_varAz##A{##@@<ఠ%identA##A#$@AA@@<@@@c,3AAAAAAAA@6@@@@A#$A#$@@<<@@@c.@@@c- @@A#$A#$@@<@@@c/@@@,A#$ @@D@@D@@@@ఠ$nameA$ $A$ $!@AA@@<@@@cR@cs3AAAAAAAA@a70@1@2@@@డ?$Name*from_identA$ $$A$ $(@ A$ $)A$ $3@@;c@@@;c@@@cx@@cw<@@@cv@@cu"@@ఐ]%identA$ $4A$ $9@,@@;z@@@cS@cS@c6@@' @@:7@A@A$ $ @@ภ+Simple_nameA$=$IA$=$T@;+Simple_name3@@@@7+simple_name@@@@A@@B@A;ocamldoc/odoc_parameter.mli\NR\Nl@@@=F@ະ3'sn_name@@@&stringQ@@@@@@ 3'sn_type %Types)type_expr@@@@@A @A V!V@@\C@3'sn_text@@@@@@A@B@A-W.W@@iD@@A1U2U@@mA@'sn_nameB<$=$WB=$=$^@ఐ$nameBE$=$aBF$=$e@@@@@=-@@@c3BGBGBGBGBGBGBGBG@@@@7'sn_typeBT$$BU$$@డ(Odoc_env*subst_type(Odoc_envBe$$Bf$$@ Bi$$Bj$$@@@@@@d@@d@%Types)type_expr@@@d@@d)type_expr@@@d@@d@@d@5ocamldoc/odoc_env.mliE  E  @@T@'"@@@ @@@d@@d@@@@d@@d@@@d@@d@@dQ@@ఐϠ#envB$$B$$@@@%^@@ఐ#patB$$B$$@e@@m@(pat_typeB$$B$$@*a @@L@@@dR@dR@d{@@c @@@@@cR@d@'sn_textB$h$B$h$@ఐ&f_descB$h$B$h$@ڰ@@L@@ఐ?$nameB$h$B$h$@@@Q@@@@O@@@B$=$UB$$@@@@@cQ@d@@@@3@@@c@ @@G@Ġ)TypedtreeC$%C $%@*Tpat_aliasC $%C$%@@=1ఠ#patC$%C$%!@C*A@@=2>@@@c<@@@c;3CCCCCCCC@@@@@C&$%#C'$%$@@=v@@@c= @@C.$%&C/$%'@@=9=7@@@c?@@@c>@@C:$%)C;$%*@@=:@@@c@@@CB$%,CC$%-@@=<@@@cA%@@@@CH$%.@@'@@'@@@ఐ?,iter_patternCR%2%>CS%2%J@@@@>@@d5@@d3CTCTCTCTCTCTCTCT@HA@B@C@@@@ఐO#patCf%2%KCg%2%N@ @@L@@@@F@Ġ)TypedtreeCv %P%ZCw %P%c@*Tpat_tupleC{ %P%dC| %P%n@@<Ǡఠ'patlistC %P%oC %P%v@CA@@<Ƞ@<Š<@@@cO@@@cN@=>@@@cQ@@@cP@@cM@@@cL3CCCCCCCC@L@@@@@-@@E@@E@@@ภ%TupleC %z%C %z%@;%Tuple@$listK@@@@@@)type_expr@@@@BA@B@A]mo]m@@@G@డBG$List#mapC %%C %%@ C %%C %%@@@@!a@.@@/!b@.@@/@@/@9Ġ@@@/@@/9ɠ@@@/@@/@@/@99@@9W@+&@@@@@=B=?@@@eE@@@eDQ@e.@Q@e/@@e0Q@e@@eN@eNN@cQ@e@@e@@e@3@@@e@@e2@@@e@@e@@e3D$D$D$D$D$D$D$D$@@@@@@@࣠@=A@@D; %%D< %%@@23D8D8D8D8D8D8D8D8@@@@@ఠ!p֠DF %%DG %%@DYA@@4 @@DK %%DL %%@@@F@=@@e2@@ @@ఐK,iter_patternD^ %%D_ %%@#@@@J@@e7A@@e63D`D`D`D`D`D`D`D`@=%R@@ @@@@ఐ,!pDr %%Ds %%@ @@_@@@@R@Dw %%Dx %%@@@|@@e+i@@e*R@e@R@e>D@@ఐ'patlistD %%D %%@b@@@@@e(R@eHR@eBm@@ @@x@@@e Q@eMR@e&b@డJ*subst_type(Odoc_envD %%D %%@ D %%D %%@@H@@@2@@@eV@@eU@H@@@eT@@eSC@@@eR@@eQ@@eP@@ఐ#envD %%D %%@ݰ@@N@@ఐ#patD %%D %%@@@@(pat_typeD %%D %%@, @@u@@@edR@elR@ei@@D @@<@@@e@emR@eb@@PD %&@@@Ġ)TypedtreeE&& E&&@.Tpat_constructE &&E &&$@@;.Tpat_construct@ @@@@@@@@?#loc7!t@@@@@@*Data_types7constructor_description@@@>m?I@'@@@@@@@@@ >p@>?#loc?!t@@@@@@@@@Ǡ@7@@@@@@@@@DDALAA@a  @d@@@@Vo@@Eb&&&Ec&&'@@LJ@@@cc@@@cb@ఠ)cons_descEr&&)Es&&2@EA@@Q@@@cd$@@E|&&4E}&&5@@P?@v@@@cg@@@cf@@@ce4@@E&&7E&&8@@S@RQO@@@cl@@@ck@@@cj@8=@@@cm@@ci@@@chQ@@@E&&9@@JS@@JS@@డ$Path$same$PathE&&E&&@ E&&E&&@@@$Path!t@@@3@@3@ @@@3@@3$boolE@@@3@@3@@3@/typing/path.mli{  {  )@@H@'"@@@@@@eu@@et@&@@@es@@er@@@eq@@ep@@eo3EEEEEEEE@}@~@@@@@డ*Data_types2cstr_res_type_path*Data_typesF&&F&&@ F &&F &&@@@*Data_types7constructor_description@@@e@@e$Path!t@@@e@@e@5typing/data_types.mlix ' 'x ' a@@[@"@@@@@@e@@e@@@e@@eA@@ఐɠ)cons_descF;&&F<&&@K@@1@@@fS@fS@fU@@FF&&FG&&@@@@@e@f S@f_@@డ&Predef)path_unit&PredefF_&&F`&&@ Fc&&Fd&&@@$Path!t@@@f@1typing/predef.mliP  P  @@&Predef`@@@@@@eR@gR@f@@@@1@@@gR@e@ภ+Simple_nameF''(F''3@ະ'sn_nameF''6F''=@"()F''AF''C@@F''@F''D@@@@@g Q@g @'sn_typeF'r'F'r'@డX*subst_type(Odoc_envF'r'F'r'@ F'r'F'r'@@V@@@@@@@g@@g@V@@@g@@gQ@@@g@@g@@g@@ఐ#envF'r'F'r'@@@\@@ఐ#patF'r'F'r'@@@@(pat_typeF'r'F'r'@. @@@@@g*R@g2R@g/@@D @@@@@gR@g(@ߡ'sn_textG 'G'aG 'G'h@ภ$NoneG'G'kG'G'o@A@@@ur@@@g<@@@g;Q@gB.@@@G''4G ''@@'@@@gQ@gF6@@@@7@@G-''G.''@@@@@@@ภ+Simple_nameG5(((4G6(((?@Aະ0'sn_nameGA(((BGB(((I@"()GH(((MGI(((O@@GK(((LGL(((P@@>@@@gQQ@gR@;'sn_typeGX(~(GY(~(@డ*subst_type(Odoc_envGg(~(Gh(~(@ Gk(~(Gl(~(@@@@@@@@ga@@g`@@@@g_@@g^@@@g]@@g\@@g[+@@ఐ#envG(~(G(~(@@@8@@ఐe#patG(~(G(~(@H@@G@(pat_typeG(~(G(~(@/D @@/@@@goR@gwR@gtU@@D @@@@@gYR@gm[@'sn_textG(S(mG(S(t@ภ$NoneG(S(wG(S({@Bd@@@!@@@g@@@gQ@gu@@@G(((@G((@@@@@gKQ@g}@@@@~@@@AG## @@3GGGGGGGG@@@@ A@@@@ip@@ioN@im@@@G##@@ఐՠ,iter_patternG((G((@@@@BB@@@iv@@@iu@@it1@@@is@@ir3GGGGGGGG@@@@@ఐ#patH((!@ڰ"@@N @@#@@B@*$@@C@.%A@J@i,@AFG This function takes a parameter pattern and builds the corresponding [parameter] structure. The f_desc function is used to retrieve a parameter description, if any, from a parameter name. H""H#c#i@@@@@@@8@87@NAఠ>tt_analyse_function_parametersH&#))H'#))@H9A@@@@@@l(J@i@@i@$info@@@kP@@@kOJ@i@@i@\CK.function_param@@@iO@i@@@iJ@i@@i@CW-function_body@@@k}J@i@@i$listK@@@m$N@m@@@m J@i@@i@@i@@i@@i3HiHiHiHiHiHiHiHi@@@@@@࣠@#envAH|#))H}#))@HA@@R3H{H{H{H{H{H{H{H{@`@[@@i@X@@i@M@@i@B@@i;@@iK@i@@iK@i@@iK@i@@iK@i@r@s@@@@ @@3current_comment_optAH#))H#))@HA@@r3HHHHHHHH@*6~@-@.@@@@@@¶msAH#))H#))@HA@@r3HHHHHHHH@@@@@@@@@$bodyAH#))H#))@HA@@r3HHHHHHHH@@@@@@@@@@ఠ¶ms H$))H$))@HA@@ @@@k%O@i@@@iO@i3HHHHHHHH@+@"@#@@@డGn$List#mapH%)*H%)* @ H%)* H%)* @@'@@@@@@i&@@i@@i@@@@i@@i1@@@i@@i@@i3IIIIIIII@,@@@@࣠@%param!AI$&**I%&**"@I7A@@?@@@@@ఠ#pat"I4'*&*7I5'*&*:@IGA@@A@@@jR@i3I8I8I8I8I8I8I8I8@U"@@@@@ఐ*%paramIK(*=*RIL(*=*W@@@3IIIIIIIIIIIIIIII@@@@'fp_kindIS(*=*XIT(*=*_@3'fp_kind@@@DV3function_param_kind@@@@@C3,fp_arg_label C)arg_label@@@@@@@AD=.I.MD =.I.e@@Db@3(fp_paramC!t@@@@@A@AD+>.f.jD,>.f.|@@Dn@3*fp_partial"Du'partial@@@@@B@AD6B..D7B./@@Dy@-3+fp_newtypes-BàC#locC@@@@@@@@@@@D4@ADKI//DLI//@@D@3&fp_locB?!t@@@@@E@@ADWN00DXN00@@D@@AD[H/t/xD\H/t/@@D@]T@@N@@@i]@Ġ*Tparam_patI)*e*vI)*e*@;*Tparam_pat_@@@@BR@@@@A@@B@ADyU1g1iDzU1g1@@@D@ఠ#pat#I)*e*I)*e*@IA@@Be@@@j3IIIIIIII@@@@@@ @@{@@@j@@~@@@j@@@ఐ#patI)*e*I)*e*@@@@@3IIIIIIII@ @@@Ġ7Tparam_optional_defaultI***I***@;7Tparam_optional_default=@B@@@B@@@@BA@B@ADW11DW11@@@D@ఠ#pat$J ***J ***@JA@@B@@@j @@J***J***@@B@@@j @@@(J***@@@@@j @@@@@j @@@ఐ#patJ(***J)***@@@@@3J'J'J'J'J'J'J'J'@(@@@@@AJ/(*=*L@@@A@J1'*&*3 @@ఐ :tt_param_info_from_patternJ;,**J<,**@Ͱ@@@ @@@k@@k@@E1@@@k @@k   @@@k @@@k A@k @@k@DsEQ@@@k@@@k@@k @@@k@@k@@k@@k3JaJaJaJaJaJaJaJa@*81@2@3@@@@ఐ#envJs-*+ Jt-*+ @ʰ@@H@@డHR2desc_from_info_opt.Odoc_parameterJ.+ +J.+ +*@ J.+ ++J.+ +=@@@YX@@@%@@@$@@#@@@@"@@!  $text@@@ @@@@@@@@}  ~ * f@@ O@+&@@@|{@@@k<@@@k;@@k:@#@@@k9@@k8"!@@@k7@@@k6@@k5@@k4d@@ఐ23current_comment_optJ.+ +>J.+ +Q@@@q@@J.+ +J.+ +R@@@A@@@kW@@kV@?@@@kU@@@kT@@kS@@ఐ#patJ/+S+aJ/+S+d@@@C@@@kc@@@@@@@@J&**J/+S+e@@@@@i"@@iP@kxP@kv@@ఐ\¶msK0+f+pK0+f+v@D@@@@@@3*@A@K$))@@@ఠ0params_from_body%K2++K 2++@K2A@@J@m&J@k{3K!K!K!K!K!K!K!K!@>RK@L@M@@@ఐn$bodyK23++K33++@I@@3K0K0K0K0K0K0K0K0@@@@Ġ.Tfunction_bodyK@4++KA4++@;.Tfunction_body@@@@C@@@@A@@B@AF]22F]23@@@FG@ঠ(exp_descKY4++KZ4++@oĠ-Texp_functionKa4++Kb4++@;-Texp_functionw@@@@D@@@ @@@@@@!@BCA_@AF.F/1@@@Fq@ఠ¶ms&K4++K4++@KA@@9@@@k@@@k3KKKKKKKK@f@@@ఠ$body'K4++K4++@KA@@=@@@k@@@;K4++@@@@@k@@@K4++K4++@@D1@@@kR@k@@@i@@P@@P@@@ఐ>tt_analyse_function_parametersK=--K=--@2@@@@@k@@@k@y@@k@l@@ke@@k@@k@@k@@k3KKKKKKKK@KD@E@F92@3@4@@@@ఐ[#envK=--K=--@+@@@@ఐ?3current_comment_optK=--K=-. @'@@@@ఐm¶msK=-. K=-.@(@@J@k.@@ఐi$bodyK=-.K=-.@6@@R@k=@@Q@@>@Ġ.Tfunction_bodyL >.. L>...@͠@L>../L>..0@@D@@@k@@@ @@@@@@@ภ>gL>..4L>..6@>f@@@@Ġ/Tfunction_casesL*?.7.AL+?.7.P@;/Tfunction_cases@Ր@@@@AA@B@AF^33Ff34@@;@@%cases@@E~G?$caseG:@@@@@@@@@G_33 G_337@@GH@'partial@@@@@G`383@G`383Q@@GS@%param@@F!t@@@Ga3R3ZGa3R3i@@Ga@#loc@@B!t@@@G,b3j3rG-b3j3@@Go@)exp_extra@@Es@@@@@@G<c33G=c33@@G@*attributes@@B@@@GGd33GHd33@@G@@AA@@@@@Lf@@@LCAG@ঠ%casesL?.7.SL?.7.X@3ds@@@kf@@@3SR@@AAO@L3IH@@BAB@?3<;@@CA5@23/.@@DA&@#3  @@EA@A^@[Ġ>L?.7.[L?.7.]@>@@@@tsG@@@k@@@k@@@k2@@@L?.7.QL?.7._@@@@@kR@k:@@@@@n;@@n;@@@ภ?LA..LA..@?@@@C@Ġ/Tfunction_casesLB..LB..@ঠ%casesLB..LB..@3@@@k@@@3@@AYA@3@@BZA@3@@C[Az@w3ts@@D\Ak@h3e d@@E]Aa@^]A@Ġ?LB..LB..@?ঠ%c_lhsMB..MB..@3%c_lhs!k@n@@@G#@@@@@@3&c_contFHG!t@@@@@@@@A@AG6--G6--@@H@3'c_guard FYE@@@@@@@@B@AG7--G7-.@@H'@3%c_rhs.E@@@@@C%@AG8..G8..(@@H0@@AG5--G5--@@H4@ఠ-pattern_param(MCB..MDB..@MVA@@G^H<@@@k@@@k@@@MOB..MPB..@@HH@@@k@@@kR@k%@@M]B..M^B..@@LàHW@@@k@@@k@@@k5@@@ @@,+Hc@@@k@@@k@@@kA@@@MwB..MxB..@@L@@@kR@kI@@@@@&J@@&J@@@@ఠ)parameter)ME/s/ME/s/@MA@гKg*param_info.Odoc_parameterME/s/ME/s/@ ME/s/ME/s/@@@@@@k3MMMMMMMM@ha@b@c@@ @@! A@@@@@k@ภ%TupleMF//MF//@ ภ@MF//MF//@@@@@  @@@l@@@lR@l"@డ r*subst_type(Odoc_envMF//MF//@ MF//MF//@@ p@@@ Z@@@l@@l@ p@@@l@@l k@@@l@@l@@lI@@ఐ#envMF//MF//@O@@V@@ఐĠ-pattern_paramNF//NF//@b@@H!H@@@l,@@@l+l@(pat_typeNF//NF//@5@@ @@@l&S@l4S@l1z@@K @@ k@@@l @l5S@l$@@uN(F//@гL@ @@@k@A@@@@@l7R@l6@A@N?E/s/@@ภ@WNEH00NFH00A@VఐƠ)parameter NOH00@@@@k@@ɰ@@J@l>3NRNRNRNRNRNRNRNR@ @@@ภ@N_H00A@@A@MǠJ@l9@@@l=Q@lC@@NjH00%@@@@@@l<@1*@@M@@@ANq3++,@@OL@A@Ns2++.@@డL!@N}J0&03N~J0&04@@"!a@@@@@@@/ @@@@@3@@@@@@@@#nn#nn@@G_@"!@@@>@@@m@@m@IF@@@m@@mJ@@@m @@m @@m 3NNNNNNNN@@@@@@@ఐ栐¶msNJ0&0,NJ0&02@@@Cb@@@m"O@m%O@m#@@ఐ0params_from_bodyNJ0&05NJ0&0E@"@@%@@@@yJ@m(@i@@@@@@bA@@@@mR@@@mQ@@@mP@@@mO@@mN@@mM@@mL@@mKJ@mCp@@MeNŐ Analysis of the parameter of a function. Return a list of t_parameter created from the (pattern, expression) structures encountered. N!))N")])@@@@@@@O#))+@@,@@ఠ0tt_analyse_value*O N00ON00@O A@@@@@@sJ@mT@@mU@J@@@slJ@mZ@@m[@WT@@@m@@@mJ@m`@@ma@(Location!t@@@t8J@mf@@mg@@7.JUJP@@@mJ@m@@@mJ@s@@@sJ@m@G@@@mJ@m@@mJ@ml@@mm@(rec_flag@@@rJ@mr@@ms@@@@mJ@mx@@myAʠ*Odoc_value't_value@@@sJ@s@@@sJ@mz@@m{J@mt@@muJ@mn@@moJ@mh@@miJ@mb@@mcJ@m\@@m]J@mV@@mWJ@mS3OOOOOOOO@@@@࣠@#env,AON00ON00@OA@@3OOOOOOOO@#ON00O::@@@@@  @@3current_module_name-AON00ON01@OA@@3OOOOOOOO@!@@@@@@@@+comment_opt.AON01ON01@OA@@3OOOOOOOO@@@@@@@@@#loc/AON01ON01@OA@@3OOOOOOOO@@@@@@@@@'pat_exp0AON01ON01@OA@@3OOOOOOOO@@@@@@@@@(rec_flag1AON01ON01#@P A@@3OOOOOOOO@@@@@@@@@%attrs2APN01$PN01)@PA@@3PPPPPPPP@@@@@@@@@@@ఠ#pat3PO1,18PO1,1;@P1A@@3PPPPPPPP@$@@@@@@ఠ#exp4P-O1,1=P.O1,1@@P@A@@@@P2O1,17P3O1,1A@@@栠@@@m@ఐ_'pat_expPAO1,1DPBO1,1K@G@@"@A@PEO1,13@@@ఠ+comment_opt5PPP1O1ZPQP1O1e@PcA@@YX@@@m@@@mR@m3PXPXPXPXPXPXPXPX@=F@@@A8@2@3@@@డ.analyze_alerts(Odoc_sigPoP1O1hPpP1O1p@ PsP1O1qPtP1O1@@Ұ@@@@@@m@@@m@@m@@@@m@@m@@@m@@@m@@m@@m3@@ఐڠ+comment_optPP1O1PP1O1@°@@p@@@ఐ%attrsPP1O1PP1O1@@@-M@@<@@UN@A@PP1O1V@@ఐ#patPQ11PQ11@Z@@i3PPPPPPPP@_qj@k@l@@@(pat_descPQ11PQ11@8 @@nJ@m @Ġ(Tpat_varPR11PR11@K_ఠ%ident6PR11PR11@PA@@K0@@@mU@m*@@PR11PR11@@KaK\@@@m@@@m6@@PR11PR11@@K]@@@m>@@@'PR11@@6@@@6@@Ġ*Tpat_aliasQR11QR11@K&@QR11Q R11@@K!K@@@m@@@mV@<%identQR11QR11@Q*A@@9`@@QR11QR11@@K)K'@@@m@@@ml@@Q*R11Q+R11@@K*@@@mt@@Q2R11Q3R11@@K,@@@m|@@@5Q8R11@@t~@@t~@@g@@u@@@ఐ#expQES12QFS12@@@3QCQCQCQCQCQCQCQC@rk@l@m@@@(exp_descQOS12QPS12@!e @@!d@@@m @Ġ-Texp_functionQ_T2 2,Q`T2 29@ఠ¶ms8QhT2 2;QiT2 2A@Q{A@@ @@@m@@@m3QnQnQnQnQnQnQnQn@+@@@ఠ$body9Q{T2 2CQ|T2 2G@QA@@ $@@@m@@@$QT2 2H@@!@@@m@@!@@@m@@@@ఠ(name_pre:QW2x2QW2x2@QA@@L~@@@nV@m3QQQQQQQQ@W<5@6@7*#@$@%@@@డN$Name*from_identQW2x2QW2x2@ QW2x2QW2x2@@KM@@@KM@@@m@@mL@@@m@@m$@@ఐ%identQW2x2QW2x2@@@Kd@@@nW@nW@n8@@' @@<9@A@QW2x2 @@@ఠ$name;QX22QX22@QA@@L@@@nV@n 3QQQQQQQQ@O]V@W@X@@@డO7$Name/parens_if_infixQX22QX22@ QX22RX22@@@L@@@@@L@@@@@@KUKU@@KA@@@@L@@@n@@n L@@@n @@n 1@@ఐ(name_preR&X22R'X22@;@@M@@@nW@nW@nE@@6 @@IF@A@R2X22 @@@ఠ-complete_name<R=Y22R>Y22@RPA@@M'@@@n8V@n 3RARARARARARARARA@\jc@d@e@@@డO$Name&concatRVY23RWY23@ RZY23R[Y23 @@@MF@@@ @@ @MM@@@ @@ MP@@@@@@@@K^K^@@KD@@@@M\@@@n(@@n'@Mc@@@n&@@n%Mf@@@n$@@n#@@n"?@@ఐࠐ3current_module_nameRY23 RY23 @Ȱ@@pL@@ఐ$nameRY23!RY23%@V@@M@@@n:W@nCW@nB`@@Q @@da@A@RY22 @@@ఠ$code=RZ3)38RZ3)3<@RA@@M@@@oV@n@@@nV@nD3RRRRRRRR@}@@@@@డQH!!R[3?3PR[3?3Q@@K#ref!a@@@@3@@2@@1'%field0AA( @@@( ( @@K@@@@&@@@nV@nV@nG@@@nI@@nH@@nF7@@డ+Odoc_global)keep_code+Odoc_global8S [3?3\@ S [3?3]S [3?3f@>@&Stdlib#ref$boolE@@@n@@@n@8ocamldoc/odoc_global.mliww@@+Odoc_globalN@U@@S<@@@nPW@nW@nl@@_"@@>m@ภ$SomeS5\3l3|S6\3l3@Lఐ~2get_string_of_fileSA\3l3SB\3l3@ @@@{@@@n@@n@x@@@n@@nw@@@n@@n@@n@@ఐ#locSc\3l3Sd\3l3@z@@*@(LocationSl\3l3Sm\3l3@)loc_startSq\3l3Sr\3l3@@3)loc_start(Location!t@@@$&Stdlib&Lexing(position@@@$@@@3'loc_end &Lexing(position@@@$@@A @A4parsing/location.mli[[7@@B@3)loc_ghost#$boolE@@@$@@B@A \8:\8J@@(C@@AZZ@@,A@E6@@Lq&Lexing(position@@@pd@o@&LexingS\3l3S\3l3@(pos_cnumS\3l3S\3l3@@3(pos_cnum@@@'#intA@@@'@@C3)pos_fname &stringQ@@@'@@@ @A*lexing.mliUU@@.Stdlib__LexingA@3(pos_lnum@@@'@@A@A V V@@ B@3'pos_bol$!@@@'@@B@AWW@@C@.@AXX@@D@5@@)@@@oW@peW@pc7@@ఐ6#locT]33T]33@@@H@(LocationT]33T]33@'loc_endT]33T]33@@@@q@@@q@q\@&LexingT$]33T%]33@(pos_cnumT)]33T*]33@@m&@@Z@@@oW@qW@qr@@T5\3l3T6]33@@yu@@@@O"@@@nz@ภ$NoneTC_4 4TD_4 4@N@@@V@q@TI[3?3M@@@A@TKZ3)34@@@ఠ)new_valueTVb4Q4`TWb4Q4i@TiA@@@@@qV@q3TZTZTZTZTZTZTZTZ@@@@@@3(val_name@@@U$Name!t@@@K@@@ 3(val_info &optionL*Odoc_types$info@@@M@@@LA@A@A7ocamldoc/odoc_value.mliXX@@C@3(val_type#%Types)type_expr@@@N@@B!@AY Y%@@ E@3-val_recursive1$boolE@@@O@@C-@AZ&(Z&=@@F@3.val_parameters=$listK.Odoc_parameter)parameter@@@Q@@@PA@DB@A0[>@1[>w@@*G@3(val_codeRE&stringQ@@@S@@@RA@ES@AA\xzB\x@@;H@3'val_loccP(location@@@TA@F_@AM]N]@@GI@@AQWRW@@KB@(val_nameTc4n4{Tc4n4@ఐ-complete_nameTc4n4Tc4n4@%@@O@@@r?@{(val_infoTd44Td44@ఐ+comment_optTd44Td44@A@@@@@rN@@@rMV@rO@(val_typeUe44Ue44@డ*subst_type(Odoc_envUe44Ue44@ U!e44U"e44@@@@@@@@r_@@r^@@@@r]@@r\@@@r[@@rZ@@rY@@ఐ#envU@e44UAe44@@@,@@ఐ1#patUOe44UPe44@@@@)TypedtreeUXe44UYe44@(pat_typeU]e44U^e45@@=@@@@@rmW@ruW@rr @@L @@@@@rWW@rk@ء-val_recursiveUtf55Uuf55@డS))U~f55+Uf55,@)~@@@J@r@@r@@@r){@@@r@@r~@@r}.@@ఐ(rec_flagUf55"Uf55*@@@*;@@ภ(AsttypesUf55-Uf555@)RecursiveUf556Uf55?@@;)Recursive=@@@@@@AB@@A!`!`@@@"J@@ @@HW@r[@@$@@$@@@r{W@ra@.val_parametersUg5B5OUg5B5]@ఐ >tt_analyse_function_parametersUh5`5oUh5`5@ Q@@@Q@@@r@@r@  @@@r@@@r@@r@ @@@r@@@r@@r@ @@@r@@r 6@@@r@@@r@@r@@r@@r@@r@@ఐn#envV h5`5V h5`5@S@@@@ఐƠ+comment_optVh5`5Vh5`5@[@@  @@@r@@@rW@rW@r@@ఐƠ¶msV.h5`5V/h5`5@@@G @@@r@@@rW@rW@r@@ఐˠ$bodyVFh5`5VGh5`5@@@ @@@rW@rW@r@@ @@@@@r@@@rW@r@(val_codeV`i55Vai55@ఐ$codeVii55Vji55@ @@@@@r@@@rV@r@'val_locV{j55V|j55@ຠ3(loc_impl*Odoc_types(location@@@&optionLS@@@@@@@@@3)loc_inter ^!t@@@@@@@@A@A7ocamldoc/odoc_types.mlijj#@@ B@@Aii@@$A@(loc_implVj55Vj55@ภ$SomeVj55Vj55@Piఐ#locVj55Vj55@ڰ@@g@@@@>J@t?J@tBJ@sJ@sJ@r@@@rV@sw@A)loc_interVj55Vj56@ภ$NoneVj56Vj56 @Q@@@QP@@@s @@@s V@s@@@Vj55Vj56 @@*@@@rV@s@@@Vb4Q4lVk66@@@A@Vb4Q4\@@ภIWm6*67Wm6*6BAIఐ)new_value W m6*6@@@@ @@3W W W W W W W W @@@@ภIaWm6*6AAI_@A@V@@@sU@s#@@W m6*65@@Ig@@@s@*#@@@$@@e@%@@@&@@>@S'@@@@W0o6D6PW1o6D6Q@@'D@@@m@@'G@@@m@@@@ఠ(name_preWBq6}6WCq6}6@WUA@@R,@@@s4V@s$@డT$Name*from_identWXq6}6WYq6}6@ W\q6}6W]q6}6@@P@@@P@@@s)@@s(RK@@@s'@@s&@@ఐ%identWtq6}6Wuq6}6@,@@Q @@@s6W@s8W@s7 @@' @@7 @A@Wq6}6 @@@ఠ$nameWr66Wr66@WA@@Ru@@@sIV@s93WWWWWWWW@MXQ@R@S@@@డT$Name/parens_if_infixWr66Wr66@ Wr66Wr66@@@@@R@@@s>@@s=R@@@s<@@s;"@@ఐ~(name_preWr66Wr66@,@@R@@@sKW@sOW@sN6@@' @@:7@A@Wr66 @@@ఠ-complete_nameWs66Ws67@WA@@R@@@shV@sP3WWWWWWWW@M[T@U@V@@@డU,$Name&concatWs67Ws67 @ Ws67 Ws67@@@@@R@@@sX@@sW@R@@@sV@@sUR@@@sT@@sS@@sR)@@ఐd3current_module_nameXs67Xs67%@L@@6@@ఐ$nameX s67&X!s67*@@@@S @@@sjW@ssW@srJ@@; @@NK@A@X,s66 @@@ఠ$codeX7t7.7=X8t7.7A@XJA@@S' g@@@sV@s@@@sV@st3XAXAXAXAXAXAXAXA@gun@o@p@@@డVXSu7D7TXTu7D7U@@@@,@@@sV@sV@sw@@@sy@@sx@@sv@@డl)keep_code+Odoc_globalXsu7D7`@ Xvu7D7aXwu7D7j@%@j&@@$@@@sW@sW@s<@@0 @@&=@ภ$SomeXv7p7Xv7p7@R9ఐҠ2get_string_of_fileXv7p7Xv7p7@_@@@ @@@s@@s@ @@@s@@s @@@s@@s@@sc@@ఐ栐#locXv7p7Xv7p7@ΰ@@ ~t@(LocationXv7p7Xv7p7@)loc_startXv7p7Xv7p7@@T@@!@@@s@s@&LexingXv7p7Xv7p7@(pos_cnumXv7p7Xv7p7@@&@@!@@@sW@sW@s@@ఐ !#locXw77Xw77@ @@ @(LocationXw77Xw77@'loc_endYw77Yw77@@z@@\@@@s@s@&LexingYw77Yw77@(pos_cnumYw77Yw77@@X&@@!E@@@sW@sW@s@@Y v7p7Y!w77@@@@@@T @@@s@ภ$NoneY.y88Y/y88!@S@@@V@s@Y4u7D7Q@@@A@Y6t7.79@@@ఠ)new_valueYA{818@YB{818I@YTA@@ @@@sV@s3YEYEYEYEYEYEYEYE@@@@@@론(val_nameYV|8N8[YW|8N8c@ఐ-complete_nameY_|8N8fY`|8N8s@@@TF@@@s@󡠐(val_infoYk}8v8Yl}8v8@ఐ $+comment_optYt}8v8Yu}8v8@@@@@@s@@@sV@s6@(val_typeY~88Y~88@డ2*subst_type(Odoc_envY~88Y~88@ Y~88Y~88@@0@@@@@@s@@s@0@@@s@@s+@@@s@@s@@sd@@ఐ #envY~88Y~88@ @@ q@@ఐ #patY~88Y~88@ i@@ x@)TypedtreeY~88Y~88@(pat_typeY~88Y~88@@Az@@e@@@sW@sW@s@@L @@X@@@sW@s@P-val_recursiveY88Y88@డXo--Y89 Y89 @-@@@ V@s@@s@@@s-@@@s@@s@@s@@ఐ (rec_flagZ89Z89 @ @@ @@ภ(AsttypesZ89 Z89@)RecursiveZ#89Z$89@@y@ @@ W@t@@@@@@@sW@t @.val_parametersZ59"9/Z69"9=@ภLZ<9"9@Z=9"9B@L@@@@@@t@@@tV@t@(val_codeZN9E9RZO9E9Z@ఐ $codeZW9E9]ZX9E9a@ @@@@@t&@@@t%V@t'@'val_locZi9d9qZj9d9x@ຠ(loc_implZt9d9}Zu9d9@ภ$SomeZ|9d9Z}9d9@T,ఐ #locZ9d9Z9d9@ @@ M?@@@@ Q@@@t7V@t>F@)loc_interZ9d9Z9d9@ภ$NoneZ9d9Z9d9@UD@@@  @@@tK@@@tJV@tQ`@@@Z9d9{Z9d9@@@@@t/V@tUh@@@Z{818LZ99@@pk@A@Z{818<@@ภLΰZ99Z99AL͠ఐ)new_value Z99@@@ @@ BU@t\3ZZZZZZZZ@@@@ภMZ99AM@A@Z; SJ@tW@@@t[U@ta@@Z99"@@M%@@@tZ@.'@@@(@@@)@@@*@@S@h+@@ f u@@@AZS12Z99@@ i3ZZZZZZZZ@ @@@Ġ)TypedtreeZ99Z99@*Tpat_tupleZ99Z9:@@TI@[9:[9: @@TD@TAT>@@@m@@@m٠@U,V @@@m@@@m@@m@@@m b@@@&@@ Y c@@ Y c@@@ภMm[#::[$::@Ml@@@  k@@[,::[-::@@ i s@@ i s@@@ภM}[3:: @M{@ @@  z@@@A[6Q11 @@ 3[2[2[2[2[2[2[2[2@ |@@@  @@  @  @@  @  A@ *J@t @AY[  Analysis of a Tstr_value from the typedtree. Create and return a list of [t_value]. @raise Failure if an error occurs.[JL0G0L[KM00@@@@@@@ @  @ Aఠ5tt_name_of_class_expr[X;;[Y;<@[kA@@@7@@@tJ@t@@tVK@@@tJ@t@@t3[e[e[e[e[e[e[e[e@ c \@ ]@ ^@@@࣠@%clexpA[x;<[y;<@[A@@3[w[w[w[w[w[w[w[w@*@%@@t @@tK@t@*@+@@@@ @@ఐ%clexp[==[==@5@@@@63[[[[[[[[@'@@@)Typedtree[==[==@'cl_desc[==[==@@3'cl_desc7@@@V/class_expr_desc@@@@@@ 3&cl_loc R!t@@@@@A @AVq7"7'Vr7"7:@@V@3'cl_typeU*class_type@@@@@B@AV}7;7@V~7;7Z@@V@3&cl_env#C_!t@@@@@C!@AV7[7`V7[7n@@V@3-cl_attributes/R5@@@@@D*@AV7o7tV7o7@@V@@AV77V77!@@V@Q?@@8@@@tP@Ġ)Typedtree[==[==@)Tcl_ident[==[==@@;)Tcl_identQ@@@@N!t@@@ԠV~#locN!t@@@@@@ՠUSN@@@@@@@C@@G@AV77V77@@@W@ఠ!p\(==\)==@\;A@@,@@@t3\*\*\*\*\*\*\*\*@@@@@\3==\4==@@.,@@@t@@@t @@\?==\@==@@-N@@@t@@@t@@@W\I==@@@@@t@@@@@t!@@@డY$Name)from_path\]==\^==@ \a==\b=>@@@$Path!t@@@ F@@ EWU@@@ D@@ C@UJ  UJ  @@UP@@@@@@@t@@tWd@@@t@@t3\~\~\~\~\~\~\~\~@aZ@[@\@@@@ఐh!p\=>\=>@ @@.@@@tN@tN@t@@> @@6@Ġ)Typedtree\>>\>>@.Tcl_constraint\>>\>>'@@;.Tcl_constraint@9@@@UW*class_type@@@@@@VW6@@@@@@V W@@@@@@@V'MethSet!t@@@@EE@G@AW99W9l9@@@W@ఠ*class_expr\>>)\>>3@\A@@9D@@@tO@t^@@\>>5\>>6@@A@@@@t@@@tj@@]>>8]>>9@@BA@@@t@@@tv@@]>>;]>><@@DC@@@t@@@t@@]>>>]>>?@@F@@@t@@@x]!>>@@@w@@@t@@@Ġ)Typedtree]/>A>I]0>A>R@)Tcl_apply]4>A>S]5>A>\@@;)Tcl_apply=@9@@@V}@W)arg_label@@@堠@XI)apply_arg@@@@@@@@@BC@G@AX 8p8rX 8p8@@@XO@t*class_expr]^>A>^]_>A>h@]qA@@q@@]e>A>j]f>A>k@@)@(@@@t٠@&@@@t@@t@@@t@@@I]x>A>l@@@@@t@@@@@@@@@t@@@ఐ15tt_name_of_class_expr]>A>p]>A>@ @@@0@@t+@@t3]]]]]]]]@@@@@@@ఐ*class_expr]>A>]>A>@ @@@N@u@@@@>@@]?C?L]?C?M@@@@@t@@@@@t@@@డ-Odoc_messages*object_end-Odoc_messages]?C?Q]?C?^@ ]?C?_]?C?i@@&stringQ@@@yE@:ocamldoc/odoc_messages.mli%%%<@@-Odoc_messages@@@n=@@@A]==@@p3]]]]]]]]@?@@@_A@@}@@x@@J@a@@\R] This function takes a Typedtree.class_expr and returns a string which can stand for the class name. The name can be "object ... end" if the class expression is not an ident or a class constraint or a class apply. ]::];d;@@@@@@@];;+@@,@@ఠ^@+@K@@Wఠ¶ms ^@+@M^@+@S@^A@@\y@@@@@@:@ఠ$body!^@+@U^@+@Y@^A@@|@@@H@@@)^@+@Z@@.@@@M@@.@@@P@@@@ఠ¶ms"^@^@l^@^@r@^A@@0@@@@@@Q@3^^^^^^^^@i?8@9@:.'@(@)@@@ఐ᠐>tt_analyse_function_parameters_@u@_@u@@@@@@@@@@@ܠ@@@@@@@@@2@@@@@@@@@@@@@@̠l@@@@@@@@@@@@@@<@@ఐ#env_?@u@_@@u@@@@>I@@ఐ栐+comment_opt_L@u@_M@u@@ΰ@@4V@@ఐ¶ms_Y@u@_Z@u@@_@@r@@@!@@@ R@,R@*n@@ఐ$body_q@u@_r@u@@v@@@@@R@/R@.@@u @@@A@_}@^@h @@ఐ¶ms_@@_@@@@@@@)@@@2@@@13________@ @@@ĠQ_@@_@@@Qఠ%_self#_@@_@@@_A@@@@@:@ఠ$rest$_@A_@A@_A@@_@@@<@@@;-@@@ @@^@@@>@@@=5@@e@@@@@@@?<@@@ఐ!$rest_@A_@A @ @!@"@@3________@I:3@4@5-@@@ĠR0_A A_A A@R/@@@@'@@@H@@@G^@@.@@@J@@@Ie@@@డ^x%raise`AA`AA@5:@@@5:@@@T@@SS@R@@Qz@@ภ'Failure`AA`AA@;'Failure9@@@ @&stringQ@@@@AX @@A9=ocaml.warn_on_literal_pattern5OE  5PE  @@5SE  5TE  @@@XH@డ^!^`;AA`<AA@@%@@@@@@-@@@@@1@@@@@@@@5x^6^65y^6^\@@Yq@@@@@@@i@@h@@@@g@@f@@@e@@d@@c@@డ(bad_tree-Odoc_messages`vAA`wAA@ `zAA@@A@@@@x'@sss@@z@K@@H@@@yT@{T@z@@డ_!^`AA`AA@^@@@^@@@@@@]@@@@@\@@@@@~@@}@@! `AA`AA@@|@@z@@@U@U@-@@డ4method_without_param-Odoc_messages`AA`AA@ `AA`AA@@@@@@x3@@x2@@@x1@@x0@@@}@@@@@@@@@@@@@@_@@ఐ3current_method_name`AA`AA@@@l@@e`AB@@@@@@V@u@@ @@@@@w@U@}@@aAAaAB@@@@@a@T@u@@aAAaAB@@6Q@@@[S@`@@"@@@@@Aa#@@a$BB@@3a a a a a a a a @@@@@@.@@a-BBa.BB@@1A@@@@@1D@@@@@@ภSa:B@BJ@S@@@ @@@Aa=@@ @@3a9a9a9a9a9a9a9a9@@@@A@BJ@@A_a ? Analysis of a method expression to get the method parameters. aO?k?oaP?k?@@@@@@@@@@ఠ7analyse_class_structure%a]BBa^BB@apA@@@ @@@&J@@@@\X@@@J@@@@(H/class_signature@@@J@@@@)5@@@/J@@@@)@@@ZJ@@@@,/class_structure@@@EJ@@@@\7@@@J@@@@@@J@@@@@*Odoc_class/inherited_class@@@(@@@'@=-class_element@@@*@@@)@@&J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@3aaaaaaaa@`@@@@@࣠@#env'AaBCaBC@aA@@3aaaaaaaa@aBBak``O@@@@@  @@2current_class_name(AaBCaBC@bA@@3aaaaaaaa@!@@@@@@@@,tt_class_sig)AbBCbBC#@b!A@@3b b b b b b b b @@@@@@@@@(last_pos*AbBC$b BC,@b2A@@3bbbbbbbb@@@@@@@@@)pos_limit+Ab0BC-b1BC6@bCA@@3b/b/b/b/b/b/b/b/@@@@@@@@@%p_cls,AbABC7bBBC<@bTA@@3b@b@b@b@b@b@b@b@@@@@@@@@@&tt_cls-AbRBC=bSBCC@beA@@3bQbQbQbQbQbQbQbQ@@@@@@@@@&_table.AbcBCDbdBCJ@bvA@@3bbbbbbbbbbbbbbbb@@@@@@@@@Aఠ$iter/bvCMC[bwCMC_@bA@@@@@@S@@@@S@@@ @ @@@S@@@@S@@@ @*F@@@S@@@ @T-+class_field@@@S@;@@@:S@@@ @8S@@&,S@u@@@S@@@@@@@@@@@3bbbbbbbb@[g @^@_@@@࣠@)acc_inher0AbCMC`bCMCi@bA@@U3bbbbbbbb@c@^@@@U@@@L@@@I@@@>@=@@T@@@T@@@T@@@T@@@T@@}@~@@@@('@@*acc_fields1AcCMCjcCMCt@cA@@w3bbbbbbbb@2>@5@6@@@@@@(last_pos2AcCMCucCMC}@c$A@@y3cccccccc@@@@@@@@@ĠUkc!CCc"CC@Uj@@@@3cccccccc@@@@@@@@@ఠ!s5c1CCc2CC@cDA@@+\@@@XY@D3c5c5c5c5c5c5c5c5@@@@ఐ$2get_string_of_filecDCCcECC@$@@@+~@@@L@@K@+{@@@J@@I+z@@@H@@G@@F@@ఐT(last_poscbCCccCC@>@@+@@ఐB)pos_limitcoCCcpCC@*@@8@@/@@<9@A@ctCC@@@@@cCCcCC@@(@@@Y@`3cccccccc@c[T@U@V@@@@ఠ(ele_coms6cCCcCC@cA@@(((@@@@@@Y@a@@cCCcCC@@@%@@@d"@డ,c+all_special%My_ircCCcCC@ cCCcCD@@@(@@@o@@n@(@@@m@@l@(@@@i@(=@@@k@@@j@@h@@g@@f@(@(۰'"@@@)@@@@@@)@@@@@@)@@@@)\@@@@@@@@@@@@t@@డb~68dCDdCD @5@@@5)7@@@Z@Z@@@@@@@@@@ఐ%)file_named!CD@%F@@P@@@[@[@@@' @@@@ఐ!sd6CDd7CD@@@)Y@@@Z@Z@@@ @@@Ơ@@@Z@@A@dJCC@@@ఠ,ele_comments7dUDD(dVDD4@dhA@@נ@@@@Y@!@@@5Y@3d_d_d_d_d_d_d_d_@@@@@@డb$List)fold_leftdtD7DEduD7DI@ dxD7DJdyD7DS@@@@#acc@.a@@0%@!a@.d@@0$ @@0#@@0"@@0!@@@0 @Zn@@@0@@0@@0@@0@@0@Zh33Zi3r@@Zg]@.)@@@@QY@@@@/$info@@@Y@@@ @@@@@@@@@@'@@@@@@@@@@@3dddddddd@_@@@@࣠@#acc8AdDTDidDTDl@dA@@,r@@@@࣠@"sc9AdDTDtdDTDv@dA@@73dddddddd@@@@@@@@@@ఐ"scdDzDdDzD@J@@@@K3dddddddd@!@@@*Odoc_typeseDzDeDzD@&i_desceDzDe DzD@@3&i_desc[@@@$text@@@n@@@m@@@33)i_authors$listK&stringQ@@@p@@@o@@A@AW  W  @@t@3)i_version#@@@r@@@q@@B@AXX6@@u@3&i_sees2"#see@@@t@@@s@@C/@AY_cY_u@@v@3'i_sinceBĠ0@@@v@@@u@@D>@AZZ@@w@3(i_beforeQA@C@@@y@X@@@z@@x@@@w@@EV@A[[@@x@3,i_deprecatedif@@@|@@@{@@Fd@A\04\0O@@y@3(i_paramswg%param@@@~@@@}@@Gt@A]]@@ z@33i_raised_exceptionsw0raised_exception@@@@@@@@H@A^^@@{@3.i_return_value@@@@@@@@I@A _%) _%G@@(|@3(i_custom@@@@@@@@@@@@@@@J@A!`y}"`y@@@}@3(i_alertsK%alert@@@@@@@@K@A1a2a@@P~@@A5V  6V  @@Ts@@@͠@@@@@@@Ġ$NoneeDDeDD@`@@@@@@@ @@@ 3eeeeeeee@@@@ @@@@@@@@@@ఐ8#accfDDfDD@ @@`@Ġ$SomefDDfDD@_Ġఠ!t:fDDfDD@f0A@@ @@@)@@@@@@@@@@@1@@@@@@@@8@@@డd!@f<EEf=EE@@@@@@@%@@$@@@@#@@"@@@ @@@@3fNfNfNfNfNfNfNfN@Y<5@6@7@@@@ఐ#accf`EEfaEE@y@@@@ภX}fkEEflEE-AX|ภ-Class_comment ftEE*@;-Class_comment@@@@*Odoc_types$text@@@@AB@C@A7ocamldoc/odoc_class.mliYY4@@@D@ఐt!tfEE+fEE,@>@@@@@B_@G_@FH@@1 @@>_@AK@ภX8AX@9A@f L`@8@@@=_@LY@@fEEB@@NU@@@3_@<a@@UI@@ b@@@AfDzDK@@ @fDTDpM@@@@@\@@[[@Y@fDTDdfEE.@@@ @@@@@$@@@@Z@bZ@^j@@ภY fE/E?fE/EA@Y@@@Y@i@@ఐT(ele_comsfEBERfEBEZ@@@T?@@@Z@lZ@j-@@} @@G@A@fDD$ @@@ఐ2)acc_inherfEjEwfEjE@@@3ffffffff@@@@@@@డe!@gEjEgEjE@@@@[@@@y@@x@c@@@w@@vg@@@t@@s@@r%@@ఐ3*acc_fieldsg0EjEg1EjE@@@2@@ఐ蠐,ele_commentsg=EjEg>EjE@<@@@@@Y@Y@G@@ @@H@@gJEjEvgKEjE@@@Ҡ@@@Q@a@@@  @@@ @@@@@@C!@ĠYtgbEEgcEE@Ysఠ$item3gkEEglEE@g~A@@S@=3gkgkgkgkgkgkgkgk@L@@@ఠ!q4gxEEgyEE@gA@@f@@@?@@@@@@@@@ఠ#loc;gEEgEE@gA@@1!t@@@Y@3gggggggg@u3,@-@.' @!@"@@@ఐ:$itemgEEgEE@ @@9@)ParsetreegEEgEE@'pcf_locgEEgEE@@3'pcf_loc @@@9*@@@9@@A3(pcf_desc 20class_field_desc@@@9@@@@A28zz28z{@@2@3.pcf_attributes2*attributes@@@9@@B@A2 :{0{52:{0{P@@2@@A29{{29{{/@@2@5&@@IC@A@gEE(@@ఐ|$itemgEEgEF@O@@{3gggggggg@Te^@_@`@@@)ParsetreegEFgEF @(pcf_descgEF gEF@@<@@;@@@@Ġ)Parsetreeh FF$h FF-@+Pcf_inherithFF.hFF9@@;+Pcf_inheritT@@@9+@(Asttypes-override_flag@@@930*class_expr@@@9&optionL#loc&stringQ@@@9@@@9@@@9@C@@G@A2x>{{2y>{{@@@3I@@hCFF;hDFF<@@,@@@3hChChChChChChChC@^@@@ఠ'p_clexp<hPFF>hQFFE@hcA@@2@@@@@hZFFGh[FFH@@41/@@@@@@@@@@@@hhFF#hiFFJ@@@@@%@@@@@(@@@@ఠ(tt_clexpEhzFOF_h{FOFg@hA@@c|D@@@%[@h3hhhhhhhh@:3@4@5@@@@ఠ!nFhFjF|hFjF}@hA@@#intA@@@v\@i@డg$List&lengthhFjFhFjF@ hFjFhFjF@@@^!a@/P@@@/Z@@/Y(@@@/X@@/W@^k^k @@^C@@@@MS@o@@@n@@m:@@@l@@kP@@ఐ)acc_inherhFjFhFjF@ڰ@@c]@@8@@K^@A@hFjFx@@డf:get_nth_inherit_class_expr0Typedtree_searchhFFhFF@ hFFhFF@@@c>@@@@@@>@@@@@@@@@@@@@>@>@@@@@@@@@>@@@@@@@@@@@@3iiiiiiii@@@@@@@ఐݠ&tt_clsi,FFi-FF@Ű@@@@ఐ!ni9FFi:FF@@@?@@@'\@,\@+$@@Q @@%@Ġ)Not_foundiLFFiMFF@B@@@@h[@@@13@@@డg%raisei[GGi\GG@>@@@>@@@7@@6^@5@@4H@@ภ'FailureipGGiqGG@ [డ 'inherit_classexp_not_found_in_typedtree-Odoc_messagesiG!G8iG!GE@ iG!GFiG!Gm@@@#intA@@@x@@x @@@x@@x@  ;@@ @@@@@@@I@@H@@@G@@F@@ఐ!niG!GniG!Go@@@*@@@R_@T_@S@@iGGiG!Gp@@ @@@D@U_@P@@iGGiG!Gq@@>@@@>^@C@@q@@N@@@iFF @@N@ @@OK@A@iFOF[ @@@@ఠ(info_optGiGGiGG@iA@@1}*R@@@z@@@y[@X3iiiiiiii@ixq@r@s@@@@ఠ,ele_commentsHiGGiGG@j A@@1*`@@@|@@@{[@Y@@jGGjGG@@@(@@@\!@ఐ*5get_comments_in_classjGGjGG@)@@@1@@@h@@g@1@@@f@@e@1à*@@@b@@@a@1*@@@d@@@c@@`@@_@@^O@@ఐ7(last_posjEGGjFGG@!@@\@@ఐ'p_clexpjXGGjYGG@԰@@;@@@@t@)ParsetreejfGGjgGG@'pcl_locjkGGjlGH@@3'pcl_locN@@@84!t@@@8@@A3(pcl_desc 5/class_expr_desc@@@8@@@@A4qq4qr@@5 @3.pcl_attributes@@@8@@B@A4r/r44r/rO@@5@@A4rr4rr.@@5 @;'@@@@@@@(LocationjGHjGH @)loc_startjGH jGH@@2O@@@@@@@&LexingjGHjGH@(pos_cnumjGHjGH%@@c@@2_@@@~\@\@@@ @@@栠@@@\@x@A@jGG@@@ఠ(text_optIjH5HEjH5HM@jA@@eǠ@@@[@@@@[@3jjjjjjjj@@@ @@@@@ఐ(info_optjHPHdjHPHl@ @@2+d@@@@@@3jjjjjjjj@@@@Ġ$Nonek HPHrk HPHv@e@@@@2+y@@@@@@-@@2+@@@@@@4@@@ภ$Nonek HPHzk!HPH~@e@@@H=@Ġ$Somek-HHk.HH@dݠఠ!iJk6HHk7HH@kIA@@+@@@?@@@@@2֠+@@@@@@G@@2ݠ+@@@@@@N@@@ఐ!ikUHHkVHH@@@ @@@@@@3kYkYkYkYkYkYkYkY@y. @@@*Odoc_typeskfHHkgHH@&i_desckkHHklHH@@c@@@@@AkpHPH^@@@A@krH5HA@@@ఠ$nameKk}HHk~HH@kA@@fg@@@[@ 3kkkkkkkk@@@@@@ఐ:5tt_name_of_class_exprkHHkHH@@@@G@@@@@f@@@@@ @@ఐ/(tt_clexpkHHkHH@@@H@@@\@\@-@@" @@1.@A@kHH @@@ఠ%inherLkHHkHH@kA@@ @@@$[@ 3kkkkkkkk@DRK@L@M@@@ະ3'ic_name @@@ $Name!t@@@@@@ 3(ic_class &optionL #cct@@@@@@A@A@Agaha@@ #R@3'ic_textz$text@@@@@@@@B @Axbyb%@@ 4S@@A|`}`@@ 8Q@'ic_namel II!l II(@డ)=full_class_or_class_type_name(Odoc_envlII+lII3@ lII4lIIQ@@@+@@@d@@d@)Odoc_name!t@@@d@@d!t@@@d@@d@@d@)@  )@  b@@+S@&!@@@+@@@@@@@@@@@@@@@@@@@@ఐ s#envlYIIRlZIIU@ X@@ @@ఐ預$namelfIIVlgIIZ@@@gM@@@e@@U@@:@@@]@(ic_classlvI]ImlwI]Iu@ภ$Nonel~I]IxlI]I|@g$@@@@@@{@@@z[@@'ic_textlIIlII@ఐ (text_optlIIlII@@@@@@@@@[@@@@lIIlII@@@A@lHH@@ఐ =$iterlIIlII@ @@@ <@@@ 1@@@ &@@@ !@@@ @ @@@@@@@@@@3llllllll@ @ @ @@@@డkS!@lIIlII@^@@@^ b@@@@@@$ j@@@@@Y n@@@@@@@&@@ఐ 0)acc_inherlIIlII@ @@ 3@@ภ_mIImIIA_ఐQ%inher mII@D @@ G@ภ_cmIIA_a@A@l ]@@@@\@V@@m#II@@$Ġ @@@\@^@@m+IIm,II@@ S@c@@డk!@m;IIm<II@@@@ S@@@@@@@$ @@@@@@@@@@@@@@ఐ a*acc_fieldsm^IIm_II@ I@@ @@ఐt,ele_commentsmkIImlIJ@@@%0@@@\@\@@@mwIImxIJ@@ S@S@HS@IS@OS@PS@S@@@ఐF'p_clexpmJJmJJ@@@y@@@@@)ParsetreemJJmJJ'@'pcl_locmJJ(mJJ/@@>@@9@@@@@(LocationmJJ0mJJ8@'loc_endmJJ9mJJ@@@7+@@@@@@@&LexingmJJAmJJG@(pos_cnummJJHmJJP@@?@@ ES@S@S@S@S@S@[@@@ఐt!qmJQJ_mJQJ`@S@@ JS@%@@?@@@ B@ A@@[@.@R@@ 2@G@@ v@@@ @2@@ @/@@@ M@ L@@g@Ġ)ParsetreenJbJjnJbJs@'Pcf_valnJbJtnJbJ{@@;'Pcf_val@@#loc %label@@@9@@@9@,mutable_flag@@@9@9B0class_field_kind@@@9@@9@AA@G@A8vM~Z~\8wM~Z~@@@9G@@ঠ#txtnKJbJnLJbJ@:ఠ%label=nSJbJnTJbJ@nfA@@2@@@3nUnUnUnUnUnUnUnU@p@@@@@n\JbJ}n]JbJ@@>>@@@[@@@@ @@ఠ,mutable_flag>noJbJnpJbJ@nA@@F@@@@@ఠ!k?n~JbJnJbJ@nA@@N@@@+@@nJbJ|nJbJ@@@.@@@@6@@@ @@@@@:@@@@@=@@@@ఠ$virtanJJnJJ@nA@@`@@@[@3nnnnnnnn@_X@Y@ZD=@>@?6/@0@1@@@ఐ@-override_flag@@@9-:)*expression@@@9.@BA@B@A9]i9^i@@@:.$@@o(JJo)JK@@@@@@@@@@@@@@) @@@@@@@@@@@@@ภaho>JKo?JK @ag@@@@@@AoBJJ@@@A@oDJJ@@@ఠ-complete_nameboOK KoPK K*@obA@@j9@@@[@g3oSoSoSoSoSoSoSoS@@@@@@డl$Name&concatohK K-oiK K1@ olK K2omK K8@@@@@jX@@@o@@n@j_@@@m@@ljb@@@k@@j@@i)@@ఐ 2current_class_nameoK K9oK KK@ y@@6@@ఐE%labeloK KLoK KQ@@@v@@@F@@7@@JG@A@oK K@@@@ఠ(info_optcoKUKfoKUKn@oA@@7M0"@@@@@@[@3oooooooo@esl@m@n@@@@ఠ,ele_commentsdoKUKpoKUK|@oA@@7X00@@@@@@[@@@oKUKeoKUK}@@@(@@@!@ఐ0k5get_comments_in_classoKUKoKUK@/@@@7@@@@@@7@@@@@@70h@@@@@@@70g@@@@@@@@@@@@O@@ఐ (last_pospKUKpKUK@ @@ |\@@ఐ#locp&KUKp'KUK@<@@@@@@r@(Locationp4KUKp5KUK@)loc_startp9KUKp:KUK@@Ȱ@@@@@@@&LexingpHKUKpIKUK@(pos_cnumpMKUKpNKUK@@+@@7@@@\@\@@@s @@@@@@\@@A@pbKUKa@@@ఠ(type_expepmKKpnKK@pA@@BrBq@@@[@3prprprprprprprpr@@@@@@@@డm5search_attribute_type0Typedtree_searchpKKpKL@ pKLpKL@@@kFv@@@ @@ @kkk@@@ @@1@@@@@@@@B@B@@@@@@@@@@@@@@C@@@@@@@B@@ఐt&tt_clspKLpKL#@\@@O@@ఐ}%labelpKL$pKL)@$@@@@@_@@L@@d`@Ġ)Not_foundpL*L=pL*LF@J@@@@o@@@n@@@డof%raisepLJLZpLJL_@F(@@@F(@@@@@^@@@@@ภ'FailureqLJLaqLJLh@డW attribute_not_found_in_typedtree-Odoc_messagesqLJLjqLJLw@ qLJLxqLJL@@@Y@@@x@@x]@@@x@@x@[<<\<s@@Z@@@@@@@@@@@@@@@@ఐ-complete_nameq@LJLqALJL@@@l'@@@@@qGLJLiqHLJL@@0@@@@_@ @@qQLJL`qRLJL@@F@@@^@@@k@@@@@qZKK @@@A@q\KK @@@ఠ$codefqgLLqhLL@qzA@@lW9@@@=[@'@@@([@3qqqqqqqqqqqqqqqq@@ @ @@@డoqLLqLL@@@@EB@@@%[@#[@@@@@@@@@@డ)keep_code+Odoc_globalqLL@ qLLqLL@%@&@@נ$@@@!\@$\@"<@@0 @@&=@ภ$SomeqLMqLM@kiఐ32get_string_of_fileqLM qLM@2@@@9@@@1@@0@9@@@/@@.9@@@-@@,@@+c@@ఐ \#locqLMqLM @ @@v@@@F@Dy@(LocationqLM!qLM)@)loc_startqLM*qLM3@@@@V@@@H@E@&Lexingr LM4r LM:@(pos_cnumrLM;rLMC@@R+@@:I@@@A\@I\@G@@ఐ #locr'MDMXr(MDM[@ =@@@@@N@L@(Locationr5MDM\r6MDMd@'loc_endr:MDMer;MDMl@@@@@@@P@M@&LexingrIMDMmrJMDMs@(pos_cnumrNMDMtrOMDM|@@+@@:@@@?\@Q\@O@@rZLM r[MDM}@@@@@@mG@@@)@ภ$NonerhMMriMM@m@@@[@U@rnLL@@@A@rpLL@@@ఠ#attgr{MMr|MM@rA@@"+t_attribute@@@Z[@V3rrrrrrrr@%@@ @@@ະ3)att_value@@@Y# @@@V@@@ 3+att_mutable @@@W@@A@Acc+@@#L@3+att_virtual @@@X@@B@A"d,.#d,A@@#M@@A&b'b@@# K@)att_valuerMMrMM@S(val_namerMMrMM@ఐx-complete_namerMMrMN@ @@m@@@eG@[(val_inforNNrNN @ఐ-(info_optrNN#rNN+@d@@li@@@u@@@t[@vb@`(val_typerN.N>rN.NF@డ0*subst_type(Odoc_envrN.NIrN.NQ@ sN.NRsN.N\@@0@@@2@@@@@@0@@@@@0@@@@@@@@@ఐ:#envs N.N]s!N.N`@@@@@ఐ(type_exps-N.Nas.N.Ni@@@0@@@\@\@@@; @@@@@\@@-val_recursivesCNlN|sDNlN@ภetsJNlNsKNlN@es@@@@@@[@@.val_parameterssXNNsYNN@ภes_NNs`NN@e@@@@@@@@@[@@(val_codesqNNsrNN@ఐ$codeszNNs{NN@@@Š@@@@@@[@@'val_locsNNsNN@ຠ(loc_implsNNsNO@ภ$SomesNOsNO@mOఐ #locsNOsNO @ @@$t@@@[@[@[@/@@ @@- @@@[@6@')loc_intersNOsNO@ภ$NonesNOsNO@np@@@76@@@@@@[@P@@@sNNsNO @@@@@[@X@@@sMMsO#O2@@$Z@@@\[@`@Q+att_mutablesO5OCsO5ON@డroGGsO5O^sO5O_@G@@@@@@ [@@@@ @@G@@@@@@@@@ఐ,mutable_flagtO5OQtO5O]@f@@@@ภ(Asttypest!O5O`t"O5Oh@'Mutablet&O5Oit'O5Op@@;'Mutable@,mutable_flag@@@@@@AB@@A@ogWu@pgW~@@@@S@@@@9\@@@&@@@@@\@@+att_virtualtDOsOtEOsO@ఐ$virttMOsOtNOsO@@@@@@[@@@@tVMMtWOO@@@A@tYMM@@ఐ$itertc OOtd OO@@@@@@ @@@@@@@@@@Ġ@@@@@@@@@@@3twtwtwtwtwtwtwtw@@@@@@@ఐ)acc_inhert OOt OO@@@@@డs!@t OOt OO@&@@@&S@;@@@?@@>@,G @@@=@@<&@@@:@@9@@85@@ఐ*acc_fieldst OOt OO@@@1B@@డsB!@t OOt OO@&M@@@&MD\@k\@U@@@Y@@X@,{ @@@W@@V&L@@@T@@S@@Ri@@ఐ(,ele_commentst OOt OO@v@@&r%@@@i]@l]@j~@@ภgu OOu OOAgภ/Class_attribute u  OO@;/Class_attribute@*Odoc_value+t_attribute@@@@A@@C@AWW@@@PB@ఐ#attu$ OOu% OO@@@@@@x]@z]@y@@- @@[]@w@ภgu7 OO5Ag@6A@tj^@n@@@s]@@@uB OO@@@,t@@@g]@r@@[G@@,@@@M\@]@e@@uS OOuT OO@@S@K@@ఐ ڠ#locue OPuf OP@ {@@!@@@@@(Locationus OPut OP @'loc_endux OP uy OP@@!@@!@@@@@&Lexingu OPu OP@(pos_cnumu OPu OP$@@!а+@@[@@@ఐ$!qu OP%u OP&@@@S@%@@?@@@@@@[@2.@R@@ %@<@@ 6@Q@@ 6@L@@ @@@ W@l@@@Ġ)Parsetreeu P(P3u P(P<@*Pcf_methodu P(P=u P(PG@@;*Pcf_method @@ #loc %label@@@9"@@@9!@ ,private_flag@@@9#@@@@9$@@9 @AB@G@A@\@ \@@@@@@ঠ#txtu P(PLu P(PO@BNఠ%label@u P(PRu P(PW@vA@@0@@@3uuuuuuuu@@@@@@v P(PJv P(PY@@<<@@@[@@@@ @@ఠ,private_flagAv P(P[v P(Pg@v+A@@D@@@@@Ġ)Parsetreev) P(Piv* P(Pr@+Cfk_virtualv. P(Psv/ P(P~@@]@v4 P(Pv5 P(P@@\@@@6@@@@@@@@:@@v> P(PIv? P(P@@@=@*@@@E@@@vI P(P2vJ P(P@@@@@K@@@@@N@@@@ఠ-complete_namehv[ PPv\ PP@vnA@@qE@@@[@3v_v_v_v_v_v_v_v_@|oh@i@jTM@N@O@@@డs$Name&concatvv PPvw PP@ vz PPv{ PP@@$ @@@qf@@@@@@qm@@@@@qp@@@@@@@+@@ఐ2current_class_namev PPv PP@@@*8@@ఐ%labelv PPv PP@A@@@@@H@@7@@LI@A@v PP@@@@ఠ(info_optivPPvPP@vA@@>[70@@@@@@[@3vvvvvvvv@gun@o@p@@@@ఠ,ele_commentsjvPPvPP@vA@@>f7>@@@@@@[@@@vPPvPP@@@(@@@!@ఐ7y5get_comments_in_classvPPvPQ@6ϰ@@@>@@@@@@>@@@@@@>7v@@@@@@@>7u@@@@@@@@@@@@O@@ఐ(last_posw#PQw$PQ@@@\@@ఐ#locw4PQw5PQ@J@@#@@@@r@(LocationwBPQwCPQ$@)loc_startwGPQ%wHPQ.@@#ְ@@#@@@@@&LexingwVPQ/wWPQ5@(pos_cnumw[PQ6w\PQ>@@#+@@?@@@\@\@@@s @@@@@@\@@A@wpPP@@@ఠ(met_typekw{QBQRw|QBQZ@wA@@>J)type_expr@@@[@3wwwwwwww@@@@@@@@డA0Signature_search2search_method_type(Odoc_sigwQ]QowQ]Qw@ wQ]QxwQ]Q@@wQ]QwQ]Q@ @@@ @@@w@@v@9@@@u@@t:@@@s@@r@@q@@H  @I@@@@L@$@@@@@@~@@}@O@@@|@@{P@@@z@@y@@xM@@ఐ⠐%labelwQ]QwQ]Q@y@@@@@]@@ఐ㠐,tt_class_sigwQ]QwQ]Q@˰@@tj@@S@@qk@Ġ)Not_foundwQQwQQ@Q@@@@w @@@y@@@డv%raisex QQx QQ@MC@@@MC@@@@@^@@@@@ภ'FailurexQQxQQ@ డr5method_type_not_found-Odoc_messagesx.QQx/QQ@ x2QQx3QR@@@t@@@x@@x@|@@@x@@x@@@x@@x@@x@~@@}@!@@@@@@@@@@@@@@@@@@@@@@@ఐp2current_class_namexjQRxkQR@X@@@@ఐ{%labelxwQRxxQR@@@@@@@@x~QQxQR@@g@@@@_@@@xQQxQR@@M@@@^@@@@@ @@@xQ]Qk @@ @A@xQBQN @@@ఠ)real_typexxR-R=xR-RF@xA@@T@@@[@3xxxxxxxx@!2+@,@-@@@డw(get_descxRIR]xRIRe@@U@@@ f@@ eU)type_desc@@@ d@@ c@S(##S)##>@@Uk@@@@U@@@@@@@@@@3xxxxxxxx@,@@@@ఐc(met_typexRIRfxRIRn@7@@U)@@@]@]@@@4 @@*@@@@Ġ&TarrowxRtRxRtR@;&Tarrow;@@@ 8@SP)arg_label@@@ UH@@@ UL@@@ UP*commutable@@@ @DAAL@ASvE  SwE  @@@UUJ@@yRtRyRtR@@@@@K@@y!RtRy"RtR@@Ug@@@S@ఠ!tyy-RtRy.RtR@y@A@@Uu@@@a@@y7RtRy8RtR@@-@@@i@@@Gy=RtR@@@@@n@@@@@q@@@ఐ!tyKRRyLRR@@@@@3yJyJyJyJyJyJyJyJ@(@@@@yWRRyXRR@@@@@@@@@@@@@ఐ렐(met_typeyfSSygSS @@@@@@AyjRIRW@@@A@ylR-R9@@@ఠ$codezywS.S<yxS.S@@yA@@tgA@@@[@ @@@ [@3yyyyyyyy@@@@@@డx &Ġ&ưySCSRySCSS@&ð@@@&àMR@@@[@[@@@@@@@@@@డ&)keep_code+Odoc_globalySCS^@ ySCS_ySCSh@%@&&@@&$@@@\@\@<@@0 @@&=@ภ$SomeySnS|ySnS@syఐ;2get_string_of_fileySnSySnS@:@@@B@@@@@@B @@@@@B @@@@@@@ c@@ఐl#locySnSySnS@ @@&@@@(@&y@(LocationzSnSzSnS@)loc_startz SnSz SnS@@&@@&f@@@*@'@&LexingzSnSzSnS@(pos_cnumzSnSzSnS@@&b+@@BY@@@#\@+\@)@@ఐ#locz7SSz8SS@M@@&@@@0@.@(LocationzESSzFSS@'loc_endzJSSzKSS@@&İ@@&@@@2@/@&LexingzYSSzZSS@(pos_cnumz^SSz_SS@@&+@@B@@@!\@3\@1@@zjSnSzkSS@@@@@@uW@@@ @ภ$Nonezx TTzy TT@u@@@[@7@z~SCSO@@@A@zS.S8@@@ఠ#met{z"T"T0z"T"T3@zA@@+(t_method@@@<[@83zzzzzzzz@%@@ @@@ະ3)met_value@@@]+@@@Z@@@ 3+met_private &@@@[@@A@A&(j&)j@@+"P@3+met_virtual&@@@\@@B@A&2k&3k@@+,Q@@A&6i&7i@@+0O@)met_valuez$TDTRz$TDT[@&c(val_namez%T`Tpz%T`Tx@ఐ|-complete_namez%T`T{z%T`T@ @@u@@@GG@&k(val_infoz&TTz&TT@ఐ/(info_optz&TTz&TT@d@@&|&y@@@W@@@V[@Xb@&p(val_typez'TTz'TT@డ8*subst_type(Odoc_env{ 'TT{'TT@ {'TT{'TT@@8@@@:@@@i@@h@8@@@g@@f8@@@e@@d@@c@@ఐJ#env{0'TT{1'TT@/@@@@ఐ)real_type{='TT{>'TT@@@8@@@w\@|\@{@@; @@&@@@a\@u@&-val_recursive{S(TU{T(TU @ภm{Z(TU{[(TU@m@@@&@@@[@@&.val_parameters{h)UU({i)UU6@ภm{o)UU9{p)UU;@m@@@&Ϡ&@@@@@@[@@&ġ(val_code{*U>UN{*U>UV@ఐ$code{*U>UY{*U>U]@@@&ՠ&@@@@@@[@@&Ρ'val_loc{+U`Up{+U`Uw@ຠ%!(loc_impl{+U`U|{+U`U@ภ$Some{+U`U{+U`U@u_ఐ.#loc{+U`U{+U`U@ϰ@@,@@@[@[@[@/@@ @@%= @@@[@6@%7)loc_inter{+U`U{+U`U@ภ$None{+U`U{+U`U@v@@@%G%F@@@@@@[@P@@@{+U`Uz{+U`U@@' @@@[@X@@@{$TDT^{,UU@@,j@@@>[@`@Q+met_private{-UU{-UU@డzPP |-UU|-UU@P@@@7@@@[@@@@ @@P@@@@@@@@@ఐ ,private_flag|#-UU|$-UU@@@@@ภ(Asttypes|1-UU|2-UU@'Private|6-UU|7-UU@@;'PrivateH,private_flag@@@@@@@B@@AHe1EHe1L@@@HO@@@@9\@@@&@@@@@\@@+met_virtual|T.UV|U.UV@ภ c|[.UV|\.UV@ b@@@@@@[@@@@|d#T6TB|e/VV'@@@A@|g"T"T,@@ డz*@@5Jr@@@`]@k@@YE@@5S@@@F\@y]@^@@}4VV}4VV@@;S@D#@@ఐA#loc}4VV}4VV@@@*[@@@~@|9@(Location}4VV}4VW@'loc_end}4VW}4VW@@*Y@@*;@@@@}M@&Lexing}4VW }4VW@(pos_cnum}4VW}4VW@@*7+@@[@^@@ఐ!q~4VW~4VW@j@@aS@m@@:@@@Y@X@@[@+v@@@ w@@@ }@@@ @@@ n@@@ @@@M@j@@@Ġ)Parsetree~$6WW'~%6WW0@*Pcf_method~)6WW1~*6WW;@@h@ঠ#txt~96WW?~:6WWB@Jఠ%labelB~A6WWE~B6WWJ@~TA@@u@@@!3~C~C~C~C~C~C~C~C@^@@@@@~J6WW=~K6WWL@@@@@%[@#@@@" @@ఠ,private_flagC~]6WWN~^6WWZ@~pA@@@@@,@@Ġ)Parsetree~n6WW\~o6WWe@,Cfk_concrete~s6WWf~t6WWr@@d@~y6WWs~z6WWt@@f@@@16@@@e@@@2;@@@ @@P@@@3?@@~6WW<~6WWu@@@B@/@@@4J@@@~6WW&~6WWv@@@@@5P@@@@@6S@@@@ఠ-complete_name|~7WzW~7WzW@~A@@y@@@[@3~~~~~~~~@tm@n@oYR@S@T@@@డ{$Name&concat~7WzW~7WzW@ ~7WzW~7WzW@@,j@@@y@@@@@@y@@@@@y@@@@@@@+@@ఐ預2current_class_name~7WzW~7WzW@Ѱ@@t8@@ఐ%label~7WzW~7WzW@A@@ #@@@H@@7@@LI@A@~7WzW@@@@ఠ(info_opt}8WW8WW@A@@F?z@@@@@@[@3@gun@o@p@@@@ఠ,ele_comments~8WW 8WW@2A@@F?@@@@@@[@@@-8WW.8WW@@@(@@@!@ఐ?à5get_comments_in_class>8WW?8WX@?@@@F@@@@@@F@@@@@@F?@@@@@@@F?@@@@@@@@@@@@O@@ఐ_(last_posm8WXn8WX @I@@\@@ఐ#loc~8WX 8WX@@@, @@@@r@(Location8WX8WX@)loc_start8WX8WX"@@, @@+@@@@@&Lexing8WX#8WX)@(pos_cnum8WX*8WX2@@++@@GM@@@\@\@@@s @@@@@@\@@A@8WW@@@ఠ#exp9X6XF9X6XI@A@@zxW@@@[@3@@@@@@@@డ|8search_method_expression0Typedtree_search:XLX^:XLXn@ :XLXo:XLX@@@?@@@@@@M@@@@@.@@@@@ @@ @M@Mɰ@@@Q@@@@@@M@@@@@@@@@@@@@?@@ఐɠ&tt_cls:XLX:XLX@@@mL@@ఐ䠐%label%:XLX&:XLX@v@@ X@@@\@@I@@a]@Ġ)Not_found4;XX5;XX@Y@@@@C@@@k@@@డ~%raiseC;XXD;XX@U}@@@U}@@@ @@^@@@@@ภ'FailureX;XXY;XX@ Cడ"=method_not_found_in_typedtree-Odoc_messagesh;XXi;XX@ l;XXm;XX@@@"@@@x@@x"@@@x@@x@"tt"t@@"@@@@@@@@@@@@@@@@ఐ-complete_name;XX;XX@@@{|@@@%@@;XX;XX@@ @@@@)_@"@@;XX;XX@@U@@@^@@@k@@@@@:XLXZ @@@A@9X6XB @@@ఠ)real_type=Y Y=Y Y#@A@@]@@@R[@+3@@@@@@డ,(get_desc>Y&Y8>Y&Y@@@@@]@@@1@@0@@@/@@.3@@@@@ఐ(#exp>Y&YA>Y&YD@(@@y~@@@>@<@(exp_type>Y&YE>Y&YM@Q@@]D@@@:]@?]@=#@@1 @@E@@@8'@Ġ&Tarrow?YSYa?YSYg@@?YSYi?YSYj@@@@@G;@@?YSYl?YSYm@@]d@@@HC@ఠ!t*?YSYo+?YSYp@=A@@]r@@@IQ@@4?YSYq5?YSYr@@*@@@JY@@@):?YSYs@@|@@@K^@@@@@La@@@ఐ!tH@YwYI@YwY@@@@@3GGGGGGGG@(@@@@TAYYUAYY@@@@@Ny@@@@@O|@@@ఐ#expeCYYfCYY@@@y@@@V@T@)TypedtreesCYYtCYZ@(exp_typexCYZyCYZ @@Q@@@@@A}>Y&Y2@@@A@=Y Y@@@ఠ$codeEZZ(EZZ,@A@@|zI@@@[@m@@@n[@[3@@@@@@డ.נ.ٰFZ/Z>FZ/Z?@.ְ@@@.֠Ue@@@k[@i[@^@@@`@@_@@]@@డ.)keep_code+Odoc_globalFZ/ZJ@ FZ/ZKFZ/ZT@%@.&@@.$@@@g\@j\@h<@@0 @@&=@ภ$SomeGZZZjGZZZn@{ఐC%2get_string_of_fileGZZZpGZZZ@B@@@J"@@@w@@v@J@@@u@@tJ@@@s@@r@@qc@@ఐ#loc GZZZ GZZZ@ @@.@@@@y@(LocationGZZZGZZZ@)loc_startGZZZGZZZ@@.@@.y@@@@@&Lexing,GZZZ-GZZZ@(pos_cnum1GZZZ2GZZZ@@.u+@@Jl@@@\@\@@@ఐ#locJHZZKHZZ@`@@.@@@@@(LocationXHZZYHZZ@'loc_end]HZZ^HZZ@@.װ@@.@@@@@&LexinglHZZmHZZ@(pos_cnumqHZZrHZZ@@.+@@J@@@\@\@@@}GZZZo~HZZ@@@@@@}j@@@o@ภ$NoneJZZJZ[@}1@@@[@@FZ/Z;@@@A@EZZ$@@@ఠ#metL[[L[[!@A@@@@@[@3@#@@@@@ະ)met_valueN[2[@N[2[I@.S(val_nameN[2[NN[2[V@ఐ"-complete_nameN[2[YN[2[f@@@}@@@&@.[(val_infoO[i[yO[i[@ఐՠ(info_optO[i[O[i[@ @@.l.i@@@@@@[@A@.`(val_typeP[[P[[@డ@*subst_type(Odoc_envP[[P[[@ P[[P[[@@@@@@B@@@@@@@@@@@@@@@@@@@@o@@ఐ!:#env P[[!P[[@!@@!|@@ఐq)real_type-P[[.P[[@@@@@@@\@\@@@; @@.@@@\@@.-val_recursiveCQ[[DQ[[@ภutJQ[[KQ[[@us@@@.@@@[@@..val_parametersXR[\YR[\@ఐ%i@@@@@@@@@|@@@@@B@@@@@@@@@@@@@@@@ఐ!#envR[\4R[\7@!@@"3@@ఐ-complete_nameR[\8R[\E@@@~@@@(@@ఐ(info_optR[\FR[\N@@@;;@@@"@@@!\@.\@,@@ఐ#expR[\OR[\R@@@|_@@@\@1\@0/@@t @@/4/1@@@@@@\@9@/)(val_codeS\U\eS\U\m@ఐe$codeS\U\pS\U\t@H@@/:/9@@@@@@@?[@AT@/3'val_locT\w\T\w\@ຠ-(loc_impl T\w\ T\w\@ภ$SomeT\w\T\w\@}Ġఐ#locT\w\T\w\@4@@4@@@S[@Z[@^[@]@@ @@- @@@R[@Y@-)loc_inter7T\w\8T\w\@ภ$None?T\w\@T\w\@~@@@--@@@g@@@f[@m@@@LT\w\MT\w\@@/@@@J[@q@@@TN[2[LUU\\@@4@@@[@t@ +met_privateaV\\bV\\@డXlXnkV\\lV\\@Xk@@@@@@[@@@@ @@~Xl@@@}@@|@@{@@ఐ+,private_flagV\\V\\@ذ@@@@ภ(AsttypesV\\V\]@'PrivateV\]V\] @@e@ @@-\@@@@@ @@@y\@@ +met_virtualW]]W]]'@ภvްW]]*W]]/@v@@@ @@@[@@@@M[$[0X]2]A@@@A@L[[@@ డRd<Z@@@SP!@@Jf_e_Kf_e_@@R@@@S e@@@@@ @@@T i@@ @@@U l@@@ఐ%預$iter_g__`g__@%@@@%@@@%@@@%@@@%@@~@%@%@@}@@|@@{@@z@@y @@ఐ%)acc_inherg__g__@%~@@& @@ఐ%*acc_fieldsg__g__@%z@@& @@ఐ!#locg__g__@ @@5/@@@@ @(Locationg__g__@'loc_endg__g__@@5-@@5@@@@ @&Lexingg__g__@(pos_cnumg__g__@@5 +@@&/[@ @@ఐ!_!qg__g__@!>@@&5S@ @@~@@ @Ġ)Parsetreei__i__@-Pcf_extensioni__i__@@;-Pcf_extension @T)extension@@@9*@AF@G@AS6eprS7ep@@@T"@@i__i__@@@@@Z!@@@@@!F@@@[! @@!I@@@\!#@@@ ภ{>i_`i_` @{=@@@{=@@@!0@i_`@@!2@@@AEE @@@&l@&k@@|3@!:@@@!K@@!!@@A (CMC@@@&[A@@&@@@&@@@&@@@&@@@&@&@@@@@@@@@@S@&o@@@CCMCS/@@ఐ&נ$iterMk``Nk``!@&z@@@:Р'@@@@@@@@ @:۠'@@@@@@ @@ @Q@@@ @@@{&@@@@@@@@@(@:@@@@@@@@@@@@@3}}}}}}}}@&@@@@ภ{հk``"k``$@{@@@'S@8@@ภ{k``%k``'@{@@@;'@@@1S@?@@ఐ'(last_posk``(k``0@'w@@(#,@@ఐ'|%p_clsk``2k``7@'d@@(;@)Parsetreek``8k``A@,pcstr_fieldsk``Bk``N@@3,pcstr_fields(*@@@9$listK'*@@@9@@@9@@A3*pcstr_selfT'pattern@@@9@@@@AT-yyT-yy@@T@@AT".yyT#.yy@@T@k``1'@@|6'G@@@-@@@,S@FS@Cu@@(@@(8v@(@@(9'8@((A@(J@W(@Aqѐ Analysis of a [Parsetree.class_struture] and a [Typedtree.class_structure] to get a couple (inherited classes, class elements).  BNBR BB@@@@@@@(@((@(1Aఠ2analyse_class_kindn``n``@*A@@@I@@@J@Y@@@@@@J@]@@@AA@@@@@@J@a@@@Q@@@J@e@@@"'@@@J@i@@@f@@@ J@m@@@b&@MJ@q@@@ƠI@@@;J@6@@@:J@u@(*class_kind@@@J@v@@@@~@@}@@|@@{@@z@@y@@x3oooooooo@())@)@)@@@࣠@#envAn``n``@A@@g3@u@p@@Z@m@@^@j@@b@c@@f@`@@j@]@@n@Z@@r@Y@N@@wK@s@@tK@o@@pK@k@@lK@g@@hK@c@@dK@_@@`K@[@@\K@X@@@@@@:9@@2current_class_nameAn``n`a@ A@@3@DP@G@H@@@@@@+comment_optAn`an`a @ A@@3@@@@@@@@@(last_posAn`an`a@ A@@3@@@@@@@@@,p_class_exprAn`an`a#@  A@@3@@@@@@@@@,tt_class_expA n`a$ n`a0@ A@@3@@@@@@@@@%tableAn`a1n`a6@-A@@3@@@@@@@@@@ఐ=,p_class_expr2oa9aF3oa9aR@%@@300000000@$@@@@@)Parsetree>oa9aS?oa9a\@(pcl_descCoa9a]Doa9ae@@ ̰@@ @@@ @@ఐO,tt_class_expUoa9agVoa9as@7@@#@)Typedtree^oa9at_oa9a}@'cl_desccoa9a~doa9a@@/@@/@@@ 5@@koa9aEloa9a@@@*@ @@>@@Ġ)Parsetreepaapaa@*Pcl_constrpaapaa@@;*Pcl_constr!@@@9 @#x#loc)Longident!t@@@8@@@8Р@@@8@@@8@B@@H@AUrrUrr@@@V@ఠ#lidpaapaa@A@@'%@@@ @@@3@@@@@paapaa@@%@@@"@@@! @@@Jpaa@@!R@@@#@@ఠ1tt_class_exp_descpaapaa@A@@02@@@$!@@paapaa@@@@ @@%*@ @@!q@@@'@0G@@@(@@&6@@@@ఠ$nameqaaqaa@#A@@@@@+T@3@[T@U@V70@1@2@@@ఐ=1tt_class_exp_descraarab@ @@0n@@@3@@@@Ġ)Typedtree)sb b*sb b @)Tcl_ident.sb b!/sb b*@@07ఠ!p8sb b,9sb b-@K$A@@0<@@@#@@Bsb b.Csb b/@@0=0;@@@@@@/@@Nsb b0Osb b1@@0<~@@@@@@;@@@/Xsb b2@@0@@@@@@0@@@C@@@డ$Name)from_pathlsb b6msb b:@ psb b;qsb bD@@0@@@0@@@ @@_@@@@@3yyyyyyyy@wLE@F@G@@@@ఐS!psb bEsb bF@ @@0)@@@-W@/W@.@@* @@@@tbGbUtbGbV@@0@@@@@0@@@@@@డ$Name.from_longidentwccwcc@ wccwcc+@@@)Longident!t@@@ N@@ M@@@ L@@ K@OP y yPP y @@NR@@@@@@@4@@3@@@2@@1@@ఐ/#lidwcc,wcc/@ڰ@@U0@@@AW@MW@D@@@C@#txtwcc0wcc3@YO@@W@E@@I@@@@@Araa@@@A@qaa@@@ఠ¶ms{cc {cc@%A@@iXiV@@@6@@@5T@3@@@@@@ఐ,tt_class_exp$|cc%|cc@@@3""""""""@@@@)Typedtree.|cc/|cd@'cl_type3|cd4|cd @@1y@@1x@@@@Ġ%TypesF}ddG}dd$@*Cty_constrK}dd%L}dd/@@;*Cty_constri*class_type@@@ @$Path!t@@@ ΠQi@@@ @@@ Ϡ@@@ @C@@C@Ag|YYg|YZ@@@i@ఠ#_p2v}dd1w}dd4@&A@@$@@@(V@ఠ-type_exp_list}dd6}ddC@'A@@zi@@@*@@@)h@ఠ&_cltyp}ddE}ddK@(A@@J@@@+v@@@X}ddL@@1@@@,{@@1@@@-~@@@ఐ(-type_exp_listdddd@'@(@)@@3@B;@<@=5#@@@@@@dddd@@1@@@/@@2@@@0@@@ภdddd@@@@@@@A|cc@@@A@{cc@@@ภ#dddd@"@@@"zJ@g@@@i3@@@@@@@ภ,Class_constrddde @;,Class_constr@@@@,-,class_constr@@@@AB@D@A'vo'wo@@@,2]@ະ3(cco_name@@@"3!t@@@@@@ 3)cco_class "1"/@@@@@@A@A @A'j'j@@,PY@33cco_type_parameters$listK%Types)type_expr@@@@@@@@B @A'k'k<@@,eZ@@A'i'i@@,iX@(cco_name:ee*;ee2@డK/full_class_name(Odoc_envIee5Jee=@ Mee>NeeM@@@M@@@d@@d@"1!t@@@d@@d"7!t@@@d@@d@@d@Kz ' 'Kz ' ^@@MQ@$@@@M@@@~@@}@@@@|@@{@@@z@@y@@x@@ఐ #enveeNeeQ@@@l@@ఐ$nameeeReeV@@@|@@@@@S@@:@@@@)cco_classeYeheYeq@ภ$NoneeYeteYex@S@@@"@@@@@@S@@3cco_type_parameterse{ee{e@డC$List#mape{ee{e@ e{ee{e@@J@@@@Lh@@@S@@@@@@S@S@S@@@@@@K@@@@@K@@@@@@@@@డL*subst_type(Odoc_enve{e e{e@  e{e e{e@@L@@@N@@@@@@L@@@@@L@@@@@@@@@@ఐ#env+e{e,e{e@b@@M@@/e{e0e{e@@@L@@@@@L@@@@@Z@@ఐ=¶msEe{eFe{e@d@@K^q@@@T@T@o@@ @@5m@@@T@v@@@Xe eYee@@h@@@nS@~@@t@@@@@m@@dddeee@@@@ @@@@@W@q @@@@@@l@@Ġ)Parsetreeeeee@-Pcl_structureeeee@@;-Pcl_structure@-@@@8@AA@H@AYrrYrs @@@Z@ఠ1p_class_structureeeef@A@@-@@@53@p@@@@@#@@%+@@@6@@Ġ)Typedtreeefef@-Tcl_structureefef)@@;-Tcl_structure3@e@@@@AA@G@A{77|78 @@@@ఠ2tt_class_structureef*ef<@A@@e@@@:0@@@"@@4+@@@;4@@eeef=@@@9@ @@<=@ @@%j@@@>@4@@@@?@@=I@@@@ఠ,tt_class_sigffff@ )A@@lB/class_signature@@@T@3@le@f@g=6@7@8@@@ఐ ,tt_class_expffff@@@3@@@@)Typedtreeffff@'cl_type"ff#ff@@4h@@4g@@@ @Ġ%Types5fg6fg @-Cty_signature:fg ;fg@@;-Cty_signature@B@@@ @AA@C@Aj}ZZj}ZZ?@@@l@ఠ)class_sigOfgPfg!@b*A@@U@@@@@@@"@@4@@@D@@4@@@G@@@ఐ)class_sigdfg%efg.@@@@@l3cccccccc@f@@@@pg/g=qg/g>@@4@@@_@@4@@@b@@@డ%raiseg/gBg/gG@e@@@e@@@@@W@@@w@@ภ'Failureg/gIg/gP@0 =analyse_class_kind: no class signature for a class structure.g/gRg/g@@g/gQg/g@@0@@@)W@+W@*@@g/gHg/g@@e@@@#W@(@@2@@@@@Aff @@@A@ff @@@@ఠ1inherited_classesgggg@+A@@BG/@@@@@@T@93@@@@@@@ఠ.class_elementsgggg@,A@@BN/@@@@@@T@:@@gggg@@@(@@@=!@ఐ/7analyse_class_structuregggg@@@@P|@@@[@@Z@@@@Y@@X@/@@@W@@V@X@@@U@@T@YH@@@S@@R@/@@@Q@@P@/}@@@O@@N@@@L@B/t@@@I@@@H@B/o@@@K@@@J@@G@@F@@E@@D@@C@@B@@A@@@@@?v@@ఐӠ#envRggSgg@@@6@@ఐ2current_class_name_gh `gh@@@:@@ఐt,tt_class_siglhh,mhh8@@@/@@@U@U@@@ఐ(last_posh9hGh9hO@@@E@@ఐ,p_class_exprhPh^hPhj@@@O@)ParsetreehPhkhPht@'pcl_lochPhuhPh|@@'6@@>1@@@@@(LocationhPh}hPh@'loc_endhPhhPh@@>/&@@>@@@@@&LexinghPhhPh@(pos_cnumhPhhPh@@> :@@Y@@@U@U@@@ఐ@1p_class_structurehhhh@ڰ@@0B@@@U@U@@@ఐ$2tt_class_structurehhhh@@@0I@@@U@U@*@@ఐ%tablehhhh@Ѱ@@7@@@@@G@1@@U@@@A@gg @@@ภgii ii @f@@@fFJ@@@@3!!!!!!!!@Vha@b@cQJ@K@L@@@@ภ/Class_structure3ii4ii)@;/Class_structureG@0u@@@@@@#0p@@@@@@@B@@D@A+mPT+mP@@@0[@ఐ1inherited_classesVii+Wii<@/@@%0@@@@@@S@S@>@ఐ.class_elementslii>miiL@D@@20@@@@@@S@S@T@@H{iiM@@ @@@Y@@ii iiO@@@f@ @@b@v@@@ @@@@Ġ)ParsetreeiQiZiQic@'Pcl_funiQidiQik@@;'Pcl_fun@*)arg_label@@@8*#@@@8@@@8@@@8*@@@8@DB@H@A\ s%s'\ s%sh@@@]@ఠ&_labeliQimiQis@A@@&@@@P3@@@@ఠ/_expression_optiQiuiQi@A@@/#@@@R@@@Q@ఠ(_patterniQiiQi@A@@ @@@S!@ఠ-p_class_expr2iQiiQi@ A@@*@@@T/@@@diQi@@(@@@U4@@Ġ)Typedtree ii ii@'Tcl_funiiii@@;'Tcl_fun7@)arg_label@@@ڠ@@@۠`@!t@@@ޠ@@@@@@@@@ܠo@@@I@@@@EB@G@A8 88S8o@@@9@@EiiFii@@0@@@`|@ఠ#patQiiRii@dA@@@@@a@ఠ/_ident_exp_list_ii`ii@rA@@B@A@@@d@@@@e@@c@@@b@ఠ.tt_class_expr2zii{ii@A@@o@@@f@ఠ(_partialiiii@A@@J@@@g@@@ii@@7@@@h@@iQiYii@@@@ @@i@ @@)%@@@k@7@@@l@@j@@@@@ఠ)parameterjjjj@-A@@R@@@T@3@@@@@@@@@y@z@{sl@m@nYR@S@TLE@F@G@@@@ఠ1next_tt_class_expjjjj@.A@@p2@@@T@"@@jjjj@@@.@@@+@ఐ#patjjjj@+@@@@@3@<@@@)Typedtreejjjj@(pat_descjj jj@@{@@ @@@@@@U@@Ġ)Typedtree&jj'jk@(Tpat_var+jk,jk @@ఠ%ident5jk6jk@H/A@@@@@377777777@|@@@@@jkAjk@@@@@@@@ @@LjkMjk@@@@@@@@,Rjk@@OH@@@@@@@ @VO@@@@@@%@@డhkhmjjk7kjk8@hj@@@W@@@!V@@@@ @@hk@@@@@@@3xxxxxxxx@NG@H@I@@@@డ$Name*from_identjk!jk%@ jk&jk0@@.@@@.@@@@@@@@@@%@@ఐw%identjk1jk6@/@@E@@@#X@%X@$9@@' @@D:@@%*opt*jk:jk?@@jk9jk@@@SV@(I@@7@@hz@@@)W@O@ఐ].tt_class_expr2kkkk@ @@q/@@@.@,b@)Typedtreekkkk@'cl_desckkkk@@9G@@9C@@@-t@Ġ)Typedtreekkkk@'Tcl_letkkkk@@;'Tcl_let9 @(rec_flag@@@M~@@@@@@V@!t@@@젠@@@@@@@@@q@@@@DD@G@A8889@@@+@@7kk8kk@@1@@@:@ĠTBl-leCl-lg@Sঠ&vb_patMkkNkl@}ঠ(pat_descWklXkl @}5Ġ)Typedtreeaklbkl@(Tpat_varfklgkl @@ఠ"idpkl"qkl$@0A@@@@@b@@zkl%{kl&@@@@@d@@@c@@kl'kl(@@@@@e@@@+kl)@@@@@g@@@f@@@klkl+@@.@@@iY@h@'vb_exprl-lXl-l_@~ఠ#expl-l`l-lc@1A@@:@@@m4@@@kkl-ld@@~@@@oY@n<@@l-lhl-li@@"~@@@q@@@pH@@@ @@~@@@s@@@rP@@l-lkl-ll@@@@@@v@j@@@w@@u@@@te@ఠ.tt_class_expr3l-lnl-l|@2A@@r@@@@xs@@@l-l}@@:G@@@yx@@:J@@@z{@@@@ఠ$namellll@3A@@@@@Y@3@@@jc@d@e,%@&@'@@@డ[$Name*from_identll ll@ #ll$ll@@@@@@@@@@@@@@@&@@ఐˠ"id;ll<ll@.@@@@@Z@Z@:@@' @@>;@A@Gll @@@ఠ)new_paramRllSll@e4A@@U@@@Y@3VVVVVVVV@Q_X@Y@Z@@@ภ+Simple_namedllell@TpະT_'sn_nameplmqlm @ఐw$nameylmzlm@@@`@@@$@Th'sn_typemrmmrm@డT1*subst_type(Odoc_envmrmmrm@ mrmmrm@@T/@@@V@@@@@@T/@@@@@T*@@@@@@@R@@ఐ 8#envmrmmrm@ @@ _@@ఐ#expmrmmrm@@@W@@@@s@(exp_typemrmmrm@f@@Ta@@@Z@Z@@@I @@T@@@Z@@T'sn_textmm3mm:@డ2desc_from_info_opt.Odoc_parametermm=mmK@ mmLmm^@@Lq@@@NʠN@@@@@@@@@Lq@@@@@LpLo@@@@@@@@@@@@ఐ O+comment_opt"mm_#mmj@ 7@@ @@ఐ-$name/mmk0mmo@԰@@@@@@@?@@VV@@@@@@Z@@@@@lmAmm@@UH@@@Y@@@@@V@@@@A@Lll @@@ఐ)new_paramXmn Ymn@@@@@3WWWWWWWW@@@@@ఐ~.tt_class_expr3gmnhmn"@X@@@@kmnlmn#@@@@@@@(@@@. @@@@@@p@@n$n7n$n8@@;@@@| @@;@@@} @@@డ %raisennnn@l̰@@@l@@@ @@ @砠@@@Y@@@'@@ภ'Failurennnn@7 analyse_class_kind: strange casennnn@@nnnn@@7@@@Y@Y@D@@nnnn@@l@@@Y@L@@8@@UM@@@AkDkUno @@@@@@3@V@@@@o oo o@@ؠ@@@@@@@ @ߠ@@@@@@@@@@ఠ)new_paramowoowo@5A@@W5@@@W@r@ఐW:tt_param_info_from_patternoooo@O@@@W@@@@@@@@@@@@WyWv@@@~@@@}A@|@@{@>@@@z@@@y@@xWi@@@w@@v@@u@@t@@ఐ #env;oo<oo@ r@@@@డ2desc_from_info_opt.Odoc_parameterNooOop@ RopSop@@MȰ@@@P!P @@@@@@@@@M@@@@@MǠM@@@@@@@@@@3@@ఐ +comment_optyopzop"@ @@K@@@}oo~op#@@@M@@@@@MM@@@@@@@@Q@@ఐF#patp$p9p$p<@̰@@/@@@a@@@@b@A@owo@@@ఐ)new_parampQpcpQpl@@@@@V@3@@@@@ఐB.tt_class_expr2pQpnpQp|@@@V@@@pQpbpQp}@@@@ @@@,@@@@@Ajj @@@@@@@A@jj@@@@ఠ¶mspppp@6A@@J@@@@S@@|q`qh}q`q@@@B@ @@\@ @@0 @@@@>@@@@@h@@@@ఠ,applied_nameqqqq@8A@@@@@gT@>3@q@@XQ@R@SKD@E@F@@@ఐa.tt_class_expr2rrrr@@@w @@@C@A3@@@@)Typedtreerrrr@'cl_descrrrr@@?&@@?"@@@B@Ġ)Typedtreerrrr@)Tcl_identrrrr@@>ఠ!prrrr@9A@@>@@@L3@O@@@@rrrr@@>>@@@N@@@M @@rrrr@@>@@@P@@@O@@@0 rr@@?b@@@Q@@?e@@@R!@@@డ\$Name)from_path rr!rs@ $rs%rs @@>ð@@@>@@@\@@[@@@Z@@Y3--------@MF@G@H@@@@ఐT!p?rs @rs@ @@>@@@iW@kW@j@@* @@@@Ps2s@Qs2sA@@?@@@T@@?@@@U@@@ఐB-p_class_expr2cssdss@@@3F@@@p@n@)Parsetreeqssrss@(pcl_descvsswss@@0@@0@@@o@Ġ)Parsetreessst@*Pcl_constrstst@@ఠ#lidstst@:A@@  @@@y@@@x@@stst@@,@@@{@@@z@@@'st@@15@@@|@@18@@@}@@@డ$Name.from_longidenttftztft~@ tfttft@@@@@@@@@@@@@@@3@4D=@>@?@@@@ఐM#lidtfttft@@@W2@@@Y@Y@@@@@#txttfttft@hQ@@Y@%@@8@@^&@@tttt@@1@@@J@@1@@@M@@@డ>Y*object_end-Odoc_messagestttt@ tttt@@>W@@`@@@Ass@@-@@@A rr@@~@A@"qq @@@ఠ*param_exps-tt.tu@@;A@@ @@@-T@@@@T@3::::::::@@@@@@డ$List*filter_mapOtuPtu@ StuTtu@@@@!a@.@@0&optionL!b@.@@@0@@0@@0@H@@@/@@/D@@@/@@/@@/@FG@@EZ@1,@@@@@?J@@@(T@@?J@\@)T@@@T@@@6e@@@@@@@@/@@@@@rq@@@@@@@3@j@@@@@@@uu-uu.@@,{@@Ġ'Omitteduu0uu7@;'Omitted.arg_or_omitted!a@J!b@K@@@@@AA@B@A}6v6x}6v6@@@@Ġ'uu8uu:@&@@@@$unitF@@.T@T@@@@.@@[@@9@@@g@b@@@@@ภ$Noneuu>uuB@@@@@@@@@@ uCuS uCuT@@T@g@@Ġ#ArguCuVuCuY@;#ArgV@R@A@@B@A|6h6j|6h6u@@@@ఠ!e)uCuZ*uCu[@<A@@$D@@@@ఐ!euuuu@2@@@@33@T@@@)Typedtreeuuuu@(exp_typeuuuu@@n@@h@uuuu@@@O@@Lu@@KU@WU@Uo@@ఐࠐ*param_exps uuuu@y@@Z&c@@@IU@[U@YS@@u @@@A@uu @@@ఠ+params_code%uu&uu@8?A@@Z8fU@@@T@a@@@tT@\3////////@@@@@@డ$List#mapDuvEuv@ Huv Iuv @@Zr@@@@@@@T@d@@g+@@f@@e@Zo @@@c@@bZn6@@@`@@_@@^3````````@1@@@@࣠@!eAtv v uv v!@@A@@$D@@@@ఐ_2get_string_of_filev v%v v7@_M@@@f@@@@@@f@@@@@f@@@@@@@3@d,F@#@$@@@@ఐ9!ev8vJv8vK@@@Y@'exp_locv8vLv8vS@n @@K@@@@@"@(Locationv8vTv8v\@)loc_startv8v]v8vf@@KS@@K @@@@6@&Lexingv8vgv8vm@(pos_cnumv8vnv8vv@@K2@@g@@@W@W@L@@ఐ!evwvvwv@\@@_@'exp_locvwvvwv@o @@K@@@@k@(Locationvwv vwv@'loc_end vwvvwv@@K@@Ki@@@@@&Lexingvwvvwv@(pos_cnum!vwv"vwv@@Ke2@@gR@@@W@W@@@ @@@.v v/vwv@@@@@y @@xU@U@@@ఐ*param_expsBvvCvv@@@[[@@@vU@U@@@  @@#@A@Ouu @@@ภYvvZvv@@@@J@@@@3]]]]]]]]@/C<@=@>@@@@ภ+Class_applymvvnvw@;+Class_apply@=+class_apply@@@@AA@D@A8n8n@@@=\@3)capp_name@@@3!t@@@@@@ 3*capp_class 3='t_class@@@@@@A@A @A9eRT9eRx@@=U@3+capp_params~)type_expr@@@@@@@@B@A9%fy{9&fy@@=V@30capp_params_code,&stringQ@@@@@@@@C/@A96g97g@@=W@@A9:d<>9;d<Q@@=T@)capp_namewwww@డ]s/full_class_name(Odoc_envwwww$@ ww%ww4@@@@@_[@@@@@@@@@@@@@@@@@@@@ఐz#envww5ww8@0@@@@ఐl,applied_nameww9wwE@ǰ@@@@@@@7@@@@@@*capp_classwHwWwHwa@ภ$NonewHwdwHwh@@@@@@@@@@S@@+capp_params0wkwz1wkw@ఐ+param_types9wkw:wkw@@@@@@ @@@ S@@0capp_params_codeKwwLww@ఐ/+params_codeTwwUww@@@@@@@@@S@@@@awwbww@@@@@S@!@@@@@@@ @@mvvnww@@@@ @@"@'@@B@] @@@ @@ 9@W @@ @@Ġ)Parsetreewwww@'Pcl_letwwww@@;'Pcl_let@8{(rec_flag@@@9ʠk-value_binding@@@9@@@98@@@9@CD@H@Aj wLwNj wLw@@@k@@wwww@@@@@3@@@@@wwww@@! @@@@@@ @ఠ-p_class_expr2wwwx@A@@8@@@@@@Hwx@@6V@@@ @@Ġ)Typedtreewx wx@'Tcl_letwxwx@@ @wxwx@@ @@@:@@wx wx!@@ @@@@@@F@@wx#wx$@@ @ @@@@@@@@@@@@[@ఠ.tt_class_expr2wx&wx4@*A@@}n@@@i@@@@wx5@@Eu@@@n@@$ww%wx6@@@X@ @@w@ @@6@@@@E@@@@@@@@ఐ*2analyse_class_kindAxixsBxix@@@@)@@2@$@@1@@@0@@@/@@@.@ @@-@@@,@@@@+@@*@@)@@(@@'@@&@@%@@$3aaaaaaaa@3@@WP@Q@R@@@@ఐ#envuxxvxx@@@Y@@ఐ2current_class_namexxxx@@@]@@ఐ+comment_optxxxx@@@a,@@ఐ(last_posxxxx@@@a9@@ఐࠐ-p_class_expr2xxxx@B@@eT@ZH@@ఐ.tt_class_expr2xxxx@P@@kT@[W@@ఐ%tablexxxx@@@qd@@@@]e@@Ġ)Parsetreexxxy@.Pcl_constraintxyxy@@;.Pcl_constraintX@9@@@9l*class_type@@@9 @BE@H@Al,'xxl-'xy@@@l@ఠ-p_class_expr2xyxy"@ A@@9@@@@ఠ._p_class_type2 xy$ xy2@!A@@#@@@@@@6xy3@@7@@@@@Ġ)Typedtreey5y> y5yG@.Tcl_constraint$y5yH%y5yV@@Evఠ.tt_class_expr2.y5yX/y5yf@A"A@@~@@@@@8y5yh9y5yi@@EE@@@@@@ @@Dy5ykEy5yl@@EE@@@@@@@@Py5ynQy5yo@@EE@@@@@@$@@\y5yq]y5yr@@E@@@,@@@Cby5ys@@F@@@1@@gxxhy5yt@@@[@ @@:@ @@7@@@䠠@F@@@@@F@@@@@ఠ!lyxyyxy@AA@@-T@^3@]@@@@kd@e@f@@@@ఠ*class_kindyxyyxy@BA@@ T@_@@yxyyxy@@@@ @@b@ఐ2analyse_class_kindyxyyxy@/@@@@@r@@@q@@@p@@@o@@@n@@@m@{@@l@x@m@@k@@j@@i@@h@@g@@f@@e@@dK@@ఐe#envyyyy@@@X@@ఐ/2current_class_nameyyyy@@@e@@ఐ++comment_optyyyy@@@r@@ఐ'(last_pos yy yy@@@@@ఐ-p_class_expr2yyyy@@@U@@@ఐ.tt_class_expr2'yz(yz@@@U@@@ఐ%table6yz7yz@@@@@@@@@@@U@@A@Cyxy @@@ఠ/class_type_kind NzzOzz@aCA@@A/class_type_kind@@@T@3TTTTTTTT@@@@@@@@ภ*Class_typed{{e{{@;*Class_type@@@@A0class_type_alias@@@@AA@B@A<@  <@  2@@@Ak@ະ3(cta_name@@@7!t@@@@@@ 3)cta_class 77@@@@@@A@A @A= | g i= | g @@Ah@33cta_type_parametersxv)type_expr@@@@@@@@B@A=}  =}  @@Ai@@A=!{ R T="{ R f@@Ag@(cta_name{{{{@డE*object_end-Odoc_messages{{{{@ {{{{@@E@@E@@@T@o@C)cta_class{|{|@ภ$None{|{|@|@@@S7@@@@@@T@@O3cta_type_parameters{|"{|5@ภ9{|8{|:@8@@@^]@@@@@@T@@@@{{{|<@@@@@T@@@@@@@@@A@zz @@@ఐ!l|J|U|J|V@@@3@@@@@@@ภ0Class_constraint"|J|X#|J|h@;0Class_constraint6@@@@@@@@BC@D@A=p=p@@@Bg^@ఐ*class_kind;|J|j<|J|t@@@'@ఐ/class_type_kindF|J|vG|J|@/@@@@@S@S@9@@/Q|J|@@@@@>@@V|J|TW|J|@@@Ϡ@ @@G@W@@@ @@@@f||g||@@@9@@@ꠠ@H@@@@@?@@@9@@@@H@@@@@K@@@డ%raise||||@yð@@@y@@@@@@9@.@@T@@@f@@ภ'Failure||||@D 8analyse_class_kind: Parsetree and typedtree don't match.||||@@||||@@D@@@T@T@@@||||@@y@@@T@@@8@@S@@@Aoa9a? @@@g@\@@D3@@@@IA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@J@i@@dĐ q Analysis of a [Parsetree.class_expr] and a [Typedtree.class_expr] to get a pair (class parameters, class kind). m`Q`Um`Q`@@@@@@@n``F@@G@@ఠ-analyse_classà  }V}^  }V}k@DA@@@d@@@J@@@@@@@J@@@@pVpS@@@@@@J@@@@pK+class_infos="@@@J@@@@J@@@@20)type_expr@@@2@@@1J@@@@@@@J@@@@}9@J@@@@@@ J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@3oooooooo@@@@࣠@#envA }V}l }V}o@EA@@n3@} }V}Z' @@@@@  @@3current_module_nameA }V}p }V}@FA@@w3@!@@@@@@@@+comment_optA }V} }V}@GA@@}3@@@@@@@@@,p_class_declA }V} }V}@HA@@3@@@@@@@@@.tt_type_paramsA }V} }V}@IA@@}3@@@@@@@@@,tt_class_expA }V} }V}@JA@@{3@@@@@@@@@%tableA }V} }V}@KA@@3@@@@@@@@@@ఠ$name̠ }} }}@LA@@=#loc=@@@@@@R@3@ ,@#@$@@@ఐe,p_class_decl }} }}@M@@@)Parsetree! }}" }}@(pci_name& }}' }}@@3(pci_name!a@5@@@81/@@@8@@@8@@B3(pci_virt>$,virtual_flag@@@8@@@@Ap~oopoo@@qO@3*pci_paramsx@7v@@@8䠠@@>@(variance@@@8栠@>G+injectivity@@@8@@8@@8@@@8@@A,@Apoopoo@@qs@A3(pci_exprA>@@C2@Appp ppp@@qy @3'pci_locGp!t@@@8@@D>@Apppppp1@@q @3.pci_attributesS>@@@8@@EG@App2p7pp2pR@@q @@Apoopop@@q@rc@@~@A@ }}e@@@ఠ-complete_name͠ }} }~ @MA@@@@@R@3@@@@@@డ$Name&concat }~ }~@  }~ }~@@TY@@@@@@@@@@@@@@@@@@@@@)@@ఐA3current_module_name }~ }~.@)@@6@@ఐ堐$name }~/ }~3@B@@@@@(S@@@@N@#txt }~4 }~7@sK@@ S@ V@@G@@ZW@A@ }}@@@ఠ#locΠ ~;~E ~;~H@NA@@<@@@2R@-3@m{t@u@v@@@ఐf,p_class_decl ~;~K ~;~W@N@@@)Parsetree" ~;~X# ~;~a@(pci_expr' ~;~b( ~;~j@@@@J@J@3J@0&@)Parsetree7 ~;~k8 ~;~t@'pcl_loc< ~;~u= ~;~|@@<Ѱ'@@85@A@A ~;~A@@@ఠ)pos_startϠL~~M~~@_OA@@S@@@:R@43PPPPPPPP@KYR@S@T@@@ఐa#locc~~d~~@@@S@@@9@7@(Locationq~~r~~@)loc_startv~~w~~@@T@@S@@@;@8*@&Lexing~~~~@(pos_cnum~~~~@@Sΰ+@@<9@A@~~@@@ఠ/type_parametersР~~~~@PA@@PJ@<3@KYR@S@T@@@ఐ堐.tt_type_params~~~~@Ͱ@@^ @A@~~@@@ఠ$virtѠ~~~~@QA@@{@@@NR@=3@#-&@'@(@@@డE{͠{ϰ~~ @{̰@@@@@@RR@C@@D@ @@B{@@@A@@@@@?@@ఐ8,p_class_decl~~~ @ @@-@)Parsetree~ ~@(pci_virt~~@@@@(<@@ภ(Asttypes~! ~)@'Virtual ~*~1@@;'Virtualth,virtual_flag@@@@@@@B@@AtVktWk@@@tmX@@@@JS@W^@@5@@b_@A@!~~@@@ఠ&cltypeҠ,5?-5E@?RA@@e*class_type@@@lR@X333333333@x@@@@@డe0subst_class_type(Odoc_envH5HI5P@ L5QM5a@@@g@@@d@@d@e*class_type@@@d@@d/@@@d@@d@@d@eN 2 2eN 2 t@@gV@!@@@g@@@`@@_@@@@^@@]E@@@\@@[@@ZB@@ఐ#env5b5e@@@qO@@ఐ,tt_class_exp5f5r@@@5^@)Typedtree5s5|@'cl_type5}5@@L@@N@@@nS@uS@st@@e @@{u@A@5; @@@@ఠ*parametersӠ@SA@@'h@@@@@@R@w3@@@@@@@ఠ$kindԠ@TA@@l@@@R@x@@@@@$@@@{@ఐ٠2analyse_class_kind@j@@@hp@@@@@@@@@@@@`̠`@@@@@@@@@p@@@@@@@@@@@@@q@@@@@@@@@hg@@@@@@@@@@@@@@@@@@@@@@@@~@@}k@@ఐ #env?@@@@,x@@ఐ-complete_nameLM@A@@7@@@S@S@@@ఐ+comment_opt`a@@@7@@ఐ!)pos_startmn @ΰ@@q@@@S@S@@@ఐР,p_class_decl   @@@K@)Parsetree ! *@(pci_expr + 3@@*@@fJ@@@ఐˠ,tt_class_exp4>4J@@@B@@ఐǠ%tableKUKZ@@@D@@@@@@@@S@@A@ @@@ఠ+comment_optՠdndy@UA@@tΠt@@@@@@R@3@ @@@@@@@డsI.analyze_alerts(Odoc_sig||@ ||@@sG@@@uu@@@@@@@@@sG@@@@@uu@@@@@@@@@@3@@ఐm+comment_opt||@U@@@@@ఐk,p_class_decl||@S@@O@)Parsetree'|(|@.pci_attributes,|-|@@@@s@@@S@S@e@@T @@mf@A@9dj @@#3'cl_name @@@>n!t@@@@@@# 3'cl_info >lC$info@@@@@@A@A@ACs*,Cs*U@@H`@3'cl_type8*class_type@@@@@B@ACtVXCtVs@@Ha@32cl_type_parameters(@@@@@@@@C'@ACutvCut@@Hb@3*cl_virtual5$boolE@@@@@D3@ACvCv@@Hc@3'cl_kindA @@@A@E<@ADwDw@@Hd@3-cl_parametersJl.Odoc_parameter)parameter@@@@@@A@FO@ADxDx @@He@3&cl_loc]D"(location@@@A@G[@ADy  D y  6@@Hf@@AD#rD$r)@@H_@'cl_name@ఐ#-complete_name@@@@@@3@@@@@@z'cl_info   @ఐ +comment_opt  @@@@@@@@@Q@ @'cl_type!!)!!0@ఐ&cltype!!3!!9@"@@@@@(Q@)5@2cl_type_parameters#X`#Xr@ఐi/type_parameters#Xu#X@B@@hG@*cl_virtual "<D "<N@ఐ]$virt"<Q"<U@ݰ@@@@@9Q@:^@'cl_kind#$$$@ఐW$kind,$-$@X@@ @@@@Q@Au@-cl_parameters:%;%@ఐ*parametersC%D%@p@@@@@J@@@IQ@K@&cl_locU&V&@ຠTڡ(loc_impl`&a&@ภ$Someh&i&@ఐp#locr&s&@@@\=@@@`Q@gQ@kQ@j@@ @@T @@@_Q@f@T𡠐)loc_inter&&@ภ$None&&@9@@@UT@@@t@@@sQ@z@@@&&@@@@@WQ@~@@@ @@:@q!@@;@"@@<@#@@=t@$@@>@%@@?@ &@@@Z@o'@@A@(@@B@')@@C@3*A@J@1@A* ` Analysis of a [Parsetree.class_declaration] and a [Typedtree.class_expr] to return a [t_class]. || |}U@@@@@@@=@=<@QAఠ8tt_name_from_module_expr֠++@VA@@@C@@@J@@@@@@J@@@3@!]@@@@@࣠@(mod_exprA++@WA@@3@*@%@@ @@K@@*@+@@@@ @@ఐ(mod_expr , ,@5@@@@63        @'@@@)Typedtree,,@(mod_desc,,@@3(mod_desc@@@)0module_expr_desc@@@$@@@ 3'mod_loc ~!t@@@%@@A @A====@@,@3(mod_type/+module_type@@@&@@B@A====@@8@3'mod_env#!t@@@'@@C!@A====@@D@3.mod_attributes/@@@(@@D*@A == => @@M@@A====@@Q@Q?@@8@@@P@Ġ)Typedtreej-k- @*Tmod_idento- p-@@;*Tmod_identQ@@@C@=!t@@@3#loc6!t@@@5@@@4@B@@G@AD??E??@@@@ఠ!pؠ--@XA@@#@@@3@@@@@--@@%#@@@@@@ @@@B-@@@@@@@@@@@@@డ$Name)from_path- -$@ -%-.@@Pc@@@Pc@@@@@@@@@@3@A:@;@<@@@@ఐH!p-/-0@ @@P}@@@N@N@@@* @@ @Ġ)Typedtree.19.1B@/Tmod_constraint.1C.1R@@;/Tmod_constraint@j@@@=+module_type@@@>6module_type_constraint@@@?/module_coercion@@@@@DE@G@A@l@n@@@@@@ఠ%m_exp٠#.1T$.1Y@6YA@@@@@@@-.1[..1\@@*@@@$@@5.1^6.1_@@+@@@,@@=.1a>.1b@@-@@@4@@@MC.1c@@!@@@9@@$@@@<@@@ఐ8tt_name_from_module_exprS.1gT.1@_@@@@@}@@3UUUUUUUU@M=6@7@8@@@@ఐD%m_expg.1h.1@ @@N@@@@@@Ġ)Typedtree//@.Tmod_structure//@@;.Tmod_structure@)structure@@@6@AA@G@AJ??K??@@@@@//@@@@@@@@@@|@@@@@@Ġ)Typedtree00@,Tmod_functor00@@;,Tmod_functorB@1functor_parameter@@@7&@@@8@BB@G@Ay??z?@ @@@@@00@@@@@@@@8@@@@@@' @@@@@@@@@V@@@@@@Ġ)Typedtree11@*Tmod_apply11@@;*Tmod_applyz@X@@@9\@@@:@@@;@CC@G@A@ @ @ @H@@@@@11@@m@@@@@@r@@@@@ @@@@@@@.@@@@@@@@@@@@@@ @Ġ)Typedtree#2$2@/Tmod_apply_unit(2)2 @@;/Tmod_apply_unit@@@@<@AD@G@A@I@K@I@k@@@-@@92 :2 @@@@@0@@@@@@@@4@@4@@ @@ @@@8@Ġ)TypedtreeP3 Q3 @+Tmod_unpackU3 V3 *@@;+Tmod_unpack@@@@AW+module_type@@@B@BF@G@AAIAKAIAz@@@a@@m3 +n3 ,@@@@@d@@@@@@i@@@( @@U@@@m@@m@@@@Y@@@q@@@డP*struct_end-Odoc_messages40:40G@ 40H40R@@P@@@yF@P==P=T@@P@ @@@@@A,@@3@@@@A@@@@l@@kJ@i@@z Get a name from a module expression, or "struct ... end" if the module expression is not an ident of a constraint on an ident. ) *f@@@@@@@+'@@(@ՠ@ఠ;tt_get_included_module_listڠ77@ZA@@@B@@@J@n@@o`>/included_module@@@@@@J@p@@qJ@m3@@@@࣠@,tt_structureA77@[A@@ 3@/7E@@@@@  @@@ఠ!fݠ88@\A@@@`u9@@@L@@@@L@u@@v@|@@@L@{@@|L@}@@~L@w@@xL@t3@5AW@8@9@@@࣠@#accA.8/8@A]A@@*3--------@9687Cr@@@@@  @@$itemAB8C8@U^A@@-3AAAAAAAA@!A@@@@@@@@ఐ$itemV9W9@@@@@@A3UUUUUUUU@!@@@(str_desc`9a9 @ @@@@@ @Ġ)Typedtreer:s:%@,Tstr_includew:&x:2@@ఠ$incl:3:7@_A@@@@@.@@@@@=@@@2@@@@@@5@@@డ!@;;K;;L@a@@@a@@@@@@gE@@@@@a@@@@@@@3@V4-@.@/@@@@ఐ#acc;;G;;J@v@@@@ภٰ<OaAQbAؠະ3'im_name@@@-!t@@@(@@@ 3)im_module &optionL#mmt@@@*@@@)A@A@A8ocamldoc/odoc_module.mlig24g2S@@Y@3'im_info*Odoc_types$info@@@,@@@+A@B#@AhTVhT@@Z@@Af f1@@X@'im_name= =@ఐC8tt_name_from_module_expr==@@@@@@@@@@@@@@q@@ఐ$incl,=-=@}@@6@@@@(incl_mod6=7=@3(incl_mod6-include_infos!a@5@@@@@@ 3)incl_type ?)signature@@@@@A @ASSSS@@HY@3(incl_loc!t@@@@@B@ASSSS@@TZ@3/incl_attributes%@@@@@@@@C#@ASS SS@@b[@@A#SS$SS@@fX@D9@@@@@R@R@@@eA@@@@@R@@)im_module>>@ภ$None>>@1@@@@@@@@@Q@@'im_info?,?3@ภ$None?6?:@K@@@@@@@@@Q@@@@@=P@@R@@ภAQaA@A@"@@@Q@@@;;M@@hd@@@Q@@@@@@@BcmBcn@@@@@|@@@@@@@@ఐ#accCr~@@@@@@A9@@3@@@@A@L@Y@A@@డj$List)fold_leftEE@ EE@@L@@@@4K@^@@g@n@@@K@a@@f @@e@@d@@c@@@b@L@@@`@@_@@]@@\@@[3@$@@@@@@ఐ+!f)E*E@ @@@b]@@@@@@@@@@@@@@@@@@"@@ภFEGE@@@@xK@/@@ఐr,tt_structureWEXE@7@@>@)str_items^En@3)str_items@@@H@@@E@@@D@@@3(str_typeg)signature@@@F@@A @A-AA.AA@@p@3-str_final_env!t@@@G@@B@A9AA:AA@@|@@A=AA>AA@@@3@@L@@@zL@L@v@@@@w@^@@t@A@J@@A l I Get the list of included modules in a module structure of a typed tree. 6TX6T@@@@@@@@@ˠ@ఠ>replace_dummy_included_modulesIltIl@`A@@@.module_element@@@B@@@EJ@@@@@@@G@@@FJ@@@<@@@AJ@@@J@@@J@3@ @@@@@࣠@/module_elementsAIlIl@aA@@23@AIlpUGr@@@@@  @@0included_modulesAIlIl@bA@@53@!I@@@@@@@@Aఠ!fJJ@$cA@@@@ge@@@M@@@@M@@t]@@@ M@@@@M@@@M@@@M@A@@@EM@@@3::::::::@>Ju@A@B@@@@@ĠPKQK@@@@@43NNNNNNNN@H@C@@%@@N@@H@I@@@@@`KaK@@6@@cKdK@@@J@?@@@@@ภpLqL@@@@< @@Ġ~MM@Ġ7Element_included_moduleMM@;7Element_included_module@@@$@@@@@AB@J@A[)+[)W@@@uN@ఠ"imMM@dA@@@@@3@R@@@@@MM@@M@M@@ఠ!qM M!@eA@@@@@@@@@@M@@@ĠװM,M.@֠ఠ'im_replM$M+@fA@@-@ఠ$im_qM/M3@gA@@A@@@<@@@M#M4@@M@@@@MM5@@@0@ @@I@@@ภOO@ภ7Element_included_moduleN9FN9]@uະ53@@@O@@12/@@@@@@O@A)'im_infoN9mN9t@ఐ"im%N9w&N9y@@@@@U@@@ @ 3))))))))@ }@~@j@d@e`Y@Z@[@@@'im_info:N9z;N9@P@@QP@@@@@@O@ @@ఐ'im_replNN9`ON9g@@@ #@RN9^SN9@@@@@O@!+@@ZN9E[N9@@8O@0@ఐW!fhOiO@@@@V@@$8@@#A@@@ఐʠ!q}O~O@L@@aM@-T@@ఐ$im_qOO@X@@bM@.b@@OO@@zM@/g@@OO@@aj@@?@@bk@@ĠPP@Ġ7Element_included_modulePP@&ఠ"imPP@hA@@@@@3@j@@@@@PP@@M@@ఠ!qPP@iA@@2@@@@@@@@M@@@Ġ&PP@%@@@@M@$@@PP@@@@ @@-@@@ภQQ@ภ7Element_included_moduleQQ@qఐL"imQQ@K@L@M@@4@@@;O@=O@<3@^ JC@D@E@@@@QQ@@O@: @ఐT!qQQ@@@M@2@@@6O@?O@>@@ @@@@ĠI7R8R@Hఠ#ele@RAR@SjA@@ M@3@@@@@@@@@@@@ఠ!qMRNR@`kA@@@@@@@@@@7M@@@ఠ!l`RaR@slA@@8M@!@@gRhR@@@@ @@*@@@ภtS 0uS 2@ఐ>#ele~S ,S /@=@>@?@@>3}}}}}}}}@2J=6@7@8+$@%@&@@@ఐ!fS 4S 5@?@@@@@Hb@@G@@@ఐZ!qS 7S 8@#@@M@Q*@@ఐU!lS :S ;@0@@T6@@S 6S <@@M@R;@@S 3S =@@>@@C@@?@@AJ@@@@@@@@-@@,M@*x@@@J@@ఐŠ!fUGMUGN@@@@@'#@@@1@@@4@0@@@6@@@5@@3@@2U@@@0@@/@@@ఐ/module_elementsUGPUG_@@@J@@ఐ0included_modulesUGaUGq@а@@E@@UGO!@@@\@M@@DM@T@@G*@@E@R+@@F@5,A@iJ@X3@A This function takes a [module element list] of a module and replaces the "dummy" included modules with the ones found in typed tree structure of the module. .G/H,k@@@@@@@?@?>@UAఠ )filter_module_with_module_type_constraint<Z4@=Z4i@OmA@@@)(t_module@@@J@]@@@%Types+module_type@@@J@a@@b@@@nJ@c@@~@@}3YYYYYYYY@@@@@@࣠@!mAlZ4jmZ4k@qA@@,3kkkkkkkk@=@8@@^@3@@b)@@dK@_@@`K@Y@C@D .filter_module_type_with_module_type_constraint@p-t_module_type@@@*J@e@@f@I+module_type@@@J@i@@j@@@FJ@k@@lK@g@@hK@Z@d"dP@@nA 2filter_module_elements_with_module_type_constraint@@@@mL@@@@J@m@@n@ )signature@@@J@q@@r$listK@@@lJ@s@@tK@o@@pK@[@kaika@@oA 9filter_extension_constructors_with_module_type_constraint@/.Odoc_extension7t_extension_constructor@@@L@@@@J@u@@v@3J@y@@z$listK@@@J@{@@|K@w@@xK@\@fnf@@pA@@@@@@"mtAZ4lZ4n@#rA@@3@@@@@@@@@@ఐ!m([q})[q~@@@3&&&&&&&&@$@@@@@&m_kind2[q3[q@3&m_kind@@@W+module_kind@@@NA@E/3&m_name %!t@@@H@@@@A_|  `|  @@(k@3&m_type@@@IA@A@Ah}  i}  5@@1l@3&m_infozg$info@@@K@@@JA@B"@Ay~ 6 8z~ 6 `@@Bm@3.m_is_interface0$boolE@@@L@@C.@A a c a y@@Nn@3&m_file<&stringQ@@@M@@D:@A@ z |@ z @@Zo@H3%m_locH(location@@@OA@FF@AB  B  @@fq@3*m_top_depsTr!t@@@Q@@@PA@GV@AC  C  @@vr@3&m_coded,@@@S@@@RA@He@AD  D  @@s@3+m_code_intfsΠ;@@@U@@@TA@It@AE  E  @@@t@3+m_text_onlyR@@@V@@J~@AF A CF A V@@u@@AA  A  @@p@@@@@@@@ఐĠ"mt[q[q@@@@@@@@@@@@@Ġ-Module_struct\\@;-Module_struct@@@G@$4@@@9@@@8@A@@I@Arimri@@@b@ఠ!l\\@sA@@K@@@@@@@@@( @@@@@@@Ġ%Types\\@-Mty_signature#\$\@@;-Mty_signaturel+module_type@@@ @h@@@ @AA@D@A]G]I]G]e@@@u$@ఠ$lsig=\>\@PtA@@{@@@@@@'@@J@J@@@@b @@@>@ @@&@@@@@@@@@/@@@ ఐ!me]f]@Q@@$3cccccccc@?jc@d@e3,@-@.@@@&m_kindq]r]@?ภ-Module_structy]z]@ఐؠ 2filter_module_elements_with_module_type_constraint]]@ܰ@@@@@@@@@@@@(@@ఐ!l]]@1@@J@J@8@@ఐm$lsig]]"@@@@E@@]]#@@H@@8@@z@@@O@N@R@@@@@O@T@ఐ\!m^%/^%0@@@`@&m_type^%1^%7@ఐȠ"mt^%;^%=@@@p@@@J@r@v^%>@@t@@_?G_?H@@@@@@@@@@ @@@@@@@@@@@ภA_?L_?N@@@@@@@@A[qw@@3@@@@A@@@@@@@@@@@J@@@ᐠ This function removes the elements of the module which does not belong to the given module type, if the module type is expanded and the module has a "structure" kind. WtxY3@@@@@@@Z48!@}|@{~@@@@@@@@@@@3&&&&&&&&@@@@࣠@$mtypA7dQ8dU@JuA@@366666666@@@@@@@"mtAFdVGdX@YvA@@3EEEEEEEE@@@@@@@@@@ఐ*$mtyp^e[g_e[k@@@3\\\\\\\\@$@@@@@'mt_kindhe[lie[s@3'mt_kind@@@oV0module_type_kind@@@m@@@lA@E3'mt_name`!t@@@e@@@@AS  S  @@c}@3'mt_info$info@@@g@@@fA@A@AT  T  @@t~@3'mt_type,@@@i@@@hA@B'@AU  U  <@@@3/mt_is_interface:@@@@j@@C1@AV = ?V = V@@@@3'mt_fileD>@@@k@@D;@AW W YW W j@@A@N3&mt_locN(location@@@nA@FG@AY  Y  @@C@@AX k mX k @@B@k`@@ZY@@@)@@@(o@@ఐ"mte[ue[w@x@@D{@@@@@@K@@+@@Ġ$Somef}f}@Ġ2Module_type_structf}f}@;2Module_type_struct@@@d@5D@@@]@@@\@A@@E@A #M   $M  @@@x@ఠ!lf}f}@(wA@@L[@@@>@@@=@@@' @@@@@?@@@4@@@@@A@@@@@@Ġ%Types6f}7f}@-Mty_signature;f}<f}@@ఠ$lsigEf}Ff}@XxA@@@@@D@@@@@J@J@J@B@0@@d@@@4@@@E@@@@@@H@@@G@@@F@@@ ఐ?$mtypsgtg@)@@3qqqqqqqq@ha@b@c92@3@4@@@'mt_kindgg@ภ$Somegg@7ภ2Module_type_structgg@ఐ 2filter_module_elements_with_module_type_constraintgg"@@@@@@r@@@q@@p@@o1@@ఐ!lg#g$@:@@J@}@@@ఐ{$lsigg%g)@H@@@@@P@@gg*@@S@@gg+@@]@@@^O@eO@k]@@M @@g @@@]O@dd@h@@@@@O@j@ఐ$mtyph-7h-;@@@av@'mt_typeh-<h-C@\ภ$Someh-Gh-K@ఐ"mth-Lh-N@@@m@@@@pq@@@N@@$ @@mJ@@h-O@@p@@iPXiPY@@@@@@N@@@M@@@L@@@@@@Q@@@P@@@O@@@ภ}7iP]8iP_@|@@@@@@A;e[a@@377777777@@@@A@@@@@@@@@@@J@ @@ This function removes the elements of the module type which does not belong to the given module type, if the module type is expanded and the module type has a "structure" kind. UaPTVc@@@@@@@Xd!@@@@@@@@@@@@@3bbbbbbbb@ @@@࣠@!lAskatka@yA@@3rrrrrrrr@@@@@@@$lsigAkaka@zA@@3@@@@@@@@@@ఠ$predll@{A@@@@@@M@@@$boolE@@@{M@@@M@3@'3@*@+@@@࣠@#ele All@|A@@@@@@@ఠ!f mm@}A@@@.signature_item@@@O@@@@@@pO@@@O@3@5/D@&@'@@@ఐ5#elemm@ @@P3@@@@Ġ.Element_modulenn@;.Element_modules@@@@@A@@J@A Y Y@@@L@ఠ!m nn@!~A@@@@@3@5@@@@@@@x@@x@@@@Ġ%Types$p %p "@*Sig_module)p #*p -@@;*Sig_moduleX@@@ @%Ident!t@@@ /module_presence@@@ 2module_declaration@@@ *rec_status@@@ *visibility@@@ @EC@G@A_7_9_I_@@@.@ఠ%ident ^p /_p 4@qA@@0@@@3````````@]V@W@X@@@@kp 5lp 6@@2@@@ @ఠ"md wp 7xp 9@A@@:@@@@@p :p ;@@<@@@!@@p <p =@@>@@@)@@@kp >@@+@@@@ఠ"n1 qBXqBZ@A@@@@@T@ 3@@LE@F@G4-@.@/@@@డ$Name&simpleqB]qBa@ qBbqBh@@@@@@@@@@@@@@NXOX@@MB@@@@@@@@@@@@@@3@@ఐԠ!mqBiqBj@}@@@@@$@"G@&m_nameqBkqBq@@@@@@U@%U@#U@@D @@YV@A@qBT @ఠ"n2 rrrr@A@@&stringQ@@@1T@ l@డ%Ident$name%Identrrrr@ "rr#rr@@@%Ident!t@@@!@@!)@@@!@@!@0typing/ident.mlikRRkRg@@ I@@@@@@@*@@)9@@@(@@'@@ఐ%identOrrPrr@@@,@@@3U@5U@4@@< @@Q@A@[rr @@డgiftgt@f@@@S@@@JT@<@@=@ @@;g@@@:@@9@@83tttttttt@@@~w@x@y@@@@ఐ"n1tt@@@@@ఐ"n2tt@@@+T@M!@@@@@@@G%@ĠMuu@M@@@@@@@Q4@@@@@R7@@@ ఐ )filter_module_with_module_type_constraintuu!@H@@@~@@^@w@@]m@@\@@[M@@ఐ !mu"u#@k@@W@i\@@ఐj"mdu$u&@<@@@@@m@kp@'md_typeu'u.@3'md_type@@@ @@@ @@@ 3-md_attributes *attributes@@@ @@A @Ad``e``@@C3@3&md_loc!t@@@ @@B@Ap``q``@@O4@3&md_uid!!t@@@ @@C @A{``|``@@Z5@@A````@@^2@?2@@W@l@@h5@@@ภN0(u0)u4@N/@@@Q@@@q@t@@T@Ġb8v5J9v5O@a@@@@,@@@V@@/@@@W@@@ภpFv5SGv5X@o@@@n@@@AJsKwYl@@q@S@@r@@Qxm}Rxm~@@@@@ภXxmYxm@@@@@@AA ]o@@@_o`xm@@3\\\\\\\\@@@@Ġ3Element_module_typelymy@;3Element_module_type @@@@@AA@J@A Z Z(@@@WM@ఠ"mt yy@A@@@@@3@@@@@@@@@@@@@@Ġ%Types{{@+Sig_modtype{{@@;+Sig_modtyper@o!t@@@ 3modtype_declaration@@@ a@@@ @CD@G@A____@@@/@ఠ%ident {{@A@@ @@@3@JC@D@E@@@ঠ%Types{{@(mtd_type{{@@3(mtd_type4@@@ "#@@@ @@@ @@@3.mtd_attributes*attributes@@@ @@A @ATaUaYUaUa~@@37@3'mtd_loc!t@@@ @@B@A`aaaaa@@?8@3'mtd_uid&!t@@@ !@@C @Akaalaa@@J9@@Aoaa!paa>@@N6@Ġ$Some{{@Šఠ!t {{@1A@@@@@a@@@@@G@@@@@@i@@@.{/{@@@@@T@q@@8{9{@@@@@y@@@>{@@k{@@@@ఠ"n1 I|  J| "@\A@@3@@@T@3MMMMMMMM@@@<5@6@7@@@డ$Name&simpled| %e| )@ h| *i| 0@@@@@T@@@@@W@@@@@$@@ఐ"mt| 1| 3@@@@@@@8@'mt_name| 4| ;@@@y@@@U@U@F@@5 @@JG@A@|  @ఠ"n2 }<R}<T@A@@@@@ T@Z@డ$name%Ident}<W}<\@ }<]}<a@@@@@@@@@@@@@@@y@@ఐ%ident}<b}<g@@@@@@U@U@@@' @@7@A@}<N @@డe@@@@@@@%T@@@@ @@@@@@@@@3@@@d]@^@_@@@@ఐŠ"n1@@@@@ఐx"n2@@@+T@(!@@@@@@@"%@ĠP5-.@P4@@@@!@@@,4@@$@@@-7@@@ ఐ .filter_module_type_with_module_type_constraintAB@ @@@ @@9@ @@8 @@7@@6M@@ఐ֠"mtVW@@@ W@D\@@ఐG!tef@@@ W@Ek@@*@@ l@ภPxpq@Pw@@@@@@Iw@6@@x@Ġ@@@@@t@@@1@@w@@@2@@@ภ@@@@@@@A~k} 3@@@@@C@@4D4E@@@@@ภʰ4I4N@@@@@@A z@@@z4O@@3@@@@Ġ-Element_valuePZPg@;-Element_value -@*Odoc_value't_value@@@@AE@J@A^^@@@Q@ఠ!v PhPi@A@@@@@3@@@@@@"@@7@@7@@@@Ġ%Types@)Sig_value@@;)Sig_value@!t@@@ W@@@ @@@ @C@@G@Aa^l^pb^l^@@@@+@ఠ%ident  @A@@@@@3        @0HA@B@C@@@@@@y@@@ @@@@@@@@@@@#@@P@@@@ఠ"n1 ./@AA@@@@@T@322222222@)5.@/@0@@@డ$Name&simpleGH@ KL@@@@@7@@@@@:@@@@@"@@ఐ!vef@V@@p@@@@6@(val_nameqr@l @@l @@@@@@1@@DA@A@y@ఠ"n2 @A@@@@@T@T@డ|$name%Ident@  @@z@@@z@@@@@@@@@@s@@ఐ%ident @}@@@@@U@U@@@' @@7@A@ @@డBʠ̰)*@ɰ@@@@@@S@@@@ @@@@@@@@@3@@@b[@\@]@@@@ఐ"n1&(@@@@@ఐv"n2+-@@@+S@!@@@@#T@$@@@&@@.>.?@@3@@@ภ6 .C .H@5@@@4@@A mz@@@my.I@@G3@@@@Ġ,Element_type JT!J`@;,Element_type@)Odoc_type&t_type@@@"@AH@J@AGaLNHaLp@@@T@ఠ!t 9Ja:Jb@LA@@@@@3;;;;;;;;@`@@@@@"@@@@@@@@Ġ%TypesO}P}@(Sig_typeT}U}@@;(Sig_type+@(!t@@@ @@@ @@@ @@@ @DA@G@A^^^^@@@,@ఠ%ident x}y}@A@@"@@@3zzzzzzzz@LE@F@G@@@@}}@@@@@ @@}}@@H@@@@@}}@@J@@@@@@L}@@@@@@ఠ"n1 @A@@@@@T@3@1=6@7@8@@@డ$Name&simple@  @@ @@@@@@@@@@@@@"@@ఐ!t@^@@)Odoc_type&t_type@@@@;@'ty_name@3'ty_name@@@$Name!t@@@@@@# 3'ty_info &optionL*Odoc_types$info@@@@@@A@A@A6ocamldoc/odoc_type.mliC R TC R }@@,b@3-ty_parameters#$listK@%Types)type_expr@@@Ǡ@ (Variance!t@@@@@@@@@@B6@A$D ~ %D ~ @@Oc@3'ty_kindFV)type_kind@@@@@CA@A/E  0E  @@Zd@3*ty_privateQa,private_flag@@@@@DL@A:F  ;F  @@ee@3+ty_manifest\Op-type_manifest@@@@@@@@E\@AJG  KG  @@uf@3&ty_loclY(location@@@A@Fh@AVH  WH  <@@g@3'ty_codexk&stringQ@@@@@@A@Gy@AgI = ?hI = _@@h@@AkB > @lB > Q@@a@@@@@@@@@@@A@ƒ@ఠ"n2 Œ.0@ŸA@@@@@1T@@డ$name%Ident¢3£8@ ¦9§=@@@@@@@@*@@)@@@(@@'@@ఐF%ident¾>¿C@@@@@@3U@5U@4@@' @@7@A@* @@డLԠְG\G]@Ӱ@@@@@@IS@;@@<@ @@:@@@9@@8@@73@9G@@A@Bb[@\@]@@@@ఐO"n1GYG[@@@@@ఐv"n2G^G`@@@+S@L!@@@@-T@F$@@@0\@@aras@@=@@@ภ@awa|@?@@@>@@A ft@@@fsa}@@Q3@@@@Ġ6Element_type_extension*~+~@;6Element_type_extension@.Odoc_extension0t_type_extension@@@ @AF@J@AQ_R_@@@R@ఠ"te C~D~@VA@@@@@3EEEEEEEE@j@@@@@"@@@@@@@@ఠ!l VW@iA@@ aJ@3VVVVVVVV@|@@@@@ఐ 9filter_extension_constructors_with_module_type_constraintgh@ @@@ @@@ {@@ y@@@@@@ఐ;"te~@#@@ 0t_type_extension@@@@-@/te_constructorsÌÍ#@3/te_constructors @@@   @@@@@@A@D3'te_info &optionL*Odoc_types$info@@@@@@A@@@A;ocamldoc/odoc_extension.mlidfhdf@@ Q@3,te_type_name# $Name!t@@@@@A @Aee@@ R@32te_type_parameters0 Š%Types)type_expr@@@@@@@@B3@A!f"f@@ S@3*te_privateC ,private_flag@@@@@C>@A,g-g@@ T@N3&te_locN;(location@@@A@EJ@A8i/19i/V@@ V@3'te_codeZM&stringQ@@@ @@@ A@F[@AIjWYJjWy@@ W@@AMhNh.@@U@q@@J@J@@@ఐ $lsig $ (@ _@@J@@@@@A@@@ ఐ٠"te8F8H@@@@@@3@@@@@@/te_constructors)8I*8X@ఐܠ!l28\38]@@@@@@?@@@R@@డ¾"<>F_rG_t@@!a@@@ @@@F@@@@@@@)%notequalBA@@@@~QQ~Q@@#R@@@@nQ@@@@@@@@@@@@@N@@ఐ$!lz_p{_q@X@@#[@@ภϰą_uĆ_w@@@@J@h@@@@>@@@R@n@࣠@z !A@Ę_ę_@@ x@@@@ภUġ_Ģ_@U@@@@@@@Ĩ_}ĩ_@@ O@@࣠@ "A@ĵĶ@@ @@@@ภľĿ@@@@@@@@@@ O@@_m@@!@@@"@@@ r@Ġ1Element_exception@;1Element_exceptionP@.Odoc_exception+t_exception@@@!@AG@J@A``K@@@S@ఠ!e @A@@@@@3@ @@@@@"@@ Z@@ Z@@@@Ġ%Types@*Sig_typext  @@;*Sig_typext @ !t@@@ \5extension_constructor@@@ b*ext_status@@@  @@@ @DB@G@A^^^_6@@@k-@ఠ%ident #3 4@FA@@&@@@355555555@ [PI@J@K@@@@@A@@*@@@ @@HI@@,@@@@@PQ@@ @@@@@@PV@@ @@@@ఠ"n1 $a1b3@tA@@K@@@T@3eeeeeeee@1=6@7@8@@@డ¶$Name&simplez6{:@ ~;A@@ Ű@@@j@@@@@m@@@@@"@@ఐ!eŘBřC@^@@.Odoc_exception+t_exception@@@@;@'ex_nameũDŪK@3'ex_name@@@.$Name!t@@@#@@@ 3'ex_info &optionL*Odoc_types$info@@@%@@@$A@A@A;ocamldoc/odoc_exception.mli^^@@,F@3'ex_args#)Odoc_type0constructor_args@@@&@@B!@A__@@:G@3&ex_ret1$%Types)type_expr@@@(@@@'@@C4@A"`#`7@@MI@3(ex_aliasD7X/exception_alias@@@*@@@)@@DD@A2a8:3a8\@@]J@3&ex_locTA(location@@@+A@EP@A>b]_?b]@@iK@3'ex_code`S&stringQ@@@-@@@,A@Fa@AOcPc@@zL@@AS]T]@@~E@w@@q@@@@@{@@@A@&-}@ఠ"n2 %/Lb0Ld@BA@@ ,@@@T@@డ )$name%IdentELgFLl@ ILmJLq@@ '@@@ '@@@{@@z K@@@y@@x@@ఐ.%identaLrbLw@@@ >@@@U@U@@@' @@7@A@mL^ @@డwyv{w{@v@@@c@@@S@@@@ @@w@@@@@@@3ƄƄƄƄƄƄƄƄ@!/(@)@*b[@\@]@@@@ఐ7"n1Ƙ{ƙ{@@@@@ఐv"n2ƥ{Ʀ{@@@+S@!@@@@ T@$@@@ D@@ƲƳ@@ z@@@ภƹƺ@@@@ @@A &ƾ@@@@@ 3ƽƽƽƽƽƽƽƽ@@@@Ġ-Element_class@;-Element_classF@*Odoc_class't_class@@@@AC@J@A\XZ\X@@@O@ఠ!c @A@@@@@3@ @@@@@"@@ P@@ P@@@@Ġ%Types@)Sig_class@@;)Sig_class @ !t@@@ R1class_declaration@@@  @@@  @@@ @DE@G@A___`@@@_0@ఠ%ident ''( @:A@@$@@@3))))))))@ ONG@H@I@@@@4 5 @@(@@@ @@< =@@ @@@@@DE@@ @@@@@@NJ@@ w@@@@ఠ"n1 (U,V.@hA@@?@@@T@3YYYYYYYY@1=6@7@8@@@డĪ$Name&simplen1o5@ r6s<@@ @@@^@@@@@a@@@@@"@@ఐ!cnj=Ǎ>@^@@'@@@@6@'cl_nameǘ?ǙF@\@@X@@@@@@1@@DA@A@Ǡ(@ఠ"n2 )ǩG]ǪG_@ǼA@@ @@@+T@T@డ $name%IdentǿGbGg@ GhGl@@ @@@ @@@$@@# @@@"@@!s@@ఐ%identGmGr@}@@ @@@-U@/U@.@@' @@7@A@GY @@డivv@@@@@@@CS@5@@6@ @@4@@@3@@2@@13@@@b[@\@]@@@@ఐ"n1vv@@@@@ఐv"n2v v@@@+S@F!@@@@ JT@@$@@@ M@@,-@@ Z@@@ภ]34@\@@@ [@@A *8@@@:;@@ n377777777@@@@Ġ2Element_class_typeGH@;2Element_class_type@z,t_class_type@@@@AD@J@Al]m]@@@5P@ఠ"ct ^_@qA@@@@@ v@@@@@  w@@  w@@@@Ġ%Typesst@.Sig_class_typexy @@;.Sig_class_type O@ L!t@@@ 6class_type_declaration@@@  D@@@  B@@@ @DF@G@A````m@@@1@ఠ%ident +Ȟ ȟ@ȱA@@$@@@3ȠȠȠȠȠȠȠȠ@ MF@G@H@@@@ȫȬ@@(@@@ @@ȳȴ@@ n@@@@@Ȼȼ@@ p@@@@@@N@@ @@@@ఠ"n1 ,24@A@@ö@@@T@3@1=6@7@8@@@డ!$Name&simple7;@ <B@@ 0@@@@@@@@@@@@@"@@ఐ"ctCE@^@@gA,t_class_type@@@@8@(clt_nameFN@3(clt_name @@@]C!t@@@@@@ 3(clt_info ]Ab$info@@@ @@@A@A@AbC ] _bC ] @@gcm@3(clt_type; *class_type@@@ @@B@AbD  bD  @@gon@33clt_type_parameters(;;)type_expr@@@ @@@ @@C+@AbE  bE  @@go@3+clt_virtual9@@@ @@D5@AbF  bF  @@gp@3(clt_kindC&@@@A@E>@AbG  bG  @@gq@3'clt_locLb(location@@@A@FJ@AbH  bH  ;@@gr@@AbB H JbB H \@@gl@m^@@X@@@@@b@@@A@u.d@ఠ"n2 -~OeOg@ɑA@@ {@@@T@@డ x$name%IdentɔOjɕOo@ ɘOpəOt@@ v@@@ v@@@@@ @@@@@@@ఐ%identɰOuɱOz@۰@@ @@@U@U@@@' @@7@A@ɼOa @@డ>ƠȰ~~@Ű@@@IJ@@@S@@@@ @@@@@@@@@3@ @ @b[@\@]@@@@ఐ"n1~~@@@@@ఐv"n2~~@@@+S@!@@@@T@$@@@"(@@@@/^@@@ภ2 @1@@@0f@@A . @@@@@C3        @l@@@Ġ6Element_module_comment@;6Element_module_comment@/$text@@@#@AI@J@AAbqsBbq@@@ U@@/0@@@@@E@@@@@F@@F@@@࣠@ /A@=>@@kP@@@@ภ[NFG@[M@@@o@@@I]@M@@_@Ġ7Element_included_moduleXY @Ѡ@] ^ @@@@@s@@@ @@t@@t@@@࣠@M 0A@kl@@~@@@@ภ[|tu@[{@@@@@@O@{@@@@@A}m @@@A@m @@డ$List&existsʍ(0ʎ(4@ ʑ(5ʒ(;@@@@!a@-@@0@@@0@@0@@0@@@@0@@0@@@0@@0@@0@|$$}$$@@{e@)$@@@@@@N@i@@m#@@@l@@k@@j@"@@@h@@g)@@@f@@e@@d3@@@ @@@@ఐ!f(<(=@ @@@@@@@@@@@@@@@ఐw$lsig(>(B@J@@5'@@m@@T(@|@@U@BA@cM@R@A@l @@డɂ$List&filter LRLV@ LWL]@@@@!a@-{@@0{@@@0@@0@@0@u@@@0@@0@@@0@@0@@0@^-)-)^-)-X@@o@*%@@@@@@@@@@@@@@@@@@@@@@@@@@3IIIIIIII@@@@@@@ఐƠ$pred[L^\Lb@ @@@@@@@@@@@@@@@ఐ!lrLcsLd@@@'@@i@@J@*@z@@@A@@@@@@@@@@@J@ @@@˅kae@@@@@@@@@@@@@3ˏˏˏˏˏˏˏˏ@6@@@࣠@!l 1Aˠfˡf@˳A@@3˟˟˟˟˟˟˟˟@4@@@@@@$lsig 2A˯f˰f@A@@3ˮˮˮˮˮˮˮˮ@D@@@@@@@@@ఠ$pred 3@A@@@@@@)M@@@-@@@M@@@M@3@$0@'@(@@@࣠@"xt 4A@A@@@@@@డl$List&exists@ @@j@@@@3@C@N@@@l@@@@@@@@k@@@@@r@@@@@@@3@F@R@7@8@@@@@Ġ%Types./@*Sig_typext34 @@(ఠ%ident 5= >@PA@@0@@@ )@@GH@@1@@@ 1@@OP@@3@@@ 9@@WX@@ @@@ A@@@/]@@WC@@@@ఠ"n1 6h 4i 6@{A@@R@@@"R@3llllllll@W:3@4@5@@@డɽ$Name&simplé 9̂ =@ ̅ >̆ D@@̰@@@q@@@@@t@@@@@"@@ఐ"xt̟ E̠ G@@@1@'xt_name̦ Ḩ O@3'xt_name@@@!t@@@@@@ 3'xt_args )Odoc_type0constructor_args@@@@@A @A \_a \_@@J@3&xt_ret & )type_expr@@@@@@@@B@A "] #]@@L@31xt_type_extension* Q@@@@@C%@A +^ ,^@@M@3(xt_alias3 @/extension_alias@@@@@@@@D5@A ;_ <_@@N@3&xt_locC J(location@@@A@EA@A G` H`@@ O@3'xt_textO \ Z$info@@@@@@A@FR@A Xa! YaJ@@P@@A \[KM ][K^@@I@nf@@`@@@(@@j@@@A@ 0l@ఠ"n2 7PdPf@.A@@@@@S@@S@?@@' @@7@A@YP` @@డceb}c}@b@@@O@@@TQ@F@@G@ @@Ec@@@D@@C@@B3pppppppp@ @@b[@\@]@@@@ఐ"n1̈́}ͅ}@@@@@ఐv"n2͑}͒}@@@+Q@W!@@@@@@@XR@Q'@ @@@@@/@@ͤͥ@@@@@ภհͫͬ@@@@@@AƔ 8Ͱ@@@Ͳͳ@@@@@@@@@@O@O@3ͺͺͺͺͺͺͺͺ@@@@@ఐ$lsig@@@@@@@@A@ M@@A@@@డU$List&filter@ @@Ӱ@@@@ @@@@@@@@@@C@@@@@Π@@@@@@@3@*C<@=@>@@@@ఐJ$pred  @ @@@+@@@@@p@@@@@@@ఐ!l#$@p@@E'@@G@@.J@*@X@@T@A@@P@@@>@@<@@@@J@@@@6fj@@@ڠAఠ1analyse_structure 9C@LD@]@VA@@@@@@mJ@@@\@:@@@J@@@[@@@@J@@@Z@@@@֠J@@@Y@)structure@@@J@ @@X@ @@@J@ @@WǠ@@@J@@@@J@@@V@@U@@T@@S@@R@@Q3΅΅΅΅΅΅΅΅@@@@࣠@#env @a@@@%J@A@@B@J@E@@F@+module_expr@@@0J@I@@J@@@@J@M@@N[@@@J@O@@PK@K@@LK@G@@HK@C@@DK@?@@@K@;@@A@v@~@A@@j3@v@@@@@@@@)pos_limit ?A@@@A@@r3@~@@@@@@@@)parsetree @A@@@A@@z3@@@@@@@@@)typedtree AA@@@ A@@3@@@@@@@@@@@ఠ%table B @ A@@@@@@@@@@@Q@3@&2@)@*@@@@ఠ,table_values C*+@=A@@@@@@@@@@<@@@@@@@@Q@&@@FG@@@;@ @@/@డh&tables0Typedtree_search[\@ _`@@@=f@@@@@@@@@c_@@@`@@@@@@@TR@@@@L@@@@P@@@@@@@@@@@@@@:5@@@o2@@@@@@@@@@@@ڠ@@@@@@٠@@@@ݠ@}@@@ߠ@@@@@@@@@@@@@@@ఐޠ)typedtree@@@Z@)str_items@{ @@Ƶx@@@@@@R@R@@@@@@ܠ@@@R@@A@@@Aఠ$iter D@A@@@9Q@@@ @|@@@]Q@@@@Z'@@@Q@8@@@7Q@@@@@@VQ@@@@@@@3@@@@@@@@࣠@#env EA34@FA@@4322222222@B@=@@@=@@@:@@/@@R@@@R@@@R@@N@O@@@@@@(last_pos FAVW@iA@@Q3UUUUUUUU@$0Z@'@(@@@@@@Ġðf%g'@ï@@@@W3dddddddd@c@@@@@@@@ఠ!s Iv+;w+<@щA@@@@@TV@@3zzzzzzzz@@@@ఐƠ2get_string_of_fileщ+?ъ+Q@S@@@@@@H@@G@@@@F@@E@@@D@@C@@B@@ఐT(last_posѧ+RѨ+Z@>@@+@@ఐ㠐)pos_limitѴ+[ѵ+d@˰@@Q8@@/@@<9@A@ѹ+7@@@@@hyhz@@@@@{V@\3@c[T@U@V@@@@ఠ(ele_coms Jh|h@A@@nE@@@}@@@|V@]@@hxh@@@$@@@`!@డ+all_special%My_irhh@ hh@@nD@@@)@@@k@@j@(@@@i@@h@'@@@e@&n@@@g@@@f@@d@@c@@bT@@డУ[]*h+h@Z@@@Z\@@@W@W@@@@@@@@q@@ఐ̠)file_nameFh@k@@u@@@X@X@@@' @@@@ఐ堐!s[h\h@@@~@@@W@W@@@m @@@@@@W@z@A@oht@@డ$List)fold_left}~@ ҁ҂@@n @@@@tQ@Q@U@@@@m@@@U@@@@@@@@@@@@@n @@@@@@@@@@@3ҢҢҢҢҢҢҢҢ@@@@@@@࣠@#acc KAҸҹ@A@@/3ҷҷҷҷҷҷҷҷ@@@@@@@࣠@"sc LA@A@@83@(D@@@@@@@@ఐ"sc@K@@@@L3@!@@@*Odoc_types @&i_desc@@m@@mm@@@@@@@Ġ$None-1@ͪ@@@@mm@@@@@@3        @,@@@ @mm@@@@@@@@@ఐh#acc5J5M@O@@@Ġ$Some*Na+Ne@ڠఠ!t M3Nf4Ng@FA@@n#@@@X@@@@@n+n*@@@@@@`@@n2n1@@@@@@g@@@డ!@RkSk@հ@@@ՠJ@J@mJ@QJ@XJ@>J@U@@@@@@@ @@@@@ޠ@@@@@@@3rrrrrrrr@JC@D@E@@@@ఐϠ#accӄkӅk@@@@@ภšӏkӐkAŠภ6Element_module_comment Әk@ {ఐn!tӡkӢk@*@@ @@@ [@[@ 4@@ @@P[@7@ภ$A@%A@^\@@@@[@E@@ӽk.@@^g@@@[@M@@A5@@8N@@@A7@@:@9@@@9@@#B@@"W@ @k@@@M@@@H@@Q@@@@V@)V@%"@@ภ0@/@@@\U@0D@@ఐ(ele_coms@N@@odi@@@V@3V@1Y@@ @@tE@ @@u7@J @@@Ġ  @ఠ$item G@&A@@Q@:3@@@@ఠ!q H !@3A@@ӈ@@@<@@@@@@@@@@ఠ+comment_opt N78@JA@@*@@@W@@@VV@53????????@81@2@3,%@&@'@@@@ఠ,ele_comments OQR @dA@@:@@@Y@@@XV@6@@_` @@@*@@@9#@ఐu6get_comments_in_modulepq3@@@@@@@E@@D@@@@C@@B@r@@@?@@@>@q@@@A@@@@@@=@@<@@;Q@@ఐL(last_posԟ4Ԡ<@6@@^@@ఐ$itemԲ=ԳA@m@@q@)ParsetreeԻBԼK@(pstr_locLT@@ @@P@@@e@b@(LocationU]@)loc_start^g@@c&@@0@@@g@d@&Lexinghn@(pos_cnumow@@,:@@Y@@@[W@hW@f@@ @@@@@@iW@U@A@@@@ఠ*pos_limit2 P @A@@J@֥J@J@ J@J@J@VV@j3@@@@@@@@ఐ!q'(@@@Ԏ@@@l3))))))))@@@@Ġǂ89@ǁ@@@@ԟ'@@@q&@@ԣ+@@@r*@@@ఐy)pos_limitJK@a@@A4@ĠhVW@gఠ%item2 Q_`@rA@@TQ@Q@Q@Q@cZ@v>@@op@@ՠ@@@xG@@@@@ڠb@@@yL@@ޠf@@@zP@@@ఐ,%item2ՋՌ@+@,@-@@,3ՊՊՊՊՊՊՊՊ@w6@@@)Parsetree՗՘ @(pstr_loc՜ ՝@@@@,@@@@@(Locationիլ@)loc_startհձ(@@?)@@ @@@@*@&Lexingտ)/@(pos_cnum08@@=@@9@@@A@@@A@@@@@ఠ*maybe_more RHYHc@A@@J@J@3@@@@@@@ఠ'new_env SHeHl@A@@&J@@@ఠ(elements THnHv@ A@@J@YJ@ @@HXHw@@@*@@@@+@ఐN6analyse_structure_itemHzH@R@@@P@@@M@@@J@@@C@@@@@@@5@@@.@@@*@@@@@@@젠@@@@@@@@@@@@@@@@@@@@@c@@ఐ#envNO@@@Np@@ఐ3current_module_name[\@@@ }@@ఐW$itemjk@%@@V@)Parsetreest@(pstr_locxy@@@@J@J@J@J@J@J@ J@#J@J@J@J@J@ڲJ@ڹJ@ڼJ@J@J@IJ@PJ@SJ@eJ@^J@J@J@J@!J@wJ@pJ@ŤJ@±J@J@@@ఐ*pos_limit2 @@@@@ఐ+comment_opt  '@@@ J@J@J@J@J@J@J@J@J@J@ٓJ@ٕJ@NJ@PJ@/J@1J@ƜJ@ƞJ@³J@½J@@@ఐ$item(8(<@@@(@)Parsetree(=(F@)pstr_desc(G(P@@h@@7@@ఐ/)typedtree"Qa#Qj@@@D@@ఐ"%table/k{0k@ @@"Q@@ఐ,table_values<=@@@^@@+@@@h@X@L@@#W@ i@A@KHT@@డ!@UV@ذ@@@ؠU@(@@@,@@+@ @@@*@@)ՠ@@@'@@&@@%3iiiiiiii@@@@@~w@x@y@@@@ఐ.,ele_comments׀@d@@*@@@@@@& @@ 0@@ 0@@@@@34@@ U@@@ఐ蠐#env@A@Ұ@@ w@@ภ̔JK@̓@@@̓J@@@@/@@TU@@@ @ @ @@:@Ġ)Parsetreelm@.Pstr_attributeqr@@@wx@@@@@AX@@@@@ Y@@ Y@Ġ)Parsetreeڇڈ@.Pstr_extensionڌڍ@@;.Pstr_extension@Q@@@9ˠr@@@9@BN@O@A<<@@@w@@ڡڢ@@Q@@@E@@@r@@@F@@@% @@ @@ @@A @@ @@@@@ڵ ڶ @@ hU@@@ఐj#env  @T@@ @@ภ  @@@@tJ@@@@@@   @@@Ġ)Parsetree!)!2@*Pstr_value!3!=@@;*Pstr_value@r(rec_flag@@@9Q%:[@@@9@@@9@BA@O@A:!8:;!8g@@@ j@ఠ(rec_flag _ !? !G@A@@@@@K3        @@@@ఠ,pat_exp_list `!I!U@+A@@':@@@M@@@L@@@@$!V@@ *@@ *@@@Aఠ(iter_pat n/Yk0Ys@BA@@@G,pattern_desc@@@V@ @@*s,#locs@@@5@@@4V@-@@@.V@ @@ 3KKKKKKKK@\NG@H@I@9@:@;@@@@Ġ)Parsetreebc@(Ppat_anygh@@;(Ppat_any3@@@7@@@@AR@A";"=";"G@@@}z@@@ @@>3pppppppp@&L@G@@ @@@ W@@L@M@@@@@ภ$Noneۄۅ@*@@@I@Ġ)Parsetreeۑے@(Ppat_varۖۗ@@;(Ppat_var/@WU@@@7@@@7@A@AR@A"a"c"a"{@@@{@ఠ$name oۯ۰@A@@nl@@@@@@3۵۵۵۵۵۵۵۵@E@@@@@+ @@@@@ภ$Some@rఐ$name@@@@@3@\'@@@@@@@Ġ)Parsetree@*Ppat_tuple@@;*Ppat_tuple{@R@sȠs@@@7@@@7@R@@@7@@7@@@7s+closed_flag@@@7@BDAR@AC$%$'D$%$l@@@@@@@(@'&@@@!@@@ @RC@@@"@@@@@j@@@&@@@#o@@@M@@p@@@ภ$None01@@@@y@Ġ)Parsetree=/=>/F@/Ppat_constraintB/GC/V@@;/Ppat_constraint@Rk@@@7mr@@@7@BJAR@A ++  ++1@@@]@ఠ#pat p[/X\/[@nA@@R@@@'3]]]]]]]]@@@@@f/]g/^@@m@@@( @@@/l/_@@6 @@@ఐG(iter_patv/cw/k@@@@F@@<?@@;3xxxxxxxx@ (!@"@#@@@@ఐ1#pat܌/l܍/o@@@R@@@E@C@)Parsetreeܚ/pܛ/y@)ppat_descܟ/zܠ/@@3)ppat_descR@@@7n@@@7@@@ 3(ppat_loc !t@@@7@@A @A!!!!@@w@3.ppat_loc_stackT@@@7@@B@A!!!!@@x@3/ppat_attributest@@@7@@C@A!!!"@@y@@A!!!!@@v@B.@@Y@DS@@[1@@T@@@@u@@@ภ$None@׃@@@~@@A qYv@@@@@@@@@@V@u@@@Yc@@Aఠ$iter r@ A@@%first^@@@!V@@@@@@@@@@NV@@@@@@@ V@@@@@@@V@à@@@ôV@@@@w<@@@UV@O@@@NV@@@@'V@@!V@@@@@@@@@@@@@@࣠J%*opt* AఠO sPNO@aA@@PV@V@ 3PPPPPPPP@e``_@@@@@W@@\@@@Y@@@V@@@M@@@D@C@@W@@@W@@@W@@@W@@@W@@@W@@@@@@ภϳ݉݊@ϲ@@@ϲ@@@:@@ݐݑ@@(last_pos tAݛݜ@ݮA@@3ݚݚݚݚݚݚݚݚ@KVP@Q@R@@@@@@'acc_env uAݬݭ@ݿA@@3ݫݫݫݫݫݫݫݫ@@@@@@@@@#acc vAݽݾ@A@@3ݼݼݼݼݼݼݼݼ@@@@@@@@@(p_e_list wA@A@@3@@@@@@@@@ఐ(p_e_list @@@@@3@@@@Ġ9@8@@@@3@@@@@@@@@ఐU'acc_env#4#;@=@@@@ఐP#acc #= #@@8@@@@#3#A@@@֠@@@c$@Ġ1B B@0ঠ)Parsetree,BQ-BZ@'pvb_pat1B[2Bb@@3'pvb_pat=@@@9T\@@@9@@@ 3(pvb_expr o$@@@9@@A@A~QQ@@O@3.pvb_constraintv Z0value_constraint@@@9@@@9@@B@ARR@@_@3.pvb_attributes"v@@@9@@C@ASS@@h@3'pvb_loc+!t@@@9@@D+@ATT@@t@@APP@@x~@ఠ#pat xuBcvBf@ވA@@T@@@V@(pvb_exprނBhރBp@Gఠ#exp yފBqދBt@ޝA@@os@@@Y@.pvb_attributesޗBuޘB@Cఠ%attrs zޟBޠB@޲A@@v@@@\@@@ާBPިB@@u^@S@ఠ!q {޲B޳B@A@@V@Q@@@]@@@ @@@@@@@@ఠ.value_name_opt |@A@@ٶ@@@{@@@z@@@y^@i3@kd@e@fWP@Q@RC<@=@>1*@+@,@@@ఐ(iter_pat@t@@@@@@p@@oݠ@@@n@@@m@@@l@@k'@@ఐ#pat  @0@@U2@@@@;@)Parsetree@)ppat_desc@@~@@@@@}_@_@Q@@@ @@]R@A@* @@@ఠ,new_last_pos }56@HA@@w@@@^@399999999@h~w@x@y@@@ఐĠ#expNO@s@@p8@@@@@)Parsetree\] @(pexp_loca b@@W@@@@@@,@(Locationpq@'loc_enduv&@@+@@@@@@@@&Lexing߄'߅-@(pos_cnum߉.ߊ6@@Ͱ?@@RO@A@ߎ@@ఐҠ.value_name_optߘ :Pߙ :^@Z@@څYW@@@@@@@@@3ߡߡߡߡߡߡߡߡ@iwp@q@r@@@Ġ$None߳ dvߴ dz@Y@@@@ڠtr@@@@@@@@@3߼߼߼߼߼߼߼߼@@@@ @ڬ~@@@@@@@@@ @@@ఐࠐ$iter ~ ~@@@ݠ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6@ภÒڢ@@@@@@@C@@ఐ٠,new_last_pos ~ ~@h@@V@OV@S@@ఐu'acc_env ~ ~@]@@ `@@ఐq#acc+ ~, ~@Y@@m@@ఐ!q8 ~9 ~@[@@ V@|@@h@@@@@@@Ġ$SomeN O @ఠ$name ~W X @jA@@@@@@@@@@@ @@M!@@@@@@@@@@ @X,*@@@@@@@@@@@@@ఠ'pat_exp  @A@@TJ@`@3@;4@5@6@@@డݩ,search_value0Typedtree_search @ *@@@olkxv@@@@@@p@@y@@@@@@@@@J@J@@@@@@@ @@@@@@9@@ఐ,table_values+7@ٰ@@F@@ఐ$name8<@R@@J@@@@[@#txt=@@E@@ a@c@@T@@2d@A@@@@@ఠ(info_opt D_Dg@A@@ 1`@3@z@@@@@@ఠ,ele_comments DiDu@#A@@\@@@J`@'@@@)`@@@ D^!Dv@@@"@@@ #@ఐ⠐%first12@@@/@@ఐ+comment_opt?@@@@V=@@ภӓIJ!@Ӓ@@@6G@@MN"@@@g@?@@*P@ఐd6get_comments_in_module_@Z`@p@@@@@@@6@@5@@@@4@@3@ՠa@@@0@@@/@Ѡ`@@@2@@@1@@.@@-@@,@@ఐ(last_posqq@ް@@@@ఐ,#pat@ǰ@@W@@@U@S@)Parsetree@(ppat_loc@@ @@D@@@W@T@(Location@)loc_start@@W+@@$@@@Y@V@&Lexing@(pos_cnum@@ ?@@M@@@La@Za@X@@ @@`@[a@F@@@@A@DZ@@@ఠ(l_values '@ A@@Fz@@@¥@@@¤`@\3@@@ @@@@@ఐ0tt_analyse_value*:@@@@@@@y@@x@@@@w@@v@RO@@@u@@@t@@s@@@@r@@q@@?8@@@o@@@n@@@m@@@@p@@l@@k@@@@j@@i@@@@h@@gԤ@@@f@@@e@@d@@c@@b@@a@@`@@_@@^^@@ఐ #envo;Up;X@ @@k@@ఐ 3current_module_name|Ys}Y@@@x@@ఐ(info_opt@@@@@ఐ #loc@ @@@@ఐ'pat_exp@@@@@ఐ(rec_flag @_@@E@@@©a@a@@@ఐ%%attrs ' ,@@@@@@§a@a@@@ @@@A@ @@@ఠ'new_env !F`!Fg@A@@`@3@@@@@@డf$List)fold_left!Fj!Fn@ !Fo!Fx@@~}@@@@`@@@@@@@&`@@@ @@@@@@@@@@~|@@@@@@@@@@@3@7@@@@࣠@!e A'"y("y@:A@@*J@@@@࣠@!v A8"y9"y@KA@@5377777777@\>@@@@@@@@డ)add_value(Odoc_envN#O#@ R#S#@@@@@@dU@@dT@w6!t@@@dS@@dR@@@dQ@@dP@@dO@^^@@F@!@@@@@@@@@@@@@@ @@@ @@ @@ 3{{{{{{{{@EQ|@H@I@@@@ఐi!e##@Q@@@@ఐg!v##@@@@(val_name##@? @@;@@@%)@@\@@d@,@"y @@@@@2@@1b@/x@"y$@@@@@@@@@@@@a@8a@4@@ఐ$'acc_env%%@ @@@@ఐࠐ(l_values& :& B@@@I@@@a@>a@<@@ @@@A@!F\ @@@ఠ%l_ele (\v(\{@A@@2<@@@c`@D@@@W`@?3@!,%@&@'@@@డ$List#map(\~(\@ (\(\@@?@@@@$j@@@e`@G@@J+@@I@@H@< @@@F@@E;6@@@C@@B@@A3--------@1@@@@࣠@!v AA(\B(\@TA@@$D@@@@ภ-Element_valueM(\N(\@$ఐ!vW(\X(\@9@@@@:3VVVVVVVV@[#@@@@@@2@@@d@b(\c(\@@@K@@\q@@[a@ja@hk@@ఐ|(l_valuesv(\w(\@@@_@@@Ya@na@lO@@q @@@A@(\r @@ఐ$iter))@8@@@@@{@@z@@@y@@@x@@@w@y@@v@n@m@@u@@t@@s@@r@@q@@p3@@@@@@ภL\@@@@@Ú@@Ù@@ఐ,new_last_pos**@"@@`@Û@@ఐ'new_env++ @ְ@@,@@డ^!@,+,,@i@@@i@@@ä@@ã@@@@â@@ád@@@ß@@Þ@@ÝO@@ఐM#acc,',*@5@@\@@డ!@,:,;@@@@a@ú@@@þ@@ý@Š @@@ü@@û@@@ù@@ø@@÷@@ఐ),ele_comments9,-:,9@0@@#@@@b@b@@@ఐ\%l_eleN,<O,A@@@8@@@b@b@@@! @@<@@@òa@b@@@c,&d,B@@EV@ð@@ఐ!qq-C[r-C\@@@EV@@@@@@?@>@@`@Ò@@@ @@@ @@@ {@@@ ~@@@ @Ġ)Not_found/v/v@0@@@@@@@@@@ఐ$iter00@F@@@@@@@@@@@@@@@@@@@@|@{@@@@@@@@@@@@0@ภWg@@Š@@@ @@ =@@ఐ,new_last_pos00@-@@b@ L@@ఐ9'acc_env00@!@@Y@@ఐ5#acc00@@@f@@ఐJ!q00@@@V@ u@@g@@@Ƞ@@@|@@@   @@~@@@A  :J@@@Ҡ@@@bQ@@@@@@=@@@A@@@ܠ@@@ *@ A@ % # "@@@V@@U@ @@T@ @@S@ @@R@ @@Q@@@@P@@O@@N@@M@@L@@KV@@@@@>B@@@@ఠ'new_env M2N2@`A@@J@nJ@J@J@J@J@J@J@oJ@~J@GJ@HJ@J@J@J@J@gJ@hJ@J@J@OJ@PJ@zJ@{J@ J@J@J@#J@OJ@PJ@OJ@^J@J@rJ@sJ@ۃJ@ۄJ@J@J@ٷJ@ٸJ@ԯJ@԰J@J@J@ӄJ@ӅJ@J@J@јJ@љJ@J@̾J@̿J@#J@$J@ˏJ@ːJ@J@MJ@NJ@J@J@ŏV@X3@ {@@@@ఠ%l_ele 22@A@@[@@@ő@@@ŐV@Y@@22@@@@@@\@ఐ $iter22@ @@  @@@p@@@o@@n@{@@@m@@l@@@@d@@k@@@@f@@@e@@j@iF@@@i@@@h@@g@@@@c@@b@@a@@`@@_@@^`@ 6ภ$Some ภxF>2 ?2@xE@@@@@@śW@şv@@@ F@@@Šz@@ఐ ࠐ#locX2Y2@ Ȱ@@@(Locationa2b2@)loc_startf2g2'@@@@@@@Ŧ@ţ@&Lexingu2(v2.@(pos_cnumz2/{27@@&@@@@@ŘW@ŧW@ť@@ఐ7#env282;@!@@@@ภ2<2>@@@@W@Ů@@ఐ ,pat_exp_list2?2K@ W@@G@@@Ŕ@@@œW@ŲW@Ű@@@@@m@@@ŴW@Ŏ@A@2@@@@3OZ3O[@@}U@ź3@ {@@@@@@@@ఐ'new_env3O]3Od@ @@@@ఐ%l_ele3Of3Ok@@@J@Ż@@3OY3Ol@@@(@@ @@Ž*@8 @@ )@ @@  @  @@  @Ġ)Parsetree5nv5n@.Pstr_primitive 5n 5n@@;.Pstr_primitive2@ 1value_description@@@9@AB@O@AT(U(@@@%k@ఠ(val_desc a#5n$5n@6A@@@@@P3%%%%%%%%@4@@@@@%@@1@@1@@@@ఠ(name_pre 6676@IA@@ @@@V@ž3;;;;;;;;@K#@@@@@ఐ+(val_descN6O6@@@A@@@@@)Parsetree\6]6@)pval_namea6b6@@3)pval_nameT@@@8cP#loc2@@@8]@@@8\@@@3)pval_typey@@@8^@@A@A PP  PP@@@3)pval_prim^O@@@8`@@@8_@@B@AP P%P P<@@@3/pval_attributes'@@@8a@@C@AP=PBP=P^@@@3(pval_loc0!t@@@8b@@D*@APPPP@@@@A OO OP@@@WC@@<l@@@i@#txt66@b@@vV@r@A@6@@@ఠ#typ 8 8 @A@@@@@V@3@@@@@@డ0search_primitive0Typedtree_search8  8 0@ 8 18 A@@@᧠@@@@@@@@@@@@@@@@@5@@@@@@@@;@<% @@@@@@֠@@@@@@@@@@@@@@O@@@@@@@N@@ఐS%table 8 B!8 G@;@@[@@ఐ(name_pre-8 H.8 P@e@@@@@W@W@o@@` @@tp@A@98  @@@ఠ$name D9TdE9Th@WA@@.@@@V@3HHHHHHHH@@@@@@డ$Name/parens_if_infix]9Tk^9To@ a9Tpb9T@@b@@@M@@@@@P@@@@@"@@ఐC(name_prey9Tz9T@@@b@@@W@4@@%@@85@A@9T` @@@ఠ-complete_name ::@A@@x@@@4V@3@KYR@S@T@@@డ$Name&concat::@ ::@@Q@@@@@@$@@#@@@@"@@!@@@ @@@@)@@ఐc3current_module_name::@K@@6@@ఐ$name::@@@@@@@6W@?W@>J@@; @@NK@A@: @@@ఠ$code ;;@A@@ޠ@@@hV@R@@@SV@@3@gun@o@p@@@డ;= < <@:@@@:@@@PV@NV@C@@@E@@D@@B@@డ#)keep_code+Odoc_global*<@ -< .<@%@!&@@^$@@@LW@OW@M<@@0 @@&=@ภ$Some@=(A=,@ఐ2get_string_of_fileL=.M=@@@@@@@@\@@[@@@@Z@@Y@@@X@@W@@Vc@@ఐ#locn=Ao=D@ް@@t@(Locationw=Ex=M@)loc_start|=N}=W@@ @@@@@r@o@&Lexing=X=^@(pos_cnum=_=g@@԰&@@@@@lW@sW@q@@ఐ1#loc>h~>h@@@@(Location>h>h@'loc_end>h>h@@1@@@@@y@v@&Lexing>h>h@(pos_cnum>h>h@@&@@@@@jW@zW@x@@=->h@@@@@@Ġ@@@T@ภ$None@@@@@@V@~@<@@@A@;@@@ఠ+comment_opt BB@ A@@@@@Ƙ@@@ƗV@3@ @@@@@డz.analyze_alerts(Odoc_sigBB@ BB@@x@@@IF@@@Ɖ@@@ƈ@@Ƈ@x@@@Ɔ@@ƅ21@@@Ƅ@@@ƃ@@Ƃ@@Ɓ1@@ఐ+comment_opt@BAB@@@W>@@ఐ,(val_descOBPB%@@@B@@@Ʀ@ƤR@)Parsetree]B&^B/@/pval_attributesbB0cB?@@ڰ@@@@@ƚW@ƧW@ƥh@@Y @@pi@A@oB @@@ఠ)new_value zCCS{CC\@A@@@@@ƬV@ƨ3~~~~~~~~@@@@@@$(val_nameDaqDay@ఐ -complete_nameDa|Da@@@@@@Ʊ@,(val_infoEE@ఐ+comment_optEE@*@@=:@@@@@@ƿV@6@1(val_typeFF@డk*subst_type(Odoc_envFF@ FF@@i@@@S@@@@@@i@@@@@d@@@@@@@d@@ఐ#envFF@@@(q@@ఐ@#typFF@@@@@@W@W@@@; @@@@@W@@x-val_recursiveGG @ภEGG@D@@@@@@V@@.val_parameters)H&*H4@ภz0H71H9@y@@@@@@@@@V@@(val_codeBI<LCI<T@ఐ]$codeKI<WLI<[@F@@@@@@@@V@@'val_loc]J^n^J^u@ຠ⡠(loc_implhJ^ziJ^@ภ$SomepJ^qJ^@ ఐ#loczJ^{J^@@@@@@@@@@V@@)loc_interJ^J^@ภ$NoneJ^J^@8@@@@@@*@@@)V@0@@@J^xJ^@@@@@V@4#@@@CC_K@@+&@A@CCO@@@ఠ'new_env MM@A@@4@@@IV@53@<JC@D@E@@@డk)add_value(Odoc_envMM@ MM@@ @@@S@@@=@@<@ @@@;@@:]@@@9@@8@@7)@@ఐ#envMM@@@(6@@ఐ)new_valueMM@B@@|@@@T@RJ@(val_name M M@@@@@@ST@@E@@XU@A@M@@@@N N @@U@a3@drk@l@m@@@@ఐx'new_env-N .N "@ @@U@b@@ภK9N %:N =AJภ-Element_value BN 2@-ఐѠ)new_valueKN 3LN <@@@-@@@mU@oU@n4@@ @@U@l7@ภߨ$Aߥ@%A@ŠJ@d@@@hU@tF@@hN $/@@߯@@@gL@@nN oN >@@@U@F@@@uW@e @@ @ @@ @  @@ v@ @@ @@@ @@@1@F@@@@@*@@Ġ)ParsetreeP@HP@Q@)Pstr_typeP@RP@[@@;)Pstr_type@~(rec_flag@@@9c͠0type_declaration@@@9@@@9@BC@O@A+)++)Z@@@l@ఠ"rf bP@]P@_@A@@ @@@U3@@@@ఠ2name_typedecl_list cP@aP@s@A@@)(@@@W@@@V@@@BP@t@@@@@@@@ఠ,extended_env RR@A@@vV@v3@2+@,@-$@@@@@డe$List)fold_leftSS@ SS@@|@@@@V@{@@DŽ@g@@@ǫV@~@@ǃ @@ǂ@@ǁ@@ǀ@@@@{@@@}@@|@@z@@y@@x3@9@@@@࣠@'acc_env A&T'T@9A@@*L@@@@ Aঠ)Parsetree9T:T @*ptype_name>T ?T@@3*ptype_name@@@8w-#loc@@@8e@@@8d@@@#3,ptype_paramsd@@@@8h@@K(variance@@@8j@R+injectivity@@@8k@@8i@@8g@@@8f@@A!@ARRRR?@@~@31ptype_constraints4d@@@@8n@@@@8o@!t@@@8p@@8m@@@8l@@B@@A R^Rc R^R@@@3*ptype_kindS)type_kind@@@8q@@CK@A"RR"RR@@@3-ptype_private^,private_flag@@@8r@@DV@A#RR#RS@@@3.ptype_manifesti@@@8t@@@8s@@Ed@A$S7S<$S7S]@@@30ptype_attributesw@@@8u@@Fm@A%SwS|%SwS@@@3)ptype_loc!t@@@8v@@Gy@A&SS&SS@@@@A QQ QQ@@@ঠ#txtTT@3ఠ$name TT#@A@@@@@Ǹ3@ @@@@@@@TT%@@@@@ǼZ@Ǻ@@@ǹ@@@TT&@@Z@Ǩ@@@@@ఠ-complete_name U*> U*K@A@@@@@Z@3        @*6/@0@1@@@డ]$Name&concat!U*N"U*R@ %U*S&U*Y@@˰@@@@@@@@@@@@@@@@@@@@@)@@ఐݠ3current_module_nameDU*ZEU*m@Ű@@ t6@@ఐp$nameQU*nRU*r@@@@:@@@[@H@@9@@LI@A@[U*: @@డ(add_type(Odoc_enviVvjVv@ mVvnVv@@@@@@dN@@dM@Q!t@@@dL@@dK@@@dJ@@dI@@dH@]]@@E@!@@@@@@@@@@@@@@@@@@@@@3@@@@@@@ఐ'acc_envVvVv@@@@@ఐ-complete_nameVvVv@@@@@@ @@S@@ aZ@#@d @@@TW@@@@@ǝ@@@ǜ@@Ǜ@@ǚW@W@@@ఐ#envXX@j@@!@@ఐ#2name_typedecl_listYY@@@T@@@ǗW@ W@@@ @@@A@R @@@ఠ#env [ [@A@@ V@!3@%/(@)@*@@@ఐ["rf\$\&@/@@z@@@#@Ġ)Recursive],:],C@s@@@@@@@'"@@@@@(%@@@ఐU,extended_env.],G/],S@,@@0/@Ġ,Nonrecursive;^Tb<^Tn@;,Nonrecursive@@@@B@@A~``@@@I@@@  @@@@@,F@@@@@-I@@@ఐ#envR^TrS^Tu@@@TS@@@AV\@@VU@A@X[@@Aఠ!f c`d`@vA@@%firstm#@@@lV@9@@@U@@T@@@@̈́V@=@@S@@@@ʙV@A@@R@Ԡ@@@_V@Ȏ@@@ȍV@E@@Q@!V@I@@@@^@@@@V@J@@P@@O@@N@@M@@L3@@@@@@࣠Gj AఠK L``@A@@MV@cV@`3@a\ɠ\@@@:@@;W@6@Y@@>@V@@B@S@@F@J@I@@KW@G@@HW@C@@DW@?@@@W@7@@8W@3@@@@@ภ``@@@@@@@d4@@``@@.maybe_more_acc A``@A@@3@EPJ@K@L@@@@@@(last_pos A``@"A@@3@@@@@@@@@3name_type_decl_list A `!`@3A@@3@@@@@@@@@ఐ3name_type_decl_list2a3a@@@@@311111111@@@@Ġ㋰Ab Bb@@@@@3????????@@@@@@@@@ఐU.maybe_more_accPbQb"@=@@@@ภ㤰Zb$[b&@@@@㣠V@Ȝ@@@Ȟ@@dbeb'@@@Ϡ@@@Ȗ(@Ġㇰuc(@vc(B@ㆠఠ)type_decl ~c(6c(?@A@@V@ȐM@ఠ!q c(Cc(D@A@@@@@Ȓ\@@@@@]@@]@@@@ఠ$name dH\dH`@A@@X@@@Ȥ]@Ƞ3@r/(@)@*$@@@@@ఐ8)type_decldHcdHl@@@7@)ParsetreedHmdHv@*ptype_namedHwdH@@@@(@@@ȣ&@#txtdHdH@*@@2]@Ȧ/@A@dHX@@@ఠ-complete_name ee@ A@@@@@]@Ȯ3@ESL@M@N@@@డ6$Name&concatee@ ee@@@@@@@@ȶ@@ȵ@@@@ȴ@@ȳ@@@Ȳ@@ȱ@@Ȱ)@@ఐ3current_module_nameee@@@#M6@@ఐ$name*e+e@@@@@@@^@H@@9@@LI@A@4e @@@ఠ#loc ?f@f@R A@@@@@]@3CCCCCCCC@_mf@g@h@@@ఐ֠)type_declTfUf@@@@)Parsetree]f^f@)ptype_locbfcf @@@@!@A@gf@@@ఠ)loc_start rg$sg-@ A@@@@@]@3vvvvvvvv@4B;@<@=@@@ఐJ#locg0g3@@@@@@@@(Locationg4g<@)loc_startg=gF@@+@@@@@@*@&LexinggGgM@(pos_cnumgNgV@@+@@<9@A@g @@@ఠ'loc_end hZnhZu@ A@@@@@]@3@O]V@W@X@@@ఐ#lochZyhZ|@\@@f@@@@@(LocationhZ}hZ@'loc_endhZhZ@@d@@F@@@@*@&LexinghZhZ@(pos_cnumhZhZ@@B+@@<9@A@hZj@@@ఠ*pos_limit2 ii@! A@@]@3@KYR@S@T@@@ఐ!qj j@w@@@@@3!!!!!!!!@@@@Ġz0k1k@y@@@@@@@$@@@@@(@@@ఐ)pos_limitBkCk@@@32@Ġ`Nl Ol"@_ఠ"td WlXl@jA@@V@V@V@V@a@>@@gl#hl$@@͠@@@G@@@@@Ҡ@@@L@@֠@@@P@@@ఐ,"tdl(l*@+@,@-@@,3@u6@@@)Parsetreel+l4@)ptype_locl5l>@@ְ@@$@@@@@(Locationl?lG@)loc_startlHlQ@@7)@@@@@@*@&LexinglRlX@(pos_cnumlYla@@=@@9@@@Aj@@@A@i@@@@ఠ*maybe_more nwnw@A@@@@@]@3@@@@@@@ఠ1name_comment_list nwnw@A@@@@@@@@@@@@@@@@@@]@&@@nwnw@@@2@ @@/@డ;name_comment_from_type_decl#Sigoo@ oo@@@]@@@br@@bq@\@@@bp@@bo@[Z@@@bn@@bm@Y@@@bg@X@W@@@bj@VR@@@bl@@@bk@@bi@@@bh@@bf@@be@@bd@@bc@R@O<7@@@@@@@@@@@@@@@4@@@@@@@@@͠@@@@@Р@@@@@@@@@@@@@@@@@@@@@@ఐϠ'loc_endoo@|@@@@@^@^@@@ఐ*pos_limit2oo@Ȱ@@@@ఐ2)type_decloo@ @@1@@@@@䠠@@@^@@A@nw @@@ఠ,tt_type_decl q+q7@A@@@@@]@3@@@@@@@@డ7search_type_declaration0Typedtree_searchr:Rr:b@ r:cr:z@@@%@@@٠@@@@@@@@@@@@@@9@@@@@@@@Ү@ү% @@@%@@@ @@@ @@@ @@@@@@@@S@@@@@@@R@@ఐa%table.r:{/r:@I@@&#_@@ఐ$name;r:<r:@Q@@@@@^@4^@3s@@` @@xt@Ġ)Not_foundNsOs@@@@@]@@@9@@@డ%raise]s^s@ʗ@@@ʗ@@@?@@>`@=@@<@@ภ'Failurersss@]డ;type_not_found_in_typedtree-Odoc_messagesss@ ss@@@@@@x@@x@@@x@@x@@@@@@@@@@Q@@P@@@O@@N@@ఐΠ-complete_namess@g@@@@@[@@ss@@@@@L@_a@X@@ss@@@@@F`@K@@k@@@@@r:N @@@A@q' @@@ఠ,tt_type_decl u !u -@A@@e@@@d]@a3@@@@@@ఐ#,tt_type_declu 0u <@ @@@@@e@c@)Typedtreeu =u F@(typ_typeu Gu O@@䌰@@&#@A@u @@@@ఠ'com_opt vSjvSq@%A@@;]@g3@9G@@A@B@@@@ఠ,ele_comments "vSs#vS@5A@@n @@@ʕ]@r@@@t]@h@@2vSi3vS@@@"@@@k#@ఐ%firstCwDw@A@@/@@ఐ+comment_optQxRx@@@'h=@@ภ襰[x\x@@@@6G@@_x`x@@@'y@?@@uP@ఐv6get_comments_in_moduleqz"8rz"N@@@@@@@ʁ@@ʀ@@@@@@~@s@@@{@@@z@r@@@}@@@|@@y@@x@@w@@ఐ(last_posz"Oz"W@|@@ @@ఐ;)loc_startz"Xz"a@@@@@@ʗ^@ʜ^@ʛ@@G @@[]@ʝ^@ʑ@w@@]@A@vSe@@@ఠ'new_end |w|w@A@@@@@@ʲ]@ʞ3@@@@@@@@డYce|w|w@b@@@̹@@@ʦ@@ʥ@b@@@ʤ@@ʣa@@@ʢ@@ʡ@@ʠ!@@ఐ>'loc_end|w|w@@@@@@ʶ^@ʸ^@ʷ5@@ఐ@*maybe_more|w|w@?@@ʍ@@@ʴ^@ʺ^@ʹI@@ @@MJ@A@|w @@@@ఠ+maybe_more2 -}.}@@A@@@@@]@ʼ311111111@drk@l@m@@@@ఠ.info_after_opt A}B}@TA@@@@@@@@]@ʽ@@P}Q}@@@%@@@"@డ2just_after_special%My_ire~f~@ i~j~@@@H@@@@@@G@@@~@@}@F@@@z@E=@@@|@@@{@@y@@x@@w@A@>'"@@@g@@@@@@f@@@@@@e@@@Š@d\@@@@@@@@@@@@t@@డ.栐&'@@@@@@@^@^@@@@@@@@@@ఐW)file_name0@@@@@@_@_@@@' @@@@ఐ%2get_string_of_file1F1X@@@@"@@@@@@@@@@@@@@@@@@@@ఐ<'new_end1Y1`@а@@@@@@ _@ _@ @@ఐ *pos_limit21a1k@?@@ @@1E1l@@@@@@ _@@@ @@@@@@^@@A@1}@@@ఠ'com_opt <=@OA@@fed@@@*@@@)]@3EEEEEEEE@$@@ @ @ @@@డ+merge_infos#Sig\]@ `a@@@@@@b@@@b@@b@@@@b@@@b@@b:@@@b@@@b@@b@@b@@(#@@@Ơ @@@@@@@@@ @@@@@@@@X@@@@@@@@@@W@@ఐ'com_opt@װ@@d@@ఐw.info_after_opt@l@@K@@@-@@@,^@5^@3|@@k@@}@A@@@@ఠ'com_opt @A@@ܠ@@@P@@@O]@73@@@@@@డU.analyze_alerts(Odoc_sig@  @@S@@@$!@@@A@@@@@@?@S@@@>@@=  @@@<@@@;@@:@@91@@ఐߠ'com_opt@;@@JG@@@U@@@T^@X^@VI@@ఐ)type_decl5 6)@@@X@)Parsetree>*?3@0ptype_attributesC4DD@@ @@—@@@R^@`^@^n@@_ @@vo@A@P @@@ఠ$kind [Zp\Zt@nA@@@@@˅]@a3````````@@@@@@డ-get_type_kind#SiguZwvZz@ yZ{zZ@@@-,@@@b@@b@+@*@@@b@)('@@@b@@@b@@b@@@b@@b@&%@@@b@@bE@@@b@@b@@b@@b@!@50@@@-@@@p@@o@W@V@@@l@U,@@@n@@@m@@k@@@j@@i@+@@@h@@go@@@f@@e@@d@@cn@@ఐ ࠐ#env@ 4@@ {@@ఐ1name_comment_list@@@@@@@ˋ@h@@@ˍ@@@ˌ@@ˊ@@@ˉ^@˖^@ˑ@@ఐ;,tt_type_decl@@@Ԣ@@@ˢ@ˠ@%Types @)type_kind$%@@Ԇ@@@@@ˇ^@ˣ^@ˡ@@ @@@A@1Zl @@@ఠ!t <=@OA@@8`@@@˨]@ˤ3@@@@@@@@@@@@@@#8\'ty_nameQ)?R)F@ఐy-complete_nameZ)I[)V@@@A@@@˭@8d'ty_infofYogYv@ఐ'com_optoYypY@ @@8u8r@@@˼@@@˻]@˽6@8i-ty_parameters@డ$List$map2@ @@@@!a@.;@@0K@!b@.8@@0J!c@.5@@0I@@0H@@0G@@@@0F@@0E@@@@0D@@0C@@@0B@@0A@@0@@@0?@@@`@<7@@@@^@@@!]@@@@8@@@]@D]@>]@@@@8@@@͠@@@]@B]@ ]@@@@@@@@E(@@@@@@D'@@@@@C"@@@@@@@@@3@@@@@࣠@!p A@+A@@H@@@@!v A&'@9A@@M3%%%%%%%%@Y@@@@@@@@@డ*subst_type(Odoc_env@A@ DE@@۰@@@@@@@@@@@@@@@@@@@@@ 3TTTTTTTT@0<@3@4@@@@ఐ i#envfg@ @@ h@@ఐ^!pst@I@@@@7@@]@C]@"@@ఐa!v@+@@.@@H@@@@@@&5@@@@@@@@@@@@@^@1^@-X@@ఐӠ,tt_type_decl @@@:@@@9@6@%Types@+type_params(@@8@@@@@^@:^@7@@ఐ,tt_type_decl)@)L@@@e@@@?@<@%Types)M)R@-type_variance)S)`@@ @@2@@@^@@^@=@@d @@9 @@@^@@9š'ty_kindcyc@ఐ$kind c c@İ@@9@@@I]@J@9ѡ*ty_private@ఐL,tt_type_decl"#@ @@ֳ@@@V@T!@%Types01@,type_private56@@֌@@9@@@W]@U5@9󡠐+ty_manifestDE@ఐ{,tt_type_declQR@:@@@@@i@f3TTTTTTTT@@@@%Types`a#@-type_manifeste$f1@@֮@@֭ذ@@@h@@@g@Ġ$Nonez7R{7V@ @@@@@@@q@@@p{@@Ƞ@@@s@@@r@@@ภ$None7Z7^@7@@@:F:E@@@̂@@@́@Ġ$Some_z_~@Uఠ!t __@A@@@@@z\@@@@@@@@|@@@{d@@@@@~@@@}k@@@ภ$Some@zడb2manifest_structure#Sig@ @@@@@@b@@b@ՠ@@@@b|@Ӡ@@@b~@@@b}@@b{@@@bz@@by@@@@bx@@bw@@@bv@@bu@@bt@@bs@@Ű61@@@.@@@̟@@̞@@@@@̛@-@@@̝@@@̜@@̚@@@̙@@̘@,@@@̗@@̖+@@@̕@@̔@@̓@@̒344444444@@@@@@@ఐ I#envFG@ @@ H@@ఐ m1name_comment_listST@@@A@@@@@̺@?l@@@̼@@@̻@@̹@@@̸`@`@5@@ఐʠ!txy@?@@x@@@̶`@`@I@@@@;7@@@̐@`@̴S@@ @@T@@@A @@;D;C@@@c@@@b]@@;>&ty_loc@ຠ$(loc_impl@ภ$Some@bఐ }#loc @ A@@@@@]@]@]@o@@ @@@ @@@]@v@:)loc_inter@ภ$None@@@@JI@@@@@@]@@@@ @@;@@@]@@;'ty_code#9#@@డ|46[u[v@3@@@3@@@]@]@ @@@@@@@ @@డ)keep_code+Odoc_global#[@ &['[@%@&@@W$@@@^@^@@@0 @@&@ภ$Some9:@ఐ2get_string_of_fileEF@@@@@@@)@@(@|@@@'@@&{@@@%@@$@@#@@ఐ )loc_startcd@ @@Ɲ@@@9^@;^@:@@ఐ'new_endwx@A@@Ƨ@@@7^@=^@<(@@@@<@@@ ]@!@>^@54@@U @@<& @@@ ]@ ;@ภ$None @A@@@]@DG@CY'@@J@@@'*?@@fa@A@ @@@@ఠ+maybe_more3 UlUw@A@@@]@G3@x@@@@@@ఠ$eles UyU}@ A@@/V@]@H@@UkU~@@@@ @@K@ఐ}!fUU@"@@|!z@@@V@@U@u@@T@p@@S@k@@R@`@_@@Q@@P@@O@@N@@MA@ภ@@"@@@p@@oN@@డҘҚUU@җ@@@@@@x@@w@җ@@@v@@uҖ@@@t@@s@@rm@@ఐ a*maybe_more3U4U@ `@@ @@@͈_@͊_@͉@@ఐ+maybe_more2GUHU@@@@@@͆_@͌_@͋@@RUSU@@@@డ⠐_U`U@@@@8@@@͔@@͓@@@@͒@@͑@@@͐@@͏@@͎@@ఐ'new_end}U~U@G@@V@@@ͤ_@ͦ_@ͥ@@ఐd+maybe_more2UU@F@@ @@@͢_@ͨ_@ͧ@@UU@@_@͠@@ఐ !qUU@@@!V@ͩ@@@@@@@@ͪ^@i@A@Ug@@@ఐ+maybe_more3@@@@@3@ @@@@@@డP!@@[@@@[?\@ͳ@@@ͷ@@Ͷ@ @@@͵@@ʹX@@@Ͳ@@ͱ@@Ͱ(@@ఐ ٠,ele_comments@ &@@~#@@@]@]@=@@ภ @ภ,Element_type@>ఐ堐!t!"@e@@?@@@]@]@b@@,-@@]@g@ఐq$eles89@n@@pr@@<=@@ޠa@@@]@{@@J@@V@~@@HI@@@@ @@@@@@ @@ @" @@ @ @@ t@ @@  @% @@  @ 9@@  @ @@ A@ V@@ z@ @@ @ @@ @ @@ I@ Z@@ @ @@ @ @@@,@@v@@@@@@Aba@@@̠@@@Η%@w!A@#p@@@@@@@@@@@@@@@頠@@@@@@@@@@@V@κ@@@`?@@@@ఠ*maybe_more &0@!A@@ @@@V@3@@@@@ఠ$eles 26@"A@@@@@@@@V@@@%7@@@"@@@@ఐd!f:;@ @@c#ΠԂ@@@@@@@@@I@@@@@@Q@@@@@@-I@@@@@@@@@@X@@@@@@@@@@@@@@@@\@ภภD H@@@@Ծ@@@ W@q@@@$@@@u@@@IJ@@W@W@@@ఐ'#loc/K0N@'@@2X@(Location8O9W@)loc_start=X>a@@̰@@@@@@@&LexingLbMh@(pos_cnumQiRq@@&@@@@@W@W@@@ఐ2name_typedecl_listfrg„@@@@@@@@@W@W@@@@@@ᠠ@@@W@@A@~!@@@ఐ*maybe_moreˆ•ˆŸ@@@@@2?U@#3@@@@@@@ఐĠ,extended_envˆ¡ˆ­@@@@@ఐ$elesˆ¯ˆ³@@@2SJ@$@@ˆ”ˆ´@@@'@ڠ@ @@&)@< @@ @4 @@ @d @@ @ @@'g@Ġ)Parsetree¶¾¶@+Pstr_typext¶¶@@;+Pstr_typext@.type_extension@@@9@AD@O@A--@@@m@ఠ%tyext d¶¶@A@@@@@Z3@'@@@@@%@@2@@2@@@@ఠ(tt_tyext  . 6@ #A@@ @@@cV@'3@( #@@@@@ఐ+%tyext9K9P@@@A@@@-@*3@@@@)Parsetree9Q 9Z@3ptyext_constructors$9[%9n@@33ptyext_constructorsU@@@8x\>5extension_constructor@@@8@@@8@@B3+ptyext_path #locv!t@@@8@@@8@@@@Áy`(`-̂y`(`J@@R@3-ptyext_params"x{@y@@@8@@C(variance@@@8@J+injectivity@@@8@@8@@8@@@8@@A3@Ḁz`K`P̦z`K`@@v@F3.ptyext_privateFV,private_flag@@@8@@C>@A̰|``̱|``@@́@3*ptyext_locQ̾!t@@@8@@DJ@A̼}``̽}`a@@͍@31ptyext_attributes]@@@8@@ES@A~aa~aa%@@͖@@A{``{``@@͚@m@@fe@@@,@@@+@ĠtÂtÄ@@@@@yx@@@5@@@4@@@@@7@@@6@@@ ภtÏtÔ@@@@@@@K@tÈ@@@ĠݰÕçÕé@ܠఠ#ext ÕãÕæ@$A@@@@@?@@ÕêÕë@@D@@@A@@@@@@@ @@@@@C@@@B@@à@@@E@@@D@@@డ0search_extension0Typedtree_search@   @@@Ԡ3@@@Ǡ@@@@@@@@@@@@@@(@@@@@@@@@ΰ% @@@4@@@T@@@U@@@S@@R@@@@Q@@PB@@@O@@N@@M3>>>>>>>>@Bun@o@p@@@@ఐ)%tablePQ@)k@@4E@@ఐ#extab@@@6@@@ς@&@)Parsetreeop @)pext_namet u@@3)pext_nameI@@@8c#locN@@@8@@@8@@@3)pext_kindΗ:extension_constructor_kind@@@8@@A@Aaaab@@Λ@3(pext_loc!t@@@8@@B@Ab b%b b:@@Χ@3/pext_attributes'@@@8@@C@Ab;b@b;b\@@ΰ@@Aaaaa@@δ@K7@@0c@@@eY@ϋY@ρ@@@πt@#txt@]@@Y@σ|@@@@}@Ġ)Not_found.7@l@@@@@@@ϐ@@@డO%raise;M;R@@@@@@@ϖ@@ϕ[@ϔ@@ϓ@@ภ'Failure;T;[@נడ@ extension_not_found_in_typedtree-Odoc_messages\x\ą@ \Ć\Ħ@@@B@@@x@@xF@@@x@@x@DE@@C@@@@@@@Ϩ@@ϧ@@@Ϧ@@ϥ@@డk$Name&concat/ħ0ħ@ 3ħ4ħ@@ٰ@@@@@@Ϲ@@ϸ@&@@@Ϸ@@϶)@@@ϵ@@ϴ@@ϳ@@ఐ*렐3current_module_nameRħSħ@*Ӱ@@5@@ఐ#extcħdħ@ @@8@@@@(@)Parsetreeqħrħ@)pext_namevħwħ@@@@c@@@]@@@@@@#txtħħ@'@@ ]@H@@ħħ@@r@@@N@@\wħ@@{@@@ϣ@\@ϯX@@;Sħ@@@@@ϝ[@Ϣ`@@@@a@@@ïÿ @@c@@@A9E @@@A@ * @@@ఠ'new_env #@%A@@;V@Ѓ3@@@@@@డ>$List)fold_left&2&6@ &7&@@@U@@@@pV@Ј@@Б@@@@иV@Ћ@@А @@Џ@@Ў@@Ѝ@@@Ќ@T@@@Њ@@Љ@@Ї@@І@@Ѕ3@7@@@@࣠@'acc_env AATA[@&A@@*J@@@@࣠@ Aঠ)ParsetreeAdAm@)pext_nameAnAw@@ঠ#txt%A|&A@ఠ$name -Ał.Aņ@@'A@@@@@3////////@|>^@5@6@@@@@8Az9Aň@@@@@Z@@@@@@@DAcEAʼn@@gZ@е@@@@@ఠ-complete_name TōšUōŮ@g(A@@>@@@Z@3XXXXXXXX@*6/@0@1@@@డ$Name&concatmōűnōŵ@ qōŶrōż@@@@@]@@@@@@d@@@@@g@@@@@@@)@@ఐ,)3current_module_nameōŽō@,@@66@@ఐp$nameōō@@@@@@@[@H@@9@@LI@A@ōŝ @@డR-add_extension(Odoc_env@ @@@:@@@dG@@dF@!t@@@dE@@dDG@@@dC@@dB@@dA@K\llL\l@@ID@!@@@S@@@@@@@@@@@]@@@@@@@3@@@@@@@ఐ'acc_env @@@@@ఐ-complete_name @@@@@@ @@S@@Z@ #@d @@@ A_ @@@4@@!:@@ X@@AO'@@@E@@Ъ@C@@ЩI@@Ш@@ЧW@'W@#i@@ఐ,Ԡ#env,(6-(9@,@@7c?@@ఐV%tyext;:H<:M@9@@l@@@/@,S@)ParsetreeI:NJ:W@3ptyext_constructorsN:XO:k@@*@@z@@@ФW@0W@-j@@ @@@A@\@@@ఠ+comment_opt àgyƇhyƒ@z)A@@po@@@J@@@IV@13oooooooo@@@@@@డ.analyze_alerts(Odoc_sigƕơƕƩ@ ƕƪƕƸ@@@@@Ѹѵ@@@;@@@:@@9@@@@8@@7ѡѠ@@@6@@@5@@4@@31@@ఐ-+comment_optƕƹƕ@,@@7>@@ఐ٠%tyext@@@@@@X@VR@)Parsetree@1ptyext_attributes@@P@@%@@@LW@YW@Wh@@Y @@pi@A@yƃ @@@ఠ)loc_start Ġ@*A@@+@@@_V@Z3@@@@@@ఐ-#loc@-p@@8)@(Location   (@)loc_start)2@@@@j@@@`@]%@&Lexing39@(pos_cnum":#B@@f&@@74@A@' @@@ఠ'loc_end Š2FT3F[@E+A@@t@@@fV@a366666666@JXQ@R@S@@@ఐ-Ѡ#locIF_JFb@-@@8r@(LocationRFcSFk@'loc_endWFlXFs@@Ѱ@@@@@g@d%@&LexingfFtgFz@(pos_cnumkF{lFǃ@@&@@74@A@pFP@@@ఠ&new_te Ơ{LJǕ|LJǛ@,A@@C@@@mV@h3@JXQ@R@S@@@C𡠐'te_infoǬǺǬ@ఐ2+comment_optǬǬ@@@DC@@@q@@@pV@r!@C,te_type_name@డW.full_type_name(Odoc_env@ @@@?@@@d@@d@!t@@@d@@d!t@@@d@@d@@d@SqTq@@QN@$@@@[@@@ф@@у@@@@т@@с@@@р@@@@~k@@ఐE'new_env@@@Dx@@డH$Name)from_path  #@ $-@@@@@@@@Ѡ@@џ@@@ў@@ѝ@@ఐ2(tt_tyext*.+6@q@@<@@@ѱ@ѯ@*tyext_path677A@@@@@@ѭX@ѲX@Ѱ@@ABB@@'@@@ѫ@@@@t@@@є@D2te_type_parametersPDRQDd@డ$List#map_gw`g{@ cg|dg@@č@@@@@@@@ V@蠠@@@@@@@@@@@V@@@V@@@D@@@V@V@V@@@@@@ĩ+@@@@@Ĩ@@@@@@@3@@@@@࣠@ A@ఠ$ctyp ǠgȆgȊ@-A@@B3@@@gȌgȍ@@A9@@gȅgȎ@@@O@J@@B@@ @@డr*subst_type(Odoc_envgȒgȚ@ gțgȥ@@p@@@Z@@@@@@p@@@@@k@@@@@@@3@kA|@;@<@@@@ఐG'new_envgȦgȭ@@@F@@ఐW$ctyp gȮ gȲ@@@@)ctyp_type gȳ gȼ@° @@Ơ@@@Y@ Y@ -@@G @@.@ gȀ gȽ@@@@@@@W@W@ @@ఐ;(tt_tyext 3gȿ 4g@z@@E@@@@@,tyext_params ?g @g@@@X@@@W@W@@@ @@E@@@W@@E*te_private W X@ఐj(tt_tyext b c@@@t@@@'@%@-tyext_private n o@@@E@@@(V@&@E顠/te_constructors |  } &@ภͰ  )  +@@@@SS@@@4@@@3V@:@E&te_loc -; -A@ຠ(loc_impl -F -N@ภ$Some -Q -U@Xఐ0:#loc -V -Y@0"@@:@@@@-3#@@@HV@O@')loc_inter -\ -e@ภ$None -h -l@p@@@76@@@\@@@[V@b7@@@ -D -n@@E@@@@V@f?@E'te_code q qɆ@డi!# ɛɰ ɛɱ@ @@@ ݯ@@@~V@|V@q@@@s@@r@@pc@@డ )keep_code+Odoc_global ɛɼ@  ɛɽ ɛ@%@&@@D$@@@zW@}W@{@@0 @@&@ภ$Some & '@֠ఐo2get_string_of_file 2 3@@@@l@@@ҍ@@Ҍ@i@@@ҋ@@Ҋh@@@҉@@҈@@҇@@ఐg)loc_start P Q@@@Ҋ@@@ҝW@ҟW@Ҟ@@ఐ2'loc_end d e @@@Ҕ@@@қW@ҡW@Ҡ@@ o p @@F@@@nV@҅@ҢW@ҙ@@U @@F @@@mV@҄@ภ$None #7 #;@.@@@V@Ҩ@ ɉə <M@@@@@ ǞǪ P]@@@A@ LJǑ@@Aఠ>analyse_extension_constructors ɠ k} kʛ@ .A@@@p@@@@V@ҫ@@@ T@@@GV@B@@@FV@ү@@ҿ@@@@V@@@@V@ҳ@@Ҿ@'V@ҷ@"V@@@@V@Ҹ@@ҽ@@Ҽ@@һ@@Һ3        @Vd]@^@_@@@࣠@*maybe_more A kʜ kʦ@ /A@@D3        @R@M@@Ҭ@J@@Ұ@A@@Ҵ@8@7@@ҹW@ҵ@@ҶW@ұ@@ҲW@ҭ@@ҮW@Ҫ@f@g@@@@"!@@(exts_acc A kʧ kʯ@ %0A@@f3        @,8r@/@0@@@@@@+tt_ext_list A #kʰ $kʻ@ 61A@@h3 " " " " " " " "@z@@@@@@@@ఐ+tt_ext_list 5ʾ 6ʾ@y@@@@z3 4 4 4 4 4 4 4 4@@@@Ġ D E@@@@@3 B B B B B B B B@@@@@@@@@ఐo*maybe_more S T@=@@@@డ $List#rev e f @  i  j@@@G!a@/@@@/@@/@@@/@@/@IeJe@@HM@@@@@@@@@@@@@@H@@ఐ(exts_acc  @r@@U@@8@@V@@  @@@֠@@@_@Ġ 4 6@ఠ&tt_ext ͠ - 3@ 2A@@V@@ఠ!q Π 7 8@ 3A@@ ,@@@@@@@@@@@@@@ఠ-complete_name Ϡ <T <a@ 4A@@@@@\@3        @/(@)@*$@@@@@డ .$Name&concat <d <h@  <i <o@@@@@@@@@@@@@@@@@@@@@@@+@@ఐ23current_module_name <p <˃@2@@=E8@@ఐn&tt_ext &<˄ '<ˊ@E@@mI@(ext_name -<ˋ .<˓@ @@@@@.]@$@@@#Y@#txt =<˔ ><˗@ؗ@@ ]@&a@@P@@eb@A@ C<P@@@ఠ+ext_loc_end Р N˛˳ O˛˾@ a5A@@@@@;\@33 R R R R R R R R@x@@@@@ఐ&tt_ext g˛ h˛@@@@'ext_loc n˛ o˛@ @@@@@:@7@(Location |˛ }˛@'loc_end ˛ ˛@@@@@@@<@93@&Lexing ˛ ˛@(pos_cnum ˛ ˛@@ٰ2@@EB@A@ ˛˯@@@ఠ&new_xt Ѡ   @ 6A@@V@@@Ӎ\@=3        @Xf_@`@a@@@ఐ&tt_ext 2 8@۰@@3        @@@@(ext_kind 9 A@ @@@@@@ @Ġ)Text_decl Ga Gj@;)Text_decl@@@@W#locT@@@@@@@@@5constructor_arguments@@@'@@@@@@@C@@B@A!cMcQ!cMc@@@@@ Gk Gl@@('%@@@M@@@L@@@K3        @a@@@ఠ$args Ҡ Gn Gr@ *7A@@/@@@N@ఠ(ret_type Ӡ %Gt &G|@ 88A@@7@@@P@@@O!@@@] 1G}@@h@@@Q&@@k@@@R)@@@@ఠ'xt_args ՠ B̟́ Ć̦@ U:A@@әӘ@@@~_@b3 G G G G G G G G@<5@6@7/(@)@*@@@డ-get_cstr_args#Sig ^̩ _̩@  b̩ c̩@@@@@@b@@b@@@@b@@b@@@@b@@b5@@@b@@b@@b@@b@@Ȱ#@@@@@@m@@l@@@@k@@j@@@@i@@hN@@@g@@f@@e@@dM@@ఐ'new_env ̩ ̩@/@@Z@@ఐb+ext_loc_end ̩ ̩@@@@@@ӂ`@Ӈ`@ӆn@@ఐ$args ̩ ̩@w@@R@@@Ӏ`@Ӊ`@ӈ@@q @@@A@ ̛́ @@A-'xt_name / 6@ఐ -complete_name 9 F@@@@@@Ӓ3        @@@@@@A:'xt_args Hf HmAఐ @@AG@@@Ӟ^@ӟ@A?&xt_reto͍o͓@డ &Option#map͖Ͷ͖ͼ@ ͖ͽ͖@@@@!a@+B@@+!b@+?@@+@@+@@@@+@@+@@@+@@+@@+@oo@@I@+&@@@@@@@^@Ӱ@@ӳA@@@Ө^@^@^@ӭ@@Ӳ@@ӱ@)@@@ӯ@@Ӯ(@@@Ӭ@@ӫ@@Ӫ3\\\\\\\\@x@@@@࣠@$ctyp Ap͖q͖@;A@@-@@@@డ *subst_type(Odoc_env͖͖@ ͖͖@@@@@@@@@@@@@@@@@@@@@@@3@5X@,@-@@@@ఐ 'new_env͖͖@5@@ @@ఐK$ctyp͖͖@@@t@)ctyp_type͖͖@p @@N@@@a@a@-@@G @@|.@͖͖@@@@@@@_@_@@@ఐ(ret_type͖͖@@@@@@_@_@@@ @@B*@@@ӧ_@@B 1xt_type_extension"3@ఐ&new_te6<@'@@K@@@^@@B.(xt_alias>\>d@ภ$None>g>k@ @@@B>B=@@@@@@^@@B8&xt_loc(m΋)mΑ@ຠ(loc_impl3mΖ4mΞ@ภ$Some;mΡ<mΥ@ఐ&tt_extGmΦHmά@f@@@'ext_locNmέOmδ@} @@@@@^@^@!^@@@  @@Ҡ @@@^@@̡)loc_intergmηhm@ภ$Noneompm@ @@@ܠ@@@*@@@)^@0@@@|mΔ}m@@B@@@ ^@4"@B'xt_text@ภ$None@ 7@@@BB@@@<@@@;^@B<@@@@@@@@U@Ġ+Text_rebind2=@;+Text_rebind@u!t@@@ .#locn!t@@@@@@@BA@B@A |"cc }"cc@@@ @ఠ$path Ԡ>B@9A@@#@@@Y@@DE@@$"@@@[@@@Z#@@@8F@@@@@\(@@@@@]+@@@CF'xt_namehφhύ@ఐ%-complete_namehϐhϝ@@@ @@@K3@U92@3@4@@@CS'xt_args ϟϽ ϟ@ภ*Cstr_tupleϟϟ@;*Cstr_tupleN50constructor_args@@@@NN)type_expr@@@@@@@AA@B@ANeNe@@@NFM@ภ}3ϟ4ϟ@|@@@@@@_@@@^^@e=@@- @@C@@@W^@]C@C&xt_retKL@ภ$NoneST@ @@@CC@@@n@@@m^@t]@C1xt_type_extensione!f2@ఐ&new_ten5o;@@@L@@@z^@{t@C(xt_alias|=[}=c@ภ$SomefІfЊ@ 4ຠ3'xa_nameC@@@L!t@@@@@@ 3%xa_xt LZ@@@@@@A@A @ALXLX(@@ZH@@ALWLW@@ZG@'xa_nameЍЯЍж@డY?full_extension_constructor_name(Odoc_envЍйЍ@ ЍЍ@@@A@@@d@@d@!t@@@d@@d!t@@@d@@d@@d@Uw  Vw  @@SP@$@@@]@@@ԛ@@Ԛ@@@@ԙ@@Ԙ@@@ԗ@@Ԗ@@ԕ@@ఐ7#envЍЍ@7@@B2@@డJ$Name)from_pathЍЍ@ ЍЍ@@@@@@@@Է@@Զ @@@Ե@@Դ@@ఐ[$path*Ѝ+Ѝ@(@@@@@`@`@2@@5Ѝ6Ѝ@@ @@@8@@@@f@@@ԫ<@%xa_xtDE$@ภ$NoneL'M+@ @@@[l@@@@@@^@V@@@YfЋZ-N@@D~@@@Ԅ^@ԋ^@`@@ @@D @@@ԃ^@Ԋg@D&xt_locoPnpPt@ຠ(loc_implzPy{Pс@ภ$SomePфPш@ 2ఐ֠&tt_extPщPя@@@@'ext_locPѐPї@İ @@`@@@^@^@^@@@  @@ @@@^@@)loc_interPњPѣ@ภ$NonePѦPѪ@ \@@@#"@@@ @@@ ^@@@@PwPѬ@@D@@@^@@Dԡ'xt_textѯѯ@ภ$Noneѯѯ@ ~@@@DD@@@@@@^@#@@@Jf@@>@@@A,@@@;@A@ @@@ఠ*pos_limit2 נ,6@҈Ң?҈Ҧ@Q=A@@V@ՎV@`@Ճ:@@J҈ҪK҈ҫ@@ @@@ՅC@@@@@@@@ՆH@@@@@ՇL@@@ఐ($nextfүgү@'@(@)@@(3eeeeeeee@q2@@@'ext_locpүqү@ @@@@@Ր@Ս@(Location~үү@)loc_startүү@@!@@@@@Ւ@Տ"@&Lexingүү@(pos_cnumүү@@۰5@@1@@@A9Q@@@A@(@@@ఠ!s ٠./@>A@@@@@֞\@֊3@@@@@@ఐ2get_string_of_file2D@ӈ@@@@@@֒@@֑@@@@֐@@֏@@@֎@@֍@@֌ @@ఐ+ext_loc_endEP@.@@@@@֢]@֤]@֣4@@ఐ*pos_limit2Q[@>@@A@@6@@EB@A@*@@@@ఠ*maybe_more ڠ_z_ӄ@?A@@@@@\@֧3@\jc@d@e@@@@ఠ+comment_opt ۠_ӆ_ӑ@+@A@@ߠ@@@@@@\@֨@@&_y'_Ӓ@@@$@@@֫!@డ2just_after_special%My_ir;_Ӗ<_ӛ@ ?_Ӝ@_Ӯ@@ְ@@@@@@ֶ@@ֵ@@@@ִ@@ֳ@@@@ְ@@@@ֲ@@@ֱ@@֯@@֮@@֭T@@డl_ӯm_Ӱ@@@@Q@@@]@]@@@@@@@@q@@ఐ)file_name_ӹ@ԭ@@@@@^@^@@@' @@@@ఐ!s_Ӻ_ӻ@@@s@@@]@]@@@m @@@@@@]@@A@_u@@@ఠ+comment_opt ܠӿӿ@AA@@Š@@@@@@\@3@@@@@@@@డ@.analyze_alerts(Odoc_sig@ @@>@@@ @@@@@@@@@>@@@@@@@@@@@@@@@3@@ఐ+comment_opt"@;@@52@@@@@@]@]@K@@ఐh&tt_ext #=!#C@?@@gZ@.ext_attributes'#D(#R@J @@ @@@d@@S@@le@A@/ӿ@@ ఐ&new_xt;lԂ<lԈ@A@@^V@@@3<<<<<<<<@y@@@@@'xt_textHlԉIlԐ@GSఐ+comment_optQlԔRlԟ@@@G]G\@@@ @@@\@!@# @@g@@@&\@%"@ఐ ͠>analyse_extension_constructorsl ԡԷm ԡ@ @@@ @@.@ @@-@ @@,@ @ @@+@@*@@)@@(@@@ఐ*maybe_more ԡ ԡ@@@ M@@ภ ԡ ԡ@ఐ&new_xt ԡ ԡ@@@ b@ఐ (exts_acc ԡ ԡ@ @@ m@@ ԡ ԡ@@ V@Er@@ఐ!q ԡ ԡ@۰@@ V@I@@W@@@ @ @@J\@<@@@ @@@ @@@ @@@ @2@@ @@@#@8@@{@@@ 3@@@Aʾ@@@ @ @@B @ A@@ ;@@c@ 6@@b@ +@@a@ @ @@`@@_@@^@@]V@V @@@ku4@@@@ఠ*maybe_more ݠ   @BA@@@@@،V@e3@ @@@@ఠ$exts ޠ " &@%CA@@ E_3@@@؎@@@؍V@f@@  ! '@@@"@@@i@ఐ >analyse_extension_constructors1 *2 H@ F@@@@@@o@@w@_Z@@@q@@@v@@u@@@@t@@@s@@r@@ @@@p@@n@@m@@l@@kR@@@b Ic J@@bW@ؖW@ؕ_@@ภp Kq M@@@@٠]@@@ؓW@؜p@@ఐ(tt_tyext N V@̰@@@@@آ@؟@2tyext_constructors W i@j@@ޠi@@@ؑ@@@ؐW@أW@ؠ@@o@@@@@@إW@؋@A@ @@ ఐ:&new_te m{ mՁ@ ܰ@@R5@@@ب3@ @@@@@@@/te_constructors mՂ mՑ@R8ఐ$exts mՕ mՙ@@@_נ_@@@ر@@@ذV@ز@% @@@@@طV@ض$@@ఐꠐ*maybe_more ՛ժ ՛մ@.@@FU@ؽ4@@ఐD'new_env ՛ն ՛ս@@@C@@@ภ ՛ ՛Aภ6Element_type_extension   ՛@Rఐ&new_te ՛ ՛@ ;@@R@@@U@U@c@@ @@BU@f@ภq' ՛%Ao@&A@BJ@ؿ@@@U@v@@2 ՛տ0@@y@@@|@@8 ՛թ9 ՛@@@Q@@@@@ @@ @ @@ ;@T @@  l@  @@ @@@  @!@@V@k@@@@@@@@;I@Ġ)ParsetreeWX@.Pstr_exception\]@@;.Pstr_exception@p.type_exception@@@9@AE@O@A..@@@un@ఠ#ext est@A@@@@@]3uuuuuuuu@<@@@@@%@@G@@G@@@@ఠ$name ߠ  @DA@@@@@@@@V@3@<&@ @!@@@ఐ.#ext   #@@@D@@@@@)Parsetree $ -@2ptyexn_constructor . @@@32ptyexn_constructorW@@@8@@@8@@@ 3*ptyexn_loc !t@@@8@@A @Abbbb@@@31ptyexn_attributes@@@8@@B@A bbbc@@@@Abbbb@@@9%@@@@@@L@)Parsetree A J@)pext_name K T@@vM@@b[@A@ @@@ఠ-complete_name փ֑փ֞@ EA@@@@@V@3@q|@}@~@@@డO$Name&concatփ֡փ֥@ փ֦փ֬@@Ľ@@@@@@@@@ @@@@@ @@@@@@@)@@ఐ=Ϡ3current_module_name6փ֭7փ@=@@Hf6@@ఐ$nameEփFփ@B@@̠1@@@W@@@@N@#txtUփVփ@㯰@@ W@V@@G@@ZW@A@[փ֍@@@ఠ&tt_ext fg$@yFA@@hE@@@$V@ 3kkkkkkkk@n|u@v@w@@@డ0search_exception0Typedtree_search'7'G@ 'H'X@@@URQH|@@@РK@@@@@@@@@B@@@@@7@@@@@@@@J@K% @@@H@@@@@@@@@@@@\@@@@@Q@@@@@@@P@@ఐ=%table'Y'^@=@@H]@@ఐS$name'_'c@ְ@@`@@@&W@IW@@@@@?w@#txt'd'g@E@@W@A@@n@@@Ġ)Not_foundhyhׂ@@@@@@@@N@@@డ%raise׆ה׆י@A@@@A@@@T@@SY@R@@Q@@ภ'Failure׆כ׆ע@డp exception_not_found_in_typedtree-Odoc_messages,׆פ-׆ױ@ 0׆ײ1׆@@@r@@@x@@xv@@@x@@x@tu#@@s@@@@@@@f@@e@@@d@@c@@ఐ_-complete_nameY׆Z׆@@@@@@@p@@`׆ףa׆@@I@@@a@tZ@m@@j׆ךk׆@@@@@[Y@`@@k@@@@@s'3 @@@A@u @@@ఠ+comment_opt  @GA@@㉠@@@ُ@@@َV@v3@-&@'@(@@@డ.analyze_alerts(Odoc_sig   @  ! /@@@@@Ѡ@@@ـ@@@@@~@@@@}@@|㺠@@@{@@@z@@y@@x1@@ఐ?.+comment_opt 0 ;@?@@I>@@ఐd#ext < ?@D@@z@@@ٝ@ٛR@)Parsetree @ I@1ptyexn_attributes J [@@!@@>@@@ّW@ٞW@ٜh@@Y @@pi@A@ @@@ఠ'new_env iwi~@HA@@؁@@@ٳV@ٟ3@@@@@@డָ-add_extension(Odoc_envi؁i؉@ i؊ iؗ@@f@@@ؠ@@@٧@@٦@f@@@٥@@٤ت@@@٣@@٢@@١)@@ఐ?栐#env>iؘ?i؛@?а@@Ju6@@ఐQ-complete_nameKi؜Liة@۰@@2@@@ٻF@@7@@JG@A@Sis@@@ఠ'new_ext ^حػ_ح@qIA@@S@@@%V@3bbbbbbbb@]kd@e@f@@@ఐ&tt_extwx@@@ U@@@@3zzzzzzzz@@@@)Typedtree@1tyexn_constructor@@ ǰ@@ _@@@@@(ext_kind@ Ұ$@@ @@@@Ġ)Text_decl@ Ԡ@ !@@ Ӡ Ҡ @@@@@@@@@3@S@@@ఠ'tt_args #*@JA@@ @@@@ఠ+tt_ret_type ,7@KA@@  r@@@@@@!@@@48@@ @@@&@@ @@@)@@@@ఠ)loc_start  <P <Y@MA@@/@@@Y@3@;4@5@6.'@(@)@@@ఐ@#loc <\ <_@@v@@K/@(Location <` <h@)loc_start <i <r@@ƣ@@p@@@@'@&Lexing# <s$ <y@(pos_cnum( <z) <ق@@l&@@96@A@- <L@@@ఠ'loc_end 8!نٚ9!ن١@KNA@@z@@@Y@3<<<<<<<<@LZS@T@U@@@ఐ@נ#locO!ن٥P!ن٨@@@@Kx@(LocationX!ن٩Y!نٱ@'loc_end]!نٲ^!نٹ@@װ@@ƹ@@@@%@&Lexingl!نٺm!ن@(pos_cnumq!نr!ن@@Ƶ&@@74@A@v!نٖ@@@ఠ'ex_args ""@OA@@ ?@@@Y@3@JXQ@R@S@@@డ"-get_cstr_args#Sig##@ ##@@ <@@@ <@@@@@@@@@@@@ ;@@@@@ o@@@@@@@@@0@@ఐAl#env##@AV@@K=@@ఐ'loc_end##@G@@9@@@Z@Z@Q@@ఐ#'tt_args##"@@@ s@@@Z@!Z@ e@@V @@if@A@" @@UK'ex_name%8J%8Q@ఐ -complete_name%8T%8a@@@@@@*3@@@@@@UV'ex_info&dv&d}@ఐ+comment_opt&dڀ&dڋ@@@UgUd@@@9@@@8X@:@U['ex_args.'ڎڠ/'ڎڧAఐ @*@Uh@@@BX@C1@U`&ex_retA(کڻB(ک@డ&Option#mapP)Q)@ T)U)@@ <@@@@ @@@ڊX@T@@WU@@@LX@ڕX@ځX@Q@@V@@U@ B@@@S@@R A@@@P@@O@@N3uuuuuuuu@p@@@@࣠@$ctyp A**@PA@@-@@@@డ9*subst_type(Odoc_env**@ **@@7@@@!@@@u@@t@7@@@s@@r2@@@q@@p@@o3@5X@,@-@@@@ఐ'new_env**!@[@@B@@@څ[@ڇ[@چ@@ఐR$ctyp*"*&@#@@{&@)ctyp_type*'*0@ꐰ @@n@@@ڃ[@ڋ[@ډ4@@N @@5@**1@@@@@i@@hY@ڏY@ڍ@@ఐ/+tt_ret_type+2H+2S@@@ ֠@@@fY@ړY@ڑ@@ @@V/@@@KY@d@V#(ex_alias,Ug,Uo@ภ$None,Ur ,Uv@@@@V3V2@@@ڝ@@@ڜX@ڣ@V-&ex_loc1-yۋ2-yۑ@ຠŶ(loc_impl<-yۖ=-y۞@ภ$SomeD-yۡE-yۥ@ఐB֠#locN-yۦO-y۩@B@@Mw@@@@ɠE@@@ڱX@ڸ@á)loc_inter^-y۬_-y۵@ภ$Nonef-y۸g-yۼ@ @@@Ӡ@@@@@@X@@@@s-y۔t-y۾@@Vv@@@کX@@Vp'ex_code..@డɽɿ0 0 @ɼ@@@ɼK@@@X@X@@@@@@@@$@@డɥ)keep_code+Odoc_global0@ 00"@%@ɣ&@@$@@@Y@Y@A@@0 @@&B@ภ$Some1(@1(D@rఐ 2get_string_of_file1(F1(X@ݘ@@@@@@@@@@@@@@@@@@@@@h@@ఐ)loc_start1(Y1(b@@@&@@@Y@Y@|@@ఐȠ'loc_end1(c1(j@v@@0@@@Y@ Y@ @@ 1(E 1(k@@W@@@X@@ Y@@@U @@W  @@@X@@ภ$None$3܇ܟ%3܇ܣ@@@@X@@*/+4ܤܹ@@@@@-$&6.5ܼ@@%@?@@@@@@@@<@Ġ+Text_rebind<6=6@ ఠ'tt_path E6F6@XLA@@ @@@@@O6P6@@  @@@@@@@@@Y6@@@@@@@@@@@@@W'ex_namei8 j8 "@ఐx-complete_namer8 %s8 2@@@Y@@@3ssssssss@92@3@4@@@Wġ'ex_info95G95N@ఐ +comment_opt95Q95\@@@WՠW@@@)@@@(X@*@Wɡ'ex_args:_q:_x@ภ*Cstr_tuple:_{:_݅@ ภ:_݆:_݈@@@@  @@@:@@@9X@@@@@ @@W@@@2X@8F@W㡠&ex_ret;݋ݝ;݋ݣ@ภ$None;݋ݦ;݋ݪ@r@@@WW@@@I@@@HX@O`@Wꡠ(ex_alias<ݭݿ<ݭ@ภ$Some==@ຠ3'ea_nameW@@@"XB!t@@@@@@ 3%ea_ex X@Xa@@@!@@@ A@A @AX9ZqsX:Zq@@XdD@@AX=Y]_X>Y]p@@XhC@'ea_name==@డۻ?full_extension_constructor_name(Odoc_env> >@ ">#>4@@ b@@@ݣ@@@o@@n@ b@@@m@@l _@@@k@@j@@i@@ఐD預#envA?5TB?5W@DӰ@@Ox@@డ$Name)from_pathT?5YU?5]@ X?5^Y?5g@@@@@@@@ۋ@@ۊG@@@ۉ@@ۈ@@ఐ+'tt_pathp?5hq?5o@@@@@@ۘZ@ۚZ@ۙ@@{?5X|?5p@@a@@@ۖ@@c@@ @@@ @%ea_ex@sގ@sޓ@ภ$None@sޖ@sޚ@8@@@X@@@۱@@@۰X@۷&@@@=@sޞ@@X@@@XX@_X@ۻ0@@ @@X @@@WX@^7@X&ex_locAޡ޳Aޡ޹@ຠ:(loc_implAޡ޾Aޡ@ภ$SomeAޡAޡ@xఐEZ#locAޡAޡ@EB@@O]@@@@MH3@@@X@d@G)loc_interAޡAޡ@ภ$NoneAޡAޡ@@@@WV@@@@@@X@~@@@Aޡ޼Aޡ@@X@@@X@@X'ex_codeBB@ภ$None B B @@@@YY@@@@@@X@@@@7C @@@@@A@@@A@حط@@@@'E+8(E+9@@OU@M3&&&&&&&&@@@@@@@ఐ5'new_env7E+;8E+B@а@@8U@N@@ภUCE+FDE+aATภ1Element_exception LE+W@Ztఐ'new_extUE+XVE+_@*@@Z@@@YU@[U@Z4@@ @@LU@X7@ภhE+`%A@&A@РLJ@P@@@TU@`G@@sE+D0@@@@@SM@@yE+7zE+b@@@V@G@@@aX@f @@ @2 @@ z@ @@ @ @@ @-@@ @@@E3@Ġ)ParsetreeGdlGdu@+Pstr_moduleGdvGd߁@@;+Pstr_module@.module_binding@@@9@AF@O@A11311R@@@o@ঠ)ParsetreeGd߃Gdߌ@(pmb_nameGdߍGdߕ@@3(pmb_name@@@9#loc@@@9@@@9@@@9@@@3(pmb_exprPE@@@9@@A@AZZ@@@3.pmb_attributes@@@9@@B@A[[@@@3'pmb_loc'*!t@@@9@@C@A(\)\@@@@A,Ych-Yc@@@ঠ#txtGdߗGdߚ@VĠ$None Gdߛ Gdߟ@@@@@@?@@@y@@@x @@@ Gdߖ Gdߠ@@OON@@@@@@~V@{@@@z @@@ Gd߂ Gdߡ@@@@@V@ @@@@@Q, @@Q, @@@@@ /Hߥ߰ 0Hߥ߱@@PU@g @@ఐF䠐#env <Hߥ߳ =Hߥ߶@Fΰ@@Qs @@ภ FHߥ߸ GHߥߺ@@@@LJ@i@@@k @@ PHߥ߯ QHߥ߻@@E @Ġ)Parsetree ^J߽ _J߽@+Pstr_module cJ߽ dJ߽@@ɠঠ)Parsetree qJ߽ rJ߽@(pmb_name vJ߽ wJ߽@@ঠ#txt J߽ J߽@Ġ$Some J߽ J߽@9ఠ$name f J߽ J߽@ A@@@@@3        @F@@@@@@@Ԡ@@@@@@ @@@ J߽ J߽@@@@@@@@V@@@@@(pmb_expr J߽ J߽@ఠ+module_expr g J߽  J߽@ A@@Q5@@@.@@@ J߽ J߽@@,@@@V@6@@@r@@Q7@@Q7@@@@ఠ.tt_module_expr  N]n N]|@ QA@@K@@@܅V@m3        @F[T@U@V.'@(@)@@@డ-search_module0Typedtree_search N] N]@  N] N]@@@ǠQ@@@ @@@@@@@@@ @@@@@7@@@@@@@@@% @@@R @@@v@@@w@@@u@@t@&@@@s@@rQ@@@q@@p@@oP@@ఐGs%table!@N]!AN]@G[@@R5]@@ఐ$name!MN]!NN]@f@@J@@@܇W@ܠW@ܟq@@` @@vr@A@!YN]j @@@ఠ.new_module_pre !dO!eO@!wRA@@R}J@J@J@J@J@J@J@J@J@+J@'J@!J@J@J@J@ J@J@J@QJ@MJ@GJ@AJ@;J@5J@1J@-J@%J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@{J@uJ@oJ@iJ@eJ@aJ@[J@WJ@PJ@LJ@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@J@zJ@vJ@J@J@J@J@J@J@J@J@J@J@J@J@J@J@߭J@WJ@RJ@ܡ3""""""""@8G@@A@B@@@ఐR.analyse_module")O"*O@RŰ@@@R@@ܮ@R@@ܭ@R@@ܬ@R@@ܫ@R@@ܪ@R@@ܩR@@ܨ@@ܧ@@ܦ@@ܥ@@ܤ@@ܣ'@@ఐH#env"NP"OP@H@@S4@@ఐH3current_module_name"[Q"\Q@Hܰ@@SA@@ఐ֠$name"hR("iR,@@@RJ@O@@ఐHܠ+comment_opt"vS->"wS-I@Hİ@@S\@@ఐà+module_expr"TJ["TJf@@@SJ@J@J@FJ@-J@r@@ఐ.tt_module_expr"Ugx"Ug@|@@SJ@AJ@@@w@@S@A@"O@@@ఠ$code "W"W@"SA@@@@@ V@@@@V@3""""""""@]V@W@X@@@డ!A"X"X@@@@@@@V@V@@@@@@@@3""""""""@@@@@డ)keep_code+Odoc_global "X@ "X"X@&@'@@%@@@W@W@@@1 @@'@@ఠ#loc #Y#Y@#TA@@M!t@@@W@T@ఐX+module_expr#Y#Y@0@@S@@@@e@)Parsetree#&Y#'Y @(pmod_loc#+Y#,Y@@3(pmod_locS@@@9*@@@9@@A3)pmod_desc G0module_expr_desc@@@9@@@@Az{@@K\@3/pmod_attributesx@@@9@@B@A -2 -N@@T^@@A,@@X]@8$@@G@A@#QY&@@@ఠ"st #\Z/#]Z1@#oUA@@Ϟ@@@W@3#`#`#`#`#`#`#`#`@ha@b@c@@@ఐp#loc#sZ4#tZ7@@@@@@@@(Location#Z8#Z@@)loc_start#ZA#ZJ@@@@@@@@*@&Lexing#ZK#ZQ@(pos_cnum#ZR#ZZ@@ް+@@<9@A@#Z+@@@ఠ"en #[^s#[^u@#VA@@@@@W@3########@O]V@W@X@@@ఐ#loc#[^x#[^{@\@@P@@@@@(Location#[^|#[^@'loc_end#[^#[^@@N@@0@@@@*@&Lexing#[^#[^@(pos_cnum#[^#[^@@,+@@<9@A@#[^o@@ภ$Some#\#\@ఐ=2get_string_of_file$\$\@ʰ@@@:@@@@@@7@@@@@6@@@@@@@3$$$$$$$$@bpi@j@k@@@@ఐŠ"st$!\$"\@n@@[@@@W@W@@@ఐ"en$5\$6\@!@@e@@@W@W@+@@$@\$A\@@.@@O@@-@@@3@[@@@@@@ @@@ภ$None$Q^$R^@@@@V@@$WX@@@A@$YW@@@ఠ*new_module $d` $e` &@$wWA@@o$@@@YV@3$h$h$h$h$h$h$h$h@@@@@@/n5n6@@@+V@)@n1o-@@@/V@-An/n0n/@@@5@@@4V@1An)n*@@@9V@7@n$n%@@@=V@;@ngne@@@AV@?An&n'@@@EV@CAn!n"n!@@@K@@@JV@GAn&m_code$a)N$a)T@ఐ$code$a)W$a)[@U@@n-n,@@@$@@@#V@%a@n(n)n(@@@T@@@SV@PAn$n%@@@XV@V@@ఐ.new_module_pre$a):$a)H@-@@~@$a)8$a)]@@@A@$` @@@ఠ'new_env $cn$cn@% XA@@y@@@nV@Z3$$$$$$$$@@@@@@డ*add_module(Odoc_env%cn%cn@ %cn%cn@@@@@@d\@@d[@!t@@@dZ@@dY@@@dX@@dW@@dV@__@@G@!@@@@@@b@@a@@@@`@@_@@@^@@]@@\B@@ఐK#env%Ocn%Pcn@K@@VO@@ఐ*new_module%^cn%_cn@[@@p@@@y@wc@&m_name%jcn%kcn@o-@@o,@@@xm@@^@@qn@A@%rcn{@@@ఠ(new_env2 %}d%~d@%YA@@@@@ݸV@݁3%%%%%%%%@@@@@@ఐ0*new_module%e%e@@@pS@@@݆@݄3%%%%%%%%@@@@&m_type%e%e@oY@@pS@@@݅ @Ġ%Types%gbs%gbx@-Mty_signature%gby%gb@@nఠ!s %gb%gb@%ZA@@p@@@݋-@@@@@py@@@݌1@@p|@@@ݍ4@@@డz-add_signature(Odoc_env%h%h@ %h%h@@@b@@@d@@@d?@&stringQ@@@d>@@d=#rel&optionL@@@d<@@@d;@@d:@)signature@@@d9@@d8@@@d7@@d6@@d5@@d4@@d3@[!![!k@@C@<7@@@@@@ݡ@@ݠ@4@@@ݟ@@ݞ1/,@@@ݝ@@@ݜ@@ݛ@+@@@ݚ@@ݙ@@@ݘ@@ݗ@@ݖ@@ݕ@@ݔ3&7&7&7&7&7&7&7&7@y@z@{@@@@ఐO'new_env&Ih&Jh@ð@@@@@Y@Y@@@ఐ*new_module&_h&`h@\@@q@@@@+@&m_name&kh&lh@p.@@p-@@@5@{ภ?A&J &డ#$Name&simple&i&i@ &i&i@@jѰ@@@!v@@@@@!y@@@@@\@@ఐ@*new_module&i&i@@@qc@@@@p@&m_name&i&i @ps@@!@@@Z@Z@~@@&i&i @@!@@@@@@I@@@@@ఐ !s&i &i @@@@@@ݺY@Y@@@ @@X@@&j &j @@q@@@ݏH@@q@@@ݐK@@@ఐ'new_env&k#6&k#=@h@@pU@@@A&e@@rm@A@&d@@@@&mN\&mN]@@WU@3&&&&&&&&@|@@@@@@ఐ(new_env2' mN_'mNg@ @@@U@@@ภ+'mNk'mNA*ภ.Element_module '"mNy@l'ఐǠ*new_module'+mNz',mN@(@@q@@@U@U@4@@ @@SU@7@ภ'>mN%A@&A@&SJ@@@@U@ G@@'ImNi0@@@@@M@@'OmN['PmN@@@V@G@@@ X@f @@ @ @@ X@m @@ @ @@ @@@ A@@@y@Ġ)Not_found'go'ho@ @@@@&v@@@@@@@ఠ-complete_name 'wp'xp@'[A@@"a@@@-X@3'{'{'{'{'{'{'{'{@@@@డ$$Name&concat'p'p@ 'p'p@@8@@@"~@@@@@@"@@@@@"@@@@@@@'@@ఐNJ3current_module_name'p'p@N2@@X4@@ఐ,$name'p'p@װ@@"@@@8Y@7F@@9@@JG@A@'p @@డ&J%raise'q 'q@ @@@ @@@A@@@@X@X@X@@bX@?@@>3''''''''@un@o@p@@@@ภ'Failure'q'q@ݠడF=module_not_found_in_typedtree-Odoc_messages(q(q)@ (q*(qG@@@H@@@x@@xL@@@x@@x@J^^K^@@I@@@@@@@S@@R@@@Q@@P?@@ఐ-complete_name(/qH(0qU@I@@#@@@]O@@(6q(7qV@@@@@N@aY@ZY@@(@q(AqW@@w@@@HX@Ma@@v@@lb@@@@X@X@X@@@@@(RK#(SrXc@@M@Ġ)Parsetree(`tem(atev@.Pstr_recmodule(etew(fte@@;.Pstr_recmodule@@@@9@@@9@AG@O@A2km2k@@@p@ఠ$mods h(te(te@(A@@@@@@@@3((((((((@N@@@@@, @@Y@@Y@@@@ఠ'new_env (w(w@(\A@@B V@d3((((((((@N#@@@@@డ'!$List)fold_left(x(x@ (x(x!@@8@@@@B-V@i@@r@ $@@@ޚV@l@@q @@p@@o@@n@@@m@7@@@k@@j@@h@@g@@f3((((((((@7@@@@࣠@'acc_env A(y"5(y"<@(]A@@*J@@@@! Aঠ)Parsetree(y">(y"G@(pmb_name(y"H(y"P@@ @ఠ$name )y"Q)y"U@)^A@@ E C B@@@ޝ@@@ޜ@@@ޛ3) ) ) ) ) ) ) ) @w9Y@0@1@@@(pmb_expr)y"V)y"^@ Kఠ'mod_exp )#y"_)$y"f@)6_A@@Y@@@ޠ@@@)+y"=),y"g@@kZ@ޖ@@@@ఐ9$name)<zk)=zk@8@9@:@@ ~ | {@@@ި@@@ާ@@@ަ3)F)F)F)F)F)F)F)F@;O/(@)@*@@@#txt)Szk)Tzk@@@Z@ީ @Ġ$None)b{)c{@$@@@@  @@@޸@@@޷3)g)g)g)g)g)g)g)g@!@@@ @  @@@޺@@@޹@@@ఐ'acc_env){{)|{@i@@@Ġ$Some)|)|@#8ఠ$name )|)|@)`A@@ @@@M@@@@@ Ҡ @@@@@@U@@ ٠ @@@@@@\@@@@ఠ-complete_name )})}@)aA@@$@@@\@3))))))))@p/(@)@*@@@డ'$Name&concat)})}@ )})}@@t@@@$@@@@@@$@@@@@$@@@@@@@)@@ఐP3current_module_name)})}@Pn@@[6@@ఐi$name)})} @@@@$@@@]@H@@9@@LI@A@*} @@@ఠ!e *~$=*~$>@*"bA@@@@@\@3********@_mf@g@h@@@డ*add_module(Odoc_env*(~$A*)~$I@ *,~$J*-~$T@@@@@@@@@@@@@@@@@@@@@@@)@@ఐl'acc_env*K~$U*L~$\@9@@6@@ఐ-complete_name*X~$]*Y~$j@@@@%?@@@ F@@7@@JG@A@*`~$9@@@ఠ*tt_mod_exp *kn*ln@*~cA@@ @@@,\@3*o*o*o*o*o*o*o*o@]kd@e@f@@@డ'-search_module0Typedtree_search**@ **@@ @@@ [~@@@ @@@@@@@@@'@@@@@ @@@@@@@3@@ఐP䠐%table**@P̰@@[@@@ఐ-$name**@@@'@@@.]@G]@FT@@C @@XU@Ġ)Not_found**@u@@@@)@@@Lc@@@డ)X%raise**@@@@@@@R@@Q{_@P@@Ox@@ภ'Failure* *@డI=module_not_found_in_typedtree-Odoc_messages++@ +  + =@@@@@@@@d@@c@@@b@@a@@ఐp-complete_name+!>+"K@ @@&@@@n@@+(+)L@@@@@_@r`@k@@+2+3M@@i@@@Y_@^@@Z@@@@@+; @@@A@+=n @@@ఠ*new_module +Hf+If@+[dA@@ \@t3+H+H+H+H+H+H+H+H@@@@@@ఐ[.analyse_module+Yf+Zf@[@@@[@@߁@[@@߀@[@@@[@@~@[@@}@[@@|[@@{@@z@@y@@x@@w@@v'@@ఐo!e+~+@ @@D]@ߠ6@@ఐR&3current_module_name++@R@@\C@@ఐ $name++@@@ 4]@ߣR@@ภ$None++@&N@@@TJ@ߧ`@@ఐ'mod_exp+8+?@k@@ 6]@ߨo@@ఐ[*tt_mod_exp+@Y+@c@y@@ /]@ߩ~@@s@@\-@A@+f{@@ఐ*new_module+|+|@@@@@3++++++++@@@@&m_type+|+|@u @@v@@@߬ @Ġ%Types++@-Mty_signature++@@tנఠ!s ,,@,eA@@vB@@@߲.@@@@@v@@@߳2@@v@@@ߴ5@@@డ-add_signature(Odoc_env,, @ ,#,$ @@B@@@@@@@@@B@@@@@?=:@@@@@@@@@9@@@@@@@@߿@@߾@@߽@@߼@@߻3,E,E,E,E,E,E,E,E@nLE@F@G@@@@ఐH!e,W,X@@@@@@^@^@@@ఐ%*new_module,m,n@@@$&@&m_name,t,u!@v7 @@v6@@@0@ภEJ,S&/డ)$Name&simple,"D,"H@ ,"I,"O@@pڰ@@@'@@@@@'@@@@@W@@ఐe*new_module,"P,"Z@԰@@df@&m_name,"[,"a@vw @@'@@@_@_@t@@,"C,"b@@'@@@z@@@OĠ@@@ ~@@ఐΠ!s,"c,"d@@@@@@^@^@@@ @@!@@,e~,e@@w@@@߶ @@w@@@߷@@@ఐ㠐!e,,@~@@9@@@A,|@@;3,,,,,,,,@@@@,@@=@@@>@@@?@ @@@B@@@A,zk| @@B@,y"0-@@@M@@ދ@K@@ފQ@@މ@@ވW@+W@'q@@ఐS#env--@S@@^NG@@ఐ$mods-$-%@@@ȓl@@@ޅW@1W@/\@@ @@t@A@-1w @@Aఠ!f -<-=@-OfA@@%firstPF@@@V@8@@@J@@I@@@@,V@<@@H@ @@@sV@k@@@jV@@@@G,͠N@@@]@@@@V@B@@F@@E@@D3-m-m-m-m-m-m-m-m@@@@@@࣠7P3 Aఠ; <--@-gA@@=V@V@R3--------@QLPL@@@9@@:W@5@I@@=@F@@A;@@CW@>@@?W@6@@7W@2@c@d@@@ภѰ--@@@@@@@V&@@--@@(last_pos A-- @-hA@@j3--------@7B<@=@>@@@@@@1name_mod_exp_list A--@-iA@@r3--------@~@@@@@@@@ఐ1name_mod_exp_list-"4-"E@@@@@3--------@@@@Ġ 5-KY-K[@ 4@@@@3--------@@@@@@@@ภ >-K_-Ka@ =@@@ @Ġ .b.b@ ঠ)Parsetree. bq.bz@(pmb_name.b{.b@@Xঠ#txt.b.b@wĠ$None.%b.&b@(@@@@a`@@@@@@3.*.*.*.*.*.*.*.*@O@@@@@.1b.2b@@qqp@@@@@@\@@@@@(pmb_expr.Fb.Gb@vఠ'mod_exp .Nb.Ob@.ajA@@^@@@&@@@.Vbp.Wb@@\@o+@ఠ!q .ab.bb@.tkA@@-ɠV@m@@@;@@@ @@<@@<@@@@ఠ)loc_start .u.v@.oA@@ڷ@@@\@3.y.y.y.y.y.y.y.y@70@1@2%@@ @@@ఐB'mod_exp..@@@_@@@@@)Parsetree..@(pmod_loc..@@ x@@3@@@@.@(Location..@)loc_start..@@F+@@@@@@B@&Lexing..@(pos_cnum..@@?@@TQ@A@.@@@ఠ'loc_end . . %@.pA@@@@@\@3........@gun@o@p@@@ఐ'mod_exp. ). 0@u@@_j@@@@@)Parsetree/ 1/ :@(pmod_loc/ ;/ C@@ ܰ@@ۗ@@@@,@(Location/ D/ L@'loc_end/ M/ T@@ە+@@w@@@@@@&Lexing/* U/+ [@(pos_cnum// \/0 d@@s?@@RO@A@/4 @@@@@/?h}/@h~@@*-2@@@\@@@@\@3/G/G/G/G/G/G/G/G@iwp@q@r@@@@ఠ,ele_comments /Wh/Xh@/jqA@@!B@@@\@@@@\@@@/gh|/hh@@@,@@@#@ఐ%first/x/y@@@/@@ภ$None//@*+@@@E<@@ภ!ٰ//@!@@@5F@@// @@@V@>@@O@ఐ猪6get_comments_in_module/!5/!K@ذ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~@@ఐ(last_pos/!L/!T@@@@@ఐl)loc_start/!U/!^@@@Q@@@]@]@@@G @@[\@]@@/@@]@A@/hx@@@ఠ$eles /r/r@0rA@@V@V@TV@Z\@ 300000000@@@@@@ఐ٠!f0r0r@@@S@@@(@@'@@@&@@@%@@$@@#@@"@ภ0*@0@S1@@@;@@:,@@ఐd'loc_end0?r0@r@@@V@-V@]@<>@@ఐ!q0Qr0Rr@Ѱ@@V@=M@@B@@N@A@0Xr@@డ.!@0b0c@@@@V@X[@B@@@F@@E@ @@@D@@C@@@A@@@@@?30x0x0x0x0x0x0x0x@u~@@@@@@ఐ3,ele_comments00@@@ (@@@V\@Y\@W@@ఐ$eles00@"@@%@@@@V@R(@N@@@@@[@t@@@ @@B+@Ġ"İ00@"àঠ)Parsetree00@(pmb_name00@@ ঠ#txt00@)Ġ$Some00@*ఠ$name 00@0lA@@@@@@@@@@! @@@@@@@@@00@@00/@@@@@@\@@@@@(pmb_expr11@5ఠ'mod_exp 1 1@1 mA@@a@@@4@@@11@@V@9@ఠ!q 1 1!@13nA@@0@@@H@@@@@I@@I@@@@ఠ-complete_name 13  14 -@1FsA@@,@@@s\@[31717171717171717@_d]@^@_81@2@3&@ @!@@@డ.$Name&concat1P 01Q 4@ 1T 51U ;@@@@@,@@@@c@@b@,G@@@a@@`,J@@@_@@^@@]-@@ఐX 3current_module_name1s <1t O@W@@b:@@ఐ$name1 P1 T@B@@,i@@@~]@}L@@9@@PM@A@1  @@@ఠ)loc_start 1Xl1Xu@1tA@@@@@\@311111111@cqj@k@l@@@ఐ'mod_exp1Xx1X@o@@b$@@@@@)Parsetree1X1X@(pmod_loc1X1X@@@@Q@@@@,@(Location1X1X@)loc_start1X1X@@d+@@1@@@@@@&Lexing1X1X@(pos_cnum1X1X@@-?@@RO@A@1Xh@@@ఠ'loc_end 11@2 uA@@;@@@\@311111111@esl@m@n@@@ఐ'mod_exp22@Ӱ@@b@@@@@)Parsetree2 2!@(pmod_loc2%2&@@@@޵@@@@,@(Location2425@'loc_end292:@@޳+@@ޕ@@@@@@&Lexing2H2I @(pos_cnum2M 2N@@ޑ?@@RO@A@2R@@@ఠ*tt_mod_exp 2]+2^5@2pvA@@@@@\@32a2a2a2a2a2a2a2a@esl@m@n@@@డ/-search_module0Typedtree_search2x8N2y8^@ 2|8_2}8l@@@@@cp@@@ᢠ~@@@@@@@@@/@@@@@@@@@@@@3@@ఐX֠%table28m28r@X@@c@@@ఐР$name28s28w@r@@/@@@]@]@T@@C @@XU@Ġ)Not_found2x2x@ g@@@@1@@@c@@@డ1J%raise2x2x@ @@@ @@@@@{_@@@x@@ภ'Failure2x2x@Ҡడ;=module_not_found_in_typedtree-Odoc_messages2x2x@ 2x2x@@ @@@ @@@@@ @@@@@@@ఐࠐ-complete_name3x3x@u@@-@@@@@3x3x@@@@@@`@@@3$x3%x@@[@@@_@@@Z@@@@@3-8J @@@A@3/' @@@@ఠ'com_opt 3>3?@3QwA@@\]\@33?3?3?3?3?3?3?3?@@@@@@@ఠ,ele_comments 3O3P%@3bxA@@%:@@@(\@@@@\@@@3_3`&@@@#@@@#@ఐ%first3pdy3qd~@@@/@@ఐY䠐+comment_opt3~3@Y̰@@d=@@ภ%Ұ33@%@@@6G@@33@@@d@?@@P@ఐ󣠐6get_comments_in_module33@Ѱ@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @@ @@ @@ఐ(last_pos33@@@}@@ఐE)loc_start33@ذ@@J@@@*]@/]@.@@G @@[\@0]@$@3dv@@]@A@3 @@@ఠ*new_module 3&30@4 yA@@\@1333333333@@@@@@@@ఐd.analyse_module4 34 A@d@@@d@@>@d@@=@d@@<@d@@;@d@@:@d@@9d@@8@@7@@6@@5@@4@@3)@@ఐ 'new_env4/BV40B]@@@ 6@@ఐZՠ3current_module_name4<^r4=^@Z@@elC@@ఐi$name4I4J@ @@]@_R@@ఐ'com_opt4X4Y@[@@_@@ఐX'mod_exp4e4f@&@@]@`n@@ఐ*tt_mod_exp4t4u@0@@]@a}@@p@@d~@A@4{"@@@ఠ$eles 4 4 !@4zA@@\@b344444444@@@@@@ఐ[!f4 $4 %@@@ZWX@@@j@@i@S@@h@N@@gC@@f@@e@@d@jภE4/U@4@Wm@@@}@@|,@@ఐȠ'loc_end4 &4 -@[@@q]@~;@@ఐ!q4 .4 /@@@wV@J@@?@@oK@A@4 @@డ3Y!@43P43Q@d@@@d[@@@@@@@쐠 @@@@@a@@@@@@@344444444@pzs@t@u@@@@ఐ,ele_comments53C53O@ @@抠&@@@\@\@@@ภ',53o53q@'+ภ.Element_module5#3T5$3b@z)ఐ6*new_module5-3c5.3m@@@56@@513S523n@@\@;@ఐ$eles5=3r5>3v@C@@F@@5A3R5B3w@@]@@@\@O@@C@@V@R@v @@@ @@R@c @@ @!@@@@@O@d@@@@@@@@A5T".@@g@A@X\@@@@@@@@@ @@@@@@@@V@@@@5i(@@@ఠ$eles 5t5u@5{A@@4ޠ]@@@@@@V@35|5|5|5|5|5|5|5|@@@@ఐO!f55@@@NX F@@@@@@@@@@@@@@@'@@@@@@@@5@@@@@@@@@@@@1@rภN5/gภǰ55@@@@ u@@@W@F@@@XǠ@@@J@@ఐ\a#loc55@\I@@g[@(Location55@)loc_start55@@v@@C@@@@o@&Lexing55@(pos_cnum55@@?&@@t@@@W@W@@@ఐ $mods66@ t@@(]z@@@@@@W@W@@@@@@A@6 @@@@6)6*@@fU@36(6(6(6(6(6(6(6(@@@@@@@ఐ 'new_env696:@ǰ@@ @@ఐѠ$eles6E6F@@@fJ@@@6K6L@@@&@ @ @@(@6 @@ @ @@ @ ' @@\ @Ġ)Parsetree6d6e@,Pstr_modtype6i6j@@;,Pstr_modtype@}7module_type_declaration@@@9@AH@O@A44@@@q@ঠ)Parsetree66@)pmtd_name6 6)@@3)pmtd_name@@@9yx#locc@@@9t@@@9s@@@3)pmtd_typev+module_type@@@9v@@@9u@@A @A@@L@3/pmtd_attributes @@@9w@@B@A$@@M@3(pmtd_loc)!t@@@9x@@C"@AGLGa@@N@@A@@K@ఠ$name i6*6.@6A@@><@@@@@@366666666@\@@@)pmtd_type6069@Cఠ'modtype j6:6A@6A@@KJ@@@@@@@/pmtd_attributes6Cc6CrALఠ k@7A@2@@@+@@@77Cs@@@@@V@3@@@@@h4@@h4@@@@ఠ-complete_name 7w7w@7'|A@@1@@@V@377777777@]*ZS@T@UA:@;@<)&@(@'@@@డ4m$Name&concat71w72w@ 75w76w@@۰@@@2!@@@@@@2(@@@@@2+@@@@@@@-@@ఐ]3current_module_name7Tw7Uw@]հ@@h:@@ఐ$name7cw7dw@D@@ՠ2O@@@W@@@@R@#txt7sw7tw@Ͱ@@ W@Z@@G@@^[@A@7yw@@@ఠ.tt_module_type 77@7}A@@2+@@@+V@377777777@ry@z@{@@@డ42search_module_type0Typedtree_search77@ 77@@@0s0p0oh@@@20i@@@@@@@@@4@@@@@7@@@@@@@@h@i% @@@h@@@@@@@@@@@@4@@@@@Q@@@@@@@P@@ఐ^%table77@^@@h]@@ఐ,$name77@ذ@@i4@@@-W@PW@G@@@Fw@#txt8 8 "@c@@W@H@@n@@@Ġ)Not_found8#48#=@@@@@7%@@@U@@@డ6%raise8%AO8&AT@ _@@@ _@@@[@@ZY@Y@@X@@ภ'Failure8:AV8;A]@%డڎ "module_type_not_found_in_typedtree-Odoc_messages8JA_8KAl@ 8NAm8OA@@@ڐ@@@x@@xڔ@@@x@@x@ڒ$$ړ$]@@ڑ@@@@@@@m@@l@@@k@@j@@ఐc-complete_name8wA8xA@@@3^@@@w@@8~A^8A@@g@@@h@{Z@t@@8AU8A@@ @@@bY@g@@k@@@@@8 @@@A@8 @@@@ఠ$kind 88@8~A@@3gf@@@GV@@@@V@~388888888@%4-@.@/@@@@ఠ)sig_mtype 88@8A@@32+module_type@@@vV@q@@@rV@@@.@@@.@@@$@@ఐ'modtype88@ð@@HG@@@@@@388888888@;@@@@ఐu.tt_module_type88@G@@-1@@@@@(mtd_type99@,u@@,t,s@@@@@@"@@- @@@.@@@)@@Ġ$Some9$9%@2Ԡఠ'modtype 9-9.@9@A@@@@@G@@@@@@@@@@@O@@Ġ$Some9D!9E%@2ఠ(mty_type 9M&9N.@9`A@@,@@@g@@@@@,,@@@@@@o@@9@@@,@@@v@@@ɠ@@@@@@䬠@,ܠ,@@@@@@@@@@@@ภ$Some92B92F@31డ8analyse_module_type_kind#Sig92H92K@ 92L92d@@Р@@@@b@@@b@@@bA@@@b@@@b@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@b-@@@b@@b@@b@@b@@b@@b@@MH@@EР@㐐C@@@@@@@@@A@@@@@@@@@@@@B@@@@@@A@@@@@@@@@@@@@?@@@@@k@@@@@@@@@@@@@3::::::::@k@@@@@@@0ภ94@9@3Р+@*)@@@]@@@\@@@[A@@@Z@@@Y@@@X@@W(@@ఐ`#env:M2e:N2h@`߰@@k5@@ఐF-complete_name:Z2i:[2v@̰@@5A@@@aE@@ఐ='modtype:jw:kw@N@@@@@KY@jY@iY@@ఐ3(mty_type:w:w@c@@-@@@n@lm@(mty_type:w:w@3(mty_type-@@@@@@@@A3(mty_desc 50module_type_desc@@@@@@@A5V II5W II@@5@3'mty_env"8!t@@@@@B@A5b"IJ5c"IJ@@5@3'mty_loc 1!t@@@@@C @A5n#JJ5o#JJ+@@5@3.mty_attributes,1@@@@@D)@A5w$J,J05x$J,JK@@5@@A5{!II5|!II@@5@H;@@@@@IY@oY@m@@:2G:w@@%@@R@@5+@@@@@ภ$Some::@4ఐ(mty_type::@ΰ@@.X@@@w@u@(mty_type::@k@@2@@@@58@@@s@@@@@^@E@@@@; ; @@@ts@@@@@@䶠@..@@@@@@@@5@@@@@@@@@仠@..@@@@@@@@I@@@@ภ$None;@;A@5@@@6-V@~@@@\@@ภ$None;Q;R@5@@@6>V@@@@m@@ @@[n@@@A;\ @@@@@@@A@;d@@@ఠ+comment_opt M;o ;p@;A@@xw@@@@@@V@3;w;w;w;w;w;w;w;w@@@@@@@@డ.analyze_alerts(Odoc_sig;%;-@ ;.;<@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@3@@ఐb+comment_opt;=;H@b@@l@@@ఐȠ/pmtd_attributes;I;X@@@@@@W@W@T@@C @@\U@A@; @@@ఠ"mt N;ft;fv@;A@@V@@@V@3;;;;;;;;@k}v@w@x@@@s'mt_name;;@ఐ砐-complete_name;;@m@@@@@V@@'mt_info< < @ఐ+comment_opt<<@,@@@@@@@@V@8@'mt_type<$<%@ఐp)sig_mtype<-<.@@@@@@@@@V@S@/mt_is_interface@@@@=@@<@@@;@@:@@9B@@ఐc#env=Q=R@c@@nO@@ఐ"mt=`=a@[@@@@@V@Tc@'mt_name=l=m@@@@@@Um@@^@@qn@A@=t@@@ఠ(new_env2 P==@=A@@@@@V@^3========@@@@@@ఐנ)sig_mtype= 2= ;@@@8@@@a@@@`3========@@@@Ġ$Some==@7YĠ%Types==@-Mty_signature==@@ఠ!s Q==@=A@@@@@k,@@@==@@@@@l2@@@(@@8 @@@n@@@m:@@8 @@@p@@@oA@@@డ-add_signature(Odoc_env==@ ==@@@@@q@@@@@@@@@@@  @@@@@@@@@@@@@@@@@~@@}@@|@@{@@z3>>>>>>>>@ZS@T@U@@@@ఐ('new_env>$>%@@@@@@Y@Y@@@ఐ]"mt>:>;@5@@@@@@+@'mt_name>F>G @ΰ@@@@@5@VภW>%8డ;$Name&simple>a>b@ >e>f@@@@@9Q@@@@@9T@@@@@\@@ఐ"mt>>@z@@@@@@p@'mt_name> >'@@@9v@@@Z@Z@~@@>>(@@9|@@@@@@a@@@@@ఐ栐!s>)>*@@@@@@Y@Y@@@ @@1@@>+9>+:@@9@@@t@@@s%@ @9@@@v@@@u,@@@ఐՠ'new_env>>N>>U@I@@Q6@@@A> ,@@SN@A@>@@@@>cn>co@@oU@3>>>>>>>>@]kd@e@f@@@@ఐq(new_env2>cq>cy@ @@X\U@@@ภ1>c}>cA1 ภ3Element_module_type ?c@ఐ1"mt?c?c@ @@@@@U@U@4@@ @@kU@7@ภ1k?!c%A1i@&A@>kJ@@@@U@G@@?,c{0@@1s@@@M@@?2cm?3c@@@V@G@@@X@f @@ @ @@ 9@N @@ Y@n @@ @@@ @@@@@@d&@Ġ)Parsetree?O?P@)Pstr_open?T?U@@;)Pstr_open z@ h0open_declaration@@@9@AI@O@A 5 57@@@ mr@@?g?h@@@@@3?g?g?g?g?g?g?g?g@ev@@@@@@@ps@@ps@@@@ఠ,ele_comments R?x?y@?A@@1Ġ@@@)V@@@@V@@ఐe+comment_opt??"@eް@@p3????????@e@@@Ġ$None?(4?(8@:D@@@@p@@p@@@ภ1?(<?(>@1@@@-@Ġ$Some??K??O@9cఠ!i S??P??Q@?A@@pJ@J@J@J@J@J@J@J@J@J@A@@@"@@pB@@pB@@@ఐ$!i?Ui?Uj@#@$@%@@$3????????@e.@@@&i_desc?Uk?Uq@ @@ݠ@@@@@@@Ġ$None?w?w@:@@@@@@@ @@@ 3@@@@@@@@@$@@@ @@@@@@@@@@ภ2_@w@w@2^@@@@Ġ$Some@"@#@9Ҡఠ!t T@+@,@@>A@@@@@N@@@@@#"@@@@@@V@@*)@@@@@@]@@@ภ2X@F@GA2Wภ6Element_module_comment @O@v2ఐ-!t@X@Y@,@-@.@@v?@@@+Z@0Z@/3@^@^@^@^@^@^@^@^@> @@@@  @@Z@*@ภ2'A2@(A@?ՠV@"@@@&Z@5@@@w1@@@@@A@yUc3@@r@@@A@{5@@ @A@@}7@@@@@@@@q9U@3@@@@@@@@@f@@@@@@ఐg>#env@@@g(@@q@@ఐ*,ele_comments@@@@@qLJ@@@@@@@@&@q䠠@ @@(@6 @@f] @Ġ)Parsetree@@@*Pstr_class@@@@;*Pstr_class @ 1class_declaration@@@9@@@9@AJ@O@A 6IK 6Iq@@@ s@ఠ/class_decl_list l@@"@@A@@@@@@@@3@@@@@@@@@f@@@@@. @@q@@q@@@@ఠ'new_env U@\j@\q@A A@@Z^V@3@@@@@@@@@g"@@@@@డ?$List)fold_leftA tA t@ AtAt@@ܘ@@@@ZV@@@@V@@@>V@@@ @@@@@@@@@@ܗ@@@@@@@@@@@3A.A.A.A.A.A.A.A.@7@@@@࣠@'acc_env VAABAC@AUA@@*J@@@@࣠@*class_decl WAASAT@AfA@@53ARARARARARARARAR@\>@@@@@@@@@ఠ-complete_name XAfAg@AyA@@$Name&concatAA@ AA@@)@@@@@@@@@/class_decl_list \ACC@C'A@@v3CCCCCCCC@@@@@@@@@ఐ/class_decl_listC&C' @@@@@3C%C%C%C%C%C%C%C%@@@@Ġ5C5!C6#@5~@@@@3C3C3C3C3C3C3C3C3@@@@@@@@ภ5C>'7C?'9@5@@@ @Ġ5\CJ:SCK:U@5[ఠ*class_decl ]CS:HCT:R@CfA@@V@~.@ఠ!q ^C_:VC`:W@CrA@@BǠ@@@=@@@@@>@@>@@@@@ఠ,tt_class_exp _Cv[pCw[|@CA@@>x@@@\@3C{C{C{C{C{C{C{C{@X4-@.@/)"@#@$@@@@ఠ.tt_type_params `C[~C[@CA@@ݠ@@@@@@\@@@C[oC[@@@(@@@$@డ@0search_class_exp0Typedtree_searchCC@ CC@@@<<<t@@@><|@@@@@@@@@@@@@@@@\@@@ޠ@ 'J@@@@@@@@@@@@@ b@ c2-@@@*t@@@뙠(@@@@@@@@@@@@@@@@@@@뒠@ Nq@@@@@@@@@@@@3DDDDDDDD@@@@@ఐjI%tableDD@j1@@u @@ఐԠ*class_declD'D(@@@@)ParsetreeD0D1@(pci_nameD5D6@@@@7A@@@]@]@@@@9@#txtDHDI@$@@]@A@@@@@٠@@@]@J@Ġ)Not_foundD]D^@@@@@Cl@@@X@@@@ఠ-complete_name aDm,Dn9@DA@@?W@@@_@@డA$Name&concatD<D@@ DADG@@-@@@?s@@@@@@?z@@@@@?}@@@@@@@@@ఐk?3current_module_nameDHD[@k'@@u)@@ఐd*class_declD\Df@6@@c:@)ParsetreeDgDp@(pci_nameDqDy@@@@Ǡ?@@@`@@@@R@#txtDzD}@0"@@ `@Z@@X@@h[@A@D(@@డC^%raiseDD@ @@@ @@@@@@|@g@@9_@@@3DDDDDDDD@y@@@@@@ภ'FailureEE@డX\@ B@ఐ~!fHH@/@@}k{@@@@@@v@@@q@@b@@@@@@_@ภ+GB@G@k@@@+@@*l@@ఐ)last_pos2H*H+@V@@]@,{@@ఐڠ!qH9H:@@@V@-@@H?H@@@@@HBHC@@@@@\@@@@@V@@ @@z@ @@@ @@@@@@@@AHR@@@\A@kZ@@@C@@B@@@A@@@@@@?@@>@@=V@7@@@Hg%@@@@HpHq@@y#U@I3HoHoHoHoHoHoHoHo@@@@@ఐ'new_envH~H@°@@ @@ఐ !fHH@@@ kG@@@X@@@W@@V@@@@U@@T@:k@@@S@@@R@@@Q@@PH@@@O@@@N@@M@@L@@KC@1ภaHBlภ̰HH@@@@z@@@wV@{X@@@k̠@@@|\@@ఐof#locHH@oN@@zm@(LocationH H@)loc_startHH@@{@@H@@@@@&LexingHH"@(pos_cnumI#I+@@D&@@y@@@tV@V@@@ఐ5/class_decl_listI,I;@@@;bS@@@V@q@@@pV@V@@@@@yJ@m@@I)I*<@@@@6@ @@@ @@ x@ @@n9@Ġ)ParsetreeIA>FIB>O@/Pstr_class_typeIF>PIG>_@@;/Pstr_class_typel@|^6class_type_declaration@@@9@@@9@AK@O@A88@@@dt@ఠ4class_type_decl_list mIb>`Ic>t@IuA@@@@@@@@3IhIhIhIhIhIhIhIh@ow@@@@@. @@zt@@zt@@@@ఠ'new_env gIyIz@IA@@bV@3IyIyIyIyIyIyIyIy@o"@@@@@డH$List)fold_leftI I @ I I @@@@@@bV@@@@V@@@(V@@@ @@@@@@@@@@@@@@@@@@@@@3IIIIIIII@7@@@@࣠@'acc_env hAI!I!@IA@@*J@@@@࣠@/class_type_decl iAI!I!@IA@@53IIIIIIII@\>@@@@@@@@@ఠ-complete_name jI"*I"7@IA@@D@@@Z@3IIIIIIII@%P@@@@@డG=$Name&concatJ":J">@ J"?J"E@@@@@D@@@@@@D@@@@@D@@@@@@@)@@ఐp3current_module_nameJ$"FJ%"Y@p@@{T6@@ఐc/class_type_declJ5"ZJ6"i@D@@G@)ParsetreeJ>"jJ?"s@(pci_nameJC"tJD"|@@@@EE0@@@[@@@@_@#txtJT"}JU"@"@@ [@g@@X@@kh@A@JZ"&@@డ.add_class_type(Odoc_envJh#Ji#@ Jl#Jm#@@@ @@@dq@@dp@P!t@@@do@@dn @@@dm@@dl@@dk@brrbr@@ J@!@@@ @@@@@@@@@@@ @@@@@@@3JJJJJJJJ@@@@@@@ఐ栐'acc_envJ#J#@ΰ@@ @@ఐ̠-complete_nameJ#J#@@@E@@@ @@S@@dZ@ #@d @@@J! @@@"@@(@@X@@J!J$@@@3@@@1@@7@@@@W@#W@W@@ఐq#envJ%J%@qq@@|-@@ఐ4class_type_decl_listJ&J&@n@@[R@@@W@)W@'B@@j @@Zz@A@J @@Aఠ!f kK(&K('@KA@@%firstn@@@V@3@@@E@@D@@@@V@7@@C@=l@@@tV@ @@@ V@f@@@eV@;@@BJ @@@]@@@@V@=@@A@@@@@?3K<K<K<K<K<K<K<K<@@@@@@࣠>n }AఠB lCKO(*KP(/@KbA@@DV@PV@M3KQKQKQKQKQKQKQKQ@XSnaS@@@4@@5W@0@P@@8@M@@<;@@>W@9@@:W@1@@2W@-@j@k@@@ภ=Kv(0Kw(5@=@@@=@@@Q&@@K}((K~(6@@(last_pos mAK(7K(?@KA@@q3KKKKKKKK@7B<@=@>@@@@@@4class_type_decl_list nAK(@K(T@KA@@y3KKKKKKKK@@@@@@@@@ఐ4class_type_decl_listK)WiK)W}@@@@@3KKKKKKKK@@@@Ġ>K*K*@>@@@@3KKKKKKKK@@@@@@@@ภ> K+K+@> @@@ @Ġ=K,K,@=ఠ/class_type_decl oK,K,@KA@@V@h.@ఠ!q pK,K,@KA@@KL@@@j=@@@@@>@@>@@@@ఠ$name qK-K-@L A@@@@@u@@@t\@r3KKKKKKKK@W3,@-@.(!@"@#@@@ఐ:/class_type_declL-L-@ @@9@)ParsetreeL-L-@(pci_nameL -L!- @@@@' @A@L%-@@@ఠ-complete_name rL0.%L1.2@LCA@@G@@@\@x3L4L4L4L4L4L4L4L4@6HA@B@C@@@డI$Name&concatLI.5LJ.9@ LM.:LN.@@@@@@G9@@@@@@G@@@@~@@}GC@@@|@@{@@z)@@ఐs3current_module_nameLl.ALm.T@r@@}6@@ఐ$nameL{.UL|.Y@B@@|Gg@@@]@@@@N@#txtL.ZL.]@@@ ]@V@@G@@ZW@A@L.!@@@ఠ$virt sL/auL/ay@LA@@ @@@\@3LLLLLLLL@m{t@u@v@@@డK)  L/aL/a@ @@@|@@@\@@@@ @@ @@@@@@@@@ఐ/class_type_declL/a|L/a@ʰ@@-@)ParsetreeL/aL/a@(pci_virtL/aL/a@@@@(<@@ภ(AsttypesL/aL/a@'VirtualL/aL/a@@@ @@>]@R@@)@@VS@A@L/aq@@@ఠ5tt_cltype_declaration tM0M0@MA@@H7@@@\@3M M M M M M M M @jxq@r@s@@@డJ-=search_class_type_declaration0Typedtree_searchM 1M!1@ M$1M%1%@@@EEE~@@@~@@@@@@@@@I@@@@@6@@@@@@@@&@&$@@@~4@@@Π~0@@@@@@@@@J@@@@@P@@@@@@@O@@ఐs%tableMg1&Mh1+@s@@~\\@@ఐ$nameMv1,Mw10@=@@wJ>@@@]@]@@@@v@#txtM11M14@@@]@~@@m@@@Ġ)Not_foundM25LM25U@'9@@@@L@@@ @@@డL%raiseM3YmM3Yr@"ް@@@"@@@@@_@@@@@ภ'FailureM3YtM3Y{@డ !class_type_not_found_in_typedtree-Odoc_messagesM3Y}M3Y@ M3YM3Y@@@@@@x@@x@@@x@@x@@@@@@@@@@%@@$@@@#@@"@@ఐƠ-complete_nameM3YM3Y@Q@@H@@@/@@M3Y|M3Y@@@@@ @3`@,@@N3YsN3Y@@#>@@@_@@@k@@@@@N1 @@@A@N0 @@@ఠ5tt_cltype_declaration uN5N5@N0A@@9@@@;\@53N!N!N!N!N!N!N!N!@(!@"@#@@@ఐ.5tt_cltype_declarationN25N35@ @@+@@@7@,ci_type_declN<5N=5"@:  @@@A@N@5@@@ఠ+type_params vNK6&:NL6&E@N^A@@**@@@B@@@A\@>3NTNTNTNTNTNTNTNT@4B;@<@=@@@ఐH5tt_cltype_declarationNe6&HNf6&]@ @@@@@C@@@%TypesNs6&^Nt6&c@+clty_paramsNx6&dNy6&o@@3+clty_params@@@ /*@@@ @@@ @@@# 3)clty_type :@@@ @@A@A([[([[@@*@3)clty_path=!t@@@ @@B@A([[([[@@*@3.clty_hash_type")+@@@ @@C@A)[[)[\@@*@3-clty_variance+*(!t@@@ @@@ @@D+@A)\>\B)\>\a@@*@3(clty_loc;(!t@@@ @@E7@A)"\b\f)#\b\{@@+@3/clty_attributesG(*attributes@@@ @@FC@A).\|\)/\|\@@+ @3(clty_uidS(!t@@@ @@GN@A)9\\):\\@@+@@A)=[[)>[[@@+@ye@@@A@N6&6g@@@ఠ$kind wN7sN7s@NA@@kj@@@p\@D3NNNNNNNN@@@@@@డ7analyse_class_type_kind#SigO7sO7s@ O7sO 7s@@@@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@b@@@@b@@bB@@@b@@b@@b@@b@@b@@b@@2-@@@*@@@U@@T@)@@@S@@R@@@@Q@@P@@@@O@@N@(@@@M@@Li@@@K@@J@@I@@H@@G@@Fh@@ఐ'new_envOf8Og8@%@@u@@ఐC-complete_nameOs9Ot9@ΰ@@JZ@@@~@@ఐ/class_type_declO:O: @@@@)ParsetreeO: O: @'pci_locO: O: @@*@@'@@@@@(LocationO: O: &@)loc_startO: 'O: 0@@:&@@@@@@@&LexingO: 1O: 7@(pos_cnumO: 8O: @@@:@@Z@@@v]@]@@@ఐ/class_type_declO; A UO; A d@Ѱ@@@)ParsetreeO; A eO; A n@(pci_exprO; A oO; A w@@}@@V@@@ఐ٠5tt_cltype_declarationO< x O< x @@@v@@@@ @%TypesP< x P< x @)clty_typeP < x P < x @@@@@@@r]@]@ @@ @@%!@A@P7s @@@@ఠ'com_opt xP%>  P&>  @P8A@@y:\@3P%P%P%P%P%P%P%P%@7F?@@@A@@@@ఠ,ele_comments yP5>  P6>  @PHA@@B @@@\@@@@\@@@PE>  PF>  @@@"@@@#@ఐ%firstPV?  PW?  @ʰ@@/@@ఐvʠ+comment_optPd@  (Pe@  3@v@@{=@@ภBPn@  5Po@  7@B@@@6G@@Pr@  'Ps@  8@@@@?@@P@ఐ6get_comments_in_modulePB P dPB P z@@@@@@@@@@@@@@@@@@@@@@𮠠@@@@@@@@@@@@@@@ఐ.(last_posPB P {PB P @@@@@ఐ/class_type_declPB P PB P @@@@)ParsetreePB P PB P @'pci_locPB P PB P @@g@@d@@@@@(LocationPB P PB P @)loc_startPB P PB P @@w&@@D@@@@@&LexingPB P PB P @(pos_cnumPB P PB P @@@:@@m@@@]@]@@@ @@\@]@@Q ?  @@@A@Q>  @@@ఠ'com_opt zQD  QD  @Q-A@@#"@@@@@@\@3Q"Q"Q"Q"Q"Q"Q"Q"@ @@@@@@@డ.analyze_alerts(Odoc_sigQ9E  Q:E  @ Q=E  Q>E  #@@@@@mj@@@@@@@@@@@@@@VU@@@@@@@@@@3@@ఐ?'com_optQdE  $QeE  +@<@@>@@@ఐ/class_type_declQsF , @QtF , O@n@@O@)ParsetreeQ|F , PQ}F , Y@.pci_attributesQF , ZQF , h@@@@@@@]@]@e@@T @@mf@A@QD   @@@ఠ)last_pos2 {QH | QH | @QA@@@@@ \@3QQQQQQQQ@|@@@@@ఐڠ/class_type_declQH | QH | @@@@)ParsetreeQH | QH | @'pci_locQH | QH | @@S@@P@@@ @'@(LocationQH | QH | @'loc_endQH | QH | @@N&@@0@@@@ ;@&LexingQH | QH | @(pos_cnumQH | QH | @@,:@@MJ@A@QH | @@@ఠ'new_ele |QI  QI  @R A@@=@@@\@3QQQQQQQQ@`ng@h@i@@@ภ2Element_class_typeR J  R J  $@à(clt_nameRL ; QRL ; Y@ఐ-complete_nameRL ; \R L ; i@z@@M@@@$@(clt_infoR+M l R,M l @ఐ'com_optR4M l R5M l @@@@@@-@@@,\@.?@(clt_typeRFN  RGN  @డ0subst_class_type(Odoc_envRUN  RVN  @ RYN  RZN  @@ @@@@@@?@@>@ @@@=@@<9@@@;@@:@@9m@@ఐy #envRxN  RyN  @y @@z@@ఐj5tt_cltype_declarationRN  RN  @.@@@@@T@R@%TypesRN  RN  @)clty_typeRN  RN  @@@@G@@@M]@U]@S@@Q @@w@@@7]@K@q3clt_type_parametersRO  RO  '@డQ5$List#mapRO  *RO  .@ RO  /RO  2@@@@@@Z@@@\@g@@j@@@_\@\@\@d@@i@@h@@@@f@@e@@@c@@b@@a@@డ*subst_type(Odoc_envRO  4RO  <@ RO  =RO  G@@@@@@@@@@@@@@@@@@@@@@@@@ఐ 'new_envSO  HSO  O@ܰ@@ @@S!O  3S"O  P@@@@@@@@@@@@@,@@ఐ점+type_paramsS7O  QS8O  \@C@@Pq@@@y]@]@A@@ @@m@@@^]@wH@+clt_virtualSOP _ uSPP _ @ఐ$virtSXP _ SYP _ @J@@@@@\@_@ (clt_kindSfQ  SgQ  @ఐ$kindSoQ  SpQ  @E@@ @@@\@v@'clt_locS}R  S~R  @ຠ(loc_implSR  SR  @ภ$SomeSR  SR  @M@ఐz"#locSR  SR  @z @@@@@@|@@@\@@)loc_interSS  SS @ภ$NoneSS SS @NX@@@@@@@@@\@@@@SR  SS @@b@@@\@@@@SK % 9ST!6@@@@@\@@@@@@@@@A@SI   @@డRU!@SVJgSVJh@`@@@`[@@@@@@@  @@@@@]@@@@@@@3SSSSSSSS@@@@@@@ఐΠ,ele_commentsTVJZTVJf@ڰ@@&@@@\@\@@@ภF(TVJrTVJt@F'ఐ('new_eleT VJjT!VJq@*@@\@/@ఐ +!fT/VJvT0VJw@ٰ@@ *w6 (@@@@@ @ #@@ @ @@  @@ @@ @@L@ :ภ7TN@T@wK =@@@!@@ Y@@ఐ)last_pos2TYVJxTZVJ@X@@ A]@"h@@ఐ!qThVJTiVJ@b@@ GV@#w@@TnVJuToVJ@@ :z@@TqVJiTrVJ@@ @@@\@@@w@@ DV@@ @@|@ @@@ @@X@q@@V@k@@@@@)@C@@ ]@r@@ v@@@ @@@ M@b@@ Q@@@AT)Wc@@ S@ A@ w @@@9@@8@ }@@7@ x@@6 f@@5@@4@@3V@- F@@@T(,@@@@TXTX@@YU@?3TTTTTTTT@ T@@@@ఐ ;'new_envTXTX@ s@@ : @@ఐ !fTXTX@ l@@ wɠ(}@@@N@@@M@@L@E@@@K@@J@G! @@@I@@@H@@@G@@FTJ@@@E@@@D@@C@@B@@AC@ ภmTNภTXTX@@@@(@@@mV@qX@@@x@@@r\@@ఐ{#locUXUX@{@@=m@(LocationUXUX@)loc_startU"XU#X@@@@~@@@x@u@&LexingU1XU2X@(pos_cnumU6XU7X@@z&@@@@@jV@yV@w@@ఐ 預4class_type_decl_listUKXULX@ Ͱ@@G @@@{V@g@@@fV@|V@z@@@@J@c@@U_XU`X@@@@ ꠠ@ @@@ @@  )@ r @@{ @Ġ)ParsetreeUwZUxZ@,Pstr_includeU|Z U}Z@@;,Pstr_include@ 3include_declaration@@@9@AL@O@A::9@@@ u@@UZUZ@@@@@{@@@@@{@@{@@@@ఠ"im ~U^U^@UA@@@@@V@ ;@ະޡ'im_nameU` U`  @%dummyU` $U` )@@U` #U` *@@@@@V@ U@ꡠ)im_moduleUa-;Ua-D@ภ$NoneUa-GUa-K@Pv@@@@@@@@@V@ o@񡠐'im_infoUbN\UbNc@ఐ|Q+comment_optUbNfUbNq@|9@@ @@@U_ Uct@@N @A@U^@@@@UeUe@@U@3UUUUUUUU@| f_@`@a@@@@ఐ|#envV eV e@|@@B@@ภH'VeVeAH&ภ7Element_included_module Ve@ఐ"imV'eV(e@(@@X@@@U@U@2@@ @@U@5@ภHV:e%AH@&A@UJ@@@@U@E@@VEe0@@H@@@K@@VKeVLe@@@T@@@@V@d @@| @@@AVWIO @@@ @@@@|<@}A@@@@@@@@@@@@@@@@@@@@y@@@u@@@]@@@<@7@6@@@@@@@@@@@@@@@@@@@@J@}0@@UVd \ Analysis of a parse tree structure item to obtain a new environment and a list of elements.VX[VX@@@@@@@VT@@@@@@=@@{@:@@z@7@@y@0@@x@-@@w@$@@v@@u@@t@@s@@r@@q@@p3VVVVVVVV@N@@@࣠@#env AVhG_VhGb@VA@@a3VVVVVVVV@4@@@@@@3current_module_name AVhGcVhGv@VA@@i3VVVVVVVV@Ds@@@@@@@@+module_name AVhGwVhG@VA@@s3VVVVVVVV@}@@@@@@@@+comment_opt AVhGVhG@WA@@y3VVVVVVVV@@@@@@@@@-p_module_expr AW hGW hG@WA@@3W W W W W W W W @@@@@@@@@.tt_module_expr AWhGWhG@W0A@@3WWWWWWWW@@@@@@@@@@ఠ-complete_name W0iW1i@WCA@@R@@@Q@3W4W4W4W4W4W4W4W4@%@@@@@డT$Name&concatWIiWJi@ WMiWNi@@@@@R9@@@ @@ @R@@@@ @@RC@@@@@@@)@@ఐ3current_module_nameWliWmi@~@@6@@ఐ+module_nameWyiWzi@z@@C@@4@@GD@A@W~i@@@ఠ#loc WjWj@WA@@4@@@,Q@*3WWWWWWWW@Zha@b@c@@@ఐ-p_module_exprWjWj@}@@@)ParsetreeWjWj@(pmod_locWjWj'@@4@@!@A@Wj@@@ఠ)pos_start Wk+5Wk+>@WA@@@@@4Q@.3WWWWWWWW@4B;@<@=@@@ఐJ#locWk+AWk+D@@@b@@@3@1@(LocationWk+EWk+M@)loc_startWk+NWk+W@@u@@B@@@5@2*@&LexingWk+XWk+^@(pos_cnumWk+_Wk+g@@>+@@<9@A@Wk+1@@@ఠ'pos_end X lkuX lk|@XA@@L@@@3X\X\X\X\X\X\X\X\@O]V@W@X@@@ఐS.tt_module_exprXmoXno @4@@@)TypedtreeXvo Xwo@(mod_typeX{oX|o@@I@@!@A@Xm@@@ఠ+m_code_intf Xq&0Xq&;@XA@@S{ @@@Q@l@@@mQ@B3XXXXXXXX@:HA@B@C@@@ఐ-p_module_exprXr>LXr>Y@@@3XXXXXXXX@@@@)ParsetreeXr>ZXr>c@)pmod_descXr>dXr>m@@5@@5@@@E@Ġ)ParsetreeXss}Xss@/Pmod_constraintXssXss@@;/Pmod_constraint5@@@9@I@@@9":@@@9@BE@H@A##@@@#d@@XssXss@@Z@@@LA@ఠ,pmodule_type XssXss@YA@@"U@@@MO@@@1Xss@@5@@@NT@@5@@@OW@@@@ఠ)loc_start Y tY t@YA@@N@@@^T@U3YYYYYYYY@|(!@"@#@@@ఐ2,pmodule_typeY%tY&t@@@"@@@[@Y@)ParsetreeY3tY4t@(pmty_locY8tY9t@@3(pmty_loc"@@@95#!t@@@93@@A3)pmty_desc $W0module_type_desc@@@92@@@@A#r#r@@$[%@3/pmty_attributes@@@94@@B@A#t#t@@$d'@@A#s#s@@$h&@;'@@@@@]@ZP@(LocationYktYlt@)loc_startYptYqt@@O@@@@@_@\d@&LexingYtYt@(pos_cnumYtYt @@Ȱc@@vs@A@Yt@@@ఠ'loc_end YuYu%@YA@@@@@iT@`3YYYYYYYY@@@@@@ఐ,pmodule_typeYu(Yu4@@@#@@@f@d@)ParsetreeYu5Yu>@(pmty_locYu?YuG@@@@P@@@h@e,@(LocationYuHYuP@'loc_endYuQYuX@@N+@@0@@@j@g@@&LexingYuYYu_@(pos_cnumYu`Yuh@@,?@@RO@A@Yu@@ภ$SomeYvlxYvl|@Sఐ=2get_string_of_fileZvl~Zvl@ʰ@@@":@@@v@@u@"7@@@t@@s"6@@@r@@q@@p3ZZZZZZZZ@x@@@@@@ఐ)loc_startZ!vlZ"vl@@@"[@@@T@T@@@ఐ'loc_endZ5vlZ6vl@!@@"e@@@T@T@+@@Z@vl}ZAvl@@.@@O@@U-@@@n3@[@@@@@4@@ZOwZPw@@7@@@Q@@7@@@R@@@ภ$NoneZ]xZ^x@U@@@@@@AZar>F@@@A@Zcq&,@@@ఠ+comment_opt ZnzZoz@ZA@@%w%v@@@@@@Q@3ZvZvZvZvZvZvZvZv@@@@@@డ#.analyze_alerts(Odoc_sigZ{Z{@ Z{Z{@@#@@@%%@@@@@@@@@#@@@@@%%@@@@@@@@@@1@@ఐ+comment_optZ{Z{@@@3>@@ఐ-p_module_exprZ{Z{@@@;M@)ParsetreeZ{Z{(@/pmod_attributesZ{)Z{8@@7@@$'@@@R@R@c@@T @@kd@A@Zz @@@ఠ&m_base Z}BLZ}BR@ZA@@@@@ Q@3ZZZZZZZZ@z@@@@@/&m_name[_i[_o@ఐ٠-complete_name[ _r[ _@w@@@@@ Q@@ȡ&m_type[[@ఐȠ'modtype[ [!@@@@@@Q@4@֡&m_info[.[/@ఐɠ+comment_opt[7[8@C@@@@@ @@@Q@!O@ࡠ.m_is_interface[I[J@ภMz[P[Q@My@@@@@@)Q@-d@顠&m_file[^[_@డY[h[i@@@@@@@2Q@5@@@7@@6@@4@@ఐ)file_name[@@@@@@>R@AR@?@@% @@@Z&m_kind[ [@ภ-Module_struct[[#@ภM[$[&@M@@@@@@O@@@NQ@U@@ @@y@@@GQ@M@:%m_loc[)3[)8@ຠ@(loc_impl[)=[)E@ภ$Some[)H[)L@U~ఐO#loc[)M[)P@@@ @@@dQ@kQ@oQ@n@@ @@\ @@@cQ@j@V)loc_inter[)S[)\@ภ$None[)_[)c@V@@@fe@@@x@@@wQ@~@@@\);\)e@@@@@[Q@@*m_top_deps\hr\h|@ภNd\h\h@Nc@@@@@@@@@Q@2@&m_code\,\-@ภ$None\4\5@V@@@@@@@@@Q@L@+m_code_intf\F\G@ఐĠ+m_code_intf\O\P@԰@@@@@@@@Q@g@+m_text_only\a \b@ภN\h\i@N@@@@@@Q@|@@@\q~U]\r!(@@@A@\t}BH@@@ఐ{-p_module_expr\2?\2L@c@@3\\\\\\\\@@@@@@)Parsetree\2M\2V@)pmod_desc\2W\2`@@9a@@9`@@@@@ఐ.tt_module_expr\2b\2p@n@@#@)Typedtree\2q\2z@(mod_desc\2{\2@@@@@@@5@@\2>\2@@@*@ @@>@@Ġ)Parsetree\\@*Pmod_ident\\@@;*Pmod_ident @#locQ!t@@@9@@@9@A@@H@A'+ ', @@@'_@@\\@@@@@@@@3\\\\\\\\@x@@@@@* @@9@@@@@Ġ)Typedtree]]@*Tmod_ident]]@@ఠ$path ]]@]0A@@@@@T@'@@])]*@@@@@@@@3@@@%]3@@@@@8@@]8]9@@@=@ @@A@ @A@@Ġ)Parsetree]N]O@*Pmod_ident]S]T@@w@]Y]Z@@yw@@@@@@c@@@ @@:*@@@g@@Ġ)Typedtree]p]q@/Tmod_constraint]u]v@@zঠ)Typedtree]"]+@(mod_desc],]4@@mĠ)Typedtree]7]@@*Tmod_ident]A]K@@)$path]M]Q@]A@@@@]S]T@@+)@@@@@@@@@]U@@@@@@@@]!]V@@T$@@@U@@@]X]Y@@@@@@@][]\@@@@@@@]^]_@@@@@@@@g]`@@@@@@@]]a@@@@ @@@ @@@@@@:@@@@@@@@@@@@@ఠ*alias_name ]o}]o@^A@@!t@@@cS@K3^^^^^^^^@@@@@@డ0full_module_name(Odoc_env^o^o@ ^o^o@@@@@@dx@@dw@!t@@@dv@@du/@@@dt@@ds@@dr@ggN@@K@!@@@@@@S@@R@@@@Q@@PE@@@O@@N@@MB@@ఐ#env^So^To@v@@O@@డ[$Name)from_path^fo^go@ ^jo^ko@@ @@@ @@@o@@nYY@@@m@@lq@@ఐe$path^o^o@{@@ @@@|U@~U@}@@^o^o@@Ys@@@z@@|@@@A@^oy@@/Z[@@@R@@VR@@@R@ATUT@@@@@@R@ANO@@@R@@IJ@@@R@@&m_kind^^@ภ,Module_alias^^@;,Module_alias@Y,module_alias@@@:@AA@I@Ass@@@Yc@ຠ3'ma_name@@@1Y!t@@@.@@@ 3)ma_module @@@0@@@/A@A @Ajj@@Y\@@Ajj@@Y[@'ma_name__@ఐ*alias_name_ _ @@@@@@@@3________@ @@@*)ma_module_8_A@ภ$None_#D_$H@Y@@@:J@@@@@@R@@@@_0_1L@@b@@@R@$@@k@@@@@R@*@ @@@R@A@@@@@@R@A@@@@@@R@A@@@@@@R@A@@@R@@@ఐ&m_base_t_u@@@5@@@R@R@k@__N@@n@@@{@@Ġ)Parsetree_PY_Pb@.Pmod_structure_Pc_Pq@@;.Pmod_structure@,@@@9@AA@H@A))@@@*`@ఠ+p_structure _Pr_P}@_A@@?@@@3________@,@@@@@#@@<|@@@@@Ġ)Typedtree_P_P@.Tmod_structure_P_P@@Aఠ,tt_structure _P_P@_A@@I@@@%@@@@@@@@)@@_PX_P@@@.@ @@2@ @@<@@@@@@@@@>@@@@ఠ(elements __@`A@@S@3________@{[T@U@V70@1@2@@@ఐˠ1analyse_structure``@r@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)@@ఐ l#env`3`4@ V@@6@@ఐ -complete_name`@`A@@@['@@@F@@ఐ)pos_start`P`Q@=@@T@U@@ఐU'pos_end`_``@@@T@d@@ఐ +p_structure`n`o@m@@q@@ఐ,tt_structure`{`|@y@@T@#@@s@@@A@`@@@ఠ8included_modules_from_tt `JX`Jp@`A@@@@@3@@@2S@$3````````@@@@@@ఐ䠐;tt_get_included_module_list`Js`J@ʰ@@@!@@@*@@)@@@(@@@'@@&@@ఐ,tt_structure`J`J@@@<@@@5T@7T@61@@& @@92@A@`JT @@@ఠ)elements2 ``@`A@@`B}@@@PS@83````````@I[T@U@V@@@ఐ<>replace_dummy_included_modules``@@@@S;7@@@=@@@B@@A@SF-@@@@@@@?@@>`k@@@<@@;@@:)@@ఐ(elementsaa@{@@6@@ఐ8included_modules_from_tta"a#@@@@SoV@@@T@@@ST@[T@YN@@C@@SO@A@a2@@/@@@uR@s@@@@yR@wA@@@@@@~R@{A@@@R@@@@@R@@*&m_kindacad@ภ-Module_structakal+@ఐ)elements2au,av5@@@@@@@@lR@oR@n3a|a|a|a|a|a|a|a|@ @@@@@@M@@@eR@k@@@@R@A   @@@@@@R@A@@@@@@R@A@@@@@@R@A@@@R@@@ఐՠ&m_basea a@9@@@@@R@R@rI@aa7@@.L@@@/@@@05@N@@1@@Ġ)Parsetreea9Ba9K@,Pmod_functora9La9X@@;,Pmod_functor @,1functor_parameter@@@9b@@@9@BB@H@A,1,2%@@@-a@ఠ¶m2 b9Zb9`@bA@@@@@-3bbbbbbbb@@@@ఠ.p_module_expr2 b9bb9p@b"A@@@@@.@@@7b9q@@>@@@/@@Ġ)Typedtreeb%s|b&s@,Tmod_functorb*sb+s@@yఠ%param b4sb5s@bGA@@@@@44@ఠ/tt_module_expr2 bBsbCs@bUA@@X@@@5B@@@%bJs@@(@@@6G@@bO9AbPs@@@=@ @@7P@ @@?"@@@9@=@@@:@@8\@@@@@ఠ#loc bqbr@bA@@@@@S@3bubububububububu@|@}@~un@o@pQJ@K@LD=@>@?@@@@ఠ'mp_name bb@bA@@]u@@@S@@@ఠ'mp_kind bb@bA@@/@@@ S@+@@ఠ'mp_type bb@bA@@] @+module_type@@@S@@@@S@E@@O@@@O@7@(@@@P@@ఐנ¶m2bb@Z@@@@@3bbbbbbbb@c@@@@ఐ%parambb@h@@3@@@@@@@@@ @@@@Ġ)Parsetreecc@$Unitc c #@@;$Unit#@@@9G@@@@AA@A-N-O@@@./@@@ @@,@@@@@Ġ)Typedtreec$%c%.@$Unitc)/c*3@@;$Unitw@@@2@@@@AA@A]?-?/]?-?5@@@^-@@@ @@@@@@@7@@@(@ @@@@@Z@@@Š@@@@@@@@@@డ(Location$none(Locationc^7Fc_7N@ cb7Occ7S@@@@@$@~ ; ;~ ; G@@D@ @@@@!*cu7Vcv7W@@cx7Ucy7X@@S@ @@ภ2Module_type_structc7Zc7l@ภUհc7mc7o@U@@@à@@@@@@U@@@ @@%@@@!@@ภ$Nonec7qc7u@^I@@@^@@@0@@M@@@:@"@@@@;@@Ġ)Parsetreecvcv@%Namedcvcv@@;%Named@#loc@@@9E@@@9D@@@9C->@@@9F@B@AA@A. -/.!-Y@@@.0@@cvcv@@@@@@@@@@@@ఠ$pmty cvdv@dA@@-a@@@)@@@Bdv@@@@@.@@Ġ)Typedtreedvdv@%Nameddvdv@@;%Named@]U^!t@@@-@@@,^#loc]f^@@@0@@@/@@@.W@@@1@C@AA@A^?6?8^?6?s@@@_;@ఠ%ident dKvdLv@d^A@@/.@@@@@@y@@dYvdZv@@/-,@@@@@@@@@@ఠ#mty dmvdnv@dA@@W@@@@@@`duv@@@@@@@@@@v@ @@@@@@@@젠@@@@@@@@@@ఠ#loc dd@dA@@ \@@@ V@3dddddddd@(@@]V@W@X<5@6@7@@@ఐ$pmtydd@@@.@@@!@@)Parsetreedd@(pmty_locdd@@ @@*'@A@d@@@ఠ'mp_name d d@dA@@_@@@QV@"3dddddddd@=KD@E@F@@@డc`&Option$folddd@ dd @@$none!a@+*@@+$some@!b@+-@@+@@+@@+@\ݠ @@@+@@+@@+@@+@@+@\x\x @@\K@.)@@&GV@'@@."@^@@@SV@*@@-@@,@@+@! @@@)@@(@@&@@%@@$Y@A!*e<(e=)@@e?'e@*@@$V@Dg@Eడb$Name*from_identeP1eQ5@ eT6eU@@@^@@@^@@@O@@N`C@@@M@@L@@ఐ!%identelAemF@ʰ@@dO@@@?W@XW@V@@ @@[@A@ey @@@ఠ'mp_kind eJ]eJd@eA@@,@@@V@Y3eeeeeeee@@@@@@డ.%8analyse_module_type_kind#Sigegxeg{@ eg|eg@@, @@++, Р+@++, @@@o@@@n@@@mA@@@l@@@k@@@j@@i@, @@@h@@g@,@@@f@@e@,@@@d@@c@,@@@b@@a-2@@@`@@_@@^@@]@@\@@[U@+ภI}e`@e@+,NР+@+쐐+,L@@@@@@@@@A@@@@@@@@@@@x@@ఐH#envfgfg@2@@@@ఐF3current_module_namefgfg@.@@@@ఐ*$pmtyf)gf*g@@@,b@@@W@W@@@ఐҠ#mtyf?f@@@@Y@@@@@(mty_typefKfL@+@@,|@@@W@W@@@ @@@A@fWJY @@@ఠ'mp_type fbfc@fuA@@@@@V@3ffffffffffffffff@@@@@@డ$1subst_module_type(Odoc_envf{f| @ f f@@@&@@@d@@d@$+module_type@@@d@@d@@@d@@d@@d@$H L L$H L @@&U@!@@@&@@@@@@@@@@@@@@@@@@B@@ఐ#envff@ڰ@@MO@@ఐY#mtyf f#@#@@Z3@@@@c@(mty_typef$f,@,F@@K@@@W@W@q@@b @@ur@A@f @@@ఐT#locf0?f0B@@@xU@3ffffffff@@@@@@@ఐ)'mp_namef0Df0K@n@@m@@ఐ'mp_kindg0Mg0T@@@jU@@@ภ$Someg0Vg0Z@`Ġఐ'mp_typeg0[g0b@/@@i2@@@@b oS@@@@8@@> @@@?@@&@@@C@U@@ @@@ @@@ Z@o@@@@@g@crgAcs@@W@@@h@@@gIcugJcv@@@@@q@@@@@@ @@x@@@n@@@@@@@@@@@@ ภYghcgic@Y@@@Y@@@@gocz@@@@@Agq @@@@頠@ڠ@@@@A@g}@@@ఠ)loc_start gg@gA@@@@@S@3gggggggg@)"@#@$ @ @ @@@@@@@ఐ4#locgg@@@4@@@@@(Locationgg@)loc_startgg@@G@@@@@@0@&Lexinggg@(pos_cnumgg@@+@@B?@A@g@@@ఠ'loc_end gg@gA@@@@@S@3gggggggg@Uc\@]@^@@@ఐ#locgg@_@@@@@@@(Locationhh@'loc_endhh@@@@b@@@@*@&Lexinghh@(pos_cnumhh@@^+@@<9@A@h@@@ఠ,mp_type_code h**h+6@h=A@@0U@@@S@3h.h.h.h.h.h.h.h.@O]V@W@X@@@ఐ)|2get_string_of_fileh?9h@K@) @@@0y@@@@@@0v@@@@@0u@@@@@@@ @@ఐՠ)loc_starth]Lh^U@x@@0@@@T@T@4@@ఐ'loc_endhqVhr]@>@@0@@@T@T@H@@= @@LI@A@h}& @@@ఠ%param  haphau@hA@@cq0module_parameter@@@ S@3hhhhhhhh@aoh@i@j@@@3'mp_name@@@7-@@@2@@@ 3'mp_type ˠY+module_type@@@4@@@3@@A@Amm@@c_@3,mp_type_codeE@@@5@@B@An n6@@c`@3'mp_kind%N@@@6@@C!@Ao79o7T@@ca@@All@@c]@'mp_namehhAఐO @B@c@@@ I@9'mp_typehhAఐ> @Q@FE@@@@@@S@`@?,mp_type_codehh@ఐؠ,mp_type_codeii@o@@P@@@ S@!w@L'mp_kindiiAఐ} @@@@@'S@(@@@ixi @@@A@i!al@@@ఠ3dummy_complete_name ài,  +i-  >@i?A@@@@@-S@*3i0i0i0i0i0i0i0i0@@@@@@ఐ%paramiA  ViB  [@ @@@@@.@,@'mp_nameiM  \iN  c@@@@A@iQ  '@@@ఠ'new_env Ġi\  i]  @ioA@@(@@@CS@/3i`i`i`i`i`i`i`i`@1?8@9@:@@@డ'*add_module(Odoc_enviu  iv  @ iy  iz  @@Db@@@(@@@7@@6@Db@@@5@@4)@@@3@@2@@1)@@ఐѠ#envi  i  @@@.6@@ఐy3dummy_complete_namei  i  @@@@D@@@LT@KH@@9@@LI@A@i   @@@ఠ'm_base2 Ši  i  @iA@@H"S@Q3iiiiiiii@\jc@d@e@@@ఐd.analyse_modulei  i  @h@@@f@@^@c@@]@`@@\@Y@@[@V@@Z@M@@YH@@X@@W@@V@@U@@T@@S'@@ఐ'new_envi ! i !@1@@9T@}6@@ఐ*3current_module_namej!!!j!!4@@@C@@ఐ&+module_namej !5!Dj!5!O@@@P@@ภ$Nonej!P!_j!P!c@d@@@0J@^@@ఐ.p_module_expr2j(!d!sj)!d!@@@GT@m@@ఐ/tt_module_expr2j7!!j8!!@@@T@|@@q@@}@A@j>  @@@ఠ$kind ƠjI!!jJ!!@j\A@@@@@S@3jMjMjMjMjMjMjMjM@@@@@@ఐ'm_base2j^!!j_!!@ @@@&m_kindje!!jf!!@3 @@@A@ji!!@@//0@@@R@@+'@@@R@A)*)@@@@@@R@A#$@@@R@@@@@R@@a&m_kindj!!j!!@ภ.Module_functorj!!j!"@;.Module_functor@@@@;r@@@<@BB@I@Att@@@ed@ఐ3%paramj!" j!"@@@4@@@R@R@3jjjjjjjj@t{@|@}@@@ఐ$kindj!"j!"@ @@@@@R@R@@@9j!"@@@@@R@@fg@@@R@Aaba@@@@@@R@A\]\@@@@@@R@AXYX@@@@@@R@ATU@@@R@@@ఐ-&m_basek!!k!!@@@@@@R@R@]@k#!!k$!"@@`@@@@@@g@y@@@@@@ @@@@@@ @@G@\ @@@ @@@@Ġ)Parsetreek@"""kA""+@*Pmod_applykE"",kF""6@@;*Pmod_applyv@@@@9@@@9@BC@H@A5LN5Lw@@@6`b@ఠ.p_module_expr1 k^""8k_""F@kqA@@@@@_T@H3kbkbkbkbkbkbkbkb@@@@ఠ.p_module_expr2 ko""Hkp""V@kA@@@@@`T@I@@@9ky""W@@HA@@@J@@Ġ)Typedtreek"Y"bk"Y"k@*Tmod_applyk"Y"lk"Y"v@@ఠ/tt_module_expr1 k"Y"xk"Y"@kA@@b@@@qT@P8@ఠ/tt_module_expr2 k"Y"k"Y"@kA@@b@@@rT@QH@@k"Y"k"Y"@@@@@RP@@@1k"Y"@@@@@SU@@k""!k"Y"@@@I@ @@T^@ @^@@Ġ)Parsetreek""k""@*Pmod_applyk""k""@@.p_module_expr1k""k""@kA@@~@}.p_module_expr2k""k""@kA@@z@@@k""@@H@@@a@@Ġ)Typedtreek""k""@/Tmod_constraintl""l"#@@ঠ)Typedtreel##l##@(mod_descl##l##!@@Ġ)Typedtreel!##$l"##-@*Tmod_applyl&##.l'##8@@=/tt_module_expr1l/##:l0##I@lBA@@@/tt_module_expr2l9##Kl:##Z@lLA@@@@l@##\lA##]@@0@@@s@@@%lF##^@@$@@@t@@@lK## lL##_@@b@@@vU@u@@lU##alV##b@@R@@@w@@l]#d#pl^#d#q@@S@@@x@@le#d#slf#d#t@@U@@@y@@@mlk#d#u@@I@@@z@@lp""lq#v#@@@@ @@{@ @@@@@@ID@@@@_@@@@@@@@@ఠ"m1 Ǡl##l##@lA@@JS@3llllllll@@9@:@;0)@*@+ @@@@@@@ఐ?.analyse_modulel##l##@C@@@A@@@>@@@;@@@4@@@1@@@(@@#@@@@@@@@@@@@-@@ఐ#envl##l##@@@b:@@ఐ3current_module_namel##l##@@@hG@@ఐ+module_namel##l##@@@nT@@ภ$Nonel#$l#$@g@@@ J@b@@ఐ.p_module_expr1m$$m$$"@i@@JxT@q@@ఐz/tt_module_expr1m$#$1m$#$@@v@@yT@@@o@@w@A@m##@@@ఠ"m2 Ƞm"$N$\m#$N$^@m5A@@KrS@3m"m"m"m"m"m"m"m"@@@@@@ఐˠ.analyse_modulem3$N$am4$N$o@ϰ@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@ @@ @@ '@@ఐ#envmX$p$~mY$p$@{@@4@@ఐ3current_module_nameme$$mf$$@w@@A@@ఐ+module_namemr$$ms$$@s@@N@@ภ$Nonem~$$m$$@h$@@@J@6\@@ఐ.p_module_expr2m$$m$$@@@KT@7k@@ఐ/tt_module_expr2m$$m$% @@@T@8z@@o@@{@A@m$N$X@@/ij@@@VR@T@ea@@@ZR@XAcdc@@@`@@@_R@\A]^@@@dR@b@XY@@@hR@f@&m_kindm%%1m%%7@ภ,Module_applym%%:m%%F@;,Module_apply@@@@=@@@>@BC@I@Auu @@@he@ఐh"m1m%%Hm%%J@а@@g3mmmmmmmm@@@@@@&m_kindn%%Kn%%Q@ϰ @@@@@HR@MR@K@ఐ"m2n%%Sn%%U@@@@&m_kindn%%Vn%%\@ @@@@@IR@QR@O,@@Kn'%%]@@@@@AR@G3@@@@nR@lA@@@t@@@sR@pA@@@z@@@yR@vA@@@@@@R@|A@@@R@@@ఐy&m_basend%%%ne%%+@ݰ@@%@@@R@~R@St@no%%#np%%_@@w@@@K@\@@@@Ġ)Parsetreen%a%jn%a%s@/Pmod_apply_unitn%a%tn%a%@@;/Pmod_apply_unit@@@@9@AD@H@A88@@@9c@ఠ.p_module_expr1 n%a%n%a%@nA@@@@@T@3nnnnnnnn@!@@@@@% @@Kq@@@@@Ġ)Typedtreen%%n%%@/Tmod_apply_unitn%%n%%@@ఠ/tt_module_expr1 n%%n%%@nA@@e5@@@T@'@@@ @@­@@@+@@n%a%in%%@@@0@ @@4@ @4@@Ġ)Parsetreen%%n%%@/Pmod_apply_unitn%%n%%@@eZ.p_module_expr1n%%n%%@o A@@WT@@@@@K@@@X@@Ġ)Typedtreeo %&o %& @/Tmod_constrainto%&o%&@@ঠ)Typedtreeo&&,o&&5@(mod_desco"&&6o#&&>@@Ġ)Typedtreeo-&&Ao.&&J@/Tmod_apply_unito2&&Ko3&&Z@@ v/tt_module_expr1o;&&[o<&&j@oNA@@s@@@@@@@@@@@oD&&*oE&&k@@e@@@U@@@oN&&moO&&n@@K@@@@@oV&p&|oW&p&}@@L@@@@@o^&p&o_&p&@@N@@@@@@Zod&p&@@B@@@@@oi%%oj&&@@@r@ @@@ @@@@@@L=@@@@X@@@@@@@@@ఠ"m1 ɠo&&o&&@oA@@MS@3oooooooo@ @@@@@@@ఐ4.analyse_moduleo&&o&&@8@@@6@@@3@@@0@@@)@@@&@@@@@@@@@@@@@@@@@)@@ఐ#envo&&o&&@@@W6@@ఐ3current_module_nameo&&o&&@@@]C@@ఐ+module_nameo&&o&&@ܰ@@cP@@ภ$Noneo&' o&'@j@@@J@^@@ఐW.p_module_expr1o'' o''.@g@@MmT@m@@ఐ?/tt_module_expr1p'/'=p'/'L@u@@nT@|@@o@@l}@A@p &&@@/Ҡ@@@R@@Π@@@R@A̠͠@@@@@@R@AƠ@@@R@@@@@R@@&m_kindp='Z'rp>'Z'x@ภ1Module_apply_unitpE'Z'{pF'Z'@;1Module_apply_unit\@@@@?@AD@I@Agv  hv  :@@@k0f@ఐԠ"m1p\'Z'p]'Z'@@@հ@@3p[p[p[p[p[p[p[p[@@@@&m_kindpf'Z'pg'Z'@4 @@4@@@R@R@@@, @@:@@@R@@@@@R@A@@@@@@R@A@@@@@@R@A@@@@@@R@A@@@R@@@ఐ &m_basep'Z'fp'Z'l@&@@n@@@R@R@W@p'Z'dp'Z'@@Z@@@-@@Ġ)Parsetreep''p''@/Pmod_constraintp''p''@@ఠ.p_module_expr2 p''p''@pA@@O@@@3pppppppp@Z@@@ఠ)p_modtype p''p''@pA@@:K@@@@@@&p''@@M@@@@@Ġ)Typedtreep''q''@/Tmod_constraintq''q''@@ ఠ/tt_module_expr2 q''q'( @q!A@@g{@@@4@ఠ*tt_modtype q'(q'(@q/A@@@@@B@@q&'(q''(@@@@@J@@q.'(q/'(@@@@@R@@@5q4'( @@@@@W@@q9''q:'(!@@@M@ @@`@ @@N @@@ࠠ@'@@@@@l@@@@ఠ'm_base2 ʠqW(%(3qX(%(:@qjA@@OwS@3qWqWqWqWqWqWqWqW@@@}v@w@xYR@S@TLE@F@G@@@ఐ.analyse_moduleqn(%(=qo(%(K@ @@@@@ @@@ @@@ @@@ @@@@@@@@@@@@@@@@@@-@@ఐ̠#envq(L(Zq(L(]@@@):@@ఐʠ3current_module_nameq(^(lq(^(@@@/G@@ఐƠ+module_nameq((q((@@@5T@@ภ$Noneq((q((@l_@@@J@.b@@ఐ.p_module_expr2q((q((@i@@O?T@/q@@ఐɠ/tt_module_expr2q((q((@v@@@T@0@@o@@>@A@q(%(/@@@ఠ&mtkind ˠq()q() @qA@@9B@@@gS@13qqqqqqqq@@@@@@డ:8analyse_module_type_kind#Sigr() r()@ r()r()(@@8q@@888qР8@888o@@@G@@@F@@@EA@@@D@@@C@@@B@@A@8n@@@@@@?@8m@@@>@@=@8l@@@<@@;@8k@@@:@@99@@@8@@7@@6@@5@@4@@3U@8WภUr l@r @8Z8Р8R@8Q8P8@@@}@@@|@@@{A@@@z@@@y@@@x@@wx@@ఐ#envrt())ru(),@@@ @@డo$Name&concatr)-)<r)-)@@ r)-)Ar)-)G@@ 1@@@mw@@@@@@m~@@@@@m@@@@@@@@@ఐԠ3current_module_namer)-)Hr)-)[@@@9@@"??r)-)]r)-)_@@r)-)\r)-)`@@m@@@U@@@r)-);r)-)a@@m@@@@@ఐ栐)p_modtyper)b)pr)b)y@o@@9@@@kT@T@@@ఐǠ*tt_modtyper)b)zr)b)@@@9@@@iT@T@@@ @@@A@r(( @@@ఠ*tt_modtype ̠r))r))@s A@@H@@@S@3rrrrrrrr@ @@@@@డ01subst_module_type(Odoc_envs))s))@ s))s))@@ @@@2@@@@@@ @@@@@q@@@@@@@)@@ఐo#envs6))s7))@Y@@6@@ఐ'*tt_modtypesC))sD))@@@ @@@T@T@J@@; @@NK@A@sO)) @@ డq  s\))s]))@ @@@ G@@@S@S@@@@@@@@3sisisisisisisisi@lzs@t@u@@@@డ x>filter_with_module_constraints+Odoc_global"s))@ s))s)*@(@ v#ref s@@@n@@@n@ q}   r}  @@ pP@8@@  6@@@T@T@/@@B@@80@ఐk )filter_module_with_module_type_constraints**$s**M@4@@@h@@@@@@d@@@@@U@@@@@@@M@@ఐn'm_base2s**Ns**U@Ӱ@@mZ@@ఐؠ*tt_modtypes**Vs**`@d@@@@@T@T@n@@6 @@U@@@S@T@v@@s))@@ x@/@@@$R@"@&m_types**s**@ఐ*tt_modtypes**t**@@@@@@ R@ @@@@,@@@+R@(A@@@0R@.@@@@4R@2@&m_kindt&**t'**@ภ1Module_constraintt.**t/**@;1Module_constraintE@@@@B@@@C@BF@I@ATx h jUx h @@@oh@ఐ'm_base2tI**tJ**@W@@@&m_kindtP**tQ**@ @@@@@R@R@@ఐy&mtkindtb**tc**@_@@@@@R@R@@@?tm**@@7@@@R@@@@@:R@8A@@@@@@@?R@@@@r@@@duT ++@@2@@@w@@uY**uZ ++@@@|@ @@@ @@R,@@@@G@@@@@@@@@ఠ(elements ͠uw++ux+,@uA@@S@R3uwuwuwuwuwuwuwuw@@@c\@]@^JC@D@E@@@ఐI1analyse_structureu+,u+,@@@@H@@_@C@@^@>@@]@9@@\@4@@[@-@@Z(@@Y@@X@@W@@V@@U@@T+@@ఐꠐ#envu+,u+,@԰@@G8@@ఐ-complete_nameu+,u+,(@,@@p@@@~H@@ఐ)pos_startu+,)u+,2@@@tT@W@@ఐӠ'pos_endu+,3u+,:@|@@zT@f@@ఐ+p_structureu+,;u+,F@n@@~@@@v@@ఐڠ,tt_structureu+,Gu+,S@}@@T@@@v@@@A@v++@@@ఠ8included_modules_from_tt Πv,,v,,@v!A@@'A@@@@@@S@3vvvvvvvv@@@@@@ఐe;tt_get_included_module_listv',,v(,,@K@@@Ȣ@@@@@'^@@@@@@@@@@ఐ ,tt_structurevB,,vC,,@ð@@Ƚ@@@T@T@1@@& @@92@A@vN,, @@@ఠ)elements2 ϠvY,,vZ,,@vlA@@uà@@@S@3v^v^v^v^v^v^v^v^@I[T@U@V@@@ఐĽ>replace_dummy_included_modulesvo,,vp,-@@@@hĸ@@@@@@@@@hǠǮ@@@@@@@@u@@@@@@@)@@ఐ(elementsv,-v,-#@{@@6@@ఐ8included_modules_from_ttv,-$v,-<@@@@h@@@@@@T@T@N@@C@@SO@A@v,,@@/yz@@@R@@u&m_typev-X-dv-X-j@డ4p1subst_module_type(Odoc_envv-X-mv-X-u@ v-X-vv-X-@@X@@@6X@@@@@@X@@@@@1@@@@@@@3vvvvvvvv@@@@@@@ఐ 2#envv-X-v-X-@ @@@@ఐʠ*tt_modtypew-X-w-X-@@@@@@S@S@$@@> @@@@@S@*@ĠŠ@@@@@@R@A@@@ R@@@@@R@ @&m_kindw5--w6--@ภ-Module_structw=--w>--@Tఐ)elements2wG--wH--@[@@]@@@R@R@f@@ @@@@@R@l@ݠ@@@R@Aؠ٠@@@@@@R@AӠԠ@@@ @@@R@AϠР@@@&@@@%R@"Aˠ@@@*R@(@@ఐ&m_basew-@-Lw-@-R@@@P@@@)R@$R@@w-@-Jw--@@@@@:@P@@@@@#@@Ġ)Parsetreew--w--@+Pmod_unpackw--w--@@;+Pmod_unpack@@@@9@AF@H@AAA@@@Be@ఠ%p_exp w--w--@wA@@@@@3wwwwwwww@I@@@@@#@@T@@@@@Ġ)Typedtreew-.w-. @+Tmod_unpackw-.w-.@@ɏఠ&_t_exp w-.w-.!@xA@@p~@@@%@ఠ*tt_modtype w-.#w-.-@xA@@ɡ@@@3@@@%x-..@@@@@8@@x --x -./@@@=@ @@A@ @@T@@@ @@@@!@@M@@@@ఠ$code Рx'.3.Ax(.3.E@x:A@@&stringQ@@@mS@,3x.x.x.x.x.x.x.x.@rk@l@mNG@H@IA:@;@<@@@@ఠ#loc ѠxD.H.XxE.H.[@xWA@@UA@@@/T@-@ఐ!M-p_module_exprxV.H.^xW.H.k@!5@@&@)Parsetreex_.H.lx`.H.u@(pmod_locxd.H.vxe.H.~@@U9@@5@A@xi.H.T@@@ఠ'loc_end Ҡxt..xu..@xA@@$@@@7T@13xxxxxxxxxxxxxxxx@K?8@9@:@@@ఐG#locx..x..@@@%@@@6@4@(Locationx..x..@'loc_endx..x..@@%@@$@@@8@5*@&Lexingx..x..@(pos_cnumx..x..@@$+@@<9@A@x..@@@ఠ'exp_loc Ӡx..x..@xA@@@@@3xxxxxxxx@9G@@A@B@@@ఐO'exp_locy./y./@@@%@@@C@A@(Locationy./ y ./(@'loc_endy$./)y%./0@@%@@%@@@E@B*@&Lexingy3./1y4./7@(pos_cnumy8./8y9./@@@%|+@@<9@A@y=./@@@ఠ!s ՠyH/D/TyI/D/U@y[A@@As@@@ZT@F3yLyLyLyLyLyLyLyL@O]V@W@X@@@ఐ:2get_string_of_filey]/D/Xy^/D/j@:'@@@A@@@N@@M@A@@@L@@KA@@@J@@I@@H @@ఐ+exp_loc_endy{/D/ky|/D/v@*@@A@@@^U@`U@_4@@ఐ'loc_endy/D/wy/D/~@İ@@A@@@\U@bU@aH@@= @@LI@A@y/D/P @@డx&Printf'sprintfy//y//@ y//y//@@@&Stdlib&format!a@Ҡ$unitF@@@@@@@@@@@@@@*printf.mli@@.Stdlib__PrintfC@+&@@@#@&stringQ@@@ @@ S@ S@ @@ S@^*@@@a@@@b@@@`@@_@@]3yyyyyyyy@@@@@@@ภ8CamlinternalFormatBasicsyӠ&Formatyհz//z//A;&Format8CamlinternalFormatBasics'format6!a@ڠ!b@۠!c@ܠ!d@ݠ!e@ޠ!f@@@@ 7@'#fmt$ @@@ 5Z@@@ 6@B@@A@A@kU@  @@@ T@ Y@@J@ wU@ ^ lmno@@@ T@ e@*(val ...%s[@[@'@@@ T@ T@ q@@ba@@6@@@@kT@ }z@@ఐ0!s{x//{y//@@@T@ @@@@S@p@@@/@D@@~@ @@@ @@@ @@Q@A@{.3.= @@@ఠ$name {"00({"00,@{ A@@k!t@@@ S@ 3{{{{{{{{@j{t@u@v@@@ఐ*tt_modtype{#0/0A{#0/0K@q@@L@@@ 3{{{{{{{{@@@@Ġ)Mty_ident{$0Q0_{$0Q0h@;)Mty_identĕ@h!t@@@ @A@@D@AV)]/]3V*]/]F@@@X#@ఠ!p {$0Q0i{$0Q0j@{ A@@@@@ )@@@@@y@@@ -@@|@@@ 0@@@డ95full_module_type_name(Odoc_env{%0n0~{%0n0@ {%0n0{%0n0@@@;p@@@d@@d~@!t@@@d}@@d|n@@@d{@@dz@@dy@9j9j@@;L@!@@@;@@@ @@ @@@@ @@ @@@ @@ @@ 3||||||||@SL@M@N@@@@ఐ%c#env|*%0n0|+%0n0@%M@@@@డyy$Name)from_path|=%0n0|>%0n0@ |A%0n0|B%0n0@@@@@@@@ @@ w0@@@@@2@@ఐ!p|Y%0n0|Z%0n0@<@@@@@W@W@F@@|d%0n0|e%0n0@@wJ@@@L@@@@M@@|p&00|q&00@@@@@ @@@@@ @@@ |}&00@@|&00|&00@@@@@A|#0/0;@@@A@|"00$@@@ఠ%alias |(00|(00@| A@@wx1module_type_alias@@@1S@-3||||||||@ @ @ @@@ຠ3(mta_name@@@[w!t@@@X@@@ 3*mta_module Ӡ%@@@Z@@@YA@A @AJ  J  @@ww@@AI s uI s @@wv@(mta_name|(00|(00@ఐ<$name|(00|(00@2@@9@@@68@'*mta_module|(01|(01 @ภ$None|(01|(01@w@@@7[@@@E@@@DS@KR@@@|(00|(01@@\U@A@|(00@@/ƶƷ@@@R@@Ʋ&m_type}*101<}*101B@డ:1subst_module_type(Odoc_env}*101E}*101M@ }*101N}*101_@@@@@<@@@]@@\@@@@[@@Zn@@@Y@@X@@W3}$}$}$}$}$}$}$}$@@@@@@@ఐ&o#env}6*101`}7*101c@&Y@@@@ఐG*tt_modtype}C*101d}D*101n@ @@@@@kS@pS@o$@@> @@@@@US@i*@@@@@@@R@A@@@R@@@@@R@@9&m_kind}r+1q1}}s+1q1@ภ-Module_unpack}z+1q1}{+1q1@;-Module_unpackƑ@ @@@E@@@F@BH@I@A͡z  ͢z  @@@xjj@ఐm$code}+1q1}+1q1@@@@@@~R@R@u@ఐ%alias}+1q1}+1q1@}@@@@@R@R@@@7}+1q1@@{@@@wR@}@<=@@@R@A787@@@@@@R@A232@@@@@@R@A./.@@@@@@R@A*+@@@R@@@ఐ#&m_base})11$})11*@!g@@ȯ@@@R@R@@})11"},11@@\@ @@]b@y@@^a@y@@_@@ఠ*_parsetree ~ .11~ .11@~A@@Z@@@+!@@ఠ*_typedtree ~.11~.11@~.A@@@@@,!@@~#.11~$.11@@@@ @@-!@ @@Z@@@/@@@@0@@.!@@@డ|%raise~@/11~A/11@Sz@@@Sz@@@@@S@@@3~G~G~G~G~G~G~G~G@!G@@A@B92@3@4@@@@ภ'Failure~Z/11~[/11@E 4analyse_module: parsetree and typedtree don't match.~b/11~c/12#@@~e/11~f/12$@@N@@@S@S@"@@~o/11~p/12%@@S@@@S@*@@7@@+@@@A~x28 @@3~t~t~t~t~t~t~t~t@!@@@" @@#@# @@$@$ @@%@%@@&@&2@@&l@&@@&@&@@&@'@@'I@'A@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@J@'@@}~r I Analysis of a [Parsetree.module_expr] and a name to return a [t_module].~g~gF@@@@@@@~hGL>@@?@%@ఠ2analyse_typed_tree ~12'20~12'2B@~ A@@@)Unit_info(filename@@@ J@@@@F@@@J@@@@)Parsetree)structure@@@J@@@@}"@@@J@@@ɱ@@@J@@@J@@@J@@@J@@@J@3~~~~~~~~@`@@@࣠@+source_file A12'2C12'2N@ A@@F3@qU12'2,K7n7v@@@@@  @@*input_file A12'2O12'2Y@-A@@J3@!]@@@@@@@@)parsetree A+22Z2d,22Z2m@>A@гQ)Parsetree:22Z2p;22Z2y@V>22Z2z?22Z2@@@`@@@3????????@'3s@*@+@@ @@I22Z2cJ22Z2@@@j@@@@)typedtree AU22Z2V22Z2@hA@гk)typedtreeb22Z2c22Z2@@s@@@3bbbbbbbb@$E@@@@?@@@@  @@o22Z2p22Z2@@@ @@@@@@ఠ.tree_structure 322322@A@@}@@@O@3@&@@@@@:@;@@@@@322322@@}@@O@@@322322@@@ @@@@ఐ\)typedtree322322@"@@@(@'@A@322@@ ఐ@,prepare_file422422@@@@@G@@@@@@G@@@@@G@@@@@@@3@IYR@S@T@@@@ఐޠ+source_file422422@ð@@ @@ఐנ*input_file422422@@@@@2@@a@@@ O@#@@ఠ(mod_name 63,3763,3?@A@@A'modname@@@O@3@8@@@డ)Unit_info7lax_modname_from_source)Unit_info63,3B63,3K@  63,3L!63,3c@@@b@@@@@$@@@@@@5parsing/unit_info.mliii@@hK@@@@r@@@@@4@@@@@2@@ఐE+source_fileH63,3dI63,3o@*@@?@@0@@E@@A@M63,33@@@@ఠ#len (\73s3~]73s3@oA@@H(@@@FO@3````````@jc@d@e@@@@ఠ(info_opt )p73s3q73s3@A@@H6H5H4@@@H@@@GO@@@#@@@#@@@ @డI(preamble#Sig73s373s3@ 73s373s3@@@H@@@bL@@bK@H@@@bJ@@bI@@H@@bHHH@@@bG@@bF@@bE@HH@@@bD@@bC@H@@@b@@HO@@@bB@@@bA@@b?@@b>@@b=@@b<@@b;@H@H~;6@@@H@@@*@@)@H@@@(@@'@@K@@@{O@"@@&8@@@%@@$@@#@H@@@!@@ @H@@@@H@@@@@@@@@@@@@@@@3@@@@@డ.@.B73s373s3@.?@@@.?I@@@RP@bP@U@@@W@@V@@T@@ఐB)file_name+73s3@BP@@.Z@@@^Q@aQ@_@@' @@@@డ.r.tA73s3B73s3@.q@@@.qI<@@@PP@rP@e@@@g@@f@@d@@ఐCK$file]73s3@B԰@@.@@@nQ@qQ@o@@' @@@@࣠@!x *Av833w833@A@@@@@@ఐ!x833833@@@@@3@%@@@)Parsetree833833@(pstr_loc833833@@K߰@@@@@|Q@z@833833@@@@@N@@@M@@LP@P@~H@@ఐ)parsetree833833@P@@@@@@@,@@@d@R@@P@Ea@A@73s3z@@@ఠ(info_opt +933933@A@@L۠L@@@@@@O@3@|@@wp@q@r@@@ఐM!7analyze_toplevel_alerts933934@J@@@MM@@@@@@@@@tEM@@@@@@@@M M@@@@@@@@@@.@@ఐ(info_opt934934@6@@MFMC@@@@@@P@P@F@@ఐ)parsetree/9340934#@Ȱ@@Q@@@V@@I@@^W@A@7933@@@ఠ(elements ,B;4Z4eC;4Z4m@UA@@tЊ@@@@@@O@3JJJJJJJJ@q|@}@~@@@ఐ1analyse_structure[;4Z4p\;4Z4@@@@A@@@@@@}M@@@@@@I@@@@@@J@@@@@@ @@@@@@@@@@@tΠ@@@@@@@@@@@@@@@@@@@@@డ@:%empty(Odoc_env;4Z4;4Z4@ ;4Z4;4Z4@@B@@@d2@@"W@#W@@B A@ @@B*@@@P@P@e@@ఐ(mod_name;4Z4;4Z4@Y@@@@@u@@ఐr#len;4Z4;4Z4@@@JF@@@P@P@@@డ$&String&length;4Z4;4Z4@ ;4Z4;4Z4@@@&stringQ@@@\@@[#intA@@@Z@@Y.%string_lengthAA @@@*string.mlia((a(Z@@.Stdlib__StringD@$@@@@@@s@@r@@@q@@p@@డ0R0T!;4Z4";4Z4@0Q@@@0Q;@@@|Q@Q@@@@@@@@~@@ఐE+$file=;4Z4@D@@0l@@@R@R@@@' @@@@I;4Z4J;4Z4@@Kx@@@@Q@z@@ఐ4)parsetree\;4Z4];4Z4@@@@@@P@P@@@ఐ.tree_structurep;4Z4q;4Z4@@@@@@P@P@+@@  @@3,@A@|;4Z4a @@@ఠ8included_modules_from_tt ͠<44<44@A@@4Ժ@@@@@@O@3@FXQ@R@S@@@ఐޠ;tt_get_included_module_list<44<45@İ@@@@@@@@5@@@@@@@@@@ఐ:.tree_structure<45<45 @@@6@@@P@P@1@@& @@92@A@<44 @@@ఠ)elements2 Π=5$5/=5$58@A@@<@@@@@@O@3@L^W@X@Y@@@ఐ9>replace_dummy_included_modules=5$5;=5$5Y@΍@@@v84@@@@@@@@@vC*@@@@@@@@h@@@@@@@)@@ఐР(elements=5$5Z=5$5b@~@@v_A@@@P@P@>@@ఐ8included_modules_from_tt'=5$5c(=5$5{@H@@vt[@@@@@@P@P@V@@K@@^W@A@7=5$5+@@@ఠ$kind ϠB>55C>55@UA@@@@@O@3FFFFFFFF@mx@y@z@@@ภ-Module_structT>55U>55@kఐ)elements2^>55_>55@@@tҧ@@@@@@O@O@!@@@@4@@@%@A@q>55@@/7&m_name{@55|@55@ఐ(mod_name@55@55@@@@@@3@@NG@H@I@@@D&m_typeA55A55@ภ%TypesA55A55@-Mty_signatureA55A55@@ภvA55A55@v@@@@@@N@)@@@@e@@@N@/@g&m_infoB56B56 @ఐ(info_optB56B56@y@@xw@@@ @@@ N@J@q.m_is_interfaceC66#C661@ภw C664C669@w @@@΀@@@N@_@z&m_fileD6<6ED6<6K@డr2*2,D6<6ND6<6O@2)@@@2)Γ@@@N@"@@@$@@#@@!@@ఐF)file_nameD6<6X@F8@@2B@@@+O@.O@,@@% @@@론&m_kind$E6[6d%E6[6j@ఐ렐$kind-E6[6m.E6[6q@@@@@@4N@5@κ%m_loc;F6t6}<F6t6@ຠ.(loc_implFF6t6GF6t6@ภ$SomeNF6t6OF6t6@~డ"'in_file(Location^F6t6_F6t6@ bF6t6cF6t6@@@&stringQ@@@$@@$1@@@$@@$@1D  1D  @@1F@@@@@@@R@@Q2 @@@P@@O@@డ22F6t6F6t6@2@@@21@@@_O@oO@b@@@d@@c@@a@@ఐG/)file_nameF6t6@Fΰ@@2ؠ@@@kP@nP@l)@@' @@*@@F6t6F6t6@@6@@@DN@K@pO@]6@@s @@/8 @@@CN@J=@/2)loc_interF6t6F6t6@ภ$NoneF6t6F6t6@{@@@/B/A@@@y@@@xN@W@@@F6t6F6t6@@h@@@;N@_@b*m_top_depsG66G66@ภx@G66G66@x?@@@qp@@@@@@N@x@k&m_codeH66 H66@డ3E3GH66H66@3D@@@3DY@@@N@N@@@@@@@@@@డ3-)keep_code+Odoc_global4H67 @ 7H67 8H67@%@3+&@@3h$@@@O@O@@@0 @@&@ภ$SomeJH67KH67@డ33UH67VH67@3@@@3@@@N@N@N@@@@@@ @@@@ఐHa$filesH67#@G@@3@@@O@O@@@) @@@@5 @@@@@N@@ภ$NoneH67)H67-@2@@@N@@H66H67.@@ @+m_code_intfI717:I717E@ภ$NoneI717HI717L@H@@@@@@@@@N@$@+m_text_onlyJ7O7XJ7O7c@ภxJ7O7fJ7O7k@x@@@@@@N@9@@@?55@@;@U@@{@@@@@@4@M@@z@@@@@@f@@@@ @@@@@B@A@J@@A@@@@Oc@K@HO]@@HHM@HcG@HG@GG6@GhF@FF@Fl>s@>>c@7+{@++k@(%@%w@g@ @'@7@Iї@ф@yw@TR@'%@c@@>@@QJ@K@L@@3@oT@@  L7w7|@<3        @LL@@@@OO3@O@@@@ @ @@GAA@/@RoQR^)@@RVO@O@@ O@@@3@OO@OܐOӑO@KlKk@KbKa@KXKW@KEKD@K2K1@JJ@JJ@JJ@J{Jz@JLJK@JJ@JI@II@II@IjIi@@@IFO@@I>H@HHr@HH@H7G@GG-@G_F@F>@?8>@8S+@, +@)j%@& @Q@^ۂ@ۜr@جՌ@վ @6@@@ќњ@7@@@u@@@hP6@@@P8(Odoc_astX@@ƱW@@T@@UU S@@Y R@@]wQ@@^ѱP@@_lO@@`ֱN@@dM@@eBK@@gE"J@@hH%I@@is(H@@l+G@@.F@@1E@@<4D@@ű7@@@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 2001 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************N N5@ $* Analysis of implementation files. u * This module is used to search for structure items by name in a Typedtree.structure. One function creates two hash tables, which can then be used to search for elements. Class elements do not use tables. SU " FIXME when we will handle tuples wdwd@ D* Like {!Odoc_sig.analyze_toplevel_alerts} but acts on a structure. P㠠 S* This variable is used to load a file as a string and retrieve characters from it.I !* The name of the analysed file. Im * This function takes two indexes (start and end) and returns the string corresponding to the indexes in the file global variable. The function prepare_file must have been called to fill the file global variable.I [* This function loads the given file in the file global variable and sets file_name.H 4* The function used to get the comments in a class. H> 5* The function used to get the comments in a module. G * This function takes a parameter pattern and builds the corresponding [parameter] structure. The f_desc function is used to retrieve a parameter description, if any, from a parameter name. @ 4 we give a name to the parameter only if it is unit 2&?&K3&?&@ ) a () argument, it never has description 8&&9&'@ 2 implicit pattern matching -> anonymous parameter >''?'('@ * Analysis of the parameter of a function. Return a list of t_parameter created from the (pattern, expression) structures encountered. 9G  We keep this case for two reasons: 1. so odoc continues to gather together all arguments for functions written as [fun x -> fun y -> fun z -> ...]. 2. so we can call [tt_analyse_function_parameters] as a subroutine of [tt_analyse_method_expression]. Methods nest all arguments after [self] as a separate [Texp_function] node. G5+, H<--@ - FIXME: ppxes/camlp4 can generate this case. M@.c.oN@.c.@ H implicit pattern matching -> anonymous parameter and no more parameter SC./TC./P@1 FIXME : label ? YD/Q/]ZD/Q/r@ * Analysis of a Tstr_value from the typedtree. Create and return a list of [t_value]. @raise Failure if an error occurs.-; a new function is defined bV2M2XcV2M2w@2 create the value ha4/4:ia4/4P@8 a new value is defined np6U6`op6U6|@= new identifiers are defined t: :u: :9@ K FIXME : by now we don't accept to have global variables defined in tuples z:::E{:::@ ' something else, we don't care ? FIXME ::::@ * This function takes a Typedtree.class_expr and returns a string which can stand for the class name. The name can be "object ... end" if the class expression is not an ident or a class constraint or a class apply. *  ( match clexp.Typedtree.cl_desc with Tclass_ident _ -> prerr_endline "Tclass_ident" | Tclass_structure _ -> prerr_endline "Tclass_structure" | Tclass_fun _ -> prerr_endline "Tclass_fun" | Tclass_apply _ -> prerr_endline "Tclass_apply" | Tclass_let _ -> prerr_endline "Tclass_let" | Tclass_constraint _ -> prerr_endline "Tclass_constraint" ); < < ==@ | Typedtree.Tclass_fun (_, _, class_expr, _) -> tt_name_of_class_expr class_expr | Typedtree.Tclass_let (_,_,_, class_expr) -> tt_name_of_class_expr class_expr >>?@?B@ @* Analysis of a method expression to get the method parameters. 'F 4 it is not a function since there are no parameters AA+AAc@< we can't get here normally AdApAdA@3 no more parameter BB(BB?@ * Analysis of a [Parsetree.class_struture] and a [Typedtree.class_structure] to get a couple (inherited classes, class elements).  4 ?!? : not an arrow type ! return the original type RRRS@ " update the parameter description 1V5V?1V5Ve@ 4 ?!? : not an arrow type ! return the original type BYYBYY@ " update the parameter description Z]O]YZ]O]@5 don't give a $*%@ ! `^c^o`^c^@ r* Analysis of a [Parsetree.class_expr] and a [Typedtree.class_expr] to get a pair (class parameters, class kind). Ϡ . we try to get the name from the environment. ubZbjubZb@ V FIXME : Unfortunately, we don't have a Tclass_ident :-( even for a class tutu = toto vbbvbc@ t Here, type parameters are not present as Types.type_expr, however they can be found in the class_type ycAcKzcc@ / cltyp is the class type for [type_exp_list] p ~dPd`~dPd@ S we need the class signature to get the type of methods in analyse_class_structure fAfKfAf@ we check that this is not an optional parameter with a default value. In this case, we look for the good parameter pattern iij6j@ $ there must be a Tcl_let just after kWkikWk@. strange case n<nQn<nc@ 1 we create the parameter and add it to the class ndnyndn@ C no optional parameter with default value, we create the parameter oo/oov@ we want an ident, or else the class applied will appear in the form object ... end, because if the class applied has no name, the code is kinda ugly, isn't it ?  qq r:r@> FIXME : obtain the full name rsrs1@ V FIXME : Unfortunately, we don't have a Tclass_ident :-( even for a class tutu = toto sEsUsEs@ . we try to get the name from the environment. tt3tte@ we don't care about these lets "x:xD#x:xh@ f FIXME analysis of the class type ? We don't have all the infos. cf. Odoc_sig.analyse_class_type_kind (z'z3)z'z@ Sig.analyse_class_type_kind env "" p_class_type2.Parsetree.pcty_loc.Location.loc_start.Lexing.pos_cnum p_class_type2 tt_class_expr2.Typedtree.cl_type .zz/{{@ a* Analysis of a [Parsetree.class_declaration] and a [Typedtree.class_expr] to return a [t_class].r * Get a name from a module expression, or "struct ... end" if the module expression is not an ident of a constraint on an ident. څ J* Get the list of included modules in a module structure of a typed tree. ז B FIXME : search within modules and module types, with which env ? =<Oc><O@ * This function takes a [module element list] of a module and replaces the "dummy" included modules with the ones found in typed tree structure of the module.  * This function removes the elements of the module which does not belong to the given module type, if the module type is expanded and the module has a "structure" kind. - * This function removes the elements of the module type which does not belong to the given module type, if the module type is expanded and the module type has a "structure" kind.  # FIXME: type details can be hidden LM@ R* Analysis of a parse tree structure with a typed tree, to return module elements.9 ]* Analysis of a parse tree structure item to obtain a new environment and a list of elements.2, don't care XY@ + of rec_flag * (pattern * expression) list ^Zd_Z@ For each value, look for the value name, then look in the typedtree for the corresponding information, at last analyse this information to build the value deX@ " FIXME when we will handle tuples jk.@ ; we already have the optional comment for the first value. pyqy@? of string * value_description v7w7 @ % of (string * type_declaration) list |Qx}Qx@ 6 the comment for the first type was already retrieved vSvS@ 4 we get the extension declaration in the typed tree @< a new exception is defined XbXւ@ 4 we get the exception declaration in the typed tree @9 of string * module_expr L%0L%M@ N FIXME : can this be Tmty_ident? In this case, we wouldn't have the signature ffa@ R FIXME Here problem: no link with module types in module constraints uv@ 6 the comment for the first type was already retrieved hh@ 6 the comment for the first type was already retrieved )c@ N FIXME : can this be Tmty_ident? In this case, we wouldn't have the signature AOA@ , FIXME : extend the environment after open? @ ' we start by extending the environment &0&[@ ' we start by extending the environment xx@ we add a dummy included module which will be replaced by a correct one at the end of the module analysis, to use the Path.t of the included modules in the typdtree. [%]@ + FIXME: extend the environment? With what? ee@ J* Analysis of a [Parsetree.module_expr] and a name to return a [t_module]. 2 + FIXME : Odoc_env.subst_module_type env ? nn@ 8 code is set by the caller, after the module is created @ ' we must complete the included modules I@0Name.concat "__"  A  U@4 TODO: FIX THIS __  g r g @> needed for recursive modules  ++ ++@ ' we must complete the included modules ,W,a,W,@ R let name = Odoc_env.full_module_type_name env (Name.from_path (fst pkg_type)) in  !// !/0@ ' We create the t_module for this file. 523523+@ ' we must complete the included modules :4'4.:4'4Y@@../ocamlopt.opt)-nostdlib"-I(./stdlib"-g0-strict-sequence*-principal(-absname"-w8+a-4-9-40-41-42-44-45-48+-warn-error"+a*-bin-annot/-strict-formats"-I(ocamldoc"-I%utils"-I'parsing"-I&typing"-I(bytecomp"-I,file_formats"-I&lambda"-I*middle_end"-I2middle_end/closure"-I2middle_end/flambda"-I=middle_end/flambda/base_types"-I'asmcomp"-I&driver"-I(toplevel"-I%tools"-I'runtime"-I1otherlibs/dynlink"-I-otherlibs/str"-I4otherlibs/systhreads"-I.otherlibs/unix"-I8otherlibs/runtime_events2-function-sections"-cQR F/home/ci/builds/workspace/main/flambda/false/label/ocaml-ubuntu-latest =210/.-,+*)('&%$#"! @@02Q&|L# 3jjjjjjjj@i@@t0eT$BbRM dc5Build_path_prefix_map0DGl}%Y5Lhi8CamlinternalFormatBasics0|.e1R$|o0CamlinternalLazy0zY# #4#-*Cmi_format0`M{?w}@*Data_types0v\3,Svh#Env0S B2*Format_doc0uy@GmWUࠠ%Ident0>ЃzV)j⠠,Identifiable0]/*N )Load_path0,j " nn7ݠ(Location0nBɊOn?7~ؠ)Longident0wP q;ɡ$Misc0Bpg]?[qǐ0hlqıTOЙ0D:L(Odoc_env0>I?)]O20>@ӽX4IdN0Lt.`?9:777Ő0=V0^@GD--0C:K}Ŗ%0/-05ɍM!W)Odoc_name0 d L_,0n6sApTTF0A6}s Up:g䠠0~b:x_B*Odoc_types0ϸf%,e80FJ]\fѬ+Outcometree0BuG^)= 9c )Parsetree0v o[pY Y$Path0k.tbGmᠠD0[R  t|̠)Primitive0dU=\I/}%Shape0 M``ll&Stdlib0t0VoS%{<F:.Stdlib__Buffer0,I[?z.Stdlib__Digest0#z25I*.Stdlib__Domain0'Ϳo\0m.K.Stdlib__Either0HD ?|>.Stdlib__Format00FClW/Stdlib__Hashtbl0(L%bԠ,Stdlib__Lazy0$1mlࠠ.Stdlib__Lexing0^m|e,Stdlib__List0+TJaN.?+Stdlib__Map0*4ɇ2ɠ%Subst0=aqT/!p+.Type_immediacy00$ jbv\"k&0L+=%Eȧk]U젠Ԑ0"|Vȷ`X )Unit_info0'T Χ@aR/Value_rec_types0`4xiVC(Warnings0Ef{&@@Av@JT;Epp@q\qf w @֑@RS@99ww@YEYO`\`f@$@}@ff@qÑqͰ9Б9@))Q==@@_i)Ibc@@%[%e  @@!z!ICIM@@fJfTvvװ6@7A&@+5@@HFHk''@@@@>N>X@͚͐ E@GoGy@#V#`Weue%e/@@@ƇƑ@  CMhohy@YY@@eo(@@@ݑ@NO@@@@**@00@@6@j(@i]ig@cޑ  @zz&pp!@@@ C Mԑް$$k‘k@ ۑ @ZZ@)31NNƓO@<<34@@LL4Z4dy@.:.D@ޑ"\"j.@@(2@Ñ@aՑa@ΑذUU @@@))"גS@@@'@)ّ)A2A<@Ͱͺ99@5?3M3W6@z @@n0n:@  ]]0ܑ@Ge@:ԑ:ް"0@@9C"<MYMc@@TUW W@OO |@ @k&k0@@@7A@X X@@ ;@@dd dud@b4b>e*e4t~^^@H@@@đ@ΰKU@ÑͰ@‘Ađ@sǑs@1;@@r| @@CXCb@@<<@@@@#|#?֑?@(F(Pw@>>GoG}iiLkLu@@NnNx@*_6@iAiK‘@Z[55@^^@Gv@@@D"D,@5B5L")"3@bbϑٰ@ (7(Ajjhr@ǑѰ@@^7^A@,,55CLL@xS@QQM[XUX_@@%G%Q__LV@'1@,U,_\fs}ґ@@&0@@1;@z7zEu!!NN@@OY77s@U_YZYd@;;@VAVK@@!+.m.wnn @@~@@@@>@@5M5W@w;;@@9C>ӑ>@%R%\@@cґc@55@@@MW@//@DDLMll@@55@G0G:(4@@$ґ$ܰ*o*@w|w@m(m2@z@滑Ű k u@XX@ArA|&cS@4ԑ4@ Ց @_ݑ_@@x7@LLðZґZ!@@.*.4+5@@@Z@N/N9@@33@$w$is@{)39NN@cͰ  @̰ˑ@ttwLwV@@ii@uU_@&Ǒ&Ѱ)YcVߘV@@U@@%ޑ%@@Po@W$DW W@@@@@@A@@@AD}@xA@JBB@@@AB9@@@*B"@@@ABCBz@@@yBq@@@+B#@@@AuBm@@@PBH@@@ABCD@@d@d@@@`@`@@@ABCk-@k*@@@g@g@@@An[@nX@@@\@\@@@ABDp@p@@@og@od@@@f@f@@@Alo@ll@@@f@f@@@ABCA@@@oAD@@@sI@sF@@@ABDE@@BA@@@C@@