+
    eD                         ^ RI Ht ^ RIHt ^ RIHtHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIHt ^ R	IHtHtHt ^ R
IHtHtHtHtHt ^ RIHtHtHtHtHt ^ RIHtH t H!t! ^ RI"H#t#H$t$ ^ RI%H&t& ^ RIH't' ^ RI(H)t) ^ RI*H+t+ ^ RI,H-t-  ! R R]4      t. ! R R]4      t/ ! R R4      t0 ! R R]0]/]R7      t1 ! R R]4      t2 ! R R]14      t3 ! R  R!]#]$4      t4 ! R" R#]44      t5 ! R$ R%]44      t6 ! R& R']0]4      t7R( t8R)# )*    )tree)debug)inference_state_method_cacheCachedMetaClass)compiled)	recursion)
docstrings)flow_analysis)TreeSignature)ParserTreeFilterFunctionExecutionFilter AnonymousFunctionExecutionFilter)	ValueNameAbstractNameDefinitionAnonymousParamName	ParamNameNameWrapper)ContextualizedNode	NO_VALUESValueSet	TreeValueValueWrapper)LazyKnownValuesLazyKnownValueLazyTreeValue)ValueContextTreeContextMixin)iterable)parser_utils)get_yield_exprs)values_from_qualified_namesTupleGenericManagerc                   D   a  ] tR t^t o RtRtR t]R 4       tR t	Rt
V tR# )
LambdaNamez<lambda>functionc                4    Wn         VP                  V n        R # N_lambda_valueparent_context)selflambda_values   &&?/usr/lib/python3/dist-packages/jedi/inference/value/function.py__init__LambdaName.__init__   s    )*99    c                B    V P                   P                  P                  # r(   )r*   	tree_node	start_posr,   s   &r.   r4   LambdaName.start_pos"   s    !!++555r1   c                .    \        V P                  .4      # r(   )r   r*   r5   s   &r.   inferLambdaName.infer&   s    ++,--r1   r)   N)__name__
__module____qualname____firstlineno__string_nameapi_typer/   propertyr4   r8   __static_attributes____classdictcell____classdict__s   @r.   r%   r%      s2     KH: 6 6. .r1   r%   c                   &   a  ] tR t^*t o R tRtV tR# )FunctionAndClassBasec                   V P                   P                  4       '       d8   V P                   P                  4       pVf   R # WP                  4       3,           # V P                   P	                  4       '       d   V P                  4       3# R # r(   )r+   is_classget_qualified_names
py__name__	is_module)r,   ns   & r.   rI   (FunctionAndClassBase.get_qualified_names+   sn    ''))##779Ay)+++  **,,OO%''r1    N)r:   r;   r<   r=   rI   rA   rB   rC   s   @r.   rF   rF   *   s     
 
r1   rF   c                   v   a  ] tR t^8t o RtRR ltR tR t]R 4       t	R t
R tRR	 ltR
 tRR ltR tRtV tR# )FunctionMixinr&   Nc              #     "   V P                  4       pVP                  4        F  pVP                  VR 7       Rj  xL
  K  	  R#  L
5i))origin_scopeN)py__class__execute_with_valuesget_filters)r,   rR   clsinstances   &&  r.   rU   FunctionMixin.get_filters;   s@      //1H+++FFF 2Fs   9AAAc                p    ^ RI Hp Vf   \        V .4      # \        V! WP                  4       V 4      .4      # )r   )BoundMethod)jedi.inference.value.instancerZ   r   
as_context)r,   rW   class_valuerZ   s   &&& r.   	py__get__FunctionMixin.py__get__@   s6    =TF##X/E/E/GNOPPr1   c                    V P                   P                  4        Uu. uF  p\        WP                  4      NK  	  up# u upi r(   )r3   
get_paramsr   namer,   params   & r.   get_param_namesFunctionMixin.get_param_namesG   s=    !^^668:8E #448: 	: :s   >c                    V P                   P                  R 8X  d   \        V 4      # \        W P                   P                  4      # )lambdef)r3   typer%   r   rb   r5   s   &r.   rb   FunctionMixin.nameK   s4    >>)+d##~~2233r1   c                    R # TrN   r5   s   &r.   is_functionFunctionMixin.is_functionQ   s    r1   c                .    V P                   P                  # r(   )rb   r>   r5   s   &r.   rJ   FunctionMixin.py__name__T   s    yy$$$r1   c           
        V P                   P                  pVf   R pV P                  4       pVP                  4       pVP	                  4       pV P                  4       RRP                  VP                  4        Uu. uF  pV! V4      NK  	  up4      ,          ,           pVf   V# MTVP                  RR7      pV P                  4       V P                   P                  ^,          P                  RR7      ,           pVR,           V,           # u upi )Nc                     V P                   pV P                  4       P                  4       pVe   VRV,           ,          pV P                  e+   VRV P                  P	                  RR7      ,           ,          pV# )Nz: =Finclude_prefix)r>   r8   get_type_hintdefault_nodeget_code)rL   s
annotations   &  r.   param_name_to_str6FunctionMixin.get_type_hint.<locals>.param_name_to_strZ   sd    MMWWY446
)
**A>>-q~~66e6LLLAr1   z(%s), Frt   z -> )
r3   rz   r\   r8   rv   rJ   joinre   rx   children)	r,   add_class_inforeturn_annotationr{   function_executionresultreturn_hintrL   bodys	   &&       r.   rv   FunctionMixin.get_type_hintW   s     NN55$ "&!2'--/F ..0K??$v		+;;=;=A "!$=; 1 ( D " # ,44E4JK??$t~~'>'>q'A'J'JZ_'J'``Df}{**;s   ;D
c                D    V P                  V4      pVP                  4       # r(   )r\   r8   )r,   	argumentsr   s   && r.   
py__call__FunctionMixin.py__call__r   s     !__Y7!''))r1   c                6    Vf   \        V 4      # \        W4      # r(   )AnonymousFunctionExecutionFunctionExecutionContext)r,   r   s   &&r.   _as_contextFunctionMixin._as_contextv   s    -d33'88r1   c                ^    V P                  4        Uu. uF  p\        V4      NK  	  up# u upi r(   )get_signature_functionsr   )r,   fs   & r.   get_signaturesFunctionMixin.get_signatures{   s*    *.*F*F*HI*HQa *HIIIs   *rN   r(   rl   )r:   r;   r<   r=   r?   rU   r^   re   r@   rb   rm   rJ   rv   r   r   r   rA   rB   rC   s   @r.   rP   rP   8   sT     HG
Q: 4 4
%+6*9
J Jr1   rP   c                   B   a  ] tR t^t o ]R 4       tR tR tR tRt	V t
R# )FunctionValuec                N  a aa V VV3R  lp\        \        SV4      4      pSoSP                  4       '       g   SP                  4       '       d   SP                  oK:  V! V4      pV'       d4   \        T\        \        V Uu. uF
  qc! V4      NK  	  up4      4      4      # V# u upi )c                    < SP                  4       '       d   \        SP                  SSV R 7      # S! SP                  SV R 7      # ))r+   r3   )rH   MethodValueinference_state)r3   rV   contextr+   s   &r.   create*FunctionValue.from_context.<locals>.create   sO    !!"++#1'	  ++#1' r1   )list_find_overload_functionsrH   is_instancer+   OverloadedFunctionValuereversed)rV   r   r3   r   overloaded_funcsr&   r   r+   s   ff&    @r.   from_contextFunctionValue.from_context   s    	   8) LM %%''>+E+E+G+G+::N)$*X2BC2BQvay2BCDE 
  Ds   B"c                8    \        V P                  R R4      w  pV# )typesFunctionType)r!   r   )r,   cs   & r.   rS   FunctionValue.py__class__   s    ()=)=wWr1   c                    V P                   # r(   )r+   r5   s   &r.   get_default_param_context'FunctionValue.get_default_param_context   s    """r1   c                    V .# r(   rN   r5   s   &r.   r   %FunctionValue.get_signature_functions   s	    vr1   rN   N)r:   r;   r<   r=   classmethodr   rS   r   r   rA   rB   rC   s   @r.   r   r      s,      @# r1   r   )	metaclassc                   8   a a ] tR t^t oV 3R ltR tRtVtV ;t# )FunctionNameInClassc                2   < \         SV `  V4       Wn        R # r(   )superr/   _class_context)r,   class_contextrb   	__class__s   &&&r.   r/   FunctionNameInClass.__init__   s    +r1   c                6    V P                   P                  4       # r(   )r   	get_valuer5   s   &r.   get_defining_qualified_value0FunctionNameInClass.get_defining_qualified_value   s    "",,..r1   )r   )	r:   r;   r<   r=   r/   r   rA   rB   __classcell__r   rD   s   @@r.   r   r      s     ,/ /r1   r   c                   T   a a ] tR t^t oV 3R ltR tR t]V 3R l4       tRt	Vt
V ;t# )r   c                <   < \         SV `  ! V.VO5/ VB  W n        R # r(   )r   r/   r   )r,   r   r   argskwargsr   s   &&&*,r.   r/   MethodValue.__init__   s     :4:6:*r1   c                    V P                   # r(   r   r5   s   &r.   r   %MethodValue.get_default_param_context   s    !!!r1   c                p    V P                   P                  4       pVf   R # WP                  4       3,           # r(   )r   rI   rJ   )r,   namess   & r.   rI   MethodValue.get_qualified_names   s3     ""668=)+++r1   c                @   < \        V P                  \        SV `  4      # r(   )r   r   r   rb   )r,   r   s   &r.   rb   MethodValue.name   s    "4#5#5uw|DDr1   r   )r:   r;   r<   r=   r/   r   rI   r@   rb   rA   rB   r   r   s   @@r.   r   r      s0     +", E E Er1   r   c                      a  ] tR t^t o R t]! ]R7      ]P                  ! 4       RR l4       4       t	R t
]P                  ! ]! . 4      R7      RR l4       tRR ltR tR tR	tV tR
# )BaseFunctionExecutionContextc                    \         hr(   )NotImplementedErrorr5   s   &r.   infer_annotations.BaseFunctionExecutionContext.infer_annotations   s    !!r1   )defaultc                   V P                   pVP                  R 8X  d#   V P                  VP                  R,          4      # V'       d   \        p\        V P                  V4      pMQV P                  4       pV'       d   V# V\        P                  ! V P                  4      ,          pVP                  4       pV F  pV'       d6   V\        P                  ! R V P                  V4       4       4      ,          pK@  \        P                   ! WV4      pV\        P"                  J d   \$        P&                  ! RV4       M+ VP                  pW0P                  V^,          4      ,          pV\        P.                  J g   K  \$        P&                  ! RV4        V# 	  V#   \(         d8    \*        P,                  ! T P                  R4      pT\        T.4      ,          p Lui ; i)rh   c              3   B   "   T F  pVP                  4       x  K  	  R # 5ir(   r8   .0
lazy_values   & r.   	<genexpr>ABaseFunctionExecutionContext.get_return_values.<locals>.<genexpr>   s#      0&C
 $$&&&C   zReturn unreachable: %sNonezReturn reachable: %s)r3   ri   
infer_noder   r   r    r   r   r	   infer_return_types_valueiter_return_stmtsr   	from_sets_get_yield_lazy_valuer
   reachability_checkUNREACHABLEr   dbgAttributeErrorr   builtin_from_name	REACHABLE)	r,   check_yieldsfuncdef	value_setreturnsrcheckr   ctxs	   &&       r.   get_return_values.BaseFunctionExecutionContext.get_return_values   s    ..<<9$??7#3#3B#788!I%d&:&:GDG..0I ! 66t{{CCI//1GAX// 0&*&@&@&C0  	
 &88JM555II6:B#$::
 "__Xa[%AA	M333II4a8+ *  * 5&889M9MvV!Xse_4	5s   <F?GGc              #    "   VP                   R 8X  d1   \        P                  ! V P                  R4      p\	        V4      x  R# VP
                  ^,          pVP                   R8X  dF   \        WP
                  ^,          4      pVP                  4       P                  V4       Rj  xL
  R# \        W4      x  R#  L5i)keywordr   N	yield_arg)
ri   r   r   r   r   r   r   r8   iterater   )r,   
yield_exprr   nodecns   &&   r.   r   2BaseFunctionExecutionContext._get_yield_lazy_value   s     ??i',,T-A-A6JC %%""1%99##D--*:;Bxxz))"---++ .s   B$B>&B<'B>c              #    "   \        V P                  V P                  4       Uu. uF  pV\        P                  ! VR RRR4      3NK!  	  pp. pRpV EF  w  rgVP
                  pVP                  R8X  d   VP
                  pVP                  R 8X  dg   WP                  8X  dW   \        P                  ! V4      '       d;   Wu8X  d!   VR
,          ^,          P                  V4       MoVP                  Wv.34       M[WpP                  8X  d   VP                  RV.34       M6V P                  RR7      p	V	'       d   \        V	^ \        R4      R	7      x   R# TpEK  	  V F  w  rzVf%   V
 F  pV P                  V4       Rj  xL
  K  	  K-  VP                  4       p\        W4      pVP!                  4       P#                  V4      p\%        V4      pV F}  p\'        VP(                  ^,          P*                  4      VP!                  4       /pV P-                  W4      ;_uu_ 4        V
 F  pV P                  V4       Rj  xL
  K  	  RRR4       K  	  K  	  R# u upi  L L!  + '       g   i     K  ; i5i)for_stmtr   
while_stmtif_stmtNsuiteT)r   inf)minmaxr   )r    r   r3   r   search_ancestorparentri   r   for_stmt_defines_one_nameappendr   r   floatr   get_testlistr   r8   r   r   strr   valuepredefine_names)r,   is_asyncyfor_parentsyields_orderlast_for_stmtyield_r   r  r   yields
input_noder   orderedr   dctyield_in_same_for_stmts   &&               r.   get_yield_lazy_values2BaseFunctionExecutionContext.get_yield_lazy_values  s/    
 !00D0Ddnn UW U1 4//:y0<iI J U 	 W
  +F __F{{g%}}
*v/G$>>xHH, $Q'..v6 ''8(<=^^+##TF8$45..D.A)%QE%LII$M' !,* !-H$F#99&AAA % &224
'9((*,,R0w-")Jx00399:J<L<L<NOC--h<<6<2'+'A'ABX'YYY 7= =< #* !-9W@ B Z =<<sV   #I4%I
A3I4>A8I47AI4>I?B#I4"I 	<I=I 	I4I 	 I1+	I4c                X    \         P                  ! R  V P                  4        4       4      # )c              3   B   "   T F  pVP                  4       x  K  	  R # 5ir(   r   r   s   & r.   r   BBaseFunctionExecutionContext.merge_yield_values.<locals>.<genexpr>6  s#      "
:
 :r   )r   r   r  )r,   r  s   &&r.   merge_yield_values/BaseFunctionExecutionContext.merge_yield_values5  s+    !! "
"88:"
 
 	
r1   c                T    \        \        V P                  V P                  4      4      # r(   )boolr    r   r3   r5   s   &r.   is_generator)BaseFunctionExecutionContext.is_generator;  s    OD$8$8$..IJJr1   c                  aa V P                   pV P                  P                  P                  R9   p^ RIHo V'       d   V P                  4       '       dh   VP                  P                  R4      pV P                  RR7      pVP                  4       \        3o\        VV3R lV 4       4      P                  4       # VP                  P                  R4      pV P                  4       pVP                  4       \        \        3o\        VV3R lV 4       4      P                  4       # V P                  4       '       d7   V P                  4       '       g!   \        \         P"                  ! W4      .4      # V P                  4       # )	z$
Created to be used by inheritance.
)GenericClassAsyncGeneratorT)r  c              3   H   <"   T F  pS! V\        S4      4      x  K  	  R # 5ir(   r"   r   r   r$  genericss   & r.   r   5BaseFunctionExecutionContext.infer.<locals>.<genexpr>N  s(       4 !$7$ABB4   "	Coroutinec              3   H   <"   T F  pS! V\        S4      4      x  K  	  R # 5ir(   r"   r'  s   & r.   r   r)  W  s$       LYqL$7$ABBMr*  )
async_stmtasync_funcdef)r   r3   r  ri   jedi.inference.gradual.baser$  r!  typing_modulepy__getattribute__r  rS   r   r   execute_annotationr   r   r   	Generator)	r,   r   is_coroutineasync_generator_classesyield_valuesasync_classesreturn_valuesr$  r(  s	   &      @@r.   r8   "BaseFunctionExecutionContext.infer>  sM    ..~~,,115TT<  ""*9*G*G''(89 (  $666E(446	B  4   %$&'
 !0 = = P PQ\ ] $ 6 6 8)557IN  LY  $$&'
   ""4+A+A+C+C!3!3O!J KLL--//r1   rN   N)F)r:   r;   r<   r=   r   r   r   r   execution_recursion_decoratorr   r   iterr  r  r!  r8   rA   rB   rC   s   @r.   r   r      su     " ")4,,.& / 5&P, ,,T"X>,Z ?,Z\
K!0 !0r1   r   c                   H   a a ] tR tRt oV 3R ltRR ltR tR tRtVt	V ;t
# )r   ib  c                2   < \         SV `  V4       W n        R # r(   )r   r/   
_arguments)r,   function_valuer   r   s   &&&r.   r/   !FunctionExecutionContext.__init__c  s    (#r1   c              #  X   "   \        W P                  VVV P                  R 7      x  R# 5i))until_positionrR   r   N)r   r   r>  r,   rB  rR   s   &&&r.   rU   $FunctionExecutionContext.get_filtersg  s&     %++)%oo	
 	
s   (*c                H    ^ RI Hp V! V P                  V P                  4      # )r   )r   )!jedi.inference.gradual.annotationr   r   r>  )r,   r   s   & r.   r   *FunctionExecutionContext.infer_annotationso  s    H!$++t??r1   c                    V P                   P                  P                  4        Uu. uF.  p\        V P                   VP                  V P
                  4      NK0  	  up# u upi r(   )r   r3   ra   r   rb   r>  rc   s   & r.   re   (FunctionExecutionContext.get_param_namess  sQ     ..99;
; dkk5::t?;
 	
 
s   4A)r>  NN)r:   r;   r<   r=   r/   rU   r   re   rA   rB   r   r   s   @@r.   r   r   b  s     $
@
 
r1   r   c                   6   a  ] tR tRt o R tRR ltR tRtV tR# )r   iz  c                    \         # r(   )r   r5   s   &r.   r   ,AnonymousFunctionExecution.infer_annotations{  s
     r1   Nc              #  B   "   \        W P                  VVR 7      x  R# 5i))rB  rR   N)r   r   rC  s   &&&r.   rU   &AnonymousFunctionExecution.get_filters  s     .++)%
 	
r   c                6    V P                   P                  4       # r(   )r   re   r5   s   &r.   re   *AnonymousFunctionExecution.get_param_names  s    {{**,,r1   rN   rJ  )	r:   r;   r<   r=   r   rU   re   rA   rB   rC   s   @r.   r   r   z  s     

- -r1   r   c                   H   a a ] tR tRt oV 3R ltR tR tRR ltRtVt	V ;t
# )r   i  c                2   < \         SV `  V4       W n        R # r(   )r   r/   _overloaded_functions)r,   r&   overloaded_functionsr   s   &&&r.   r/    OverloadedFunctionValue.__init__  s    "%9"r1   c                   \         P                  ! R V P                  RR7       . pV P                  4        FX  pVP                  P                  V4      pVP                  V4       VP                  V4      '       g   KH  VP                  4       u # 	  V P                  P                  '       d   \        # \        P                  ! R V 4       4      # )zExecute overloaded function %sBLUE)colorc              3   @   "   T F  qP                  4       x  K  	  R # 5ir(   r   )r   fes   & r.   r   5OverloadedFunctionValue.py__call__.<locals>.<genexpr>  s     !K7J((**7J   )r   r   _wrapped_valuer   r  r\   r  matches_signaturer8   r   is_analysisr   r   r   )r,   r   function_executions	signaturer   s   &&   r.   r   "OverloadedFunctionValue.py__call__  s    		2D4G4GvV ,,.I!*!;!;I!F&&'9:**955)//11	 / +++!!!K7J!KKKr1   c                    V P                   # r(   rT  r5   s   &r.   r   /OverloadedFunctionValue.get_signature_functions  s    )))r1   c                T    R RP                  R V P                   4       4      ,          # )z	Union[%s]r}   c              3   @   "   T F  qP                  4       x  K  	  R # 5ir(   )rv   )r   r   s   & r.   r   8OverloadedFunctionValue.get_type_hint.<locals>.<genexpr>  s     &]B\Q'8'8B\r]  )r~   rT  )r,   r   s   &&r.   rv   %OverloadedFunctionValue.get_type_hint  s"    TYY&]$B\B\&]]]]r1   re  rl   )r:   r;   r<   r=   r/   r   r   rv   rA   rB   r   r   s   @@r.   r   r     s!     :L*^ ^r1   r   c              #     "   R  pVP                   R8X  d   R# V! V4      '       d   Vx   \        V VP                  R7      pVP                  VP                  P
                  4      p\        V\        4      '       g   Q hV'       g   R# RpV FD  pVP                  P                  pVP                   R8X  g   K,  V! V4      '       g   K<  TpRpVx  KF  	  V'       d   K  R# 5i)c                 >   V P                   P                  R 8X  d   V P                   P                  ^ ,          pVP                  R8X  d   V.pMVP                  pV F=  pVP                  ^,          pVP                  R8X  g   K)  VP                  R8X  g   K<   R# 	  R# )	decorated	decoratorrb   overloadTF)r  ri   r   r  )r   
decoratorsrn  dotted_names   &   r.   _is_overload_decorated8_find_overload_functions.<locals>._is_overload_decorated  s    >>+- 003J+-(\
'00
'	'003##v-+2C2Cz2Q	 (
 r1   rh   NT)rB  Fr   )
ri   r   r4   getrb   r  
isinstancer   	tree_namer  )r   r3   rr  filterr   foundrb   r   s   &&      r.   r   r     s      ~~"i((
!$..
 

9>>//0%&&&&Dnn++G||y(-CG-L-L#	  us#   $C"A C"-C":C"
C" C"N)9parso.pythonr   jedir   jedi.inference.cacher   r   jedi.inferencer   r   r	   r
   jedi.inference.signaturer   jedi.inference.filtersr   r   r   jedi.inference.namesr   r   r   r   r   jedi.inference.base_valuer   r   r   r   r   jedi.inference.lazy_valuer   r   r   jedi.inference.contextr   r   jedi.inference.valuer   r   jedi.inference.parser_cacher    jedi.inference.helpersr!   jedi.inference.gradual.genericsr#   r%   rF   rP   r   r   r   r   r   r   r   r   rN   r1   r.   <module>r     s      N # $ % ( 2% %/ /& &  A )  7 > ?.' . 9 DJ DJN*M#7? *Z/+ /E- E*U0<1A U0p
; 
0-!= -"^m\ ^4(r1   