§
    ŠŠtj«  ã                   óP%  — U d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlZd dlmZ d dlmZ d dlZd dlmZmZmZ d dlmZmZmZmZmZ d dl m!Z! d dl"m#Z# d d	l$m%Z% d d
l&m'Z' d dl(m)Z) d dlm*Z*m+Z+m,Z,m-Z- d dl.m/Z0 d dl1m2Z2m3Z3 ddl4m5Z5m6Z6 ddlm7Z7m8Z8m9Z9  e
d¦  «        Z: ed¦  «        Z;ej<        j=        ej<        j>        z  Z?e	e@d<    ejA        eB¦  «        ZCejD        jE        ZEejD        jF        ZFejD        jG        ZGejD        jH        ZHejD        jI        ZI eg eEjJ        ‘eEjK        ‘eEjL        ‘eEjM        ‘eEjN        ‘eEjO        ‘eEjP        ‘eEjQ        ‘eEjR        ‘eEjS        ‘eEjT        ‘eEjU        ‘eEjV        ‘eEjW        ‘eEjX        ‘eEjY        ‘eEjZ        ‘eEj[        ‘eEj\        ‘eEj]        ‘eEj^        ‘eEj_        ‘eEj`        ‘eEja        ‘eEjb        ‘eEjc        ‘eEjd        ‘eEje        ‘eEjf        ‘eEj/        ‘eEjg        ‘eEjh        ‘eEji        ‘eEjj        ‘eEjk        ‘eEjl        ‘e'‘eEjm        ‘eEjn        ‘eEjo        ‘eEjp        jq        ‘eEjr        js        ‘eEjt        ‘eGju        ‘eHjv        ‘¦  «        Zwi  e¦   «         ¥ew¥ZxeEjy        eEjz        eEj{        eEj|        j}        eEj~        eEj        eEj€        eEj        eEj/        eEj�        eEj‚        eEjƒ        eEj„        eEj…        eEj†        j‡        eEjˆ        eEj‰        eEjŠ        eEj‹        eEjŒ        eEj�        eEjŽ        j�        eEj�        eEj‘        eEj’        eEj“        j�        eEj”        eEj•        eEj–        gZ—e˜ej<        j™        ej<        j>        z           e@d<    eexe—¦  «         de?e˜e?         z  deee;e:f         gee;e:f         f         fd„Zš ešeEj•        j�        g¦  «        dej‡        dej‡        de›dej‡        fd„¦   «         Zœ ešeEj•        j‡        g¦  «        dej‡        dej‡        dej‡        dej‡        fd„¦   «         Z� ešeEj        g¦  «        dej‡        dej‡        d eqd!eqd"eždej‡        fd#„¦   «         ZŸ ešeEj/        ¦  «        d$ej‡        d%ej         dej‡        dz  d&ej‡        dz  d'e›de¡ej‡        ej‡        ej‡        f         fd(„¦   «         Z¢ ešeEj£        j}        g¦  «        ddd)œd*ej¤        d+ej¥        j¦        dz  d,ej¥        j¦        dz  ddfd-„¦   «         Z£ ešeEj§        g¦  «        e	 	 dÄd.ej‡        d+ej¥        j¦        dz  d,ej¥        j¦        dz  dej‡        fd/„¦   «         ¦   «         Z§ ešeEj…        g¦  «        ed.ej‡        dej‡        fd0„¦   «         ¦   «         Z… ešeEj¨        g¦  «        d1e˜eqej¤        z           d2ej¥        j¦        d3edej‡        fd4„¦   «         Z¨ ešeEj�        g¦  «        dd5œd.ej‡        d6eqd7ej‡        d8ej‡        d9ej¥        j¦        dej‡        fd:„¦   «         Z� ešeEj©        j}        g¦  «        d1e˜eqej¤        z           d;e˜eq         d3edej‡        fd<„¦   «         Z© ešeEjª        g¦  «        dej‡        d$ej‡        dej‡        d=e˜eq         d>eqe˜eq         z  d?eqe˜eq         z  d@eqe˜eq         z  dAeždBe˜eq         dCeqdDe˜ež         de¡ej‡        ej‡        ej‡        f         fdE„¦   «         Zª ešeEj«        j¬        g¦  «        dÂd.ej‡        dFeqdej‡        fdG„¦   «         Z­ ešeEj®        g¦  «        e	 dÅdHej‡        dIej‡        dJej¯        dz  dej‡        fdK„¦   «         ¦   «         Z® ešeEj°        g¦  «        e	 	 	 dÆdHej‡        dLej‡        dMej‡        dJej¯        dz  dNej¥        j¦        d9ej¥        j¦        dej‡        fdO„¦   «         ¦   «         Z° ešeEj±        g¦  «        e	 dÅdHej‡        dPej‡        dJej¯        dz  dej‡        fdQ„¦   «         ¦   «         Z± ešeEj²        j}        g¦  «        	 dÂdRe˜ej‡                 d6eqdej‡        fdS„¦   «         Z² ešeEj³        g¦  «        d.ej‡        dej‡        fdT„¦   «         Z³ ešeEj´        g¦  «        dd5œd.ej‡        dUej‡        d9ej¥        j¦        dz  dej‡        fdV„¦   «         Z´ ešeEjµ        g¦  «        dHej‡        dej‡        fdW„¦   «         Zµ ešeEj¶        eEj·        g¦  «        dHej‡        dej‡        fdX„¦   «         Z¶ ešeEj¸        eFj¸        g¦  «        dHej‡        dYej‡        dej‡        fdZ„¦   «         Z¸ ešeEj¹        eFj¹        g¦  «        dHej‡        dYej‡        dej‡        fd[„¦   «         Z¹ ešeEjº        ¦  «        	 	 dÇdHej‡        d6eqdz  d]eždej‡        fd^„¦   «         Zº ešeEj»        ¦  «        	 	 dÇdHej‡        d6eqdz  d]eždej‡        fd_„¦   «         Z» ešeEj¼        g¦  «        dHej‡        d6eqdeqd`eqdej‡        f
da„¦   «         Z¼ ešeEj½        j}        g¦  «        dHej‡        d1e˜eqej¤        z           dej‡        fdb„¦   «         Z¾ ešeEj½        j¯        g¦  «        dHej‡        dcej¯        dej‡        fdd„¦   «         Z¿dHej‡        de¡ej         ejÀ        f         fde„ZÁ ešeEjÂ        ¦  «        dddd\d\ejÃ        dfœdHej‡        d2eqe›z  dcej¯        dz  dgejÄ        dz  dhejÅ        dz  dieždježdkejÆ        dej‡        fdl„¦   «         ZÂddejÃ        dmœdnedoej‡        f         dHej‡        dcej¯        dz  dhejÅ        dz  dkejÆ        d3edej‡        fdp„ZÇ ejš        eEjÈ        ge!¦  «        dHej‡        d3edej‡        fdq„¦   «         ZÈ ejš        eEjÉ        ge!¦  «        dHej‡        d3edej‡        fdr„¦   «         ZÉ ejš        eEjÊ        j}        ge!¦  «        dHej‡        dseqd3edej‡        fdt„¦   «         ZÊ ejš        eEjÊ        jË        ge!¦  «        dHej‡        dueqdseqd3edej‡        f
dv„¦   «         ZÌ ešeEjÍ        j}        ¦  «        dseqd1e˜eqej¤        z           d3edej‡        fdw„¦   «         ZÍ ešeGju        j}        ¦  «        	 dÅd$ej‡        dej‡        d&ej‡        dz  dej‡        fdx„¦   «         Zu ešeHjv        j}        ¦  «        d$ej‡        dyej‡        dzej‡        dej‡        d{ej‡        d|ej‡        d&ej‡        d}ej‡        d~ej‡        deqdej‡        fd€„¦   «         Zv ešejD        jG        jÎ        ¦  «        d�ej‡        dej‡        fd‚„¦   «         ZÏ ešeEjÐ        g¦  «        e	 	 	 dÈdƒej‡        d„ej‡        d…eqd†eqd‡eždej‡        fdˆ„¦   «         ¦   «         ZÐ ešeEjÑ        j�        ¦  «        d‰e˜ej‡                 dŠe˜ej‡                 dej¥        j¦        de˜ej‡                 fd‹„¦   «         ZÒ ešeEjÑ        jÓ        ¦  «        d‰e˜ej‡                 dŠe˜ej‡                 dŒe˜ej¥        j¦                 de˜ej‡                 fd�„¦   «         ZÔeEjÕ        j}         Ö                    ej×        jØ        jÙ        ¦  «         ešeEjÕ        ¦  «        d$ej‡        dej‡        d&ej‡        dz  dŽej‡        dz  d�ej‡        dz  d�ežd‘e›d’e›de¡ej‡        ej‡        ej‡        f         fd“„¦   «         ¦   «         ZÕe jÚ        deÛeedoef         f         fd”„¦   «         ZÜdeÛeedoef         f         fd•„ZÝ ešeEjÞ        ¦  «        dHej‡        d–ej‡        d—ej‡        dej‡        fd˜„¦   «         ZÞ ešeIjß        jà        ¦  «        d$ej‡        d™eqdšeqd'e›dcej¯        de¡ej‡        ej‡        f         fd›„¦   «         Zá ešeEjâ        ¦  «        	 dÉdHej‡        d7ej‡        d—ej‡        dœeždej‡        f
d�„¦   «         Zâ ešeEjã        ¦  «        	 dÉdHej‡        d7ej‡        d—ej‡        dœeždej‡        f
dž„¦   «         Zã ešeEj~        j}        ¦  «        edej‡        dŸej‡        d6eqd ej¯        dej‡        f
d¡„¦   «         ¦   «         Z~ ešeEjä        ¦  «        d¢d£œdHej‡        d6eqd7ej‡        d¤ej‡        d¥eåd¦eždej‡        fd§„¦   «         Zäd.ej‡        d¨e˜eq         d>eqe˜eq         z  dz  d?eqe˜eq         z  d@eqe˜eq         z  d©ežd6eqde¡ej‡        ej‡        f         fdª„Zæ ešeEjç        ¦  «        	 	 	 	 dÊd.ej‡        d¨e˜eq         d>eqe˜eq         z  dz  d?eqe˜eq         z  d@eqe˜eq         z  d©ežde¡ej‡        ej‡        f         fd«„¦   «         Zç ešeEjè        ¦  «        	 	 	 	 dÊd.ej‡        d¨e˜eq         d>eqe˜eq         z  dz  d?eqe˜eq         z  d@eqe˜eq         z  d©ežde¡ej‡        ej‡        f         fd¬„¦   «         Zè ešeEjé        j�        ¦  «        d\d\ddd­œd®ej‡        dHej¥        j¦        d¯ežd°ežd±eådz  d²ej‡        dz  dej‡        fd³„¦   «         Zê ešeEjë        j�        ¦  «        d\d\d´œdHej¥        j¦        dµej‡        d¯ežd°eždej‡        f
d¶„¦   «         Zì ejš        eEjí        e!¦  «        	 	 	 	 dËdHej‡        d¹ej‡        dºe›d»e›d�ežd¼ejî        dz  de¡ej‡        ej‡        f         fd½„¦   «         Zí ešeEjï        j‡        ¦  «        	 dÅd¾ej‡        d¿eqdz  dej‡        fdÀ„¦   «         Zð	 	 	 	 	 dÌd$ej‡        dej‡        d&ej‡        dz  d>e¡eq         d?e¡eq         d@e¡eq         dCeqdej‡        fdÃ„ZñdS )Íé    N)ÚCallable)ÚAnyÚ	TypeAliasÚTypeVar)Ú	ParamSpec)Úcore_aten_decompositionsÚget_decompositionsÚremove_decompositions)Ú_grid_sampler_2dÚ
_index_addÚembedding_dense_backwardÚpw_cast_for_opmathÚ"pw_cast_for_opmath_non_tensor_args)Úextra_random_decomps)Úcounters)Ú	is_fbcode)Ú	out_dtype)Úpad_listlike)Úelementwise_dtypesÚELEMENTWISE_TYPE_PROMOTION_KINDÚsuggest_memory_formatÚtype_to_dtype)Únative_layer_norm)Úguard_or_falseÚstatically_known_trueé   )ÚconfigÚinductor_prims)Úis_gpuÚ,needs_fallback_due_to_atomic_add_limitationsÚuse_scatter_fallbackÚ_TÚ_PÚ_GenericOperatorÚdecomps_to_excludeÚopsÚreturnc                 ó¸   — t          | t          ¦  «        r| n| gD ]&}|t          v rt                               d| ¦  «         Œ't          j        | t          ¦  «        S )Nzduplicate decomp: %s)Ú
isinstanceÚlistÚdecompositionsÚlogÚwarningÚdecompÚregister_decomposition)r&   Úops     ú[/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/_inductor/decomposition.pyr/   r/   –   s\   € õ   ¥TÑ*Ô*Ð5ˆcˆc°°ð 5ð 5ˆØ•ÐÐÝ�KŠKÐ.°Ñ4Ô4Ð4øÝÔ(¨­nÑ=Ô=Ð=ó    ÚstartÚendÚweightc                 óò   — t          | ¦  «        }|t          j        k    r|                     |¬¦  «        }|| z
  }|dk    s|dk    rt          j        ||d|z
   ¬¦  «        S t          j        | ||¬¦  «        S )N©Úmemory_formatç      à?g      à¿ç      ð?©Úalpha)r   ÚtorchÚcontiguous_formatÚ
contiguousÚadd)r3   r4   r5   ÚfmtÚdiffs        r1   Ú_lerp_scalarrC   Ÿ   s€   € õ   Ñ
&Ô
&€CØ
�eÔ%Ò%Ð%Ø�nŠn¨3ˆnÑ/Ô/ˆØ�‰;€DØ�‚}€}˜ $š˜ÝŒy˜˜d¨C°&©L¨/Ð:Ñ:Ô:Ð:ÝŒ9�U˜D¨Ð/Ñ/Ô/Ð/r2   c                 ó:  — t          | ¦  «        }|t          j        k    r|                     |¬¦  «        }|| z
  }|                     ¦   «         dk    }d|z
   }t          j        |||¦  «        }t          j        ||| ¦  «        }t          j        |||d¬¦  «        S )Nr7   r9   r:   r   )Úvalue)r   r=   r>   r?   ÚabsÚwhereÚaddcmul)	r3   r4   r5   rA   rB   ÚmaskÚneg_omwÚwÚbases	            r1   Ú_lerp_tensorrM   ®   s—   € õ   Ñ
&Ô
&€CØ
�eÔ%Ò%Ð%Ø�nŠn¨3ˆnÑ/Ô/ˆØ�‰;€DØ�:Š:‰<Œ<˜3Ò€DØ�f‘ˆo€GÝŒ�D˜' 6Ñ*Ô*€AÝŒ;�t˜S %Ñ(Ô(€DÝŒ=˜˜q $¨aÐ0Ñ0Ô0Ð0r2   Úgrad_outputÚindicesÚnum_weightsÚpadding_idxÚscale_grad_by_freqc                 óD   — | j         rt          S t          | ||||¦  «        S ©N)Úis_xpuÚNotImplementedÚdecomp_embedding_dense_backward)rN   rO   rP   rQ   rR   s        r1   Ú_embedding_dense_backwardrX   ¿   s3   € ð Ôð ÝÐå*Ø�W˜k¨;Ð8Jñô ð r2   ÚinputÚnormalized_shapeÚbiasÚepsc                 óD   — | j         rt          S t          | ||||¦  «        S rT   )Úis_mtiarV   Údecomp_native_layer_norm)rY   rZ   r5   r[   r\   s        r1   Ú_native_layer_normr`   Ñ   s+   € ð „}ð ÝÐå# EÐ+;¸VÀTÈ3ÑOÔOÐOr2   )ÚminÚmaxÚsymbolra   rb   c                ó   — d S rT   © )rc   ra   rb   s      r1   Úsym_constrain_range_for_sizerf   ß   s	   € ð €Fr2   Úxc                 ób   — |�|                       |¦  «        } |�|                      |¦  «        } | S rT   )Ú	clamp_minÚ	clamp_max)rg   ra   rb   s      r1   Úclamprk   é   s5   € ð €Ø�KŠK˜ÑÔˆØ
€Ø�KŠK˜ÑÔˆØ€Hr2   c                 óZ   — | d|                       ¦   «                              ¦   «         z   z  S )Nr   )ÚnegÚexp)rg   s    r1   Úsiluro   ú   s$   € ð ��A—E’E‘G”G—K’K‘M”MÑ!Ñ"Ð"r2   ÚsizeÚ
fill_valueÚkwargsc                 ó¢   — |                      d¦  «        }|€2t          t          |¦  «        ¦  «        |d<   t          j        | |fi |¤ŽS t
          S )NÚdtype)Úgetr   Útyper=   ÚfullrV   )rp   rq   rr   rt   s       r1   rw   rw      sS   € ð �JŠJ�wÑÔ€EØ€}Ý'­¨ZÑ(8Ô(8Ñ9Ô9ˆˆw‰ÝŒz˜$ 
Ð5Ð5¨fÐ5Ð5Ð5ÝÐr2   r;   ÚdimÚindexÚtensorr<   c                ó€   — t          ¦   «         s| j        t          j        k    rt          S t          | |||d|¬¦  «        S )NF)Úinplacer<   )r   rt   r=   Úbfloat16rV   r   )rg   rx   ry   rz   r<   s        r1   Ú	index_addr~     s@   € õ ‰;Œ;ð M˜1œ7¥e¤nÒ4Ð4ÝÐå˜!˜S %¨¸ÀeÐLÑLÔLÐLr2   Úphysical_layoutc                 ó\  ‡ — t          |¦  «        t          t          t          |¦  «        ¦  «        ¦  «        k    }|rt          j        ‰ fi |¤ŽS dgt          ‰ ¦  «        z  }t          |¦  «        D ]
\  }}|||<   Œt          j        ˆ fd„|D ¦   «         fi |¤Ž                     |¦  «        S )Nr   c                 ó    •— g | ]
}‰|         ‘ŒS re   re   )Ú.0Úlrp   s     €r1   ú
<listcomp>z"empty_permuted.<locals>.<listcomp>1  s   ø€ Ð=Ð=Ð=¨˜D œGÐ=Ð=Ð=r2   )r*   ÚrangeÚlenr=   ÚemptyÚ	enumerateÚpermute)rp   r   rr   Úis_identityÚpermÚprƒ   s   `      r1   Úempty_permutedr�   #  sÃ   ø€ õ �Ñ'Ô'­4µµc¸/Ñ6JÔ6JÑ0KÔ0KÑ+LÔ+LÒL€Kàð WÝŒ{˜4Ð*Ð* 6Ð*Ð*Ð*àˆs•S˜‘Y”Y‰ˆÝ˜oÑ.Ô.ð 	ð 	‰DˆAˆqØˆD�‰GˆGÝŒ{Ð=Ð=Ð=Ð=¨_Ð=Ñ=Ô=ÐHÐHÀÐHÐH×PÒPÐQUÑVÔVÐVr2   Ú
bias_sizesÚstrideÚpaddingÚdilationÚ
transposedÚoutput_paddingÚgroupsÚoutput_maskc                 ó  — |
d         rt          | j        j        ¦  «        st          S t	          |                     d¦  «        dk    ¦  «        r/t	          |d         dk    ¦  «        r|                      |¦  «        }nLt                               | dgt          t          d|                      ¦   «         ¦  «        ¦  «        z   ¦  «        }t                               | |||||||||	|
d         |
d         dg¦  «        \  }}}|||fS )Né   r   r   F)r   Údevicerv   rV   r   rp   Ú	new_zerosÚatenÚsumr*   r…   rx   Úconvolution_backward)rN   rY   r5   rŽ   r�   r�   r‘   r’   r“   r”   r•   Ú	grad_biasÚgrad_inpÚgrad_weightÚ_s                  r1   rœ   rœ   4  s  € ð �qŒ>ð ¥¨Ô(:Ô(?Ñ!@Ô!@ð ÝÐÝ˜UŸZšZ¨™]œ]¨aÒ/Ñ0Ô0ð SÕ5JØ�1Œ˜Òñ6ô 6ð Sð  ×)Ò)¨*Ñ5Ô5ˆ	ˆ	å—H’H˜[¨1¨#µµU¸1¸k¿oºoÑ>OÔ>OÑ5PÔ5PÑ0QÔ0QÑ*QÑRÔRˆ	Ý#×8Ò8ØØØØØØØØØØØ	�QŒ˜ Qœ¨Ð/ñ ô  Ñ€Hˆk˜1ð �k 9Ð-Ð-r2   Údecimalsc                 óR   — d|z  }t                                | |z  ¦  «        d|z  z  S )Ng      $@r:   )rš   Úround)rg   r¡   Úten_pow_decimalss      r1   Ú	round_decr¥   [  s/   € à˜X‘~ÐÝ�:Š:�aÐ*Ñ*Ñ+Ô+¨sÐ5EÑ/EÑFÐFr2   ÚselfÚbatch2r   c                 óx  — t          | j        d         dk    ¦  «        r5t          |j        d         dk    ¦  «        r| |z                       ¦   «         S t          j        r‹| j        j        dvr}t          | j        d         dk    ¦  «        st          |j        d         dk    ¦  «        rA|                      d¦  «        |                     d¦  «        z                       d¬¦  «        }|S | j        j        dk    rºt          |  	                    d¦  «        dk    ¦  «        r”t          | 	                    d¦  «        dk    ¦  «        rnt          d         dxx         dz  cc<   t          j        |                      d¦  «        |                     d¦  «        z  dd	¬
¦  «                             d¦  «        S t          S )Nr—   r   ©ÚcpuÚmpséÿÿÿÿ©rx   rª   ÚinductorÚdecompose_bmmT©rx   Úkeepdim)r   Úshaper?   r   Úcoordinate_descent_tuningr˜   rv   Ú	unsqueezer›   rp   r   r=   ÚsqueezerV   )r¦   r§   r   Úouts       r1   Úbmmr·   a  s®  € õ ˜TœZ¨œ]¨aÒ/Ñ0Ô0ð ,Õ5JØŒ�QŒ˜1Òñ6ô 6ð ,ð �v‘×)Ò)Ñ+Ô+Ð+õ Ô'ð ¨D¬KÔ,<ÀNÐ,RÐ,RÝ  ¤¨A¤°!Ò!3Ñ4Ô4ð 	Õ8MØŒL˜ŒO˜qÒ ñ9
ô 9
ð 	ð —>’> "Ñ%Ô%¨×(8Ò(8¸Ñ(;Ô(;Ñ;×@Ò@ÀQÐ@ÑGÔGˆCØˆJØ„{Ô˜5Ò Ð Ý  §¢¨1¡¤°Ò!2Ñ3Ô3ð 	Õ8MØ�KŠK˜‰OŒO˜qÒ ñ9
ô 9
ð 	õ �ZÔ  Ð1Ð1Ô1°QÑ6Ð1Ð1Ñ1Ý”9Ø—’˜Q‘” &§.¢.°Ñ"4Ô"4Ñ4¸!ÀTðñ ô çŠi˜‰lŒlðõ Ðr2   Úmat1Úmat2Úbetac                 ó€  — |j         j        dvr�t          |                     d¦  «        dk    ¦  «        rwt          |                     d¦  «        dk    ¦  «        rQt          |                     d¦  «        dk    ¦  «        r+t          d         dxx         dz  cc<   ||z  }||z  || z  z   S | j         j        dk    �r|t          |                     d¦  «        dk    ¦  «        rŸt          |                     d¦  «        dk    ¦  «        ryt          d         dxx         dz  cc<   t          j        |                     d¦  «        |                     d¦  «        z  dd¬	¦  «                             d¦  «        }||z  || z  z   S t          |                     d¦  «        dk    ¦  «        r‘t          |                     d¦  «        d
k    ¦  «        rkt          |                     d¦  «        d
k    ¦  «        rEt          d         dxx         dz  cc<   |j
        |z                       dd¬	¦  «        }||z  || z  z   S t          S )Nr©   r¬   r   r   r®   Údecompose_addmmrª   Tr°   é   )r˜   rv   r   rp   r   r=   r›   rµ   r´   r   ÚTrV   )r¦   r¸   r¹   r   rº   r<   r¶   s          r1   Úaddmmr¿   ‚  s?  € ð „{Ô˜~Ð-Ð-å! $§)¢)¨B¡-¤-°1Ò"4Ñ5Ô5ð	-å% d§i¢i°¡l¤l°aÒ&7Ñ8Ô8ð	-õ & d§i¢i°¡l¤l°aÒ&7Ñ8Ô8ð	-õ
 �ZÔ Ð!2Ð3Ð3Ô3°qÑ8Ð3Ð3Ñ3Ø˜‘+ˆCØ˜3‘; ¨¡Ñ,Ð,à„{Ô˜5Ò Ñ Ý  §¢¨1¡¤°Ò!2Ñ3Ô3ð 	-Õ8MØ�IŠI�b‰MŒM˜QÒñ9
ô 9
ð 	-õ �ZÔ Ð!2Ð3Ð3Ô3°qÑ8Ð3Ð3Ñ3Ý”)Ø—’˜Q‘” $§,¢,¨rÑ"2Ô"2Ñ2¸À4ðñ ô çŠi˜‰lŒlð ð ˜3‘; ¨¡Ñ,Ð,å! $§)¢)¨A¡,¤,°!Ò"3Ñ4Ô4ð	-å˜tŸyšy¨™|œ|¨rÒ1Ñ2Ô2ð	-õ ˜tŸyšy¨™|œ|¨rÒ1Ñ2Ô2ð	-õ
 �ZÔ Ð!2Ð3Ð3Ô3°qÑ8Ð3Ð3Ñ3Ø”6˜D‘=×%Ò%¨!°TÐ%Ñ:Ô:ˆCØ˜3‘; ¨¡Ñ,Ð,ÝÐr2   Úinput2c                 ó\  — t           j        r‰| j        j        dvr{t	          | j        d         dk    ¦  «        st	          |j        d         dk    ¦  «        r?|                      d¦  «        |                     d¦  «        z                       d¬¦  «        S t	          |                      d¦  «        dk    ¦  «        �r t	          |                      d¦  «        dk    ¦  «        rút	          |                     d¦  «        dk    ¦  «        rÔ| j        j        dvs¦| j        j        dk    r¶t	          |                      d¦  «        dk    ¦  «        r�t	          |                     d¦  «        dk    ¦  «        rj| j	        |j	        k    rZt          t          j        | ¦  «        t          j        |¦  «        z   dk    ¦  «        r t          d	         d
xx         dz  cc<   | |z  S | j        j        dk    rºt	          |                      d¦  «        dk    ¦  «        r”t	          |                     d¦  «        dk    ¦  «        rnt          d	         d
xx         dz  cc<   t          j        |                      d¦  «        |                     d¦  «        z  dd¬¦  «                             d¦  «        S t          S )Nr©   r   r   r—   r­   r¬   rª   é    r®   Údecompose_mmTr°   )r   r³   r˜   rv   r   r²   r´   r›   rp   rt   r   r=   Únumelr   rµ   rV   )r¦   rÀ   r   s      r1   ÚmmrÅ   ª  s…  € õ Ô'ð H¨D¬KÔ,<ÀNÐ,RÐ,RÝ  ¤¨A¤°!Ò!3Ñ4Ô4ð 	HÕ8MØŒL˜ŒO˜qÒ ñ9
ô 9
ð 	Hð —N’N 1Ñ%Ô%¨×(8Ò(8¸Ñ(;Ô(;Ñ;×@Ò@ÀQÐ@ÑGÔGÐGõ 	˜dŸiši¨™mœm¨qÒ0Ñ1Ô1ñ!å! $§)¢)¨A¡,¤,°!Ò"3Ñ4Ô4ð!õ " &§+¢+¨a¡.¤.°AÒ"5Ñ6Ô6ð!ð
 Œ;Ô >Ð1Ð1ØŒKÔ Ò%Ð%Ý% d§i¢i°¡l¤l°QÒ&6Ñ7Ô7ð &å% f§k¢k°!¡n¤n¸Ò&9Ñ:Ô:ð &ð ”˜vœ|Ò+Ð+Ý¥¤¨DÑ 1Ô 1µE´KÀÑ4GÔ4GÑ GÈBÒNÑOÔOð ,õ �ZÔ  Ð0Ð0Ô0°AÑ5Ð0Ð0Ñ0Ø˜&‘=Ð Ø„{Ô˜5Ò Ð Ý  §¢¨1¡¤°Ò!2Ñ3Ô3ð 	Õ8MØ�KŠK˜‰OŒO˜qÒ ñ9
ô 9
ð 	õ �ZÔ  Ð0Ð0Ô0°AÑ5Ð0Ð0Ñ0Ý”9Ø—’˜Q‘” &§.¢.°Ñ"4Ô"4Ñ4¸!ÀTðñ ô çŠi˜‰lŒlðõ Ðr2   Útensorsc                 ó�  ‡‡— dt           j        dt          fˆfd„}t          t	          || ¦  «        ¦  «        Št          ‰¦  «        dk    rYt          | dt          j        iŽd         }‰d         }||j	        k    r| 
                    ¦   «         n|                     |¬¦  «        S dt          ‰¦  «        cxk     rt          | ¦  «        k     r#n n t          j                             ‰‰¦  «        S t          ‰¦  «        dk    r¿t          ˆfd„‰D ¦   «         ¦  «        r¤‰d         }t          |j        ¦  «        }‰dk     r‰t          |j        ¦  «        z   n‰Š|                     ‰t          ‰¦  «        ¦  «          |                     ‰¦  «        j        |Ž                      ‰‰dz   ¦  «         
                    ¦   «         S t*          S )	Nrg   r'   c                 óè   •— t          | j        ¦  «        dk    r t          | j        d         dk    ¦  «        rdS ‰t          | j        ¦  «        k     r t          | j        ‰         dk    ¦  «        rdS dS )Nr   r   FT)r†   r²   r   )rg   rx   s    €r1   Únon_empty_tensorzcat.<locals>.non_empty_tensorÞ  si   ø€ õ" ˆqŒw‰<Œ<˜1ÒÐ¥°´¸´
¸a²Ñ!@Ô!@ÐØ�5à•�Q”W‘”ÒÐ¥.°´¸´ÀÒ1BÑ"CÔ"CÐØ�5àˆtr2   r   Útype_promotion_kindr   )rt   c              3   ó,   •K  — | ]}|‰d          u V — ŒdS )r   Nre   )r‚   ÚtÚfiltered_tensorss     €r1   ú	<genexpr>zcat.<locals>.<genexpr>
  s?   øè è € ð )ð )Ø%&ˆÐ˜aÔ Ð ð)ð )ð )ð )ð )ð )r2   )r=   ÚTensorÚboolr*   Úfilterr†   r   r   ÚDEFAULTrt   ÚcloneÚtorš   ÚcatÚdefaultÚallr²   Úinsertr´   ÚexpandÚflattenrV   )rÆ   rx   rÉ   Úpromoted_dtypeÚ
filtered_tÚinpr²   rÍ   s    `     @r1   rÕ   rÕ   Ù  sþ  øø€ ð
�EœLð ­Tð ð ð ð ð ð õ2 �FÐ#3°WÑ=Ô=Ñ>Ô>Ðå
ÐÑÔ Ò!Ð!å+Øð
å ?Ô Gð
ð 
ð ôˆð & aÔ(ˆ
ð  Ô!1Ò1Ð1ð ×ÒÑÔÐà—’ ^�Ñ4Ô4ð	
ð
 
�SÐ!Ñ"Ô"Ð	1Ð	1Ò	1Ð	1¥S¨¡\¤\Ò	1Ð	1Ð	1Ð	1Ð	1åŒx×ÒÐ 0°#Ñ6Ô6Ð6õ ÐÑÔ˜qÒ Ð ¥Sð )ð )ð )ð )Ø*:ð)ñ )ô )ñ &ô &Ð ð ˜qÔ!ˆÝ�S”Y‘”ˆØ&)¨A¢g gˆc•C˜œ	‘N”NÑ"Ð"°3ˆØ�Š�S�#Ð.Ñ/Ô/Ñ0Ô0Ð0Ø(ˆs�}Š}˜SÑ!Ô!Ô(¨%Ð0×8Ò8¸¸cÀA¹gÑFÔF×LÒLÑNÔNÐNõ Ðr2   c                 óþ  — |                       ¦   «         rWt          j        t          j        | j        ¦  «        t          d¦  «        t          j        | j        | j        ¦  «        ¦  «        S t          | t          j
        ¬¦  «        \  }}t          j        t          j        || j        ¬¦  «        }t          j        | dk     |d¦  «        }t          j        t          j        | ¦  «        t          d¦  «        |¦  «        S )NÚnan)rÊ   ©rt   r˜   r   g        )Ú
is_complexr=   rG   ÚisnanÚrealÚfloatÚatan2Úimagr   r   ÚINT_TO_FLOATÚscalar_tensorÚmathÚpir˜   )rg   r    rt   rê   Úrets        r1   Úanglerì     sÈ   € à‡|‚|�~„~ð 
ÝŒ{ÝŒK˜œÑÔ¥ u¡¤­u¬{¸1¼6À1Ä6Ñ/JÔ/Jñ
ô 
ð 	
õ "Ø	Ý;ÔHðñ ô �H€A€uõ 
Ô	�TœW¨E¸!¼(Ð	CÑ	CÔ	C€BÝ
Œ+�a˜!’e˜R Ñ
%Ô
%€CÝŒ;•u”{ 1‘~”~¥u¨U¡|¤|°SÑ9Ô9Ð9r2   Úyc                ó€  — t          j        | ¦  «        o|                      ¦   «         }t          j        |¦  «        o|                     ¦   «         }|r|st          S dt           j        dt
          fd„}d}| j        dk    r|j        dk    rd}| j        dk    r|                      d¦  «        } |j        dk    r|                     d¦  «        }|}|�||z  }t          j        | j	        |j	        ¦  «        } || ¦  «        s ||¦  «        rt          S dt           j        dt           j        fd„}	| dz   } |dz   } |	|  
                    | j        j	        ¦  «        ¦  «        }
 |	| 
                    |j        j	        ¦  «        ¦  «        }t          j        |
|z   d	¬
¦  «         
                    |¦  «        }|r|d         S |S )Nrz   r'   c                 óX   — | j         dk    rdS |                      ¦   «         d         dk    S )Nr   Fr¬   r   )Úndimr�   )rz   s    r1   Ú_requires_fallbackzadd.<locals>._requires_fallback8  s,   € ØŒ;˜!ÒÐØ�5à�}Š}‰Œ˜rÔ" aÒ'Ð'r2   Fr   Tr   c                 óŒ   — | j         �^ }}|dz  dk    rt          d¦  «        ‚g |¢|dz  ‘d‘R }|                      |¦  «        }|S )zNReshape tensor from [*initial_dims, last_dim] to *initial_dims, last_dim/2, 2]r—   r   zQThe size of the last dimension must be even to reshape it to [..., last_dim/2, 2])r²   ÚAssertionErrorÚview)rz   Úinitial_dimsÚlast_dimÚ	new_shapeÚreshaped_tensors        r1   Úreshape_tensor_complexz#add.<locals>.reshape_tensor_complexQ  sj   € ð #)¤,Ñˆ�xð �a‰<˜1ÒÐÝ Øcñô ð ð
 6�lÐ5 H°¡MÐ5°1Ð5Ð5ˆ	Ø Ÿ+š+ iÑ0Ô0ˆØÐr2   éþÿÿÿ)Ú	start_dim)r=   Ú	is_tensorrá   rV   rÏ   rÐ   rð   ÚreshapeÚpromote_typesrt   rô   rã   rÚ   )rg   rí   r<   Úx_is_complex_tensorÚy_is_complex_tensorrñ   Úoutput_size_zeroÚzÚcomplex_typerù   Ú
x_reshapedÚ
z_reshapedÚresults                r1   r@   r@   +  sÝ  € õ  œ/¨!Ñ,Ô,Ð?°·²±´ÐÝœ/¨!Ñ,Ô,Ð?°·²±´ÐØð Ð&9ð ÝÐð(¥5¤<ð (µDð (ð (ð (ð (ð ÐØ„v�‚{€{�q”v ’{�{ØÐà„v�‚{€{Ø�IŠI�a‰LŒLˆØ„v�‚{€{Ø�IŠI�a‰LŒLˆà	€AØÐØ�A‰IˆÝÔ& q¤w°´Ñ8Ô8€LàÐ˜!ÑÔð Ð 2Ð 2°1Ñ 5Ô 5ð ÝÐð¥u¤|ð ½¼ð ð ð ð ð$ 	
ˆA‰€AØ	ˆA‰€Aà'Ð'¨¯ª¨q¬v¬|Ñ(<Ô(<Ñ=Ô=€JØ'Ð'¨¯ª¨q¬v¬|Ñ(<Ô(<Ñ=Ô=€JÝŒ]˜:¨
Ñ2¸bÐAÑAÔA×FÒFÀ|ÑTÔT€Fàð Ø�aŒyÐØ€Mr2   c                 ó<   — |                       ¦   «         rt          S | S rT   )rá   rV   ©r¦   s    r1   Úconj_physicalr	  o  s   € à‡‚ÑÔð ÝÐØ€Kr2   c                 ó   — | S rT   re   r  s    r1   Úliftr  v  s   € à€Kr2   Úotherc                 ó`   — t          j        t          j        |¦  «        || k    z  | |¦  «        S rT   ©r=   rG   râ   ©r¦   r  s     r1   Úfminr  {  ó)   € åŒ;•u”{ 5Ñ)Ô)¨U°Tª\Ñ:¸DÀ%ÑHÔHÐHr2   c                 ó`   — t          j        t          j        |¦  «        || k     z  | |¦  «        S rT   r  r  s     r1   Úfmaxr  €  r  r2   Fr±   c                 óh   — | j         t          j        k    rt          j        | ||¬¦  «        S t          S ©Nr°   )rt   r=   rÐ   ÚanyrV   ©r¦   rx   r±   s      r1   Úamaxr  …  ó0   € ð „z•U”ZÒÐÝŒy˜ 3°Ð8Ñ8Ô8Ð8ÝÐr2   c                 óh   — | j         t          j        k    rt          j        | ||¬¦  «        S t          S r  )rt   r=   rÐ   r×   rV   r  s      r1   Úaminr  �  r  r2   Úlengthc                 ól   — t          j        | |||¦  «                             t           j        ¬¦  «        S )Nr7   )r=   ÚnarrowrÓ   r>   )r¦   rx   r3   r  s       r1   Únarrow_copyr  ›  s7   € õ Œ<˜˜c 5¨&Ñ1Ô1×7Ò7ÝÔ-ð 8ñ ô ð r2   c                 ó\   — t                                | |¦  «                             ¦   «         S rT   )rš   rô   rÓ   )r¦   rp   s     r1   Úview_copy_defaultr!  ©  s$   € õ
 �9Š9�T˜4Ñ Ô ×&Ò&Ñ(Ô(Ð(r2   rt   c                 óP   — |                       ¦   «                              |¦  «        S rT   )rÓ   rô   )r¦   rt   s     r1   Úview_copy_dtyper#  ±  s    € ð
 �:Š:‰<Œ<×Ò˜UÑ#Ô#Ð#r2   c                 ó°   ‡ — t          j        ‰ ¦  «        \  }}ˆ fd„|D ¦   «         }dgt          |¦  «        z  }t          |¦  «        D ]
\  }}|||<   Œ||fS )Nc                 ó*   •— g | ]}‰j         |         ‘ŒS re   )r²   )r‚   rƒ   r¦   s     €r1   r„   z/_get_shape_permutation_like.<locals>.<listcomp>½  s   ø€ Ð4Ð4Ð4˜qˆTŒZ˜Œ]Ð4Ð4Ð4r2   r   )ÚutilsÚ3compute_elementwise_output_logical_to_physical_permr†   rˆ   )r¦   r   r    r²   ÚpermutationrŒ   rƒ   s   `      r1   Ú_get_shape_permutation_liker)  ¹  sw   ø€ õ ÔRÐSWÑXÔXÑ€O�QØ4Ð4Ð4Ð4 OÐ4Ñ4Ô4€Eà�#�˜E™
œ
Ñ"€KÝ˜/Ñ*Ô*ð ð ‰ˆˆ1Øˆ�A‰ˆà�;ÐÐr2   )rt   Úlayoutr˜   Ú
pin_memoryÚrequires_gradr8   r*  r˜   r+  r,  r8   c          	      óú  — |€| j         n|}|€| j        n|}|€| j        n|}|t          j        k    r6t          j        | j        ||||||¬¦  «        }|                     |¬¦  «        S |t          j        k    sJ ‚t          | ¦  «        \  }	}
t          j        |	||||||¬¦  «        }|
t          t          t          |
¦  «        ¦  «        ¦  «        k    r|S |                     |
¦  «                             ¦   «         S )N)rt   r*  r˜   r+  r,  r7   )rt   r*  r˜   r=   Úpreserve_formatrw   r²   rÔ   Ústridedr)  r*   r…   r†   r‰   rÓ   )r¦   rq   rt   r*  r˜   r+  r,  r8   r  r²   r(  s              r1   Ú	full_liker0  Æ  s  € ð  ˜-ˆDŒJˆJ¨U€EØ"˜NˆTŒ[ˆ[°€FØ"˜NˆTŒ[ˆ[°€Fà�Ô-Ò-Ð-Ý”ØŒJØØØØØ!Ø'ð
ñ 
ô 
ˆð �yŠy }ˆyÑ5Ô5Ð5ð �œÒ&Ð&Ð&Ð&Ý8¸Ñ>Ô>Ñˆˆ{Ý”ØØØØØØ!Ø'ð
ñ 
ô 
ˆð �$�u¥S¨Ñ%5Ô%5Ñ6Ô6Ñ7Ô7Ò7Ð7ØˆMØ�~Š~˜kÑ*Ô*×0Ò0Ñ2Ô2Ð2r2   )rt   r˜   r8   Úrand_fn.c                ó€  — |€|j         n|}|€|j        n|}|t          j        k    r% | |j        f||dœ|¤Ž                     |¬¦  «        S t          |¦  «        \  }} | |f||dœ|¤Ž}|t          t          t          |¦  «        ¦  «        ¦  «        k    r|S | 
                    |¦  «                             ¦   «         S )Nrà   r7   )rt   r˜   r=   r.  r²   rÔ   r)  r*   r…   r†   r‰   rÓ   )	r1  r¦   rt   r˜   r8   rr   r²   r(  r  s	            r1   Ú
_rand_liker3  ó  sþ   € ð  ˜-ˆDŒJˆJ¨U€EØ"˜NˆTŒ[ˆ[°€Fà�Ô-Ò-Ð-ØˆwØŒJð
àØð
ð 
ð ð	
ð 
÷
 Š"˜=ˆ"Ñ
)Ô
)ð	*õ 5°TÑ:Ô:Ñ€Eˆ;ØˆWØðàØðð ð ð	ð €Fð •d�5¥ [Ñ!1Ô!1Ñ2Ô2Ñ3Ô3Ò3Ð3ØˆØ�>Š>˜+Ñ&Ô&×,Ò,Ñ.Ô.Ð.r2   c                 ó2   — t          t          j        | fi |¤ŽS rT   )r3  r=   Úrand©r¦   rr   s     r1   Ú	rand_liker7    s   € å•e”j $Ð1Ð1¨&Ð1Ð1Ð1r2   c                 ó2   — t          t          j        | fi |¤ŽS rT   )r3  r=   Úrandnr6  s     r1   Ú
randn_liker:    s   € å•e”k 4Ð2Ð2¨6Ð2Ð2Ð2r2   Úhighc                 ód   — t          t          j        t          j        j        d|¦  «        | fi |¤ŽS ©Nr   ©r3  Ú	functoolsÚpartialrš   ÚrandintÚlow)r¦   r;  rr   s      r1   Úrandint_likerC    s.   € å•iÔ'­¬Ô(8¸!¸TÑBÔBÀDÐSÐSÈFÐSÐSÐSr2   rB  c                 ód   — t          t          j        t          j        j        ||¦  «        | fi |¤ŽS rT   r>  )r¦   rB  r;  rr   s       r1   Úrandint_like_lowrE  "  s0   € õ •iÔ'­¬Ô(8¸#¸tÑDÔDÀdÐUÐUÈfÐUÐUÐUr2   c                 ó4   — t          j        j        d| |fi |¤ŽS r=  )rš   rA  rB  )r;  rp   rr   s      r1   rA  rA  )  s#   € õ Œ<Ô˜A˜t TÐ4Ð4¨VÐ4Ð4Ð4r2   c                 óÈ   — t           j        j                             |¦  «        }t           j        j                             | |||                     ¦   «         d         ¦  «        S r=  )r=   r&   Ú
_quantizedÚ$wrapped_fbgemm_pack_gemm_matrix_fp16Ú!wrapped_fbgemm_linear_fp16_weightrp   )rY   r5   r[   Úpacked_weights       r1   Ú#linear_dynamic_fp16_unpacked_weightrL  2  sO   € õ ”IÔ(×MÒMÈfÑUÔU€MÝŒ9Ô×AÒAØˆ}˜d F§K¢K¡M¤M°!Ô$4ñô ð r2   Úinput_scaleÚinput_zero_pointÚweight_scaleÚweight_zero_pointÚ	out_scaleÚout_zero_pointÚout_channelc
           	      ó¤   — t           j        j                             ||||¦  «        }
t           j        j                             | |||
|||	¦  «        S rT   )r=   r&   rH  Ú_wrapped_linear_prepackÚ#_wrapped_quantized_linear_prepacked)rY   rM  rN  r5   rO  rP  r[   rQ  rR  rS  rK  s              r1   Úwrapped_quantized_linearrW  >  s\   € õ ”IÔ(×@Ò@Ø�Ð/°ñô €Mõ Œ9Ô×CÒCØØØØØØØñô ð r2   Úpackedc                 óì   — dt           j        dt           j        fd„} || ddd…f         ¦  «        } || ddd …f         ¦  «        }| dd d…f                              t           j        ¦  «        |z  |z   S )NÚu8r'   c                 ó&  ‡ — ˆ fd„dD ¦   «         \  }}}}t           j        dk    r7||dz  z   |dz  z   |dz  z                        t          j        ¦  «        d         S |dz  |dz  z   |dz  z   |z                        t          j        ¦  «        d         S )Nc              3   óf   •K  — | ]+}‰d |f                               t          j        ¦  «        V — Œ,dS ©.N)rÔ   r=   Úint32)r‚   ÚnrZ  s     €r1   rÎ   zPq_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32.<locals>.<genexpr>\  s9   øè è € ÐGÐG°Q�b˜˜a˜”j—m’m¥E¤KÑ0Ô0ÐGÐGÐGÐGÐGÐGr2   )r   r   r—   é   Úlittleé   r½   é   r]  )ÚsysÚ	byteorderrô   r=   Úfloat32)rZ  rg   rí   r  rK   s   `    r1   Úbitcast_u8_to_f32z=q_embedding_bag_byte_unpack_decomp.<locals>.bitcast_u8_to_f32[  sœ   ø€ ØGÐGÐGÐG¸,ÐGÑGÔG‰
ˆˆ1ˆa�ÝŒ=˜HÒ$Ð$Ø˜˜a™‘L A¨¡GÑ,°°R±Ñ8×>Ò>½u¼}ÑMÔMÈiÔXÐXà˜"‘W  b¡Ñ)¨Q°!©VÑ4°qÑ8×>Ò>½u¼}ÑMÔMÈiÔXÐXr2   .iøÿÿÿéüÿÿÿ)r=   rÏ   rÔ   rf  )rX  rg  ÚscalesÚoffsetss       r1   Ú"q_embedding_bag_byte_unpack_decomprk  Y  s—   € ðY�eœlð Y­u¬|ð Yð Yð Yð Yð Ð˜v c¨2¨b¨5 jÔ1Ñ2Ô2€FØÐ  s¨B¨C¨C xÔ 0Ñ1Ô1€GØ�#�s˜�s�(Ô×Ò�uœ}Ñ-Ô-°Ñ6¸Ñ@Ð@r2   ÚaÚgridÚinterpolation_modeÚpadding_modeÚalign_cornersc                 ó¸   — | j         t          j         d¦  «        k    o%|dk    o|                      t          j        ¬¦  «         }t	          | |||||¬¦  «        }|S )Nrª   r   r7   )rm  rn  ro  rp  Ú_expand_grid)r˜   r=   Úis_contiguousr>   Údecomp_grid_sampler_2d)rl  rm  rn  ro  rp  rr  Úoutputs          r1   Úgrid_sampler_2drv  g  sv   € ð 	
Œ•E”L Ñ'Ô'Ò'ð 	CØ !Ò#ð	Cà�OŠO­%Ô*AˆOÑBÔBð€Lõ $Ø	ØØ-Ø!Ø#Ø!ðñ ô €Fð €Mr2   Ústart_tensorsÚend_tensorsc           	      óº   — t           j                             | t           j                             t           j                             || ¦  «        |¦  «        ¦  «        S rT   )rš   Ú_foreach_addÚListÚ_foreach_mulÚScalarÚ_foreach_sub)rw  rx  r5   s      r1   Ú_foreach_lerp_scalarr  ‰  sP   € õ Ô×!Ò!ØÝÔ× Ò ÝÔ×"Ò" ;°Ñ>Ô>Àñ	
ô 	
ñô ð r2   Úscalarsc           	      óº   — t           j                             | t           j                             t           j                             || ¦  «        |¦  «        ¦  «        S rT   )rš   rz  r{  r|  Ú
ScalarListr~  )rw  rx  r€  s      r1   Ú_foreach_lerp_scalarlistrƒ  —  sP   € õ Ô×!Ò!ØÝÔ×$Ò$ÝÔ×"Ò" ;°Ñ>Ô>Àñ	
ô 	
ñô ð r2   Úrunning_meanÚrunning_varÚtrainingÚexponential_average_factorÚepsilonc           
      ó°   — t                                | |||||||¦  «        \  }}	}
|r||	|
fS ||                     d¦  «        |                     d¦  «        fS )N©r   )rš   Únative_batch_normr™   )rY   r5   r[   r„  r…  r†  r‡  rˆ  rl  ÚbÚcs              r1   Úmiopen_batch_normrŽ  ¥  s|   € õ ×$Ò$ØØØØØØØ"Øñ	ô 	�G€A€qˆ!ð ð Ø�1�aˆyÐà	Ø×Ò˜ÑÔØ×Ò˜ÑÔðð r2   c                  ó"   — i t           ¥t          ¥S rT   )r+   r   re   r2   r1   Úfast_random_decompsr�  Å  s   € à5�nÐ5Õ 4Ð5Ð5r2   c                  óÖ   — t           j        rt          S t           j        r;t                               t
          j        j        j        j	        d¦  «         t          S t          ¦   «         } | S )z"decomps can change based on configN)r   Úfallback_randomr+   Ú"fallback_embedding_bag_byte_unpackÚpopr=   r&   Ú	quantizedÚembedding_bag_byte_unpackrÖ   r�  )r  s    r1   Úselect_decomp_tabler—  Ì  sV   € åÔð ÝÐÝÔ0ð å×Ò�5œ9Ô.ÔHÔPÐRVÑWÔWÐWÝÐÝ Ñ"Ô"€FØ€Mr2   rI   Úsourcec                 óž  — ddl m}m}  || j        |j        ¦  «        r©t
                               | |g¦  «        \  } }|                     d¦  «                             d¦  «        dz
  }d„ | ||fD ¦   «         \  }}}t
           	                    |||gd¦  «        }	t          j        ||	|¦  «                             | j        ¦  «        S t          S )Nr   )ÚBackendFeatureÚhas_backend_featurer¬   r   c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S rT   )rÚ   )r‚   rg   s     r1   rÎ   z!masked_scatter.<locals>.<genexpr>å  s*   è è € Ð,WÐ,W¸Q¨Q¯YªY©[¬[Ð,WÐ,WÐ,WÐ,WÐ,WÐ,Wr2   )Úcodegen.commonrš  r›  r˜   ÚMASKED_SCATTER_WITH_INDEXrš   Úbroadcast_tensorsrý   ÚcumsumÚ_unsafe_masked_indexr=   rG   rô   r²   rV   )
r¦   rI   r˜  rš  r›  Ú
source_idxÚ	self_flatÚ	mask_flatÚsource_flatr  s
             r1   Úmasked_scatterr¦  Ø  sà   € ð DÐCÐCÐCÐCÐCÐCÐCàÐ˜4œ;¨Ô(PÑQÔQð Jõ ×+Ò+¨T°4¨LÑ9Ô9‰
ˆˆdØ—\’\ "Ñ%Ô%×,Ò,¨QÑ/Ô/°!Ñ3ˆ
Ø,WÐ,WÀ4ÈÈvÐBVÐ,WÑ,WÔ,WÑ)ˆ	�9˜kÝ×*Ò*¨;¸	ÀJÀ<ÐQRÑSÔSˆÝŒ{˜9 f¨iÑ8Ô8×=Ò=¸d¼jÑIÔIÐIÝÐr2   Ú	quant_minÚ	quant_maxc                 óÆ  — t          j        | ¦  «        \  }}||z
  t          ||z
  ¦  «        z  }t          j        |t          j        |g¦  «        ¦  «        }|t          j        ||z  ¦  «                             t           j        ¦  «        z
  }t          j        |||¦  «        }|                     t           j	        ¦  «        |                     t           j
        ¦  «        fS rT   )r=   Úaminmaxrä   rb   rÏ   r£   rÔ   Úintrk   Úfloat64Úint64)	rY   r§  r¨  r\   rt   Úmin_valÚmax_valÚscaleÚ
zero_points	            r1   Úchoose_qparams_tensorr²  ë  s³   € õ ”} UÑ+Ô+Ñ€GˆWØ�wÑ¥%¨	°IÑ(=Ñ">Ô">Ñ>€EÝŒI�e�Uœ\¨3¨%Ñ0Ô0Ñ1Ô1€EØ�Uœ[¨°5©Ñ9Ô9×<Ò<½U¼YÑGÔGÑG€JÝ”˜Z¨°IÑ>Ô>€JØ�8Š8•E”MÑ"Ô" J§M¢Mµ%´+Ñ$>Ô$>Ð>Ð>r2   Ú
accumulatec                 ó¾   — |                       ¦   «         }t          j        ||g|                     |j        ¦  «        |¦  «        }|                     | j        ¦  «        S rT   )rÚ   r=   Ú	index_putrý   r²   )r¦   ry   r˜  r³  Ú	flatteneds        r1   Úputr·  û  sS   € ð —’‘”€IÝ”Ø�E�7˜FŸNšN¨5¬;Ñ7Ô7¸ñô €Ið ×Ò˜TœZÑ(Ô(Ð(r2   c                 óh   — t                                | |||¬¦  «        }|                      |¦  «        S )N)r³  )rš   r·  Úcopy_)r¦   ry   r˜  r³  r¶   s        r1   Úput_rº  	  s-   € õ �(Š(�4˜ °:ˆ(Ñ
>Ô
>€CØ�:Š:�c‰?Œ?Ðr2   ru  Úinput_dtypec                 óÐ   — | |z  }t          j        ||d¬¦  «        }t          j        | ||¦  «        }| j        |k    r|                     |¦  «        }|                     ¦   «         S )NTr°   )r=   r›   r   Úfmart   rÔ   r?   )rN   ru  rx   r»  Únew_grad_outputÚsum_new_gradÚ
grad_inputs          r1   Ú_softmax_backward_datarÁ    sm   € ð " FÑ*€OÝ”9˜_°#¸tÐDÑDÔD€LåÔ# V G¨\¸?ÑKÔK€Jð Ô˜KÒ'Ð'Ø—]’] ;Ñ/Ô/ˆ
Ø× Ò Ñ"Ô"Ð"r2   T©Úinclude_selfÚsrcÚreduction_typerÃ  c                ó(  ‡ ‡‡— t          j        ‰ j        ‰j        k    o‰ j        ‰j        k    ˆˆ ˆfd„¦  «         |dk    rët          ‰ j        ¦  «        s×‰ j        j        p‰ j        j        }t          j        ‰¦  «        }|r,‰ }t          j        ‰ ¦  «                             |‰|¦  «        }	nZ‰  	                    |‰d¦  «        }t          j
        ‰ ¦  «                             |‰|¦  «        }	|	                     |	dk     d¦  «        }	|                     |‰‰¦  «        }|r||	z  n||	z  S t          t          j        j        |‰ j        ‰j        ‰j        j        d¦  «        rt"          S ‰ j        |dz   d …                              ¦   «         ‰ j        d |…                              ¦   «         z  }
‰                     ¦   «         g‰ j        |dz   d …         ¢‰ j        d |…         ¢R }g t)          ‰ j        |z
  ‰ j        ¦  «        ¢d‘t)          d‰ j        |z
  ¦  «        ¢R }‰                     t           j        ¦  «                             |
¦  «                             |¦  «                             |¦  «        }‰                      ||‰||¬¦  «        S )Nc                  ó8   •— d‰j         › d‰ j         › d‰j         › �S )NzYindex_reduce(): self, index and source expected to be in the same device, but got (self) z
, (index) z, and (source) ©r˜   )ry   r¦   rÄ  s   €€€r1   ú<lambda>zindex_reduce.<locals>.<lambda>6  s:   ø€ ð)Ø"œkð)ð )Ø5:´\ð)ð )àœJð)ð )ð r2   Úmeanr   r   TrÂ  )r=   Ú_checkr˜   r    rt   Úis_floating_pointrá   Ú	ones_liker~   Ú
index_fillÚ
zeros_likeÚmasked_fillr!   rš   Úscatter_reduce_Útworv   rV   r²   rÄ   r…   rð   rÔ   r­  Úrepeat_interleaverý   r‰   Úscatter_reduce)r¦   rx   ry   rÄ  rÅ  rÃ  Útrue_divisionÚonesr¶   ÚcountsÚrepeatsÚindex_shaper‹   Úscatter_indexs   ` ``          r1   Úindex_reducerÛ  *  s˜  øøø€ õ 
„LØŒ�u”|Ò#ÐA¨¬°s´zÒ(Að	
ð 	
ð 	
ð 	
ð 	
ð 	
ñô ð ð ˜ÒÐÕ(TØŒ
ñ)ô )Ðð œ
Ô4ÐM¸¼
Ô8MˆÝŒ˜sÑ#Ô#ˆØð 	7ØˆCÝ”_ TÑ*Ô*×4Ò4°S¸%ÀÑFÔFˆFˆFà—/’/ # u¨aÑ0Ô0ˆCÝÔ% dÑ+Ô+×5Ò5°c¸5À$ÑGÔGˆFØ×'Ò'¨°ª
°AÑ6Ô6ˆFØ�mŠm˜C ¨Ñ,Ô,ˆØ,Ð?ˆs�V‰|ˆ|°#¸±-Ð?åÝÔÔ ØØŒ
ØŒ	ØŒ
ŒØñô ð õ Ðð Œj˜˜q™˜˜Ô#×)Ò)Ñ+Ô+¨d¬j¸¸#¸Ô.>×.DÒ.DÑ.FÔ.FÑF€GØ—;’;‘=”=ÐL 4¤:¨c°A©g¨i¨iÔ#8ÐL¸4¼:ÀdÀsÀdÔ;KÐLÐL€KØN�U�4”9˜s‘? D¤IÑ.Ô.ÐN°ÐNµE¸!¸T¼YÈ¹_Ñ4MÔ4MÐNÐN€Dà�Š•”ÑÔß	Ò	˜7Ñ	#Ô	#ß	Š�Ñ	Ô	ß	Š�‰Œð	 ð ×ÒØØØØØ!ð ñ ô ð r2   Úkernel_sizeÚ	ceil_modec                 óF  — |dk    rdg|z  }|dk    rdg|z  }|s|}t          ||¦  «        }t          ||¦  «        }t          ||¦  «        }t          ||¦  «        }t          j        t          j        |¦  «        }t
          j        j                             ||¬¦  «        s'|t          j	        t
          j
        ¦  «        j        k    rt          S t                               | |||||¦  «        \  }}	t                               |	|| j        | d …         |||¦  «        }
||
fS )Nr   r   )Ún_dim)r   r?  ÚreduceÚoperatorÚmulr=   Ú	_inductorÚloweringÚ%should_fallback_max_pool_with_indicesÚiinfoÚint8rb   rV   ÚprimsÚ!_low_memory_max_pool_with_offsetsÚ'_low_memory_max_pool_offsets_to_indicesr²   )rg   rÜ  r�   r�   r‘   rÝ  rx   Úwindow_sizeÚvalsrj  rO   s              r1   Ú_max_pool_with_indicesrí  h  sC  € ð �1‚}€}Ø�3˜‘9ˆà�!‚|€|Ø�#˜‘)ˆàð Øˆõ ˜{¨CÑ0Ô0€Kå˜H cÑ*Ô*€Hå˜7 CÑ(Ô(€Gå˜& #Ñ&Ô&€FåÔ"¥8¤<°Ñ=Ô=€Kõ 	ŒÔ ×FÒFØ˜sð 	Gñ 	
ô 	
ðð �œ¥U¤ZÑ0Ô0Ô4Ò4Ð4åÐå×;Ò;Ø	ØØØØØñô �M€Dˆ'õ ×;Ò;ØØØ	Œ����ŒØØØñô €Gð �ˆ=Ðr2   c           	      ó.   — t          | |||||d¬¦  «        S )Nr—   r­   ©rí  ©rg   rÜ  r�   r�   r‘   rÝ  s         r1   Úmax_pool2d_with_indicesrñ     ó*   € õ "Ø	ˆ;˜ ¨°9À!ðñ ô ð r2   c           	      ó.   — t          | |||||d¬¦  «        S )Nr`  r­   rï  rð  s         r1   Úmax_pool3d_with_indicesrô  ®  rò  r2   ©Ú	out_int32ÚrightÚsideÚsorterÚsorted_sequencerö  r÷  rø  rù  c                ó‚   — t                                | t          j        |g| j        ¬¦  «        ||||¬¦  «        d         S )NrÈ  rõ  r   )rš   Úsearchsortedr=   rz   r˜   )rú  r¦   rö  r÷  rø  rù  s         r1   Úsearchsorted_scalarrý  ¼  sQ   € õ ×ÒØÝŒ�d�V OÔ$:Ð;Ñ;Ô;ØØØØð ñ ô ð ô	ð 	r2   ©rö  r÷  Ú
boundariesc                ó˜   — t                                t          j        | g|j        ¬¦  «        |||¬¦  «                             d¦  «        S )NrÈ  rþ  r   )rš   Ú	bucketizer=   rz   r˜   rµ   )r¦   rÿ  rö  r÷  s       r1   Úbucketize_scalarr  Ð  sL   € õ �>Š>ÝŒ�d�V JÔ$5Ð6Ñ6Ô6ØØØð	 ñ ô ÷
 ‚gˆa�j„jðr2   ç      À?çUUUUUUÕ?ÚnoiseÚlowerÚupperÚ	generatorc                 ó   — |rW| dk    }t                                | |||¬¦  «        }t          j        || |z  | ¦  «        }t          j        ||d¦  «        }	||	fS ||z   dz  }
t                                | |
¦  «        t          j        ¦   «         fS )Nr   )r  r   r—   )rš   Úuniformr=   rG   Ú
leaky_relurÏ   )r¦   r  r  r  r†  r  Únot_positiveÚrru  Ú	noise_outÚnegative_slopes              r1   Úrrelu_with_noise_functionalr  à  s‘   € ð ð EØ˜q’yˆÝ�LŠL˜˜u e°yˆLÑAÔAˆÝ”˜\¨4°!©8°TÑ:Ô:ˆÝ”K ¨a°Ñ3Ô3ˆ	Ø�yÐ Ð à %™-¨1Ñ,ˆÝ�Š˜t ^Ñ4Ô4µe´l±n´nÐDÐDr2   ÚrepeatÚoutput_sizec                 ó  — t           j        j        rt          S |�t	          |¦  «        t
          urt          S | j        j        dk    rt          S | j        t          j	        t          j
        fv sJ ‚| j        dk    sJ ‚|                      d¦  «        }t          j        || j        ¬¦  «        }t          j        ||| j        t          j	        k    d¬¦  «        }t          j        ||                      d¦  «        dz
  ¬¦  «        S )Nr«   r   r   rÈ  Trþ  )rb   )r   ÚtritonÚautotune_at_compile_timerV   rv   r«  r˜   rt   r=   r^  r­  rð   r   Úarangerü  rk   rp   )r  r  r   ÚposrO   s        r1   Úrepeat_interleave_Tensorr  ô  sò   € õ
 „}Ô-ð õ ÐØÐ�d ;Ñ/Ô/µsÐ:Ð:ÝÐØ„}Ô˜UÒ"Ð"ÝÐØŒ<�EœK­¬Ð5Ð5Ð5Ð5Ð5ØŒ;˜!ÒÐÐÐØ�]Š]˜1ÑÔ€FÝ
Œ,�{¨6¬=Ð
9Ñ
9Ô
9€CÝÔ Ø� ¤µ´Ò ;ÀDðñ ô €Gõ Œ;�w F§K¢K°¡N¤N°QÑ$6Ð7Ñ7Ô7Ð7r2   ©r   rŠ  c           	      ó|  — |                       ¦   «         dk    r|                      ¦   «         dk    s
J d¦   «         ‚|d         }|d         }|d         }|                      d¦  «        }|                     d¦  «        }t          j                             ||||df|df|df|¬¦  «        }	|	                     d¦  «        S )Nr`  z,Expect (N,C_in,L) and (C_out,C_in//groups,K)r   r¬   r   )r�   r�   r‘   r”   )rx   r´   rš   Úconv2drÖ   rµ   )
rY   r5   r[   r�   r�   r‘   r”   Úinput_2dÚ	weight_2dÚout_2ds
             r1   Úconv1d_to_conv2dr    sÐ   € ð �9Š9‰;Œ;˜!ÒÐ §
¢
¡¤°Ò 1Ð 1Ð 1Ø6ñ !2Ô 1Ð1ð
 �AŒY€Fà�aŒj€Gà˜Œ{€Hð �Š˜rÑ"Ô"€Hà× Ò  Ñ$Ô$€Iõ Œ[× Ò ØØØØ˜ˆ{Ø˜!�Ø˜A�Øð !ñ ô €Fð �>Š>˜"ÑÔÐr2   )NNrT   )Nr   r   )NF)r   r   F)F)Nr   r   F)r  r  FN)Nr  rŠ  r  r   )òr?  Úloggingré   rá  rd  Úcollections.abcr   Útypingr   r   r   Útyping_extensionsr   r=   Útorch._decompÚ_decompr.   Útorch._prims_commonÚ_prims_commonr&  Ú$torch.ao.quantization.fx._decomposedr   r	   r
   Útorch._decomp.decompositionsr   rt  r   r   rW   r   r   Ú$torch._decomp.decompositions_for_rngr   Útorch._dynamo.utilsr   Útorch._environmentr   Ú!torch._higher_order_ops.out_dtyper   Útorch._inductor.utilsr   r   r   r   r   Útorch._refsr   r_   Ú%torch.fx.experimental.symbolic_shapesr   r   Ú r   r   r   r    r!   r"   r#   Ú_opsÚOperatorBaseÚOpOverloadPacketr$   Ú__annotations__Ú	getLoggerÚ__name__r,   r&   rš   rè  r•  rH  Úquantized_decomposedÚ_adaptive_avg_pool2d_backwardÚadaptive_max_pool2dÚadaptive_max_pool3dÚindex_selectÚaddmvr  Úbitwise_and_Úbitwise_or_Ú
clamp_min_ÚdistÚeluÚ
empty_likeÚflipÚgeluÚhardtanhÚlcmr  Úlinalg_vector_normÚ_log_softmaxÚ max_pool2d_with_indices_backwardÚ_native_batch_norm_legitÚ#_native_batch_norm_legit_functionalÚ$_native_batch_norm_legit_no_trainingÚ_batch_norm_with_updateÚ"_batch_norm_with_update_functionalÚ_batch_norm_no_updateÚbatch_norm_backwardr‹  Únative_group_normÚnll_loss2d_backwardÚpermute_copyÚrrelu_with_noise_backwardÚ_softmaxÚsin_Úsqrt_Ú_to_copyÚtril_indicesÚtriu_indicesÚunbind_copyr«  Úupsample_bilinear2dÚvecÚhann_windowrL  rW  Úinductor_decompositionsr+   Ú_unsafe_indexr¡  Ú#_unsafe_masked_index_put_accumulateÚ+_scaled_dot_product_flash_attention_for_cpurÖ   rÁ  rj   ri   r~   ÚgluÚselect_scatterÚslice_scatterro   ÚsplitrÏ   rµ   r›   ÚunbindÚbaddbmmrH   Úaddcmul_Ú_foreach_addcmulr}  Ú_foreach_addcmul_ÚaddcdivÚaddcdiv_Ú_foreach_addcdivÚ_foreach_addcdiv_ÚlerpÚlerp_r%   r*   Ú
OpOverloadr/   rä   rC   rM   rÐ   rX   Ú	ShapeTypeÚtupler`   rf   ÚSymIntÚtypesÚNumberrk   rw   r�   rœ   r£   r¡   r¥   r·   rt   r¿   rÅ   rÕ   rì   r@   r	  r  Údetach_r  r  r  r  r  Ú	view_copyr!  r#  Ú
StrideTyper)  r0  r.  r*  r˜   r8   r3  r7  r:  rC  Ú	low_dtyperE  rA  r–  rk  rv  Ú_foreach_lerpr  r‚  rƒ  rŽ  Úpy_implÚ_CÚDispatchKeyÚAutogradÚcacheÚdictr�  r—  r¦  Úchoose_qparamsrz   r²  r·  rº  rÛ  Ústrrí  rñ  rô  rü  rý  r  r  r  Ú	GeneratorrÓ  r  r  re   r2   r1   ú<module>r‡     sø   ðà Ð Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à €€€Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø +Ð +Ð +Ð +ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ð FÐ EÐ EÐ EÐ EÐ EØ (Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ð ð ð ð ð ð ð ð ð FÐ EÐ EÐ EÐ EÐ EØ WÐ WÐ WÐ WÐ WÐ WÐ WÐ Wà $Ð $Ð $Ð $Ð $Ð $Ð $Ð $ðð ð ð ð ð ð ð ð ð ð €WˆT�]„]€Ø€Yˆt�_„_€à#œjÔ5¸¼
Ô8SÑSÐ �)Ð SÐ SÑ Sà€gÔ˜Ñ!Ô!€Ø„y„~€ØŒ	Œ€ØŒIÔ€	ØŒYÔ!€
Ø”yÔ5Ð à,Ð,ð.ØÔ*ð.àÔ ð.ð 	Ô ð.ð 	Ôð	.ð
 	Œ
ð.ð 	Œð.ð 	Ôð.ð 	Ôð.ð 	Œð.ð 	Œ	ð.ð 	Œð.ð 	Œð.ð 	Œ	ð.ð 	Œ	ð.ð 	Œð.ð  	Œð!.ð" 	Œð#.ð$ 	Ôð%.ð& 	Ôð'.ð( 	Ô-ð).ð* 	Ô%ð+.ð, 	Ô0ð-.ð. 	Ô1ð/.ð0 	Ô$ð1.ð2 	Ô/ð3.ð4 	Ô"ð5.ð6 	Ô ð7.ð8 	Ôð9.ð: 	Ôð;.ð< 	Ôð=.ð> 	Ô ð?.ð@ 	ÔðA.ðB 	Ô&ðC.ðD 	ŒðE.ðF 	Œ	ðG.ðH 	Œ
ðI.ðJ 	ðK.ðL 	ŒðM.ðN 	ÔðO.ðP 	ÔðQ.ðR 	ÔÔðS.ðT 	Ô Ô$ðU.ðV 	ÔðW.ðX 	Ô5ðY.ðZ 	Ô+ð[.ñ0ô 0Ð ðb KÐ,Ð,Ñ.Ô.ÐJÐ2IÐJ€ð
 	ÔØÔØÔ,ØÔ4Ô<ØÔØ„NØ„NØÔ!ØÔØ„NØ„HØÔØÔØ„IØ„JÔØ„LØ„HØ„KØ„Là„LØ„MØÔÔ ØÔØ„LØ„MØÔÔ ØÔØ„IØ„Jð=QÐ �D˜œÔ.°´Ô1LÑLÔMð ð ñ ðB Ð �nÐ&8Ñ 9Ô 9Ð 9ð>Ø	˜DÐ!1Ô2Ñ	2ð>àˆx˜˜B˜ÔÐ  (¨2¨r¨6Ô"2Ð2Ô3ð>ð >ð >ð >ð Ð˜œÔ)Ð*Ñ+Ô+ð0˜œð 0¨5¬<ð 0Àð 0È5Ì<ð 0ð 0ð 0ñ ,Ô+ð0ð Ð˜œÔ)Ð*Ñ+Ô+ð1ØŒ<ð1Ø#œlð1Ø49´Lð1à
„\ð1ð 1ð 1ñ ,Ô+ð1ð  Ð˜Ô6Ð7Ñ8Ô8ðØ”ðàŒ\ðð ðð ð	ð
 ðð „\ðð ð ñ 9Ô8ðð" Ð˜Ô.Ñ/Ô/ð
PØŒ<ð
Pà”oð
Pð ŒL˜4Ñð
Pð Œ,˜Ñ
ð	
Pð
 
ð
Pð ˆ5Œ<˜œ u¤|Ð3Ô4ð
Pð 
Pð 
Pñ 0Ô/ð
Pð Ð˜Ô:ÔBÐCÑDÔDð &*Ø%)ð	ð ð ØŒLðð 
ŒÔ	˜dÑ	"ðð 
ŒÔ	˜dÑ	"ð	ð
 
ðð ð ñ EÔDðð Ð˜œ˜Ñ%Ô%Ø#ð &*Ø%)ð	ð 	Ø„|ð	à	ŒÔ	˜dÑ	"ð	ð 
ŒÔ	˜dÑ	"ð	ð „\ð		ð 	ð 	ñ $Ô#ñ &Ô%ð	ð Ð˜œ˜Ñ$Ô$Øð#ˆEŒLð #˜Uœ\ð #ð #ð #ñ Ôñ %Ô$ð#ð Ð˜œ˜Ñ$Ô$ð	Ø
ˆs�U”\Ñ!Ô
"ð	à”Ô"ð	ð ð	ð „\ð		ð 	ð 	ñ %Ô$ð	ð Ð˜œÐ(Ñ)Ô)ð !"ðMð Mð MØ„|ðMà	ðMð Œ<ðMð ŒLð	Mð Œ;ÔðMð „\ðMð Mð Mñ *Ô)ðMð* Ð˜Ô,Ô4Ð5Ñ6Ô6ðWØ
ˆs�U”\Ñ!Ô
"ðWà˜#”YðWð ðWð „\ð	Wð Wð Wñ 7Ô6ðWð  Ð˜Ô2Ð3Ñ4Ô4ð#.Ø”ð#.àŒ<ð#.ð ŒLð#.ð �S”	ð	#.ð
 �$�s”)‰Oð#.ð �4˜”9‰_ð#.ð �D˜”I‰oð#.ð ð#.ð ˜”Ið#.ð ð#.ð �d”ð#.ð ˆ5Œ<˜œ u¤|Ð3Ô4ð#.ð #.ð #.ñ 5Ô4ð#.ðL Ð˜œÔ,Ð-Ñ.Ô.ðGð G�”ð G¨ð G°U´\ð Gð Gð Gñ /Ô.ðGð
 Ð˜œ˜
Ñ#Ô#Øð %)ðð Ø
Œ,ðàŒLðð Œ{˜TÑ!ðð „\ð	ð ð ñ Ôñ $Ô#ðð> Ð˜œ˜Ñ%Ô%Øð
 %)Ø Ø !ð#ð #Ø
Œ,ð#à
Œ,ð#ð Œ,ð#ð Œ{˜TÑ!ð	#ð
 Œ+Ô
ð#ð Œ;Ôð#ð „\ð#ð #ð #ñ Ôñ &Ô%ð#ðL Ð˜œ˜	Ñ"Ô"Øð %)ð&ð &Ø
Œ,ð&àŒLð&ð Œ{˜TÑ!ð&ð „\ð	&ð &ð &ñ Ôñ #Ô"ð&ðZ Ð˜œÔ)Ð*Ñ+Ô+ð ð:ð :Ø�%”,Ôð:à	ð:ð „\ð:ð :ð :ñ ,Ô+ð:ðz Ð˜œ˜Ñ%Ô%ð:ˆUŒ\ð :˜eœlð :ð :ð :ñ &Ô%ð:ð& Ð˜œ˜
Ñ#Ô#ð
 (,ð	@ð @ð @Ø„|ð@à„|ð@ð Œ;Ô Ñ$ð	@ð
 „\ð@ð @ð @ñ $Ô#ð@ðF Ð˜Ô+Ð,Ñ-Ô-ð˜œð ¨¬ð ð ð ñ .Ô-ðð Ð˜œ D¤LÐ1Ñ2Ô2ðˆuŒ|ð  ¤ð ð ð ñ 3Ô2ðð Ð˜œ E¤JÐ/Ñ0Ô0ðIˆuŒ|ð I E¤Lð I°U´\ð Ið Ið Iñ 1Ô0ðIð Ð˜œ E¤JÐ/Ñ0Ô0ðIˆuŒ|ð I E¤Lð I°U´\ð Ið Ið Iñ 1Ô0ðIð Ð˜œ	Ñ"Ô"ð Øðð Ø
Œ,ðà	ˆt‰ðð ðð „\ð	ð ð ñ #Ô"ðð Ð˜œ	Ñ"Ô"ð Øðð Ø
Œ,ðà	ˆt‰ðð ðð „\ð	ð ð ñ #Ô"ðð Ð˜Ô)Ð*Ñ+Ô+ð
Ø
Œ,ð
à	ð
ð ð
ð ð	
ð
 „\ð
ð 
ð 
ñ ,Ô+ð
ð Ð˜œÔ/Ð0Ñ1Ô1ð)Ø
Œ,ð)à
ˆs�U”\Ñ!Ô
"ð)ð „\ð)ð )ð )ñ 2Ô1ð)ð Ð˜œÔ-Ð.Ñ/Ô/ð$Ø
Œ,ð$àŒ;ð$ð „\ð$ð $ð $ñ 0Ô/ð$ð
 Ø
Œ,ð
 à
ˆ5Œ?˜EÔ,Ð,Ô-ð
 ð 
 ð 
 ð 
 ð Ð˜œÑ'Ô'ð
 !%Ø"&Ø"&ØØØ).Ô)>ð)3ð )3ð )3Ø
Œ,ð)3à�e‘ð)3ð Œ;˜Ñð	)3ð
 ŒL˜4Ñð)3ð ŒL˜4Ñð)3ð ð)3ð ð)3ð Ô&ð)3ð „\ð)3ð )3ð )3ñ (Ô'ð)3ð` !%Ø"&Ø).Ô)>ð/ð /ð /Ø�c˜5œ<Ð'Ô(ð/à
Œ,ð/ð Œ;˜Ñð	/ð
 ŒL˜4Ñð/ð Ô&ð/ð ð/ð „\ð/ð /ð /ð /ð@ €Ô ¤Ð/Ð1EÑFÔFð2�E”Lð 2¨Cð 2°E´Lð 2ð 2ð 2ñ GÔFð2ð €Ô ¤Ð0Ð2FÑGÔGð3�U”\ð 3¨Sð 3°U´\ð 3ð 3ð 3ñ HÔGð3ð €Ô Ô 1Ô 9Ð:Ð<PÑQÔQðT�u”|ð T¨3ð T¸#ð TÀ%Ä,ð Tð Tð Tñ RÔQðTð €Ô Ô 1Ô ;Ð<Ð>RÑSÔSðVØ
Œ,ðVØ ðVØ(+ðVØ7:ðVà
„\ðVð Vð Vñ TÔSðVð Ð˜œÔ,Ñ-Ô-ð5Ø
ð5à
ˆs�U”\Ñ!Ô
"ð5ð ð5ð „\ð	5ð 5ð 5ñ .Ô-ð5ð Ð˜	ÔEÔMÑNÔNð !%ðð ØŒ<ðàŒLðð Œ,˜Ñ
ðð „\ð	ð ð ñ OÔNðð Ð˜
Ô;ÔCÑDÔDðØŒ<ðà”ðð ”lðð ŒLð	ð
 ”,ðð ”|ðð Œ,ðð Œ|ðð ”Lðð ðð „\ðð ð ñ EÔDðð4 Ð˜œ	Ô+ÔEÑFÔFð
A¨u¬|ð 
AÀÄð 
Að 
Að 
Añ GÔFð
Að Ð˜Ô-Ð.Ñ/Ô/Øð  ØØðð Ø„|ðà
Œ,ðð ðð ð	ð
 ðð „\ðð ð ñ Ôñ 0Ô/ðð@ Ð˜Ô*Ô1Ñ2Ô2ð
Ø˜œÔ%ð
à�e”lÔ#ð
ð ŒKÔð
ð 
ˆ%Œ,Ôð	
ð 
ð 
ñ 3Ô2ð
ð Ð˜Ô*Ô5Ñ6Ô6ð
Ø˜œÔ%ð
à�e”lÔ#ð
ð �%”+Ô$Ô%ð
ð 
ˆ%Œ,Ôð	
ð 
ð 
ñ 7Ô6ð
ð ÔÔ×'Ò'¨¬Ô(<Ô(EÑFÔFØÐ˜Ô.Ñ/Ô/ðØŒ<ðàŒLðð Œ,˜Ñ
ðð ”, Ñ%ð	ð
 ” Ñ$ðð ðð !&ðð ðð ˆ5Œ<˜œ u¤|Ð3Ô4ðð ð ñ 0Ô/ñ GÔFðð< „ð6˜T # x°°S°Ô'9Ð"9Ô:ð 6ð 6ð 6ñ „ð6ð	˜T # x°°S°Ô'9Ð"9Ô:ð 	ð 	ð 	ð 	ð Ð˜Ô+Ñ,Ô,ðØ
Œ,ðà
Œ,ðð ŒLðð „\ð	ð ð ñ -Ô,ðð$ ÐÐ,Ô;ÔBÑCÔCð?ØŒ<ð?àð?ð ð?ð 
ð	?ð
 Œ;ð?ð ˆ5Œ<˜œÐ%Ô&ð?ð ?ð ?ñ DÔCð?ð Ð˜œÑ!Ô!ð
 ð	
)ð 
)Ø
Œ,ð
)àŒ<ð
)ð ŒLð
)ð ð	
)ð
 „\ð
)ð 
)ð 
)ñ "Ô!ð
)ð Ð˜œ	Ñ"Ô"ð
 ð	ð Ø
Œ,ðàŒ<ðð ŒLðð ð	ð
 „\ðð ð ñ #Ô"ðð Ð˜Ô3Ô;Ñ<Ô<Øð#Ø”ð#àŒLð#ð 
ð#ð ”ð	#ð
 „\ð#ð #ð #ñ Ôñ =Ô<ð#ð( Ð˜Ô)Ñ*Ô*ð ð:ð :ð :Ø
Œ,ð:à	ð:ð Œ<ð:ð 
Œð	:ð
 ð:ð ð:ð „\ð:ð :ð :ñ +Ô*ð:ðz5Ø„|ð5à�c”ð5ð �$�s”)‰O˜dÑ"ð5ð �4˜”9‰_ð	5ð
 �D˜”I‰oð5ð ð5ð 
ð5ð ˆ5Œ<˜œÐ%Ô&ð5ð 5ð 5ð 5ðp Ð˜Ô4Ñ5Ô5ð &*Ø Ø !Øð
ð 
Ø„|ð
à�c”ð
ð �$�s”)‰O˜dÑ"ð
ð �4˜”9‰_ð	
ð
 �D˜”I‰oð
ð ð
ð ˆ5Œ<˜œÐ%Ô&ð
ð 
ð 
ñ 6Ô5ð
ð Ð˜Ô4Ñ5Ô5ð &*Ø Ø !Øð
ð 
Ø„|ð
à�c”ð
ð �$�s”)‰O˜dÑ"ð
ð �4˜”9‰_ð	
ð
 �D˜”I‰oð
ð ð
ð ˆ5Œ<˜œÐ%Ô&ð
ð 
ð 
ñ 6Ô5ð
ð Ð˜Ô)Ô0Ñ1Ô1ð
 ØØØ"&ð	ð 	ð 	Ø”\ð	à
Œ+Ô
ð	ð ð		ð
 ð	ð �‰*ð	ð ŒL˜4Ñð	ð „\ð	ð 	ð 	ñ 2Ô1ð	ð& Ð˜œÔ-Ñ.Ô.ð
 Øðð ð Ø
Œ+Ô
ðà”ðð ð	ð
 ðð „\ðð ð ñ /Ô.ðð €Ô˜tÔ?ÐAUÑVÔVð Ø%ØØ(,ðEð EØ
Œ,ðEàŒ<ðEð ðEð ð	Eð
 ðEð Œ Ñ%ðEð ˆ5Œ<˜œÐ%Ô&ðEð Eð Eñ WÔVðEð& Ð˜Ô.Ô5Ñ6Ô6ð #ð8ð 8ØŒLð8à�t‘ð8ð „\ð8ð 8ð 8ñ 7Ô6ð8ð4 !%ØØØØð)ð )ØŒ<ð)àŒLð)ð Œ,˜Ñ
ð)ð �#ŒJð	)ð
 �3ŒZð)ð �CŒjð)ð ð)ð „\ð)ð )ð )ð )ð )ð )r2   