§
    Ÿ²ÅjìŠ  ã                   ób  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlZd dlZd dl	Zd dl
mZ d dlmZ d dlmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ ej        j         Z!g d	¢Z"i Z#g Z$ej%        j&        j'        Z'd
„ Z(d„ Z) e(e'j*        j+        e'j*        j,        e'j-        j+        e'j-        j,        e'j.        j+        e'j.        j,        e'j/        j+        e'j/        j,        e'j0        j+        e'j0        j,        e'j1        j+        e'j1        j,        e'j1        j2        e'j1        j3        e'j4        j+        e'j4        j,        e'j5        j+        e'j5        j,        e'j6        j+        e'j6        j,        e'j7        j+        e'j7        j,        e'j8        j+        e'j8        j,        e'j9        j+        e'j9        j,        ¦  «        Z: e(e'j;        j+        e'j<        j+        e'j<        j,        e'j=        j+        e'j>        j?        e'j>        j@        e'jA        j+        e'jB        j+        e'jB        j,        e'jC        j+        e'jC        j,        ¦  «        ZDe'jE        fZFd„ ZG e jH        d¦  «        defd„¦   «         ZIdeeegeJf         ef         fd„ZKd„ ZLd„ ZM eKe#jN        ¦  «        d„ ¦   «         ZO eKeI¦  «         eKg e:¢¦  «        d„ ¦   «         ¦   «         ZP eKe'jA        j+        ¦  «        d„ ¦   «         ZQ eKe'j>        j@        ¦  «         eKe'j>        j?        ¦  «        d„ ¦   «         ¦   «         ZRd„ ZS eKeS¦  «        d„ ¦   «         ZT eKe'jU        j+        ¦  «        d„ ¦   «         ZU eKe'jV        j+        ¦  «        d„ ¦   «         ZV eKd„ ¦  «        d„ ¦   «         ZW	 dBd„ZX eKe'jY        j+        ¦  «        	 dBd „¦   «         ZZ eKe'j[        j+        ¦  «        	 dBd!„¦   «         Z[ eKe'j\        j]        ¦  «        dCd"„¦   «         Z^ eKej&        j'        j_        j+        ¦  «         eKej&        j'        j`        j+        ¦  «        d#„ ¦   «         ¦   «         Za eKej&        j'        jb        j+        ¦  «        d$„ ¦   «         Zb eKej&        j'        jc        j+        ¦  «        d%„ ¦   «         Zc eKej&        j'        jd        j+        ¦  «        dCd&„¦   «         Zd eKej&        j'        je        j+        ¦  «        d'„ ¦   «         Ze eKd(„ ¦  «        d)„ ¦   «         Zfd*„ Zgd+„ Zh e(d,d-d.¦  «        Zid/„ Zjd0„ Zk eKd1„ ¦  «        d2„ ¦   «         Zl eKe'jm        j]        ¦  «        d3„ ¦   «         Zn eKe'jo        j+        ¦  «        d4„ ¦   «         Zp eKe'jq        j+        ¦  «         eKe'jr        j+        ¦  «         eKe'js        j+        ¦  «         eKe'jt        j+        ¦  «        d5„ ¦   «         ¦   «         ¦   «         ¦   «         Zu eKe'jr        j,        ¦  «         eKe'jt        j,        ¦  «        d6„ ¦   «         ¦   «         Zv eKe'jw        j+        ¦  «         eKe'jx        j+        ¦  «        d7„ ¦   «         ¦   «         Zy eKe'j<        j+        ¦  «         eKe'j<        j,        ¦  «         eKe'jz        j+        ¦  «         eKe'j{        j+        ¦  «        d8„ ¦   «         ¦   «         ¦   «         ¦   «         Z| eKd9„ eDD ¦   «         ¦  «        d:„ ¦   «         Z} eKe'j~        j+        e'j        j+        g¦  «        d;„ ¦   «         Z€ eKej&        j'        j�        j+        ¦  «        d<„ ¦   «         Z�i Z‚defd=„Zƒd>„ Z„d?„ Z…d@„ Z† e jH        d¦  «        dA„ ¦   «         Z‡dS )Dé    N)ÚCallableÚUnion)Úno_python_dispatcher)Ú
OpOverload)Úelementwise_dtypesÚELEMENTWISE_TYPE_PROMOTION_KINDÚis_boolean_dtypeÚis_float_dtypeÚis_integer_dtype)ÚDataDependentOutputExceptionÚDynamicOutputShapeExceptionÚ
FakeTensorÚin_kernel_invocation_managerÚrun_fallback_kernelÚUnsupportedOperatorException)Únormalize_function©Úcount_label)Úop_implementations_checksÚget_fast_op_implsÚstride_incorrect_opÚhas_metac                  ó8   — t                                | d¦  «        S )NT)ÚdictÚfromkeys)Úitemss    úMC:\Projects\Historical\venv\Lib\site-packages\torch/_subclasses/fake_impls.pyÚordered_setr   1   s   € Ý�=Š=˜ Ñ%Ô%Ð%ó    c                 ó   — | j         dk    S )NÚhpu)Útype©Údevices    r   Úis_noncontiguous_supportedr%   7   s   € ØŒ;˜%ÒÐr   c                 óÈ   — t           j        j                             ¦   «         }|                      |¦  «        p*t          d„ |                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó4   K  — | ]}t          |¦  «        V — Œd S ©N)Úcontains_tensor_types)Ú.0Úes     r   ú	<genexpr>z(contains_tensor_types.<locals>.<genexpr>m   s<   è è € ð 0ð 0Ø%&Õ˜aÑ Ô ð0ð 0ð 0ð 0ð 0ð 0r   )ÚtorchÚ_CÚ
TensorTypeÚgetÚisSubtypeOfÚanyÚcontainedTypes)r"   Útensor_types     r   r)   r)   k   sg   € Ý”(Ô%×)Ò)Ñ+Ô+€KØ×Ò˜KÑ(Ô(ð ­Cð 0ð 0Ø*.×*=Ò*=Ñ*?Ô*?ð0ñ 0ô 0ñ -ô -ð r   Úfuncc                 ó  — t          | t          ¦  «        sJ ‚| j        }t          d„ |j        D ¦   «         ¦  «        rdS t          |j        ¦  «        dk    o4|j        d         j        t          j	        j
                             ¦   «         u S )Nc              3   ó>   K  — | ]}t          |j        ¦  «        V — Œd S r(   )r)   r"   ©r*   Úargs     r   r,   z)_is_tensor_constructor.<locals>.<genexpr>v   s-   è è € Ð
GÐ
G¨sÕ  ¤Ñ*Ô*Ð
GÐ
GÐ
GÐ
GÐ
GÐ
Gr   Fé   r   )Ú
isinstancer   Ú_schemar2   Ú	argumentsÚlenÚreturnsr"   r-   r.   r/   r0   )r5   Úschemas     r   Ú_is_tensor_constructorrA   r   s„   € å�d�JÑ'Ô'Ð'Ð'Ð'ØŒ\€FÝ
Ð
GÐ
G°fÔ6FÐ
GÑ
GÔ
GÑGÔGð Øˆuõ 	ˆFŒNÑÔ˜qÒ ÐX V¤^°AÔ%6Ô%;½u¼xÔ?R×?VÒ?VÑ?XÔ?XÐ%Xðr   Úrun_impl_checkc                 ó   ‡ — ˆ fd„}|S )Nc                 óB  •— t          ‰t          ¦  «        r!‰t          vsJ d‰› �¦   «         ‚| t          ‰<   ngt          ‰t          t          f¦  «        r‰D ]} t          |¦  «        | ¦  «         Œn-t          ‰¦  «        sJ ‚t                               ‰| f¦  «         | S )Nzduplicate registration: )	r;   r   Úop_implementations_dictÚlistÚtupleÚregister_op_implÚcallabler   Úappend)Úop_implÚoprB   s     €r   Úimpl_decoratorz(register_op_impl.<locals>.impl_decorator   sÄ   ø€ Ý�n¥jÑ1Ô1ð 
	HàÕ&=Ð=Ð=Ð=Ø:¨.Ð:Ð:ñ >Ô=Ð=à6=Õ# NÑ3Ð3Ý˜­­u¨Ñ6Ô6ð 	HØ$ð .ð .�Ø$Õ  Ñ$Ô$ WÑ-Ô-Ð-Ð-ð.õ ˜NÑ+Ô+Ð+Ð+Ð+Ý%×,Ò,¨n¸gÐ-FÑGÔGÐGàˆr   © )rB   rM   s   ` r   rH   rH   ~   s$   ø€ ðð ð ð ð ð Ðr   c                 ó   — | t           v S r(   ©rE   ©rL   s    r   Ú_is_op_registered_to_fake_rulerR   ‘   s   € ØÕ(Ð(Ð(r   c                 óˆ   — | t           v rt           | = t          D ](\  }}|| u rt                               ||f¦  «          d S Œ)d S r(   )rE   r   Úremove)rL   ÚcheckÚimpls      r   Ú_deregister_op_implrW   •   s`   € Ø	Õ$Ð$Ð$Ý# BÐ'Ý0ð ð ‰ˆˆtØ�Bˆ;ˆ;Ý%×,Ò,¨e°T¨]Ñ;Ô;Ð;ØˆEˆEð ðð r   c                 ó0   — t          |         | |g|¢R i |¤ŽS r(   rP   ©Ú	fake_moder5   ÚargsÚkwargss       r   Ú#dispatch_to_op_implementations_dictr]   ž   s'   € å" 4Ô(¨°DÐJ¸4ÐJÐJÐJÀ6ÐJÐJÐJr   c                 óÖ  — |t           vsJ ‚t          |||d¬¦  «        \  }}d|v rt          d¦  «        ‚|t          v r$|d         j        }|                     d¦  «        f}nt          j        d¦  «        }d}|                     dd ¦  «        }|�|n|}t          j        d	¦  «        |d<   t          | ¦  «        5   ||i |¤Ž}d d d ¦  «         n# 1 swxY w Y   t          | ||¦  «        S )
NT©r[   r\   Únormalize_to_only_use_kwargsÚnamesz+torch.compile doesn't support named tensorsÚinputÚcpurN   r$   Úmeta)	Ú_non_kwarg_device_constructorsr   r   Ú_like_tensor_constructorsr$   Úpopr-   r   r   )	rZ   r5   r[   r\   Ú_Ú
new_kwargsÚdefault_deviceÚ
out_deviceÚrs	            r   Úconstructorsrm   £   s`  € ð Õ5Ð5Ð5Ð5Ð5Ý&Ø�4 ÀTðñ ô �M€A€zð �&ÐÐÝ*Ø9ñ
ô 
ð 	
ð Õ(Ð(Ð(Ø# GÔ,Ô3ˆà—’˜wÑ'Ô'Ð)ˆˆõ œ eÑ,Ô,ˆØˆØ—’ ¨$Ñ/Ô/€JØ)Ð5��¸>€JÝ œ<¨Ñ/Ô/€JˆxÑõ 
& iÑ	0Ô	0ð &ð &ØˆD�$Ð%˜*Ð%Ð%ˆð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &å�i  JÑ/Ô/Ð/s   Â:	CÃCÃCc                 óÀ   — t          |||d¬¦  «        \  }}|                     d¦  «        }t          | ¦  «        5   ||¦  «        }d d d ¦  «         n# 1 swxY w Y   |S )NT©r`   rb   )r   rg   r   )rZ   r5   r[   r\   rh   ri   Úinprl   s           r   Únon_kwarg_is_pinnedrq   Á   s­   € å&Øˆd�F¸ðñ ô �M€A€zð �.Š.˜Ñ
!Ô
!€Cõ 
& iÑ	0Ô	0ð ð ØˆD�‰IŒIˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à€Hs   »AÁAÁAc                 óP  — t          |||d¬¦  «        \  }}|d         }|r|n|d         j        }t          j        d¦  «        |d<   |                     d¦  «        }t	          | ¦  «        5   ||fi |¤Ž}	d d d ¦  «         n# 1 swxY w Y   | j                             | |	|¦  «        S )NTro   r$   rb   rd   )r   r$   r-   rg   r   Úfake_tensor_converterÚfrom_meta_and_device)
rZ   r5   r[   r\   rh   ri   Úinput_devicerk   rp   rl   s
             r   Únon_kwarg_torv   Î   s
  € õ 'Øˆd�F¸ðñ ô �M€A€zð ˜hÔ'€LØ!-ÐM��°:¸gÔ3FÔ3M€JÝ œ<¨Ñ/Ô/€JˆxÑØ
�.Š.˜Ñ
!Ô
!€CÝ	% iÑ	0Ô	0ð $ð $ØˆD�Ð#Ð#˜
Ð#Ð#ˆð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $ð Ô*×?Ò?Ø�1�jñô ð s   Á+
BÂBÂBc                 óz   — | j         dvrdS | t          j        j        u rdS |                      ¦   «         }d|v rdS dS )N)ÚatenÚprimsFÚfftT)Ú	namespacerx   Ú_fft_c2cÚdefaultÚname)rL   Úop_names     r   r   r   à   sL   € Ø	„|Ð,Ð,Ð,ØˆuØ	�TŒ]Ô"Ð"Ð"Øˆuà�gŠg‰iŒi€GØ�ÐÐØˆtØˆ5r   c                 ó  ‡— d„ Š| j         rtt          ˆfd„t          j        ||                     ¦   «         ¦  «        D ¦   «         ¦  «        }|s2t
                               ||f¦  «        \  }}t          | |||d ¦  «        S t          |¦  «        ‚)Nc                 ó¤   — t          | t          ¦  «        r| j        S t          | t          j        t          j        t          j        f¦  «        rdS dS )NTF)r;   r   Ú_has_symbolic_sizes_stridesr-   ÚSymIntÚSymFloatÚSymBool)Úxs    r   Úis_symbolicz3wordaround_stride_incorrect_op.<locals>.is_symbolicñ   sF   € Ý�a�Ñ$Ô$ð 	1ØÔ0Ð0Ý�a�%œ,­¬½¼ÐFÑGÔGð 	Ø�4Øˆur   c              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S r(   rN   )r*   r†   r‡   s     €r   r,   z1wordaround_stride_incorrect_op.<locals>.<genexpr>ú   s<   øè è € ð 
ð 
Ø ˆKˆK˜‰NŒNð
ð 
ð 
ð 
ð 
ð 
r   )	Úallow_fallback_kernelsr2   Ú	itertoolsÚchainÚvaluesÚpytreeÚtree_flattenr   r   )rZ   r5   r[   r\   Úrequire_dynamicÚ	flat_argsÚ	args_specr‡   s          @r   Úwordaround_stride_incorrect_opr’   í   s´   ø€ ðð ð ð Ô'ð TÝð 
ð 
ð 
ð 
Ý$-¤O°D¸&¿-º-¹/¼/Ñ$JÔ$Jð
ñ 
ô 
ñ 
ô 
ˆð ð 	TÝ#)×#6Ò#6¸¸f°~Ñ#FÔ#FÑ ˆI�yÝ& y°$¸	À9ÈdÑSÔSÐSå
& tÑ
,Ô
,Ð,r   c                 ód   — t          | ¦  «        5   ||i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S r(   )r   rY   s       r   Ú
resize_as_r”     s†   € å	% iÑ	0Ô	0ð %ð %Øˆt�TÐ$˜VÐ$Ð$ð%ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   �%¥)¬)c                 ó$   — t          | |g|¢R i |¤ŽS r(   )rm   rY   s       r   Ú(_sparse_coo_tensor_with_dims_and_tensorsr–     s$   € õ ˜	 4Ð9¨$Ð9Ð9Ð9°&Ð9Ð9Ð9r   c                 óš   — t           j        j        | j        v o3| t          j        j        t          j        j        t          j	        j        fvS r(   )
r-   ÚTagÚdynamic_output_shapeÚtagsrx   ÚindexÚTensorÚnonzeror}   Úrepeat_interleave©r5   s    r   ú<lambda>r      s>   € •”Ô/°4´9Ð<ð TØÝŒJÔ�tœ|Ô3µTÔ5KÔ5RÐSð	Tð r   c                 ó    — t          |¦  «        ‚r(   )r   rY   s       r   Ú	dyn_shaper¢     s   € õ & dÑ
+Ô
+Ð+r   TFc                 óP  — | j         �| j         j        st          |¦  «        ‚|€	|j        x}€Ãddlm}m}	  |	|                     ¦   «         ¦  «        s|                     ¦   «         dk    rd}nz| j                              ¦   «         }t          j
        dz
  }
|€|                     ¦   «         n|                     |¦  «        } |	|¦  «        st          |¦  «        }
 |||
¬¦  «         |€||_        |€|                     |f¦  «        g}n/ |j        g |j        d |…         ¢|‘|j        |dz   d …         ¢R Ž g}|d uo|j        t!          j        d¦  «        k    }|s|r+|                     |€|j        n|j        |         f¦  «        }n|                     d¦  «        }|                     |¦  «         |s|r7|                     |€|d         j        n|d         j        |         f¦  «        }n|                     d¦  «        }|                     |¦  «         t'          |¦  «        S )Nr   ©Ú_constrain_range_for_sizeÚhas_free_symbolsr:   ©Úmaxrc   )Ú	shape_envÚallow_dynamic_output_shape_opsr   Úunique_memoÚ%torch.fx.experimental.symbolic_shapesr¥   r¦   ÚnumelÚcreate_unbacked_symintÚsysÚmaxsizeÚsizeÚintÚ	new_emptyÚshapeÚfake_devicer-   r$   rJ   rG   )rZ   r5   r9   ÚdimÚsortedÚreturn_inverseÚreturn_countsÚnnzr¥   r¦   Úmaxvalr­   ÚretÚreturn_if_dim_and_cpuÚinverseÚcountss                   r   Ú_uniquerÀ     s^  € ð 	ÔÐ#ØÔ"ÔAð 	$õ *¨$Ñ/Ô/Ð/ð € #¤/Ð1˜3Ð:ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð
  Ð §	¢	¡¤Ñ,Ô,ð 	7°·²±´ÀÒ1AÐ1Að ˆCˆCàÔ%×<Ò<Ñ>Ô>ˆCå”[ 1‘_ˆFà#& ;�C—I’I‘K”K�K°C·H²H¸S±M´MˆEØ#Ð# EÑ*Ô*ð $Ý˜U™œ�à%Ð% c¨vÐ6Ñ6Ô6Ð6àˆ;Ø!ˆCŒOà
€{Ø�}Š}˜c˜VÑ$Ô$Ð%ˆˆàˆsŒ}ÐJ˜cœi¨¨¨œoÐJ¨sÐJ°S´Y¸sÀQ¹w¸y¸yÔ5IÐJÐJÐJÐKˆà t˜OÐV°´Å5Ä<ÐPUÑCVÔCVÒ0VÐØð #Ð.ð #Ø—-’-¨S¨[ ¤	 	¸s¼yÈ¼~Ð>OÑPÔPˆˆà—-’- Ñ"Ô"ˆØ‡J‚JˆwÑÔÐàð "Ð-ð "Ø—’¨s¨{˜s 1œvœ|˜|ÀÀQÄÄÈcÔARÐ@TÑUÔUˆˆà—’˜qÑ!Ô!ˆØ‡J‚JˆvÑÔÐå�‰:Œ:Ðr   c           	      ó,   — t          | ||d |||¦  «        S r(   )rÀ   )rZ   r5   r9   r·   r¸   r¹   s         r   Úunique2rÂ   [  s   € õ �9˜d C¨¨v°~À}ÑUÔUÐUr   c           
      óh   — t          | |||dk    r|n|t          |j        d¦  «        z  |||¦  «        S )Nr   r:   )rÀ   r¨   Úndim)rZ   r5   r9   r¶   r·   r¸   r¹   s          r   Ú
unique_dimrÅ   b  sH   € õ ØØØà�aŠxˆxˆˆ˜S¥3 s¤x°Ñ#3Ô#3Ñ3ØØØñ	ô 	ð 	r   c                 óÈ   — |€L| j         �| j         j        st          |¦  «        ‚| j                              ¦   «         }ddlm}  ||¦  «         |                     |¦  «        S )Nr   ©r¥   )r©   rª   r   r®   r¬   r¥   r³   )rZ   r5   ÚrepeatsÚoutput_sizer¥   s        r   Úrepeat_interleave_tensorrÊ   r  s}   € àÐàÔÐ'ØÔ&ÔEð (õ .¨dÑ3Ô3Ð3àÔ)×@Ò@ÑBÔBˆð 	TÐSÐSÐSÐSÐSà!Ð! +Ñ.Ô.Ð.à×Ò˜[Ñ)Ô)Ð)r   c                 ó¾  — |j         x}�|S | j        �| j        j        s| j        st          |¦  «        ‚t	          |j        ¦  «        r| j                             ¦   «         }nst          |j        ¦  «        r| j                             ¦   «         }nEt          |j        ¦  «        r| j         
                    ¦   «         }nt          d|j        › �¦  «        ‚||_         |S )Nz local_scalar_dense/item NYI for )Ú	item_memor©   Úallow_scalar_outputsr   r
   ÚdtypeÚcreate_unbacked_symfloatr   r®   r	   Úcreate_unbacked_symboolÚNotImplementedError)rZ   r5   r9   rl   s       r   Úlocal_scalar_denserÒ   …  sè   € ð Œ]ÐˆÐ'ØˆØÔÐ"ØÔÔ4ð #àÔ.ð #õ
 +¨4Ñ0Ô0Ð0Ý�c”iÑ Ô ð RØÔ×8Ò8Ñ:Ô:ˆˆÝ	˜#œ)Ñ	$Ô	$ð RØÔ×6Ò6Ñ8Ô8ˆˆÝ	˜#œ)Ñ	$Ô	$ð RØÔ×7Ò7Ñ9Ô9ˆˆå!Ð"PÀSÄYÐ"PÐ"PÑQÔQÐQØ€C„MØ€Hr   c                 óz   — t           j        j        j                             |¦  «                             d¦  «        S )Nr:   )r-   Úopsrx   r�   r}   Úunbind)rZ   r5   r9   s      r   Únonzero_numpyrÖ   œ  s+   € åŒ9Œ>Ô!×)Ò)¨#Ñ.Ô.×5Ò5°aÑ8Ô8Ð8r   c                 ó  — | j         �| j         j        st          |¦  «        ‚|j        x}�€,ddlm}m} ddlm} ddl	m
}  ||                     ¦   «         ¦  «        s|                     ¦   «         dk    rd}nÙ| j                              ¦   «         }t          j        dz
  } ||                     ¦   «         ¦  «        s"t          |                     ¦   «         ¦  «        }net!          j        |j        ¦  «        j        }	 ||	j        |	j         j        ¦  «        }
t-          |
j        |¦  «        rt          j        dz
  }n|
j        } |||¬¦  «         ||_        |                     ||                     ¦   «         ft4          j        ¬¦  «        S )Nr   r¤   ©ÚIntInfinity©Úbound_sympyr:   r§   )rÎ   )r©   rª   r   Únonzero_memor¬   r¥   r¦   Útorch.utils._sympy.numbersrÙ   Útorch.utils._sympy.value_rangesrÛ   r­   r®   r¯   r°   r²   ÚmathÚprodr´   ÚnodeÚexprÚvar_to_ranger;   Úupperr³   r¶   r-   Úint64)rZ   r5   r9   rº   r¥   r¦   rÙ   rÛ   r»   Ú	prod_nodeÚ
prod_ranges              r   r�   r�   ¡  s¯  € ð 	ÔÐ#ØÔ"ÔAð 	$õ *¨$Ñ/Ô/Ð/àÔÐˆÑ(ð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	;Ð:Ð:Ð:Ð:Ð:Ø?Ð?Ð?Ð?Ð?Ð?àÐ §	¢	¡¤Ñ,Ô,ð 	7°·²±´ÀÒ1AÐ1Að ˆCˆCàÔ%×<Ò<Ñ>Ô>ˆCå”[ 1‘_ˆFà#Ð# C§I¢I¡K¤KÑ0Ô0ð 
.Ý˜SŸYšY™[œ[Ñ)Ô)��å œI c¤iÑ0Ô0Ô5�	Ø(˜[Ø”N IÔ$7Ô$Dñô �
õ ˜jÔ.°Ñ<Ô<ð .Ý œ[¨1™_�F�Fà'Ô-�Fà%Ð% c¨vÐ6Ñ6Ô6Ð6àˆÔà�=Š=˜#˜sŸwšw™yœyÐ)µ´ˆ=Ñ=Ô=Ð=r   c                 ó¼  — t          |¦  «        dk    sJ ‚|sž| j        �| j        j        st          |¦  «        ‚| j                             ¦   «         }t
          j        dz
  }ddlm}m	}  || 
                    ¦   «         ¦  «        s!t          | 
                    ¦   «         ¦  «        } ||d|¬¦  «         |g|j        dd …         ¢R }|                     |¦  «        S )Nr:   r   r¤   )Úminr¨   é   )r>   r©   rª   r   r®   r¯   r°   r¬   r¥   r¦   r­   r²   r´   r³   )	rZ   r5   ÚpaddedÚoffsetsÚtotal_Lr»   r¥   r¦   Úoutput_shapes	            r   Ú_padded_dense_to_jagged_forwardrï   Õ  s
  € õ ˆw‰<Œ<˜1ÒÐÐÐàð >àÔÐ'ØÔ&ÔEð (õ .¨dÑ3Ô3Ð3àÔ%×<Ò<Ñ>Ô>ˆå”˜q‘ˆð	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð
  Ð §¢¡¤Ñ/Ô/ð 	)Ý˜Ÿš™œÑ(Ô(ˆFà!Ð! '¨q°fÐ=Ñ=Ô=Ð=àÐ/˜fœl¨1¨2¨2Ô.Ð/Ð/€LØ×Ò˜LÑ)Ô)Ð)r   c                 ó\  — | j         �| j         j        st          |¦  «        ‚| j                              ¦   «         }t          j        dz
  }ddlm}m} ddl	m
} ddlm}	  ||                     ¦   «         ¦  «        s"t          |                     ¦   «         ¦  «        }
net          j        |j        ¦  «        j        } |	|j        |j         j        ¦  «        }t+          |j        |¦  «        rt          j        dz
  }
n|j        }
|
dk    r|
} |||¬¦  «         |                     |f¦  «        S )Nr:   r   r¤   rØ   rÚ   rê   r§   )r©   rª   r   r®   r¯   r°   r¬   r¥   r¦   rÝ   rÙ   rÞ   rÛ   r­   r²   rß   rà   r´   rá   râ   rã   r;   rä   r³   )rZ   r5   ÚselfÚmaskrº   r»   r¥   r¦   rÙ   rÛ   Únum_elementsræ   rç   s                r   Úmasked_selectrô   õ  s_  € ð 	ÔÐ#ØÔ"ÔAð 	$õ *¨$Ñ/Ô/Ð/à
Ô
×
4Ò
4Ñ
6Ô
6€Cõ Œ[˜1‰_€Fðð ð ð ð ð ð ð ð 7Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;ð
 Ð˜DŸJšJ™LœLÑ)Ô)ð ,Ý˜4Ÿ:š:™<œ<Ñ(Ô(ˆˆå”I˜dœjÑ)Ô)Ô.ˆ	Ø �[ ¤°Ô1DÔ1QÑRÔRˆ
Ý�jÔ&¨Ñ4Ô4ð 	,Ýœ;¨™?ˆLˆLà%Ô+ˆLØ�aÒÐØˆàÐ˜c vÐ.Ñ.Ô.Ð.à�>Š>˜3˜&Ñ!Ô!Ð!r   c                 ó2   — t           j        j        | j        v S r(   )r-   r˜   Údata_dependent_outputrš   rŸ   s    r   r    r       s   € �uœyÔ>À$Ä)ÐK€ r   c                 ó    — t          |¦  «        ‚r(   )r   rY   s       r   Údata_deprø      s   € å
& tÑ
,Ô
,Ð,r   c                 óp   — |D ]2}|�.|j         t          j        t          j        fv rt	          | ¦  «        ‚Œ3d S r(   )rÎ   r-   ÚboolÚuint8r   )r5   rñ   Úindicesr›   s       r   Úcheck_no_bool_index_tensorsrý   '  sE   € Øð 4ð 4ˆØÐ ¤µ´½U¼[Ð0IÐ!IÐ!IÝ-¨dÑ3Ô3Ð3øð4ð 4r   c                 ó2  — t          |||d¬¦  «        \  }}|d         j        }t          | ¦  «        5   ||i |¤Ž}t          |¦  «        s|                     |j        ¦  «        }d d d ¦  «         n# 1 swxY w Y   ||d         u r|S t          | ||¦  «        S ©NTr_   rb   )r   r$   r   r%   r³   r´   r   )rZ   r5   r[   r\   rh   ri   rk   Úouts           r   Ú)run_and_return_new_tensor_of_input_devicer  -  sõ   € Ý&Ø�4 ÀTðñ ô �M€A€zð ˜GÔ$Ô+€JÝ	% iÑ	0Ô	0ð +ð +Øˆd�DÐ#˜FÐ#Ð#ˆÝ)¨*Ñ5Ô5ð 	+Ø—-’- ¤	Ñ*Ô*ˆCð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð
 ˆj˜Ô!Ð!Ð!Øˆ
Ý�i  jÑ1Ô1Ð1s   ³2A1Á1A5Á8A5rx   ry   Úprimc                 ó   — | j         t          v S r(   )r{   Ú_is_builtin_namespacesrQ   s    r   Ú
is_builtinr  @  s   € ØŒ<Õ1Ð1Ð1r   c                 óf   — t           j                             |                      ¦   «         d¦  «        S )NÚMeta)r-   r.   Ú._dispatch_has_computed_kernel_for_dispatch_keyr~   rŸ   s    r   r   r   D  s#   € ÝŒ8×BÒBÀ4Ç9Â9Á;Ä;ÐPVÑWÔWÐWr   c                 ój   — t          | ¦  «        o$d|                      ¦   «         v ot          | ¦  «        S )NÚforeach)r  r~   r   rŸ   s    r   r    r    I  s+   € •˜DÑ!Ô!ÐQ i°4·9²9±;´;Ð&>ÐQÅ8ÈDÁ>Ä>€ r   c                 óì  ‡— d„ t          j        ||                     ¦   «         ¦  «        D ¦   «         }	 t          | ¦  «        5   ||i |¤Ž}d d d ¦  «         n# 1 swxY w Y   n# t          $ r}t
          cY d }~S d }~ww xY w|s|S |sJ ‚g }t          |¦  «        D ]X\  Š}t          j        |ˆfd„|D ¦   «         ¦  «        \  }	}
| 	                    | j
                             | ||	¦  «        ¦  «         ŒY|S )Nc                 ó¨   — g | ]O}t          |t          t          f¦  «        ¯t          |¦  «        ¯-t          |d          t          j        ¦  «        ¯M|‘ŒPS )r   )r;   rF   rG   r>   r-   rœ   r8   s     r   ú
<listcomp>z4foreach_run_and_map_input_device.<locals>.<listcomp>L  sf   € ð ð ð àÝ�c�D¥%˜=Ñ)Ô)ðõ �‰HŒHð	õ
 �s˜1”v�uœ|Ñ,Ô,ðØðð ð r   c                 ó    •— g | ]
}|‰         ‘ŒS rN   rN   )r*   ÚtlÚis     €r   r  z4foreach_run_and_map_input_device.<locals>.<listcomp>a  s   ø€ Ð9WÐ9WÐ9WÀB¸"¸Q¼%Ð9WÐ9WÐ9Wr   )rŠ   r‹   rŒ   r   rÑ   ÚNotImplementedÚ	enumerater   Ú_find_common_devicerJ   rs   rt   )rZ   r5   r[   r\   Útensor_listsÚout_metaÚnot_implemented_errorÚout_fakeÚmeta_tr$   rh   r  s              @r   Ú foreach_run_and_map_input_devicer  H  sŠ  ø€ ðð å”? 4¨¯ª©¬Ñ9Ô9ðñ ô €LðÝ)¨)Ñ4Ô4ð 	-ð 	-Ø�t˜TÐ, VÐ,Ð,ˆHð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-øøåð ð ð ÝÐÐÐÐÐÐøøøøðøøøð ð ØˆàÐÐˆ<Ø€Hå˜xÑ(Ô(ð 
ð 
‰	ˆˆ6ÝÔ2°4Ð9WÐ9WÐ9WÐ9WÈ,Ð9WÑ9WÔ9WÑXÔX‰	ˆ�Ø�ŠØÔ+×@Ò@Ø˜6 6ñô ñ	
ô 	
ð 	
ð 	
ð €OsA   ´A$ Á	AÁA$ ÁAÁA$ ÁAÁ A$ Á$
A?Á.A:Á4A?Á:A?c                 óÆ   — ddl m} t          |||d¬¦  «        \  }}|d         j        }| 5   ||i |¤Ž}|                     |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S )Nr   )Úmeta_index_TensorTr_   rb   )Útorch._meta_registrationsr  r   r$   Úto)	rZ   r5   r[   r\   r  rh   ri   rk   r   s	            r   Úindex_tensorr  n  sÒ   € à;Ð;Ð;Ð;Ð;Ð;å&Ø�4 ÀTðñ ô �M€A€zð ˜GÔ$Ô+€Jà	ð "ð "ØÐ Ð0¨Ð0Ð0ˆØ�vŠv�jÑ!Ô!ð"ð "ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ¬AÁAÁAc                 óV   — ddl m} | 5   ||i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S )Nr   )Úmeta_embedding_bag)r  r   )rZ   r5   r[   r\   r   s        r   Úembedding_bagr!    s‘   € à<Ð<Ð<Ð<Ð<Ð<à	ð 3ð 3Ø!Ð! 4Ð2¨6Ð2Ð2ð3ð 3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   ‰ž"¥"c                 ó&   — t          | |||¦  «        S r(   )r  rY   s       r   Úmulti_device_op_defaultr#  ˆ  s   € õ
 5°YÀÀdÈFÑSÔSÐSr   c                 óœ   — t          | ¦  «        5   ||i |¤Ž d d d ¦  «         n# 1 swxY w Y   t          |||d¬¦  «        \  }}|d         S rÿ   )r   r   )rZ   r5   r[   r\   rh   ri   s         r   Úmulti_device_op_outr%  ‘  s¬   € õ 
& iÑ	0Ô	0ð ð ØˆˆdÐ�fÐÐÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 'Ø�4 ÀTðñ ô �M€A€zð �gÔÐs   �	%¥)¬)c                 óH  ‡‡‡— t          ‰||d¬¦  «        \  }}|d         Š|d         j        Št          j        ‰‰j        k    p"‰j        dk    o‰                     ¦   «         dk    ˆˆˆfd„¦  «         t          | ‰||¦  «        }‰t          j        j	        u r|d         S |S )NTr_   rŒ   rb   r   r:   c                  ó&   •— d‰ › d‰› d‰j         › d�S )NzMismatching z device between self (z) and values (ú)r#   )r5   Úself_devicerŒ   s   €€€r   r    z index_put_impl.<locals>.<lambda>©  s'   ø€ Ðf˜tÐfÐf¸;ÐfÐfÐV\ÔVcÐfÐfÐf€ r   )
r   rµ   r-   Ú_checkrÄ   r­   r  rx   Ú
index_put_r}   )	rZ   r5   r[   r\   rh   ri   r   r)  rŒ   s	    `     @@r   Úindex_put_implr,  ž  sÆ   øøø€ õ 'Ø�4 ÀTðñ ô �M€A€zð ˜Ô!€FØ˜WÔ%Ô1€KÝ	„LØ�vÔ)Ò)ÐW¨f¬k¸QÒ.>Ð.VÀ6Ç<Â<Á>Ä>ÐUVÒCVØfÐfÐfÐfÐfÐfñô ð õ
 4°I¸tÀTÈ6Ñ
RÔ
R€CØ�tŒÔ&Ð&Ð&Ø˜'Ô"Ð"àˆ
r   c                 ó    — t          d¦  «        ‚)Nz3torch.compile does not support strided NestedTensor)r   rY   s       r   Únested_tensors_unsupportedr.  ³  s   € õ
 'Ø=ñô ð r   c                 óº   — g | ]X}|t           j        j        t           j        j        t           j        j        t           j        j        t           j        j        fv¯V|‘ŒYS rN   )rx   Ú	is_pinnedr}   r  r$   Úprim_DeviceÚ_nested_tensor_from_tensor_listr   )r*   r†   s     r   r  r  ¾  se   € ð ð ð àØõ ŒNÔ"ÝŒGŒNÝŒGÔÝÔ0Ô8ÝÔ0Ô4ð
ð
ð 
ð 	
ð
ð 
ð 
r   c                 ó2   — |t           vsJ d|› �¦   «         ‚d S )NzNYI: )Ú_device_not_kwarg_opsrY   s       r   Únyir5  ½  s*   € ð  Õ,Ð,Ð,Ð,¨n°d¨n¨nÑ,Ô,Ð,Ð,Ð,r   c                 óÈ  ‡ ‡— t          |||d¬¦  «        \  }}|d         j        Š‰ 5  |d         j        }|d         j        d         }ddlm}  ||¦  «        sd }nÙ|dk    r|d         j        s|d         j        sd }n¶|t          j	        j
        u rt          j        j        di |¤Ž}	n_t          j                             |d         |d         d |d         |d	         |d
         |d         |d         |d         |d         ¬¦
  «
        }	t          j                             |d         |d         |	¦  «        }d d d ¦  «         n# 1 swxY w Y   ˆˆ fd„}
t          ‰ ¦  «        5   |di |¤Ž}|t          j	        j
        u r |
||¦  «        cd d d ¦  «         S  |
|d         |¦  «         |
|d         |¦  «         |
|d         d ¦  «        fcd d d ¦  «         S # 1 swxY w Y   d S )NTr_   rb   Úweightr   )Úhas_hinté   ÚstrideÚpaddingÚdilationÚ
transposedÚoutput_paddingÚgroupsÚ
bias_sizes)Úbiasr:  r;  r<  r=  r>  r?  r@  c                 ó^   •— | €| S |�|                       |¬¦  «        } t          ‰| ‰¦  «        S )N©Úmemory_format)r  r   )ÚtÚmem_fmtr$   rZ   s     €€r   Úconvertzconv.<locals>.convertù  s8   ø€ Øˆ9ØˆHØÐØ—’ 7�Ñ+Ô+ˆAÝ˜) Q¨Ñ/Ô/Ð/r   r:   rê   rN   )r   rµ   rÄ   r´   r¬   r8  Ú	is_mkldnnÚis_xpurx   Úconvolutionr}   r-   r.   Ú_select_conv_backendÚ%_conv_determine_backend_memory_formatr   )rZ   r5   r[   r\   rh   ÚkÚbatchr8  rF  Úconv_backendrG  r   r$   s   `           @r   ÚconvrP  Ð  sç  øø€ å"Ø�4 ÀTðñ ô �I€A€vð �GŒ_Ô(€Fà	ð  ð  à�8ÔÔ!ˆØ�w”Ô% aÔ(ˆð 	CÐBÐBÐBÐBÐBàˆx˜‰Œð 	ð ˆGˆGØ�!ŠVˆV˜F 7œOÔ5ˆV¸fÀW¼oÔ>TˆVØˆGˆGà•tÔ'Ô/Ð/Ð/Ý$œxÔ<ÐFÐF¸vÐFÐF��å$œx×<Ò<Ø˜7”OØ˜8Ô$ØØ! (Ô+Ø" 9Ô-Ø# JÔ/Ø% lÔ3Ø#)Ð*:Ô#;Ø! (Ô+Ø% lÔ3ð  =ñ  ô  �õ ”h×DÒDØ�w” ¨Ô!1°<ñô ˆGð= ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  ðD0ð 0ð 0ð 0ð 0ð 0õ 
& iÑ	0Ô	0ð 
ð 
Øˆdˆnˆn�Vˆnˆnˆà•4Ô#Ô+Ð+Ð+Ø�7˜3 Ñ(Ô(ð	
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð �˜˜Aœ Ñ(Ô(Ø�˜˜Aœ Ñ(Ô(Ø�˜˜Aœ Ñ%Ô%ðð
ð 
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s*   ¨DEÅEÅ	EÅ"'GÆ4GÇGÇGc                 óF  — | j         �| j         j        st          |¦  «        ‚| j                              ¦   «         }ddlm}  ||¦  «         |s|                     dd¦  «        }|j        dd …         }|                     |¦  «        }|                     |f¦  «        }	||	fS )Nr   rÇ   r:   )	r©   rª   r   r®   r¬   r¥   Ú	transposer´   r³   )
rZ   r5   ÚinputsÚlengthsÚbatch_firstÚnew_batch_sizer¥   Úres_sizeÚpacked_dataÚ
batch_sizes
             r   Ú_pack_padded_sequencerZ    sÃ   € ð 	ÔÐ#ØÔ"ÔAð 	$õ *¨$Ñ/Ô/Ð/àÔ(×?Ò?ÑAÔA€NàOÐOÐOÐOÐOÐOàÐ˜nÑ-Ô-Ð-àð (à×!Ò! ! QÑ'Ô'ˆàŒ|˜A˜B˜BÔ€HØ×"Ò" 8Ñ,Ô,€KØ×!Ò! >Ð"3Ñ4Ô4€JØ˜Ð$Ð$r   c                 ó   ‡ — ˆ fd„}|S )Nc                 ó   •— | t           ‰<   | S r(   )ÚFAST_OP_IMPLEMENTATIONS)rK   r5   s    €r   rM   z-register_fast_op_impl.<locals>.impl_decorator,  s   ø€ Ø(/Õ Ñ%Øˆr   rN   )r5   rM   s   ` r   Úregister_fast_op_implr^  +  s$   ø€ ðð ð ð ð ð Ðr   c                 óÜ  ‡
‡‡— ddl m} t          | ¦  «        }t          |¦  «        }t          ||¦  «        }dg|z  }t	          |dz
  dd¦  «        D ]ŒŠ
|dz
  ‰
z
  }|dz
  |z
  }|dz
  |z
  }	|dk    r| |         ndŠ|	dk    r||	         ndŠt          j         |‰dk    ¦  «        p |‰dk    ¦  «        p‰‰k    ˆ
ˆˆfd„¦  «          |‰dk    ¦  «        r‰n‰|‰
<   Œ�t          |¦  «        S )Nr   )Úguard_size_obliviousr:   éÿÿÿÿc                  ó   •— d‰› d‰› d‰ › d�S )NzThe size of tensor a (z#) must match the size of tensor b (z) at non-singleton dimension r(  rN   )r  ÚsizeAÚsizeBs   €€€r   r    zinfer_size.<locals>.<lambda>Q  s5   ø€ ð /¨Uð /ð /Ø05ð/ð /à*+ð/ð /ð /€ r   )r¬   r`  r>   r¨   Úranger-   r*  rG   )ÚaÚbr`  ÚdimsAÚdimsBrÄ   ÚexpandedSizesÚoffsetÚdimAÚdimBr  rc  rd  s             @@@r   Ú
infer_sizern  4  sY  øøø€ ØJÐJÐJÐJÐJÐJå�‰FŒF€EÝ�‰FŒF€EÝˆu�eÑÔ€DØ�C˜$‘J€MÝ�4˜!‘8˜R Ñ$Ô$ð Pð PˆØ˜‘˜A‘ˆØ�q‰y˜6Ñ!ˆØ�q‰y˜6Ñ!ˆØ 1š9˜9��$”�¨!ˆØ 1š9˜9��$”�¨!ˆõ 	ŒØ Ð  ¨!¢Ñ,Ô,ð Ø#Ð# E¨Q¢JÑ/Ô/ðà˜Š~ð/ð /ð /ð /ð /ð /ñ		
ô 	
ð 	
ð %9Ð$8¸À!ºÑ$DÔ$DÐO˜5˜5È%ˆ�aÑÐÝ�ÑÔÐr   c                 ó   ‡ — ˆ fd„}|S )Nc           	      ó  •‡ ‡‡— ˆˆˆ ˆfd„}t          d¦  «         ‰}d}d}d }|D ]Q}t          |t          j        ¦  «        r|j        nd}	t          |	¦  «        dk    rd}nd}|€|	}t          ||	¦  «        }ŒR|€J ‚ddlm}
m	} |D ]]}t          |t          j        ¦  «        rAt          |j        ¦  «        t          |¦  «        k    r |
 ||j        |¦  «        ¦  «        r nŒ^ |d¦  «        S t          j
        d	¦  «        }|}d }d }d}|D ]S}t          |t          j        ¦  «        sd}Œ||k    r|j
        j        d	k    s|j
        }|€|j        }ŒF||j        k    rd}ŒT|rt          |d
t          j        iŽ\  }}d}d}|D ]w}t          |t          j        ¦  «        sŒ||k    r<|                     ¦   «         dk    r$|j
        |k    r||k    r |d¦  «        c S |dz  }Œ_|j
        |k    r |d¦  «        c S Œxd}d}t#          |¦  «        rd|D ]a}t          |t          j        ¦  «        sŒ|o|                     t          j        ¬¦  «        }|o|                     t          j        ¬¦  «        }Œb|rAt          d¦  «         t+          ‰ t          j        ||dt          j        ¬¦  «        |¬¦  «        S |rAt          d¦  «         t+          ‰ t          j        ||dt          j        ¬¦  «        |¬¦  «        S  |d¦  «        S )Nc                 óp   •— t          d| › �¦  «         ‰5   ‰‰i ‰¤Žcd d d ¦  «         S # 1 swxY w Y   d S )Nzslow r   )Úmsgr[   r\   ÚmodeÚslow_refs    €€€€r   Úslowz=make_fast_binary_impl.<locals>.fast_binary_impl.<locals>.slow[  s“   ø€ Ý˜ ˜˜Ñ&Ô&Ð&Øð 1ð 1Ø�x Ð0¨Ð0Ð0ð1ð 1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1ð 1ð 1s   –+«/²/zattempt fastFrN   r   T)r`  Úsym_eqz#both tensors nontrivially broadcastrc   Útype_promotion_kindr:   ÚerrorrC  zfast is_contiguousrd   )rÎ   r$   rD  r#   zfast channels_lastzno contiguity match)r   r;   r-   rœ   r´   r>   rn  r¬   r`  rv  r$   r"   rÎ   r   r   ÚDEFAULTr¶   r%   Úis_contiguousÚcontiguous_formatÚchannels_lastr   Úempty)rs  r[   r\   ru  ÚoperandsÚhas_scalarsÚhas_tensorsÚfinal_shaperL   r´   r`  rv  rc   Úcommon_deviceÚcommon_dtypeÚoutput_dtypeÚhas_different_input_dtypesrh   Úcurrent_cpu_scalars_on_non_cpuÚmax_cpu_scalars_on_non_cpurz  Úis_channels_lastrt  s   ```                   €r   Úfast_binary_implz/make_fast_binary_impl.<locals>.fast_binary_implZ  s+  øøøø€ ð	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1õ
 	�NÑ#Ô#Ð#ð ˆð ˆØˆØˆØð 	9ð 	9ˆBÝ *¨2­u¬|Ñ <Ô <ÐD�B”H�HÀ"ˆEÝ�5‰zŒz˜QŠˆØ"��à"�ØÐ"Ø#�õ % [°%Ñ8Ô8ˆKˆKØÐ&Ð&Ð&àVÐVÐVÐVÐVÐVÐVÐVð ð 	?ð 	?ˆBå˜2�uœ|Ñ,Ô,ðå˜œ‘M”M¥S¨Ñ%5Ô%5Ò5Ð5Ø(Ð(¨¨°´¸+Ñ)FÔ)FÑGÔGð 6ð �øà�4Ð=Ñ>Ô>Ð>õ Œl˜5Ñ!Ô!ˆØˆØˆØˆØ%*Ð"Øð 	2ð 	2ˆBÝ˜b¥%¤,Ñ/Ô/ð à-1Ð*ØØ Ò#Ð#¨B¬I¬N¸eÒ,CÐ,CØ "¤	�àÐ#Ø!œx��Ø ¤Ò)Ð)Ø-1Ð*øà%ð 	õ 1ØðÝ/NÔ/Vðð ‰OˆAˆ|ð *+Ð&Ø%&Ð"Øð 	%ð 	%ˆBÝ˜b¥%¤,Ñ/Ô/ð ØØ Ò#Ð#¨¯ª©¬°Aª¨¸"¼)ÀsÒ:JÐ:JØ1Ð5OÒOÐOØ˜4 ™=œ=Ð(Ð(Ð(Ø.°!Ñ3Ð.Ð.Ø”˜mÒ+Ð+Ø�t˜G‘}”}Ð$Ð$Ð$ð ,ð ˆØÐõ & mÑ4Ô4ð 		Øð ð �Ý! "¥e¤lÑ3Ô3ð ØØ -ð !°"×2BÒ2BÝ"'Ô"9ð 3Cñ 3ô 3�ð $4ð $¸×8HÒ8HÝ"'Ô"5ð 9Iñ 9ô 9Ð Ð ð ð 	åÐ,Ñ-Ô-Ð-ÝØÝ”ØØ&Ø!Ý"'Ô"9ð	ñ ô ð %ð	ñ 	ô 	ð 	ð ð 	ÝÐ,Ñ-Ô-Ð-åØÝ”ØØ&Ø!Ý"'Ô"5ð	ñ ô ð %ð	ñ 	ô 	ð 	ð ˆtÐ)Ñ*Ô*Ð*r   rN   )rt  r‰  s   ` r   Úmake_fast_binary_implrŠ  Y  s*   ø€ ðE+ð E+ð E+ð E+ð E+ðN Ðr   c                 ó  — t          ¦   «         5  t          | ¦  «        5  t          j        j        j                             |¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          | ||j        ¦  «        S r(   )	r   r   r-   rÔ   rx   Údetachr}   r   r$   )rZ   r†   r   s      r   Úfast_detachr�  æ  sô   € Ý	Ñ	Ô	ð /ð /Õ!=¸iÑ!HÔ!Hð /ð /ÝŒiŒnÔ#×+Ò+¨AÑ.Ô.ˆð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å�i  a¤hÑ/Ô/Ð/s4   �A,Ÿ*AÁ	A,ÁA	ÁA,ÁA	ÁA,Á,A0Á3A0c                  ó’  — dd l }  t          | j        j        j        j        ¦  «        t          | j        j        ¦  «        ¦  «          t          | j        j        j        j        ¦  «        t          | j        j        ¦  «        ¦  «          t          | j        j        j	        j        ¦  «        t          | j        j	        ¦  «        ¦  «          t          | j        j        j
        j        ¦  «        t          | j        j
        ¦  «        ¦  «          t          | j        j        j        j        ¦  «        t          ¦  «         t          S )Nr   )Útorch._refsr^  rÔ   rx   Úaddrœ   rŠ  Ú_refsÚsubÚmulÚdivrŒ  r}   r�  r]  )r-   s    r   r   r   ì  s  € àÐÐÐà4Õ˜%œ)œ.Ô,Ô3Ñ4Ô4Ý˜eœkœoÑ.Ô.ñô ð ð 5Õ˜%œ)œ.Ô,Ô3Ñ4Ô4Ý˜eœkœoÑ.Ô.ñô ð ð 5Õ˜%œ)œ.Ô,Ô3Ñ4Ô4Õ5JÈ5Ì;Ì?Ñ5[Ô5[Ñ\Ô\Ð\Ø4Õ˜%œ)œ.Ô,Ô3Ñ4Ô4Ý˜eœkœoÑ.Ô.ñô ð ð 9Õ˜%œ)œ.Ô/Ô7Ñ8Ô8½ÑEÔEÐEÝ"Ð"r   )TFFr(   )ˆÚ	functoolsrŠ   rß   r¯   Útypingr   r   r-   Útorch._custom_opÚtorch._loggingÚtorch._dispatch.pythonr   Ú
torch._opsr   Útorch._prims_commonr   r   r	   r
   r   Útorch._subclasses.fake_tensorr   r   r   r   r   r   Útorch.fx.operator_schemasr   Útorch.utils._statsr   ÚutilsÚ_pytreer�   Ú__all__rE   r   Ú_opsrÔ   rx   r   r%   Ú
empty_liker}   r   Ú	full_likeÚ	ones_likeÚ	rand_likeÚ
randn_likeÚrandint_likeÚ	low_dtypeÚlow_dtype_outÚ
zeros_liker³   Únew_empty_stridedÚnew_fullÚ	new_zerosÚnew_onesrf   Ú_resize_output_r2  Ú
pin_memoryr  r$   r1  r0  Ú_pin_memoryÚ_resize_outputr4  Ú_list_to_tensorre   r)   Ú	lru_cacherA   rú   rH   rR   rW   Ú__contains__r]   rm   rq   rv   r   r’   r”   r–   r¢   rÀ   Ú_unique2rÂ   rÅ   rž   rœ   rÊ   ÚitemÚ_local_scalar_denserÒ   rÖ   r�   rï   rô   rø   rý   r  r  r  r   r  r›   r  Ú_embedding_bagr!  Ú_unsafe_index_putÚcopyÚcopy_Úslice_scatterr#  r%  Ú	index_putr+  r,  Ú_nested_view_from_bufferÚ_nested_view_from_buffer_copyr.  r5  rJ  Úconvolution_backwardrP  rZ  r]  r^  rn  rŠ  r�  r   rN   r   r   ú<module>rÃ     sû
  ðð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø 
€
€
€
Ø "Ð "Ð "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø !Ð !Ð !Ð !Ð !Ð !ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ø *Ð *Ð *Ð *Ð *Ð *ð 
ŒÔ	€ðð ð €ð Ð ØÐ ð „z„~Ô€ð&ð &ð &ð ð  ð  ð (˜KØ„OÔØ„OÔØ„NÔØ„NÔØ„NÔØ„NÔØ„NÔØ„NÔØ„OÔØ„OÔØÔÔØÔÔØÔÔØÔÔ#Ø„OÔØ„OÔØ„NÔØ„NÔØÔÔ"ØÔÔØ„MÔØ„MÔØ„NÔØ„NÔØ„MÔØ„MÔñ5ô Ð ð< $˜ØÔÔ ØÔ(Ô0ØÔ(Ô,Ø„OÔØ„G„NØ„GÔØ„NÔØÔÔØÔÔØÔÔØÔÔñô Ð ð #'Ô"6Ð!8Ð ðð ð ð €Ô�TÑÔð ð ð ð ñ Ôðð U¨8°Z°LÀ$Ð4FÔ+GÈÐ+SÔ%Tð ð ð ð ð&)ð )ð )ðð ð ð ÐÐ)Ô6Ñ7Ô7ðKð Kñ 8Ô7ðKð ÐÐ(Ñ)Ô)ØÐÐ.Ð-Ð.Ñ/Ô/ð0ð 0ñ 0Ô/ñ *Ô)ð0ð8 Ð�$”.Ô(Ñ)Ô)ð	ð 	ñ *Ô)ð	ð Ð�$”'Ô%Ñ&Ô&ØÐ�$”'”.Ñ!Ô!ðð ñ "Ô!ñ 'Ô&ðð 	ð 	ð 	ð ÐÐ%Ñ&Ô&ð-ð -ñ 'Ô&ð-ð0 Ð�$”/Ô)Ñ*Ô*ð%ð %ñ +Ô*ð%ð
 Ð�$Ô?ÔGÑHÔHð:ð :ñ IÔHð:ð ÐðTð Tñô ð
,ð ,ñô ð
,ð
 QVð<ð <ð <ð <ð~ Ð�$”-Ô'Ñ(Ô(àKPðVð Vð Vñ )Ô(ðVð Ð�$”/Ô)Ñ*Ô*àPUðð ð ñ +Ô*ðð Ð�$Ô(Ô/Ñ0Ô0ð*ð *ð *ñ 1Ô0ð*ð$ Ð�%”)”.Ô%Ô-Ñ.Ô.ØÐ�%”)”.Ô4Ô<Ñ=Ô=ðð ñ >Ô=ñ /Ô.ðð* Ð�%”)”.Ô.Ô6Ñ7Ô7ð9ð 9ñ 8Ô7ð9ð Ð�%”)”.Ô(Ô0Ñ1Ô1ð0>ð 0>ñ 2Ô1ð0>ðf Ð�%”)”.Ô@ÔHÑIÔIð*ð *ð *ñ JÔIð*ð> Ð�%”)”.Ô.Ô6Ñ7Ô7ð&"ð &"ñ 8Ô7ð&"ðT ÐÐKÐKÑLÔLð-ð -ñ MÔLð-ð4ð 4ð 4ð2ð 2ð 2ð  %˜ V¨W°fÑ=Ô=Ð ð2ð 2ð 2ðXð Xð Xð ÐØQÐQñô ðð ñô ððF Ð�$”*Ô#Ñ$Ô$ð"ð "ñ %Ô$ð"ð  Ð�$Ô%Ô-Ñ.Ô.ð3ð 3ñ /Ô.ð3ð Ð�$Ô(Ô0Ñ1Ô1ØÐ�$”)Ô#Ñ$Ô$ØÐ�$”*Ô$Ñ%Ô%ØÐ�$Ô$Ô,Ñ-Ô-ðTð Tñ .Ô-ñ &Ô%ñ %Ô$ñ 2Ô1ðTð
 Ð�$”)”-Ñ Ô ØÐ�$Ô$Ô(Ñ)Ô)ðð ñ *Ô)ñ !Ô ðð Ð�$”.Ô(Ñ)Ô)ØÐ�$”/Ô)Ñ*Ô*ðð ñ +Ô*ñ *Ô)ðð& Ð�$Ô6Ô>Ñ?Ô?ØÐ�$Ô6Ô:Ñ;Ô;ØÐ�$Ô/Ô7Ñ8Ô8ØÐ�$Ô4Ô<Ñ=Ô=ðð ñ >Ô=ñ 9Ô8ñ <Ô;ñ @Ô?ðð Ððð à&ðñ ô ñô ð=ð =ñô ð=ð Ð�4Ô#Ô+¨TÔ-FÔ-NÐOÑPÔPð9ð 9ñ QÔPð9ðx Ð�%”)”.Ô6Ô>Ñ?Ô?ð%ð %ñ @Ô?ð%ð0 Ð ð
 
ð ð ð ð ð" ð " ð " ðJHð Hð HðZ0ð 0ð 0ð €Ô�TÑÔð#ð #ñ Ôð#ð #ð #r   