Caml1999T037 UX:qC(Odoc_astР(Asttypes(Asttypes4ocamldoc/odoc_ast.mlQ`eQ`m@@ 3@@@@@@#intA;@@#intA@@@@@&_none_@@A@A@$charB;@@$charA@@@@@ @A@&stringQ;@@&stringA@@@@@@@@%bytesC;@@%bytesA@@@@@@@@%floatD;@@%floatA@@@@@@@@$boolE;@@%falsec@@%@$trued@@+@@@A@@@@@,@A@$unitF;@@"()e@@6@@@A@@@@@7@A@ #exnG;@@@A@@@@@;@@@#effH;@@O@A@A@@@@@@D@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@T@@@%arrayJ;@@R@A%arrayA@@@@@@_@@@ $listK;@@S@A"[]f@@l@"::g@@@T@@y@ @@A@Y@@@@@|@@@&optionL;@@V@A$Noneh@@@$Somei@@@@@A@Y@@@@@@@@)nativeintM;@@)nativeintA@@@@@@@@%int32N;@@%int32A@@@@@@@@%int64O;@@%int64A@@@@@@@@&lazy_tP;@@X@A&lazy_tA@Y@@@@@@@@ 5extension_constructorR;@@5extension_constructorA@@@@@@@@*floatarrayS;@@*floatarrayA@@@@@@@@&iarrayT;@@Y@A&iarrayA@Y@@@@@@@@ *atomic_locU;@@Z@A*atomic_locA@@@@@@@@@ .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@@A5!4!@)Not_foundZ#O@@@A&=)<)@-Out_of_memoryW#W@@@A.E1D1@.Stack_overflow^#_@@@A6M9L9@.Sys_blocked_io_#g@@@A>UATA@)Sys_error[#o@j@@AG^J]J@:Undefined_recursive_modulea#x@@w@s@u@@h@@AXo[n[@:Continuation_already_takenb#@@@A`wcvc@&Stdlib@@@@A3@@@Q``@)ocaml.doco # 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=@@@@@@@@#@@@ @@@@@г,)Typedtree+U,U@3/U0U@@@;@@@H&@@7@@76@30//00000@^@@Р.Odoc_parameter.Odoc_parameterCWDW@@ 3BAABBBBB@qga@@@@A3DCCDDDDD@@@LW @@ @3IHHIIIII@@@Р*Odoc_value*Odoc_value\X]X@@ 3[ZZ[[[[[@@@@@A3\[[\\\\\@@@dX@@ @3a``aaaaa@@@Р)Odoc_type)Odoc_typetYuY@@ 3srrsssss@@@@@A3tssttttt@@@|Y@@ @3yxxyyyyy@@@Р.Odoc_extension.Odoc_extensionZZ@@ 3@@@@@A3@@@Z@@ @3@@@Р.Odoc_exception.Odoc_exception[['@@ 3@@@@@A3@@@[@@ @3@@@Р*Odoc_class*Odoc_class\(-\(7@@ 3@@@@@A3@@@\((@@ @3@@@Р+Odoc_module+Odoc_module]8=]8H@@ 3@@@@@A3@@@]88@@ @3@@@Р*Odoc_types*Odoc_types^IN^IX@@ 3@@@@@A3@@@^II@@ @3@@@0Typedtree_search{Bd29d2I@wA@БA+#ele}CfU^fUa@@;@@!M~@@@@@gdj gdw@@2FA"MT@@@@@-hx~.hx@@@GA!T@@@@@;ipC@@г#eleGpHp@@'3DCCDDDDD@Z@:9;@@@AA@@@@@@@@'@@@$@@@@г0)Typedtree_p`p%@7cp&dp9@@@?@@@Lhp9@@;@@;:@3eddeeeee@ @@A+*tab_valuesEtqENuqEX@@;@@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_patterns s@PA@@@)Typedtree,pattern_desc %value@@@ F@ @@@ F@ @@ |+Odoc_module$Name!t@@@ F@ @@@ F@ @@ F@ 321122222@s@@@@Ġ)TypedtreeFtGt@(Tpat_anyKtLt@@;(Tpat_any<5@@@@@@@@@@ALAA4typing/typedtree.mliO  O  3@@@Di@@@@@L3YXXYYYYY@([bscx@@@@@@ภ$Nonejtkt@;G@@W@@@@AA@AA@@@@@N@Ġ)Typedtree~uu@(Tpat_varuu@@;(Tpat_vartm@@@@@@@%Ident!t@@@(Asttypes#loc&stringQ@@@@@@#Uid!t@@@@C@ALAAYQ E GZQ E @@@k@ఠ$nameuu @QA@@2!t@@@ J@ 3@j@@@@uu@@50@@@ @@@  @@uu@@1@@@ @@@`u@@@Ġ)Typedtreevv%@*Tpat_aliasv&v0@@;*Tpat_aliasݠ@@@@@@@/general_pattern@@@@@@A@@@n#lock@@@@@@i!t@@@%Types)type_expr@@@@EAALAAS  U  @@@ l@@(v2)v3@@1@@@ @@@ i@|$name7v58v9@JRA@@ys@@>v;?v<@@97@@@ @@@ @@Jv>Kv?@@:@@@ @@RvASvB@@<@@@ @@@qXvC@@G@@@@H@@@ภ$Some`vHavL@;@A@AA@A4@@డ$Name*from_identrvNsvR@ vvSwv]@@@%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@@@ภ$Nonewdwd@@@@T@@ x!x@@Z@@@ภ$None(x@@@@b@@A%param-s@@@@@#F@*W@A@@@@ఠ-add_to_hashes=z>z@PTA@@@&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@+@@,&@@@,@@+@@+@%@@@+@@+@@@+@@+@@+3ihhiiiii@d]@^@_@@@@࣠@"idA} + F} + H@cA@@(3~}}~~~~~@@@@@@@డ'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 7~ L  8~ L @X@@e@@@@@@@,bN@,5k@ A} + A B~ L @@@@@,@@@,@@,L@,gL@,d@@ఐJ"mb Z~ L  [~ L @@@`@@@,n@,k@%mb_id f~ L  g~ 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 b a a b b b b b@kd@e@f@@@@࣠@"mbA xA   yA  @ dA@@(3 w v v w w w w w@@@@@@@డ&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 9C  A :C  C@E@@H@@ =C  0 >C  D@@@@@2SN@@ CC  - DC  E@@P@2BS@@ภ)Typedtree RD F Z SD F c@+Tstr_module WD F d XD F o@@aఐ"mb bD F p cD F r@@@q@@ fD F Y gD F s@@P@2]v@@@@3@@@2`P@2-|@ qB   rE t @@@@@2 A@@@2 @@2 N@2eN@2b@@ఐ"mb E 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 1I   2I  @q@@@@ภ"MT =I   >I  @; O@ AA@H@A @@ డ {$Name*from_ident OI   PI  @  SI   TI  @@ݰ@@@@@@2@@22@@@2@@2=@@ఐ#mtd mI   nI  @I@@@@@2@2Q@&mtd_id yI   zI  @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 7K > Q 8K > 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@; 0 = :@@U@@@@AA@A @@ 3@@ @@@@@2@@@23        @@@@ @@@@2@@@2@@@ ภ%false L i  L i @;  @@@M@@@@B@@A @@ @ @@@@@2@ L i { @@c@Ġ":: M  M  @; b8@ `B@AA@A @@ Zఠ#ext M   M  @fA@@@@@2@@M  M  @@ r@@@2@@@2@@@ @@@@@2@@@2@@@@@2@@@2@@@డ 'Hashtbl#add9M  :M  @ =M  >M  @@@@@F@2F@2@@@2@@2@ @@2@ @@2@@@2@@2@@2@@23TSSTTTTT@)UN@O@P@@@@ఐ%tablefM  gM  @@@"@@ภ!XrM  sM  @; @ AE@H@A @@ డ $Name*from_identM  M  @ M  M  @@@@@@@@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"ttM  M  @:@@@@@@@@@AJ  8N  @@I@Ġ)Typedtree,O  -O  @.Tstr_exception1O  2O  @@;.Tstr_exception;@ #.type_exception@@@W@AE@N@A CFCH CFCj@@@ (@ఠ#extHO  IO  @[\A@@@@@*|3JIIJJJJJ@l@@@@@%@@@@@@@డ 'Hashtbl#add^P  _P  @ bP  cP  @@˰@@@!F@:F@:@@@:@@:@ @@:@ @@:@@@:@@:@@:@@:3yxxyyyyy@<5@6@7@@@@ఐ栐%tableP  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_id P  P P  V@\D@@ @@@:M@:M@:@@P  )P  W@@ @@@:@@P  &P  X@@L@:@@ఐ_"tt)Q Y e*Q Y g@J@@@@@@@Ġ)Typedtree9R 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#@@@ @@ఠ"rf`R h aR h @s]A@@ @@@*3baabbbbb@@@@ఠ4ident_type_decl_listoR h pR h @^A@@)(@@@*@@@*@@@B{R h @@@@@@@డ$List$iterS  S  @ 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  @ @@@ @@ภ!T U   U  @; @ AB@H@A @@ ӠడJ$Name*from_identU  U  @ "U  #U  @@ @@@ @@@;2@@;1 @@@;0@@;/=@@ఐ"td<U  =U  @I@@L@&typ_idCU  DU  @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@;, @@ภ)Typedtree V   V  '@)Tstr_typeV  (V  1@@Ҡఐ"rfV  3V  5@n@@@@@;MN@;QN@;P2@ภ"::,V  8-V  ;A-ఐz"td 6V  :@B @@E@ภ"[] Av@ A@K@;Y@@@;ZN@;aT@@HV  7@@@@@;NN@;X\@@PV  QV  =@@ N@;La@@@@'@@@;cN@;g@[T  \V  >@@@@@:5@@@:@@:L@;hL@;e@@ఐ4ident_type_decl_listrW ? KsW ? _@İ@@?@@@:L@;mL@;k@@ @@ @Ġ)TypedtreeX ` hX ` q@*Tstr_classX ` rX ` |@@;*Tstr_class @ Ġ@ 1class_declaration@@@_@ Ӡ @@@a@@@`@@^@@@]@AJ@N@A WDD XDD=@@@ @ఠ)info_listX ` }X ` @_A@@)@(@@@*@&%@@@*@@@*@@*@@@*3@ @@@@@J@@ D@@ D@@@డF$List$iterY  Y  @ Y  Y  @@Ű@@@@@\@@@<K@;@\[@@@;@@@;K@;@@;K@;t@@;x@@@;w@@;v@@;u@Ԡ @@@;s@@;r@@@;q@@;p@@;o3@ 3aZ@[@\@@@@࣠@%paramxA@ఠ"civ,Z  -Z  @?kA@@93+**+++++@@@@@ఠ!sw9Z  :Z  @LlA@@? @@>Z  ?Z  @@@M@H@@;@@ @@డ'Hashtbl#addU[  V[  @ Y[  Z[  @@ °@@@  F@; F@;@@@;@@;@ @@;@ @@; @@@;@@;@@;@@;3pooppppp@bP@J@KD|@>@?@@@@ఐ ߠ%table[  [  @ İ@@ @@@ภ!C[  [  @;R @PAC@H@AL@@Iడ$Name*from_ident[  [  @ [  [  @@ 0@@@ 0@@@;@@;@@@;@@;?@@ఐ"ci[  [  @J@@N@+ci_id_class[  [  @3+ci_id_class+class_infos!a@ S@@@E!t@@@@@C/3'ci_virtE,virtual_flag@@@@@@@APh%h)Ph%h?@@@3)ci_params @|@@@@@a(variance@@@@h+injectivity@@@@@@@@@@@@A,@AQh@hDQh@h{@@@3*ci_id_nameBt#locq@@@@@@@@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@@8@3&ci_loc !t@@@@@I~@AYiWi[YiWin@@D@3-ci_attributes @@@@@J@A Ziois Zioi@@M@@AShhShh@@Q@@@ @@@;O@;O@;@@s[  t[  @@I@@@;@@y[  z[  @@ (N@;@@ภ)Typedtree\ \ @*Tstr_class\ \ $@@ภk\ &\ ,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@<+@@# @@ r@Ġ)Typedtree^EM^EV@/Tstr_class_type^EW^Ef@@;/Tstr_class_type @J@!t@@@d@#loc@@@f@@@e@#6class_type_declaration@@@g@@c@@@b@AK@N@AD>D@D>D@@@)@ఠ)info_listI^EgJ^Ep@\`A@@2@1@@@*@.,@@@*@@@*@+@@@*@@*@@@*3a``aaaaa@ @@@@@X@@ @@ @@@డ$List$iteru_t~v_t@ y_tz_t@@ Y@@@@@j@@@ t@@@<=@@<<@@<;@ q)@@@<9@@<8 n@@@<7@@<6@@<53@ oh@i@j@@@@࣠@"cizA@ఠ"idy``@mA@@D3@@@@@@``@@D@@@``@@= @@``@@@X@S@H@@a@}@@@@ภ"CTIbJb@; [@AD@H@A@@డ$Name*from_ident[b\b@ _b`b@@@@@@@@<@@<>@@@<@@<?@@ఐ"idwbxb@H@@L@@{b|b@@Q@@@<R@@bb@@0N@<W@@ภ)Typedtreecc@/Tstr_class_typecc!@@ภsc#c&Aఐ蠐"ci c%@w @@@'@ @@@<@@@@B@@ y@@@@@@@࣠@d~Aঠ&vb_patgg@3&vb_patp@@@{@@@v@@@ 3'vb_expr @@@w@@A@AEFF"FFF6@@@3+vb_rec_kind/Value_rec_types6recursive_binding_kind@@@x@@B@ASF7F;TF7Fo@@@3-vb_attributes  @@@y@@C@A\FpFt]FpF@@@3&vb_loc) !t@@@z@@D)@AhFFiFF@@@@AlF F mF F@@@ఠ#pat{gg@oA@@W@@@=3@\@@@'vb_exprgg@Fఠ#exp|gg@pA@@d@@@="@@@gg@@N@=@@@@ఐ0iter_val_patternhh@c@@@@@@=.@@@=-@@=,@@@=+@@@=*@@=)3        @KD@E@F6/@0@1@@@@ఐU#pat#h$h@@@@@@==@)Typedtree/h0h@(pat_desc4h5h@@3(pat_desc%,pattern_data!a@d@@@@@@ 3'pat_loc !t@@@@@A @Arr @@7\@3)pat_extra@F)pat_extra@@@@!t@@@@@@@@@@@@@@B*@As s G@@X]@3(pat_type:[)type_expr@@@@@C6@A!tHL"tHf@@d_@3'pat_envF#Env!t@@@@@DD@A/ugk0ugz@@rc@3.pat_attributesT@@@@@EM@A8v{9v{@@{d@@A@?@@@@@@ఐ,table_values9j5:jA@h@@@@ఐY!nFjBGjC@@@@@@ఐ#patWjEXjH@D@@.@@ఐ#expcjIdjL@O@@:@@gjDhjM@@F@=?@@\@@@@@@Amh@@>@@@=@rgskN[@@@@@=L@@@=@@=L@=L@=@@ఐM,pat_exp_listl\hl\t@@@V-@@@=L@=L@=@@? @@@Ġ)Typedtreemu}mu@.Tstr_primitivemumu@@;.Tstr_primitive@1value_description@@@R@AB@N@AZBB[BB@@@@ఠ"vdmumu@bA@@@@@*@@@$@@5@@5@@@డ7'Hashtbl#addnn@ nn@@?@@@F@=F@=@@@=@@=@ @@=@ @@=;@@@=@@=@@=@@=3@;4@5@6@@@@ఐZ%tablenn@?@@@@ภ!P n n@;@AG@H@A@@డI$Name*from_identnn@ !n"n@@@@@@@@=@@=@@@=@@==@@ఐ~"vd;n<n@I@@@@@=@=Q@&val_idGnHn@3&val_id@@@]!t@@@T@@@ 3(val_name #loc@@@V@@@U@@A @A [B[F [B[[@@L@3(val_desc @@@W@@B@A[\[`[\[t@@U@3'val_val%X1value_description@@@X@@C"@A[u[y[u[@@a@3(val_prim1@@@Z@@@Y@@D1@A-[[.[[@@p@3'val_loc@!t@@@[@@E=@A9[[:[[@@|@3.val_attributesL@@@\@@FF@AB[[C[[@@@@AF[-[1G[-[A@@@h[@@)@@@=M@=M@=@@nn@@@@@=@@nn@@`L@=@@ఐ"ttnn@@@2@@@@1@Ġ)Typedtreeoo@)Tstr_openoo@@;)Tstr_open@0open_declaration@@@\@AI@N@ACCCD@@@@@oo@@@@@* @@@@@] @@] @@@ภ%oo@$@@@c@Ġ)Typedtreepp@,Tstr_includepp@@;,Tstr_include@3include_declaration@@@h@AL@N@ADDDD@@@@@pp@@@@@*;@@@@@<@@<@@@ภW$p#%p%@V@@@D@Ġ)Typedtree3q&.4q&7@)Tstr_eval8q&89q&A@@;)Tstr_evalB@@@@M@@@N@B@@N@ABqBuBqB@@@1@@Mq&BNq&C@@@@@*o@@@@@@*t@@@% @@u@@u@@@ภ]q&G^q&I@@@@}@Ġ)TypedtreelrJRmrJ[@.Tstr_attributeqrJ\rrJj@@;.Tstr_attribute{@ @@@i@AM@N@A#DD$DD@@@f@@rJkrJl@@ @@@*@@@@@@@@@@ภrJp@@@@@@@A{@@3@@@@A@RF@Q@A@@@@ఠ&tables)tt|tt@uA@@@s.structure_item@@@RH@RR@@@RfF@Q@@Q@wp@@@RG@Qo@@@RG@Q@@@RF@Rڠ@@@@RG@R!@g@@@R@c@@@R@@RG@R"@@@RF@R@@RF@Q@@QF@Q3@R@@@@@࣠@)typedtree+Atttt@ vA@@R3@attxx*=@@@@@  @@@ఠ!t,uu@"wA@@̠UP@@@R H@Q3@*r@!@"@@@డ'Hashtbl&create*u+u@ .u/u@@&random&optionL$boolE@@@@@@@@@#intA@@@@@!a@!b@@@@@@@@@A ! !B c @@A@72@@/-*@@@Q@@@Q@@Q@'@@@Q@@Q*@@@Q@@Q@@Q^@Fภ$NoneP@P@JG@@@R@@@R@@Ro@@Muu@@M@@@RI@RI@R@@p @@@A@u @@@ఠ(t_values-vv@xA@@c٠@@@RI@RFI@REO@@@ @@UP@A@v @@ డw$List$iterww@ ww@@@@@@r@@RV@@@RU@@RT@@RS@|@@@RQ@@RP@@@RO@@RN@@RM3+**+++++@@@@@@@࣠@#str.AAwBw@TyA@@3@??@@@@@@@@@@@@ఐ-add_to_hashesQwRw@f@@@@@@R@@@Rw@@@R@@R~@>@@@Rz@@@@R|@@@@R}@@R{@@@Ry@@Rx@ @@Rv@@@Ru@@Rt@@Rs@@Rr3}||}}}}}@SJ@A@B@@@@ఐ!tww@ް@@IҠ@@@R@@ఐ(t_valuesww@q@@[Ѡ@@@R'@@ఐw#strww@3@@6@(str_descww@3(str_desc@@@Lg@@@I@@@ 3'str_loc  !t@@@J@@A @AwB$B(xB$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*1x*2@j@@^@@ఐ(t_values'x*4(x*<@@@W@@+x*0*@@@p@_@@R@!1@@@22@@@3@@ @=4A@F@R;@A@8@87@N@ఠ-search_module/Dz?GEz?T@WzA@@@@@@SF@R@@@SF@R@@@SF@R@@R@M@@@SF@R@@R@@@SF@R@@RF@R@@RF@R3jiijjjjj@@@@@@࣠@%table1A}z?U~z?Z@{A@@33|{{|||||@Bz?C}@@@@@  @@$name2Az?[z?_@|A@@03@!J@@@@@@@@డ'Hashtbl$find{bn{bu@ {bv{bz@@@l!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| |@2}A@@$@@@SN@@@'|(|@@Q@@Q@@@ఐ"mb2|3|@@@@@9@@@S@S365566666@d" @@@'mb_exprA|B|@@@ @@J}K}@@t@@t@@@ ภmS}@k@@@k@@@S#@Y}@@@@@A[{bh@@3WVVWWWWW@@@@A@F@S@A@@@򠰡@ఠ2search_module_type4lm@~A@@@/(@@@SF@S'@@@SF@S@@@SF@S@@S@g@@@SF@S@@S@@@SF@S@@SF@S@@SF@S3@)YR@S@T@@@࣠@%table6A@A@@33@B]v@@@@@  @@$name7A@@A@@03@!J@@@@@@@@డ6'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@@Lఠ#mtd8 -1Q .1T@ @AA@@T@@@SN@@@ 519 61U@@Q@@Q@@@ఐ#mtd >1Y ?1\@@@@@3 = < < = = = = =@]@@@@ J]e K]f@@f@@f@@@ ภm S]q@k@@@k@@@Sr@ Y]j@@t@@@A [ @@3 W V V W W W W W@v@@@A@F@T&@A@@@ʠ@ఠ0search_extension9 lx mx@ BA@@@/(@@@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!?@@@@@3!=!<!<!=!=!=!=!=@]@@@@!J!K@@f@@f@@@ ภm!S@k@@@k@@@Ter@!Y@@t@@@A![@@3!W!V!V!W!W!W!W!W@v@@@A@F@T@A@@@ʠ@ఠ0search_exception>!l!m-@!FA@@@/(@@@TF@T۠'@@@TF@T@@@TF@T@@T@!@@@TF@T@@T]@@@UF@T@@TF@T@@TF@T3!!!!!!!!@1*@+@,@@@࣠@%table@A!.!3@!GA@@33!!!!!!!!@B!!@@@@@  @@$nameAA!4!8@!HA@@03!!!!!!!!@!J@@@@@@@@డ 6'Hashtbl$find!;G!;N@ !;O!;S@@(@@@e`@@@T@@T@k@@Te@@T@@T3!!!!!!!!@*6\@-@.@@@@ఐQ%table!;T!;Y@6@@@@ภ!E!;[";\@hఐS$name" ;]" ;a@#@@&@@" ;Z";b@@J@T+@@A@@,@Ġ)Typedtree"hq"hz@.Tstr_exception"#h{"$h@@ఠ#extB"-h".h@"@IA@@@@@TN@@@"5hp"6h@@Q@@Q@@@ఐ#ext">h"?h@@@@@3"="<"<"="="="="=@]@@@@"J"K@@f@@f@@@ ภm"S@k@@@k@@@Ur@"Y@@t@@@A"[;A@@3"W"V"V"W"W"W"W"W@v@@@A@F@Uh@A@@@ʠ@ఠ7search_type_declarationC"l"m@"JA@@@/(@@@UF@U|'@@@UF@Uz@@@UF@Uj@@Uk@Y@@@UF@Up@@UqF@@@UF@Ur@@UsF@Ul@@UmF@Ui3""""""""@1*@+@,@@@࣠@%tableEA""@"KA@@33""""""""@B""9R@@@@@  @@$nameFA""@"LA@@03""""""""@!J@@@@@@@@డ!6'Hashtbl$find""@ ""@@(@@@e`@@@U~@@U}@k@@U{e@@Uy@@Ux3""""""""@*6\@-@.@@@@ఐQ%table""@6@@@@ภ!T"#@ఐS$name# # @#@@&@@# #@@J@U+@@A@@,@Ġ)Typedtree# # @)Tstr_type## #$ '@@@#) )#* *@@@@@UH@Ġ"::#5 -#6 0A6ఠ"tdG #> /@#PMA @@@@@U^@Ġ"[] A@@A@"@@@U@@@Um@@@#T ,@@  @@@U@@@Uv@@@#] #^ 2@@y@@y@@@ఐ("td#f 6#g 8@(@)@*@@3#e#d#d#e#e#e#e#e@2@@@@#r9A#s9B@@@@@@@ ภ#{9M@@@@@@@U@#9F@@@@@A#@@3##~#~#####@@@@A@F@V@A@@@򠰡@ఠ0search_class_expH#T\#Tl@#NA@@@WP@@@VF@V-O@@@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########@Dtm@n@o@@@࣠@%tableJA#Tm#Tr@#OA@@N3########@]#TX#@@@@@  @@$nameKA#Ts#Tw@$PA@@K3########@!e@@@@@@@@డ"y'Hashtbl$find$z$z@ $z$z@@k@@@נ{@@@V/@@V.@@@V,@@V*@@V)3$$$#$#$$$$$$$$$$@*6w@-@.@@@@ఐQ%table$6z$7z@6@@@@ภ!C$Bz$Cz@ఐS$name$Lz$Mz@#@@&@@$Pz$Qz@@F@VF@VKJ@VL.@@D@@/@Ġ)Typedtree$d$e@*Tstr_class$i$j@@ڠĠ>$r$sAs@ఠ"ciL$$@$QA@@@@@Vd]@@@$$@@@@@Vf@@@Vej@@"$@@@@@@Vgr@ĠW .A@@/A@#@ @@@Vq@  @@@Vs@@@Vr@@Vp@@@Vo@@@$E@@#@"@@@Vv@ @@@Vx@@@Vw@@Vu@@@Vt@@@$$@@&@@&@@@@ఠ"ceM$$@$RA@@@@@VK@V{3$$$$$$$$@kd@e@f@@@ఐq"ci$$@ @@V@@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%GE%HJ@G@@5@@ఐ[$name%TK%UO@+@@B@@7@@FC@A@%Y@@@ఐ"ce%eSa%fSc@P@@3%c%b%b%c%c%c%c%c@Tb[@\@]@@@@ఐl)type_decl%xSe%ySn@@@/@@@V@V@(typ_type%So%Sw@@@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@@@@@@@&`S`&aS@@@@@@V@@@T@Ġ)Not_found&q&r@;)Not_found#exnG@@@ @@@0 A@A&_none_@@A@@2I@@@@@%~@@@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'! '"$@'4VA@@03' ''' ' ' ' ' @!J@@@@@@@@డ%'Hashtbl$find'9'3':':@ '=';'>'?@@@@@e`@@@WJ@@WI@k@@WGe@@WE@@WD3'I'H'H'I'I'I'I'I@*6\@-@.@@@@ఐQ%table'['@'\'E@6@@@@ภ"CT'g'G'h'I@ఐS$name'q'J'r'N@#@@&@@'u'F'v'O@@J@Wg+@@A@@,@Ġ)Typedtree'U^'Ug@/Tstr_class_type'Uh'Uw@@vĠ`'Uy'UA@@'Uz'U{@@|@@@WT@@@'U|'U}@@}{@@@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@@@ ภ<(" @:@@@:@@@W@((@@/@@@A(*'-@@13(&(%(%(&(&(&(&(&@@@@ A@UF@X@A@@@1@ఠ,search_valueT(;(<@(NXA@@@ @@X@@XF@X@@@X*F@X@@X@F@X @@X  @@XF@X@@X F@X3(U(T(T(U(U(U(U(U@\@@@@@࣠@%tableVA(h(i@({YA@@'3(g(f(f(g(g(g(g(g@6(p(q@@@@@  @@$nameWA(|(}@(ZA@@(3({(z(z({({({({({@!>@@@@@@@@డ&'Hashtbl$find((@ ((@@ @@@!UWU@@@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@%z@@@XjF@X>@@X?*@@@XvF@X@@@XAF@X:@@X;F@X73((((((((@@@@@@࣠@%tableZA)  ) @)\A@@33) ) ) ) ) ) ) ) @B))|@@@@@  @@$name[A) )!@)3]A@@03))))))))@!J@@@@@@@@డ''Hashtbl$find)8$)9+@ )<,)=0@@ @@@!e`@@@XL@@XK@k@@XIe@@XG@@XF3)H)G)G)H)H)H)H)H@*6\@-@.@@@@ఐQ%table)Z1)[6@6@@@@ภ!P)f8)g9@[ఐS$name)p:)q>@#@@&@@)t7)u?@@J@Xi+@@A@@,@Ġ.Tstr_primitive)EM)E[@ܠఠ"vd\)E\)E^@)^A@@@@@XnF@@@@@G@@G@@@ఐ"vd)Eb)Ed@@@@@@@@Xu@Xs3))))))))@\" @@@'val_val)Ee)El@B@@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*I*H*H*I*I*I*I*I@Qz@{@|@@@࣠@#cls_A*\*]@*o`A@@,3*[*Z*Z*[*[*[*[*[@;*d*e@@@@@  @@!n`A*p*q@*aA@@33*o*n*n*o*o*o*o*o@!C@@@@@@@@Aఠ$itera**@*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@@ @@@@@డ)C%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 !t!t@@@@@A @A%::%::@@&"@3-cf_attributes!@@@@@B@A%::%:;@@&+@@A%::%::@@&/@Ġ)Typedtree+P&+Q/@+Tcf_inherit+U0+V;@@;+Tcf_inherit1@@@#@%-override_flag@@@ @@@ $%@@@ @@@ $@%@@@@%!t@@@@@@@@ $@%@@@@&!t@@@@@@@@@E@@F@A&F;;&G;<@@@&@@+=+>@@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@@+`rI@Y@@@Y%_@@@ @@z`@@@డ*}!=,Zk,Zl@@!a@@@@@@$boolE@@@@@@@&%equalBA@@@@@@yAy@@$Q@@@@F@YzF@YC@@YD@@@YB@@@YA@@Y@@@Y?3,=,<,<,=,=,=,=,=@u@@JC@D@E@@@@ఐ䠐!n,QZi,RZj@@@@@ఐ#cpt,^Zm,_Zp@@@@@@@,@@@YQM@YN&@ఐ%clexp,oZv,pZ{@,@@0@ఐ$iter,|Z,}Z@Ȱ@@@@@YW@@@YV@@YU@@YTE@@డ*!+,Z,Z@@W@@@@@@^@@@@@b@@@@@@@'%addintBA@@@@0++0+,@@%cn@ @@@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@@,n@@@Y)@@@@@@@@ఐ$iter- -!@l@@@@@Y@@@Y@@Y@@Y3-&-%-%-&-&-&-&-&@]#@@@@@@ఐ#cpt-8-9@i@@@@ఐ7!q-E-F@@@I@Y@@+@@ @@A&!f-M@@@ A@@@@Zq@@@Zp@@Zo@@ZnI@Zj@@@-Z@@ఐ᠐$iter-d-e@@@@@@Zy@@@@Zx@@@Zw@@Zv @@@Zu@@Zt@@Zs3-t-s-s-t-t-t-t-t@@@@@@--@@BI@Z @@ఐ8#cls--@@@`@)Typedtree--@+cstr_fields-;@<@3+cstr_fieldsm@@@&ՠ@@@@@@@@A3)cstr_self&6@@@@@@@A(\::(]::$@@(@3)cstr_type'/class_signature@@@@@B@A(h:G:J(i:G:k@@(@3*cstr_meths#'%Meths!t(>!t@@@@@@@@C'@A(}:l:o(~: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.2.3@@@@@  @@$namejA.>.?@.QiA@@33.=.<.<.=.=.=.=.=@!A@@@@@@@@Aఠ$iterk.Q#.R'@.djA@@@ @@@ZI@Z@@@ZI@Z@@ZP@@@[(I@Z@@Z3.d.c.c.d.d.d.d.d@(4]@+@,@@@@Ġ .v3=.w3?@ @@@@ 3.t.s.s.t.t.t.t.t@.@)@@Z@@ZJ@Z@.@/@@@@@డ,%raise.CO.CT@@@@@@@Z@@Z3L@Z@@Z@@ภ)Not_found.CU.C^@/@@@@@@ZL@Z/@@@@E0@Ġ ._._@ ঠ'cf_desc._k._r@Ġ)Typedtree._u._~@'Tcf_val._._@@;'Tcf_valu@)7#loc)4@@@@@@)B,mutable_flag@@@)Q!t@@@)0class_field_kind@@@$boolE@@@@EA@F@A);@);>;m@@@* @@/<_/=_@@@@@Z<@ఠ#expm/H_/I_@/[lA@@'@@@ZJ@@@-/P_@@i@@@ZO@@/W_/X_@@k@@@ZW@@@/]_@@5@@@Z\@@@/b_i/c_@@L@Za@@/i_/j_@@.ǠI@Z@@@Zk@@@@@l@@డ-fh/z/{@e@@@rK@[@@[@@@[c@@@Z@@Z@@Z3////////@|u@v@wJC@D@E@@@@డ,$Name*from_ident//@ //@@)-@@@)-@@@[@@[*@@@[@@['@@ఐ%ident//@0@@)D@@@[ M@["M@[!;@@' @@<@@ఐ$name//@g@@I@@5@@r@@@[%L@[ O@ఐ#exp//@V@@(c@@@[)@['`@)Typedtree//@(exp_type//@@3(exp_type(v@@@ @@@ @@C3(exp_desc */expression_desc@@@@@@@A*  * '@@*w@3'exp_loc&Q!t@@@@@A@A*(,*(@@@*x@3)exp_extra )I@+)exp_extra@@@@&l!t@@@@&@@@ @@@@@@@B5@A*AE*A{@@+ y@A3'exp_envA!t@@@ @@DA@A**@@+,{@3.exp_attributesM&@@@ @@EJ@A**@@+5|@@A*|*|@@+9z@q]@@@Ġ"\0Z V0[ X@"[ঠ'cf_desc0e 0f @CĠ)Typedtree0o 0p (@'Tcf_val0t )0u 0@@@0z 20{ 3@@@@@Z@@@Z30~0}0}0~0~0~0~0~@ @@@@0 50 6@@@@@Z @ఠ%identn0 80 =@0mA@@@@@Z@Ġ,Tcfk_virtual0 ?0 K@;,Tcfk_virtual~@#1@@@@A@@B@A+R; ;"+S; ;=@@@+@ఠ#typo0 L0 O@0nA@@#D@@@Z9@@@@@@@@Z=@@0 Q0 R@@@@@ZE@@@Z0 S@@@@@ZJ@@@0 0 U@@rI@ZO@@0 Y0 Z@@03 @@@ZX@@@@@Y@@డ/NѠӰ0[0[@а@@@+@@@[LK@[/@@[0@ @@[.@@@[-@@[,@@[+300000000@le@f@gKD@E@F@@@@డ.9$Name*from_ident1 [j1[n@ 1[o1[y@@*@@@*@@@[A@@[@+@@@[?@@[>'@@ఐ%ident1)[z1*[@0@@*@@@[NM@[PM@[O;@@' @@F<@@ఐ$name1>[1?[@հ@@2I@@5@@@@@[SL@[:O@ఐ#typ1P1Q@V@@#@@@[W@[U`@)Typedtree1^1_@)ctyp_type1c1d@@3)ctyp_type#@@@ +S)type_expr@@@ A@A3)ctyp_desc ,`.core_type_desc@@@A@@@A,!UU,"UU@@,db@3(ctyp_env!t@@@ @@B@A,-VFVJ,.VFV[@@,pd@3(ctyp_loc#'!t@@@ @@C @A,9VqVu,:VqV@@,|e@3/ctyp_attributes/'@@@ @@D)@A,BVV,CVV@@,f@@A,FUU,GUV @@,c@S?@@?@Ġ#11@#@11@@SI@Z311111111@:@@@ఠ!qp11@1oA@@1@@@Z@@@@@k@@@ఐ|$iter11@T@@@{@@[Zp@@[Y311111111@\@@@@@@ఐ&!q11@ @@I@[`@@@@@@A*q1*@@@ @@@@@]@@]I@]x@@@1@@ఐ$iter11@@@@$9o@@@]#@@@]"@@]!@@@] @@]Z@@ఐ#cls22@װ@@i@)Typedtree2"2#@+cstr_fields2'@@@@$d@@@].@@@]-I@]3I@]0@@:@@ @E@@!@A@:F@]8 @A@ @ @@ఠ8search_method_expressionr2F 2G#@2YpA@@@@@@^F@]:@@];@,@@@]F@]@@@]A*@@@^F@]B@@]CF@]<@@]=F@]932a2`2`2a2a2a2a2a@Krk@l@m@@@࣠@#clstA2t$2u'@2qA@@(32s2r2r2s2s2s2s2s@72|2}'K@@@@@  @@$nameuA2(2,@2rA@@1322222222@!?@@@@@@@@Aఠ$iterv2/=2/A@2sA@@@$۠@@@]VI@]P@@@]OI@]G@@]L+,@@@]I@]I@@]K322222222@(4[@+@,@@@@Ġ$2MW2MY@$@@@@ 322222222@.@)@@]H@@]JJ@]F@.@/@@@@@డ1=%raise2]i2]n@@@@@@@]u@@]t3L@]s@@]r@@ภ)Not_found2]o2]x@ y@@@ @@@]|L@]/@@@@E0@Ġ$2y2y@$ঠ'cf_desc3y3y@Ġ)Typedtree3y3y@*Tcf_method3y3y@@;*Tcf_method@-#loc@@@@@@-,private_flag@@@B@@@@CB@F@A-<<-<<@@@.@ఠ%labelw39y3:y@3LtA@@#@@@]^@@@]]33?3>3>3?3?3?3?3?@@@@@3Hy3Iy@@&@@@]_ @Ġ-Tcfk_concrete3Ty3Uy@1@3Yy3Zy@@0@@@]d@ఠ#expx3ey3fy@3xuA@@+@@@]e(@@@3my@@@@@]f-@@@c3ry@@J@@@]g2@@@3wy3xy@@L@]T7@@3~y3y@@2ܠI@]R@@@]hA@@@@@B@@డ1{}3y3y@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@Ġ& 44@&@4 4 @@fI@]j34 4 4 4 4 4 4 4 @M@@@ఠ!qy44@4+vA@@3x@@@]l@@@@@~@@@ఐ$iter4* 4+ @g@@@@@]@@]34,4+4+4,4,4,4,4,@o@@@@@@ఐ&!q4> 4? @ @@I@]@@@@@@A-z4F/D@@@ @@@@@^@@^I@^@@@4O/5@@ఐ$iter4Y'-4Z'1@@@@& @@@^@@@^@@^,@@@^@@^Z@@ఐ#cls4v'24w'5@@@)i@)Typedtree4'64'?@+cstr_fields4'@@ @ @@& @@@^@@@^I@^I@^@@:@@0@E@@1@!A@KF@^@A@@@2@11A@00A@0.0(A@/-@-i@3@f @@@B@D@F@  @  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@^@@^@':)Parsetree.structure_item@@@_@@@_F@^@@^%#$info@@@_@@@_F@^@@^F@^@@^F@^355555555@2-2#@22A@11 A@00A@0%-@->@@@@@@[@8@k @  =@ p @ #@M@@@35@@@@@@}2M@@@࣠@$info~A5[5\@5nyA@@t35Z5Y5Y5Z5Z5Z5Z5Z@C5c5dx@@@@@  @@#astA5o5p@5zA@@q35n5m5m5n5n5n5n5n@!@@@@@@@@Aఠ2extract_attributes55@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@ఠ$attr6"6&@6|A@@o@@@^36 666 6 6 6 6 @m@@@^@@^J@^@@@@@@@.@@O@@@^ @@A66+@@L@^@ఠ"tl6'/6(1@6:}A@@5@@@^!@@@@@"@@@ภ"::665B675D@(7ఐ9$attr6@5=6A5A@8@9@:@@36?6>6>6?6?6?6?6?@8D$@@@@@ఐР2extract_attributes6R5E6S5W@D@@@@@_@@_@@ఐ<"tl6c5X6d5Z@@@I@_$@@@@%@@*@@&@Ġ(u6s[c6t[e@(t@6x[a6y[b@@I@^n@@6[f6[g@@5ݠ @@@^w@@@@@x@Ġ(Ű6[j6[l@(@@@@@@@@@@@ภ(ΰ6[p6[r@(@@@@@A/m6@@@@@@@@_q @@_pI@_n366666666@@@@@@6@@డ(Odoc_sig.analyze_alerts(Odoc_sig6xz6x@ 6x6x@@@Ҡ@@@_@@@_@@_@)Parsetree*attributes@@@_@@_@@@_@@@_~@@_}@@_|@5ocamldoc/odoc_sig.mlipq@@(Odoc_sigV@-(@@@@@@_@@@_@@_@%@@@_@@_@@@_@@@_@@_@@_@@ఐ$info7x7x@@@@@ఐ2extract_attributes7x7x@@@@)O@@@_@@@_@@_6|@@@_@@@_@@_@@ఐŠ#ast71x72x@@@2&@@75x@@n@@@_J@_-@@@@*.@@@+@A@YF@_@A57 C Like {!Odoc_sig.analyze_toplevel_alerts} but acts on a structure. 7MSS7NS@@@@@@@@@3(Analyser F7Z7[@7mA@Т%My_irG7f7g@Р.Info_retriever(Odoc_sig7s7t@ 7w7x@@37v7u7u7v7v7v7v7v@_@@@@ @@Б#SigH77 @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@@@`@ig$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@PN$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@@@_堠@hf$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>1>0>0>1>1>1>1>1@_@dc@ZY@PO@=<@*)@@@@sr@DC@@@@@ba@@@>@@@డ$file#Sig>c>d@ >g>h@@=@@@b*@@@b)@@ @@E=@A<>F R This variable is used to load a file as a string and retrieve characters from it.>(,>(@@@@@@@>@@@O@ఠ)file_name>>@>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=}>될 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?5!n!v?6!n!@?HA@@@=@@@b@@b@<@@@b@@b;@@@b@@b@@bJ@b3?G?F?F?G?G?G?G?G@]yr@s@t@@@డ,prepare_file#Sig?Z!n!?[!n!@ ?^!n!?_!n!@@@d@@@b:@@b9@c@@@b8@@b7b@@@b6@@b5@@b4@_@\@@9(@A=?G Z This function loads the given file in the file global variable and sets file_name.?! !?!Q!m@@@@@@@?!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>Y?ǐ 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@6@5@5@6@6@6@6@6@@@@@@డ6get_comments_in_module#Sig@I"M"n@J"M"q@ @M"M"r@N"M"@@@@@@bb@@ba@@@@b`@@b_@:@@@b\@@@b[@9@@@b^@@@b]@@bZ@@bY@@bX@@+&@@]9@A>@G 4 The function used to get the comments in a module. @""@""L@@@@@@@@"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#@AA@@Z3@@@@@@@@@i@#j#n@()@@@@@  @@&f_descAA#j#A#j#@AA@@^3AAAAAAAA@!q@@@@@@@@#patAA#j#A#j#@A)A@@L3AAAAAAAA@r@@@@@@@@Aఠ,iter_patternA)##A*##@A<A@@@;:<@@@e@@@eN@c@@ca@@@e N@c@@c3A:A9A9A:A:A:A:A:@&2t@)@*@@@࣠@#patAAM##AN##@A`A@@ 3ALAKAKALALALALAL@.@)@@c @@cO@c@.@/@@@@ @@ఐ#patAg##Ah##@9@@@@:3AfAeAeAfAfAfAfAf@'@@@(pat_descAq##Ar##@)< @@@@@c<@@@c;3C3C2C2C3C3C3C3C3@@@@@C<$%#C=$%$@@=|@@@c= @@CD$%&CE$%'@@=?==@@@c?@@@c>@@CP$%)CQ$%*@@=@@@@c@@@CX$%,CY$%-@@=B@@@cA%@@@@C^$%.@@'@@'@@@ఐ?,iter_patternCh%2%>Ci%2%J@@@@>@@d5@@d3CjCiCiCjCjCjCjCj@HA@B@C@@@@ఐO#patC|%2%KC}%2%N@ @@L@@@@F@Ġ)TypedtreeC %P%ZC %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@డBM$List#mapC %%C %%@ C %%C %%@@@@!a@.@@/!b@.@@/@@/@9ʠ@@@/@@/9Ϡ@@@/@@/@@/@99@@9W@+&@@@@@=H=E@@@eE@@@eDQ@e.@Q@e/@@e0Q@e@@eN@eNN@cQ@e@@e@@e@3@@@e@@e2@@@e@@e@@e3D:D9D9D:D:D:D:D:@@@@@@@࣠@1*A@@DQ %%DR %%@@23DNDMDMDNDNDNDNDN@@@@@ఠ!p֠D\ %%D] %%@DoA@@4 @@Da %%Db %%@@@F@=@@e2@@ @@ఐK,iter_patternDt %%Du %%@#@@@J@@e7A@@e63DvDuDuDvDvDvDvDv@=%R@@ @@@@ఐ,!pD %%D %%@ @@_@@@@R@D %%D %%@@@|@@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@@PE %&@@@Ġ)TypedtreeE&& E&&@.Tpat_constructE!&&E"&&$@@;.Tpat_construct@@ @@@@@@@?#loc7!t@@@@@@*Data_types7constructor_description@@@>s?O@-@@@@@@@@@ >v@>?#loc?!t@@@@@@@@@Ǡ@7@@@@@@@@@DDALAA@a  @d@@@@\o@@Ex&&&Ey&&'@@LJ@@@cc@@@cb@ఠ)cons_descE&&)E&&2@EA@@Q@@@cd$@@E&&4E&&5@@P?@|@@@cg@@@cf@@@ce4@@E&&7E&&8@@S@RQO@@@cl@@@ck@@@cj@8C@@@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@@eo3FFFFFFFF@}@~@@@@@డ*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_descFQ&&FR&&@K@@1@@@fS@fS@fU@@F\&&F]&&@@@@@e@f S@f_@@డ&Predef)path_unit&PredefFu&&Fv&&@ Fy&&Fz&&@@$Path!t@@@f@1typing/predef.mliP  P  @@&Predef`@@@@@@eR@gR@f@@@@2@@@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'@@@\@@ఐ#patG'r'G'r'@@@@(pat_typeG 'r'G '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.@@@G5''4G6''@@'@@@gQ@gF6@@@@7@@GC''GD''@@@@@@@ภ+Simple_nameGK(((4GL(((?@Aະ0'sn_nameGW(((BGX(((I@"()G^(((MG_(((O@@Ga(((LGb(((P@@>@@@gQQ@gR@;'sn_typeGn(~(Go(~(@డ*subst_type(Odoc_envG}(~(G~(~(@ G(~(G(~(@@@@@@@@ga@@g`@@@@g_@@g^@@@g]@@g\@@g[+@@ఐ#envG(~(G(~(@@@8@@ఐe#patG(~(G(~(@H@@G@(pat_typeG(~(G(~(@/G @@/@@@goR@gwR@gtU@@D @@@@@gYR@gm[@'sn_textG(S(mG(S(t@ภ$NoneG(S(wG(S({@Bj@@@!@@@g@@@gQ@gu@@@G(((@G((@@@@@gKQ@g}@@@@~@@@AG## @@3GGGGGGGG@@@@ A@@@@ip@@ioN@im@@@G##@@ఐՠ,iter_patternG((G((@@@@B B@@@iv@@@iu@@it1@@@is@@ir3H H H H H H H H @@@@@ఐ#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=#))@HOA@@@@@@l(J@i@@i@$info@@@kP@@@kOJ@i@@i@\CQ.function_param@@@iO@i@@@iJ@i@@i@C]-function_body@@@k}J@i@@i$listK@@@m$N@m@@@m J@i@@i@@i@@i@@i3HH~H~HHHHH@@@@@@࣠@#envAH#))H#))@HA@@R3HHHHHHHH@`@[@@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$))@IA@@ @@@k%O@i@@@iO@i3HHHHHHHH@+@"@#@@@డGt$List#mapI%)*I%)* @ I%)* I%)* @@'@@@@@@i&@@i@@i@@@@i@@i1@@@i@@i@@i3I&I%I%I&I&I&I&I&@,@@@@࣠@%param!AI:&**I;&**"@IMA@@?@@@@@ఠ#pat"IJ'*&*7IK'*&*:@I]A@@A@@@jR@i3INIMIMINININININ@U"@@@@@ఐ*%paramIa(*=*RIb(*=*W@@@3I_I^I^I_I_I_I_I_@@@@'fp_kindIi(*=*XIj(*=*_@3'fp_kind@@@D\3function_param_kind@@@@@C3,fp_arg_label C)arg_label@@@@@@@AD%=.I.MD&=.I.e@@Dh@3(fp_paramC!t@@@@@A@AD1>.f.jD2>.f.|@@Dt@3*fp_partial"D{'partial@@@@@B@AD<B..D=B./@@D@-3+fp_newtypes-BɠD#locD@@@@@@@@@@@D4@ADQI//DRI//@@D@3&fp_locB?!t@@@@@E@@AD]N00D^N00@@D@@ADaH/t/xDbH/t/@@D@]T@@N@@@i]@Ġ*Tparam_patI)*e*vI)*e*@;*Tparam_pat_@@@@BX@@@@A@@B@ADU1g1iDU1g1@@@D@ఠ#pat#I)*e*I)*e*@IA@@Bk@@@j3IIIIIIII@@@@@@ @@{@@@j@@~@@@j@@@ఐ#patI)*e*I)*e*@@@@@3IIIIIIII@ @@@Ġ7Tparam_optional_defaultJ***J ***@;7Tparam_optional_default=@B@@@B@@@@BA@B@ADW11DW11@@@E@ఠ#pat$J ***J!***@J3A@@B@@@j @@J****J+***@@B@@@j @@@(J0***@@@@@j @@@@@j @@@ఐ#patJ>***J?***@@@@@3J=J<J<J=J=J=J=J=@(@@@@@AJE(*=*L@@@A@JG'*&*3 @@ఐ :tt_param_info_from_patternJQ,**JR,**@Ͱ@@@ @@@k@@k@@E7@@@k @@k   @@@k @@@k A@k @@k@DyEW@@@k@@@k@@k @@@k@@k@@k@@k3JwJvJvJwJwJwJwJw@*81@2@3@@@@ఐ#envJ-*+ J-*+ @ʰ@@H@@డHX2desc_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@@ఐ#patK/+S+aK /+S+d@@@C@@@kc@@@@@@@@K&**K/+S+e@@@@@i"@@iP@kxP@kv@@ఐ\¶msK%0+f+pK&0+f+v@D@@@@@@3*@A@K*$))@@@ఠ0params_from_body%K52++K62++@KHA@@J@m&J@k{3K7K6K6K7K7K7K7K7@>RK@L@M@@@ఐn$bodyKH3++KI3++@I@@3KFKEKEKFKFKFKFKF@@@@Ġ.Tfunction_bodyKV4++KW4++@;.Tfunction_body@@@@C@@@@A@@B@AF ]22F ]23@@@FM@ঠ(exp_descKo4++Kp4++@pĠ-Texp_functionKw4++Kx4++@;-Texp_functionx@@@@D@@@ @@@@@@!@BCA_@AF4F51@@@Fw@ఠ¶ms&K4++K4++@KA@@9@@@k@@@k3KKKKKKKK@f@@@ఠ$body'K4++K4++@KA@@=@@@k@@@;K4++@@@@@k@@@K4++K4++@@D7@@@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¶msL=-. L=-.@(@@J@k.@@ఐi$bodyL=-.L=-.@6@@R@k=@@Q@@>@Ġ.Tfunction_bodyL#>.. L$>...@͠@L(>../L)>..0@@D@@@k@@@ @@@@@@@ภ>mL3>..4L4>..6@>l@@@@Ġ/Tfunction_casesL@?.7.ALA?.7.P@;/Tfunction_cases@Ր@@@@AA@B@AF^33Ff34@@;@@%cases@@EGE$caseG@@@@@@@@@@G _33 G _337@@GN@'partial@@@@@G`383@G`383Q@@GY@%param@@F!t@@@G$a3R3ZG%a3R3i@@Gg@#loc@@B!t@@@G2b3j3rG3b3j3@@Gu@)exp_extra@@Et@@@@@@GBc33GCc33@@G@*attributes@@B@@@GMd33GNd33@@G@@AA@@@@@Lz@@@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@Ġ? M B..M B..@? ঠ%c_lhsMB..MB..@3%c_lhs!k@n@@@G)@@@@@@3&c_contFNG!t@@@@@@@@A@AG6--G6--@@H@3'c_guard F_E@@@@@@@@B@AG7--G7-.@@H-@3%c_rhs.E@@@@@C%@AG8..G8..(@@H6@@AG5--G5--@@H:@ఠ-pattern_param(MYB..MZB..@MlA@@GdHB@@@k@@@k@@@MeB..MfB..@@HN@@@k@@@kR@k%@@MsB..MtB..@@LѠH]@@@k@@@k@@@k5@@@ @@,+Hi@@@k@@@k@@@kA@@@MB..MB..@@L@@@kR@kI@@@@@&J@@&J@@@@ఠ)parameter)ME/s/ME/s/@MA@гKm*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@@ఐ#envNF//NF//@O@@V@@ఐĠ-pattern_paramNF//NF//@b@@H'I@@@l,@@@l+l@(pat_typeN+F//N,F//@5@@ @@@l&S@l4S@l1z@@K @@ k@@@l @l5S@l$@@uN>F//@гL @ @@@k@A@@@@@l7R@l6@A@NUE/s/@@ภ<0N[H00N\H00A@\ఐƠ)parameter NeH00@@@@k@@ɰ@@J@l>3NhNgNgNhNhNhNhNh@ @@@ภ<7NuH00A@@A@MՠJ@l9@@@l=Q@lC@@NH00%@@@@@@l<@1*@@M@@@AN3++,@@OL@A@N2++.@@డL!@NJ0&03NJ0&04@@"!a@@@@@@@/ @@@@@3@@@@@@@@#nn#nn@@Ge@"!@@@>@@@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@@MkNِ Analysis of the parameter of a function. Return a list of t_parameter created from the (pattern, expression) structures encountered. O!))O")])@@@@@@@O#))+@@,@@ఠ0tt_analyse_value*O#N00O$N00@O6A@@@@@@sJ@mT@@mU@J@@@slJ@mZ@@m[@XU@@@m@@@mJ@m`@@ma@(Location!t@@@t8J@mf@@mg@@71J[JV@@@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@PA@@3OOOOOOOO@@@@@@@@@(rec_flag1AP N01P N01#@PA@@3P P P P P P P P @@@@@@@@@%attrs2APN01$PN01)@P0A@@3PPPPPPPP@@@@@@@@@@@ఠ#pat3P4O1,18P5O1,1;@PGA@@3P3P2P2P3P3P3P3P3@$@@@@@@ఠ#exp4PCO1,1=PDO1,1@@PVA@@@@PHO1,17PIO1,1A@@@栠@@@m@ఐ_'pat_expPWO1,1DPXO1,1K@G@@"@A@P[O1,13@@@ఠ+comment_opt5PfP1O1ZPgP1O1e@PyA@@ZY@@@m@@@mR@m3PnPmPmPnPnPnPnPn@=F@@@A8@2@3@@@డ.analyze_alerts(Odoc_sigPP1O1hPP1O1p@ PP1O1qPP1O1@@Ұ@@@@@@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@Keఠ%ident6PR11PR11@QA@@K6@@@mU@m*@@PR11PR11@@KgKb@@@m@@@m6@@Q R11Q R11@@Kc@@@m>@@@'QR11@@6@@@6@@Ġ*Tpat_aliasQR11QR11@K,@QR11QR11@@K'L@@@m@@@mV@<%identQ-R11Q.R11@Q@A@@9`@@Q4R11Q5R11@@K/K-@@@m@@@ml@@Q@R11QAR11@@K0@@@mt@@QHR11QIR11@@K2@@@m|@@@5QNR11@@t~@@t~@@g@@u@@@ఐ#expQ[S12Q\S12@@@3QYQXQXQYQYQYQYQY@rk@l@m@@@(exp_descQeS12QfS12@!f @@!e@@@m @Ġ-Texp_functionQuT2 2,QvT2 29@ఠ¶ms8Q~T2 2;QT2 2A@QA@@ @@@m@@@m3QQQQQQQQ@+@@@ఠ$body9QT2 2CQT2 2G@QA@@ $@@@m@@@$QT2 2H@@!@@@m@@!@@@m@@@@ఠ(name_pre:QW2x2QW2x2@QA@@L@@@nV@m3QQQQQQQQ@W<5@6@7*#@$@%@@@డN$Name*from_identQW2x2QW2x2@ QW2x2QW2x2@@KS@@@KS@@@m@@mL@@@m@@m$@@ఐ%identQW2x2QW2x2@@@Kj@@@nW@nW@n8@@' @@<9@A@QW2x2 @@@ఠ$name;QX22QX22@R A@@L@@@nV@n 3QQQQQQQQ@O]V@W@X@@@డO=$Name/parens_if_infixRX22RX22@ RX22RX22@@@L@@@@@L@@@@@@KUKU@@KA@@@@M@@@n@@n M@@@n @@n 1@@ఐ(name_preR<X22R=X22@;@@M@@@nW@nW@nE@@6 @@IF@A@RHX22 @@@ఠ-complete_name<RSY22RTY22@RfA@@M-@@@n8V@n 3RWRVRVRWRWRWRWRW@\jc@d@e@@@డO$Name&concatRlY23RmY23@ RpY23RqY23 @@@ML@@@ @@ @MS@@@ @@ MV@@@@@@@@K^K^@@KD@@@@Mb@@@n(@@n'@Mi@@@n&@@n%Ml@@@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@}@@@@@డQN!!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@ภ$SomeSK\3l3|SL\3l3@Lఐ~2get_string_of_fileSW\3l3SX\3l3@ @@@{@@@n@@n@x@@@n@@nw@@@n@@n@@n@@ఐ#locSy\3l3Sz\3l3@z@@*@(LocationS\3l3S\3l3@)loc_startS\3l3S\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@@Lw&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@@TK\3l3TL]33@@yu@@@@O(@@@nz@ภ$NoneTY_4 4TZ_4 4@N@@@V@q@T_[3?3M@@@A@TaZ3)34@@@ఠ)new_valueTlb4Q4`Tmb4Q4i@TA@@@@@qV@q3TpToToTpTpTpTpTp@@@@@@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_infoU d44U d44@ఐ+comment_optUd44Ud44@A@@@@@rN@@@rMV@rO@(val_typeU$e44U%e44@డ*subst_type(Odoc_envU3e44U4e44@ U7e44U8e44@@@@@@@@r_@@r^@@@@r]@@r\@@@r[@@rZ@@rY@@ఐ#envUVe44UWe44@@@,@@ఐ1#patUee44Ufe44@@@@)TypedtreeUne44Uoe44@(pat_typeUse44Ute45@@=@@@@@rmW@ruW@rr @@L @@@@@rWW@rk@ء-val_recursiveUf55Uf55@డS))Uf55+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#envVh5`5V h5`5@S@@@@ఐƠ+comment_optV,h5`5V-h5`5@[@@  @@@r@@@rW@rW@r@@ఐƠ¶msVDh5`5VEh5`5@@@G @@@r@@@rW@rW@r@@ఐˠ$bodyV\h5`5V]h5`5@@@ @@@rW@rW@r@@ @@@@@r@@@rW@r@(val_codeVvi55Vwi55@ఐ$codeVi55Vi55@ @@@@@r@@@rV@r@'val_locVj55Vj55@ຠ3(loc_impl*Odoc_types(location@@@&optionLS@@@@@@@@@3)loc_inter ^!t@@@@@@@@A@A7ocamldoc/odoc_types.mlijj#@@ B@@Aii@@$A@(loc_implVj55Vj55@ภ$SomeVj55Vj55@Poఐ#locVj55Vj55@ڰ@@g@@@@>J@t?J@tBJ@sJ@sJ@r@@@rV@sw@A)loc_interVj55Vj56@ภ$NoneVj56Vj56 @Q@@@QP@@@s @@@s V@s@@@Wj55Wj56 @@*@@@rV@s@@@Wb4Q4lWk66@@@A@Wb4Q4\@@ภDWm6*67Wm6*6BAIఐ)new_value W"m6*6@@@@ @@3W WWW W W W W @@@@ภDW-m6*6AAIe@A@V@@@sU@s#@@W6m6*65@@Im@@@s@*#@@@$@@e@%@@@&@@>@S'@@@@WFo6D6PWGo6D6Q@@'E@@@m@@'H@@@m@@@@ఠ(name_preWXq6}6WYq6}6@WkA@@R2@@@s4V@s$@డT$Name*from_identWnq6}6Woq6}6@ Wrq6}6Wsq6}6@@P@@@P@@@s)@@s(RQ@@@s'@@s&@@ఐ%identWq6}6Wq6}6@,@@Q@@@s6W@s8W@s7 @@' @@7 @A@Wq6}6 @@@ఠ$nameWr66Wr66@WA@@R{@@@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@XA@@R@@@shV@sP3WWWWWWWW@M[T@U@V@@@డU2$Name&concatXs67Xs67 @ X s67 X s67@@@@@R@@@sX@@sW@R@@@sV@@sUR@@@sT@@sS@@sR)@@ఐd3current_module_nameX)s67X*s67%@L@@6@@ఐ$nameX6s67&X7s67*@@@@S@@@sjW@ssW@srJ@@; @@NK@A@XBs66 @@@ఠ$codeXMt7.7=XNt7.7A@X`A@@S- g@@@sV@s@@@sV@st3XWXVXVXWXWXWXWXW@gun@o@p@@@డVXiu7D7TXju7D7U@@@@,@@@sV@sV@sw@@@sy@@sx@@sv@@డl)keep_code+Odoc_globalXu7D7`@ Xu7D7aXu7D7j@%@j&@@$@@@sW@sW@s<@@0 @@&=@ภ$SomeXv7p7Xv7p7@R?ఐҠ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@@ఐ !#locYw77Y w77@ @@ @(LocationYw77Yw77@'loc_endYw77Yw77@@z@@\@@@s@s@&LexingY%w77Y&w77@(pos_cnumY*w77Y+w77@@X&@@!E@@@sW@sW@s@@Y6v7p7Y7w77@@@@@@T@@@s@ภ$NoneYDy88YEy88!@S@@@V@s@YJu7D7Q@@@A@YLt7.79@@@ఠ)new_valueYW{818@YX{818I@YjA@@ @@@sV@s3Y[YZYZY[Y[Y[Y[Y[@@@@@@론(val_nameYl|8N8[Ym|8N8c@ఐ-complete_nameYu|8N8fYv|8N8s@@@TL@@@s@󡠐(val_infoY}8v8Y}8v8@ఐ $+comment_optY}8v8Y}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@@A}@@e@@@sW@sW@s@@L @@X@@@sW@s@P-val_recursiveZ88Z88@డXu--Z 89 Z 89 @-@@@ V@s@@s@@@s-@@@s@@s@@s@@ఐ (rec_flagZ&89Z'89 @ @@ @@ภ(AsttypesZ489 Z589@)RecursiveZ989Z:89@@y@ @@ W@t@@@@@@@sW@t @.val_parametersZK9"9/ZL9"9=@ภLZR9"9@ZS9"9B@L@@@@@@t@@@tV@t@(val_codeZd9E9RZe9E9Z@ఐ $codeZm9E9]Zn9E9a@ @@@@@t&@@@t%V@t'@'val_locZ9d9qZ9d9x@ຠ(loc_implZ9d9}Z9d9@ภ$SomeZ9d9Z9d9@T2ఐ #locZ9d9Z9d9@ @@ M?@@@@ Q@@@t7V@t>F@)loc_interZ9d9Z9d9@ภ$NoneZ9d9Z9d9@UJ@@@  @@@tK@@@tJV@tQ`@@@Z9d9{Z9d9@@@@@t/V@tUh@@@Z{818LZ99@@pk@A@Z{818<@@ภHZ99Z99ALӠఐ)new_value Z99@@@ @@ BU@t\3ZZZZZZZZ@@@@ภHZ99AM!@A@ZI SJ@tW@@@t[U@ta@@Z99"@@M+@@@tZ@.'@@@(@@@)@@@*@@S@h+@@ f u@@@AZS12[99@@ i3ZZZZZZZZ@ @@@Ġ)Typedtree[99[99@*Tpat_tuple[99[9:@@TO@[9:[9: @@TJ@TGTD@@@m@@@m٠@U2V@@@m@@@m@@m@@@m b@@@&@@ Y c@@ Y c@@@ภMs[9::[:::@Mr@@@  k@@[B::[C::@@ i s@@ i s@@@ภM[I:: @M@ @@  z@@@A[LQ11 @@ 3[H[G[G[H[H[H[H[H@ |@@@  @@  @  @@  @  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.[`L0G0L[aM00@@@@@@@ @  @ Aఠ5tt_name_of_class_expr[n;;[o;<@[A@@@7@@@tJ@t@@tVQ@@@tJ@t@@t3[{[z[z[{[{[{[{[{@ c \@ ]@ ^@@@࣠@%clexpA[;<[;<@[A@@3[[[[[[[[@*@%@@t @@tK@t@*@+@@@@ @@ఐ%clexp[==[==@5@@@@63[[[[[[[[@'@@@)Typedtree[==[==@'cl_desc[==[==@@3'cl_desc7@@@V/class_expr_desc@@@@@@ 3&cl_loc R !t@@@@@A @AVw7"7'Vx7"7:@@V@3'cl_typeU*class_type@@@@@B@AV7;7@V7;7Z@@V@3&cl_env#Cb!t@@@@@C!@AV7[7`V7[7n@@V@3-cl_attributes/R;@@@@@D*@AV7o7tV7o7@@V@@AV77V77!@@V@Q?@@8@@@tP@Ġ)Typedtree\==\ ==@)Tcl_ident\ ==\==@@;)Tcl_identQ@@@@N!t@@@ԠV#locN!t@@@@@@ՠUYN@@@@@@@C@@G@AV77V77@@@W@ఠ!p\>==\?==@\QA@@,@@@t3\@\?\?\@\@\@\@\@@@@@@\I==\J==@@.,@@@t@@@t @@\U==\V==@@-N@@@t@@@t@@@W\_==@@@@@t@@@@@t!@@@డY$Name)from_path\s==\t==@ \w==\x=>@@@$Path!t@@@ F@@ EW[@@@ D@@ C@VJ  VJ  @@VP@@@@@@@t@@tWj@@@t@@t3\\\\\\\\@aZ@[@\@@@@ఐh!p\=>\=>@ @@.@@@tN@tN@t@@> @@6@Ġ)Typedtree\>>\>>@.Tcl_constraint\>>\>>'@@;.Tcl_constraint@9@@@UW*class_type@@@@@@VW<@@@@@@VWF@@@@@@V'MethSet!t@@@@EE@G@AW99W9l9@@@W@ఠ*class_expr]>>)]>>3@]A@@9E@@@tO@t^@@] >>5]>>6@@A@@@@t@@@tj@@]>>8]>>9@@BA@@@t@@@tv@@]%>>;]&>><@@DC@@@t@@@t@@]1>>>]2>>?@@F@@@t@@@x]7>>@@@w@@@t@@@Ġ)Typedtree]E>A>I]F>A>R@)Tcl_apply]J>A>S]K>A>\@@;)Tcl_apply=@9@@@V@W)arg_label@@@堠@XO)apply_arg@@@@@@@@@BC@G@AX8p8rX8p8@@@XU@t*class_expr]t>A>^]u>A>h@]A@@q@@]{>A>j]|>A>k@@)@(@@@t٠@&@@@t@@t@@@t@@@I]>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@@\X]Ɛ 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@_V@u@@@@>I@@ఐ栐+comment_opt_b@u@_c@u@@ΰ@@4V@@ఐ¶ms_o@u@_p@u@@_@@r@@@!@@@ R@,R@*n@@ఐ$body_@u@_@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-@@@ĠR6_A A_A A@R5@@@@'@@@H@@@G^@@.@@@J@@@Ie@@@డ^~%raise`AA`AA@5;@@@5;@@@T@@SS@R@@Qz@@ภ'Failure`+AA`,AA@;'Failure9@@@ @&stringQ@@@@AX @@A9=ocaml.warn_on_literal_pattern5PE  5QE  @@5TE  5UE  @@@XH@డ^!^`QAA`RAA@@%@@@@@@-@@@@@1@@@@@@@@5y^6^65z^6^\@@Yq@@@@@@@i@@h@@@@g@@f@@@e@@d@@c@@డ(bad_tree-Odoc_messages`AA`AA@ `AA@@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_nameaAAaAA@@@l@@eaAB@@@@@@V@u@@ @@@@@w@U@}@@a&AAa'AB@@@@@a@T@u@@a0AAa1AB@@6R@@@[S@`@@"@@@@@Aa9@@a:BB@@3a6a5a5a6a6a6a6a6@@@@@@.@@aCBBaDBB@@1B@@@@@1E@@@@@@ภSaPB@BJ@S@@@ @@@AaS@@ @@3aOaNaNaOaOaOaOaO@@@@A@BJ@@A_a+ ? Analysis of a method expression to get the method parameters. ae?k?oaf?k?@@@@@@@@@@ఠ7analyse_class_structure%asBBatBB@aA@@@ @@@&J@@@@\^@@@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'AaBCbBC@bA@@3aaaaaaaa@bBBbk``O@@@@@  @@2current_class_name(AbBCbBC@b&A@@3bbbbbbbb@!@@@@@@@@,tt_class_sig)Ab$BCb%BC#@b7A@@3b#b"b"b#b#b#b#b#@@@@@@@@@(last_pos*Ab5BC$b6BC,@bHA@@3b4b3b3b4b4b4b4b4@@@@@@@@@)pos_limit+AbFBC-bGBC6@bYA@@3bEbDbDbEbEbEbEbE@@@@@@@@@%p_cls,AbWBC7bXBC<@bjA@@3bVbUbUbVbVbVbVbV@@@@@@@@@&tt_cls-AbhBC=biBCC@b{A@@3bgbfbfbgbgbgbgbg@@@@@@@@@&_table.AbyBCDbzBCJ@bA@@3bxbwbwbxbxbxbxbx@@@@@@@@@Aఠ$iter/bCMC[bCMC_@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@c)A@@w3cccccccc@2>@5@6@@@@@@(last_pos2Ac'CMCuc(CMC}@c:A@@y3c&c%c%c&c&c&c&c&@@@@@@@@@ĠUqc7CCc8CC@Up@@@@3c5c4c4c5c5c5c5c5@@@@@@@@@ఠ!s5cGCCcHCC@cZA@@+\@@@XY@D3cKcJcJcKcKcKcKcK@@@@ఐ$2get_string_of_filecZCCc[CC@$@@@+~@@@L@@K@+{@@@J@@I+z@@@H@@G@@F@@ఐT(last_poscxCCcyCC@>@@+@@ఐB)pos_limitcCCcCC@*@@8@@/@@<9@A@cCC@@@@@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@@డb68dCDdCD @5@@@5)7@@@Z@Z@@@@@@@@@@ఐ%)file_named7CD@%F@@P@@@[@[@@@' @@@@ఐ!sdLCDdMCD@@@)Y@@@Z@Z@@@ @@@Ơ@@@Z@@A@d`CC@@@ఠ,ele_comments7dkDD(dlDD4@d~A@@נ@@@@Y@!@@@5Y@3dudtdtdududududu@@@@@@డb$List)fold_leftdD7DEdD7DI@ dD7DJdD7DS@@@@#acc@.a@@0%@!a@.d@@0$ @@0#@@0"@@0!@@@0 @Zt@@@0@@0@@0@@0@@0@Zn33Zo3r@@Zm]@.)@@@@QY@@@@/$info@@@Y@@@ @@@@@@@@@@'@@@@@@@@@@@3dddddddd@_@@@@࣠@#acc8AdDTDidDTDl@dA@@,r@@@@࣠@"sc9AdDTDtdDTDv@e A@@73dddddddd@@@@@@@@@@ఐ"sce DzDeDzD@J@@@@K3e e e e e e e e @!@@@*Odoc_typeseDzDeDzD@&i_desceDzDeDzD@@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@@@͠@@@@@@@Ġ$NonefDDfDD@`@@@@@@@ @@@ 3f fff f f f f @@@@ @@@@@@@@@@ఐ8#accfDDfDD@ @@`@Ġ$Somef*DDf+DD@_ʠఠ!t:f3DDf4DD@fFA@@ @@@)@@@@@@@@@@@1@@@@@@@@8@@@డd!@fREEfSEE@@@@@@@%@@$@@@@#@@"@@@ @@@@3fdfcfcfdfdfdfdfd@Y<5@6@7@@@@ఐ#accfvEEfwEE@y@@@@ภTVfEEfEE-AXภ-Class_comment fEE*@;-Class_comment@@@@*Odoc_types$text@@@@AB@C@A7ocamldoc/odoc_class.mliYY4@@@D@ఐt!tfEE+fEE,@>@@@@@B_@G_@FH@@1 @@>_@AK@ภT|8AX@9A@fL`@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@gDD$ @@@ఐ2)acc_inhergEjEwgEjE@@@3gggggggg@@@@@@@డe!@g%EjEg&EjE@@@@[@@@y@@x@c@@@w@@vg@@@t@@s@@r%@@ఐ3*acc_fieldsgFEjEgGEjE@@@2@@ఐ蠐,ele_commentsgSEjEgTEjE@<@@@@@Y@Y@G@@ @@H@@g`EjEvgaEjE@@@Ҡ@@@Q@a@@@  @@@ @@@@@@C!@ĠYzgxEEgyEE@Yyఠ$item3gEEgEE@gA@@S@=3gggggggg@L@@@ఠ!q4gEEgEE@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^@_@`@@@)Parsetreeh EFh EF @(pcf_deschEF hEF@@<@@;@@@@Ġ)Parsetreeh!FF$h"FF-@+Pcf_inherith&FF.h'FF9@@;+Pcf_inheritT@@@9+@(Asttypes-override_flag@@@931*class_expr@@@9&optionL#loc&stringQ@@@9@@@9@@@9@C@@G@A2y>{{2z>{{@@@3J@@hYFF;hZFF<@@,@@@3hYhXhXhYhYhYhYhY@^@@@ఠ'p_clexp<hfFF>hgFFE@hyA@@2@@@@@hpFFGhqFFH@@41/@@@@@@@@@@@@h~FF#hFFJ@@@@@%@@@@@(@@@@ఠ(tt_clexpEhFOF_hFOFg@hA@@cD@@@%[@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_searchi FFi FF@ i FFiFF@@@d>@@@@@@>@@@@@@@@@@@@@>@>@@@@@@@@@>@@@@@@@@@@@@3i0i/i/i0i0i0i0i0@@@@@@@ఐݠ&tt_clsiBFFiCFF@Ű@@@@ఐ!niOFFiPFF@@@?@@@'\@,\@+$@@Q @@%@Ġ)Not_foundibFFicFF@B@@@@ha@@@13@@@డg%raiseiqGGirGG@>@@@>@@@7@@6^@5@@4H@@ภ'FailureiGGiGG@ [డ '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@jA@@1}*R@@@z@@@y[@X3iiiiiiii@ixq@r@s@@@@ఠ,ele_commentsHj GGjGG@j A@@1*`@@@|@@@{[@Y@@jGGjGG@@@(@@@\!@ఐ*5get_comments_in_classj,GGj-GG@)@@@1@@@h@@g@1@@@f@@e@1à*@@@b@@@a@1*@@@d@@@c@@`@@_@@^O@@ఐ7(last_posj[GGj\GG@!@@\@@ఐ'p_clexpjnGGjoGG@԰@@;@@@@t@)Parsetreej|GGj}GG@'pcl_locjGGjGH@@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@kA@@e͠@@@[@@@@[@3jjjjjjjj@@@ @@@@@ఐ(info_optk HPHdk HPHl@ @@2+d@@@@@@3kkkkkkkk@@@@Ġ$NonekHPHrk HPHv@e@@@@2+y@@@@@@-@@2+@@@@@@4@@@ภ$Nonek6HPHzk7HPH~@e@@@H=@Ġ$SomekCHHkDHH@dఠ!iJkLHHkMHH@k_A@@+@@@?@@@@@2֠+@@@@@@G@@2ݠ+@@@@@@N@@@ఐ!ikkHHklHH@@@ @@@@@@3koknknkokokokoko@y. @@@*Odoc_typesk|HHk}HH@&i_desckHHkHH@@c@@@@@AkHPH^@@@A@kH5HA@@@ఠ$nameKkHHkHH@kA@@fm@@@[@ 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_namelII!l II(@డ)=full_class_or_class_type_name(Odoc_envl.II+l/II3@ l2II4l3IIQ@@@+@@@d@@d@)Odoc_name!t@@@d@@d!t@@@d@@d@@d@)@  )@  b@@+S@&!@@@+@@@@@@@@@@@@@@@@@@@@ఐ s#envloIIRlpIIU@ X@@ @@ఐ預$namel|IIVl}IIZ@@@gS@@@e@@U@@:@@@]@(ic_classlI]ImlI]Iu@ภ$NonelI]IxlI]I|@g*@@@@@@{@@@z[@@'ic_textlIIlII@ఐ (text_optlIIlII@@@@@@@@@[@@@@lIIlII@@@A@lHH@@ఐ =$iterlIIlII@ @@@ <@@@ 1@@@ &@@@ !@@@ @ @@@@@@@@@@3llllllll@ @ @ @@@@డkY!@lIIlII@^@@@^ b@@@@@@$ j@@@@@Y n@@@@@@@&@@ఐ 0)acc_inhermIImII@ @@ 3@@ภZmIImIIA_ఐQ%inher m'II@D @@ G@ภZm/IIA_g@A@l ]@@@@\@V@@m9II@@$Ġ @@@\@^@@mAIImBII@@ S@c@@డk!@mQIImRII@@@@ S@@@@@@@$ @@@@@@@@@@@@@@ఐ a*acc_fieldsmtIImuII@ I@@ @@ఐt,ele_commentsmIImIJ@@@%0@@@\@\@@@mIImIJ@@ 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!qnJQJ_nJQJ`@S@@ JS@%@@?@@@ B@ A@@[@.@R@@ 2@G@@ v@@@ @2@@ @/@@@ M@ L@@g@Ġ)Parsetreen'JbJjn(JbJs@'Pcf_valn,JbJtn-JbJ{@@;'Pcf_val@@#loc %label@@@9@@@9@,mutable_flag@@@9@9C0class_field_kind@@@9@@9@AA@G@A8wM~Z~\8xM~Z~@@@9H@@ঠ#txtnaJbJnbJbJ@:ఠ%label=niJbJnjJbJ@n|A@@2@@@3nknjnjnknknknknk@p@@@@@nrJbJ}nsJbJ@@>>@@@[@@@@ @@ఠ,mutable_flag>nJbJnJbJ@nA@@F@@@@@ఠ!k?nJbJnJbJ@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@@@@@@@@@@@@@@) @@@@@@@@@@@@@ภanoTJKoUJK @am@@@@@@AoXJJ@@@A@oZJJ@@@ఠ-complete_nameboeK KofK K*@oxA@@j?@@@[@g3oiohohoioioioioi@@@@@@డl$Name&concato~K K-oK K1@ oK K2oK K8@@@@@j^@@@o@@n@je@@@m@@ljh@@@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_posp+KUKp,KUK@ @@ |\@@ఐ#locp<KUKp=KUK@<@@@@@@r@(LocationpJKUKpKKUK@)loc_startpOKUKpPKUK@@Ȱ@@@@@@@&Lexingp^KUKp_KUK@(pos_cnumpcKUKpdKUK@@+@@7@@@\@\@@@s @@@@@@\@@A@pxKUKa@@@ఠ(type_expepKKpKK@pA@@BsBr@@@[@3pppppppp@@@@@@@@డm5search_attribute_type0Typedtree_searchpKKpKL@ pKLpKL@@@kFw@@@ @@ @kkk@@@ @@1@@@@@@@@B@B@@@@@@@@@@@@@@C@@@@@@@B@@ఐt&tt_clspKLpKL#@\@@O@@ఐ}%labelpKL$pKL)@$@@@@@_@@L@@d`@Ġ)Not_foundpL*L=pL*LF@J@@@@o@@@n@@@డol%raiseqLJLZqLJL_@F)@@@F)@@@@@^@@@@@ภ'FailureqLJLaqLJLh@డW attribute_not_found_in_typedtree-Odoc_messagesq)LJLjq*LJLw@ q-LJLxq.LJL@@@Y@@@x@@x]@@@x@@x@[<<\<s@@Z@@@@@@@@@@@@@@@@ఐ-complete_nameqVLJLqWLJL@@@l-@@@@@q]LJLiq^LJL@@0@@@@_@ @@qgLJL`qhLJL@@F@@@^@@@k@@@@@qpKK @@@A@qrKK @@@ఠ$codefq}LLq~LL@qA@@l]9@@@=[@'@@@([@3qqqqqqqq@@ @ @@@డpqLLqLL@@@@EC@@@%[@#[@@@@@@@@@@డ)keep_code+Odoc_globalqLL@ qLLqLL@%@&@@נ$@@@!\@$\@"<@@0 @@&=@ภ$SomeqLMqLM@koఐ32get_string_of_fileqLM qLM@2@@@9@@@1@@0@9@@@/@@.9@@@-@@,@@+c@@ఐ \#locqLMqLM @ @@v@@@F@Dy@(Locationr LM!r LM)@)loc_startrLM*rLM3@@@@V@@@H@E@&LexingrLM4r LM:@(pos_cnumr$LM;r%LMC@@R+@@:I@@@A\@I\@G@@ఐ #locr=MDMXr>MDM[@ =@@@@@N@L@(LocationrKMDM\rLMDMd@'loc_endrPMDMerQMDMl@@@@@@@P@M@&Lexingr_MDMmr`MDMs@(pos_cnumrdMDMtreMDM|@@+@@:@@@?\@Q\@O@@rpLM rqMDM}@@@@@@mM@@@)@ภ$Noner~MMrMM@m@@@[@U@rLL@@@A@rLL@@@ఠ#attgrMMrMM@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_typesN.N>sN.NF@డ0*subst_type(Odoc_envsN.NIsN.NQ@ sN.NRsN.N\@@0@@@2@@@@@@0@@@@@0@@@@@@@@@ఐ:#envs6N.N]s7N.N`@@@@@ఐ(type_expsCN.NasDN.Ni@@@0@@@\@\@@@; @@@@@\@@-val_recursivesYNlN|sZNlN@ภezs`NlNsaNlN@ey@@@@@@[@@.val_parameterssnNNsoNN@ภesuNNsvNN@e@@@@@@@@@[@@(val_codesNNsNN@ఐ$codesNNsNN@@@Š@@@@@@[@@'val_locsNNsNN@ຠ(loc_implsNNsNO@ภ$SomesNOsNO@mUఐ #locsNOsNO @ @@$t@@@[@[@[@/@@ @@- @@@[@6@')loc_intersNOsNO@ภ$NonesNOsNO@nv@@@76@@@@@@[@P@@@sNNsNO @@@@@[@X@@@sMMsO#O2@@$Z@@@\[@`@Q+att_mutabletO5OCtO5ON@డruGGt O5O^t O5O_@G@@@@@@ [@@@@ @@G@@@@@@@@@ఐ,mutable_flagt)O5OQt*O5O]@f@@@@ภ(Asttypest7O5O`t8O5Oh@'Mutablet<O5Oit=O5Op@@;'Mutable@,mutable_flag@@@@@@AB@@A@pgWu@qgW~@@@@S@@@@9\@@@&@@@@@\@@+att_virtualtZOsOt[OsO@ఐ$virttcOsOtdOsO@@@@@@[@@@@tlMMtmOO@@@A@toMM@@ఐ$iterty OOtz OO@@@@@@ @@@@@@@@@@Ġ@@@@@@@@@@@3tttttttt@@@@@@@ఐ)acc_inhert OOt OO@@@@@డs!@t OOt OO@&@@@&S@;@@@?@@>@,G @@@=@@<&@@@:@@9@@85@@ఐ*acc_fieldst OOt OO@@@1B@@డsH!@t OOt OO@&M@@@&MD\@k\@U@@@Y@@X@,{ @@@W@@V&L@@@T@@S@@Ri@@ఐ(,ele_commentsu OOu OO@v@@&r%@@@i]@l]@j~@@ภbu OOu OOAgภ/Class_attribute u! OO@;/Class_attribute@*Odoc_value+t_attribute@@@@A@@C@AWW@@@PB@ఐ#attu: OOu; OO@@@@@@x]@z]@y@@- @@[]@w@ภcuM OO5Ag@6A@tj^@n@@@s]@@@uX OO@@@,t@@@g]@r@@[G@@,@@@M\@]@e@@ui OOuj OO@@S@K@@ఐ ڠ#locu{ OPu| OP@ {@@!@@@@@(Locationu OPu OP @'loc_endu OP u 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@ \@!\@@@@@@ঠ#txtv  P(PLv  P(PO@BOఠ%label@v P(PRv P(PW@v%A@@0@@@3vvvvvvvv@@@@@@v P(PJv P(PY@@<<@@@[@@@@ @@ఠ,private_flagAv. P(P[v/ P(Pg@vAA@@D@@@@@Ġ)Parsetreev? P(Piv@ P(Pr@+Cfk_virtualvD P(PsvE P(P~@@]@vJ P(PvK P(P@@\@@@6@@@@@@@@:@@vT P(PIvU P(P@@@=@*@@@E@@@v_ P(P2v` P(P@@@@@K@@@@@N@@@@ఠ-complete_namehvq PPvr PP@vA@@qK@@@[@3vuvtvtvuvuvuvuvu@|oh@i@jTM@N@O@@@డs$Name&concatv PPv PP@ v PPv PP@@$ @@@ql@@@@@@qs@@@@@qv@@@@@@@+@@ఐ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_classw PPw PQ@6ϰ@@@>@@@@@@>@@@@@@>7v@@@@@@@>7u@@@@@@@@@@@@O@@ఐ(last_posw9PQw:PQ@@@\@@ఐ#locwJPQwKPQ@J@@#@@@@r@(LocationwXPQwYPQ$@)loc_startw]PQ%w^PQ.@@#ְ@@#@@@@@&LexingwlPQ/wmPQ5@(pos_cnumwqPQ6wrPQ>@@#+@@?@@@\@\@@@s @@@@@@\@@A@wPP@@@ఠ(met_typekwQBQRwQBQZ@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_sigxQ]QxQ]Q@˰@@tj@@S@@qk@Ġ)Not_foundxQQxQQ@Q@@@@w@@@y@@@డv%raisexQQx QQ@MD@@@MD@@@@@^@@@@@ภ'Failurex4QQx5QQ@ డr5method_type_not_found-Odoc_messagesxDQQxEQQ@ xHQQxIQR@@@t@@@x@@x@|@@@x@@x@@@x@@x@@x@~@@}@!@@@@@@@@@@@@@@@@@@@@@@@ఐp2current_class_namexQRxQR@X@@@@ఐ{%labelxQRxQR@@@@@@@@xQQxQR@@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 @@*@@@@Ġ&Tarrowy RtRy RtR@;&Tarrow;@@@ 8@SQ)arg_label@@@ UI@@@ UM@@@ UQ*commutable@@@ @DAAL@ASwE  SxE  @@@UVJ@@y/RtRy0RtR@@@@@K@@y7RtRy8RtR@@Uh@@@S@ఠ!tyyCRtRyDRtR@yVA@@Uv@@@a@@yMRtRyNRtR@@-@@@i@@@GySRtR@@@@@n@@@@@q@@@ఐ!tyaRRybRR@@@@@3y`y_y_y`y`y`y`y`@(@@@@ymRRynRR@@@@@@@@@@@@@ఐ렐(met_typey|SSy}SS @@@@@@AyRIRW@@@A@yR-R9@@@ఠ$codezyS.S<yS.S@@yA@@tmA@@@[@ @@@ [@3yyyyyyyy@@@@@@డx&Ġ&ưySCSRySCSS@&ð@@@&àMS@@@[@[@@@@@@@@@@డ&)keep_code+Odoc_globalySCS^@ ySCS_ySCSh@%@&&@@&$@@@\@\@<@@0 @@&=@ภ$SomeySnS|ySnS@sఐ;2get_string_of_fileySnSySnS@:@@@B@@@@@@B @@@@@B @@@@@@@ c@@ఐl#locz SnSzSnS@ @@&@@@(@&y@(LocationzSnSzSnS@)loc_startz SnSz!SnS@@&@@&f@@@*@'@&Lexingz/SnSz0SnS@(pos_cnumz4SnSz5SnS@@&b+@@BY@@@#\@+\@)@@ఐ#loczMSSzNSS@M@@&@@@0@.@(Locationz[SSz\SS@'loc_endz`SSzaSS@@&İ@@&@@@2@/@&LexingzoSSzpSS@(pos_cnumztSSzuSS@@&+@@B@@@!\@3\@1@@zSnSzSS@@@@@@u]@@@ @ภ$Nonez TTz TT@u$@@@[@7@zSCSO@@@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_opt{&TT{&TT@d@@&|&y@@@W@@@V[@Xb@&p(val_type{'TT{'TT@డ8*subst_type(Odoc_env{#'TT{$'TT@ {''TT{('TT@@8@@@:@@@i@@h@8@@@g@@f8@@@e@@d@@c@@ఐJ#env{F'TT{G'TT@/@@@@ఐ)real_type{S'TT{T'TT@@@8@@@w\@|\@{@@; @@&@@@a\@u@&-val_recursive{i(TU{j(TU @ภm{p(TU{q(TU@m@@@&@@@[@@&.val_parameters{~)UU({)UU6@ภm{)UU9{)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@ueఐ.#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|9-UU|:-UU@@@@@ภ(Asttypes|G-UU|H-UU@'Private|L-UU|M-UU@@;'PrivateH,private_flag@@@@@@@B@@AHe1EHe1L@@@HO@@@@9\@@@&@@@@@\@@+met_virtual|j.UV|k.UV@ภ c|q.UV|r.UV@ b@@@@@@[@@@@|z#T6TB|{/VV'@@@A@|}"T"T,@@ డz0@@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~O6WW?~P6WWB@Jఠ%labelB~W6WWE~X6WWJ@~jA@@u@@@!3~Y~X~X~Y~Y~Y~Y~Y@^@@@@@~`6WW=~a6WWL@@@@@%[@#@@@" @@ఠ,private_flagC~s6WWN~t6WWZ@~A@@@@@,@@Ġ)Parsetree~6WW\~6WWe@,Cfk_concrete~6WWf~6WWr@@d@~6WWs~6WWt@@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@@ఐ%label7WzW7WzW@A@@ #@@@H@@7@@LI@A@7WzW@@@@ఠ(info_opt}8WW8WW@0A@@F?z@@@@@@[@3%$$%%%%%@gun@o@p@@@@ఠ,ele_comments~58WW68WW@HA@@F?@@@@@@[@@@C8WWD8WW@@@(@@@!@ఐ?à5get_comments_in_classT8WWU8WX@?@@@F@@@@@@F@@@@@@F?@@@@@@@F?@@@@@@@@@@@@O@@ఐ_(last_pos8WX8WX @I@@\@@ఐ#loc8WX 8WX@@@, @@@@r@(Location8WX8WX@)loc_start8WX8WX"@@, @@+@@@@@&Lexing8WX#8WX)@(pos_cnum8WX*8WX2@@++@@GM@@@\@\@@@s @@@@@@\@@A@8WW@@@ఠ#exp9X6XF9X6XI@A@@zx]@@@[@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_foundJ;XXK;XX@Y@@@@I@@@k@@@డ~%raiseY;XXZ;XX@U~@@@U~@@@ @@^@@@@@ภ'Failuren;XXo;XX@ Cడ"=method_not_found_in_typedtree-Odoc_messages~;XX;XX@ ;XX;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@@@@@@డ2(get_desc>Y&Y8>Y&Y@@@@@]@@@1@@0@@@/@@.3@@@@@ఐ(#exp>Y&YA>Y&YD@(@@y@@@>@<@(exp_type>Y&YE>Y&YM@Q@@]E@@@:]@?]@=#@@1 @@E@@@8'@Ġ&Tarrow'?YSYa(?YSYg@@,?YSYi-?YSYj@@@@@G;@@4?YSYl5?YSYm@@]e@@@HC@ఠ!t@?YSYoA?YSYp@SA@@]s@@@IQ@@J?YSYqK?YSYr@@*@@@JY@@@)P?YSYs@@|@@@K^@@@@@La@@@ఐ!t^@YwY_@YwY@@@@@3]\\]]]]]@(@@@@jAYYkAYY@@@@@Ny@@@@@O|@@@ఐ#exp{CYY|CYY@@@y@@@V@T@)TypedtreeCYYCYZ@(exp_typeCYZCYZ @@Q@@@@@A>Y&Y2@@@A@=Y Y@@@ఠ$codeEZZ(EZZ,@A@@|I@@@[@m@@@n[@[3@@@@@@డ%.נ.ٰFZ/Z>FZ/Z?@.ְ@@@.֠Uf@@@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@(Location.GZZZ/GZZZ@)loc_start3GZZZ4GZZZ@@.@@.y@@@@@&LexingBGZZZCGZZZ@(pos_cnumGGZZZHGZZZ@@.u+@@Jl@@@\@\@@@ఐ#loc`HZZaHZZ@`@@.@@@@@(LocationnHZZoHZZ@'loc_endsHZZtHZZ@@.װ@@.@@@@@&LexingHZZHZZ@(pos_cnumHZZHZZ@@.+@@J@@@\@\@@@GZZZoHZZ@@@@@@}p@@@o@ภ$NoneJZZJZ[@}7@@@[@@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@@ఐ!:#env6P[[7P[[@!@@!|@@ఐq)real_typeCP[[DP[[@@@@@@@\@\@@@; @@.@@@\@@.-val_recursiveYQ[[ZQ[[@ภuz`Q[[aQ[[@uy@@@.@@@[@@..val_parametersnR[\oR[\@ఐ%i@@@@@@@@@|@@@@@B@@@@@@@@@@@@@@@@ఐ!#envR[\4R[\7@!@@"3@@ఐ-complete_nameR[\8R[\E@@@~@@@(@@ఐ(info_optR[\FR[\N@@@;;@@@"@@@!\@.\@,@@ఐ#expR[\OR[\R@@@|e@@@\@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\@ภ$Some*T\w\+T\w\@}ʠఐ#loc4T\w\5T\w\@4@@4@@@S[@Z[@^[@]@@ @@- @@@R[@Y@-)loc_interMT\w\NT\w\@ภ$NoneUT\w\VT\w\@~@@@--@@@g@@@f[@m@@@bT\w\cT\w\@@/@@@J[@q@@@jN[2[LkU\\@@4@@@[@t@ +met_privatewV\\xV\\@డXmXoV\\V\\@Xl@@@@@@[@@@@ @@~Xm@@@}@@|@@{@@ఐ+,private_flagV\\V\\@ذ@@@@ภ(AsttypesV\\V\]@'PrivateV\]V\] @@e@ @@-\@@@@@ @@@y\@@ +met_virtualW]]W]]'@ภvW]]*W]]/@v@@@ @@@[@@@@M[$[0X]2]A@@@A@L[[@@ డRd<Z@@@SQ!@@`f_e_af_e_@@R@@@S e@@@@@ @@@T i@@ @@@U l@@@ఐ%預$iterug__vg__@%@@@%@@@%@@@%@@@%@@~@%@%@@}@@|@@{@@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@AS7eprS8ep@@@T"@@i__i__@@@@@Z!@@@@@!F@@@[! @@!I@@@\!#@@@ ภ{D*i_`+i_` @{C@@@{C@@@!0@1i_`@@!2@@@A3EE @@@&l@&k@@|354455555@!:@@@!K@@!!@@A>CMC@@@&[A@@&@@@&@@@&@@@&@@@&@&@@@@@@@@@@S@&o@@@YCMCS/@@ఐ&נ$iterck``dk``!@&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'@@|<'G@@@-@@@,S@FS@Cu@@(@@(8v@(@@(9'8@((A@(J@W(@Aw吠 Analysis of a [Parsetree.class_struture] and a [Typedtree.class_structure] to get a couple (inherited classes, class elements). BNBR BB@@@@@@@(@((@(1Aఠ2analyse_class_kind-n``.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@@x3@())@)@)@@@࣠@#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_expAn`a$ n`a0@2 A@@3@@@@@@@@@%tableA0n`a11n`a6@CA@@3/../////@@@@@@@@@@ఐ=,p_class_exprHoa9aFIoa9aR@%@@3FEEFFFFF@$@@@@@)ParsetreeToa9aSUoa9a\@(pcl_descYoa9a]Zoa9ae@@ ̰@@ @@@ @@ఐO,tt_class_expkoa9agloa9as@7@@#@)Typedtreetoa9atuoa9a}@'cl_descyoa9a~zoa9a@@/@@/@@@ 5@@oa9aEoa9a@@@*@ @@>@@Ġ)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_desc,raa-rab@ @@0n@@@3-,,-----@@@@Ġ)Typedtree?sb b@sb b @)Tcl_identDsb b!Esb b*@@07ఠ!pNsb b,Osb b-@a$A@@0<@@@#@@Xsb b.Ysb b/@@0=0;@@@@@@/@@dsb b0esb b1@@0<~@@@@@@;@@@/nsb b2@@0@@@@@@0@@@C@@@డ$Name)from_pathsb b6sb b:@ sb b;sb bD@@0@@@0@@@ @@e@@@@@3@wLE@F@G@@@@ఐS!psb bEsb bF@ @@0)@@@-W@/W@.@@* @@@@tbGbUtbGbV@@0@@@@@0@@@@@@డ$Name.from_longidentwccwcc@ wccwcc+@@@)Longident!t@@@ N@@ M@@@ L@@ K@UP y yVP y @@TR@@@@@@@4@@3@@@2@@1@@ఐ/#lidwcc,wcc/@ڰ@@U0@@@AW@MW@D@@@C@#txt wcc0 wcc3@YP@@W@E@@I@@@@@Araa@@@A@qaa@@@ఠ¶ms{cc{cc@1%A@@iYiW@@@6@@@5T@3'&&'''''@@@@@@ఐ,tt_class_exp:|cc;|cc@@@387788888@@@@)TypedtreeD|ccE|cd@'cl_typeI|cdJ|cd @@1y@@1x@@@@Ġ%Types\}dd]}dd$@*Cty_constra}dd%b}dd/@@;*Cty_constri*class_type@@@ @$Path!t@@@ ΠQi@@@ @@@ Ϡ@@@ @C@@C@Ag|YYg|YZ@@@i@ఠ#_p2}dd1}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_namePee*Qee2@డK/full_class_name(Odoc_env_ee5`ee=@ cee>deeM@@@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@Y@@@"@@@@@@S@@3cco_type_parameterse{ee{e@డI$List#mape{ee{e@ e{ee{e@@J@@@@Lh@@@S@@@@@@S@S@S@@@@@@K@@@@@K@@@@@@@@@డL*subst_type(Odoc_enve{ee{e@ "e{e#e{e@@L@@@N@@@@@@L@@@@@L@@@@@@@@@@ఐ#envAe{eBe{e@b@@M@@Ee{eFe{e@@@L@@@@@L@@@@@Z@@ఐ=¶ms[e{e\e{e@d@@K^q@@@T@T@o@@ @@5m@@@T@v@@@ne eoee@@h@@@nS@~@@t@@@@@m@@zdd{ee@@@@ @@@@@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@A7778 @@@@ఠ2tt_class_structureef*ef<@A@@e@@@:0@@@"@@4+@@@;4@@eeef=@@@9@ @@<=@ @@%j@@@>@4@@@@?@@=I@@@@ఠ,tt_class_sigffff@!)A@@lC/class_signature@@@T@3@le@f@g=6@7@8@@@ఐ ,tt_class_exp)ff*ff@@@3'&&'''''@@@@)Typedtree3ff4ff@'cl_type8ff9ff@@4h@@4g@@@ @Ġ%TypesKfgLfg @-Cty_signaturePfg Qfg@@;-Cty_signature@B@@@ @AA@C@Aj}ZZj}ZZ?@@@l@ఠ)class_sigefgffg!@x*A@@U@@@@@@@"@@4@@@D@@4@@@G@@@ఐ)class_sigzfg%{fg.@@@@@l3yxxyyyyy@f@@@@g/g=g/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@@ఐӠ#envhggigg@@@6@@ఐ2current_class_nameugh vgh@@@:@@ఐt,tt_class_sighh,hh8@@@/@@@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_structurehh hh@@@0I@@@U@U@*@@ఐ%tablehhhh@Ѱ@@7@@@@@G@1@@U@@@A@)gg @@@ภm3ii 4ii @l@@@lFJ@@@@376677777@Vha@b@cQJ@K@L@@@@ภ/Class_structureIiiJii)@;/Class_structureG@0u@@@@@@#0p@@@@@@@B@@D@A+mPT+mP@@@0[@ఐ1inherited_classeslii+mii<@/@@%0@@@@@@S@S@>@ఐ.class_elementsii>iiL@D@@20@@@@@@S@S@T@@HiiM@@ @@@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_expr2 iQi iQi@A@@*@@@T/@@@diQi@@(@@@U4@@Ġ)Typedtree"ii#ii@'Tcl_fun'ii(ii@@;'Tcl_fun7@)arg_label@@@ڠ@@@۠f@!t@@@ޠ@@@@@@@@@ܠo@@@I@@@@EB@G@A8 88S8o@@@?@@[ii\ii@@0@@@`|@ఠ#patgiihii@zA@@@@@a@ఠ/_ident_exp_listuiivii@A@@B@A@@@d@@@@e@@c@@@b@ఠ.tt_class_expr2iiii@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@@p3@@@T@"@@jjjj@@@.@@@+@ఐ#pat jj jj@+@@@@@3        @<@@@)Typedtreejjjj@(pat_descjjjj@@{@@ @@@@@@U@@Ġ)Typedtree<jj=jk@(Tpat_varAjkBjk @@ఠ%identKjkLjk@^/A@@@@@3MLLMMMMM@|@@@@VjkWjk@@@@@@@@ @@bjkcjk@@@@@@@@,hjk@@UN@@@@@@@ @\U@@@@@@%@@డhlhnjk7jk8@hk@@@]@@@!V@@@@ @@hl@@@@@@@3@NG@H@I@@@@డ$Name*from_identjk!jk%@ jk&jk0@@4@@@4@@@@@@@@@@%@@ఐw%identjk1jk6@/@@K@@@#X@%X@$9@@' @@D:@@%*opt*jk:jk?@@jk9jk@@@SV@(I@@7@@h{@@@)W@O@ఐ].tt_class_expr2kkkk@ @@q0@@@.@,b@)Typedtreekkkk@'cl_desckkkk@@9G@@9C@@@-t@Ġ)Typedtreekkkk@'Tcl_letkkkk@@;'Tcl_let9 @(rec_flag@@@S~@@@@@@\@!t@@@젠@@@@@@@@@q@@@@DD@G@A8889@@@1@@MkkNkk@@1@@@:@ĠZXl-leYl-lg@Yঠ&vb_patckkdkl@}ঠ(pat_descmklnkl @}8Ġ)Typedtreewklxkl@(Tpat_var|kl}kl @@ఠ"idkl"kl$@0A@@@@@b@@kl%kl&@@@@@d@@@c@@kl'kl(@@@@@e@@@+kl)@@@@@g@@@f@@@klkl+@@4@@@iY@h@'vb_exprl-lXl-l_@~"ఠ#expl-l`l-lc@1A@@@@@@m4@@@kkl-ld@@~@@@oY@n<@@l-lhl-li@@0~@@@q@@@pH@@@ @@~@@@s@@@rP@@l-lkl-ll@@@@@@v@p@@@w@@u@@@te@ఠ.tt_class_expr3l-lnl-l|@2A@@rA@@@xs@@@l-l}@@:G@@@yx@@:J@@@z{@@@@ఠ$namellll@+3A@@@@@Y@3@@@jc@d@e,%@&@'@@@డa$Name*from_ident5ll6ll@ 9ll:ll@@ð@@@@@@@@@@@@@&@@ఐˠ"idQllRll@.@@@@@Z@Z@:@@' @@>;@A@]ll @@@ఠ)new_paramhllill@{4A@@U@@@Y@3lkklllll@Q_X@Y@Z@@@ภ+Simple_namezll{ll@TpະT_'sn_namelmlm @ఐw$namelmlm@@@f@@@$@Th'sn_typemrmmrm@డT1*subst_type(Odoc_envmrmmrm@ mrmmrm@@T/@@@V@@@@@@T/@@@@@T*@@@@@@@R@@ఐ 8#envmrmmrm@ @@ _@@ఐ#expmrmmrm@@@]@@@@s@(exp_typemrmmrm@f@@Ta@@@Z@Z@@@I @@T@@@Z@@T'sn_textmm3mm:@డ2desc_from_info_opt.Odoc_parameter mm=mmK@ mmLmm^@@Lq@@@NʠN@@@@@@@@@Lq@@@@@LpLo@@@@@@@@@@@@ఐ O+comment_opt8mm_9mmj@ 7@@ @@ఐ-$nameEmmkFmmo@԰@@@@@@@?@@VV@@@@@@Z@@@@VlmWmm@@UH@@@Y@@@@@V@@@@A@bll @@@ఐ)new_paramnmn omn@@@@@3mllmmmmm@@@@@ఐ~.tt_class_expr3}mn~mn"@X@@@@mnmn#@@@@@@@(@@@. @@@@@@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_param owo owo@5A@@W5@@@W@r@ఐW:tt_param_info_from_patternoooo@O@@@W@@@@@@@@@@@@WyWv@@@~@@@}A@|@@{@D"@@@z@@@y@@xWi@@@w@@v@@u@@t@@ఐ #envQooRoo@ r@@@@డ 2desc_from_info_opt.Odoc_parameterdooeop@ hopiop@@MȰ@@@P!P @@@@@@@@@M@@@@@MǠM@@@@@@@@@@3@@ఐ +comment_optopop"@ @@K@@@ooop#@@@M@@@@@MM@@@@@@@@Q@@ఐF#patp$p9p$p<@̰@@5@@@a@@@@b@A@owo@@@ఐ)new_parampQpcpQpl@@@@@V@3@@@@@ఐB.tt_class_expr2pQpnpQp|@@@V@@@pQpbpQp}@@@@ @@@,@@@@@Ajj @@@@@@@A@jj@@@@ఠ¶mspppp@ 6A@@J@@@@S@@q`qhq`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@@@@ rr rr@@>>@@@N@@@M @@rrrr@@>@@@P@@@O@@@0"rr@@?b@@@Q@@?e@@@R!@@@డb$Name)from_path6rr7rs@ :rs;rs @@>ð@@@>@@@\@@[@@@Z@@Y3CBBCCCCC@MF@G@H@@@@ఐT!pUrs Vrs@ @@>@@@iW@kW@j@@* @@@@fs2s@gs2sA@@?@@@T@@?@@@U@@@ఐB-p_class_expr2ysszss@@@3F@@@p@n@)Parsetreessss@(pcl_descssss@@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@@@@@#txt tfttft@hR@@Y@%@@8@@^&@@tttt@@1@@@J@@1@@@M@@@డ>Y*object_end-Odoc_messages+tt,tt@ /tt0tt@@>W@@`@@@A4ss@@-@@@A6rr@@~@A@8qq @@@ఠ*param_expsCttDtu@V;A@@@@@-T@@@@T@3POOPPPPP@@@@@@డ$List*filter_mapetuftu@ itujtu@@@@!a@.@@0&optionL!b@.@@@0@@0@@0@N@@@/@@/D@@@/@@/@@/@LM@@KZ@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@@Ġ#Arg.uCuV/uCuY@;#ArgV@R@A@@B@A|6h6j|6h6u@@@@ఠ!e?uCuZ@uCu[@RA@@$D@@@@ఐ!euuuu@2@@@@33@T@@@)Typedtreeuuuu@(exp_type uu uu@@n@@h@uuuu@@@O@@Lu@@KU@WU@Uo@@ఐࠐ*param_exps#uu$uu@y@@Z&c@@@IU@[U@YS@@u @@@A@0uu @@@ఠ+params_code;uu<uu@N?A@@Z8fU@@@T@a@@@tT@\3EDDEEEEE@@@@@@డ$List#mapZuv[uv@ ^uv _uv @@Zr@@@@@@@T@d@@g+@@f@@e@Zo @@@c@@bZn6@@@`@@_@@^3vuuvvvvv@1@@@@࣠@!eAv v v 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@@ఐ!e vwv vwv@\@@_@'exp_locvwvvwv@o @@K@@@@k@(Locationvwvvwv@'loc_end#vwv$vwv@@K@@Ki@@@@@&Lexing2vwv3vwv@(pos_cnum7vwv8vwv@@Ke2@@gR@@@W@W@@@ @@@Dv vEvwv@@@@@y @@xU@U@@@ఐ*param_expsXvvYvv@@@[[@@@vU@U@@@  @@#@A@euu @@@ภovvpvv@@@@J@@@@3srrsssss@/C<@=@>@@@@ภ+Class_applyvvvw@;+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_class,wHwW-wHwa@ภ$None4wHwd5wHwh@@@@@@@@@@S@@+capp_paramsFwkwzGwkw@ఐ+param_typesOwkwPwkw@@@@@@ @@@ S@@0capp_params_codeawwbww@ఐ/+params_codejwwkww@@@@@@@@@S@@@@wwwxww@@@@@S@!@@@@@@@ @@vvww@@@@ @@"@'@@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_expr2-wx&.wx4@@A@@}o@@@i@@@@5wx5@@Eu@@@n@@:ww;wx6@@@X@ @@w@ @@6@@@@E@@@@@@@@ఐ*2analyse_class_kindWxixsXxix@@@@)@@2@$@@1@@@0@@@/@@@.@ @@-@@@,@@@@+@@*@@)@@(@@'@@&@@%@@$3wvvwwwww@3@@WP@Q@R@@@@ఐ#envxxxx@@@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_type2xy$ xy2@2!A@@#@@@@@@6'xy3@@7@@@@@Ġ)Typedtree5y5y>6y5yG@.Tcl_constraint:y5yH;y5yV@@Evఠ.tt_class_expr2Dy5yXEy5yf@W"A@@~@@@@@Ny5yhOy5yi@@EE@@@@@@ @@Zy5yk[y5yl@@EE@@@@@@@@fy5yngy5yo@@EE@@@@@@$@@ry5yqsy5yr@@E@@@,@@@Cxy5ys@@F@@@1@@}xx~y5yt@@@[@ @@:@ @@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_expr2.yy/yy@@@U@@@ఐ.tt_class_expr2=yz>yz@@@U@@@ఐ%tableLyzMyz@@@@@@@@@@@U@@A@Yyxy @@@ఠ/class_type_kind dzzezz@wCA@@A/class_type_kind@@@T@3jiijjjjj@@@@@@@@ภ*Class_typez{{{{{@;*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@ภ?{|8{|:@>@@@^]@@@@@@T@@@@{{{|<@@@@@T@@@@@@@@@A@zz @@@ఐ!l*|J|U+|J|V@@@3(''(((((@@@@@@@ภ0Class_constraint8|J|X9|J|h@;0Class_constraint6@@@@@@@@BC@D@A=p=p@@@Bg^@ఐ*class_kindQ|J|jR|J|t@@@'@ఐ/class_type_kind\|J|v]|J|@/@@@@@S@S@9@@/g|J|@@@@@>@@l|J|Tm|J|@@@Ϡ@ @@G@W@@@ @@@@|||}||@@@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@@jؐ 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@5DA@@@d@@@J@@@@ @@@J@@@@pWpT@@@@@@J@@@@pL+class_infos="@@@J@@@@J@@@@20)type_expr@@@2@@@1J@@@@@@@J@@@@}:@J@@@@@@ J@@@J@@@J@@@J@@@J@@@J@@@J@@@J@3@@@@࣠@#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@@@)Parsetree7 }}8 }}@(pci_name< }}= }}@@3(pci_name!a@5@@@81/@@@8@@@8@@B3(pci_virt>$,virtual_flag@@@8@@@@Apoopoo@@qP@3*pci_paramsx@7v@@@8䠠@@>@(variance@@@8栠@>G+injectivity@@@8@@8@@8@@@8@@A,@Apoopoo@@qt@A3(pci_exprA>@@C2@Appp ppp@@qz @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@sL@@ S@ V@@G@@ZW@A@  }}@@@ఠ#locΠ ~;~E ~;~H@+NA@@<@@@2R@-3@m{t@u@v@@@ఐf,p_class_decl/ ~;~K0 ~;~W@N@@@)Parsetree8 ~;~X9 ~;~a@(pci_expr= ~;~b> ~;~j@@@@J@J@3J@0&@)ParsetreeM ~;~kN ~;~t@'pcl_locR ~;~uS ~;~|@@<Ѱ'@@85@A@W ~;~A@@@ఠ)pos_startϠb~~c~~@uOA@@S@@@:R@43feefffff@KYR@S@T@@@ఐa#locy~~z~~@@@S@@@9@7@(Location~~~~@)loc_start~~~~@@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@#-&@'@(@@@డK{Π{а~~ @{Ͱ@@@@@@RR@C@@D@ @@B{@@@A@@@@@?@@ఐ8,p_class_decl~~~ @ @@-@)Parsetree ~  ~@(pci_virt~~@@@@(<@@ภ(Asttypes~!~)@'Virtual#~*$~1@@;'Virtualti,virtual_flag@@@@@@@B@@AtWktXk@@@tnX@@@@JS@W^@@5@@b_@A@7~~@@@ఠ&cltypeҠB5?C5E@URA@@e*class_type@@@lR@X3IHHIIIII@x@@@@@డe0subst_class_type(Odoc_env^5H_5P@ b5Qc5a@@@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@@5h@@@@@@R@w3@@@@@@@ఠ$kindԠ@TA@@l@@@R@x@@@@@$@@@{@ఐ٠2analyse_class_kind@j@@@hp@@@@@@@@@@@@`̠`@@@@@@@@@p@@@@@@@@@@@@@r@@@@@@@@@hg@@@@@@@@@@@@@@@@@@@@@@@@~@@}k@@ఐ #envUV@@@,x@@ఐ-complete_namebc@A@@=@@@S@S@@@ఐ+comment_optvw@@@7@@ఐ!)pos_start @ΰ@@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_decl4|5|@S@@O@)Parsetree=|>|@.pci_attributesB|C|@@@@s@@@S@S@e@@T @@mf@A@Odj @@#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_kind9$:$@ఐW$kindB$C$@X@@ @@@@Q@Au@-cl_parametersP%Q%@ఐ*parametersY%Z%@p@@@@@J@@@IQ@K@&cl_lock&l&@ຠTڡ(loc_implv&w&@ภ$Some~&&@ఐp#loc&&@@@\=@@@`Q@gQ@kQ@j@@ @@T @@@_Q@f@T𡠐)loc_inter&&@ภ$None&&@?@@@UT@@@t@@@sQ@z@@@&&@@@@@WQ@~@@@ @@:@q!@@;@"@@<@#@@=t@$@@>@%@@?@ &@@@Z@o'@@A@(@@B@')@@C@3*A@J@1@A0 ` Analysis of a [Parsetree.class_declaration] and a [Typedtree.class_expr] to return a [t_class]. || |}U@@@@@@@=@=<@QAఠ8tt_name_from_module_expr֠++@VA@@@I@@@J@@@@@@J@@@3@!]@@@@@࣠@(mod_exprA++@WA@@3@*@%@@ @@K@@*@+@@@@ @@ఐ(mod_expr ,!,@5@@@@63@'@@@)Typedtree,,-,@(mod_desc1,2,@@3(mod_desc@@@)%0module_expr_desc@@@$@@@ 3'mod_loc !t@@@%@@A @A====@@2@3(mod_type5+module_type@@@&@@B@A====@@>@3'mod_env#!t@@@'@@C!@A====@@J@3.mod_attributes/@@@(@@D*@A===> @@S@@A====@@W@Q?@@8@@@P@Ġ)Typedtree-- @*Tmod_ident- -@@;*Tmod_identQ@@@C@C!t@@@3#loc6module_type_constraint@@@?/module_coercion@@@@@DE@G@A@l@n@@@@@@ఠ%m_exp٠9.1T:.1Y@LYA@@@@@@@C.1[D.1\@@*@@@$@@K.1^L.1_@@+@@@,@@S.1aT.1b@@-@@@4@@@MY.1c@@!@@@9@@$@@@<@@@ఐ8tt_name_from_module_expri.1gj.1@_@@@@@}@@3kjjkkkkk@M=6@7@8@@@@ఐD%m_exp}.1~.1@ @@N@@@@@@Ġ)Typedtree//@.Tmod_structure//@@;.Tmod_structure@)structure@@@6@AA@G@AP??Q??@@@@@//@@@@@@@@@@|@@@@@@Ġ)Typedtree00@,Tmod_functor00@@;,Tmod_functorB@1functor_parameter@@@7,@@@8@BB@G@A???@ @@@@@00@@@@@@@@>@@@@@@' @@@@@@@@@V@@@@@@Ġ)Typedtree11@*Tmod_apply11@@;*Tmod_applyz@^@@@9b@@@:@@@;@CC@G@A@ @ @ @H@@@@@11@@s@@@@@@x@@@@@ @@@@@@@.@@@@@@@@@@@@@@ @Ġ)Typedtree92:2@/Tmod_apply_unit>2?2 @@;/Tmod_apply_unit@@@@<@AD@G@A@I@K@I@k@@@3@@O2 P2 @@@@@0@@@@@@@@4@@4@@ @@ @@@8@Ġ)Typedtreef3 g3 @+Tmod_unpackk3 l3 *@@;+Tmod_unpack@@@@A]+module_type@@@B@BF@G@A$AIAK%AIAz@@@g@@3 +3 ,@@@@@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@@  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@t310011111@5AW@8@9@@@࣠@#accAD8E8@W]A@@*3CBBCCCCC@9L8MCr@@@@@  @@$itemAX8Y8@k^A@@-3WVVWWWWW@!A@@@@@@@@ఐ$iteml9m9@@@@@@A3kjjkkkkk@!@@@(str_descv9w9 @ @@@@@ @Ġ)Typedtree::%@,Tstr_include:&:2@@ఠ$incl:3:7@_A@@@@@.@@@@@C@@@2@@F@@@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@@ఐ$inclB=C=@}@@9@@@@(incl_modL=M=@3(incl_mod<-include_infos!a@5@@@@@@ 3)incl_type E)signature@@@@@A @A SS SS@@NY@3(incl_loc!t@@@@@B@ASSSS@@ZZ@3/incl_attributes%@@@@@@@@C#@A%SS&SS@@h[@@A)SS*SS@@lX@D9@@@@@R@R@@@eA@@@@@R@@)im_module>>@ภ$None>>@7@@@@@@@@@Q@@'im_info?,?3@ภ$None?6?:@Q@@@@@@@@@Q@@@@@=P@@R@@ภAQaA@A@0@@@Q@@@;;M@@hd@@@Q@@@@@@@BcmBcn@@@@@|@@@@@@@@ఐ#accCr~@@@@@@A9@@3@@@@A@L@Y@A@@డp$List)fold_left E E@ EE@@L@@@@4K@^@@g@q@@@K@a@@f @@e@@d@@c@@@b@L@@@`@@_@@]@@\@@[3-,,-----@$@@@@@@ఐ+!f?E@E@ @@@b]@@@@@@@@@@@@@@@@@@"@@ภ\E]E@@@@xK@/@@ఐr,tt_structuremEnE@7@@>@)str_itemstEn@3)str_items@@@H@@@E@@@D@@@3(str_typem)signature@@@F@@A @A3AA4AA@@v@3-str_final_env!t@@@G@@B@A?AA@AA@@@@ACAADAA@@@3@@L@@@zL@L@v@@@@w@^@@t@A@J@@A 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@@@J@@@AJ@@@J@@@J@3@ @@@@@࣠@/module_elementsAIlIl@aA@@23@AIlp UGr@@@@@  @@0included_modulesAIlIl@'bA@@53@!I@@@@@@@@Aఠ!f'J(J@:cA@@@@me@@@M@@@@M@@z]@@@ M@@@@M@@@M@@@M@A@@@EM@@@3POOPPPPP@>Ju@A@B@@@@@ĠfKgK@@@@@43dccddddd@H@C@@%@@N@@H@I@@@@@vKwK@@6@@yKzK@@@J@?@@@@@ภLL@@@@< @@ĠMM@Ġ7Element_included_moduleMM@;7Element_included_module@@@$@@@@@AB@J@A[)+[)W@@@{N@ఠ"imMM@dA@@@@@3@R@@@@@MM@@M@M@@ఠ!qM M!@eA@@)@@@@@@@@M@@@ĠݰM,M.@ܠఠ'im_replM$M+@fA@@-@ఠ$im_qM/M3@gA@@O@@@<@@@M#M4@@M@@@@MM5@@@0@ @@I@@@ภ|԰ O O@ ภ7Element_included_moduleN9FN9]@uະ53@@@O@@12/@@@@@@O@A)'im_info0N9m1N9t@ఐ"im;N9w<N9y@@@@@U@@@ @ 3?>>?????@ }@~@j@d@e`Y@Z@[@@@'im_infoPN9zQN9@P@@QP@@@@@@O@ @@ఐ'im_repldN9`eN9g@@@ #@hN9^iN9@@@@@O@!+@@pN9EqN9@@8O@0@ఐW!f~OO@@@@V@@$8@@#A@@@ఐʠ!qOO@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@@@@@@@@@@@M@@@Ġ,PP@+@@@@M@$@@PP@@@@ @@-@@@ภ}аQQ@ภ7Element_included_moduleQQ@qఐL"imQQ@K@L@M@@4@@@;O@=O@<3@^ JC@D@E@@@@(Q)Q@@O@: @ఐT!q4Q5Q@@@M@2@@@6O@?O@>@@ @@@@ĠOMRNR@Nఠ#eleVRWR@ijA@@ M@3VUUVVVVV@@@@ఠ!qcRdR@vkA@@à@@@@@@@@7M@@@ఠ!lvRwR@lA@@8M@!@@}R~R@@@@ @@*@@@ภ~US 0S 2@ఐ>#eleS ,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@6@@@6@@@5@@3@@2c@@@0@@/@@@ఐ/module_elementsUGPUG_@@@J@@ఐ0included_modules%UGa&UGq@а@@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. DGEH,k@@@@@@@?@?>@UAఠ )filter_module_with_module_type_constraintRZ4@SZ4i@emA@@@/(t_module@@@J@]@@@%Types+module_type@@@J@a@@e@@@nJ@c@@~@@}3onnooooo@@@@@@࣠@!mAZ4jZ4k@qA@@,3@=@8@@^@3@@b)@@dK@_@@`K@Y@C@D .filter_module_type_with_module_type_constraint@v-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@@@@@@"mtA&Z4l'Z4n@9rA@@3%$$%%%%%@@@@@@@@@@ఐ!m>[q}?[q~@@@3<;;<<<<<@$@@@@@&m_kindH[qI[q@3&m_kind@@@W"+module_kind@@@NA@E/3&m_name +!t@@@H@@@@A_|  `|  @@.k@3&m_type@@@IA@A@Ah}  i}  5@@7l@3&m_infozg$info@@@K@@@JA@B"@Ay~ 6 8z~ 6 `@@Hm@3.m_is_interface0$boolE@@@L@@C.@A a c a y@@Tn@3&m_file<&stringQ@@@M@@D:@A@ z |@ z @@`o@H3%m_locH(location@@@OA@FF@AB  B  @@lq@3*m_top_depsTx!t@@@Q@@@PA@GV@AC  C  @@|r@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@@@@@@@@@( @@@@@@@Ġ%Types4\5\@-Mty_signature9\:\@@;-Mty_signaturem+module_type@@@ @h@@@ @AA@D@A]G]I]G]e@@@v$@ఠ$lsigS\T\@ftA@@{@@@@@@'@@J@J@@@@b @@@>@ @@&@@@@@@@@@/@@@ ఐ!m{]|]@Q@@$3yxxyyyyy@?jc@d@e3,@-@.@@@&m_kind]]@?ภ-Module_struct]]@ఐؠ 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@@@@@@@@@@ @@@@@@@@@@@ภD_?L_?N@C@@@@@@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. /Wtx0Y3@@@@@@@2Z48!@}|@{~@@@@@@@@@@@3<;;<<<<<@@@@࣠@$mtypAMdQNdU@`uA@@3LKKLLLLL@@@@@@@"mtA\dV]dX@ovA@@3[ZZ[[[[[@@@@@@@@@@ఐ*$mtypte[gue[k@@@3rqqrrrrr@$@@@@@'mt_kind~e[le[s@3'mt_kind@@@o\0module_type_kind@@@m@@@lA@E3'mt_namef!t@@@e@@@@AS  S  @@i}@3'mt_info$info@@@g@@@fA@A@AT  T  @@z~@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@ఠ!l+f},f}@>wA@@L[@@@>@@@=@@@' @@@@@?@@@4@@@@@A@@@@@@Ġ%TypesLf}Mf}@-Mty_signatureQf}Rf}@@ఠ$lsig[f}\f}@nxA@@@@@D@@@@@J@J@J@B@0@@d@@@4@@@E@@@@@@H@@@G@@@F@@@ ఐ?$mtypgg@)@@3@ha@b@c92@3@4@@@'mt_kindgg@ภ$Somegg@=ภ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@@,iPX-iPY@@@@@@N@@@M@@@L@@@@@@Q@@@P@@@O@@@ภMiP]NiP_@@@@@@@AQe[a@@3MLLMMMMM@@@@A@@@@@@@@@@@J@ @@1 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. kaPTlc@@@@@@@nd!@@@@@@@@@@@@@3xwwxxxxx@ @@@࣠@!lAkaka@yA@@3@@@@@@@$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 $n%n@7~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 tp /up 4@A@@0@@@3vuuvvvvv@]V@W@X@@@@p 5p 6@@2@@@ @ఠ"md p 7p 9@A@@:@@@@@p :p ;@@<@@@!@@p <p =@@>@@@)@@@kp >@@+@@@@ఠ"n1 qBXqBZ@A@@@@@T@ 3@@LE@F@G4-@.@/@@@డ$Name&simpleqB]qBa@ qBbqBh@@@@@@@@@@@@@@TXUX@@SB@@@@@@@@@@@@@@3@@ఐԠ!mqBiqBj@}@@@@@$@"G@&m_nameqBkqBq@@@@@@U@%U@#U@@D @@YV@A@qBT @ఠ"n2 rrrr@,A@@&stringQ@@@1T@ l@డ%Ident$name%Ident4rr5rr@ 8rr9rr@@@%Ident!t@@@!@@!)@@@!@@!@0typing/ident.mlikRRkRg@@ I@@@@@@@*@@)9@@@(@@'@@ఐ%identerrfrr@@@,@@@3U@5U@4@@< @@Q@A@qrr @@డhj|t}t@g@@@Y@@@JT@<@@=@ @@;h@@@:@@9@@83@@@~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 @Ae``f``@@D3@3&md_loc!t@@@ @@B@Aq``r``@@P4@3&md_uid!!t@@@ @@C @A|``}``@@[5@@A````@@_2@?2@@W@l@@h5@@@ภN0>u0?u4@N/@@@W@@@q@t@@T@ĠhNv5JOv5O@g@@@@-@@@V@@0@@@W@@@ภv\v5S]v5X@u@@@n@@@A`sawYl@@q@S@@r@@gxm}hxm~@@@@@ภnxmoxm@@@@@@AG so@@@uovxm@@3rqqrrrrr@@@@Ġ3Element_module_typeyy@;3Element_module_type @@@@@AA@J@A Z Z(@@@]M@ఠ"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 @AUaUaYVaUa~@@47@3'mtd_loc!t@@@ @@B@Aaaabaa@@@8@3'mtd_uid&!t@@@ !@@C @Alaamaa@@K9@@Apaa!qaa>@@O6@Ġ$Some+{,{@ˠఠ!t 4{5{@GA@@@@@a@@@@@G@@@@@@i@@@D{E{@@@@@T@q@@N{O{@@@@@y@@@T{@@k{@@@@ఠ"n1 _|  `| "@rA@@9@@@T@3cbbccccc@@@<5@6@7@@@డ$Name&simplez| %{| )@ ~| *| 0@@@@@Z@@@@@]@@@@@$@@ఐ"mt| 1| 3@@@@@@@8@'mt_name| 4| ;@@@@@@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 @@డk@@@@@@@%T@@@@ @@@@@@@@@3@@@d]@^@_@@@@ఐŠ"n1$%@@@@@ఐx"n212@@@+T@(!@@@@@@@"%@ĠP5CD@P4@@@@"@@@,4@@%@@@-7@@@ ఐ .filter_module_type_with_module_type_constraintWX@ @@@ @@9@ @@8 @@7@@6M@@ఐ֠"mtlm@@@ W@D\@@ఐG!t{|@@@ W@Ek@@*@@ l@ภPx@Pw@@@@@@Iw@6@@x@Ġ@@@@@u@@@1@@x@@@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@@@ X@@@ @@@ @C@@G@Ab^l^pc^l^@@@A+@ఠ%ident @1A@@@@@3      @0HA@B@C@@@@+,@@z@@@ @@34@@@@@@@@@9@@P@@@@ఠ"n1 DE@WA@@@@@T@3HGGHHHHH@)5.@/@0@@@డ$Name&simple]^@ ab@@@@@=@@@@@@@@@@@"@@ఐ!v{|@V@@p@@@@6@(val_name@l @@l @@@@@@1@@DA@A@@ఠ"n2 @A@@@@@T@T@డ|$name%Ident@  @@z@@@z@@@@@@@@@@s@@ఐ%ident @}@@@@@U@U@@@' @@7@A@ @@డHˠͰ)*@ʰ@@@@@@S@@@@ @@@@@@@@@3@@@b[@\@]@@@@ఐ"n1&(@@@@@ఐv"n2+-@@@+S@!@@@@#T@$@@@&@@.>.?@@3@@@ภ<".C#.H@;@@@4@@A 'mz@@@)my*.I@@G3&%%&&&&&@@@@Ġ,Element_type6JT7J`@;,Element_type@)Odoc_type&t_type@@@"@AH@J@AGaLNHaLp@@@T@ఠ!t OJaPJb@bA@@@@@3QPPQQQQQ@`@@@@@"@@@@@@@@Ġ%Typese}f}@(Sig_typej}k}@@;(Sig_type+@(!t@@@ @@@ @@@ @@@ @DA@G@A^^^^@@@,@ఠ%ident }}@A@@"@@@3@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@* @@డRՠװG\G]@԰@@@@@@IS@;@@<@ @@:@@@9@@8@@73@9G@@A@Bb[@\@]@@@@ఐO"n1 GY G[@@@@@ఐv"n2G^G`@@@+S@L!@@@@-T@F$@@@0\@@%ar&as@@=@@@ภF,aw-a|@E@@@>@@A 1ft@@@3fs4a}@@Q30//00000@@@@Ġ6Element_type_extension@~A~@;6Element_type_extension@.Odoc_extension0t_type_extension@@@ @AF@J@AQ_R_@@@ R@ఠ"te Y~Z~@lA@@@@@3[ZZ[[[[[@j@@@@@"@@@@@@@@ఠ!l lm@A@@ aJ@3lkklllll@|@@@@@ఐ 9filter_extension_constructors_with_module_type_constraint}~@ @@@ @@@ {@@ 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@&@@ ఐ٠"te28F38H@@@@@@332233333@@@@@@/te_constructors?8I@8X@ఐܠ!lH8\I8]@@@@@@B@@@R@@డ"<>\_r]_t@@!a@@@ @@@G@@@@@@@)%notequalBA@@@@~QQ~Q@@)R@@@@nQ@@@@@@@@@@@@@N@@ఐ$!lĐ_pđ_q@X@@#[@@ภհě_uĜ_w@@@@J@h@@@@?@@@R@n@࣠@ !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@@@ c*ext_status@@@  @@@ @DB@G@A^^^_6@@@l-@ఠ%ident #I J@\A@@&@@@3KJJKKKKK@ [PI@J@K@@@@VW@@*@@@ @@^_@@,@@@@@fg@@ @@@@@@Pl@@ @@@@ఠ"n1 $w1x3@ŊA@@Q@@@T@3{zz{{{{{@1=6@7@8@@@డ¼$Name&simpleŐ6ő:@ Ŕ;ŕA@@ Ű@@@p@@@@@s@@@@@"@@ఐ!eŮBůC@^@@.Odoc_exception+t_exception@@@@;@'ex_nameſDK@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 %ELbFLd@XA@@ ,@@@T@@డ )$name%Ident[Lg\Ll@ _Lm`Lq@@ '@@@ '@@@{@@z K@@@y@@x@@ఐ.%identwLrxLw@@@ >@@@U@U@@@' @@7@A@ƃL^ @@డxzƌ{ƍ{@w@@@i@@@S@@@@ @@x@@@@@@@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@@@ S1class_declaration@@@  @@@  @@@ @DE@G@A___`@@@`0@ఠ%ident '=> @PA@@$@@@3?>>?????@ ONG@H@I@@@@J K @@(@@@ @@R S@@ @@@@@Z[@@ @@@@@@N`@@ w@@@@ఠ"n1 (k,l.@~A@@E@@@T@3onnooooo@1=6@7@8@@@డİ$Name&simpleDŽ1Dž5@ Lj6lj<@@ @@@d@@@@@g@@@@@"@@ఐ!cǢ=ǣ>@^@@'@@@@6@'cl_nameǮ?ǯF@\@@X@@@@@@1@@DA@A@Ƕ(@ఠ"n2 )ǿG]G_@A@@ @@@+T@T@డ $name%IdentGbGg@ GhGl@@ @@@ @@@$@@# @@@"@@!s@@ఐ%identGmGr@}@@ @@@-U@/U@.@@' @@7@A@GY @@డovv@@@@@@@CS@5@@6@ @@4@@@3@@2@@13@@@b[@\@]@@@@ఐ"n1(v)v@@@@@ఐv"n25v6v@@@+S@F!@@@@ JT@@$@@@ M@@BC@@ Z@@@ภcIJ@b@@@ [@@A" *N@@@PQ@@ n3MLLMMMMM@@@@Ġ2Element_class_type]^@;2Element_class_type@z,t_class_type@@@@AD@J@Al]m]@@@;P@ఠ"ct tu@ȇA@@@@@ v@@@@@  w@@  w@@@@Ġ%TypesȉȊ@.Sig_class_typeȎȏ @@;.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_name'F(N@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@ɋ.d@ఠ"n2 -ɔOeɕOg@ɧA@@ {@@@T@@డ x$name%IdentɪOjɫOo@ ɮOpɯOt@@ v@@@ v@@@@@ @@@@@@@ఐ%identOuOz@۰@@ @@@U@U@@@' @@7@A@Oa @@డDǠɰ~~@ư@@@ĸ@@@S@@@@ @@@@@@@@@3@ @ @b[@\@]@@@@ఐ"n1~~@@@@@ఐv"n2 ~ ~@@@+S@!@@@@T@$@@@"(@@@@/^@@@ภ8@7@@@0f@@A .#@@@%&@@C3"!!"""""@l@@@Ġ6Element_module_comment23@;6Element_module_comment@/$text@@@#@AI@J@AAbqsBbq@@@U@@EF@@@@@E@@@@@F@@F@@@࣠@0 /A@ST@@kP@@@@ภ[N\]@[M@@@u@@@I]@c@@_@Ġ7Element_included_moduleno @Ѡ@s t @@@@@s@@@ @@t@@t@@@࣠@^ 0A@ʁʂ@@~@@@@ภ[|ʊʋ@[{@@@@@@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#LR$LV@ 'LW(L]@@@@!a@-{@@0{@@@0@@0@@0@u@@@0@@0 @@@0@@0@@0@^-)-)^-)-X@@o@*%@@@@@@@@@@@@@@@@@@@@@@@@@@3_^^_____@@@@@@@ఐƠ$predqL^rLb@ @@@@@@@@@@@@@@@ఐ!lˈLcˉLd@@@'@@i@@J@*@z@@@A@@@@@@@@@@@J@ @@@˛kae@@@@@@@@@@@@@3˥ˤˤ˥˥˥˥˥@6@@@࣠@!l 1A˶f˷f@A@@3˵˴˴˵˵˵˵˵@4@@@@@@$lsig 2Aff@A@@3@D@@@@@@@@@ఠ$pred 3@A@@@@@@)M@@@-@@@M@@@M@3@$0@'@(@@@࣠@"xt 4A@ A@@@@@@డr$List&exists @ @@j@@@@3@C@N@@@l@@@@@@@@k@@@@@r@@@@@@@3,++,,,,,@F@R@7@8@@@@@Ġ%TypesDE@*Sig_typextIJ @@(ఠ%ident 5S T@fA@@0@@@ )@@]^@@1@@@ 1@@ef@@3@@@ 9@@mn@@ @@@ A@@@/s@@WC@@@@ఠ"n1 6~ 4 6@̑A@@X@@@"R@3̂́́̂̂̂̂̂@W:3@4@5@@@డ$Name&simple̗ 9̘ =@ ̛ >̜ D@@̰@@@w@@@@@z@@@@@"@@ఐ"xt̵ E̶ G@@@1@'xt_name̼ H̽ 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 71Pd2Pf@DA@@@@@S@@S@?@@' @@7@A@oP` @@డdfx}y}@c@@@U@@@TQ@F@@G@ @@Ed@@@D@@C@@B3͆͆͆͆͆͆ͅͅ@ @@b[@\@]@@@@ఐ"n1͚}͛}@@@@@ఐv"n2ͧ}ͨ}@@@+Q@W!@@@@@@@XR@Q'@ @@@@@/@@ͺͻ@@@@@ภ۰@@@@@@Aƚ 8@@@@@@@@@@@@@O@O@3@@@@@ఐ$lsig@@@@@@@@A@ M@@A@@@డ[$List&filter@ @@Ӱ@@@@ @@@@@@@@@@C@@@@@Π@@@@@@@3@*C<@=@>@@@@ఐJ$pred"#@ @@@+@@@@@p@@@@@@@ఐ!l9:@p@@E'@@G@@.J@*@X@@T@A@@P@@@>@@<@@@@J@@@@Lfj@@@ڠAఠ1analyse_structure 9Y@LZ@]@lA@@@@@@mJ@@@\@@@@@J@@@[@@@@J@@@Z@@@@֠J@@@Y@)structure@@@J@ @@X@ @@@J@ @@W͠@@@J@@@@J@@@V@@U@@T@@S@@R@@Q3ΛΚΚΛΛΛΛΛ@@@@࣠@#env @g@@@%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#$@6A@@@@@@@@@@@Q@30//00000@&2@)@*@@@@ఠ,table_values C@A@SA@@@@@@@@@@B@@@@@@@@Q@&@@\]@@@;@ @@/@డn&tables0Typedtree_searchqr@ uv@@@Cl@@@@@@@@@c_@@@`@@@@@@@TR@@@@L@@@@P@@@@@@@@@@@@@@:5@@@u2@@@@@@@@@@@@ڠ@@@@@@٠@@@@ݠ@}@@@ߠ@@@@@@@@@@@@@@@ఐޠ)typedtree@@@Z@)str_items@{ @@ƻx@@@@@@R@R@@@@@@ܠ@@@R@@A@@@Aఠ$iter D@$A@@@9Q@@@ @|@@@]Q@@@@`(@@@Q@8@@@7Q@@@@@@VQ@@@@@@@343344444@@@@@@@@࣠@#env EAIJ@\A@@43HGGHHHHH@B@=@@@=@@@:@@/@@R@@@R@@@R@@N@O@@@@@@(last_pos FAlm@A@@Q3kjjkkkkk@$0Z@'@(@@@@@@Ġö|%}'@õ@@@@W3zyyzzzzz@c@@@@@@@@ఠ!s Iь+;э+<@џA@@@@@TV@@3ѐяяѐѐѐѐѐ@@@@ఐƠ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@@డЩ[]@hAh@Z@@@Z\@@@W@W@@@@@@@@q@@ఐ̠)file_name\h@k@@u@@@X@X@@@' @@@@ఐ堐!sqhrh@@@~@@@W@W@@@m @@@@@@W@z@A@҅ht@@డ$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#acc35J45M@O@@@Ġ$Some@NaANe@ఠ!t MINfJNg@\A@@n#@@@X@@@@@n+n*@@@@@@`@@n2n1@@@@@@g@@@డ!@hkik@հ@@@ՠJ@J@mJ@QJ@XJ@>J@U@@@@@@@ @@@@@ޠ@@@@@@@3ӈӇӇӈӈӈӈӈ@JC@D@E@@@@ఐϠ#accӚkӛk@@@@@ภzӥ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@%"@@ภ6@5@@@\U@0D@@ఐ(ele_coms  @N@@odi@@@V@3V@1Y@@ @@tE@ @@u7@J @@@Ġ" !@!ఠ$item G)*@<A@@Q@:3)(()))))@@@@ఠ!q H67@IA@@Ӗ@@@<@@@@@@@@@@ఠ+comment_opt NMN@`A@@*@@@W@@@VV@53UTTUUUUU@81@2@3,%@&@'@@@@ఠ,ele_comments Ogh @zA@@:@@@Y@@@XV@6@@uv @@@*@@@9#@ఐu6get_comments_in_moduleԆԇ3@@@@@@@E@@D@@@@C@@B@r@@@?@@@>@q@@@A@@@@@@=@@<@@;Q@@ఐL(last_posԵ4Զ<@6@@^@@ఐ$item=A@m@@q@)ParsetreeBK@(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@1A@@J@֥J@J@ J@J@J@VV@j3*))*****@@@@@@@@ఐ!q=>@@@Ԝ@@@l3?>>?????@@@@ĠLjNO@LJ@@@@ԭ'@@@q&@@Ա+@@@r*@@@ఐy)pos_limit`a@a@@A4@Ġnlm@mఠ%item2 Quv@ՈA@@TQ@Q@Q@Q@cZ@v>@@ՅՆ@@@@@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_item+Hz,H@R@@@P@@@M@@@J@@@C@@@@@@@5@@@.@@@*@@@@@@@젠@@@@@@@@@@@@@@@@@@@@@c@@ఐ#envde@@@Np@@ఐ3current_module_nameqr@@@ }@@ఐW$itemրց@%@@V@)Parsetree։֊@(pstr_loc֎֏@@°@@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@@i@@7@@ఐ/)typedtree8Qa9Qj@@@D@@ఐ"%tableEk{Fk@ @@"Q@@ఐ,table_valuesRS@@@^@@+@@@h@X@L@@#W@ i@A@aHT@@డ!@kl@ذ@@@ؠU@(@@@,@@+@ @@@*@@)ՠ@@@'@@&@@%3~~@@@@@~w@x@y@@@@ఐ.,ele_commentsוז@d@@*@@@@@@& @@ 0@@ 0@@@@@IJ@@ U@@@ఐ蠐#envVW@Ұ@@ w@@ภ̚`a@̙@@@̙J@@@@/@@jk@@@ @ @ @@:@Ġ)Parsetreeڂڃ@.Pstr_attributeڇڈ@@@ڍڎ@@@@@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@2A@@@@@K3!  !!!!!@@@@ఠ,pat_exp_list `.!I/!U@AA@@':@@@M@@@L@@@@:!V@@ *@@ *@@@Aఠ(iter_pat nEYkFYs@XA@@@H,pattern_desc@@@V@ @@0s,#locs@@@5@@@4V@-@@@.V@ @@ 3a``aaaaa@\NG@H@I@9@:@;@@@@Ġ)Parsetreexy@(Ppat_any}~@@;(Ppat_any3@@@7@@@@AR@A";"=";"G@@@~z@@@ @@>3ۆۅۅۆۆۆۆۆ@&L@G@@ @@@ W@@L@M@@@@@ภ$Noneۚۛ@0@@@I@Ġ)Parsetreeۧۨ@(Ppat_varۭ۬@@;(Ppat_var/@WU@@@7@@@7@A@AR@A"a"c"a"{@@@{@ఠ$name o@A@@nl@@@@@@3@E@@@@@+ @@@@@ภ$Some@xఐ$name@@@@@3@\'@@@@@@@Ġ)Parsetree@*Ppat_tuple@@;*Ppat_tuple{@R@sȠs@@@7@@@7@R@@@7@@7@@@7s+closed_flag@@@7@BDAR@AD$%$'E$%$l@@@@@$%@@(@'&@@@!@@@ @RC@@@"@@@@@j@@@&@@@#o@@@M@@p@@@ภ$NoneFG@@@@y@Ġ)ParsetreeS/=T/F@/Ppat_constraintX/GY/V@@;/Ppat_constraint@Rk@@@7mr@@@7@BJAR@A ++  ++1@@@^@ఠ#pat pq/Xr/[@܄A@@R@@@'3srrsssss@@@@@|/]}/^@@m@@@( @@@/܂/_@@6 @@@ఐG(iter_pat܌/c܍/k@@@@F@@<?@@;3܎܍܍܎܎܎܎܎@ (!@"@#@@@@ఐ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@@%firstl@@@!V@@@@@@@@@@NV@@@@@@@ V@@@@@@@V@à@@@ôV@@@@}<@@@UV@O@@@NV@@@@'V@@!V@@@@@@@@@@@@@@࣠J%*opt* AఠO sPde@wA@@PV@V@ 3feefffff@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@@@@Ġ?@>@@@@3@@@@@@@@@ఐU'acc_env#4#;@=@@@@ఐP#acc #=!#@@8@@@@$#3%#A@@@֠@@@c$@Ġ75B6B@6ঠ)ParsetreeBBQCBZ@'pvb_patGB[HBb@@3'pvb_pat=@@@9T\@@@9@@@ 3(pvb_expr o$@@@9@@A@AQQ@@P@3.pvb_constraintv [0value_constraint@@@9@@@9@@B@ARR@@`@3.pvb_attributes"v@@@9@@C@ASS@@i@3'pvb_loc+!t@@@9@@D+@ATT@@u@@APP@@y~@ఠ#pat xދBcތBf@ޞ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 {BB@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_desc34@@~@@@@@}_@_@Q@@@ @@]R@A@@ @@@ఠ,new_last_pos }KL@^A@@w@@@^@3ONNOOOOO@h~w@x@y@@@ఐĠ#expde@s@@p8@@@@@)Parsetreers @(pexp_locw x@@W@@@@@@,@(Location߆߇@'loc_endߋߌ&@@+@@@@@@@@&Lexingߚ'ߛ-@(pos_cnumߟ.ߠ6@@Ͱ?@@RO@A@ߤ@@ఐҠ.value_name_opt߮ :P߯ :^@Z@@ڋYW@@@@@@@@@3߷߶߶߷߷߷߷߷@iwp@q@r@@@Ġ$None dv dz@_@@@@ڦtr@@@@@@@@@3@@@@ @ڲ~@@@@@@@@@ @@@ఐࠐ$iter ~ ~@@@ݠ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@6@ภÕڨ@@@@@@@C@@ఐ٠,new_last_pos$ ~% ~@h@@V@OV@S@@ఐu'acc_env4 ~5 ~@]@@ `@@ఐq#accA ~B ~@Y@@m@@ఐ!qN ~O ~@[@@ V@|@@h@@@@@@@Ġ$Somed e @ఠ$name ~m n @A@@@@@@@@@@@ @@S!@@@@@@@@@@ @^,*@@@@@@@@@@@@@ఠ'pat_exp  @A@@TJ@`@3@;4@5@6@@@డݯ,search_value0Typedtree_search @ *@@@urqyw@@@@@@q@@z@@@@@@@@@J@J@@@@@@@ @@@@@@9@@ఐ,table_values+7@ٰ@@F@@ఐ$name8<@R@@J@@@@[@#txt=@@F@@ a@c@@T@@2d@A@@@@@ఠ(info_opt D_Dg@)A@@ 1`@3@z@@@@@@ఠ,ele_comments &Di'Du@9A@@b@@@J`@'@@@)`@@@6D^7Dv@@@"@@@ #@ఐ⠐%firstGH@@@/@@ఐ+comment_optUV@@@V=@@ภә_`!@Ә@@@6G@@cd"@@@g@?@@*P@ఐd6get_comments_in_moduleu@Zv@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@@Lz@@@¥@@@¤`@\3@@@ @@@@@ఐ0tt_analyse_value+*,:@@@@@@@y@@x@ @@@w@@v@SP@@@u@@@t@@s@@@@r@@q@@E>@@@o@@@n@@@m@@@@p@@l@@k@@@@j@@i@@@@h@@gԪ@@@f@@@e@@d@@c@@b@@a@@`@@_@@^^@@ఐ #env;U;X@ @@k@@ఐ 3current_module_nameYsY@@@x@@ఐ(info_opt@@@@@ఐ #loc@ @@@@ఐ'pat_exp@@@@@ఐ(rec_flag @_@@E@@@©a@a@@@ఐ%%attrs ' ,@@@@@@§a@a@@@ @@@A@ @@@ఠ'new_env !F`!Fg@A@@`@3@@@@@@డl$List)fold_left!Fj!Fn@  !Fo !Fx@@~}@@@@`@@@@@@@&`@@@ @@@@@@@@@@~|@@@@@@@@@@@3)(()))))@7@@@@࣠@!e A="y>"y@PA@@*J@@@@࣠@!v AN"yO"y@aA@@53MLLMMMMM@\>@@@@@@@@డ)add_value(Odoc_envd#e#@ h#i#@@@@@@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@@A3CBBCCCCC@1@@@@࣠@!v AW(\X(\@jA@@$D@@@@ภ-Element_valuec(\d(\@$ఐ!vm(\n(\@9@@@@:3lkklllll@[#@@@@@@2@@@d@x(\y(\@@@K@@\q@@[a@ja@hk@@ఐ|(l_values(\(\@@@_@@@Ya@na@lO@@q @@@A@(\r @@ఐ$iter))@8@@@@@{@@z@@@y@@@x@@@w@y@@v@n@m@@u@@t@@s@@r@@q@@p3@@@@@@ภOb@@@@@Ú@@Ù@@ఐ,new_last_pos**@"@@`@Û@@ఐ'new_env++ @ְ@@,@@డd!@,+,,@i@@@i@@@ä@@ã@@@@â@@ád@@@ß@@Þ@@ÝO@@ఐM#acc,',*@5@@\@@డ!@,,:-,;@@@@a@ú@@@þ@@ý@Š @@@ü@@û@@@ù@@ø@@÷@@ఐ),ele_commentsO,-P,9@0@@#@@@b@b@@@ఐ\%l_eled,<e,A@@@8@@@b@b@@@! @@<@@@òa@b@@@y,&z,B@@EV@ð@@ఐ!q-C[-C\@@@EV@@@@@@?@>@@`@Ò@@@ @@@ @@@ {@@@ ~@@@ @Ġ)Not_found/v/v@1@@@@@@@@@@ఐ$iter00@F@@@@@@@@@@@@@@@@@@@@|@{@@@@@@@@@@@@0@ภZm@@Š@@@ @@ =@@ఐ,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@@@@@TB@@@@ఠ'new_env c2d2@vA@@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@oF@@@i@@@h@@g@@@@c@@b@@a@@`@@_@@^`@ 6ภ$SomeภxFT2 U2@xE@@@@@@śW@şv@@@ F@@@Šz@@ఐ ࠐ#locn2o2@ Ȱ@@@(Locationw2x2@)loc_start|2}2'@@@@@@@Ŧ@ţ@&Lexing2(2.@(pos_cnum2/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_primitive3@!1value_description@@@9@AB@O@AU(V(@@@&k@ఠ(val_desc a95n:5n@LA@@@@@P3;::;;;;;@4@@@@@%@@1@@1@@@@ఠ(name_pre L6M6@_A@@ @@@V@ž3QPPQQQQQ@K#@@@@@ఐ+(val_descd6e6@@@A@@@@@)Parsetreer6s6@)pval_namew6x6@@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%table68 B78 G@;@@[@@ఐ(name_preC8 HD8 P@e@@@@@W@W@o@@` @@tp@A@O8  @@@ఠ$name Z9Td[9Th@mA@@4@@@V@3^]]^^^^^@@@@@@డ$Name/parens_if_infixs9Tkt9To@ w9Tpx9T@@b@@@S@@@@@V@@@@@"@@ఐC(name_pre9T9T@@@h@@@W@4@@%@@85@A@9T` @@@ఠ-complete_name ::@A@@~@@@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@<@ C< D<@%@!&@@^$@@@LW@OW@M<@@0 @@&=@ภ$SomeV=(W=,@ఐ2get_string_of_fileb=.c=@@@@@@@@\@@[@@@@Z@@Y@@@X@@W@@Vc@@ఐ#loc=A=D@ް@@t@(Location=E=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_sig+B,B@ /B0B@@x@@@JG@@@Ɖ@@@ƈ@@Ƈ@x@@@Ɔ@@ƅ32@@@Ƅ@@@ƃ@@Ƃ@@Ɓ1@@ఐ+comment_optVBWB@@@W>@@ఐ,(val_desceBfB%@@@B@@@Ʀ@ƤR@)ParsetreesB&tB/@/pval_attributesxB0yB?@@ڰ@@@@@ƚW@ƧW@ƥh@@Y @@pi@A@B @@@ఠ)new_value CCSCC\@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_recursive*G+G @ภK1G2G@J@@@@@@V@@.val_parameters?H&@H4@ภހFH7GH9@@@@@@@@@@V@@(val_codeXI<LYI<T@ఐ]$codeaI<WbI<[@F@@@@@@@@V@@'val_locsJ^ntJ^u@ຠ⡠(loc_impl~J^zJ^@ภ$SomeJ^J^@&ఐ#locJ^J^@@@@@@@@@@V@@)loc_interJ^J^@ภ$NoneJ^J^@>@@@@@@*@@@)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@@@@3N 4N @@U@a321122222@drk@l@m@@@@ఐx'new_envCN DN "@ @@U@b@@ภ$ON %PN =APภ-Element_value XN 2@-ఐѠ)new_valueaN 3bN <@@@-@@@mU@oU@n4@@ @@U@l7@ภ6$A߫@%A@ӠJ@d@@@hU@tF@@~N $/@@ߵ@@@gL@@N N >@@@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+@,@-$@@@@@డk$List)fold_leftSS@  S S@@|@@@@V@{@@DŽ@g@@@ǫV@~@@ǃ @@ǂ@@ǁ@@ǀ@@@@{@@@}@@|@@z@@y@@x3(''(((((@9@@@@࣠@'acc_env A<T=T@OA@@*L@@@@$ Aঠ)ParsetreeOTPT @*ptype_nameTT UT@@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@4ఠ$name TT#@ A@@@@@Ǹ3@ @@@@@@@TT%@@@@@ǼZ@Ǻ@@@ǹ@@@TT&@@Z@Ǩ@@@@@ఠ-complete_name U*>U*K@1A@@@@@Z@3"!!"""""@*6/@0@1@@@డc$Name&concat7U*N8U*R@ ;U*S<U*Y@@˰@@@@@@@@@@@@@@!@@@@@@@)@@ఐݠ3current_module_nameZU*Z[U*m@Ű@@ t6@@ఐp$namegU*nhU*r@@@@@@@@[@H@@9@@LI@A@qU*: @@డ(add_type(Odoc_envVvVv@ VvVv@@@@@@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@@@#@Ġ)Recursive4],:5],C@s@@@@@@@'"@@@@@(%@@@ఐU,extended_envD],GE],S@,@@0/@Ġ,NonrecursiveQ^TbR^Tn@;,Nonrecursive@@@@B@@A``@@@I@@@  @@@@@,F@@@@@-I@@@ఐ#envh^Tri^Tu@@@TS@@@Al\@@VU@A@n[@@Aఠ!f y`z`@A@@%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%`&`@8A@@3$##$$$$$@@@@@@@@@3name_type_decl_list A6`7`@IA@@354455555@@@@@@@@@ఐ3name_type_decl_listHaIa@@@@@3GFFGGGGG@@@@Ġ㑰Wb Xb@@@@@3UTTUUUUU@@@@@@@@@ఐU.maybe_more_accfbgb"@=@@@@ภ㪰pb$qb&@@@@㩠V@Ȝ@@@Ȟ@@zb{b'@@@Ϡ@@@Ȗ(@Ġ㍰c(@c(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@@@డ<$Name&concatee@ ee@@@@@@@@ȶ@@ȵ@@@@ȴ@@ȳ@@@Ȳ@@ȱ@@Ȱ)@@ఐ3current_module_name3e4e@@@#M6@@ఐ$name@eAe@@@@@@@^@H@@9@@LI@A@Je @@@ఠ#loc UfVf@h A@@@@@]@3YXXYYYYY@_mf@g@h@@@ఐ֠)type_decljfkf@@@@)Parsetreesftf@)ptype_locxfyf @@@@!@A@}f@@@ఠ)loc_start g$g-@ A@@@@@]@3@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 $i%i@7 A@@]@3$##$$$$$@KYR@S@T@@@ఐ!q5j6j@w@@@@@376677777@@@@Ġ倰FkGk@@@@@@@@$@@@@@(@@@ఐ)pos_limitXkYk@@@32@Ġfdl el"@eఠ"td mlnl@A@@V@V@V@V@a@>@@}l#~l$@@۠@@@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#Sig-o.o@ 1o2o@@@]@@@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%tableDr:{Er:@I@@&#_@@ఐ$nameQr:Rr:@Q@@"@@@^@4^@3s@@` @@xt@Ġ)Not_founddses@@@@@c@@@9@@@డ%raisessts@ʘ@@@ʘ@@@?@@>`@=@@<@@ภ'Failuress@]డ;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@@k@@@d]@a3@@@@@@ఐ#,tt_type_declu 0u <@ @@@@@e@c@)Typedtreeu =u F@(typ_typeu Gu O@@䒰@@&#@A@u @@@@ఠ'com_opt (vSj)vSq@;A@@;]@g3(''(((((@9G@@A@B@@@@ఠ,ele_comments 8vSs9vS@KA@@t @@@ʕ]@r@@@t]@h@@HvSiIvS@@@"@@@k#@ఐ%firstYwZw@A@@/@@ఐ+comment_optgxhx@@@'h=@@ภ諰qxrx@@@@6G@@uxvx@@@'y@?@@uP@ఐv6get_comments_in_modulez"8z"N@@@@@@@ʁ@@ʀ@@@@@@~@s@@@{@@@z@r@@@}@@@|@@y@@x@@w@@ఐ(last_posz"Oz"W@|@@ @@ఐ;)loc_startz"Xz"a@@@@@@ʗ^@ʜ^@ʛ@@G @@[]@ʝ^@ʑ@w@@]@A@vSe@@@ఠ'new_end |w|w@A@@A@@@ʲ]@ʞ3@@@@@@@@డ_df|w|w@c@@@̺@@@ʦ@@ʥ@c@@@ʤ@@ʣb@@@ʢ@@ʡ@@ʠ!@@ఐ>'loc_end|w|w@@@@@@ʶ^@ʸ^@ʷ5@@ఐ@*maybe_more(|w)|w@?@@ʎ@@@ʴ^@ʺ^@ʹI@@ @@MJ@A@4|w @@@@ఠ+maybe_more2 C}D}@VA@@@@@]@ʼ3GFFGGGGG@drk@l@m@@@@ఠ.info_after_opt W}X}@jA@@@@@@@@]@ʽ@@f}g}@@@%@@@"@డ2just_after_special%My_ir{~|~@ ~~@@@H@@@@@@G@@@~@@}@F@@@z@E=@@@|@@@{@@y@@x@@w@A@>'"@@@g@@@@@@f@@@@@@e@@@Š@d\@@@@@@@@@@@@t@@డ4栐&'@@@@@@@^@^@@@@@@@@@@ఐW)file_name0@@@@@@_@_@@@' @@@@ఐ%2get_string_of_file1F1X@@@@"@@@@@@@@@@@@@@@@@@@@ఐ<'new_end1Y1`@а@@@@@@ _@ _@ @@ఐ *pos_limit201a11k@?@@ @@41E51l@@@@@@ _@@@ @@@@@@^@@A@G}@@@ఠ'com_opt RS@eA@@fed@@@*@@@)]@3[ZZ[[[[[@$@@ @ @ @@@డ+merge_infos#Sigrs@ vw@@@@@@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_opt12@;@@KH@@@U@@@T^@X^@VI@@ఐ)type_declK L)@@@X@)ParsetreeT*U3@0ptype_attributesY4ZD@@ @@—@@@R^@`^@^n@@_ @@vo@A@f @@@ఠ$kind qZprZt@A@@@@@˅]@a3vuuvvvvv@@@@@@డ-get_type_kind#SigZwZz@ Z{Z@@@-,@@@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'(@@@ԣ@@@ˢ@ˠ@%Types56@)type_kind:;@@ԇ@@@@@ˇ^@ˣ^@ˡ@@ @@@A@GZl @@@ఠ!t RS@eA@@8`@@@˨]@ˤ3VUUVVVVV@@@@@@#8\'ty_nameg)?h)F@ఐy-complete_namep)Iq)V@@@G@@@˭@8d'ty_info|Yo}Yv@ఐ'com_optYyY@ @@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./@AA@@H@@@@!v A<=@OA@@M3;::;;;;;@Y@@@@@@@@@డ*subst_type(Odoc_envVW@ Z[@@۰@@@@@@@@@@@@@@@@@@@@@ 3jiijjjjj@0<@3@4@@@@ఐ i#env|}@ @@ h@@ఐ^!p@I@@@@7@@]@C]@"@@ఐa!v@+@@.@@H@@@@@@&5@@@@@@@@@@@@@^@1^@-X@@ఐӠ,tt_type_decl @@@;@@@9@6@%Types@+type_params(@@9@@@@@^@:^@7@@ఐ,tt_type_decl)@)L@@@f@@@?@<@%Types)M)R@-type_variance)S)`@@!@@2@@@^@@^@=@@d @@9 @@@^@@9š'ty_kindcyc@ఐ$kindc c@İ@@9@@@I]@J@9ѡ*ty_private-.@ఐL,tt_type_decl89@ @@ִ@@@V@T!@%TypesFG@,type_privateKL@@֍@@9@@@W]@U5@9󡠐+ty_manifestZ[@ఐ{,tt_type_declgh@:@@@@@i@f3jiijjjjj@@@@%Typesvw#@-type_manifest{$|1@@֯@@֮ر@@@h@@@g@Ġ$None7R7V@&@@@@ @@@q@@@p{@@ɠ@@@s@@@r@@@ภ$None7Z7^@=@@@:F:E@@@̂@@@́@Ġ$Some_z_~@[ఠ!t __@A@@@@@z\@@@@@@@@|@@@{d@@@@@~@@@}k@@@ภ$Some@డb2manifest_structure#Sig@ @@@@@@b@@b@ՠ@@@@b|@Ӡ@@@b~@@@b}@@b{@@@bz@@by@@@@bx@@bw@@@bv@@bu@@bt@@bs@@Ű61@@@.@@@̟@@̞@@@@@̛@-@@@̝@@@̜@@̚@@@̙@@̘@,@@@̗@@̖+@@@̕@@̔@@̓@@̒3JIIJJJJJ@@@@@@@ఐ I#env\]@ @@ H@@ఐ m1name_comment_listij@@@A@@@@@̺@?l@@@̼@@@̻@@̹@@@̸`@`@5@@ఐʠ!t@?@@x@@@̶`@`@I@@@@;7@@@̐@`@̴S@@ @@T@@@A @@;D;C@@@c@@@b]@@;>&ty_loc@ຠ$(loc_impl@ภ$Some@hఐ }#loc @ A@@@@@]@]@]@o@@ @@@ @@@]@v@:)loc_inter@ภ$None@@@@JI@@@@@@]@@@@ @@;@@@]@@;'ty_code #9#@@డ46[u[v@3@@@3@@@]@]@ @@@@@@@ @@డ)keep_code+Odoc_global9[@ <[=[@%@&@@W$@@@^@^@@@0 @@&@ภ$SomeOP@ఐ2get_string_of_file[\@@@@@@@)@@(@|@@@'@@&{@@@%@@$@@#@@ఐ )loc_startyz@ @@Ɲ@@@9^@;^@:@@ఐ'new_end@A@@Ƨ@@@7^@=^@<(@@@@<@@@ ]@!@>^@54@@U @@<& @@@ ]@ ;@ภ$None @G@@@]@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@@డҙқ+U,U@Ҙ@@@@@@x@@w@Ҙ@@@v@@uҗ@@@t@@s@@rm@@ఐ a*maybe_moreIUJU@ `@@ @@@͈_@͊_@͉@@ఐ+maybe_more2]U^U@@@@@@͆_@͌_@͋@@hUiU@@@@డ㠐uUvU@@@@9@@@͔@@͓@@@@͒@@͑@@@͐@@͏@@͎@@ఐ'new_endUU@G@@W@@@ͤ_@ͦ_@ͥ@@ఐd+maybe_more2UU@F@@ @@@͢_@ͨ_@ͧ@@UU@@_@͠@@ఐ !qUU@@@!V@ͩ@@@@@@@@ͪ^@i@A@Ug@@@ఐ+maybe_more3@@@@@3@ @@@@@@డV!@@[@@@[?\@ͳ@@@ͷ@@Ͷ@ @@@͵@@ʹX@@@Ͳ@@ͱ@@Ͱ(@@ఐ ٠,ele_comments@ &@@~#@@@]@]@=@@ภ$%@%ภ,Element_type-.@>ఐ堐!t78@e@@?@@@]@]@b@@BC@@]@g@ఐq$elesNO@n@@pr@@RS@@ޠa@@@]@{@@J@@V@~@@^_@@@@ @@@@@@ @@ @" @@ @ @@ t@ @@  @% @@  @ 9@@  @ @@ A@ V@@ z@ @@ @ @@ @ @@ I@ Z@@ @ @@ @ @@@,@@v@@@@@@Axa@@@̠@@@Η%@w!A@#p@@@@@@@@@@@@@@@頠@@@@@@@@@@@V@κ@@@`?@@@@ఠ*maybe_more &0@!A@@ @@@V@3@@@@@ఠ$eles 26@"A@@ @@@@@@V@@@%7@@@"@@@@ఐd!f:;@ @@c#Πԃ@@@@@@@@@J@@@@@@Q@@@@@@3I@@@@@@@@@@f@@@@@@@@@@@@@@@@\@ภภDH@@@@Կ@@@ W@q@@@$@@@u@@@1I2J@@W@W@@@ఐ'#locEKFN@'@@2X@(LocationNOOW@)loc_startSXTa@@̰@@@@@@@&Lexingbbch@(pos_cnumgihq@@&@@@@@W@W@@@ఐ2name_typedecl_list|r}„@@@@@@@@@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@( #@@@@@ఐ+%tyext&9K'9P@@@A@@@-@*3)(()))))@@@@)Parsetree59Q69Z@3ptyext_constructors:9[;9n@@33ptyext_constructorsU@@@8x\?5extension_constructor@@@8@@@8@@B3+ptyext_path #locv!t@@@8@@@8@@@@Ây`(`-̃y`(`J@@S@3-ptyext_params"x{@y@@@8@@C(variance@@@8@J+injectivity@@@8@@8@@8@@@8@@A3@A̦z`K`P̧z`K`@@w@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@@@@@?@@ÕêÕë@@R@@@A@@@@@@@ @@@@@C@@@B@@à@@@E@@@D@@@డ0search_extension0Typedtree_search@  @@@ڠ3@@@Ǡ@@@@@@@@@@@@@@(@@@@@@@@@Ѱ% @@@4@@@T@@@U@@@S@@R@@@@Q@@PB@@@O@@N@@M3TSSTTTTT@Bun@o@p@@@@ఐ)%tablefg@)k@@4E@@ఐ#extwx@@@6@@@ς@&@)Parsetree @)pext_name @@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@@0i@@@eY@ϋY@ρ@@@πt@#txt@]@@Y@σ|@@@@}@Ġ)Not_found.7@m@@@@@@@ϐ@@@డU%raise;M;R@@@@@@@ϖ@@ϕ[@ϔ@@ϓ@@ภ'Failure;T;[@נడ@ extension_not_found_in_typedtree-Odoc_messages\x\ą@ \Ć\Ħ@@@B@@@x@@xF@@@x@@x@DE@@C@@@@@@@Ϩ@@ϧ@@@Ϧ@@ϥ@@డq$Name&concatEħFħ@ IħJħ@@ٰ@@@%@@@Ϲ@@ϸ@,@@@Ϸ@@϶/@@@ϵ@@ϴ@@ϳ@@ఐ*렐3current_module_namehħiħ@*Ӱ@@5@@ఐ#extyħzħ@ @@8@@@@(@)Parsetreeħħ@)pext_nameħħ@@@@i@@@]@@@@@@#txtħħ@'@@ ]@H@@ħħ@@x@@@N@@\wħ@@{@@@ϣ@\@ϯX@@;Sħ@@@@@ϝ[@Ϣ`@@@@a@@@ïÿ @@c@@@A9E @@@A@ * @@@ఠ'new_env #@%A@@;V@Ѓ3@@@@@@డD$List)fold_left&2&6@ &7&@@@U@@@@pV@Ј@@Б@@@@иV@Ћ@@А @@Џ@@Ў@@Ѝ@@@Ќ@T@@@Њ@@Љ@@Ї@@І@@Ѕ3@7@@@@࣠@'acc_env AATA[@(&A@@*J@@@@࣠@ Aঠ)Parsetree+Ad,Am@)pext_name0An1Aw@@ঠ#txt;A|<A@рఠ$name CAłDAņ@V'A@@@@@3EDDEEEEE@|>^@5@6@@@@@NAzOAň@@@@@Z@@@@@@@ZAc[Aʼn@@gZ@е@@@@@ఠ-complete_name jōškōŮ@}(A@@D@@@Z@3nmmnnnnn@*6/@0@1@@@డ$Name&concatōűōŵ@ ōŶōż@@@@@c@@@@@@j@@@@@m@@@@@@@)@@ఐ,)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@@ఐ,Ԡ#envB(6C(9@,@@7c?@@ఐV%tyextQ:HR:M@9@@l@@@/@,S@)Parsetree_:N`:W@3ptyext_constructorsd:Xe:k@@*@@z@@@ФW@0W@-j@@ @@@A@r@@@ఠ+comment_opt à}yƇ~yƒ@)A@@qp@@@J@@@IV@13@@@@@@డ.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@@@`@]%@&Lexing3349@(pos_cnum8:9B@@f&@@74@A@= @@@ఠ'loc_end ŠHFTIF[@[+A@@t@@@fV@a3LKKLLLLL@JXQ@R@S@@@ఐ-Ѡ#loc_F_`Fb@-@@8r@(LocationhFciFk@'loc_endmFlnFs@@Ѱ@@@@@g@d%@&Lexing|Ft}Fz@(pos_cnumF{Fǃ@@&@@74@A@FP@@@ఠ&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@@డN$Name)from_path"##@ &$'-@@@@@@@@Ѡ@@џ@@@ў@@ѝ@@ఐ2(tt_tyext@.A6@q@@B@@@ѱ@ѯ@*tyext_pathL7MA@@@@@@ѭX@ѲX@Ѱ@@WXB@@-@@@ѫ@@@@t@@@є@D2te_type_parametersfDRgDd@డ$List#mapugwvg{@ yg|zg@@č@@@@@@@@ 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_env gȦ gȭ@@@F@@ఐW$ctyp gȮ !gȲ@@@@)ctyp_type 'gȳ (gȼ@ð @@Ơ@@@Y@ Y@ -@@G @@.@ 3gȀ 4gȽ@@@@@@@W@W@ @@ఐ;(tt_tyext Igȿ Jg@z@@K@@@@@,tyext_params Ug Vg@@@X@@@W@W@@@ @@E@@@W@@E*te_private m n@ఐj(tt_tyext x y@@@z@@@'@%@-tyext_private  @@@E@@@(V@&@E顠/te_constructors    &@ภӰ  )  +@@@@SS@@@4@@@3V@:@E&te_loc -; -A@ຠ(loc_impl -F -N@ภ$Some -Q -U@^ఐ0:#loc -V -Y@0"@@:@@@@-3#@@@HV@O@')loc_inter -\ -e@ภ$None -h -l@v@@@76@@@\@@@[V@b7@@@ -D -n@@E@@@@V@f?@E'te_code q qɆ@డo!# ɛɰ ɛɱ@ @@@ ݰ@@@~V@|V@q@@@s@@r@@pc@@డ )keep_code+Odoc_global &ɛɼ@  )ɛɽ *ɛ@%@&@@D$@@@zW@}W@{@@0 @@&@ภ$Some < =@ܠఐo2get_string_of_file H I@@@@l@@@ҍ@@Ҍ@i@@@ҋ@@Ҋh@@@҉@@҈@@҇@@ఐg)loc_start f g@@@Ҋ@@@ҝW@ҟW@Ҟ@@ఐ2'loc_end z { @@@Ҕ@@@қW@ҡW@Ҡ@@   @@F@@@nV@҅@ҢW@ҙ@@U @@F @@@mV@҄@ภ$None #7 #;@4@@@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 9kʰ :kʻ@ L1A@@h3 8 7 7 8 8 8 8 8@z@@@@@@@@ఐ+tt_ext_list Kʾ Lʾ@y@@@@z3 J I I J J J J J@@@@Ġ Z [@@@@@3 X W W X X X X X@@@@@@@@@ఐo*maybe_more i j@=@@@@డ $List#rev { | @    @@@M!a@/@@@/@@/@@@/@@/@OePe@@NM@@@@@@@@@@@@@@H@@ఐ(exts_acc  @r@@U@@8@@V@@  @@@֠@@@_@Ġǰ 4 6@Ơఠ&tt_ext ͠ - 3@ 2A@@V@@ఠ!q Π 7 8@ 3A@@ :@@@@@@@@@@@@@@ఠ-complete_name Ϡ <T <a@ 4A@@@@@\@3        @/(@)@*$@@@@@డ 4$Name&concat <d <h@  <i <o@@@@@@@@@@@@@@@@@@@@@@@+@@ఐ23current_module_name +<p ,<˃@2@@=E8@@ఐn&tt_ext <<˄ =<ˊ@E@@mI@(ext_name C<ˋ D<˓@ @@@@@.]@$@@@#Y@#txt S<˔ T<˗@ؘ@@ ]@&a@@P@@eb@A@ Y<P@@@ఠ+ext_loc_end Р d˛˳ e˛˾@ w5A@@@@@;\@33 h g g h h h h h@x@@@@@ఐ&tt_ext }˛ ~˛@@@@'ext_loc ˛ ˛@ @@@@@:@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@@@@!]#locZ@@@@@@@@@5constructor_arguments@@@-@@@@@@@C@@B@A!cMcQ!cMc@@@@@ Gk Gl@@('%@@@M@@@L@@@K3        @a@@@ఠ$args Ҡ -Gn .Gr@ @7A@@/@@@N@ఠ(ret_type Ӡ ;Gt <G|@ N8A@@7@@@P@@@O!@@@] GG}@@n@@@Q&@@q@@@R)@@@@ఠ'xt_args ՠ X̟́ Ý̦@ k:A@@әӘ@@@~_@b3 ] \ \ ] ] ] ] ]@<5@6@7/(@)@*@@@డ-get_cstr_args#Sig t̩ u̩@  x̩ y̩@@@@@@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_argsHf HmAఐ @@AG@@@Ӟ^@ӟ@A?&xt_reto͍o͓@డ &Option#map*͖Ͷ+͖ͼ@ .͖ͽ/͖@@@@!a@+B@@+!b@+?@@+@@+@@@@+@@+ @@@+@@+@@+@oo@@I@+&@@@@@@@^@Ӱ@@ӳA@@@Ө^@^@^@ӭ@@Ӳ@@ӱ@)@@@ӯ@@Ӯ(@@@Ӭ@@ӫ@@Ӫ3rqqrrrrr@x@@@@࣠@$ctyp A͖͖@;A@@-@@@@డ *subst_type(Odoc_env͖͖@ ͖͖@@@@@@@@@@@@@@@@@@@@@@@3@5X@,@-@@@@ఐ 'new_env͖͖@5@@ @@ఐK$ctyp͖͖@@@t@)ctyp_type͖͖@q @@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_implImΖJmΞ@ภ$SomeQmΡRmΥ@ఐ&tt_ext]mΦ^mά@f@@@'ext_locdmέemδ@ @@@@@^@^@!^@@@  @@Ҡ @@@^@@̡)loc_inter}mη~m@ภ$Nonemm@ @@@ܠ@@@*@@@)^@0@@@mΔm@@B@@@ ^@4"@B'xt_text@ภ$None@ =@@@BB@@@<@@@;^@B<@@@@@@@@U@Ġ+Text_rebind2=@;+Text_rebind@{!t@@@ 4#loct!t@@@@@@@BA@B@A "cc "cc@@@ @ఠ$path Ԡ>B@9A@@#@@@Y@@DE@@$"@@@[@@@Z#@@@8F@@ @@@\(@@#@@@]+@@@CF'xt_name hφ hύ@ఐ%-complete_namehϐhϝ@@@ @@@K3@U92@3@4@@@CS'xt_args!ϟϽ"ϟ@ภ*Cstr_tuple)ϟ*ϟ@;*Cstr_tupleN50constructor_args@@@@NN)type_expr@@@@@@@AA@B@ANeNe@@@NFM@ภIϟJϟ@@@@@@@_@@@^^@e=@@- @@C@@@W^@]C@C&xt_retab@ภ$Noneij@ @@@CC@@@n@@@m^@t]@C1xt_type_extension{!|2@ఐ&new_te5;@@@L@@@z^@{t@C(xt_alias=[=c@ภ$SomefІfЊ@ :ຠ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@@డP$Name)from_path$Ѝ%Ѝ@ (Ѝ)Ѝ@@@@@@@@Է@@Զ @@@Ե@@Դ@@ఐ[$path@ЍAЍ@(@@@@@`@`@2@@KЍLЍ@@ !@@@8@@@@f@@@ԫ<@%xa_xtZ[$@ภ$Noneb'c+@ @@@[l@@@@@@^@V@@@ofЋp-N@@D~@@@Ԅ^@ԋ^@`@@ @@D @@@ԃ^@Ԋg@D&xt_locPnPt@ຠ(loc_implPyPс@ภ$SomePфPш@ 8ఐ֠&tt_extPщPя@@@@'ext_locPѐPї@ʰ @@`@@@^@^@^@@@  @@ @@@^@@)loc_interPњPѣ@ภ$NonePѦPѪ@ b@@@#"@@@ @@@ ^@@@@PwPѬ@@D@@@^@@Dԡ'xt_textѯѯ@ภ$Noneѯѯ@ @@@DD@@@@@@^@#@@@Jf@@>@@@A,@@@;@A@ @@@ఠ*pos_limit2 נ , 6@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@A@@ߠ@@@@@@\@֨@@<_y=_Ӓ@@@$@@@֫!@డ2just_after_special%My_irQ_ӖR_ӛ@ U_ӜV_Ӯ@@ְ@@@@@@ֶ@@ֵ@@@@ִ@@ֳ@@@@ְ@@@@ֲ@@@ֱ@@֯@@֮@@֭T@@డ_ӯ_Ӱ@@@@Q@@@]@]@@@@@@@@q@@ఐ)file_name_ӹ@ԭ@@@@@^@^@@@' @@@@ఐ!s_Ӻ_ӻ@@@s@@@]@]@@@m @@@@@@]@@A@_u@@@ఠ+comment_opt ܠӿӿ@AA@@Ơ@@@@@@\@3@@@@@@@@డ@.analyze_alerts(Odoc_sig@ @@>@@@ @@@@@@@@@>@@@@@@@@@@@@@@@3@@ఐ+comment_opt"@;@@63@@@@@@]@]@K@@ఐh&tt_ext6#=7#C@?@@gZ@.ext_attributes=#D>#R@P @@ @@@d@@S@@le@A@Eӿ@@ ఐ&new_xtQlԂRlԈ@A@@^V@@@3RQQRRRRR@y@@@@@'xt_text^lԉ_lԐ@GSఐ+comment_optglԔhlԟ@@@G]G\@@@ @@@\@!@# @@j@@@&\@%"@ఐ ͠>analyse_extension_constructors ԡԷ ԡ@ @@@ @@.@ @@-@ @@,@ @ @@+@@*@@)@@(@@@ఐ*maybe_more ԡ ԡ@@@ M@@ภw ԡ ԡ@ఐ&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@@6 7 '@@@"@@@i@ఐ >analyse_extension_constructorsG *H H@ F@@@@@@o@@w@_Z@@@q@@@v@@u@!@@@t@@@s@@r@@ @@@p@@n@@m@@l@@kR@@@x Iy J@@bW@ؖW@ؕ_@@ภ K M@@@@]@@@ؓW@؜p@@ఐ(tt_tyext N V@̰@@@@@آ@؟@2tyext_constructors W i@p@@o@@@ؑ@@@ؐ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@ภ= ՛%Au@&A@BJ@ؿ@@@U@v@@H ՛տ0@@@@@|@@N ՛թO ՛@@@Q@@@@@ @@ @ @@ ;@T @@  l@  @@ @@@  @!@@V@k@@@@@@@@;I@Ġ)Parsetreemn@.Pstr_exceptionrs@@;.Pstr_exception@q.type_exception@@@9@AE@O@A..@@@vn@ఠ#ext e@A@@@@@]3@<@@@@@%@@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@Abbbc@@@@Abbbb@@@9%@@@@@@L@)Parsetree A J@)pext_name K T@@vM@@b[@A@ @@@ఠ-complete_name փ֑փ֞@#EA@@@@@V@3@q|@}@~@@@డU$Name&concat)փ֡*փ֥@ -փ֦.փ֬@@Ľ@@@ @@@@@@@@@@@@@@@@@@)@@ఐ=Ϡ3current_module_nameLփ֭Mփ@=@@Hf6@@ఐ$name[փ\փ@B@@̠7@@@W@@@@N@#txtkփlփ@㰰@@ W@V@@G@@ZW@A@qփ֍@@@ఠ&tt_ext |}$@FA@@nK@@@$V@ 3@n|u@v@w@@@డ0search_exception0Typedtree_search'7'G@ 'H'X@@@[XWH|@@@РQ@@@@@@@@@H@@@@@7@@@@@@@@M@N% @@@H@@@@@@@@@@@@b@@@@@Q@@@@@@@P@@ఐ=%table'Y'^@=@@H]@@ఐS$name'_'c@ְ@@`@@@&W@IW@@@@@?w@#txt'd'g@F@@W@A@@n@@@Ġ)Not_foundhyhׂ@@@@@ @@@N@@@డ%raise׆ה׆י@B@@@B@@@T@@SY@R@@Q@@ภ'Failure2׆כ3׆ע@డp exception_not_found_in_typedtree-Odoc_messagesB׆פC׆ױ@ F׆ײG׆@@@r@@@x@@xv@@@x@@x@tu#@@s@@@@@@@f@@e@@@d@@c@@ఐ_-complete_nameo׆p׆@@@F@@@p@@v׆ףw׆@@I@@@a@tZ@m@@׆ך׆@@@@@[Y@`@@k@@@@@'3 @@@A@ @@@ఠ+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_env1i؁2i؉@ 5i؊6iؗ@@f@@@ؠ@@@٧@@٦@f@@@٥@@٤ت@@@٣@@٢@@١)@@ఐ?栐#envTiؘUi؛@?а@@Ju6@@ఐQ-complete_nameai؜biة@۰@@8@@@ٻF@@7@@JG@A@iis@@@ఠ'new_ext tحػuح@IA@@S@@@%V@3xwwxxxxx@]kd@e@f@@@ఐ&tt_ext@@@ [@@@@3@@@@)Typedtree@1tyexn_constructor@@ Ͱ@@ e@@@@@(ext_kind@ ذ$@@ @@@@Ġ)Text_decl@ Ԡ@ !@@ Ӡ Ҡ @@@@@@@@@3@S@@@ఠ'tt_args #*@JA@@ @@@@ఠ+tt_ret_type ,7@KA@@  x@@@@@@!@@@48@@ @@@&@@ @@@)@@@@ఠ)loc_start  <P <Y@MA@@/@@@Y@3@;4@5@6.'@(@)@@@ఐ@#loc <\ <_@@v@@K/@(Location% <`& <h@)loc_start* <i+ <r@@ƣ@@p@@@@'@&Lexing9 <s: <y@(pos_cnum> <z? <ق@@l&@@96@A@C <L@@@ఠ'loc_end N!نٚO!ن١@aNA@@z@@@Y@3RQQRRRRR@LZS@T@U@@@ఐ@נ#loce!ن٥f!ن٨@@@@Kx@(Locationn!ن٩o!نٱ@'loc_ends!نٲt!نٹ@@װ@@ƹ@@@@%@&Lexing!نٺ!ن@(pos_cnum!ن!ن@@Ƶ&@@74@A@!نٖ@@@ఠ'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_opt2&dڀ3&dڋ@@@UgUd@@@9@@@8X@:@U['ex_argsD'ڎڠE'ڎڧAఐ @*@Uh@@@BX@C1@U`&ex_retW(کڻX(ک@డ&Option#mapf)g)@ j)k)@@ <@@@@@@@ڊX@T@@WU@@@LX@ڕX@ځX@Q@@V@@U@ B@@@S@@R A@@@P@@O@@N3@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@ภ$None5,Ur6,Uv@@@@V3V2@@@ڝ@@@ڜX@ڣ@V-&ex_locG-yۋH-yۑ@ຠŶ(loc_implR-yۖS-y۞@ภ$SomeZ-yۡ[-yۥ@ఐB֠#locd-yۦe-y۩@B@@Mw@@@@ɠE@@@ڱX@ڸ@á)loc_intert-y۬u-y۵@ภ$None|-y۸}-yۼ@@@@Ӡ@@@@@@X@@@@-y۔-y۾@@Vv@@@کX@@Vp'ex_code..@డ ɽɿ0 0 @ɼ@@@ɼL@@@X@X@@@@@@@@$@@డɥ)keep_code+Odoc_global0@ 00"@%@ɣ&@@$@@@Y@Y@A@@0 @@&B@ภ$Some1(@1(D@xఐ 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@@@/A4ܤܹ@@@@@C$&6D5ܼ@@%@?@@@@@@@@<@Ġ+Text_rebindR6S6@ ఠ'tt_path [6\6@nLA@@ @@@@@e6f6@@  @@@@@@@@@o6@@@@@@@@@@@@@W'ex_name8 8 "@ఐx-complete_name8 %8 2@@@_@@@3@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;݋ݦ;݋ݪ@x@@@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_env4> 5>@ 8>9>4@@ b@@@ݣ@@@o@@n@ b@@@m@@l _@@@k@@j@@i@@ఐD預#envW?5TX?5W@DӰ@@Ox@@డ$Name)from_pathj?5Yk?5]@ n?5^o?5g@@@@@@@@ۋ@@ۊM@@@ۉ@@ۈ@@ఐ+'tt_path?5h?5o@@@@@@ۘZ@ۚZ@ۙ@@?5X?5p@@g@@@ۖ@@c@@ @@@ @%ea_ex@sގ@sޓ@ภ$None@sޖ@sޚ@>@@@X@@@۱@@@۰X@۷&@@@=@sޞ@@X@@@XX@_X@ۻ0@@ @@X @@@WX@^7@X&ex_locAޡ޳Aޡ޹@ຠ:(loc_implAޡ޾Aޡ@ภ$SomeAޡAޡ@~ఐ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@@@@/70C @@@@@A2@@@A@4حط@@@@=E+8>E+9@@OU@M3<;;<<<<<@@@@@@@ఐ5'new_envME+;NE+B@а@@8U@N@@ภ .YE+FZE+aAZภ1Element_exception bE+W@Ztఐ'new_extkE+XlE+_@*@@Z@@@YU@[U@Z4@@ @@LU@X7@ภ @~E+`%A@&A@ޠLJ@P@@@TU@`G@@E+D0@@@@@SM@@E+7E+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@@@ঠ#txt Gdߗ Gdߚ@WĠ$None Gdߛ Gdߟ@@@@@@?@@@y@@@x @@@ %Gdߖ &Gdߠ@@OON@@@@@@~V@{@@@z @@@ 5Gd߂ 6Gdߡ@@@@@V@ @@@@@Q, @@Q, @@@@@ EHߥ߰ FHߥ߱@@PU@g @@ఐF䠐#env RHߥ߳ SHߥ߶@Fΰ@@Qs @@ภ \Hߥ߸ ]Hߥߺ@@@@LJ@i@@@k @@ fHߥ߯ gHߥ߻@@E @Ġ)Parsetree tJ߽ uJ߽@+Pstr_module yJ߽ zJ߽@@ɠঠ)Parsetree J߽ J߽@(pmb_name J߽ J߽@@ঠ#txt J߽ J߽@Ġ$Some J߽ J߽@?ఠ$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@@Q@@@܅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!VN]!WN]@G[@@R5]@@ఐ$name!cN]!dN]@f@@P@@@܇W@ܠW@ܟq@@` @@vr@A@!oN]j @@@ఠ.new_module_pre !zO!{O@!RA@@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"dP"eP@H@@S4@@ఐH3current_module_name"qQ"rQ@Hܰ@@SA@@ఐ֠$name"~R("R,@@@RJ@O@@ఐHܠ+comment_opt"S->"S-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@@@డ!G"X"X@@@@@@@V@V@@@@@@@@3""""""""@@@@@డ)keep_code+Odoc_global "X@ #X#X@&@'@@%@@@W@W@@@1 @@'@@ఠ#loc #Y#Y@#,TA@@N!t@@@W@T@ఐX+module_expr#.Y#/Y@0@@S@@@@e@)Parsetree#<Y#=Y @(pmod_loc#AY#BY@@3(pmod_locS@@@9*@@@9@@A3)pmod_desc H0module_expr_desc@@@9@@@@A{|@@L\@3/pmod_attributesx@@@9@@B@A -2 -N@@U^@@A,@@Y]@8$@@G@A@#gY&@@@ఠ"st #rZ/#sZ1@#UA@@Ϟ@@@W@3#v#u#u#v#v#v#v#v@ha@b@c@@@ఐp#loc#Z4#Z7@@@@@@@@(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$7\$8\@n@@[@@@W@W@@@ఐ"en$K\$L\@!@@e@@@W@W@+@@$V\$W\@@.@@O@@3@@@3@[@@@@@@ @@@ภ$None$g^$h^@@@@V@@$mX@@@A@$oW@@@ఠ*new_module $z` ${` &@$WA@@o$@@@YV@3$~$}$}$~$~$~$~$~@@@@@@/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%ecn%fcn@K@@VO@@ఐ*new_module%tcn%ucn@[@@p@@@y@wc@&m_name%cn%cn@o-@@o,@@@xm@@^@@qn@A@%cn{@@@ఠ(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&M&L&L&M&M&M&M&M@y@z@{@@@@ఐO'new_env&_h&`h@ð@@@@@Y@Y@@@ఐ*new_module&uh&vh@\@@q@@@@+@&m_name&h&h@p.@@p-@@@5@{ภ?A&^ ,డ#$Name&simple&i&i@ &i&i@@jѰ@@@!|@@@@@!@@@@@\@@ఐ@*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'0mNA0ภ.Element_module '8mNy@l'ఐǠ*new_module'AmNz'BmN@(@@q@@@U@U@4@@ @@SU@7@ภ'TmN%A@&A@&SJ@@@@U@ G@@'_mNi0@@@@@M@@'emN['fmN@@@V@G@@@ X@f @@ @ @@ X@m @@ @ @@ @@@ A@@@y@Ġ)Not_found'}o'~o@ @@@@&|@@@@@@@ఠ-complete_name 'p'p@'[A@@"g@@@-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 @@డ&P%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(EqH(FqU@I@@#@@@]O@@(Lq(MqV@@@@@N@aY@ZY@@(Vq(WqW@@x@@@HX@Ma@@v@@lb@@@@X@X@X@@@@@(hK#(irXc@@M@Ġ)Parsetree(vtem(wtev@.Pstr_recmodule({tew(|te@@;.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)1y"V)2y"^@ Kఠ'mod_exp )9y"_):y"f@)L_A@@Y@@@ޠ@@@)Ay"=)By"g@@kZ@ޖ@@@@ఐ9$name)Rzk)Szk@8@9@:@@ ~ | {@@@ި@@@ާ@@@ަ3)\)[)[)\)\)\)\)\@;O/(@)@*@@@#txt)izk)jzk@@@Z@ީ @Ġ$None)x{)y{@$@@@@  @@@޸@@@޷3)})|)|)})})})})}@!@@@ @  @@@޺@@@޹@@@ఐ'acc_env){){@i@@@Ġ$Some)|)|@#>ఠ$name )|)|@)`A@@ @@@M@@@@@ Ҡ @@@@@@U@@ ٠ @@@@@@\@@@@ఠ-complete_name )})}@)aA@@$@@@\@3))))))))@p/(@)@*@@@డ' $Name&concat)})}@ )})}@@t@@@$@@@@@@$@@@@@$@@@@@@@)@@ఐP3current_module_name*}*}@Pn@@[6@@ఐi$name*}*} @@@@$@@@]@H@@9@@LI@A@*} @@@ఠ!e *%~$=*&~$>@*8bA@@@@@\@3*)*(*(*)*)*)*)*)@_mf@g@h@@@డ*add_module(Odoc_env*>~$A*?~$I@ *B~$J*C~$T@@@@@@@@@@@@@@@@@@@@@@@)@@ఐl'acc_env*a~$U*b~$\@9@@6@@ఐ-complete_name*n~$]*o~$j@@@@%E@@@ F@@7@@JG@A@*v~$9@@@ఠ*tt_mod_exp *n*n@*cA@@ @@@,\@3********@]kd@e@f@@@డ'-search_module0Typedtree_search**@ **@@ @@@ [~@@@ @@@@@@@@@'@@@@@ @@@@@@@3@@ఐP䠐%table**@P̰@@[@@@ఐ-$name**@@@'@@@.]@G]@FT@@C @@XU@Ġ)Not_found**@v@@@@)@@@Lc@@@డ)^%raise**@@@@@@@R@@Q{_@P@@Ox@@ภ'Failure+  + @డI=module_not_found_in_typedtree-Odoc_messages++@ + + =@@@@@@@@d@@c@@@b@@a@@ఐp-complete_name+7>+8K@ @@&@@@n@@+>+?L@@@@@_@r`@k@@+H+IM@@j@@@Y_@^@@Z@@@@@+Q @@@A@+Sn @@@ఠ*new_module +^f+_f@+qdA@@ \@t3+^+]+]+^+^+^+^+^@@@@@@ఐ[.analyse_module+of+pf@[@@@[@@߁@[@@߀@[@@@[@@~@[@@}@[@@|[@@{@@z@@y@@x@@w@@v'@@ఐo!e++@ @@D]@ߠ6@@ఐR&3current_module_name++@R@@\C@@ఐ $name++@@@ 4]@ߣR@@ภ$None++@&T@@@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,5,6@ ,9,: @@B@@@@@@@@@B@@@@@?=:@@@@@@@@@9@@@@@@@@߿@@߾@@߽@@߼@@߻3,[,Z,Z,[,[,[,[,[@nLE@F@G@@@@ఐH!e,m,n@@@@@@^@^@@@ఐ%*new_module,,@@@$&@&m_name,,!@v7 @@v6@@@0@ภEJ,g&5డ)$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@-Gw @@Aఠ!f -R-S@-efA@@%firstPF@@@V@8@@@J@@I@@@@,V@<@@H@ @@@sV@k@@@jV@@@@G,۠N@@@]@@@@V@B@@F@@E@@D3--------@@@@@@࣠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--------@@@@Ġ ;.KY.K[@ :@@@@3--------@@@@@@@@ภ D. K_. Ka@ C@@@ @Ġ .b.b@ ঠ)Parsetree.#bq.$bz@(pmb_name.(b{.)b@@Xঠ#txt.3b.4b@xĠ$None.;b.<b@(@@@@a`@@@@@@3.@.?.?.@.@.@.@.@@O@@@@@.Gb.Hb@@qqp@@@@@@\@@@@@(pmb_expr.\b.]b@vఠ'mod_exp .db.eb@.wjA@@^@@@&@@@.lbp.mb@@\@o+@ఠ!q .wb.xb@.kA@@-נV@m@@@;@@@ @@<@@<@@@@ఠ)loc_start ..@.oA@@ڷ@@@\@3........@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/1 M/2 T@@ە+@@w@@@@@@&Lexing/@ U/A [@(pos_cnum/E \/F d@@s?@@RO@A@/J @@@@@/Uh}/Vh~@@*32@@@\@@@@\@3/]/\/\/]/]/]/]/]@iwp@q@r@@@@ఠ,ele_comments /mh/nh@/qA@@!B@@@\@@@@\@@@/}h|/~h@@@,@@@#@ఐ%first//@@@/@@ภ$None//@*1@@@E<@@ภ!߰//@!@@@5F@@// @@@V@>@@O@ఐ猪6get_comments_in_module/!5/!K@ذ@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@~@@ఐ(last_pos/!L/!T@@@@@ఐl)loc_start/!U/!^@@@Q@@@]@]@@@G @@[\@]@@0@@]@A@0 hx@@@ఠ$eles 0r0r@0'rA@@V@V@TV@Z\@ 300000000@@@@@@ఐ٠!f0+r0,r@@@S@@@(@@'@@@&@@@%@@$@@#@@"@ภ0*@0@S1@@@;@@:,@@ఐd'loc_end0Ur0Vr@@@V@-V@]@<>@@ఐ!q0gr0hr@Ѱ@@V@=M@@B@@N@A@0nr@@డ.!@0x0y@@@@V@X[@B@@@F@@E@ @@@D@@C@@@A@@@@@?300000000@u~@@@@@@ఐ3,ele_comments00@@@ (@@@V\@Y\@W@@ఐ$eles00@"@@%@@@@V@R(@N@@@@@[@t@@@ @@B+@Ġ"ʰ00@"ɠঠ)Parsetree00@(pmb_name00@@ ঠ#txt00@*Ġ$Some00@*ఠ$name 00@1 lA@@@@@@@@@@! @@@@@@@@@11@@00/@@@@@@\@@@@@(pmb_expr11@5ఠ'mod_exp 1#1$@16mA@@a@@@4@@@1+1,@@V@9@ఠ!q 1617@1InA@@0@@@H@@@@@I@@I@@@@ఠ-complete_name 1I  1J -@1\sA@@,#@@@s\@[31M1L1L1M1M1M1M1M@_d]@^@_81@2@3&@ @!@@@డ.$Name&concat1f 01g 4@ 1j 51k ;@@@@@,F@@@c@@b@,M@@@a@@`,P@@@_@@^@@]-@@ఐX 3current_module_name1 <1 O@W@@b:@@ఐ$name1 P1 T@B@@,o@@@~]@}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_cnum1X2X@@-?@@RO@A@2Xh@@@ఠ'loc_end 22@2"uA@@;@@@\@322222222@esl@m@n@@@ఐ'mod_exp2(2)@Ӱ@@b@@@@@)Parsetree2627@(pmod_loc2;2<@@@@޵@@@@,@(Location2J2K@'loc_end2O2P@@޳+@@ޕ@@@@@@&Lexing2^2_ @(pos_cnum2c 2d@@ޑ?@@RO@A@2h@@@ఠ*tt_mod_exp 2s+2t5@2vA@@@@@\@32w2v2v2w2w2w2w2w@esl@m@n@@@డ/-search_module0Typedtree_search28N28^@ 28_28l@@@@@cp@@@ᢠ~@@@@@@@@@/@@@@@@@@@@@@3@@ఐX֠%table28m28r@X@@c@@@ఐР$name28s28w@r@@/@@@]@]@T@@C @@XU@Ġ)Not_found2x2x@ h@@@@1@@@c@@@డ1P%raise2x2x@ @@@ @@@@@{_@@@x@@ภ'Failure2x2x@Ҡడ;=module_not_found_in_typedtree-Odoc_messages3 x3x@ 3x3x@@ @@@ @@@@@ @@@@@@@ఐࠐ-complete_name3)x3*x@u@@.@@@@@30x31x@@@@@@`@@@3:x3;x@@\@@@_@@@Z@@@@@3C8J @@@A@3E' @@@@ఠ'com_opt 3T3U@3gwA@@\]\@33U3T3T3U3U3U3U3U@@@@@@@ఠ,ele_comments 3e3f%@3xxA@@%:@@@(\@@@@\@@@3u3v&@@@#@@@#@ఐ%first3dy3d~@@@/@@ఐY䠐+comment_opt33@Y̰@@d=@@ภ%ذ33@%@@@6G@@33@@@d@?@@P@ఐ󣠐6get_comments_in_module33@Ѱ@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@ @@ @@ @@ఐ(last_pos33@@@}@@ఐE)loc_start33@ذ@@J@@@*]@/]@.@@G @@[\@0]@$@4dv@@]@A@4 @@@ఠ*new_module 4 &40@4 yA@@\@134 4 4 4 4 4 4 4 @@@@@@@@ఐd.analyse_module4 34!A@d@@@d@@>@d@@=@d@@<@d@@;@d@@:@d@@9d@@8@@7@@6@@5@@4@@3)@@ఐ 'new_env4EBV4FB]@@@ 6@@ఐZՠ3current_module_name4R^r4S^@Z@@elC@@ఐi$name4_4`@ @@]@_R@@ఐ'com_opt4n4o@[@@_@@ఐX'mod_exp4{4|@&@@]@`n@@ఐ*tt_mod_exp44@0@@]@a}@@p@@d~@A@4"@@@ఠ$eles 4 4 !@4zA@@\@b344444444@@@@@@ఐ[!f4 $4 %@@@ZWX@@@j@@i@S@@h@N@@gC@@f@@e@@d@jภH4/[@4@Wm@@@}@@|,@@ఐȠ'loc_end4 &4 -@[@@q]@~;@@ఐ!q4 .4 /@@@wV@J@@?@@oK@A@4 @@డ3_!@43P43Q@d@@@d[@@@@@@@쐠 @@@@@a@@@@@@@35 5 5 5 5 5 5 5 @pzs@t@u@@@@ఐ,ele_comments53C53O@ @@抠&@@@\@\@@@ภ503o513q@'1ภ.Element_module593T5:3b@z)ఐ6*new_module5C3c5D3m@@@56@@5G3S5H3n@@\@;@ఐ$eles5S3r5T3v@C@@F@@5W3R5X3w@@]@@@\@O@@C@@V@R@v @@@ @@R@c @@ @!@@@@@O@d@@@@@@@@A5j".@@g@A@X\@@@@@@@@@ @@@@@@@@V@@@@5(@@@ఠ$eles 55@5{A@@4]@@@@@@V@355555555@@@@ఐO!f55@@@NX G@@@@@@@@@@@@@@@'@@@@@@@@5@@@@@@@@@@@@1@rภN5/mภǰ55@@@@ v@@@W@F@@@XǠ@@@J@@ఐ\a#loc55@\I@@g[@(Location55@)loc_start55@@v@@C@@@@o@&Lexing6 6 @(pos_cnum66@@?&@@t@@@W@W@@@ఐ $mods6&6'@ t@@(cz@@@@@@W@W@@@@@@A@66@@@@6?6@@@fU@36>6=6=6>6>6>6>6>@@@@@@@ఐ 'new_env6O6P@ǰ@@ @@ఐѠ$eles6[6\@@@fJ@@@6a6b@@@&@ @ @@(@6 @@ @ @@ @ ' @@\ @Ġ)Parsetree6z6{@,Pstr_modtype66@@;,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@7A@@KJ@@@@@@@/pmtd_attributes7 Cc7 CrALఠ k@7$A@2@@@+@@@77Cs@@@@@V@3@@@@@h4@@h4@@@@ఠ-complete_name 7*w7+w@7=|A@@2@@@V@37.7-7-7.7.7.7.7.@]*ZS@T@UA:@;@<)&@(@'@@@డ4s$Name&concat7Gw7Hw@ 7Kw7Lw@@۰@@@2'@@@@@@2.@@@@@21@@@@@@@-@@ఐ]3current_module_name7jw7kw@]հ@@h:@@ఐ$name7yw7zw@D@@ՠ2U@@@W@@@@R@#txt7w7w@ΰ@@ W@Z@@G@@^[@A@7w@@@ఠ.tt_module_type 77@7}A@@2+@@@+V@377777777@ry@z@{@@@డ42search_module_type0Typedtree_search77@ 77@@@0y0v0uh@@@20o@@@@@@@@@4@@@@@7@@@@@@@@k@l% @@@h@@@@@@@@@@@@4@@@@@Q@@@@@@@P@@ఐ^%table77@^@@h]@@ఐ,$name8 8@ذ@@i4@@@-W@PW@G@@@Fw@#txt88 "@d@@W@H@@n@@@Ġ)Not_found8,#48-#=@@@@@7+@@@U@@@డ6%raise8;AO8<AT@ `@@@ `@@@[@@ZY@Y@@X@@ภ'Failure8PAV8QA]@%డڎ "module_type_not_found_in_typedtree-Odoc_messages8`A_8aAl@ 8dAm8eA@@@ڐ@@@x@@xڔ@@@x@@x@ڒ$$ړ$]@@ڑ@@@@@@@m@@l@@@k@@j@@ఐc-complete_name8A8A@@@3d@@@w@@8A^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_type99@G@@-7@@@@@(mtd_type99@,{@@,z,y@@@@@@"@@- @@@.@@@)@@Ġ$Some9:9;@2ڠఠ'modtype 9C9D@9VA@@@@@G@@@@@@@@@@@O@@Ġ$Some9Z!9[%@2ఠ(mty_type 9c&9d.@9vA@@,@@@g@@@@@,Ǡ,@@@@@@o@@9@@@,@@@v@@@ɠ@@@@@@䬠@,,@@@@@@@@@@@@ภ$Some92B92F@37డ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ภ: 4@: @3Р+@*)@@@]@@@\@@@[A@@@Z@@@Y@@@X@@W(@@ఐ`#env:c2e:d2h@`߰@@k5@@ఐF-complete_name:p2i:q2v@̰@@5G@@@aE@@ఐ='modtype:w:w@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@@@@@@@A5\ II5] II@@5@3'mty_env";!t@@@@@B@A5h"IJ5i"IJ@@5@3'mty_loc 1 !t@@@@@C @A5t#JJ5u#JJ+@@5@3.mty_attributes,1 @@@@@D)@A5}$J,J05~$J,JK@@5@@A5!II5!II@@5@H;@@@@@IY@oY@m@@:2G:w@@%@@R@@5à+@@@@@ภ$Some::@4ఐ(mty_type;;@ΰ@@.^@@@w@u@(mty_type; ;@k@@2@@@@58@@@s@@@@@^@E@@@@;";#@@@ts@@@@@@䶠@..@@@@@@@@5@@@@@@@@@仠@..@@@@@@@@I@@@@ภ$None;V;W@5@@@63V@~@@@\@@ภ$None;g;h@5@@@6DV@@@@m@@ @@[n@@@A;r @@@@@@@A@;z@@@ఠ+comment_opt M; ;@;A@@yx@@@@@@V@3;;;;;;;;@@@@@@@@డ.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@@@@=@@<@@@;@@:@@9B@@ఐc#env=g=h@c@@nO@@ఐ"mt=v=w@[@@@@@V@Tc@'mt_name==@@@@@@Um@@^@@qn@A@=@@@ఠ(new_env2 P==@=A@@@@@V@^3========@@@@@@ఐנ)sig_mtype= 2= ;@@@8@@@a@@@`3========@@@@Ġ$Some==@7_Ġ%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>P>Q@5@@@@@@+@'mt_name>\>] @ΰ@@@@@5@VภW>98డ;$Name&simple>w>x@ >{>|@@@@@9W@@@@@9Z@@@@@\@@ఐ"mt>>@z@@@@@@p@'mt_name> >'@@@9|@@@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@@@ภ,?c}?cA1ภ3Element_module_type ?c@ఐ1"mt?$c?%c@ @@@@@U@U@4@@ @@kU@7@ภ,?7c%A1o@&A@>kJ@@@@U@G@@?Bc{0@@1y@@@M@@?Hcm?Ic@@@V@G@@@X@f @@ @ @@ 9@N @@ Y@n @@ @@@ @@@@@@d&@Ġ)Parsetree?e?f@)Pstr_open?j?k@@;)Pstr_open {@ i0open_declaration@@@9@AI@O@A 5 57@@@ nr@@?}?~@@@@@3?}?|?|?}?}?}?}?}@ev@@@@@@@ps@@ps@@@@ఠ,ele_comments R??@?A@@1ʠ@@@)V@@@@V@@ఐe+comment_opt??"@eް@@p3????????@e@@@Ġ$None?(4?(8@:J@@@@p@@p@@@ภ1?(<?(>@1@@@-@Ġ$Some??K??O@9iఠ!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@@@@@@@@@$@@@ @@@@@@@@@@ภ2e@+w@,w@2d@@@@Ġ$Some@8@9@9ؠఠ!t T@A@B@@TA@@@@@N@@@@@#"@@@@@@V@@*)@@@@@@]@@@ภ.1@\@]A2]ภ6Element_module_comment @e@v2ఐ-!t@n@o@,@-@.@@v?@@@+Z@0Z@/3@t@s@s@t@t@t@t@t@> @@@@  @@Z@*@ภ.F'A2@(A@?V@"@@@&Z@5@@@1@@@@@A@Uc3@@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 A@@@@@@@@3@@@@@@@@@f@@@@@. @@q@@q@@@@ఠ'new_env UA \jA\q@A A@@Z^V@3A A A A A A A A @g"@@@@@డ?$List)fold_leftA"tA#t@ A&tA't@@ܘ@@@@ZV@@@@V@@@>V@@@ @@@@@@@@@@ܗ@@@@@@@@@@@3ADACACADADADADAD@7@@@@࣠@'acc_env VAAXAY@AkA@@*J@@@@࣠@*class_decl WAAiAj@A|A@@53AhAgAgAhAhAhAhAh@\>@@@@@@@@@ఠ-complete_name XA|A}@AA@@$Name&concatAA@ AA@@)@@@@@@@@@/class_decl_list \AC*C+@C=A@@v3C)C(C(C)C)C)C)C)@@@@@@@@@ఐ/class_decl_listC<C= @@@@@3C;C:C:C;C;C;C;C;@@@@Ġ5CK!CL#@5@@@@3CICHCHCICICICICI@@@@@@@@ภ5CT'7CU'9@5@@@ @Ġ5bC`:SCa:U@5aఠ*class_decl ]Ci:HCj:R@C|A@@V@~.@ఠ!q ^Cu:VCv:W@CA@@Bՠ@@@=@@@@@>@@>@@@@@ఠ,tt_class_exp _C[pC[|@CA@@>~@@@\@3CCCCCCCC@X4-@.@/)"@#@$@@@@ఠ.tt_type_params `C[~C[@CA@@ޠ@@@@@@\@@@C[oC[@@@(@@@$@డ@0search_class_exp0Typedtree_searchCC@ CC@@@<<<t@@@><@@@@@@@@@@@@@@@@\@@@ޠ@ (J@@@@@@@@@@@@@ c@ d2-@@@*t@@@뙠(@@@@@@@@@@@@@@@@@@@뒠@ Oq@@@@@@@@@@@@3DDDDDDDD@@@@@ఐjI%tableD,D-@j1@@u @@ఐԠ*class_declD=D>@@@@)ParsetreeDFDG@(pci_nameDKDL@@@@7A @@@]@]@@@@9@#txtD^D_@$@@]@A@@@@@٠@@@]@J@Ġ)Not_foundDsDt@@@@@Cr@@@X@@@@ఠ-complete_name aD,D9@DA@@?]@@@_@@డA$Name&concatD<D@@ DADG@@-@@@?y@@@@@@?@@@@@?@@@@@@@@@ఐk?3current_module_nameDHD[@k'@@u)@@ఐd*class_declD\Df@6@@c:@)ParsetreeDgDp@(pci_nameDqDy@@@@Ǡ?@@@`@@@@R@#txtDzD}@1"@@ `@Z@@X@@h[@A@D(@@డCd%raiseDD@!@@@!@@@@@@|@g@@9_@@@3E EEE E E E E @y@@@@@@ภ'FailureEE@డX\@ B@ఐ~!fHH@/@@}k{@@@@@@v@@@q@@b@@@@@@_@ภ+HB@H@k@@@+@@*l@@ఐ)last_pos2H@HA@V@@]@,{@@ఐڠ!qHOHP@@@V@-@@HUHV@@@@HXHY@@@@@\@@@@@V@@ @@z@ @@@ @@@@@@@@AHh@@@\A@kZ@@@C@@B@@@A@@@@@@?@@>@@=V@7@@@H}%@@@@HH@@y#U@I3HHHHHHHH@@@@@ఐ'new_envHH@°@@ @@ఐ !fHH@@@ kH@@@X@@@W@@V@@@@U@@T@:k@@@S@@@R@@@Q@@PH"@@@O@@@N@@M@@L@@KC@1ภaHBrภ̰HH@@@@{@@@wV@{X@@@k̠@@@|\@@ఐof#locHH@oN@@zm@(LocationH H@)loc_startII@@{@@H@@@@@&LexingII"@(pos_cnumI#I+@@D&@@y@@@tV@V@@@ఐ5/class_decl_listI+,I,;@@@;hS@@@V@q@@@pV@V@@@@@yJ@m@@I?I@<@@@@6@ @@@ @@ x@ @@n9@Ġ)ParsetreeIW>FIX>O@/Pstr_class_typeI\>PI]>_@@;/Pstr_class_typem@|_6class_type_declaration@@@9@@@9@AK@O@A88@@@et@ఠ4class_type_decl_list mIx>`Iy>t@IA@@@@@@@@3I~I}I}I~I~I~I~I~@ow@@@@@. @@zt@@zt@@@@ఠ'new_env gII@IA@@bV@3IIIIIIII@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@JA@@D@@@Z@3JJJJJJJJ@%P@@@@@డGC$Name&concatJ":J">@ J"?J"E@@@@@D@@@@@@D@@@@@E@@@@@@@)@@ఐp3current_module_nameJ:"FJ;"Y@p@@{T6@@ఐc/class_type_declJK"ZJL"i@D@@G@)ParsetreeJT"jJU"s@(pci_nameJY"tJZ"|@@@@EE6@@@[@@@@_@#txtJj"}Jk"@"@@ [@g@@X@@kh@A@Jp"&@@డ.add_class_type(Odoc_envJ~#J#@ J#J#@@@ @@@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_listK&K&@n@@[R@@@W@)W@'B@@j @@Zz@A@K @@Aఠ!f kK(&K('@K-A@@%firstn@@@V@3@@@E@@D@@@@V@7@@C@=r@@@tV@ @@@ V@f@@@eV@;@@BJ @@@]@@@@V@=@@A@@@@@?3KRKQKQKRKRKRKRKR@@@@@@࣠>n }AఠB lCKe(*Kf(/@KxA@@DV@PV@M3KgKfKfKgKgKgKgKg@XSnaS@@@4@@5W@0@P@@8@M@@<;@@>W@9@@:W@1@@2W@-@j@k@@@ภ=K(0K(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,@LA@@V@h.@ఠ!q pK,K,@L A@@KZ@@@j=@@@@@>@@>@@@@ఠ$name qL -L-@L A@@@@@u@@@t\@r3LLLLLLLL@W3,@-@.(!@"@#@@@ఐ:/class_type_declL(-L)-@ @@9@)ParsetreeL1-L2-@(pci_nameL6-L7- @@@@' @A@L;-@@@ఠ-complete_name rLF.%LG.2@LYA@@G @@@\@x3LJLILILJLJLJLJLJ@6HA@B@C@@@డI$Name&concatL_.5L`.9@ Lc.:Ld.@@@@@@G?@@@@@@GF@@@~@@}GI@@@|@@{@@z)@@ఐs3current_module_nameL.AL.T@r@@}6@@ఐ$nameL.UL.Y@B@@|Gm@@@]@@@@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@@@@(<@@ภ(AsttypesM/aM/a@'VirtualM/aM/a@@@ @@>]@R@@)@@VS@A@M/aq@@@ఠ5tt_cltype_declaration tM0M0@M-A@@H 7@@@\@3MMMMMMMM@jxq@r@s@@@డJ3=search_class_type_declaration0Typedtree_searchM61M71@ M:1M;1%@@@EEE~@@@~@@@@@@@@@J@@@@@6@@@@@@@@&@&$@@@~4@@@Π~0@@@@@@@@@J@@@@@P@@@@@@@O@@ఐs%tableM}1&M~1+@s@@~\\@@ఐ$nameM1,M10@=@@wJD@@@]@]@@@@v@#txtM11M14@@@]@~@@m@@@Ġ)Not_foundM25LM25U@':@@@@L@@@ @@@డL"%raiseM3YmM3Yr@"߰@@@"@@@@@_@@@@@ภ'FailureM3YtM3Y{@డ !class_type_not_found_in_typedtree-Odoc_messagesM3Y}M3Y@ M3YM3Y@@@@@@x@@x@@@x@@x@@@@@@@@@@%@@$@@@#@@"@@ఐƠ-complete_nameN 3YN 3Y@Q@@H@@@/@@N3Y|N3Y@@@@@ @3`@,@@N3YsN3Y@@#?@@@_@@@k@@@@@N&1 @@@A@N(0 @@@ఠ5tt_cltype_declaration uN35N45@NFA@@9@@@;\@53N7N6N6N7N7N7N7N7@(!@"@#@@@ఐ.5tt_cltype_declarationNH5NI5@ @@+@@@7@,ci_type_declNR5NS5"@: @@@A@NV5@@@ఠ+type_params vNa6&:Nb6&E@NtA@@**@@@B@@@A\@>3NjNiNiNjNjNjNjNj@4B;@<@=@@@ఐH5tt_cltype_declarationN{6&HN|6&]@ @@@@@C@@@%TypesN6&^N6&c@+clty_paramsN6&dN6&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)/\|\)0\|\@@+@3(clty_uidS(!t@@@ @@GN@A):\\);\\@@+@@A)>[[)?[[@@+@ye@@@A@N6&6g@@@ఠ$kind wO7sO7s@OA@@kj@@@p\@D3OOOOOOOO@@@@@@డ7analyse_class_type_kind#SigO7sO7s@ O7sO7s@@@@@@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_envO|8O}8@%@@u@@ఐC-complete_nameO9O9@ΰ@@J`@@@~@@ఐ/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_declarationP < x P < x @@@v@@@@ @%TypesP< x P< x @)clty_typeP< x P < x @@@@@@@r]@]@ @@ @@%!@A@P,7s @@@@ఠ'com_opt xP;>  P<>  @PNA@@y:\@3P;P:P:P;P;P;P;P;@7F?@@@A@@@@ఠ,ele_comments yPK>  PL>  @P^A@@B @@@\@@@@\@@@P[>  P\>  @@@"@@@#@ఐ%firstPl?  Pm?  @ʰ@@/@@ఐvʠ+comment_optPz@  (P{@  3@v@@{=@@ภBP@  5P@  7@B@@@6G@@P@  'P@  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@@@@@&LexingQ B P QB P @(pos_cnumQB P QB P @@@:@@m@@@]@]@@@ @@\@]@@Q#?  @@@A@Q%>  @@@ఠ'com_opt zQ0D  Q1D  @QCA@@$#@@@@@@\@3Q8Q7Q7Q8Q8Q8Q8Q8@ @@@@@@@డ.analyze_alerts(Odoc_sigQOE  QPE  @ QSE  QTE  #@@@@@nk@@@@@@@@@@@@@@WV@@@@@@@@@@3@@ఐ?'com_optQzE  $Q{E  +@<@@>@@@ఐ/class_type_declQF , @QF , O@n@@O@)ParsetreeQF , PQF , 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@RH | @@@ఠ'new_ele |RI  RI  @R!A@@=@@@\@3RRRRRRRR@`ng@h@i@@@ภ2Element_class_typeR J  R!J  $@à(clt_nameR,L ; QR-L ; Y@ఐ-complete_nameR5L ; \R6L ; i@z@@M @@@$@(clt_infoRAM l RBM l @ఐ'com_optRJM l RKM l @@@@@@-@@@,\@.?@(clt_typeR\N  R]N  @డ0subst_class_type(Odoc_envRkN  RlN  @ RoN  RpN  @@ @@@@@@?@@>@ @@@=@@<9@@@;@@:@@9m@@ఐy #envRN  RN  @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  '@డQ;$List#mapRO  *RO  .@ RO  /RO  2@@@@@@Z@@@\@g@@j@@@_\@\@\@d@@i@@h@@@@f@@e@@@c@@b@@a@@డ*subst_type(Odoc_envSO  4SO  <@ SO  =SO  G@@@@@@@@@@@@@@@@@@@@@@@@@ఐ 'new_envS3O  HS4O  O@ܰ@@ @@S7O  3S8O  P@@@@@@@@@@@@@,@@ఐ점+type_paramsSMO  QSNO  \@C@@Pq@@@y]@]@A@@ @@m@@@^]@wH@+clt_virtualSeP _ uSfP _ @ఐ$virtSnP _ SoP _ @J@@@@@\@_@ (clt_kindS|Q  S}Q  @ఐ$kindSQ  SQ  @E@@ @@@\@v@'clt_locSR  SR  @ຠ(loc_implSR  SR  @ภ$SomeSR  SR  @MFఐz"#locSR  SR  @z @@@@@@|@@@\@@)loc_interSS  SS @ภ$NoneSS SS @N^@@@@@@@@@\@@@@SR  SS @@b@@@\@@@@SK % 9ST!6@@@@@\@@@@@@@@@A@SI   @@డR[!@SVJgSVJh@`@@@`[@@@@@@@  @@@@@]@@@@@@@3TTTTTTTT@@@@@@@ఐΠ,ele_commentsTVJZTVJf@ڰ@@&@@@\@\@@@ภT,VJrT-VJt@F-ఐ('new_eleT6VJjT7VJq@*@@\@/@ఐ +!fTEVJvTFVJw@ٰ@@ *w6 (@@@@@ @ #@@ @ @@  @@ @@ @@L@ :ภ7T/N@T/@wK =@@@!@@ Y@@ఐ)last_pos2ToVJxTpVJ@X@@ A]@"h@@ఐ!qT~VJTVJ@b@@ GV@#w@@TVJuTVJ@@ :z@@TVJiTVJ@@ @@@\@@@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@@FTX@@@E@@@D@@C@@B@@AC@ ภmTNภUXUX@@@@(@@@mV@qX@@@x@@@r\@@ఐ{#locU*XU+X@{@@=m@(LocationU3XU4X@)loc_startU8XU9X@@@@~@@@x@u@&LexingUGXUHX@(pos_cnumULXUMX@@z&@@@@@jV@yV@w@@ఐ 預4class_type_decl_listUaXUbX@ Ͱ@@G @@@{V@g@@@fV@|V@z@@@@J@c@@UuXUvX@@@@ ꠠ@ @@@ @@  )@ r @@{ @Ġ)ParsetreeUZUZ@,Pstr_includeUZ UZ@@;,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@P|@@@@@@@@@V@ o@񡠐'im_infoUbN\UbNc@ఐ|Q+comment_optVbNfVbNq@|9@@ @@@V_ Vct@@N @A@V^@@@@VeVe@@U@3VVVVVVVV@| f_@`@a@@@@ఐ|#envV!eV"e@|@@B@@ภDV+eV,eAH,ภ7Element_included_module V4e@ఐ"imV=eV>e@(@@X@@@U@U@2@@ @@U@5@ภDVPe%AH@&A@UJ@@@@U@E@@V[e0@@H@@@K@@VaeVbe@@@T@@@@V@d @@| @@@AVmIO @@@ @@@@|<@}A@@@@@@@@@@@@@@@@@@@@y@@@u@@@]@@@<@7@6@@@@@@@@@@@@@@@@@@@@J@}0@@U Vx \ 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@WA@@i3VVVVVVVV@Ds@@@@@@@@+module_name AWhGwWhG@WA@@s3VVVVVVVV@}@@@@@@@@+comment_opt AWhGWhG@W$A@@y3WWWWWWWW@@@@@@@@@-p_module_expr AW"hGW#hG@W5A@@3W!W W W!W!W!W!W!@@@@@@@@@.tt_module_expr AW3hGW4hG@WFA@@3W2W1W1W2W2W2W2W2@@@@@@@@@@ఠ-complete_name WFiWGi@WYA@@R @@@Q@3WJWIWIWJWJWJWJWJ@%@@@@@డT$Name&concatW_iW`i@ WciWdi@@@@@R?@@@ @@ @RF@@@ @@RI@@@@@@@)@@ఐ3current_module_nameWiWi@~@@6@@ఐ+module_nameWiWi@z@@C@@4@@GD@A@Wi@@@ఠ#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*@&LexingX k+XX k+^@(pos_cnumXk+_Xk+g@@>+@@<9@A@Xk+1@@@ఠ'pos_end X lkuX!lk|@X3A@@L@@@3XrXqXqXrXrXrXrXr@O]V@W@X@@@ఐS.tt_module_exprXoXo @4@@@)TypedtreeXo Xo@(mod_typeXoXo@@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 Y ssY ss@YA@@"U@@@MO@@@1Yss@@5@@@NT@@5@@@OW@@@@ఠ)loc_start Y"tY#t@Y5A@@N@@@^T@U3Y&Y%Y%Y&Y&Y&Y&Y&@|(!@"@#@@@ఐ2,pmodule_typeY;tY<t@@@"@@@[@Y@)ParsetreeYItYJt@(pmty_locYNtYOt@@3(pmty_loc"@@@95#!t@@@93@@A3)pmty_desc $X0module_type_desc@@@92@@@@A#r#r@@$\%@3/pmty_attributes@@@94@@B@A#t#t@@$e'@@A#s#s@@$i&@;'@@@@@]@ZP@(LocationYtYt@)loc_startYtYt@@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@Zu@@ภ$SomeZ vlxZ vl|@Sఐ=2get_string_of_fileZvl~Zvl@ʰ@@@":@@@v@@u@"7@@@t@@s"6@@@r@@q@@p3Z%Z$Z$Z%Z%Z%Z%Z%@x@@@@@@ఐ)loc_startZ7vlZ8vl@@@"[@@@T@T@@@ఐ'loc_endZKvlZLvl@!@@"e@@@T@T@+@@ZVvl}ZWvl@@.@@O@@U3@@@n3@[@@@@@4@@ZewZfw@@7@@@Q@@7@@@R@@@ภ$NoneZsxZtx@U @@@@@@AZwr>F@@@A@Zyq&,@@@ఠ+comment_opt ZzZz@ZA@@%x%w@@@@@@Q@3ZZZZZZZZ@@@@@@డ#.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 [}BL[}BR@[A@@@@@ Q@3[[[[[[[[@z@@@@@/&m_name[_i[_o@ఐ٠-complete_name[_r[ _@w@@@@@ Q@@ȡ&m_type[-[.@ఐȠ'modtype[6[7@@@@@@Q@4@֡&m_info[D[E@ఐɠ+comment_opt[M[N@C@@@@@ @@@Q@!O@ࡠ.m_is_interface[_[`@ภM[f[g@M@@@@@@)Q@-d@顠&m_file[t[u@డY[~[@@@@@@@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|@ภNj\0h\1h@Ni@@@@@@@@@Q@2@&m_code\B\C@ภ$None\J\K@V@@@@@@@@@Q@L@+m_code_intf\\\]@ఐĠ+m_code_intf\e\f@԰@@@@@@@@Q@g@+m_text_only\w \x@ภN\~\@N@@@@@@Q@|@@@\~U]\!(@@@A@\}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 ]3]4@]FA@@@@@T@'@@]?]@@@@@@@@@3@@@%]I@@@@@8@@]N]O@@@=@ @@A@ @A@@Ġ)Parsetree]d]e@*Pmod_ident]i]j@@w@]o]p@@yw@@@@@@c@@@ @@:*@@@g@@Ġ)Typedtree]]@/Tmod_constraint]]@@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@ ^1o^2o@@@@@@dx@@dw@!t@@@dv@@du/@@@dt@@ds@@dr@ggN@@K@!@@@@@@S@@R@@@@Q@@PE@@@O@@N@@MB@@ఐ#env^io^jo@v@@O@@డ[$Name)from_path^|o^}o@ ^o^o@@ @@@ @@@o@@nY_@@@m@@lq@@ఐe$path^o^o@{@@ @@@|U@~U@}@@^o^o@@Yy@@@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_18_2A@ภ$None_9D_:H@Y@@@:J@@@@@@R@@@@_F_GL@@b@@@R@$@@k@@@@@R@*@ @@@R@A@@@@@@R@A@@@@@@R@A@@@@@@R@A@@@R@@@ఐ&m_base__@@@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`I`J@ V@@6@@ఐ -complete_name`V`W@@@[-@@@F@@ఐ)pos_start`f`g@=@@T@U@@ఐU'pos_end`u`v@@@T@d@@ఐ +p_structure``@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 ``@aA@@`P}@@@PS@83````````@I[T@U@V@@@ఐ<>replace_dummy_included_modulesaa@@@@SA7@@@=@@@B@@A@SL-@@@@@@@?@@>`y@@@<@@;@@:)@@ఐ(elementsa+a,@{@@6@@ఐ8included_modules_from_tta8a9@@@@SuV@@@T@@@ST@[T@YN@@C@@SO@A@aH@@/@@@uR@s@@@@yR@wA@@@@@@~R@{A@@@R@@@@@R@@*&m_kindayaz@ภ-Module_structaa+@ఐ)elements2a,a5@@@@@@@@lR@oR@n3aaaaaaaa@ @@@@@@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,2,3%@@@-a@ఠ¶m2 b9Zb9`@b)A@@@@@-3bbbbbbbb@@@@ఠ.p_module_expr2 b%9bb&9p@b8A@@@@@.@@@7b-9q@@>@@@/@@Ġ)Typedtreeb;s|b<s@,Tmod_functorb@sbAs@@yఠ%param bJsbKs@b]A@@@@@44@ఠ/tt_module_expr2 bXsbYs@bkA@@X@@@5B@@@%b`s@@(@@@6G@@be9Abfs@@@=@ @@7P@ @@?"@@@9@=@@@:@@8\@@@@@ఠ#loc bb@bA@@@@@S@3bbbbbbbb@|@}@~un@o@pQJ@K@LD=@>@?@@@@ఠ'mp_name bb@bA@@]{@@@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@$Unitcc #@@;$Unit#@@@9G@@@@AA@A-O-P@@@. /@@@ @@,@@@@@Ġ)Typedtreec:%c;.@$Unitc?/c@3@@;$Unitw@@@2@@@@AA@A]?-?/]?-?5@@@^3@@@ @@@@@@@7@@@(@ @@@@@Z@@@Š@@@@@@@@@@డ(Location$none(Locationct7Fcu7N@ cx7Ocy7S@@@@@$@~ ; ;~ ; G@@D@ @@@@!*c7Vc7W@@c7Uc7X@@S@ @@ภ2Module_type_structc7Zc7l@ภU۰c7mc7o@U@@@à@@@@@@U@@@ @@%@@@!@@ภ$Nonec7qc7u@^O@@@^@@@0@@M@@@:@"@@@@;@@Ġ)Parsetreecvcv@%Namedcvcv@@;%Named@#loc@@@9E@@@9D@@@9C->@@@9F@B@AA@A.!-/."-Y@@@.0@@dvdv@@@@@@@@@@@@ఠ$pmty dvdv@d(A@@-a@@@)@@@Bdv@@@@@.@@Ġ)Typedtreed+vd,v@%Namedd0vd1v@@;%Named@][^!t@@@-@@@,^#loc]l^@@@0@@@/@@@.W@@@1@C@AA@A^?6?8^?6?s@@@_A@ఠ%ident davdbv@dtA@@/.@@@@@@y@@dovdpv@@/-,@@@@@@@@@@ఠ#mty dvdv@dA@@W@@@@@@`dv@@@@@@@@@@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@@@డcf&Option$foldee@ ee @@$none!a@+*@@+$some@!b@+-@@+@@+@@+@\ @@@+@@+@@+@@+@@+@\x\x @@\K@.)@@&GV@'@@."@^@@@SV@*@@-@@,@@+@! @@@)@@(@@&@@%@@$Y@A!*eR(eS)@@eU'eV*@@$V@Dg@Eడb$Name*from_identef1eg5@ ej6ek@@@^@@@^@@@O@@N`I@@@M@@L@@ఐ!%identeAeF@ʰ@@dO@@@?W@XW@V@@ @@[@A@e @@@ఠ'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@+ภIe`@e@+,NР+@+쐐+,L@@@@@@@@@A@@@@@@@@@@@x@@ఐH#envf%gf&g@2@@@@ఐF3current_module_namef2gf3g@.@@@@ఐ*$pmtyf?gf@g@@@,b@@@W@W@@@ఐҠ#mtyfUfV@@@Y@@@@@(mty_typefafb@+@@,|@@@W@W@@@ @@@A@fmJY @@@ఠ'mp_type fxfy@fA@@@@@V@3f|f{f{f|f|f|f|f|@@@@@@డ$1subst_module_type(Odoc_envff @ f f@@@&@@@d@@d@$+module_type@@@d@@d@@@d@@d@@d@$H L L$H L @@&U@!@@@&@@@@@@@@@@@@@@@@@@B@@ఐ#envff@ڰ@@MO@@ఐY#mtyf f#@#@@Z9@@@@c@(mty_typef$f,@,F@@K@@@W@W@q@@b @@ur@A@f @@@ఐT#locg0?g0B@@@xU@3gffggggg@@@@@@@ఐ)'mp_nameg0Dg0K@n@@m@@ఐ'mp_kindg0Mg0T@@@jU@@@ภ$Someg*0Vg+0Z@`ʠఐ'mp_typeg40[g50b@/@@i2@@@@boS@@@@8@@> @@@?@@&@@@C@U@@ @@@ @@@ Z@o@@@@@gVcrgWcs@@W@@@h@@@g_cug`cv@@@@@q@@@@@@ @@x@@@n@@@@@@@@@@@@ ภYg~cgc@Y@@@Y@@@@gcz@@@@@Ag @@@@頠@ڠ@@@@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@hA@@@@@S@3gggggggg@Uc\@]@^@@@ఐ#loch h @_@@@@@@@(Locationhh@'loc_endhh@@@@b@@@@*@&Lexingh+h,@(pos_cnumh0h1@@^+@@<9@A@h5@@@ఠ,mp_type_code h@*hA6@hSA@@0U@@@S@3hDhChChDhDhDhDhD@O]V@W@X@@@ఐ)|2get_string_of_filehU9hVK@) @@@0y@@@@@@0v@@@@@0u@@@@@@@ @@ఐՠ)loc_starthsLhtU@x@@0@@@T@T@4@@ఐ'loc_endhVh]@>@@0@@@T@T@H@@= @@LI@A@h& @@@ఠ%param  haphau@hA@@cw0module_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_codeii@ఐؠ,mp_type_codeii@o@@P@@@ S@!w@L'mp_kindi&i'Aఐ} @@@@@'S@(@@@i4xi5 @@@A@i7al@@@ఠ3dummy_complete_name àiB  +iC  >@iUA@@@@@-S@*3iFiEiEiFiFiFiFiF@@@@@@ఐ%paramiW  ViX  [@ @@@@@.@,@'mp_nameic  \id  c@@@@A@ig  '@@@ఠ'new_env Ġir  is  @iA@@(@@@CS@/3iviuiuiviviviviv@1?8@9@:@@@డ'*add_module(Odoc_envi  i  @ i  i  @@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_envj ! j !@1@@9T@}6@@ఐ*3current_module_namej!!!j!!4@@@C@@ఐ&+module_namej#!5!Dj$!5!O@@@P@@ภ$Nonej/!P!_j0!P!c@d@@@0J@^@@ఐ.p_module_expr2j>!d!sj?!d!@@@GT@m@@ఐ/tt_module_expr2jM!!jN!!@@@T@|@@q@@}@A@jT  @@@ఠ$kind Ơj_!!j`!!@jrA@@@@@S@3jcjbjbjcjcjcjcjc@@@@@@ఐ'm_base2jt!!ju!!@ @@@&m_kindj{!!j|!!@3 @@@A@j!!@@//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@]@k9!!k:!"@@`@@@@@@g@y@@@@@@ @@@@@@ @@G@\ @@@ @@@@Ġ)ParsetreekV"""kW""+@*Pmod_applyk["",k\""6@@;*Pmod_applyv@@@@9@@@9@BC@H@A5LN5Lw@@@6ab@ఠ.p_module_expr1 kt""8ku""F@kA@@@@@_T@H3kxkwkwkxkxkxkxkx@@@@ఠ.p_module_expr2 k""Hk""V@kA@@@@@`T@I@@@9k""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""@l A@@~@}.p_module_expr2l""l""@lA@@z@@@l""@@H@@@a@@Ġ)Typedtreel""l""@/Tmod_constraintl""l"#@@ঠ)Typedtreel'##l(##@(mod_descl,##l-##!@@Ġ)Typedtreel7##$l8##-@*Tmod_applyl<##.l=##8@@=/tt_module_expr1lE##:lF##I@lXA@@@/tt_module_expr2lO##KlP##Z@lbA@@@@lV##\lW##]@@0@@@s@@@%l\##^@@$@@@t@@@la## lb##_@@b@@@vU@u@@lk##all##b@@R@@@w@@ls#d#plt#d#q@@S@@@x@@l{#d#sl|#d#t@@U@@@y@@@ml#d#u@@I@@@z@@l""l#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@@ภ$Nonem#$m #$@g@@@ J@b@@ఐ.p_module_expr1m$$m$$"@i@@JxT@q@@ఐz/tt_module_expr1m&$#$1m'$#$@@v@@yT@@@o@@w@A@m-##@@@ఠ"m2 Ƞm8$N$\m9$N$^@mKA@@KrS@3m8m7m7m8m8m8m8m8@@@@@@ఐˠ.analyse_modulemI$N$amJ$N$o@ϰ@@@@@@@@@@@@@@@@@@@@@@@@ @@ @@ @@ @@ '@@ఐ#envmn$p$~mo$p$@{@@4@@ఐ3current_module_namem{$$m|$$@w@@A@@ఐ+module_namem$$m$$@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"m1n %%Hn%%J@а@@g3n n n n n n n n @@@@@@&m_kindn%%Kn%%Q@ϰ @@@@@HR@MR@K@ఐ"m2n+%%Sn,%%U@@@@&m_kindn2%%Vn3%%\@ @@@@@IR@QR@O,@@Kn=%%]@@@@@AR@G3@@@@nR@lA@@@t@@@sR@pA@@@z@@@yR@vA@@@@@@R@|A@@@R@@@ఐy&m_basenz%%%n{%%+@ݰ@@%@@@R@~R@St@n%%#n%%_@@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@@e;@@@T@'@@@ @@­@@@+@@n%a%in%%@@@0@ @@4@ @4@@Ġ)Parsetreeo%%o%%@/Pmod_apply_unito%%o%%@@eZ.p_module_expr1o%%o%%@o!A@@WT@@@@@K@@@X@@Ġ)Typedtreeo %&o!%& @/Tmod_constrainto%%&o&%&@@ঠ)Typedtreeo3&&,o4&&5@(mod_desco8&&6o9&&>@@Ġ)TypedtreeoC&&AoD&&J@/Tmod_apply_unitoH&&KoI&&Z@@ v/tt_module_expr1oQ&&[oR&&j@odA@@s@@@@@@@@@@@oZ&&*o[&&k@@e@@@U@@@od&&moe&&n@@K@@@@@ol&p&|om&p&}@@L@@@@@ot&p&ou&p&@@N@@@@@@Zoz&p&@@B@@@@@o%%o&&@@@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_expr1p '' p ''.@g@@MmT@m@@ఐ?/tt_module_expr1p'/'=p'/'L@u@@nT@|@@o@@l}@A@p"&&@@/Ҡ@@@R@@Π@@@R@A̠͠@@@@@@R@AƠ@@@R@@@@@R@@&m_kindpS'Z'rpT'Z'x@ภ1Module_apply_unitp['Z'{p\'Z'@;1Module_apply_unit\@@@@?@AD@I@Agv  hv  :@@@k6f@ఐԠ"m1pr'Z'ps'Z'@@@հ@@3pqpppppqpqpqpqpq@@@@&m_kindp|'Z'p}'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''@qA@@O@@@3pppppppp@Z@@@ఠ)p_modtype p''q''@qA@@:K@@@@@@&q''@@M@@@@@Ġ)Typedtreeq''q''@/Tmod_constraintq''q''@@ ఠ/tt_module_expr2 q$''q%'( @q7A@@g@@@4@ఠ*tt_modtype q2'(q3'(@qEA@@@@@B@@q<'(q='(@@@@@J@@qD'(qE'(@@@@@R@@@5qJ'( @@@@@W@@qO''qP'(!@@@M@ @@`@ @@N @@@ࠠ@'@@@@@l@@@@ఠ'm_base2 ʠqm(%(3qn(%(:@qA@@OwS@3qmqlqlqmqmqmqmqm@@@}v@w@xYR@S@TLE@F@G@@@ఐ.analyse_moduleq(%(=q(%(K@ @@@@@ @@@ @@@ @@@ @@@@@@@@@@@@@@@@@@-@@ఐ̠#envq(L(Zq(L(]@@@):@@ఐʠ3current_module_nameq(^(lq(^(@@@/G@@ఐƠ+module_nameq((q((@@@5T@@ภ$Noneq((q((@le@@@J@.b@@ఐ.p_module_expr2q((q((@i@@O?T@/q@@ఐɠ/tt_module_expr2q((q((@v@@@T@0@@o@@>@A@q(%(/@@@ఠ&mtkind ˠq()r() @rA@@9B@@@gS@13rrrrrrrr@@@@@@డ: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ภUr4l@r4@8Z8Р8R@8Q8P8@@@}@@@|@@@{A@@@z@@@y@@@x@@wx@@ఐ#envr())r(),@@@ @@డo$Name&concatr)-)<r)-)@@ r)-)Ar)-)G@@ 1@@@m}@@@@@@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@s(( @@@ఠ*tt_modtype ̠s))s))@s#A@@H@@@S@3ssssssss@ @@@@@డ01subst_module_type(Odoc_envs)))s*))@ s-))s.))@@ @@@2@@@@@@ @@@@@q@@@@@@@)@@ఐo#envsL))sM))@Y@@6@@ఐ'*tt_modtypesY))sZ))@@@ @@@T@T@J@@; @@NK@A@se)) @@ డq  sr))ss))@ @@@ G@@@S@S@@@@@@@@3ss~s~sssss@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_typet **t **@ఐ*tt_modtypet**t**@@@@@@ R@ @@@@,@@@+R@(A@@@0R@.@@@@4R@2@&m_kindt<**t=**@ภ1Module_constrainttD**tE**@;1Module_constraintE@@@@B@@@C@BF@I@ATx h jUx h @@@o#h@ఐ'm_base2t_**t`**@W@@@&m_kindtf**tg**@ @@@@@R@R@@ఐy&mtkindtx**ty**@_@@@@@R@R@@@?t**@@7@@@R@@@@@:R@8A@@@@@@@?R@@@@r@@@duj ++@@2@@@w@@uo**up ++@@@|@ @@@ @@R,@@@@G@@@@@@@@@ఠ(elements ͠u++u+,@uA@@S@R3uuuuuuuu@@@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_structurev+,;v+,F@n@@~@@@v@@ఐڠ,tt_structurev+,Gv+,S@}@@T@@@v@@@A@v++@@@ఠ8included_modules_from_tt Πv$,,v%,,@v7A@@'A@@@@@@S@3v,v+v+v,v,v,v,v,@@@@@@ఐe;tt_get_included_module_listv=,,v>,,@K@@@Ȣ@@@@@'^@@@@@@@@@@ఐ ,tt_structurevX,,vY,,@ð@@Ƚ@@@T@T@1@@& @@92@A@vd,, @@@ఠ)elements2 Ϡvo,,vp,,@vA@@uѠ@@@S@3vtvsvsvtvtvtvtvt@I[T@U@V@@@ఐĽ>replace_dummy_included_modulesv,,v,-@@@@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#envw-X-w-X-@ @@@@ఐʠ*tt_modtypew-X-w-X-@@@@@@S@S@$@@> @@@@@S@*@ĠŠ@@@@@@R@A@@@ R@@@@@R@ @&m_kindwK--wL--@ภ-Module_structwS--wT--@Tఐ)elements2w]--w^--@[@@]@@@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 x-.x-.!@xA@@p@@@%@ఠ*tt_modtype x-.#x-.-@x%A@@ɡ@@@3@@@%x-..@@@@@8@@x--x -./@@@=@ @@A@ @@T@@@ @@@@!@@M@@@@ఠ$code Рx=.3.Ax>.3.E@xPA@@&stringQ@@@mS@,3xDxCxCxDxDxDxDxD@rk@l@mNG@H@IA:@;@<@@@@ఠ#loc ѠxZ.H.Xx[.H.[@xmA@@UA@@@/T@-@ఐ!M-p_module_exprxl.H.^xm.H.k@!5@@&@)Parsetreexu.H.lxv.H.u@(pmod_locxz.H.vx{.H.~@@U9@@5@A@x.H.T@@@ఠ'loc_end Ҡx..x..@xA@@$@@@7T@13xxxxxxxx@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@@@@@3yyyyyyyy@9G@@A@B@@@ఐO'exp_locy'./y(./@@@%@@@C@A@(Locationy5./ y6./(@'loc_endy:./)y;./0@@%@@%@@@E@B*@&LexingyI./1yJ./7@(pos_cnumyN./8yO./@@@%|+@@<9@A@yS./@@@ఠ!s ՠy^/D/Ty_/D/U@yqA@@As@@@ZT@F3ybyayaybybybybyb@O]V@W@X@@@ఐ:2get_string_of_fileys/D/Xyt/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@@@`@@_@@]3zzzzzzzz@@@@@@@ภ8CamlinternalFormatBasicsy&Formatyz//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{//{//@@@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|A%0n0@%M@@@@డy$Name)from_path|S%0n0|T%0n0@ |W%0n0|X%0n0@@@@@@@@ @@ w6@@@@@2@@ఐ!p|o%0n0|p%0n0@<@@@@@W@W@F@@|z%0n0|{%0n0@@wP@@@L@@@@M@@|&00|&00@@@@@ @@@@@ @@@ |&00@@|&00|&00@@@@@A|#0/0;@@@A@|"00$@@@ఠ%alias |(00|(00@| A@@w~1module_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}:}9}9}:}:}:}:}:@@@@@@@ఐ&o#env}L*101`}M*101c@&Y@@@@ఐG*tt_modtype}Y*101d}Z*101n@ @@@@@kS@pS@o$@@> @@@@@US@i*@@@@@@@R@A@@@R@@@@@R@@9&m_kind}+1q1}}+1q1@ภ-Module_unpack}+1q1}+1q1@;-Module_unpackƑ@ @@@E@@@F@BH@I@A͡z  ͢z  @@@xpj@ఐ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@~5A@@Z@@@+!@@ఠ*_typedtree ~1.11~2.11@~DA@@@@@,!@@~9.11~:.11@@@@ @@-!@ @@Z@@@/@@@@0@@.!@@@డ|%raise~V/11~W/11@S{@@@S{@@@@@S@@@3~]~\~\~]~]~]~]~]@!G@@A@B92@3@4@@@@ภ'Failure~p/11~q/11@E 4analyse_module: parsetree and typedtree don't match.~x/11~y/12#@@~{/11~|/12$@@N@@@S@S@"@@~/11~/12%@@S@@@S@*@@7@@+@@@A~28 @@3~~~~~~~~@!@@@" @@#@# @@$@$ @@%@%@@&@&2@@&l@&@@&@&@@&@'@@'I@'A@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@J@'@@}~ 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@qU$12'2,%K7n7v@@@@@  @@*input_file A012'2O112'2Y@CA@@J3/../////@!]@@@@@@@@)parsetree AA22Z2dB22Z2m@TA@гQ)ParsetreeP22Z2pQ22Z2y@VT22Z2zU22Z2@@@`@@@3UTTUUUUU@'3s@*@+@@ @@_22Z2c`22Z2@@@j@@@@)typedtree Ak22Z2l22Z2@~A@гk)typedtreex22Z2y22Z2@@s@@@3xwwxxxxx@$E@@@@?@@@@  @@22Z222Z2@@@ @@@@@@ఠ.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_info263,3B363,3K@ 663,3L763,3c@@@b@@@@@$@@@@@@5parsing/unit_info.mliii@@hK@@@@r@@@@@4@@@@@2@@ఐE+source_file^63,3d_63,3o@*@@?@@0@@E@@A@c63,33@@@@ఠ#len (r73s3~s73s3@A@@H(@@@FO@3vuuvvvvv@jc@d@e@@@@ఠ(info_opt )73s373s3@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@@@@@డ.@.B%73s3&73s3@.?@@@.?I@@@RP@bP@U@@@W@@V@@T@@ఐB)file_nameA73s3@BP@@.Z@@@^Q@aQ@_@@' @@@@డ.r.tW73s3X73s3@.q@@@.qI<@@@PP@rP@e@@@g@@f@@d@@ఐCK$files73s3@B԰@@.@@@nQ@qQ@o@@' @@@@࣠@!x *A833833@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@@@@@@@@@tKM@@@@@@@@M M @@@@@@@@@@.@@ఐ(info_opt-934.934@6@@MGMD@@@@@@P@P@F@@ఐ)parsetreeE934F934#@Ȱ@@Q@@@V@@I@@^W@A@M933@@@ఠ(elements ,X;4Z4eY;4Z4m@kA@@tЊ@@@@@@O@3`__`````@q|@}@~@@@ఐ1analyse_structureq;4Z4pr;4Z4@@@@A@@@@@@}S@@@@@@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@@డ0R0T7;4Z48;4Z4@0Q@@@0Q;@@@|Q@Q@@@@@@@@~@@ఐE+$fileS;4Z4@D@@0l@@@R@R@@@' @@@@_;4Z4`;4Z4@@Kx@@@@Q@z@@ఐ4)parsetreer;4Z4s;4Z4@@@@@@P@P@@@ఐ.tree_structure;4Z4;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@@J@@@@@@O@3@L^W@X@Y@@@ఐ9>replace_dummy_included_modules=5$5;=5$5Y@΍@@@v>4@@@@@@@@@vI*@@@@@@@@v@@@@@@@)@@ఐР(elements(=5$5Z)=5$5b@~@@veA@@@P@P@>@@ఐ8included_modules_from_tt==5$5c>=5$5{@H@@vz[@@@@@@P@P@V@@K@@^W@A@M=5$5+@@@ఠ$kind ϠX>55Y>55@kA@@@@@O@3\[[\\\\\@mx@y@z@@@ภ-Module_structj>55k>55@kఐ)elements2t>55u>55@@@tҧ@@@@@@O@O@!@@@@4@@@%@A@>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@ภwC664C669@w@@@΀@@@N@_@z&m_fileD6<6ED6<6K@డx2*2,D6<6ND6<6O@2)@@@2)Γ@@@N@"@@@$@@#@@!@@ఐF)file_name)D6<6X@F8@@2B@@@+O@.O@,@@% @@@론&m_kind:E6[6d;E6[6j@ఐ렐$kindCE6[6mDE6[6q@@@@@@4N@5@κ%m_locQF6t6}RF6t6@ຠ.(loc_impl\F6t6]F6t6@ภ$SomedF6t6eF6t6@డ"'in_file(LocationtF6t6uF6t6@ xF6t6yF6t6@@@&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@ภxF G66 G66@xE@@@qp@@@@@@N@x@k&m_codeH66H66@డ3E3G*H66+H66@3D@@@3DY@@@N@N@@@@@@@@@@డ3-)keep_code+Odoc_globalJH67 @ MH67 NH67@%@3+&@@3h$@@@O@O@@@0 @@&@ภ$Some`H67aH67@డ33kH67lH67@3@@@3@@@N@N@N@@@@@@ @@@@ఐHa$fileH67#@G@@3@@@O@O@@@) @@@@5 @@@@@N@@ภ$NoneH67)H67-@8@@@N@@H66H67.@@ @+m_code_intfI717:I717E@ภ$NoneI717HI717L@N@@@@@@@@@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@@@@+ @ @@MGA@5@RpQR_/@@RWO@O@@ O@@@321122222@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@@UV S@@Y R@@]xQ@@^ұP@@_mO@@`ױN@@dM@@eEK@@gH"J@@hK%I@@iv(H@@l+G@@$.F@@1E@@B4D@@˱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  K KN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ $* Analysis of implementation files. { * 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. SV " FIXME when we will handle tuples *wd+wd@ 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 H&?&KI&?&@ ) a () argument, it never has description N&&O&'@ 2 implicit pattern matching -> anonymous parameter T''U'('@ * 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. ]5+, ^<--@ - FIXME: ppxes/camlp4 can generate this case. c@.c.od@.c.@ H implicit pattern matching -> anonymous parameter and no more parameter iC./jC./P@1 FIXME : label ? oD/Q/]pD/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 xV2M2XyV2M2w@2 create the value ~a4/4:a4/4P@8 a new value is defined p6U6`p6U6|@= new identifiers are defined : :: :9@ K FIXME : by now we don't accept to have global variables defined in tuples :::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 kWki kWk@. 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 &rs'rs1@ V FIXME : Unfortunately, we don't have a Tclass_ident :-( even for a class tutu = toto ,sEsU-sEs@ . we try to get the name from the environment. 2tt33tte@ we don't care about these lets 8x:xD9x: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 DzzE{{@ 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 ? S<OcT<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 bc@ 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 no@ + of rec_flag * (pattern * expression) list tZduZ@ 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 z{X@ " FIXME when we will handle tuples .@ ; we already have the optional comment for the first value. yy@? of string * value_description 77 @ % of (string * type_declaration) list QxQx@ 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. %523&523+@ ' we must complete the included modules +:4'4.,:4'4Y@@(./ocamlc)-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_events"-cfg H/home/touraine/ci/builds/workspace/main/flambda/false/label/ocaml-arm-32 <10/.-,+*)('&%$#"! @@02Q&|L# 3~~@}@@0eT$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?)]O70>@ӽX4IdS0Lt.`?9:777Đ0=V0^@GD--0C:K}Ŗ%0/-05ɍM!W)Odoc_name0 d L_,0n6sApTTE0A6}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@IS:Dpp@q[qe v @Ց@RS@99ww@YDYN`[`e@#@@ff@q‘q̰9ϑ9@))P==@@^h)Hbc@@%Z%d  @@!y!IBIL@@fIfSvvְ5?6@%@*4@@HEHj''@@@@>M>W@͏͙ E@GnGx@#U#_Vdt~e%e/@@@ƆƐ@  BLhohy@YY@@dn -@@@ܑ@NO@@ @@**@00@@5?i(@i\if@bݑ  @zz%pp#@@@ B Lӑݰ$$kđk@ ڑ @ZZ@(20NN˓T@<<33@@LL4Y4c~@.9.C @ݑ"["i3@@'1@‘@aՑa@͑װUU @@@))!ܒX@@@&@)ؑ)A1A;@ͯ͹99@4>3L3V5?y@@n2n<@  ] ]/ۑ@Fd@:ӑ:ݰ!/@@8B"<MXMb@@TUW W@OO {@ @k%k/@@@6@@X X@@@@@dd dud@b3b=e)e3s}^^@>GnG|iiLjLt@@NmNw@*^6@i@iJ@Z[55@^^@Gu@@@D!D+@5A5K"("2@bbΑذ@ (6(@jjgq@Ƒа@@^6^@@,,55BLL@xS@QQLZXUX_@@%F%P__KU@&0@,T,^[er|ё@@%/@@0:@z6zDt~!!NN@@NX77r@T^YYYc@;;@V@VJ@@ *.l.vnn@@}@@@@>@@5L5V@v;;@@8B>ґ>@%Q%[@@cґc@55@@@LV@//@DDLMll@@55@G/G9'4@@$ё$۰*n*@w{w@m'm1@z@溑İ j t@XX@AqA{%bS@4ӑ4@ ԑ @_ݑ_@@w7~@LL°ZёZ @@.).3*4@@@Z@N.N8@@33@$v$hr@z(28NN@bͰ  @̰ʑ@ttwKwU@@ii@tT^@&Ƒ&а(XbVޘV@@U@@%ݑ%@@P@W#DWW@@@@@@A@@@AD@}A@OBG@@@FB>@@@/B'@@@ABCB@@@~Bv@@@0B(@@@AzBr@@@UBM@@@ABCD@@d@d@@@`@`@@@ABCk-@k*@@@g@g@@@An]@nZ@@@\@\@@@ABDp@p@@@oi@of@@@f@f@@@Alq@ln@@@f@f@@@ABCA@@@tAI@@@sK@sH@@@ABDE@@B A@@@C@@