+
    –°³jQ  ã                   óÈ  € ^ RI t ^ RIt^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHu Ht ^ RIHt . ROt]P.                  P0                  t]P.                  P4                  t]P.                  P8                  tRt]! R4      t]
! R	4      t ]
! R
4      t!R R lt"]R R l4       t#R R lt$R R lt% ! R R4      t&R R lt'R R lt(]R R l4       t)R# )é    N)ÚCallableÚ	GeneratorÚIterator)Úcontextmanager)ÚTypeVar)Ú	ParamSpec)ÚDispatchKeyFÚ_PÚ_TÚ_Rc                ób   € V ^8„  d   QhR\         \        P                  P                  ,          /# ©é   Úreturn)r   ÚtorchÚ_opsÚ
OpOverload)Úformats   "ÚW/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_dispatch/python.pyÚ__annotate__r      s"   € ÷ 0ñ 0¤¬%¯*©*×*?Ñ*?Õ!@ñ 0ó    c               #  óÄ   "  € \         P                   FG  p \        \         P                  V 4      pV F$  p\        W4      pV F  p\        W44      x € K  	  K&  	  KI  	  R# 5i)aŒ  
Warning: the set of overloads this will report is very subtle.  It is precisely
the set of torch.ops functions that have actually been accessed from Python
(e.g., we actually called torch.ops.aten.blah at some point.  This is DIFFERENT
from the set of registered operators, which will in general be a larger set,
as this would include all operators which we ran C++ static initializers or
Python operator registration on.  This does not eagerly populate the list on
torch.ops.aten; this list is lazy!

In other words, this is good for traversing over everything that has an
OpOverload object allocated in Python.  We use it for cache invalidation, but
don't rely on this list being complete.

Note that even if we did report all C++ registered overloads, this isn't guaranteed
to be complete either, as a subsequent lazy load of a library which triggers more
registrations could add more things to the set.
N)r   ÚopsÚgetattr)ÚnsÚpacketsÚop_nameÚpacketÚoverloads        r   Úall_py_loaded_overloadsr       sN   é € ô$ �iŒiˆÜœ%Ÿ)™) RÓ(ˆÛˆGÜ˜WÓ.ˆFÛ"�Ü˜fÓ/Ô/ó #ó ó ùs   ‚AA c                ó2   € V ^8„  d   QhR\         R,          /# ©r   r   )NNN©r   )r   s   "r   r   r   8   s   € ÷ @ñ @¤9Ð-=Õ#>ñ @r   c               #   óœ  "  € \         P                  P                  \         P                  P                  P                  4      p \         P                  P                  4       pV '       d   \         P                  ! 4         R x € V '       d   \         P                  ! VR7       R # R #   T '       d   \         P                  ! TR7       i i ; i5i)N)Úreapply_views)r   Ú_CÚ&_dispatch_tls_is_dispatch_key_includedr	   ÚFunctionalizeÚ$_functionalization_reapply_views_tlsÚ_disable_functionalizationÚ_enable_functionalization)Úf_tlsÚf_rvs     r   Úsuspend_functionalizationr.   7   s„   é € ä�H‰H×;Ñ;Ü�‰×Ñ×*Ñ*ó€Eô �8‰8×8Ñ8Ó:€DßÜ×(Ò(Ô*ð@ÛçÜ×+Ò+¸$×?ñ ø�5Ü×+Ò+¸$Ö?ð üs   ‚A=CÂ B' Â#CÂ'"C	Ã	Cc                ó‚   € V ^8„  d   QhR\         P                  R\         P                  R\        . \        3,          RR/# )r   ÚnvÚrvÚdescr   N)r   ÚTensorr   Ústr)r   s   "r   r   r   F   s=   € ÷ 
ñ 
Ü�‰ð
ÜŸ,™,ð
Ü.6°r¼3°wÕ.?ð
à	ñ
r   c           
      óX  € \        V4      '       g   \        R \        V4       24      hV P                  4       VP                  4       8w  d5   \        V! 4        RV P                  4        RVP                  4        24      hV P                  VP                  8w  d-   \        V! 4        RV P                   RVP                   24      h\
        P                  P                  WRR7      w  r4V'       g9   \        V! 4        RV P                  4        RVP                  4        RV R24      hR	# )
údesc must be callable, got z: sizes ú != z: dtype F)Ú	only_cudaz
: strides z (mismatch at index Ú)N)	ÚcallableÚAssertionErrorÚtypeÚsizeÚdtyper   Ú_prims_commonÚcheck_significant_stridesÚstride)r0   r1   r2   Úsame_stridesÚidxs   &&&  r   Úcheck_tensor_metadata_matchesrD   F   s  € ô �D�>Š>ÜÐ:¼4À»:¸,ÐGÓHÐHØ	‡w�wƒy�B—G‘G“IÔÜ¡£˜x x°·±³	¨{¸$¸r¿w¹w»y¸kÐJÓKÐKØ	‡x�x�2—8‘8ÔÜ¡£˜x x°·±¨z¸¸b¿h¹h¸ZÐHÓIÐIÜ×+Ñ+×EÑEØ
˜%ð Fó Ñ€L÷ ÜÙ‹vˆh�j §¡£ ¨T°"·)±)³+°Ð>RÐSVÐRWÐWXÐYó
ð 	
ñ r   c                óZ   € V ^8„  d   QhR\         R\         R\        . \        3,          RR/# )r   ÚnÚrr2   r   N)Úobjectr   r4   )r   s   "r   r   r   X   s7   € ÷ Nñ Nœfð N¬ð N´xÀÄCÀÕ7Hð NÈTñ Nr   c                 óæ  aa	€ \        S4      '       g   \        R \        S4       24      h\        P                  ! V 4      w  r4\        P                  ! V4      w  rV\        V4      \        V4      8w  d#   \        \        V4       R\        V4       24      h\        \        \        V4      4      W54       F9  w  o	rx\        V\        P                  4      '       g   K(  \        WxVV	3R l4       K;  	  R# )r6   r7   c                  ó   <€ S ! 4        R S 2# )z output © )r2   Úis   €€r   Ú<lambda>Ú(check_metadata_matches.<locals>.<lambda>d   s   ø€ ¹»¸ÀÈÈÑ6Lr   N)r:   r;   r<   ÚpytreeÚtree_flattenÚlenÚzipÚrangeÚ
isinstancer   r3   rD   )
rF   rG   r2   Ún_valsÚ_n_specÚr_valsÚ_r_specr0   r1   rL   s
   &&f      @r   Úcheck_metadata_matchesrY   X   s´   ù€ Ü�D�>Š>ÜÐ:¼4À»:¸,ÐGÓHÐHÜ×)Ò)¨!Ó,�O€FÜ×)Ò)¨!Ó,�O€Fô ˆ6ƒ{”c˜&“kÔ!Ü¤ F£˜}¨D´°V³°Ð>Ó?Ð?Üœœs 6›{Ó+¨VÖ<‰	ˆˆ2Ü˜"œeŸl™l×+Ò+ÙÜ% bÕ.LÖMó =r   c                   óD   a € ] tR t^gt o V 3R lR ltV 3R lR ltRtV tR# )ÚLitc                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Úsr   N©r4   )r   Ú__classdict__s   "€r   r   ÚLit.__annotate__h   s   ø€ ÷ ñ ™#ð  $ñ r   c                ó   € Wn         R # ©N©r]   )Úselfr]   s   &&r   Ú__init__ÚLit.__init__h   s   € ØŽr   c                ó    <€ V ^8„  d   QhRS[ /# r   r^   )r   r_   s   "€r   r   r`   k   s   ø€ ÷ ñ ™#ñ r   c                ó   € V P                   # rb   rc   )rd   s   &r   Ú__repr__ÚLit.__repr__k   s   € Ø�v‰vˆr   rc   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__re   ri   Ú__static_attributes__Ú__classdictcell__)r_   s   @r   r[   r[   g   s   ø‡ € ÷ð ÷ö r   r[   c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úar   )rH   )r   s   "r   r   r   o   s   € ÷ ñ ŒFð ”vñ r   c           	      óÎ   € \        V \        P                  4      '       dE   \        R \	        V P                  4       4       RV P                  4        RV P                   R24      # V # )ztorch.empty_strided(ú, z, dtype=r9   )rT   r   r3   r[   Útupler=   rA   r>   )rr   s   &r   Ú_fmtrv   o   sU   € Ü�!”U—\‘\×"Ò"ÜØ"¤5¨¯©«£?Ð"3°2°a·h±h³j°\ÀÈ!Ï'É'ÈÐRSÐTó
ð 	
ð ˆr   c                ó¾   € V ^8„  d   QhR\         P                  P                  \        \        3,          R\
        R\        \        \        3,          \
        ,          /# )r   ÚopÚ	final_keyr   )r   r   r   r
   r   r	   r   )r   s   "r   r   r   x   sJ   € ÷ Cñ CÜ�
‰
×Ñœb¤"˜fÕ%ðCÜ2=ðCäŒb”"ˆfÕœÕ#ñCr   c                 ó–   a aa€ ^ RI Ho S \        P                  P                  P
                  P                  J d   S# R VVV 3R llpV# )r   )ÚFakeTensorModec                ód   € V ^8„  d   QhR\         P                  R\         P                  R\        /# )r   ÚargsÚkwargsr   )r
   r}   r~   r   )r   s   "r   r   Ú1make_crossref_functionalize.<locals>.__annotate__�   s)   € ÷ 8ñ 8”r—w‘wð 8¬"¯)©)ð 8¼ñ 8r   c                  óN  <a	a
a€ S! 4       o	R  V	3R llpR R lp\         P                  P                  P                  4       ;_uu_ 4        \	        4       ;_uu_ 4        \
        P                  ! W V34      w  rE\
        P                  ! W4V34      w  o
oS	;_uu_ 4        S! V/ VB pRRR4       RRR4       RRR4       SP                  ! S.V O5/ VB pR VV
V3R llp\        XWx4       V#   + '       g   i     LO; i  + '       g   i     LZ; i  + '       g   i     Le; i)c                ó‚   € V ^8„  d   QhR\         R\         \        P                  P                  P                  ,          /# ©r   Útr   )r   r   Ú_subclassesÚfake_tensorÚ
FakeTensor)r   s   "r   r   ÚBmake_crossref_functionalize.<locals>.handler.<locals>.__annotate__„   s1   € ÷ 	ñ 	œRð 	¤B¬×):Ñ):×)FÑ)F×)QÑ)QÕ$Qñ 	r   c                 ó  <€ \        V \        P                  4      '       dç   \        P                  ! V 4      '       d¸   \        P                  ! V 4      pV P                  4       VP                  4       8w  d.   \        R V P                  4        RVP                  4        24      hV P                  4       VP                  4       8w  d.   \        RV P                  4        RVP                  4        24      hMT pSP                  V4      # V # )zsize mismatch: r7   zstride mismatch: )	rT   r   r3   Ú_is_functional_tensorÚ_from_functional_tensorr=   r;   rA   Úfrom_tensor)rƒ   rG   Ú	fake_modes   & €r   Úfakeify_defunÚCmake_crossref_functionalize.<locals>.handler.<locals>.fakeify_defun„   sÎ   ø€ Ü˜!œUŸ\™\×*Ò*Ü×.Ò.¨q×1Ò1Ü×5Ò5°aÓ8�Að
 —v‘v“x 1§6¡6£8Ô+Ü,¨¸q¿v¹v»x¸jÈÈQÏVÉVËXÈJÐ-WÓXÐXØ—x‘x“z Q§X¡X£ZÔ/Ü,Ø/°·±³
¨|¸4ÀÇÁÃ
¸|ÐLóð ð 0ð
 �Aà ×,Ñ,¨QÓ/Ð/ØˆHr   c                óZ   € V ^8„  d   QhR\         R\         \        P                  ,          /# r‚   )r   r   r3   )r   s   "r   r   r‡   ˜   s#   € ÷ 	ñ 	œBð 	¤2¬¯©Õ#4ñ 	r   c                 óf   € \        V \        P                  4      '       d   V P                  4       # V # rb   )rT   r   r3   Údetach)rƒ   s   &r   Úmaybe_detachÚBmake_crossref_functionalize.<locals>.handler.<locals>.maybe_detach˜   s$   € Ü˜!œUŸ\™\×*Ò*Ø—x‘x“zÐ!à�r   Nc                ó$   € V ^8„  d   QhR\         /# r   r^   )r   s   "r   r   r‡   ¬   s   € ÷ 
	'ñ 
	'”cñ 
	'r   c                  ó˜   <€ R P                  \        P                  ! R S 4       R SP                  4        4       4      4      p S RV  R2# )rt   c              3   ój   "  € T F)  p\        \        P                  ! \        V4      4      x € K+  	  R # 5irb   )ÚreprrO   Útree_maprv   )Ú.0rr   s   & r   Ú	<genexpr>ÚMmake_crossref_functionalize.<locals>.handler.<locals>.desc.<locals>.<genexpr>¯   s#   é € ÐI¹[¸”Tœ&Ÿ/š/¬$°Ó2×3Ð3»[ùs   ‚13c              3   óf   "  € T F'  w  rV R \         P                  ! \        V4       2x € K)  	  R# 5i)Ú=N)rO   r˜   rv   )r™   ÚkÚvs   &  r   rš   r›   °   s0   é € ð á$9™D˜Að ˜#˜QœvŸš¬t°QÓ7Ð8Õ9Û$9ùs   ‚/1Ú(r9   )ÚjoinÚ	itertoolsÚchainÚitems)Úfmt_argsrx   Úorig_f_argsÚorig_f_kwargss    €€€r   r2   Ú:make_crossref_functionalize.<locals>.handler.<locals>.desc¬   sP   ø€ Ø—y‘yÜ—’ÙI¹[ÓIñà$1×$7Ñ$7Ô$9óóóˆHð �T˜˜8˜* AÐ&Ð&r   )	r   ÚutilsÚ_python_dispatchÚ_disable_current_modesr.   rO   r˜   Ú_op_dkrY   )r}   r~   r�   r’   Úf_argsÚf_kwargsÚf_rrG   r2   rŒ   r¦   r§   r{   ry   rx   s   *,       @@@€€€r   ÚhandlerÚ,make_crossref_functionalize.<locals>.handler�   sä   û€ Ù"Ó$ˆ	÷	ð 	õ(	ô �K‰K×(Ñ(×?Ñ?×AÕAÜ%×'Õ'ä%Ÿš¨}ÀV¸nÓMÑˆFÜ)/¯ªØ xÐ0ó*Ñ&ˆK˜÷ ’Ù˜&Ð- HÑ-�÷ ÷ (÷ Bð �IŠI�iÐ1 $Ò1¨&Ñ1ˆ÷
	'ò 
	'ô 	˜s AÔ,Øˆ÷# —ú÷ (×'ú÷ B×Aús=   ÁDÁA D	Â	C.Â'D	Â/DÃ.C>Ã9D	ÄDÄDÄD$	)Útorch._subclasses.fake_tensorr{   r   r   ÚatenÚ
lift_freshÚdefault)rx   ry   r°   r{   s   ff @r   Úmake_crossref_functionalizer¶   x   s>   ú€ õ =ð 
ŒU�Y‰Y�^‰^×&Ñ&×.Ñ.Ó.ØÐ÷8ò 8ðt €Nr   c                ó2   € V ^8„  d   QhR\         R,          /# r"   r#   )r   s   "r   r   r   Á   s   € ÷ Eñ E¤yÐ1AÕ'Bñ Er   c            	   #   óž  "  € \        4        F6  p V P                  \        P                  P                  P
                  4       K8  	   \        4       ;_uu_ 4        \        P                  P                  R R4      ;_uu_ 4        Rx € RRR4       RRR4       \        4        F6  p V P                  \        P                  P                  P
                  4       K8  	  R#   + '       g   i     L^; i  + '       g   i     Li; i  \        4        F6  p T P                  \        P                  P                  P
                  4       K8  	  i ; i5i)z-torch._dispatch.python.CROSSREF_FUNCTIONALIZETN)
r    Ú_uncache_dispatchr   r&   r	   r(   Úenable_python_dispatcherÚunittestÚmockÚpatch)rx   s    r   Úenable_crossref_functionalizer¾   À   sÓ   é € ä%Ö'ˆØ
×ÑœUŸX™X×1Ñ1×?Ñ?Ö@ñ (ðEä$×&Õ&Ü�M‰M×ÑÐ OÐQU×VÕVã÷ W÷ 'ô
 *Ö+ˆBØ× Ñ ¤§¡×!5Ñ!5×!CÑ!CÖDó ,÷	 W×Vú÷ '×&ûô
 *Ö+ˆBØ× Ñ ¤§¡×!5Ñ!5×!CÑ!CÖDò ,üsP   ‚AEÁD Á)C1ÂC	ÂC1ÂD ÂAEÃC.Ã)C1Ã1D	Ã<D ÄAE
Å
E)rº   Úno_python_dispatcherÚenable_pre_dispatch)*r¢   Úunittest.mockr»   Úcollections.abcr   r   r   Ú
contextlibr   Útypingr   Útyping_extensionsr   r   Útorch._CÚ
torch._opsÚtorch.utils._python_dispatchÚtorch.utils._pytreer©   Ú_pytreerO   r	   Ú__all__r&   Ú_DisablePythonDispatcherr¿   Ú_EnablePythonDispatcherrº   Ú_EnablePreDispatchrÀ   ÚCROSSREF_FUNCTIONALIZEr
   r   r   r    r.   rD   rY   r[   rv   r¶   r¾   rK   r   r   Ú<module>rÐ      sÚ   ðÛ Û ß 9Ñ 9Ý %Ý Ý 'ã Û Û Û #ß $Ð $Ý  ò V€à—x‘x×8Ñ8Ð Ø Ÿ8™8×;Ñ;Ð Ø—h‘h×1Ñ1Ð àÐ áˆtƒ_€ÙˆTƒ]€ÙˆTƒ]€õ0ð4 ô@ó ð@õ
õ$N÷ñ õõCðP ôEó òEr   