Caml1999I0372 % #+Odoc_moduleӠ&StringA$Misc&Stdlib&String@8ocamldoc/odoc_module.mliR||R|@@@@@Ӡ$NameA)Odoc_name@TT@ A@@@.module_element;@@.Element_moduleq(t_module@@@@@$Y%Y@@6L@3Element_module_typer-t_module_type@@@@@4Z5Z(@@FM@7Element_included_modules/included_module@@@@@D[)+E[)W@@VN@-Element_classt*Odoc_class't_class@@@@@V\XZW\X@@hO@2Element_class_type,t_class_type@@@@@f]g]@@xP@-Element_value*Odoc_value't_value@@@@@x^y^@@Q@6Element_type_extension.Odoc_extension0t_type_extension@@@@@__@@R@1Element_exception.Odoc_exception+t_exception@@@@@``K@@S@,Element_type)Odoc_type&t_type@@@@@aLNaLp@@T@6Element_module_comment*Odoc_types$text@@@@@bqsbq@@U@@@A@@@@@X@@@@B@A@#mmt;@@#Mod@@@@@dd@@V@'Modtype@@@@@dd@@W@@@A@@@@@d@@@@C@B@;@@'im_name@@!t@@@f f1@@ X@)im_moduleA@&optionL@@@@@@@ g24 g2S@@Y@'im_infoA@_$info@@@@@@hTVhT@@0Z@@@A@@@@@"e#i@@@@4D@B@,module_alias;@@'ma_name@@>!t@@@5j6j@@G[@)ma_moduleA@=;@@@@@@EjFj@@W\@@@A@@@@@IjJj@@@@[E@B@0module_parameter;@@'mp_name@@&stringQ@@@]l^l@@o]@'mp_typeG@@e%Types+module_type@@@@@@rmsm@@_@,mp_type_codeH@@#@@@~n n6@@`@'mp_kindI@@0module_type_kind@@@o79o7T@@a@@@A@@@@@kpUV@@@@F@B@+module_kind;@@-Module_structJ$listK@@@@@@@@rimri@@b@,Module_aliasK@@@@@ss@@c@.Module_functorLw@@@5@@@@@tt@@d@,Module_applyM@@@@@@@@uu @@e@1Module_apply_unitN@@@@@v  v  :@@f@+Module_withOn@@@@@@@@w ; =w ; g@@g@1Module_constraintP>@@@@@@@@ x h jx h @@h@-Module_typeofQ@@@@@y  y  @@-i@-Module_unpackR@@@1module_type_alias@@@@@0z  1z  @@Bj@@@A@@@@@4qWW@@@@EG@B@;@@&m_nameS@@M!t@@@ҰD|  E|  @@Vk@&m_typeTA@+module_type@@@ѰR}  S}  5@@dl@&m_infoUA@Z$info@@@@@@аe~ 6 8f~ 6 `@@wm@.m_is_interfaceV@@$boolE@@@ΰs a ct a y@@n@&m_fileW@@$@@@Ͱ@ z |@ z @@o@&m_kindXA@@@@̰A  A  @@p@%m_locYA@(location@@@˰B  B  @@q@*m_top_depsZA@!t@@@@@@ʰC  C  @@r@&m_code[A@_@@@@@@ȰD  D  @@s@+m_code_intf\A@àp@@@@@@ưE  E  @@@t@+m_text_only]@@g@@@İF A CF A V@@u@@@A@@@@@{  G W X@@@@H@B@;@@(mta_name^@@!t@@@հI s uI s @@v@*mta_module_A@@@@@@@԰J  J  @@w@@@A@@@@@H Y YK  @@@@I@B@~;@@2Module_type_struct`om@@@@@@@@M  M  @@)x@3Module_type_functora^@@@۠@@@@@(N  )N  :@@:y@1Module_type_aliasb@@@@@5O ; =6O ; e@@Gz@0Module_type_withc@@@ؠ@@@@@GP f hHP f @@Y{@2Module_type_typeofd@@@@@UQ  VQ  @@g|@@@A@@@@@YL  @@@@jJ@B@-;@@'mt_namee@@r!t@@@iS  jS  @@{}@'mt_infofA@q$info@@@@@@|T  }T  @@~@'mt_typegA@+module_type@@@@@@U  U  <@@@/mt_is_interfaceh@@*@@@V = ?V = V@@@@'mt_filei@@L@@@W W YW W j@@A@'mt_kindjA@-@@@@@@X k mX k @@B@&mt_lockA@(location@@@ްY  Y  @@C@@@A@@@@@R  Z  @@@@K@B@&values@42@@@@@@<p't_value@@@@@@@@@^  ^ @@D@@%types@RP@@@@@@ZX&t_type@@@@@@@@@aWWaW@@E@@/type_extensions@pn@@@@@@x0t_type_extension@@@@@@@@@#d$e$@@5F@@*exceptions@@@@@@@+t_exception@@@@@@@@@AhppBhp@@SG@@'classes@@@@@@@ 't_class@@@@@@@@@_k`k:@@qH@@+class_types@ʠ@@@@@@Ҡ(,t_class_type@@@@@@@@@}n~~~n~@@I@@'modules@@@@@@@v@@@@@@ @@ @q  q =@@J@@)mod_types@@@@ @@@  @@@ @@@@@@tt@@K@@(comments@@@@@@@&$text@@@@@@@@@ww=@@L@@0included_modules@<:@@@@@@D@@@@@@@@@zz@@M@@4module_type_elements%trans@@@@@@@@@@ge@@@@@@@@@@ @}~2g@@!N@@/module_elements%trans#@@@!@@@"@@@@#@@@$@@@%@@&@@'@12:@@CO@@-module_values%transE@@@(@@@)@*@@@*'t_value@@@+@@@,@@-@@.@VW @@hP@@0module_functions%transj@@@/@@@0@O@@@1Р't_value@@@2@@@3@@4@@5@{|@@Q@@4module_simple_values%trans@@@6@@@7@t@@@8)'t_value@@@9@@@:@@;@@<@mmm@@R@@,module_types%transC@@@=@@@>@@@@?&t_type@@@@@@@A@@B@@C@PPP@@S@@6module_type_extensions%trans٠h@@@D@@@E@@@@F?a0t_type_extension@@@G@@@H@@I@@J@6w@@T@@1module_exceptions%trans@@@K@@@L@@@@Mdt+t_exception@@@N@@@O@@P@@Q@[@@!U@@.module_classes%trans#@@@R@@@S@@@@T't_class@@@U@@@V@@W@@X@45-@@FV@@2module_class_types%transH@@@Y@@@Z@-@@@[,t_class_type@@@\@@@]@@^@@_@YZ@@kW@@.module_modules%transm@@@`@@@a@R@@@bӠY@@@c@@@d@@e@@f@{|@@X@@3module_module_types%trans@@@g@@@h@t@@@ik@@@j@@@k@@l@@m@XXX@@Y@@7module_included_modules%trans@@@@n@@@o@@@@p}@@@q@@@r@@s@@t@,,,y@@Z@@/module_comments%transӠb@@@u@@@v@@@@w9%$text@@@x@@@y@@z@@{@   N@@[@@6module_type_parameters%trans@@@|@@@}@@@@~^@C@@@@ W$text@@@@@@@@@@@@@@@@H@@)\@@1module_parameters%trans+@@@@@@@@@@@v@@@@>$text@@@@@@@@@@@@@@@@JK :@@\]@@5module_all_submodules%trans^@@@@@@@C@@@ĠJ@@@@@@@@@@@l  m !@@~^@@6module_type_is_functor@I@@@ @@@@@@~!!!!@@_@@1module_is_functor@k@@@@@@@@@"O"O"O"w@@`@@2module_type_values%trans3@@@@@@@y@@@ >'t_value@@@@@@@@@@@"""#,@@a@@1module_type_types%transɠX@@@@@@@@@@/-&t_type@@@@@@@@@@@###$@@b@@;module_type_type_extensions%trans}@@@@@@@@@@Tv0t_type_extension@@@@@@@@@@@$$$$@@c@@6module_type_exceptions%trans@@@@@@@@@@y+t_exception@@@@@@@@@@@$%%%%%@@6d@@3module_type_classes%trans8@@@@@@@ @@@'t_class@@@@@@@@@@@I&l&lJ&&@@[e@@7module_type_class_types%trans]@@@@@@@2@@@à,t_class_type@@@@@@@@@@@n'G'Go'e'@@f@@3module_type_modules%trans@@@@@@@W@@@n@@@@@@@@@@@(/(/(/(v@@g@@8module_type_module_types%trans3@@@@@@@y@@@ @@@@@@@@@@@(())Q@@h@@*%"e+Outcometree0euWS~d栠*Odoc_value0IlX+KE`*Odoc_types0fX cx3H~)Odoc_type0~b:x_B.Odoc_parameter0ץ~D3vNm)Odoc_name0{Y/3..Odoc_extension0?*sR(6]!$..Odoc_exception0>@ӽX4Id*Odoc_class0_"#C{$Misc0ob]6>Vê>)Longident0s `7mɕc(Location0a7cK_H%9,Identifiable0 {d\FX'`%Ident0">WA+9*X*Format_doc0]mWϓ:Mݠ0CamlinternalLazy0&͂7 Pˆ8CamlinternalFormatBasics0%FU(Q/Tu5Build_path_prefix_map0z HkGs(Asttypes0>n{T8cئ@@@Caml1999T037+"C+Odoc_module*ocaml.text&_none_@@A > Representation and manipulation of modules and module types. 8ocamldoc/odoc_module.mliP77P7z@@@@@@3@@@@@@#intA;@@#intA@@@@@;@A@$charB;@@$charA@@@@@A@A@&stringQ;@@&stringA@@@@@G@@@%bytesC;@@%bytesA@@@@@M@@@%floatD;@@%floatA@@@@@S@@@$boolE;@@%falsec@@]@$trued@@c@@@A@@@@@d@A@$unitF;@@"()e@@n@@@A@@@@@o@A@ #exnG;@@@A@@@@@s@@@#effH;@@O@A@A@@@@@@|@@@,continuationI;@@Q@@P@B,continuationA@nY@@@@@@@@@%arrayJ;@@R@A%arrayA@@@@@@@@@ $listK;@@S@A"[]f@@@"::g@@@T@@@ @@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\#$@@@A366@'FailureY#,@'@@A<??@0Invalid_argumentX#5@0@@AE$H#H@-Match_failureV#>@@=@9@;@@a@@AV5Y4Y@)Not_foundZ#O@@@A^=a<a@-Out_of_memoryW#W@@@AfEiDi@.Stack_overflow^#_@@@AnMqLq@.Sys_blocked_io_#g@@@AvUyTy@)Sys_error[#o@j@@A^]@:Undefined_recursive_modulea#x@@w@s@u@@h@@Aon@:Continuation_already_takenb#@@@Awv@&Stdlib@A&StringeAR|R|@@@AХ$Misc&Stdlib&String$MiscR|R|@ R|R|@@R|R|@ @@@@R||@@$NamefBTT@A@AХ)Odoc_name)Odoc_nameTT@ 3@EA=@ @@A@@@T @ @+ {1 Types} VV@@@@@@3@/A'@*@AA+.module_elementgCXX@@;@@.Element_moduleq(t_modulemC@@@@@YY@@*L@3Element_module_typer-t_module_typepC@@@@@!Z"Z(@@:M@7Element_included_modules/included_moduleiC@@@@@1[)+2[)W@@JN@-Element_classt*Odoc_class't_class@@@ @@C\XZD\X@@\O@2Element_class_type,t_class_type@@@ @@S]T]@@lP@-Element_value*Odoc_value't_value@@@ @@e^f^@@~Q@6Element_type_extension.Odoc_extension0t_type_extension@@@ 7@@w_x_@@R@1Element_exception.Odoc_exception+t_exception@@@ V@@``K@@S@,Element_type)Odoc_type&t_type@@@ @@aLNaLp@@T@6Element_module_comment*Odoc_types$text@@@ |@@bqsbq@)ocaml.doc , To keep the order of elements in a module. cc@@@@@@@U@@@A@@@@@X@@@@B@@#Y@@г(t_moduleY@@3@;@@@A@@@@@@@@#mmthC;@@@A@@@@@dd@@@@C@;@@@A@@@@@ei@@@@D@,module_aliasjC;@@@A@@@@@jj@@@@ E@0module_parameterkC;@@@A@@@@@kpUV@@@@F@+module_kindlC;@@@A@@@@@qWWz  @@@@G@;@@@A@@@@@{   G W X@@@@!H@1module_type_aliasnC;@@@A@@@@@H Y YK  @@@@)I@0module_type_kindoC;@@@A@@@@@L  Q  @@@@1J@;@@@A@@@@@R  Z  @@@@7K@@AQ@@@@@#&Z'Z@@г-t_module_type0Z@@_@@@@@#6[)-7[)D@@г/included_module@[)H@@o@@@@@#F\X\G\Xi@@г*Odoc_classR\XmS\Xw@V\Xx@@@@@@@@#]]^]@ @г*Odoc_classi]j]@m]@@@#@@@@@#t^u^@@г*Odoc_value^^@!^@ @@*!@@@@#@#__@@г!.Odoc_extension__@&_$@%@@/˰&@@@@(@#$$``-@@г&.Odoc_exception`1`?@+`@)@*@@4+@@@@-@#))aLPaL\@@г+)Odoc_typeaL`aLi@0aLj.@/@@90@@@@2@#..bqubq@@г0*Odoc_typesbqbq@5bq3@4@@>5@@@@74󐠠32@22@@@2@2@@A@.@+dd@@;@@#Mod@@@ }@@dd@@V@'Modtype@@@ ~@@d+@@'W@@@A@@@@@.@@@+@#d@@г(t_moduled@@$N@@@@!@#%d&d@@г-t_module_type/dK@@&^L@@@@#@@A@N@+5e 6e@@;@@'im_name@@{!t@@@ Df Ef1@@]X@)im_moduleA@s@@@ @@@ Ug24Vg2S@@nY@'im_infoA@$info@@@ @@@ hhTVihT@@Z@@@A@@@@@@@@@#33,pf'@+@@Ш@г6$Name{f*|f.@=f/f0@@@E@@H@@ @B@#>>g2<g2E@4A@Ш@гB&optiong2Lg2R@гG#mmtg2Hg2K@@O̰@@@TͰ @@W@@ @N@#JJhT^hTe@>A@Ш@гN&optionhTxhT~@гS*Odoc_typeshThhTr@ZhTshTw@@@b@@@g @@j@@ @_@@A@@+۠۰jj@@;@@'ma_name@@!t@@@ jj@@[@)ma_moduleA@;@@@ @@@ jj@@\@@@A@@@@@@@@@#  j@@@Ш@г#$Namejj@*jj@@@22@@5@@ 5@/@#++ j j@!A@Ш@г/&optionjj@г4#mmtjj@@<N@@@AO @@D@@ R@;@@A@3@+11(k)k@@;@@'mp_name@@@@@ $5l6l@@N]@'mp_typeG@@%Types+module_type@@@X@@@ZJmKm@@c_@,mp_type_codeH@@@@@]Vn Wn6@@o`@'mp_kindI@@M@@@`bo79co7T@@{a@@@A@@@@@l@@@i@#::5jl@4@@Ш@г=&stringsltl@@E@@H@@ %@D@#@@2|m@1@@Ш@гC&optionmm@гH%Typesmm @Mm m@@@WŰ@@@\ư @@_@@[@R@#NNIn,@H@@Ш@гQ&stringn/n5@@Yذ@@\@@^@X@#TTOo7@@N@@Ш@гW0module_type_kindo7Co7S@@_@@b@@a@^@@A@@+ĠİqW[qWf@@;@@-Module_structJE@@@c@@@e@@rimri@@b@,Module_aliasK@@@f@@ss@@c@.Module_functorL@@@g@@@h@@tt@@d@,Module_applyM@@@i @@@j@@ u u @@$e@1Module_apply_unitN@@@k@@v  v  :@@2f@+Module_withO@@@l@@@m@@,w ; =-w ; g@@Eg@1Module_constraintP;@@@n*@@@o@@?x h j@x h @@Xh@-Module_typeofQ@@@p@@My  Ny  @@fi@-Module_unpackR$@@@qS@@@r@@`z  ^@@xj@@@A@@@@@a@@@^@#griz@@г$listpri@г.module_elementxri~yri@@@@@@@@@@#ss@@г,module_aliass@@@@@@@#tt@@г0module_parametertt@@ʰ@@г+module_kindt@@Ӱ@@@@@#uu@@г+module_kinduu @@@@г+module_kindu @@@@@@@#v  v  +@@г+module_kindv  /@@@@@@@#w ; ?w ; J@@г0module_type_kindw ; Nw ; ^@@@@г&stringw ; a@@@@@@@#x h lx h }@@г+module_kindx h x h @@(@@г 0module_type_kindx h @@1@@@@@# °y   y  @@гĠ&stringy  @@A@@@@@#Ġİz  z  @@гƠ&string"z  #z  @@R@@гˠ1module_type_alias,z  *@@[+@@@@@@A@-@+##2{  3{  @@;@@&m_nameS@@x!t@@@sA|  B|  @@Zk@&m_typeTA@+module_type@@@vO}  P}  5@@hl@&m_infoUA@$info@@@y@@@{b~ 6 8c~ 6 `@@{m@.m_is_interfaceV@@%@@@~n a co a y@@n@&m_fileW@@C@@@z@ z |{@ z @@o@&m_kindXA@@@@A  A  @@p@%m_locYA@(location@@@B  B  @@q@*m_top_depsZA@!t@@@@@@C  C  @@r@&m_code[A@ @@@@@@D  D  @@s@+m_code_intf\A@@@@@@@E  E  @@@t@+m_text_only]@@@@@F A CF A V@@u@@@A@@@@@@@@@#|  @@@Ш@г$Name|  |  @|  |  @@@@@@@t @@#}  }  @A@Ш@г%Types}  #}  (@}  )}  4@@@7@@@@w:@@#~ 6 @~ 6 F@A@Ш@г&option~ 6 Y~ 6 _@гà*Odoc_types%~ 6 I&~ 6 S@ʰ)~ 6 T*~ 6 X@@@Z@@@[ @@@@|^@@#ˠ˰4 a q@@@Ш@гΠ$bool= a t> a x@@m@@@@p@@#ѠѰF@ z @@@Ш@гԠ&stringO@ z P@ z @@@@@@@@#נװXA  YA  @A@Ш@г۠+module_kindbA  cA  @@@@@@@@#ޠްkB  lB  @A@Ш@г⠡*Odoc_typeswB  xB  @{B  |B  @@@@@@@@@#C  C  @A@Ш@г$listC  C  @г󠡠$NameC  C  @C  C  @@@ϰ@@@а @@ @@@@#D  D  @A@Ш@г&optionD  D  @г&stringD  D  @@ @@@ @@@@@ @#E  $E  /@A@Ш@г &optionE  9E  ?@г&stringE  2E  8@@ @@@  @@ @@ @@#F A N@ @@Ш@г$boolF A QF A U@@@@!@@@@@A@@+H Y ]H Y n@@;@@(mta_name^@@;!t@@@ I s u I s @@ v@*mta_module_A@f@@@@@@ J   J  @@ .w@@@A@@@@@ @@@@#   I s }@@@Ш@г#$Name (I s  )I s @* ,I s  -I s @@@2]@@5@@`@/@#++ 6J   7J  @!A@Ш@г/&option @J   AJ  @г4-t_module_type IJ   JJ  @@<y@@@Az @@D@@}@;@@A@@@+>> SL   TL  @@;@@2Module_type_struct`ՠh@@@@@@@@ gM   hM  @@ x@3Module_type_functora~@@@e@@@@@ zN   {N  :@@ y@1Module_type_aliasb{@@@@@ O ; = O ; e@@ z@0Module_type_withc@@@ d@@@@@ P f h P f @@ {@2Module_type_typeofd r@@@@@ Q  @@ |@@@A@@@@@@@@@#UUI M  @H@гV$list M  R@гZ.module_element M   M  @@b@@@g]@@@@_@#[[ N   N  @O@г]0module_parameter N   N  '@@e@@гb0module_type_kind N  *c@@i d@@@@f@#bb O ; ? O ; P@[@гd1module_type_alias O ; Te@@kf@@@@h@#dd P f j P f z@X@гf0module_type_kind P f ~ P f @@n-@@гk&string P f l@@r6m@@@@o@#kk Q   Q  @e@гm&string Q  @@tF@@@@q@@A@@+ R   R  @@;@@'mt_namee@@c!t@@@ ,S   -S  @@ E}@'mt_infofA@ $info@@@@@@ ?T   @T  @@ X~@'mt_typegA@  +module_type@@@@@@ RU   SU  <@@ k@/mt_is_interfaceh@@ @@@ ^V = ? _V = V@@ w@@'mt_filei@@ 3@@@ jW W Y kW W j@@ A@'mt_kindjA@ ̠e@@@@@@ư {X k m |X k @@ B@&mt_lockA@(location@@@ɰ Y   Y  @@ C@@@A@@@@@o@@@l@#lle S  @d@@Ш@гo$Name S   S  @v S   S  @@@~Ѱ@@@@@{@#ww T   T  @kA@Ш@г{&option T   T  @г*Odoc_types T   T  @ T   T  @@@@@@ @@@@@@# U   U  @|A@Ш@г&option U  5 U  ;@г%Types U  # U  (@ U  ) U  4@@@@@@ @@@@@@# V = N@@@Ш@г$bool V = Q V = U@@+@@@@.@@# W W `@@@Ш@г&string W W c W W i@@=@@@@@@@# X k u X k |@A@Ш@г&option X k  !X k @г0module_type_kind )X k  *X k @@Y@@@Z @@@@]@@# 3Y   4Y  @A@Ш@г*Odoc_types ?Y   @Y  @ CY   DY  @@@t@@@@w@@@A@,@@ V+@ ] \/ {1 Functions}  Y\   Z\  @@@@@@3 X W W X X X X X@ r IGS[o Y2iq<y 9/r j d@A&valuesl n^   o^  @б@г ꠐ$list y^   z^  @г .module_element ^   ^  @@ @@@-@@@@@@2 @@г $list ^  ^ @г <'t_value*Odoc_value ^   ^ @  ^  ^ @@@@@@R @@@ @@@W@@@,@@Z3 @@@ ^  #@ ; Returns the list of values from a list of module_element.  _ _U@@@@@@@ D@@3@  ِ@@@@@@y%typesm aW[ aW`@б@г X$list aWr aWv@г .module_element aWc aWq@@ @@@3        @B@A@@@ @@@ @@г v$list aW aW@г v&t_type)Odoc_type aWz aW@  aW aW@@@@@@' @@@ @@@,@@@,@@/5 @@@ (aWW#@ z : Returns the list of types from a list of module_element.  5b 6b@@@@@@@ NE@@3@  I@@@@@@N/type_extensionsn Ld Md@б@г Ƞ$list We Xe@г a.module_element ae be@@ @@@3 c b b c c c c c@qB@A@@@ @@@ @@г 栐$list ue  ve$@г 0t_type_extension.Odoc_extension e e@  e e@@@@@@' @@@ @@@,@@@,@@/5 @@@ d#@ ꐠ D Returns the list of type extensions from a list of module_element.  f%% f%n@@@@@@@ F@@3@  @@@@@@N*exceptionso hpt hp~@б@г 8$list hp hp@г Ѡ.module_element hp hp@@ @@@3        @qB@A@@@ @@@ @@г V$list hp hp@г h+t_exception.Odoc_exception hp hp@  hp hp@@@@@@' @@@ @@@,@@@,@@/5 @@@ hpp#@ Z ? Returns the list of exceptions from a list of module_element.  i i@@@@@@@ .G@@3@ j )@@@@@@N'classesp ,k -k @б@г $list 7k 8k@г A.module_element Ak  Bk@@ @@@3 C B B C C C C C@qB@A@@@ @@@ @@г Ơ$list Uk6 Vk:@г 't_class*Odoc_class ck# dk-@  gk. hk5@@@@@@' @@@ @@@,@@@,@@/5 @@@ xk#@ ʐ < Returns the list of classes from a list of module_element.  l;; l;|@@@@@@@ H@@3@  @@@@@@N+class_typesq n~ n~@б@г $list n~ n~@г .module_element n~ n~@@ @@@3        @qB@A@@@ @@@ @@г 6$list n~ n~@г ,t_class_type*Odoc_class n~ n~@  n~ n~@@@@@@' @@@ @@@,@@@,@@/5 @@@ n~~#@ : @ Returns the list of class types from a list of module_element.  o o @@@@@@@I@@3@ J @@@@@@N'modulesr q  q @б@г $listq (q ,@г !.module_element!q "q '@@ @@@3#""#####@qB@A@@@ @@@ @@г $list5q 96q =@г .(t_module?q 0@q 8@@ @@@@@@@@@# @@@#@@&,@@@Oq  @ < Returns the list of modules from a list of module_element. \r>>]r>@@@@@@@uJ@@*@ p@@@@@@E)mod_typesssttt@б@г $list~tt@г .module_elementtt@@ @@@3@hB@A@@@ @@@ @@г $listtt@г -t_module_typett@@ @@@@@@@@@# @@@#@@&,@@@t@  A Returns the list of module types from a list of module_element. uu@@@@@@@K@@*@ א@@@@@@E(commentstww@б@гV$listw!w%@г .module_elementww @@ @@@3@hB@A@@@ @@@ @@гt$listw9w=@г b$text*Odoc_typesw)w3@ w4w8@@@@@@' @@@ @@@,@@@,@@/5 @@@&w#@ x C Returns the list of module comment from a list of module_element. 3x>>4x>@@@@@@@LL@@3@ G@@@@@@N0included_modulesuJzKz@б@гƠ$listUzVz@г _.module_element_z`z@@ @@@3a``aaaaa@qB@A@@@ @@@ @@г䠐$listsztz@г L/included_module}z~z@@ @@@@@@@@@# @@@#@@&,@@@z@ ߐ E Returns the list of included modules from a list of module_element. {{@@@@@@@M@@*@ @@@@@@E4module_type_elementsv}}/@б%transгs$bool~2;~2?@@ @@@3@`:@A@@б@г -t_module_type~2C~2P@@ @@@@@гM$list~2c~2g@г 栐.module_element~2T~2b@@ @@@(@@@@@@- @@@"@@0%@@AQ:@@@ @@8~24 @@ @}#@ Q Returns the list of elements of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search. hh @@@@@@@%N@@3@ a @@@@@@X/module_elementsw#$ @б%transг堐$bool01@@ @@@321122222@s:@A@@б@г0(t_moduleAB#@@ @@@@@г$listN6O:@гX.module_elementX'Y5@@ @@@(@@@@@@- @@@"@@0%@@Ar9@@@  @@ 7m @@ @p"@  Returns the list of elements of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. };;~@@@@@@@O@@2@ @@@@@@W-module_valuesx@б%transгV$bool@@ @@@ 3@r:@A@@б@г(t_module@@ @@@ @@г0$list @гf't_value*Odoc_value@ @@@@@@ 1 @@@ @@@6@@@+@@9. @@JB@@@ @@@(@@ @+@<  Returns the list of values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.  8@@@@@@@P@@;@L @@@@@@`0module_functionsy@б%transгР$bool@@ @@@3@{:@A@@б@г(t_module,-@@ @@@@@г$list9:@г't_value*Odoc_valueGH@ KL@@@@@@1 @@@ @@@6@@@+@@9. @@JfB@@@ @@@a(@@ @d+@ Returns the list of functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.qrk@@@@@@@Q@@;@@@@@@@`4module_simple_valueszmqm@б%transгJ$boolmm@@ @@@3@{:@A@@б@г(t_modulemm@@ @@@@@г$$listmm@гZ't_value*Odoc_valuemm@ mm@@@@@@1 @@@ @@@6@@@+@@ 9. @@JB@@@! @@"@m(@@ @mm+@0 Returns the list of non-functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.N@@@@@@@R@@;@@@@@@@@`,module_types{PTP`@б%transгĠ$boolPjPn@@ @@@#3@{:@A@@б@г(t_module Pr!Pz@@ @@@$@@г$list-P.P@г&t_type)Odoc_type;P~<P@ ?P@P@@@@@@%1 @@@ @@@'6@@@+@@(9. @@JZB@@@) @@*@UPc(@@ @XPP+@ ~ Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.ef@@@@@@@~S@@;@y@@@@@@`6module_type_extensions||}3@б%transг>$bool6?6C@@ @@@+3@{:@A@@б@г(t_module6G6O@@ @@@,@@г$list6s6w@г<0t_type_extension.Odoc_extension6S6a@ 6b6r@@@@@@-1 @@@ @@@/6@@@+@@09. @@JԠB@@@1 @@2@68(@@ @+@$ Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.xx@@@@@@@T@@;@4󐠠@@@@@@`1module_exceptions} @б%transг$bool(,@@ @@@33@{:@A@@б@г(t_module08@@ @@@4@@г$list!W"[@г+t_exception.Odoc_exception/<0J@ 3K4V@@@@@@51 @@@ @@@76@@@+@@89. @@JNB@@@9 @@:@I!(@@ @L+@ Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.Y\\Z@@@@@@@rU@@;@m@@@@@@`.module_classes~pq@б%transг2$bool}~@@ @@@;3~~@{:@A@@б@г}(t_module @@ @@@<@@г $list)-@гd't_class*Odoc_class @ !(@@@@@@=1 @@@ @@@?6@@@+@@@9. @@JȠB@@@A @@B@(@@ @+@ Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search...[@@@@@@@V@@;@(琠@@@@@@`2module_class_types@б%transг$bool@@ @@@C3@{:@A@@б@г(t_module @@ @@@D@@г$list@г,t_class_type*Odoc_class#$@ '(@@@@@@E1 @@@ @@@G6@@@+@@H9. @@JBB@@@I @@J@=(@@ @@+@ Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.MN9@@@@@@@fW@@;@a@@@@@@`.module_modulesde@б%transг&$boolqr@@ @@@K3srrsssss@{:@A@@б@гq(t_module@@ @@@L@@г$list@г(t_module@@ @@@M(@@@@@@O- @@@"@@P0%@@A9@@@Q @@R7@@ @"@ Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.V@@@@@@@X@@2@Ґ@@@@@@W3module_module_typesX\Xo@б%transг$boolXyX}@@ @@@S3@r:@A@@б@г⠐(t_moduleXX@@ @@@T@@гq$listXX@г預-t_module_type X X@@ @@@U(@@@@@@W- @@@"@@X0%@@A$9@@@Y @@Z7Xr@@ @"XX"@t Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search./0*@@@@@@@HY@@2@C@@@@@@W7module_included_modulesF,0G,G@б%transг$boolS,QT,U@@ @@@[3UTTUUUUU@r:@A@@б@гS(t_moduled,Ye,a@@ @@@\@@г⠐$listq,ur,y@гJ/included_module{,e|,t@@ @@@](@@@@@@_- @@@"@@`0%@@A9@@@a @@b7,J@@ @,,"@吠 Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.zz@@@@@@@Z@@2@@@@@@@W/module_comments   @б%transгy$bool & *@@ @@@c3@r:@A@@б@гĠ(t_module . 6@@ @@@d@@гS$list J N@гA$text*Odoc_types : D@  E I@@@@@@e1 @@@ @@@g6@@@+@@h9. @@JB@@@i @@j@  (@@ @   +@_ Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.OO}@@@@@@@3[@@;@o.@@@@@@`6module_type_parameters12@б%transг$bool>?@@ @@@k3@??@@@@@@{:@A@@б@г.-t_module_typeOP@@ @@@l@@г͠$list\D]H@В@гq0module_parameterjk)@@ @@@m,@@@г͠&optiony<zB@г$text*Odoc_types,6@ 7;@@@@@@nN @@@ @@@pS@@@@/@ @@qZ4$@@@I @@@s_G@@@U@@tcXJ@@tl@@@u @@vjR@@ @U@ Access to the parameters, for a functor type. @param trans indicates if, for aliased modules, we must perform a transitive search.II{@@@@@@@\@@e@Ґ@@@@@@1module_parameters@б%transг$bool@@ @@@w3@:@A@@б@г⠐(t_module @@ @@@x@@гq$list 6 :@В@г0module_parameter  @@ @@@y,@@@гq&option . 4@г|$text*Odoc_types+ , (@ / )0 -@@@@@@zN @@@ @@@|S@@@@/@ @@}Z4$@@@I @@@_G G@@@U@@cXJ@@tWl@@@ @@jRR@@ @UU@ Access to the parameters, for a functor. @param trans indicates if, for aliased modules, we must perform a transitive search.b ; ;c h @@@@@@@{]@@e@v@@@@@@5module_all_submodulesy  z  @б%transг;$bool    @@ @@@3@:@A@@б@г(t_module    @@ @@@@@г$list ! !@г(t_module   !@@ @@@(@@@@@@- @@@"@@0%@@AȠ9@@@ @@7  @@ @  "@ access to all submodules and submodules of submodules ... of the given module. @param trans indicates if, for aliased modules, we must perform a transitive search.!!![!@@@@@@@^@@2@(琠@@@@@@W6module_type_is_functor!!!!@б@гԠ-t_module_type!!!!@@ @@@3@p8@A@@г$bool!!!!@@ @@@@@@@@@@@!! @a ` The module type is a functor if it is defined as a functor or if it is an alias for a functor. !!!"M@@@@@@@5_@@@q0@@@@@@11module_is_functor3"O"S4"O"d@б@г-(t_module>"O"g?"O"o@@ @@@3@??@@@@@@J_8@A@@г$boolM"O"sN"O"w@@ @@@@@@@@@@@X"O"O @ [ The module is a functor if it is defined as a functor or if it is an alias for a functor. e"x"xf"x"@@@@@@@~`@@@y@@@@@@12module_type_values|""}""@б%transг>$bool"""#@@ @@@3@La:@A@@б@гy-t_module_type"#"#@@ @@@@@г$list"#("#,@гN't_value*Odoc_value"#"#@ "# "#'@@@@@@1 @@@ @@@6@@@+@@9. @@JԠB@@@ @@@""(@@ @""+@$ Returns the list of values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.#-#-#^#@@@@@@@a@@;@4󐠠@@@@@@`1module_type_types####@б%transг$bool####@@ @@@3@{:@A@@б@г-t_module_type####@@ @@@@@г$list!#$"#$@г&t_type)Odoc_type/##0##@ 3##4#$@@@@@@1 @@@ @@@6@@@+@@9. @@J NB@@@ @@@I##(@@ @L##+@ ~ Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.Y$$Z$1$@@@@@@@rb@@;@m@@@@@@`;module_type_type_extensionsp$$q$$@б%transг2$bool}$$~$$@@ @@@3~~@{:@A@@б@гm-t_module_type$$$$@@ @@@@@г $list$$$$@г00t_type_extension.Odoc_extension$$$$@ $$$$@@@@@@1 @@@ @@@6@@@+@@9. @@J ȠB@@@ @@@$$(@@ @$$+@ Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.$$%)%@@@@@@@c@@;@(琠@@@@@@`6module_type_exceptions%%%%@б%transг$bool%%%%@@ @@@3@{:@A@@б@г砐-t_module_type%% %%@@ @@@@@г$list%%%%@г+t_exception.Odoc_exception#%%$%%@ '%%(%%@@@@@@1 @@@ @@@6@@@+@@9. @@J BB@@@ @@@=%%(@@ @@%%+@ Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.M%%N&&j@@@@@@@fd@@;@a@@@@@@`3module_type_classesd&l&pe&l&@б%transг&$boolq&&r&&@@ @@@3srrsssss@{:@A@@б@гa-t_module_type&&&&@@ @@@@@г$list&&&&@гX't_class*Odoc_class&&&&@ &&&&@@@@@@1 @@@ @@@6@@@+@@9. @@J B@@@ @@@&&(@@ @&l&l+@ Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.&&&'E@@@@@@@e@@;@ې@@@@@@`7module_type_class_types'G'K'G'b@б%transг$bool'e'n'e'r@@ @@@3@{:@A@@б@г۠-t_module_type'e'v'e'@@ @@@@@гz$list 'e' 'e'@г,t_class_type*Odoc_class'e''e'@ 'e''e'@@@@@@1 @@@ @@@6@@@+@@9. @@J 6B@@@ @@@1'e'g(@@ @4'G'G+@ Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.A''B'(-@@@@@@@Zf@@;@U@@@@@@`3module_type_modulesX(/(3Y(/(F@б%transг$boole(/(Pf(/(T@@ @@@3gffggggg@{:@A@@б@гU-t_module_typev(/(Xw(/(e@@ @@@@@г$list(/(r(/(v@г|(t_module(/(i(/(q@@ @@@(@@@@@@- @@@"@@0%@@A 9@@@ @@7(/(I@@ @(/(/"@ Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.(w(w((@@@@@@@g@@2@Ɛ@@@@@@W8module_type_module_types()()@б%transг$bool))&))*@@ @@@3@r:@A@@б@гƠ-t_module_type)).));@@ @@@@@гe$list))M))Q@гݠ-t_module_type))?))L@@ @@@(@@@@@@- @@@"@@0%@@A 9@@@ @@7))@@ @(("@h Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.#)R)R$))@@@@@@@<h@@2@x7@@@@@@W/included_moduleo**#p**2@@ @@@(@@@@@@- @@@"@@0%@@A 9@@@ @@7**@@ @))"@ِ Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.*8*8*m*@@@@@@@i@@2@@@@@@@W4module_type_comments****@б%transгm$bool****@@ @@@3@r:@A@@б@г-t_module_type***+@@ @@@@@гG$list*+*+@г5$text*Odoc_types*+*+@ *+*+@@@@@@1 @@@ @@@6@@@+@@9. @@J B@@@ @@@**(@@ @**+@S Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.+++G+@@@@@@@'j@@;@c"@@@@@@`5module_type_functions%++&++@б%transг砐$bool2++3++@@ @@@343344444@{:@A@@б@г"-t_module_typeC++D++@@ @@@@@г$listP++Q++@г't_value*Odoc_value^++_++@ b++c++@@@@@@1 @@@ @@@6@@@+@@9. @@J }B@@@ @@@x++(@@ @{+++@͐ Returns the list of functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.++,3,@@@@@@@k@@;@@@@@@@`9module_type_simple_values,,,,@б%transгa$bool,,,,@@ @@@3@{:@A@@б@г-t_module_type,,,,@@ @@@@@г;$list,,,,@гq't_value*Odoc_value,,,,@ ,,,,@@@@@@1 @@@ @@@6@@@+@@9. @@J B@@@ @@@,,(@@ @,,+@G 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@@;@W@@@@@@`$# , {1 Functions for modules and module types}   --! --@@@@@@3@r1@A2module_all_classes, --- --@б%transг$bool9 --: --@@ @@@@@б@г7(t_moduleH --I --@@ @@@+@@гƠ$listU --V --@г't_class*Odoc_classc --d --@ g --h --@@@@@@K @@@ @@@P@@@+@@S. @@H@@@@ @@Z} --(@@ @ --+@Ґ 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. .. .S.@@@@@@@m@@;@@@@@@@z7module_type_all_classes....@б%transгf$bool....@@ @@@3@:@A@@б@г-t_module_type....@@ @@@@@г@$list././@г't_class*Odoc_class....@ ....@@@@@@1 @@@ @@@6@@@+@@9. @@JB@@@ @@@..(@@ @..+@L 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.///]/@@@@@@@ n@@;@\@@@@@@`@A]@[{@@UAC@=O@@"A@A,B@B@7XB@1B@+cB@B@!5B@B@B@|@\@@2@@V@6@@l@@I@)@b@B @  r@ R @  @ b @  @ r @  @  <@  @  U@ 5@@@[@;@@|$@@4@@D@$@f@F@@_@@\@@@3@@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Sebastien Hinderer, projet Cambium, INRIA Paris E44E4@ H FF@ H Copyright 2022 Institut National de Recherche en Informatique et GG@ H en Automatique. HHg@ H IhhIh@ H All rights reserved. This file is distributed under the terms of JJ@ H the GNU Lesser General Public License version 2.1, with the KKN@ H special exception on linking described in the file LICENSE. LOOLO@ H MM@ H************************************************************************NN5@ ?* Representation and manipulation of modules and module types. ࠠ,* {1 Types}  -* To keep the order of elements in a module. )0* {1 Functions}  <* Returns the list of values from a list of module_element. ' ;* Returns the list of types from a list of module_element.  E* Returns the list of type extensions from a list of module_element. M @* Returns the list of exceptions from a list of module_element. ࠠ =* Returns the list of classes from a list of module_element. s A* Returns the list of class types from a list of module_element.  =* Returns the list of modules from a list of module_element.  B* Returns the list of module types from a list of module_element. > D* Returns the list of module comment from a list of module_element. Ѡ F* Returns the list of included modules from a list of module_element. m * Returns the list of elements of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of elements of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.  * Returns the list of values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of non-functional values of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.+ * Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. = * Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. Ơ * Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. O * Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. ؠ * Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. j * Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.  * Access to the parameters, for a functor type. @param trans indicates if, for aliased modules, we must perform a transitive search. v * Access to the parameters, for a functor. @param trans indicates if, for aliased modules, we must perform a transitive search.ՠ * access to all submodules and submodules of submodules ... of the given module. @param trans indicates if, for aliased modules, we must perform a transitive search.g a* The module type is a functor if it is defined as a functor or if it is an alias for a functor. ! \* The module is a functor if it is defined as a functor or if it is an alias for a functor. ۠ * Returns the list of values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.d * Returns the list of types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of type extensions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.v * Returns the list of exceptions of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of classes of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of class types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of modules of a module. @param trans indicates if, for aliased modules, we must perform a transitive search. * Returns the list of module types of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.5 * Returns the list of included module of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.Ǡ * Returns the list of comments of a module. @param trans indicates if, for aliased modules, we must perform a transitive search.P * Returns the list of functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.٠ * Returns the list of non-functional values of a module type. @param trans indicates if, for aliased modules, we must perform a transitive search.b -* {1 Functions for modules and module types} G * 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.ݠ * 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.f@(./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"-c  9/builds/workspace/main/flambda/false/label/ocaml-linux-32 <10/.-,+*)('&%$#"! @@0AڨBw 3        @ @@(Asttypes0>n{T8cئ5Build_path_prefix_map0z HkGs8CamlinternalFormatBasics0%FU(Q/Tu0CamlinternalLazy0&͂7 Pˆ*Format_doc0]mWϓ:Mݠ%Ident0">WA+9*X,Identifiable0 {d\FX'`(Location0a7cK_H%9)Longident0s `7mɕcE0ob]6>Vê>0_"#C{O0>@ӽX4Idj0?*sR(6]!$.!0z8P*%"e$Path0Y2kf֯J._Ϡ)Primitive0²~$xzT෠%Shape0oNՄBH&Stdlib0Lku]8_٠.Stdlib__Buffer08APF< t..Stdlib__Digest0l!LHgErζ .Stdlib__Domain0:M;׉<O$Ġ.Stdlib__Either0Vy`u~c à.Stdlib__Format0ܚ#G7m|/Stdlib__Hashtbl0ѱN][/!,Stdlib__Lazy0* -S$.)"0D.Stdlib__Lexing0e<.V +Stdlib__Map0L5xE|O0~,J-.Stdlib__Result06 ]/J+Stdlib__Seq0nwzG&amg+Stdlib__Set0\$;7 .Stdlib__String0h<)@װʕ) P Z@8@7/]@  Ɠ“@ k @N  @Y@ QΓzm@0@@9&@@@8@@J.@  @ - g`˰ ,-@ @@ 9 @Ef F@ ()@F+/@֕2_.@ 6 YH@ @,@@s@ ,/@̐-ؓ@Ε@@P@@