Caml1999I0310"!+Odoc_moduleӠ&StringA$Misc&Stdlib&String@.odoc_module.mlP77P7Y@@@@Ӡ$NameA)Odoc_name@TT@ A@@.module_element8@@.Element_module^(t_module@@@@@$X%X@@6L3Element_module_type_-t_module_type@@@@@4Y "5Y H@@FM7Element_included_module`/included_module@@@@@DZIKEZIw@@VN-Element_classa*Odoc_class't_class@@@@@V[xzW[x@@hO2Element_class_typex,t_class_type@@@@@f\g\@@xP-Element_valuey*Odoc_value't_value@@@@@x]y]@@Q6Element_type_extension.Odoc_extension0t_type_extension@@@@@^^7@@R1Element_exception.Odoc_exception+t_exception@@@@@_8:_8k@@S,Element_type)Odoc_type&t_type@@@@@`ln`l@@T6Element_module_comment*Odoc_types$text@@@@@aa@@U@@A@@@@@W@@@@BA@#mmt8@@#Mod@@@@@e e@@V'Modtype@@@@@ff7@@W@@A@@@@@d@@@@CB@8@@'im_name@!t@@@iQUiQg@@ X)im_moduleA&optionJ@@@@@@@ j j@@Y'im_infoA_$info@@@@@@kk @@0Z@@A@@@@@"h99#l@C@@@@4DB@,module_alias8@@'ma_name@>!t@@@5oZ^6oZp@@G[)ma_moduleA=;@@@@@@EpquFpq@@W\@@A@@@@@InEEJq@@@@[EB@0module_parameter8@@'mp_name@&stringO@@@]t^t @@o^'mp_type1@e%Types+module_type@@@@@@ru  su  B@@_,mp_type_code2@#@@@~v S Wv S n@@`'mp_kind3@0module_type_kind@@@w  w  @@a@@A@@@@@sx  @@@@FB@+module_kind8@@-Module_struct4$listI@@@@@@@@|  |  1@@b,Module_alias5@@@@@} 2 4} 2 R@@c.Module_functor6w@@@Ƞ5@@@@@~  ~  @@d,Module_apply7@@@Ơ@@@@@    @@e+Module_with8a@@@Ġ@@@@@@  @  @@f1Module_constraint91@@@ w@@@@@A  "A  W@@g-Module_typeof:@@@@@B X ZB X s@@ h-Module_unpack;@@@1module_type_alias@@@@@#C  $C  @@5i@@A@@@@@'{  @@@@8GB@ 8@@&m_name<@@!t@@@ڰ7G B F8G B W@@Ij&m_type=A+module_type@@@ٰEH X \FH X @@Wk&m_info>AM$info@@@@@@ذXI  YI  @@jl.m_is_interface?@$boolE@@@ְfJ  gJ  @@xm&m_file@@@@@հrK  sK  @@n&m_kindAA@@@԰}L = A~L = _@@o%m_locBA(location@@@ӰM ` dM ` @@p*m_top_depsCA!t@@@@@@ҰN  N  @@q&m_codeDAR@@@@@@аO  O @@r+m_code_intfEAc@@@@@@ΰP48P4]@@s+m_text_onlyF@g@@@̰QQ@@t@@A@@@@@F 1 1R@@@@HB@8@@(mta_nameG@!t@@@ݰUU@@u*mta_moduleHA@@@@@@ܰVVE@@v@@A@@@@@TW{~@@@@IB@q8@@2Module_type_structIb`@@@@@@@@ [ [@@w3Module_type_functorJQ@@@@@@@@\\*@@-x1Module_type_aliasK@@@@@(]+-)]+U@@:y0Module_type_withL@@@@@@@@:^;^@@Lz2Module_type_typeofM@@@@@H_  I_ *@@Z{@@A@@@@@LZ@@@@]JB@ 8@@'mt_nameN@e!t@@@\c]c@@n|'mt_infoOAd$info@@@@@@odpd@@}'mt_typePAw+module_type@@@@@@ee@@~/mt_is_interfaceQ@*@@@f;?f;W@@'mt_fileR@?@@@gg@@@'mt_kindSA @@@@@@hh@@A&mt_locTA(location@@@jj@@B@@A@@@@@bk@@@@KB@&values@$listI'@@@@@@$listIgd@@@@@@@@@q;?q;E@@C@%types@ D@@@@@@KH@@@@@@@@@||@@H@/type_extensions@:^@@@@@@7@@@@@@@@@ @@"M@*exceptions@Tx@@@@@@Q@@@@@@@@@*+@@<R@'classes@n@@@@@@k@@@@@@@@@DE@@VW@+class_types@@@@ @@@ @@@ @@@ @@ @^_@@p\@'modules@@@@@@@U@@@@@@@@@wx@@a@)mod_types@@@@@@@^@@@@@@@@@x|x@@f@(comments@Ԡ@@@@@@Ѡ@@@@@@@@@fjfr@@k@0included_modules@@@@@@@@@@@@@ @@!@VZVj@@p@4module_type_elements%transРt@@@"@@@#@@@@$><@@@%@@@&@@'@@(@@@u@/module_elements%trans#"@@@)@@@*@@@@+_\@@@,@@@-@@.@@/@ W [ W j@@@-module_values%transCB@@@0@@@1@@@@2N@@@3@@@4@@5@@6@'.'((.'(@@9@0module_functions%transdc@@@7@@@8@@@@9y*Odoc_value't_value@@@:@@@;@@<@@=@M2((N2((@@_@4module_simple_values%trans@@@>@@@?@E@@@@&%"@@@A@@@B@@C@@D@n9))o9)*@@@,module_types%trans@@@E@@@F@f@@@G@@@H@@@I@@J@@K@@++@++@@@6module_type_extensions%trans̠@@@L@@@M@@@@Nנ)&@@@O@@@P@@Q@@R@D++D++@@@1module_exceptions%trans@@@S@@@T@@@@U85@@@V@@@W@@X@@Y@H,,H,,@@@.module_classes%trans @@@Z@@@[@@@@\@@@]@@@^@@_@@`@L--L--@@@2module_class_types%trans/.@@@a@@@b@@@@c:@@@d@@@e@@f@@g@P.a.eP.a.w@@%@.module_modules%transPO@@@h@@@i@ @@@j[@@@k@@@l@@m@@n@3T/8/<4T/8/J@@E@3module_module_types%transpo@@@o@@@p@+@@@q{!@@@r@@@s@@t@@u@SX0 0TX0 0#@@e@7module_included_modules%trans@@@v@@@w@K@@@x1@@@y@@@z@@{@@|@s\00t\01@@@/module_comments%trans@@@}@@@~@k@@@@@@@@@@@@@@`11`11@@@6module_type_parameters%transѠ@@@@@@@|@@@ @@@*Odoc_types$text@@@@@@@@@@@@@@@@d22d22@@@1module_parameters%trans2@@@@@@@/@@@@@7`7d7`7u@@@5module_all_submodules%trans@@@@@@@@@@$@@@@@@@@@@@<<<<@@@6module_type_is_functor@@@@@@@@@@===> @@!@1module_is_functor@@@@@@@@@@ @@!@@.@@2@2module_type_values%trans]\@@@@@@@@@@h@@@@@@@@@@@ABBBBB@@S@1module_type_types%trans~}@@@@@@@)@@@@@@@@@@@@@@bCwC{cCwC@@t @;module_type_type_extensions%trans@@@@@@@J@@@@@@@@@@@@@@DTDXDTDs@@@6module_type_exceptions%trans@@@@@@@k@@@ˠ @@@@@@@@@@@E@EDE@EZ@@@3module_type_classes%trans@@@@@@@@@@ro@@@@@@@@@@@FF#FF6@@@7module_type_class_types%trans@@@@@@@@@@ @@@@@@@@@@@FGFG@@!@3module_type_modules%trans#"@@@@@@@@@@.@@@@@@@@@@@GGGG@@&@8module_type_module_types%transCB@@@@@@@@@@N@@@@@@@@@@@&HH'HH@@8+@@@G@@'e+Odoc_module0Vj>S q(Warnings0Ӷ.5S6V%Types0AF3Ai4.Type_immediacy0Xp '-Stdlib__Uchar0 |K?bޣ ˠ.Stdlib__String0L%BWx:6+Stdlib__Set0PSVl8 ;+Stdlib__Seq0yt\eǟ&Q,}+Stdlib__Map0ҭfȨ؜ׇ0,Stdlib__List0E &xa.Stdlib__Lexing0zsc\ZoQ,Stdlib__Lazy0'rruSZY/Stdlib__Hashtbl0!z9ϸ@`VǠ.Stdlib__Format0=z+.m׸.Stdlib__Either0 }rCT0J){9).Stdlib__Digest0@~8x2.Stdlib__Buffer0'ON͋[h#ڗA&Stdlib0>,W:(%Shape0-#\wz5)Primitive0.>}7Fmd*ՠ$Path0"nA_8K 1)Parsetree03p雲Ҳ$+Outcometree0xHU ͧTƠ*Odoc_value0](L8.ђH*Odoc_types0qТ4c)Odoc_type0Ig@;sDphX.Odoc_parameter0OTQ͓5ų#à)Odoc_name07k纤᮵o?)Odoc_misc0+[۶r0J.Odoc_extension0^ z $G:A.Odoc_exception0ǕF/!LѠ*Odoc_class0B=1B kKF$Misc0KH(1Xk5o\)Longident0{C 3C(Location0>gc 7پI{YG,Identifiable0g+AbڀO"q,%Ident0T;~-1ѡ0CamlinternalLazy0G -Ϥ;I8CamlinternalFormatBasics0cEXyP7D@AР$Misc&Stdlib&String$MiscP7GP7Y@@0@@@@@@%arrayH8@@M@A@A@@@@@@&_none_@@A@@@ $boolE8@@%false^@@ @$true_@@@@@A@@@@@@A@$charB8@@@A@@@@@@A@#exnG8@@AA@@@@@@@@5extension_constructorP8@@@A@@@@@ @@@%floatD8@@@A@@@@@$@@@*floatarrayQ8@@@A@@@@@(@@@#intA8@@@A@@@@@,@A@%int32L8@@@A@@@@@0@@@%int64M8@@@A@@@@@4@@@&lazy_tN8@@O@A@A@Y@@@@@=@@@$listI8@@P@A"[]a@@J@"::b@@@Q@@W@ @@A@Y@@@@@Z@@@)nativeintK8@@@A@@@@@^@@@&optionJ8@@S@A$Nonec@@k@$Somed@@r@@@A@Y@@@@@u@@@&stringO8@@@A@@@@@y@@@$unitF8@@"()`@@@@@A@@@@@@A@ .Assert_failure\ p@@@@Jm@@@@@@V@@A=ocaml.warn_on_literal_pattern@@0Division_by_zeroY @@@A  @+End_of_fileX !@@@A@'FailureU )@%@@A@0Invalid_argumentT 2@.@@A$#@-Match_failureR ;@:67@@\@@Aʠ21@ )Not_foundV I@@@AҠ:9@-Out_of_memoryS Q@@@AڠBA@.Stack_overflowZ Y@@@A⠰JI@.Sys_blocked_io[ a@@@A꠰RQ@)Sys_errorW i@e@@A󠰠[Z@:Undefined_recursive_module] r@qmn@@c@@Aih@ %bytesC8@@@A@@@@@@@@&Stdlib@@@@LP77:@;@8*ocaml.text > Representation and manipulation of modules and module types. ]R[[^R[@@@@@@0IHHIIIII@HfA^@q@@@$NameSBnToT@AР)Odoc_name)Odoc_nameyTzT@@ @@~T@@!A(.module_elementTCWW@@8@@.Element_module^(t_moduleZC@@@.@@XX@@L3Element_module_type_-t_module_type]C@@@/@@Y "Y H@@M7Element_included_module`/included_moduleVC@@@0@@ZIKZIw@@N-Element_classa*Odoc_class't_class@@@ B@@[xz[x@@O2Element_class_typex,t_class_type@@@ C@@\\@@P-Element_valuey*Odoc_value't_value@@@ @@]]@@Q6Element_type_extension.Odoc_extension0t_type_extension@@@ @@^^7@@R1Element_exception.Odoc_exception+t_exception@@@ @@_8:_8k@@"S,Element_type)Odoc_type&t_type@@@ N@@$`ln%`l@@4T6Element_module_comment*Odoc_types$text@@@ @@6a7a@@FU@@A@@@@@:W@)ocaml.doc , To keep the order of elements in a module. HVIV@@@@@@@@@XB@PX@@г(t_moduleYX@@0DCCDDDDD@A@vA8@@@A@@@@@1/@@ #mmtUC8@@@A@@@@@ndof7@5 7 Used where we can reference t_module or t_module_type {c|c@@@@@@@@@C8@@@A@@@@@h99l@C@@@@D,module_aliasWC8@@@A@@@@@nEEq@@@@E0module_parameterXC8@@@A@@@@@sx  @@@@F+module_kindYC8@@@A@@@@@{  C  @\< Different kinds of module. z  z  @@@@@@@@@G8@@@A@@@@@F 1 1R@n= Representation of a module. E  E  0@@@@@@@@@H1module_type_alias[C8@@@A@@@@@TW{~@@@@I0module_type_kind\C8@@@A@@@@@Z_ *@ ! Different kinds of module type. YY@@@@@@@@@J,8@@@A@@@@@bk@ " Representation of a module type. aaaaa@@@@@@@@@K@@J@@@@L@HHY $Y 7@@гJ-t_module_typeY ;I@@QJ@@@@L@HHZIMZId@@гJ/included_moduleZIhI@@QJ@@@@L@HH [x| [x@@гJ*Odoc_classJ[xH@@RI@@@@K@GG\\@@гI*Odoc_classK%\I@@Q̰J@@@@L@HH+],]@@гJ*Odoc_valueJ6]H@@RݰI@@@@K@GG<^=^@@гI.Odoc_extensionIG^G@@QH@@@@J@FFM_8<N_8M@@гH.Odoc_exceptionHX_8QF@@PG@@@@I@EE^`lp_`l|@@гG)Odoc_typeGi`lE@@OF@@@@H@DDoapa@@гF*Odoc_typesFzaD@@N!E@@@@G@@A@CA(dd@@8@@#Mod@@@ @@e e@@V'Modtype@@@ @@f/@@W@@A@@@@@2/@@"@e e@@г(t_modulee@@%U @@@@"@ff&@@г -t_module_typef*P@@'eQ@@@@$@@A@SP(  h9=h9L@@8@@'im_name@g!t@@@ iQUiQg@ ! the name of the included module iQhiQ@@@@@@@X)im_moduleAL@@@ @@@ jj@ $ the included module or module type jj@@@@@@@Y'im_infoAj$info@@@ @@@ kk @ؐ - comment associated to the include directive k k?@@@@@@@.Z@@A@@@@@@@@@ZZS&iQ\@@Ш@г]$Name_0iQ_1iQe@@fذ@@i@E@ @c`RR9j:j@AШ@гV&optionCjDj@г[#mmtLjMj@@c@@@h @@k@E@ @b_QQVkWk@AШ@гU&option`kak @гZ*Odoc_types\jkkk@@c@@@h @@k@E@ @`]@A@@(tnEIunEU@@8@@'ma_name@!t@@@ oZ^oZp@@[)ma_moduleA'@@@ @@@ pqupq@[ 9 the real module or module type if we could associate it pqpq@@@@@@@\@@A@@@@@@@@@--&oZe@@Ш@г0$Name2oZhoZn@@9[@@<@E@ ^@6@22pq}pq@AШ@г6&optionpqpq@г;#mmtpqpq@@Cw@@@Hx @@K@E@ {@B?@A@O@(MMss@@8@@'mp_name@/@@@ tt @* the name t t @@@@@@@^'mp_type1@_%Types+module_type@@@@@@u   u  B@ϐ* the type u  Cu  R@@@@@@@%_,mp_type_code2@j@@@!v S W"v S n@萠3 the original code .v S o/v S @@@@@@@>`'mp_kind3@z@@@:w  ;w  @ ! the way the parameter was built Gw  Hw  @@@@@@@Wa@@A@@@@@@@@@nniOt@@Ш@гq&stringXt Yt @@y@@|@E@ @xuggYau  %@@Ш@гj&optionju  :ku  @@гo%Typesotu  (uu  9@@x@@@} @@@E@ @spbb]~v S c@@Ш@гe&stringv S fv S l@@m/@@p@E@2@li[[Vw  @@Ш@г^0module_type_kindw  w  @@fA@@i@E@D@eb@A@@({  {  @@8@@-Module_struct42.@@@@@@!@@|  |  1@@b,Module_alias5?@@@"@@} 2 4} 2 R@ 7 complete name and corresponding module if we found it } 2 S} 2 @@@@@@@c.Module_functor6S@@@#Q@@@$@@~  ~  @@d,Module_apply7_@@@%d@@@&@@    @@e+Module_with8E@@@'S@@@(@@ @   @  @@f1Module_constraint9@@@)]@@@*@@A  "A  W@@-g-Module_typeof:t@@@+@@+B X Z,B X s@򐠠 / by now only the code of the module expression 8B X t9B X @@@@@@@Hh-Module_unpack;@@@,@@@-@@KC  @ . code of the expression and module type alias WC  XC  @@@@@@@gi@@A@@@@@@@@_|  `|  @@г$listi|  -@г.module_elementq|  r|  ,@@@@@@@@@@y} 2 6z} 2 B@@г,module_alias} 2 F@@*@@@@~  ~  @@г0module_parameter~  ~  @@;@@г+module_kind~  @@D@@@@@    @@г+module_kind    @@U@@г+module_kind  @@^@@@@@@  @  @@г0module_type_kind@  @  @@o@@гƠ&string@  @@x@@@@@ƠưA  $A  5@@гȠ+module_kindA  9A  D@@@@г͠0module_type_kindA  G@@@@@@@͠ͰB X \B X i@@гϠ&stringB X m@@@@@@Р °C  C  @@гĠ&string C   C  @@@@гɠ1module_type_aliasC  @@@@@@@A@(F 1 5F 1 =@@8@@&m_name<@!t@@@.*G B F+G B W@@:j&m_type=A3+module_type@@@18H X \9H X @@Hk&m_info>A$info@@@4@@@6KI  LI  @@[l.m_is_interface?@@@@9WJ  XJ  @ , true for modules read from interface files dJ  eJ  @@@@@@@tm&m_file@@@@@<pK  qK  @7 $ the file the module is defined in. }K  ~K  <@@@@@@@n&m_kindAA@@@?L = AL = _@@o%m_locBAc(location@@@BM ` dM ` @@p*m_top_depsCA$=!t@@@E@@@GN  N  @q 4 The toplevels module names this module depends on. N  N  @@@@@@@q&m_codeDA#@@@J@@@LO  O @> The whole code of the module O O 3@@@@@@@r+m_code_intfEAA.@@@O@@@QP48P4]@ / The whole code of the interface of the module P4^P4@@@@@@@s+m_text_onlyF@@@@TQQ@Ɛ - [true] if the module comes from a text file  Q Q@@@@@@@t@@A@@@@@if@@Y@G B L@@Ш@г$NameG B OG B U@@ư@@@E@/@@'H X d(H X j@AШ@г%Types2H X m3H X ~@@ڰ@@@E@2@@;I  <I  @AШ@г&optionEI  FI  @г*Odoc_typesOI  PI  @@@@@ @@@E@7@ @YJ  @@Ш@г $boolbJ  cJ  @@ @@@E@: @kK  @@Ш@г&stringtK  uK  @@ @@@E@=@ }L = I~L = O@AШ@г+module_kindL = RL = ]@@/@@@E@@2@@M ` lM ` q@AШ@г*Odoc_typesM ` tM ` @@ C@@@E@CF@ @N  N  @AШ@г $listN  N  @г$NameN  N  @@`@@@a @@ @E@Hd@O  O  @AШ@г&optionO O  @г &stringO O @@}@@@~ @@@E@M@P4@P4K@AШ@г&optionP4UP4[@г &stringP4NP4T@@@@@ @@@E@R@Q@@Ш@г$bool Q Q@@ @@@E@U@  @A@da(UU T T@@8@@(mta_nameG@!t@@@Y U U@@ -u*mta_moduleHA@@@\@@@^ .V /VE@ / the real module type if we could associate it  ;VF <Vz@@@@@@@ Kv@@A@@@@@@@@@--& CU @@Ш@г0$Name2 MU  NU@@9@@<@E@Z@6@22 VV" WV,@AШ@г6&option `V= aVC@г;-t_module_type iV/ jV<@@C@@@H @@K@E@_@B?@A@@( sZ tZ@@8@@2Module_type_structI @@@c@@@e@@ [ [@@ w3Module_type_functorJ @@@f@@@g@@ \ \*@@ x1Module_type_aliasK@@@h@@ ]+- ]+U@o < complete name and corresponding module type if we found it  ]+V ]+@@@@@@@ y0Module_type_withL@@@i @@@j@@ ^ ^@ : the module type kind and the code of the with constraint  ^ ^ @@@@@@@ z2Module_type_typeofM ,@@@k@@ _  !@ / by now only the code of the module expression  _ + _ _@@@@@@@ {@@A@@@@@1.@@!@|| [ [@@г~$list [z@г.module_element [ [@@@@@@@@@@ \ \@@г0module_parameter \ \@@ð@@г0module_type_kind %\@@̰@@@@@ +]+/ ,]+@@@г1module_type_alias 5]+D@@ܰ@@@@ ;^ <^@@г0module_type_kind E^ F^@@@@г&string O^@@@@@@yy U_  V_  @@г{&string __ $@@@@@@}@A@( eb fb@@8@@'mt_nameN@ !t@@@l tc uc@@ |'mt_infoOA R$info@@@o@@@q d d@@ }'mt_typePA +module_type@@@t@@@v e e@a? [None] = abstract module type  e e:@@@@@@@ ~/mt_is_interfaceQ@ n@@@y f;? f;W@z , true for modules read from interface files  f;X f;@@@@@@@ 'mt_fileR@ @@@| g g@ ) the file the module type is defined in.  g g@@@@@@@ @'mt_kindSA E)@@@@@@ h h@ [None] = abstract module type if mt_type = None ; Always [None] when the module type was extracted from the implementation file.  h i6@@@@@@@ A&mt_locTA(location@@@ j j@@ B@@A@@@@@52@@%@ c@@Ш@г$Name c c@@@@@E@m@@ d !d@AШ@г&option *d +d@г*Odoc_types 4d 5d@@ܰ@@@ݰ @@@E@r@@ >e ?e@AШ@г&option He  Ie@г%Types Re Se @@@@@ @@@E@w@ \f;N@@Ш@г$bool ef;Q ff;U@@ @@@E@z @ ng@@Ш@г&string wg xg@@ @@@E@} "@ h h@AШ@г&option h h@г0module_type_kind h h@@ ;@@@ < @@@E@ ?@ j j@AШ@г*Odoc_types j j@@ P@@@E@ S@@@A@@ t@0        @ J@@ a/ {1 Functions}  n n@@@@@@0        @ d #b T  3 8% ? FS  _G D >@@@ࠠ&valuesU q;? q;E@@@@$listI c@@@D@@@@D@j$listI @@@D@@@@D@k@@lD@i:@@!lW q;F q;G@@@*0        @H6 q;; y@@@@@డ $List)fold_left rJL rJZ@@@!a@@!b@ @@@@@ @O @@@@@@@@@@(list.mli@@,Stdlib__List[ @@@@QD@@\@D@@D@@@fc@@D@ @D@@D@@D@0 1 0 0 1 1 1 1 1@COo@F@ XD@@@@@#acc Xs[d Ys[g@@@ @@@#ele es[o fs[r@@@D@0 T S S T T T T T@$2@@ {E@@@@ఐ#ele wtv xtv@@@ F@@0 f e e f f f f f@!@@@Ġ-Element_value u u@8 @@@h@ AE@J@A @@ ࠠ!v u u@@@ @@@ @@@@@5!@@5!@@డ Z!@ u u@@!a@i@@@@ʠ @@@Ϡ@@@@@@@@*stdlib.mli6ww6wwA@@&Stdlib @@@@@F@@@@F@@@F@@F@@F@0        @[F@@A@ G@@@@ఐ#acc u u@z@@@@ภ":: u uA8 f y v@@R@ hB@AA@A @@ bఐj!v u@)@@,@ภ"[] A8 @@@@AA@A @@ @ A@ }H@@@G@G@=@@ u$@@a(@@G@G@E@@8+@@2D@H@@ $v %v@@@@@@ఐ٠#acc -v .v@ð@@D@D@@@A 4tv|@@KD@0 !   ! ! ! ! !@@@@@A 9s[k @@@[@E@VE@U0 ( ' ' ( ( ( ( (@@@@@A @s[_ Aw@@@ @e @E@@E@E@X0 2 1 1 2 2 2 2 2@@@@@ภ"[] Rx Sx@K@@@kD@]@@ఐc!l ayX@Y@@@@MZ@@zD@o@@Ae]A@@@@a0 S R R S S S S S@d@@@ / ; Returns the list of values from a list of module_element.  up vp:@@@@@@@o@on@@ࠠ%types | |@@@@@@@D@o@@@~D@c @@@D@@@@D@d@@eD@b0        @@@ C@@@@!l | | @@@'0        @3 | @@@@@డ u$List)fold_left }#% }#3@@@@@5D@m@?@D@q@D@p@@F@@D@n @D@l@D@k@D@j0        @&2O@)@ I@@@@@#acc ~4= ~4@@@@ @@@#ele ~4H ~4K@@@hD@0        @$2@@ J@@@@ఐ#eleO[O^@@@K@@0        @!@@@Ġ,Element_typedldx@8 @ AH@J@A @@ ࠠ!t"dy#dz@@@ @@@@@@@@2@@2@@డ !@2d3d@@@@@@F@@@@F@U@@F@@F@@F@0/../////@;)#@$@VL@@@@ఐp#accSd~Td@Z@@@@ภo]d^dAmఐE!t gd@! @@$@ภgAe@A@ H@@@G@G@1@@wd@@Ġ@@G@G@9@@,!@@D@<@@@@~@@~@@ఐ#acc@@@D@D@@@AOU@@D@0@@@@@A~4D @@@@E@E@0@@@@@A~48@@@@@E@@E@E@ 0@@@@@ภc@@@@"D@@@ఐ!l@@@;@@@@1D@h@@AA@@A6@@0@@@@ : Returns the list of types from a list of module_element. {{@@@@@@@%@%$@:@ࠠ/type_extensions @@@@@@@@D@ @@@/D@  @@@aD@J@@@VD@@@D@0@c@@H@@@@!l  @@@'0@3@@@@@డ $List)fold_left%&@@@@@5D@@?@D@"@D@!@@WF@@D@ @D@@D@@D@0"!!"""""@&2O@)@IN@@@@@#accI )J ,@@@ @@@#eleV 4W 7@@@hD@:0EDDEEEEE@$2@@lO@@@@ఐ#eleh;Gi;J@@@yP@@0WVVWWWWW@!@@@Ġ6Element_type_extensionyPXzPn@8 @ AF@J@A ~@@ {ࠠ!xPoPp@@@ @@@B@@@@@2@@2@@డH!@PxPy@@@@@@F@L@@@F@K@@F@I@F@H@F@G0@;)#@$@Q@@@@ఐp#accPtPw@Z@@@@ภѰP{P}AϠఐE!x P|@! @@$@ภɰA@A@BH@[@@G@`G@f1@@Pz@@&@@G@WG@_9@@,!@@D@E<@@~~@@~@@~@@ఐ#acc~~@@@D@XD@h@@A;A@@D@>0@@@@@A 0 @@@@E@E@0@@@@@A $@@@@@E@1@E@0E@0@@@@@ภŰ@@@@"D@@@ఐ!l%@@@;@@@@1D@@@AA@@A6@@0@@@@ 󐠠 D Returns the list of type extensions from a list of module_element. 9:@@@@@@@%@%$@:@ࠠ*exceptionsGH@@@@sp@@@D@@@@D@oW@@@D@@@@D@@@D@0NMMNNNNN@c@@uM@@@@!lrs@@@'0_^^_____@3yz@@@@@డ9$List)fold_left @p@@@@5D@@?@D@@D@@@F@@D@ @D@@D@@D@0@&2O@)@S@@@@@#acc  @@@ @@@#ele   #@@@hD@0@$2@@T@@@@ఐ#ele'3'6@@@U@@0@!@@@Ġ1Element_exception<D<U@8S@AG@J@A@@ˠࠠ!e<V<W@@@@@@@@@@@2@@2@@డ!@<_<`@P@@@P@@F@@K@@F@@@F@@F@@F@0@;)#@$@V@@@@ఐp#acc<[<^@Z@@@@ภ3!<b"<dA1ఐE!e +<c@! @@$@ภ+A)@A@H@ @@G@G@1@@;<a@@@@G@G@9@@,!@@D@<@@KemLen@@~@@~@@ఐ#accTerUeu@@@D@ D@@@A['-@@D@0HGGHHHHH@@@@@A`  @@@@E@iE@h0ONNOOOOO@@@@@Ag hv{@@@@@E@@E@E@k0YXXYYYYY@@@@@ภ'x|y|@q@@@"D@p@@ఐ!l@@@;@@@@1D@@@AA@@A6@@t0yxxyyyyy@@@@U ? Returns the list of exceptions from a list of module_element. @@@@@@@%@%$@:@ࠠ'classes@@@@ՠ@@@D@@@@D@vѠ@@@D@@@@D@w@@xD@u0@c@@R@@@@!l@@@'0@3`e@@@@@డ$List)fold_left@Ұ@@@@5D@@?@D@@D@@@F@@D@ @D@@D@~@D@}0@&2O@)@ X@@@@@#acc @@@ @@@#ele@@@hD@0      @$2@@0Y@@@@ఐ#ele,-@@@=Z@@0@!@@@Ġ-Element_class=%>2@8@~AC@J@Av@@sࠠ!cH3I4@@@@@@@@@@@2@@2@@డ !@X<Y=@@@@@@F@@@@F@{@@F@@F@@F@0UTTUUUUU@;)#@$@|[@@@@ఐp#accy8z;@Z@@@@ภ?AAఐE!c @@! @@$@ภA@A@H@@@G@G@1@@>@@@@G@G@9@@,!@@D@<@@BJBK@@~@@~@@ఐ#accBOBR@@@D@D@@@A@@D@0@@@@@A @@@@E@E@0@@@@@ASX@@@@@E@@E@E@0@@@@@ภY]Y_@@@@"D@!@@ఐ!l`d@@@;@@@@1D@{@@AA@@A6@@%0@@@@ < Returns the list of classes from a list of module_element. @@@@@@@%@%$@:@ࠠ+class_types  @@@@74@@@SD@3@@@BD@'3O@@@tD@]@@@iD@(@@)D@&0@c@@9W@@@@!l67@@@'0#""#####@3=>LQ@@@@@డ$List)fold_leftKL@4@@@@5D@1@?@D@5@D@4@@}F@@D@2 @D@0@D@/@D@.0HGGHHHHH@&2O@)@o]@@@@@#accop@@@ @@@#ele|}@@@hD@M0kjjkkkkk@$2@@^@@@@ఐ#ele@@@_@@0}||}}}}}@!@@@Ġ2Element_class_type @8@AD@J@A@@Šࠠ"ct@@@@@@U@@@@@2@@2@@డn!@'(@@@@@@F@_@@@F@^ݠ@@F@\@F@[@F@Z0@;)#@$@`@@@@ఐp#acc#&@Z@@@@ภ*-AఐE"ct ,@! @@$@ภA@A@hH@n@@G@sG@y1@@)@@L@@G@jG@r9@@,!@@D@X<@@.6.7@@~@@~@@ఐ#acc.;.>@@@D@kD@{@@A@@D@Q0        @@@@@A$ @@@@E@E@0@@@@@A+,?D@@@@@E@D@E@CE@0@@@@@ภ<EI=EK@5@@@"D@@@ఐ!lKLP@@@;@@@@1D@,@@AA@@A6@@0=<<=====@@@@ @ Returns the list of class types from a list of module_element. _gg`g@@@@@@@%@%$@:@ࠠ'modulesmn@@@@@@@D@@@@D@@@@%D@@@@D@@@D@0tssttttt@c@@\@@@@!l@@@'0@3*/@@@@@డ_$List)fold_left@@@@@5D@@?@D@@D@@@ߠF@@D@ @D@@D@@D@0@&2O@)@b@@@@@#acc@@@ @@@#ele@@@hD@0@$2@@c@@@@ఐ#ele@@@d@@0@!@@@Ġ.Element_module@8ty@rA@@J@Al@@iࠠ!m  @@@|@@@@@@@@2@@2@@డ!@@v@@@v@@F@@q@@F@ ?@@F@ @F@ @F@ 0@;)#@$@@e@@@@ఐp#acc=>@Z@@@@ภYG H AWఐE!m Q @! @@$@ภQAO@A@ʠH@@@G@$G@*1@@a@@@@G@G@#9@@,!@@D@ <@@q r @@~@@~@@ఐ#accz { @@@D@D@,@@A@@D@0nmmnnnnn@@@@@A @@@@E@jE@i0uttuuuuu@@@@@A"@@@@@E@@E@E@l0~~@@@@@ภM#'#)@@@@"D@q@@ఐ!l*.@@@;@@@@1D@@@AA@@A6@@u0@@@@{ < Returns the list of modules from a list of module_element. SSS@@@@@@@%@%$@:@ࠠ)mod_typesx|x@@@@  @@@D@@@@D@w E@@@D@@@@D@x@@yD@v0@c@@a@@@@!lxx@@@'0@3xx@@@@@డ$List)fold_left@ @@@@5D@@?@D@@D@@@ AF@@D@ @D@@D@@D@~0        @&2O@)@3g@@@@@#acc34@@@ @@@#ele @A@@@hD@0/../////@$2@@Vh@@@@ఐ#eleRS@@@ci@@0A@@AAAAA@!@@@Ġ3Element_module_typecd@8 @AA@J@A@@ࠠ"mtàno@@@@@@@@@@@2@@2@@డ2!@~@ ذ@@@ ؠ@@F@@ Ӡ@@F@ @@F@@F@@F@0{zz{{{{{@;)#@$@j@@@@ఐp#acc@Z@@@@ภ A ఐE"mt @! @@$@ภ A @A@,H@@@G@G@1@@@@ @@G@G@9@@,!@@D@<@@@@~@@~@@ఐ#acc@@@D@D@@@A@@D@0@@@@@A @@@@E@E@0@@@@@A @@@@@E@@E@E@0@@@@@ภ @ @@@"D@"@@ఐ!l@@@;@@@@1D@|@@AA@@A6@@&0@@@@ݐ A Returns the list of module types from a list of module_element. #11$1w@@@@@@@%@%$@:@ࠠ(commentsĠ1fj2fr@@@@ ] Z@@@TD@4@@@CD@( Y@@@uD@^@@@jD@)@@*D@'087788888@c@@_f@@@@!lƠ\fs]ft@@@'0IHHIIIII@3cffd @@@@@డ#$List)fold_leftqwyrw@ Z@@@@5D@2@?@D@6@D@5@@ F@@D@3 @D@1@D@0@D@/0nmmnnnnn@&2O@)@l@@@@@#accǠ@@@ @@@#eleȠ@@@hD@N0@$2@@m@@@@ఐ#ele@@@n@@0@!@@@Ġ6Element_module_comment@8 =@AI@J@A@@ࠠ!tɠ@@@@@@V@@@@@2@@2@@డ!@@ :@@@ :@@F@`@ 5@@F@_ @@F@]@F@\@F@[0@;)#@$@o@@@@ఐp#acc@Z@@@@ภ   A ఐE!t @! @@$@ภ A @A@H@o@@G@tG@z1@@%@@ r@@G@kG@s9@@,!@@D@Y<@@56@@~@@~@@ఐ#acc>?@@@D@lD@|@@AE@@D@R021122222@@@@@AJ @@@@E@E@098899999@@@@@AQR@@@@@E@E@E@DE@0CBBCCCCC@@@@@ภ bc@ [@@@"D@@@ఐ!lq@@@;@@@@1D@-@@AA@@A6@@0cbbccccc@@@@? C Returns the list of module comment from a list of module_element. e@@@@@@@%@%$@:@ࠠ0included_modulesʠVZVj@@@@  @@@D@@@@D@ @@@&D@@@@D@@@D@0@c@@k@@@@!l̠VkVl@@@'0@3VV@@@@@డ$List)fold_leftoqo@ @@@@5D@@?@D@@D@@@ F@@D@ @D@@D@@D@0@&2O@)@q@@@@@#acc͠@@@ @@@#eleΠ@@@hD@0@$2@@r@@@@ఐ#ele@@@'s@@0@!@@@Ġ7Element_included_module'(@8z @xAB@J@Ar@@oࠠ!mϠ23@@@@@@@@@@@2@@2@@డ!@BC@ @@@ @@F@@ @@F@ e@@F@@F@ @F@ 0?>>?????@;)#@$@ft@@@@ఐp#acccd@Z@@@@ภ mnA }ఐE!m w@! @@$@ภ wA u@A@H@ @@G@%G@+1@@@@ Ԡ@@G@G@$9@@,!@@D@ <@@@@~@@~@@ఐ#acc@@@D@D@-@@A@@D@0@@@@@A @@@@E@}E@|0@@@@@A@@@@@E@@E@E@0@@@@@ภ s@ @@@"D@@@ఐ!l@@@;@@@@1D@@@AA@@A6@@0@@@@ E Returns the list of included modules from a list of module_element.    U@@@@@@@%@%$@:Aࠠ4module_type_elementsР@@@%transc@@@D@@@D@D@@@@@;D@ @@@E@ @@@ D@@@@D@0@l@@,p@@@'%*opt*Ѡ)*A@-,@@E@0@@<87D@@@@@2-@@@@E@@F@Ku@@@@@ࠠJҠKG@ @@ID@D@065566666@-QP@@@@+@av@@@ఐ8%*opt*]^A@a`@@@0MLLMMMMM@@@@Ġ(*predef*$Some08Ґ@@T@A@AA@A6@@Ġࠠ%*sth*Ӡ<|S@@}I@@@@@@@H@ @@ @@ఐ%*sth*J @@x@DD@0wvvwwwww@B@@@Ġ(*predef*$None[8+@@@@AA@A]@@@@!@@@H@=@%@=@@ภ$true*|@8Wg@@@N@@@AB@@Am@@Z@1@eD@E@L@@A@fc@@p@@"mtԠ@@@D@D@0@u~z@{@w@@@@Aࠠ)iter_kindՠ@@@@e@@@E@@@@E@E@@E@0@"2(@)@y@@@@%param۠Ġ$None@Y@@@@!0@,@(@@F@@+@ z@@@@ภ @ @@@E@E@@Ġ$Some@Ġ2Module_type_struct@8B@@@`@A@@E@A@@ࠠ!l֠'(@@@@@@@@@0@=@@@@@34@@]E@@@@'@@d@@ఐ!l>?@@@O{@@5E@E@010011111@T& @@@Ġ$SomeQR"@Ġ3Module_type_functorZ$[7@8A@BA@E@A@@ @a9b:@@@@H@0POOPPPPP@r@@@ࠠ!kנn<o=@@@@@@@@@u#v?@@E@@@@)@@@@ఐ)iter_kindCL@@@@@F@0rqqrrrrr@ @@|@@@@ภ$SomeNR@(ఐ1!kST@@@G@@@MU@@E@!@@'@@E@#@Ġ$SomeV\V`@FĠ0Module_type_withVbVr@8@BC@E@A@ࠠ!kؠVtVu@@@ @@@0@@@@@VwVx@@@@H@ @@@VaVz@@E@@@@)@@ @@ఐ%trans~~@%@@0@'!@"@}@@@ఐ')iter_kind@@@@'@F@@@ภ$Some@ఐF!k @%@@8G@*@@@@BE@/@@#@@90@ภͰ@@@@E@ ;@$~@@FE@>@Ġ$Some./@Ġ1Module_type_alias78@8@AB@E@A@ࠠ#mta٠BC@@@@@@021122222@T@@@@@JK@@tE@@@@!@@|@@ఐ%transXY@@@0EDDEEEEE@h@@l~@@@ఐ(#mtajk@@@@@G@@@*mta_modulewx%@,W @@@aYAA,ji@@@Ac@`@AROB@@\[@@@@@@,@Ġ$None+7+;@@@@@po@@I@@@I@0@@@@@ @@@ภP+?+A@@@@D@+E@( @Ġ$SomeBNBR@Dࠠ"mtڠBSBU@@@@@@#e@@@@@@@I@%@@I@$m@@m@@ఐܠ4module_type_elementsBYBm@@@ؠ@@G@1@@G@0@G@/0@("@#@@@@ภ$NoneN@@@@H@:@@ఐ<"mtBnBp@@@@@)@@VD@- @@A@@ZE@ e@ภ~~@@@@eD@|p@ @@r@Ġ$Some@Ġ2Module_type_typeof@8F@DAD@E@A@>@1@%&@@I@@H@@@@+,@@UE@@@@@@]@@ภ56@.@@@*D@E@}@@A=@@@ma@@L@@A @@ఐ})iter_kindKL@W@@@y@@D@@@D@x@D@@@ఐ"mtcd@@@@'mt_kindj @,@@@_AE,@@@A@,AA@A@,AB@A, @C@A, @D@A ,z yAF@As@p@A~@@ @@E@@@E@E@E@;@@9&@@<@D'@@uD@@@A*A@@zD@@D@0vuuvvvvv@@@@1@D@D@E(#defaultV@W@@A:@@@@@@0@m@@@b Returns the list of elements of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.7@@@@@@@N@@O@@ࠠ/module_elementsܠ W [ W j@@@%transŠ@@@*D@@@@D@@H@@@*D@'+*@@@*@@@*D@(@@)D@@@D@@!ޠ W m W wA@&@@E@0@: W W*'K'v@@@@@@ࠠ:ߠ; W r@@@:D@*D@ 0@#A@@@@"@@@@ఐ.  W kA@N@@@0@@@@Ġࠠ# W s<@@`I@@@@@(c@@H@@@@@ఐ  @ @=@4D@0@2@@@Ġ@@@=x@@H@*@@*@@ภ!\@@"@HD@E@2@@Aa@IF@@@@!mᠰQ W yR W z@@@0>==>>>>>@T]Y@Z@e@@@@Aࠠ/module_elementsb  c  @@@@s#Set!t@@@&E@.%transwv@@@(E@/@@@9@@@@(%E@1۠@@@@@@E@2@@8@@7@E@60xwwxxxxx@;G@>@@@@@'visited㠰   !@@@80@C@?53@@@0@.)@@3@@4@@5F@-@J@@@@@>䠰x ! !A@EE@@@@F@E0@".\@%@@@@@@ࠠWX ! @@@E@I0@!ՠ@@@D@ @@@@ఐ,  !)'1'GA@'@@@K0@@@@Ġ~ࠠxy ! ;@@9J@O@@@@<@@I@P@@@@ఐ w @ @ @3E@X0@3@@@Ġuq@@@ Q@@I@U*@@*@@ภo![@n@"@]E@(E@E@[F@Y6@@Ad@LK@@@@!m砰% !& !@@@E@*aE@d0@]d`@a@=@@@@Aࠠ)iter_kind:!!";!!+@@@@@@@oF@lF@k@F@n010011111@,"@#@X@@@@f젰Ġ-Module_structV!7!?W!7!L@8@@@c@A@@H@A@@ࠠ!ld!7!Me!7!N@@@@@@s@@@r0XWWXXXXX@(:@60@@mG@j@9@@@@@@!@@8 @@ఐ!l~!7!R!7!S@@@@@F@0onnooooo@'@@@Ġ,Module_alias!T!\!T!h@89@AA@H@A@ࠠ"ma!T!i!T!k@@@@@@v0@2@@@@@@@c@@ఐݠ%trans!o!|!o!@@@0@A@@@@@ఐ#"ma!!!!@@@B@@H@@@)ma_module!!!!@,D @@@eFAA,WV@@@AP@M@A?</@@IH@@@@@@,@Ġ$None!!!!@L@@@@]\@@J@@@J@0@@@@@ @@@ภ!!!!@@@@tE@F@ @Ġ$Some !! !!@Ġ#Mod !! !!@8@@@g@A@@B@A@@ࠠ"m' !! !!@@@@@@0        @t@@@@@ $!! %!!@@@@J@@@@&@@@@J@@@J@@@@@డ ?#Set#mem&String B!! C!"@@#elt@@@%,@@@@%+$boolE@@@%*@@%)@@%(@'set.mliP  P  @@+Stdlib__SetG@@@@@H@&@@@H@&@@H@&@H@&@H@&0 U T T U U U U U@UO@P@ |@@@@ఐ_"m' {!" |!"@@@@@I@&@&@&m_name !" !"@,i @@@bk@@,,`_AA@AY@V,SRAB@AG@D,A@@C@A<9,,)(@D@A$!, AE@A @ , AF@A@, AG@A, AH @A, AI @A,@J @A@Ap@m@@w@@I@&2@@ఐ'visited !" !"@@@C?@@i@@@@H@'I@&E@ภd "". ""0@@@@E@'O@ఐb/module_elements "F"X "F"g@%@@@bX͠V@@H@'@QL@H@'@H@'@H@'f@@డ #Set#add&String "F"i "F"w@@@@@%1@@@@%0@@@%/@@%.@@%-@S 9 =S 9 S@@H@@@@@I@'@@@I@'@@I@'@I@'@I@'@@ఐ"m'!"F"x!"F"z@@@@@J@(@(@&m_name!"F"{!"F"@@@@@J@(@@ఐ'visited!-"F"!."F"@m@@@@!1"F"h!2"F"@@@@E@( @ŐภV @ @>@@I@($@@ఐ."m'!J"F"!K"F"@߰@@@@@@@!O!!@@F@@Ġ$Some!\""!]""@Ġ'Modtype!e""!f""@8X@AA@B@A@@ˠࠠ"mt!p""!q""@@@@@@@@@!w""!x""@@@@J@@@@!@@@@J@@@J@@@@@ఐ4module_type_elements!""!""@^@@@@H@(/@@H@(.@s@@H@(- @@H@(,@@H@(+@H@(*@H@()0!!!!!!!!@;5@6@!@@@ภ!p@!p@@@I@(A@@I@(@@@ఐP"mt!""!""@@@@@I@(=I@(CI@(B%@@> @@E@(;F@('*@@A!!!@@F@@ภ! ""! ""@@@@E@(@!!o!y@@@Ġ.Module_functor! ""! ""@8@BB@H@A @@@! ""! "#@@@@J@z0!!!!!!!!@@@@ࠠ!k! "#! "#@@@@@@I@{@@@" "#@@@Ġ,Module_apply" ## " ##@8'@%BC@H@A@@!k" ##" ##@@@%@@" ##" ##@@.@@J@-@@@"$ ## @@/@@<@@0@@ఐ)iter_kind"/ ##$"0 ##-@@@@@G@(0""""""""@<6@7@"E@@@@ఐD!k"B ##."C ##/@@@H@(@@@@F@(@Ġ+Module_with"Q #0#8"R #0#C@8W@UBD@H@AL@@Iࠠ"tk"\ #0#E"] #0#G@@@_@@@0"L"K"K"L"L"L"L"L@@@@@"f #0#H"g #0#I@@c@@I@ @@@"l #0#J@@. @@ఐ4module_type_elements"v#N#X"w#N#l@G@@}z@@G@(@@G@(@\@@G@( @@G@(@@G@(@G@(@G@(0"x"w"w"x"x"x"x"x@!82@3@"@@@ภ$Some"[+ఐԠ%trans"#N#u"#N#z@v@@@@@@@H@(@@?'mt_name"#{#"#{#@ "#{#@@"#{#"#{#@@U@@I@)I@)7@T'mt_info"#{#"#{#@ภ$None"#{#"#{#@;@@@]\@@I@)@@I@)I@)Q@m'mt_type"#{#"#{#@ภ$None"#{#"#{#@U@@@dc@@I@)"@@I@)!I@)(k@/mt_is_interface"#####@ภ%false######@8"c@@@@B@@A"@@"@@@`@@I@).I@)2@'mt_file######@ ###@@# ###!##@@_@@I@)8I@):I@)9@'mt_kind#/###0##@ภ$Some#7###8##@ʠఐ堐"tk#A#$#B#$@@@f@@I@)CI@)JI@)LI@)K@@ @@p @@I@)BI@)I@ߡ&mt_loc#Z$$#[$$@డ!/)dummy_loc*Odoc_types#f$$#g$$0@*Odoc_types(location@@@ @.odoc_types.mlikk@@@@}@@I@)RI@)TI@)S@@@##{##$3$@@@[@@H@(H@)W@@@@E@(F@(@Ġ1Module_constraint#$A$I#$A$Z@8=@BE@H@A{@@xࠠ!k#$A$\#$A$]@@@@@@0########@6@@@ࠠ#_tk#$A$_#$A$b@@@@@@@@@ #$A$c@@u@@ఐ[/module_elements#$$#$$@@@@[Q ƠO@@G@)^@JE@G@)]@G@)\@G@)[0########@^3-@.@#'!@"@#@@@@ఐC'visited#$$#$$@@@w@mภL# uఐ%trans#$$#$$@@@ %@@@ #@@H@)l)@@,p&m_name#$$$$$@ $$$@@$$$$ $$@@@@I@)uI@)tE@&m_type$$%$$% @ภ%Types-Mty_signature$$%$ $%!@8-Mty_signature%Types+module_type@@@`@ )signature@@@\@AA@D@A0typing/types.mliCMMCMN@@@ ภ$=$%"$>$%$@6@@@@@I@)I@){@@'@@@@I@)~I@)@&m_info$Q$$$R$$@ภ$None$Y$$$Z$$@ @@@@@I@)@@I@)I@)@ա.m_is_interface$k%'%5$l%'%C@ภl$r%'%F$s%'%K@k@@@%@@I@)I@)@顠&m_file$%'%N$%'%T@ $%'%X@@$%'%W$%'%Y@@$@@I@)I@)I@)@&m_kind$%'%\$%'%b@ఐ!k$%'%e$%'%f@ְ@@$@@I@)I@)I@)@%m_loc$%i%w$%i%|@డ")dummy_loc*Odoc_types$%i%$%i%@W@@4@@I@)I@)I@)@3*m_top_deps$%%$%%@ภ$%%$%%@@@@;:@@I@)@@I@)I@)@K&m_code$%%$%%@ภ$None$%%$%%@ V@@@54@@I@)@@I@)I@)0@d+m_code_intf%%%%%%@ภ$None%%%% %%@ p@@@10@@I@)@@I@)I@)J@}+m_text_only%%&%%&@ภ%!%&%"%&@@@@,@@I@)I@)_@@@%*$$%+&&(@@b@@p@@F@)Yd@Ġ-Module_typeof%6 &)&1%7 &)&>@8@AF@H@A @@%= &)&?%> &)&@@@@@I@@@@ @@@@ภ%H &)&D%I &)&F@A@@@E@)F@)@Ġ-Module_unpack%W!&G&O%X!&G&\@8@BG@H@A@@%^!&G&]%_!&G&^@@@@I@@@@@@I@@@@ @@*@@ภ%n!&G&b%o!&G&d@g@@@E@)F@)@@A%v!!.@@@:4@@*U0%c%b%b%c%c%c%c%c@ @@@@%{!! @@ఐK)iter_kind%)'1'5%)'1'>@@@@I@@E@*YH@E@*X@@ఐx!m%)'1'?%)'1'@@R@@t@&m_kind%)'1'A@ @@e@@F@*^F@*bF@*`@@%@@e@0@@&E@if@@AA@@+E@e@E@*e0%%%%%%%%@@@@@9E@fE@H砰&%{%%{@@A@ME@?E@<0%%%%%%%%@@@@@A$A@@[Q@@*j0%%%%%%%%@#@@@@%  @@ఐl/module_elements%*'K'M%*'K'\@/@@@j@@D@*xe ڠ @@D@*w@@D@*v@"W@@D@*u 8 7@@D@*t@@D@*s@D@*r@D@*q@D@*pL@@డ%#Set%empty&String%*'K']%*'K'm@@@@%$@J c gJ c s@@E  @@@@E@*E@*E@*n@ภ{% ఐ%trans&*'K'o&*'K't@ǰ@@ @@@ #@@E@*@@ఐߠ!m&,*'K'u;@<@@^@@a=@@X@l>@@[D@,@@AAA@@e`@D@*0&&&&&&&&@@@@'@jD@ 7%%@@A,@~ ?z@@@*u@@*0&+&*&*&+&+&+&+&+@T@@@$ Returns the list of elements of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. &M&N T V@@@@@@@_@_^@ !@ࠠ-module_values&[.'(&\.'(@@@%trans h g@@@*D@*@@@*D@*@"@@@*D@*$@@@*@@@*D@*@@*D@*@@*D@*0&k&j&j&k&k&k&k&k@ S@@&@@@% f k&N&.'(&.'(A@ *@@E@*0&~&}&}&~&~&~&~&~@>&.''&.'(B@@@@@@ࠠ>?&.'(@@@>D@*D@*0&&&&&&&&@# E@@@*@"@&@@@ఐ. \&w &.'(A@ R@@@*0&&&&&&&&@@@@Ġ Y& Uࠠ O P&&.'(<@@dI@*@@@@ Ϡg@@H@*@@@@ఐ  N& @ @&@4D@*0&&&&&&&&@2@@@Ġ L& H@@@ |@@H@**@@*@@ภ F!\@ E@"@HD@*E@*2@@Aa@IF@@&@@!m&.'(&.'(@@@0&&&&&&&&@T]Y@Z@' @@@@ఐ4&values'.'(!' .'('@h@@@0+@@D@*@@D@*(%2@@D@*@@D@*@D@*0''''''''@!-@$@',@@@@ఐ s/module_elements'+.'()',.'(8@@@ q 2 /@@E@*@@E@*@#@@E@*!!@@E@*@@E@*@E@*@E@*(@ ภ'  ڠఐ%trans'Q.'(:'R.'(?@V@@9@@@ V@@F@*=@@ఐn!m'b.'(@'c.'(A@G@@J@@'f.'((@@@@E@*@@E@*E@*E@*W@@k@@D@*Z@@A~A@@@D@*0'b'a'a'b'b'b'b'b@}@@@@ D@*Ӡ '? '?@@A@ @@@*@@*0'n'm'm'n'n'n'n'n@@@@%J  Returns the list of values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.','x'x'-''@@@@@@@@@@ࠠ0module_functions'2(('2((@@@%trans  @@@+D@+@@@+D@*@$.@@@+D@+&*Odoc_value't_value@@@+SD@+0@@@+>D@+'@@+(D@+@@+D@*0''''''''@Lwq@r@'@@@-  ''2(('2((A@ ݠ2@@E@+0''''''''@F'2(('5)1)X@@@@@@ࠠFG'2((@@@FD@+D@+ 0''''''''@# M@@@+@"@(@@@ఐ. ' (2((A@Z@@@+ 0''''''''@@@@Ġ ' ࠠ  'հ(2((<@@lI@+@@@@o@@H@+@@@@ఐ  ' @ @(/@4D@+0(( ( (((((@2@@@Ġ ' @@@/@@H@+*@@*@@ภ !\@ @"@HD@+E@+2@@Aa@IF@@'@@!m(C2(((D2((@@@0(0(/(/(0(0(0(0(0@T]Y@Z@(W@@@@డ'$List&filter(V3(((W3()@@@!a@$boolE@@@;@@:@@@@9@@@8@@7@@6@BG**CG**@@Ak! @@@@@@D@+3@D@+2@@@D@+1Ǡ@@D@+/@D@+.@D@+-0(r(q(q(r(r(r(r(r@CO@F@(@@@@@!v(4) )(4) )@@@@@డ&+is_function*Odoc_value(4) )(4) )-@@@@@ $boolE@@@ @@ @-odoc_value.ml@@m@@@@@E@+L@@E@+K@E@+J0((((((((@=5@,@(@@@@ఐ=!v(4) ).(4) )/@@@@@.@@w@@E@+XE@+W@@A(4) ) (4) )0@@@!@@E@+A@E@+@E@+Z0((((((((@]@@@@ఐ&values(5)1)6(5)1)<@R@@@@@E@+a@@E@+`'@@E@+_@@E@+^@E@+]}@@ఐ Y/module_elements)5)1)>)5)1)M@@@ W@@F@+t@@F@+s@%@@F@+r#v#u@@F@+q@@F@+p@F@+o@F@+n@ lภ(ఐH%trans)75)1)O)85)1)T@@@J@@@<M@@G@+@@ఐ !m)H5)1)U)I5)1)V@@@@@)L5)1)=)M5)1)W@@up@@F@+l@@F@+kF@+F@+@@)Z5)1)5w@@@@E@+?E@+E@+i@@@@D@++@@A$A@@@D@+0)S)R)R)S)S)S)S)S@#@@@i@D@+ y )0 )0@@An@s@@@+@@+0)_)^)^)_)_)_)_)_@@@@'; Returns the list of functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.)0(D(D)1({(@@@@@@@@@@ࠠ4module_simple_values)9)))9)*@@@%trans@@@,&D@+@@@+D@+@&@@@,$D@+@@@+D@+@@@+D@+@@+D@+@@+D@+0))))))))@@@)@@@'))9)* )9)*A@Ƞ,@@E@+0))))))))@@)9)))<*W*~@@@@@@ࠠ@A)9)*@@@@D@,'D@+0))))))))@#G@@@+@"@)@@@ఐ.) )9)*A@T@@@+0))))))))@@@@Ġ)ࠠ)*9)*<@@fI@+@@@@i@@H@+@@@@ఐ ) @ @*@4D@+0))))))))@2@@@Ġ)~@@@~@@H@+*@@*@@ภ|!\@{@"@HD@+E@+2@@Aa@IF@@)@@!m*.9)**/9)*@@@0********@T]Y@Z@*B@@@@డ($List&filter*A:***B:**(@@@@@@@D@+@D@+@@@D@+@@D@+@D@+@D@+0*?*>*>*?*?*?*?*?@%1@(@*f@@@@@!v*f;*)*2*g;*)*3@@@@@డ)&#not*r;*)*7*s;*)*:@@$boolE@@@C@@@B@@A(%boolnotAA @@@""""@@\@@@@@E@+@@E@+@E@+0*}*|*|*}*}*}*}*}@?7@.@*@@@@డ(+is_function*Odoc_value*;*)*<*;*)*R@@@@@@F@+@@F@+@F@+@@ఐY!v*;*)*S*;*)*T@(@@ +@@*;*)*;*;*)*U@@N@@F@+F@+G@+5@@W @@j@@E@+E@+;@@A*;*)*-*;*)*V@@@$t@@E@+@E@+E@+0********@@@@@ఐ&values*<*W*\*<*W*b@E@@@ @@E@,@@E@,)@@E@,@@E@,@E@+@@ఐ L/module_elements+<*W*d+<*W*s@@@ J @@F@,@@F@,@'@@F@,%i%h@@F@,@@F@,@F@,@F@,@ _ภ*ఐP%trans+*<*W*u++<*W*z@@@R@@@/U@@G@,(@@ఐ!m+;<*W*{+<<*W*|@@@@@+?<*W*c+@<*W*}@@hc@@F@,@@F@, F@,+F@,"@@+M<*W*[@@@@E@+E@,.E@, @@@@D@+@@A,A@@@D@,10+F+E+E+F+F+F+F+F@+@@@q@D@+ +# +#@@Av@f@@@,4@@,30+R+Q+Q+R+R+R+R+R@@@@). Returns the list of non-functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.+t7)Z)Z+u8))@@@@@@@@@@ࠠ,module_types+@+++@++@@@%trans@@@,D@,9@@@,:D@,6@(@@@,D@,])@@@,q@@@,pD@,^@@,_D@,7@@,8D@,50++++++++@@@+@@@%+u+@+++@++!A@*@@E@,>0++++++++@>+@+++@++G@@@@@@ࠠ>?+@++@@@>D@,D@,B0++++++++@#ԠE@@@,=@"@+@@@ఐ.+ +@++A@R@@@,D0++++++++@@@@Ġ+|ࠠvw++@++<@@dI@,H@@@@g@@H@,I@@@@ఐ u+ @ @, @4D@,Q0++++++++@2@@@Ġs+o@@@ |@@H@,N*@@*@@ภm!\@l@"@HD@,TE@,R2@@Aa@IF@@+@@!m,@++#, @++$@@@0, , , , , , , , @T]Y@Z@,3@@@@ఐ%types,/@++',0@++,@-@@@ W R@@D@,h@@D@,g O*#@@D@,f@@D@,e@D@,d0,,,+,+,,,,,,,,,,@!-@$@,S@@@@ఐ/module_elements,R@++.,S@++=@Ѱ@@YV@@E@,{@@E@,z@(@@E@,y&&@@E@,x@@E@,w@E@,v@E@,u(@ภ ,1ఐ%trans,x@++?,y@++D@V@@9@@@}@@F@,=@@ఐn!m,@++E,@++F@G@@J@@,@++-@@  @@E@,s@@E@,rE@,E@,W@@k@@D@,bZ@@A~A@@@D@,0,,,,,,,,@}@@@@ D@,AӠ,f,f@@A@@@@,@@,0,,,,,,,,@@@@*q ~ Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.,>**,?*+@@@@@@@@@@ࠠ6module_type_extensions,D++,D++@@@%transҠ@@@,D@,@@@,D@,@)U@@@,D@, *@@@,@@@,D@,@@,D@,@@,D@,0,,,,,,,,@Doi@j@,@@@% ,,D++,D++A@*@@E@,0,,,,,,,,@>-D++-D+,.@@@@@@ࠠ> ?- D++@@@>D@,D@,0,,,,,,,,@#E@@@,@"@-'@@@ఐ., -!D++A@$R@@@,0--------@@@@Ġ,ࠠ ,-4D++<@@dI@,@@@@9g@@H@,@@@@ఐ - @ @-N@4D@,0---,-,----------@2@@@Ġ- @@@N|@@H@,*@@*@@ภ!\@@"@HD@,E@,2@@Aa@IF@@-@@!m -bD+,-cD+,@@@0-O-N-N-O-O-O-O-O@T]Y@Z@-v@@@@ఐ/type_extensions-rD+,-sD+,@@@@!!@@D@,@@D@,!+@@D@,@@D@,@D@,0-o-n-n-o-o-o-o-o@!-@$@-@@@@ఐݠ/module_elements-D+,-D+,$@@@@@E@,@@E@,@*@@E@,''@@E@,@@E@,@E@,@E@,(@ภ -tDఐ%trans-D+,&-D+,+@V@@9@@@@@F@,=@@ఐn!m-D+,,-D+,-@G@@J@@-D+,@@!!@@E@,@@E@,E@,E@,W@@k@@D@,Z@@A~A@@@D@,0--------@}@@@@ D@,ӠT-S-@@A@@@@,@@,0--------@@@@+ Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.-B+I+I-C+~+@@@@@@@@@@ࠠ1module_exceptions .H,,. H,,@@@%trans@@@-QD@,@@@-D@,@*@@@-OD@-#";,!@@@-7@@@-6D@-$@@-%D@,@@,D@,0........@Doi@j@.?@@@%-.;H,,.<H,,A@?*@@E@-0.+.*.*.+.+.+.+.+@>.EH,,.FH,-@@@@@@ࠠ>?.PH,,@@@>D@-RD@-0.?.>.>.?.?.?.?.?@#ZE@@@-@"@.j@@@ఐ. .$ .dH,,A@gR@@@- 0.S.R.R.S.S.S.S.S@@@@Ġ.2ࠠ.7.wH,,<@@dI@-@@@@|g@@H@-@@@@ఐ .C @ @.@4D@-0.p.o.o.p.p.p.p.p@2@@@Ġ.P@@@|@@H@-*@@*@@ภ!\@@"@HD@-E@-2@@Aa@IF@@.\@@!m.H,,.H,,@@@0........@T]Y@Z@.@@@@ఐn*exceptions.H,,.H,,@@@@"ݠ"@@D@-.@@D@--"ՠ,@@D@-,@@D@-+@D@-*0........@!-@$@.@@@@ఐ /module_elements.H,,.H,,@W@@ߠ@@E@-A@@E@-@@+\@@E@-?)=)<@@E@->@@E@-=@E@-<@E@-;(@3ภ ^.ఐ%trans.H,,.H,-@V@@9@@@@@F@-S=@@ఐn!m/H,-/H,-@G@@J@@/H,,@@#;#6@@E@-9@@E@-8E@-VE@-MW@@k@@D@-(Z@@A~A@@@D@-Z0////////@}@@@@ D@-Ӡ..@@A@/@@@-]@@-\0////////@@@@, Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search./=F,0,0/>G,`,@@@@@@@@@@ࠠ.module_classes/KL--/LL--@@@%transXW@@@-D@-b@@@-cD@-_@+@@@-D@-#~-@@@-@@@-D@-@@-D@-`@@-aD@-^0/[/Z/Z/[/[/[/[/[@Doi@j@/@@@%V[/>/~L--/L--A@*@@E@-g0/n/m/m/n/n/n/n/n@>/L--/L--@@@@@@ࠠ>?/L--@@@>D@-D@-k0////////@#E@@@-f@"@/@@@ఐ.L/g /L--A@R@@@-m0////////@@@@ĠI/uEࠠ?@/z/L--<@@dI@-q@@@@g@@H@-r@@@@ఐ >/ @ @/@4D@-z0////////@2@@@Ġ</8@@@Ԡ|@@H@-w*@@*@@ภ6!\@5@"@HD@-}E@-{2@@Aa@IF@@/@@!m/L--/L--@@@0////////@T]Y@Z@/@@@@ఐO'classes/L--/L--@а@@@$ $@@D@-@@D@-$.D@@D@-@@D@-@D@-0////////@!-@$@0@@@@ఐc/module_elements0L--0L--@ @@a"@@E@-@@E@-@,@@E@-**@@E@-@@E@-@E@-@E@-(@vภ /ʠఐ%trans0AL--0BL--@V@@9@@@F@@F@-=@@ఐn!m0RL--0SL--@G@@J@@0VL--@@$~$y@@E@-@@E@-E@-E@-W@@k@@D@-Z@@A~A@@@D@-00R0Q0Q0R0R0R0R0R@}@@@@ D@-jӠ0/0/@@A@r@@@-@@-00^0]0]0^0^0^0^0^@@@@.: Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.0J--0K-5-@@@@@@@@@@ࠠ2module_class_types0P.a.e0P.a.w@@@%trans@@@.D@-@@@-D@-@-@@@.D@-$.@@@-@@@-D@-@@-D@-@@-D@-000000000@Doi@j@0@@@%00P.a.z0P.a.A@Š*@@E@-000000000@>0P.a.a0P.a.@@@@@@ࠠ>?0P.a.@@@>D@.D@-000000000@#E@@@-@"@0@@@ఐ.0 0P.a.xA@R@@@-000000000@@@@Ġ0ࠠ00P.a.<@@dI@-@@@@g@@H@-@@@@ఐ 0 @ @1@4D@-000000000@2@@@Ġ0{@@@|@@H@-*@@*@@ภy!\@x@"@HD@-E@-2@@Aa@IF@@0@@!m1+P.a.1,P.a.@@@011111111@T]Y@Z@1?@@@@ఐ0+class_types1;P.a.1<P.a.@@@@%c%^@@D@-@@D@-%[/u@@D@-@@D@-@D@-01817171818181818@!-@$@1_@@@@ఐ/module_elements1^P.a.1_P.a.@ ݰ@@eb@@E@.@@E@.@-@@E@.+à+@@E@.@@E@.@E@.@E@.(@ภ1= ఐ%trans1P.a.1P.a.@V@@9@@@@@F@.=@@ఐn!m1P.a.1P.a.@G@@J@@1P.a.@@%%@@E@-@@E@-E@.E@.W@@k@@D@-Z@@A~A@@@D@. 011111111@}@@@@ D@-Ӡ1r1r@@A@@@@.#@@."011111111@@@@/} Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.1N--1O..`@@@@@@@@@@ࠠ.module_modules1T/8/<1T/8/J@@@%transޠ@@@.zD@.(@@@.)D@.%@.a@@@.xD@.L&0`@@@.`@@@._D@.M@@.ND@.&@@.'D@.$011111111@Doi@j@2@@@%!1İ2T/8/M2T/8/WA@*@@E@.-011111111@>2T/8/82T/8/@@@@@@ࠠ>"?2T/8/R@@@>D@.{D@.1022222222@##E@@@.,@"@23@@@ఐ.1 2-T/8/KA@0R@@@.3022222222@@@@Ġ1ˠࠠ#22@T/8/S<@@dI@.7@@@@Eg@@H@.8@@@@ఐ 2  @ @2Z@4D@.@02928282929292929@2@@@Ġ2@@@Z|@@H@.=*@@*@@ภ!\@@"@HD@.CE@.A2@@Aa@IF@@2%@@!m$2nT/8/Y2oT/8/Z@@@02[2Z2Z2[2[2[2[2[@T]Y@Z@2@@@@ఐ'modules2~T/8/]2T/8/d@@@@&&@@D@.W@@D@.V&0@@D@.U@@D@.T@D@.S02{2z2z2{2{2{2{2{@!-@$@2@@@@ఐ預/module_elements2T/8/f2T/8/u@ @@@@E@.j@@E@.i@/%@@E@.h--@@E@.g@@E@.f@E@.e@E@.d(@ภ'2Pఐ%trans2T/8/w2T/8/|@V@@9@@@̠@@F@.|=@@ఐn!m2T/8/}2T/8/~@G@@J@@2T/8/e@@'&@@E@.b@@E@.aE@.E@.vW@@k@@D@.QZ@@A~A@@@D@.022222222@}@@@@ D@.0Ӡ`2_2@@A@@@@.@@.022222222@@@@0 Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.3R..3S./7@@@@@@@@@@ࠠ3module_module_types%3X0 03X0 0#@@@%trans! @@@.D@.@@@.D@.@/@@@.D@.'G1@@@.@@@.D@.@@.D@.@@.D@.03$3#3#3$3$3$3$3$@Doi@j@3K@@@%'$33GX0 0&3HX0 00A@K*@@E@.03736363737373737@>3QX0 0 3RX0 0Z@@@@@@ࠠ>(?3\X0 0+@@@>D@.D@.03K3J3J3K3K3K3K3K@#fE@@@.@"@3v@@@ఐ.30 3pX0 0$A@sR@@@.03_3^3^3_3_3_3_3_@@@@Ġ3>ࠠ) 3C3X0 0,<@@dI@.@@@@g@@H@.@@@@ఐ 3O @ @3@4D@.03|3{3{3|3|3|3|3|@2@@@Ġ3\@@@|@@H@.*@@*@@ภ!\@@"@HD@.E@.2@@Aa@IF@@3h@@!m*3X0 023X0 03@@@033333333@T]Y@Z@3@@@@ఐ)mod_types3X0 063X0 0?@s@@@''@@D@.@@D@.'2-@@D@.@@D@.@D@.033333333@!-@$@3@@@@ఐ,/module_elements3X0 0A3X0 0P@ c@@*@@E@.@@E@.@0h@@E@..I.H@@E@.@@E@.@E@.@E@.(@?ภj3ఐ%trans4 X0 0R4 X0 0W@V@@9@@@@@F@.=@@ఐn!m4X0 0X4X0 0Y@G@@J@@4X0 0@@@(G(B@@E@.@@E@.E@.E@.W@@k@@D@.Z@@A~A@@@D@.044444444@}@@@@ D@.Ӡ33@@A@;@@@.@@.04'4&4&4'4'4'4'4'@@@@2 Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.4IV//4JW/0 @@@@@@@@@@ࠠ7module_included_modules+4W\004X\01@@@%transdc@@@/@D@.@@@.D@.@0@@@/>D@/(2@@@/&@@@/%D@/@@/D@.@@.D@.04g4f4f4g4g4g4g4g@Doi@j@4@@@%b-g4J4\014\01A@*@@E@.04z4y4y4z4z4z4z4z@>4\004\01C@@@@@@ࠠ>.?4\01 @@@>D@/AD@.044444444@#E@@@.@"@4@@@ఐ.X4s 4\01A@R@@@.044444444@@@@ĠU4QࠠK/L44\01<@@dI@.@@@@ˠg@@H@.@@@@ఐ J4 @ @4@4D@/044444444@2@@@ĠH4D@@@|@@H@/*@@*@@ภB!\@A@"@HD@/ E@/2@@Aa@IF@@4@@!m04\014\01@@@044444444@T]Y@Z@5@@@@ఐq0included_modules5\015\01(@@@@),)'@@D@/@@D@/)$3`@@D@/@@D@/@D@/055555555@!-@$@5(@@@@ఐo/module_elements5'\01*5(\019@@@m.+@@E@/0@@E@//@1@@E@/.//@@E@/-@@E@/,@E@/+@E@/*(@ภ5֠ఐ%trans5M\01;5N\01@@V@@9@@@R@@F@/B=@@ఐn!m5^\01A5_\01B@G@@J@@5b\01)@@))@@E@/(@@E@/'E@/EE@/<W@@k@@D@/Z@@A~A@@@D@/I05^5]5]5^5^5^5^5^@}@@@@ D@.Ӡ5;5;@@A@~@@@/L@@/K05j5i5i5j5j5j5j5j@@@@3F Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.5Z0\0\5[00@@@@@@@@@@ࠠ/module_comments15`115`11@@@%trans@@@/D@/Q@@@/RD@/N@2*@@@/D@/u)͠3@@@/@@@/D@/v@@/wD@/O@@/PD@/M055555555@Doi@j@5@@@%355`115`11A@Ѡ*@@E@/V055555555@>5`115`12@@@@@@ࠠ>4?5`11@@@>D@/D@/Z055555555@#E@@@/U@"@5@@@ఐ.5 5`11A@R@@@/\055555555@@@@Ġ5ࠠ55ɰ6 `11<@@dI@/`@@@@g@@H@/a@@@@ఐ 5 @ @6#@4D@/i066666666@2@@@Ġ5@@@#|@@H@/f*@@*@@ภ!\@@"@HD@/lE@/j2@@Aa@IF@@5@@!m667`1168`11@@@06$6#6#6$6$6$6$6$@T]Y@Z@6K@@@@ఐ(comments6G`116H`11@@@@*o*j@@D@/@@D@/*g4)@@D@/~@@D@/}@D@/|06D6C6C6D6D6D6D6D@!-@$@6k@@@@ఐ/module_elements6j`116k`12 @@@qn@@E@/@@E@/@2@@E@/0Ϡ0@@E@/@@E@/@E@/@E@/(@Őภ6Iఐ%trans6`12 6`12@V@@9@@@@@F@/=@@ఐn!m6`126`12@G@@J@@6`11@@*͠*@@E@/@@E@/E@/E@/W@@k@@D@/zZ@@A~A@@@D@/066666666@}@@@@ D@/YӠ)6~(6~@@A@@@@/@@/066666666@@@@4 Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.6^1E1E6_1s1@@@@@@@@@Aࠠ6module_type_parameters76d226d22@@@%trans@@@1YD@/@@D@/D@/@-@@@1D@/6g1&@@@2$text@@@2@@@2@@2E@2@@@2D@/@@/@D@/066666666@Ozt@u@7@@@296۰7d227d22A@7@@E@/07 7 7 7 7 7 7 7 @KG+CD@/@@@/@?:@@/@@/E@/@Q@7>Ҡ1module_parameters8%trans<TD@/@@@/@3@@@37D@/QD@/@@/@@/E@/@7I7`7d7J7`7u@@7Y@@@@@ࠠp:q:7Ud22@<@@pD@0D@/07D7C7C7D7D7D7D7D@:H_w@@@/@G@7o@@@ఐS7) 7id227j66A@m@@@/07Y7X7X7Y7Y7Y7Y7Y@@@@Ġ 78ࠠ;7=7}d22b@@I@/@@@@@@H@/@@@@ఐ 7I @ @7@5D@/07v7u7u7v7v7v7v7v@3@@@Ġ7V@@@@@H@/*@@*@@ภ!@@"@ID@/E@/2@@A@JG@@7b@@"mt<7d227d22@@@D@1D@/077777777@Yb^@_@7@@@@Aࠠ$iter=7e227e22@@@@W@@@/E@/@@@/E@/D@3'D@0E@/@E@/077777777@$4*@+@7@@@@!k>7e227e22@@@!077777777@,@(@@/F@/@+@7@@@@ఐ!k7f227f22@5@@8ٰ@@7077777777@#@@@Ġ$Some8g228 g23@Ġ3Module_type_functor8g238g23@ࠠ!p?8g238g23@@@.@@@/08 8 8 8 8 8 8 8 @$@@@ࠠ"k2@8(g238)g23@@@.@@@/@@@8/g2380g23 @@g@@@*@@m@@m@@@ࠠ%paramC8<h3$308=h3$35@@@.@@@0;G@08ܠJ@@@0lG@0=@@@0>G@09@@0:G@008?8>8>8?8?8?8?8?@[B<@=@8g60@1@8i@@@ఐ"mt8gk338hk33@@@08T8S8S8T8T8T8T8T@@@@'mt_info8ok338pk33@ @@--@@@0"@@@0!@Ġ$None8l338l34@@@@@. . @@J@0+@@J@0*8@@8@@ఐ}!p8l348l34@A@@TE@ภ$None8l34 8l34@ @@@4X@@H@0?S@@8l348l34@@lG@07X@Ġ$Some8m448m44 @Jࠠ!iD8m44!8m44"@@@.D@@@02\@@@@@.L.K@@J@04@@J@03d@@d@@@ࠠ!dE8o484L8o484M@@@@@@0bI@0B088888888@*$@%@8@@@డ7$List%assoc8o484P8o484Z@@!a@@-" !b@@@]@@@\@@[@@Z@,s00,s00@@,p@@@44@@@0VI@0I@ DI@0F@I@0H@@I@0G@I@0E@I@0D@@@ఐ!p90o484[91o484\@ڰ@@6@@J@0W@0UU@'mp_name9=o484]9>o484d@,4` @@@d4b@@,4L4K@A@A4>4;4.,4+4*@B@A4&4#4,44@C@A44 3@A4b4_4R @@3d@@ఐ!i9To484e9Uo484f@p@@$info@@J@0\@0Yz@*Odoc_types(i_params9do484g9eo484z@,(i_params@@@ $listI%param@@@ @@@ @G,,&i_desc&optionJy@@@ @@@ @@ @AT R VT R k@@p,)i_authors"&stringO@@@ @@@ @A@A$U  %U  @@+q,)i_version3!@@@ @@@ @B-@A3V  4V  @@:r,&i_seesB?E#see@@@ @@@ @C=@ACWDW0@@Js,'i_sinceR@0@@@ @@@ @DL@ARXPTSXPl@@Yt,(i_beforea^B@@@ @@@ @@ @@@ @Eb@AhYiY@@ou,,i_deprecatedwe@@@ @@@ @Fp@AvZwZ @@}v,3i_raised_exceptions0raised_exception@@@ @@@ @H@A\\@@x,.i_return_value@@@ @@@ @I@A]]@@y,(i_custom@@@ @@@ @@ @@@ @J@A^48^4Y@@z@A[CG[C]@@w@@)@@0S@@J@0RJ@0]J@0ZL@@=@@M@@:2o484H@@ఐ#!p:=p4~4:>p4~4@@@G@0g0:,:+:+:,:,:,:,:,@_nh@i@:S@@@ภ$Some:Mp4~4:Np4~4@ఐ}!d:Wp4~4:Xp4~4@@@ @@@@G@0i@@H@0k@@:bp4~4:cp4~4@@' @H@0m&@7@@@Ġ)Not_found:qr44:rr44@8)Not_found#exnG@@@@@@- A@A&_none_@@A@@-I@@@@9@@K@0q@@ఐw!p:s44:s44@;@@VG@0w@ภ$None:s44:s44@ @@@ 0TG@0y@@I@0{@@:s44:s44@@nG@0fG@0vG@0s@@:n4&44 @@G@0A@@A:k33 @@v`@@:h3$3,@@ภ":::u44:u45@-͠ఐ%param:u44:u44@@@:ܰ@@D@00::::::::@z@@@ఐ$iter:u45:u45@@@@@F@0@@ภ$Some:u45 :u45 @ {ఐʠ"k2:u45:u45@@@+G@0)@@:u45:u45@@5E@0.@@:u45:u45@@/1@@9@@. 9E@0@@F@08@Q @@7E@0@Ġ$Some;v55;v55@ Ġ1Module_type_alias;v55;v550@ࠠ#mtaA;%v551;&v554@@@1@@@00;;;;;;;;@/@@@@@;-v55;.v555@@eE@/@@@@@m@@m@@ఐ堐%trans;;w595D;<w595I@@@0;(;';';(;(;(;(;(@C@@;O@@@ఐ(#mta;Mx5O5_;Nx5O5b@@@@@G@0@0@*mta_module;Yx5O5c;Zx5O5m@@@2827@@@0@@@0%@Ġ$None;my5s5;ny5s5@ @@@@2L2K@@I@0@@I@00;a;`;`;a;a;a;a;a@9@@@ @@@ภ.,;}y5s5;~y5s5@.v@@@D@1E@1 @Ġ$Some;z55;z55@!!ࠠ#mt2F;z55;z55@@@2r@@@0_@@@@@2z2y@@I@1@@I@0g@@g@@ఐѠ6module_type_parameters;z55;z55@@@!@@G@1 @@G@1 @G@1 0;;;;;;;;@|("@#@;@@@ݐภ+;!Tఐu%trans;z55;z55@@@w@@@!Рz@@H@1@@ఐE#mt2;z55;z55@#@@&@@2@@`D@1)@@A;x5O5Y@@dE@0o@ภ.;|55;|55@.@@@oD@1Wz@;w595A@@|@Ġ$Some;}55;}55@!Ġ0Module_type_with<}55<}55@ Jࠠ!kB<}55<}55@@@2T@@@0@@<}55<}56@@2W@@H@0 !@@@<}55<}56@@VE@0&@@@&@@^'@@^'@@ఐ֠%trans<,~66<-~66@z@@0<<<<<<<<@4& @!@<@@@@ఐ|$iter<<66&<=66*@V@@@|q@F@1[@@ภ$Some$iter<66<66@@@@"",@@D@1@@D@1:@D@1$@@ఐo"mt=66=66@A@@k3@'mt_kind=66@ @@""L@@E@1@@E@1E@1E@1D@@-@@[E@8@@\D@/Y@@AA@@aD@/@D@10========@@@@@ID@/D@/ޠ<<@@A@[#?W@@@1R@@10=+=*=*=+=+=+=+=+@ @@@; Access to the parameters, for a functor type. @param trans indicates if, for aliased modules, we must perform a transitive search.=Mb22=Nc2I2@@@@@@@=Pd22@$$ @@!#]!D@1@@D@1D@/@ @@/@D@/0=L=K=K=L=L=L=L=L@T@@@-#DG#I=,=l7`7x=m7`7A@#p@@E@10=\=[=[=\=\=\=\=\@Q@@@@@ࠠAHB=|7`7}@@@AD@10=i=h=h=i=i=i=i=i@_#'@@@1@@=@@@ఐ'#3=N =7`7v=<<%A@#5@@@10=~=}=}=~=~=~=~=~@@@@Ġ#1=]#-ࠠ#'I#(=b=7`7~6@@GI@1@@@@#J@@H@1@@@@ఐ #&=n @ @=@3D@10========@3@@@Ġ#$={# @@@#_@@H@1*@@*@@ภ#!V@#@"@D@2D@1E@14@@A]@JI@@=@@!mJ=7`7=7`7@@@D@4rD@10========@[b^@_@=@@@@Aࠠ$iterK=77=77@@@@@@@2E@2E@2@E@20========@+!@"@>@@@@#VĠ.Module_functor>77>77@ࠠ!pL> 77> 77@@@84@@@2 0========@0@,'@@2F@2@/@>&@@@ࠠ!kM> 77>!77@@@8D@@@2 @@@%>'77@@<@@@ࠠ%paramQ>277>377@@@8b@@@2NG@2K#Ҡ@@@@2G@2P@@@2QG@2L@@2MG@210>5>4>4>5>5>5>5>5@<GA@B@>]4.@/@>_@@@ఐ!m>]8k8{>^8k8|@j@@0>J>I>I>J>J>J>J>J@@@@&m_info>e8k8}>f8k8@װ @@7)7(@@@25@@@24@Ġ$None>y88>z88@#@@@@7=7<@@J@2>@@J@2=8@@8@@ఐ!p>88>88@A@@TE@ภ$None>88>88@#@@@$*X@@H@2RS@@>88>88@@lG@2JX@Ġ$Some>88>88@$@ࠠ!iR>88>88@@@7v@@@2E\@@@@@7~7}@@J@2G@@J@2Fd@@d@@@ࠠ!dS>88>88@@@@@@2uI@2U0>>>>>>>>@*$@%@>@@@డ=$List%assoc>88>88@@@@:@@@2iI@2\@ *I@2Y@I@2[@@I@2Z@I@2X@I@2W&@@ఐ!p? 88? 88@@@@@J@2j@2h:@'mp_name?88?88@۰@@*A@@ఐq!i?'88?(88@M@@@@J@2o@2lU@*Odoc_types(i_params?588?689@Ѱ@@=SF@@2f@@J@2eJ@2pJ@2mj@@[@@Hk@@?F88@@ఐF!p?Q99%?R99&@@@G@2z0?@?????@?@?@?@?@@}@@?g@@@ภ$Some?a99(?b99,@$ఐ!d?k99-?l99.@@@'@@@@$-G@2|@@H@2~@@?v99$?w99/@@' @H@2&@7@@@Ġ)Not_found?9C9S?9C9\@@@@@>@@K@2@@ఐ!p?9`9s?9`9t@I@@FG@2@ภ$None?9`9v?9`9z@% @@@%4bG@2@@I@2@@?9`9r?9`9{@@|G@2yG@2G@2@@?88 @@G@2T@@A?8k8u @@n@@?77@@ภ?99?99@2Ϡఐ%param?99?99@@@?@@0????????@@@@ఐ$iter?99?99@ɰ@@@@F@2@@ఐɠ!k?99?99@@@G@2 @@?99?99@@#@@)@@2@@F@2(@=@@ E@2E@20@Ġ,Module_alias@99@99@ tࠠ"maN@ 99@ 99@@@:P@@@2 0????????@@@@@@@@(@@ఐ%trans@99@99@D@@0@ @ @ @ @ @ @ @ @@@@1@@@ఐ#"ma@/99@099@@@ r@@G@2@2@)ma_module@;99@<99@ q@@;;@@@2@@@2%@Ġ$None@O99@P9:@%@@@@;Ƞ;@@I@3@@I@30@C@B@B@C@C@C@C@C@9@@@ @@@ภ3@_9:@`9: @3X@@@E@3$ @Ġ$Some@n: :@o: :@&Ġ#Mod@w: :@x: :@ jࠠ!mT@: : @: :!@@@<@@@30@p@o@o@p@p@p@p@p@f@@@@@@: :@: :"@@;@@I@3@@@ @@<<@@I@3@@I@3@@@@ఐ i1module_parameters@: :&@: :7@ m@@ k& i@@G@3-@ g b@G@3,@G@3+0@@@@@@@@@/)@*@@@@@ wภ@t&Dఐ>%trans@: :9@: :>@@@@@@@&C@@H@36@@ఐL!m@: :?@: :@@#@@ &@@2@@D@3))@Ġ$Some@:A:M@:A:Q@&oĠ'Modtype@:A:S@:A:Z@ࠠ"mtU@:A:[@:A:]@@@=Y@@@3@@@@:A:R@:A:^@@;+;oB?;+;q@@@7c@@H@4,H@43H@45H@44@@ @@7m @@H@4+H@42@$ܡ&mt_locBW;t;BX;t;@డ@,)dummy_loc*Odoc_typesBc;t;Bd;t;@@@7l@@H@4:H@4@@& @@?@Ġ+Module_withB;;B;;@ ]@B;;B;;@@<@@K@2 O@@@<@@K@2!T@@@ @@U@@= @@V@Ġ-Module_typeofB;;B;;@@B;;B;;@@<@@J@2$f@@@ @@g@@O@@h@Ġ-Module_unpackB;;B;<@@B;< B;< @@<@@I@2(x@@@<@@I@2)}@@@ @@~@@f @@@@ภ5B;<B;<@5@@@ D@4AE@4>@@AB77@@@ @@4f0BBBBBBBB@@@@@B77 @@ఐ$iterC<<C<<@@@@#@@D@4j@D@4i@@ఐJ!mC<<C<<@%@@F@&m_kindC<<@" @@#@@E@4oE@4sE@4q@@%@@8@0@@ 4D@29@@A[A@@Z 9D@1@D@4v0CCCCCCCC@X@@@@D@1D@1%B%B@@A@ )=@@@4y@@4x0C)C(C(C)C)C)C)C)@ @@@A Access to the parameters, for a functor. @param trans indicates if, for aliased modules, we must perform a transitive search.CK66CL77_@@@@@@@CN7`7`@@@ BAࠠ5module_all_submodulesWC[<<C\<<@@@%trans)f)e@@@4D@4@@D@4D@4@A@@@5$D@46A@@@5"D@4@@@5D@4@@4@D@4 @!)`X)eCHC<<C< @@@@( @@@6D@50*@@@5fD@51@D@53@@"mt`E=> E=>@@@0EEEEEEEE@"@@@52E@5/@!@E@@@@Aࠠ$iteraE>>E>>@@@@+J*@@@5BE@5A@@@5@E@584E@59@E@5;0EEEEEEEE@%1>@(@E@@@@!kbE>> E>>!@@@0EEEEEEEE@)@%@@5:F@57@(@E@@@@ఐ!kE>$>.E>$>/@2@@E@@40EEEEEEEE@#@@@Ġ$SomeE>5>;E>5>?@+Ġ3Module_type_functorF>5>AF>5>T@*@F>5>UF>5>V@@5>@F>5>W@@W @@@@@] @@] @@ภ+uF>5>[F>5>_@+v@@@E@5d@Ġ$SomeF)>`>fF*>`>j@+Ġ1Module_type_aliasF2>`>lF3>`>}@)ࠠ#mtacF;>`>~F<>`>@@@<@@@5K0F+F*F*F+F+F+F+F+@U@@@@@FC>`>kFD>`>@@E@5H@@@@@@@@@ఐ#mtaFS>>FT>>@@@Fd@@)@@G@5n@5k0FGFFFFFGFGFGFGFG@r( @@@*mta_moduleFc>>Fd>>@)@@=B=A@@@5m@@@5l@Ġ$NoneFw>>Fx>>@+@@@@=V=U@@I@5v@@I@5u0FkFjFjFkFkFkFkFk@$@@@ @@@ภ#F>>F>>@#@@@D@5E@5 @Ġ$SomeF>>F>>@,*ࠠ$mtypeF>>F>>@@@={@@@5}I@@@@@==@@I@5@@I@5~Q@@Q@@ఐ26module_type_is_functorF>>F>>@@@@2-@G@50FFFFFFFF@`"@@F@@@@ఐ*$mtypF>>F>>@@@CD@5@@@@ED@5@@AF>>F?? @@JE@5hU@Ġ$SomeF? ?F? ?@,sĠ0Module_type_withF? ?F? ?&@+-ࠠ!kdF? ?(F? ?)@@@=7@@@5Q @@F? ?+F? ?,@@=:@@H@5R@@@G? ?G? ?.@@FE@5M@@@&@@N@@N@@ఐ\$iterG?2?:G?2?>@9@@@\Q@F@50FFFFFFFF@)("@#@G%@@@@ภ$SomeG!?2?@G"?2?D@,ఐ9!kG+?2?EG,?2?F@@@qG@5@@G1?2??G2?2?G@@{E@5!@@'@@sE@5#@Ġ$SomeGE?H?NGF?H?R@,ؠĠ2Module_type_structGN?H?TGO?H?f@,5@GS?H?gGT?H?h@@=ؠ=@@J@5Y@@J@5Xp@@@G]?H?SG^?H?i@@E@5Tu@@@@@v@@v@Ġ$SomeGj?j?pGk?j?t@,Ġ2Module_type_typeofGs?j?vGt?j?@*U@Gx?j?Gy?j?@@=@@J@5^@@@G~?j?uG?j?@@E@5[@@@@@@@@@?@@@Ġ$NoneG??G??@,@@@@@@@@K@@@@ภ$G??G??@$@@@ E@5E@5@@AG>$>(@@E@5>@@A A@@@@60GGGGGGGG@@@@@G>>@@ఐ$iterG??G??@ٰ@@@-D,@@D@6@@D@6@D@6@@ఐ-"mtG??G??@@@@@'mt_kindG??G??@*e @@-e,@@E@6@@E@6E@6 E@6@@.@@@9@@OD@56@@ACA@@YT@@6$0GGGGGGGG@B@@@E ` The module type is a functor if it is defined as a functor or if it is an alias for a functor. G==G==@@@@@@@G==$@@%@f@ࠠ1module_is_functorfG@@H@@.@@@@'@@@7D@6'-f@@@7D@6(@@6)D@6&o@@!mhH@@/H@@0@@@0HHHHHHHH@}#H!@@H"AB@@@@@Aࠠ$iteriH-@3@=H.@3@A@@@@)@@@6}E@6.@@@@@6E@60-@@@6ME@6/@@64@E@630H-H,H,H-H-H-H-H-@'3@@*@HT@@@@'visitedjHQ@3@BHR@3@I@@@"0H>H=H=H>H>H>H>H>@-@)@$@@61@@62F@6-@.@Hk@@@@@-yoĠ.Module_functorHi@U@[Hj@U@i@&@Hn@U@jHo@U@k@@B@@H@6>0H]H\H\H]H]H]H]H]@ ,D@#@H@@@@ @B@@H@6? @@@@@FE@6;E@68@@ภ-H@U@oH@U@s@-@@@KE@6K@Ġ,Module_aliasH@t@zH@t@@)ࠠ"makH@t@H@t@@@@B@@@6B0HHHHHHHH@/@@@@@@@'@@డGa"&&H@@H@@@@;@@@H@A@@@GE@@@F@@E@@D(%sequandBA?@@@@<##<##3@@<]@@@@@F@6U@@@F@6T@@F@6S@F@6R@F@6Q0HHHHHHHH@eA;@<@H@@@@డG#notH@@H@@@u@@@u@@G@6er@@G@6d@G@6c0HHHHHHHH@@@@@డI#Set#mem&StringI@@I@@@(ð@@@(@@H@6r@*@@H@6q(@@H@6p@H@6o@H@6n#@@ఐ"maI!@@I"@@@J@@)d@@I@6@67@'ma_nameI-@@I.@@@)^@@D@@I@6A@@ఐ'visitedI=@@I>@@@ʰ@@N@@IA@@IB@@@@@@H@6lH@6I@6|X@@d @@@@G@6aG@6H@6k`@@ఐĠ"maI`@@Ia@@@@@)@@H@6@6@)ma_moduleIl@@Im@@@)@@DD@@@6@@@6@Ġ$NoneI@AI@A@.@@@@DD@@J@6@@J@6@@@@ภ&I@A I@A@&@@@@@H@7H@6@Ġ$SomeIAAIAA"@/4Ġ#ModIAA$IAA'@)ࠠ"momIAA(IAA*@@@F,@@@60IIIIIIII@@@@@@IAA#IAA+@@E/@@J@6@@@ @@E7E6@@J@6@@J@6@@@@ఐ$iterIAA/IAA3@}@@@@@H@6@H@60IIIIIIII@+%@&@I@@@@డI#Set#add&StringIAA5IAAC@) @@@)@@I@6@+@@I@6+@@I@6@I@6@I@6&@@ఐn"maJ AADJ AAF@3@@*M@@J@6@6:@'ma_nameJAAGJAAN@*G@@E@@J@6D@@ఐ٠'visitedJ&AAOJ'AAV@@@Q@@J*AA4J+AAW@@+@@E@6W@@ఐ"moJ;AAXJ<AAZ@c@@)@@I@7@6k@&m_kindJGAA[JHAAa@)@@r@@z@@H@7u@Ġ$SomeJWAbAnJXAbAr@/Ġ'ModtypeJ`AbAtJaAbA{@(ࠠ"mtnJiAbA|JjAbA~@@@F@@@6@@@JpAbAsJqAbA@@E@@J@6@@@@@EE@@J@6@@J@6@@@@ఐ6module_type_is_functorJAbAJAbA@@@@-@@H@7/@@H@7@H@70J{JzJzJ{J{J{J{J{@.(@)@J@@@@ఐ6"mtJAbAJAbA@@@-:@@I@7I@7I@7@@$ @@H@7@@AJ@@@@@@G@6`G@7@@J@@JAA@@zE@6_E@6O@Ġ1Module_constraintJAAJAA@'/ࠠ!klJAAJAA@@@D@@@6F0JJJJJJJJ@^@@@@JAAJAA@@D@@H@6G @@@JAA@@_ @@ఐ$iterJAAJAA@@@@@@F@7@F@70JJJJJJJJ@z'!@"@J@@@@ఐ'visitedJAAJAA@@@@@ఐ@@Ah`A@@~y@@80KnKmKmKnKnKnKnKn@g@@@IJ [ The module is a functor if it is defined as a functor or if it is an alias for a functor. K??K?@@@@@@@@r@rq@򠰡@ࠠ2module_type_valuespKBBKBB@@@%trans11@@@8WD@8@@@8D@8@B@@@8UD@8)?ѠI@@@8=@@@8KBBKBB@@@@@@ࠠ>s?KBB@@@>D@8XD@80KKKKKKKK@#1E@@@8 @"@L @@@ఐ.1K KBBA@1R@@@80KKKKKKKK@@@@Ġ1K1ࠠ1t1KͰL BB<@@dI@8@@@@2g@@H@8@@@@ఐ 1K @ @L' @4D@80LLLLLLLL@2@@@Ġ1K1@@@2'|@@H@8*@@*@@ภ1!\@1@"@HD@8 E@82@@Aa@IF@@K@@!muL;BBL<BB@@@0L(L'L'L(L(L(L(L(@T]Y@Z@LO @@@@ఐ@w&valuesLKBBLLBB@>@@@@s@n@@D@84@@D@83@kJu@@D@82@@D@81@D@800LHLGLGLHLHLHLHLH@!-@$@Lo @@@@ఐ2y4module_type_elementsLnBBLoBB@2?@@2y2u2r@@E@8G@@E@8F@CT@@E@8E?C@@E@8D@@E@8C@E@8B@E@8A(@2ภ)LM2ఐ%transLBBLBB@V@@9@@@2@@F@8Y=@@ఐn!mLBBLBB@G@@J@@LBB@@@Ѡ@@@E@8?@@E@8>E@8\E@8SW@@k@@D@8.Z@@A~A@@@D@8`0LLLLLLLL@}@@@@ D@8 Ӡ/-L/,L@@A@2Š@@@8c@@8b0LLLLLLLL@@@@J Returns the list of values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.LBBLBIB@@@@@@@@@@ࠠ1module_type_typesvLCwC{LCwC@@@%trans22@@@8D@8h@@@8iD@8e@C@@@8D@8AJ@@@8@@@8D@8@@8D@8f@@8gD@8d0LLLLLLLL@Doi@j@M@@@%2x2L԰MCwCMCwCA@3*@@E@8m0MMMMMMMM@>MCwCwMCwC@@@@@@ࠠ>y?M)CwC@@@>D@8D@8q0MMMMMMMM@#33E@@@8l@"@MC@@@ఐ.2L M=CwCA@3@R@@@8s0M,M+M+M,M,M,M,M,@@@@Ġ2M 2۠ࠠ2z2MMPCwC<@@dI@8w@@@@3Ug@@H@8x@@@@ఐ 2M @ @Mj@4D@80MIMHMHMIMIMIMIMI@2@@@Ġ2M)2@@@3j|@@H@8}*@@*@@ภ2̰!\@2@"@HD@8E@82@@Aa@IF@@M5@@!m{M~CwCMCwC@@@0MkMjMjMkMkMkMkMk@T]Y@Z@M@@@@ఐ@ %typesMCwCMCwC@>@@@AA@@D@8@@D@8AK@@D@8@@D@8@D@80MMMMMMMM@!-@$@M@@@@ఐ34module_type_elementsMCwCMCwC@3@@333@@E@8@@E@8@D@@E@8@ϠDD@@E@8@@E@8@E@8@E@8(@3ѐภ+7M3`ఐ%transMCwCMCwC@V@@9@@@3ܠ@@F@8=@@ఐn!mMCwCMCwC@G@@J@@MCwC@@BB@@E@8@@E@8E@8E@8W@@k@@D@8Z@@A~A@@@D@80MMMMMMMM@}@@@@ D@8pӠ0pM0oM@@A@4@@@8@@80MMMMMMMM@@@@KА ~ Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.NBBNCCv@@@@@@@@@@ࠠ;module_type_type_extensions|N$DTDXN%DTDs@@@%trans4140@@@9D@8@@@8D@8@E@@@9D@8BWLO@@@9@@@9D@8@@8D@8@@8D@80N4N3N3N4N4N4N4N4@Doi@j@N[ @@@%4/~44NNWDTDvNXDTDA@4[*@@E@80NGNFNFNGNGNGNGNG@>NaDTDTNbDTD@@@@@@ࠠ>?NlDTD{@@@>D@9D@80N[NZNZN[N[N[N[N[@#4vE@@@8@"@N@@@ఐ.4%N@ NDTDtA@4R@@@80NoNnNnNoNoNoNoNo@@@@Ġ4"NN4ࠠ44NSNDTD|<@@dI@8@@@@4g@@H@8@@@@ఐ 4N_ @ @N@4D@80NNNNNNNN@2@@@Ġ4Nl4@@@4|@@H@8*@@*@@ภ4!\@4@"@HD@8E@82@@Aa@IF@@Nx@@!mNDTDNDTD@@@0NNNNNNNN@T]Y@Z@N@@@@ఐ?점/type_extensionsNDTDNDTD@>m@@@BB@@D@8@@D@8BL@@D@8@@D@8@D@80NNNNNNNN@!-@$@N@@@@ఐ44module_type_elementsNDTDNDTD@4Ű@@444@@E@9 @@E@9 @E@@E@9 BE@@E@9 @@E@9 @E@9@E@9(@5ภ,zN4ఐ%transODTDODTD@V@@9@@@5@@F@9=@@ఐn!mO+DTDO,DTD@G@@J@@O/DTD@@CWCR@@E@9@@E@9E@9"E@9W@@k@@D@8Z@@A~A@@@D@9&0O+O*O*O+O+O+O+O+@}@@@@ D@8Ӡ1O1O@@A@5K@@@9)@@9(0O7O6O6O7O7O7O7O7@@@@M Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.OYCCOZCDS@@@@@@@@@@ࠠ6module_type_exceptionsOgE@EDOhE@EZ@@@%trans5t5s@@@9D@9.@@@9/D@9+@FY@@@9~D@9RCM@@@9f@@@9eD@9S@@9TD@9,@@9-D@9*0OwOvOvOwOwOwOwOw@Doi@j@O@@@%5r5wOZOE@E]OE@EgA@5*@@E@930OOOOOOOO@>OE@E@OE@E@@@@@@ࠠ>?OE@Eb@@@>D@9D@970OOOOOOOO@#5E@@@92@"@O@@@ఐ.5hO OE@E[A@5ƠR@@@990OOOOOOOO@@@@Ġ5eO5aࠠ5[5\OOE@Ec<@@dI@9=@@@@5۠g@@H@9>@@@@ఐ 5ZO @ @O@4D@9F0OOOOOOOO@2@@@Ġ5XO5T@@@5|@@H@9C*@@*@@ภ5R!\@5Q@"@HD@9IE@9G2@@Aa@IF@@O@@!mPE@EiPE@Ej@@@0OOOOOOOO@T]Y@Z@P@@@@ఐ?͠*exceptionsPE@EmPE@Ew@>N@@@D<D7@@D@9]@@D@9\D4N@@D@9[@@D@9Z@D@9Y0PPPPPPPP@!-@$@P8@@@@ఐ6B4module_type_elementsP7E@EyP8E@E@6@@6B6>6;@@E@9p@@E@9o@G@@E@9nCUF@@E@9m@@E@9l@E@9k@E@9j(@6Wภ-P5ఐ%transP]E@EP^E@E@V@@9@@@6b@@F@9=@@ఐn!mPnE@EPoE@E@G@@J@@PrE@Ex@@DD@@E@9h@@E@9gE@9E@9|W@@k@@D@9WZ@@A~A@@@D@90PnPmPmPnPnPnPnPn@}@@@@ D@96Ӡ2PK2PK@@A@6@@@9@@90PzPyPyPzPzPzPzPz@@@@NV Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.PDDPDE?@@@@@@@@@@ࠠ3module_type_classesPFF#PFF6@@@%trans66@@@9D@9@@@9D@9@G@@@9D@9DݠO @@@9@@@9D@9@@9D@9@@9D@90PPPPPPPP@Doi@j@P@@@%66PPFF9PFFCA@6*@@E@90PPPPPPPP@>PFFPFFp@@@@@@ࠠ>?PFF>@@@>D@9D@90PPPPPPPP@#6E@@@9@"@Q @@@ఐ.6P QFF7A@7 R@@@90PPPPPPPP@@@@Ġ6P6ࠠ66PٰQFF?<@@dI@9@@@@7g@@H@9@@@@ఐ 6P @ @Q3@4D@90QQQQQQQQ@2@@@Ġ6P6@@@73|@@H@9*@@*@@ภ6!\@6@"@HD@9E@92@@Aa@IF@@P@@!mQGFFEQHFFF@@@0Q4Q3Q3Q4Q4Q4Q4Q4@T]Y@Z@Q[@@@@ఐ?'classesQWFFIQXFFP@>/@@@EEz@@D@9@@D@9EwO@@D@9@@D@9@D@90QTQSQSQTQTQTQTQT@!-@$@Q{ @@@@ఐ74module_type_elementsQzFFRQ{FFf@7K@@777~@@E@9@@E@9@H`@@E@9DH @@E@9@@E@9@E@9@E@9(@7ภ/QY7)ఐ%transQFFhQFFm@V@@9@@@7@@F@9=@@ఐn!mQFFnQFFo@G@@J@@QFFQ@@EݠE@@E@9@@E@9E@9E@9W@@k@@D@9Z@@A~A@@@D@90QQQQQQQQ@}@@@@ D@9Ӡ49Q48Q@@A@7Ѡ@@@9@@90QQQQQQQQ@@@@O Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.QEEQEF@@@@@@@@@@ࠠ7module_type_class_typesQFGQFG@@@%trans77@@@:FD@9@@@9D@9@H@@@:DD@:F P:@@@:,@@@:+D@:@@:D@9@@9D@90QQQQQQQQ@Doi@j@R$@@@%77QR FGR!FG$A@8$*@@E@90RRRRRRRR@>R*FFR+FGU@@@@@@ࠠ>?R5FG@@@>D@:GD@90R$R#R#R$R$R$R$R$@#8?E@@@9@"@RO"@@@ఐ.7R  RIFGA@8LR@@@90R8R7R7R8R8R8R8R8@@@@Ġ7R7ࠠ77RR\FG <@@dI@:@@@@8ag@@H@:@@@@ఐ 7R( @ @Rv$@4D@: 0RURTRTRURURURURU@2@@@Ġ7R57@@@8v|@@H@: *@@*@@ภ7ذ!\@7@"@HD@:E@: 2@@Aa@IF@@RA@@!mRFG&RFG'@@@0RwRvRvRwRwRwRwRw@T]Y@Z@R#@@@@ఐ?+class_typesRFG*RFG5@>@@@F F@@D@:#@@D@:"FP@@D@:!@@D@: @D@:0RRRRRRRR@!-@$@R%@@@@ఐ8Ƞ4module_type_elementsRFG7RFGK@8@@88Ġ8@@E@:6@@E@:5@I@@E@:4E۠IP@@E@:3@@E@:2@E@:1@E@:0(@8ݐภ0CR8lఐ%transRFGMRFGR@V@@9@@@8@@F@:H=@@ఐn!mRFGSRFGT@G@@J@@RFG6@@G G@@E@:.@@E@:-E@:KE@:BW@@k@@D@:Z@@A~A@@@D@:O0RRRRRRRR@}@@@@ D@9Ӡ5|R5{R@@A@9@@@:R@@:Q0SRRSSSSS@@@@Pܐ Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.S"FrFrS#FF@@@@@@@@@@ࠠ3module_type_modulesS0GGS1GG@@@%trans9=9<@@@:D@:W@@@:XD@:T@J"@@@:D@:{GcQ@@@:@@@:D@:|@@:}D@:U@@:VD@:S0S@S?S?S@S@S@S@S@@Doi@j@Sg!@@@%9;9@S#ScGGSdGHA@9g*@@E@:\0SSSRSRSSSSSSSSSS@>SmGGSnGH/@@@@@@ࠠ>?SxGG@@@>D@:D@:`0SgSfSfSgSgSgSgSg@#9E@@@:[@"@S'@@@ఐ.91SL SGGA@9R@@@:b0S{SzSzS{S{S{S{S{@@@@Ġ9.SZ9*ࠠ9$9%S_SGG<@@dI@:f@@@@9g@@H@:g@@@@ఐ 9#Sk @ @S)@4D@:o0SSSSSSSS@2@@@Ġ9!Sx9@@@9|@@H@:l*@@*@@ภ9!\@9@"@HD@:rE@:p2@@Aa@IF@@S@@!mSGHSGH@@@0SSSSSSSS@T]Y@Z@S(@@@@ఐ?p'modulesSGHSGH@=@@@HH@@D@:@@D@:GRY@@D@:@@D@:@D@:0SSSSSSSS@!-@$@T*@@@@ఐ: 4module_type_elementsTGHTGH%@9Ѱ@@: ::@@E@:@@E@:@J@@E@:GJ@@E@:@@E@:@E@:@E@:(@: ภ1S9ఐ%transT&GH'T'GH,@V@@9@@@:+@@F@:=@@ఐn!mT7GH-T8GH.@G@@J@@T;GH@@HcH^@@E@:@@E@:E@:E@:W@@k@@D@:Z@@A~A@@@D@:0T7T6T6T7T7T7T7T7@}@@@@ D@:_Ӡ6T6T@@A@:W@@@:@@:0TCTBTBTCTCTCTCTC@@@@R Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.TeGWGWTfGG@@@@@@@@@@ࠠ8module_type_module_typesTsHHTtHH@@@%trans::@@@; D@:@@@:D@:@Ke@@@; D@:HR@@@:@@@:D@:@@:D@:@@:D@:0TTTTTTTT@Doi@j@T&@@@%:~:TfTHHTHHA@:*@@E@:0TTTTTTTT@>THHTHI@@@@@@ࠠ>?THH@@@>D@; D@:0TTTTTTTT@#:ŠE@@@:@"@T,@@@ఐ.:tT THHA@:ҠR@@@:0TTTTTTTT@@@@Ġ:qT:mࠠ:g:hTTHH<@@dI@:@@@@:g@@H@:@@@@ఐ :fT @ @T.@4D@:0TTTTTTTT@2@@@Ġ:dT:`@@@:|@@H@:*@@*@@ภ:^!\@:]@"@HD@:E@:2@@Aa@IF@@T@@!mUHHUHH@@@0TTTTTTTT@T]Y@Z@U$-@@@@ఐ?Q)mod_typesU HHU!HH@=Ұ@@@IHIC@@D@:@@D@:I@S@@D@:@@D@:@D@:0UUUUUUUU@!-@$@UD/@@@@ఐ;N4module_type_elementsUCHHUDHI @;@@;N;J;G@@E@:@@E@:@L)@@E@:HaK@@E@:@@E@:@E@:@E@:(@;cภ2U":ఐ%transUiHI UjHI@V@@9@@@;n@@F@;=@@ఐn!mUzHIU{HI@G@@J@@U~HH@@II@@E@:@@E@:E@;E@;W@@k@@D@:Z@@A~A@@@D@;0UzUyUyUzUzUzUzUz@}@@@@ D@:Ӡ8UW8UW@@A@;@@@;@@;0UUUUUUUU@@@@Sb Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.UH1H1UHcH@@@@@@@@@@ࠠUIIUIJ@@@@@@ࠠ>?UII@@@>D@;pD@;&0UUUUUUUU@#<E@@@;!@"@V1@@@ఐ.;U VIIA@<R@@@;(0VVVVVVVV@@@@Ġ;U;ࠠ;;UV%II<@@dI@;,@@@@<*g@@H@;-@@@@ఐ ;U @ @V?3@4D@;50VVVVVVVV@2@@@Ġ;U;@@@W6JJW7JJ@@@@@@ࠠ>?WAJJ@@@>D@;D@;0W0W/W/W0W0W0W0W0@#=KE@@@;@"@W[6@@@ఐ.<W WUJJA@=XR@@@;0WDWCWCWDWDWDWDWD@@@@Ġ<W#<ࠠ<<W(WhJJ<@@dI@;@@@@=mg@@H@;@@@@ఐ <W4 @ @W8@4D@;0WaW`W`WaWaWaWaWa@2@@@Ġ<WA<@@@=|@@H@;*@@*@@ภ<!\@<@"@HD@;E@;2@@Aa@IF@@WM@@!mWJJWJJ@@@0WWWWWWWW@T]Y@Z@W7@@@@ఐ@u(commentsWJJWJJ@>@@@KΠK@@D@;@@D@;KƠU@@D@;@@D@;@D@;0WWWWWWWW@!-@$@W9@@@@ఐ=Ԡ4module_type_elementsWJJWJJ@=@@==Р=@@E@;@@E@;@N@@E@;JN\@@E@;@@E@;@E@;@E@;(@=ภ5OW=xఐ%transWJJWJJ@V@@9@@@=@@F@;=@@ఐn!mXJJXJJ@G@@J@@XJJ@@L,L'@@E@;@@E@;E@;E@;W@@k@@D@;Z@@A~A@@@D@;0XWWXXXXX@}@@@@ D@;Ӡ:W:W@@A@> @@@;@@;0X X X X X X X X @@@@U萠 Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.X.J J X/J7J@@@@@@@@@@ࠠ5module_type_functionsX< KzK~X= KzK@@@%trans>I>H@@@I>NX1Xq KzKXr KzKA@>u,@@E@;0XaX`X`XaXaXaXaXa@@X{ KzKzX|KL @@@@@@ࠠ@AX KzK@@@@D@G@@@;@"@X;@@@ఐ.>?XZ X KzKA@>T@@@;0XXXXXXXX@@@@Ġ><Xh>8ࠠ>2>3XmX KzK<@@fI@;@@@@>i@@H@;@@@@ఐ >1Xy @ @X=@4D@;0XXXXXXXX@2@@@Ġ>/X>+@@@>Ǡ~@@H@;*@@*@@ภ>)!\@>(@"@HD@;E@;2@@Aa@IF@@X@@"mtX KzKX KzK@@@0XXXXXXXX@T]Y@Z@X<@@@@డW$List&filterX KKX KK@0@@@@0@@D@<@D@<@0@@D@<1A@@D@<@D@<@D@<0XXXXXXXX@%1@(@Y>@@@@@!vYKKYKK@@@@@డW3+is_function*Odoc_valueY"KKY#KK@0z@@@1d@@E@<-0z@@E@<,@E@<+0YYYYYYYY@,$@@Y>?@@@@ఐ,!vY;KKY<KK@@@@@@@0@@E@<9E@<8@@AYEKKYFKK@@@0@@E@<"@E@l@@ఐ?4module_type_elementsYzKKY{KK@?K@@???~@@F@![v> [v@@A`@A@@@=@@=0[[[[[[[[@@@@Y Returns the list of non-functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.[L L [LLL@@@@@@@@@Z| , {1 Functions for modules and module types} [MCMC[MCMt@@@@@@0[[[[[[[[@@@[@@@Aࠠ2module_all_classes[N"N*[N"N<@@@%transAA@@@?lD@=*@@D@=+D@=&@Zk@@@>BD@=OMZE@@@>D@>@@@>D@=@@=%@D@=$3@!AA[հ\N"N?\N"NIA@B&@@E@=/0\\\\\\\\@D:6B%2D@=@@@=@.)@@=@@=E@=@@@\8F7module_type_all_classes%transB6CD@=@@@=@Z@@@>$D@= O?D@>@@@?D@=!@@="@@=#E@=@\I)P#P'\J)P#P>@@\YG@@@@@ࠠef@\UN"ND@B@@qD@?mD@?ND@?OD@?2D@?3D@>ED@>FD@=30\P\O\O\P\P\P\P\P@LZBkx@@@=.@Y@\{H@@@ఐeB\5 \uN"N=\v%OSOpA@By@@@=50\e\d\d\e\e\e\e\e@@@@ĠB\DBࠠBB\I\N"NEt@@I@=9@@@@B@@H@=:@@@@ఐ B \U @ @\J@AD@=B0\\\\\\\\@3@@@ĠB \bB@@@B@@H@=?*@@*@@ภB!@B@"@]D@>'D@>(D@> D@> D@=EE@=C:@@A@^O@@\v@@!m\N"NK\N"NL@@@D@>CD@=N0\\\\\\\\@avr@s@\I@@@@డ[$List)fold_left\NONQ\NON_@P@@@@D@>D@=D@=D@=X@D@=Z @D@=\@D@=[@ @Q@@D@=Y@D@=W@D@=V@D@=U0\\\\\\\\@*:0@1@]K@@@@@#acc]N`Ni]N`Nl@@@&0\\\\\\\\@@@@@@!m]N`Nt]N`Nu@@@D@=t0\\\\\\\\@%9@@]$L@@@@డ[!@] N`N}]!N`N~@Pz@@@Pz"D@=}@@E@=@Pw@@E@=~QE @@E@=|@E@={@E@=z0]]]]]]]]@#1'@(@]FM@@@@ఐG#acc]CN`Ny]DN`N|@0@@i@@ఐj2module_all_classes]RN`N]SN`N@6@@jCY4@@F@=@a\@F@=@F@=(@rภ:]$Bఐ%trans]kN`N]lN`N@@@9@@@Cp@@G@==@@ఐr!m]|N`N]}N`N@G@@nJ@@]N`N]N`N@@M@@@@@D@=D@=xR@@A]N`Np@@@@E@=E@=0]w]v]v]w]w]w]w]w@z@@@@A]N`Nd]N`N@@@@@E@=k@E@=jE@=0]]]]]]]]@@@@@డ\Y$List)fold_left] NN] NN@Q@@@@E@=@wD@=@E@=@E@=@@Qڠ@@E@= @E@=@E@=@E@=@@@#acc ]!NN]!NN@@@@@@$mtypà]!NN]!NN@@@E@=0]]]]]]]]@/@@]N@@@@డ\!@]!NN]!NN@QA@@@QAD@=@@F@=@Q>@@F@=R  @@F@=@F@=@F@=0]]]]]]]]@#1'@(@^ O@@@@ఐF#acc^ !NN^ !NN@0@@_@@ఐꠐ7module_type_all_classes^!NN^!NN@@@D @@G@=@@G@=@G@=(@ภ;]Cఐܠ%trans^2!NN^3!NN@l@@9@@@D7@@H@==@@ఐr$mtyp^C!NN^D!NO@G@@nJ@@^G!NN^H!NO@@ M@@@@@D@=E@=E@=S@@A^P!NN @@@@F@=F@=0^?^>^>^?^?^?^?^?@{@@@@A^W!NN^X!NO@@@@@F@=@F@=F@=\@@ఐ/ .module_classes^k"OO^l"OO@-@@/DrDo@@F@=@@F@=@Z@@F@=R\@@F@=@@F@=@F@=@F@=@/3ภ;^JDఐ;%trans^"OO^"OO#@˰@@=@@@D@@@G@> @@ఐ砐!m^"OO$^"OO%@@@@@^"OO ^"OO&@@\E@>@@ఐ+3module_module_types^#O'O/^#O'OB@*9@@+DD@@F@>@@F@>@[:@@F@>R۠]'@@F@>@@F@>@F@>@F@>@+ภ<<^Deఐ%trans^#O'OD^#O'OI@@@@@@D@@G@>)@@ఐ2!m^#O'OJ^#O'OK@@@.@@^#O'O.^#O'OL@@SH@@F@=F@>,F@># @@^NN^$OMOR@@P@@ఐ-9.module_modules_ %OSOX_ %OSOf@+а@@-7EE@@E@>5@@E@>4@[@@E@>3S/]@@E@>2@@E@>1@E@>0@E@>/3@-Lภ<^Dఐڠ%trans_0%OSOh_1%OSOm@j@@D@@@E5@@F@>GH@@ఐ!m_A%OSOn_B%OSOo@R@@U@@_E%OSOW@@Smg@@E@=iE@>JE@>A_@@y@@rD@=S@@AA@@wD@=O@D@>M0_@_?_?_@_@_@_@_@@@@@@aD@=PD@=2A_A_@@A@sEbo@@@>Pj@@>O0_N_M_M_N_N_N_N_N@I@@@]* The list of classes defined in this module and all its modules, functors, .... @param trans indicates if, for aliased modules, we must perform a transitive search._pMvMv_qMN!@@@@@@@_sN"N"@MM10@2@JED@>Q@@D@>RD@=)@JE@@=(@D@='0_o_n_n_o_o_o_o_o@@@@VEgĠEl_O_)P#PA_)P#PKA@E@@E@>V0__~_~_____@z@@@@@ࠠjŠk_)P#PF@@@>E@>Z0________@E'@@@>U@@_P@@@ఐ'EV_q _)P#P?_2Q`QA@E5@@@>\0________@@@@ĠET_EPࠠEJƠEK__)P#PG6@@mI@>`@@@@EʠJ@@H@>a@@@@ఐ EI_ @ @_R@yE@>i0________@3@@@ĠEG_EC@@@Eߠ_@@H@>f*@@*@@ภEA!V@E@@"@E@>lE@>j3@@A\@IH@@_@@"mtǠ_)P#PM_)P#PO@@@D@?jD@>u0________@Za]@^@` Q@@@@డ^$List)fold_left` *PRPT` *PRPb@S@@@@D@>D@>@D@>@D@>@D@>@ @TA @@D@>@D@>~@D@>}@D@>|0` ` ` ` ` ` ` ` @(8.@/@`3S@@@@@#accȠ`3+PcPl`4+PcPo@@@$0` ``` ` ` ` ` @@@@@@!mɠ`A+PcPw`B+PcPx@@@HD@>0`0`/`/`0`0`0`0`0@%7@@`WT@@@@డ_!@`S+PcP`T+PcP@S@@@SU@@E@>@S[@@E@>Tv_@@E@>@E@>@E@>0`P`O`O`P`P`P`P`P@!/%@&@`wU@@@@ఐE#acc`t+PcP|`u+PcP@.@@e@@ఐ2module_all_classes`+PcP`+PcP@g@@Fe@@F@>@@F@>@F@>(@ภ=`UF%ఐ%trans`+PcP`+PcP@@@9@@@F@@G@>=@@ఐp!m`+PcP`+PcP@G@@lJ@@`+PcP`+PcP@@M@@@@@D@>D@>R@@A`+PcPs@@@@E@>E@>0````````@x@@@@A`+PcPg`+PcP@@@@@E@>@E@>E@>0````````@@@@@డ_$List)fold_left`-PP`-PP@T@@@@E@>@E@>@E@>@E@>@@U  @@E@>@E@>@E@>@E@>@@@#accʠ`.PP`.PP@@@@@@$mtypˠa.PPa.PP@@@E@>0````````@0@@aV@@@@డ_!@a.PPa.PP@Ts@@@Ts@@F@>@Tn@@F@>U<@@F@>@F@>@F@>0aaaaaaaa@!/%@&@a=W@@@@ఐD#acca:.PPa;.PP@.@@^@@ఐ7module_type_all_classesaI.PPaJ.PP@@@GP@@G@?@@G@?@G@?(@$ภ>aFఐ %transab.PPac.PP@g@@9@@@Gg@@H@?=@@ఐp$mtypas.PQat.PQ@G@@lJ@@aw.PPax.PQ@@9M@@@@@D@?E@?E@>S@@Aa.PP @@@@F@?F@?0aoananaoaoaoaoao@y@@@@Aa.PPa.PQ@@@@@F@>@F@>F@?Y@@ఐ3module_type_classesa/QQa/QQ"@@@GG@@F@?"@@F@?!@X@@F@? U_@@F@?@@F@?@F@?@F@?@ภ?!azGJఐ!%transa/QQ$a/QQ)@ư@@#@@@GƠ&@@G@?4@@ఐ⠐"mta/QQ*a/QQ,@@@@@a/QQa/QQ-@@\E@?.@@ఐ s8module_type_module_typesa0Q.Q6a0Q.QN@ @@ qGG@@F@?>@@F@?=@X@@F@?<V `W@@F@?;@@F@?:@F@?9@F@?8@ ภ?laGఐl%transb 0Q.QPb 0Q.QU@@@n@@@Hq@@G@?P@@ఐ-"mtb0Q.QVb0Q.QX@@@)@@b!0Q.Q5b"0Q.QY@@VJG@@F@>F@?SF@?J @@b,,PPb-1QZQ_@@O@@ఐ 3module_type_modulesb:2Q`Qeb;2Q`Qx@ @@HAH>@@E@?\@@E@?[@Y @@E@?ZV_`@@E@?Y@@E@?X@E@?W@E@?V0@ภ?bGఐ%transb`2Q`Qzba2Q`Q@e@@A@@@He@@F@?nE@@ఐ"mtbq2Q`Qbr2Q`Q@O@@}R@@bu2Q`Qd@@Ve@@E@>E@?qE@?h\@@t@@mD@>z@@AA@@rD@>v@D@?t0bpbobobpbpbpbpbp@@@@@D@>wD@>Y頰DbODbO@@A@^H@@@?w@@?v0b~b}b}b~b~b~b~b~@y@@@`Z The list of classes defined in this module type and all its modules, functors, .... @param trans indicates if, for aliased modules, we must perform a transitive search.b'OrOrb(OP"@@@@@@@b)P#P#@@2@@bAb@a]aE@@aAAa/@a.`C@@a(a"A@`E_-B@`^B@`0^=B@`+]B@`&]B@a#[B@`YB@_YHB@aXXB@VU@UDS@SR_@RP@Q$O@ON?@NdL@MK@KJ@JDH@HH@E#Gc?G@ H en Automatique. cDHcEHg@ H cJIhhcKIh@ H All rights reserved. This file is distributed under the terms of cPJcQJ@ H the GNU Lesser General Public License version 2.1, with the cVKcWKN@ H special exception on linking described in the file LICENSE. c\LOOc]LO@ H cbMccM@ H************************************************************************chNciN5@ ?* Representation and manipulation of modules and module types. b -* To keep the order of elements in a module. a) 8* Used where we can reference t_module or t_module_type ` "* the name of the included module _ %* the included module or module type _| .* comment associated to the include directive __ :* the real module or module type if we could associate it ^ߠ+* the name ^+* the type ^q4* the original code ^[ "* the way the parameter was built ^E=* Different kinds of module. ` 8* complete name and corresponding module if we found it ] 0* by now only the code of the module expression ]] /* code of the expression and module type alias ]A>* Representation of a module. `砠 -* true for modules read from interface files \: %* the file the module is defined in. \$ 5* The toplevels module names this module depends on. [?* The whole code of the module [Ҡ 0* The whole code of the interface of the module [ .* [true] if the module comes from a text file [ 0* the real module type if we could associate it Zu "* Different kinds of module type. `䠠 =* complete name and corresponding module type if we found it Z ;* the module type kind and the code of the with constraint Y䠠 0* by now only the code of the module expression Y͠ #* Representation of a module type. `ޠ * [None] = abstract module type Y -* true for modules read from interface files Y ** the file the module type is defined in. X * [None] = abstract module type if mt_type = None ; Always [None] when the module type was extracted from the implementation file. XԠ0* {1 Functions} X <* Returns the list of values from a list of module_element. V\ ;* Returns the list of types from a list of module_element. T E* Returns the list of type extensions from a list of module_element. S @* Returns the list of exceptions from a list of module_element. R? =* Returns the list of classes from a list of module_element. Pࠠ A* Returns the list of class types from a list of module_element. O =* Returns the list of modules from a list of module_element. N" B* Returns the list of module types from a list of module_element. Là D* Returns the list of module comment from a list of module_element. Kd F* Returns the list of included modules from a list of module_element. J * Returns the list of elements of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.FG * Returns the list of elements of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. = ` visited is used to guard against aliases loop (e.g [module rec M:sig end=M] induced loop. c } }c  @7 FIXME : use k or tk ? c$g$qc$g$@ module_type_elements ~trans: trans { mt_name = "" ; mt_info = None ; mt_type = None ; mt_is_interface = false ; mt_file = "" ; mt_kind = Some tk ; mt_loc = Odoc_types.dummy_loc } d"&e&ed'''')@ * Returns the list of values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.gc 7پI{YG)Longident0{C 3CdŐ0KH(1Xk5o\aǐ0B=1B kKFa0ǕF/!LѠa0^ z $G:A)Odoc_misc0+[۶r0Jd0Vj>S qcw07k纤᮵o?.Odoc_parameter0OTQ͓5ų#à)Odoc_type0Ig@;sDphX*Odoc_types0qТ4c*Odoc_value0](L8.ђH+Outcometree0xHU ͧTƠ)Parsetree03p雲Ҳ$$Path0"nA_8K 1)Primitive0.>}7Fmd*ՠ%Shape0-#\wz5&Stdlib0>,W:(.Stdlib__Buffer0'ON͋[h#ڗA.Stdlib__Digest0@~8x2.Stdlib__Either0 }rCT0J){9).Stdlib__Format0=z+.m׸/Stdlib__Hashtbl0!z9ϸ@`VǠ,Stdlib__Lazy0'rruSZY.Stdlib__Lexing0zsc\ZoQ,Stdlib__List0E &xa+Stdlib__Map0ҭfȨ؜ׇ0+Stdlib__Seq0yt\eǟ&Q,}+Stdlib__Set0PSVl8 ;.Stdlib__String0L%BWx:6-Stdlib__Uchar0 |K?bޣ ˠ.Type_immediacy0Xp '%Types0AF3Ai4(Warnings0Ӷ.5S6V@0Vj>S qAw@bc @02b@@bbbb@34=?@>G@6 7t7N8UV@dd6@@PRu@   8bc@eϰ/!",OQ@ h M@#KPK@cDcU@bbհbbc)d@VX bb@KvLcc@8:@46J@ M P o @./@@@(.n./1F;>@@@p 2g3Ѱ9<R{Scc@.^.aSUaXY@N[O@LNz@@Pe@dMBdFdG@AeBd[@eeeBeB@R@Q@@@AT(@R@@N@M!@@ABU@T@@CDd!AcX@@MN@K@@AcvAcf@@P@N@@ABcdAca@@ @ @@A"@"X@@B5j@3@@C6@5C@@0e@.@@ADEFdyAc@@HQ@?@@8@6@@AB>r@@@R@P@@ABEdAc@@dAc@@W@V+@@ABY@W@@Z@X@@ACFGH