ó
    Ð]jîH  ã                   óž  • S r SSKJr  SSKJr  SSKJr  SSKJr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  SSKJr  \" 5       r\(       a  SSKJr   " S S\5      r " S S5      r " S S\5      rS$S jr  " S S\5      r! " S S\!5      r" " S S\!5      r# " S S\5      r$ " S S5      r%S  r& " S! S"5      r'\'" / 5      r(S# r)g)%a4  
Values are the "values" that Python would return. However Values are at the
same time also the "values" that a user is currently sitting in.

A ValueSet is typically used to specify the return of a function or any other
static analysis operation. In jedi there are always multiple returns and not
just one.
é    )Úreduce)Úadd)Úzip_longest)ÚTYPE_CHECKINGÚAny)ÚName)Údebug)Úclean_scope_docstring©ÚSimpleGetItemNotFound)Úsafe_property)Ú%inference_state_as_method_param_cache)Úmemoize_method)ÚInferenceStatec                   ó   • \ rS rSrSrg)ÚHasNoContexté   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    ÚV/home/mande/repo/quber/.venv/lib/python3.13/site-packages/jedi/inference/base_value.pyr   r      s   † Úr   r   c                   óè   • \ rS rSr% \\S'   S\S'   \\S'   \\S'   \\S'   \\S'   \\S	'   \\S
'   \\S'   S rS rS rS r	S r
SS jrS rSS jr  SS jrS rS rSS jrS rS r\S 5       rSrg) ÚHelperValueMixiné!   Úparent_contextr   Úinference_stateÚnameÚget_filtersÚis_stubÚpy__getattribute__alternativesÚ
py__iter__Ú	py__mro__Ú_as_contextc                 ó|   • U nUR                   c  UR                  5       $  UR                   c  U$ UR                   nM  ©N)r   Ú
as_context)ÚselfÚvalues     r   Úget_root_contextÚ!HelperValueMixin.get_root_context,   sF   € ØˆØ×ÑÑ'Ø×#Ñ#Ó%Ð%àØ×#Ñ#Ñ+Ø�Ø×(Ñ(ˆEñ r   c                 ó4   • U R                   R                  XS9$ )N)Ú	arguments©r    Úexecute©r+   r0   s     r   r2   ÚHelperValueMixin.execute6   s   € Ø×#Ñ#×+Ñ+¨DÐ+ÐFÐFr   c                 ó”   • SSK Jn  U" U Vs/ s H  n[        U/5      PM     sn5      nU R                  R	                  X5      $ s  snf )Nr   )ÚValuesArguments)Újedi.inference.argumentsr6   ÚValueSetr    r2   )r+   Ú
value_listr6   r,   r0   s        r   Úexecute_with_valuesÚ$HelperValueMixin.execute_with_values9   sB   € Ý<Ù#ÁJÓ$OÂJ¸5¤X¨u¨gÖ%6ÁJÑ$OÓPˆ	Ø×#Ñ#×+Ñ+¨DÓ<Ð<ùò %Ps   �Ac                 ó"   • U R                  5       $ r)   ©r:   )r+   Úcontexts     r   Úexecute_annotationÚ#HelperValueMixin.execute_annotation>   s   € Ø×'Ñ'Ó)Ð)r   c                 ó   • [        U /5      $ r)   ©r8   ©r+   s    r   Úgather_annotation_classesÚ*HelperValueMixin.gather_annotation_classesA   s   € Ü˜˜ÓÐr   Nc                 óX   • [         R                  S U R                  X5       5       5      $ )Nc              3   óB   #   • U  H  nUR                  5       v •  M     g 7fr)   ©Úinfer©Ú.0Ú
lazy_values     r   Ú	<genexpr>Ú:HelperValueMixin.merge_types_of_iterate.<locals>.<genexpr>E   s#   é € ð "
âI�
ð ×Ñ×ÐÚIùó   ‚©r8   Ú	from_setsÚiterate)r+   Úcontextualized_nodeÚis_asyncs      r   Úmerge_types_of_iterateÚ'HelperValueMixin.merge_types_of_iterateD   s,   € Ü×!Ñ!ñ "
à"Ÿl™lÐ+>ÔIó"
ó 
ð 	
r   c              #   ó  #   • [        U[        5      (       a  UOS nU R                  US9 S h  v•N   U R                  5       (       a8  SSKJn  U" [        U 15      5       H  nUR                  5        S h  v•N   M     g g  NR N7f)N)Úorigin_scoper   )Úconvert_values)Ú
isinstancer   r"   r#   Ú!jedi.inference.gradual.conversionrY   r8   )r+   Úname_or_strrX   rY   Úcs        r   Ú_get_value_filtersÚ#HelperValueMixin._get_value_filtersJ   sq   é € Ü&0°¼d×&CÑ&C‘{ÈˆØ×#Ñ#°Ð#Ð>×>Ð>à�<‰<�>‰>ÝHÙ#¤H¨d¨VÓ$4Ö5�ØŸ=™=›?×*Ò*ò 6ð ñ 	?ñ
 +ùs"   ‚,B®B¯ABÁ6BÁ7BÂBc                 ó†   • SSK Jn  U R                  U5      nUR                  XQ5      n[        R
                  " SXU5        U$ )Nr   )Úfinderzcontext.goto %s in (%s): %s)Újedi.inferencera   r^   Úfilter_namer	   Údbg)r+   r\   Úname_contextÚanalysis_errorsra   ÚfiltersÚnamess          r   ÚgotoÚHelperValueMixin.gotoS   s;   € Ý)Ø×)Ñ)¨+Ó6ˆØ×"Ñ" 7Ó8ˆÜ�	Š	Ð/°ÀEÔJØˆr   c                 ó”  • Uc  U nU R                  XU5      n[        R                  S U 5       5      nU(       d4  [        U[        5      (       a  UR
                  OUnU R                  U5      nU(       d;  U(       d4  U(       a-  [        U[        5      (       a  SSKJn  UR                  X U5        [        R                  " SXV5        U$ )zJ
:param position: Position of the last statement -> tuple of line, column
c              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr)   rH   )rK   r!   s     r   rM   Ú6HelperValueMixin.py__getattribute__.<locals>.<genexpr>b   s   é € Ð#CºU°T§J¡J§L LºUùó   ‚r   ©Úanalysisz context.names_to_types: %s -> %s)ri   r8   rQ   rZ   r   r,   r$   rb   rp   Úadd_attribute_errorr	   rd   )	r+   r\   re   Úpositionrf   rh   ÚvaluesÚnrp   s	            r   Úpy__getattribute__Ú#HelperValueMixin.py__getattribute__Z   sŸ   € ð
 ÑØˆLØ—	‘	˜+°_ÓEˆÜ×#Ñ#Ñ#C¹UÓ#CÓCˆÞÜ%/°¼T×%BÑ%B�×!Ò!ÈˆAØ×8Ñ8¸Ó;ˆFæžV®Ü˜+¤t×,Ñ,Ý3Ø×,Ñ,Ø ¨ô5ä�	Š	Ð4°eÔDØˆr   c                 ó€   • U R                  S5      nU(       d  [        R                  " SU 5        UR                  5       $ )NÚ	__await__z"Tried to run __await__ on value %s)ru   r	   Úwarningr:   )r+   Úawait_value_sets     r   Úpy__await__ÚHelperValueMixin.py__await__o   s3   € Ø×1Ñ1°+Ó>ˆÞÜ�MŠMÐ>ÀÔEØ×2Ñ2Ó4Ð4r   c                 ó.   • U R                   R                  $ r)   )r!   Ústring_namerC   s    r   Ú
py__name__ÚHelperValueMixin.py__name__u   s   € Ø�y‰y×$Ñ$Ð$r   c                 óZ  • [         R                  " SU 5        U(       a}  SSKJn  [	        U" U R                  S5      R                  5       R                  S5      R                  5       R                  S5      R                  5       R                  5       5      /5      $ U R                  U5      $ )Nz
iterate %sr   )ÚLazyKnownValuesÚ	__aiter__Ú	__anext__rx   )	r	   rd   Újedi.inference.lazy_valuer‚   Úiterru   r:   Úpy__stop_iteration_returnsr%   )r+   rS   rT   r‚   s       r   rR   ÚHelperValueMixin.iteratex   sŒ   € Ü�	Š	�, Ô%ÞÝAô ÙØ×+Ñ+¨KÓ8×LÑLÓNß+Ñ+¨KÓ8×9LÑ9LÓ9Nß+Ñ+¨KÓ8×9LÑ9LÓ9Nß3Ñ3Ó5ó	ðó ð ð �‰Ð2Ó3Ð3r   c                 ó6  • [         R                  " SU < SU< 3SS9   U R                  5        H8  nUR                  U5      (       d  M  [         R                  " SSS9    S S S 5        g   [         R                  " SSS9   S S S 5        g! , (       d  f       g = f)	Nzsubclass matching of z <=> ÚBLUE)Úcolorzmatched subclass TrueTzmatched subclass FalseF)r	   Úincrease_indent_cmr&   Úis_same_classrd   )r+   Úclass_valueÚclss      r   Úis_sub_class_ofÚ HelperValueMixin.is_sub_class_ofˆ   s{   € Ü×%Ó%Ë$ÒP[Ð&\Ø,2ó4à—~‘~Ö'�Ø×$Ñ$ [×1Ó1Ü—I’IÐ5¸VÒDØ÷4ð 4á'ô �IŠIÐ.°fÒ=Ø÷4÷ 4ö 4ús   ž(B
Á
B
Á)B
Â

Bc                 óz   • [        U5      R                  [        R                  :w  a  UR                  U 5      $ X:H  $ r)   )Útyper�   r   )r+   Úclass2s     r   r�   ÚHelperValueMixin.is_same_class’   s4   € ä�‹<×%Ñ%Ô)9×)GÑ)GÓGØ×'Ñ'¨Ó-Ð-Ø‰~Ðr   c                 ó&   • U R                   " U0 UD6$ r)   )r'   ©r+   ÚargsÚkwargss      r   r*   ÚHelperValueMixin.as_context˜   s   € à×Ò Ð0¨Ñ0Ð0r   r   ©NF)NT)NNT)r   r   r   r   r   Ú__annotations__r-   r2   r:   r?   rD   rU   r^   ri   ru   r{   r   rR   r�   r�   r   r*   r   r   r   r   r   r   !   s™   ‡ ØÓØ%Ó%Ø
ƒIØÓØƒLØ$'Ó'ØƒOØƒNØÓò)òGò=ò
*ò ô
ò+ôð KOØ+/ôò*5ò%ô4ò òð ñ1ó ó1r   r   c                   óø   • \ rS rSrSrSrSrSrS$S jrS r	S r
S$S jrS$S	 jrS
 rS rS rS rS rS rS rS rS rS rS rS r\4S jrS rS rS rS rS rS r S r!S r"S r#\$S  5       r%S%S! jr&S" r'S#r(g)&ÚValueé�   z"
To be implemented by subclasses.
NÚnot_defined_please_report_bugc                 ó   • Xl         X l        g r)   ©r    r   )r+   r    r   s      r   Ú__init__ÚValue.__init__§   s   € Ø.ÔØ,Õr   c                 ól   • SSK Jn  UR                  UR                  SUR                  SU -  S9  [
        $ )Nr   ro   ztype-error-not-subscriptablez+TypeError: '%s' object is not subscriptable©Úmessage)rb   rp   r   r>   ÚnodeÚ	NO_VALUES)r+   Úindex_value_setrS   rp   s       r   Úpy__getitem__ÚValue.py__getitem__«   s;   € Ý+à�‰Ø×'Ñ'Ø*Ø×$Ñ$ØAÀDÑHð	 	ñ 	
ô Ðr   c                 ó   • [         er)   r   )r+   Úindexs     r   Úpy__simple_getitem__ÚValue.py__simple_getitem__¶   s   € Ü#Ð#r   c                 ó|   • Ub/  SSK Jn  UR                  UR                  SUR                  SU -  S9  [        / 5      $ )Nr   ro   ztype-error-not-iterablez&TypeError: '%s' object is not iterabler¦   )rb   rp   r   r>   r¨   r†   )r+   rS   rp   s      r   r%   ÚValue.py__iter__¹   sE   € ØÑ*Ý/Ø�L‰LØ#×+Ñ+Ø)Ø#×(Ñ(Ø@À4ÑGð	 ñ Iô
 �B‹xˆr   c                 ó$   • U R                  U5      $ r)   )r%   )r+   rS   s     r   Ú
py__next__ÚValue.py__next__Ã   s   € Ø�‰Ð2Ó3Ð3r   c                 ó   • / $ r)   r   rC   s    r   Úget_signaturesÚValue.get_signaturesÆ   s   € Øˆ	r   c                 ó   • gr›   r   rC   s    r   Úis_classÚValue.is_classÉ   ó   € Ør   c                 ó   • gr›   r   rC   s    r   Úis_class_mixinÚValue.is_class_mixinÌ   r¼   r   c                 ó   • gr›   r   rC   s    r   Úis_instanceÚValue.is_instanceÏ   r¼   r   c                 ó   • gr›   r   rC   s    r   Úis_functionÚValue.is_functionÒ   r¼   r   c                 ó   • gr›   r   rC   s    r   Ú	is_moduleÚValue.is_moduleÕ   r¼   r   c                 ó   • gr›   r   rC   s    r   Úis_namespaceÚValue.is_namespaceØ   r¼   r   c                 ó   • gr›   r   rC   s    r   Úis_compiledÚValue.is_compiledÛ   r¼   r   c                 ó   • gr›   r   rC   s    r   Úis_bound_methodÚValue.is_bound_methodÞ   r¼   r   c                 ó   • gr›   r   rC   s    r   Úis_builtins_moduleÚValue.is_builtins_moduleá   r¼   r   c                 ó   • g)zj
Since Wrapper is a super class for classes, functions and modules,
the return value will always be true.
Tr   rC   s    r   Ú
py__bool__ÚValue.py__bool__ä   s   € ð
 r   c                 óz   •  U R                   R                    [        U R                   5      $ ! [         a     gf = f)NÚ )Ú	tree_nodeÚget_doc_noder
   ÚAttributeErrorrC   s    r   Ú	py__doc__ÚValue.py__doc__ë   s9   € ð	9Ø�N‰N×'Ò'ô )¨¯©Ó8Ð8øô ó 	Ùð	ús   ‚- ­
:¹:c                 ó4   • U[         L a  [        SU -  5      eU$ )Nz'There exists no safe value for value %s)ÚsentinelÚ
ValueError)r+   Údefaults     r   Úget_safe_valueÚValue.get_safe_valueó   s    € Ø”hÒÜÐFÈÑMÓNÐNØˆr   c                 ó>   • [         R                  " SX U5        [        $ )Nz!%s not possible between %s and %s©r	   ry   r©   )r+   ÚotherÚoperators      r   Úexecute_operationÚValue.execute_operationø   s   € Ü�ŠÐ9¸8È5ÔQÜÐr   c                 ó<   • [         R                  " SU 5        [        $ )Nzno execution possible %sræ   r3   s     r   Ú
py__call__ÚValue.py__call__ü   s   € Ü�ŠÐ0°$Ô7ÜÐr   c                 ó<   • [         R                  " SU 5        [        $ )Nz0Not possible to return the stop iterations of %sræ   rC   s    r   r‡   Ú Value.py__stop_iteration_returns   s   € Ü�ŠÐHÈ$ÔOÜÐr   c                 ó   • [         $ )z8
For now a way to add values in cases like __getattr__.
)r©   )r+   r\   s     r   r$   Ú$Value.py__getattribute__alternatives  s
   € ô Ðr   c                 óH   • [         R                  " SU 5        [        U /5      $ )NzNo __get__ defined on %s)r	   ry   r8   )r+   ÚinstancerŽ   s      r   Ú	py__get__ÚValue.py__get__
  s   € Ü�ŠÐ0°$Ô7Ü˜˜ÓÐr   c                 ó   • [         $ r)   )ÚNotImplemented)r+   Úcalling_instanceró   rŽ   s       r   Úpy__get__on_classÚValue.py__get__on_class  s   € ÜÐr   c                 ó   • g r)   r   rC   s    r   Úget_qualified_namesÚValue.get_qualified_names  s   € àr   c                 ó6   • U R                   R                  5       $ r)   )r   r#   rC   s    r   r#   ÚValue.is_stub  s   € à×"Ñ"×*Ñ*Ó,Ð,r   c                 ó   • [         er)   )r   rC   s    r   r'   ÚValue._as_context  s   € ÜÐr   c                 ó   • [         er)   ©ÚNotImplementedErrorrC   s    r   r!   Ú
Value.name  s   € ä!Ð!r   c                 ó   • g r)   r   )r+   Úadd_class_infos     r   Úget_type_hintÚValue.get_type_hint   s   € Ør   c                 ó   • 0 $ )aÖ  
When the current instance represents a type annotation, this method
tries to find information about undefined type vars and returns a dict
from type var name to value set.

This is for example important to understand what `iter([1])` returns.
According to typeshed, `iter` returns an `Iterator[_T]`:

    def iter(iterable: Iterable[_T]) -> Iterator[_T]: ...

This functions would generate `int` for `_T` in this case, because it
unpacks the `Iterable`.

Parameters
----------

`self`: represents the annotation of the current parameter to infer the
    value for. In the above example, this would initially be the
    `Iterable[_T]` of the `iterable` parameter and then, when recursing,
    just the `_T` generic parameter.

`value_set`: represents the actual argument passed to the parameter
    we're inferred for, or (for recursive calls) their types. In the
    above example this would first be the representation of the list
    `[1]` and then, when recursing, just of `1`.
r   )r+   Ú	value_sets     r   Úinfer_type_varsÚValue.infer_type_vars#  s	   € ð6 ˆ	r   r¢   r)   ©T))r   r   r   r   Ú__doc__rÚ   Ú
array_typeÚapi_typer£   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#   r'   Úpropertyr!   r  r  r   r   r   r   rž   rž   �   sÄ   † ñð €Ið €JØ.€Hô-ò	ò$ôô4òòòòòòòòòòòò9ð &.ô ò
òòòò òòò-òð ñ"ó ð"ôõr   rž   Nc                 óT   • [         R                  S U R                  XS9 5       5      $ )zw
Calls `iterate`, on all values but ignores the ordering and just returns
all values that the iterate functions yield.
c              3   óB   #   • U  H  nUR                  5       v •  M     g 7fr)   rH   rJ   s     r   rM   Ú!iterate_values.<locals>.<genexpr>F  s#   é € ð âPˆJð 	×Ñ×ÐÚPùrO   ©rT   rP   )rs   rS   rT   s      r   Úiterate_valuesr  A  s0   € ô
 ×Ññ à Ÿ.™.Ð)<˜.ÑPóó ð r   c                   óN   • \ rS rSr\S 5       r\\" 5       S 5       5       rS r	Sr
g)Ú_ValueWrapperBaseiL  c                 ó¨   • SSK Jn  U R                  R                  nUR                  b  U" XR                  5      $ SSKJn  U" XR                  5      $ )Nr   )Ú	ValueName)ÚCompiledValueName)Újedi.inference.namesr  Ú_wrapped_valuer!   Ú	tree_nameÚjedi.inference.compiledr  r~   )r+   r  Úwrapped_namer  s       r   r!   Ú_ValueWrapperBase.nameM  sG   € å2Ø×*Ñ*×/Ñ/ˆØ×!Ñ!Ñ-Ù˜T×#9Ñ#9Ó:Ð:åAÙ$ T×+CÑ+CÓDÐDr   c                 ó   • U " U0 UD6$ r)   r   )r�   r    r˜   r™   s       r   Úcreate_cachedÚ_ValueWrapperBase.create_cachedW  s   € ñ �DÐ#˜FÑ#Ð#r   c                 óH   • US:w  d   S5       e[        U R                  U5      $ )Nr  zProblem with _get_wrapped_value)Úgetattrr  )r+   r!   s     r   Ú__getattr__Ú_ValueWrapperBase.__getattr__\  s*   € ØÐ'Ó'ÐJÐ)JÓJÐ'Ü�t×*Ñ*¨DÓ1Ð1r   r   N)r   r   r   r   r   r!   Úclassmethodr   r$  r(  r   r   r   r   r  r  L  s:   † ØñEó ðEð Ù*Ó,ñ$ó -ó ð$õ2r   r  c                   ób   • \ rS rSr\(       a  \S\4S j5       rO\\	S 5       5       rS r
S rSrg)	ÚLazyValueWrapperia  Úreturnc                 ó   • g r)   r   rC   s    r   r  ÚLazyValueWrapper._wrapped_valuec  s   € àr   c                 ó„   • [         R                  " S5         U R                  5       sS S S 5        $ ! , (       d  f       g = f)NzResolve lazy value wrapper)r	   rŒ   Ú_get_wrapped_valuerC   s    r   r  r/  g  s,   € ô ×)Ò)Ð*FÕGØ×.Ñ.Ó0÷ H×G×Gús   —1±
?c                 ó4   • SU R                   R                  -  $ )Nz<%s>)Ú	__class__r   rC   s    r   Ú__repr__ÚLazyValueWrapper.__repr__m  s   € Ø˜Ÿ™×0Ñ0Ñ1Ð1r   c                 ó   • [         er)   r  rC   s    r   r1  Ú#LazyValueWrapper._get_wrapped_valuep  s   € Ü!Ð!r   r   N)r   r   r   r   r   r  r   r  r   r   r4  r1  r   r   r   r   r,  r,  a  sD   † ÞØ	ð	 Có 	ó 
ñ	ð 
Ø	ñ	1ó 
ó 
ð	1ò2õ"r   r,  c                   ó    • \ rS rSrS rS rSrg)ÚValueWrapperit  c                 ó   • Xl         g r)   ©r  )r+   Úwrapped_values     r   r£   ÚValueWrapper.__init__u  s   € Ø+Õr   c                 óR   • U R                   R                  < SU R                  < S3$ )NÚ(Ú))r3  r   r  rC   s    r   r4  ÚValueWrapper.__repr__x  s   € ØŸ>™>×2Ô2°D×4GÔ4GÐHÐHr   r;  N)r   r   r   r   r£   r4  r   r   r   r   r9  r9  t  s   † ò,õIr   r9  c                   ó.   ^ • \ rS rSrU 4S jrS rSrU =r$ )Ú	TreeValuei|  c                 ó0   >• [         TU ]  X5        X0l        g r)   )Úsuperr£   rÚ   )r+   r    r   rÚ   r3  s       €r   r£   ÚTreeValue.__init__}  s   ø€ Ü‰Ñ˜Ô9Ø"�r   c                 óT   • SU R                   R                  < SU R                  < S3$ )NÚ<ú: Ú>)r3  r   rÚ   rC   s    r   r4  ÚTreeValue.__repr__�  s   � Ø!Ÿ^™^×4Ô4°d·n´nÐEÐEr   )rÚ   )r   r   r   r   r£   r4  r   Ú__classcell__)r3  s   @r   rC  rC  |  s   ø† õ#÷Fð Fr   rC  c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚContextualizedNodei…  c                 ó   • Xl         X l        g r)   ©r>   r¨   )r+   r>   r¨   s      r   r£   ÚContextualizedNode.__init__†  s   € ØŒØ�	r   c                 ó6   • U R                   R                  5       $ r)   )r>   r-   rC   s    r   r-   Ú#ContextualizedNode.get_root_contextŠ  s   € Ø�|‰|×,Ñ,Ó.Ð.r   c                 óL   • U R                   R                  U R                  5      $ r)   )r>   Ú
infer_noder¨   rC   s    r   rI   ÚContextualizedNode.infer�  s   € Ø�|‰|×&Ñ& t§y¡yÓ1Ð1r   c                 óp   • SU R                   R                  < SU R                  < SU R                  < S3$ )NrH  rI  z in rJ  )r3  r   r¨   r>   rC   s    r   r4  ÚContextualizedNode.__repr__�  s!   � Ø#'§>¡>×#:Ô#:¸D¿I¼IÀtÇ|Ä|ÐTÐTr   rP  N)	r   r   r   r   r£   r-   rI   r4  r   r   r   r   rN  rN  …  s   † òò/ò2õUr   rN  c                 ó˜  • [         n[        5       nU Ha  nUR                  S S9n[        U5      [        [
        [        [        [        4;   a   X0R                  U5      -  nMP  UR                  U5        Mc     U(       d  U(       d  X0R                  [        U5      U5      -  n[        R                  " SU5        U$ ! [         a     Nef = f)N)râ   zpy__getitem__ result: %s)r©   Úsetrã   r“   ÚfloatÚintÚstrÚsliceÚbytesr¯   r   r   r«   r8   r	   rd   )r,   Úindex_valuesrS   ÚresultÚunused_valuesÚindex_valuer®   s          r   Ú_getitemrd  ”  s¾   € ä€FÜ“E€MÛ#ˆØ×*Ñ*°4Ð*Ð8ˆÜ�‹;œ5¤#¤s¬E´5Ð9Ó9ðØ×4Ñ4°UÓ;Ñ;�Ùð 	×Ñ˜+Ö&ñ $ö žLØ×%Ñ%Ü�]Ó#Øó
ñ 	
ˆô 
‡I‚IÐ(¨&Ô1Ø€Møô )ó Ùðús   ÁB<Â<
C	ÃC	c                   óÌ   • \ rS rSrS r\S 5       r\S 5       rS rS r	S r
S rS	 rS
 rS rS rS rS rS rS rSS jrS rS rS rS rS rS rS rS rSS jrS rSrg) r8   i¯  c                 ód   • [        U5      U l        U H  n[        U[        5      (       d  M   e   g r)   )Ú	frozensetÚ_setrZ   r8   )r+   Úiterabler,   s      r   r£   ÚValueSet.__init__°  s+   € Ü˜hÓ'ˆŒ	ÛˆEÜ! %¬×2Ó2Ð2Ð2ò r   c                 ó4   • U R                  U 5      nXl        U$ r)   )Ú__new__rh  )r�   Ú
frozenset_r+   s      r   Ú_from_frozen_setÚValueSet._from_frozen_setµ  s   € à�{‰{˜3ÓˆØŒ	Øˆr   c                 óÂ   • [        5       nU H6  n[        U[        5      (       a  X#R                  -  nM(  U[	        U5      -  nM8     U R                  [	        U5      5      $ )z'
Used to work with an iterable of set.
)rZ  rZ   r8   rh  rg  rn  )r�   ÚsetsÚ
aggregatedÚset_s       r   rQ   ÚValueSet.from_sets»  sT   € ô
 “Uˆ
ÛˆDÜ˜$¤×)Ñ)ØŸi™iÑ'’
àœi¨›oÑ-’
ñ	 ð
 ×#Ñ#¤I¨jÓ$9Ó:Ð:r   c                 óR   • U R                  U R                  UR                  -  5      $ r)   ©rn  rh  ©r+   rç   s     r   Ú__or__ÚValueSet.__or__È  ó    € Ø×$Ñ$ T§Y¡Y°·±Ñ%;Ó<Ð<r   c                 óR   • U R                  U R                  UR                  -  5      $ r)   rv  rw  s     r   Ú__and__ÚValueSet.__and__Ë  rz  r   c                 ó,   • [        U R                  5      $ r)   )r†   rh  rC   s    r   Ú__iter__ÚValueSet.__iter__Î  ó   € Ü�D—I‘I‹Ðr   c                 ó,   • [        U R                  5      $ r)   )Úboolrh  rC   s    r   Ú__bool__ÚValueSet.__bool__Ñ  r�  r   c                 ó,   • [        U R                  5      $ r)   )Úlenrh  rC   s    r   Ú__len__ÚValueSet.__len__Ô  s   € Ü�4—9‘9‹~Ðr   c                 óL   • SSR                  S U R                   5       5      -  $ )NzS{%s}ú, c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr)   )r]  )rK   Úss     r   rM   Ú$ValueSet.__repr__.<locals>.<genexpr>Ø  s   é € Ð#>²I¨q¤C¨§F F²Iùs   ‚)Újoinrh  rC   s    r   r4  ÚValueSet.__repr__×  s    € Ø˜$Ÿ)™)Ñ#>°D·I²IÓ#>Ó>Ñ?Ð?r   c                 óJ   • U R                  [        XR                  5      5      $ r)   )r3  Úfilterrh  )r+   Úfilter_funcs     r   r’  ÚValueSet.filterÚ  s   € Ø�~‰~œf [·)±)Ó<Ó=Ð=r   c                 ó   ^ ^• UU 4S jnU$ )Nc                  óV   >^ ^• TR                  U UU4S jTR                   5       5      $ )Nc              3   óH   >#   • U  H  n[        UT5      " T0 TD6v •  M     g 7fr)   )r'  )rK   r,   r˜   r™   r!   s     €€€r   rM   Ú7ValueSet.__getattr__.<locals>.mapper.<locals>.<genexpr>ß  s)   øé € ð "â&�Eô ˜˜tÔ$ dÐ5¨fÖ5Ú&ùs   ƒ")rQ   rh  )r˜   r™   r!   r+   s   ``€€r   ÚmapperÚ$ValueSet.__getattr__.<locals>.mapperÞ  s%   ú€ Ø—>‘>ö "à!ŸYšYó"ó ð r   r   )r+   r!   r™  s   `` r   r(  ÚValueSet.__getattr__Ý  s   ù€ ö	ð
 ˆr   c                 ó4   • U R                   UR                   :H  $ r)   ©rh  rw  s     r   Ú__eq__ÚValueSet.__eq__å  s   € Ø�y‰y˜EŸJ™JÑ&Ð&r   c                 ó.   • U R                  U5      (       + $ r)   )rž  rw  s     r   Ú__ne__ÚValueSet.__ne__è  s   € Ø—;‘;˜uÓ%Ô%Ð%r   c                 ó,   • [        U R                  5      $ r)   )Úhashrh  rC   s    r   Ú__hash__ÚValueSet.__hash__ë  r�  r   c                 ó:   • [        S U R                   5       5      $ )Nc              3   ó@   #   • U  H  oR                  5       v •  M     g 7fr)   )Úpy__class__)rK   r]   s     r   rM   Ú'ValueSet.py__class__.<locals>.<genexpr>ï  s   é € Ð;²¨AŸ™Ÿ˜²ùrn   )r8   rh  rC   s    r   r©  ÚValueSet.py__class__î  s   € ÜÑ;°·²Ó;Ó;Ð;r   Nc              #   óØ   #   • SSK Jn  U R                   Vs/ s H  oDR                  XS9PM     nn[	        U6  H"  nU" U Vs/ s H	  owc  M  UPM     sn5      v •  M$     g s  snf s  snf 7f)Nr   )Úget_merged_lazy_valuer  )r…   r­  rh  rR   r   )r+   rS   rT   r­  r]   Ú
type_itersÚlazy_valuesÚls           r   rR   ÚValueSet.iterateñ  sg   é € ÝCØQU×QZÒQZÓ[ÒQZÈA—i‘iÐ 3�iÓGÑQZˆ
Ð[Ü&¨
Ó3ˆKÙ'Ù'Ó9šK�q—™KÑ9óô ò 4ùò \ùò :ùs!   ‚A*—A ¯A*ÁA%
ÁA%
ÁA*c                 óV   ^• [         R                  U4S jU R                   5       5      $ )Nc              3   óZ   >#   • U  H   oR                   R                  UT5      v •  M"     g 7fr)   r1   )rK   r]   r0   s     €r   rM   Ú#ValueSet.execute.<locals>.<genexpr>ú  s'   øé € Ð!]ÒS\Èa×"3Ñ"3×";Ñ";¸A¸y×"IÐ"IÒS\ùs   ƒ(+©r8   rQ   rh  r3   s    `r   r2   ÚValueSet.executeù  s!   ø€ Ü×!Ñ!Ô!]ÐSW×S\ÒS\Ó!]Ó]Ð]r   c                 óZ   ^^• [         R                  UU4S jU R                   5       5      $ )Nc              3   óF   >#   • U  H  oR                   " T0 TD6v •  M     g 7fr)   r=   ©rK   r]   r˜   r™   s     €€r   rM   Ú/ValueSet.execute_with_values.<locals>.<genexpr>ý  s!   øé € Ð!\ÒR[ÈQ×"7Ò"7¸Ð"HÀÖ"HÒR[ùó   ƒ!rµ  r—   s    ``r   r:   ÚValueSet.execute_with_valuesü  s!   ù€ Ü×!Ñ!Õ!\ÐRV×R[ÒR[Ó!\Ó\Ð\r   c                 ó‚   • [        [        U R                   Vs/ s H  o3R                  " U0 UD6PM     sn/ 5      $ s  snf r)   )r   r   rh  ri   )r+   r˜   r™   r]   s       r   ri   ÚValueSet.gotoÿ  s3   € Ü”c¸T¿YºYÓGºY¸ŸFšF DÐ3¨FÔ3¹YÑGÈÓLÐLùÒGs   ™<
c                 óZ   ^^• [         R                  UU4S jU R                   5       5      $ )Nc              3   óF   >#   • U  H  oR                   " T0 TD6v •  M     g 7fr)   )ru   r¹  s     €€r   rM   Ú.ValueSet.py__getattribute__.<locals>.<genexpr>  s!   øé € Ð![ÒQZÈA×"6Ò"6¸Ð"GÀÖ"GÒQZùr»  rµ  r—   s    ``r   ru   ÚValueSet.py__getattribute__  s!   ù€ Ü×!Ñ!Õ![ÐQU×QZÒQZÓ![Ó[Ð[r   c                 óZ   ^^• [         R                  UU4S jU R                   5       5      $ )Nc              3   óB   >#   • U  H  n[        U/TQ70 TD6v •  M     g 7fr)   )rd  r¹  s     €€r   rM   Ú$ValueSet.get_item.<locals>.<genexpr>  s    øé € Ð!RÊ	À1¤(¨1Ð">¨tÒ">°vÖ">Ê	ùs   ƒrµ  r—   s    ``r   Úget_itemÚValueSet.get_item  s   ù€ Ü×!Ñ!Õ!RÈÏ	Ê	Ó!RÓRÐRr   c                 óŽ   • [        / 5      nU R                   H  n [        X15      nX$" 5       -  nM     U$ ! [         a     M+  f = fr)   )r8   rh  r'  rÜ   )r+   Úfunction_namer  r]   Úmethods        r   Ú	try_mergeÚValueSet.try_merge  sR   € Ü˜R“Lˆ	Ø—”ˆAð&Ü  Ó2�ð ˜V›XÑ%’	ñ ð Ðøô	 "ó Úðús   œ6¶
AÁAc                 ó†   • [         R                  U R                   Vs/ s H  oR                  5       PM     sn5      $ s  snf r)   )r8   rQ   rh  rD   )r+   r]   s     r   rD   Ú"ValueSet.gather_annotation_classes  s0   € Ü×!Ñ!È$Ï)Ê)Ó"TÊ)ÀQ×#>Ñ#>Ö#@É)Ñ"TÓUÐUùÒ"Ts   ž>c                 óx   • U R                    VVs/ s H  oR                  5         H  o"PM     M     snn$ s  snnf r)   )rh  r·   )r+   r]   Úsigs      r   r·   ÚValueSet.get_signatures  s.   € Ø!ŸYšYÔEšY˜×2BÑ2B×2D¨3’Ñ2D‘™YÒEÐEùÓEs   �"6c                 óv  • U R                    Vs/ s H  o"R                  US9PM     nn[        [        S U5      5      n[	        U5      S:X  a  US   $ SU;   nU(       a  UR                  S5        [	        U5      S:X  a  g [	        U5      S:X  a  US   nOSSR                  U5      -  nU(       a  SU-  nU$ s  snf )N)r  é   r   ÚNonez	Union[%s]r‹  zOptional[%s])rh  r  Úsortedr’  r‡  Úremover�  )r+   r  ÚvÚtÚ
type_hintsÚoptionalr�  s          r   r  ÚValueSet.get_type_hint  s³   € ØEIÇYÂYÓOÂYÀ�_‰_¨Nˆ_Ó;ÁYˆÐOÜœF 4¨›OÓ,ˆ
Üˆz‹?˜aÓØ˜a‘=Ð à˜ZÑ'ˆÞØ×Ñ˜fÔ%äˆz‹?˜aÓØÜ�‹_ Ó!Ø˜1‘‰Aà˜dŸi™i¨
Ó3Ñ3ˆAÞØ Ñ"ˆAØˆùò# Ps   �B6c                 ól   • SSK Jn  0 nU R                   H  nU" UUR                  U5      5        M     U$ )Nr   )Úmerge_type_var_dicts)Ú!jedi.inference.gradual.annotationrÝ  rh  r  )r+   r  rÝ  Útype_var_dictr,   s        r   r  ÚValueSet.infer_type_vars-  s9   € åJàˆØ—Y”YˆEÙ ØØ×%Ñ% iÓ0öñ ð
 Ðr   r�  r›   r  ) r   r   r   r   r£   r*  rn  rQ   rx  r|  r  r„  rˆ  r4  r’  r(  rž  r¡  r¥  r©  rR   r2   r:   ri   ru   rÆ  rË  rD   r·   r  r  r   r   r   r   r8   r8   ¯  sª   † ò3ð
 ñó ðð
 ñ
;ó ð
;ò=ò=òòòò@ò>òò'ò&òò<ôò^ò]òMò\òSò	òVòFôõ(
r   r8   c                 ó   ^ • U 4S jnU$ )Nc                  ó&   >• [        T" U 0 UD65      $ r)   rB   )r˜   r™   Úfuncs     €r   ÚwrapperÚ&iterator_to_value_set.<locals>.wrapper>  s   ø€ Ü™˜dÐ- fÑ-Ó.Ð.r   r   )rã  rä  s   ` r   Úiterator_to_value_setræ  =  s   ø€ õ/ð €Nr   r›   )*r  Ú	functoolsr   rè   r   Ú	itertoolsr   Útypingr   r   Úparso.python.treer   Újedir	   Újedi.parser_utilsr
   Újedi.inference.helpersr   Újedi.inference.utilsr   Újedi.inference.cacher   Ú
jedi.cacher   Úobjectrà   rb   r   Ú	Exceptionr   r   rž   r  r  r,  r9  rC  rN  rd  r8   r©   ræ  r   r   r   Ú<module>ró     sÍ   ðñõ Ý Ý !ß %å "å Ý 3Ý 8Ý .Ý FÝ %á‹8€æÝ-ô	�9ô 	÷y1ñ y1ôxaÐô aôHô2Ð(ô 2ô*"Ð(ô "ô&IÐ$ô IôF�ô F÷Uñ Uò÷6Hñ HñV �R‹L€	ór   