Caml1999I031"+Stdlib__Obj!tx8@@@A@@@@@'obj.mliUU@@@@ @A@(raw_datay8@@@A)nativeintK@@@@@@@WW@@@@AA@$reprz@!a@&@@@@@)%identityAA @@@)Y*Y@@3B@#obj{@@@@!a@@@)%identityAA@@@?Z@Z@@IC@%magic|@!a@!b@@@)%identityAA.@@@V[W[6@@`D@(is_block}@A@@@$boolE@@@@@@j\77k\7`@&inlineq\7=r\7C@&always}\7D~\7J@@@@@@\7;\7K@@E@&is_int~@l@@@+@@@@@+%obj_is_intAAo@@@]aa]a@@F@#tag@@@@#intA@@@@@,caml_obj_tagA@@@@^^@'noalloc^^@@^ @@G@$size@@@@"@@@@@)%obj_sizeAA@@@__@@H@/reachable_words@@@@8@@@@@8caml_obj_reachable_wordsAA@@@``)@@I@%field@@@@@P@@@@@@@@@@*%obj_fieldBAؠ@@@@j<<j<i@@ J@)set_field@@@@@l@@@@@@@$unitF@@@@@@@@@.%obj_set_fieldCA@@@@@&{  '{  ?@@0K@'set_tag@@@@@@@@ @@@@@@@0caml_obj_set_tagBA@@@@C| @ @D} y @0ocaml.deprecatedJ} y ~K} y @5Use with_tag instead.U} y V} y @@X} y Y} y @@@@@[} y {@@dL@,double_field@E@@@@@@@%floatD@@@@@@@@t  u  @&inline{  |  @&always    @@@@@@    @@M@0set_double_field@v@@@@@@@@3@@@@@@@@@@@@@@  @  5@&inline@  @  @&always@  @  @@@@@@@  @  @@N@)raw_field@@@@@+@@@@@@@@@@Ɛ2caml_obj_raw_fieldBA@@@@C M MC M @@O@-set_raw_field@@@@@H@@@@@@@@@@@@@@@@͐6caml_obj_set_raw_fieldCA֠@@@@@E  F  @@ P@)new_block@f@@@@l@@@@@@@@@@Ґ.caml_obj_blockBA@@@@I 2 2I 2 i@@'Q@#dup@@@@ @@@@@Ր,caml_obj_dupAA @@@2J j j3J j @@@0ocaml.deprecatedTaUa#@7Replaced by custom_tag._a%`a<@@ba$ca=@@@@@ea@@nc@'int_tag@@@@qc@@rc@Q@@{d@/out_of_heap_tag@@@@~dRRdRk@@e@-unaligned_tag@@@@ellel@@f@Ӡ'Closure@$info8@@%arityZ@@@@ii@@h)start_env[@@@@jj@@i@@A@@@@@hk@@@@gA@$info@@@@-@@@@@@ll@@j@@@gm@k@@Ӡ5Extension_constructor@!t8@@@A5extension_constructorP@@@}@@@@q;=q;[@@@@lA@&of_val@!a@~@@@@@@r\^r\r@@m@$name@@@@&stringO@@@@@@ssuss@&inline ss{ss@&alwaysssss@@@@@@ssyss@@'n@"id@:@@@@@@@@@/t0t@&inline6t7t@&alwaysBtCt@@@@@@FtGt@@Po@@@JoKu@Tp@@5extension_constructor@!a@@@@@@@]v^w;@0ocaml.deprecateddwew@ $use Obj.Extension_constructor.of_valowpw9@@rwsw:@@@@@uw@@~q@.extension_name@@@@@@@@@@x<<y@&inlinex<Bx<H@&alwaysx<Ix<O@@@@@@x<@x<P@0ocaml.deprecatedyy@ "use Obj.Extension_constructor.nameyy@@yy@@@@@y/@@r@,extension_id@@@@@@@@@@z{8@&inlinezz@&alwayszz@@@@@@zz@0ocaml.deprecated{{@ use Obj.Extension_constructor.id{{6@@{{7@@@@@{/@@s@Ӡ)Ephemeron@%obj_t8@@@A@@@5@@@@  @@@@tA@!t8@@@A@@@@@@@@@uA@&create@x@@@6@@@7@@8@%&@@/v@&length@@@@9@@@:@@;@78@@Aw@'get_key@!@@@<@@@@=&optionJR@@@>@@@?@@@@@A@VW(@@`x@,get_key_copy@@@@@B@@@@C@@@D@@@E@@F@@G@rZ\sZ@@|y@'set_key@\@@@H@@@@I@7@@@Jq@@@K@@L@@M@@N@@@z@)unset_key@y@@@O@@@@P@@@Q@@R@@S@8@@{@)check_key@@@@T@@@@UW@@@V@@W@@X@lnl@@|@(blit_key@@@@Y@*@@@Z@@@@[@5@@@\@;@@@]@@@^@@_@@`@@a@@b@@c@@@}@(get_data@@@@d@@@e@@@f@@g@(*(I@@~@-get_data_copy@@@@h@@@i@@@j@@k@|~|@@@(set_data@@@@l@@@@m @@@n@@o@@p@+,@@5@@*unset_data@@@@q@@@r@@s@=/1>/J@@GA@*check_data@'@@@t@@@u@@v@OP@@YB@)blit_data@9@@@w@>@@@xH@@@y@@z@@{@fg@@pC@/max_ephe_length@@@|@s#%t#=@@}D@@@w}::x@E@@@L=+Stdlib__Obj0>_3 Ic}-Stdlib__Int320eoq,hZs&Stdlib0>,W:(8CamlinternalFormatBasics0cEXyU?U@@8@@@A@@@@@BU@@@@Y@@@A@@@A@A((raw_data BNWOW@@8@@@A@@@@@@@WWXW@@@@oA@@Aг )nativeintaW @@0_^^_____@_+%8@@@A"@@C@C@@@@@@@@@A @@@@0kjjkkkkk@ @A@$repr xYyY@б@А!a@C@0@"<6@AYY@@гR!tYY@@ @@@@@@@@@@)%identityAA @@@YY@@B@@@!#obj ZZ@б@гz!tZZ@@ @@@0@:K&@A@@А!a@C@ ZZ@@@ @@@@)%identityAA5@@@ZZ@@C@@@%magic[[@б@А!a@C@0@1F!@A[ ["@@А!b@C@ [&[(@@@ @@@@)%identityAAg@@@[[6@@D@@@(is_block\7L\7T@б@гࠐ!t\7W\7X@@ @@@0      @7H%@A@@г$bool-\7\.\7`@@ @@@@@@@@@@@8\77 @&inline>\7=?\7C@&alwaysJ\7DK\7J@@@@@@N\7;O\7K@@fE@$@/&is_intZ]aj[]ap@б@г'!te]asf]at@@ @@@0gffggggg@H]6@A@@гC$boolt]axu]a|@@ @@@@@@@@@@+%obj_is_intAA@@@]aa]a@@F@@@#tag^^@б@г]!t^^@@ @@@0@7L%@A@@гT#int^^@@ @@@@@@@@@@,caml_obj_tagA@@@@^^@'noalloc^^@@^ @@G@@ ($size__@б@г!t__@@ @@@0@AV/@A@@г#int__@@ @@@@@@@@@@)%obj_sizeAAZ@@@__@@H@@@/reachable_words``@б@гӠ!t``@@ @@@0@7L%@A@@гʠ#int ` !` @@ @@@@@@@@@@8caml_obj_reachable_wordsAA@@@/`0`)@)ocaml.docA  Computes the total size (in words, including the headers) of all heap blocks accessible from the argument. Statically allocated blocks are excluded, unless the runtime system was configured with [--disable-naked-pointers]. @since 4.04 >a*,?h6:@@@@@@@VI@@-%fieldKj<ELj<J@б@г!tVj<MWj<N@@ @@@0XWWXXXXX@F[4@A@@б@г#intgj<Rhj<U@@ @@@@@г6!ttj<Yuj<Z@@ @@@@@@@@!@@@'@@$* @@*%obj_fieldBA@@@@j<<j<i@@J@@@1)set_field{  {  @б@гa!t{  {  @@ @@@0@J_&@A@@б@гZ#int{  {  @@ @@@@@б@г!t{  #{  $@@ @@@ @@г%$unit{  ({  ,@@ @@@-@@@@@0@@@%@@3( @@@9@@6<@@.%obj_set_fieldCAB@@@@@{  {  ?@  When using flambda: [set_field] MUST NOT be called on immutable blocks. (Blocks allocated in C stubs, or with [new_block] below, are always considered mutable.) The same goes for [set_double_field] and [set_tag]. However, for [set_tag], in the case of immutable blocks where the middle-end optimizers never see code that discriminates on their tag (for example records), the operation should be safe. Such uses are nonetheless discouraged. For experts only: [set_field] et al can be made safe by first wrapping the block in {!Sys.opaque_identity}, so any information about its contents will not be propagated. lkkz  @@@@@@@K@@Q'set_tag| @ I| @ P@б@гʠ!t| @ S | @ T@@ @@@0        @j4@A@@б@гà#int| @ X| @ [@@ @@@@@г$unit&| @ _'| @ c@@ @@@@@@@@!@@@'@@$* @@0caml_obj_set_tagBA@@@@9| @ @:} y @0ocaml.deprecated@} y ~A} y @5Use with_tag instead.K} y L} y @@N} y O} y @@@@@Q} y {@@hL@@H,double_field]  ^  @б@г*!th  i  @@ @@@0jiijjjjj@av=@A@@б@г##inty  z  @@ @@@@@г8%float    @@ @@@@@@@@!@@@'@@$* @@@  @&inline    @&always    @@@@@@    @@M@'@A0set_double_field@  @  @б@г!t@  @  @@ @@@0@Zo6@A@@б@г|#int@  !@  $@@ @@@@@б@г%float@  (@  -@@ @@@ @@гG$unit@  1@  5@@ @@@-@@@@@0@@@%@@3( @@@9@@6<@@@@  @&inline@  @  @&always@  @  @@@@@@@  @  @@-N@*@S)raw_field!C M V"C M _@б@г!t,C M b-C M c@@ @@@0.--.....@l6@A@@б@г砐#int=C M g>C M j@@ @@@@@г(raw_dataJC M nKC M v@@ @@@@@@@@!@@@'@@$* @@2caml_obj_raw_fieldBA@@@@]C M M^C M @@uO@@@1-set_raw_fieldjE  kE  @б@г7!tuE  vE  @@ @@@0wvvwwwww@J_&@A@@б@г0#intE  E  @@ @@@@@б@гG(raw_dataE  E  @@ @@@ @@г$unitE  E  @@ @@@-@@@@@0@@@%@@3( @@@9@@6<@@6caml_obj_set_raw_fieldCA@@@@@E  F  @@P @@@D)new_blockI 2 ;I 2 D@б@г{#intI 2 GI 2 J@@ @@@0@]r'@A@@б@г#intI 2 NI 2 Q@@ @@@@@г!tI 2 UI 2 V@@ @@@@@@@@!@@@'@@$* @@.caml_obj_blockBAb@@@@I 2 2I 2 i@@Q@@@1#dupJ j sJ j v@б@гܠ!tJ j yJ j z@@ @@@0@J_&@A@@г렐!t)J j ~*J j @@ @@@@@@@@@@,caml_obj_dupAA@@@8J j j9J j @@PR@@@(truncateEK  FK  @б@г!tPK  QK  @@ @@@0RQQRRRRR@7L%@A@@б@г #intaK  bK  @@ @@@@@гǠ$unitnK  oK  @@ @@@@@@@@!@@@'@@$* @@1caml_obj_truncateBA@@@@K  L  @0ocaml.deprecatedL  L  @@L   @@S@@ ;*add_offsetFM  M  @б@гe!tM  M  @@ @@@0@Ti0@A@@б@г%Int32!tM  M  @@ @@@'@@г!tM  M  @@ @@@(!@@@@@)$@@@*@@*'- @@3caml_obj_add_offsetBA7@@@@M  M  "@@T@@@4(with_tagGO @ IO @ Q@б@г#intO @ TO @ W@@ @@@+0@Mb&@A@@б@г !tO @ [O @ \@@ @@@,@@гϠ!t O @ `O @ a@@ @@@-@@@@@.!@@@'@@/$* @@1caml_obj_with_tagBA@@@@ O @ @!O @ w@@8U@@@1 "first_non_constant_constructor_tagH-R  .R  @гࠐ#int6R  7R  @@ @@@0087788888@H]$@A@@@@R   @@WV@ @@ !last_non_constant_constructor_tagIKS  LS  @г#intTS  US  @@ @@@10VUUVVVVV@2@A@@@^S   @@uW@ @@(lazy_tagJiU  jU  @г#intrU  sU  @@ @@@20tssttttt@2@A@@@|U   @@X@ @@+closure_tagKV V  @г:#intV V @@ @@@30@2@A@@@V   @@Y@ @@*object_tagLWW @гX#intW#W&@@ @@@40@2@A@@@W @@Z@ @@)infix_tagMX'+X'4@гv#intX'7X':@@ @@@50@2@A@@@X'' @@[@ @@+forward_tagNY;?Y;J@г#intY;MY;P@@ @@@60@2@A@@@Y;; @@ \@ @@+no_scan_tagOZQUZQ`@г#intZQc ZQf@@ @@@70        @2@A@@@ZQQ @@)]@ @@,abstract_tagP[gk[gw@гР#int&[gz'[g}@@ @@@80(''(((((@2@A@@@0[gg @@G^@ @@*string_tagQ;\~<\~@г#intD\~E\~@@ @@@90FEEFFFFF@2@A@@@N\~~ @@e_@ @@*double_tagRY]Z]@г #intb]c]@@ @@@:0dccddddd@2@A@@@l] @@`@ @@0double_array_tagSw^x^@г*#int^^@@ @@@;0@2@A@@@^ @@a@ @@*custom_tagT__@гH#int__@@ @@@<0@2@A@@@_ @@b@ @@)final_tagU``@гf#int` ` @@ @@@=0@2@A@@@`a>@0ocaml.deprecatedaa#@7Replaced by custom_tag.a%a<@@a$a=@@@@@a@@c@@ 'int_tagVc@Dc@K@г#intc@Nc@Q@@ @@@>0@7J5@A@@@c@@ @@ d@ @@/out_of_heap_tagW dRV dRe@г#int dRh dRk@@ @@@?0        @2@A@@@ dRR @@ 1e@ @@-unaligned_tagX %elp &el}@гؠ#int .el /el@@ @@@@0 0 / / 0 0 0 0 0@2@A@@@ 8ell @@ Of@ @@'Closure]C Eg Fg@@БA($infoYD Sh Th@@8@@%arityZ@ @@@A `i ai@@ xh)start_env[@ @@@D lj mj@@ i@@A@@@@@ ph qk@@@@ g@ xi@@Ш@г #int i i@@(0        @ReP78@@@A@@@@@@@@@A@@/@F@B@+@''" j@@Ш@г*#int j j@@2@@5@F@E@1@@A@-@@0        @@A.-@$info\ l l@б@гs!t l  l @@ @@@Q0        @3ic@A@@гm$info l l@@ @@@R@@@@@S@@@ l @@ j@ @@@{A@0 @@0        @2 @A0        @Q@A g m@@@ g@@5Extension_constructorbE o o4@@БA(!t^F q;B q;C@@8@@@A @@@U@@@@ q;= q;[@@@@ l@@Aг 5extension_constructor q;F @@0        @@A@oH@@@8 'k"8@@@A)@@G@VG@T@@@@@@@@A@@@@0        @@A @&of_val_ %r\b &r\h@б@А!a@aG@]0 . - - . . . . .@)C=@A 4r\k 5r\m@@гI!t =r\q >r\r@@ @@@^@@@@@_@@@ Hr\^ @@ _m@ @@$name` Sss Tss@б@гj!t ^ss _ss@@ @@@b0 ` _ _ ` ` ` ` `@3D@A@@г ʠ&string mss nss@@ @@@c@@@@@d@@@ xssu @&inline ~ss{ ss@&always ss ss@@@@@@ ssy ss@@ n@$@/"ida t t@б@г!t t t@@ @@@e0        @H]6@A@@г ^#int t t@@ @@@f@@@@@g@@@ t @&inline t t@&always t t@@@@@@ t t@@ o@$@/@A@@i@K$@@0        @8M&@A 0        @@A p77 u@@@ o@@5extension_constructorc v v@б@А!a@lG@h0        @ @A@@@uN@@@# !p@A v v@@г ̠5extension_constructor v v@@ @@@i@@@$@@j@@@ !v "w;@0ocaml.deprecated (w )w@ $use Obj.Extension_constructor.of_val 3w 4w9@@ 6w 7w:@@@@@ 9w@@ Pq@@=.extension_named Dx<Q Ex<_@б@г 5extension_constructor Ox<b Px<w@@ @@@m0 Q P P Q Q Q Q Q@Vg7@A@@г &string ^x<{ _x<@@ @@@n@@@@@o@@@ ix<< jy@&inline px<B qx<H@&always |x<I }x<O@@@@@@ x<@ x<P@0ocaml.deprecated y y@ "use Obj.Extension_constructor.name y y@@ y y@@@@@ y/@@ r@21@0G3,extension_ide z z@б@г d5extension_constructor z z@@ @@@p0        @`uN@A@@г g#int z z@@ @@@q@@@@@r@@@ z {8@&inline z z@&always z z@@@@@@ z z@0ocaml.deprecated { {@ use Obj.Extension_constructor.id { {6@@ { {7@@@@@ {/@@ s@21@0G3)EphemeronwG }:A }:J@@Б  , Ephemeron with arbitrary arity and untyped  ~PR ~P@@@@@@0        @f{T@AA(%obj_tfH # $@@8@@@A @@@t@@@@ , -@4 alias for {!Obj.t}  9 :@@@@@@@@@ Qt@@Aг!t C@@0 A @ @ A A A A A@-'8@@@A.@@I@uI@s@@@@# @@@A "@@$!@7$#@A(!tgI Y Z@@8@@@A@@@@@ ]@ -> an ephemeron cf {!Ephemeron}  i j@@@@@@@@@ u@@A@@0 i h h i i i i i@UOI@A@&createh w x@б@г ,#int  @@ @@@|0        @4.@A@@г8!t  @@ @@@}@@@@@~@@@  @ l [create n] returns an ephemeron with [n] keys. All the keys and the data are initially empty. The argument [n] must be between zero and {!max_ephe_length} (limits included).   @@@@@@@ v@@%&lengthi  @б@гf!t  @@ @@@0        @>S,@A@@г x#int  @@ @@@@@@@@@@@  @ ; return the number of keys   @@@@@@@ w@@%'get_keyj  @б@г!t  @@ @@@0        @>S,@A@@б@г #int  @@ @@@@@г &option " (@г%obj_t $ %!@@ @@@(@@@@@@- @@@"@@0%@@@6@@39@@@ 7@  ( Same as {!Stdlib.Ephemeron.K1.get_key}  C)+ D)X@@@@@@@ [x@,@F,get_key_copyk OZ` PZl@б@г!t ZZn [Zo@@ @@@0 \ [ [ \ \ \ \ \@_t,@A@@б@г #int kZs lZv@@ @@@@@г 점&option xZ yZ@г_%obj_t Zz Z@@ @@@(@@@@@@- @@@"@@0%@@@6@@39@@@ Z\@ e - Same as {!Stdlib.Ephemeron.K1.get_key_copy}   @@@@@@@ y@,@F'set_keyl  @б@г_!t  @@ @@@0        @_t,@A@@б@г s#int  @@ @@@@@б@г%obj_t  @@ @@@ @@г >$unit  @@ @@@-@@@@@0@@@%@@3( @@@9@@6<@@@ @ Ɛ ( Same as {!Stdlib.Ephemeron.K1.set_key} @@@@@@@z@ @I)unset_keym&@б@г!t()@@ @@@0@bw,@A@@б@г Ԡ#int*-+0@@ @@@@@г $unit7488@@ @@@@@@@@!@@@'@@$* @@@E@  * Same as {!Stdlib.Ephemeron.K1.unset_key} Q9;R9j@@@@@@@i{@@7)check_keyn]lr^l{@б@г!thl}il~@@ @@@0jiijjjjj@Pe,@A@@б@г##intylzl@@ @@@@@гU$boolll@@ @@@@@@@@!@@@'@@$* @@@ln@ d * Same as {!Stdlib.Ephemeron.K1.check_key} @@@@@@@|@@7(blit_keyo@б@г^!t@@ @@@0@Pe,@A@@б@гr#int@@ @@@@@б@г~!t@@ @@@ @@б@г#int@@ @@@/@@б@г#int@@ @@@>@@г[$unit@@ @@@K@@@@@N@@@%@@Q( @@@7@@T:@@@I@@WL@@@]@@Z`@@@@ 鐠 ) Same as {!Stdlib.Ephemeron.K1.blit_key} %&&@@@@@@@=}@&@m(get_datap1(.2(6@б@г㠐!t<(8=(9@@ @@@0>==>>>>>@,@A@@г&optionK(CL(I@г2%obj_tU(=V(B@@ @@@@@@@@@ @@@$@@!'@@@e(*@ 5 ) Same as {!Stdlib.Ephemeron.K1.get_data} qJLrJz@@@@@@@~@)@4-get_data_copyq}|~|@б@г/!t||@@ @@@0@Mb,@A@@г &option||@г~%obj_t||@@ @@@@@@@@@ @@@$@@!'@@@|~@ . Same as {!Stdlib.Ephemeron.K1.get_data_copy} @@@@@@@@)@4(set_datar@б@г{!t@@ @@@0@Mb,@A@@б@г %obj_t@@ @@@@@гK$unit@@ @@@@@@@@!@@@'@@$* @@@@ А ) Same as {!Stdlib.Ephemeron.K1.set_data}   -@@@@@@@$@@@7*unset_datas/5/?@б@гʠ!t#/A$/B@@ @@@0%$$%%%%%@Pe,@A@@г$unit2/F3/J@@ @@@@@@@@@@@=/1 @ + Same as {!Stdlib.Ephemeron.K1.unset_data} IKMJK}@@@@@@@aA@@%*check_datatUV@б@г!t`a@@ @@@0baabbbbb@>S,@A@@г>$boolop@@ @@@@@@@@@@@z @ J + Same as {!Stdlib.Ephemeron.K1.check_data} @@@@@@@B@@%)blit_datau@б@гD!t@@ @@@0@>S,@A@@б@гU!t@@ @@@@@г$unit@@ @@@@@@@@!@@@'@@$* @@@@ * Same as {!Stdlib.Ephemeron.K1.blit_data} !@@@@@@@C@@7/max_ephe_lengthv#)#8@г#int#:#=@@ @@@0@Nc*@A@@@#% @ Đ ` Maximum length of an ephemeron, ie the maximum number of keys an ephemeron could contain >@@@@@@@@D@@@A@A@p@\5@!@}@i@ @@p@@m@Y @ @@]@I4@@0#""#####@8K6@A%0&%%&&&&&@@A+}:L,@@@.}::@@@A@A@@j@]:@-@@@vO@B@  @  m@ Q @  @  Q@ 3 @  @  Y@ K $@  @  @ | C@ 5 @  @  @  @  @  @  x@ q \@ U @@ 9 $@  @ @@@@yd@]H@@@@p@@@@y@@g@H!@@@e@`E@@@0@w@uoA@A;A@%@@g@S @@_@K@@{E@1@@s@_8@$@@@@'@A@ H************************************************************************A@@A@L@ H BMMBM@ H OCaml CC@ H DD3@ H Xavier Leroy, projet Cristal, INRIA Rocquencourt E44E4@ H FF@ H Copyright 1996 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@ Q* Operations on internal representations of values. Not for the casual user.  - @since 4.12 WW@  * Computes the total size (in words, including the headers) of all heap blocks accessible from the argument. Statically allocated blocks are excluded, unless the runtime system was configured with [--disable-naked-pointers]. @since 4.04 נ * When using flambda: [set_field] MUST NOT be called on immutable blocks. (Blocks allocated in C stubs, or with [new_block] below, are always considered mutable.) The same goes for [set_double_field] and [set_tag]. However, for [set_tag], in the case of immutable blocks where the middle-end optimizers never see code that discriminates on their tag (for example records), the operation should be safe. Such uses are nonetheless discouraged. For experts only: [set_field] et al can be made safe by first wrapping the block in {!Sys.opaque_identity}, so any information about its contents will not be propagated. (/ @since 3.11.2     @/ @since 3.11.2 !A 6 8"A 6 K@- @since 4.12 'D  (D  @- @since 4.12 -G  .G  0@/ @since 3.12.0 3N # ,4N # ?@/ @since 4.09.0 9P x z:P x @; both [string] and [bytes] ?\~@\~@ # should never happen @since 3.11.0 EelFel@ -* Ephemeron with arbitrary arity and untyped 55* alias for {!Obj.t} ?* an ephemeron cf {!Ephemeron} 蠠 * [create n] returns an ephemeron with [n] keys. All the keys and the data are initially empty. The argument [n] must be between zero and {!max_ephe_length} (limits included). <* return the number of keys r )* Same as {!Stdlib.Ephemeron.K1.get_key}  .* Same as {!Stdlib.Ephemeron.K1.get_key_copy}  )* Same as {!Stdlib.Ephemeron.K1.set_key} ^ +* Same as {!Stdlib.Ephemeron.K1.unset_key}  +* Same as {!Stdlib.Ephemeron.K1.check_key} Ơ ** Same as {!Stdlib.Ephemeron.K1.blit_key} D ** Same as {!Stdlib.Ephemeron.K1.get_data}  /* Same as {!Stdlib.Ephemeron.K1.get_data_copy}  ** Same as {!Stdlib.Ephemeron.K1.set_data} f ,* Same as {!Stdlib.Ephemeron.K1.unset_data} , ,* Same as {!Stdlib.Ephemeron.K1.check_data}  +* Same as {!Stdlib.Ephemeron.K1.blit_data}  a* Maximum length of an ephemeron, ie the maximum number of keys an ephemeron could contain ~@D)../ocamlc0-strict-sequence(-absname"-w8+a-4-9-41-42-44-45-48-70"-g+-warn-error"+A*-bin-annot)-nostdlib*-principal,-safe-string/-strict-formats"-o/stdlib__Obj.cmi"-c 1/home/barsac/ci/builds/workspace/bootstrap/stdlib @0JU#c@0@@@8CamlinternalFormatBasics0cEXy,W:(-Stdlib__Int320eoq,hZs0>_3 Ic}@0>_3 Ic}AD;:  @  @@! @@@sq@@a`  @  @߰ + )0.53@ m l@  @@@  @@@@  @yx@  @@ݰ@@@ > =@@@@  @@@sv@  ~}@ds@@@  ڰ 6 5@@@ V U@;: v t@@Ѱ y x@@  @@@;:@@  @ s r@YX76@@  !EC@ED  @^@@    @ } @@@ @@P@