
    	              	          % S SK r S SKJrJr  S SKJr  S SKJrJrJ	r	J
r
  S SKJr  S SKrS SKJrJr   S SKJr  Sr\" S	S
S9r/ SQrSS/r\R1                  SSSS SS9  \R1                  SSS/ S9  \R1                  SSSSS9  \ R2                  S:  a  SOSr\\   \S'   \R1                  S S!\" S"\S#9\ R:                  S$S%9  \R1                  S&\" S'\S#9S(S)9  \ H~  r\" \\ 5      (       a3  \RC                  \S*   5        \R1                  S+\S    -   S,\S*   -   S-S.9  MD  \" \\5      (       a&  \RC                  \5        \R1                  S,\-   S-S.9  Mx  \"" S/5      e   S0 r#S3S1 jr$S2 r%g! \ a    S	r GN5f = f)4    N)ArgumentParserFileType)indent)DEBUGINFOWARNERROR)Optional)Larklogger)r   TFz;Look at the Lark documentation for more info on the options)add_helpepilog))ddebugkeep_all_tokensregexpropagate_positionsmaybe_placeholders	use_bytesstartlexerz-vz	--verbosecountz/Increase Logger output level, up to three times)actiondefaulthelpz-sz--startappend)r   r   z-lz--lexer
contextual)basicr   )r   choices)      zutf-8encodingz-oz--outw)r"   z the output file (default=stdout))typer   r   grammar_filerzA valid .lark file)r$   r      -z--
store_true)r   z4flags must only contain strings or tuples of stringsc                    [         R                  " [        [        [        [
        4[        U R                  S5         5        [        (       a)  [        R                  " [         R                  " 5       5        [        U R                  5      S:X  a  U R                  R                  S5        [         Vs0 s H  o[        X5      _M     nn[!        U R"                  4SS0UD6U R$                  4$ s  snf )Nr    r   r   parserlalr)r   setLevelr	   r   r   r   minverbosehas_interegularinteregular_loggergetEffectiveLevellenr   r   optionsgetattrr   r%   out)	namespacenkwargss      &lib/third_party/lark/tools/__init__.py
build_lalrr;   .   s    
OOUD$.s93D3Da/HIJ##F$<$<$>?
9??q w'0781&&F8	&&@v@@)--OO 9s   2C-c                     [         R                  " XX#U5      n[        US5      nUc  [        R                  nUc  g  UR                  U5        g ! [         a     g f = f)Nz# )warningsformatwarningr   sysstderrwriteOSError)messagecategoryfilenamelinenofilelinetexts          r:   showwarning_as_commentrJ   8   s[    !!'XtLD$D|zz<

4 s   A 
AAc                  "    [         [        l        g )N)rJ   r=   showwarning     r:   make_warnings_commentsrO   F   s
    1HrN   )NN)&r?   argparser   r   textwrapr   loggingr   r   r   r	   typingr
   r=   larkr   r   interegularr1   r0   ImportErrorlalr_argparserflagsr4   add_argumentversion_infor"   str__annotations__stdoutflag
isinstancetupler   NotImplementedErrorr;   rJ   rO   rM   rN   r:   <module>rb      s   
 -  , ,   8O  7tu	 G
   D+gq  PA   B   D)Hb  I   D)\Kb  c%(%5%5%>'D(3- H   D'x0PZ]ZdZd  lN   O   N#1QXl  mD$tAw##C$q'M4$q'>,#W	D#		t##D4K#E!"XYY P2u  Os   E% %E10E1