+
    –°³ja  ã                   óš   € ^ RI t ^ RIt^ RIHt ^ RIHt ^RIHtHt ]P                  ! ]
4      t ! R R]4      t ! R R4      t]! 4       tR# )	é    N)ÚProtocol©ÚVersion)Ú	_OpCondFnÚ	_OpImplFnc                   óx   a € ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltRR	R
R	/V 3R lR lltRt	V t
R# )ÚDSLModuleProtocolz*Complete interface for DSL utility modulesc                ó    <€ V ^8„  d   QhRS[ /# )é   Úreturn)Úbool)ÚformatÚ__classdict__s   "€Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_native/dsl_registry.pyÚ__annotate__ÚDSLModuleProtocol.__annotate__   s   ø€ ×,Ñ,¡4Ñ,ó    c                ó   € R # ©N© ©Úselfs   &r   Úruntime_availableÚ#DSLModuleProtocol.runtime_available   s   € ©r   c                ó.   <€ V ^8„  d   QhRS[ R,          /# ©r   r   Nr   )r   r   s   "€r   r   r      s   ø€ ×4Ñ4¡¨4¥Ñ4r   c                ó   € R # r   r   r   s   &r   Úruntime_versionÚ!DSLModuleProtocol.runtime_version   s   € ±r   c                ó   <€ V ^8„  d   QhRR/# r   r   )r   r   s   "€r   r   r      s   ø€ ×2Ñ2¨Ñ2r   c                ó   € R # r   r   r   s   &r   Úderegister_op_overridesÚ)DSLModuleProtocol.deregister_op_overrides   s   € ©sr   Úallow_multiple_overrideFÚunconditional_overridec                óV   <€ V ^8„  d   QhRS[ RS[ RS[ RS[R,          RS[RS[RS[R	R/# )
r   Ú
lib_symbolÚ	op_symbolÚdispatch_keyÚcondNÚimplr$   r%   r   )Ústrr   r   r   )r   r   s   "€r   r   r      s`   ø€ ÷ 
ñ 
áð
ñ ð
ñ ð	
ñ
 ˜$Õð
ñ ð
ñ "&ð
ñ !%ð
ð 
ñ
r   c               ó   € R # r   r   )r   r'   r(   r)   r*   r+   r$   r%   s   &&&&&&$$r   Úregister_op_overrideÚ&DSLModuleProtocol.register_op_override   s   € ñ r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r"   r.   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r	   r	      s=   ø‡ € Ù4ç,Ð,ß4Ð4ç2Ð2ð
ð ).ð
ð (-÷
÷ 
ð 
r   r	   c                   ó   a € ] tR t^$t o RtR tV 3R lR ltV 3R lR lt]P                  V 3R lR l4       t
]P                  V 3R	 lR
 l4       t]P                  V 3R lR l4       t]P                  V 3R lR l4       tV 3R lR ltRtV tR# )ÚDSLRegistryzIRegistry for DSL modules - calls their existing API functions dynamicallyc                ó   € / V n         R # r   ©Ú_dsl_modulesr   s   &r   Ú__init__ÚDSLRegistry.__init__'   s
   € Ø:<ˆÖr   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©r   Únamer   N)r,   )r   r   s   "€r   r   ÚDSLRegistry.__annotate__*   s   ø€ ÷ Gñ G¡sð G¨tñ Gr   c                ó¶   € \        V\        4      '       g"   \        R\        V4      P                   24      hVP                  4       '       g   \        R4      hR# )zValidate DSL name at runtimezDSL name must be string, got z&DSL name cannot be empty or whitespaceN)Ú
isinstancer,   Ú	TypeErrorÚtyper0   ÚstripÚ
ValueError©r   rA   s   &&r   Ú_validate_dsl_nameÚDSLRegistry._validate_dsl_name*   sI   € ä˜$¤×$Ò$ÜÐ;¼DÀ»J×<OÑ<OÐ;PÐQÓRÐRà�z‰z�|Š|ÜÐEÓFÐFñ r   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   rA   Ú
dsl_moduler   N©r,   r	   )r   r   s   "€r   r   rB   2   s#   ø€ ÷ 0:ñ 0:¡ð 0:Ñ2Cð 0:Èñ 0:r   c                óx  € V P                  V4       . ROpV Uu. uF  p\        W$4      '       d   K  VNK  	  ppV'       d   \        RV RV 24      hWP                  9   dG   V P                  V,          pWbJ d   \        P                  RV4       R# \        P                  RV4       W P                  V&   V P                  P                  4        V P                  P                  4        V P                  P                  4        V P                  P                  4        \        P                  RV4       R# u upi )z-Register a DSL module with required interfacezDSL module 'z' missing required methods: z'DSL '%s' re-registered with same moduleNzPDSL '%s' re-registered with different module object (possibly from test imports)zSuccessfully registered DSL: %s)r   r   r.   r"   )rJ   ÚhasattrrE   r<   ÚlogÚdebugÚwarningÚis_dsl_availableÚcache_clearÚget_dsl_versionÚlist_available_dslsÚlist_all_dslsÚinfo)r   rA   rM   Úrequired_methodsÚmethodÚmissing_methodsÚexisting_modules   &&&    r   Úregister_dslÚDSLRegistry.register_dsl2   s$  € ð 	×Ñ Ô%ò
Ðñ "2ó
Ù!1�v¼À×9T�FˆFÑ!1ð 	ð 
÷ ÜØ˜t˜fÐ$@ÀÐ@QÐRóð ð
 ×$Ñ$Ô$Ø"×/Ñ/°Õ5ˆOØÓ,ä—	‘	Ø=Øôñ ô —‘ØfØôð #-×Ñ˜$Ñð 	×Ñ×)Ñ)Ô+Ø×Ñ×(Ñ(Ô*Ø× Ñ ×,Ñ,Ô.Ø×Ñ×&Ñ&Ô(ä�‰Ð2°DÖ9ùòI
s
   šD7²D7c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Údsl_namer   )r,   r   )r   r   s   "€r   r   rB   e   s   ø€ ÷ ñ ©ð ±ñ r   c                ó   € V P                   P                  V4      pVf   R#  VP                  4       #   \         d    \        P                  RTRR7        R# \         d    \        P                  RT4        R# i ; i)z<Check if DSL is available by calling its runtime_available()FzDSL %s import errorT©Úexc_infoz&Error checking availability for DSL %s)r<   Úgetr   ÚImportErrorrQ   rR   Ú	ExceptionÚ	exception©r   ra   rM   s   && r   rT   ÚDSLRegistry.is_dsl_availabled   sv   € ð ×&Ñ&×*Ñ*¨8Ó4ˆ
ØÒÙð	Ø×/Ñ/Ó1Ð1øÜô 	Ü�I‰IÐ+¨XÀˆIÔEÚÜô 	Ü�M‰MÐBÀHÔMÚð	ús   £3 ³#A=ÁA=Á"A=Á<A=c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r   ra   r   N)r,   r   )r   r   s   "€r   r   rB   t   s   ø€ ÷ 	ñ 	©ð 	±¸$µñ 	r   c                óº   € V P                   P                  V4      pVf   R#  VP                  4       #   \         d    \        P                  RTRR7        R# i ; i)z0Get DSL version by calling its runtime_version()Nz Error getting version for DSL %sTrc   )r<   re   r   rg   rQ   rR   ri   s   && r   rV   ÚDSLRegistry.get_dsl_versions   s\   € ð ×&Ñ&×*Ñ*¨8Ó4ˆ
ØÒÙð	Ø×-Ñ-Ó/Ð/øÜô 	Ü�I‰IÐ8¸(ÈTˆIÔRÚð	ús   £3 ³#AÁAc                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# ©r   r   .©Útupler,   )r   r   s   "€r   r   rB   €   s   ø€ ÷  ñ  ¡U©3°¨8¥_ñ  r   c                ó–   € . pV P                    F-  pV P                  V4      '       g   K  VP                  V4       K/  	  \        V4      # )z%Get names of currently available DSLs)r<   rT   Úappendrq   )r   Ú	availablerA   s   &  r   rW   ÚDSLRegistry.list_available_dsls   sE   € ð ˆ	Ø×%Ô%ˆDØ×$Ñ$ T×*Ô*Ø× Ñ  Ö&ñ &ô �YÓÐr   c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# ro   rp   )r   r   s   "€r   r   rB   ‰   s   ø€ ÷ /ñ /™u¡S¨# X�ñ /r   c                óH   € \        V P                  P                  4       4      # )z/Get all registered DSL names (available or not))rq   r<   Úkeysr   s   &r   rX   ÚDSLRegistry.list_all_dslsˆ   s   € ô �T×&Ñ&×+Ñ+Ó-Ó.Ð.r   c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# r@   rN   )r   r   s   "€r   r   rB   �   s!   ø€ ÷ 	+ñ 	+¡3ð 	+Ñ+<¸tÕ+Cñ 	+r   c                ó8   € V P                   P                  V4      # )z�Get a registered DSL module by name.

Args:
    name: Name of the DSL to retrieve.

Returns:
    The DSL module if registered, None otherwise.
)r<   re   rI   s   &&r   Úget_dsl_moduleÚDSLRegistry.get_dsl_module�   s   € ð × Ñ ×$Ñ$ TÓ*Ð*r   r;   N)r0   r1   r2   r3   r4   r=   rJ   r^   Ú	functoolsÚcacherT   rV   rW   rX   r|   r5   r6   r7   s   @r   r9   r9   $   sŽ   ø‡ € ÙSò=÷Gð G÷0:ð 0:ðd ‡_�_÷ó ðð ‡_�_÷	ó ð	ð ‡_�_÷ ó ð ð ‡_�_÷/ó ð/÷	+ö 	+r   r9   )r~   ÚloggingÚtypingr   Útorch._vendor.packaging.versionr   Úregistryr   r   Ú	getLoggerr0   rQ   r	   r9   Údsl_registryr   r   r   Ú<module>r†      sJ   ðó Û Ý å 3ç *ð ×Ò˜Ó!€ô˜ô ÷*r+ñ r+ñl ‹}‚r   