
    Xh                        d dl mZ ddlmZmZ d dlmZmZmZmZm	Z	 ddZ
 ed          Z G d	 d
ee                   Z G d d          Z e            ZdS )    )annotations   )backends
DriverBase)AnyCallableGenericTypeVarUnionreturnr   c                     d t          j                    D             } t          |           dk    r"t          t          |            d|  d           | d                     S )Nc                N    g | ]"}|j                                         |j         #S  )driver	is_active).0xs     g/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/triton/runtime/driver.py
<listcomp>z"_create_driver.<locals>.<listcomp>	   s-    RRR1QX=O=O=Q=QRahRRR       z active drivers (z). There should only be one.r   )r   valueslenRuntimeError)active_driverss    r   _create_driverr      sj    RR(9(9RRRN
>ac.11ppNpppqqq>!r   Tc                  P     e Zd ZddZddZdd	Zd fdZddZddZddZ	 xZ
S )	LazyProxyinit_fnCallable[[], T]r   Nonec                "    || _         d | _        d S N_init_fn_obj)selfr    s     r   __init__zLazyProxy.__init__   s    $(			r   r   c                P    | j         |                                 | _         | j         S r$   )r'   r&   r(   s    r   _initialize_objzLazyProxy._initialize_obj   s!    9DIyr   r   c                F    t          |                                 |          S r$   )getattrr,   r(   names     r   __getattr__zLazyProxy.__getattr__   s    t++--t444r   r0   strvaluec                    |dv r$t                                          ||           d S t          |                                 ||           d S )Nr%   )super__setattr__setattrr,   )r(   r0   r3   	__class__s      r   r6   zLazyProxy.__setattr__    sS    '''GGe,,,,,D((**D%88888r   c                J    t          |                                 |           d S r$   )delattrr,   r/   s     r   __delattr__zLazyProxy.__delattr__&   s$    $$&&-----r   c                h    | j         d| j        j         d| j         dS t	          | j                   S )N<z for z not yet initialized>)r'   r8   __name__r&   reprr+   s    r   __repr__zLazyProxy.__repr__)   s8    9Yt~.YYT]YYYYDIr   c                D    t          |                                           S r$   )r2   r,   r+   s    r   __str__zLazyProxy.__str__.   s    4''))***r   )r    r!   r   r"   )r   r   )r   r   )r0   r2   r3   r   r   r"   )r0   r2   r   r"   )r   r2   )r>   
__module____qualname__r)   r,   r1   r6   r;   r@   rB   __classcell__)r8   s   @r   r   r      s        ) ) ) )   
5 5 5 59 9 9 9 9 9. . . .   
+ + + + + + + +r   r   c                  &    e Zd Zd	dZd
dZd	dZdS )DriverConfigr   r"   c                P    t          t                    | _        | j        | _        d S r$   )r   r   defaultactiver+   s    r   r)   zDriverConfig.__init__4   s    .7.G.G@Dr   r   r   c                    || _         d S r$   )rJ   )r(   r   s     r   
set_activezDriverConfig.set_active8   s    r   c                    | j         | _        d S r$   )rI   rJ   r+   s    r   reset_activezDriverConfig.reset_active;   s    lr   N)r   r"   )r   r   r   r"   )r>   rC   rD   r)   rL   rN   r   r   r   rG   rG   2   sT        M M M M   # # # # # #r   rG   N)r   r   )
__future__r   r   r   typingr   r   r	   r
   r   r   r   r   rG   r   r   r   r   <module>rQ      s    " " " " " " + + + + + + + + 9 9 9 9 9 9 9 9 9 9 9 9 9 9    GCLL+ + + + +
 + + +@
# 
# 
# 
# 
# 
# 
# 
# 
r   