§
    ŒŸj’S  ã                   óD  — d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZ ddlmZmZmZ ddlmZmZmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z%m&Z&  G d„ d¦  «        Z' G d„ de¦  «        Z( G d„ de(¦  «        Z) G d„ de¦  «        Z* G d„ dee¦  «        Z+ G d„ dee¦  «        Z, G d„ d ee¦  «        Z- G d!„ d"e¦  «        Z. G d#„ d$e¦  «        Z/d%d&d'd(d&d)œZ0d*„ Z1d+„ Z2d,„ Z3d-„ Z4e3 e¦   «         d.„ ¦   «         ¦   «         Z5dS )/z$
Imitate the parser representation.
é    N)Úpartial)Ú	Parameter)ÚPath)ÚOptional)Údebug)Úto_list)Úmemoize_method)ÚAbstractFilter)ÚAbstractNameDefinitionÚValueNameMixinÚParamNameInterface)ÚValueÚValueSetÚ	NO_VALUES)ÚLazyKnownValue)Ú	_sentinel)Úinference_state_function_cache)Úreraise_getitem_errors)ÚBuiltinSignature)ÚCompiledContextÚCompiledModuleContextc                   ó&   — e Zd ZdZdd„Zd„ Zd„ ZdS )ÚCheckAttributezARaises :exc:`AttributeError` if the attribute X is not available.Nc                 ó   — || _         d S ©N)Ú
check_name)Úselfr   s     új/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/jedi/inference/compiled/value.pyÚ__init__zCheckAttribute.__init__   s   € à$ˆŒˆˆó    c                 óJ   — || _         | j        €|j        dd …         | _        | S )Né   )Úfuncr   Ú__name__)r   r#   s     r   Ú__call__zCheckAttribute.__call__   s(   € ØˆŒ	ØŒ?Ð"Ø"œm¨A¨B¨BÔ/ˆDŒOØˆr    c                 ór   — |€| S |j                              | j        ¦  «         t          | j        |¦  «        S r   )Úaccess_handleÚgetattr_pathsr   r   r#   )r   ÚinstanceÚowners      r   Ú__get__zCheckAttribute.__get__%   s:   € ØÐØˆKð 	Ô×,Ò,¨T¬_Ñ=Ô=Ð=Ý�t”y (Ñ+Ô+Ð+r    r   )r$   Ú
__module__Ú__qualname__Ú__doc__r   r%   r+   © r    r   r   r      sL   € € € € € ØKÐKð%ð %ð %ð %ðð ð ð,ð ,ð ,ð ,ð ,r    r   c                   óÐ  ‡ — e Zd Zd(ˆ fd„	Zˆ fd„Z e¦   «         d„ ¦   «         Z e¦   «         d„ ¦   «         Z e¦   «         d„ ¦   «         Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Zd)d„Zed„ ¦   «         Zˆ fd„Zˆ fd„Zd(ˆ fd„	Zd„ Zed„ ¦   «         Z d„ Z!e"fd„Z#d„ Z$ˆ fd „Z%d!„ Z&d"„ Z'd#„ Z(ed$„ ¦   «         Z)d%„ Z*d*d'„Z+ˆ xZ,S )+ÚCompiledValueNc                 óZ   •— t          ¦   «                              ||¦  «         || _        d S r   )Úsuperr   r'   )r   Úinference_stater'   Úparent_contextÚ	__class__s       €r   r   zCompiledValue.__init__/   s+   ø€ Ý‰Œ×Ò˜¨.Ñ9Ô9Ð9Ø*ˆÔÐÐr    c                 óú  •— | j                              ¦   «         }|�-t          | j        |¦  «                             |j        ¦  «        S 	 | j                              d¦  «         | j                              ¦   «         r,ddlm	} t           || j        | j        | |¦  «        g¦  «        S t          |                      |¦  «        ¦  «        S # t          $ r$ t          ¦   «                              |¦  «        cY S w xY w)Nr%   r   )ÚCompiledInstance)r'   Úget_return_annotationÚcreate_from_access_pathr4   Úexecute_annotationÚcontextr(   Úis_classÚjedi.inference.valuer8   r   r5   Ú_execute_functionÚAttributeErrorr3   Ú
py__call__)r   Ú	argumentsÚreturn_annotationr8   r6   s       €r   rA   zCompiledValue.py__call__3   s!  ø€ Ø Ô.×DÒDÑFÔFÐØÐ(Ý*ØÔ$Ø!ñô ÷ !Ò  Ô!2Ñ3Ô3ð4ð
	CØÔ×,Ò,¨ZÑ8Ô8Ð8ð Ô!×*Ò*Ñ,Ô,ð CØAÐAÐAÐAÐAÐAÝØ$Ð$ TÔ%9¸4Ô;NÐPTÐV_Ñ`Ô`ð!ñ ô ð õ   × 6Ò 6°yÑ AÔ AÑBÔBÐBøõ ð 	1ð 	1ð 	1Ý‘7”7×%Ò% iÑ0Ô0Ð0Ð0Ð0ð	1øøøs   ÁC Ã+C:Ã9C:c                 óZ   — t          | j        | j                             ¦   «         ¦  «        S r   )r:   r4   r'   Úpy__class__©r   s    r   rE   zCompiledValue.py__class__H   s$   € å& tÔ';¸TÔ=O×=[Ò=[Ñ=]Ô=]Ñ^Ô^Ð^r    c                 óp   ‡ — ‰ ft          ˆ fd„‰ j                             ¦   «         D ¦   «         ¦  «        z   S )Nc              3   óB   •K  — | ]}t          ‰j        |¦  «        V — Œd S r   ©r:   r4   ©Ú.0Úaccessr   s     €r   ú	<genexpr>z*CompiledValue.py__mro__.<locals>.<genexpr>N   sD   øè è € ð 
ð 
àõ $ DÔ$8¸&ÑAÔAð
ð 
ð 
ð 
ð 
ð 
r    )Útupler'   Úpy__mro__accessesrF   s   `r   Ú	py__mro__zCompiledValue.py__mro__L   sS   ø€ àˆw�ð 
ð 
ð 
ð 
àÔ,×>Ò>Ñ@Ô@ð
ñ 
ô 
ñ 
ô 
ñ 
ð 	
r    c                 óh   ‡ — t          ˆ fd„‰ j                             ¦   «         D ¦   «         ¦  «        S )Nc              3   óB   •K  — | ]}t          ‰j        |¦  «        V — Œd S r   rI   rJ   s     €r   rM   z,CompiledValue.py__bases__.<locals>.<genexpr>U   sD   øè è € ð 
ð 
àõ $ DÔ$8¸&ÑAÔAð
ð 
ð 
ð 
ð 
ð 
r    )rN   r'   Úpy__bases__rF   s   `r   rS   zCompiledValue.py__bases__S   sJ   ø€ åð 
ð 
ð 
ð 
àÔ,×8Ò8Ñ:Ô:ð
ñ 
ô 
ñ 
ô 
ð 	
r    c                 ó4   — | j                              ¦   «         S r   )r'   Úget_qualified_namesrF   s    r   rU   z!CompiledValue.get_qualified_namesZ   s   € ØÔ!×5Ò5Ñ7Ô7Ð7r    c                 ó4   — | j                              ¦   «         S r   )r'   Ú
py__bool__rF   s    r   rW   zCompiledValue.py__bool__]   ó   € ØÔ!×,Ò,Ñ.Ô.Ð.r    c                 ó4   — | j                              ¦   «         S r   )r'   r=   rF   s    r   r=   zCompiledValue.is_class`   s   € ØÔ!×*Ò*Ñ,Ô,Ð,r    c                 ó4   — | j                              ¦   «         S r   )r'   Úis_functionrF   s    r   r[   zCompiledValue.is_functionc   ó   € ØÔ!×-Ò-Ñ/Ô/Ð/r    c                 ó4   — | j                              ¦   «         S r   )r'   Ú	is_modulerF   s    r   r^   zCompiledValue.is_modulef   ó   € ØÔ!×+Ò+Ñ-Ô-Ð-r    c                 ó   — dS )NTr/   rF   s    r   Úis_compiledzCompiledValue.is_compiledi   s   € Øˆtr    c                 ó   — dS )NFr/   rF   s    r   Úis_stubzCompiledValue.is_stubl   s   € Øˆur    c                 ó4   — | j                              ¦   «         S r   )r'   Úis_instancerF   s    r   re   zCompiledValue.is_instanceo   r\   r    c                 ó4   — | j                              ¦   «         S r   )r'   Ú	py__doc__rF   s    r   rg   zCompiledValue.py__doc__r   r_   r    c              #   óÔ  K  — 	 | j                              ¦   «         }|D ]}t          | |¦  «        V — Œd S # t          $ r§ |                      ¦   «         \  }}|sg }n|                     d¦  «        }| j                              ¦   «         r|                     dd¦  «         |D ]@}|                     ¦   «          	                    d¦  «        \  }}}	t          | ||	¦  «        V — ŒAY d S w xY w)Nú,r   r   ú=)r'   Úget_signature_paramsÚSignatureParamNameÚ
ValueErrorÚ_parse_function_docÚsplitÚismethoddescriptorÚinsertÚstripÚ	partitionÚUnresolvableParamName)
r   Úsignature_paramsÚsignature_paramÚ
params_strÚretÚtokensÚpÚnameÚ_Údefaults
             r   Úget_param_nameszCompiledValue.get_param_namesu   s<  è è € ð	@Ø#Ô1×FÒFÑHÔHÐð $4ð @ð @�Ý(¨¨Ñ?Ô?Ð?Ð?Ð?Ð?ð@ð @øõ ð 
	Að 
	Að 
	AØ"×6Ò6Ñ8Ô8‰OˆJ˜Øð /Ø��à#×)Ò)¨#Ñ.Ô.�ØÔ!×4Ò4Ñ6Ô6ð )Ø—’˜a Ñ(Ô(Ð(Øð Að A�Ø#$§7¢7¡9¤9×#6Ò#6°sÑ#;Ô#;Ñ ��a˜Ý+¨D°$¸Ñ@Ô@Ð@Ð@Ð@Ð@ðAð Að Að
	Aøøøs   „6 ¶B-C'Ã&C'c                 óR   — |                       ¦   «         \  }}t          | |¦  «        gS r   )rn   r   )r   r|   Úreturn_strings      r   Úget_signatureszCompiledValue.get_signaturesˆ   s+   € Ø×3Ò3Ñ5Ô5Ñˆˆ=Ý   }Ñ5Ô5Ð6Ð6r    c                 óV   — d| j         j        ›d| j                             ¦   «         ›d�S ©Nú<ú: ú>)r6   r$   r'   Úget_reprrF   s    r   Ú__repr__zCompiledValue.__repr__Œ   s/   € € Ø!œ^Ô4Ð4Ð4°dÔ6H×6QÒ6QÑ6SÔ6SÐ6SÐ6SÐTÐTr    c                 óP   — |                       ¦   «         }|€dS t          |¦  «        S )N)Ú rŠ   )rg   rn   )r   Údocs     r   rn   z!CompiledValue._parse_function_doc�   s)   € à�nŠnÑÔˆØˆ;Ø�6å" 3Ñ'Ô'Ð'r    c                 ó4   — | j                              ¦   «         S r   )r'   Úget_api_typerF   s    r   Úapi_typezCompiledValue.api_type—   s   € àÔ!×.Ò.Ñ0Ô0Ð0r    Fc              #   ó8   K  — |                       |¦  «        V — d S r   )Ú_ensure_one_filter)r   re   Úorigin_scopes      r   Úget_filterszCompiledValue.get_filters›   s&   è è € Ø×%Ò% kÑ2Ô2Ð2Ð2Ð2Ð2Ð2r    c                 ó.   — t          | j        | |¦  «        S r   )ÚCompiledValueFilterr4   )r   re   s     r   r�   z CompiledValue._ensure_one_filterž   s   € å" 4Ô#7¸¸{ÑKÔKÐKr    c                 óÎ  •— t          t          t          t          ¦  «        5  	 | j                             || j        j         ¬¦  «        }n=# t          $ r0 t          ¦   «                              |¦  «        cY cd d d ¦  «         S w xY w	 d d d ¦  «         n# 1 swxY w Y   |€!t          ¦   «                              |¦  «        S t          t          | j        |¦  «        g¦  «        S ©N)Úsafe)r   Ú
IndexErrorÚKeyErrorÚ	TypeErrorr'   Úpy__simple_getitem__r4   Úallow_unsafe_executionsr@   r3   r   r:   )r   ÚindexrL   r6   s      €r   r›   z"CompiledValue.py__simple_getitem__¢   sA  ø€ Ý#¥Jµ½)ÑDÔDð 	;ð 	;ð;ØÔ+×@Ò@ØØ!Ô1ÔIÐIð Añ ô ��øõ "ð ;ð ;ð ;Ý‘w”w×3Ò3°EÑ:Ô:Ð:Ð:ð	;ð 	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð;øøøð	 ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð ˆ>Ý‘7”7×/Ò/°Ñ6Ô6Ð6åÕ0°Ô1EÀvÑNÔNÐOÑPÔPÐPs4   ¢B¤'AÁBÁ+BÁ7BÂBÂBÂBÂBc                 ó¶   •‡ — ‰ j                              ¦   «         }|€"t          ¦   «                              ||¦  «        S t	          ˆ fd„|D ¦   «         ¦  «        S )Nc              3   óB   •K  — | ]}t          ‰j        |¦  «        V — Œd S r   rI   rJ   s     €r   rM   z.CompiledValue.py__getitem__.<locals>.<genexpr>¶   sD   øè è € ð 
ð 
àõ $ DÔ$8¸&ÑAÔAð
ð 
ð 
ð 
ð 
ð 
r    )r'   Úpy__getitem__all_valuesr3   Úpy__getitem__r   )r   Úindex_value_setÚcontextualized_nodeÚall_access_pathsr6   s   `   €r   r¡   zCompiledValue.py__getitem__°   st   øø€ ØÔ-×EÒEÑGÔGÐØÐ#õ ‘7”7×(Ò(¨Ð:MÑNÔNÐNÝð 
ð 
ð 
ð 
à*ð
ñ 
ô 
ñ 
ô 
ð 	
r    c              #   ó  •K  — | j                              ¦   «         s't          ¦   «                              |¦  «        E d {V —† | j                              ¦   «         }|€d S |D ]&}t          t          | j        |¦  «        ¦  «        V — Œ'd S r   )r'   Úhas_iterr3   Ú
py__iter__Úpy__iter__listr   r:   r4   )r   r£   Úaccess_path_listrL   r6   s       €r   r§   zCompiledValue.py__iter__»   s«   øè è € ØÔ!×*Ò*Ñ,Ô,ð 	?Ý‘w”w×)Ò)Ð*=Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>àÔ-×<Ò<Ñ>Ô>ÐØÐ#àˆFà&ð 	Xð 	XˆFÝ Õ!8¸Ô9MÈvÑ!VÔ!VÑWÔWÐWÐWÐWÐWð	Xð 	Xr    c                 ó4   — | j                              ¦   «         S r   )r'   Ú
py__name__rF   s    r   r«   zCompiledValue.py__name__Ç   rX   r    c                 ó€   — |                       ¦   «         }|€| j                             ¦   «         }t          | |¦  «        S r   )r«   r'   r‡   ÚCompiledValueName©r   r{   s     r   r{   zCompiledValue.nameÊ   s:   € à�ŠÑ Ô ˆØˆ<ØÔ%×.Ò.Ñ0Ô0ˆDÝ   tÑ,Ô,Ð,r    c              #   óž  K  — ddl m} ddlm} | j        dk    rd S |                      ¦   «         d                              ¦   «         D ]i}	 | j        j        j	         
                    |¦  «          || j        |¦  «        }| j                             ||¦  «        E d {V —† ŒZ# t          $ r Y Œfw xY w|                     | ¦  «        E d {V —† d S )Nr   )Ú
docstrings©Úbuiltin_from_nameÚfunctioné   )Újedi.inferencer°   Újedi.inference.compiledr²   rŽ   rn   ro   r4   Úbuiltins_moduler'   r(   Úexecuter@   Úinfer_return_types)r   Úparamsr°   r²   r{   Úbltn_objs         r   r?   zCompiledValue._execute_functionÑ   s%  è è € Ø-Ð-Ð-Ð-Ð-Ð-Ø=Ð=Ð=Ð=Ð=Ð=ØŒ=˜JÒ&Ð&ØˆFà×,Ò,Ñ.Ô.¨qÔ1×7Ò7Ñ9Ô9ð 		Jð 		JˆDðJð Ô$Ô4ÔB×PÒPÐQUÑVÔVÐVð -Ð,¨TÔ-AÀ4ÑHÔH�ØÔ/×7Ò7¸À&ÑIÔIÐIÐIÐIÐIÐIÐIÐIÐIøõ	 "ð ð ð Ø�ðøøøð
 ×0Ò0°Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6s   Á$B"Â"
B/Â.B/c                 ór   — 	 | j                              ¦   «         S # t          $ r |t          k    r‚ |cY S w xY wr   )r'   Úget_safe_valuerm   r   )r   r}   s     r   r½   zCompiledValue.get_safe_valueã   sN   € ð	ØÔ%×4Ò4Ñ6Ô6Ð6øÝð 	ð 	ð 	Ø�)Ò#Ð#ØØˆNˆNˆNð	øøøs   ‚ ›6µ6c           	      ó´   — 	 t          t          | j        | j                             |j        |¦  «        ¦  «        g¦  «        S # t
          $ r
 t          cY S w xY wr   )r   r:   r4   r'   Úexecute_operationrš   r   )r   ÚotherÚoperators      r   r¿   zCompiledValue.execute_operationë   ss   € ð	ÝÕ4ØÔ$ØÔ"×4Ò4°UÔ5HÈ(ÑSÔSñô ð ñ ô ð øõ ð 	ð 	ð 	ÝÐÐÐð	øøøs   ‚A A ÁAÁAc                 óà  •‡ ‡‡— ‰ j                              ¦   «         dk    rt          ‰ g¦  «        S ‰ j                              ¦   «         \  }}ˆ fd„|D ¦   «         Š|dk    r t          j        ˆfd„‰D ¦   «         ¦  «        S |rKt          ˆfd„‰ j        j                             |¦  «        D ¦   «         ¦  «                             ‰¦  «        S t          ¦   «                              ‰¦  «        S )NÚNonec                 óV   •— g | ]%}t          t          ‰j        |¦  «        g¦  «        ‘Œ&S r/   )r   r:   r4   )rK   Úpathr   s     €r   ú
<listcomp>z4CompiledValue.execute_annotation.<locals>.<listcomp>ú   sB   ø€ ð 
ð 
ð 
àõ Õ-¨dÔ.BÀDÑIÔIÐJÑKÔKð
ð 
ð 
r    ÚUnionc              3   óB   •K  — | ]}|                      ‰¦  «        V — Œd S r   )r;   )rK   Úargr<   s     €r   rM   z3CompiledValue.execute_annotation.<locals>.<genexpr>ÿ   sE   øè è € ð &&ð &&àð ×&Ò& wÑ/Ô/ð&&ð &&ð &&ð &&ð &&ð &&r    c                 ó:   •— g | ]}|                      ‰¦  «        ‘ŒS r/   )Úwith_generics)rK   ÚvrB   s     €r   rÆ   z4CompiledValue.execute_annotation.<locals>.<listcomp>  s5   ø€ ð ð ð àð —’ 	Ñ*Ô*ðð ð r    )
r'   r‡   r   Úget_annotation_name_and_argsÚ	from_setsr4   Útyping_moduleÚpy__getattribute__r;   r3   )r   r<   r{   ÚargsrB   r6   s   ``  @€r   r;   z CompiledValue.execute_annotationô   s8  øøøø€ ØÔ×&Ò&Ñ(Ô(¨FÒ2Ð2å˜T˜FÑ#Ô#Ð#àÔ'×DÒDÑFÔF‰
ˆˆdð
ð 
ð 
ð 
àð
ñ 
ô 
ˆ	ð �7Š?ˆ?ÝÔ%ð &&ð &&ð &&ð &&à$ð&&ñ &&ô &&ñ &ô &ð &ð ð 	+õ ð ð ð ð àÔ-Ô;×NÒNÈtÑTÔTðñ ô ñ ô ÷ "Ò! 'Ñ*Ô*ð+õ ‰wŒw×)Ò)¨'Ñ2Ô2Ð2r    c                 óZ   — t          | j        | j                             ¦   «         ¦  «        S r   )r:   r4   r'   ÚnegaterF   s    r   rÓ   zCompiledValue.negate  s$   € Ý& tÔ';¸TÔ=O×=VÒ=VÑ=XÔ=XÑYÔYÐYr    c                 ó   — t           S r   ©r   rF   s    r   Úget_metaclasseszCompiledValue.get_metaclasses  ó   € ÝÐr    c                 ó    — t          | ¦  «        S r   )r   rF   s    r   Ú_as_contextzCompiledValue._as_context  s   € Ý˜tÑ$Ô$Ð$r    c                 ó4   — | j                              ¦   «         S r   )r'   Úget_array_typerF   s    r   Ú
array_typezCompiledValue.array_type  s   € àÔ!×0Ò0Ñ2Ô2Ð2r    c                 óN   ‡ — ˆ fd„‰ j                              ¦   «         D ¦   «         S )Nc                 ó:   •— g | ]}t          ‰j        |¦  «        ‘ŒS r/   rI   )rK   Úkr   s     €r   rÆ   z0CompiledValue.get_key_values.<locals>.<listcomp>  s6   ø€ ð 
ð 
ð 
àõ $ DÔ$8¸!Ñ<Ô<ð
ð 
ð 
r    )r'   Úget_key_pathsrF   s   `r   Úget_key_valueszCompiledValue.get_key_values  s=   ø€ ð
ð 
ð 
ð 
àÔ'×5Ò5Ñ7Ô7ð
ñ 
ô 
ð 	
r    Tc                 ó@   — | j                              ¦   «         dv rdS d S )N)rÃ   z<class 'NoneType'>rÃ   )r'   r‡   )r   Úadd_class_infos     r   Úget_type_hintzCompiledValue.get_type_hint  s'   € ØÔ×&Ò&Ñ(Ô(Ð,JÐJÐJØ�6Øˆtr    r   )FN)T)-r$   r,   r-   r   rA   r   rE   rP   rS   rU   rW   r=   r[   r^   ra   rc   re   rg   r   r~   r�   rˆ   r	   rn   ÚpropertyrŽ   r’   r�   r›   r¡   r§   r«   r{   r?   r   r½   r¿   r;   rÓ   rÖ   rÙ   rÜ   rá   rä   Ú__classcell__)r6   s   @r   r1   r1   .   s;  ø€ € € € € ð+ð +ð +ð +ð +ð +ðCð Cð Cð Cð Cð* €^ÑÔð_ð _ñ Ôð_ð €^ÑÔð
ð 
ñ Ôð
ð €^ÑÔð
ð 
ñ Ôð
ð8ð 8ð 8ð/ð /ð /ð-ð -ð -ð0ð 0ð 0ð.ð .ð .ðð ð ðð ð ð0ð 0ð 0ð.ð .ð .ð ð@ð @ñ „Wð@ð$7ð 7ð 7ðUð Uð Uð ð(ð (ñ „^ð(ð ð1ð 1ñ „Xð1ð3ð 3ð 3ð 3ð ðLð Lñ „^ðLðQð Qð Qð Qð Qð	
ð 	
ð 	
ð 	
ð 	
ð
Xð 
Xð 
Xð 
Xð 
Xð 
Xð/ð /ð /ð ð-ð -ñ „Xð-ð7ð 7ð 7ð$ &/ð ð ð ð ðð ð ð3ð 3ð 3ð 3ð 3ð0Zð Zð Zðð ð ð%ð %ð %ð ð3ð 3ñ „Xð3ð
ð 
ð 
ðð ð ð ð ð ð ð r    r1   c                   óR   — e Zd ZdZd„ Zd„ Zd„ Zed„ ¦   «         Zde	e
         fd„ZdS )ÚCompiledModuleNc                 ó    — t          | ¦  «        S r   )r   rF   s    r   rÙ   zCompiledModule._as_context(  s   € Ý$ TÑ*Ô*Ð*r    c                 ó4   — | j                              ¦   «         S r   )r'   Ú
py__path__rF   s    r   rë   zCompiledModule.py__path__+  rX   r    c                 ó.   — |                       ¦   «         d uS r   )rë   rF   s    r   Ú
is_packagezCompiledModule.is_package.  s   € Ø�ŠÑ Ô ¨Ð,Ð,r    c                 óv   — |                       ¦   «         }|€dS t          |                     d¦  «        ¦  «        S )Nr/   ú.)r«   rN   ro   r®   s     r   Ústring_nameszCompiledModule.string_names1  s5   € ð �ŠÑ Ô ˆØˆ<Ø�2Ý�T—Z’Z ‘_”_Ñ%Ô%Ð%r    Úreturnc                 ó4   — | j                              ¦   «         S r   )r'   Ú
py__file__rF   s    r   ró   zCompiledModule.py__file__9  rX   r    )r$   r,   r-   Úfile_iorÙ   rë   rí   rå   rð   r   r   ró   r/   r    r   rè   rè   %  s€   € € € € € Ø€Gð+ð +ð +ð/ð /ð /ð-ð -ð -ð ð&ð &ñ „Xð&ð/˜H TœNð /ð /ð /ð /ð /ð /r    rè   c                   ó^   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Z	d„ Z
ed„ ¦   «         Zd	S )
ÚCompiledNamec                 óp   — || _         |                     ¦   «         | _        || _        || _        || _        d S r   )Ú_inference_stateÚ
as_contextr5   Ú_parent_valueÚstring_nameÚis_descriptor)r   r4   Úparent_valuer{   rü   s        r   r   zCompiledName.__init__>  s<   € Ø /ˆÔØ*×5Ò5Ñ7Ô7ˆÔØ)ˆÔØˆÔØ*ˆÔÐÐr    c                 óN   — |                       ¦   «                              ¦   «         S r   )Úinfer_compiled_valuerg   rF   s    r   rg   zCompiledName.py__doc__E  s    € Ø×(Ò(Ñ*Ô*×4Ò4Ñ6Ô6Ð6r    c                 óR   — | j                              ¦   «         }|€d S || j        fz   S r   )r5   rU   rû   )r   Úparent_qualified_namess     r   Ú_get_qualified_namesz!CompiledName._get_qualified_namesH  s3   € Ø!%Ô!4×!HÒ!HÑ!JÔ!JÐØ!Ð)Ø�4Ø%¨Ô)9Ð(;Ñ;Ð;r    c                 ó–   — | j         }|                     ¦   «         s|                     ¦   «         r| j                              ¦   «         S d S r   )r5   r^   r=   Ú	get_value)r   r<   s     r   Úget_defining_qualified_valuez)CompiledName.get_defining_qualified_valueN  sK   € ØÔ%ˆØ×ÒÑÔð 	3 '×"2Ò"2Ñ"4Ô"4ð 	3ØÔ&×0Ò0Ñ2Ô2Ð2àˆtr    c                 óx   — 	 | j         j        }n# t          $ r d }Y nw xY wd| j        j        ›d|›d| j        ›d�S )Nr„   z: (z).r†   )r5   r{   r@   r6   r$   rû   r®   s     r   rˆ   zCompiledName.__repr__U  s^   € ð	ØÔ&Ô+ˆDˆDøÝð 	ð 	ð 	ØˆDˆDˆDð	øøøøà"&¤.Ô"9Ð"9Ð"9¸4¸4¸4ÀÔAQÐAQÐAQÐRÐRs   ‚ ��c                 óF   — | j         rdS |                      ¦   «         j        S )Nr)   )rü   rÿ   rŽ   rF   s    r   rŽ   zCompiledName.api_type\  s)   € àÔð 	ð �:Ø×(Ò(Ñ*Ô*Ô3Ð3r    c                 óF   — t          |                      ¦   «         g¦  «        S r   )r   rÿ   rF   s    r   ÚinferzCompiledName.infere  s   € Ý˜×2Ò2Ñ4Ô4Ð5Ñ6Ô6Ð6r    c                 óB   — t          | j        | j        | j        ¦  «        S r   )Úcreate_from_namerø   rú   rû   rF   s    r   rÿ   z!CompiledName.infer_compiled_valueh  s   € å Ô 5°tÔ7IÈ4ÔK[Ñ\Ô\Ð\r    N)r$   r,   r-   r   rg   r  r  rˆ   rå   rŽ   r	  r	   rÿ   r/   r    r   rö   rö   =  s¬   € € € € € ð+ð +ð +ð7ð 7ð 7ð<ð <ð <ðð ð ðSð Sð Sð ð4ð 4ñ „Xð4ð7ð 7ð 7ð ð]ð ]ñ „^ð]ð ]ð ]r    rö   c                   ó<   — e Zd Zd„ Zed„ ¦   «         Zd„ Zd„ Zd„ ZdS )rl   c                 ó,   — |j         | _         || _        d S r   )r5   Ú_signature_param)r   Úcompiled_valuerv   s      r   r   zSignatureParamName.__init__n  s   € Ø,Ô;ˆÔØ /ˆÔÐÐr    c                 ó   — | j         j        S r   )r  r{   rF   s    r   rû   zSignatureParamName.string_namer  s   € àÔ$Ô)Ð)r    c                 ó¶   — |                       ¦   «         | j        z   }| j        j        r|d| j        j        z   z  }| j        j        r|d| j        j        z   z  }|S )Nr…   rj   )Ú_kind_stringrû   r  Úhas_annotationÚannotation_stringÚhas_defaultÚdefault_string)r   Úss     r   Ú	to_stringzSignatureParamName.to_stringv  sg   € Ø×ÒÑÔ $Ô"2Ñ2ˆØÔ Ô/ð 	@Ø�˜Ô-Ô?Ñ?Ñ?ˆAØÔ Ô,ð 	<Ø��tÔ,Ô;Ñ;Ñ;ˆAØˆr    c                 ó@   — t          t          | j        j        ¦  «        S r   )Úgetattrr   r  Ú	kind_namerF   s    r   Úget_kindzSignatureParamName.get_kind~  s   € Ý•y $Ô"7Ô"AÑBÔBÐBr    c                 óô   — | j         }| j        j        }t          }|j        r#t          t          ||j        ¦  «        g¦  «        }|j        r,t          ||j	        ¦  «        }|| 
                    ¦   «         z  }|S r   )r  r5   r4   r   r  r   r:   r}   r  Ú
annotationÚexecute_with_values)r   rz   r4   Úvaluesr  s        r   r	  zSignatureParamName.infer�  sy   € ØÔ!ˆØÔ-Ô=ˆÝˆØŒ=ð 	UÝÕ6°ÈÌ	ÑRÔRÐSÑTÔTˆFØÔð 	7Ý0°À!Ä,ÑOÔOˆJØ�j×4Ò4Ñ6Ô6Ñ6ˆFØˆr    N)	r$   r,   r-   r   rå   rû   r  r  r	  r/   r    r   rl   rl   m  sn   € € € € € ð0ð 0ð 0ð ð*ð *ñ „Xð*ðð ð ðCð Cð Cð	ð 	ð 	ð 	ð 	r    rl   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )rt   c                 ó:   — |j         | _         || _        || _        d S r   )r5   rû   Ú_default)r   r  r{   r}   s       r   r   zUnresolvableParamName.__init__Ž  s    € Ø,Ô;ˆÔØˆÔØˆŒˆˆr    c                 ó   — t           j        S r   )r   ÚPOSITIONAL_ONLYrF   s    r   r  zUnresolvableParamName.get_kind“  s   € ÝÔ(Ð(r    c                 ó<   — | j         }| j        r|d| j        z   z  }|S )Nrj   )rû   r#  )r   Ústrings     r   r  zUnresolvableParamName.to_string–  s*   € ØÔ!ˆØŒ=ð 	*Ø�c˜DœMÑ)Ñ)ˆFØˆr    c                 ó   — t           S r   rÕ   rF   s    r   r	  zUnresolvableParamName.inferœ  r×   r    N)r$   r,   r-   r   r  r  r	  r/   r    r   rt   rt   �  sP   € € € € € ð ð  ð  ð
)ð )ð )ðð ð ðð ð ð ð r    rt   c                   ó   — e Zd Zd„ ZdS )r­   c                 ó:   — || _         || _        |j        | _        d S r   )rû   Ú_valuer5   )r   Úvaluer{   s      r   r   zCompiledValueName.__init__¡  s"   € ØˆÔØˆŒØ#Ô2ˆÔÐÐr    N)r$   r,   r-   r   r/   r    r   r­   r­      s#   € € € € € ð3ð 3ð 3ð 3ð 3r    r­   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚEmptyCompiledNamez«
    Accessing some names will raise an exception. To avoid not having any
    completions, just give Jedi the option to return this object. It infers to
    nothing.
    c                 ó,   — |j         | _        || _        d S r   )r·   r5   rû   )r   r4   r{   s      r   r   zEmptyCompiledName.__init__­  s   € Ø-Ô=ˆÔØˆÔÐÐr    c                 ó   — t           S r   rÕ   rF   s    r   r	  zEmptyCompiledName.infer±  r×   r    N)r$   r,   r-   r.   r   r	  r/   r    r   r.  r.  §  s<   € € € € € ðð ð
 ð  ð  ðð ð ð ð r    r.  c                   óT   — e Zd Zdd„Zd„ Zdd„Zedddœd„¦   «         Zd„ Zd„ Z	d	„ Z
d
S )r”   Fc                 ó0   — || _         || _        || _        d S r   )rø   r  re   )r   r4   r  re   s       r   r   zCompiledValueFilter.__init__¶  s    € Ø /ˆÔØ,ˆÔØ&ˆÔÐÐr    c                 óx   ‡‡— | j         j        Š| j        j         Š|                      |ˆˆfd„ˆfd„d¬¦  «        S )Nc                 ó2   •— ‰                      | ‰¬¦  «        S r–   )Úis_allowed_getattr)r{   r'   r—   s    €€r   ú<lambda>z)CompiledValueFilter.get.<locals>.<lambda>À  s   ø€ ˜×9Ò9¸$ÀTÐ9ÑJÔJ€ r    c                 ó0   •— | ‰                      ¦   «         v S r   )Údir)r{   r'   s    €r   r6  z)CompiledValueFilter.get.<locals>.<lambda>Á  s   ø€ ˜ ×!2Ò!2Ñ!4Ô!4Ð4€ r    T)Úcheck_has_attribute)r  r'   rø   rœ   Ú_get)r   r{   r'   r—   s     @@r   ÚgetzCompiledValueFilter.get»  sY   øø€ ØÔ+Ô9ˆØÔ(Ô@Ð@ˆØ�yŠyØØJÐJÐJÐJÐJØ4Ð4Ð4Ð4Ø $ð	 ñ 
ô 
ð 	
r    c                 óJ  ‡—  |‰¦  «        \  }}}|�8t          | j        |¦  «                             d¦  «        }|rˆfd„|D ¦   «         S |r|sg S |s|s$| j        j        s|                      ‰d¬¦  «        gS | j        r |‰¦  «        sg S |                      ‰|¬¦  «        gS )zU
        To remove quite a few access calls we introduced the callback here.
        Nc                 ó0   •— g | ]}t          |‰¦  «        ‘ŒS r/   )r­   )rK   rÌ   r{   s     €r   rÆ   z,CompiledValueFilter._get.<locals>.<listcomp>Ò  s$   ø€ ÐCÐCÐC°qÕ)¨!¨TÑ2Ô2ÐCÐCÐCr    T)Úis_empty©rü   )r:   rø   r;   rœ   Ú_get_cached_namere   )	r   r{   Úallowed_getattr_callbackÚin_dir_callbackr9  Úhas_attributerü   Úproperty_return_annotationr   s	    `       r   r:  zCompiledValueFilter._getÅ  s  ø€ ð D\ÐC[ØñD
ô D
Ñ@ˆ�}Ð&@ð &Ð1Ý,ØÔ%Ø*ñô ÷ !Ò  Ñ&Ô&ð ð ð DØCÐCÐCÐC¸FÐCÑCÔCÐCàð 	 }ð 	ØˆIàð 	@ ð 	@ØÔ-ÔEð	@à×)Ò)¨$¸Ð)Ñ>Ô>Ð?Ð?àÔð 	 O O°DÑ$9Ô$9ð 	ØˆIØ×%Ò% d¸-Ð%ÑHÔHÐIÐIr    r?  c                ó^   — |rt          | j        |¦  «        S |                      ||¬¦  «        S )Nr?  )r.  rø   Ú_create_name)r   r{   r>  rü   s       r   r@  z$CompiledValueFilter._get_cached_nameß  s7   € àð 	HÝ$ TÔ%:¸DÑAÔAÐAà×$Ò$ T¸Ð$ÑGÔGÐGr    c                 ó0  ‡— ddl m} g }| j        j                             ¦   «         \  }Š‰D ]"}||                      |ˆfd„ˆfd„¦  «        z  }Œ#| j        s?|r= || j        d¦  «                             ¦   «         D ]}|| 	                    ¦   «         z  }Œ|S )Nr   r±   c                 ó   •— ‰|          S r   r/   ©r{   Ú	dir_infoss    €r   r6  z,CompiledValueFilter.values.<locals>.<lambda>ò  s   ø€ ˜Y tœ_€ r    c                 ó   •— | ‰v S r   r/   rI  s    €r   r6  z,CompiledValueFilter.values.<locals>.<lambda>ó  s   ø€ ˜T YÐ.€ r    Útype)
r¶   r²   r  r'   Úget_dir_infosr:  re   rø   r’   r   )r   r²   ÚnamesÚneeds_type_completionsr{   ÚfilterrJ  s         @r   r   zCompiledValueFilter.valuesæ  sØ   ø€ Ø=Ð=Ð=Ð=Ð=Ð=ØˆØ,0Ô,?Ô,M×,[Ò,[Ñ,]Ô,]Ñ)Ð 	ð ð 	ð 	ˆDØ�T—Y’YØØ,Ð,Ð,Ð,Ø.Ð.Ð.Ð.ñô ñ ˆEˆEð Ôð 	)Ð$:ð 	)Ø+Ð+¨DÔ,AÀ6ÑJÔJ×VÒVÑXÔXð )ð )�Ø˜Ÿš™œÑ(��Øˆr    c                 ó:   — t          | j        | j        ||¦  «        S r   )rö   rø   r  )r   r{   rü   s      r   rF  z CompiledValueFilter._create_nameü  s&   € ÝØÔ!ØÔØØñ	
ô 
ð 	
r    c                 ó2   — d| j         j        ›d| j        ›d�S rƒ   )r6   r$   r  rF   s    r   rˆ   zCompiledValueFilter.__repr__  s#   € € Ø!œ^Ô4Ð4Ð4°dÔ6IÐ6IÐ6IÐJÐJr    N)F)r$   r,   r-   r   r;  r:  r	   r@  r   rF  rˆ   r/   r    r   r”   r”   µ  s³   € € € € € ð'ð 'ð 'ð 'ð

ð 
ð 
ðJð Jð Jð Jð4 ðHÀeð Hð Hð Hð Hñ „^ðHðð ð ð,
ð 
ð 
ðKð Kð Kð Kð Kr    r”   ÚfloatÚstrÚintÚdict)zfloating point numberÚ	characterÚintegerÚ
dictionaryr'  c                 ó$  — 	 d}|                       d¦  «        }t          | |d…         ¦  «        D ])\  }}|dk    r|dz  }n|dk    r|dz  }|dk    r||z   } nŒ*| |dz   |…         }d„ }	 t          j        d||¦  «        \  }}|dk    rnŒ!n/# t          t
          f$ r t          j        d	¦  «         d}d
}Y nw xY w|                     dd¦  «        }t          j	        d| ||dz   …         ¦  «        }	|	€d
}
n—||	 
                    ¦   «         z   }t          j        d¦  «        }|                     | |¦  «                             d¦  «                             ¦   «         }t          j        dd|¦  «        }t                                ||¦  «        }
||
fS )zú
    Takes a function and returns the params and return value as a tuple.
    This is nothing more than a docstring parser.

    TODO docstrings like utime(path, (atime, mtime)) and a(b [, b]) -> None
    TODO docstrings like 'tuple of integers'
    r   ú(Nr´   ú)c                 óÒ   — |                       d¦  «                             d¦  «        }t          |¦  «        D ]\  }}|rd|vr||xx         dz  cc<   Œd                     |¦  «        S )Nr´   ri   rj   z=None)Úgroupro   Ú	enumerateÚjoin)ÚmrÑ   ÚiÚas       r   Úchange_optionsz+_parse_function_doc.<locals>.change_options.  so   € Ø—7’7˜1‘:”:×#Ò# CÑ(Ô(ˆDÝ! $™œð 'ð '‘��1Øð '˜ A˜˜Ø˜�G�G”G˜wÑ&�G�G‘GøØ—8’8˜D‘>”>Ð!r    Tz ?\[([^\[\]]+)\]zno brackets found - no paramrŠ   ú-r|   z-[>-]* é   z(,\n|[^\n-])+z[nN]ew (.*)z\1())r�   r_  ÚreÚsubnrm   ÚUnboundLocalErrorr   ÚdbgÚreplaceÚsearchÚendÚcompileÚmatchr^  rr   ÚsubÚdocstr_defaultsr;  )r‹   ÚcountÚstartrb  r  rm  Ú	param_strrd  ÚchangesÚrrx   r�   ÚpatternÚret_strs                 r   rn   rn     så  € ðØˆØ—	’	˜#‘”ˆÝ˜c % & &œkÑ*Ô*ð 	ð 	‰DˆAˆqØ�CŠxˆxØ˜‘
��Ø�c’�Ø˜‘
�Ø˜ŠzˆzØ˜a‘i�Ø�ð ð ˜ ™	 #˜Ô&ˆ	ð	"ð 	"ð 	"ð	Ý!#¤Ð)<Ø)7¸ñ"Dô "DÑˆI�wà˜!Š|ˆ|Øð		ð øõ' Õ)Ð*ð ð ð õ 	Œ	Ð0Ñ1Ô1Ð1ØˆØˆ	ˆ	ˆ	ðøøøð( ×!Ò! # sÑ+Ô+€Iõ 	Œ	�)˜S  S¨1¡W Ô-Ñ.Ô.€AØ€yØˆˆà�a—e’e‘g”g‘ˆå”*Ð-Ñ.Ô.ˆØ—-’-  UÑ+Ô+×1Ò1°!Ñ4Ô4×:Ò:Ñ<Ô<ˆå”&˜¨°'Ñ:Ô:ˆå×!Ò! '¨7Ñ3Ô3ˆà�cˆ>Ðs   ‚A%B Â)B9Â8B9c                 óœ   — |j                              |d ¬¦  «        }d }|D ]*}t          | ||€d n|                     ¦   «         ¬¦  «        }Œ+|S )N)r}   ©r5   )r'   r(   Úcreate_cached_compiled_valuerù   )r4   r  r{   Úaccess_pathsr,  Úaccess_paths         r   r  r  M  sk   € Ø!Ô/×=Ò=¸dÈDÐ=ÑQÔQ€Là€EØ#ð 
ð 
ˆÝ,ØØØ#( =˜4˜4°e×6FÒ6FÑ6HÔ6Hð
ñ 
ô 
ˆˆð
 €Lr    c                 ó   ‡ — dˆ fd„	}|S )z5The cache doesn't care about keyword vs. normal args.Nc                 ó   •—  ‰| ||¦  «        S r   r/   )r4   Úobjr5   r#   s      €r   Úwrapperz'_normalize_create_args.<locals>.wrapper\  s   ø€ Øˆt�O S¨.Ñ9Ô9Ð9r    r   r/   )r#   r�  s   ` r   Ú_normalize_create_argsr‚  Z  s&   ø€ ð:ð :ð :ð :ð :ð :à€Nr    c                 ót   — d }|j         D ]-\  }}t          | ||€d n|                     ¦   «         ¬¦  «        }Œ.|S )Nrz  )Úaccessesr{  rù   )r4   r}  r,  r{   rL   s        r   r:   r:   a  sW   € Ø€EØ#Ô,ð 
ð 
‰ˆˆfÝ,ØØØ#( =˜4˜4°e×6FÒ6FÑ6HÔ6Hð
ñ 
ô 
ˆˆð
 €Lr    c                 ól   — t          |t          ¦  «        rJ ‚|€t          }nt          } || ||¦  «        S r   )Ú
isinstancer1   rè   )r4   r'   r5   Úclss       r   r{  r{  l  s@   € õ ˜.­-Ñ8Ô8Ð8Ð8Ð8ØÐÝˆˆåˆØˆ3ˆ ¨~Ñ>Ô>Ð>r    )6r.   rg  Ú	functoolsr   Úinspectr   Úpathlibr   Útypingr   Újedir   Újedi.inference.utilsr   Ú
jedi.cacher	   Újedi.inference.filtersr
   Újedi.inference.namesr   r   r   Újedi.inference.base_valuer   r   r   Újedi.inference.lazy_valuer   Újedi.inference.compiled.accessr   Újedi.inference.cacher   Újedi.inference.helpersr   Újedi.inference.signaturer   Újedi.inference.contextr   r   r   r1   rè   rö   rl   rt   r­   r.  r”   rq  rn   r  r‚  r:   r{  r/   r    r   ú<module>r˜     s©  ððð ð 
€	€	€	Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ø %Ð %Ð %Ð %Ð %Ð %Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð ð ð ð ð ð ð à @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ Ið,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð*tð tð tð tð t�Eñ tô tð tðn/ð /ð /ð /ð /�]ñ /ô /ð /ð0-]ð -]ð -]ð -]ð -]Ð)ñ -]ô -]ð -]ð`ð ð ð ð Ð+Ð-Cñ ô ð ð@ð ð ð ð Ð.Ð0Fñ ô ð ð&3ð 3ð 3ð 3ð 3˜Ð(>ñ 3ô 3ð 3ðð ð ð ð Ð.ñ ô ð ðPKð PKð PKð PKð PK˜.ñ PKô PKð PKðh %ØØØØðð €ð9ð 9ð 9ðx
ð 
ð 
ðð ð ðð ð ð ØÐÑ!Ô!ð?ð ?ñ "Ô!ñ Ôð?ð ?ð ?r    