§
    �Štjš  ã                  ó2  — d dl mZ d dlmZ d dlmc mZ d dlm	Z	m
Z
 d dlmZmZmZ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mZ d0d„Zd1d„Zd2d„Zd3d„Zd4d„Zd4d„Z d5d„Z!d6d#„Z"d6d$„Z#d7d%„Z$ ed&¬'¦  «         G d(„ d)¦  «        ¦   «         Z%d8d,„Z&d9d.„Z'd:d/„Z(dS );é    )Úannotations)Ú	dataclassN)ÚcppÚ
structured)ÚArgNameÚBaseCppTypeÚ	BaseCTypeÚBindingÚConstRefCTypeÚCTypeÚ
NamedCTypeÚscalarT)ÚArgumentÚBaseTyÚBaseTypeÚDispatchKeyÚFunctionSchemaÚNativeFunctionsGroupÚTypeÚfuncr   Údispatch_keyr   ÚreturnÚstrc                ól   — |                       ¦   «         st          d¦  «        ‚d| j        j        › d|› �S )Nz7ufunc.kernel_name should only be invoked on out schemasÚufunc_Ú_)Ú	is_out_fnÚAssertionErrorÚname)r   r   s     úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/api/ufunc.pyÚschema_kernel_namer!      s>   € Ø�>Š>ÑÔð XÝÐVÑWÔWÐWØ3�D”I”NÐ3Ð3 \Ð3Ð3Ð3ó    Úgr   c                ó6   — t          | j        j        |¦  «        S ©N)r!   Úoutr   )r#   r   s     r    Úkernel_namer'   "   s   € Ý˜aœeœj¨,Ñ7Ô7Ð7r"   Útr   Úbindsr   úNamedCType | Nonec               óL  — t          j        | |d¬¦  «        }|�|S | t          t          j        ¦  «        k    r/t          |t          t          t          ¦  «        ¦  «        ¦  «        S | t          t          j	        ¦  «        k    rd S t          dt          | ¦  «        › �¦  «        ‚©NF)r)   Úsymintúunrecognized type )r   Úvaluetype_typer   r   ÚScalarr   r   r	   r   ÚTensorr   Úrepr)r(   r)   Úrs      r    Údispatchstub_typer4   +   s�   € åÔ˜1 E°%Ð8Ñ8Ô8€AØ€}Øˆà�H•V”]Ñ#Ô#Ò#Ð#Ý˜%¥­y½Ñ/AÔ/AÑ!BÔ!BÑCÔCÐCØ	
�h•v”}Ñ%Ô%Ò	%Ð	%ØˆtåÐ;µ$°q±'´'Ð;Ð;Ñ<Ô<Ð<r"   Úscalar_tr   c                óH   — | t           j        k    rt           j        S t          ‚r%   )Ú	api_typesr5   Úopmath_tÚNotImplementedError©r5   s    r    Úopmath_typer;   9   s   € Ø•9Ô%Ò%Ð%ÝÔ!Ð!Ý
Ðr"   r   c               ó’  — t          j        | |d¬¦  «        }|�|S | t          t          j        ¦  «        k    r*t          |t          t          |¦  «        ¦  «        ¦  «        S | t          t          j        ¦  «        k    r*t          |t          t          |¦  «        ¦  «        ¦  «        S t          dt          | ¦  «        › �¦  «        ‚r,   )r   r/   r   r   r0   r   r	   r;   r1   r   r2   )r(   r)   r5   r3   s       r    Úufunctor_ctor_typer=   D   sª   € ÝÔ˜1 E°%Ð8Ñ8Ô8€AØ€}Øˆà�H•V”]Ñ#Ô#Ò#Ð#Ý˜%¥­;°xÑ+@Ô+@Ñ!AÔ!AÑBÔBÐBØ	
�h•v”}Ñ%Ô%Ò	%Ð	%Ý˜%¥­;°xÑ+@Ô+@Ñ!AÔ!AÑBÔBÐBåÐ;µ$°q±'´'Ð;Ð;Ñ<Ô<Ð<r"   c               ó´   — | t          t          j        ¦  «        k    rt          |t	          |¦  «        ¦  «        S t          dt          | ¦  «        › �¦  «        ‚)Nr.   )r   r   r1   r   r	   r   r2   )r(   r)   r5   s      r    Úufunctor_apply_typer?   U   sN   € ð 	�H•V”]Ñ#Ô#Ò#Ð#Ý˜%¥¨8Ñ!4Ô!4Ñ5Ô5Ð5åÐ;µ$°q±'´'Ð;Ð;Ñ<Ô<Ð<r"   Ú	compute_tr   c               ó*  — t          j        | |d¬¦  «        }|�|S | t          t          j        ¦  «        k    rt          ||¦  «        S | t          t          j        ¦  «        k    rt          ||¦  «        S t          dt          | ¦  «        › �¦  «        ‚r,   )	r   r/   r   r   r0   r   r1   r   r2   )r(   r)   r@   r3   s       r    Ú
ufunc_typerB   a   sŠ   € ÝÔ˜1 E°%Ð8Ñ8Ô8€AØ€}Øˆà�H•V”]Ñ#Ô#Ò#Ð#Ý˜% Ñ+Ô+Ð+Ø	
�h•v”}Ñ%Ô%Ò	%Ð	%Ý˜% Ñ+Ô+Ð+åÐ;µ$°q±'´'Ð;Ð;Ñ<Ô<Ð<r"   Úar   r
   c                óf   — t          t          | j        | j        |¬¦  «        | j        d | ¬¦  «        S ©N)r)   r5   ©Únctyper   ÚdefaultÚargument)r
   r=   Útyper   ©rC   r5   s     r    Úufunctor_ctor_argumentrL   n   s:   € ÝÝ! !¤&°´ÀÐJÑJÔJØŒVØØð	ñ ô ð r"   c                óf   — t          t          | j        | j        |¬¦  «        | j        d | ¬¦  «        S rE   )r
   r?   rJ   r   rK   s     r    Úufunctor_apply_argumentrN   w   s:   € ÝÝ" 1¤6°´À(ÐKÑKÔKØŒVØØð	ñ ô ð r"   c                óf   — t          t          | j        | j        |¬¦  «        | j        d | ¬¦  «        S )N)r)   r@   rF   )r
   rB   rJ   r   )rC   r@   s     r    Úufunc_argumentrP   €   s:   € ÝÝ˜!œ&¨¬¸)ÐDÑDÔDØŒVØØð	ñ ô ð r"   T)Úfrozenc                  ó$   — e Zd ZU ded<   ded<   dS )ÚUfunctorBindingsúlist[Binding]ÚctorÚapplyN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© r"   r    rS   rS   ‰   s*   € € € € € € àÐÐÑØÐÐÑÐÐr"   rS   Úscalar_tensor_idxú
int | Nonec               ó¬  — g }g }| j         j        j        j        D ]˜}|j                             ¦   «         rY|dk    r'|                     t          ||¬¦  «        ¦  «         d }ŒH|�|dz  }|                     t          ||¬¦  «        ¦  «         Œt|                     t          ||¬¦  «        ¦  «         Œ™|�t          d¦  «        ‚t          ||¬¦  «        S )Nr   r:   é   z5scalar_tensor_idx should be None at end of processing)rU   rV   )Ú
functionalr   Ú	argumentsÚflat_non_outrJ   Úis_tensor_likeÚappendrL   rN   r   rS   )r#   r\   r5   rU   rV   rC   s         r    Úufunctor_argumentsre       sô   € ð €DØ€EØŒ\ÔÔ(Ô5ð Fð FˆØŒ6× Ò Ñ"Ô"ð 
	FØ  AÒ%Ð%à—’Õ2°1¸xÐHÑHÔHÑIÔIÐIØ$(Ð!Ð!à$Ð0Ø%¨Ñ*Ð%Ø—’Õ4°QÀÐJÑJÔJÑKÔKÐKÐKà�KŠKÕ.¨q¸8ÐDÑDÔDÑEÔEÐEÐEØÐ$ÝÐTÑUÔUÐUÝ ¨UÐ3Ñ3Ô3Ð3r"   rT   c               óH   ‡— ˆfd„| j         j        j        j        D ¦   «         S )Nc                ó2   •— g | ]}t          |‰¬ ¦  «        ‘ŒS ))r@   )rP   )Ú.0rC   r@   s     €r    ú
<listcomp>z#ufunc_arguments.<locals>.<listcomp>À   s6   ø€ ð ð ð àõ 	�q IÐ.Ñ.Ô.ðð ð r"   )r`   r   ra   rb   )r#   r@   s    `r    Úufunc_argumentsrj   ¿   s9   ø€ ðð ð ð à”Ô"Ô,Ô9ðñ ô ð r"   c                óB   — d„ | j         j        j        j        D ¦   «         S )Nc                ór   — g | ]4}|j                              ¦   «         °t          j        |¦  «        D ]}|‘ŒŒ5S r[   )rJ   rc   r   rI   )rh   rC   r3   s      r    ri   z"stub_arguments.<locals>.<listcomp>Î   sb   € ð ð ð àØŒv×$Ò$Ñ&Ô&ðõ Ô$ QÑ'Ô'ð	ð ð ð 	
ðð ð ð r"   )r&   r   ra   rb   )r#   s    r    Ústub_argumentsrm   Ë   s-   € ðð à””Ô%Ô2ðñ ô ð r"   )r   r   r   r   r   r   )r#   r   r   r   r   r   )r(   r   r)   r   r   r*   )r5   r   r   r   )r(   r   r)   r   r5   r   r   r   )r(   r   r)   r   r@   r   r   r   )rC   r   r5   r   r   r
   )rC   r   r@   r   r   r
   )r#   r   r\   r]   r5   r   r   rS   )r#   r   r@   r   r   rT   )r#   r   r   rT   ))Ú
__future__r   Údataclassesr   Útorchgen.api.typesÚapiÚtypesr7   Útorchgen.apir   r   r   r   r	   r
   r   r   r   r   Útorchgen.modelr   r   r   r   r   r   r   r!   r'   r4   r;   r=   r?   rB   rL   rN   rP   rS   re   rj   rm   r[   r"   r    ú<module>ru      sj  ðØ "Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !à &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð4ð 4ð 4ð 4ð8ð 8ð 8ð 8ð=ð =ð =ð =ðð ð ð ð
=ð 
=ð 
=ð 
=ð"=ð =ð =ð =ð
=ð 
=ð 
=ð 
=ðð ð ð ðð ð ð ðð ð ð ð €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð,4ð 4ð 4ð 4ð>ð ð ð ðð ð ð ð ð r"   