§
    �Štjl  ã                  óÊ   — 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
mZmZmZ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mZmZ dd„Z dd„Z!dd„Z"dd„Z#dd„Z$dd„Z%dS )é    )Úannotations)Úassert_never)Úcpp)ÚArgNameÚArrayRefCTypeÚ	BaseCTypeÚBindingÚConstRefCTypeÚintArrayRefTÚiOptTensorListRefTÚiTensorListRefTÚ
NamedCTypeÚOptionalCTypeÚoptionalIntArrayRefTÚoptionalScalarRefTÚoptionalTensorRefTÚscalarTÚtensorT)	ÚArgumentÚBaseTyÚBaseTypeÚListTypeÚNativeFunctionsGroupÚOptionalTypeÚSelfArgumentÚTensorOptionsArgumentsÚTypeÚtr   ÚmutableÚboolÚbindsr   Úreturnr   c               óŒ  — t          j        | d||¬¦  «        }|�|S t          | t          ¦  «        rš| j        t
          j        k    r/t          |t          t          t          ¦  «        ¦  «        ¦  «        S | j        t
          j        k    r/t          |t          t          t          ¦  «        ¦  «        ¦  «        S t          d| › �¦  «        ‚t          | t          ¦  «        �r| j        t          t
          j        ¦  «        k    r"t          |t          t           ¦  «        ¦  «        S | j        t          t
          j        ¦  «        k    r"t          |t          t"          ¦  «        ¦  «        S t          | j        t$          ¦  «        r?t'          | j        j        ¦  «        dk    r"t          |t          t(          ¦  «        ¦  «        S t+          | j        ||¬¦  «        }t          |t-          |j        ¦  «        ¦  «        S t          | t$          ¦  «        �r| j        t          t
          j        ¦  «        k    r/t          |t          t          t0          ¦  «        ¦  «        ¦  «        S | j        t          t          t
          j        ¦  «        ¦  «        k    r"t          |t          t2          ¦  «        ¦  «        S t'          | j        ¦  «        dk    r"t          |t          t4          ¦  «        ¦  «        S t+          | j        ||¬¦  «        }t          |t7          |j        ¦  «        ¦  «        S t          dt9          | ¦  «        › �¦  «        ‚)NF)Úsymintr!   r   z&base type should have been value type Úint©r   r!   zunrecognized type )r   Úvaluetype_typeÚ
isinstancer   Únamer   ÚTensorr   r
   r   r   ÚScalarr   ÚAssertionErrorr   Úelemr   r   r   Ústrr   Úargumenttype_typer   Útyper   r   r   r   Úrepr)r   r   r!   Úrr-   s        úU/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torchgen/api/structured.pyr/   r/   ,   s�  € õ 	Ô˜1 U°%ÀÐIÑIÔI€AØ€}Øˆå�!•XÑÔð =ØŒ6•V”]Ò"Ð"Ý˜e¥]µ9½WÑ3EÔ3EÑ%FÔ%FÑGÔGÐGØŒV•v”}Ò$Ð$Ý˜e¥]µ9½WÑ3EÔ3EÑ%FÔ%FÑGÔGÐGå Ð!MÈ!Ð!MÐ!MÑNÔNÐNÝ	�A•|Ñ	$Ô	$ñ =ØŒ6•X�fœmÑ,Ô,Ò,Ð,Ý˜e¥YÕ/AÑ%BÔ%BÑCÔCÐCØŒV•x¥¤Ñ.Ô.Ò.Ð.Ý˜e¥YÕ/AÑ%BÔ%BÑCÔCÐCÝ˜œ¥Ñ)Ô)ð 	F­c°!´&´+Ñ.>Ô.>À%Ò.GÐ.GÝ˜e¥YÕ/CÑ%DÔ%DÑEÔEÐEÝ  ¤°ÀÐFÑFÔFˆÝ˜%¥¨t¬yÑ!9Ô!9Ñ:Ô:Ð:Ý	�A•xÑ	 Ô	 ñ =ØŒ6•X�fœmÑ,Ô,Ò,Ð,Ý˜e¥]µ9½_Ñ3MÔ3MÑ%NÔ%NÑOÔOÐOØŒV•|¥H­V¬]Ñ$;Ô$;Ñ<Ô<Ò<Ð<Ý˜e¥YÕ/AÑ%BÔ%BÑCÔCÐCõ �”‰[Œ[˜EÒ!Ð!Ý˜e¥Y­|Ñ%<Ô%<Ñ=Ô=Ð=Ý  ¤°ÀÐFÑFÔFˆÝ˜%¥¨t¬yÑ!9Ô!9Ñ:Ô:Ð:åÐ;µ$°q±'´'Ð;Ð;Ñ<Ô<Ð<ó    Úar   c               ó:   — t          | j        | j        |¬¦  «        S )Nr&   )r/   r0   Úis_write)r5   r!   s     r3   Úargument_typer8   W   s   € Ý˜QœV¨Q¬Z¸uÐEÑEÔEÐEr4   ú0Argument | SelfArgument | TensorOptionsArgumentsúlist[Binding]c                óB  — t          | t          ¦  «        r-t          t          | | j        ¬¦  «        | j        d | ¬¦  «        gS t          | t
          ¦  «        rt          | j        ¦  «        S t          | t          ¦  «        rt          d¦  «        ‚t          | ¦  «         d S )N)r!   )Únctyper)   ÚdefaultÚargumentz2structured kernels don't support TensorOptions yet)
r(   r   r	   r8   r)   r   r>   r   r,   r   )r5   s    r3   r>   r>   b   s¢   € Ý�!•XÑÔð åÝ$ Q¨a¬fÐ5Ñ5Ô5Ø”VØØð	ñ ô ð
ð 	
õ 
�A•|Ñ	$Ô	$ð Ý˜œ
Ñ#Ô#Ð#Ý	�AÕ-Ñ	.Ô	.ð ÝÐQÑRÔRÐRå�Q‰Œˆˆˆr4   Úgr   c                óh  — g }| j         j        rÇg }| j         j        j        j        D ]t}t          |t          ¦  «        rH|j        | j         j        j        v r0| 	                    | j         j        j        |j                 ¦  «         Œ_| 
                    |¦  «         Œu| 	                    |¦  «         | 	                    | j         j        j        ¦  «         n)| 	                    | j         j        j        j        ¦  «         | 	                    | j         j        j        j         ¦  «         d„ |D ¦   «         S )Nc                ó6   — g | ]}t          |¦  «        D ]}|‘ŒŒS © ©r>   ©Ú.0Úargr2   s      r3   ú
<listcomp>z"impl_arguments.<locals>.<listcomp>�   ó+   € Ð5Ð5Ð5�#¥x°¡}¤}Ð5Ð5 !ˆAÐ5Ð5Ð5Ð5r4   )ÚoutÚprecomputedÚfuncÚ	argumentsÚnon_outr(   r   r)   ÚreplaceÚextendÚappendÚadd)r?   ÚargsÚnon_out_args_replacedr5   s       r3   Úimpl_argumentsrT   t   s  € ØCE€Dà„uÔð 2ð ð 	ð ””Ô%Ô-ð 	0ð 	0ˆAÝ˜!�XÑ&Ô&ð 0¨1¬6°Q´UÔ5FÔ5NÐ+NÐ+Nð &×,Ò,¨Q¬UÔ->Ô-FÀqÄvÔ-NÑOÔOÐOÐOð &×,Ò,¨QÑ/Ô/Ð/Ð/à�ŠÐ)Ñ*Ô*Ð*ð 	�Š�A”EÔ%Ô)Ñ*Ô*Ð*Ð*à�Š�A”E”JÔ(Ô0Ñ1Ô1Ð1à‡K‚K�””
Ô$Ô(Ñ)Ô)Ð)Ø5Ð5˜Ð5Ñ5Ô5Ð5r4   c                óp   — g }|                      | j        j        j        j        ¦  «         d„ |D ¦   «         S )Nc                ó6   — g | ]}t          |¦  «        D ]}|‘ŒŒS rB   rC   rD   s      r3   rG   z"meta_arguments.<locals>.<listcomp>•   rH   r4   )rO   Ú
functionalrK   rL   rM   ©r?   rR   s     r3   Úmeta_argumentsrY   ’   s8   € ØCE€DØ‡K‚K�”Ô!Ô+Ô3Ñ4Ô4Ð4Ø5Ð5˜Ð5Ñ5Ô5Ð5r4   c                óp   — g }|                      | j        j        j        j        ¦  «         d„ |D ¦   «         S )Nc                ó6   — g | ]}t          |¦  «        D ]}|‘ŒŒS rB   rC   rD   s      r3   rG   z!out_arguments.<locals>.<listcomp>›   rH   r4   )rO   rI   rK   rL   rX   s     r3   Úout_argumentsr\   ˜   s7   € ØCE€DØ‡K‚K�””
Ô$Ô(Ñ)Ô)Ð)Ø5Ð5˜Ð5Ñ5Ô5Ð5r4   N)r   r   r   r    r!   r   r"   r   )r5   r   r!   r   r"   r   )r5   r9   r"   r:   )r?   r   r"   r:   )&Ú
__future__r   Útyping_extensionsr   Útorchgen.apir   Útorchgen.api.typesr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Útorchgen.modelr   r   r   r   r   r   r   r   r   r/   r8   r>   rT   rY   r\   rB   r4   r3   ú<module>rb      sÚ  ðØ "Ð "Ð "Ð "Ð "Ð "à *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð"
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð*(=ð (=ð (=ð (=ðVFð Fð Fð Fðð ð ð ð$6ð 6ð 6ð 6ð<6ð 6ð 6ð 6ð6ð 6ð 6ð 6ð 6ð 6r4   