§
    ©²Åjs)  ã                   óš   — d dl Z d dlZd dlZd dlmZ d„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zdd
„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z e¦   «         ZdS )é    N)Ú_find_builtinc                 óX   — |                       d¦  «        o|                       d¦  «         S )NÚ_Ú__)Ú
startswith)Únames    úHC:\Projects\Historical\venv\Lib\site-packages\torch/jit/supported_ops.pyÚ_hiddenr
      s(   € Ø�?Š?˜3ÑÔÐ=¨¯ª¸Ñ(=Ô(=Ð$=Ð=ó    c                 ó    — t          | ¦  «        S ©N)Ústr)Útypes    r	   Ú
_emit_typer      s   € Ýˆt‰9Œ9Ðr   c                 óœ   — |j         › dt          |j        ¦  «        › �}|j        }|�|› dt	          |¦  «        › �}|dk    r
dd| z  › |› �}|S )Nz : ú=r   ú
ú )r   r   r   Údefault_valuer   )ÚindentÚiÚargÚvÚdefaults        r	   Ú	_emit_argr      sl   € ØŒ8Ð.Ð.�
 3¤8Ñ,Ô,Ð.Ð.€AØÔ€GØÐØÐ!Ð!•3�w‘<”<Ð!Ð!ˆØˆ1‚u€uØ"��v‘Ð"˜qÐ"Ð"ˆØ€Hr   c                 ó`   ‡ — d                      ˆ fd„t          |¦  «        D ¦   «         ¦  «        S )Nú,c              3   ó@   •K  — | ]\  }}t          ‰||¦  «        V — Œd S r   )r   )Ú.0r   r   r   s      €r	   ú	<genexpr>z_emit_args.<locals>.<genexpr>!   s3   øè è € ÐQÐQ±&°!°S•I˜f a¨Ñ-Ô-ÐQÐQÐQÐQÐQÐQr   )ÚjoinÚ	enumerate)r   Ú	argumentss   ` r	   Ú
_emit_argsr$       s2   ø€ Ø�8Š8ÐQÐQÐQÐQ½IÀiÑ<PÔ<PÐQÑQÔQÑQÔQÐQr   c                 ó*   — t          | j        ¦  «        S r   )r   r   )Úrets    r	   Ú	_emit_retr'   $   s   € Ý�c”hÑÔÐr   c                 ó˜   — t          | ¦  «        dk    rt          | d         ¦  «        S dd                     d„ | D ¦   «         ¦  «        › d�S )Né   r   zTuple[z, c              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   )r'   )r   Úrs     r	   r    z_emit_rets.<locals>.<genexpr>+   s(   è è € Ð<Ð<¨q�i¨™lœlÐ<Ð<Ð<Ð<Ð<Ð<r   ú])Úlenr'   r!   )Úreturnss    r	   Ú
_emit_retsr/   (   sQ   € Ý
ˆ7�|„|�qÒÐÝ˜ œÑ$Ô$Ð$Ø?�D—I’IÐ<Ð<°GÐ<Ñ<Ô<Ñ<Ô<Ð?Ð?Ð?Ð?r   é   c                 ó²   — | €|}n| › d|› �}|› dt          t          |¦  «        dz   |z   |j        |d …         ¦  «        › dt          |j        ¦  «        › �}|S )Nú.ú(r)   z) -> )r$   r-   r#   r/   r.   )Úmodr   ÚschemaÚ	arg_startÚpaddingÚqualified_nameÚ
schema_strs          r	   Ú_emit_schemar:   .   sƒ   € Ø
€{Øˆˆà˜˜ $˜˜ˆàð 	+ð 	+Ý•s˜>Ñ*Ô*¨QÑ.°Ñ8¸&Ô:JÈ9È:È:Ô:VÑWÔWð	+ð 	+å˜œÑ(Ô(ð	+ð 	+ð ð
 Ðr   c            
      ó  — d„ } g }t          t          j        ¦  «        D ]i}t          |¦  «        sXt          j                             d|z   ¦  «        }|D ]3} | |¦  «        r&|                     t          d||d¬¦  «        ¦  «         Œ4Œjd|fS )Nc                 óè   — t          | j        ¦  «        dk    rdS | j        d         }|j        dk    rdS |j                             t
          j        j                             ¦   «         ¦  «        sdS dS )Nr   FÚselfT)	r-   r#   r   r   ÚisSubtypeOfÚtorchÚ_CÚ
TensorTypeÚget)r5   r=   s     r	   Úis_tensor_methodz)_get_tensor_ops.<locals>.is_tensor_method<   so   € ÝˆvÔÑ Ô  AÒ%Ð%Ø�5ØÔ Ô"ˆØŒ9˜ÒÐØ�5ØŒy×$Ò$¥U¤XÔ%8×%<Ò%<Ñ%>Ô%>Ñ?Ô?ð 	Ø�5Øˆtr   úaten::ÚTensorr)   )r6   zSupported Tensor Methods)Údirr?   rE   r
   r@   Ú_jit_get_schemas_for_operatorÚappendr:   )rC   ÚmethodsÚelemÚschemasr5   s        r	   Ú_get_tensor_opsrL   ;   s±   € ðð ð ð €Gå•E”LÑ!Ô!ð Vð VˆÝ�t‰}Œ}ð 	VÝ”h×<Ò<¸XÈ¹_ÑMÔMˆGØ!ð Vð V�Ø#Ð# FÑ+Ô+ð VØ—N’N¥<°¸$ÀÐRSÐ#TÑ#TÔ#TÑUÔUÐUøøà% wÐ.Ð.r   c            
      óN  — g } t           j        j        }|j        }t	          t           j        j        ¦  «        D ]Á}t          ||¦  «        }t          j        |¦  «        rt          |d         ¦  «        rŒ<t          j	        |¦  «        }|st          d|› d�¦  «        ‚d|j        vrŒo	 t           j                             |¦  «        }|j        }|                      t          |||¦  «        ¦  «         Œ»#  Y Œ¿xY wt           j        j        j        D ]‘}|j        }t	          |¦  «        D ]x}t%          t          ||¦  «        ¦  «        }|�Wt           j                             |¦  «        }	|	D ]5}
t          |¦  «        s$|                      t          |||
¦  «        ¦  «         Œ6ŒyŒ’d| fS )Nr   úModule for ú
 not foundztorch.nn.functionalzSupported PyTorch Functions)r?   ÚnnÚ
functionalÚ__name__rF   ÚgetattrÚinspectÚ
isfunctionr
   Ú	getmoduleÚRuntimeErrorÚjitÚscriptr5   rH   r:   Ú	_builtinsÚ_modules_containing_builtinsr   r@   rG   )Ú	functionsr4   r   rJ   ÚattrÚattr_moduleÚscriptedÚscripted_schemaÚbuiltinrK   r5   s              r	   Ú_get_nn_functional_opsrb   R   sÃ  € Ø€Iõ Œ(Ô
€CØŒ<€DÝ•E”HÔ'Ñ(Ô(ð ð ˆÝ�s˜DÑ!Ô!ˆÝÔ! $Ñ'Ô'ð 	­7°4¸´7Ñ+;Ô+;ð 	àåÔ'¨Ñ-Ô-ˆØð 	?ÝÐ=¨TÐ=Ð=Ð=Ñ>Ô>Ð>à ¨Ô(<Ð<Ð<àð	å”y×'Ò'¨Ñ-Ô-ˆHØ&œoˆOØ×Ò�\¨$°°oÑFÔFÑGÔGÐGÐGøð	àˆDøøøõ ŒyÔ"Ô?ð 	Kð 	KˆØŒ|ˆÝ˜‘H”Hð 	Kð 	KˆDÝ#¥G¨C°Ñ$6Ô$6Ñ7Ô7ˆGØÐ"Ýœ(×@Ò@ÀÑIÔI�Ø%ð Kð K�Få" 4™=œ=ð KØ!×(Ò(­°d¸DÀ&Ñ)IÔ)IÑJÔJÐJøøð	Kð )¨)Ð3Ð3s   Â)A
C4Ã4C8c                  óN  — g } t           j        j        j        D ]‹\  }}t	          j        |¦  «        }t          |d¦  «        sŒ*|sŒ-t          |j        ¦  «        s(t          |j	        ¦  «        st          |j        ¦  «        rŒjd|j        v rŒt|  
                    ||f¦  «         ŒŒ| S )NrR   ztorch._C)r?   rX   rZ   Ú_builtin_opsrT   rV   Úhasattrr
   rR   Ú__qualname__rH   )ÚbuiltinsÚfnÚ_builtin_namer4   s       r	   Ú_get_builtins_helperrj   }   s¹   € Ø€HÝ"œYÔ0Ô=ð -ð -ÑˆˆMÝÔ Ñ#Ô#ˆå�r˜:Ñ&Ô&ð 	àØð 	ØÝ�2”;ÑÔð 	¥7¨2¬?Ñ#;Ô#;ð 	½wÀsÄ|Ñ?TÔ?Tð 	àà˜œÐ%Ð%Øà�Š˜˜]Ð+Ñ,Ô,Ð,Ð,à€Or   c                 ój   — t          j        | ¦  «        }|st          d| › d�¦  «        ‚|j        dk    S )NrN   rO   Úmath)rT   rV   rW   rR   )rh   r4   s     r	   Ú_is_math_fnrm   “   sA   € Ý
Ô
˜BÑ
Ô
€CØð 9ÝÐ7¨Ð7Ð7Ð7Ñ8Ô8Ð8àŒ<˜6Ò!Ð!r   c            	      óŽ  — g } t          d„ t          ¦   «         ¦  «        }t          |¦  «        }|D ]‘\  }}t          j        |¦  «        }|st          d|› d�¦  «        ‚t          |¦  «        }|�Rt          j         	                    |¦  «        }|D ]0}|  
                    t          |j        |j        |¦  «        ¦  «         Œ1Œ’d| fS )Nc                 ó.   — t          | d         ¦  «         S ©Nr   ©rm   ©rh   s    r	   ú<lambda>z+_get_torchscript_builtins.<locals>.<lambda>�   s   € ¥[°°A´Ñ%7Ô%7Ð!7€ r   rN   rO   zTorchScript Builtin Functions)Úfilterrj   ÚlistrT   rV   rW   r   r?   r@   rG   rH   r:   rR   )	r\   rg   Úbuiltins_listrh   ri   r4   ra   rK   r5   s	            r	   Ú_get_torchscript_builtinsrw   ›   sà   € Ø€IÝÐ7Ð7Õ9MÑ9OÔ9OÑPÔP€HÝ˜‘N”N€Mà*ð Rð RÑˆˆMÝÔ Ñ#Ô#ˆØð 	=ÝÐ;¨RÐ;Ð;Ð;Ñ<Ô<Ð<Ý Ñ#Ô#ˆØÐÝ”h×<Ò<¸WÑEÔEˆGØ!ð Rð R�Ø× Ò ¥¨c¬l¸B¼KÈÑ!PÔ!PÑQÔQÐQÐQøà*¨IÐ5Ð5r   c                  óœ  — g } t          d„ t          ¦   «         ¦  «        }t          |¦  «        }|D ]˜\  }}t          j        |¦  «        }|st          d|› d�¦  «        ‚t          |¦  «        }|�Yt          j         	                    |¦  «        }|D ]7}t          |j        |j        |¦  «        }	d|	v rŒ"|                      |¦  «         Œ8Œ™d| fS )Nc                 ó,   — t          | d         ¦  «        S rp   rq   rr   s    r	   rs   z$_get_math_builtins.<locals>.<lambda>¯   s   € ¥¨R°¬UÑ!3Ô!3€ r   rN   rO   rE   z``math`` Module)rt   rj   ru   rT   rV   rW   r   r?   r@   rG   r:   rR   rH   )
r\   rg   rv   rh   ri   r4   ra   rK   r5   r9   s
             r	   Ú_get_math_builtinsrz   ­   sñ   € Ø€IÝÐ3Ð3Õ5IÑ5KÔ5KÑLÔL€HÝ˜‘N”N€Mà*ð )ð )ÑˆˆMÝÔ Ñ#Ô#ˆØð 	=ÝÐ;¨RÐ;Ð;Ð;Ñ<Ô<Ð<Ý Ñ#Ô#ˆØÐÝ”h×<Ò<¸WÑEÔEˆGØ!ð )ð )�Ý)¨#¬,¸¼ÀVÑLÔL�
Ø˜zÐ)Ð)ð Ø× Ò  Ñ(Ô(Ð(Ð(øà˜iÐ'Ð'r   c            
      ó  — g d¢} dddddddd	d
œ}dddddddddœ}g d¢}g }|D ]!\  }}|                      d|› d|› d�¦  «         Œ"g }g }| D ]ª}d|› �}	||v r||         }	t          j                             |	¦  «        }
|
D ](}|                      t	          d ||d¬¦  «        ¦  «         Œ)t          |
¦  «        dk    r|                      d¦  «         Œ†d|› d||         › d�}|                      |¦  «         Œ«d                     |¦  «        }d                     |¦  «        }d                     |¦  «        }t          j        |d¦  «        }t          j        |d¦  «        }t          j        |d¦  «        }d|› d|› d |› d!�}d"|fS )#N)ÚprintÚtupleÚfloatÚcomplexÚintÚboolr   rS   re   Ú
isinstancer-   ÚhexÚoctÚroundÚhashÚminÚmaxÚabsÚallÚdivmodru   ÚordÚchrÚbinÚrangeÚzipr"   Úsortedz
aten::Boolz	aten::Intzaten::Floatzaten::Complexz	prim::absz	prim::maxz	prim::minzfake::does_not_exist)r�   r€   r~   r   r‰   rˆ   r‡   r�   zPrint any valuez]Lists cannot be converted to tuples with this method since their size is not statically knownz'Attribute name must be a literal stringzResult is staticzMArguments must be iterable. See :ref:`Iterables <jit_iterables>` for details.z-Can only be used as an iterator in a for loop)r|   r}   rS   re   r‚   r�   r"   r�   ))r   Ú__complex__)r~   Ú	__float__)r€   Ú__int__)r�   Ú__bool__)r   Ú__str__)r-   Ú__len__)rƒ   Ú__hex__)r„   Ú__oct__ú"z", "``z``"rD   r   )r7   Ú z":external+python:py:obj:`z`", "r   ú	z…
The functions in the following table are supported but do not have a static schema

.. csv-table::
    :header: "Function", "Note"

z™

The following functions will use the corresponding magic method on :any:`TorchScript classes`

.. csv-table::
    :header: "Function", "Magic Method"

zX

These built-in functions use the schema

.. rst-class:: codeblock-height-limiter

::

z
    zPython Built-in Functions)	rH   r?   r@   rG   r:   r-   r!   Útextwrapr   )Úsupported_builtinsÚ
op_renamesÚschemaless_op_explanationsÚmagic_methodsÚmagic_methods_rowsrh   Úmagic_methodÚschematized_opsÚschemaless_opsÚop_namerK   ÚsÚ	table_rowÚschematized_ops_strÚschemaless_ops_strÚmagic_methods_rows_strÚsections                    r	   Ú_get_global_builtinsr­   Ä   s^  € ðð ð Ðð@ ØØØ"ØØØØ'ð	ð 	€Jð #ØpØ<Ø<Ø(Ø^ØdØ@ð	"ð 	"Ðð	ð 	ð 	€Mð ÐØ)ð Cð CÑˆˆLØ×!Ò!Ð"A bÐ"AÐ"A°Ð"AÐ"AÐ"AÑBÔBÐBÐBà€OØ€Nà ð -ð -ˆØ˜2�-�-ˆØ�ÐÐØ  ”nˆGÝ”(×8Ò8¸ÑAÔAˆØð 	Ið 	IˆAØ×"Ò"¥<°°b¸!ÀQÐ#GÑ#GÔ#GÑHÔHÐHÐHÝˆw‰<Œ<˜!ÒÐØ×"Ò" 2Ñ&Ô&Ð&Ð&ð X¨RÐWÐWÐ6PÐQSÔ6TÐWÐWÐWð ð ×!Ò! )Ñ,Ô,Ð,Ð,àŸ)š) OÑ4Ô4ÐØŸš >Ñ2Ô2ÐØ!ŸYšYÐ'9Ñ:Ô:ÐÝ"œ/Ð*=¸tÑDÔDÐÝ!œÐ);¸TÑBÔBÐÝ%œ_Ð-CÀTÑJÔJÐðð ðð ð ðð ð* ð+ð ð €Gð0 '¨Ð/Ð/r   c                  óÞ  — d„ } d}t           t          t          t          t          f}|D ]Ä} |¦   «         \  }}|                     dd¦  «                             dd¦  «                             ¦   «                              dd¦  «        }t          |t          ¦  «        r|› ddt          |¦  «        z  › d|› d�}n#|› ddt          |¦  «        z  › d | |¦  «        › �}d|› d	�d
z   |z   }||z  }ŒÅ|S )Nc                 óf   — d                      d                     d„ | D ¦   «         ¦  «        ¦  «        S )Nz1
.. rst-class:: codeblock-height-limiter

::

{}
r›   c              3   ó"   K  — | ]
}d |› d�V — ŒdS )z    ú

N© )r   Úds     r	   r    z:_list_supported_ops.<locals>.emit_block.<locals>.<genexpr>@  s*   è è € Ð2Ð2 q�N˜1�N�N�NÐ2Ð2Ð2Ð2Ð2Ð2r   )Úformatr!   )Údeclss    r	   Ú
emit_blockz'_list_supported_ops.<locals>.emit_block>  s8   € ØH×OÒOØ�GŠGÐ2Ð2¨EÐ2Ñ2Ô2Ñ2Ô2ñ
ô 
ð 	
r   r›   ú`ú-r   r   ú~z.. _ú:r±   )
rL   rb   rw   r­   rz   ÚreplaceÚlowerr‚   r   r-   )r¶   ÚbodyÚop_gathering_fnsrh   ÚheaderÚitemsÚlink_targetr¬   s           r	   Ú_list_supported_opsrÂ   =  s'  € ð
ð 
ð 
ð
 €DåÝÝ!ÝÝðÐð ð ð ˆØ˜™œ‰ˆ�Ø—n’n S¨"Ñ-Ô-×5Ò5°c¸2Ñ>Ô>×DÒDÑFÔF×NÒNÈsÐTWÑXÔXˆÝ�e�SÑ!Ô!ð 	LØÐAÐA 3­¨V©¬Ñ#4ÐAÐA¸ÐAÐAÐAˆGˆGàÐKÐK 3­¨V©¬Ñ#4ÐKÐK¸
¸
À5Ñ8IÔ8IÐKÐKˆGØ'˜Ð'Ð'Ð'¨&Ñ0°7Ñ:ˆØ�‰ˆˆà€Kr   )r   r0   )rT   r�   Ú	torch.jitr?   Útorch.jit._builtinsr   r
   r   r   r$   r'   r/   r:   rL   rb   rj   rm   rw   rz   r­   rÂ   Ú__doc__r²   r   r	   ú<module>rÆ      s:  ðà €€€Ø €€€à Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -ð>ð >ð >ðð ð ðð ð ðRð Rð Rð ð  ð  ð@ð @ð @ð
ð 
ð 
ð 
ð/ð /ð /ð.(4ð (4ð (4ðVð ð ð,"ð "ð "ð6ð 6ð 6ð$(ð (ð (ð.v0ð v0ð v0ðrð ð ð6 Ð
Ñ
Ô
€€€r   