
    Q                     `   % S SK Jr  S SKrS SKJr  S SKJrJrJrJ	r	J
r
  \
(       aN  SSKJr  SSKJr  S SKJrJr  \R"                  S	:  a  S S
KJr  OS S
KJr  \R"                  S:  a  S SKJr  OS SKJr  SSKJr  SSKJrJr  SrS\S'   SrS\S'   \\/\4   r " S S\5      r " S S\5      rg)    )deepcopyN)
ModuleType)Callable
CollectionDictOptionalTYPE_CHECKING   )PostLex)Lexer)UnionType)      )Literal)r   
   )	TypeAlias)	Serialize)TerminalDefTokenz(Literal["earley", "lalr", "cyk", "auto"]r   _ParserArgTypezYUnion[Literal["auto", "basic", "contextual", "dynamic", "dynamic_complete"], Type[Lexer]]_LexerArgTypec                      \ rS rSr% Sr\4r\\   \S'   \	\S'   \\
   \S'   S\S'   \\
\4   \S'   \\S	'   \\S
'   \\S'   \\   \S'   \\S'     SS\\   S\	S\\
   SSS\\\
\4      S	\S
\S\S\4S jjrS rSS jrSrg)	LexerConf   )	terminalsignoreg_regex_flags	use_bytes
lexer_typer   	re_moduler   zOptional[PostLex]postlex	callbacksr   skip_validationr   r    strictNc
                 P   Xl         U R                    V
s0 s H  oR                  U
_M     sn
U l        [        U R                   5      [        U R                  5      :X  d   eX0l        X@l        U=(       d    0 U l        X`l        X l        Xpl	        Xl
        Xl        S U l        g s  sn
f N)r   nameterminals_by_namelenr   r"   r#   r   r!   r$   r   r%   r    )selfr   r!   r   r"   r#   r   r$   r   r%   ts              lib/third_party/lark/common.py__init__LexerConf.__init__+   s    "59^^!D^&&!)^!D4>>"c$*@*@&AAAA"b*"." "Es   B#c                 f    U R                    Vs0 s H  oR                  U_M     snU l        g s  snf r'   )r   r(   r)   )r+   r,   s     r-   _deserializeLexerConf._deserialize:   s&    59^^!D^&&!)^!D!Ds   .c                 ^   [        U 5      " [        U R                  U5      U R                  [        U R                  U5      [        U R
                  U5      [        U R                  U5      [        U R                  U5      [        U R                  U5      [        U R                  U5      5      $ r'   )
typer   r   r!   r   r"   r#   r   r$   r   )r+   memos     r-   __deepcopy__LexerConf.__deepcopy__=   s    DzT^^T*NNT[[$'T\\4(T^^T*T''.T))40T^^T*	
 		
    )r#   r   r   r    r"   r!   r$   r%   r   r)   r   ) NNr   FFFr'   )__name__
__module____qualname____firstlineno____serialize_fields__r   __serialize_namespace__r   __annotations__r   strr   	_Callbackintboolr   r   r.   r1   r6   __static_attributes__r9   r8   r-   r   r      s    \)l+&&sO  CN##O''L LP Y^*["9 j ZdehZi   xK $T#y.%9:PShl @D TXE

r8   r   c                       \ rS rSrSrS rSrg)
ParserConfJ   )rulesstartparser_typec                 d    [        U[        5      (       d   eXl        X l        X0l        S U l        g r'   )
isinstancelistrI   r#   rJ   rK   )r+   rI   r#   rJ   s       r-   r.   ParserConf.__init__M   s,    %&&&&
"
r8   )r#   rK   rI   rJ   N)r:   r;   r<   r=   r>   r.   rE   r9   r8   r-   rG   rG   J   s    : r8   rG   )copyr   systypesr   typingr   r   r   r   r	   larkr   lexerr   r   r   version_infor   typing_extensionsr   utilsr   r   r   r   r@   r   rB   r   rG   r9   r8   r-   <module>rY      s     
  F F"
6!"-
7"$/  % I Hx{ xeWe^$	+
	 +
\	  	 r8   