§
    ñyIfî  ã                  ó  — U d dl mZ d dlZd dlmZmZmZmZ d dlm	Z	 erd dl
mZmZ d dlmZ d dlmZ  G d„ d	¦  «        Z e¦   «         Zd
ed<    G d„ d¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zdd„Zdd„Z	 ddd„ZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚFinalÚLiteral)ÚInferenceError)ÚbasesÚnodes)ÚInferenceContext)ÚInferenceResultc                  ó@   — e Zd ZdZdd„ZeZdd„Zdd„Zdd„ZeZ	d„ Z
dS )ÚUninferableBasezŸSpecial inference object, which is returned when inference fails.

    This is meant to be used as a singleton. Use astroid.util.Uninferable to access it.
    ÚreturnúLiteral['Uninferable']c                ó   — dS )NÚUninferable© ©Úselfs    ú@/var/www/piapp/venv/lib/python3.11/site-packages/astroid/util.pyÚ__repr__zUninferableBase.__repr__   s   € Øˆ}ó    ÚnameÚstrr   c                óü   — |dk    rt          d¦  «        ‚|                     d¦  «        r0|                     d¦  «        rt                               | |¦  «        S |dk    rt                               | |¦  «        S | S )NÚnextz next method should not be calledÚ__Úaccept)ÚAttributeErrorÚ
startswithÚendswithÚobjectÚ__getattribute__)r   r   s     r   r#   z UninferableBase.__getattribute__   s}   € Ø�6Š>ˆ>Ý Ð!CÑDÔDÐDØ�?Š?˜4Ñ Ô ð 	7 T§]¢]°4Ñ%8Ô%8ð 	7Ý×*Ò*¨4°Ñ6Ô6Ð6Ø�8ÒÐÝ×*Ò*¨4°Ñ6Ô6Ð6Øˆr   ÚargsÚkwargsc                ó   — | S ©Nr   )r   r$   r%   s      r   Ú__call__zUninferableBase.__call__'   s   € Øˆr   úLiteral[False]c                ó   — dS )NFr   r   s    r   Ú__bool__zUninferableBase.__bool__*   s   € Øˆur   c                ó,   — |                      | ¦  «        S r'   )Úvisit_uninferable)r   Úvisitors     r   r   zUninferableBase.accept/   s   € Ø×(Ò(¨Ñ.Ô.Ð.r   N)r   r   )r   r   r   r   )r$   r   r%   r   r   r   )r   r)   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__str__r#   r(   r+   Ú__nonzero__r   r   r   r   r   r      s‹   € € € € € ðð ð
ð ð ð ð €Gðð ð ð ðð ð ð ðð ð ð ð €Kð/ð /ð /ð /ð /r   r   r   r   c                  ó   — e Zd ZdZdS )ÚBadOperationMessagezÀObject which describes a TypeError occurred somewhere in the inference chain.

    This is not an exception, but a container object which holds the types and
    the error which occurred.
    N)r/   r0   r1   r2   r   r   r   r6   r6   6   s   € € € € € ðð ð ð r   r6   c                  ó<   — e Zd ZdZd„ Zed„ ¦   «         Zd„ Zd	d„ZdS )
ÚBadUnaryOperationMessagez8Object which describes operational failures on UnaryOps.c                ó0   — || _         || _        || _        d S r'   )ÚoperandÚopÚerror)r   r:   r;   r<   s       r   Ú__init__z!BadUnaryOperationMessage.__init__A   s   € ØˆŒØˆŒØˆŒ
ˆ
ˆ
r   c                ó   — ddl m} |j        S )Nr   )Úhelpers)Úastroidr?   Úobject_type)r   r?   s     r   Ú_object_type_helperz,BadUnaryOperationMessage._object_type_helperF   s   € à#Ð#Ð#Ð#Ð#Ð#àÔ"Ð"r   c                ó^   — |                       |¦  «        }t          |t          ¦  «        rd S |S r'   )rB   Ú
isinstancer   )r   ÚobjÚobjtypes      r   Ú_object_typez%BadUnaryOperationMessage._object_typeL   s1   € Ø×*Ò*¨3Ñ/Ô/ˆÝ�g�Ñ/Ô/ð 	Ø�4àˆr   r   r   c                ó  — t          | j        d¦  «        r| j        j        }nF|                      | j        ¦  «        }t          |d¦  «        r|j        }n|                     ¦   «         }d}|                     | j        |¦  «        S )Nr   z!bad operand type for unary {}: {})Úhasattrr:   r   rG   Ú	as_stringÚformatr;   )r   Úoperand_typerA   Úmsgs       r   r3   z BadUnaryOperationMessage.__str__S   s�   € Ý�4”< Ñ(Ô(ð 	7Øœ<Ô,ˆLˆLà×+Ò+¨D¬LÑ9Ô9ˆKÝ�{ FÑ+Ô+ð 7Ø*Ô/��ð  +×4Ò4Ñ6Ô6�à1ˆØ�zŠz˜$œ' <Ñ0Ô0Ð0r   N©r   r   )	r/   r0   r1   r2   r=   ÚpropertyrB   rG   r3   r   r   r   r8   r8   >   sg   € € € € € ØBÐBðð ð ð
 ð#ð #ñ „Xð#ð
ð ð ð1ð 1ð 1ð 1ð 1ð 1r   r8   c                  ó    — e Zd ZdZd„ Zdd„ZdS )ÚBadBinaryOperationMessagez.Object which describes type errors for BinOps.c                ó0   — || _         || _        || _        d S r'   )Ú	left_typeÚ
right_typer;   )r   rS   r;   rT   s       r   r=   z"BadBinaryOperationMessage.__init__e   s   € Ø"ˆŒØ$ˆŒØˆŒˆˆr   r   r   c                óf   — d}|                      | j        | j        j        | j        j        ¦  «        S )Nz1unsupported operand type(s) for {}: {!r} and {!r})rK   r;   rS   r   rT   )r   rM   s     r   r3   z!BadBinaryOperationMessage.__str__j   s)   € ØAˆØ�zŠz˜$œ' 4¤>Ô#6¸¼Ô8LÑMÔMÐMr   NrN   )r/   r0   r1   r2   r=   r3   r   r   r   rQ   rQ   b   sC   € € € € € Ø8Ð8ðð ð ð
Nð Nð Nð Nð Nð Nr   rQ   r   Úboolc                ó¬   — | j         }|j        }||u pt          ||¦  «        }t          j        | j        j        ›d|j        ›d�t          d¬¦  «         |S )Nz: is deprecated and slated for removal in astroid 2.0, use z insteadé   )Ú
stacklevel)Ú__wrapped__Ú	__class__Ú
issubclassÚwarningsÚwarnr/   ÚPendingDeprecationWarning)ÚclsÚotherÚwrappedÚ	other_clsÚis_instance_ofs        r   Ú_instancecheckre   o   so   € ØŒo€GØ”€IØ 	Ð)ÐK­Z¸	À7Ñ-KÔ-K€NÝ„Mà!$¤Ô!7Ð!7Ð!7¸Ô9IÐ9IÐ9Ið	Kå!Øð	ñ ô ð ð Ðr   c                 óH   — t          d„ t          j        D ¦   «         ¦  «        S )z Return True if any other than the default DeprecationWarning filter is enabled.

    https://docs.python.org/3/library/warnings.html#default-warning-filter
    c              3  ó|   K  — | ]7}t          t          |d          ¦  «        o|d         dk    o|d         dk    V — Œ8dS )rX   r   Úignoreé   Ú__main__N)r\   ÚDeprecationWarning)Ú.0Úfilters     r   ú	<genexpr>z(check_warnings_filter.<locals>.<genexpr>�   si   è è € ð ð ð õ 	Õ% v¨a¤yÑ1Ô1ð 	$Ø�1ŒI˜Ò!ð	$à�1ŒI˜Ò#ðð ð ð ð ð r   )Úanyr]   Úfiltersr   r   r   Úcheck_warnings_filterrq   |   s7   € õ
 ð ð õ Ô&ð	ñ ô ñ ô ð r   Únodeú,nodes.NodeNG | bases.Proxy | UninferableBaseÚcontextúInferenceContext | NoneúInferenceResult | Nonec                ó  — t          | t          ¦  «        r| S 	 |                      |¬¦  «        }t          |¦  «        }n# t          t
          f$ r Y dS w xY w	 t          |¦  «         dS # t          $ r Y dS t
          $ r |cY S w xY w)z¡Return the inferred value for the given node.

    Return None if inference failed or if there is some ambiguity (more than
    one node has been inferred).
    )rt   N)rD   r   Úinferr   r   ÚStopIteration)rr   rt   ÚinferitÚvalues       r   Ú
safe_inferr|   ‰   s¹   € õ �$�Ñ(Ô(ð ØˆðØ—*’* W�*Ñ-Ô-ˆÝ�W‘”ˆˆøÝ�MÐ*ð ð ð ØˆtˆtðøøøðÝˆW‰ŒˆØˆtøÝð ð ð ØˆtˆtÝð ð ð Øˆˆˆðøøøs'   ™%? ¿AÁAÁA) Á)
BÁ6BÂB)r   rV   r'   )rr   rs   rt   ru   r   rv   )Ú
__future__r   r]   Útypingr   r   r   r   Úastroid.exceptionsr   r@   r	   r
   Úastroid.contextr   Úastroid.typingr   r   r   Ú__annotations__r6   r8   rQ   re   rq   r|   r   r   r   ú<module>rƒ      sº  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à -Ð -Ð -Ð -Ð -Ð -àð /Ø$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø0Ð0Ð0Ð0Ð0Ð0Ø.Ð.Ð.Ð.Ð.Ð.ð/ð /ð /ð /ð /ñ /ô /ð /ð@ %�_Ñ&Ô&€Ð &Ð &Ð &Ñ &ðð ð ð ð ñ ô ð ð!1ð !1ð !1ð !1ð !1Ð2ñ !1ô !1ð !1ðH
Nð 
Nð 
Nð 
Nð 
NÐ 3ñ 
Nô 
Nð 
Nð
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð (,ðð ð ð ð ð ð r   