§
    Ó˜ºh^Ð  ã                  ó"  — d Z ddlmZ ddlZddlZddlZddlmZ ddl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 ddlmZmZ erdd	lmZ g d
¢Z ej        ej        d¬¦  «        Z ed¦  «         ej        d¦  «         ej         ddd¦  «        dÍd„¦   «         ¦   «         ¦   «         Z! ed¦  «        dÎd„¦   «         Z" ed¦  «         ej         dd¦  «        dÎd„¦   «         ¦   «         Z# ed¦  «         ej         dd¦  «        dÎd„¦   «         ¦   «         Z$ ed¦  «        dÎd „¦   «         Z% ed!¦  «         ej        d¦  «         ej         dd"d¦  «        dÎd#„¦   «         ¦   «         ¦   «         Z& ed$¦  «        	 dÏdÎd&„¦   «         Z' ed'¦  «         ej         dd"¦  «        dÎd(„¦   «         ¦   «         Z( ed) ej)        d*d+d,¦  «        g¬-¦  «         ed. ej)        d/d0d,¦  «        g¬-¦  «         ed1 ej)        d2d3d,¦  «        g¬-¦  «         ed4 ej)        d5d+d6¦  «        g¬-¦  «         ed7 ej)        d8d0d6¦  «        g¬-¦  «         ed9 ej)        d:d3d6¦  «        g¬-¦  «         ed; ej)        d<d0d=¦  «        g¬-¦  «        dÐdC„¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         ¦   «         Z* edD¦  «         ej        dd%d%d%d%d%d%¦  «        dÎdE„¦   «         ¦   «         Z+ edF¦  «         ej         dd"dd¦  «        dÏdÎdG„¦   «         ¦   «         Z, edH¦  «         ej         dd"dd¦  «        dÎdI„¦   «         ¦   «         Z- edJ¦  «         ej         dd"dK¦  «        dÑdÎdL„¦   «         ¦   «         Z. edM¦  «        dÎdN„¦   «         Z/ edO¦  «        dÎdP„¦   «         Z0 edQ¦  «        dÎdR„¦   «         Z1 edS¦  «        dÎdT„¦   «         Z2 edU¦  «        dÎdV„¦   «         Z3 edW¦  «        dÎdX„¦   «         Z4 edY¦  «        dÑdÎdZ„¦   «         Z5 ed[¦  «        dÎd\„¦   «         Z6 ed]¦  «        dÎd^„¦   «         Z7 ed_¦  «        dÎd`„¦   «         Z8 eda¦  «         ej        d¦  «        dÎdb„¦   «         ¦   «         Z9 edc¦  «        dÎdd„¦   «         Z: ede¦  «         ej         dd"d"d"¦  «        dÎdf„¦   «         ¦   «         Z; edg¦  «         ej         dd"d"d"d"¦  «        dÎdh„¦   «         ¦   «         Z< edi¦  «         ej         ddd"d"d"dK¦  «        dÑdÎdj„¦   «         ¦   «         Z= edk¦  «         ej         dd"d"dK¦  «        dÑdÎdl„¦   «         ¦   «         Z> edm¦  «         ej         dd"d"dK¦  «        dÑdÎdn„¦   «         ¦   «         Z? edo¦  «         ej         dd"¦  «        dÒdÎdp„¦   «         ¦   «         Z@ edq¦  «        dÎdr„¦   «         ZA eds¦  «         ej         ddd"d"¦  «        dÑdÎdt„¦   «         ¦   «         ZB edu¦  «         ej         ddd"d"¦  «        dÑdÎdv„¦   «         ¦   «         ZC edw¦  «         ej         dd"d"¦  «        dÓdÎdx„¦   «         ¦   «         ZDdÎdy„ZE edz¦  «        dÑdÎd{„¦   «         ZF ed|¦  «         ed}¦  «         ed~¦  «        dÎd„¦   «         ¦   «         ¦   «         ZG ed€¦  «         ed�¦  «         ed‚¦  «        dÎdƒ„¦   «         ¦   «         ¦   «         ZH ed„¦  «        dÔd‰„¦   «         ZI edŠ¦  «        dÎd‹„¦   «         ZJ edŒ¦  «        dÎd�„¦   «         ZK edŽ¦  «        dÎd�„¦   «         ZL ed�¦  «         ej         dd"¦  «        dÎd‘„¦   «         ¦   «         ZM ed’¦  «         ej        dd%¬“¦  «        dÑdÎd”„¦   «         ¦   «         ZN ed•¦  «        dÑdÎd–„¦   «         ZO ed—¦  «        dÎd˜„¦   «         ZP ed™¦  «        dÎdš„¦   «         ZQ ed›¦  «        dÎdœ„¦   «         ZR ed�¦  «        dÎdž„¦   «         ZS edŸ¦  «        dÎd „¦   «         ZT ed¡¦  «         ed¢¦  «        dÎd£„¦   «         ¦   «         ZU ed¤¦  «         ed¥¦  «        dÎd¦„¦   «         ¦   «         ZVdÎd§„ZWdÎd¨„ZXdÎd©„ZY edª¦  «         ej         dd«d«d«d«¦  «        dÎd¬„¦   «         ¦   «         ZZ ed­¦  «        dÎd®„¦   «         Z[ ed¯¦  «         ej        dd%d%¦  «         ej         dd"d"¦  «        dÎd°„¦   «         ¦   «         ¦   «         Z\ ed±¦  «         ej         ddd«d²d¦  «        dÕd¶„¦   «         ¦   «         Z] ed·¦  «         ej         dddd"d"d"dd"d"¦	  «	        dÎd¸„¦   «         ¦   «         Z^ ed¹¦  «         ej         dddd¦  «        dÎdº„¦   «         ¦   «         Z_ ed»¦  «        dÎd¼„¦   «         Z` ed½¦  «        	 	 	 	 	 	 dÖdÎd¾„¦   «         Za ed¿¦  «        d×dÁ„¦   «         Zb edÂ¦  «        d×dÃ„¦   «         Zc edÄ¦  «        d×dÅ„¦   «         Zd edÆ¦  «        dÎdÇ„¦   «         Ze edÈ¦  «        dØdÊ„¦   «         Zf edË¦  «        dØdÌ„¦   «         ZgdS )Ùz(This file exports ONNX ops for opset 11.é    )ÚannotationsN)ÚTYPE_CHECKING)Ú_C)Ú_onnx)Ú_type_utilsÚerrorsÚsymbolic_helperÚsymbolic_opset10Úsymbolic_opset9Úutils)Ú	jit_utilsÚregistration)ÚSequence)9ÚaddÚappendÚarangeÚargsortÚ
atleast_1dÚ
atleast_2dÚ
atleast_3dÚcatÚchunkÚ	clamp_maxÚ	clamp_minÚclampÚconstant_pad_ndÚcumsumÚDeleteÚembedding_bagÚembedding_renormÚflattenÚgatherÚhardtanhÚhstackÚim2colÚ
index_fillÚindexÚ
index_copyÚ	index_putÚinsertÚ
linalg_detÚlinalg_vector_normÚlogdetÚmasked_scatterÚmasked_selectÚmmÚnarrowÚnormalÚpadÚpixel_shuffleÚpopÚprim_constant_chunkÚreflection_padÚrelu6Ú	remainderÚreplication_padÚroundÚscatterÚselectÚsizeÚsortÚsplit_with_sizesÚsplitÚsqueezeÚstackÚtopkÚunbindÚ
unique_dimÚ	unsqueezeÚvstacké   )Úopsetzaten::hardtanhTÚvÚfÚgújit_utils.GraphContextÚselfú_C.ValueÚmin_valÚfloatÚmax_valc                óˆ  — t           j                             |t           j        j        ¦  «        }|                      dt          j        ||                     ¦   «         ¬¦  «        ¬¦  «        }|                      dt          j        ||                     ¦   «         ¬¦  «        ¬¦  «        }t          j	        | d|||d¬¦  «        S )NÚConstant©Údtype©Úvalue_tÚClipé   ©Úopset_before)
r   ÚJitScalarTypeÚ
from_valueÚFLOATÚopÚtorchÚtensorrW   r	   Ú_op_with_optional_float_cast)rM   rO   rQ   rS   Úscalar_types        úc/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/torch/onnx/symbolic_opset11.pyr#   r#   `   sÆ   € õ Ô+×6Ò6Ø�kÔ'Ô-ñô €Kð �dŠdØÝ”˜W¨K×,=Ò,=Ñ,?Ô,?Ð@Ñ@Ô@ð ñ ô €Gð �dŠdØÝ”˜W¨K×,=Ò,=Ñ,?Ô,?Ð@Ñ@Ô@ð ñ ô €Gõ Ô7Ø	ˆ6�4˜ '¸ðñ ô ð ó    zaten::clampc                ó.  ‡ — ˆ fd„}t           j                             |t           j        j        ¦  «        }|t           j        j        k    r |||¦  «        } |||¦  «        }t	          j        |¦  «        rt          ‰ ||¦  «        S t	          j        |¦  «        rt          ‰ ||¦  «        S t	          j        |¦  «        dk    r2t	          j        |¦  «        dk    rt	          j	        ‰ d|||d¬¦  «        S t          ‰ t          ‰ ||¦  «        |¦  «        S )Nc                óˆ   •— | �>t          j        | ¦  «        s*‰                     d| |                     ¦   «         ¬¦  «        S | S )NÚCast©Úto_i)r	   Ú_is_nonera   Ú	onnx_type)rc   rW   rM   s     €rf   Ú_cast_if_not_nonez clamp.<locals>._cast_if_not_nonev   sN   ø€ ØÐ¥oÔ&>¸vÑ&FÔ&FÐØ—4’4ØØØ—_’_Ñ&Ô&ð ñ ô ð ð ˆMrg   r   rZ   r[   r\   )
r   r^   r_   Ú	UNDEFINEDr	   rm   r   r   Ú_get_tensor_rankrd   )rM   rO   ÚminÚmaxro   re   s   `     rf   r   r   t   s7  ø€ ðð ð ð ð õ Ô+×6Ò6Ø�kÔ'Ô1ñô €Kð •kÔ/Ô9Ò9Ð9ØÐ  [Ñ1Ô1ˆØÐ  [Ñ1Ô1ˆåÔ Ñ$Ô$ð >Ý˜˜D #Ñ&Ô&Ð&Ý	Ô	! #Ñ	&Ô	&ð >Ý˜˜D #Ñ&Ô&Ð&õ Ô,¨SÑ1Ô1°QÒ6Ð6ÝÔ0°Ñ5Ô5¸Ò:Ð:å"Ô?Ø�6˜4  c¸ðñ ô ð õ ˜Q¥	¨!¨T°3Ñ 7Ô 7¸Ñ=Ô=Ð=rg   zaten::clamp_minc                óN  — |                       d|t          j                             |¦  «                             ¦   «         ¬¦  «        }t          j        |¦  «        dk    r.t          j        | ¦  «        }t          j	        | d|||d¬¦  «        S t          j	        | d||d¬¦  «        S )Nrj   rk   r   rZ   r[   r\   ÚMax©
ra   r   r^   r_   rn   r	   rq   Úopset9Úunusedrd   )rM   rO   rr   rs   s       rf   r   r   —   ó«   € ð �$Š$ˆv�s¥Ô!:×!EÒ!EÀdÑ!KÔ!K×!UÒ!UÑ!WÔ!Wˆ$Ñ
XÔ
X€CÝÔ'¨Ñ,Ô,°Ò1Ð1ÝŒm˜AÑÔˆÝÔ;Øˆv�t˜S #°Bð
ñ 
ô 
ð 	
õ Ô;Øˆu�d˜C¨bð
ñ 
ô 
ð 	
rg   zaten::clamp_maxc                óN  — |                       d|t          j                             |¦  «                             ¦   «         ¬¦  «        }t          j        |¦  «        dk    r.t          j        | ¦  «        }t          j	        | d|||d¬¦  «        S t          j	        | d||d¬¦  «        S )Nrj   rk   r   rZ   r[   r\   ÚMinrv   )rM   rO   rs   rr   s       rf   r   r   ¦   ry   rg   zaten::relu6c                óx  — t           j                             |t           j        j        ¦  «        }|                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        }|                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        }t          | |||¦  «        S )NrU   r   rV   rX   é   )	r   r^   r_   r`   ra   rb   rc   rW   r   )rM   Úinputre   rQ   rS   s        rf   r8   r8   µ   s±   € åÔ+×6Ò6Ø�{Ô(Ô.ñô €Kð �dŠdØÝ”˜Q k×&7Ò&7Ñ&9Ô&9Ð:Ñ:Ô:ð ñ ô €Gð �dŠdØÝ”˜Q k×&7Ò&7Ñ&9Ô&9Ð:Ñ:Ô:ð ñ ô €Gõ ��E˜7 GÑ,Ô,Ð,rg   zaten::selectÚic                ó4   — |                       d|||¬¦  «        S )NÚGather©Úaxis_i©ra   )rM   rO   Údimr'   s       rf   r=   r=   Å   s   € ð
 �4Š4�˜$ ¨cˆ4Ñ2Ô2Ð2rg   zaten::index_putFc           
     ó,  ‡ ‡— t          j        |¦  «        rt          j        |¦  «        }n|g}t          j        |d¦  «        }t	          |¦  «        dk    r|S t	          |¦  «        dk    rºt          t	          |¦  «        ¦  «        D ];}t          j        ||         ¦  «        r‰                      d||         ¦  «        ||<   Œ<|d         }|dd …         D ]}t          j	        ‰ ||¦  «        }Œ‰                      d|¦  «        Šˆˆ fd„|D ¦   «         } ‰ j        dg|¢R dd	iŽ}nó|d         }|}	t          j        |	¦  «        r¨t          j
        |¦  «        }
|
�|
dk    rt          j        ‰ ||	|¦  «        S t          j
        |	¦  «        }t          j
        |¦  «        }|�9|�7||k    r1t          j        ‰ |	t          t          ||¦  «        ¦  «        ¦  «        }	t          ‰ ||	|¦  «        S ‰                      d|¦  «        Št          j        ‰ |d	g¦  «        }t          j        ‰ ‰                      d|¦  «        dgt	          |¦  «        gt           j        g¬
¦  «        }‰                      d‰|d¬¦  «        }t          j
        |¦  «        }
|
�|
dk    rt          j        ‰ ||d ¦  «        }t          j        ‰ ||¦  «        }t(          j                             |t(          j        j        ¦  «        }|t(          j        j        k    r`t(          j                             |t(          j        j        ¦  «        }||k    r*‰                      d||                     ¦   «         ¬¦  «        }n|rt3          j        d|¦  «        ‚|r}‰                      d‰                      d|¦  «        t7          j        dg|                     ¦   «         ¬¦  «        ¬¦  «        }‰                      d|||¦  «        }t          ‰ ||¦  «        }n‰                      d|||¦  «        }|S )NÚbr   é   ÚNonZeroÚShapec                óh   •— g | ].}t          j        ‰t          j        ‰|‰d ¦  «        dg¦  «        ‘Œ/S )Néÿÿÿÿ)r	   Ú_unsqueeze_helperrw   Úexpand)Ú.0ÚindÚbroadcast_index_shaperM   s     €€rf   ú
<listcomp>zindex_put.<locals>.<listcomp>ã   sR   ø€ ð 
ð 
ð 
ð õ Ô-Ø•6”=  CÐ)>ÀÑEÔEÈÀtñô ð
ð 
ð 
rg   ÚConcatrƒ   rŒ   ©ÚaxesÚstartsÚendsr‚   rj   rk   z'self does not have a valid scalar type.ÚConstantOfShaperV   rX   Ú	ScatterND)r	   Ú_is_packed_listÚ_unpack_listÚ
_parse_argÚlenÚrangeÚ_is_boolra   rw   r   rq   Úmasked_fillr�   Úlistr.   Ú_slice_helperÚsysÚmaxsizerŽ   Ú_reshape_helperr   r^   r_   rp   rn   r   ÚSymbolicValueErrorrb   rc   rW   )rM   rO   Úindices_list_valueÚvaluesÚ
accumulateÚindices_listÚidx_r'   r�   Úbool_inpÚrankÚ	mask_rankÚ	self_rankÚsub_data_shapeÚvalues_shapeÚself_scalar_typeÚvalues_scalar_typeÚzerosÚresultr‘   s   `                  @rf   r)   r)   Í   sS  øø€ õ Ô&Ð'9Ñ:Ô:ð ,Ý&Ô3Ð4FÑGÔGˆˆà*Ð+ˆÝ Ô+¨J¸Ñ<Ô<€Jå
ˆ<ÑÔ˜AÒÐØˆå
ˆ<ÑÔ˜1ÒÐÝ�#˜lÑ+Ô+Ñ,Ô,ð 	Ið 	IˆDÝÔ'¨°TÔ(:Ñ;Ô;ð IØ%&§T¢T¨)°\À$Ô5GÑ%HÔ%H�˜TÑ"øØ˜Q”ˆà   Ô#ð 	.ð 	.ˆCÝ”J˜q %¨Ñ-Ô-ˆEˆEØ !§¢ W¨eÑ 4Ô 4Ðð
ð 
ð 
ð 
ð 
ð $ð	
ñ 
ô 
ˆð �”�XÐ8 Ð8Ð8Ð8°RÐ8Ð8ˆˆðP ˜Q”ˆØˆÝÔ# HÑ-Ô-ð 	=Ý"Ô3°FÑ;Ô;ˆDØÐ D¨A¢I IÝÔ)¨!¨T°8¸VÑDÔDÐDÝ'Ô8¸ÑBÔBˆIÝ'Ô8¸Ñ>Ô>ˆIàÐ%ØÐ)Ø 	Ò)Ð)õ +Ô<Ø�x¥¥e¨I°yÑ&AÔ&AÑ!BÔ!Bñô �õ " ! T¨8°VÑ<Ô<Ð<Ø !§¢ W¨eÑ 4Ô 4ÐÝÔ1°!°U¸R¸DÑAÔAˆÝ$Ô2Ø	ˆ1�4Š4�˜ÑÔ a Sµ#°lÑ2CÔ2CÐ1DÍCÌKÈ=ðñ ô €Nð —4’4˜Ð"7¸ÐPQ�4ÑRÔR€LåÔ+¨FÑ3Ô3€DØÐ˜D AšI˜IÝ”˜q &¨,¸Ñ=Ô=ˆÝÔ,¨Q°¸ÑEÔE€Få"Ô0×;Ò;Ø�kÔ'Ô1ñô Ðð �;Ô4Ô>Ò>Ð>Ý(Ô6×AÒAØ•KÔ-Ô7ñ
ô 
Ðð Ð1Ò1Ð1Ø—T’T˜& &Ð/?×/IÒ/IÑ/KÔ/K�TÑLÔLˆFøØ	ð YÝÔ'Ð(QÐSWÑXÔXÐXàð 	8Ø—’ØØ�DŠD�˜$ÑÔÝ”L ! Ð,<×,BÒ,BÑ,DÔ,DÐEÑEÔEð ñ 
ô 
ˆð
 —’�k 5¨%°Ñ8Ô8ˆÝ�Q˜˜fÑ%Ô%ˆˆà—’�k 4¨°Ñ7Ô7ˆà€Mrg   zaten::pixel_shufflec                ó–   — t          j        |¦  «        }|�|dk    rt          j        dd¦  «        S |                      d||d¬¦  «        S )Né   r4   zonly support 4d inputÚDepthToSpaceÚCRD)Úblocksize_iÚmode_s)r	   rq   Ú_unimplementedra   )rM   rO   Úupscale_factorr­   s       rf   r4   r4   I  sP   € õ Ô+¨DÑ1Ô1€DØÐ˜D AšI˜IÝÔ-¨oÐ?VÑWÔWÐWØ�4Š4� °.Èˆ4ÑOÔOÐOrg   zaten::upsample_nearest1dÚupsample_nearest1dé   Únearest)Údecoratezaten::upsample_nearest2dÚupsample_nearest2dr·   zaten::upsample_nearest3dÚupsample_nearest3dé   zaten::upsample_linear1dÚupsample_linear1dÚlinearzaten::upsample_bilinear2dÚupsample_bilinear2dzaten::upsample_trilinear3dÚupsample_trilinear3dzaten::upsample_bicubic2dÚupsample_bicubic2dÚcubicÚnameÚstrr…   ÚintÚinterpolate_modec                ó.   — t          j        | ||¦  «        S ©N)r	   Ú_interpolate_helper)rË   r…   rÎ   s      rf   Ú_interpolaterÒ   R  s   € õ: Ô.¨t°SÐ:JÑKÔKÐKrg   zaten::__interpolatec           	     ó6   — t          j        | ||||||¦  «        S rÐ   )r	   Ú__interpolate_helper)rM   r~   r>   Úscale_factorÚmodeÚalign_cornersÚrecompute_scale_factorÚ	antialiass           rf   Ú__interpolaterÚ   r  s)   € õ Ô/Ø	ˆ5�$˜ d¨MÐ;Qñô ð rg   zaten::gatherc                óˆ   — t          j        |d¦  «        rt          j        dd¦  «        S |                      d|||¬¦  «        S )Nr   r"   zsparse_grad == TrueÚGatherElementsr‚   )r	   Ú_maybe_get_constr¼   ra   )rM   rO   r…   r'   Úsparse_grads        rf   r"   r"   ƒ  sI   € õ Ô'¨°SÑ9Ô9ð OÝÔ-¨hÐ8MÑNÔNÐNØ�4Š4Ð  $¨°cˆ4Ñ:Ô:Ð:rg   zaten::scatterc           
     óô  — t           j                             |¦  «        }t          j        |¦  «        }t          j        |¦  «        r|                      d||||¬¦  «        S t           j                             |¦  «        |k    rG|                      d|t           j                             |¦  «                             ¦   «         ¬¦  «        }|                      d||t          j	        | ||¦  «        |¬¦  «        S )NÚScatterElementsr‚   rj   rk   )
r   r^   r_   r	   Ú_maybe_get_scalarÚ	_is_valuera   rn   rw   Ú	expand_as)rM   rO   r…   r'   ÚsrcÚsrc_types         rf   r<   r<   ‹  sî   € õ Ô(×3Ò3°CÑ8Ô8€HÝ
Ô
+¨CÑ
0Ô
0€CÝÔ  Ñ%Ô%ð 
Ø�tŠtÐ% t¨U°CÀˆtÑDÔDÐDõ Ô$×/Ò/°Ñ5Ô5¸ÒAÐAØ—$’$ØØÝ Ô.×9Ò9¸$Ñ?Ô?×IÒIÑKÔKð ñ ô ˆCð
 �tŠtØ˜t U­FÔ,<¸QÀÀUÑ,KÔ,KÐTWð ñ 
ô 
ð 	
rg   zaten::cumsumÚnonec                ó   — |                       dt          j        |t          j        ¬¦  «        ¬¦  «        }|r}|                     ¦   «                              ¦   «         dk    rSt          j        |dd¦  «        }|                       d|t          j	        |¦  «         
                    ¦   «         ¬¦  «        }n|}|                       d	||¦  «        }|S )
NrU   rV   rX   zprim::Constantr   rW   rj   rk   ÚCumSum)ra   rb   rc   rÍ   ÚnodeÚkindr	   Ú
_get_constr   r^   rn   )rM   rO   r…   rW   Ú
dim_tensorÚparsed_dtypeÚcastÚcsums           rf   r   r      s¾   € ð —’�j­%¬,°sÅ%Ä)Ð*LÑ*LÔ*L�ÑMÔM€JØð �—’‘”×"Ò"Ñ$Ô$Ð(8Ò8Ð8Ý&Ô1°%¸¸gÑFÔFˆØ�tŠtØ�D�{Ô8¸ÑFÔF×PÒPÑRÔRð ñ 
ô 
ˆˆð ˆØ�4Š4�˜$ 
Ñ+Ô+€DØ€Krg   zaten::masked_selectc                ó‚   — t          j        | t          j        | ||¦  «        ¦  «        }|                      d||¦  «        S )NÚGatherND)rw   Únonzerorã   ra   )rM   rO   Úmaskr'   s       rf   r/   r/   ¯  s8   € åŒN˜1�fÔ.¨q°$¸Ñ=Ô=Ñ>Ô>€EØ�4Š4�
˜D %Ñ(Ô(Ð(rg   zaten::masked_scatterc                ó¢  — t          j        | t          j        | ||¦  «        ¦  «        }t          j        | |t          j        dg¦  «        ¦  «        }t          j        | |t          j        dg¦  «        t          j        dg¦  «        t          j        | |t          j        dg¦  «        ¦  «        ¬¦  «        }|  	                    d|||¦  «        S )NrŒ   r   r”   r™   )
rw   rò   rã   r	   r¥   rb   Ú
LongTensorr¢   r>   ra   )rM   rO   ró   Úsourcer'   s        rf   r.   r.   µ  sº   € åŒN˜1�fÔ.¨q°$¸Ñ=Ô=Ñ>Ô>€Eõ Ô,¨Q°½Ô8HÈ"ÈÑ8NÔ8NÑOÔO€FÝÔ*Ø	ØÝÔ˜q˜cÑ"Ô"ÝÔ  Ñ$Ô$ÝŒ[˜˜E¥5Ô#3°Q°CÑ#8Ô#8Ñ9Ô9ðñ ô €Fð �4Š4�˜T 5¨&Ñ1Ô1Ð1rg   z	aten::lenc           
     óJ  — t          j        |¦  «        s*|                     ¦   «                              ¦   «         dk    r|                      d|¦  «        S t          | ||                      dt          j        dg¦  «        ¬¦  «        ¦  «        }t          j        | |dg¦  «        S )Nzonnx::SplitToSequenceÚSequenceLengthrU   r   rX   )	r	   Ú_is_tensor_listré   rê   ra   r>   rb   rõ   Ú_squeeze_helper)rM   rO   Úsz_0s      rf   Ú_lenrü   Æ  s‘   € õ 	Ô'¨Ñ-Ô-ð,à�9Š9‰;Œ;×ÒÑÔÐ!8Ò8Ð8à�tŠtÐ$ dÑ+Ô+Ð+Ý��4˜Ÿš˜jµ%Ô2BÀAÀ3Ñ2GÔ2G˜ÑHÔHÑIÔI€DÝÔ*¨1¨d°Q°CÑ8Ô8Ð8rg   zaten::__getitem_c                ó~   — t          j        |¦  «        r|                      d||¦  «        S ddlm}  || ||¦  «        S )NÚ
SequenceAtr   )Ú
__getitem_)r	   rù   ra   Útorch.onnx.symbolic_opset9rÿ   )rM   rO   r   Úgetitems       rf   rÿ   rÿ   Ñ  sQ   € åÔ& tÑ,Ô,ð #à�tŠt�L $¨Ñ*Ô*Ð*àDÐDÐDÐDÐDÐDàˆw�q˜$ Ñ"Ô"Ð"rg   zaten::_set_itemc                ó`   — |                       d||¦  «        }|                       d|||¦  «        S )NÚSequenceEraseÚSequenceInsertr„   )rM   Útensor_listr   rK   s       rf   Ú	_set_itemr  Ü  s0   € à—$’$�¨°QÑ7Ô7€KØ�4Š4Ð  +¨q°!Ñ4Ô4Ð4rg   zaten::appendc                ó0   — |                       d||¦  «        S ©Nr  r„   )rM   rO   rc   s      rf   r   r   â  s   € à�4Š4Ð  $¨Ñ/Ô/Ð/rg   z	aten::addc                ój  — t          j        |¦  «        r‰t          j        |¦  «        ru|                     ¦   «         }|                     ¦   «         dk    rt          j        dd¦  «        S t          j        |¦  «        }|}|D ]}|                      d||¦  «        }Œ|S t          j	        | |||¦  «        S )Nzprim::ListConstructr   z6does not support adding dynamic tensor list to anotherr  )
r	   râ   rù   ré   rê   r¼   r›   ra   rw   r   )rM   rO   ÚotherÚalphaÚtensor_list_nodeÚtensorsÚlÚts           rf   r   r   ç  sÁ   € åÔ  Ñ&Ô&ð 
­?Ô+JÈ4Ñ+PÔ+Pð 
Ø Ÿ:š:™<œ<ÐØ× Ò Ñ"Ô"Ð&;Ò;Ð;Ý"Ô1ØÐOñô ð õ "Ô.¨uÑ5Ô5ˆØˆØð 	-ð 	-ˆAØ—’Ð% q¨!Ñ,Ô,ˆAˆAØˆåŒ:�a˜˜u eÑ,Ô,Ð,rg   zaten::insertc                ó2   — |                       d|||¦  «        S r  r„   )rM   rO   Úposrc   s       rf   r*   r*   ø  s   € à�4Š4Ð  $¨°Ñ4Ô4Ð4rg   z	aten::popc                ó0   — |                       d||¦  «        S ©Nr  r„   ©rM   r  r…   s      rf   r5   r5   ý  ó   € à�4Š4� ¨cÑ2Ô2Ð2rg   zaten::Deletec                ó0   — |                       d||¦  «        S r  r„   r  s      rf   r   r     r  rg   z	aten::catc                ó²   — t          j        |¦  «        rt          j        | ||¦  «        S t          j        |dd¦  «        }|                      d||¬¦  «        S )Nr   r…   ÚConcatFromSequencer‚   )r	   rš   rw   r   rë   ra   r  s      rf   r   r     sY   € õ Ô& {Ñ3Ô3ð CÝŒz˜!˜[¨#Ñ.Ô.Ð.åÔ(¨¨c°5Ñ9Ô9ˆØ�tŠtÐ(¨+¸cˆtÑBÔBÐBrg   zaten::stackc                ó´   — t          j        |¦  «        rt          j        | ||¦  «        S t          j        |dd¦  «        }|                      d||d¬¦  «        S )Nr   r…   r  rˆ   ©rƒ   Ú
new_axis_i)r	   rš   rw   rC   rë   ra   r  s      rf   rC   rC     sY   € åÔ& {Ñ3Ô3ð QÝŒ|˜A˜{¨CÑ0Ô0Ð0åÔ(¨¨c°5Ñ9Ô9ˆØ�tŠtÐ(¨+¸cÈaˆtÑPÔPÐPrg   zaten::_unique2c                óH   — |                       d||d¬¦  «        \  }}}}|||fS )NÚUniquer·   )Úsorted_iÚoutputsr„   )	rM   rO   ÚsortedÚreturn_inverseÚreturn_countsÚuÚ_indicesÚinverse_indicesÚcountss	            rf   Ú_unique2r'    s=   € ð ,-¯4ª4Ø�$ °ð ,0ñ ,ô ,Ñ(€A€x� &ð ˆo˜vÐ%Ð%rg   zaten::unique_dimc                óJ   — |                       d|||d¬¦  «        \  }}}}	|||	fS )Nr  r·   )rƒ   r  r  r„   )
rM   rO   r…   r   r!  r"  r#  r$  r%  r&  s
             rf   rF   rF   #  s?   € ð
 ,-¯4ª4Ø�$˜s¨V¸Qð ,0ñ ,ô ,Ñ(€A€x� &ð ˆo˜vÐ%Ð%rg   z
aten::topkc           	     ó8   — t          j        | ||||||¬¦  «        S )N)Úlargestr   Úout)r	   Ú_topk_helper)rM   rO   Úkr…   r*  r   r+  s          rf   rD   rD   .  s-   € õ Ô'Ø	ˆ4��C °¸Sðñ ô ð rg   z
aten::sortc                ó4   — t          j        | ||||¬¦  «        S ©N)Ú	decendingr+  ©r	   Ú_sort_helper)rM   rO   r…   r0  r+  s        rf   r?   r?   6  s    € õ Ô'¨¨4°À	ÈsÐSÑSÔSÐSrg   zaten::argsortc                ó>   — t          j        | ||||¬¦  «        \  }}|S r/  r1  )rM   rO   r…   r0  r+  Ú_Úindicess          rf   r   r   <  s1   € õ !Ô-Ø	ˆ4� 	¨sðñ ô �J€A€wð €Nrg   zaten::roundc                óÈ  — t          j        |¦  «        s|S |dk    r|                      d|¦  «        S |                      d||                      dt          j        t          d|¦  «        ¦  «        ¬¦  «        ¦  «        }|                      d|¦  «        }|                      d||                      dt          j        t          dd|z  ¦  «        ¦  «        ¬¦  «        ¦  «        S )Nr   ÚRoundÚMulrU   é
   rX   rŒ   )r	   Ú_is_fpra   rb   rc   Úpow)rM   rO   ÚdecimalsÚmulr;   s        rf   r;   r;   E  sÊ   € õ Ô! $Ñ'Ô'ð ØˆØ�1‚}€}Ø�tŠt�G˜TÑ"Ô"Ð"Ø
�$Š$ˆu�d˜AŸDšD µU´\Å#ÀbÈ(ÑBSÔBSÑ5TÔ5T˜DÑUÔUÑ
VÔ
V€CØ�DŠD�˜#ÑÔ€EØ�4Š4Øˆu�a—d’d˜:­u¬|½CÀÀBÈÁMÑ<RÔ<RÑ/SÔ/S�dÑTÔTñô ð rg   zaten::remainderc                ó°   — t          j        |¦  «        st          j        |¦  «        rt          j        | ||¦  «        S |                      d||d¬¦  «        S )NÚModr   )Úfmod_i)r	   r:  rw   r9   ra   )rM   r~   r
  s      rf   r9   r9   S  sV   € åÔ˜eÑ$Ô$ð 1­Ô(>¸uÑ(EÔ(Eð 1ÝÔ  5¨%Ñ0Ô0Ð0Ø�4Š4��u˜e¨Aˆ4Ñ.Ô.Ð.rg   zaten::splitc           
     ó"  ‡ ‡— t          j        ||¦  «        �s`‰                      d|||¬¦  «        Š|€‰S t          j        |¦  «        �rt	          t          j        |¦  «        ¦  «        |k    ríˆ fd„t          j        |¦  «        D ¦   «         }‰                      dt          j        dgt          j        ¬¦  «        ¬¦  «        }‰                      dt          j        |gt          j        ¬¦  «        ¬¦  «        }g }t          |¦  «        D ]M}	‰                      d|||	         ¦  «        }
| 
                    ‰                      d	|||
|¦  «        ¦  «         |
}ŒN|S ˆ ˆfd
„t          |¦  «        D ¦   «         S t          j        ‰ ||||¦  «        S )NÚSplitToSequencer‚   c                ó>   •— g | ]}t          j        ‰|d g¦  «        ‘ŒS ©r   )r	   r�   )r�   rK   rM   s     €rf   r’   zsplit.<locals>.<listcomp>f  s:   ø€ ð ð ð àõ  Ô1°!°Q¸¸Ñ<Ô<ðð ð rg   rU   r   rV   rX   ÚAddÚSlicec                ó¦   •— g | ]M}‰                      d ‰‰                      dt          j        |gt          j        ¬¦  «        ¬¦  «        ¦  «        ‘ŒNS )rþ   rU   rV   rX   )ra   rb   rc   Úlong)r�   r   rM   Ú	split_outs     €€rf   r’   zsplit.<locals>.<listcomp>t  se   ø€ ð 
ð 
ð 
ð ð �DŠDØØØ—’�Z­¬°q°cÅÄÐ)LÑ)LÔ)L�ÑMÔMñô ð
ð 
ð 
rg   )r	   Ú_is_split_staticra   rš   r�   r›   rb   rc   rH  rž   r   rw   rA   )rM   rO   Úsplit_size_or_sizesr…   Ú_outputsÚsplit_sizesÚstartÚaxisÚresr   ÚendrI  s   `          @rf   rA   rA   Z  s¾  øø€ õ Ô+Ð,?ÀÑJÔJñ  IØ—D’DÐ*¨DÐ2EÈc�DÑRÔRˆ	ØÐØÐõ Ô+Ð,?Ñ@Ô@ñ	å•OÔ0Ð1DÑEÔEÑFÔFÈ(ÒRÐRðð ð ð å(Ô5Ð6IÑJÔJðñ ô ˆKð —D’D˜­U¬\¸1¸#ÅUÄZÐ-PÑ-PÔ-P�DÑQÔQˆEØ—4’4˜
­E¬L¸#¸ÅeÄjÐ,QÑ,QÔ,Q�4ÑRÔRˆDØˆCÝ˜8‘_”_ð ð �Ø—d’dØ˜5 +¨a¤.ñô �ð —
’
˜1Ÿ4š4 ¨¨u°c¸4Ñ@Ô@ÑAÔAÐAØ��ØˆJð
ð 
ð 
ð 
ð 
õ ˜8‘_”_ð
ñ 
ô 
ð 	
õ Œ|˜A˜tÐ%8¸#¸xÑHÔHÐHrg   zaten::split_with_sizesc                ó(   — t          | ||||¦  «        S rÐ   )rA   )rM   rO   rM  r…   rL  s        rf   r@   r@   €  s   € õ ��D˜+ s¨HÑ5Ô5Ð5rg   zaten::unbindc                óÎ   — |€M|                       d||                       dt          j        dt          j        ¬¦  «        ¬¦  «        |d¬¦  «        S t	          j        | |||¦  «        S )NrB  rU   rˆ   rV   rX   r   )rƒ   Ú
keepdims_i)ra   rb   rc   rH  rw   rE   )rM   rO   r…   rL  s       rf   rE   rE   †  sm   € ð ÐØ�tŠtØØØ�DŠD�¥U¤\°!½5¼:Ð%FÑ%FÔ%FˆDÑGÔGØØð ñ 
ô 
ð 	
õ Œ}˜Q  c¨8Ñ4Ô4Ð4rg   c                óf  — t          j        |¦  «        sAt          j        |¦  «        r-t          j        |¦  «        r|                      d|dd¬¦  «        }t          j        | ||                      dt          j        dg¦  «        ¬¦  «        ¦  «        }t          j	        |¦  «        }|€+|                      d|                      d	|¦  «        ¦  «        }n5|                      dt          j        |t          j
        ¬
¦  «        ¬¦  «        }|                      d|                      d||                      dt          j        dt          j
        ¬
¦  «        ¬¦  «        ¦  «        |¦  «        }|                      d|t          j        j        ¬¦  «        }|                      d||                      d|t          j        dgt          j
        ¬
¦  «        ¬¦  «        d¬¦  «        }t          j        | ||                      dt          j        ddg¦  «        ¬¦  «        ¦  «        }|                      dt          j        | |dg¦  «        ddg¬¦  «        }t          j        | ||                      dt          j        dg¦  «        ¬¦  «        ¦  «        }|                      d|t          j        j        ¬¦  «        }|S )a!  Generate paddings in ONNX order based on pad in pytorch.

    Args:
        input: the input tensor.
        pad: the paddings in pytorch.
            The order is dim_n_begin, dim_n_end, dim_n-1_begin, dim_n-1_end, ..., dim_m_begin, dim_m_end,
            where m is in range [0, n].
    r  r   rˆ   r  rU   rX   NÚSizerŠ   rV   ÚSubr8  é   rj   rk   r“   r˜   r‚   rŒ   Ú	Transpose©Úperm_i)r	   rš   Ú_is_listÚ_is_scalar_listra   rw   r>   rb   rc   rq   Úint64Ú_C_onnxÚTensorProtoDataTypeÚINT64r¥   Úopset10Úflip)rM   r~   r3   Úpad_lenr­   Ú	extensionÚpaddingsÚ	padding_cs           rf   Ú_prepare_onnx_paddingsrh  •  sl  € õ Ô+¨CÑ0Ô0ðFåÔ$ SÑ)Ô)ðFõ Ô+¨CÑ0Ô0ðFð
 �dŠdÐ'¨°QÀ1ˆdÑEÔEˆõ
 Œk˜!˜S !§$¢$ z½5¼<ÈÈÑ;LÔ;L $Ñ"MÔ"MÑNÔN€GåÔ+¨EÑ2Ô2€DØ€|Ø�tŠt�F˜AŸDšD ¨%Ñ0Ô0Ñ1Ô1ˆˆà�tŠt�J­¬°TÅÄÐ(MÑ(MÔ(MˆtÑNÔNˆØ—’ØØ	�ŠˆU�D˜!Ÿ$š$˜zµ5´<ÀÍÌÐ3UÑ3UÔ3U˜$ÑVÔVÑWÔWØñô €Ið �$Š$ˆv�s¥Ô!<Ô!Bˆ$Ñ
CÔ
C€CØ�tŠtØØØ	�ŠØ˜yµ%´,À¸sÍ%Ì+Ð2VÑ2VÔ2Vð 	ñ 	
ô 	
ð ð ñ ô €Hõ Ô.Ø	ˆ8�Q—T’T˜*­e¬l¸BÀ¸7Ñ.CÔ.C�TÑDÔDñô €Hð �tŠt�K¥¤¨a°¸A¸3Ñ!?Ô!?ÈÈAÈˆtÑOÔO€HÝÔ.Ø	ˆ8�Q—T’T˜*­e¬l¸B¸4Ñ.@Ô.@�TÑAÔAñô €Hð —’�V˜X­GÔ,GÔ,M�ÑNÔN€IØÐrg   zaten::constant_pad_ndc                ó®   — d}t          j        |¦  «        }t          j        ||¦  «        }t          | ||¦  «        }|                      d||||¬¦  «        S )NÚconstantÚPad©r»   )r	   rá   Ú_if_scalar_type_asrh  ra   )rM   r~   ÚpaddingÚvaluerÖ   r3   s         rf   r   r   Î  sV   € à€DÝÔ-¨eÑ4Ô4€EÝÔ.¨u°eÑ<Ô<€EÝ
   E¨7Ñ
3Ô
3€CØ�4Š4��u˜c 5°ˆ4Ñ6Ô6Ð6rg   zaten::reflection_pad1dzaten::reflection_pad2dzaten::reflection_pad3dc                óZ   — d}t          | ||¦  «        }|                      d|||¬¦  «        S )NÚreflectrk  rl  ©rh  ra   ©rM   r~   rn  rÖ   rf  s        rf   r7   r7   ×  s4   € ð €DÝ% a¨°Ñ8Ô8€HØ�4Š4��u˜h¨tˆ4Ñ4Ô4Ð4rg   zaten::replication_pad1dzaten::replication_pad2dzaten::replication_pad3dc                óZ   — d}t          | ||¦  «        }|                      d|||¬¦  «        S )NÚedgerk  rl  rr  rs  s        rf   r:   r:   à  s4   € ð €DÝ% a¨°Ñ8Ô8€HØ�4Š4��u˜h¨tˆ4Ñ4Ô4Ð4rg   z	aten::padr~   r3   rÖ   ro  c                ó   — t          j        |d¦  «        }|dk    rt          | ||¦  «        S |dk    rt          | ||¦  «        S |dk    rt	          | |||¦  «        S |dk    rt          j        | ||¦  «        S t          j        d|› �|¦  «        ‚)NÚsÚ	replicaterq  rj  ÚcircularzUnrecognized padding mode )	r	   rœ   r:   r7   r   rw   Ú_pad_circularr   r¦   )rM   r~   r3   rÖ   ro  s        rf   r3   r3   é  s«   € õ Ô% d¨CÑ0Ô0€DØˆ{ÒÐÝ˜q %¨Ñ-Ô-Ð-Ø	�Ò	Ð	Ý˜a ¨Ñ,Ô,Ð,Ø	�Ò	Ð	Ý˜q %¨¨eÑ4Ô4Ð4Ø	�Ò	Ð	ÝÔ# A u¨cÑ2Ô2Ð2åÔ'Ð(KÀTÐ(KÐ(KÈUÑSÔSÐSrg   zaten::linalg_detc                ó.   — |                       d|¦  «        S )NÚDetr„   )rM   rO   s     rf   r+   r+   þ  s   € à�4Š4��tÑÔÐrg   zaten::logdetc                óH   — t          j        | t          | |¦  «        ¦  «        S rÐ   )rw   Úlogr+   )rM   r~   s     rf   r-   r-     s   € åŒ:�a� A uÑ-Ô-Ñ.Ô.Ð.rg   úaten::arangec                ó~  — d„ }t          |¦  «        dk    rÊt          d„ |D ¦   «         ¦  «        r±t          j        }|                      dt          j        |d         |¬¦  «        ¬¦  «        }|                      dt          j        |d         |¬¦  «        ¬¦  «        }|                      dt          j        d|¬¦  «        ¬¦  «        }|                      d	|||¦  «        S t          |¦  «        dk    st          |¦  «        d
k    rÛt          |¦  «        dk    rd }n ||d         ¦  «        }t          j        | |d         |¬¦  «        \  }}}}|                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        }	|                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        }|                      d	|	||¦  «        S t          |¦  «        dk    st          |¦  «        dk    rot          |¦  «        dk    rd }n ||d         ¦  «        }t          j        | |d         |d         |d         |¬¦  «        \  }
}}}|                      d	|||¦  «        S t          |¦  «        dk    r� ||d         ¦  «        }t          j        | |d         |d         |¬¦  «        \  }}}}|                      dt          j        d|                     ¦   «         ¬¦  «        ¬¦  «        }|                      d	|||¦  «        S t          j	        ddt          |¦  «        › d�¦  «        S )Nc                ó0   — t          j        | d¦  «        } | S )Nr   )r	   rÝ   rV   s    rf   Ú_get_arange_dtypez!arange.<locals>._get_arange_dtype
  s   € ÝÔ0°¸Ñ<Ô<ˆØˆrg   rX  c              3  ó@   K  — | ]}t          |t          ¦  «        V — Œd S rÐ   )Ú
isinstancerÍ   )r�   Úvals     rf   ú	<genexpr>zarange.<locals>.<genexpr>  s,   è è € ÐCÐC°s�j¨­cÑ2Ô2ÐCÐCÐCÐCÐCÐCrg   rU   r   rV   rX   rˆ   ÚRangerÄ   )rQ  rW   r·   é   r¿   )rN  rQ  ÚsteprW   r}   )rN  rQ  rW   r  zwith z
 arguments)
r�   Úallrb   r^  ra   rc   r	   Ú_arange_cast_helperrW   r¼   )rM   Úargsr‚  rW   rN  rQ  Údelta_defaultÚtype_r‰  Ústart_defaultr4  s              rf   r   r     sX  € ðð ð õ ˆ4�y„y�A‚~€~�#ÐCÐC¸dÐCÑCÔCÑCÔC€~å”ˆà—’ØÝ”L  a¤°Ð6Ñ6Ô6ð ñ 
ô 
ˆð
 �dŠdØÝ”L  a¤°Ð6Ñ6Ô6ð ñ 
ô 
ˆð
 ŸšØÝ”L ¨%Ð0Ñ0Ô0ð ñ 
ô 
ˆð �tŠt�G˜U C¨Ñ7Ô7Ð7Ý	ˆT‰Œ�aŠˆ�3˜t™9œ9¨š>˜>Ýˆt‰9Œ9˜Š>ˆ>àˆEˆEð &Ð% d¨1¤gÑ.Ô.ˆEÝ"1Ô"EØ�4˜”7 %ð#
ñ #
ô #
Ñˆˆs�E˜4ð ŸšØÝ”L ¨%¯+ª+©-¬-Ð8Ñ8Ô8ð ñ 
ô 
ˆð ŸšØÝ”L ¨%¯+ª+©-¬-Ð8Ñ8Ô8ð ñ 
ô 
ˆð �tŠt�G˜]¨C°Ñ?Ô?Ð?Ý	ˆT‰Œ�aŠˆ�3˜t™9œ9¨š>˜>Ýˆt‰9Œ9˜Š>ˆ>àˆEˆEð &Ð% d¨1¤gÑ.Ô.ˆEÝ-ÔAØ�T˜!”W $ q¤'°°Q´¸uð
ñ 
ô 
Ñˆˆ3��tð �tŠt�G˜U C¨Ñ.Ô.Ð.Ý	ˆT‰Œ�aŠˆà!Ð! $ q¤'Ñ*Ô*ˆÝ"1Ô"EØ�T˜!”W $ q¤'°ð#
ñ #
ô #
Ñˆˆs�E˜4ð ŸšØÝ”L ¨%¯+ª+©-¬-Ð8Ñ8Ô8ð ñ 
ô 
ˆð �tŠt�G˜U C¨Ñ7Ô7Ð7åÔ-ØÐ9¥C¨¡I¤IÐ9Ð9Ð9ñ
ô 
ð 	
rg   zaten::_dim_arangec           
     óÖ   — |                       d|¦  «        }|                       d||                       dt          j        |¦  «        ¬¦  «        d¬¦  «        }t          | |dd d d ¦  «        S )NrŠ   r�   rU   rX   r   r‚   r·   )ra   rb   rc   r   )rM   Úliker…   Ú
like_shapeÚstops        rf   Ú_dim_aranger”  P  sm   € ð —’�g˜tÑ$Ô$€JØ�4Š4Ø�*˜aŸdšd :µu´|ÀCÑ7HÔ7H˜dÑIÔIÐRSð ñ ô €Dõ �!�T˜1˜d D¨$Ñ/Ô/Ð/rg   z
aten::size)Úquantize_outputc                ó^   — |€|                       d|¦  «        S t          j        | ||¦  «        S )NrŠ   )ra   r	   Ú_size_helper©rM   rO   r…   s      rf   r>   r>   Z  s2   € ð €{Ø�tŠt�G˜TÑ"Ô"Ð"ÝÔ'¨¨4°Ñ5Ô5Ð5rg   zaten::squeezec                ó  — |€|                       d|¦  «        S t          j        |¦  «        st          j        | ||g¦  «        S t          j        |dd¦  «        }t          j        |¦  «        }|}|�|dk     r||z  }t          j        ||¦  «        }|dk     r|�|�€|                       dt          j        |g¦  «        ¬¦  «        }t          j	        | ||¦  «        }|                       dt          j
        dt          j        ¬¦  «        ¬¦  «        }|                       d	||¦  «        }	t          j        | d
|	d¬¦  «        \  }
\  }}}t          j        |||g¦  «        }t          j        |j        |¦  «         |                      d|¦  «        }t          j        |j        |¦  «         |
S |}|dk    rEt#          j        dt'          |¦  «        z   dz   dz   t'          |¦  «        z   dz   dz   dz   ¦  «         |S t          j        | ||g¦  «        S )NÚSqueezer   r…   r   rU   rX   rˆ   rV   ÚEqualÚIfrX  )Ún_blocksÚIdentityz5This model contains a squeeze operation on dimension z. The size of z%this dimension in the given input is z. The model will zWbe exported without the squeeze node. If the model is intended to be used with dynamic z7input shapes, please export with dynamic_axes argument.)ra   r	   Ú_is_constantrú   rë   rq   Ú_get_tensor_dim_sizerb   rc   r—  Úonesr^  r   Úadd_op_with_blocksr   Ú_add_output_to_blockÚblockÚwarningsÚwarnrÌ   )rM   rO   r…   Ú
input_rankÚadjusted_dimÚdim_sizeÚdim_constantr>   Ú	const_oneÚcondÚif_opÚ
if_contextÚelse_contextr4  Úsqueeze_Ú	identity_s                   rf   rB   rB   b  s>  € à
€{Ø�tŠt�I˜tÑ$Ô$Ð$õ Ô'¨Ñ,Ô,ð ?ÝÔ.¨q°$¸¸Ñ>Ô>Ð>å
Ô
$ S¨#¨uÑ
5Ô
5€Cå Ô1°$Ñ7Ô7€JØ€LØÐ #¨¢' 'Ø˜
Ñ"ˆÝÔ3°D¸,ÑGÔG€HØˆaŠˆ�JÐ&¨8Ñ+;ð —t’t˜Jµ´¸c¸UÑ0CÔ0C�tÑDÔDˆÝÔ+¨A¨t°\ÑBÔBˆØ—D’D˜­U¬Z¸ÅÄÐ-MÑ-MÔ-M�DÑNÔNˆ	Ø�tŠt�G˜T 9Ñ-Ô-ˆå/8Ô/KØˆt�T Að0
ñ 0
ô 0
Ñ,ˆÑ)�
˜L¨1õ #Ô2°:¸tÀcÀUÑKÔKˆÝÔ" :Ô#3°XÑ>Ô>Ð>Ø —O’O J°Ñ5Ô5ˆ	ÝÔ" <Ô#5°yÑAÔAÐAØˆð €CØ�!‚|€|ÝŒØCÝ�#‰hŒhñàñð 6ñ6õ �(‰mŒmñ	ð
 "ñ"ð hñhð HñHñ		
ô 		
ð 		
ð ˆÝÔ*¨1¨d°S°EÑ:Ô:Ð:rg   zaten::unsqueezec                ó„   — t          j        |¦  «        rt          j        |dd¦  «        }t          j        | ||g¦  «        S )Nr   r…   )r	   rŸ  rë   r�   r˜  s      rf   rG   rG   •  s@   € åÔ# CÑ(Ô(ð :ÝÔ(¨¨c°5Ñ9Ô9ˆåÔ,¨Q°°s°eÑ<Ô<Ð<rg   zaten::mmc                ó6   — |                       d||dd¬¦  «        S )NÚGemmg        g      ð?)Úbeta_fÚalpha_fr„   )rM   rO   r
  s      rf   r0   r0   �  s   € à�4Š4�˜˜e¨C¸ˆ4Ñ=Ô=Ð=rg   zaten::indexc                óÈ  — t          j        |¦  «        rt          j        |¦  «        }n|g}t          |¦  «        dk    rŽ|d         }t          j        |¦  «        srt          j        |¦  «        s2t          j                             |¦  «        t          j        j	        k    r,t          j        | |¦  «        }|                      d||¦  «        S t          j        | ||¦  «        S )Nrˆ   r   rñ   )r	   rš   r›   r�   rm   rŸ   r   r^   r_   ÚUINT8rw   rò   ra   r'   )rM   rO   r'   r5  s       rf   r'   r'   ¢  sÔ   € åÔ& uÑ-Ô-ð Ý!Ô.¨uÑ5Ô5ˆˆà�'ˆõ ˆ7�|„|�qÒÐØ˜”
ˆÝÔ'¨Ñ.Ô.ð 	1ÝÔ$ UÑ+Ô+ð	1åÔ(×3Ò3°EÑ:Ô:ÝÔ(Ô.ò/ð /õ ”N 1 eÑ,Ô,ˆEØ—4’4˜
 D¨%Ñ0Ô0Ð0ÝŒ<˜˜4 Ñ'Ô'Ð'rg   zaten::index_fillc                óÜ   — t          j        | |||¦  «        \  }}t          j        |¦  «        }t          j        ||¦  «        }t	          j        | ||d ¦  «        }t          | ||||¦  «        S rÐ   )r	   Ú_index_fill_reshape_helperrá   rm  rw   rŽ   r<   )rM   rO   r…   r'   ro  Úexpanded_index_shapeÚexpanded_indexÚexpanded_values           rf   r&   r&   ¶  ss   € å+:Ô+UØ	ˆ4��eñ,ô ,Ñ(Ð˜.õ Ô-¨eÑ4Ô4€EÝÔ.¨u°dÑ;Ô;€EÝ”] 1 eÐ-AÀ4ÑHÔH€NÝ�1�d˜C °Ñ@Ô@Ð@rg   zaten::index_copyc                ó\   — t          j        | |||¦  «        \  }}t          | ||||¦  «        S rÐ   )r	   rº  r<   )rM   rO   r…   r'   rö   Ú_expanded_index_shaper¼  s          rf   r(   r(   Á  s;   € å,;Ô,VØ	ˆ4��eñ-ô -Ñ)Ð˜>õ �1�d˜C °Ñ8Ô8Ð8rg   zaten::bitwise_right_shiftzaten::__rshift_c                ó´  — t           j                             |t           j        j        ¦  «        t           j                             |¦  «        k    rG|                      d|t           j                             |¦  «                             ¦   «         ¬¦  «        }t           j                             |t           j        j        ¦  «        t           j        j        k    r|                      d||d¬¦  «        S |                      dt          j        dt          j	        ¬¦  «        ¬	¦  «        }t          j        |¦  «        s'|                      d|t          j        j        ¬¦  «        }|                      d
||¦  «        }|                      d|t           j                             |¦  «                             ¦   «         ¬¦  «        }|                      d||¦  «        }|S )Nrj   rk   ÚBitShiftÚRIGHT©Údirection_srU   rX  rV   rX   ÚPowÚDiv©r   r^   r_   rp   ra   rn   r¸  rb   rc   Úfloat32r	   r:  r_  r`  r`   )rM   rO   r
  ÚtwoÚtwo_powÚrshifts         rf   Ú	__rshift_rÌ  É  s–  € õ
 Ô ×+Ò+Ø�{Ô(Ô2ñô å	Ô	"×	-Ò	-¨dÑ	3Ô	3ò4ð 4ð —’ØØÝÔ*×5Ò5°dÑ;Ô;×EÒEÑGÔGð ñ 
ô 
ˆõ 	Ô!×,Ò,¨Tµ;Ô3LÔ3VÑWÔWÝÔ$Ô*ò	+ð 	+ð �tŠt�J  e¸ˆtÑAÔAÐAà
�$Š$ˆz¥5¤<°½¼Ð#GÑ#GÔ#Gˆ$Ñ
HÔ
H€CåÔ! $Ñ'Ô'ð LØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ�dŠd�5˜#˜uÑ%Ô%€GØ�dŠdØØÝÔ&×1Ò1°$Ñ7Ô7×AÒAÑCÔCð ñ ô €Gð
 �TŠT�%˜˜wÑ'Ô'€FØ€Mrg   zaten::bitwise_left_shiftzaten::__lshift_c                ó´  — t           j                             |t           j        j        ¦  «        t           j                             |¦  «        k    rG|                      d|t           j                             |¦  «                             ¦   «         ¬¦  «        }t           j                             |t           j        j        ¦  «        t           j        j        k    r|                      d||d¬¦  «        S |                      dt          j        dt          j	        ¬¦  «        ¬	¦  «        }t          j        |¦  «        s'|                      d|t          j        j        ¬¦  «        }|                      d
||¦  «        }|                      d|t           j                             |¦  «                             ¦   «         ¬¦  «        }|                      d||¦  «        }|S )Nrj   rk   rÁ  ÚLEFTrÃ  rU   rX  rV   rX   rÅ  r8  rÇ  )rM   rO   r
  rÉ  rÊ  Úlshifts         rf   Ú	__lshift_rÐ  ë  s–  € õ
 Ô ×+Ò+Ø�{Ô(Ô2ñô å	Ô	"×	-Ò	-¨dÑ	3Ô	3ò4ð 4ð —’ØØÝÔ*×5Ò5°dÑ;Ô;×EÒEÑGÔGð ñ 
ô 
ˆõ 	Ô!×,Ò,¨Tµ;Ô3LÔ3VÑWÔWÝÔ$Ô*ò	+ð 	+ð �tŠt�J  e¸ˆtÑ@Ô@Ð@à
�$Š$ˆz¥5¤<°½¼Ð#GÑ#GÔ#Gˆ$Ñ
HÔ
H€CåÔ! $Ñ'Ô'ð LØ—’�V˜U­Ô)DÔ)J�ÑKÔKˆØ�dŠd�5˜#˜uÑ%Ô%€GØ�dŠdØØÝÔ&×1Ò1°$Ñ7Ô7×AÒAÑCÔCð ñ ô €Gð
 �TŠT�%˜˜wÑ'Ô'€FØ€Mrg   c                ó<  — |                       d||                       dt          j        |dz  ¦  «        ¬¦  «        ¦  «        }|                       d||                       dt          j        ||dz
  z  ¦  «        ¬¦  «        ¦  «        }|                       d|                       dt          j        d¦  «        ¬¦  «        ||                       dt          j        |¦  «        ¬¦  «        ¦  «        }t          j        d||z  |¦  «        }|                       d|                     d¦  «        ¬¦  «        }t          j        | |dg¦  «        }t          j        | ||                       dt          j        d	dg¦  «        ¬¦  «        ¦  «        }	|                       d||	¦  «        }
|
S )
NrE  rU   rX  rX   rW  rˆ   r‡  r   rŒ   )ra   rb   rc   r   rG   r	   r�   r¥   )rM   Úinput_dÚkernel_size_dÚ
dilation_dÚ	padding_dÚstride_dÚblocks_dÚblocks_d_indicesÚkernel_gridÚkernel_maskÚ
block_masks              rf   Ú_get_im2col_indices_along_dimrÜ    s…  € ð �tŠtØˆw˜Ÿš˜Zµ´¸iÈ!¹mÑ1LÔ1L˜ÑMÔMñô €Hð �tŠtØØØ	�ŠˆZ¥¤¨j¸MÈAÑ<MÑ.NÑ!OÔ!OˆÑPÔPñô €Hð —t’tØØ	�ŠˆZ¥¤¨a¡¤ˆÑ1Ô1ØØ	�ŠˆZ¥¤¨hÑ!7Ô!7ˆÑ8Ô8ñ	ô Ðõ ”,˜q -°*Ñ"<¸jÑIÔI€KØ—$’$�z¨;×+@Ò+@ÀÑ+CÔ+C�$ÑDÔD€Kõ 'Ô8Ø	Ð˜a˜Sñô Ðõ "Ô1Ø	ˆ;˜Ÿš˜Zµ´¸rÀ1¸gÑ1FÔ1F˜ÑGÔGñô €Kð —’�eÐ-¨{Ñ;Ô;€JàÐrg   c           	     ó�   — |                       dt          j        dd||gdz  ¦  «        ¬¦  «        }|                       d||¦  «        S )NrU   r   rX  rX   rk  )ra   rb   rõ   )rM   r~   Ú	padding_hÚ	padding_wr3   s        rf   Ú_get_im2col_padded_inputrà  8  sI   € ð �$Š$ˆz¥5Ô#3°Q¸¸9ÀiÐ4PÐSTÑ4TÑ#UÔ#Uˆ$Ñ
VÔ
V€CØ�4Š4��u˜cÑ"Ô"Ð"rg   c                ó<  — t          | ||                      dt          j        d¦  «        ¬¦  «        ¦  «        }t          | ||                      dt          j        d¦  «        ¬¦  «        ¦  «        }|                      d||                      dt          j        ||z  ¦  «        ¬¦  «        ¦  «        }|                      dt	          j        | |dg¦  «        t	          j        | |dg¦  «        |                      dt          j        dg¦  «        ¬¦  «        d¬¦  «        S )	NrU   r   rX   rˆ   r8  r“   rŒ   r‚   )r>   ra   rb   rc   r	   r�   )rM   r~   Úkernel_hÚkernel_wÚ	batch_dimÚchannel_dimÚchannel_unfoldeds          rf   Ú_get_im2col_output_shaperç  @  sù   € Ý�Q˜˜qŸtšt J½¼ÀQ¹¼˜tÑHÔHÑIÔI€IÝ�q˜% §¢ j½%¼,Àq¹/¼/ Ñ!JÔ!JÑKÔK€KØ—t’tØˆ{˜AŸDšD µU´\À(ÈXÑBUÑ5VÔ5V˜DÑWÔWñô Ðð �4Š4ØÝÔ)¨!¨Y¸¸Ñ<Ô<ÝÔ)¨!Ð-=À¸sÑCÔCØ	�ŠˆZ¥¤¨r¨dÑ!3Ô!3ˆÑ4Ô4Øð ñ ô ð rg   zaten::im2colÚisc           
     ó¾  — t          | ||                      dt          j        d¦  «        ¬¦  «        ¦  «        }t          | ||                      dt          j        d¦  «        ¬¦  «        ¦  «        }|d         |d         }	}|d         |d         }}
|d         |d         }}|d         |d         }}t	          | ||||
|¦  «        }t	          | |||||	¦  «        }t          | |||¦  «        }t          | ||
|¦  «        }|                      d||d¬¦  «        }|                      d||d	¬¦  «        }|                      d
|g d¢¬¦  «        }t          j        | ||¦  «        S )NrU   rX  rX   r¿   r   rˆ   r�   r‚   r·   rY  )r   rˆ   rX  r·   r¿   rÄ   rZ  )	r>   ra   rb   rc   rÜ  rç  rà  r	   r¥   )rM   r~   Úkernel_sizeÚdilationrn  ÚstrideÚinput_hÚinput_wÚstride_hÚstride_wrÞ  rß  Ú
dilation_hÚ
dilation_wrâ  rã  Úblocks_row_indicesÚblocks_col_indicesÚoutput_shapeÚpadded_inputÚoutputs                        rf   r%   r%   P  sg  € õ �1�e˜QŸTšT *µe´lÀ1±o´o˜TÑFÔFÑGÔG€GÝ�1�e˜QŸTšT *µe´lÀ1±o´o˜TÑFÔFÑGÔG€Gà œ F¨1¤Iˆh€HØ" 1œ: w¨q¤zˆy€IØ% aœ[¨(°1¬+�
€JØ$ Qœ¨°Q¬ˆh€Hå6Ø	ˆ7�H˜j¨)°Xñô Ðõ 7Ø	ˆ7�H˜j¨)°Xñô Ðõ ,¨A¨u°hÀÑIÔI€LÝ+¨A¨u°iÀÑKÔK€Lð2 �TŠT�(˜LÐ*<ÀQˆTÑGÔG€FØ�TŠT�(˜FÐ$6¸qˆTÑAÔA€FØ�TŠT�+˜vÐ.@Ð.@Ð.@ˆTÑAÔA€FÝÔ*¨1¨f°lÑCÔCÐCrg   zaten::narrowc                ób   — |                       d||¦  «        }t          j        | ||||¬¦  «        S )NrE  r”   )ra   r	   r¢   )rM   r~   r…   rN  ÚlengthrQ  s         rf   r1   r1   …  s4   € à
�$Š$ˆu�e˜VÑ
$Ô
$€CÝÔ(¨¨E¸ÀEÐPSÐTÑTÔTÐTrg   zaten::flattenc                ór  — t          j        |¦  «        }|dk    r|S |dk    r*|dk    s|�!||dz
  k    r|                      d||¬¦  «        S n2|dk    r,|dk    s|�$||dz
  k    r|                      d||dz   ¬¦  «        S |€t          j        dd	¦  «        S |dk     r||z   }t          j        | ||||¦  «        S )
Nrˆ   rŒ   ÚFlattenr‚   r   éþÿÿÿrX  r…   zfONNX and PyTorch use different strategies to split the input. Input rank must be known at export time.)r	   rq   ra   r¼   Ú_flatten_helper)rM   r~   Ú	start_dimÚend_dimr…   s        rf   r!   r!   ‹  sî   € õ Ô
*¨5Ñ
1Ô
1€CØ
ˆa‚x€xØˆà�A‚~€~Ø�bŠ=ˆ=˜S˜_°¸CÀ!¹GÒ1CÐ1CØ—4’4˜	 5°�4Ñ;Ô;Ð;øØ	�aŠˆØ�bŠ=ˆ=˜S˜_°¸CÀ!¹GÒ1CÐ1CØ—4’4˜	 5°¸1±�4Ñ=Ô=Ð=Ø
€{ÝÔ-Øð7ñ
ô 
ð 	
ð �‚{€{Ø˜‘-ˆåÔ*¨1¨e°YÀÈÑMÔMÐMrg   zaten::linalg_vector_normr‡   úSequence[int] | NoneÚkeepdimÚboolc                ó4   — t          j        | |||||¦  «        S rÐ   )r	   Ú_linalg_vector_norm_helper)rM   rO   Úordr…   r  rW   s         rf   r,   r,   ¦  s    € õ Ô5°a¸¸sÀCÈÐRWÑXÔXÐXrg   zaten::embedding_bagc
                ó<   — t          j        | |||||||||	¦
  «
        S rÐ   )r	   Ú_embedding_bag_helper)
rM   Úembedding_matrixr5  ÚoffsetsÚscale_grad_by_freqrÖ   ÚsparseÚper_sample_weightsÚinclude_last_offsetÚpadding_idxs
             rf   r   r   ³  s7   € õ Ô0Ø	ØØØØØØØØØñô ð rg   zaten::embedding_renormc           
     ó¸  — |                       d|¦  «        }|                       d||¦  «        }t          |¦  «        }|dk    rd}n"|dk    rd}nt          j        d|› d�|¦  «        ‚|                       ||dgd¬	¦  «        }|                       d
||                       dt	          j        d¦  «        ¬¦  «        ¦  «        }	t	          j        |¦  «        }|                       d||	¦  «        }
|                       d||
¦  «        }|                       d|                       d||¦  «        ||¦  «        }|                       d|t          j        | |dg¦  «        |¦  «        S )Nr  r�   rˆ   ÚReduceL1rX  ÚReduceL2z8Unsupported: ONNX export of embedding_renorm with norm: z. Only 1. and 2. are supported.)Úaxes_irT  rE  rU   gH¯¼šò×z>rX   rÆ  r8  ÚWhereÚGreaterr™   )ra   rÍ   r   r¦   rb   rc   r	   r�   )rM   Úweightr5  Úmax_normÚ	norm_typeÚunique_indicesÚpartial_weightÚnorm_iÚpartial_weight_normÚpartial_weight_norm_ÚscalesÚpartial_weight_renorms               rf   r    r    Ï  s  € ð —T’T˜( GÑ,Ô,€NØ—T’T˜( F¨NÑ;Ô;€NÝ�‰^Œ^€FØ�‚{€{Øˆ	ˆ	Ø	�1ŠˆØˆ	ˆ	åÔ'ð,Àvð ,ð ,ð ,àñ
ô 
ð 	
ð
 Ÿ$š$˜y¨.À!ÀÐQR˜$ÑSÔSÐð Ÿ4š4ØÐ" A§D¢D¨½U¼\È$Ñ=OÔ=O DÑ$PÔ$Pñô Ðõ Œ|˜HÑ%Ô%€HØ�TŠT�%˜Ð#7Ñ8Ô8€FØŸDšD ¨¸Ñ?Ô?ÐØŸDšDØØ	�ŠˆYÐ+¨XÑ6Ô6ØØñ	ô Ðð �4Š4ØØÝÔ)¨!¨^¸a¸SÑAÔAØñ	ô ð rg   zaten::chunkc                ó  — |                       d|                       d|¦  «        |d¬¦  «        }|                       d||                       dt          j        dgt          j        ¬¦  «        ¬	¦  «        ¦  «        }|                       d
|                       d||¦  «        |¦  «        }t	          j        | ||d ¦  «        |                       d||                       d||¦  «        ¦  «        g} | j         dg|¢R ddiŽ}t          | |||¦  «        S )Nr�   rŠ   r   r‚   rW  rU   rˆ   rV   rX   rÆ  rE  r8  r“   rƒ   )ra   rb   rc   rH  rw   rŽ   rA   )rM   rO   Úchunksr…   r©  Úchunk_size_sÚ
chunk_sizeÚ	chunk_vecs           rf   r   r   ö  s  € ð �tŠt�H˜aŸdšd 7¨DÑ1Ô1°3¸qˆtÑAÔA€HØ—4’4Øˆv�q—t’t˜Jµ´¸a¸SÍÌ
Ð0SÑ0SÔ0S�tÑTÔTñô €Lð —’�e˜QŸTšT %¨°<Ñ@Ô@À&ÑIÔI€Jõ 	Œ�a˜ \°4Ñ8Ô8Ø	�ŠˆU�H˜aŸdšd 5¨*°lÑCÔCÑDÔDð€Ið �”�XÐ4 	Ð4Ð4Ð4°!Ð4Ð4€IÝ��D˜) SÑ)Ô)Ð)rg   zaten::normalc	                óÒ   — |�+t          j        |¦  «        st          j        | ||d ¦  «        }t          j        | ||                      d|¦  «        ¦  «        }	t          | |	|¦  «        S )NÚRandomNormalLike)r	   rm   rw   rŽ   r=  ra   r   )
rM   ÚmeanÚstdÚsizesÚ	generatorrW   ÚlayoutÚdeviceÚ
pin_memoryrµ   s
             rf   r2   r2     sc   € ð" Ð¥Ô!9¸%Ñ!@Ô!@ÐÝŒ}˜Q  e¨TÑ2Ô2ˆÝŒZ˜˜3 §¢Ð%7¸Ñ >Ô >Ñ?Ô?€FÝˆq�&˜$ÑÔÐrg   zaten::atleast_1dútorch._C.Valuec                ó6  — t          j        |¦  «        r¬t          j        |¦  «        r˜t          j        |¦  «        }g }|D ]q}|}t          j        |¦  «        }|dk    r>t          j        | ||                      dt          j        dg¦  «        ¬¦  «        ¦  «        }| 	                    |¦  «         Œr | j        dg|¢R Ž S t          j        |¦  «        }|dk    r>t          j        | ||                      dt          j        dg¦  «        ¬¦  «        ¦  «        }|S )Nr   rU   rˆ   rX   ÚSequenceConstruct)
r	   râ   rš   r›   rq   r¥   ra   rb   rc   r   ©rM   rO   r  Únew_tensor_listrc   Ú
new_tensorÚtensor_ranks          rf   r   r     s-  € õ
 Ô  Ñ&Ô&ð ;­?Ô+JÈ4Ñ+PÔ+Pð ;Ý%Ô2°4Ñ8Ô8ˆØˆØ!ð 	/ð 	/ˆFØˆJÝ)Ô:¸6ÑBÔBˆKØ˜aÒÐÝ,Ô<Ø�z 1§4¢4¨
½E¼LÈ!ÈÑ<MÔ<M 4Ñ#NÔ#Nñô �
ð ×"Ò" :Ñ.Ô.Ð.Ð.ØˆqŒtÐ'Ð:¨/Ð:Ð:Ð:Ð:å!Ô2°4Ñ8Ô8€KØ�aÒÐÝÔ.Øˆt�Q—T’T˜*­e¬l¸A¸3Ñ.?Ô.?�TÑ@Ô@ñ
ô 
ˆð €Krg   zaten::atleast_2dc                ó¶  — t          j        |¦  «        rÌt          j        |¦  «        r¸t          j        |¦  «        }g }|D ]‘}|}t          j        |¦  «        }|dk    r@t          j        | ||                      dt          j        ddg¦  «        ¬¦  «        ¦  «        }n|dk    rt          j	        | |dg¬¦  «        }| 
                    |¦  «         Œ’ | j        dg|¢R Ž S t          j        |¦  «        }|dk    r@t          j        | ||                      dt          j        ddg¦  «        ¬¦  «        ¦  «        }n|dk    rt          j	        | |dg¬¦  «        }|S )Nr   rU   rˆ   rX   ©r  r/  ©r	   râ   rš   r›   rq   r¥   ra   rb   rc   r�   r   r0  s          rf   r   r   8  s†  € õ Ô  Ñ&Ô&ð ;­?Ô+JÈ4Ñ+PÔ+Pð ;Ý%Ô2°4Ñ8Ô8ˆØˆØ!ð 	/ð 	/ˆFØˆJÝ)Ô:¸6ÑBÔBˆKØ˜aÒÐÝ,Ô<Ø�z 1§4¢4¨
½E¼LÈ!ÈQÈÑ<PÔ<P 4Ñ#QÔ#Qñô �
�
ð  Ò!Ð!Ý,Ô>Ø�z¨1¨#ðñ ô �
ð ×"Ò" :Ñ.Ô.Ð.Ð.ØˆqŒtÐ'Ð:¨/Ð:Ð:Ð:Ð:å!Ô2°4Ñ8Ô8€KØ�aÒÐÝÔ.Øˆt�Q—T’T˜*­e¬l¸A¸q¸6Ñ.BÔ.B�TÑCÔCñ
ô 
ˆˆð 
˜Ò	Ð	ÝÔ0°°DÀ!ÀÐEÑEÔEˆØ€Krg   zaten::atleast_3dc                ó”  — t          j        |¦  «        �rt          j        |¦  «        rït          j        |¦  «        }g }|D ]È}|}t          j        |¦  «        }|dk    r@t          j        | ||                      dt          j        g d¢¦  «        ¬¦  «        ¦  «        }nU|dk    r1t          j	        | |dg¬¦  «        }t          j	        | |dg¬¦  «        }n|dk    rt          j	        | |dg¬¦  «        }| 
                    |¦  «         ŒÉ | j        d	g|¢R Ž S t          j        |¦  «        }|dk    r@t          j        | ||                      dt          j        g d¢¦  «        ¬¦  «        ¦  «        }nU|dk    r1t          j	        | |dg¬¦  «        }t          j	        | |dg¬¦  «        }n|dk    rt          j	        | |dg¬¦  «        }|S )
Nr   rU   )rˆ   rˆ   rˆ   rX   rˆ   r5  rŒ   rX  r/  r6  r0  s          rf   r   r   Y  s  € õ Ô  Ñ&Ô&ñ ;­?Ô+JÈ4Ñ+PÔ+Pð ;Ý%Ô2°4Ñ8Ô8ˆØˆØ!ð 	/ð 	/ˆFØˆJÝ)Ô:¸6ÑBÔBˆKØ˜aÒÐÝ,Ô<Ø�z 1§4¢4¨
½E¼LÈÈÈÑ<SÔ<S 4Ñ#TÔ#Tñô �
�
ð  Ò!Ð!Ý,Ô>Ø�z¨1¨#ðñ ô �
õ -Ô>Ø�z¨2¨$ðñ ô �
�
ð  Ò!Ð!Ý,Ô>Ø�z¨2¨$ðñ ô �
ð ×"Ò" :Ñ.Ô.Ð.Ð.ØˆqŒtÐ'Ð:¨/Ð:Ð:Ð:Ð:å!Ô2°4Ñ8Ô8€KØ�aÒÐÝÔ.Øˆt�Q—T’T˜*­e¬l¸9¸9¸9Ñ.EÔ.E�TÑFÔFñ
ô 
ˆˆð 
˜Ò	Ð	ÝÔ0°°DÀ!ÀÐEÑEÔEˆÝÔ0°°DÀ"ÀÐFÑFÔFˆˆØ	˜Ò	Ð	ÝÔ0°°DÀ"ÀÐFÑFÔFˆØ€Krg   zprim::ConstantChunkc           
     óš  — |                       d|¦  «        }|                       dt          j        |gt          j        ¬¦  «        ¬¦  «        }|                       d||d¬¦  «        }|                       dt          j        dgt          j        ¬¦  «        ¬¦  «        }|                       dt          j        |gt          j        ¬¦  «        ¬¦  «        }|                       dt          j        |dz
  gt          j        ¬¦  «        ¬¦  «        }	|                       d	||	¦  «        }
|                       d
|
|¦  «        }g }t	          |¦  «        D ]€}|                       dt          j        |dz   gt          j        ¬¦  «        ¬¦  «        }|                       d||¦  «        }|                     |                       d||||¦  «        ¦  «         |}Œ�|S )NrŠ   rU   rV   rX   r�   r   r‚   rˆ   rE  rÆ  r8  rF  )ra   rb   rc   rH  rž   r   )rM   rO   r   r…   Úinput_shaperO  Úinput_shape_dimrN  r"  Úchunk_size_minus_1Úinput_shape_dim_shiftÚ	chunk_dimrP  r   r'   rQ  s                   rf   r6   r6   …  s—  € à—$’$�w Ñ%Ô%€KØ�4Š4�
¥E¤L°#°½e¼jÐ$IÑ$IÔ$Iˆ4ÑJÔJ€DØ—d’d˜8 [°$¸q�dÑAÔA€OØ�DŠD�¥U¤\°1°#½U¼ZÐ%HÑ%HÔ%HˆDÑIÔI€EØ—’�j­%¬,¸°xÅuÄzÐ*RÑ*RÔ*R�ÑSÔS€JØŸšØ�EœL¨&°1©*¨½U¼ZÐHÑHÔHð ñ ô Ðð ŸDšD ¨Ð9KÑLÔLÐØ—’�UÐ1°:Ñ>Ô>€IØ
€CÝ�6‰]Œ]ð ð ˆØ—’�Z­¬°q¸1±u°gÅUÄZÐ)PÑ)PÔ)P�ÑQÔQˆØ�dŠd�5˜) UÑ+Ô+ˆØ�
Š
�1—4’4˜  u¨c°4Ñ8Ô8Ñ9Ô9Ð9ØˆˆØ€Jrg   zaten::hstackr  c                ó  — t          | |¦  «        }|                      d||                      dt          j        dt          j        ¬¦  «        ¬¦  «        ¦  «        }|                      d|¦  «        }|                      d|¦  «        }|                      dt          j        dt          j        ¬¦  «        ¬¦  «        }|                      d	||¦  «        }t          j        | d
|dd¬¦  «        \  }\  }}	}
|                     d|dd¬¦  «        }t          j        |j	        |¦  «         |	                     d|dd¬¦  «        }t          j        |	j	        |¦  «         | 
                    ¦   «                              ¦   «         }|S )Nrþ   rU   r   rV   rX   rŠ   rV  rˆ   r›  rœ  rX  )r�  r  r  r  )r   ra   rb   rc   rH  r   r¢  r   r£  r¤  ré   r÷  )rM   r  Úfirst_tensorÚfirst_tensor_shapeÚfirst_tensor_dimr«  Úequal_to_oneÚif_op_greaterÚif_context_equalÚelse_context_equalr4  Ú	result_ifÚresult_elserµ   s                 rf   r$   r$   š  s  € å˜Q Ñ,Ô,€KØ—4’4ØØØ	�ŠˆZ¥¤¨aµu´zÐ!BÑ!BÔ!BˆÑCÔCñô €Lð
 Ÿš˜g |Ñ4Ô4ÐØ—t’t˜FÐ$6Ñ7Ô7Ðà—’�Z­¬°a½u¼zÐ)JÑ)JÔ)J�ÑKÔK€IØ—4’4˜Ð!1°9Ñ=Ô=€Lõ 	Ô$ Q¨¨lÀQÐPQÐRÑRÔRñ	ØÙ.Ð	Ð-Ø	à ×#Ò#Ø˜k°!Àð $ñ ô €Iõ 
ÔÐ/Ô5°yÑAÔAÐAØ$×'Ò'Ø˜k°!Àð (ñ ô €Kõ 
ÔÐ1Ô7¸ÑEÔEÐEØ×ÒÑ!Ô!×(Ò(Ñ*Ô*€Fà€Mrg   zaten::vstackc                óT   — t          | |¦  «        }|                      d|dd¬¦  «        S )Nr  r   r  )r   ra   )rM   r  s     rf   rH   rH   º  s,   € å˜Q Ñ,Ô,€KØ�4Š4Ð$ k¸!Èˆ4ÑJÔJÐJrg   )rM   rN   rO   rP   rQ   rR   rS   rR   )rM   rN   )F)rË   rÌ   r…   rÍ   rÎ   rÌ   rÐ   rD  )r   N)
rM   rN   r~   rP   r3   rP   rÖ   rP   ro  rP   )rM   rN   r…   r   r  r  )NNNNNN)rM   rN   rO   r-  )rM   rN   r  rP   )hÚ__doc__Ú
__future__r   Ú	functoolsr£   r¥  Útypingr   rb   r   Útorch._Cr   r_  Ú
torch.onnxr   r   r	   r
   rb  r   rw   r   Útorch.onnx._internalr   r   Úcollections.abcr   Ú__all__ÚpartialÚonnx_symbolicÚ_onnx_symbolicÚquantized_argsÚ
parse_argsr#   r   r   r   r8   r=   r)   r4   Ú_apply_paramsrÒ   rÚ   r"   r<   r   r/   r.   rü   rÿ   r  r   r   r*   r5   r   r   rC   r'  rF   rD   r?   r   r;   r9   rA   r@   rE   rh  r   r7   r:   r3   r+   r-   r   r”  r>   rB   rG   r0   r'   r&   r(   rÌ  rÐ  rÜ  rà  rç  r%   r1   r!   r,   r   r    r   r2   r   r   r   r6   r$   rH   © rg   rf   ú<module>rY     sÈ  ðð /Ð .à "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 
€
€
€
Ø €€€Ø  Ð  Ð  Ð  Ð  Ð  à €€€Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8ð ð )Ø(Ð(Ð(Ð(Ð(Ð(ð:ð :ð :€ðx #�Ô" <Ô#=ÀRÐHÑHÔH€ð €Ð Ñ!Ô!Ø€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ðð ð ñ +Ô*ñ &Ô%ñ "Ô!ðð" €�ÑÔð>ð >ð >ñ Ôð>ðD €Ð!Ñ"Ô"Ø€Ô˜C Ñ%Ô%ð

ð 

ð 

ñ &Ô%ñ #Ô"ð

ð €Ð!Ñ"Ô"Ø€Ô˜C Ñ%Ô%ð

ð 

ð 

ñ &Ô%ñ #Ô"ð

ð €�ÑÔð-ð -ð -ñ Ôð-ð €�ÑÔà€Ô Ñ%Ô%Ø€Ô˜C  cÑ*Ô*ð3ð 3ð 3ñ +Ô*ñ &Ô%ñ  Ôð3ð €Ð!Ñ"Ô"àLQðxð xð xð xñ #Ô"ðxðv €Ð%Ñ&Ô&Ø€Ô˜C Ñ%Ô%ðPð Pð Pñ &Ô%ñ 'Ô&ðPð €ØØ+ˆoÔ+Ð,@À!ÀYÑOÔOÐPðñ ô ð €ØØ+ˆoÔ+Ð,@À!ÀYÑOÔOÐPðñ ô ð €ØØ+ˆoÔ+Ð,@À!ÀYÑOÔOÐPðñ ô ð €ØØ+ˆoÔ+Ð,?ÀÀHÑMÔMÐNðñ ô ð €ØØ+ˆoÔ+Ð,AÀ1ÀhÑOÔOÐPðñ ô ð €Ø Ø+ˆoÔ+Ð,BÀAÀxÑPÔPÐQðñ ô ð €ØØ+ˆoÔ+Ð,@À!ÀWÑMÔMÐNðñ ô ðLð Lð Lñ	ô ñ	ô ñ	ô ñ	ô ñ	ô ñ	ô ñ	ô ð8Lð €Ð%Ñ&Ô&Ø€Ô  e¨U°E¸5À%ÈÑOÔOðð ð ñ PÔOñ 'Ô&ðð €�ÑÔØ€Ô˜C  c¨3Ñ/Ô/ð;ð ;ð ;ð ;ñ 0Ô/ñ  Ôð;ð €�Ñ Ô Ø€Ô˜C  c¨3Ñ/Ô/ð
ð 
ð 
ñ 0Ô/ñ !Ô ð
ð& €�ÑÔØ€Ô˜C  fÑ-Ô-ð
ð 
ð 
ð 
ñ .Ô-ñ  Ôð
ð €Ð%Ñ&Ô&ð)ð )ð )ñ 'Ô&ð)ð
 €Ð&Ñ'Ô'ð2ð 2ð 2ñ (Ô'ð2ð  €�ÑÔð9ð 9ð 9ñ Ôð9ð €Ð"Ñ#Ô#ð#ð #ð #ñ $Ô#ð#ð €Ð!Ñ"Ô"ð5ð 5ð 5ñ #Ô"ð5ð
 €�ÑÔð0ð 0ð 0ñ  Ôð0ð €�ÑÔð-ð -ð -ð -ñ Ôð-ð  €�ÑÔð5ð 5ð 5ñ  Ôð5ð €�ÑÔð3ð 3ð 3ñ Ôð3ð €�ÑÔð3ð 3ð 3ñ  Ôð3ð €�ÑÔØ€Ô Ñ%Ô%ðCð Cð Cñ &Ô%ñ ÔðCð €�ÑÔðQð Qð Qñ ÔðQð €Ð Ñ!Ô!Ø€Ô˜C  c¨3Ñ/Ô/ð&ð &ð &ñ 0Ô/ñ "Ô!ð&ð €Ð"Ñ#Ô#Ø€Ô˜C  c¨3°Ñ4Ô4ð&ð &ð &ñ 5Ô4ñ $Ô#ð&ð €�ÑÔØ€Ô˜C  c¨3°°VÑ<Ô<ðð ð ð ñ =Ô<ñ Ôðð €�ÑÔØ€Ô˜C  c¨6Ñ2Ô2ðTð Tð Tð Tñ 3Ô2ñ ÔðTð €�Ñ Ô Ø€Ô˜C  c¨6Ñ2Ô2ðð ð ð ñ 3Ô2ñ !Ô ðð €�ÑÔØ€Ô˜C Ñ%Ô%ð	ð 	ð 	ð 	ñ &Ô%ñ Ôð	ð €Ð!Ñ"Ô"ð/ð /ð /ñ #Ô"ð/ð €�ÑÔØ€Ô˜C  c¨3Ñ/Ô/ð!Ið !Ið !Ið !Iñ 0Ô/ñ Ôð!IðH €Ð(Ñ)Ô)Ø€Ô˜C  c¨3Ñ/Ô/ð6ð 6ð 6ð 6ñ 0Ô/ñ *Ô)ð6ð €�ÑÔØ€Ô˜C  cÑ*Ô*ð
5ð 
5ð 
5ð 
5ñ +Ô*ñ  Ôð
5ð6ð 6ð 6ð 6ðr €Ð'Ñ(Ô(ð7ð 7ð 7ð 7ñ )Ô(ð7ð €Ð(Ñ)Ô)Ø€Ð(Ñ)Ô)Ø€Ð(Ñ)Ô)ð5ð 5ð 5ñ *Ô)ñ *Ô)ñ *Ô)ð5ð €Ð)Ñ*Ô*Ø€Ð)Ñ*Ô*Ø€Ð)Ñ*Ô*ð5ð 5ð 5ñ +Ô*ñ +Ô*ñ +Ô*ð5ð €�ÑÔðTð Tð Tñ ÔðTð( €Ð"Ñ#Ô#ðð ð ñ $Ô#ðð €�ÑÔð/ð /ð /ñ  Ôð/ð €�ÑÔðD
ð D
ð D
ñ  ÔðD
ðN €Ð#Ñ$Ô$Ø€Ô˜C Ñ%Ô%ð0ð 0ð 0ñ &Ô%ñ %Ô$ð0ð €�ÑÔØ€Ô °eÐ<Ñ<Ô<ð6ð 6ð 6ð 6ñ =Ô<ñ Ôð6ð €�Ñ Ô ð/;ð /;ð /;ð /;ñ !Ô ð/;ðd €Ð!Ñ"Ô"ð=ð =ð =ñ #Ô"ð=ð €�
ÑÔð>ð >ð >ñ Ôð>ð €�ÑÔð(ð (ð (ñ Ôð(ð& €Ð"Ñ#Ô#ðAð Að Añ $Ô#ðAð €Ð"Ñ#Ô#ð9ð 9ð 9ñ $Ô#ð9ð €Ð+Ñ,Ô,Ø€Ð!Ñ"Ô"ðð ð ñ #Ô"ñ -Ô,ðð@ €Ð*Ñ+Ô+Ø€Ð!Ñ"Ô"ðð ð ñ #Ô"ñ ,Ô+ðð@(ð (ð (ð (ðV#ð #ð #ð #ðð ð ð ð  €�ÑÔØ€Ô˜C  t¨T°4Ñ8Ô8ð0Dð 0Dð 0Dñ 9Ô8ñ  Ôð0Dðf €�ÑÔðUð Uð Uñ  ÔðUð
 €�Ñ Ô Ø€Ô  e¨UÑ3Ô3Ø€Ô˜C  cÑ*Ô*ðNð Nð Nñ +Ô*ñ 4Ô3ñ !Ô ðNð0 €Ð*Ñ+Ô+Ø€Ô˜C  d¨C°Ñ5Ô5ðYð Yð Yñ 6Ô5ñ ,Ô+ðYð €Ð%Ñ&Ô&Ø€Ô˜C  c¨3°°S¸#¸sÀCÑHÔHðð ð ñ IÔHñ 'Ô&ðð4 €Ð(Ñ)Ô)Ø€Ô˜C  c¨3Ñ/Ô/ð"ð "ð "ñ 0Ô/ñ *Ô)ð"ðJ €�ÑÔð*ð *ð *ñ Ôð*ð  €�ÑÔð
 ØØ
ØØØð ð  ð  ð  ñ  Ôð ð, €Ð"Ñ#Ô#ðð ð ñ $Ô#ðð2 €Ð"Ñ#Ô#ðð ð ñ $Ô#ðð@ €Ð"Ñ#Ô#ð(ð (ð (ñ $Ô#ð(ðV €Ð%Ñ&Ô&ðð ð ñ 'Ô&ðð( €�ÑÔðð ð ñ  Ôðð> €�ÑÔðKð Kð Kñ  ÔðKð Kð Krg   