Caml1999I031$.Odoc_see_lexer#buf&Stdlib&Buffer!t@@@@2odoc_see_lexer.mllUU@@@@2__ocaml_lex_tables&Lexing*lex_tables@@@@1odoc_see_lexer.mlZZ@@&A@$main@'&lexbuf@@@+Odoc_parser%token@@@@@@{BJ{BN@@?B@4__ocaml_lex_main_rec@@#intA@@@@@@@@-}y}.}y@@RC@#url@,&@@@1odoc_see_lexer.mlQUQX@@^D@3__ocaml_lex_url_rec@8@@@@7@@@@@@@nE@#doc@HB@@@1odoc_see_lexer.ml  !  $@@zF@3__ocaml_lex_doc_rec@T@;@@@S@@@@@ O S O f@@G@$file @d^@@@1odoc_see_lexer.ml!!!!@@H@4__ocaml_lex_file_rec @p@W@@@o@@@@@"""""6@@I@$desc @z@@@1odoc_see_lexer.ml####@@J@4__ocaml_lex_desc_rec @@s@@@@@@@@###$@@K@@P-.Odoc_see_lexer0?;u|HB(Warnings0zdͦkUe$-Stdlib__Uchar0*Ujmyc6]]W.Stdlib__String0I3UK# +Stdlib__Seq05"g1<)b.Stdlib__Lexing01'jh,-k4,Stdlib__Lazy0C 4 "$p1tU.Stdlib__Format0{hXsHW#ȼ.Stdlib__Either0&]XF.Stdlib__Buffer0K ɦb+Z8)#KH"&Stdlib0yӶ~**Odoc_types0E#(m!|AYޠ+Odoc_parser0\!z[&j1fࠠ(Location0SP=u;0CamlinternalLazy0Seĥ!}䠠8CamlinternalFormatBasics0cEXySz@@ 0>>>>>>>>@=@@@@A0????????@?@@ESzz@@ @D@ࠠ#bufRUSU@@@&Stdlib&Buffer!t@@@ FA@0^^^^^^^^@@@@డ;&Buffer&createnUoU@@#intA@@@"@@@@@@*buffer.mlidd @@.Stdlib__BufferA@@@@@A@1@@A@@A@*@@`UU@@%@@B@ GB@ KB@ J:@@. @@E;@@U @@ @>@ࠠ2__ocaml_lex_tablesb1odoc_see_lexer.mlZZ@@@Y&Lexing*lex_tables@@@ bA@ M0@vke@f@@@@@,,(lex_base@@@ Q&stringO@@@ F@@, ,+lex_backtrk  @@@ G@A@A*lexing.mli! !$! !9@@.Stdlib__Lexingg,+lex_default@@@ H@B@A !:!> !:!S@@ h,)lex_trans"@@@ I@C@A!T!X!T!k@@i,)lex_check,)@@@ J@D'@A !l!p!!l!@@j,-lex_base_code63@@@ K@E1@A*!!+!!@@)k,0lex_backtrk_code@=@@@ L@F;@A4!!5!!@@3l,0lex_default_codeJG@@@ M@GE@A>!!?!!@@=m,.lex_trans_codeTQ@@@ N@HO@AH!!I!!@@Gn,.lex_check_code^[@@@ O@IY@AR!!S!"@@Qo,(lex_codehe@@@ P@Jc@A\""]""-@@[p@A`! ! a! !@@_f&Lexing(lex_base[[@ (\^}@@\^}@@@@B@ dB@ fB@ e@&Lexing+lex_backtrk__@ (`bGk@@`bGl@@@@B@ kB@ mB@ l@&Lexing+lex_defaultcnpcn@ ( df5@@df6@@@@B@ rB@ tB@ s@&Lexing)lex_transg8:g8J@      hMQISW@@hMPISX@@@@B@ yB@ {B@ z@&Lexing)lex_checkJZ\JZl@        Kosluy@@Kor luz@@@@B@ B@ B@ @ǡ&Lexing-lex_base_codem|~m|@  n@@"n#n@@@@B@ B@ B@ @ס&Lexing0lex_backtrk_code3o4o@ :p@@<p=p@@@@B@ B@ B@ 8@硠&Lexing0lex_default_codeMqNq@ Tr@@VrWr@@@@B@ B@ B@ R@&Lexing.lex_trans_codegshs@ nt@@ptqt@@ @@B@ B@ B@ l@&Lexing.lex_check_codeuu@ v!@@v v"@@@@B@ B@ B@ @&Lexing(lex_codew$&w$5@ x8<@@x8;x8=@@+@@B@ B@ B@ @@@Zy?@@@@@Z@@@Aࠠ$main{{BJ{BN@@@@&lexbuf@@@A@ +Odoc_parser%token@@@A@ @A@ 0{{{{{{{{@@@A@@@@&lexbuf{BO{BU@@@"0@6@2+@@ B@ @5@B4__ocaml_lex_main_rec|@:A@ @@@@ A@ ;A@ @@ @@ B@ @}y}}y@@C#url}@NA@ HA@ @@ B@ @1odoc_see_lexer.mlQUQX@@D3__ocaml_lex_url_rec~@\A@ @@@@ A@ ]A@ @@ @@ B@ @@@E#doc@pA@ jA@ @@ B@ @1odoc_see_lexer.ml  !  $@@F3__ocaml_lex_doc_rec@~A@ @8@@@A@ A@ @@ @@ B@ @ O S O f@@ G$file@A@ A@ @@ B@ @1odoc_see_lexer.ml!!!!@@H4__ocaml_lex_file_rec@A@ @Z@@@A@ A@ @@ @@ B@ @"""""6@@/I$desc@A@ A@ @@ B@ @1odoc_see_lexer.ml####@@=J4__ocaml_lex_desc_rec@A@ @|@@@A@ A@ @@ @@ B@ @###$@@QK@@@@ఐ4__ocaml_lex_main_rec|X[|Xo@@@@@@A@ @A@ 0IIIIIIII@@@eL@@@@ఐҠ&lexbuf|Xp|Xv@@@@@@|Xw|Xx@@@@"@@A@ @@AA@@@@ 0iiiiiiii@@@@@{BB @ӠӰ@@@@@@ @A@ 0vvvvvvvv@@@@@&lexbuf}y}y@@@0@@@@@@1__ocaml_lex_state}y}y@@@A@ A@ 0@ @@M@@@@డx&Lexing&engine~~@@@@@ X@#intA@@@ W@N@@@ V @@@ U@@ T@@ S@@ R@"0"0"0"_@@q@@@@@B@ @@@B@ @f@@B@ @@B@ @B@ @B@ @B@ 0@CSI@J@N@@@@ఐ?2__ocaml_lex_tables?~@~@k@@@@@C@ C@ /C@ .@@ఐo1__ocaml_lex_stateS~T~@"@@k%@@ఐ&lexbuf`~a~@q@@f2@@c@@N@@@ 6@@op@@]@@C@ 7C@ 60@E@@@ @@@ఐ $main2odoc_see_lexer.mll\#\'@@@@@A@ Q@@ఐ&lexbuf\(\.@@@@@[]/2@@A@A@CA@ PA@ vA@ A@ O+@A1odoc_see_lexer.mlNRNS@@@@C@ :C@ 9;@ @;@@ఐ$main2odoc_see_lexer.mllayay@Ͱ@@@@A@ ZJ@@ఐ&lexbufayay@۰@@W@@`qwb@@:A@ A@ X]@B1odoc_see_lexer.ml@@@@C@ =C@ <m@ @m@@ఐޠ#url2odoc_see_lexer.mllff@@@@@A@ a|@@ఐ&&lexbufff@ @@@@eg@@2A@ _@C1odoc_see_lexer.ml@@@@C@ @C@ ?@ @@@ఐ#doc2odoc_see_lexer.mllk<Dk<G@@@@@A@ h@@ఐW&lexbufk<Hk<N@>@@3@@j4:lOV@@cA@ f@D1odoc_see_lexer.mlrvrw@@,@@C@ CC@ B@ @@@ఐ$file2odoc_see_lexer.mllqq@@@@@A@ o@@ఐ&lexbufqq@o@@d@@pr@@A@ m@E1odoc_see_lexer.ml@@]@@C@ FC@ E@ @@@ภ#EOF2odoc_see_lexer.mllvv @8#EOF@@@@@@IJF@A/odoc_parser.mliPP@@@O@uw @@A@ t@F1odoc_see_lexer.ml.2.3@@@@C@ IC@ H)@ @)@@డ$&Buffer%reset2odoc_see_lexer.mll{Ya{Ym@@@@@$unitF@@@@@@V  V  @@I@@@@@B@ }@@B@ |@B@ {S@@ఐ+#buf&{Yn'{Yq@ư@@-@@C@ C@ C@ g@@1 @@@@A@ B@ n@డi&Buffer*add_stringE|t|F|t@@J@@@@&stringO@@@L@@@ @@ @@ @4))5)M@@3P@@@`@@B@ @@@B@ @@B@ @B@ @B@ @@ఐz#bufu|tv|t@@@|@@C@ C@ C@ @@డ&Lexing&lexeme|t|t@@{@@@ )@@@ @@ @ AA!A^@@Y@@@@@C@ @@C@ @C@ @@ఐ&lexbuf|t|t@o@@d@@|t|t@@l@@C@ C@ D@ @@z @@@@A@ B@ @ఐ$desc}}@ @@@@A@  @@ఐ&lexbuf}}@@@@@@@@@@@zQW~@@A@ x@ࠠ1__ocaml_lex_state@@@@@@ Kr@@@@B@ Lu@@ఐݠ&lexbuf@İ@@0]]]]]]]]@@@yO@@@&Lexing+refill_buff@,+refill_buff@@@ @@@@ $unitF@@@ @@ @@0,*lex_buffer%bytesC@@@ AA @As_cs_~@@H,.lex_buffer_len@@@ AB@Att@@I,+lex_abs_pos'@@@ AC@Auu@@J,-lex_start_pos1@@@ AD'@Avv@@K,,lex_curr_pos;@@@ AE1@Aww @@L,,lex_last_posE@@@ AF;@Ax  x  @@M,/lex_last_actionO@@@ AGE@Ay ! %y ! C@@N,/lex_eof_reachedY$boolE@@@ AHQ@Az D Hz D g@@O,'lex_meme%arrayH$@@@ @@@ AIb@A { h l{ h @@ P,+lex_start_pv4(position@@@ AJm@A|  |  @@Q,*lex_curr_p @@@ AKv@A!}  "}  @@ R@A%r=A&r=^@@$G@@@@@B@ @@B@ @B@ @@ఐ&lexbufOP@t@@i@@@@@@A@ B@ @ఐ{4__ocaml_lex_main_reca"b6@@@@}@|w@A@ @A@ @@ఐ&lexbufr7s=@@@@@ఐ1__ocaml_lex_state>O@ݰ@@B@ @@$@@@@@@@A~@@&@@A A@A@ A@ 0HHHHHHHH@@@@@AA@@@@ 0LLLLLLLL@@@@@}yy@@@@@A@ 0WWWWWWWW@@@@@&lexbufQYQ_@@@0eeeeeeee@@@@@ఐ3__ocaml_lex_url_recbebx@@@@@@A@ @A@ 0vvvvvvvv@@@P@@@@ఐ&&lexbufbyb@@@@@Hbb@@@@"@@RA@ @@A2A@@@@ 0@ @@@@QQ @ޠް@@@@@@ @A@ 0@(@@@@&lexbuf@@@0@%@@@@@1__ocaml_lex_state@@@A@ *A@ 0@8@@Q@@@@డ&Lexing&engine@-@@@-@@B@ @-@@B@ @x@@B@ *@@B@ @B@ @B@ @B@ 0@(8.@/@ R@@@@ఐQ2__ocaml_lex_tables=>@}@@R@@C@ +C@ /C@ .@@ఐT1__ocaml_lex_stateQR@"@@P%@@ఐo&lexbuf^_@V@@V2@@H@@`@@@ (6@@mn@@o@@C@ 7C@ 60 / / / / / / / /@E@@@ @@@@ࠠ!s2odoc_see_lexer.mllC+7C+8@@@V@@@ HB@ >0 C C C C C C C C@Y@@@డ &Lexing&lexemeC+;C+H@n@@@@@B@ Bn@@B@ A@B@ @@@ఐ&lexbuf+C+I,C+O@@@%@@@@)&@@0C+3@@ภ'See_url7DS[8DSb@8'See_urlM@&stringO@@@@AAJF@AQC{}RC{R@@@ Bడ^&String#subTDSdUDSn@@&stringO@@@@@#intA@@@?@@@@>@@@=@@<@@;@@:@*string.mli@@.Stdlib__StringQ$#@@@!@@A@@@@A@@@@A@@@A@@A@@A@@A@0        @@@ S@@@@ఐ!sDSoDSp@@@F@@B@B@B@@@@DSqDSr@@N@@B@B@B@(@@డ!-DSDS@@#intA@@@@@@@ @@@@@@@'%subintBA @@@@*stdlib.mli`55`55@@q! @@@@@B@@@@B@@@B@@B@@B@b@@డ &String&lengthDSuDS@@@@@@@@@@.%string_lengthAA @@@vv @@F@@@@@C@@@C@@C@@@ఐ$!s$DS%DS@@@+@@D@D@D@@@/DSt0DS@@r@@C@C@D@@@A?DS@@y@@C@C@C@@@HDSsIDS@@@@B@B@C@@@RDScSDS@@@@A@ RA@B@@@% @@#@@A@ Q@`B#)aE@@[A@ =[@ࠠ1__ocaml_lex_state@@@@@@ 9@@@@B@ :@@ఐ&lexbuf@@@0        @@@ T@@@&Lexing+refill_buff@d@@@d@@B@`@@B@@B@@@ఐ6&lexbuf@@@"@@&@@_@@A@B@(@ఐ/3__ocaml_lex_url_rec @3@@@1@0+@A@@A@8@@ఐY&lexbuf& ' @@@@@E@@ఐh1__ocaml_lex_state3 4 @O@@JB@T@@$@@HU@Y@@A@X@@A_ @@A@ @@Ab A@A@ A@ 0 " " " " " " " "@_@@@@AvA@@`@@0 & & & & & & & &@@@@@m@ZZRP@S@@WV@A@ 0 1 1 1 1 1 1 1 1@@@@@&lexbuf_  %`  +@@@e0 ? ? ? ? ? ? ? ?@@@@@ఐd3__ocaml_lex_doc_recl . 1m . D@h@@@f@e`@A@@A@0 P P P P P P P P@y@@ lU@@@@ఐ&&lexbuf . E . K@@@@@K . L . N@@}@@"@@*A@@@A2A@@@@0 p p p p p p p p@@@@@   @@@@@@@ @A@ 0 } } } } } } } }@@@@@&lexbuf O g O m@@@0        @@@@@@1__ocaml_lex_state O n O @@@A@A@0        @@@ V@@@@డ &Lexing&engine    @@@@ @@B@ @@@B@ @R@@B@ @@B@ @B@ @B@@B@0        @(8.@/@ W@@@@ఐ +2__ocaml_lex_tables    @W@@ ,@@C@C@"C@!@@ఐT1__ocaml_lex_state      @"@@P%@@ఐo&lexbuf    @V@@2@@H@@:@@@6@@%  &  @@I@@C@*C@)0        @E@@@ @@@@ࠠ!s2odoc_see_lexer.mllK !K !@@@0@@@;B@10        @Y@@@డ &Lexing&lexemeK !K !@H@@@@@B@5H@@B@4@B@3@@ఐ&lexbuf+K !,K !@@@Z%@@@@)&@@0K !@@ภ'See_doc7L! !(8L! !/@8'See_doc'@@@@@ACJF@A)Eln*El@@@Dడ 6&String#subRL! !1SL! !;@ذ@@@@@A@M@@@A@L@@@A@K@@A@J@A@I@A@H@A@G0 { { { { { { { {@mf@g@ X@@@@ఐu!suL! !<vL! !=@@@@@B@^B@`B@_@@@L! !>L! !?@@@@B@]B@bB@a(@@డ L! !SL! !T@@@@@@B@h@@@B@g@@B@f@B@e@B@dC@@డ &String&lengthL! !BL! !O@@@@@@C@x@@C@w@C@v]@@ఐΠ!sL! !PL! !Q@g@@@@D@D@D@q@@L! !AL! !R@@@@C@tC@D@~{@@ANL! !U@@@@C@sC@C@@@L! !@L! !V@@i@@B@\B@C@r@@L! !0L! !W@@@@A@EA@B@[@@ @@ @@A@D@ J   M!X!_@@A@0@ࠠ1__ocaml_lex_state -!{! .!{!@@@r@@@,n@@u@@B@-q@@ఐ&lexbuf C!{! D!{!@@@ ]0 E E E E E E E E@@@ aY@@@&Lexing+refill_buff P!{! Q!{!@@@@ @@B@@@B@@B@@@ఐࠐ&lexbuf e!{! f!{!@ǰ@@ "@@&@@@@A@B@(@ఐ 3__ocaml_lex_doc_rec w!! x!!@ @@@ @  @A@@A@8@@ఐ&lexbuf !! !!@@@ E@@ఐh1__ocaml_lex_state !! !!@O@@ B@T@@$@@ U@Y@@ZA@X@@A    @@\A@@@A  A@+A@A@0        @ @@@@A A@@ /@@0        @ @@@@  O O@    @ @@  @A@ 0        @ :@@@@&lexbuf !! !!@@@ 0        @ 7@@@@ఐ Ơ4__ocaml_lex_file_rec !! !"@ ʰ@@@ @  @A@@A@0        @ I @@ Z@@@@ఐ&&lexbuf !" !"@@@ @@N !" !"@@ @@"@@A@@@A2A@@  @@0        @ h@@@@ !! @    @ @@ @  @@ @A@ 0@ @@@@&lexbuf ""7 ""=@@@ 0@ @@@@@1__ocaml_lex_state ""> ""O@@@ A@A@0!!!!!!!!@  @@=[@@@@డ &Lexing&engine 4"R"Z 5"R"g@ @@@ @@B@@ @@B@@ @@B@ @@B@@B@@B@@B@0HHHHHHHH@(8.@/@d\@@@@ఐ 2__ocaml_lex_tables W"R"h X"R"z@ ۰@@ @@C@C@C@@@ఐT1__ocaml_lex_state k"R"{ l"R"@"@@P%@@ఐo&lexbuf x"R" y"R"@V@@ p2@@H@@ @@@6@@ "" ""@@ @@C@C@0@E@@@ @@@@ࠠ!s2odoc_see_lexer.mllR""R""@@@@@@B@0@Y@@@డ ~&Lexing&lexemeR""R""@̰@@@ G@@B@@@B@@B@@@ఐ&lexbuf+R"",R""@@@ %@@@@)&@@0R""@@ภ(See_file7S""8S"#@8(See_file@^@@@@ABJF@ADSUDSk@@@ eCడ &String#subRS"#SS"# @\@@@\@@A@@Y@@A@@V@@A@U@@A@@A@@A@ @A@ 0@mf@g@]@@@@ఐu!suS"# vS"#@@@@@B@#B@%B@$@@@S"#S"#@@@@B@"B@'B@&(@@డ;=S"#$S"#%@:@@@:@@B@-@7@@B@,6@@B@+@B@*@B@)C@@డ!&String&lengthS"#S"# @@@@@@C@=@@C@<@C@;]@@ఐΠ!sS"#!S"#"@g@@3@@D@DD@FD@Eq@@S"#S"##@@z@@C@9C@HD@C{@@ANS"#&@@@@C@8C@JC@I@@S"#S"#'@@@@B@!B@LC@7@@S"#S"#(@@@@A@ A@NB@ @@ @@ +@@A@ @ Q"" T#)#0@@ _A@@ࠠ1__ocaml_lex_state #L#P #L#a@@@ @@@n@@ @@B@q@@ఐ&lexbuf #L#e #L#k@@@ 0@@@^@@@&Lexing+refill_buff #L#l #L#~@l@@@ l@@B@Uh@@B@T@B@S@@ఐࠐ&lexbuf #L# #L#@ǰ@@ "@@&@@ g@@A@cB@\(@ఐ 4__ocaml_lex_file_rec ## ##@ @@@ @  @A@f@A@e8@@ఐ&lexbuf ## ##@@@ E@@ఐh1__ocaml_lex_state ## ##@O@@ B@oT@@$@@ U@Y@@ A@OX@@A #"R"T @@ A@@@A  A@+A@A@0********@ @@@@A A@@ $/@@u0........@ @@@@ 1""@    @ @@  @A@ 099999999@ @@@@&lexbuf ### $##@@@ )0GGGGGGGG@ @@@@ఐ (4__ocaml_lex_desc_rec 0## 1##@ ,@@@ *@ ) $@A@{@A@z0XXXXXXXX@  =@@t_@@@@ఐ&&lexbuf E## F##@@@ K@@Q O## P##@@ A@@"@@ .A@x@@A2A@@ Z Y@@0xxxxxxxx@ @@@@ Y## @ Z Z K J@ L@@ W@ V Q@@ @A@ 0@ @@@@&lexbuf o#$  p#$@@@ g0@ @@@@@1__ocaml_lex_state }#$ ~#$!@@@ tA@A@0@  |@@`@@@@డ&Lexing&engine $$$, $$$9@ @@@@@B@@ @@B@@ Z@@B@ @@B@@B@@B@@B@0@(8.@/@a@@@@ఐ32__ocaml_lex_tables $$$: $$$L@ _@@4@@C@C@C@@@ఐT1__ocaml_lex_state $$$M $$$^@"@@P%@@ఐo&lexbuf $$$_ $$$e@V@@ 2@@H@@ B@@@6@@ $k$s $k$t@@ Q@@C@C@0@E@@@ @@@ภ$Desc2odoc_see_lexer.mllY$$Y$$@8$Desc @@@@@AEJF@A Q Q.@@@ Pడ&Buffer(contentsY$$Y$$@@@@@ @@@@@@r  r  @@B@@@@@A@@@A@@A@<@@ఐ#buf?Y$$@Y$$@@@ @@B@B@B@P@@JY$$KY$$@@J@@A@A@B@Z@@TY$$UY$$@@ A@_@A1odoc_see_lexer.ml$$$$@@ @@C@C@o@ @o@@డ^&Buffer*add_string2odoc_see_lexer.mll\$%\$%@ @@@@@@B@@ @@B@ @@B@@B@@B@@@ఐZ#buf\$%\$%@@@\@@C@C@C@@@డ&Lexing&lexeme4\$%5\$%)@ @@@[@@C@ @@C@@C@@@ఐK&lexbufI\$%*J\$%0@2@@ @@M\$%N\$%1@@ >@@C@C@D@@@W @@ `@@A@B@@ఐ ؠ$desce]%3%;f]%3%?@ ܰ@@@  @A@@@ఐv&lexbuft]%3%@u]%3%F@]@@ @@@@ @y[$$z^%G%N@@ A@@ࠠ1__ocaml_lex_state1odoc_see_lexer.ml%j%n%j%@@@ \@@@P@@ _@@B@S@@ఐ&lexbuf%j%%j%@@@0////////@d @@Kb@@@&Lexing+refill_buff$%j%%%j%@ Ұ@@@@@B@  @@B@ @B@ @@ఐ &lexbuf9%j%:%j%@@@%"@@&@@ @@A@#B@(@ఐ74__ocaml_lex_desc_recK%%L%%@;@@@9@83@A@&@A@%8@@ఐ堐&lexbuf\%%]%%@̰@@HE@@ఐi1__ocaml_lex_statei%%j%%@O@@RB@-T@@$@@PU@Y@@A@W@@Af$$$& @@A@y@@A A@ A@A@0@@@@@AA@@g@@50@@@@@t##@@,@@N@@<@@@@@@@@@@@0@#@@@ H************************************************************************B[[B[g@ H ChhCh@ H OCaml DD@ H EEN@ H Maxence Guesdon, projet Cristal, INRIA Rocquencourt FOOFO@ H GG@ H Copyright 2001 Institut National de Recherche en Informatique et HH5@ H en Automatique. I66I6@ H JJ@ H All rights reserved. This file is distributed under the terms of KK@ H the GNU Lesser General Public License version 2.1, with the LLi@ H special exception on linking described in the file LICENSE. MjjMj@ H NN@ H************************************************************************OOP@ "* the lexer for special comments.  @/../ocamlopt.opt)-nostdlib"-I)../stdlib"-I(../utils"-I*../parsing"-I)../typing"-I)../driver"-I+../bytecomp"-I+../toplevel"-I)../stdlib"-I/../compilerlibs"-I0../otherlibs/str"-I4../otherlibs/dynlink"-I;../otherlibs/dynlink/native"-I1../otherlibs/unix(-absname"-w8+a-4-9-41-42-44-45-48-70+-warn-error"+A,-safe-string0-strict-sequence/-strict-formats*-bin-annot*-principal"-c1odoc_see_lexer.ml @@@@@ADu@ @@@@@A@@@@@@ABo@7@@#@@@ACE