§
    �ŠtjÆ:  ã                   ó(  — d dl Z d dlZd dlmZ d dlZd dl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mZmZmZmZmZ  G d„ d¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Zd
ej        dej        dej        fd„Z  G d„ d¦  «        Z!dS )é    N)ÚNoReturn)Ú_keep_floatÚBitwiseFn_bitwise_andÚBitwiseFn_bitwise_orÚBitwiseFn_bitwise_xorÚFloatPowÚFloatTrueDivÚFloorDivÚ
IntTrueDivÚMaxÚMinÚModÚOpaqueUnaryFn_expÚOpaqueUnaryFn_logÚOpaqueUnaryFn_log2ÚOpaqueUnaryFn_sqrtÚPowByNaturalÚRoundDecimalÚ
RoundToIntÚToFloatÚ
TruncToIntc                   ó°  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zedefd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed„ ¦   «         Z#ed „ ¦   «         Z$ed!„ ¦   «         Z%ed"„ ¦   «         Z&ed#„ ¦   «         Z'ed$„ ¦   «         Z(ed%„ ¦   «         Z)ed&„ ¦   «         Z*ed'„ ¦   «         Z+ed(„ ¦   «         Z,ed)„ ¦   «         Z-ed*„ ¦   «         Z.ed+„ ¦   «         Z/d,S )-ÚReferenceAnalysisc                 ó*   — t          j        | ¦  «        S ©N)ÚsympyÚsympify©ÚcÚdtypes     úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/utils/_sympy/reference.pyÚconstantzReferenceAnalysis.constant(   ó   € åŒ}˜QÑÔÐó    c                 ó   — | |z  S r   © ©ÚaÚbs     r!   Úor_zReferenceAnalysis.or_,   ó   € à�1‰uˆr$   c                 ó   — | |z  S r   r&   r'   s     r!   Úand_zReferenceAnalysis.and_0   r+   r$   c                 ó    — t          | t          j        ¦  «        st          |t          j        ¦  «        rt          j        | |¦  «        S | |k    S r   )Ú
isinstancer   ÚExprÚEqr'   s     r!   ÚeqzReferenceAnalysis.eq4   sB   € å�a�œÑ$Ô$ð 	"­
°1µe´jÑ(AÔ(Að 	"Ý”8˜A˜q‘>”>Ð!Ø�AŠvˆr$   c                 óT   — |                       |                      ||¦  «        ¦  «        S r   )Únot_r2   ©Úclsr(   r)   s      r!   ÚnezReferenceAnalysis.ne:   s    € à�xŠx˜Ÿš˜q !™œÑ%Ô%Ð%r$   c                 ó   — | |k     S r   r&   r'   s     r!   ÚltzReferenceAnalysis.lt>   ó   € à�1Šuˆr$   c                 ó   — | |k    S r   r&   r'   s     r!   ÚgtzReferenceAnalysis.gtB   r:   r$   c                 ó   — | |k    S r   r&   r'   s     r!   ÚlezReferenceAnalysis.leF   ó   € à�AŠvˆr$   c                 ó   — | |k    S r   r&   r'   s     r!   ÚgezReferenceAnalysis.geJ   r?   r$   c                 óP   — t          | t          ¦  «        rt          d¦  «        ‚|  S )Nznot_ needs sympy expr)r/   ÚboolÚAssertionError©r(   s    r!   r4   zReferenceAnalysis.not_N   s*   € å�a�ÑÔð 	:Ý Ð!8Ñ9Ô9Ð9Øˆrˆ	r$   c                 ó"   — t          d| ¦  «        S )Ng      ð?©r	   ©Úxs    r!   Ú
reciprocalzReferenceAnalysis.reciprocalT   s   € å˜C Ñ#Ô#Ð#r$   c                 ó"   — t          | d¦  «        S )Né   ©r   rH   s    r!   ÚsquarezReferenceAnalysis.squareX   ó   € å˜A˜qÑ!Ô!Ð!r$   c                 ó    — t          | ¦  «        S r   )r   ©rI   r    s     r!   Útrunc_to_intzReferenceAnalysis.trunc_to_int\   ó   € å˜!‰}Œ}Ðr$   c                 ó*   — t          j        | ¦  «        S r   )r   ÚceilingrQ   s     r!   Úceil_to_intzReferenceAnalysis.ceil_to_int`   r#   r$   c                 ó*   — t          j        | ¦  «        S r   )r   ÚfloorrQ   s     r!   Úfloor_to_intzReferenceAnalysis.floor_to_intd   s   € åŒ{˜1‰~Œ~Ðr$   c                 óF   —  t          t          j        ¦  «        | ¦  «        S r   )r   r   rX   rH   s    r!   rX   zReferenceAnalysis.floorh   s   € à'�{�5œ;Ñ'Ô'¨Ñ*Ô*Ð*r$   c                 óF   —  t          t          j        ¦  «        | ¦  «        S r   )r   r   rU   rH   s    r!   ÚceilzReferenceAnalysis.ceill   s   € à)�{�5œ=Ñ)Ô)¨!Ñ,Ô,Ð,r$   c                 óf   — |t           j        k    rt          | ¦  «        S t          d|› d�¦  «        ‚©Nz	to_dtype z NYI)ÚtorchÚfloat64r   ÚNotImplementedErrorrQ   s     r!   Úto_dtypezReferenceAnalysis.to_dtypep   s5   € à•E”MÒ!Ð!Ý˜1‘:”:ÐÝ!Ð"9¨eÐ"9Ð"9Ð"9Ñ:Ô:Ð:r$   c                 ó"   — t          | |¦  «        S r   )r   ©rI   Úys     r!   ÚmodzReferenceAnalysis.modv   ó   € å�1�a‰yŒyÐr$   c                 ó    — t          | ¦  «        S r   )ÚabsrH   s    r!   ri   zReferenceAnalysis.absz   s   € å�1‰vŒvˆr$   c                 ó   — |  S r   r&   rH   s    r!   ÚnegzReferenceAnalysis.neg~   s	   € àˆrˆ	r$   c                 ó"   — t          | |¦  «        S r   rG   r'   s     r!   ÚtruedivzReferenceAnalysis.truediv‚   rO   r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   Úint_truedivzReferenceAnalysis.int_truediv†   s   € å˜!˜QÑÔÐr$   c                 ó"   — t          | |¦  «        S r   )r
   r'   s     r!   ÚfloordivzReferenceAnalysis.floordivŠ   s   € å˜˜1‰~Œ~Ðr$   Úreturnc                 ó    — t          d¦  «        ‚)NzTODO: truncdiv©ra   r'   s     r!   ÚtruncdivzReferenceAnalysis.truncdivŽ   s   € å!Ð"2Ñ3Ô3Ð3r$   c                 óH   —  t          t          j        ¦  «        | |¦  «        S r   )r   ÚoperatorÚaddr'   s     r!   rx   zReferenceAnalysis.add’   ó   € à(�{�8œ<Ñ(Ô(¨¨AÑ.Ô.Ð.r$   c                 ó   — t          j        |Ž S r   )r   ÚAdd)r6   Úargss     r!   Úsym_sumzReferenceAnalysis.sym_sum–   s   € åŒy˜$ÐÐr$   c                 óH   —  t          t          j        ¦  «        | |¦  «        S r   )r   rw   Úmulr'   s     r!   r   zReferenceAnalysis.mulš   ry   r$   c                 óH   —  t          t          j        ¦  «        | |¦  «        S r   )r   rw   Úsubr'   s     r!   r�   zReferenceAnalysis.subž   ry   r$   c                 ó    — t          | ¦  «        S r   )r   rH   s    r!   ÚexpzReferenceAnalysis.exp¢   ó   € å  Ñ#Ô#Ð#r$   c                 ó    — t          | ¦  «        S r   )r   rH   s    r!   ÚlogzReferenceAnalysis.log¦   r„   r$   c                 ó    — t          | ¦  «        S r   )r   rH   s    r!   Úlog2zReferenceAnalysis.log2ª   ó   € å! !Ñ$Ô$Ð$r$   c                 ó    — t          | ¦  «        S r   )r   rH   s    r!   ÚsqrtzReferenceAnalysis.sqrt®   r‰   r$   c                 ó>   —  t          t          ¦  «        | |¦  «        S r   )r   r   r'   s     r!   ÚpowzReferenceAnalysis.pow²   s   € ð %�{�8Ñ$Ô$ Q¨Ñ*Ô*Ð*r$   c                 ó"   — t          | |¦  «        S r   rM   r'   s     r!   Úpow_by_naturalz ReferenceAnalysis.pow_by_natural·   rO   r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   ÚminimumzReferenceAnalysis.minimum»   rg   r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   ÚmaximumzReferenceAnalysis.maximum¿   rg   r$   c                 ó    — t          | ¦  «        S r   )r   ©r(   r    s     r!   Úround_to_intzReferenceAnalysis.round_to_intÃ   rS   r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   Úround_decimalzReferenceAnalysis.round_decimalÇ   rO   r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   Úbitwise_andzReferenceAnalysis.bitwise_andË   ó   € å$ Q¨Ñ*Ô*Ð*r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   Ú
bitwise_orzReferenceAnalysis.bitwise_orÏ   s   € å# A qÑ)Ô)Ð)r$   c                 ó"   — t          | |¦  «        S r   )r   r'   s     r!   Úbitwise_xorzReferenceAnalysis.bitwise_xorÓ   r›   r$   N)0Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr"   r*   r-   r2   Úclassmethodr7   r9   r<   r>   rA   r4   rJ   rN   rR   rV   rY   rX   r\   rb   rf   ri   rk   rm   ro   rq   r   ru   rx   r}   r   r�   rƒ   r†   rˆ   r‹   r�   r�   r‘   r“   r–   r˜   rš   r�   rŸ   r&   r$   r!   r   r   '   sŒ  € € € € € Øð ð  ñ „\ð ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð
 ð&ð &ñ „[ð&ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð
 ð$ð $ñ „\ð$ð ð"ð "ñ „\ð"ð ðð ñ „\ðð ð ð  ñ „\ð ð ðð ñ „\ðð ð+ð +ñ „\ð+ð ð-ð -ñ „\ð-ð ð;ð ;ñ „\ð;ð
 ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð"ð "ñ „\ð"ð ð ð  ñ „\ð ð ðð ñ „\ðð ð4˜(ð 4ð 4ð 4ñ „\ð4ð ð/ð /ñ „\ð/ð ð ð  ñ „[ð ð ð/ð /ñ „\ð/ð ð/ð /ñ „\ð/ð ð$ð $ñ „\ð$ð ð$ð $ñ „\ð$ð ð%ð %ñ „\ð%ð ð%ð %ñ „\ð%ð ð+ð +ñ „\ð+ð ð"ð "ñ „\ð"ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð"ð "ñ „\ð"ð ð+ð +ñ „\ð+ð ð*ð *ñ „\ð*ð ð+ð +ñ „\ð+ð +ð +r$   r   c                   ó‚  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed„ ¦   «         Zed	efd
„¦   «         Zed	efd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!dS )ÚPythonReferenceAnalysisc                 óÔ   — |t           j        u rt          | ¦  «        S |t           j        u rt	          | ¦  «        S |t           j        u rt          | ¦  «        S t          d|› �¦  «        ‚)Núunrecognized dtype )r_   Úint64ÚintÚdoubleÚfloatrC   rD   r   s     r!   r"   z PythonReferenceAnalysis.constantÜ   sa   € à•E”KÐÐÝ�q‘6”6ˆMØ•e”lÐ"Ð"Ý˜‘8”8ˆOØ•e”jÐ Ð Ý˜‘7”7ˆNå Ð!>°uÐ!>Ð!>Ñ?Ô?Ð?r$   c                 ó*   — t          j        | ¦  «        S r   )r_   Úsym_notrE   s    r!   r4   zPythonReferenceAnalysis.not_ç   r#   r$   c                 ó"  — t          |¦  «        dk    rdS t          |¦  «        dk    r|d         S |                      |d         |d         ¦  «        }t          dt          |¦  «        ¦  «        D ]}|                      |||         ¦  «        }Œ|S )Nr   é   rL   )Úlenrx   Úrange)r6   r|   ÚaccÚis       r!   r}   zPythonReferenceAnalysis.sym_sumë   s†   € åˆt‰9Œ9˜Š>ˆ>Ø�1Ýˆt‰9Œ9˜Š>ˆ>Ø˜”7ˆNØ�gŠg�d˜1”g˜t AœwÑ'Ô'ˆÝ�q�#˜d™)œ)Ñ$Ô$ð 	(ð 	(ˆAØ—'’'˜#˜t AœwÑ'Ô'ˆCˆCØˆ
r$   c                 ó   — | |z  S r   r&   r'   s     r!   rq   z PythonReferenceAnalysis.floordivö   s   € à�A‰vˆr$   c                 ó   — | |z  S r   r&   rd   s     r!   rf   zPythonReferenceAnalysis.modú   r+   r$   c                 ó   — | |z  S r   r&   rd   s     r!   Ú
python_modz"PythonReferenceAnalysis.python_modþ   r+   r$   c                 ó   — | |z  S r   r&   r'   s     r!   ru   z PythonReferenceAnalysis.truncdiv  r+   r$   c                 óp   — |t           j        k    rt          j        | ¦  «        S t          d|› d�¦  «        ‚r^   )r_   r`   Ú	sym_floatra   rQ   s     r!   rb   z PythonReferenceAnalysis.to_dtype  s9   € à•E”MÒ!Ð!Ý”? 1Ñ%Ô%Ð%Ý!Ð"9¨eÐ"9Ð"9Ð"9Ñ:Ô:Ð:r$   rr   c                 ó    — t          d¦  «        ‚)Nz!exp is not valid shape sympy expr©rD   rH   s    r!   rƒ   zPythonReferenceAnalysis.exp  ó   € åÐ@ÑAÔAÐAr$   c                 ó    — t          d¦  «        ‚)Nz!log is not valid shape sympy exprr½   rH   s    r!   r†   zPythonReferenceAnalysis.log  r¾   r$   c                 ó*   — t          j        | ¦  «        S r   )r_   Ú	_sym_log2rH   s    r!   rˆ   zPythonReferenceAnalysis.log2  ó   € åŒ˜qÑ!Ô!Ð!r$   c                 ó*   — t          j        | ¦  «        S r   )r_   Ú	_sym_sqrtrH   s    r!   r‹   zPythonReferenceAnalysis.sqrt  rÂ   r$   c                 ó,   — t          j        | |¦  «        S r   )r_   Úsym_minr'   s     r!   r‘   zPythonReferenceAnalysis.minimum  ó   € åŒ}˜Q Ñ"Ô"Ð"r$   c                 ó,   — t          j        | |¦  «        S r   )r_   Úsym_maxr'   s     r!   r“   zPythonReferenceAnalysis.maximum   rÇ   r$   c                 ó*   — t          j        | ¦  «        S r   )ÚmathrX   rQ   s     r!   rY   z$PythonReferenceAnalysis.floor_to_int$  s   € åŒz˜!‰}Œ}Ðr$   c                 ó*   — t          j        | ¦  «        S r   )rË   r\   rQ   s     r!   rV   z#PythonReferenceAnalysis.ceil_to_int(  s   € åŒy˜‰|Œ|Ðr$   c                 óD   — t          t          j        | ¦  «        ¦  «        S r   )r¬   rË   rX   rH   s    r!   rX   zPythonReferenceAnalysis.floor,  s   € å•T”Z ‘]”]Ñ#Ô#Ð#r$   c                 óD   — t          t          j        | ¦  «        ¦  «        S r   )r¬   rË   r\   rH   s    r!   r\   zPythonReferenceAnalysis.ceil0  s   € å•T”Y˜q‘\”\Ñ"Ô"Ð"r$   c                 ó   — | |z  S r   r&   r'   s     r!   rm   zPythonReferenceAnalysis.truediv4  r+   r$   c                 ó   — | |z  S r   r&   r'   s     r!   r�   zPythonReferenceAnalysis.pow8  s   € à�!‰tˆr$   c                 ó   — | |z  S r   r&   r'   s     r!   r�   z&PythonReferenceAnalysis.pow_by_natural<  s   € ð
 �!‰tˆr$   c                 ó    — t          | ¦  «        S r   ©Úroundr•   s     r!   r–   z$PythonReferenceAnalysis.round_to_intC  s   € å�Q‰xŒxˆr$   c                 ó$   — t          | |¬¦  «        S )N)ÚndigitsrÓ   r'   s     r!   r˜   z%PythonReferenceAnalysis.round_decimalG  s   € å�Q Ð"Ñ"Ô"Ð"r$   c                 ó   — | |z  S r   r&   r'   s     r!   rš   z#PythonReferenceAnalysis.bitwise_andK  r+   r$   c                 ó   — | |z  S r   r&   r'   s     r!   r�   z"PythonReferenceAnalysis.bitwise_orO  r+   r$   c                 ó   — | |z  S r   r&   r'   s     r!   rŸ   z#PythonReferenceAnalysis.bitwise_xorS  r+   r$   c                 ó
   — | |fS r   r&   )ÚexprÚconds     r!   Úexpr_cond_pairz&PythonReferenceAnalysis.expr_cond_pairW  s   € à�dˆ|Ðr$   c                  óˆ   — | d         d         }t          | d d…         ¦  «        D ]\  }}t          j        |||¦  «        }Œ|S )Néÿÿÿÿr   )Úreversedr_   Úsym_ite)ÚpairsÚresultrÛ   rÜ   s       r!   Ú	piecewisez!PythonReferenceAnalysis.piecewise[  sN   € ð
 �r”˜1”ˆÝ" 5¨¨"¨¤:Ñ.Ô.ð 	7ð 	7‰JˆD�$Ý”] 4¨¨vÑ6Ô6ˆFˆFØˆr$   N)"r    r¡   r¢   r£   r"   r4   r¤   r}   rq   rf   r¸   ru   rb   r   rƒ   r†   rˆ   r‹   r‘   r“   rY   rV   rX   r\   rm   r�   r�   r–   r˜   rš   r�   rŸ   rÝ   rä   r&   r$   r!   r¦   r¦   Û   s+  € € € € € Øð@ð @ñ „\ð@ð ð ð  ñ „\ð ð ðð ñ „[ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð;ð ;ñ „\ð;ð
 ðB�(ð Bð Bð Bñ „\ðBð ðB�(ð Bð Bð Bñ „\ðBð ð"ð "ñ „\ð"ð ð"ð "ñ „\ð"ð ð#ð #ñ „\ð#ð ð#ð #ñ „\ð#ð ðð ñ „\ðð ðð ñ „\ðð ð$ð $ñ „\ð$ð ð#ð #ñ „\ð#ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð#ð #ñ „\ð#ð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð ð r$   r¦   c                   óf   — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )Ú OptimizedPythonReferenceAnalysisc                 ó*   — t          j        | ¦  «        S r   )r_   r}   )r|   s    r!   r}   z(OptimizedPythonReferenceAnalysis.sym_sumi  s   € åŒ}˜TÑ"Ô"Ð"r$   c                 óf   — t          | t          t          f¦  «        rt          j        | ¦  «        S | S r   )r/   rª   r¬   rË   rX   rQ   s     r!   rY   z-OptimizedPythonReferenceAnalysis.floor_to_intm  ó+   € å�a�#�u˜Ñ&Ô&ð 	!Ý”:˜a‘=”=Ð Øˆr$   c                 óf   — t          | t          t          f¦  «        rt          j        | ¦  «        S | S r   )r/   rª   r¬   rË   r\   rQ   s     r!   rV   z,OptimizedPythonReferenceAnalysis.ceil_to_ints  s+   € å�a�#�u˜Ñ&Ô&ð 	 Ý”9˜Q‘<”<ÐØˆr$   c                 óf   — t          | t          t          f¦  «        rt          j        | ¦  «        S | S r   )r/   rª   r¬   rË   ÚtruncrQ   s     r!   rR   z-OptimizedPythonReferenceAnalysis.trunc_to_inty  ré   r$   N)r    r¡   r¢   r£   r}   rY   rV   rR   r&   r$   r!   ræ   ræ   h  s~   € € € € € Øð#ð #ñ „\ð#ð ðð ñ „\ðð
 ðð ñ „\ðð
 ðð ñ „\ðð ð r$   ræ   rI   r    rr   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   ÚopsÚprimsÚconvert_element_typeÚdefaultrQ   s     r!   Ú	_to_dtyperò   €  s   € ÝŒ9Œ?Ô/×7Ò7¸¸5ÑAÔAÐAr$   c                   ól  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zedefd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z edefd„¦   «         Z!ed„ ¦   «         Z"ed„ ¦   «         Z#ed „ ¦   «         Z$ed!„ ¦   «         Z%ed"„ ¦   «         Z&ed#„ ¦   «         Z'ed$„ ¦   «         Z(ed%„ ¦   «         Z)ed&„ ¦   «         Z*ed'„ ¦   «         Z+ed(„ ¦   «         Z,ed)„ ¦   «         Z-ed*„ ¦   «         Z.ed+„ ¦   «         Z/ed,„ ¦   «         Z0ed-„ ¦   «         Z1ed.„ ¦   «         Z2ed/„ ¦   «         Z3ed0„ ¦   «         Z4ed1„ ¦   «         Z5ed2„ ¦   «         Z6edefd3„¦   «         Z7d4S )5ÚTensorReferenceAnalysisc                 ó0  — |t           j        u rt          | ¦  «        }nN|t           j        u rt	          | ¦  «        }n0|t           j        u rt          | ¦  «        }nt          d|› �¦  «        ‚t           j        j        j	         
                    ||¬¦  «        S )Nr¨   )r    )r_   r©   rª   r«   r¬   rC   rD   rî   ÚatenÚscalar_tensorrñ   )r   r    Úds      r!   r"   z TensorReferenceAnalysis.constant•  s‰   € ð •E”KÐÐÝ�A‘”ˆAˆAØ•e”lÐ"Ð"Ý�a‘”ˆAˆAØ•e”jÐ Ð Ý�Q‘”ˆAˆAå Ð!>°uÐ!>Ð!>Ñ?Ô?Ð?ÝŒyŒ~Ô+×3Ò3°A¸UÐ3ÑCÔCÐCr$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   Ú
logical_orrñ   r'   s     r!   r*   zTensorReferenceAnalysis.or_¢  s   € åŒyŒ~Ô(×0Ò0°°AÑ6Ô6Ð6r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   Úlogical_andrñ   r'   s     r!   r-   zTensorReferenceAnalysis.and_¦  s   € åŒyŒ~Ô)×1Ò1°!°QÑ7Ô7Ð7r$   c                 óL   — t           j        j                             | |¦  «        S r   )r_   rî   rö   rš   r'   s     r!   rš   z#TensorReferenceAnalysis.bitwise_andª  ó   € åŒyŒ~×)Ò)¨!¨QÑ/Ô/Ð/r$   c                 óL   — t           j        j                             | |¦  «        S r   )r_   rî   rö   r�   r'   s     r!   r�   z"TensorReferenceAnalysis.bitwise_or®  s   € åŒyŒ~×(Ò(¨¨AÑ.Ô.Ð.r$   c                 óL   — t           j        j                             | |¦  «        S r   )r_   rî   rö   rŸ   r'   s     r!   rŸ   z#TensorReferenceAnalysis.bitwise_xor²  rþ   r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r2   ÚTensorr'   s     r!   r2   zTensorReferenceAnalysis.eq¶  ó   € åŒyŒ~Ô ×'Ò'¨¨1Ñ-Ô-Ð-r$   c                 óV   — t           j        j        j                             ||¦  «        S r   )r_   rî   rö   r7   r  r5   s      r!   r7   zTensorReferenceAnalysis.neº  r  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r9   r  r'   s     r!   r9   zTensorReferenceAnalysis.lt¾  r  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r<   r  r'   s     r!   r<   zTensorReferenceAnalysis.gtÂ  r  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r>   r  r'   s     r!   r>   zTensorReferenceAnalysis.leÆ  r  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   rA   r  r'   s     r!   rA   zTensorReferenceAnalysis.geÊ  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úlogical_notrñ   rE   s    r!   r4   zTensorReferenceAnalysis.not_Î  s   € åŒyŒ~Ô)×1Ò1°!Ñ4Ô4Ð4r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rJ   rñ   rH   s    r!   rJ   z"TensorReferenceAnalysis.reciprocalÒ  s   € åŒyŒ~Ô(×0Ò0°Ñ3Ô3Ð3r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rN   rñ   rH   s    r!   rN   zTensorReferenceAnalysis.squareÖ  s   € õ ŒyŒ~Ô$×,Ò,¨QÑ/Ô/Ð/r$   c                 óp   — t          t          j        j        j                             | ¦  «        |¦  «        S r   )rò   r_   rî   rö   rì   rñ   rQ   s     r!   rR   z$TensorReferenceAnalysis.trunc_to_intÛ  ó'   € å�œœÔ-×5Ò5°aÑ8Ô8¸%Ñ@Ô@Ð@r$   c                 óp   — t          t          j        j        j                             | ¦  «        |¦  «        S r   )rò   r_   rî   rö   r\   rñ   rQ   s     r!   rV   z#TensorReferenceAnalysis.ceil_to_intß  s'   € å�œœÔ,×4Ò4°QÑ7Ô7¸Ñ?Ô?Ð?r$   c                 óp   — t          t          j        j        j                             | ¦  «        |¦  «        S r   )rò   r_   rî   rö   rX   rñ   rQ   s     r!   rY   z$TensorReferenceAnalysis.floor_to_intã  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rX   rñ   rH   s    r!   rX   zTensorReferenceAnalysis.floorç  ó   € åŒyŒ~Ô#×+Ò+¨AÑ.Ô.Ð.r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   r\   rñ   rH   s    r!   r\   zTensorReferenceAnalysis.ceilë  ó   € åŒyŒ~Ô"×*Ò*¨1Ñ-Ô-Ð-r$   c                 ó"   — t          | |¦  «        S r   )rò   rQ   s     r!   rb   z TensorReferenceAnalysis.to_dtypeï  s   € å˜˜EÑ"Ô"Ð"r$   rr   c                 ó    — t          d¦  «        ‚)Nz8no C-style modulus operation available from frontend atmrt   rd   s     r!   rf   zTensorReferenceAnalysis.modó  s   € õ "ØFñ
ô 
ð 	
r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   ri   rñ   rH   s    r!   ri   zTensorReferenceAnalysis.absú  ó   € åŒyŒ~Ô!×)Ò)¨!Ñ,Ô,Ð,r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rk   rñ   rH   s    r!   rk   zTensorReferenceAnalysis.negþ  r  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   Útrue_divider  r'   s     r!   rm   zTensorReferenceAnalysis.truediv  s   € åŒyŒ~Ô)×0Ò0°°AÑ6Ô6Ð6r$   c                 ó    — t          d¦  «        ‚)Nz8Python int truediv difficult to implement in PyTorch atm)ra   r_   rî   rö   r  rñ   rò   r`   r'   s     r!   ro   z#TensorReferenceAnalysis.int_truediv  ó   € å!ØFñ
ô 
ð 	
r$   c                 óZ   — t           j        j        j                             | |d¬¦  «        S )NrX   )Úrounding_mode)r_   rî   rö   ÚdivÚTensor_moder'   s     r!   rq   z TensorReferenceAnalysis.floordiv  s$   € åŒyŒ~Ô!×-Ò-¨a°À'Ð-ÑJÔJÐJr$   c                 ó    — t          d¦  «        ‚)Nz9no C-style truncdiv operation available from frontend atmrt   r'   s     r!   ru   z TensorReferenceAnalysis.truncdiv  s   € å!ØGñ
ô 
ð 	
r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   rx   r  r'   s     r!   rx   zTensorReferenceAnalysis.add  ó   € åŒyŒ~Ô!×(Ò(¨¨AÑ.Ô.Ð.r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r   r  r'   s     r!   r   zTensorReferenceAnalysis.mul"  r$  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r�   r  r'   s     r!   r�   zTensorReferenceAnalysis.sub&  r$  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rƒ   rñ   rH   s    r!   rƒ   zTensorReferenceAnalysis.exp*  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   r†   rñ   rH   s    r!   r†   zTensorReferenceAnalysis.log.  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rˆ   rñ   rH   s    r!   rˆ   zTensorReferenceAnalysis.log22  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   r‹   rñ   rH   s    r!   r‹   zTensorReferenceAnalysis.sqrt6  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úsinrñ   rH   s    r!   r,  zTensorReferenceAnalysis.sin:  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úcosrñ   rH   s    r!   r.  zTensorReferenceAnalysis.cos>  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Útanhrñ   rH   s    r!   r0  zTensorReferenceAnalysis.tanhB  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úsinhrñ   rH   s    r!   r2  zTensorReferenceAnalysis.sinhF  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úcoshrñ   rH   s    r!   r4  zTensorReferenceAnalysis.coshJ  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Útanrñ   rH   s    r!   r6  zTensorReferenceAnalysis.tanN  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úacosrñ   rH   s    r!   r8  zTensorReferenceAnalysis.acosR  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úatanrñ   rH   s    r!   r:  zTensorReferenceAnalysis.atanV  r  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   Úasinrñ   rH   s    r!   r<  zTensorReferenceAnalysis.asinZ  r  r$   c                 óV   — t           j        j        j                             | |¦  «        S r   ©r_   rî   rö   r�   ÚTensor_Tensorr'   s     r!   r�   zTensorReferenceAnalysis.pow^  s   € åŒyŒ~Ô!×/Ò/°°1Ñ5Ô5Ð5r$   c                 óV   — t           j        j        j                             | |¦  «        S r   r>  r'   s     r!   r�   z&TensorReferenceAnalysis.pow_by_naturalb  s!   € õ ŒyŒ~Ô!×/Ò/°°1Ñ5Ô5Ð5r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r‘   rñ   r'   s     r!   r‘   zTensorReferenceAnalysis.minimumg  ó   € åŒyŒ~Ô%×-Ò-¨a°Ñ3Ô3Ð3r$   c                 óV   — t           j        j        j                             | |¦  «        S r   )r_   rî   rö   r“   rñ   r'   s     r!   r“   zTensorReferenceAnalysis.maximumk  rB  r$   c                 óT   — t           j        j        j                             | ¦  «        S r   )r_   rî   rö   rÔ   rñ   r•   s     r!   r–   z$TensorReferenceAnalysis.round_to_into  r  r$   c                 ó    — t          d¦  «        ‚)Nz8round decimal doesn't support Tensor second argument atmrt   r'   s     r!   r˜   z%TensorReferenceAnalysis.round_decimals  r  r$   N)8r    r¡   r¢   r£   r"   r*   r-   rš   r�   rŸ   r2   r¤   r7   r9   r<   r>   rA   r4   rJ   rN   rR   rV   rY   rX   r\   rb   r   rf   ri   rk   rm   ro   rq   ru   rx   r   r�   rƒ   r†   rˆ   r‹   r,  r.  r0  r2  r4  r6  r8  r:  r<  r�   r�   r‘   r“   r–   r˜   r&   r$   r!   rô   rô   ’  s�  € € € € € ð ð
Dð 
Dñ „\ð
Dð ð7ð 7ñ „\ð7ð ð8ð 8ñ „\ð8ð ð0ð 0ñ „\ð0ð ð/ð /ñ „\ð/ð ð0ð 0ñ „\ð0ð ð.ð .ñ „\ð.ð ð.ð .ñ „[ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð5ð 5ñ „\ð5ð ð4ð 4ñ „\ð4ð ð0ð 0ñ „\ð0ð ðAð Añ „\ðAð ð@ð @ñ „\ð@ð ðAð Añ „\ðAð ð/ð /ñ „\ð/ð ð.ð .ñ „\ð.ð ð#ð #ñ „\ð#ð ð
�Xð 
ð 
ð 
ñ „\ð
ð ð-ð -ñ „\ð-ð ð-ð -ñ „\ð-ð ð7ð 7ñ „\ð7ð ð
ð 
ñ „\ð
ð ðKð Kñ „\ðKð ð
˜(ð 
ð 
ð 
ñ „\ð
ð
 ð/ð /ñ „\ð/ð ð/ð /ñ „\ð/ð ð/ð /ñ „\ð/ð ð-ð -ñ „\ð-ð ð-ð -ñ „\ð-ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð-ð -ñ „\ð-ð ð-ð -ñ „\ð-ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð-ð -ñ „\ð-ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð.ð .ñ „\ð.ð ð6ð 6ñ „\ð6ð ð6ð 6ñ „\ð6ð ð4ð 4ñ „\ð4ð ð4ð 4ñ „\ð4ð ð/ð /ñ „\ð/ð ð
˜xð 
ð 
ð 
ñ „\ð
ð 
ð 
r$   rô   )"rË   rw   Útypingr   r   r_   Útorch.utils._sympy.functionsr   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!   ú<module>rH     s  ðà €€€Ø €€€Ø Ð Ð Ð Ð Ð à €€€à €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð<n+ð n+ð n+ð n+ð n+ñ n+ô n+ð n+ðhHð Hð Hð Hð HÐ/ñ Hô Hð HðZð ð ð ð Ð'>ñ ô ð ð0B�”ð B e¤kð B°e´lð Bð Bð Bð Bð$e
ð e
ð e
ð e
ð e
ñ e
ô e
ð e
ð e
ð e
r$   