
    9iL                     6   % S SK r S SKrS SKrS SKJr  S SKJrJrJr  S SK	J
r
  SSKJr  SSKJr  \R                  S:  a  S S	KJr  OS S	KJr  \" S
\\\4   S9rS\
S\\   S\\   4S jr\" SS9 " S S5      5       rS\\\4   4S jr\" 5       r\\\4   \S'   g)    N)	dataclass)TypeTypeVarUnion)
ModuleType   )
DriverBase)BaseBackend)   
   )entry_pointsT)boundmodule
base_classreturnc                    / n[        U 5       He  n[        X5      n[        U[        5      (       d  M%  [	        XA5      (       d  M7  [
        R                  " U5      (       a  MT  UR                  U5        Mg     [        U5      S:X  a  [        SU SU  SU 35      e[        U5      S:  a  [        SU SU  SU 35      eUS   $ )Nr   zFound 0 concrete subclasses of z in z: r   z Found >1 concrete subclasses of )
dirgetattr
isinstancetype
issubclassinspect
isabstractappendlenRuntimeError)r   r   ret	attr_nameattrs        X/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/triton/backends/__init__.py_find_concrete_subclassesr"      s    C[	v)dD!!j&B&B7K]K]^bKcKcJJt ! 3x1}<ZLVHTVWZV[\]]
3x!|=j\fXUWX[W\]^^q6M    T)frozenc                   6    \ rS rSr% \\   \S'   \\   \S'   Srg)Backend   compilerdriver N)	__name__
__module____qualname____firstlineno__r   r
   __annotations__r	   __static_attributes__r*   r#   r!   r&   r&      s    ;r#   r&   c                  J   [        5       n [        5       R                  SS9 H}  n[        R                  " UR
                   S35      n[        R                  " UR
                   S35      n[        [        U[        5      [        U[        5      5      XR                  '   M     U $ )Nztriton.backends)groupz	.compilerz.driver)dictr   select	importlibimport_modulevaluer&   r"   r
   r	   name)backendsepr(   r)   s       r!   _discover_backendsr;   %   s    vHn##*;#<**bhhZy+AB((BHH:W)=>#$=h$T$=fj$QS =
 Or#   r9   )r5   r   sysdataclassesr   typingr   r   r   typesr   r)   r	   r(   r
   version_infoimportlib.metadatar   importlib_metadatar   r"   r&   r3   strr;   r9   r/   r*   r#   r!   <module>rD      s      
 ! ' '   !w//Cu[*456
j 
d1g 
$q' 
 $  
Dg.   23$sG|
 3r#   