ó
    Ð]jè/  ã                   ó`  • S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S SKJrJrJrJr  S S	KJrJrJr  S S
KJrJrJr  S SKJr  S SKJr  S S jr " S S\5      r S r!S r"S r# " S S5      r$ " S S\$5      r%S r& " S S\%5      r' " S S\%5      r( " S S\$5      r)S!S jr*S r+g)"é    N)Úzip_longest)ÚAny)Útree)Údebug)ÚPushBackIterator)Úanalysis)ÚLazyKnownValueÚLazyKnownValuesÚLazyTreeValueÚget_merged_lazy_value)Ú	ParamNameÚTreeNameDefinitionÚAnonymousParamName)Ú	NO_VALUESÚValueSetÚContextualizedNode)Úiterable)Ú%inference_state_as_method_param_cachec                 ó¶   • US:”  a  gU  H;  n UR                   nU" 5        H   n[        UR                  5       US-   5        M"     M=     g! [         a     MM  f = f)z"Helper method for static analysis.é
   Né   )Ú
py__iter__Útry_iter_contentÚinferÚAttributeError)ÚtypesÚdepthÚtypÚfÚ
lazy_values        ÚU/home/mande/repo/quber/.venv/lib/python3.13/site-packages/jedi/inference/arguments.pyr   r      s`   € àˆrƒzð 	ãˆð	@Ø—‘ˆAñ  žc�
Ü  ×!1Ñ!1Ó!3°U¸Q±YÖ?ó "ò øô ó 	Úð	ús   ŽA
Á

AÁAc                   ó   • \ rS rSrSrg)Ú
ParamIssueé#   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r%   ó    r!   r#   r#   #   s   † Úr+   r#   c                 ó   ^ • U 4S jnU$ )a2  
Transforms a function or method with arguments to the signature that is
given as an argument clinic notation.

Argument clinic is part of CPython and used for all the functions that are
implemented in C (Python 3.7):

    str.split.__text_signature__
    # Results in: '($self, /, sep=None, maxsplit=-1)'
c                 ó   >^ • UU 4S jnU$ )Nc                 ó„   >•  [        [        U R                  UT5      5      nT" U /UQ76 $ ! [         a	    [        s $ f = f©N)ÚtupleÚiterate_argument_clinicÚinference_stater#   r   )ÚvalueÚ	argumentsÚargsÚclinic_stringÚfuncs      €€r!   ÚwrapperÚ?repack_with_argument_clinic.<locals>.decorator.<locals>.wrapper3   sR   ø€ ð	*ÜÔ4Ø×)Ñ)ØØ!óó �ñ ˜EÐ) DÒ)Ð)øô ó !Ü Ò ð!ús   ƒ , ¬?¾?r%   )r7   r8   r6   s   ` €r!   Ú	decoratorÚ.repack_with_argument_clinic.<locals>.decorator2   s   ù€ ö
	*ð ˆr+   r%   )r6   r:   s   ` r!   Úrepack_with_argument_clinicr<   '   s   ø€ õð Ðr+   c              #   óÊ  #   • [        [        U5      5      n[        UR                  5       5      n[	        U5       GH"  u  nu  pgp‰U	S:X  a[  / n
U H-  u  p¼Ub  UR                  X¼45          OU
R                  U5        M/     [        [        R                  " X
5      /5      v •  U
  Mk  U	S:X  a
  [        5       e[        US5      u  p¼Ub  [        R                  " S5        [        eUc/  U(       d(  [        R                  " SU[        U5      U5        [        eUc  [         OUR#                  5       nU(       d$  U(       d  [        R                  " SU5        [        eUv •  GM%     g7f)z;Uses a list with argument clinic information (see PEP 436).r   Né   )NNzAKeyword arguments in argument clinic are currently not supported.z4TypeError: %s expected at least %s arguments, got %sz$argument_clinic "%s" not resolvable.)ÚlistÚ_parse_argument_clinicr   ÚunpackÚ	enumerateÚ	push_backÚappendr   r   Ú	FakeTupleÚNotImplementedErrorÚnextr   Úwarningr#   Úlenr   r   )r2   r4   r6   Úclinic_argsÚiteratorÚiÚnameÚoptionalÚallow_kwargsÚstarsÚlazy_valuesÚkeyÚargumentÚ	value_sets                 r!   r1   r1   C   s4  é € äÔ-¨mÓ<Ó=€Kä 	× 0Ñ 0Ó 2Ó3€HÜ4=¸k×4JÑ0ˆÑ0ˆD˜LØ�A‹:ØˆKÛ!)‘�Ø‘?Ø×&Ñ&¨ Ô7Ùà×"Ñ" 8Ö,ñ "*ô œH×.Ò.¨ÓLÐMÓNÒNÙÙØ�a‹ZÜ%Ó'Ð'Ü˜X |Ó4‰ˆØ‰?Ü�MŠMÐ]Ô^ÜÐØÑ¦HÜ�MŠMÐPØ¤ KÓ 0°!ô5äÐà!)Ñ!1•I°x·~±~Ó7Gˆ	æ¦ô �MŠMÐ@À$ÔGÜÐØ�ò? 5Kùs   ‚E!E#c              #   ó‚  #   • SnSnU (       a°  [         R                  " SU 5      nU [        UR                  S5      5      S  n UR                  S5      (       d  SnMU  U=(       d    [	        UR                  S5      5      nUR                  S5      nUR                  S5      nXES  nXBX4v •  U(       a  SnU (       a  M¯  g g 7f)NFz%(?:(?:(\[),? ?|, ?|)(\**\w+)|, ?/)\]*r   r>   Tr   Ú*)ÚreÚmatchrI   ÚgroupÚboolÚcount)ÚstringrO   rN   rX   ÚwordrP   s         r!   r@   r@   j   s¨   é € Ø€LØ€HÞ
ô
 —’ÐAÀ6ÓJˆØœ˜EŸK™K¨›NÓ+Ð,Ð-ˆØ�{‰{˜1�~‰~ØˆLÙØ×3œt E§K¡K°£NÓ3ˆØ�{‰{˜1‹~ˆØ—
‘
˜3“ˆØ�Fˆ|ˆØ˜|Ð3Ò3ÞØˆL÷! Š&ùs   ‚B9B?Â=B?c                   ó$   • \ rS rSrSS jrS rSrg)Ú_AbstractArgumentsMixiné€   Nc                 ó   • [         er/   ©rF   )ÚselfÚfuncdefs     r!   rA   Ú_AbstractArgumentsMixin.unpack�   ó   € Ü!Ð!r+   c                 ó   • / $ r/   r%   ©rc   s    r!   Úget_calling_nodesÚ)_AbstractArgumentsMixin.get_calling_nodes„   s   € Øˆ	r+   r%   r/   )r&   r'   r(   r)   rA   ri   r*   r%   r+   r!   r_   r_   €   s   † ô"õr+   r_   c                   ó,   • \ rS rSr% SrSr\\S'   SrSr	g)ÚAbstractArgumentséˆ   NÚargument_noder%   )
r&   r'   r(   r)   Úcontextrn   r   Ú__annotations__Útrailerr*   r%   r+   r!   rl   rl   ˆ   s   ‡ Ø€GØ€M�3ÓØƒGr+   rl   c              #   ó*  #   • U c  g U R                   S:w  a*  U R                   S:X  a  U R                  S   S;   d  SU 4v •  g [        U R                  5      nU H¶  nUS:X  a  M  US;   a,  [        US 5      nUc   e[	        UR
                  5      U4v •  M=  UR                   S:X  ac  UR                  S   S;   aP  [	        UR                  5      S:X  d   e[	        UR                  S   R
                  5      UR                  S   4v •  M°  SU4v •  M¸     g 7f)NÚarglistrS   r   )rV   z**Ú,r>   r   )ÚtypeÚchildrenÚiterrG   rI   r3   )rs   rK   ÚchildÚcs       r!   Úunpack_arglistrz   Ž   sÿ   é € Ø�Øà‡|�|�yÓ Ø�L‰L˜JÓ&¨7×+;Ñ+;¸AÑ+>À+Ó+MØ�ˆjÒØä�G×$Ñ$Ó%€HÛˆØ�C‹<ÙØ�kÓ!Ü�X˜tÓ$ˆAØ‘=Ð �=Ü�e—k‘kÓ" AÐ%Ô%Ø�Z‰Z˜:Ó%Ø—‘˜qÑ! [Ó0Ü�u—~‘~Ó&¨!Ó+Ð+Ð+Ü�e—n‘n QÑ'×-Ñ-Ó.°·±¸qÑ0AÐAÔAà�U�(ŒNò ùs   ‚DDc                   óp   • \ rS rSr% \\S'   SS jr\\" 5       S 5       5       r	SS jr
S rS rS	 rS
 rSrg)ÚTreeArgumentsé§   ro   Nc                 ó4   • X0l         X l        Xl        X@l        g)zC
:param argument_node: May be an argument_node or a list of nodes.
N)rn   ro   Ú_inference_staterq   )rc   r2   ro   rn   rq   s        r!   Ú__init__ÚTreeArguments.__init__ª   s   € ð +ÔØŒØ /ÔØ�r+   c                 ó   • U " U0 UD6$ r/   r%   )Úclsr5   Úkwargss      r!   Úcreate_cachedÚTreeArguments.create_cached³   s   € ñ �DÐ#˜FÑ#Ð#r+   c           
   #   ó  #   • / n[        U R                  5       GHÎ  u  p4US:X  a€  U R                  R                  U5      nU Vs/ s H  n[	        U R                  XdU5      PM     nn[        [        U6 5       H'  nS [        U V	s/ s H	  o™c  M  U	PM     sn	5      4v •  M)     MŒ  US:X  aE  U R                  R                  U5      nU H"  n
[        U R                  X¤U5       S h  v•N   M$     M×  UR                  S:X  aÍ  UR                  n[        U5      S:X  a:  UR                  US   R                  [        U R                  US   5      45        GM<  UR                  S   nUR                  S:X  a  UR                  S   n[        R                   " U R"                  U R                  UUR                  S   S9nS [%        U5      4v •  GM´  S [        U R                  U5      4v •  GMÑ     U S h  v•N   g s  snf s  sn	f  GN N7f)Nr   r>   rS   é   r   Úcomp_for)Údefining_contextÚsync_comp_for_nodeÚ
entry_node)rz   rn   ro   Ú
infer_nodeÚ_iterate_star_argsr?   r   r   Ú_star_star_dictru   rv   rI   rD   r3   r   r   ÚGeneratorComprehensionr   r	   )rc   rd   Ú
named_argsÚ
star_countÚelÚarraysÚaÚ	iteratorsÚvaluesÚvÚdctry   Úsync_comp_forÚcomps                 r!   rA   ÚTreeArguments.unpack¸   sÖ  é € Øˆ
Ü,¨T×-?Ñ-?×@‰NˆJØ˜Q‹ØŸ™×0Ñ0°Ó4�á&,ó.Ú&, ô 0°·±¸aÀWÖMÙ&,ð ð .ä"¤;°	Ð#:Ö;�FØÔ 5Ù$*Ó<¢F˜qŸ¡FÑ<ó!ð ô ó <ð ˜q“ØŸ™×0Ñ0°Ó4�Û!�CÜ.¨t¯|©|¸SÀgÓN×NÒNó "ð —7‘7˜jÓ(ØŸ™�AÜ˜1“v “{Ø"×)Ñ)¨1¨Q©4¯:©:´}ÀTÇ\Á\ÐSTÐUVÑSWÓ7XÐ*Z×[ð )+¯©°A©˜Ø(×-Ñ-°Ó;Ø,9×,BÑ,BÀ1Ñ,E˜MÜ'×>Ò>Ø ×1Ñ1Ø-1¯\©\Ø/<Ø')§{¡{°1¡~ñ	 ˜ð #¤N°4Ó$8Ð8Õ8à¤¨d¯l©l¸BÓ ?Ð?Õ?ñ? AðF ×ÑùòA.ùò =ò
 Oñ. 	ùsD   ‚AHÁ!G8Á& HÂG=ÂG=ÂAHÃ&HÃ'DHÇ2HÇ3HÈHc              #   óÒ   #   • [        U R                  5       HJ  u  pS nUR                  S:X  a-  [        UR                  5      S:X  a  UR                  S S S2   u  p#X#U4v •  ML     g 7f)NrS   rˆ   r>   )rz   rn   ru   rI   rv   )rc   r’   rS   Údefaults       r!   Ú_as_tree_tuple_objectsÚ$TreeArguments._as_tree_tuple_objectsß   sd   é € Ü$2°4×3EÑ3EÖ$FÑ ˆJØˆGØ�}‰} 
Ó*Ü�x×(Ñ(Ó)¨QÓ.Ø(0×(9Ñ(9¹#¸A¸#Ñ(>Ñ%�HØ ZÐ/Ô/ò %Gùs   ‚A%A'c              #   óÀ   #   • U R                  5        HF  u  pnU(       a  [        U[        R                  5      (       d  M.  [	        U R
                  U5      v •  MH     g 7fr/   )rŸ   Ú
isinstancer   ÚNamer   ro   )rc   rM   rž   r’   s       r!   Úiter_calling_names_with_starÚ*TreeArguments.iter_calling_names_with_starç   sE   é € Ø)-×)DÑ)DÖ)FÑ%ˆD˜:æ¤Z°´d·i±i×%@Ñ%@Ùä$ T§\¡\°4Ó8Ô8ò *Gùs   ‚AAc                 óT   • SU R                   R                  < SU R                  < S3$ ©NÚ<z: Ú>)Ú	__class__r&   rn   rh   s    r!   Ú__repr__ÚTreeArguments.__repr__ï   s   � Ø!Ÿ^™^×4Ô4°d×6HÔ6HÐIÐIr+   c                 ój  • / nU nX!;  aÍ  [        U[        5      (       d  O·UR                  U5        [        [	        UR                  5       5      5       Hy  nUR                  5       n[        U5      S:w  a    OY[        US   [        5      (       a  / s  $ [        US   [        5      (       d    O#US   R                  5       nUR                  n  O   X!;  a  MÍ  UR                  b!  [        UR                  UR                  5      /$ UR                  b!  [        UR                  UR                  5      /$ / $ )Nr   r   )r¢   r|   rD   Úreversedr?   r¤   ÚgotorI   r   r   Úget_executed_param_namer4   rn   r   ro   rq   )rc   Úold_arguments_listr4   Úcalling_nameÚnamesÚexecuted_param_names         r!   ri   ÚTreeArguments.get_calling_nodesò   s  € ØÐØˆ	àÓ1Ü˜i¬×7Ñ7Øà×%Ñ% iÔ0Ü (¬¨i×.TÑ.TÓ.VÓ)WÖ X�Ø$×)Ñ)Ó+�Ü�u“: “?ÙÜ˜e A™hÔ(:×;Ñ;ð ’IÜ! %¨¡(¬I×6Ñ6ÙØ&+¨A¡h×&FÑ&FÓ&HÐ#Ø/×9Ñ9�	Ùñ !Yð Õ1ð& ×"Ñ"Ñ.Ü& y×'8Ñ'8¸)×:QÑ:QÓRÐSÐSØ×ÑÑ(Ü& y×'8Ñ'8¸)×:KÑ:KÓLÐMÐMØˆ	r+   )r   rn   ro   rq   r/   )r&   r'   r(   r)   r   rp   r€   Úclassmethodr   r…   rA   rŸ   r¤   r«   ri   r*   r%   r+   r!   r|   r|   §   sF   ‡ ØƒLôð Ù*Ó,ñ$ó -ó ð$ô%òN0ò9òJõr+   r|   c                   ó*   • \ rS rSrS rSS jrS rSrg)ÚValuesArgumentsi  c                 ó   • Xl         g r/   ©Ú_values_list)rc   Úvalues_lists     r!   r€   ÚValuesArguments.__init__  s   € Ø'Õr+   Nc              #   óP   #   • U R                    H  nS [        U5      4v •  M     g 7fr/   )r»   r
   )rc   rd   r—   s      r!   rA   ÚValuesArguments.unpack  s%   é € Ø×'Ô'ˆFØœ¨Ó/Ð/Ô/ò (ùs   ‚$&c                 óT   • SU R                   R                  < SU R                  < S3$ r§   )rª   r&   r»   rh   s    r!   r«   ÚValuesArguments.__repr__  s   � Ø!Ÿ^™^×4Ô4°d×6GÔ6GÐHÐHr+   rº   r/   )r&   r'   r(   r)   r€   rA   r«   r*   r%   r+   r!   r¸   r¸     s   † ò(ô0õIr+   r¸   c                   ó`   • \ rS rSrS r\S 5       r\S 5       r\S 5       rSS jr	S r
S	 rS
rg)ÚTreeArgumentsWrapperi  c                 ó   • Xl         g r/   ©Ú_wrapped_arguments)rc   r4   s     r!   r€   ÚTreeArgumentsWrapper.__init__  s   € Ø"+Õr+   c                 ó.   • U R                   R                  $ r/   )rÆ   ro   rh   s    r!   ro   ÚTreeArgumentsWrapper.context   ó   € à×&Ñ&×.Ñ.Ð.r+   c                 ó.   • U R                   R                  $ r/   )rÆ   rn   rh   s    r!   rn   Ú"TreeArgumentsWrapper.argument_node$  s   € à×&Ñ&×4Ñ4Ð4r+   c                 ó.   • U R                   R                  $ r/   )rÆ   rq   rh   s    r!   rq   ÚTreeArgumentsWrapper.trailer(  rÊ   r+   Nc                 ó   • [         er/   rb   )rc   r7   s     r!   rA   ÚTreeArgumentsWrapper.unpack,  rf   r+   c                 ó6   • U R                   R                  5       $ r/   )rÆ   ri   rh   s    r!   ri   Ú&TreeArgumentsWrapper.get_calling_nodes/  s   € Ø×&Ñ&×8Ñ8Ó:Ð:r+   c                 óT   • SU R                   R                  < SU R                  < S3$ r§   )rª   r&   rÆ   rh   s    r!   r«   ÚTreeArgumentsWrapper.__repr__2  s   � Ø!Ÿ^™^×4Ô4°d×6MÔ6MÐNÐNr+   rÅ   r/   )r&   r'   r(   r)   r€   Úpropertyro   rn   rq   rA   ri   r«   r*   r%   r+   r!   rÃ   rÃ     sS   † ò,ð ñ/ó ð/ð ñ5ó ð5ð ñ/ó ð/ô"ò;õOr+   rÃ   c              #   ó  #   • UR                  S5      (       d7  Ub4  SUR                  R                  < SU< 3n[        R                  " U SX$S9   UR
                  nU" 5        S h  v•N   g  N! [         a     g f = f7f)NÚ__iter__úTypeError: z,() argument after * must be a sequence, not ztype-error-star©Úmessage)Úpy__getattribute__rM   r3   r   Úaddr   r   )ro   ÚarrayÚ
input_noderd   ÚmÚiter_s         r!   rŽ   rŽ   6  su   é € Ø×#Ñ# J×/Ñ/ØÒð —<‘<×%Ô%¢uð.ˆAä�LŠL˜Ð"3°ZÒKðØ× Ñ ˆñ “7×Óøô ó Ùðüs6   ‚AA?ÁA/ Á
A?Á'A-Á(A?Á/
A<Á9A?Á;A<Á<A?c                 óV  • SSK Jn  [        X5      (       a  UR                  R                  S:X  a  0 $ [        U[
        R                  5      (       a   UR                  S:X  a  UR                  5       $ Ub4  SUR                  R                  < SU< 3n[        R                  " U SX%S9  0 $ )Nr   )ÚCompiledInstanceÚdictrØ   z* argument after ** must be a mapping, not ztype-error-star-starrÙ   )Újedi.inference.value.instancerâ   r¢   rM   Ústring_namer   ÚSequenceÚ
array_typeÚexact_key_itemsr3   r   rÜ   )ro   rÝ   rÞ   rd   râ   rß   s         r!   r�   r�   E  s‰   € Ý>Ü�%×*Ñ*¨u¯z©z×/EÑ/EÈÓ/Oð ˆ	Ü	�Eœ8×,Ñ,×	-Ñ	-°%×2BÑ2BÀfÓ2LØ×$Ñ$Ó&Ð&àÒà—<‘<×%Ô%¢uð.ˆAä�LŠL˜Ð"8¸*ÒPØˆ	r+   )r   r/   ),rW   Ú	itertoolsr   Útypingr   Úparso.pythonr   Újedir   Újedi.inference.utilsr   Újedi.inferencer   Újedi.inference.lazy_valuer	   r
   r   r   Újedi.inference.namesr   r   r   Újedi.inference.base_valuer   r   r   Újedi.inference.valuer   Újedi.inference.cacher   r   Ú	Exceptionr#   r<   r1   r@   r_   rl   rz   r|   r¸   rÃ   rŽ   r�   r%   r+   r!   Ú<module>rõ      s¬   ðÛ 	Ý !Ý å å Ý 1Ý #÷)ó )ç RÑ Rß MÑ MÝ )Ý Fô@ô"	�ô 	òò8$òN ÷,ñ ôÐ/ô òô2fÐ%ô fôR	IÐ'ô 	IôOÐ2ô Oô4ór+   