+
    i                     a  0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIH	t	H
t
Ht ^ RIHt ^ RIHtHt ^ RIHtHtHtHtHt ^ RIHt ^ RIHtHtHt ^ R	IHtHtH t  ^ R
I!H"t" ^ RI#H$t$ ]'       d   ^ RI%H&t& ]! R]PN                  ]PP                  ]PR                  ]PT                  ,          4      t+]! R]PR                  ]PT                  4      t,]! R]PZ                  ]P\                  4      t/]! R]P`                  ]Pb                  4      t2]PN                  ]PP                  ,          ]PR                  ,          t3RRRRRRRRRRRRRR/t4R]5R&    ! R R 4      t6R# )!zlThis module contains utilities for rebuilding an _ast tree in
order to get a single Astroid representation.
)annotationsN)Callable
Collection	Generator)StringIO)	TokenInfogenerate_tokens)TYPE_CHECKINGFinalTypeVarcastoverload)nodes)ParserModuleget_parser_moduleparse_function_type_comment)
PY312_PLUS
PY313_PLUSContext)Position)InferenceResult)AstroidManagerT_Doc
_FunctionT_ForT_WithT	arguments	ArgumentscomprehensionComprehensionListCompFor
GenExprForexcepthandlerExceptHandlerkeywordKeyword
match_case	MatchCasezFinal[dict[str, str]]REDIRECTc                  0   ] tR t^5tRtER`R R lltR R ltR R ltR	 R
 ltR R lt	]
'       Ed   ]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R  l4       t]R! R" l4       t]R# R$ l4       t]R% R& l4       t]R' R( l4       t]R) R* l4       t]R+ R, l4       t]R- R. l4       t]R/ R0 l4       t]R1 R2 l4       t]R3 R4 l4       t]R5 R6 l4       t]R7 R8 l4       t]R9 R: l4       t]R; R< l4       t]R= R> l4       t]R? R@ l4       t]RA RB l4       t]RC RD l4       t]RE RF l4       t]RG RH l4       t]RI RJ l4       t]RK RL l4       t]RM RN l4       t]RO RP l4       t]RQ RR l4       t]RS RT l4       t]RU RV l4       t]RW RX l4       t]RY RZ l4       t]R[ R\ l4       t]R] R^ l4       t]R_ R` l4       t]P                  ERa8  d   ]Ra Rb l4       t]Rc Rd l4       t]Re Rf l4       t]Rg Rh l4       t]Ri Rj l4       t]Rk Rl l4       t]Rm Rn l4       t]Ro Rp l4       t]Rq Rr l4       t]Rs Rt l4       t]P                  ERb8  d   ]Ru Rv l4       t]Rw Rx l4       t]P                  ERa8  d"   ]Ry Rz l4       t]R{ R| l4       t]R} R~ l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]P                  ERc8  d   ]R R l4       t]R R l4       t]R R l4       t]R R l4       tR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]R R l4       t]R R l4       tR R ltR R ltR R ltR R ltR R ltR R lt ERdR R llt!R R lt"R R lt#R R lt$R R lt%R R lt&R R lt'R R lt(R R lt)R R lt*R R lt+]R R l4       t,]R R l4       t,R R lt,R R lt-R R lt.]R R l4       t/]R R l4       t/R R lt/R R lt0R R lt1R R lt2R R lt3R ER  lt4ER ER lt5ER ER lt6ER ER lt7ER ER lt8ER	 ER
 lt9ER ER lt:ER ER lt;ER ER lt<ER ER lt=ER ER lt>ER ER lt?ER ER lt@ER ER ltAER ER ltBER ER ltCER ER  ltDER! ER" ltEER# ER$ ltFER% ER& ltGER' ER( ltHER) ER* ltIER+ ER, ltJER- ER. ltKER/ ER0 ltLER1 ER2 ltMER3 ER4 ltNER5 ER6 ltOER7 ER8 ltPER9 ER: ltQ]ER; ER< l4       tR]ER= ER> l4       tRER? ER@ ltRERA ERB ltSERC ERD ltTERE ERF ltUERG ERH ltVERI ERJ ltWERK ERL ltXERM ERN ltYERO ERP ltZERQ ERR lt[ERS ERT lt\ERU ERV lt]ERW ERX lt^ERY ERZ lt_]P                  ERc8  d   ER[ ER\ lt`ER] ER^ ltaER_tbR# ER_tbR# (e  TreeRebuilderz1Rebuilds the _ast tree to become an Astroid tree.Nc               (    V ^8  d   QhRRRRRRRR/# )	   managerr   parser_modulezParserModule | Nonedata
str | NonereturnNone )formats   "3/usr/lib/python3/dist-packages/astroid/rebuilder.py__annotate__TreeRebuilder.__annotate__8   s2     0 00 +0 	0
 
0    c                	    Wn         V'       d   VP                  R 4      MRV n        . V n        . V n        . V n        / V n        Vf   \        4       V n        R# W n        R# )
N)	_managersplit_data_global_names_import_from_nodes_delayed_assattr_visit_methsr   _parser_module)selfr-   r.   r/   s   &&&&r5   __init__TreeRebuilder.__init__8   s[      )-TZZ%4
BDRT8:  	  "3"5D"/r8   c                    V ^8  d   QhRRRR/# )r,   noder   r1   z!tuple[T_Doc, ast.Constant | None]r3   )r4   s   "r5   r6   r7   L   s      U 'H r8   c                    VP                   '       d   \        VP                   ^ ,          \        P                  4      '       d{   VP                   ^ ,          P                  p\        V\        P
                  4      '       d>   \        VP                  \        4      '       d   TpVP                   R,          Vn         W3# VR3#   \         d     TR3# i ; i)zReturn the doc ast node.:   NNN)body
isinstanceastExprvalueConstantstr
IndexError)rC   rG   first_valuedoc_ast_nodes   &&  r5   _get_docTreeRebuilder._get_docL   s    
	yyyZ		!chh??"iil00k3<<88Z%%s> > $/L $		"DI-- Tz  	Tz	s   C B*C CCc                    V ^8  d   QhRRRR/# )r,   rG   zMast.Attribute | ast.List | ast.Name | ast.Subscript | ast.Starred | ast.Tupler1   r   r3   )r4   s   "r5   r6   r7   [   s$     U UU 
Ur8   c                	    V P                   P                  P                  \        VP                  4      \
        P                  4      # N)rB   context_classesgettypectxr   LoadrC   rG   s   &&r5   _get_contextTreeRebuilder._get_context[   s/     ""2266tDHH~w||TTr8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   5ast.ClassDef | ast.FunctionDef | ast.AsyncFunctionDefparentz;nodes.ClassDef | nodes.FunctionDef | nodes.AsyncFunctionDefr1   zPosition | Noner3   )r4   s   "r5   r6   r7   h   s)     5
 5
C5
 L5
 
	5
r8   c                   V P                   '       g   R# VP                  pVP                  '       d   VP                  ^ ,          P                  pRP	                  V P                   VP                  ^,
          V 4      pRp\
        P                  3p\        V\        P                  4      '       d   RpM%\        V\        P                  4      '       d   RpMRp\        \        V4      P                  4       F~  pVe=   VP                  \
        P                  8X  d   VP                  VP                   8X  d    MAVP                  V9   d)   VP                  V8X  d   TpKi  VP                  R9   d   K|  RpK  	  R# \#        VP                  VP$                  ^ ,          ,           ^,
          VP$                  ^,          VP                  VP&                  ^ ,          ,           ^,
          VP&                  ^,          R7      # )zReturn position information for ClassDef and FunctionDef nodes.

In contrast to AST positions, these only include the actual keyword(s)
and the class / function name.

>>> @decorator
>>> async def some_func(var: int) -> None:
>>> ^^^^^^^^^^^^^^^^^^^
Nr:   asyncdefclass)lineno
col_offset
end_linenoend_col_offset>   rf   )r=   rj   rJ   rh   jointokenNAMErK   r   AsyncFunctionDefFunctionDefr   r   readliner[   stringnamer   startend)	rC   rG   rc   rj   r/   start_tokenkeyword_tokenssearch_tokents	   &&&      r5   _get_position_info TreeRebuilder._get_position_infoh   sq    zzz__
9991,,JyyDKK!OjAB(,+0::-fe4455"L 1 122 L"L $!8!89A'FFejj(HH		)vv'88|+"#K88w&K : ;;!2!21!559"((+{{QUU1X-1558	
 	
r8   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r,   rG   z
ast.ModulemodnamerP   modpathpackageboolr1   znodes.Moduler3   )r4   s   "r5   r6   r7      s4      ),7:EI	r8   c           	         V P                  V4      w  r\        P                  ! VVV.VR7      pTP                  VP                   Uu. uF  qpP                  Wv4      NK  	  upV P                  WV4      R7       V# u upi )z]Visit a Module node by returning a fresh instance of it.

Note: Method not called by 'visit'
)rs   filepathr   )doc_node)rT   r   ModulepostinitrJ   visit)rC   rG   r}   r~   r   rS   newnodechilds   &&&&&   r5   visit_moduleTreeRebuilder.visit_module   s|     "]]40,,	
 	59YY?YEZZ'Y?ZZ6 	 	
  @s   A;c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.argrc   nodes.NodeNGr1   nodes.AssignNamer3   )r4   s   "r5   r6   r7      s    UUgU|U@PUr8   c                	    R # rX   r3   rC   rG   rc   s   &&&r5   r   TreeRebuilder.visit       RUr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.argumentsrc   r   r1   znodes.Argumentsr3   )r4   s   "r5   r6   r7      $     	" 	"%	"/;	"	"r8   c                	    R # rX   r3   r   s   &&&r5   r   r           "r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Assertrc   r   r1   znodes.Assertr3   )r4   s   "r5   r6   r7          TTjT,T<Tr8   c                	    R # rX   r3   r   s   &&&r5   r   r          QTr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   ast.AsyncFunctionDefrc   r   r1   nodes.AsyncFunctionDefr3   )r4   s   "r5   r6   r7      s$     	) 	),	)6B	)#	)r8   c                	    R # rX   r3   r   s   &&&r5   r   r           &)r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   ast.AsyncForrc   r   r1   nodes.AsyncForr3   )r4   s   "r5   r6   r7          XXlXLX^Xr8   c                	    R # rX   r3   r   s   &&&r5   r   r          UXr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Awaitrc   r   r1   znodes.Awaitr3   )r4   s   "r5   r6   r7          RRiRR+Rr8   c                	    R # rX   r3   r   s   &&&r5   r   r          ORr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   ast.AsyncWithrc   r   r1   nodes.AsyncWithr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Assignrc   r   r1   znodes.Assignr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.AnnAssignrc   r   r1   znodes.AnnAssignr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.AugAssignrc   r   r1   znodes.AugAssignr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.BinOprc   r   r1   znodes.BinOpr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.BoolOprc   r   r1   znodes.BoolOpr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Breakrc   r   r1   znodes.Breakr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Callrc   r   r1   z
nodes.Callr3   )r4   s   "r5   r6   r7          PPhPPPr8   c                	    R # rX   r3   r   s   &&&r5   r   r          MPr8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ast.ClassDefrc   r   r1   nodes.ClassDefr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Continuerc   r   r1   znodes.Continuer3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Comparerc   r   r1   znodes.Comparer3   )r4   s   "r5   r6   r7          VVkV<VMVr8   c                	    R # rX   r3   r   s   &&&r5   r   r          SVr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.comprehensionrc   r   r1   znodes.Comprehensionr3   )r4   s   "r5   r6   r7      $     	& 	&)	&3?	& 	&r8   c                	    R # rX   r3   r   s   &&&r5   r   r           #&r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Deleterc   r   r1   znodes.Deleter3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   ast.Dictrc   r   r1   
nodes.Dictr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.DictComprc   r   r1   znodes.DictCompr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Exprrc   r   r1   z
nodes.Exprr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r      r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.ExceptHandlerrc   r   r1   znodes.ExceptHandlerr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   ast.Forrc   r   r1   	nodes.Forr3   )r4   s   "r5   r6   r7   	      NNgN|N	Nr8   c                	    R # rX   r3   r   s   &&&r5   r   r         KNr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.ImportFromrc   r   r1   znodes.ImportFromr3   )r4   s   "r5   r6   r7     $     	# 	#&	#0<	#	#r8   c                	    R # rX   r3   r   s   &&&r5   r   r           #r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   ast.FunctionDefrc   r   r1   nodes.FunctionDefr3   )r4   s   "r5   r6   r7     s$     	$ 	$'	$1=	$	$r8   c                	    R # rX   r3   r   s   &&&r5   r   r          !$r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.GeneratorExprc   r   r1   znodes.GeneratorExpr3   )r4   s   "r5   r6   r7     $     	% 	%(	%2>	%	%r8   c                	    R # rX   r3   r   s   &&&r5   r   r          "%r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ast.Attributerc   r   r1   znodes.Attributer3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Globalrc   r   r1   znodes.Globalr3   )r4   s   "r5   r6   r7      r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Ifrc   r   r1   znodes.Ifr3   )r4   s   "r5   r6   r7   #  s    LLfLlLxLr8   c                	    R # rX   r3   r   s   &&&r5   r   r   "  s    ILr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.IfExprc   r   r1   znodes.IfExpr3   )r4   s   "r5   r6   r7   &  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   %  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Importrc   r   r1   znodes.Importr3   )r4   s   "r5   r6   r7   )  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   (  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.JoinedStrrc   r   r1   znodes.JoinedStrr3   )r4   s   "r5   r6   r7   ,  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   +  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.FormattedValuerc   r   r1   znodes.FormattedValuer3   )r4   s   "r5   r6   r7   1  $     	' 	'*	'4@	'!	'r8   c                	    R # rX   r3   r   s   &&&r5   r   r   0       $'r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.NamedExprrc   r   r1   znodes.NamedExprr3   )r4   s   "r5   r6   r7   6  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   5  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.keywordrc   r   r1   znodes.Keywordr3   )r4   s   "r5   r6   r7   ;  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   :  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Lambdarc   r   r1   znodes.Lambdar3   )r4   s   "r5   r6   r7   >  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   =  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Listrc   r   r1   z
nodes.Listr3   )r4   s   "r5   r6   r7   A  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   @  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.ListComprc   r   r1   znodes.ListCompr3   )r4   s   "r5   r6   r7   D  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   C  r   r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ast.Namerc   r   r1   z;nodes.Name | nodes.Const | nodes.AssignName | nodes.DelNamer3   )r4   s   "r5   r6   r7   G  s)     	N 	N 	N*6	NH	Nr8   c                	    R # rX   r3   r   s   &&&r5   r   r   F  s	     KNr8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Nonlocalrc   r   r1   znodes.Nonlocalr3   )r4   s   "r5   r6   r7   L  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   K  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Constantrc   r   r1   znodes.Constr3   )r4   s   "r5   r6   r7   O  s    UUlULU[Ur8   c                	    R # rX   r3   r   s   &&&r5   r   r   N  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.ParamSpecrc   r   r1   znodes.ParamSpecr3   )r4   s   "r5   r6   r7   T  $     & &)&3?& &r8   c                	    R # rX   r3   r   s   &&&r5   r   r   S  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Passrc   r   r1   z
nodes.Passr3   )r4   s   "r5   r6   r7   Y  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   X  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Raiserc   r   r1   znodes.Raiser3   )r4   s   "r5   r6   r7   \  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   [  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z
ast.Returnrc   r   r1   znodes.Returnr3   )r4   s   "r5   r6   r7   _  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   ^  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Setrc   r   r1   z	nodes.Setr3   )r4   s   "r5   r6   r7   b  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   a  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.SetComprc   r   r1   znodes.SetCompr3   )r4   s   "r5   r6   r7   e  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   d  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Slicerc   nodes.Subscriptr1   znodes.Slicer3   )r4   s   "r5   r6   r7   h  s    UUiUU[Ur8   c                	    R # rX   r3   r   s   &&&r5   r   r   g  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Subscriptrc   r   r1   rI  r3   )r4   s   "r5   r6   r7   k  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   j  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Starredrc   r   r1   znodes.Starredr3   )r4   s   "r5   r6   r7   p  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   o  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Tryrc   r   r1   z	nodes.Tryr3   )r4   s   "r5   r6   r7   s  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   r  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.TryStarrc   r   r1   znodes.TryStarr3   )r4   s   "r5   r6   r7   x  $     $ $'$1=$$r8   c                	    R # rX   r3   r   s   &&&r5   r   r   w  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Tuplerc   r   r1   znodes.Tupler3   )r4   s   "r5   r6   r7   }  r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r   |  r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.TypeAliasrc   r   r1   znodes.TypeAliasr3   )r4   s   "r5   r6   r7     r6  r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.TypeVarrc   r   r1   znodes.TypeVarr3   )r4   s   "r5   r6   r7     rV  r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.TypeVarTuplerc   r   r1   znodes.TypeVarTupler3   )r4   s   "r5   r6   r7     s$     ) ),)6B)#)r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.UnaryOprc   r   r1   znodes.UnaryOpr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Whilerc   r   r1   znodes.Whiler3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ast.Withrc   r   r1   
nodes.Withr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   	ast.Yieldrc   r   r1   znodes.Yieldr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ast.YieldFromrc   r   r1   znodes.YieldFromr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   z	ast.Matchrc   r   r1   znodes.Matchr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.match_caserc   r   r1   znodes.MatchCaser3   )r4   s   "r5   r6   r7     s$     	" 	"&	"0<	"	"r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchValuerc   r   r1   znodes.MatchValuer3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchSingletonrc   r   r1   znodes.MatchSingletonr3   )r4   s   "r5   r6   r7     r  r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r  r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchSequencerc   r   r1   znodes.MatchSequencer3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchMappingrc   r   r1   znodes.MatchMappingr3   )r4   s   "r5   r6   r7     r  r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r  r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchClassrc   r   r1   znodes.MatchClassr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchStarrc   r   r1   znodes.MatchStarr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchAsrc   r   r1   znodes.MatchAsr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.MatchOrrc   r   r1   znodes.MatchOrr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   zast.patternrc   r   r1   znodes.Patternr3   )r4   s   "r5   r6   r7     r   r8   c                	    R # rX   r3   r   s   &&&r5   r   r     r   r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.TemplateStrrc   r   r1   znodes.TemplateStrr3   )r4   s   "r5   r6   r7     s$     ( (+(5A("(r8   c                	    R # rX   r3   r   s   &&&r5   r   r     s     %(r8   c               $    V ^8  d   QhRRRRRR/# r,   rG   zast.Interpolationrc   r   r1   znodes.Interpolationr3   )r4   s   "r5   r6   r7     s$     * *-*7C*$*r8   c                	    R # rX   r3   r   s   &&&r5   r   r     s     '*r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ast.ASTrc   r   r1   r3   )r4   s   "r5   r6   r7     s    QQgQ|QQr8   c                	    R # rX   r3   r   s   &&&r5   r   r     s    NQr8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   r2   rc   r   r1   r3   )r4   s   "r5   r6   r7     s    FFdFLFTFr8   c                	    R # rX   r3   r   s   &&&r5   r   r     s    CFr8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   zast.AST | Nonerc   r   r1   nodes.NodeNG | Noner3   )r4   s   "r5   r6   r7     s"     * *. *, *CV *r8   c                	   Vf   R # VP                   pW0P                  9   d   V P                  V,          pMOVP                  pR\        P	                  WU4      P                  4       ,           p\        W4      pW@P                  V&   V! W4      # )Nvisit_)	__class__rA   __name__r(   rZ   lowergetattr)rC   rG   rc   clsvisit_methodcls_name
visit_names   &&&    r5   r   r     sw    <nn###,,S1L||H!HLL$D$J$J$LLJ"44L%1c"D))r8   c                    V ^8  d   QhRRRR/# )r,   rG   z nodes.AssignName | nodes.DelNamer1   r2   r3   )r4   s   "r5   r6   r7     s     3 3%E 3$ 3r8   c                b   V P                   '       dO   VP                  V P                   R,          9   d-   VP                  4       P                  VP                  V4       R# VP                  '       g   Q hVP                  '       g   Q hVP                  P                  VP                  V4       R# )zASave assignment situation since node.parent is not available yet.N)r>   rs   root	set_localrc   r^   s   &&r5   _save_assignmentTreeRebuilder._save_assignment  sr    $))t/A/A"/E"EIIK!!$))T2;;;;9999KK!!$))T2r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s"     = =g =| =@P =r8   c                :    V P                  WVP                  4      # )z;Visit an arg node by returning a fresh AssignName instance.)visit_assignnameargr   s   &&&r5   	visit_argTreeRebuilder.visit_arg  s    $$T488<<r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s)     e e!e+7e	er8   c                F
   RpRpVP                   pVP                  p\        P                  ! VP                   '       d   VP                   P                  MRVP                  '       d   VP                  P                  MRTV'       dO   \        P
                  ! VP                  VP                  VP                  VVP                  VP                  R7      MRV'       dO   \        P
                  ! VP                  VP                  VP                  VVP                  VP                  R7      MR4      pVP                   Uu. uF  qP                  W4      NK  	  p	pVP                   Uu. uF  qP                  W4      NK  	  p
pRpRpVP                   '       d=   VP                   P                  pV P                  VP                   P                  V4      pVP                  '       d=   VP                  P                  pV P                  VP                  P                  V4      pVP                   Uu. uF  qP                  W4      NK  	  ppVP                   Uu. uF  qP                  W4      NK  	  ppVP                   Uu. uF  qP                  VP                  V4      NK   	  ppVP                   Uu. uF  qP                  VP                  V4      NK   	  ppVP                    Uu. uF  qP                  W4      NK  	  ppVP                    Uu. uF  qP                  VP                  V4      NK   	  ppVP                   Uu. uF  qP#                  WR7      NK  	  ppVP                   Uu. uF  qP#                  WR7      NK  	  ppVP                    Uu. uF  qP#                  WR7      NK  	  ppVP%                  V	V
VVVVVVVVVVVR7       \&        P(                  ! VP                  VP                   VP                  VP                   VP                  .4       Uu. uF%  pV'       g   K  VP                  VP                  3NK'  	  up;p'       d/   \+        R V 4       4      Vn        \-        R V 4       4      Vn        VP.                  '       g   Q hV'       d   VP.                  P1                  W74       V'       d   VP.                  P1                  WG4       V# u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi u upi )z<Visit an Arguments node by returning a fresh instance of it.N)rj   rk   rc   )argsdefaults
kwonlyargsposonlyargskw_defaultsr   kwonlyargs_annotationsposonlyargs_annotationsvarargannotationkwargannotationtype_comment_argstype_comment_kwonlyargstype_comment_posonlyargsc              3  2   "   T F  q^ ,          x  K  	  R# 5i)    Nr3   .0startends   & r5   	<genexpr>0TreeRebuilder.visit_arguments.<locals>.<genexpr>X  s      T=S!=S   c              3  2   "   T F  q^,          x  K  	  R# 5i)rI   Nr3   r  s   & r5   r  r  Y  s     $XAWXa[[AWr  )varargkwargr   r   r  
AssignNamerh   ri   rj   rk   r  r   r  
annotationr  r  r  check_type_commentr   	itertoolschainminmaxrc   r  )rC   rG   rc   r  r  vararg_node
kwarg_noder   r   r  r  r  r  r  r  r  r   r  r  r  r  r  r  start_end_lineno_pairss   &&&                     r5   visit_argumentsTreeRebuilder.visit_arguments  sb    " kkZZ
//#{{{DKKOO"jjjDJJNNd    OO&&***55#.#=#=     NN%%)))44#-#<#< 5
: 9=		B	u

5*	B<@MMJM5JJu.MJ04/3;;;[[__F#zz$++*@*@'J:::JJNNE"jj)>)>HO>BooNoUjj0o
N?C?O?OP?Oezz%1?OPFJiiPiszz#..':iP;???"
;JCJJs~~w/? 	 "
 @D?O?OP?Oezz%1?OP;?;K;K#
;KCJJs~~w/;K 	  #
 IM		
HQu##E#:	 	 
 IM#
HWu##E#: 	  #
 IMHXHX$
HXu##E#:HX 	! $
 	!####9$;-+/$;%= 	 	
" !		4++T__t{{DJJ>W&
 	 )SZZ(&
 
! 
 ! T=S TTGN!$$XAW$X!XG ~~~~NN$$V5NN$$U4 CJ OPP"
 Q#

#
$
&&
sN   S'*S,3S1S6$S;9$T -T$T

T4TT'
T6Tc               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   c  !       \ l r8   c                D   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pRpVP                  '       d   V P                  VP                  V4      pVP                  V P                  VP                  V4      V4       V# )z8Visit a Assert node by returning a fresh instance of it.rh   ri   rj   rk   rc   N)
r   Assertrh   ri   rj   rk   msgr   r   test)rC   rG   rc   r   r  s   &&&  r5   visit_assertTreeRebuilder.visit_assertc  sy    ,,;;..
 $(888**TXXw/CDIIw7=r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   zHast.Assign | ast.arg | ast.For | ast.AsyncFor | ast.With | ast.AsyncWithrc   zZnodes.Assign | nodes.Arguments | nodes.For | nodes.AsyncFor | nodes.With | nodes.AsyncWithr1   r  r3   )r4   s   "r5   r6   r7   r  s(     ! !V!	! 
!r8   c                	f   VP                   '       g   R #  V P                  P                  VP                   4      pTP                  '       g   R # T P                  TP                  ^ ,          TR7      p\        T\        P                  4      '       g   R # TP                  #   \         d     R # i ; i)Nr  )
type_commentrB   parseSyntaxErrorrJ   r   rK   r   rM   rN   )rC   rG   rc   type_comment_asttype_objects   &&&  r5   r   TreeRebuilder.check_type_commentr  s        	#22889J9JK  $$$jj!1!6!6q!9&jI+uzz22     		s   %B! !B0/B0c               $    V ^8  d   QhRRRRRR/# )r,   rG   &ast.FunctionDef | ast.AsyncFunctionDefrc   r   r1   z5tuple[nodes.NodeNG | None, list[nodes.NodeNG]] | Noner3   )r4   s   "r5   r6   r7     s$     ! !:!DP!	>!r8   c                	d   VP                   '       g   R #  \        VP                   4      pT'       g   R # R pTP                  ;'       g    .  Uu. uF  qPP	                  YR4      NK  	  ppTP
                  '       d   T P	                  TP
                  T4      pYF3#   \         d     R # i ; iu upi rX   )r  r   r  argtypesr   returns)rC   rG   rc   r  r  elemr  s   &&&    r5   check_function_type_comment)TreeRebuilder.check_function_type_comment  s        	:4;L;LM
  '+2B2K2K2Q2Qr2Q(
2QJJt$2Q 	 (
 ###jj!1!9!96BG    		(
s   B B-B*)B*c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s)     M M(M2>M	Mr8   c                	B    V P                  \        P                  W4      # rX   )_visit_functiondefr   ro   r   s   &&&r5   visit_asyncfunctiondef$TreeRebuilder.visit_asyncfunctiondef  s     &&u'='=tLLr8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$     = = =*6=	=r8   c                	B    V P                  \        P                  W4      # rX   )
_visit_forr   AsyncForr   s   &&&r5   visit_asyncforTreeRebuilder.visit_asyncfor  s     u~~t<<r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s!     	 		 	< 	K 	r8   c                	    \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      R7       V# r  )rN   )	r   Awaitrh   ri   rj   rk   r   r   rN   rC   rG   rc   r   s   &&& r5   visit_awaitTreeRebuilder.visit_await  sX    ++;;..
 	tzz$**g>?r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$     ? ?!?+7?	?r8   c                	B    V P                  \        P                  W4      # rX   )_visit_withr   	AsyncWithr   s   &&&r5   visit_asyncwithTreeRebuilder.visit_asyncwith  s     >>r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s!       \ l r8   c           	     f   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pV P                  WR7      pTP                  VP                   Uu. uF  qPP                  WS4      NK  	  upV P                  VP                  V4      VR7       V# u upi )z8Visit a Assign node by returning a fresh instance of it.r  r  )targetsrN   type_annotation)r   Assignrh   ri   rj   rk   r  r   r  r   rN   )rC   rG   rc   r   r  r   s   &&&   r5   visit_assignTreeRebuilder.visit_assign  s    ,,;;..
 11$1G=A\\J\EZZ/\J**TZZ1+ 	 	

 	 Ks   /B.c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$      !+7	r8   c           	     f   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      VP                  V P                  VP                  V4      R7       V# )z<Visit an AnnAssign node by returning a fresh instance of it.r  )targetr  simplerN   )r   	AnnAssignrh   ri   rj   rk   r   r   r  r  r  rN   r  s   &&& r5   visit_annassignTreeRebuilder.visit_annassign  s     //;;..
 	::dkk73zz$//7;;;**TZZ1	 	 	
 r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   rG   r  rc   r   	node_namerP   r1   r   r3   )r4   s   "r5   r6   r7     s,      %1>A	r8   c                	    R # rX   r3   rC   rG   rc   r  s   &&&&r5   r  TreeRebuilder.visit_assignname  s     r8   c               (    V ^8  d   QhRRRRRRRR/# )r,   rG   r  rc   r   r  r2   r1   r3   )r4   s   "r5   r6   r7     s,      %1>B	r8   c                	    R # rX   r3   r   s   &&&&r5   r  r!    s     r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   rG   r  rc   r   r  r0   r1   znodes.AssignName | Noner3   )r4   s   "r5   r6   r7     s,      %1>H	 r8   c           	         Vf   R# \         P                  ! VVP                  VP                  VP                  VP
                  VR7      pV P                  V4       V# )zOVisit a node and return a AssignName node.

Note: Method not called by 'visit'
Nrs   rh   ri   rj   rk   rc   )r   r  rh   ri   rj   rk   r  )rC   rG   rc   r  r   s   &&&& r5   r  r!    sV     "";;..
 	g&r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$      !+7	r8   c           	        \         P                  ! V P                  P                  \	        VP
                  4      ,          R,           VP                  VP                  VP                  VP                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      4       V# )z;Visit a AugAssign node by returning a fresh instance of it.=oprh   ri   rj   rk   rc   )r   	AugAssignrB   bin_op_classesr[   r+  rh   ri   rj   rk   r   r   r  rN   r  s   &&& r5   visit_augassignTreeRebuilder.visit_augassign  s     //""11$tww-@3F;;..
 	JJt{{G,djjW.M	
 r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s!      	 < K r8   c           	     v   \         P                  ! V P                  P                  \	        VP
                  4      ,          VP                  VP                  VP                  VP                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      4       V# )z7Visit a BinOp node by returning a fresh instance of it.r*  )r   BinOprB   r-  r[   r+  rh   ri   rj   rk   r   r   leftrightr  s   &&& r5   visit_binopTreeRebuilder.visit_binop  s    ++""11$tww-@;;..
 	JJtyy'*DJJtzz7,K	
 r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   &  s!       \ l r8   c           	     f   \         P                  ! V P                  P                  \	        VP
                  4      ,          VP                  VP                  VP                  VP                  VR7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z8Visit a BoolOp node by returning a fresh instance of it.r*  )r   BoolOprB   bool_op_classesr[   r+  rh   ri   rj   rk   r   valuesr   rC   rG   rc   r   r   s   &&&  r5   visit_boolopTreeRebuilder.visit_boolop&  s    ,,""224=A;;..
 	$++N+**U4+NO Os   B.c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   3  s!     
 
	 
< 
K 
r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      # )z7Visit a Break node by returning a fresh instance of it.r  )r   Breakrh   ri   rj   rk   r   s   &&&r5   visit_breakTreeRebuilder.visit_break3  s4    {{;;..
 	
r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   =  s!      x  * r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi u upi )z:Visit a CallFunc node by returning a fresh instance of it.r  )funcr  keywords)r   Callrh   ri   rj   rk   r   r   rF  r  rG  r<  s   &&&  r5   
visit_callTreeRebuilder.visit_call=  s    **;;..
 	DIIw/:>))D)**U,)D>BmmLmUjj0mL 	 	

  ELs   8C
!C	c               (    V ^8  d   QhRRRRRRRR/# )	r,   rG   r   rc   r   newstyler   r1   r   r3   )r4   s   "r5   r6   r7   M  s,     ' ' '*6'BF'	'r8   c                   V P                  V4      w  r\        P                  ! VP                  VP                  VP
                  VP                  VP                  VR7      pRpVP                   F1  pVP                  R8X  g   K  V P                  Wu4      P                  p M	  V P                  W4      pTP                  VP                   U	u. uF  qP                  W4      NK  	  up	VP                   U	u. uF  qP                  W4      NK  	  up	TTTVP                   U
u. uF'  p
V
P                  R8w  g   K  V P                  W4      NK)  	  up
V P!                  W4      V P                  WE4      \"        '       d+   VP$                   Uu. uF  qP                  W4      NK  	  upM. R7	       VP'                  VP                  V4       V# u up	i u up	i u up
i u upi )z(Visit a ClassDef node to become astroid.r&  N	metaclass)positionr   type_params)rT   r   ClassDefrs   rh   ri   rj   rk   rG  r  r   rN   visit_decoratorsr   basesrJ   rz   r   rP  r  )rC   rG   rc   rL  rS   r   rN  r$   
decoratorsr   kwdparams   &&&&        r5   visit_classdefTreeRebuilder.visit_classdefM  s    "]]40..;;..
 	}}G{{k) JJw8>>	 % **49
59ZZ@ZEZZ'Z@59YY?YEZZ'Y?  ==(C77k) )

3((
 ,,T;ZZ6 : :>9I9IJ9IE+9IJ! 	 	
& 	w/' A? Ks   G8G
$G<GGc               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   v  s$     

 

 

*6

	

r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      # )z:Visit a Continue node by returning a fresh instance of it.r  )r   Continuerh   ri   rj   rk   r   s   &&&r5   visit_continueTreeRebuilder.visit_continuev  s6     ~~;;..
 	
r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s!      + |  r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      \        VP                  VP                  4       UUu. uF=  w  rEV P                  P                  VP                  ,          V P                  WS4      3NK?  	  upp4       V# u uppi )z9Visit a Compare node by returning a fresh instance of it.r  )r   Comparerh   ri   rj   rk   r   r   r3  zipopscomparatorsrB   cmp_op_classesr  )rC   rG   rc   r   r+  exprs   &&&   r5   visit_compareTreeRebuilder.visit_compare  s    --;;..
 	JJtyy'* #&dhh0@0@"A
 #BJR ''66r||DJJt- #B		
 s   ACc               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$      %/;	r8   c                L   \         P                  ! VRRRRR7      pTP                  V P                  VP                  V4      V P                  VP
                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  up\        VP                  4      4       V# u upi )z?Visit a Comprehension node by returning a fresh instance of it.N)rc   rh   ri   rj   rk   )	r   r   r   r   r  iterifsr   is_asyncr<  s   &&&  r5   visit_comprehension!TreeRebuilder.visit_comprehension  s     %% 
 	JJt{{G,JJtyy'*59XX>XEZZ'X>		
  ?s   +B!c               $    V ^8  d   QhRRRRRR/# )r,   rG   rb   rc   r   r1   znodes.Decorators | Noner3   )r4   s   "r5   r6   r7     s(      C  
!	r8   c           	        VP                   '       g   R# VP                   ^ ,          P                  pVP                   R,          P                  pVP                   R,          P                  p\        P
                  ! VVP                  VVVR7      pTP                  VP                    Uu. uF  qpP                  Wv4      NK  	  up4       V# u upi )zaVisit a Decorators node by returning a fresh instance of it.

Note: Method not called by 'visit'
Nr  r  )	decorator_listrh   rj   rk   r   
Decoratorsri   r   r   )rC   rG   rc   rh   rj   rk   r   r   s   &&&     r5   rR  TreeRebuilder.visit_decorators  s     """
 $$Q'..((,77
,,R0??""!)
 	$BUBUVBU**U4BUVW Ws   *Cc               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     !     
 
 
\ 
l 
r8   c           	        \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z8Visit a Delete node by returning a fresh instance of it.r  )	r   Deleterh   ri   rj   rk   r   r  r   r<  s   &&&  r5   visit_deleteTreeRebuilder.visit_delete  sf    ,,;;..
 	$,,O,**U4,OP P   A?c               (    V ^8  d   QhRRRRRRRR/# )	r,   rG   r   rc   r   r   r   r1   z,Generator[tuple[nodes.NodeNG, nodes.NodeNG]]r3   )r4   s   "r5   r6   r7     s,     - --&2-=G-	5-r8   c           	   #  	F  "   \        VP                  VP                  4       Fx  w  rEV P                  WS4      pV'       gE   \        P
                  ! VP                  VP                  VP                  VP                  VR 7      pMV P                  WC4      pWv3x  Kz  	  R# 5i)r  N)
ra  keysr;  r   r   
DictUnpackrh   ri   rj   rk   )rC   rG   rc   r   keyrN   rebuilt_valuerebuilt_keys   &&&&    r5   _visit_dict_itemsTreeRebuilder._visit_dict_items  s      dii5JC JJu6M#..(//,77,77#0#?#?! #jj6,, 6s   BB!c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s!      x  * r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      p\        V P                  WV4      4      pVP                  V4       V# )z6Visit a Dict node by returning a fresh instance of it.r  )	r   Dictrh   ri   rj   rk   listr  r   )rC   rG   rc   r   itemss   &&&  r5   
visit_dictTreeRebuilder.visit_dict  se    **;;..
 @D""49@
 	r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$       *6	r8   c                t   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z:Visit a DictComp node by returning a fresh instance of it.r  )r   DictComprh   ri   rj   rk   r   r   r  rN   
generatorsr<  s   &&&  r5   visit_dictcompTreeRebuilder.visit_dictcomp  s     ..;;..
 	JJtxx)JJtzz7+59__E_EZZ'_E	

  F   B5c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   	  s!     
 
x 
 
* 
r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      4       V# )z6Visit a Expr node by returning a fresh instance of it.r  )	r   rM   rh   ri   rj   rk   r   r   rN   r  s   &&& r5   
visit_exprTreeRebuilder.visit_expr	  sU    **;;..
 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s$      %/;	r8   c                t   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      V P                  WVP                  4      VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z@Visit an ExceptHandler node by returning a fresh instance of it.r  )r   r#   rh   ri   rj   rk   r   r   r[   r  rs   rJ   r<  s   &&&  r5   visit_excepthandler!TreeRebuilder.visit_excepthandler  s     %%;;..
 	JJtyy'*!!$;59YY?YEZZ'Y?	

  @r  c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[nodes.For]rG   r   rc   r   r1   r   r3   )r4   s   "r5   r6   r7   (  s,      "*1;G	r8   c                	    R # rX   r3   rC   r  rG   rc   s   &&&&r5   r  TreeRebuilder._visit_for'  s     r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[nodes.AsyncFor]rG   r   rc   r   r1   r   r3   )r4   s   "r5   r6   r7   -  s,      '/;EQ	r8   c                	    R # rX   r3   r  s   &&&&r5   r  r  ,  s     r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[_ForT]rG   zast.For | ast.AsyncForrc   r   r1   r   r3   )r4   s   "r5   r6   r7   1  s,      &<FR	r8   c                   V! VP                   VP                  VP                  VP                  VR7      pV P	                  W$R7      pTP                  V P                  VP                  V4      V P                  VP                  V4      VP                   Uu. uF  q`P                  Wd4      NK  	  upVP                   Uu. uF  q`P                  Wd4      NK  	  upVR7       V# u upi u upi )z5Visit a For node by returning a fresh instance of it.r  r  )r  rj  rJ   orelser  )rh   ri   rj   rk   r  r   r   r  rj  rJ   r  )rC   r  rG   rc   r   r  r   s   &&&&   r5   r  r  1  s     ;;..
 11$1G::dkk73DIIw/:>))D)**U,)D<@KKHK5JJu.KH+ 	 	
 	 EHs   C$ C)c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   F  s!     8 8g 8| 8	 8r8   c                	B    V P                  \        P                  W4      # rX   )r  r   Forr   s   &&&r5   	visit_forTreeRebuilder.visit_forF  s    uyy$77r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   I  s$      ",8	r8   c                   VP                    Uu. uF  q3P                  VP                  3NK  	  pp\        P                  ! VP
                  ;'       g    RTVP                  ;'       g    RVP                  VP                  VP                  VP                  VR7      pV P                  P                  YPP                  '       d"   V P                  R,          P                  4       MR34       V# u upi )z=Visit an ImportFrom node by returning a fresh instance of it. N)fromnamenameslevelrh   ri   rj   rk   rc   r  r3   )r  rs   asnamer   
ImportFrommoduler  rh   ri   rj   rk   r?   appendr>   r}  )rC   rG   rc   aliasr  r   s   &&&   r5   visit_importfromTreeRebuilder.visit_importfromI  s     :>D**ell+D""[[&&B**$$;;..	
 	&&7I7I7Id((,113rR	
  Es    C0c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[nodes.FunctionDef]rG   r   rc   r   r1   r   r3   )r4   s   "r5   r6   r7   _  s,        * 2A KW 	 r8   c                	    R # rX   r3   r  s   &&&&r5   r   TreeRebuilder._visit_functiondef^  s      r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[nodes.AsyncFunctionDef]rG   r   rc   r   r1   r   r3   )r4   s   "r5   r6   r7   d  s2     % %)% #% 	%
 
 %r8   c                	    R # rX   r3   r  s   &&&&r5   r  r  c  s     "%r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[_FunctionT]rG   r  rc   r   r1   r   r3   )r4   s   "r5   r6   r7   k  s2     9 99 59 	9
 
9r8   c                   V P                   P                  / 4       V P                  V4      w  r$VP                  pVP                  '       d   VP                  ^ ,          P                  pV! VP
                  VVP                  VP                  VP                  VR7      pV P                  W&4      pVP                  '       d   V P                  VP                  V4      pMRpR;rV P                  W&4      pV'       d   Vw  rTP                  V P                  VP                  V4      VP                   Uu. uF  qP                  W4      NK  	  upTTT
T	V P!                  W&4      V P                  WF4      \"        '       d+   VP$                   Uu. uF  qP                  W4      NK  	  upM. R7	       V P                   P'                  4        VP)                  VP
                  V4       V# u upi u upi )z,Visit an FunctionDef node to become astroid.r&  N)	r  rJ   rT  r  type_comment_returnsr  rO  r   rP  )r>   r  rT   rh   rq  rs   ri   rj   rk   rR  r  r   r  r   r  rJ   rz   r   rP  popr  )rC   r  rG   rc   rS   rh   r   rT  r  r  r  type_comment_annotationr   rV  s   &&&&          r5   r  r  k  s    	!!"%!]]40 ((+22F..
 **49
<<<jjw7GG377"&"B"B4"Q"6M3 DIIw/:>))D)**U,)D!!5/,,T;ZZ6 : :>9I9IJ9IE+9IJ 	 	
 	 w/ E Ks   6G*
G/c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7     s)     H H#H-9H	Hr8   c                	B    V P                  \        P                  W4      # rX   )r  r   rp   r   s   &&&r5   visit_functiondefTreeRebuilder.visit_functiondef  s     &&u'8'8$GGr8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     s$      $.:	r8   c           
     >   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z>Visit a GeneratorExp node by returning a fresh instance of it.r  )
r   GeneratorExprh   ri   rj   rk   r   r   eltr  r<  s   &&&  r5   visit_generatorexp TreeRebuilder.visit_generatorexp  s     $$;;..
 	JJtxx)59__E_EZZ'_E	
  F   8B
c               $    V ^8  d   QhRRRRRR/# )r,   rG   r  rc   r   r1   z2nodes.Attribute | nodes.AssignAttr | nodes.DelAttrr3   )r4   s   "r5   r6   r7     s$     * *!*+7*	;*r8   c           	         V P                  V4      pV\        P                  8X  dP   \        P                  ! VP
                  VP                  VP                  VP                  VP                  VR7      pMV\        P                  8X  d   \        P                  ! VP
                  VP                  VP                  VP                  VP                  VR7      p\        V\        P                  4      '       g   V P                  P                  V4       MN\        P                   ! VP
                  VP                  VP                  VP                  VP                  VR7      pVP#                  V P%                  VP&                  V4      4       V# )z<Visit an Attribute node by returning a fresh instance of it.)attrnamerh   ri   rj   rk   rc   )r_   r   Delr   DelAttrattrrh   ri   rj   rk   Store
AssignAttrrK   r#   r@   r  	Attributer   r   rN   rC   rG   rc   contextr   s   &&&  r5   visit_attributeTreeRebuilder.visit_attribute  s$    ##D)gkk! mm{{????#22G %&&{{????#22G fe&9&9:: %%,,W5oo{{????#22G 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# r	  r3   )r4   s   "r5   r6   r7     r  r8   c           	     P   \         P                  ! VP                  VP                  VP                  VP
                  VP                  VR7      pV P                  '       dF   VP                   F5  pV P                  R,          P                  V. 4      P                  V4       K7  	  V# )z&Visit a Global node to become astroid.r  rh   ri   rj   rk   rc   r  )
r   Globalr  rh   ri   rj   rk   r>   
setdefaultr  )rC   rG   rc   r   rs   s   &&&  r5   visit_globalTreeRebuilder.visit_global  s    ,,**;;..
 

""2&11$;BB7K #r8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     s!      V \ h r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi u upi )z5Visit an If node by returning a fresh instance of it.r  )r   Ifrh   ri   rj   rk   r   r   r  rJ   r  r<  s   &&&  r5   visit_ifTreeRebuilder.visit_if  s    ((;;..
 	JJtyy'*59YY?YEZZ'Y?59[[A[EZZ'[A	

  @A   8C
!Cc               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     !      	 < K r8   c                N   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      V P                  VP                  V4      4       V# )z7Visit a IfExp node by returning a fresh instance of it.r  )r   IfExprh   ri   rj   rk   r   r   r  rJ   r  r  s   &&& r5   visit_ifexpTreeRebuilder.visit_ifexp  s~    ++;;..
 	JJtyy'*JJtyy'*JJt{{G,	

 r8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     s!       \ l r8   c           	        VP                    Uu. uF  q3P                  VP                  3NK  	  pp\        P                  ! VVP
                  VP                  VP                  VP                  VR7      pVP                    F  w  rgT;'       g    TP                  R4      ^ ,          pV P                  '       d9   W`P                  R,          9   d"   VP                  4       P                  We4       Kq  VP                  We4       K  	  V# u upi )z8Visit a Import node by returning a fresh instance of it.r  .r  )r  rs   r  r   Importrh   ri   rj   rk   r<   r>   r  r  )rC   rG   rc   r  r  r   rs   r  s   &&&     r5   visit_importTreeRebuilder.visit_import  s    9=D**ell+D,,;;..
 $MMLDNNd))#.q1D!!!d.@.@.D&D''6  / * ! Es    D	c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7   +  s$      !+7	r8   c           	     	   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi r  )	r   	JoinedStrrh   ri   rj   rk   r   r;  r   r<  s   &&&  r5   visit_joinedstrTreeRebuilder.visit_joinedstr+  sh     //;;..
 	$++N+**U4+NO Orz  c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7   8  s$      &0<	r8   c                	0   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      VP                  V P                  VP                  V4      R7       V# )r  )rN   
conversionformat_spec)r   FormattedValuerh   ri   rj   rk   r   r   rN   r  r  r  s   &&& r5   visit_formattedvalue"TreeRebuilder.visit_formattedvalue8  s~     &&;;..
 	**TZZ1

4#3#3W= 	 	

 r8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7   I  $      !+7	r8   c                	   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      V P                  VP                  V4      4       V# r  )
r   	NamedExprrh   ri   rj   rk   r   r   r  rN   r  s   &&& r5   visit_namedexprTreeRebuilder.visit_namedexprI  sm     //;;..
 	JJt{{G,djjW.M	
 r8   c               $    V ^8  d   QhRRRRRR/# r   r3   )r4   s   "r5   r6   r7   X  !      + |  r8   c                    \         P                  ! VP                  \        VRR4      \        VRR4      \        VRR4      \        VRR4      VR7      pVP	                  V P                  VP                  V4      4       V# )z9Visit a Keyword node by returning a fresh instance of it.rh   Nri   rj   rk   )r  rh   ri   rj   rk   rc   )r   r%   r  r  r   r   rN   r  s   &&& r5   visit_keywordTreeRebuilder.visit_keywordX  so    --440t\48t\48"4)94@
 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# r#  r3   )r4   s   "r5   r6   r7   f  ru  r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      4       V# )z8Visit a Lambda node by returning a fresh instance of it.r  )
r   Lambdarh   ri   rj   rk   r   r   r  rJ   r  s   &&& r5   visit_lambdaTreeRebuilder.visit_lambdaf  sf    ,,;;..
 	DIIw7DIIw9WXr8   c               $    V ^8  d   QhRRRRRR/# r&  r3   )r4   s   "r5   r6   r7   r  s!      x  * r8   c           	     ,   V P                  V4      p\        P                  ! VVP                  VP                  VP
                  VP                  VR7      pTP                  VP                   Uu. uF  qPP                  WT4      NK  	  up4       V# u upi )z6Visit a List node by returning a fresh instance of it.r\   rh   ri   rj   rk   rc   )
r_   r   Listrh   ri   rj   rk   r   eltsr   rC   rG   rc   r  r   r   s   &&&   r5   
visit_listTreeRebuilder.visit_listr  sy    ##D)**;;..
 	$))L)**U4)LM M   /Bc               $    V ^8  d   QhRRRRRR/# r)  r3   )r4   s   "r5   r6   r7     s$       *6	r8   c           
     >   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z:Visit a ListComp node by returning a fresh instance of it.r  )
r   ListComprh   ri   rj   rk   r   r   r  r  r<  s   &&&  r5   visit_listcompTreeRebuilder.visit_listcomp  s     ..;;..
 	JJtxx)59__E_EZZ'_E	
  Fr  c               $    V ^8  d   QhRRRRRR/# )r,   rG   r,  rc   r   r1   z-nodes.Name | nodes.AssignName | nodes.DelNamer3   )r4   s   "r5   r6   r7     s$     % %%&2%	6%r8   c           	        V P                  V4      pV\        P                  8X  dP   \        P                  ! VP
                  VP                  VP                  VP                  VP                  VR7      pMV\        P                  8X  dP   \        P                  ! VP
                  VP                  VP                  VP                  VP                  VR7      pMN\        P                  ! VP
                  VP                  VP                  VP                  VP                  VR7      pV\        P                  \        P                  39   dA   \        \        P                  \        P                  ,          V4      pV P                  V4       V# )z6Visit a Name node by returning a fresh instance of it.r&  )r_   r   r  r   DelNameidrh   ri   rj   rk   r  r  Namer   r  r  s   &&&  r5   r  TreeRebuilder.visit_name  s    ##D)gkk!mmWW{{????#22G %&&WW{{????#22G jjWW{{????#22G w{{GMM22E,,u}}<wGG!!'*r8   c               $    V ^8  d   QhRRRRRR/# r/  r3   )r4   s   "r5   r6   r7     s$     
 
 
*6
	
r8   c           	         \         P                  ! VP                  VP                  VP                  VP
                  VP                  VR7      # )z6Visit a Nonlocal node and return a new instance of it.r  )r   Nonlocalr  rh   ri   rj   rk   r   s   &&&r5   visit_nonlocalTreeRebuilder.visit_nonlocal  s=     ~~**;;..
 	
r8   c               $    V ^8  d   QhRRRRRR/# r2  r3   )r4   s   "r5   r6   r7     s!     

 

< 

 

+ 

r8   c           
         \         P                  ! VP                  VP                  VP                  VP
                  VP                  VP                  VR7      # )z=Visit a Constant node by returning a fresh instance of Const.)rN   kindrh   ri   rj   rk   rc   )r   ConstrN   r(  rh   ri   rj   rk   r   s   &&&r5   visit_constantTreeRebuilder.visit_constant  sB    {{**;;..
 	
r8   c               $    V ^8  d   QhRRRRRR/# r5  r3   )r4   s   "r5   r6   r7     s$      !+7	r8   c                6   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  WVP                  4      \        '       d   V P                  VP                  V4      MRR7       V# )z;Visit a ParamSpec node by returning a fresh instance of it.r  Nrs   default_value)r   	ParamSpecrh   ri   rj   rk   r   r  rs   r   r   r/  r  s   &&& r5   visit_paramspecTreeRebuilder.visit_paramspec  s}     //;;..
 	&&tdii@;E:

4--w74 	 	
 r8   c               $    V ^8  d   QhRRRRRR/# r9  r3   )r4   s   "r5   r6   r7     s!     
 
x 
 
* 
r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      # )z6Visit a Pass node by returning a fresh instance of it.r  )r   Passrh   ri   rj   rk   r   s   &&&r5   
visit_passTreeRebuilder.visit_pass  s4    zz;;..
 	
r8   c               $    V ^8  d   QhRRRRRR/# r<  r3   )r4   s   "r5   r6   r7     r  r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      R7       V# )z7Visit a Raise node by returning a fresh instance of it.r  )exccause)
r   Raiserh   ri   rj   rk   r   r   r:  r;  r  s   &&& r5   visit_raiseTreeRebuilder.visit_raise  sq    ++;;..
 	

488W-**TZZ1 	 	
 r8   c               $    V ^8  d   QhRRRRRR/# r?  r3   )r4   s   "r5   r6   r7      ru  r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      4       V# )z8Visit a Return node by returning a fresh instance of it.r  )	r   Returnrh   ri   rj   rk   r   r   rN   r  s   &&& r5   visit_returnTreeRebuilder.visit_return   sU    ,,;;..
 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# rB  r3   )r4   s   "r5   r6   r7     s!     
 
g 
| 
	 
r8   c           	        \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z5Visit a Set node by returning a fresh instance of it.r  )	r   Setrh   ri   rj   rk   r   r  r   r<  s   &&&  r5   	visit_setTreeRebuilder.visit_set  sf    ));;..
 	$))L)**U4)LM Mrz  c               $    V ^8  d   QhRRRRRR/# rE  r3   )r4   s   "r5   r6   r7     s!      + |  r8   c           
     >   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi )z9Visit a SetComp node by returning a fresh instance of it.r  )
r   SetComprh   ri   rj   rk   r   r   r  r  r<  s   &&&  r5   visit_setcompTreeRebuilder.visit_setcomp  s}    --;;..
 	JJtxx)59__E_EZZ'_E	
  Fr  c               $    V ^8  d   QhRRRRRR/# rH  r3   )r4   s   "r5   r6   r7   '  s!      	 ? { r8   c           
     X   \         P                  ! \        VRR4      \        VRR4      \        VRR4      \        VRR4      VR7      pVP                  V P	                  VP
                  V4      V P	                  VP                  V4      V P	                  VP                  V4      R7       V# )z7Visit a Slice node by returning a fresh instance of it.rh   Nri   rj   rk   r  )r  upperstep)r   Slicer  r   r   r  rP  rQ  r  s   &&& r5   visit_sliceTreeRebuilder.visit_slice'  s    ++440t\48t\48"4)94@
 	**TZZ1**TZZ1DIIw/ 	 	

 r8   c               $    V ^8  d   QhRRRRRR/# rL  r3   )r4   s   "r5   r6   r7   8  $      !+7	r8   c           	     <   V P                  V4      p\        P                  ! VVP                  VP                  VP
                  VP                  VR7      pVP                  V P                  VP                  V4      V P                  VP                  V4      4       V# )z;Visit a Subscript node by returning a fresh instance of it.r  )r_   r   	Subscriptrh   ri   rj   rk   r   r   rN   slicer  s   &&&  r5   visit_subscriptTreeRebuilder.visit_subscript8  s     ##D)//;;..
 	JJtzz7+TZZ

G-L	
 r8   c               $    V ^8  d   QhRRRRRR/# rO  r3   )r4   s   "r5   r6   r7   J  r  r8   c           	        V P                  V4      p\        P                  ! VVP                  VP                  VP
                  VP                  VR7      pVP                  V P                  VP                  V4      4       V# )z5Visit a Starred node and return a new instance of it.r  )
r_   r   Starredrh   ri   rj   rk   r   r   rN   r  s   &&&  r5   visit_starredTreeRebuilder.visit_starredJ  sh    ##D)--;;..
 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# rR  r3   )r4   s   "r5   r6   r7   X  s!      g | 	 r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi u upi u upi u upi )z4Visit a Try node by returning a fresh instance of itr  rJ   handlersr  	finalbody)r   Tryrh   ri   rj   rk   r   rJ   r   rd  r  re  r<  s   &&&  r5   	visit_tryTreeRebuilder.visit_tryX  s    ));;..
 	:>))D)**U,)D>BmmLmUjj0mL<@KKHK5JJu.KH?C~~N~ezz%1~N	 	 	
  ELHN   C;D 
/DD
c               $    V ^8  d   QhRRRRRR/# rU  r3   )r4   s   "r5   r6   r7   i  !      + |  r8   c                	   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi u upi u upi u upi )r  rc  )r   TryStarrh   ri   rj   rk   r   rJ   r   rd  r  re  )rC   rG   rc   r   ns   &&&  r5   visit_trystarTreeRebuilder.visit_trystari  s    --;;..
 	26))<)Q**Q()<6:mmDmjj,mD48KK@KqJJq*K@7;~~F~!zz!-~F	 	 	
  =D@Fri  c               $    V ^8  d   QhRRRRRR/# rY  r3   )r4   s   "r5   r6   r7   y  !      	 < K r8   c           	     ,   V P                  V4      p\        P                  ! VVP                  VP                  VP
                  VP                  VR7      pTP                  VP                   Uu. uF  qPP                  WT4      NK  	  up4       V# u upi )z7Visit a Tuple node by returning a fresh instance of it.r  )
r_   r   Tuplerh   ri   rj   rk   r   r  r   r  s   &&&   r5   visit_tupleTreeRebuilder.visit_tupley  sy    ##D)++;;..
 	$))L)**U4)LM Mr  c               $    V ^8  d   QhRRRRRR/# r\  r3   )r4   s   "r5   r6   r7     rV  r8   c           
     v   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upV P                  VP                  V4      R7       V# u upi )z;Visit a TypeAlias node by returning a fresh instance of it.r  )rs   rP  rN   )r   	TypeAliasrh   ri   rj   rk   r   r   rs   rP  rN   )rC   rG   rc   r   ps   &&&  r5   visit_typealiasTreeRebuilder.visit_typealias  s     //;;..
 	DIIw/9=9I9IJ9IAA/9IJ**TZZ1 	 	

  Ks   8B6
c               $    V ^8  d   QhRRRRRR/# r_  r3   )r4   s   "r5   r6   r7     s!      + |  r8   c                l   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  WVP                  4      V P                  VP                  V4      \        '       d   V P                  VP                  V4      MRR7       V# )z9Visit a TypeVar node by returning a fresh instance of it.r  N)rs   boundr/  )r   r   rh   ri   rj   rk   r   r  rs   r   r  r   r/  r  s   &&& r5   visit_typevarTreeRebuilder.visit_typevar  s    --;;..
 	&&tdii@**TZZ1;E:

4--w74	 	 	
 r8   c               $    V ^8  d   QhRRRRRR/# rb  r3   )r4   s   "r5   r6   r7     s$      $.:	r8   c                6   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  WVP                  4      \        '       d   V P                  VP                  V4      MRR7       V# )z>Visit a TypeVarTuple node by returning a fresh instance of it.r  Nr.  )r   TypeVarTuplerh   ri   rj   rk   r   r  rs   r   r   r/  r  s   &&& r5   visit_typevartuple TreeRebuilder.visit_typevartuple  s     $$;;..
 	&&tdii@;E:

4--w74 	 	
 r8   c               $    V ^8  d   QhRRRRRR/# re  r3   )r4   s   "r5   r6   r7     !      + |  r8   c           	     B   \         P                  ! V P                  P                  VP                  P
                  ,          VP                  VP                  VP                  VP                  VR7      pVP                  V P                  VP                  V4      4       V# )z9Visit a UnaryOp node by returning a fresh instance of it.r*  )r   UnaryOprB   unary_op_classesr+  r  rh   ri   rj   rk   r   r   operandr  s   &&& r5   visit_unaryopTreeRebuilder.visit_unaryop  ss    --""33DGG4E4EF;;..
 	DLL':;r8   c               $    V ^8  d   QhRRRRRR/# rh  r3   )r4   s   "r5   r6   r7     r  r8   c                   \         P                  ! VP                  VP                  VP                  VP
                  VR7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  q@P                  WC4      NK  	  up4       V# u upi u upi )z7Visit a While node by returning a fresh instance of it.r  )r   Whilerh   ri   rj   rk   r   r   r  rJ   r  r<  s   &&&  r5   visit_whileTreeRebuilder.visit_while  s    ++;;..
 	JJtyy'*59YY?YEZZ'Y?59[[A[EZZ'[A	

  @Ar  c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[nodes.With]rG   rk  rc   r   r1   rl  r3   )r4   s   "r5   r6   r7     s,      #+3=I	r8   c                	    R # rX   r3   r  s   &&&&r5   r  TreeRebuilder._visit_with  s     r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[nodes.AsyncWith]rG   r   rc   r   r1   r   r3   )r4   s   "r5   r6   r7     s,      (0=GS	r8   c                	    R # rX   r3   r  s   &&&&r5   r  r    s     r8   c               (    V ^8  d   QhRRRRRRRR/# )	r,   r  ztype[_WithT]rG   zast.With | ast.AsyncWithrc   r   r1   r   r3   )r4   s   "r5   r6   r7     s2       ' 	
 
r8   c           
     	|  a a V! VP                   VP                  VP                  VP                  VR 7      oR VV 3R llpS P	                  VSR7      pSP                  VP                   Uu. uF
  qd! V4      NK  	  upVP                   Uu. uF  pS P                  VS4      NK  	  upVR7       S# u upi u upi )r  c                    V ^8  d   QhRRRR/# )r,   r   zast.withitemr1   z(tuple[nodes.NodeNG, nodes.NodeNG | None]r3   )r4   s   "r5   r6   /TreeRebuilder._visit_with.<locals>.__annotate__  s     	 		5	r8   c                z   < SP                  V P                  S4      pSP                  V P                  S4      pW3# rX   )r   context_exproptional_vars)r   re  varr   rC   s   &  r5   visit_child.TreeRebuilder._visit_with.<locals>.visit_child  s9     ::e00':D**U00':C9r8   r  )r  rJ   r  )	rh   ri   rj   rk   r  r   r  rJ   r   )rC   r  rG   rc   r  r  r   r   s   f&&&   @r5   r  r    s     ;;..
	 	 11$w1G37::>:%;u%:>:>))D)$**UG,)D+ 	 	

 	 ?Ds   .B4B9
c               $    V ^8  d   QhRRRRRR/# )r,   rG   rk  rc   r   r1   r3   )r4   s   "r5   r6   r7     s!     : :x : :, :r8   c                	B    V P                  \        P                  W4      # rX   )r  r   Withr   s   &&&r5   
visit_withTreeRebuilder.visit_with  s    

D99r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   ro  rc   r   r1   r3   )r4   s   "r5   r6   r7   	  s!     
 
	 
< 
L 
r8   c                    \         P                  ! VP                  VP                  VP                  VP
                  VR7      pVP                  V P                  VP                  V4      4       V# )z7Visit a Yield node by returning a fresh instance of it.r  )	r   Yieldrh   ri   rj   rk   r   r   rN   r  s   &&& r5   visit_yieldTreeRebuilder.visit_yield	  sU    ++;;..
 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# )r,   rG   rr  rc   r   r1   r3   )r4   s   "r5   r6   r7     s$      !+7	r8   c                	    \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      4       V# r  )	r   	YieldFromrh   ri   rj   rk   r   r   rN   r  s   &&& r5   visit_yieldfromTreeRebuilder.visit_yieldfrom  sW     //;;..
 	DJJ89r8   c               $    V ^8  d   QhRRRRRR/# ru  r3   )r4   s   "r5   r6   r7   "  rr  r8   c           
     	@   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi )r  )subjectcases)
r   Matchrh   ri   rj   rk   r   r   r  r  )rC   rG   rc   r   cases   &&&  r5   visit_matchTreeRebuilder.visit_match"  s    ++;;..
 	JJt||W59=D::d,D 	 	
  Es   8B
c               $    V ^8  d   QhRRRRRR/# rx  r3   )r4   s   "r5   r6   r7   0  s$     	 	"	,8			r8   c                	   \         P                  ! VR 7      pTP                  V P                  VP                  V4      V P                  VP
                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi )r  )patternguardrJ   )r   r'   r   r   r  r  rJ   r<  s   &&&  r5   visit_matchcaseTreeRebuilder.visit_matchcase0  ss     //0JJt||W5**TZZ1:>))D)**U,)D 	 	

  Es   'B
c               $    V ^8  d   QhRRRRRR/# r{  r3   )r4   s   "r5   r6   r7   ;  s$      ",8	r8   c                	    \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      R7       V# r  )	r   
MatchValuerh   ri   rj   rk   r   r   rN   r  s   &&& r5   visit_matchvalueTreeRebuilder.visit_matchvalue;  s\     "";;..
 	tzz$**g>?r8   c               $    V ^8  d   QhRRRRRR/# r~  r3   )r4   s   "r5   r6   r7   H  s$     

 

&

0<

	

r8   c           	     	    \         P                  ! VP                  VP                  VP                  VP
                  VP                  VR 7      # ))rN   rh   ri   rj   rk   rc   )r   MatchSingletonrN   rh   ri   rj   rk   r   s   &&&r5   visit_matchsingleton"TreeRebuilder.visit_matchsingletonH  s?     ##**;;..
 	
r8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7   T  s$      %/;	r8   c           	     	
   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi r  )patterns)	r   MatchSequencerh   ri   rj   rk   r   r  r   rC   rG   rc   r   r  s   &&&  r5   visit_matchsequence!TreeRebuilder.visit_matchsequenceT  st     %%;;..
 	BF--P-wjj2-P 	 	
  Q   B c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7   c  s$      $.:	r8   c           
     	   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  upVP                   Uu. uF  qPP                  WS4      NK  	  upV P                  WVP                  4      R7       V# u upi u upi )r  )r}  r  rest)r   MatchMappingrh   ri   rj   rk   r   r}  r   r  r  r  )rC   rG   rc   r   r   r  s   &&&   r5   visit_matchmapping TreeRebuilder.visit_matchmappingc  s     $$;;..
 	:>))D)**U,)DBF--P-wjj2-P&&tdii@ 	 	

 	 EPs   CC	
c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7   v  s$      ",8	r8   c                	   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  V P                  VP                  V4      VP                   Uu. uF  q@P                  WC4      NK  	  upVP                  VP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi u upi )r  )r  r  	kwd_attrskwd_patterns)r   
MatchClassrh   ri   rj   rk   r   r   r  r  r  r  r  s   &&&  r5   visit_matchclassTreeRebuilder.visit_matchclassv  s     "";;..
 	

488W-BF--P-wjj2-Pnn<@<M<M<M

7,<M	 	 	
  Qs   8C
,Cc               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     r  r8   c                	    \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  WVP                  4      R7       V# )r  )rs   )	r   	MatchStarrh   ri   rj   rk   r   r  rs   r  s   &&& r5   visit_matchstarTreeRebuilder.visit_matchstar  s\     //;;..
 	d33D499MNr8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     rk  r8   c                	   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      V P                  WVP                  4      R7       V# )r  )r  rs   )r   MatchAsrh   ri   rj   rk   r   r   r  r  rs   r  s   &&& r5   visit_matchasTreeRebuilder.visit_matchas  ss    --;;..
 	JJt||W5&&tdii@ 	 	
 r8   c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     r  r8   c           	     	
   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi r  )	r   MatchOrrh   ri   rj   rk   r   r  r   r  s   &&&  r5   visit_matchorTreeRebuilder.visit_matchor  sp    --;;..
 	BF--P-wjj2-P 	 	
  Qr  c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     s$     	 	'	1=		r8   c           	     	
   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pTP                  VP                   Uu. uF  q@P                  WC4      NK  	  upR7       V# u upi )r  )r;  )	r   TemplateStrrh   ri   rj   rk   r   r;  r   )rC   rG   rc   r   rN   s   &&&  r5   visit_templatestrTreeRebuilder.visit_templatestr  st     ''{{????#22G @DLu

52L   N Mr  c               $    V ^8  d   QhRRRRRR/# r  r3   )r4   s   "r5   r6   r7     s$     	 	)	3?	 	r8   c           	     	F   \         P                  ! VP                  VP                  VP                  VP
                  VR 7      pVP                  V P                  VP                  V4      VP                  VP                  V P                  VP                  V4      R7       V# )r  )rN   rP   r  r  )r   Interpolationrh   ri   rj   rk   r   r   rN   rP   r  r  r  s   &&& r5   visit_interpolation!TreeRebuilder.visit_interpolation  s     )){{????#22G jjV4HH?? JJt'7'7@	   Nr8   )r=   r@   r>   r?   r;   rB   rA   )NN)      )r     )r     )T)cr  
__module____qualname____firstlineno____doc__rD   rT   r_   rz   r   r	   r   r   sysversion_infor  r  r  r  r  r  r  r   r  r  r  r  r  r.  r5  r=  rB  rI  rW  r\  rf  rm  rR  rx  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r$  r*  r1  r6  r=  rB  rG  rL  rS  rZ  r_  rg  ro  ru  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  __static_attributes__r3   r8   r5   r*   r*   5   s   ;0 0(U5
n( }	U 
U		" 
	" 
T 
T		) 
	) 
X 
X	R 
R		" 
	" 
T 
T		" 
	" 
	" 
	" 
R 
R	T 
T	R 
R	P 
P	X 
X	X 
X	V 
V		& 
	& 
T 
T	P 
P	X 
X	P 
P		& 
	& 
N 
N		# 
	# 
	$ 
	$ 
	% 
	% 
	" 
	" 
T 
T	L 
L	R 
R	T 
T		" 
	" 
	' 
	' 
	" 
	" 
V 
V	T 
T	P 
P	X 
X		N 
	N 
X 
X	U 
Uw&& & 
P 
P	R 
R	T 
T	N 
N	V 
V	U 
U		" 
	" 
V 
V	N 
Nw&$ $ 
R 
Rw&& & $ $ ) ) 
V 
V	R 
R	P 
P	R 
R		" 
	" 
R 
R		" 
	" 
	# 
	# 
	' 
	' 
	& 
	& 
	% 
	% 
	# 
	# 
	" 
	" 
V 
V	V 
V	V 
Vw&( ( * * 
Q 
Q	F 
F*3=eN!@!0M
=
	?
"&    ("
 ' 'R

**:
-&$
$    *8*     % %9vH
"*X  ("
"%N


*
 

"$" $(*     ::
	

&(  7"		 	# #r8   r*   )7__conditional_annotations__r   
__future__r   rL   r  r  rm   collections.abcr   r   r   ior   tokenizer   r   typingr	   r
   r   r   r   astroidr   astroid._astr   r   r   astroid.constr   r   r   astroid.nodes.utilsr   astroid.typingr   astroid.managerr   r   rQ  rp   ro   r   r   r  r  r   r  r  r   NodesWithDocsTyper(   __annotations__r*   )r  s   @r5   <module>r     s  
 # 
  
  ; ;  / @ @  U U 9 9 ( *.

#...	E u'8'8%:P:PQJGUYY7EXuzz5??;Fu~~58I8II _?/_y+#
 b br8   