
    \jx                       U d dl mZ d dlmZ  G d d          Z G d d          Z G d d          Zeez  ez  Z ed	          Zd
e	d<    ed          Z
d
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<    ed          Zd
e	d<   d S )!    )annotations)Finalc                  B    e Zd ZdZddZddZddZddZddZddZ	dS )Capsulez;Defines a C extension capsule that a primitive may require.namestrreturnNonec                    || _         d S Nr   )selfr   s     Q/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/mypyc/ir/deps.py__init__zCapsule.__init__	   s    			    c                    d| j         dS )NzCapsule(name=)r   r   s    r   __repr__zCapsule.__repr__   s    -ty----r   otherobjectboolc                L    t          |t                    o| j        |j        k    S r   )
isinstancer   r   r   r   s     r   __eq__zCapsule.__eq__   s     %))Edi5:.EEr   intc                .    t          d| j        f          S )Nr   )hashr   r   s    r   __hash__zCapsule.__hash__   s    Y	*+++r   	SourceDepc                r    | j                             d          d         }t          | d| d|g          S )zInternal source dependency of the capsule that should only be included in the C extensions
        that depend on the capsule, eg. by importing a type or function from the capsule.
        ./librt_z_api.c)include_dirs)r   splitr!   r   modules     r   internal_depzCapsule.internal_dep   sB     %%b)F996999QQQQr   	HeaderDepc                t    | j                             d          d         }t          | d| d|gd          S )a  External header dependency of the capsule that may be included in external headers of C
        extensions that depend on the capsule.

        The external headers of the C extensions are included by other C extensions that don't
        necessarily import the capsule. However, they may need type definitions from the capsule
        for types that are used in the exports table of the included C extensions.

        Only the external header should be included in this case because if the other C extension
        doesn't import the capsule, it also doesn't include the definition for its API table and
        including the internal header would result in undefined symbols.
        r#   r$   r%   .hFr&   internal)r   r'   r+   r(   s     r   external_depzCapsule.external_dep   sE     %%b)F556555VHW\]]]]r   N)r   r   r	   r
   r	   r   r   r   r	   r   r	   r   )r	   r!   )r	   r+   )
__name__
__module____qualname____doc__r   r   r   r    r*   r0    r   r   r   r      s        EE       . . . .F F F F, , , ,R R R R^ ^ ^ ^ ^ ^r   r   c                  B    e Zd ZdZdddddZddZddZddZddZdS )r!   aE  Defines a C source file that a primitive may require.

    Each source file must also have a corresponding .h file (replace .c with .h)
    that gets implicitly #included if the source is used.
    include_dirs are passed to the C compiler when the file is compiled as a
    shared library separate from the C extension.
    NTr.   pathr   r&   list[str] | Noner/   r   r	   r
   c               4    || _         |pg | _        || _        d S r   r:   r&   r/   r   r:   r&   r/   s       r   r   zSourceDep.__init__6   #      	#/#52'r   c                    d| j         dS )NzSourceDep(path=r   r:   r   s    r   r   zSourceDep.__repr__>       /////r   r   r   c                L    t          |t                    o| j        |j        k    S r   )r   r!   r:   r   s     r   r   zSourceDep.__eq__A        %++G	UZ0GGr   r   c                .    t          d| j        f          S )Nr!   r   r:   r   s    r   r    zSourceDep.__hash__D       [$),---r   c                8    | j                             dd          S )z0Get the header file path by replacing .c with .hz.cr-   )r:   replacer   s    r   
get_headerzSourceDep.get_headerG   s    y  t,,,r   r:   r   r&   r;   r/   r   r	   r
   r1   r2   r3   	r4   r5   r6   r7   r   r   r   r    rJ   r8   r   r   r!   r!   -   s          >BTX( ( ( ( ( (0 0 0 0H H H H. . . .- - - - - -r   r!   c                  B    e Zd ZdZdddddZddZddZddZddZdS )r+   a  Defines a C header file that a primitive may require.

    The header gets explicitly #included if the dependency is used.
    include_dirs are passed to the C compiler when the generated extension
    is compiled separately and needs to include the header.
    NTr.   r:   r   r&   r;   r/   r   r	   r
   c               4    || _         |pg | _        || _        d S r   r=   r>   s       r   r   zHeaderDep.__init__T   r?   r   c                    d| j         dS )NzHeaderDep(path=r   rA   r   s    r   r   zHeaderDep.__repr__\   rB   r   r   r   c                L    t          |t                    o| j        |j        k    S r   )r   r+   r:   r   s     r   r   zHeaderDep.__eq___   rD   r   r   c                .    t          d| j        f          S )Nr+   rF   r   s    r   r    zHeaderDep.__hash__b   rG   r   c                    | j         S r   rA   r   s    r   rJ   zHeaderDep.get_headere   s
    yr   rK   r1   r2   r3   rL   r8   r   r   r+   r+   L   s          >BTX( ( ( ( ( (0 0 0 0H H H H. . . .     r   r+   zlibrt.stringsr   LIBRT_STRINGSzlibrt.base64LIBRT_BASE64z
librt.vecs
LIBRT_VECSz
librt.time
LIBRT_TIMEzlibrt.randomLIBRT_RANDOMzbytes_extra_ops.cBYTES_EXTRA_OPSzbyteswriter_extra_ops.cBYTES_WRITER_EXTRA_OPSzstringwriter_extra_ops.cSTRING_WRITER_EXTRA_OPSzbytearray_extra_ops.cBYTEARRAY_EXTRA_OPSzstr_extra_ops.cSTR_EXTRA_OPSzvecs_extra_ops.cVECS_EXTRA_OPSN)
__future__r   typingr   r   r!   r+   
DependencyrS   __annotations__rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r8   r   r   <module>rb      s   " " " " " " "      $^ $^ $^ $^ $^ $^ $^ $^N- - - - - - - ->       : y 9,
 w// / / / /gn-- - - - -GL))
 ) ) ) )GL))
 ) ) ) )gn-- - - - -"#677 7 7 7 7 )	*C D D  D D D D!*+E!F!F  F F F F&Y'>??  ? ? ? ? y!233 3 3 3 3!	"455 5 5 5 5 5 5r   